dotfiles

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 26f1a68ebd18cc77460c17b93d0fae469e7c1583
parent 27c7361a5632123bbb40c64f959c668375a513af
Author: Linus Behrens <linus@MacBook-Pro-von-Linus.local>
Date:   Tue, 13 May 2025 15:42:04 +0200

all .config

Diffstat:
A.config/gh/config.yml | 19+++++++++++++++++++
A.config/gh/hosts.yml | 5+++++
Rghostty/config -> .config/ghostty/config | 0
A.config/git/.gitconfig | 6++++++
A.config/karabiner/automatic_backups/karabiner_20250216.json | 10++++++++++
A.config/karabiner/automatic_backups/karabiner_20250311.json | 41+++++++++++++++++++++++++++++++++++++++++
A.config/karabiner/automatic_backups/karabiner_20250428.json | 52++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/karabiner/karabiner.json | 81+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/neofetch/config.conf | 864+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Rnvim/.DS_Store -> .config/nvim/.DS_Store | 0
Rnvim/.gitignore -> .config/nvim/.gitignore | 0
Rnvim/.neoconf.json -> .config/nvim/.neoconf.json | 0
Rnvim/LICENSE -> .config/nvim/LICENSE | 0
Rnvim/README.md -> .config/nvim/README.md | 0
Rnvim/init.lua -> .config/nvim/init.lua | 0
Rnvim/lazy-lock.json -> .config/nvim/lazy-lock.json | 0
Rnvim/lazyvim.json -> .config/nvim/lazyvim.json | 0
Rnvim/lua/.DS_Store -> .config/nvim/lua/.DS_Store | 0
Rnvim/lua/config/autocmds.lua -> .config/nvim/lua/config/autocmds.lua | 0
Rnvim/lua/config/highlite.lua -> .config/nvim/lua/config/highlite.lua | 0
Rnvim/lua/config/keymaps.lua -> .config/nvim/lua/config/keymaps.lua | 0
Rnvim/lua/config/lazy.lua -> .config/nvim/lua/config/lazy.lua | 0
Rnvim/lua/config/options.lua -> .config/nvim/lua/config/options.lua | 0
Rnvim/lua/plugins/bufferline.lua -> .config/nvim/lua/plugins/bufferline.lua | 0
Rnvim/lua/plugins/disable.lua -> .config/nvim/lua/plugins/disable.lua | 0
Rnvim/lua/plugins/example.lua -> .config/nvim/lua/plugins/example.lua | 0
Rnvim/lua/plugins/lualine.lua -> .config/nvim/lua/plugins/lualine.lua | 0
Rnvim/lua/plugins/markview.lua -> .config/nvim/lua/plugins/markview.lua | 0
Rnvim/lua/plugins/mini.lua -> .config/nvim/lua/plugins/mini.lua | 0
Rnvim/lua/plugins/neotree.lua -> .config/nvim/lua/plugins/neotree.lua | 0
Rnvim/lua/plugins/no-neck-pain.lua -> .config/nvim/lua/plugins/no-neck-pain.lua | 0
Rnvim/lua/plugins/opacity.lua -> .config/nvim/lua/plugins/opacity.lua | 0
Rnvim/lua/plugins/render.lua -> .config/nvim/lua/plugins/render.lua | 0
Rnvim/lua/plugins/snacks.lua -> .config/nvim/lua/plugins/snacks.lua | 0
Rnvim/lua/plugins/starter-mini.lua -> .config/nvim/lua/plugins/starter-mini.lua | 0
Rnvim/lua/plugins/substitute.lua -> .config/nvim/lua/plugins/substitute.lua | 0
Rnvim/lua/plugins/telescope.lua -> .config/nvim/lua/plugins/telescope.lua | 0
Rnvim/lua/plugins/todo-comment.lua -> .config/nvim/lua/plugins/todo-comment.lua | 0
Rnvim/lua/plugins/user/highlights.lua -> .config/nvim/lua/plugins/user/highlights.lua | 0
Rnvim/stylua.toml -> .config/nvim/stylua.toml | 0
A.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/assets/google-translate.png | 0
A.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/package.json | 1000+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/quick-translate.js | 108+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/quick-translate.js.map | 7+++++++
A.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/translate-form.js | 108+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/translate-form.js.map | 7+++++++
A.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/translate.js | 108+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/translate.js.map | 7+++++++
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/assets/compiled_raycast_swift/color-picker | 0
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/assets/compiled_raycast_swift/extract-color | 0
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/assets/icon.png | 0
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/assets/rgb-color-wheel.webp | 0
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/color-names.js | 57+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/color-names.js.map | 7+++++++
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/color-wheel.js | 44++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/color-wheel.js.map | 7+++++++
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/convert-color.js | 1+
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/convert-color.js.map | 7+++++++
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/extract-color.js | 1+
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/extract-color.js.map | 7+++++++
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/generate-colors.js | 43+++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/generate-colors.js.map | 7+++++++
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/menu-bar.js | 31+++++++++++++++++++++++++++++++
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/menu-bar.js.map | 7+++++++
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/organize-colors.js | 31+++++++++++++++++++++++++++++++
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/organize-colors.js.map | 7+++++++
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/package.json | 240+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/pick-color.js | 100+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/pick-color.js.map | 7+++++++
A.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/assets/cpu.svg | 11+++++++++++
A.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/assets/icon.png | 0
A.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/assets/memorychip.svg | 11+++++++++++
A.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/index.js | 2++
A.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/index.js.map | 7+++++++
A.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/package.json | 819+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/tools/kill-process.js | 1+
A.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/tools/kill-process.js.map | 7+++++++
A.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/tools/list-processes.js | 2++
A.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/tools/list-processes.js.map | 7+++++++
A.config/raycast/extensions/node_modules/@parcel/source-map/dist/SourceMap.js | 484+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/node_modules/@parcel/source-map/dist/utils.js | 72++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/node_modules/@parcel/source-map/dist/wasm-bindings.js | 14++++++++++++++
A.config/raycast/extensions/node_modules/@parcel/source-map/dist/wasm.js | 87+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/node_modules/@parcel/source-map/package.json | 90+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/node_modules/@parcel/source-map/parcel_sourcemap_wasm/dist-node/package.json | 13+++++++++++++
A.config/raycast/extensions/node_modules/@parcel/source-map/parcel_sourcemap_wasm/dist-node/parcel_sourcemap_wasm.js | 660+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/node_modules/@parcel/source-map/parcel_sourcemap_wasm/dist-node/parcel_sourcemap_wasm_bg.wasm | 0
A.config/raycast/extensions/node_modules/@raycast/api/index.js | 57+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/node_modules/@raycast/server/index.js | 34++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/node_modules/@raycast/source-mapper/index.js | 4++++
A.config/raycast/extensions/node_modules/react-devtools-raycast/index.js | 5+++++
A.config/raycast/extensions/node_modules/react-devtools-raycast/react-devtools-raycast.development.js | 17272+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/node_modules/react-reconciler/constants.js | 18++++++++++++++++++
A.config/raycast/extensions/node_modules/react-reconciler/index.js | 5+++++
A.config/raycast/extensions/node_modules/react-reconciler/react-reconciler.development.js | 12286+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/node_modules/react-reconciler/react-reconciler.production.js | 47+++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/node_modules/react/index.js | 5+++++
A.config/raycast/extensions/node_modules/react/jsx-dev-runtime.development.js | 660+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/node_modules/react/jsx-dev-runtime.js | 5+++++
A.config/raycast/extensions/node_modules/react/jsx-dev-runtime.production.js | 14++++++++++++++
A.config/raycast/extensions/node_modules/react/jsx-runtime.development.js | 656+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/node_modules/react/jsx-runtime.js | 5+++++
A.config/raycast/extensions/node_modules/react/jsx-runtime.production.js | 34++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/node_modules/react/react.development.js | 1521+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/raycast/extensions/node_modules/react/react.production.js | 538+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Rweechat/alias.conf -> .config/weechat/alias.conf | 0
Rweechat/buflist.conf -> .config/weechat/buflist.conf | 0
Rweechat/charset.conf -> .config/weechat/charset.conf | 0
Rweechat/exec.conf -> .config/weechat/exec.conf | 0
Rweechat/fifo.conf -> .config/weechat/fifo.conf | 0
Rweechat/fset.conf -> .config/weechat/fset.conf | 0
Rweechat/irc.conf -> .config/weechat/irc.conf | 0
Rweechat/logger.conf -> .config/weechat/logger.conf | 0
Rweechat/lua.conf -> .config/weechat/lua.conf | 0
Rweechat/perl.conf -> .config/weechat/perl.conf | 0
Rweechat/plugins.conf -> .config/weechat/plugins.conf | 0
Rweechat/python.conf -> .config/weechat/python.conf | 0
Rweechat/relay.conf -> .config/weechat/relay.conf | 0
Rweechat/ruby.conf -> .config/weechat/ruby.conf | 0
Rweechat/script.conf -> .config/weechat/script.conf | 0
Rweechat/sec.conf -> .config/weechat/sec.conf | 0
Rweechat/spell.conf -> .config/weechat/spell.conf | 0
Rweechat/tcl.conf -> .config/weechat/tcl.conf | 0
Rweechat/trigger.conf -> .config/weechat/trigger.conf | 0
Rweechat/typing.conf -> .config/weechat/typing.conf | 0
Rweechat/weechat.conf -> .config/weechat/weechat.conf | 0
Rweechat/xfer.conf -> .config/weechat/xfer.conf | 0
Ryazi/yazi.toml -> .config/yazi/yazi.toml | 0
A.config/zsh/.zsh_history | 56++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/zsh/.zsh_sessions/9D04D4C1-F8EC-4EFC-AD00-F65B294CA90B.historynew | 2++
A.config/zsh/.zsh_sessions/_expiration_check_timestamp | 0
A.config/zsh/.zshrc | 43+++++++++++++++++++++++++++++++++++++++++++
132 files changed, 38581 insertions(+), 0 deletions(-)

diff --git a/.config/gh/config.yml b/.config/gh/config.yml @@ -0,0 +1,19 @@ +# The current version of the config schema +version: 1 +# What protocol to use when performing git operations. Supported values: ssh, https +git_protocol: https +# What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment. +editor: +# When to interactively prompt. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled +prompt: enabled +# Preference for editor-based interactive prompting. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled +prefer_editor_prompt: disabled +# A pager program to send command output to, e.g. "less". If blank, will refer to environment. Set the value to "cat" to disable the pager. +pager: +# Aliases allow you to create nicknames for gh commands +aliases: + co: pr checkout +# The path to a unix socket through which send HTTP connections. If blank, HTTP traffic will be handled by net/http.DefaultTransport. +http_unix_socket: +# What web browser gh should use when opening URLs. If blank, will refer to environment. +browser: diff --git a/.config/gh/hosts.yml b/.config/gh/hosts.yml @@ -0,0 +1,5 @@ +github.com: + git_protocol: https + users: + KoenigLinus: + user: KoenigLinus diff --git a/ghostty/config b/.config/ghostty/config diff --git a/.config/git/.gitconfig b/.config/git/.gitconfig @@ -0,0 +1,6 @@ +[user] + name = KoenigLinus + email = linus@behrens-familie.de + signingkey = 3DD5F84CD72A09D6 +[commit] + gpgsign = true diff --git a/.config/karabiner/automatic_backups/karabiner_20250216.json b/.config/karabiner/automatic_backups/karabiner_20250216.json @@ -0,0 +1,9 @@ +{ + "profiles": [ + { + "name": "Default profile", + "selected": true, + "virtual_hid_keyboard": { "keyboard_type_v2": "iso" } + } + ] +} +\ No newline at end of file diff --git a/.config/karabiner/automatic_backups/karabiner_20250311.json b/.config/karabiner/automatic_backups/karabiner_20250311.json @@ -0,0 +1,40 @@ +{ + "profiles": [ + { + "complex_modifications": { + "rules": [ + { + "description": "Map Left Cmd + Right Cmd to F13", + "manipulators": [ + { + "from": { + "key_code": "left_command", + "modifiers": { "mandatory": ["right_command"] } + }, + "to": [{ "key_code": "f13" }], + "type": "basic" + }, + { + "from": { + "key_code": "right_command", + "modifiers": { "mandatory": ["left_command"] } + }, + "to": [{ "key_code": "f13" }], + "type": "basic" + } + ] + } + ] + }, + "name": "Default profile", + "selected": true, + "simple_modifications": [ + { + "from": { "key_code": "caps_lock" }, + "to": [{ "key_code": "left_control" }] + } + ], + "virtual_hid_keyboard": { "keyboard_type_v2": "iso" } + } + ] +} +\ No newline at end of file diff --git a/.config/karabiner/automatic_backups/karabiner_20250428.json b/.config/karabiner/automatic_backups/karabiner_20250428.json @@ -0,0 +1,51 @@ +{ + "global": { "show_in_menu_bar": false }, + "profiles": [ + { + "complex_modifications": { + "rules": [ + { + "description": "Map Left Cmd + Right Cmd to F13", + "manipulators": [ + { + "from": { + "key_code": "left_command", + "modifiers": { "mandatory": ["right_command"] } + }, + "to": [{ "key_code": "f13" }], + "type": "basic" + }, + { + "from": { + "key_code": "right_command", + "modifiers": { "mandatory": ["left_command"] } + }, + "to": [{ "key_code": "f13" }], + "type": "basic" + } + ] + } + ] + }, + "devices": [ + { + "identifiers": { + "is_keyboard": true, + "product_id": 834, + "vendor_id": 1452 + }, + "manipulate_caps_lock_led": false + } + ], + "name": "Default profile", + "selected": true, + "simple_modifications": [ + { + "from": { "key_code": "caps_lock" }, + "to": [{ "key_code": "left_control" }] + } + ], + "virtual_hid_keyboard": { "keyboard_type_v2": "iso" } + } + ] +} +\ No newline at end of file diff --git a/.config/karabiner/karabiner.json b/.config/karabiner/karabiner.json @@ -0,0 +1,80 @@ +{ + "global": { "show_in_menu_bar": false }, + "profiles": [ + { + "complex_modifications": { + "rules": [ + { + "description": "Map Left Cmd + Right Cmd to F13", + "manipulators": [ + { + "from": { + "key_code": "left_command", + "modifiers": { "mandatory": ["right_command"] } + }, + "to": [{ "key_code": "f13" }], + "type": "basic" + }, + { + "from": { + "key_code": "right_command", + "modifiers": { "mandatory": ["left_command"] } + }, + "to": [{ "key_code": "f13" }], + "type": "basic" + } + ] + } + ] + }, + "devices": [ + { + "identifiers": { + "is_keyboard": true, + "product_id": 834, + "vendor_id": 1452 + }, + "manipulate_caps_lock_led": false + }, + { + "identifiers": { + "is_keyboard": true, + "product_id": 24, + "vendor_id": 5050 + }, + "simple_modifications": [ + { + "from": { "key_code": "left_option" }, + "to": [{ "key_code": "left_command" }] + }, + { + "from": { "key_code": "right_option" }, + "to": [{ "key_code": "right_command" }] + }, + { + "from": { "key_code": "caps_lock" }, + "to": [{ "key_code": "left_control" }] + }, + { + "from": { "key_code": "left_control" }, + "to": [{ "key_code": "left_option" }] + }, + { + "from": { "key_code": "right_control" }, + "to": [{ "key_code": "right_option" }] + } + ] + } + ], + "name": "Default profile", + "selected": true, + "simple_modifications": [ + { + "from": { "key_code": "caps_lock" }, + "to": [{ "key_code": "left_control" }] + } + ], + "virtual_hid_keyboard": { "keyboard_type_v2": "iso" } + } + ] +} +\ No newline at end of file diff --git a/.config/neofetch/config.conf b/.config/neofetch/config.conf @@ -0,0 +1,864 @@ +# See this wiki page for more info: +# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info +print_info() { + info title + info underline + + info "OS" distro + info "Host" model + info "Kernel" kernel + info "Uptime" uptime + info "Packages" packages + info "Shell" shell + info "Resolution" resolution + info "DE" de + info "WM" wm + info "WM Theme" wm_theme + info "Theme" theme + info "Icons" icons + info "Terminal" term + info "Terminal Font" term_font + info "CPU" cpu + info "GPU" gpu + info "Memory" memory + + # info "GPU Driver" gpu_driver # Linux/macOS only + # info "CPU Usage" cpu_usage + # info "Disk" disk + # info "Battery" battery + # info "Font" font + # info "Song" song + # [[ "$player" ]] && prin "Music Player" "$player" + # info "Local IP" local_ip + # info "Public IP" public_ip + # info "Users" users + # info "Locale" locale # This only works on glibc systems. + + info cols +} + +# Title + + +# Hide/Show Fully qualified domain name. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --title_fqdn +title_fqdn="off" + + +# Kernel + + +# Shorten the output of the kernel function. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --kernel_shorthand +# Supports: Everything except *BSDs (except PacBSD and PC-BSD) +# +# Example: +# on: '4.8.9-1-ARCH' +# off: 'Linux 4.8.9-1-ARCH' +kernel_shorthand="on" + + +# Distro + + +# Shorten the output of the distro function +# +# Default: 'off' +# Values: 'on', 'tiny', 'off' +# Flag: --distro_shorthand +# Supports: Everything except Windows and Haiku +distro_shorthand="off" + +# Show/Hide OS Architecture. +# Show 'x86_64', 'x86' and etc in 'Distro:' output. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --os_arch +# +# Example: +# on: 'Arch Linux x86_64' +# off: 'Arch Linux' +os_arch="on" + + +# Uptime + + +# Shorten the output of the uptime function +# +# Default: 'on' +# Values: 'on', 'tiny', 'off' +# Flag: --uptime_shorthand +# +# Example: +# on: '2 days, 10 hours, 3 mins' +# tiny: '2d 10h 3m' +# off: '2 days, 10 hours, 3 minutes' +uptime_shorthand="on" + + +# Memory + + +# Show memory pecentage in output. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --memory_percent +# +# Example: +# on: '1801MiB / 7881MiB (22%)' +# off: '1801MiB / 7881MiB' +memory_percent="off" + +# Change memory output unit. +# +# Default: 'mib' +# Values: 'kib', 'mib', 'gib' +# Flag: --memory_unit +# +# Example: +# kib '1020928KiB / 7117824KiB' +# mib '1042MiB / 6951MiB' +# gib: ' 0.98GiB / 6.79GiB' +memory_unit="mib" + + +# Packages + + +# Show/Hide Package Manager names. +# +# Default: 'tiny' +# Values: 'on', 'tiny' 'off' +# Flag: --package_managers +# +# Example: +# on: '998 (pacman), 8 (flatpak), 4 (snap)' +# tiny: '908 (pacman, flatpak, snap)' +# off: '908' +package_managers="on" + + +# Shell + + +# Show the path to $SHELL +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --shell_path +# +# Example: +# on: '/bin/bash' +# off: 'bash' +shell_path="off" + +# Show $SHELL version +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --shell_version +# +# Example: +# on: 'bash 4.4.5' +# off: 'bash' +shell_version="on" + + +# CPU + + +# CPU speed type +# +# Default: 'bios_limit' +# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'. +# Flag: --speed_type +# Supports: Linux with 'cpufreq' +# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value. +speed_type="bios_limit" + +# CPU speed shorthand +# +# Default: 'off' +# Values: 'on', 'off'. +# Flag: --speed_shorthand +# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz +# +# Example: +# on: 'i7-6500U (4) @ 3.1GHz' +# off: 'i7-6500U (4) @ 3.100GHz' +speed_shorthand="off" + +# Enable/Disable CPU brand in output. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --cpu_brand +# +# Example: +# on: 'Intel i7-6500U' +# off: 'i7-6500U (4)' +cpu_brand="on" + +# CPU Speed +# Hide/Show CPU speed. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --cpu_speed +# +# Example: +# on: 'Intel i7-6500U (4) @ 3.1GHz' +# off: 'Intel i7-6500U (4)' +cpu_speed="on" + +# CPU Cores +# Display CPU cores in output +# +# Default: 'logical' +# Values: 'logical', 'physical', 'off' +# Flag: --cpu_cores +# Support: 'physical' doesn't work on BSD. +# +# Example: +# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores) +# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores) +# off: 'Intel i7-6500U @ 3.1GHz' +cpu_cores="logical" + +# CPU Temperature +# Hide/Show CPU temperature. +# Note the temperature is added to the regular CPU function. +# +# Default: 'off' +# Values: 'C', 'F', 'off' +# Flag: --cpu_temp +# Supports: Linux, BSD +# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable +# coretemp kernel module. This only supports newer Intel processors. +# +# Example: +# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]' +# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]' +# off: 'Intel i7-6500U (4) @ 3.1GHz' +cpu_temp="off" + + +# GPU + + +# Enable/Disable GPU Brand +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gpu_brand +# +# Example: +# on: 'AMD HD 7950' +# off: 'HD 7950' +gpu_brand="on" + +# Which GPU to display +# +# Default: 'all' +# Values: 'all', 'dedicated', 'integrated' +# Flag: --gpu_type +# Supports: Linux +# +# Example: +# all: +# GPU1: AMD HD 7950 +# GPU2: Intel Integrated Graphics +# +# dedicated: +# GPU1: AMD HD 7950 +# +# integrated: +# GPU1: Intel Integrated Graphics +gpu_type="all" + + +# Resolution + + +# Display refresh rate next to each monitor +# Default: 'off' +# Values: 'on', 'off' +# Flag: --refresh_rate +# Supports: Doesn't work on Windows. +# +# Example: +# on: '1920x1080 @ 60Hz' +# off: '1920x1080' +refresh_rate="off" + + +# Gtk Theme / Icons / Font + + +# Shorten output of GTK Theme / Icons / Font +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --gtk_shorthand +# +# Example: +# on: 'Numix, Adwaita' +# off: 'Numix [GTK2], Adwaita [GTK3]' +gtk_shorthand="off" + + +# Enable/Disable gtk2 Theme / Icons / Font +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gtk2 +# +# Example: +# on: 'Numix [GTK2], Adwaita [GTK3]' +# off: 'Adwaita [GTK3]' +gtk2="on" + +# Enable/Disable gtk3 Theme / Icons / Font +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gtk3 +# +# Example: +# on: 'Numix [GTK2], Adwaita [GTK3]' +# off: 'Numix [GTK2]' +gtk3="on" + + +# IP Address + + +# Website to ping for the public IP +# +# Default: 'http://ident.me' +# Values: 'url' +# Flag: --ip_host +public_ip_host="http://ident.me" + +# Public IP timeout. +# +# Default: '2' +# Values: 'int' +# Flag: --ip_timeout +public_ip_timeout=2 + + +# Desktop Environment + + +# Show Desktop Environment version +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --de_version +de_version="on" + + +# Disk + + +# Which disks to display. +# The values can be any /dev/sdXX, mount point or directory. +# NOTE: By default we only show the disk info for '/'. +# +# Default: '/' +# Values: '/', '/dev/sdXX', '/path/to/drive'. +# Flag: --disk_show +# +# Example: +# disk_show=('/' '/dev/sdb1'): +# 'Disk (/): 74G / 118G (66%)' +# 'Disk (/mnt/Videos): 823G / 893G (93%)' +# +# disk_show=('/'): +# 'Disk (/): 74G / 118G (66%)' +# +disk_show=('/') + +# Disk subtitle. +# What to append to the Disk subtitle. +# +# Default: 'mount' +# Values: 'mount', 'name', 'dir', 'none' +# Flag: --disk_subtitle +# +# Example: +# name: 'Disk (/dev/sda1): 74G / 118G (66%)' +# 'Disk (/dev/sdb2): 74G / 118G (66%)' +# +# mount: 'Disk (/): 74G / 118G (66%)' +# 'Disk (/mnt/Local Disk): 74G / 118G (66%)' +# 'Disk (/mnt/Videos): 74G / 118G (66%)' +# +# dir: 'Disk (/): 74G / 118G (66%)' +# 'Disk (Local Disk): 74G / 118G (66%)' +# 'Disk (Videos): 74G / 118G (66%)' +# +# none: 'Disk: 74G / 118G (66%)' +# 'Disk: 74G / 118G (66%)' +# 'Disk: 74G / 118G (66%)' +disk_subtitle="mount" + +# Disk percent. +# Show/Hide disk percent. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --disk_percent +# +# Example: +# on: 'Disk (/): 74G / 118G (66%)' +# off: 'Disk (/): 74G / 118G' +disk_percent="on" + + +# Song + + +# Manually specify a music player. +# +# Default: 'auto' +# Values: 'auto', 'player-name' +# Flag: --music_player +# +# Available values for 'player-name': +# +# amarok +# audacious +# banshee +# bluemindo +# clementine +# cmus +# deadbeef +# deepin-music +# dragon +# elisa +# exaile +# gnome-music +# gmusicbrowser +# gogglesmm +# guayadeque +# io.elementary.music +# iTunes +# juk +# lollypop +# mocp +# mopidy +# mpd +# muine +# netease-cloud-music +# olivia +# playerctl +# pogo +# pragha +# qmmp +# quodlibet +# rhythmbox +# sayonara +# smplayer +# spotify +# strawberry +# tauonmb +# tomahawk +# vlc +# xmms2d +# xnoise +# yarock +music_player="auto" + +# Format to display song information. +# +# Default: '%artist% - %album% - %title%' +# Values: '%artist%', '%album%', '%title%' +# Flag: --song_format +# +# Example: +# default: 'Song: Jet - Get Born - Sgt Major' +song_format="%artist% - %album% - %title%" + +# Print the Artist, Album and Title on separate lines +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --song_shorthand +# +# Example: +# on: 'Artist: The Fratellis' +# 'Album: Costello Music' +# 'Song: Chelsea Dagger' +# +# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger' +song_shorthand="off" + +# 'mpc' arguments (specify a host, password etc). +# +# Default: '' +# Example: mpc_args=(-h HOST -P PASSWORD) +mpc_args=() + + +# Text Colors + + +# Text Colors +# +# Default: 'distro' +# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' +# Flag: --colors +# +# Each number represents a different part of the text in +# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info' +# +# Example: +# colors=(distro) - Text is colored based on Distro colors. +# colors=(4 6 1 8 8 6) - Text is colored in the order above. +colors=(distro) + + +# Text Options + + +# Toggle bold text +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --bold +bold="on" + +# Enable/Disable Underline +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --underline +underline_enabled="on" + +# Underline character +# +# Default: '-' +# Values: 'string' +# Flag: --underline_char +underline_char="-" + + +# Info Separator +# Replace the default separator with the specified string. +# +# Default: ':' +# Flag: --separator +# +# Example: +# separator="->": 'Shell-> bash' +# separator=" =": 'WM = dwm' +separator=":" + + +# Color Blocks + + +# Color block range +# The range of colors to print. +# +# Default: '0', '15' +# Values: 'num' +# Flag: --block_range +# +# Example: +# +# Display colors 0-7 in the blocks. (8 colors) +# neofetch --block_range 0 7 +# +# Display colors 0-15 in the blocks. (16 colors) +# neofetch --block_range 0 15 +block_range=(0 15) + +# Toggle color blocks +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --color_blocks +color_blocks="on" + +# Color block width in spaces +# +# Default: '3' +# Values: 'num' +# Flag: --block_width +block_width=3 + +# Color block height in lines +# +# Default: '1' +# Values: 'num' +# Flag: --block_height +block_height=1 + +# Color Alignment +# +# Default: 'auto' +# Values: 'auto', 'num' +# Flag: --col_offset +# +# Number specifies how far from the left side of the terminal (in spaces) to +# begin printing the columns, in case you want to e.g. center them under your +# text. +# Example: +# col_offset="auto" - Default behavior of neofetch +# col_offset=7 - Leave 7 spaces then print the colors +col_offset="auto" + +# Progress Bars + + +# Bar characters +# +# Default: '-', '=' +# Values: 'string', 'string' +# Flag: --bar_char +# +# Example: +# neofetch --bar_char 'elapsed' 'total' +# neofetch --bar_char '-' '=' +bar_char_elapsed="-" +bar_char_total="=" + +# Toggle Bar border +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --bar_border +bar_border="on" + +# Progress bar length in spaces +# Number of chars long to make the progress bars. +# +# Default: '15' +# Values: 'num' +# Flag: --bar_length +bar_length=15 + +# Progress bar colors +# When set to distro, uses your distro's logo colors. +# +# Default: 'distro', 'distro' +# Values: 'distro', 'num' +# Flag: --bar_colors +# +# Example: +# neofetch --bar_colors 3 4 +# neofetch --bar_colors distro 5 +bar_color_elapsed="distro" +bar_color_total="distro" + + +# Info display +# Display a bar with the info. +# +# Default: 'off' +# Values: 'bar', 'infobar', 'barinfo', 'off' +# Flags: --cpu_display +# --memory_display +# --battery_display +# --disk_display +# +# Example: +# bar: '[---=======]' +# infobar: 'info [---=======]' +# barinfo: '[---=======] info' +# off: 'info' +cpu_display="off" +memory_display="off" +battery_display="off" +disk_display="off" + + +# Backend Settings + + +# Image backend. +# +# Default: 'ascii' +# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off', +# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty' +# Flag: --backend +image_backend="ascii" + +# Image Source +# +# Which image or ascii file to display. +# +# Default: 'auto' +# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/' +# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")' +# Flag: --source +# +# NOTE: 'auto' will pick the best image source for whatever image backend is used. +# In ascii mode, distro ascii art will be used and in an image mode, your +# wallpaper will be used. +image_source="auto" + + +# Ascii Options + + +# Ascii distro +# Which distro's ascii art to display. +# +# Default: 'auto' +# Values: 'auto', 'distro_name' +# Flag: --ascii_distro +# NOTE: AIX, Alpine, Anarchy, Android, Antergos, antiX, "AOSC OS", +# "AOSC OS/Retro", Apricity, ArcoLinux, ArchBox, ARCHlabs, +# ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya, Bedrock, +# Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD, +# BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS, +# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover, +# Condres, Container_Linux, CRUX, Cucumber, Debian, Deepin, +# DesaOS, Devuan, DracOS, DarkOs, DragonFly, Drauger, Elementary, +# EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD, +# FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo, +# gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra, +# Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion, +# Korora, KSLinux, Kubuntu, LEDE, LFS, Linux_Lite, +# LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva, +# Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib, +# Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner, +# NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba, +# OpenMandriva, OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD, +# Parabola, Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint, +# popos, Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix, +# Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan, +# Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific, +# Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz, +# SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS, +# openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, +# Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio, +# Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin, +# and IRIX have ascii logos +# NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants. +# Use '{distro name}_old' to use the old logos. +# NOTE: Ubuntu has flavor variants. +# Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME, +# Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors. +# NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu, +# CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android, +# Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola, +# Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS, +# Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian, +# postmarketOS, and Void have a smaller logo variant. +# Use '{distro name}_small' to use the small variants. +ascii_distro="auto" + +# Ascii Colors +# +# Default: 'distro' +# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' +# Flag: --ascii_colors +# +# Example: +# ascii_colors=(distro) - Ascii is colored based on Distro colors. +# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors. +ascii_colors=(distro) + +# Bold ascii logo +# Whether or not to bold the ascii logo. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --ascii_bold +ascii_bold="on" + + +# Image Options + + +# Image loop +# Setting this to on will make neofetch redraw the image constantly until +# Ctrl+C is pressed. This fixes display issues in some terminal emulators. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --loop +image_loop="off" + +# Thumbnail directory +# +# Default: '~/.cache/thumbnails/neofetch' +# Values: 'dir' +thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch" + +# Crop mode +# +# Default: 'normal' +# Values: 'normal', 'fit', 'fill' +# Flag: --crop_mode +# +# See this wiki page to learn about the fit and fill options. +# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F +crop_mode="normal" + +# Crop offset +# Note: Only affects 'normal' crop mode. +# +# Default: 'center' +# Values: 'northwest', 'north', 'northeast', 'west', 'center' +# 'east', 'southwest', 'south', 'southeast' +# Flag: --crop_offset +crop_offset="center" + +# Image size +# The image is half the terminal width by default. +# +# Default: 'auto' +# Values: 'auto', '00px', '00%', 'none' +# Flags: --image_size +# --size +image_size="auto" + +# Gap between image and text +# +# Default: '3' +# Values: 'num', '-num' +# Flag: --gap +gap=3 + +# Image offsets +# Only works with the w3m backend. +# +# Default: '0' +# Values: 'px' +# Flags: --xoffset +# --yoffset +yoffset=0 +xoffset=0 + +# Image background color +# Only works with the w3m backend. +# +# Default: '' +# Values: 'color', 'blue' +# Flag: --bg_color +background_color= + + +# Misc Options + +# Stdout mode +# Turn off all colors and disables image backend (ASCII/Image). +# Useful for piping into another command. +# Default: 'off' +# Values: 'on', 'off' +stdout="off" diff --git a/nvim/.DS_Store b/.config/nvim/.DS_Store Binary files differ. diff --git a/nvim/.gitignore b/.config/nvim/.gitignore diff --git a/nvim/.neoconf.json b/.config/nvim/.neoconf.json diff --git a/nvim/LICENSE b/.config/nvim/LICENSE diff --git a/nvim/README.md b/.config/nvim/README.md diff --git a/nvim/init.lua b/.config/nvim/init.lua diff --git a/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json diff --git a/nvim/lazyvim.json b/.config/nvim/lazyvim.json diff --git a/nvim/lua/.DS_Store b/.config/nvim/lua/.DS_Store Binary files differ. diff --git a/nvim/lua/config/autocmds.lua b/.config/nvim/lua/config/autocmds.lua diff --git a/nvim/lua/config/highlite.lua b/.config/nvim/lua/config/highlite.lua diff --git a/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua diff --git a/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua diff --git a/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua diff --git a/nvim/lua/plugins/bufferline.lua b/.config/nvim/lua/plugins/bufferline.lua diff --git a/nvim/lua/plugins/disable.lua b/.config/nvim/lua/plugins/disable.lua diff --git a/nvim/lua/plugins/example.lua b/.config/nvim/lua/plugins/example.lua diff --git a/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua diff --git a/nvim/lua/plugins/markview.lua b/.config/nvim/lua/plugins/markview.lua diff --git a/nvim/lua/plugins/mini.lua b/.config/nvim/lua/plugins/mini.lua diff --git a/nvim/lua/plugins/neotree.lua b/.config/nvim/lua/plugins/neotree.lua diff --git a/nvim/lua/plugins/no-neck-pain.lua b/.config/nvim/lua/plugins/no-neck-pain.lua diff --git a/nvim/lua/plugins/opacity.lua b/.config/nvim/lua/plugins/opacity.lua diff --git a/nvim/lua/plugins/render.lua b/.config/nvim/lua/plugins/render.lua diff --git a/nvim/lua/plugins/snacks.lua b/.config/nvim/lua/plugins/snacks.lua diff --git a/nvim/lua/plugins/starter-mini.lua b/.config/nvim/lua/plugins/starter-mini.lua diff --git a/nvim/lua/plugins/substitute.lua b/.config/nvim/lua/plugins/substitute.lua diff --git a/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua diff --git a/nvim/lua/plugins/todo-comment.lua b/.config/nvim/lua/plugins/todo-comment.lua diff --git a/nvim/lua/plugins/user/highlights.lua b/.config/nvim/lua/plugins/user/highlights.lua diff --git a/nvim/stylua.toml b/.config/nvim/stylua.toml diff --git a/.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/assets/google-translate.png b/.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/assets/google-translate.png Binary files differ. diff --git a/.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/package.json b/.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/package.json @@ -0,0 +1,999 @@ +{ + "$schema": "https://www.raycast.com/schemas/extension.json", + "name": "translate", + "title": "Google Translate", + "description": "Simple translation using Google Translate", + "icon": "google-translate.png", + "author": "gebeto", + "categories": [ + "Web", + "Productivity" + ], + "contributors": [ + "FezVrasta", + "ickas", + "metakirby5", + "AlanHuang", + "nirtamir2", + "pernielsentikaer", + "rasitayaz", + "popalay", + "litomore", + "ChanningKuo" + ], + "license": "MIT", + "commands": [ + { + "name": "translate", + "title": "Translate", + "subtitle": "Google Translate", + "description": "Simple translation via Google Translate", + "mode": "view" + }, + { + "name": "translate-form", + "title": "Translate Form", + "subtitle": "Google Translate", + "description": "Simple translation via Google Translate", + "mode": "view" + }, + { + "name": "quick-translate", + "title": "Quick Translate", + "subtitle": "Google Translate", + "description": "Quickly translate to multiple languages", + "mode": "view" + } + ], + "preferences": [ + { + "name": "lang1", + "title": "Primary Language", + "description": "Preferred language to translate from", + "required": true, + "type": "dropdown", + "default": "auto", + "data": [ + { + "title": "🌐 Auto-detect", + "value": "auto" + }, + { + "title": "🇿🇦 Afrikaans", + "value": "af" + }, + { + "title": "🇦🇱 Albanian", + "value": "sq" + }, + { + "title": "Amharic", + "value": "am" + }, + { + "title": "Arabic", + "value": "ar" + }, + { + "title": "🇦🇲 Armenian", + "value": "hy" + }, + { + "title": "🇦🇿 Azerbaijani", + "value": "az" + }, + { + "title": "Basque", + "value": "eu" + }, + { + "title": "🇧🇾 Belarusian", + "value": "be" + }, + { + "title": "Bengali", + "value": "bn" + }, + { + "title": "🇧🇦 Bosnian", + "value": "bs" + }, + { + "title": "🇧🇬 Bulgarian", + "value": "bg" + }, + { + "title": "Catalan", + "value": "ca" + }, + { + "title": "Cebuano", + "value": "ceb" + }, + { + "title": "Chinese (Simplified)", + "value": "zh-CN" + }, + { + "title": "Chinese (Traditional)", + "value": "zh-TW" + }, + { + "title": "Corsican", + "value": "co" + }, + { + "title": "🇭🇷 Croatian", + "value": "hr" + }, + { + "title": "🇨🇿 Czech", + "value": "cs" + }, + { + "title": "🇩🇰 Danish", + "value": "da" + }, + { + "title": "🇳🇱 Dutch", + "value": "nl" + }, + { + "title": "🇬🇧 English", + "value": "en" + }, + { + "title": "Esperanto", + "value": "eo" + }, + { + "title": "🇪🇪 Estonian", + "value": "et" + }, + { + "title": "🇫🇮 Finnish", + "value": "fi" + }, + { + "title": "🇫🇷 French", + "value": "fr" + }, + { + "title": "Frisian", + "value": "fy" + }, + { + "title": "Galician", + "value": "gl" + }, + { + "title": "🇬🇪 Georgian", + "value": "ka" + }, + { + "title": "🇩🇪 German", + "value": "de" + }, + { + "title": "🇬🇷 Greek", + "value": "el" + }, + { + "title": "Gujarati", + "value": "gu" + }, + { + "title": "🇭🇹 Haitian Creole", + "value": "ht" + }, + { + "title": "Hausa", + "value": "ha" + }, + { + "title": "🌺 Hawaiian", + "value": "haw" + }, + { + "title": "🇮🇱 Hebrew", + "value": "iw" + }, + { + "title": "🇮🇳 Hindi", + "value": "hi" + }, + { + "title": "Hmong", + "value": "hmn" + }, + { + "title": "🇭🇺 Hungarian", + "value": "hu" + }, + { + "title": "🇮🇸 Icelandic", + "value": "is" + }, + { + "title": "Igbo", + "value": "ig" + }, + { + "title": "🇮🇩 Indonesian", + "value": "id" + }, + { + "title": "🇮🇪 Irish", + "value": "ga" + }, + { + "title": "🇮🇹 Italian", + "value": "it" + }, + { + "title": "🇯🇵 Japanese", + "value": "ja" + }, + { + "title": "Javanese", + "value": "jv" + }, + { + "title": "Kannada", + "value": "kn" + }, + { + "title": "🇰🇿 Kazakh", + "value": "kk" + }, + { + "title": "Khmer", + "value": "km" + }, + { + "title": "Kinyarwanda", + "value": "rw" + }, + { + "title": "🇰🇷 Korean", + "value": "ko" + }, + { + "title": "Kurdish", + "value": "ku" + }, + { + "title": "Kyrgyz", + "value": "ky" + }, + { + "title": "Lao", + "value": "lo" + }, + { + "title": "🇱🇻 Latvian", + "value": "lv" + }, + { + "title": "🇱🇹 Lithuanian", + "value": "lt" + }, + { + "title": "🇱🇺 Luxembourgish", + "value": "lb" + }, + { + "title": "🇲🇰 Macedonian", + "value": "mk" + }, + { + "title": "Malagasy", + "value": "mg" + }, + { + "title": "🇲🇾 Malay", + "value": "ms" + }, + { + "title": "Malayalam", + "value": "ml" + }, + { + "title": "🇲🇹 Maltese", + "value": "mt" + }, + { + "title": "🇳🇿 Maori", + "value": "mi" + }, + { + "title": "Marathi", + "value": "mr" + }, + { + "title": "🇲🇳 Mongolian", + "value": "mn" + }, + { + "title": "🇲🇲 Myanmar (Burmese)", + "value": "my" + }, + { + "title": "🇳🇵 Nepali", + "value": "ne" + }, + { + "title": "🇳🇴 Norwegian", + "value": "no" + }, + { + "title": "Nyanja (Chichewa)", + "value": "ny" + }, + { + "title": "Odia (Oriya)", + "value": "or" + }, + { + "title": "Pashto", + "value": "ps" + }, + { + "title": "🇮🇷 Persian", + "value": "fa" + }, + { + "title": "🇵🇱 Polish", + "value": "pl" + }, + { + "title": "🇵🇹 Portuguese", + "value": "pt" + }, + { + "title": "🇮🇳 Punjabi", + "value": "pa" + }, + { + "title": "🇷🇴 Romanian", + "value": "ro" + }, + { + "title": "🇷🇺 Russian", + "value": "ru" + }, + { + "title": "Samoan", + "value": "sm" + }, + { + "title": "🏴󠁧󠁢󠁳󠁣󠁴󠁿 Scots Gaelic", + "value": "gd" + }, + { + "title": "🇷🇸 Serbian", + "value": "sr" + }, + { + "title": "Sesotho", + "value": "st" + }, + { + "title": "Shona", + "value": "sn" + }, + { + "title": "Sindhi", + "value": "sd" + }, + { + "title": "Sinhala (Sinhalese)", + "value": "si" + }, + { + "title": "🇸🇰 Slovak", + "value": "sk" + }, + { + "title": "🇸🇮 Slovenian", + "value": "sl" + }, + { + "title": "🇸🇴 Somali", + "value": "so" + }, + { + "title": "🇪🇸 Spanish", + "value": "es" + }, + { + "title": "🇸🇩 Sundanese", + "value": "su" + }, + { + "title": "Swahili", + "value": "sw" + }, + { + "title": "🇸🇪 Swedish", + "value": "sv" + }, + { + "title": "🇵🇭 Tagalog (Filipino)", + "value": "tl" + }, + { + "title": "Tajik", + "value": "tg" + }, + { + "title": "Tamil", + "value": "ta" + }, + { + "title": "Tatar", + "value": "tt" + }, + { + "title": "Telugu", + "value": "te" + }, + { + "title": "Thai", + "value": "th" + }, + { + "title": "🇹🇷 Turkish", + "value": "tr" + }, + { + "title": "🇹🇲 Turkmen", + "value": "tk" + }, + { + "title": "🇺🇦 Ukrainian", + "value": "uk" + }, + { + "title": "Urdu", + "value": "ur" + }, + { + "title": "Uyghur", + "value": "ug" + }, + { + "title": "Uzbek", + "value": "uz" + }, + { + "title": "🇻🇳 Vietnamese", + "value": "vi" + }, + { + "title": "🏴󠁧󠁢󠁷󠁬󠁳󠁿 Welsh", + "value": "cy" + }, + { + "title": "Xhosa", + "value": "xh" + }, + { + "title": "🇮🇱 Yiddish", + "value": "yi" + }, + { + "title": "Yoruba", + "value": "yo" + }, + { + "title": "Zulu", + "value": "zu" + } + ] + }, + { + "name": "lang2", + "title": "Secondary Language", + "description": "Preferred language to translate to", + "required": true, + "type": "dropdown", + "default": "de", + "data": [ + { + "title": "🇿🇦 Afrikaans", + "value": "af" + }, + { + "title": "🇦🇱 Albanian", + "value": "sq" + }, + { + "title": "Amharic", + "value": "am" + }, + { + "title": "Arabic", + "value": "ar" + }, + { + "title": "🇦🇲 Armenian", + "value": "hy" + }, + { + "title": "🇦🇿 Azerbaijani", + "value": "az" + }, + { + "title": "Basque", + "value": "eu" + }, + { + "title": "🇧🇾 Belarusian", + "value": "be" + }, + { + "title": "Bengali", + "value": "bn" + }, + { + "title": "🇧🇦 Bosnian", + "value": "bs" + }, + { + "title": "🇧🇬 Bulgarian", + "value": "bg" + }, + { + "title": "Catalan", + "value": "ca" + }, + { + "title": "Cebuano", + "value": "ceb" + }, + { + "title": "Chinese (Simplified)", + "value": "zh-CN" + }, + { + "title": "Chinese (Traditional)", + "value": "zh-TW" + }, + { + "title": "Corsican", + "value": "co" + }, + { + "title": "🇭🇷 Croatian", + "value": "hr" + }, + { + "title": "🇨🇿 Czech", + "value": "cs" + }, + { + "title": "🇩🇰 Danish", + "value": "da" + }, + { + "title": "🇳🇱 Dutch", + "value": "nl" + }, + { + "title": "🇬🇧 English", + "value": "en" + }, + { + "title": "Esperanto", + "value": "eo" + }, + { + "title": "🇪🇪 Estonian", + "value": "et" + }, + { + "title": "🇫🇮 Finnish", + "value": "fi" + }, + { + "title": "🇫🇷 French", + "value": "fr" + }, + { + "title": "Frisian", + "value": "fy" + }, + { + "title": "Galician", + "value": "gl" + }, + { + "title": "🇬🇪 Georgian", + "value": "ka" + }, + { + "title": "🇩🇪 German", + "value": "de" + }, + { + "title": "🇬🇷 Greek", + "value": "el" + }, + { + "title": "Gujarati", + "value": "gu" + }, + { + "title": "🇭🇹 Haitian Creole", + "value": "ht" + }, + { + "title": "Hausa", + "value": "ha" + }, + { + "title": "🌺 Hawaiian", + "value": "haw" + }, + { + "title": "🇮🇱 Hebrew", + "value": "iw" + }, + { + "title": "🇮🇳 Hindi", + "value": "hi" + }, + { + "title": "Hmong", + "value": "hmn" + }, + { + "title": "🇭🇺 Hungarian", + "value": "hu" + }, + { + "title": "🇮🇸 Icelandic", + "value": "is" + }, + { + "title": "Igbo", + "value": "ig" + }, + { + "title": "🇮🇩 Indonesian", + "value": "id" + }, + { + "title": "🇮🇪 Irish", + "value": "ga" + }, + { + "title": "🇮🇹 Italian", + "value": "it" + }, + { + "title": "🇯🇵 Japanese", + "value": "ja" + }, + { + "title": "Javanese", + "value": "jv" + }, + { + "title": "Kannada", + "value": "kn" + }, + { + "title": "🇰🇿 Kazakh", + "value": "kk" + }, + { + "title": "Khmer", + "value": "km" + }, + { + "title": "Kinyarwanda", + "value": "rw" + }, + { + "title": "🇰🇷 Korean", + "value": "ko" + }, + { + "title": "Kurdish", + "value": "ku" + }, + { + "title": "Kyrgyz", + "value": "ky" + }, + { + "title": "Lao", + "value": "lo" + }, + { + "title": "🇱🇻 Latvian", + "value": "lv" + }, + { + "title": "🏛 Latin", + "value": "la" + }, + { + "title": "🇱🇹 Lithuanian", + "value": "lt" + }, + { + "title": "🇱🇺 Luxembourgish", + "value": "lb" + }, + { + "title": "🇲🇰 Macedonian", + "value": "mk" + }, + { + "title": "Malagasy", + "value": "mg" + }, + { + "title": "🇲🇾 Malay", + "value": "ms" + }, + { + "title": "Malayalam", + "value": "ml" + }, + { + "title": "🇲🇹 Maltese", + "value": "mt" + }, + { + "title": "🇳🇿 Maori", + "value": "mi" + }, + { + "title": "Marathi", + "value": "mr" + }, + { + "title": "🇲🇳 Mongolian", + "value": "mn" + }, + { + "title": "🇲🇲 Myanmar (Burmese)", + "value": "my" + }, + { + "title": "🇳🇵 Nepali", + "value": "ne" + }, + { + "title": "🇳🇴 Norwegian", + "value": "no" + }, + { + "title": "Nyanja (Chichewa)", + "value": "ny" + }, + { + "title": "Odia (Oriya)", + "value": "or" + }, + { + "title": "Pashto", + "value": "ps" + }, + { + "title": "🇮🇷 Persian", + "value": "fa" + }, + { + "title": "🇵🇱 Polish", + "value": "pl" + }, + { + "title": "🇵🇹 Portuguese", + "value": "pt" + }, + { + "title": "🇮🇳 Punjabi", + "value": "pa" + }, + { + "title": "🇷🇴 Romanian", + "value": "ro" + }, + { + "title": "🇷🇺 Russian", + "value": "ru" + }, + { + "title": "Samoan", + "value": "sm" + }, + { + "title": "🏴󠁧󠁢󠁳󠁣󠁴󠁿 Scots Gaelic", + "value": "gd" + }, + { + "title": "🇷🇸 Serbian", + "value": "sr" + }, + { + "title": "Sesotho", + "value": "st" + }, + { + "title": "Shona", + "value": "sn" + }, + { + "title": "Sindhi", + "value": "sd" + }, + { + "title": "Sinhala (Sinhalese)", + "value": "si" + }, + { + "title": "🇸🇰 Slovak", + "value": "sk" + }, + { + "title": "🇸🇮 Slovenian", + "value": "sl" + }, + { + "title": "🇸🇴 Somali", + "value": "so" + }, + { + "title": "🇪🇸 Spanish", + "value": "es" + }, + { + "title": "🇸🇩 Sundanese", + "value": "su" + }, + { + "title": "Swahili", + "value": "sw" + }, + { + "title": "🇸🇪 Swedish", + "value": "sv" + }, + { + "title": "🇵🇭 Tagalog (Filipino)", + "value": "tl" + }, + { + "title": "Tajik", + "value": "tg" + }, + { + "title": "Tamil", + "value": "ta" + }, + { + "title": "Tatar", + "value": "tt" + }, + { + "title": "Telugu", + "value": "te" + }, + { + "title": "Thai", + "value": "th" + }, + { + "title": "🇹🇷 Turkish", + "value": "tr" + }, + { + "title": "🇹🇲 Turkmen", + "value": "tk" + }, + { + "title": "🇺🇦 Ukrainian", + "value": "uk" + }, + { + "title": "Urdu", + "value": "ur" + }, + { + "title": "Uyghur", + "value": "ug" + }, + { + "title": "Uzbek", + "value": "uz" + }, + { + "title": "🇻🇳 Vietnamese", + "value": "vi" + }, + { + "title": "🏴󠁧󠁢󠁷󠁬󠁳󠁿 Welsh", + "value": "cy" + }, + { + "title": "Xhosa", + "value": "xh" + }, + { + "title": "🇮🇱 Yiddish", + "value": "yi" + }, + { + "title": "Yoruba", + "value": "yo" + }, + { + "title": "Zulu", + "value": "zu" + } + ] + }, + { + "name": "autoInput", + "title": "Autofill Input", + "label": "Automatically fill input with selected text.", + "description": "When enabled, selected text from the foremost app will be automatically filled in the input field.", + "required": false, + "type": "checkbox", + "default": true + }, + { + "name": "defaultAction", + "title": "Default Action", + "description": "The default action to take when translating.", + "type": "dropdown", + "required": false, + "default": "copy", + "data": [ + { + "title": "Copy to Clipboard", + "value": "copy" + }, + { + "title": "Paste to App", + "value": "paste" + } + ] + }, + { + "name": "proxy", + "title": "HTTP Proxy URL", + "description": "HTTP proxy URL to use for translation requests (e.g. http://proxy.example.com:8080)", + "type": "textfield", + "required": false + } + ], + "dependencies": { + "undici": "^5.12.0", + "@raycast/api": "^1.47.3", + "@raycast/utils": "^1.4.16", + "google-tts-api": "^2.0.2" + }, + "devDependencies": { + "@types/node": "~16.10.0", + "@types/react": "^17.0.28", + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.3.0", + "prettier": "^3.0.1", + "typescript": "^4.4.3" + }, + "scripts": { + "build": "ray build -e dist", + "dev": "ray develop", + "fix-lint": "ray lint --fix", + "lint": "ray lint", + "publish": "ray publish" + } +} +\ No newline at end of file diff --git a/.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/quick-translate.js b/.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/quick-translate.js @@ -0,0 +1,108 @@ +"use strict";var H3=Object.create;var Mr=Object.defineProperty;var O3=Object.getOwnPropertyDescriptor;var P3=Object.getOwnPropertyNames;var W3=Object.getPrototypeOf,Z3=Object.prototype.hasOwnProperty;var E=(e,A)=>()=>(A||e((A={exports:{}}).exports,A),A.exports),j3=(e,A)=>{for(var t in A)Mr(e,t,{get:A[t],enumerable:!0})},x0=(e,A,t,a)=>{if(A&&typeof A=="object"||typeof A=="function")for(let r of P3(A))!Z3.call(e,r)&&r!==t&&Mr(e,r,{get:()=>A[r],enumerable:!(a=O3(A,r))||a.enumerable});return e};var _t=(e,A,t)=>(t=e!=null?H3(W3(e)):{},x0(A||!e||!e.__esModule?Mr(t,"default",{value:e,enumerable:!0}):t,e)),X3=e=>x0(Mr({},"__esModule",{value:!0}),e);var H0=E(q0=>{var _0=Object.prototype.hasOwnProperty;function En(e,A){var t,a;if(e===A)return!0;if(e&&A&&(t=e.constructor)===A.constructor){if(t===Date)return e.getTime()===A.getTime();if(t===RegExp)return e.toString()===A.toString();if(t===Array){if((a=e.length)===A.length)for(;a--&&En(e[a],A[a]););return a===-1}if(!t||typeof e=="object"){a=0;for(t in e)if(_0.call(e,t)&&++a&&!_0.call(A,t)||!(t in A)||!En(e[t],A[t]))return!1;return Object.keys(A).length===a}}return e!==e&&A!==A}q0.dequal=En});var O0=E(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.useDeepMemo=void 0;var Qn=require("react"),z3=H0();function K3(e){let A=(0,Qn.useRef)(e),t=(0,Qn.useRef)(0);return(0,z3.dequal)(e,A.current)||(A.current=e,t.current+=1),(0,Qn.useMemo)(()=>A.current,[t.current])}Tr.useDeepMemo=K3});var At=E(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.useLatest=void 0;var $3=require("react");function eQ(e){let A=(0,$3.useRef)(e);return A.current=e,A}Vr.useLatest=eQ});var Cn=E(YA=>{"use strict";var AQ=YA&&YA.__createBinding||(Object.create?function(e,A,t,a){a===void 0&&(a=t);var r=Object.getOwnPropertyDescriptor(A,t);(!r||("get"in r?!A.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return A[t]}}),Object.defineProperty(e,a,r)}:function(e,A,t,a){a===void 0&&(a=t),e[a]=A[t]}),tQ=YA&&YA.__setModuleDefault||(Object.create?function(e,A){Object.defineProperty(e,"default",{enumerable:!0,value:A})}:function(e,A){e.default=A}),P0=YA&&YA.__importStar||function(e){if(e&&e.__esModule)return e;var A={};if(e!=null)for(var t in e)t!=="default"&&Object.prototype.hasOwnProperty.call(e,t)&&AQ(A,e,t);return tQ(A,e),A};Object.defineProperty(YA,"__esModule",{value:!0});YA.handleErrorToastAction=void 0;var aQ=P0(require("fs")),rQ=P0(require("path")),Yr=require("@raycast/api"),iQ=e=>{let A=!0,t="[Extension Name]...",a="";try{let i=JSON.parse(aQ.readFileSync(rQ.join(Yr.environment.assetsPath,"..","package.json"),"utf8"));t=`[${i.title}]...`,a=`https://raycast.com/${i.owner||i.author}/${i.name}`,(!i.owner||i.access==="public")&&(A=!1)}catch{}let r=Yr.environment.isDevelopment||A;return{title:r?"Copy Logs":"Report Error",onAction(i){i.hide(),r?Yr.Clipboard.copy(e?.stack||e?.message||""):(0,Yr.open)(`https://github.com/raycast/extensions/issues/new?&labels=extension%2Cbug&template=extension_bug_report.yml&title=${encodeURIComponent(t)}&extension-url=${encodeURI(a)}&description=${encodeURIComponent(`#### Error: +\`\`\` +${e?.stack||e?.message||""} +\`\`\` +`)}`)}}};YA.handleErrorToastAction=iQ});var va=E(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.usePromise=void 0;var ht=require("react"),qt=require("@raycast/api"),sQ=O0(),Ht=At(),nQ=Cn();function oQ(e,A,t){let a=(0,ht.useRef)(0),[r,i]=(0,ht.useState)({isLoading:!0}),s=(0,Ht.useLatest)(e),n=(0,Ht.useLatest)(t?.abortable),o=(0,Ht.useLatest)(A||[]),d=(0,Ht.useLatest)(t?.onError),l=(0,Ht.useLatest)(t?.onData),p=(0,Ht.useLatest)(t?.onWillExecute),g=(0,Ht.useLatest)(r.data),c=(0,ht.useRef)(),u=(0,ht.useCallback)((...w)=>{let I=++a.current;return n.current&&(n.current.current?.abort(),n.current.current=new AbortController),p.current?.(w),i(y=>({...y,isLoading:!0})),dQ(s.current)(...w).then(y=>(I===a.current&&(l.current&&l.current(y),i({data:y,isLoading:!1})),y),y=>(y.name=="AbortError"||I===a.current&&(d.current?d.current(y):(console.error(y),qt.environment.launchType!==qt.LaunchType.Background&&(0,qt.showToast)({style:qt.Toast.Style.Failure,title:"Failed to fetch latest data",message:y.message,primaryAction:{title:"Retry",onAction(b){b.hide(),c.current?.(...o.current||[])}},secondaryAction:(0,nQ.handleErrorToastAction)(y)})),i({error:y,isLoading:!1})),y))},[n,l,d,o,s,i,c,p]);c.current=u;let Q=(0,ht.useCallback)(()=>u(...o.current||[]),[u,o]),m=(0,ht.useCallback)(async(w,I)=>{let y;try{if(I?.optimisticUpdate){typeof I?.rollbackOnError!="function"&&I?.rollbackOnError!==!1&&(y=structuredClone(g.current?.value));let b=I.optimisticUpdate;i(F=>({...F,data:b(F.data)}))}return await w}catch(b){if(typeof I?.rollbackOnError=="function"){let F=I.rollbackOnError;i(x=>({...x,data:F(x.data)}))}else I?.optimisticUpdate&&I?.rollbackOnError!==!1&&i(F=>({...F,data:y}));throw b}finally{I?.shouldRevalidateAfter!==!1&&(qt.environment.launchType===qt.LaunchType.Background||qt.environment.commandMode==="menu-bar"?await Q():Q())}},[Q,g,i]);(0,ht.useEffect)(()=>{t?.execute!==!1?u(...A||[]):n.current&&n.current.current?.abort()},[(0,sQ.useDeepMemo)([A,t?.execute,u]),n]),(0,ht.useEffect)(()=>()=>{n.current&&n.current.current?.abort()},[n]);let C=t?.execute!==!1?r.isLoading:!1;return{...{...r,isLoading:C},revalidate:Q,mutate:m}}Jr.usePromise=oQ;function dQ(e){return e===Promise.all||e===Promise.race||e===Promise.resolve||e===Promise.reject?e.bind(Promise):e}});var xr=E(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.useCachedState=void 0;var mn=require("react"),pQ=require("@raycast/api"),Bn=At();function lQ(e,A){let t=this[e];return t instanceof Date?`__raycast_cached_date__${t.toString()}`:Buffer.isBuffer(t)?`__raycast_cached_buffer__${t.toString("base64")}`:A}function gQ(e,A){return typeof A=="string"&&A.startsWith("__raycast_cached_date__")?new Date(A.replace("__raycast_cached_date__","")):typeof A=="string"&&A.startsWith("__raycast_cached_buffer__")?Buffer.from(A.replace("__raycast_cached_buffer__",""),"base64"):A}var cQ=Symbol("cache without namespace"),W0=new Map;function uQ(e,A,t){let a=t?.cacheNamespace||cQ,r=W0.get(a)||W0.set(a,new pQ.Cache({namespace:t?.cacheNamespace})).get(a);if(!r)throw new Error("Missing cache");let i=(0,Bn.useLatest)(e),s=(0,Bn.useLatest)(A),n=(0,mn.useSyncExternalStore)(r.subscribe,()=>{try{return r.get(i.current)}catch(p){console.error("Could not get Cache data:",p);return}}),o=(0,mn.useMemo)(()=>{if(typeof n<"u"){if(n==="undefined")return;try{return JSON.parse(n,gQ)}catch(p){return console.warn("The cached data is corrupted",p),s.current}}else return s.current},[n,s]),d=(0,Bn.useLatest)(o),l=(0,mn.useCallback)(p=>{let g=typeof p=="function"?p(d.current):p;if(typeof g>"u")r.set(i.current,"undefined");else{let c=JSON.stringify(g,lQ);r.set(i.current,c)}return g},[r,i,d]);return[o,l]}Gr.useCachedState=uQ});var fn=E((Ot,K0)=>{"use strict";var hn=require("crypto");Ot=K0.exports=Na;function Na(e,A){return A=X0(e,A),EQ(e,A)}Ot.sha1=function(e){return Na(e)};Ot.keys=function(e){return Na(e,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})};Ot.MD5=function(e){return Na(e,{algorithm:"md5",encoding:"hex"})};Ot.keysMD5=function(e){return Na(e,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var I1=hn.getHashes?hn.getHashes().slice():["sha1","md5"];I1.push("passthrough");var Z0=["buffer","hex","binary","base64"];function X0(e,A){A=A||{};var t={};if(t.algorithm=A.algorithm||"sha1",t.encoding=A.encoding||"hex",t.excludeValues=!!A.excludeValues,t.algorithm=t.algorithm.toLowerCase(),t.encoding=t.encoding.toLowerCase(),t.ignoreUnknown=A.ignoreUnknown===!0,t.respectType=A.respectType!==!1,t.respectFunctionNames=A.respectFunctionNames!==!1,t.respectFunctionProperties=A.respectFunctionProperties!==!1,t.unorderedArrays=A.unorderedArrays===!0,t.unorderedSets=A.unorderedSets!==!1,t.unorderedObjects=A.unorderedObjects!==!1,t.replacer=A.replacer||void 0,t.excludeKeys=A.excludeKeys||void 0,typeof e>"u")throw new Error("Object argument required.");for(var a=0;a<I1.length;++a)I1[a].toLowerCase()===t.algorithm.toLowerCase()&&(t.algorithm=I1[a]);if(I1.indexOf(t.algorithm)===-1)throw new Error('Algorithm "'+t.algorithm+'" not supported. supported values: '+I1.join(", "));if(Z0.indexOf(t.encoding)===-1&&t.algorithm!=="passthrough")throw new Error('Encoding "'+t.encoding+'" not supported. supported values: '+Z0.join(", "));return t}function j0(e){if(typeof e!="function")return!1;var A=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;return A.exec(Function.prototype.toString.call(e))!=null}function EQ(e,A){var t;A.algorithm!=="passthrough"?t=hn.createHash(A.algorithm):t=new z0,typeof t.write>"u"&&(t.write=t.update,t.end=t.update);var a=In(A,t);if(a.dispatch(e),t.update||t.end(""),t.digest)return t.digest(A.encoding==="buffer"?void 0:A.encoding);var r=t.read();return A.encoding==="buffer"?r:r.toString(A.encoding)}Ot.writeToStream=function(e,A,t){return typeof t>"u"&&(t=A,A={}),A=X0(e,A),In(A,t).dispatch(e)};function In(e,A,t){t=t||[];var a=function(r){return A.update?A.update(r,"utf8"):A.write(r,"utf8")};return{dispatch:function(r){e.replacer&&(r=e.replacer(r));var i=typeof r;return r===null&&(i="null"),this["_"+i](r)},_object:function(r){var i=/\[object (.*)\]/i,s=Object.prototype.toString.call(r),n=i.exec(s);n?n=n[1]:n="unknown:["+s+"]",n=n.toLowerCase();var o=null;if((o=t.indexOf(r))>=0)return this.dispatch("[CIRCULAR:"+o+"]");if(t.push(r),typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(r))return a("buffer:"),a(r);if(n!=="object"&&n!=="function"&&n!=="asyncfunction")if(this["_"+n])this["_"+n](r);else{if(e.ignoreUnknown)return a("["+n+"]");throw new Error('Unknown object type "'+n+'"')}else{var d=Object.keys(r);e.unorderedObjects&&(d=d.sort()),e.respectType!==!1&&!j0(r)&&d.splice(0,0,"prototype","__proto__","constructor"),e.excludeKeys&&(d=d.filter(function(p){return!e.excludeKeys(p)})),a("object:"+d.length+":");var l=this;return d.forEach(function(p){l.dispatch(p),a(":"),e.excludeValues||l.dispatch(r[p]),a(",")})}},_array:function(r,i){i=typeof i<"u"?i:e.unorderedArrays!==!1;var s=this;if(a("array:"+r.length+":"),!i||r.length<=1)return r.forEach(function(d){return s.dispatch(d)});var n=[],o=r.map(function(d){var l=new z0,p=t.slice(),g=In(e,l,p);return g.dispatch(d),n=n.concat(p.slice(t.length)),l.read().toString()});return t=t.concat(n),o.sort(),this._array(o,!1)},_date:function(r){return a("date:"+r.toJSON())},_symbol:function(r){return a("symbol:"+r.toString())},_error:function(r){return a("error:"+r.toString())},_boolean:function(r){return a("bool:"+r.toString())},_string:function(r){a("string:"+r.length+":"),a(r.toString())},_function:function(r){a("fn:"),j0(r)?this.dispatch("[native]"):this.dispatch(r.toString()),e.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(r.name)),e.respectFunctionProperties&&this._object(r)},_number:function(r){return a("number:"+r.toString())},_xml:function(r){return a("xml:"+r.toString())},_null:function(){return a("Null")},_undefined:function(){return a("Undefined")},_regexp:function(r){return a("regex:"+r.toString())},_uint8array:function(r){return a("uint8array:"),this.dispatch(Array.prototype.slice.call(r))},_uint8clampedarray:function(r){return a("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(r))},_int8array:function(r){return a("int8array:"),this.dispatch(Array.prototype.slice.call(r))},_uint16array:function(r){return a("uint16array:"),this.dispatch(Array.prototype.slice.call(r))},_int16array:function(r){return a("int16array:"),this.dispatch(Array.prototype.slice.call(r))},_uint32array:function(r){return a("uint32array:"),this.dispatch(Array.prototype.slice.call(r))},_int32array:function(r){return a("int32array:"),this.dispatch(Array.prototype.slice.call(r))},_float32array:function(r){return a("float32array:"),this.dispatch(Array.prototype.slice.call(r))},_float64array:function(r){return a("float64array:"),this.dispatch(Array.prototype.slice.call(r))},_arraybuffer:function(r){return a("arraybuffer:"),this.dispatch(new Uint8Array(r))},_url:function(r){return a("url:"+r.toString(),"utf8")},_map:function(r){a("map:");var i=Array.from(r);return this._array(i,e.unorderedSets!==!1)},_set:function(r){a("set:");var i=Array.from(r);return this._array(i,e.unorderedSets!==!1)},_file:function(r){return a("file:"),this.dispatch([r.name,r.size,r.type,r.lastModfied])},_blob:function(){if(e.ignoreUnknown)return a("[blob]");throw Error(`Hashing Blob objects is currently not supported +(see https://github.com/puleos/object-hash/issues/26) +Use "options.replacer" or "options.ignoreUnknown" +`)},_domwindow:function(){return a("domwindow")},_bigint:function(r){return a("bigint:"+r.toString())},_process:function(){return a("process")},_timer:function(){return a("timer")},_pipe:function(){return a("pipe")},_tcp:function(){return a("tcp")},_udp:function(){return a("udp")},_tty:function(){return a("tty")},_statwatcher:function(){return a("statwatcher")},_securecontext:function(){return a("securecontext")},_connection:function(){return a("connection")},_zlib:function(){return a("zlib")},_context:function(){return a("context")},_nodescript:function(){return a("nodescript")},_httpparser:function(){return a("httpparser")},_dataview:function(){return a("dataview")},_signal:function(){return a("signal")},_fsevent:function(){return a("fsevent")},_tlswrap:function(){return a("tlswrap")}}}function z0(){return{buf:"",write:function(e){this.buf+=e},end:function(e){this.buf+=e},read:function(){return this.buf}}}});var qr=E(f1=>{"use strict";var QQ=f1&&f1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f1,"__esModule",{value:!0});f1.useCachedPromise=void 0;var _r=require("react"),$0=QQ(fn()),CQ=xr(),mQ=va(),BQ=At(),ba=Symbol();function hQ(e,A,t){let{initialData:a,keepPreviousData:r,...i}=t||{},s=(0,_r.useRef)(),[n,o]=(0,CQ.useCachedState)((0,$0.default)(A||[]),ba,{cacheNamespace:(0,$0.default)(e)}),d=(0,_r.useRef)(n!==ba?n:a),{mutate:l,revalidate:p,...g}=(0,mQ.usePromise)(e,A||[],{...i,onData(C){i.onData&&i.onData(C),s.current="promise",d.current=C,o(C)}}),c=n!==ba?n:a,u=s.current==="promise"?d.current:r?n!==ba?n:d.current:c,Q=(0,BQ.useLatest)(u),m=(0,_r.useCallback)(async(C,B)=>{let w;try{if(B?.optimisticUpdate){typeof B?.rollbackOnError!="function"&&B?.rollbackOnError!==!1&&(w=structuredClone(Q.current));let I=B.optimisticUpdate(Q.current);s.current="cache",d.current=I,o(I)}return await l(C,{shouldRevalidateAfter:B?.shouldRevalidateAfter})}catch(I){if(typeof B?.rollbackOnError=="function"){let y=B.rollbackOnError(Q.current);s.current="cache",d.current=y,o(y)}else B?.optimisticUpdate&&B?.rollbackOnError!==!1&&(s.current="cache",d.current=w,o(w));throw I}},[o,l,Q,d,s]);return(0,_r.useEffect)(()=>{n!==ba&&(s.current="cache",d.current=n)},[n]),{data:u,isLoading:g.isLoading,error:g.error,mutate:m,revalidate:p}}f1.useCachedPromise=hQ});var t2=E(Hr=>{"use strict";var IQ=/^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/,e2=/^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/,A2=/^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/;Hr.format=fQ;Hr.parse=yQ;Hr.test=wQ;function fQ(e){if(!e||typeof e!="object")throw new TypeError("argument obj is required");var A=e.subtype,t=e.suffix,a=e.type;if(!a||!e2.test(a))throw new TypeError("invalid type");if(!A||!IQ.test(A))throw new TypeError("invalid subtype");var r=a+"/"+A;if(t){if(!e2.test(t))throw new TypeError("invalid suffix");r+="+"+t}return r}function wQ(e){if(!e)throw new TypeError("argument string is required");if(typeof e!="string")throw new TypeError("argument string is required to be a string");return A2.test(e.toLowerCase())}function yQ(e){if(!e)throw new TypeError("argument string is required");if(typeof e!="string")throw new TypeError("argument string is required to be a string");var A=A2.exec(e.toLowerCase());if(!A)throw new TypeError("invalid media type");var t=A[1],a=A[2],r,i=a.lastIndexOf("+");return i!==-1&&(r=a.substr(i+1),a=a.substr(0,i)),new DQ(t,a,r)}function DQ(e,A,t){this.type=e,this.subtype=A,this.suffix=t}});var s2=E(wn=>{"use strict";var a2=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,RQ=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,r2=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,vQ=/\\([\u000b\u0020-\u00ff])/g,NQ=/([\\"])/g,i2=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;wn.format=bQ;wn.parse=SQ;function bQ(e){if(!e||typeof e!="object")throw new TypeError("argument obj is required");var A=e.parameters,t=e.type;if(!t||!i2.test(t))throw new TypeError("invalid type");var a=t;if(A&&typeof A=="object")for(var r,i=Object.keys(A).sort(),s=0;s<i.length;s++){if(r=i[s],!r2.test(r))throw new TypeError("invalid parameter name");a+="; "+r+"="+FQ(A[r])}return a}function SQ(e){if(!e)throw new TypeError("argument string is required");var A=typeof e=="object"?kQ(e):e;if(typeof A!="string")throw new TypeError("argument string is required to be a string");var t=A.indexOf(";"),a=t!==-1?A.slice(0,t).trim():A.trim();if(!i2.test(a))throw new TypeError("invalid media type");var r=new UQ(a.toLowerCase());if(t!==-1){var i,s,n;for(a2.lastIndex=t;s=a2.exec(A);){if(s.index!==t)throw new TypeError("invalid parameter format");t+=s[0].length,i=s[1].toLowerCase(),n=s[2],n.charCodeAt(0)===34&&(n=n.slice(1,-1),n.indexOf("\\")!==-1&&(n=n.replace(vQ,"$1"))),r.parameters[i]=n}if(t!==A.length)throw new TypeError("invalid parameter format")}return r}function kQ(e){var A;if(typeof e.getHeader=="function"?A=e.getHeader("content-type"):typeof e.headers=="object"&&(A=e.headers&&e.headers["content-type"]),typeof A!="string")throw new TypeError("content-type header is missing from object");return A}function FQ(e){var A=String(e);if(r2.test(A))return A;if(A.length>0&&!RQ.test(A))throw new TypeError("invalid parameter value");return'"'+A.replace(NQ,"\\$1")+'"'}function UQ(e){this.parameters=Object.create(null),this.type=e}});var d2=E((sN,o2)=>{"use strict";var ie={};o2.exports=ie;function n2(e){return e<0?-1:1}function LQ(e){return e%1===.5&&(e&1)===0?Math.floor(e):Math.round(e)}function It(e,A){A.unsigned||--e;let t=A.unsigned?0:-Math.pow(2,e),a=Math.pow(2,e)-1,r=A.moduloBitLength?Math.pow(2,A.moduloBitLength):Math.pow(2,e),i=A.moduloBitLength?Math.pow(2,A.moduloBitLength-1):Math.pow(2,e-1);return function(s,n){n||(n={});let o=+s;if(n.enforceRange){if(!Number.isFinite(o))throw new TypeError("Argument is not a finite number");if(o=n2(o)*Math.floor(Math.abs(o)),o<t||o>a)throw new TypeError("Argument is not in byte range");return o}if(!isNaN(o)&&n.clamp)return o=LQ(o),o<t&&(o=t),o>a&&(o=a),o;if(!Number.isFinite(o)||o===0)return 0;if(o=n2(o)*Math.floor(Math.abs(o)),o=o%r,!A.unsigned&&o>=i)return o-r;if(A.unsigned){if(o<0)o+=r;else if(o===-0)return 0}return o}}ie.void=function(){};ie.boolean=function(e){return!!e};ie.byte=It(8,{unsigned:!1});ie.octet=It(8,{unsigned:!0});ie.short=It(16,{unsigned:!1});ie["unsigned short"]=It(16,{unsigned:!0});ie.long=It(32,{unsigned:!1});ie["unsigned long"]=It(32,{unsigned:!0});ie["long long"]=It(32,{unsigned:!1,moduloBitLength:64});ie["unsigned long long"]=It(32,{unsigned:!0,moduloBitLength:64});ie.double=function(e){let A=+e;if(!Number.isFinite(A))throw new TypeError("Argument is not a finite floating-point value");return A};ie["unrestricted double"]=function(e){let A=+e;if(isNaN(A))throw new TypeError("Argument is NaN");return A};ie.float=ie.double;ie["unrestricted float"]=ie["unrestricted double"];ie.DOMString=function(e,A){return A||(A={}),A.treatNullAsEmptyString&&e===null?"":String(e)};ie.ByteString=function(e,A){let t=String(e),a;for(let r=0;(a=t.codePointAt(r))!==void 0;++r)if(a>255)throw new TypeError("Argument is not a valid bytestring");return t};ie.USVString=function(e){let A=String(e),t=A.length,a=[];for(let r=0;r<t;++r){let i=A.charCodeAt(r);if(i<55296||i>57343)a.push(String.fromCodePoint(i));else if(56320<=i&&i<=57343)a.push(String.fromCodePoint(65533));else if(r===t-1)a.push(String.fromCodePoint(65533));else{let s=A.charCodeAt(r+1);if(56320<=s&&s<=57343){let n=i&1023,o=s&1023;a.push(String.fromCodePoint(65536+1024*n+o)),++r}else a.push(String.fromCodePoint(65533))}}return a.join("")};ie.Date=function(e,A){if(!(e instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(e))return e};ie.RegExp=function(e,A){return e instanceof RegExp||(e=new RegExp(e)),e}});var p2=E((nN,ft)=>{"use strict";ft.exports.mixin=function(A,t){let a=Object.getOwnPropertyNames(t);for(let r=0;r<a.length;++r)Object.defineProperty(A,a[r],Object.getOwnPropertyDescriptor(t,a[r]))};ft.exports.wrapperSymbol=Symbol("wrapper");ft.exports.implSymbol=Symbol("impl");ft.exports.wrapperForImpl=function(e){return e[ft.exports.wrapperSymbol]};ft.exports.implForWrapper=function(e){return e[ft.exports.implSymbol]}});var l2=E((oN,MQ)=>{MQ.exports=[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1e3,1e3],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6e3],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8e3,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8e3]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9e3],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[3e4]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13e3,13e3],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43e3,43e3],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64e3,64e3],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66e3,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[12e4,12e4],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128e3,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23e3]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149e3]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32e3]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195e3,195e3],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[4e4]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918e3,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]});var C2=E((dN,Pr)=>{"use strict";var c2=require("punycode"),g2=l2(),w1={TRANSITIONAL:0,NONTRANSITIONAL:1};function u2(e){return e.split("\0").map(function(A){return A.normalize("NFC")}).join("\0")}function E2(e){for(var A=0,t=g2.length-1;A<=t;){var a=Math.floor((A+t)/2),r=g2[a];if(r[0][0]<=e&&r[0][1]>=e)return r;r[0][0]>e?t=a-1:A=a+1}return null}var TQ=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function Q2(e){return e.replace(TQ,"_").length}function VQ(e,A,t){for(var a=!1,r="",i=Q2(e),s=0;s<i;++s){var n=e.codePointAt(s),o=E2(n);switch(o[1]){case"disallowed":a=!0,r+=String.fromCodePoint(n);break;case"ignored":break;case"mapped":r+=String.fromCodePoint.apply(String,o[2]);break;case"deviation":t===w1.TRANSITIONAL?r+=String.fromCodePoint.apply(String,o[2]):r+=String.fromCodePoint(n);break;case"valid":r+=String.fromCodePoint(n);break;case"disallowed_STD3_mapped":A?(a=!0,r+=String.fromCodePoint(n)):r+=String.fromCodePoint.apply(String,o[2]);break;case"disallowed_STD3_valid":A&&(a=!0),r+=String.fromCodePoint(n);break}}return{string:r,error:a}}var YQ=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;function JQ(e,A){e.substr(0,4)==="xn--"&&(e=c2.toUnicode(e),A=w1.NONTRANSITIONAL);var t=!1;(u2(e)!==e||e[3]==="-"&&e[4]==="-"||e[0]==="-"||e[e.length-1]==="-"||e.indexOf(".")!==-1||e.search(YQ)===0)&&(t=!0);for(var a=Q2(e),r=0;r<a;++r){var i=E2(e.codePointAt(r));if(Or===w1.TRANSITIONAL&&i[1]!=="valid"||Or===w1.NONTRANSITIONAL&&i[1]!=="valid"&&i[1]!=="deviation"){t=!0;break}}return{label:e,error:t}}function Or(e,A,t){var a=VQ(e,A,t);a.string=u2(a.string);for(var r=a.string.split("."),i=0;i<r.length;++i)try{var s=JQ(r[i]);r[i]=s.label,a.error=a.error||s.error}catch{a.error=!0}return{string:r.join("."),error:a.error}}Pr.exports.toASCII=function(e,A,t,a){var r=Or(e,A,t),i=r.string.split(".");if(i=i.map(function(o){try{return c2.toASCII(o)}catch{return r.error=!0,o}}),a){var s=i.slice(0,i.length-1).join(".").length;(s.length>253||s.length===0)&&(r.error=!0);for(var n=0;n<i.length;++n)if(i.length>63||i.length===0){r.error=!0;break}}return r.error?null:i.join(".")};Pr.exports.toUnicode=function(e,A){var t=Or(e,A,w1.NONTRANSITIONAL);return{domain:t.string,error:t.error}};Pr.exports.PROCESSING_OPTIONS=w1});var JA=E((pN,Ke)=>{"use strict";var y1=require("punycode"),m2=C2(),f2={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443},J=Symbol("failure");function B2(e){return y1.ucs2.decode(e).length}function h2(e,A){let t=e[A];return isNaN(t)?void 0:String.fromCodePoint(t)}function Sa(e){return e>=48&&e<=57}function ka(e){return e>=65&&e<=90||e>=97&&e<=122}function GQ(e){return ka(e)||Sa(e)}function RA(e){return Sa(e)||e>=65&&e<=70||e>=97&&e<=102}function I2(e){return e==="."||e.toLowerCase()==="%2e"}function xQ(e){return e=e.toLowerCase(),e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function _Q(e,A){return ka(e)&&(A===58||A===124)}function w2(e){return e.length===2&&ka(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function qQ(e){return e.length===2&&ka(e.codePointAt(0))&&e[1]===":"}function HQ(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function OQ(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function yn(e){return f2[e]!==void 0}function Ce(e){return yn(e.scheme)}function PQ(e){return f2[e]}function y2(e){let A=e.toString(16).toUpperCase();return A.length===1&&(A="0"+A),"%"+A}function WQ(e){let A=new Buffer(e),t="";for(let a=0;a<A.length;++a)t+=y2(A[a]);return t}function ZQ(e){let A=new Buffer(e),t=[];for(let a=0;a<A.length;++a)A[a]!==37?t.push(A[a]):A[a]===37&&RA(A[a+1])&&RA(A[a+2])?(t.push(parseInt(A.slice(a+1,a+3).toString(),16)),a+=2):t.push(A[a]);return new Buffer(t).toString()}function Wr(e){return e<=31||e>126}var jQ=new Set([32,34,35,60,62,63,96,123,125]);function D2(e){return Wr(e)||jQ.has(e)}var XQ=new Set([47,58,59,61,64,91,92,93,94,124]);function Rn(e){return D2(e)||XQ.has(e)}function Pt(e,A){let t=String.fromCodePoint(e);return A(e)?WQ(t):t}function zQ(e){let A=10;return e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"?(e=e.substring(2),A=16):e.length>=2&&e.charAt(0)==="0"&&(e=e.substring(1),A=8),e===""?0:(A===10?/[^0-9]/:A===16?/[^0-9A-Fa-f]/:/[^0-7]/).test(e)?J:parseInt(e,A)}function KQ(e){let A=e.split(".");if(A[A.length-1]===""&&A.length>1&&A.pop(),A.length>4)return e;let t=[];for(let i of A){if(i==="")return e;let s=zQ(i);if(s===J)return e;t.push(s)}for(let i=0;i<t.length-1;++i)if(t[i]>255)return J;if(t[t.length-1]>=Math.pow(256,5-t.length))return J;let a=t.pop(),r=0;for(let i of t)a+=i*Math.pow(256,3-r),++r;return a}function $Q(e){let A="",t=e;for(let a=1;a<=4;++a)A=String(t%256)+A,a!==4&&(A="."+A),t=Math.floor(t/256);return A}function e8(e){let A=[0,0,0,0,0,0,0,0],t=0,a=null,r=0;if(e=y1.ucs2.decode(e),e[r]===58){if(e[r+1]!==58)return J;r+=2,++t,a=t}for(;r<e.length;){if(t===8)return J;if(e[r]===58){if(a!==null)return J;++r,++t,a=t;continue}let i=0,s=0;for(;s<4&&RA(e[r]);)i=i*16+parseInt(h2(e,r),16),++r,++s;if(e[r]===46){if(s===0||(r-=s,t>6))return J;let n=0;for(;e[r]!==void 0;){let o=null;if(n>0)if(e[r]===46&&n<4)++r;else return J;if(!Sa(e[r]))return J;for(;Sa(e[r]);){let d=parseInt(h2(e,r));if(o===null)o=d;else{if(o===0)return J;o=o*10+d}if(o>255)return J;++r}A[t]=A[t]*256+o,++n,(n===2||n===4)&&++t}if(n!==4)return J;break}else if(e[r]===58){if(++r,e[r]===void 0)return J}else if(e[r]!==void 0)return J;A[t]=i,++t}if(a!==null){let i=t-a;for(t=7;t!==0&&i>0;){let s=A[a+i-1];A[a+i-1]=A[t],A[t]=s,--t,--i}}else if(a===null&&t!==8)return J;return A}function A8(e){let A="",a=a8(e).idx,r=!1;for(let i=0;i<=7;++i)if(!(r&&e[i]===0)){if(r&&(r=!1),a===i){A+=i===0?"::":":",r=!0;continue}A+=e[i].toString(16),i!==7&&(A+=":")}return A}function Dn(e,A){if(e[0]==="[")return e[e.length-1]!=="]"?J:e8(e.substring(1,e.length-1));if(!A)return t8(e);let t=ZQ(e),a=m2.toASCII(t,!1,m2.PROCESSING_OPTIONS.NONTRANSITIONAL,!1);if(a===null||HQ(a))return J;let r=KQ(a);return typeof r=="number"||r===J?r:a}function t8(e){if(OQ(e))return J;let A="",t=y1.ucs2.decode(e);for(let a=0;a<t.length;++a)A+=Pt(t[a],Wr);return A}function a8(e){let A=null,t=1,a=null,r=0;for(let i=0;i<e.length;++i)e[i]!==0?(r>t&&(A=a,t=r),a=null,r=0):(a===null&&(a=i),++r);return r>t&&(A=a,t=r),{idx:A,len:t}}function vn(e){return typeof e=="number"?$Q(e):e instanceof Array?"["+A8(e)+"]":e}function r8(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function i8(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function R2(e){let A=e.path;A.length!==0&&(e.scheme==="file"&&A.length===1&&n8(A[0])||A.pop())}function v2(e){return e.username!==""||e.password!==""}function s8(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function n8(e){return/^[A-Za-z]:$/.test(e)}function se(e,A,t,a,r){if(this.pointer=0,this.input=e,this.base=A||null,this.encodingOverride=t||"utf-8",this.stateOverride=r,this.url=a,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:!1};let s=r8(this.input);s!==this.input&&(this.parseError=!0),this.input=s}let i=i8(this.input);for(i!==this.input&&(this.parseError=!0),this.input=i,this.state=r||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=y1.ucs2.decode(this.input);this.pointer<=this.input.length;++this.pointer){let s=this.input[this.pointer],n=isNaN(s)?void 0:String.fromCodePoint(s),o=this["parse "+this.state](s,n);if(o){if(o===J){this.failure=!0;break}}else break}}se.prototype["parse scheme start"]=function(A,t){if(ka(A))this.buffer+=t.toLowerCase(),this.state="scheme";else if(!this.stateOverride)this.state="no scheme",--this.pointer;else return this.parseError=!0,J;return!0};se.prototype["parse scheme"]=function(A,t){if(GQ(A)||A===43||A===45||A===46)this.buffer+=t.toLowerCase();else if(A===58){if(this.stateOverride&&(Ce(this.url)&&!yn(this.buffer)||!Ce(this.url)&&yn(this.buffer)||(v2(this.url)||this.url.port!==null)&&this.buffer==="file"||this.url.scheme==="file"&&(this.url.host===""||this.url.host===null))||(this.url.scheme=this.buffer,this.buffer="",this.stateOverride))return!1;this.url.scheme==="file"?((this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47)&&(this.parseError=!0),this.state="file"):Ce(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme?this.state="special relative or authority":Ce(this.url)?this.state="special authority slashes":this.input[this.pointer+1]===47?(this.state="path or authority",++this.pointer):(this.url.cannotBeABaseURL=!0,this.url.path.push(""),this.state="cannot-be-a-base-URL path")}else if(!this.stateOverride)this.buffer="",this.state="no scheme",this.pointer=-1;else return this.parseError=!0,J;return!0};se.prototype["parse no scheme"]=function(A){return this.base===null||this.base.cannotBeABaseURL&&A!==35?J:(this.base.cannotBeABaseURL&&A===35?(this.url.scheme=this.base.scheme,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.url.cannotBeABaseURL=!0,this.state="fragment"):this.base.scheme==="file"?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)};se.prototype["parse special relative or authority"]=function(A){return A===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0};se.prototype["parse path or authority"]=function(A){return A===47?this.state="authority":(this.state="path",--this.pointer),!0};se.prototype["parse relative"]=function(A){return this.url.scheme=this.base.scheme,isNaN(A)?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query):A===47?this.state="relative slash":A===63?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):A===35?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):Ce(this.url)&&A===92?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(0,this.base.path.length-1),this.state="path",--this.pointer),!0};se.prototype["parse relative slash"]=function(A){return Ce(this.url)&&(A===47||A===92)?(A===92&&(this.parseError=!0),this.state="special authority ignore slashes"):A===47?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer),!0};se.prototype["parse special authority slashes"]=function(A){return A===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0};se.prototype["parse special authority ignore slashes"]=function(A){return A!==47&&A!==92?(this.state="authority",--this.pointer):this.parseError=!0,!0};se.prototype["parse authority"]=function(A,t){if(A===64){this.parseError=!0,this.atFlag&&(this.buffer="%40"+this.buffer),this.atFlag=!0;let a=B2(this.buffer);for(let r=0;r<a;++r){let i=this.buffer.codePointAt(r);if(i===58&&!this.passwordTokenSeenFlag){this.passwordTokenSeenFlag=!0;continue}let s=Pt(i,Rn);this.passwordTokenSeenFlag?this.url.password+=s:this.url.username+=s}this.buffer=""}else if(isNaN(A)||A===47||A===63||A===35||Ce(this.url)&&A===92){if(this.atFlag&&this.buffer==="")return this.parseError=!0,J;this.pointer-=B2(this.buffer)+1,this.buffer="",this.state="host"}else this.buffer+=t;return!0};se.prototype["parse hostname"]=se.prototype["parse host"]=function(A,t){if(this.stateOverride&&this.url.scheme==="file")--this.pointer,this.state="file host";else if(A===58&&!this.arrFlag){if(this.buffer==="")return this.parseError=!0,J;let a=Dn(this.buffer,Ce(this.url));if(a===J)return J;if(this.url.host=a,this.buffer="",this.state="port",this.stateOverride==="hostname")return!1}else if(isNaN(A)||A===47||A===63||A===35||Ce(this.url)&&A===92){if(--this.pointer,Ce(this.url)&&this.buffer==="")return this.parseError=!0,J;if(this.stateOverride&&this.buffer===""&&(v2(this.url)||this.url.port!==null))return this.parseError=!0,!1;let a=Dn(this.buffer,Ce(this.url));if(a===J)return J;if(this.url.host=a,this.buffer="",this.state="path start",this.stateOverride)return!1}else A===91?this.arrFlag=!0:A===93&&(this.arrFlag=!1),this.buffer+=t;return!0};se.prototype["parse port"]=function(A,t){if(Sa(A))this.buffer+=t;else if(isNaN(A)||A===47||A===63||A===35||Ce(this.url)&&A===92||this.stateOverride){if(this.buffer!==""){let a=parseInt(this.buffer);if(a>Math.pow(2,16)-1)return this.parseError=!0,J;this.url.port=a===PQ(this.url.scheme)?null:a,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}else return this.parseError=!0,J;return!0};var o8=new Set([47,92,63,35]);se.prototype["parse file"]=function(A){return this.url.scheme="file",A===47||A===92?(A===92&&(this.parseError=!0),this.state="file slash"):this.base!==null&&this.base.scheme==="file"?isNaN(A)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):A===63?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):A===35?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1===0||!_Q(A,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!o8.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),R2(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0};se.prototype["parse file slash"]=function(A){return A===47||A===92?(A===92&&(this.parseError=!0),this.state="file host"):(this.base!==null&&this.base.scheme==="file"&&(qQ(this.base.path[0])?this.url.path.push(this.base.path[0]):this.url.host=this.base.host),this.state="path",--this.pointer),!0};se.prototype["parse file host"]=function(A,t){if(isNaN(A)||A===47||A===92||A===63||A===35)if(--this.pointer,!this.stateOverride&&w2(this.buffer))this.parseError=!0,this.state="path";else if(this.buffer===""){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let a=Dn(this.buffer,Ce(this.url));if(a===J)return J;if(a==="localhost"&&(a=""),this.url.host=a,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=t;return!0};se.prototype["parse path start"]=function(A){return Ce(this.url)?(A===92&&(this.parseError=!0),this.state="path",A!==47&&A!==92&&--this.pointer):!this.stateOverride&&A===63?(this.url.query="",this.state="query"):!this.stateOverride&&A===35?(this.url.fragment="",this.state="fragment"):A!==void 0&&(this.state="path",A!==47&&--this.pointer),!0};se.prototype["parse path"]=function(A){if(isNaN(A)||A===47||Ce(this.url)&&A===92||!this.stateOverride&&(A===63||A===35)){if(Ce(this.url)&&A===92&&(this.parseError=!0),xQ(this.buffer)?(R2(this.url),A!==47&&!(Ce(this.url)&&A===92)&&this.url.path.push("")):I2(this.buffer)&&A!==47&&!(Ce(this.url)&&A===92)?this.url.path.push(""):I2(this.buffer)||(this.url.scheme==="file"&&this.url.path.length===0&&w2(this.buffer)&&(this.url.host!==""&&this.url.host!==null&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)),this.buffer="",this.url.scheme==="file"&&(A===void 0||A===63||A===35))for(;this.url.path.length>1&&this.url.path[0]==="";)this.parseError=!0,this.url.path.shift();A===63&&(this.url.query="",this.state="query"),A===35&&(this.url.fragment="",this.state="fragment")}else A===37&&(!RA(this.input[this.pointer+1])||!RA(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=Pt(A,D2);return!0};se.prototype["parse cannot-be-a-base-URL path"]=function(A){return A===63?(this.url.query="",this.state="query"):A===35?(this.url.fragment="",this.state="fragment"):(!isNaN(A)&&A!==37&&(this.parseError=!0),A===37&&(!RA(this.input[this.pointer+1])||!RA(this.input[this.pointer+2]))&&(this.parseError=!0),isNaN(A)||(this.url.path[0]=this.url.path[0]+Pt(A,Wr))),!0};se.prototype["parse query"]=function(A,t){if(isNaN(A)||!this.stateOverride&&A===35){(!Ce(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss")&&(this.encodingOverride="utf-8");let a=new Buffer(this.buffer);for(let r=0;r<a.length;++r)a[r]<33||a[r]>126||a[r]===34||a[r]===35||a[r]===60||a[r]===62?this.url.query+=y2(a[r]):this.url.query+=String.fromCodePoint(a[r]);this.buffer="",A===35&&(this.url.fragment="",this.state="fragment")}else A===37&&(!RA(this.input[this.pointer+1])||!RA(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=t;return!0};se.prototype["parse fragment"]=function(A){return isNaN(A)||(A===0?this.parseError=!0:(A===37&&(!RA(this.input[this.pointer+1])||!RA(this.input[this.pointer+2]))&&(this.parseError=!0),this.url.fragment+=Pt(A,Wr))),!0};function d8(e,A){let t=e.scheme+":";if(e.host!==null?(t+="//",(e.username!==""||e.password!=="")&&(t+=e.username,e.password!==""&&(t+=":"+e.password),t+="@"),t+=vn(e.host),e.port!==null&&(t+=":"+e.port)):e.host===null&&e.scheme==="file"&&(t+="//"),e.cannotBeABaseURL)t+=e.path[0];else for(let a of e.path)t+="/"+a;return e.query!==null&&(t+="?"+e.query),!A&&e.fragment!==null&&(t+="#"+e.fragment),t}function p8(e){let A=e.scheme+"://";return A+=vn(e.host),e.port!==null&&(A+=":"+e.port),A}Ke.exports.serializeURL=d8;Ke.exports.serializeURLOrigin=function(e){switch(e.scheme){case"blob":try{return Ke.exports.serializeURLOrigin(Ke.exports.parseURL(e.path[0]))}catch{return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return p8({scheme:e.scheme,host:e.host,port:e.port});case"file":return"file://";default:return"null"}};Ke.exports.basicURLParse=function(e,A){A===void 0&&(A={});let t=new se(e,A.baseURL,A.encodingOverride,A.url,A.stateOverride);return t.failure?"failure":t.url};Ke.exports.setTheUsername=function(e,A){e.username="";let t=y1.ucs2.decode(A);for(let a=0;a<t.length;++a)e.username+=Pt(t[a],Rn)};Ke.exports.setThePassword=function(e,A){e.password="";let t=y1.ucs2.decode(A);for(let a=0;a<t.length;++a)e.password+=Pt(t[a],Rn)};Ke.exports.serializeHost=vn;Ke.exports.cannotHaveAUsernamePasswordPort=s8;Ke.exports.serializeInteger=function(e){return String(e)};Ke.exports.parseURL=function(e,A){return A===void 0&&(A={}),Ke.exports.basicURLParse(e,{baseURL:A.baseURL,encodingOverride:A.encodingOverride})}});var b2=E(N2=>{"use strict";var ne=JA();N2.implementation=class{constructor(A){let t=A[0],a=A[1],r=null;if(a!==void 0&&(r=ne.basicURLParse(a),r==="failure"))throw new TypeError("Invalid base URL");let i=ne.basicURLParse(t,{baseURL:r});if(i==="failure")throw new TypeError("Invalid URL");this._url=i}get href(){return ne.serializeURL(this._url)}set href(A){let t=ne.basicURLParse(A);if(t==="failure")throw new TypeError("Invalid URL");this._url=t}get origin(){return ne.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(A){ne.basicURLParse(A+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(A){ne.cannotHaveAUsernamePasswordPort(this._url)||ne.setTheUsername(this._url,A)}get password(){return this._url.password}set password(A){ne.cannotHaveAUsernamePasswordPort(this._url)||ne.setThePassword(this._url,A)}get host(){let A=this._url;return A.host===null?"":A.port===null?ne.serializeHost(A.host):ne.serializeHost(A.host)+":"+ne.serializeInteger(A.port)}set host(A){this._url.cannotBeABaseURL||ne.basicURLParse(A,{url:this._url,stateOverride:"host"})}get hostname(){return this._url.host===null?"":ne.serializeHost(this._url.host)}set hostname(A){this._url.cannotBeABaseURL||ne.basicURLParse(A,{url:this._url,stateOverride:"hostname"})}get port(){return this._url.port===null?"":ne.serializeInteger(this._url.port)}set port(A){ne.cannotHaveAUsernamePasswordPort(this._url)||(A===""?this._url.port=null:ne.basicURLParse(A,{url:this._url,stateOverride:"port"}))}get pathname(){return this._url.cannotBeABaseURL?this._url.path[0]:this._url.path.length===0?"":"/"+this._url.path.join("/")}set pathname(A){this._url.cannotBeABaseURL||(this._url.path=[],ne.basicURLParse(A,{url:this._url,stateOverride:"path start"}))}get search(){return this._url.query===null||this._url.query===""?"":"?"+this._url.query}set search(A){let t=this._url;if(A===""){t.query=null;return}let a=A[0]==="?"?A.substring(1):A;t.query="",ne.basicURLParse(a,{url:t,stateOverride:"query"})}get hash(){return this._url.fragment===null||this._url.fragment===""?"":"#"+this._url.fragment}set hash(A){if(A===""){this._url.fragment=null;return}let t=A[0]==="#"?A.substring(1):A;this._url.fragment="",ne.basicURLParse(t,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}});var F2=E((cN,Fa)=>{"use strict";var gA=d2(),k2=p2(),S2=b2(),j=k2.implSymbol;function Ie(e){if(!this||this[j]||!(this instanceof Ie))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");let A=[];for(let t=0;t<arguments.length&&t<2;++t)A[t]=arguments[t];A[0]=gA.USVString(A[0]),A[1]!==void 0&&(A[1]=gA.USVString(A[1])),Fa.exports.setup(this,A)}Ie.prototype.toJSON=function(){if(!this||!Fa.exports.is(this))throw new TypeError("Illegal invocation");let A=[];for(let t=0;t<arguments.length&&t<0;++t)A[t]=arguments[t];return this[j].toJSON.apply(this[j],A)};Object.defineProperty(Ie.prototype,"href",{get(){return this[j].href},set(e){e=gA.USVString(e),this[j].href=e},enumerable:!0,configurable:!0});Ie.prototype.toString=function(){if(!this||!Fa.exports.is(this))throw new TypeError("Illegal invocation");return this.href};Object.defineProperty(Ie.prototype,"origin",{get(){return this[j].origin},enumerable:!0,configurable:!0});Object.defineProperty(Ie.prototype,"protocol",{get(){return this[j].protocol},set(e){e=gA.USVString(e),this[j].protocol=e},enumerable:!0,configurable:!0});Object.defineProperty(Ie.prototype,"username",{get(){return this[j].username},set(e){e=gA.USVString(e),this[j].username=e},enumerable:!0,configurable:!0});Object.defineProperty(Ie.prototype,"password",{get(){return this[j].password},set(e){e=gA.USVString(e),this[j].password=e},enumerable:!0,configurable:!0});Object.defineProperty(Ie.prototype,"host",{get(){return this[j].host},set(e){e=gA.USVString(e),this[j].host=e},enumerable:!0,configurable:!0});Object.defineProperty(Ie.prototype,"hostname",{get(){return this[j].hostname},set(e){e=gA.USVString(e),this[j].hostname=e},enumerable:!0,configurable:!0});Object.defineProperty(Ie.prototype,"port",{get(){return this[j].port},set(e){e=gA.USVString(e),this[j].port=e},enumerable:!0,configurable:!0});Object.defineProperty(Ie.prototype,"pathname",{get(){return this[j].pathname},set(e){e=gA.USVString(e),this[j].pathname=e},enumerable:!0,configurable:!0});Object.defineProperty(Ie.prototype,"search",{get(){return this[j].search},set(e){e=gA.USVString(e),this[j].search=e},enumerable:!0,configurable:!0});Object.defineProperty(Ie.prototype,"hash",{get(){return this[j].hash},set(e){e=gA.USVString(e),this[j].hash=e},enumerable:!0,configurable:!0});Fa.exports={is(e){return!!e&&e[j]instanceof S2.implementation},create(e,A){let t=Object.create(Ie.prototype);return this.setup(t,e,A),t},setup(e,A,t){t||(t={}),t.wrapper=e,e[j]=new S2.implementation(A,t),e[j][k2.wrapperSymbol]=e},interface:Ie,expose:{Window:{URL:Ie},Worker:{URL:Ie}}}});var U2=E(GA=>{"use strict";GA.URL=F2().interface;GA.serializeURL=JA().serializeURL;GA.serializeURLOrigin=JA().serializeURLOrigin;GA.basicURLParse=JA().basicURLParse;GA.setTheUsername=JA().setTheUsername;GA.setThePassword=JA().setThePassword;GA.serializeHost=JA().serializeHost;GA.serializeInteger=JA().serializeInteger;GA.parseURL=JA().parseURL});var O2=E((xA,H2)=>{"use strict";Object.defineProperty(xA,"__esModule",{value:!0});function v1(e){return e&&typeof e=="object"&&"default"in e?e.default:e}var vA=v1(require("stream")),V2=v1(require("http")),jr=v1(require("url")),Y2=v1(U2()),l8=v1(require("https")),Wt=v1(require("zlib")),g8=vA.Readable,tt=Symbol("buffer"),Nn=Symbol("type"),La=class e{constructor(){this[Nn]="";let A=arguments[0],t=arguments[1],a=[],r=0;if(A){let s=A,n=Number(s.length);for(let o=0;o<n;o++){let d=s[o],l;d instanceof Buffer?l=d:ArrayBuffer.isView(d)?l=Buffer.from(d.buffer,d.byteOffset,d.byteLength):d instanceof ArrayBuffer?l=Buffer.from(d):d instanceof e?l=d[tt]:l=Buffer.from(typeof d=="string"?d:String(d)),r+=l.length,a.push(l)}}this[tt]=Buffer.concat(a);let i=t&&t.type!==void 0&&String(t.type).toLowerCase();i&&!/[^\u0020-\u007E]/.test(i)&&(this[Nn]=i)}get size(){return this[tt].length}get type(){return this[Nn]}text(){return Promise.resolve(this[tt].toString())}arrayBuffer(){let A=this[tt],t=A.buffer.slice(A.byteOffset,A.byteOffset+A.byteLength);return Promise.resolve(t)}stream(){let A=new g8;return A._read=function(){},A.push(this[tt]),A.push(null),A}toString(){return"[object Blob]"}slice(){let A=this.size,t=arguments[0],a=arguments[1],r,i;t===void 0?r=0:t<0?r=Math.max(A+t,0):r=Math.min(t,A),a===void 0?i=A:a<0?i=Math.max(A+a,0):i=Math.min(a,A);let s=Math.max(i-r,0),o=this[tt].slice(r,r+s),d=new e([],{type:arguments[2]});return d[tt]=o,d}};Object.defineProperties(La.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Object.defineProperty(La.prototype,Symbol.toStringTag,{value:"Blob",writable:!1,enumerable:!1,configurable:!0});function ve(e,A,t){Error.call(this,e),this.message=e,this.type=A,t&&(this.code=this.errno=t.code),Error.captureStackTrace(this,this.constructor)}ve.prototype=Object.create(Error.prototype);ve.prototype.constructor=ve;ve.prototype.name="FetchError";var Fn;try{Fn=require("encoding").convert}catch{}var rt=Symbol("Body internals"),L2=vA.PassThrough;function fe(e){var A=this,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=t.size;let r=a===void 0?0:a;var i=t.timeout;let s=i===void 0?0:i;e==null?e=null:J2(e)?e=Buffer.from(e.toString()):Va(e)||Buffer.isBuffer(e)||(Object.prototype.toString.call(e)==="[object ArrayBuffer]"?e=Buffer.from(e):ArrayBuffer.isView(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof vA||(e=Buffer.from(String(e)))),this[rt]={body:e,disturbed:!1,error:null},this.size=r,this.timeout=s,e instanceof vA&&e.on("error",function(n){let o=n.name==="AbortError"?n:new ve(`Invalid response body while trying to fetch ${A.url}: ${n.message}`,"system",n);A[rt].error=o})}fe.prototype={get body(){return this[rt].body},get bodyUsed(){return this[rt].disturbed},arrayBuffer(){return D1.call(this).then(function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)})},blob(){let e=this.headers&&this.headers.get("content-type")||"";return D1.call(this).then(function(A){return Object.assign(new La([],{type:e.toLowerCase()}),{[tt]:A})})},json(){var e=this;return D1.call(this).then(function(A){try{return JSON.parse(A.toString())}catch(t){return fe.Promise.reject(new ve(`invalid json response body at ${e.url} reason: ${t.message}`,"invalid-json"))}})},text(){return D1.call(this).then(function(e){return e.toString()})},buffer(){return D1.call(this)},textConverted(){var e=this;return D1.call(this).then(function(A){return c8(A,e.headers)})}};Object.defineProperties(fe.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}});fe.mixIn=function(e){for(let A of Object.getOwnPropertyNames(fe.prototype))if(!(A in e)){let t=Object.getOwnPropertyDescriptor(fe.prototype,A);Object.defineProperty(e,A,t)}};function D1(){var e=this;if(this[rt].disturbed)return fe.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[rt].disturbed=!0,this[rt].error)return fe.Promise.reject(this[rt].error);let A=this.body;if(A===null)return fe.Promise.resolve(Buffer.alloc(0));if(Va(A)&&(A=A.stream()),Buffer.isBuffer(A))return fe.Promise.resolve(A);if(!(A instanceof vA))return fe.Promise.resolve(Buffer.alloc(0));let t=[],a=0,r=!1;return new fe.Promise(function(i,s){let n;e.timeout&&(n=setTimeout(function(){r=!0,s(new ve(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))},e.timeout)),A.on("error",function(o){o.name==="AbortError"?(r=!0,s(o)):s(new ve(`Invalid response body while trying to fetch ${e.url}: ${o.message}`,"system",o))}),A.on("data",function(o){if(!(r||o===null)){if(e.size&&a+o.length>e.size){r=!0,s(new ve(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}a+=o.length,t.push(o)}}),A.on("end",function(){if(!r){clearTimeout(n);try{i(Buffer.concat(t,a))}catch(o){s(new ve(`Could not create Buffer from response body for ${e.url}: ${o.message}`,"system",o))}}})})}function c8(e,A){if(typeof Fn!="function")throw new Error("The package `encoding` must be installed to use the textConverted() function");let t=A.get("content-type"),a="utf-8",r,i;return t&&(r=/charset=([^;]*)/i.exec(t)),i=e.slice(0,1024).toString(),!r&&i&&(r=/<meta.+?charset=(['"])(.+?)\1/i.exec(i)),!r&&i&&(r=/<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(i),r||(r=/<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(i),r&&r.pop()),r&&(r=/charset=(.*)/i.exec(r.pop()))),!r&&i&&(r=/<\?xml.+?encoding=(['"])(.+?)\1/i.exec(i)),r&&(a=r.pop(),(a==="gb2312"||a==="gbk")&&(a="gb18030")),Fn(e,"UTF-8",a).toString()}function J2(e){return typeof e!="object"||typeof e.append!="function"||typeof e.delete!="function"||typeof e.get!="function"||typeof e.getAll!="function"||typeof e.has!="function"||typeof e.set!="function"?!1:e.constructor.name==="URLSearchParams"||Object.prototype.toString.call(e)==="[object URLSearchParams]"||typeof e.sort=="function"}function Va(e){return typeof e=="object"&&typeof e.arrayBuffer=="function"&&typeof e.type=="string"&&typeof e.stream=="function"&&typeof e.constructor=="function"&&typeof e.constructor.name=="string"&&/^(Blob|File)$/.test(e.constructor.name)&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function G2(e){let A,t,a=e.body;if(e.bodyUsed)throw new Error("cannot clone body after it is used");return a instanceof vA&&typeof a.getBoundary!="function"&&(A=new L2,t=new L2,a.pipe(A),a.pipe(t),e[rt].body=A,a=t),a}function x2(e){return e===null?null:typeof e=="string"?"text/plain;charset=UTF-8":J2(e)?"application/x-www-form-urlencoded;charset=UTF-8":Va(e)?e.type||null:Buffer.isBuffer(e)||Object.prototype.toString.call(e)==="[object ArrayBuffer]"||ArrayBuffer.isView(e)?null:typeof e.getBoundary=="function"?`multipart/form-data;boundary=${e.getBoundary()}`:e instanceof vA?null:"text/plain;charset=UTF-8"}function _2(e){let A=e.body;return A===null?0:Va(A)?A.size:Buffer.isBuffer(A)?A.length:A&&typeof A.getLengthSync=="function"&&(A._lengthRetrievers&&A._lengthRetrievers.length==0||A.hasKnownLength&&A.hasKnownLength())?A.getLengthSync():null}function u8(e,A){let t=A.body;t===null?e.end():Va(t)?t.stream().pipe(e):Buffer.isBuffer(t)?(e.write(t),e.end()):t.pipe(e)}fe.Promise=global.Promise;var q2=/[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/,Un=/[^\t\x20-\x7e\x80-\xff]/;function Ua(e){if(e=`${e}`,q2.test(e)||e==="")throw new TypeError(`${e} is not a legal HTTP header name`)}function M2(e){if(e=`${e}`,Un.test(e))throw new TypeError(`${e} is not a legal HTTP header value`)}function R1(e,A){A=A.toLowerCase();for(let t in e)if(t.toLowerCase()===A)return t}var pe=Symbol("map"),uA=class e{constructor(){let A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0;if(this[pe]=Object.create(null),A instanceof e){let t=A.raw(),a=Object.keys(t);for(let r of a)for(let i of t[r])this.append(r,i);return}if(A!=null)if(typeof A=="object"){let t=A[Symbol.iterator];if(t!=null){if(typeof t!="function")throw new TypeError("Header pairs must be iterable");let a=[];for(let r of A){if(typeof r!="object"||typeof r[Symbol.iterator]!="function")throw new TypeError("Each header pair must be iterable");a.push(Array.from(r))}for(let r of a){if(r.length!==2)throw new TypeError("Each header pair must be a name/value tuple");this.append(r[0],r[1])}}else for(let a of Object.keys(A)){let r=A[a];this.append(a,r)}}else throw new TypeError("Provided initializer must be an object")}get(A){A=`${A}`,Ua(A);let t=R1(this[pe],A);return t===void 0?null:this[pe][t].join(", ")}forEach(A){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,a=Ln(this),r=0;for(;r<a.length;){var i=a[r];let s=i[0],n=i[1];A.call(t,n,s,this),a=Ln(this),r++}}set(A,t){A=`${A}`,t=`${t}`,Ua(A),M2(t);let a=R1(this[pe],A);this[pe][a!==void 0?a:A]=[t]}append(A,t){A=`${A}`,t=`${t}`,Ua(A),M2(t);let a=R1(this[pe],A);a!==void 0?this[pe][a].push(t):this[pe][A]=[t]}has(A){return A=`${A}`,Ua(A),R1(this[pe],A)!==void 0}delete(A){A=`${A}`,Ua(A);let t=R1(this[pe],A);t!==void 0&&delete this[pe][t]}raw(){return this[pe]}keys(){return bn(this,"key")}values(){return bn(this,"value")}[Symbol.iterator](){return bn(this,"key+value")}};uA.prototype.entries=uA.prototype[Symbol.iterator];Object.defineProperty(uA.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(uA.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});function Ln(e){let A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key+value";return Object.keys(e[pe]).sort().map(A==="key"?function(a){return a.toLowerCase()}:A==="value"?function(a){return e[pe][a].join(", ")}:function(a){return[a.toLowerCase(),e[pe][a].join(", ")]})}var Mn=Symbol("internal");function bn(e,A){let t=Object.create(Tn);return t[Mn]={target:e,kind:A,index:0},t}var Tn=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==Tn)throw new TypeError("Value of `this` is not a HeadersIterator");var e=this[Mn];let A=e.target,t=e.kind,a=e.index,r=Ln(A,t),i=r.length;return a>=i?{value:void 0,done:!0}:(this[Mn].index=a+1,{value:r[a],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(Tn,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});function E8(e){let A=Object.assign({__proto__:null},e[pe]),t=R1(e[pe],"Host");return t!==void 0&&(A[t]=A[t][0]),A}function Q8(e){let A=new uA;for(let t of Object.keys(e))if(!q2.test(t))if(Array.isArray(e[t]))for(let a of e[t])Un.test(a)||(A[pe][t]===void 0?A[pe][t]=[a]:A[pe][t].push(a));else Un.test(e[t])||(A[pe][t]=[e[t]]);return A}var wt=Symbol("Response internals"),C8=V2.STATUS_CODES,cA=class e{constructor(){let A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};fe.call(this,A,t);let a=t.status||200,r=new uA(t.headers);if(A!=null&&!r.has("Content-Type")){let i=x2(A);i&&r.append("Content-Type",i)}this[wt]={url:t.url,status:a,statusText:t.statusText||C8[a],headers:r,counter:t.counter}}get url(){return this[wt].url||""}get status(){return this[wt].status}get ok(){return this[wt].status>=200&&this[wt].status<300}get redirected(){return this[wt].counter>0}get statusText(){return this[wt].statusText}get headers(){return this[wt].headers}clone(){return new e(G2(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}};fe.mixIn(cA.prototype);Object.defineProperties(cA.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});Object.defineProperty(cA.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});var at=Symbol("Request internals"),m8=jr.URL||Y2.URL,B8=jr.parse,h8=jr.format;function Sn(e){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)&&(e=new m8(e).toString()),B8(e)}var I8="destroy"in vA.Readable.prototype;function Zr(e){return typeof e=="object"&&typeof e[at]=="object"}function f8(e){let A=e&&typeof e=="object"&&Object.getPrototypeOf(e);return!!(A&&A.constructor.name==="AbortSignal")}var Dt=class e{constructor(A){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a;Zr(A)?a=Sn(A.url):(A&&A.href?a=Sn(A.href):a=Sn(`${A}`),A={});let r=t.method||A.method||"GET";if(r=r.toUpperCase(),(t.body!=null||Zr(A)&&A.body!==null)&&(r==="GET"||r==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let i=t.body!=null?t.body:Zr(A)&&A.body!==null?G2(A):null;fe.call(this,i,{timeout:t.timeout||A.timeout||0,size:t.size||A.size||0});let s=new uA(t.headers||A.headers||{});if(i!=null&&!s.has("Content-Type")){let o=x2(i);o&&s.append("Content-Type",o)}let n=Zr(A)?A.signal:null;if("signal"in t&&(n=t.signal),n!=null&&!f8(n))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[at]={method:r,redirect:t.redirect||A.redirect||"follow",headers:s,parsedURL:a,signal:n},this.follow=t.follow!==void 0?t.follow:A.follow!==void 0?A.follow:20,this.compress=t.compress!==void 0?t.compress:A.compress!==void 0?A.compress:!0,this.counter=t.counter||A.counter||0,this.agent=t.agent||A.agent}get method(){return this[at].method}get url(){return h8(this[at].parsedURL)}get headers(){return this[at].headers}get redirect(){return this[at].redirect}get signal(){return this[at].signal}clone(){return new e(this)}};fe.mixIn(Dt.prototype);Object.defineProperty(Dt.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(Dt.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}});function w8(e){let A=e[at].parsedURL,t=new uA(e[at].headers);if(t.has("Accept")||t.set("Accept","*/*"),!A.protocol||!A.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(A.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(e.signal&&e.body instanceof vA.Readable&&!I8)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let a=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)&&(a="0"),e.body!=null){let i=_2(e);typeof i=="number"&&(a=String(i))}a&&t.set("Content-Length",a),t.has("User-Agent")||t.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),e.compress&&!t.has("Accept-Encoding")&&t.set("Accept-Encoding","gzip,deflate");let r=e.agent;return typeof r=="function"&&(r=r(A)),!t.has("Connection")&&!r&&t.set("Connection","close"),Object.assign({},A,{method:e.method,headers:E8(t),agent:r})}function Ma(e){Error.call(this,e),this.type="aborted",this.message=e,Error.captureStackTrace(this,this.constructor)}Ma.prototype=Object.create(Error.prototype);Ma.prototype.constructor=Ma;Ma.prototype.name="AbortError";var Ta=jr.URL||Y2.URL,T2=vA.PassThrough,y8=function(A,t){let a=new Ta(t).hostname,r=new Ta(A).hostname;return a===r||a[a.length-r.length-1]==="."&&a.endsWith(r)},D8=function(A,t){let a=new Ta(t).protocol,r=new Ta(A).protocol;return a===r};function yt(e,A){if(!yt.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return fe.Promise=yt.Promise,new yt.Promise(function(t,a){let r=new Dt(e,A),i=w8(r),s=(i.protocol==="https:"?l8:V2).request,n=r.signal,o=null,d=function(){let Q=new Ma("The user aborted a request.");a(Q),r.body&&r.body instanceof vA.Readable&&kn(r.body,Q),!(!o||!o.body)&&o.body.emit("error",Q)};if(n&&n.aborted){d();return}let l=function(){d(),c()},p=s(i),g;n&&n.addEventListener("abort",l);function c(){p.abort(),n&&n.removeEventListener("abort",l),clearTimeout(g)}r.timeout&&p.once("socket",function(u){g=setTimeout(function(){a(new ve(`network timeout at: ${r.url}`,"request-timeout")),c()},r.timeout)}),p.on("error",function(u){a(new ve(`request to ${r.url} failed, reason: ${u.message}`,"system",u)),o&&o.body&&kn(o.body,u),c()}),R8(p,function(u){n&&n.aborted||o&&o.body&&kn(o.body,u)}),parseInt(process.version.substring(1))<14&&p.on("socket",function(u){u.addListener("close",function(Q){let m=u.listenerCount("data")>0;if(o&&m&&!Q&&!(n&&n.aborted)){let C=new Error("Premature close");C.code="ERR_STREAM_PREMATURE_CLOSE",o.body.emit("error",C)}})}),p.on("response",function(u){clearTimeout(g);let Q=Q8(u.headers);if(yt.isRedirect(u.statusCode)){let I=Q.get("Location"),y=null;try{y=I===null?null:new Ta(I,r.url).toString()}catch{if(r.redirect!=="manual"){a(new ve(`uri requested responds with an invalid redirect URL: ${I}`,"invalid-redirect")),c();return}}switch(r.redirect){case"error":a(new ve(`uri requested responds with a redirect, redirect mode is set to error: ${r.url}`,"no-redirect")),c();return;case"manual":if(y!==null)try{Q.set("Location",y)}catch(F){a(F)}break;case"follow":if(y===null)break;if(r.counter>=r.follow){a(new ve(`maximum redirect reached at: ${r.url}`,"max-redirect")),c();return}let b={headers:new uA(r.headers),follow:r.follow,counter:r.counter+1,agent:r.agent,compress:r.compress,method:r.method,body:r.body,signal:r.signal,timeout:r.timeout,size:r.size};if(!y8(r.url,y)||!D8(r.url,y))for(let F of["authorization","www-authenticate","cookie","cookie2"])b.headers.delete(F);if(u.statusCode!==303&&r.body&&_2(r)===null){a(new ve("Cannot follow redirect with body being a readable stream","unsupported-redirect")),c();return}(u.statusCode===303||(u.statusCode===301||u.statusCode===302)&&r.method==="POST")&&(b.method="GET",b.body=void 0,b.headers.delete("content-length")),t(yt(new Dt(y,b))),c();return}}u.once("end",function(){n&&n.removeEventListener("abort",l)});let m=u.pipe(new T2),C={url:r.url,status:u.statusCode,statusText:u.statusMessage,headers:Q,size:r.size,timeout:r.timeout,counter:r.counter},B=Q.get("Content-Encoding");if(!r.compress||r.method==="HEAD"||B===null||u.statusCode===204||u.statusCode===304){o=new cA(m,C),t(o);return}let w={flush:Wt.Z_SYNC_FLUSH,finishFlush:Wt.Z_SYNC_FLUSH};if(B=="gzip"||B=="x-gzip"){m=m.pipe(Wt.createGunzip(w)),o=new cA(m,C),t(o);return}if(B=="deflate"||B=="x-deflate"){let I=u.pipe(new T2);I.once("data",function(y){(y[0]&15)===8?m=m.pipe(Wt.createInflate()):m=m.pipe(Wt.createInflateRaw()),o=new cA(m,C),t(o)}),I.on("end",function(){o||(o=new cA(m,C),t(o))});return}if(B=="br"&&typeof Wt.createBrotliDecompress=="function"){m=m.pipe(Wt.createBrotliDecompress()),o=new cA(m,C),t(o);return}o=new cA(m,C),t(o)}),u8(p,r)})}function R8(e,A){let t;e.on("socket",function(a){t=a}),e.on("response",function(a){let r=a.headers;r["transfer-encoding"]==="chunked"&&!r["content-length"]&&a.once("close",function(i){if(t&&t.listenerCount("data")>0&&!i){let n=new Error("Premature close");n.code="ERR_STREAM_PREMATURE_CLOSE",A(n)}})})}function kn(e,A){e.destroy?e.destroy(A):(e.emit("error",A),e.end())}yt.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};yt.Promise=global.Promise;H2.exports=xA=yt;Object.defineProperty(xA,"__esModule",{value:!0});xA.default=xA;xA.Headers=uA;xA.Request=Dt;xA.Response=cA;xA.FetchError=ve});var W2=E((Zt,P2)=>{var Ya=O2(),v8=Ya.default||Ya,Xr=function(e,A){return/^\/\//.test(e)&&(e="https:"+e),v8.call(this,e,A)};Xr.ponyfill=!0;P2.exports=Zt=Xr;Zt.fetch=Xr;Zt.Headers=Ya.Headers;Zt.Request=Ya.Request;Zt.Response=Ya.Response;Zt.default=Xr});var X2=E(N1=>{"use strict";var j2=N1&&N1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(N1,"__esModule",{value:!0});N1.useFetch=void 0;var Z2=require("react"),N8=j2(t2()),b8=j2(s2()),S8=qr(),k8=At(),F8=W2();function U8(e){if(e){let A=b8.default.parse(e),t=N8.default.parse(A.type);if(t.subtype==="json"||t.suffix==="json"||t.suffix&&/\bjson\b/i.test(t.suffix)||t.subtype&&/\bjson\b/i.test(t.subtype))return!0}return!1}async function L8(e){if(!e.ok)throw new Error(e.statusText);let A=e.headers.get("content-type");return A&&U8(A)?await e.json():await e.text()}function M8(e,A){let{parseResponse:t,initialData:a,execute:r,keepPreviousData:i,onError:s,onData:n,onWillExecute:o,...d}=A||{},l={initialData:a,execute:r,keepPreviousData:i,onError:s,onData:n,onWillExecute:o},p=(0,k8.useLatest)(t||L8),g=(0,Z2.useRef)(),c=(0,Z2.useCallback)(async(u,Q)=>{let m=await(0,F8.fetch)(u,{signal:g.current?.signal,...Q});return await p.current(m)},[p]);return(0,S8.useCachedPromise)(c,[e,d],{...l,abortable:g})}N1.useFetch=M8});var z2=E(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.signals=void 0;jt.signals=[];jt.signals.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&jt.signals.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&jt.signals.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});var K2=E(_A=>{"use strict";var zr;Object.defineProperty(_A,"__esModule",{value:!0});_A.unload=_A.load=_A.onExit=_A.signals=void 0;var Kr=z2();Object.defineProperty(_A,"signals",{enumerable:!0,get:function(){return Kr.signals}});var $r=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",Vn=Symbol.for("signal-exit emitter"),Yn=globalThis,T8=Object.defineProperty.bind(Object),Jn=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Yn[Vn])return Yn[Vn];T8(Yn,Vn,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(A,t){this.listeners[A].push(t)}removeListener(A,t){let a=this.listeners[A],r=a.indexOf(t);r!==-1&&(r===0&&a.length===1?a.length=0:a.splice(r,1))}emit(A,t,a){if(this.emitted[A])return!1;this.emitted[A]=!0;let r=!1;for(let i of this.listeners[A])r=i(t,a)===!0||r;return A==="exit"&&(r=this.emit("afterExit",t,a)||r),r}},ei=class{},V8=e=>({onExit(A,t){return e.onExit(A,t)},load(){return e.load()},unload(){return e.unload()}}),Gn=class extends ei{onExit(){return()=>{}}load(){}unload(){}},xn=class extends ei{#e=_n.platform==="win32"?"SIGINT":"SIGHUP";#a=new Jn;#A;#t;#r;#s={};#i=!1;constructor(A){super(),this.#A=A,this.#s={};for(let t of Kr.signals)this.#s[t]=()=>{let a=this.#A.listeners(t),{count:r}=this.#a,i=A;if(typeof i.__signal_exit_emitter__=="object"&&typeof i.__signal_exit_emitter__.count=="number"&&(r+=i.__signal_exit_emitter__.count),a.length===r){this.unload();let s=this.#a.emit("exit",null,t),n=t==="SIGHUP"?this.#e:t;s||A.kill(A.pid,n)}};this.#r=A.reallyExit,this.#t=A.emit}onExit(A,t){if(!$r(this.#A))return()=>{};this.#i===!1&&this.load();let a=t?.alwaysLast?"afterExit":"exit";return this.#a.on(a,A),()=>{this.#a.removeListener(a,A),this.#a.listeners.exit.length===0&&this.#a.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#i){this.#i=!0,this.#a.count+=1;for(let A of Kr.signals)try{let t=this.#s[A];t&&this.#A.on(A,t)}catch{}this.#A.emit=(A,...t)=>this.#o(A,...t),this.#A.reallyExit=A=>this.#n(A)}}unload(){this.#i&&(this.#i=!1,Kr.signals.forEach(A=>{let t=this.#s[A];if(!t)throw new Error("Listener not defined for signal: "+A);try{this.#A.removeListener(A,t)}catch{}}),this.#A.emit=this.#t,this.#A.reallyExit=this.#r,this.#a.count-=1)}#n(A){return $r(this.#A)?(this.#A.exitCode=A||0,this.#a.emit("exit",this.#A.exitCode,null),this.#r.call(this.#A,this.#A.exitCode)):0}#o(A,...t){let a=this.#t;if(A==="exit"&&$r(this.#A)){typeof t[0]=="number"&&(this.#A.exitCode=t[0]);let r=a.call(this.#A,A,...t);return this.#a.emit("exit",this.#A.exitCode,null),r}else return a.call(this.#A,A,...t)}},_n=globalThis.process;zr=V8($r(_n)?new xn(_n):new Gn),_A.onExit=zr.onExit,_A.load=zr.load,_A.unload=zr.unload});var Ai=E(EA=>{"use strict";var Y8=EA&&EA.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(EA,"__esModule",{value:!0});EA.defaultParsing=EA.handleOutput=EA.getSpawnedResult=EA.getSpawnedPromise=void 0;var J8=require("node:buffer"),Al=Y8(require("node:stream")),G8=require("node:util"),x8=K2();function _8(e,{timeout:A}={}){let t=new Promise((n,o)=>{e.on("exit",(d,l)=>{n({exitCode:d,signal:l,timedOut:!1})}),e.on("error",d=>{o(d)}),e.stdin&&e.stdin.on("error",d=>{o(d)})});if(A===0||A===void 0)return t;let a,r=new Promise((n,o)=>{a=setTimeout(()=>{e.kill("SIGTERM"),o(Object.assign(new Error("Timed out"),{timedOut:!0,signal:"SIGTERM"}))},A)}),i=t.finally(()=>{clearTimeout(a)}),s=(0,x8.onExit)(()=>{e.kill()});return Promise.race([r,i]).finally(()=>s())}EA.getSpawnedPromise=_8;var qn=class extends Error{constructor(){super("The output is too big"),this.name="MaxBufferError"}},q8=(0,G8.promisify)(Al.default.pipeline);function H8(e){let{encoding:A}=e,t=A==="buffer",a=new Al.default.PassThrough({objectMode:!1});A&&A!=="buffer"&&a.setEncoding(A);let r=0,i=[];return a.on("data",s=>{i.push(s),r+=s.length}),a.getBufferedValue=()=>t?Buffer.concat(i,r):i.join(""),a.getBufferedLength=()=>r,a}async function $2(e,A){let t=H8(A);return await new Promise((a,r)=>{let i=s=>{s&&t.getBufferedLength()<=J8.constants.MAX_LENGTH&&(s.bufferedData=t.getBufferedValue()),r(s)};(async()=>{try{await q8(e,t),a()}catch(s){i(s)}})(),t.on("data",()=>{t.getBufferedLength()>1e3*1e3*80&&i(new qn)})}),t.getBufferedValue()}async function el(e,A){e.destroy();try{return await A}catch(t){return t.bufferedData}}async function O8({stdout:e,stderr:A},{encoding:t},a){let r=$2(e,{encoding:t}),i=$2(A,{encoding:t});try{return await Promise.all([a,r,i])}catch(s){return Promise.all([{error:s,exitCode:null,signal:s.signal,timedOut:s.timedOut||!1},el(e,r),el(A,i)])}}EA.getSpawnedResult=O8;function P8(e){let A=typeof e=="string"?` +`:10,t=typeof e=="string"?"\r":13;return e[e.length-1]===A&&(e=e.slice(0,-1)),e[e.length-1]===t&&(e=e.slice(0,-1)),e}function W8(e,A){return e.stripFinalNewline?P8(A):A}EA.handleOutput=W8;var Z8=({timedOut:e,timeout:A,signal:t,exitCode:a})=>e?`timed out after ${A} milliseconds`:t!=null?`was killed with ${t}`:a!=null?`failed with exit code ${a}`:"failed",j8=({stdout:e,stderr:A,error:t,signal:a,exitCode:r,command:i,timedOut:s,options:n,parentError:o})=>{let l=`Command ${Z8({timedOut:s,timeout:n?.timeout,signal:a,exitCode:r})}: ${i}`,p=t?`${l} +${t.message}`:l,g=[p,A,e].filter(Boolean).join(` +`);return t?t.originalMessage=t.message:t=o,t.message=g,t.shortMessage=p,t.command=i,t.exitCode=r,t.signal=a,t.stdout=e,t.stderr=A,"bufferedData"in t&&delete t.bufferedData,t};function X8({stdout:e,stderr:A,error:t,exitCode:a,signal:r,timedOut:i,command:s,options:n,parentError:o}){if(t||a!==0||r!==null)throw j8({error:t,exitCode:a,signal:r,stdout:e,stderr:A,command:s,timedOut:i,options:n,parentError:o});return e}EA.defaultParsing=X8});var al=E(b1=>{"use strict";var z8=b1&&b1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(b1,"__esModule",{value:!0});b1.useExec=void 0;var K8=z8(require("node:child_process")),tl=require("react"),$8=qr(),e5=At(),Ja=Ai(),A5=/ +/g;function t5(e,A){if(A)return[e,...A];let t=[];for(let a of e.trim().split(A5)){let r=t[t.length-1];r&&r.endsWith("\\")?t[t.length-1]=`${r.slice(0,-1)} ${a}`:t.push(a)}return t}function a5(e,A,t){let{parseOutput:a,input:r,onData:i,onWillExecute:s,initialData:n,execute:o,keepPreviousData:d,onError:l,...p}=Array.isArray(A)?t||{}:A||{},g={initialData:n,execute:o,keepPreviousData:d,onError:l,onData:i,onWillExecute:s},c=(0,tl.useRef)(),u=(0,e5.useLatest)(a||Ja.defaultParsing),Q=(0,tl.useCallback)(async(m,C,B,w)=>{let[I,...y]=t5(m,C),b=[I,...y].join(" "),F={stripFinalNewline:!0,...B,timeout:B?.timeout||1e4,signal:c.current?.signal,encoding:B?.encoding===null?"buffer":B?.encoding||"utf8",env:{PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",...process.env,...B?.env}},x=K8.default.spawn(I,y,F),he=(0,Ja.getSpawnedPromise)(x,F);w&&x.stdin.end(w);let[{error:Qe,exitCode:Bt,signal:Re,timedOut:de},lA,W]=await(0,Ja.getSpawnedResult)(x,F,he),Ae=(0,Ja.handleOutput)(F,lA),L=(0,Ja.handleOutput)(F,W);return u.current({stdout:Ae,stderr:L,error:Qe,exitCode:Bt,signal:Re,timedOut:de,command:b,options:F,parentError:new Error})},[u]);return(0,$8.useCachedPromise)(Q,[e,Array.isArray(A)?A:[],p,r],{...g,abortable:c})}b1.useExec=a5});var ol=E(S1=>{"use strict";var si=S1&&S1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(S1,"__esModule",{value:!0});S1.useSQL=void 0;var qA=require("react/jsx-runtime"),Ne=require("@raycast/api"),r5=require("node:fs"),ti=require("node:fs/promises"),sl=si(require("node:os")),rl=si(require("node:child_process")),il=si(require("node:path")),i5=si(fn()),ai=require("react"),s5=va(),n5=At(),ri=Ai(),o5=Cn();function d5(e,A,t){let{permissionPriming:a,...r}=t||{},[i,s]=(0,ai.useState)(),n=(0,n5.useLatest)(t||{}),o=(0,ai.useRef)(),d=(0,ai.useCallback)(p=>{console.error(p);let g=p instanceof Error&&p.message.includes("authorization denied")?new On("You do not have permission to access the database."):p;p5(g)?s((0,qA.jsx)(l5,{priming:n.current.permissionPriming})):n.current.onError?n.current.onError(g):(console.error(g),Ne.environment.launchType!==Ne.LaunchType.Background&&(0,Ne.showToast)({style:Ne.Toast.Style.Failure,title:"Cannot query the data",message:g.message,primaryAction:(0,o5.handleErrorToastAction)(g)}))},[n]),l=(0,ai.useMemo)(()=>{if(!(0,r5.existsSync)(e))throw new Error("The database does not exist");let p;return async(g,c)=>{let u=o.current?.signal,Q=rl.default.spawn("sqlite3",["--json","--readonly",g,c],{signal:u}),m=(0,ri.getSpawnedPromise)(Q),[{error:C,exitCode:B,signal:w},I,y]=await(0,ri.getSpawnedResult)(Q,{encoding:"utf-8"},m);if(ii(u),y.match("(5)")||y.match("(14)")){if(!p){let x=il.default.join(sl.default.tmpdir(),"useSQL",(0,i5.default)(g));await(0,ti.mkdir)(x,{recursive:!0}),ii(u),p=il.default.join(x,"db.db"),await(0,ti.copyFile)(g,p),await(0,ti.writeFile)(p+"-shm",""),await(0,ti.writeFile)(p+"-wal",""),ii(u)}let b=rl.default.spawn("sqlite3",["--json","--readonly","--vfs","unix-none",p,c],{signal:u}),F=(0,ri.getSpawnedPromise)(b);[{error:C,exitCode:B,signal:w},I,y]=await(0,ri.getSpawnedResult)(b,{encoding:"utf-8"},F),ii(u)}if(C||B!==0||w!==null)throw new Error(y);return JSON.parse(I.trim()||"[]")}},[e]);return{...(0,s5.usePromise)(l,[e,A],{...r,onError:d}),permissionView:i}}S1.useSQL=d5;var On=class extends Error{constructor(A){super(A),this.name="PermissionError"}};function p5(e){return e instanceof Error&&e.name==="PermissionError"}var nl=parseInt(sl.default.release().split(".")[0])>=22,Hn=nl?"Settings":"Preferences";function l5(e){let A=nl?{title:"Open System Settings -> Privacy",target:"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"}:{title:"Open System Preferences -> Security",target:"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"};return Ne.environment.commandMode==="menu-bar"?(0,qA.jsxs)(Ne.MenuBarExtra,{icon:Ne.Icon.Warning,title:Ne.environment.commandName,children:[(0,qA.jsx)(Ne.MenuBarExtra.Item,{title:"Raycast needs full disk access",tooltip:`You can revert this access in ${Hn} whenever you want`}),e.priming?(0,qA.jsx)(Ne.MenuBarExtra.Item,{title:e.priming,tooltip:`You can revert this access in ${Hn} whenever you want`}):null,(0,qA.jsx)(Ne.MenuBarExtra.Separator,{}),(0,qA.jsx)(Ne.MenuBarExtra.Item,{title:A.title,onAction:()=>(0,Ne.open)(A.target)})]}):(0,qA.jsx)(Ne.List,{children:(0,qA.jsx)(Ne.List.EmptyView,{icon:{source:{light:"https://raycast.com/uploads/extensions-utils-security-permissions-light.png",dark:"https://raycast.com/uploads/extensions-utils-security-permissions-dark.png"}},title:"Raycast needs full disk access.",description:`${e.priming?e.priming+` +`:""}You can revert this access in ${Hn} whenever you want.`,actions:(0,qA.jsx)(Ne.ActionPanel,{children:(0,qA.jsx)(Ne.Action.Open,{...A})})})})}function ii(e){if(e?.aborted){let A=new Error("aborted");throw A.name="AbortError",A}}});var ll=E(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.useForm=Xt.FormValidation=void 0;var it=require("react"),dl=At(),pl;(function(e){e.Required="required"})(pl=Xt.FormValidation||(Xt.FormValidation={}));function Pn(e,A){if(e){if(typeof e=="function")return e(A);if(e===pl.Required){let t=typeof A<"u"&&A!==null;if(t)switch(typeof A){case"string":t=A.length>0;break;case"object":Array.isArray(A)?t=A.length>0:A instanceof Date&&(t=A.getTime()>0);break;default:break}if(!t)return"The item is required"}}}function g5(e){let{onSubmit:A,validation:t,initialValues:a={}}=e,[r,i]=(0,it.useState)(a),[s,n]=(0,it.useState)({}),o=(0,it.useRef)({}),d=(0,dl.useLatest)(t||{}),l=(0,dl.useLatest)(A),p=(0,it.useCallback)(C=>{o.current[C]?.focus()},[o]),g=(0,it.useCallback)(async C=>{let B=!1;for(let[I,y]of Object.entries(d.current)){let b=Pn(y,C[I]);b&&(B||(B={},p(I)),B[I]=b)}if(B)return n(B),!1;let w=await l.current(C);return typeof w=="boolean"?w:!0},[d,l,p]),c=(0,it.useCallback)((C,B)=>{n(w=>({...w,[C]:B}))},[n]),u=(0,it.useCallback)(function(C,B){i(w=>({...w,[C]:typeof B=="function"?B(w[C]):B}))},[i]),Q=(0,it.useMemo)(()=>new Proxy({},{get(C,B){let w=d.current[B],I=r[B];return{onChange(y){s[B]&&(Pn(w,y)||c(B,void 0)),u(B,y)},onBlur(y){let b=Pn(w,y.target.value);b&&c(B,b)},error:s[B],id:B,value:typeof I>"u"?null:I,ref:y=>{o.current[B]=y}}}}),[s,d,c,r,o,u]),m=(0,it.useCallback)((C={})=>{i(C),n({})},[i,n]);return{handleSubmit:g,setValidationError:c,setValue:u,values:r,itemProps:Q,focus:p,reset:m}}Xt.useForm=g5});var cl=E(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.useAI=void 0;var gl=require("react"),c5=require("@raycast/api"),u5=va();function E5(e,A={}){let{creativity:t,stream:a,model:r,...i}=A,[s,n]=(0,gl.useState)(""),o=(0,gl.useRef)(),{isLoading:d,error:l,revalidate:p}=(0,u5.usePromise)(async(g,c,u)=>{n("");let Q=c5.AI.ask(g,{creativity:c,model:r,signal:o.current?.signal});u===!1?n(await Q):(Q.on("data",m=>{n(C=>C+m)}),await Q)},[e,t,a],{...i,abortable:o});return{isLoading:d,data:s,error:l,revalidate:p}}ni.useAI=E5});var Ql=E(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.useFrecencySorting=void 0;var Wn=require("react"),ul=At(),Q5=xr(),C5=10,El=24*60*60*1e3,m5=Math.log(2)/(C5*El),B5={Default:100,Embed:0,Bookmark:140};function h5(e){let A=Date.now(),t=e?e.lastVisited:0,a=e?e.frecency:0,r=(A-t)/El,i=B5.Default*Math.exp(-m5*r),s=a+i;return{lastVisited:A,frecency:s}}var I5=e=>{if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||!e||!("id"in e)||typeof e.id!="string"))throw new Error("Specify a key function or make sure your items have an 'id' property");return e.id};function f5(e,A){let t=(0,ul.useLatest)(A?.key||I5),a=(0,ul.useLatest)(A?.sortUnvisited),[r,i]=(0,Q5.useCachedState)(`raycast_frecency_${A?.namespace}`,{}),s=(0,Wn.useCallback)(async function(l){let p=t.current(l);i(g=>{let c=g[p],u=h5(c);return{...g,[p]:u}})},[t,i]),n=(0,Wn.useCallback)(async function(l){let p=t.current(l);i(g=>{let c={...g};return delete c[p],c})},[t,i]);return{data:(0,Wn.useMemo)(()=>e?e.sort((d,l)=>{let p=r[t.current(d)],g=r[t.current(l)];return p&&!g?-1:!p&&g?1:p&&g?g.frecency-p.frecency:a.current?a.current(d,l):0}):[],[r,e,t,a]),visitItem:s,resetRanking:n}}oi.useFrecencySorting=f5});var Il=E(k1=>{"use strict";Object.defineProperty(k1,"__esModule",{value:!0});k1.slightlyLighterColor=k1.slightlyDarkerColor=void 0;function w5(e){let A=0,t=0,a=0;if(e.length===4)A=parseInt(`${e[1]}${e[1]}`,16),t=parseInt(`${e[2]}${e[2]}`,16),a=parseInt(`${e[3]}${e[3]}`,16);else if(e.length===7)A=parseInt(`${e[1]}${e[2]}`,16),t=parseInt(`${e[3]}${e[4]}`,16),a=parseInt(`${e[5]}${e[6]}`,16);else throw new Error(`Malformed hex color: ${e}`);return{r:A,g:t,b:a}}function y5({r:e,g:A,b:t}){let a=e.toString(16),r=A.toString(16),i=t.toString(16);return a.length===1&&(a=`0${a}`),r.length===1&&(r=`0${r}`),i.length===1&&(i=`0${i}`),`#${a}${r}${i}`}function D5({r:e,g:A,b:t}){e/=255,A/=255,t/=255;let a=Math.min(e,A,t),r=Math.max(e,A,t),i=r-a,s=0,n=0,o=0;return i===0?s=0:r===e?s=(A-t)/i%6:r===A?s=(t-e)/i+2:s=(e-A)/i+4,s=Math.round(s*60),s<0&&(s+=360),o=(r+a)/2,n=i===0?0:i/(1-Math.abs(2*o-1)),n=+(n*100).toFixed(1),o=+(o*100).toFixed(1),{h:s,s:n,l:o}}function R5({h:e,s:A,l:t}){A/=100,t/=100;let a=(1-Math.abs(2*t-1))*A,r=a*(1-Math.abs(e/60%2-1)),i=t-a/2,s=0,n=0,o=0;return e>=0&&e<60?(s=a,n=r,o=0):e>=60&&e<120?(s=r,n=a,o=0):e>=120&&e<180?(s=0,n=a,o=r):e>=180&&e<240?(s=0,n=r,o=a):e>=240&&e<300?(s=r,n=0,o=a):e>=300&&e<360&&(s=a,n=0,o=r),s=Math.round((s+i)*255),n=Math.round((n+i)*255),o=Math.round((o+i)*255),{r:s,g:n,b:o}}function Cl(e){return D5(w5(e))}function ml(e){return y5(R5(e))}function Bl(e,A,t){return A<t?e<A?A:e>t?t:e:e<t?t:e>A?A:e}var hl=12;function v5(e){let A=Cl(e);return ml({h:A.h,s:A.s,l:Bl(A.l-hl,0,100)})}k1.slightlyDarkerColor=v5;function N5(e){let A=Cl(e);return ml({h:A.h,s:A.s,l:Bl(A.l+hl,0,100)})}k1.slightlyLighterColor=N5});var yl=E(di=>{"use strict";Object.defineProperty(di,"__esModule",{value:!0});di.getAvatarIcon=void 0;var fl=Il();function F1(e,A){let t=e.charCodeAt(A);if(Number.isNaN(t))return["",A];if(t<55296||t>57343)return[e.charAt(A),A];if(55296<=t&&t<=56319){if(e.length<=A+1)throw new Error("High surrogate without following low surrogate");let r=e.charCodeAt(A+1);if(56320>r||r>57343)throw new Error("High surrogate without following low surrogate");return[e.charAt(A)+e.charAt(A+1),A+1]}if(A===0)throw new Error("Low surrogate without preceding high surrogate");let a=e.charCodeAt(A-1);if(55296>a||a>56319)throw new Error("Low surrogate without preceding high surrogate");return[e.charAt(A+1),A+1]}var wl=["#DC829A","#D64854","#D47600","#D36CDD","#52A9E4","#7871E8","#70920F","#43B93A","#EB6B3E","#26B795","#D85A9B","#A067DC","#BD9500","#5385D9"];function b5(e,A){let t=e.trim().split(" "),a;if(t.length==1&&F1(t[0],0)[0])a=F1(t[0],0)[0];else if(t.length>1){let o=F1(t[0],0)[0]||"",d=F1(t[t.length-1],0)[0]??"";a=o+d}else a="";let r;if(A?.background)r=A?.background;else{let o=0,[d,l]=F1(a,0);for(;d;)o+=d.charCodeAt(0),[d,l]=F1(a,l+1);let p=o%wl.length;r=wl[p]}let s=50-0;return`data:image/svg+xml,${`<svg width="100px" height="100px"> + ${A?.gradient!==!1?`<defs> + <linearGradient id="Gradient" x1="0.25" x2="0.75" y1="0" y2="1"> + <stop offset="0%" stop-color="${(0,fl.slightlyLighterColor)(r)}"/> + <stop offset="50%" stop-color="${r}"/> + <stop offset="100%" stop-color="${(0,fl.slightlyDarkerColor)(r)}"/> + </linearGradient> + </defs>`:""} + <circle cx="50" cy="50" r="${s}" fill="${A?.gradient!==!1?"url(#Gradient)":r}" /> + ${a?`<text x="50" y="80" font-size="${s-1}" font-family="Inter, sans-serif" text-anchor="middle" fill="white">${a.toUpperCase()}</text>`:""} + </svg> + `.replaceAll(` +`,"")}`}di.getAvatarIcon=b5});var Rl=E(pi=>{"use strict";Object.defineProperty(pi,"__esModule",{value:!0});pi.getFavicon=void 0;var Dl=require("@raycast/api"),S5=require("url");function k5(e,A){try{let a=(typeof e=="string"?new S5.URL(e):e).hostname;return{source:`https://www.google.com/s2/favicons?sz=${A?.size??64}&domain=${a}`,fallback:A?.fallback??Dl.Icon.Link,mask:A?.mask}}catch(t){return console.error(t),Dl.Icon.Link}}pi.getFavicon=k5});var bl=E(li=>{"use strict";Object.defineProperty(li,"__esModule",{value:!0});li.getProgressIcon=void 0;var vl=require("@raycast/api");function Nl(e,A,t,a){let r=(a-90)*Math.PI/180;return{x:e+t*Math.cos(r),y:A+t*Math.sin(r)}}function F5(e,A,t,a,r){let i=Nl(e,A,t,r),s=Nl(e,A,t,a),n=r-a<=180?"0":"1";return["M",i.x,i.y,"A",t,t,0,n,0,s.x,s.y].join(" ")}function U5(e,A=vl.Color.Red,t){let a=t?.background||(vl.environment.appearance==="light"?"black":"white"),r=t?.backgroundOpacity||.1,i=10,n=50-5-i/2;return`data:image/svg+xml,${`<svg width="100px" height="100px"> + <circle cx="50" cy="50" r="${n}" stroke-width="${i}" stroke="${e<1?a:A}" opacity="${e<1?r:"1"}" fill="none" /> + ${e>0&&e<1?`<path d="${F5(50,50,n,0,e*360)}" stroke="${A}" stroke-width="${i}" fill="none" />`:""} + </svg> + `.replaceAll(` +`,"")}`}li.getProgressIcon=U5});var Sl=E(st=>{"use strict";var L5=st&&st.__createBinding||(Object.create?function(e,A,t,a){a===void 0&&(a=t);var r=Object.getOwnPropertyDescriptor(A,t);(!r||("get"in r?!A.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return A[t]}}),Object.defineProperty(e,a,r)}:function(e,A,t,a){a===void 0&&(a=t),e[a]=A[t]}),Zn=st&&st.__exportStar||function(e,A){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(A,t)&&L5(A,e,t)};Object.defineProperty(st,"__esModule",{value:!0});Zn(yl(),st);Zn(Rl(),st);Zn(bl(),st)});var kl=E(U1=>{"use strict";var M5=U1&&U1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(U1,"__esModule",{value:!0});U1.runAppleScript=void 0;var T5=M5(require("node:child_process")),Ga=Ai();async function V5(e,A,t){let{humanReadableOutput:a,language:r,timeout:i,...s}=Array.isArray(A)?t||{}:A||{},n=a!==!1?[]:["-ss"];r==="JavaScript"&&n.push("-l","JavaScript"),Array.isArray(A)&&n.push("-",...A);let o=T5.default.spawn("osascript",n,{...s,env:{PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"}}),d=(0,Ga.getSpawnedPromise)(o,{timeout:i||1e4});o.stdin.end(e);let[{error:l,exitCode:p,signal:g,timedOut:c},u,Q]=await(0,Ga.getSpawnedResult)(o,{encoding:"utf8"},d),m=(0,Ga.handleOutput)({stripFinalNewline:!0},u),C=(0,Ga.handleOutput)({stripFinalNewline:!0},Q);return(0,Ga.defaultParsing)({stdout:m,stderr:C,error:l,exitCode:p,signal:g,timedOut:c,command:"osascript",options:t,parentError:new Error})}U1.runAppleScript=V5});var jn=E(be=>{"use strict";var Y5=be&&be.__createBinding||(Object.create?function(e,A,t,a){a===void 0&&(a=t);var r=Object.getOwnPropertyDescriptor(A,t);(!r||("get"in r?!A.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return A[t]}}),Object.defineProperty(e,a,r)}:function(e,A,t,a){a===void 0&&(a=t),e[a]=A[t]}),NA=be&&be.__exportStar||function(e,A){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(A,t)&&Y5(A,e,t)};Object.defineProperty(be,"__esModule",{value:!0});NA(va(),be);NA(xr(),be);NA(qr(),be);NA(X2(),be);NA(al(),be);NA(ol(),be);NA(ll(),be);NA(cl(),be);NA(Ql(),be);NA(Sl(),be);NA(kl(),be)});var te=E((kN,Fl)=>{Fl.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kHeadersList:Symbol("headers list"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size")}});var z=E((FN,Ul)=>{"use strict";var ce=class extends Error{constructor(A){super(A),this.name="UndiciError",this.code="UND_ERR"}},Xn=class e extends ce{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="ConnectTimeoutError",this.message=A||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}},zn=class e extends ce{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="HeadersTimeoutError",this.message=A||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}},Kn=class e extends ce{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="HeadersOverflowError",this.message=A||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}},$n=class e extends ce{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="BodyTimeoutError",this.message=A||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}},eo=class e extends ce{constructor(A,t,a,r){super(A),Error.captureStackTrace(this,e),this.name="ResponseStatusCodeError",this.message=A||"Response Status Code Error",this.code="UND_ERR_RESPONSE_STATUS_CODE",this.body=r,this.status=t,this.statusCode=t,this.headers=a}},Ao=class e extends ce{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="InvalidArgumentError",this.message=A||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}},to=class e extends ce{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="InvalidReturnValueError",this.message=A||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}},ao=class e extends ce{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="AbortError",this.message=A||"Request aborted",this.code="UND_ERR_ABORTED"}},ro=class e extends ce{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="InformationalError",this.message=A||"Request information",this.code="UND_ERR_INFO"}},io=class e extends ce{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="RequestContentLengthMismatchError",this.message=A||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}},so=class e extends ce{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="ResponseContentLengthMismatchError",this.message=A||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}},no=class e extends ce{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="ClientDestroyedError",this.message=A||"The client is destroyed",this.code="UND_ERR_DESTROYED"}},oo=class e extends ce{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="ClientClosedError",this.message=A||"The client is closed",this.code="UND_ERR_CLOSED"}},po=class e extends ce{constructor(A,t){super(A),Error.captureStackTrace(this,e),this.name="SocketError",this.message=A||"Socket error",this.code="UND_ERR_SOCKET",this.socket=t}},gi=class e extends ce{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="NotSupportedError",this.message=A||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}},lo=class extends ce{constructor(A){super(A),Error.captureStackTrace(this,gi),this.name="MissingUpstreamError",this.message=A||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}},go=class e extends Error{constructor(A,t,a){super(A),Error.captureStackTrace(this,e),this.name="HTTPParserError",this.code=t?`HPE_${t}`:void 0,this.data=a?a.toString():void 0}},co=class e extends ce{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="ResponseExceededMaxSizeError",this.message=A||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}};Ul.exports={HTTPParserError:go,UndiciError:ce,HeadersTimeoutError:zn,HeadersOverflowError:Kn,BodyTimeoutError:$n,RequestContentLengthMismatchError:io,ConnectTimeoutError:Xn,ResponseStatusCodeError:eo,InvalidArgumentError:Ao,InvalidReturnValueError:to,RequestAbortedError:ao,ClientDestroyedError:no,ClientClosedError:oo,InformationalError:ro,SocketError:po,NotSupportedError:gi,ResponseContentLengthMismatchError:so,BalancedPoolMissingUpstreamError:lo,ResponseExceededMaxSizeError:co}});var _=E((UN,Hl)=>{"use strict";var Vl=require("assert"),{kDestroyed:Yl,kBodyUsed:Ll}=te(),{IncomingMessage:J5}=require("http"),L1=require("stream"),G5=require("net"),{InvalidArgumentError:Se}=z(),{Blob:Ml}=require("buffer"),ui=require("util"),{stringify:x5}=require("querystring"),[uo,Tl]=process.versions.node.split(".").map(e=>Number(e));function _5(){}function Eo(e){return e&&typeof e=="object"&&typeof e.pipe=="function"&&typeof e.on=="function"}function Jl(e){return Ml&&e instanceof Ml||e&&typeof e=="object"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function q5(e,A){if(e.includes("?")||e.includes("#"))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let t=x5(A);return t&&(e+="?"+t),e}function Gl(e){if(typeof e=="string"){if(e=new URL(e),!/^https?:/.test(e.origin||e.protocol))throw new Se("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}if(!e||typeof e!="object")throw new Se("Invalid URL: The URL argument must be a non-null object.");if(e.port!=null&&e.port!==""&&!Number.isFinite(parseInt(e.port)))throw new Se("Invalid URL: port must be a valid integer or a string representation of an integer.");if(e.path!=null&&typeof e.path!="string")throw new Se("Invalid URL path: the path must be a string or null/undefined.");if(e.pathname!=null&&typeof e.pathname!="string")throw new Se("Invalid URL pathname: the pathname must be a string or null/undefined.");if(e.hostname!=null&&typeof e.hostname!="string")throw new Se("Invalid URL hostname: the hostname must be a string or null/undefined.");if(e.origin!=null&&typeof e.origin!="string")throw new Se("Invalid URL origin: the origin must be a string or null/undefined.");if(!/^https?:/.test(e.origin||e.protocol))throw new Se("Invalid URL protocol: the URL must start with `http:` or `https:`.");if(!(e instanceof URL)){let A=e.port!=null?e.port:e.protocol==="https:"?443:80,t=e.origin!=null?e.origin:`${e.protocol}//${e.hostname}:${A}`,a=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;t.endsWith("/")&&(t=t.substring(0,t.length-1)),a&&!a.startsWith("/")&&(a=`/${a}`),e=new URL(t+a)}return e}function H5(e){if(e=Gl(e),e.pathname!=="/"||e.search||e.hash)throw new Se("invalid url");return e}function O5(e){if(e[0]==="["){let t=e.indexOf("]");return Vl(t!==-1),e.substr(1,t-1)}let A=e.indexOf(":");return A===-1?e:e.substr(0,A)}function P5(e){if(!e)return null;Vl.strictEqual(typeof e,"string");let A=O5(e);return G5.isIP(A)?"":A}function W5(e){return JSON.parse(JSON.stringify(e))}function Z5(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}function j5(e){return e!=null&&(typeof e[Symbol.iterator]=="function"||typeof e[Symbol.asyncIterator]=="function")}function X5(e){if(e==null)return 0;if(Eo(e)){let A=e._readableState;return A&&A.ended===!0&&Number.isFinite(A.length)?A.length:null}else{if(Jl(e))return e.size!=null?e.size:null;if(_l(e))return e.byteLength}return null}function Qo(e){return!e||!!(e.destroyed||e[Yl])}function xl(e){let A=e&&e._readableState;return Qo(e)&&A&&!A.endEmitted}function z5(e,A){!Eo(e)||Qo(e)||(typeof e.destroy=="function"?(Object.getPrototypeOf(e).constructor===J5&&(e.socket=null),e.destroy(A)):A&&process.nextTick((t,a)=>{t.emit("error",a)},e,A),e.destroyed!==!0&&(e[Yl]=!0))}var K5=/timeout=(\d+)/;function $5(e){let A=e.toString().match(K5);return A?parseInt(A[1],10)*1e3:null}function eC(e,A={}){for(let t=0;t<e.length;t+=2){let a=e[t].toString().toLowerCase(),r=A[a];r?(Array.isArray(r)||(r=[r],A[a]=r),r.push(e[t+1].toString("utf8"))):Array.isArray(e[t+1])?A[a]=e[t+1]:A[a]=e[t+1].toString("utf8")}return"content-length"in A&&"content-disposition"in A&&(A["content-disposition"]=Buffer.from(A["content-disposition"]).toString("latin1")),A}function AC(e){let A=[],t=!1,a=-1;for(let r=0;r<e.length;r+=2){let i=e[r+0].toString(),s=e[r+1].toString("utf8");i.length===14&&(i==="content-length"||i.toLowerCase()==="content-length")?(A.push(i,s),t=!0):i.length===19&&(i==="content-disposition"||i.toLowerCase()==="content-disposition")?a=A.push(i,s)-1:A.push(i,s)}return t&&a!==-1&&(A[a]=Buffer.from(A[a]).toString("latin1")),A}function _l(e){return e instanceof Uint8Array||Buffer.isBuffer(e)}function tC(e,A,t){if(!e||typeof e!="object")throw new Se("handler must be an object");if(typeof e.onConnect!="function")throw new Se("invalid onConnect method");if(typeof e.onError!="function")throw new Se("invalid onError method");if(typeof e.onBodySent!="function"&&e.onBodySent!==void 0)throw new Se("invalid onBodySent method");if(t||A==="CONNECT"){if(typeof e.onUpgrade!="function")throw new Se("invalid onUpgrade method")}else{if(typeof e.onHeaders!="function")throw new Se("invalid onHeaders method");if(typeof e.onData!="function")throw new Se("invalid onData method");if(typeof e.onComplete!="function")throw new Se("invalid onComplete method")}}function aC(e){return!!(e&&(L1.isDisturbed?L1.isDisturbed(e)||e[Ll]:e[Ll]||e.readableDidRead||e._readableState&&e._readableState.dataEmitted||xl(e)))}function rC(e){return!!(e&&(L1.isErrored?L1.isErrored(e):/state: 'errored'/.test(ui.inspect(e))))}function iC(e){return!!(e&&(L1.isReadable?L1.isReadable(e):/state: 'readable'/.test(ui.inspect(e))))}function sC(e){return{localAddress:e.localAddress,localPort:e.localPort,remoteAddress:e.remoteAddress,remotePort:e.remotePort,remoteFamily:e.remoteFamily,timeout:e.timeout,bytesWritten:e.bytesWritten,bytesRead:e.bytesRead}}var xa;function nC(e){if(xa||(xa=require("stream/web").ReadableStream),xa.from)return xa.from(e);let A;return new xa({async start(){A=e[Symbol.asyncIterator]()},async pull(t){let{done:a,value:r}=await A.next();if(a)queueMicrotask(()=>{t.close()});else{let i=Buffer.isBuffer(r)?r:Buffer.from(r);t.enqueue(new Uint8Array(i))}return t.desiredSize>0},async cancel(t){await A.return()}},0)}function oC(e){return e&&typeof e=="object"&&typeof e.append=="function"&&typeof e.delete=="function"&&typeof e.get=="function"&&typeof e.getAll=="function"&&typeof e.has=="function"&&typeof e.set=="function"&&e[Symbol.toStringTag]==="FormData"}function dC(e){if(e){if(typeof e.throwIfAborted=="function")e.throwIfAborted();else if(e.aborted){let A=new Error("The operation was aborted");throw A.name="AbortError",A}}}var ci;function pC(e,A){return typeof Symbol.dispose=="symbol"&&(ci||(ci=require("events")),typeof ci.addAbortListener=="function"&&"aborted"in e)?ci.addAbortListener(e,A):"addEventListener"in e?(e.addEventListener("abort",A,{once:!0}),()=>e.removeEventListener("abort",A)):(e.addListener("abort",A),()=>e.removeListener("abort",A))}var lC=!!String.prototype.toWellFormed;function gC(e){return lC?`${e}`.toWellFormed():ui.toUSVString?ui.toUSVString(e):`${e}`}var ql=Object.create(null);ql.enumerable=!0;Hl.exports={kEnumerableProperty:ql,nop:_5,isDisturbed:aC,isErrored:rC,isReadable:iC,toUSVString:gC,isReadableAborted:xl,isBlobLike:Jl,parseOrigin:H5,parseURL:Gl,getServerName:P5,isStream:Eo,isIterable:j5,isAsyncIterable:Z5,isDestroyed:Qo,parseRawHeaders:AC,parseHeaders:eC,parseKeepAliveTimeout:$5,destroy:z5,bodyLength:X5,deepClone:W5,ReadableStreamFrom:nC,isBuffer:_l,validateHandler:tC,getSocketInfo:sC,isFormDataLike:oC,buildURL:q5,throwIfAborted:dC,addAbortListener:pC,nodeMajor:uo,nodeMinor:Tl,nodeHasAutoSelectFamily:uo>18||uo===18&&Tl>=13}});var Wl=E((LN,Pl)=>{"use strict";var Co=Date.now(),Rt,vt=[];function cC(){Co=Date.now();let e=vt.length,A=0;for(;A<e;){let t=vt[A];t.state===0?t.state=Co+t.delay:t.state>0&&Co>=t.state&&(t.state=-1,t.callback(t.opaque)),t.state===-1?(t.state=-2,A!==e-1?vt[A]=vt.pop():vt.pop(),e-=1):A+=1}vt.length>0&&Ol()}function Ol(){Rt&&Rt.refresh?Rt.refresh():(clearTimeout(Rt),Rt=setTimeout(cC,1e3),Rt.unref&&Rt.unref())}var Ei=class{constructor(A,t,a){this.callback=A,this.delay=t,this.opaque=a,this.state=-2,this.refresh()}refresh(){this.state===-2&&(vt.push(this),(!Rt||vt.length===1)&&Ol()),this.state=0}clear(){this.state=-1}};Pl.exports={setTimeout(e,A,t){return A<1e3?setTimeout(e,A,t):new Ei(e,A,t)},clearTimeout(e){e instanceof Ei?e.clear():clearTimeout(e)}}});var Qi=E((Kl,$l)=>{"use strict";function uC(e){if(e.length===0)return;let A=Object.create(null),t=0;for(;t<e.length;++t){let s=e.charCodeAt(t);if(zt[s]!==1){if(s!==47||t===0)return;break}}if(t===e.length)return;let a=e.slice(0,t).toLowerCase(),r=++t;for(;t<e.length;++t){let s=e.charCodeAt(t);if(zt[s]!==1){if(t===r||EC(e,t,A)===void 0)return;break}}if(t===r)return;let i=e.slice(r,t).toLowerCase();return{type:a,subtype:i,params:A}}function EC(e,A,t){for(;A<e.length;){for(;A<e.length;++A){let n=e.charCodeAt(A);if(n!==32&&n!==9)break}if(A===e.length)break;if(e.charCodeAt(A++)!==59)return;for(;A<e.length;++A){let n=e.charCodeAt(A);if(n!==32&&n!==9)break}if(A===e.length)return;let a,r=A;for(;A<e.length;++A){let n=e.charCodeAt(A);if(zt[n]!==1){if(n!==61)return;break}}if(A===e.length||(a=e.slice(r,A),++A,A===e.length))return;let i="",s;if(e.charCodeAt(A)===34){s=++A;let n=!1;for(;A<e.length;++A){let o=e.charCodeAt(A);if(o===92){n?(s=A,n=!1):(i+=e.slice(s,A),n=!0);continue}if(o===34){if(n){s=A,n=!1;continue}i+=e.slice(s,A);break}if(n&&(s=A-1,n=!1),zl[o]!==1)return}if(A===e.length)return;++A}else{for(s=A;A<e.length;++A){let n=e.charCodeAt(A);if(zt[n]!==1){if(A===s)return;break}}i=e.slice(s,A)}a=a.toLowerCase(),t[a]===void 0&&(t[a]=i)}return t}function QC(e,A){if(e.length===0)return;let t=Object.create(null),a=0;for(;a<e.length;++a){let i=e.charCodeAt(a);if(zt[i]!==1){if(CC(e,a,t,A)===void 0)return;break}}return{type:e.slice(0,a).toLowerCase(),params:t}}function CC(e,A,t,a){for(;A<e.length;){for(;A<e.length;++A){let d=e.charCodeAt(A);if(d!==32&&d!==9)break}if(A===e.length)break;if(e.charCodeAt(A++)!==59)return;for(;A<e.length;++A){let d=e.charCodeAt(A);if(d!==32&&d!==9)break}if(A===e.length)return;let r,i=A;for(;A<e.length;++A){let d=e.charCodeAt(A);if(zt[d]!==1){if(d===61)break;return}}if(A===e.length)return;let s="",n,o;if(r=e.slice(i,A),r.charCodeAt(r.length-1)===42){let d=++A;for(;A<e.length;++A){let p=e.charCodeAt(A);if(BC[p]!==1){if(p!==39)return;break}}if(A===e.length)return;for(o=e.slice(d,A),++A;A<e.length&&e.charCodeAt(A)!==39;++A);if(A===e.length||(++A,A===e.length))return;n=A;let l=0;for(;A<e.length;++A){let p=e.charCodeAt(A);if(hC[p]!==1){if(p===37){let g,c;if(A+2<e.length&&(g=Zl[e.charCodeAt(A+1)])!==-1&&(c=Zl[e.charCodeAt(A+2)])!==-1){let u=(g<<4)+c;s+=e.slice(n,A),s+=String.fromCharCode(u),A+=2,n=A+1,u>=128?l=2:l===0&&(l=1);continue}return}break}}if(s+=e.slice(n,A),s=Xl(s,o,l),s===void 0)return}else{if(++A,A===e.length)return;if(e.charCodeAt(A)===34){n=++A;let d=!1;for(;A<e.length;++A){let l=e.charCodeAt(A);if(l===92){d?(n=A,d=!1):(s+=e.slice(n,A),d=!0);continue}if(l===34){if(d){n=A,d=!1;continue}s+=e.slice(n,A);break}if(d&&(n=A-1,d=!1),zl[l]!==1)return}if(A===e.length)return;++A}else{for(n=A;A<e.length;++A){let d=e.charCodeAt(A);if(zt[d]!==1){if(A===n)return;break}}s=e.slice(n,A)}if(s=a(s,2),s===void 0)return}r=r.toLowerCase(),t[r]===void 0&&(t[r]=s)}return t}function jl(e){let A;for(;;)switch(e){case"utf-8":case"utf8":return qa.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return qa.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return qa.utf16le;case"base64":return qa.base64;default:if(A===void 0){A=!0,e=e.toLowerCase();continue}return qa.other.bind(e)}}var qa={utf8:(e,A)=>{if(e.length===0)return"";if(typeof e=="string"){if(A<2)return e;e=Buffer.from(e,"latin1")}return e.utf8Slice(0,e.length)},latin1:(e,A)=>e.length===0?"":typeof e=="string"?e:e.latin1Slice(0,e.length),utf16le:(e,A)=>e.length===0?"":(typeof e=="string"&&(e=Buffer.from(e,"latin1")),e.ucs2Slice(0,e.length)),base64:(e,A)=>e.length===0?"":(typeof e=="string"&&(e=Buffer.from(e,"latin1")),e.base64Slice(0,e.length)),other:(e,A)=>{if(e.length===0)return"";typeof e=="string"&&(e=Buffer.from(e,"latin1"));try{return new TextDecoder(Kl).decode(e)}catch{}}};function Xl(e,A,t){let a=jl(A);if(a)return a(e,t)}function mC(e){if(typeof e!="string")return"";for(let A=e.length-1;A>=0;--A)switch(e.charCodeAt(A)){case 47:case 92:return e=e.slice(A+1),e===".."||e==="."?"":e}return e===".."||e==="."?"":e}var zt=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],zl=[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],BC=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0,1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],hC=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,1,0,0,0,0,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],Zl=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];$l.exports={basename:mC,convertToUTF8:Xl,getDecoder:jl,parseContentType:uC,parseDisposition:QC}});var a4=E((MN,t4)=>{"use strict";function e4(e,A,t,a,r){for(let i=0;i<r;++i)if(e[A+i]!==t[a+i])return!1;return!0}var mo=class{constructor(A,t){if(typeof t!="function")throw new Error("Missing match callback");if(typeof A=="string")A=Buffer.from(A);else if(!Buffer.isBuffer(A))throw new Error(`Expected Buffer for needle, got ${typeof A}`);let a=A.length;if(this.maxMatches=1/0,this.matches=0,this._cb=t,this._lookbehindSize=0,this._needle=A,this._bufPos=0,this._lookbehind=Buffer.allocUnsafe(a),this._occ=[a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a],a>1)for(let r=0;r<a-1;++r)this._occ[A[r]]=a-1-r}reset(){this.matches=0,this._lookbehindSize=0,this._bufPos=0}push(A,t){let a;Buffer.isBuffer(A)||(A=Buffer.from(A,"latin1"));let r=A.length;for(this._bufPos=t||0;a!==r&&this.matches<this.maxMatches;)a=IC(this,A);return a}destroy(){let A=this._lookbehindSize;A&&this._cb(!1,this._lookbehind,0,A,!1),this.reset()}};function IC(e,A){let t=A.length,a=e._needle,r=a.length,i=-e._lookbehindSize,s=r-1,n=a[s],o=t-r,d=e._occ,l=e._lookbehind;if(i<0){for(;i<0&&i<=o;){let g=i+s,c=g<0?l[e._lookbehindSize+g]:A[g];if(c===n&&A4(e,A,i,s))return e._lookbehindSize=0,++e.matches,i>-e._lookbehindSize?e._cb(!0,l,0,e._lookbehindSize+i,!1):e._cb(!0,void 0,0,0,!0),e._bufPos=i+r;i+=d[c]}for(;i<0&&!A4(e,A,i,t-i);)++i;if(i<0){let g=e._lookbehindSize+i;return g>0&&e._cb(!1,l,0,g,!1),e._lookbehindSize-=g,l.copy(l,0,g,e._lookbehindSize),l.set(A,e._lookbehindSize),e._lookbehindSize+=t,e._bufPos=t,t}e._cb(!1,l,0,e._lookbehindSize,!1),e._lookbehindSize=0}i+=e._bufPos;let p=a[0];for(;i<=o;){let g=A[i+s];if(g===n&&A[i]===p&&e4(a,0,A,i,s))return++e.matches,i>0?e._cb(!0,A,e._bufPos,i,!0):e._cb(!0,void 0,0,0,!0),e._bufPos=i+r;i+=d[g]}for(;i<t;){if(A[i]!==p||!e4(A,i,a,0,t-i)){++i;continue}A.copy(l,0,i,t),e._lookbehindSize=t-i;break}return i>0&&e._cb(!1,A,e._bufPos,i<t?i:t,!0),e._bufPos=t,t}function A4(e,A,t,a){let r=e._lookbehind,i=e._lookbehindSize,s=e._needle;for(let n=0;n<a;++n,++t)if((t<0?r[i+t]:A[t])!==s[n])return!1;return!0}t4.exports=mo});var g4=E((TN,l4)=>{"use strict";var{Readable:fC,Writable:wC}=require("stream"),yC=a4(),{basename:DC,convertToUTF8:r4,getDecoder:RC,parseContentType:vC,parseDisposition:NC}=Qi(),bC=Buffer.from(`\r +`),SC=Buffer.from("\r"),kC=Buffer.from("-");function i4(){}var FC=2e3,M1=16*1024,Ci=0,s4=1,n4=2,Bo=class{constructor(A){this.header=Object.create(null),this.pairCount=0,this.byteCount=0,this.state=Ci,this.name="",this.value="",this.crlf=0,this.cb=A}reset(){this.header=Object.create(null),this.pairCount=0,this.byteCount=0,this.state=Ci,this.name="",this.value="",this.crlf=0}push(A,t,a){let r=t;for(;t<a;)switch(this.state){case Ci:{let i=!1;for(;t<a;++t){if(this.byteCount===M1)return-1;++this.byteCount;let s=A[t];if(MC[s]!==1){if(s!==58||(this.name+=A.latin1Slice(r,t),this.name.length===0))return-1;++t,i=!0,this.state=s4;break}}if(!i){this.name+=A.latin1Slice(r,t);break}}case s4:{let i=!1;for(;t<a;++t){if(this.byteCount===M1)return-1;++this.byteCount;let s=A[t];if(s!==32&&s!==9){r=t,i=!0,this.state=n4;break}}if(!i)break}case n4:switch(this.crlf){case 0:for(;t<a;++t){if(this.byteCount===M1)return-1;++this.byteCount;let i=A[t];if(TC[i]!==1){if(i!==13)return-1;++this.crlf;break}}this.value+=A.latin1Slice(r,t++);break;case 1:if(this.byteCount===M1||(++this.byteCount,A[t++]!==10))return-1;++this.crlf;break;case 2:{if(this.byteCount===M1)return-1;++this.byteCount;let i=A[t];i===32||i===9?(r=t,this.crlf=0):(++this.pairCount<FC&&(this.name=this.name.toLowerCase(),this.header[this.name]===void 0?this.header[this.name]=[this.value]:this.header[this.name].push(this.value)),i===13?(++this.crlf,++t):(r=t,this.crlf=0,this.state=Ci,this.name="",this.value=""));break}case 3:{if(this.byteCount===M1||(++this.byteCount,A[t++]!==10))return-1;let i=this.header;return this.reset(),this.cb(i),t}}break}return t}},ho=class extends fC{constructor(A,t){super(A),this.truncated=!1,this._readcb=null,this.once("end",()=>{if(this._read(),--t._fileEndsLeft===0&&t._finalcb){let a=t._finalcb;t._finalcb=null,process.nextTick(a)}})}_read(A){let t=this._readcb;t&&(this._readcb=null,t())}},o4={push:(e,A)=>{},destroy:()=>{}};function UC(e,A){let t=e._writecb;e._writecb=null,A?e.destroy(A):t&&t()}function LC(e,A){return e}var Io=class extends wC{constructor(A){let t={autoDestroy:!0,emitClose:!0,highWaterMark:typeof A.highWaterMark=="number"?A.highWaterMark:void 0};if(super(t),!A.conType.params||typeof A.conType.params.boundary!="string")throw new Error("Multipart: Boundary not found");let a=A.conType.params.boundary,r=typeof A.defParamCharset=="string"&&A.defParamCharset?RC(A.defParamCharset):LC,i=A.defCharset||"utf8",s=A.preservePath,n={autoDestroy:!0,emitClose:!0,highWaterMark:typeof A.fileHwm=="number"?A.fileHwm:void 0},o=A.limits,d=o&&typeof o.fieldSize=="number"?o.fieldSize:1*1024*1024,l=o&&typeof o.fileSize=="number"?o.fileSize:1/0,p=o&&typeof o.files=="number"?o.files:1/0,g=o&&typeof o.fields=="number"?o.fields:1/0,c=o&&typeof o.parts=="number"?o.parts:1/0,u=-1,Q=0,m=0,C=!1;this._fileEndsLeft=0,this._fileStream=void 0,this._complete=!1;let B=0,w,I=0,y,b,F,x,he=!1,Qe=!1,Bt=!1;this._hparser=null;let Re=new Bo(W=>{this._hparser=null,C=!1,F="text/plain",y=i,b="7bit",x=void 0,he=!1;let Ae;if(!W["content-disposition"]){C=!0;return}let L=NC(W["content-disposition"][0],r);if(!L||L.type!=="form-data"){C=!0;return}if(L.params&&(L.params.name&&(x=L.params.name),L.params["filename*"]?Ae=L.params["filename*"]:L.params.filename&&(Ae=L.params.filename),Ae!==void 0&&!s&&(Ae=DC(Ae))),W["content-type"]){let M=vC(W["content-type"][0]);M&&(F=`${M.type}/${M.subtype}`,M.params&&typeof M.params.charset=="string"&&(y=M.params.charset.toLowerCase()))}if(W["content-transfer-encoding"]&&(b=W["content-transfer-encoding"][0].toLowerCase()),F==="application/octet-stream"||Ae!==void 0){if(m===p){Qe||(Qe=!0,this.emit("filesLimit")),C=!0;return}if(++m,this.listenerCount("file")===0){C=!0;return}B=0,this._fileStream=new ho(n,this),++this._fileEndsLeft,this.emit("file",x,this._fileStream,{filename:Ae,encoding:b,mimeType:F})}else{if(Q===g){Bt||(Bt=!0,this.emit("fieldsLimit")),C=!0;return}if(++Q,this.listenerCount("field")===0){C=!0;return}w=[],I=0}}),de=0,lA=(W,Ae,L,M,TA)=>{e:for(;Ae;){if(this._hparser!==null){let O=this._hparser.push(Ae,L,M);if(O===-1){this._hparser=null,Re.reset(),this.emit("error",new Error("Malformed part header"));break}L=O}if(L===M)break;if(de!==0){if(de===1){switch(Ae[L]){case 45:de=2,++L;break;case 13:de=3,++L;break;default:de=0}if(L===M)return}if(de===2){if(de=0,Ae[L]===45){this._complete=!0,this._bparser=o4;return}let O=this._writecb;this._writecb=i4,lA(!1,kC,0,1,!1),this._writecb=O}else if(de===3)if(de=0,Ae[L]===10){if(++L,u>=c||(this._hparser=Re,L===M))break;continue e}else{let O=this._writecb;this._writecb=i4,lA(!1,SC,0,1,!1),this._writecb=O}}if(!C){if(this._fileStream){let O,ze=Math.min(M-L,l-B);TA?O=Ae.slice(L,L+ze):(O=Buffer.allocUnsafe(ze),Ae.copy(O,0,L,L+ze)),B+=O.length,B===l?(O.length>0&&this._fileStream.push(O),this._fileStream.emit("limit"),this._fileStream.truncated=!0,C=!0):this._fileStream.push(O)||(this._writecb&&(this._fileStream._readcb=this._writecb),this._writecb=null)}else if(w!==void 0){let O,ze=Math.min(M-L,d-I);TA?O=Ae.slice(L,L+ze):(O=Buffer.allocUnsafe(ze),Ae.copy(O,0,L,L+ze)),I+=ze,w.push(O),I===d&&(C=!0,he=!0)}}break}if(W){if(de=1,this._fileStream)this._fileStream.push(null),this._fileStream=null;else if(w!==void 0){let O;switch(w.length){case 0:O="";break;case 1:O=r4(w[0],y,0);break;default:O=r4(Buffer.concat(w,I),y,0)}w=void 0,I=0,this.emit("field",x,O,{nameTruncated:!1,valueTruncated:he,encoding:b,mimeType:F})}++u===c&&this.emit("partsLimit")}};this._bparser=new yC(`\r +--${a}`,lA),this._writecb=null,this._finalcb=null,this.write(bC)}static detect(A){return A.type==="multipart"&&A.subtype==="form-data"}_write(A,t,a){this._writecb=a,this._bparser.push(A,0),this._writecb&&UC(this)}_destroy(A,t){this._hparser=null,this._bparser=o4,A||(A=p4(this));let a=this._fileStream;a&&(this._fileStream=null,a.destroy(A)),t(A)}_final(A){if(this._bparser.destroy(),!this._complete)return A(new Error("Unexpected end of form"));this._fileEndsLeft?this._finalcb=d4.bind(null,this,A):d4(this,A)}};function d4(e,A,t){if(t)return A(t);t=p4(e),A(t)}function p4(e){if(e._hparser)return new Error("Malformed part header");let A=e._fileStream;if(A&&(e._fileStream=null,A.destroy(new Error("Unexpected end of file"))),!e._complete)return new Error("Unexpected end of form")}var MC=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],TC=[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];l4.exports=Io});var u4=E((VN,c4)=>{"use strict";var{Writable:VC}=require("stream"),{getDecoder:YC}=Qi(),Ro=class extends VC{constructor(A){let t={autoDestroy:!0,emitClose:!0,highWaterMark:typeof A.highWaterMark=="number"?A.highWaterMark:void 0};super(t);let a=A.defCharset||"utf8";A.conType.params&&typeof A.conType.params.charset=="string"&&(a=A.conType.params.charset),this.charset=a;let r=A.limits;this.fieldSizeLimit=r&&typeof r.fieldSize=="number"?r.fieldSize:1*1024*1024,this.fieldsLimit=r&&typeof r.fields=="number"?r.fields:1/0,this.fieldNameSizeLimit=r&&typeof r.fieldNameSize=="number"?r.fieldNameSize:100,this._inKey=!0,this._keyTrunc=!1,this._valTrunc=!1,this._bytesKey=0,this._bytesVal=0,this._fields=0,this._key="",this._val="",this._byte=-2,this._lastPos=0,this._encode=0,this._decoder=YC(a)}static detect(A){return A.type==="application"&&A.subtype==="x-www-form-urlencoded"}_write(A,t,a){if(this._fields>=this.fieldsLimit)return a();let r=0,i=A.length;if(this._lastPos=0,this._byte!==-2){if(r=fo(this,A,r,i),r===-1)return a(new Error("Malformed urlencoded form"));if(r>=i)return a();this._inKey?++this._bytesKey:++this._bytesVal}e:for(;r<i;)if(this._inKey){for(r=wo(this,A,r,i);r<i;){switch(A[r]){case 61:this._lastPos<r&&(this._key+=A.latin1Slice(this._lastPos,r)),this._lastPos=++r,this._key=this._decoder(this._key,this._encode),this._encode=0,this._inKey=!1;continue e;case 38:if(this._lastPos<r&&(this._key+=A.latin1Slice(this._lastPos,r)),this._lastPos=++r,this._key=this._decoder(this._key,this._encode),this._encode=0,this._bytesKey>0&&this.emit("field",this._key,"",{nameTruncated:this._keyTrunc,valueTruncated:!1,encoding:this.charset,mimeType:"text/plain"}),this._key="",this._val="",this._keyTrunc=!1,this._valTrunc=!1,this._bytesKey=0,this._bytesVal=0,++this._fields>=this.fieldsLimit)return this.emit("fieldsLimit"),a();continue;case 43:this._lastPos<r&&(this._key+=A.latin1Slice(this._lastPos,r)),this._key+=" ",this._lastPos=r+1;break;case 37:if(this._encode===0&&(this._encode=1),this._lastPos<r&&(this._key+=A.latin1Slice(this._lastPos,r)),this._lastPos=r+1,this._byte=-1,r=fo(this,A,r+1,i),r===-1)return a(new Error("Malformed urlencoded form"));if(r>=i)return a();++this._bytesKey,r=wo(this,A,r,i);continue}++r,++this._bytesKey,r=wo(this,A,r,i)}this._lastPos<r&&(this._key+=A.latin1Slice(this._lastPos,r))}else{for(r=yo(this,A,r,i);r<i;){switch(A[r]){case 38:if(this._lastPos<r&&(this._val+=A.latin1Slice(this._lastPos,r)),this._lastPos=++r,this._inKey=!0,this._val=this._decoder(this._val,this._encode),this._encode=0,(this._bytesKey>0||this._bytesVal>0)&&this.emit("field",this._key,this._val,{nameTruncated:this._keyTrunc,valueTruncated:this._valTrunc,encoding:this.charset,mimeType:"text/plain"}),this._key="",this._val="",this._keyTrunc=!1,this._valTrunc=!1,this._bytesKey=0,this._bytesVal=0,++this._fields>=this.fieldsLimit)return this.emit("fieldsLimit"),a();continue e;case 43:this._lastPos<r&&(this._val+=A.latin1Slice(this._lastPos,r)),this._val+=" ",this._lastPos=r+1;break;case 37:if(this._encode===0&&(this._encode=1),this._lastPos<r&&(this._val+=A.latin1Slice(this._lastPos,r)),this._lastPos=r+1,this._byte=-1,r=fo(this,A,r+1,i),r===-1)return a(new Error("Malformed urlencoded form"));if(r>=i)return a();++this._bytesVal,r=yo(this,A,r,i);continue}++r,++this._bytesVal,r=yo(this,A,r,i)}this._lastPos<r&&(this._val+=A.latin1Slice(this._lastPos,r))}a()}_final(A){if(this._byte!==-2)return A(new Error("Malformed urlencoded form"));(!this._inKey||this._bytesKey>0||this._bytesVal>0)&&(this._inKey?this._key=this._decoder(this._key,this._encode):this._val=this._decoder(this._val,this._encode),this.emit("field",this._key,this._val,{nameTruncated:this._keyTrunc,valueTruncated:this._valTrunc,encoding:this.charset,mimeType:"text/plain"})),A()}};function fo(e,A,t,a){if(t>=a)return a;if(e._byte===-1){let r=Do[A[t++]];if(r===-1)return-1;if(r>=8&&(e._encode=2),t<a){let i=Do[A[t++]];if(i===-1)return-1;e._inKey?e._key+=String.fromCharCode((r<<4)+i):e._val+=String.fromCharCode((r<<4)+i),e._byte=-2,e._lastPos=t}else e._byte=r}else{let r=Do[A[t++]];if(r===-1)return-1;e._inKey?e._key+=String.fromCharCode((e._byte<<4)+r):e._val+=String.fromCharCode((e._byte<<4)+r),e._byte=-2,e._lastPos=t}return t}function wo(e,A,t,a){if(e._bytesKey>e.fieldNameSizeLimit){for(e._keyTrunc||e._lastPos<t&&(e._key+=A.latin1Slice(e._lastPos,t-1)),e._keyTrunc=!0;t<a;++t){let r=A[t];if(r===61||r===38)break;++e._bytesKey}e._lastPos=t}return t}function yo(e,A,t,a){if(e._bytesVal>e.fieldSizeLimit){for(e._valTrunc||e._lastPos<t&&(e._val+=A.latin1Slice(e._lastPos,t-1)),e._valTrunc=!0;t<a&&A[t]!==38;++t)++e._bytesVal;e._lastPos=t}return t}var Do=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];c4.exports=Ro});var Q4=E((YN,E4)=>{"use strict";var{parseContentType:JC}=Qi();function GC(e){let A=e.headers,t=JC(A["content-type"]);if(!t)throw new Error("Malformed content type");for(let a of xC){if(!a.detect(t))continue;let i={limits:e.limits,headers:A,conType:t,highWaterMark:void 0,fileHwm:void 0,defCharset:void 0,defParamCharset:void 0,preservePath:!1};return e.highWaterMark&&(i.highWaterMark=e.highWaterMark),e.fileHwm&&(i.fileHwm=e.fileHwm),i.defCharset=e.defCharset,i.defParamCharset=e.defParamCharset,i.preservePath=e.preservePath,new a(i)}throw new Error(`Unsupported content type: ${A["content-type"]}`)}var xC=[g4(),u4()].filter(function(e){return typeof e.detect=="function"});E4.exports=e=>{if((typeof e!="object"||e===null)&&(e={}),typeof e.headers!="object"||e.headers===null||typeof e.headers["content-type"]!="string")throw new Error("Missing Content-Type");return GC(e)}});var Nt=E((JN,C4)=>{"use strict";var{MessageChannel:_C,receiveMessageOnPort:qC}=require("worker_threads"),HC=["GET","HEAD","POST"],OC=[101,204,205,304],PC=[301,302,303,307,308],WC=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","5060","5061","6000","6566","6665","6666","6667","6668","6669","6697","10080"],ZC=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],jC=["follow","manual","error"],XC=["GET","HEAD","OPTIONS","TRACE"],zC=["navigate","same-origin","no-cors","cors"],KC=["omit","same-origin","include"],$C=["default","no-store","reload","no-cache","force-cache","only-if-cached"],em=["content-encoding","content-language","content-location","content-type","content-length"],Am=["half"],tm=["CONNECT","TRACE","TRACK"],am=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],rm=globalThis.DOMException??(()=>{try{atob("~")}catch(e){return Object.getPrototypeOf(e).constructor}})(),T1,im=globalThis.structuredClone??function(A,t=void 0){if(arguments.length===0)throw new TypeError("missing argument");return T1||(T1=new _C),T1.port1.unref(),T1.port2.unref(),T1.port1.postMessage(A,t?.transfer),qC(T1.port2).message};C4.exports={DOMException:rm,structuredClone:im,subresource:am,forbiddenMethods:tm,requestBodyHeader:em,referrerPolicy:ZC,requestRedirect:jC,requestMode:zC,requestCredentials:KC,requestCache:$C,redirectStatus:PC,corsSafeListedMethods:HC,nullBodyStatus:OC,safeMethods:XC,badPorts:WC,requestDuplex:Am}});var Ha=E((GN,m4)=>{"use strict";var vo=Symbol.for("undici.globalOrigin.1");function sm(){return globalThis[vo]}function nm(e){if(e!==void 0&&typeof e!="string"&&!(e instanceof URL))throw new Error("Invalid base url");if(e===void 0){Object.defineProperty(globalThis,vo,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let A=new URL(e);if(A.protocol!=="http:"&&A.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${A.protocol}`);Object.defineProperty(globalThis,vo,{value:A,writable:!0,enumerable:!1,configurable:!1})}m4.exports={getGlobalOrigin:sm,setGlobalOrigin:nm}});var QA=E((xN,y4)=>{"use strict";var{redirectStatus:om,badPorts:dm,referrerPolicy:pm}=Nt(),{getGlobalOrigin:lm}=Ha(),{performance:gm}=require("perf_hooks"),{isBlobLike:cm,toUSVString:um,ReadableStreamFrom:Em}=_(),V1=require("assert"),{isUint8Array:Qm}=require("util/types"),mi;try{mi=require("crypto")}catch{}function B4(e){let A=e.urlList,t=A.length;return t===0?null:A[t-1].toString()}function Cm(e,A){if(!om.includes(e.status))return null;let t=e.headersList.get("location");return t!==null&&I4(t)&&(t=new URL(t,B4(e))),t&&!t.hash&&(t.hash=A),t}function Pa(e){return e.urlList[e.urlList.length-1]}function mm(e){let A=Pa(e);return w4(A)&&dm.includes(A.port)?"blocked":"allowed"}function Bm(e){return e instanceof Error||e?.constructor?.name==="Error"||e?.constructor?.name==="DOMException"}function hm(e){for(let A=0;A<e.length;++A){let t=e.charCodeAt(A);if(!(t===9||t>=32&&t<=126||t>=128&&t<=255))return!1}return!0}function Im(e){return!(e>=127||e<=32||e==="("||e===")"||e==="<"||e===">"||e==="@"||e===","||e===";"||e===":"||e==="\\"||e==='"'||e==="/"||e==="["||e==="]"||e==="?"||e==="="||e==="{"||e==="}")}function h4(e){if(!e||typeof e!="string")return!1;for(let A=0;A<e.length;++A){let t=e.charCodeAt(A);if(t>127||!Im(t))return!1}return!0}function fm(e){return e.length===0?!1:h4(e)}function I4(e){return!(e.startsWith(" ")||e.startsWith(" ")||e.endsWith(" ")||e.endsWith(" ")||e.includes("\0")||e.includes("\r")||e.includes(` +`))}function wm(e,A){let{headersList:t}=A,a=(t.get("referrer-policy")??"").split(","),r="";if(a.length>0)for(let i=a.length;i!==0;i--){let s=a[i-1].trim();if(pm.includes(s)){r=s;break}}r!==""&&(e.referrerPolicy=r)}function ym(){return"allowed"}function Dm(){return"success"}function Rm(){return"success"}function vm(e){let A=null;A=e.mode,e.headersList.set("sec-fetch-mode",A)}function Nm(e){let A=e.origin;if(e.responseTainting==="cors"||e.mode==="websocket")A&&e.headersList.append("origin",A);else if(e.method!=="GET"&&e.method!=="HEAD"){switch(e.referrerPolicy){case"no-referrer":A=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":e.origin&&So(e.origin)&&!So(Pa(e))&&(A=null);break;case"same-origin":Bi(e,Pa(e))||(A=null);break;default:}A&&e.headersList.append("origin",A)}}function bm(e){return gm.now()}function Sm(e){return{startTime:e.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:e.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function km(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function Fm(e){return{referrerPolicy:e.referrerPolicy}}function Um(e){let A=e.referrerPolicy;V1(A);let t=null;if(e.referrer==="client"){let n=lm();if(!n||n.origin==="null")return"no-referrer";t=new URL(n)}else e.referrer instanceof URL&&(t=e.referrer);let a=No(t),r=No(t,!0);a.toString().length>4096&&(a=r);let i=Bi(e,a),s=Oa(a)&&!Oa(e.url);switch(A){case"origin":return r??No(t,!0);case"unsafe-url":return a;case"same-origin":return i?r:"no-referrer";case"origin-when-cross-origin":return i?a:r;case"strict-origin-when-cross-origin":{let n=Pa(e);return Bi(a,n)?a:Oa(a)&&!Oa(n)?"no-referrer":r}case"strict-origin":case"no-referrer-when-downgrade":default:return s?"no-referrer":r}}function No(e,A){return V1(e instanceof URL),e.protocol==="file:"||e.protocol==="about:"||e.protocol==="blank:"?"no-referrer":(e.username="",e.password="",e.hash="",A&&(e.pathname="",e.search=""),e)}function Oa(e){if(!(e instanceof URL))return!1;if(e.href==="about:blank"||e.href==="about:srcdoc"||e.protocol==="data:"||e.protocol==="file:")return!0;return A(e.origin);function A(t){if(t==null||t==="null")return!1;let a=new URL(t);return!!(a.protocol==="https:"||a.protocol==="wss:"||/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(a.hostname)||a.hostname==="localhost"||a.hostname.includes("localhost.")||a.hostname.endsWith(".localhost"))}}function Lm(e,A){if(mi===void 0)return!0;let t=Tm(A);if(t==="no metadata"||t.length===0)return!0;let a=t.sort((s,n)=>n.algo.localeCompare(s.algo)),r=a[0].algo,i=a.filter(s=>s.algo===r);for(let s of i){let n=s.algo,o=s.hash;if(mi.createHash(n).update(e).digest("base64")===o)return!0}return!1}var Mm=/((?<algo>sha256|sha384|sha512)-(?<hash>[A-z0-9+/]{1}.*={0,2}))( +[\x21-\x7e]?)?/i;function Tm(e){let A=[],t=!0,a=mi.getHashes();for(let r of e.split(" ")){t=!1;let i=Mm.exec(r);if(i===null||i.groups===void 0)continue;let s=i.groups.algo;a.includes(s.toLowerCase())&&A.push(i.groups)}return t===!0?"no metadata":A}function Vm(e){}function Bi(e,A){return e.origin===A.origin&&e.origin==="null"||e.protocol===A.protocol&&e.hostname===A.hostname&&e.port===A.port}function Ym(){let e,A;return{promise:new Promise((a,r)=>{e=a,A=r}),resolve:e,reject:A}}function Jm(e){return e.controller.state==="aborted"}function Gm(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}function xm(e){return/^(DELETE|GET|HEAD|OPTIONS|POST|PUT)$/i.test(e)?e.toUpperCase():e}function _m(e){let A=JSON.stringify(e);if(A===void 0)throw new TypeError("Value is not JSON serializable");return V1(typeof A=="string"),A}var qm=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function Hm(e,A,t){let a={index:0,kind:t,target:e},r={next(){if(Object.getPrototypeOf(this)!==r)throw new TypeError(`'next' called on an object that does not implement interface ${A} Iterator.`);let{index:i,kind:s,target:n}=a,o=n(),d=o.length;if(i>=d)return{value:void 0,done:!0};let l=o[i];return a.index=i+1,Om(l,s)},[Symbol.toStringTag]:`${A} Iterator`};return Object.setPrototypeOf(r,qm),Object.setPrototypeOf({},r)}function Om(e,A){let t;switch(A){case"key":{t=e[0];break}case"value":{t=e[1];break}case"key+value":{t=e;break}}return{value:t,done:!1}}function Pm(e,A,t){let a=s=>queueMicrotask(()=>A(s)),r=s=>queueMicrotask(()=>t(s)),i;try{i=e.stream.getReader()}catch(s){r(s);return}f4(i,a,r)}var bo=globalThis.ReadableStream;function Wm(e){return bo||(bo=require("stream/web").ReadableStream),e instanceof bo||e[Symbol.toStringTag]==="ReadableStream"&&typeof e.tee=="function"}var Zm=65535;function jm(e){return e.length<Zm?String.fromCharCode(...e):e.reduce((A,t)=>A+String.fromCharCode(t),"")}function Xm(e){try{e.close()}catch(A){if(!A.message.includes("Controller is already closed"))throw A}}function zm(e){for(let A=0;A<e.length;A++)V1(e.charCodeAt(A)<=255);return e}async function f4(e,A,t){let a=[],r=0;for(;;){let i,s;try{({done:i,value:s}=await e.read())}catch(n){t(n);return}if(i){A(Buffer.concat(a,r));return}if(!Qm(s)){t(new TypeError("Received non-Uint8Array chunk"));return}a.push(s),r+=s.length}}function Km(e){V1("protocol"in e);let A=e.protocol;return A==="about:"||A==="blob:"||A==="data:"}function So(e){return typeof e=="string"?e.startsWith("https:"):e.protocol==="https:"}function w4(e){V1("protocol"in e);let A=e.protocol;return A==="http:"||A==="https:"}var $m=Object.hasOwn||((e,A)=>Object.prototype.hasOwnProperty.call(e,A));y4.exports={isAborted:Jm,isCancelled:Gm,createDeferredPromise:Ym,ReadableStreamFrom:Em,toUSVString:um,tryUpgradeRequestToAPotentiallyTrustworthyURL:Vm,coarsenedSharedCurrentTime:bm,determineRequestsReferrer:Um,makePolicyContainer:km,clonePolicyContainer:Fm,appendFetchMetadata:vm,appendRequestOriginHeader:Nm,TAOCheck:Rm,corsCheck:Dm,crossOriginResourcePolicyCheck:ym,createOpaqueTimingInfo:Sm,setRequestReferrerPolicyOnRedirect:wm,isValidHTTPToken:h4,requestBadPort:mm,requestCurrentURL:Pa,responseURL:B4,responseLocationURL:Cm,isBlobLike:cm,isURLPotentiallyTrustworthy:Oa,isValidReasonPhrase:hm,sameOrigin:Bi,normalizeMethod:xm,serializeJavascriptValueToJSONString:_m,makeIterator:Hm,isValidHeaderName:fm,isValidHeaderValue:I4,hasOwn:$m,isErrorLike:Bm,fullyReadBody:Pm,bytesMatch:Lm,isReadableStreamLike:Wm,readableStreamClose:Xm,isomorphicEncode:zm,isomorphicDecode:jm,urlIsLocal:Km,urlHasHttpsScheme:So,urlIsHttpHttpsScheme:w4,readAllBytes:f4}});var nt=E((_N,D4)=>{"use strict";D4.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kGuard:Symbol("guard"),kRealm:Symbol("realm")}});var Te=E((qN,v4)=>{"use strict";var{types:HA}=require("util"),{hasOwn:R4,toUSVString:eB}=QA(),f={};f.converters={};f.util={};f.errors={};f.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};f.errors.conversionFailed=function(e){let A=e.types.length===1?"":" one of",t=`${e.argument} could not be converted to${A}: ${e.types.join(", ")}.`;return f.errors.exception({header:e.prefix,message:t})};f.errors.invalidArgument=function(e){return f.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};f.brandCheck=function(e,A,t=void 0){if(t?.strict!==!1&&!(e instanceof A))throw new TypeError("Illegal invocation");return e?.[Symbol.toStringTag]===A.prototype[Symbol.toStringTag]};f.argumentLengthCheck=function({length:e},A,t){if(e<A)throw f.errors.exception({message:`${A} argument${A!==1?"s":""} required, but${e?" only":""} ${e} found.`,...t})};f.illegalConstructor=function(){throw f.errors.exception({header:"TypeError",message:"Illegal constructor"})};f.util.Type=function(e){switch(typeof e){case"undefined":return"Undefined";case"boolean":return"Boolean";case"string":return"String";case"symbol":return"Symbol";case"number":return"Number";case"bigint":return"BigInt";case"function":case"object":return e===null?"Null":"Object"}};f.util.ConvertToInt=function(e,A,t,a={}){let r,i;A===64?(r=Math.pow(2,53)-1,t==="unsigned"?i=0:i=Math.pow(-2,53)+1):t==="unsigned"?(i=0,r=Math.pow(2,A)-1):(i=Math.pow(-2,A)-1,r=Math.pow(2,A-1)-1);let s=Number(e);if(s===0&&(s=0),a.enforceRange===!0){if(Number.isNaN(s)||s===Number.POSITIVE_INFINITY||s===Number.NEGATIVE_INFINITY)throw f.errors.exception({header:"Integer conversion",message:`Could not convert ${e} to an integer.`});if(s=f.util.IntegerPart(s),s<i||s>r)throw f.errors.exception({header:"Integer conversion",message:`Value must be between ${i}-${r}, got ${s}.`});return s}return!Number.isNaN(s)&&a.clamp===!0?(s=Math.min(Math.max(s,i),r),Math.floor(s)%2===0?s=Math.floor(s):s=Math.ceil(s),s):Number.isNaN(s)||s===0&&Object.is(0,s)||s===Number.POSITIVE_INFINITY||s===Number.NEGATIVE_INFINITY?0:(s=f.util.IntegerPart(s),s=s%Math.pow(2,A),t==="signed"&&s>=Math.pow(2,A)-1?s-Math.pow(2,A):s)};f.util.IntegerPart=function(e){let A=Math.floor(Math.abs(e));return e<0?-1*A:A};f.sequenceConverter=function(e){return A=>{if(f.util.Type(A)!=="Object")throw f.errors.exception({header:"Sequence",message:`Value of type ${f.util.Type(A)} is not an Object.`});let t=A?.[Symbol.iterator]?.(),a=[];if(t===void 0||typeof t.next!="function")throw f.errors.exception({header:"Sequence",message:"Object is not an iterator."});for(;;){let{done:r,value:i}=t.next();if(r)break;a.push(e(i))}return a}};f.recordConverter=function(e,A){return t=>{if(f.util.Type(t)!=="Object")throw f.errors.exception({header:"Record",message:`Value of type ${f.util.Type(t)} is not an Object.`});let a={};if(!HA.isProxy(t)){let i=Object.keys(t);for(let s of i){let n=e(s),o=A(t[s]);a[n]=o}return a}let r=Reflect.ownKeys(t);for(let i of r)if(Reflect.getOwnPropertyDescriptor(t,i)?.enumerable){let n=e(i),o=A(t[i]);a[n]=o}return a}};f.interfaceConverter=function(e){return(A,t={})=>{if(t.strict!==!1&&!(A instanceof e))throw f.errors.exception({header:e.name,message:`Expected ${A} to be an instance of ${e.name}.`});return A}};f.dictionaryConverter=function(e){return A=>{let t=f.util.Type(A),a={};if(t==="Null"||t==="Undefined")return a;if(t!=="Object")throw f.errors.exception({header:"Dictionary",message:`Expected ${A} to be one of: Null, Undefined, Object.`});for(let r of e){let{key:i,defaultValue:s,required:n,converter:o}=r;if(n===!0&&!R4(A,i))throw f.errors.exception({header:"Dictionary",message:`Missing required key "${i}".`});let d=A[i],l=R4(r,"defaultValue");if(l&&d!==null&&(d=d??s),n||l||d!==void 0){if(d=o(d),r.allowedValues&&!r.allowedValues.includes(d))throw f.errors.exception({header:"Dictionary",message:`${d} is not an accepted type. Expected one of ${r.allowedValues.join(", ")}.`});a[i]=d}}return a}};f.nullableConverter=function(e){return A=>A===null?A:e(A)};f.converters.DOMString=function(e,A={}){if(e===null&&A.legacyNullToEmptyString)return"";if(typeof e=="symbol")throw new TypeError("Could not convert argument of type symbol to string.");return String(e)};f.converters.ByteString=function(e){let A=f.converters.DOMString(e);for(let t=0;t<A.length;t++){let a=A.charCodeAt(t);if(a>255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${t} has a value of ${a} which is greater than 255.`)}return A};f.converters.USVString=eB;f.converters.boolean=function(e){return!!e};f.converters.any=function(e){return e};f.converters["long long"]=function(e){return f.util.ConvertToInt(e,64,"signed")};f.converters["unsigned long long"]=function(e){return f.util.ConvertToInt(e,64,"unsigned")};f.converters["unsigned long"]=function(e){return f.util.ConvertToInt(e,32,"unsigned")};f.converters["unsigned short"]=function(e,A){return f.util.ConvertToInt(e,16,"unsigned",A)};f.converters.ArrayBuffer=function(e,A={}){if(f.util.Type(e)!=="Object"||!HA.isAnyArrayBuffer(e))throw f.errors.conversionFailed({prefix:`${e}`,argument:`${e}`,types:["ArrayBuffer"]});if(A.allowShared===!1&&HA.isSharedArrayBuffer(e))throw f.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});return e};f.converters.TypedArray=function(e,A,t={}){if(f.util.Type(e)!=="Object"||!HA.isTypedArray(e)||e.constructor.name!==A.name)throw f.errors.conversionFailed({prefix:`${A.name}`,argument:`${e}`,types:[A.name]});if(t.allowShared===!1&&HA.isSharedArrayBuffer(e.buffer))throw f.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});return e};f.converters.DataView=function(e,A={}){if(f.util.Type(e)!=="Object"||!HA.isDataView(e))throw f.errors.exception({header:"DataView",message:"Object is not a DataView."});if(A.allowShared===!1&&HA.isSharedArrayBuffer(e.buffer))throw f.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});return e};f.converters.BufferSource=function(e,A={}){if(HA.isAnyArrayBuffer(e))return f.converters.ArrayBuffer(e,A);if(HA.isTypedArray(e))return f.converters.TypedArray(e,e.constructor);if(HA.isDataView(e))return f.converters.DataView(e,A);throw new TypeError(`Could not convert ${e} to a BufferSource.`)};f.converters["sequence<ByteString>"]=f.sequenceConverter(f.converters.ByteString);f.converters["sequence<sequence<ByteString>>"]=f.sequenceConverter(f.converters["sequence<ByteString>"]);f.converters["record<ByteString, ByteString>"]=f.recordConverter(f.converters.ByteString,f.converters.ByteString);v4.exports={webidl:f}});var bA=E((HN,U4)=>{var Ii=require("assert"),{atob:AB}=require("buffer"),{isomorphicDecode:tB}=QA(),aB=new TextEncoder,hi=/^[!#$%&'*+-.^_|~A-Za-z0-9]+$/,rB=/(\u000A|\u000D|\u0009|\u0020)/,iB=/[\u0009|\u0020-\u007E|\u0080-\u00FF]/;function sB(e){Ii(e.protocol==="data:");let A=S4(e,!0);A=A.slice(5);let t={position:0},a=Y1(",",A,t),r=a.length;if(a=pB(a,!0,!0),t.position>=A.length)return"failure";t.position++;let i=A.slice(r+1),s=k4(i);if(/;(\u0020){0,}base64$/i.test(a)){let o=tB(s);if(s=oB(o),s==="failure")return"failure";a=a.slice(0,-6),a=a.replace(/(\u0020)+$/,""),a=a.slice(0,-1)}a.startsWith(";")&&(a="text/plain"+a);let n=Fo(a);return n==="failure"&&(n=Fo("text/plain;charset=US-ASCII")),{mimeType:n,body:s}}function S4(e,A=!1){let t=e.href;if(!A)return t;let a=t.lastIndexOf("#");return a===-1?t:t.slice(0,a)}function fi(e,A,t){let a="";for(;t.position<A.length&&e(A[t.position]);)a+=A[t.position],t.position++;return a}function Y1(e,A,t){let a=A.indexOf(e,t.position),r=t.position;return a===-1?(t.position=A.length,A.slice(r)):(t.position=a,A.slice(r,t.position))}function k4(e){let A=aB.encode(e);return nB(A)}function nB(e){let A=[];for(let t=0;t<e.length;t++){let a=e[t];if(a!==37)A.push(a);else if(a===37&&!/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(e[t+1],e[t+2])))A.push(37);else{let r=String.fromCharCode(e[t+1],e[t+2]),i=Number.parseInt(r,16);A.push(i),t+=2}}return Uint8Array.from(A)}function Fo(e){e=ko(e,!0,!0);let A={position:0},t=Y1("/",e,A);if(t.length===0||!hi.test(t)||A.position>e.length)return"failure";A.position++;let a=Y1(";",e,A);if(a=ko(a,!1,!0),a.length===0||!hi.test(a))return"failure";let r=t.toLowerCase(),i=a.toLowerCase(),s={type:r,subtype:i,parameters:new Map,essence:`${r}/${i}`};for(;A.position<e.length;){A.position++,fi(d=>rB.test(d),e,A);let n=fi(d=>d!==";"&&d!=="=",e,A);if(n=n.toLowerCase(),A.position<e.length){if(e[A.position]===";")continue;A.position++}if(A.position>e.length)break;let o=null;if(e[A.position]==='"')o=F4(e,A,!0),Y1(";",e,A);else if(o=Y1(";",e,A),o=ko(o,!1,!0),o.length===0)continue;n.length!==0&&hi.test(n)&&(o.length===0||iB.test(o))&&!s.parameters.has(n)&&s.parameters.set(n,o)}return s}function oB(e){if(e=e.replace(/[\u0009\u000A\u000C\u000D\u0020]/g,""),e.length%4===0&&(e=e.replace(/=?=$/,"")),e.length%4===1||/[^+/0-9A-Za-z]/.test(e))return"failure";let A=AB(e),t=new Uint8Array(A.length);for(let a=0;a<A.length;a++)t[a]=A.charCodeAt(a);return t}function F4(e,A,t){let a=A.position,r="";for(Ii(e[A.position]==='"'),A.position++;r+=fi(s=>s!=='"'&&s!=="\\",e,A),!(A.position>=e.length);){let i=e[A.position];if(A.position++,i==="\\"){if(A.position>=e.length){r+="\\";break}r+=e[A.position],A.position++}else{Ii(i==='"');break}}return t?r:e.slice(a,A.position)}function dB(e){Ii(e!=="failure");let{parameters:A,essence:t}=e,a=t;for(let[r,i]of A.entries())a+=";",a+=r,a+="=",hi.test(i)||(i=i.replace(/(\\|")/g,"\\$1"),i='"'+i,i+='"'),a+=i;return a}function N4(e){return e==="\r"||e===` +`||e===" "||e===" "}function ko(e,A=!0,t=!0){let a=0,r=e.length-1;if(A)for(;a<e.length&&N4(e[a]);a++);if(t)for(;r>0&&N4(e[r]);r--);return e.slice(a,r+1)}function b4(e){return e==="\r"||e===` +`||e===" "||e==="\f"||e===" "}function pB(e,A=!0,t=!0){let a=0,r=e.length-1;if(A)for(;a<e.length&&b4(e[a]);a++);if(t)for(;r>0&&b4(e[r]);r--);return e.slice(a,r+1)}U4.exports={dataURLProcessor:sB,URLSerializer:S4,collectASequenceOfCodePoints:fi,collectASequenceOfCodePointsFast:Y1,stringPercentDecode:k4,parseMIMEType:Fo,collectAnHTTPQuotedString:F4,serializeAMimeType:dB}});var wi=E((ON,Y4)=>{"use strict";var{Blob:T4,File:L4}=require("buffer"),{types:Uo}=require("util"),{kState:$e}=nt(),{isBlobLike:V4}=QA(),{webidl:H}=Te(),{parseMIMEType:lB,serializeAMimeType:gB}=bA(),{kEnumerableProperty:M4}=_(),Wa=class e extends T4{constructor(A,t,a={}){H.argumentLengthCheck(arguments,2,{header:"File constructor"}),A=H.converters["sequence<BlobPart>"](A),t=H.converters.USVString(t),a=H.converters.FilePropertyBag(a);let r=t,i=a.type,s;e:{if(i){if(i=lB(i),i==="failure"){i="";break e}i=gB(i).toLowerCase()}s=a.lastModified}super(cB(A,a),{type:i}),this[$e]={name:r,lastModified:s,type:i}}get name(){return H.brandCheck(this,e),this[$e].name}get lastModified(){return H.brandCheck(this,e),this[$e].lastModified}get type(){return H.brandCheck(this,e),this[$e].type}},Lo=class e{constructor(A,t,a={}){let r=t,i=a.type,s=a.lastModified??Date.now();this[$e]={blobLike:A,name:r,type:i,lastModified:s}}stream(...A){return H.brandCheck(this,e),this[$e].blobLike.stream(...A)}arrayBuffer(...A){return H.brandCheck(this,e),this[$e].blobLike.arrayBuffer(...A)}slice(...A){return H.brandCheck(this,e),this[$e].blobLike.slice(...A)}text(...A){return H.brandCheck(this,e),this[$e].blobLike.text(...A)}get size(){return H.brandCheck(this,e),this[$e].blobLike.size}get type(){return H.brandCheck(this,e),this[$e].blobLike.type}get name(){return H.brandCheck(this,e),this[$e].name}get lastModified(){return H.brandCheck(this,e),this[$e].lastModified}get[Symbol.toStringTag](){return"File"}};Object.defineProperties(Wa.prototype,{[Symbol.toStringTag]:{value:"File",configurable:!0},name:M4,lastModified:M4});H.converters.Blob=H.interfaceConverter(T4);H.converters.BlobPart=function(e,A){if(H.util.Type(e)==="Object"){if(V4(e))return H.converters.Blob(e,{strict:!1});if(ArrayBuffer.isView(e)||Uo.isAnyArrayBuffer(e))return H.converters.BufferSource(e,A)}return H.converters.USVString(e,A)};H.converters["sequence<BlobPart>"]=H.sequenceConverter(H.converters.BlobPart);H.converters.FilePropertyBag=H.dictionaryConverter([{key:"lastModified",converter:H.converters["long long"],get defaultValue(){return Date.now()}},{key:"type",converter:H.converters.DOMString,defaultValue:""},{key:"endings",converter:e=>(e=H.converters.DOMString(e),e=e.toLowerCase(),e!=="native"&&(e="transparent"),e),defaultValue:"transparent"}]);function cB(e,A){let t=[];for(let a of e)if(typeof a=="string"){let r=a;A.endings==="native"&&(r=uB(r)),t.push(new TextEncoder().encode(r))}else Uo.isAnyArrayBuffer(a)||Uo.isTypedArray(a)?a.buffer?t.push(new Uint8Array(a.buffer,a.byteOffset,a.byteLength)):t.push(new Uint8Array(a)):V4(a)&&t.push(a);return t}function uB(e){let A=` +`;return process.platform==="win32"&&(A=`\r +`),e.replace(/\r?\n/g,A)}function EB(e){return L4&&e instanceof L4||e instanceof Wa||e&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&e[Symbol.toStringTag]==="File"}Y4.exports={File:Wa,FileLike:Lo,isFileLike:EB}});var Di=E((PN,q4)=>{"use strict";var{isBlobLike:yi,toUSVString:QB,makeIterator:Mo}=QA(),{kState:Ue}=nt(),{File:_4,FileLike:J4,isFileLike:CB}=wi(),{webidl:P}=Te(),{Blob:mB,File:To}=require("buffer"),G4=To??_4,J1=class e{constructor(A){if(A!==void 0)throw P.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]});this[Ue]=[]}append(A,t,a=void 0){if(P.brandCheck(this,e),P.argumentLengthCheck(arguments,2,{header:"FormData.append"}),arguments.length===3&&!yi(t))throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'");A=P.converters.USVString(A),t=yi(t)?P.converters.Blob(t,{strict:!1}):P.converters.USVString(t),a=arguments.length===3?P.converters.USVString(a):void 0;let r=x4(A,t,a);this[Ue].push(r)}delete(A){P.brandCheck(this,e),P.argumentLengthCheck(arguments,1,{header:"FormData.delete"}),A=P.converters.USVString(A),this[Ue]=this[Ue].filter(t=>t.name!==A)}get(A){P.brandCheck(this,e),P.argumentLengthCheck(arguments,1,{header:"FormData.get"}),A=P.converters.USVString(A);let t=this[Ue].findIndex(a=>a.name===A);return t===-1?null:this[Ue][t].value}getAll(A){return P.brandCheck(this,e),P.argumentLengthCheck(arguments,1,{header:"FormData.getAll"}),A=P.converters.USVString(A),this[Ue].filter(t=>t.name===A).map(t=>t.value)}has(A){return P.brandCheck(this,e),P.argumentLengthCheck(arguments,1,{header:"FormData.has"}),A=P.converters.USVString(A),this[Ue].findIndex(t=>t.name===A)!==-1}set(A,t,a=void 0){if(P.brandCheck(this,e),P.argumentLengthCheck(arguments,2,{header:"FormData.set"}),arguments.length===3&&!yi(t))throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'");A=P.converters.USVString(A),t=yi(t)?P.converters.Blob(t,{strict:!1}):P.converters.USVString(t),a=arguments.length===3?QB(a):void 0;let r=x4(A,t,a),i=this[Ue].findIndex(s=>s.name===A);i!==-1?this[Ue]=[...this[Ue].slice(0,i),r,...this[Ue].slice(i+1).filter(s=>s.name!==A)]:this[Ue].push(r)}entries(){return P.brandCheck(this,e),Mo(()=>this[Ue].map(A=>[A.name,A.value]),"FormData","key+value")}keys(){return P.brandCheck(this,e),Mo(()=>this[Ue].map(A=>[A.name,A.value]),"FormData","key")}values(){return P.brandCheck(this,e),Mo(()=>this[Ue].map(A=>[A.name,A.value]),"FormData","value")}forEach(A,t=globalThis){if(P.brandCheck(this,e),P.argumentLengthCheck(arguments,1,{header:"FormData.forEach"}),typeof A!="function")throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.");for(let[a,r]of this)A.apply(t,[r,a,this])}};J1.prototype[Symbol.iterator]=J1.prototype.entries;Object.defineProperties(J1.prototype,{[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function x4(e,A,t){if(e=Buffer.from(e).toString("utf8"),typeof A=="string")A=Buffer.from(A).toString("utf8");else if(CB(A)||(A=A instanceof mB?new G4([A],"blob",{type:A.type}):new J4(A,"blob",{type:A.type})),t!==void 0){let a={type:A.type,lastModified:A.lastModified};A=To&&A instanceof To||A instanceof _4?new G4([A],t,a):new J4(A,t,a)}return{name:e,value:A}}q4.exports={FormData:J1}});var Za=E((WN,K4)=>{"use strict";var BB=Q4(),G1=_(),{ReadableStreamFrom:hB,isBlobLike:H4,isReadableStreamLike:IB,readableStreamClose:fB,createDeferredPromise:wB,fullyReadBody:yB}=QA(),{FormData:O4}=Di(),{kState:dt}=nt(),{webidl:Vo}=Te(),{DOMException:Z4,structuredClone:DB}=Nt(),{Blob:RB,File:vB}=require("buffer"),{kBodyUsed:NB}=te(),Yo=require("assert"),{isErrored:bB}=_(),{isUint8Array:j4,isArrayBuffer:SB}=require("util/types"),{File:kB}=wi(),{parseMIMEType:FB,serializeAMimeType:UB}=bA(),ot=globalThis.ReadableStream,P4=vB??kB;function X4(e,A=!1){ot||(ot=require("stream/web").ReadableStream);let t=null;e instanceof ot?t=e:H4(e)?t=e.stream():t=new ot({async pull(o){o.enqueue(typeof r=="string"?new TextEncoder().encode(r):r),queueMicrotask(()=>fB(o))},start(){},type:void 0}),Yo(IB(t));let a=null,r=null,i=null,s=null;if(typeof e=="string")r=e,s="text/plain;charset=UTF-8";else if(e instanceof URLSearchParams)r=e.toString(),s="application/x-www-form-urlencoded;charset=UTF-8";else if(SB(e))r=new Uint8Array(e.slice());else if(ArrayBuffer.isView(e))r=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength));else if(G1.isFormDataLike(e)){let o=`----formdata-undici-0${`${Math.floor(Math.random()*1e11)}`.padStart(11,"0")}`,d=`--${o}\r +Content-Disposition: form-data`;let l=C=>C.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),p=C=>C.replace(/\r?\n|\r/g,`\r +`),g=new TextEncoder,c=[],u=new Uint8Array([13,10]);i=0;let Q=!1;for(let[C,B]of e)if(typeof B=="string"){let w=g.encode(d+`; name="${l(p(C))}"\r +\r +${p(B)}\r +`);c.push(w),i+=w.byteLength}else{let w=g.encode(`${d}; name="${l(p(C))}"`+(B.name?`; filename="${l(B.name)}"`:"")+`\r +Content-Type: ${B.type||"application/octet-stream"}\r +\r +`);c.push(w,B,u),typeof B.size=="number"?i+=w.byteLength+B.size+u.byteLength:Q=!0}let m=g.encode(`--${o}--`);c.push(m),i+=m.byteLength,Q&&(i=null),r=e,a=async function*(){for(let C of c)C.stream?yield*C.stream():yield C},s="multipart/form-data; boundary="+o}else if(H4(e))r=e,i=e.size,e.type&&(s=e.type);else if(typeof e[Symbol.asyncIterator]=="function"){if(A)throw new TypeError("keepalive");if(G1.isDisturbed(e)||e.locked)throw new TypeError("Response body object should not be disturbed or locked");t=e instanceof ot?e:hB(e)}if((typeof r=="string"||G1.isBuffer(r))&&(i=Buffer.byteLength(r)),a!=null){let o;t=new ot({async start(){o=a(e)[Symbol.asyncIterator]()},async pull(d){let{value:l,done:p}=await o.next();return p?queueMicrotask(()=>{d.close()}):bB(t)||d.enqueue(new Uint8Array(l)),d.desiredSize>0},async cancel(d){await o.return()},type:void 0})}return[{stream:t,source:r,length:i},s]}function LB(e,A=!1){return ot||(ot=require("stream/web").ReadableStream),e instanceof ot&&(Yo(!G1.isDisturbed(e),"The body has already been consumed."),Yo(!e.locked,"The stream is locked.")),X4(e,A)}function MB(e){let[A,t]=e.stream.tee(),a=DB(t,{transfer:[t]}),[,r]=a.tee();return e.stream=A,{stream:r,length:e.length,source:e.source}}async function*W4(e){if(e)if(j4(e))yield e;else{let A=e.stream;if(G1.isDisturbed(A))throw new TypeError("The body has already been consumed.");if(A.locked)throw new TypeError("The stream is locked.");A[NB]=!0,yield*A}}function Jo(e){if(e.aborted)throw new Z4("The operation was aborted.","AbortError")}function TB(e){return{blob(){return Ri(this,t=>{let a=GB(this);return a==="failure"?a="":a&&(a=UB(a)),new RB([t],{type:a})},e)},arrayBuffer(){return Ri(this,t=>new Uint8Array(t).buffer,e)},text(){return Ri(this,z4,e)},json(){return Ri(this,JB,e)},async formData(){Vo.brandCheck(this,e),Jo(this[dt]);let t=this.headers.get("Content-Type");if(/multipart\/form-data/.test(t)){let a={};for(let[n,o]of this.headers)a[n.toLowerCase()]=o;let r=new O4,i;try{i=BB({headers:a,defParamCharset:"utf8"})}catch(n){throw new Z4(`${n}`,"AbortError")}i.on("field",(n,o)=>{r.append(n,o)}),i.on("file",(n,o,d)=>{let{filename:l,encoding:p,mimeType:g}=d,c=[];if(p==="base64"||p.toLowerCase()==="base64"){let u="";o.on("data",Q=>{u+=Q.toString().replace(/[\r\n]/gm,"");let m=u.length-u.length%4;c.push(Buffer.from(u.slice(0,m),"base64")),u=u.slice(m)}),o.on("end",()=>{c.push(Buffer.from(u,"base64")),r.append(n,new P4(c,l,{type:g}))})}else o.on("data",u=>{c.push(u)}),o.on("end",()=>{r.append(n,new P4(c,l,{type:g}))})});let s=new Promise((n,o)=>{i.on("finish",n),i.on("error",d=>o(new TypeError(d)))});if(this.body!==null)for await(let n of W4(this[dt].body))i.write(n);return i.end(),await s,r}else if(/application\/x-www-form-urlencoded/.test(t)){let a;try{let i="",s=new TextDecoder("utf-8",{ignoreBOM:!0});for await(let n of W4(this[dt].body)){if(!j4(n))throw new TypeError("Expected Uint8Array chunk");i+=s.decode(n,{stream:!0})}i+=s.decode(),a=new URLSearchParams(i)}catch(i){throw Object.assign(new TypeError,{cause:i})}let r=new O4;for(let[i,s]of a)r.append(i,s);return r}else throw await Promise.resolve(),Jo(this[dt]),Vo.errors.exception({header:`${e.name}.formData`,message:"Could not parse content as FormData."})}}}function VB(e){Object.assign(e.prototype,TB(e))}async function Ri(e,A,t){if(Vo.brandCheck(e,t),Jo(e[dt]),YB(e[dt].body))throw new TypeError("Body is unusable");let a=wB(),r=s=>a.reject(s),i=s=>{try{a.resolve(A(s))}catch(n){r(n)}};return e[dt].body==null?(i(new Uint8Array),a.promise):(yB(e[dt].body,i,r),a.promise)}function YB(e){return e!=null&&(e.stream.locked||G1.isDisturbed(e.stream))}function z4(e){return e.length===0?"":(e[0]===239&&e[1]===187&&e[2]===191&&(e=e.subarray(3)),new TextDecoder().decode(e))}function JB(e){return JSON.parse(z4(e))}function GB(e){let{headersList:A}=e[dt],t=A.get("content-type");return t===null?"failure":FB(t)}K4.exports={extractBody:X4,safelyExtractBody:LB,cloneBody:MB,mixinBody:VB}});var tg=E((ZN,Ag)=>{"use strict";var{InvalidArgumentError:ae,NotSupportedError:xB}=z(),pt=require("assert"),eA=_(),$4=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/,eg=/[^\t\x20-\x7e\x80-\xff]/,_B=/[^\u0021-\u00ff]/,lt=Symbol("handler"),ue={},Go;try{let e=require("diagnostics_channel");ue.create=e.channel("undici:request:create"),ue.bodySent=e.channel("undici:request:bodySent"),ue.headers=e.channel("undici:request:headers"),ue.trailers=e.channel("undici:request:trailers"),ue.error=e.channel("undici:request:error")}catch{ue.create={hasSubscribers:!1},ue.bodySent={hasSubscribers:!1},ue.headers={hasSubscribers:!1},ue.trailers={hasSubscribers:!1},ue.error={hasSubscribers:!1}}var qo=class{constructor(A,{path:t,method:a,body:r,headers:i,query:s,idempotent:n,blocking:o,upgrade:d,headersTimeout:l,bodyTimeout:p,reset:g,throwOnError:c},u){if(typeof t!="string")throw new ae("path must be a string");if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&a!=="CONNECT")throw new ae("path must be an absolute URL or start with a slash");if(_B.exec(t)!==null)throw new ae("invalid request path");if(typeof a!="string")throw new ae("method must be a string");if($4.exec(a)===null)throw new ae("invalid request method");if(d&&typeof d!="string")throw new ae("upgrade must be a string");if(l!=null&&(!Number.isFinite(l)||l<0))throw new ae("invalid headersTimeout");if(p!=null&&(!Number.isFinite(p)||p<0))throw new ae("invalid bodyTimeout");if(g!=null&&typeof g!="boolean")throw new ae("invalid reset");if(this.headersTimeout=l,this.bodyTimeout=p,this.throwOnError=c===!0,this.method=a,r==null)this.body=null;else if(eA.isStream(r))this.body=r;else if(eA.isBuffer(r))this.body=r.byteLength?r:null;else if(ArrayBuffer.isView(r))this.body=r.buffer.byteLength?Buffer.from(r.buffer,r.byteOffset,r.byteLength):null;else if(r instanceof ArrayBuffer)this.body=r.byteLength?Buffer.from(r):null;else if(typeof r=="string")this.body=r.length?Buffer.from(r):null;else if(eA.isFormDataLike(r)||eA.isIterable(r)||eA.isBlobLike(r))this.body=r;else throw new ae("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=d||null,this.path=s?eA.buildURL(t,s):t,this.origin=A,this.idempotent=n??(a==="HEAD"||a==="GET"),this.blocking=o??!1,this.reset=g??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers="",Array.isArray(i)){if(i.length%2!==0)throw new ae("headers array must be even");for(let Q=0;Q<i.length;Q+=2)_o(this,i[Q],i[Q+1])}else if(i&&typeof i=="object"){let Q=Object.keys(i);for(let m=0;m<Q.length;m++){let C=Q[m];_o(this,C,i[C])}}else if(i!=null)throw new ae("headers must be an object or an array");if(eA.isFormDataLike(this.body)){if(eA.nodeMajor<16||eA.nodeMajor===16&&eA.nodeMinor<8)throw new ae("Form-Data bodies are only supported in node v16.8 and newer.");Go||(Go=Za().extractBody);let[Q,m]=Go(r);this.contentType==null&&(this.contentType=m,this.headers+=`content-type: ${m}\r +`),this.body=Q.stream,this.contentLength=Q.length}else eA.isBlobLike(r)&&this.contentType==null&&r.type&&(this.contentType=r.type,this.headers+=`content-type: ${r.type}\r +`);eA.validateHandler(u,a,d),this.servername=eA.getServerName(this.host),this[lt]=u,ue.create.hasSubscribers&&ue.create.publish({request:this})}onBodySent(A){if(this[lt].onBodySent)try{this[lt].onBodySent(A)}catch(t){this.onError(t)}}onRequestSent(){ue.bodySent.hasSubscribers&&ue.bodySent.publish({request:this})}onConnect(A){return pt(!this.aborted),pt(!this.completed),this[lt].onConnect(A)}onHeaders(A,t,a,r){return pt(!this.aborted),pt(!this.completed),ue.headers.hasSubscribers&&ue.headers.publish({request:this,response:{statusCode:A,headers:t,statusText:r}}),this[lt].onHeaders(A,t,a,r)}onData(A){return pt(!this.aborted),pt(!this.completed),this[lt].onData(A)}onUpgrade(A,t,a){return pt(!this.aborted),pt(!this.completed),this[lt].onUpgrade(A,t,a)}onComplete(A){return pt(!this.aborted),this.completed=!0,ue.trailers.hasSubscribers&&ue.trailers.publish({request:this,trailers:A}),this[lt].onComplete(A)}onError(A){if(ue.error.hasSubscribers&&ue.error.publish({request:this,error:A}),!this.aborted)return this.aborted=!0,this[lt].onError(A)}addHeader(A,t){return _o(this,A,t),this}};function xo(e,A){if(A&&typeof A=="object")throw new ae(`invalid ${e} header`);if(A=A!=null?`${A}`:"",eg.exec(A)!==null)throw new ae(`invalid ${e} header`);return`${e}: ${A}\r +`}function _o(e,A,t){if(t&&typeof t=="object"&&!Array.isArray(t))throw new ae(`invalid ${A} header`);if(t===void 0)return;if(e.host===null&&A.length===4&&A.toLowerCase()==="host"){if(eg.exec(t)!==null)throw new ae(`invalid ${A} header`);e.host=t}else if(e.contentLength===null&&A.length===14&&A.toLowerCase()==="content-length"){if(e.contentLength=parseInt(t,10),!Number.isFinite(e.contentLength))throw new ae("invalid content-length header")}else if(e.contentType===null&&A.length===12&&A.toLowerCase()==="content-type")e.contentType=t,e.headers+=xo(A,t);else{if(A.length===17&&A.toLowerCase()==="transfer-encoding")throw new ae("invalid transfer-encoding header");if(A.length===10&&A.toLowerCase()==="connection"){let a=typeof t=="string"?t.toLowerCase():null;if(a!=="close"&&a!=="keep-alive")throw new ae("invalid connection header");a==="close"&&(e.reset=!0)}else{if(A.length===10&&A.toLowerCase()==="keep-alive")throw new ae("invalid keep-alive header");if(A.length===7&&A.toLowerCase()==="upgrade")throw new ae("invalid upgrade header");if(A.length===6&&A.toLowerCase()==="expect")throw new xB("expect header not supported");if($4.exec(A)===null)throw new ae("invalid header key");if(Array.isArray(t))for(let a=0;a<t.length;a++)e.headers+=xo(A,t[a]);else e.headers+=xo(A,t)}}}Ag.exports=qo});var vi=E((jN,ag)=>{"use strict";var qB=require("events"),Ho=class extends qB{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}};ag.exports=Ho});var Xa=E((XN,rg)=>{"use strict";var HB=vi(),{ClientDestroyedError:Oo,ClientClosedError:OB,InvalidArgumentError:x1}=z(),{kDestroy:PB,kClose:WB,kDispatch:Po,kInterceptors:Kt}=te(),_1=Symbol("destroyed"),ja=Symbol("closed"),gt=Symbol("onDestroyed"),q1=Symbol("onClosed"),Ni=Symbol("Intercepted Dispatch"),Wo=class extends HB{constructor(){super(),this[_1]=!1,this[gt]=null,this[ja]=!1,this[q1]=[]}get destroyed(){return this[_1]}get closed(){return this[ja]}get interceptors(){return this[Kt]}set interceptors(A){if(A){for(let t=A.length-1;t>=0;t--)if(typeof this[Kt][t]!="function")throw new x1("interceptor must be an function")}this[Kt]=A}close(A){if(A===void 0)return new Promise((a,r)=>{this.close((i,s)=>i?r(i):a(s))});if(typeof A!="function")throw new x1("invalid callback");if(this[_1]){queueMicrotask(()=>A(new Oo,null));return}if(this[ja]){this[q1]?this[q1].push(A):queueMicrotask(()=>A(null,null));return}this[ja]=!0,this[q1].push(A);let t=()=>{let a=this[q1];this[q1]=null;for(let r=0;r<a.length;r++)a[r](null,null)};this[WB]().then(()=>this.destroy()).then(()=>{queueMicrotask(t)})}destroy(A,t){if(typeof A=="function"&&(t=A,A=null),t===void 0)return new Promise((r,i)=>{this.destroy(A,(s,n)=>s?i(s):r(n))});if(typeof t!="function")throw new x1("invalid callback");if(this[_1]){this[gt]?this[gt].push(t):queueMicrotask(()=>t(null,null));return}A||(A=new Oo),this[_1]=!0,this[gt]=this[gt]||[],this[gt].push(t);let a=()=>{let r=this[gt];this[gt]=null;for(let i=0;i<r.length;i++)r[i](null,null)};this[PB](A).then(()=>{queueMicrotask(a)})}[Ni](A,t){if(!this[Kt]||this[Kt].length===0)return this[Ni]=this[Po],this[Po](A,t);let a=this[Po].bind(this);for(let r=this[Kt].length-1;r>=0;r--)a=this[Kt][r](a);return this[Ni]=a,a(A,t)}dispatch(A,t){if(!t||typeof t!="object")throw new x1("handler must be an object");try{if(!A||typeof A!="object")throw new x1("opts must be an object.");if(this[_1]||this[gt])throw new Oo;if(this[ja])throw new OB;return this[Ni](A,t)}catch(a){if(typeof t.onError!="function")throw new x1("invalid onError method");return t.onError(a),!1}}};rg.exports=Wo});var za=E(($N,ng)=>{"use strict";var ZB=require("net"),ig=require("assert"),sg=_(),{InvalidArgumentError:jB,ConnectTimeoutError:XB}=z(),Zo,jo;global.FinalizationRegistry?jo=class{constructor(A){this._maxCachedSessions=A,this._sessionCache=new Map,this._sessionRegistry=new global.FinalizationRegistry(t=>{if(this._sessionCache.size<this._maxCachedSessions)return;let a=this._sessionCache.get(t);a!==void 0&&a.deref()===void 0&&this._sessionCache.delete(t)})}get(A){let t=this._sessionCache.get(A);return t?t.deref():null}set(A,t){this._maxCachedSessions!==0&&(this._sessionCache.set(A,new WeakRef(t)),this._sessionRegistry.register(t,A))}}:jo=class{constructor(A){this._maxCachedSessions=A,this._sessionCache=new Map}get(A){return this._sessionCache.get(A)}set(A,t){if(this._maxCachedSessions!==0){if(this._sessionCache.size>=this._maxCachedSessions){let{value:a}=this._sessionCache.keys().next();this._sessionCache.delete(a)}this._sessionCache.set(A,t)}}};function zB({maxCachedSessions:e,socketPath:A,timeout:t,...a}){if(e!=null&&(!Number.isInteger(e)||e<0))throw new jB("maxCachedSessions must be a positive integer or zero");let r={path:A,...a},i=new jo(e??100);return t=t??1e4,function({hostname:n,host:o,protocol:d,port:l,servername:p,localAddress:g,httpSocket:c},u){let Q;if(d==="https:"){Zo||(Zo=require("tls")),p=p||r.servername||sg.getServerName(o)||null;let C=p||n,B=i.get(C)||null;ig(C),Q=Zo.connect({highWaterMark:16384,...r,servername:p,session:B,localAddress:g,socket:c,port:l||443,host:n}),Q.on("session",function(w){i.set(C,w)})}else ig(!c,"httpSocket can only be sent on TLS update"),Q=ZB.connect({highWaterMark:64*1024,...r,localAddress:g,port:l||80,host:n});if(r.keepAlive==null||r.keepAlive){let C=r.keepAliveInitialDelay===void 0?6e4:r.keepAliveInitialDelay;Q.setKeepAlive(!0,C)}let m=KB(()=>$B(Q),t);return Q.setNoDelay(!0).once(d==="https:"?"secureConnect":"connect",function(){if(m(),u){let C=u;u=null,C(null,this)}}).on("error",function(C){if(m(),u){let B=u;u=null,B(C)}}),Q}}function KB(e,A){if(!A)return()=>{};let t=null,a=null,r=setTimeout(()=>{t=setImmediate(()=>{process.platform==="win32"?a=setImmediate(()=>e()):e()})},A);return()=>{clearTimeout(r),clearImmediate(t),clearImmediate(a)}}function $B(e){sg.destroy(e,new XB)}ng.exports=zB});var og=E(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.enumToMap=void 0;function eh(e){let A={};return Object.keys(e).forEach(t=>{let a=e[t];typeof a=="number"&&(A[t]=a)}),A}bi.enumToMap=eh});var dg=E(h=>{"use strict";Object.defineProperty(h,"__esModule",{value:!0});h.SPECIAL_HEADERS=h.HEADER_STATE=h.MINOR=h.MAJOR=h.CONNECTION_TOKEN_CHARS=h.HEADER_CHARS=h.TOKEN=h.STRICT_TOKEN=h.HEX=h.URL_CHAR=h.STRICT_URL_CHAR=h.USERINFO_CHARS=h.MARK=h.ALPHANUM=h.NUM=h.HEX_MAP=h.NUM_MAP=h.ALPHA=h.FINISH=h.H_METHOD_MAP=h.METHOD_MAP=h.METHODS_RTSP=h.METHODS_ICE=h.METHODS_HTTP=h.METHODS=h.LENIENT_FLAGS=h.FLAGS=h.TYPE=h.ERROR=void 0;var Ah=og(),th;(function(e){e[e.OK=0]="OK",e[e.INTERNAL=1]="INTERNAL",e[e.STRICT=2]="STRICT",e[e.LF_EXPECTED=3]="LF_EXPECTED",e[e.UNEXPECTED_CONTENT_LENGTH=4]="UNEXPECTED_CONTENT_LENGTH",e[e.CLOSED_CONNECTION=5]="CLOSED_CONNECTION",e[e.INVALID_METHOD=6]="INVALID_METHOD",e[e.INVALID_URL=7]="INVALID_URL",e[e.INVALID_CONSTANT=8]="INVALID_CONSTANT",e[e.INVALID_VERSION=9]="INVALID_VERSION",e[e.INVALID_HEADER_TOKEN=10]="INVALID_HEADER_TOKEN",e[e.INVALID_CONTENT_LENGTH=11]="INVALID_CONTENT_LENGTH",e[e.INVALID_CHUNK_SIZE=12]="INVALID_CHUNK_SIZE",e[e.INVALID_STATUS=13]="INVALID_STATUS",e[e.INVALID_EOF_STATE=14]="INVALID_EOF_STATE",e[e.INVALID_TRANSFER_ENCODING=15]="INVALID_TRANSFER_ENCODING",e[e.CB_MESSAGE_BEGIN=16]="CB_MESSAGE_BEGIN",e[e.CB_HEADERS_COMPLETE=17]="CB_HEADERS_COMPLETE",e[e.CB_MESSAGE_COMPLETE=18]="CB_MESSAGE_COMPLETE",e[e.CB_CHUNK_HEADER=19]="CB_CHUNK_HEADER",e[e.CB_CHUNK_COMPLETE=20]="CB_CHUNK_COMPLETE",e[e.PAUSED=21]="PAUSED",e[e.PAUSED_UPGRADE=22]="PAUSED_UPGRADE",e[e.PAUSED_H2_UPGRADE=23]="PAUSED_H2_UPGRADE",e[e.USER=24]="USER"})(th=h.ERROR||(h.ERROR={}));var ah;(function(e){e[e.BOTH=0]="BOTH",e[e.REQUEST=1]="REQUEST",e[e.RESPONSE=2]="RESPONSE"})(ah=h.TYPE||(h.TYPE={}));var rh;(function(e){e[e.CONNECTION_KEEP_ALIVE=1]="CONNECTION_KEEP_ALIVE",e[e.CONNECTION_CLOSE=2]="CONNECTION_CLOSE",e[e.CONNECTION_UPGRADE=4]="CONNECTION_UPGRADE",e[e.CHUNKED=8]="CHUNKED",e[e.UPGRADE=16]="UPGRADE",e[e.CONTENT_LENGTH=32]="CONTENT_LENGTH",e[e.SKIPBODY=64]="SKIPBODY",e[e.TRAILING=128]="TRAILING",e[e.TRANSFER_ENCODING=512]="TRANSFER_ENCODING"})(rh=h.FLAGS||(h.FLAGS={}));var ih;(function(e){e[e.HEADERS=1]="HEADERS",e[e.CHUNKED_LENGTH=2]="CHUNKED_LENGTH",e[e.KEEP_ALIVE=4]="KEEP_ALIVE"})(ih=h.LENIENT_FLAGS||(h.LENIENT_FLAGS={}));var R;(function(e){e[e.DELETE=0]="DELETE",e[e.GET=1]="GET",e[e.HEAD=2]="HEAD",e[e.POST=3]="POST",e[e.PUT=4]="PUT",e[e.CONNECT=5]="CONNECT",e[e.OPTIONS=6]="OPTIONS",e[e.TRACE=7]="TRACE",e[e.COPY=8]="COPY",e[e.LOCK=9]="LOCK",e[e.MKCOL=10]="MKCOL",e[e.MOVE=11]="MOVE",e[e.PROPFIND=12]="PROPFIND",e[e.PROPPATCH=13]="PROPPATCH",e[e.SEARCH=14]="SEARCH",e[e.UNLOCK=15]="UNLOCK",e[e.BIND=16]="BIND",e[e.REBIND=17]="REBIND",e[e.UNBIND=18]="UNBIND",e[e.ACL=19]="ACL",e[e.REPORT=20]="REPORT",e[e.MKACTIVITY=21]="MKACTIVITY",e[e.CHECKOUT=22]="CHECKOUT",e[e.MERGE=23]="MERGE",e[e["M-SEARCH"]=24]="M-SEARCH",e[e.NOTIFY=25]="NOTIFY",e[e.SUBSCRIBE=26]="SUBSCRIBE",e[e.UNSUBSCRIBE=27]="UNSUBSCRIBE",e[e.PATCH=28]="PATCH",e[e.PURGE=29]="PURGE",e[e.MKCALENDAR=30]="MKCALENDAR",e[e.LINK=31]="LINK",e[e.UNLINK=32]="UNLINK",e[e.SOURCE=33]="SOURCE",e[e.PRI=34]="PRI",e[e.DESCRIBE=35]="DESCRIBE",e[e.ANNOUNCE=36]="ANNOUNCE",e[e.SETUP=37]="SETUP",e[e.PLAY=38]="PLAY",e[e.PAUSE=39]="PAUSE",e[e.TEARDOWN=40]="TEARDOWN",e[e.GET_PARAMETER=41]="GET_PARAMETER",e[e.SET_PARAMETER=42]="SET_PARAMETER",e[e.REDIRECT=43]="REDIRECT",e[e.RECORD=44]="RECORD",e[e.FLUSH=45]="FLUSH"})(R=h.METHODS||(h.METHODS={}));h.METHODS_HTTP=[R.DELETE,R.GET,R.HEAD,R.POST,R.PUT,R.CONNECT,R.OPTIONS,R.TRACE,R.COPY,R.LOCK,R.MKCOL,R.MOVE,R.PROPFIND,R.PROPPATCH,R.SEARCH,R.UNLOCK,R.BIND,R.REBIND,R.UNBIND,R.ACL,R.REPORT,R.MKACTIVITY,R.CHECKOUT,R.MERGE,R["M-SEARCH"],R.NOTIFY,R.SUBSCRIBE,R.UNSUBSCRIBE,R.PATCH,R.PURGE,R.MKCALENDAR,R.LINK,R.UNLINK,R.PRI,R.SOURCE];h.METHODS_ICE=[R.SOURCE];h.METHODS_RTSP=[R.OPTIONS,R.DESCRIBE,R.ANNOUNCE,R.SETUP,R.PLAY,R.PAUSE,R.TEARDOWN,R.GET_PARAMETER,R.SET_PARAMETER,R.REDIRECT,R.RECORD,R.FLUSH,R.GET,R.POST];h.METHOD_MAP=Ah.enumToMap(R);h.H_METHOD_MAP={};Object.keys(h.METHOD_MAP).forEach(e=>{/^H/.test(e)&&(h.H_METHOD_MAP[e]=h.METHOD_MAP[e])});var sh;(function(e){e[e.SAFE=0]="SAFE",e[e.SAFE_WITH_CB=1]="SAFE_WITH_CB",e[e.UNSAFE=2]="UNSAFE"})(sh=h.FINISH||(h.FINISH={}));h.ALPHA=[];for(let e=65;e<=90;e++)h.ALPHA.push(String.fromCharCode(e)),h.ALPHA.push(String.fromCharCode(e+32));h.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};h.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};h.NUM=["0","1","2","3","4","5","6","7","8","9"];h.ALPHANUM=h.ALPHA.concat(h.NUM);h.MARK=["-","_",".","!","~","*","'","(",")"];h.USERINFO_CHARS=h.ALPHANUM.concat(h.MARK).concat(["%",";",":","&","=","+","$",","]);h.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(h.ALPHANUM);h.URL_CHAR=h.STRICT_URL_CHAR.concat([" ","\f"]);for(let e=128;e<=255;e++)h.URL_CHAR.push(e);h.HEX=h.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);h.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(h.ALPHANUM);h.TOKEN=h.STRICT_TOKEN.concat([" "]);h.HEADER_CHARS=[" "];for(let e=32;e<=255;e++)e!==127&&h.HEADER_CHARS.push(e);h.CONNECTION_TOKEN_CHARS=h.HEADER_CHARS.filter(e=>e!==44);h.MAJOR=h.NUM_MAP;h.MINOR=h.MAJOR;var H1;(function(e){e[e.GENERAL=0]="GENERAL",e[e.CONNECTION=1]="CONNECTION",e[e.CONTENT_LENGTH=2]="CONTENT_LENGTH",e[e.TRANSFER_ENCODING=3]="TRANSFER_ENCODING",e[e.UPGRADE=4]="UPGRADE",e[e.CONNECTION_KEEP_ALIVE=5]="CONNECTION_KEEP_ALIVE",e[e.CONNECTION_CLOSE=6]="CONNECTION_CLOSE",e[e.CONNECTION_UPGRADE=7]="CONNECTION_UPGRADE",e[e.TRANSFER_ENCODING_CHUNKED=8]="TRANSFER_ENCODING_CHUNKED"})(H1=h.HEADER_STATE||(h.HEADER_STATE={}));h.SPECIAL_HEADERS={connection:H1.CONNECTION,"content-length":H1.CONTENT_LENGTH,"proxy-connection":H1.CONNECTION,"transfer-encoding":H1.TRANSFER_ENCODING,upgrade:H1.UPGRADE}});var Ko=E((tb,gg)=>{"use strict";var O1=_(),{kBodyUsed:Ka}=te(),zo=require("assert"),{InvalidArgumentError:nh}=z(),oh=require("events"),dh=[300,301,302,303,307,308],pg=Symbol("body"),Si=class{constructor(A){this[pg]=A,this[Ka]=!1}async*[Symbol.asyncIterator](){zo(!this[Ka],"disturbed"),this[Ka]=!0,yield*this[pg]}},Xo=class{constructor(A,t,a,r){if(t!=null&&(!Number.isInteger(t)||t<0))throw new nh("maxRedirections must be a positive number");O1.validateHandler(r,a.method,a.upgrade),this.dispatch=A,this.location=null,this.abort=null,this.opts={...a,maxRedirections:0},this.maxRedirections=t,this.handler=r,this.history=[],O1.isStream(this.opts.body)?(O1.bodyLength(this.opts.body)===0&&this.opts.body.on("data",function(){zo(!1)}),typeof this.opts.body.readableDidRead!="boolean"&&(this.opts.body[Ka]=!1,oh.prototype.on.call(this.opts.body,"data",function(){this[Ka]=!0}))):this.opts.body&&typeof this.opts.body.pipeTo=="function"?this.opts.body=new Si(this.opts.body):this.opts.body&&typeof this.opts.body!="string"&&!ArrayBuffer.isView(this.opts.body)&&O1.isIterable(this.opts.body)&&(this.opts.body=new Si(this.opts.body))}onConnect(A){this.abort=A,this.handler.onConnect(A,{history:this.history})}onUpgrade(A,t,a){this.handler.onUpgrade(A,t,a)}onError(A){this.handler.onError(A)}onHeaders(A,t,a,r){if(this.location=this.history.length>=this.maxRedirections||O1.isDisturbed(this.opts.body)?null:ph(A,t),this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location)return this.handler.onHeaders(A,t,a,r);let{origin:i,pathname:s,search:n}=O1.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),o=n?`${s}${n}`:s;this.opts.headers=lh(this.opts.headers,A===303,this.opts.origin!==i),this.opts.path=o,this.opts.origin=i,this.opts.maxRedirections=0,this.opts.query=null,A===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",this.opts.body=null)}onData(A){if(!this.location)return this.handler.onData(A)}onComplete(A){this.location?(this.location=null,this.abort=null,this.dispatch(this.opts,this)):this.handler.onComplete(A)}onBodySent(A){this.handler.onBodySent&&this.handler.onBodySent(A)}};function ph(e,A){if(dh.indexOf(e)===-1)return null;for(let t=0;t<A.length;t+=2)if(A[t].toString().toLowerCase()==="location")return A[t+1]}function lg(e,A,t){return e.length===4&&e.toString().toLowerCase()==="host"||A&&e.toString().toLowerCase().indexOf("content-")===0||t&&e.length===13&&e.toString().toLowerCase()==="authorization"||t&&e.length===6&&e.toString().toLowerCase()==="cookie"}function lh(e,A,t){let a=[];if(Array.isArray(e))for(let r=0;r<e.length;r+=2)lg(e[r],A,t)||a.push(e[r],e[r+1]);else if(e&&typeof e=="object")for(let r of Object.keys(e))lg(r,A,t)||a.push(r,e[r]);else zo(e==null,"headers must be an object or an array");return a}gg.exports=Xo});var ki=E((ab,cg)=>{"use strict";var gh=Ko();function ch({maxRedirections:e}){return A=>function(a,r){let{maxRedirections:i=e}=a;if(!i)return A(a,r);let s=new gh(A,i,a,r);return a={...a,maxRedirections:0},A(a,s)}}cg.exports=ch});var $o=E((rb,ug)=>{ug.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="});var Qg=E((ib,Eg)=>{Eg.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="});var rr=E((sb,Lg)=>{"use strict";var D=require("assert"),Bg=require("net"),U=_(),ed=Wl(),uh=tg(),Eh=Xa(),{RequestContentLengthMismatchError:$t,ResponseContentLengthMismatchError:Qh,InvalidArgumentError:me,RequestAbortedError:hg,HeadersTimeoutError:Ch,HeadersOverflowError:mh,SocketError:Ti,InformationalError:e1,BodyTimeoutError:Bh,HTTPParserError:hh,ResponseExceededMaxSizeError:Ih,ClientDestroyedError:fh}=z(),wh=za(),{kUrl:CA,kReset:Ve,kServerName:bt,kClient:Ji,kBusy:td,kParser:$,kConnect:yh,kBlocking:W1,kResuming:A1,kRunning:ge,kPending:Z1,kSize:t1,kWriting:ct,kQueue:oe,kConnected:Dh,kConnecting:P1,kNeedDrain:kt,kNoRef:$a,kKeepAliveDefaultTimeout:ad,kHostHeader:Ig,kPendingIdx:mA,kRunningIdx:le,kError:tA,kPipelining:Ft,kSocket:AA,kKeepAliveTimeoutValue:tr,kMaxHeadersSize:Li,kKeepAliveMaxTimeout:fg,kKeepAliveTimeoutThreshold:wg,kHeadersTimeout:yg,kBodyTimeout:Dg,kStrictContentLength:Vi,kConnector:er,kMaxRedirections:Rh,kMaxRequests:ar,kCounter:Rg,kClose:vh,kDestroy:Nh,kDispatch:bh,kInterceptors:Sh,kLocalAddress:Ar,kMaxResponseSize:vg}=te(),Fi=Buffer[Symbol.species],St=Symbol("kClosedResolve"),Le={};try{let e=require("diagnostics_channel");Le.sendHeaders=e.channel("undici:client:sendHeaders"),Le.beforeConnect=e.channel("undici:client:beforeConnect"),Le.connectError=e.channel("undici:client:connectError"),Le.connected=e.channel("undici:client:connected")}catch{Le.sendHeaders={hasSubscribers:!1},Le.beforeConnect={hasSubscribers:!1},Le.connectError={hasSubscribers:!1},Le.connected={hasSubscribers:!1}}var rd=class extends Eh{constructor(A,{interceptors:t,maxHeaderSize:a,headersTimeout:r,socketTimeout:i,requestTimeout:s,connectTimeout:n,bodyTimeout:o,idleTimeout:d,keepAlive:l,keepAliveTimeout:p,maxKeepAliveTimeout:g,keepAliveMaxTimeout:c,keepAliveTimeoutThreshold:u,socketPath:Q,pipelining:m,tls:C,strictContentLength:B,maxCachedSessions:w,maxRedirections:I,connect:y,maxRequestsPerClient:b,localAddress:F,maxResponseSize:x,autoSelectFamily:he,autoSelectFamilyAttemptTimeout:Qe}={}){if(super(),l!==void 0)throw new me("unsupported keepAlive, use pipelining=0 instead");if(i!==void 0)throw new me("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(s!==void 0)throw new me("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(d!==void 0)throw new me("unsupported idleTimeout, use keepAliveTimeout instead");if(g!==void 0)throw new me("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(a!=null&&!Number.isFinite(a))throw new me("invalid maxHeaderSize");if(Q!=null&&typeof Q!="string")throw new me("invalid socketPath");if(n!=null&&(!Number.isFinite(n)||n<0))throw new me("invalid connectTimeout");if(p!=null&&(!Number.isFinite(p)||p<=0))throw new me("invalid keepAliveTimeout");if(c!=null&&(!Number.isFinite(c)||c<=0))throw new me("invalid keepAliveMaxTimeout");if(u!=null&&!Number.isFinite(u))throw new me("invalid keepAliveTimeoutThreshold");if(r!=null&&(!Number.isInteger(r)||r<0))throw new me("headersTimeout must be a positive integer or zero");if(o!=null&&(!Number.isInteger(o)||o<0))throw new me("bodyTimeout must be a positive integer or zero");if(y!=null&&typeof y!="function"&&typeof y!="object")throw new me("connect must be a function or an object");if(I!=null&&(!Number.isInteger(I)||I<0))throw new me("maxRedirections must be a positive number");if(b!=null&&(!Number.isInteger(b)||b<0))throw new me("maxRequestsPerClient must be a positive number");if(F!=null&&(typeof F!="string"||Bg.isIP(F)===0))throw new me("localAddress must be valid string IP address");if(x!=null&&(!Number.isInteger(x)||x<-1))throw new me("maxResponseSize must be a positive number");if(Qe!=null&&(!Number.isInteger(Qe)||Qe<-1))throw new me("autoSelectFamilyAttemptTimeout must be a positive number");typeof y!="function"&&(y=wh({...C,maxCachedSessions:w,socketPath:Q,timeout:n,...U.nodeHasAutoSelectFamily&&he?{autoSelectFamily:he,autoSelectFamilyAttemptTimeout:Qe}:void 0,...y})),this[Sh]=t&&t.Client&&Array.isArray(t.Client)?t.Client:[kh({maxRedirections:I})],this[CA]=U.parseOrigin(A),this[er]=y,this[AA]=null,this[Ft]=m??1,this[Li]=a||16384,this[ad]=p??4e3,this[fg]=c??6e5,this[wg]=u??1e3,this[tr]=this[ad],this[bt]=null,this[Ar]=F??null,this[A1]=0,this[kt]=0,this[Ig]=`host: ${this[CA].hostname}${this[CA].port?`:${this[CA].port}`:""}\r +`,this[Dg]=o??3e5,this[yg]=r??3e5,this[Vi]=B??!0,this[Rh]=I,this[ar]=b,this[St]=null,this[vg]=x>-1?x:-1,this[oe]=[],this[le]=0,this[mA]=0}get pipelining(){return this[Ft]}set pipelining(A){this[Ft]=A,BA(this,!0)}get[Z1](){return this[oe].length-this[mA]}get[ge](){return this[mA]-this[le]}get[t1](){return this[oe].length-this[le]}get[Dh](){return!!this[AA]&&!this[P1]&&!this[AA].destroyed}get[td](){let A=this[AA];return A&&(A[Ve]||A[ct]||A[W1])||this[t1]>=(this[Ft]||1)||this[Z1]>0}[yh](A){Ug(this),this.once("connect",A)}[bh](A,t){let a=A.origin||this[CA].origin,r=new uh(a,A,t);return this[oe].push(r),this[A1]||(U.bodyLength(r.body)==null&&U.isIterable(r.body)?(this[A1]=1,process.nextTick(BA,this)):BA(this,!0)),this[A1]&&this[kt]!==2&&this[td]&&(this[kt]=2),this[kt]<2}async[vh](){return new Promise(A=>{this[t1]?this[St]=A:A(null)})}async[Nh](A){return new Promise(t=>{let a=this[oe].splice(this[mA]);for(let i=0;i<a.length;i++){let s=a[i];ZA(this,s,A)}let r=()=>{this[St]&&(this[St](),this[St]=null),t()};this[AA]?U.destroy(this[AA].on("close",r),A):queueMicrotask(r),BA(this)})}},OA=dg(),kh=ki(),Fh=Buffer.alloc(0);async function Uh(){let e=process.env.JEST_WORKER_ID?$o():void 0,A;try{A=await WebAssembly.compile(Buffer.from(Qg(),"base64"))}catch{A=await WebAssembly.compile(Buffer.from(e||$o(),"base64"))}return await WebAssembly.instantiate(A,{env:{wasm_on_url:(t,a,r)=>0,wasm_on_status:(t,a,r)=>{D.strictEqual(Be.ptr,t);let i=a-WA+PA.byteOffset;return Be.onStatus(new Fi(PA.buffer,i,r))||0},wasm_on_message_begin:t=>(D.strictEqual(Be.ptr,t),Be.onMessageBegin()||0),wasm_on_header_field:(t,a,r)=>{D.strictEqual(Be.ptr,t);let i=a-WA+PA.byteOffset;return Be.onHeaderField(new Fi(PA.buffer,i,r))||0},wasm_on_header_value:(t,a,r)=>{D.strictEqual(Be.ptr,t);let i=a-WA+PA.byteOffset;return Be.onHeaderValue(new Fi(PA.buffer,i,r))||0},wasm_on_headers_complete:(t,a,r,i)=>(D.strictEqual(Be.ptr,t),Be.onHeadersComplete(a,!!r,!!i)||0),wasm_on_body:(t,a,r)=>{D.strictEqual(Be.ptr,t);let i=a-WA+PA.byteOffset;return Be.onBody(new Fi(PA.buffer,i,r))||0},wasm_on_message_complete:t=>(D.strictEqual(Be.ptr,t),Be.onMessageComplete()||0)}})}var Ad=null,id=Uh();id.catch();var Be=null,PA=null,Ui=0,WA=null,j1=1,Mi=2,sd=3,nd=class{constructor(A,t,{exports:a}){D(Number.isFinite(A[Li])&&A[Li]>0),this.llhttp=a,this.ptr=this.llhttp.llhttp_alloc(OA.TYPE.RESPONSE),this.client=A,this.socket=t,this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.statusCode=null,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=A[Li],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength="",this.connection="",this.maxResponseSize=A[vg]}setTimeout(A,t){this.timeoutType=t,A!==this.timeoutValue?(ed.clearTimeout(this.timeout),A?(this.timeout=ed.setTimeout(Lh,A,this),this.timeout.unref&&this.timeout.unref()):this.timeout=null,this.timeoutValue=A):this.timeout&&this.timeout.refresh&&this.timeout.refresh()}resume(){this.socket.destroyed||!this.paused||(D(this.ptr!=null),D(Be==null),this.llhttp.llhttp_resume(this.ptr),D(this.timeoutType===Mi),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||Fh),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let A=this.socket.read();if(A===null)break;this.execute(A)}}execute(A){D(this.ptr!=null),D(Be==null),D(!this.paused);let{socket:t,llhttp:a}=this;A.length>Ui&&(WA&&a.free(WA),Ui=Math.ceil(A.length/4096)*4096,WA=a.malloc(Ui)),new Uint8Array(a.memory.buffer,WA,Ui).set(A);try{let r;try{PA=A,Be=this,r=a.llhttp_execute(this.ptr,WA,A.length)}catch(s){throw s}finally{Be=null,PA=null}let i=a.llhttp_get_error_pos(this.ptr)-WA;if(r===OA.ERROR.PAUSED_UPGRADE)this.onUpgrade(A.slice(i));else if(r===OA.ERROR.PAUSED)this.paused=!0,t.unshift(A.slice(i));else if(r!==OA.ERROR.OK){let s=a.llhttp_get_error_reason(this.ptr),n="";if(s){let o=new Uint8Array(a.memory.buffer,s).indexOf(0);n="Response does not match the HTTP/1.1 protocol ("+Buffer.from(a.memory.buffer,s,o).toString()+")"}throw new hh(n,OA.ERROR[r],A.slice(i))}}catch(r){U.destroy(t,r)}}destroy(){D(this.ptr!=null),D(Be==null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,ed.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(A){this.statusText=A.toString()}onMessageBegin(){let{socket:A,client:t}=this;if(A.destroyed||!t[oe][t[le]])return-1}onHeaderField(A){let t=this.headers.length;(t&1)===0?this.headers.push(A):this.headers[t-1]=Buffer.concat([this.headers[t-1],A]),this.trackHeader(A.length)}onHeaderValue(A){let t=this.headers.length;(t&1)===1?(this.headers.push(A),t+=1):this.headers[t-1]=Buffer.concat([this.headers[t-1],A]);let a=this.headers[t-2];a.length===10&&a.toString().toLowerCase()==="keep-alive"?this.keepAlive+=A.toString():a.length===10&&a.toString().toLowerCase()==="connection"?this.connection+=A.toString():a.length===14&&a.toString().toLowerCase()==="content-length"&&(this.contentLength+=A.toString()),this.trackHeader(A.length)}trackHeader(A){this.headersSize+=A,this.headersSize>=this.headersMaxSize&&U.destroy(this.socket,new mh)}onUpgrade(A){let{upgrade:t,client:a,socket:r,headers:i,statusCode:s}=this;D(t);let n=a[oe][a[le]];D(n),D(!r.destroyed),D(r===a[AA]),D(!this.paused),D(n.upgrade||n.method==="CONNECT"),this.statusCode=null,this.statusText="",this.shouldKeepAlive=null,D(this.headers.length%2===0),this.headers=[],this.headersSize=0,r.unshift(A),r[$].destroy(),r[$]=null,r[Ji]=null,r[tA]=null,r.removeListener("error",bg).removeListener("readable",Ng).removeListener("end",kg).removeListener("close",Fg),a[AA]=null,a[oe][a[le]++]=null,a.emit("disconnect",a[CA],[a],new e1("upgrade"));try{n.onUpgrade(s,i,r)}catch(o){U.destroy(r,o)}BA(a)}onHeadersComplete(A,t,a){let{client:r,socket:i,headers:s,statusText:n}=this;if(i.destroyed)return-1;let o=r[oe][r[le]];if(!o)return-1;if(D(!this.upgrade),D(this.statusCode<200),A===100)return U.destroy(i,new Ti("bad response",U.getSocketInfo(i))),-1;if(t&&!o.upgrade)return U.destroy(i,new Ti("bad upgrade",U.getSocketInfo(i))),-1;if(D.strictEqual(this.timeoutType,j1),this.statusCode=A,this.shouldKeepAlive=a||o.method==="HEAD"&&!i[Ve]&&this.connection.toLowerCase()==="keep-alive",this.statusCode>=200){let l=o.bodyTimeout!=null?o.bodyTimeout:r[Dg];this.setTimeout(l,Mi)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(o.method==="CONNECT")return D(r[ge]===1),this.upgrade=!0,2;if(t)return D(r[ge]===1),this.upgrade=!0,2;if(D(this.headers.length%2===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&r[Ft]){let l=this.keepAlive?U.parseKeepAliveTimeout(this.keepAlive):null;if(l!=null){let p=Math.min(l-r[wg],r[fg]);p<=0?i[Ve]=!0:r[tr]=p}else r[tr]=r[ad]}else i[Ve]=!0;let d;try{d=o.onHeaders(A,s,this.resume,n)===!1}catch(l){return U.destroy(i,l),-1}return o.method==="HEAD"||A<200?1:(i[W1]&&(i[W1]=!1,BA(r)),d?OA.ERROR.PAUSED:0)}onBody(A){let{client:t,socket:a,statusCode:r,maxResponseSize:i}=this;if(a.destroyed)return-1;let s=t[oe][t[le]];if(D(s),D.strictEqual(this.timeoutType,Mi),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),D(r>=200),i>-1&&this.bytesRead+A.length>i)return U.destroy(a,new Ih),-1;this.bytesRead+=A.length;try{if(s.onData(A)===!1)return OA.ERROR.PAUSED}catch(n){return U.destroy(a,n),-1}}onMessageComplete(){let{client:A,socket:t,statusCode:a,upgrade:r,headers:i,contentLength:s,bytesRead:n,shouldKeepAlive:o}=this;if(t.destroyed&&(!a||o))return-1;if(r)return;let d=A[oe][A[le]];if(D(d),D(a>=100),this.statusCode=null,this.statusText="",this.bytesRead=0,this.contentLength="",this.keepAlive="",this.connection="",D(this.headers.length%2===0),this.headers=[],this.headersSize=0,!(a<200)){if(d.method!=="HEAD"&&s&&n!==parseInt(s,10))return U.destroy(t,new Qh),-1;try{d.onComplete(i)}catch(l){ZA(A,d,l)}if(A[oe][A[le]++]=null,t[ct])return D.strictEqual(A[ge],0),U.destroy(t,new e1("reset")),OA.ERROR.PAUSED;if(o){if(t[Ve]&&A[ge]===0)return U.destroy(t,new e1("reset")),OA.ERROR.PAUSED;A[Ft]===1?setImmediate(BA,A):BA(A)}else return U.destroy(t,new e1("reset")),OA.ERROR.PAUSED}}};function Lh(e){let{socket:A,timeoutType:t,client:a}=e;t===j1?(!A[ct]||A.writableNeedDrain||a[ge]>1)&&(D(!e.paused,"cannot be paused while waiting for headers"),U.destroy(A,new Ch)):t===Mi?e.paused||U.destroy(A,new Bh):t===sd&&(D(a[ge]===0&&a[tr]),U.destroy(A,new e1("socket idle timeout")))}function Ng(){let{[$]:e}=this;e.readMore()}function bg(e){let{[$]:A}=this;if(D(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),e.code==="ECONNRESET"&&A.statusCode&&!A.shouldKeepAlive){A.onMessageComplete();return}this[tA]=e,Sg(this[Ji],e)}function Sg(e,A){if(e[ge]===0&&A.code!=="UND_ERR_INFO"&&A.code!=="UND_ERR_SOCKET"){D(e[mA]===e[le]);let t=e[oe].splice(e[le]);for(let a=0;a<t.length;a++){let r=t[a];ZA(e,r,A)}D(e[t1]===0)}}function kg(){let{[$]:e}=this;if(e.statusCode&&!e.shouldKeepAlive){e.onMessageComplete();return}U.destroy(this,new Ti("other side closed",U.getSocketInfo(this)))}function Fg(){let{[Ji]:e}=this;!this[tA]&&this[$].statusCode&&!this[$].shouldKeepAlive&&this[$].onMessageComplete(),this[$].destroy(),this[$]=null;let A=this[tA]||new Ti("closed",U.getSocketInfo(this));if(e[AA]=null,e.destroyed){D(e[Z1]===0);let t=e[oe].splice(e[le]);for(let a=0;a<t.length;a++){let r=t[a];ZA(e,r,A)}}else if(e[ge]>0&&A.code!=="UND_ERR_INFO"){let t=e[oe][e[le]];e[oe][e[le]++]=null,ZA(e,t,A)}e[mA]=e[le],D(e[ge]===0),e.emit("disconnect",e[CA],[e],A),BA(e)}async function Ug(e){D(!e[P1]),D(!e[AA]);let{host:A,hostname:t,protocol:a,port:r}=e[CA];if(t[0]==="["){let i=t.indexOf("]");D(i!==-1);let s=t.substr(1,i-1);D(Bg.isIP(s)),t=s}e[P1]=!0,Le.beforeConnect.hasSubscribers&&Le.beforeConnect.publish({connectParams:{host:A,hostname:t,protocol:a,port:r,servername:e[bt],localAddress:e[Ar]},connector:e[er]});try{let i=await new Promise((s,n)=>{e[er]({host:A,hostname:t,protocol:a,port:r,servername:e[bt],localAddress:e[Ar]},(o,d)=>{o?n(o):s(d)})});if(e.destroyed){U.destroy(i.on("error",()=>{}),new fh);return}Ad||(Ad=await id,id=null),e[P1]=!1,D(i),i[$a]=!1,i[ct]=!1,i[Ve]=!1,i[W1]=!1,i[tA]=null,i[$]=new nd(e,i,Ad),i[Ji]=e,i[Rg]=0,i[ar]=e[ar],i.on("error",bg).on("readable",Ng).on("end",kg).on("close",Fg),e[AA]=i,Le.connected.hasSubscribers&&Le.connected.publish({connectParams:{host:A,hostname:t,protocol:a,port:r,servername:e[bt],localAddress:e[Ar]},connector:e[er],socket:i}),e.emit("connect",e[CA],[e])}catch(i){if(e.destroyed)return;if(e[P1]=!1,Le.connectError.hasSubscribers&&Le.connectError.publish({connectParams:{host:A,hostname:t,protocol:a,port:r,servername:e[bt],localAddress:e[Ar]},connector:e[er],error:i}),i.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(D(e[ge]===0);e[Z1]>0&&e[oe][e[mA]].servername===e[bt];){let s=e[oe][e[mA]++];ZA(e,s,i)}else Sg(e,i);e.emit("connectionError",e[CA],[e],i)}BA(e)}function Cg(e){e[kt]=0,e.emit("drain",e[CA],[e])}function BA(e,A){e[A1]!==2&&(e[A1]=2,Mh(e,A),e[A1]=0,e[le]>256&&(e[oe].splice(0,e[le]),e[mA]-=e[le],e[le]=0))}function Mh(e,A){for(;;){if(e.destroyed){D(e[Z1]===0);return}if(e[St]&&!e[t1]){e[St](),e[St]=null;return}let t=e[AA];if(t&&!t.destroyed){if(e[t1]===0?!t[$a]&&t.unref&&(t.unref(),t[$a]=!0):t[$a]&&t.ref&&(t.ref(),t[$a]=!1),e[t1]===0)t[$].timeoutType!==sd&&t[$].setTimeout(e[tr],sd);else if(e[ge]>0&&t[$].statusCode<200&&t[$].timeoutType!==j1){let r=e[oe][e[le]],i=r.headersTimeout!=null?r.headersTimeout:e[yg];t[$].setTimeout(i,j1)}}if(e[td])e[kt]=2;else if(e[kt]===2){A?(e[kt]=1,process.nextTick(Cg,e)):Cg(e);continue}if(e[Z1]===0||e[ge]>=(e[Ft]||1))return;let a=e[oe][e[mA]];if(e[CA].protocol==="https:"&&e[bt]!==a.servername){if(e[ge]>0)return;if(e[bt]=a.servername,t&&t.servername!==a.servername){U.destroy(t,new e1("servername changed"));return}}if(e[P1])return;if(!t){Ug(e);return}if(t.destroyed||t[ct]||t[Ve]||t[W1]||e[ge]>0&&!a.idempotent||e[ge]>0&&(a.upgrade||a.method==="CONNECT")||(U.isStream(a.body)&&U.bodyLength(a.body)===0&&(a.body.on("data",function(){D(!1)}).on("error",function(r){ZA(e,a,r)}).on("end",function(){U.destroy(this)}),a.body=null),e[ge]>0&&(U.isStream(a.body)||U.isAsyncIterable(a.body))))return;!a.aborted&&Th(e,a)?e[mA]++:e[oe].splice(e[mA],1)}}function Th(e,A){let{body:t,method:a,path:r,host:i,upgrade:s,headers:n,blocking:o,reset:d}=A,l=a==="PUT"||a==="POST"||a==="PATCH";t&&typeof t.read=="function"&&t.read(0);let p=U.bodyLength(t);if(p===null&&(p=A.contentLength),p===0&&!l&&(p=null),A.contentLength!==null&&A.contentLength!==p){if(e[Vi])return ZA(e,A,new $t),!1;process.emitWarning(new $t)}let g=e[AA];try{A.onConnect(u=>{A.aborted||A.completed||(ZA(e,A,u||new hg),U.destroy(g,new e1("aborted")))})}catch(u){ZA(e,A,u)}if(A.aborted)return!1;a==="HEAD"&&(g[Ve]=!0),(s||a==="CONNECT")&&(g[Ve]=!0),d!=null&&(g[Ve]=d),e[ar]&&g[Rg]++>=e[ar]&&(g[Ve]=!0),o&&(g[W1]=!0);let c=`${a} ${r} HTTP/1.1\r +`;return typeof i=="string"?c+=`host: ${i}\r +`:c+=e[Ig],s?c+=`connection: upgrade\r +upgrade: ${s}\r +`:e[Ft]&&!g[Ve]?c+=`connection: keep-alive\r +`:c+=`connection: close\r +`,n&&(c+=n),Le.sendHeaders.hasSubscribers&&Le.sendHeaders.publish({request:A,headers:c,socket:g}),t?U.isBuffer(t)?(D(p===t.byteLength,"buffer body must have content length"),g.cork(),g.write(`${c}content-length: ${p}\r +\r +`,"latin1"),g.write(t),g.uncork(),A.onBodySent(t),A.onRequestSent(),l||(g[Ve]=!0)):U.isBlobLike(t)?typeof t.stream=="function"?mg({body:t.stream(),client:e,request:A,socket:g,contentLength:p,header:c,expectsPayload:l}):Yh({body:t,client:e,request:A,socket:g,contentLength:p,header:c,expectsPayload:l}):U.isStream(t)?Vh({body:t,client:e,request:A,socket:g,contentLength:p,header:c,expectsPayload:l}):U.isIterable(t)?mg({body:t,client:e,request:A,socket:g,contentLength:p,header:c,expectsPayload:l}):D(!1):(p===0?g.write(`${c}content-length: 0\r +\r +`,"latin1"):(D(p===null,"no body must not have content length"),g.write(`${c}\r +`,"latin1")),A.onRequestSent()),!0}function Vh({body:e,client:A,request:t,socket:a,contentLength:r,header:i,expectsPayload:s}){D(r!==0||A[ge]===0,"stream body cannot be pipelined");let n=!1,o=new Yi({socket:a,request:t,contentLength:r,client:A,expectsPayload:s,header:i}),d=function(c){if(!n)try{!o.write(c)&&this.pause&&this.pause()}catch(u){U.destroy(this,u)}},l=function(){n||e.resume&&e.resume()},p=function(){g(new hg)},g=function(c){if(!n){if(n=!0,D(a.destroyed||a[ct]&&A[ge]<=1),a.off("drain",l).off("error",g),e.removeListener("data",d).removeListener("end",g).removeListener("error",g).removeListener("close",p),!c)try{o.end()}catch(u){c=u}o.destroy(c),c&&(c.code!=="UND_ERR_INFO"||c.message!=="reset")?U.destroy(e,c):U.destroy(e)}};e.on("data",d).on("end",g).on("error",g).on("close",p),e.resume&&e.resume(),a.on("drain",l).on("error",g)}async function Yh({body:e,client:A,request:t,socket:a,contentLength:r,header:i,expectsPayload:s}){D(r===e.size,"blob body must have content length");try{if(r!=null&&r!==e.size)throw new $t;let n=Buffer.from(await e.arrayBuffer());a.cork(),a.write(`${i}content-length: ${r}\r +\r +`,"latin1"),a.write(n),a.uncork(),t.onBodySent(n),t.onRequestSent(),s||(a[Ve]=!0),BA(A)}catch(n){U.destroy(a,n)}}async function mg({body:e,client:A,request:t,socket:a,contentLength:r,header:i,expectsPayload:s}){D(r!==0||A[ge]===0,"iterator body cannot be pipelined");let n=null;function o(){if(n){let p=n;n=null,p()}}let d=()=>new Promise((p,g)=>{D(n===null),a[tA]?g(a[tA]):n=p});a.on("close",o).on("drain",o);let l=new Yi({socket:a,request:t,contentLength:r,client:A,expectsPayload:s,header:i});try{for await(let p of e){if(a[tA])throw a[tA];l.write(p)||await d()}l.end()}catch(p){l.destroy(p)}finally{a.off("close",o).off("drain",o)}}var Yi=class{constructor({socket:A,request:t,contentLength:a,client:r,expectsPayload:i,header:s}){this.socket=A,this.request=t,this.contentLength=a,this.client=r,this.bytesWritten=0,this.expectsPayload=i,this.header=s,A[ct]=!0}write(A){let{socket:t,request:a,contentLength:r,client:i,bytesWritten:s,expectsPayload:n,header:o}=this;if(t[tA])throw t[tA];if(t.destroyed)return!1;let d=Buffer.byteLength(A);if(!d)return!0;if(r!==null&&s+d>r){if(i[Vi])throw new $t;process.emitWarning(new $t)}t.cork(),s===0&&(n||(t[Ve]=!0),r===null?t.write(`${o}transfer-encoding: chunked\r +`,"latin1"):t.write(`${o}content-length: ${r}\r +\r +`,"latin1")),r===null&&t.write(`\r +${d.toString(16)}\r +`,"latin1"),this.bytesWritten+=d;let l=t.write(A);return t.uncork(),a.onBodySent(A),l||t[$].timeout&&t[$].timeoutType===j1&&t[$].timeout.refresh&&t[$].timeout.refresh(),l}end(){let{socket:A,contentLength:t,client:a,bytesWritten:r,expectsPayload:i,header:s,request:n}=this;if(n.onRequestSent(),A[ct]=!1,A[tA])throw A[tA];if(!A.destroyed){if(r===0?i?A.write(`${s}content-length: 0\r +\r +`,"latin1"):A.write(`${s}\r +`,"latin1"):t===null&&A.write(`\r +0\r +\r +`,"latin1"),t!==null&&r!==t){if(a[Vi])throw new $t;process.emitWarning(new $t)}A[$].timeout&&A[$].timeoutType===j1&&A[$].timeout.refresh&&A[$].timeout.refresh(),BA(a)}}destroy(A){let{socket:t,client:a}=this;t[ct]=!1,A&&(D(a[ge]<=1,"pipeline should only contain this request"),U.destroy(t,A))}};function ZA(e,A,t){try{A.onError(t),D(A.aborted)}catch(a){e.emit("error",a)}}Lg.exports=rd});var Tg=E((ob,Mg)=>{"use strict";var Gi=class{constructor(){this.bottom=0,this.top=0,this.list=new Array(2048),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(A){this.list[this.top]=A,this.top=this.top+1&2047}shift(){let A=this.list[this.bottom];return A===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,A)}};Mg.exports=class{constructor(){this.head=this.tail=new Gi}isEmpty(){return this.head.isEmpty()}push(A){this.head.isFull()&&(this.head=this.head.next=new Gi),this.head.push(A)}shift(){let A=this.tail,t=A.shift();return A.isEmpty()&&A.next!==null&&(this.tail=A.next),t}}});var Yg=E((db,Vg)=>{var{kFree:Jh,kConnected:Gh,kPending:xh,kQueued:_h,kRunning:qh,kSize:Hh}=te(),a1=Symbol("pool"),od=class{constructor(A){this[a1]=A}get connected(){return this[a1][Gh]}get free(){return this[a1][Jh]}get pending(){return this[a1][xh]}get queued(){return this[a1][_h]}get running(){return this[a1][qh]}get size(){return this[a1][Hh]}};Vg.exports=od});var ud=E((pb,jg)=>{"use strict";var Oh=Xa(),Ph=Tg(),{kConnected:dd,kSize:Jg,kRunning:Gg,kPending:xg,kQueued:ir,kBusy:Wh,kFree:Zh,kUrl:jh,kClose:Xh,kDestroy:zh,kDispatch:Kh}=te(),$h=Yg(),He=Symbol("clients"),Ye=Symbol("needDrain"),sr=Symbol("queue"),pd=Symbol("closed resolve"),ld=Symbol("onDrain"),qg=Symbol("onConnect"),Hg=Symbol("onDisconnect"),Og=Symbol("onConnectionError"),gd=Symbol("get dispatcher"),Wg=Symbol("add client"),Zg=Symbol("remove client"),Pg=Symbol("stats"),cd=class extends Oh{constructor(){super(),this[sr]=new Ph,this[He]=[],this[ir]=0;let A=this;this[ld]=function(a,r){let i=A[sr],s=!1;for(;!s;){let n=i.shift();if(!n)break;A[ir]--,s=!this.dispatch(n.opts,n.handler)}this[Ye]=s,!this[Ye]&&A[Ye]&&(A[Ye]=!1,A.emit("drain",a,[A,...r])),A[pd]&&i.isEmpty()&&Promise.all(A[He].map(n=>n.close())).then(A[pd])},this[qg]=(t,a)=>{A.emit("connect",t,[A,...a])},this[Hg]=(t,a,r)=>{A.emit("disconnect",t,[A,...a],r)},this[Og]=(t,a,r)=>{A.emit("connectionError",t,[A,...a],r)},this[Pg]=new $h(this)}get[Wh](){return this[Ye]}get[dd](){return this[He].filter(A=>A[dd]).length}get[Zh](){return this[He].filter(A=>A[dd]&&!A[Ye]).length}get[xg](){let A=this[ir];for(let{[xg]:t}of this[He])A+=t;return A}get[Gg](){let A=0;for(let{[Gg]:t}of this[He])A+=t;return A}get[Jg](){let A=this[ir];for(let{[Jg]:t}of this[He])A+=t;return A}get stats(){return this[Pg]}async[Xh](){return this[sr].isEmpty()?Promise.all(this[He].map(A=>A.close())):new Promise(A=>{this[pd]=A})}async[zh](A){for(;;){let t=this[sr].shift();if(!t)break;t.handler.onError(A)}return Promise.all(this[He].map(t=>t.destroy(A)))}[Kh](A,t){let a=this[gd]();return a?a.dispatch(A,t)||(a[Ye]=!0,this[Ye]=!this[gd]()):(this[Ye]=!0,this[sr].push({opts:A,handler:t}),this[ir]++),!this[Ye]}[Wg](A){return A.on("drain",this[ld]).on("connect",this[qg]).on("disconnect",this[Hg]).on("connectionError",this[Og]),this[He].push(A),this[Ye]&&process.nextTick(()=>{this[Ye]&&this[ld](A[jh],[this,A])}),this}[Zg](A){A.close(()=>{let t=this[He].indexOf(A);t!==-1&&this[He].splice(t,1)}),this[Ye]=this[He].some(t=>!t[Ye]&&t.closed!==!0&&t.destroyed!==!0)}};jg.exports={PoolBase:cd,kClients:He,kNeedDrain:Ye,kAddClient:Wg,kRemoveClient:Zg,kGetDispatcher:gd}});var X1=E((lb,$g)=>{"use strict";var{PoolBase:eI,kClients:Xg,kNeedDrain:AI,kAddClient:tI,kGetDispatcher:aI}=ud(),rI=rr(),{InvalidArgumentError:Ed}=z(),Qd=_(),{kUrl:zg,kInterceptors:iI}=te(),sI=za(),Cd=Symbol("options"),md=Symbol("connections"),Kg=Symbol("factory");function nI(e,A){return new rI(e,A)}var Bd=class extends eI{constructor(A,{connections:t,factory:a=nI,connect:r,connectTimeout:i,tls:s,maxCachedSessions:n,socketPath:o,autoSelectFamily:d,autoSelectFamilyAttemptTimeout:l,...p}={}){if(super(),t!=null&&(!Number.isFinite(t)||t<0))throw new Ed("invalid connections");if(typeof a!="function")throw new Ed("factory must be a function.");if(r!=null&&typeof r!="function"&&typeof r!="object")throw new Ed("connect must be a function or an object");typeof r!="function"&&(r=sI({...s,maxCachedSessions:n,socketPath:o,timeout:i??1e4,...Qd.nodeHasAutoSelectFamily&&d?{autoSelectFamily:d,autoSelectFamilyAttemptTimeout:l}:void 0,...r})),this[iI]=p.interceptors&&p.interceptors.Pool&&Array.isArray(p.interceptors.Pool)?p.interceptors.Pool:[],this[md]=t||null,this[zg]=Qd.parseOrigin(A),this[Cd]={...Qd.deepClone(p),connect:r},this[Cd].interceptors=p.interceptors?{...p.interceptors}:void 0,this[Kg]=a}[aI](){let A=this[Xg].find(t=>!t[AI]);return A||((!this[md]||this[Xg].length<this[md])&&(A=this[Kg](this[zg],this[Cd]),this[tI](A)),A)}};$g.exports=Bd});var i6=E((gb,r6)=>{"use strict";var{BalancedPoolMissingUpstreamError:oI,InvalidArgumentError:dI}=z(),{PoolBase:pI,kClients:Je,kNeedDrain:nr,kAddClient:lI,kRemoveClient:gI,kGetDispatcher:cI}=ud(),uI=X1(),{kUrl:hd,kInterceptors:EI}=te(),{parseOrigin:e6}=_(),A6=Symbol("factory"),xi=Symbol("options"),t6=Symbol("kGreatestCommonDivisor"),r1=Symbol("kCurrentWeight"),i1=Symbol("kIndex"),hA=Symbol("kWeight"),_i=Symbol("kMaxWeightPerServer"),qi=Symbol("kErrorPenalty");function a6(e,A){return A===0?e:a6(A,e%A)}function QI(e,A){return new uI(e,A)}var Id=class extends pI{constructor(A=[],{factory:t=QI,...a}={}){if(super(),this[xi]=a,this[i1]=-1,this[r1]=0,this[_i]=this[xi].maxWeightPerServer||100,this[qi]=this[xi].errorPenalty||15,Array.isArray(A)||(A=[A]),typeof t!="function")throw new dI("factory must be a function.");this[EI]=a.interceptors&&a.interceptors.BalancedPool&&Array.isArray(a.interceptors.BalancedPool)?a.interceptors.BalancedPool:[],this[A6]=t;for(let r of A)this.addUpstream(r);this._updateBalancedPoolStats()}addUpstream(A){let t=e6(A).origin;if(this[Je].find(r=>r[hd].origin===t&&r.closed!==!0&&r.destroyed!==!0))return this;let a=this[A6](t,Object.assign({},this[xi]));this[lI](a),a.on("connect",()=>{a[hA]=Math.min(this[_i],a[hA]+this[qi])}),a.on("connectionError",()=>{a[hA]=Math.max(1,a[hA]-this[qi]),this._updateBalancedPoolStats()}),a.on("disconnect",(...r)=>{let i=r[2];i&&i.code==="UND_ERR_SOCKET"&&(a[hA]=Math.max(1,a[hA]-this[qi]),this._updateBalancedPoolStats())});for(let r of this[Je])r[hA]=this[_i];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){this[t6]=this[Je].map(A=>A[hA]).reduce(a6,0)}removeUpstream(A){let t=e6(A).origin,a=this[Je].find(r=>r[hd].origin===t&&r.closed!==!0&&r.destroyed!==!0);return a&&this[gI](a),this}get upstreams(){return this[Je].filter(A=>A.closed!==!0&&A.destroyed!==!0).map(A=>A[hd].origin)}[cI](){if(this[Je].length===0)throw new oI;if(!this[Je].find(i=>!i[nr]&&i.closed!==!0&&i.destroyed!==!0)||this[Je].map(i=>i[nr]).reduce((i,s)=>i&&s,!0))return;let a=0,r=this[Je].findIndex(i=>!i[nr]);for(;a++<this[Je].length;){this[i1]=(this[i1]+1)%this[Je].length;let i=this[Je][this[i1]];if(i[hA]>this[Je][r][hA]&&!i[nr]&&(r=this[i1]),this[i1]===0&&(this[r1]=this[r1]-this[t6],this[r1]<=0&&(this[r1]=this[_i])),i[hA]>=this[r1]&&!i[nr])return i}return this[r1]=this[Je][r][hA],this[i1]=r,this[Je][r]}};r6.exports=Id});var yd=E((cb,o6)=>{"use strict";var{kConnected:s6,kSize:n6}=te(),fd=class{constructor(A){this.value=A}deref(){return this.value[s6]===0&&this.value[n6]===0?void 0:this.value}},wd=class{constructor(A){this.finalizer=A}register(A,t){A.on("disconnect",()=>{A[s6]===0&&A[n6]===0&&this.finalizer(t)})}};o6.exports=function(){return{WeakRef:global.WeakRef||fd,FinalizationRegistry:global.FinalizationRegistry||wd}}});var or=E((ub,Q6)=>{"use strict";var{InvalidArgumentError:Hi}=z(),{kClients:Ut,kRunning:d6,kClose:CI,kDestroy:mI,kDispatch:BI,kInterceptors:hI}=te(),II=Xa(),fI=X1(),wI=rr(),yI=_(),DI=ki(),{WeakRef:RI,FinalizationRegistry:vI}=yd()(),p6=Symbol("onConnect"),l6=Symbol("onDisconnect"),g6=Symbol("onConnectionError"),NI=Symbol("maxRedirections"),c6=Symbol("onDrain"),u6=Symbol("factory"),E6=Symbol("finalizer"),Dd=Symbol("options");function bI(e,A){return A&&A.connections===1?new wI(e,A):new fI(e,A)}var Rd=class extends II{constructor({factory:A=bI,maxRedirections:t=0,connect:a,...r}={}){if(super(),typeof A!="function")throw new Hi("factory must be a function.");if(a!=null&&typeof a!="function"&&typeof a!="object")throw new Hi("connect must be a function or an object");if(!Number.isInteger(t)||t<0)throw new Hi("maxRedirections must be a positive number");a&&typeof a!="function"&&(a={...a}),this[hI]=r.interceptors&&r.interceptors.Agent&&Array.isArray(r.interceptors.Agent)?r.interceptors.Agent:[DI({maxRedirections:t})],this[Dd]={...yI.deepClone(r),connect:a},this[Dd].interceptors=r.interceptors?{...r.interceptors}:void 0,this[NI]=t,this[u6]=A,this[Ut]=new Map,this[E6]=new vI(s=>{let n=this[Ut].get(s);n!==void 0&&n.deref()===void 0&&this[Ut].delete(s)});let i=this;this[c6]=(s,n)=>{i.emit("drain",s,[i,...n])},this[p6]=(s,n)=>{i.emit("connect",s,[i,...n])},this[l6]=(s,n,o)=>{i.emit("disconnect",s,[i,...n],o)},this[g6]=(s,n,o)=>{i.emit("connectionError",s,[i,...n],o)}}get[d6](){let A=0;for(let t of this[Ut].values()){let a=t.deref();a&&(A+=a[d6])}return A}[BI](A,t){let a;if(A.origin&&(typeof A.origin=="string"||A.origin instanceof URL))a=String(A.origin);else throw new Hi("opts.origin must be a non-empty string or URL.");let r=this[Ut].get(a),i=r?r.deref():null;return i||(i=this[u6](A.origin,this[Dd]).on("drain",this[c6]).on("connect",this[p6]).on("disconnect",this[l6]).on("connectionError",this[g6]),this[Ut].set(a,new RI(i)),this[E6].register(i,a)),i.dispatch(A,t)}async[CI](){let A=[];for(let t of this[Ut].values()){let a=t.deref();a&&A.push(a.close())}await Promise.all(A)}async[mI](A){let t=[];for(let a of this[Ut].values()){let r=a.deref();r&&t.push(r.destroy(A))}await Promise.all(t)}};Q6.exports=Rd});var y6=E((Qb,w6)=>{"use strict";var B6=require("assert"),{Readable:SI}=require("stream"),{RequestAbortedError:h6,NotSupportedError:kI,InvalidArgumentError:FI}=z(),z1=_(),{ReadableStreamFrom:UI,toUSVString:LI}=_(),vd,aA=Symbol("kConsume"),Oi=Symbol("kReading"),Lt=Symbol("kBody"),C6=Symbol("abort"),I6=Symbol("kContentType");w6.exports=class extends SI{constructor({resume:A,abort:t,contentType:a="",highWaterMark:r=64*1024}){super({autoDestroy:!0,read:A,highWaterMark:r}),this._readableState.dataEmitted=!1,this[C6]=t,this[aA]=null,this[Lt]=null,this[I6]=a,this[Oi]=!1}destroy(A){return this.destroyed?this:(!A&&!this._readableState.endEmitted&&(A=new h6),A&&this[C6](),super.destroy(A))}emit(A,...t){return A==="data"?this._readableState.dataEmitted=!0:A==="error"&&(this._readableState.errorEmitted=!0),super.emit(A,...t)}on(A,...t){return(A==="data"||A==="readable")&&(this[Oi]=!0),super.on(A,...t)}addListener(A,...t){return this.on(A,...t)}off(A,...t){let a=super.off(A,...t);return(A==="data"||A==="readable")&&(this[Oi]=this.listenerCount("data")>0||this.listenerCount("readable")>0),a}removeListener(A,...t){return this.off(A,...t)}push(A){return this[aA]&&A!==null&&this.readableLength===0?(f6(this[aA],A),this[Oi]?super.push(A):!0):super.push(A)}async text(){return Pi(this,"text")}async json(){return Pi(this,"json")}async blob(){return Pi(this,"blob")}async arrayBuffer(){return Pi(this,"arrayBuffer")}async formData(){throw new kI}get bodyUsed(){return z1.isDisturbed(this)}get body(){return this[Lt]||(this[Lt]=UI(this),this[aA]&&(this[Lt].getReader(),B6(this[Lt].locked))),this[Lt]}async dump(A){let t=A&&Number.isFinite(A.limit)?A.limit:262144,a=A&&A.signal,r=()=>{this.destroy()},i;if(a){if(typeof a!="object"||!("aborted"in a))throw new FI("signal must be an AbortSignal");z1.throwIfAborted(a),i=z1.addAbortListener(a,r)}try{for await(let s of this)if(z1.throwIfAborted(a),t-=Buffer.byteLength(s),t<0)return}catch{z1.throwIfAborted(a)}finally{typeof i=="function"?i():i&&i[Symbol.dispose]()}}};function MI(e){return e[Lt]&&e[Lt].locked===!0||e[aA]}function TI(e){return z1.isDisturbed(e)||MI(e)}async function Pi(e,A){if(TI(e))throw new TypeError("unusable");return B6(!e[aA]),new Promise((t,a)=>{e[aA]={type:A,stream:e,resolve:t,reject:a,length:0,body:[]},e.on("error",function(r){Nd(this[aA],r)}).on("close",function(){this[aA].body!==null&&Nd(this[aA],new h6)}),process.nextTick(VI,e[aA])})}function VI(e){if(e.body===null)return;let{_readableState:A}=e.stream;for(let t of A.buffer)f6(e,t);for(A.endEmitted?m6(this[aA]):e.stream.on("end",function(){m6(this[aA])}),e.stream.resume();e.stream.read()!=null;);}function m6(e){let{type:A,body:t,resolve:a,stream:r,length:i}=e;try{if(A==="text")a(LI(Buffer.concat(t)));else if(A==="json")a(JSON.parse(Buffer.concat(t)));else if(A==="arrayBuffer"){let s=new Uint8Array(i),n=0;for(let o of t)s.set(o,n),n+=o.byteLength;a(s)}else A==="blob"&&(vd||(vd=require("buffer").Blob),a(new vd(t,{type:r[I6]})));Nd(e)}catch(s){r.destroy(s)}}function f6(e,A){e.length+=A.length,e.body.push(A)}function Nd(e,A){e.body!==null&&(A?e.reject(A):e.resolve(),e.type=null,e.stream=null,e.resolve=null,e.reject=null,e.length=0,e.body=null)}});var bd=E((Cb,R6)=>{var YI=require("assert"),{ResponseStatusCodeError:Wi}=z(),{toUSVString:D6}=_();async function JI({callback:e,body:A,contentType:t,statusCode:a,statusMessage:r,headers:i}){YI(A);let s=[],n=0;for await(let o of A)if(s.push(o),n+=o.length,n>128*1024){s=null;break}if(a===204||!t||!s){process.nextTick(e,new Wi(`Response status code ${a}${r?`: ${r}`:""}`,a,i));return}try{if(t.startsWith("application/json")){let o=JSON.parse(D6(Buffer.concat(s)));process.nextTick(e,new Wi(`Response status code ${a}${r?`: ${r}`:""}`,a,i,o));return}if(t.startsWith("text/")){let o=D6(Buffer.concat(s));process.nextTick(e,new Wi(`Response status code ${a}${r?`: ${r}`:""}`,a,i,o));return}}catch{}process.nextTick(e,new Wi(`Response status code ${a}${r?`: ${r}`:""}`,a,i))}R6.exports={getResolveErrorBodyCallback:JI}});var $1=E((mb,N6)=>{var{addAbortListener:GI}=_(),{RequestAbortedError:xI}=z(),K1=Symbol("kListener"),Mt=Symbol("kSignal");function v6(e){e.abort?e.abort():e.onError(new xI)}function _I(e,A){if(e[Mt]=null,e[K1]=null,!!A){if(A.aborted){v6(e);return}e[Mt]=A,e[K1]=()=>{v6(e)},GI(e[Mt],e[K1])}}function qI(e){e[Mt]&&("removeEventListener"in e[Mt]?e[Mt].removeEventListener("abort",e[K1]):e[Mt].removeListener("abort",e[K1]),e[Mt]=null,e[K1]=null)}N6.exports={addSignal:_I,removeSignal:qI}});var F6=E((Bb,k6)=>{"use strict";var HI=y6(),{InvalidArgumentError:ea,RequestAbortedError:OI}=z(),jA=_(),{getResolveErrorBodyCallback:PI}=bd(),{AsyncResource:WI}=require("async_hooks"),{addSignal:ZI,removeSignal:b6}=$1(),Sd=class extends WI{constructor(A,t){if(!A||typeof A!="object")throw new ea("invalid opts");let{signal:a,method:r,opaque:i,body:s,onInfo:n,responseHeaders:o,throwOnError:d,highWaterMark:l}=A;try{if(typeof t!="function")throw new ea("invalid callback");if(l&&(typeof l!="number"||l<0))throw new ea("invalid highWaterMark");if(a&&typeof a.on!="function"&&typeof a.addEventListener!="function")throw new ea("signal must be an EventEmitter or EventTarget");if(r==="CONNECT")throw new ea("invalid method");if(n&&typeof n!="function")throw new ea("invalid onInfo callback");super("UNDICI_REQUEST")}catch(p){throw jA.isStream(s)&&jA.destroy(s.on("error",jA.nop),p),p}this.responseHeaders=o||null,this.opaque=i||null,this.callback=t,this.res=null,this.abort=null,this.body=s,this.trailers={},this.context=null,this.onInfo=n||null,this.throwOnError=d,this.highWaterMark=l,jA.isStream(s)&&s.on("error",p=>{this.onError(p)}),ZI(this,a)}onConnect(A,t){if(!this.callback)throw new OI;this.abort=A,this.context=t}onHeaders(A,t,a,r){let{callback:i,opaque:s,abort:n,context:o,responseHeaders:d,highWaterMark:l}=this,p=d==="raw"?jA.parseRawHeaders(t):jA.parseHeaders(t);if(A<200){this.onInfo&&this.onInfo({statusCode:A,headers:p});return}let c=(d==="raw"?jA.parseHeaders(t):p)["content-type"],u=new HI({resume:a,abort:n,contentType:c,highWaterMark:l});this.callback=null,this.res=u,i!==null&&(this.throwOnError&&A>=400?this.runInAsyncScope(PI,null,{callback:i,body:u,contentType:c,statusCode:A,statusMessage:r,headers:p}):this.runInAsyncScope(i,null,null,{statusCode:A,headers:p,trailers:this.trailers,opaque:s,body:u,context:o}))}onData(A){let{res:t}=this;return t.push(A)}onComplete(A){let{res:t}=this;b6(this),jA.parseHeaders(A,this.trailers),t.push(null)}onError(A){let{res:t,callback:a,body:r,opaque:i}=this;b6(this),a&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(a,null,A,{opaque:i})})),t&&(this.res=null,queueMicrotask(()=>{jA.destroy(t,A)})),r&&(this.body=null,jA.destroy(r,A))}};function S6(e,A){if(A===void 0)return new Promise((t,a)=>{S6.call(this,e,(r,i)=>r?a(r):t(i))});try{this.dispatch(e,new Sd(e,A))}catch(t){if(typeof A!="function")throw t;let a=e&&e.opaque;queueMicrotask(()=>A(t,{opaque:a}))}}k6.exports=S6});var T6=E((hb,M6)=>{"use strict";var{finished:jI,PassThrough:XI}=require("stream"),{InvalidArgumentError:Aa,InvalidReturnValueError:zI,RequestAbortedError:KI}=z(),SA=_(),{getResolveErrorBodyCallback:$I}=bd(),{AsyncResource:e7}=require("async_hooks"),{addSignal:A7,removeSignal:U6}=$1(),kd=class extends e7{constructor(A,t,a){if(!A||typeof A!="object")throw new Aa("invalid opts");let{signal:r,method:i,opaque:s,body:n,onInfo:o,responseHeaders:d,throwOnError:l}=A;try{if(typeof a!="function")throw new Aa("invalid callback");if(typeof t!="function")throw new Aa("invalid factory");if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new Aa("signal must be an EventEmitter or EventTarget");if(i==="CONNECT")throw new Aa("invalid method");if(o&&typeof o!="function")throw new Aa("invalid onInfo callback");super("UNDICI_STREAM")}catch(p){throw SA.isStream(n)&&SA.destroy(n.on("error",SA.nop),p),p}this.responseHeaders=d||null,this.opaque=s||null,this.factory=t,this.callback=a,this.res=null,this.abort=null,this.context=null,this.trailers=null,this.body=n,this.onInfo=o||null,this.throwOnError=l||!1,SA.isStream(n)&&n.on("error",p=>{this.onError(p)}),A7(this,r)}onConnect(A,t){if(!this.callback)throw new KI;this.abort=A,this.context=t}onHeaders(A,t,a,r){let{factory:i,opaque:s,context:n,callback:o,responseHeaders:d}=this,l=d==="raw"?SA.parseRawHeaders(t):SA.parseHeaders(t);if(A<200){this.onInfo&&this.onInfo({statusCode:A,headers:l});return}this.factory=null;let p;if(this.throwOnError&&A>=400){let u=(d==="raw"?SA.parseHeaders(t):l)["content-type"];p=new XI,this.callback=null,this.runInAsyncScope($I,null,{callback:o,body:p,contentType:u,statusCode:A,statusMessage:r,headers:l})}else{if(p=this.runInAsyncScope(i,null,{statusCode:A,headers:l,opaque:s,context:n}),!p||typeof p.write!="function"||typeof p.end!="function"||typeof p.on!="function")throw new zI("expected Writable");jI(p,{readable:!1},c=>{let{callback:u,res:Q,opaque:m,trailers:C,abort:B}=this;this.res=null,(c||!Q.readable)&&SA.destroy(Q,c),this.callback=null,this.runInAsyncScope(u,null,c||null,{opaque:m,trailers:C}),c&&B()})}return p.on("drain",a),this.res=p,(p.writableNeedDrain!==void 0?p.writableNeedDrain:p._writableState&&p._writableState.needDrain)!==!0}onData(A){let{res:t}=this;return t.write(A)}onComplete(A){let{res:t}=this;U6(this),this.trailers=SA.parseHeaders(A),t.end()}onError(A){let{res:t,callback:a,opaque:r,body:i}=this;U6(this),this.factory=null,t?(this.res=null,SA.destroy(t,A)):a&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(a,null,A,{opaque:r})})),i&&(this.body=null,SA.destroy(i,A))}};function L6(e,A,t){if(t===void 0)return new Promise((a,r)=>{L6.call(this,e,A,(i,s)=>i?r(i):a(s))});try{this.dispatch(e,new kd(e,A,t))}catch(a){if(typeof t!="function")throw a;let r=e&&e.opaque;queueMicrotask(()=>t(a,{opaque:r}))}}M6.exports=L6});var J6=E((Ib,Y6)=>{"use strict";var{Readable:V6,Duplex:t7,PassThrough:a7}=require("stream"),{InvalidArgumentError:dr,InvalidReturnValueError:r7,RequestAbortedError:Zi}=z(),IA=_(),{AsyncResource:i7}=require("async_hooks"),{addSignal:s7,removeSignal:n7}=$1(),o7=require("assert"),ta=Symbol("resume"),Fd=class extends V6{constructor(){super({autoDestroy:!0}),this[ta]=null}_read(){let{[ta]:A}=this;A&&(this[ta]=null,A())}_destroy(A,t){this._read(),t(A)}},Ud=class extends V6{constructor(A){super({autoDestroy:!0}),this[ta]=A}_read(){this[ta]()}_destroy(A,t){!A&&!this._readableState.endEmitted&&(A=new Zi),t(A)}},Ld=class extends i7{constructor(A,t){if(!A||typeof A!="object")throw new dr("invalid opts");if(typeof t!="function")throw new dr("invalid handler");let{signal:a,method:r,opaque:i,onInfo:s,responseHeaders:n}=A;if(a&&typeof a.on!="function"&&typeof a.addEventListener!="function")throw new dr("signal must be an EventEmitter or EventTarget");if(r==="CONNECT")throw new dr("invalid method");if(s&&typeof s!="function")throw new dr("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=i||null,this.responseHeaders=n||null,this.handler=t,this.abort=null,this.context=null,this.onInfo=s||null,this.req=new Fd().on("error",IA.nop),this.ret=new t7({readableObjectMode:A.objectMode,autoDestroy:!0,read:()=>{let{body:o}=this;o&&o.resume&&o.resume()},write:(o,d,l)=>{let{req:p}=this;p.push(o,d)||p._readableState.destroyed?l():p[ta]=l},destroy:(o,d)=>{let{body:l,req:p,res:g,ret:c,abort:u}=this;!o&&!c._readableState.endEmitted&&(o=new Zi),u&&o&&u(),IA.destroy(l,o),IA.destroy(p,o),IA.destroy(g,o),n7(this),d(o)}}).on("prefinish",()=>{let{req:o}=this;o.push(null)}),this.res=null,s7(this,a)}onConnect(A,t){let{ret:a,res:r}=this;if(o7(!r,"pipeline cannot be retried"),a.destroyed)throw new Zi;this.abort=A,this.context=t}onHeaders(A,t,a){let{opaque:r,handler:i,context:s}=this;if(A<200){if(this.onInfo){let o=this.responseHeaders==="raw"?IA.parseRawHeaders(t):IA.parseHeaders(t);this.onInfo({statusCode:A,headers:o})}return}this.res=new Ud(a);let n;try{this.handler=null;let o=this.responseHeaders==="raw"?IA.parseRawHeaders(t):IA.parseHeaders(t);n=this.runInAsyncScope(i,null,{statusCode:A,headers:o,opaque:r,body:this.res,context:s})}catch(o){throw this.res.on("error",IA.nop),o}if(!n||typeof n.on!="function")throw new r7("expected Readable");n.on("data",o=>{let{ret:d,body:l}=this;!d.push(o)&&l.pause&&l.pause()}).on("error",o=>{let{ret:d}=this;IA.destroy(d,o)}).on("end",()=>{let{ret:o}=this;o.push(null)}).on("close",()=>{let{ret:o}=this;o._readableState.ended||IA.destroy(o,new Zi)}),this.body=n}onData(A){let{res:t}=this;return t.push(A)}onComplete(A){let{res:t}=this;t.push(null)}onError(A){let{ret:t}=this;this.handler=null,IA.destroy(t,A)}};function d7(e,A){try{let t=new Ld(e,A);return this.dispatch({...e,body:t.req},t),t.ret}catch(t){return new a7().destroy(t)}}Y6.exports=d7});var H6=E((fb,q6)=>{"use strict";var{InvalidArgumentError:Md,RequestAbortedError:p7,SocketError:l7}=z(),{AsyncResource:g7}=require("async_hooks"),G6=_(),{addSignal:c7,removeSignal:x6}=$1(),u7=require("assert"),Td=class extends g7{constructor(A,t){if(!A||typeof A!="object")throw new Md("invalid opts");if(typeof t!="function")throw new Md("invalid callback");let{signal:a,opaque:r,responseHeaders:i}=A;if(a&&typeof a.on!="function"&&typeof a.addEventListener!="function")throw new Md("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=i||null,this.opaque=r||null,this.callback=t,this.abort=null,this.context=null,c7(this,a)}onConnect(A,t){if(!this.callback)throw new p7;this.abort=A,this.context=null}onHeaders(){throw new l7("bad upgrade",null)}onUpgrade(A,t,a){let{callback:r,opaque:i,context:s}=this;u7.strictEqual(A,101),x6(this),this.callback=null;let n=this.responseHeaders==="raw"?G6.parseRawHeaders(t):G6.parseHeaders(t);this.runInAsyncScope(r,null,null,{headers:n,socket:a,opaque:i,context:s})}onError(A){let{callback:t,opaque:a}=this;x6(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,A,{opaque:a})}))}};function _6(e,A){if(A===void 0)return new Promise((t,a)=>{_6.call(this,e,(r,i)=>r?a(r):t(i))});try{let t=new Td(e,A);this.dispatch({...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"},t)}catch(t){if(typeof A!="function")throw t;let a=e&&e.opaque;queueMicrotask(()=>A(t,{opaque:a}))}}q6.exports=_6});var j6=E((wb,Z6)=>{"use strict";var{InvalidArgumentError:Vd,RequestAbortedError:E7,SocketError:Q7}=z(),{AsyncResource:C7}=require("async_hooks"),O6=_(),{addSignal:m7,removeSignal:P6}=$1(),Yd=class extends C7{constructor(A,t){if(!A||typeof A!="object")throw new Vd("invalid opts");if(typeof t!="function")throw new Vd("invalid callback");let{signal:a,opaque:r,responseHeaders:i}=A;if(a&&typeof a.on!="function"&&typeof a.addEventListener!="function")throw new Vd("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=r||null,this.responseHeaders=i||null,this.callback=t,this.abort=null,m7(this,a)}onConnect(A,t){if(!this.callback)throw new E7;this.abort=A,this.context=t}onHeaders(){throw new Q7("bad connect",null)}onUpgrade(A,t,a){let{callback:r,opaque:i,context:s}=this;P6(this),this.callback=null;let n=this.responseHeaders==="raw"?O6.parseRawHeaders(t):O6.parseHeaders(t);this.runInAsyncScope(r,null,null,{statusCode:A,headers:n,socket:a,opaque:i,context:s})}onError(A){let{callback:t,opaque:a}=this;P6(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,A,{opaque:a})}))}};function W6(e,A){if(A===void 0)return new Promise((t,a)=>{W6.call(this,e,(r,i)=>r?a(r):t(i))});try{let t=new Yd(e,A);this.dispatch({...e,method:"CONNECT"},t)}catch(t){if(typeof A!="function")throw t;let a=e&&e.opaque;queueMicrotask(()=>A(t,{opaque:a}))}}Z6.exports=W6});var X6=E((yb,aa)=>{"use strict";aa.exports.request=F6();aa.exports.stream=T6();aa.exports.pipeline=J6();aa.exports.upgrade=H6();aa.exports.connect=j6()});var Gd=E((Db,z6)=>{"use strict";var{UndiciError:B7}=z(),Jd=class e extends B7{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="MockNotMatchedError",this.message=A||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}};z6.exports={MockNotMatchedError:Jd}});var ra=E((Rb,K6)=>{"use strict";K6.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}});var pr=E((vb,pc)=>{"use strict";var{MockNotMatchedError:s1}=Gd(),{kDispatches:ji,kMockAgent:h7,kOriginalDispatch:I7,kOrigin:f7,kGetNetConnect:w7}=ra(),{buildURL:y7,nop:D7}=_(),{STATUS_CODES:R7}=require("http"),{types:{isPromise:v7}}=require("util");function ut(e,A){return typeof e=="string"?e===A:e instanceof RegExp?e.test(A):typeof e=="function"?e(A)===!0:!1}function ec(e){return Object.fromEntries(Object.entries(e).map(([A,t])=>[A.toLocaleLowerCase(),t]))}function Ac(e,A){if(Array.isArray(e)){for(let t=0;t<e.length;t+=2)if(e[t].toLocaleLowerCase()===A.toLocaleLowerCase())return e[t+1];return}else return typeof e.get=="function"?e.get(A):ec(e)[A.toLocaleLowerCase()]}function tc(e){let A=e.slice(),t=[];for(let a=0;a<A.length;a+=2)t.push([A[a],A[a+1]]);return Object.fromEntries(t)}function ac(e,A){if(typeof e.headers=="function")return Array.isArray(A)&&(A=tc(A)),e.headers(A?ec(A):{});if(typeof e.headers>"u")return!0;if(typeof A!="object"||typeof e.headers!="object")return!1;for(let[t,a]of Object.entries(e.headers)){let r=Ac(A,t);if(!ut(a,r))return!1}return!0}function $6(e){if(typeof e!="string")return e;let A=e.split("?");if(A.length!==2)return e;let t=new URLSearchParams(A.pop());return t.sort(),[...A,t.toString()].join("?")}function N7(e,{path:A,method:t,body:a,headers:r}){let i=ut(e.path,A),s=ut(e.method,t),n=typeof e.body<"u"?ut(e.body,a):!0,o=ac(e,r);return i&&s&&n&&o}function rc(e){return Buffer.isBuffer(e)?e:typeof e=="object"?JSON.stringify(e):e.toString()}function ic(e,A){let t=A.query?y7(A.path,A.query):A.path,a=typeof t=="string"?$6(t):t,r=e.filter(({consumed:i})=>!i).filter(({path:i})=>ut($6(i),a));if(r.length===0)throw new s1(`Mock dispatch not matched for path '${a}'`);if(r=r.filter(({method:i})=>ut(i,A.method)),r.length===0)throw new s1(`Mock dispatch not matched for method '${A.method}'`);if(r=r.filter(({body:i})=>typeof i<"u"?ut(i,A.body):!0),r.length===0)throw new s1(`Mock dispatch not matched for body '${A.body}'`);if(r=r.filter(i=>ac(i,A.headers)),r.length===0)throw new s1(`Mock dispatch not matched for headers '${typeof A.headers=="object"?JSON.stringify(A.headers):A.headers}'`);return r[0]}function b7(e,A,t){let a={timesInvoked:0,times:1,persist:!1,consumed:!1},r=typeof t=="function"?{callback:t}:{...t},i={...a,...A,pending:!0,data:{error:null,...r}};return e.push(i),i}function xd(e,A){let t=e.findIndex(a=>a.consumed?N7(a,A):!1);t!==-1&&e.splice(t,1)}function sc(e){let{path:A,method:t,body:a,headers:r,query:i}=e;return{path:A,method:t,body:a,headers:r,query:i}}function qd(e){return Object.entries(e).reduce((A,[t,a])=>[...A,Buffer.from(`${t}`),Array.isArray(a)?a.map(r=>Buffer.from(`${r}`)):Buffer.from(`${a}`)],[])}function nc(e){return R7[e]||"unknown"}async function S7(e){let A=[];for await(let t of e)A.push(t);return Buffer.concat(A).toString("utf8")}function oc(e,A){let t=sc(e),a=ic(this[ji],t);a.timesInvoked++,a.data.callback&&(a.data={...a.data,...a.data.callback(e)});let{data:{statusCode:r,data:i,headers:s,trailers:n,error:o},delay:d,persist:l}=a,{timesInvoked:p,times:g}=a;if(a.consumed=!l&&p>=g,a.pending=p<g,o!==null)return xd(this[ji],t),A.onError(o),!0;typeof d=="number"&&d>0?setTimeout(()=>{c(this[ji])},d):c(this[ji]);function c(Q,m=i){let C=Array.isArray(e.headers)?tc(e.headers):e.headers,B=typeof m=="function"?m({...e,headers:C}):m;if(v7(B)){B.then(b=>c(Q,b));return}let w=rc(B),I=qd(s),y=qd(n);A.abort=D7,A.onHeaders(r,I,u,nc(r)),A.onData(Buffer.from(w)),A.onComplete(y),xd(Q,t)}function u(){}return!0}function k7(){let e=this[h7],A=this[f7],t=this[I7];return function(r,i){if(e.isMockActive)try{oc.call(this,r,i)}catch(s){if(s instanceof s1){let n=e[w7]();if(n===!1)throw new s1(`${s.message}: subsequent request to origin ${A} was not allowed (net.connect disabled)`);if(dc(n,A))t.call(this,r,i);else throw new s1(`${s.message}: subsequent request to origin ${A} was not allowed (net.connect is not enabled for this origin)`)}else throw s}else t.call(this,r,i)}}function dc(e,A){let t=new URL(A);return e===!0?!0:!!(Array.isArray(e)&&e.some(a=>ut(a,t.host)))}function F7(e){if(e){let{agent:A,...t}=e;return t}}pc.exports={getResponseData:rc,getMockDispatch:ic,addMockDispatch:b7,deleteMockDispatch:xd,buildKey:sc,generateKeyValues:qd,matchValue:ut,getResponse:S7,getStatusText:nc,mockDispatch:oc,buildMockDispatch:k7,checkNetConnect:dc,buildMockOptions:F7,getHeaderByName:Ac}});var Xd=E((Nb,jd)=>{"use strict";var{getResponseData:U7,buildKey:L7,addMockDispatch:Hd}=pr(),{kDispatches:Xi,kDispatchKey:zi,kDefaultHeaders:Od,kDefaultTrailers:Pd,kContentLength:Wd,kMockDispatch:Ki}=ra(),{InvalidArgumentError:kA}=z(),{buildURL:M7}=_(),ia=class{constructor(A){this[Ki]=A}delay(A){if(typeof A!="number"||!Number.isInteger(A)||A<=0)throw new kA("waitInMs must be a valid integer > 0");return this[Ki].delay=A,this}persist(){return this[Ki].persist=!0,this}times(A){if(typeof A!="number"||!Number.isInteger(A)||A<=0)throw new kA("repeatTimes must be a valid integer > 0");return this[Ki].times=A,this}},Zd=class{constructor(A,t){if(typeof A!="object")throw new kA("opts must be an object");if(typeof A.path>"u")throw new kA("opts.path must be defined");if(typeof A.method>"u"&&(A.method="GET"),typeof A.path=="string")if(A.query)A.path=M7(A.path,A.query);else{let a=new URL(A.path,"data://");A.path=a.pathname+a.search}typeof A.method=="string"&&(A.method=A.method.toUpperCase()),this[zi]=L7(A),this[Xi]=t,this[Od]={},this[Pd]={},this[Wd]=!1}createMockScopeDispatchData(A,t,a={}){let r=U7(t),i=this[Wd]?{"content-length":r.length}:{},s={...this[Od],...i,...a.headers},n={...this[Pd],...a.trailers};return{statusCode:A,data:t,headers:s,trailers:n}}validateReplyParameters(A,t,a){if(typeof A>"u")throw new kA("statusCode must be defined");if(typeof t>"u")throw new kA("data must be defined");if(typeof a!="object")throw new kA("responseOptions must be an object")}reply(A){if(typeof A=="function"){let n=d=>{let l=A(d);if(typeof l!="object")throw new kA("reply options callback must return an object");let{statusCode:p,data:g="",responseOptions:c={}}=l;return this.validateReplyParameters(p,g,c),{...this.createMockScopeDispatchData(p,g,c)}},o=Hd(this[Xi],this[zi],n);return new ia(o)}let[t,a="",r={}]=[...arguments];this.validateReplyParameters(t,a,r);let i=this.createMockScopeDispatchData(t,a,r),s=Hd(this[Xi],this[zi],i);return new ia(s)}replyWithError(A){if(typeof A>"u")throw new kA("error must be defined");let t=Hd(this[Xi],this[zi],{error:A});return new ia(t)}defaultReplyHeaders(A){if(typeof A>"u")throw new kA("headers must be defined");return this[Od]=A,this}defaultReplyTrailers(A){if(typeof A>"u")throw new kA("trailers must be defined");return this[Pd]=A,this}replyContentLength(){return this[Wd]=!0,this}};jd.exports.MockInterceptor=Zd;jd.exports.MockScope=ia});var $d=E((bb,Cc)=>{"use strict";var{promisify:T7}=require("util"),V7=rr(),{buildMockDispatch:Y7}=pr(),{kDispatches:lc,kMockAgent:gc,kClose:cc,kOriginalClose:uc,kOrigin:Ec,kOriginalDispatch:J7,kConnected:zd}=ra(),{MockInterceptor:G7}=Xd(),Qc=te(),{InvalidArgumentError:x7}=z(),Kd=class extends V7{constructor(A,t){if(super(A,t),!t||!t.agent||typeof t.agent.dispatch!="function")throw new x7("Argument opts.agent must implement Agent");this[gc]=t.agent,this[Ec]=A,this[lc]=[],this[zd]=1,this[J7]=this.dispatch,this[uc]=this.close.bind(this),this.dispatch=Y7.call(this),this.close=this[cc]}get[Qc.kConnected](){return this[zd]}intercept(A){return new G7(A,this[lc])}async[cc](){await T7(this[uc])(),this[zd]=0,this[gc][Qc.kClients].delete(this[Ec])}};Cc.exports=Kd});var tp=E((Sb,yc)=>{"use strict";var{promisify:_7}=require("util"),q7=X1(),{buildMockDispatch:H7}=pr(),{kDispatches:mc,kMockAgent:Bc,kClose:hc,kOriginalClose:Ic,kOrigin:fc,kOriginalDispatch:O7,kConnected:ep}=ra(),{MockInterceptor:P7}=Xd(),wc=te(),{InvalidArgumentError:W7}=z(),Ap=class extends q7{constructor(A,t){if(super(A,t),!t||!t.agent||typeof t.agent.dispatch!="function")throw new W7("Argument opts.agent must implement Agent");this[Bc]=t.agent,this[fc]=A,this[mc]=[],this[ep]=1,this[O7]=this.dispatch,this[Ic]=this.close.bind(this),this.dispatch=H7.call(this),this.close=this[hc]}get[wc.kConnected](){return this[ep]}intercept(A){return new P7(A,this[mc])}async[hc](){await _7(this[Ic])(),this[ep]=0,this[Bc][wc.kClients].delete(this[fc])}};yc.exports=Ap});var Rc=E((Fb,Dc)=>{"use strict";var Z7={pronoun:"it",is:"is",was:"was",this:"this"},j7={pronoun:"they",is:"are",was:"were",this:"these"};Dc.exports=class{constructor(A,t){this.singular=A,this.plural=t}pluralize(A){let t=A===1,a=t?Z7:j7,r=t?this.singular:this.plural;return{...a,count:A,noun:r}}}});var Nc=E((Lb,vc)=>{"use strict";var{Transform:X7}=require("stream"),{Console:z7}=require("console");vc.exports=class{constructor({disableColors:A}={}){this.transform=new X7({transform(t,a,r){r(null,t)}}),this.logger=new z7({stdout:this.transform,inspectOptions:{colors:!A&&!process.env.CI}})}format(A){let t=A.map(({method:a,path:r,data:{statusCode:i},persist:s,times:n,timesInvoked:o,origin:d})=>({Method:a,Origin:d,Path:r,"Status code":i,Persistent:s?"\u2705":"\u274C",Invocations:o,Remaining:s?1/0:n-o}));return this.logger.table(t),this.transform.read().toString()}}});var Fc=E((Mb,kc)=>{"use strict";var{kClients:n1}=te(),K7=or(),{kAgent:ap,kMockAgentSet:$i,kMockAgentGet:bc,kDispatches:rp,kIsMockActive:es,kNetConnect:o1,kGetNetConnect:$7,kOptions:As,kFactory:ts}=ra(),ef=$d(),Af=tp(),{matchValue:tf,buildMockOptions:af}=pr(),{InvalidArgumentError:Sc,UndiciError:rf}=z(),sf=vi(),nf=Rc(),of=Nc(),ip=class{constructor(A){this.value=A}deref(){return this.value}},sp=class extends sf{constructor(A){if(super(A),this[o1]=!0,this[es]=!0,A&&A.agent&&typeof A.agent.dispatch!="function")throw new Sc("Argument opts.agent must implement Agent");let t=A&&A.agent?A.agent:new K7(A);this[ap]=t,this[n1]=t[n1],this[As]=af(A)}get(A){let t=this[bc](A);return t||(t=this[ts](A),this[$i](A,t)),t}dispatch(A,t){return this.get(A.origin),this[ap].dispatch(A,t)}async close(){await this[ap].close(),this[n1].clear()}deactivate(){this[es]=!1}activate(){this[es]=!0}enableNetConnect(A){if(typeof A=="string"||typeof A=="function"||A instanceof RegExp)Array.isArray(this[o1])?this[o1].push(A):this[o1]=[A];else if(typeof A>"u")this[o1]=!0;else throw new Sc("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[o1]=!1}get isMockActive(){return this[es]}[$i](A,t){this[n1].set(A,new ip(t))}[ts](A){let t=Object.assign({agent:this},this[As]);return this[As]&&this[As].connections===1?new ef(A,t):new Af(A,t)}[bc](A){let t=this[n1].get(A);if(t)return t.deref();if(typeof A!="string"){let a=this[ts]("http://localhost:9999");return this[$i](A,a),a}for(let[a,r]of Array.from(this[n1])){let i=r.deref();if(i&&typeof a!="string"&&tf(a,A)){let s=this[ts](A);return this[$i](A,s),s[rp]=i[rp],s}}}[$7](){return this[o1]}pendingInterceptors(){let A=this[n1];return Array.from(A.entries()).flatMap(([t,a])=>a.deref()[rp].map(r=>({...r,origin:t}))).filter(({pending:t})=>t)}assertNoPendingInterceptors({pendingInterceptorsFormatter:A=new of}={}){let t=this.pendingInterceptors();if(t.length===0)return;let a=new nf("interceptor","interceptors").pluralize(t.length);throw new rf(` +${a.count} ${a.noun} ${a.is} pending: + +${A.format(t)} +`.trim())}};kc.exports=sp});var Yc=E((Tb,Vc)=>{"use strict";var{kProxy:df,kClose:pf,kDestroy:lf,kInterceptors:gf}=te(),{URL:Uc}=require("url"),Lc=or(),cf=X1(),uf=Xa(),{InvalidArgumentError:gr,RequestAbortedError:Ef}=z(),Mc=za(),lr=Symbol("proxy agent"),as=Symbol("proxy client"),rs=Symbol("proxy headers"),np=Symbol("request tls settings"),Qf=Symbol("proxy tls settings"),Tc=Symbol("connect endpoint function");function Cf(e){return e==="https:"?443:80}function mf(e){if(typeof e=="string"&&(e={uri:e}),!e||!e.uri)throw new gr("Proxy opts.uri is mandatory");return{uri:e.uri,protocol:e.protocol||"https"}}function Bf(e,A){return new cf(e,A)}var op=class extends uf{constructor(A){if(super(A),this[df]=mf(A),this[lr]=new Lc(A),this[gf]=A.interceptors&&A.interceptors.ProxyAgent&&Array.isArray(A.interceptors.ProxyAgent)?A.interceptors.ProxyAgent:[],typeof A=="string"&&(A={uri:A}),!A||!A.uri)throw new gr("Proxy opts.uri is mandatory");let{clientFactory:t=Bf}=A;if(typeof t!="function")throw new gr("Proxy opts.clientFactory must be a function.");if(this[np]=A.requestTls,this[Qf]=A.proxyTls,this[rs]=A.headers||{},A.auth&&A.token)throw new gr("opts.auth cannot be used in combination with opts.token");A.auth?this[rs]["proxy-authorization"]=`Basic ${A.auth}`:A.token&&(this[rs]["proxy-authorization"]=A.token);let a=new Uc(A.uri),{origin:r,port:i,host:s}=a,n=Mc({...A.proxyTls});this[Tc]=Mc({...A.requestTls}),this[as]=t(a,{connect:n}),this[lr]=new Lc({...A,connect:async(o,d)=>{let l=o.host;o.port||(l+=`:${Cf(o.protocol)}`);try{let{socket:p,statusCode:g}=await this[as].connect({origin:r,port:i,path:l,signal:o.signal,headers:{...this[rs],host:s}});if(g!==200&&(p.on("error",()=>{}).destroy(),d(new Ef("Proxy response !== 200 when HTTP Tunneling"))),o.protocol!=="https:"){d(null,p);return}let c;this[np]?c=this[np].servername:c=o.servername,this[Tc]({...o,servername:c,httpSocket:p},d)}catch(p){d(p)}}})}dispatch(A,t){let{host:a}=new Uc(A.origin),r=hf(A.headers);return If(r),this[lr].dispatch({...A,headers:{...r,host:a}},t)}async[pf](){await this[lr].close(),await this[as].close()}async[lf](){await this[lr].destroy(),await this[as].destroy()}};function hf(e){if(Array.isArray(e)){let A={};for(let t=0;t<e.length;t+=2)A[e[t]]=e[t+1];return A}return e}function If(e){if(e&&Object.keys(e).find(t=>t.toLowerCase()==="proxy-authorization"))throw new gr("Proxy-Authorization should be sent in ProxyAgent constructor")}Vc.exports=op});var sa=E((Vb,qc)=>{"use strict";var Jc=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:ff}=z(),wf=or();xc()===void 0&&Gc(new wf);function Gc(e){if(!e||typeof e.dispatch!="function")throw new ff("Argument agent must implement Agent");Object.defineProperty(globalThis,Jc,{value:e,writable:!0,enumerable:!1,configurable:!1})}function xc(){return globalThis[Jc]}qc.exports={setGlobalDispatcher:Gc,getGlobalDispatcher:xc}});var Oc=E((Jb,Hc)=>{"use strict";Hc.exports=class{constructor(A){this.handler=A}onConnect(...A){return this.handler.onConnect(...A)}onError(...A){return this.handler.onError(...A)}onUpgrade(...A){return this.handler.onUpgrade(...A)}onHeaders(...A){return this.handler.onHeaders(...A)}onData(...A){return this.handler.onData(...A)}onComplete(...A){return this.handler.onComplete(...A)}onBodySent(...A){return this.handler.onBodySent(...A)}}});var p1=E((Gb,jc)=>{"use strict";var{kHeadersList:Oe}=te(),{kGuard:d1}=nt(),{kEnumerableProperty:XA}=_(),{makeIterator:dp,isValidHeaderName:cr,isValidHeaderValue:Pc}=QA(),{webidl:Y}=Te(),yf=require("assert"),Pe=Symbol("headers map"),We=Symbol("headers map sorted");function Wc(e){let A=e.length;for(;/[\r\n\t ]/.test(e.charAt(--A)););return e.slice(0,A+1).replace(/^[\r\n\t ]+/,"")}function Zc(e,A){if(Array.isArray(A))for(let t of A){if(t.length!==2)throw Y.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${t.length}.`});e.append(t[0],t[1])}else if(typeof A=="object"&&A!==null)for(let[t,a]of Object.entries(A))e.append(t,a);else throw Y.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}var is=class e{cookies=null;constructor(A){A instanceof e?(this[Pe]=new Map(A[Pe]),this[We]=A[We],this.cookies=A.cookies):(this[Pe]=new Map(A),this[We]=null)}contains(A){return A=A.toLowerCase(),this[Pe].has(A)}clear(){this[Pe].clear(),this[We]=null,this.cookies=null}append(A,t){this[We]=null;let a=A.toLowerCase(),r=this[Pe].get(a);if(r){let i=a==="cookie"?"; ":", ";this[Pe].set(a,{name:r.name,value:`${r.value}${i}${t}`})}else this[Pe].set(a,{name:A,value:t});a==="set-cookie"&&(this.cookies??=[],this.cookies.push(t))}set(A,t){this[We]=null;let a=A.toLowerCase();return a==="set-cookie"&&(this.cookies=[t]),this[Pe].set(a,{name:A,value:t})}delete(A){return this[We]=null,A=A.toLowerCase(),A==="set-cookie"&&(this.cookies=null),this[Pe].delete(A)}get(A){return this.contains(A)?this[Pe].get(A.toLowerCase())?.value??null:null}*[Symbol.iterator](){for(let[A,{value:t}]of this[Pe])yield[A,t]}get entries(){let A={};if(this[Pe].size)for(let{name:t,value:a}of this[Pe].values())A[t]=a;return A}},na=class e{constructor(A=void 0){this[Oe]=new is,this[d1]="none",A!==void 0&&(A=Y.converters.HeadersInit(A),Zc(this,A))}append(A,t){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,2,{header:"Headers.append"}),A=Y.converters.ByteString(A),t=Y.converters.ByteString(t),t=Wc(t),cr(A)){if(!Pc(t))throw Y.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header value"})}else throw Y.errors.invalidArgument({prefix:"Headers.append",value:A,type:"header name"});if(this[d1]==="immutable")throw new TypeError("immutable");return this[d1],this[Oe].append(A,t)}delete(A){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,1,{header:"Headers.delete"}),A=Y.converters.ByteString(A),!cr(A))throw Y.errors.invalidArgument({prefix:"Headers.delete",value:A,type:"header name"});if(this[d1]==="immutable")throw new TypeError("immutable");if(this[d1],!!this[Oe].contains(A))return this[Oe].delete(A)}get(A){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,1,{header:"Headers.get"}),A=Y.converters.ByteString(A),!cr(A))throw Y.errors.invalidArgument({prefix:"Headers.get",value:A,type:"header name"});return this[Oe].get(A)}has(A){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,1,{header:"Headers.has"}),A=Y.converters.ByteString(A),!cr(A))throw Y.errors.invalidArgument({prefix:"Headers.has",value:A,type:"header name"});return this[Oe].contains(A)}set(A,t){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,2,{header:"Headers.set"}),A=Y.converters.ByteString(A),t=Y.converters.ByteString(t),t=Wc(t),cr(A)){if(!Pc(t))throw Y.errors.invalidArgument({prefix:"Headers.set",value:t,type:"header value"})}else throw Y.errors.invalidArgument({prefix:"Headers.set",value:A,type:"header name"});if(this[d1]==="immutable")throw new TypeError("immutable");return this[d1],this[Oe].set(A,t)}getSetCookie(){Y.brandCheck(this,e);let A=this[Oe].cookies;return A?[...A]:[]}get[We](){if(this[Oe][We])return this[Oe][We];let A=[],t=[...this[Oe]].sort((r,i)=>r[0]<i[0]?-1:1),a=this[Oe].cookies;for(let[r,i]of t)if(r==="set-cookie")for(let s of a)A.push([r,s]);else yf(i!==null),A.push([r,i]);return this[Oe][We]=A,A}keys(){return Y.brandCheck(this,e),dp(()=>[...this[We].values()],"Headers","key")}values(){return Y.brandCheck(this,e),dp(()=>[...this[We].values()],"Headers","value")}entries(){return Y.brandCheck(this,e),dp(()=>[...this[We].values()],"Headers","key+value")}forEach(A,t=globalThis){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,1,{header:"Headers.forEach"}),typeof A!="function")throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.");for(let[a,r]of this)A.apply(t,[r,a,this])}[Symbol.for("nodejs.util.inspect.custom")](){return Y.brandCheck(this,e),this[Oe]}};na.prototype[Symbol.iterator]=na.prototype.entries;Object.defineProperties(na.prototype,{append:XA,delete:XA,get:XA,has:XA,set:XA,getSetCookie:XA,keys:XA,values:XA,entries:XA,forEach:XA,[Symbol.iterator]:{enumerable:!1},[Symbol.toStringTag]:{value:"Headers",configurable:!0}});Y.converters.HeadersInit=function(e){if(Y.util.Type(e)==="Object")return e[Symbol.iterator]?Y.converters["sequence<sequence<ByteString>>"](e):Y.converters["record<ByteString, ByteString>"](e);throw Y.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})};jc.exports={fill:Zc,Headers:na,HeadersList:is}});var ds=E((xb,tu)=>{"use strict";var{Headers:Df,HeadersList:Xc,fill:Rf}=p1(),{extractBody:zc,cloneBody:vf,mixinBody:Nf}=Za(),gp=_(),{kEnumerableProperty:iA}=gp,{isValidReasonPhrase:bf,isCancelled:Sf,isAborted:kf,isBlobLike:Ff,serializeJavascriptValueToJSONString:Uf,isErrorLike:Lf,isomorphicEncode:Mf}=QA(),{redirectStatus:Tf,nullBodyStatus:Vf,DOMException:Yf}=Nt(),{kState:ee,kHeaders:we,kGuard:oa,kRealm:rA}=nt(),{webidl:T}=Te(),{FormData:Jf}=Di(),{getGlobalOrigin:Gf}=Ha(),{URLSerializer:Kc}=bA(),{kHeadersList:pp}=te(),cp=require("assert"),{types:lp}=require("util"),eu=globalThis.ReadableStream||require("stream/web").ReadableStream,da=class e{static error(){let A={settingsObject:{}},t=new e;return t[ee]=ns(),t[rA]=A,t[we][pp]=t[ee].headersList,t[we][oa]="immutable",t[we][rA]=A,t}static json(A=void 0,t={}){T.argumentLengthCheck(arguments,1,{header:"Response.json"}),t!==null&&(t=T.converters.ResponseInit(t));let a=new TextEncoder("utf-8").encode(Uf(A)),r=zc(a),i={settingsObject:{}},s=new e;return s[rA]=i,s[we][oa]="response",s[we][rA]=i,$c(s,t,{body:r[0],type:"application/json"}),s}static redirect(A,t=302){let a={settingsObject:{}};T.argumentLengthCheck(arguments,1,{header:"Response.redirect"}),A=T.converters.USVString(A),t=T.converters["unsigned short"](t);let r;try{r=new URL(A,Gf())}catch(n){throw Object.assign(new TypeError("Failed to parse URL from "+A),{cause:n})}if(!Tf.includes(t))throw new RangeError("Invalid status code "+t);let i=new e;i[rA]=a,i[we][oa]="immutable",i[we][rA]=a,i[ee].status=t;let s=Mf(Kc(r));return i[ee].headersList.append("location",s),i}constructor(A=null,t={}){A!==null&&(A=T.converters.BodyInit(A)),t=T.converters.ResponseInit(t),this[rA]={settingsObject:{}},this[ee]=os({}),this[we]=new Df,this[we][oa]="response",this[we][pp]=this[ee].headersList,this[we][rA]=this[rA];let a=null;if(A!=null){let[r,i]=zc(A);a={body:r,type:i}}$c(this,t,a)}get type(){return T.brandCheck(this,e),this[ee].type}get url(){T.brandCheck(this,e);let A=this[ee].urlList,t=A[A.length-1]??null;return t===null?"":Kc(t,!0)}get redirected(){return T.brandCheck(this,e),this[ee].urlList.length>1}get status(){return T.brandCheck(this,e),this[ee].status}get ok(){return T.brandCheck(this,e),this[ee].status>=200&&this[ee].status<=299}get statusText(){return T.brandCheck(this,e),this[ee].statusText}get headers(){return T.brandCheck(this,e),this[we]}get body(){return T.brandCheck(this,e),this[ee].body?this[ee].body.stream:null}get bodyUsed(){return T.brandCheck(this,e),!!this[ee].body&&gp.isDisturbed(this[ee].body.stream)}clone(){if(T.brandCheck(this,e),this.bodyUsed||this.body&&this.body.locked)throw T.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let A=up(this[ee]),t=new e;return t[ee]=A,t[rA]=this[rA],t[we][pp]=A.headersList,t[we][oa]=this[we][oa],t[we][rA]=this[we][rA],t}};Nf(da);Object.defineProperties(da.prototype,{type:iA,url:iA,status:iA,ok:iA,redirected:iA,statusText:iA,headers:iA,clone:iA,body:iA,bodyUsed:iA,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties(da,{json:iA,redirect:iA,error:iA});function up(e){if(e.internalResponse)return Au(up(e.internalResponse),e.type);let A=os({...e,body:null});return e.body!=null&&(A.body=vf(e.body)),A}function os(e){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e.headersList?new Xc(e.headersList):new Xc,urlList:e.urlList?[...e.urlList]:[]}}function ns(e){let A=Lf(e);return os({type:"error",status:0,error:A?e:new Error(e&&String(e)),aborted:e&&e.name==="AbortError"})}function ss(e,A){return A={internalResponse:e,...A},new Proxy(e,{get(t,a){return a in A?A[a]:t[a]},set(t,a,r){return cp(!(a in A)),t[a]=r,!0}})}function Au(e,A){if(A==="basic")return ss(e,{type:"basic",headersList:e.headersList});if(A==="cors")return ss(e,{type:"cors",headersList:e.headersList});if(A==="opaque")return ss(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null});if(A==="opaqueredirect")return ss(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});cp(!1)}function xf(e){return cp(Sf(e)),kf(e)?ns(new Yf("The operation was aborted.","AbortError")):ns("Request was cancelled.")}function $c(e,A,t){if(A.status!==null&&(A.status<200||A.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in A&&A.statusText!=null&&!bf(String(A.statusText)))throw new TypeError("Invalid statusText");if("status"in A&&A.status!=null&&(e[ee].status=A.status),"statusText"in A&&A.statusText!=null&&(e[ee].statusText=A.statusText),"headers"in A&&A.headers!=null&&Rf(e[we],A.headers),t){if(Vf.includes(e.status))throw T.errors.exception({header:"Response constructor",message:"Invalid response status code "+e.status});e[ee].body=t.body,t.type!=null&&!e[ee].headersList.contains("Content-Type")&&e[ee].headersList.append("content-type",t.type)}}T.converters.ReadableStream=T.interfaceConverter(eu);T.converters.FormData=T.interfaceConverter(Jf);T.converters.URLSearchParams=T.interfaceConverter(URLSearchParams);T.converters.XMLHttpRequestBodyInit=function(e){return typeof e=="string"?T.converters.USVString(e):Ff(e)?T.converters.Blob(e,{strict:!1}):lp.isAnyArrayBuffer(e)||lp.isTypedArray(e)||lp.isDataView(e)?T.converters.BufferSource(e):gp.isFormDataLike(e)?T.converters.FormData(e,{strict:!1}):e instanceof URLSearchParams?T.converters.URLSearchParams(e):T.converters.DOMString(e)};T.converters.BodyInit=function(e){return e instanceof eu?T.converters.ReadableStream(e):e?.[Symbol.asyncIterator]?e:T.converters.XMLHttpRequestBodyInit(e)};T.converters.ResponseInit=T.dictionaryConverter([{key:"status",converter:T.converters["unsigned short"],defaultValue:200},{key:"statusText",converter:T.converters.ByteString,defaultValue:""},{key:"headers",converter:T.converters.HeadersInit}]);tu.exports={makeNetworkError:ns,makeResponse:os,makeAppropriateNetworkError:xf,filterResponse:Au,Response:da,cloneResponse:up}});var Qr=E((qb,du)=>{"use strict";var{extractBody:qf,mixinBody:Hf,cloneBody:Of}=Za(),{Headers:Ep,fill:Pf,HeadersList:au}=p1(),{FinalizationRegistry:Wf}=yd()(),Er=_(),{isValidHTTPToken:Zf,sameOrigin:ru,normalizeMethod:jf,makePolicyContainer:Xf}=QA(),{forbiddenMethods:zf,corsSafeListedMethods:Kf,referrerPolicy:$f,requestRedirect:ew,requestMode:Aw,requestCredentials:tw,requestCache:aw,requestDuplex:rw}=Nt(),{kEnumerableProperty:Ee}=Er,{kHeaders:ye,kSignal:ur,kState:K,kGuard:ps,kRealm:sA}=nt(),{webidl:S}=Te(),{getGlobalOrigin:iw}=Ha(),{URLSerializer:sw}=bA(),{kHeadersList:ls}=te(),nw=require("assert"),{getMaxListeners:iu,setMaxListeners:su,getEventListeners:ow,defaultMaxListeners:nu}=require("events"),Qp=globalThis.TransformStream,ou=Symbol("init"),dw=Symbol("abortController"),pw=new Wf(({signal:e,abort:A})=>{e.removeEventListener("abort",A)}),l1=class e{constructor(A,t={}){if(A===ou)return;S.argumentLengthCheck(arguments,1,{header:"Request constructor"}),A=S.converters.RequestInfo(A),t=S.converters.RequestInit(t),this[sA]={settingsObject:{baseUrl:iw(),get origin(){return this.baseUrl?.origin},policyContainer:Xf()}};let a=null,r=null,i=this[sA].settingsObject.baseUrl,s=null;if(typeof A=="string"){let Q;try{Q=new URL(A,i)}catch(m){throw new TypeError("Failed to parse URL from "+A,{cause:m})}if(Q.username||Q.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+A);a=gs({urlList:[Q]}),r="cors"}else nw(A instanceof e),a=A[K],s=A[ur];let n=this[sA].settingsObject.origin,o="client";if(a.window?.constructor?.name==="EnvironmentSettingsObject"&&ru(a.window,n)&&(o=a.window),t.window!=null)throw new TypeError(`'window' option '${o}' must be null`);if("window"in t&&(o="no-window"),a=gs({method:a.method,headersList:a.headersList,unsafeRequest:a.unsafeRequest,client:this[sA].settingsObject,window:o,priority:a.priority,origin:a.origin,referrer:a.referrer,referrerPolicy:a.referrerPolicy,mode:a.mode,credentials:a.credentials,cache:a.cache,redirect:a.redirect,integrity:a.integrity,keepalive:a.keepalive,reloadNavigation:a.reloadNavigation,historyNavigation:a.historyNavigation,urlList:[...a.urlList]}),Object.keys(t).length>0&&(a.mode==="navigate"&&(a.mode="same-origin"),a.reloadNavigation=!1,a.historyNavigation=!1,a.origin="client",a.referrer="client",a.referrerPolicy="",a.url=a.urlList[a.urlList.length-1],a.urlList=[a.url]),t.referrer!==void 0){let Q=t.referrer;if(Q==="")a.referrer="no-referrer";else{let m;try{m=new URL(Q,i)}catch(C){throw new TypeError(`Referrer "${Q}" is not a valid URL.`,{cause:C})}m.protocol==="about:"&&m.hostname==="client"||n&&!ru(m,this[sA].settingsObject.baseUrl)?a.referrer="client":a.referrer=m}}t.referrerPolicy!==void 0&&(a.referrerPolicy=t.referrerPolicy);let d;if(t.mode!==void 0?d=t.mode:d=r,d==="navigate")throw S.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(d!=null&&(a.mode=d),t.credentials!==void 0&&(a.credentials=t.credentials),t.cache!==void 0&&(a.cache=t.cache),a.cache==="only-if-cached"&&a.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(t.redirect!==void 0&&(a.redirect=t.redirect),t.integrity!==void 0&&t.integrity!=null&&(a.integrity=String(t.integrity)),t.keepalive!==void 0&&(a.keepalive=!!t.keepalive),t.method!==void 0){let Q=t.method;if(!Zf(t.method))throw TypeError(`'${t.method}' is not a valid HTTP method.`);if(zf.indexOf(Q.toUpperCase())!==-1)throw TypeError(`'${t.method}' HTTP method is unsupported.`);Q=jf(t.method),a.method=Q}t.signal!==void 0&&(s=t.signal),this[K]=a;let l=new AbortController;if(this[ur]=l.signal,this[ur][sA]=this[sA],s!=null){if(!s||typeof s.aborted!="boolean"||typeof s.addEventListener!="function")throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.");if(s.aborted)l.abort(s.reason);else{this[dw]=l;let Q=new WeakRef(l),m=function(){let C=Q.deref();C!==void 0&&C.abort(this.reason)};try{(typeof iu=="function"&&iu(s)===nu||ow(s,"abort").length>=nu)&&su(100,s)}catch{}Er.addAbortListener(s,m),pw.register(l,{signal:s,abort:m})}}if(this[ye]=new Ep,this[ye][ls]=a.headersList,this[ye][ps]="request",this[ye][sA]=this[sA],d==="no-cors"){if(!Kf.includes(a.method))throw new TypeError(`'${a.method} is unsupported in no-cors mode.`);this[ye][ps]="request-no-cors"}if(Object.keys(t).length!==0){let Q=new Ep(this[ye]);if(t.headers!==void 0&&(Q=t.headers),this[ye][ls].clear(),Q.constructor.name==="Headers")for(let[m,C]of Q)this[ye].append(m,C);else Pf(this[ye],Q)}let p=A instanceof e?A[K].body:null;if((t.body!=null||p!=null)&&(a.method==="GET"||a.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let g=null;if(t.body!=null){let[Q,m]=qf(t.body,a.keepalive);g=Q,m&&!this[ye][ls].contains("content-type")&&this[ye].append("content-type",m)}let c=g??p;if(c!=null&&c.source==null){if(g!=null&&t.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(a.mode!=="same-origin"&&a.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');a.useCORSPreflightFlag=!0}let u=c;if(g==null&&p!=null){if(Er.isDisturbed(p.stream)||p.stream.locked)throw new TypeError("Cannot construct a Request with a Request object that has already been used.");Qp||(Qp=require("stream/web").TransformStream);let Q=new Qp;p.stream.pipeThrough(Q),u={source:p.source,length:p.length,stream:Q.readable}}this[K].body=u}get method(){return S.brandCheck(this,e),this[K].method}get url(){return S.brandCheck(this,e),sw(this[K].url)}get headers(){return S.brandCheck(this,e),this[ye]}get destination(){return S.brandCheck(this,e),this[K].destination}get referrer(){return S.brandCheck(this,e),this[K].referrer==="no-referrer"?"":this[K].referrer==="client"?"about:client":this[K].referrer.toString()}get referrerPolicy(){return S.brandCheck(this,e),this[K].referrerPolicy}get mode(){return S.brandCheck(this,e),this[K].mode}get credentials(){return this[K].credentials}get cache(){return S.brandCheck(this,e),this[K].cache}get redirect(){return S.brandCheck(this,e),this[K].redirect}get integrity(){return S.brandCheck(this,e),this[K].integrity}get keepalive(){return S.brandCheck(this,e),this[K].keepalive}get isReloadNavigation(){return S.brandCheck(this,e),this[K].reloadNavigation}get isHistoryNavigation(){return S.brandCheck(this,e),this[K].historyNavigation}get signal(){return S.brandCheck(this,e),this[ur]}get body(){return S.brandCheck(this,e),this[K].body?this[K].body.stream:null}get bodyUsed(){return S.brandCheck(this,e),!!this[K].body&&Er.isDisturbed(this[K].body.stream)}get duplex(){return S.brandCheck(this,e),"half"}clone(){if(S.brandCheck(this,e),this.bodyUsed||this.body?.locked)throw new TypeError("unusable");let A=lw(this[K]),t=new e(ou);t[K]=A,t[sA]=this[sA],t[ye]=new Ep,t[ye][ls]=A.headersList,t[ye][ps]=this[ye][ps],t[ye][sA]=this[ye][sA];let a=new AbortController;return this.signal.aborted?a.abort(this.signal.reason):Er.addAbortListener(this.signal,()=>{a.abort(this.signal.reason)}),t[ur]=a.signal,t}};Hf(l1);function gs(e){let A={method:"GET",localURLsOnly:!1,unsafeRequest:!1,body:null,client:null,reservedClient:null,replacesClientId:"",window:"client",keepalive:!1,serviceWorkers:"all",initiator:"",destination:"",priority:null,origin:"client",policyContainer:"client",referrer:"client",referrerPolicy:"",mode:"no-cors",useCORSPreflightFlag:!1,credentials:"same-origin",useCredentials:!1,cache:"default",redirect:"follow",integrity:"",cryptoGraphicsNonceMetadata:"",parserMetadata:"",reloadNavigation:!1,historyNavigation:!1,userActivation:!1,taintedOrigin:!1,redirectCount:0,responseTainting:"basic",preventNoCacheCacheControlHeaderModification:!1,done:!1,timingAllowFailed:!1,...e,headersList:e.headersList?new au(e.headersList):new au};return A.url=A.urlList[0],A}function lw(e){let A=gs({...e,body:null});return e.body!=null&&(A.body=Of(e.body)),A}Object.defineProperties(l1.prototype,{method:Ee,url:Ee,headers:Ee,redirect:Ee,clone:Ee,signal:Ee,duplex:Ee,destination:Ee,body:Ee,bodyUsed:Ee,isHistoryNavigation:Ee,isReloadNavigation:Ee,keepalive:Ee,integrity:Ee,cache:Ee,credentials:Ee,attribute:Ee,referrerPolicy:Ee,referrer:Ee,mode:Ee,[Symbol.toStringTag]:{value:"Request",configurable:!0}});S.converters.Request=S.interfaceConverter(l1);S.converters.RequestInfo=function(e){return typeof e=="string"?S.converters.USVString(e):e instanceof l1?S.converters.Request(e):S.converters.USVString(e)};S.converters.AbortSignal=S.interfaceConverter(AbortSignal);S.converters.RequestInit=S.dictionaryConverter([{key:"method",converter:S.converters.ByteString},{key:"headers",converter:S.converters.HeadersInit},{key:"body",converter:S.nullableConverter(S.converters.BodyInit)},{key:"referrer",converter:S.converters.USVString},{key:"referrerPolicy",converter:S.converters.DOMString,allowedValues:$f},{key:"mode",converter:S.converters.DOMString,allowedValues:Aw},{key:"credentials",converter:S.converters.DOMString,allowedValues:tw},{key:"cache",converter:S.converters.DOMString,allowedValues:aw},{key:"redirect",converter:S.converters.DOMString,allowedValues:ew},{key:"integrity",converter:S.converters.DOMString},{key:"keepalive",converter:S.converters.boolean},{key:"signal",converter:S.nullableConverter(e=>S.converters.AbortSignal(e,{strict:!1}))},{key:"window",converter:S.converters.any},{key:"duplex",converter:S.converters.DOMString,allowedValues:rw}]);du.exports={Request:l1,makeRequest:gs}});var Bs=E((Hb,wu)=>{"use strict";var{Response:gw,makeNetworkError:X,makeAppropriateNetworkError:cs,filterResponse:Cp,makeResponse:us}=ds(),{Headers:pu}=p1(),{Request:cw,makeRequest:uw}=Qr(),Cr=require("zlib"),{bytesMatch:Ew,makePolicyContainer:Qw,clonePolicyContainer:Cw,requestBadPort:mw,TAOCheck:Bw,appendRequestOriginHeader:hw,responseLocationURL:Iw,requestCurrentURL:zA,setRequestReferrerPolicyOnRedirect:fw,tryUpgradeRequestToAPotentiallyTrustworthyURL:ww,createOpaqueTimingInfo:vp,appendFetchMetadata:yw,corsCheck:Dw,crossOriginResourcePolicyCheck:Rw,determineRequestsReferrer:vw,coarsenedSharedCurrentTime:Np,createDeferredPromise:Nw,isBlobLike:bw,sameOrigin:wp,isCancelled:pa,isAborted:lu,isErrorLike:Sw,fullyReadBody:Eu,readableStreamClose:kw,isomorphicEncode:yp,urlIsLocal:Fw,urlIsHttpHttpsScheme:bp,urlHasHttpsScheme:Uw}=QA(),{kState:Dp,kHeaders:mp,kGuard:Lw,kRealm:gu}=nt(),la=require("assert"),{safelyExtractBody:Es}=Za(),{redirectStatus:Qu,nullBodyStatus:Cu,safeMethods:Mw,requestBodyHeader:Tw,subresource:Vw,DOMException:Qs}=Nt(),{kHeadersList:Rp}=te(),Yw=require("events"),{Readable:Jw,pipeline:Gw}=require("stream"),{addAbortListener:xw,isErrored:_w,isReadable:Cs,nodeMajor:cu,nodeMinor:qw}=_(),{dataURLProcessor:Hw,serializeAMimeType:Ow}=bA(),{TransformStream:Pw}=require("stream/web"),{getGlobalDispatcher:Ww}=sa(),{webidl:Zw}=Te(),{STATUS_CODES:jw}=require("http"),Bp,hp=globalThis.ReadableStream,ms=class extends Yw{constructor(A){super(),this.dispatcher=A,this.connection=null,this.dump=!1,this.state="ongoing",this.setMaxListeners(21)}terminate(A){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(A),this.emit("terminated",A))}abort(A){this.state==="ongoing"&&(this.state="aborted",A||(A=new Qs("The operation was aborted.","AbortError")),this.serializedAbortReason=A,this.connection?.destroy(A),this.emit("terminated",A))}};async function Xw(e,A={}){Zw.argumentLengthCheck(arguments,1,{header:"globalThis.fetch"});let t=Nw(),a;try{a=new cw(e,A)}catch(g){return t.reject(g),t.promise}let r=a[Dp];if(a.signal.aborted)return Ip(t,r,null,a.signal.reason),t.promise;r.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(r.serviceWorkers="none");let s=null,n=null,o=!1,d=null;return xw(a.signal,()=>{o=!0,la(d!=null),d.abort(a.signal.reason),Ip(t,r,s,a.signal.reason)}),d=Bu({request:r,processResponseEndOfBody:g=>mu(g,"fetch"),processResponse:g=>{if(!o){if(g.aborted){Ip(t,r,s,d.serializedAbortReason);return}if(g.type==="error"){t.reject(Object.assign(new TypeError("fetch failed"),{cause:g.error}));return}s=new gw,s[Dp]=g,s[gu]=n,s[mp][Rp]=g.headersList,s[mp][Lw]="immutable",s[mp][gu]=n,t.resolve(s)}},dispatcher:A.dispatcher??Ww()}),t.promise}function mu(e,A="other"){if(e.type==="error"&&e.aborted||!e.urlList?.length)return;let t=e.urlList[0],a=e.timingInfo,r=e.cacheState;bp(t)&&a!==null&&(a.timingAllowPassed||(a=vp({startTime:a.startTime}),r=""),a.endTime=Np(),e.timingInfo=a,zw(a,t,A,globalThis,r))}function zw(e,A,t,a,r){(cu>18||cu===18&&qw>=2)&&performance.markResourceTiming(e,A.href,t,a,r)}function Ip(e,A,t,a){if(a||(a=new Qs("The operation was aborted.","AbortError")),e.reject(a),A.body!=null&&Cs(A.body?.stream)&&A.body.stream.cancel(a).catch(i=>{if(i.code!=="ERR_INVALID_STATE")throw i}),t==null)return;let r=t[Dp];r.body!=null&&Cs(r.body?.stream)&&r.body.stream.cancel(a).catch(i=>{if(i.code!=="ERR_INVALID_STATE")throw i})}function Bu({request:e,processRequestBodyChunkLength:A,processRequestEndOfBody:t,processResponse:a,processResponseEndOfBody:r,processResponseConsumeBody:i,useParallelQueue:s=!1,dispatcher:n}){let o=null,d=!1;e.client!=null&&(o=e.client.globalObject,d=e.client.crossOriginIsolatedCapability);let l=Np(d),p=vp({startTime:l}),g={controller:new ms(n),request:e,timingInfo:p,processRequestBodyChunkLength:A,processRequestEndOfBody:t,processResponse:a,processResponseConsumeBody:i,processResponseEndOfBody:r,taskDestination:o,crossOriginIsolatedCapability:d};return la(!e.body||e.body.stream),e.window==="client"&&(e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"),e.origin==="client"&&(e.origin=e.client?.origin),e.policyContainer==="client"&&(e.client!=null?e.policyContainer=Cw(e.client.policyContainer):e.policyContainer=Qw()),e.headersList.contains("accept")||e.headersList.append("accept","*/*"),e.headersList.contains("accept-language")||e.headersList.append("accept-language","*"),e.priority,Vw.includes(e.destination),hu(g).catch(c=>{g.controller.terminate(c)}),g.controller}async function hu(e,A=!1){let t=e.request,a=null;if(t.localURLsOnly&&!Fw(zA(t))&&(a=X("local URLs only")),ww(t),mw(t)==="blocked"&&(a=X("bad port")),t.referrerPolicy===""&&(t.referrerPolicy=t.policyContainer.referrerPolicy),t.referrer!=="no-referrer"&&(t.referrer=vw(t)),a===null&&(a=await(async()=>{let i=zA(t);return wp(i,t.url)&&t.responseTainting==="basic"||i.protocol==="data:"||t.mode==="navigate"||t.mode==="websocket"?(t.responseTainting="basic",await uu(e)):t.mode==="same-origin"?X('request mode cannot be "same-origin"'):t.mode==="no-cors"?t.redirect!=="follow"?X('redirect mode cannot be "follow" for "no-cors" request'):(t.responseTainting="opaque",await uu(e)):bp(zA(t))?(t.responseTainting="cors",await Iu(e)):X("URL scheme must be a HTTP(S) scheme")})()),A)return a;a.status!==0&&!a.internalResponse&&(t.responseTainting,t.responseTainting==="basic"?a=Cp(a,"basic"):t.responseTainting==="cors"?a=Cp(a,"cors"):t.responseTainting==="opaque"?a=Cp(a,"opaque"):la(!1));let r=a.status===0?a:a.internalResponse;if(r.urlList.length===0&&r.urlList.push(...t.urlList),t.timingAllowFailed||(a.timingAllowPassed=!0),a.type==="opaque"&&r.status===206&&r.rangeRequested&&!t.headers.contains("range")&&(a=r=X()),a.status!==0&&(t.method==="HEAD"||t.method==="CONNECT"||Cu.includes(r.status))&&(r.body=null,e.controller.dump=!0),t.integrity){let i=n=>fp(e,X(n));if(t.responseTainting==="opaque"||a.body==null){i(a.error);return}let s=n=>{if(!Ew(n,t.integrity)){i("integrity mismatch");return}a.body=Es(n)[0],fp(e,a)};await Eu(a.body,s,i)}else fp(e,a)}async function uu(e){if(pa(e)&&e.request.redirectCount===0)return cs(e);let{request:A}=e,{protocol:t}=zA(A);switch(t){case"about:":return X("about scheme is not supported");case"blob:":{Bp||(Bp=require("buffer").resolveObjectURL);let a=zA(A);if(a.search.length!==0)return X("NetworkError when attempting to fetch resource.");let r=Bp(a.toString());if(A.method!=="GET"||!bw(r))return X("invalid method");let i=Es(r),s=i[0],n=yp(`${s.length}`),o=i[1]??"",d=us({statusText:"OK",headersList:[["content-length",{name:"Content-Length",value:n}],["content-type",{name:"Content-Type",value:o}]]});return d.body=s,d}case"data:":{let a=zA(A),r=Hw(a);if(r==="failure")return X("failed to fetch the data URL");let i=Ow(r.mimeType);return us({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:i}]],body:Es(r.body)[0]})}case"file:":return X("not implemented... yet...");case"http:":case"https:":return await Iu(e).catch(a=>X(a));default:return X("unknown scheme")}}function Kw(e,A){e.request.done=!0,e.processResponseDone!=null&&queueMicrotask(()=>e.processResponseDone(A))}async function fp(e,A){A.type==="error"&&(A.urlList=[e.request.urlList[0]],A.timingInfo=vp({startTime:e.timingInfo.startTime}));let t=()=>{e.request.done=!0,e.processResponseEndOfBody!=null&&queueMicrotask(()=>e.processResponseEndOfBody(A))};if(e.processResponse!=null&&queueMicrotask(()=>e.processResponse(A)),A.body==null)t();else{let a=(i,s)=>{s.enqueue(i)},r=new Pw({start(){},transform:a,flush:t},{size(){return 1}},{size(){return 1}});A.body={stream:A.body.stream.pipeThrough(r)}}if(e.processResponseConsumeBody!=null){let a=i=>e.processResponseConsumeBody(A,i),r=i=>e.processResponseConsumeBody(A,i);A.body==null?queueMicrotask(()=>a(null)):await Eu(A.body,a,r)}}async function Iu(e){let A=e.request,t=null,a=null,r=e.timingInfo;if(A.serviceWorkers,t===null){if(A.redirect==="follow"&&(A.serviceWorkers="none"),a=t=await fu(e),A.responseTainting==="cors"&&Dw(A,t)==="failure")return X("cors failure");Bw(A,t)==="failure"&&(A.timingAllowFailed=!0)}return(A.responseTainting==="opaque"||t.type==="opaque")&&Rw(A.origin,A.client,A.destination,a)==="blocked"?X("blocked"):(Qu.includes(a.status)&&(A.redirect!=="manual"&&e.controller.connection.destroy(),A.redirect==="error"?t=X("unexpected redirect"):A.redirect==="manual"?t=a:A.redirect==="follow"?t=await $w(e,t):la(!1)),t.timingInfo=r,t)}async function $w(e,A){let t=e.request,a=A.internalResponse?A.internalResponse:A,r;try{if(r=Iw(a,zA(t).hash),r==null)return A}catch(s){return X(s)}if(!bp(r))return X("URL scheme must be a HTTP(S) scheme");if(t.redirectCount===20)return X("redirect count exceeded");if(t.redirectCount+=1,t.mode==="cors"&&(r.username||r.password)&&!wp(t,r))return X('cross origin not allowed for request mode "cors"');if(t.responseTainting==="cors"&&(r.username||r.password))return X('URL cannot contain credentials for request mode "cors"');if(a.status!==303&&t.body!=null&&t.body.source==null)return X();if([301,302].includes(a.status)&&t.method==="POST"||a.status===303&&!["GET","HEAD"].includes(t.method)){t.method="GET",t.body=null;for(let s of Tw)t.headersList.delete(s)}wp(zA(t),r)||t.headersList.delete("authorization"),t.body!=null&&(la(t.body.source!=null),t.body=Es(t.body.source)[0]);let i=e.timingInfo;return i.redirectEndTime=i.postRedirectStartTime=Np(e.crossOriginIsolatedCapability),i.redirectStartTime===0&&(i.redirectStartTime=i.startTime),t.urlList.push(r),fw(t,a),hu(e,!0)}async function fu(e,A=!1,t=!1){let a=e.request,r=null,i=null,s=null,n=null,o=!1;a.window==="no-window"&&a.redirect==="error"?(r=e,i=a):(i=uw(a),r={...e},r.request=i);let d=a.credentials==="include"||a.credentials==="same-origin"&&a.responseTainting==="basic",l=i.body?i.body.length:null,p=null;if(i.body==null&&["POST","PUT"].includes(i.method)&&(p="0"),l!=null&&(p=yp(`${l}`)),p!=null&&i.headersList.append("content-length",p),l!=null&&i.keepalive,i.referrer instanceof URL&&i.headersList.append("referer",yp(i.referrer.href)),hw(i),yw(i),i.headersList.contains("user-agent")||i.headersList.append("user-agent","undici"),i.cache==="default"&&(i.headersList.contains("if-modified-since")||i.headersList.contains("if-none-match")||i.headersList.contains("if-unmodified-since")||i.headersList.contains("if-match")||i.headersList.contains("if-range"))&&(i.cache="no-store"),i.cache==="no-cache"&&!i.preventNoCacheCacheControlHeaderModification&&!i.headersList.contains("cache-control")&&i.headersList.append("cache-control","max-age=0"),(i.cache==="no-store"||i.cache==="reload")&&(i.headersList.contains("pragma")||i.headersList.append("pragma","no-cache"),i.headersList.contains("cache-control")||i.headersList.append("cache-control","no-cache")),i.headersList.contains("range")&&i.headersList.append("accept-encoding","identity"),i.headersList.contains("accept-encoding")||(Uw(zA(i))?i.headersList.append("accept-encoding","br, gzip, deflate"):i.headersList.append("accept-encoding","gzip, deflate")),n==null&&(i.cache="no-store"),i.mode!=="no-store"&&i.mode,s==null){if(i.mode==="only-if-cached")return X("only if cached");let g=await ey(r,d,t);!Mw.includes(i.method)&&g.status>=200&&g.status<=399,o&&g.status,s==null&&(s=g)}if(s.urlList=[...i.urlList],i.headersList.contains("range")&&(s.rangeRequested=!0),s.requestIncludesCredentials=d,s.status===407)return a.window==="no-window"?X():pa(e)?cs(e):X("proxy authentication required");if(s.status===421&&!t&&(a.body==null||a.body.source!=null)){if(pa(e))return cs(e);e.controller.connection.destroy(),s=await fu(e,A,!0)}return s}async function ey(e,A=!1,t=!1){la(!e.controller.connection||e.controller.connection.destroyed),e.controller.connection={abort:null,destroyed:!1,destroy(u){this.destroyed||(this.destroyed=!0,this.abort?.(u??new Qs("The operation was aborted.","AbortError")))}};let a=e.request,r=null,i=e.timingInfo;null==null&&(a.cache="no-store");let n=t?"yes":"no";a.mode;let o=null;if(a.body==null&&e.processRequestEndOfBody)queueMicrotask(()=>e.processRequestEndOfBody());else if(a.body!=null){let u=async function*(C){pa(e)||(yield C,e.processRequestBodyChunkLength?.(C.byteLength))},Q=()=>{pa(e)||e.processRequestEndOfBody&&e.processRequestEndOfBody()},m=C=>{pa(e)||(C.name==="AbortError"?e.controller.abort():e.controller.terminate(C))};o=async function*(){try{for await(let C of a.body.stream)yield*u(C);Q()}catch(C){m(C)}}()}try{let{body:u,status:Q,statusText:m,headersList:C,socket:B}=await c({body:o});if(B)r=us({status:Q,statusText:m,headersList:C,socket:B});else{let w=u[Symbol.asyncIterator]();e.controller.next=()=>w.next(),r=us({status:Q,statusText:m,headersList:C})}}catch(u){return u.name==="AbortError"?(e.controller.connection.destroy(),cs(e)):X(u)}let d=()=>{e.controller.resume()},l=u=>{e.controller.abort(u)};hp||(hp=require("stream/web").ReadableStream);let p=new hp({async start(u){e.controller.controller=u},async pull(u){await d(u)},async cancel(u){await l(u)}},{highWaterMark:0,size(){return 1}});r.body={stream:p},e.controller.on("terminated",g),e.controller.resume=async()=>{for(;;){let u,Q;try{let{done:m,value:C}=await e.controller.next();if(lu(e))break;u=m?void 0:C}catch(m){e.controller.ended&&!i.encodedBodySize?u=void 0:(u=m,Q=!0)}if(u===void 0){kw(e.controller.controller),Kw(e,r);return}if(i.decodedBodySize+=u?.byteLength??0,Q){e.controller.terminate(u);return}if(e.controller.controller.enqueue(new Uint8Array(u)),_w(p)){e.controller.terminate();return}if(!e.controller.controller.desiredSize)return}};function g(u){lu(e)?(r.aborted=!0,Cs(p)&&e.controller.controller.error(e.controller.serializedAbortReason)):Cs(p)&&e.controller.controller.error(new TypeError("terminated",{cause:Sw(u)?u:void 0})),e.controller.connection.destroy()}return r;async function c({body:u}){let Q=zA(a),m=e.controller.dispatcher;return new Promise((C,B)=>m.dispatch({path:Q.pathname+Q.search,origin:Q.origin,method:a.method,body:e.controller.dispatcher.isMockActive?a.body&&a.body.source:u,headers:a.headersList.entries,maxRedirections:0,upgrade:a.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(w){let{connection:I}=e.controller;I.destroyed?w(new Qs("The operation was aborted.","AbortError")):(e.controller.on("terminated",w),this.abort=I.abort=w)},onHeaders(w,I,y,b){if(w<200)return;let F=[],x="",he=new pu;for(let Re=0;Re<I.length;Re+=2){let de=I[Re+0].toString("latin1"),lA=I[Re+1].toString("latin1");de.toLowerCase()==="content-encoding"?F=lA.toLowerCase().split(",").map(W=>W.trim()).reverse():de.toLowerCase()==="location"&&(x=lA),he.append(de,lA)}this.body=new Jw({read:y});let Qe=[],Bt=a.redirect==="follow"&&x&&Qu.includes(w);if(a.method!=="HEAD"&&a.method!=="CONNECT"&&!Cu.includes(w)&&!Bt)for(let Re of F)if(Re==="x-gzip"||Re==="gzip")Qe.push(Cr.createGunzip({flush:Cr.constants.Z_SYNC_FLUSH,finishFlush:Cr.constants.Z_SYNC_FLUSH}));else if(Re==="deflate")Qe.push(Cr.createInflate());else if(Re==="br")Qe.push(Cr.createBrotliDecompress());else{Qe.length=0;break}return C({status:w,statusText:b,headersList:he[Rp],body:Qe.length?Gw(this.body,...Qe,()=>{}):this.body.on("error",()=>{})}),!0},onData(w){if(e.controller.dump)return;let I=w;return i.encodedBodySize+=I.byteLength,this.body.push(I)},onComplete(){this.abort&&e.controller.off("terminated",this.abort),e.controller.ended=!0,this.body.push(null)},onError(w){this.abort&&e.controller.off("terminated",this.abort),this.body?.destroy(w),e.controller.terminate(w),B(w)},onUpgrade(w,I,y){if(w!==101)return;let b=new pu;for(let F=0;F<I.length;F+=2){let x=I[F+0].toString("latin1"),he=I[F+1].toString("latin1");b.append(x,he)}return C({status:w,statusText:jw[w],headersList:b[Rp],socket:y}),!0}}))}}wu.exports={fetch:Xw,Fetch:ms,fetching:Bu,finalizeAndReportTiming:mu}});var Sp=E((Ob,yu)=>{"use strict";yu.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}});var Ru=E((Pb,Du)=>{"use strict";var{webidl:nA}=Te(),hs=Symbol("ProgressEvent state"),kp=class e extends Event{constructor(A,t={}){A=nA.converters.DOMString(A),t=nA.converters.ProgressEventInit(t??{}),super(A,t),this[hs]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){return nA.brandCheck(this,e),this[hs].lengthComputable}get loaded(){return nA.brandCheck(this,e),this[hs].loaded}get total(){return nA.brandCheck(this,e),this[hs].total}};nA.converters.ProgressEventInit=nA.dictionaryConverter([{key:"lengthComputable",converter:nA.converters.boolean,defaultValue:!1},{key:"loaded",converter:nA.converters["unsigned long long"],defaultValue:0},{key:"total",converter:nA.converters["unsigned long long"],defaultValue:0},{key:"bubbles",converter:nA.converters.boolean,defaultValue:!1},{key:"cancelable",converter:nA.converters.boolean,defaultValue:!1},{key:"composed",converter:nA.converters.boolean,defaultValue:!1}]);Du.exports={ProgressEvent:kp}});var Nu=E((Wb,vu)=>{"use strict";function Ay(e){if(!e)return"failure";switch(e.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}vu.exports={getEncoding:Ay}});var Tu=E((Zb,Mu)=>{"use strict";var{kState:ga,kError:Fp,kResult:bu,kAborted:mr,kLastProgressEventFired:Up}=Sp(),{ProgressEvent:ty}=Ru(),{getEncoding:Su}=Nu(),{DOMException:ay}=Nt(),{serializeAMimeType:ry,parseMIMEType:ku}=bA(),{types:iy}=require("util"),{StringDecoder:Fu}=require("string_decoder"),{btoa:Uu}=require("buffer"),sy={enumerable:!0,writable:!1,configurable:!1};function ny(e,A,t,a){if(e[ga]==="loading")throw new ay("Invalid state","InvalidStateError");e[ga]="loading",e[bu]=null,e[Fp]=null;let i=A.stream().getReader(),s=[],n=i.read(),o=!0;(async()=>{for(;!e[mr];)try{let{done:d,value:l}=await n;if(o&&!e[mr]&&queueMicrotask(()=>{Tt("loadstart",e)}),o=!1,!d&&iy.isUint8Array(l))s.push(l),(e[Up]===void 0||Date.now()-e[Up]>=50)&&!e[mr]&&(e[Up]=Date.now(),queueMicrotask(()=>{Tt("progress",e)})),n=i.read();else if(d){queueMicrotask(()=>{e[ga]="done";try{let p=oy(s,t,A.type,a);if(e[mr])return;e[bu]=p,Tt("load",e)}catch(p){e[Fp]=p,Tt("error",e)}e[ga]!=="loading"&&Tt("loadend",e)});break}}catch(d){if(e[mr])return;queueMicrotask(()=>{e[ga]="done",e[Fp]=d,Tt("error",e),e[ga]!=="loading"&&Tt("loadend",e)});break}})()}function Tt(e,A){let t=new ty(e,{bubbles:!1,cancelable:!1});A.dispatchEvent(t)}function oy(e,A,t,a){switch(A){case"DataURL":{let r="data:",i=ku(t||"application/octet-stream");i!=="failure"&&(r+=ry(i)),r+=";base64,";let s=new Fu("latin1");for(let n of e)r+=Uu(s.write(n));return r+=Uu(s.end()),r}case"Text":{let r="failure";if(a&&(r=Su(a)),r==="failure"&&t){let i=ku(t);i!=="failure"&&(r=Su(i.parameters.get("charset")))}return r==="failure"&&(r="UTF-8"),dy(e,r)}case"ArrayBuffer":return Lu(e).buffer;case"BinaryString":{let r="",i=new Fu("latin1");for(let s of e)r+=i.write(s);return r+=i.end(),r}}}function dy(e,A){let t=Lu(e),a=py(t),r=0;a!==null&&(A=a,r=a==="UTF-8"?3:2);let i=t.slice(r);return new TextDecoder(A).decode(i)}function py(e){let[A,t,a]=e;return A===239&&t===187&&a===191?"UTF-8":A===254&&t===255?"UTF-16BE":A===255&&t===254?"UTF-16LE":null}function Lu(e){let A=e.reduce((a,r)=>a+r.byteLength,0),t=0;return e.reduce((a,r)=>(a.set(r,t),t+=r.byteLength,a),new Uint8Array(A))}Mu.exports={staticPropertyDescriptors:sy,readOperation:ny,fireAProgressEvent:Tt}});var Gu=E((jb,Ju)=>{"use strict";var{staticPropertyDescriptors:ca,readOperation:Is,fireAProgressEvent:Vu}=Tu(),{kState:g1,kError:Yu,kResult:fs,kEvents:q,kAborted:ly}=Sp(),{webidl:Z}=Te(),{kEnumerableProperty:Ze}=_(),FA=class e extends EventTarget{constructor(){super(),this[g1]="empty",this[fs]=null,this[Yu]=null,this[q]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(A){Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,{header:"FileReader.readAsArrayBuffer"}),A=Z.converters.Blob(A,{strict:!1}),Is(this,A,"ArrayBuffer")}readAsBinaryString(A){Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,{header:"FileReader.readAsBinaryString"}),A=Z.converters.Blob(A,{strict:!1}),Is(this,A,"BinaryString")}readAsText(A,t=void 0){Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,{header:"FileReader.readAsText"}),A=Z.converters.Blob(A,{strict:!1}),t!==void 0&&(t=Z.converters.DOMString(t)),Is(this,A,"Text",t)}readAsDataURL(A){Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,{header:"FileReader.readAsDataURL"}),A=Z.converters.Blob(A,{strict:!1}),Is(this,A,"DataURL")}abort(){if(this[g1]==="empty"||this[g1]==="done"){this[fs]=null;return}this[g1]==="loading"&&(this[g1]="done",this[fs]=null),this[ly]=!0,Vu("abort",this),this[g1]!=="loading"&&Vu("loadend",this)}get readyState(){switch(Z.brandCheck(this,e),this[g1]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){return Z.brandCheck(this,e),this[fs]}get error(){return Z.brandCheck(this,e),this[Yu]}get onloadend(){return Z.brandCheck(this,e),this[q].loadend}set onloadend(A){Z.brandCheck(this,e),this[q].loadend&&this.removeEventListener("loadend",this[q].loadend),typeof A=="function"?(this[q].loadend=A,this.addEventListener("loadend",A)):this[q].loadend=null}get onerror(){return Z.brandCheck(this,e),this[q].error}set onerror(A){Z.brandCheck(this,e),this[q].error&&this.removeEventListener("error",this[q].error),typeof A=="function"?(this[q].error=A,this.addEventListener("error",A)):this[q].error=null}get onloadstart(){return Z.brandCheck(this,e),this[q].loadstart}set onloadstart(A){Z.brandCheck(this,e),this[q].loadstart&&this.removeEventListener("loadstart",this[q].loadstart),typeof A=="function"?(this[q].loadstart=A,this.addEventListener("loadstart",A)):this[q].loadstart=null}get onprogress(){return Z.brandCheck(this,e),this[q].progress}set onprogress(A){Z.brandCheck(this,e),this[q].progress&&this.removeEventListener("progress",this[q].progress),typeof A=="function"?(this[q].progress=A,this.addEventListener("progress",A)):this[q].progress=null}get onload(){return Z.brandCheck(this,e),this[q].load}set onload(A){Z.brandCheck(this,e),this[q].load&&this.removeEventListener("load",this[q].load),typeof A=="function"?(this[q].load=A,this.addEventListener("load",A)):this[q].load=null}get onabort(){return Z.brandCheck(this,e),this[q].abort}set onabort(A){Z.brandCheck(this,e),this[q].abort&&this.removeEventListener("abort",this[q].abort),typeof A=="function"?(this[q].abort=A,this.addEventListener("abort",A)):this[q].abort=null}};FA.EMPTY=FA.prototype.EMPTY=0;FA.LOADING=FA.prototype.LOADING=1;FA.DONE=FA.prototype.DONE=2;Object.defineProperties(FA.prototype,{EMPTY:ca,LOADING:ca,DONE:ca,readAsArrayBuffer:Ze,readAsBinaryString:Ze,readAsText:Ze,readAsDataURL:Ze,abort:Ze,readyState:Ze,result:Ze,error:Ze,onloadstart:Ze,onprogress:Ze,onload:Ze,onabort:Ze,onerror:Ze,onloadend:Ze,[Symbol.toStringTag]:{value:"FileReader",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(FA,{EMPTY:ca,LOADING:ca,DONE:ca});Ju.exports={FileReader:FA}});var ws=E((Xb,xu)=>{"use strict";xu.exports={kConstruct:Symbol("constructable")}});var Hu=E((zb,qu)=>{"use strict";var gy=require("assert"),{URLSerializer:_u}=bA(),{isValidHeaderName:cy}=QA();function uy(e,A,t=!1){let a=_u(e,t),r=_u(A,t);return a===r}function Ey(e){gy(e!==null);let A=[];for(let t of e.split(",")){if(t=t.trim(),t.length){if(!cy(t))continue}else continue;A.push(t)}return A}qu.exports={urlEquals:uy,fieldValues:Ey}});var Xu=E((Kb,ju)=>{"use strict";var{kConstruct:Qy}=ws(),{urlEquals:Cy,fieldValues:Lp}=Hu(),{kEnumerableProperty:c1,isDisturbed:my}=_(),{kHeadersList:Ou}=te(),{webidl:v}=Te(),{Response:Wu,cloneResponse:By}=ds(),{Request:KA}=Qr(),{kState:Ge,kHeaders:ys,kGuard:Pu,kRealm:hy}=nt(),{fetching:Iy}=Bs(),{urlIsHttpHttpsScheme:Ds,createDeferredPromise:ua,readAllBytes:fy}=QA(),Mp=require("assert"),{getGlobalDispatcher:wy}=sa(),Rs=class e{#e;constructor(){arguments[0]!==Qy&&v.illegalConstructor(),this.#e=arguments[1]}async match(A,t={}){v.brandCheck(this,e),v.argumentLengthCheck(arguments,1,{header:"Cache.match"}),A=v.converters.RequestInfo(A),t=v.converters.CacheQueryOptions(t);let a=await this.matchAll(A,t);if(a.length!==0)return a[0]}async matchAll(A=void 0,t={}){v.brandCheck(this,e),A!==void 0&&(A=v.converters.RequestInfo(A)),t=v.converters.CacheQueryOptions(t);let a=null;if(A!==void 0)if(A instanceof KA){if(a=A[Ge],a.method!=="GET"&&!t.ignoreMethod)return[]}else typeof A=="string"&&(a=new KA(A)[Ge]);let r=[];if(A===void 0)for(let s of this.#e)r.push(s[1]);else{let s=this.#A(a,t);for(let n of s)r.push(n[1])}let i=[];for(let s of r){let n=new Wu(s.body?.source??null),o=n[Ge].body;n[Ge]=s,n[Ge].body=o,n[ys][Ou]=s.headersList,n[ys][Pu]="immutable",i.push(n)}return Object.freeze(i)}async add(A){v.brandCheck(this,e),v.argumentLengthCheck(arguments,1,{header:"Cache.add"}),A=v.converters.RequestInfo(A);let t=[A];return await this.addAll(t)}async addAll(A){v.brandCheck(this,e),v.argumentLengthCheck(arguments,1,{header:"Cache.addAll"}),A=v.converters["sequence<RequestInfo>"](A);let t=[],a=[];for(let p of A){if(typeof p=="string")continue;let g=p[Ge];if(!Ds(g.url)||g.method!=="GET")throw v.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme when method is not GET."})}let r=[];for(let p of A){let g=new KA(p)[Ge];if(!Ds(g.url))throw v.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme."});g.initiator="fetch",g.destination="subresource",a.push(g);let c=ua();r.push(Iy({request:g,dispatcher:wy(),processResponse(u){if(u.type==="error"||u.status===206||u.status<200||u.status>299)c.reject(v.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(u.headersList.contains("vary")){let Q=Lp(u.headersList.get("vary"));for(let m of Q)if(m==="*"){c.reject(v.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let C of r)C.abort();return}}},processResponseEndOfBody(u){if(u.aborted){c.reject(new DOMException("aborted","AbortError"));return}c.resolve(u)}})),t.push(c.promise)}let s=await Promise.all(t),n=[],o=0;for(let p of s){let g={type:"put",request:a[o],response:p};n.push(g),o++}let d=ua(),l=null;try{this.#a(n)}catch(p){l=p}return queueMicrotask(()=>{l===null?d.resolve(void 0):d.reject(l)}),d.promise}async put(A,t){v.brandCheck(this,e),v.argumentLengthCheck(arguments,2,{header:"Cache.put"}),A=v.converters.RequestInfo(A),t=v.converters.Response(t);let a=null;if(A instanceof KA?a=A[Ge]:a=new KA(A)[Ge],!Ds(a.url)||a.method!=="GET")throw v.errors.exception({header:"Cache.put",message:"Expected an http/s scheme when method is not GET"});let r=t[Ge];if(r.status===206)throw v.errors.exception({header:"Cache.put",message:"Got 206 status"});if(r.headersList.contains("vary")){let g=Lp(r.headersList.get("vary"));for(let c of g)if(c==="*")throw v.errors.exception({header:"Cache.put",message:"Got * vary field value"})}if(r.body&&(my(r.body.stream)||r.body.stream.locked))throw v.errors.exception({header:"Cache.put",message:"Response body is locked or disturbed"});let i=By(r),s=ua();if(r.body!=null){let c=r.body.stream.getReader();fy(c,u=>s.resolve(u),u=>s.reject(u))}else s.resolve(void 0);let n=[],o={type:"put",request:a,response:i};n.push(o);let d=await s.promise;i.body!=null&&(i.body.source=d);let l=ua(),p=null;try{this.#a(n)}catch(g){p=g}return queueMicrotask(()=>{p===null?l.resolve():l.reject(p)}),l.promise}async delete(A,t={}){v.brandCheck(this,e),v.argumentLengthCheck(arguments,1,{header:"Cache.delete"}),A=v.converters.RequestInfo(A),t=v.converters.CacheQueryOptions(t);let a=null;if(A instanceof KA){if(a=A[Ge],a.method!=="GET"&&!t.ignoreMethod)return!1}else Mp(typeof A=="string"),a=new KA(A)[Ge];let r=[],i={type:"delete",request:a,options:t};r.push(i);let s=ua(),n=null,o;try{o=this.#a(r)}catch(d){n=d}return queueMicrotask(()=>{n===null?s.resolve(!!o?.length):s.reject(n)}),s.promise}async keys(A=void 0,t={}){v.brandCheck(this,e),A!==void 0&&(A=v.converters.RequestInfo(A)),t=v.converters.CacheQueryOptions(t);let a=null;if(A!==void 0)if(A instanceof KA){if(a=A[Ge],a.method!=="GET"&&!t.ignoreMethod)return[]}else typeof A=="string"&&(a=new KA(A)[Ge]);let r=ua(),i=[];if(A===void 0)for(let s of this.#e)i.push(s[0]);else{let s=this.#A(a,t);for(let n of s)i.push(n[0])}return queueMicrotask(()=>{let s=[];for(let n of i){let o=new KA("https://a");o[Ge]=n,o[ys][Ou]=n.headersList,o[ys][Pu]="immutable",o[hy]=n.client,s.push(o)}r.resolve(Object.freeze(s))}),r.promise}#a(A){let t=this.#e,a=[...t],r=[],i=[];try{for(let s of A){if(s.type!=="delete"&&s.type!=="put")throw v.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(s.type==="delete"&&s.response!=null)throw v.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#A(s.request,s.options,r).length)throw new DOMException("???","InvalidStateError");let n;if(s.type==="delete"){if(n=this.#A(s.request,s.options),n.length===0)return[];for(let o of n){let d=t.indexOf(o);Mp(d!==-1),t.splice(d,1)}}else if(s.type==="put"){if(s.response==null)throw v.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let o=s.request;if(!Ds(o.url))throw v.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(o.method!=="GET")throw v.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(s.options!=null)throw v.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});n=this.#A(s.request);for(let d of n){let l=t.indexOf(d);Mp(l!==-1),t.splice(l,1)}t.push([s.request,s.response]),r.push([s.request,s.response])}i.push([s.request,s.response])}return i}catch(s){throw this.#e.length=0,this.#e=a,s}}#A(A,t,a){let r=[],i=a??this.#e;for(let s of i){let[n,o]=s;this.#t(A,n,o,t)&&r.push(s)}return r}#t(A,t,a=null,r){let i=new URL(A.url),s=new URL(t.url);if(r?.ignoreSearch&&(s.search="",i.search=""),!Cy(i,s,!0))return!1;if(a==null||r?.ignoreVary||!a.headersList.contains("vary"))return!0;let n=Lp(a.headersList.get("vary"));for(let o of n){if(o==="*")return!1;let d=t.headersList.get(o),l=A.headersList.get(o);if(d!==l)return!1}return!0}};Object.defineProperties(Rs.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:c1,matchAll:c1,add:c1,addAll:c1,put:c1,delete:c1,keys:c1});var Zu=[{key:"ignoreSearch",converter:v.converters.boolean,defaultValue:!1},{key:"ignoreMethod",converter:v.converters.boolean,defaultValue:!1},{key:"ignoreVary",converter:v.converters.boolean,defaultValue:!1}];v.converters.CacheQueryOptions=v.dictionaryConverter(Zu);v.converters.MultiCacheQueryOptions=v.dictionaryConverter([...Zu,{key:"cacheName",converter:v.converters.DOMString}]);v.converters.Response=v.interfaceConverter(Wu);v.converters["sequence<RequestInfo>"]=v.sequenceConverter(v.converters.RequestInfo);ju.exports={Cache:Rs}});var Ku=E(($b,zu)=>{"use strict";var{kConstruct:Br}=ws(),{Cache:vs}=Xu(),{webidl:xe}=Te(),{kEnumerableProperty:hr}=_(),Ns=class e{#e=new Map;constructor(){arguments[0]!==Br&&xe.illegalConstructor()}async match(A,t={}){if(xe.brandCheck(this,e),xe.argumentLengthCheck(arguments,1,{header:"CacheStorage.match"}),A=xe.converters.RequestInfo(A),t=xe.converters.MultiCacheQueryOptions(t),t.cacheName!=null){if(this.#e.has(t.cacheName)){let a=this.#e.get(t.cacheName);return await new vs(Br,a).match(A,t)}}else for(let a of this.#e.values()){let i=await new vs(Br,a).match(A,t);if(i!==void 0)return i}}async has(A){return xe.brandCheck(this,e),xe.argumentLengthCheck(arguments,1,{header:"CacheStorage.has"}),A=xe.converters.DOMString(A),this.#e.has(A)}async open(A){if(xe.brandCheck(this,e),xe.argumentLengthCheck(arguments,1,{header:"CacheStorage.open"}),A=xe.converters.DOMString(A),this.#e.has(A)){let a=this.#e.get(A);return new vs(Br,a)}let t=[];return this.#e.set(A,t),new vs(Br,t)}async delete(A){return xe.brandCheck(this,e),xe.argumentLengthCheck(arguments,1,{header:"CacheStorage.delete"}),A=xe.converters.DOMString(A),this.#e.delete(A)}async keys(){return xe.brandCheck(this,e),[...this.#e.keys()]}};Object.defineProperties(Ns.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:hr,has:hr,open:hr,delete:hr,keys:hr});zu.exports={CacheStorage:Ns}});var e9=E((eS,$u)=>{"use strict";$u.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}});var Tp=E((AS,a9)=>{"use strict";var A9=require("assert"),{kHeadersList:t9}=te();function yy(e){if(e.length===0)return!1;for(let A of e){let t=A.charCodeAt(0);if(t>=0||t<=8||t>=10||t<=31||t===127)return!1}}function Dy(e){for(let A of e){let t=A.charCodeAt(0);if(t<=32||t>127||A==="("||A===")"||A===">"||A==="<"||A==="@"||A===","||A===";"||A===":"||A==="\\"||A==='"'||A==="/"||A==="["||A==="]"||A==="?"||A==="="||A==="{"||A==="}")throw new Error("Invalid cookie name")}}function Ry(e){for(let A of e){let t=A.charCodeAt(0);if(t<33||t===34||t===44||t===59||t===92||t>126)throw new Error("Invalid header value")}}function vy(e){for(let A of e)if(A.charCodeAt(0)<33||A===";")throw new Error("Invalid cookie path")}function Ny(e){if(e.startsWith("-")||e.endsWith(".")||e.endsWith("-"))throw new Error("Invalid cookie domain")}function by(e){typeof e=="number"&&(e=new Date(e));let A=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],a=A[e.getUTCDay()],r=e.getUTCDate().toString().padStart(2,"0"),i=t[e.getUTCMonth()],s=e.getUTCFullYear(),n=e.getUTCHours().toString().padStart(2,"0"),o=e.getUTCMinutes().toString().padStart(2,"0"),d=e.getUTCSeconds().toString().padStart(2,"0");return`${a}, ${r} ${i} ${s} ${n}:${o}:${d} GMT`}function Sy(e){if(e<0)throw new Error("Invalid cookie max-age")}function ky(e){if(e.name.length===0)return null;Dy(e.name),Ry(e.value);let A=[`${e.name}=${e.value}`];e.name.startsWith("__Secure-")&&(e.secure=!0),e.name.startsWith("__Host-")&&(e.secure=!0,e.domain=null,e.path="/"),e.secure&&A.push("Secure"),e.httpOnly&&A.push("HttpOnly"),typeof e.maxAge=="number"&&(Sy(e.maxAge),A.push(`Max-Age=${e.maxAge}`)),e.domain&&(Ny(e.domain),A.push(`Domain=${e.domain}`)),e.path&&(vy(e.path),A.push(`Path=${e.path}`)),e.expires&&e.expires.toString()!=="Invalid Date"&&A.push(`Expires=${by(e.expires)}`),e.sameSite&&A.push(`SameSite=${e.sameSite}`);for(let t of e.unparsed){if(!t.includes("="))throw new Error("Invalid unparsed");let[a,...r]=t.split("=");A.push(`${a.trim()}=${r.join("=")}`)}return A.join("; ")}var bs;function Fy(e){if(e[t9])return e[t9];bs||(bs=Object.getOwnPropertySymbols(e).find(t=>t.description==="headers list"),A9(bs,"Headers cannot be parsed"));let A=e[bs];return A9(A),A}a9.exports={isCTLExcludingHtab:yy,stringify:ky,getHeadersList:Fy}});var i9=E((tS,r9)=>{"use strict";var{maxNameValuePairSize:Uy,maxAttributeValueSize:Ly}=e9(),{isCTLExcludingHtab:My}=Tp(),{collectASequenceOfCodePointsFast:Ss}=bA(),Ty=require("assert");function Vy(e){if(My(e))return null;let A="",t="",a="",r="";if(e.includes(";")){let i={position:0};A=Ss(";",e,i),t=e.slice(i.position)}else A=e;if(!A.includes("="))r=A;else{let i={position:0};a=Ss("=",A,i),r=A.slice(i.position+1)}return a=a.trim(),r=r.trim(),a.length+r.length>Uy?null:{name:a,value:r,...Ea(t)}}function Ea(e,A={}){if(e.length===0)return A;Ty(e[0]===";"),e=e.slice(1);let t="";e.includes(";")?(t=Ss(";",e,{position:0}),e=e.slice(t.length)):(t=e,e="");let a="",r="";if(t.includes("=")){let s={position:0};a=Ss("=",t,s),r=t.slice(s.position+1)}else a=t;if(a=a.trim(),r=r.trim(),r.length>Ly)return Ea(e,A);let i=a.toLowerCase();if(i==="expires"){let s=new Date(r);A.expires=s}else if(i==="max-age"){let s=r.charCodeAt(0);if((s<48||s>57)&&r[0]!=="-"||!/^\d+$/.test(r))return Ea(e,A);let n=Number(r);A.maxAge=n}else if(i==="domain"){let s=r;s[0]==="."&&(s=s.slice(1)),s=s.toLowerCase(),A.domain=s}else if(i==="path"){let s="";r.length===0||r[0]!=="/"?s="/":s=r,A.path=s}else if(i==="secure")A.secure=!0;else if(i==="httponly")A.httpOnly=!0;else if(i==="samesite"){let s="Default",n=r.toLowerCase();n.includes("none")&&(s="None"),n.includes("strict")&&(s="Strict"),n.includes("lax")&&(s="Lax"),A.sameSite=s}else A.unparsed??=[],A.unparsed.push(`${a}=${r}`);return Ea(e,A)}r9.exports={parseSetCookie:Vy,parseUnparsedAttributes:Ea}});var d9=E((aS,o9)=>{"use strict";var{parseSetCookie:Yy}=i9(),{stringify:s9,getHeadersList:Jy}=Tp(),{webidl:G}=Te(),{Headers:ks}=p1();function Gy(e){G.argumentLengthCheck(arguments,1,{header:"getCookies"}),G.brandCheck(e,ks,{strict:!1});let A=e.get("cookie"),t={};if(!A)return t;for(let a of A.split(";")){let[r,...i]=a.split("=");t[r.trim()]=i.join("=")}return t}function xy(e,A,t){G.argumentLengthCheck(arguments,2,{header:"deleteCookie"}),G.brandCheck(e,ks,{strict:!1}),A=G.converters.DOMString(A),t=G.converters.DeleteCookieAttributes(t),n9(e,{name:A,value:"",expires:new Date(0),...t})}function _y(e){G.argumentLengthCheck(arguments,1,{header:"getSetCookies"}),G.brandCheck(e,ks,{strict:!1});let A=Jy(e).cookies;return A?A.map(t=>Yy(Array.isArray(t)?t[1]:t)):[]}function n9(e,A){G.argumentLengthCheck(arguments,2,{header:"setCookie"}),G.brandCheck(e,ks,{strict:!1}),A=G.converters.Cookie(A),s9(A)&&e.append("Set-Cookie",s9(A))}G.converters.DeleteCookieAttributes=G.dictionaryConverter([{converter:G.nullableConverter(G.converters.DOMString),key:"path",defaultValue:null},{converter:G.nullableConverter(G.converters.DOMString),key:"domain",defaultValue:null}]);G.converters.Cookie=G.dictionaryConverter([{converter:G.converters.DOMString,key:"name"},{converter:G.converters.DOMString,key:"value"},{converter:G.nullableConverter(e=>typeof e=="number"?G.converters["unsigned long long"](e):new Date(e)),key:"expires",defaultValue:null},{converter:G.nullableConverter(G.converters["long long"]),key:"maxAge",defaultValue:null},{converter:G.nullableConverter(G.converters.DOMString),key:"domain",defaultValue:null},{converter:G.nullableConverter(G.converters.DOMString),key:"path",defaultValue:null},{converter:G.nullableConverter(G.converters.boolean),key:"secure",defaultValue:null},{converter:G.nullableConverter(G.converters.boolean),key:"httpOnly",defaultValue:null},{converter:G.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:G.sequenceConverter(G.converters.DOMString),key:"unparsed",defaultValue:[]}]);o9.exports={getCookies:Gy,deleteCookie:xy,getSetCookies:_y,setCookie:n9}});var Qa=E((rS,p9)=>{"use strict";var qy="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",Hy={enumerable:!0,writable:!1,configurable:!1},Oy={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},Py={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},Wy=2**16-1,Zy={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},jy=Buffer.allocUnsafe(0);p9.exports={uid:qy,staticPropertyDescriptors:Hy,states:Oy,opcodes:Py,maxUnsigned16Bit:Wy,parserStates:Zy,emptyBuffer:jy}});var Ir=E((iS,l9)=>{"use strict";l9.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}});var Yp=E((sS,g9)=>{"use strict";var{webidl:N}=Te(),{kEnumerableProperty:je}=_(),{MessagePort:Xy}=require("worker_threads"),Fs=class e extends Event{#e;constructor(A,t={}){N.argumentLengthCheck(arguments,1,{header:"MessageEvent constructor"}),A=N.converters.DOMString(A),t=N.converters.MessageEventInit(t),super(A,t),this.#e=t}get data(){return N.brandCheck(this,e),this.#e.data}get origin(){return N.brandCheck(this,e),this.#e.origin}get lastEventId(){return N.brandCheck(this,e),this.#e.lastEventId}get source(){return N.brandCheck(this,e),this.#e.source}get ports(){return N.brandCheck(this,e),Object.isFrozen(this.#e.ports)||Object.freeze(this.#e.ports),this.#e.ports}initMessageEvent(A,t=!1,a=!1,r=null,i="",s="",n=null,o=[]){return N.brandCheck(this,e),N.argumentLengthCheck(arguments,1,{header:"MessageEvent.initMessageEvent"}),new e(A,{bubbles:t,cancelable:a,data:r,origin:i,lastEventId:s,source:n,ports:o})}},Us=class e extends Event{#e;constructor(A,t={}){N.argumentLengthCheck(arguments,1,{header:"CloseEvent constructor"}),A=N.converters.DOMString(A),t=N.converters.CloseEventInit(t),super(A,t),this.#e=t}get wasClean(){return N.brandCheck(this,e),this.#e.wasClean}get code(){return N.brandCheck(this,e),this.#e.code}get reason(){return N.brandCheck(this,e),this.#e.reason}},Ls=class e extends Event{#e;constructor(A,t){N.argumentLengthCheck(arguments,1,{header:"ErrorEvent constructor"}),super(A,t),A=N.converters.DOMString(A),t=N.converters.ErrorEventInit(t??{}),this.#e=t}get message(){return N.brandCheck(this,e),this.#e.message}get filename(){return N.brandCheck(this,e),this.#e.filename}get lineno(){return N.brandCheck(this,e),this.#e.lineno}get colno(){return N.brandCheck(this,e),this.#e.colno}get error(){return N.brandCheck(this,e),this.#e.error}};Object.defineProperties(Fs.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:je,origin:je,lastEventId:je,source:je,ports:je,initMessageEvent:je});Object.defineProperties(Us.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:je,code:je,wasClean:je});Object.defineProperties(Ls.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:je,filename:je,lineno:je,colno:je,error:je});N.converters.MessagePort=N.interfaceConverter(Xy);N.converters["sequence<MessagePort>"]=N.sequenceConverter(N.converters.MessagePort);var Vp=[{key:"bubbles",converter:N.converters.boolean,defaultValue:!1},{key:"cancelable",converter:N.converters.boolean,defaultValue:!1},{key:"composed",converter:N.converters.boolean,defaultValue:!1}];N.converters.MessageEventInit=N.dictionaryConverter([...Vp,{key:"data",converter:N.converters.any,defaultValue:null},{key:"origin",converter:N.converters.USVString,defaultValue:""},{key:"lastEventId",converter:N.converters.DOMString,defaultValue:""},{key:"source",converter:N.nullableConverter(N.converters.MessagePort),defaultValue:null},{key:"ports",converter:N.converters["sequence<MessagePort>"],get defaultValue(){return[]}}]);N.converters.CloseEventInit=N.dictionaryConverter([...Vp,{key:"wasClean",converter:N.converters.boolean,defaultValue:!1},{key:"code",converter:N.converters["unsigned short"],defaultValue:0},{key:"reason",converter:N.converters.USVString,defaultValue:""}]);N.converters.ErrorEventInit=N.dictionaryConverter([...Vp,{key:"message",converter:N.converters.DOMString,defaultValue:""},{key:"filename",converter:N.converters.USVString,defaultValue:""},{key:"lineno",converter:N.converters["unsigned long"],defaultValue:0},{key:"colno",converter:N.converters["unsigned long"],defaultValue:0},{key:"error",converter:N.converters.any}]);g9.exports={MessageEvent:Fs,CloseEvent:Us,ErrorEvent:Ls}});var Vs=E((nS,E9)=>{"use strict";var{kReadyState:Ms,kController:zy,kResponse:Ky,kBinaryType:$y,kWebSocketURL:eD}=Ir(),{states:Ts,opcodes:c9}=Qa(),{MessageEvent:AD,ErrorEvent:tD}=Yp();function aD(e){return e[Ms]===Ts.OPEN}function rD(e){return e[Ms]===Ts.CLOSING}function iD(e){return e[Ms]===Ts.CLOSED}function Jp(e,A,t=Event,a){let r=new t(e,a);A.dispatchEvent(r)}function sD(e,A,t){if(e[Ms]!==Ts.OPEN)return;let a;if(A===c9.TEXT)try{a=new TextDecoder("utf-8",{fatal:!0}).decode(t)}catch{u9(e,"Received invalid UTF-8 in text frame.");return}else A===c9.BINARY&&(e[$y]==="blob"?a=new Blob([t]):a=new Uint8Array(t).buffer);Jp("message",e,AD,{origin:e[eD].origin,data:a})}function nD(e){if(e.length===0)return!1;for(let A of e){let t=A.charCodeAt(0);if(t<33||t>126||A==="("||A===")"||A==="<"||A===">"||A==="@"||A===","||A===";"||A===":"||A==="\\"||A==='"'||A==="/"||A==="["||A==="]"||A==="?"||A==="="||A==="{"||A==="}"||t===32||t===9)return!1}return!0}function oD(e){return e>=1e3&&e<1015?e!==1004&&e!==1005&&e!==1006:e>=3e3&&e<=4999}function u9(e,A){let{[zy]:t,[Ky]:a}=e;t.abort(),a?.socket&&!a.socket.destroyed&&a.socket.destroy(),A&&Jp("error",e,tD,{error:new Error(A)})}E9.exports={isEstablished:aD,isClosing:rD,isClosed:iD,fireEvent:Jp,isValidSubprotocol:nD,isValidStatusCode:oD,failWebsocketConnection:u9,websocketMessageReceived:sD}});var I9=E((oS,h9)=>{"use strict";var{randomBytes:dD,createHash:pD}=require("crypto"),Gp=require("diagnostics_channel"),{uid:lD,states:C9}=Qa(),{kReadyState:m9,kSentClose:Q9,kByteParser:B9,kReceivedClose:gD}=Ir(),{fireEvent:cD,failWebsocketConnection:u1}=Vs(),{CloseEvent:uD}=Yp(),{makeRequest:ED}=Qr(),{fetching:QD}=Bs(),{Headers:CD}=p1(),{getGlobalDispatcher:mD}=sa(),{kHeadersList:BD}=te(),Et={};Et.open=Gp.channel("undici:websocket:open");Et.close=Gp.channel("undici:websocket:close");Et.socketError=Gp.channel("undici:websocket:socket_error");function hD(e,A,t,a,r){let i=e;i.protocol=e.protocol==="ws:"?"http:":"https:";let s=ED({urlList:[i],serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(r.headers){let l=new CD(r.headers)[BD];s.headersList=l}let n=dD(16).toString("base64");s.headersList.append("sec-websocket-key",n),s.headersList.append("sec-websocket-version","13");for(let l of A)s.headersList.append("sec-websocket-protocol",l);let o="";return QD({request:s,useParallelQueue:!0,dispatcher:r.dispatcher??mD(),processResponse(l){if(l.type==="error"||l.status!==101){u1(t,"Received network error or non-101 status code.");return}if(A.length!==0&&!l.headersList.get("Sec-WebSocket-Protocol")){u1(t,"Server did not respond with sent protocols.");return}if(l.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){u1(t,'Server did not set Upgrade header to "websocket".');return}if(l.headersList.get("Connection")?.toLowerCase()!=="upgrade"){u1(t,'Server did not set Connection header to "upgrade".');return}let p=l.headersList.get("Sec-WebSocket-Accept"),g=pD("sha1").update(n+lD).digest("base64");if(p!==g){u1(t,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let c=l.headersList.get("Sec-WebSocket-Extensions");if(c!==null&&c!==o){u1(t,"Received different permessage-deflate than the one set.");return}let u=l.headersList.get("Sec-WebSocket-Protocol");if(u!==null&&u!==s.headersList.get("Sec-WebSocket-Protocol")){u1(t,"Protocol was not set in the opening handshake.");return}l.socket.on("data",ID),l.socket.on("close",fD),l.socket.on("error",wD),Et.open.hasSubscribers&&Et.open.publish({address:l.socket.address(),protocol:u,extensions:c}),a(l)}})}function ID(e){this.ws[B9].write(e)||this.pause()}function fD(){let{ws:e}=this,A=e[Q9]&&e[gD],t=1005,a="",r=e[B9].closingInfo;r?(t=r.code??1005,a=r.reason):e[Q9]||(t=1006),e[m9]=C9.CLOSED,cD("close",e,uD,{wasClean:A,code:t,reason:a}),Et.close.hasSubscribers&&Et.close.publish({websocket:e,code:t,reason:a})}function wD(e){let{ws:A}=this;A[m9]=C9.CLOSING,Et.socketError.hasSubscribers&&Et.socketError.publish(e),this.destroy()}h9.exports={establishWebSocketConnection:hD}});var _p=E((dS,f9)=>{"use strict";var{randomBytes:yD}=require("crypto"),{maxUnsigned16Bit:DD}=Qa(),xp=class{constructor(A){this.frameData=A,this.maskKey=yD(4)}createFrame(A){let t=this.frameData?.byteLength??0,a=t,r=6;t>DD?(r+=8,a=127):t>125&&(r+=2,a=126);let i=Buffer.allocUnsafe(t+r);i[0]=i[1]=0,i[0]|=128,i[0]=(i[0]&240)+A;i[r-4]=this.maskKey[0],i[r-3]=this.maskKey[1],i[r-2]=this.maskKey[2],i[r-1]=this.maskKey[3],i[1]=a,a===126?i.writeUInt16BE(t,2):a===127&&(i[2]=i[3]=0,i.writeUIntBE(t,4,6)),i[1]|=128;for(let s=0;s<t;s++)i[r+s]=this.frameData[s]^this.maskKey[s%4];return i}};f9.exports={WebsocketFrameSend:xp}});var S9=E((pS,b9)=>{"use strict";var{Writable:RD}=require("stream"),N9=require("diagnostics_channel"),{parserStates:fA,opcodes:wA,states:vD,emptyBuffer:ND}=Qa(),{kReadyState:bD,kSentClose:w9,kResponse:y9,kReceivedClose:D9}=Ir(),{isValidStatusCode:R9,failWebsocketConnection:fr,websocketMessageReceived:SD}=Vs(),{WebsocketFrameSend:v9}=_p(),Ca={};Ca.ping=N9.channel("undici:websocket:ping");Ca.pong=N9.channel("undici:websocket:pong");var qp=class extends RD{#e=[];#a=0;#A=fA.INFO;#t={};#r=[];constructor(A){super(),this.ws=A}_write(A,t,a){this.#e.push(A),this.#a+=A.length,this.run(a)}run(A){for(;;){if(this.#A===fA.INFO){if(this.#a<2)return A();let t=this.consume(2);if(this.#t.fin=(t[0]&128)!==0,this.#t.opcode=t[0]&15,this.#t.originalOpcode??=this.#t.opcode,this.#t.fragmented=!this.#t.fin&&this.#t.opcode!==wA.CONTINUATION,this.#t.fragmented&&this.#t.opcode!==wA.BINARY&&this.#t.opcode!==wA.TEXT){fr(this.ws,"Invalid frame type was fragmented.");return}let a=t[1]&127;if(a<=125?(this.#t.payloadLength=a,this.#A=fA.READ_DATA):a===126?this.#A=fA.PAYLOADLENGTH_16:a===127&&(this.#A=fA.PAYLOADLENGTH_64),this.#t.fragmented&&a>125){fr(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#t.opcode===wA.PING||this.#t.opcode===wA.PONG||this.#t.opcode===wA.CLOSE)&&a>125){fr(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#t.opcode===wA.CLOSE){if(a===1){fr(this.ws,"Received close frame with a 1-byte body.");return}let r=this.consume(a);if(this.#t.closeInfo=this.parseCloseBody(!1,r),!this.ws[w9]){let i=Buffer.allocUnsafe(2);i.writeUInt16BE(this.#t.closeInfo.code,0);let s=new v9(i);this.ws[y9].socket.write(s.createFrame(wA.CLOSE),n=>{n||(this.ws[w9]=!0)})}this.ws[bD]=vD.CLOSING,this.ws[D9]=!0,this.end();return}else if(this.#t.opcode===wA.PING){let r=this.consume(a);if(!this.ws[D9]){let i=new v9(r);this.ws[y9].socket.write(i.createFrame(wA.PONG)),Ca.ping.hasSubscribers&&Ca.ping.publish({payload:r})}if(this.#A=fA.INFO,this.#a>0)continue;A();return}else if(this.#t.opcode===wA.PONG){let r=this.consume(a);if(Ca.pong.hasSubscribers&&Ca.pong.publish({payload:r}),this.#a>0)continue;A();return}}else if(this.#A===fA.PAYLOADLENGTH_16){if(this.#a<2)return A();let t=this.consume(2);this.#t.payloadLength=t.readUInt16BE(0),this.#A=fA.READ_DATA}else if(this.#A===fA.PAYLOADLENGTH_64){if(this.#a<8)return A();let t=this.consume(8),a=t.readUInt32BE(0);if(a>2**31-1){fr(this.ws,"Received payload length > 2^31 bytes.");return}let r=t.readUInt32BE(4);this.#t.payloadLength=(a<<8)+r,this.#A=fA.READ_DATA}else if(this.#A===fA.READ_DATA){if(this.#a<this.#t.payloadLength)return A();if(this.#a>=this.#t.payloadLength){let t=this.consume(this.#t.payloadLength);if(this.#r.push(t),!this.#t.fragmented||this.#t.fin&&this.#t.opcode===wA.CONTINUATION){let a=Buffer.concat(this.#r);SD(this.ws,this.#t.originalOpcode,a),this.#t={},this.#r.length=0}this.#A=fA.INFO}}if(!(this.#a>0)){A();break}}}consume(A){if(A>this.#a)return null;if(A===0)return ND;if(this.#e[0].length===A)return this.#a-=this.#e[0].length,this.#e.shift();let t=Buffer.allocUnsafe(A),a=0;for(;a!==A;){let r=this.#e[0],{length:i}=r;if(i+a===A){t.set(this.#e.shift(),a);break}else if(i+a>A){t.set(r.subarray(0,A-a),a),this.#e[0]=r.subarray(A-a);break}else t.set(this.#e.shift(),a),a+=r.length}return this.#a-=A,t}parseCloseBody(A,t){let a;if(t.length>=2&&(a=t.readUInt16BE(0)),A)return R9(a)?{code:a}:null;let r=t.subarray(2);if(r[0]===239&&r[1]===187&&r[2]===191&&(r=r.subarray(3)),a!==void 0&&!R9(a))return null;try{r=new TextDecoder("utf-8",{fatal:!0}).decode(r)}catch{return null}return{code:a,reason:r}}get closingInfo(){return this.#t.closeInfo}};b9.exports={ByteParser:qp}});var Y9=E((lS,V9)=>{"use strict";var{webidl:k}=Te(),{DOMException:Vt}=Nt(),{URLSerializer:kD}=bA(),{staticPropertyDescriptors:Yt,states:ma,opcodes:wr,emptyBuffer:FD}=Qa(),{kWebSocketURL:k9,kReadyState:Qt,kController:UD,kBinaryType:Ys,kResponse:Js,kSentClose:LD,kByteParser:MD}=Ir(),{isEstablished:F9,isClosing:U9,isValidSubprotocol:TD,failWebsocketConnection:VD,fireEvent:YD}=Vs(),{establishWebSocketConnection:JD}=I9(),{WebsocketFrameSend:yr}=_p(),{ByteParser:GD}=S9(),{kEnumerableProperty:yA,isBlobLike:M9}=_(),{getGlobalDispatcher:xD}=sa(),{types:T9}=require("util"),L9=!1,oA=class e extends EventTarget{#e={open:null,error:null,close:null,message:null};#a=0;#A="";#t="";constructor(A,t=[]){super(),k.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"}),L9||(L9=!0,process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"}));let a=k.converters["DOMString or sequence<DOMString> or WebSocketInit"](t);A=k.converters.USVString(A),t=a.protocols;let r;try{r=new URL(A)}catch(i){throw new Vt(i,"SyntaxError")}if(r.protocol!=="ws:"&&r.protocol!=="wss:")throw new Vt(`Expected a ws: or wss: protocol, got ${r.protocol}`,"SyntaxError");if(r.hash)throw new Vt("Got fragment","SyntaxError");if(typeof t=="string"&&(t=[t]),t.length!==new Set(t.map(i=>i.toLowerCase())).size)throw new Vt("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(t.length>0&&!t.every(i=>TD(i)))throw new Vt("Invalid Sec-WebSocket-Protocol value","SyntaxError");this[k9]=r,this[UD]=JD(r,t,this,i=>this.#r(i),a),this[Qt]=e.CONNECTING,this[Ys]="blob"}close(A=void 0,t=void 0){if(k.brandCheck(this,e),A!==void 0&&(A=k.converters["unsigned short"](A,{clamp:!0})),t!==void 0&&(t=k.converters.USVString(t)),A!==void 0&&A!==1e3&&(A<3e3||A>4999))throw new Vt("invalid code","InvalidAccessError");let a=0;if(t!==void 0&&(a=Buffer.byteLength(t),a>123))throw new Vt(`Reason must be less than 123 bytes; received ${a}`,"SyntaxError");if(!(this[Qt]===e.CLOSING||this[Qt]===e.CLOSED))if(!F9(this))VD(this,"Connection was closed before it was established."),this[Qt]=e.CLOSING;else if(U9(this))this[Qt]=e.CLOSING;else{let r=new yr;A!==void 0&&t===void 0?(r.frameData=Buffer.allocUnsafe(2),r.frameData.writeUInt16BE(A,0)):A!==void 0&&t!==void 0?(r.frameData=Buffer.allocUnsafe(2+a),r.frameData.writeUInt16BE(A,0),r.frameData.write(t,2,"utf-8")):r.frameData=FD,this[Js].socket.write(r.createFrame(wr.CLOSE),s=>{s||(this[LD]=!0)}),this[Qt]=ma.CLOSING}}send(A){if(k.brandCheck(this,e),k.argumentLengthCheck(arguments,1,{header:"WebSocket.send"}),A=k.converters.WebSocketSendData(A),this[Qt]===e.CONNECTING)throw new Vt("Sent before connected.","InvalidStateError");if(!F9(this)||U9(this))return;let t=this[Js].socket;if(typeof A=="string"){let a=Buffer.from(A),i=new yr(a).createFrame(wr.TEXT);this.#a+=a.byteLength,t.write(i,()=>{this.#a-=a.byteLength})}else if(T9.isArrayBuffer(A)){let a=Buffer.from(A),i=new yr(a).createFrame(wr.BINARY);this.#a+=a.byteLength,t.write(i,()=>{this.#a-=a.byteLength})}else if(ArrayBuffer.isView(A)){let a=Buffer.from(A,A.byteOffset,A.byteLength),i=new yr(a).createFrame(wr.BINARY);this.#a+=a.byteLength,t.write(i,()=>{this.#a-=a.byteLength})}else if(M9(A)){let a=new yr;A.arrayBuffer().then(r=>{let i=Buffer.from(r);a.frameData=i;let s=a.createFrame(wr.BINARY);this.#a+=i.byteLength,t.write(s,()=>{this.#a-=i.byteLength})})}}get readyState(){return k.brandCheck(this,e),this[Qt]}get bufferedAmount(){return k.brandCheck(this,e),this.#a}get url(){return k.brandCheck(this,e),kD(this[k9])}get extensions(){return k.brandCheck(this,e),this.#t}get protocol(){return k.brandCheck(this,e),this.#A}get onopen(){return k.brandCheck(this,e),this.#e.open}set onopen(A){k.brandCheck(this,e),this.#e.open&&this.removeEventListener("open",this.#e.open),typeof A=="function"?(this.#e.open=A,this.addEventListener("open",A)):this.#e.open=null}get onerror(){return k.brandCheck(this,e),this.#e.error}set onerror(A){k.brandCheck(this,e),this.#e.error&&this.removeEventListener("error",this.#e.error),typeof A=="function"?(this.#e.error=A,this.addEventListener("error",A)):this.#e.error=null}get onclose(){return k.brandCheck(this,e),this.#e.close}set onclose(A){k.brandCheck(this,e),this.#e.close&&this.removeEventListener("close",this.#e.close),typeof A=="function"?(this.#e.close=A,this.addEventListener("close",A)):this.#e.close=null}get onmessage(){return k.brandCheck(this,e),this.#e.message}set onmessage(A){k.brandCheck(this,e),this.#e.message&&this.removeEventListener("message",this.#e.message),typeof A=="function"?(this.#e.message=A,this.addEventListener("message",A)):this.#e.message=null}get binaryType(){return k.brandCheck(this,e),this[Ys]}set binaryType(A){k.brandCheck(this,e),A!=="blob"&&A!=="arraybuffer"?this[Ys]="blob":this[Ys]=A}#r(A){this[Js]=A;let t=new GD(this);t.on("drain",function(){this.ws[Js].socket.resume()}),A.socket.ws=this,this[MD]=t,this[Qt]=ma.OPEN;let a=A.headersList.get("sec-websocket-extensions");a!==null&&(this.#t=a);let r=A.headersList.get("sec-websocket-protocol");r!==null&&(this.#A=r),YD("open",this)}};oA.CONNECTING=oA.prototype.CONNECTING=ma.CONNECTING;oA.OPEN=oA.prototype.OPEN=ma.OPEN;oA.CLOSING=oA.prototype.CLOSING=ma.CLOSING;oA.CLOSED=oA.prototype.CLOSED=ma.CLOSED;Object.defineProperties(oA.prototype,{CONNECTING:Yt,OPEN:Yt,CLOSING:Yt,CLOSED:Yt,url:yA,readyState:yA,bufferedAmount:yA,onopen:yA,onerror:yA,onclose:yA,close:yA,onmessage:yA,binaryType:yA,send:yA,extensions:yA,protocol:yA,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(oA,{CONNECTING:Yt,OPEN:Yt,CLOSING:Yt,CLOSED:Yt});k.converters["sequence<DOMString>"]=k.sequenceConverter(k.converters.DOMString);k.converters["DOMString or sequence<DOMString>"]=function(e){return k.util.Type(e)==="Object"&&Symbol.iterator in e?k.converters["sequence<DOMString>"](e):k.converters.DOMString(e)};k.converters.WebSocketInit=k.dictionaryConverter([{key:"protocols",converter:k.converters["DOMString or sequence<DOMString>"],get defaultValue(){return[]}},{key:"dispatcher",converter:e=>e,get defaultValue(){return xD()}},{key:"headers",converter:k.nullableConverter(k.converters.HeadersInit)}]);k.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(e){return k.util.Type(e)==="Object"&&!(Symbol.iterator in e)?k.converters.WebSocketInit(e):{protocols:k.converters["DOMString or sequence<DOMString>"](e)}};k.converters.WebSocketSendData=function(e){if(k.util.Type(e)==="Object"){if(M9(e))return k.converters.Blob(e,{strict:!1});if(ArrayBuffer.isView(e)||T9.isAnyArrayBuffer(e))return k.converters.BufferSource(e)}return k.converters.USVString(e)};V9.exports={WebSocket:oA}});var Op=E((gS,V)=>{"use strict";var _D=rr(),J9=vi(),G9=z(),qD=X1(),HD=i6(),OD=or(),E1=_(),{InvalidArgumentError:Gs}=G9,Ba=X6(),PD=za(),WD=$d(),ZD=Fc(),jD=tp(),XD=Gd(),zD=Yc(),{getGlobalDispatcher:x9,setGlobalDispatcher:KD}=sa(),$D=Oc(),eR=Ko(),AR=ki(),Hp;try{require("crypto"),Hp=!0}catch{Hp=!1}Object.assign(J9.prototype,Ba);V.exports.Dispatcher=J9;V.exports.Client=_D;V.exports.Pool=qD;V.exports.BalancedPool=HD;V.exports.Agent=OD;V.exports.ProxyAgent=zD;V.exports.DecoratorHandler=$D;V.exports.RedirectHandler=eR;V.exports.createRedirectInterceptor=AR;V.exports.buildConnector=PD;V.exports.errors=G9;function Dr(e){return(A,t,a)=>{if(typeof t=="function"&&(a=t,t=null),!A||typeof A!="string"&&typeof A!="object"&&!(A instanceof URL))throw new Gs("invalid url");if(t!=null&&typeof t!="object")throw new Gs("invalid opts");if(t&&t.path!=null){if(typeof t.path!="string")throw new Gs("invalid opts.path");let s=t.path;t.path.startsWith("/")||(s=`/${s}`),A=new URL(E1.parseOrigin(A).origin+s)}else t||(t=typeof A=="object"?A:{}),A=E1.parseURL(A);let{agent:r,dispatcher:i=x9()}=t;if(r)throw new Gs("unsupported opts.agent. Did you mean opts.client?");return e.call(i,{...t,origin:A.origin,path:A.search?`${A.pathname}${A.search}`:A.pathname,method:t.method||(t.body?"PUT":"GET")},a)}}V.exports.setGlobalDispatcher=KD;V.exports.getGlobalDispatcher=x9;if(E1.nodeMajor>16||E1.nodeMajor===16&&E1.nodeMinor>=8){let e=null;V.exports.fetch=async function(s){e||(e=Bs().fetch);try{return await e(...arguments)}catch(n){throw Error.captureStackTrace(n,this),n}},V.exports.Headers=p1().Headers,V.exports.Response=ds().Response,V.exports.Request=Qr().Request,V.exports.FormData=Di().FormData,V.exports.File=wi().File,V.exports.FileReader=Gu().FileReader;let{setGlobalOrigin:A,getGlobalOrigin:t}=Ha();V.exports.setGlobalOrigin=A,V.exports.getGlobalOrigin=t;let{CacheStorage:a}=Ku(),{kConstruct:r}=ws();V.exports.caches=new a(r)}if(E1.nodeMajor>=16){let{deleteCookie:e,getCookies:A,getSetCookies:t,setCookie:a}=d9();V.exports.deleteCookie=e,V.exports.getCookies=A,V.exports.getSetCookies=t,V.exports.setCookie=a;let{parseMIMEType:r,serializeAMimeType:i}=bA();V.exports.parseMIMEType=r,V.exports.serializeAMimeType=i}if(E1.nodeMajor>=18&&Hp){let{WebSocket:e}=Y9();V.exports.WebSocket=e}V.exports.request=Dr(Ba.request);V.exports.stream=Dr(Ba.stream);V.exports.pipeline=Dr(Ba.pipeline);V.exports.connect=Dr(Ba.connect);V.exports.upgrade=Dr(Ba.upgrade);V.exports.MockClient=WD;V.exports.MockPool=jD;V.exports.MockAgent=ZD;V.exports.mockErrors=XD});var Xp=E(jp=>{"use strict";Object.defineProperty(jp,"__esModule",{value:!0});var rR=function(e,A,t,a){if(typeof e!="string"||e.length===0)throw new TypeError("text should be a string");if(typeof A!="string"||A.length===0)throw new TypeError("lang should be a string");if(typeof t!="boolean")throw new TypeError("slow should be a boolean");if(typeof a!="string"||a.length===0)throw new TypeError("host should be a string")};jp.default=rR});var Kp=E(zp=>{"use strict";Object.defineProperty(zp,"__esModule",{value:!0});var iR="\\s\\uFEFF\\xA0",sR="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",nR=function(e,A){for(var t=A===void 0?{}:A,a=t.maxLength,r=a===void 0?200:a,i=t.splitPunct,s=i===void 0?"":i,n=function(u,Q){var m=new RegExp("["+iR+sR+s+"]");return m.test(u.charAt(Q))},o=function(u,Q,m){for(var C=m;C>=Q;C--)if(n(u,C))return C;return-1},d=[],l=function(u,Q,m){d.push(u.slice(Q,m+1))},p=0;;){if(e.length-p<=r){l(e,p,e.length-1);break}var g=p+r-1;if(n(e,g)||n(e,g+1)){l(e,p,g),p=g+1;continue}if(g=o(e,p,g),g===-1){var c=e.slice(p,p+r);throw new Error("The word is too long to split into a short text:"+(` +`+c+" ...")+` + +Try the option "splitPunct" to split the text by punctuation.`)}l(e,p,g),p=g+1}return d};zp.default=nR});var j9=E(Ct=>{"use strict";var $p=Ct&&Ct.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ct,"__esModule",{value:!0});Ct.getAllAudioUrls=Ct.getAudioUrl=void 0;var Z9=$p(Xp()),oR=$p(Kp()),dR=$p(require("url")),pR=function(e,A){var t=A===void 0?{}:A,a=t.lang,r=a===void 0?"en":a,i=t.slow,s=i===void 0?!1:i,n=t.host,o=n===void 0?"https://translate.google.com":n;if(Z9.default(e,r,s,o),e.length>200)throw new RangeError("text length ("+e.length+') should be less than 200 characters. Try "getAllAudioUrls(text, [option])" for long text.');return o+"/translate_tts"+dR.default.format({query:{ie:"UTF-8",q:e,tl:r,total:1,idx:0,textlen:e.length,client:"tw-ob",prev:"input",ttsspeed:s?.24:1}})};Ct.getAudioUrl=pR;var lR=function(e,A){var t=A===void 0?{}:A,a=t.lang,r=a===void 0?"en":a,i=t.slow,s=i===void 0?!1:i,n=t.host,o=n===void 0?"https://translate.google.com":n,d=t.splitPunct,l=d===void 0?"":d;if(Z9.default(e,r,s,o),typeof l!="string")throw new TypeError("splitPunct should be a string");return oR.default(e,{splitPunct:l}).map(function(p){return{shortText:p,url:Ct.getAudioUrl(p,{lang:r,slow:s,host:o})}})};Ct.getAllAudioUrls=lR});var e0=E((IS,X9)=>{"use strict";X9.exports=function(A,t){return function(){for(var r=new Array(arguments.length),i=0;i<r.length;i++)r[i]=arguments[i];return A.apply(t,r)}}});var qe=E((fS,$9)=>{"use strict";var gR=e0(),Q1=Object.prototype.toString;function a0(e){return Q1.call(e)==="[object Array]"}function A0(e){return typeof e>"u"}function cR(e){return e!==null&&!A0(e)&&e.constructor!==null&&!A0(e.constructor)&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function uR(e){return Q1.call(e)==="[object ArrayBuffer]"}function ER(e){return typeof FormData<"u"&&e instanceof FormData}function QR(e){var A;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?A=ArrayBuffer.isView(e):A=e&&e.buffer&&e.buffer instanceof ArrayBuffer,A}function CR(e){return typeof e=="string"}function mR(e){return typeof e=="number"}function z9(e){return e!==null&&typeof e=="object"}function Hs(e){if(Q1.call(e)!=="[object Object]")return!1;var A=Object.getPrototypeOf(e);return A===null||A===Object.prototype}function BR(e){return Q1.call(e)==="[object Date]"}function hR(e){return Q1.call(e)==="[object File]"}function IR(e){return Q1.call(e)==="[object Blob]"}function K9(e){return Q1.call(e)==="[object Function]"}function fR(e){return z9(e)&&K9(e.pipe)}function wR(e){return typeof URLSearchParams<"u"&&e instanceof URLSearchParams}function yR(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function DR(){return typeof navigator<"u"&&(navigator.product==="ReactNative"||navigator.product==="NativeScript"||navigator.product==="NS")?!1:typeof window<"u"&&typeof document<"u"}function r0(e,A){if(!(e===null||typeof e>"u"))if(typeof e!="object"&&(e=[e]),a0(e))for(var t=0,a=e.length;t<a;t++)A.call(null,e[t],t,e);else for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&A.call(null,e[r],r,e)}function t0(){var e={};function A(r,i){Hs(e[i])&&Hs(r)?e[i]=t0(e[i],r):Hs(r)?e[i]=t0({},r):a0(r)?e[i]=r.slice():e[i]=r}for(var t=0,a=arguments.length;t<a;t++)r0(arguments[t],A);return e}function RR(e,A,t){return r0(A,function(r,i){t&&typeof r=="function"?e[i]=gR(r,t):e[i]=r}),e}function vR(e){return e.charCodeAt(0)===65279&&(e=e.slice(1)),e}$9.exports={isArray:a0,isArrayBuffer:uR,isBuffer:cR,isFormData:ER,isArrayBufferView:QR,isString:CR,isNumber:mR,isObject:z9,isPlainObject:Hs,isUndefined:A0,isDate:BR,isFile:hR,isBlob:IR,isFunction:K9,isStream:fR,isURLSearchParams:wR,isStandardBrowserEnv:DR,forEach:r0,merge:t0,extend:RR,trim:yR,stripBOM:vR}});var Os=E((wS,AE)=>{"use strict";var ha=qe();function eE(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}AE.exports=function(A,t,a){if(!t)return A;var r;if(a)r=a(t);else if(ha.isURLSearchParams(t))r=t.toString();else{var i=[];ha.forEach(t,function(o,d){o===null||typeof o>"u"||(ha.isArray(o)?d=d+"[]":o=[o],ha.forEach(o,function(p){ha.isDate(p)?p=p.toISOString():ha.isObject(p)&&(p=JSON.stringify(p)),i.push(eE(d)+"="+eE(p))}))}),r=i.join("&")}if(r){var s=A.indexOf("#");s!==-1&&(A=A.slice(0,s)),A+=(A.indexOf("?")===-1?"?":"&")+r}return A}});var aE=E((yS,tE)=>{"use strict";var NR=qe();function Ps(){this.handlers=[]}Ps.prototype.use=function(A,t,a){return this.handlers.push({fulfilled:A,rejected:t,synchronous:a?a.synchronous:!1,runWhen:a?a.runWhen:null}),this.handlers.length-1};Ps.prototype.eject=function(A){this.handlers[A]&&(this.handlers[A]=null)};Ps.prototype.forEach=function(A){NR.forEach(this.handlers,function(a){a!==null&&A(a)})};tE.exports=Ps});var iE=E((DS,rE)=>{"use strict";var bR=qe();rE.exports=function(A,t){bR.forEach(A,function(r,i){i!==t&&i.toUpperCase()===t.toUpperCase()&&(A[t]=r,delete A[i])})}});var Ws=E((RS,sE)=>{"use strict";sE.exports=function(A,t,a,r,i){return A.config=t,a&&(A.code=a),A.request=r,A.response=i,A.isAxiosError=!0,A.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},A}});var Zs=E((vS,nE)=>{"use strict";var SR=Ws();nE.exports=function(A,t,a,r,i){var s=new Error(A);return SR(s,t,a,r,i)}});var i0=E((NS,oE)=>{"use strict";var kR=Zs();oE.exports=function(A,t,a){var r=a.config.validateStatus;!a.status||!r||r(a.status)?A(a):t(kR("Request failed with status code "+a.status,a.config,null,a.request,a))}});var pE=E((bS,dE)=>{"use strict";var js=qe();dE.exports=js.isStandardBrowserEnv()?function(){return{write:function(t,a,r,i,s,n){var o=[];o.push(t+"="+encodeURIComponent(a)),js.isNumber(r)&&o.push("expires="+new Date(r).toGMTString()),js.isString(i)&&o.push("path="+i),js.isString(s)&&o.push("domain="+s),n===!0&&o.push("secure"),document.cookie=o.join("; ")},read:function(t){var a=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return a?decodeURIComponent(a[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()});var gE=E((SS,lE)=>{"use strict";lE.exports=function(A){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(A)}});var uE=E((kS,cE)=>{"use strict";cE.exports=function(A,t){return t?A.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):A}});var s0=E((FS,EE)=>{"use strict";var FR=gE(),UR=uE();EE.exports=function(A,t){return A&&!FR(t)?UR(A,t):t}});var CE=E((US,QE)=>{"use strict";var n0=qe(),LR=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];QE.exports=function(A){var t={},a,r,i;return A&&n0.forEach(A.split(` +`),function(n){if(i=n.indexOf(":"),a=n0.trim(n.substr(0,i)).toLowerCase(),r=n0.trim(n.substr(i+1)),a){if(t[a]&&LR.indexOf(a)>=0)return;a==="set-cookie"?t[a]=(t[a]?t[a]:[]).concat([r]):t[a]=t[a]?t[a]+", "+r:r}}),t}});var hE=E((LS,BE)=>{"use strict";var mE=qe();BE.exports=mE.isStandardBrowserEnv()?function(){var A=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a"),a;function r(i){var s=i;return A&&(t.setAttribute("href",s),s=t.href),t.setAttribute("href",s),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}return a=r(window.location.href),function(s){var n=mE.isString(s)?r(s):s;return n.protocol===a.protocol&&n.host===a.host}}():function(){return function(){return!0}}()});var fE=E((MS,IE)=>{"use strict";var Xs=qe(),MR=i0(),TR=pE(),VR=Os(),YR=s0(),JR=CE(),GR=hE(),o0=Zs();IE.exports=function(A){return new Promise(function(a,r){var i=A.data,s=A.headers,n=A.responseType;Xs.isFormData(i)&&delete s["Content-Type"];var o=new XMLHttpRequest;if(A.auth){var d=A.auth.username||"",l=A.auth.password?unescape(encodeURIComponent(A.auth.password)):"";s.Authorization="Basic "+btoa(d+":"+l)}var p=YR(A.baseURL,A.url);o.open(A.method.toUpperCase(),VR(p,A.params,A.paramsSerializer),!0),o.timeout=A.timeout;function g(){if(o){var u="getAllResponseHeaders"in o?JR(o.getAllResponseHeaders()):null,Q=!n||n==="text"||n==="json"?o.responseText:o.response,m={data:Q,status:o.status,statusText:o.statusText,headers:u,config:A,request:o};MR(a,r,m),o=null}}if("onloadend"in o?o.onloadend=g:o.onreadystatechange=function(){!o||o.readyState!==4||o.status===0&&!(o.responseURL&&o.responseURL.indexOf("file:")===0)||setTimeout(g)},o.onabort=function(){o&&(r(o0("Request aborted",A,"ECONNABORTED",o)),o=null)},o.onerror=function(){r(o0("Network Error",A,null,o)),o=null},o.ontimeout=function(){var Q="timeout of "+A.timeout+"ms exceeded";A.timeoutErrorMessage&&(Q=A.timeoutErrorMessage),r(o0(Q,A,A.transitional&&A.transitional.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",o)),o=null},Xs.isStandardBrowserEnv()){var c=(A.withCredentials||GR(p))&&A.xsrfCookieName?TR.read(A.xsrfCookieName):void 0;c&&(s[A.xsrfHeaderName]=c)}"setRequestHeader"in o&&Xs.forEach(s,function(Q,m){typeof i>"u"&&m.toLowerCase()==="content-type"?delete s[m]:o.setRequestHeader(m,Q)}),Xs.isUndefined(A.withCredentials)||(o.withCredentials=!!A.withCredentials),n&&n!=="json"&&(o.responseType=A.responseType),typeof A.onDownloadProgress=="function"&&o.addEventListener("progress",A.onDownloadProgress),typeof A.onUploadProgress=="function"&&o.upload&&o.upload.addEventListener("progress",A.onUploadProgress),A.cancelToken&&A.cancelToken.promise.then(function(Q){o&&(o.abort(),r(Q),o=null)}),i||(i=null),o.send(i)})}});var yE=E((TS,wE)=>{var Ia=1e3,fa=Ia*60,wa=fa*60,C1=wa*24,xR=C1*7,_R=C1*365.25;wE.exports=function(e,A){A=A||{};var t=typeof e;if(t==="string"&&e.length>0)return qR(e);if(t==="number"&&isFinite(e))return A.long?OR(e):HR(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function qR(e){if(e=String(e),!(e.length>100)){var A=/^(-?(?:\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(A){var t=parseFloat(A[1]),a=(A[2]||"ms").toLowerCase();switch(a){case"years":case"year":case"yrs":case"yr":case"y":return t*_R;case"weeks":case"week":case"w":return t*xR;case"days":case"day":case"d":return t*C1;case"hours":case"hour":case"hrs":case"hr":case"h":return t*wa;case"minutes":case"minute":case"mins":case"min":case"m":return t*fa;case"seconds":case"second":case"secs":case"sec":case"s":return t*Ia;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function HR(e){var A=Math.abs(e);return A>=C1?Math.round(e/C1)+"d":A>=wa?Math.round(e/wa)+"h":A>=fa?Math.round(e/fa)+"m":A>=Ia?Math.round(e/Ia)+"s":e+"ms"}function OR(e){var A=Math.abs(e);return A>=C1?zs(e,A,C1,"day"):A>=wa?zs(e,A,wa,"hour"):A>=fa?zs(e,A,fa,"minute"):A>=Ia?zs(e,A,Ia,"second"):e+" ms"}function zs(e,A,t,a){var r=A>=t*1.5;return Math.round(e/t)+" "+a+(r?"s":"")}});var d0=E((VS,DE)=>{function PR(e){t.debug=t,t.default=t,t.coerce=o,t.disable=i,t.enable=r,t.enabled=s,t.humanize=yE(),t.destroy=d,Object.keys(e).forEach(l=>{t[l]=e[l]}),t.names=[],t.skips=[],t.formatters={};function A(l){let p=0;for(let g=0;g<l.length;g++)p=(p<<5)-p+l.charCodeAt(g),p|=0;return t.colors[Math.abs(p)%t.colors.length]}t.selectColor=A;function t(l){let p,g=null,c,u;function Q(...m){if(!Q.enabled)return;let C=Q,B=Number(new Date),w=B-(p||B);C.diff=w,C.prev=p,C.curr=B,p=B,m[0]=t.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let I=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(b,F)=>{if(b==="%%")return"%";I++;let x=t.formatters[F];if(typeof x=="function"){let he=m[I];b=x.call(C,he),m.splice(I,1),I--}return b}),t.formatArgs.call(C,m),(C.log||t.log).apply(C,m)}return Q.namespace=l,Q.useColors=t.useColors(),Q.color=t.selectColor(l),Q.extend=a,Q.destroy=t.destroy,Object.defineProperty(Q,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(c!==t.namespaces&&(c=t.namespaces,u=t.enabled(l)),u),set:m=>{g=m}}),typeof t.init=="function"&&t.init(Q),Q}function a(l,p){let g=t(this.namespace+(typeof p>"u"?":":p)+l);return g.log=this.log,g}function r(l){t.save(l),t.namespaces=l,t.names=[],t.skips=[];let p,g=(typeof l=="string"?l:"").split(/[\s,]+/),c=g.length;for(p=0;p<c;p++)g[p]&&(l=g[p].replace(/\*/g,".*?"),l[0]==="-"?t.skips.push(new RegExp("^"+l.slice(1)+"$")):t.names.push(new RegExp("^"+l+"$")))}function i(){let l=[...t.names.map(n),...t.skips.map(n).map(p=>"-"+p)].join(",");return t.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let p,g;for(p=0,g=t.skips.length;p<g;p++)if(t.skips[p].test(l))return!1;for(p=0,g=t.names.length;p<g;p++)if(t.names[p].test(l))return!0;return!1}function n(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function o(l){return l instanceof Error?l.stack||l.message:l}function d(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}DE.exports=PR});var RE=E((dA,Ks)=>{dA.formatArgs=ZR;dA.save=jR;dA.load=XR;dA.useColors=WR;dA.storage=zR();dA.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();dA.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function WR(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function ZR(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+Ks.exports.humanize(this.diff),!this.useColors)return;let A="color: "+this.color;e.splice(1,0,A,"color: inherit");let t=0,a=0;e[0].replace(/%[a-zA-Z%]/g,r=>{r!=="%%"&&(t++,r==="%c"&&(a=t))}),e.splice(a,0,A)}dA.log=console.debug||console.log||(()=>{});function jR(e){try{e?dA.storage.setItem("debug",e):dA.storage.removeItem("debug")}catch{}}function XR(){let e;try{e=dA.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function zR(){try{return localStorage}catch{}}Ks.exports=d0()(dA);var{formatters:KR}=Ks.exports;KR.j=function(e){try{return JSON.stringify(e)}catch(A){return"[UnexpectedJSONParseError]: "+A.message}}});var NE=E((YS,vE)=>{"use strict";vE.exports=(e,A=process.argv)=>{let t=e.startsWith("-")?"":e.length===1?"-":"--",a=A.indexOf(t+e),r=A.indexOf("--");return a!==-1&&(r===-1||a<r)}});var kE=E((JS,SE)=>{"use strict";var $R=require("os"),bE=require("tty"),DA=NE(),{env:De}=process,Jt;DA("no-color")||DA("no-colors")||DA("color=false")||DA("color=never")?Jt=0:(DA("color")||DA("colors")||DA("color=true")||DA("color=always"))&&(Jt=1);"FORCE_COLOR"in De&&(De.FORCE_COLOR==="true"?Jt=1:De.FORCE_COLOR==="false"?Jt=0:Jt=De.FORCE_COLOR.length===0?1:Math.min(parseInt(De.FORCE_COLOR,10),3));function p0(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function l0(e,A){if(Jt===0)return 0;if(DA("color=16m")||DA("color=full")||DA("color=truecolor"))return 3;if(DA("color=256"))return 2;if(e&&!A&&Jt===void 0)return 0;let t=Jt||0;if(De.TERM==="dumb")return t;if(process.platform==="win32"){let a=$R.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in De)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(a=>a in De)||De.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in De)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(De.TEAMCITY_VERSION)?1:0;if(De.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in De){let a=parseInt((De.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(De.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(De.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(De.TERM)||"COLORTERM"in De?1:t}function ev(e){let A=l0(e,e&&e.isTTY);return p0(A)}SE.exports={supportsColor:ev,stdout:p0(l0(!0,bE.isatty(1))),stderr:p0(l0(!0,bE.isatty(2)))}});var UE=E((ke,en)=>{var Av=require("tty"),$s=require("util");ke.init=ov;ke.log=iv;ke.formatArgs=av;ke.save=sv;ke.load=nv;ke.useColors=tv;ke.destroy=$s.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");ke.colors=[6,2,3,4,5,1];try{let e=kE();e&&(e.stderr||e).level>=2&&(ke.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}ke.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,A)=>{let t=A.substring(6).toLowerCase().replace(/_([a-z])/g,(r,i)=>i.toUpperCase()),a=process.env[A];return/^(yes|on|true|enabled)$/i.test(a)?a=!0:/^(no|off|false|disabled)$/i.test(a)?a=!1:a==="null"?a=null:a=Number(a),e[t]=a,e},{});function tv(){return"colors"in ke.inspectOpts?!!ke.inspectOpts.colors:Av.isatty(process.stderr.fd)}function av(e){let{namespace:A,useColors:t}=this;if(t){let a=this.color,r="\x1B[3"+(a<8?a:"8;5;"+a),i=` ${r};1m${A} \x1B[0m`;e[0]=i+e[0].split(` +`).join(` +`+i),e.push(r+"m+"+en.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=rv()+A+" "+e[0]}function rv(){return ke.inspectOpts.hideDate?"":new Date().toISOString()+" "}function iv(...e){return process.stderr.write($s.format(...e)+` +`)}function sv(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function nv(){return process.env.DEBUG}function ov(e){e.inspectOpts={};let A=Object.keys(ke.inspectOpts);for(let t=0;t<A.length;t++)e.inspectOpts[A[t]]=ke.inspectOpts[A[t]]}en.exports=d0()(ke);var{formatters:FE}=en.exports;FE.o=function(e){return this.inspectOpts.colors=this.useColors,$s.inspect(e,this.inspectOpts).split(` +`).map(A=>A.trim()).join(" ")};FE.O=function(e){return this.inspectOpts.colors=this.useColors,$s.inspect(e,this.inspectOpts)}});var LE=E((GS,g0)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?g0.exports=RE():g0.exports=UE()});var TE=E((xS,ME)=>{var vr;ME.exports=function(){if(!vr){try{vr=LE()("follow-redirects")}catch{}typeof vr!="function"&&(vr=function(){})}vr.apply(null,arguments)}});var D0=E((_S,y0)=>{var Sr=require("url"),Nr=Sr.URL,dv=require("http"),pv=require("https"),C0=require("stream").Writable,m0=require("assert"),VE=TE(),B0=!1;try{m0(new Nr)}catch(e){B0=e.code==="ERR_INVALID_URL"}var lv=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],h0=["abort","aborted","connect","error","socket","timeout"],I0=Object.create(null);h0.forEach(function(e){I0[e]=function(A,t,a){this._redirectable.emit(e,A,t,a)}});var u0=kr("ERR_INVALID_URL","Invalid URL",TypeError),E0=kr("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),gv=kr("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",E0),cv=kr("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),uv=kr("ERR_STREAM_WRITE_AFTER_END","write after end"),Ev=C0.prototype.destroy||JE;function Xe(e,A){C0.call(this),this._sanitizeOptions(e),this._options=e,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],A&&this.on("response",A);var t=this;this._onNativeResponse=function(a){try{t._processResponse(a)}catch(r){t.emit("error",r instanceof E0?r:new E0({cause:r}))}},this._performRequest()}Xe.prototype=Object.create(C0.prototype);Xe.prototype.abort=function(){w0(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};Xe.prototype.destroy=function(e){return w0(this._currentRequest,e),Ev.call(this,e),this};Xe.prototype.write=function(e,A,t){if(this._ending)throw new uv;if(!m1(e)&&!mv(e))throw new TypeError("data should be a string, Buffer or Uint8Array");if(br(A)&&(t=A,A=null),e.length===0){t&&t();return}this._requestBodyLength+e.length<=this._options.maxBodyLength?(this._requestBodyLength+=e.length,this._requestBodyBuffers.push({data:e,encoding:A}),this._currentRequest.write(e,A,t)):(this.emit("error",new cv),this.abort())};Xe.prototype.end=function(e,A,t){if(br(e)?(t=e,e=A=null):br(A)&&(t=A,A=null),!e)this._ended=this._ending=!0,this._currentRequest.end(null,null,t);else{var a=this,r=this._currentRequest;this.write(e,A,function(){a._ended=!0,r.end(null,null,t)}),this._ending=!0}};Xe.prototype.setHeader=function(e,A){this._options.headers[e]=A,this._currentRequest.setHeader(e,A)};Xe.prototype.removeHeader=function(e){delete this._options.headers[e],this._currentRequest.removeHeader(e)};Xe.prototype.setTimeout=function(e,A){var t=this;function a(s){s.setTimeout(e),s.removeListener("timeout",s.destroy),s.addListener("timeout",s.destroy)}function r(s){t._timeout&&clearTimeout(t._timeout),t._timeout=setTimeout(function(){t.emit("timeout"),i()},e),a(s)}function i(){t._timeout&&(clearTimeout(t._timeout),t._timeout=null),t.removeListener("abort",i),t.removeListener("error",i),t.removeListener("response",i),t.removeListener("close",i),A&&t.removeListener("timeout",A),t.socket||t._currentRequest.removeListener("socket",r)}return A&&this.on("timeout",A),this.socket?r(this.socket):this._currentRequest.once("socket",r),this.on("socket",a),this.on("abort",i),this.on("error",i),this.on("response",i),this.on("close",i),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(e){Xe.prototype[e]=function(A,t){return this._currentRequest[e](A,t)}});["aborted","connection","socket"].forEach(function(e){Object.defineProperty(Xe.prototype,e,{get:function(){return this._currentRequest[e]}})});Xe.prototype._sanitizeOptions=function(e){if(e.headers||(e.headers={}),e.host&&(e.hostname||(e.hostname=e.host),delete e.host),!e.pathname&&e.path){var A=e.path.indexOf("?");A<0?e.pathname=e.path:(e.pathname=e.path.substring(0,A),e.search=e.path.substring(A))}};Xe.prototype._performRequest=function(){var e=this._options.protocol,A=this._options.nativeProtocols[e];if(!A)throw new TypeError("Unsupported protocol "+e);if(this._options.agents){var t=e.slice(0,-1);this._options.agent=this._options.agents[t]}var a=this._currentRequest=A.request(this._options,this._onNativeResponse);a._redirectable=this;for(var r of h0)a.on(r,I0[r]);if(this._currentUrl=/^\//.test(this._options.path)?Sr.format(this._options):this._options.path,this._isRedirect){var i=0,s=this,n=this._requestBodyBuffers;(function o(d){if(a===s._currentRequest)if(d)s.emit("error",d);else if(i<n.length){var l=n[i++];a.finished||a.write(l.data,l.encoding,o)}else s._ended&&a.end()})()}};Xe.prototype._processResponse=function(e){var A=e.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:e.headers,statusCode:A});var t=e.headers.location;if(!t||this._options.followRedirects===!1||A<300||A>=400){e.responseUrl=this._currentUrl,e.redirects=this._redirects,this.emit("response",e),this._requestBodyBuffers=[];return}if(w0(this._currentRequest),e.destroy(),++this._redirectCount>this._options.maxRedirects)throw new gv;var a,r=this._options.beforeRedirect;r&&(a=Object.assign({Host:e.req.getHeader("host")},this._options.headers));var i=this._options.method;((A===301||A===302)&&this._options.method==="POST"||A===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],c0(/^content-/i,this._options.headers));var s=c0(/^host$/i,this._options.headers),n=f0(this._currentUrl),o=s||n.host,d=/^\w+:/.test(t)?this._currentUrl:Sr.format(Object.assign(n,{host:o})),l=Qv(t,d);if(VE("redirecting to",l.href),this._isRedirect=!0,Q0(l,this._options),(l.protocol!==n.protocol&&l.protocol!=="https:"||l.host!==o&&!Cv(l.host,o))&&c0(/^(?:authorization|cookie)$/i,this._options.headers),br(r)){var p={headers:e.headers,statusCode:A},g={url:d,method:i,headers:a};r(this._options,p,g),this._sanitizeOptions(this._options)}this._performRequest()};function YE(e){var A={maxRedirects:21,maxBodyLength:10485760},t={};return Object.keys(e).forEach(function(a){var r=a+":",i=t[r]=e[a],s=A[a]=Object.create(i);function n(d,l,p){return Bv(d)?d=Q0(d):m1(d)?d=Q0(f0(d)):(p=l,l=GE(d),d={protocol:r}),br(l)&&(p=l,l=null),l=Object.assign({maxRedirects:A.maxRedirects,maxBodyLength:A.maxBodyLength},d,l),l.nativeProtocols=t,!m1(l.host)&&!m1(l.hostname)&&(l.hostname="::1"),m0.equal(l.protocol,r,"protocol mismatch"),VE("options",l),new Xe(l,p)}function o(d,l,p){var g=s.request(d,l,p);return g.end(),g}Object.defineProperties(s,{request:{value:n,configurable:!0,enumerable:!0,writable:!0},get:{value:o,configurable:!0,enumerable:!0,writable:!0}})}),A}function JE(){}function f0(e){var A;if(B0)A=new Nr(e);else if(A=GE(Sr.parse(e)),!m1(A.protocol))throw new u0({input:e});return A}function Qv(e,A){return B0?new Nr(e,A):f0(Sr.resolve(A,e))}function GE(e){if(/^\[/.test(e.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(e.hostname))throw new u0({input:e.href||e});if(/^\[/.test(e.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(e.host))throw new u0({input:e.href||e});return e}function Q0(e,A){var t=A||{};for(var a of lv)t[a]=e[a];return t.hostname.startsWith("[")&&(t.hostname=t.hostname.slice(1,-1)),t.port!==""&&(t.port=Number(t.port)),t.path=t.search?t.pathname+t.search:t.pathname,t}function c0(e,A){var t;for(var a in A)e.test(a)&&(t=A[a],delete A[a]);return t===null||typeof t>"u"?void 0:String(t).trim()}function kr(e,A,t){function a(r){Error.captureStackTrace(this,this.constructor),Object.assign(this,r||{}),this.code=e,this.message=this.cause?A+": "+this.cause.message:A}return a.prototype=new(t||Error),Object.defineProperties(a.prototype,{constructor:{value:a,enumerable:!1},name:{value:"Error ["+e+"]",enumerable:!1}}),a}function w0(e,A){for(var t of h0)e.removeListener(t,I0[t]);e.on("error",JE),e.destroy(A)}function Cv(e,A){m0(m1(e)&&m1(A));var t=e.length-A.length-1;return t>0&&e[t]==="."&&e.endsWith(A)}function m1(e){return typeof e=="string"||e instanceof String}function br(e){return typeof e=="function"}function mv(e){return typeof e=="object"&&"length"in e}function Bv(e){return Nr&&e instanceof Nr}y0.exports=YE({http:dv,https:pv});y0.exports.wrap=YE});var R0=E((qS,hv)=>{hv.exports={name:"axios",version:"0.21.4",description:"Promise based HTTP client for the browser and node.js",main:"index.js",scripts:{test:"grunt test",start:"node ./sandbox/server.js",build:"NODE_ENV=production grunt build",preversion:"npm test",version:"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json",postversion:"git push && git push --tags",examples:"node ./examples/server.js",coveralls:"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js",fix:"eslint --fix lib/**/*.js"},repository:{type:"git",url:"https://github.com/axios/axios.git"},keywords:["xhr","http","ajax","promise","node"],author:"Matt Zabriskie",license:"MIT",bugs:{url:"https://github.com/axios/axios/issues"},homepage:"https://axios-http.com",devDependencies:{coveralls:"^3.0.0","es6-promise":"^4.2.4",grunt:"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1",karma:"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2",minimist:"^1.2.0",mocha:"^8.2.1",sinon:"^4.5.0","terser-webpack-plugin":"^4.2.3",typescript:"^4.0.5","url-search-params":"^0.10.0",webpack:"^4.44.2","webpack-dev-server":"^3.11.0"},browser:{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},jsdelivr:"dist/axios.min.js",unpkg:"dist/axios.min.js",typings:"./index.d.ts",dependencies:{"follow-redirects":"^1.14.0"},bundlesize:[{path:"./dist/axios.min.js",threshold:"5kB"}]}});var PE=E((HS,OE)=>{"use strict";var Fr=qe(),xE=i0(),Iv=s0(),fv=Os(),wv=require("http"),yv=require("https"),Dv=D0().http,Rv=D0().https,_E=require("url"),vv=require("zlib"),Nv=R0(),An=Zs(),v0=Ws(),qE=/https:?/;function HE(e,A,t){if(e.hostname=A.host,e.host=A.host,e.port=A.port,e.path=t,A.auth){var a=Buffer.from(A.auth.username+":"+A.auth.password,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+a}e.beforeRedirect=function(i){i.headers.host=i.host,HE(i,A,i.href)}}OE.exports=function(A){return new Promise(function(a,r){var i=function(M){a(M)},s=function(M){r(M)},n=A.data,o=A.headers;if("User-Agent"in o||"user-agent"in o?!o["User-Agent"]&&!o["user-agent"]&&(delete o["User-Agent"],delete o["user-agent"]):o["User-Agent"]="axios/"+Nv.version,n&&!Fr.isStream(n)){if(!Buffer.isBuffer(n))if(Fr.isArrayBuffer(n))n=Buffer.from(new Uint8Array(n));else if(Fr.isString(n))n=Buffer.from(n,"utf-8");else return s(An("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",A));o["Content-Length"]=n.length}var d=void 0;if(A.auth){var l=A.auth.username||"",p=A.auth.password||"";d=l+":"+p}var g=Iv(A.baseURL,A.url),c=_E.parse(g),u=c.protocol||"http:";if(!d&&c.auth){var Q=c.auth.split(":"),m=Q[0]||"",C=Q[1]||"";d=m+":"+C}d&&delete o.Authorization;var B=qE.test(u),w=B?A.httpsAgent:A.httpAgent,I={path:fv(c.path,A.params,A.paramsSerializer).replace(/^\?/,""),method:A.method.toUpperCase(),headers:o,agent:w,agents:{http:A.httpAgent,https:A.httpsAgent},auth:d};A.socketPath?I.socketPath=A.socketPath:(I.hostname=c.hostname,I.port=c.port);var y=A.proxy;if(!y&&y!==!1){var b=u.slice(0,-1)+"_proxy",F=process.env[b]||process.env[b.toUpperCase()];if(F){var x=_E.parse(F),he=process.env.no_proxy||process.env.NO_PROXY,Qe=!0;if(he){var Bt=he.split(",").map(function(M){return M.trim()});Qe=!Bt.some(function(M){return M?M==="*"||M[0]==="."&&c.hostname.substr(c.hostname.length-M.length)===M?!0:c.hostname===M:!1})}if(Qe&&(y={host:x.hostname,port:x.port,protocol:x.protocol},x.auth)){var Re=x.auth.split(":");y.auth={username:Re[0],password:Re[1]}}}}y&&(I.headers.host=c.hostname+(c.port?":"+c.port:""),HE(I,y,u+"//"+c.hostname+(c.port?":"+c.port:"")+I.path));var de,lA=B&&(y?qE.test(y.protocol):!0);A.transport?de=A.transport:A.maxRedirects===0?de=lA?yv:wv:(A.maxRedirects&&(I.maxRedirects=A.maxRedirects),de=lA?Rv:Dv),A.maxBodyLength>-1&&(I.maxBodyLength=A.maxBodyLength);var W=de.request(I,function(M){if(!W.aborted){var TA=M,O=M.req||W;if(M.statusCode!==204&&O.method!=="HEAD"&&A.decompress!==!1)switch(M.headers["content-encoding"]){case"gzip":case"compress":case"deflate":TA=TA.pipe(vv.createUnzip()),delete M.headers["content-encoding"];break}var ze={status:M.statusCode,statusText:M.statusMessage,headers:M.headers,config:A,request:O};if(A.responseType==="stream")ze.data=TA,xE(i,s,ze);else{var Y0=[],J0=0;TA.on("data",function(VA){Y0.push(VA),J0+=VA.length,A.maxContentLength>-1&&J0>A.maxContentLength&&(TA.destroy(),s(An("maxContentLength size of "+A.maxContentLength+" exceeded",A,null,O)))}),TA.on("error",function(VA){W.aborted||s(v0(VA,A,null,O))}),TA.on("end",function(){var VA=Buffer.concat(Y0);A.responseType!=="arraybuffer"&&(VA=VA.toString(A.responseEncoding),(!A.responseEncoding||A.responseEncoding==="utf8")&&(VA=Fr.stripBOM(VA))),ze.data=VA,xE(i,s,ze)})}}});if(W.on("error",function(M){W.aborted&&M.code!=="ERR_FR_TOO_MANY_REDIRECTS"||s(v0(M,A,null,W))}),A.timeout){var Ae=parseInt(A.timeout,10);if(isNaN(Ae)){s(An("error trying to parse `config.timeout` to int",A,"ERR_PARSE_TIMEOUT",W));return}W.setTimeout(Ae,function(){W.abort(),s(An("timeout of "+Ae+"ms exceeded",A,A.transitional&&A.transitional.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",W))})}A.cancelToken&&A.cancelToken.promise.then(function(M){W.aborted||(W.abort(),s(M))}),Fr.isStream(n)?n.on("error",function(M){s(v0(M,A,null,W))}).pipe(W):W.end(n)})}});var an=E((OS,jE)=>{"use strict";var Fe=qe(),WE=iE(),bv=Ws(),Sv={"Content-Type":"application/x-www-form-urlencoded"};function ZE(e,A){!Fe.isUndefined(e)&&Fe.isUndefined(e["Content-Type"])&&(e["Content-Type"]=A)}function kv(){var e;return typeof XMLHttpRequest<"u"?e=fE():typeof process<"u"&&Object.prototype.toString.call(process)==="[object process]"&&(e=PE()),e}function Fv(e,A,t){if(Fe.isString(e))try{return(A||JSON.parse)(e),Fe.trim(e)}catch(a){if(a.name!=="SyntaxError")throw a}return(t||JSON.stringify)(e)}var tn={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:kv(),transformRequest:[function(A,t){return WE(t,"Accept"),WE(t,"Content-Type"),Fe.isFormData(A)||Fe.isArrayBuffer(A)||Fe.isBuffer(A)||Fe.isStream(A)||Fe.isFile(A)||Fe.isBlob(A)?A:Fe.isArrayBufferView(A)?A.buffer:Fe.isURLSearchParams(A)?(ZE(t,"application/x-www-form-urlencoded;charset=utf-8"),A.toString()):Fe.isObject(A)||t&&t["Content-Type"]==="application/json"?(ZE(t,"application/json"),Fv(A)):A}],transformResponse:[function(A){var t=this.transitional,a=t&&t.silentJSONParsing,r=t&&t.forcedJSONParsing,i=!a&&this.responseType==="json";if(i||r&&Fe.isString(A)&&A.length)try{return JSON.parse(A)}catch(s){if(i)throw s.name==="SyntaxError"?bv(s,this,"E_JSON_PARSE"):s}return A}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(A){return A>=200&&A<300}};tn.headers={common:{Accept:"application/json, text/plain, */*"}};Fe.forEach(["delete","get","head"],function(A){tn.headers[A]={}});Fe.forEach(["post","put","patch"],function(A){tn.headers[A]=Fe.merge(Sv)});jE.exports=tn});var zE=E((PS,XE)=>{"use strict";var Uv=qe(),Lv=an();XE.exports=function(A,t,a){var r=this||Lv;return Uv.forEach(a,function(s){A=s.call(r,A,t)}),A}});var N0=E((WS,KE)=>{"use strict";KE.exports=function(A){return!!(A&&A.__CANCEL__)}});var A3=E((ZS,e3)=>{"use strict";var $E=qe(),b0=zE(),Mv=N0(),Tv=an();function S0(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e3.exports=function(A){S0(A),A.headers=A.headers||{},A.data=b0.call(A,A.data,A.headers,A.transformRequest),A.headers=$E.merge(A.headers.common||{},A.headers[A.method]||{},A.headers),$E.forEach(["delete","get","head","post","put","patch","common"],function(r){delete A.headers[r]});var t=A.adapter||Tv.adapter;return t(A).then(function(r){return S0(A),r.data=b0.call(A,r.data,r.headers,A.transformResponse),r},function(r){return Mv(r)||(S0(A),r&&r.response&&(r.response.data=b0.call(A,r.response.data,r.response.headers,A.transformResponse))),Promise.reject(r)})}});var k0=E((jS,t3)=>{"use strict";var Me=qe();t3.exports=function(A,t){t=t||{};var a={},r=["url","method","data"],i=["headers","auth","proxy","params"],s=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],n=["validateStatus"];function o(g,c){return Me.isPlainObject(g)&&Me.isPlainObject(c)?Me.merge(g,c):Me.isPlainObject(c)?Me.merge({},c):Me.isArray(c)?c.slice():c}function d(g){Me.isUndefined(t[g])?Me.isUndefined(A[g])||(a[g]=o(void 0,A[g])):a[g]=o(A[g],t[g])}Me.forEach(r,function(c){Me.isUndefined(t[c])||(a[c]=o(void 0,t[c]))}),Me.forEach(i,d),Me.forEach(s,function(c){Me.isUndefined(t[c])?Me.isUndefined(A[c])||(a[c]=o(void 0,A[c])):a[c]=o(void 0,t[c])}),Me.forEach(n,function(c){c in t?a[c]=o(A[c],t[c]):c in A&&(a[c]=o(void 0,A[c]))});var l=r.concat(i).concat(s).concat(n),p=Object.keys(A).concat(Object.keys(t)).filter(function(c){return l.indexOf(c)===-1});return Me.forEach(p,d),a}});var n3=E((XS,s3)=>{"use strict";var r3=R0(),F0={};["object","boolean","number","function","string","symbol"].forEach(function(e,A){F0[e]=function(a){return typeof a===e||"a"+(A<1?"n ":" ")+e}});var a3={},Vv=r3.version.split(".");function i3(e,A){for(var t=A?A.split("."):Vv,a=e.split("."),r=0;r<3;r++){if(t[r]>a[r])return!0;if(t[r]<a[r])return!1}return!1}F0.transitional=function(A,t,a){var r=t&&i3(t);function i(s,n){return"[Axios v"+r3.version+"] Transitional option '"+s+"'"+n+(a?". "+a:"")}return function(s,n,o){if(A===!1)throw new Error(i(n," has been removed in "+t));return r&&!a3[n]&&(a3[n]=!0,console.warn(i(n," has been deprecated since v"+t+" and will be removed in the near future"))),A?A(s,n,o):!0}};function Yv(e,A,t){if(typeof e!="object")throw new TypeError("options must be an object");for(var a=Object.keys(e),r=a.length;r-- >0;){var i=a[r],s=A[i];if(s){var n=e[i],o=n===void 0||s(n,i,e);if(o!==!0)throw new TypeError("option "+i+" must be "+o);continue}if(t!==!0)throw Error("Unknown option "+i)}}s3.exports={isOlderVersion:i3,assertOptions:Yv,validators:F0}});var c3=E((zS,g3)=>{"use strict";var p3=qe(),Jv=Os(),o3=aE(),d3=A3(),rn=k0(),l3=n3(),ya=l3.validators;function Ur(e){this.defaults=e,this.interceptors={request:new o3,response:new o3}}Ur.prototype.request=function(A){typeof A=="string"?(A=arguments[1]||{},A.url=arguments[0]):A=A||{},A=rn(this.defaults,A),A.method?A.method=A.method.toLowerCase():this.defaults.method?A.method=this.defaults.method.toLowerCase():A.method="get";var t=A.transitional;t!==void 0&&l3.assertOptions(t,{silentJSONParsing:ya.transitional(ya.boolean,"1.0.0"),forcedJSONParsing:ya.transitional(ya.boolean,"1.0.0"),clarifyTimeoutError:ya.transitional(ya.boolean,"1.0.0")},!1);var a=[],r=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(A)===!1||(r=r&&g.synchronous,a.unshift(g.fulfilled,g.rejected))});var i=[];this.interceptors.response.forEach(function(g){i.push(g.fulfilled,g.rejected)});var s;if(!r){var n=[d3,void 0];for(Array.prototype.unshift.apply(n,a),n=n.concat(i),s=Promise.resolve(A);n.length;)s=s.then(n.shift(),n.shift());return s}for(var o=A;a.length;){var d=a.shift(),l=a.shift();try{o=d(o)}catch(p){l(p);break}}try{s=d3(o)}catch(p){return Promise.reject(p)}for(;i.length;)s=s.then(i.shift(),i.shift());return s};Ur.prototype.getUri=function(A){return A=rn(this.defaults,A),Jv(A.url,A.params,A.paramsSerializer).replace(/^\?/,"")};p3.forEach(["delete","get","head","options"],function(A){Ur.prototype[A]=function(t,a){return this.request(rn(a||{},{method:A,url:t,data:(a||{}).data}))}});p3.forEach(["post","put","patch"],function(A){Ur.prototype[A]=function(t,a,r){return this.request(rn(r||{},{method:A,url:t,data:a}))}});g3.exports=Ur});var L0=E((KS,u3)=>{"use strict";function U0(e){this.message=e}U0.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")};U0.prototype.__CANCEL__=!0;u3.exports=U0});var Q3=E(($S,E3)=>{"use strict";var Gv=L0();function sn(e){if(typeof e!="function")throw new TypeError("executor must be a function.");var A;this.promise=new Promise(function(r){A=r});var t=this;e(function(r){t.reason||(t.reason=new Gv(r),A(t.reason))})}sn.prototype.throwIfRequested=function(){if(this.reason)throw this.reason};sn.source=function(){var A,t=new sn(function(r){A=r});return{token:t,cancel:A}};E3.exports=sn});var m3=E((ek,C3)=>{"use strict";C3.exports=function(A){return function(a){return A.apply(null,a)}}});var h3=E((Ak,B3)=>{"use strict";B3.exports=function(A){return typeof A=="object"&&A.isAxiosError===!0}});var w3=E((tk,M0)=>{"use strict";var I3=qe(),xv=e0(),nn=c3(),_v=k0(),qv=an();function f3(e){var A=new nn(e),t=xv(nn.prototype.request,A);return I3.extend(t,nn.prototype,A),I3.extend(t,A),t}var UA=f3(qv);UA.Axios=nn;UA.create=function(A){return f3(_v(UA.defaults,A))};UA.Cancel=L0();UA.CancelToken=Q3();UA.isCancel=N0();UA.all=function(A){return Promise.all(A)};UA.spread=m3();UA.isAxiosError=h3();M0.exports=UA;M0.exports.default=UA});var D3=E((ak,y3)=>{y3.exports=w3()});var R3=E((exports,module)=>{"use strict";var __awaiter=exports&&exports.__awaiter||function(e,A,t,a){function r(i){return i instanceof t?i:new t(function(s){s(i)})}return new(t||(t=Promise))(function(i,s){function n(l){try{d(a.next(l))}catch(p){s(p)}}function o(l){try{d(a.throw(l))}catch(p){s(p)}}function d(l){l.done?i(l.value):r(l.value).then(n,o)}d((a=a.apply(e,A||[])).next())})},__generator=exports&&exports.__generator||function(e,A){var t={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},a,r,i,s;return s={next:n(0),throw:n(1),return:n(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function n(d){return function(l){return o([d,l])}}function o(d){if(a)throw new TypeError("Generator is already executing.");for(;t;)try{if(a=1,r&&(i=d[0]&2?r.return:d[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,d[1])).done)return i;switch(r=0,i&&(d=[d[0]&2,i.value]),d[0]){case 0:case 1:i=d;break;case 4:return t.label++,{value:d[1],done:!1};case 5:t.label++,r=d[1],d=[0];continue;case 7:d=t.ops.pop(),t.trys.pop();continue;default:if(i=t.trys,!(i=i.length>0&&i[i.length-1])&&(d[0]===6||d[0]===2)){t=0;continue}if(d[0]===3&&(!i||d[1]>i[0]&&d[1]<i[3])){t.label=d[1];break}if(d[0]===6&&t.label<i[1]){t.label=i[1],i=d;break}if(i&&t.label<i[2]){t.label=i[2],t.ops.push(d);break}i[2]&&t.ops.pop(),t.trys.pop();continue}d=A.call(e,t)}catch(l){d=[6,l],r=0}finally{a=i=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}},__importDefault=exports&&exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});exports.getAllAudioBase64=exports.getAudioBase64=void 0;var assertInputTypes_1=__importDefault(Xp()),axios_1=__importDefault(D3()),splitLongText_1=__importDefault(Kp()),getAudioBase64=function(text,_a){var _b=_a===void 0?{}:_a,_c=_b.lang,lang=_c===void 0?"en":_c,_d=_b.slow,slow=_d===void 0?!1:_d,_e=_b.host,host=_e===void 0?"https://translate.google.com":_e,_f=_b.timeout,timeout=_f===void 0?1e4:_f;return __awaiter(void 0,void 0,void 0,function(){var res,result;return __generator(this,function(_g){switch(_g.label){case 0:if(assertInputTypes_1.default(text,lang,slow,host),typeof timeout!="number"||timeout<=0)throw new TypeError("timeout should be a positive number");if(text.length>200)throw new RangeError("text length ("+text.length+') should be less than 200 characters. Try "getAllAudioBase64(text, [option])" for long text.');return[4,axios_1.default({method:"post",baseURL:host,url:"/_/TranslateWebserverUi/data/batchexecute",timeout,data:"f.req="+encodeURIComponent(JSON.stringify([[["jQ1olc",JSON.stringify([text,lang,slow?!0:null,"null"]),null,"generic"]]]))})];case 1:res=_g.sent();try{result=eval(res.data.slice(5))[0][2]}catch(e){throw new Error(`parse response failed: +`+res.data)}if(!result)throw new Error('lang "'+lang+'" might not exist');try{result=eval(result)[0]}catch(e){throw new Error(`parse response failed: +`+res.data)}return[2,result]}})})};exports.getAudioBase64=getAudioBase64;var getAllAudioBase64=function(e,A){var t=A===void 0?{}:A,a=t.lang,r=a===void 0?"en":a,i=t.slow,s=i===void 0?!1:i,n=t.host,o=n===void 0?"https://translate.google.com":n,d=t.splitPunct,l=d===void 0?"":d,p=t.timeout,g=p===void 0?1e4:p;return __awaiter(void 0,void 0,void 0,function(){var c,u,Q,m,C,B;return __generator(this,function(w){switch(w.label){case 0:if(assertInputTypes_1.default(e,r,s,o),typeof l!="string")throw new TypeError("splitPunct should be a string");if(typeof g!="number"||g<=0)throw new TypeError("timeout should be a positive number");return c=splitLongText_1.default(e,{splitPunct:l}),[4,Promise.all(c.map(function(I){return exports.getAudioBase64(I,{lang:r,slow:s,host:o,timeout:g})}))];case 1:for(u=w.sent(),Q=[],m=0;m<c.length;m++)C=c[m],B=u[m],Q.push({shortText:C,base64:B});return[2,Q]}})})};exports.getAllAudioBase64=getAllAudioBase64});var b3=E($A=>{"use strict";Object.defineProperty($A,"__esModule",{value:!0});$A.getAllAudioBase64=$A.getAudioBase64=$A.getAllAudioUrls=$A.getAudioUrl=void 0;var v3=j9();Object.defineProperty($A,"getAudioUrl",{enumerable:!0,get:function(){return v3.getAudioUrl}});Object.defineProperty($A,"getAllAudioUrls",{enumerable:!0,get:function(){return v3.getAllAudioUrls}});var N3=R3();Object.defineProperty($A,"getAudioBase64",{enumerable:!0,get:function(){return N3.getAudioBase64}});Object.defineProperty($A,"getAllAudioBase64",{enumerable:!0,get:function(){return N3.getAllAudioBase64}})});var jv={};j3(jv,{default:()=>q3});module.exports=X3(jv);var _3=require("@raycast/api"),V0=require("react");var xt=require("@raycast/api");var dn=require("@raycast/api"),T0=_t(jn()),B1=_t(require("react"));var Zp=_t(require("querystring")),Rr=_t(Op());var xs={auto:"Automatic",af:"Afrikaans",sq:"Albanian",am:"Amharic",ar:"Arabic",hy:"Armenian",az:"Azerbaijani",eu:"Basque",be:"Belarusian",bn:"Bengali",bs:"Bosnian",bg:"Bulgarian",ca:"Catalan",ceb:"Cebuano",ny:"Chichewa","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",co:"Corsican",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",eo:"Esperanto",et:"Estonian",tl:"Filipino",fi:"Finnish",fr:"French",fy:"Frisian",gl:"Galician",ka:"Georgian",de:"German",el:"Greek",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",haw:"Hawaiian",iw:"Hebrew",hi:"Hindi",hmn:"Hmong",hu:"Hungarian",is:"Icelandic",ig:"Igbo",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",jw:"Javanese",kn:"Kannada",kk:"Kazakh",km:"Khmer",ko:"Korean",ku:"Kurdish (Kurmanji)",ky:"Kyrgyz",lo:"Lao",la:"Latin",lv:"Latvian",lt:"Lithuanian",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mn:"Mongolian",my:"Myanmar (Burmese)",ne:"Nepali",no:"Norwegian",ps:"Pashto",fa:"Persian",pl:"Polish",pt:"Portuguese",pa:"Punjabi",ro:"Romanian",ru:"Russian",sm:"Samoan",gd:"Scots Gaelic",sr:"Serbian",st:"Sesotho",sn:"Shona",sd:"Sindhi",si:"Sinhala",sk:"Slovak",sl:"Slovenian",so:"Somali",es:"Spanish",su:"Sundanese",sw:"Swahili",sv:"Swedish",tg:"Tajik",ta:"Tamil",te:"Telugu",th:"Thai",tr:"Turkish",uk:"Ukrainian",ur:"Urdu",uz:"Uzbek",vi:"Vietnamese",cy:"Welsh",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",zu:"Zulu"};function _s(e){return e?(e=e.toLowerCase(),e in xs?e:Object.keys(xs).filter(t=>typeof xs[t]!="string"?!1:xs[t].toLowerCase()===e)[0]||void 0):void 0}function _9(e){return!!_s(e)}var H9=_t(Op());function tR(e){let A;if(Pp!==null)A=Pp;else{A=qs("T");let o=qs("K");A=[A(),A()],A[1]=o(),A=(Pp=Wp[A.join(o())]||"")||""}let t=qs("t"),a=qs("k");t=[t(),t()],t[1]=a(),a="&"+t.join("")+"=",t=A.split("."),A=Number(t[0])||0;for(var r=[],i=0,s=0;s<e.length;s++){let o=e.charCodeAt(s);128>o?r[i++]=o:(2048>o?r[i++]=o>>6|192:((o&64512)==55296&&s+1<e.length&&(e.charCodeAt(s+1)&64512)==56320?(o=65536+((o&1023)<<10)+(e.charCodeAt(++s)&1023),r[i++]=o>>18|240,r[i++]=o>>12&63|128):r[i++]=o>>12|224,r[i++]=o>>6&63|128),r[i++]=o&63|128)}let n=Number(A);for(let o=0;o<r.length;o++)e+=r[o],n=q9(n,"+-a^+6");return n=q9(n,"+-3^+b+-f"),n^=Number(t[1])||0,0>n&&(n=(n&2147483647)+2147483648),n%=1e6,a+(e.toString()+"."+(n^A))}var Pp=null,qs=function(e){return function(){return e}},q9=function(e,A){for(let t=0;t<A.length-2;t+=3){let a=A.charAt(t+2),r=a>="a"?a.charCodeAt(0)-87:Number(a);r=A.charAt(t+1)=="+"?e>>>r:e<<r,e=A.charAt(t)=="+"?e+r&4294967295:e^r}return e},O9=new Map,Wp={TKK:O9.get("TKK")||"0"};async function aR(){let e=Math.floor(Date.now()/36e5);if(Number(Wp.TKK.split(".")[0])!==e){let a=(await(await(0,H9.request)("https://translate.google.com")).body.text()).match(/tkk:'\d+.\d+'/g);if(a&&a.length>0){let r=a[0].split(":")[1].replace(/'/g,"");Wp.TKK=r,O9.set("TKK",r)}}}async function P9(e){try{await aR();let A=tR(e);return A=A.replace("&tk=",""),{name:"tk",value:A}}catch(A){return A}}async function W9(e,A){typeof A!="object"&&(A={}),e=String(e);let t=null;if([A.from,A.to].forEach(g=>{g&&!_9(g)&&(t=new Error,t.message=`The language '${g}' is not supported.`)}),t)throw t;Object.prototype.hasOwnProperty.call(A,"from")||(A.from="auto"),Object.prototype.hasOwnProperty.call(A,"to")||(A.to="en"),A.raw=!!A.raw,A.from=_s(A.from),A.to=_s(A.to);let a=await P9(e),r="https://translate.google.com/translate_a/single",i={client:"gtx",sl:A.from,tl:A.to,hl:A.to,dt:["at","bd","ex","ld","md","qca","rw","rm","ss","t"],ie:"UTF-8",oe:"UTF-8",otf:1,ssel:0,tsel:0,kc:7,q:e,[a.name]:a.value},s=`${r}?${Zp.default.stringify(i)}`,n,o=s;s.length>2048?(delete i.q,o=`${r}?${Zp.default.stringify(i)}`,n={method:"POST",body:new URLSearchParams({q:e}).toString(),headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"}},A.proxy&&(n.dispatcher=new Rr.ProxyAgent(A.proxy))):A.proxy&&(n={dispatcher:new Rr.ProxyAgent(A.proxy)});let l=await(await(0,Rr.request)(o,n)).body.json(),p={text:"",from:{language:{didYouMean:!1,iso:""},text:{autoCorrected:!1,value:"",didYouMean:!1}},raw:""};if(A.raw&&(p.raw=l),l[0].forEach(g=>{g[0]&&(p.text+=g[0])}),l[2]===l[8][0][0]?p.from.language.iso=l[2]:(p.from.language.didYouMean=!0,p.from.language.iso=l[8][0][0]),l[7]&&l[7][0]){let g=l[7][0];g=g.replace(/<b><i>/g,"["),g=g.replace(/<\/i><\/b>/g,"]"),p.from.text.value=g,l[7][5]===!0?p.from.text.autoCorrected=!0:p.from.text.didYouMean=!0}return p}var Hv=_t(b3());var Lr="auto",on=class extends Error{},Ov=e=>e?.[0]?.[1]?.[2];async function S3(e,A){try{if(!e)return{originalText:e,translatedText:"",pronunciationText:"",langFrom:A.langFrom,langTo:A.langTo[0]};let t=await W9(e,{from:A.langFrom,to:A.langTo[0],raw:!0,proxy:A.proxy});return{originalText:e,translatedText:t.text,pronunciationText:Ov(t?.raw),langFrom:t?.from?.language?.iso,langTo:A.langTo[0]}}catch(t){if(t instanceof Error){if(t.name==="TooManyRequestsError"){let r=new on;throw r.name="Too many requests",r.message="please try again later",r}let a=new on;throw a.name=t.name,a.message=t.message,a}throw t}}var pn=()=>B1.default.useMemo(()=>(0,dn.getPreferenceValues)(),[]),k3=()=>{let e=pn(),[A,t]=B1.default.useState(""),a=B1.default.useRef(A);return a.current=A,B1.default.useEffect(()=>{e.autoInput&&(0,dn.getSelectedText)().then(r=>{a.current||t(r??"")}).catch(r=>{console.log("Error:",r)})},[]),[A,t]};var F3=(e,A)=>{let[t,a]=B1.default.useState(e);return B1.default.useEffect(()=>{let r=setTimeout(()=>{a(e)},A);return()=>{clearTimeout(r)}},[e,A]),t};var ln=()=>{let[e,A]=(0,T0.useCachedState)("sourceLanguage",Lr);return[e,A]},Da=()=>{let e=pn(),[A,t]=(0,T0.useCachedState)("targetLanguages",[e.lang1,e.lang2].filter(a=>a!==Lr));return[A,t]};var U3={"Auto-detect":{code:"auto",name:"Auto-detect",flag:"\u{1F310}"},Afrikaans:{code:"af",name:"Afrikaans",flag:"\u{1F1FF}\u{1F1E6}"},Albanian:{code:"sq",name:"Albanian",flag:"\u{1F1E6}\u{1F1F1}"},Amharic:{code:"am",name:"Amharic"},Arabic:{code:"ar",name:"Arabic"},Armenian:{code:"hy",name:"Armenian",flag:"\u{1F1E6}\u{1F1F2}"},Azerbaijani:{code:"az",name:"Azerbaijani",flag:"\u{1F1E6}\u{1F1FF}"},Basque:{code:"eu",name:"Basque"},Belarusian:{code:"be",name:"Belarusian",flag:"\u{1F1E7}\u{1F1FE}"},Bengali:{code:"bn",name:"Bengali"},Bosnian:{code:"bs",name:"Bosnian",flag:"\u{1F1E7}\u{1F1E6}"},Bulgarian:{code:"bg",name:"Bulgarian",flag:"\u{1F1E7}\u{1F1EC}"},Catalan:{code:"ca",name:"Catalan"},Cebuano:{code:"ceb",name:"Cebuano"},"Chinese Simplified":{code:"zh-CN",name:"Chinese Simplified",flag:"\u{1F1E8}\u{1F1F3}"},Mandarin:{code:"zh-TW",name:"Chinese Traditional"},Corsican:{code:"co",name:"Corsican"},Croatian:{code:"hr",name:"Croatian",flag:"\u{1F1ED}\u{1F1F7}"},Czech:{code:"cs",name:"Czech",flag:"\u{1F1E8}\u{1F1FF}"},Danish:{code:"da",name:"Danish",flag:"\u{1F1E9}\u{1F1F0}"},Dutch:{code:"nl",name:"Dutch",flag:"\u{1F1F3}\u{1F1F1}"},English:{code:"en",name:"English",flag:"\u{1F1EC}\u{1F1E7}"},Esperanto:{code:"eo",name:"Esperanto"},Estonian:{code:"et",name:"Estonian",flag:"\u{1F1EA}\u{1F1EA}"},Finnish:{code:"fi",name:"Finnish",flag:"\u{1F1EB}\u{1F1EE}"},French:{code:"fr",name:"French",flag:"\u{1F1EB}\u{1F1F7}"},Frisian:{code:"fy",name:"Frisian"},Galician:{code:"gl",name:"Galician"},Georgian:{code:"ka",name:"Georgian",flag:"\u{1F1EC}\u{1F1EA}"},German:{code:"de",name:"German",flag:"\u{1F1E9}\u{1F1EA}"},Greek:{code:"el",name:"Greek",flag:"\u{1F1EC}\u{1F1F7}"},Gujarati:{code:"gu",name:"Gujarati"},"Haitian Creole":{code:"ht",name:"Haitian Creole",flag:"\u{1F1ED}\u{1F1F9}"},Hausa:{code:"ha",name:"Hausa"},Hawaiian:{code:"haw",name:"Hawaiian",flag:"\u{1F33A}"},Hebrew:{code:"iw",name:"Hebrew",flag:"\u{1F1EE}\u{1F1F1}"},Hindi:{code:"hi",name:"Hindi",flag:"\u{1F1EE}\u{1F1F3}"},Hmong:{code:"hmn",name:"Hmong"},Hungarian:{code:"hu",name:"Hungarian",flag:"\u{1F1ED}\u{1F1FA}"},Icelandic:{code:"is",name:"Icelandic",flag:"\u{1F1EE}\u{1F1F8}"},Igbo:{code:"ig",name:"Igbo"},Indonesian:{code:"id",name:"Indonesian",flag:"\u{1F1EE}\u{1F1E9}"},Irish:{code:"ga",name:"Irish",flag:"\u{1F1EE}\u{1F1EA}"},Italian:{code:"it",name:"Italian",flag:"\u{1F1EE}\u{1F1F9}"},Japanese:{code:"ja",name:"Japanese",flag:"\u{1F1EF}\u{1F1F5}"},Javanese:{code:"jv",name:"Javanese"},Kannada:{code:"kn",name:"Kannada"},Kazakh:{code:"kk",name:"Kazakh",flag:"\u{1F1F0}\u{1F1FF}"},Khmer:{code:"km",name:"Khmer"},Kinyarwanda:{code:"rw",name:"Kinyarwanda"},Korean:{code:"ko",name:"Korean",flag:"\u{1F1F0}\u{1F1F7}"},Kurdish:{code:"ku",name:"Kurdish"},Kyrgyz:{code:"ky",name:"Kyrgyz"},Lao:{code:"lo",name:"Lao"},Latvian:{code:"lv",name:"Latvian",flag:"\u{1F1F1}\u{1F1FB}"},Lithuanian:{code:"lt",name:"Lithuanian",flag:"\u{1F1F1}\u{1F1F9}"},Luxembourgish:{code:"lb",name:"Luxembourgish",flag:"\u{1F1F1}\u{1F1FA}"},Latin:{code:"la",name:"Latin",flag:"\u{1F3DB}"},Macedonian:{code:"mk",name:"Macedonian",flag:"\u{1F1F2}\u{1F1F0}"},Malagasy:{code:"mg",name:"Malagasy"},Malay:{code:"ms",name:"Malay",flag:"\u{1F1F2}\u{1F1FE}"},Malayalam:{code:"ml",name:"Malayalam"},Maltese:{code:"mt",name:"Maltese",flag:"\u{1F1F2}\u{1F1F9}"},Maori:{code:"mi",name:"Maori",flag:"\u{1F1F3}\u{1F1FF}"},Marathi:{code:"mr",name:"Marathi"},Mongolian:{code:"mn",name:"Mongolian",flag:"\u{1F1F2}\u{1F1F3}"},"Myanmar (Burmese)":{code:"my",name:"Myanmar (Burmese)",flag:"\u{1F1F2}\u{1F1F2}"},Nepali:{code:"ne",name:"Nepali",flag:"\u{1F1F3}\u{1F1F5}"},Norwegian:{code:"no",name:"Norwegian",flag:"\u{1F1F3}\u{1F1F4}"},"Nyanja (Chichewa)":{code:"ny",name:"Nyanja (Chichewa)"},"Odia (Oriya)":{code:"or",name:"Odia (Oriya)"},Pashto:{code:"ps",name:"Pashto"},Persian:{code:"fa",name:"Persian",flag:"\u{1F1EE}\u{1F1F7}"},Polish:{code:"pl",name:"Polish",flag:"\u{1F1F5}\u{1F1F1}"},Portuguese:{code:"pt",name:"Portuguese",flag:"\u{1F1F5}\u{1F1F9}"},Punjabi:{code:"pa",name:"Punjabi",flag:"\u{1F1EE}\u{1F1F3}"},Romanian:{code:"ro",name:"Romanian",flag:"\u{1F1F7}\u{1F1F4}"},Russian:{code:"ru",name:"Russian",flag:"\u{1F1F7}\u{1F1FA}"},Samoan:{code:"sm",name:"Samoan"},"Scots Gaelic":{code:"gd",name:"Scots Gaelic",flag:"\u{1F3F4}\u{E0067}\u{E0062}\u{E0073}\u{E0063}\u{E0074}\u{E007F}"},Serbian:{code:"sr",name:"Serbian",flag:"\u{1F1F7}\u{1F1F8}"},Sesotho:{code:"st",name:"Sesotho"},Shona:{code:"sn",name:"Shona"},Sindhi:{code:"sd",name:"Sindhi"},"Sinhala (Sinhalese)":{code:"si",name:"Sinhala (Sinhalese)"},Slovak:{code:"sk",name:"Slovak",flag:"\u{1F1F8}\u{1F1F0}"},Slovenian:{code:"sl",name:"Slovenian",flag:"\u{1F1F8}\u{1F1EE}"},Somali:{code:"so",name:"Somali",flag:"\u{1F1F8}\u{1F1F4}"},Spanish:{code:"es",name:"Spanish",flag:"\u{1F1EA}\u{1F1F8}"},Sundanese:{code:"su",name:"Sundanese",flag:"\u{1F1F8}\u{1F1E9}"},Swahili:{code:"sw",name:"Swahili"},Swedish:{code:"sv",name:"Swedish",flag:"\u{1F1F8}\u{1F1EA}"},"Tagalog (Filipino)":{code:"tl",name:"Tagalog (Filipino)",flag:"\u{1F1F5}\u{1F1ED}"},Tajik:{code:"tg",name:"Tajik"},Tamil:{code:"ta",name:"Tamil"},Tatar:{code:"tt",name:"Tatar"},Telugu:{code:"te",name:"Telugu"},Thai:{code:"th",name:"Thai"},Turkish:{code:"tr",name:"Turkish",flag:"\u{1F1F9}\u{1F1F7}"},Turkmen:{code:"tk",name:"Turkmen",flag:"\u{1F1F9}\u{1F1F2}"},Ukrainian:{code:"uk",name:"Ukrainian",flag:"\u{1F1FA}\u{1F1E6}"},Urdu:{code:"ur",name:"Urdu"},Uyghur:{code:"ug",name:"Uyghur"},Uzbek:{code:"uz",name:"Uzbek"},Vietnamese:{code:"vi",name:"Vietnamese",flag:"\u{1F1FB}\u{1F1F3}"},Welsh:{code:"cy",name:"Welsh",flag:"\u{1F3F4}\u{E0067}\u{E0062}\u{E0077}\u{E006C}\u{E0073}\u{E007F}"},Xhosa:{code:"xh",name:"Xhosa"},Yiddish:{code:"yi",name:"Yiddish",flag:"\u{1F1EE}\u{1F1F1}"},Yoruba:{code:"yo",name:"Yoruba"},Zulu:{code:"zu",name:"Zulu"}};var L3={auto:{code:"auto",name:"Auto-detect",flag:"\u{1F310}"},af:{code:"af",name:"Afrikaans",flag:"\u{1F1FF}\u{1F1E6}"},sq:{code:"sq",name:"Albanian",flag:"\u{1F1E6}\u{1F1F1}"},am:{code:"am",name:"Amharic"},ar:{code:"ar",name:"Arabic"},hy:{code:"hy",name:"Armenian",flag:"\u{1F1E6}\u{1F1F2}"},az:{code:"az",name:"Azerbaijani",flag:"\u{1F1E6}\u{1F1FF}"},eu:{code:"eu",name:"Basque"},be:{code:"be",name:"Belarusian",flag:"\u{1F1E7}\u{1F1FE}"},bn:{code:"bn",name:"Bengali"},bs:{code:"bs",name:"Bosnian",flag:"\u{1F1E7}\u{1F1E6}"},bg:{code:"bg",name:"Bulgarian",flag:"\u{1F1E7}\u{1F1EC}"},ca:{code:"ca",name:"Catalan"},ceb:{code:"ceb",name:"Cebuano"},"zh-CN":{code:"zh-CN",name:"Chinese Simplified",flag:"\u{1F1E8}\u{1F1F3}"},"zh-TW":{code:"zh-TW",name:"Chinese Traditional"},co:{code:"co",name:"Corsican"},hr:{code:"hr",name:"Croatian",flag:"\u{1F1ED}\u{1F1F7}"},cs:{code:"cs",name:"Czech",flag:"\u{1F1E8}\u{1F1FF}"},da:{code:"da",name:"Danish",flag:"\u{1F1E9}\u{1F1F0}"},nl:{code:"nl",name:"Dutch",flag:"\u{1F1F3}\u{1F1F1}"},en:{code:"en",name:"English",flag:"\u{1F1EC}\u{1F1E7}"},eo:{code:"eo",name:"Esperanto"},et:{code:"et",name:"Estonian",flag:"\u{1F1EA}\u{1F1EA}"},fi:{code:"fi",name:"Finnish",flag:"\u{1F1EB}\u{1F1EE}"},fr:{code:"fr",name:"French",flag:"\u{1F1EB}\u{1F1F7}"},fy:{code:"fy",name:"Frisian"},gl:{code:"gl",name:"Galician"},ka:{code:"ka",name:"Georgian",flag:"\u{1F1EC}\u{1F1EA}"},de:{code:"de",name:"German",flag:"\u{1F1E9}\u{1F1EA}"},el:{code:"el",name:"Greek",flag:"\u{1F1EC}\u{1F1F7}"},gu:{code:"gu",name:"Gujarati"},ht:{code:"ht",name:"Haitian Creole",flag:"\u{1F1ED}\u{1F1F9}"},ha:{code:"ha",name:"Hausa"},haw:{code:"haw",name:"Hawaiian",flag:"\u{1F33A}"},iw:{code:"iw",name:"Hebrew",flag:"\u{1F1EE}\u{1F1F1}"},hi:{code:"hi",name:"Hindi",flag:"\u{1F1EE}\u{1F1F3}"},hmn:{code:"hmn",name:"Hmong"},hu:{code:"hu",name:"Hungarian",flag:"\u{1F1ED}\u{1F1FA}"},is:{code:"is",name:"Icelandic",flag:"\u{1F1EE}\u{1F1F8}"},ig:{code:"ig",name:"Igbo"},id:{code:"id",name:"Indonesian",flag:"\u{1F1EE}\u{1F1E9}"},ga:{code:"ga",name:"Irish",flag:"\u{1F1EE}\u{1F1EA}"},it:{code:"it",name:"Italian",flag:"\u{1F1EE}\u{1F1F9}"},ja:{code:"ja",name:"Japanese",flag:"\u{1F1EF}\u{1F1F5}"},jv:{code:"jv",name:"Javanese"},kn:{code:"kn",name:"Kannada"},kk:{code:"kk",name:"Kazakh",flag:"\u{1F1F0}\u{1F1FF}"},km:{code:"km",name:"Khmer"},rw:{code:"rw",name:"Kinyarwanda"},ko:{code:"ko",name:"Korean",flag:"\u{1F1F0}\u{1F1F7}"},ku:{code:"ku",name:"Kurdish"},ky:{code:"ky",name:"Kyrgyz"},lo:{code:"lo",name:"Lao"},lv:{code:"lv",name:"Latvian",flag:"\u{1F1F1}\u{1F1FB}"},lt:{code:"lt",name:"Lithuanian",flag:"\u{1F1F1}\u{1F1F9}"},lb:{code:"lb",name:"Luxembourgish",flag:"\u{1F1F1}\u{1F1FA}"},la:{code:"la",name:"Latin",flag:"\u{1F3DB}"},mk:{code:"mk",name:"Macedonian",flag:"\u{1F1F2}\u{1F1F0}"},mg:{code:"mg",name:"Malagasy"},ms:{code:"ms",name:"Malay",flag:"\u{1F1F2}\u{1F1FE}"},ml:{code:"ml",name:"Malayalam"},mt:{code:"mt",name:"Maltese",flag:"\u{1F1F2}\u{1F1F9}"},mi:{code:"mi",name:"Maori",flag:"\u{1F1F3}\u{1F1FF}"},mr:{code:"mr",name:"Marathi"},mn:{code:"mn",name:"Mongolian",flag:"\u{1F1F2}\u{1F1F3}"},my:{code:"my",name:"Myanmar (Burmese)",flag:"\u{1F1F2}\u{1F1F2}"},ne:{code:"ne",name:"Nepali",flag:"\u{1F1F3}\u{1F1F5}"},no:{code:"no",name:"Norwegian",flag:"\u{1F1F3}\u{1F1F4}"},ny:{code:"ny",name:"Nyanja (Chichewa)"},or:{code:"or",name:"Odia (Oriya)"},ps:{code:"ps",name:"Pashto"},fa:{code:"fa",name:"Persian",flag:"\u{1F1EE}\u{1F1F7}"},pl:{code:"pl",name:"Polish",flag:"\u{1F1F5}\u{1F1F1}"},pt:{code:"pt",name:"Portuguese",flag:"\u{1F1F5}\u{1F1F9}"},pa:{code:"pa",name:"Punjabi",flag:"\u{1F1EE}\u{1F1F3}"},ro:{code:"ro",name:"Romanian",flag:"\u{1F1F7}\u{1F1F4}"},ru:{code:"ru",name:"Russian",flag:"\u{1F1F7}\u{1F1FA}"},sm:{code:"sm",name:"Samoan"},gd:{code:"gd",name:"Scots Gaelic",flag:"\u{1F3F4}\u{E0067}\u{E0062}\u{E0073}\u{E0063}\u{E0074}\u{E007F}"},sr:{code:"sr",name:"Serbian",flag:"\u{1F1F7}\u{1F1F8}"},st:{code:"st",name:"Sesotho"},sn:{code:"sn",name:"Shona"},sd:{code:"sd",name:"Sindhi"},si:{code:"si",name:"Sinhala (Sinhalese)"},sk:{code:"sk",name:"Slovak",flag:"\u{1F1F8}\u{1F1F0}"},sl:{code:"sl",name:"Slovenian",flag:"\u{1F1F8}\u{1F1EE}"},so:{code:"so",name:"Somali",flag:"\u{1F1F8}\u{1F1F4}"},es:{code:"es",name:"Spanish",flag:"\u{1F1EA}\u{1F1F8}"},su:{code:"su",name:"Sundanese",flag:"\u{1F1F8}\u{1F1E9}"},sw:{code:"sw",name:"Swahili"},sv:{code:"sv",name:"Swedish",flag:"\u{1F1F8}\u{1F1EA}"},tl:{code:"tl",name:"Tagalog (Filipino)",flag:"\u{1F1F5}\u{1F1ED}"},tg:{code:"tg",name:"Tajik"},ta:{code:"ta",name:"Tamil"},tt:{code:"tt",name:"Tatar"},te:{code:"te",name:"Telugu"},th:{code:"th",name:"Thai"},tr:{code:"tr",name:"Turkish",flag:"\u{1F1F9}\u{1F1F7}"},tk:{code:"tk",name:"Turkmen",flag:"\u{1F1F9}\u{1F1F2}"},uk:{code:"uk",name:"Ukrainian",flag:"\u{1F1FA}\u{1F1E6}"},ur:{code:"ur",name:"Urdu"},ug:{code:"ug",name:"Uyghur"},uz:{code:"uz",name:"Uzbek"},vi:{code:"vi",name:"Vietnamese",flag:"\u{1F1FB}\u{1F1F3}"},cy:{code:"cy",name:"Welsh",flag:"\u{1F3F4}\u{E0067}\u{E0062}\u{E0077}\u{E006C}\u{E0073}\u{E007F}"},xh:{code:"xh",name:"Xhosa"},yi:{code:"yi",name:"Yiddish",flag:"\u{1F1EE}\u{1F1F1}"},yo:{code:"yo",name:"Yoruba"},zu:{code:"zu",name:"Zulu"}};var Gt=(e,A="\u{1F3F3}\uFE0F")=>e?.flag??A,gn=e=>Gt(h1[e]),h1=L3,Zv=U3,cn=Object.values(Zv);var re=require("@raycast/api");var pA=require("react/jsx-runtime"),M3=()=>{let[e,A]=Da();return(0,pA.jsxs)(re.List,{searchBarPlaceholder:"Search languages",children:[(0,pA.jsx)(re.List.Section,{title:"Selected Languages",subtitle:`${e.length}`,children:e.map(t=>(0,pA.jsx)(re.List.Item,{title:`${gn(t)} ${h1[t].name}`,subtitle:t,actions:e.length===1&&e[0]==="en"?void 0:(0,pA.jsxs)(re.ActionPanel,{children:[(0,pA.jsx)(re.Action,{title:"Remove",icon:re.Icon.Minus,style:re.Action.Style.Destructive,shortcut:{modifiers:["ctrl"],key:"x"},onAction:()=>{let a=e.filter(r=>r!=t);A(a.length===0?["en"]:a),(0,re.clearSearchBar)()}}),(0,pA.jsx)(re.Action,{title:"Move up",icon:re.Icon.ArrowUp,shortcut:{modifiers:["shift"],key:"arrowUp"},onAction:()=>{let a=e.indexOf(t);if(a>0){let r=[...e];r.splice(a-1,0,r.splice(a,1)[0]),A(r)}}}),(0,pA.jsx)(re.Action,{title:"Move down",icon:re.Icon.ArrowDown,shortcut:{modifiers:["shift"],key:"arrowDown"},onAction:()=>{let a=e.indexOf(t);if(a<e.length-1){let r=[...e];r.splice(a+1,0,r.splice(a,1)[0]),A(r)}}})]})},t))}),(0,pA.jsx)(re.List.Section,{title:"Available Languages",children:cn.filter(t=>t.code!=Lr&&!e.includes(t.code)).map(t=>(0,pA.jsx)(re.List.Item,{title:`${Gt(t)} ${t.name}`,subtitle:t.code,actions:(0,pA.jsx)(re.ActionPanel,{children:(0,pA.jsx)(re.Action,{title:"Add",icon:re.Icon.Plus,onAction:()=>{A(a=>[...a,t.code]),(0,re.clearSearchBar)()}})})},t.code))})]})};var Ra=require("react/jsx-runtime");function T3(){let e=(0,xt.useNavigation)(),[A,t]=ln(),[a]=Da();return(0,Ra.jsxs)(xt.List.Dropdown,{value:A,tooltip:"Language",onChange:r=>{r==="manageTargetLanguages"?e.push((0,Ra.jsx)(M3,{})):t(r)},children:[(0,Ra.jsx)(xt.List.Dropdown.Item,{icon:xt.Icon.Pencil,title:`Translate to -> ${a.map(gn).join(" ")}`,value:"manageTargetLanguages"},"manageTargetLanguages"),cn.map(r=>(0,Ra.jsx)(xt.List.Dropdown.Item,{title:`${Gt(r)} ${r.name}`,value:r.code},r.code))]})}var MA=require("@raycast/api"),G3=_t(jn());var mt=require("@raycast/api"),LA=require("react/jsx-runtime"),V3=({defaultActionsPrefix:e,value:A})=>{let t=(0,mt.getPreferenceValues)().defaultAction,a=(0,LA.jsx)(mt.Action.Paste,{title:e?`Paste ${e}`:"Paste",content:A}),r=(0,LA.jsx)(mt.Action.CopyToClipboard,{title:e?`Copy ${e}`:"Copy",content:A});return t==="paste"?(0,LA.jsxs)(LA.Fragment,{children:[a,r]}):(0,LA.jsxs)(LA.Fragment,{children:[r,a]})},Y3=({onAction:e})=>(0,LA.jsx)(mt.Action,{title:"Toggle Full Text",icon:mt.Icon.Text,onAction:e,shortcut:{modifiers:["cmd"],key:"f"}}),J3=({translationText:e,translation:A})=>(0,LA.jsx)(mt.Action.OpenInBrowser,{title:"Open in Google Translate",shortcut:{modifiers:["opt"],key:"enter"},url:"https://translate.google.com/?sl="+A.langFrom+"&tl="+A.langTo+"&text="+encodeURIComponent(e)+"&op=translate"});var et=require("react/jsx-runtime");function x3(e){let A=h1[e.languageSet.langFrom],t=h1[e.languageSet.langTo[0]],{data:a,isLoading:r}=(0,G3.usePromise)(S3,[e.debouncedText,e.languageSet],{onWillExecute(){e.setIsLoading(!0)},onData(){e.setIsLoading(!1)},onError(i){e.setIsLoading(!1),(0,MA.showToast)({style:MA.Toast.Style.Failure,title:`Could not translate to ${t.name}`,message:i.toString()})}});return r?(0,et.jsx)(MA.List.Item,{title:`Translating to ${t.name}...`,accessories:[{text:`${Gt(t,t?.code)}`,tooltip:`${A.name} -> ${t.name}`}]}):a?(A=h1[a.langFrom],(0,et.jsx)(MA.List.Item,{title:a.translatedText,accessories:[{text:`${Gt(t,t?.code)}`,tooltip:`${A.name} -> ${t.name}`}],detail:(0,et.jsx)(MA.List.Item.Detail,{markdown:a.translatedText}),actions:(0,et.jsx)(MA.ActionPanel,{children:(0,et.jsxs)(MA.ActionPanel.Section,{children:[(0,et.jsx)(V3,{defaultActionsPrefix:"Translation",value:a.translatedText}),(0,et.jsx)(Y3,{onAction:()=>e.setIsShowingDetail(!e.isShowingDetail)}),(0,et.jsx)(J3,{translationText:e.debouncedText,translation:a})]})})},t.code)):null}var un=require("react/jsx-runtime");function q3(){let[e]=ln(),[A]=Da(),{proxy:t}=pn(),[a,r]=(0,V0.useState)(!0),[i,s]=k3(),n=F3(i,500).trim(),[o,d]=(0,V0.useState)(new Map(A.map(g=>[g,!1]))),l=Array.from(o.values()).some(g=>g);function p(g,c){d(u=>new Map(u).set(g,c))}return(0,un.jsx)(_3.List,{searchBarPlaceholder:"Enter text to translate",searchText:i,onSearchTextChange:s,isLoading:l,isShowingDetail:a,searchBarAccessory:(0,un.jsx)(T3,{}),children:n?A.map(g=>(0,un.jsx)(x3,{debouncedText:n,languageSet:{langFrom:e,langTo:[g],proxy:t},isShowingDetail:a,setIsShowingDetail:r,setIsLoading:c=>p(g,c)},g)):null})} +/*! Bundled license information: + +media-typer/index.js: + (*! + * media-typer + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + *) + +content-type/index.js: + (*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +undici/lib/fetch/body.js: + (*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *) + +undici/lib/websocket/frame.js: + (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *) +*/ diff --git a/.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/quick-translate.js.map b/.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/quick-translate.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/dequal/lite/index.js", "../node_modules/@raycast/utils/dist/useDeepMemo.js", "../node_modules/@raycast/utils/dist/useLatest.js", "../node_modules/@raycast/utils/dist/handle-error-toast-action.js", "../node_modules/@raycast/utils/dist/usePromise.js", "../node_modules/@raycast/utils/dist/useCachedState.js", "../node_modules/object-hash/index.js", "../node_modules/@raycast/utils/dist/useCachedPromise.js", "../node_modules/media-typer/index.js", "../node_modules/content-type/index.js", "../node_modules/webidl-conversions/lib/index.js", "../node_modules/whatwg-url/lib/utils.js", "../node_modules/tr46/lib/mappingTable.json", "../node_modules/tr46/index.js", "../node_modules/whatwg-url/lib/url-state-machine.js", "../node_modules/whatwg-url/lib/URL-impl.js", "../node_modules/whatwg-url/lib/URL.js", "../node_modules/whatwg-url/lib/public-api.js", "../node_modules/node-fetch/lib/index.js", "../node_modules/cross-fetch/dist/node-ponyfill.js", "../node_modules/@raycast/utils/dist/useFetch.js", "../node_modules/signal-exit/src/signals.ts", "../node_modules/signal-exit/src/index.ts", "../node_modules/@raycast/utils/dist/exec-utils.js", "../node_modules/@raycast/utils/dist/useExec.js", "../node_modules/@raycast/utils/dist/useSQL.js", "../node_modules/@raycast/utils/dist/useForm.js", "../node_modules/@raycast/utils/dist/useAI.js", "../node_modules/@raycast/utils/dist/useFrecencySorting.js", "../node_modules/@raycast/utils/dist/icon/color.js", "../node_modules/@raycast/utils/dist/icon/avatar.js", "../node_modules/@raycast/utils/dist/icon/favicon.js", "../node_modules/@raycast/utils/dist/icon/progress.js", "../node_modules/@raycast/utils/dist/icon/index.js", "../node_modules/@raycast/utils/dist/run-applescript.js", "../node_modules/@raycast/utils/dist/index.js", "../node_modules/undici/lib/core/symbols.js", "../node_modules/undici/lib/core/errors.js", "../node_modules/undici/lib/core/util.js", "../node_modules/undici/lib/timers.js", "../node_modules/busboy/lib/utils.js", "../node_modules/streamsearch/lib/sbmh.js", "../node_modules/busboy/lib/types/multipart.js", "../node_modules/busboy/lib/types/urlencoded.js", "../node_modules/busboy/lib/index.js", "../node_modules/undici/lib/fetch/constants.js", "../node_modules/undici/lib/fetch/global.js", "../node_modules/undici/lib/fetch/util.js", "../node_modules/undici/lib/fetch/symbols.js", "../node_modules/undici/lib/fetch/webidl.js", "../node_modules/undici/lib/fetch/dataURL.js", "../node_modules/undici/lib/fetch/file.js", "../node_modules/undici/lib/fetch/formdata.js", "../node_modules/undici/lib/fetch/body.js", "../node_modules/undici/lib/core/request.js", "../node_modules/undici/lib/dispatcher.js", "../node_modules/undici/lib/dispatcher-base.js", "../node_modules/undici/lib/core/connect.js", "../node_modules/undici/src/llhttp/utils.ts", "../node_modules/undici/src/llhttp/constants.ts", "../node_modules/undici/lib/handler/RedirectHandler.js", "../node_modules/undici/lib/interceptor/redirectInterceptor.js", "../node_modules/undici/lib/llhttp/llhttp-wasm.js", "../node_modules/undici/lib/llhttp/llhttp_simd-wasm.js", "../node_modules/undici/lib/client.js", "../node_modules/undici/lib/node/fixed-queue.js", "../node_modules/undici/lib/pool-stats.js", "../node_modules/undici/lib/pool-base.js", "../node_modules/undici/lib/pool.js", "../node_modules/undici/lib/balanced-pool.js", "../node_modules/undici/lib/compat/dispatcher-weakref.js", "../node_modules/undici/lib/agent.js", "../node_modules/undici/lib/api/readable.js", "../node_modules/undici/lib/api/util.js", "../node_modules/undici/lib/api/abort-signal.js", "../node_modules/undici/lib/api/api-request.js", "../node_modules/undici/lib/api/api-stream.js", "../node_modules/undici/lib/api/api-pipeline.js", "../node_modules/undici/lib/api/api-upgrade.js", "../node_modules/undici/lib/api/api-connect.js", "../node_modules/undici/lib/api/index.js", "../node_modules/undici/lib/mock/mock-errors.js", "../node_modules/undici/lib/mock/mock-symbols.js", "../node_modules/undici/lib/mock/mock-utils.js", "../node_modules/undici/lib/mock/mock-interceptor.js", "../node_modules/undici/lib/mock/mock-client.js", "../node_modules/undici/lib/mock/mock-pool.js", "../node_modules/undici/lib/mock/pluralizer.js", "../node_modules/undici/lib/mock/pending-interceptors-formatter.js", "../node_modules/undici/lib/mock/mock-agent.js", "../node_modules/undici/lib/proxy-agent.js", "../node_modules/undici/lib/global.js", "../node_modules/undici/lib/handler/DecoratorHandler.js", "../node_modules/undici/lib/fetch/headers.js", "../node_modules/undici/lib/fetch/response.js", "../node_modules/undici/lib/fetch/request.js", "../node_modules/undici/lib/fetch/index.js", "../node_modules/undici/lib/fileapi/symbols.js", "../node_modules/undici/lib/fileapi/progressevent.js", "../node_modules/undici/lib/fileapi/encoding.js", "../node_modules/undici/lib/fileapi/util.js", "../node_modules/undici/lib/fileapi/filereader.js", "../node_modules/undici/lib/cache/symbols.js", "../node_modules/undici/lib/cache/util.js", "../node_modules/undici/lib/cache/cache.js", "../node_modules/undici/lib/cache/cachestorage.js", "../node_modules/undici/lib/cookies/constants.js", "../node_modules/undici/lib/cookies/util.js", "../node_modules/undici/lib/cookies/parse.js", "../node_modules/undici/lib/cookies/index.js", "../node_modules/undici/lib/websocket/constants.js", "../node_modules/undici/lib/websocket/symbols.js", "../node_modules/undici/lib/websocket/events.js", "../node_modules/undici/lib/websocket/util.js", "../node_modules/undici/lib/websocket/connection.js", "../node_modules/undici/lib/websocket/frame.js", "../node_modules/undici/lib/websocket/receiver.js", "../node_modules/undici/lib/websocket/websocket.js", "../node_modules/undici/index.js", "../node_modules/google-tts-api/src/assertInputTypes.ts", "../node_modules/google-tts-api/src/splitLongText.ts", "../node_modules/google-tts-api/src/getAudioUrl.ts", "../node_modules/axios/lib/helpers/bind.js", "../node_modules/axios/lib/utils.js", "../node_modules/axios/lib/helpers/buildURL.js", "../node_modules/axios/lib/core/InterceptorManager.js", "../node_modules/axios/lib/helpers/normalizeHeaderName.js", "../node_modules/axios/lib/core/enhanceError.js", "../node_modules/axios/lib/core/createError.js", "../node_modules/axios/lib/core/settle.js", "../node_modules/axios/lib/helpers/cookies.js", "../node_modules/axios/lib/helpers/isAbsoluteURL.js", "../node_modules/axios/lib/helpers/combineURLs.js", "../node_modules/axios/lib/core/buildFullPath.js", "../node_modules/axios/lib/helpers/parseHeaders.js", "../node_modules/axios/lib/helpers/isURLSameOrigin.js", "../node_modules/axios/lib/adapters/xhr.js", "../node_modules/ms/index.js", "../node_modules/debug/src/common.js", "../node_modules/debug/src/browser.js", "../node_modules/has-flag/index.js", "../node_modules/supports-color/index.js", "../node_modules/debug/src/node.js", "../node_modules/debug/src/index.js", "../node_modules/follow-redirects/debug.js", "../node_modules/follow-redirects/index.js", "../node_modules/axios/package.json", "../node_modules/axios/lib/adapters/http.js", "../node_modules/axios/lib/defaults.js", "../node_modules/axios/lib/core/transformData.js", "../node_modules/axios/lib/cancel/isCancel.js", "../node_modules/axios/lib/core/dispatchRequest.js", "../node_modules/axios/lib/core/mergeConfig.js", "../node_modules/axios/lib/helpers/validator.js", "../node_modules/axios/lib/core/Axios.js", "../node_modules/axios/lib/cancel/Cancel.js", "../node_modules/axios/lib/cancel/CancelToken.js", "../node_modules/axios/lib/helpers/spread.js", "../node_modules/axios/lib/helpers/isAxiosError.js", "../node_modules/axios/lib/axios.js", "../node_modules/axios/index.js", "../node_modules/google-tts-api/src/getAudioBase64.ts", "../node_modules/google-tts-api/src/index.ts", "../src/quick-translate.tsx", "../src/QuickTranslate/LanguageDropdown.tsx", "../src/hooks.ts", "../vendor/@iamtraction-translate/src/index.ts", "../vendor/@iamtraction-translate/src/languages.ts", "../vendor/@iamtraction-translate/src/tokenGenerator.ts", "../src/simple-translate.ts", "../src/supportedLanguages.json", "../src/supportedLanguagesByCode.json", "../src/languages.ts", "../src/QuickTranslate/TargetLanguageList.tsx", "../src/QuickTranslate/QuickTranslateListItem.tsx", "../src/actions.tsx"], + "sourcesContent": ["var has = Object.prototype.hasOwnProperty;\n\nfunction dequal(foo, bar) {\n\tvar ctor, len;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n\nexports.dequal = dequal;", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useDeepMemo = void 0;\nconst react_1 = require(\"react\");\nconst lite_1 = require(\"dequal/lite\");\n/**\n * @param value the value to be memoized (usually a dependency list)\n * @returns a memoized version of the value as long as it remains deeply equal\n */\nfunction useDeepMemo(value) {\n const ref = (0, react_1.useRef)(value);\n const signalRef = (0, react_1.useRef)(0);\n if (!(0, lite_1.dequal)(value, ref.current)) {\n ref.current = value;\n signalRef.current += 1;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return (0, react_1.useMemo)(() => ref.current, [signalRef.current]);\n}\nexports.useDeepMemo = useDeepMemo;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLatest = void 0;\nconst react_1 = require(\"react\");\n/**\n * Returns the latest state.\n *\n * This is mostly useful to get access to the latest value of some props or state inside an asynchronous callback, instead of that value at the time the callback was created from.\n */\nfunction useLatest(value) {\n const ref = (0, react_1.useRef)(value);\n ref.current = value;\n return ref;\n}\nexports.useLatest = useLatest;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.handleErrorToastAction = void 0;\nconst fs = __importStar(require(\"fs\"));\nconst path = __importStar(require(\"path\"));\nconst api_1 = require(\"@raycast/api\");\nconst handleErrorToastAction = (error) => {\n let privateExtension = true;\n let title = \"[Extension Name]...\";\n let extensionURL = \"\";\n try {\n const packageJSON = JSON.parse(fs.readFileSync(path.join(api_1.environment.assetsPath, \"..\", \"package.json\"), \"utf8\"));\n title = `[${packageJSON.title}]...`;\n extensionURL = `https://raycast.com/${packageJSON.owner || packageJSON.author}/${packageJSON.name}`;\n if (!packageJSON.owner || packageJSON.access === \"public\") {\n privateExtension = false;\n }\n }\n catch (err) {\n // no-op\n }\n // if it's a private extension, we can't construct the URL to report the error\n // so we fallback to copying the error to the clipboard\n const fallback = api_1.environment.isDevelopment || privateExtension;\n return {\n title: fallback ? \"Copy Logs\" : \"Report Error\",\n onAction(toast) {\n toast.hide();\n if (fallback) {\n api_1.Clipboard.copy(error?.stack || error?.message || \"\");\n }\n else {\n (0, api_1.open)(`https://github.com/raycast/extensions/issues/new?&labels=extension%2Cbug&template=extension_bug_report.yml&title=${encodeURIComponent(title)}&extension-url=${encodeURI(extensionURL)}&description=${encodeURIComponent(`#### Error:\n\\`\\`\\`\n${error?.stack || error?.message || \"\"}\n\\`\\`\\`\n`)}`);\n }\n },\n };\n};\nexports.handleErrorToastAction = handleErrorToastAction;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePromise = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst useDeepMemo_1 = require(\"./useDeepMemo\");\nconst useLatest_1 = require(\"./useLatest\");\nconst handle_error_toast_action_1 = require(\"./handle-error-toast-action\");\nfunction usePromise(fn, args, options) {\n const lastCallId = (0, react_1.useRef)(0);\n const [state, set] = (0, react_1.useState)({ isLoading: true });\n const fnRef = (0, useLatest_1.useLatest)(fn);\n const latestAbortable = (0, useLatest_1.useLatest)(options?.abortable);\n const latestArgs = (0, useLatest_1.useLatest)(args || []);\n const latestOnError = (0, useLatest_1.useLatest)(options?.onError);\n const latestOnData = (0, useLatest_1.useLatest)(options?.onData);\n const latestOnWillExecute = (0, useLatest_1.useLatest)(options?.onWillExecute);\n const latestValue = (0, useLatest_1.useLatest)(state.data);\n const latestCallback = (0, react_1.useRef)();\n const callback = (0, react_1.useCallback)((...args) => {\n const callId = ++lastCallId.current;\n if (latestAbortable.current) {\n latestAbortable.current.current?.abort();\n latestAbortable.current.current = new AbortController();\n }\n latestOnWillExecute.current?.(args);\n set((prevState) => ({ ...prevState, isLoading: true }));\n return bindPromiseIfNeeded(fnRef.current)(...args).then((data) => {\n if (callId === lastCallId.current) {\n if (latestOnData.current) {\n latestOnData.current(data);\n }\n set({ data, isLoading: false });\n }\n return data;\n }, (error) => {\n if (error.name == \"AbortError\") {\n return error;\n }\n if (callId === lastCallId.current) {\n // handle errors\n if (latestOnError.current) {\n latestOnError.current(error);\n }\n else {\n console.error(error);\n if (api_1.environment.launchType !== api_1.LaunchType.Background) {\n (0, api_1.showToast)({\n style: api_1.Toast.Style.Failure,\n title: \"Failed to fetch latest data\",\n message: error.message,\n primaryAction: {\n title: \"Retry\",\n onAction(toast) {\n toast.hide();\n latestCallback.current?.(...(latestArgs.current || []));\n },\n },\n secondaryAction: (0, handle_error_toast_action_1.handleErrorToastAction)(error),\n });\n }\n }\n set({ error, isLoading: false });\n }\n return error;\n });\n }, [latestAbortable, latestOnData, latestOnError, latestArgs, fnRef, set, latestCallback, latestOnWillExecute]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n );\n latestCallback.current = callback;\n const revalidate = (0, react_1.useCallback)(() => {\n return callback(...(latestArgs.current || []));\n }, [callback, latestArgs]);\n const mutate = (0, react_1.useCallback)(async (asyncUpdate, options) => {\n let dataBeforeOptimisticUpdate;\n try {\n if (options?.optimisticUpdate) {\n if (typeof options?.rollbackOnError !== \"function\" && options?.rollbackOnError !== false) {\n // keep track of the data before the optimistic update,\n // but only if we need it (eg. only when we want to automatically rollback after)\n dataBeforeOptimisticUpdate = structuredClone(latestValue.current?.value);\n }\n const update = options.optimisticUpdate;\n set((prevState) => ({ ...prevState, data: update(prevState.data) }));\n }\n return await asyncUpdate;\n }\n catch (err) {\n if (typeof options?.rollbackOnError === \"function\") {\n const update = options.rollbackOnError;\n set((prevState) => ({ ...prevState, data: update(prevState.data) }));\n }\n else if (options?.optimisticUpdate && options?.rollbackOnError !== false) {\n set((prevState) => ({ ...prevState, data: dataBeforeOptimisticUpdate }));\n }\n throw err;\n }\n finally {\n if (options?.shouldRevalidateAfter !== false) {\n if (api_1.environment.launchType === api_1.LaunchType.Background || api_1.environment.commandMode === \"menu-bar\") {\n // when in the background or in a menu bar, we are going to await the revalidation\n // to make sure we get the right data at the end of the mutation\n await revalidate();\n }\n else {\n revalidate();\n }\n }\n }\n }, [revalidate, latestValue, set]);\n // revalidate when the args change\n (0, react_1.useEffect)(() => {\n if (options?.execute !== false) {\n callback(...(args || []));\n }\n else {\n // cancel the previous request if we don't want to execute anymore\n if (latestAbortable.current) {\n latestAbortable.current.current?.abort();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [(0, useDeepMemo_1.useDeepMemo)([args, options?.execute, callback]), latestAbortable]);\n // abort request when unmounting\n (0, react_1.useEffect)(() => {\n return () => {\n if (latestAbortable.current) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n latestAbortable.current.current?.abort();\n }\n };\n }, [latestAbortable]);\n // we only want to show the loading indicator if the promise is executing\n const isLoading = options?.execute !== false ? state.isLoading : false;\n // @ts-expect-error loading is has some fixed value in the enum which\n const stateWithLoadingFixed = { ...state, isLoading };\n return { ...stateWithLoadingFixed, revalidate, mutate };\n}\nexports.usePromise = usePromise;\n/** Bind the fn if it's a Promise method */\nfunction bindPromiseIfNeeded(fn) {\n if (fn === Promise.all) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.race) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.resolve) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.reject) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n return fn;\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useCachedState = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst useLatest_1 = require(\"./useLatest\");\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction replacer(key, _value) {\n const value = this[key];\n if (value instanceof Date) {\n return `__raycast_cached_date__${value.toString()}`;\n }\n if (Buffer.isBuffer(value)) {\n return `__raycast_cached_buffer__${value.toString(\"base64\")}`;\n }\n return _value;\n}\nfunction reviver(_key, value) {\n if (typeof value === \"string\" && value.startsWith(\"__raycast_cached_date__\")) {\n return new Date(value.replace(\"__raycast_cached_date__\", \"\"));\n }\n if (typeof value === \"string\" && value.startsWith(\"__raycast_cached_buffer__\")) {\n return Buffer.from(value.replace(\"__raycast_cached_buffer__\", \"\"), \"base64\");\n }\n return value;\n}\nconst rootCache = Symbol(\"cache without namespace\");\nconst cacheMap = new Map();\nfunction useCachedState(key, initialState, config) {\n const cacheKey = config?.cacheNamespace || rootCache;\n const cache = cacheMap.get(cacheKey) || cacheMap.set(cacheKey, new api_1.Cache({ namespace: config?.cacheNamespace })).get(cacheKey);\n if (!cache) {\n throw new Error(\"Missing cache\");\n }\n const keyRef = (0, useLatest_1.useLatest)(key);\n const initialValueRef = (0, useLatest_1.useLatest)(initialState);\n const cachedState = (0, react_1.useSyncExternalStore)(cache.subscribe, () => {\n try {\n return cache.get(keyRef.current);\n }\n catch (error) {\n console.error(\"Could not get Cache data:\", error);\n return undefined;\n }\n });\n const state = (0, react_1.useMemo)(() => {\n if (typeof cachedState !== \"undefined\") {\n if (cachedState === \"undefined\") {\n return undefined;\n }\n try {\n return JSON.parse(cachedState, reviver);\n }\n catch (err) {\n // the data got corrupted somehow\n console.warn(\"The cached data is corrupted\", err);\n return initialValueRef.current;\n }\n }\n else {\n return initialValueRef.current;\n }\n }, [cachedState, initialValueRef]);\n const stateRef = (0, useLatest_1.useLatest)(state);\n const setStateAndCache = (0, react_1.useCallback)((updater) => {\n // @ts-expect-error TS struggles to infer the types as T could potentially be a function\n const newValue = typeof updater === \"function\" ? updater(stateRef.current) : updater;\n if (typeof newValue === \"undefined\") {\n cache.set(keyRef.current, \"undefined\");\n }\n else {\n const stringifiedValue = JSON.stringify(newValue, replacer);\n cache.set(keyRef.current, stringifiedValue);\n }\n return newValue;\n }, [cache, keyRef, stateRef]);\n return [state, setStateAndCache];\n}\nexports.useCachedState = useCachedState;\n", "'use strict';\n\nvar crypto = require('crypto');\n\n/**\n * Exported function\n *\n * Options:\n *\n * - `algorithm` hash algo to be used by this instance: *'sha1', 'md5'\n * - `excludeValues` {true|*false} hash object keys, values ignored\n * - `encoding` hash encoding, supports 'buffer', '*hex', 'binary', 'base64'\n * - `ignoreUnknown` {true|*false} ignore unknown object types\n * - `replacer` optional function that replaces values before hashing\n * - `respectFunctionProperties` {*true|false} consider function properties when hashing\n * - `respectFunctionNames` {*true|false} consider 'name' property of functions for hashing\n * - `respectType` {*true|false} Respect special properties (prototype, constructor)\n * when hashing to distinguish between types\n * - `unorderedArrays` {true|*false} Sort all arrays before hashing\n * - `unorderedSets` {*true|false} Sort `Set` and `Map` instances before hashing\n * * = default\n *\n * @param {object} object value to hash\n * @param {object} options hashing options\n * @return {string} hash value\n * @api public\n */\nexports = module.exports = objectHash;\n\nfunction objectHash(object, options){\n options = applyDefaults(object, options);\n\n return hash(object, options);\n}\n\n/**\n * Exported sugar methods\n *\n * @param {object} object value to hash\n * @return {string} hash value\n * @api public\n */\nexports.sha1 = function(object){\n return objectHash(object);\n};\nexports.keys = function(object){\n return objectHash(object, {excludeValues: true, algorithm: 'sha1', encoding: 'hex'});\n};\nexports.MD5 = function(object){\n return objectHash(object, {algorithm: 'md5', encoding: 'hex'});\n};\nexports.keysMD5 = function(object){\n return objectHash(object, {algorithm: 'md5', encoding: 'hex', excludeValues: true});\n};\n\n// Internals\nvar hashes = crypto.getHashes ? crypto.getHashes().slice() : ['sha1', 'md5'];\nhashes.push('passthrough');\nvar encodings = ['buffer', 'hex', 'binary', 'base64'];\n\nfunction applyDefaults(object, sourceOptions){\n sourceOptions = sourceOptions || {};\n\n // create a copy rather than mutating\n var options = {};\n options.algorithm = sourceOptions.algorithm || 'sha1';\n options.encoding = sourceOptions.encoding || 'hex';\n options.excludeValues = sourceOptions.excludeValues ? true : false;\n options.algorithm = options.algorithm.toLowerCase();\n options.encoding = options.encoding.toLowerCase();\n options.ignoreUnknown = sourceOptions.ignoreUnknown !== true ? false : true; // default to false\n options.respectType = sourceOptions.respectType === false ? false : true; // default to true\n options.respectFunctionNames = sourceOptions.respectFunctionNames === false ? false : true;\n options.respectFunctionProperties = sourceOptions.respectFunctionProperties === false ? false : true;\n options.unorderedArrays = sourceOptions.unorderedArrays !== true ? false : true; // default to false\n options.unorderedSets = sourceOptions.unorderedSets === false ? false : true; // default to false\n options.unorderedObjects = sourceOptions.unorderedObjects === false ? false : true; // default to true\n options.replacer = sourceOptions.replacer || undefined;\n options.excludeKeys = sourceOptions.excludeKeys || undefined;\n\n if(typeof object === 'undefined') {\n throw new Error('Object argument required.');\n }\n\n // if there is a case-insensitive match in the hashes list, accept it\n // (i.e. SHA256 for sha256)\n for (var i = 0; i < hashes.length; ++i) {\n if (hashes[i].toLowerCase() === options.algorithm.toLowerCase()) {\n options.algorithm = hashes[i];\n }\n }\n\n if(hashes.indexOf(options.algorithm) === -1){\n throw new Error('Algorithm \"' + options.algorithm + '\" not supported. ' +\n 'supported values: ' + hashes.join(', '));\n }\n\n if(encodings.indexOf(options.encoding) === -1 &&\n options.algorithm !== 'passthrough'){\n throw new Error('Encoding \"' + options.encoding + '\" not supported. ' +\n 'supported values: ' + encodings.join(', '));\n }\n\n return options;\n}\n\n/** Check if the given function is a native function */\nfunction isNativeFunction(f) {\n if ((typeof f) !== 'function') {\n return false;\n }\n var exp = /^function\\s+\\w*\\s*\\(\\s*\\)\\s*{\\s+\\[native code\\]\\s+}$/i;\n return exp.exec(Function.prototype.toString.call(f)) != null;\n}\n\nfunction hash(object, options) {\n var hashingStream;\n\n if (options.algorithm !== 'passthrough') {\n hashingStream = crypto.createHash(options.algorithm);\n } else {\n hashingStream = new PassThrough();\n }\n\n if (typeof hashingStream.write === 'undefined') {\n hashingStream.write = hashingStream.update;\n hashingStream.end = hashingStream.update;\n }\n\n var hasher = typeHasher(options, hashingStream);\n hasher.dispatch(object);\n if (!hashingStream.update) {\n hashingStream.end('');\n }\n\n if (hashingStream.digest) {\n return hashingStream.digest(options.encoding === 'buffer' ? undefined : options.encoding);\n }\n\n var buf = hashingStream.read();\n if (options.encoding === 'buffer') {\n return buf;\n }\n\n return buf.toString(options.encoding);\n}\n\n/**\n * Expose streaming API\n *\n * @param {object} object Value to serialize\n * @param {object} options Options, as for hash()\n * @param {object} stream A stream to write the serializiation to\n * @api public\n */\nexports.writeToStream = function(object, options, stream) {\n if (typeof stream === 'undefined') {\n stream = options;\n options = {};\n }\n\n options = applyDefaults(object, options);\n\n return typeHasher(options, stream).dispatch(object);\n};\n\nfunction typeHasher(options, writeTo, context){\n context = context || [];\n var write = function(str) {\n if (writeTo.update) {\n return writeTo.update(str, 'utf8');\n } else {\n return writeTo.write(str, 'utf8');\n }\n };\n\n return {\n dispatch: function(value){\n if (options.replacer) {\n value = options.replacer(value);\n }\n\n var type = typeof value;\n if (value === null) {\n type = 'null';\n }\n\n //console.log(\"[DEBUG] Dispatch: \", value, \"->\", type, \" -> \", \"_\" + type);\n\n return this['_' + type](value);\n },\n _object: function(object) {\n var pattern = (/\\[object (.*)\\]/i);\n var objString = Object.prototype.toString.call(object);\n var objType = pattern.exec(objString);\n if (!objType) { // object type did not match [object ...]\n objType = 'unknown:[' + objString + ']';\n } else {\n objType = objType[1]; // take only the class name\n }\n\n objType = objType.toLowerCase();\n\n var objectNumber = null;\n\n if ((objectNumber = context.indexOf(object)) >= 0) {\n return this.dispatch('[CIRCULAR:' + objectNumber + ']');\n } else {\n context.push(object);\n }\n\n if (typeof Buffer !== 'undefined' && Buffer.isBuffer && Buffer.isBuffer(object)) {\n write('buffer:');\n return write(object);\n }\n\n if(objType !== 'object' && objType !== 'function' && objType !== 'asyncfunction') {\n if(this['_' + objType]) {\n this['_' + objType](object);\n } else if (options.ignoreUnknown) {\n return write('[' + objType + ']');\n } else {\n throw new Error('Unknown object type \"' + objType + '\"');\n }\n }else{\n var keys = Object.keys(object);\n if (options.unorderedObjects) {\n keys = keys.sort();\n }\n // Make sure to incorporate special properties, so\n // Types with different prototypes will produce\n // a different hash and objects derived from\n // different functions (`new Foo`, `new Bar`) will\n // produce different hashes.\n // We never do this for native functions since some\n // seem to break because of that.\n if (options.respectType !== false && !isNativeFunction(object)) {\n keys.splice(0, 0, 'prototype', '__proto__', 'constructor');\n }\n\n if (options.excludeKeys) {\n keys = keys.filter(function(key) { return !options.excludeKeys(key); });\n }\n\n write('object:' + keys.length + ':');\n var self = this;\n return keys.forEach(function(key){\n self.dispatch(key);\n write(':');\n if(!options.excludeValues) {\n self.dispatch(object[key]);\n }\n write(',');\n });\n }\n },\n _array: function(arr, unordered){\n unordered = typeof unordered !== 'undefined' ? unordered :\n options.unorderedArrays !== false; // default to options.unorderedArrays\n\n var self = this;\n write('array:' + arr.length + ':');\n if (!unordered || arr.length <= 1) {\n return arr.forEach(function(entry) {\n return self.dispatch(entry);\n });\n }\n\n // the unordered case is a little more complicated:\n // since there is no canonical ordering on objects,\n // i.e. {a:1} < {a:2} and {a:1} > {a:2} are both false,\n // we first serialize each entry using a PassThrough stream\n // before sorting.\n // also: we can\u2019t use the same context array for all entries\n // since the order of hashing should *not* matter. instead,\n // we keep track of the additions to a copy of the context array\n // and add all of them to the global context array when we\u2019re done\n var contextAdditions = [];\n var entries = arr.map(function(entry) {\n var strm = new PassThrough();\n var localContext = context.slice(); // make copy\n var hasher = typeHasher(options, strm, localContext);\n hasher.dispatch(entry);\n // take only what was added to localContext and append it to contextAdditions\n contextAdditions = contextAdditions.concat(localContext.slice(context.length));\n return strm.read().toString();\n });\n context = context.concat(contextAdditions);\n entries.sort();\n return this._array(entries, false);\n },\n _date: function(date){\n return write('date:' + date.toJSON());\n },\n _symbol: function(sym){\n return write('symbol:' + sym.toString());\n },\n _error: function(err){\n return write('error:' + err.toString());\n },\n _boolean: function(bool){\n return write('bool:' + bool.toString());\n },\n _string: function(string){\n write('string:' + string.length + ':');\n write(string.toString());\n },\n _function: function(fn){\n write('fn:');\n if (isNativeFunction(fn)) {\n this.dispatch('[native]');\n } else {\n this.dispatch(fn.toString());\n }\n\n if (options.respectFunctionNames !== false) {\n // Make sure we can still distinguish native functions\n // by their name, otherwise String and Function will\n // have the same hash\n this.dispatch(\"function-name:\" + String(fn.name));\n }\n\n if (options.respectFunctionProperties) {\n this._object(fn);\n }\n },\n _number: function(number){\n return write('number:' + number.toString());\n },\n _xml: function(xml){\n return write('xml:' + xml.toString());\n },\n _null: function() {\n return write('Null');\n },\n _undefined: function() {\n return write('Undefined');\n },\n _regexp: function(regex){\n return write('regex:' + regex.toString());\n },\n _uint8array: function(arr){\n write('uint8array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint8clampedarray: function(arr){\n write('uint8clampedarray:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int8array: function(arr){\n write('int8array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint16array: function(arr){\n write('uint16array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int16array: function(arr){\n write('int16array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint32array: function(arr){\n write('uint32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int32array: function(arr){\n write('int32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _float32array: function(arr){\n write('float32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _float64array: function(arr){\n write('float64array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _arraybuffer: function(arr){\n write('arraybuffer:');\n return this.dispatch(new Uint8Array(arr));\n },\n _url: function(url) {\n return write('url:' + url.toString(), 'utf8');\n },\n _map: function(map) {\n write('map:');\n var arr = Array.from(map);\n return this._array(arr, options.unorderedSets !== false);\n },\n _set: function(set) {\n write('set:');\n var arr = Array.from(set);\n return this._array(arr, options.unorderedSets !== false);\n },\n _file: function(file) {\n write('file:');\n return this.dispatch([file.name, file.size, file.type, file.lastModfied]);\n },\n _blob: function() {\n if (options.ignoreUnknown) {\n return write('[blob]');\n }\n\n throw Error('Hashing Blob objects is currently not supported\\n' +\n '(see https://github.com/puleos/object-hash/issues/26)\\n' +\n 'Use \"options.replacer\" or \"options.ignoreUnknown\"\\n');\n },\n _domwindow: function() { return write('domwindow'); },\n _bigint: function(number){\n return write('bigint:' + number.toString());\n },\n /* Node.js standard native objects */\n _process: function() { return write('process'); },\n _timer: function() { return write('timer'); },\n _pipe: function() { return write('pipe'); },\n _tcp: function() { return write('tcp'); },\n _udp: function() { return write('udp'); },\n _tty: function() { return write('tty'); },\n _statwatcher: function() { return write('statwatcher'); },\n _securecontext: function() { return write('securecontext'); },\n _connection: function() { return write('connection'); },\n _zlib: function() { return write('zlib'); },\n _context: function() { return write('context'); },\n _nodescript: function() { return write('nodescript'); },\n _httpparser: function() { return write('httpparser'); },\n _dataview: function() { return write('dataview'); },\n _signal: function() { return write('signal'); },\n _fsevent: function() { return write('fsevent'); },\n _tlswrap: function() { return write('tlswrap'); },\n };\n}\n\n// Mini-implementation of stream.PassThrough\n// We are far from having need for the full implementation, and we can\n// make assumptions like \"many writes, then only one final read\"\n// and we can ignore encoding specifics\nfunction PassThrough() {\n return {\n buf: '',\n\n write: function(b) {\n this.buf += b;\n },\n\n end: function(b) {\n this.buf += b;\n },\n\n read: function() {\n return this.buf;\n }\n };\n}\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useCachedPromise = void 0;\nconst react_1 = require(\"react\");\nconst object_hash_1 = __importDefault(require(\"object-hash\"));\nconst useCachedState_1 = require(\"./useCachedState\");\nconst usePromise_1 = require(\"./usePromise\");\nconst useLatest_1 = require(\"./useLatest\");\n// Symbol to differentiate an empty cache from `undefined`\nconst emptyCache = Symbol();\nfunction useCachedPromise(fn, args, options) {\n const { initialData, keepPreviousData, ...usePromiseOptions } = options || {};\n const lastUpdateFrom = (0, react_1.useRef)();\n const [cachedData, mutateCache] = (0, useCachedState_1.useCachedState)((0, object_hash_1.default)(args || []), emptyCache, {\n cacheNamespace: (0, object_hash_1.default)(fn),\n });\n // Use a ref to store previous returned data. Use the inital data as its inital value from the cache.\n const laggyDataRef = (0, react_1.useRef)(cachedData !== emptyCache ? cachedData : initialData);\n const { mutate: _mutate, revalidate, ...state\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } = (0, usePromise_1.usePromise)(fn, args || [], {\n ...usePromiseOptions,\n onData(data) {\n if (usePromiseOptions.onData) {\n usePromiseOptions.onData(data);\n }\n // update the cache when we fetch new values\n lastUpdateFrom.current = \"promise\";\n laggyDataRef.current = data;\n mutateCache(data);\n },\n });\n // data returned if there are no special cases\n const data = cachedData !== emptyCache ? cachedData : initialData;\n const returnedData = \n // if the latest update if from the Promise, we keep it\n lastUpdateFrom.current === \"promise\"\n ? laggyDataRef.current\n : // if we want to keep the latest data, we pick the cache but only if it's not empty\n keepPreviousData\n ? cachedData !== emptyCache\n ? cachedData\n : // if the cache is empty, we will return the previous data\n laggyDataRef.current\n : data;\n const latestData = (0, useLatest_1.useLatest)(returnedData);\n // we rewrite the mutate function to update the cache instead\n const mutate = (0, react_1.useCallback)(async (asyncUpdate, options) => {\n let dataBeforeOptimisticUpdate;\n try {\n if (options?.optimisticUpdate) {\n if (typeof options?.rollbackOnError !== \"function\" && options?.rollbackOnError !== false) {\n // keep track of the data before the optimistic update,\n // but only if we need it (eg. only when we want to automatically rollback after)\n dataBeforeOptimisticUpdate = structuredClone(latestData.current);\n }\n const data = options.optimisticUpdate(latestData.current);\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = data;\n mutateCache(data);\n }\n return await _mutate(asyncUpdate, { shouldRevalidateAfter: options?.shouldRevalidateAfter });\n }\n catch (err) {\n if (typeof options?.rollbackOnError === \"function\") {\n const data = options.rollbackOnError(latestData.current);\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = data;\n mutateCache(data);\n }\n else if (options?.optimisticUpdate && options?.rollbackOnError !== false) {\n lastUpdateFrom.current = \"cache\";\n // @ts-expect-error when undefined, it's expected\n laggyDataRef.current = dataBeforeOptimisticUpdate;\n // @ts-expect-error when undefined, it's expected\n mutateCache(dataBeforeOptimisticUpdate);\n }\n throw err;\n }\n }, [mutateCache, _mutate, latestData, laggyDataRef, lastUpdateFrom]);\n (0, react_1.useEffect)(() => {\n if (cachedData !== emptyCache) {\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = cachedData;\n }\n }, [cachedData]);\n return {\n data: returnedData,\n isLoading: state.isLoading,\n error: state.error,\n mutate,\n revalidate,\n };\n}\nexports.useCachedPromise = useCachedPromise;\n", "/*!\n * media-typer\n * Copyright(c) 2014-2017 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * RegExp to match type in RFC 6838\n *\n * type-name = restricted-name\n * subtype-name = restricted-name\n * restricted-name = restricted-name-first *126restricted-name-chars\n * restricted-name-first = ALPHA / DIGIT\n * restricted-name-chars = ALPHA / DIGIT / \"!\" / \"#\" /\n * \"$\" / \"&\" / \"-\" / \"^\" / \"_\"\n * restricted-name-chars =/ \".\" ; Characters before first dot always\n * ; specify a facet name\n * restricted-name-chars =/ \"+\" ; Characters after last plus always\n * ; specify a structured syntax suffix\n * ALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n * DIGIT = %x30-39 ; 0-9\n */\nvar SUBTYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/\nvar TYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/\nvar TYPE_REGEXP = /^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/\n\n/**\n * Module exports.\n */\n\nexports.format = format\nexports.parse = parse\nexports.test = test\n\n/**\n * Format object to media type.\n *\n * @param {object} obj\n * @return {string}\n * @public\n */\n\nfunction format (obj) {\n if (!obj || typeof obj !== 'object') {\n throw new TypeError('argument obj is required')\n }\n\n var subtype = obj.subtype\n var suffix = obj.suffix\n var type = obj.type\n\n if (!type || !TYPE_NAME_REGEXP.test(type)) {\n throw new TypeError('invalid type')\n }\n\n if (!subtype || !SUBTYPE_NAME_REGEXP.test(subtype)) {\n throw new TypeError('invalid subtype')\n }\n\n // format as type/subtype\n var string = type + '/' + subtype\n\n // append +suffix\n if (suffix) {\n if (!TYPE_NAME_REGEXP.test(suffix)) {\n throw new TypeError('invalid suffix')\n }\n\n string += '+' + suffix\n }\n\n return string\n}\n\n/**\n * Test media type.\n *\n * @param {string} string\n * @return {object}\n * @public\n */\n\nfunction test (string) {\n if (!string) {\n throw new TypeError('argument string is required')\n }\n\n if (typeof string !== 'string') {\n throw new TypeError('argument string is required to be a string')\n }\n\n return TYPE_REGEXP.test(string.toLowerCase())\n}\n\n/**\n * Parse media type to object.\n *\n * @param {string} string\n * @return {object}\n * @public\n */\n\nfunction parse (string) {\n if (!string) {\n throw new TypeError('argument string is required')\n }\n\n if (typeof string !== 'string') {\n throw new TypeError('argument string is required to be a string')\n }\n\n var match = TYPE_REGEXP.exec(string.toLowerCase())\n\n if (!match) {\n throw new TypeError('invalid media type')\n }\n\n var type = match[1]\n var subtype = match[2]\n var suffix\n\n // suffix after last +\n var index = subtype.lastIndexOf('+')\n if (index !== -1) {\n suffix = subtype.substr(index + 1)\n subtype = subtype.substr(0, index)\n }\n\n return new MediaType(type, subtype, suffix)\n}\n\n/**\n * Class for MediaType object.\n * @public\n */\n\nfunction MediaType (type, subtype, suffix) {\n this.type = type\n this.subtype = subtype\n this.suffix = suffix\n}\n", "/*!\n * content-type\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * RegExp to match *( \";\" parameter ) in RFC 7231 sec 3.1.1.1\n *\n * parameter = token \"=\" ( token / quoted-string )\n * token = 1*tchar\n * tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" / \"*\"\n * / \"+\" / \"-\" / \".\" / \"^\" / \"_\" / \"`\" / \"|\" / \"~\"\n * / DIGIT / ALPHA\n * ; any VCHAR, except delimiters\n * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE\n * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text\n * obs-text = %x80-FF\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n */\nvar PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *(\"(?:[\\u000b\\u0020\\u0021\\u0023-\\u005b\\u005d-\\u007e\\u0080-\\u00ff]|\\\\[\\u000b\\u0020-\\u00ff])*\"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g // eslint-disable-line no-control-regex\nvar TEXT_REGEXP = /^[\\u000b\\u0020-\\u007e\\u0080-\\u00ff]+$/ // eslint-disable-line no-control-regex\nvar TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/\n\n/**\n * RegExp to match quoted-pair in RFC 7230 sec 3.2.6\n *\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n * obs-text = %x80-FF\n */\nvar QESC_REGEXP = /\\\\([\\u000b\\u0020-\\u00ff])/g // eslint-disable-line no-control-regex\n\n/**\n * RegExp to match chars that must be quoted-pair in RFC 7230 sec 3.2.6\n */\nvar QUOTE_REGEXP = /([\\\\\"])/g\n\n/**\n * RegExp to match type in RFC 7231 sec 3.1.1.1\n *\n * media-type = type \"/\" subtype\n * type = token\n * subtype = token\n */\nvar TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/\n\n/**\n * Module exports.\n * @public\n */\n\nexports.format = format\nexports.parse = parse\n\n/**\n * Format object to media type.\n *\n * @param {object} obj\n * @return {string}\n * @public\n */\n\nfunction format (obj) {\n if (!obj || typeof obj !== 'object') {\n throw new TypeError('argument obj is required')\n }\n\n var parameters = obj.parameters\n var type = obj.type\n\n if (!type || !TYPE_REGEXP.test(type)) {\n throw new TypeError('invalid type')\n }\n\n var string = type\n\n // append parameters\n if (parameters && typeof parameters === 'object') {\n var param\n var params = Object.keys(parameters).sort()\n\n for (var i = 0; i < params.length; i++) {\n param = params[i]\n\n if (!TOKEN_REGEXP.test(param)) {\n throw new TypeError('invalid parameter name')\n }\n\n string += '; ' + param + '=' + qstring(parameters[param])\n }\n }\n\n return string\n}\n\n/**\n * Parse media type to object.\n *\n * @param {string|object} string\n * @return {Object}\n * @public\n */\n\nfunction parse (string) {\n if (!string) {\n throw new TypeError('argument string is required')\n }\n\n // support req/res-like objects as argument\n var header = typeof string === 'object'\n ? getcontenttype(string)\n : string\n\n if (typeof header !== 'string') {\n throw new TypeError('argument string is required to be a string')\n }\n\n var index = header.indexOf(';')\n var type = index !== -1\n ? header.slice(0, index).trim()\n : header.trim()\n\n if (!TYPE_REGEXP.test(type)) {\n throw new TypeError('invalid media type')\n }\n\n var obj = new ContentType(type.toLowerCase())\n\n // parse parameters\n if (index !== -1) {\n var key\n var match\n var value\n\n PARAM_REGEXP.lastIndex = index\n\n while ((match = PARAM_REGEXP.exec(header))) {\n if (match.index !== index) {\n throw new TypeError('invalid parameter format')\n }\n\n index += match[0].length\n key = match[1].toLowerCase()\n value = match[2]\n\n if (value.charCodeAt(0) === 0x22 /* \" */) {\n // remove quotes\n value = value.slice(1, -1)\n\n // remove escapes\n if (value.indexOf('\\\\') !== -1) {\n value = value.replace(QESC_REGEXP, '$1')\n }\n }\n\n obj.parameters[key] = value\n }\n\n if (index !== header.length) {\n throw new TypeError('invalid parameter format')\n }\n }\n\n return obj\n}\n\n/**\n * Get content-type from req/res objects.\n *\n * @param {object}\n * @return {Object}\n * @private\n */\n\nfunction getcontenttype (obj) {\n var header\n\n if (typeof obj.getHeader === 'function') {\n // res-like\n header = obj.getHeader('content-type')\n } else if (typeof obj.headers === 'object') {\n // req-like\n header = obj.headers && obj.headers['content-type']\n }\n\n if (typeof header !== 'string') {\n throw new TypeError('content-type header is missing from object')\n }\n\n return header\n}\n\n/**\n * Quote a string if necessary.\n *\n * @param {string} val\n * @return {string}\n * @private\n */\n\nfunction qstring (val) {\n var str = String(val)\n\n // no need to quote tokens\n if (TOKEN_REGEXP.test(str)) {\n return str\n }\n\n if (str.length > 0 && !TEXT_REGEXP.test(str)) {\n throw new TypeError('invalid parameter value')\n }\n\n return '\"' + str.replace(QUOTE_REGEXP, '\\\\$1') + '\"'\n}\n\n/**\n * Class to represent a content type.\n * @private\n */\nfunction ContentType (type) {\n this.parameters = Object.create(null)\n this.type = type\n}\n", "\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n", "\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n", "[[[0,44],\"disallowed_STD3_valid\"],[[45,46],\"valid\"],[[47,47],\"disallowed_STD3_valid\"],[[48,57],\"valid\"],[[58,64],\"disallowed_STD3_valid\"],[[65,65],\"mapped\",[97]],[[66,66],\"mapped\",[98]],[[67,67],\"mapped\",[99]],[[68,68],\"mapped\",[100]],[[69,69],\"mapped\",[101]],[[70,70],\"mapped\",[102]],[[71,71],\"mapped\",[103]],[[72,72],\"mapped\",[104]],[[73,73],\"mapped\",[105]],[[74,74],\"mapped\",[106]],[[75,75],\"mapped\",[107]],[[76,76],\"mapped\",[108]],[[77,77],\"mapped\",[109]],[[78,78],\"mapped\",[110]],[[79,79],\"mapped\",[111]],[[80,80],\"mapped\",[112]],[[81,81],\"mapped\",[113]],[[82,82],\"mapped\",[114]],[[83,83],\"mapped\",[115]],[[84,84],\"mapped\",[116]],[[85,85],\"mapped\",[117]],[[86,86],\"mapped\",[118]],[[87,87],\"mapped\",[119]],[[88,88],\"mapped\",[120]],[[89,89],\"mapped\",[121]],[[90,90],\"mapped\",[122]],[[91,96],\"disallowed_STD3_valid\"],[[97,122],\"valid\"],[[123,127],\"disallowed_STD3_valid\"],[[128,159],\"disallowed\"],[[160,160],\"disallowed_STD3_mapped\",[32]],[[161,167],\"valid\",[],\"NV8\"],[[168,168],\"disallowed_STD3_mapped\",[32,776]],[[169,169],\"valid\",[],\"NV8\"],[[170,170],\"mapped\",[97]],[[171,172],\"valid\",[],\"NV8\"],[[173,173],\"ignored\"],[[174,174],\"valid\",[],\"NV8\"],[[175,175],\"disallowed_STD3_mapped\",[32,772]],[[176,177],\"valid\",[],\"NV8\"],[[178,178],\"mapped\",[50]],[[179,179],\"mapped\",[51]],[[180,180],\"disallowed_STD3_mapped\",[32,769]],[[181,181],\"mapped\",[956]],[[182,182],\"valid\",[],\"NV8\"],[[183,183],\"valid\"],[[184,184],\"disallowed_STD3_mapped\",[32,807]],[[185,185],\"mapped\",[49]],[[186,186],\"mapped\",[111]],[[187,187],\"valid\",[],\"NV8\"],[[188,188],\"mapped\",[49,8260,52]],[[189,189],\"mapped\",[49,8260,50]],[[190,190],\"mapped\",[51,8260,52]],[[191,191],\"valid\",[],\"NV8\"],[[192,192],\"mapped\",[224]],[[193,193],\"mapped\",[225]],[[194,194],\"mapped\",[226]],[[195,195],\"mapped\",[227]],[[196,196],\"mapped\",[228]],[[197,197],\"mapped\",[229]],[[198,198],\"mapped\",[230]],[[199,199],\"mapped\",[231]],[[200,200],\"mapped\",[232]],[[201,201],\"mapped\",[233]],[[202,202],\"mapped\",[234]],[[203,203],\"mapped\",[235]],[[204,204],\"mapped\",[236]],[[205,205],\"mapped\",[237]],[[206,206],\"mapped\",[238]],[[207,207],\"mapped\",[239]],[[208,208],\"mapped\",[240]],[[209,209],\"mapped\",[241]],[[210,210],\"mapped\",[242]],[[211,211],\"mapped\",[243]],[[212,212],\"mapped\",[244]],[[213,213],\"mapped\",[245]],[[214,214],\"mapped\",[246]],[[215,215],\"valid\",[],\"NV8\"],[[216,216],\"mapped\",[248]],[[217,217],\"mapped\",[249]],[[218,218],\"mapped\",[250]],[[219,219],\"mapped\",[251]],[[220,220],\"mapped\",[252]],[[221,221],\"mapped\",[253]],[[222,222],\"mapped\",[254]],[[223,223],\"deviation\",[115,115]],[[224,246],\"valid\"],[[247,247],\"valid\",[],\"NV8\"],[[248,255],\"valid\"],[[256,256],\"mapped\",[257]],[[257,257],\"valid\"],[[258,258],\"mapped\",[259]],[[259,259],\"valid\"],[[260,260],\"mapped\",[261]],[[261,261],\"valid\"],[[262,262],\"mapped\",[263]],[[263,263],\"valid\"],[[264,264],\"mapped\",[265]],[[265,265],\"valid\"],[[266,266],\"mapped\",[267]],[[267,267],\"valid\"],[[268,268],\"mapped\",[269]],[[269,269],\"valid\"],[[270,270],\"mapped\",[271]],[[271,271],\"valid\"],[[272,272],\"mapped\",[273]],[[273,273],\"valid\"],[[274,274],\"mapped\",[275]],[[275,275],\"valid\"],[[276,276],\"mapped\",[277]],[[277,277],\"valid\"],[[278,278],\"mapped\",[279]],[[279,279],\"valid\"],[[280,280],\"mapped\",[281]],[[281,281],\"valid\"],[[282,282],\"mapped\",[283]],[[283,283],\"valid\"],[[284,284],\"mapped\",[285]],[[285,285],\"valid\"],[[286,286],\"mapped\",[287]],[[287,287],\"valid\"],[[288,288],\"mapped\",[289]],[[289,289],\"valid\"],[[290,290],\"mapped\",[291]],[[291,291],\"valid\"],[[292,292],\"mapped\",[293]],[[293,293],\"valid\"],[[294,294],\"mapped\",[295]],[[295,295],\"valid\"],[[296,296],\"mapped\",[297]],[[297,297],\"valid\"],[[298,298],\"mapped\",[299]],[[299,299],\"valid\"],[[300,300],\"mapped\",[301]],[[301,301],\"valid\"],[[302,302],\"mapped\",[303]],[[303,303],\"valid\"],[[304,304],\"mapped\",[105,775]],[[305,305],\"valid\"],[[306,307],\"mapped\",[105,106]],[[308,308],\"mapped\",[309]],[[309,309],\"valid\"],[[310,310],\"mapped\",[311]],[[311,312],\"valid\"],[[313,313],\"mapped\",[314]],[[314,314],\"valid\"],[[315,315],\"mapped\",[316]],[[316,316],\"valid\"],[[317,317],\"mapped\",[318]],[[318,318],\"valid\"],[[319,320],\"mapped\",[108,183]],[[321,321],\"mapped\",[322]],[[322,322],\"valid\"],[[323,323],\"mapped\",[324]],[[324,324],\"valid\"],[[325,325],\"mapped\",[326]],[[326,326],\"valid\"],[[327,327],\"mapped\",[328]],[[328,328],\"valid\"],[[329,329],\"mapped\",[700,110]],[[330,330],\"mapped\",[331]],[[331,331],\"valid\"],[[332,332],\"mapped\",[333]],[[333,333],\"valid\"],[[334,334],\"mapped\",[335]],[[335,335],\"valid\"],[[336,336],\"mapped\",[337]],[[337,337],\"valid\"],[[338,338],\"mapped\",[339]],[[339,339],\"valid\"],[[340,340],\"mapped\",[341]],[[341,341],\"valid\"],[[342,342],\"mapped\",[343]],[[343,343],\"valid\"],[[344,344],\"mapped\",[345]],[[345,345],\"valid\"],[[346,346],\"mapped\",[347]],[[347,347],\"valid\"],[[348,348],\"mapped\",[349]],[[349,349],\"valid\"],[[350,350],\"mapped\",[351]],[[351,351],\"valid\"],[[352,352],\"mapped\",[353]],[[353,353],\"valid\"],[[354,354],\"mapped\",[355]],[[355,355],\"valid\"],[[356,356],\"mapped\",[357]],[[357,357],\"valid\"],[[358,358],\"mapped\",[359]],[[359,359],\"valid\"],[[360,360],\"mapped\",[361]],[[361,361],\"valid\"],[[362,362],\"mapped\",[363]],[[363,363],\"valid\"],[[364,364],\"mapped\",[365]],[[365,365],\"valid\"],[[366,366],\"mapped\",[367]],[[367,367],\"valid\"],[[368,368],\"mapped\",[369]],[[369,369],\"valid\"],[[370,370],\"mapped\",[371]],[[371,371],\"valid\"],[[372,372],\"mapped\",[373]],[[373,373],\"valid\"],[[374,374],\"mapped\",[375]],[[375,375],\"valid\"],[[376,376],\"mapped\",[255]],[[377,377],\"mapped\",[378]],[[378,378],\"valid\"],[[379,379],\"mapped\",[380]],[[380,380],\"valid\"],[[381,381],\"mapped\",[382]],[[382,382],\"valid\"],[[383,383],\"mapped\",[115]],[[384,384],\"valid\"],[[385,385],\"mapped\",[595]],[[386,386],\"mapped\",[387]],[[387,387],\"valid\"],[[388,388],\"mapped\",[389]],[[389,389],\"valid\"],[[390,390],\"mapped\",[596]],[[391,391],\"mapped\",[392]],[[392,392],\"valid\"],[[393,393],\"mapped\",[598]],[[394,394],\"mapped\",[599]],[[395,395],\"mapped\",[396]],[[396,397],\"valid\"],[[398,398],\"mapped\",[477]],[[399,399],\"mapped\",[601]],[[400,400],\"mapped\",[603]],[[401,401],\"mapped\",[402]],[[402,402],\"valid\"],[[403,403],\"mapped\",[608]],[[404,404],\"mapped\",[611]],[[405,405],\"valid\"],[[406,406],\"mapped\",[617]],[[407,407],\"mapped\",[616]],[[408,408],\"mapped\",[409]],[[409,411],\"valid\"],[[412,412],\"mapped\",[623]],[[413,413],\"mapped\",[626]],[[414,414],\"valid\"],[[415,415],\"mapped\",[629]],[[416,416],\"mapped\",[417]],[[417,417],\"valid\"],[[418,418],\"mapped\",[419]],[[419,419],\"valid\"],[[420,420],\"mapped\",[421]],[[421,421],\"valid\"],[[422,422],\"mapped\",[640]],[[423,423],\"mapped\",[424]],[[424,424],\"valid\"],[[425,425],\"mapped\",[643]],[[426,427],\"valid\"],[[428,428],\"mapped\",[429]],[[429,429],\"valid\"],[[430,430],\"mapped\",[648]],[[431,431],\"mapped\",[432]],[[432,432],\"valid\"],[[433,433],\"mapped\",[650]],[[434,434],\"mapped\",[651]],[[435,435],\"mapped\",[436]],[[436,436],\"valid\"],[[437,437],\"mapped\",[438]],[[438,438],\"valid\"],[[439,439],\"mapped\",[658]],[[440,440],\"mapped\",[441]],[[441,443],\"valid\"],[[444,444],\"mapped\",[445]],[[445,451],\"valid\"],[[452,454],\"mapped\",[100,382]],[[455,457],\"mapped\",[108,106]],[[458,460],\"mapped\",[110,106]],[[461,461],\"mapped\",[462]],[[462,462],\"valid\"],[[463,463],\"mapped\",[464]],[[464,464],\"valid\"],[[465,465],\"mapped\",[466]],[[466,466],\"valid\"],[[467,467],\"mapped\",[468]],[[468,468],\"valid\"],[[469,469],\"mapped\",[470]],[[470,470],\"valid\"],[[471,471],\"mapped\",[472]],[[472,472],\"valid\"],[[473,473],\"mapped\",[474]],[[474,474],\"valid\"],[[475,475],\"mapped\",[476]],[[476,477],\"valid\"],[[478,478],\"mapped\",[479]],[[479,479],\"valid\"],[[480,480],\"mapped\",[481]],[[481,481],\"valid\"],[[482,482],\"mapped\",[483]],[[483,483],\"valid\"],[[484,484],\"mapped\",[485]],[[485,485],\"valid\"],[[486,486],\"mapped\",[487]],[[487,487],\"valid\"],[[488,488],\"mapped\",[489]],[[489,489],\"valid\"],[[490,490],\"mapped\",[491]],[[491,491],\"valid\"],[[492,492],\"mapped\",[493]],[[493,493],\"valid\"],[[494,494],\"mapped\",[495]],[[495,496],\"valid\"],[[497,499],\"mapped\",[100,122]],[[500,500],\"mapped\",[501]],[[501,501],\"valid\"],[[502,502],\"mapped\",[405]],[[503,503],\"mapped\",[447]],[[504,504],\"mapped\",[505]],[[505,505],\"valid\"],[[506,506],\"mapped\",[507]],[[507,507],\"valid\"],[[508,508],\"mapped\",[509]],[[509,509],\"valid\"],[[510,510],\"mapped\",[511]],[[511,511],\"valid\"],[[512,512],\"mapped\",[513]],[[513,513],\"valid\"],[[514,514],\"mapped\",[515]],[[515,515],\"valid\"],[[516,516],\"mapped\",[517]],[[517,517],\"valid\"],[[518,518],\"mapped\",[519]],[[519,519],\"valid\"],[[520,520],\"mapped\",[521]],[[521,521],\"valid\"],[[522,522],\"mapped\",[523]],[[523,523],\"valid\"],[[524,524],\"mapped\",[525]],[[525,525],\"valid\"],[[526,526],\"mapped\",[527]],[[527,527],\"valid\"],[[528,528],\"mapped\",[529]],[[529,529],\"valid\"],[[530,530],\"mapped\",[531]],[[531,531],\"valid\"],[[532,532],\"mapped\",[533]],[[533,533],\"valid\"],[[534,534],\"mapped\",[535]],[[535,535],\"valid\"],[[536,536],\"mapped\",[537]],[[537,537],\"valid\"],[[538,538],\"mapped\",[539]],[[539,539],\"valid\"],[[540,540],\"mapped\",[541]],[[541,541],\"valid\"],[[542,542],\"mapped\",[543]],[[543,543],\"valid\"],[[544,544],\"mapped\",[414]],[[545,545],\"valid\"],[[546,546],\"mapped\",[547]],[[547,547],\"valid\"],[[548,548],\"mapped\",[549]],[[549,549],\"valid\"],[[550,550],\"mapped\",[551]],[[551,551],\"valid\"],[[552,552],\"mapped\",[553]],[[553,553],\"valid\"],[[554,554],\"mapped\",[555]],[[555,555],\"valid\"],[[556,556],\"mapped\",[557]],[[557,557],\"valid\"],[[558,558],\"mapped\",[559]],[[559,559],\"valid\"],[[560,560],\"mapped\",[561]],[[561,561],\"valid\"],[[562,562],\"mapped\",[563]],[[563,563],\"valid\"],[[564,566],\"valid\"],[[567,569],\"valid\"],[[570,570],\"mapped\",[11365]],[[571,571],\"mapped\",[572]],[[572,572],\"valid\"],[[573,573],\"mapped\",[410]],[[574,574],\"mapped\",[11366]],[[575,576],\"valid\"],[[577,577],\"mapped\",[578]],[[578,578],\"valid\"],[[579,579],\"mapped\",[384]],[[580,580],\"mapped\",[649]],[[581,581],\"mapped\",[652]],[[582,582],\"mapped\",[583]],[[583,583],\"valid\"],[[584,584],\"mapped\",[585]],[[585,585],\"valid\"],[[586,586],\"mapped\",[587]],[[587,587],\"valid\"],[[588,588],\"mapped\",[589]],[[589,589],\"valid\"],[[590,590],\"mapped\",[591]],[[591,591],\"valid\"],[[592,680],\"valid\"],[[681,685],\"valid\"],[[686,687],\"valid\"],[[688,688],\"mapped\",[104]],[[689,689],\"mapped\",[614]],[[690,690],\"mapped\",[106]],[[691,691],\"mapped\",[114]],[[692,692],\"mapped\",[633]],[[693,693],\"mapped\",[635]],[[694,694],\"mapped\",[641]],[[695,695],\"mapped\",[119]],[[696,696],\"mapped\",[121]],[[697,705],\"valid\"],[[706,709],\"valid\",[],\"NV8\"],[[710,721],\"valid\"],[[722,727],\"valid\",[],\"NV8\"],[[728,728],\"disallowed_STD3_mapped\",[32,774]],[[729,729],\"disallowed_STD3_mapped\",[32,775]],[[730,730],\"disallowed_STD3_mapped\",[32,778]],[[731,731],\"disallowed_STD3_mapped\",[32,808]],[[732,732],\"disallowed_STD3_mapped\",[32,771]],[[733,733],\"disallowed_STD3_mapped\",[32,779]],[[734,734],\"valid\",[],\"NV8\"],[[735,735],\"valid\",[],\"NV8\"],[[736,736],\"mapped\",[611]],[[737,737],\"mapped\",[108]],[[738,738],\"mapped\",[115]],[[739,739],\"mapped\",[120]],[[740,740],\"mapped\",[661]],[[741,745],\"valid\",[],\"NV8\"],[[746,747],\"valid\",[],\"NV8\"],[[748,748],\"valid\"],[[749,749],\"valid\",[],\"NV8\"],[[750,750],\"valid\"],[[751,767],\"valid\",[],\"NV8\"],[[768,831],\"valid\"],[[832,832],\"mapped\",[768]],[[833,833],\"mapped\",[769]],[[834,834],\"valid\"],[[835,835],\"mapped\",[787]],[[836,836],\"mapped\",[776,769]],[[837,837],\"mapped\",[953]],[[838,846],\"valid\"],[[847,847],\"ignored\"],[[848,855],\"valid\"],[[856,860],\"valid\"],[[861,863],\"valid\"],[[864,865],\"valid\"],[[866,866],\"valid\"],[[867,879],\"valid\"],[[880,880],\"mapped\",[881]],[[881,881],\"valid\"],[[882,882],\"mapped\",[883]],[[883,883],\"valid\"],[[884,884],\"mapped\",[697]],[[885,885],\"valid\"],[[886,886],\"mapped\",[887]],[[887,887],\"valid\"],[[888,889],\"disallowed\"],[[890,890],\"disallowed_STD3_mapped\",[32,953]],[[891,893],\"valid\"],[[894,894],\"disallowed_STD3_mapped\",[59]],[[895,895],\"mapped\",[1011]],[[896,899],\"disallowed\"],[[900,900],\"disallowed_STD3_mapped\",[32,769]],[[901,901],\"disallowed_STD3_mapped\",[32,776,769]],[[902,902],\"mapped\",[940]],[[903,903],\"mapped\",[183]],[[904,904],\"mapped\",[941]],[[905,905],\"mapped\",[942]],[[906,906],\"mapped\",[943]],[[907,907],\"disallowed\"],[[908,908],\"mapped\",[972]],[[909,909],\"disallowed\"],[[910,910],\"mapped\",[973]],[[911,911],\"mapped\",[974]],[[912,912],\"valid\"],[[913,913],\"mapped\",[945]],[[914,914],\"mapped\",[946]],[[915,915],\"mapped\",[947]],[[916,916],\"mapped\",[948]],[[917,917],\"mapped\",[949]],[[918,918],\"mapped\",[950]],[[919,919],\"mapped\",[951]],[[920,920],\"mapped\",[952]],[[921,921],\"mapped\",[953]],[[922,922],\"mapped\",[954]],[[923,923],\"mapped\",[955]],[[924,924],\"mapped\",[956]],[[925,925],\"mapped\",[957]],[[926,926],\"mapped\",[958]],[[927,927],\"mapped\",[959]],[[928,928],\"mapped\",[960]],[[929,929],\"mapped\",[961]],[[930,930],\"disallowed\"],[[931,931],\"mapped\",[963]],[[932,932],\"mapped\",[964]],[[933,933],\"mapped\",[965]],[[934,934],\"mapped\",[966]],[[935,935],\"mapped\",[967]],[[936,936],\"mapped\",[968]],[[937,937],\"mapped\",[969]],[[938,938],\"mapped\",[970]],[[939,939],\"mapped\",[971]],[[940,961],\"valid\"],[[962,962],\"deviation\",[963]],[[963,974],\"valid\"],[[975,975],\"mapped\",[983]],[[976,976],\"mapped\",[946]],[[977,977],\"mapped\",[952]],[[978,978],\"mapped\",[965]],[[979,979],\"mapped\",[973]],[[980,980],\"mapped\",[971]],[[981,981],\"mapped\",[966]],[[982,982],\"mapped\",[960]],[[983,983],\"valid\"],[[984,984],\"mapped\",[985]],[[985,985],\"valid\"],[[986,986],\"mapped\",[987]],[[987,987],\"valid\"],[[988,988],\"mapped\",[989]],[[989,989],\"valid\"],[[990,990],\"mapped\",[991]],[[991,991],\"valid\"],[[992,992],\"mapped\",[993]],[[993,993],\"valid\"],[[994,994],\"mapped\",[995]],[[995,995],\"valid\"],[[996,996],\"mapped\",[997]],[[997,997],\"valid\"],[[998,998],\"mapped\",[999]],[[999,999],\"valid\"],[[1000,1000],\"mapped\",[1001]],[[1001,1001],\"valid\"],[[1002,1002],\"mapped\",[1003]],[[1003,1003],\"valid\"],[[1004,1004],\"mapped\",[1005]],[[1005,1005],\"valid\"],[[1006,1006],\"mapped\",[1007]],[[1007,1007],\"valid\"],[[1008,1008],\"mapped\",[954]],[[1009,1009],\"mapped\",[961]],[[1010,1010],\"mapped\",[963]],[[1011,1011],\"valid\"],[[1012,1012],\"mapped\",[952]],[[1013,1013],\"mapped\",[949]],[[1014,1014],\"valid\",[],\"NV8\"],[[1015,1015],\"mapped\",[1016]],[[1016,1016],\"valid\"],[[1017,1017],\"mapped\",[963]],[[1018,1018],\"mapped\",[1019]],[[1019,1019],\"valid\"],[[1020,1020],\"valid\"],[[1021,1021],\"mapped\",[891]],[[1022,1022],\"mapped\",[892]],[[1023,1023],\"mapped\",[893]],[[1024,1024],\"mapped\",[1104]],[[1025,1025],\"mapped\",[1105]],[[1026,1026],\"mapped\",[1106]],[[1027,1027],\"mapped\",[1107]],[[1028,1028],\"mapped\",[1108]],[[1029,1029],\"mapped\",[1109]],[[1030,1030],\"mapped\",[1110]],[[1031,1031],\"mapped\",[1111]],[[1032,1032],\"mapped\",[1112]],[[1033,1033],\"mapped\",[1113]],[[1034,1034],\"mapped\",[1114]],[[1035,1035],\"mapped\",[1115]],[[1036,1036],\"mapped\",[1116]],[[1037,1037],\"mapped\",[1117]],[[1038,1038],\"mapped\",[1118]],[[1039,1039],\"mapped\",[1119]],[[1040,1040],\"mapped\",[1072]],[[1041,1041],\"mapped\",[1073]],[[1042,1042],\"mapped\",[1074]],[[1043,1043],\"mapped\",[1075]],[[1044,1044],\"mapped\",[1076]],[[1045,1045],\"mapped\",[1077]],[[1046,1046],\"mapped\",[1078]],[[1047,1047],\"mapped\",[1079]],[[1048,1048],\"mapped\",[1080]],[[1049,1049],\"mapped\",[1081]],[[1050,1050],\"mapped\",[1082]],[[1051,1051],\"mapped\",[1083]],[[1052,1052],\"mapped\",[1084]],[[1053,1053],\"mapped\",[1085]],[[1054,1054],\"mapped\",[1086]],[[1055,1055],\"mapped\",[1087]],[[1056,1056],\"mapped\",[1088]],[[1057,1057],\"mapped\",[1089]],[[1058,1058],\"mapped\",[1090]],[[1059,1059],\"mapped\",[1091]],[[1060,1060],\"mapped\",[1092]],[[1061,1061],\"mapped\",[1093]],[[1062,1062],\"mapped\",[1094]],[[1063,1063],\"mapped\",[1095]],[[1064,1064],\"mapped\",[1096]],[[1065,1065],\"mapped\",[1097]],[[1066,1066],\"mapped\",[1098]],[[1067,1067],\"mapped\",[1099]],[[1068,1068],\"mapped\",[1100]],[[1069,1069],\"mapped\",[1101]],[[1070,1070],\"mapped\",[1102]],[[1071,1071],\"mapped\",[1103]],[[1072,1103],\"valid\"],[[1104,1104],\"valid\"],[[1105,1116],\"valid\"],[[1117,1117],\"valid\"],[[1118,1119],\"valid\"],[[1120,1120],\"mapped\",[1121]],[[1121,1121],\"valid\"],[[1122,1122],\"mapped\",[1123]],[[1123,1123],\"valid\"],[[1124,1124],\"mapped\",[1125]],[[1125,1125],\"valid\"],[[1126,1126],\"mapped\",[1127]],[[1127,1127],\"valid\"],[[1128,1128],\"mapped\",[1129]],[[1129,1129],\"valid\"],[[1130,1130],\"mapped\",[1131]],[[1131,1131],\"valid\"],[[1132,1132],\"mapped\",[1133]],[[1133,1133],\"valid\"],[[1134,1134],\"mapped\",[1135]],[[1135,1135],\"valid\"],[[1136,1136],\"mapped\",[1137]],[[1137,1137],\"valid\"],[[1138,1138],\"mapped\",[1139]],[[1139,1139],\"valid\"],[[1140,1140],\"mapped\",[1141]],[[1141,1141],\"valid\"],[[1142,1142],\"mapped\",[1143]],[[1143,1143],\"valid\"],[[1144,1144],\"mapped\",[1145]],[[1145,1145],\"valid\"],[[1146,1146],\"mapped\",[1147]],[[1147,1147],\"valid\"],[[1148,1148],\"mapped\",[1149]],[[1149,1149],\"valid\"],[[1150,1150],\"mapped\",[1151]],[[1151,1151],\"valid\"],[[1152,1152],\"mapped\",[1153]],[[1153,1153],\"valid\"],[[1154,1154],\"valid\",[],\"NV8\"],[[1155,1158],\"valid\"],[[1159,1159],\"valid\"],[[1160,1161],\"valid\",[],\"NV8\"],[[1162,1162],\"mapped\",[1163]],[[1163,1163],\"valid\"],[[1164,1164],\"mapped\",[1165]],[[1165,1165],\"valid\"],[[1166,1166],\"mapped\",[1167]],[[1167,1167],\"valid\"],[[1168,1168],\"mapped\",[1169]],[[1169,1169],\"valid\"],[[1170,1170],\"mapped\",[1171]],[[1171,1171],\"valid\"],[[1172,1172],\"mapped\",[1173]],[[1173,1173],\"valid\"],[[1174,1174],\"mapped\",[1175]],[[1175,1175],\"valid\"],[[1176,1176],\"mapped\",[1177]],[[1177,1177],\"valid\"],[[1178,1178],\"mapped\",[1179]],[[1179,1179],\"valid\"],[[1180,1180],\"mapped\",[1181]],[[1181,1181],\"valid\"],[[1182,1182],\"mapped\",[1183]],[[1183,1183],\"valid\"],[[1184,1184],\"mapped\",[1185]],[[1185,1185],\"valid\"],[[1186,1186],\"mapped\",[1187]],[[1187,1187],\"valid\"],[[1188,1188],\"mapped\",[1189]],[[1189,1189],\"valid\"],[[1190,1190],\"mapped\",[1191]],[[1191,1191],\"valid\"],[[1192,1192],\"mapped\",[1193]],[[1193,1193],\"valid\"],[[1194,1194],\"mapped\",[1195]],[[1195,1195],\"valid\"],[[1196,1196],\"mapped\",[1197]],[[1197,1197],\"valid\"],[[1198,1198],\"mapped\",[1199]],[[1199,1199],\"valid\"],[[1200,1200],\"mapped\",[1201]],[[1201,1201],\"valid\"],[[1202,1202],\"mapped\",[1203]],[[1203,1203],\"valid\"],[[1204,1204],\"mapped\",[1205]],[[1205,1205],\"valid\"],[[1206,1206],\"mapped\",[1207]],[[1207,1207],\"valid\"],[[1208,1208],\"mapped\",[1209]],[[1209,1209],\"valid\"],[[1210,1210],\"mapped\",[1211]],[[1211,1211],\"valid\"],[[1212,1212],\"mapped\",[1213]],[[1213,1213],\"valid\"],[[1214,1214],\"mapped\",[1215]],[[1215,1215],\"valid\"],[[1216,1216],\"disallowed\"],[[1217,1217],\"mapped\",[1218]],[[1218,1218],\"valid\"],[[1219,1219],\"mapped\",[1220]],[[1220,1220],\"valid\"],[[1221,1221],\"mapped\",[1222]],[[1222,1222],\"valid\"],[[1223,1223],\"mapped\",[1224]],[[1224,1224],\"valid\"],[[1225,1225],\"mapped\",[1226]],[[1226,1226],\"valid\"],[[1227,1227],\"mapped\",[1228]],[[1228,1228],\"valid\"],[[1229,1229],\"mapped\",[1230]],[[1230,1230],\"valid\"],[[1231,1231],\"valid\"],[[1232,1232],\"mapped\",[1233]],[[1233,1233],\"valid\"],[[1234,1234],\"mapped\",[1235]],[[1235,1235],\"valid\"],[[1236,1236],\"mapped\",[1237]],[[1237,1237],\"valid\"],[[1238,1238],\"mapped\",[1239]],[[1239,1239],\"valid\"],[[1240,1240],\"mapped\",[1241]],[[1241,1241],\"valid\"],[[1242,1242],\"mapped\",[1243]],[[1243,1243],\"valid\"],[[1244,1244],\"mapped\",[1245]],[[1245,1245],\"valid\"],[[1246,1246],\"mapped\",[1247]],[[1247,1247],\"valid\"],[[1248,1248],\"mapped\",[1249]],[[1249,1249],\"valid\"],[[1250,1250],\"mapped\",[1251]],[[1251,1251],\"valid\"],[[1252,1252],\"mapped\",[1253]],[[1253,1253],\"valid\"],[[1254,1254],\"mapped\",[1255]],[[1255,1255],\"valid\"],[[1256,1256],\"mapped\",[1257]],[[1257,1257],\"valid\"],[[1258,1258],\"mapped\",[1259]],[[1259,1259],\"valid\"],[[1260,1260],\"mapped\",[1261]],[[1261,1261],\"valid\"],[[1262,1262],\"mapped\",[1263]],[[1263,1263],\"valid\"],[[1264,1264],\"mapped\",[1265]],[[1265,1265],\"valid\"],[[1266,1266],\"mapped\",[1267]],[[1267,1267],\"valid\"],[[1268,1268],\"mapped\",[1269]],[[1269,1269],\"valid\"],[[1270,1270],\"mapped\",[1271]],[[1271,1271],\"valid\"],[[1272,1272],\"mapped\",[1273]],[[1273,1273],\"valid\"],[[1274,1274],\"mapped\",[1275]],[[1275,1275],\"valid\"],[[1276,1276],\"mapped\",[1277]],[[1277,1277],\"valid\"],[[1278,1278],\"mapped\",[1279]],[[1279,1279],\"valid\"],[[1280,1280],\"mapped\",[1281]],[[1281,1281],\"valid\"],[[1282,1282],\"mapped\",[1283]],[[1283,1283],\"valid\"],[[1284,1284],\"mapped\",[1285]],[[1285,1285],\"valid\"],[[1286,1286],\"mapped\",[1287]],[[1287,1287],\"valid\"],[[1288,1288],\"mapped\",[1289]],[[1289,1289],\"valid\"],[[1290,1290],\"mapped\",[1291]],[[1291,1291],\"valid\"],[[1292,1292],\"mapped\",[1293]],[[1293,1293],\"valid\"],[[1294,1294],\"mapped\",[1295]],[[1295,1295],\"valid\"],[[1296,1296],\"mapped\",[1297]],[[1297,1297],\"valid\"],[[1298,1298],\"mapped\",[1299]],[[1299,1299],\"valid\"],[[1300,1300],\"mapped\",[1301]],[[1301,1301],\"valid\"],[[1302,1302],\"mapped\",[1303]],[[1303,1303],\"valid\"],[[1304,1304],\"mapped\",[1305]],[[1305,1305],\"valid\"],[[1306,1306],\"mapped\",[1307]],[[1307,1307],\"valid\"],[[1308,1308],\"mapped\",[1309]],[[1309,1309],\"valid\"],[[1310,1310],\"mapped\",[1311]],[[1311,1311],\"valid\"],[[1312,1312],\"mapped\",[1313]],[[1313,1313],\"valid\"],[[1314,1314],\"mapped\",[1315]],[[1315,1315],\"valid\"],[[1316,1316],\"mapped\",[1317]],[[1317,1317],\"valid\"],[[1318,1318],\"mapped\",[1319]],[[1319,1319],\"valid\"],[[1320,1320],\"mapped\",[1321]],[[1321,1321],\"valid\"],[[1322,1322],\"mapped\",[1323]],[[1323,1323],\"valid\"],[[1324,1324],\"mapped\",[1325]],[[1325,1325],\"valid\"],[[1326,1326],\"mapped\",[1327]],[[1327,1327],\"valid\"],[[1328,1328],\"disallowed\"],[[1329,1329],\"mapped\",[1377]],[[1330,1330],\"mapped\",[1378]],[[1331,1331],\"mapped\",[1379]],[[1332,1332],\"mapped\",[1380]],[[1333,1333],\"mapped\",[1381]],[[1334,1334],\"mapped\",[1382]],[[1335,1335],\"mapped\",[1383]],[[1336,1336],\"mapped\",[1384]],[[1337,1337],\"mapped\",[1385]],[[1338,1338],\"mapped\",[1386]],[[1339,1339],\"mapped\",[1387]],[[1340,1340],\"mapped\",[1388]],[[1341,1341],\"mapped\",[1389]],[[1342,1342],\"mapped\",[1390]],[[1343,1343],\"mapped\",[1391]],[[1344,1344],\"mapped\",[1392]],[[1345,1345],\"mapped\",[1393]],[[1346,1346],\"mapped\",[1394]],[[1347,1347],\"mapped\",[1395]],[[1348,1348],\"mapped\",[1396]],[[1349,1349],\"mapped\",[1397]],[[1350,1350],\"mapped\",[1398]],[[1351,1351],\"mapped\",[1399]],[[1352,1352],\"mapped\",[1400]],[[1353,1353],\"mapped\",[1401]],[[1354,1354],\"mapped\",[1402]],[[1355,1355],\"mapped\",[1403]],[[1356,1356],\"mapped\",[1404]],[[1357,1357],\"mapped\",[1405]],[[1358,1358],\"mapped\",[1406]],[[1359,1359],\"mapped\",[1407]],[[1360,1360],\"mapped\",[1408]],[[1361,1361],\"mapped\",[1409]],[[1362,1362],\"mapped\",[1410]],[[1363,1363],\"mapped\",[1411]],[[1364,1364],\"mapped\",[1412]],[[1365,1365],\"mapped\",[1413]],[[1366,1366],\"mapped\",[1414]],[[1367,1368],\"disallowed\"],[[1369,1369],\"valid\"],[[1370,1375],\"valid\",[],\"NV8\"],[[1376,1376],\"disallowed\"],[[1377,1414],\"valid\"],[[1415,1415],\"mapped\",[1381,1410]],[[1416,1416],\"disallowed\"],[[1417,1417],\"valid\",[],\"NV8\"],[[1418,1418],\"valid\",[],\"NV8\"],[[1419,1420],\"disallowed\"],[[1421,1422],\"valid\",[],\"NV8\"],[[1423,1423],\"valid\",[],\"NV8\"],[[1424,1424],\"disallowed\"],[[1425,1441],\"valid\"],[[1442,1442],\"valid\"],[[1443,1455],\"valid\"],[[1456,1465],\"valid\"],[[1466,1466],\"valid\"],[[1467,1469],\"valid\"],[[1470,1470],\"valid\",[],\"NV8\"],[[1471,1471],\"valid\"],[[1472,1472],\"valid\",[],\"NV8\"],[[1473,1474],\"valid\"],[[1475,1475],\"valid\",[],\"NV8\"],[[1476,1476],\"valid\"],[[1477,1477],\"valid\"],[[1478,1478],\"valid\",[],\"NV8\"],[[1479,1479],\"valid\"],[[1480,1487],\"disallowed\"],[[1488,1514],\"valid\"],[[1515,1519],\"disallowed\"],[[1520,1524],\"valid\"],[[1525,1535],\"disallowed\"],[[1536,1539],\"disallowed\"],[[1540,1540],\"disallowed\"],[[1541,1541],\"disallowed\"],[[1542,1546],\"valid\",[],\"NV8\"],[[1547,1547],\"valid\",[],\"NV8\"],[[1548,1548],\"valid\",[],\"NV8\"],[[1549,1551],\"valid\",[],\"NV8\"],[[1552,1557],\"valid\"],[[1558,1562],\"valid\"],[[1563,1563],\"valid\",[],\"NV8\"],[[1564,1564],\"disallowed\"],[[1565,1565],\"disallowed\"],[[1566,1566],\"valid\",[],\"NV8\"],[[1567,1567],\"valid\",[],\"NV8\"],[[1568,1568],\"valid\"],[[1569,1594],\"valid\"],[[1595,1599],\"valid\"],[[1600,1600],\"valid\",[],\"NV8\"],[[1601,1618],\"valid\"],[[1619,1621],\"valid\"],[[1622,1624],\"valid\"],[[1625,1630],\"valid\"],[[1631,1631],\"valid\"],[[1632,1641],\"valid\"],[[1642,1645],\"valid\",[],\"NV8\"],[[1646,1647],\"valid\"],[[1648,1652],\"valid\"],[[1653,1653],\"mapped\",[1575,1652]],[[1654,1654],\"mapped\",[1608,1652]],[[1655,1655],\"mapped\",[1735,1652]],[[1656,1656],\"mapped\",[1610,1652]],[[1657,1719],\"valid\"],[[1720,1721],\"valid\"],[[1722,1726],\"valid\"],[[1727,1727],\"valid\"],[[1728,1742],\"valid\"],[[1743,1743],\"valid\"],[[1744,1747],\"valid\"],[[1748,1748],\"valid\",[],\"NV8\"],[[1749,1756],\"valid\"],[[1757,1757],\"disallowed\"],[[1758,1758],\"valid\",[],\"NV8\"],[[1759,1768],\"valid\"],[[1769,1769],\"valid\",[],\"NV8\"],[[1770,1773],\"valid\"],[[1774,1775],\"valid\"],[[1776,1785],\"valid\"],[[1786,1790],\"valid\"],[[1791,1791],\"valid\"],[[1792,1805],\"valid\",[],\"NV8\"],[[1806,1806],\"disallowed\"],[[1807,1807],\"disallowed\"],[[1808,1836],\"valid\"],[[1837,1839],\"valid\"],[[1840,1866],\"valid\"],[[1867,1868],\"disallowed\"],[[1869,1871],\"valid\"],[[1872,1901],\"valid\"],[[1902,1919],\"valid\"],[[1920,1968],\"valid\"],[[1969,1969],\"valid\"],[[1970,1983],\"disallowed\"],[[1984,2037],\"valid\"],[[2038,2042],\"valid\",[],\"NV8\"],[[2043,2047],\"disallowed\"],[[2048,2093],\"valid\"],[[2094,2095],\"disallowed\"],[[2096,2110],\"valid\",[],\"NV8\"],[[2111,2111],\"disallowed\"],[[2112,2139],\"valid\"],[[2140,2141],\"disallowed\"],[[2142,2142],\"valid\",[],\"NV8\"],[[2143,2207],\"disallowed\"],[[2208,2208],\"valid\"],[[2209,2209],\"valid\"],[[2210,2220],\"valid\"],[[2221,2226],\"valid\"],[[2227,2228],\"valid\"],[[2229,2274],\"disallowed\"],[[2275,2275],\"valid\"],[[2276,2302],\"valid\"],[[2303,2303],\"valid\"],[[2304,2304],\"valid\"],[[2305,2307],\"valid\"],[[2308,2308],\"valid\"],[[2309,2361],\"valid\"],[[2362,2363],\"valid\"],[[2364,2381],\"valid\"],[[2382,2382],\"valid\"],[[2383,2383],\"valid\"],[[2384,2388],\"valid\"],[[2389,2389],\"valid\"],[[2390,2391],\"valid\"],[[2392,2392],\"mapped\",[2325,2364]],[[2393,2393],\"mapped\",[2326,2364]],[[2394,2394],\"mapped\",[2327,2364]],[[2395,2395],\"mapped\",[2332,2364]],[[2396,2396],\"mapped\",[2337,2364]],[[2397,2397],\"mapped\",[2338,2364]],[[2398,2398],\"mapped\",[2347,2364]],[[2399,2399],\"mapped\",[2351,2364]],[[2400,2403],\"valid\"],[[2404,2405],\"valid\",[],\"NV8\"],[[2406,2415],\"valid\"],[[2416,2416],\"valid\",[],\"NV8\"],[[2417,2418],\"valid\"],[[2419,2423],\"valid\"],[[2424,2424],\"valid\"],[[2425,2426],\"valid\"],[[2427,2428],\"valid\"],[[2429,2429],\"valid\"],[[2430,2431],\"valid\"],[[2432,2432],\"valid\"],[[2433,2435],\"valid\"],[[2436,2436],\"disallowed\"],[[2437,2444],\"valid\"],[[2445,2446],\"disallowed\"],[[2447,2448],\"valid\"],[[2449,2450],\"disallowed\"],[[2451,2472],\"valid\"],[[2473,2473],\"disallowed\"],[[2474,2480],\"valid\"],[[2481,2481],\"disallowed\"],[[2482,2482],\"valid\"],[[2483,2485],\"disallowed\"],[[2486,2489],\"valid\"],[[2490,2491],\"disallowed\"],[[2492,2492],\"valid\"],[[2493,2493],\"valid\"],[[2494,2500],\"valid\"],[[2501,2502],\"disallowed\"],[[2503,2504],\"valid\"],[[2505,2506],\"disallowed\"],[[2507,2509],\"valid\"],[[2510,2510],\"valid\"],[[2511,2518],\"disallowed\"],[[2519,2519],\"valid\"],[[2520,2523],\"disallowed\"],[[2524,2524],\"mapped\",[2465,2492]],[[2525,2525],\"mapped\",[2466,2492]],[[2526,2526],\"disallowed\"],[[2527,2527],\"mapped\",[2479,2492]],[[2528,2531],\"valid\"],[[2532,2533],\"disallowed\"],[[2534,2545],\"valid\"],[[2546,2554],\"valid\",[],\"NV8\"],[[2555,2555],\"valid\",[],\"NV8\"],[[2556,2560],\"disallowed\"],[[2561,2561],\"valid\"],[[2562,2562],\"valid\"],[[2563,2563],\"valid\"],[[2564,2564],\"disallowed\"],[[2565,2570],\"valid\"],[[2571,2574],\"disallowed\"],[[2575,2576],\"valid\"],[[2577,2578],\"disallowed\"],[[2579,2600],\"valid\"],[[2601,2601],\"disallowed\"],[[2602,2608],\"valid\"],[[2609,2609],\"disallowed\"],[[2610,2610],\"valid\"],[[2611,2611],\"mapped\",[2610,2620]],[[2612,2612],\"disallowed\"],[[2613,2613],\"valid\"],[[2614,2614],\"mapped\",[2616,2620]],[[2615,2615],\"disallowed\"],[[2616,2617],\"valid\"],[[2618,2619],\"disallowed\"],[[2620,2620],\"valid\"],[[2621,2621],\"disallowed\"],[[2622,2626],\"valid\"],[[2627,2630],\"disallowed\"],[[2631,2632],\"valid\"],[[2633,2634],\"disallowed\"],[[2635,2637],\"valid\"],[[2638,2640],\"disallowed\"],[[2641,2641],\"valid\"],[[2642,2648],\"disallowed\"],[[2649,2649],\"mapped\",[2582,2620]],[[2650,2650],\"mapped\",[2583,2620]],[[2651,2651],\"mapped\",[2588,2620]],[[2652,2652],\"valid\"],[[2653,2653],\"disallowed\"],[[2654,2654],\"mapped\",[2603,2620]],[[2655,2661],\"disallowed\"],[[2662,2676],\"valid\"],[[2677,2677],\"valid\"],[[2678,2688],\"disallowed\"],[[2689,2691],\"valid\"],[[2692,2692],\"disallowed\"],[[2693,2699],\"valid\"],[[2700,2700],\"valid\"],[[2701,2701],\"valid\"],[[2702,2702],\"disallowed\"],[[2703,2705],\"valid\"],[[2706,2706],\"disallowed\"],[[2707,2728],\"valid\"],[[2729,2729],\"disallowed\"],[[2730,2736],\"valid\"],[[2737,2737],\"disallowed\"],[[2738,2739],\"valid\"],[[2740,2740],\"disallowed\"],[[2741,2745],\"valid\"],[[2746,2747],\"disallowed\"],[[2748,2757],\"valid\"],[[2758,2758],\"disallowed\"],[[2759,2761],\"valid\"],[[2762,2762],\"disallowed\"],[[2763,2765],\"valid\"],[[2766,2767],\"disallowed\"],[[2768,2768],\"valid\"],[[2769,2783],\"disallowed\"],[[2784,2784],\"valid\"],[[2785,2787],\"valid\"],[[2788,2789],\"disallowed\"],[[2790,2799],\"valid\"],[[2800,2800],\"valid\",[],\"NV8\"],[[2801,2801],\"valid\",[],\"NV8\"],[[2802,2808],\"disallowed\"],[[2809,2809],\"valid\"],[[2810,2816],\"disallowed\"],[[2817,2819],\"valid\"],[[2820,2820],\"disallowed\"],[[2821,2828],\"valid\"],[[2829,2830],\"disallowed\"],[[2831,2832],\"valid\"],[[2833,2834],\"disallowed\"],[[2835,2856],\"valid\"],[[2857,2857],\"disallowed\"],[[2858,2864],\"valid\"],[[2865,2865],\"disallowed\"],[[2866,2867],\"valid\"],[[2868,2868],\"disallowed\"],[[2869,2869],\"valid\"],[[2870,2873],\"valid\"],[[2874,2875],\"disallowed\"],[[2876,2883],\"valid\"],[[2884,2884],\"valid\"],[[2885,2886],\"disallowed\"],[[2887,2888],\"valid\"],[[2889,2890],\"disallowed\"],[[2891,2893],\"valid\"],[[2894,2901],\"disallowed\"],[[2902,2903],\"valid\"],[[2904,2907],\"disallowed\"],[[2908,2908],\"mapped\",[2849,2876]],[[2909,2909],\"mapped\",[2850,2876]],[[2910,2910],\"disallowed\"],[[2911,2913],\"valid\"],[[2914,2915],\"valid\"],[[2916,2917],\"disallowed\"],[[2918,2927],\"valid\"],[[2928,2928],\"valid\",[],\"NV8\"],[[2929,2929],\"valid\"],[[2930,2935],\"valid\",[],\"NV8\"],[[2936,2945],\"disallowed\"],[[2946,2947],\"valid\"],[[2948,2948],\"disallowed\"],[[2949,2954],\"valid\"],[[2955,2957],\"disallowed\"],[[2958,2960],\"valid\"],[[2961,2961],\"disallowed\"],[[2962,2965],\"valid\"],[[2966,2968],\"disallowed\"],[[2969,2970],\"valid\"],[[2971,2971],\"disallowed\"],[[2972,2972],\"valid\"],[[2973,2973],\"disallowed\"],[[2974,2975],\"valid\"],[[2976,2978],\"disallowed\"],[[2979,2980],\"valid\"],[[2981,2983],\"disallowed\"],[[2984,2986],\"valid\"],[[2987,2989],\"disallowed\"],[[2990,2997],\"valid\"],[[2998,2998],\"valid\"],[[2999,3001],\"valid\"],[[3002,3005],\"disallowed\"],[[3006,3010],\"valid\"],[[3011,3013],\"disallowed\"],[[3014,3016],\"valid\"],[[3017,3017],\"disallowed\"],[[3018,3021],\"valid\"],[[3022,3023],\"disallowed\"],[[3024,3024],\"valid\"],[[3025,3030],\"disallowed\"],[[3031,3031],\"valid\"],[[3032,3045],\"disallowed\"],[[3046,3046],\"valid\"],[[3047,3055],\"valid\"],[[3056,3058],\"valid\",[],\"NV8\"],[[3059,3066],\"valid\",[],\"NV8\"],[[3067,3071],\"disallowed\"],[[3072,3072],\"valid\"],[[3073,3075],\"valid\"],[[3076,3076],\"disallowed\"],[[3077,3084],\"valid\"],[[3085,3085],\"disallowed\"],[[3086,3088],\"valid\"],[[3089,3089],\"disallowed\"],[[3090,3112],\"valid\"],[[3113,3113],\"disallowed\"],[[3114,3123],\"valid\"],[[3124,3124],\"valid\"],[[3125,3129],\"valid\"],[[3130,3132],\"disallowed\"],[[3133,3133],\"valid\"],[[3134,3140],\"valid\"],[[3141,3141],\"disallowed\"],[[3142,3144],\"valid\"],[[3145,3145],\"disallowed\"],[[3146,3149],\"valid\"],[[3150,3156],\"disallowed\"],[[3157,3158],\"valid\"],[[3159,3159],\"disallowed\"],[[3160,3161],\"valid\"],[[3162,3162],\"valid\"],[[3163,3167],\"disallowed\"],[[3168,3169],\"valid\"],[[3170,3171],\"valid\"],[[3172,3173],\"disallowed\"],[[3174,3183],\"valid\"],[[3184,3191],\"disallowed\"],[[3192,3199],\"valid\",[],\"NV8\"],[[3200,3200],\"disallowed\"],[[3201,3201],\"valid\"],[[3202,3203],\"valid\"],[[3204,3204],\"disallowed\"],[[3205,3212],\"valid\"],[[3213,3213],\"disallowed\"],[[3214,3216],\"valid\"],[[3217,3217],\"disallowed\"],[[3218,3240],\"valid\"],[[3241,3241],\"disallowed\"],[[3242,3251],\"valid\"],[[3252,3252],\"disallowed\"],[[3253,3257],\"valid\"],[[3258,3259],\"disallowed\"],[[3260,3261],\"valid\"],[[3262,3268],\"valid\"],[[3269,3269],\"disallowed\"],[[3270,3272],\"valid\"],[[3273,3273],\"disallowed\"],[[3274,3277],\"valid\"],[[3278,3284],\"disallowed\"],[[3285,3286],\"valid\"],[[3287,3293],\"disallowed\"],[[3294,3294],\"valid\"],[[3295,3295],\"disallowed\"],[[3296,3297],\"valid\"],[[3298,3299],\"valid\"],[[3300,3301],\"disallowed\"],[[3302,3311],\"valid\"],[[3312,3312],\"disallowed\"],[[3313,3314],\"valid\"],[[3315,3328],\"disallowed\"],[[3329,3329],\"valid\"],[[3330,3331],\"valid\"],[[3332,3332],\"disallowed\"],[[3333,3340],\"valid\"],[[3341,3341],\"disallowed\"],[[3342,3344],\"valid\"],[[3345,3345],\"disallowed\"],[[3346,3368],\"valid\"],[[3369,3369],\"valid\"],[[3370,3385],\"valid\"],[[3386,3386],\"valid\"],[[3387,3388],\"disallowed\"],[[3389,3389],\"valid\"],[[3390,3395],\"valid\"],[[3396,3396],\"valid\"],[[3397,3397],\"disallowed\"],[[3398,3400],\"valid\"],[[3401,3401],\"disallowed\"],[[3402,3405],\"valid\"],[[3406,3406],\"valid\"],[[3407,3414],\"disallowed\"],[[3415,3415],\"valid\"],[[3416,3422],\"disallowed\"],[[3423,3423],\"valid\"],[[3424,3425],\"valid\"],[[3426,3427],\"valid\"],[[3428,3429],\"disallowed\"],[[3430,3439],\"valid\"],[[3440,3445],\"valid\",[],\"NV8\"],[[3446,3448],\"disallowed\"],[[3449,3449],\"valid\",[],\"NV8\"],[[3450,3455],\"valid\"],[[3456,3457],\"disallowed\"],[[3458,3459],\"valid\"],[[3460,3460],\"disallowed\"],[[3461,3478],\"valid\"],[[3479,3481],\"disallowed\"],[[3482,3505],\"valid\"],[[3506,3506],\"disallowed\"],[[3507,3515],\"valid\"],[[3516,3516],\"disallowed\"],[[3517,3517],\"valid\"],[[3518,3519],\"disallowed\"],[[3520,3526],\"valid\"],[[3527,3529],\"disallowed\"],[[3530,3530],\"valid\"],[[3531,3534],\"disallowed\"],[[3535,3540],\"valid\"],[[3541,3541],\"disallowed\"],[[3542,3542],\"valid\"],[[3543,3543],\"disallowed\"],[[3544,3551],\"valid\"],[[3552,3557],\"disallowed\"],[[3558,3567],\"valid\"],[[3568,3569],\"disallowed\"],[[3570,3571],\"valid\"],[[3572,3572],\"valid\",[],\"NV8\"],[[3573,3584],\"disallowed\"],[[3585,3634],\"valid\"],[[3635,3635],\"mapped\",[3661,3634]],[[3636,3642],\"valid\"],[[3643,3646],\"disallowed\"],[[3647,3647],\"valid\",[],\"NV8\"],[[3648,3662],\"valid\"],[[3663,3663],\"valid\",[],\"NV8\"],[[3664,3673],\"valid\"],[[3674,3675],\"valid\",[],\"NV8\"],[[3676,3712],\"disallowed\"],[[3713,3714],\"valid\"],[[3715,3715],\"disallowed\"],[[3716,3716],\"valid\"],[[3717,3718],\"disallowed\"],[[3719,3720],\"valid\"],[[3721,3721],\"disallowed\"],[[3722,3722],\"valid\"],[[3723,3724],\"disallowed\"],[[3725,3725],\"valid\"],[[3726,3731],\"disallowed\"],[[3732,3735],\"valid\"],[[3736,3736],\"disallowed\"],[[3737,3743],\"valid\"],[[3744,3744],\"disallowed\"],[[3745,3747],\"valid\"],[[3748,3748],\"disallowed\"],[[3749,3749],\"valid\"],[[3750,3750],\"disallowed\"],[[3751,3751],\"valid\"],[[3752,3753],\"disallowed\"],[[3754,3755],\"valid\"],[[3756,3756],\"disallowed\"],[[3757,3762],\"valid\"],[[3763,3763],\"mapped\",[3789,3762]],[[3764,3769],\"valid\"],[[3770,3770],\"disallowed\"],[[3771,3773],\"valid\"],[[3774,3775],\"disallowed\"],[[3776,3780],\"valid\"],[[3781,3781],\"disallowed\"],[[3782,3782],\"valid\"],[[3783,3783],\"disallowed\"],[[3784,3789],\"valid\"],[[3790,3791],\"disallowed\"],[[3792,3801],\"valid\"],[[3802,3803],\"disallowed\"],[[3804,3804],\"mapped\",[3755,3737]],[[3805,3805],\"mapped\",[3755,3745]],[[3806,3807],\"valid\"],[[3808,3839],\"disallowed\"],[[3840,3840],\"valid\"],[[3841,3850],\"valid\",[],\"NV8\"],[[3851,3851],\"valid\"],[[3852,3852],\"mapped\",[3851]],[[3853,3863],\"valid\",[],\"NV8\"],[[3864,3865],\"valid\"],[[3866,3871],\"valid\",[],\"NV8\"],[[3872,3881],\"valid\"],[[3882,3892],\"valid\",[],\"NV8\"],[[3893,3893],\"valid\"],[[3894,3894],\"valid\",[],\"NV8\"],[[3895,3895],\"valid\"],[[3896,3896],\"valid\",[],\"NV8\"],[[3897,3897],\"valid\"],[[3898,3901],\"valid\",[],\"NV8\"],[[3902,3906],\"valid\"],[[3907,3907],\"mapped\",[3906,4023]],[[3908,3911],\"valid\"],[[3912,3912],\"disallowed\"],[[3913,3916],\"valid\"],[[3917,3917],\"mapped\",[3916,4023]],[[3918,3921],\"valid\"],[[3922,3922],\"mapped\",[3921,4023]],[[3923,3926],\"valid\"],[[3927,3927],\"mapped\",[3926,4023]],[[3928,3931],\"valid\"],[[3932,3932],\"mapped\",[3931,4023]],[[3933,3944],\"valid\"],[[3945,3945],\"mapped\",[3904,4021]],[[3946,3946],\"valid\"],[[3947,3948],\"valid\"],[[3949,3952],\"disallowed\"],[[3953,3954],\"valid\"],[[3955,3955],\"mapped\",[3953,3954]],[[3956,3956],\"valid\"],[[3957,3957],\"mapped\",[3953,3956]],[[3958,3958],\"mapped\",[4018,3968]],[[3959,3959],\"mapped\",[4018,3953,3968]],[[3960,3960],\"mapped\",[4019,3968]],[[3961,3961],\"mapped\",[4019,3953,3968]],[[3962,3968],\"valid\"],[[3969,3969],\"mapped\",[3953,3968]],[[3970,3972],\"valid\"],[[3973,3973],\"valid\",[],\"NV8\"],[[3974,3979],\"valid\"],[[3980,3983],\"valid\"],[[3984,3986],\"valid\"],[[3987,3987],\"mapped\",[3986,4023]],[[3988,3989],\"valid\"],[[3990,3990],\"valid\"],[[3991,3991],\"valid\"],[[3992,3992],\"disallowed\"],[[3993,3996],\"valid\"],[[3997,3997],\"mapped\",[3996,4023]],[[3998,4001],\"valid\"],[[4002,4002],\"mapped\",[4001,4023]],[[4003,4006],\"valid\"],[[4007,4007],\"mapped\",[4006,4023]],[[4008,4011],\"valid\"],[[4012,4012],\"mapped\",[4011,4023]],[[4013,4013],\"valid\"],[[4014,4016],\"valid\"],[[4017,4023],\"valid\"],[[4024,4024],\"valid\"],[[4025,4025],\"mapped\",[3984,4021]],[[4026,4028],\"valid\"],[[4029,4029],\"disallowed\"],[[4030,4037],\"valid\",[],\"NV8\"],[[4038,4038],\"valid\"],[[4039,4044],\"valid\",[],\"NV8\"],[[4045,4045],\"disallowed\"],[[4046,4046],\"valid\",[],\"NV8\"],[[4047,4047],\"valid\",[],\"NV8\"],[[4048,4049],\"valid\",[],\"NV8\"],[[4050,4052],\"valid\",[],\"NV8\"],[[4053,4056],\"valid\",[],\"NV8\"],[[4057,4058],\"valid\",[],\"NV8\"],[[4059,4095],\"disallowed\"],[[4096,4129],\"valid\"],[[4130,4130],\"valid\"],[[4131,4135],\"valid\"],[[4136,4136],\"valid\"],[[4137,4138],\"valid\"],[[4139,4139],\"valid\"],[[4140,4146],\"valid\"],[[4147,4149],\"valid\"],[[4150,4153],\"valid\"],[[4154,4159],\"valid\"],[[4160,4169],\"valid\"],[[4170,4175],\"valid\",[],\"NV8\"],[[4176,4185],\"valid\"],[[4186,4249],\"valid\"],[[4250,4253],\"valid\"],[[4254,4255],\"valid\",[],\"NV8\"],[[4256,4293],\"disallowed\"],[[4294,4294],\"disallowed\"],[[4295,4295],\"mapped\",[11559]],[[4296,4300],\"disallowed\"],[[4301,4301],\"mapped\",[11565]],[[4302,4303],\"disallowed\"],[[4304,4342],\"valid\"],[[4343,4344],\"valid\"],[[4345,4346],\"valid\"],[[4347,4347],\"valid\",[],\"NV8\"],[[4348,4348],\"mapped\",[4316]],[[4349,4351],\"valid\"],[[4352,4441],\"valid\",[],\"NV8\"],[[4442,4446],\"valid\",[],\"NV8\"],[[4447,4448],\"disallowed\"],[[4449,4514],\"valid\",[],\"NV8\"],[[4515,4519],\"valid\",[],\"NV8\"],[[4520,4601],\"valid\",[],\"NV8\"],[[4602,4607],\"valid\",[],\"NV8\"],[[4608,4614],\"valid\"],[[4615,4615],\"valid\"],[[4616,4678],\"valid\"],[[4679,4679],\"valid\"],[[4680,4680],\"valid\"],[[4681,4681],\"disallowed\"],[[4682,4685],\"valid\"],[[4686,4687],\"disallowed\"],[[4688,4694],\"valid\"],[[4695,4695],\"disallowed\"],[[4696,4696],\"valid\"],[[4697,4697],\"disallowed\"],[[4698,4701],\"valid\"],[[4702,4703],\"disallowed\"],[[4704,4742],\"valid\"],[[4743,4743],\"valid\"],[[4744,4744],\"valid\"],[[4745,4745],\"disallowed\"],[[4746,4749],\"valid\"],[[4750,4751],\"disallowed\"],[[4752,4782],\"valid\"],[[4783,4783],\"valid\"],[[4784,4784],\"valid\"],[[4785,4785],\"disallowed\"],[[4786,4789],\"valid\"],[[4790,4791],\"disallowed\"],[[4792,4798],\"valid\"],[[4799,4799],\"disallowed\"],[[4800,4800],\"valid\"],[[4801,4801],\"disallowed\"],[[4802,4805],\"valid\"],[[4806,4807],\"disallowed\"],[[4808,4814],\"valid\"],[[4815,4815],\"valid\"],[[4816,4822],\"valid\"],[[4823,4823],\"disallowed\"],[[4824,4846],\"valid\"],[[4847,4847],\"valid\"],[[4848,4878],\"valid\"],[[4879,4879],\"valid\"],[[4880,4880],\"valid\"],[[4881,4881],\"disallowed\"],[[4882,4885],\"valid\"],[[4886,4887],\"disallowed\"],[[4888,4894],\"valid\"],[[4895,4895],\"valid\"],[[4896,4934],\"valid\"],[[4935,4935],\"valid\"],[[4936,4954],\"valid\"],[[4955,4956],\"disallowed\"],[[4957,4958],\"valid\"],[[4959,4959],\"valid\"],[[4960,4960],\"valid\",[],\"NV8\"],[[4961,4988],\"valid\",[],\"NV8\"],[[4989,4991],\"disallowed\"],[[4992,5007],\"valid\"],[[5008,5017],\"valid\",[],\"NV8\"],[[5018,5023],\"disallowed\"],[[5024,5108],\"valid\"],[[5109,5109],\"valid\"],[[5110,5111],\"disallowed\"],[[5112,5112],\"mapped\",[5104]],[[5113,5113],\"mapped\",[5105]],[[5114,5114],\"mapped\",[5106]],[[5115,5115],\"mapped\",[5107]],[[5116,5116],\"mapped\",[5108]],[[5117,5117],\"mapped\",[5109]],[[5118,5119],\"disallowed\"],[[5120,5120],\"valid\",[],\"NV8\"],[[5121,5740],\"valid\"],[[5741,5742],\"valid\",[],\"NV8\"],[[5743,5750],\"valid\"],[[5751,5759],\"valid\"],[[5760,5760],\"disallowed\"],[[5761,5786],\"valid\"],[[5787,5788],\"valid\",[],\"NV8\"],[[5789,5791],\"disallowed\"],[[5792,5866],\"valid\"],[[5867,5872],\"valid\",[],\"NV8\"],[[5873,5880],\"valid\"],[[5881,5887],\"disallowed\"],[[5888,5900],\"valid\"],[[5901,5901],\"disallowed\"],[[5902,5908],\"valid\"],[[5909,5919],\"disallowed\"],[[5920,5940],\"valid\"],[[5941,5942],\"valid\",[],\"NV8\"],[[5943,5951],\"disallowed\"],[[5952,5971],\"valid\"],[[5972,5983],\"disallowed\"],[[5984,5996],\"valid\"],[[5997,5997],\"disallowed\"],[[5998,6000],\"valid\"],[[6001,6001],\"disallowed\"],[[6002,6003],\"valid\"],[[6004,6015],\"disallowed\"],[[6016,6067],\"valid\"],[[6068,6069],\"disallowed\"],[[6070,6099],\"valid\"],[[6100,6102],\"valid\",[],\"NV8\"],[[6103,6103],\"valid\"],[[6104,6107],\"valid\",[],\"NV8\"],[[6108,6108],\"valid\"],[[6109,6109],\"valid\"],[[6110,6111],\"disallowed\"],[[6112,6121],\"valid\"],[[6122,6127],\"disallowed\"],[[6128,6137],\"valid\",[],\"NV8\"],[[6138,6143],\"disallowed\"],[[6144,6149],\"valid\",[],\"NV8\"],[[6150,6150],\"disallowed\"],[[6151,6154],\"valid\",[],\"NV8\"],[[6155,6157],\"ignored\"],[[6158,6158],\"disallowed\"],[[6159,6159],\"disallowed\"],[[6160,6169],\"valid\"],[[6170,6175],\"disallowed\"],[[6176,6263],\"valid\"],[[6264,6271],\"disallowed\"],[[6272,6313],\"valid\"],[[6314,6314],\"valid\"],[[6315,6319],\"disallowed\"],[[6320,6389],\"valid\"],[[6390,6399],\"disallowed\"],[[6400,6428],\"valid\"],[[6429,6430],\"valid\"],[[6431,6431],\"disallowed\"],[[6432,6443],\"valid\"],[[6444,6447],\"disallowed\"],[[6448,6459],\"valid\"],[[6460,6463],\"disallowed\"],[[6464,6464],\"valid\",[],\"NV8\"],[[6465,6467],\"disallowed\"],[[6468,6469],\"valid\",[],\"NV8\"],[[6470,6509],\"valid\"],[[6510,6511],\"disallowed\"],[[6512,6516],\"valid\"],[[6517,6527],\"disallowed\"],[[6528,6569],\"valid\"],[[6570,6571],\"valid\"],[[6572,6575],\"disallowed\"],[[6576,6601],\"valid\"],[[6602,6607],\"disallowed\"],[[6608,6617],\"valid\"],[[6618,6618],\"valid\",[],\"XV8\"],[[6619,6621],\"disallowed\"],[[6622,6623],\"valid\",[],\"NV8\"],[[6624,6655],\"valid\",[],\"NV8\"],[[6656,6683],\"valid\"],[[6684,6685],\"disallowed\"],[[6686,6687],\"valid\",[],\"NV8\"],[[6688,6750],\"valid\"],[[6751,6751],\"disallowed\"],[[6752,6780],\"valid\"],[[6781,6782],\"disallowed\"],[[6783,6793],\"valid\"],[[6794,6799],\"disallowed\"],[[6800,6809],\"valid\"],[[6810,6815],\"disallowed\"],[[6816,6822],\"valid\",[],\"NV8\"],[[6823,6823],\"valid\"],[[6824,6829],\"valid\",[],\"NV8\"],[[6830,6831],\"disallowed\"],[[6832,6845],\"valid\"],[[6846,6846],\"valid\",[],\"NV8\"],[[6847,6911],\"disallowed\"],[[6912,6987],\"valid\"],[[6988,6991],\"disallowed\"],[[6992,7001],\"valid\"],[[7002,7018],\"valid\",[],\"NV8\"],[[7019,7027],\"valid\"],[[7028,7036],\"valid\",[],\"NV8\"],[[7037,7039],\"disallowed\"],[[7040,7082],\"valid\"],[[7083,7085],\"valid\"],[[7086,7097],\"valid\"],[[7098,7103],\"valid\"],[[7104,7155],\"valid\"],[[7156,7163],\"disallowed\"],[[7164,7167],\"valid\",[],\"NV8\"],[[7168,7223],\"valid\"],[[7224,7226],\"disallowed\"],[[7227,7231],\"valid\",[],\"NV8\"],[[7232,7241],\"valid\"],[[7242,7244],\"disallowed\"],[[7245,7293],\"valid\"],[[7294,7295],\"valid\",[],\"NV8\"],[[7296,7359],\"disallowed\"],[[7360,7367],\"valid\",[],\"NV8\"],[[7368,7375],\"disallowed\"],[[7376,7378],\"valid\"],[[7379,7379],\"valid\",[],\"NV8\"],[[7380,7410],\"valid\"],[[7411,7414],\"valid\"],[[7415,7415],\"disallowed\"],[[7416,7417],\"valid\"],[[7418,7423],\"disallowed\"],[[7424,7467],\"valid\"],[[7468,7468],\"mapped\",[97]],[[7469,7469],\"mapped\",[230]],[[7470,7470],\"mapped\",[98]],[[7471,7471],\"valid\"],[[7472,7472],\"mapped\",[100]],[[7473,7473],\"mapped\",[101]],[[7474,7474],\"mapped\",[477]],[[7475,7475],\"mapped\",[103]],[[7476,7476],\"mapped\",[104]],[[7477,7477],\"mapped\",[105]],[[7478,7478],\"mapped\",[106]],[[7479,7479],\"mapped\",[107]],[[7480,7480],\"mapped\",[108]],[[7481,7481],\"mapped\",[109]],[[7482,7482],\"mapped\",[110]],[[7483,7483],\"valid\"],[[7484,7484],\"mapped\",[111]],[[7485,7485],\"mapped\",[547]],[[7486,7486],\"mapped\",[112]],[[7487,7487],\"mapped\",[114]],[[7488,7488],\"mapped\",[116]],[[7489,7489],\"mapped\",[117]],[[7490,7490],\"mapped\",[119]],[[7491,7491],\"mapped\",[97]],[[7492,7492],\"mapped\",[592]],[[7493,7493],\"mapped\",[593]],[[7494,7494],\"mapped\",[7426]],[[7495,7495],\"mapped\",[98]],[[7496,7496],\"mapped\",[100]],[[7497,7497],\"mapped\",[101]],[[7498,7498],\"mapped\",[601]],[[7499,7499],\"mapped\",[603]],[[7500,7500],\"mapped\",[604]],[[7501,7501],\"mapped\",[103]],[[7502,7502],\"valid\"],[[7503,7503],\"mapped\",[107]],[[7504,7504],\"mapped\",[109]],[[7505,7505],\"mapped\",[331]],[[7506,7506],\"mapped\",[111]],[[7507,7507],\"mapped\",[596]],[[7508,7508],\"mapped\",[7446]],[[7509,7509],\"mapped\",[7447]],[[7510,7510],\"mapped\",[112]],[[7511,7511],\"mapped\",[116]],[[7512,7512],\"mapped\",[117]],[[7513,7513],\"mapped\",[7453]],[[7514,7514],\"mapped\",[623]],[[7515,7515],\"mapped\",[118]],[[7516,7516],\"mapped\",[7461]],[[7517,7517],\"mapped\",[946]],[[7518,7518],\"mapped\",[947]],[[7519,7519],\"mapped\",[948]],[[7520,7520],\"mapped\",[966]],[[7521,7521],\"mapped\",[967]],[[7522,7522],\"mapped\",[105]],[[7523,7523],\"mapped\",[114]],[[7524,7524],\"mapped\",[117]],[[7525,7525],\"mapped\",[118]],[[7526,7526],\"mapped\",[946]],[[7527,7527],\"mapped\",[947]],[[7528,7528],\"mapped\",[961]],[[7529,7529],\"mapped\",[966]],[[7530,7530],\"mapped\",[967]],[[7531,7531],\"valid\"],[[7532,7543],\"valid\"],[[7544,7544],\"mapped\",[1085]],[[7545,7578],\"valid\"],[[7579,7579],\"mapped\",[594]],[[7580,7580],\"mapped\",[99]],[[7581,7581],\"mapped\",[597]],[[7582,7582],\"mapped\",[240]],[[7583,7583],\"mapped\",[604]],[[7584,7584],\"mapped\",[102]],[[7585,7585],\"mapped\",[607]],[[7586,7586],\"mapped\",[609]],[[7587,7587],\"mapped\",[613]],[[7588,7588],\"mapped\",[616]],[[7589,7589],\"mapped\",[617]],[[7590,7590],\"mapped\",[618]],[[7591,7591],\"mapped\",[7547]],[[7592,7592],\"mapped\",[669]],[[7593,7593],\"mapped\",[621]],[[7594,7594],\"mapped\",[7557]],[[7595,7595],\"mapped\",[671]],[[7596,7596],\"mapped\",[625]],[[7597,7597],\"mapped\",[624]],[[7598,7598],\"mapped\",[626]],[[7599,7599],\"mapped\",[627]],[[7600,7600],\"mapped\",[628]],[[7601,7601],\"mapped\",[629]],[[7602,7602],\"mapped\",[632]],[[7603,7603],\"mapped\",[642]],[[7604,7604],\"mapped\",[643]],[[7605,7605],\"mapped\",[427]],[[7606,7606],\"mapped\",[649]],[[7607,7607],\"mapped\",[650]],[[7608,7608],\"mapped\",[7452]],[[7609,7609],\"mapped\",[651]],[[7610,7610],\"mapped\",[652]],[[7611,7611],\"mapped\",[122]],[[7612,7612],\"mapped\",[656]],[[7613,7613],\"mapped\",[657]],[[7614,7614],\"mapped\",[658]],[[7615,7615],\"mapped\",[952]],[[7616,7619],\"valid\"],[[7620,7626],\"valid\"],[[7627,7654],\"valid\"],[[7655,7669],\"valid\"],[[7670,7675],\"disallowed\"],[[7676,7676],\"valid\"],[[7677,7677],\"valid\"],[[7678,7679],\"valid\"],[[7680,7680],\"mapped\",[7681]],[[7681,7681],\"valid\"],[[7682,7682],\"mapped\",[7683]],[[7683,7683],\"valid\"],[[7684,7684],\"mapped\",[7685]],[[7685,7685],\"valid\"],[[7686,7686],\"mapped\",[7687]],[[7687,7687],\"valid\"],[[7688,7688],\"mapped\",[7689]],[[7689,7689],\"valid\"],[[7690,7690],\"mapped\",[7691]],[[7691,7691],\"valid\"],[[7692,7692],\"mapped\",[7693]],[[7693,7693],\"valid\"],[[7694,7694],\"mapped\",[7695]],[[7695,7695],\"valid\"],[[7696,7696],\"mapped\",[7697]],[[7697,7697],\"valid\"],[[7698,7698],\"mapped\",[7699]],[[7699,7699],\"valid\"],[[7700,7700],\"mapped\",[7701]],[[7701,7701],\"valid\"],[[7702,7702],\"mapped\",[7703]],[[7703,7703],\"valid\"],[[7704,7704],\"mapped\",[7705]],[[7705,7705],\"valid\"],[[7706,7706],\"mapped\",[7707]],[[7707,7707],\"valid\"],[[7708,7708],\"mapped\",[7709]],[[7709,7709],\"valid\"],[[7710,7710],\"mapped\",[7711]],[[7711,7711],\"valid\"],[[7712,7712],\"mapped\",[7713]],[[7713,7713],\"valid\"],[[7714,7714],\"mapped\",[7715]],[[7715,7715],\"valid\"],[[7716,7716],\"mapped\",[7717]],[[7717,7717],\"valid\"],[[7718,7718],\"mapped\",[7719]],[[7719,7719],\"valid\"],[[7720,7720],\"mapped\",[7721]],[[7721,7721],\"valid\"],[[7722,7722],\"mapped\",[7723]],[[7723,7723],\"valid\"],[[7724,7724],\"mapped\",[7725]],[[7725,7725],\"valid\"],[[7726,7726],\"mapped\",[7727]],[[7727,7727],\"valid\"],[[7728,7728],\"mapped\",[7729]],[[7729,7729],\"valid\"],[[7730,7730],\"mapped\",[7731]],[[7731,7731],\"valid\"],[[7732,7732],\"mapped\",[7733]],[[7733,7733],\"valid\"],[[7734,7734],\"mapped\",[7735]],[[7735,7735],\"valid\"],[[7736,7736],\"mapped\",[7737]],[[7737,7737],\"valid\"],[[7738,7738],\"mapped\",[7739]],[[7739,7739],\"valid\"],[[7740,7740],\"mapped\",[7741]],[[7741,7741],\"valid\"],[[7742,7742],\"mapped\",[7743]],[[7743,7743],\"valid\"],[[7744,7744],\"mapped\",[7745]],[[7745,7745],\"valid\"],[[7746,7746],\"mapped\",[7747]],[[7747,7747],\"valid\"],[[7748,7748],\"mapped\",[7749]],[[7749,7749],\"valid\"],[[7750,7750],\"mapped\",[7751]],[[7751,7751],\"valid\"],[[7752,7752],\"mapped\",[7753]],[[7753,7753],\"valid\"],[[7754,7754],\"mapped\",[7755]],[[7755,7755],\"valid\"],[[7756,7756],\"mapped\",[7757]],[[7757,7757],\"valid\"],[[7758,7758],\"mapped\",[7759]],[[7759,7759],\"valid\"],[[7760,7760],\"mapped\",[7761]],[[7761,7761],\"valid\"],[[7762,7762],\"mapped\",[7763]],[[7763,7763],\"valid\"],[[7764,7764],\"mapped\",[7765]],[[7765,7765],\"valid\"],[[7766,7766],\"mapped\",[7767]],[[7767,7767],\"valid\"],[[7768,7768],\"mapped\",[7769]],[[7769,7769],\"valid\"],[[7770,7770],\"mapped\",[7771]],[[7771,7771],\"valid\"],[[7772,7772],\"mapped\",[7773]],[[7773,7773],\"valid\"],[[7774,7774],\"mapped\",[7775]],[[7775,7775],\"valid\"],[[7776,7776],\"mapped\",[7777]],[[7777,7777],\"valid\"],[[7778,7778],\"mapped\",[7779]],[[7779,7779],\"valid\"],[[7780,7780],\"mapped\",[7781]],[[7781,7781],\"valid\"],[[7782,7782],\"mapped\",[7783]],[[7783,7783],\"valid\"],[[7784,7784],\"mapped\",[7785]],[[7785,7785],\"valid\"],[[7786,7786],\"mapped\",[7787]],[[7787,7787],\"valid\"],[[7788,7788],\"mapped\",[7789]],[[7789,7789],\"valid\"],[[7790,7790],\"mapped\",[7791]],[[7791,7791],\"valid\"],[[7792,7792],\"mapped\",[7793]],[[7793,7793],\"valid\"],[[7794,7794],\"mapped\",[7795]],[[7795,7795],\"valid\"],[[7796,7796],\"mapped\",[7797]],[[7797,7797],\"valid\"],[[7798,7798],\"mapped\",[7799]],[[7799,7799],\"valid\"],[[7800,7800],\"mapped\",[7801]],[[7801,7801],\"valid\"],[[7802,7802],\"mapped\",[7803]],[[7803,7803],\"valid\"],[[7804,7804],\"mapped\",[7805]],[[7805,7805],\"valid\"],[[7806,7806],\"mapped\",[7807]],[[7807,7807],\"valid\"],[[7808,7808],\"mapped\",[7809]],[[7809,7809],\"valid\"],[[7810,7810],\"mapped\",[7811]],[[7811,7811],\"valid\"],[[7812,7812],\"mapped\",[7813]],[[7813,7813],\"valid\"],[[7814,7814],\"mapped\",[7815]],[[7815,7815],\"valid\"],[[7816,7816],\"mapped\",[7817]],[[7817,7817],\"valid\"],[[7818,7818],\"mapped\",[7819]],[[7819,7819],\"valid\"],[[7820,7820],\"mapped\",[7821]],[[7821,7821],\"valid\"],[[7822,7822],\"mapped\",[7823]],[[7823,7823],\"valid\"],[[7824,7824],\"mapped\",[7825]],[[7825,7825],\"valid\"],[[7826,7826],\"mapped\",[7827]],[[7827,7827],\"valid\"],[[7828,7828],\"mapped\",[7829]],[[7829,7833],\"valid\"],[[7834,7834],\"mapped\",[97,702]],[[7835,7835],\"mapped\",[7777]],[[7836,7837],\"valid\"],[[7838,7838],\"mapped\",[115,115]],[[7839,7839],\"valid\"],[[7840,7840],\"mapped\",[7841]],[[7841,7841],\"valid\"],[[7842,7842],\"mapped\",[7843]],[[7843,7843],\"valid\"],[[7844,7844],\"mapped\",[7845]],[[7845,7845],\"valid\"],[[7846,7846],\"mapped\",[7847]],[[7847,7847],\"valid\"],[[7848,7848],\"mapped\",[7849]],[[7849,7849],\"valid\"],[[7850,7850],\"mapped\",[7851]],[[7851,7851],\"valid\"],[[7852,7852],\"mapped\",[7853]],[[7853,7853],\"valid\"],[[7854,7854],\"mapped\",[7855]],[[7855,7855],\"valid\"],[[7856,7856],\"mapped\",[7857]],[[7857,7857],\"valid\"],[[7858,7858],\"mapped\",[7859]],[[7859,7859],\"valid\"],[[7860,7860],\"mapped\",[7861]],[[7861,7861],\"valid\"],[[7862,7862],\"mapped\",[7863]],[[7863,7863],\"valid\"],[[7864,7864],\"mapped\",[7865]],[[7865,7865],\"valid\"],[[7866,7866],\"mapped\",[7867]],[[7867,7867],\"valid\"],[[7868,7868],\"mapped\",[7869]],[[7869,7869],\"valid\"],[[7870,7870],\"mapped\",[7871]],[[7871,7871],\"valid\"],[[7872,7872],\"mapped\",[7873]],[[7873,7873],\"valid\"],[[7874,7874],\"mapped\",[7875]],[[7875,7875],\"valid\"],[[7876,7876],\"mapped\",[7877]],[[7877,7877],\"valid\"],[[7878,7878],\"mapped\",[7879]],[[7879,7879],\"valid\"],[[7880,7880],\"mapped\",[7881]],[[7881,7881],\"valid\"],[[7882,7882],\"mapped\",[7883]],[[7883,7883],\"valid\"],[[7884,7884],\"mapped\",[7885]],[[7885,7885],\"valid\"],[[7886,7886],\"mapped\",[7887]],[[7887,7887],\"valid\"],[[7888,7888],\"mapped\",[7889]],[[7889,7889],\"valid\"],[[7890,7890],\"mapped\",[7891]],[[7891,7891],\"valid\"],[[7892,7892],\"mapped\",[7893]],[[7893,7893],\"valid\"],[[7894,7894],\"mapped\",[7895]],[[7895,7895],\"valid\"],[[7896,7896],\"mapped\",[7897]],[[7897,7897],\"valid\"],[[7898,7898],\"mapped\",[7899]],[[7899,7899],\"valid\"],[[7900,7900],\"mapped\",[7901]],[[7901,7901],\"valid\"],[[7902,7902],\"mapped\",[7903]],[[7903,7903],\"valid\"],[[7904,7904],\"mapped\",[7905]],[[7905,7905],\"valid\"],[[7906,7906],\"mapped\",[7907]],[[7907,7907],\"valid\"],[[7908,7908],\"mapped\",[7909]],[[7909,7909],\"valid\"],[[7910,7910],\"mapped\",[7911]],[[7911,7911],\"valid\"],[[7912,7912],\"mapped\",[7913]],[[7913,7913],\"valid\"],[[7914,7914],\"mapped\",[7915]],[[7915,7915],\"valid\"],[[7916,7916],\"mapped\",[7917]],[[7917,7917],\"valid\"],[[7918,7918],\"mapped\",[7919]],[[7919,7919],\"valid\"],[[7920,7920],\"mapped\",[7921]],[[7921,7921],\"valid\"],[[7922,7922],\"mapped\",[7923]],[[7923,7923],\"valid\"],[[7924,7924],\"mapped\",[7925]],[[7925,7925],\"valid\"],[[7926,7926],\"mapped\",[7927]],[[7927,7927],\"valid\"],[[7928,7928],\"mapped\",[7929]],[[7929,7929],\"valid\"],[[7930,7930],\"mapped\",[7931]],[[7931,7931],\"valid\"],[[7932,7932],\"mapped\",[7933]],[[7933,7933],\"valid\"],[[7934,7934],\"mapped\",[7935]],[[7935,7935],\"valid\"],[[7936,7943],\"valid\"],[[7944,7944],\"mapped\",[7936]],[[7945,7945],\"mapped\",[7937]],[[7946,7946],\"mapped\",[7938]],[[7947,7947],\"mapped\",[7939]],[[7948,7948],\"mapped\",[7940]],[[7949,7949],\"mapped\",[7941]],[[7950,7950],\"mapped\",[7942]],[[7951,7951],\"mapped\",[7943]],[[7952,7957],\"valid\"],[[7958,7959],\"disallowed\"],[[7960,7960],\"mapped\",[7952]],[[7961,7961],\"mapped\",[7953]],[[7962,7962],\"mapped\",[7954]],[[7963,7963],\"mapped\",[7955]],[[7964,7964],\"mapped\",[7956]],[[7965,7965],\"mapped\",[7957]],[[7966,7967],\"disallowed\"],[[7968,7975],\"valid\"],[[7976,7976],\"mapped\",[7968]],[[7977,7977],\"mapped\",[7969]],[[7978,7978],\"mapped\",[7970]],[[7979,7979],\"mapped\",[7971]],[[7980,7980],\"mapped\",[7972]],[[7981,7981],\"mapped\",[7973]],[[7982,7982],\"mapped\",[7974]],[[7983,7983],\"mapped\",[7975]],[[7984,7991],\"valid\"],[[7992,7992],\"mapped\",[7984]],[[7993,7993],\"mapped\",[7985]],[[7994,7994],\"mapped\",[7986]],[[7995,7995],\"mapped\",[7987]],[[7996,7996],\"mapped\",[7988]],[[7997,7997],\"mapped\",[7989]],[[7998,7998],\"mapped\",[7990]],[[7999,7999],\"mapped\",[7991]],[[8000,8005],\"valid\"],[[8006,8007],\"disallowed\"],[[8008,8008],\"mapped\",[8000]],[[8009,8009],\"mapped\",[8001]],[[8010,8010],\"mapped\",[8002]],[[8011,8011],\"mapped\",[8003]],[[8012,8012],\"mapped\",[8004]],[[8013,8013],\"mapped\",[8005]],[[8014,8015],\"disallowed\"],[[8016,8023],\"valid\"],[[8024,8024],\"disallowed\"],[[8025,8025],\"mapped\",[8017]],[[8026,8026],\"disallowed\"],[[8027,8027],\"mapped\",[8019]],[[8028,8028],\"disallowed\"],[[8029,8029],\"mapped\",[8021]],[[8030,8030],\"disallowed\"],[[8031,8031],\"mapped\",[8023]],[[8032,8039],\"valid\"],[[8040,8040],\"mapped\",[8032]],[[8041,8041],\"mapped\",[8033]],[[8042,8042],\"mapped\",[8034]],[[8043,8043],\"mapped\",[8035]],[[8044,8044],\"mapped\",[8036]],[[8045,8045],\"mapped\",[8037]],[[8046,8046],\"mapped\",[8038]],[[8047,8047],\"mapped\",[8039]],[[8048,8048],\"valid\"],[[8049,8049],\"mapped\",[940]],[[8050,8050],\"valid\"],[[8051,8051],\"mapped\",[941]],[[8052,8052],\"valid\"],[[8053,8053],\"mapped\",[942]],[[8054,8054],\"valid\"],[[8055,8055],\"mapped\",[943]],[[8056,8056],\"valid\"],[[8057,8057],\"mapped\",[972]],[[8058,8058],\"valid\"],[[8059,8059],\"mapped\",[973]],[[8060,8060],\"valid\"],[[8061,8061],\"mapped\",[974]],[[8062,8063],\"disallowed\"],[[8064,8064],\"mapped\",[7936,953]],[[8065,8065],\"mapped\",[7937,953]],[[8066,8066],\"mapped\",[7938,953]],[[8067,8067],\"mapped\",[7939,953]],[[8068,8068],\"mapped\",[7940,953]],[[8069,8069],\"mapped\",[7941,953]],[[8070,8070],\"mapped\",[7942,953]],[[8071,8071],\"mapped\",[7943,953]],[[8072,8072],\"mapped\",[7936,953]],[[8073,8073],\"mapped\",[7937,953]],[[8074,8074],\"mapped\",[7938,953]],[[8075,8075],\"mapped\",[7939,953]],[[8076,8076],\"mapped\",[7940,953]],[[8077,8077],\"mapped\",[7941,953]],[[8078,8078],\"mapped\",[7942,953]],[[8079,8079],\"mapped\",[7943,953]],[[8080,8080],\"mapped\",[7968,953]],[[8081,8081],\"mapped\",[7969,953]],[[8082,8082],\"mapped\",[7970,953]],[[8083,8083],\"mapped\",[7971,953]],[[8084,8084],\"mapped\",[7972,953]],[[8085,8085],\"mapped\",[7973,953]],[[8086,8086],\"mapped\",[7974,953]],[[8087,8087],\"mapped\",[7975,953]],[[8088,8088],\"mapped\",[7968,953]],[[8089,8089],\"mapped\",[7969,953]],[[8090,8090],\"mapped\",[7970,953]],[[8091,8091],\"mapped\",[7971,953]],[[8092,8092],\"mapped\",[7972,953]],[[8093,8093],\"mapped\",[7973,953]],[[8094,8094],\"mapped\",[7974,953]],[[8095,8095],\"mapped\",[7975,953]],[[8096,8096],\"mapped\",[8032,953]],[[8097,8097],\"mapped\",[8033,953]],[[8098,8098],\"mapped\",[8034,953]],[[8099,8099],\"mapped\",[8035,953]],[[8100,8100],\"mapped\",[8036,953]],[[8101,8101],\"mapped\",[8037,953]],[[8102,8102],\"mapped\",[8038,953]],[[8103,8103],\"mapped\",[8039,953]],[[8104,8104],\"mapped\",[8032,953]],[[8105,8105],\"mapped\",[8033,953]],[[8106,8106],\"mapped\",[8034,953]],[[8107,8107],\"mapped\",[8035,953]],[[8108,8108],\"mapped\",[8036,953]],[[8109,8109],\"mapped\",[8037,953]],[[8110,8110],\"mapped\",[8038,953]],[[8111,8111],\"mapped\",[8039,953]],[[8112,8113],\"valid\"],[[8114,8114],\"mapped\",[8048,953]],[[8115,8115],\"mapped\",[945,953]],[[8116,8116],\"mapped\",[940,953]],[[8117,8117],\"disallowed\"],[[8118,8118],\"valid\"],[[8119,8119],\"mapped\",[8118,953]],[[8120,8120],\"mapped\",[8112]],[[8121,8121],\"mapped\",[8113]],[[8122,8122],\"mapped\",[8048]],[[8123,8123],\"mapped\",[940]],[[8124,8124],\"mapped\",[945,953]],[[8125,8125],\"disallowed_STD3_mapped\",[32,787]],[[8126,8126],\"mapped\",[953]],[[8127,8127],\"disallowed_STD3_mapped\",[32,787]],[[8128,8128],\"disallowed_STD3_mapped\",[32,834]],[[8129,8129],\"disallowed_STD3_mapped\",[32,776,834]],[[8130,8130],\"mapped\",[8052,953]],[[8131,8131],\"mapped\",[951,953]],[[8132,8132],\"mapped\",[942,953]],[[8133,8133],\"disallowed\"],[[8134,8134],\"valid\"],[[8135,8135],\"mapped\",[8134,953]],[[8136,8136],\"mapped\",[8050]],[[8137,8137],\"mapped\",[941]],[[8138,8138],\"mapped\",[8052]],[[8139,8139],\"mapped\",[942]],[[8140,8140],\"mapped\",[951,953]],[[8141,8141],\"disallowed_STD3_mapped\",[32,787,768]],[[8142,8142],\"disallowed_STD3_mapped\",[32,787,769]],[[8143,8143],\"disallowed_STD3_mapped\",[32,787,834]],[[8144,8146],\"valid\"],[[8147,8147],\"mapped\",[912]],[[8148,8149],\"disallowed\"],[[8150,8151],\"valid\"],[[8152,8152],\"mapped\",[8144]],[[8153,8153],\"mapped\",[8145]],[[8154,8154],\"mapped\",[8054]],[[8155,8155],\"mapped\",[943]],[[8156,8156],\"disallowed\"],[[8157,8157],\"disallowed_STD3_mapped\",[32,788,768]],[[8158,8158],\"disallowed_STD3_mapped\",[32,788,769]],[[8159,8159],\"disallowed_STD3_mapped\",[32,788,834]],[[8160,8162],\"valid\"],[[8163,8163],\"mapped\",[944]],[[8164,8167],\"valid\"],[[8168,8168],\"mapped\",[8160]],[[8169,8169],\"mapped\",[8161]],[[8170,8170],\"mapped\",[8058]],[[8171,8171],\"mapped\",[973]],[[8172,8172],\"mapped\",[8165]],[[8173,8173],\"disallowed_STD3_mapped\",[32,776,768]],[[8174,8174],\"disallowed_STD3_mapped\",[32,776,769]],[[8175,8175],\"disallowed_STD3_mapped\",[96]],[[8176,8177],\"disallowed\"],[[8178,8178],\"mapped\",[8060,953]],[[8179,8179],\"mapped\",[969,953]],[[8180,8180],\"mapped\",[974,953]],[[8181,8181],\"disallowed\"],[[8182,8182],\"valid\"],[[8183,8183],\"mapped\",[8182,953]],[[8184,8184],\"mapped\",[8056]],[[8185,8185],\"mapped\",[972]],[[8186,8186],\"mapped\",[8060]],[[8187,8187],\"mapped\",[974]],[[8188,8188],\"mapped\",[969,953]],[[8189,8189],\"disallowed_STD3_mapped\",[32,769]],[[8190,8190],\"disallowed_STD3_mapped\",[32,788]],[[8191,8191],\"disallowed\"],[[8192,8202],\"disallowed_STD3_mapped\",[32]],[[8203,8203],\"ignored\"],[[8204,8205],\"deviation\",[]],[[8206,8207],\"disallowed\"],[[8208,8208],\"valid\",[],\"NV8\"],[[8209,8209],\"mapped\",[8208]],[[8210,8214],\"valid\",[],\"NV8\"],[[8215,8215],\"disallowed_STD3_mapped\",[32,819]],[[8216,8227],\"valid\",[],\"NV8\"],[[8228,8230],\"disallowed\"],[[8231,8231],\"valid\",[],\"NV8\"],[[8232,8238],\"disallowed\"],[[8239,8239],\"disallowed_STD3_mapped\",[32]],[[8240,8242],\"valid\",[],\"NV8\"],[[8243,8243],\"mapped\",[8242,8242]],[[8244,8244],\"mapped\",[8242,8242,8242]],[[8245,8245],\"valid\",[],\"NV8\"],[[8246,8246],\"mapped\",[8245,8245]],[[8247,8247],\"mapped\",[8245,8245,8245]],[[8248,8251],\"valid\",[],\"NV8\"],[[8252,8252],\"disallowed_STD3_mapped\",[33,33]],[[8253,8253],\"valid\",[],\"NV8\"],[[8254,8254],\"disallowed_STD3_mapped\",[32,773]],[[8255,8262],\"valid\",[],\"NV8\"],[[8263,8263],\"disallowed_STD3_mapped\",[63,63]],[[8264,8264],\"disallowed_STD3_mapped\",[63,33]],[[8265,8265],\"disallowed_STD3_mapped\",[33,63]],[[8266,8269],\"valid\",[],\"NV8\"],[[8270,8274],\"valid\",[],\"NV8\"],[[8275,8276],\"valid\",[],\"NV8\"],[[8277,8278],\"valid\",[],\"NV8\"],[[8279,8279],\"mapped\",[8242,8242,8242,8242]],[[8280,8286],\"valid\",[],\"NV8\"],[[8287,8287],\"disallowed_STD3_mapped\",[32]],[[8288,8288],\"ignored\"],[[8289,8291],\"disallowed\"],[[8292,8292],\"ignored\"],[[8293,8293],\"disallowed\"],[[8294,8297],\"disallowed\"],[[8298,8303],\"disallowed\"],[[8304,8304],\"mapped\",[48]],[[8305,8305],\"mapped\",[105]],[[8306,8307],\"disallowed\"],[[8308,8308],\"mapped\",[52]],[[8309,8309],\"mapped\",[53]],[[8310,8310],\"mapped\",[54]],[[8311,8311],\"mapped\",[55]],[[8312,8312],\"mapped\",[56]],[[8313,8313],\"mapped\",[57]],[[8314,8314],\"disallowed_STD3_mapped\",[43]],[[8315,8315],\"mapped\",[8722]],[[8316,8316],\"disallowed_STD3_mapped\",[61]],[[8317,8317],\"disallowed_STD3_mapped\",[40]],[[8318,8318],\"disallowed_STD3_mapped\",[41]],[[8319,8319],\"mapped\",[110]],[[8320,8320],\"mapped\",[48]],[[8321,8321],\"mapped\",[49]],[[8322,8322],\"mapped\",[50]],[[8323,8323],\"mapped\",[51]],[[8324,8324],\"mapped\",[52]],[[8325,8325],\"mapped\",[53]],[[8326,8326],\"mapped\",[54]],[[8327,8327],\"mapped\",[55]],[[8328,8328],\"mapped\",[56]],[[8329,8329],\"mapped\",[57]],[[8330,8330],\"disallowed_STD3_mapped\",[43]],[[8331,8331],\"mapped\",[8722]],[[8332,8332],\"disallowed_STD3_mapped\",[61]],[[8333,8333],\"disallowed_STD3_mapped\",[40]],[[8334,8334],\"disallowed_STD3_mapped\",[41]],[[8335,8335],\"disallowed\"],[[8336,8336],\"mapped\",[97]],[[8337,8337],\"mapped\",[101]],[[8338,8338],\"mapped\",[111]],[[8339,8339],\"mapped\",[120]],[[8340,8340],\"mapped\",[601]],[[8341,8341],\"mapped\",[104]],[[8342,8342],\"mapped\",[107]],[[8343,8343],\"mapped\",[108]],[[8344,8344],\"mapped\",[109]],[[8345,8345],\"mapped\",[110]],[[8346,8346],\"mapped\",[112]],[[8347,8347],\"mapped\",[115]],[[8348,8348],\"mapped\",[116]],[[8349,8351],\"disallowed\"],[[8352,8359],\"valid\",[],\"NV8\"],[[8360,8360],\"mapped\",[114,115]],[[8361,8362],\"valid\",[],\"NV8\"],[[8363,8363],\"valid\",[],\"NV8\"],[[8364,8364],\"valid\",[],\"NV8\"],[[8365,8367],\"valid\",[],\"NV8\"],[[8368,8369],\"valid\",[],\"NV8\"],[[8370,8373],\"valid\",[],\"NV8\"],[[8374,8376],\"valid\",[],\"NV8\"],[[8377,8377],\"valid\",[],\"NV8\"],[[8378,8378],\"valid\",[],\"NV8\"],[[8379,8381],\"valid\",[],\"NV8\"],[[8382,8382],\"valid\",[],\"NV8\"],[[8383,8399],\"disallowed\"],[[8400,8417],\"valid\",[],\"NV8\"],[[8418,8419],\"valid\",[],\"NV8\"],[[8420,8426],\"valid\",[],\"NV8\"],[[8427,8427],\"valid\",[],\"NV8\"],[[8428,8431],\"valid\",[],\"NV8\"],[[8432,8432],\"valid\",[],\"NV8\"],[[8433,8447],\"disallowed\"],[[8448,8448],\"disallowed_STD3_mapped\",[97,47,99]],[[8449,8449],\"disallowed_STD3_mapped\",[97,47,115]],[[8450,8450],\"mapped\",[99]],[[8451,8451],\"mapped\",[176,99]],[[8452,8452],\"valid\",[],\"NV8\"],[[8453,8453],\"disallowed_STD3_mapped\",[99,47,111]],[[8454,8454],\"disallowed_STD3_mapped\",[99,47,117]],[[8455,8455],\"mapped\",[603]],[[8456,8456],\"valid\",[],\"NV8\"],[[8457,8457],\"mapped\",[176,102]],[[8458,8458],\"mapped\",[103]],[[8459,8462],\"mapped\",[104]],[[8463,8463],\"mapped\",[295]],[[8464,8465],\"mapped\",[105]],[[8466,8467],\"mapped\",[108]],[[8468,8468],\"valid\",[],\"NV8\"],[[8469,8469],\"mapped\",[110]],[[8470,8470],\"mapped\",[110,111]],[[8471,8472],\"valid\",[],\"NV8\"],[[8473,8473],\"mapped\",[112]],[[8474,8474],\"mapped\",[113]],[[8475,8477],\"mapped\",[114]],[[8478,8479],\"valid\",[],\"NV8\"],[[8480,8480],\"mapped\",[115,109]],[[8481,8481],\"mapped\",[116,101,108]],[[8482,8482],\"mapped\",[116,109]],[[8483,8483],\"valid\",[],\"NV8\"],[[8484,8484],\"mapped\",[122]],[[8485,8485],\"valid\",[],\"NV8\"],[[8486,8486],\"mapped\",[969]],[[8487,8487],\"valid\",[],\"NV8\"],[[8488,8488],\"mapped\",[122]],[[8489,8489],\"valid\",[],\"NV8\"],[[8490,8490],\"mapped\",[107]],[[8491,8491],\"mapped\",[229]],[[8492,8492],\"mapped\",[98]],[[8493,8493],\"mapped\",[99]],[[8494,8494],\"valid\",[],\"NV8\"],[[8495,8496],\"mapped\",[101]],[[8497,8497],\"mapped\",[102]],[[8498,8498],\"disallowed\"],[[8499,8499],\"mapped\",[109]],[[8500,8500],\"mapped\",[111]],[[8501,8501],\"mapped\",[1488]],[[8502,8502],\"mapped\",[1489]],[[8503,8503],\"mapped\",[1490]],[[8504,8504],\"mapped\",[1491]],[[8505,8505],\"mapped\",[105]],[[8506,8506],\"valid\",[],\"NV8\"],[[8507,8507],\"mapped\",[102,97,120]],[[8508,8508],\"mapped\",[960]],[[8509,8510],\"mapped\",[947]],[[8511,8511],\"mapped\",[960]],[[8512,8512],\"mapped\",[8721]],[[8513,8516],\"valid\",[],\"NV8\"],[[8517,8518],\"mapped\",[100]],[[8519,8519],\"mapped\",[101]],[[8520,8520],\"mapped\",[105]],[[8521,8521],\"mapped\",[106]],[[8522,8523],\"valid\",[],\"NV8\"],[[8524,8524],\"valid\",[],\"NV8\"],[[8525,8525],\"valid\",[],\"NV8\"],[[8526,8526],\"valid\"],[[8527,8527],\"valid\",[],\"NV8\"],[[8528,8528],\"mapped\",[49,8260,55]],[[8529,8529],\"mapped\",[49,8260,57]],[[8530,8530],\"mapped\",[49,8260,49,48]],[[8531,8531],\"mapped\",[49,8260,51]],[[8532,8532],\"mapped\",[50,8260,51]],[[8533,8533],\"mapped\",[49,8260,53]],[[8534,8534],\"mapped\",[50,8260,53]],[[8535,8535],\"mapped\",[51,8260,53]],[[8536,8536],\"mapped\",[52,8260,53]],[[8537,8537],\"mapped\",[49,8260,54]],[[8538,8538],\"mapped\",[53,8260,54]],[[8539,8539],\"mapped\",[49,8260,56]],[[8540,8540],\"mapped\",[51,8260,56]],[[8541,8541],\"mapped\",[53,8260,56]],[[8542,8542],\"mapped\",[55,8260,56]],[[8543,8543],\"mapped\",[49,8260]],[[8544,8544],\"mapped\",[105]],[[8545,8545],\"mapped\",[105,105]],[[8546,8546],\"mapped\",[105,105,105]],[[8547,8547],\"mapped\",[105,118]],[[8548,8548],\"mapped\",[118]],[[8549,8549],\"mapped\",[118,105]],[[8550,8550],\"mapped\",[118,105,105]],[[8551,8551],\"mapped\",[118,105,105,105]],[[8552,8552],\"mapped\",[105,120]],[[8553,8553],\"mapped\",[120]],[[8554,8554],\"mapped\",[120,105]],[[8555,8555],\"mapped\",[120,105,105]],[[8556,8556],\"mapped\",[108]],[[8557,8557],\"mapped\",[99]],[[8558,8558],\"mapped\",[100]],[[8559,8559],\"mapped\",[109]],[[8560,8560],\"mapped\",[105]],[[8561,8561],\"mapped\",[105,105]],[[8562,8562],\"mapped\",[105,105,105]],[[8563,8563],\"mapped\",[105,118]],[[8564,8564],\"mapped\",[118]],[[8565,8565],\"mapped\",[118,105]],[[8566,8566],\"mapped\",[118,105,105]],[[8567,8567],\"mapped\",[118,105,105,105]],[[8568,8568],\"mapped\",[105,120]],[[8569,8569],\"mapped\",[120]],[[8570,8570],\"mapped\",[120,105]],[[8571,8571],\"mapped\",[120,105,105]],[[8572,8572],\"mapped\",[108]],[[8573,8573],\"mapped\",[99]],[[8574,8574],\"mapped\",[100]],[[8575,8575],\"mapped\",[109]],[[8576,8578],\"valid\",[],\"NV8\"],[[8579,8579],\"disallowed\"],[[8580,8580],\"valid\"],[[8581,8584],\"valid\",[],\"NV8\"],[[8585,8585],\"mapped\",[48,8260,51]],[[8586,8587],\"valid\",[],\"NV8\"],[[8588,8591],\"disallowed\"],[[8592,8682],\"valid\",[],\"NV8\"],[[8683,8691],\"valid\",[],\"NV8\"],[[8692,8703],\"valid\",[],\"NV8\"],[[8704,8747],\"valid\",[],\"NV8\"],[[8748,8748],\"mapped\",[8747,8747]],[[8749,8749],\"mapped\",[8747,8747,8747]],[[8750,8750],\"valid\",[],\"NV8\"],[[8751,8751],\"mapped\",[8750,8750]],[[8752,8752],\"mapped\",[8750,8750,8750]],[[8753,8799],\"valid\",[],\"NV8\"],[[8800,8800],\"disallowed_STD3_valid\"],[[8801,8813],\"valid\",[],\"NV8\"],[[8814,8815],\"disallowed_STD3_valid\"],[[8816,8945],\"valid\",[],\"NV8\"],[[8946,8959],\"valid\",[],\"NV8\"],[[8960,8960],\"valid\",[],\"NV8\"],[[8961,8961],\"valid\",[],\"NV8\"],[[8962,9000],\"valid\",[],\"NV8\"],[[9001,9001],\"mapped\",[12296]],[[9002,9002],\"mapped\",[12297]],[[9003,9082],\"valid\",[],\"NV8\"],[[9083,9083],\"valid\",[],\"NV8\"],[[9084,9084],\"valid\",[],\"NV8\"],[[9085,9114],\"valid\",[],\"NV8\"],[[9115,9166],\"valid\",[],\"NV8\"],[[9167,9168],\"valid\",[],\"NV8\"],[[9169,9179],\"valid\",[],\"NV8\"],[[9180,9191],\"valid\",[],\"NV8\"],[[9192,9192],\"valid\",[],\"NV8\"],[[9193,9203],\"valid\",[],\"NV8\"],[[9204,9210],\"valid\",[],\"NV8\"],[[9211,9215],\"disallowed\"],[[9216,9252],\"valid\",[],\"NV8\"],[[9253,9254],\"valid\",[],\"NV8\"],[[9255,9279],\"disallowed\"],[[9280,9290],\"valid\",[],\"NV8\"],[[9291,9311],\"disallowed\"],[[9312,9312],\"mapped\",[49]],[[9313,9313],\"mapped\",[50]],[[9314,9314],\"mapped\",[51]],[[9315,9315],\"mapped\",[52]],[[9316,9316],\"mapped\",[53]],[[9317,9317],\"mapped\",[54]],[[9318,9318],\"mapped\",[55]],[[9319,9319],\"mapped\",[56]],[[9320,9320],\"mapped\",[57]],[[9321,9321],\"mapped\",[49,48]],[[9322,9322],\"mapped\",[49,49]],[[9323,9323],\"mapped\",[49,50]],[[9324,9324],\"mapped\",[49,51]],[[9325,9325],\"mapped\",[49,52]],[[9326,9326],\"mapped\",[49,53]],[[9327,9327],\"mapped\",[49,54]],[[9328,9328],\"mapped\",[49,55]],[[9329,9329],\"mapped\",[49,56]],[[9330,9330],\"mapped\",[49,57]],[[9331,9331],\"mapped\",[50,48]],[[9332,9332],\"disallowed_STD3_mapped\",[40,49,41]],[[9333,9333],\"disallowed_STD3_mapped\",[40,50,41]],[[9334,9334],\"disallowed_STD3_mapped\",[40,51,41]],[[9335,9335],\"disallowed_STD3_mapped\",[40,52,41]],[[9336,9336],\"disallowed_STD3_mapped\",[40,53,41]],[[9337,9337],\"disallowed_STD3_mapped\",[40,54,41]],[[9338,9338],\"disallowed_STD3_mapped\",[40,55,41]],[[9339,9339],\"disallowed_STD3_mapped\",[40,56,41]],[[9340,9340],\"disallowed_STD3_mapped\",[40,57,41]],[[9341,9341],\"disallowed_STD3_mapped\",[40,49,48,41]],[[9342,9342],\"disallowed_STD3_mapped\",[40,49,49,41]],[[9343,9343],\"disallowed_STD3_mapped\",[40,49,50,41]],[[9344,9344],\"disallowed_STD3_mapped\",[40,49,51,41]],[[9345,9345],\"disallowed_STD3_mapped\",[40,49,52,41]],[[9346,9346],\"disallowed_STD3_mapped\",[40,49,53,41]],[[9347,9347],\"disallowed_STD3_mapped\",[40,49,54,41]],[[9348,9348],\"disallowed_STD3_mapped\",[40,49,55,41]],[[9349,9349],\"disallowed_STD3_mapped\",[40,49,56,41]],[[9350,9350],\"disallowed_STD3_mapped\",[40,49,57,41]],[[9351,9351],\"disallowed_STD3_mapped\",[40,50,48,41]],[[9352,9371],\"disallowed\"],[[9372,9372],\"disallowed_STD3_mapped\",[40,97,41]],[[9373,9373],\"disallowed_STD3_mapped\",[40,98,41]],[[9374,9374],\"disallowed_STD3_mapped\",[40,99,41]],[[9375,9375],\"disallowed_STD3_mapped\",[40,100,41]],[[9376,9376],\"disallowed_STD3_mapped\",[40,101,41]],[[9377,9377],\"disallowed_STD3_mapped\",[40,102,41]],[[9378,9378],\"disallowed_STD3_mapped\",[40,103,41]],[[9379,9379],\"disallowed_STD3_mapped\",[40,104,41]],[[9380,9380],\"disallowed_STD3_mapped\",[40,105,41]],[[9381,9381],\"disallowed_STD3_mapped\",[40,106,41]],[[9382,9382],\"disallowed_STD3_mapped\",[40,107,41]],[[9383,9383],\"disallowed_STD3_mapped\",[40,108,41]],[[9384,9384],\"disallowed_STD3_mapped\",[40,109,41]],[[9385,9385],\"disallowed_STD3_mapped\",[40,110,41]],[[9386,9386],\"disallowed_STD3_mapped\",[40,111,41]],[[9387,9387],\"disallowed_STD3_mapped\",[40,112,41]],[[9388,9388],\"disallowed_STD3_mapped\",[40,113,41]],[[9389,9389],\"disallowed_STD3_mapped\",[40,114,41]],[[9390,9390],\"disallowed_STD3_mapped\",[40,115,41]],[[9391,9391],\"disallowed_STD3_mapped\",[40,116,41]],[[9392,9392],\"disallowed_STD3_mapped\",[40,117,41]],[[9393,9393],\"disallowed_STD3_mapped\",[40,118,41]],[[9394,9394],\"disallowed_STD3_mapped\",[40,119,41]],[[9395,9395],\"disallowed_STD3_mapped\",[40,120,41]],[[9396,9396],\"disallowed_STD3_mapped\",[40,121,41]],[[9397,9397],\"disallowed_STD3_mapped\",[40,122,41]],[[9398,9398],\"mapped\",[97]],[[9399,9399],\"mapped\",[98]],[[9400,9400],\"mapped\",[99]],[[9401,9401],\"mapped\",[100]],[[9402,9402],\"mapped\",[101]],[[9403,9403],\"mapped\",[102]],[[9404,9404],\"mapped\",[103]],[[9405,9405],\"mapped\",[104]],[[9406,9406],\"mapped\",[105]],[[9407,9407],\"mapped\",[106]],[[9408,9408],\"mapped\",[107]],[[9409,9409],\"mapped\",[108]],[[9410,9410],\"mapped\",[109]],[[9411,9411],\"mapped\",[110]],[[9412,9412],\"mapped\",[111]],[[9413,9413],\"mapped\",[112]],[[9414,9414],\"mapped\",[113]],[[9415,9415],\"mapped\",[114]],[[9416,9416],\"mapped\",[115]],[[9417,9417],\"mapped\",[116]],[[9418,9418],\"mapped\",[117]],[[9419,9419],\"mapped\",[118]],[[9420,9420],\"mapped\",[119]],[[9421,9421],\"mapped\",[120]],[[9422,9422],\"mapped\",[121]],[[9423,9423],\"mapped\",[122]],[[9424,9424],\"mapped\",[97]],[[9425,9425],\"mapped\",[98]],[[9426,9426],\"mapped\",[99]],[[9427,9427],\"mapped\",[100]],[[9428,9428],\"mapped\",[101]],[[9429,9429],\"mapped\",[102]],[[9430,9430],\"mapped\",[103]],[[9431,9431],\"mapped\",[104]],[[9432,9432],\"mapped\",[105]],[[9433,9433],\"mapped\",[106]],[[9434,9434],\"mapped\",[107]],[[9435,9435],\"mapped\",[108]],[[9436,9436],\"mapped\",[109]],[[9437,9437],\"mapped\",[110]],[[9438,9438],\"mapped\",[111]],[[9439,9439],\"mapped\",[112]],[[9440,9440],\"mapped\",[113]],[[9441,9441],\"mapped\",[114]],[[9442,9442],\"mapped\",[115]],[[9443,9443],\"mapped\",[116]],[[9444,9444],\"mapped\",[117]],[[9445,9445],\"mapped\",[118]],[[9446,9446],\"mapped\",[119]],[[9447,9447],\"mapped\",[120]],[[9448,9448],\"mapped\",[121]],[[9449,9449],\"mapped\",[122]],[[9450,9450],\"mapped\",[48]],[[9451,9470],\"valid\",[],\"NV8\"],[[9471,9471],\"valid\",[],\"NV8\"],[[9472,9621],\"valid\",[],\"NV8\"],[[9622,9631],\"valid\",[],\"NV8\"],[[9632,9711],\"valid\",[],\"NV8\"],[[9712,9719],\"valid\",[],\"NV8\"],[[9720,9727],\"valid\",[],\"NV8\"],[[9728,9747],\"valid\",[],\"NV8\"],[[9748,9749],\"valid\",[],\"NV8\"],[[9750,9751],\"valid\",[],\"NV8\"],[[9752,9752],\"valid\",[],\"NV8\"],[[9753,9753],\"valid\",[],\"NV8\"],[[9754,9839],\"valid\",[],\"NV8\"],[[9840,9841],\"valid\",[],\"NV8\"],[[9842,9853],\"valid\",[],\"NV8\"],[[9854,9855],\"valid\",[],\"NV8\"],[[9856,9865],\"valid\",[],\"NV8\"],[[9866,9873],\"valid\",[],\"NV8\"],[[9874,9884],\"valid\",[],\"NV8\"],[[9885,9885],\"valid\",[],\"NV8\"],[[9886,9887],\"valid\",[],\"NV8\"],[[9888,9889],\"valid\",[],\"NV8\"],[[9890,9905],\"valid\",[],\"NV8\"],[[9906,9906],\"valid\",[],\"NV8\"],[[9907,9916],\"valid\",[],\"NV8\"],[[9917,9919],\"valid\",[],\"NV8\"],[[9920,9923],\"valid\",[],\"NV8\"],[[9924,9933],\"valid\",[],\"NV8\"],[[9934,9934],\"valid\",[],\"NV8\"],[[9935,9953],\"valid\",[],\"NV8\"],[[9954,9954],\"valid\",[],\"NV8\"],[[9955,9955],\"valid\",[],\"NV8\"],[[9956,9959],\"valid\",[],\"NV8\"],[[9960,9983],\"valid\",[],\"NV8\"],[[9984,9984],\"valid\",[],\"NV8\"],[[9985,9988],\"valid\",[],\"NV8\"],[[9989,9989],\"valid\",[],\"NV8\"],[[9990,9993],\"valid\",[],\"NV8\"],[[9994,9995],\"valid\",[],\"NV8\"],[[9996,10023],\"valid\",[],\"NV8\"],[[10024,10024],\"valid\",[],\"NV8\"],[[10025,10059],\"valid\",[],\"NV8\"],[[10060,10060],\"valid\",[],\"NV8\"],[[10061,10061],\"valid\",[],\"NV8\"],[[10062,10062],\"valid\",[],\"NV8\"],[[10063,10066],\"valid\",[],\"NV8\"],[[10067,10069],\"valid\",[],\"NV8\"],[[10070,10070],\"valid\",[],\"NV8\"],[[10071,10071],\"valid\",[],\"NV8\"],[[10072,10078],\"valid\",[],\"NV8\"],[[10079,10080],\"valid\",[],\"NV8\"],[[10081,10087],\"valid\",[],\"NV8\"],[[10088,10101],\"valid\",[],\"NV8\"],[[10102,10132],\"valid\",[],\"NV8\"],[[10133,10135],\"valid\",[],\"NV8\"],[[10136,10159],\"valid\",[],\"NV8\"],[[10160,10160],\"valid\",[],\"NV8\"],[[10161,10174],\"valid\",[],\"NV8\"],[[10175,10175],\"valid\",[],\"NV8\"],[[10176,10182],\"valid\",[],\"NV8\"],[[10183,10186],\"valid\",[],\"NV8\"],[[10187,10187],\"valid\",[],\"NV8\"],[[10188,10188],\"valid\",[],\"NV8\"],[[10189,10189],\"valid\",[],\"NV8\"],[[10190,10191],\"valid\",[],\"NV8\"],[[10192,10219],\"valid\",[],\"NV8\"],[[10220,10223],\"valid\",[],\"NV8\"],[[10224,10239],\"valid\",[],\"NV8\"],[[10240,10495],\"valid\",[],\"NV8\"],[[10496,10763],\"valid\",[],\"NV8\"],[[10764,10764],\"mapped\",[8747,8747,8747,8747]],[[10765,10867],\"valid\",[],\"NV8\"],[[10868,10868],\"disallowed_STD3_mapped\",[58,58,61]],[[10869,10869],\"disallowed_STD3_mapped\",[61,61]],[[10870,10870],\"disallowed_STD3_mapped\",[61,61,61]],[[10871,10971],\"valid\",[],\"NV8\"],[[10972,10972],\"mapped\",[10973,824]],[[10973,11007],\"valid\",[],\"NV8\"],[[11008,11021],\"valid\",[],\"NV8\"],[[11022,11027],\"valid\",[],\"NV8\"],[[11028,11034],\"valid\",[],\"NV8\"],[[11035,11039],\"valid\",[],\"NV8\"],[[11040,11043],\"valid\",[],\"NV8\"],[[11044,11084],\"valid\",[],\"NV8\"],[[11085,11087],\"valid\",[],\"NV8\"],[[11088,11092],\"valid\",[],\"NV8\"],[[11093,11097],\"valid\",[],\"NV8\"],[[11098,11123],\"valid\",[],\"NV8\"],[[11124,11125],\"disallowed\"],[[11126,11157],\"valid\",[],\"NV8\"],[[11158,11159],\"disallowed\"],[[11160,11193],\"valid\",[],\"NV8\"],[[11194,11196],\"disallowed\"],[[11197,11208],\"valid\",[],\"NV8\"],[[11209,11209],\"disallowed\"],[[11210,11217],\"valid\",[],\"NV8\"],[[11218,11243],\"disallowed\"],[[11244,11247],\"valid\",[],\"NV8\"],[[11248,11263],\"disallowed\"],[[11264,11264],\"mapped\",[11312]],[[11265,11265],\"mapped\",[11313]],[[11266,11266],\"mapped\",[11314]],[[11267,11267],\"mapped\",[11315]],[[11268,11268],\"mapped\",[11316]],[[11269,11269],\"mapped\",[11317]],[[11270,11270],\"mapped\",[11318]],[[11271,11271],\"mapped\",[11319]],[[11272,11272],\"mapped\",[11320]],[[11273,11273],\"mapped\",[11321]],[[11274,11274],\"mapped\",[11322]],[[11275,11275],\"mapped\",[11323]],[[11276,11276],\"mapped\",[11324]],[[11277,11277],\"mapped\",[11325]],[[11278,11278],\"mapped\",[11326]],[[11279,11279],\"mapped\",[11327]],[[11280,11280],\"mapped\",[11328]],[[11281,11281],\"mapped\",[11329]],[[11282,11282],\"mapped\",[11330]],[[11283,11283],\"mapped\",[11331]],[[11284,11284],\"mapped\",[11332]],[[11285,11285],\"mapped\",[11333]],[[11286,11286],\"mapped\",[11334]],[[11287,11287],\"mapped\",[11335]],[[11288,11288],\"mapped\",[11336]],[[11289,11289],\"mapped\",[11337]],[[11290,11290],\"mapped\",[11338]],[[11291,11291],\"mapped\",[11339]],[[11292,11292],\"mapped\",[11340]],[[11293,11293],\"mapped\",[11341]],[[11294,11294],\"mapped\",[11342]],[[11295,11295],\"mapped\",[11343]],[[11296,11296],\"mapped\",[11344]],[[11297,11297],\"mapped\",[11345]],[[11298,11298],\"mapped\",[11346]],[[11299,11299],\"mapped\",[11347]],[[11300,11300],\"mapped\",[11348]],[[11301,11301],\"mapped\",[11349]],[[11302,11302],\"mapped\",[11350]],[[11303,11303],\"mapped\",[11351]],[[11304,11304],\"mapped\",[11352]],[[11305,11305],\"mapped\",[11353]],[[11306,11306],\"mapped\",[11354]],[[11307,11307],\"mapped\",[11355]],[[11308,11308],\"mapped\",[11356]],[[11309,11309],\"mapped\",[11357]],[[11310,11310],\"mapped\",[11358]],[[11311,11311],\"disallowed\"],[[11312,11358],\"valid\"],[[11359,11359],\"disallowed\"],[[11360,11360],\"mapped\",[11361]],[[11361,11361],\"valid\"],[[11362,11362],\"mapped\",[619]],[[11363,11363],\"mapped\",[7549]],[[11364,11364],\"mapped\",[637]],[[11365,11366],\"valid\"],[[11367,11367],\"mapped\",[11368]],[[11368,11368],\"valid\"],[[11369,11369],\"mapped\",[11370]],[[11370,11370],\"valid\"],[[11371,11371],\"mapped\",[11372]],[[11372,11372],\"valid\"],[[11373,11373],\"mapped\",[593]],[[11374,11374],\"mapped\",[625]],[[11375,11375],\"mapped\",[592]],[[11376,11376],\"mapped\",[594]],[[11377,11377],\"valid\"],[[11378,11378],\"mapped\",[11379]],[[11379,11379],\"valid\"],[[11380,11380],\"valid\"],[[11381,11381],\"mapped\",[11382]],[[11382,11383],\"valid\"],[[11384,11387],\"valid\"],[[11388,11388],\"mapped\",[106]],[[11389,11389],\"mapped\",[118]],[[11390,11390],\"mapped\",[575]],[[11391,11391],\"mapped\",[576]],[[11392,11392],\"mapped\",[11393]],[[11393,11393],\"valid\"],[[11394,11394],\"mapped\",[11395]],[[11395,11395],\"valid\"],[[11396,11396],\"mapped\",[11397]],[[11397,11397],\"valid\"],[[11398,11398],\"mapped\",[11399]],[[11399,11399],\"valid\"],[[11400,11400],\"mapped\",[11401]],[[11401,11401],\"valid\"],[[11402,11402],\"mapped\",[11403]],[[11403,11403],\"valid\"],[[11404,11404],\"mapped\",[11405]],[[11405,11405],\"valid\"],[[11406,11406],\"mapped\",[11407]],[[11407,11407],\"valid\"],[[11408,11408],\"mapped\",[11409]],[[11409,11409],\"valid\"],[[11410,11410],\"mapped\",[11411]],[[11411,11411],\"valid\"],[[11412,11412],\"mapped\",[11413]],[[11413,11413],\"valid\"],[[11414,11414],\"mapped\",[11415]],[[11415,11415],\"valid\"],[[11416,11416],\"mapped\",[11417]],[[11417,11417],\"valid\"],[[11418,11418],\"mapped\",[11419]],[[11419,11419],\"valid\"],[[11420,11420],\"mapped\",[11421]],[[11421,11421],\"valid\"],[[11422,11422],\"mapped\",[11423]],[[11423,11423],\"valid\"],[[11424,11424],\"mapped\",[11425]],[[11425,11425],\"valid\"],[[11426,11426],\"mapped\",[11427]],[[11427,11427],\"valid\"],[[11428,11428],\"mapped\",[11429]],[[11429,11429],\"valid\"],[[11430,11430],\"mapped\",[11431]],[[11431,11431],\"valid\"],[[11432,11432],\"mapped\",[11433]],[[11433,11433],\"valid\"],[[11434,11434],\"mapped\",[11435]],[[11435,11435],\"valid\"],[[11436,11436],\"mapped\",[11437]],[[11437,11437],\"valid\"],[[11438,11438],\"mapped\",[11439]],[[11439,11439],\"valid\"],[[11440,11440],\"mapped\",[11441]],[[11441,11441],\"valid\"],[[11442,11442],\"mapped\",[11443]],[[11443,11443],\"valid\"],[[11444,11444],\"mapped\",[11445]],[[11445,11445],\"valid\"],[[11446,11446],\"mapped\",[11447]],[[11447,11447],\"valid\"],[[11448,11448],\"mapped\",[11449]],[[11449,11449],\"valid\"],[[11450,11450],\"mapped\",[11451]],[[11451,11451],\"valid\"],[[11452,11452],\"mapped\",[11453]],[[11453,11453],\"valid\"],[[11454,11454],\"mapped\",[11455]],[[11455,11455],\"valid\"],[[11456,11456],\"mapped\",[11457]],[[11457,11457],\"valid\"],[[11458,11458],\"mapped\",[11459]],[[11459,11459],\"valid\"],[[11460,11460],\"mapped\",[11461]],[[11461,11461],\"valid\"],[[11462,11462],\"mapped\",[11463]],[[11463,11463],\"valid\"],[[11464,11464],\"mapped\",[11465]],[[11465,11465],\"valid\"],[[11466,11466],\"mapped\",[11467]],[[11467,11467],\"valid\"],[[11468,11468],\"mapped\",[11469]],[[11469,11469],\"valid\"],[[11470,11470],\"mapped\",[11471]],[[11471,11471],\"valid\"],[[11472,11472],\"mapped\",[11473]],[[11473,11473],\"valid\"],[[11474,11474],\"mapped\",[11475]],[[11475,11475],\"valid\"],[[11476,11476],\"mapped\",[11477]],[[11477,11477],\"valid\"],[[11478,11478],\"mapped\",[11479]],[[11479,11479],\"valid\"],[[11480,11480],\"mapped\",[11481]],[[11481,11481],\"valid\"],[[11482,11482],\"mapped\",[11483]],[[11483,11483],\"valid\"],[[11484,11484],\"mapped\",[11485]],[[11485,11485],\"valid\"],[[11486,11486],\"mapped\",[11487]],[[11487,11487],\"valid\"],[[11488,11488],\"mapped\",[11489]],[[11489,11489],\"valid\"],[[11490,11490],\"mapped\",[11491]],[[11491,11492],\"valid\"],[[11493,11498],\"valid\",[],\"NV8\"],[[11499,11499],\"mapped\",[11500]],[[11500,11500],\"valid\"],[[11501,11501],\"mapped\",[11502]],[[11502,11505],\"valid\"],[[11506,11506],\"mapped\",[11507]],[[11507,11507],\"valid\"],[[11508,11512],\"disallowed\"],[[11513,11519],\"valid\",[],\"NV8\"],[[11520,11557],\"valid\"],[[11558,11558],\"disallowed\"],[[11559,11559],\"valid\"],[[11560,11564],\"disallowed\"],[[11565,11565],\"valid\"],[[11566,11567],\"disallowed\"],[[11568,11621],\"valid\"],[[11622,11623],\"valid\"],[[11624,11630],\"disallowed\"],[[11631,11631],\"mapped\",[11617]],[[11632,11632],\"valid\",[],\"NV8\"],[[11633,11646],\"disallowed\"],[[11647,11647],\"valid\"],[[11648,11670],\"valid\"],[[11671,11679],\"disallowed\"],[[11680,11686],\"valid\"],[[11687,11687],\"disallowed\"],[[11688,11694],\"valid\"],[[11695,11695],\"disallowed\"],[[11696,11702],\"valid\"],[[11703,11703],\"disallowed\"],[[11704,11710],\"valid\"],[[11711,11711],\"disallowed\"],[[11712,11718],\"valid\"],[[11719,11719],\"disallowed\"],[[11720,11726],\"valid\"],[[11727,11727],\"disallowed\"],[[11728,11734],\"valid\"],[[11735,11735],\"disallowed\"],[[11736,11742],\"valid\"],[[11743,11743],\"disallowed\"],[[11744,11775],\"valid\"],[[11776,11799],\"valid\",[],\"NV8\"],[[11800,11803],\"valid\",[],\"NV8\"],[[11804,11805],\"valid\",[],\"NV8\"],[[11806,11822],\"valid\",[],\"NV8\"],[[11823,11823],\"valid\"],[[11824,11824],\"valid\",[],\"NV8\"],[[11825,11825],\"valid\",[],\"NV8\"],[[11826,11835],\"valid\",[],\"NV8\"],[[11836,11842],\"valid\",[],\"NV8\"],[[11843,11903],\"disallowed\"],[[11904,11929],\"valid\",[],\"NV8\"],[[11930,11930],\"disallowed\"],[[11931,11934],\"valid\",[],\"NV8\"],[[11935,11935],\"mapped\",[27597]],[[11936,12018],\"valid\",[],\"NV8\"],[[12019,12019],\"mapped\",[40863]],[[12020,12031],\"disallowed\"],[[12032,12032],\"mapped\",[19968]],[[12033,12033],\"mapped\",[20008]],[[12034,12034],\"mapped\",[20022]],[[12035,12035],\"mapped\",[20031]],[[12036,12036],\"mapped\",[20057]],[[12037,12037],\"mapped\",[20101]],[[12038,12038],\"mapped\",[20108]],[[12039,12039],\"mapped\",[20128]],[[12040,12040],\"mapped\",[20154]],[[12041,12041],\"mapped\",[20799]],[[12042,12042],\"mapped\",[20837]],[[12043,12043],\"mapped\",[20843]],[[12044,12044],\"mapped\",[20866]],[[12045,12045],\"mapped\",[20886]],[[12046,12046],\"mapped\",[20907]],[[12047,12047],\"mapped\",[20960]],[[12048,12048],\"mapped\",[20981]],[[12049,12049],\"mapped\",[20992]],[[12050,12050],\"mapped\",[21147]],[[12051,12051],\"mapped\",[21241]],[[12052,12052],\"mapped\",[21269]],[[12053,12053],\"mapped\",[21274]],[[12054,12054],\"mapped\",[21304]],[[12055,12055],\"mapped\",[21313]],[[12056,12056],\"mapped\",[21340]],[[12057,12057],\"mapped\",[21353]],[[12058,12058],\"mapped\",[21378]],[[12059,12059],\"mapped\",[21430]],[[12060,12060],\"mapped\",[21448]],[[12061,12061],\"mapped\",[21475]],[[12062,12062],\"mapped\",[22231]],[[12063,12063],\"mapped\",[22303]],[[12064,12064],\"mapped\",[22763]],[[12065,12065],\"mapped\",[22786]],[[12066,12066],\"mapped\",[22794]],[[12067,12067],\"mapped\",[22805]],[[12068,12068],\"mapped\",[22823]],[[12069,12069],\"mapped\",[22899]],[[12070,12070],\"mapped\",[23376]],[[12071,12071],\"mapped\",[23424]],[[12072,12072],\"mapped\",[23544]],[[12073,12073],\"mapped\",[23567]],[[12074,12074],\"mapped\",[23586]],[[12075,12075],\"mapped\",[23608]],[[12076,12076],\"mapped\",[23662]],[[12077,12077],\"mapped\",[23665]],[[12078,12078],\"mapped\",[24027]],[[12079,12079],\"mapped\",[24037]],[[12080,12080],\"mapped\",[24049]],[[12081,12081],\"mapped\",[24062]],[[12082,12082],\"mapped\",[24178]],[[12083,12083],\"mapped\",[24186]],[[12084,12084],\"mapped\",[24191]],[[12085,12085],\"mapped\",[24308]],[[12086,12086],\"mapped\",[24318]],[[12087,12087],\"mapped\",[24331]],[[12088,12088],\"mapped\",[24339]],[[12089,12089],\"mapped\",[24400]],[[12090,12090],\"mapped\",[24417]],[[12091,12091],\"mapped\",[24435]],[[12092,12092],\"mapped\",[24515]],[[12093,12093],\"mapped\",[25096]],[[12094,12094],\"mapped\",[25142]],[[12095,12095],\"mapped\",[25163]],[[12096,12096],\"mapped\",[25903]],[[12097,12097],\"mapped\",[25908]],[[12098,12098],\"mapped\",[25991]],[[12099,12099],\"mapped\",[26007]],[[12100,12100],\"mapped\",[26020]],[[12101,12101],\"mapped\",[26041]],[[12102,12102],\"mapped\",[26080]],[[12103,12103],\"mapped\",[26085]],[[12104,12104],\"mapped\",[26352]],[[12105,12105],\"mapped\",[26376]],[[12106,12106],\"mapped\",[26408]],[[12107,12107],\"mapped\",[27424]],[[12108,12108],\"mapped\",[27490]],[[12109,12109],\"mapped\",[27513]],[[12110,12110],\"mapped\",[27571]],[[12111,12111],\"mapped\",[27595]],[[12112,12112],\"mapped\",[27604]],[[12113,12113],\"mapped\",[27611]],[[12114,12114],\"mapped\",[27663]],[[12115,12115],\"mapped\",[27668]],[[12116,12116],\"mapped\",[27700]],[[12117,12117],\"mapped\",[28779]],[[12118,12118],\"mapped\",[29226]],[[12119,12119],\"mapped\",[29238]],[[12120,12120],\"mapped\",[29243]],[[12121,12121],\"mapped\",[29247]],[[12122,12122],\"mapped\",[29255]],[[12123,12123],\"mapped\",[29273]],[[12124,12124],\"mapped\",[29275]],[[12125,12125],\"mapped\",[29356]],[[12126,12126],\"mapped\",[29572]],[[12127,12127],\"mapped\",[29577]],[[12128,12128],\"mapped\",[29916]],[[12129,12129],\"mapped\",[29926]],[[12130,12130],\"mapped\",[29976]],[[12131,12131],\"mapped\",[29983]],[[12132,12132],\"mapped\",[29992]],[[12133,12133],\"mapped\",[30000]],[[12134,12134],\"mapped\",[30091]],[[12135,12135],\"mapped\",[30098]],[[12136,12136],\"mapped\",[30326]],[[12137,12137],\"mapped\",[30333]],[[12138,12138],\"mapped\",[30382]],[[12139,12139],\"mapped\",[30399]],[[12140,12140],\"mapped\",[30446]],[[12141,12141],\"mapped\",[30683]],[[12142,12142],\"mapped\",[30690]],[[12143,12143],\"mapped\",[30707]],[[12144,12144],\"mapped\",[31034]],[[12145,12145],\"mapped\",[31160]],[[12146,12146],\"mapped\",[31166]],[[12147,12147],\"mapped\",[31348]],[[12148,12148],\"mapped\",[31435]],[[12149,12149],\"mapped\",[31481]],[[12150,12150],\"mapped\",[31859]],[[12151,12151],\"mapped\",[31992]],[[12152,12152],\"mapped\",[32566]],[[12153,12153],\"mapped\",[32593]],[[12154,12154],\"mapped\",[32650]],[[12155,12155],\"mapped\",[32701]],[[12156,12156],\"mapped\",[32769]],[[12157,12157],\"mapped\",[32780]],[[12158,12158],\"mapped\",[32786]],[[12159,12159],\"mapped\",[32819]],[[12160,12160],\"mapped\",[32895]],[[12161,12161],\"mapped\",[32905]],[[12162,12162],\"mapped\",[33251]],[[12163,12163],\"mapped\",[33258]],[[12164,12164],\"mapped\",[33267]],[[12165,12165],\"mapped\",[33276]],[[12166,12166],\"mapped\",[33292]],[[12167,12167],\"mapped\",[33307]],[[12168,12168],\"mapped\",[33311]],[[12169,12169],\"mapped\",[33390]],[[12170,12170],\"mapped\",[33394]],[[12171,12171],\"mapped\",[33400]],[[12172,12172],\"mapped\",[34381]],[[12173,12173],\"mapped\",[34411]],[[12174,12174],\"mapped\",[34880]],[[12175,12175],\"mapped\",[34892]],[[12176,12176],\"mapped\",[34915]],[[12177,12177],\"mapped\",[35198]],[[12178,12178],\"mapped\",[35211]],[[12179,12179],\"mapped\",[35282]],[[12180,12180],\"mapped\",[35328]],[[12181,12181],\"mapped\",[35895]],[[12182,12182],\"mapped\",[35910]],[[12183,12183],\"mapped\",[35925]],[[12184,12184],\"mapped\",[35960]],[[12185,12185],\"mapped\",[35997]],[[12186,12186],\"mapped\",[36196]],[[12187,12187],\"mapped\",[36208]],[[12188,12188],\"mapped\",[36275]],[[12189,12189],\"mapped\",[36523]],[[12190,12190],\"mapped\",[36554]],[[12191,12191],\"mapped\",[36763]],[[12192,12192],\"mapped\",[36784]],[[12193,12193],\"mapped\",[36789]],[[12194,12194],\"mapped\",[37009]],[[12195,12195],\"mapped\",[37193]],[[12196,12196],\"mapped\",[37318]],[[12197,12197],\"mapped\",[37324]],[[12198,12198],\"mapped\",[37329]],[[12199,12199],\"mapped\",[38263]],[[12200,12200],\"mapped\",[38272]],[[12201,12201],\"mapped\",[38428]],[[12202,12202],\"mapped\",[38582]],[[12203,12203],\"mapped\",[38585]],[[12204,12204],\"mapped\",[38632]],[[12205,12205],\"mapped\",[38737]],[[12206,12206],\"mapped\",[38750]],[[12207,12207],\"mapped\",[38754]],[[12208,12208],\"mapped\",[38761]],[[12209,12209],\"mapped\",[38859]],[[12210,12210],\"mapped\",[38893]],[[12211,12211],\"mapped\",[38899]],[[12212,12212],\"mapped\",[38913]],[[12213,12213],\"mapped\",[39080]],[[12214,12214],\"mapped\",[39131]],[[12215,12215],\"mapped\",[39135]],[[12216,12216],\"mapped\",[39318]],[[12217,12217],\"mapped\",[39321]],[[12218,12218],\"mapped\",[39340]],[[12219,12219],\"mapped\",[39592]],[[12220,12220],\"mapped\",[39640]],[[12221,12221],\"mapped\",[39647]],[[12222,12222],\"mapped\",[39717]],[[12223,12223],\"mapped\",[39727]],[[12224,12224],\"mapped\",[39730]],[[12225,12225],\"mapped\",[39740]],[[12226,12226],\"mapped\",[39770]],[[12227,12227],\"mapped\",[40165]],[[12228,12228],\"mapped\",[40565]],[[12229,12229],\"mapped\",[40575]],[[12230,12230],\"mapped\",[40613]],[[12231,12231],\"mapped\",[40635]],[[12232,12232],\"mapped\",[40643]],[[12233,12233],\"mapped\",[40653]],[[12234,12234],\"mapped\",[40657]],[[12235,12235],\"mapped\",[40697]],[[12236,12236],\"mapped\",[40701]],[[12237,12237],\"mapped\",[40718]],[[12238,12238],\"mapped\",[40723]],[[12239,12239],\"mapped\",[40736]],[[12240,12240],\"mapped\",[40763]],[[12241,12241],\"mapped\",[40778]],[[12242,12242],\"mapped\",[40786]],[[12243,12243],\"mapped\",[40845]],[[12244,12244],\"mapped\",[40860]],[[12245,12245],\"mapped\",[40864]],[[12246,12271],\"disallowed\"],[[12272,12283],\"disallowed\"],[[12284,12287],\"disallowed\"],[[12288,12288],\"disallowed_STD3_mapped\",[32]],[[12289,12289],\"valid\",[],\"NV8\"],[[12290,12290],\"mapped\",[46]],[[12291,12292],\"valid\",[],\"NV8\"],[[12293,12295],\"valid\"],[[12296,12329],\"valid\",[],\"NV8\"],[[12330,12333],\"valid\"],[[12334,12341],\"valid\",[],\"NV8\"],[[12342,12342],\"mapped\",[12306]],[[12343,12343],\"valid\",[],\"NV8\"],[[12344,12344],\"mapped\",[21313]],[[12345,12345],\"mapped\",[21316]],[[12346,12346],\"mapped\",[21317]],[[12347,12347],\"valid\",[],\"NV8\"],[[12348,12348],\"valid\"],[[12349,12349],\"valid\",[],\"NV8\"],[[12350,12350],\"valid\",[],\"NV8\"],[[12351,12351],\"valid\",[],\"NV8\"],[[12352,12352],\"disallowed\"],[[12353,12436],\"valid\"],[[12437,12438],\"valid\"],[[12439,12440],\"disallowed\"],[[12441,12442],\"valid\"],[[12443,12443],\"disallowed_STD3_mapped\",[32,12441]],[[12444,12444],\"disallowed_STD3_mapped\",[32,12442]],[[12445,12446],\"valid\"],[[12447,12447],\"mapped\",[12424,12426]],[[12448,12448],\"valid\",[],\"NV8\"],[[12449,12542],\"valid\"],[[12543,12543],\"mapped\",[12467,12488]],[[12544,12548],\"disallowed\"],[[12549,12588],\"valid\"],[[12589,12589],\"valid\"],[[12590,12592],\"disallowed\"],[[12593,12593],\"mapped\",[4352]],[[12594,12594],\"mapped\",[4353]],[[12595,12595],\"mapped\",[4522]],[[12596,12596],\"mapped\",[4354]],[[12597,12597],\"mapped\",[4524]],[[12598,12598],\"mapped\",[4525]],[[12599,12599],\"mapped\",[4355]],[[12600,12600],\"mapped\",[4356]],[[12601,12601],\"mapped\",[4357]],[[12602,12602],\"mapped\",[4528]],[[12603,12603],\"mapped\",[4529]],[[12604,12604],\"mapped\",[4530]],[[12605,12605],\"mapped\",[4531]],[[12606,12606],\"mapped\",[4532]],[[12607,12607],\"mapped\",[4533]],[[12608,12608],\"mapped\",[4378]],[[12609,12609],\"mapped\",[4358]],[[12610,12610],\"mapped\",[4359]],[[12611,12611],\"mapped\",[4360]],[[12612,12612],\"mapped\",[4385]],[[12613,12613],\"mapped\",[4361]],[[12614,12614],\"mapped\",[4362]],[[12615,12615],\"mapped\",[4363]],[[12616,12616],\"mapped\",[4364]],[[12617,12617],\"mapped\",[4365]],[[12618,12618],\"mapped\",[4366]],[[12619,12619],\"mapped\",[4367]],[[12620,12620],\"mapped\",[4368]],[[12621,12621],\"mapped\",[4369]],[[12622,12622],\"mapped\",[4370]],[[12623,12623],\"mapped\",[4449]],[[12624,12624],\"mapped\",[4450]],[[12625,12625],\"mapped\",[4451]],[[12626,12626],\"mapped\",[4452]],[[12627,12627],\"mapped\",[4453]],[[12628,12628],\"mapped\",[4454]],[[12629,12629],\"mapped\",[4455]],[[12630,12630],\"mapped\",[4456]],[[12631,12631],\"mapped\",[4457]],[[12632,12632],\"mapped\",[4458]],[[12633,12633],\"mapped\",[4459]],[[12634,12634],\"mapped\",[4460]],[[12635,12635],\"mapped\",[4461]],[[12636,12636],\"mapped\",[4462]],[[12637,12637],\"mapped\",[4463]],[[12638,12638],\"mapped\",[4464]],[[12639,12639],\"mapped\",[4465]],[[12640,12640],\"mapped\",[4466]],[[12641,12641],\"mapped\",[4467]],[[12642,12642],\"mapped\",[4468]],[[12643,12643],\"mapped\",[4469]],[[12644,12644],\"disallowed\"],[[12645,12645],\"mapped\",[4372]],[[12646,12646],\"mapped\",[4373]],[[12647,12647],\"mapped\",[4551]],[[12648,12648],\"mapped\",[4552]],[[12649,12649],\"mapped\",[4556]],[[12650,12650],\"mapped\",[4558]],[[12651,12651],\"mapped\",[4563]],[[12652,12652],\"mapped\",[4567]],[[12653,12653],\"mapped\",[4569]],[[12654,12654],\"mapped\",[4380]],[[12655,12655],\"mapped\",[4573]],[[12656,12656],\"mapped\",[4575]],[[12657,12657],\"mapped\",[4381]],[[12658,12658],\"mapped\",[4382]],[[12659,12659],\"mapped\",[4384]],[[12660,12660],\"mapped\",[4386]],[[12661,12661],\"mapped\",[4387]],[[12662,12662],\"mapped\",[4391]],[[12663,12663],\"mapped\",[4393]],[[12664,12664],\"mapped\",[4395]],[[12665,12665],\"mapped\",[4396]],[[12666,12666],\"mapped\",[4397]],[[12667,12667],\"mapped\",[4398]],[[12668,12668],\"mapped\",[4399]],[[12669,12669],\"mapped\",[4402]],[[12670,12670],\"mapped\",[4406]],[[12671,12671],\"mapped\",[4416]],[[12672,12672],\"mapped\",[4423]],[[12673,12673],\"mapped\",[4428]],[[12674,12674],\"mapped\",[4593]],[[12675,12675],\"mapped\",[4594]],[[12676,12676],\"mapped\",[4439]],[[12677,12677],\"mapped\",[4440]],[[12678,12678],\"mapped\",[4441]],[[12679,12679],\"mapped\",[4484]],[[12680,12680],\"mapped\",[4485]],[[12681,12681],\"mapped\",[4488]],[[12682,12682],\"mapped\",[4497]],[[12683,12683],\"mapped\",[4498]],[[12684,12684],\"mapped\",[4500]],[[12685,12685],\"mapped\",[4510]],[[12686,12686],\"mapped\",[4513]],[[12687,12687],\"disallowed\"],[[12688,12689],\"valid\",[],\"NV8\"],[[12690,12690],\"mapped\",[19968]],[[12691,12691],\"mapped\",[20108]],[[12692,12692],\"mapped\",[19977]],[[12693,12693],\"mapped\",[22235]],[[12694,12694],\"mapped\",[19978]],[[12695,12695],\"mapped\",[20013]],[[12696,12696],\"mapped\",[19979]],[[12697,12697],\"mapped\",[30002]],[[12698,12698],\"mapped\",[20057]],[[12699,12699],\"mapped\",[19993]],[[12700,12700],\"mapped\",[19969]],[[12701,12701],\"mapped\",[22825]],[[12702,12702],\"mapped\",[22320]],[[12703,12703],\"mapped\",[20154]],[[12704,12727],\"valid\"],[[12728,12730],\"valid\"],[[12731,12735],\"disallowed\"],[[12736,12751],\"valid\",[],\"NV8\"],[[12752,12771],\"valid\",[],\"NV8\"],[[12772,12783],\"disallowed\"],[[12784,12799],\"valid\"],[[12800,12800],\"disallowed_STD3_mapped\",[40,4352,41]],[[12801,12801],\"disallowed_STD3_mapped\",[40,4354,41]],[[12802,12802],\"disallowed_STD3_mapped\",[40,4355,41]],[[12803,12803],\"disallowed_STD3_mapped\",[40,4357,41]],[[12804,12804],\"disallowed_STD3_mapped\",[40,4358,41]],[[12805,12805],\"disallowed_STD3_mapped\",[40,4359,41]],[[12806,12806],\"disallowed_STD3_mapped\",[40,4361,41]],[[12807,12807],\"disallowed_STD3_mapped\",[40,4363,41]],[[12808,12808],\"disallowed_STD3_mapped\",[40,4364,41]],[[12809,12809],\"disallowed_STD3_mapped\",[40,4366,41]],[[12810,12810],\"disallowed_STD3_mapped\",[40,4367,41]],[[12811,12811],\"disallowed_STD3_mapped\",[40,4368,41]],[[12812,12812],\"disallowed_STD3_mapped\",[40,4369,41]],[[12813,12813],\"disallowed_STD3_mapped\",[40,4370,41]],[[12814,12814],\"disallowed_STD3_mapped\",[40,44032,41]],[[12815,12815],\"disallowed_STD3_mapped\",[40,45208,41]],[[12816,12816],\"disallowed_STD3_mapped\",[40,45796,41]],[[12817,12817],\"disallowed_STD3_mapped\",[40,46972,41]],[[12818,12818],\"disallowed_STD3_mapped\",[40,47560,41]],[[12819,12819],\"disallowed_STD3_mapped\",[40,48148,41]],[[12820,12820],\"disallowed_STD3_mapped\",[40,49324,41]],[[12821,12821],\"disallowed_STD3_mapped\",[40,50500,41]],[[12822,12822],\"disallowed_STD3_mapped\",[40,51088,41]],[[12823,12823],\"disallowed_STD3_mapped\",[40,52264,41]],[[12824,12824],\"disallowed_STD3_mapped\",[40,52852,41]],[[12825,12825],\"disallowed_STD3_mapped\",[40,53440,41]],[[12826,12826],\"disallowed_STD3_mapped\",[40,54028,41]],[[12827,12827],\"disallowed_STD3_mapped\",[40,54616,41]],[[12828,12828],\"disallowed_STD3_mapped\",[40,51452,41]],[[12829,12829],\"disallowed_STD3_mapped\",[40,50724,51204,41]],[[12830,12830],\"disallowed_STD3_mapped\",[40,50724,54980,41]],[[12831,12831],\"disallowed\"],[[12832,12832],\"disallowed_STD3_mapped\",[40,19968,41]],[[12833,12833],\"disallowed_STD3_mapped\",[40,20108,41]],[[12834,12834],\"disallowed_STD3_mapped\",[40,19977,41]],[[12835,12835],\"disallowed_STD3_mapped\",[40,22235,41]],[[12836,12836],\"disallowed_STD3_mapped\",[40,20116,41]],[[12837,12837],\"disallowed_STD3_mapped\",[40,20845,41]],[[12838,12838],\"disallowed_STD3_mapped\",[40,19971,41]],[[12839,12839],\"disallowed_STD3_mapped\",[40,20843,41]],[[12840,12840],\"disallowed_STD3_mapped\",[40,20061,41]],[[12841,12841],\"disallowed_STD3_mapped\",[40,21313,41]],[[12842,12842],\"disallowed_STD3_mapped\",[40,26376,41]],[[12843,12843],\"disallowed_STD3_mapped\",[40,28779,41]],[[12844,12844],\"disallowed_STD3_mapped\",[40,27700,41]],[[12845,12845],\"disallowed_STD3_mapped\",[40,26408,41]],[[12846,12846],\"disallowed_STD3_mapped\",[40,37329,41]],[[12847,12847],\"disallowed_STD3_mapped\",[40,22303,41]],[[12848,12848],\"disallowed_STD3_mapped\",[40,26085,41]],[[12849,12849],\"disallowed_STD3_mapped\",[40,26666,41]],[[12850,12850],\"disallowed_STD3_mapped\",[40,26377,41]],[[12851,12851],\"disallowed_STD3_mapped\",[40,31038,41]],[[12852,12852],\"disallowed_STD3_mapped\",[40,21517,41]],[[12853,12853],\"disallowed_STD3_mapped\",[40,29305,41]],[[12854,12854],\"disallowed_STD3_mapped\",[40,36001,41]],[[12855,12855],\"disallowed_STD3_mapped\",[40,31069,41]],[[12856,12856],\"disallowed_STD3_mapped\",[40,21172,41]],[[12857,12857],\"disallowed_STD3_mapped\",[40,20195,41]],[[12858,12858],\"disallowed_STD3_mapped\",[40,21628,41]],[[12859,12859],\"disallowed_STD3_mapped\",[40,23398,41]],[[12860,12860],\"disallowed_STD3_mapped\",[40,30435,41]],[[12861,12861],\"disallowed_STD3_mapped\",[40,20225,41]],[[12862,12862],\"disallowed_STD3_mapped\",[40,36039,41]],[[12863,12863],\"disallowed_STD3_mapped\",[40,21332,41]],[[12864,12864],\"disallowed_STD3_mapped\",[40,31085,41]],[[12865,12865],\"disallowed_STD3_mapped\",[40,20241,41]],[[12866,12866],\"disallowed_STD3_mapped\",[40,33258,41]],[[12867,12867],\"disallowed_STD3_mapped\",[40,33267,41]],[[12868,12868],\"mapped\",[21839]],[[12869,12869],\"mapped\",[24188]],[[12870,12870],\"mapped\",[25991]],[[12871,12871],\"mapped\",[31631]],[[12872,12879],\"valid\",[],\"NV8\"],[[12880,12880],\"mapped\",[112,116,101]],[[12881,12881],\"mapped\",[50,49]],[[12882,12882],\"mapped\",[50,50]],[[12883,12883],\"mapped\",[50,51]],[[12884,12884],\"mapped\",[50,52]],[[12885,12885],\"mapped\",[50,53]],[[12886,12886],\"mapped\",[50,54]],[[12887,12887],\"mapped\",[50,55]],[[12888,12888],\"mapped\",[50,56]],[[12889,12889],\"mapped\",[50,57]],[[12890,12890],\"mapped\",[51,48]],[[12891,12891],\"mapped\",[51,49]],[[12892,12892],\"mapped\",[51,50]],[[12893,12893],\"mapped\",[51,51]],[[12894,12894],\"mapped\",[51,52]],[[12895,12895],\"mapped\",[51,53]],[[12896,12896],\"mapped\",[4352]],[[12897,12897],\"mapped\",[4354]],[[12898,12898],\"mapped\",[4355]],[[12899,12899],\"mapped\",[4357]],[[12900,12900],\"mapped\",[4358]],[[12901,12901],\"mapped\",[4359]],[[12902,12902],\"mapped\",[4361]],[[12903,12903],\"mapped\",[4363]],[[12904,12904],\"mapped\",[4364]],[[12905,12905],\"mapped\",[4366]],[[12906,12906],\"mapped\",[4367]],[[12907,12907],\"mapped\",[4368]],[[12908,12908],\"mapped\",[4369]],[[12909,12909],\"mapped\",[4370]],[[12910,12910],\"mapped\",[44032]],[[12911,12911],\"mapped\",[45208]],[[12912,12912],\"mapped\",[45796]],[[12913,12913],\"mapped\",[46972]],[[12914,12914],\"mapped\",[47560]],[[12915,12915],\"mapped\",[48148]],[[12916,12916],\"mapped\",[49324]],[[12917,12917],\"mapped\",[50500]],[[12918,12918],\"mapped\",[51088]],[[12919,12919],\"mapped\",[52264]],[[12920,12920],\"mapped\",[52852]],[[12921,12921],\"mapped\",[53440]],[[12922,12922],\"mapped\",[54028]],[[12923,12923],\"mapped\",[54616]],[[12924,12924],\"mapped\",[52280,44256]],[[12925,12925],\"mapped\",[51452,51032]],[[12926,12926],\"mapped\",[50864]],[[12927,12927],\"valid\",[],\"NV8\"],[[12928,12928],\"mapped\",[19968]],[[12929,12929],\"mapped\",[20108]],[[12930,12930],\"mapped\",[19977]],[[12931,12931],\"mapped\",[22235]],[[12932,12932],\"mapped\",[20116]],[[12933,12933],\"mapped\",[20845]],[[12934,12934],\"mapped\",[19971]],[[12935,12935],\"mapped\",[20843]],[[12936,12936],\"mapped\",[20061]],[[12937,12937],\"mapped\",[21313]],[[12938,12938],\"mapped\",[26376]],[[12939,12939],\"mapped\",[28779]],[[12940,12940],\"mapped\",[27700]],[[12941,12941],\"mapped\",[26408]],[[12942,12942],\"mapped\",[37329]],[[12943,12943],\"mapped\",[22303]],[[12944,12944],\"mapped\",[26085]],[[12945,12945],\"mapped\",[26666]],[[12946,12946],\"mapped\",[26377]],[[12947,12947],\"mapped\",[31038]],[[12948,12948],\"mapped\",[21517]],[[12949,12949],\"mapped\",[29305]],[[12950,12950],\"mapped\",[36001]],[[12951,12951],\"mapped\",[31069]],[[12952,12952],\"mapped\",[21172]],[[12953,12953],\"mapped\",[31192]],[[12954,12954],\"mapped\",[30007]],[[12955,12955],\"mapped\",[22899]],[[12956,12956],\"mapped\",[36969]],[[12957,12957],\"mapped\",[20778]],[[12958,12958],\"mapped\",[21360]],[[12959,12959],\"mapped\",[27880]],[[12960,12960],\"mapped\",[38917]],[[12961,12961],\"mapped\",[20241]],[[12962,12962],\"mapped\",[20889]],[[12963,12963],\"mapped\",[27491]],[[12964,12964],\"mapped\",[19978]],[[12965,12965],\"mapped\",[20013]],[[12966,12966],\"mapped\",[19979]],[[12967,12967],\"mapped\",[24038]],[[12968,12968],\"mapped\",[21491]],[[12969,12969],\"mapped\",[21307]],[[12970,12970],\"mapped\",[23447]],[[12971,12971],\"mapped\",[23398]],[[12972,12972],\"mapped\",[30435]],[[12973,12973],\"mapped\",[20225]],[[12974,12974],\"mapped\",[36039]],[[12975,12975],\"mapped\",[21332]],[[12976,12976],\"mapped\",[22812]],[[12977,12977],\"mapped\",[51,54]],[[12978,12978],\"mapped\",[51,55]],[[12979,12979],\"mapped\",[51,56]],[[12980,12980],\"mapped\",[51,57]],[[12981,12981],\"mapped\",[52,48]],[[12982,12982],\"mapped\",[52,49]],[[12983,12983],\"mapped\",[52,50]],[[12984,12984],\"mapped\",[52,51]],[[12985,12985],\"mapped\",[52,52]],[[12986,12986],\"mapped\",[52,53]],[[12987,12987],\"mapped\",[52,54]],[[12988,12988],\"mapped\",[52,55]],[[12989,12989],\"mapped\",[52,56]],[[12990,12990],\"mapped\",[52,57]],[[12991,12991],\"mapped\",[53,48]],[[12992,12992],\"mapped\",[49,26376]],[[12993,12993],\"mapped\",[50,26376]],[[12994,12994],\"mapped\",[51,26376]],[[12995,12995],\"mapped\",[52,26376]],[[12996,12996],\"mapped\",[53,26376]],[[12997,12997],\"mapped\",[54,26376]],[[12998,12998],\"mapped\",[55,26376]],[[12999,12999],\"mapped\",[56,26376]],[[13000,13000],\"mapped\",[57,26376]],[[13001,13001],\"mapped\",[49,48,26376]],[[13002,13002],\"mapped\",[49,49,26376]],[[13003,13003],\"mapped\",[49,50,26376]],[[13004,13004],\"mapped\",[104,103]],[[13005,13005],\"mapped\",[101,114,103]],[[13006,13006],\"mapped\",[101,118]],[[13007,13007],\"mapped\",[108,116,100]],[[13008,13008],\"mapped\",[12450]],[[13009,13009],\"mapped\",[12452]],[[13010,13010],\"mapped\",[12454]],[[13011,13011],\"mapped\",[12456]],[[13012,13012],\"mapped\",[12458]],[[13013,13013],\"mapped\",[12459]],[[13014,13014],\"mapped\",[12461]],[[13015,13015],\"mapped\",[12463]],[[13016,13016],\"mapped\",[12465]],[[13017,13017],\"mapped\",[12467]],[[13018,13018],\"mapped\",[12469]],[[13019,13019],\"mapped\",[12471]],[[13020,13020],\"mapped\",[12473]],[[13021,13021],\"mapped\",[12475]],[[13022,13022],\"mapped\",[12477]],[[13023,13023],\"mapped\",[12479]],[[13024,13024],\"mapped\",[12481]],[[13025,13025],\"mapped\",[12484]],[[13026,13026],\"mapped\",[12486]],[[13027,13027],\"mapped\",[12488]],[[13028,13028],\"mapped\",[12490]],[[13029,13029],\"mapped\",[12491]],[[13030,13030],\"mapped\",[12492]],[[13031,13031],\"mapped\",[12493]],[[13032,13032],\"mapped\",[12494]],[[13033,13033],\"mapped\",[12495]],[[13034,13034],\"mapped\",[12498]],[[13035,13035],\"mapped\",[12501]],[[13036,13036],\"mapped\",[12504]],[[13037,13037],\"mapped\",[12507]],[[13038,13038],\"mapped\",[12510]],[[13039,13039],\"mapped\",[12511]],[[13040,13040],\"mapped\",[12512]],[[13041,13041],\"mapped\",[12513]],[[13042,13042],\"mapped\",[12514]],[[13043,13043],\"mapped\",[12516]],[[13044,13044],\"mapped\",[12518]],[[13045,13045],\"mapped\",[12520]],[[13046,13046],\"mapped\",[12521]],[[13047,13047],\"mapped\",[12522]],[[13048,13048],\"mapped\",[12523]],[[13049,13049],\"mapped\",[12524]],[[13050,13050],\"mapped\",[12525]],[[13051,13051],\"mapped\",[12527]],[[13052,13052],\"mapped\",[12528]],[[13053,13053],\"mapped\",[12529]],[[13054,13054],\"mapped\",[12530]],[[13055,13055],\"disallowed\"],[[13056,13056],\"mapped\",[12450,12497,12540,12488]],[[13057,13057],\"mapped\",[12450,12523,12501,12449]],[[13058,13058],\"mapped\",[12450,12531,12506,12450]],[[13059,13059],\"mapped\",[12450,12540,12523]],[[13060,13060],\"mapped\",[12452,12491,12531,12464]],[[13061,13061],\"mapped\",[12452,12531,12481]],[[13062,13062],\"mapped\",[12454,12457,12531]],[[13063,13063],\"mapped\",[12456,12473,12463,12540,12489]],[[13064,13064],\"mapped\",[12456,12540,12459,12540]],[[13065,13065],\"mapped\",[12458,12531,12473]],[[13066,13066],\"mapped\",[12458,12540,12512]],[[13067,13067],\"mapped\",[12459,12452,12522]],[[13068,13068],\"mapped\",[12459,12521,12483,12488]],[[13069,13069],\"mapped\",[12459,12525,12522,12540]],[[13070,13070],\"mapped\",[12460,12525,12531]],[[13071,13071],\"mapped\",[12460,12531,12510]],[[13072,13072],\"mapped\",[12462,12460]],[[13073,13073],\"mapped\",[12462,12491,12540]],[[13074,13074],\"mapped\",[12461,12517,12522,12540]],[[13075,13075],\"mapped\",[12462,12523,12480,12540]],[[13076,13076],\"mapped\",[12461,12525]],[[13077,13077],\"mapped\",[12461,12525,12464,12521,12512]],[[13078,13078],\"mapped\",[12461,12525,12513,12540,12488,12523]],[[13079,13079],\"mapped\",[12461,12525,12527,12483,12488]],[[13080,13080],\"mapped\",[12464,12521,12512]],[[13081,13081],\"mapped\",[12464,12521,12512,12488,12531]],[[13082,13082],\"mapped\",[12463,12523,12476,12452,12525]],[[13083,13083],\"mapped\",[12463,12525,12540,12493]],[[13084,13084],\"mapped\",[12465,12540,12473]],[[13085,13085],\"mapped\",[12467,12523,12490]],[[13086,13086],\"mapped\",[12467,12540,12509]],[[13087,13087],\"mapped\",[12469,12452,12463,12523]],[[13088,13088],\"mapped\",[12469,12531,12481,12540,12512]],[[13089,13089],\"mapped\",[12471,12522,12531,12464]],[[13090,13090],\"mapped\",[12475,12531,12481]],[[13091,13091],\"mapped\",[12475,12531,12488]],[[13092,13092],\"mapped\",[12480,12540,12473]],[[13093,13093],\"mapped\",[12487,12471]],[[13094,13094],\"mapped\",[12489,12523]],[[13095,13095],\"mapped\",[12488,12531]],[[13096,13096],\"mapped\",[12490,12494]],[[13097,13097],\"mapped\",[12494,12483,12488]],[[13098,13098],\"mapped\",[12495,12452,12484]],[[13099,13099],\"mapped\",[12497,12540,12475,12531,12488]],[[13100,13100],\"mapped\",[12497,12540,12484]],[[13101,13101],\"mapped\",[12496,12540,12524,12523]],[[13102,13102],\"mapped\",[12500,12450,12473,12488,12523]],[[13103,13103],\"mapped\",[12500,12463,12523]],[[13104,13104],\"mapped\",[12500,12467]],[[13105,13105],\"mapped\",[12499,12523]],[[13106,13106],\"mapped\",[12501,12449,12521,12483,12489]],[[13107,13107],\"mapped\",[12501,12451,12540,12488]],[[13108,13108],\"mapped\",[12502,12483,12471,12455,12523]],[[13109,13109],\"mapped\",[12501,12521,12531]],[[13110,13110],\"mapped\",[12504,12463,12479,12540,12523]],[[13111,13111],\"mapped\",[12506,12477]],[[13112,13112],\"mapped\",[12506,12491,12498]],[[13113,13113],\"mapped\",[12504,12523,12484]],[[13114,13114],\"mapped\",[12506,12531,12473]],[[13115,13115],\"mapped\",[12506,12540,12472]],[[13116,13116],\"mapped\",[12505,12540,12479]],[[13117,13117],\"mapped\",[12509,12452,12531,12488]],[[13118,13118],\"mapped\",[12508,12523,12488]],[[13119,13119],\"mapped\",[12507,12531]],[[13120,13120],\"mapped\",[12509,12531,12489]],[[13121,13121],\"mapped\",[12507,12540,12523]],[[13122,13122],\"mapped\",[12507,12540,12531]],[[13123,13123],\"mapped\",[12510,12452,12463,12525]],[[13124,13124],\"mapped\",[12510,12452,12523]],[[13125,13125],\"mapped\",[12510,12483,12495]],[[13126,13126],\"mapped\",[12510,12523,12463]],[[13127,13127],\"mapped\",[12510,12531,12471,12519,12531]],[[13128,13128],\"mapped\",[12511,12463,12525,12531]],[[13129,13129],\"mapped\",[12511,12522]],[[13130,13130],\"mapped\",[12511,12522,12496,12540,12523]],[[13131,13131],\"mapped\",[12513,12460]],[[13132,13132],\"mapped\",[12513,12460,12488,12531]],[[13133,13133],\"mapped\",[12513,12540,12488,12523]],[[13134,13134],\"mapped\",[12516,12540,12489]],[[13135,13135],\"mapped\",[12516,12540,12523]],[[13136,13136],\"mapped\",[12518,12450,12531]],[[13137,13137],\"mapped\",[12522,12483,12488,12523]],[[13138,13138],\"mapped\",[12522,12521]],[[13139,13139],\"mapped\",[12523,12500,12540]],[[13140,13140],\"mapped\",[12523,12540,12502,12523]],[[13141,13141],\"mapped\",[12524,12512]],[[13142,13142],\"mapped\",[12524,12531,12488,12466,12531]],[[13143,13143],\"mapped\",[12527,12483,12488]],[[13144,13144],\"mapped\",[48,28857]],[[13145,13145],\"mapped\",[49,28857]],[[13146,13146],\"mapped\",[50,28857]],[[13147,13147],\"mapped\",[51,28857]],[[13148,13148],\"mapped\",[52,28857]],[[13149,13149],\"mapped\",[53,28857]],[[13150,13150],\"mapped\",[54,28857]],[[13151,13151],\"mapped\",[55,28857]],[[13152,13152],\"mapped\",[56,28857]],[[13153,13153],\"mapped\",[57,28857]],[[13154,13154],\"mapped\",[49,48,28857]],[[13155,13155],\"mapped\",[49,49,28857]],[[13156,13156],\"mapped\",[49,50,28857]],[[13157,13157],\"mapped\",[49,51,28857]],[[13158,13158],\"mapped\",[49,52,28857]],[[13159,13159],\"mapped\",[49,53,28857]],[[13160,13160],\"mapped\",[49,54,28857]],[[13161,13161],\"mapped\",[49,55,28857]],[[13162,13162],\"mapped\",[49,56,28857]],[[13163,13163],\"mapped\",[49,57,28857]],[[13164,13164],\"mapped\",[50,48,28857]],[[13165,13165],\"mapped\",[50,49,28857]],[[13166,13166],\"mapped\",[50,50,28857]],[[13167,13167],\"mapped\",[50,51,28857]],[[13168,13168],\"mapped\",[50,52,28857]],[[13169,13169],\"mapped\",[104,112,97]],[[13170,13170],\"mapped\",[100,97]],[[13171,13171],\"mapped\",[97,117]],[[13172,13172],\"mapped\",[98,97,114]],[[13173,13173],\"mapped\",[111,118]],[[13174,13174],\"mapped\",[112,99]],[[13175,13175],\"mapped\",[100,109]],[[13176,13176],\"mapped\",[100,109,50]],[[13177,13177],\"mapped\",[100,109,51]],[[13178,13178],\"mapped\",[105,117]],[[13179,13179],\"mapped\",[24179,25104]],[[13180,13180],\"mapped\",[26157,21644]],[[13181,13181],\"mapped\",[22823,27491]],[[13182,13182],\"mapped\",[26126,27835]],[[13183,13183],\"mapped\",[26666,24335,20250,31038]],[[13184,13184],\"mapped\",[112,97]],[[13185,13185],\"mapped\",[110,97]],[[13186,13186],\"mapped\",[956,97]],[[13187,13187],\"mapped\",[109,97]],[[13188,13188],\"mapped\",[107,97]],[[13189,13189],\"mapped\",[107,98]],[[13190,13190],\"mapped\",[109,98]],[[13191,13191],\"mapped\",[103,98]],[[13192,13192],\"mapped\",[99,97,108]],[[13193,13193],\"mapped\",[107,99,97,108]],[[13194,13194],\"mapped\",[112,102]],[[13195,13195],\"mapped\",[110,102]],[[13196,13196],\"mapped\",[956,102]],[[13197,13197],\"mapped\",[956,103]],[[13198,13198],\"mapped\",[109,103]],[[13199,13199],\"mapped\",[107,103]],[[13200,13200],\"mapped\",[104,122]],[[13201,13201],\"mapped\",[107,104,122]],[[13202,13202],\"mapped\",[109,104,122]],[[13203,13203],\"mapped\",[103,104,122]],[[13204,13204],\"mapped\",[116,104,122]],[[13205,13205],\"mapped\",[956,108]],[[13206,13206],\"mapped\",[109,108]],[[13207,13207],\"mapped\",[100,108]],[[13208,13208],\"mapped\",[107,108]],[[13209,13209],\"mapped\",[102,109]],[[13210,13210],\"mapped\",[110,109]],[[13211,13211],\"mapped\",[956,109]],[[13212,13212],\"mapped\",[109,109]],[[13213,13213],\"mapped\",[99,109]],[[13214,13214],\"mapped\",[107,109]],[[13215,13215],\"mapped\",[109,109,50]],[[13216,13216],\"mapped\",[99,109,50]],[[13217,13217],\"mapped\",[109,50]],[[13218,13218],\"mapped\",[107,109,50]],[[13219,13219],\"mapped\",[109,109,51]],[[13220,13220],\"mapped\",[99,109,51]],[[13221,13221],\"mapped\",[109,51]],[[13222,13222],\"mapped\",[107,109,51]],[[13223,13223],\"mapped\",[109,8725,115]],[[13224,13224],\"mapped\",[109,8725,115,50]],[[13225,13225],\"mapped\",[112,97]],[[13226,13226],\"mapped\",[107,112,97]],[[13227,13227],\"mapped\",[109,112,97]],[[13228,13228],\"mapped\",[103,112,97]],[[13229,13229],\"mapped\",[114,97,100]],[[13230,13230],\"mapped\",[114,97,100,8725,115]],[[13231,13231],\"mapped\",[114,97,100,8725,115,50]],[[13232,13232],\"mapped\",[112,115]],[[13233,13233],\"mapped\",[110,115]],[[13234,13234],\"mapped\",[956,115]],[[13235,13235],\"mapped\",[109,115]],[[13236,13236],\"mapped\",[112,118]],[[13237,13237],\"mapped\",[110,118]],[[13238,13238],\"mapped\",[956,118]],[[13239,13239],\"mapped\",[109,118]],[[13240,13240],\"mapped\",[107,118]],[[13241,13241],\"mapped\",[109,118]],[[13242,13242],\"mapped\",[112,119]],[[13243,13243],\"mapped\",[110,119]],[[13244,13244],\"mapped\",[956,119]],[[13245,13245],\"mapped\",[109,119]],[[13246,13246],\"mapped\",[107,119]],[[13247,13247],\"mapped\",[109,119]],[[13248,13248],\"mapped\",[107,969]],[[13249,13249],\"mapped\",[109,969]],[[13250,13250],\"disallowed\"],[[13251,13251],\"mapped\",[98,113]],[[13252,13252],\"mapped\",[99,99]],[[13253,13253],\"mapped\",[99,100]],[[13254,13254],\"mapped\",[99,8725,107,103]],[[13255,13255],\"disallowed\"],[[13256,13256],\"mapped\",[100,98]],[[13257,13257],\"mapped\",[103,121]],[[13258,13258],\"mapped\",[104,97]],[[13259,13259],\"mapped\",[104,112]],[[13260,13260],\"mapped\",[105,110]],[[13261,13261],\"mapped\",[107,107]],[[13262,13262],\"mapped\",[107,109]],[[13263,13263],\"mapped\",[107,116]],[[13264,13264],\"mapped\",[108,109]],[[13265,13265],\"mapped\",[108,110]],[[13266,13266],\"mapped\",[108,111,103]],[[13267,13267],\"mapped\",[108,120]],[[13268,13268],\"mapped\",[109,98]],[[13269,13269],\"mapped\",[109,105,108]],[[13270,13270],\"mapped\",[109,111,108]],[[13271,13271],\"mapped\",[112,104]],[[13272,13272],\"disallowed\"],[[13273,13273],\"mapped\",[112,112,109]],[[13274,13274],\"mapped\",[112,114]],[[13275,13275],\"mapped\",[115,114]],[[13276,13276],\"mapped\",[115,118]],[[13277,13277],\"mapped\",[119,98]],[[13278,13278],\"mapped\",[118,8725,109]],[[13279,13279],\"mapped\",[97,8725,109]],[[13280,13280],\"mapped\",[49,26085]],[[13281,13281],\"mapped\",[50,26085]],[[13282,13282],\"mapped\",[51,26085]],[[13283,13283],\"mapped\",[52,26085]],[[13284,13284],\"mapped\",[53,26085]],[[13285,13285],\"mapped\",[54,26085]],[[13286,13286],\"mapped\",[55,26085]],[[13287,13287],\"mapped\",[56,26085]],[[13288,13288],\"mapped\",[57,26085]],[[13289,13289],\"mapped\",[49,48,26085]],[[13290,13290],\"mapped\",[49,49,26085]],[[13291,13291],\"mapped\",[49,50,26085]],[[13292,13292],\"mapped\",[49,51,26085]],[[13293,13293],\"mapped\",[49,52,26085]],[[13294,13294],\"mapped\",[49,53,26085]],[[13295,13295],\"mapped\",[49,54,26085]],[[13296,13296],\"mapped\",[49,55,26085]],[[13297,13297],\"mapped\",[49,56,26085]],[[13298,13298],\"mapped\",[49,57,26085]],[[13299,13299],\"mapped\",[50,48,26085]],[[13300,13300],\"mapped\",[50,49,26085]],[[13301,13301],\"mapped\",[50,50,26085]],[[13302,13302],\"mapped\",[50,51,26085]],[[13303,13303],\"mapped\",[50,52,26085]],[[13304,13304],\"mapped\",[50,53,26085]],[[13305,13305],\"mapped\",[50,54,26085]],[[13306,13306],\"mapped\",[50,55,26085]],[[13307,13307],\"mapped\",[50,56,26085]],[[13308,13308],\"mapped\",[50,57,26085]],[[13309,13309],\"mapped\",[51,48,26085]],[[13310,13310],\"mapped\",[51,49,26085]],[[13311,13311],\"mapped\",[103,97,108]],[[13312,19893],\"valid\"],[[19894,19903],\"disallowed\"],[[19904,19967],\"valid\",[],\"NV8\"],[[19968,40869],\"valid\"],[[40870,40891],\"valid\"],[[40892,40899],\"valid\"],[[40900,40907],\"valid\"],[[40908,40908],\"valid\"],[[40909,40917],\"valid\"],[[40918,40959],\"disallowed\"],[[40960,42124],\"valid\"],[[42125,42127],\"disallowed\"],[[42128,42145],\"valid\",[],\"NV8\"],[[42146,42147],\"valid\",[],\"NV8\"],[[42148,42163],\"valid\",[],\"NV8\"],[[42164,42164],\"valid\",[],\"NV8\"],[[42165,42176],\"valid\",[],\"NV8\"],[[42177,42177],\"valid\",[],\"NV8\"],[[42178,42180],\"valid\",[],\"NV8\"],[[42181,42181],\"valid\",[],\"NV8\"],[[42182,42182],\"valid\",[],\"NV8\"],[[42183,42191],\"disallowed\"],[[42192,42237],\"valid\"],[[42238,42239],\"valid\",[],\"NV8\"],[[42240,42508],\"valid\"],[[42509,42511],\"valid\",[],\"NV8\"],[[42512,42539],\"valid\"],[[42540,42559],\"disallowed\"],[[42560,42560],\"mapped\",[42561]],[[42561,42561],\"valid\"],[[42562,42562],\"mapped\",[42563]],[[42563,42563],\"valid\"],[[42564,42564],\"mapped\",[42565]],[[42565,42565],\"valid\"],[[42566,42566],\"mapped\",[42567]],[[42567,42567],\"valid\"],[[42568,42568],\"mapped\",[42569]],[[42569,42569],\"valid\"],[[42570,42570],\"mapped\",[42571]],[[42571,42571],\"valid\"],[[42572,42572],\"mapped\",[42573]],[[42573,42573],\"valid\"],[[42574,42574],\"mapped\",[42575]],[[42575,42575],\"valid\"],[[42576,42576],\"mapped\",[42577]],[[42577,42577],\"valid\"],[[42578,42578],\"mapped\",[42579]],[[42579,42579],\"valid\"],[[42580,42580],\"mapped\",[42581]],[[42581,42581],\"valid\"],[[42582,42582],\"mapped\",[42583]],[[42583,42583],\"valid\"],[[42584,42584],\"mapped\",[42585]],[[42585,42585],\"valid\"],[[42586,42586],\"mapped\",[42587]],[[42587,42587],\"valid\"],[[42588,42588],\"mapped\",[42589]],[[42589,42589],\"valid\"],[[42590,42590],\"mapped\",[42591]],[[42591,42591],\"valid\"],[[42592,42592],\"mapped\",[42593]],[[42593,42593],\"valid\"],[[42594,42594],\"mapped\",[42595]],[[42595,42595],\"valid\"],[[42596,42596],\"mapped\",[42597]],[[42597,42597],\"valid\"],[[42598,42598],\"mapped\",[42599]],[[42599,42599],\"valid\"],[[42600,42600],\"mapped\",[42601]],[[42601,42601],\"valid\"],[[42602,42602],\"mapped\",[42603]],[[42603,42603],\"valid\"],[[42604,42604],\"mapped\",[42605]],[[42605,42607],\"valid\"],[[42608,42611],\"valid\",[],\"NV8\"],[[42612,42619],\"valid\"],[[42620,42621],\"valid\"],[[42622,42622],\"valid\",[],\"NV8\"],[[42623,42623],\"valid\"],[[42624,42624],\"mapped\",[42625]],[[42625,42625],\"valid\"],[[42626,42626],\"mapped\",[42627]],[[42627,42627],\"valid\"],[[42628,42628],\"mapped\",[42629]],[[42629,42629],\"valid\"],[[42630,42630],\"mapped\",[42631]],[[42631,42631],\"valid\"],[[42632,42632],\"mapped\",[42633]],[[42633,42633],\"valid\"],[[42634,42634],\"mapped\",[42635]],[[42635,42635],\"valid\"],[[42636,42636],\"mapped\",[42637]],[[42637,42637],\"valid\"],[[42638,42638],\"mapped\",[42639]],[[42639,42639],\"valid\"],[[42640,42640],\"mapped\",[42641]],[[42641,42641],\"valid\"],[[42642,42642],\"mapped\",[42643]],[[42643,42643],\"valid\"],[[42644,42644],\"mapped\",[42645]],[[42645,42645],\"valid\"],[[42646,42646],\"mapped\",[42647]],[[42647,42647],\"valid\"],[[42648,42648],\"mapped\",[42649]],[[42649,42649],\"valid\"],[[42650,42650],\"mapped\",[42651]],[[42651,42651],\"valid\"],[[42652,42652],\"mapped\",[1098]],[[42653,42653],\"mapped\",[1100]],[[42654,42654],\"valid\"],[[42655,42655],\"valid\"],[[42656,42725],\"valid\"],[[42726,42735],\"valid\",[],\"NV8\"],[[42736,42737],\"valid\"],[[42738,42743],\"valid\",[],\"NV8\"],[[42744,42751],\"disallowed\"],[[42752,42774],\"valid\",[],\"NV8\"],[[42775,42778],\"valid\"],[[42779,42783],\"valid\"],[[42784,42785],\"valid\",[],\"NV8\"],[[42786,42786],\"mapped\",[42787]],[[42787,42787],\"valid\"],[[42788,42788],\"mapped\",[42789]],[[42789,42789],\"valid\"],[[42790,42790],\"mapped\",[42791]],[[42791,42791],\"valid\"],[[42792,42792],\"mapped\",[42793]],[[42793,42793],\"valid\"],[[42794,42794],\"mapped\",[42795]],[[42795,42795],\"valid\"],[[42796,42796],\"mapped\",[42797]],[[42797,42797],\"valid\"],[[42798,42798],\"mapped\",[42799]],[[42799,42801],\"valid\"],[[42802,42802],\"mapped\",[42803]],[[42803,42803],\"valid\"],[[42804,42804],\"mapped\",[42805]],[[42805,42805],\"valid\"],[[42806,42806],\"mapped\",[42807]],[[42807,42807],\"valid\"],[[42808,42808],\"mapped\",[42809]],[[42809,42809],\"valid\"],[[42810,42810],\"mapped\",[42811]],[[42811,42811],\"valid\"],[[42812,42812],\"mapped\",[42813]],[[42813,42813],\"valid\"],[[42814,42814],\"mapped\",[42815]],[[42815,42815],\"valid\"],[[42816,42816],\"mapped\",[42817]],[[42817,42817],\"valid\"],[[42818,42818],\"mapped\",[42819]],[[42819,42819],\"valid\"],[[42820,42820],\"mapped\",[42821]],[[42821,42821],\"valid\"],[[42822,42822],\"mapped\",[42823]],[[42823,42823],\"valid\"],[[42824,42824],\"mapped\",[42825]],[[42825,42825],\"valid\"],[[42826,42826],\"mapped\",[42827]],[[42827,42827],\"valid\"],[[42828,42828],\"mapped\",[42829]],[[42829,42829],\"valid\"],[[42830,42830],\"mapped\",[42831]],[[42831,42831],\"valid\"],[[42832,42832],\"mapped\",[42833]],[[42833,42833],\"valid\"],[[42834,42834],\"mapped\",[42835]],[[42835,42835],\"valid\"],[[42836,42836],\"mapped\",[42837]],[[42837,42837],\"valid\"],[[42838,42838],\"mapped\",[42839]],[[42839,42839],\"valid\"],[[42840,42840],\"mapped\",[42841]],[[42841,42841],\"valid\"],[[42842,42842],\"mapped\",[42843]],[[42843,42843],\"valid\"],[[42844,42844],\"mapped\",[42845]],[[42845,42845],\"valid\"],[[42846,42846],\"mapped\",[42847]],[[42847,42847],\"valid\"],[[42848,42848],\"mapped\",[42849]],[[42849,42849],\"valid\"],[[42850,42850],\"mapped\",[42851]],[[42851,42851],\"valid\"],[[42852,42852],\"mapped\",[42853]],[[42853,42853],\"valid\"],[[42854,42854],\"mapped\",[42855]],[[42855,42855],\"valid\"],[[42856,42856],\"mapped\",[42857]],[[42857,42857],\"valid\"],[[42858,42858],\"mapped\",[42859]],[[42859,42859],\"valid\"],[[42860,42860],\"mapped\",[42861]],[[42861,42861],\"valid\"],[[42862,42862],\"mapped\",[42863]],[[42863,42863],\"valid\"],[[42864,42864],\"mapped\",[42863]],[[42865,42872],\"valid\"],[[42873,42873],\"mapped\",[42874]],[[42874,42874],\"valid\"],[[42875,42875],\"mapped\",[42876]],[[42876,42876],\"valid\"],[[42877,42877],\"mapped\",[7545]],[[42878,42878],\"mapped\",[42879]],[[42879,42879],\"valid\"],[[42880,42880],\"mapped\",[42881]],[[42881,42881],\"valid\"],[[42882,42882],\"mapped\",[42883]],[[42883,42883],\"valid\"],[[42884,42884],\"mapped\",[42885]],[[42885,42885],\"valid\"],[[42886,42886],\"mapped\",[42887]],[[42887,42888],\"valid\"],[[42889,42890],\"valid\",[],\"NV8\"],[[42891,42891],\"mapped\",[42892]],[[42892,42892],\"valid\"],[[42893,42893],\"mapped\",[613]],[[42894,42894],\"valid\"],[[42895,42895],\"valid\"],[[42896,42896],\"mapped\",[42897]],[[42897,42897],\"valid\"],[[42898,42898],\"mapped\",[42899]],[[42899,42899],\"valid\"],[[42900,42901],\"valid\"],[[42902,42902],\"mapped\",[42903]],[[42903,42903],\"valid\"],[[42904,42904],\"mapped\",[42905]],[[42905,42905],\"valid\"],[[42906,42906],\"mapped\",[42907]],[[42907,42907],\"valid\"],[[42908,42908],\"mapped\",[42909]],[[42909,42909],\"valid\"],[[42910,42910],\"mapped\",[42911]],[[42911,42911],\"valid\"],[[42912,42912],\"mapped\",[42913]],[[42913,42913],\"valid\"],[[42914,42914],\"mapped\",[42915]],[[42915,42915],\"valid\"],[[42916,42916],\"mapped\",[42917]],[[42917,42917],\"valid\"],[[42918,42918],\"mapped\",[42919]],[[42919,42919],\"valid\"],[[42920,42920],\"mapped\",[42921]],[[42921,42921],\"valid\"],[[42922,42922],\"mapped\",[614]],[[42923,42923],\"mapped\",[604]],[[42924,42924],\"mapped\",[609]],[[42925,42925],\"mapped\",[620]],[[42926,42927],\"disallowed\"],[[42928,42928],\"mapped\",[670]],[[42929,42929],\"mapped\",[647]],[[42930,42930],\"mapped\",[669]],[[42931,42931],\"mapped\",[43859]],[[42932,42932],\"mapped\",[42933]],[[42933,42933],\"valid\"],[[42934,42934],\"mapped\",[42935]],[[42935,42935],\"valid\"],[[42936,42998],\"disallowed\"],[[42999,42999],\"valid\"],[[43000,43000],\"mapped\",[295]],[[43001,43001],\"mapped\",[339]],[[43002,43002],\"valid\"],[[43003,43007],\"valid\"],[[43008,43047],\"valid\"],[[43048,43051],\"valid\",[],\"NV8\"],[[43052,43055],\"disallowed\"],[[43056,43065],\"valid\",[],\"NV8\"],[[43066,43071],\"disallowed\"],[[43072,43123],\"valid\"],[[43124,43127],\"valid\",[],\"NV8\"],[[43128,43135],\"disallowed\"],[[43136,43204],\"valid\"],[[43205,43213],\"disallowed\"],[[43214,43215],\"valid\",[],\"NV8\"],[[43216,43225],\"valid\"],[[43226,43231],\"disallowed\"],[[43232,43255],\"valid\"],[[43256,43258],\"valid\",[],\"NV8\"],[[43259,43259],\"valid\"],[[43260,43260],\"valid\",[],\"NV8\"],[[43261,43261],\"valid\"],[[43262,43263],\"disallowed\"],[[43264,43309],\"valid\"],[[43310,43311],\"valid\",[],\"NV8\"],[[43312,43347],\"valid\"],[[43348,43358],\"disallowed\"],[[43359,43359],\"valid\",[],\"NV8\"],[[43360,43388],\"valid\",[],\"NV8\"],[[43389,43391],\"disallowed\"],[[43392,43456],\"valid\"],[[43457,43469],\"valid\",[],\"NV8\"],[[43470,43470],\"disallowed\"],[[43471,43481],\"valid\"],[[43482,43485],\"disallowed\"],[[43486,43487],\"valid\",[],\"NV8\"],[[43488,43518],\"valid\"],[[43519,43519],\"disallowed\"],[[43520,43574],\"valid\"],[[43575,43583],\"disallowed\"],[[43584,43597],\"valid\"],[[43598,43599],\"disallowed\"],[[43600,43609],\"valid\"],[[43610,43611],\"disallowed\"],[[43612,43615],\"valid\",[],\"NV8\"],[[43616,43638],\"valid\"],[[43639,43641],\"valid\",[],\"NV8\"],[[43642,43643],\"valid\"],[[43644,43647],\"valid\"],[[43648,43714],\"valid\"],[[43715,43738],\"disallowed\"],[[43739,43741],\"valid\"],[[43742,43743],\"valid\",[],\"NV8\"],[[43744,43759],\"valid\"],[[43760,43761],\"valid\",[],\"NV8\"],[[43762,43766],\"valid\"],[[43767,43776],\"disallowed\"],[[43777,43782],\"valid\"],[[43783,43784],\"disallowed\"],[[43785,43790],\"valid\"],[[43791,43792],\"disallowed\"],[[43793,43798],\"valid\"],[[43799,43807],\"disallowed\"],[[43808,43814],\"valid\"],[[43815,43815],\"disallowed\"],[[43816,43822],\"valid\"],[[43823,43823],\"disallowed\"],[[43824,43866],\"valid\"],[[43867,43867],\"valid\",[],\"NV8\"],[[43868,43868],\"mapped\",[42791]],[[43869,43869],\"mapped\",[43831]],[[43870,43870],\"mapped\",[619]],[[43871,43871],\"mapped\",[43858]],[[43872,43875],\"valid\"],[[43876,43877],\"valid\"],[[43878,43887],\"disallowed\"],[[43888,43888],\"mapped\",[5024]],[[43889,43889],\"mapped\",[5025]],[[43890,43890],\"mapped\",[5026]],[[43891,43891],\"mapped\",[5027]],[[43892,43892],\"mapped\",[5028]],[[43893,43893],\"mapped\",[5029]],[[43894,43894],\"mapped\",[5030]],[[43895,43895],\"mapped\",[5031]],[[43896,43896],\"mapped\",[5032]],[[43897,43897],\"mapped\",[5033]],[[43898,43898],\"mapped\",[5034]],[[43899,43899],\"mapped\",[5035]],[[43900,43900],\"mapped\",[5036]],[[43901,43901],\"mapped\",[5037]],[[43902,43902],\"mapped\",[5038]],[[43903,43903],\"mapped\",[5039]],[[43904,43904],\"mapped\",[5040]],[[43905,43905],\"mapped\",[5041]],[[43906,43906],\"mapped\",[5042]],[[43907,43907],\"mapped\",[5043]],[[43908,43908],\"mapped\",[5044]],[[43909,43909],\"mapped\",[5045]],[[43910,43910],\"mapped\",[5046]],[[43911,43911],\"mapped\",[5047]],[[43912,43912],\"mapped\",[5048]],[[43913,43913],\"mapped\",[5049]],[[43914,43914],\"mapped\",[5050]],[[43915,43915],\"mapped\",[5051]],[[43916,43916],\"mapped\",[5052]],[[43917,43917],\"mapped\",[5053]],[[43918,43918],\"mapped\",[5054]],[[43919,43919],\"mapped\",[5055]],[[43920,43920],\"mapped\",[5056]],[[43921,43921],\"mapped\",[5057]],[[43922,43922],\"mapped\",[5058]],[[43923,43923],\"mapped\",[5059]],[[43924,43924],\"mapped\",[5060]],[[43925,43925],\"mapped\",[5061]],[[43926,43926],\"mapped\",[5062]],[[43927,43927],\"mapped\",[5063]],[[43928,43928],\"mapped\",[5064]],[[43929,43929],\"mapped\",[5065]],[[43930,43930],\"mapped\",[5066]],[[43931,43931],\"mapped\",[5067]],[[43932,43932],\"mapped\",[5068]],[[43933,43933],\"mapped\",[5069]],[[43934,43934],\"mapped\",[5070]],[[43935,43935],\"mapped\",[5071]],[[43936,43936],\"mapped\",[5072]],[[43937,43937],\"mapped\",[5073]],[[43938,43938],\"mapped\",[5074]],[[43939,43939],\"mapped\",[5075]],[[43940,43940],\"mapped\",[5076]],[[43941,43941],\"mapped\",[5077]],[[43942,43942],\"mapped\",[5078]],[[43943,43943],\"mapped\",[5079]],[[43944,43944],\"mapped\",[5080]],[[43945,43945],\"mapped\",[5081]],[[43946,43946],\"mapped\",[5082]],[[43947,43947],\"mapped\",[5083]],[[43948,43948],\"mapped\",[5084]],[[43949,43949],\"mapped\",[5085]],[[43950,43950],\"mapped\",[5086]],[[43951,43951],\"mapped\",[5087]],[[43952,43952],\"mapped\",[5088]],[[43953,43953],\"mapped\",[5089]],[[43954,43954],\"mapped\",[5090]],[[43955,43955],\"mapped\",[5091]],[[43956,43956],\"mapped\",[5092]],[[43957,43957],\"mapped\",[5093]],[[43958,43958],\"mapped\",[5094]],[[43959,43959],\"mapped\",[5095]],[[43960,43960],\"mapped\",[5096]],[[43961,43961],\"mapped\",[5097]],[[43962,43962],\"mapped\",[5098]],[[43963,43963],\"mapped\",[5099]],[[43964,43964],\"mapped\",[5100]],[[43965,43965],\"mapped\",[5101]],[[43966,43966],\"mapped\",[5102]],[[43967,43967],\"mapped\",[5103]],[[43968,44010],\"valid\"],[[44011,44011],\"valid\",[],\"NV8\"],[[44012,44013],\"valid\"],[[44014,44015],\"disallowed\"],[[44016,44025],\"valid\"],[[44026,44031],\"disallowed\"],[[44032,55203],\"valid\"],[[55204,55215],\"disallowed\"],[[55216,55238],\"valid\",[],\"NV8\"],[[55239,55242],\"disallowed\"],[[55243,55291],\"valid\",[],\"NV8\"],[[55292,55295],\"disallowed\"],[[55296,57343],\"disallowed\"],[[57344,63743],\"disallowed\"],[[63744,63744],\"mapped\",[35912]],[[63745,63745],\"mapped\",[26356]],[[63746,63746],\"mapped\",[36554]],[[63747,63747],\"mapped\",[36040]],[[63748,63748],\"mapped\",[28369]],[[63749,63749],\"mapped\",[20018]],[[63750,63750],\"mapped\",[21477]],[[63751,63752],\"mapped\",[40860]],[[63753,63753],\"mapped\",[22865]],[[63754,63754],\"mapped\",[37329]],[[63755,63755],\"mapped\",[21895]],[[63756,63756],\"mapped\",[22856]],[[63757,63757],\"mapped\",[25078]],[[63758,63758],\"mapped\",[30313]],[[63759,63759],\"mapped\",[32645]],[[63760,63760],\"mapped\",[34367]],[[63761,63761],\"mapped\",[34746]],[[63762,63762],\"mapped\",[35064]],[[63763,63763],\"mapped\",[37007]],[[63764,63764],\"mapped\",[27138]],[[63765,63765],\"mapped\",[27931]],[[63766,63766],\"mapped\",[28889]],[[63767,63767],\"mapped\",[29662]],[[63768,63768],\"mapped\",[33853]],[[63769,63769],\"mapped\",[37226]],[[63770,63770],\"mapped\",[39409]],[[63771,63771],\"mapped\",[20098]],[[63772,63772],\"mapped\",[21365]],[[63773,63773],\"mapped\",[27396]],[[63774,63774],\"mapped\",[29211]],[[63775,63775],\"mapped\",[34349]],[[63776,63776],\"mapped\",[40478]],[[63777,63777],\"mapped\",[23888]],[[63778,63778],\"mapped\",[28651]],[[63779,63779],\"mapped\",[34253]],[[63780,63780],\"mapped\",[35172]],[[63781,63781],\"mapped\",[25289]],[[63782,63782],\"mapped\",[33240]],[[63783,63783],\"mapped\",[34847]],[[63784,63784],\"mapped\",[24266]],[[63785,63785],\"mapped\",[26391]],[[63786,63786],\"mapped\",[28010]],[[63787,63787],\"mapped\",[29436]],[[63788,63788],\"mapped\",[37070]],[[63789,63789],\"mapped\",[20358]],[[63790,63790],\"mapped\",[20919]],[[63791,63791],\"mapped\",[21214]],[[63792,63792],\"mapped\",[25796]],[[63793,63793],\"mapped\",[27347]],[[63794,63794],\"mapped\",[29200]],[[63795,63795],\"mapped\",[30439]],[[63796,63796],\"mapped\",[32769]],[[63797,63797],\"mapped\",[34310]],[[63798,63798],\"mapped\",[34396]],[[63799,63799],\"mapped\",[36335]],[[63800,63800],\"mapped\",[38706]],[[63801,63801],\"mapped\",[39791]],[[63802,63802],\"mapped\",[40442]],[[63803,63803],\"mapped\",[30860]],[[63804,63804],\"mapped\",[31103]],[[63805,63805],\"mapped\",[32160]],[[63806,63806],\"mapped\",[33737]],[[63807,63807],\"mapped\",[37636]],[[63808,63808],\"mapped\",[40575]],[[63809,63809],\"mapped\",[35542]],[[63810,63810],\"mapped\",[22751]],[[63811,63811],\"mapped\",[24324]],[[63812,63812],\"mapped\",[31840]],[[63813,63813],\"mapped\",[32894]],[[63814,63814],\"mapped\",[29282]],[[63815,63815],\"mapped\",[30922]],[[63816,63816],\"mapped\",[36034]],[[63817,63817],\"mapped\",[38647]],[[63818,63818],\"mapped\",[22744]],[[63819,63819],\"mapped\",[23650]],[[63820,63820],\"mapped\",[27155]],[[63821,63821],\"mapped\",[28122]],[[63822,63822],\"mapped\",[28431]],[[63823,63823],\"mapped\",[32047]],[[63824,63824],\"mapped\",[32311]],[[63825,63825],\"mapped\",[38475]],[[63826,63826],\"mapped\",[21202]],[[63827,63827],\"mapped\",[32907]],[[63828,63828],\"mapped\",[20956]],[[63829,63829],\"mapped\",[20940]],[[63830,63830],\"mapped\",[31260]],[[63831,63831],\"mapped\",[32190]],[[63832,63832],\"mapped\",[33777]],[[63833,63833],\"mapped\",[38517]],[[63834,63834],\"mapped\",[35712]],[[63835,63835],\"mapped\",[25295]],[[63836,63836],\"mapped\",[27138]],[[63837,63837],\"mapped\",[35582]],[[63838,63838],\"mapped\",[20025]],[[63839,63839],\"mapped\",[23527]],[[63840,63840],\"mapped\",[24594]],[[63841,63841],\"mapped\",[29575]],[[63842,63842],\"mapped\",[30064]],[[63843,63843],\"mapped\",[21271]],[[63844,63844],\"mapped\",[30971]],[[63845,63845],\"mapped\",[20415]],[[63846,63846],\"mapped\",[24489]],[[63847,63847],\"mapped\",[19981]],[[63848,63848],\"mapped\",[27852]],[[63849,63849],\"mapped\",[25976]],[[63850,63850],\"mapped\",[32034]],[[63851,63851],\"mapped\",[21443]],[[63852,63852],\"mapped\",[22622]],[[63853,63853],\"mapped\",[30465]],[[63854,63854],\"mapped\",[33865]],[[63855,63855],\"mapped\",[35498]],[[63856,63856],\"mapped\",[27578]],[[63857,63857],\"mapped\",[36784]],[[63858,63858],\"mapped\",[27784]],[[63859,63859],\"mapped\",[25342]],[[63860,63860],\"mapped\",[33509]],[[63861,63861],\"mapped\",[25504]],[[63862,63862],\"mapped\",[30053]],[[63863,63863],\"mapped\",[20142]],[[63864,63864],\"mapped\",[20841]],[[63865,63865],\"mapped\",[20937]],[[63866,63866],\"mapped\",[26753]],[[63867,63867],\"mapped\",[31975]],[[63868,63868],\"mapped\",[33391]],[[63869,63869],\"mapped\",[35538]],[[63870,63870],\"mapped\",[37327]],[[63871,63871],\"mapped\",[21237]],[[63872,63872],\"mapped\",[21570]],[[63873,63873],\"mapped\",[22899]],[[63874,63874],\"mapped\",[24300]],[[63875,63875],\"mapped\",[26053]],[[63876,63876],\"mapped\",[28670]],[[63877,63877],\"mapped\",[31018]],[[63878,63878],\"mapped\",[38317]],[[63879,63879],\"mapped\",[39530]],[[63880,63880],\"mapped\",[40599]],[[63881,63881],\"mapped\",[40654]],[[63882,63882],\"mapped\",[21147]],[[63883,63883],\"mapped\",[26310]],[[63884,63884],\"mapped\",[27511]],[[63885,63885],\"mapped\",[36706]],[[63886,63886],\"mapped\",[24180]],[[63887,63887],\"mapped\",[24976]],[[63888,63888],\"mapped\",[25088]],[[63889,63889],\"mapped\",[25754]],[[63890,63890],\"mapped\",[28451]],[[63891,63891],\"mapped\",[29001]],[[63892,63892],\"mapped\",[29833]],[[63893,63893],\"mapped\",[31178]],[[63894,63894],\"mapped\",[32244]],[[63895,63895],\"mapped\",[32879]],[[63896,63896],\"mapped\",[36646]],[[63897,63897],\"mapped\",[34030]],[[63898,63898],\"mapped\",[36899]],[[63899,63899],\"mapped\",[37706]],[[63900,63900],\"mapped\",[21015]],[[63901,63901],\"mapped\",[21155]],[[63902,63902],\"mapped\",[21693]],[[63903,63903],\"mapped\",[28872]],[[63904,63904],\"mapped\",[35010]],[[63905,63905],\"mapped\",[35498]],[[63906,63906],\"mapped\",[24265]],[[63907,63907],\"mapped\",[24565]],[[63908,63908],\"mapped\",[25467]],[[63909,63909],\"mapped\",[27566]],[[63910,63910],\"mapped\",[31806]],[[63911,63911],\"mapped\",[29557]],[[63912,63912],\"mapped\",[20196]],[[63913,63913],\"mapped\",[22265]],[[63914,63914],\"mapped\",[23527]],[[63915,63915],\"mapped\",[23994]],[[63916,63916],\"mapped\",[24604]],[[63917,63917],\"mapped\",[29618]],[[63918,63918],\"mapped\",[29801]],[[63919,63919],\"mapped\",[32666]],[[63920,63920],\"mapped\",[32838]],[[63921,63921],\"mapped\",[37428]],[[63922,63922],\"mapped\",[38646]],[[63923,63923],\"mapped\",[38728]],[[63924,63924],\"mapped\",[38936]],[[63925,63925],\"mapped\",[20363]],[[63926,63926],\"mapped\",[31150]],[[63927,63927],\"mapped\",[37300]],[[63928,63928],\"mapped\",[38584]],[[63929,63929],\"mapped\",[24801]],[[63930,63930],\"mapped\",[20102]],[[63931,63931],\"mapped\",[20698]],[[63932,63932],\"mapped\",[23534]],[[63933,63933],\"mapped\",[23615]],[[63934,63934],\"mapped\",[26009]],[[63935,63935],\"mapped\",[27138]],[[63936,63936],\"mapped\",[29134]],[[63937,63937],\"mapped\",[30274]],[[63938,63938],\"mapped\",[34044]],[[63939,63939],\"mapped\",[36988]],[[63940,63940],\"mapped\",[40845]],[[63941,63941],\"mapped\",[26248]],[[63942,63942],\"mapped\",[38446]],[[63943,63943],\"mapped\",[21129]],[[63944,63944],\"mapped\",[26491]],[[63945,63945],\"mapped\",[26611]],[[63946,63946],\"mapped\",[27969]],[[63947,63947],\"mapped\",[28316]],[[63948,63948],\"mapped\",[29705]],[[63949,63949],\"mapped\",[30041]],[[63950,63950],\"mapped\",[30827]],[[63951,63951],\"mapped\",[32016]],[[63952,63952],\"mapped\",[39006]],[[63953,63953],\"mapped\",[20845]],[[63954,63954],\"mapped\",[25134]],[[63955,63955],\"mapped\",[38520]],[[63956,63956],\"mapped\",[20523]],[[63957,63957],\"mapped\",[23833]],[[63958,63958],\"mapped\",[28138]],[[63959,63959],\"mapped\",[36650]],[[63960,63960],\"mapped\",[24459]],[[63961,63961],\"mapped\",[24900]],[[63962,63962],\"mapped\",[26647]],[[63963,63963],\"mapped\",[29575]],[[63964,63964],\"mapped\",[38534]],[[63965,63965],\"mapped\",[21033]],[[63966,63966],\"mapped\",[21519]],[[63967,63967],\"mapped\",[23653]],[[63968,63968],\"mapped\",[26131]],[[63969,63969],\"mapped\",[26446]],[[63970,63970],\"mapped\",[26792]],[[63971,63971],\"mapped\",[27877]],[[63972,63972],\"mapped\",[29702]],[[63973,63973],\"mapped\",[30178]],[[63974,63974],\"mapped\",[32633]],[[63975,63975],\"mapped\",[35023]],[[63976,63976],\"mapped\",[35041]],[[63977,63977],\"mapped\",[37324]],[[63978,63978],\"mapped\",[38626]],[[63979,63979],\"mapped\",[21311]],[[63980,63980],\"mapped\",[28346]],[[63981,63981],\"mapped\",[21533]],[[63982,63982],\"mapped\",[29136]],[[63983,63983],\"mapped\",[29848]],[[63984,63984],\"mapped\",[34298]],[[63985,63985],\"mapped\",[38563]],[[63986,63986],\"mapped\",[40023]],[[63987,63987],\"mapped\",[40607]],[[63988,63988],\"mapped\",[26519]],[[63989,63989],\"mapped\",[28107]],[[63990,63990],\"mapped\",[33256]],[[63991,63991],\"mapped\",[31435]],[[63992,63992],\"mapped\",[31520]],[[63993,63993],\"mapped\",[31890]],[[63994,63994],\"mapped\",[29376]],[[63995,63995],\"mapped\",[28825]],[[63996,63996],\"mapped\",[35672]],[[63997,63997],\"mapped\",[20160]],[[63998,63998],\"mapped\",[33590]],[[63999,63999],\"mapped\",[21050]],[[64000,64000],\"mapped\",[20999]],[[64001,64001],\"mapped\",[24230]],[[64002,64002],\"mapped\",[25299]],[[64003,64003],\"mapped\",[31958]],[[64004,64004],\"mapped\",[23429]],[[64005,64005],\"mapped\",[27934]],[[64006,64006],\"mapped\",[26292]],[[64007,64007],\"mapped\",[36667]],[[64008,64008],\"mapped\",[34892]],[[64009,64009],\"mapped\",[38477]],[[64010,64010],\"mapped\",[35211]],[[64011,64011],\"mapped\",[24275]],[[64012,64012],\"mapped\",[20800]],[[64013,64013],\"mapped\",[21952]],[[64014,64015],\"valid\"],[[64016,64016],\"mapped\",[22618]],[[64017,64017],\"valid\"],[[64018,64018],\"mapped\",[26228]],[[64019,64020],\"valid\"],[[64021,64021],\"mapped\",[20958]],[[64022,64022],\"mapped\",[29482]],[[64023,64023],\"mapped\",[30410]],[[64024,64024],\"mapped\",[31036]],[[64025,64025],\"mapped\",[31070]],[[64026,64026],\"mapped\",[31077]],[[64027,64027],\"mapped\",[31119]],[[64028,64028],\"mapped\",[38742]],[[64029,64029],\"mapped\",[31934]],[[64030,64030],\"mapped\",[32701]],[[64031,64031],\"valid\"],[[64032,64032],\"mapped\",[34322]],[[64033,64033],\"valid\"],[[64034,64034],\"mapped\",[35576]],[[64035,64036],\"valid\"],[[64037,64037],\"mapped\",[36920]],[[64038,64038],\"mapped\",[37117]],[[64039,64041],\"valid\"],[[64042,64042],\"mapped\",[39151]],[[64043,64043],\"mapped\",[39164]],[[64044,64044],\"mapped\",[39208]],[[64045,64045],\"mapped\",[40372]],[[64046,64046],\"mapped\",[37086]],[[64047,64047],\"mapped\",[38583]],[[64048,64048],\"mapped\",[20398]],[[64049,64049],\"mapped\",[20711]],[[64050,64050],\"mapped\",[20813]],[[64051,64051],\"mapped\",[21193]],[[64052,64052],\"mapped\",[21220]],[[64053,64053],\"mapped\",[21329]],[[64054,64054],\"mapped\",[21917]],[[64055,64055],\"mapped\",[22022]],[[64056,64056],\"mapped\",[22120]],[[64057,64057],\"mapped\",[22592]],[[64058,64058],\"mapped\",[22696]],[[64059,64059],\"mapped\",[23652]],[[64060,64060],\"mapped\",[23662]],[[64061,64061],\"mapped\",[24724]],[[64062,64062],\"mapped\",[24936]],[[64063,64063],\"mapped\",[24974]],[[64064,64064],\"mapped\",[25074]],[[64065,64065],\"mapped\",[25935]],[[64066,64066],\"mapped\",[26082]],[[64067,64067],\"mapped\",[26257]],[[64068,64068],\"mapped\",[26757]],[[64069,64069],\"mapped\",[28023]],[[64070,64070],\"mapped\",[28186]],[[64071,64071],\"mapped\",[28450]],[[64072,64072],\"mapped\",[29038]],[[64073,64073],\"mapped\",[29227]],[[64074,64074],\"mapped\",[29730]],[[64075,64075],\"mapped\",[30865]],[[64076,64076],\"mapped\",[31038]],[[64077,64077],\"mapped\",[31049]],[[64078,64078],\"mapped\",[31048]],[[64079,64079],\"mapped\",[31056]],[[64080,64080],\"mapped\",[31062]],[[64081,64081],\"mapped\",[31069]],[[64082,64082],\"mapped\",[31117]],[[64083,64083],\"mapped\",[31118]],[[64084,64084],\"mapped\",[31296]],[[64085,64085],\"mapped\",[31361]],[[64086,64086],\"mapped\",[31680]],[[64087,64087],\"mapped\",[32244]],[[64088,64088],\"mapped\",[32265]],[[64089,64089],\"mapped\",[32321]],[[64090,64090],\"mapped\",[32626]],[[64091,64091],\"mapped\",[32773]],[[64092,64092],\"mapped\",[33261]],[[64093,64094],\"mapped\",[33401]],[[64095,64095],\"mapped\",[33879]],[[64096,64096],\"mapped\",[35088]],[[64097,64097],\"mapped\",[35222]],[[64098,64098],\"mapped\",[35585]],[[64099,64099],\"mapped\",[35641]],[[64100,64100],\"mapped\",[36051]],[[64101,64101],\"mapped\",[36104]],[[64102,64102],\"mapped\",[36790]],[[64103,64103],\"mapped\",[36920]],[[64104,64104],\"mapped\",[38627]],[[64105,64105],\"mapped\",[38911]],[[64106,64106],\"mapped\",[38971]],[[64107,64107],\"mapped\",[24693]],[[64108,64108],\"mapped\",[148206]],[[64109,64109],\"mapped\",[33304]],[[64110,64111],\"disallowed\"],[[64112,64112],\"mapped\",[20006]],[[64113,64113],\"mapped\",[20917]],[[64114,64114],\"mapped\",[20840]],[[64115,64115],\"mapped\",[20352]],[[64116,64116],\"mapped\",[20805]],[[64117,64117],\"mapped\",[20864]],[[64118,64118],\"mapped\",[21191]],[[64119,64119],\"mapped\",[21242]],[[64120,64120],\"mapped\",[21917]],[[64121,64121],\"mapped\",[21845]],[[64122,64122],\"mapped\",[21913]],[[64123,64123],\"mapped\",[21986]],[[64124,64124],\"mapped\",[22618]],[[64125,64125],\"mapped\",[22707]],[[64126,64126],\"mapped\",[22852]],[[64127,64127],\"mapped\",[22868]],[[64128,64128],\"mapped\",[23138]],[[64129,64129],\"mapped\",[23336]],[[64130,64130],\"mapped\",[24274]],[[64131,64131],\"mapped\",[24281]],[[64132,64132],\"mapped\",[24425]],[[64133,64133],\"mapped\",[24493]],[[64134,64134],\"mapped\",[24792]],[[64135,64135],\"mapped\",[24910]],[[64136,64136],\"mapped\",[24840]],[[64137,64137],\"mapped\",[24974]],[[64138,64138],\"mapped\",[24928]],[[64139,64139],\"mapped\",[25074]],[[64140,64140],\"mapped\",[25140]],[[64141,64141],\"mapped\",[25540]],[[64142,64142],\"mapped\",[25628]],[[64143,64143],\"mapped\",[25682]],[[64144,64144],\"mapped\",[25942]],[[64145,64145],\"mapped\",[26228]],[[64146,64146],\"mapped\",[26391]],[[64147,64147],\"mapped\",[26395]],[[64148,64148],\"mapped\",[26454]],[[64149,64149],\"mapped\",[27513]],[[64150,64150],\"mapped\",[27578]],[[64151,64151],\"mapped\",[27969]],[[64152,64152],\"mapped\",[28379]],[[64153,64153],\"mapped\",[28363]],[[64154,64154],\"mapped\",[28450]],[[64155,64155],\"mapped\",[28702]],[[64156,64156],\"mapped\",[29038]],[[64157,64157],\"mapped\",[30631]],[[64158,64158],\"mapped\",[29237]],[[64159,64159],\"mapped\",[29359]],[[64160,64160],\"mapped\",[29482]],[[64161,64161],\"mapped\",[29809]],[[64162,64162],\"mapped\",[29958]],[[64163,64163],\"mapped\",[30011]],[[64164,64164],\"mapped\",[30237]],[[64165,64165],\"mapped\",[30239]],[[64166,64166],\"mapped\",[30410]],[[64167,64167],\"mapped\",[30427]],[[64168,64168],\"mapped\",[30452]],[[64169,64169],\"mapped\",[30538]],[[64170,64170],\"mapped\",[30528]],[[64171,64171],\"mapped\",[30924]],[[64172,64172],\"mapped\",[31409]],[[64173,64173],\"mapped\",[31680]],[[64174,64174],\"mapped\",[31867]],[[64175,64175],\"mapped\",[32091]],[[64176,64176],\"mapped\",[32244]],[[64177,64177],\"mapped\",[32574]],[[64178,64178],\"mapped\",[32773]],[[64179,64179],\"mapped\",[33618]],[[64180,64180],\"mapped\",[33775]],[[64181,64181],\"mapped\",[34681]],[[64182,64182],\"mapped\",[35137]],[[64183,64183],\"mapped\",[35206]],[[64184,64184],\"mapped\",[35222]],[[64185,64185],\"mapped\",[35519]],[[64186,64186],\"mapped\",[35576]],[[64187,64187],\"mapped\",[35531]],[[64188,64188],\"mapped\",[35585]],[[64189,64189],\"mapped\",[35582]],[[64190,64190],\"mapped\",[35565]],[[64191,64191],\"mapped\",[35641]],[[64192,64192],\"mapped\",[35722]],[[64193,64193],\"mapped\",[36104]],[[64194,64194],\"mapped\",[36664]],[[64195,64195],\"mapped\",[36978]],[[64196,64196],\"mapped\",[37273]],[[64197,64197],\"mapped\",[37494]],[[64198,64198],\"mapped\",[38524]],[[64199,64199],\"mapped\",[38627]],[[64200,64200],\"mapped\",[38742]],[[64201,64201],\"mapped\",[38875]],[[64202,64202],\"mapped\",[38911]],[[64203,64203],\"mapped\",[38923]],[[64204,64204],\"mapped\",[38971]],[[64205,64205],\"mapped\",[39698]],[[64206,64206],\"mapped\",[40860]],[[64207,64207],\"mapped\",[141386]],[[64208,64208],\"mapped\",[141380]],[[64209,64209],\"mapped\",[144341]],[[64210,64210],\"mapped\",[15261]],[[64211,64211],\"mapped\",[16408]],[[64212,64212],\"mapped\",[16441]],[[64213,64213],\"mapped\",[152137]],[[64214,64214],\"mapped\",[154832]],[[64215,64215],\"mapped\",[163539]],[[64216,64216],\"mapped\",[40771]],[[64217,64217],\"mapped\",[40846]],[[64218,64255],\"disallowed\"],[[64256,64256],\"mapped\",[102,102]],[[64257,64257],\"mapped\",[102,105]],[[64258,64258],\"mapped\",[102,108]],[[64259,64259],\"mapped\",[102,102,105]],[[64260,64260],\"mapped\",[102,102,108]],[[64261,64262],\"mapped\",[115,116]],[[64263,64274],\"disallowed\"],[[64275,64275],\"mapped\",[1396,1398]],[[64276,64276],\"mapped\",[1396,1381]],[[64277,64277],\"mapped\",[1396,1387]],[[64278,64278],\"mapped\",[1406,1398]],[[64279,64279],\"mapped\",[1396,1389]],[[64280,64284],\"disallowed\"],[[64285,64285],\"mapped\",[1497,1460]],[[64286,64286],\"valid\"],[[64287,64287],\"mapped\",[1522,1463]],[[64288,64288],\"mapped\",[1506]],[[64289,64289],\"mapped\",[1488]],[[64290,64290],\"mapped\",[1491]],[[64291,64291],\"mapped\",[1492]],[[64292,64292],\"mapped\",[1499]],[[64293,64293],\"mapped\",[1500]],[[64294,64294],\"mapped\",[1501]],[[64295,64295],\"mapped\",[1512]],[[64296,64296],\"mapped\",[1514]],[[64297,64297],\"disallowed_STD3_mapped\",[43]],[[64298,64298],\"mapped\",[1513,1473]],[[64299,64299],\"mapped\",[1513,1474]],[[64300,64300],\"mapped\",[1513,1468,1473]],[[64301,64301],\"mapped\",[1513,1468,1474]],[[64302,64302],\"mapped\",[1488,1463]],[[64303,64303],\"mapped\",[1488,1464]],[[64304,64304],\"mapped\",[1488,1468]],[[64305,64305],\"mapped\",[1489,1468]],[[64306,64306],\"mapped\",[1490,1468]],[[64307,64307],\"mapped\",[1491,1468]],[[64308,64308],\"mapped\",[1492,1468]],[[64309,64309],\"mapped\",[1493,1468]],[[64310,64310],\"mapped\",[1494,1468]],[[64311,64311],\"disallowed\"],[[64312,64312],\"mapped\",[1496,1468]],[[64313,64313],\"mapped\",[1497,1468]],[[64314,64314],\"mapped\",[1498,1468]],[[64315,64315],\"mapped\",[1499,1468]],[[64316,64316],\"mapped\",[1500,1468]],[[64317,64317],\"disallowed\"],[[64318,64318],\"mapped\",[1502,1468]],[[64319,64319],\"disallowed\"],[[64320,64320],\"mapped\",[1504,1468]],[[64321,64321],\"mapped\",[1505,1468]],[[64322,64322],\"disallowed\"],[[64323,64323],\"mapped\",[1507,1468]],[[64324,64324],\"mapped\",[1508,1468]],[[64325,64325],\"disallowed\"],[[64326,64326],\"mapped\",[1510,1468]],[[64327,64327],\"mapped\",[1511,1468]],[[64328,64328],\"mapped\",[1512,1468]],[[64329,64329],\"mapped\",[1513,1468]],[[64330,64330],\"mapped\",[1514,1468]],[[64331,64331],\"mapped\",[1493,1465]],[[64332,64332],\"mapped\",[1489,1471]],[[64333,64333],\"mapped\",[1499,1471]],[[64334,64334],\"mapped\",[1508,1471]],[[64335,64335],\"mapped\",[1488,1500]],[[64336,64337],\"mapped\",[1649]],[[64338,64341],\"mapped\",[1659]],[[64342,64345],\"mapped\",[1662]],[[64346,64349],\"mapped\",[1664]],[[64350,64353],\"mapped\",[1658]],[[64354,64357],\"mapped\",[1663]],[[64358,64361],\"mapped\",[1657]],[[64362,64365],\"mapped\",[1700]],[[64366,64369],\"mapped\",[1702]],[[64370,64373],\"mapped\",[1668]],[[64374,64377],\"mapped\",[1667]],[[64378,64381],\"mapped\",[1670]],[[64382,64385],\"mapped\",[1671]],[[64386,64387],\"mapped\",[1677]],[[64388,64389],\"mapped\",[1676]],[[64390,64391],\"mapped\",[1678]],[[64392,64393],\"mapped\",[1672]],[[64394,64395],\"mapped\",[1688]],[[64396,64397],\"mapped\",[1681]],[[64398,64401],\"mapped\",[1705]],[[64402,64405],\"mapped\",[1711]],[[64406,64409],\"mapped\",[1715]],[[64410,64413],\"mapped\",[1713]],[[64414,64415],\"mapped\",[1722]],[[64416,64419],\"mapped\",[1723]],[[64420,64421],\"mapped\",[1728]],[[64422,64425],\"mapped\",[1729]],[[64426,64429],\"mapped\",[1726]],[[64430,64431],\"mapped\",[1746]],[[64432,64433],\"mapped\",[1747]],[[64434,64449],\"valid\",[],\"NV8\"],[[64450,64466],\"disallowed\"],[[64467,64470],\"mapped\",[1709]],[[64471,64472],\"mapped\",[1735]],[[64473,64474],\"mapped\",[1734]],[[64475,64476],\"mapped\",[1736]],[[64477,64477],\"mapped\",[1735,1652]],[[64478,64479],\"mapped\",[1739]],[[64480,64481],\"mapped\",[1733]],[[64482,64483],\"mapped\",[1737]],[[64484,64487],\"mapped\",[1744]],[[64488,64489],\"mapped\",[1609]],[[64490,64491],\"mapped\",[1574,1575]],[[64492,64493],\"mapped\",[1574,1749]],[[64494,64495],\"mapped\",[1574,1608]],[[64496,64497],\"mapped\",[1574,1735]],[[64498,64499],\"mapped\",[1574,1734]],[[64500,64501],\"mapped\",[1574,1736]],[[64502,64504],\"mapped\",[1574,1744]],[[64505,64507],\"mapped\",[1574,1609]],[[64508,64511],\"mapped\",[1740]],[[64512,64512],\"mapped\",[1574,1580]],[[64513,64513],\"mapped\",[1574,1581]],[[64514,64514],\"mapped\",[1574,1605]],[[64515,64515],\"mapped\",[1574,1609]],[[64516,64516],\"mapped\",[1574,1610]],[[64517,64517],\"mapped\",[1576,1580]],[[64518,64518],\"mapped\",[1576,1581]],[[64519,64519],\"mapped\",[1576,1582]],[[64520,64520],\"mapped\",[1576,1605]],[[64521,64521],\"mapped\",[1576,1609]],[[64522,64522],\"mapped\",[1576,1610]],[[64523,64523],\"mapped\",[1578,1580]],[[64524,64524],\"mapped\",[1578,1581]],[[64525,64525],\"mapped\",[1578,1582]],[[64526,64526],\"mapped\",[1578,1605]],[[64527,64527],\"mapped\",[1578,1609]],[[64528,64528],\"mapped\",[1578,1610]],[[64529,64529],\"mapped\",[1579,1580]],[[64530,64530],\"mapped\",[1579,1605]],[[64531,64531],\"mapped\",[1579,1609]],[[64532,64532],\"mapped\",[1579,1610]],[[64533,64533],\"mapped\",[1580,1581]],[[64534,64534],\"mapped\",[1580,1605]],[[64535,64535],\"mapped\",[1581,1580]],[[64536,64536],\"mapped\",[1581,1605]],[[64537,64537],\"mapped\",[1582,1580]],[[64538,64538],\"mapped\",[1582,1581]],[[64539,64539],\"mapped\",[1582,1605]],[[64540,64540],\"mapped\",[1587,1580]],[[64541,64541],\"mapped\",[1587,1581]],[[64542,64542],\"mapped\",[1587,1582]],[[64543,64543],\"mapped\",[1587,1605]],[[64544,64544],\"mapped\",[1589,1581]],[[64545,64545],\"mapped\",[1589,1605]],[[64546,64546],\"mapped\",[1590,1580]],[[64547,64547],\"mapped\",[1590,1581]],[[64548,64548],\"mapped\",[1590,1582]],[[64549,64549],\"mapped\",[1590,1605]],[[64550,64550],\"mapped\",[1591,1581]],[[64551,64551],\"mapped\",[1591,1605]],[[64552,64552],\"mapped\",[1592,1605]],[[64553,64553],\"mapped\",[1593,1580]],[[64554,64554],\"mapped\",[1593,1605]],[[64555,64555],\"mapped\",[1594,1580]],[[64556,64556],\"mapped\",[1594,1605]],[[64557,64557],\"mapped\",[1601,1580]],[[64558,64558],\"mapped\",[1601,1581]],[[64559,64559],\"mapped\",[1601,1582]],[[64560,64560],\"mapped\",[1601,1605]],[[64561,64561],\"mapped\",[1601,1609]],[[64562,64562],\"mapped\",[1601,1610]],[[64563,64563],\"mapped\",[1602,1581]],[[64564,64564],\"mapped\",[1602,1605]],[[64565,64565],\"mapped\",[1602,1609]],[[64566,64566],\"mapped\",[1602,1610]],[[64567,64567],\"mapped\",[1603,1575]],[[64568,64568],\"mapped\",[1603,1580]],[[64569,64569],\"mapped\",[1603,1581]],[[64570,64570],\"mapped\",[1603,1582]],[[64571,64571],\"mapped\",[1603,1604]],[[64572,64572],\"mapped\",[1603,1605]],[[64573,64573],\"mapped\",[1603,1609]],[[64574,64574],\"mapped\",[1603,1610]],[[64575,64575],\"mapped\",[1604,1580]],[[64576,64576],\"mapped\",[1604,1581]],[[64577,64577],\"mapped\",[1604,1582]],[[64578,64578],\"mapped\",[1604,1605]],[[64579,64579],\"mapped\",[1604,1609]],[[64580,64580],\"mapped\",[1604,1610]],[[64581,64581],\"mapped\",[1605,1580]],[[64582,64582],\"mapped\",[1605,1581]],[[64583,64583],\"mapped\",[1605,1582]],[[64584,64584],\"mapped\",[1605,1605]],[[64585,64585],\"mapped\",[1605,1609]],[[64586,64586],\"mapped\",[1605,1610]],[[64587,64587],\"mapped\",[1606,1580]],[[64588,64588],\"mapped\",[1606,1581]],[[64589,64589],\"mapped\",[1606,1582]],[[64590,64590],\"mapped\",[1606,1605]],[[64591,64591],\"mapped\",[1606,1609]],[[64592,64592],\"mapped\",[1606,1610]],[[64593,64593],\"mapped\",[1607,1580]],[[64594,64594],\"mapped\",[1607,1605]],[[64595,64595],\"mapped\",[1607,1609]],[[64596,64596],\"mapped\",[1607,1610]],[[64597,64597],\"mapped\",[1610,1580]],[[64598,64598],\"mapped\",[1610,1581]],[[64599,64599],\"mapped\",[1610,1582]],[[64600,64600],\"mapped\",[1610,1605]],[[64601,64601],\"mapped\",[1610,1609]],[[64602,64602],\"mapped\",[1610,1610]],[[64603,64603],\"mapped\",[1584,1648]],[[64604,64604],\"mapped\",[1585,1648]],[[64605,64605],\"mapped\",[1609,1648]],[[64606,64606],\"disallowed_STD3_mapped\",[32,1612,1617]],[[64607,64607],\"disallowed_STD3_mapped\",[32,1613,1617]],[[64608,64608],\"disallowed_STD3_mapped\",[32,1614,1617]],[[64609,64609],\"disallowed_STD3_mapped\",[32,1615,1617]],[[64610,64610],\"disallowed_STD3_mapped\",[32,1616,1617]],[[64611,64611],\"disallowed_STD3_mapped\",[32,1617,1648]],[[64612,64612],\"mapped\",[1574,1585]],[[64613,64613],\"mapped\",[1574,1586]],[[64614,64614],\"mapped\",[1574,1605]],[[64615,64615],\"mapped\",[1574,1606]],[[64616,64616],\"mapped\",[1574,1609]],[[64617,64617],\"mapped\",[1574,1610]],[[64618,64618],\"mapped\",[1576,1585]],[[64619,64619],\"mapped\",[1576,1586]],[[64620,64620],\"mapped\",[1576,1605]],[[64621,64621],\"mapped\",[1576,1606]],[[64622,64622],\"mapped\",[1576,1609]],[[64623,64623],\"mapped\",[1576,1610]],[[64624,64624],\"mapped\",[1578,1585]],[[64625,64625],\"mapped\",[1578,1586]],[[64626,64626],\"mapped\",[1578,1605]],[[64627,64627],\"mapped\",[1578,1606]],[[64628,64628],\"mapped\",[1578,1609]],[[64629,64629],\"mapped\",[1578,1610]],[[64630,64630],\"mapped\",[1579,1585]],[[64631,64631],\"mapped\",[1579,1586]],[[64632,64632],\"mapped\",[1579,1605]],[[64633,64633],\"mapped\",[1579,1606]],[[64634,64634],\"mapped\",[1579,1609]],[[64635,64635],\"mapped\",[1579,1610]],[[64636,64636],\"mapped\",[1601,1609]],[[64637,64637],\"mapped\",[1601,1610]],[[64638,64638],\"mapped\",[1602,1609]],[[64639,64639],\"mapped\",[1602,1610]],[[64640,64640],\"mapped\",[1603,1575]],[[64641,64641],\"mapped\",[1603,1604]],[[64642,64642],\"mapped\",[1603,1605]],[[64643,64643],\"mapped\",[1603,1609]],[[64644,64644],\"mapped\",[1603,1610]],[[64645,64645],\"mapped\",[1604,1605]],[[64646,64646],\"mapped\",[1604,1609]],[[64647,64647],\"mapped\",[1604,1610]],[[64648,64648],\"mapped\",[1605,1575]],[[64649,64649],\"mapped\",[1605,1605]],[[64650,64650],\"mapped\",[1606,1585]],[[64651,64651],\"mapped\",[1606,1586]],[[64652,64652],\"mapped\",[1606,1605]],[[64653,64653],\"mapped\",[1606,1606]],[[64654,64654],\"mapped\",[1606,1609]],[[64655,64655],\"mapped\",[1606,1610]],[[64656,64656],\"mapped\",[1609,1648]],[[64657,64657],\"mapped\",[1610,1585]],[[64658,64658],\"mapped\",[1610,1586]],[[64659,64659],\"mapped\",[1610,1605]],[[64660,64660],\"mapped\",[1610,1606]],[[64661,64661],\"mapped\",[1610,1609]],[[64662,64662],\"mapped\",[1610,1610]],[[64663,64663],\"mapped\",[1574,1580]],[[64664,64664],\"mapped\",[1574,1581]],[[64665,64665],\"mapped\",[1574,1582]],[[64666,64666],\"mapped\",[1574,1605]],[[64667,64667],\"mapped\",[1574,1607]],[[64668,64668],\"mapped\",[1576,1580]],[[64669,64669],\"mapped\",[1576,1581]],[[64670,64670],\"mapped\",[1576,1582]],[[64671,64671],\"mapped\",[1576,1605]],[[64672,64672],\"mapped\",[1576,1607]],[[64673,64673],\"mapped\",[1578,1580]],[[64674,64674],\"mapped\",[1578,1581]],[[64675,64675],\"mapped\",[1578,1582]],[[64676,64676],\"mapped\",[1578,1605]],[[64677,64677],\"mapped\",[1578,1607]],[[64678,64678],\"mapped\",[1579,1605]],[[64679,64679],\"mapped\",[1580,1581]],[[64680,64680],\"mapped\",[1580,1605]],[[64681,64681],\"mapped\",[1581,1580]],[[64682,64682],\"mapped\",[1581,1605]],[[64683,64683],\"mapped\",[1582,1580]],[[64684,64684],\"mapped\",[1582,1605]],[[64685,64685],\"mapped\",[1587,1580]],[[64686,64686],\"mapped\",[1587,1581]],[[64687,64687],\"mapped\",[1587,1582]],[[64688,64688],\"mapped\",[1587,1605]],[[64689,64689],\"mapped\",[1589,1581]],[[64690,64690],\"mapped\",[1589,1582]],[[64691,64691],\"mapped\",[1589,1605]],[[64692,64692],\"mapped\",[1590,1580]],[[64693,64693],\"mapped\",[1590,1581]],[[64694,64694],\"mapped\",[1590,1582]],[[64695,64695],\"mapped\",[1590,1605]],[[64696,64696],\"mapped\",[1591,1581]],[[64697,64697],\"mapped\",[1592,1605]],[[64698,64698],\"mapped\",[1593,1580]],[[64699,64699],\"mapped\",[1593,1605]],[[64700,64700],\"mapped\",[1594,1580]],[[64701,64701],\"mapped\",[1594,1605]],[[64702,64702],\"mapped\",[1601,1580]],[[64703,64703],\"mapped\",[1601,1581]],[[64704,64704],\"mapped\",[1601,1582]],[[64705,64705],\"mapped\",[1601,1605]],[[64706,64706],\"mapped\",[1602,1581]],[[64707,64707],\"mapped\",[1602,1605]],[[64708,64708],\"mapped\",[1603,1580]],[[64709,64709],\"mapped\",[1603,1581]],[[64710,64710],\"mapped\",[1603,1582]],[[64711,64711],\"mapped\",[1603,1604]],[[64712,64712],\"mapped\",[1603,1605]],[[64713,64713],\"mapped\",[1604,1580]],[[64714,64714],\"mapped\",[1604,1581]],[[64715,64715],\"mapped\",[1604,1582]],[[64716,64716],\"mapped\",[1604,1605]],[[64717,64717],\"mapped\",[1604,1607]],[[64718,64718],\"mapped\",[1605,1580]],[[64719,64719],\"mapped\",[1605,1581]],[[64720,64720],\"mapped\",[1605,1582]],[[64721,64721],\"mapped\",[1605,1605]],[[64722,64722],\"mapped\",[1606,1580]],[[64723,64723],\"mapped\",[1606,1581]],[[64724,64724],\"mapped\",[1606,1582]],[[64725,64725],\"mapped\",[1606,1605]],[[64726,64726],\"mapped\",[1606,1607]],[[64727,64727],\"mapped\",[1607,1580]],[[64728,64728],\"mapped\",[1607,1605]],[[64729,64729],\"mapped\",[1607,1648]],[[64730,64730],\"mapped\",[1610,1580]],[[64731,64731],\"mapped\",[1610,1581]],[[64732,64732],\"mapped\",[1610,1582]],[[64733,64733],\"mapped\",[1610,1605]],[[64734,64734],\"mapped\",[1610,1607]],[[64735,64735],\"mapped\",[1574,1605]],[[64736,64736],\"mapped\",[1574,1607]],[[64737,64737],\"mapped\",[1576,1605]],[[64738,64738],\"mapped\",[1576,1607]],[[64739,64739],\"mapped\",[1578,1605]],[[64740,64740],\"mapped\",[1578,1607]],[[64741,64741],\"mapped\",[1579,1605]],[[64742,64742],\"mapped\",[1579,1607]],[[64743,64743],\"mapped\",[1587,1605]],[[64744,64744],\"mapped\",[1587,1607]],[[64745,64745],\"mapped\",[1588,1605]],[[64746,64746],\"mapped\",[1588,1607]],[[64747,64747],\"mapped\",[1603,1604]],[[64748,64748],\"mapped\",[1603,1605]],[[64749,64749],\"mapped\",[1604,1605]],[[64750,64750],\"mapped\",[1606,1605]],[[64751,64751],\"mapped\",[1606,1607]],[[64752,64752],\"mapped\",[1610,1605]],[[64753,64753],\"mapped\",[1610,1607]],[[64754,64754],\"mapped\",[1600,1614,1617]],[[64755,64755],\"mapped\",[1600,1615,1617]],[[64756,64756],\"mapped\",[1600,1616,1617]],[[64757,64757],\"mapped\",[1591,1609]],[[64758,64758],\"mapped\",[1591,1610]],[[64759,64759],\"mapped\",[1593,1609]],[[64760,64760],\"mapped\",[1593,1610]],[[64761,64761],\"mapped\",[1594,1609]],[[64762,64762],\"mapped\",[1594,1610]],[[64763,64763],\"mapped\",[1587,1609]],[[64764,64764],\"mapped\",[1587,1610]],[[64765,64765],\"mapped\",[1588,1609]],[[64766,64766],\"mapped\",[1588,1610]],[[64767,64767],\"mapped\",[1581,1609]],[[64768,64768],\"mapped\",[1581,1610]],[[64769,64769],\"mapped\",[1580,1609]],[[64770,64770],\"mapped\",[1580,1610]],[[64771,64771],\"mapped\",[1582,1609]],[[64772,64772],\"mapped\",[1582,1610]],[[64773,64773],\"mapped\",[1589,1609]],[[64774,64774],\"mapped\",[1589,1610]],[[64775,64775],\"mapped\",[1590,1609]],[[64776,64776],\"mapped\",[1590,1610]],[[64777,64777],\"mapped\",[1588,1580]],[[64778,64778],\"mapped\",[1588,1581]],[[64779,64779],\"mapped\",[1588,1582]],[[64780,64780],\"mapped\",[1588,1605]],[[64781,64781],\"mapped\",[1588,1585]],[[64782,64782],\"mapped\",[1587,1585]],[[64783,64783],\"mapped\",[1589,1585]],[[64784,64784],\"mapped\",[1590,1585]],[[64785,64785],\"mapped\",[1591,1609]],[[64786,64786],\"mapped\",[1591,1610]],[[64787,64787],\"mapped\",[1593,1609]],[[64788,64788],\"mapped\",[1593,1610]],[[64789,64789],\"mapped\",[1594,1609]],[[64790,64790],\"mapped\",[1594,1610]],[[64791,64791],\"mapped\",[1587,1609]],[[64792,64792],\"mapped\",[1587,1610]],[[64793,64793],\"mapped\",[1588,1609]],[[64794,64794],\"mapped\",[1588,1610]],[[64795,64795],\"mapped\",[1581,1609]],[[64796,64796],\"mapped\",[1581,1610]],[[64797,64797],\"mapped\",[1580,1609]],[[64798,64798],\"mapped\",[1580,1610]],[[64799,64799],\"mapped\",[1582,1609]],[[64800,64800],\"mapped\",[1582,1610]],[[64801,64801],\"mapped\",[1589,1609]],[[64802,64802],\"mapped\",[1589,1610]],[[64803,64803],\"mapped\",[1590,1609]],[[64804,64804],\"mapped\",[1590,1610]],[[64805,64805],\"mapped\",[1588,1580]],[[64806,64806],\"mapped\",[1588,1581]],[[64807,64807],\"mapped\",[1588,1582]],[[64808,64808],\"mapped\",[1588,1605]],[[64809,64809],\"mapped\",[1588,1585]],[[64810,64810],\"mapped\",[1587,1585]],[[64811,64811],\"mapped\",[1589,1585]],[[64812,64812],\"mapped\",[1590,1585]],[[64813,64813],\"mapped\",[1588,1580]],[[64814,64814],\"mapped\",[1588,1581]],[[64815,64815],\"mapped\",[1588,1582]],[[64816,64816],\"mapped\",[1588,1605]],[[64817,64817],\"mapped\",[1587,1607]],[[64818,64818],\"mapped\",[1588,1607]],[[64819,64819],\"mapped\",[1591,1605]],[[64820,64820],\"mapped\",[1587,1580]],[[64821,64821],\"mapped\",[1587,1581]],[[64822,64822],\"mapped\",[1587,1582]],[[64823,64823],\"mapped\",[1588,1580]],[[64824,64824],\"mapped\",[1588,1581]],[[64825,64825],\"mapped\",[1588,1582]],[[64826,64826],\"mapped\",[1591,1605]],[[64827,64827],\"mapped\",[1592,1605]],[[64828,64829],\"mapped\",[1575,1611]],[[64830,64831],\"valid\",[],\"NV8\"],[[64832,64847],\"disallowed\"],[[64848,64848],\"mapped\",[1578,1580,1605]],[[64849,64850],\"mapped\",[1578,1581,1580]],[[64851,64851],\"mapped\",[1578,1581,1605]],[[64852,64852],\"mapped\",[1578,1582,1605]],[[64853,64853],\"mapped\",[1578,1605,1580]],[[64854,64854],\"mapped\",[1578,1605,1581]],[[64855,64855],\"mapped\",[1578,1605,1582]],[[64856,64857],\"mapped\",[1580,1605,1581]],[[64858,64858],\"mapped\",[1581,1605,1610]],[[64859,64859],\"mapped\",[1581,1605,1609]],[[64860,64860],\"mapped\",[1587,1581,1580]],[[64861,64861],\"mapped\",[1587,1580,1581]],[[64862,64862],\"mapped\",[1587,1580,1609]],[[64863,64864],\"mapped\",[1587,1605,1581]],[[64865,64865],\"mapped\",[1587,1605,1580]],[[64866,64867],\"mapped\",[1587,1605,1605]],[[64868,64869],\"mapped\",[1589,1581,1581]],[[64870,64870],\"mapped\",[1589,1605,1605]],[[64871,64872],\"mapped\",[1588,1581,1605]],[[64873,64873],\"mapped\",[1588,1580,1610]],[[64874,64875],\"mapped\",[1588,1605,1582]],[[64876,64877],\"mapped\",[1588,1605,1605]],[[64878,64878],\"mapped\",[1590,1581,1609]],[[64879,64880],\"mapped\",[1590,1582,1605]],[[64881,64882],\"mapped\",[1591,1605,1581]],[[64883,64883],\"mapped\",[1591,1605,1605]],[[64884,64884],\"mapped\",[1591,1605,1610]],[[64885,64885],\"mapped\",[1593,1580,1605]],[[64886,64887],\"mapped\",[1593,1605,1605]],[[64888,64888],\"mapped\",[1593,1605,1609]],[[64889,64889],\"mapped\",[1594,1605,1605]],[[64890,64890],\"mapped\",[1594,1605,1610]],[[64891,64891],\"mapped\",[1594,1605,1609]],[[64892,64893],\"mapped\",[1601,1582,1605]],[[64894,64894],\"mapped\",[1602,1605,1581]],[[64895,64895],\"mapped\",[1602,1605,1605]],[[64896,64896],\"mapped\",[1604,1581,1605]],[[64897,64897],\"mapped\",[1604,1581,1610]],[[64898,64898],\"mapped\",[1604,1581,1609]],[[64899,64900],\"mapped\",[1604,1580,1580]],[[64901,64902],\"mapped\",[1604,1582,1605]],[[64903,64904],\"mapped\",[1604,1605,1581]],[[64905,64905],\"mapped\",[1605,1581,1580]],[[64906,64906],\"mapped\",[1605,1581,1605]],[[64907,64907],\"mapped\",[1605,1581,1610]],[[64908,64908],\"mapped\",[1605,1580,1581]],[[64909,64909],\"mapped\",[1605,1580,1605]],[[64910,64910],\"mapped\",[1605,1582,1580]],[[64911,64911],\"mapped\",[1605,1582,1605]],[[64912,64913],\"disallowed\"],[[64914,64914],\"mapped\",[1605,1580,1582]],[[64915,64915],\"mapped\",[1607,1605,1580]],[[64916,64916],\"mapped\",[1607,1605,1605]],[[64917,64917],\"mapped\",[1606,1581,1605]],[[64918,64918],\"mapped\",[1606,1581,1609]],[[64919,64920],\"mapped\",[1606,1580,1605]],[[64921,64921],\"mapped\",[1606,1580,1609]],[[64922,64922],\"mapped\",[1606,1605,1610]],[[64923,64923],\"mapped\",[1606,1605,1609]],[[64924,64925],\"mapped\",[1610,1605,1605]],[[64926,64926],\"mapped\",[1576,1582,1610]],[[64927,64927],\"mapped\",[1578,1580,1610]],[[64928,64928],\"mapped\",[1578,1580,1609]],[[64929,64929],\"mapped\",[1578,1582,1610]],[[64930,64930],\"mapped\",[1578,1582,1609]],[[64931,64931],\"mapped\",[1578,1605,1610]],[[64932,64932],\"mapped\",[1578,1605,1609]],[[64933,64933],\"mapped\",[1580,1605,1610]],[[64934,64934],\"mapped\",[1580,1581,1609]],[[64935,64935],\"mapped\",[1580,1605,1609]],[[64936,64936],\"mapped\",[1587,1582,1609]],[[64937,64937],\"mapped\",[1589,1581,1610]],[[64938,64938],\"mapped\",[1588,1581,1610]],[[64939,64939],\"mapped\",[1590,1581,1610]],[[64940,64940],\"mapped\",[1604,1580,1610]],[[64941,64941],\"mapped\",[1604,1605,1610]],[[64942,64942],\"mapped\",[1610,1581,1610]],[[64943,64943],\"mapped\",[1610,1580,1610]],[[64944,64944],\"mapped\",[1610,1605,1610]],[[64945,64945],\"mapped\",[1605,1605,1610]],[[64946,64946],\"mapped\",[1602,1605,1610]],[[64947,64947],\"mapped\",[1606,1581,1610]],[[64948,64948],\"mapped\",[1602,1605,1581]],[[64949,64949],\"mapped\",[1604,1581,1605]],[[64950,64950],\"mapped\",[1593,1605,1610]],[[64951,64951],\"mapped\",[1603,1605,1610]],[[64952,64952],\"mapped\",[1606,1580,1581]],[[64953,64953],\"mapped\",[1605,1582,1610]],[[64954,64954],\"mapped\",[1604,1580,1605]],[[64955,64955],\"mapped\",[1603,1605,1605]],[[64956,64956],\"mapped\",[1604,1580,1605]],[[64957,64957],\"mapped\",[1606,1580,1581]],[[64958,64958],\"mapped\",[1580,1581,1610]],[[64959,64959],\"mapped\",[1581,1580,1610]],[[64960,64960],\"mapped\",[1605,1580,1610]],[[64961,64961],\"mapped\",[1601,1605,1610]],[[64962,64962],\"mapped\",[1576,1581,1610]],[[64963,64963],\"mapped\",[1603,1605,1605]],[[64964,64964],\"mapped\",[1593,1580,1605]],[[64965,64965],\"mapped\",[1589,1605,1605]],[[64966,64966],\"mapped\",[1587,1582,1610]],[[64967,64967],\"mapped\",[1606,1580,1610]],[[64968,64975],\"disallowed\"],[[64976,65007],\"disallowed\"],[[65008,65008],\"mapped\",[1589,1604,1746]],[[65009,65009],\"mapped\",[1602,1604,1746]],[[65010,65010],\"mapped\",[1575,1604,1604,1607]],[[65011,65011],\"mapped\",[1575,1603,1576,1585]],[[65012,65012],\"mapped\",[1605,1581,1605,1583]],[[65013,65013],\"mapped\",[1589,1604,1593,1605]],[[65014,65014],\"mapped\",[1585,1587,1608,1604]],[[65015,65015],\"mapped\",[1593,1604,1610,1607]],[[65016,65016],\"mapped\",[1608,1587,1604,1605]],[[65017,65017],\"mapped\",[1589,1604,1609]],[[65018,65018],\"disallowed_STD3_mapped\",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],\"disallowed_STD3_mapped\",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],\"mapped\",[1585,1740,1575,1604]],[[65021,65021],\"valid\",[],\"NV8\"],[[65022,65023],\"disallowed\"],[[65024,65039],\"ignored\"],[[65040,65040],\"disallowed_STD3_mapped\",[44]],[[65041,65041],\"mapped\",[12289]],[[65042,65042],\"disallowed\"],[[65043,65043],\"disallowed_STD3_mapped\",[58]],[[65044,65044],\"disallowed_STD3_mapped\",[59]],[[65045,65045],\"disallowed_STD3_mapped\",[33]],[[65046,65046],\"disallowed_STD3_mapped\",[63]],[[65047,65047],\"mapped\",[12310]],[[65048,65048],\"mapped\",[12311]],[[65049,65049],\"disallowed\"],[[65050,65055],\"disallowed\"],[[65056,65059],\"valid\"],[[65060,65062],\"valid\"],[[65063,65069],\"valid\"],[[65070,65071],\"valid\"],[[65072,65072],\"disallowed\"],[[65073,65073],\"mapped\",[8212]],[[65074,65074],\"mapped\",[8211]],[[65075,65076],\"disallowed_STD3_mapped\",[95]],[[65077,65077],\"disallowed_STD3_mapped\",[40]],[[65078,65078],\"disallowed_STD3_mapped\",[41]],[[65079,65079],\"disallowed_STD3_mapped\",[123]],[[65080,65080],\"disallowed_STD3_mapped\",[125]],[[65081,65081],\"mapped\",[12308]],[[65082,65082],\"mapped\",[12309]],[[65083,65083],\"mapped\",[12304]],[[65084,65084],\"mapped\",[12305]],[[65085,65085],\"mapped\",[12298]],[[65086,65086],\"mapped\",[12299]],[[65087,65087],\"mapped\",[12296]],[[65088,65088],\"mapped\",[12297]],[[65089,65089],\"mapped\",[12300]],[[65090,65090],\"mapped\",[12301]],[[65091,65091],\"mapped\",[12302]],[[65092,65092],\"mapped\",[12303]],[[65093,65094],\"valid\",[],\"NV8\"],[[65095,65095],\"disallowed_STD3_mapped\",[91]],[[65096,65096],\"disallowed_STD3_mapped\",[93]],[[65097,65100],\"disallowed_STD3_mapped\",[32,773]],[[65101,65103],\"disallowed_STD3_mapped\",[95]],[[65104,65104],\"disallowed_STD3_mapped\",[44]],[[65105,65105],\"mapped\",[12289]],[[65106,65106],\"disallowed\"],[[65107,65107],\"disallowed\"],[[65108,65108],\"disallowed_STD3_mapped\",[59]],[[65109,65109],\"disallowed_STD3_mapped\",[58]],[[65110,65110],\"disallowed_STD3_mapped\",[63]],[[65111,65111],\"disallowed_STD3_mapped\",[33]],[[65112,65112],\"mapped\",[8212]],[[65113,65113],\"disallowed_STD3_mapped\",[40]],[[65114,65114],\"disallowed_STD3_mapped\",[41]],[[65115,65115],\"disallowed_STD3_mapped\",[123]],[[65116,65116],\"disallowed_STD3_mapped\",[125]],[[65117,65117],\"mapped\",[12308]],[[65118,65118],\"mapped\",[12309]],[[65119,65119],\"disallowed_STD3_mapped\",[35]],[[65120,65120],\"disallowed_STD3_mapped\",[38]],[[65121,65121],\"disallowed_STD3_mapped\",[42]],[[65122,65122],\"disallowed_STD3_mapped\",[43]],[[65123,65123],\"mapped\",[45]],[[65124,65124],\"disallowed_STD3_mapped\",[60]],[[65125,65125],\"disallowed_STD3_mapped\",[62]],[[65126,65126],\"disallowed_STD3_mapped\",[61]],[[65127,65127],\"disallowed\"],[[65128,65128],\"disallowed_STD3_mapped\",[92]],[[65129,65129],\"disallowed_STD3_mapped\",[36]],[[65130,65130],\"disallowed_STD3_mapped\",[37]],[[65131,65131],\"disallowed_STD3_mapped\",[64]],[[65132,65135],\"disallowed\"],[[65136,65136],\"disallowed_STD3_mapped\",[32,1611]],[[65137,65137],\"mapped\",[1600,1611]],[[65138,65138],\"disallowed_STD3_mapped\",[32,1612]],[[65139,65139],\"valid\"],[[65140,65140],\"disallowed_STD3_mapped\",[32,1613]],[[65141,65141],\"disallowed\"],[[65142,65142],\"disallowed_STD3_mapped\",[32,1614]],[[65143,65143],\"mapped\",[1600,1614]],[[65144,65144],\"disallowed_STD3_mapped\",[32,1615]],[[65145,65145],\"mapped\",[1600,1615]],[[65146,65146],\"disallowed_STD3_mapped\",[32,1616]],[[65147,65147],\"mapped\",[1600,1616]],[[65148,65148],\"disallowed_STD3_mapped\",[32,1617]],[[65149,65149],\"mapped\",[1600,1617]],[[65150,65150],\"disallowed_STD3_mapped\",[32,1618]],[[65151,65151],\"mapped\",[1600,1618]],[[65152,65152],\"mapped\",[1569]],[[65153,65154],\"mapped\",[1570]],[[65155,65156],\"mapped\",[1571]],[[65157,65158],\"mapped\",[1572]],[[65159,65160],\"mapped\",[1573]],[[65161,65164],\"mapped\",[1574]],[[65165,65166],\"mapped\",[1575]],[[65167,65170],\"mapped\",[1576]],[[65171,65172],\"mapped\",[1577]],[[65173,65176],\"mapped\",[1578]],[[65177,65180],\"mapped\",[1579]],[[65181,65184],\"mapped\",[1580]],[[65185,65188],\"mapped\",[1581]],[[65189,65192],\"mapped\",[1582]],[[65193,65194],\"mapped\",[1583]],[[65195,65196],\"mapped\",[1584]],[[65197,65198],\"mapped\",[1585]],[[65199,65200],\"mapped\",[1586]],[[65201,65204],\"mapped\",[1587]],[[65205,65208],\"mapped\",[1588]],[[65209,65212],\"mapped\",[1589]],[[65213,65216],\"mapped\",[1590]],[[65217,65220],\"mapped\",[1591]],[[65221,65224],\"mapped\",[1592]],[[65225,65228],\"mapped\",[1593]],[[65229,65232],\"mapped\",[1594]],[[65233,65236],\"mapped\",[1601]],[[65237,65240],\"mapped\",[1602]],[[65241,65244],\"mapped\",[1603]],[[65245,65248],\"mapped\",[1604]],[[65249,65252],\"mapped\",[1605]],[[65253,65256],\"mapped\",[1606]],[[65257,65260],\"mapped\",[1607]],[[65261,65262],\"mapped\",[1608]],[[65263,65264],\"mapped\",[1609]],[[65265,65268],\"mapped\",[1610]],[[65269,65270],\"mapped\",[1604,1570]],[[65271,65272],\"mapped\",[1604,1571]],[[65273,65274],\"mapped\",[1604,1573]],[[65275,65276],\"mapped\",[1604,1575]],[[65277,65278],\"disallowed\"],[[65279,65279],\"ignored\"],[[65280,65280],\"disallowed\"],[[65281,65281],\"disallowed_STD3_mapped\",[33]],[[65282,65282],\"disallowed_STD3_mapped\",[34]],[[65283,65283],\"disallowed_STD3_mapped\",[35]],[[65284,65284],\"disallowed_STD3_mapped\",[36]],[[65285,65285],\"disallowed_STD3_mapped\",[37]],[[65286,65286],\"disallowed_STD3_mapped\",[38]],[[65287,65287],\"disallowed_STD3_mapped\",[39]],[[65288,65288],\"disallowed_STD3_mapped\",[40]],[[65289,65289],\"disallowed_STD3_mapped\",[41]],[[65290,65290],\"disallowed_STD3_mapped\",[42]],[[65291,65291],\"disallowed_STD3_mapped\",[43]],[[65292,65292],\"disallowed_STD3_mapped\",[44]],[[65293,65293],\"mapped\",[45]],[[65294,65294],\"mapped\",[46]],[[65295,65295],\"disallowed_STD3_mapped\",[47]],[[65296,65296],\"mapped\",[48]],[[65297,65297],\"mapped\",[49]],[[65298,65298],\"mapped\",[50]],[[65299,65299],\"mapped\",[51]],[[65300,65300],\"mapped\",[52]],[[65301,65301],\"mapped\",[53]],[[65302,65302],\"mapped\",[54]],[[65303,65303],\"mapped\",[55]],[[65304,65304],\"mapped\",[56]],[[65305,65305],\"mapped\",[57]],[[65306,65306],\"disallowed_STD3_mapped\",[58]],[[65307,65307],\"disallowed_STD3_mapped\",[59]],[[65308,65308],\"disallowed_STD3_mapped\",[60]],[[65309,65309],\"disallowed_STD3_mapped\",[61]],[[65310,65310],\"disallowed_STD3_mapped\",[62]],[[65311,65311],\"disallowed_STD3_mapped\",[63]],[[65312,65312],\"disallowed_STD3_mapped\",[64]],[[65313,65313],\"mapped\",[97]],[[65314,65314],\"mapped\",[98]],[[65315,65315],\"mapped\",[99]],[[65316,65316],\"mapped\",[100]],[[65317,65317],\"mapped\",[101]],[[65318,65318],\"mapped\",[102]],[[65319,65319],\"mapped\",[103]],[[65320,65320],\"mapped\",[104]],[[65321,65321],\"mapped\",[105]],[[65322,65322],\"mapped\",[106]],[[65323,65323],\"mapped\",[107]],[[65324,65324],\"mapped\",[108]],[[65325,65325],\"mapped\",[109]],[[65326,65326],\"mapped\",[110]],[[65327,65327],\"mapped\",[111]],[[65328,65328],\"mapped\",[112]],[[65329,65329],\"mapped\",[113]],[[65330,65330],\"mapped\",[114]],[[65331,65331],\"mapped\",[115]],[[65332,65332],\"mapped\",[116]],[[65333,65333],\"mapped\",[117]],[[65334,65334],\"mapped\",[118]],[[65335,65335],\"mapped\",[119]],[[65336,65336],\"mapped\",[120]],[[65337,65337],\"mapped\",[121]],[[65338,65338],\"mapped\",[122]],[[65339,65339],\"disallowed_STD3_mapped\",[91]],[[65340,65340],\"disallowed_STD3_mapped\",[92]],[[65341,65341],\"disallowed_STD3_mapped\",[93]],[[65342,65342],\"disallowed_STD3_mapped\",[94]],[[65343,65343],\"disallowed_STD3_mapped\",[95]],[[65344,65344],\"disallowed_STD3_mapped\",[96]],[[65345,65345],\"mapped\",[97]],[[65346,65346],\"mapped\",[98]],[[65347,65347],\"mapped\",[99]],[[65348,65348],\"mapped\",[100]],[[65349,65349],\"mapped\",[101]],[[65350,65350],\"mapped\",[102]],[[65351,65351],\"mapped\",[103]],[[65352,65352],\"mapped\",[104]],[[65353,65353],\"mapped\",[105]],[[65354,65354],\"mapped\",[106]],[[65355,65355],\"mapped\",[107]],[[65356,65356],\"mapped\",[108]],[[65357,65357],\"mapped\",[109]],[[65358,65358],\"mapped\",[110]],[[65359,65359],\"mapped\",[111]],[[65360,65360],\"mapped\",[112]],[[65361,65361],\"mapped\",[113]],[[65362,65362],\"mapped\",[114]],[[65363,65363],\"mapped\",[115]],[[65364,65364],\"mapped\",[116]],[[65365,65365],\"mapped\",[117]],[[65366,65366],\"mapped\",[118]],[[65367,65367],\"mapped\",[119]],[[65368,65368],\"mapped\",[120]],[[65369,65369],\"mapped\",[121]],[[65370,65370],\"mapped\",[122]],[[65371,65371],\"disallowed_STD3_mapped\",[123]],[[65372,65372],\"disallowed_STD3_mapped\",[124]],[[65373,65373],\"disallowed_STD3_mapped\",[125]],[[65374,65374],\"disallowed_STD3_mapped\",[126]],[[65375,65375],\"mapped\",[10629]],[[65376,65376],\"mapped\",[10630]],[[65377,65377],\"mapped\",[46]],[[65378,65378],\"mapped\",[12300]],[[65379,65379],\"mapped\",[12301]],[[65380,65380],\"mapped\",[12289]],[[65381,65381],\"mapped\",[12539]],[[65382,65382],\"mapped\",[12530]],[[65383,65383],\"mapped\",[12449]],[[65384,65384],\"mapped\",[12451]],[[65385,65385],\"mapped\",[12453]],[[65386,65386],\"mapped\",[12455]],[[65387,65387],\"mapped\",[12457]],[[65388,65388],\"mapped\",[12515]],[[65389,65389],\"mapped\",[12517]],[[65390,65390],\"mapped\",[12519]],[[65391,65391],\"mapped\",[12483]],[[65392,65392],\"mapped\",[12540]],[[65393,65393],\"mapped\",[12450]],[[65394,65394],\"mapped\",[12452]],[[65395,65395],\"mapped\",[12454]],[[65396,65396],\"mapped\",[12456]],[[65397,65397],\"mapped\",[12458]],[[65398,65398],\"mapped\",[12459]],[[65399,65399],\"mapped\",[12461]],[[65400,65400],\"mapped\",[12463]],[[65401,65401],\"mapped\",[12465]],[[65402,65402],\"mapped\",[12467]],[[65403,65403],\"mapped\",[12469]],[[65404,65404],\"mapped\",[12471]],[[65405,65405],\"mapped\",[12473]],[[65406,65406],\"mapped\",[12475]],[[65407,65407],\"mapped\",[12477]],[[65408,65408],\"mapped\",[12479]],[[65409,65409],\"mapped\",[12481]],[[65410,65410],\"mapped\",[12484]],[[65411,65411],\"mapped\",[12486]],[[65412,65412],\"mapped\",[12488]],[[65413,65413],\"mapped\",[12490]],[[65414,65414],\"mapped\",[12491]],[[65415,65415],\"mapped\",[12492]],[[65416,65416],\"mapped\",[12493]],[[65417,65417],\"mapped\",[12494]],[[65418,65418],\"mapped\",[12495]],[[65419,65419],\"mapped\",[12498]],[[65420,65420],\"mapped\",[12501]],[[65421,65421],\"mapped\",[12504]],[[65422,65422],\"mapped\",[12507]],[[65423,65423],\"mapped\",[12510]],[[65424,65424],\"mapped\",[12511]],[[65425,65425],\"mapped\",[12512]],[[65426,65426],\"mapped\",[12513]],[[65427,65427],\"mapped\",[12514]],[[65428,65428],\"mapped\",[12516]],[[65429,65429],\"mapped\",[12518]],[[65430,65430],\"mapped\",[12520]],[[65431,65431],\"mapped\",[12521]],[[65432,65432],\"mapped\",[12522]],[[65433,65433],\"mapped\",[12523]],[[65434,65434],\"mapped\",[12524]],[[65435,65435],\"mapped\",[12525]],[[65436,65436],\"mapped\",[12527]],[[65437,65437],\"mapped\",[12531]],[[65438,65438],\"mapped\",[12441]],[[65439,65439],\"mapped\",[12442]],[[65440,65440],\"disallowed\"],[[65441,65441],\"mapped\",[4352]],[[65442,65442],\"mapped\",[4353]],[[65443,65443],\"mapped\",[4522]],[[65444,65444],\"mapped\",[4354]],[[65445,65445],\"mapped\",[4524]],[[65446,65446],\"mapped\",[4525]],[[65447,65447],\"mapped\",[4355]],[[65448,65448],\"mapped\",[4356]],[[65449,65449],\"mapped\",[4357]],[[65450,65450],\"mapped\",[4528]],[[65451,65451],\"mapped\",[4529]],[[65452,65452],\"mapped\",[4530]],[[65453,65453],\"mapped\",[4531]],[[65454,65454],\"mapped\",[4532]],[[65455,65455],\"mapped\",[4533]],[[65456,65456],\"mapped\",[4378]],[[65457,65457],\"mapped\",[4358]],[[65458,65458],\"mapped\",[4359]],[[65459,65459],\"mapped\",[4360]],[[65460,65460],\"mapped\",[4385]],[[65461,65461],\"mapped\",[4361]],[[65462,65462],\"mapped\",[4362]],[[65463,65463],\"mapped\",[4363]],[[65464,65464],\"mapped\",[4364]],[[65465,65465],\"mapped\",[4365]],[[65466,65466],\"mapped\",[4366]],[[65467,65467],\"mapped\",[4367]],[[65468,65468],\"mapped\",[4368]],[[65469,65469],\"mapped\",[4369]],[[65470,65470],\"mapped\",[4370]],[[65471,65473],\"disallowed\"],[[65474,65474],\"mapped\",[4449]],[[65475,65475],\"mapped\",[4450]],[[65476,65476],\"mapped\",[4451]],[[65477,65477],\"mapped\",[4452]],[[65478,65478],\"mapped\",[4453]],[[65479,65479],\"mapped\",[4454]],[[65480,65481],\"disallowed\"],[[65482,65482],\"mapped\",[4455]],[[65483,65483],\"mapped\",[4456]],[[65484,65484],\"mapped\",[4457]],[[65485,65485],\"mapped\",[4458]],[[65486,65486],\"mapped\",[4459]],[[65487,65487],\"mapped\",[4460]],[[65488,65489],\"disallowed\"],[[65490,65490],\"mapped\",[4461]],[[65491,65491],\"mapped\",[4462]],[[65492,65492],\"mapped\",[4463]],[[65493,65493],\"mapped\",[4464]],[[65494,65494],\"mapped\",[4465]],[[65495,65495],\"mapped\",[4466]],[[65496,65497],\"disallowed\"],[[65498,65498],\"mapped\",[4467]],[[65499,65499],\"mapped\",[4468]],[[65500,65500],\"mapped\",[4469]],[[65501,65503],\"disallowed\"],[[65504,65504],\"mapped\",[162]],[[65505,65505],\"mapped\",[163]],[[65506,65506],\"mapped\",[172]],[[65507,65507],\"disallowed_STD3_mapped\",[32,772]],[[65508,65508],\"mapped\",[166]],[[65509,65509],\"mapped\",[165]],[[65510,65510],\"mapped\",[8361]],[[65511,65511],\"disallowed\"],[[65512,65512],\"mapped\",[9474]],[[65513,65513],\"mapped\",[8592]],[[65514,65514],\"mapped\",[8593]],[[65515,65515],\"mapped\",[8594]],[[65516,65516],\"mapped\",[8595]],[[65517,65517],\"mapped\",[9632]],[[65518,65518],\"mapped\",[9675]],[[65519,65528],\"disallowed\"],[[65529,65531],\"disallowed\"],[[65532,65532],\"disallowed\"],[[65533,65533],\"disallowed\"],[[65534,65535],\"disallowed\"],[[65536,65547],\"valid\"],[[65548,65548],\"disallowed\"],[[65549,65574],\"valid\"],[[65575,65575],\"disallowed\"],[[65576,65594],\"valid\"],[[65595,65595],\"disallowed\"],[[65596,65597],\"valid\"],[[65598,65598],\"disallowed\"],[[65599,65613],\"valid\"],[[65614,65615],\"disallowed\"],[[65616,65629],\"valid\"],[[65630,65663],\"disallowed\"],[[65664,65786],\"valid\"],[[65787,65791],\"disallowed\"],[[65792,65794],\"valid\",[],\"NV8\"],[[65795,65798],\"disallowed\"],[[65799,65843],\"valid\",[],\"NV8\"],[[65844,65846],\"disallowed\"],[[65847,65855],\"valid\",[],\"NV8\"],[[65856,65930],\"valid\",[],\"NV8\"],[[65931,65932],\"valid\",[],\"NV8\"],[[65933,65935],\"disallowed\"],[[65936,65947],\"valid\",[],\"NV8\"],[[65948,65951],\"disallowed\"],[[65952,65952],\"valid\",[],\"NV8\"],[[65953,65999],\"disallowed\"],[[66000,66044],\"valid\",[],\"NV8\"],[[66045,66045],\"valid\"],[[66046,66175],\"disallowed\"],[[66176,66204],\"valid\"],[[66205,66207],\"disallowed\"],[[66208,66256],\"valid\"],[[66257,66271],\"disallowed\"],[[66272,66272],\"valid\"],[[66273,66299],\"valid\",[],\"NV8\"],[[66300,66303],\"disallowed\"],[[66304,66334],\"valid\"],[[66335,66335],\"valid\"],[[66336,66339],\"valid\",[],\"NV8\"],[[66340,66351],\"disallowed\"],[[66352,66368],\"valid\"],[[66369,66369],\"valid\",[],\"NV8\"],[[66370,66377],\"valid\"],[[66378,66378],\"valid\",[],\"NV8\"],[[66379,66383],\"disallowed\"],[[66384,66426],\"valid\"],[[66427,66431],\"disallowed\"],[[66432,66461],\"valid\"],[[66462,66462],\"disallowed\"],[[66463,66463],\"valid\",[],\"NV8\"],[[66464,66499],\"valid\"],[[66500,66503],\"disallowed\"],[[66504,66511],\"valid\"],[[66512,66517],\"valid\",[],\"NV8\"],[[66518,66559],\"disallowed\"],[[66560,66560],\"mapped\",[66600]],[[66561,66561],\"mapped\",[66601]],[[66562,66562],\"mapped\",[66602]],[[66563,66563],\"mapped\",[66603]],[[66564,66564],\"mapped\",[66604]],[[66565,66565],\"mapped\",[66605]],[[66566,66566],\"mapped\",[66606]],[[66567,66567],\"mapped\",[66607]],[[66568,66568],\"mapped\",[66608]],[[66569,66569],\"mapped\",[66609]],[[66570,66570],\"mapped\",[66610]],[[66571,66571],\"mapped\",[66611]],[[66572,66572],\"mapped\",[66612]],[[66573,66573],\"mapped\",[66613]],[[66574,66574],\"mapped\",[66614]],[[66575,66575],\"mapped\",[66615]],[[66576,66576],\"mapped\",[66616]],[[66577,66577],\"mapped\",[66617]],[[66578,66578],\"mapped\",[66618]],[[66579,66579],\"mapped\",[66619]],[[66580,66580],\"mapped\",[66620]],[[66581,66581],\"mapped\",[66621]],[[66582,66582],\"mapped\",[66622]],[[66583,66583],\"mapped\",[66623]],[[66584,66584],\"mapped\",[66624]],[[66585,66585],\"mapped\",[66625]],[[66586,66586],\"mapped\",[66626]],[[66587,66587],\"mapped\",[66627]],[[66588,66588],\"mapped\",[66628]],[[66589,66589],\"mapped\",[66629]],[[66590,66590],\"mapped\",[66630]],[[66591,66591],\"mapped\",[66631]],[[66592,66592],\"mapped\",[66632]],[[66593,66593],\"mapped\",[66633]],[[66594,66594],\"mapped\",[66634]],[[66595,66595],\"mapped\",[66635]],[[66596,66596],\"mapped\",[66636]],[[66597,66597],\"mapped\",[66637]],[[66598,66598],\"mapped\",[66638]],[[66599,66599],\"mapped\",[66639]],[[66600,66637],\"valid\"],[[66638,66717],\"valid\"],[[66718,66719],\"disallowed\"],[[66720,66729],\"valid\"],[[66730,66815],\"disallowed\"],[[66816,66855],\"valid\"],[[66856,66863],\"disallowed\"],[[66864,66915],\"valid\"],[[66916,66926],\"disallowed\"],[[66927,66927],\"valid\",[],\"NV8\"],[[66928,67071],\"disallowed\"],[[67072,67382],\"valid\"],[[67383,67391],\"disallowed\"],[[67392,67413],\"valid\"],[[67414,67423],\"disallowed\"],[[67424,67431],\"valid\"],[[67432,67583],\"disallowed\"],[[67584,67589],\"valid\"],[[67590,67591],\"disallowed\"],[[67592,67592],\"valid\"],[[67593,67593],\"disallowed\"],[[67594,67637],\"valid\"],[[67638,67638],\"disallowed\"],[[67639,67640],\"valid\"],[[67641,67643],\"disallowed\"],[[67644,67644],\"valid\"],[[67645,67646],\"disallowed\"],[[67647,67647],\"valid\"],[[67648,67669],\"valid\"],[[67670,67670],\"disallowed\"],[[67671,67679],\"valid\",[],\"NV8\"],[[67680,67702],\"valid\"],[[67703,67711],\"valid\",[],\"NV8\"],[[67712,67742],\"valid\"],[[67743,67750],\"disallowed\"],[[67751,67759],\"valid\",[],\"NV8\"],[[67760,67807],\"disallowed\"],[[67808,67826],\"valid\"],[[67827,67827],\"disallowed\"],[[67828,67829],\"valid\"],[[67830,67834],\"disallowed\"],[[67835,67839],\"valid\",[],\"NV8\"],[[67840,67861],\"valid\"],[[67862,67865],\"valid\",[],\"NV8\"],[[67866,67867],\"valid\",[],\"NV8\"],[[67868,67870],\"disallowed\"],[[67871,67871],\"valid\",[],\"NV8\"],[[67872,67897],\"valid\"],[[67898,67902],\"disallowed\"],[[67903,67903],\"valid\",[],\"NV8\"],[[67904,67967],\"disallowed\"],[[67968,68023],\"valid\"],[[68024,68027],\"disallowed\"],[[68028,68029],\"valid\",[],\"NV8\"],[[68030,68031],\"valid\"],[[68032,68047],\"valid\",[],\"NV8\"],[[68048,68049],\"disallowed\"],[[68050,68095],\"valid\",[],\"NV8\"],[[68096,68099],\"valid\"],[[68100,68100],\"disallowed\"],[[68101,68102],\"valid\"],[[68103,68107],\"disallowed\"],[[68108,68115],\"valid\"],[[68116,68116],\"disallowed\"],[[68117,68119],\"valid\"],[[68120,68120],\"disallowed\"],[[68121,68147],\"valid\"],[[68148,68151],\"disallowed\"],[[68152,68154],\"valid\"],[[68155,68158],\"disallowed\"],[[68159,68159],\"valid\"],[[68160,68167],\"valid\",[],\"NV8\"],[[68168,68175],\"disallowed\"],[[68176,68184],\"valid\",[],\"NV8\"],[[68185,68191],\"disallowed\"],[[68192,68220],\"valid\"],[[68221,68223],\"valid\",[],\"NV8\"],[[68224,68252],\"valid\"],[[68253,68255],\"valid\",[],\"NV8\"],[[68256,68287],\"disallowed\"],[[68288,68295],\"valid\"],[[68296,68296],\"valid\",[],\"NV8\"],[[68297,68326],\"valid\"],[[68327,68330],\"disallowed\"],[[68331,68342],\"valid\",[],\"NV8\"],[[68343,68351],\"disallowed\"],[[68352,68405],\"valid\"],[[68406,68408],\"disallowed\"],[[68409,68415],\"valid\",[],\"NV8\"],[[68416,68437],\"valid\"],[[68438,68439],\"disallowed\"],[[68440,68447],\"valid\",[],\"NV8\"],[[68448,68466],\"valid\"],[[68467,68471],\"disallowed\"],[[68472,68479],\"valid\",[],\"NV8\"],[[68480,68497],\"valid\"],[[68498,68504],\"disallowed\"],[[68505,68508],\"valid\",[],\"NV8\"],[[68509,68520],\"disallowed\"],[[68521,68527],\"valid\",[],\"NV8\"],[[68528,68607],\"disallowed\"],[[68608,68680],\"valid\"],[[68681,68735],\"disallowed\"],[[68736,68736],\"mapped\",[68800]],[[68737,68737],\"mapped\",[68801]],[[68738,68738],\"mapped\",[68802]],[[68739,68739],\"mapped\",[68803]],[[68740,68740],\"mapped\",[68804]],[[68741,68741],\"mapped\",[68805]],[[68742,68742],\"mapped\",[68806]],[[68743,68743],\"mapped\",[68807]],[[68744,68744],\"mapped\",[68808]],[[68745,68745],\"mapped\",[68809]],[[68746,68746],\"mapped\",[68810]],[[68747,68747],\"mapped\",[68811]],[[68748,68748],\"mapped\",[68812]],[[68749,68749],\"mapped\",[68813]],[[68750,68750],\"mapped\",[68814]],[[68751,68751],\"mapped\",[68815]],[[68752,68752],\"mapped\",[68816]],[[68753,68753],\"mapped\",[68817]],[[68754,68754],\"mapped\",[68818]],[[68755,68755],\"mapped\",[68819]],[[68756,68756],\"mapped\",[68820]],[[68757,68757],\"mapped\",[68821]],[[68758,68758],\"mapped\",[68822]],[[68759,68759],\"mapped\",[68823]],[[68760,68760],\"mapped\",[68824]],[[68761,68761],\"mapped\",[68825]],[[68762,68762],\"mapped\",[68826]],[[68763,68763],\"mapped\",[68827]],[[68764,68764],\"mapped\",[68828]],[[68765,68765],\"mapped\",[68829]],[[68766,68766],\"mapped\",[68830]],[[68767,68767],\"mapped\",[68831]],[[68768,68768],\"mapped\",[68832]],[[68769,68769],\"mapped\",[68833]],[[68770,68770],\"mapped\",[68834]],[[68771,68771],\"mapped\",[68835]],[[68772,68772],\"mapped\",[68836]],[[68773,68773],\"mapped\",[68837]],[[68774,68774],\"mapped\",[68838]],[[68775,68775],\"mapped\",[68839]],[[68776,68776],\"mapped\",[68840]],[[68777,68777],\"mapped\",[68841]],[[68778,68778],\"mapped\",[68842]],[[68779,68779],\"mapped\",[68843]],[[68780,68780],\"mapped\",[68844]],[[68781,68781],\"mapped\",[68845]],[[68782,68782],\"mapped\",[68846]],[[68783,68783],\"mapped\",[68847]],[[68784,68784],\"mapped\",[68848]],[[68785,68785],\"mapped\",[68849]],[[68786,68786],\"mapped\",[68850]],[[68787,68799],\"disallowed\"],[[68800,68850],\"valid\"],[[68851,68857],\"disallowed\"],[[68858,68863],\"valid\",[],\"NV8\"],[[68864,69215],\"disallowed\"],[[69216,69246],\"valid\",[],\"NV8\"],[[69247,69631],\"disallowed\"],[[69632,69702],\"valid\"],[[69703,69709],\"valid\",[],\"NV8\"],[[69710,69713],\"disallowed\"],[[69714,69733],\"valid\",[],\"NV8\"],[[69734,69743],\"valid\"],[[69744,69758],\"disallowed\"],[[69759,69759],\"valid\"],[[69760,69818],\"valid\"],[[69819,69820],\"valid\",[],\"NV8\"],[[69821,69821],\"disallowed\"],[[69822,69825],\"valid\",[],\"NV8\"],[[69826,69839],\"disallowed\"],[[69840,69864],\"valid\"],[[69865,69871],\"disallowed\"],[[69872,69881],\"valid\"],[[69882,69887],\"disallowed\"],[[69888,69940],\"valid\"],[[69941,69941],\"disallowed\"],[[69942,69951],\"valid\"],[[69952,69955],\"valid\",[],\"NV8\"],[[69956,69967],\"disallowed\"],[[69968,70003],\"valid\"],[[70004,70005],\"valid\",[],\"NV8\"],[[70006,70006],\"valid\"],[[70007,70015],\"disallowed\"],[[70016,70084],\"valid\"],[[70085,70088],\"valid\",[],\"NV8\"],[[70089,70089],\"valid\",[],\"NV8\"],[[70090,70092],\"valid\"],[[70093,70093],\"valid\",[],\"NV8\"],[[70094,70095],\"disallowed\"],[[70096,70105],\"valid\"],[[70106,70106],\"valid\"],[[70107,70107],\"valid\",[],\"NV8\"],[[70108,70108],\"valid\"],[[70109,70111],\"valid\",[],\"NV8\"],[[70112,70112],\"disallowed\"],[[70113,70132],\"valid\",[],\"NV8\"],[[70133,70143],\"disallowed\"],[[70144,70161],\"valid\"],[[70162,70162],\"disallowed\"],[[70163,70199],\"valid\"],[[70200,70205],\"valid\",[],\"NV8\"],[[70206,70271],\"disallowed\"],[[70272,70278],\"valid\"],[[70279,70279],\"disallowed\"],[[70280,70280],\"valid\"],[[70281,70281],\"disallowed\"],[[70282,70285],\"valid\"],[[70286,70286],\"disallowed\"],[[70287,70301],\"valid\"],[[70302,70302],\"disallowed\"],[[70303,70312],\"valid\"],[[70313,70313],\"valid\",[],\"NV8\"],[[70314,70319],\"disallowed\"],[[70320,70378],\"valid\"],[[70379,70383],\"disallowed\"],[[70384,70393],\"valid\"],[[70394,70399],\"disallowed\"],[[70400,70400],\"valid\"],[[70401,70403],\"valid\"],[[70404,70404],\"disallowed\"],[[70405,70412],\"valid\"],[[70413,70414],\"disallowed\"],[[70415,70416],\"valid\"],[[70417,70418],\"disallowed\"],[[70419,70440],\"valid\"],[[70441,70441],\"disallowed\"],[[70442,70448],\"valid\"],[[70449,70449],\"disallowed\"],[[70450,70451],\"valid\"],[[70452,70452],\"disallowed\"],[[70453,70457],\"valid\"],[[70458,70459],\"disallowed\"],[[70460,70468],\"valid\"],[[70469,70470],\"disallowed\"],[[70471,70472],\"valid\"],[[70473,70474],\"disallowed\"],[[70475,70477],\"valid\"],[[70478,70479],\"disallowed\"],[[70480,70480],\"valid\"],[[70481,70486],\"disallowed\"],[[70487,70487],\"valid\"],[[70488,70492],\"disallowed\"],[[70493,70499],\"valid\"],[[70500,70501],\"disallowed\"],[[70502,70508],\"valid\"],[[70509,70511],\"disallowed\"],[[70512,70516],\"valid\"],[[70517,70783],\"disallowed\"],[[70784,70853],\"valid\"],[[70854,70854],\"valid\",[],\"NV8\"],[[70855,70855],\"valid\"],[[70856,70863],\"disallowed\"],[[70864,70873],\"valid\"],[[70874,71039],\"disallowed\"],[[71040,71093],\"valid\"],[[71094,71095],\"disallowed\"],[[71096,71104],\"valid\"],[[71105,71113],\"valid\",[],\"NV8\"],[[71114,71127],\"valid\",[],\"NV8\"],[[71128,71133],\"valid\"],[[71134,71167],\"disallowed\"],[[71168,71232],\"valid\"],[[71233,71235],\"valid\",[],\"NV8\"],[[71236,71236],\"valid\"],[[71237,71247],\"disallowed\"],[[71248,71257],\"valid\"],[[71258,71295],\"disallowed\"],[[71296,71351],\"valid\"],[[71352,71359],\"disallowed\"],[[71360,71369],\"valid\"],[[71370,71423],\"disallowed\"],[[71424,71449],\"valid\"],[[71450,71452],\"disallowed\"],[[71453,71467],\"valid\"],[[71468,71471],\"disallowed\"],[[71472,71481],\"valid\"],[[71482,71487],\"valid\",[],\"NV8\"],[[71488,71839],\"disallowed\"],[[71840,71840],\"mapped\",[71872]],[[71841,71841],\"mapped\",[71873]],[[71842,71842],\"mapped\",[71874]],[[71843,71843],\"mapped\",[71875]],[[71844,71844],\"mapped\",[71876]],[[71845,71845],\"mapped\",[71877]],[[71846,71846],\"mapped\",[71878]],[[71847,71847],\"mapped\",[71879]],[[71848,71848],\"mapped\",[71880]],[[71849,71849],\"mapped\",[71881]],[[71850,71850],\"mapped\",[71882]],[[71851,71851],\"mapped\",[71883]],[[71852,71852],\"mapped\",[71884]],[[71853,71853],\"mapped\",[71885]],[[71854,71854],\"mapped\",[71886]],[[71855,71855],\"mapped\",[71887]],[[71856,71856],\"mapped\",[71888]],[[71857,71857],\"mapped\",[71889]],[[71858,71858],\"mapped\",[71890]],[[71859,71859],\"mapped\",[71891]],[[71860,71860],\"mapped\",[71892]],[[71861,71861],\"mapped\",[71893]],[[71862,71862],\"mapped\",[71894]],[[71863,71863],\"mapped\",[71895]],[[71864,71864],\"mapped\",[71896]],[[71865,71865],\"mapped\",[71897]],[[71866,71866],\"mapped\",[71898]],[[71867,71867],\"mapped\",[71899]],[[71868,71868],\"mapped\",[71900]],[[71869,71869],\"mapped\",[71901]],[[71870,71870],\"mapped\",[71902]],[[71871,71871],\"mapped\",[71903]],[[71872,71913],\"valid\"],[[71914,71922],\"valid\",[],\"NV8\"],[[71923,71934],\"disallowed\"],[[71935,71935],\"valid\"],[[71936,72383],\"disallowed\"],[[72384,72440],\"valid\"],[[72441,73727],\"disallowed\"],[[73728,74606],\"valid\"],[[74607,74648],\"valid\"],[[74649,74649],\"valid\"],[[74650,74751],\"disallowed\"],[[74752,74850],\"valid\",[],\"NV8\"],[[74851,74862],\"valid\",[],\"NV8\"],[[74863,74863],\"disallowed\"],[[74864,74867],\"valid\",[],\"NV8\"],[[74868,74868],\"valid\",[],\"NV8\"],[[74869,74879],\"disallowed\"],[[74880,75075],\"valid\"],[[75076,77823],\"disallowed\"],[[77824,78894],\"valid\"],[[78895,82943],\"disallowed\"],[[82944,83526],\"valid\"],[[83527,92159],\"disallowed\"],[[92160,92728],\"valid\"],[[92729,92735],\"disallowed\"],[[92736,92766],\"valid\"],[[92767,92767],\"disallowed\"],[[92768,92777],\"valid\"],[[92778,92781],\"disallowed\"],[[92782,92783],\"valid\",[],\"NV8\"],[[92784,92879],\"disallowed\"],[[92880,92909],\"valid\"],[[92910,92911],\"disallowed\"],[[92912,92916],\"valid\"],[[92917,92917],\"valid\",[],\"NV8\"],[[92918,92927],\"disallowed\"],[[92928,92982],\"valid\"],[[92983,92991],\"valid\",[],\"NV8\"],[[92992,92995],\"valid\"],[[92996,92997],\"valid\",[],\"NV8\"],[[92998,93007],\"disallowed\"],[[93008,93017],\"valid\"],[[93018,93018],\"disallowed\"],[[93019,93025],\"valid\",[],\"NV8\"],[[93026,93026],\"disallowed\"],[[93027,93047],\"valid\"],[[93048,93052],\"disallowed\"],[[93053,93071],\"valid\"],[[93072,93951],\"disallowed\"],[[93952,94020],\"valid\"],[[94021,94031],\"disallowed\"],[[94032,94078],\"valid\"],[[94079,94094],\"disallowed\"],[[94095,94111],\"valid\"],[[94112,110591],\"disallowed\"],[[110592,110593],\"valid\"],[[110594,113663],\"disallowed\"],[[113664,113770],\"valid\"],[[113771,113775],\"disallowed\"],[[113776,113788],\"valid\"],[[113789,113791],\"disallowed\"],[[113792,113800],\"valid\"],[[113801,113807],\"disallowed\"],[[113808,113817],\"valid\"],[[113818,113819],\"disallowed\"],[[113820,113820],\"valid\",[],\"NV8\"],[[113821,113822],\"valid\"],[[113823,113823],\"valid\",[],\"NV8\"],[[113824,113827],\"ignored\"],[[113828,118783],\"disallowed\"],[[118784,119029],\"valid\",[],\"NV8\"],[[119030,119039],\"disallowed\"],[[119040,119078],\"valid\",[],\"NV8\"],[[119079,119080],\"disallowed\"],[[119081,119081],\"valid\",[],\"NV8\"],[[119082,119133],\"valid\",[],\"NV8\"],[[119134,119134],\"mapped\",[119127,119141]],[[119135,119135],\"mapped\",[119128,119141]],[[119136,119136],\"mapped\",[119128,119141,119150]],[[119137,119137],\"mapped\",[119128,119141,119151]],[[119138,119138],\"mapped\",[119128,119141,119152]],[[119139,119139],\"mapped\",[119128,119141,119153]],[[119140,119140],\"mapped\",[119128,119141,119154]],[[119141,119154],\"valid\",[],\"NV8\"],[[119155,119162],\"disallowed\"],[[119163,119226],\"valid\",[],\"NV8\"],[[119227,119227],\"mapped\",[119225,119141]],[[119228,119228],\"mapped\",[119226,119141]],[[119229,119229],\"mapped\",[119225,119141,119150]],[[119230,119230],\"mapped\",[119226,119141,119150]],[[119231,119231],\"mapped\",[119225,119141,119151]],[[119232,119232],\"mapped\",[119226,119141,119151]],[[119233,119261],\"valid\",[],\"NV8\"],[[119262,119272],\"valid\",[],\"NV8\"],[[119273,119295],\"disallowed\"],[[119296,119365],\"valid\",[],\"NV8\"],[[119366,119551],\"disallowed\"],[[119552,119638],\"valid\",[],\"NV8\"],[[119639,119647],\"disallowed\"],[[119648,119665],\"valid\",[],\"NV8\"],[[119666,119807],\"disallowed\"],[[119808,119808],\"mapped\",[97]],[[119809,119809],\"mapped\",[98]],[[119810,119810],\"mapped\",[99]],[[119811,119811],\"mapped\",[100]],[[119812,119812],\"mapped\",[101]],[[119813,119813],\"mapped\",[102]],[[119814,119814],\"mapped\",[103]],[[119815,119815],\"mapped\",[104]],[[119816,119816],\"mapped\",[105]],[[119817,119817],\"mapped\",[106]],[[119818,119818],\"mapped\",[107]],[[119819,119819],\"mapped\",[108]],[[119820,119820],\"mapped\",[109]],[[119821,119821],\"mapped\",[110]],[[119822,119822],\"mapped\",[111]],[[119823,119823],\"mapped\",[112]],[[119824,119824],\"mapped\",[113]],[[119825,119825],\"mapped\",[114]],[[119826,119826],\"mapped\",[115]],[[119827,119827],\"mapped\",[116]],[[119828,119828],\"mapped\",[117]],[[119829,119829],\"mapped\",[118]],[[119830,119830],\"mapped\",[119]],[[119831,119831],\"mapped\",[120]],[[119832,119832],\"mapped\",[121]],[[119833,119833],\"mapped\",[122]],[[119834,119834],\"mapped\",[97]],[[119835,119835],\"mapped\",[98]],[[119836,119836],\"mapped\",[99]],[[119837,119837],\"mapped\",[100]],[[119838,119838],\"mapped\",[101]],[[119839,119839],\"mapped\",[102]],[[119840,119840],\"mapped\",[103]],[[119841,119841],\"mapped\",[104]],[[119842,119842],\"mapped\",[105]],[[119843,119843],\"mapped\",[106]],[[119844,119844],\"mapped\",[107]],[[119845,119845],\"mapped\",[108]],[[119846,119846],\"mapped\",[109]],[[119847,119847],\"mapped\",[110]],[[119848,119848],\"mapped\",[111]],[[119849,119849],\"mapped\",[112]],[[119850,119850],\"mapped\",[113]],[[119851,119851],\"mapped\",[114]],[[119852,119852],\"mapped\",[115]],[[119853,119853],\"mapped\",[116]],[[119854,119854],\"mapped\",[117]],[[119855,119855],\"mapped\",[118]],[[119856,119856],\"mapped\",[119]],[[119857,119857],\"mapped\",[120]],[[119858,119858],\"mapped\",[121]],[[119859,119859],\"mapped\",[122]],[[119860,119860],\"mapped\",[97]],[[119861,119861],\"mapped\",[98]],[[119862,119862],\"mapped\",[99]],[[119863,119863],\"mapped\",[100]],[[119864,119864],\"mapped\",[101]],[[119865,119865],\"mapped\",[102]],[[119866,119866],\"mapped\",[103]],[[119867,119867],\"mapped\",[104]],[[119868,119868],\"mapped\",[105]],[[119869,119869],\"mapped\",[106]],[[119870,119870],\"mapped\",[107]],[[119871,119871],\"mapped\",[108]],[[119872,119872],\"mapped\",[109]],[[119873,119873],\"mapped\",[110]],[[119874,119874],\"mapped\",[111]],[[119875,119875],\"mapped\",[112]],[[119876,119876],\"mapped\",[113]],[[119877,119877],\"mapped\",[114]],[[119878,119878],\"mapped\",[115]],[[119879,119879],\"mapped\",[116]],[[119880,119880],\"mapped\",[117]],[[119881,119881],\"mapped\",[118]],[[119882,119882],\"mapped\",[119]],[[119883,119883],\"mapped\",[120]],[[119884,119884],\"mapped\",[121]],[[119885,119885],\"mapped\",[122]],[[119886,119886],\"mapped\",[97]],[[119887,119887],\"mapped\",[98]],[[119888,119888],\"mapped\",[99]],[[119889,119889],\"mapped\",[100]],[[119890,119890],\"mapped\",[101]],[[119891,119891],\"mapped\",[102]],[[119892,119892],\"mapped\",[103]],[[119893,119893],\"disallowed\"],[[119894,119894],\"mapped\",[105]],[[119895,119895],\"mapped\",[106]],[[119896,119896],\"mapped\",[107]],[[119897,119897],\"mapped\",[108]],[[119898,119898],\"mapped\",[109]],[[119899,119899],\"mapped\",[110]],[[119900,119900],\"mapped\",[111]],[[119901,119901],\"mapped\",[112]],[[119902,119902],\"mapped\",[113]],[[119903,119903],\"mapped\",[114]],[[119904,119904],\"mapped\",[115]],[[119905,119905],\"mapped\",[116]],[[119906,119906],\"mapped\",[117]],[[119907,119907],\"mapped\",[118]],[[119908,119908],\"mapped\",[119]],[[119909,119909],\"mapped\",[120]],[[119910,119910],\"mapped\",[121]],[[119911,119911],\"mapped\",[122]],[[119912,119912],\"mapped\",[97]],[[119913,119913],\"mapped\",[98]],[[119914,119914],\"mapped\",[99]],[[119915,119915],\"mapped\",[100]],[[119916,119916],\"mapped\",[101]],[[119917,119917],\"mapped\",[102]],[[119918,119918],\"mapped\",[103]],[[119919,119919],\"mapped\",[104]],[[119920,119920],\"mapped\",[105]],[[119921,119921],\"mapped\",[106]],[[119922,119922],\"mapped\",[107]],[[119923,119923],\"mapped\",[108]],[[119924,119924],\"mapped\",[109]],[[119925,119925],\"mapped\",[110]],[[119926,119926],\"mapped\",[111]],[[119927,119927],\"mapped\",[112]],[[119928,119928],\"mapped\",[113]],[[119929,119929],\"mapped\",[114]],[[119930,119930],\"mapped\",[115]],[[119931,119931],\"mapped\",[116]],[[119932,119932],\"mapped\",[117]],[[119933,119933],\"mapped\",[118]],[[119934,119934],\"mapped\",[119]],[[119935,119935],\"mapped\",[120]],[[119936,119936],\"mapped\",[121]],[[119937,119937],\"mapped\",[122]],[[119938,119938],\"mapped\",[97]],[[119939,119939],\"mapped\",[98]],[[119940,119940],\"mapped\",[99]],[[119941,119941],\"mapped\",[100]],[[119942,119942],\"mapped\",[101]],[[119943,119943],\"mapped\",[102]],[[119944,119944],\"mapped\",[103]],[[119945,119945],\"mapped\",[104]],[[119946,119946],\"mapped\",[105]],[[119947,119947],\"mapped\",[106]],[[119948,119948],\"mapped\",[107]],[[119949,119949],\"mapped\",[108]],[[119950,119950],\"mapped\",[109]],[[119951,119951],\"mapped\",[110]],[[119952,119952],\"mapped\",[111]],[[119953,119953],\"mapped\",[112]],[[119954,119954],\"mapped\",[113]],[[119955,119955],\"mapped\",[114]],[[119956,119956],\"mapped\",[115]],[[119957,119957],\"mapped\",[116]],[[119958,119958],\"mapped\",[117]],[[119959,119959],\"mapped\",[118]],[[119960,119960],\"mapped\",[119]],[[119961,119961],\"mapped\",[120]],[[119962,119962],\"mapped\",[121]],[[119963,119963],\"mapped\",[122]],[[119964,119964],\"mapped\",[97]],[[119965,119965],\"disallowed\"],[[119966,119966],\"mapped\",[99]],[[119967,119967],\"mapped\",[100]],[[119968,119969],\"disallowed\"],[[119970,119970],\"mapped\",[103]],[[119971,119972],\"disallowed\"],[[119973,119973],\"mapped\",[106]],[[119974,119974],\"mapped\",[107]],[[119975,119976],\"disallowed\"],[[119977,119977],\"mapped\",[110]],[[119978,119978],\"mapped\",[111]],[[119979,119979],\"mapped\",[112]],[[119980,119980],\"mapped\",[113]],[[119981,119981],\"disallowed\"],[[119982,119982],\"mapped\",[115]],[[119983,119983],\"mapped\",[116]],[[119984,119984],\"mapped\",[117]],[[119985,119985],\"mapped\",[118]],[[119986,119986],\"mapped\",[119]],[[119987,119987],\"mapped\",[120]],[[119988,119988],\"mapped\",[121]],[[119989,119989],\"mapped\",[122]],[[119990,119990],\"mapped\",[97]],[[119991,119991],\"mapped\",[98]],[[119992,119992],\"mapped\",[99]],[[119993,119993],\"mapped\",[100]],[[119994,119994],\"disallowed\"],[[119995,119995],\"mapped\",[102]],[[119996,119996],\"disallowed\"],[[119997,119997],\"mapped\",[104]],[[119998,119998],\"mapped\",[105]],[[119999,119999],\"mapped\",[106]],[[120000,120000],\"mapped\",[107]],[[120001,120001],\"mapped\",[108]],[[120002,120002],\"mapped\",[109]],[[120003,120003],\"mapped\",[110]],[[120004,120004],\"disallowed\"],[[120005,120005],\"mapped\",[112]],[[120006,120006],\"mapped\",[113]],[[120007,120007],\"mapped\",[114]],[[120008,120008],\"mapped\",[115]],[[120009,120009],\"mapped\",[116]],[[120010,120010],\"mapped\",[117]],[[120011,120011],\"mapped\",[118]],[[120012,120012],\"mapped\",[119]],[[120013,120013],\"mapped\",[120]],[[120014,120014],\"mapped\",[121]],[[120015,120015],\"mapped\",[122]],[[120016,120016],\"mapped\",[97]],[[120017,120017],\"mapped\",[98]],[[120018,120018],\"mapped\",[99]],[[120019,120019],\"mapped\",[100]],[[120020,120020],\"mapped\",[101]],[[120021,120021],\"mapped\",[102]],[[120022,120022],\"mapped\",[103]],[[120023,120023],\"mapped\",[104]],[[120024,120024],\"mapped\",[105]],[[120025,120025],\"mapped\",[106]],[[120026,120026],\"mapped\",[107]],[[120027,120027],\"mapped\",[108]],[[120028,120028],\"mapped\",[109]],[[120029,120029],\"mapped\",[110]],[[120030,120030],\"mapped\",[111]],[[120031,120031],\"mapped\",[112]],[[120032,120032],\"mapped\",[113]],[[120033,120033],\"mapped\",[114]],[[120034,120034],\"mapped\",[115]],[[120035,120035],\"mapped\",[116]],[[120036,120036],\"mapped\",[117]],[[120037,120037],\"mapped\",[118]],[[120038,120038],\"mapped\",[119]],[[120039,120039],\"mapped\",[120]],[[120040,120040],\"mapped\",[121]],[[120041,120041],\"mapped\",[122]],[[120042,120042],\"mapped\",[97]],[[120043,120043],\"mapped\",[98]],[[120044,120044],\"mapped\",[99]],[[120045,120045],\"mapped\",[100]],[[120046,120046],\"mapped\",[101]],[[120047,120047],\"mapped\",[102]],[[120048,120048],\"mapped\",[103]],[[120049,120049],\"mapped\",[104]],[[120050,120050],\"mapped\",[105]],[[120051,120051],\"mapped\",[106]],[[120052,120052],\"mapped\",[107]],[[120053,120053],\"mapped\",[108]],[[120054,120054],\"mapped\",[109]],[[120055,120055],\"mapped\",[110]],[[120056,120056],\"mapped\",[111]],[[120057,120057],\"mapped\",[112]],[[120058,120058],\"mapped\",[113]],[[120059,120059],\"mapped\",[114]],[[120060,120060],\"mapped\",[115]],[[120061,120061],\"mapped\",[116]],[[120062,120062],\"mapped\",[117]],[[120063,120063],\"mapped\",[118]],[[120064,120064],\"mapped\",[119]],[[120065,120065],\"mapped\",[120]],[[120066,120066],\"mapped\",[121]],[[120067,120067],\"mapped\",[122]],[[120068,120068],\"mapped\",[97]],[[120069,120069],\"mapped\",[98]],[[120070,120070],\"disallowed\"],[[120071,120071],\"mapped\",[100]],[[120072,120072],\"mapped\",[101]],[[120073,120073],\"mapped\",[102]],[[120074,120074],\"mapped\",[103]],[[120075,120076],\"disallowed\"],[[120077,120077],\"mapped\",[106]],[[120078,120078],\"mapped\",[107]],[[120079,120079],\"mapped\",[108]],[[120080,120080],\"mapped\",[109]],[[120081,120081],\"mapped\",[110]],[[120082,120082],\"mapped\",[111]],[[120083,120083],\"mapped\",[112]],[[120084,120084],\"mapped\",[113]],[[120085,120085],\"disallowed\"],[[120086,120086],\"mapped\",[115]],[[120087,120087],\"mapped\",[116]],[[120088,120088],\"mapped\",[117]],[[120089,120089],\"mapped\",[118]],[[120090,120090],\"mapped\",[119]],[[120091,120091],\"mapped\",[120]],[[120092,120092],\"mapped\",[121]],[[120093,120093],\"disallowed\"],[[120094,120094],\"mapped\",[97]],[[120095,120095],\"mapped\",[98]],[[120096,120096],\"mapped\",[99]],[[120097,120097],\"mapped\",[100]],[[120098,120098],\"mapped\",[101]],[[120099,120099],\"mapped\",[102]],[[120100,120100],\"mapped\",[103]],[[120101,120101],\"mapped\",[104]],[[120102,120102],\"mapped\",[105]],[[120103,120103],\"mapped\",[106]],[[120104,120104],\"mapped\",[107]],[[120105,120105],\"mapped\",[108]],[[120106,120106],\"mapped\",[109]],[[120107,120107],\"mapped\",[110]],[[120108,120108],\"mapped\",[111]],[[120109,120109],\"mapped\",[112]],[[120110,120110],\"mapped\",[113]],[[120111,120111],\"mapped\",[114]],[[120112,120112],\"mapped\",[115]],[[120113,120113],\"mapped\",[116]],[[120114,120114],\"mapped\",[117]],[[120115,120115],\"mapped\",[118]],[[120116,120116],\"mapped\",[119]],[[120117,120117],\"mapped\",[120]],[[120118,120118],\"mapped\",[121]],[[120119,120119],\"mapped\",[122]],[[120120,120120],\"mapped\",[97]],[[120121,120121],\"mapped\",[98]],[[120122,120122],\"disallowed\"],[[120123,120123],\"mapped\",[100]],[[120124,120124],\"mapped\",[101]],[[120125,120125],\"mapped\",[102]],[[120126,120126],\"mapped\",[103]],[[120127,120127],\"disallowed\"],[[120128,120128],\"mapped\",[105]],[[120129,120129],\"mapped\",[106]],[[120130,120130],\"mapped\",[107]],[[120131,120131],\"mapped\",[108]],[[120132,120132],\"mapped\",[109]],[[120133,120133],\"disallowed\"],[[120134,120134],\"mapped\",[111]],[[120135,120137],\"disallowed\"],[[120138,120138],\"mapped\",[115]],[[120139,120139],\"mapped\",[116]],[[120140,120140],\"mapped\",[117]],[[120141,120141],\"mapped\",[118]],[[120142,120142],\"mapped\",[119]],[[120143,120143],\"mapped\",[120]],[[120144,120144],\"mapped\",[121]],[[120145,120145],\"disallowed\"],[[120146,120146],\"mapped\",[97]],[[120147,120147],\"mapped\",[98]],[[120148,120148],\"mapped\",[99]],[[120149,120149],\"mapped\",[100]],[[120150,120150],\"mapped\",[101]],[[120151,120151],\"mapped\",[102]],[[120152,120152],\"mapped\",[103]],[[120153,120153],\"mapped\",[104]],[[120154,120154],\"mapped\",[105]],[[120155,120155],\"mapped\",[106]],[[120156,120156],\"mapped\",[107]],[[120157,120157],\"mapped\",[108]],[[120158,120158],\"mapped\",[109]],[[120159,120159],\"mapped\",[110]],[[120160,120160],\"mapped\",[111]],[[120161,120161],\"mapped\",[112]],[[120162,120162],\"mapped\",[113]],[[120163,120163],\"mapped\",[114]],[[120164,120164],\"mapped\",[115]],[[120165,120165],\"mapped\",[116]],[[120166,120166],\"mapped\",[117]],[[120167,120167],\"mapped\",[118]],[[120168,120168],\"mapped\",[119]],[[120169,120169],\"mapped\",[120]],[[120170,120170],\"mapped\",[121]],[[120171,120171],\"mapped\",[122]],[[120172,120172],\"mapped\",[97]],[[120173,120173],\"mapped\",[98]],[[120174,120174],\"mapped\",[99]],[[120175,120175],\"mapped\",[100]],[[120176,120176],\"mapped\",[101]],[[120177,120177],\"mapped\",[102]],[[120178,120178],\"mapped\",[103]],[[120179,120179],\"mapped\",[104]],[[120180,120180],\"mapped\",[105]],[[120181,120181],\"mapped\",[106]],[[120182,120182],\"mapped\",[107]],[[120183,120183],\"mapped\",[108]],[[120184,120184],\"mapped\",[109]],[[120185,120185],\"mapped\",[110]],[[120186,120186],\"mapped\",[111]],[[120187,120187],\"mapped\",[112]],[[120188,120188],\"mapped\",[113]],[[120189,120189],\"mapped\",[114]],[[120190,120190],\"mapped\",[115]],[[120191,120191],\"mapped\",[116]],[[120192,120192],\"mapped\",[117]],[[120193,120193],\"mapped\",[118]],[[120194,120194],\"mapped\",[119]],[[120195,120195],\"mapped\",[120]],[[120196,120196],\"mapped\",[121]],[[120197,120197],\"mapped\",[122]],[[120198,120198],\"mapped\",[97]],[[120199,120199],\"mapped\",[98]],[[120200,120200],\"mapped\",[99]],[[120201,120201],\"mapped\",[100]],[[120202,120202],\"mapped\",[101]],[[120203,120203],\"mapped\",[102]],[[120204,120204],\"mapped\",[103]],[[120205,120205],\"mapped\",[104]],[[120206,120206],\"mapped\",[105]],[[120207,120207],\"mapped\",[106]],[[120208,120208],\"mapped\",[107]],[[120209,120209],\"mapped\",[108]],[[120210,120210],\"mapped\",[109]],[[120211,120211],\"mapped\",[110]],[[120212,120212],\"mapped\",[111]],[[120213,120213],\"mapped\",[112]],[[120214,120214],\"mapped\",[113]],[[120215,120215],\"mapped\",[114]],[[120216,120216],\"mapped\",[115]],[[120217,120217],\"mapped\",[116]],[[120218,120218],\"mapped\",[117]],[[120219,120219],\"mapped\",[118]],[[120220,120220],\"mapped\",[119]],[[120221,120221],\"mapped\",[120]],[[120222,120222],\"mapped\",[121]],[[120223,120223],\"mapped\",[122]],[[120224,120224],\"mapped\",[97]],[[120225,120225],\"mapped\",[98]],[[120226,120226],\"mapped\",[99]],[[120227,120227],\"mapped\",[100]],[[120228,120228],\"mapped\",[101]],[[120229,120229],\"mapped\",[102]],[[120230,120230],\"mapped\",[103]],[[120231,120231],\"mapped\",[104]],[[120232,120232],\"mapped\",[105]],[[120233,120233],\"mapped\",[106]],[[120234,120234],\"mapped\",[107]],[[120235,120235],\"mapped\",[108]],[[120236,120236],\"mapped\",[109]],[[120237,120237],\"mapped\",[110]],[[120238,120238],\"mapped\",[111]],[[120239,120239],\"mapped\",[112]],[[120240,120240],\"mapped\",[113]],[[120241,120241],\"mapped\",[114]],[[120242,120242],\"mapped\",[115]],[[120243,120243],\"mapped\",[116]],[[120244,120244],\"mapped\",[117]],[[120245,120245],\"mapped\",[118]],[[120246,120246],\"mapped\",[119]],[[120247,120247],\"mapped\",[120]],[[120248,120248],\"mapped\",[121]],[[120249,120249],\"mapped\",[122]],[[120250,120250],\"mapped\",[97]],[[120251,120251],\"mapped\",[98]],[[120252,120252],\"mapped\",[99]],[[120253,120253],\"mapped\",[100]],[[120254,120254],\"mapped\",[101]],[[120255,120255],\"mapped\",[102]],[[120256,120256],\"mapped\",[103]],[[120257,120257],\"mapped\",[104]],[[120258,120258],\"mapped\",[105]],[[120259,120259],\"mapped\",[106]],[[120260,120260],\"mapped\",[107]],[[120261,120261],\"mapped\",[108]],[[120262,120262],\"mapped\",[109]],[[120263,120263],\"mapped\",[110]],[[120264,120264],\"mapped\",[111]],[[120265,120265],\"mapped\",[112]],[[120266,120266],\"mapped\",[113]],[[120267,120267],\"mapped\",[114]],[[120268,120268],\"mapped\",[115]],[[120269,120269],\"mapped\",[116]],[[120270,120270],\"mapped\",[117]],[[120271,120271],\"mapped\",[118]],[[120272,120272],\"mapped\",[119]],[[120273,120273],\"mapped\",[120]],[[120274,120274],\"mapped\",[121]],[[120275,120275],\"mapped\",[122]],[[120276,120276],\"mapped\",[97]],[[120277,120277],\"mapped\",[98]],[[120278,120278],\"mapped\",[99]],[[120279,120279],\"mapped\",[100]],[[120280,120280],\"mapped\",[101]],[[120281,120281],\"mapped\",[102]],[[120282,120282],\"mapped\",[103]],[[120283,120283],\"mapped\",[104]],[[120284,120284],\"mapped\",[105]],[[120285,120285],\"mapped\",[106]],[[120286,120286],\"mapped\",[107]],[[120287,120287],\"mapped\",[108]],[[120288,120288],\"mapped\",[109]],[[120289,120289],\"mapped\",[110]],[[120290,120290],\"mapped\",[111]],[[120291,120291],\"mapped\",[112]],[[120292,120292],\"mapped\",[113]],[[120293,120293],\"mapped\",[114]],[[120294,120294],\"mapped\",[115]],[[120295,120295],\"mapped\",[116]],[[120296,120296],\"mapped\",[117]],[[120297,120297],\"mapped\",[118]],[[120298,120298],\"mapped\",[119]],[[120299,120299],\"mapped\",[120]],[[120300,120300],\"mapped\",[121]],[[120301,120301],\"mapped\",[122]],[[120302,120302],\"mapped\",[97]],[[120303,120303],\"mapped\",[98]],[[120304,120304],\"mapped\",[99]],[[120305,120305],\"mapped\",[100]],[[120306,120306],\"mapped\",[101]],[[120307,120307],\"mapped\",[102]],[[120308,120308],\"mapped\",[103]],[[120309,120309],\"mapped\",[104]],[[120310,120310],\"mapped\",[105]],[[120311,120311],\"mapped\",[106]],[[120312,120312],\"mapped\",[107]],[[120313,120313],\"mapped\",[108]],[[120314,120314],\"mapped\",[109]],[[120315,120315],\"mapped\",[110]],[[120316,120316],\"mapped\",[111]],[[120317,120317],\"mapped\",[112]],[[120318,120318],\"mapped\",[113]],[[120319,120319],\"mapped\",[114]],[[120320,120320],\"mapped\",[115]],[[120321,120321],\"mapped\",[116]],[[120322,120322],\"mapped\",[117]],[[120323,120323],\"mapped\",[118]],[[120324,120324],\"mapped\",[119]],[[120325,120325],\"mapped\",[120]],[[120326,120326],\"mapped\",[121]],[[120327,120327],\"mapped\",[122]],[[120328,120328],\"mapped\",[97]],[[120329,120329],\"mapped\",[98]],[[120330,120330],\"mapped\",[99]],[[120331,120331],\"mapped\",[100]],[[120332,120332],\"mapped\",[101]],[[120333,120333],\"mapped\",[102]],[[120334,120334],\"mapped\",[103]],[[120335,120335],\"mapped\",[104]],[[120336,120336],\"mapped\",[105]],[[120337,120337],\"mapped\",[106]],[[120338,120338],\"mapped\",[107]],[[120339,120339],\"mapped\",[108]],[[120340,120340],\"mapped\",[109]],[[120341,120341],\"mapped\",[110]],[[120342,120342],\"mapped\",[111]],[[120343,120343],\"mapped\",[112]],[[120344,120344],\"mapped\",[113]],[[120345,120345],\"mapped\",[114]],[[120346,120346],\"mapped\",[115]],[[120347,120347],\"mapped\",[116]],[[120348,120348],\"mapped\",[117]],[[120349,120349],\"mapped\",[118]],[[120350,120350],\"mapped\",[119]],[[120351,120351],\"mapped\",[120]],[[120352,120352],\"mapped\",[121]],[[120353,120353],\"mapped\",[122]],[[120354,120354],\"mapped\",[97]],[[120355,120355],\"mapped\",[98]],[[120356,120356],\"mapped\",[99]],[[120357,120357],\"mapped\",[100]],[[120358,120358],\"mapped\",[101]],[[120359,120359],\"mapped\",[102]],[[120360,120360],\"mapped\",[103]],[[120361,120361],\"mapped\",[104]],[[120362,120362],\"mapped\",[105]],[[120363,120363],\"mapped\",[106]],[[120364,120364],\"mapped\",[107]],[[120365,120365],\"mapped\",[108]],[[120366,120366],\"mapped\",[109]],[[120367,120367],\"mapped\",[110]],[[120368,120368],\"mapped\",[111]],[[120369,120369],\"mapped\",[112]],[[120370,120370],\"mapped\",[113]],[[120371,120371],\"mapped\",[114]],[[120372,120372],\"mapped\",[115]],[[120373,120373],\"mapped\",[116]],[[120374,120374],\"mapped\",[117]],[[120375,120375],\"mapped\",[118]],[[120376,120376],\"mapped\",[119]],[[120377,120377],\"mapped\",[120]],[[120378,120378],\"mapped\",[121]],[[120379,120379],\"mapped\",[122]],[[120380,120380],\"mapped\",[97]],[[120381,120381],\"mapped\",[98]],[[120382,120382],\"mapped\",[99]],[[120383,120383],\"mapped\",[100]],[[120384,120384],\"mapped\",[101]],[[120385,120385],\"mapped\",[102]],[[120386,120386],\"mapped\",[103]],[[120387,120387],\"mapped\",[104]],[[120388,120388],\"mapped\",[105]],[[120389,120389],\"mapped\",[106]],[[120390,120390],\"mapped\",[107]],[[120391,120391],\"mapped\",[108]],[[120392,120392],\"mapped\",[109]],[[120393,120393],\"mapped\",[110]],[[120394,120394],\"mapped\",[111]],[[120395,120395],\"mapped\",[112]],[[120396,120396],\"mapped\",[113]],[[120397,120397],\"mapped\",[114]],[[120398,120398],\"mapped\",[115]],[[120399,120399],\"mapped\",[116]],[[120400,120400],\"mapped\",[117]],[[120401,120401],\"mapped\",[118]],[[120402,120402],\"mapped\",[119]],[[120403,120403],\"mapped\",[120]],[[120404,120404],\"mapped\",[121]],[[120405,120405],\"mapped\",[122]],[[120406,120406],\"mapped\",[97]],[[120407,120407],\"mapped\",[98]],[[120408,120408],\"mapped\",[99]],[[120409,120409],\"mapped\",[100]],[[120410,120410],\"mapped\",[101]],[[120411,120411],\"mapped\",[102]],[[120412,120412],\"mapped\",[103]],[[120413,120413],\"mapped\",[104]],[[120414,120414],\"mapped\",[105]],[[120415,120415],\"mapped\",[106]],[[120416,120416],\"mapped\",[107]],[[120417,120417],\"mapped\",[108]],[[120418,120418],\"mapped\",[109]],[[120419,120419],\"mapped\",[110]],[[120420,120420],\"mapped\",[111]],[[120421,120421],\"mapped\",[112]],[[120422,120422],\"mapped\",[113]],[[120423,120423],\"mapped\",[114]],[[120424,120424],\"mapped\",[115]],[[120425,120425],\"mapped\",[116]],[[120426,120426],\"mapped\",[117]],[[120427,120427],\"mapped\",[118]],[[120428,120428],\"mapped\",[119]],[[120429,120429],\"mapped\",[120]],[[120430,120430],\"mapped\",[121]],[[120431,120431],\"mapped\",[122]],[[120432,120432],\"mapped\",[97]],[[120433,120433],\"mapped\",[98]],[[120434,120434],\"mapped\",[99]],[[120435,120435],\"mapped\",[100]],[[120436,120436],\"mapped\",[101]],[[120437,120437],\"mapped\",[102]],[[120438,120438],\"mapped\",[103]],[[120439,120439],\"mapped\",[104]],[[120440,120440],\"mapped\",[105]],[[120441,120441],\"mapped\",[106]],[[120442,120442],\"mapped\",[107]],[[120443,120443],\"mapped\",[108]],[[120444,120444],\"mapped\",[109]],[[120445,120445],\"mapped\",[110]],[[120446,120446],\"mapped\",[111]],[[120447,120447],\"mapped\",[112]],[[120448,120448],\"mapped\",[113]],[[120449,120449],\"mapped\",[114]],[[120450,120450],\"mapped\",[115]],[[120451,120451],\"mapped\",[116]],[[120452,120452],\"mapped\",[117]],[[120453,120453],\"mapped\",[118]],[[120454,120454],\"mapped\",[119]],[[120455,120455],\"mapped\",[120]],[[120456,120456],\"mapped\",[121]],[[120457,120457],\"mapped\",[122]],[[120458,120458],\"mapped\",[97]],[[120459,120459],\"mapped\",[98]],[[120460,120460],\"mapped\",[99]],[[120461,120461],\"mapped\",[100]],[[120462,120462],\"mapped\",[101]],[[120463,120463],\"mapped\",[102]],[[120464,120464],\"mapped\",[103]],[[120465,120465],\"mapped\",[104]],[[120466,120466],\"mapped\",[105]],[[120467,120467],\"mapped\",[106]],[[120468,120468],\"mapped\",[107]],[[120469,120469],\"mapped\",[108]],[[120470,120470],\"mapped\",[109]],[[120471,120471],\"mapped\",[110]],[[120472,120472],\"mapped\",[111]],[[120473,120473],\"mapped\",[112]],[[120474,120474],\"mapped\",[113]],[[120475,120475],\"mapped\",[114]],[[120476,120476],\"mapped\",[115]],[[120477,120477],\"mapped\",[116]],[[120478,120478],\"mapped\",[117]],[[120479,120479],\"mapped\",[118]],[[120480,120480],\"mapped\",[119]],[[120481,120481],\"mapped\",[120]],[[120482,120482],\"mapped\",[121]],[[120483,120483],\"mapped\",[122]],[[120484,120484],\"mapped\",[305]],[[120485,120485],\"mapped\",[567]],[[120486,120487],\"disallowed\"],[[120488,120488],\"mapped\",[945]],[[120489,120489],\"mapped\",[946]],[[120490,120490],\"mapped\",[947]],[[120491,120491],\"mapped\",[948]],[[120492,120492],\"mapped\",[949]],[[120493,120493],\"mapped\",[950]],[[120494,120494],\"mapped\",[951]],[[120495,120495],\"mapped\",[952]],[[120496,120496],\"mapped\",[953]],[[120497,120497],\"mapped\",[954]],[[120498,120498],\"mapped\",[955]],[[120499,120499],\"mapped\",[956]],[[120500,120500],\"mapped\",[957]],[[120501,120501],\"mapped\",[958]],[[120502,120502],\"mapped\",[959]],[[120503,120503],\"mapped\",[960]],[[120504,120504],\"mapped\",[961]],[[120505,120505],\"mapped\",[952]],[[120506,120506],\"mapped\",[963]],[[120507,120507],\"mapped\",[964]],[[120508,120508],\"mapped\",[965]],[[120509,120509],\"mapped\",[966]],[[120510,120510],\"mapped\",[967]],[[120511,120511],\"mapped\",[968]],[[120512,120512],\"mapped\",[969]],[[120513,120513],\"mapped\",[8711]],[[120514,120514],\"mapped\",[945]],[[120515,120515],\"mapped\",[946]],[[120516,120516],\"mapped\",[947]],[[120517,120517],\"mapped\",[948]],[[120518,120518],\"mapped\",[949]],[[120519,120519],\"mapped\",[950]],[[120520,120520],\"mapped\",[951]],[[120521,120521],\"mapped\",[952]],[[120522,120522],\"mapped\",[953]],[[120523,120523],\"mapped\",[954]],[[120524,120524],\"mapped\",[955]],[[120525,120525],\"mapped\",[956]],[[120526,120526],\"mapped\",[957]],[[120527,120527],\"mapped\",[958]],[[120528,120528],\"mapped\",[959]],[[120529,120529],\"mapped\",[960]],[[120530,120530],\"mapped\",[961]],[[120531,120532],\"mapped\",[963]],[[120533,120533],\"mapped\",[964]],[[120534,120534],\"mapped\",[965]],[[120535,120535],\"mapped\",[966]],[[120536,120536],\"mapped\",[967]],[[120537,120537],\"mapped\",[968]],[[120538,120538],\"mapped\",[969]],[[120539,120539],\"mapped\",[8706]],[[120540,120540],\"mapped\",[949]],[[120541,120541],\"mapped\",[952]],[[120542,120542],\"mapped\",[954]],[[120543,120543],\"mapped\",[966]],[[120544,120544],\"mapped\",[961]],[[120545,120545],\"mapped\",[960]],[[120546,120546],\"mapped\",[945]],[[120547,120547],\"mapped\",[946]],[[120548,120548],\"mapped\",[947]],[[120549,120549],\"mapped\",[948]],[[120550,120550],\"mapped\",[949]],[[120551,120551],\"mapped\",[950]],[[120552,120552],\"mapped\",[951]],[[120553,120553],\"mapped\",[952]],[[120554,120554],\"mapped\",[953]],[[120555,120555],\"mapped\",[954]],[[120556,120556],\"mapped\",[955]],[[120557,120557],\"mapped\",[956]],[[120558,120558],\"mapped\",[957]],[[120559,120559],\"mapped\",[958]],[[120560,120560],\"mapped\",[959]],[[120561,120561],\"mapped\",[960]],[[120562,120562],\"mapped\",[961]],[[120563,120563],\"mapped\",[952]],[[120564,120564],\"mapped\",[963]],[[120565,120565],\"mapped\",[964]],[[120566,120566],\"mapped\",[965]],[[120567,120567],\"mapped\",[966]],[[120568,120568],\"mapped\",[967]],[[120569,120569],\"mapped\",[968]],[[120570,120570],\"mapped\",[969]],[[120571,120571],\"mapped\",[8711]],[[120572,120572],\"mapped\",[945]],[[120573,120573],\"mapped\",[946]],[[120574,120574],\"mapped\",[947]],[[120575,120575],\"mapped\",[948]],[[120576,120576],\"mapped\",[949]],[[120577,120577],\"mapped\",[950]],[[120578,120578],\"mapped\",[951]],[[120579,120579],\"mapped\",[952]],[[120580,120580],\"mapped\",[953]],[[120581,120581],\"mapped\",[954]],[[120582,120582],\"mapped\",[955]],[[120583,120583],\"mapped\",[956]],[[120584,120584],\"mapped\",[957]],[[120585,120585],\"mapped\",[958]],[[120586,120586],\"mapped\",[959]],[[120587,120587],\"mapped\",[960]],[[120588,120588],\"mapped\",[961]],[[120589,120590],\"mapped\",[963]],[[120591,120591],\"mapped\",[964]],[[120592,120592],\"mapped\",[965]],[[120593,120593],\"mapped\",[966]],[[120594,120594],\"mapped\",[967]],[[120595,120595],\"mapped\",[968]],[[120596,120596],\"mapped\",[969]],[[120597,120597],\"mapped\",[8706]],[[120598,120598],\"mapped\",[949]],[[120599,120599],\"mapped\",[952]],[[120600,120600],\"mapped\",[954]],[[120601,120601],\"mapped\",[966]],[[120602,120602],\"mapped\",[961]],[[120603,120603],\"mapped\",[960]],[[120604,120604],\"mapped\",[945]],[[120605,120605],\"mapped\",[946]],[[120606,120606],\"mapped\",[947]],[[120607,120607],\"mapped\",[948]],[[120608,120608],\"mapped\",[949]],[[120609,120609],\"mapped\",[950]],[[120610,120610],\"mapped\",[951]],[[120611,120611],\"mapped\",[952]],[[120612,120612],\"mapped\",[953]],[[120613,120613],\"mapped\",[954]],[[120614,120614],\"mapped\",[955]],[[120615,120615],\"mapped\",[956]],[[120616,120616],\"mapped\",[957]],[[120617,120617],\"mapped\",[958]],[[120618,120618],\"mapped\",[959]],[[120619,120619],\"mapped\",[960]],[[120620,120620],\"mapped\",[961]],[[120621,120621],\"mapped\",[952]],[[120622,120622],\"mapped\",[963]],[[120623,120623],\"mapped\",[964]],[[120624,120624],\"mapped\",[965]],[[120625,120625],\"mapped\",[966]],[[120626,120626],\"mapped\",[967]],[[120627,120627],\"mapped\",[968]],[[120628,120628],\"mapped\",[969]],[[120629,120629],\"mapped\",[8711]],[[120630,120630],\"mapped\",[945]],[[120631,120631],\"mapped\",[946]],[[120632,120632],\"mapped\",[947]],[[120633,120633],\"mapped\",[948]],[[120634,120634],\"mapped\",[949]],[[120635,120635],\"mapped\",[950]],[[120636,120636],\"mapped\",[951]],[[120637,120637],\"mapped\",[952]],[[120638,120638],\"mapped\",[953]],[[120639,120639],\"mapped\",[954]],[[120640,120640],\"mapped\",[955]],[[120641,120641],\"mapped\",[956]],[[120642,120642],\"mapped\",[957]],[[120643,120643],\"mapped\",[958]],[[120644,120644],\"mapped\",[959]],[[120645,120645],\"mapped\",[960]],[[120646,120646],\"mapped\",[961]],[[120647,120648],\"mapped\",[963]],[[120649,120649],\"mapped\",[964]],[[120650,120650],\"mapped\",[965]],[[120651,120651],\"mapped\",[966]],[[120652,120652],\"mapped\",[967]],[[120653,120653],\"mapped\",[968]],[[120654,120654],\"mapped\",[969]],[[120655,120655],\"mapped\",[8706]],[[120656,120656],\"mapped\",[949]],[[120657,120657],\"mapped\",[952]],[[120658,120658],\"mapped\",[954]],[[120659,120659],\"mapped\",[966]],[[120660,120660],\"mapped\",[961]],[[120661,120661],\"mapped\",[960]],[[120662,120662],\"mapped\",[945]],[[120663,120663],\"mapped\",[946]],[[120664,120664],\"mapped\",[947]],[[120665,120665],\"mapped\",[948]],[[120666,120666],\"mapped\",[949]],[[120667,120667],\"mapped\",[950]],[[120668,120668],\"mapped\",[951]],[[120669,120669],\"mapped\",[952]],[[120670,120670],\"mapped\",[953]],[[120671,120671],\"mapped\",[954]],[[120672,120672],\"mapped\",[955]],[[120673,120673],\"mapped\",[956]],[[120674,120674],\"mapped\",[957]],[[120675,120675],\"mapped\",[958]],[[120676,120676],\"mapped\",[959]],[[120677,120677],\"mapped\",[960]],[[120678,120678],\"mapped\",[961]],[[120679,120679],\"mapped\",[952]],[[120680,120680],\"mapped\",[963]],[[120681,120681],\"mapped\",[964]],[[120682,120682],\"mapped\",[965]],[[120683,120683],\"mapped\",[966]],[[120684,120684],\"mapped\",[967]],[[120685,120685],\"mapped\",[968]],[[120686,120686],\"mapped\",[969]],[[120687,120687],\"mapped\",[8711]],[[120688,120688],\"mapped\",[945]],[[120689,120689],\"mapped\",[946]],[[120690,120690],\"mapped\",[947]],[[120691,120691],\"mapped\",[948]],[[120692,120692],\"mapped\",[949]],[[120693,120693],\"mapped\",[950]],[[120694,120694],\"mapped\",[951]],[[120695,120695],\"mapped\",[952]],[[120696,120696],\"mapped\",[953]],[[120697,120697],\"mapped\",[954]],[[120698,120698],\"mapped\",[955]],[[120699,120699],\"mapped\",[956]],[[120700,120700],\"mapped\",[957]],[[120701,120701],\"mapped\",[958]],[[120702,120702],\"mapped\",[959]],[[120703,120703],\"mapped\",[960]],[[120704,120704],\"mapped\",[961]],[[120705,120706],\"mapped\",[963]],[[120707,120707],\"mapped\",[964]],[[120708,120708],\"mapped\",[965]],[[120709,120709],\"mapped\",[966]],[[120710,120710],\"mapped\",[967]],[[120711,120711],\"mapped\",[968]],[[120712,120712],\"mapped\",[969]],[[120713,120713],\"mapped\",[8706]],[[120714,120714],\"mapped\",[949]],[[120715,120715],\"mapped\",[952]],[[120716,120716],\"mapped\",[954]],[[120717,120717],\"mapped\",[966]],[[120718,120718],\"mapped\",[961]],[[120719,120719],\"mapped\",[960]],[[120720,120720],\"mapped\",[945]],[[120721,120721],\"mapped\",[946]],[[120722,120722],\"mapped\",[947]],[[120723,120723],\"mapped\",[948]],[[120724,120724],\"mapped\",[949]],[[120725,120725],\"mapped\",[950]],[[120726,120726],\"mapped\",[951]],[[120727,120727],\"mapped\",[952]],[[120728,120728],\"mapped\",[953]],[[120729,120729],\"mapped\",[954]],[[120730,120730],\"mapped\",[955]],[[120731,120731],\"mapped\",[956]],[[120732,120732],\"mapped\",[957]],[[120733,120733],\"mapped\",[958]],[[120734,120734],\"mapped\",[959]],[[120735,120735],\"mapped\",[960]],[[120736,120736],\"mapped\",[961]],[[120737,120737],\"mapped\",[952]],[[120738,120738],\"mapped\",[963]],[[120739,120739],\"mapped\",[964]],[[120740,120740],\"mapped\",[965]],[[120741,120741],\"mapped\",[966]],[[120742,120742],\"mapped\",[967]],[[120743,120743],\"mapped\",[968]],[[120744,120744],\"mapped\",[969]],[[120745,120745],\"mapped\",[8711]],[[120746,120746],\"mapped\",[945]],[[120747,120747],\"mapped\",[946]],[[120748,120748],\"mapped\",[947]],[[120749,120749],\"mapped\",[948]],[[120750,120750],\"mapped\",[949]],[[120751,120751],\"mapped\",[950]],[[120752,120752],\"mapped\",[951]],[[120753,120753],\"mapped\",[952]],[[120754,120754],\"mapped\",[953]],[[120755,120755],\"mapped\",[954]],[[120756,120756],\"mapped\",[955]],[[120757,120757],\"mapped\",[956]],[[120758,120758],\"mapped\",[957]],[[120759,120759],\"mapped\",[958]],[[120760,120760],\"mapped\",[959]],[[120761,120761],\"mapped\",[960]],[[120762,120762],\"mapped\",[961]],[[120763,120764],\"mapped\",[963]],[[120765,120765],\"mapped\",[964]],[[120766,120766],\"mapped\",[965]],[[120767,120767],\"mapped\",[966]],[[120768,120768],\"mapped\",[967]],[[120769,120769],\"mapped\",[968]],[[120770,120770],\"mapped\",[969]],[[120771,120771],\"mapped\",[8706]],[[120772,120772],\"mapped\",[949]],[[120773,120773],\"mapped\",[952]],[[120774,120774],\"mapped\",[954]],[[120775,120775],\"mapped\",[966]],[[120776,120776],\"mapped\",[961]],[[120777,120777],\"mapped\",[960]],[[120778,120779],\"mapped\",[989]],[[120780,120781],\"disallowed\"],[[120782,120782],\"mapped\",[48]],[[120783,120783],\"mapped\",[49]],[[120784,120784],\"mapped\",[50]],[[120785,120785],\"mapped\",[51]],[[120786,120786],\"mapped\",[52]],[[120787,120787],\"mapped\",[53]],[[120788,120788],\"mapped\",[54]],[[120789,120789],\"mapped\",[55]],[[120790,120790],\"mapped\",[56]],[[120791,120791],\"mapped\",[57]],[[120792,120792],\"mapped\",[48]],[[120793,120793],\"mapped\",[49]],[[120794,120794],\"mapped\",[50]],[[120795,120795],\"mapped\",[51]],[[120796,120796],\"mapped\",[52]],[[120797,120797],\"mapped\",[53]],[[120798,120798],\"mapped\",[54]],[[120799,120799],\"mapped\",[55]],[[120800,120800],\"mapped\",[56]],[[120801,120801],\"mapped\",[57]],[[120802,120802],\"mapped\",[48]],[[120803,120803],\"mapped\",[49]],[[120804,120804],\"mapped\",[50]],[[120805,120805],\"mapped\",[51]],[[120806,120806],\"mapped\",[52]],[[120807,120807],\"mapped\",[53]],[[120808,120808],\"mapped\",[54]],[[120809,120809],\"mapped\",[55]],[[120810,120810],\"mapped\",[56]],[[120811,120811],\"mapped\",[57]],[[120812,120812],\"mapped\",[48]],[[120813,120813],\"mapped\",[49]],[[120814,120814],\"mapped\",[50]],[[120815,120815],\"mapped\",[51]],[[120816,120816],\"mapped\",[52]],[[120817,120817],\"mapped\",[53]],[[120818,120818],\"mapped\",[54]],[[120819,120819],\"mapped\",[55]],[[120820,120820],\"mapped\",[56]],[[120821,120821],\"mapped\",[57]],[[120822,120822],\"mapped\",[48]],[[120823,120823],\"mapped\",[49]],[[120824,120824],\"mapped\",[50]],[[120825,120825],\"mapped\",[51]],[[120826,120826],\"mapped\",[52]],[[120827,120827],\"mapped\",[53]],[[120828,120828],\"mapped\",[54]],[[120829,120829],\"mapped\",[55]],[[120830,120830],\"mapped\",[56]],[[120831,120831],\"mapped\",[57]],[[120832,121343],\"valid\",[],\"NV8\"],[[121344,121398],\"valid\"],[[121399,121402],\"valid\",[],\"NV8\"],[[121403,121452],\"valid\"],[[121453,121460],\"valid\",[],\"NV8\"],[[121461,121461],\"valid\"],[[121462,121475],\"valid\",[],\"NV8\"],[[121476,121476],\"valid\"],[[121477,121483],\"valid\",[],\"NV8\"],[[121484,121498],\"disallowed\"],[[121499,121503],\"valid\"],[[121504,121504],\"disallowed\"],[[121505,121519],\"valid\"],[[121520,124927],\"disallowed\"],[[124928,125124],\"valid\"],[[125125,125126],\"disallowed\"],[[125127,125135],\"valid\",[],\"NV8\"],[[125136,125142],\"valid\"],[[125143,126463],\"disallowed\"],[[126464,126464],\"mapped\",[1575]],[[126465,126465],\"mapped\",[1576]],[[126466,126466],\"mapped\",[1580]],[[126467,126467],\"mapped\",[1583]],[[126468,126468],\"disallowed\"],[[126469,126469],\"mapped\",[1608]],[[126470,126470],\"mapped\",[1586]],[[126471,126471],\"mapped\",[1581]],[[126472,126472],\"mapped\",[1591]],[[126473,126473],\"mapped\",[1610]],[[126474,126474],\"mapped\",[1603]],[[126475,126475],\"mapped\",[1604]],[[126476,126476],\"mapped\",[1605]],[[126477,126477],\"mapped\",[1606]],[[126478,126478],\"mapped\",[1587]],[[126479,126479],\"mapped\",[1593]],[[126480,126480],\"mapped\",[1601]],[[126481,126481],\"mapped\",[1589]],[[126482,126482],\"mapped\",[1602]],[[126483,126483],\"mapped\",[1585]],[[126484,126484],\"mapped\",[1588]],[[126485,126485],\"mapped\",[1578]],[[126486,126486],\"mapped\",[1579]],[[126487,126487],\"mapped\",[1582]],[[126488,126488],\"mapped\",[1584]],[[126489,126489],\"mapped\",[1590]],[[126490,126490],\"mapped\",[1592]],[[126491,126491],\"mapped\",[1594]],[[126492,126492],\"mapped\",[1646]],[[126493,126493],\"mapped\",[1722]],[[126494,126494],\"mapped\",[1697]],[[126495,126495],\"mapped\",[1647]],[[126496,126496],\"disallowed\"],[[126497,126497],\"mapped\",[1576]],[[126498,126498],\"mapped\",[1580]],[[126499,126499],\"disallowed\"],[[126500,126500],\"mapped\",[1607]],[[126501,126502],\"disallowed\"],[[126503,126503],\"mapped\",[1581]],[[126504,126504],\"disallowed\"],[[126505,126505],\"mapped\",[1610]],[[126506,126506],\"mapped\",[1603]],[[126507,126507],\"mapped\",[1604]],[[126508,126508],\"mapped\",[1605]],[[126509,126509],\"mapped\",[1606]],[[126510,126510],\"mapped\",[1587]],[[126511,126511],\"mapped\",[1593]],[[126512,126512],\"mapped\",[1601]],[[126513,126513],\"mapped\",[1589]],[[126514,126514],\"mapped\",[1602]],[[126515,126515],\"disallowed\"],[[126516,126516],\"mapped\",[1588]],[[126517,126517],\"mapped\",[1578]],[[126518,126518],\"mapped\",[1579]],[[126519,126519],\"mapped\",[1582]],[[126520,126520],\"disallowed\"],[[126521,126521],\"mapped\",[1590]],[[126522,126522],\"disallowed\"],[[126523,126523],\"mapped\",[1594]],[[126524,126529],\"disallowed\"],[[126530,126530],\"mapped\",[1580]],[[126531,126534],\"disallowed\"],[[126535,126535],\"mapped\",[1581]],[[126536,126536],\"disallowed\"],[[126537,126537],\"mapped\",[1610]],[[126538,126538],\"disallowed\"],[[126539,126539],\"mapped\",[1604]],[[126540,126540],\"disallowed\"],[[126541,126541],\"mapped\",[1606]],[[126542,126542],\"mapped\",[1587]],[[126543,126543],\"mapped\",[1593]],[[126544,126544],\"disallowed\"],[[126545,126545],\"mapped\",[1589]],[[126546,126546],\"mapped\",[1602]],[[126547,126547],\"disallowed\"],[[126548,126548],\"mapped\",[1588]],[[126549,126550],\"disallowed\"],[[126551,126551],\"mapped\",[1582]],[[126552,126552],\"disallowed\"],[[126553,126553],\"mapped\",[1590]],[[126554,126554],\"disallowed\"],[[126555,126555],\"mapped\",[1594]],[[126556,126556],\"disallowed\"],[[126557,126557],\"mapped\",[1722]],[[126558,126558],\"disallowed\"],[[126559,126559],\"mapped\",[1647]],[[126560,126560],\"disallowed\"],[[126561,126561],\"mapped\",[1576]],[[126562,126562],\"mapped\",[1580]],[[126563,126563],\"disallowed\"],[[126564,126564],\"mapped\",[1607]],[[126565,126566],\"disallowed\"],[[126567,126567],\"mapped\",[1581]],[[126568,126568],\"mapped\",[1591]],[[126569,126569],\"mapped\",[1610]],[[126570,126570],\"mapped\",[1603]],[[126571,126571],\"disallowed\"],[[126572,126572],\"mapped\",[1605]],[[126573,126573],\"mapped\",[1606]],[[126574,126574],\"mapped\",[1587]],[[126575,126575],\"mapped\",[1593]],[[126576,126576],\"mapped\",[1601]],[[126577,126577],\"mapped\",[1589]],[[126578,126578],\"mapped\",[1602]],[[126579,126579],\"disallowed\"],[[126580,126580],\"mapped\",[1588]],[[126581,126581],\"mapped\",[1578]],[[126582,126582],\"mapped\",[1579]],[[126583,126583],\"mapped\",[1582]],[[126584,126584],\"disallowed\"],[[126585,126585],\"mapped\",[1590]],[[126586,126586],\"mapped\",[1592]],[[126587,126587],\"mapped\",[1594]],[[126588,126588],\"mapped\",[1646]],[[126589,126589],\"disallowed\"],[[126590,126590],\"mapped\",[1697]],[[126591,126591],\"disallowed\"],[[126592,126592],\"mapped\",[1575]],[[126593,126593],\"mapped\",[1576]],[[126594,126594],\"mapped\",[1580]],[[126595,126595],\"mapped\",[1583]],[[126596,126596],\"mapped\",[1607]],[[126597,126597],\"mapped\",[1608]],[[126598,126598],\"mapped\",[1586]],[[126599,126599],\"mapped\",[1581]],[[126600,126600],\"mapped\",[1591]],[[126601,126601],\"mapped\",[1610]],[[126602,126602],\"disallowed\"],[[126603,126603],\"mapped\",[1604]],[[126604,126604],\"mapped\",[1605]],[[126605,126605],\"mapped\",[1606]],[[126606,126606],\"mapped\",[1587]],[[126607,126607],\"mapped\",[1593]],[[126608,126608],\"mapped\",[1601]],[[126609,126609],\"mapped\",[1589]],[[126610,126610],\"mapped\",[1602]],[[126611,126611],\"mapped\",[1585]],[[126612,126612],\"mapped\",[1588]],[[126613,126613],\"mapped\",[1578]],[[126614,126614],\"mapped\",[1579]],[[126615,126615],\"mapped\",[1582]],[[126616,126616],\"mapped\",[1584]],[[126617,126617],\"mapped\",[1590]],[[126618,126618],\"mapped\",[1592]],[[126619,126619],\"mapped\",[1594]],[[126620,126624],\"disallowed\"],[[126625,126625],\"mapped\",[1576]],[[126626,126626],\"mapped\",[1580]],[[126627,126627],\"mapped\",[1583]],[[126628,126628],\"disallowed\"],[[126629,126629],\"mapped\",[1608]],[[126630,126630],\"mapped\",[1586]],[[126631,126631],\"mapped\",[1581]],[[126632,126632],\"mapped\",[1591]],[[126633,126633],\"mapped\",[1610]],[[126634,126634],\"disallowed\"],[[126635,126635],\"mapped\",[1604]],[[126636,126636],\"mapped\",[1605]],[[126637,126637],\"mapped\",[1606]],[[126638,126638],\"mapped\",[1587]],[[126639,126639],\"mapped\",[1593]],[[126640,126640],\"mapped\",[1601]],[[126641,126641],\"mapped\",[1589]],[[126642,126642],\"mapped\",[1602]],[[126643,126643],\"mapped\",[1585]],[[126644,126644],\"mapped\",[1588]],[[126645,126645],\"mapped\",[1578]],[[126646,126646],\"mapped\",[1579]],[[126647,126647],\"mapped\",[1582]],[[126648,126648],\"mapped\",[1584]],[[126649,126649],\"mapped\",[1590]],[[126650,126650],\"mapped\",[1592]],[[126651,126651],\"mapped\",[1594]],[[126652,126703],\"disallowed\"],[[126704,126705],\"valid\",[],\"NV8\"],[[126706,126975],\"disallowed\"],[[126976,127019],\"valid\",[],\"NV8\"],[[127020,127023],\"disallowed\"],[[127024,127123],\"valid\",[],\"NV8\"],[[127124,127135],\"disallowed\"],[[127136,127150],\"valid\",[],\"NV8\"],[[127151,127152],\"disallowed\"],[[127153,127166],\"valid\",[],\"NV8\"],[[127167,127167],\"valid\",[],\"NV8\"],[[127168,127168],\"disallowed\"],[[127169,127183],\"valid\",[],\"NV8\"],[[127184,127184],\"disallowed\"],[[127185,127199],\"valid\",[],\"NV8\"],[[127200,127221],\"valid\",[],\"NV8\"],[[127222,127231],\"disallowed\"],[[127232,127232],\"disallowed\"],[[127233,127233],\"disallowed_STD3_mapped\",[48,44]],[[127234,127234],\"disallowed_STD3_mapped\",[49,44]],[[127235,127235],\"disallowed_STD3_mapped\",[50,44]],[[127236,127236],\"disallowed_STD3_mapped\",[51,44]],[[127237,127237],\"disallowed_STD3_mapped\",[52,44]],[[127238,127238],\"disallowed_STD3_mapped\",[53,44]],[[127239,127239],\"disallowed_STD3_mapped\",[54,44]],[[127240,127240],\"disallowed_STD3_mapped\",[55,44]],[[127241,127241],\"disallowed_STD3_mapped\",[56,44]],[[127242,127242],\"disallowed_STD3_mapped\",[57,44]],[[127243,127244],\"valid\",[],\"NV8\"],[[127245,127247],\"disallowed\"],[[127248,127248],\"disallowed_STD3_mapped\",[40,97,41]],[[127249,127249],\"disallowed_STD3_mapped\",[40,98,41]],[[127250,127250],\"disallowed_STD3_mapped\",[40,99,41]],[[127251,127251],\"disallowed_STD3_mapped\",[40,100,41]],[[127252,127252],\"disallowed_STD3_mapped\",[40,101,41]],[[127253,127253],\"disallowed_STD3_mapped\",[40,102,41]],[[127254,127254],\"disallowed_STD3_mapped\",[40,103,41]],[[127255,127255],\"disallowed_STD3_mapped\",[40,104,41]],[[127256,127256],\"disallowed_STD3_mapped\",[40,105,41]],[[127257,127257],\"disallowed_STD3_mapped\",[40,106,41]],[[127258,127258],\"disallowed_STD3_mapped\",[40,107,41]],[[127259,127259],\"disallowed_STD3_mapped\",[40,108,41]],[[127260,127260],\"disallowed_STD3_mapped\",[40,109,41]],[[127261,127261],\"disallowed_STD3_mapped\",[40,110,41]],[[127262,127262],\"disallowed_STD3_mapped\",[40,111,41]],[[127263,127263],\"disallowed_STD3_mapped\",[40,112,41]],[[127264,127264],\"disallowed_STD3_mapped\",[40,113,41]],[[127265,127265],\"disallowed_STD3_mapped\",[40,114,41]],[[127266,127266],\"disallowed_STD3_mapped\",[40,115,41]],[[127267,127267],\"disallowed_STD3_mapped\",[40,116,41]],[[127268,127268],\"disallowed_STD3_mapped\",[40,117,41]],[[127269,127269],\"disallowed_STD3_mapped\",[40,118,41]],[[127270,127270],\"disallowed_STD3_mapped\",[40,119,41]],[[127271,127271],\"disallowed_STD3_mapped\",[40,120,41]],[[127272,127272],\"disallowed_STD3_mapped\",[40,121,41]],[[127273,127273],\"disallowed_STD3_mapped\",[40,122,41]],[[127274,127274],\"mapped\",[12308,115,12309]],[[127275,127275],\"mapped\",[99]],[[127276,127276],\"mapped\",[114]],[[127277,127277],\"mapped\",[99,100]],[[127278,127278],\"mapped\",[119,122]],[[127279,127279],\"disallowed\"],[[127280,127280],\"mapped\",[97]],[[127281,127281],\"mapped\",[98]],[[127282,127282],\"mapped\",[99]],[[127283,127283],\"mapped\",[100]],[[127284,127284],\"mapped\",[101]],[[127285,127285],\"mapped\",[102]],[[127286,127286],\"mapped\",[103]],[[127287,127287],\"mapped\",[104]],[[127288,127288],\"mapped\",[105]],[[127289,127289],\"mapped\",[106]],[[127290,127290],\"mapped\",[107]],[[127291,127291],\"mapped\",[108]],[[127292,127292],\"mapped\",[109]],[[127293,127293],\"mapped\",[110]],[[127294,127294],\"mapped\",[111]],[[127295,127295],\"mapped\",[112]],[[127296,127296],\"mapped\",[113]],[[127297,127297],\"mapped\",[114]],[[127298,127298],\"mapped\",[115]],[[127299,127299],\"mapped\",[116]],[[127300,127300],\"mapped\",[117]],[[127301,127301],\"mapped\",[118]],[[127302,127302],\"mapped\",[119]],[[127303,127303],\"mapped\",[120]],[[127304,127304],\"mapped\",[121]],[[127305,127305],\"mapped\",[122]],[[127306,127306],\"mapped\",[104,118]],[[127307,127307],\"mapped\",[109,118]],[[127308,127308],\"mapped\",[115,100]],[[127309,127309],\"mapped\",[115,115]],[[127310,127310],\"mapped\",[112,112,118]],[[127311,127311],\"mapped\",[119,99]],[[127312,127318],\"valid\",[],\"NV8\"],[[127319,127319],\"valid\",[],\"NV8\"],[[127320,127326],\"valid\",[],\"NV8\"],[[127327,127327],\"valid\",[],\"NV8\"],[[127328,127337],\"valid\",[],\"NV8\"],[[127338,127338],\"mapped\",[109,99]],[[127339,127339],\"mapped\",[109,100]],[[127340,127343],\"disallowed\"],[[127344,127352],\"valid\",[],\"NV8\"],[[127353,127353],\"valid\",[],\"NV8\"],[[127354,127354],\"valid\",[],\"NV8\"],[[127355,127356],\"valid\",[],\"NV8\"],[[127357,127358],\"valid\",[],\"NV8\"],[[127359,127359],\"valid\",[],\"NV8\"],[[127360,127369],\"valid\",[],\"NV8\"],[[127370,127373],\"valid\",[],\"NV8\"],[[127374,127375],\"valid\",[],\"NV8\"],[[127376,127376],\"mapped\",[100,106]],[[127377,127386],\"valid\",[],\"NV8\"],[[127387,127461],\"disallowed\"],[[127462,127487],\"valid\",[],\"NV8\"],[[127488,127488],\"mapped\",[12411,12363]],[[127489,127489],\"mapped\",[12467,12467]],[[127490,127490],\"mapped\",[12469]],[[127491,127503],\"disallowed\"],[[127504,127504],\"mapped\",[25163]],[[127505,127505],\"mapped\",[23383]],[[127506,127506],\"mapped\",[21452]],[[127507,127507],\"mapped\",[12487]],[[127508,127508],\"mapped\",[20108]],[[127509,127509],\"mapped\",[22810]],[[127510,127510],\"mapped\",[35299]],[[127511,127511],\"mapped\",[22825]],[[127512,127512],\"mapped\",[20132]],[[127513,127513],\"mapped\",[26144]],[[127514,127514],\"mapped\",[28961]],[[127515,127515],\"mapped\",[26009]],[[127516,127516],\"mapped\",[21069]],[[127517,127517],\"mapped\",[24460]],[[127518,127518],\"mapped\",[20877]],[[127519,127519],\"mapped\",[26032]],[[127520,127520],\"mapped\",[21021]],[[127521,127521],\"mapped\",[32066]],[[127522,127522],\"mapped\",[29983]],[[127523,127523],\"mapped\",[36009]],[[127524,127524],\"mapped\",[22768]],[[127525,127525],\"mapped\",[21561]],[[127526,127526],\"mapped\",[28436]],[[127527,127527],\"mapped\",[25237]],[[127528,127528],\"mapped\",[25429]],[[127529,127529],\"mapped\",[19968]],[[127530,127530],\"mapped\",[19977]],[[127531,127531],\"mapped\",[36938]],[[127532,127532],\"mapped\",[24038]],[[127533,127533],\"mapped\",[20013]],[[127534,127534],\"mapped\",[21491]],[[127535,127535],\"mapped\",[25351]],[[127536,127536],\"mapped\",[36208]],[[127537,127537],\"mapped\",[25171]],[[127538,127538],\"mapped\",[31105]],[[127539,127539],\"mapped\",[31354]],[[127540,127540],\"mapped\",[21512]],[[127541,127541],\"mapped\",[28288]],[[127542,127542],\"mapped\",[26377]],[[127543,127543],\"mapped\",[26376]],[[127544,127544],\"mapped\",[30003]],[[127545,127545],\"mapped\",[21106]],[[127546,127546],\"mapped\",[21942]],[[127547,127551],\"disallowed\"],[[127552,127552],\"mapped\",[12308,26412,12309]],[[127553,127553],\"mapped\",[12308,19977,12309]],[[127554,127554],\"mapped\",[12308,20108,12309]],[[127555,127555],\"mapped\",[12308,23433,12309]],[[127556,127556],\"mapped\",[12308,28857,12309]],[[127557,127557],\"mapped\",[12308,25171,12309]],[[127558,127558],\"mapped\",[12308,30423,12309]],[[127559,127559],\"mapped\",[12308,21213,12309]],[[127560,127560],\"mapped\",[12308,25943,12309]],[[127561,127567],\"disallowed\"],[[127568,127568],\"mapped\",[24471]],[[127569,127569],\"mapped\",[21487]],[[127570,127743],\"disallowed\"],[[127744,127776],\"valid\",[],\"NV8\"],[[127777,127788],\"valid\",[],\"NV8\"],[[127789,127791],\"valid\",[],\"NV8\"],[[127792,127797],\"valid\",[],\"NV8\"],[[127798,127798],\"valid\",[],\"NV8\"],[[127799,127868],\"valid\",[],\"NV8\"],[[127869,127869],\"valid\",[],\"NV8\"],[[127870,127871],\"valid\",[],\"NV8\"],[[127872,127891],\"valid\",[],\"NV8\"],[[127892,127903],\"valid\",[],\"NV8\"],[[127904,127940],\"valid\",[],\"NV8\"],[[127941,127941],\"valid\",[],\"NV8\"],[[127942,127946],\"valid\",[],\"NV8\"],[[127947,127950],\"valid\",[],\"NV8\"],[[127951,127955],\"valid\",[],\"NV8\"],[[127956,127967],\"valid\",[],\"NV8\"],[[127968,127984],\"valid\",[],\"NV8\"],[[127985,127991],\"valid\",[],\"NV8\"],[[127992,127999],\"valid\",[],\"NV8\"],[[128000,128062],\"valid\",[],\"NV8\"],[[128063,128063],\"valid\",[],\"NV8\"],[[128064,128064],\"valid\",[],\"NV8\"],[[128065,128065],\"valid\",[],\"NV8\"],[[128066,128247],\"valid\",[],\"NV8\"],[[128248,128248],\"valid\",[],\"NV8\"],[[128249,128252],\"valid\",[],\"NV8\"],[[128253,128254],\"valid\",[],\"NV8\"],[[128255,128255],\"valid\",[],\"NV8\"],[[128256,128317],\"valid\",[],\"NV8\"],[[128318,128319],\"valid\",[],\"NV8\"],[[128320,128323],\"valid\",[],\"NV8\"],[[128324,128330],\"valid\",[],\"NV8\"],[[128331,128335],\"valid\",[],\"NV8\"],[[128336,128359],\"valid\",[],\"NV8\"],[[128360,128377],\"valid\",[],\"NV8\"],[[128378,128378],\"disallowed\"],[[128379,128419],\"valid\",[],\"NV8\"],[[128420,128420],\"disallowed\"],[[128421,128506],\"valid\",[],\"NV8\"],[[128507,128511],\"valid\",[],\"NV8\"],[[128512,128512],\"valid\",[],\"NV8\"],[[128513,128528],\"valid\",[],\"NV8\"],[[128529,128529],\"valid\",[],\"NV8\"],[[128530,128532],\"valid\",[],\"NV8\"],[[128533,128533],\"valid\",[],\"NV8\"],[[128534,128534],\"valid\",[],\"NV8\"],[[128535,128535],\"valid\",[],\"NV8\"],[[128536,128536],\"valid\",[],\"NV8\"],[[128537,128537],\"valid\",[],\"NV8\"],[[128538,128538],\"valid\",[],\"NV8\"],[[128539,128539],\"valid\",[],\"NV8\"],[[128540,128542],\"valid\",[],\"NV8\"],[[128543,128543],\"valid\",[],\"NV8\"],[[128544,128549],\"valid\",[],\"NV8\"],[[128550,128551],\"valid\",[],\"NV8\"],[[128552,128555],\"valid\",[],\"NV8\"],[[128556,128556],\"valid\",[],\"NV8\"],[[128557,128557],\"valid\",[],\"NV8\"],[[128558,128559],\"valid\",[],\"NV8\"],[[128560,128563],\"valid\",[],\"NV8\"],[[128564,128564],\"valid\",[],\"NV8\"],[[128565,128576],\"valid\",[],\"NV8\"],[[128577,128578],\"valid\",[],\"NV8\"],[[128579,128580],\"valid\",[],\"NV8\"],[[128581,128591],\"valid\",[],\"NV8\"],[[128592,128639],\"valid\",[],\"NV8\"],[[128640,128709],\"valid\",[],\"NV8\"],[[128710,128719],\"valid\",[],\"NV8\"],[[128720,128720],\"valid\",[],\"NV8\"],[[128721,128735],\"disallowed\"],[[128736,128748],\"valid\",[],\"NV8\"],[[128749,128751],\"disallowed\"],[[128752,128755],\"valid\",[],\"NV8\"],[[128756,128767],\"disallowed\"],[[128768,128883],\"valid\",[],\"NV8\"],[[128884,128895],\"disallowed\"],[[128896,128980],\"valid\",[],\"NV8\"],[[128981,129023],\"disallowed\"],[[129024,129035],\"valid\",[],\"NV8\"],[[129036,129039],\"disallowed\"],[[129040,129095],\"valid\",[],\"NV8\"],[[129096,129103],\"disallowed\"],[[129104,129113],\"valid\",[],\"NV8\"],[[129114,129119],\"disallowed\"],[[129120,129159],\"valid\",[],\"NV8\"],[[129160,129167],\"disallowed\"],[[129168,129197],\"valid\",[],\"NV8\"],[[129198,129295],\"disallowed\"],[[129296,129304],\"valid\",[],\"NV8\"],[[129305,129407],\"disallowed\"],[[129408,129412],\"valid\",[],\"NV8\"],[[129413,129471],\"disallowed\"],[[129472,129472],\"valid\",[],\"NV8\"],[[129473,131069],\"disallowed\"],[[131070,131071],\"disallowed\"],[[131072,173782],\"valid\"],[[173783,173823],\"disallowed\"],[[173824,177972],\"valid\"],[[177973,177983],\"disallowed\"],[[177984,178205],\"valid\"],[[178206,178207],\"disallowed\"],[[178208,183969],\"valid\"],[[183970,194559],\"disallowed\"],[[194560,194560],\"mapped\",[20029]],[[194561,194561],\"mapped\",[20024]],[[194562,194562],\"mapped\",[20033]],[[194563,194563],\"mapped\",[131362]],[[194564,194564],\"mapped\",[20320]],[[194565,194565],\"mapped\",[20398]],[[194566,194566],\"mapped\",[20411]],[[194567,194567],\"mapped\",[20482]],[[194568,194568],\"mapped\",[20602]],[[194569,194569],\"mapped\",[20633]],[[194570,194570],\"mapped\",[20711]],[[194571,194571],\"mapped\",[20687]],[[194572,194572],\"mapped\",[13470]],[[194573,194573],\"mapped\",[132666]],[[194574,194574],\"mapped\",[20813]],[[194575,194575],\"mapped\",[20820]],[[194576,194576],\"mapped\",[20836]],[[194577,194577],\"mapped\",[20855]],[[194578,194578],\"mapped\",[132380]],[[194579,194579],\"mapped\",[13497]],[[194580,194580],\"mapped\",[20839]],[[194581,194581],\"mapped\",[20877]],[[194582,194582],\"mapped\",[132427]],[[194583,194583],\"mapped\",[20887]],[[194584,194584],\"mapped\",[20900]],[[194585,194585],\"mapped\",[20172]],[[194586,194586],\"mapped\",[20908]],[[194587,194587],\"mapped\",[20917]],[[194588,194588],\"mapped\",[168415]],[[194589,194589],\"mapped\",[20981]],[[194590,194590],\"mapped\",[20995]],[[194591,194591],\"mapped\",[13535]],[[194592,194592],\"mapped\",[21051]],[[194593,194593],\"mapped\",[21062]],[[194594,194594],\"mapped\",[21106]],[[194595,194595],\"mapped\",[21111]],[[194596,194596],\"mapped\",[13589]],[[194597,194597],\"mapped\",[21191]],[[194598,194598],\"mapped\",[21193]],[[194599,194599],\"mapped\",[21220]],[[194600,194600],\"mapped\",[21242]],[[194601,194601],\"mapped\",[21253]],[[194602,194602],\"mapped\",[21254]],[[194603,194603],\"mapped\",[21271]],[[194604,194604],\"mapped\",[21321]],[[194605,194605],\"mapped\",[21329]],[[194606,194606],\"mapped\",[21338]],[[194607,194607],\"mapped\",[21363]],[[194608,194608],\"mapped\",[21373]],[[194609,194611],\"mapped\",[21375]],[[194612,194612],\"mapped\",[133676]],[[194613,194613],\"mapped\",[28784]],[[194614,194614],\"mapped\",[21450]],[[194615,194615],\"mapped\",[21471]],[[194616,194616],\"mapped\",[133987]],[[194617,194617],\"mapped\",[21483]],[[194618,194618],\"mapped\",[21489]],[[194619,194619],\"mapped\",[21510]],[[194620,194620],\"mapped\",[21662]],[[194621,194621],\"mapped\",[21560]],[[194622,194622],\"mapped\",[21576]],[[194623,194623],\"mapped\",[21608]],[[194624,194624],\"mapped\",[21666]],[[194625,194625],\"mapped\",[21750]],[[194626,194626],\"mapped\",[21776]],[[194627,194627],\"mapped\",[21843]],[[194628,194628],\"mapped\",[21859]],[[194629,194630],\"mapped\",[21892]],[[194631,194631],\"mapped\",[21913]],[[194632,194632],\"mapped\",[21931]],[[194633,194633],\"mapped\",[21939]],[[194634,194634],\"mapped\",[21954]],[[194635,194635],\"mapped\",[22294]],[[194636,194636],\"mapped\",[22022]],[[194637,194637],\"mapped\",[22295]],[[194638,194638],\"mapped\",[22097]],[[194639,194639],\"mapped\",[22132]],[[194640,194640],\"mapped\",[20999]],[[194641,194641],\"mapped\",[22766]],[[194642,194642],\"mapped\",[22478]],[[194643,194643],\"mapped\",[22516]],[[194644,194644],\"mapped\",[22541]],[[194645,194645],\"mapped\",[22411]],[[194646,194646],\"mapped\",[22578]],[[194647,194647],\"mapped\",[22577]],[[194648,194648],\"mapped\",[22700]],[[194649,194649],\"mapped\",[136420]],[[194650,194650],\"mapped\",[22770]],[[194651,194651],\"mapped\",[22775]],[[194652,194652],\"mapped\",[22790]],[[194653,194653],\"mapped\",[22810]],[[194654,194654],\"mapped\",[22818]],[[194655,194655],\"mapped\",[22882]],[[194656,194656],\"mapped\",[136872]],[[194657,194657],\"mapped\",[136938]],[[194658,194658],\"mapped\",[23020]],[[194659,194659],\"mapped\",[23067]],[[194660,194660],\"mapped\",[23079]],[[194661,194661],\"mapped\",[23000]],[[194662,194662],\"mapped\",[23142]],[[194663,194663],\"mapped\",[14062]],[[194664,194664],\"disallowed\"],[[194665,194665],\"mapped\",[23304]],[[194666,194667],\"mapped\",[23358]],[[194668,194668],\"mapped\",[137672]],[[194669,194669],\"mapped\",[23491]],[[194670,194670],\"mapped\",[23512]],[[194671,194671],\"mapped\",[23527]],[[194672,194672],\"mapped\",[23539]],[[194673,194673],\"mapped\",[138008]],[[194674,194674],\"mapped\",[23551]],[[194675,194675],\"mapped\",[23558]],[[194676,194676],\"disallowed\"],[[194677,194677],\"mapped\",[23586]],[[194678,194678],\"mapped\",[14209]],[[194679,194679],\"mapped\",[23648]],[[194680,194680],\"mapped\",[23662]],[[194681,194681],\"mapped\",[23744]],[[194682,194682],\"mapped\",[23693]],[[194683,194683],\"mapped\",[138724]],[[194684,194684],\"mapped\",[23875]],[[194685,194685],\"mapped\",[138726]],[[194686,194686],\"mapped\",[23918]],[[194687,194687],\"mapped\",[23915]],[[194688,194688],\"mapped\",[23932]],[[194689,194689],\"mapped\",[24033]],[[194690,194690],\"mapped\",[24034]],[[194691,194691],\"mapped\",[14383]],[[194692,194692],\"mapped\",[24061]],[[194693,194693],\"mapped\",[24104]],[[194694,194694],\"mapped\",[24125]],[[194695,194695],\"mapped\",[24169]],[[194696,194696],\"mapped\",[14434]],[[194697,194697],\"mapped\",[139651]],[[194698,194698],\"mapped\",[14460]],[[194699,194699],\"mapped\",[24240]],[[194700,194700],\"mapped\",[24243]],[[194701,194701],\"mapped\",[24246]],[[194702,194702],\"mapped\",[24266]],[[194703,194703],\"mapped\",[172946]],[[194704,194704],\"mapped\",[24318]],[[194705,194706],\"mapped\",[140081]],[[194707,194707],\"mapped\",[33281]],[[194708,194709],\"mapped\",[24354]],[[194710,194710],\"mapped\",[14535]],[[194711,194711],\"mapped\",[144056]],[[194712,194712],\"mapped\",[156122]],[[194713,194713],\"mapped\",[24418]],[[194714,194714],\"mapped\",[24427]],[[194715,194715],\"mapped\",[14563]],[[194716,194716],\"mapped\",[24474]],[[194717,194717],\"mapped\",[24525]],[[194718,194718],\"mapped\",[24535]],[[194719,194719],\"mapped\",[24569]],[[194720,194720],\"mapped\",[24705]],[[194721,194721],\"mapped\",[14650]],[[194722,194722],\"mapped\",[14620]],[[194723,194723],\"mapped\",[24724]],[[194724,194724],\"mapped\",[141012]],[[194725,194725],\"mapped\",[24775]],[[194726,194726],\"mapped\",[24904]],[[194727,194727],\"mapped\",[24908]],[[194728,194728],\"mapped\",[24910]],[[194729,194729],\"mapped\",[24908]],[[194730,194730],\"mapped\",[24954]],[[194731,194731],\"mapped\",[24974]],[[194732,194732],\"mapped\",[25010]],[[194733,194733],\"mapped\",[24996]],[[194734,194734],\"mapped\",[25007]],[[194735,194735],\"mapped\",[25054]],[[194736,194736],\"mapped\",[25074]],[[194737,194737],\"mapped\",[25078]],[[194738,194738],\"mapped\",[25104]],[[194739,194739],\"mapped\",[25115]],[[194740,194740],\"mapped\",[25181]],[[194741,194741],\"mapped\",[25265]],[[194742,194742],\"mapped\",[25300]],[[194743,194743],\"mapped\",[25424]],[[194744,194744],\"mapped\",[142092]],[[194745,194745],\"mapped\",[25405]],[[194746,194746],\"mapped\",[25340]],[[194747,194747],\"mapped\",[25448]],[[194748,194748],\"mapped\",[25475]],[[194749,194749],\"mapped\",[25572]],[[194750,194750],\"mapped\",[142321]],[[194751,194751],\"mapped\",[25634]],[[194752,194752],\"mapped\",[25541]],[[194753,194753],\"mapped\",[25513]],[[194754,194754],\"mapped\",[14894]],[[194755,194755],\"mapped\",[25705]],[[194756,194756],\"mapped\",[25726]],[[194757,194757],\"mapped\",[25757]],[[194758,194758],\"mapped\",[25719]],[[194759,194759],\"mapped\",[14956]],[[194760,194760],\"mapped\",[25935]],[[194761,194761],\"mapped\",[25964]],[[194762,194762],\"mapped\",[143370]],[[194763,194763],\"mapped\",[26083]],[[194764,194764],\"mapped\",[26360]],[[194765,194765],\"mapped\",[26185]],[[194766,194766],\"mapped\",[15129]],[[194767,194767],\"mapped\",[26257]],[[194768,194768],\"mapped\",[15112]],[[194769,194769],\"mapped\",[15076]],[[194770,194770],\"mapped\",[20882]],[[194771,194771],\"mapped\",[20885]],[[194772,194772],\"mapped\",[26368]],[[194773,194773],\"mapped\",[26268]],[[194774,194774],\"mapped\",[32941]],[[194775,194775],\"mapped\",[17369]],[[194776,194776],\"mapped\",[26391]],[[194777,194777],\"mapped\",[26395]],[[194778,194778],\"mapped\",[26401]],[[194779,194779],\"mapped\",[26462]],[[194780,194780],\"mapped\",[26451]],[[194781,194781],\"mapped\",[144323]],[[194782,194782],\"mapped\",[15177]],[[194783,194783],\"mapped\",[26618]],[[194784,194784],\"mapped\",[26501]],[[194785,194785],\"mapped\",[26706]],[[194786,194786],\"mapped\",[26757]],[[194787,194787],\"mapped\",[144493]],[[194788,194788],\"mapped\",[26766]],[[194789,194789],\"mapped\",[26655]],[[194790,194790],\"mapped\",[26900]],[[194791,194791],\"mapped\",[15261]],[[194792,194792],\"mapped\",[26946]],[[194793,194793],\"mapped\",[27043]],[[194794,194794],\"mapped\",[27114]],[[194795,194795],\"mapped\",[27304]],[[194796,194796],\"mapped\",[145059]],[[194797,194797],\"mapped\",[27355]],[[194798,194798],\"mapped\",[15384]],[[194799,194799],\"mapped\",[27425]],[[194800,194800],\"mapped\",[145575]],[[194801,194801],\"mapped\",[27476]],[[194802,194802],\"mapped\",[15438]],[[194803,194803],\"mapped\",[27506]],[[194804,194804],\"mapped\",[27551]],[[194805,194805],\"mapped\",[27578]],[[194806,194806],\"mapped\",[27579]],[[194807,194807],\"mapped\",[146061]],[[194808,194808],\"mapped\",[138507]],[[194809,194809],\"mapped\",[146170]],[[194810,194810],\"mapped\",[27726]],[[194811,194811],\"mapped\",[146620]],[[194812,194812],\"mapped\",[27839]],[[194813,194813],\"mapped\",[27853]],[[194814,194814],\"mapped\",[27751]],[[194815,194815],\"mapped\",[27926]],[[194816,194816],\"mapped\",[27966]],[[194817,194817],\"mapped\",[28023]],[[194818,194818],\"mapped\",[27969]],[[194819,194819],\"mapped\",[28009]],[[194820,194820],\"mapped\",[28024]],[[194821,194821],\"mapped\",[28037]],[[194822,194822],\"mapped\",[146718]],[[194823,194823],\"mapped\",[27956]],[[194824,194824],\"mapped\",[28207]],[[194825,194825],\"mapped\",[28270]],[[194826,194826],\"mapped\",[15667]],[[194827,194827],\"mapped\",[28363]],[[194828,194828],\"mapped\",[28359]],[[194829,194829],\"mapped\",[147153]],[[194830,194830],\"mapped\",[28153]],[[194831,194831],\"mapped\",[28526]],[[194832,194832],\"mapped\",[147294]],[[194833,194833],\"mapped\",[147342]],[[194834,194834],\"mapped\",[28614]],[[194835,194835],\"mapped\",[28729]],[[194836,194836],\"mapped\",[28702]],[[194837,194837],\"mapped\",[28699]],[[194838,194838],\"mapped\",[15766]],[[194839,194839],\"mapped\",[28746]],[[194840,194840],\"mapped\",[28797]],[[194841,194841],\"mapped\",[28791]],[[194842,194842],\"mapped\",[28845]],[[194843,194843],\"mapped\",[132389]],[[194844,194844],\"mapped\",[28997]],[[194845,194845],\"mapped\",[148067]],[[194846,194846],\"mapped\",[29084]],[[194847,194847],\"disallowed\"],[[194848,194848],\"mapped\",[29224]],[[194849,194849],\"mapped\",[29237]],[[194850,194850],\"mapped\",[29264]],[[194851,194851],\"mapped\",[149000]],[[194852,194852],\"mapped\",[29312]],[[194853,194853],\"mapped\",[29333]],[[194854,194854],\"mapped\",[149301]],[[194855,194855],\"mapped\",[149524]],[[194856,194856],\"mapped\",[29562]],[[194857,194857],\"mapped\",[29579]],[[194858,194858],\"mapped\",[16044]],[[194859,194859],\"mapped\",[29605]],[[194860,194861],\"mapped\",[16056]],[[194862,194862],\"mapped\",[29767]],[[194863,194863],\"mapped\",[29788]],[[194864,194864],\"mapped\",[29809]],[[194865,194865],\"mapped\",[29829]],[[194866,194866],\"mapped\",[29898]],[[194867,194867],\"mapped\",[16155]],[[194868,194868],\"mapped\",[29988]],[[194869,194869],\"mapped\",[150582]],[[194870,194870],\"mapped\",[30014]],[[194871,194871],\"mapped\",[150674]],[[194872,194872],\"mapped\",[30064]],[[194873,194873],\"mapped\",[139679]],[[194874,194874],\"mapped\",[30224]],[[194875,194875],\"mapped\",[151457]],[[194876,194876],\"mapped\",[151480]],[[194877,194877],\"mapped\",[151620]],[[194878,194878],\"mapped\",[16380]],[[194879,194879],\"mapped\",[16392]],[[194880,194880],\"mapped\",[30452]],[[194881,194881],\"mapped\",[151795]],[[194882,194882],\"mapped\",[151794]],[[194883,194883],\"mapped\",[151833]],[[194884,194884],\"mapped\",[151859]],[[194885,194885],\"mapped\",[30494]],[[194886,194887],\"mapped\",[30495]],[[194888,194888],\"mapped\",[30538]],[[194889,194889],\"mapped\",[16441]],[[194890,194890],\"mapped\",[30603]],[[194891,194891],\"mapped\",[16454]],[[194892,194892],\"mapped\",[16534]],[[194893,194893],\"mapped\",[152605]],[[194894,194894],\"mapped\",[30798]],[[194895,194895],\"mapped\",[30860]],[[194896,194896],\"mapped\",[30924]],[[194897,194897],\"mapped\",[16611]],[[194898,194898],\"mapped\",[153126]],[[194899,194899],\"mapped\",[31062]],[[194900,194900],\"mapped\",[153242]],[[194901,194901],\"mapped\",[153285]],[[194902,194902],\"mapped\",[31119]],[[194903,194903],\"mapped\",[31211]],[[194904,194904],\"mapped\",[16687]],[[194905,194905],\"mapped\",[31296]],[[194906,194906],\"mapped\",[31306]],[[194907,194907],\"mapped\",[31311]],[[194908,194908],\"mapped\",[153980]],[[194909,194910],\"mapped\",[154279]],[[194911,194911],\"disallowed\"],[[194912,194912],\"mapped\",[16898]],[[194913,194913],\"mapped\",[154539]],[[194914,194914],\"mapped\",[31686]],[[194915,194915],\"mapped\",[31689]],[[194916,194916],\"mapped\",[16935]],[[194917,194917],\"mapped\",[154752]],[[194918,194918],\"mapped\",[31954]],[[194919,194919],\"mapped\",[17056]],[[194920,194920],\"mapped\",[31976]],[[194921,194921],\"mapped\",[31971]],[[194922,194922],\"mapped\",[32000]],[[194923,194923],\"mapped\",[155526]],[[194924,194924],\"mapped\",[32099]],[[194925,194925],\"mapped\",[17153]],[[194926,194926],\"mapped\",[32199]],[[194927,194927],\"mapped\",[32258]],[[194928,194928],\"mapped\",[32325]],[[194929,194929],\"mapped\",[17204]],[[194930,194930],\"mapped\",[156200]],[[194931,194931],\"mapped\",[156231]],[[194932,194932],\"mapped\",[17241]],[[194933,194933],\"mapped\",[156377]],[[194934,194934],\"mapped\",[32634]],[[194935,194935],\"mapped\",[156478]],[[194936,194936],\"mapped\",[32661]],[[194937,194937],\"mapped\",[32762]],[[194938,194938],\"mapped\",[32773]],[[194939,194939],\"mapped\",[156890]],[[194940,194940],\"mapped\",[156963]],[[194941,194941],\"mapped\",[32864]],[[194942,194942],\"mapped\",[157096]],[[194943,194943],\"mapped\",[32880]],[[194944,194944],\"mapped\",[144223]],[[194945,194945],\"mapped\",[17365]],[[194946,194946],\"mapped\",[32946]],[[194947,194947],\"mapped\",[33027]],[[194948,194948],\"mapped\",[17419]],[[194949,194949],\"mapped\",[33086]],[[194950,194950],\"mapped\",[23221]],[[194951,194951],\"mapped\",[157607]],[[194952,194952],\"mapped\",[157621]],[[194953,194953],\"mapped\",[144275]],[[194954,194954],\"mapped\",[144284]],[[194955,194955],\"mapped\",[33281]],[[194956,194956],\"mapped\",[33284]],[[194957,194957],\"mapped\",[36766]],[[194958,194958],\"mapped\",[17515]],[[194959,194959],\"mapped\",[33425]],[[194960,194960],\"mapped\",[33419]],[[194961,194961],\"mapped\",[33437]],[[194962,194962],\"mapped\",[21171]],[[194963,194963],\"mapped\",[33457]],[[194964,194964],\"mapped\",[33459]],[[194965,194965],\"mapped\",[33469]],[[194966,194966],\"mapped\",[33510]],[[194967,194967],\"mapped\",[158524]],[[194968,194968],\"mapped\",[33509]],[[194969,194969],\"mapped\",[33565]],[[194970,194970],\"mapped\",[33635]],[[194971,194971],\"mapped\",[33709]],[[194972,194972],\"mapped\",[33571]],[[194973,194973],\"mapped\",[33725]],[[194974,194974],\"mapped\",[33767]],[[194975,194975],\"mapped\",[33879]],[[194976,194976],\"mapped\",[33619]],[[194977,194977],\"mapped\",[33738]],[[194978,194978],\"mapped\",[33740]],[[194979,194979],\"mapped\",[33756]],[[194980,194980],\"mapped\",[158774]],[[194981,194981],\"mapped\",[159083]],[[194982,194982],\"mapped\",[158933]],[[194983,194983],\"mapped\",[17707]],[[194984,194984],\"mapped\",[34033]],[[194985,194985],\"mapped\",[34035]],[[194986,194986],\"mapped\",[34070]],[[194987,194987],\"mapped\",[160714]],[[194988,194988],\"mapped\",[34148]],[[194989,194989],\"mapped\",[159532]],[[194990,194990],\"mapped\",[17757]],[[194991,194991],\"mapped\",[17761]],[[194992,194992],\"mapped\",[159665]],[[194993,194993],\"mapped\",[159954]],[[194994,194994],\"mapped\",[17771]],[[194995,194995],\"mapped\",[34384]],[[194996,194996],\"mapped\",[34396]],[[194997,194997],\"mapped\",[34407]],[[194998,194998],\"mapped\",[34409]],[[194999,194999],\"mapped\",[34473]],[[195000,195000],\"mapped\",[34440]],[[195001,195001],\"mapped\",[34574]],[[195002,195002],\"mapped\",[34530]],[[195003,195003],\"mapped\",[34681]],[[195004,195004],\"mapped\",[34600]],[[195005,195005],\"mapped\",[34667]],[[195006,195006],\"mapped\",[34694]],[[195007,195007],\"disallowed\"],[[195008,195008],\"mapped\",[34785]],[[195009,195009],\"mapped\",[34817]],[[195010,195010],\"mapped\",[17913]],[[195011,195011],\"mapped\",[34912]],[[195012,195012],\"mapped\",[34915]],[[195013,195013],\"mapped\",[161383]],[[195014,195014],\"mapped\",[35031]],[[195015,195015],\"mapped\",[35038]],[[195016,195016],\"mapped\",[17973]],[[195017,195017],\"mapped\",[35066]],[[195018,195018],\"mapped\",[13499]],[[195019,195019],\"mapped\",[161966]],[[195020,195020],\"mapped\",[162150]],[[195021,195021],\"mapped\",[18110]],[[195022,195022],\"mapped\",[18119]],[[195023,195023],\"mapped\",[35488]],[[195024,195024],\"mapped\",[35565]],[[195025,195025],\"mapped\",[35722]],[[195026,195026],\"mapped\",[35925]],[[195027,195027],\"mapped\",[162984]],[[195028,195028],\"mapped\",[36011]],[[195029,195029],\"mapped\",[36033]],[[195030,195030],\"mapped\",[36123]],[[195031,195031],\"mapped\",[36215]],[[195032,195032],\"mapped\",[163631]],[[195033,195033],\"mapped\",[133124]],[[195034,195034],\"mapped\",[36299]],[[195035,195035],\"mapped\",[36284]],[[195036,195036],\"mapped\",[36336]],[[195037,195037],\"mapped\",[133342]],[[195038,195038],\"mapped\",[36564]],[[195039,195039],\"mapped\",[36664]],[[195040,195040],\"mapped\",[165330]],[[195041,195041],\"mapped\",[165357]],[[195042,195042],\"mapped\",[37012]],[[195043,195043],\"mapped\",[37105]],[[195044,195044],\"mapped\",[37137]],[[195045,195045],\"mapped\",[165678]],[[195046,195046],\"mapped\",[37147]],[[195047,195047],\"mapped\",[37432]],[[195048,195048],\"mapped\",[37591]],[[195049,195049],\"mapped\",[37592]],[[195050,195050],\"mapped\",[37500]],[[195051,195051],\"mapped\",[37881]],[[195052,195052],\"mapped\",[37909]],[[195053,195053],\"mapped\",[166906]],[[195054,195054],\"mapped\",[38283]],[[195055,195055],\"mapped\",[18837]],[[195056,195056],\"mapped\",[38327]],[[195057,195057],\"mapped\",[167287]],[[195058,195058],\"mapped\",[18918]],[[195059,195059],\"mapped\",[38595]],[[195060,195060],\"mapped\",[23986]],[[195061,195061],\"mapped\",[38691]],[[195062,195062],\"mapped\",[168261]],[[195063,195063],\"mapped\",[168474]],[[195064,195064],\"mapped\",[19054]],[[195065,195065],\"mapped\",[19062]],[[195066,195066],\"mapped\",[38880]],[[195067,195067],\"mapped\",[168970]],[[195068,195068],\"mapped\",[19122]],[[195069,195069],\"mapped\",[169110]],[[195070,195071],\"mapped\",[38923]],[[195072,195072],\"mapped\",[38953]],[[195073,195073],\"mapped\",[169398]],[[195074,195074],\"mapped\",[39138]],[[195075,195075],\"mapped\",[19251]],[[195076,195076],\"mapped\",[39209]],[[195077,195077],\"mapped\",[39335]],[[195078,195078],\"mapped\",[39362]],[[195079,195079],\"mapped\",[39422]],[[195080,195080],\"mapped\",[19406]],[[195081,195081],\"mapped\",[170800]],[[195082,195082],\"mapped\",[39698]],[[195083,195083],\"mapped\",[40000]],[[195084,195084],\"mapped\",[40189]],[[195085,195085],\"mapped\",[19662]],[[195086,195086],\"mapped\",[19693]],[[195087,195087],\"mapped\",[40295]],[[195088,195088],\"mapped\",[172238]],[[195089,195089],\"mapped\",[19704]],[[195090,195090],\"mapped\",[172293]],[[195091,195091],\"mapped\",[172558]],[[195092,195092],\"mapped\",[172689]],[[195093,195093],\"mapped\",[40635]],[[195094,195094],\"mapped\",[19798]],[[195095,195095],\"mapped\",[40697]],[[195096,195096],\"mapped\",[40702]],[[195097,195097],\"mapped\",[40709]],[[195098,195098],\"mapped\",[40719]],[[195099,195099],\"mapped\",[40726]],[[195100,195100],\"mapped\",[40763]],[[195101,195101],\"mapped\",[173568]],[[195102,196605],\"disallowed\"],[[196606,196607],\"disallowed\"],[[196608,262141],\"disallowed\"],[[262142,262143],\"disallowed\"],[[262144,327677],\"disallowed\"],[[327678,327679],\"disallowed\"],[[327680,393213],\"disallowed\"],[[393214,393215],\"disallowed\"],[[393216,458749],\"disallowed\"],[[458750,458751],\"disallowed\"],[[458752,524285],\"disallowed\"],[[524286,524287],\"disallowed\"],[[524288,589821],\"disallowed\"],[[589822,589823],\"disallowed\"],[[589824,655357],\"disallowed\"],[[655358,655359],\"disallowed\"],[[655360,720893],\"disallowed\"],[[720894,720895],\"disallowed\"],[[720896,786429],\"disallowed\"],[[786430,786431],\"disallowed\"],[[786432,851965],\"disallowed\"],[[851966,851967],\"disallowed\"],[[851968,917501],\"disallowed\"],[[917502,917503],\"disallowed\"],[[917504,917504],\"disallowed\"],[[917505,917505],\"disallowed\"],[[917506,917535],\"disallowed\"],[[917536,917631],\"disallowed\"],[[917632,917759],\"disallowed\"],[[917760,917999],\"ignored\"],[[918000,983037],\"disallowed\"],[[983038,983039],\"disallowed\"],[[983040,1048573],\"disallowed\"],[[1048574,1048575],\"disallowed\"],[[1048576,1114109],\"disallowed\"],[[1114110,1114111],\"disallowed\"]]", "\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n", "\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n", "\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n", "\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n", "\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n", "'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = /<meta.+?charset=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// html4\n\tif (!res && str) {\n\t\tres = /<meta[\\s]+?http-equiv=(['\"])content-type\\1[\\s]+?content=(['\"])(.+?)\\2/i.exec(str);\n\t\tif (!res) {\n\t\t\tres = /<meta[\\s]+?content=(['\"])(.+?)\\1[\\s]+?http-equiv=(['\"])content-type\\3/i.exec(str);\n\t\t\tif (res) {\n\t\t\t\tres.pop(); // drop last quote\n\t\t\t}\n\t\t}\n\n\t\tif (res) {\n\t\t\tres = /charset=(.*)/i.exec(res.pop());\n\t\t}\n\t}\n\n\t// xml\n\tif (!res && str) {\n\t\tres = /<\\?xml.+?encoding=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// found charset\n\tif (res) {\n\t\tcharset = res.pop();\n\n\t\t// prevent decode issues when sites use incorrect encoding\n\t\t// ref: https://hsivonen.fi/encoding-menu/\n\t\tif (charset === 'gb2312' || charset === 'gbk') {\n\t\t\tcharset = 'gb18030';\n\t\t}\n\t}\n\n\t// turn raw buffers into a single utf-8 buffer\n\treturn convert(buffer, 'UTF-8', charset).toString();\n}\n\n/**\n * Detect a URLSearchParams object\n * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143\n *\n * @param Object obj Object to detect by type or brand\n * @return String\n */\nfunction isURLSearchParams(obj) {\n\t// Duck-typing as a necessary condition.\n\tif (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') {\n\t\treturn false;\n\t}\n\n\t// Brand-checking and more duck-typing as optional condition.\n\treturn obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function';\n}\n\n/**\n * Check if `obj` is a W3C `Blob` object (which `File` inherits from)\n * @param {*} obj\n * @return {boolean}\n */\nfunction isBlob(obj) {\n\treturn typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]);\n}\n\n/**\n * Clone body given Res/Req instance\n *\n * @param Mixed instance Response or Request instance\n * @return Mixed\n */\nfunction clone(instance) {\n\tlet p1, p2;\n\tlet body = instance.body;\n\n\t// don't allow cloning a used body\n\tif (instance.bodyUsed) {\n\t\tthrow new Error('cannot clone body after it is used');\n\t}\n\n\t// check that body is a stream and not form-data object\n\t// note: we can't clone the form-data object without having it as a dependency\n\tif (body instanceof Stream && typeof body.getBoundary !== 'function') {\n\t\t// tee instance body\n\t\tp1 = new PassThrough();\n\t\tp2 = new PassThrough();\n\t\tbody.pipe(p1);\n\t\tbody.pipe(p2);\n\t\t// set instance body to teed body and return the other teed body\n\t\tinstance[INTERNALS].body = p1;\n\t\tbody = p2;\n\t}\n\n\treturn body;\n}\n\n/**\n * Performs the operation \"extract a `Content-Type` value from |object|\" as\n * specified in the specification:\n * https://fetch.spec.whatwg.org/#concept-bodyinit-extract\n *\n * This function assumes that instance.body is present.\n *\n * @param Mixed instance Any options.body input\n */\nfunction extractContentType(body) {\n\tif (body === null) {\n\t\t// body is null\n\t\treturn null;\n\t} else if (typeof body === 'string') {\n\t\t// body is string\n\t\treturn 'text/plain;charset=UTF-8';\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\treturn 'application/x-www-form-urlencoded;charset=UTF-8';\n\t} else if (isBlob(body)) {\n\t\t// body is blob\n\t\treturn body.type || null;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn null;\n\t} else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\treturn null;\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\treturn null;\n\t} else if (typeof body.getBoundary === 'function') {\n\t\t// detect form data input from form-data module\n\t\treturn `multipart/form-data;boundary=${body.getBoundary()}`;\n\t} else if (body instanceof Stream) {\n\t\t// body is stream\n\t\t// can't really do much about this\n\t\treturn null;\n\t} else {\n\t\t// Body constructor defaults other things to string\n\t\treturn 'text/plain;charset=UTF-8';\n\t}\n}\n\n/**\n * The Fetch Standard treats this as if \"total bytes\" is a property on the body.\n * For us, we have to explicitly get it with a function.\n *\n * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes\n *\n * @param Body instance Instance of Body\n * @return Number? Number of bytes, or null if not possible\n */\nfunction getTotalBytes(instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\treturn 0;\n\t} else if (isBlob(body)) {\n\t\treturn body.size;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn body.length;\n\t} else if (body && typeof body.getLengthSync === 'function') {\n\t\t// detect form data input from form-data module\n\t\tif (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x\n\t\tbody.hasKnownLength && body.hasKnownLength()) {\n\t\t\t// 2.x\n\t\t\treturn body.getLengthSync();\n\t\t}\n\t\treturn null;\n\t} else {\n\t\t// body is stream\n\t\treturn null;\n\t}\n}\n\n/**\n * Write a Body to a Node.js WritableStream (e.g. http.Request) object.\n *\n * @param Body instance Instance of Body\n * @return Void\n */\nfunction writeToStream(dest, instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\tdest.end();\n\t} else if (isBlob(body)) {\n\t\tbody.stream().pipe(dest);\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\tdest.write(body);\n\t\tdest.end();\n\t} else {\n\t\t// body is stream\n\t\tbody.pipe(dest);\n\t}\n}\n\n// expose Promise\nBody.Promise = global.Promise;\n\n/**\n * headers.js\n *\n * Headers class offers convenient helpers\n */\n\nconst invalidTokenRegex = /[^\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]/;\nconst invalidHeaderCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/;\n\nfunction validateName(name) {\n\tname = `${name}`;\n\tif (invalidTokenRegex.test(name) || name === '') {\n\t\tthrow new TypeError(`${name} is not a legal HTTP header name`);\n\t}\n}\n\nfunction validateValue(value) {\n\tvalue = `${value}`;\n\tif (invalidHeaderCharRegex.test(value)) {\n\t\tthrow new TypeError(`${value} is not a legal HTTP header value`);\n\t}\n}\n\n/**\n * Find the key in the map object given a header name.\n *\n * Returns undefined if not found.\n *\n * @param String name Header name\n * @return String|Undefined\n */\nfunction find(map, name) {\n\tname = name.toLowerCase();\n\tfor (const key in map) {\n\t\tif (key.toLowerCase() === name) {\n\t\t\treturn key;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nconst MAP = Symbol('map');\nclass Headers {\n\t/**\n * Headers class\n *\n * @param Object headers Response headers\n * @return Void\n */\n\tconstructor() {\n\t\tlet init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence<sequence<ByteString>>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record<ByteString, ByteString>\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\tif (!headers.has('Connection') && !agent) {\n\t\theaders.set('Connection', 'close');\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// tests for socket presence, as in some situations the\n\t\t\t\t// the 'socket' event is not triggered for the request\n\t\t\t\t// (happens in deno), avoids `TypeError`\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket && socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\n", "const nodeFetch = require('node-fetch')\nconst realFetch = nodeFetch.default || nodeFetch\n\nconst fetch = function (url, options) {\n // Support schemaless URIs on the server for parity with the browser.\n // Ex: //github.com/ -> https://github.com/\n if (/^\\/\\//.test(url)) {\n url = 'https:' + url\n }\n return realFetch.call(this, url, options)\n}\n\nfetch.ponyfill = true\n\nmodule.exports = exports = fetch\nexports.fetch = fetch\nexports.Headers = nodeFetch.Headers\nexports.Request = nodeFetch.Request\nexports.Response = nodeFetch.Response\n\n// Needed for TypeScript consumers without esModuleInterop.\nexports.default = fetch\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFetch = void 0;\nconst react_1 = require(\"react\");\nconst media_typer_1 = __importDefault(require(\"media-typer\"));\nconst content_type_1 = __importDefault(require(\"content-type\"));\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst cross_fetch_1 = require(\"cross-fetch\");\nfunction isJSON(contentTypeHeader) {\n if (contentTypeHeader) {\n const ct = content_type_1.default.parse(contentTypeHeader);\n const mediaType = media_typer_1.default.parse(ct.type);\n if (mediaType.subtype === \"json\") {\n return true;\n }\n if (mediaType.suffix === \"json\") {\n return true;\n }\n if (mediaType.suffix && /\\bjson\\b/i.test(mediaType.suffix)) {\n return true;\n }\n if (mediaType.subtype && /\\bjson\\b/i.test(mediaType.subtype)) {\n return true;\n }\n }\n return false;\n}\nasync function defaultParsing(response) {\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n const contentTypeHeader = response.headers.get(\"content-type\");\n if (contentTypeHeader && isJSON(contentTypeHeader)) {\n return await response.json();\n }\n return await response.text();\n}\n/**\n * Fetch the URL and returns the {@link AsyncState} corresponding to the execution of the fetch. The last value will be kept between command runs.\n *\n * @example\n * ```\n * import { useFetch } from '@raycast/utils';\n *\n * export default function Command() {\n * const { isLoading, data, revalidate } = useFetch('https://api.example');\n *\n * return (\n * <Detail\n * isLoading={isLoading}\n * markdown={data}\n * actions={\n * <ActionPanel>\n * <Action title=\"Reload\" onAction={() => revalidate()} />\n * </ActionPanel>\n * }\n * />\n * );\n * };\n * ```\n */\nfunction useFetch(url, options) {\n const { parseResponse, initialData, execute, keepPreviousData, onError, onData, onWillExecute, ...fetchOptions } = options || {};\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n };\n const parseResponseRef = (0, useLatest_1.useLatest)(parseResponse || defaultParsing);\n const abortable = (0, react_1.useRef)();\n const fn = (0, react_1.useCallback)(async (url, options) => {\n const res = await (0, cross_fetch_1.fetch)(url, { signal: abortable.current?.signal, ...options });\n return (await parseResponseRef.current(res));\n }, [parseResponseRef]);\n // @ts-expect-error T can't be a Promise so it's actually the same\n return (0, useCachedPromise_1.useCachedPromise)(fn, [url, fetchOptions], { ...useCachedPromiseOptions, abortable });\n}\nexports.useFetch = useFetch;\n", "/**\n * This is not the set of all possible signals.\n *\n * It IS, however, the set of all signals that trigger\n * an exit on either Linux or BSD systems. Linux is a\n * superset of the signal names supported on BSD, and\n * the unknown signals just fail to register, so we can\n * catch that easily enough.\n *\n * Windows signals are a different set, since there are\n * signals that terminate Windows processes, but don't\n * terminate (or don't even exist) on Posix systems.\n *\n * Don't bother with SIGKILL. It's uncatchable, which\n * means that we can't fire any callbacks anyway.\n *\n * If a user does happen to register a handler on a non-\n * fatal signal like SIGWINCH or something, and then\n * exit, it'll end up firing `process.emit('exit')`, so\n * the handler will be fired anyway.\n *\n * SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n * artificially, inherently leave the process in a\n * state from which it is not safe to try and enter JS\n * listeners.\n */\nexport const signals: NodeJS.Signals[] = []\nsignals.push('SIGHUP', 'SIGINT', 'SIGTERM')\n\nif (process.platform !== 'win32') {\n signals.push(\n 'SIGALRM',\n 'SIGABRT',\n 'SIGVTALRM',\n 'SIGXCPU',\n 'SIGXFSZ',\n 'SIGUSR2',\n 'SIGTRAP',\n 'SIGSYS',\n 'SIGQUIT',\n 'SIGIOT'\n // should detect profiler and enable/disable accordingly.\n // see #21\n // 'SIGPROF'\n )\n}\n\nif (process.platform === 'linux') {\n signals.push('SIGIO', 'SIGPOLL', 'SIGPWR', 'SIGSTKFLT')\n}\n", "// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nimport { signals } from './signals.js'\nexport { signals }\n\n// just a loosened process type so we can do some evil things\ntype ProcessRE = NodeJS.Process & {\n reallyExit: (code?: number | undefined | null) => any\n emit: (ev: string, ...a: any[]) => any\n}\n\nconst processOk = (process: any): process is ProcessRE =>\n !!process &&\n typeof process === 'object' &&\n typeof process.removeListener === 'function' &&\n typeof process.emit === 'function' &&\n typeof process.reallyExit === 'function' &&\n typeof process.listeners === 'function' &&\n typeof process.kill === 'function' &&\n typeof process.pid === 'number' &&\n typeof process.on === 'function'\n\nconst kExitEmitter = Symbol.for('signal-exit emitter')\nconst global: typeof globalThis & { [kExitEmitter]?: Emitter } = globalThis\nconst ObjectDefineProperty = Object.defineProperty.bind(Object)\n\n/**\n * A function that takes an exit code and signal as arguments\n *\n * In the case of signal exits *only*, a return value of true\n * will indicate that the signal is being handled, and we should\n * not synthetically exit with the signal we received. Regardless\n * of the handler return value, the handler is unloaded when an\n * otherwise fatal signal is received, so you get exactly 1 shot\n * at it, unless you add another onExit handler at that point.\n *\n * In the case of numeric code exits, we may already have committed\n * to exiting the process, for example via a fatal exception or\n * unhandled promise rejection, so it is impossible to stop safely.\n */\nexport type Handler = (\n code: number | null | undefined,\n signal: NodeJS.Signals | null\n) => true | void\ntype ExitEvent = 'afterExit' | 'exit'\ntype Emitted = { [k in ExitEvent]: boolean }\ntype Listeners = { [k in ExitEvent]: Handler[] }\n\n// teeny special purpose ee\nclass Emitter {\n emitted: Emitted = {\n afterExit: false,\n exit: false,\n }\n\n listeners: Listeners = {\n afterExit: [],\n exit: [],\n }\n\n count: number = 0\n id: number = Math.random()\n\n constructor() {\n if (global[kExitEmitter]) {\n return global[kExitEmitter]\n }\n ObjectDefineProperty(global, kExitEmitter, {\n value: this,\n writable: false,\n enumerable: false,\n configurable: false,\n })\n }\n\n on(ev: ExitEvent, fn: Handler) {\n this.listeners[ev].push(fn)\n }\n\n removeListener(ev: ExitEvent, fn: Handler) {\n const list = this.listeners[ev]\n const i = list.indexOf(fn)\n /* c8 ignore start */\n if (i === -1) {\n return\n }\n /* c8 ignore stop */\n if (i === 0 && list.length === 1) {\n list.length = 0\n } else {\n list.splice(i, 1)\n }\n }\n\n emit(\n ev: ExitEvent,\n code: number | null | undefined,\n signal: NodeJS.Signals | null\n ): boolean {\n if (this.emitted[ev]) {\n return false\n }\n this.emitted[ev] = true\n let ret: boolean = false\n for (const fn of this.listeners[ev]) {\n ret = fn(code, signal) === true || ret\n }\n if (ev === 'exit') {\n ret = this.emit('afterExit', code, signal) || ret\n }\n return ret\n }\n}\n\nabstract class SignalExitBase {\n abstract onExit(cb: Handler, opts?: { alwaysLast?: boolean }): () => void\n abstract load(): void\n abstract unload(): void\n}\n\nconst signalExitWrap = <T extends SignalExitBase>(handler: T) => {\n return {\n onExit(cb: Handler, opts?: { alwaysLast?: boolean }) {\n return handler.onExit(cb, opts)\n },\n load() {\n return handler.load()\n },\n unload() {\n return handler.unload()\n },\n }\n}\n\nclass SignalExitFallback extends SignalExitBase {\n onExit() {\n return () => {}\n }\n load() {}\n unload() {}\n}\n\nclass SignalExit extends SignalExitBase {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n /* c8 ignore start */\n #hupSig = process.platform === 'win32' ? 'SIGINT' : 'SIGHUP'\n /* c8 ignore stop */\n #emitter = new Emitter()\n #process: ProcessRE\n #originalProcessEmit: ProcessRE['emit']\n #originalProcessReallyExit: ProcessRE['reallyExit']\n\n #sigListeners: { [k in NodeJS.Signals]?: () => void } = {}\n #loaded: boolean = false\n\n constructor(process: ProcessRE) {\n super()\n this.#process = process\n // { <signal>: <listener fn>, ... }\n this.#sigListeners = {}\n for (const sig of signals) {\n this.#sigListeners[sig] = () => {\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n const listeners = this.#process.listeners(sig)\n let { count } = this.#emitter\n // This is a workaround for the fact that signal-exit v3 and signal\n // exit v4 are not aware of each other, and each will attempt to let\n // the other handle it, so neither of them do. To correct this, we\n // detect if we're the only handler *except* for previous versions\n // of signal-exit, and increment by the count of listeners it has\n // created.\n /* c8 ignore start */\n const p = process as unknown as {\n __signal_exit_emitter__?: { count: number }\n }\n if (\n typeof p.__signal_exit_emitter__ === 'object' &&\n typeof p.__signal_exit_emitter__.count === 'number'\n ) {\n count += p.__signal_exit_emitter__.count\n }\n /* c8 ignore stop */\n if (listeners.length === count) {\n this.unload()\n const ret = this.#emitter.emit('exit', null, sig)\n /* c8 ignore start */\n const s = sig === 'SIGHUP' ? this.#hupSig : sig\n if (!ret) process.kill(process.pid, s)\n /* c8 ignore stop */\n }\n }\n }\n\n this.#originalProcessReallyExit = process.reallyExit\n this.#originalProcessEmit = process.emit\n }\n\n onExit(cb: Handler, opts?: { alwaysLast?: boolean }) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return () => {}\n }\n /* c8 ignore stop */\n\n if (this.#loaded === false) {\n this.load()\n }\n\n const ev = opts?.alwaysLast ? 'afterExit' : 'exit'\n this.#emitter.on(ev, cb)\n return () => {\n this.#emitter.removeListener(ev, cb)\n if (\n this.#emitter.listeners['exit'].length === 0 &&\n this.#emitter.listeners['afterExit'].length === 0\n ) {\n this.unload()\n }\n }\n }\n\n load() {\n if (this.#loaded) {\n return\n }\n this.#loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n this.#emitter.count += 1\n\n for (const sig of signals) {\n try {\n const fn = this.#sigListeners[sig]\n if (fn) this.#process.on(sig, fn)\n } catch (_) {}\n }\n\n this.#process.emit = (ev: string, ...a: any[]) => {\n return this.#processEmit(ev, ...a)\n }\n this.#process.reallyExit = (code?: number | null | undefined) => {\n return this.#processReallyExit(code)\n }\n }\n\n unload() {\n if (!this.#loaded) {\n return\n }\n this.#loaded = false\n\n signals.forEach(sig => {\n const listener = this.#sigListeners[sig]\n /* c8 ignore start */\n if (!listener) {\n throw new Error('Listener not defined for signal: ' + sig)\n }\n /* c8 ignore stop */\n try {\n this.#process.removeListener(sig, listener)\n /* c8 ignore start */\n } catch (_) {}\n /* c8 ignore stop */\n })\n this.#process.emit = this.#originalProcessEmit\n this.#process.reallyExit = this.#originalProcessReallyExit\n this.#emitter.count -= 1\n }\n\n #processReallyExit(code?: number | null | undefined) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return 0\n }\n this.#process.exitCode = code || 0\n /* c8 ignore stop */\n\n this.#emitter.emit('exit', this.#process.exitCode, null)\n return this.#originalProcessReallyExit.call(\n this.#process,\n this.#process.exitCode\n )\n }\n\n #processEmit(ev: string, ...args: any[]): any {\n const og = this.#originalProcessEmit\n if (ev === 'exit' && processOk(this.#process)) {\n if (typeof args[0] === 'number') {\n this.#process.exitCode = args[0]\n /* c8 ignore start */\n }\n /* c8 ignore start */\n const ret = og.call(this.#process, ev, ...args)\n /* c8 ignore start */\n this.#emitter.emit('exit', this.#process.exitCode, null)\n /* c8 ignore stop */\n return ret\n } else {\n return og.call(this.#process, ev, ...args)\n }\n }\n}\n\nconst process = globalThis.process\n// wrap so that we call the method on the actual handler, without\n// exporting it directly.\nexport const {\n /**\n * Called when the process is exiting, whether via signal, explicit\n * exit, or running out of stuff to do.\n *\n * If the global process object is not suitable for instrumentation,\n * then this will be a no-op.\n *\n * Returns a function that may be used to unload signal-exit.\n */\n onExit,\n\n /**\n * Load the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\n load,\n\n /**\n * Unload the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\n unload,\n} = signalExitWrap(\n processOk(process) ? new SignalExit(process) : new SignalExitFallback()\n)\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultParsing = exports.handleOutput = exports.getSpawnedResult = exports.getSpawnedPromise = void 0;\nconst node_buffer_1 = require(\"node:buffer\");\nconst node_stream_1 = __importDefault(require(\"node:stream\"));\nconst node_util_1 = require(\"node:util\");\nconst signal_exit_1 = require(\"signal-exit\");\nfunction getSpawnedPromise(spawned, { timeout } = {}) {\n const spawnedPromise = new Promise((resolve, reject) => {\n spawned.on(\"exit\", (exitCode, signal) => {\n resolve({ exitCode, signal, timedOut: false });\n });\n spawned.on(\"error\", (error) => {\n reject(error);\n });\n if (spawned.stdin) {\n spawned.stdin.on(\"error\", (error) => {\n reject(error);\n });\n }\n });\n if (timeout === 0 || timeout === undefined) {\n return spawnedPromise;\n }\n let timeoutId;\n const timeoutPromise = new Promise((_resolve, reject) => {\n timeoutId = setTimeout(() => {\n spawned.kill(\"SIGTERM\");\n reject(Object.assign(new Error(\"Timed out\"), { timedOut: true, signal: \"SIGTERM\" }));\n }, timeout);\n });\n const safeSpawnedPromise = spawnedPromise.finally(() => {\n clearTimeout(timeoutId);\n });\n const removeExitHandler = (0, signal_exit_1.onExit)(() => {\n spawned.kill();\n });\n return Promise.race([timeoutPromise, safeSpawnedPromise]).finally(() => removeExitHandler());\n}\nexports.getSpawnedPromise = getSpawnedPromise;\nclass MaxBufferError extends Error {\n constructor() {\n super(\"The output is too big\");\n this.name = \"MaxBufferError\";\n }\n}\nconst streamPipelinePromisified = (0, node_util_1.promisify)(node_stream_1.default.pipeline);\nfunction bufferStream(options) {\n const { encoding } = options;\n const isBuffer = encoding === \"buffer\";\n // @ts-expect-error missing the methods we are adding below\n const stream = new node_stream_1.default.PassThrough({ objectMode: false });\n if (encoding && encoding !== \"buffer\") {\n stream.setEncoding(encoding);\n }\n let length = 0;\n const chunks = [];\n stream.on(\"data\", (chunk) => {\n chunks.push(chunk);\n length += chunk.length;\n });\n stream.getBufferedValue = () => {\n return (isBuffer ? Buffer.concat(chunks, length) : chunks.join(\"\"));\n };\n stream.getBufferedLength = () => length;\n return stream;\n}\nasync function getStream(inputStream, options) {\n const stream = bufferStream(options);\n await new Promise((resolve, reject) => {\n const rejectPromise = (error) => {\n // Don't retrieve an oversized buffer.\n if (error && stream.getBufferedLength() <= node_buffer_1.constants.MAX_LENGTH) {\n error.bufferedData = stream.getBufferedValue();\n }\n reject(error);\n };\n (async () => {\n try {\n await streamPipelinePromisified(inputStream, stream);\n resolve();\n }\n catch (error) {\n rejectPromise(error);\n }\n })();\n stream.on(\"data\", () => {\n // 80mb\n if (stream.getBufferedLength() > 1000 * 1000 * 80) {\n rejectPromise(new MaxBufferError());\n }\n });\n });\n return stream.getBufferedValue();\n}\n// On failure, `result.stdout|stderr` should contain the currently buffered stream\nasync function getBufferedData(stream, streamPromise) {\n stream.destroy();\n try {\n return await streamPromise;\n }\n catch (error) {\n return error.bufferedData;\n }\n}\nasync function getSpawnedResult({ stdout, stderr }, { encoding }, processDone) {\n const stdoutPromise = getStream(stdout, { encoding });\n const stderrPromise = getStream(stderr, { encoding });\n try {\n return await Promise.all([processDone, stdoutPromise, stderrPromise]);\n }\n catch (error) {\n return Promise.all([\n {\n error: error,\n exitCode: null,\n signal: error.signal,\n timedOut: error.timedOut || false,\n },\n getBufferedData(stdout, stdoutPromise),\n getBufferedData(stderr, stderrPromise),\n ]);\n }\n}\nexports.getSpawnedResult = getSpawnedResult;\nfunction stripFinalNewline(input) {\n const LF = typeof input === \"string\" ? \"\\n\" : \"\\n\".charCodeAt(0);\n const CR = typeof input === \"string\" ? \"\\r\" : \"\\r\".charCodeAt(0);\n if (input[input.length - 1] === LF) {\n // @ts-expect-error we are doing some nasty stuff here\n input = input.slice(0, -1);\n }\n if (input[input.length - 1] === CR) {\n // @ts-expect-error we are doing some nasty stuff here\n input = input.slice(0, -1);\n }\n return input;\n}\nfunction handleOutput(options, value) {\n if (options.stripFinalNewline) {\n return stripFinalNewline(value);\n }\n return value;\n}\nexports.handleOutput = handleOutput;\nconst getErrorPrefix = ({ timedOut, timeout, signal, exitCode, }) => {\n if (timedOut) {\n return `timed out after ${timeout} milliseconds`;\n }\n if (signal !== undefined && signal !== null) {\n return `was killed with ${signal}`;\n }\n if (exitCode !== undefined && exitCode !== null) {\n return `failed with exit code ${exitCode}`;\n }\n return \"failed\";\n};\nconst makeError = ({ stdout, stderr, error, signal, exitCode, command, timedOut, options, parentError, }) => {\n const prefix = getErrorPrefix({ timedOut, timeout: options?.timeout, signal, exitCode });\n const execaMessage = `Command ${prefix}: ${command}`;\n const shortMessage = error ? `${execaMessage}\\n${error.message}` : execaMessage;\n const message = [shortMessage, stderr, stdout].filter(Boolean).join(\"\\n\");\n if (error) {\n // @ts-expect-error not on Error\n error.originalMessage = error.message;\n }\n else {\n error = parentError;\n }\n error.message = message;\n // @ts-expect-error not on Error\n error.shortMessage = shortMessage;\n // @ts-expect-error not on Error\n error.command = command;\n // @ts-expect-error not on Error\n error.exitCode = exitCode;\n // @ts-expect-error not on Error\n error.signal = signal;\n // @ts-expect-error not on Error\n error.stdout = stdout;\n // @ts-expect-error not on Error\n error.stderr = stderr;\n if (\"bufferedData\" in error) {\n delete error[\"bufferedData\"];\n }\n return error;\n};\nfunction defaultParsing({ stdout, stderr, error, exitCode, signal, timedOut, command, options, parentError, }) {\n if (error || exitCode !== 0 || signal !== null) {\n const returnedError = makeError({\n error,\n exitCode,\n signal,\n stdout,\n stderr,\n command,\n timedOut,\n options,\n parentError,\n });\n throw returnedError;\n }\n return stdout;\n}\nexports.defaultParsing = defaultParsing;\n", "\"use strict\";\n/*\n * Inspired by Execa\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useExec = void 0;\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst react_1 = require(\"react\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst exec_utils_1 = require(\"./exec-utils\");\nconst SPACES_REGEXP = / +/g;\nfunction parseCommand(command, args) {\n if (args) {\n return [command, ...args];\n }\n const tokens = [];\n for (const token of command.trim().split(SPACES_REGEXP)) {\n // Allow spaces to be escaped by a backslash if not meant as a delimiter\n const previousToken = tokens[tokens.length - 1];\n if (previousToken && previousToken.endsWith(\"\\\\\")) {\n // Merge previous token with current one\n tokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`;\n }\n else {\n tokens.push(token);\n }\n }\n return tokens;\n}\nfunction useExec(command, optionsOrArgs, options) {\n const { parseOutput, input, onData, onWillExecute, initialData, execute, keepPreviousData, onError, ...execOptions } = Array.isArray(optionsOrArgs) ? options || {} : optionsOrArgs || {};\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n };\n const abortable = (0, react_1.useRef)();\n const parseOutputRef = (0, useLatest_1.useLatest)(parseOutput || exec_utils_1.defaultParsing);\n const fn = (0, react_1.useCallback)(async (_command, _args, _options, input) => {\n const [file, ...args] = parseCommand(_command, _args);\n const command = [file, ...args].join(\" \");\n const options = {\n stripFinalNewline: true,\n ..._options,\n timeout: _options?.timeout || 10000,\n signal: abortable.current?.signal,\n encoding: _options?.encoding === null ? \"buffer\" : _options?.encoding || \"utf8\",\n env: { PATH: \"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\", ...process.env, ..._options?.env },\n };\n const spawned = node_child_process_1.default.spawn(file, args, options);\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned, options);\n if (input) {\n spawned.stdin.end(input);\n }\n const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, options, spawnedPromise);\n const stdout = (0, exec_utils_1.handleOutput)(options, stdoutResult);\n const stderr = (0, exec_utils_1.handleOutput)(options, stderrResult);\n return parseOutputRef.current({\n // @ts-expect-error too many generics, I give up\n stdout,\n // @ts-expect-error too many generics, I give up\n stderr,\n error,\n exitCode,\n signal,\n timedOut,\n command,\n options,\n parentError: new Error(),\n });\n }, [parseOutputRef]);\n // @ts-expect-error T can't be a Promise so it's actually the same\n return (0, useCachedPromise_1.useCachedPromise)(fn, [command, Array.isArray(optionsOrArgs) ? optionsOrArgs : [], execOptions, input], {\n ...useCachedPromiseOptions,\n abortable,\n });\n}\nexports.useExec = useExec;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useSQL = void 0;\nconst jsx_runtime_1 = require(\"react/jsx-runtime\");\nconst api_1 = require(\"@raycast/api\");\nconst node_fs_1 = require(\"node:fs\");\nconst promises_1 = require(\"node:fs/promises\");\nconst node_os_1 = __importDefault(require(\"node:os\"));\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst node_path_1 = __importDefault(require(\"node:path\"));\nconst object_hash_1 = __importDefault(require(\"object-hash\"));\nconst react_1 = require(\"react\");\nconst usePromise_1 = require(\"./usePromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst exec_utils_1 = require(\"./exec-utils\");\nconst handle_error_toast_action_1 = require(\"./handle-error-toast-action\");\n/**\n * Executes a query on a local SQL database and returns the {@link AsyncState} corresponding to the query of the command. The last value will be kept between command runs.\n *\n * @example\n * ```\n * import { useSQL } from \"@raycast/utils\";\n * import { resolve } from \"path\";\n * import { homedir } from \"os\";\n *\n * const NOTES_DB = resolve(homedir(), \"Library/Group Containers/group.com.apple.notes/NoteStore.sqlite\");\n * const notesQuery = `SELECT id, title FROM ...`;\n * type NoteItem = {\n * id: string;\n * title: string;\n * };\n *\n * export default function Command() {\n * const { isLoading, data, permissionView } = useSQL<NoteItem>(NOTES_DB, notesQuery);\n *\n * if (permissionView) {\n * return permissionView;\n * }\n *\n * return (\n * <List isLoading={isLoading}>\n * {(data || []).map((item) => (\n * <List.Item key={item.id} title={item.title} />\n * ))}\n * </List>\n * );\n * };\n * ```\n */\nfunction useSQL(databasePath, query, options) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { permissionPriming, ...usePromiseOptions } = options || {};\n const [permissionView, setPermissionView] = (0, react_1.useState)();\n const latestOptions = (0, useLatest_1.useLatest)(options || {});\n const abortable = (0, react_1.useRef)();\n const handleError = (0, react_1.useCallback)((_error) => {\n console.error(_error);\n const error = _error instanceof Error && _error.message.includes(\"authorization denied\")\n ? new PermissionError(\"You do not have permission to access the database.\")\n : _error;\n if (isPermissionError(error)) {\n setPermissionView((0, jsx_runtime_1.jsx)(PermissionErrorScreen, { priming: latestOptions.current.permissionPriming }));\n }\n else {\n if (latestOptions.current.onError) {\n latestOptions.current.onError(error);\n }\n else {\n console.error(error);\n if (api_1.environment.launchType !== api_1.LaunchType.Background) {\n (0, api_1.showToast)({\n style: api_1.Toast.Style.Failure,\n title: \"Cannot query the data\",\n message: error.message,\n primaryAction: (0, handle_error_toast_action_1.handleErrorToastAction)(error),\n });\n }\n }\n }\n }, [latestOptions]);\n const fn = (0, react_1.useMemo)(() => {\n if (!(0, node_fs_1.existsSync)(databasePath)) {\n throw new Error(\"The database does not exist\");\n }\n let workaroundCopiedDb = undefined;\n return async (databasePath, query) => {\n const abortSignal = abortable.current?.signal;\n const spawned = node_child_process_1.default.spawn(\"sqlite3\", [\"--json\", \"--readonly\", databasePath, query], {\n signal: abortSignal,\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned);\n let [{ error, exitCode, signal }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf-8\" }, spawnedPromise);\n checkAborted(abortSignal);\n if (stderrResult.match(\"(5)\") || stderrResult.match(\"(14)\")) {\n // That means that the DB is busy because of another app is locking it\n // This happens when Chrome or Arc is opened: they lock the History db.\n // As an ugly workaround, we duplicate the file and read that instead\n // (with vfs unix - none to just not care about locks)\n if (!workaroundCopiedDb) {\n const tempFolder = node_path_1.default.join(node_os_1.default.tmpdir(), \"useSQL\", (0, object_hash_1.default)(databasePath));\n await (0, promises_1.mkdir)(tempFolder, { recursive: true });\n checkAborted(abortSignal);\n workaroundCopiedDb = node_path_1.default.join(tempFolder, \"db.db\");\n await (0, promises_1.copyFile)(databasePath, workaroundCopiedDb);\n // needed for certain db\n await (0, promises_1.writeFile)(workaroundCopiedDb + \"-shm\", \"\");\n await (0, promises_1.writeFile)(workaroundCopiedDb + \"-wal\", \"\");\n checkAborted(abortSignal);\n }\n const spawned = node_child_process_1.default.spawn(\"sqlite3\", [\"--json\", \"--readonly\", \"--vfs\", \"unix-none\", workaroundCopiedDb, query], {\n signal: abortSignal,\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned);\n [{ error, exitCode, signal }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf-8\" }, spawnedPromise);\n checkAborted(abortSignal);\n }\n if (error || exitCode !== 0 || signal !== null) {\n throw new Error(stderrResult);\n }\n return JSON.parse(stdoutResult.trim() || \"[]\");\n };\n }, [databasePath]);\n return {\n ...(0, usePromise_1.usePromise)(fn, [databasePath, query], { ...usePromiseOptions, onError: handleError }),\n permissionView,\n };\n}\nexports.useSQL = useSQL;\nclass PermissionError extends Error {\n constructor(message) {\n super(message);\n this.name = \"PermissionError\";\n }\n}\nfunction isPermissionError(error) {\n return error instanceof Error && error.name === \"PermissionError\";\n}\nconst macosVenturaAndLater = parseInt(node_os_1.default.release().split(\".\")[0]) >= 22;\nconst preferencesString = macosVenturaAndLater ? \"Settings\" : \"Preferences\";\nfunction PermissionErrorScreen(props) {\n const action = macosVenturaAndLater\n ? {\n title: \"Open System Settings -> Privacy\",\n target: \"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles\",\n }\n : {\n title: \"Open System Preferences -> Security\",\n target: \"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles\",\n };\n if (api_1.environment.commandMode === \"menu-bar\") {\n return ((0, jsx_runtime_1.jsxs)(api_1.MenuBarExtra, { icon: api_1.Icon.Warning, title: api_1.environment.commandName, children: [(0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: \"Raycast needs full disk access\", tooltip: `You can revert this access in ${preferencesString} whenever you want` }), props.priming ? ((0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: props.priming, tooltip: `You can revert this access in ${preferencesString} whenever you want` })) : null, (0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Separator, {}), (0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: action.title, onAction: () => (0, api_1.open)(action.target) })] }));\n }\n return ((0, jsx_runtime_1.jsx)(api_1.List, { children: (0, jsx_runtime_1.jsx)(api_1.List.EmptyView, { icon: {\n source: {\n light: \"https://raycast.com/uploads/extensions-utils-security-permissions-light.png\",\n dark: \"https://raycast.com/uploads/extensions-utils-security-permissions-dark.png\",\n },\n }, title: \"Raycast needs full disk access.\", description: `${props.priming ? props.priming + \"\\n\" : \"\"}You can revert this access in ${preferencesString} whenever you want.`, actions: (0, jsx_runtime_1.jsx)(api_1.ActionPanel, { children: (0, jsx_runtime_1.jsx)(api_1.Action.Open, { ...action }) }) }) }));\n}\nfunction checkAborted(signal) {\n if (signal?.aborted) {\n const error = new Error(\"aborted\");\n error.name = \"AbortError\";\n throw error;\n }\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useForm = exports.FormValidation = void 0;\nconst react_1 = require(\"react\");\nconst useLatest_1 = require(\"./useLatest\");\n/**\n * Shorthands for common validation cases\n */\nvar FormValidation;\n(function (FormValidation) {\n /** Show an error when the value of the item is empty */\n FormValidation[\"Required\"] = \"required\";\n})(FormValidation = exports.FormValidation || (exports.FormValidation = {}));\nfunction validationError(validation, value) {\n if (validation) {\n if (typeof validation === \"function\") {\n return validation(value);\n }\n else if (validation === FormValidation.Required) {\n let valueIsValid = typeof value !== \"undefined\" && value !== null;\n if (valueIsValid) {\n switch (typeof value) {\n case \"string\":\n valueIsValid = value.length > 0;\n break;\n case \"object\":\n if (Array.isArray(value)) {\n valueIsValid = value.length > 0;\n }\n else if (value instanceof Date) {\n valueIsValid = value.getTime() > 0;\n }\n break;\n default:\n break;\n }\n }\n if (!valueIsValid) {\n return \"The item is required\";\n }\n }\n }\n}\n/**\n * Hook that provides a high-level interface to work with Forms, and more particularly, with Form validations. It incorporates all the good practices to provide a great User Experience for your Forms.\n *\n * @returns an object which contains the necessary methods and props to provide a good User Experience in your Form.\n *\n * @example\n * ```\n * import { Action, ActionPanel, Form, showToast, Toast } from \"@raycast/api\";\n * import { useForm, FormValidation } from \"@raycast/utils\";\n *\n * interface SignUpFormValues {\n * nickname: string;\n * password: string;\n * }\n *\n * export default function Command() {\n * const { handleSubmit, itemProps } = useForm<SignUpFormValues>({\n * onSubmit(values) {\n * showToast(Toast.Style.Success, \"Yay!\", `${values.nickname} account created`);\n * },\n * validation: {\n * nickname: FormValidation.Required,\n * password: (value) => {\n * if (value && value.length < 8) {\n * return \"Password must be at least 8 symbols\";\n * } else if (!value) {\n * return \"The item is required\";\n * }\n * },\n * },\n * });\n *\n * return (\n * <Form\n * actions={\n * <ActionPanel>\n * <Action.SubmitForm title=\"Submit\" onSubmit={handleSubmit} />\n * </ActionPanel>\n * }\n * >\n * <Form.TextField title=\"Nickname\" placeholder=\"Enter your nickname\" {...itemProps.nickname} />\n * <Form.PasswordField\n * title=\"Password\"\n * placeholder=\"Enter password at least 8 characters long\"\n * {...itemProps.password}\n * />\n * </Form>\n * );\n * }\n * ```\n */\nfunction useForm(props) {\n const { onSubmit: _onSubmit, validation, initialValues = {} } = props;\n // @ts-expect-error it's fine if we don't specify all the values\n const [values, setValues] = (0, react_1.useState)(initialValues);\n const [errors, setErrors] = (0, react_1.useState)({});\n const refs = (0, react_1.useRef)({});\n const latestValidation = (0, useLatest_1.useLatest)(validation || {});\n const latestOnSubmit = (0, useLatest_1.useLatest)(_onSubmit);\n const focus = (0, react_1.useCallback)((id) => {\n refs.current[id]?.focus();\n }, [refs]);\n const handleSubmit = (0, react_1.useCallback)(async (values) => {\n let validationErrors = false;\n for (const [id, validation] of Object.entries(latestValidation.current)) {\n const error = validationError(validation, values[id]);\n if (error) {\n if (!validationErrors) {\n validationErrors = {};\n // we focus the first item that has an error\n focus(id);\n }\n validationErrors[id] = error;\n }\n }\n if (validationErrors) {\n setErrors(validationErrors);\n return false;\n }\n const result = await latestOnSubmit.current(values);\n return typeof result === \"boolean\" ? result : true;\n }, [latestValidation, latestOnSubmit, focus]);\n const setValidationError = (0, react_1.useCallback)((id, error) => {\n setErrors((errors) => ({ ...errors, [id]: error }));\n }, [setErrors]);\n const setValue = (0, react_1.useCallback)(function (id, value) {\n // @ts-expect-error TS is always confused about SetStateAction, but it's fine here\n setValues((values) => ({ ...values, [id]: typeof value === \"function\" ? value(values[id]) : value }));\n }, [setValues]);\n const itemProps = (0, react_1.useMemo)(() => {\n // we have to use a proxy because we don't actually have any object to iterate through\n // so instead we dynamically create the props when required\n return new Proxy(\n // @ts-expect-error the whole point of a proxy...\n {}, {\n get(target, id) {\n const validation = latestValidation.current[id];\n const value = values[id];\n return {\n onChange(value) {\n if (errors[id]) {\n const error = validationError(validation, value);\n if (!error) {\n setValidationError(id, undefined);\n }\n }\n setValue(id, value);\n },\n onBlur(event) {\n const error = validationError(validation, event.target.value);\n if (error) {\n setValidationError(id, error);\n }\n },\n error: errors[id],\n id,\n // we shouldn't return `undefined` otherwise it will be an uncontrolled component\n value: typeof value === \"undefined\" ? null : value,\n ref: (instance) => {\n refs.current[id] = instance;\n },\n };\n },\n });\n }, [errors, latestValidation, setValidationError, values, refs, setValue]);\n const reset = (0, react_1.useCallback)((initialValues = {}) => {\n // @ts-expect-error it's fine if we don't specify all the values\n setValues(initialValues);\n setErrors({});\n }, [setValues, setErrors]);\n return { handleSubmit, setValidationError, setValue, values, itemProps, focus, reset };\n}\nexports.useForm = useForm;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useAI = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst usePromise_1 = require(\"./usePromise\");\n/**\n * Stream a prompt completion.\n *\n * @example\n * ```typescript\n * import { Detail, LaunchProps } from \"@raycast/api\";\n * import { use AI } from \"@raycast/utils\";\n *\n * export default function Command(props: LaunchProps<{ arguments: { prompt: string } }>) {\n * const { isLoading, data } = useAI(props.arguments.prompt);\n *\n * return <Detail isLoading={isLoading} markdown={data} />;\n * }\n * ```\n */\nfunction useAI(prompt, options = {}) {\n const { creativity, stream, model, ...usePromiseOptions } = options;\n const [data, setData] = (0, react_1.useState)(\"\");\n const abortable = (0, react_1.useRef)();\n const { isLoading, error, revalidate } = (0, usePromise_1.usePromise)(async (prompt, creativity, shouldStream) => {\n setData(\"\");\n const stream = api_1.AI.ask(prompt, { creativity, model, signal: abortable.current?.signal });\n if (shouldStream === false) {\n setData(await stream);\n }\n else {\n stream.on(\"data\", (data) => {\n setData((x) => x + data);\n });\n await stream;\n }\n }, [prompt, creativity, stream], { ...usePromiseOptions, abortable });\n return { isLoading, data, error, revalidate };\n}\nexports.useAI = useAI;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFrecencySorting = void 0;\nconst react_1 = require(\"react\");\nconst useLatest_1 = require(\"./useLatest\");\nconst useCachedState_1 = require(\"./useCachedState\");\nconst HALF_LIFE_DAYS = 10;\nconst MS_PER_DAY = 24 * 60 * 60 * 1000;\nconst DECAY_RATE_CONSTANT = Math.log(2) / (HALF_LIFE_DAYS * MS_PER_DAY);\nconst VISIT_TYPE_POINTS = {\n Default: 100,\n Embed: 0,\n Bookmark: 140,\n};\nfunction getNewFrecency(item) {\n const now = Date.now();\n const lastVisited = item ? item.lastVisited : 0;\n const frecency = item ? item.frecency : 0;\n const visitAgeInDays = (now - lastVisited) / MS_PER_DAY;\n const currentVisitValue = VISIT_TYPE_POINTS.Default * Math.exp(-DECAY_RATE_CONSTANT * visitAgeInDays);\n const totalVisitValue = frecency + currentVisitValue;\n return {\n lastVisited: now,\n frecency: totalVisitValue,\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst defaultKey = (item) => {\n if (process.env.NODE_ENV !== \"production\" &&\n (typeof item !== \"object\" || !item || !(\"id\" in item) || typeof item.id != \"string\")) {\n throw new Error(\"Specify a key function or make sure your items have an 'id' property\");\n }\n return item.id;\n};\nfunction useFrecencySorting(data, options) {\n const keyRef = (0, useLatest_1.useLatest)(options?.key || defaultKey);\n const sortUnvisitedRef = (0, useLatest_1.useLatest)(options?.sortUnvisited);\n const [storedFrecencies, setStoredFrecencies] = (0, useCachedState_1.useCachedState)(`raycast_frecency_${options?.namespace}`, {});\n const visitItem = (0, react_1.useCallback)(async function updateFrecency(item) {\n const itemKey = keyRef.current(item);\n setStoredFrecencies((storedFrecencies) => {\n const frecency = storedFrecencies[itemKey];\n const newFrecency = getNewFrecency(frecency);\n return {\n ...storedFrecencies,\n [itemKey]: newFrecency,\n };\n });\n }, [keyRef, setStoredFrecencies]);\n const resetRanking = (0, react_1.useCallback)(async function removeFrecency(item) {\n const itemKey = keyRef.current(item);\n setStoredFrecencies((storedFrecencies) => {\n const newFrencencies = { ...storedFrecencies };\n delete newFrencencies[itemKey];\n return newFrencencies;\n });\n }, [keyRef, setStoredFrecencies]);\n const sortedData = (0, react_1.useMemo)(() => {\n if (!data) {\n return [];\n }\n return data.sort((a, b) => {\n const frecencyA = storedFrecencies[keyRef.current(a)];\n const frecencyB = storedFrecencies[keyRef.current(b)];\n // If a has a frecency, but b doesn't, a should come first\n if (frecencyA && !frecencyB) {\n return -1;\n }\n // If b has a frecency, but a doesn't, b should come first\n if (!frecencyA && frecencyB) {\n return 1;\n }\n // If both frecencies are defined,put the one with the higher frecency first\n if (frecencyA && frecencyB) {\n return frecencyB.frecency - frecencyA.frecency;\n }\n // If both frecencies are undefined, keep the original order\n return sortUnvisitedRef.current ? sortUnvisitedRef.current(a, b) : 0;\n });\n }, [storedFrecencies, data, keyRef, sortUnvisitedRef]);\n return { data: sortedData, visitItem, resetRanking };\n}\nexports.useFrecencySorting = useFrecencySorting;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.slightlyLighterColor = exports.slightlyDarkerColor = void 0;\nfunction hexToRGB(hex) {\n let r = 0;\n let g = 0;\n let b = 0;\n // 3 digits\n if (hex.length === 4) {\n r = parseInt(`${hex[1]}${hex[1]}`, 16);\n g = parseInt(`${hex[2]}${hex[2]}`, 16);\n b = parseInt(`${hex[3]}${hex[3]}`, 16);\n // 6 digits\n }\n else if (hex.length === 7) {\n r = parseInt(`${hex[1]}${hex[2]}`, 16);\n g = parseInt(`${hex[3]}${hex[4]}`, 16);\n b = parseInt(`${hex[5]}${hex[6]}`, 16);\n }\n else {\n throw new Error(`Malformed hex color: ${hex}`);\n }\n return { r, g, b };\n}\nfunction rgbToHex({ r, g, b }) {\n let rString = r.toString(16);\n let gString = g.toString(16);\n let bString = b.toString(16);\n if (rString.length === 1) {\n rString = `0${rString}`;\n }\n if (gString.length === 1) {\n gString = `0${gString}`;\n }\n if (bString.length === 1) {\n bString = `0${bString}`;\n }\n return `#${rString}${gString}${bString}`;\n}\nfunction rgbToHSL({ r, g, b }) {\n // Make r, g, and b fractions of 1\n r /= 255;\n g /= 255;\n b /= 255;\n // Find greatest and smallest channel values\n const cmin = Math.min(r, g, b);\n const cmax = Math.max(r, g, b);\n const delta = cmax - cmin;\n let h = 0;\n let s = 0;\n let l = 0;\n // Calculate hue\n // No difference\n if (delta === 0) {\n h = 0;\n }\n // Red is max\n else if (cmax === r) {\n h = ((g - b) / delta) % 6;\n }\n // Green is max\n else if (cmax === g) {\n h = (b - r) / delta + 2;\n }\n // Blue is max\n else {\n h = (r - g) / delta + 4;\n }\n h = Math.round(h * 60);\n // Make negative hues positive behind 360\u00B0\n if (h < 0) {\n h += 360;\n }\n // Calculate lightness\n l = (cmax + cmin) / 2;\n // Calculate saturation\n s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));\n // Multiply l and s by 100\n s = +(s * 100).toFixed(1);\n l = +(l * 100).toFixed(1);\n return { h, s, l };\n}\nfunction hslToRGB({ h, s, l }) {\n // Must be fractions of 1\n s /= 100;\n l /= 100;\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = l - c / 2;\n let r = 0;\n let g = 0;\n let b = 0;\n if (h >= 0 && h < 60) {\n r = c;\n g = x;\n b = 0;\n }\n else if (h >= 60 && h < 120) {\n r = x;\n g = c;\n b = 0;\n }\n else if (h >= 120 && h < 180) {\n r = 0;\n g = c;\n b = x;\n }\n else if (h >= 180 && h < 240) {\n r = 0;\n g = x;\n b = c;\n }\n else if (h >= 240 && h < 300) {\n r = x;\n g = 0;\n b = c;\n }\n else if (h >= 300 && h < 360) {\n r = c;\n g = 0;\n b = x;\n }\n r = Math.round((r + m) * 255);\n g = Math.round((g + m) * 255);\n b = Math.round((b + m) * 255);\n return { r, g, b };\n}\nfunction hexToHSL(hex) {\n return rgbToHSL(hexToRGB(hex));\n}\nfunction hslToHex(hsl) {\n return rgbToHex(hslToRGB(hsl));\n}\nfunction clamp(value, min, max) {\n return min < max ? (value < min ? min : value > max ? max : value) : value < max ? max : value > min ? min : value;\n}\nconst offset = 12;\nfunction slightlyDarkerColor(hex) {\n const hsl = hexToHSL(hex);\n return hslToHex({\n h: hsl.h,\n s: hsl.s,\n l: clamp(hsl.l - offset, 0, 100),\n });\n}\nexports.slightlyDarkerColor = slightlyDarkerColor;\nfunction slightlyLighterColor(hex) {\n const hsl = hexToHSL(hex);\n return hslToHex({\n h: hsl.h,\n s: hsl.s,\n l: clamp(hsl.l + offset, 0, 100),\n });\n}\nexports.slightlyLighterColor = slightlyLighterColor;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAvatarIcon = void 0;\nconst color_1 = require(\"./color\");\nfunction getWholeCharAndI(str, i) {\n const code = str.charCodeAt(i);\n if (Number.isNaN(code)) {\n return [\"\", i];\n }\n if (code < 0xd800 || code > 0xdfff) {\n return [str.charAt(i), i]; // Normal character, keeping 'i' the same\n }\n // High surrogate (could change last hex to 0xDB7F to treat high private\n // surrogates as single characters)\n if (0xd800 <= code && code <= 0xdbff) {\n if (str.length <= i + 1) {\n throw new Error(\"High surrogate without following low surrogate\");\n }\n const next = str.charCodeAt(i + 1);\n if (0xdc00 > next || next > 0xdfff) {\n throw new Error(\"High surrogate without following low surrogate\");\n }\n return [str.charAt(i) + str.charAt(i + 1), i + 1];\n }\n // Low surrogate (0xDC00 <= code && code <= 0xDFFF)\n if (i === 0) {\n throw new Error(\"Low surrogate without preceding high surrogate\");\n }\n const prev = str.charCodeAt(i - 1);\n // (could change last hex to 0xDB7F to treat high private surrogates\n // as single characters)\n if (0xd800 > prev || prev > 0xdbff) {\n throw new Error(\"Low surrogate without preceding high surrogate\");\n }\n // Return the next character instead (and increment)\n return [str.charAt(i + 1), i + 1];\n}\nconst avatarColorSet = [\n \"#DC829A\",\n \"#D64854\",\n \"#D47600\",\n \"#D36CDD\",\n \"#52A9E4\",\n \"#7871E8\",\n \"#70920F\",\n \"#43B93A\",\n \"#EB6B3E\",\n \"#26B795\",\n \"#D85A9B\",\n \"#A067DC\",\n \"#BD9500\",\n \"#5385D9\", // Blue\n];\n/**\n * Icon to represent an avatar when you don't have one. The generated avatar\n * will be generated from the initials of the name and have a colorful but consistent background.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getAvatarIcon('Mathieu Dutour')} title=\"Project\" />\n * ```\n */\nfunction getAvatarIcon(name, options) {\n const words = name.trim().split(\" \");\n let initials;\n if (words.length == 1 && getWholeCharAndI(words[0], 0)[0]) {\n initials = getWholeCharAndI(words[0], 0)[0];\n }\n else if (words.length > 1) {\n const firstWordFirstLetter = getWholeCharAndI(words[0], 0)[0] || \"\";\n const lastWordFirstLetter = getWholeCharAndI(words[words.length - 1], 0)[0] ?? \"\";\n initials = firstWordFirstLetter + lastWordFirstLetter;\n }\n else {\n initials = \"\";\n }\n let backgroundColor;\n if (options?.background) {\n backgroundColor = options?.background;\n }\n else {\n let initialsCharIndex = 0;\n let [char, i] = getWholeCharAndI(initials, 0);\n while (char) {\n initialsCharIndex += char.charCodeAt(0);\n [char, i] = getWholeCharAndI(initials, i + 1);\n }\n const colorIndex = initialsCharIndex % avatarColorSet.length;\n backgroundColor = avatarColorSet[colorIndex];\n }\n const padding = 0;\n const radius = 50 - padding;\n const svg = `<svg width=\"100px\" height=\"100px\">\n ${options?.gradient !== false\n ? `<defs>\n <linearGradient id=\"Gradient\" x1=\"0.25\" x2=\"0.75\" y1=\"0\" y2=\"1\">\n <stop offset=\"0%\" stop-color=\"${(0, color_1.slightlyLighterColor)(backgroundColor)}\"/>\n <stop offset=\"50%\" stop-color=\"${backgroundColor}\"/>\n <stop offset=\"100%\" stop-color=\"${(0, color_1.slightlyDarkerColor)(backgroundColor)}\"/>\n </linearGradient>\n </defs>`\n : \"\"}\n <circle cx=\"50\" cy=\"50\" r=\"${radius}\" fill=\"${options?.gradient !== false ? \"url(#Gradient)\" : backgroundColor}\" />\n ${initials\n ? `<text x=\"50\" y=\"80\" font-size=\"${radius - 1}\" font-family=\"Inter, sans-serif\" text-anchor=\"middle\" fill=\"white\">${initials.toUpperCase()}</text>`\n : \"\"}\n </svg>\n `.replaceAll(\"\\n\", \"\");\n return `data:image/svg+xml,${svg}`;\n}\nexports.getAvatarIcon = getAvatarIcon;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFavicon = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst url_1 = require(\"url\");\n/**\n * Icon showing the favicon of a website.\n *\n * A favicon (favorite icon) is a tiny icon included along with a website, which is displayed in places like the browser's address bar, page tabs, and bookmarks menu.\n *\n * @param url The URL of the website to represent.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getFavicon(\"https://raycast.com\")} title=\"Raycast Website\" />\n * ```\n */\nfunction getFavicon(url, options) {\n try {\n const urlObj = typeof url === \"string\" ? new url_1.URL(url) : url;\n const hostname = urlObj.hostname;\n return {\n source: `https://www.google.com/s2/favicons?sz=${options?.size ?? 64}&domain=${hostname}`,\n fallback: options?.fallback ?? api_1.Icon.Link,\n mask: options?.mask,\n };\n }\n catch (e) {\n console.error(e);\n return api_1.Icon.Link;\n }\n}\nexports.getFavicon = getFavicon;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getProgressIcon = void 0;\nconst api_1 = require(\"@raycast/api\");\nfunction polarToCartesian(centerX, centerY, radius, angleInDegrees) {\n const angleInRadians = ((angleInDegrees - 90) * Math.PI) / 180.0;\n return {\n x: centerX + radius * Math.cos(angleInRadians),\n y: centerY + radius * Math.sin(angleInRadians),\n };\n}\nfunction describeArc(x, y, radius, startAngle, endAngle) {\n const start = polarToCartesian(x, y, radius, endAngle);\n const end = polarToCartesian(x, y, radius, startAngle);\n const largeArcFlag = endAngle - startAngle <= 180 ? \"0\" : \"1\";\n const d = [\"M\", start.x, start.y, \"A\", radius, radius, 0, largeArcFlag, 0, end.x, end.y].join(\" \");\n return d;\n}\n/**\n * Icon to represent the progress of _something_.\n *\n * @param progress Number between 0 and 1.\n * @param color Hex color (default `\"#FF6363\"`) or Color.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getProgressIcon(0.1)} title=\"Project\" />\n * ```\n */\nfunction getProgressIcon(progress, color = api_1.Color.Red, options) {\n const background = options?.background || (api_1.environment.appearance === \"light\" ? \"black\" : \"white\");\n const backgroundOpacity = options?.backgroundOpacity || 0.1;\n const stroke = 10;\n const padding = 5;\n const radius = 50 - padding - stroke / 2;\n const svg = `<svg width=\"100px\" height=\"100px\">\n <circle cx=\"50\" cy=\"50\" r=\"${radius}\" stroke-width=\"${stroke}\" stroke=\"${progress < 1 ? background : color}\" opacity=\"${progress < 1 ? backgroundOpacity : \"1\"}\" fill=\"none\" />\n ${progress > 0 && progress < 1\n ? `<path d=\"${describeArc(50, 50, radius, 0, progress * 360)}\" stroke=\"${color}\" stroke-width=\"${stroke}\" fill=\"none\" />`\n : \"\"}\n </svg>\n `.replaceAll(\"\\n\", \"\");\n return `data:image/svg+xml,${svg}`;\n}\nexports.getProgressIcon = getProgressIcon;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./avatar\"), exports);\n__exportStar(require(\"./favicon\"), exports);\n__exportStar(require(\"./progress\"), exports);\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runAppleScript = void 0;\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst exec_utils_1 = require(\"./exec-utils\");\nasync function runAppleScript(script, optionsOrArgs, options) {\n const { humanReadableOutput, language, timeout, ...execOptions } = Array.isArray(optionsOrArgs)\n ? options || {}\n : optionsOrArgs || {};\n const outputArguments = humanReadableOutput !== false ? [] : [\"-ss\"];\n if (language === \"JavaScript\") {\n outputArguments.push(\"-l\", \"JavaScript\");\n }\n if (Array.isArray(optionsOrArgs)) {\n outputArguments.push(\"-\", ...optionsOrArgs);\n }\n const spawned = node_child_process_1.default.spawn(\"osascript\", outputArguments, {\n ...execOptions,\n env: { PATH: \"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\" },\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned, { timeout: timeout || 10000 });\n spawned.stdin.end(script);\n const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf8\" }, spawnedPromise);\n const stdout = (0, exec_utils_1.handleOutput)({ stripFinalNewline: true }, stdoutResult);\n const stderr = (0, exec_utils_1.handleOutput)({ stripFinalNewline: true }, stderrResult);\n return (0, exec_utils_1.defaultParsing)({\n stdout,\n stderr,\n error,\n exitCode,\n signal,\n timedOut,\n command: \"osascript\",\n options,\n parentError: new Error(),\n });\n}\nexports.runAppleScript = runAppleScript;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./usePromise\"), exports);\n__exportStar(require(\"./useCachedState\"), exports);\n__exportStar(require(\"./useCachedPromise\"), exports);\n__exportStar(require(\"./useFetch\"), exports);\n__exportStar(require(\"./useExec\"), exports);\n__exportStar(require(\"./useSQL\"), exports);\n__exportStar(require(\"./useForm\"), exports);\n__exportStar(require(\"./useAI\"), exports);\n__exportStar(require(\"./useFrecencySorting\"), exports);\n__exportStar(require(\"./icon\"), exports);\n__exportStar(require(\"./run-applescript\"), exports);\n", "module.exports = {\n kClose: Symbol('close'),\n kDestroy: Symbol('destroy'),\n kDispatch: Symbol('dispatch'),\n kUrl: Symbol('url'),\n kWriting: Symbol('writing'),\n kResuming: Symbol('resuming'),\n kQueue: Symbol('queue'),\n kConnect: Symbol('connect'),\n kConnecting: Symbol('connecting'),\n kHeadersList: Symbol('headers list'),\n kKeepAliveDefaultTimeout: Symbol('default keep alive timeout'),\n kKeepAliveMaxTimeout: Symbol('max keep alive timeout'),\n kKeepAliveTimeoutThreshold: Symbol('keep alive timeout threshold'),\n kKeepAliveTimeoutValue: Symbol('keep alive timeout'),\n kKeepAlive: Symbol('keep alive'),\n kHeadersTimeout: Symbol('headers timeout'),\n kBodyTimeout: Symbol('body timeout'),\n kServerName: Symbol('server name'),\n kLocalAddress: Symbol('local address'),\n kHost: Symbol('host'),\n kNoRef: Symbol('no ref'),\n kBodyUsed: Symbol('used'),\n kRunning: Symbol('running'),\n kBlocking: Symbol('blocking'),\n kPending: Symbol('pending'),\n kSize: Symbol('size'),\n kBusy: Symbol('busy'),\n kQueued: Symbol('queued'),\n kFree: Symbol('free'),\n kConnected: Symbol('connected'),\n kClosed: Symbol('closed'),\n kNeedDrain: Symbol('need drain'),\n kReset: Symbol('reset'),\n kDestroyed: Symbol.for('nodejs.stream.destroyed'),\n kMaxHeadersSize: Symbol('max headers size'),\n kRunningIdx: Symbol('running index'),\n kPendingIdx: Symbol('pending index'),\n kError: Symbol('error'),\n kClients: Symbol('clients'),\n kClient: Symbol('client'),\n kParser: Symbol('parser'),\n kOnDestroyed: Symbol('destroy callbacks'),\n kPipelining: Symbol('pipelining'),\n kSocket: Symbol('socket'),\n kHostHeader: Symbol('host header'),\n kConnector: Symbol('connector'),\n kStrictContentLength: Symbol('strict content length'),\n kMaxRedirections: Symbol('maxRedirections'),\n kMaxRequests: Symbol('maxRequestsPerClient'),\n kProxy: Symbol('proxy agent options'),\n kCounter: Symbol('socket request counter'),\n kInterceptors: Symbol('dispatch interceptors'),\n kMaxResponseSize: Symbol('max response size')\n}\n", "'use strict'\n\nclass UndiciError extends Error {\n constructor (message) {\n super(message)\n this.name = 'UndiciError'\n this.code = 'UND_ERR'\n }\n}\n\nclass ConnectTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, ConnectTimeoutError)\n this.name = 'ConnectTimeoutError'\n this.message = message || 'Connect Timeout Error'\n this.code = 'UND_ERR_CONNECT_TIMEOUT'\n }\n}\n\nclass HeadersTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, HeadersTimeoutError)\n this.name = 'HeadersTimeoutError'\n this.message = message || 'Headers Timeout Error'\n this.code = 'UND_ERR_HEADERS_TIMEOUT'\n }\n}\n\nclass HeadersOverflowError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, HeadersOverflowError)\n this.name = 'HeadersOverflowError'\n this.message = message || 'Headers Overflow Error'\n this.code = 'UND_ERR_HEADERS_OVERFLOW'\n }\n}\n\nclass BodyTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, BodyTimeoutError)\n this.name = 'BodyTimeoutError'\n this.message = message || 'Body Timeout Error'\n this.code = 'UND_ERR_BODY_TIMEOUT'\n }\n}\n\nclass ResponseStatusCodeError extends UndiciError {\n constructor (message, statusCode, headers, body) {\n super(message)\n Error.captureStackTrace(this, ResponseStatusCodeError)\n this.name = 'ResponseStatusCodeError'\n this.message = message || 'Response Status Code Error'\n this.code = 'UND_ERR_RESPONSE_STATUS_CODE'\n this.body = body\n this.status = statusCode\n this.statusCode = statusCode\n this.headers = headers\n }\n}\n\nclass InvalidArgumentError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, InvalidArgumentError)\n this.name = 'InvalidArgumentError'\n this.message = message || 'Invalid Argument Error'\n this.code = 'UND_ERR_INVALID_ARG'\n }\n}\n\nclass InvalidReturnValueError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, InvalidReturnValueError)\n this.name = 'InvalidReturnValueError'\n this.message = message || 'Invalid Return Value Error'\n this.code = 'UND_ERR_INVALID_RETURN_VALUE'\n }\n}\n\nclass RequestAbortedError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, RequestAbortedError)\n this.name = 'AbortError'\n this.message = message || 'Request aborted'\n this.code = 'UND_ERR_ABORTED'\n }\n}\n\nclass InformationalError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, InformationalError)\n this.name = 'InformationalError'\n this.message = message || 'Request information'\n this.code = 'UND_ERR_INFO'\n }\n}\n\nclass RequestContentLengthMismatchError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, RequestContentLengthMismatchError)\n this.name = 'RequestContentLengthMismatchError'\n this.message = message || 'Request body length does not match content-length header'\n this.code = 'UND_ERR_REQ_CONTENT_LENGTH_MISMATCH'\n }\n}\n\nclass ResponseContentLengthMismatchError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, ResponseContentLengthMismatchError)\n this.name = 'ResponseContentLengthMismatchError'\n this.message = message || 'Response body length does not match content-length header'\n this.code = 'UND_ERR_RES_CONTENT_LENGTH_MISMATCH'\n }\n}\n\nclass ClientDestroyedError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, ClientDestroyedError)\n this.name = 'ClientDestroyedError'\n this.message = message || 'The client is destroyed'\n this.code = 'UND_ERR_DESTROYED'\n }\n}\n\nclass ClientClosedError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, ClientClosedError)\n this.name = 'ClientClosedError'\n this.message = message || 'The client is closed'\n this.code = 'UND_ERR_CLOSED'\n }\n}\n\nclass SocketError extends UndiciError {\n constructor (message, socket) {\n super(message)\n Error.captureStackTrace(this, SocketError)\n this.name = 'SocketError'\n this.message = message || 'Socket error'\n this.code = 'UND_ERR_SOCKET'\n this.socket = socket\n }\n}\n\nclass NotSupportedError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, NotSupportedError)\n this.name = 'NotSupportedError'\n this.message = message || 'Not supported error'\n this.code = 'UND_ERR_NOT_SUPPORTED'\n }\n}\n\nclass BalancedPoolMissingUpstreamError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, NotSupportedError)\n this.name = 'MissingUpstreamError'\n this.message = message || 'No upstream has been added to the BalancedPool'\n this.code = 'UND_ERR_BPL_MISSING_UPSTREAM'\n }\n}\n\nclass HTTPParserError extends Error {\n constructor (message, code, data) {\n super(message)\n Error.captureStackTrace(this, HTTPParserError)\n this.name = 'HTTPParserError'\n this.code = code ? `HPE_${code}` : undefined\n this.data = data ? data.toString() : undefined\n }\n}\n\nclass ResponseExceededMaxSizeError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, ResponseExceededMaxSizeError)\n this.name = 'ResponseExceededMaxSizeError'\n this.message = message || 'Response content exceeded max size'\n this.code = 'UND_ERR_RES_EXCEEDED_MAX_SIZE'\n }\n}\n\nmodule.exports = {\n HTTPParserError,\n UndiciError,\n HeadersTimeoutError,\n HeadersOverflowError,\n BodyTimeoutError,\n RequestContentLengthMismatchError,\n ConnectTimeoutError,\n ResponseStatusCodeError,\n InvalidArgumentError,\n InvalidReturnValueError,\n RequestAbortedError,\n ClientDestroyedError,\n ClientClosedError,\n InformationalError,\n SocketError,\n NotSupportedError,\n ResponseContentLengthMismatchError,\n BalancedPoolMissingUpstreamError,\n ResponseExceededMaxSizeError\n}\n", "'use strict'\n\nconst assert = require('assert')\nconst { kDestroyed, kBodyUsed } = require('./symbols')\nconst { IncomingMessage } = require('http')\nconst stream = require('stream')\nconst net = require('net')\nconst { InvalidArgumentError } = require('./errors')\nconst { Blob } = require('buffer')\nconst nodeUtil = require('util')\nconst { stringify } = require('querystring')\n\nconst [nodeMajor, nodeMinor] = process.versions.node.split('.').map(v => Number(v))\n\nfunction nop () {}\n\nfunction isStream (obj) {\n return obj && typeof obj === 'object' && typeof obj.pipe === 'function' && typeof obj.on === 'function'\n}\n\n// based on https://github.com/node-fetch/fetch-blob/blob/8ab587d34080de94140b54f07168451e7d0b655e/index.js#L229-L241 (MIT License)\nfunction isBlobLike (object) {\n return (Blob && object instanceof Blob) || (\n object &&\n typeof object === 'object' &&\n (typeof object.stream === 'function' ||\n typeof object.arrayBuffer === 'function') &&\n /^(Blob|File)$/.test(object[Symbol.toStringTag])\n )\n}\n\nfunction buildURL (url, queryParams) {\n if (url.includes('?') || url.includes('#')) {\n throw new Error('Query params cannot be passed when url already contains \"?\" or \"#\".')\n }\n\n const stringified = stringify(queryParams)\n\n if (stringified) {\n url += '?' + stringified\n }\n\n return url\n}\n\nfunction parseURL (url) {\n if (typeof url === 'string') {\n url = new URL(url)\n\n if (!/^https?:/.test(url.origin || url.protocol)) {\n throw new InvalidArgumentError('Invalid URL protocol: the URL must start with `http:` or `https:`.')\n }\n\n return url\n }\n\n if (!url || typeof url !== 'object') {\n throw new InvalidArgumentError('Invalid URL: The URL argument must be a non-null object.')\n }\n\n if (url.port != null && url.port !== '' && !Number.isFinite(parseInt(url.port))) {\n throw new InvalidArgumentError('Invalid URL: port must be a valid integer or a string representation of an integer.')\n }\n\n if (url.path != null && typeof url.path !== 'string') {\n throw new InvalidArgumentError('Invalid URL path: the path must be a string or null/undefined.')\n }\n\n if (url.pathname != null && typeof url.pathname !== 'string') {\n throw new InvalidArgumentError('Invalid URL pathname: the pathname must be a string or null/undefined.')\n }\n\n if (url.hostname != null && typeof url.hostname !== 'string') {\n throw new InvalidArgumentError('Invalid URL hostname: the hostname must be a string or null/undefined.')\n }\n\n if (url.origin != null && typeof url.origin !== 'string') {\n throw new InvalidArgumentError('Invalid URL origin: the origin must be a string or null/undefined.')\n }\n\n if (!/^https?:/.test(url.origin || url.protocol)) {\n throw new InvalidArgumentError('Invalid URL protocol: the URL must start with `http:` or `https:`.')\n }\n\n if (!(url instanceof URL)) {\n const port = url.port != null\n ? url.port\n : (url.protocol === 'https:' ? 443 : 80)\n let origin = url.origin != null\n ? url.origin\n : `${url.protocol}//${url.hostname}:${port}`\n let path = url.path != null\n ? url.path\n : `${url.pathname || ''}${url.search || ''}`\n\n if (origin.endsWith('/')) {\n origin = origin.substring(0, origin.length - 1)\n }\n\n if (path && !path.startsWith('/')) {\n path = `/${path}`\n }\n // new URL(path, origin) is unsafe when `path` contains an absolute URL\n // From https://developer.mozilla.org/en-US/docs/Web/API/URL/URL:\n // If first parameter is a relative URL, second param is required, and will be used as the base URL.\n // If first parameter is an absolute URL, a given second param will be ignored.\n url = new URL(origin + path)\n }\n\n return url\n}\n\nfunction parseOrigin (url) {\n url = parseURL(url)\n\n if (url.pathname !== '/' || url.search || url.hash) {\n throw new InvalidArgumentError('invalid url')\n }\n\n return url\n}\n\nfunction getHostname (host) {\n if (host[0] === '[') {\n const idx = host.indexOf(']')\n\n assert(idx !== -1)\n return host.substr(1, idx - 1)\n }\n\n const idx = host.indexOf(':')\n if (idx === -1) return host\n\n return host.substr(0, idx)\n}\n\n// IP addresses are not valid server names per RFC6066\n// > Currently, the only server names supported are DNS hostnames\nfunction getServerName (host) {\n if (!host) {\n return null\n }\n\n assert.strictEqual(typeof host, 'string')\n\n const servername = getHostname(host)\n if (net.isIP(servername)) {\n return ''\n }\n\n return servername\n}\n\nfunction deepClone (obj) {\n return JSON.parse(JSON.stringify(obj))\n}\n\nfunction isAsyncIterable (obj) {\n return !!(obj != null && typeof obj[Symbol.asyncIterator] === 'function')\n}\n\nfunction isIterable (obj) {\n return !!(obj != null && (typeof obj[Symbol.iterator] === 'function' || typeof obj[Symbol.asyncIterator] === 'function'))\n}\n\nfunction bodyLength (body) {\n if (body == null) {\n return 0\n } else if (isStream(body)) {\n const state = body._readableState\n return state && state.ended === true && Number.isFinite(state.length)\n ? state.length\n : null\n } else if (isBlobLike(body)) {\n return body.size != null ? body.size : null\n } else if (isBuffer(body)) {\n return body.byteLength\n }\n\n return null\n}\n\nfunction isDestroyed (stream) {\n return !stream || !!(stream.destroyed || stream[kDestroyed])\n}\n\nfunction isReadableAborted (stream) {\n const state = stream && stream._readableState\n return isDestroyed(stream) && state && !state.endEmitted\n}\n\nfunction destroy (stream, err) {\n if (!isStream(stream) || isDestroyed(stream)) {\n return\n }\n\n if (typeof stream.destroy === 'function') {\n if (Object.getPrototypeOf(stream).constructor === IncomingMessage) {\n // See: https://github.com/nodejs/node/pull/38505/files\n stream.socket = null\n }\n stream.destroy(err)\n } else if (err) {\n process.nextTick((stream, err) => {\n stream.emit('error', err)\n }, stream, err)\n }\n\n if (stream.destroyed !== true) {\n stream[kDestroyed] = true\n }\n}\n\nconst KEEPALIVE_TIMEOUT_EXPR = /timeout=(\\d+)/\nfunction parseKeepAliveTimeout (val) {\n const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR)\n return m ? parseInt(m[1], 10) * 1000 : null\n}\n\nfunction parseHeaders (headers, obj = {}) {\n for (let i = 0; i < headers.length; i += 2) {\n const key = headers[i].toString().toLowerCase()\n let val = obj[key]\n\n if (!val) {\n if (Array.isArray(headers[i + 1])) {\n obj[key] = headers[i + 1]\n } else {\n obj[key] = headers[i + 1].toString('utf8')\n }\n } else {\n if (!Array.isArray(val)) {\n val = [val]\n obj[key] = val\n }\n val.push(headers[i + 1].toString('utf8'))\n }\n }\n\n // See https://github.com/nodejs/node/pull/46528\n if ('content-length' in obj && 'content-disposition' in obj) {\n obj['content-disposition'] = Buffer.from(obj['content-disposition']).toString('latin1')\n }\n\n return obj\n}\n\nfunction parseRawHeaders (headers) {\n const ret = []\n let hasContentLength = false\n let contentDispositionIdx = -1\n\n for (let n = 0; n < headers.length; n += 2) {\n const key = headers[n + 0].toString()\n const val = headers[n + 1].toString('utf8')\n\n if (key.length === 14 && (key === 'content-length' || key.toLowerCase() === 'content-length')) {\n ret.push(key, val)\n hasContentLength = true\n } else if (key.length === 19 && (key === 'content-disposition' || key.toLowerCase() === 'content-disposition')) {\n contentDispositionIdx = ret.push(key, val) - 1\n } else {\n ret.push(key, val)\n }\n }\n\n // See https://github.com/nodejs/node/pull/46528\n if (hasContentLength && contentDispositionIdx !== -1) {\n ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString('latin1')\n }\n\n return ret\n}\n\nfunction isBuffer (buffer) {\n // See, https://github.com/mcollina/undici/pull/319\n return buffer instanceof Uint8Array || Buffer.isBuffer(buffer)\n}\n\nfunction validateHandler (handler, method, upgrade) {\n if (!handler || typeof handler !== 'object') {\n throw new InvalidArgumentError('handler must be an object')\n }\n\n if (typeof handler.onConnect !== 'function') {\n throw new InvalidArgumentError('invalid onConnect method')\n }\n\n if (typeof handler.onError !== 'function') {\n throw new InvalidArgumentError('invalid onError method')\n }\n\n if (typeof handler.onBodySent !== 'function' && handler.onBodySent !== undefined) {\n throw new InvalidArgumentError('invalid onBodySent method')\n }\n\n if (upgrade || method === 'CONNECT') {\n if (typeof handler.onUpgrade !== 'function') {\n throw new InvalidArgumentError('invalid onUpgrade method')\n }\n } else {\n if (typeof handler.onHeaders !== 'function') {\n throw new InvalidArgumentError('invalid onHeaders method')\n }\n\n if (typeof handler.onData !== 'function') {\n throw new InvalidArgumentError('invalid onData method')\n }\n\n if (typeof handler.onComplete !== 'function') {\n throw new InvalidArgumentError('invalid onComplete method')\n }\n }\n}\n\n// A body is disturbed if it has been read from and it cannot\n// be re-used without losing state or data.\nfunction isDisturbed (body) {\n return !!(body && (\n stream.isDisturbed\n ? stream.isDisturbed(body) || body[kBodyUsed] // TODO (fix): Why is body[kBodyUsed] needed?\n : body[kBodyUsed] ||\n body.readableDidRead ||\n (body._readableState && body._readableState.dataEmitted) ||\n isReadableAborted(body)\n ))\n}\n\nfunction isErrored (body) {\n return !!(body && (\n stream.isErrored\n ? stream.isErrored(body)\n : /state: 'errored'/.test(nodeUtil.inspect(body)\n )))\n}\n\nfunction isReadable (body) {\n return !!(body && (\n stream.isReadable\n ? stream.isReadable(body)\n : /state: 'readable'/.test(nodeUtil.inspect(body)\n )))\n}\n\nfunction getSocketInfo (socket) {\n return {\n localAddress: socket.localAddress,\n localPort: socket.localPort,\n remoteAddress: socket.remoteAddress,\n remotePort: socket.remotePort,\n remoteFamily: socket.remoteFamily,\n timeout: socket.timeout,\n bytesWritten: socket.bytesWritten,\n bytesRead: socket.bytesRead\n }\n}\n\nlet ReadableStream\nfunction ReadableStreamFrom (iterable) {\n if (!ReadableStream) {\n ReadableStream = require('stream/web').ReadableStream\n }\n\n if (ReadableStream.from) {\n // https://github.com/whatwg/streams/pull/1083\n return ReadableStream.from(iterable)\n }\n\n let iterator\n return new ReadableStream(\n {\n async start () {\n iterator = iterable[Symbol.asyncIterator]()\n },\n async pull (controller) {\n const { done, value } = await iterator.next()\n if (done) {\n queueMicrotask(() => {\n controller.close()\n })\n } else {\n const buf = Buffer.isBuffer(value) ? value : Buffer.from(value)\n controller.enqueue(new Uint8Array(buf))\n }\n return controller.desiredSize > 0\n },\n async cancel (reason) {\n await iterator.return()\n }\n },\n 0\n )\n}\n\n// The chunk should be a FormData instance and contains\n// all the required methods.\nfunction isFormDataLike (object) {\n return (\n object &&\n typeof object === 'object' &&\n typeof object.append === 'function' &&\n typeof object.delete === 'function' &&\n typeof object.get === 'function' &&\n typeof object.getAll === 'function' &&\n typeof object.has === 'function' &&\n typeof object.set === 'function' &&\n object[Symbol.toStringTag] === 'FormData'\n )\n}\n\nfunction throwIfAborted (signal) {\n if (!signal) { return }\n if (typeof signal.throwIfAborted === 'function') {\n signal.throwIfAborted()\n } else {\n if (signal.aborted) {\n // DOMException not available < v17.0.0\n const err = new Error('The operation was aborted')\n err.name = 'AbortError'\n throw err\n }\n }\n}\n\nlet events\nfunction addAbortListener (signal, listener) {\n if (typeof Symbol.dispose === 'symbol') {\n if (!events) {\n events = require('events')\n }\n if (typeof events.addAbortListener === 'function' && 'aborted' in signal) {\n return events.addAbortListener(signal, listener)\n }\n }\n if ('addEventListener' in signal) {\n signal.addEventListener('abort', listener, { once: true })\n return () => signal.removeEventListener('abort', listener)\n }\n signal.addListener('abort', listener)\n return () => signal.removeListener('abort', listener)\n}\n\nconst hasToWellFormed = !!String.prototype.toWellFormed\n\n/**\n * @param {string} val\n */\nfunction toUSVString (val) {\n if (hasToWellFormed) {\n return `${val}`.toWellFormed()\n } else if (nodeUtil.toUSVString) {\n return nodeUtil.toUSVString(val)\n }\n\n return `${val}`\n}\n\nconst kEnumerableProperty = Object.create(null)\nkEnumerableProperty.enumerable = true\n\nmodule.exports = {\n kEnumerableProperty,\n nop,\n isDisturbed,\n isErrored,\n isReadable,\n toUSVString,\n isReadableAborted,\n isBlobLike,\n parseOrigin,\n parseURL,\n getServerName,\n isStream,\n isIterable,\n isAsyncIterable,\n isDestroyed,\n parseRawHeaders,\n parseHeaders,\n parseKeepAliveTimeout,\n destroy,\n bodyLength,\n deepClone,\n ReadableStreamFrom,\n isBuffer,\n validateHandler,\n getSocketInfo,\n isFormDataLike,\n buildURL,\n throwIfAborted,\n addAbortListener,\n nodeMajor,\n nodeMinor,\n nodeHasAutoSelectFamily: nodeMajor > 18 || (nodeMajor === 18 && nodeMinor >= 13)\n}\n", "'use strict'\n\nlet fastNow = Date.now()\nlet fastNowTimeout\n\nconst fastTimers = []\n\nfunction onTimeout () {\n fastNow = Date.now()\n\n let len = fastTimers.length\n let idx = 0\n while (idx < len) {\n const timer = fastTimers[idx]\n\n if (timer.state === 0) {\n timer.state = fastNow + timer.delay\n } else if (timer.state > 0 && fastNow >= timer.state) {\n timer.state = -1\n timer.callback(timer.opaque)\n }\n\n if (timer.state === -1) {\n timer.state = -2\n if (idx !== len - 1) {\n fastTimers[idx] = fastTimers.pop()\n } else {\n fastTimers.pop()\n }\n len -= 1\n } else {\n idx += 1\n }\n }\n\n if (fastTimers.length > 0) {\n refreshTimeout()\n }\n}\n\nfunction refreshTimeout () {\n if (fastNowTimeout && fastNowTimeout.refresh) {\n fastNowTimeout.refresh()\n } else {\n clearTimeout(fastNowTimeout)\n fastNowTimeout = setTimeout(onTimeout, 1e3)\n if (fastNowTimeout.unref) {\n fastNowTimeout.unref()\n }\n }\n}\n\nclass Timeout {\n constructor (callback, delay, opaque) {\n this.callback = callback\n this.delay = delay\n this.opaque = opaque\n\n // -2 not in timer list\n // -1 in timer list but inactive\n // 0 in timer list waiting for time\n // > 0 in timer list waiting for time to expire\n this.state = -2\n\n this.refresh()\n }\n\n refresh () {\n if (this.state === -2) {\n fastTimers.push(this)\n if (!fastNowTimeout || fastTimers.length === 1) {\n refreshTimeout()\n }\n }\n\n this.state = 0\n }\n\n clear () {\n this.state = -1\n }\n}\n\nmodule.exports = {\n setTimeout (callback, delay, opaque) {\n return delay < 1e3\n ? setTimeout(callback, delay, opaque)\n : new Timeout(callback, delay, opaque)\n },\n clearTimeout (timeout) {\n if (timeout instanceof Timeout) {\n timeout.clear()\n } else {\n clearTimeout(timeout)\n }\n }\n}\n", "'use strict';\n\nfunction parseContentType(str) {\n if (str.length === 0)\n return;\n\n const params = Object.create(null);\n let i = 0;\n\n // Parse type\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code !== 47/* '/' */ || i === 0)\n return;\n break;\n }\n }\n // Check for type without subtype\n if (i === str.length)\n return;\n\n const type = str.slice(0, i).toLowerCase();\n\n // Parse subtype\n const subtypeStart = ++i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n // Make sure we have a subtype\n if (i === subtypeStart)\n return;\n\n if (parseContentTypeParams(str, i, params) === undefined)\n return;\n break;\n }\n }\n // Make sure we have a subtype\n if (i === subtypeStart)\n return;\n\n const subtype = str.slice(subtypeStart, i).toLowerCase();\n\n return { type, subtype, params };\n}\n\nfunction parseContentTypeParams(str, i, params) {\n while (i < str.length) {\n // Consume whitespace\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */)\n break;\n }\n\n // Ended on whitespace\n if (i === str.length)\n break;\n\n // Check for malformed parameter\n if (str.charCodeAt(i++) !== 59/* ';' */)\n return;\n\n // Consume whitespace\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */)\n break;\n }\n\n // Ended on whitespace (malformed)\n if (i === str.length)\n return;\n\n let name;\n const nameStart = i;\n // Parse parameter name\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code !== 61/* '=' */)\n return;\n break;\n }\n }\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n name = str.slice(nameStart, i);\n ++i; // Skip over '='\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n let value = '';\n let valueStart;\n if (str.charCodeAt(i) === 34/* '\"' */) {\n valueStart = ++i;\n let escaping = false;\n // Parse quoted value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 92/* '\\\\' */) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n } else {\n value += str.slice(valueStart, i);\n escaping = true;\n }\n continue;\n }\n if (code === 34/* '\"' */) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n continue;\n }\n value += str.slice(valueStart, i);\n break;\n }\n if (escaping) {\n valueStart = i - 1;\n escaping = false;\n }\n // Invalid unescaped quoted character (malformed)\n if (QDTEXT[code] !== 1)\n return;\n }\n\n // No end quote (malformed)\n if (i === str.length)\n return;\n\n ++i; // Skip over double quote\n } else {\n valueStart = i;\n // Parse unquoted value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n // No value (malformed)\n if (i === valueStart)\n return;\n break;\n }\n }\n value = str.slice(valueStart, i);\n }\n\n name = name.toLowerCase();\n if (params[name] === undefined)\n params[name] = value;\n }\n\n return params;\n}\n\nfunction parseDisposition(str, defDecoder) {\n if (str.length === 0)\n return;\n\n const params = Object.create(null);\n let i = 0;\n\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (parseDispositionParams(str, i, params, defDecoder) === undefined)\n return;\n break;\n }\n }\n\n const type = str.slice(0, i).toLowerCase();\n\n return { type, params };\n}\n\nfunction parseDispositionParams(str, i, params, defDecoder) {\n while (i < str.length) {\n // Consume whitespace\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */)\n break;\n }\n\n // Ended on whitespace\n if (i === str.length)\n break;\n\n // Check for malformed parameter\n if (str.charCodeAt(i++) !== 59/* ';' */)\n return;\n\n // Consume whitespace\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */)\n break;\n }\n\n // Ended on whitespace (malformed)\n if (i === str.length)\n return;\n\n let name;\n const nameStart = i;\n // Parse parameter name\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code === 61/* '=' */)\n break;\n return;\n }\n }\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n let value = '';\n let valueStart;\n let charset;\n //~ let lang;\n name = str.slice(nameStart, i);\n if (name.charCodeAt(name.length - 1) === 42/* '*' */) {\n // Extended value\n\n const charsetStart = ++i;\n // Parse charset name\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (CHARSET[code] !== 1) {\n if (code !== 39/* '\\'' */)\n return;\n break;\n }\n }\n\n // Incomplete charset (malformed)\n if (i === str.length)\n return;\n\n charset = str.slice(charsetStart, i);\n ++i; // Skip over the '\\''\n\n //~ const langStart = ++i;\n // Parse language name\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 39/* '\\'' */)\n break;\n }\n\n // Incomplete language (malformed)\n if (i === str.length)\n return;\n\n //~ lang = str.slice(langStart, i);\n ++i; // Skip over the '\\''\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n valueStart = i;\n\n let encode = 0;\n // Parse value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (EXTENDED_VALUE[code] !== 1) {\n if (code === 37/* '%' */) {\n let hexUpper;\n let hexLower;\n if (i + 2 < str.length\n && (hexUpper = HEX_VALUES[str.charCodeAt(i + 1)]) !== -1\n && (hexLower = HEX_VALUES[str.charCodeAt(i + 2)]) !== -1) {\n const byteVal = (hexUpper << 4) + hexLower;\n value += str.slice(valueStart, i);\n value += String.fromCharCode(byteVal);\n i += 2;\n valueStart = i + 1;\n if (byteVal >= 128)\n encode = 2;\n else if (encode === 0)\n encode = 1;\n continue;\n }\n // '%' disallowed in non-percent encoded contexts (malformed)\n return;\n }\n break;\n }\n }\n\n value += str.slice(valueStart, i);\n value = convertToUTF8(value, charset, encode);\n if (value === undefined)\n return;\n } else {\n // Non-extended value\n\n ++i; // Skip over '='\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n if (str.charCodeAt(i) === 34/* '\"' */) {\n valueStart = ++i;\n let escaping = false;\n // Parse quoted value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 92/* '\\\\' */) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n } else {\n value += str.slice(valueStart, i);\n escaping = true;\n }\n continue;\n }\n if (code === 34/* '\"' */) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n continue;\n }\n value += str.slice(valueStart, i);\n break;\n }\n if (escaping) {\n valueStart = i - 1;\n escaping = false;\n }\n // Invalid unescaped quoted character (malformed)\n if (QDTEXT[code] !== 1)\n return;\n }\n\n // No end quote (malformed)\n if (i === str.length)\n return;\n\n ++i; // Skip over double quote\n } else {\n valueStart = i;\n // Parse unquoted value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n // No value (malformed)\n if (i === valueStart)\n return;\n break;\n }\n }\n value = str.slice(valueStart, i);\n }\n\n value = defDecoder(value, 2);\n if (value === undefined)\n return;\n }\n\n name = name.toLowerCase();\n if (params[name] === undefined)\n params[name] = value;\n }\n\n return params;\n}\n\nfunction getDecoder(charset) {\n let lc;\n while (true) {\n switch (charset) {\n case 'utf-8':\n case 'utf8':\n return decoders.utf8;\n case 'latin1':\n case 'ascii': // TODO: Make these a separate, strict decoder?\n case 'us-ascii':\n case 'iso-8859-1':\n case 'iso8859-1':\n case 'iso88591':\n case 'iso_8859-1':\n case 'windows-1252':\n case 'iso_8859-1:1987':\n case 'cp1252':\n case 'x-cp1252':\n return decoders.latin1;\n case 'utf16le':\n case 'utf-16le':\n case 'ucs2':\n case 'ucs-2':\n return decoders.utf16le;\n case 'base64':\n return decoders.base64;\n default:\n if (lc === undefined) {\n lc = true;\n charset = charset.toLowerCase();\n continue;\n }\n return decoders.other.bind(charset);\n }\n }\n}\n\nconst decoders = {\n utf8: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string') {\n // If `data` never had any percent-encoded bytes or never had any that\n // were outside of the ASCII range, then we can safely just return the\n // input since UTF-8 is ASCII compatible\n if (hint < 2)\n return data;\n\n data = Buffer.from(data, 'latin1');\n }\n return data.utf8Slice(0, data.length);\n },\n\n latin1: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string')\n return data;\n return data.latin1Slice(0, data.length);\n },\n\n utf16le: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string')\n data = Buffer.from(data, 'latin1');\n return data.ucs2Slice(0, data.length);\n },\n\n base64: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string')\n data = Buffer.from(data, 'latin1');\n return data.base64Slice(0, data.length);\n },\n\n other: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string')\n data = Buffer.from(data, 'latin1');\n try {\n const decoder = new TextDecoder(this);\n return decoder.decode(data);\n } catch {}\n },\n};\n\nfunction convertToUTF8(data, charset, hint) {\n const decode = getDecoder(charset);\n if (decode)\n return decode(data, hint);\n}\n\nfunction basename(path) {\n if (typeof path !== 'string')\n return '';\n for (let i = path.length - 1; i >= 0; --i) {\n switch (path.charCodeAt(i)) {\n case 0x2F: // '/'\n case 0x5C: // '\\'\n path = path.slice(i + 1);\n return (path === '..' || path === '.' ? '' : path);\n }\n }\n return (path === '..' || path === '.' ? '' : path);\n}\n\nconst TOKEN = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n];\n\nconst QDTEXT = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n];\n\nconst CHARSET = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n];\n\nconst EXTENDED_VALUE = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n];\n\n/* eslint-disable no-multi-spaces */\nconst HEX_VALUES = [\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n];\n/* eslint-enable no-multi-spaces */\n\nmodule.exports = {\n basename,\n convertToUTF8,\n getDecoder,\n parseContentType,\n parseDisposition,\n};\n", "'use strict';\n/*\n Based heavily on the Streaming Boyer-Moore-Horspool C++ implementation\n by Hongli Lai at: https://github.com/FooBarWidget/boyer-moore-horspool\n*/\nfunction memcmp(buf1, pos1, buf2, pos2, num) {\n for (let i = 0; i < num; ++i) {\n if (buf1[pos1 + i] !== buf2[pos2 + i])\n return false;\n }\n return true;\n}\n\nclass SBMH {\n constructor(needle, cb) {\n if (typeof cb !== 'function')\n throw new Error('Missing match callback');\n\n if (typeof needle === 'string')\n needle = Buffer.from(needle);\n else if (!Buffer.isBuffer(needle))\n throw new Error(`Expected Buffer for needle, got ${typeof needle}`);\n\n const needleLen = needle.length;\n\n this.maxMatches = Infinity;\n this.matches = 0;\n\n this._cb = cb;\n this._lookbehindSize = 0;\n this._needle = needle;\n this._bufPos = 0;\n\n this._lookbehind = Buffer.allocUnsafe(needleLen);\n\n // Initialize occurrence table.\n this._occ = [\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen\n ];\n\n // Populate occurrence table with analysis of the needle, ignoring the last\n // letter.\n if (needleLen > 1) {\n for (let i = 0; i < needleLen - 1; ++i)\n this._occ[needle[i]] = needleLen - 1 - i;\n }\n }\n\n reset() {\n this.matches = 0;\n this._lookbehindSize = 0;\n this._bufPos = 0;\n }\n\n push(chunk, pos) {\n let result;\n if (!Buffer.isBuffer(chunk))\n chunk = Buffer.from(chunk, 'latin1');\n const chunkLen = chunk.length;\n this._bufPos = pos || 0;\n while (result !== chunkLen && this.matches < this.maxMatches)\n result = feed(this, chunk);\n return result;\n }\n\n destroy() {\n const lbSize = this._lookbehindSize;\n if (lbSize)\n this._cb(false, this._lookbehind, 0, lbSize, false);\n this.reset();\n }\n}\n\nfunction feed(self, data) {\n const len = data.length;\n const needle = self._needle;\n const needleLen = needle.length;\n\n // Positive: points to a position in `data`\n // pos == 3 points to data[3]\n // Negative: points to a position in the lookbehind buffer\n // pos == -2 points to lookbehind[lookbehindSize - 2]\n let pos = -self._lookbehindSize;\n const lastNeedleCharPos = needleLen - 1;\n const lastNeedleChar = needle[lastNeedleCharPos];\n const end = len - needleLen;\n const occ = self._occ;\n const lookbehind = self._lookbehind;\n\n if (pos < 0) {\n // Lookbehind buffer is not empty. Perform Boyer-Moore-Horspool\n // search with character lookup code that considers both the\n // lookbehind buffer and the current round's haystack data.\n //\n // Loop until\n // there is a match.\n // or until\n // we've moved past the position that requires the\n // lookbehind buffer. In this case we switch to the\n // optimized loop.\n // or until\n // the character to look at lies outside the haystack.\n while (pos < 0 && pos <= end) {\n const nextPos = pos + lastNeedleCharPos;\n const ch = (nextPos < 0\n ? lookbehind[self._lookbehindSize + nextPos]\n : data[nextPos]);\n\n if (ch === lastNeedleChar\n && matchNeedle(self, data, pos, lastNeedleCharPos)) {\n self._lookbehindSize = 0;\n ++self.matches;\n if (pos > -self._lookbehindSize)\n self._cb(true, lookbehind, 0, self._lookbehindSize + pos, false);\n else\n self._cb(true, undefined, 0, 0, true);\n\n return (self._bufPos = pos + needleLen);\n }\n\n pos += occ[ch];\n }\n\n // No match.\n\n // There's too few data for Boyer-Moore-Horspool to run,\n // so let's use a different algorithm to skip as much as\n // we can.\n // Forward pos until\n // the trailing part of lookbehind + data\n // looks like the beginning of the needle\n // or until\n // pos == 0\n while (pos < 0 && !matchNeedle(self, data, pos, len - pos))\n ++pos;\n\n if (pos < 0) {\n // Cut off part of the lookbehind buffer that has\n // been processed and append the entire haystack\n // into it.\n const bytesToCutOff = self._lookbehindSize + pos;\n\n if (bytesToCutOff > 0) {\n // The cut off data is guaranteed not to contain the needle.\n self._cb(false, lookbehind, 0, bytesToCutOff, false);\n }\n\n self._lookbehindSize -= bytesToCutOff;\n lookbehind.copy(lookbehind, 0, bytesToCutOff, self._lookbehindSize);\n lookbehind.set(data, self._lookbehindSize);\n self._lookbehindSize += len;\n\n self._bufPos = len;\n return len;\n }\n\n // Discard lookbehind buffer.\n self._cb(false, lookbehind, 0, self._lookbehindSize, false);\n self._lookbehindSize = 0;\n }\n\n pos += self._bufPos;\n\n const firstNeedleChar = needle[0];\n\n // Lookbehind buffer is now empty. Perform Boyer-Moore-Horspool\n // search with optimized character lookup code that only considers\n // the current round's haystack data.\n while (pos <= end) {\n const ch = data[pos + lastNeedleCharPos];\n\n if (ch === lastNeedleChar\n && data[pos] === firstNeedleChar\n && memcmp(needle, 0, data, pos, lastNeedleCharPos)) {\n ++self.matches;\n if (pos > 0)\n self._cb(true, data, self._bufPos, pos, true);\n else\n self._cb(true, undefined, 0, 0, true);\n\n return (self._bufPos = pos + needleLen);\n }\n\n pos += occ[ch];\n }\n\n // There was no match. If there's trailing haystack data that we cannot\n // match yet using the Boyer-Moore-Horspool algorithm (because the trailing\n // data is less than the needle size) then match using a modified\n // algorithm that starts matching from the beginning instead of the end.\n // Whatever trailing data is left after running this algorithm is added to\n // the lookbehind buffer.\n while (pos < len) {\n if (data[pos] !== firstNeedleChar\n || !memcmp(data, pos, needle, 0, len - pos)) {\n ++pos;\n continue;\n }\n data.copy(lookbehind, 0, pos, len);\n self._lookbehindSize = len - pos;\n break;\n }\n\n // Everything until `pos` is guaranteed not to contain needle data.\n if (pos > 0)\n self._cb(false, data, self._bufPos, pos < len ? pos : len, true);\n\n self._bufPos = len;\n return len;\n}\n\nfunction matchNeedle(self, data, pos, len) {\n const lb = self._lookbehind;\n const lbSize = self._lookbehindSize;\n const needle = self._needle;\n\n for (let i = 0; i < len; ++i, ++pos) {\n const ch = (pos < 0 ? lb[lbSize + pos] : data[pos]);\n if (ch !== needle[i])\n return false;\n }\n return true;\n}\n\nmodule.exports = SBMH;\n", "'use strict';\n\nconst { Readable, Writable } = require('stream');\n\nconst StreamSearch = require('streamsearch');\n\nconst {\n basename,\n convertToUTF8,\n getDecoder,\n parseContentType,\n parseDisposition,\n} = require('../utils.js');\n\nconst BUF_CRLF = Buffer.from('\\r\\n');\nconst BUF_CR = Buffer.from('\\r');\nconst BUF_DASH = Buffer.from('-');\n\nfunction noop() {}\n\nconst MAX_HEADER_PAIRS = 2000; // From node\nconst MAX_HEADER_SIZE = 16 * 1024; // From node (its default value)\n\nconst HPARSER_NAME = 0;\nconst HPARSER_PRE_OWS = 1;\nconst HPARSER_VALUE = 2;\nclass HeaderParser {\n constructor(cb) {\n this.header = Object.create(null);\n this.pairCount = 0;\n this.byteCount = 0;\n this.state = HPARSER_NAME;\n this.name = '';\n this.value = '';\n this.crlf = 0;\n this.cb = cb;\n }\n\n reset() {\n this.header = Object.create(null);\n this.pairCount = 0;\n this.byteCount = 0;\n this.state = HPARSER_NAME;\n this.name = '';\n this.value = '';\n this.crlf = 0;\n }\n\n push(chunk, pos, end) {\n let start = pos;\n while (pos < end) {\n switch (this.state) {\n case HPARSER_NAME: {\n let done = false;\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (TOKEN[code] !== 1) {\n if (code !== 58/* ':' */)\n return -1;\n this.name += chunk.latin1Slice(start, pos);\n if (this.name.length === 0)\n return -1;\n ++pos;\n done = true;\n this.state = HPARSER_PRE_OWS;\n break;\n }\n }\n if (!done) {\n this.name += chunk.latin1Slice(start, pos);\n break;\n }\n // FALLTHROUGH\n }\n case HPARSER_PRE_OWS: {\n // Skip optional whitespace\n let done = false;\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */) {\n start = pos;\n done = true;\n this.state = HPARSER_VALUE;\n break;\n }\n }\n if (!done)\n break;\n // FALLTHROUGH\n }\n case HPARSER_VALUE:\n switch (this.crlf) {\n case 0: // Nothing yet\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (FIELD_VCHAR[code] !== 1) {\n if (code !== 13/* '\\r' */)\n return -1;\n ++this.crlf;\n break;\n }\n }\n this.value += chunk.latin1Slice(start, pos++);\n break;\n case 1: // Received CR\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n if (chunk[pos++] !== 10/* '\\n' */)\n return -1;\n ++this.crlf;\n break;\n case 2: { // Received CR LF\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (code === 32/* ' ' */ || code === 9/* '\\t' */) {\n // Folded value\n start = pos;\n this.crlf = 0;\n } else {\n if (++this.pairCount < MAX_HEADER_PAIRS) {\n this.name = this.name.toLowerCase();\n if (this.header[this.name] === undefined)\n this.header[this.name] = [this.value];\n else\n this.header[this.name].push(this.value);\n }\n if (code === 13/* '\\r' */) {\n ++this.crlf;\n ++pos;\n } else {\n // Assume start of next header field name\n start = pos;\n this.crlf = 0;\n this.state = HPARSER_NAME;\n this.name = '';\n this.value = '';\n }\n }\n break;\n }\n case 3: { // Received CR LF CR\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n if (chunk[pos++] !== 10/* '\\n' */)\n return -1;\n // End of header\n const header = this.header;\n this.reset();\n this.cb(header);\n return pos;\n }\n }\n break;\n }\n }\n\n return pos;\n }\n}\n\nclass FileStream extends Readable {\n constructor(opts, owner) {\n super(opts);\n this.truncated = false;\n this._readcb = null;\n this.once('end', () => {\n // We need to make sure that we call any outstanding _writecb() that is\n // associated with this file so that processing of the rest of the form\n // can continue. This may not happen if the file stream ends right after\n // backpressure kicks in, so we force it here.\n this._read();\n if (--owner._fileEndsLeft === 0 && owner._finalcb) {\n const cb = owner._finalcb;\n owner._finalcb = null;\n // Make sure other 'end' event handlers get a chance to be executed\n // before busboy's 'finish' event is emitted\n process.nextTick(cb);\n }\n });\n }\n _read(n) {\n const cb = this._readcb;\n if (cb) {\n this._readcb = null;\n cb();\n }\n }\n}\n\nconst ignoreData = {\n push: (chunk, pos) => {},\n destroy: () => {},\n};\n\nfunction callAndUnsetCb(self, err) {\n const cb = self._writecb;\n self._writecb = null;\n if (err)\n self.destroy(err);\n else if (cb)\n cb();\n}\n\nfunction nullDecoder(val, hint) {\n return val;\n}\n\nclass Multipart extends Writable {\n constructor(cfg) {\n const streamOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: (typeof cfg.highWaterMark === 'number'\n ? cfg.highWaterMark\n : undefined),\n };\n super(streamOpts);\n\n if (!cfg.conType.params || typeof cfg.conType.params.boundary !== 'string')\n throw new Error('Multipart: Boundary not found');\n\n const boundary = cfg.conType.params.boundary;\n const paramDecoder = (typeof cfg.defParamCharset === 'string'\n && cfg.defParamCharset\n ? getDecoder(cfg.defParamCharset)\n : nullDecoder);\n const defCharset = (cfg.defCharset || 'utf8');\n const preservePath = cfg.preservePath;\n const fileOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: (typeof cfg.fileHwm === 'number'\n ? cfg.fileHwm\n : undefined),\n };\n\n const limits = cfg.limits;\n const fieldSizeLimit = (limits && typeof limits.fieldSize === 'number'\n ? limits.fieldSize\n : 1 * 1024 * 1024);\n const fileSizeLimit = (limits && typeof limits.fileSize === 'number'\n ? limits.fileSize\n : Infinity);\n const filesLimit = (limits && typeof limits.files === 'number'\n ? limits.files\n : Infinity);\n const fieldsLimit = (limits && typeof limits.fields === 'number'\n ? limits.fields\n : Infinity);\n const partsLimit = (limits && typeof limits.parts === 'number'\n ? limits.parts\n : Infinity);\n\n let parts = -1; // Account for initial boundary\n let fields = 0;\n let files = 0;\n let skipPart = false;\n\n this._fileEndsLeft = 0;\n this._fileStream = undefined;\n this._complete = false;\n let fileSize = 0;\n\n let field;\n let fieldSize = 0;\n let partCharset;\n let partEncoding;\n let partType;\n let partName;\n let partTruncated = false;\n\n let hitFilesLimit = false;\n let hitFieldsLimit = false;\n\n this._hparser = null;\n const hparser = new HeaderParser((header) => {\n this._hparser = null;\n skipPart = false;\n\n partType = 'text/plain';\n partCharset = defCharset;\n partEncoding = '7bit';\n partName = undefined;\n partTruncated = false;\n\n let filename;\n if (!header['content-disposition']) {\n skipPart = true;\n return;\n }\n\n const disp = parseDisposition(header['content-disposition'][0],\n paramDecoder);\n if (!disp || disp.type !== 'form-data') {\n skipPart = true;\n return;\n }\n\n if (disp.params) {\n if (disp.params.name)\n partName = disp.params.name;\n\n if (disp.params['filename*'])\n filename = disp.params['filename*'];\n else if (disp.params.filename)\n filename = disp.params.filename;\n\n if (filename !== undefined && !preservePath)\n filename = basename(filename);\n }\n\n if (header['content-type']) {\n const conType = parseContentType(header['content-type'][0]);\n if (conType) {\n partType = `${conType.type}/${conType.subtype}`;\n if (conType.params && typeof conType.params.charset === 'string')\n partCharset = conType.params.charset.toLowerCase();\n }\n }\n\n if (header['content-transfer-encoding'])\n partEncoding = header['content-transfer-encoding'][0].toLowerCase();\n\n if (partType === 'application/octet-stream' || filename !== undefined) {\n // File\n\n if (files === filesLimit) {\n if (!hitFilesLimit) {\n hitFilesLimit = true;\n this.emit('filesLimit');\n }\n skipPart = true;\n return;\n }\n ++files;\n\n if (this.listenerCount('file') === 0) {\n skipPart = true;\n return;\n }\n\n fileSize = 0;\n this._fileStream = new FileStream(fileOpts, this);\n ++this._fileEndsLeft;\n this.emit(\n 'file',\n partName,\n this._fileStream,\n { filename,\n encoding: partEncoding,\n mimeType: partType }\n );\n } else {\n // Non-file\n\n if (fields === fieldsLimit) {\n if (!hitFieldsLimit) {\n hitFieldsLimit = true;\n this.emit('fieldsLimit');\n }\n skipPart = true;\n return;\n }\n ++fields;\n\n if (this.listenerCount('field') === 0) {\n skipPart = true;\n return;\n }\n\n field = [];\n fieldSize = 0;\n }\n });\n\n let matchPostBoundary = 0;\n const ssCb = (isMatch, data, start, end, isDataSafe) => {\nretrydata:\n while (data) {\n if (this._hparser !== null) {\n const ret = this._hparser.push(data, start, end);\n if (ret === -1) {\n this._hparser = null;\n hparser.reset();\n this.emit('error', new Error('Malformed part header'));\n break;\n }\n start = ret;\n }\n\n if (start === end)\n break;\n\n if (matchPostBoundary !== 0) {\n if (matchPostBoundary === 1) {\n switch (data[start]) {\n case 45: // '-'\n // Try matching '--' after boundary\n matchPostBoundary = 2;\n ++start;\n break;\n case 13: // '\\r'\n // Try matching CR LF before header\n matchPostBoundary = 3;\n ++start;\n break;\n default:\n matchPostBoundary = 0;\n }\n if (start === end)\n return;\n }\n\n if (matchPostBoundary === 2) {\n matchPostBoundary = 0;\n if (data[start] === 45/* '-' */) {\n // End of multipart data\n this._complete = true;\n this._bparser = ignoreData;\n return;\n }\n // We saw something other than '-', so put the dash we consumed\n // \"back\"\n const writecb = this._writecb;\n this._writecb = noop;\n ssCb(false, BUF_DASH, 0, 1, false);\n this._writecb = writecb;\n } else if (matchPostBoundary === 3) {\n matchPostBoundary = 0;\n if (data[start] === 10/* '\\n' */) {\n ++start;\n if (parts >= partsLimit)\n break;\n // Prepare the header parser\n this._hparser = hparser;\n if (start === end)\n break;\n // Process the remaining data as a header\n continue retrydata;\n } else {\n // We saw something other than LF, so put the CR we consumed\n // \"back\"\n const writecb = this._writecb;\n this._writecb = noop;\n ssCb(false, BUF_CR, 0, 1, false);\n this._writecb = writecb;\n }\n }\n }\n\n if (!skipPart) {\n if (this._fileStream) {\n let chunk;\n const actualLen = Math.min(end - start, fileSizeLimit - fileSize);\n if (!isDataSafe) {\n chunk = Buffer.allocUnsafe(actualLen);\n data.copy(chunk, 0, start, start + actualLen);\n } else {\n chunk = data.slice(start, start + actualLen);\n }\n\n fileSize += chunk.length;\n if (fileSize === fileSizeLimit) {\n if (chunk.length > 0)\n this._fileStream.push(chunk);\n this._fileStream.emit('limit');\n this._fileStream.truncated = true;\n skipPart = true;\n } else if (!this._fileStream.push(chunk)) {\n if (this._writecb)\n this._fileStream._readcb = this._writecb;\n this._writecb = null;\n }\n } else if (field !== undefined) {\n let chunk;\n const actualLen = Math.min(\n end - start,\n fieldSizeLimit - fieldSize\n );\n if (!isDataSafe) {\n chunk = Buffer.allocUnsafe(actualLen);\n data.copy(chunk, 0, start, start + actualLen);\n } else {\n chunk = data.slice(start, start + actualLen);\n }\n\n fieldSize += actualLen;\n field.push(chunk);\n if (fieldSize === fieldSizeLimit) {\n skipPart = true;\n partTruncated = true;\n }\n }\n }\n\n break;\n }\n\n if (isMatch) {\n matchPostBoundary = 1;\n\n if (this._fileStream) {\n // End the active file stream if the previous part was a file\n this._fileStream.push(null);\n this._fileStream = null;\n } else if (field !== undefined) {\n let data;\n switch (field.length) {\n case 0:\n data = '';\n break;\n case 1:\n data = convertToUTF8(field[0], partCharset, 0);\n break;\n default:\n data = convertToUTF8(\n Buffer.concat(field, fieldSize),\n partCharset,\n 0\n );\n }\n field = undefined;\n fieldSize = 0;\n this.emit(\n 'field',\n partName,\n data,\n { nameTruncated: false,\n valueTruncated: partTruncated,\n encoding: partEncoding,\n mimeType: partType }\n );\n }\n\n if (++parts === partsLimit)\n this.emit('partsLimit');\n }\n };\n this._bparser = new StreamSearch(`\\r\\n--${boundary}`, ssCb);\n\n this._writecb = null;\n this._finalcb = null;\n\n // Just in case there is no preamble\n this.write(BUF_CRLF);\n }\n\n static detect(conType) {\n return (conType.type === 'multipart' && conType.subtype === 'form-data');\n }\n\n _write(chunk, enc, cb) {\n this._writecb = cb;\n this._bparser.push(chunk, 0);\n if (this._writecb)\n callAndUnsetCb(this);\n }\n\n _destroy(err, cb) {\n this._hparser = null;\n this._bparser = ignoreData;\n if (!err)\n err = checkEndState(this);\n const fileStream = this._fileStream;\n if (fileStream) {\n this._fileStream = null;\n fileStream.destroy(err);\n }\n cb(err);\n }\n\n _final(cb) {\n this._bparser.destroy();\n if (!this._complete)\n return cb(new Error('Unexpected end of form'));\n if (this._fileEndsLeft)\n this._finalcb = finalcb.bind(null, this, cb);\n else\n finalcb(this, cb);\n }\n}\n\nfunction finalcb(self, cb, err) {\n if (err)\n return cb(err);\n err = checkEndState(self);\n cb(err);\n}\n\nfunction checkEndState(self) {\n if (self._hparser)\n return new Error('Malformed part header');\n const fileStream = self._fileStream;\n if (fileStream) {\n self._fileStream = null;\n fileStream.destroy(new Error('Unexpected end of file'));\n }\n if (!self._complete)\n return new Error('Unexpected end of form');\n}\n\nconst TOKEN = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n];\n\nconst FIELD_VCHAR = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n];\n\nmodule.exports = Multipart;\n", "'use strict';\n\nconst { Writable } = require('stream');\n\nconst { getDecoder } = require('../utils.js');\n\nclass URLEncoded extends Writable {\n constructor(cfg) {\n const streamOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: (typeof cfg.highWaterMark === 'number'\n ? cfg.highWaterMark\n : undefined),\n };\n super(streamOpts);\n\n let charset = (cfg.defCharset || 'utf8');\n if (cfg.conType.params && typeof cfg.conType.params.charset === 'string')\n charset = cfg.conType.params.charset;\n\n this.charset = charset;\n\n const limits = cfg.limits;\n this.fieldSizeLimit = (limits && typeof limits.fieldSize === 'number'\n ? limits.fieldSize\n : 1 * 1024 * 1024);\n this.fieldsLimit = (limits && typeof limits.fields === 'number'\n ? limits.fields\n : Infinity);\n this.fieldNameSizeLimit = (\n limits && typeof limits.fieldNameSize === 'number'\n ? limits.fieldNameSize\n : 100\n );\n\n this._inKey = true;\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n this._fields = 0;\n this._key = '';\n this._val = '';\n this._byte = -2;\n this._lastPos = 0;\n this._encode = 0;\n this._decoder = getDecoder(charset);\n }\n\n static detect(conType) {\n return (conType.type === 'application'\n && conType.subtype === 'x-www-form-urlencoded');\n }\n\n _write(chunk, enc, cb) {\n if (this._fields >= this.fieldsLimit)\n return cb();\n\n let i = 0;\n const len = chunk.length;\n this._lastPos = 0;\n\n // Check if we last ended mid-percent-encoded byte\n if (this._byte !== -2) {\n i = readPctEnc(this, chunk, i, len);\n if (i === -1)\n return cb(new Error('Malformed urlencoded form'));\n if (i >= len)\n return cb();\n if (this._inKey)\n ++this._bytesKey;\n else\n ++this._bytesVal;\n }\n\nmain:\n while (i < len) {\n if (this._inKey) {\n // Parsing key\n\n i = skipKeyBytes(this, chunk, i, len);\n\n while (i < len) {\n switch (chunk[i]) {\n case 61: // '='\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._key = this._decoder(this._key, this._encode);\n this._encode = 0;\n this._inKey = false;\n continue main;\n case 38: // '&'\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._key = this._decoder(this._key, this._encode);\n this._encode = 0;\n if (this._bytesKey > 0) {\n this.emit(\n 'field',\n this._key,\n '',\n { nameTruncated: this._keyTrunc,\n valueTruncated: false,\n encoding: this.charset,\n mimeType: 'text/plain' }\n );\n }\n this._key = '';\n this._val = '';\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n if (++this._fields >= this.fieldsLimit) {\n this.emit('fieldsLimit');\n return cb();\n }\n continue;\n case 43: // '+'\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._key += ' ';\n this._lastPos = i + 1;\n break;\n case 37: // '%'\n if (this._encode === 0)\n this._encode = 1;\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = i + 1;\n this._byte = -1;\n i = readPctEnc(this, chunk, i + 1, len);\n if (i === -1)\n return cb(new Error('Malformed urlencoded form'));\n if (i >= len)\n return cb();\n ++this._bytesKey;\n i = skipKeyBytes(this, chunk, i, len);\n continue;\n }\n ++i;\n ++this._bytesKey;\n i = skipKeyBytes(this, chunk, i, len);\n }\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n } else {\n // Parsing value\n\n i = skipValBytes(this, chunk, i, len);\n\n while (i < len) {\n switch (chunk[i]) {\n case 38: // '&'\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._inKey = true;\n this._val = this._decoder(this._val, this._encode);\n this._encode = 0;\n if (this._bytesKey > 0 || this._bytesVal > 0) {\n this.emit(\n 'field',\n this._key,\n this._val,\n { nameTruncated: this._keyTrunc,\n valueTruncated: this._valTrunc,\n encoding: this.charset,\n mimeType: 'text/plain' }\n );\n }\n this._key = '';\n this._val = '';\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n if (++this._fields >= this.fieldsLimit) {\n this.emit('fieldsLimit');\n return cb();\n }\n continue main;\n case 43: // '+'\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._val += ' ';\n this._lastPos = i + 1;\n break;\n case 37: // '%'\n if (this._encode === 0)\n this._encode = 1;\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = i + 1;\n this._byte = -1;\n i = readPctEnc(this, chunk, i + 1, len);\n if (i === -1)\n return cb(new Error('Malformed urlencoded form'));\n if (i >= len)\n return cb();\n ++this._bytesVal;\n i = skipValBytes(this, chunk, i, len);\n continue;\n }\n ++i;\n ++this._bytesVal;\n i = skipValBytes(this, chunk, i, len);\n }\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n }\n }\n\n cb();\n }\n\n _final(cb) {\n if (this._byte !== -2)\n return cb(new Error('Malformed urlencoded form'));\n if (!this._inKey || this._bytesKey > 0 || this._bytesVal > 0) {\n if (this._inKey)\n this._key = this._decoder(this._key, this._encode);\n else\n this._val = this._decoder(this._val, this._encode);\n this.emit(\n 'field',\n this._key,\n this._val,\n { nameTruncated: this._keyTrunc,\n valueTruncated: this._valTrunc,\n encoding: this.charset,\n mimeType: 'text/plain' }\n );\n }\n cb();\n }\n}\n\nfunction readPctEnc(self, chunk, pos, len) {\n if (pos >= len)\n return len;\n\n if (self._byte === -1) {\n // We saw a '%' but no hex characters yet\n const hexUpper = HEX_VALUES[chunk[pos++]];\n if (hexUpper === -1)\n return -1;\n\n if (hexUpper >= 8)\n self._encode = 2; // Indicate high bits detected\n\n if (pos < len) {\n // Both hex characters are in this chunk\n const hexLower = HEX_VALUES[chunk[pos++]];\n if (hexLower === -1)\n return -1;\n\n if (self._inKey)\n self._key += String.fromCharCode((hexUpper << 4) + hexLower);\n else\n self._val += String.fromCharCode((hexUpper << 4) + hexLower);\n\n self._byte = -2;\n self._lastPos = pos;\n } else {\n // Only one hex character was available in this chunk\n self._byte = hexUpper;\n }\n } else {\n // We saw only one hex character so far\n const hexLower = HEX_VALUES[chunk[pos++]];\n if (hexLower === -1)\n return -1;\n\n if (self._inKey)\n self._key += String.fromCharCode((self._byte << 4) + hexLower);\n else\n self._val += String.fromCharCode((self._byte << 4) + hexLower);\n\n self._byte = -2;\n self._lastPos = pos;\n }\n\n return pos;\n}\n\nfunction skipKeyBytes(self, chunk, pos, len) {\n // Skip bytes if we've truncated\n if (self._bytesKey > self.fieldNameSizeLimit) {\n if (!self._keyTrunc) {\n if (self._lastPos < pos)\n self._key += chunk.latin1Slice(self._lastPos, pos - 1);\n }\n self._keyTrunc = true;\n for (; pos < len; ++pos) {\n const code = chunk[pos];\n if (code === 61/* '=' */ || code === 38/* '&' */)\n break;\n ++self._bytesKey;\n }\n self._lastPos = pos;\n }\n\n return pos;\n}\n\nfunction skipValBytes(self, chunk, pos, len) {\n // Skip bytes if we've truncated\n if (self._bytesVal > self.fieldSizeLimit) {\n if (!self._valTrunc) {\n if (self._lastPos < pos)\n self._val += chunk.latin1Slice(self._lastPos, pos - 1);\n }\n self._valTrunc = true;\n for (; pos < len; ++pos) {\n if (chunk[pos] === 38/* '&' */)\n break;\n ++self._bytesVal;\n }\n self._lastPos = pos;\n }\n\n return pos;\n}\n\n/* eslint-disable no-multi-spaces */\nconst HEX_VALUES = [\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n];\n/* eslint-enable no-multi-spaces */\n\nmodule.exports = URLEncoded;\n", "'use strict';\n\nconst { parseContentType } = require('./utils.js');\n\nfunction getInstance(cfg) {\n const headers = cfg.headers;\n const conType = parseContentType(headers['content-type']);\n if (!conType)\n throw new Error('Malformed content type');\n\n for (const type of TYPES) {\n const matched = type.detect(conType);\n if (!matched)\n continue;\n\n const instanceCfg = {\n limits: cfg.limits,\n headers,\n conType,\n highWaterMark: undefined,\n fileHwm: undefined,\n defCharset: undefined,\n defParamCharset: undefined,\n preservePath: false,\n };\n if (cfg.highWaterMark)\n instanceCfg.highWaterMark = cfg.highWaterMark;\n if (cfg.fileHwm)\n instanceCfg.fileHwm = cfg.fileHwm;\n instanceCfg.defCharset = cfg.defCharset;\n instanceCfg.defParamCharset = cfg.defParamCharset;\n instanceCfg.preservePath = cfg.preservePath;\n return new type(instanceCfg);\n }\n\n throw new Error(`Unsupported content type: ${headers['content-type']}`);\n}\n\n// Note: types are explicitly listed here for easier bundling\n// See: https://github.com/mscdex/busboy/issues/121\nconst TYPES = [\n require('./types/multipart'),\n require('./types/urlencoded'),\n].filter(function(typemod) { return typeof typemod.detect === 'function'; });\n\nmodule.exports = (cfg) => {\n if (typeof cfg !== 'object' || cfg === null)\n cfg = {};\n\n if (typeof cfg.headers !== 'object'\n || cfg.headers === null\n || typeof cfg.headers['content-type'] !== 'string') {\n throw new Error('Missing Content-Type');\n }\n\n return getInstance(cfg);\n};\n", "'use strict'\n\nconst { MessageChannel, receiveMessageOnPort } = require('worker_threads')\n\nconst corsSafeListedMethods = ['GET', 'HEAD', 'POST']\n\nconst nullBodyStatus = [101, 204, 205, 304]\n\nconst redirectStatus = [301, 302, 303, 307, 308]\n\n// https://fetch.spec.whatwg.org/#block-bad-port\nconst badPorts = [\n '1', '7', '9', '11', '13', '15', '17', '19', '20', '21', '22', '23', '25', '37', '42', '43', '53', '69', '77', '79',\n '87', '95', '101', '102', '103', '104', '109', '110', '111', '113', '115', '117', '119', '123', '135', '137',\n '139', '143', '161', '179', '389', '427', '465', '512', '513', '514', '515', '526', '530', '531', '532',\n '540', '548', '554', '556', '563', '587', '601', '636', '989', '990', '993', '995', '1719', '1720', '1723',\n '2049', '3659', '4045', '5060', '5061', '6000', '6566', '6665', '6666', '6667', '6668', '6669', '6697',\n '10080'\n]\n\n// https://w3c.github.io/webappsec-referrer-policy/#referrer-policies\nconst referrerPolicy = [\n '',\n 'no-referrer',\n 'no-referrer-when-downgrade',\n 'same-origin',\n 'origin',\n 'strict-origin',\n 'origin-when-cross-origin',\n 'strict-origin-when-cross-origin',\n 'unsafe-url'\n]\n\nconst requestRedirect = ['follow', 'manual', 'error']\n\nconst safeMethods = ['GET', 'HEAD', 'OPTIONS', 'TRACE']\n\nconst requestMode = ['navigate', 'same-origin', 'no-cors', 'cors']\n\nconst requestCredentials = ['omit', 'same-origin', 'include']\n\nconst requestCache = [\n 'default',\n 'no-store',\n 'reload',\n 'no-cache',\n 'force-cache',\n 'only-if-cached'\n]\n\n// https://fetch.spec.whatwg.org/#request-body-header-name\nconst requestBodyHeader = [\n 'content-encoding',\n 'content-language',\n 'content-location',\n 'content-type',\n // See https://github.com/nodejs/undici/issues/2021\n // 'Content-Length' is a forbidden header name, which is typically\n // removed in the Headers implementation. However, undici doesn't\n // filter out headers, so we add it here.\n 'content-length'\n]\n\n// https://fetch.spec.whatwg.org/#enumdef-requestduplex\nconst requestDuplex = [\n 'half'\n]\n\n// http://fetch.spec.whatwg.org/#forbidden-method\nconst forbiddenMethods = ['CONNECT', 'TRACE', 'TRACK']\n\nconst subresource = [\n 'audio',\n 'audioworklet',\n 'font',\n 'image',\n 'manifest',\n 'paintworklet',\n 'script',\n 'style',\n 'track',\n 'video',\n 'xslt',\n ''\n]\n\n/** @type {globalThis['DOMException']} */\nconst DOMException = globalThis.DOMException ?? (() => {\n // DOMException was only made a global in Node v17.0.0,\n // but fetch supports >= v16.8.\n try {\n atob('~')\n } catch (err) {\n return Object.getPrototypeOf(err).constructor\n }\n})()\n\nlet channel\n\n/** @type {globalThis['structuredClone']} */\nconst structuredClone =\n globalThis.structuredClone ??\n // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js\n // structuredClone was added in v17.0.0, but fetch supports v16.8\n function structuredClone (value, options = undefined) {\n if (arguments.length === 0) {\n throw new TypeError('missing argument')\n }\n\n if (!channel) {\n channel = new MessageChannel()\n }\n channel.port1.unref()\n channel.port2.unref()\n channel.port1.postMessage(value, options?.transfer)\n return receiveMessageOnPort(channel.port2).message\n }\n\nmodule.exports = {\n DOMException,\n structuredClone,\n subresource,\n forbiddenMethods,\n requestBodyHeader,\n referrerPolicy,\n requestRedirect,\n requestMode,\n requestCredentials,\n requestCache,\n redirectStatus,\n corsSafeListedMethods,\n nullBodyStatus,\n safeMethods,\n badPorts,\n requestDuplex\n}\n", "'use strict'\n\n// In case of breaking changes, increase the version\n// number to avoid conflicts.\nconst globalOrigin = Symbol.for('undici.globalOrigin.1')\n\nfunction getGlobalOrigin () {\n return globalThis[globalOrigin]\n}\n\nfunction setGlobalOrigin (newOrigin) {\n if (\n newOrigin !== undefined &&\n typeof newOrigin !== 'string' &&\n !(newOrigin instanceof URL)\n ) {\n throw new Error('Invalid base url')\n }\n\n if (newOrigin === undefined) {\n Object.defineProperty(globalThis, globalOrigin, {\n value: undefined,\n writable: true,\n enumerable: false,\n configurable: false\n })\n\n return\n }\n\n const parsedURL = new URL(newOrigin)\n\n if (parsedURL.protocol !== 'http:' && parsedURL.protocol !== 'https:') {\n throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`)\n }\n\n Object.defineProperty(globalThis, globalOrigin, {\n value: parsedURL,\n writable: true,\n enumerable: false,\n configurable: false\n })\n}\n\nmodule.exports = {\n getGlobalOrigin,\n setGlobalOrigin\n}\n", "'use strict'\n\nconst { redirectStatus, badPorts, referrerPolicy: referrerPolicyTokens } = require('./constants')\nconst { getGlobalOrigin } = require('./global')\nconst { performance } = require('perf_hooks')\nconst { isBlobLike, toUSVString, ReadableStreamFrom } = require('../core/util')\nconst assert = require('assert')\nconst { isUint8Array } = require('util/types')\n\n// https://nodejs.org/api/crypto.html#determining-if-crypto-support-is-unavailable\n/** @type {import('crypto')|undefined} */\nlet crypto\n\ntry {\n crypto = require('crypto')\n} catch {\n\n}\n\nfunction responseURL (response) {\n // https://fetch.spec.whatwg.org/#responses\n // A response has an associated URL. It is a pointer to the last URL\n // in response\u2019s URL list and null if response\u2019s URL list is empty.\n const urlList = response.urlList\n const length = urlList.length\n return length === 0 ? null : urlList[length - 1].toString()\n}\n\n// https://fetch.spec.whatwg.org/#concept-response-location-url\nfunction responseLocationURL (response, requestFragment) {\n // 1. If response\u2019s status is not a redirect status, then return null.\n if (!redirectStatus.includes(response.status)) {\n return null\n }\n\n // 2. Let location be the result of extracting header list values given\n // `Location` and response\u2019s header list.\n let location = response.headersList.get('location')\n\n // 3. If location is a header value, then set location to the result of\n // parsing location with response\u2019s URL.\n if (location !== null && isValidHeaderValue(location)) {\n location = new URL(location, responseURL(response))\n }\n\n // 4. If location is a URL whose fragment is null, then set location\u2019s\n // fragment to requestFragment.\n if (location && !location.hash) {\n location.hash = requestFragment\n }\n\n // 5. Return location.\n return location\n}\n\n/** @returns {URL} */\nfunction requestCurrentURL (request) {\n return request.urlList[request.urlList.length - 1]\n}\n\nfunction requestBadPort (request) {\n // 1. Let url be request\u2019s current URL.\n const url = requestCurrentURL(request)\n\n // 2. If url\u2019s scheme is an HTTP(S) scheme and url\u2019s port is a bad port,\n // then return blocked.\n if (urlIsHttpHttpsScheme(url) && badPorts.includes(url.port)) {\n return 'blocked'\n }\n\n // 3. Return allowed.\n return 'allowed'\n}\n\nfunction isErrorLike (object) {\n return object instanceof Error || (\n object?.constructor?.name === 'Error' ||\n object?.constructor?.name === 'DOMException'\n )\n}\n\n// Check whether |statusText| is a ByteString and\n// matches the Reason-Phrase token production.\n// RFC 2616: https://tools.ietf.org/html/rfc2616\n// RFC 7230: https://tools.ietf.org/html/rfc7230\n// \"reason-phrase = *( HTAB / SP / VCHAR / obs-text )\"\n// https://github.com/chromium/chromium/blob/94.0.4604.1/third_party/blink/renderer/core/fetch/response.cc#L116\nfunction isValidReasonPhrase (statusText) {\n for (let i = 0; i < statusText.length; ++i) {\n const c = statusText.charCodeAt(i)\n if (\n !(\n (\n c === 0x09 || // HTAB\n (c >= 0x20 && c <= 0x7e) || // SP / VCHAR\n (c >= 0x80 && c <= 0xff)\n ) // obs-text\n )\n ) {\n return false\n }\n }\n return true\n}\n\nfunction isTokenChar (c) {\n return !(\n c >= 0x7f ||\n c <= 0x20 ||\n c === '(' ||\n c === ')' ||\n c === '<' ||\n c === '>' ||\n c === '@' ||\n c === ',' ||\n c === ';' ||\n c === ':' ||\n c === '\\\\' ||\n c === '\"' ||\n c === '/' ||\n c === '[' ||\n c === ']' ||\n c === '?' ||\n c === '=' ||\n c === '{' ||\n c === '}'\n )\n}\n\n// See RFC 7230, Section 3.2.6.\n// https://github.com/chromium/chromium/blob/d7da0240cae77824d1eda25745c4022757499131/third_party/blink/renderer/platform/network/http_parsers.cc#L321\nfunction isValidHTTPToken (characters) {\n if (!characters || typeof characters !== 'string') {\n return false\n }\n for (let i = 0; i < characters.length; ++i) {\n const c = characters.charCodeAt(i)\n if (c > 0x7f || !isTokenChar(c)) {\n return false\n }\n }\n return true\n}\n\n// https://fetch.spec.whatwg.org/#header-name\n// https://github.com/chromium/chromium/blob/b3d37e6f94f87d59e44662d6078f6a12de845d17/net/http/http_util.cc#L342\nfunction isValidHeaderName (potentialValue) {\n if (potentialValue.length === 0) {\n return false\n }\n\n return isValidHTTPToken(potentialValue)\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#header-value\n * @param {string} potentialValue\n */\nfunction isValidHeaderValue (potentialValue) {\n // - Has no leading or trailing HTTP tab or space bytes.\n // - Contains no 0x00 (NUL) or HTTP newline bytes.\n if (\n potentialValue.startsWith('\\t') ||\n potentialValue.startsWith(' ') ||\n potentialValue.endsWith('\\t') ||\n potentialValue.endsWith(' ')\n ) {\n return false\n }\n\n if (\n potentialValue.includes('\\0') ||\n potentialValue.includes('\\r') ||\n potentialValue.includes('\\n')\n ) {\n return false\n }\n\n return true\n}\n\n// https://w3c.github.io/webappsec-referrer-policy/#set-requests-referrer-policy-on-redirect\nfunction setRequestReferrerPolicyOnRedirect (request, actualResponse) {\n // Given a request request and a response actualResponse, this algorithm\n // updates request\u2019s referrer policy according to the Referrer-Policy\n // header (if any) in actualResponse.\n\n // 1. Let policy be the result of executing \u00A7 8.1 Parse a referrer policy\n // from a Referrer-Policy header on actualResponse.\n\n // 8.1 Parse a referrer policy from a Referrer-Policy header\n // 1. Let policy-tokens be the result of extracting header list values given `Referrer-Policy` and response\u2019s header list.\n const { headersList } = actualResponse\n // 2. Let policy be the empty string.\n // 3. For each token in policy-tokens, if token is a referrer policy and token is not the empty string, then set policy to token.\n // 4. Return policy.\n const policyHeader = (headersList.get('referrer-policy') ?? '').split(',')\n\n // Note: As the referrer-policy can contain multiple policies\n // separated by comma, we need to loop through all of them\n // and pick the first valid one.\n // Ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy#specify_a_fallback_policy\n let policy = ''\n if (policyHeader.length > 0) {\n // The right-most policy takes precedence.\n // The left-most policy is the fallback.\n for (let i = policyHeader.length; i !== 0; i--) {\n const token = policyHeader[i - 1].trim()\n if (referrerPolicyTokens.includes(token)) {\n policy = token\n break\n }\n }\n }\n\n // 2. If policy is not the empty string, then set request\u2019s referrer policy to policy.\n if (policy !== '') {\n request.referrerPolicy = policy\n }\n}\n\n// https://fetch.spec.whatwg.org/#cross-origin-resource-policy-check\nfunction crossOriginResourcePolicyCheck () {\n // TODO\n return 'allowed'\n}\n\n// https://fetch.spec.whatwg.org/#concept-cors-check\nfunction corsCheck () {\n // TODO\n return 'success'\n}\n\n// https://fetch.spec.whatwg.org/#concept-tao-check\nfunction TAOCheck () {\n // TODO\n return 'success'\n}\n\nfunction appendFetchMetadata (httpRequest) {\n // https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-dest-header\n // TODO\n\n // https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-mode-header\n\n // 1. Assert: r\u2019s url is a potentially trustworthy URL.\n // TODO\n\n // 2. Let header be a Structured Header whose value is a token.\n let header = null\n\n // 3. Set header\u2019s value to r\u2019s mode.\n header = httpRequest.mode\n\n // 4. Set a structured field value `Sec-Fetch-Mode`/header in r\u2019s header list.\n httpRequest.headersList.set('sec-fetch-mode', header)\n\n // https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-site-header\n // TODO\n\n // https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-user-header\n // TODO\n}\n\n// https://fetch.spec.whatwg.org/#append-a-request-origin-header\nfunction appendRequestOriginHeader (request) {\n // 1. Let serializedOrigin be the result of byte-serializing a request origin with request.\n let serializedOrigin = request.origin\n\n // 2. If request\u2019s response tainting is \"cors\" or request\u2019s mode is \"websocket\", then append (`Origin`, serializedOrigin) to request\u2019s header list.\n if (request.responseTainting === 'cors' || request.mode === 'websocket') {\n if (serializedOrigin) {\n request.headersList.append('origin', serializedOrigin)\n }\n\n // 3. Otherwise, if request\u2019s method is neither `GET` nor `HEAD`, then:\n } else if (request.method !== 'GET' && request.method !== 'HEAD') {\n // 1. Switch on request\u2019s referrer policy:\n switch (request.referrerPolicy) {\n case 'no-referrer':\n // Set serializedOrigin to `null`.\n serializedOrigin = null\n break\n case 'no-referrer-when-downgrade':\n case 'strict-origin':\n case 'strict-origin-when-cross-origin':\n // If request\u2019s origin is a tuple origin, its scheme is \"https\", and request\u2019s current URL\u2019s scheme is not \"https\", then set serializedOrigin to `null`.\n if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) {\n serializedOrigin = null\n }\n break\n case 'same-origin':\n // If request\u2019s origin is not same origin with request\u2019s current URL\u2019s origin, then set serializedOrigin to `null`.\n if (!sameOrigin(request, requestCurrentURL(request))) {\n serializedOrigin = null\n }\n break\n default:\n // Do nothing.\n }\n\n if (serializedOrigin) {\n // 2. Append (`Origin`, serializedOrigin) to request\u2019s header list.\n request.headersList.append('origin', serializedOrigin)\n }\n }\n}\n\nfunction coarsenedSharedCurrentTime (crossOriginIsolatedCapability) {\n // TODO\n return performance.now()\n}\n\n// https://fetch.spec.whatwg.org/#create-an-opaque-timing-info\nfunction createOpaqueTimingInfo (timingInfo) {\n return {\n startTime: timingInfo.startTime ?? 0,\n redirectStartTime: 0,\n redirectEndTime: 0,\n postRedirectStartTime: timingInfo.startTime ?? 0,\n finalServiceWorkerStartTime: 0,\n finalNetworkResponseStartTime: 0,\n finalNetworkRequestStartTime: 0,\n endTime: 0,\n encodedBodySize: 0,\n decodedBodySize: 0,\n finalConnectionTimingInfo: null\n }\n}\n\n// https://html.spec.whatwg.org/multipage/origin.html#policy-container\nfunction makePolicyContainer () {\n // Note: the fetch spec doesn't make use of embedder policy or CSP list\n return {\n referrerPolicy: 'strict-origin-when-cross-origin'\n }\n}\n\n// https://html.spec.whatwg.org/multipage/origin.html#clone-a-policy-container\nfunction clonePolicyContainer (policyContainer) {\n return {\n referrerPolicy: policyContainer.referrerPolicy\n }\n}\n\n// https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer\nfunction determineRequestsReferrer (request) {\n // 1. Let policy be request's referrer policy.\n const policy = request.referrerPolicy\n\n // Note: policy cannot (shouldn't) be null or an empty string.\n assert(policy)\n\n // 2. Let environment be request\u2019s client.\n\n let referrerSource = null\n\n // 3. Switch on request\u2019s referrer:\n if (request.referrer === 'client') {\n // Note: node isn't a browser and doesn't implement document/iframes,\n // so we bypass this step and replace it with our own.\n\n const globalOrigin = getGlobalOrigin()\n\n if (!globalOrigin || globalOrigin.origin === 'null') {\n return 'no-referrer'\n }\n\n // note: we need to clone it as it's mutated\n referrerSource = new URL(globalOrigin)\n } else if (request.referrer instanceof URL) {\n // Let referrerSource be request\u2019s referrer.\n referrerSource = request.referrer\n }\n\n // 4. Let request\u2019s referrerURL be the result of stripping referrerSource for\n // use as a referrer.\n let referrerURL = stripURLForReferrer(referrerSource)\n\n // 5. Let referrerOrigin be the result of stripping referrerSource for use as\n // a referrer, with the origin-only flag set to true.\n const referrerOrigin = stripURLForReferrer(referrerSource, true)\n\n // 6. If the result of serializing referrerURL is a string whose length is\n // greater than 4096, set referrerURL to referrerOrigin.\n if (referrerURL.toString().length > 4096) {\n referrerURL = referrerOrigin\n }\n\n const areSameOrigin = sameOrigin(request, referrerURL)\n const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) &&\n !isURLPotentiallyTrustworthy(request.url)\n\n // 8. Execute the switch statements corresponding to the value of policy:\n switch (policy) {\n case 'origin': return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true)\n case 'unsafe-url': return referrerURL\n case 'same-origin':\n return areSameOrigin ? referrerOrigin : 'no-referrer'\n case 'origin-when-cross-origin':\n return areSameOrigin ? referrerURL : referrerOrigin\n case 'strict-origin-when-cross-origin': {\n const currentURL = requestCurrentURL(request)\n\n // 1. If the origin of referrerURL and the origin of request\u2019s current\n // URL are the same, then return referrerURL.\n if (sameOrigin(referrerURL, currentURL)) {\n return referrerURL\n }\n\n // 2. If referrerURL is a potentially trustworthy URL and request\u2019s\n // current URL is not a potentially trustworthy URL, then return no\n // referrer.\n if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {\n return 'no-referrer'\n }\n\n // 3. Return referrerOrigin.\n return referrerOrigin\n }\n case 'strict-origin': // eslint-disable-line\n /**\n * 1. If referrerURL is a potentially trustworthy URL and\n * request\u2019s current URL is not a potentially trustworthy URL,\n * then return no referrer.\n * 2. Return referrerOrigin\n */\n case 'no-referrer-when-downgrade': // eslint-disable-line\n /**\n * 1. If referrerURL is a potentially trustworthy URL and\n * request\u2019s current URL is not a potentially trustworthy URL,\n * then return no referrer.\n * 2. Return referrerOrigin\n */\n\n default: // eslint-disable-line\n return isNonPotentiallyTrustWorthy ? 'no-referrer' : referrerOrigin\n }\n}\n\n/**\n * @see https://w3c.github.io/webappsec-referrer-policy/#strip-url\n * @param {URL} url\n * @param {boolean|undefined} originOnly\n */\nfunction stripURLForReferrer (url, originOnly) {\n // 1. Assert: url is a URL.\n assert(url instanceof URL)\n\n // 2. If url\u2019s scheme is a local scheme, then return no referrer.\n if (url.protocol === 'file:' || url.protocol === 'about:' || url.protocol === 'blank:') {\n return 'no-referrer'\n }\n\n // 3. Set url\u2019s username to the empty string.\n url.username = ''\n\n // 4. Set url\u2019s password to the empty string.\n url.password = ''\n\n // 5. Set url\u2019s fragment to null.\n url.hash = ''\n\n // 6. If the origin-only flag is true, then:\n if (originOnly) {\n // 1. Set url\u2019s path to \u00AB the empty string \u00BB.\n url.pathname = ''\n\n // 2. Set url\u2019s query to null.\n url.search = ''\n }\n\n // 7. Return url.\n return url\n}\n\nfunction isURLPotentiallyTrustworthy (url) {\n if (!(url instanceof URL)) {\n return false\n }\n\n // If child of about, return true\n if (url.href === 'about:blank' || url.href === 'about:srcdoc') {\n return true\n }\n\n // If scheme is data, return true\n if (url.protocol === 'data:') return true\n\n // If file, return true\n if (url.protocol === 'file:') return true\n\n return isOriginPotentiallyTrustworthy(url.origin)\n\n function isOriginPotentiallyTrustworthy (origin) {\n // If origin is explicitly null, return false\n if (origin == null || origin === 'null') return false\n\n const originAsURL = new URL(origin)\n\n // If secure, return true\n if (originAsURL.protocol === 'https:' || originAsURL.protocol === 'wss:') {\n return true\n }\n\n // If localhost or variants, return true\n if (/^127(?:\\.[0-9]+){0,2}\\.[0-9]+$|^\\[(?:0*:)*?:?0*1\\]$/.test(originAsURL.hostname) ||\n (originAsURL.hostname === 'localhost' || originAsURL.hostname.includes('localhost.')) ||\n (originAsURL.hostname.endsWith('.localhost'))) {\n return true\n }\n\n // If any other, return false\n return false\n }\n}\n\n/**\n * @see https://w3c.github.io/webappsec-subresource-integrity/#does-response-match-metadatalist\n * @param {Uint8Array} bytes\n * @param {string} metadataList\n */\nfunction bytesMatch (bytes, metadataList) {\n // If node is not built with OpenSSL support, we cannot check\n // a request's integrity, so allow it by default (the spec will\n // allow requests if an invalid hash is given, as precedence).\n /* istanbul ignore if: only if node is built with --without-ssl */\n if (crypto === undefined) {\n return true\n }\n\n // 1. Let parsedMetadata be the result of parsing metadataList.\n const parsedMetadata = parseMetadata(metadataList)\n\n // 2. If parsedMetadata is no metadata, return true.\n if (parsedMetadata === 'no metadata') {\n return true\n }\n\n // 3. If parsedMetadata is the empty set, return true.\n if (parsedMetadata.length === 0) {\n return true\n }\n\n // 4. Let metadata be the result of getting the strongest\n // metadata from parsedMetadata.\n const list = parsedMetadata.sort((c, d) => d.algo.localeCompare(c.algo))\n // get the strongest algorithm\n const strongest = list[0].algo\n // get all entries that use the strongest algorithm; ignore weaker\n const metadata = list.filter((item) => item.algo === strongest)\n\n // 5. For each item in metadata:\n for (const item of metadata) {\n // 1. Let algorithm be the alg component of item.\n const algorithm = item.algo\n\n // 2. Let expectedValue be the val component of item.\n const expectedValue = item.hash\n\n // 3. Let actualValue be the result of applying algorithm to bytes.\n const actualValue = crypto.createHash(algorithm).update(bytes).digest('base64')\n\n // 4. If actualValue is a case-sensitive match for expectedValue,\n // return true.\n if (actualValue === expectedValue) {\n return true\n }\n }\n\n // 6. Return false.\n return false\n}\n\n// https://w3c.github.io/webappsec-subresource-integrity/#grammardef-hash-with-options\n// https://www.w3.org/TR/CSP2/#source-list-syntax\n// https://www.rfc-editor.org/rfc/rfc5234#appendix-B.1\nconst parseHashWithOptions = /((?<algo>sha256|sha384|sha512)-(?<hash>[A-z0-9+/]{1}.*={0,2}))( +[\\x21-\\x7e]?)?/i\n\n/**\n * @see https://w3c.github.io/webappsec-subresource-integrity/#parse-metadata\n * @param {string} metadata\n */\nfunction parseMetadata (metadata) {\n // 1. Let result be the empty set.\n /** @type {{ algo: string, hash: string }[]} */\n const result = []\n\n // 2. Let empty be equal to true.\n let empty = true\n\n const supportedHashes = crypto.getHashes()\n\n // 3. For each token returned by splitting metadata on spaces:\n for (const token of metadata.split(' ')) {\n // 1. Set empty to false.\n empty = false\n\n // 2. Parse token as a hash-with-options.\n const parsedToken = parseHashWithOptions.exec(token)\n\n // 3. If token does not parse, continue to the next token.\n if (parsedToken === null || parsedToken.groups === undefined) {\n // Note: Chromium blocks the request at this point, but Firefox\n // gives a warning that an invalid integrity was given. The\n // correct behavior is to ignore these, and subsequently not\n // check the integrity of the resource.\n continue\n }\n\n // 4. Let algorithm be the hash-algo component of token.\n const algorithm = parsedToken.groups.algo\n\n // 5. If algorithm is a hash function recognized by the user\n // agent, add the parsed token to result.\n if (supportedHashes.includes(algorithm.toLowerCase())) {\n result.push(parsedToken.groups)\n }\n }\n\n // 4. Return no metadata if empty is true, otherwise return result.\n if (empty === true) {\n return 'no metadata'\n }\n\n return result\n}\n\n// https://w3c.github.io/webappsec-upgrade-insecure-requests/#upgrade-request\nfunction tryUpgradeRequestToAPotentiallyTrustworthyURL (request) {\n // TODO\n}\n\n/**\n * @link {https://html.spec.whatwg.org/multipage/origin.html#same-origin}\n * @param {URL} A\n * @param {URL} B\n */\nfunction sameOrigin (A, B) {\n // 1. If A and B are the same opaque origin, then return true.\n if (A.origin === B.origin && A.origin === 'null') {\n return true\n }\n\n // 2. If A and B are both tuple origins and their schemes,\n // hosts, and port are identical, then return true.\n if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {\n return true\n }\n\n // 3. Return false.\n return false\n}\n\nfunction createDeferredPromise () {\n let res\n let rej\n const promise = new Promise((resolve, reject) => {\n res = resolve\n rej = reject\n })\n\n return { promise, resolve: res, reject: rej }\n}\n\nfunction isAborted (fetchParams) {\n return fetchParams.controller.state === 'aborted'\n}\n\nfunction isCancelled (fetchParams) {\n return fetchParams.controller.state === 'aborted' ||\n fetchParams.controller.state === 'terminated'\n}\n\n// https://fetch.spec.whatwg.org/#concept-method-normalize\nfunction normalizeMethod (method) {\n return /^(DELETE|GET|HEAD|OPTIONS|POST|PUT)$/i.test(method)\n ? method.toUpperCase()\n : method\n}\n\n// https://infra.spec.whatwg.org/#serialize-a-javascript-value-to-a-json-string\nfunction serializeJavascriptValueToJSONString (value) {\n // 1. Let result be ? Call(%JSON.stringify%, undefined, \u00AB value \u00BB).\n const result = JSON.stringify(value)\n\n // 2. If result is undefined, then throw a TypeError.\n if (result === undefined) {\n throw new TypeError('Value is not JSON serializable')\n }\n\n // 3. Assert: result is a string.\n assert(typeof result === 'string')\n\n // 4. Return result.\n return result\n}\n\n// https://tc39.es/ecma262/#sec-%25iteratorprototype%25-object\nconst esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))\n\n/**\n * @see https://webidl.spec.whatwg.org/#dfn-iterator-prototype-object\n * @param {() => unknown[]} iterator\n * @param {string} name name of the instance\n * @param {'key'|'value'|'key+value'} kind\n */\nfunction makeIterator (iterator, name, kind) {\n const object = {\n index: 0,\n kind,\n target: iterator\n }\n\n const i = {\n next () {\n // 1. Let interface be the interface for which the iterator prototype object exists.\n\n // 2. Let thisValue be the this value.\n\n // 3. Let object be ? ToObject(thisValue).\n\n // 4. If object is a platform object, then perform a security\n // check, passing:\n\n // 5. If object is not a default iterator object for interface,\n // then throw a TypeError.\n if (Object.getPrototypeOf(this) !== i) {\n throw new TypeError(\n `'next' called on an object that does not implement interface ${name} Iterator.`\n )\n }\n\n // 6. Let index be object\u2019s index.\n // 7. Let kind be object\u2019s kind.\n // 8. Let values be object\u2019s target's value pairs to iterate over.\n const { index, kind, target } = object\n const values = target()\n\n // 9. Let len be the length of values.\n const len = values.length\n\n // 10. If index is greater than or equal to len, then return\n // CreateIterResultObject(undefined, true).\n if (index >= len) {\n return { value: undefined, done: true }\n }\n\n // 11. Let pair be the entry in values at index index.\n const pair = values[index]\n\n // 12. Set object\u2019s index to index + 1.\n object.index = index + 1\n\n // 13. Return the iterator result for pair and kind.\n return iteratorResult(pair, kind)\n },\n // The class string of an iterator prototype object for a given interface is the\n // result of concatenating the identifier of the interface and the string \" Iterator\".\n [Symbol.toStringTag]: `${name} Iterator`\n }\n\n // The [[Prototype]] internal slot of an iterator prototype object must be %IteratorPrototype%.\n Object.setPrototypeOf(i, esIteratorPrototype)\n // esIteratorPrototype needs to be the prototype of i\n // which is the prototype of an empty object. Yes, it's confusing.\n return Object.setPrototypeOf({}, i)\n}\n\n// https://webidl.spec.whatwg.org/#iterator-result\nfunction iteratorResult (pair, kind) {\n let result\n\n // 1. Let result be a value determined by the value of kind:\n switch (kind) {\n case 'key': {\n // 1. Let idlKey be pair\u2019s key.\n // 2. Let key be the result of converting idlKey to an\n // ECMAScript value.\n // 3. result is key.\n result = pair[0]\n break\n }\n case 'value': {\n // 1. Let idlValue be pair\u2019s value.\n // 2. Let value be the result of converting idlValue to\n // an ECMAScript value.\n // 3. result is value.\n result = pair[1]\n break\n }\n case 'key+value': {\n // 1. Let idlKey be pair\u2019s key.\n // 2. Let idlValue be pair\u2019s value.\n // 3. Let key be the result of converting idlKey to an\n // ECMAScript value.\n // 4. Let value be the result of converting idlValue to\n // an ECMAScript value.\n // 5. Let array be ! ArrayCreate(2).\n // 6. Call ! CreateDataProperty(array, \"0\", key).\n // 7. Call ! CreateDataProperty(array, \"1\", value).\n // 8. result is array.\n result = pair\n break\n }\n }\n\n // 2. Return CreateIterResultObject(result, false).\n return { value: result, done: false }\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#body-fully-read\n */\nfunction fullyReadBody (body, processBody, processBodyError) {\n // 1. If taskDestination is null, then set taskDestination to\n // the result of starting a new parallel queue.\n\n // 2. Let successSteps given a byte sequence bytes be to queue a\n // fetch task to run processBody given bytes, with taskDestination.\n const successSteps = (bytes) => queueMicrotask(() => processBody(bytes))\n\n // 3. Let errorSteps be to queue a fetch task to run processBodyError,\n // with taskDestination.\n const errorSteps = (error) => queueMicrotask(() => processBodyError(error))\n\n // 4. Let reader be the result of getting a reader for body\u2019s stream.\n // If that threw an exception, then run errorSteps with that\n // exception and return.\n let reader\n\n try {\n reader = body.stream.getReader()\n } catch (e) {\n errorSteps(e)\n return\n }\n\n // 5. Read all bytes from reader, given successSteps and errorSteps.\n readAllBytes(reader, successSteps, errorSteps)\n}\n\n/** @type {ReadableStream} */\nlet ReadableStream = globalThis.ReadableStream\n\nfunction isReadableStreamLike (stream) {\n if (!ReadableStream) {\n ReadableStream = require('stream/web').ReadableStream\n }\n\n return stream instanceof ReadableStream || (\n stream[Symbol.toStringTag] === 'ReadableStream' &&\n typeof stream.tee === 'function'\n )\n}\n\nconst MAXIMUM_ARGUMENT_LENGTH = 65535\n\n/**\n * @see https://infra.spec.whatwg.org/#isomorphic-decode\n * @param {number[]|Uint8Array} input\n */\nfunction isomorphicDecode (input) {\n // 1. To isomorphic decode a byte sequence input, return a string whose code point\n // length is equal to input\u2019s length and whose code points have the same values\n // as the values of input\u2019s bytes, in the same order.\n\n if (input.length < MAXIMUM_ARGUMENT_LENGTH) {\n return String.fromCharCode(...input)\n }\n\n return input.reduce((previous, current) => previous + String.fromCharCode(current), '')\n}\n\n/**\n * @param {ReadableStreamController<Uint8Array>} controller\n */\nfunction readableStreamClose (controller) {\n try {\n controller.close()\n } catch (err) {\n // TODO: add comment explaining why this error occurs.\n if (!err.message.includes('Controller is already closed')) {\n throw err\n }\n }\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#isomorphic-encode\n * @param {string} input\n */\nfunction isomorphicEncode (input) {\n // 1. Assert: input contains no code points greater than U+00FF.\n for (let i = 0; i < input.length; i++) {\n assert(input.charCodeAt(i) <= 0xFF)\n }\n\n // 2. Return a byte sequence whose length is equal to input\u2019s code\n // point length and whose bytes have the same values as the\n // values of input\u2019s code points, in the same order\n return input\n}\n\n/**\n * @see https://streams.spec.whatwg.org/#readablestreamdefaultreader-read-all-bytes\n * @see https://streams.spec.whatwg.org/#read-loop\n * @param {ReadableStreamDefaultReader} reader\n * @param {(bytes: Uint8Array) => void} successSteps\n * @param {(error: Error) => void} failureSteps\n */\nasync function readAllBytes (reader, successSteps, failureSteps) {\n const bytes = []\n let byteLength = 0\n\n while (true) {\n let done\n let chunk\n\n try {\n ({ done, value: chunk } = await reader.read())\n } catch (e) {\n // 1. Call failureSteps with e.\n failureSteps(e)\n return\n }\n\n if (done) {\n // 1. Call successSteps with bytes.\n successSteps(Buffer.concat(bytes, byteLength))\n return\n }\n\n // 1. If chunk is not a Uint8Array object, call failureSteps\n // with a TypeError and abort these steps.\n if (!isUint8Array(chunk)) {\n failureSteps(new TypeError('Received non-Uint8Array chunk'))\n return\n }\n\n // 2. Append the bytes represented by chunk to bytes.\n bytes.push(chunk)\n byteLength += chunk.length\n\n // 3. Read-loop given reader, bytes, successSteps, and failureSteps.\n }\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#is-local\n * @param {URL} url\n */\nfunction urlIsLocal (url) {\n assert('protocol' in url) // ensure it's a url object\n\n const protocol = url.protocol\n\n return protocol === 'about:' || protocol === 'blob:' || protocol === 'data:'\n}\n\n/**\n * @param {string|URL} url\n */\nfunction urlHasHttpsScheme (url) {\n if (typeof url === 'string') {\n return url.startsWith('https:')\n }\n\n return url.protocol === 'https:'\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#http-scheme\n * @param {URL} url\n */\nfunction urlIsHttpHttpsScheme (url) {\n assert('protocol' in url) // ensure it's a url object\n\n const protocol = url.protocol\n\n return protocol === 'http:' || protocol === 'https:'\n}\n\n/**\n * Fetch supports node >= 16.8.0, but Object.hasOwn was added in v16.9.0.\n */\nconst hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key))\n\nmodule.exports = {\n isAborted,\n isCancelled,\n createDeferredPromise,\n ReadableStreamFrom,\n toUSVString,\n tryUpgradeRequestToAPotentiallyTrustworthyURL,\n coarsenedSharedCurrentTime,\n determineRequestsReferrer,\n makePolicyContainer,\n clonePolicyContainer,\n appendFetchMetadata,\n appendRequestOriginHeader,\n TAOCheck,\n corsCheck,\n crossOriginResourcePolicyCheck,\n createOpaqueTimingInfo,\n setRequestReferrerPolicyOnRedirect,\n isValidHTTPToken,\n requestBadPort,\n requestCurrentURL,\n responseURL,\n responseLocationURL,\n isBlobLike,\n isURLPotentiallyTrustworthy,\n isValidReasonPhrase,\n sameOrigin,\n normalizeMethod,\n serializeJavascriptValueToJSONString,\n makeIterator,\n isValidHeaderName,\n isValidHeaderValue,\n hasOwn,\n isErrorLike,\n fullyReadBody,\n bytesMatch,\n isReadableStreamLike,\n readableStreamClose,\n isomorphicEncode,\n isomorphicDecode,\n urlIsLocal,\n urlHasHttpsScheme,\n urlIsHttpHttpsScheme,\n readAllBytes\n}\n", "'use strict'\n\nmodule.exports = {\n kUrl: Symbol('url'),\n kHeaders: Symbol('headers'),\n kSignal: Symbol('signal'),\n kState: Symbol('state'),\n kGuard: Symbol('guard'),\n kRealm: Symbol('realm')\n}\n", "'use strict'\n\nconst { types } = require('util')\nconst { hasOwn, toUSVString } = require('./util')\n\n/** @type {import('../../types/webidl').Webidl} */\nconst webidl = {}\nwebidl.converters = {}\nwebidl.util = {}\nwebidl.errors = {}\n\nwebidl.errors.exception = function (message) {\n return new TypeError(`${message.header}: ${message.message}`)\n}\n\nwebidl.errors.conversionFailed = function (context) {\n const plural = context.types.length === 1 ? '' : ' one of'\n const message =\n `${context.argument} could not be converted to` +\n `${plural}: ${context.types.join(', ')}.`\n\n return webidl.errors.exception({\n header: context.prefix,\n message\n })\n}\n\nwebidl.errors.invalidArgument = function (context) {\n return webidl.errors.exception({\n header: context.prefix,\n message: `\"${context.value}\" is an invalid ${context.type}.`\n })\n}\n\n// https://webidl.spec.whatwg.org/#implements\nwebidl.brandCheck = function (V, I, opts = undefined) {\n if (opts?.strict !== false && !(V instanceof I)) {\n throw new TypeError('Illegal invocation')\n } else {\n return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag]\n }\n}\n\nwebidl.argumentLengthCheck = function ({ length }, min, ctx) {\n if (length < min) {\n throw webidl.errors.exception({\n message: `${min} argument${min !== 1 ? 's' : ''} required, ` +\n `but${length ? ' only' : ''} ${length} found.`,\n ...ctx\n })\n }\n}\n\nwebidl.illegalConstructor = function () {\n throw webidl.errors.exception({\n header: 'TypeError',\n message: 'Illegal constructor'\n })\n}\n\n// https://tc39.es/ecma262/#sec-ecmascript-data-types-and-values\nwebidl.util.Type = function (V) {\n switch (typeof V) {\n case 'undefined': return 'Undefined'\n case 'boolean': return 'Boolean'\n case 'string': return 'String'\n case 'symbol': return 'Symbol'\n case 'number': return 'Number'\n case 'bigint': return 'BigInt'\n case 'function':\n case 'object': {\n if (V === null) {\n return 'Null'\n }\n\n return 'Object'\n }\n }\n}\n\n// https://webidl.spec.whatwg.org/#abstract-opdef-converttoint\nwebidl.util.ConvertToInt = function (V, bitLength, signedness, opts = {}) {\n let upperBound\n let lowerBound\n\n // 1. If bitLength is 64, then:\n if (bitLength === 64) {\n // 1. Let upperBound be 2^53 \u2212 1.\n upperBound = Math.pow(2, 53) - 1\n\n // 2. If signedness is \"unsigned\", then let lowerBound be 0.\n if (signedness === 'unsigned') {\n lowerBound = 0\n } else {\n // 3. Otherwise let lowerBound be \u22122^53 + 1.\n lowerBound = Math.pow(-2, 53) + 1\n }\n } else if (signedness === 'unsigned') {\n // 2. Otherwise, if signedness is \"unsigned\", then:\n\n // 1. Let lowerBound be 0.\n lowerBound = 0\n\n // 2. Let upperBound be 2^bitLength \u2212 1.\n upperBound = Math.pow(2, bitLength) - 1\n } else {\n // 3. Otherwise:\n\n // 1. Let lowerBound be -2^bitLength \u2212 1.\n lowerBound = Math.pow(-2, bitLength) - 1\n\n // 2. Let upperBound be 2^bitLength \u2212 1 \u2212 1.\n upperBound = Math.pow(2, bitLength - 1) - 1\n }\n\n // 4. Let x be ? ToNumber(V).\n let x = Number(V)\n\n // 5. If x is \u22120, then set x to +0.\n if (x === 0) {\n x = 0\n }\n\n // 6. If the conversion is to an IDL type associated\n // with the [EnforceRange] extended attribute, then:\n if (opts.enforceRange === true) {\n // 1. If x is NaN, +\u221E, or \u2212\u221E, then throw a TypeError.\n if (\n Number.isNaN(x) ||\n x === Number.POSITIVE_INFINITY ||\n x === Number.NEGATIVE_INFINITY\n ) {\n throw webidl.errors.exception({\n header: 'Integer conversion',\n message: `Could not convert ${V} to an integer.`\n })\n }\n\n // 2. Set x to IntegerPart(x).\n x = webidl.util.IntegerPart(x)\n\n // 3. If x < lowerBound or x > upperBound, then\n // throw a TypeError.\n if (x < lowerBound || x > upperBound) {\n throw webidl.errors.exception({\n header: 'Integer conversion',\n message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`\n })\n }\n\n // 4. Return x.\n return x\n }\n\n // 7. If x is not NaN and the conversion is to an IDL\n // type associated with the [Clamp] extended\n // attribute, then:\n if (!Number.isNaN(x) && opts.clamp === true) {\n // 1. Set x to min(max(x, lowerBound), upperBound).\n x = Math.min(Math.max(x, lowerBound), upperBound)\n\n // 2. Round x to the nearest integer, choosing the\n // even integer if it lies halfway between two,\n // and choosing +0 rather than \u22120.\n if (Math.floor(x) % 2 === 0) {\n x = Math.floor(x)\n } else {\n x = Math.ceil(x)\n }\n\n // 3. Return x.\n return x\n }\n\n // 8. If x is NaN, +0, +\u221E, or \u2212\u221E, then return +0.\n if (\n Number.isNaN(x) ||\n (x === 0 && Object.is(0, x)) ||\n x === Number.POSITIVE_INFINITY ||\n x === Number.NEGATIVE_INFINITY\n ) {\n return 0\n }\n\n // 9. Set x to IntegerPart(x).\n x = webidl.util.IntegerPart(x)\n\n // 10. Set x to x modulo 2^bitLength.\n x = x % Math.pow(2, bitLength)\n\n // 11. If signedness is \"signed\" and x \u2265 2^bitLength \u2212 1,\n // then return x \u2212 2^bitLength.\n if (signedness === 'signed' && x >= Math.pow(2, bitLength) - 1) {\n return x - Math.pow(2, bitLength)\n }\n\n // 12. Otherwise, return x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#abstract-opdef-integerpart\nwebidl.util.IntegerPart = function (n) {\n // 1. Let r be floor(abs(n)).\n const r = Math.floor(Math.abs(n))\n\n // 2. If n < 0, then return -1 \u00D7 r.\n if (n < 0) {\n return -1 * r\n }\n\n // 3. Otherwise, return r.\n return r\n}\n\n// https://webidl.spec.whatwg.org/#es-sequence\nwebidl.sequenceConverter = function (converter) {\n return (V) => {\n // 1. If Type(V) is not Object, throw a TypeError.\n if (webidl.util.Type(V) !== 'Object') {\n throw webidl.errors.exception({\n header: 'Sequence',\n message: `Value of type ${webidl.util.Type(V)} is not an Object.`\n })\n }\n\n // 2. Let method be ? GetMethod(V, @@iterator).\n /** @type {Generator} */\n const method = V?.[Symbol.iterator]?.()\n const seq = []\n\n // 3. If method is undefined, throw a TypeError.\n if (\n method === undefined ||\n typeof method.next !== 'function'\n ) {\n throw webidl.errors.exception({\n header: 'Sequence',\n message: 'Object is not an iterator.'\n })\n }\n\n // https://webidl.spec.whatwg.org/#create-sequence-from-iterable\n while (true) {\n const { done, value } = method.next()\n\n if (done) {\n break\n }\n\n seq.push(converter(value))\n }\n\n return seq\n }\n}\n\n// https://webidl.spec.whatwg.org/#es-to-record\nwebidl.recordConverter = function (keyConverter, valueConverter) {\n return (O) => {\n // 1. If Type(O) is not Object, throw a TypeError.\n if (webidl.util.Type(O) !== 'Object') {\n throw webidl.errors.exception({\n header: 'Record',\n message: `Value of type ${webidl.util.Type(O)} is not an Object.`\n })\n }\n\n // 2. Let result be a new empty instance of record<K, V>.\n const result = {}\n\n if (!types.isProxy(O)) {\n // Object.keys only returns enumerable properties\n const keys = Object.keys(O)\n\n for (const key of keys) {\n // 1. Let typedKey be key converted to an IDL value of type K.\n const typedKey = keyConverter(key)\n\n // 2. Let value be ? Get(O, key).\n // 3. Let typedValue be value converted to an IDL value of type V.\n const typedValue = valueConverter(O[key])\n\n // 4. Set result[typedKey] to typedValue.\n result[typedKey] = typedValue\n }\n\n // 5. Return result.\n return result\n }\n\n // 3. Let keys be ? O.[[OwnPropertyKeys]]().\n const keys = Reflect.ownKeys(O)\n\n // 4. For each key of keys.\n for (const key of keys) {\n // 1. Let desc be ? O.[[GetOwnProperty]](key).\n const desc = Reflect.getOwnPropertyDescriptor(O, key)\n\n // 2. If desc is not undefined and desc.[[Enumerable]] is true:\n if (desc?.enumerable) {\n // 1. Let typedKey be key converted to an IDL value of type K.\n const typedKey = keyConverter(key)\n\n // 2. Let value be ? Get(O, key).\n // 3. Let typedValue be value converted to an IDL value of type V.\n const typedValue = valueConverter(O[key])\n\n // 4. Set result[typedKey] to typedValue.\n result[typedKey] = typedValue\n }\n }\n\n // 5. Return result.\n return result\n }\n}\n\nwebidl.interfaceConverter = function (i) {\n return (V, opts = {}) => {\n if (opts.strict !== false && !(V instanceof i)) {\n throw webidl.errors.exception({\n header: i.name,\n message: `Expected ${V} to be an instance of ${i.name}.`\n })\n }\n\n return V\n }\n}\n\nwebidl.dictionaryConverter = function (converters) {\n return (dictionary) => {\n const type = webidl.util.Type(dictionary)\n const dict = {}\n\n if (type === 'Null' || type === 'Undefined') {\n return dict\n } else if (type !== 'Object') {\n throw webidl.errors.exception({\n header: 'Dictionary',\n message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`\n })\n }\n\n for (const options of converters) {\n const { key, defaultValue, required, converter } = options\n\n if (required === true) {\n if (!hasOwn(dictionary, key)) {\n throw webidl.errors.exception({\n header: 'Dictionary',\n message: `Missing required key \"${key}\".`\n })\n }\n }\n\n let value = dictionary[key]\n const hasDefault = hasOwn(options, 'defaultValue')\n\n // Only use defaultValue if value is undefined and\n // a defaultValue options was provided.\n if (hasDefault && value !== null) {\n value = value ?? defaultValue\n }\n\n // A key can be optional and have no default value.\n // When this happens, do not perform a conversion,\n // and do not assign the key a value.\n if (required || hasDefault || value !== undefined) {\n value = converter(value)\n\n if (\n options.allowedValues &&\n !options.allowedValues.includes(value)\n ) {\n throw webidl.errors.exception({\n header: 'Dictionary',\n message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(', ')}.`\n })\n }\n\n dict[key] = value\n }\n }\n\n return dict\n }\n}\n\nwebidl.nullableConverter = function (converter) {\n return (V) => {\n if (V === null) {\n return V\n }\n\n return converter(V)\n }\n}\n\n// https://webidl.spec.whatwg.org/#es-DOMString\nwebidl.converters.DOMString = function (V, opts = {}) {\n // 1. If V is null and the conversion is to an IDL type\n // associated with the [LegacyNullToEmptyString]\n // extended attribute, then return the DOMString value\n // that represents the empty string.\n if (V === null && opts.legacyNullToEmptyString) {\n return ''\n }\n\n // 2. Let x be ? ToString(V).\n if (typeof V === 'symbol') {\n throw new TypeError('Could not convert argument of type symbol to string.')\n }\n\n // 3. Return the IDL DOMString value that represents the\n // same sequence of code units as the one the\n // ECMAScript String value x represents.\n return String(V)\n}\n\n// https://webidl.spec.whatwg.org/#es-ByteString\nwebidl.converters.ByteString = function (V) {\n // 1. Let x be ? ToString(V).\n // Note: DOMString converter perform ? ToString(V)\n const x = webidl.converters.DOMString(V)\n\n // 2. If the value of any element of x is greater than\n // 255, then throw a TypeError.\n for (let index = 0; index < x.length; index++) {\n const charCode = x.charCodeAt(index)\n\n if (charCode > 255) {\n throw new TypeError(\n 'Cannot convert argument to a ByteString because the character at ' +\n `index ${index} has a value of ${charCode} which is greater than 255.`\n )\n }\n }\n\n // 3. Return an IDL ByteString value whose length is the\n // length of x, and where the value of each element is\n // the value of the corresponding element of x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#es-USVString\nwebidl.converters.USVString = toUSVString\n\n// https://webidl.spec.whatwg.org/#es-boolean\nwebidl.converters.boolean = function (V) {\n // 1. Let x be the result of computing ToBoolean(V).\n const x = Boolean(V)\n\n // 2. Return the IDL boolean value that is the one that represents\n // the same truth value as the ECMAScript Boolean value x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#es-any\nwebidl.converters.any = function (V) {\n return V\n}\n\n// https://webidl.spec.whatwg.org/#es-long-long\nwebidl.converters['long long'] = function (V) {\n // 1. Let x be ? ConvertToInt(V, 64, \"signed\").\n const x = webidl.util.ConvertToInt(V, 64, 'signed')\n\n // 2. Return the IDL long long value that represents\n // the same numeric value as x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#es-unsigned-long-long\nwebidl.converters['unsigned long long'] = function (V) {\n // 1. Let x be ? ConvertToInt(V, 64, \"unsigned\").\n const x = webidl.util.ConvertToInt(V, 64, 'unsigned')\n\n // 2. Return the IDL unsigned long long value that\n // represents the same numeric value as x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#es-unsigned-long\nwebidl.converters['unsigned long'] = function (V) {\n // 1. Let x be ? ConvertToInt(V, 32, \"unsigned\").\n const x = webidl.util.ConvertToInt(V, 32, 'unsigned')\n\n // 2. Return the IDL unsigned long value that\n // represents the same numeric value as x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#es-unsigned-short\nwebidl.converters['unsigned short'] = function (V, opts) {\n // 1. Let x be ? ConvertToInt(V, 16, \"unsigned\").\n const x = webidl.util.ConvertToInt(V, 16, 'unsigned', opts)\n\n // 2. Return the IDL unsigned short value that represents\n // the same numeric value as x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#idl-ArrayBuffer\nwebidl.converters.ArrayBuffer = function (V, opts = {}) {\n // 1. If Type(V) is not Object, or V does not have an\n // [[ArrayBufferData]] internal slot, then throw a\n // TypeError.\n // see: https://tc39.es/ecma262/#sec-properties-of-the-arraybuffer-instances\n // see: https://tc39.es/ecma262/#sec-properties-of-the-sharedarraybuffer-instances\n if (\n webidl.util.Type(V) !== 'Object' ||\n !types.isAnyArrayBuffer(V)\n ) {\n throw webidl.errors.conversionFailed({\n prefix: `${V}`,\n argument: `${V}`,\n types: ['ArrayBuffer']\n })\n }\n\n // 2. If the conversion is not to an IDL type associated\n // with the [AllowShared] extended attribute, and\n // IsSharedArrayBuffer(V) is true, then throw a\n // TypeError.\n if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {\n throw webidl.errors.exception({\n header: 'ArrayBuffer',\n message: 'SharedArrayBuffer is not allowed.'\n })\n }\n\n // 3. If the conversion is not to an IDL type associated\n // with the [AllowResizable] extended attribute, and\n // IsResizableArrayBuffer(V) is true, then throw a\n // TypeError.\n // Note: resizable ArrayBuffers are currently a proposal.\n\n // 4. Return the IDL ArrayBuffer value that is a\n // reference to the same object as V.\n return V\n}\n\nwebidl.converters.TypedArray = function (V, T, opts = {}) {\n // 1. Let T be the IDL type V is being converted to.\n\n // 2. If Type(V) is not Object, or V does not have a\n // [[TypedArrayName]] internal slot with a value\n // equal to T\u2019s name, then throw a TypeError.\n if (\n webidl.util.Type(V) !== 'Object' ||\n !types.isTypedArray(V) ||\n V.constructor.name !== T.name\n ) {\n throw webidl.errors.conversionFailed({\n prefix: `${T.name}`,\n argument: `${V}`,\n types: [T.name]\n })\n }\n\n // 3. If the conversion is not to an IDL type associated\n // with the [AllowShared] extended attribute, and\n // IsSharedArrayBuffer(V.[[ViewedArrayBuffer]]) is\n // true, then throw a TypeError.\n if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {\n throw webidl.errors.exception({\n header: 'ArrayBuffer',\n message: 'SharedArrayBuffer is not allowed.'\n })\n }\n\n // 4. If the conversion is not to an IDL type associated\n // with the [AllowResizable] extended attribute, and\n // IsResizableArrayBuffer(V.[[ViewedArrayBuffer]]) is\n // true, then throw a TypeError.\n // Note: resizable array buffers are currently a proposal\n\n // 5. Return the IDL value of type T that is a reference\n // to the same object as V.\n return V\n}\n\nwebidl.converters.DataView = function (V, opts = {}) {\n // 1. If Type(V) is not Object, or V does not have a\n // [[DataView]] internal slot, then throw a TypeError.\n if (webidl.util.Type(V) !== 'Object' || !types.isDataView(V)) {\n throw webidl.errors.exception({\n header: 'DataView',\n message: 'Object is not a DataView.'\n })\n }\n\n // 2. If the conversion is not to an IDL type associated\n // with the [AllowShared] extended attribute, and\n // IsSharedArrayBuffer(V.[[ViewedArrayBuffer]]) is true,\n // then throw a TypeError.\n if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {\n throw webidl.errors.exception({\n header: 'ArrayBuffer',\n message: 'SharedArrayBuffer is not allowed.'\n })\n }\n\n // 3. If the conversion is not to an IDL type associated\n // with the [AllowResizable] extended attribute, and\n // IsResizableArrayBuffer(V.[[ViewedArrayBuffer]]) is\n // true, then throw a TypeError.\n // Note: resizable ArrayBuffers are currently a proposal\n\n // 4. Return the IDL DataView value that is a reference\n // to the same object as V.\n return V\n}\n\n// https://webidl.spec.whatwg.org/#BufferSource\nwebidl.converters.BufferSource = function (V, opts = {}) {\n if (types.isAnyArrayBuffer(V)) {\n return webidl.converters.ArrayBuffer(V, opts)\n }\n\n if (types.isTypedArray(V)) {\n return webidl.converters.TypedArray(V, V.constructor)\n }\n\n if (types.isDataView(V)) {\n return webidl.converters.DataView(V, opts)\n }\n\n throw new TypeError(`Could not convert ${V} to a BufferSource.`)\n}\n\nwebidl.converters['sequence<ByteString>'] = webidl.sequenceConverter(\n webidl.converters.ByteString\n)\n\nwebidl.converters['sequence<sequence<ByteString>>'] = webidl.sequenceConverter(\n webidl.converters['sequence<ByteString>']\n)\n\nwebidl.converters['record<ByteString, ByteString>'] = webidl.recordConverter(\n webidl.converters.ByteString,\n webidl.converters.ByteString\n)\n\nmodule.exports = {\n webidl\n}\n", "const assert = require('assert')\nconst { atob } = require('buffer')\nconst { isomorphicDecode } = require('./util')\n\nconst encoder = new TextEncoder()\n\n/**\n * @see https://mimesniff.spec.whatwg.org/#http-token-code-point\n */\nconst HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/\nconst HTTP_WHITESPACE_REGEX = /(\\u000A|\\u000D|\\u0009|\\u0020)/ // eslint-disable-line\n/**\n * @see https://mimesniff.spec.whatwg.org/#http-quoted-string-token-code-point\n */\nconst HTTP_QUOTED_STRING_TOKENS = /[\\u0009|\\u0020-\\u007E|\\u0080-\\u00FF]/ // eslint-disable-line\n\n// https://fetch.spec.whatwg.org/#data-url-processor\n/** @param {URL} dataURL */\nfunction dataURLProcessor (dataURL) {\n // 1. Assert: dataURL\u2019s scheme is \"data\".\n assert(dataURL.protocol === 'data:')\n\n // 2. Let input be the result of running the URL\n // serializer on dataURL with exclude fragment\n // set to true.\n let input = URLSerializer(dataURL, true)\n\n // 3. Remove the leading \"data:\" string from input.\n input = input.slice(5)\n\n // 4. Let position point at the start of input.\n const position = { position: 0 }\n\n // 5. Let mimeType be the result of collecting a\n // sequence of code points that are not equal\n // to U+002C (,), given position.\n let mimeType = collectASequenceOfCodePointsFast(\n ',',\n input,\n position\n )\n\n // 6. Strip leading and trailing ASCII whitespace\n // from mimeType.\n // Undici implementation note: we need to store the\n // length because if the mimetype has spaces removed,\n // the wrong amount will be sliced from the input in\n // step #9\n const mimeTypeLength = mimeType.length\n mimeType = removeASCIIWhitespace(mimeType, true, true)\n\n // 7. If position is past the end of input, then\n // return failure\n if (position.position >= input.length) {\n return 'failure'\n }\n\n // 8. Advance position by 1.\n position.position++\n\n // 9. Let encodedBody be the remainder of input.\n const encodedBody = input.slice(mimeTypeLength + 1)\n\n // 10. Let body be the percent-decoding of encodedBody.\n let body = stringPercentDecode(encodedBody)\n\n // 11. If mimeType ends with U+003B (;), followed by\n // zero or more U+0020 SPACE, followed by an ASCII\n // case-insensitive match for \"base64\", then:\n if (/;(\\u0020){0,}base64$/i.test(mimeType)) {\n // 1. Let stringBody be the isomorphic decode of body.\n const stringBody = isomorphicDecode(body)\n\n // 2. Set body to the forgiving-base64 decode of\n // stringBody.\n body = forgivingBase64(stringBody)\n\n // 3. If body is failure, then return failure.\n if (body === 'failure') {\n return 'failure'\n }\n\n // 4. Remove the last 6 code points from mimeType.\n mimeType = mimeType.slice(0, -6)\n\n // 5. Remove trailing U+0020 SPACE code points from mimeType,\n // if any.\n mimeType = mimeType.replace(/(\\u0020)+$/, '')\n\n // 6. Remove the last U+003B (;) code point from mimeType.\n mimeType = mimeType.slice(0, -1)\n }\n\n // 12. If mimeType starts with U+003B (;), then prepend\n // \"text/plain\" to mimeType.\n if (mimeType.startsWith(';')) {\n mimeType = 'text/plain' + mimeType\n }\n\n // 13. Let mimeTypeRecord be the result of parsing\n // mimeType.\n let mimeTypeRecord = parseMIMEType(mimeType)\n\n // 14. If mimeTypeRecord is failure, then set\n // mimeTypeRecord to text/plain;charset=US-ASCII.\n if (mimeTypeRecord === 'failure') {\n mimeTypeRecord = parseMIMEType('text/plain;charset=US-ASCII')\n }\n\n // 15. Return a new data: URL struct whose MIME\n // type is mimeTypeRecord and body is body.\n // https://fetch.spec.whatwg.org/#data-url-struct\n return { mimeType: mimeTypeRecord, body }\n}\n\n// https://url.spec.whatwg.org/#concept-url-serializer\n/**\n * @param {URL} url\n * @param {boolean} excludeFragment\n */\nfunction URLSerializer (url, excludeFragment = false) {\n const href = url.href\n\n if (!excludeFragment) {\n return href\n }\n\n const hash = href.lastIndexOf('#')\n if (hash === -1) {\n return href\n }\n return href.slice(0, hash)\n}\n\n// https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points\n/**\n * @param {(char: string) => boolean} condition\n * @param {string} input\n * @param {{ position: number }} position\n */\nfunction collectASequenceOfCodePoints (condition, input, position) {\n // 1. Let result be the empty string.\n let result = ''\n\n // 2. While position doesn\u2019t point past the end of input and the\n // code point at position within input meets the condition condition:\n while (position.position < input.length && condition(input[position.position])) {\n // 1. Append that code point to the end of result.\n result += input[position.position]\n\n // 2. Advance position by 1.\n position.position++\n }\n\n // 3. Return result.\n return result\n}\n\n/**\n * A faster collectASequenceOfCodePoints that only works when comparing a single character.\n * @param {string} char\n * @param {string} input\n * @param {{ position: number }} position\n */\nfunction collectASequenceOfCodePointsFast (char, input, position) {\n const idx = input.indexOf(char, position.position)\n const start = position.position\n\n if (idx === -1) {\n position.position = input.length\n return input.slice(start)\n }\n\n position.position = idx\n return input.slice(start, position.position)\n}\n\n// https://url.spec.whatwg.org/#string-percent-decode\n/** @param {string} input */\nfunction stringPercentDecode (input) {\n // 1. Let bytes be the UTF-8 encoding of input.\n const bytes = encoder.encode(input)\n\n // 2. Return the percent-decoding of bytes.\n return percentDecode(bytes)\n}\n\n// https://url.spec.whatwg.org/#percent-decode\n/** @param {Uint8Array} input */\nfunction percentDecode (input) {\n // 1. Let output be an empty byte sequence.\n /** @type {number[]} */\n const output = []\n\n // 2. For each byte byte in input:\n for (let i = 0; i < input.length; i++) {\n const byte = input[i]\n\n // 1. If byte is not 0x25 (%), then append byte to output.\n if (byte !== 0x25) {\n output.push(byte)\n\n // 2. Otherwise, if byte is 0x25 (%) and the next two bytes\n // after byte in input are not in the ranges\n // 0x30 (0) to 0x39 (9), 0x41 (A) to 0x46 (F),\n // and 0x61 (a) to 0x66 (f), all inclusive, append byte\n // to output.\n } else if (\n byte === 0x25 &&\n !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))\n ) {\n output.push(0x25)\n\n // 3. Otherwise:\n } else {\n // 1. Let bytePoint be the two bytes after byte in input,\n // decoded, and then interpreted as hexadecimal number.\n const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2])\n const bytePoint = Number.parseInt(nextTwoBytes, 16)\n\n // 2. Append a byte whose value is bytePoint to output.\n output.push(bytePoint)\n\n // 3. Skip the next two bytes in input.\n i += 2\n }\n }\n\n // 3. Return output.\n return Uint8Array.from(output)\n}\n\n// https://mimesniff.spec.whatwg.org/#parse-a-mime-type\n/** @param {string} input */\nfunction parseMIMEType (input) {\n // 1. Remove any leading and trailing HTTP whitespace\n // from input.\n input = removeHTTPWhitespace(input, true, true)\n\n // 2. Let position be a position variable for input,\n // initially pointing at the start of input.\n const position = { position: 0 }\n\n // 3. Let type be the result of collecting a sequence\n // of code points that are not U+002F (/) from\n // input, given position.\n const type = collectASequenceOfCodePointsFast(\n '/',\n input,\n position\n )\n\n // 4. If type is the empty string or does not solely\n // contain HTTP token code points, then return failure.\n // https://mimesniff.spec.whatwg.org/#http-token-code-point\n if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) {\n return 'failure'\n }\n\n // 5. If position is past the end of input, then return\n // failure\n if (position.position > input.length) {\n return 'failure'\n }\n\n // 6. Advance position by 1. (This skips past U+002F (/).)\n position.position++\n\n // 7. Let subtype be the result of collecting a sequence of\n // code points that are not U+003B (;) from input, given\n // position.\n let subtype = collectASequenceOfCodePointsFast(\n ';',\n input,\n position\n )\n\n // 8. Remove any trailing HTTP whitespace from subtype.\n subtype = removeHTTPWhitespace(subtype, false, true)\n\n // 9. If subtype is the empty string or does not solely\n // contain HTTP token code points, then return failure.\n if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {\n return 'failure'\n }\n\n const typeLowercase = type.toLowerCase()\n const subtypeLowercase = subtype.toLowerCase()\n\n // 10. Let mimeType be a new MIME type record whose type\n // is type, in ASCII lowercase, and subtype is subtype,\n // in ASCII lowercase.\n // https://mimesniff.spec.whatwg.org/#mime-type\n const mimeType = {\n type: typeLowercase,\n subtype: subtypeLowercase,\n /** @type {Map<string, string>} */\n parameters: new Map(),\n // https://mimesniff.spec.whatwg.org/#mime-type-essence\n essence: `${typeLowercase}/${subtypeLowercase}`\n }\n\n // 11. While position is not past the end of input:\n while (position.position < input.length) {\n // 1. Advance position by 1. (This skips past U+003B (;).)\n position.position++\n\n // 2. Collect a sequence of code points that are HTTP\n // whitespace from input given position.\n collectASequenceOfCodePoints(\n // https://fetch.spec.whatwg.org/#http-whitespace\n char => HTTP_WHITESPACE_REGEX.test(char),\n input,\n position\n )\n\n // 3. Let parameterName be the result of collecting a\n // sequence of code points that are not U+003B (;)\n // or U+003D (=) from input, given position.\n let parameterName = collectASequenceOfCodePoints(\n (char) => char !== ';' && char !== '=',\n input,\n position\n )\n\n // 4. Set parameterName to parameterName, in ASCII\n // lowercase.\n parameterName = parameterName.toLowerCase()\n\n // 5. If position is not past the end of input, then:\n if (position.position < input.length) {\n // 1. If the code point at position within input is\n // U+003B (;), then continue.\n if (input[position.position] === ';') {\n continue\n }\n\n // 2. Advance position by 1. (This skips past U+003D (=).)\n position.position++\n }\n\n // 6. If position is past the end of input, then break.\n if (position.position > input.length) {\n break\n }\n\n // 7. Let parameterValue be null.\n let parameterValue = null\n\n // 8. If the code point at position within input is\n // U+0022 (\"), then:\n if (input[position.position] === '\"') {\n // 1. Set parameterValue to the result of collecting\n // an HTTP quoted string from input, given position\n // and the extract-value flag.\n parameterValue = collectAnHTTPQuotedString(input, position, true)\n\n // 2. Collect a sequence of code points that are not\n // U+003B (;) from input, given position.\n collectASequenceOfCodePointsFast(\n ';',\n input,\n position\n )\n\n // 9. Otherwise:\n } else {\n // 1. Set parameterValue to the result of collecting\n // a sequence of code points that are not U+003B (;)\n // from input, given position.\n parameterValue = collectASequenceOfCodePointsFast(\n ';',\n input,\n position\n )\n\n // 2. Remove any trailing HTTP whitespace from parameterValue.\n parameterValue = removeHTTPWhitespace(parameterValue, false, true)\n\n // 3. If parameterValue is the empty string, then continue.\n if (parameterValue.length === 0) {\n continue\n }\n }\n\n // 10. If all of the following are true\n // - parameterName is not the empty string\n // - parameterName solely contains HTTP token code points\n // - parameterValue solely contains HTTP quoted-string token code points\n // - mimeType\u2019s parameters[parameterName] does not exist\n // then set mimeType\u2019s parameters[parameterName] to parameterValue.\n if (\n parameterName.length !== 0 &&\n HTTP_TOKEN_CODEPOINTS.test(parameterName) &&\n (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) &&\n !mimeType.parameters.has(parameterName)\n ) {\n mimeType.parameters.set(parameterName, parameterValue)\n }\n }\n\n // 12. Return mimeType.\n return mimeType\n}\n\n// https://infra.spec.whatwg.org/#forgiving-base64-decode\n/** @param {string} data */\nfunction forgivingBase64 (data) {\n // 1. Remove all ASCII whitespace from data.\n data = data.replace(/[\\u0009\\u000A\\u000C\\u000D\\u0020]/g, '') // eslint-disable-line\n\n // 2. If data\u2019s code point length divides by 4 leaving\n // no remainder, then:\n if (data.length % 4 === 0) {\n // 1. If data ends with one or two U+003D (=) code points,\n // then remove them from data.\n data = data.replace(/=?=$/, '')\n }\n\n // 3. If data\u2019s code point length divides by 4 leaving\n // a remainder of 1, then return failure.\n if (data.length % 4 === 1) {\n return 'failure'\n }\n\n // 4. If data contains a code point that is not one of\n // U+002B (+)\n // U+002F (/)\n // ASCII alphanumeric\n // then return failure.\n if (/[^+/0-9A-Za-z]/.test(data)) {\n return 'failure'\n }\n\n const binary = atob(data)\n const bytes = new Uint8Array(binary.length)\n\n for (let byte = 0; byte < binary.length; byte++) {\n bytes[byte] = binary.charCodeAt(byte)\n }\n\n return bytes\n}\n\n// https://fetch.spec.whatwg.org/#collect-an-http-quoted-string\n// tests: https://fetch.spec.whatwg.org/#example-http-quoted-string\n/**\n * @param {string} input\n * @param {{ position: number }} position\n * @param {boolean?} extractValue\n */\nfunction collectAnHTTPQuotedString (input, position, extractValue) {\n // 1. Let positionStart be position.\n const positionStart = position.position\n\n // 2. Let value be the empty string.\n let value = ''\n\n // 3. Assert: the code point at position within input\n // is U+0022 (\").\n assert(input[position.position] === '\"')\n\n // 4. Advance position by 1.\n position.position++\n\n // 5. While true:\n while (true) {\n // 1. Append the result of collecting a sequence of code points\n // that are not U+0022 (\") or U+005C (\\) from input, given\n // position, to value.\n value += collectASequenceOfCodePoints(\n (char) => char !== '\"' && char !== '\\\\',\n input,\n position\n )\n\n // 2. If position is past the end of input, then break.\n if (position.position >= input.length) {\n break\n }\n\n // 3. Let quoteOrBackslash be the code point at position within\n // input.\n const quoteOrBackslash = input[position.position]\n\n // 4. Advance position by 1.\n position.position++\n\n // 5. If quoteOrBackslash is U+005C (\\), then:\n if (quoteOrBackslash === '\\\\') {\n // 1. If position is past the end of input, then append\n // U+005C (\\) to value and break.\n if (position.position >= input.length) {\n value += '\\\\'\n break\n }\n\n // 2. Append the code point at position within input to value.\n value += input[position.position]\n\n // 3. Advance position by 1.\n position.position++\n\n // 6. Otherwise:\n } else {\n // 1. Assert: quoteOrBackslash is U+0022 (\").\n assert(quoteOrBackslash === '\"')\n\n // 2. Break.\n break\n }\n }\n\n // 6. If the extract-value flag is set, then return value.\n if (extractValue) {\n return value\n }\n\n // 7. Return the code points from positionStart to position,\n // inclusive, within input.\n return input.slice(positionStart, position.position)\n}\n\n/**\n * @see https://mimesniff.spec.whatwg.org/#serialize-a-mime-type\n */\nfunction serializeAMimeType (mimeType) {\n assert(mimeType !== 'failure')\n const { parameters, essence } = mimeType\n\n // 1. Let serialization be the concatenation of mimeType\u2019s\n // type, U+002F (/), and mimeType\u2019s subtype.\n let serialization = essence\n\n // 2. For each name \u2192 value of mimeType\u2019s parameters:\n for (let [name, value] of parameters.entries()) {\n // 1. Append U+003B (;) to serialization.\n serialization += ';'\n\n // 2. Append name to serialization.\n serialization += name\n\n // 3. Append U+003D (=) to serialization.\n serialization += '='\n\n // 4. If value does not solely contain HTTP token code\n // points or value is the empty string, then:\n if (!HTTP_TOKEN_CODEPOINTS.test(value)) {\n // 1. Precede each occurence of U+0022 (\") or\n // U+005C (\\) in value with U+005C (\\).\n value = value.replace(/(\\\\|\")/g, '\\\\$1')\n\n // 2. Prepend U+0022 (\") to value.\n value = '\"' + value\n\n // 3. Append U+0022 (\") to value.\n value += '\"'\n }\n\n // 5. Append value to serialization.\n serialization += value\n }\n\n // 3. Return serialization.\n return serialization\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#http-whitespace\n * @param {string} char\n */\nfunction isHTTPWhiteSpace (char) {\n return char === '\\r' || char === '\\n' || char === '\\t' || char === ' '\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#http-whitespace\n * @param {string} str\n */\nfunction removeHTTPWhitespace (str, leading = true, trailing = true) {\n let lead = 0\n let trail = str.length - 1\n\n if (leading) {\n for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++);\n }\n\n if (trailing) {\n for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--);\n }\n\n return str.slice(lead, trail + 1)\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#ascii-whitespace\n * @param {string} char\n */\nfunction isASCIIWhitespace (char) {\n return char === '\\r' || char === '\\n' || char === '\\t' || char === '\\f' || char === ' '\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace\n */\nfunction removeASCIIWhitespace (str, leading = true, trailing = true) {\n let lead = 0\n let trail = str.length - 1\n\n if (leading) {\n for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++);\n }\n\n if (trailing) {\n for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--);\n }\n\n return str.slice(lead, trail + 1)\n}\n\nmodule.exports = {\n dataURLProcessor,\n URLSerializer,\n collectASequenceOfCodePoints,\n collectASequenceOfCodePointsFast,\n stringPercentDecode,\n parseMIMEType,\n collectAnHTTPQuotedString,\n serializeAMimeType\n}\n", "'use strict'\n\nconst { Blob, File: NativeFile } = require('buffer')\nconst { types } = require('util')\nconst { kState } = require('./symbols')\nconst { isBlobLike } = require('./util')\nconst { webidl } = require('./webidl')\nconst { parseMIMEType, serializeAMimeType } = require('./dataURL')\nconst { kEnumerableProperty } = require('../core/util')\n\nclass File extends Blob {\n constructor (fileBits, fileName, options = {}) {\n // The File constructor is invoked with two or three parameters, depending\n // on whether the optional dictionary parameter is used. When the File()\n // constructor is invoked, user agents must run the following steps:\n webidl.argumentLengthCheck(arguments, 2, { header: 'File constructor' })\n\n fileBits = webidl.converters['sequence<BlobPart>'](fileBits)\n fileName = webidl.converters.USVString(fileName)\n options = webidl.converters.FilePropertyBag(options)\n\n // 1. Let bytes be the result of processing blob parts given fileBits and\n // options.\n // Note: Blob handles this for us\n\n // 2. Let n be the fileName argument to the constructor.\n const n = fileName\n\n // 3. Process FilePropertyBag dictionary argument by running the following\n // substeps:\n\n // 1. If the type member is provided and is not the empty string, let t\n // be set to the type dictionary member. If t contains any characters\n // outside the range U+0020 to U+007E, then set t to the empty string\n // and return from these substeps.\n // 2. Convert every character in t to ASCII lowercase.\n let t = options.type\n let d\n\n // eslint-disable-next-line no-labels\n substep: {\n if (t) {\n t = parseMIMEType(t)\n\n if (t === 'failure') {\n t = ''\n // eslint-disable-next-line no-labels\n break substep\n }\n\n t = serializeAMimeType(t).toLowerCase()\n }\n\n // 3. If the lastModified member is provided, let d be set to the\n // lastModified dictionary member. If it is not provided, set d to the\n // current date and time represented as the number of milliseconds since\n // the Unix Epoch (which is the equivalent of Date.now() [ECMA-262]).\n d = options.lastModified\n }\n\n // 4. Return a new File object F such that:\n // F refers to the bytes byte sequence.\n // F.size is set to the number of total bytes in bytes.\n // F.name is set to n.\n // F.type is set to t.\n // F.lastModified is set to d.\n\n super(processBlobParts(fileBits, options), { type: t })\n this[kState] = {\n name: n,\n lastModified: d,\n type: t\n }\n }\n\n get name () {\n webidl.brandCheck(this, File)\n\n return this[kState].name\n }\n\n get lastModified () {\n webidl.brandCheck(this, File)\n\n return this[kState].lastModified\n }\n\n get type () {\n webidl.brandCheck(this, File)\n\n return this[kState].type\n }\n}\n\nclass FileLike {\n constructor (blobLike, fileName, options = {}) {\n // TODO: argument idl type check\n\n // The File constructor is invoked with two or three parameters, depending\n // on whether the optional dictionary parameter is used. When the File()\n // constructor is invoked, user agents must run the following steps:\n\n // 1. Let bytes be the result of processing blob parts given fileBits and\n // options.\n\n // 2. Let n be the fileName argument to the constructor.\n const n = fileName\n\n // 3. Process FilePropertyBag dictionary argument by running the following\n // substeps:\n\n // 1. If the type member is provided and is not the empty string, let t\n // be set to the type dictionary member. If t contains any characters\n // outside the range U+0020 to U+007E, then set t to the empty string\n // and return from these substeps.\n // TODO\n const t = options.type\n\n // 2. Convert every character in t to ASCII lowercase.\n // TODO\n\n // 3. If the lastModified member is provided, let d be set to the\n // lastModified dictionary member. If it is not provided, set d to the\n // current date and time represented as the number of milliseconds since\n // the Unix Epoch (which is the equivalent of Date.now() [ECMA-262]).\n const d = options.lastModified ?? Date.now()\n\n // 4. Return a new File object F such that:\n // F refers to the bytes byte sequence.\n // F.size is set to the number of total bytes in bytes.\n // F.name is set to n.\n // F.type is set to t.\n // F.lastModified is set to d.\n\n this[kState] = {\n blobLike,\n name: n,\n type: t,\n lastModified: d\n }\n }\n\n stream (...args) {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.stream(...args)\n }\n\n arrayBuffer (...args) {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.arrayBuffer(...args)\n }\n\n slice (...args) {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.slice(...args)\n }\n\n text (...args) {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.text(...args)\n }\n\n get size () {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.size\n }\n\n get type () {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.type\n }\n\n get name () {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].name\n }\n\n get lastModified () {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].lastModified\n }\n\n get [Symbol.toStringTag] () {\n return 'File'\n }\n}\n\nObject.defineProperties(File.prototype, {\n [Symbol.toStringTag]: {\n value: 'File',\n configurable: true\n },\n name: kEnumerableProperty,\n lastModified: kEnumerableProperty\n})\n\nwebidl.converters.Blob = webidl.interfaceConverter(Blob)\n\nwebidl.converters.BlobPart = function (V, opts) {\n if (webidl.util.Type(V) === 'Object') {\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, { strict: false })\n }\n\n if (\n ArrayBuffer.isView(V) ||\n types.isAnyArrayBuffer(V)\n ) {\n return webidl.converters.BufferSource(V, opts)\n }\n }\n\n return webidl.converters.USVString(V, opts)\n}\n\nwebidl.converters['sequence<BlobPart>'] = webidl.sequenceConverter(\n webidl.converters.BlobPart\n)\n\n// https://www.w3.org/TR/FileAPI/#dfn-FilePropertyBag\nwebidl.converters.FilePropertyBag = webidl.dictionaryConverter([\n {\n key: 'lastModified',\n converter: webidl.converters['long long'],\n get defaultValue () {\n return Date.now()\n }\n },\n {\n key: 'type',\n converter: webidl.converters.DOMString,\n defaultValue: ''\n },\n {\n key: 'endings',\n converter: (value) => {\n value = webidl.converters.DOMString(value)\n value = value.toLowerCase()\n\n if (value !== 'native') {\n value = 'transparent'\n }\n\n return value\n },\n defaultValue: 'transparent'\n }\n])\n\n/**\n * @see https://www.w3.org/TR/FileAPI/#process-blob-parts\n * @param {(NodeJS.TypedArray|Blob|string)[]} parts\n * @param {{ type: string, endings: string }} options\n */\nfunction processBlobParts (parts, options) {\n // 1. Let bytes be an empty sequence of bytes.\n /** @type {NodeJS.TypedArray[]} */\n const bytes = []\n\n // 2. For each element in parts:\n for (const element of parts) {\n // 1. If element is a USVString, run the following substeps:\n if (typeof element === 'string') {\n // 1. Let s be element.\n let s = element\n\n // 2. If the endings member of options is \"native\", set s\n // to the result of converting line endings to native\n // of element.\n if (options.endings === 'native') {\n s = convertLineEndingsNative(s)\n }\n\n // 3. Append the result of UTF-8 encoding s to bytes.\n bytes.push(new TextEncoder().encode(s))\n } else if (\n types.isAnyArrayBuffer(element) ||\n types.isTypedArray(element)\n ) {\n // 2. If element is a BufferSource, get a copy of the\n // bytes held by the buffer source, and append those\n // bytes to bytes.\n if (!element.buffer) { // ArrayBuffer\n bytes.push(new Uint8Array(element))\n } else {\n bytes.push(\n new Uint8Array(element.buffer, element.byteOffset, element.byteLength)\n )\n }\n } else if (isBlobLike(element)) {\n // 3. If element is a Blob, append the bytes it represents\n // to bytes.\n bytes.push(element)\n }\n }\n\n // 3. Return bytes.\n return bytes\n}\n\n/**\n * @see https://www.w3.org/TR/FileAPI/#convert-line-endings-to-native\n * @param {string} s\n */\nfunction convertLineEndingsNative (s) {\n // 1. Let native line ending be be the code point U+000A LF.\n let nativeLineEnding = '\\n'\n\n // 2. If the underlying platform\u2019s conventions are to\n // represent newlines as a carriage return and line feed\n // sequence, set native line ending to the code point\n // U+000D CR followed by the code point U+000A LF.\n if (process.platform === 'win32') {\n nativeLineEnding = '\\r\\n'\n }\n\n return s.replace(/\\r?\\n/g, nativeLineEnding)\n}\n\n// If this function is moved to ./util.js, some tools (such as\n// rollup) will warn about circular dependencies. See:\n// https://github.com/nodejs/undici/issues/1629\nfunction isFileLike (object) {\n return (\n (NativeFile && object instanceof NativeFile) ||\n object instanceof File || (\n object &&\n (typeof object.stream === 'function' ||\n typeof object.arrayBuffer === 'function') &&\n object[Symbol.toStringTag] === 'File'\n )\n )\n}\n\nmodule.exports = { File, FileLike, isFileLike }\n", "'use strict'\n\nconst { isBlobLike, toUSVString, makeIterator } = require('./util')\nconst { kState } = require('./symbols')\nconst { File: UndiciFile, FileLike, isFileLike } = require('./file')\nconst { webidl } = require('./webidl')\nconst { Blob, File: NativeFile } = require('buffer')\n\n/** @type {globalThis['File']} */\nconst File = NativeFile ?? UndiciFile\n\n// https://xhr.spec.whatwg.org/#formdata\nclass FormData {\n constructor (form) {\n if (form !== undefined) {\n throw webidl.errors.conversionFailed({\n prefix: 'FormData constructor',\n argument: 'Argument 1',\n types: ['undefined']\n })\n }\n\n this[kState] = []\n }\n\n append (name, value, filename = undefined) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 2, { header: 'FormData.append' })\n\n if (arguments.length === 3 && !isBlobLike(value)) {\n throw new TypeError(\n \"Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'\"\n )\n }\n\n // 1. Let value be value if given; otherwise blobValue.\n\n name = webidl.converters.USVString(name)\n value = isBlobLike(value)\n ? webidl.converters.Blob(value, { strict: false })\n : webidl.converters.USVString(value)\n filename = arguments.length === 3\n ? webidl.converters.USVString(filename)\n : undefined\n\n // 2. Let entry be the result of creating an entry with\n // name, value, and filename if given.\n const entry = makeEntry(name, value, filename)\n\n // 3. Append entry to this\u2019s entry list.\n this[kState].push(entry)\n }\n\n delete (name) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.delete' })\n\n name = webidl.converters.USVString(name)\n\n // The delete(name) method steps are to remove all entries whose name\n // is name from this\u2019s entry list.\n this[kState] = this[kState].filter(entry => entry.name !== name)\n }\n\n get (name) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.get' })\n\n name = webidl.converters.USVString(name)\n\n // 1. If there is no entry whose name is name in this\u2019s entry list,\n // then return null.\n const idx = this[kState].findIndex((entry) => entry.name === name)\n if (idx === -1) {\n return null\n }\n\n // 2. Return the value of the first entry whose name is name from\n // this\u2019s entry list.\n return this[kState][idx].value\n }\n\n getAll (name) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.getAll' })\n\n name = webidl.converters.USVString(name)\n\n // 1. If there is no entry whose name is name in this\u2019s entry list,\n // then return the empty list.\n // 2. Return the values of all entries whose name is name, in order,\n // from this\u2019s entry list.\n return this[kState]\n .filter((entry) => entry.name === name)\n .map((entry) => entry.value)\n }\n\n has (name) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.has' })\n\n name = webidl.converters.USVString(name)\n\n // The has(name) method steps are to return true if there is an entry\n // whose name is name in this\u2019s entry list; otherwise false.\n return this[kState].findIndex((entry) => entry.name === name) !== -1\n }\n\n set (name, value, filename = undefined) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 2, { header: 'FormData.set' })\n\n if (arguments.length === 3 && !isBlobLike(value)) {\n throw new TypeError(\n \"Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'\"\n )\n }\n\n // The set(name, value) and set(name, blobValue, filename) method steps\n // are:\n\n // 1. Let value be value if given; otherwise blobValue.\n\n name = webidl.converters.USVString(name)\n value = isBlobLike(value)\n ? webidl.converters.Blob(value, { strict: false })\n : webidl.converters.USVString(value)\n filename = arguments.length === 3\n ? toUSVString(filename)\n : undefined\n\n // 2. Let entry be the result of creating an entry with name, value, and\n // filename if given.\n const entry = makeEntry(name, value, filename)\n\n // 3. If there are entries in this\u2019s entry list whose name is name, then\n // replace the first such entry with entry and remove the others.\n const idx = this[kState].findIndex((entry) => entry.name === name)\n if (idx !== -1) {\n this[kState] = [\n ...this[kState].slice(0, idx),\n entry,\n ...this[kState].slice(idx + 1).filter((entry) => entry.name !== name)\n ]\n } else {\n // 4. Otherwise, append entry to this\u2019s entry list.\n this[kState].push(entry)\n }\n }\n\n entries () {\n webidl.brandCheck(this, FormData)\n\n return makeIterator(\n () => this[kState].map(pair => [pair.name, pair.value]),\n 'FormData',\n 'key+value'\n )\n }\n\n keys () {\n webidl.brandCheck(this, FormData)\n\n return makeIterator(\n () => this[kState].map(pair => [pair.name, pair.value]),\n 'FormData',\n 'key'\n )\n }\n\n values () {\n webidl.brandCheck(this, FormData)\n\n return makeIterator(\n () => this[kState].map(pair => [pair.name, pair.value]),\n 'FormData',\n 'value'\n )\n }\n\n /**\n * @param {(value: string, key: string, self: FormData) => void} callbackFn\n * @param {unknown} thisArg\n */\n forEach (callbackFn, thisArg = globalThis) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.forEach' })\n\n if (typeof callbackFn !== 'function') {\n throw new TypeError(\n \"Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.\"\n )\n }\n\n for (const [key, value] of this) {\n callbackFn.apply(thisArg, [value, key, this])\n }\n }\n}\n\nFormData.prototype[Symbol.iterator] = FormData.prototype.entries\n\nObject.defineProperties(FormData.prototype, {\n [Symbol.toStringTag]: {\n value: 'FormData',\n configurable: true\n }\n})\n\n/**\n * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#create-an-entry\n * @param {string} name\n * @param {string|Blob} value\n * @param {?string} filename\n * @returns\n */\nfunction makeEntry (name, value, filename) {\n // 1. Set name to the result of converting name into a scalar value string.\n // \"To convert a string into a scalar value string, replace any surrogates\n // with U+FFFD.\"\n // see: https://nodejs.org/dist/latest-v18.x/docs/api/buffer.html#buftostringencoding-start-end\n name = Buffer.from(name).toString('utf8')\n\n // 2. If value is a string, then set value to the result of converting\n // value into a scalar value string.\n if (typeof value === 'string') {\n value = Buffer.from(value).toString('utf8')\n } else {\n // 3. Otherwise:\n\n // 1. If value is not a File object, then set value to a new File object,\n // representing the same bytes, whose name attribute value is \"blob\"\n if (!isFileLike(value)) {\n value = value instanceof Blob\n ? new File([value], 'blob', { type: value.type })\n : new FileLike(value, 'blob', { type: value.type })\n }\n\n // 2. If filename is given, then set value to a new File object,\n // representing the same bytes, whose name attribute is filename.\n if (filename !== undefined) {\n /** @type {FilePropertyBag} */\n const options = {\n type: value.type,\n lastModified: value.lastModified\n }\n\n value = (NativeFile && value instanceof NativeFile) || value instanceof UndiciFile\n ? new File([value], filename, options)\n : new FileLike(value, filename, options)\n }\n }\n\n // 4. Return an entry whose name is name and whose value is value.\n return { name, value }\n}\n\nmodule.exports = { FormData }\n", "'use strict'\n\nconst Busboy = require('busboy')\nconst util = require('../core/util')\nconst {\n ReadableStreamFrom,\n isBlobLike,\n isReadableStreamLike,\n readableStreamClose,\n createDeferredPromise,\n fullyReadBody\n} = require('./util')\nconst { FormData } = require('./formdata')\nconst { kState } = require('./symbols')\nconst { webidl } = require('./webidl')\nconst { DOMException, structuredClone } = require('./constants')\nconst { Blob, File: NativeFile } = require('buffer')\nconst { kBodyUsed } = require('../core/symbols')\nconst assert = require('assert')\nconst { isErrored } = require('../core/util')\nconst { isUint8Array, isArrayBuffer } = require('util/types')\nconst { File: UndiciFile } = require('./file')\nconst { parseMIMEType, serializeAMimeType } = require('./dataURL')\n\nlet ReadableStream = globalThis.ReadableStream\n\n/** @type {globalThis['File']} */\nconst File = NativeFile ?? UndiciFile\n\n// https://fetch.spec.whatwg.org/#concept-bodyinit-extract\nfunction extractBody (object, keepalive = false) {\n if (!ReadableStream) {\n ReadableStream = require('stream/web').ReadableStream\n }\n\n // 1. Let stream be null.\n let stream = null\n\n // 2. If object is a ReadableStream object, then set stream to object.\n if (object instanceof ReadableStream) {\n stream = object\n } else if (isBlobLike(object)) {\n // 3. Otherwise, if object is a Blob object, set stream to the\n // result of running object\u2019s get stream.\n stream = object.stream()\n } else {\n // 4. Otherwise, set stream to a new ReadableStream object, and set\n // up stream.\n stream = new ReadableStream({\n async pull (controller) {\n controller.enqueue(\n typeof source === 'string' ? new TextEncoder().encode(source) : source\n )\n queueMicrotask(() => readableStreamClose(controller))\n },\n start () {},\n type: undefined\n })\n }\n\n // 5. Assert: stream is a ReadableStream object.\n assert(isReadableStreamLike(stream))\n\n // 6. Let action be null.\n let action = null\n\n // 7. Let source be null.\n let source = null\n\n // 8. Let length be null.\n let length = null\n\n // 9. Let type be null.\n let type = null\n\n // 10. Switch on object:\n if (typeof object === 'string') {\n // Set source to the UTF-8 encoding of object.\n // Note: setting source to a Uint8Array here breaks some mocking assumptions.\n source = object\n\n // Set type to `text/plain;charset=UTF-8`.\n type = 'text/plain;charset=UTF-8'\n } else if (object instanceof URLSearchParams) {\n // URLSearchParams\n\n // spec says to run application/x-www-form-urlencoded on body.list\n // this is implemented in Node.js as apart of an URLSearchParams instance toString method\n // See: https://github.com/nodejs/node/blob/e46c680bf2b211bbd52cf959ca17ee98c7f657f5/lib/internal/url.js#L490\n // and https://github.com/nodejs/node/blob/e46c680bf2b211bbd52cf959ca17ee98c7f657f5/lib/internal/url.js#L1100\n\n // Set source to the result of running the application/x-www-form-urlencoded serializer with object\u2019s list.\n source = object.toString()\n\n // Set type to `application/x-www-form-urlencoded;charset=UTF-8`.\n type = 'application/x-www-form-urlencoded;charset=UTF-8'\n } else if (isArrayBuffer(object)) {\n // BufferSource/ArrayBuffer\n\n // Set source to a copy of the bytes held by object.\n source = new Uint8Array(object.slice())\n } else if (ArrayBuffer.isView(object)) {\n // BufferSource/ArrayBufferView\n\n // Set source to a copy of the bytes held by object.\n source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength))\n } else if (util.isFormDataLike(object)) {\n const boundary = `----formdata-undici-0${`${Math.floor(Math.random() * 1e11)}`.padStart(11, '0')}`\n const prefix = `--${boundary}\\r\\nContent-Disposition: form-data`\n\n /*! formdata-polyfill. MIT License. Jimmy W\u00E4rting <https://jimmy.warting.se/opensource> */\n const escape = (str) =>\n str.replace(/\\n/g, '%0A').replace(/\\r/g, '%0D').replace(/\"/g, '%22')\n const normalizeLinefeeds = (value) => value.replace(/\\r?\\n|\\r/g, '\\r\\n')\n\n // Set action to this step: run the multipart/form-data\n // encoding algorithm, with object\u2019s entry list and UTF-8.\n // - This ensures that the body is immutable and can't be changed afterwords\n // - That the content-length is calculated in advance.\n // - And that all parts are pre-encoded and ready to be sent.\n\n const enc = new TextEncoder()\n const blobParts = []\n const rn = new Uint8Array([13, 10]) // '\\r\\n'\n length = 0\n let hasUnknownSizeValue = false\n\n for (const [name, value] of object) {\n if (typeof value === 'string') {\n const chunk = enc.encode(prefix +\n `; name=\"${escape(normalizeLinefeeds(name))}\"` +\n `\\r\\n\\r\\n${normalizeLinefeeds(value)}\\r\\n`)\n blobParts.push(chunk)\n length += chunk.byteLength\n } else {\n const chunk = enc.encode(`${prefix}; name=\"${escape(normalizeLinefeeds(name))}\"` +\n (value.name ? `; filename=\"${escape(value.name)}\"` : '') + '\\r\\n' +\n `Content-Type: ${\n value.type || 'application/octet-stream'\n }\\r\\n\\r\\n`)\n blobParts.push(chunk, value, rn)\n if (typeof value.size === 'number') {\n length += chunk.byteLength + value.size + rn.byteLength\n } else {\n hasUnknownSizeValue = true\n }\n }\n }\n\n const chunk = enc.encode(`--${boundary}--`)\n blobParts.push(chunk)\n length += chunk.byteLength\n if (hasUnknownSizeValue) {\n length = null\n }\n\n // Set source to object.\n source = object\n\n action = async function * () {\n for (const part of blobParts) {\n if (part.stream) {\n yield * part.stream()\n } else {\n yield part\n }\n }\n }\n\n // Set type to `multipart/form-data; boundary=`,\n // followed by the multipart/form-data boundary string generated\n // by the multipart/form-data encoding algorithm.\n type = 'multipart/form-data; boundary=' + boundary\n } else if (isBlobLike(object)) {\n // Blob\n\n // Set source to object.\n source = object\n\n // Set length to object\u2019s size.\n length = object.size\n\n // If object\u2019s type attribute is not the empty byte sequence, set\n // type to its value.\n if (object.type) {\n type = object.type\n }\n } else if (typeof object[Symbol.asyncIterator] === 'function') {\n // If keepalive is true, then throw a TypeError.\n if (keepalive) {\n throw new TypeError('keepalive')\n }\n\n // If object is disturbed or locked, then throw a TypeError.\n if (util.isDisturbed(object) || object.locked) {\n throw new TypeError(\n 'Response body object should not be disturbed or locked'\n )\n }\n\n stream =\n object instanceof ReadableStream ? object : ReadableStreamFrom(object)\n }\n\n // 11. If source is a byte sequence, then set action to a\n // step that returns source and length to source\u2019s length.\n if (typeof source === 'string' || util.isBuffer(source)) {\n length = Buffer.byteLength(source)\n }\n\n // 12. If action is non-null, then run these steps in in parallel:\n if (action != null) {\n // Run action.\n let iterator\n stream = new ReadableStream({\n async start () {\n iterator = action(object)[Symbol.asyncIterator]()\n },\n async pull (controller) {\n const { value, done } = await iterator.next()\n if (done) {\n // When running action is done, close stream.\n queueMicrotask(() => {\n controller.close()\n })\n } else {\n // Whenever one or more bytes are available and stream is not errored,\n // enqueue a Uint8Array wrapping an ArrayBuffer containing the available\n // bytes into stream.\n if (!isErrored(stream)) {\n controller.enqueue(new Uint8Array(value))\n }\n }\n return controller.desiredSize > 0\n },\n async cancel (reason) {\n await iterator.return()\n },\n type: undefined\n })\n }\n\n // 13. Let body be a body whose stream is stream, source is source,\n // and length is length.\n const body = { stream, source, length }\n\n // 14. Return (body, type).\n return [body, type]\n}\n\n// https://fetch.spec.whatwg.org/#bodyinit-safely-extract\nfunction safelyExtractBody (object, keepalive = false) {\n if (!ReadableStream) {\n // istanbul ignore next\n ReadableStream = require('stream/web').ReadableStream\n }\n\n // To safely extract a body and a `Content-Type` value from\n // a byte sequence or BodyInit object object, run these steps:\n\n // 1. If object is a ReadableStream object, then:\n if (object instanceof ReadableStream) {\n // Assert: object is neither disturbed nor locked.\n // istanbul ignore next\n assert(!util.isDisturbed(object), 'The body has already been consumed.')\n // istanbul ignore next\n assert(!object.locked, 'The stream is locked.')\n }\n\n // 2. Return the results of extracting object.\n return extractBody(object, keepalive)\n}\n\nfunction cloneBody (body) {\n // To clone a body body, run these steps:\n\n // https://fetch.spec.whatwg.org/#concept-body-clone\n\n // 1. Let \u00AB out1, out2 \u00BB be the result of teeing body\u2019s stream.\n const [out1, out2] = body.stream.tee()\n const out2Clone = structuredClone(out2, { transfer: [out2] })\n // This, for whatever reasons, unrefs out2Clone which allows\n // the process to exit by itself.\n const [, finalClone] = out2Clone.tee()\n\n // 2. Set body\u2019s stream to out1.\n body.stream = out1\n\n // 3. Return a body whose stream is out2 and other members are copied from body.\n return {\n stream: finalClone,\n length: body.length,\n source: body.source\n }\n}\n\nasync function * consumeBody (body) {\n if (body) {\n if (isUint8Array(body)) {\n yield body\n } else {\n const stream = body.stream\n\n if (util.isDisturbed(stream)) {\n throw new TypeError('The body has already been consumed.')\n }\n\n if (stream.locked) {\n throw new TypeError('The stream is locked.')\n }\n\n // Compat.\n stream[kBodyUsed] = true\n\n yield * stream\n }\n }\n}\n\nfunction throwIfAborted (state) {\n if (state.aborted) {\n throw new DOMException('The operation was aborted.', 'AbortError')\n }\n}\n\nfunction bodyMixinMethods (instance) {\n const methods = {\n blob () {\n // The blob() method steps are to return the result of\n // running consume body with this and the following step\n // given a byte sequence bytes: return a Blob whose\n // contents are bytes and whose type attribute is this\u2019s\n // MIME type.\n return specConsumeBody(this, (bytes) => {\n let mimeType = bodyMimeType(this)\n\n if (mimeType === 'failure') {\n mimeType = ''\n } else if (mimeType) {\n mimeType = serializeAMimeType(mimeType)\n }\n\n // Return a Blob whose contents are bytes and type attribute\n // is mimeType.\n return new Blob([bytes], { type: mimeType })\n }, instance)\n },\n\n arrayBuffer () {\n // The arrayBuffer() method steps are to return the result\n // of running consume body with this and the following step\n // given a byte sequence bytes: return a new ArrayBuffer\n // whose contents are bytes.\n return specConsumeBody(this, (bytes) => {\n return new Uint8Array(bytes).buffer\n }, instance)\n },\n\n text () {\n // The text() method steps are to return the result of running\n // consume body with this and UTF-8 decode.\n return specConsumeBody(this, utf8DecodeBytes, instance)\n },\n\n json () {\n // The json() method steps are to return the result of running\n // consume body with this and parse JSON from bytes.\n return specConsumeBody(this, parseJSONFromBytes, instance)\n },\n\n async formData () {\n webidl.brandCheck(this, instance)\n\n throwIfAborted(this[kState])\n\n const contentType = this.headers.get('Content-Type')\n\n // If mimeType\u2019s essence is \"multipart/form-data\", then:\n if (/multipart\\/form-data/.test(contentType)) {\n const headers = {}\n for (const [key, value] of this.headers) headers[key.toLowerCase()] = value\n\n const responseFormData = new FormData()\n\n let busboy\n\n try {\n busboy = Busboy({\n headers,\n defParamCharset: 'utf8'\n })\n } catch (err) {\n throw new DOMException(`${err}`, 'AbortError')\n }\n\n busboy.on('field', (name, value) => {\n responseFormData.append(name, value)\n })\n busboy.on('file', (name, value, info) => {\n const { filename, encoding, mimeType } = info\n const chunks = []\n\n if (encoding === 'base64' || encoding.toLowerCase() === 'base64') {\n let base64chunk = ''\n\n value.on('data', (chunk) => {\n base64chunk += chunk.toString().replace(/[\\r\\n]/gm, '')\n\n const end = base64chunk.length - base64chunk.length % 4\n chunks.push(Buffer.from(base64chunk.slice(0, end), 'base64'))\n\n base64chunk = base64chunk.slice(end)\n })\n value.on('end', () => {\n chunks.push(Buffer.from(base64chunk, 'base64'))\n responseFormData.append(name, new File(chunks, filename, { type: mimeType }))\n })\n } else {\n value.on('data', (chunk) => {\n chunks.push(chunk)\n })\n value.on('end', () => {\n responseFormData.append(name, new File(chunks, filename, { type: mimeType }))\n })\n }\n })\n\n const busboyResolve = new Promise((resolve, reject) => {\n busboy.on('finish', resolve)\n busboy.on('error', (err) => reject(new TypeError(err)))\n })\n\n if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk)\n busboy.end()\n await busboyResolve\n\n return responseFormData\n } else if (/application\\/x-www-form-urlencoded/.test(contentType)) {\n // Otherwise, if mimeType\u2019s essence is \"application/x-www-form-urlencoded\", then:\n\n // 1. Let entries be the result of parsing bytes.\n let entries\n try {\n let text = ''\n // application/x-www-form-urlencoded parser will keep the BOM.\n // https://url.spec.whatwg.org/#concept-urlencoded-parser\n const textDecoder = new TextDecoder('utf-8', { ignoreBOM: true })\n for await (const chunk of consumeBody(this[kState].body)) {\n if (!isUint8Array(chunk)) {\n throw new TypeError('Expected Uint8Array chunk')\n }\n text += textDecoder.decode(chunk, { stream: true })\n }\n text += textDecoder.decode()\n entries = new URLSearchParams(text)\n } catch (err) {\n // istanbul ignore next: Unclear when new URLSearchParams can fail on a string.\n // 2. If entries is failure, then throw a TypeError.\n throw Object.assign(new TypeError(), { cause: err })\n }\n\n // 3. Return a new FormData object whose entries are entries.\n const formData = new FormData()\n for (const [name, value] of entries) {\n formData.append(name, value)\n }\n return formData\n } else {\n // Wait a tick before checking if the request has been aborted.\n // Otherwise, a TypeError can be thrown when an AbortError should.\n await Promise.resolve()\n\n throwIfAborted(this[kState])\n\n // Otherwise, throw a TypeError.\n throw webidl.errors.exception({\n header: `${instance.name}.formData`,\n message: 'Could not parse content as FormData.'\n })\n }\n }\n }\n\n return methods\n}\n\nfunction mixinBody (prototype) {\n Object.assign(prototype.prototype, bodyMixinMethods(prototype))\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#concept-body-consume-body\n * @param {Response|Request} object\n * @param {(value: unknown) => unknown} convertBytesToJSValue\n * @param {Response|Request} instance\n */\nasync function specConsumeBody (object, convertBytesToJSValue, instance) {\n webidl.brandCheck(object, instance)\n\n throwIfAborted(object[kState])\n\n // 1. If object is unusable, then return a promise rejected\n // with a TypeError.\n if (bodyUnusable(object[kState].body)) {\n throw new TypeError('Body is unusable')\n }\n\n // 2. Let promise be a new promise.\n const promise = createDeferredPromise()\n\n // 3. Let errorSteps given error be to reject promise with error.\n const errorSteps = (error) => promise.reject(error)\n\n // 4. Let successSteps given a byte sequence data be to resolve\n // promise with the result of running convertBytesToJSValue\n // with data. If that threw an exception, then run errorSteps\n // with that exception.\n const successSteps = (data) => {\n try {\n promise.resolve(convertBytesToJSValue(data))\n } catch (e) {\n errorSteps(e)\n }\n }\n\n // 5. If object\u2019s body is null, then run successSteps with an\n // empty byte sequence.\n if (object[kState].body == null) {\n successSteps(new Uint8Array())\n return promise.promise\n }\n\n // 6. Otherwise, fully read object\u2019s body given successSteps,\n // errorSteps, and object\u2019s relevant global object.\n fullyReadBody(object[kState].body, successSteps, errorSteps)\n\n // 7. Return promise.\n return promise.promise\n}\n\n// https://fetch.spec.whatwg.org/#body-unusable\nfunction bodyUnusable (body) {\n // An object including the Body interface mixin is\n // said to be unusable if its body is non-null and\n // its body\u2019s stream is disturbed or locked.\n return body != null && (body.stream.locked || util.isDisturbed(body.stream))\n}\n\n/**\n * @see https://encoding.spec.whatwg.org/#utf-8-decode\n * @param {Buffer} buffer\n */\nfunction utf8DecodeBytes (buffer) {\n if (buffer.length === 0) {\n return ''\n }\n\n // 1. Let buffer be the result of peeking three bytes from\n // ioQueue, converted to a byte sequence.\n\n // 2. If buffer is 0xEF 0xBB 0xBF, then read three\n // bytes from ioQueue. (Do nothing with those bytes.)\n if (buffer[0] === 0xEF && buffer[1] === 0xBB && buffer[2] === 0xBF) {\n buffer = buffer.subarray(3)\n }\n\n // 3. Process a queue with an instance of UTF-8\u2019s\n // decoder, ioQueue, output, and \"replacement\".\n const output = new TextDecoder().decode(buffer)\n\n // 4. Return output.\n return output\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#parse-json-bytes-to-a-javascript-value\n * @param {Uint8Array} bytes\n */\nfunction parseJSONFromBytes (bytes) {\n return JSON.parse(utf8DecodeBytes(bytes))\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#concept-body-mime-type\n * @param {import('./response').Response|import('./request').Request} object\n */\nfunction bodyMimeType (object) {\n const { headersList } = object[kState]\n const contentType = headersList.get('content-type')\n\n if (contentType === null) {\n return 'failure'\n }\n\n return parseMIMEType(contentType)\n}\n\nmodule.exports = {\n extractBody,\n safelyExtractBody,\n cloneBody,\n mixinBody\n}\n", "'use strict'\n\nconst {\n InvalidArgumentError,\n NotSupportedError\n} = require('./errors')\nconst assert = require('assert')\nconst util = require('./util')\n\n// tokenRegExp and headerCharRegex have been lifted from\n// https://github.com/nodejs/node/blob/main/lib/_http_common.js\n\n/**\n * Verifies that the given val is a valid HTTP token\n * per the rules defined in RFC 7230\n * See https://tools.ietf.org/html/rfc7230#section-3.2.6\n */\nconst tokenRegExp = /^[\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]+$/\n\n/**\n * Matches if val contains an invalid field-vchar\n * field-value = *( field-content / obs-fold )\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n */\nconst headerCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/\n\n// Verifies that a given path is valid does not contain control chars \\x00 to \\x20\nconst invalidPathRegex = /[^\\u0021-\\u00ff]/\n\nconst kHandler = Symbol('handler')\n\nconst channels = {}\n\nlet extractBody\n\ntry {\n const diagnosticsChannel = require('diagnostics_channel')\n channels.create = diagnosticsChannel.channel('undici:request:create')\n channels.bodySent = diagnosticsChannel.channel('undici:request:bodySent')\n channels.headers = diagnosticsChannel.channel('undici:request:headers')\n channels.trailers = diagnosticsChannel.channel('undici:request:trailers')\n channels.error = diagnosticsChannel.channel('undici:request:error')\n} catch {\n channels.create = { hasSubscribers: false }\n channels.bodySent = { hasSubscribers: false }\n channels.headers = { hasSubscribers: false }\n channels.trailers = { hasSubscribers: false }\n channels.error = { hasSubscribers: false }\n}\n\nclass Request {\n constructor (origin, {\n path,\n method,\n body,\n headers,\n query,\n idempotent,\n blocking,\n upgrade,\n headersTimeout,\n bodyTimeout,\n reset,\n throwOnError\n }, handler) {\n if (typeof path !== 'string') {\n throw new InvalidArgumentError('path must be a string')\n } else if (\n path[0] !== '/' &&\n !(path.startsWith('http://') || path.startsWith('https://')) &&\n method !== 'CONNECT'\n ) {\n throw new InvalidArgumentError('path must be an absolute URL or start with a slash')\n } else if (invalidPathRegex.exec(path) !== null) {\n throw new InvalidArgumentError('invalid request path')\n }\n\n if (typeof method !== 'string') {\n throw new InvalidArgumentError('method must be a string')\n } else if (tokenRegExp.exec(method) === null) {\n throw new InvalidArgumentError('invalid request method')\n }\n\n if (upgrade && typeof upgrade !== 'string') {\n throw new InvalidArgumentError('upgrade must be a string')\n }\n\n if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {\n throw new InvalidArgumentError('invalid headersTimeout')\n }\n\n if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {\n throw new InvalidArgumentError('invalid bodyTimeout')\n }\n\n if (reset != null && typeof reset !== 'boolean') {\n throw new InvalidArgumentError('invalid reset')\n }\n\n this.headersTimeout = headersTimeout\n\n this.bodyTimeout = bodyTimeout\n\n this.throwOnError = throwOnError === true\n\n this.method = method\n\n if (body == null) {\n this.body = null\n } else if (util.isStream(body)) {\n this.body = body\n } else if (util.isBuffer(body)) {\n this.body = body.byteLength ? body : null\n } else if (ArrayBuffer.isView(body)) {\n this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null\n } else if (body instanceof ArrayBuffer) {\n this.body = body.byteLength ? Buffer.from(body) : null\n } else if (typeof body === 'string') {\n this.body = body.length ? Buffer.from(body) : null\n } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {\n this.body = body\n } else {\n throw new InvalidArgumentError('body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable')\n }\n\n this.completed = false\n\n this.aborted = false\n\n this.upgrade = upgrade || null\n\n this.path = query ? util.buildURL(path, query) : path\n\n this.origin = origin\n\n this.idempotent = idempotent == null\n ? method === 'HEAD' || method === 'GET'\n : idempotent\n\n this.blocking = blocking == null ? false : blocking\n\n this.reset = reset == null ? null : reset\n\n this.host = null\n\n this.contentLength = null\n\n this.contentType = null\n\n this.headers = ''\n\n if (Array.isArray(headers)) {\n if (headers.length % 2 !== 0) {\n throw new InvalidArgumentError('headers array must be even')\n }\n for (let i = 0; i < headers.length; i += 2) {\n processHeader(this, headers[i], headers[i + 1])\n }\n } else if (headers && typeof headers === 'object') {\n const keys = Object.keys(headers)\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n processHeader(this, key, headers[key])\n }\n } else if (headers != null) {\n throw new InvalidArgumentError('headers must be an object or an array')\n }\n\n if (util.isFormDataLike(this.body)) {\n if (util.nodeMajor < 16 || (util.nodeMajor === 16 && util.nodeMinor < 8)) {\n throw new InvalidArgumentError('Form-Data bodies are only supported in node v16.8 and newer.')\n }\n\n if (!extractBody) {\n extractBody = require('../fetch/body.js').extractBody\n }\n\n const [bodyStream, contentType] = extractBody(body)\n if (this.contentType == null) {\n this.contentType = contentType\n this.headers += `content-type: ${contentType}\\r\\n`\n }\n this.body = bodyStream.stream\n this.contentLength = bodyStream.length\n } else if (util.isBlobLike(body) && this.contentType == null && body.type) {\n this.contentType = body.type\n this.headers += `content-type: ${body.type}\\r\\n`\n }\n\n util.validateHandler(handler, method, upgrade)\n\n this.servername = util.getServerName(this.host)\n\n this[kHandler] = handler\n\n if (channels.create.hasSubscribers) {\n channels.create.publish({ request: this })\n }\n }\n\n onBodySent (chunk) {\n if (this[kHandler].onBodySent) {\n try {\n this[kHandler].onBodySent(chunk)\n } catch (err) {\n this.onError(err)\n }\n }\n }\n\n onRequestSent () {\n if (channels.bodySent.hasSubscribers) {\n channels.bodySent.publish({ request: this })\n }\n }\n\n onConnect (abort) {\n assert(!this.aborted)\n assert(!this.completed)\n\n return this[kHandler].onConnect(abort)\n }\n\n onHeaders (statusCode, headers, resume, statusText) {\n assert(!this.aborted)\n assert(!this.completed)\n\n if (channels.headers.hasSubscribers) {\n channels.headers.publish({ request: this, response: { statusCode, headers, statusText } })\n }\n\n return this[kHandler].onHeaders(statusCode, headers, resume, statusText)\n }\n\n onData (chunk) {\n assert(!this.aborted)\n assert(!this.completed)\n\n return this[kHandler].onData(chunk)\n }\n\n onUpgrade (statusCode, headers, socket) {\n assert(!this.aborted)\n assert(!this.completed)\n\n return this[kHandler].onUpgrade(statusCode, headers, socket)\n }\n\n onComplete (trailers) {\n assert(!this.aborted)\n\n this.completed = true\n if (channels.trailers.hasSubscribers) {\n channels.trailers.publish({ request: this, trailers })\n }\n return this[kHandler].onComplete(trailers)\n }\n\n onError (error) {\n if (channels.error.hasSubscribers) {\n channels.error.publish({ request: this, error })\n }\n\n if (this.aborted) {\n return\n }\n this.aborted = true\n return this[kHandler].onError(error)\n }\n\n addHeader (key, value) {\n processHeader(this, key, value)\n return this\n }\n}\n\nfunction processHeaderValue (key, val) {\n if (val && typeof val === 'object') {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n\n val = val != null ? `${val}` : ''\n\n if (headerCharRegex.exec(val) !== null) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n\n return `${key}: ${val}\\r\\n`\n}\n\nfunction processHeader (request, key, val) {\n if (val && (typeof val === 'object' && !Array.isArray(val))) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n } else if (val === undefined) {\n return\n }\n\n if (\n request.host === null &&\n key.length === 4 &&\n key.toLowerCase() === 'host'\n ) {\n if (headerCharRegex.exec(val) !== null) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n // Consumed by Client\n request.host = val\n } else if (\n request.contentLength === null &&\n key.length === 14 &&\n key.toLowerCase() === 'content-length'\n ) {\n request.contentLength = parseInt(val, 10)\n if (!Number.isFinite(request.contentLength)) {\n throw new InvalidArgumentError('invalid content-length header')\n }\n } else if (\n request.contentType === null &&\n key.length === 12 &&\n key.toLowerCase() === 'content-type'\n ) {\n request.contentType = val\n request.headers += processHeaderValue(key, val)\n } else if (\n key.length === 17 &&\n key.toLowerCase() === 'transfer-encoding'\n ) {\n throw new InvalidArgumentError('invalid transfer-encoding header')\n } else if (\n key.length === 10 &&\n key.toLowerCase() === 'connection'\n ) {\n const value = typeof val === 'string' ? val.toLowerCase() : null\n if (value !== 'close' && value !== 'keep-alive') {\n throw new InvalidArgumentError('invalid connection header')\n } else if (value === 'close') {\n request.reset = true\n }\n } else if (\n key.length === 10 &&\n key.toLowerCase() === 'keep-alive'\n ) {\n throw new InvalidArgumentError('invalid keep-alive header')\n } else if (\n key.length === 7 &&\n key.toLowerCase() === 'upgrade'\n ) {\n throw new InvalidArgumentError('invalid upgrade header')\n } else if (\n key.length === 6 &&\n key.toLowerCase() === 'expect'\n ) {\n throw new NotSupportedError('expect header not supported')\n } else if (tokenRegExp.exec(key) === null) {\n throw new InvalidArgumentError('invalid header key')\n } else {\n if (Array.isArray(val)) {\n for (let i = 0; i < val.length; i++) {\n request.headers += processHeaderValue(key, val[i])\n }\n } else {\n request.headers += processHeaderValue(key, val)\n }\n }\n}\n\nmodule.exports = Request\n", "'use strict'\n\nconst EventEmitter = require('events')\n\nclass Dispatcher extends EventEmitter {\n dispatch () {\n throw new Error('not implemented')\n }\n\n close () {\n throw new Error('not implemented')\n }\n\n destroy () {\n throw new Error('not implemented')\n }\n}\n\nmodule.exports = Dispatcher\n", "'use strict'\n\nconst Dispatcher = require('./dispatcher')\nconst {\n ClientDestroyedError,\n ClientClosedError,\n InvalidArgumentError\n} = require('./core/errors')\nconst { kDestroy, kClose, kDispatch, kInterceptors } = require('./core/symbols')\n\nconst kDestroyed = Symbol('destroyed')\nconst kClosed = Symbol('closed')\nconst kOnDestroyed = Symbol('onDestroyed')\nconst kOnClosed = Symbol('onClosed')\nconst kInterceptedDispatch = Symbol('Intercepted Dispatch')\n\nclass DispatcherBase extends Dispatcher {\n constructor () {\n super()\n\n this[kDestroyed] = false\n this[kOnDestroyed] = null\n this[kClosed] = false\n this[kOnClosed] = []\n }\n\n get destroyed () {\n return this[kDestroyed]\n }\n\n get closed () {\n return this[kClosed]\n }\n\n get interceptors () {\n return this[kInterceptors]\n }\n\n set interceptors (newInterceptors) {\n if (newInterceptors) {\n for (let i = newInterceptors.length - 1; i >= 0; i--) {\n const interceptor = this[kInterceptors][i]\n if (typeof interceptor !== 'function') {\n throw new InvalidArgumentError('interceptor must be an function')\n }\n }\n }\n\n this[kInterceptors] = newInterceptors\n }\n\n close (callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n this.close((err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n if (this[kDestroyed]) {\n queueMicrotask(() => callback(new ClientDestroyedError(), null))\n return\n }\n\n if (this[kClosed]) {\n if (this[kOnClosed]) {\n this[kOnClosed].push(callback)\n } else {\n queueMicrotask(() => callback(null, null))\n }\n return\n }\n\n this[kClosed] = true\n this[kOnClosed].push(callback)\n\n const onClosed = () => {\n const callbacks = this[kOnClosed]\n this[kOnClosed] = null\n for (let i = 0; i < callbacks.length; i++) {\n callbacks[i](null, null)\n }\n }\n\n // Should not error.\n this[kClose]()\n .then(() => this.destroy())\n .then(() => {\n queueMicrotask(onClosed)\n })\n }\n\n destroy (err, callback) {\n if (typeof err === 'function') {\n callback = err\n err = null\n }\n\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n this.destroy(err, (err, data) => {\n return err ? /* istanbul ignore next: should never error */ reject(err) : resolve(data)\n })\n })\n }\n\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n if (this[kDestroyed]) {\n if (this[kOnDestroyed]) {\n this[kOnDestroyed].push(callback)\n } else {\n queueMicrotask(() => callback(null, null))\n }\n return\n }\n\n if (!err) {\n err = new ClientDestroyedError()\n }\n\n this[kDestroyed] = true\n this[kOnDestroyed] = this[kOnDestroyed] || []\n this[kOnDestroyed].push(callback)\n\n const onDestroyed = () => {\n const callbacks = this[kOnDestroyed]\n this[kOnDestroyed] = null\n for (let i = 0; i < callbacks.length; i++) {\n callbacks[i](null, null)\n }\n }\n\n // Should not error.\n this[kDestroy](err).then(() => {\n queueMicrotask(onDestroyed)\n })\n }\n\n [kInterceptedDispatch] (opts, handler) {\n if (!this[kInterceptors] || this[kInterceptors].length === 0) {\n this[kInterceptedDispatch] = this[kDispatch]\n return this[kDispatch](opts, handler)\n }\n\n let dispatch = this[kDispatch].bind(this)\n for (let i = this[kInterceptors].length - 1; i >= 0; i--) {\n dispatch = this[kInterceptors][i](dispatch)\n }\n this[kInterceptedDispatch] = dispatch\n return dispatch(opts, handler)\n }\n\n dispatch (opts, handler) {\n if (!handler || typeof handler !== 'object') {\n throw new InvalidArgumentError('handler must be an object')\n }\n\n try {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('opts must be an object.')\n }\n\n if (this[kDestroyed] || this[kOnDestroyed]) {\n throw new ClientDestroyedError()\n }\n\n if (this[kClosed]) {\n throw new ClientClosedError()\n }\n\n return this[kInterceptedDispatch](opts, handler)\n } catch (err) {\n if (typeof handler.onError !== 'function') {\n throw new InvalidArgumentError('invalid onError method')\n }\n\n handler.onError(err)\n\n return false\n }\n }\n}\n\nmodule.exports = DispatcherBase\n", "'use strict'\n\nconst net = require('net')\nconst assert = require('assert')\nconst util = require('./util')\nconst { InvalidArgumentError, ConnectTimeoutError } = require('./errors')\n\nlet tls // include tls conditionally since it is not always available\n\n// TODO: session re-use does not wait for the first\n// connection to resolve the session and might therefore\n// resolve the same servername multiple times even when\n// re-use is enabled.\n\nlet SessionCache\nif (global.FinalizationRegistry) {\n SessionCache = class WeakSessionCache {\n constructor (maxCachedSessions) {\n this._maxCachedSessions = maxCachedSessions\n this._sessionCache = new Map()\n this._sessionRegistry = new global.FinalizationRegistry((key) => {\n if (this._sessionCache.size < this._maxCachedSessions) {\n return\n }\n\n const ref = this._sessionCache.get(key)\n if (ref !== undefined && ref.deref() === undefined) {\n this._sessionCache.delete(key)\n }\n })\n }\n\n get (sessionKey) {\n const ref = this._sessionCache.get(sessionKey)\n return ref ? ref.deref() : null\n }\n\n set (sessionKey, session) {\n if (this._maxCachedSessions === 0) {\n return\n }\n\n this._sessionCache.set(sessionKey, new WeakRef(session))\n this._sessionRegistry.register(session, sessionKey)\n }\n }\n} else {\n SessionCache = class SimpleSessionCache {\n constructor (maxCachedSessions) {\n this._maxCachedSessions = maxCachedSessions\n this._sessionCache = new Map()\n }\n\n get (sessionKey) {\n return this._sessionCache.get(sessionKey)\n }\n\n set (sessionKey, session) {\n if (this._maxCachedSessions === 0) {\n return\n }\n\n if (this._sessionCache.size >= this._maxCachedSessions) {\n // remove the oldest session\n const { value: oldestKey } = this._sessionCache.keys().next()\n this._sessionCache.delete(oldestKey)\n }\n\n this._sessionCache.set(sessionKey, session)\n }\n }\n}\n\nfunction buildConnector ({ maxCachedSessions, socketPath, timeout, ...opts }) {\n if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {\n throw new InvalidArgumentError('maxCachedSessions must be a positive integer or zero')\n }\n\n const options = { path: socketPath, ...opts }\n const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions)\n timeout = timeout == null ? 10e3 : timeout\n\n return function connect ({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {\n let socket\n if (protocol === 'https:') {\n if (!tls) {\n tls = require('tls')\n }\n servername = servername || options.servername || util.getServerName(host) || null\n\n const sessionKey = servername || hostname\n const session = sessionCache.get(sessionKey) || null\n\n assert(sessionKey)\n\n socket = tls.connect({\n highWaterMark: 16384, // TLS in node can't have bigger HWM anyway...\n ...options,\n servername,\n session,\n localAddress,\n socket: httpSocket, // upgrade socket connection\n port: port || 443,\n host: hostname\n })\n\n socket\n .on('session', function (session) {\n // TODO (fix): Can a session become invalid once established? Don't think so?\n sessionCache.set(sessionKey, session)\n })\n } else {\n assert(!httpSocket, 'httpSocket can only be sent on TLS update')\n socket = net.connect({\n highWaterMark: 64 * 1024, // Same as nodejs fs streams.\n ...options,\n localAddress,\n port: port || 80,\n host: hostname\n })\n }\n\n // Set TCP keep alive options on the socket here instead of in connect() for the case of assigning the socket\n if (options.keepAlive == null || options.keepAlive) {\n const keepAliveInitialDelay = options.keepAliveInitialDelay === undefined ? 60e3 : options.keepAliveInitialDelay\n socket.setKeepAlive(true, keepAliveInitialDelay)\n }\n\n const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout)\n\n socket\n .setNoDelay(true)\n .once(protocol === 'https:' ? 'secureConnect' : 'connect', function () {\n cancelTimeout()\n\n if (callback) {\n const cb = callback\n callback = null\n cb(null, this)\n }\n })\n .on('error', function (err) {\n cancelTimeout()\n\n if (callback) {\n const cb = callback\n callback = null\n cb(err)\n }\n })\n\n return socket\n }\n}\n\nfunction setupTimeout (onConnectTimeout, timeout) {\n if (!timeout) {\n return () => {}\n }\n\n let s1 = null\n let s2 = null\n const timeoutId = setTimeout(() => {\n // setImmediate is added to make sure that we priotorise socket error events over timeouts\n s1 = setImmediate(() => {\n if (process.platform === 'win32') {\n // Windows needs an extra setImmediate probably due to implementation differences in the socket logic\n s2 = setImmediate(() => onConnectTimeout())\n } else {\n onConnectTimeout()\n }\n })\n }, timeout)\n return () => {\n clearTimeout(timeoutId)\n clearImmediate(s1)\n clearImmediate(s2)\n }\n}\n\nfunction onConnectTimeout (socket) {\n util.destroy(socket, new ConnectTimeoutError())\n}\n\nmodule.exports = buildConnector\n", null, null, "'use strict'\n\nconst util = require('../core/util')\nconst { kBodyUsed } = require('../core/symbols')\nconst assert = require('assert')\nconst { InvalidArgumentError } = require('../core/errors')\nconst EE = require('events')\n\nconst redirectableStatusCodes = [300, 301, 302, 303, 307, 308]\n\nconst kBody = Symbol('body')\n\nclass BodyAsyncIterable {\n constructor (body) {\n this[kBody] = body\n this[kBodyUsed] = false\n }\n\n async * [Symbol.asyncIterator] () {\n assert(!this[kBodyUsed], 'disturbed')\n this[kBodyUsed] = true\n yield * this[kBody]\n }\n}\n\nclass RedirectHandler {\n constructor (dispatch, maxRedirections, opts, handler) {\n if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {\n throw new InvalidArgumentError('maxRedirections must be a positive number')\n }\n\n util.validateHandler(handler, opts.method, opts.upgrade)\n\n this.dispatch = dispatch\n this.location = null\n this.abort = null\n this.opts = { ...opts, maxRedirections: 0 } // opts must be a copy\n this.maxRedirections = maxRedirections\n this.handler = handler\n this.history = []\n\n if (util.isStream(this.opts.body)) {\n // TODO (fix): Provide some way for the user to cache the file to e.g. /tmp\n // so that it can be dispatched again?\n // TODO (fix): Do we need 100-expect support to provide a way to do this properly?\n if (util.bodyLength(this.opts.body) === 0) {\n this.opts.body\n .on('data', function () {\n assert(false)\n })\n }\n\n if (typeof this.opts.body.readableDidRead !== 'boolean') {\n this.opts.body[kBodyUsed] = false\n EE.prototype.on.call(this.opts.body, 'data', function () {\n this[kBodyUsed] = true\n })\n }\n } else if (this.opts.body && typeof this.opts.body.pipeTo === 'function') {\n // TODO (fix): We can't access ReadableStream internal state\n // to determine whether or not it has been disturbed. This is just\n // a workaround.\n this.opts.body = new BodyAsyncIterable(this.opts.body)\n } else if (\n this.opts.body &&\n typeof this.opts.body !== 'string' &&\n !ArrayBuffer.isView(this.opts.body) &&\n util.isIterable(this.opts.body)\n ) {\n // TODO: Should we allow re-using iterable if !this.opts.idempotent\n // or through some other flag?\n this.opts.body = new BodyAsyncIterable(this.opts.body)\n }\n }\n\n onConnect (abort) {\n this.abort = abort\n this.handler.onConnect(abort, { history: this.history })\n }\n\n onUpgrade (statusCode, headers, socket) {\n this.handler.onUpgrade(statusCode, headers, socket)\n }\n\n onError (error) {\n this.handler.onError(error)\n }\n\n onHeaders (statusCode, headers, resume, statusText) {\n this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body)\n ? null\n : parseLocation(statusCode, headers)\n\n if (this.opts.origin) {\n this.history.push(new URL(this.opts.path, this.opts.origin))\n }\n\n if (!this.location) {\n return this.handler.onHeaders(statusCode, headers, resume, statusText)\n }\n\n const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)))\n const path = search ? `${pathname}${search}` : pathname\n\n // Remove headers referring to the original URL.\n // By default it is Host only, unless it's a 303 (see below), which removes also all Content-* headers.\n // https://tools.ietf.org/html/rfc7231#section-6.4\n this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin)\n this.opts.path = path\n this.opts.origin = origin\n this.opts.maxRedirections = 0\n this.opts.query = null\n\n // https://tools.ietf.org/html/rfc7231#section-6.4.4\n // In case of HTTP 303, always replace method to be either HEAD or GET\n if (statusCode === 303 && this.opts.method !== 'HEAD') {\n this.opts.method = 'GET'\n this.opts.body = null\n }\n }\n\n onData (chunk) {\n if (this.location) {\n /*\n https://tools.ietf.org/html/rfc7231#section-6.4\n\n TLDR: undici always ignores 3xx response bodies.\n\n Redirection is used to serve the requested resource from another URL, so it is assumes that\n no body is generated (and thus can be ignored). Even though generating a body is not prohibited.\n\n For status 301, 302, 303, 307 and 308 (the latter from RFC 7238), the specs mention that the body usually\n (which means it's optional and not mandated) contain just an hyperlink to the value of\n the Location response header, so the body can be ignored safely.\n\n For status 300, which is \"Multiple Choices\", the spec mentions both generating a Location\n response header AND a response body with the other possible location to follow.\n Since the spec explicitily chooses not to specify a format for such body and leave it to\n servers and browsers implementors, we ignore the body as there is no specified way to eventually parse it.\n */\n } else {\n return this.handler.onData(chunk)\n }\n }\n\n onComplete (trailers) {\n if (this.location) {\n /*\n https://tools.ietf.org/html/rfc7231#section-6.4\n\n TLDR: undici always ignores 3xx response trailers as they are not expected in case of redirections\n and neither are useful if present.\n\n See comment on onData method above for more detailed informations.\n */\n\n this.location = null\n this.abort = null\n\n this.dispatch(this.opts, this)\n } else {\n this.handler.onComplete(trailers)\n }\n }\n\n onBodySent (chunk) {\n if (this.handler.onBodySent) {\n this.handler.onBodySent(chunk)\n }\n }\n}\n\nfunction parseLocation (statusCode, headers) {\n if (redirectableStatusCodes.indexOf(statusCode) === -1) {\n return null\n }\n\n for (let i = 0; i < headers.length; i += 2) {\n if (headers[i].toString().toLowerCase() === 'location') {\n return headers[i + 1]\n }\n }\n}\n\n// https://tools.ietf.org/html/rfc7231#section-6.4.4\nfunction shouldRemoveHeader (header, removeContent, unknownOrigin) {\n return (\n (header.length === 4 && header.toString().toLowerCase() === 'host') ||\n (removeContent && header.toString().toLowerCase().indexOf('content-') === 0) ||\n (unknownOrigin && header.length === 13 && header.toString().toLowerCase() === 'authorization') ||\n (unknownOrigin && header.length === 6 && header.toString().toLowerCase() === 'cookie')\n )\n}\n\n// https://tools.ietf.org/html/rfc7231#section-6.4\nfunction cleanRequestHeaders (headers, removeContent, unknownOrigin) {\n const ret = []\n if (Array.isArray(headers)) {\n for (let i = 0; i < headers.length; i += 2) {\n if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {\n ret.push(headers[i], headers[i + 1])\n }\n }\n } else if (headers && typeof headers === 'object') {\n for (const key of Object.keys(headers)) {\n if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {\n ret.push(key, headers[key])\n }\n }\n } else {\n assert(headers == null, 'headers must be an object or an array')\n }\n return ret\n}\n\nmodule.exports = RedirectHandler\n", "'use strict'\n\nconst RedirectHandler = require('../handler/RedirectHandler')\n\nfunction createRedirectInterceptor ({ maxRedirections: defaultMaxRedirections }) {\n return (dispatch) => {\n return function Intercept (opts, handler) {\n const { maxRedirections = defaultMaxRedirections } = opts\n\n if (!maxRedirections) {\n return dispatch(opts, handler)\n }\n\n const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler)\n opts = { ...opts, maxRedirections: 0 } // Stop sub dispatcher from also redirecting.\n return dispatch(opts, redirectHandler)\n }\n }\n}\n\nmodule.exports = createRedirectInterceptor\n", "module.exports = 'AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAUNgIUIAAgATYCDEEAIRAMogELIABBADYCHCAAIBQ2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKEBCyAAQQA2AhwgACABNgIUIABBw4+AgAA2AhAgAEEHNgIMQQAhEAygAQtBACEQIABBADYCHCAAIBQ2AhQgAEGMnICAADYCECAAQQc2AgwMnwELIABBADYCHCAAIBQ2AhQgAEGMnICAADYCECAAQQc2AgxBACEQDJ4BCyAAQQA2AhwgACAUNgIUIABB/pGAgAA2AhAgAEEHNgIMQQAhEAydAQsgAEEANgIcIAAgATYCFCAAQY6bgIAANgIQIABBBjYCDEEAIRAMnAELIBBBFUYNVyAAQQA2AhwgACABNgIUIABBzI6AgAA2AhAgAEEgNgIMQQAhEAybAQsgAEEANgIAIBBBAWohAUEkIRALIAAgEDoAKSAAKAIEIRAgAEEANgIEIAAgECABEKuAgIAAIhANVCABIQEMPgsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQfGbgIAANgIQIABBBjYCDAyXAQsgAUEVRg1QIABBADYCHCAAIAU2AhQgAEHwjICAADYCECAAQRs2AgxBACEQDJYBCyAAKAIEIQUgAEEANgIEIAAgBSAQEKmAgIAAIgUNASAQQQFqIQULQa0BIRAMewsgAEHBATYCHCAAIAU2AgwgACAQQQFqNgIUQQAhEAyTAQsgACgCBCEGIABBADYCBCAAIAYgEBCpgICAACIGDQEgEEEBaiEGC0GuASEQDHgLIABBwgE2AhwgACAGNgIMIAAgEEEBajYCFEEAIRAMkAELIABBADYCHCAAIAc2AhQgAEGXi4CAADYCECAAQQ02AgxBACEQDI8BCyAAQQA2AhwgACAINgIUIABB45CAgAA2AhAgAEEJNgIMQQAhEAyOAQsgAEEANgIcIAAgCDYCFCAAQZSNgIAANgIQIABBITYCDEEAIRAMjQELQQEhFkEAIRdBACEUQQEhEAsgACAQOgArIAlBAWohCAJAAkAgAC0ALUEQcQ0AAkACQAJAIAAtACoOAwEAAgQLIBZFDQMMAgsgFA0BDAILIBdFDQELIAAoAgQhECAAQQA2AgQgACAQIAgQrYCAgAAiEEUNPSAAQckBNgIcIAAgCDYCFCAAIBA2AgxBACEQDIwBCyAAKAIEIQQgAEEANgIEIAAgBCAIEK2AgIAAIgRFDXYgAEHKATYCHCAAIAg2AhQgACAENgIMQQAhEAyLAQsgACgCBCEEIABBADYCBCAAIAQgCRCtgICAACIERQ10IABBywE2AhwgACAJNgIUIAAgBDYCDEEAIRAMigELIAAoAgQhBCAAQQA2AgQgACAEIAoQrYCAgAAiBEUNciAAQc0BNgIcIAAgCjYCFCAAIAQ2AgxBACEQDIkBCwJAIAstAABBUGoiEEH/AXFBCk8NACAAIBA6ACogC0EBaiEKQbYBIRAMcAsgACgCBCEEIABBADYCBCAAIAQgCxCtgICAACIERQ1wIABBzwE2AhwgACALNgIUIAAgBDYCDEEAIRAMiAELIABBADYCHCAAIAQ2AhQgAEGQs4CAADYCECAAQQg2AgwgAEEANgIAQQAhEAyHAQsgAUEVRg0/IABBADYCHCAAIAw2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDIYBCyAAQYEEOwEoIAAoAgQhECAAQgA3AwAgACAQIAxBAWoiDBCrgICAACIQRQ04IABB0wE2AhwgACAMNgIUIAAgEDYCDEEAIRAMhQELIABBADYCAAtBACEQIABBADYCHCAAIAQ2AhQgAEHYm4CAADYCECAAQQg2AgwMgwELIAAoAgQhECAAQgA3AwAgACAQIAtBAWoiCxCrgICAACIQDQFBxgEhEAxpCyAAQQI6ACgMVQsgAEHVATYCHCAAIAs2AhQgACAQNgIMQQAhEAyAAQsgEEEVRg03IABBADYCHCAAIAQ2AhQgAEGkjICAADYCECAAQRA2AgxBACEQDH8LIAAtADRBAUcNNCAAIAQgAhC8gICAACIQRQ00IBBBFUcNNSAAQdwBNgIcIAAgBDYCFCAAQdWWgIAANgIQIABBFTYCDEEAIRAMfgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQMfQtBACEQDGMLQQIhEAxiC0ENIRAMYQtBDyEQDGALQSUhEAxfC0ETIRAMXgtBFSEQDF0LQRYhEAxcC0EXIRAMWwtBGCEQDFoLQRkhEAxZC0EaIRAMWAtBGyEQDFcLQRwhEAxWC0EdIRAMVQtBHyEQDFQLQSEhEAxTC0EjIRAMUgtBxgAhEAxRC0EuIRAMUAtBLyEQDE8LQTshEAxOC0E9IRAMTQtByAAhEAxMC0HJACEQDEsLQcsAIRAMSgtBzAAhEAxJC0HOACEQDEgLQdEAIRAMRwtB1QAhEAxGC0HYACEQDEULQdkAIRAMRAtB2wAhEAxDC0HkACEQDEILQeUAIRAMQQtB8QAhEAxAC0H0ACEQDD8LQY0BIRAMPgtBlwEhEAw9C0GpASEQDDwLQawBIRAMOwtBwAEhEAw6C0G5ASEQDDkLQa8BIRAMOAtBsQEhEAw3C0GyASEQDDYLQbQBIRAMNQtBtQEhEAw0C0G6ASEQDDMLQb0BIRAMMgtBvwEhEAwxC0HBASEQDDALIABBADYCHCAAIAQ2AhQgAEHpi4CAADYCECAAQR82AgxBACEQDEgLIABB2wE2AhwgACAENgIUIABB+paAgAA2AhAgAEEVNgIMQQAhEAxHCyAAQfgANgIcIAAgDDYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMRgsgAEHRADYCHCAAIAU2AhQgAEGwl4CAADYCECAAQRU2AgxBACEQDEULIABB+QA2AhwgACABNgIUIAAgEDYCDEEAIRAMRAsgAEH4ADYCHCAAIAE2AhQgAEHKmICAADYCECAAQRU2AgxBACEQDEMLIABB5AA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAxCCyAAQdcANgIcIAAgATYCFCAAQcmXgIAANgIQIABBFTYCDEEAIRAMQQsgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMQAsgAEHCADYCHCAAIAE2AhQgAEHjmICAADYCECAAQRU2AgxBACEQDD8LIABBADYCBCAAIA8gDxCxgICAACIERQ0BIABBOjYCHCAAIAQ2AgwgACAPQQFqNgIUQQAhEAw+CyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBEUNACAAQTs2AhwgACAENgIMIAAgAUEBajYCFEEAIRAMPgsgAUEBaiEBDC0LIA9BAWohAQwtCyAAQQA2AhwgACAPNgIUIABB5JKAgAA2AhAgAEEENgIMQQAhEAw7CyAAQTY2AhwgACAENgIUIAAgAjYCDEEAIRAMOgsgAEEuNgIcIAAgDjYCFCAAIAQ2AgxBACEQDDkLIABB0AA2AhwgACABNgIUIABBkZiAgAA2AhAgAEEVNgIMQQAhEAw4CyANQQFqIQEMLAsgAEEVNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMNgsgAEEbNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMNQsgAEEPNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMNAsgAEELNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMMwsgAEEaNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMMgsgAEELNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMMQsgAEEKNgIcIAAgATYCFCAAQeSWgIAANgIQIABBFTYCDEEAIRAMMAsgAEEeNgIcIAAgATYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAMLwsgAEEANgIcIAAgEDYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMLgsgAEEENgIcIAAgATYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMLQsgAEEANgIAIAtBAWohCwtBuAEhEAwSCyAAQQA2AgAgEEEBaiEBQfUAIRAMEQsgASEBAkAgAC0AKUEFRw0AQeMAIRAMEQtB4gAhEAwQC0EAIRAgAEEANgIcIABB5JGAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAwoCyAAQQA2AgAgF0EBaiEBQcAAIRAMDgtBASEBCyAAIAE6ACwgAEEANgIAIBdBAWohAQtBKCEQDAsLIAEhAQtBOCEQDAkLAkAgASIPIAJGDQADQAJAIA8tAABBgL6AgABqLQAAIgFBAUYNACABQQJHDQMgD0EBaiEBDAQLIA9BAWoiDyACRw0AC0E+IRAMIgtBPiEQDCELIABBADoALCAPIQEMAQtBCyEQDAYLQTohEAwFCyABQQFqIQFBLSEQDAQLIAAgAToALCAAQQA2AgAgFkEBaiEBQQwhEAwDCyAAQQA2AgAgF0EBaiEBQQohEAwCCyAAQQA2AgALIABBADoALCANIQFBCSEQDAALC0EAIRAgAEEANgIcIAAgCzYCFCAAQc2QgIAANgIQIABBCTYCDAwXC0EAIRAgAEEANgIcIAAgCjYCFCAAQemKgIAANgIQIABBCTYCDAwWC0EAIRAgAEEANgIcIAAgCTYCFCAAQbeQgIAANgIQIABBCTYCDAwVC0EAIRAgAEEANgIcIAAgCDYCFCAAQZyRgIAANgIQIABBCTYCDAwUC0EAIRAgAEEANgIcIAAgATYCFCAAQc2QgIAANgIQIABBCTYCDAwTC0EAIRAgAEEANgIcIAAgATYCFCAAQemKgIAANgIQIABBCTYCDAwSC0EAIRAgAEEANgIcIAAgATYCFCAAQbeQgIAANgIQIABBCTYCDAwRC0EAIRAgAEEANgIcIAAgATYCFCAAQZyRgIAANgIQIABBCTYCDAwQC0EAIRAgAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwPC0EAIRAgAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwOC0EAIRAgAEEANgIcIAAgATYCFCAAQcCSgIAANgIQIABBCzYCDAwNC0EAIRAgAEEANgIcIAAgATYCFCAAQZWJgIAANgIQIABBCzYCDAwMC0EAIRAgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDAwLC0EAIRAgAEEANgIcIAAgATYCFCAAQfuPgIAANgIQIABBCjYCDAwKC0EAIRAgAEEANgIcIAAgATYCFCAAQfGZgIAANgIQIABBAjYCDAwJC0EAIRAgAEEANgIcIAAgATYCFCAAQcSUgIAANgIQIABBAjYCDAwIC0EAIRAgAEEANgIcIAAgATYCFCAAQfKVgIAANgIQIABBAjYCDAwHCyAAQQI2AhwgACABNgIUIABBnJqAgAA2AhAgAEEWNgIMQQAhEAwGC0EBIRAMBQtB1AAhECABIgQgAkYNBCADQQhqIAAgBCACQdjCgIAAQQoQxYCAgAAgAygCDCEEIAMoAggOAwEEAgALEMqAgIAAAAsgAEEANgIcIABBtZqAgAA2AhAgAEEXNgIMIAAgBEEBajYCFEEAIRAMAgsgAEEANgIcIAAgBDYCFCAAQcqagIAANgIQIABBCTYCDEEAIRAMAQsCQCABIgQgAkcNAEEiIRAMAQsgAEGJgICAADYCCCAAIAQ2AgRBISEQCyADQRBqJICAgIAAIBALrwEBAn8gASgCACEGAkACQCACIANGDQAgBCAGaiEEIAYgA2ogAmshByACIAZBf3MgBWoiBmohBQNAAkAgAi0AACAELQAARg0AQQIhBAwDCwJAIAYNAEEAIQQgBSECDAMLIAZBf2ohBiAEQQFqIQQgAkEBaiICIANHDQALIAchBiADIQILIABBATYCACABIAY2AgAgACACNgIEDwsgAUEANgIAIAAgBDYCACAAIAI2AgQLCgAgABDHgICAAAvyNgELfyOAgICAAEEQayIBJICAgIAAAkBBACgCoNCAgAANAEEAEMuAgIAAQYDUhIAAayICQdkASQ0AQQAhAwJAQQAoAuDTgIAAIgQNAEEAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEIakFwcUHYqtWqBXMiBDYC4NOAgABBAEEANgL004CAAEEAQQA2AsTTgIAAC0EAIAI2AszTgIAAQQBBgNSEgAA2AsjTgIAAQQBBgNSEgAA2ApjQgIAAQQAgBDYCrNCAgABBAEF/NgKo0ICAAANAIANBxNCAgABqIANBuNCAgABqIgQ2AgAgBCADQbDQgIAAaiIFNgIAIANBvNCAgABqIAU2AgAgA0HM0ICAAGogA0HA0ICAAGoiBTYCACAFIAQ2AgAgA0HU0ICAAGogA0HI0ICAAGoiBDYCACAEIAU2AgAgA0HQ0ICAAGogBDYCACADQSBqIgNBgAJHDQALQYDUhIAAQXhBgNSEgABrQQ9xQQBBgNSEgABBCGpBD3EbIgNqIgRBBGogAkFIaiIFIANrIgNBAXI2AgBBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAQ2AqDQgIAAQYDUhIAAIAVqQTg2AgQLAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB7AFLDQACQEEAKAKI0ICAACIGQRAgAEETakFwcSAAQQtJGyICQQN2IgR2IgNBA3FFDQACQAJAIANBAXEgBHJBAXMiBUEDdCIEQbDQgIAAaiIDIARBuNCAgABqKAIAIgQoAggiAkcNAEEAIAZBfiAFd3E2AojQgIAADAELIAMgAjYCCCACIAM2AgwLIARBCGohAyAEIAVBA3QiBUEDcjYCBCAEIAVqIgQgBCgCBEEBcjYCBAwMCyACQQAoApDQgIAAIgdNDQECQCADRQ0AAkACQCADIAR0QQIgBHQiA0EAIANrcnEiA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBEEFdkEIcSIFIANyIAQgBXYiA0ECdkEEcSIEciADIAR2IgNBAXZBAnEiBHIgAyAEdiIDQQF2QQFxIgRyIAMgBHZqIgRBA3QiA0Gw0ICAAGoiBSADQbjQgIAAaigCACIDKAIIIgBHDQBBACAGQX4gBHdxIgY2AojQgIAADAELIAUgADYCCCAAIAU2AgwLIAMgAkEDcjYCBCADIARBA3QiBGogBCACayIFNgIAIAMgAmoiACAFQQFyNgIEAkAgB0UNACAHQXhxQbDQgIAAaiECQQAoApzQgIAAIQQCQAJAIAZBASAHQQN2dCIIcQ0AQQAgBiAIcjYCiNCAgAAgAiEIDAELIAIoAgghCAsgCCAENgIMIAIgBDYCCCAEIAI2AgwgBCAINgIICyADQQhqIQNBACAANgKc0ICAAEEAIAU2ApDQgIAADAwLQQAoAozQgIAAIglFDQEgCUEAIAlrcUF/aiIDIANBDHZBEHEiA3YiBEEFdkEIcSIFIANyIAQgBXYiA0ECdkEEcSIEciADIAR2IgNBAXZBAnEiBHIgAyAEdiIDQQF2QQFxIgRyIAMgBHZqQQJ0QbjSgIAAaigCACIAKAIEQXhxIAJrIQQgACEFAkADQAJAIAUoAhAiAw0AIAVBFGooAgAiA0UNAgsgAygCBEF4cSACayIFIAQgBSAESSIFGyEEIAMgACAFGyEAIAMhBQwACwsgACgCGCEKAkAgACgCDCIIIABGDQAgACgCCCIDQQAoApjQgIAASRogCCADNgIIIAMgCDYCDAwLCwJAIABBFGoiBSgCACIDDQAgACgCECIDRQ0DIABBEGohBQsDQCAFIQsgAyIIQRRqIgUoAgAiAw0AIAhBEGohBSAIKAIQIgMNAAsgC0EANgIADAoLQX8hAiAAQb9/Sw0AIABBE2oiA0FwcSECQQAoAozQgIAAIgdFDQBBACELAkAgAkGAAkkNAEEfIQsgAkH///8HSw0AIANBCHYiAyADQYD+P2pBEHZBCHEiA3QiBCAEQYDgH2pBEHZBBHEiBHQiBSAFQYCAD2pBEHZBAnEiBXRBD3YgAyAEciAFcmsiA0EBdCACIANBFWp2QQFxckEcaiELC0EAIAJrIQQCQAJAAkACQCALQQJ0QbjSgIAAaigCACIFDQBBACEDQQAhCAwBC0EAIQMgAkEAQRkgC0EBdmsgC0EfRht0IQBBACEIA0ACQCAFKAIEQXhxIAJrIgYgBE8NACAGIQQgBSEIIAYNAEEAIQQgBSEIIAUhAwwDCyADIAVBFGooAgAiBiAGIAUgAEEddkEEcWpBEGooAgAiBUYbIAMgBhshAyAAQQF0IQAgBQ0ACwsCQCADIAhyDQBBACEIQQIgC3QiA0EAIANrciAHcSIDRQ0DIANBACADa3FBf2oiAyADQQx2QRBxIgN2IgVBBXZBCHEiACADciAFIAB2IgNBAnZBBHEiBXIgAyAFdiIDQQF2QQJxIgVyIAMgBXYiA0EBdkEBcSIFciADIAV2akECdEG40oCAAGooAgAhAwsgA0UNAQsDQCADKAIEQXhxIAJrIgYgBEkhAAJAIAMoAhAiBQ0AIANBFGooAgAhBQsgBiAEIAAbIQQgAyAIIAAbIQggBSEDIAUNAAsLIAhFDQAgBEEAKAKQ0ICAACACa08NACAIKAIYIQsCQCAIKAIMIgAgCEYNACAIKAIIIgNBACgCmNCAgABJGiAAIAM2AgggAyAANgIMDAkLAkAgCEEUaiIFKAIAIgMNACAIKAIQIgNFDQMgCEEQaiEFCwNAIAUhBiADIgBBFGoiBSgCACIDDQAgAEEQaiEFIAAoAhAiAw0ACyAGQQA2AgAMCAsCQEEAKAKQ0ICAACIDIAJJDQBBACgCnNCAgAAhBAJAAkAgAyACayIFQRBJDQAgBCACaiIAIAVBAXI2AgRBACAFNgKQ0ICAAEEAIAA2ApzQgIAAIAQgA2ogBTYCACAEIAJBA3I2AgQMAQsgBCADQQNyNgIEIAQgA2oiAyADKAIEQQFyNgIEQQBBADYCnNCAgABBAEEANgKQ0ICAAAsgBEEIaiEDDAoLAkBBACgClNCAgAAiACACTQ0AQQAoAqDQgIAAIgMgAmoiBCAAIAJrIgVBAXI2AgRBACAFNgKU0ICAAEEAIAQ2AqDQgIAAIAMgAkEDcjYCBCADQQhqIQMMCgsCQAJAQQAoAuDTgIAARQ0AQQAoAujTgIAAIQQMAQtBAEJ/NwLs04CAAEEAQoCAhICAgMAANwLk04CAAEEAIAFBDGpBcHFB2KrVqgVzNgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgABBgIAEIQQLQQAhAwJAIAQgAkHHAGoiB2oiBkEAIARrIgtxIgggAksNAEEAQTA2AvjTgIAADAoLAkBBACgCwNOAgAAiA0UNAAJAQQAoArjTgIAAIgQgCGoiBSAETQ0AIAUgA00NAQtBACEDQQBBMDYC+NOAgAAMCgtBAC0AxNOAgABBBHENBAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQAJAIAMoAgAiBSAESw0AIAUgAygCBGogBEsNAwsgAygCCCIDDQALC0EAEMuAgIAAIgBBf0YNBSAIIQYCQEEAKALk04CAACIDQX9qIgQgAHFFDQAgCCAAayAEIABqQQAgA2txaiEGCyAGIAJNDQUgBkH+////B0sNBQJAQQAoAsDTgIAAIgNFDQBBACgCuNOAgAAiBCAGaiIFIARNDQYgBSADSw0GCyAGEMuAgIAAIgMgAEcNAQwHCyAGIABrIAtxIgZB/v///wdLDQQgBhDLgICAACIAIAMoAgAgAygCBGpGDQMgACEDCwJAIANBf0YNACACQcgAaiAGTQ0AAkAgByAGa0EAKALo04CAACIEakEAIARrcSIEQf7///8HTQ0AIAMhAAwHCwJAIAQQy4CAgABBf0YNACAEIAZqIQYgAyEADAcLQQAgBmsQy4CAgAAaDAQLIAMhACADQX9HDQUMAwtBACEIDAcLQQAhAAwFCyAAQX9HDQILQQBBACgCxNOAgABBBHI2AsTTgIAACyAIQf7///8HSw0BIAgQy4CAgAAhAEEAEMuAgIAAIQMgAEF/Rg0BIANBf0YNASAAIANPDQEgAyAAayIGIAJBOGpNDQELQQBBACgCuNOAgAAgBmoiAzYCuNOAgAACQCADQQAoArzTgIAATQ0AQQAgAzYCvNOAgAALAkACQAJAAkBBACgCoNCAgAAiBEUNAEHI04CAACEDA0AgACADKAIAIgUgAygCBCIIakYNAiADKAIIIgMNAAwDCwsCQAJAQQAoApjQgIAAIgNFDQAgACADTw0BC0EAIAA2ApjQgIAAC0EAIQNBACAGNgLM04CAAEEAIAA2AsjTgIAAQQBBfzYCqNCAgABBAEEAKALg04CAADYCrNCAgABBAEEANgLU04CAAANAIANBxNCAgABqIANBuNCAgABqIgQ2AgAgBCADQbDQgIAAaiIFNgIAIANBvNCAgABqIAU2AgAgA0HM0ICAAGogA0HA0ICAAGoiBTYCACAFIAQ2AgAgA0HU0ICAAGogA0HI0ICAAGoiBDYCACAEIAU2AgAgA0HQ0ICAAGogBDYCACADQSBqIgNBgAJHDQALIABBeCAAa0EPcUEAIABBCGpBD3EbIgNqIgQgBkFIaiIFIANrIgNBAXI2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAQ2AqDQgIAAIAAgBWpBODYCBAwCCyADLQAMQQhxDQAgBCAFSQ0AIAQgAE8NACAEQXggBGtBD3FBACAEQQhqQQ9xGyIFaiIAQQAoApTQgIAAIAZqIgsgBWsiBUEBcjYCBCADIAggBmo2AgRBAEEAKALw04CAADYCpNCAgABBACAFNgKU0ICAAEEAIAA2AqDQgIAAIAQgC2pBODYCBAwBCwJAIABBACgCmNCAgAAiCE8NAEEAIAA2ApjQgIAAIAAhCAsgACAGaiEFQcjTgIAAIQMCQAJAAkACQAJAAkACQANAIAMoAgAgBUYNASADKAIIIgMNAAwCCwsgAy0ADEEIcUUNAQtByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiIFIARLDQMLIAMoAgghAwwACwsgAyAANgIAIAMgAygCBCAGajYCBCAAQXggAGtBD3FBACAAQQhqQQ9xG2oiCyACQQNyNgIEIAVBeCAFa0EPcUEAIAVBCGpBD3EbaiIGIAsgAmoiAmshAwJAIAYgBEcNAEEAIAI2AqDQgIAAQQBBACgClNCAgAAgA2oiAzYClNCAgAAgAiADQQFyNgIEDAMLAkAgBkEAKAKc0ICAAEcNAEEAIAI2ApzQgIAAQQBBACgCkNCAgAAgA2oiAzYCkNCAgAAgAiADQQFyNgIEIAIgA2ogAzYCAAwDCwJAIAYoAgQiBEEDcUEBRw0AIARBeHEhBwJAAkAgBEH/AUsNACAGKAIIIgUgBEEDdiIIQQN0QbDQgIAAaiIARhoCQCAGKAIMIgQgBUcNAEEAQQAoAojQgIAAQX4gCHdxNgKI0ICAAAwCCyAEIABGGiAEIAU2AgggBSAENgIMDAELIAYoAhghCQJAAkAgBigCDCIAIAZGDQAgBigCCCIEIAhJGiAAIAQ2AgggBCAANgIMDAELAkAgBkEUaiIEKAIAIgUNACAGQRBqIgQoAgAiBQ0AQQAhAAwBCwNAIAQhCCAFIgBBFGoiBCgCACIFDQAgAEEQaiEEIAAoAhAiBQ0ACyAIQQA2AgALIAlFDQACQAJAIAYgBigCHCIFQQJ0QbjSgIAAaiIEKAIARw0AIAQgADYCACAADQFBAEEAKAKM0ICAAEF+IAV3cTYCjNCAgAAMAgsgCUEQQRQgCSgCECAGRhtqIAA2AgAgAEUNAQsgACAJNgIYAkAgBigCECIERQ0AIAAgBDYCECAEIAA2AhgLIAYoAhQiBEUNACAAQRRqIAQ2AgAgBCAANgIYCyAHIANqIQMgBiAHaiIGKAIEIQQLIAYgBEF+cTYCBCACIANqIAM2AgAgAiADQQFyNgIEAkAgA0H/AUsNACADQXhxQbDQgIAAaiEEAkACQEEAKAKI0ICAACIFQQEgA0EDdnQiA3ENAEEAIAUgA3I2AojQgIAAIAQhAwwBCyAEKAIIIQMLIAMgAjYCDCAEIAI2AgggAiAENgIMIAIgAzYCCAwDC0EfIQQCQCADQf///wdLDQAgA0EIdiIEIARBgP4/akEQdkEIcSIEdCIFIAVBgOAfakEQdkEEcSIFdCIAIABBgIAPakEQdkECcSIAdEEPdiAEIAVyIAByayIEQQF0IAMgBEEVanZBAXFyQRxqIQQLIAIgBDYCHCACQgA3AhAgBEECdEG40oCAAGohBQJAQQAoAozQgIAAIgBBASAEdCIIcQ0AIAUgAjYCAEEAIAAgCHI2AozQgIAAIAIgBTYCGCACIAI2AgggAiACNgIMDAMLIANBAEEZIARBAXZrIARBH0YbdCEEIAUoAgAhAANAIAAiBSgCBEF4cSADRg0CIARBHXYhACAEQQF0IQQgBSAAQQRxakEQaiIIKAIAIgANAAsgCCACNgIAIAIgBTYCGCACIAI2AgwgAiACNgIIDAILIABBeCAAa0EPcUEAIABBCGpBD3EbIgNqIgsgBkFIaiIIIANrIgNBAXI2AgQgACAIakE4NgIEIAQgBUE3IAVrQQ9xQQAgBUFJakEPcRtqQUFqIgggCCAEQRBqSRsiCEEjNgIEQQBBACgC8NOAgAA2AqTQgIAAQQAgAzYClNCAgABBACALNgKg0ICAACAIQRBqQQApAtDTgIAANwIAIAhBACkCyNOAgAA3AghBACAIQQhqNgLQ04CAAEEAIAY2AszTgIAAQQAgADYCyNOAgABBAEEANgLU04CAACAIQSRqIQMDQCADQQc2AgAgA0EEaiIDIAVJDQALIAggBEYNAyAIIAgoAgRBfnE2AgQgCCAIIARrIgA2AgAgBCAAQQFyNgIEAkAgAEH/AUsNACAAQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgAEEDdnQiAHENAEEAIAUgAHI2AojQgIAAIAMhBQwBCyADKAIIIQULIAUgBDYCDCADIAQ2AgggBCADNgIMIAQgBTYCCAwEC0EfIQMCQCAAQf///wdLDQAgAEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCIIIAhBgIAPakEQdkECcSIIdEEPdiADIAVyIAhyayIDQQF0IAAgA0EVanZBAXFyQRxqIQMLIAQgAzYCHCAEQgA3AhAgA0ECdEG40oCAAGohBQJAQQAoAozQgIAAIghBASADdCIGcQ0AIAUgBDYCAEEAIAggBnI2AozQgIAAIAQgBTYCGCAEIAQ2AgggBCAENgIMDAQLIABBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhCANAIAgiBSgCBEF4cSAARg0DIANBHXYhCCADQQF0IQMgBSAIQQRxakEQaiIGKAIAIggNAAsgBiAENgIAIAQgBTYCGCAEIAQ2AgwgBCAENgIIDAMLIAUoAggiAyACNgIMIAUgAjYCCCACQQA2AhggAiAFNgIMIAIgAzYCCAsgC0EIaiEDDAULIAUoAggiAyAENgIMIAUgBDYCCCAEQQA2AhggBCAFNgIMIAQgAzYCCAtBACgClNCAgAAiAyACTQ0AQQAoAqDQgIAAIgQgAmoiBSADIAJrIgNBAXI2AgRBACADNgKU0ICAAEEAIAU2AqDQgIAAIAQgAkEDcjYCBCAEQQhqIQMMAwtBACEDQQBBMDYC+NOAgAAMAgsCQCALRQ0AAkACQCAIIAgoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAA2AgAgAA0BQQAgB0F+IAV3cSIHNgKM0ICAAAwCCyALQRBBFCALKAIQIAhGG2ogADYCACAARQ0BCyAAIAs2AhgCQCAIKAIQIgNFDQAgACADNgIQIAMgADYCGAsgCEEUaigCACIDRQ0AIABBFGogAzYCACADIAA2AhgLAkACQCAEQQ9LDQAgCCAEIAJqIgNBA3I2AgQgCCADaiIDIAMoAgRBAXI2AgQMAQsgCCACaiIAIARBAXI2AgQgCCACQQNyNgIEIAAgBGogBDYCAAJAIARB/wFLDQAgBEF4cUGw0ICAAGohAwJAAkBBACgCiNCAgAAiBUEBIARBA3Z0IgRxDQBBACAFIARyNgKI0ICAACADIQQMAQsgAygCCCEECyAEIAA2AgwgAyAANgIIIAAgAzYCDCAAIAQ2AggMAQtBHyEDAkAgBEH///8HSw0AIARBCHYiAyADQYD+P2pBEHZBCHEiA3QiBSAFQYDgH2pBEHZBBHEiBXQiAiACQYCAD2pBEHZBAnEiAnRBD3YgAyAFciACcmsiA0EBdCAEIANBFWp2QQFxckEcaiEDCyAAIAM2AhwgAEIANwIQIANBAnRBuNKAgABqIQUCQCAHQQEgA3QiAnENACAFIAA2AgBBACAHIAJyNgKM0ICAACAAIAU2AhggACAANgIIIAAgADYCDAwBCyAEQQBBGSADQQF2ayADQR9GG3QhAyAFKAIAIQICQANAIAIiBSgCBEF4cSAERg0BIANBHXYhAiADQQF0IQMgBSACQQRxakEQaiIGKAIAIgINAAsgBiAANgIAIAAgBTYCGCAAIAA2AgwgACAANgIIDAELIAUoAggiAyAANgIMIAUgADYCCCAAQQA2AhggACAFNgIMIAAgAzYCCAsgCEEIaiEDDAELAkAgCkUNAAJAAkAgACAAKAIcIgVBAnRBuNKAgABqIgMoAgBHDQAgAyAINgIAIAgNAUEAIAlBfiAFd3E2AozQgIAADAILIApBEEEUIAooAhAgAEYbaiAINgIAIAhFDQELIAggCjYCGAJAIAAoAhAiA0UNACAIIAM2AhAgAyAINgIYCyAAQRRqKAIAIgNFDQAgCEEUaiADNgIAIAMgCDYCGAsCQAJAIARBD0sNACAAIAQgAmoiA0EDcjYCBCAAIANqIgMgAygCBEEBcjYCBAwBCyAAIAJqIgUgBEEBcjYCBCAAIAJBA3I2AgQgBSAEaiAENgIAAkAgB0UNACAHQXhxQbDQgIAAaiECQQAoApzQgIAAIQMCQAJAQQEgB0EDdnQiCCAGcQ0AQQAgCCAGcjYCiNCAgAAgAiEIDAELIAIoAgghCAsgCCADNgIMIAIgAzYCCCADIAI2AgwgAyAINgIIC0EAIAU2ApzQgIAAQQAgBDYCkNCAgAALIABBCGohAwsgAUEQaiSAgICAACADCwoAIAAQyYCAgAAL4g0BB38CQCAARQ0AIABBeGoiASAAQXxqKAIAIgJBeHEiAGohAwJAIAJBAXENACACQQNxRQ0BIAEgASgCACICayIBQQAoApjQgIAAIgRJDQEgAiAAaiEAAkAgAUEAKAKc0ICAAEYNAAJAIAJB/wFLDQAgASgCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgASgCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAwsgAiAGRhogAiAENgIIIAQgAjYCDAwCCyABKAIYIQcCQAJAIAEoAgwiBiABRg0AIAEoAggiAiAESRogBiACNgIIIAIgBjYCDAwBCwJAIAFBFGoiAigCACIEDQAgAUEQaiICKAIAIgQNAEEAIQYMAQsDQCACIQUgBCIGQRRqIgIoAgAiBA0AIAZBEGohAiAGKAIQIgQNAAsgBUEANgIACyAHRQ0BAkACQCABIAEoAhwiBEECdEG40oCAAGoiAigCAEcNACACIAY2AgAgBg0BQQBBACgCjNCAgABBfiAEd3E2AozQgIAADAMLIAdBEEEUIAcoAhAgAUYbaiAGNgIAIAZFDQILIAYgBzYCGAJAIAEoAhAiAkUNACAGIAI2AhAgAiAGNgIYCyABKAIUIgJFDQEgBkEUaiACNgIAIAIgBjYCGAwBCyADKAIEIgJBA3FBA0cNACADIAJBfnE2AgRBACAANgKQ0ICAACABIABqIAA2AgAgASAAQQFyNgIEDwsgASADTw0AIAMoAgQiAkEBcUUNAAJAAkAgAkECcQ0AAkAgA0EAKAKg0ICAAEcNAEEAIAE2AqDQgIAAQQBBACgClNCAgAAgAGoiADYClNCAgAAgASAAQQFyNgIEIAFBACgCnNCAgABHDQNBAEEANgKQ0ICAAEEAQQA2ApzQgIAADwsCQCADQQAoApzQgIAARw0AQQAgATYCnNCAgABBAEEAKAKQ0ICAACAAaiIANgKQ0ICAACABIABBAXI2AgQgASAAaiAANgIADwsgAkF4cSAAaiEAAkACQCACQf8BSw0AIAMoAggiBCACQQN2IgVBA3RBsNCAgABqIgZGGgJAIAMoAgwiAiAERw0AQQBBACgCiNCAgABBfiAFd3E2AojQgIAADAILIAIgBkYaIAIgBDYCCCAEIAI2AgwMAQsgAygCGCEHAkACQCADKAIMIgYgA0YNACADKAIIIgJBACgCmNCAgABJGiAGIAI2AgggAiAGNgIMDAELAkAgA0EUaiICKAIAIgQNACADQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQACQAJAIAMgAygCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAgsgB0EQQRQgBygCECADRhtqIAY2AgAgBkUNAQsgBiAHNgIYAkAgAygCECICRQ0AIAYgAjYCECACIAY2AhgLIAMoAhQiAkUNACAGQRRqIAI2AgAgAiAGNgIYCyABIABqIAA2AgAgASAAQQFyNgIEIAFBACgCnNCAgABHDQFBACAANgKQ0ICAAA8LIAMgAkF+cTYCBCABIABqIAA2AgAgASAAQQFyNgIECwJAIABB/wFLDQAgAEF4cUGw0ICAAGohAgJAAkBBACgCiNCAgAAiBEEBIABBA3Z0IgBxDQBBACAEIAByNgKI0ICAACACIQAMAQsgAigCCCEACyAAIAE2AgwgAiABNgIIIAEgAjYCDCABIAA2AggPC0EfIQICQCAAQf///wdLDQAgAEEIdiICIAJBgP4/akEQdkEIcSICdCIEIARBgOAfakEQdkEEcSIEdCIGIAZBgIAPakEQdkECcSIGdEEPdiACIARyIAZyayICQQF0IAAgAkEVanZBAXFyQRxqIQILIAEgAjYCHCABQgA3AhAgAkECdEG40oCAAGohBAJAAkBBACgCjNCAgAAiBkEBIAJ0IgNxDQAgBCABNgIAQQAgBiADcjYCjNCAgAAgASAENgIYIAEgATYCCCABIAE2AgwMAQsgAEEAQRkgAkEBdmsgAkEfRht0IQIgBCgCACEGAkADQCAGIgQoAgRBeHEgAEYNASACQR12IQYgAkEBdCECIAQgBkEEcWpBEGoiAygCACIGDQALIAMgATYCACABIAQ2AhggASABNgIMIAEgATYCCAwBCyAEKAIIIgAgATYCDCAEIAE2AgggAUEANgIYIAEgBDYCDCABIAA2AggLQQBBACgCqNCAgABBf2oiAUF/IAEbNgKo0ICAAAsLBAAAAAtOAAJAIAANAD8AQRB0DwsCQCAAQf//A3ENACAAQX9MDQACQCAAQRB2QAAiAEF/Rw0AQQBBMDYC+NOAgABBfw8LIABBEHQPCxDKgICAAAAL8gICA38BfgJAIAJFDQAgACABOgAAIAIgAGoiA0F/aiABOgAAIAJBA0kNACAAIAE6AAIgACABOgABIANBfWogAToAACADQX5qIAE6AAAgAkEHSQ0AIAAgAToAAyADQXxqIAE6AAAgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIFayICQSBJDQAgAa1CgYCAgBB+IQYgAyAFaiEBA0AgASAGNwMYIAEgBjcDECABIAY3AwggASAGNwMAIAFBIGohASACQWBqIgJBH0sNAAsLIAALC45IAQBBgAgLhkgBAAAAAgAAAAMAAAAAAAAAAAAAAAQAAAAFAAAAAAAAAAAAAAAGAAAABwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEludmFsaWQgY2hhciBpbiB1cmwgcXVlcnkAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9ib2R5AENvbnRlbnQtTGVuZ3RoIG92ZXJmbG93AENodW5rIHNpemUgb3ZlcmZsb3cAUmVzcG9uc2Ugb3ZlcmZsb3cASW52YWxpZCBtZXRob2QgZm9yIEhUVFAveC54IHJlcXVlc3QASW52YWxpZCBtZXRob2QgZm9yIFJUU1AveC54IHJlcXVlc3QARXhwZWN0ZWQgU09VUkNFIG1ldGhvZCBmb3IgSUNFL3gueCByZXF1ZXN0AEludmFsaWQgY2hhciBpbiB1cmwgZnJhZ21lbnQgc3RhcnQARXhwZWN0ZWQgZG90AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fc3RhdHVzAEludmFsaWQgcmVzcG9uc2Ugc3RhdHVzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8='\n", "module.exports = 'AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=='\n", "// @ts-check\n\n'use strict'\n\n/* global WebAssembly */\n\nconst assert = require('assert')\nconst net = require('net')\nconst util = require('./core/util')\nconst timers = require('./timers')\nconst Request = require('./core/request')\nconst DispatcherBase = require('./dispatcher-base')\nconst {\n RequestContentLengthMismatchError,\n ResponseContentLengthMismatchError,\n InvalidArgumentError,\n RequestAbortedError,\n HeadersTimeoutError,\n HeadersOverflowError,\n SocketError,\n InformationalError,\n BodyTimeoutError,\n HTTPParserError,\n ResponseExceededMaxSizeError,\n ClientDestroyedError\n} = require('./core/errors')\nconst buildConnector = require('./core/connect')\nconst {\n kUrl,\n kReset,\n kServerName,\n kClient,\n kBusy,\n kParser,\n kConnect,\n kBlocking,\n kResuming,\n kRunning,\n kPending,\n kSize,\n kWriting,\n kQueue,\n kConnected,\n kConnecting,\n kNeedDrain,\n kNoRef,\n kKeepAliveDefaultTimeout,\n kHostHeader,\n kPendingIdx,\n kRunningIdx,\n kError,\n kPipelining,\n kSocket,\n kKeepAliveTimeoutValue,\n kMaxHeadersSize,\n kKeepAliveMaxTimeout,\n kKeepAliveTimeoutThreshold,\n kHeadersTimeout,\n kBodyTimeout,\n kStrictContentLength,\n kConnector,\n kMaxRedirections,\n kMaxRequests,\n kCounter,\n kClose,\n kDestroy,\n kDispatch,\n kInterceptors,\n kLocalAddress,\n kMaxResponseSize\n} = require('./core/symbols')\nconst FastBuffer = Buffer[Symbol.species]\n\nconst kClosedResolve = Symbol('kClosedResolve')\n\nconst channels = {}\n\ntry {\n const diagnosticsChannel = require('diagnostics_channel')\n channels.sendHeaders = diagnosticsChannel.channel('undici:client:sendHeaders')\n channels.beforeConnect = diagnosticsChannel.channel('undici:client:beforeConnect')\n channels.connectError = diagnosticsChannel.channel('undici:client:connectError')\n channels.connected = diagnosticsChannel.channel('undici:client:connected')\n} catch {\n channels.sendHeaders = { hasSubscribers: false }\n channels.beforeConnect = { hasSubscribers: false }\n channels.connectError = { hasSubscribers: false }\n channels.connected = { hasSubscribers: false }\n}\n\n/**\n * @type {import('../types/client').default}\n */\nclass Client extends DispatcherBase {\n /**\n *\n * @param {string|URL} url\n * @param {import('../types/client').Client.Options} options\n */\n constructor (url, {\n interceptors,\n maxHeaderSize,\n headersTimeout,\n socketTimeout,\n requestTimeout,\n connectTimeout,\n bodyTimeout,\n idleTimeout,\n keepAlive,\n keepAliveTimeout,\n maxKeepAliveTimeout,\n keepAliveMaxTimeout,\n keepAliveTimeoutThreshold,\n socketPath,\n pipelining,\n tls,\n strictContentLength,\n maxCachedSessions,\n maxRedirections,\n connect,\n maxRequestsPerClient,\n localAddress,\n maxResponseSize,\n autoSelectFamily,\n autoSelectFamilyAttemptTimeout\n } = {}) {\n super()\n\n if (keepAlive !== undefined) {\n throw new InvalidArgumentError('unsupported keepAlive, use pipelining=0 instead')\n }\n\n if (socketTimeout !== undefined) {\n throw new InvalidArgumentError('unsupported socketTimeout, use headersTimeout & bodyTimeout instead')\n }\n\n if (requestTimeout !== undefined) {\n throw new InvalidArgumentError('unsupported requestTimeout, use headersTimeout & bodyTimeout instead')\n }\n\n if (idleTimeout !== undefined) {\n throw new InvalidArgumentError('unsupported idleTimeout, use keepAliveTimeout instead')\n }\n\n if (maxKeepAliveTimeout !== undefined) {\n throw new InvalidArgumentError('unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead')\n }\n\n if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {\n throw new InvalidArgumentError('invalid maxHeaderSize')\n }\n\n if (socketPath != null && typeof socketPath !== 'string') {\n throw new InvalidArgumentError('invalid socketPath')\n }\n\n if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {\n throw new InvalidArgumentError('invalid connectTimeout')\n }\n\n if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {\n throw new InvalidArgumentError('invalid keepAliveTimeout')\n }\n\n if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {\n throw new InvalidArgumentError('invalid keepAliveMaxTimeout')\n }\n\n if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {\n throw new InvalidArgumentError('invalid keepAliveTimeoutThreshold')\n }\n\n if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {\n throw new InvalidArgumentError('headersTimeout must be a positive integer or zero')\n }\n\n if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {\n throw new InvalidArgumentError('bodyTimeout must be a positive integer or zero')\n }\n\n if (connect != null && typeof connect !== 'function' && typeof connect !== 'object') {\n throw new InvalidArgumentError('connect must be a function or an object')\n }\n\n if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {\n throw new InvalidArgumentError('maxRedirections must be a positive number')\n }\n\n if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {\n throw new InvalidArgumentError('maxRequestsPerClient must be a positive number')\n }\n\n if (localAddress != null && (typeof localAddress !== 'string' || net.isIP(localAddress) === 0)) {\n throw new InvalidArgumentError('localAddress must be valid string IP address')\n }\n\n if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {\n throw new InvalidArgumentError('maxResponseSize must be a positive number')\n }\n\n if (\n autoSelectFamilyAttemptTimeout != null &&\n (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)\n ) {\n throw new InvalidArgumentError('autoSelectFamilyAttemptTimeout must be a positive number')\n }\n\n if (typeof connect !== 'function') {\n connect = buildConnector({\n ...tls,\n maxCachedSessions,\n socketPath,\n timeout: connectTimeout,\n ...(util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined),\n ...connect\n })\n }\n\n this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client)\n ? interceptors.Client\n : [createRedirectInterceptor({ maxRedirections })]\n this[kUrl] = util.parseOrigin(url)\n this[kConnector] = connect\n this[kSocket] = null\n this[kPipelining] = pipelining != null ? pipelining : 1\n this[kMaxHeadersSize] = maxHeaderSize || 16384\n this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout\n this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 600e3 : keepAliveMaxTimeout\n this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold\n this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout]\n this[kServerName] = null\n this[kLocalAddress] = localAddress != null ? localAddress : null\n this[kResuming] = 0 // 0, idle, 1, scheduled, 2 resuming\n this[kNeedDrain] = 0 // 0, idle, 1, scheduled, 2 resuming\n this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ''}\\r\\n`\n this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 300e3\n this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 300e3\n this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength\n this[kMaxRedirections] = maxRedirections\n this[kMaxRequests] = maxRequestsPerClient\n this[kClosedResolve] = null\n this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1\n\n // kQueue is built up of 3 sections separated by\n // the kRunningIdx and kPendingIdx indices.\n // | complete | running | pending |\n // ^ kRunningIdx ^ kPendingIdx ^ kQueue.length\n // kRunningIdx points to the first running element.\n // kPendingIdx points to the first pending element.\n // This implements a fast queue with an amortized\n // time of O(1).\n\n this[kQueue] = []\n this[kRunningIdx] = 0\n this[kPendingIdx] = 0\n }\n\n get pipelining () {\n return this[kPipelining]\n }\n\n set pipelining (value) {\n this[kPipelining] = value\n resume(this, true)\n }\n\n get [kPending] () {\n return this[kQueue].length - this[kPendingIdx]\n }\n\n get [kRunning] () {\n return this[kPendingIdx] - this[kRunningIdx]\n }\n\n get [kSize] () {\n return this[kQueue].length - this[kRunningIdx]\n }\n\n get [kConnected] () {\n return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed\n }\n\n get [kBusy] () {\n const socket = this[kSocket]\n return (\n (socket && (socket[kReset] || socket[kWriting] || socket[kBlocking])) ||\n (this[kSize] >= (this[kPipelining] || 1)) ||\n this[kPending] > 0\n )\n }\n\n /* istanbul ignore: only used for test */\n [kConnect] (cb) {\n connect(this)\n this.once('connect', cb)\n }\n\n [kDispatch] (opts, handler) {\n const origin = opts.origin || this[kUrl].origin\n\n const request = new Request(origin, opts, handler)\n\n this[kQueue].push(request)\n if (this[kResuming]) {\n // Do nothing.\n } else if (util.bodyLength(request.body) == null && util.isIterable(request.body)) {\n // Wait a tick in case stream/iterator is ended in the same tick.\n this[kResuming] = 1\n process.nextTick(resume, this)\n } else {\n resume(this, true)\n }\n\n if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {\n this[kNeedDrain] = 2\n }\n\n return this[kNeedDrain] < 2\n }\n\n async [kClose] () {\n return new Promise((resolve) => {\n if (!this[kSize]) {\n resolve(null)\n } else {\n this[kClosedResolve] = resolve\n }\n })\n }\n\n async [kDestroy] (err) {\n return new Promise((resolve) => {\n const requests = this[kQueue].splice(this[kPendingIdx])\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i]\n errorRequest(this, request, err)\n }\n\n const callback = () => {\n if (this[kClosedResolve]) {\n // TODO (fix): Should we error here with ClientDestroyedError?\n this[kClosedResolve]()\n this[kClosedResolve] = null\n }\n resolve()\n }\n\n if (!this[kSocket]) {\n queueMicrotask(callback)\n } else {\n util.destroy(this[kSocket].on('close', callback), err)\n }\n\n resume(this)\n })\n }\n}\n\nconst constants = require('./llhttp/constants')\nconst createRedirectInterceptor = require('./interceptor/redirectInterceptor')\nconst EMPTY_BUF = Buffer.alloc(0)\n\nasync function lazyllhttp () {\n const llhttpWasmData = process.env.JEST_WORKER_ID ? require('./llhttp/llhttp-wasm.js') : undefined\n\n let mod\n try {\n mod = await WebAssembly.compile(Buffer.from(require('./llhttp/llhttp_simd-wasm.js'), 'base64'))\n } catch (e) {\n /* istanbul ignore next */\n\n // We could check if the error was caused by the simd option not\n // being enabled, but the occurring of this other error\n // * https://github.com/emscripten-core/emscripten/issues/11495\n // got me to remove that check to avoid breaking Node 12.\n mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require('./llhttp/llhttp-wasm.js'), 'base64'))\n }\n\n return await WebAssembly.instantiate(mod, {\n env: {\n /* eslint-disable camelcase */\n\n wasm_on_url: (p, at, len) => {\n /* istanbul ignore next */\n return 0\n },\n wasm_on_status: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p)\n const start = at - currentBufferPtr + currentBufferRef.byteOffset\n return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0\n },\n wasm_on_message_begin: (p) => {\n assert.strictEqual(currentParser.ptr, p)\n return currentParser.onMessageBegin() || 0\n },\n wasm_on_header_field: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p)\n const start = at - currentBufferPtr + currentBufferRef.byteOffset\n return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0\n },\n wasm_on_header_value: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p)\n const start = at - currentBufferPtr + currentBufferRef.byteOffset\n return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0\n },\n wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {\n assert.strictEqual(currentParser.ptr, p)\n return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0\n },\n wasm_on_body: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p)\n const start = at - currentBufferPtr + currentBufferRef.byteOffset\n return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0\n },\n wasm_on_message_complete: (p) => {\n assert.strictEqual(currentParser.ptr, p)\n return currentParser.onMessageComplete() || 0\n }\n\n /* eslint-enable camelcase */\n }\n })\n}\n\nlet llhttpInstance = null\nlet llhttpPromise = lazyllhttp()\nllhttpPromise.catch()\n\nlet currentParser = null\nlet currentBufferRef = null\nlet currentBufferSize = 0\nlet currentBufferPtr = null\n\nconst TIMEOUT_HEADERS = 1\nconst TIMEOUT_BODY = 2\nconst TIMEOUT_IDLE = 3\n\nclass Parser {\n constructor (client, socket, { exports }) {\n assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0)\n\n this.llhttp = exports\n this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE)\n this.client = client\n this.socket = socket\n this.timeout = null\n this.timeoutValue = null\n this.timeoutType = null\n this.statusCode = null\n this.statusText = ''\n this.upgrade = false\n this.headers = []\n this.headersSize = 0\n this.headersMaxSize = client[kMaxHeadersSize]\n this.shouldKeepAlive = false\n this.paused = false\n this.resume = this.resume.bind(this)\n\n this.bytesRead = 0\n\n this.keepAlive = ''\n this.contentLength = ''\n this.connection = ''\n this.maxResponseSize = client[kMaxResponseSize]\n }\n\n setTimeout (value, type) {\n this.timeoutType = type\n if (value !== this.timeoutValue) {\n timers.clearTimeout(this.timeout)\n if (value) {\n this.timeout = timers.setTimeout(onParserTimeout, value, this)\n // istanbul ignore else: only for jest\n if (this.timeout.unref) {\n this.timeout.unref()\n }\n } else {\n this.timeout = null\n }\n this.timeoutValue = value\n } else if (this.timeout) {\n // istanbul ignore else: only for jest\n if (this.timeout.refresh) {\n this.timeout.refresh()\n }\n }\n }\n\n resume () {\n if (this.socket.destroyed || !this.paused) {\n return\n }\n\n assert(this.ptr != null)\n assert(currentParser == null)\n\n this.llhttp.llhttp_resume(this.ptr)\n\n assert(this.timeoutType === TIMEOUT_BODY)\n if (this.timeout) {\n // istanbul ignore else: only for jest\n if (this.timeout.refresh) {\n this.timeout.refresh()\n }\n }\n\n this.paused = false\n this.execute(this.socket.read() || EMPTY_BUF) // Flush parser.\n this.readMore()\n }\n\n readMore () {\n while (!this.paused && this.ptr) {\n const chunk = this.socket.read()\n if (chunk === null) {\n break\n }\n this.execute(chunk)\n }\n }\n\n execute (data) {\n assert(this.ptr != null)\n assert(currentParser == null)\n assert(!this.paused)\n\n const { socket, llhttp } = this\n\n if (data.length > currentBufferSize) {\n if (currentBufferPtr) {\n llhttp.free(currentBufferPtr)\n }\n currentBufferSize = Math.ceil(data.length / 4096) * 4096\n currentBufferPtr = llhttp.malloc(currentBufferSize)\n }\n\n new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data)\n\n // Call `execute` on the wasm parser.\n // We pass the `llhttp_parser` pointer address, the pointer address of buffer view data,\n // and finally the length of bytes to parse.\n // The return value is an error code or `constants.ERROR.OK`.\n try {\n let ret\n\n try {\n currentBufferRef = data\n currentParser = this\n ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length)\n /* eslint-disable-next-line no-useless-catch */\n } catch (err) {\n /* istanbul ignore next: difficult to make a test case for */\n throw err\n } finally {\n currentParser = null\n currentBufferRef = null\n }\n\n const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr\n\n if (ret === constants.ERROR.PAUSED_UPGRADE) {\n this.onUpgrade(data.slice(offset))\n } else if (ret === constants.ERROR.PAUSED) {\n this.paused = true\n socket.unshift(data.slice(offset))\n } else if (ret !== constants.ERROR.OK) {\n const ptr = llhttp.llhttp_get_error_reason(this.ptr)\n let message = ''\n /* istanbul ignore else: difficult to make a test case for */\n if (ptr) {\n const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0)\n message =\n 'Response does not match the HTTP/1.1 protocol (' +\n Buffer.from(llhttp.memory.buffer, ptr, len).toString() +\n ')'\n }\n throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset))\n }\n } catch (err) {\n util.destroy(socket, err)\n }\n }\n\n destroy () {\n assert(this.ptr != null)\n assert(currentParser == null)\n\n this.llhttp.llhttp_free(this.ptr)\n this.ptr = null\n\n timers.clearTimeout(this.timeout)\n this.timeout = null\n this.timeoutValue = null\n this.timeoutType = null\n\n this.paused = false\n }\n\n onStatus (buf) {\n this.statusText = buf.toString()\n }\n\n onMessageBegin () {\n const { socket, client } = this\n\n /* istanbul ignore next: difficult to make a test case for */\n if (socket.destroyed) {\n return -1\n }\n\n const request = client[kQueue][client[kRunningIdx]]\n if (!request) {\n return -1\n }\n }\n\n onHeaderField (buf) {\n const len = this.headers.length\n\n if ((len & 1) === 0) {\n this.headers.push(buf)\n } else {\n this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf])\n }\n\n this.trackHeader(buf.length)\n }\n\n onHeaderValue (buf) {\n let len = this.headers.length\n\n if ((len & 1) === 1) {\n this.headers.push(buf)\n len += 1\n } else {\n this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf])\n }\n\n const key = this.headers[len - 2]\n if (key.length === 10 && key.toString().toLowerCase() === 'keep-alive') {\n this.keepAlive += buf.toString()\n } else if (key.length === 10 && key.toString().toLowerCase() === 'connection') {\n this.connection += buf.toString()\n } else if (key.length === 14 && key.toString().toLowerCase() === 'content-length') {\n this.contentLength += buf.toString()\n }\n\n this.trackHeader(buf.length)\n }\n\n trackHeader (len) {\n this.headersSize += len\n if (this.headersSize >= this.headersMaxSize) {\n util.destroy(this.socket, new HeadersOverflowError())\n }\n }\n\n onUpgrade (head) {\n const { upgrade, client, socket, headers, statusCode } = this\n\n assert(upgrade)\n\n const request = client[kQueue][client[kRunningIdx]]\n assert(request)\n\n assert(!socket.destroyed)\n assert(socket === client[kSocket])\n assert(!this.paused)\n assert(request.upgrade || request.method === 'CONNECT')\n\n this.statusCode = null\n this.statusText = ''\n this.shouldKeepAlive = null\n\n assert(this.headers.length % 2 === 0)\n this.headers = []\n this.headersSize = 0\n\n socket.unshift(head)\n\n socket[kParser].destroy()\n socket[kParser] = null\n\n socket[kClient] = null\n socket[kError] = null\n socket\n .removeListener('error', onSocketError)\n .removeListener('readable', onSocketReadable)\n .removeListener('end', onSocketEnd)\n .removeListener('close', onSocketClose)\n\n client[kSocket] = null\n client[kQueue][client[kRunningIdx]++] = null\n client.emit('disconnect', client[kUrl], [client], new InformationalError('upgrade'))\n\n try {\n request.onUpgrade(statusCode, headers, socket)\n } catch (err) {\n util.destroy(socket, err)\n }\n\n resume(client)\n }\n\n onHeadersComplete (statusCode, upgrade, shouldKeepAlive) {\n const { client, socket, headers, statusText } = this\n\n /* istanbul ignore next: difficult to make a test case for */\n if (socket.destroyed) {\n return -1\n }\n\n const request = client[kQueue][client[kRunningIdx]]\n\n /* istanbul ignore next: difficult to make a test case for */\n if (!request) {\n return -1\n }\n\n assert(!this.upgrade)\n assert(this.statusCode < 200)\n\n if (statusCode === 100) {\n util.destroy(socket, new SocketError('bad response', util.getSocketInfo(socket)))\n return -1\n }\n\n /* this can only happen if server is misbehaving */\n if (upgrade && !request.upgrade) {\n util.destroy(socket, new SocketError('bad upgrade', util.getSocketInfo(socket)))\n return -1\n }\n\n assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS)\n\n this.statusCode = statusCode\n this.shouldKeepAlive = (\n shouldKeepAlive ||\n // Override llhttp value which does not allow keepAlive for HEAD.\n (request.method === 'HEAD' && !socket[kReset] && this.connection.toLowerCase() === 'keep-alive')\n )\n\n if (this.statusCode >= 200) {\n const bodyTimeout = request.bodyTimeout != null\n ? request.bodyTimeout\n : client[kBodyTimeout]\n this.setTimeout(bodyTimeout, TIMEOUT_BODY)\n } else if (this.timeout) {\n // istanbul ignore else: only for jest\n if (this.timeout.refresh) {\n this.timeout.refresh()\n }\n }\n\n if (request.method === 'CONNECT') {\n assert(client[kRunning] === 1)\n this.upgrade = true\n return 2\n }\n\n if (upgrade) {\n assert(client[kRunning] === 1)\n this.upgrade = true\n return 2\n }\n\n assert(this.headers.length % 2 === 0)\n this.headers = []\n this.headersSize = 0\n\n if (this.shouldKeepAlive && client[kPipelining]) {\n const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null\n\n if (keepAliveTimeout != null) {\n const timeout = Math.min(\n keepAliveTimeout - client[kKeepAliveTimeoutThreshold],\n client[kKeepAliveMaxTimeout]\n )\n if (timeout <= 0) {\n socket[kReset] = true\n } else {\n client[kKeepAliveTimeoutValue] = timeout\n }\n } else {\n client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]\n }\n } else {\n // Stop more requests from being dispatched.\n socket[kReset] = true\n }\n\n let pause\n try {\n pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false\n } catch (err) {\n util.destroy(socket, err)\n return -1\n }\n\n if (request.method === 'HEAD') {\n return 1\n }\n\n if (statusCode < 200) {\n return 1\n }\n\n if (socket[kBlocking]) {\n socket[kBlocking] = false\n resume(client)\n }\n\n return pause ? constants.ERROR.PAUSED : 0\n }\n\n onBody (buf) {\n const { client, socket, statusCode, maxResponseSize } = this\n\n if (socket.destroyed) {\n return -1\n }\n\n const request = client[kQueue][client[kRunningIdx]]\n assert(request)\n\n assert.strictEqual(this.timeoutType, TIMEOUT_BODY)\n if (this.timeout) {\n // istanbul ignore else: only for jest\n if (this.timeout.refresh) {\n this.timeout.refresh()\n }\n }\n\n assert(statusCode >= 200)\n\n if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {\n util.destroy(socket, new ResponseExceededMaxSizeError())\n return -1\n }\n\n this.bytesRead += buf.length\n\n try {\n if (request.onData(buf) === false) {\n return constants.ERROR.PAUSED\n }\n } catch (err) {\n util.destroy(socket, err)\n return -1\n }\n }\n\n onMessageComplete () {\n const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this\n\n if (socket.destroyed && (!statusCode || shouldKeepAlive)) {\n return -1\n }\n\n if (upgrade) {\n return\n }\n\n const request = client[kQueue][client[kRunningIdx]]\n assert(request)\n\n assert(statusCode >= 100)\n\n this.statusCode = null\n this.statusText = ''\n this.bytesRead = 0\n this.contentLength = ''\n this.keepAlive = ''\n this.connection = ''\n\n assert(this.headers.length % 2 === 0)\n this.headers = []\n this.headersSize = 0\n\n if (statusCode < 200) {\n return\n }\n\n /* istanbul ignore next: should be handled by llhttp? */\n if (request.method !== 'HEAD' && contentLength && bytesRead !== parseInt(contentLength, 10)) {\n util.destroy(socket, new ResponseContentLengthMismatchError())\n return -1\n }\n\n try {\n request.onComplete(headers)\n } catch (err) {\n errorRequest(client, request, err)\n }\n\n client[kQueue][client[kRunningIdx]++] = null\n\n if (socket[kWriting]) {\n assert.strictEqual(client[kRunning], 0)\n // Response completed before request.\n util.destroy(socket, new InformationalError('reset'))\n return constants.ERROR.PAUSED\n } else if (!shouldKeepAlive) {\n util.destroy(socket, new InformationalError('reset'))\n return constants.ERROR.PAUSED\n } else if (socket[kReset] && client[kRunning] === 0) {\n // Destroy socket once all requests have completed.\n // The request at the tail of the pipeline is the one\n // that requested reset and no further requests should\n // have been queued since then.\n util.destroy(socket, new InformationalError('reset'))\n return constants.ERROR.PAUSED\n } else if (client[kPipelining] === 1) {\n // We must wait a full event loop cycle to reuse this socket to make sure\n // that non-spec compliant servers are not closing the connection even if they\n // said they won't.\n setImmediate(resume, client)\n } else {\n resume(client)\n }\n }\n}\n\nfunction onParserTimeout (parser) {\n const { socket, timeoutType, client } = parser\n\n /* istanbul ignore else */\n if (timeoutType === TIMEOUT_HEADERS) {\n if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {\n assert(!parser.paused, 'cannot be paused while waiting for headers')\n util.destroy(socket, new HeadersTimeoutError())\n }\n } else if (timeoutType === TIMEOUT_BODY) {\n if (!parser.paused) {\n util.destroy(socket, new BodyTimeoutError())\n }\n } else if (timeoutType === TIMEOUT_IDLE) {\n assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue])\n util.destroy(socket, new InformationalError('socket idle timeout'))\n }\n}\n\nfunction onSocketReadable () {\n const { [kParser]: parser } = this\n parser.readMore()\n}\n\nfunction onSocketError (err) {\n const { [kParser]: parser } = this\n\n assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')\n\n // On Mac OS, we get an ECONNRESET even if there is a full body to be forwarded\n // to the user.\n if (err.code === 'ECONNRESET' && parser.statusCode && !parser.shouldKeepAlive) {\n // We treat all incoming data so for as a valid response.\n parser.onMessageComplete()\n return\n }\n\n this[kError] = err\n\n onError(this[kClient], err)\n}\n\nfunction onError (client, err) {\n if (\n client[kRunning] === 0 &&\n err.code !== 'UND_ERR_INFO' &&\n err.code !== 'UND_ERR_SOCKET'\n ) {\n // Error is not caused by running request and not a recoverable\n // socket error.\n\n assert(client[kPendingIdx] === client[kRunningIdx])\n\n const requests = client[kQueue].splice(client[kRunningIdx])\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i]\n errorRequest(client, request, err)\n }\n assert(client[kSize] === 0)\n }\n}\n\nfunction onSocketEnd () {\n const { [kParser]: parser } = this\n\n if (parser.statusCode && !parser.shouldKeepAlive) {\n // We treat all incoming data so far as a valid response.\n parser.onMessageComplete()\n return\n }\n\n util.destroy(this, new SocketError('other side closed', util.getSocketInfo(this)))\n}\n\nfunction onSocketClose () {\n const { [kClient]: client } = this\n\n if (!this[kError] && this[kParser].statusCode && !this[kParser].shouldKeepAlive) {\n // We treat all incoming data so far as a valid response.\n this[kParser].onMessageComplete()\n }\n\n this[kParser].destroy()\n this[kParser] = null\n\n const err = this[kError] || new SocketError('closed', util.getSocketInfo(this))\n\n client[kSocket] = null\n\n if (client.destroyed) {\n assert(client[kPending] === 0)\n\n // Fail entire queue.\n const requests = client[kQueue].splice(client[kRunningIdx])\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i]\n errorRequest(client, request, err)\n }\n } else if (client[kRunning] > 0 && err.code !== 'UND_ERR_INFO') {\n // Fail head of pipeline.\n const request = client[kQueue][client[kRunningIdx]]\n client[kQueue][client[kRunningIdx]++] = null\n\n errorRequest(client, request, err)\n }\n\n client[kPendingIdx] = client[kRunningIdx]\n\n assert(client[kRunning] === 0)\n\n client.emit('disconnect', client[kUrl], [client], err)\n\n resume(client)\n}\n\nasync function connect (client) {\n assert(!client[kConnecting])\n assert(!client[kSocket])\n\n let { host, hostname, protocol, port } = client[kUrl]\n\n // Resolve ipv6\n if (hostname[0] === '[') {\n const idx = hostname.indexOf(']')\n\n assert(idx !== -1)\n const ip = hostname.substr(1, idx - 1)\n\n assert(net.isIP(ip))\n hostname = ip\n }\n\n client[kConnecting] = true\n\n if (channels.beforeConnect.hasSubscribers) {\n channels.beforeConnect.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector]\n })\n }\n\n try {\n const socket = await new Promise((resolve, reject) => {\n client[kConnector]({\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n }, (err, socket) => {\n if (err) {\n reject(err)\n } else {\n resolve(socket)\n }\n })\n })\n\n if (client.destroyed) {\n util.destroy(socket.on('error', () => {}), new ClientDestroyedError())\n return\n }\n\n if (!llhttpInstance) {\n llhttpInstance = await llhttpPromise\n llhttpPromise = null\n }\n\n client[kConnecting] = false\n\n assert(socket)\n\n socket[kNoRef] = false\n socket[kWriting] = false\n socket[kReset] = false\n socket[kBlocking] = false\n socket[kError] = null\n socket[kParser] = new Parser(client, socket, llhttpInstance)\n socket[kClient] = client\n socket[kCounter] = 0\n socket[kMaxRequests] = client[kMaxRequests]\n socket\n .on('error', onSocketError)\n .on('readable', onSocketReadable)\n .on('end', onSocketEnd)\n .on('close', onSocketClose)\n\n client[kSocket] = socket\n\n if (channels.connected.hasSubscribers) {\n channels.connected.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector],\n socket\n })\n }\n client.emit('connect', client[kUrl], [client])\n } catch (err) {\n if (client.destroyed) {\n return\n }\n\n client[kConnecting] = false\n\n if (channels.connectError.hasSubscribers) {\n channels.connectError.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector],\n error: err\n })\n }\n\n if (err.code === 'ERR_TLS_CERT_ALTNAME_INVALID') {\n assert(client[kRunning] === 0)\n while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {\n const request = client[kQueue][client[kPendingIdx]++]\n errorRequest(client, request, err)\n }\n } else {\n onError(client, err)\n }\n\n client.emit('connectionError', client[kUrl], [client], err)\n }\n\n resume(client)\n}\n\nfunction emitDrain (client) {\n client[kNeedDrain] = 0\n client.emit('drain', client[kUrl], [client])\n}\n\nfunction resume (client, sync) {\n if (client[kResuming] === 2) {\n return\n }\n\n client[kResuming] = 2\n\n _resume(client, sync)\n client[kResuming] = 0\n\n if (client[kRunningIdx] > 256) {\n client[kQueue].splice(0, client[kRunningIdx])\n client[kPendingIdx] -= client[kRunningIdx]\n client[kRunningIdx] = 0\n }\n}\n\nfunction _resume (client, sync) {\n while (true) {\n if (client.destroyed) {\n assert(client[kPending] === 0)\n return\n }\n\n if (client[kClosedResolve] && !client[kSize]) {\n client[kClosedResolve]()\n client[kClosedResolve] = null\n return\n }\n\n const socket = client[kSocket]\n\n if (socket && !socket.destroyed) {\n if (client[kSize] === 0) {\n if (!socket[kNoRef] && socket.unref) {\n socket.unref()\n socket[kNoRef] = true\n }\n } else if (socket[kNoRef] && socket.ref) {\n socket.ref()\n socket[kNoRef] = false\n }\n\n if (client[kSize] === 0) {\n if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {\n socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE)\n }\n } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {\n if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {\n const request = client[kQueue][client[kRunningIdx]]\n const headersTimeout = request.headersTimeout != null\n ? request.headersTimeout\n : client[kHeadersTimeout]\n socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS)\n }\n }\n }\n\n if (client[kBusy]) {\n client[kNeedDrain] = 2\n } else if (client[kNeedDrain] === 2) {\n if (sync) {\n client[kNeedDrain] = 1\n process.nextTick(emitDrain, client)\n } else {\n emitDrain(client)\n }\n continue\n }\n\n if (client[kPending] === 0) {\n return\n }\n\n if (client[kRunning] >= (client[kPipelining] || 1)) {\n return\n }\n\n const request = client[kQueue][client[kPendingIdx]]\n\n if (client[kUrl].protocol === 'https:' && client[kServerName] !== request.servername) {\n if (client[kRunning] > 0) {\n return\n }\n\n client[kServerName] = request.servername\n\n if (socket && socket.servername !== request.servername) {\n util.destroy(socket, new InformationalError('servername changed'))\n return\n }\n }\n\n if (client[kConnecting]) {\n return\n }\n\n if (!socket) {\n connect(client)\n return\n }\n\n if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {\n return\n }\n\n if (client[kRunning] > 0 && !request.idempotent) {\n // Non-idempotent request cannot be retried.\n // Ensure that no other requests are inflight and\n // could cause failure.\n return\n }\n\n if (client[kRunning] > 0 && (request.upgrade || request.method === 'CONNECT')) {\n // Don't dispatch an upgrade until all preceding requests have completed.\n // A misbehaving server might upgrade the connection before all pipelined\n // request has completed.\n return\n }\n\n if (util.isStream(request.body) && util.bodyLength(request.body) === 0) {\n request.body\n .on('data', /* istanbul ignore next */ function () {\n /* istanbul ignore next */\n assert(false)\n })\n .on('error', function (err) {\n errorRequest(client, request, err)\n })\n .on('end', function () {\n util.destroy(this)\n })\n\n request.body = null\n }\n\n if (client[kRunning] > 0 &&\n (util.isStream(request.body) || util.isAsyncIterable(request.body))) {\n // Request with stream or iterator body can error while other requests\n // are inflight and indirectly error those as well.\n // Ensure this doesn't happen by waiting for inflight\n // to complete before dispatching.\n\n // Request with stream or iterator body cannot be retried.\n // Ensure that no other requests are inflight and\n // could cause failure.\n return\n }\n\n if (!request.aborted && write(client, request)) {\n client[kPendingIdx]++\n } else {\n client[kQueue].splice(client[kPendingIdx], 1)\n }\n }\n}\n\nfunction write (client, request) {\n const { body, method, path, host, upgrade, headers, blocking, reset } = request\n\n // https://tools.ietf.org/html/rfc7231#section-4.3.1\n // https://tools.ietf.org/html/rfc7231#section-4.3.2\n // https://tools.ietf.org/html/rfc7231#section-4.3.5\n\n // Sending a payload body on a request that does not\n // expect it can cause undefined behavior on some\n // servers and corrupt connection state. Do not\n // re-use the connection for further requests.\n\n const expectsPayload = (\n method === 'PUT' ||\n method === 'POST' ||\n method === 'PATCH'\n )\n\n if (body && typeof body.read === 'function') {\n // Try to read EOF in order to get length.\n body.read(0)\n }\n\n let contentLength = util.bodyLength(body)\n\n if (contentLength === null) {\n contentLength = request.contentLength\n }\n\n if (contentLength === 0 && !expectsPayload) {\n // https://tools.ietf.org/html/rfc7230#section-3.3.2\n // A user agent SHOULD NOT send a Content-Length header field when\n // the request message does not contain a payload body and the method\n // semantics do not anticipate such a body.\n\n contentLength = null\n }\n\n if (request.contentLength !== null && request.contentLength !== contentLength) {\n if (client[kStrictContentLength]) {\n errorRequest(client, request, new RequestContentLengthMismatchError())\n return false\n }\n\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n\n const socket = client[kSocket]\n\n try {\n request.onConnect((err) => {\n if (request.aborted || request.completed) {\n return\n }\n\n errorRequest(client, request, err || new RequestAbortedError())\n\n util.destroy(socket, new InformationalError('aborted'))\n })\n } catch (err) {\n errorRequest(client, request, err)\n }\n\n if (request.aborted) {\n return false\n }\n\n if (method === 'HEAD') {\n // https://github.com/mcollina/undici/issues/258\n // Close after a HEAD request to interop with misbehaving servers\n // that may send a body in the response.\n\n socket[kReset] = true\n }\n\n if (upgrade || method === 'CONNECT') {\n // On CONNECT or upgrade, block pipeline from dispatching further\n // requests on this connection.\n\n socket[kReset] = true\n }\n\n if (reset != null) {\n socket[kReset] = reset\n }\n\n if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {\n socket[kReset] = true\n }\n\n if (blocking) {\n socket[kBlocking] = true\n }\n\n let header = `${method} ${path} HTTP/1.1\\r\\n`\n\n if (typeof host === 'string') {\n header += `host: ${host}\\r\\n`\n } else {\n header += client[kHostHeader]\n }\n\n if (upgrade) {\n header += `connection: upgrade\\r\\nupgrade: ${upgrade}\\r\\n`\n } else if (client[kPipelining] && !socket[kReset]) {\n header += 'connection: keep-alive\\r\\n'\n } else {\n header += 'connection: close\\r\\n'\n }\n\n if (headers) {\n header += headers\n }\n\n if (channels.sendHeaders.hasSubscribers) {\n channels.sendHeaders.publish({ request, headers: header, socket })\n }\n\n /* istanbul ignore else: assertion */\n if (!body) {\n if (contentLength === 0) {\n socket.write(`${header}content-length: 0\\r\\n\\r\\n`, 'latin1')\n } else {\n assert(contentLength === null, 'no body must not have content length')\n socket.write(`${header}\\r\\n`, 'latin1')\n }\n request.onRequestSent()\n } else if (util.isBuffer(body)) {\n assert(contentLength === body.byteLength, 'buffer body must have content length')\n\n socket.cork()\n socket.write(`${header}content-length: ${contentLength}\\r\\n\\r\\n`, 'latin1')\n socket.write(body)\n socket.uncork()\n request.onBodySent(body)\n request.onRequestSent()\n if (!expectsPayload) {\n socket[kReset] = true\n }\n } else if (util.isBlobLike(body)) {\n if (typeof body.stream === 'function') {\n writeIterable({ body: body.stream(), client, request, socket, contentLength, header, expectsPayload })\n } else {\n writeBlob({ body, client, request, socket, contentLength, header, expectsPayload })\n }\n } else if (util.isStream(body)) {\n writeStream({ body, client, request, socket, contentLength, header, expectsPayload })\n } else if (util.isIterable(body)) {\n writeIterable({ body, client, request, socket, contentLength, header, expectsPayload })\n } else {\n assert(false)\n }\n\n return true\n}\n\nfunction writeStream ({ body, client, request, socket, contentLength, header, expectsPayload }) {\n assert(contentLength !== 0 || client[kRunning] === 0, 'stream body cannot be pipelined')\n\n let finished = false\n\n const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header })\n\n const onData = function (chunk) {\n if (finished) {\n return\n }\n\n try {\n if (!writer.write(chunk) && this.pause) {\n this.pause()\n }\n } catch (err) {\n util.destroy(this, err)\n }\n }\n const onDrain = function () {\n if (finished) {\n return\n }\n\n if (body.resume) {\n body.resume()\n }\n }\n const onAbort = function () {\n onFinished(new RequestAbortedError())\n }\n const onFinished = function (err) {\n if (finished) {\n return\n }\n\n finished = true\n\n assert(socket.destroyed || (socket[kWriting] && client[kRunning] <= 1))\n\n socket\n .off('drain', onDrain)\n .off('error', onFinished)\n\n body\n .removeListener('data', onData)\n .removeListener('end', onFinished)\n .removeListener('error', onFinished)\n .removeListener('close', onAbort)\n\n if (!err) {\n try {\n writer.end()\n } catch (er) {\n err = er\n }\n }\n\n writer.destroy(err)\n\n if (err && (err.code !== 'UND_ERR_INFO' || err.message !== 'reset')) {\n util.destroy(body, err)\n } else {\n util.destroy(body)\n }\n }\n\n body\n .on('data', onData)\n .on('end', onFinished)\n .on('error', onFinished)\n .on('close', onAbort)\n\n if (body.resume) {\n body.resume()\n }\n\n socket\n .on('drain', onDrain)\n .on('error', onFinished)\n}\n\nasync function writeBlob ({ body, client, request, socket, contentLength, header, expectsPayload }) {\n assert(contentLength === body.size, 'blob body must have content length')\n\n try {\n if (contentLength != null && contentLength !== body.size) {\n throw new RequestContentLengthMismatchError()\n }\n\n const buffer = Buffer.from(await body.arrayBuffer())\n\n socket.cork()\n socket.write(`${header}content-length: ${contentLength}\\r\\n\\r\\n`, 'latin1')\n socket.write(buffer)\n socket.uncork()\n\n request.onBodySent(buffer)\n request.onRequestSent()\n\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n resume(client)\n } catch (err) {\n util.destroy(socket, err)\n }\n}\n\nasync function writeIterable ({ body, client, request, socket, contentLength, header, expectsPayload }) {\n assert(contentLength !== 0 || client[kRunning] === 0, 'iterator body cannot be pipelined')\n\n let callback = null\n function onDrain () {\n if (callback) {\n const cb = callback\n callback = null\n cb()\n }\n }\n\n const waitForDrain = () => new Promise((resolve, reject) => {\n assert(callback === null)\n\n if (socket[kError]) {\n reject(socket[kError])\n } else {\n callback = resolve\n }\n })\n\n socket\n .on('close', onDrain)\n .on('drain', onDrain)\n\n const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header })\n try {\n // It's up to the user to somehow abort the async iterable.\n for await (const chunk of body) {\n if (socket[kError]) {\n throw socket[kError]\n }\n\n if (!writer.write(chunk)) {\n await waitForDrain()\n }\n }\n\n writer.end()\n } catch (err) {\n writer.destroy(err)\n } finally {\n socket\n .off('close', onDrain)\n .off('drain', onDrain)\n }\n}\n\nclass AsyncWriter {\n constructor ({ socket, request, contentLength, client, expectsPayload, header }) {\n this.socket = socket\n this.request = request\n this.contentLength = contentLength\n this.client = client\n this.bytesWritten = 0\n this.expectsPayload = expectsPayload\n this.header = header\n\n socket[kWriting] = true\n }\n\n write (chunk) {\n const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this\n\n if (socket[kError]) {\n throw socket[kError]\n }\n\n if (socket.destroyed) {\n return false\n }\n\n const len = Buffer.byteLength(chunk)\n if (!len) {\n return true\n }\n\n // We should defer writing chunks.\n if (contentLength !== null && bytesWritten + len > contentLength) {\n if (client[kStrictContentLength]) {\n throw new RequestContentLengthMismatchError()\n }\n\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n\n socket.cork()\n\n if (bytesWritten === 0) {\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n if (contentLength === null) {\n socket.write(`${header}transfer-encoding: chunked\\r\\n`, 'latin1')\n } else {\n socket.write(`${header}content-length: ${contentLength}\\r\\n\\r\\n`, 'latin1')\n }\n }\n\n if (contentLength === null) {\n socket.write(`\\r\\n${len.toString(16)}\\r\\n`, 'latin1')\n }\n\n this.bytesWritten += len\n\n const ret = socket.write(chunk)\n\n socket.uncork()\n\n request.onBodySent(chunk)\n\n if (!ret) {\n if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {\n // istanbul ignore else: only for jest\n if (socket[kParser].timeout.refresh) {\n socket[kParser].timeout.refresh()\n }\n }\n }\n\n return ret\n }\n\n end () {\n const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this\n request.onRequestSent()\n\n socket[kWriting] = false\n\n if (socket[kError]) {\n throw socket[kError]\n }\n\n if (socket.destroyed) {\n return\n }\n\n if (bytesWritten === 0) {\n if (expectsPayload) {\n // https://tools.ietf.org/html/rfc7230#section-3.3.2\n // A user agent SHOULD send a Content-Length in a request message when\n // no Transfer-Encoding is sent and the request method defines a meaning\n // for an enclosed payload body.\n\n socket.write(`${header}content-length: 0\\r\\n\\r\\n`, 'latin1')\n } else {\n socket.write(`${header}\\r\\n`, 'latin1')\n }\n } else if (contentLength === null) {\n socket.write('\\r\\n0\\r\\n\\r\\n', 'latin1')\n }\n\n if (contentLength !== null && bytesWritten !== contentLength) {\n if (client[kStrictContentLength]) {\n throw new RequestContentLengthMismatchError()\n } else {\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n }\n\n if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {\n // istanbul ignore else: only for jest\n if (socket[kParser].timeout.refresh) {\n socket[kParser].timeout.refresh()\n }\n }\n\n resume(client)\n }\n\n destroy (err) {\n const { socket, client } = this\n\n socket[kWriting] = false\n\n if (err) {\n assert(client[kRunning] <= 1, 'pipeline should only contain this request')\n util.destroy(socket, err)\n }\n }\n}\n\nfunction errorRequest (client, request, err) {\n try {\n request.onError(err)\n assert(request.aborted)\n } catch (err) {\n client.emit('error', err)\n }\n}\n\nmodule.exports = Client\n", "/* eslint-disable */\n\n'use strict'\n\n// Extracted from node/lib/internal/fixed_queue.js\n\n// Currently optimal queue size, tested on V8 6.0 - 6.6. Must be power of two.\nconst kSize = 2048;\nconst kMask = kSize - 1;\n\n// The FixedQueue is implemented as a singly-linked list of fixed-size\n// circular buffers. It looks something like this:\n//\n// head tail\n// | |\n// v v\n// +-----------+ <-----\\ +-----------+ <------\\ +-----------+\n// | [null] | \\----- | next | \\------- | next |\n// +-----------+ +-----------+ +-----------+\n// | item | <-- bottom | item | <-- bottom | [empty] |\n// | item | | item | | [empty] |\n// | item | | item | | [empty] |\n// | item | | item | | [empty] |\n// | item | | item | bottom --> | item |\n// | item | | item | | item |\n// | ... | | ... | | ... |\n// | item | | item | | item |\n// | item | | item | | item |\n// | [empty] | <-- top | item | | item |\n// | [empty] | | item | | item |\n// | [empty] | | [empty] | <-- top top --> | [empty] |\n// +-----------+ +-----------+ +-----------+\n//\n// Or, if there is only one circular buffer, it looks something\n// like either of these:\n//\n// head tail head tail\n// | | | |\n// v v v v\n// +-----------+ +-----------+\n// | [null] | | [null] |\n// +-----------+ +-----------+\n// | [empty] | | item |\n// | [empty] | | item |\n// | item | <-- bottom top --> | [empty] |\n// | item | | [empty] |\n// | [empty] | <-- top bottom --> | item |\n// | [empty] | | item |\n// +-----------+ +-----------+\n//\n// Adding a value means moving `top` forward by one, removing means\n// moving `bottom` forward by one. After reaching the end, the queue\n// wraps around.\n//\n// When `top === bottom` the current queue is empty and when\n// `top + 1 === bottom` it's full. This wastes a single space of storage\n// but allows much quicker checks.\n\nclass FixedCircularBuffer {\n constructor() {\n this.bottom = 0;\n this.top = 0;\n this.list = new Array(kSize);\n this.next = null;\n }\n\n isEmpty() {\n return this.top === this.bottom;\n }\n\n isFull() {\n return ((this.top + 1) & kMask) === this.bottom;\n }\n\n push(data) {\n this.list[this.top] = data;\n this.top = (this.top + 1) & kMask;\n }\n\n shift() {\n const nextItem = this.list[this.bottom];\n if (nextItem === undefined)\n return null;\n this.list[this.bottom] = undefined;\n this.bottom = (this.bottom + 1) & kMask;\n return nextItem;\n }\n}\n\nmodule.exports = class FixedQueue {\n constructor() {\n this.head = this.tail = new FixedCircularBuffer();\n }\n\n isEmpty() {\n return this.head.isEmpty();\n }\n\n push(data) {\n if (this.head.isFull()) {\n // Head is full: Creates a new queue, sets the old queue's `.next` to it,\n // and sets it as the new main queue.\n this.head = this.head.next = new FixedCircularBuffer();\n }\n this.head.push(data);\n }\n\n shift() {\n const tail = this.tail;\n const next = tail.shift();\n if (tail.isEmpty() && tail.next !== null) {\n // If there is another queue, it forms the new tail.\n this.tail = tail.next;\n }\n return next;\n }\n};\n", "const { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require('./core/symbols')\nconst kPool = Symbol('pool')\n\nclass PoolStats {\n constructor (pool) {\n this[kPool] = pool\n }\n\n get connected () {\n return this[kPool][kConnected]\n }\n\n get free () {\n return this[kPool][kFree]\n }\n\n get pending () {\n return this[kPool][kPending]\n }\n\n get queued () {\n return this[kPool][kQueued]\n }\n\n get running () {\n return this[kPool][kRunning]\n }\n\n get size () {\n return this[kPool][kSize]\n }\n}\n\nmodule.exports = PoolStats\n", "'use strict'\n\nconst DispatcherBase = require('./dispatcher-base')\nconst FixedQueue = require('./node/fixed-queue')\nconst { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require('./core/symbols')\nconst PoolStats = require('./pool-stats')\n\nconst kClients = Symbol('clients')\nconst kNeedDrain = Symbol('needDrain')\nconst kQueue = Symbol('queue')\nconst kClosedResolve = Symbol('closed resolve')\nconst kOnDrain = Symbol('onDrain')\nconst kOnConnect = Symbol('onConnect')\nconst kOnDisconnect = Symbol('onDisconnect')\nconst kOnConnectionError = Symbol('onConnectionError')\nconst kGetDispatcher = Symbol('get dispatcher')\nconst kAddClient = Symbol('add client')\nconst kRemoveClient = Symbol('remove client')\nconst kStats = Symbol('stats')\n\nclass PoolBase extends DispatcherBase {\n constructor () {\n super()\n\n this[kQueue] = new FixedQueue()\n this[kClients] = []\n this[kQueued] = 0\n\n const pool = this\n\n this[kOnDrain] = function onDrain (origin, targets) {\n const queue = pool[kQueue]\n\n let needDrain = false\n\n while (!needDrain) {\n const item = queue.shift()\n if (!item) {\n break\n }\n pool[kQueued]--\n needDrain = !this.dispatch(item.opts, item.handler)\n }\n\n this[kNeedDrain] = needDrain\n\n if (!this[kNeedDrain] && pool[kNeedDrain]) {\n pool[kNeedDrain] = false\n pool.emit('drain', origin, [pool, ...targets])\n }\n\n if (pool[kClosedResolve] && queue.isEmpty()) {\n Promise\n .all(pool[kClients].map(c => c.close()))\n .then(pool[kClosedResolve])\n }\n }\n\n this[kOnConnect] = (origin, targets) => {\n pool.emit('connect', origin, [pool, ...targets])\n }\n\n this[kOnDisconnect] = (origin, targets, err) => {\n pool.emit('disconnect', origin, [pool, ...targets], err)\n }\n\n this[kOnConnectionError] = (origin, targets, err) => {\n pool.emit('connectionError', origin, [pool, ...targets], err)\n }\n\n this[kStats] = new PoolStats(this)\n }\n\n get [kBusy] () {\n return this[kNeedDrain]\n }\n\n get [kConnected] () {\n return this[kClients].filter(client => client[kConnected]).length\n }\n\n get [kFree] () {\n return this[kClients].filter(client => client[kConnected] && !client[kNeedDrain]).length\n }\n\n get [kPending] () {\n let ret = this[kQueued]\n for (const { [kPending]: pending } of this[kClients]) {\n ret += pending\n }\n return ret\n }\n\n get [kRunning] () {\n let ret = 0\n for (const { [kRunning]: running } of this[kClients]) {\n ret += running\n }\n return ret\n }\n\n get [kSize] () {\n let ret = this[kQueued]\n for (const { [kSize]: size } of this[kClients]) {\n ret += size\n }\n return ret\n }\n\n get stats () {\n return this[kStats]\n }\n\n async [kClose] () {\n if (this[kQueue].isEmpty()) {\n return Promise.all(this[kClients].map(c => c.close()))\n } else {\n return new Promise((resolve) => {\n this[kClosedResolve] = resolve\n })\n }\n }\n\n async [kDestroy] (err) {\n while (true) {\n const item = this[kQueue].shift()\n if (!item) {\n break\n }\n item.handler.onError(err)\n }\n\n return Promise.all(this[kClients].map(c => c.destroy(err)))\n }\n\n [kDispatch] (opts, handler) {\n const dispatcher = this[kGetDispatcher]()\n\n if (!dispatcher) {\n this[kNeedDrain] = true\n this[kQueue].push({ opts, handler })\n this[kQueued]++\n } else if (!dispatcher.dispatch(opts, handler)) {\n dispatcher[kNeedDrain] = true\n this[kNeedDrain] = !this[kGetDispatcher]()\n }\n\n return !this[kNeedDrain]\n }\n\n [kAddClient] (client) {\n client\n .on('drain', this[kOnDrain])\n .on('connect', this[kOnConnect])\n .on('disconnect', this[kOnDisconnect])\n .on('connectionError', this[kOnConnectionError])\n\n this[kClients].push(client)\n\n if (this[kNeedDrain]) {\n process.nextTick(() => {\n if (this[kNeedDrain]) {\n this[kOnDrain](client[kUrl], [this, client])\n }\n })\n }\n\n return this\n }\n\n [kRemoveClient] (client) {\n client.close(() => {\n const idx = this[kClients].indexOf(client)\n if (idx !== -1) {\n this[kClients].splice(idx, 1)\n }\n })\n\n this[kNeedDrain] = this[kClients].some(dispatcher => (\n !dispatcher[kNeedDrain] &&\n dispatcher.closed !== true &&\n dispatcher.destroyed !== true\n ))\n }\n}\n\nmodule.exports = {\n PoolBase,\n kClients,\n kNeedDrain,\n kAddClient,\n kRemoveClient,\n kGetDispatcher\n}\n", "'use strict'\n\nconst {\n PoolBase,\n kClients,\n kNeedDrain,\n kAddClient,\n kGetDispatcher\n} = require('./pool-base')\nconst Client = require('./client')\nconst {\n InvalidArgumentError\n} = require('./core/errors')\nconst util = require('./core/util')\nconst { kUrl, kInterceptors } = require('./core/symbols')\nconst buildConnector = require('./core/connect')\n\nconst kOptions = Symbol('options')\nconst kConnections = Symbol('connections')\nconst kFactory = Symbol('factory')\n\nfunction defaultFactory (origin, opts) {\n return new Client(origin, opts)\n}\n\nclass Pool extends PoolBase {\n constructor (origin, {\n connections,\n factory = defaultFactory,\n connect,\n connectTimeout,\n tls,\n maxCachedSessions,\n socketPath,\n autoSelectFamily,\n autoSelectFamilyAttemptTimeout,\n ...options\n } = {}) {\n super()\n\n if (connections != null && (!Number.isFinite(connections) || connections < 0)) {\n throw new InvalidArgumentError('invalid connections')\n }\n\n if (typeof factory !== 'function') {\n throw new InvalidArgumentError('factory must be a function.')\n }\n\n if (connect != null && typeof connect !== 'function' && typeof connect !== 'object') {\n throw new InvalidArgumentError('connect must be a function or an object')\n }\n\n if (typeof connect !== 'function') {\n connect = buildConnector({\n ...tls,\n maxCachedSessions,\n socketPath,\n timeout: connectTimeout == null ? 10e3 : connectTimeout,\n ...(util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined),\n ...connect\n })\n }\n\n this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool)\n ? options.interceptors.Pool\n : []\n this[kConnections] = connections || null\n this[kUrl] = util.parseOrigin(origin)\n this[kOptions] = { ...util.deepClone(options), connect }\n this[kOptions].interceptors = options.interceptors\n ? { ...options.interceptors }\n : undefined\n this[kFactory] = factory\n }\n\n [kGetDispatcher] () {\n let dispatcher = this[kClients].find(dispatcher => !dispatcher[kNeedDrain])\n\n if (dispatcher) {\n return dispatcher\n }\n\n if (!this[kConnections] || this[kClients].length < this[kConnections]) {\n dispatcher = this[kFactory](this[kUrl], this[kOptions])\n this[kAddClient](dispatcher)\n }\n\n return dispatcher\n }\n}\n\nmodule.exports = Pool\n", "'use strict'\n\nconst {\n BalancedPoolMissingUpstreamError,\n InvalidArgumentError\n} = require('./core/errors')\nconst {\n PoolBase,\n kClients,\n kNeedDrain,\n kAddClient,\n kRemoveClient,\n kGetDispatcher\n} = require('./pool-base')\nconst Pool = require('./pool')\nconst { kUrl, kInterceptors } = require('./core/symbols')\nconst { parseOrigin } = require('./core/util')\nconst kFactory = Symbol('factory')\n\nconst kOptions = Symbol('options')\nconst kGreatestCommonDivisor = Symbol('kGreatestCommonDivisor')\nconst kCurrentWeight = Symbol('kCurrentWeight')\nconst kIndex = Symbol('kIndex')\nconst kWeight = Symbol('kWeight')\nconst kMaxWeightPerServer = Symbol('kMaxWeightPerServer')\nconst kErrorPenalty = Symbol('kErrorPenalty')\n\nfunction getGreatestCommonDivisor (a, b) {\n if (b === 0) return a\n return getGreatestCommonDivisor(b, a % b)\n}\n\nfunction defaultFactory (origin, opts) {\n return new Pool(origin, opts)\n}\n\nclass BalancedPool extends PoolBase {\n constructor (upstreams = [], { factory = defaultFactory, ...opts } = {}) {\n super()\n\n this[kOptions] = opts\n this[kIndex] = -1\n this[kCurrentWeight] = 0\n\n this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100\n this[kErrorPenalty] = this[kOptions].errorPenalty || 15\n\n if (!Array.isArray(upstreams)) {\n upstreams = [upstreams]\n }\n\n if (typeof factory !== 'function') {\n throw new InvalidArgumentError('factory must be a function.')\n }\n\n this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool)\n ? opts.interceptors.BalancedPool\n : []\n this[kFactory] = factory\n\n for (const upstream of upstreams) {\n this.addUpstream(upstream)\n }\n this._updateBalancedPoolStats()\n }\n\n addUpstream (upstream) {\n const upstreamOrigin = parseOrigin(upstream).origin\n\n if (this[kClients].find((pool) => (\n pool[kUrl].origin === upstreamOrigin &&\n pool.closed !== true &&\n pool.destroyed !== true\n ))) {\n return this\n }\n const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]))\n\n this[kAddClient](pool)\n pool.on('connect', () => {\n pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty])\n })\n\n pool.on('connectionError', () => {\n pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty])\n this._updateBalancedPoolStats()\n })\n\n pool.on('disconnect', (...args) => {\n const err = args[2]\n if (err && err.code === 'UND_ERR_SOCKET') {\n // decrease the weight of the pool.\n pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty])\n this._updateBalancedPoolStats()\n }\n })\n\n for (const client of this[kClients]) {\n client[kWeight] = this[kMaxWeightPerServer]\n }\n\n this._updateBalancedPoolStats()\n\n return this\n }\n\n _updateBalancedPoolStats () {\n this[kGreatestCommonDivisor] = this[kClients].map(p => p[kWeight]).reduce(getGreatestCommonDivisor, 0)\n }\n\n removeUpstream (upstream) {\n const upstreamOrigin = parseOrigin(upstream).origin\n\n const pool = this[kClients].find((pool) => (\n pool[kUrl].origin === upstreamOrigin &&\n pool.closed !== true &&\n pool.destroyed !== true\n ))\n\n if (pool) {\n this[kRemoveClient](pool)\n }\n\n return this\n }\n\n get upstreams () {\n return this[kClients]\n .filter(dispatcher => dispatcher.closed !== true && dispatcher.destroyed !== true)\n .map((p) => p[kUrl].origin)\n }\n\n [kGetDispatcher] () {\n // We validate that pools is greater than 0,\n // otherwise we would have to wait until an upstream\n // is added, which might never happen.\n if (this[kClients].length === 0) {\n throw new BalancedPoolMissingUpstreamError()\n }\n\n const dispatcher = this[kClients].find(dispatcher => (\n !dispatcher[kNeedDrain] &&\n dispatcher.closed !== true &&\n dispatcher.destroyed !== true\n ))\n\n if (!dispatcher) {\n return\n }\n\n const allClientsBusy = this[kClients].map(pool => pool[kNeedDrain]).reduce((a, b) => a && b, true)\n\n if (allClientsBusy) {\n return\n }\n\n let counter = 0\n\n let maxWeightIndex = this[kClients].findIndex(pool => !pool[kNeedDrain])\n\n while (counter++ < this[kClients].length) {\n this[kIndex] = (this[kIndex] + 1) % this[kClients].length\n const pool = this[kClients][this[kIndex]]\n\n // find pool index with the largest weight\n if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {\n maxWeightIndex = this[kIndex]\n }\n\n // decrease the current weight every `this[kClients].length`.\n if (this[kIndex] === 0) {\n // Set the current weight to the next lower weight.\n this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor]\n\n if (this[kCurrentWeight] <= 0) {\n this[kCurrentWeight] = this[kMaxWeightPerServer]\n }\n }\n if (pool[kWeight] >= this[kCurrentWeight] && (!pool[kNeedDrain])) {\n return pool\n }\n }\n\n this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight]\n this[kIndex] = maxWeightIndex\n return this[kClients][maxWeightIndex]\n }\n}\n\nmodule.exports = BalancedPool\n", "'use strict'\n\n/* istanbul ignore file: only for Node 12 */\n\nconst { kConnected, kSize } = require('../core/symbols')\n\nclass CompatWeakRef {\n constructor (value) {\n this.value = value\n }\n\n deref () {\n return this.value[kConnected] === 0 && this.value[kSize] === 0\n ? undefined\n : this.value\n }\n}\n\nclass CompatFinalizer {\n constructor (finalizer) {\n this.finalizer = finalizer\n }\n\n register (dispatcher, key) {\n dispatcher.on('disconnect', () => {\n if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {\n this.finalizer(key)\n }\n })\n }\n}\n\nmodule.exports = function () {\n return {\n WeakRef: global.WeakRef || CompatWeakRef,\n FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer\n }\n}\n", "'use strict'\n\nconst { InvalidArgumentError } = require('./core/errors')\nconst { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require('./core/symbols')\nconst DispatcherBase = require('./dispatcher-base')\nconst Pool = require('./pool')\nconst Client = require('./client')\nconst util = require('./core/util')\nconst createRedirectInterceptor = require('./interceptor/redirectInterceptor')\nconst { WeakRef, FinalizationRegistry } = require('./compat/dispatcher-weakref')()\n\nconst kOnConnect = Symbol('onConnect')\nconst kOnDisconnect = Symbol('onDisconnect')\nconst kOnConnectionError = Symbol('onConnectionError')\nconst kMaxRedirections = Symbol('maxRedirections')\nconst kOnDrain = Symbol('onDrain')\nconst kFactory = Symbol('factory')\nconst kFinalizer = Symbol('finalizer')\nconst kOptions = Symbol('options')\n\nfunction defaultFactory (origin, opts) {\n return opts && opts.connections === 1\n ? new Client(origin, opts)\n : new Pool(origin, opts)\n}\n\nclass Agent extends DispatcherBase {\n constructor ({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {\n super()\n\n if (typeof factory !== 'function') {\n throw new InvalidArgumentError('factory must be a function.')\n }\n\n if (connect != null && typeof connect !== 'function' && typeof connect !== 'object') {\n throw new InvalidArgumentError('connect must be a function or an object')\n }\n\n if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {\n throw new InvalidArgumentError('maxRedirections must be a positive number')\n }\n\n if (connect && typeof connect !== 'function') {\n connect = { ...connect }\n }\n\n this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent)\n ? options.interceptors.Agent\n : [createRedirectInterceptor({ maxRedirections })]\n\n this[kOptions] = { ...util.deepClone(options), connect }\n this[kOptions].interceptors = options.interceptors\n ? { ...options.interceptors }\n : undefined\n this[kMaxRedirections] = maxRedirections\n this[kFactory] = factory\n this[kClients] = new Map()\n this[kFinalizer] = new FinalizationRegistry(/* istanbul ignore next: gc is undeterministic */ key => {\n const ref = this[kClients].get(key)\n if (ref !== undefined && ref.deref() === undefined) {\n this[kClients].delete(key)\n }\n })\n\n const agent = this\n\n this[kOnDrain] = (origin, targets) => {\n agent.emit('drain', origin, [agent, ...targets])\n }\n\n this[kOnConnect] = (origin, targets) => {\n agent.emit('connect', origin, [agent, ...targets])\n }\n\n this[kOnDisconnect] = (origin, targets, err) => {\n agent.emit('disconnect', origin, [agent, ...targets], err)\n }\n\n this[kOnConnectionError] = (origin, targets, err) => {\n agent.emit('connectionError', origin, [agent, ...targets], err)\n }\n }\n\n get [kRunning] () {\n let ret = 0\n for (const ref of this[kClients].values()) {\n const client = ref.deref()\n /* istanbul ignore next: gc is undeterministic */\n if (client) {\n ret += client[kRunning]\n }\n }\n return ret\n }\n\n [kDispatch] (opts, handler) {\n let key\n if (opts.origin && (typeof opts.origin === 'string' || opts.origin instanceof URL)) {\n key = String(opts.origin)\n } else {\n throw new InvalidArgumentError('opts.origin must be a non-empty string or URL.')\n }\n\n const ref = this[kClients].get(key)\n\n let dispatcher = ref ? ref.deref() : null\n if (!dispatcher) {\n dispatcher = this[kFactory](opts.origin, this[kOptions])\n .on('drain', this[kOnDrain])\n .on('connect', this[kOnConnect])\n .on('disconnect', this[kOnDisconnect])\n .on('connectionError', this[kOnConnectionError])\n\n this[kClients].set(key, new WeakRef(dispatcher))\n this[kFinalizer].register(dispatcher, key)\n }\n\n return dispatcher.dispatch(opts, handler)\n }\n\n async [kClose] () {\n const closePromises = []\n for (const ref of this[kClients].values()) {\n const client = ref.deref()\n /* istanbul ignore else: gc is undeterministic */\n if (client) {\n closePromises.push(client.close())\n }\n }\n\n await Promise.all(closePromises)\n }\n\n async [kDestroy] (err) {\n const destroyPromises = []\n for (const ref of this[kClients].values()) {\n const client = ref.deref()\n /* istanbul ignore else: gc is undeterministic */\n if (client) {\n destroyPromises.push(client.destroy(err))\n }\n }\n\n await Promise.all(destroyPromises)\n }\n}\n\nmodule.exports = Agent\n", "// Ported from https://github.com/nodejs/undici/pull/907\n\n'use strict'\n\nconst assert = require('assert')\nconst { Readable } = require('stream')\nconst { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require('../core/errors')\nconst util = require('../core/util')\nconst { ReadableStreamFrom, toUSVString } = require('../core/util')\n\nlet Blob\n\nconst kConsume = Symbol('kConsume')\nconst kReading = Symbol('kReading')\nconst kBody = Symbol('kBody')\nconst kAbort = Symbol('abort')\nconst kContentType = Symbol('kContentType')\n\nmodule.exports = class BodyReadable extends Readable {\n constructor ({\n resume,\n abort,\n contentType = '',\n highWaterMark = 64 * 1024 // Same as nodejs fs streams.\n }) {\n super({\n autoDestroy: true,\n read: resume,\n highWaterMark\n })\n\n this._readableState.dataEmitted = false\n\n this[kAbort] = abort\n this[kConsume] = null\n this[kBody] = null\n this[kContentType] = contentType\n\n // Is stream being consumed through Readable API?\n // This is an optimization so that we avoid checking\n // for 'data' and 'readable' listeners in the hot path\n // inside push().\n this[kReading] = false\n }\n\n destroy (err) {\n if (this.destroyed) {\n // Node < 16\n return this\n }\n\n if (!err && !this._readableState.endEmitted) {\n err = new RequestAbortedError()\n }\n\n if (err) {\n this[kAbort]()\n }\n\n return super.destroy(err)\n }\n\n emit (ev, ...args) {\n if (ev === 'data') {\n // Node < 16.7\n this._readableState.dataEmitted = true\n } else if (ev === 'error') {\n // Node < 16\n this._readableState.errorEmitted = true\n }\n return super.emit(ev, ...args)\n }\n\n on (ev, ...args) {\n if (ev === 'data' || ev === 'readable') {\n this[kReading] = true\n }\n return super.on(ev, ...args)\n }\n\n addListener (ev, ...args) {\n return this.on(ev, ...args)\n }\n\n off (ev, ...args) {\n const ret = super.off(ev, ...args)\n if (ev === 'data' || ev === 'readable') {\n this[kReading] = (\n this.listenerCount('data') > 0 ||\n this.listenerCount('readable') > 0\n )\n }\n return ret\n }\n\n removeListener (ev, ...args) {\n return this.off(ev, ...args)\n }\n\n push (chunk) {\n if (this[kConsume] && chunk !== null && this.readableLength === 0) {\n consumePush(this[kConsume], chunk)\n return this[kReading] ? super.push(chunk) : true\n }\n return super.push(chunk)\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-text\n async text () {\n return consume(this, 'text')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-json\n async json () {\n return consume(this, 'json')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-blob\n async blob () {\n return consume(this, 'blob')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-arraybuffer\n async arrayBuffer () {\n return consume(this, 'arrayBuffer')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-formdata\n async formData () {\n // TODO: Implement.\n throw new NotSupportedError()\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-bodyused\n get bodyUsed () {\n return util.isDisturbed(this)\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-body\n get body () {\n if (!this[kBody]) {\n this[kBody] = ReadableStreamFrom(this)\n if (this[kConsume]) {\n // TODO: Is this the best way to force a lock?\n this[kBody].getReader() // Ensure stream is locked.\n assert(this[kBody].locked)\n }\n }\n return this[kBody]\n }\n\n async dump (opts) {\n let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144\n const signal = opts && opts.signal\n const abortFn = () => {\n this.destroy()\n }\n let signalListenerCleanup\n if (signal) {\n if (typeof signal !== 'object' || !('aborted' in signal)) {\n throw new InvalidArgumentError('signal must be an AbortSignal')\n }\n util.throwIfAborted(signal)\n signalListenerCleanup = util.addAbortListener(signal, abortFn)\n }\n try {\n for await (const chunk of this) {\n util.throwIfAborted(signal)\n limit -= Buffer.byteLength(chunk)\n if (limit < 0) {\n return\n }\n }\n } catch {\n util.throwIfAborted(signal)\n } finally {\n if (typeof signalListenerCleanup === 'function') {\n signalListenerCleanup()\n } else if (signalListenerCleanup) {\n signalListenerCleanup[Symbol.dispose]()\n }\n }\n }\n}\n\n// https://streams.spec.whatwg.org/#readablestream-locked\nfunction isLocked (self) {\n // Consume is an implicit lock.\n return (self[kBody] && self[kBody].locked === true) || self[kConsume]\n}\n\n// https://fetch.spec.whatwg.org/#body-unusable\nfunction isUnusable (self) {\n return util.isDisturbed(self) || isLocked(self)\n}\n\nasync function consume (stream, type) {\n if (isUnusable(stream)) {\n throw new TypeError('unusable')\n }\n\n assert(!stream[kConsume])\n\n return new Promise((resolve, reject) => {\n stream[kConsume] = {\n type,\n stream,\n resolve,\n reject,\n length: 0,\n body: []\n }\n\n stream\n .on('error', function (err) {\n consumeFinish(this[kConsume], err)\n })\n .on('close', function () {\n if (this[kConsume].body !== null) {\n consumeFinish(this[kConsume], new RequestAbortedError())\n }\n })\n\n process.nextTick(consumeStart, stream[kConsume])\n })\n}\n\nfunction consumeStart (consume) {\n if (consume.body === null) {\n return\n }\n\n const { _readableState: state } = consume.stream\n\n for (const chunk of state.buffer) {\n consumePush(consume, chunk)\n }\n\n if (state.endEmitted) {\n consumeEnd(this[kConsume])\n } else {\n consume.stream.on('end', function () {\n consumeEnd(this[kConsume])\n })\n }\n\n consume.stream.resume()\n\n while (consume.stream.read() != null) {\n // Loop\n }\n}\n\nfunction consumeEnd (consume) {\n const { type, body, resolve, stream, length } = consume\n\n try {\n if (type === 'text') {\n resolve(toUSVString(Buffer.concat(body)))\n } else if (type === 'json') {\n resolve(JSON.parse(Buffer.concat(body)))\n } else if (type === 'arrayBuffer') {\n const dst = new Uint8Array(length)\n\n let pos = 0\n for (const buf of body) {\n dst.set(buf, pos)\n pos += buf.byteLength\n }\n\n resolve(dst)\n } else if (type === 'blob') {\n if (!Blob) {\n Blob = require('buffer').Blob\n }\n resolve(new Blob(body, { type: stream[kContentType] }))\n }\n\n consumeFinish(consume)\n } catch (err) {\n stream.destroy(err)\n }\n}\n\nfunction consumePush (consume, chunk) {\n consume.length += chunk.length\n consume.body.push(chunk)\n}\n\nfunction consumeFinish (consume, err) {\n if (consume.body === null) {\n return\n }\n\n if (err) {\n consume.reject(err)\n } else {\n consume.resolve()\n }\n\n consume.type = null\n consume.stream = null\n consume.resolve = null\n consume.reject = null\n consume.length = 0\n consume.body = null\n}\n", "const assert = require('assert')\nconst {\n ResponseStatusCodeError\n} = require('../core/errors')\nconst { toUSVString } = require('../core/util')\n\nasync function getResolveErrorBodyCallback ({ callback, body, contentType, statusCode, statusMessage, headers }) {\n assert(body)\n\n let chunks = []\n let limit = 0\n\n for await (const chunk of body) {\n chunks.push(chunk)\n limit += chunk.length\n if (limit > 128 * 1024) {\n chunks = null\n break\n }\n }\n\n if (statusCode === 204 || !contentType || !chunks) {\n process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ''}`, statusCode, headers))\n return\n }\n\n try {\n if (contentType.startsWith('application/json')) {\n const payload = JSON.parse(toUSVString(Buffer.concat(chunks)))\n process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ''}`, statusCode, headers, payload))\n return\n }\n\n if (contentType.startsWith('text/')) {\n const payload = toUSVString(Buffer.concat(chunks))\n process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ''}`, statusCode, headers, payload))\n return\n }\n } catch (err) {\n // Process in a fallback if error\n }\n\n process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ''}`, statusCode, headers))\n}\n\nmodule.exports = { getResolveErrorBodyCallback }\n", "const { addAbortListener } = require('../core/util')\nconst { RequestAbortedError } = require('../core/errors')\n\nconst kListener = Symbol('kListener')\nconst kSignal = Symbol('kSignal')\n\nfunction abort (self) {\n if (self.abort) {\n self.abort()\n } else {\n self.onError(new RequestAbortedError())\n }\n}\n\nfunction addSignal (self, signal) {\n self[kSignal] = null\n self[kListener] = null\n\n if (!signal) {\n return\n }\n\n if (signal.aborted) {\n abort(self)\n return\n }\n\n self[kSignal] = signal\n self[kListener] = () => {\n abort(self)\n }\n\n addAbortListener(self[kSignal], self[kListener])\n}\n\nfunction removeSignal (self) {\n if (!self[kSignal]) {\n return\n }\n\n if ('removeEventListener' in self[kSignal]) {\n self[kSignal].removeEventListener('abort', self[kListener])\n } else {\n self[kSignal].removeListener('abort', self[kListener])\n }\n\n self[kSignal] = null\n self[kListener] = null\n}\n\nmodule.exports = {\n addSignal,\n removeSignal\n}\n", "'use strict'\n\nconst Readable = require('./readable')\nconst {\n InvalidArgumentError,\n RequestAbortedError\n} = require('../core/errors')\nconst util = require('../core/util')\nconst { getResolveErrorBodyCallback } = require('./util')\nconst { AsyncResource } = require('async_hooks')\nconst { addSignal, removeSignal } = require('./abort-signal')\n\nclass RequestHandler extends AsyncResource {\n constructor (opts, callback) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts\n\n try {\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n if (highWaterMark && (typeof highWaterMark !== 'number' || highWaterMark < 0)) {\n throw new InvalidArgumentError('invalid highWaterMark')\n }\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n if (method === 'CONNECT') {\n throw new InvalidArgumentError('invalid method')\n }\n\n if (onInfo && typeof onInfo !== 'function') {\n throw new InvalidArgumentError('invalid onInfo callback')\n }\n\n super('UNDICI_REQUEST')\n } catch (err) {\n if (util.isStream(body)) {\n util.destroy(body.on('error', util.nop), err)\n }\n throw err\n }\n\n this.responseHeaders = responseHeaders || null\n this.opaque = opaque || null\n this.callback = callback\n this.res = null\n this.abort = null\n this.body = body\n this.trailers = {}\n this.context = null\n this.onInfo = onInfo || null\n this.throwOnError = throwOnError\n this.highWaterMark = highWaterMark\n\n if (util.isStream(body)) {\n body.on('error', (err) => {\n this.onError(err)\n })\n }\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n if (!this.callback) {\n throw new RequestAbortedError()\n }\n\n this.abort = abort\n this.context = context\n }\n\n onHeaders (statusCode, rawHeaders, resume, statusMessage) {\n const { callback, opaque, abort, context, responseHeaders, highWaterMark } = this\n\n const headers = responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n\n if (statusCode < 200) {\n if (this.onInfo) {\n this.onInfo({ statusCode, headers })\n }\n return\n }\n\n const parsedHeaders = responseHeaders === 'raw' ? util.parseHeaders(rawHeaders) : headers\n const contentType = parsedHeaders['content-type']\n const body = new Readable({ resume, abort, contentType, highWaterMark })\n\n this.callback = null\n this.res = body\n\n if (callback !== null) {\n if (this.throwOnError && statusCode >= 400) {\n this.runInAsyncScope(getResolveErrorBodyCallback, null,\n { callback, body, contentType, statusCode, statusMessage, headers }\n )\n } else {\n this.runInAsyncScope(callback, null, null, {\n statusCode,\n headers,\n trailers: this.trailers,\n opaque,\n body,\n context\n })\n }\n }\n }\n\n onData (chunk) {\n const { res } = this\n return res.push(chunk)\n }\n\n onComplete (trailers) {\n const { res } = this\n\n removeSignal(this)\n\n util.parseHeaders(trailers, this.trailers)\n\n res.push(null)\n }\n\n onError (err) {\n const { res, callback, body, opaque } = this\n\n removeSignal(this)\n\n if (callback) {\n // TODO: Does this need queueMicrotask?\n this.callback = null\n queueMicrotask(() => {\n this.runInAsyncScope(callback, null, err, { opaque })\n })\n }\n\n if (res) {\n this.res = null\n // Ensure all queued handlers are invoked before destroying res.\n queueMicrotask(() => {\n util.destroy(res, err)\n })\n }\n\n if (body) {\n this.body = null\n util.destroy(body, err)\n }\n }\n}\n\nfunction request (opts, callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n request.call(this, opts, (err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n try {\n this.dispatch(opts, new RequestHandler(opts, callback))\n } catch (err) {\n if (typeof callback !== 'function') {\n throw err\n }\n const opaque = opts && opts.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = request\n", "'use strict'\n\nconst { finished, PassThrough } = require('stream')\nconst {\n InvalidArgumentError,\n InvalidReturnValueError,\n RequestAbortedError\n} = require('../core/errors')\nconst util = require('../core/util')\nconst { getResolveErrorBodyCallback } = require('./util')\nconst { AsyncResource } = require('async_hooks')\nconst { addSignal, removeSignal } = require('./abort-signal')\n\nclass StreamHandler extends AsyncResource {\n constructor (opts, factory, callback) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts\n\n try {\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n if (typeof factory !== 'function') {\n throw new InvalidArgumentError('invalid factory')\n }\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n if (method === 'CONNECT') {\n throw new InvalidArgumentError('invalid method')\n }\n\n if (onInfo && typeof onInfo !== 'function') {\n throw new InvalidArgumentError('invalid onInfo callback')\n }\n\n super('UNDICI_STREAM')\n } catch (err) {\n if (util.isStream(body)) {\n util.destroy(body.on('error', util.nop), err)\n }\n throw err\n }\n\n this.responseHeaders = responseHeaders || null\n this.opaque = opaque || null\n this.factory = factory\n this.callback = callback\n this.res = null\n this.abort = null\n this.context = null\n this.trailers = null\n this.body = body\n this.onInfo = onInfo || null\n this.throwOnError = throwOnError || false\n\n if (util.isStream(body)) {\n body.on('error', (err) => {\n this.onError(err)\n })\n }\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n if (!this.callback) {\n throw new RequestAbortedError()\n }\n\n this.abort = abort\n this.context = context\n }\n\n onHeaders (statusCode, rawHeaders, resume, statusMessage) {\n const { factory, opaque, context, callback, responseHeaders } = this\n\n const headers = responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n\n if (statusCode < 200) {\n if (this.onInfo) {\n this.onInfo({ statusCode, headers })\n }\n return\n }\n\n this.factory = null\n\n let res\n\n if (this.throwOnError && statusCode >= 400) {\n const parsedHeaders = responseHeaders === 'raw' ? util.parseHeaders(rawHeaders) : headers\n const contentType = parsedHeaders['content-type']\n res = new PassThrough()\n\n this.callback = null\n this.runInAsyncScope(getResolveErrorBodyCallback, null,\n { callback, body: res, contentType, statusCode, statusMessage, headers }\n )\n } else {\n res = this.runInAsyncScope(factory, null, {\n statusCode,\n headers,\n opaque,\n context\n })\n\n if (\n !res ||\n typeof res.write !== 'function' ||\n typeof res.end !== 'function' ||\n typeof res.on !== 'function'\n ) {\n throw new InvalidReturnValueError('expected Writable')\n }\n\n // TODO: Avoid finished. It registers an unnecessary amount of listeners.\n finished(res, { readable: false }, (err) => {\n const { callback, res, opaque, trailers, abort } = this\n\n this.res = null\n if (err || !res.readable) {\n util.destroy(res, err)\n }\n\n this.callback = null\n this.runInAsyncScope(callback, null, err || null, { opaque, trailers })\n\n if (err) {\n abort()\n }\n })\n }\n\n res.on('drain', resume)\n\n this.res = res\n\n const needDrain = res.writableNeedDrain !== undefined\n ? res.writableNeedDrain\n : res._writableState && res._writableState.needDrain\n\n return needDrain !== true\n }\n\n onData (chunk) {\n const { res } = this\n\n return res.write(chunk)\n }\n\n onComplete (trailers) {\n const { res } = this\n\n removeSignal(this)\n\n this.trailers = util.parseHeaders(trailers)\n\n res.end()\n }\n\n onError (err) {\n const { res, callback, opaque, body } = this\n\n removeSignal(this)\n\n this.factory = null\n\n if (res) {\n this.res = null\n util.destroy(res, err)\n } else if (callback) {\n this.callback = null\n queueMicrotask(() => {\n this.runInAsyncScope(callback, null, err, { opaque })\n })\n }\n\n if (body) {\n this.body = null\n util.destroy(body, err)\n }\n }\n}\n\nfunction stream (opts, factory, callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n stream.call(this, opts, factory, (err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n try {\n this.dispatch(opts, new StreamHandler(opts, factory, callback))\n } catch (err) {\n if (typeof callback !== 'function') {\n throw err\n }\n const opaque = opts && opts.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = stream\n", "'use strict'\n\nconst {\n Readable,\n Duplex,\n PassThrough\n} = require('stream')\nconst {\n InvalidArgumentError,\n InvalidReturnValueError,\n RequestAbortedError\n} = require('../core/errors')\nconst util = require('../core/util')\nconst { AsyncResource } = require('async_hooks')\nconst { addSignal, removeSignal } = require('./abort-signal')\nconst assert = require('assert')\n\nconst kResume = Symbol('resume')\n\nclass PipelineRequest extends Readable {\n constructor () {\n super({ autoDestroy: true })\n\n this[kResume] = null\n }\n\n _read () {\n const { [kResume]: resume } = this\n\n if (resume) {\n this[kResume] = null\n resume()\n }\n }\n\n _destroy (err, callback) {\n this._read()\n\n callback(err)\n }\n}\n\nclass PipelineResponse extends Readable {\n constructor (resume) {\n super({ autoDestroy: true })\n this[kResume] = resume\n }\n\n _read () {\n this[kResume]()\n }\n\n _destroy (err, callback) {\n if (!err && !this._readableState.endEmitted) {\n err = new RequestAbortedError()\n }\n\n callback(err)\n }\n}\n\nclass PipelineHandler extends AsyncResource {\n constructor (opts, handler) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n if (typeof handler !== 'function') {\n throw new InvalidArgumentError('invalid handler')\n }\n\n const { signal, method, opaque, onInfo, responseHeaders } = opts\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n if (method === 'CONNECT') {\n throw new InvalidArgumentError('invalid method')\n }\n\n if (onInfo && typeof onInfo !== 'function') {\n throw new InvalidArgumentError('invalid onInfo callback')\n }\n\n super('UNDICI_PIPELINE')\n\n this.opaque = opaque || null\n this.responseHeaders = responseHeaders || null\n this.handler = handler\n this.abort = null\n this.context = null\n this.onInfo = onInfo || null\n\n this.req = new PipelineRequest().on('error', util.nop)\n\n this.ret = new Duplex({\n readableObjectMode: opts.objectMode,\n autoDestroy: true,\n read: () => {\n const { body } = this\n\n if (body && body.resume) {\n body.resume()\n }\n },\n write: (chunk, encoding, callback) => {\n const { req } = this\n\n if (req.push(chunk, encoding) || req._readableState.destroyed) {\n callback()\n } else {\n req[kResume] = callback\n }\n },\n destroy: (err, callback) => {\n const { body, req, res, ret, abort } = this\n\n if (!err && !ret._readableState.endEmitted) {\n err = new RequestAbortedError()\n }\n\n if (abort && err) {\n abort()\n }\n\n util.destroy(body, err)\n util.destroy(req, err)\n util.destroy(res, err)\n\n removeSignal(this)\n\n callback(err)\n }\n }).on('prefinish', () => {\n const { req } = this\n\n // Node < 15 does not call _final in same tick.\n req.push(null)\n })\n\n this.res = null\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n const { ret, res } = this\n\n assert(!res, 'pipeline cannot be retried')\n\n if (ret.destroyed) {\n throw new RequestAbortedError()\n }\n\n this.abort = abort\n this.context = context\n }\n\n onHeaders (statusCode, rawHeaders, resume) {\n const { opaque, handler, context } = this\n\n if (statusCode < 200) {\n if (this.onInfo) {\n const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n this.onInfo({ statusCode, headers })\n }\n return\n }\n\n this.res = new PipelineResponse(resume)\n\n let body\n try {\n this.handler = null\n const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n body = this.runInAsyncScope(handler, null, {\n statusCode,\n headers,\n opaque,\n body: this.res,\n context\n })\n } catch (err) {\n this.res.on('error', util.nop)\n throw err\n }\n\n if (!body || typeof body.on !== 'function') {\n throw new InvalidReturnValueError('expected Readable')\n }\n\n body\n .on('data', (chunk) => {\n const { ret, body } = this\n\n if (!ret.push(chunk) && body.pause) {\n body.pause()\n }\n })\n .on('error', (err) => {\n const { ret } = this\n\n util.destroy(ret, err)\n })\n .on('end', () => {\n const { ret } = this\n\n ret.push(null)\n })\n .on('close', () => {\n const { ret } = this\n\n if (!ret._readableState.ended) {\n util.destroy(ret, new RequestAbortedError())\n }\n })\n\n this.body = body\n }\n\n onData (chunk) {\n const { res } = this\n return res.push(chunk)\n }\n\n onComplete (trailers) {\n const { res } = this\n res.push(null)\n }\n\n onError (err) {\n const { ret } = this\n this.handler = null\n util.destroy(ret, err)\n }\n}\n\nfunction pipeline (opts, handler) {\n try {\n const pipelineHandler = new PipelineHandler(opts, handler)\n this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler)\n return pipelineHandler.ret\n } catch (err) {\n return new PassThrough().destroy(err)\n }\n}\n\nmodule.exports = pipeline\n", "'use strict'\n\nconst { InvalidArgumentError, RequestAbortedError, SocketError } = require('../core/errors')\nconst { AsyncResource } = require('async_hooks')\nconst util = require('../core/util')\nconst { addSignal, removeSignal } = require('./abort-signal')\nconst assert = require('assert')\n\nclass UpgradeHandler extends AsyncResource {\n constructor (opts, callback) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n const { signal, opaque, responseHeaders } = opts\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n super('UNDICI_UPGRADE')\n\n this.responseHeaders = responseHeaders || null\n this.opaque = opaque || null\n this.callback = callback\n this.abort = null\n this.context = null\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n if (!this.callback) {\n throw new RequestAbortedError()\n }\n\n this.abort = abort\n this.context = null\n }\n\n onHeaders () {\n throw new SocketError('bad upgrade', null)\n }\n\n onUpgrade (statusCode, rawHeaders, socket) {\n const { callback, opaque, context } = this\n\n assert.strictEqual(statusCode, 101)\n\n removeSignal(this)\n\n this.callback = null\n const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n this.runInAsyncScope(callback, null, null, {\n headers,\n socket,\n opaque,\n context\n })\n }\n\n onError (err) {\n const { callback, opaque } = this\n\n removeSignal(this)\n\n if (callback) {\n this.callback = null\n queueMicrotask(() => {\n this.runInAsyncScope(callback, null, err, { opaque })\n })\n }\n }\n}\n\nfunction upgrade (opts, callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n upgrade.call(this, opts, (err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n try {\n const upgradeHandler = new UpgradeHandler(opts, callback)\n this.dispatch({\n ...opts,\n method: opts.method || 'GET',\n upgrade: opts.protocol || 'Websocket'\n }, upgradeHandler)\n } catch (err) {\n if (typeof callback !== 'function') {\n throw err\n }\n const opaque = opts && opts.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = upgrade\n", "'use strict'\n\nconst { InvalidArgumentError, RequestAbortedError, SocketError } = require('../core/errors')\nconst { AsyncResource } = require('async_hooks')\nconst util = require('../core/util')\nconst { addSignal, removeSignal } = require('./abort-signal')\n\nclass ConnectHandler extends AsyncResource {\n constructor (opts, callback) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n const { signal, opaque, responseHeaders } = opts\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n super('UNDICI_CONNECT')\n\n this.opaque = opaque || null\n this.responseHeaders = responseHeaders || null\n this.callback = callback\n this.abort = null\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n if (!this.callback) {\n throw new RequestAbortedError()\n }\n\n this.abort = abort\n this.context = context\n }\n\n onHeaders () {\n throw new SocketError('bad connect', null)\n }\n\n onUpgrade (statusCode, rawHeaders, socket) {\n const { callback, opaque, context } = this\n\n removeSignal(this)\n\n this.callback = null\n const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n this.runInAsyncScope(callback, null, null, {\n statusCode,\n headers,\n socket,\n opaque,\n context\n })\n }\n\n onError (err) {\n const { callback, opaque } = this\n\n removeSignal(this)\n\n if (callback) {\n this.callback = null\n queueMicrotask(() => {\n this.runInAsyncScope(callback, null, err, { opaque })\n })\n }\n }\n}\n\nfunction connect (opts, callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n connect.call(this, opts, (err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n try {\n const connectHandler = new ConnectHandler(opts, callback)\n this.dispatch({ ...opts, method: 'CONNECT' }, connectHandler)\n } catch (err) {\n if (typeof callback !== 'function') {\n throw err\n }\n const opaque = opts && opts.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = connect\n", "'use strict'\n\nmodule.exports.request = require('./api-request')\nmodule.exports.stream = require('./api-stream')\nmodule.exports.pipeline = require('./api-pipeline')\nmodule.exports.upgrade = require('./api-upgrade')\nmodule.exports.connect = require('./api-connect')\n", "'use strict'\n\nconst { UndiciError } = require('../core/errors')\n\nclass MockNotMatchedError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, MockNotMatchedError)\n this.name = 'MockNotMatchedError'\n this.message = message || 'The request does not match any registered mock dispatches'\n this.code = 'UND_MOCK_ERR_MOCK_NOT_MATCHED'\n }\n}\n\nmodule.exports = {\n MockNotMatchedError\n}\n", "'use strict'\n\nmodule.exports = {\n kAgent: Symbol('agent'),\n kOptions: Symbol('options'),\n kFactory: Symbol('factory'),\n kDispatches: Symbol('dispatches'),\n kDispatchKey: Symbol('dispatch key'),\n kDefaultHeaders: Symbol('default headers'),\n kDefaultTrailers: Symbol('default trailers'),\n kContentLength: Symbol('content length'),\n kMockAgent: Symbol('mock agent'),\n kMockAgentSet: Symbol('mock agent set'),\n kMockAgentGet: Symbol('mock agent get'),\n kMockDispatch: Symbol('mock dispatch'),\n kClose: Symbol('close'),\n kOriginalClose: Symbol('original agent close'),\n kOrigin: Symbol('origin'),\n kIsMockActive: Symbol('is mock active'),\n kNetConnect: Symbol('net connect'),\n kGetNetConnect: Symbol('get net connect'),\n kConnected: Symbol('connected')\n}\n", "'use strict'\n\nconst { MockNotMatchedError } = require('./mock-errors')\nconst {\n kDispatches,\n kMockAgent,\n kOriginalDispatch,\n kOrigin,\n kGetNetConnect\n} = require('./mock-symbols')\nconst { buildURL, nop } = require('../core/util')\nconst { STATUS_CODES } = require('http')\nconst {\n types: {\n isPromise\n }\n} = require('util')\n\nfunction matchValue (match, value) {\n if (typeof match === 'string') {\n return match === value\n }\n if (match instanceof RegExp) {\n return match.test(value)\n }\n if (typeof match === 'function') {\n return match(value) === true\n }\n return false\n}\n\nfunction lowerCaseEntries (headers) {\n return Object.fromEntries(\n Object.entries(headers).map(([headerName, headerValue]) => {\n return [headerName.toLocaleLowerCase(), headerValue]\n })\n )\n}\n\n/**\n * @param {import('../../index').Headers|string[]|Record<string, string>} headers\n * @param {string} key\n */\nfunction getHeaderByName (headers, key) {\n if (Array.isArray(headers)) {\n for (let i = 0; i < headers.length; i += 2) {\n if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {\n return headers[i + 1]\n }\n }\n\n return undefined\n } else if (typeof headers.get === 'function') {\n return headers.get(key)\n } else {\n return lowerCaseEntries(headers)[key.toLocaleLowerCase()]\n }\n}\n\n/** @param {string[]} headers */\nfunction buildHeadersFromArray (headers) { // fetch HeadersList\n const clone = headers.slice()\n const entries = []\n for (let index = 0; index < clone.length; index += 2) {\n entries.push([clone[index], clone[index + 1]])\n }\n return Object.fromEntries(entries)\n}\n\nfunction matchHeaders (mockDispatch, headers) {\n if (typeof mockDispatch.headers === 'function') {\n if (Array.isArray(headers)) { // fetch HeadersList\n headers = buildHeadersFromArray(headers)\n }\n return mockDispatch.headers(headers ? lowerCaseEntries(headers) : {})\n }\n if (typeof mockDispatch.headers === 'undefined') {\n return true\n }\n if (typeof headers !== 'object' || typeof mockDispatch.headers !== 'object') {\n return false\n }\n\n for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch.headers)) {\n const headerValue = getHeaderByName(headers, matchHeaderName)\n\n if (!matchValue(matchHeaderValue, headerValue)) {\n return false\n }\n }\n return true\n}\n\nfunction safeUrl (path) {\n if (typeof path !== 'string') {\n return path\n }\n\n const pathSegments = path.split('?')\n\n if (pathSegments.length !== 2) {\n return path\n }\n\n const qp = new URLSearchParams(pathSegments.pop())\n qp.sort()\n return [...pathSegments, qp.toString()].join('?')\n}\n\nfunction matchKey (mockDispatch, { path, method, body, headers }) {\n const pathMatch = matchValue(mockDispatch.path, path)\n const methodMatch = matchValue(mockDispatch.method, method)\n const bodyMatch = typeof mockDispatch.body !== 'undefined' ? matchValue(mockDispatch.body, body) : true\n const headersMatch = matchHeaders(mockDispatch, headers)\n return pathMatch && methodMatch && bodyMatch && headersMatch\n}\n\nfunction getResponseData (data) {\n if (Buffer.isBuffer(data)) {\n return data\n } else if (typeof data === 'object') {\n return JSON.stringify(data)\n } else {\n return data.toString()\n }\n}\n\nfunction getMockDispatch (mockDispatches, key) {\n const basePath = key.query ? buildURL(key.path, key.query) : key.path\n const resolvedPath = typeof basePath === 'string' ? safeUrl(basePath) : basePath\n\n // Match path\n let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path }) => matchValue(safeUrl(path), resolvedPath))\n if (matchedMockDispatches.length === 0) {\n throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`)\n }\n\n // Match method\n matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method))\n if (matchedMockDispatches.length === 0) {\n throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`)\n }\n\n // Match body\n matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== 'undefined' ? matchValue(body, key.body) : true)\n if (matchedMockDispatches.length === 0) {\n throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`)\n }\n\n // Match headers\n matchedMockDispatches = matchedMockDispatches.filter((mockDispatch) => matchHeaders(mockDispatch, key.headers))\n if (matchedMockDispatches.length === 0) {\n throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === 'object' ? JSON.stringify(key.headers) : key.headers}'`)\n }\n\n return matchedMockDispatches[0]\n}\n\nfunction addMockDispatch (mockDispatches, key, data) {\n const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false }\n const replyData = typeof data === 'function' ? { callback: data } : { ...data }\n const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } }\n mockDispatches.push(newMockDispatch)\n return newMockDispatch\n}\n\nfunction deleteMockDispatch (mockDispatches, key) {\n const index = mockDispatches.findIndex(dispatch => {\n if (!dispatch.consumed) {\n return false\n }\n return matchKey(dispatch, key)\n })\n if (index !== -1) {\n mockDispatches.splice(index, 1)\n }\n}\n\nfunction buildKey (opts) {\n const { path, method, body, headers, query } = opts\n return {\n path,\n method,\n body,\n headers,\n query\n }\n}\n\nfunction generateKeyValues (data) {\n return Object.entries(data).reduce((keyValuePairs, [key, value]) => [\n ...keyValuePairs,\n Buffer.from(`${key}`),\n Array.isArray(value) ? value.map(x => Buffer.from(`${x}`)) : Buffer.from(`${value}`)\n ], [])\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status\n * @param {number} statusCode\n */\nfunction getStatusText (statusCode) {\n return STATUS_CODES[statusCode] || 'unknown'\n}\n\nasync function getResponse (body) {\n const buffers = []\n for await (const data of body) {\n buffers.push(data)\n }\n return Buffer.concat(buffers).toString('utf8')\n}\n\n/**\n * Mock dispatch function used to simulate undici dispatches\n */\nfunction mockDispatch (opts, handler) {\n // Get mock dispatch from built key\n const key = buildKey(opts)\n const mockDispatch = getMockDispatch(this[kDispatches], key)\n\n mockDispatch.timesInvoked++\n\n // Here's where we resolve a callback if a callback is present for the dispatch data.\n if (mockDispatch.data.callback) {\n mockDispatch.data = { ...mockDispatch.data, ...mockDispatch.data.callback(opts) }\n }\n\n // Parse mockDispatch data\n const { data: { statusCode, data, headers, trailers, error }, delay, persist } = mockDispatch\n const { timesInvoked, times } = mockDispatch\n\n // If it's used up and not persistent, mark as consumed\n mockDispatch.consumed = !persist && timesInvoked >= times\n mockDispatch.pending = timesInvoked < times\n\n // If specified, trigger dispatch error\n if (error !== null) {\n deleteMockDispatch(this[kDispatches], key)\n handler.onError(error)\n return true\n }\n\n // Handle the request with a delay if necessary\n if (typeof delay === 'number' && delay > 0) {\n setTimeout(() => {\n handleReply(this[kDispatches])\n }, delay)\n } else {\n handleReply(this[kDispatches])\n }\n\n function handleReply (mockDispatches, _data = data) {\n // fetch's HeadersList is a 1D string array\n const optsHeaders = Array.isArray(opts.headers)\n ? buildHeadersFromArray(opts.headers)\n : opts.headers\n const body = typeof _data === 'function'\n ? _data({ ...opts, headers: optsHeaders })\n : _data\n\n // util.types.isPromise is likely needed for jest.\n if (isPromise(body)) {\n // If handleReply is asynchronous, throwing an error\n // in the callback will reject the promise, rather than\n // synchronously throw the error, which breaks some tests.\n // Rather, we wait for the callback to resolve if it is a\n // promise, and then re-run handleReply with the new body.\n body.then((newData) => handleReply(mockDispatches, newData))\n return\n }\n\n const responseData = getResponseData(body)\n const responseHeaders = generateKeyValues(headers)\n const responseTrailers = generateKeyValues(trailers)\n\n handler.abort = nop\n handler.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode))\n handler.onData(Buffer.from(responseData))\n handler.onComplete(responseTrailers)\n deleteMockDispatch(mockDispatches, key)\n }\n\n function resume () {}\n\n return true\n}\n\nfunction buildMockDispatch () {\n const agent = this[kMockAgent]\n const origin = this[kOrigin]\n const originalDispatch = this[kOriginalDispatch]\n\n return function dispatch (opts, handler) {\n if (agent.isMockActive) {\n try {\n mockDispatch.call(this, opts, handler)\n } catch (error) {\n if (error instanceof MockNotMatchedError) {\n const netConnect = agent[kGetNetConnect]()\n if (netConnect === false) {\n throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`)\n }\n if (checkNetConnect(netConnect, origin)) {\n originalDispatch.call(this, opts, handler)\n } else {\n throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`)\n }\n } else {\n throw error\n }\n }\n } else {\n originalDispatch.call(this, opts, handler)\n }\n }\n}\n\nfunction checkNetConnect (netConnect, origin) {\n const url = new URL(origin)\n if (netConnect === true) {\n return true\n } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {\n return true\n }\n return false\n}\n\nfunction buildMockOptions (opts) {\n if (opts) {\n const { agent, ...mockOptions } = opts\n return mockOptions\n }\n}\n\nmodule.exports = {\n getResponseData,\n getMockDispatch,\n addMockDispatch,\n deleteMockDispatch,\n buildKey,\n generateKeyValues,\n matchValue,\n getResponse,\n getStatusText,\n mockDispatch,\n buildMockDispatch,\n checkNetConnect,\n buildMockOptions,\n getHeaderByName\n}\n", "'use strict'\n\nconst { getResponseData, buildKey, addMockDispatch } = require('./mock-utils')\nconst {\n kDispatches,\n kDispatchKey,\n kDefaultHeaders,\n kDefaultTrailers,\n kContentLength,\n kMockDispatch\n} = require('./mock-symbols')\nconst { InvalidArgumentError } = require('../core/errors')\nconst { buildURL } = require('../core/util')\n\n/**\n * Defines the scope API for an interceptor reply\n */\nclass MockScope {\n constructor (mockDispatch) {\n this[kMockDispatch] = mockDispatch\n }\n\n /**\n * Delay a reply by a set amount in ms.\n */\n delay (waitInMs) {\n if (typeof waitInMs !== 'number' || !Number.isInteger(waitInMs) || waitInMs <= 0) {\n throw new InvalidArgumentError('waitInMs must be a valid integer > 0')\n }\n\n this[kMockDispatch].delay = waitInMs\n return this\n }\n\n /**\n * For a defined reply, never mark as consumed.\n */\n persist () {\n this[kMockDispatch].persist = true\n return this\n }\n\n /**\n * Allow one to define a reply for a set amount of matching requests.\n */\n times (repeatTimes) {\n if (typeof repeatTimes !== 'number' || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {\n throw new InvalidArgumentError('repeatTimes must be a valid integer > 0')\n }\n\n this[kMockDispatch].times = repeatTimes\n return this\n }\n}\n\n/**\n * Defines an interceptor for a Mock\n */\nclass MockInterceptor {\n constructor (opts, mockDispatches) {\n if (typeof opts !== 'object') {\n throw new InvalidArgumentError('opts must be an object')\n }\n if (typeof opts.path === 'undefined') {\n throw new InvalidArgumentError('opts.path must be defined')\n }\n if (typeof opts.method === 'undefined') {\n opts.method = 'GET'\n }\n // See https://github.com/nodejs/undici/issues/1245\n // As per RFC 3986, clients are not supposed to send URI\n // fragments to servers when they retrieve a document,\n if (typeof opts.path === 'string') {\n if (opts.query) {\n opts.path = buildURL(opts.path, opts.query)\n } else {\n // Matches https://github.com/nodejs/undici/blob/main/lib/fetch/index.js#L1811\n const parsedURL = new URL(opts.path, 'data://')\n opts.path = parsedURL.pathname + parsedURL.search\n }\n }\n if (typeof opts.method === 'string') {\n opts.method = opts.method.toUpperCase()\n }\n\n this[kDispatchKey] = buildKey(opts)\n this[kDispatches] = mockDispatches\n this[kDefaultHeaders] = {}\n this[kDefaultTrailers] = {}\n this[kContentLength] = false\n }\n\n createMockScopeDispatchData (statusCode, data, responseOptions = {}) {\n const responseData = getResponseData(data)\n const contentLength = this[kContentLength] ? { 'content-length': responseData.length } : {}\n const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers }\n const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers }\n\n return { statusCode, data, headers, trailers }\n }\n\n validateReplyParameters (statusCode, data, responseOptions) {\n if (typeof statusCode === 'undefined') {\n throw new InvalidArgumentError('statusCode must be defined')\n }\n if (typeof data === 'undefined') {\n throw new InvalidArgumentError('data must be defined')\n }\n if (typeof responseOptions !== 'object') {\n throw new InvalidArgumentError('responseOptions must be an object')\n }\n }\n\n /**\n * Mock an undici request with a defined reply.\n */\n reply (replyData) {\n // Values of reply aren't available right now as they\n // can only be available when the reply callback is invoked.\n if (typeof replyData === 'function') {\n // We'll first wrap the provided callback in another function,\n // this function will properly resolve the data from the callback\n // when invoked.\n const wrappedDefaultsCallback = (opts) => {\n // Our reply options callback contains the parameter for statusCode, data and options.\n const resolvedData = replyData(opts)\n\n // Check if it is in the right format\n if (typeof resolvedData !== 'object') {\n throw new InvalidArgumentError('reply options callback must return an object')\n }\n\n const { statusCode, data = '', responseOptions = {} } = resolvedData\n this.validateReplyParameters(statusCode, data, responseOptions)\n // Since the values can be obtained immediately we return them\n // from this higher order function that will be resolved later.\n return {\n ...this.createMockScopeDispatchData(statusCode, data, responseOptions)\n }\n }\n\n // Add usual dispatch data, but this time set the data parameter to function that will eventually provide data.\n const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback)\n return new MockScope(newMockDispatch)\n }\n\n // We can have either one or three parameters, if we get here,\n // we should have 1-3 parameters. So we spread the arguments of\n // this function to obtain the parameters, since replyData will always\n // just be the statusCode.\n const [statusCode, data = '', responseOptions = {}] = [...arguments]\n this.validateReplyParameters(statusCode, data, responseOptions)\n\n // Send in-already provided data like usual\n const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions)\n const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData)\n return new MockScope(newMockDispatch)\n }\n\n /**\n * Mock an undici request with a defined error.\n */\n replyWithError (error) {\n if (typeof error === 'undefined') {\n throw new InvalidArgumentError('error must be defined')\n }\n\n const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error })\n return new MockScope(newMockDispatch)\n }\n\n /**\n * Set default reply headers on the interceptor for subsequent replies\n */\n defaultReplyHeaders (headers) {\n if (typeof headers === 'undefined') {\n throw new InvalidArgumentError('headers must be defined')\n }\n\n this[kDefaultHeaders] = headers\n return this\n }\n\n /**\n * Set default reply trailers on the interceptor for subsequent replies\n */\n defaultReplyTrailers (trailers) {\n if (typeof trailers === 'undefined') {\n throw new InvalidArgumentError('trailers must be defined')\n }\n\n this[kDefaultTrailers] = trailers\n return this\n }\n\n /**\n * Set reply content length header for replies on the interceptor\n */\n replyContentLength () {\n this[kContentLength] = true\n return this\n }\n}\n\nmodule.exports.MockInterceptor = MockInterceptor\nmodule.exports.MockScope = MockScope\n", "'use strict'\n\nconst { promisify } = require('util')\nconst Client = require('../client')\nconst { buildMockDispatch } = require('./mock-utils')\nconst {\n kDispatches,\n kMockAgent,\n kClose,\n kOriginalClose,\n kOrigin,\n kOriginalDispatch,\n kConnected\n} = require('./mock-symbols')\nconst { MockInterceptor } = require('./mock-interceptor')\nconst Symbols = require('../core/symbols')\nconst { InvalidArgumentError } = require('../core/errors')\n\n/**\n * MockClient provides an API that extends the Client to influence the mockDispatches.\n */\nclass MockClient extends Client {\n constructor (origin, opts) {\n super(origin, opts)\n\n if (!opts || !opts.agent || typeof opts.agent.dispatch !== 'function') {\n throw new InvalidArgumentError('Argument opts.agent must implement Agent')\n }\n\n this[kMockAgent] = opts.agent\n this[kOrigin] = origin\n this[kDispatches] = []\n this[kConnected] = 1\n this[kOriginalDispatch] = this.dispatch\n this[kOriginalClose] = this.close.bind(this)\n\n this.dispatch = buildMockDispatch.call(this)\n this.close = this[kClose]\n }\n\n get [Symbols.kConnected] () {\n return this[kConnected]\n }\n\n /**\n * Sets up the base interceptor for mocking replies from undici.\n */\n intercept (opts) {\n return new MockInterceptor(opts, this[kDispatches])\n }\n\n async [kClose] () {\n await promisify(this[kOriginalClose])()\n this[kConnected] = 0\n this[kMockAgent][Symbols.kClients].delete(this[kOrigin])\n }\n}\n\nmodule.exports = MockClient\n", "'use strict'\n\nconst { promisify } = require('util')\nconst Pool = require('../pool')\nconst { buildMockDispatch } = require('./mock-utils')\nconst {\n kDispatches,\n kMockAgent,\n kClose,\n kOriginalClose,\n kOrigin,\n kOriginalDispatch,\n kConnected\n} = require('./mock-symbols')\nconst { MockInterceptor } = require('./mock-interceptor')\nconst Symbols = require('../core/symbols')\nconst { InvalidArgumentError } = require('../core/errors')\n\n/**\n * MockPool provides an API that extends the Pool to influence the mockDispatches.\n */\nclass MockPool extends Pool {\n constructor (origin, opts) {\n super(origin, opts)\n\n if (!opts || !opts.agent || typeof opts.agent.dispatch !== 'function') {\n throw new InvalidArgumentError('Argument opts.agent must implement Agent')\n }\n\n this[kMockAgent] = opts.agent\n this[kOrigin] = origin\n this[kDispatches] = []\n this[kConnected] = 1\n this[kOriginalDispatch] = this.dispatch\n this[kOriginalClose] = this.close.bind(this)\n\n this.dispatch = buildMockDispatch.call(this)\n this.close = this[kClose]\n }\n\n get [Symbols.kConnected] () {\n return this[kConnected]\n }\n\n /**\n * Sets up the base interceptor for mocking replies from undici.\n */\n intercept (opts) {\n return new MockInterceptor(opts, this[kDispatches])\n }\n\n async [kClose] () {\n await promisify(this[kOriginalClose])()\n this[kConnected] = 0\n this[kMockAgent][Symbols.kClients].delete(this[kOrigin])\n }\n}\n\nmodule.exports = MockPool\n", "'use strict'\n\nconst singulars = {\n pronoun: 'it',\n is: 'is',\n was: 'was',\n this: 'this'\n}\n\nconst plurals = {\n pronoun: 'they',\n is: 'are',\n was: 'were',\n this: 'these'\n}\n\nmodule.exports = class Pluralizer {\n constructor (singular, plural) {\n this.singular = singular\n this.plural = plural\n }\n\n pluralize (count) {\n const one = count === 1\n const keys = one ? singulars : plurals\n const noun = one ? this.singular : this.plural\n return { ...keys, count, noun }\n }\n}\n", "'use strict'\n\nconst { Transform } = require('stream')\nconst { Console } = require('console')\n\n/**\n * Gets the output of `console.table(\u2026)` as a string.\n */\nmodule.exports = class PendingInterceptorsFormatter {\n constructor ({ disableColors } = {}) {\n this.transform = new Transform({\n transform (chunk, _enc, cb) {\n cb(null, chunk)\n }\n })\n\n this.logger = new Console({\n stdout: this.transform,\n inspectOptions: {\n colors: !disableColors && !process.env.CI\n }\n })\n }\n\n format (pendingInterceptors) {\n const withPrettyHeaders = pendingInterceptors.map(\n ({ method, path, data: { statusCode }, persist, times, timesInvoked, origin }) => ({\n Method: method,\n Origin: origin,\n Path: path,\n 'Status code': statusCode,\n Persistent: persist ? '\u2705' : '\u274C',\n Invocations: timesInvoked,\n Remaining: persist ? Infinity : times - timesInvoked\n }))\n\n this.logger.table(withPrettyHeaders)\n return this.transform.read().toString()\n }\n}\n", "'use strict'\n\nconst { kClients } = require('../core/symbols')\nconst Agent = require('../agent')\nconst {\n kAgent,\n kMockAgentSet,\n kMockAgentGet,\n kDispatches,\n kIsMockActive,\n kNetConnect,\n kGetNetConnect,\n kOptions,\n kFactory\n} = require('./mock-symbols')\nconst MockClient = require('./mock-client')\nconst MockPool = require('./mock-pool')\nconst { matchValue, buildMockOptions } = require('./mock-utils')\nconst { InvalidArgumentError, UndiciError } = require('../core/errors')\nconst Dispatcher = require('../dispatcher')\nconst Pluralizer = require('./pluralizer')\nconst PendingInterceptorsFormatter = require('./pending-interceptors-formatter')\n\nclass FakeWeakRef {\n constructor (value) {\n this.value = value\n }\n\n deref () {\n return this.value\n }\n}\n\nclass MockAgent extends Dispatcher {\n constructor (opts) {\n super(opts)\n\n this[kNetConnect] = true\n this[kIsMockActive] = true\n\n // Instantiate Agent and encapsulate\n if ((opts && opts.agent && typeof opts.agent.dispatch !== 'function')) {\n throw new InvalidArgumentError('Argument opts.agent must implement Agent')\n }\n const agent = opts && opts.agent ? opts.agent : new Agent(opts)\n this[kAgent] = agent\n\n this[kClients] = agent[kClients]\n this[kOptions] = buildMockOptions(opts)\n }\n\n get (origin) {\n let dispatcher = this[kMockAgentGet](origin)\n\n if (!dispatcher) {\n dispatcher = this[kFactory](origin)\n this[kMockAgentSet](origin, dispatcher)\n }\n return dispatcher\n }\n\n dispatch (opts, handler) {\n // Call MockAgent.get to perform additional setup before dispatching as normal\n this.get(opts.origin)\n return this[kAgent].dispatch(opts, handler)\n }\n\n async close () {\n await this[kAgent].close()\n this[kClients].clear()\n }\n\n deactivate () {\n this[kIsMockActive] = false\n }\n\n activate () {\n this[kIsMockActive] = true\n }\n\n enableNetConnect (matcher) {\n if (typeof matcher === 'string' || typeof matcher === 'function' || matcher instanceof RegExp) {\n if (Array.isArray(this[kNetConnect])) {\n this[kNetConnect].push(matcher)\n } else {\n this[kNetConnect] = [matcher]\n }\n } else if (typeof matcher === 'undefined') {\n this[kNetConnect] = true\n } else {\n throw new InvalidArgumentError('Unsupported matcher. Must be one of String|Function|RegExp.')\n }\n }\n\n disableNetConnect () {\n this[kNetConnect] = false\n }\n\n // This is required to bypass issues caused by using global symbols - see:\n // https://github.com/nodejs/undici/issues/1447\n get isMockActive () {\n return this[kIsMockActive]\n }\n\n [kMockAgentSet] (origin, dispatcher) {\n this[kClients].set(origin, new FakeWeakRef(dispatcher))\n }\n\n [kFactory] (origin) {\n const mockOptions = Object.assign({ agent: this }, this[kOptions])\n return this[kOptions] && this[kOptions].connections === 1\n ? new MockClient(origin, mockOptions)\n : new MockPool(origin, mockOptions)\n }\n\n [kMockAgentGet] (origin) {\n // First check if we can immediately find it\n const ref = this[kClients].get(origin)\n if (ref) {\n return ref.deref()\n }\n\n // If the origin is not a string create a dummy parent pool and return to user\n if (typeof origin !== 'string') {\n const dispatcher = this[kFactory]('http://localhost:9999')\n this[kMockAgentSet](origin, dispatcher)\n return dispatcher\n }\n\n // If we match, create a pool and assign the same dispatches\n for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {\n const nonExplicitDispatcher = nonExplicitRef.deref()\n if (nonExplicitDispatcher && typeof keyMatcher !== 'string' && matchValue(keyMatcher, origin)) {\n const dispatcher = this[kFactory](origin)\n this[kMockAgentSet](origin, dispatcher)\n dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches]\n return dispatcher\n }\n }\n }\n\n [kGetNetConnect] () {\n return this[kNetConnect]\n }\n\n pendingInterceptors () {\n const mockAgentClients = this[kClients]\n\n return Array.from(mockAgentClients.entries())\n .flatMap(([origin, scope]) => scope.deref()[kDispatches].map(dispatch => ({ ...dispatch, origin })))\n .filter(({ pending }) => pending)\n }\n\n assertNoPendingInterceptors ({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {\n const pending = this.pendingInterceptors()\n\n if (pending.length === 0) {\n return\n }\n\n const pluralizer = new Pluralizer('interceptor', 'interceptors').pluralize(pending.length)\n\n throw new UndiciError(`\n${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:\n\n${pendingInterceptorsFormatter.format(pending)}\n`.trim())\n }\n}\n\nmodule.exports = MockAgent\n", "'use strict'\n\nconst { kProxy, kClose, kDestroy, kInterceptors } = require('./core/symbols')\nconst { URL } = require('url')\nconst Agent = require('./agent')\nconst Pool = require('./pool')\nconst DispatcherBase = require('./dispatcher-base')\nconst { InvalidArgumentError, RequestAbortedError } = require('./core/errors')\nconst buildConnector = require('./core/connect')\n\nconst kAgent = Symbol('proxy agent')\nconst kClient = Symbol('proxy client')\nconst kProxyHeaders = Symbol('proxy headers')\nconst kRequestTls = Symbol('request tls settings')\nconst kProxyTls = Symbol('proxy tls settings')\nconst kConnectEndpoint = Symbol('connect endpoint function')\n\nfunction defaultProtocolPort (protocol) {\n return protocol === 'https:' ? 443 : 80\n}\n\nfunction buildProxyOptions (opts) {\n if (typeof opts === 'string') {\n opts = { uri: opts }\n }\n\n if (!opts || !opts.uri) {\n throw new InvalidArgumentError('Proxy opts.uri is mandatory')\n }\n\n return {\n uri: opts.uri,\n protocol: opts.protocol || 'https'\n }\n}\n\nfunction defaultFactory (origin, opts) {\n return new Pool(origin, opts)\n}\n\nclass ProxyAgent extends DispatcherBase {\n constructor (opts) {\n super(opts)\n this[kProxy] = buildProxyOptions(opts)\n this[kAgent] = new Agent(opts)\n this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent)\n ? opts.interceptors.ProxyAgent\n : []\n\n if (typeof opts === 'string') {\n opts = { uri: opts }\n }\n\n if (!opts || !opts.uri) {\n throw new InvalidArgumentError('Proxy opts.uri is mandatory')\n }\n\n const { clientFactory = defaultFactory } = opts\n\n if (typeof clientFactory !== 'function') {\n throw new InvalidArgumentError('Proxy opts.clientFactory must be a function.')\n }\n\n this[kRequestTls] = opts.requestTls\n this[kProxyTls] = opts.proxyTls\n this[kProxyHeaders] = opts.headers || {}\n\n if (opts.auth && opts.token) {\n throw new InvalidArgumentError('opts.auth cannot be used in combination with opts.token')\n } else if (opts.auth) {\n /* @deprecated in favour of opts.token */\n this[kProxyHeaders]['proxy-authorization'] = `Basic ${opts.auth}`\n } else if (opts.token) {\n this[kProxyHeaders]['proxy-authorization'] = opts.token\n }\n\n const resolvedUrl = new URL(opts.uri)\n const { origin, port, host } = resolvedUrl\n\n const connect = buildConnector({ ...opts.proxyTls })\n this[kConnectEndpoint] = buildConnector({ ...opts.requestTls })\n this[kClient] = clientFactory(resolvedUrl, { connect })\n this[kAgent] = new Agent({\n ...opts,\n connect: async (opts, callback) => {\n let requestedHost = opts.host\n if (!opts.port) {\n requestedHost += `:${defaultProtocolPort(opts.protocol)}`\n }\n try {\n const { socket, statusCode } = await this[kClient].connect({\n origin,\n port,\n path: requestedHost,\n signal: opts.signal,\n headers: {\n ...this[kProxyHeaders],\n host\n }\n })\n if (statusCode !== 200) {\n socket.on('error', () => {}).destroy()\n callback(new RequestAbortedError('Proxy response !== 200 when HTTP Tunneling'))\n }\n if (opts.protocol !== 'https:') {\n callback(null, socket)\n return\n }\n let servername\n if (this[kRequestTls]) {\n servername = this[kRequestTls].servername\n } else {\n servername = opts.servername\n }\n this[kConnectEndpoint]({ ...opts, servername, httpSocket: socket }, callback)\n } catch (err) {\n callback(err)\n }\n }\n })\n }\n\n dispatch (opts, handler) {\n const { host } = new URL(opts.origin)\n const headers = buildHeaders(opts.headers)\n throwIfProxyAuthIsSent(headers)\n return this[kAgent].dispatch(\n {\n ...opts,\n headers: {\n ...headers,\n host\n }\n },\n handler\n )\n }\n\n async [kClose] () {\n await this[kAgent].close()\n await this[kClient].close()\n }\n\n async [kDestroy] () {\n await this[kAgent].destroy()\n await this[kClient].destroy()\n }\n}\n\n/**\n * @param {string[] | Record<string, string>} headers\n * @returns {Record<string, string>}\n */\nfunction buildHeaders (headers) {\n // When using undici.fetch, the headers list is stored\n // as an array.\n if (Array.isArray(headers)) {\n /** @type {Record<string, string>} */\n const headersPair = {}\n\n for (let i = 0; i < headers.length; i += 2) {\n headersPair[headers[i]] = headers[i + 1]\n }\n\n return headersPair\n }\n\n return headers\n}\n\n/**\n * @param {Record<string, string>} headers\n *\n * Previous versions of ProxyAgent suggests the Proxy-Authorization in request headers\n * Nevertheless, it was changed and to avoid a security vulnerability by end users\n * this check was created.\n * It should be removed in the next major version for performance reasons\n */\nfunction throwIfProxyAuthIsSent (headers) {\n const existProxyAuth = headers && Object.keys(headers)\n .find((key) => key.toLowerCase() === 'proxy-authorization')\n if (existProxyAuth) {\n throw new InvalidArgumentError('Proxy-Authorization should be sent in ProxyAgent constructor')\n }\n}\n\nmodule.exports = ProxyAgent\n", "'use strict'\n\n// We include a version number for the Dispatcher API. In case of breaking changes,\n// this version number must be increased to avoid conflicts.\nconst globalDispatcher = Symbol.for('undici.globalDispatcher.1')\nconst { InvalidArgumentError } = require('./core/errors')\nconst Agent = require('./agent')\n\nif (getGlobalDispatcher() === undefined) {\n setGlobalDispatcher(new Agent())\n}\n\nfunction setGlobalDispatcher (agent) {\n if (!agent || typeof agent.dispatch !== 'function') {\n throw new InvalidArgumentError('Argument agent must implement Agent')\n }\n Object.defineProperty(globalThis, globalDispatcher, {\n value: agent,\n writable: true,\n enumerable: false,\n configurable: false\n })\n}\n\nfunction getGlobalDispatcher () {\n return globalThis[globalDispatcher]\n}\n\nmodule.exports = {\n setGlobalDispatcher,\n getGlobalDispatcher\n}\n", "'use strict'\n\nmodule.exports = class DecoratorHandler {\n constructor (handler) {\n this.handler = handler\n }\n\n onConnect (...args) {\n return this.handler.onConnect(...args)\n }\n\n onError (...args) {\n return this.handler.onError(...args)\n }\n\n onUpgrade (...args) {\n return this.handler.onUpgrade(...args)\n }\n\n onHeaders (...args) {\n return this.handler.onHeaders(...args)\n }\n\n onData (...args) {\n return this.handler.onData(...args)\n }\n\n onComplete (...args) {\n return this.handler.onComplete(...args)\n }\n\n onBodySent (...args) {\n return this.handler.onBodySent(...args)\n }\n}\n", "// https://github.com/Ethan-Arrowood/undici-fetch\n\n'use strict'\n\nconst { kHeadersList } = require('../core/symbols')\nconst { kGuard } = require('./symbols')\nconst { kEnumerableProperty } = require('../core/util')\nconst {\n makeIterator,\n isValidHeaderName,\n isValidHeaderValue\n} = require('./util')\nconst { webidl } = require('./webidl')\nconst assert = require('assert')\n\nconst kHeadersMap = Symbol('headers map')\nconst kHeadersSortedMap = Symbol('headers map sorted')\n\n/**\n * @see https://fetch.spec.whatwg.org/#concept-header-value-normalize\n * @param {string} potentialValue\n */\nfunction headerValueNormalize (potentialValue) {\n // To normalize a byte sequence potentialValue, remove\n // any leading and trailing HTTP whitespace bytes from\n // potentialValue.\n\n // Trimming the end with `.replace()` and a RegExp is typically subject to\n // ReDoS. This is safer and faster.\n let i = potentialValue.length\n while (/[\\r\\n\\t ]/.test(potentialValue.charAt(--i)));\n return potentialValue.slice(0, i + 1).replace(/^[\\r\\n\\t ]+/, '')\n}\n\nfunction fill (headers, object) {\n // To fill a Headers object headers with a given object object, run these steps:\n\n // 1. If object is a sequence, then for each header in object:\n // Note: webidl conversion to array has already been done.\n if (Array.isArray(object)) {\n for (const header of object) {\n // 1. If header does not contain exactly two items, then throw a TypeError.\n if (header.length !== 2) {\n throw webidl.errors.exception({\n header: 'Headers constructor',\n message: `expected name/value pair to be length 2, found ${header.length}.`\n })\n }\n\n // 2. Append (header\u2019s first item, header\u2019s second item) to headers.\n headers.append(header[0], header[1])\n }\n } else if (typeof object === 'object' && object !== null) {\n // Note: null should throw\n\n // 2. Otherwise, object is a record, then for each key \u2192 value in object,\n // append (key, value) to headers\n for (const [key, value] of Object.entries(object)) {\n headers.append(key, value)\n }\n } else {\n throw webidl.errors.conversionFailed({\n prefix: 'Headers constructor',\n argument: 'Argument 1',\n types: ['sequence<sequence<ByteString>>', 'record<ByteString, ByteString>']\n })\n }\n}\n\nclass HeadersList {\n /** @type {[string, string][]|null} */\n cookies = null\n\n constructor (init) {\n if (init instanceof HeadersList) {\n this[kHeadersMap] = new Map(init[kHeadersMap])\n this[kHeadersSortedMap] = init[kHeadersSortedMap]\n this.cookies = init.cookies\n } else {\n this[kHeadersMap] = new Map(init)\n this[kHeadersSortedMap] = null\n }\n }\n\n // https://fetch.spec.whatwg.org/#header-list-contains\n contains (name) {\n // A header list list contains a header name name if list\n // contains a header whose name is a byte-case-insensitive\n // match for name.\n name = name.toLowerCase()\n\n return this[kHeadersMap].has(name)\n }\n\n clear () {\n this[kHeadersMap].clear()\n this[kHeadersSortedMap] = null\n this.cookies = null\n }\n\n // https://fetch.spec.whatwg.org/#concept-header-list-append\n append (name, value) {\n this[kHeadersSortedMap] = null\n\n // 1. If list contains name, then set name to the first such\n // header\u2019s name.\n const lowercaseName = name.toLowerCase()\n const exists = this[kHeadersMap].get(lowercaseName)\n\n // 2. Append (name, value) to list.\n if (exists) {\n const delimiter = lowercaseName === 'cookie' ? '; ' : ', '\n this[kHeadersMap].set(lowercaseName, {\n name: exists.name,\n value: `${exists.value}${delimiter}${value}`\n })\n } else {\n this[kHeadersMap].set(lowercaseName, { name, value })\n }\n\n if (lowercaseName === 'set-cookie') {\n this.cookies ??= []\n this.cookies.push(value)\n }\n }\n\n // https://fetch.spec.whatwg.org/#concept-header-list-set\n set (name, value) {\n this[kHeadersSortedMap] = null\n const lowercaseName = name.toLowerCase()\n\n if (lowercaseName === 'set-cookie') {\n this.cookies = [value]\n }\n\n // 1. If list contains name, then set the value of\n // the first such header to value and remove the\n // others.\n // 2. Otherwise, append header (name, value) to list.\n return this[kHeadersMap].set(lowercaseName, { name, value })\n }\n\n // https://fetch.spec.whatwg.org/#concept-header-list-delete\n delete (name) {\n this[kHeadersSortedMap] = null\n\n name = name.toLowerCase()\n\n if (name === 'set-cookie') {\n this.cookies = null\n }\n\n return this[kHeadersMap].delete(name)\n }\n\n // https://fetch.spec.whatwg.org/#concept-header-list-get\n get (name) {\n // 1. If list does not contain name, then return null.\n if (!this.contains(name)) {\n return null\n }\n\n // 2. Return the values of all headers in list whose name\n // is a byte-case-insensitive match for name,\n // separated from each other by 0x2C 0x20, in order.\n return this[kHeadersMap].get(name.toLowerCase())?.value ?? null\n }\n\n * [Symbol.iterator] () {\n // use the lowercased name\n for (const [name, { value }] of this[kHeadersMap]) {\n yield [name, value]\n }\n }\n\n get entries () {\n const headers = {}\n\n if (this[kHeadersMap].size) {\n for (const { name, value } of this[kHeadersMap].values()) {\n headers[name] = value\n }\n }\n\n return headers\n }\n}\n\n// https://fetch.spec.whatwg.org/#headers-class\nclass Headers {\n constructor (init = undefined) {\n this[kHeadersList] = new HeadersList()\n\n // The new Headers(init) constructor steps are:\n\n // 1. Set this\u2019s guard to \"none\".\n this[kGuard] = 'none'\n\n // 2. If init is given, then fill this with init.\n if (init !== undefined) {\n init = webidl.converters.HeadersInit(init)\n fill(this, init)\n }\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-append\n append (name, value) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 2, { header: 'Headers.append' })\n\n name = webidl.converters.ByteString(name)\n value = webidl.converters.ByteString(value)\n\n // 1. Normalize value.\n value = headerValueNormalize(value)\n\n // 2. If name is not a header name or value is not a\n // header value, then throw a TypeError.\n if (!isValidHeaderName(name)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.append',\n value: name,\n type: 'header name'\n })\n } else if (!isValidHeaderValue(value)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.append',\n value,\n type: 'header value'\n })\n }\n\n // 3. If headers\u2019s guard is \"immutable\", then throw a TypeError.\n // 4. Otherwise, if headers\u2019s guard is \"request\" and name is a\n // forbidden header name, return.\n // Note: undici does not implement forbidden header names\n if (this[kGuard] === 'immutable') {\n throw new TypeError('immutable')\n } else if (this[kGuard] === 'request-no-cors') {\n // 5. Otherwise, if headers\u2019s guard is \"request-no-cors\":\n // TODO\n }\n\n // 6. Otherwise, if headers\u2019s guard is \"response\" and name is a\n // forbidden response-header name, return.\n\n // 7. Append (name, value) to headers\u2019s header list.\n // 8. If headers\u2019s guard is \"request-no-cors\", then remove\n // privileged no-CORS request headers from headers\n return this[kHeadersList].append(name, value)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-delete\n delete (name) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.delete' })\n\n name = webidl.converters.ByteString(name)\n\n // 1. If name is not a header name, then throw a TypeError.\n if (!isValidHeaderName(name)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.delete',\n value: name,\n type: 'header name'\n })\n }\n\n // 2. If this\u2019s guard is \"immutable\", then throw a TypeError.\n // 3. Otherwise, if this\u2019s guard is \"request\" and name is a\n // forbidden header name, return.\n // 4. Otherwise, if this\u2019s guard is \"request-no-cors\", name\n // is not a no-CORS-safelisted request-header name, and\n // name is not a privileged no-CORS request-header name,\n // return.\n // 5. Otherwise, if this\u2019s guard is \"response\" and name is\n // a forbidden response-header name, return.\n // Note: undici does not implement forbidden header names\n if (this[kGuard] === 'immutable') {\n throw new TypeError('immutable')\n } else if (this[kGuard] === 'request-no-cors') {\n // TODO\n }\n\n // 6. If this\u2019s header list does not contain name, then\n // return.\n if (!this[kHeadersList].contains(name)) {\n return\n }\n\n // 7. Delete name from this\u2019s header list.\n // 8. If this\u2019s guard is \"request-no-cors\", then remove\n // privileged no-CORS request headers from this.\n return this[kHeadersList].delete(name)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-get\n get (name) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.get' })\n\n name = webidl.converters.ByteString(name)\n\n // 1. If name is not a header name, then throw a TypeError.\n if (!isValidHeaderName(name)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.get',\n value: name,\n type: 'header name'\n })\n }\n\n // 2. Return the result of getting name from this\u2019s header\n // list.\n return this[kHeadersList].get(name)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-has\n has (name) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.has' })\n\n name = webidl.converters.ByteString(name)\n\n // 1. If name is not a header name, then throw a TypeError.\n if (!isValidHeaderName(name)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.has',\n value: name,\n type: 'header name'\n })\n }\n\n // 2. Return true if this\u2019s header list contains name;\n // otherwise false.\n return this[kHeadersList].contains(name)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-set\n set (name, value) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 2, { header: 'Headers.set' })\n\n name = webidl.converters.ByteString(name)\n value = webidl.converters.ByteString(value)\n\n // 1. Normalize value.\n value = headerValueNormalize(value)\n\n // 2. If name is not a header name or value is not a\n // header value, then throw a TypeError.\n if (!isValidHeaderName(name)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.set',\n value: name,\n type: 'header name'\n })\n } else if (!isValidHeaderValue(value)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.set',\n value,\n type: 'header value'\n })\n }\n\n // 3. If this\u2019s guard is \"immutable\", then throw a TypeError.\n // 4. Otherwise, if this\u2019s guard is \"request\" and name is a\n // forbidden header name, return.\n // 5. Otherwise, if this\u2019s guard is \"request-no-cors\" and\n // name/value is not a no-CORS-safelisted request-header,\n // return.\n // 6. Otherwise, if this\u2019s guard is \"response\" and name is a\n // forbidden response-header name, return.\n // Note: undici does not implement forbidden header names\n if (this[kGuard] === 'immutable') {\n throw new TypeError('immutable')\n } else if (this[kGuard] === 'request-no-cors') {\n // TODO\n }\n\n // 7. Set (name, value) in this\u2019s header list.\n // 8. If this\u2019s guard is \"request-no-cors\", then remove\n // privileged no-CORS request headers from this\n return this[kHeadersList].set(name, value)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie\n getSetCookie () {\n webidl.brandCheck(this, Headers)\n\n // 1. If this\u2019s header list does not contain `Set-Cookie`, then return \u00AB \u00BB.\n // 2. Return the values of all headers in this\u2019s header list whose name is\n // a byte-case-insensitive match for `Set-Cookie`, in order.\n\n const list = this[kHeadersList].cookies\n\n if (list) {\n return [...list]\n }\n\n return []\n }\n\n // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine\n get [kHeadersSortedMap] () {\n if (this[kHeadersList][kHeadersSortedMap]) {\n return this[kHeadersList][kHeadersSortedMap]\n }\n\n // 1. Let headers be an empty list of headers with the key being the name\n // and value the value.\n const headers = []\n\n // 2. Let names be the result of convert header names to a sorted-lowercase\n // set with all the names of the headers in list.\n const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1)\n const cookies = this[kHeadersList].cookies\n\n // 3. For each name of names:\n for (const [name, value] of names) {\n // 1. If name is `set-cookie`, then:\n if (name === 'set-cookie') {\n // 1. Let values be a list of all values of headers in list whose name\n // is a byte-case-insensitive match for name, in order.\n\n // 2. For each value of values:\n // 1. Append (name, value) to headers.\n for (const value of cookies) {\n headers.push([name, value])\n }\n } else {\n // 2. Otherwise:\n\n // 1. Let value be the result of getting name from list.\n\n // 2. Assert: value is non-null.\n assert(value !== null)\n\n // 3. Append (name, value) to headers.\n headers.push([name, value])\n }\n }\n\n this[kHeadersList][kHeadersSortedMap] = headers\n\n // 4. Return headers.\n return headers\n }\n\n keys () {\n webidl.brandCheck(this, Headers)\n\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n 'Headers',\n 'key'\n )\n }\n\n values () {\n webidl.brandCheck(this, Headers)\n\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n 'Headers',\n 'value'\n )\n }\n\n entries () {\n webidl.brandCheck(this, Headers)\n\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n 'Headers',\n 'key+value'\n )\n }\n\n /**\n * @param {(value: string, key: string, self: Headers) => void} callbackFn\n * @param {unknown} thisArg\n */\n forEach (callbackFn, thisArg = globalThis) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.forEach' })\n\n if (typeof callbackFn !== 'function') {\n throw new TypeError(\n \"Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.\"\n )\n }\n\n for (const [key, value] of this) {\n callbackFn.apply(thisArg, [value, key, this])\n }\n }\n\n [Symbol.for('nodejs.util.inspect.custom')] () {\n webidl.brandCheck(this, Headers)\n\n return this[kHeadersList]\n }\n}\n\nHeaders.prototype[Symbol.iterator] = Headers.prototype.entries\n\nObject.defineProperties(Headers.prototype, {\n append: kEnumerableProperty,\n delete: kEnumerableProperty,\n get: kEnumerableProperty,\n has: kEnumerableProperty,\n set: kEnumerableProperty,\n getSetCookie: kEnumerableProperty,\n keys: kEnumerableProperty,\n values: kEnumerableProperty,\n entries: kEnumerableProperty,\n forEach: kEnumerableProperty,\n [Symbol.iterator]: { enumerable: false },\n [Symbol.toStringTag]: {\n value: 'Headers',\n configurable: true\n }\n})\n\nwebidl.converters.HeadersInit = function (V) {\n if (webidl.util.Type(V) === 'Object') {\n if (V[Symbol.iterator]) {\n return webidl.converters['sequence<sequence<ByteString>>'](V)\n }\n\n return webidl.converters['record<ByteString, ByteString>'](V)\n }\n\n throw webidl.errors.conversionFailed({\n prefix: 'Headers constructor',\n argument: 'Argument 1',\n types: ['sequence<sequence<ByteString>>', 'record<ByteString, ByteString>']\n })\n}\n\nmodule.exports = {\n fill,\n Headers,\n HeadersList\n}\n", "'use strict'\n\nconst { Headers, HeadersList, fill } = require('./headers')\nconst { extractBody, cloneBody, mixinBody } = require('./body')\nconst util = require('../core/util')\nconst { kEnumerableProperty } = util\nconst {\n isValidReasonPhrase,\n isCancelled,\n isAborted,\n isBlobLike,\n serializeJavascriptValueToJSONString,\n isErrorLike,\n isomorphicEncode\n} = require('./util')\nconst {\n redirectStatus,\n nullBodyStatus,\n DOMException\n} = require('./constants')\nconst { kState, kHeaders, kGuard, kRealm } = require('./symbols')\nconst { webidl } = require('./webidl')\nconst { FormData } = require('./formdata')\nconst { getGlobalOrigin } = require('./global')\nconst { URLSerializer } = require('./dataURL')\nconst { kHeadersList } = require('../core/symbols')\nconst assert = require('assert')\nconst { types } = require('util')\n\nconst ReadableStream = globalThis.ReadableStream || require('stream/web').ReadableStream\n\n// https://fetch.spec.whatwg.org/#response-class\nclass Response {\n // Creates network error Response.\n static error () {\n // TODO\n const relevantRealm = { settingsObject: {} }\n\n // The static error() method steps are to return the result of creating a\n // Response object, given a new network error, \"immutable\", and this\u2019s\n // relevant Realm.\n const responseObject = new Response()\n responseObject[kState] = makeNetworkError()\n responseObject[kRealm] = relevantRealm\n responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList\n responseObject[kHeaders][kGuard] = 'immutable'\n responseObject[kHeaders][kRealm] = relevantRealm\n return responseObject\n }\n\n // https://fetch.spec.whatwg.org/#dom-response-json\n static json (data = undefined, init = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'Response.json' })\n\n if (init !== null) {\n init = webidl.converters.ResponseInit(init)\n }\n\n // 1. Let bytes the result of running serialize a JavaScript value to JSON bytes on data.\n const bytes = new TextEncoder('utf-8').encode(\n serializeJavascriptValueToJSONString(data)\n )\n\n // 2. Let body be the result of extracting bytes.\n const body = extractBody(bytes)\n\n // 3. Let responseObject be the result of creating a Response object, given a new response,\n // \"response\", and this\u2019s relevant Realm.\n const relevantRealm = { settingsObject: {} }\n const responseObject = new Response()\n responseObject[kRealm] = relevantRealm\n responseObject[kHeaders][kGuard] = 'response'\n responseObject[kHeaders][kRealm] = relevantRealm\n\n // 4. Perform initialize a response given responseObject, init, and (body, \"application/json\").\n initializeResponse(responseObject, init, { body: body[0], type: 'application/json' })\n\n // 5. Return responseObject.\n return responseObject\n }\n\n // Creates a redirect Response that redirects to url with status status.\n static redirect (url, status = 302) {\n const relevantRealm = { settingsObject: {} }\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Response.redirect' })\n\n url = webidl.converters.USVString(url)\n status = webidl.converters['unsigned short'](status)\n\n // 1. Let parsedURL be the result of parsing url with current settings\n // object\u2019s API base URL.\n // 2. If parsedURL is failure, then throw a TypeError.\n // TODO: base-URL?\n let parsedURL\n try {\n parsedURL = new URL(url, getGlobalOrigin())\n } catch (err) {\n throw Object.assign(new TypeError('Failed to parse URL from ' + url), {\n cause: err\n })\n }\n\n // 3. If status is not a redirect status, then throw a RangeError.\n if (!redirectStatus.includes(status)) {\n throw new RangeError('Invalid status code ' + status)\n }\n\n // 4. Let responseObject be the result of creating a Response object,\n // given a new response, \"immutable\", and this\u2019s relevant Realm.\n const responseObject = new Response()\n responseObject[kRealm] = relevantRealm\n responseObject[kHeaders][kGuard] = 'immutable'\n responseObject[kHeaders][kRealm] = relevantRealm\n\n // 5. Set responseObject\u2019s response\u2019s status to status.\n responseObject[kState].status = status\n\n // 6. Let value be parsedURL, serialized and isomorphic encoded.\n const value = isomorphicEncode(URLSerializer(parsedURL))\n\n // 7. Append `Location`/value to responseObject\u2019s response\u2019s header list.\n responseObject[kState].headersList.append('location', value)\n\n // 8. Return responseObject.\n return responseObject\n }\n\n // https://fetch.spec.whatwg.org/#dom-response\n constructor (body = null, init = {}) {\n if (body !== null) {\n body = webidl.converters.BodyInit(body)\n }\n\n init = webidl.converters.ResponseInit(init)\n\n // TODO\n this[kRealm] = { settingsObject: {} }\n\n // 1. Set this\u2019s response to a new response.\n this[kState] = makeResponse({})\n\n // 2. Set this\u2019s headers to a new Headers object with this\u2019s relevant\n // Realm, whose header list is this\u2019s response\u2019s header list and guard\n // is \"response\".\n this[kHeaders] = new Headers()\n this[kHeaders][kGuard] = 'response'\n this[kHeaders][kHeadersList] = this[kState].headersList\n this[kHeaders][kRealm] = this[kRealm]\n\n // 3. Let bodyWithType be null.\n let bodyWithType = null\n\n // 4. If body is non-null, then set bodyWithType to the result of extracting body.\n if (body != null) {\n const [extractedBody, type] = extractBody(body)\n bodyWithType = { body: extractedBody, type }\n }\n\n // 5. Perform initialize a response given this, init, and bodyWithType.\n initializeResponse(this, init, bodyWithType)\n }\n\n // Returns response\u2019s type, e.g., \"cors\".\n get type () {\n webidl.brandCheck(this, Response)\n\n // The type getter steps are to return this\u2019s response\u2019s type.\n return this[kState].type\n }\n\n // Returns response\u2019s URL, if it has one; otherwise the empty string.\n get url () {\n webidl.brandCheck(this, Response)\n\n const urlList = this[kState].urlList\n\n // The url getter steps are to return the empty string if this\u2019s\n // response\u2019s URL is null; otherwise this\u2019s response\u2019s URL,\n // serialized with exclude fragment set to true.\n const url = urlList[urlList.length - 1] ?? null\n\n if (url === null) {\n return ''\n }\n\n return URLSerializer(url, true)\n }\n\n // Returns whether response was obtained through a redirect.\n get redirected () {\n webidl.brandCheck(this, Response)\n\n // The redirected getter steps are to return true if this\u2019s response\u2019s URL\n // list has more than one item; otherwise false.\n return this[kState].urlList.length > 1\n }\n\n // Returns response\u2019s status.\n get status () {\n webidl.brandCheck(this, Response)\n\n // The status getter steps are to return this\u2019s response\u2019s status.\n return this[kState].status\n }\n\n // Returns whether response\u2019s status is an ok status.\n get ok () {\n webidl.brandCheck(this, Response)\n\n // The ok getter steps are to return true if this\u2019s response\u2019s status is an\n // ok status; otherwise false.\n return this[kState].status >= 200 && this[kState].status <= 299\n }\n\n // Returns response\u2019s status message.\n get statusText () {\n webidl.brandCheck(this, Response)\n\n // The statusText getter steps are to return this\u2019s response\u2019s status\n // message.\n return this[kState].statusText\n }\n\n // Returns response\u2019s headers as Headers.\n get headers () {\n webidl.brandCheck(this, Response)\n\n // The headers getter steps are to return this\u2019s headers.\n return this[kHeaders]\n }\n\n get body () {\n webidl.brandCheck(this, Response)\n\n return this[kState].body ? this[kState].body.stream : null\n }\n\n get bodyUsed () {\n webidl.brandCheck(this, Response)\n\n return !!this[kState].body && util.isDisturbed(this[kState].body.stream)\n }\n\n // Returns a clone of response.\n clone () {\n webidl.brandCheck(this, Response)\n\n // 1. If this is unusable, then throw a TypeError.\n if (this.bodyUsed || (this.body && this.body.locked)) {\n throw webidl.errors.exception({\n header: 'Response.clone',\n message: 'Body has already been consumed.'\n })\n }\n\n // 2. Let clonedResponse be the result of cloning this\u2019s response.\n const clonedResponse = cloneResponse(this[kState])\n\n // 3. Return the result of creating a Response object, given\n // clonedResponse, this\u2019s headers\u2019s guard, and this\u2019s relevant Realm.\n const clonedResponseObject = new Response()\n clonedResponseObject[kState] = clonedResponse\n clonedResponseObject[kRealm] = this[kRealm]\n clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList\n clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard]\n clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm]\n\n return clonedResponseObject\n }\n}\n\nmixinBody(Response)\n\nObject.defineProperties(Response.prototype, {\n type: kEnumerableProperty,\n url: kEnumerableProperty,\n status: kEnumerableProperty,\n ok: kEnumerableProperty,\n redirected: kEnumerableProperty,\n statusText: kEnumerableProperty,\n headers: kEnumerableProperty,\n clone: kEnumerableProperty,\n body: kEnumerableProperty,\n bodyUsed: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: 'Response',\n configurable: true\n }\n})\n\nObject.defineProperties(Response, {\n json: kEnumerableProperty,\n redirect: kEnumerableProperty,\n error: kEnumerableProperty\n})\n\n// https://fetch.spec.whatwg.org/#concept-response-clone\nfunction cloneResponse (response) {\n // To clone a response response, run these steps:\n\n // 1. If response is a filtered response, then return a new identical\n // filtered response whose internal response is a clone of response\u2019s\n // internal response.\n if (response.internalResponse) {\n return filterResponse(\n cloneResponse(response.internalResponse),\n response.type\n )\n }\n\n // 2. Let newResponse be a copy of response, except for its body.\n const newResponse = makeResponse({ ...response, body: null })\n\n // 3. If response\u2019s body is non-null, then set newResponse\u2019s body to the\n // result of cloning response\u2019s body.\n if (response.body != null) {\n newResponse.body = cloneBody(response.body)\n }\n\n // 4. Return newResponse.\n return newResponse\n}\n\nfunction makeResponse (init) {\n return {\n aborted: false,\n rangeRequested: false,\n timingAllowPassed: false,\n requestIncludesCredentials: false,\n type: 'default',\n status: 200,\n timingInfo: null,\n cacheState: '',\n statusText: '',\n ...init,\n headersList: init.headersList\n ? new HeadersList(init.headersList)\n : new HeadersList(),\n urlList: init.urlList ? [...init.urlList] : []\n }\n}\n\nfunction makeNetworkError (reason) {\n const isError = isErrorLike(reason)\n return makeResponse({\n type: 'error',\n status: 0,\n error: isError\n ? reason\n : new Error(reason ? String(reason) : reason),\n aborted: reason && reason.name === 'AbortError'\n })\n}\n\nfunction makeFilteredResponse (response, state) {\n state = {\n internalResponse: response,\n ...state\n }\n\n return new Proxy(response, {\n get (target, p) {\n return p in state ? state[p] : target[p]\n },\n set (target, p, value) {\n assert(!(p in state))\n target[p] = value\n return true\n }\n })\n}\n\n// https://fetch.spec.whatwg.org/#concept-filtered-response\nfunction filterResponse (response, type) {\n // Set response to the following filtered response with response as its\n // internal response, depending on request\u2019s response tainting:\n if (type === 'basic') {\n // A basic filtered response is a filtered response whose type is \"basic\"\n // and header list excludes any headers in internal response\u2019s header list\n // whose name is a forbidden response-header name.\n\n // Note: undici does not implement forbidden response-header names\n return makeFilteredResponse(response, {\n type: 'basic',\n headersList: response.headersList\n })\n } else if (type === 'cors') {\n // A CORS filtered response is a filtered response whose type is \"cors\"\n // and header list excludes any headers in internal response\u2019s header\n // list whose name is not a CORS-safelisted response-header name, given\n // internal response\u2019s CORS-exposed header-name list.\n\n // Note: undici does not implement CORS-safelisted response-header names\n return makeFilteredResponse(response, {\n type: 'cors',\n headersList: response.headersList\n })\n } else if (type === 'opaque') {\n // An opaque filtered response is a filtered response whose type is\n // \"opaque\", URL list is the empty list, status is 0, status message\n // is the empty byte sequence, header list is empty, and body is null.\n\n return makeFilteredResponse(response, {\n type: 'opaque',\n urlList: Object.freeze([]),\n status: 0,\n statusText: '',\n body: null\n })\n } else if (type === 'opaqueredirect') {\n // An opaque-redirect filtered response is a filtered response whose type\n // is \"opaqueredirect\", status is 0, status message is the empty byte\n // sequence, header list is empty, and body is null.\n\n return makeFilteredResponse(response, {\n type: 'opaqueredirect',\n status: 0,\n statusText: '',\n headersList: [],\n body: null\n })\n } else {\n assert(false)\n }\n}\n\n// https://fetch.spec.whatwg.org/#appropriate-network-error\nfunction makeAppropriateNetworkError (fetchParams) {\n // 1. Assert: fetchParams is canceled.\n assert(isCancelled(fetchParams))\n\n // 2. Return an aborted network error if fetchParams is aborted;\n // otherwise return a network error.\n return isAborted(fetchParams)\n ? makeNetworkError(new DOMException('The operation was aborted.', 'AbortError'))\n : makeNetworkError('Request was cancelled.')\n}\n\n// https://whatpr.org/fetch/1392.html#initialize-a-response\nfunction initializeResponse (response, init, body) {\n // 1. If init[\"status\"] is not in the range 200 to 599, inclusive, then\n // throw a RangeError.\n if (init.status !== null && (init.status < 200 || init.status > 599)) {\n throw new RangeError('init[\"status\"] must be in the range of 200 to 599, inclusive.')\n }\n\n // 2. If init[\"statusText\"] does not match the reason-phrase token production,\n // then throw a TypeError.\n if ('statusText' in init && init.statusText != null) {\n // See, https://datatracker.ietf.org/doc/html/rfc7230#section-3.1.2:\n // reason-phrase = *( HTAB / SP / VCHAR / obs-text )\n if (!isValidReasonPhrase(String(init.statusText))) {\n throw new TypeError('Invalid statusText')\n }\n }\n\n // 3. Set response\u2019s response\u2019s status to init[\"status\"].\n if ('status' in init && init.status != null) {\n response[kState].status = init.status\n }\n\n // 4. Set response\u2019s response\u2019s status message to init[\"statusText\"].\n if ('statusText' in init && init.statusText != null) {\n response[kState].statusText = init.statusText\n }\n\n // 5. If init[\"headers\"] exists, then fill response\u2019s headers with init[\"headers\"].\n if ('headers' in init && init.headers != null) {\n fill(response[kHeaders], init.headers)\n }\n\n // 6. If body was given, then:\n if (body) {\n // 1. If response's status is a null body status, then throw a TypeError.\n if (nullBodyStatus.includes(response.status)) {\n throw webidl.errors.exception({\n header: 'Response constructor',\n message: 'Invalid response status code ' + response.status\n })\n }\n\n // 2. Set response's body to body's body.\n response[kState].body = body.body\n\n // 3. If body's type is non-null and response's header list does not contain\n // `Content-Type`, then append (`Content-Type`, body's type) to response's header list.\n if (body.type != null && !response[kState].headersList.contains('Content-Type')) {\n response[kState].headersList.append('content-type', body.type)\n }\n }\n}\n\nwebidl.converters.ReadableStream = webidl.interfaceConverter(\n ReadableStream\n)\n\nwebidl.converters.FormData = webidl.interfaceConverter(\n FormData\n)\n\nwebidl.converters.URLSearchParams = webidl.interfaceConverter(\n URLSearchParams\n)\n\n// https://fetch.spec.whatwg.org/#typedefdef-xmlhttprequestbodyinit\nwebidl.converters.XMLHttpRequestBodyInit = function (V) {\n if (typeof V === 'string') {\n return webidl.converters.USVString(V)\n }\n\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, { strict: false })\n }\n\n if (\n types.isAnyArrayBuffer(V) ||\n types.isTypedArray(V) ||\n types.isDataView(V)\n ) {\n return webidl.converters.BufferSource(V)\n }\n\n if (util.isFormDataLike(V)) {\n return webidl.converters.FormData(V, { strict: false })\n }\n\n if (V instanceof URLSearchParams) {\n return webidl.converters.URLSearchParams(V)\n }\n\n return webidl.converters.DOMString(V)\n}\n\n// https://fetch.spec.whatwg.org/#bodyinit\nwebidl.converters.BodyInit = function (V) {\n if (V instanceof ReadableStream) {\n return webidl.converters.ReadableStream(V)\n }\n\n // Note: the spec doesn't include async iterables,\n // this is an undici extension.\n if (V?.[Symbol.asyncIterator]) {\n return V\n }\n\n return webidl.converters.XMLHttpRequestBodyInit(V)\n}\n\nwebidl.converters.ResponseInit = webidl.dictionaryConverter([\n {\n key: 'status',\n converter: webidl.converters['unsigned short'],\n defaultValue: 200\n },\n {\n key: 'statusText',\n converter: webidl.converters.ByteString,\n defaultValue: ''\n },\n {\n key: 'headers',\n converter: webidl.converters.HeadersInit\n }\n])\n\nmodule.exports = {\n makeNetworkError,\n makeResponse,\n makeAppropriateNetworkError,\n filterResponse,\n Response,\n cloneResponse\n}\n", "/* globals AbortController */\n\n'use strict'\n\nconst { extractBody, mixinBody, cloneBody } = require('./body')\nconst { Headers, fill: fillHeaders, HeadersList } = require('./headers')\nconst { FinalizationRegistry } = require('../compat/dispatcher-weakref')()\nconst util = require('../core/util')\nconst {\n isValidHTTPToken,\n sameOrigin,\n normalizeMethod,\n makePolicyContainer\n} = require('./util')\nconst {\n forbiddenMethods,\n corsSafeListedMethods,\n referrerPolicy,\n requestRedirect,\n requestMode,\n requestCredentials,\n requestCache,\n requestDuplex\n} = require('./constants')\nconst { kEnumerableProperty } = util\nconst { kHeaders, kSignal, kState, kGuard, kRealm } = require('./symbols')\nconst { webidl } = require('./webidl')\nconst { getGlobalOrigin } = require('./global')\nconst { URLSerializer } = require('./dataURL')\nconst { kHeadersList } = require('../core/symbols')\nconst assert = require('assert')\nconst { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require('events')\n\nlet TransformStream = globalThis.TransformStream\n\nconst kInit = Symbol('init')\nconst kAbortController = Symbol('abortController')\n\nconst requestFinalizer = new FinalizationRegistry(({ signal, abort }) => {\n signal.removeEventListener('abort', abort)\n})\n\n// https://fetch.spec.whatwg.org/#request-class\nclass Request {\n // https://fetch.spec.whatwg.org/#dom-request\n constructor (input, init = {}) {\n if (input === kInit) {\n return\n }\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Request constructor' })\n\n input = webidl.converters.RequestInfo(input)\n init = webidl.converters.RequestInit(init)\n\n // https://html.spec.whatwg.org/multipage/webappapis.html#environment-settings-object\n this[kRealm] = {\n settingsObject: {\n baseUrl: getGlobalOrigin(),\n get origin () {\n return this.baseUrl?.origin\n },\n policyContainer: makePolicyContainer()\n }\n }\n\n // 1. Let request be null.\n let request = null\n\n // 2. Let fallbackMode be null.\n let fallbackMode = null\n\n // 3. Let baseURL be this\u2019s relevant settings object\u2019s API base URL.\n const baseUrl = this[kRealm].settingsObject.baseUrl\n\n // 4. Let signal be null.\n let signal = null\n\n // 5. If input is a string, then:\n if (typeof input === 'string') {\n // 1. Let parsedURL be the result of parsing input with baseURL.\n // 2. If parsedURL is failure, then throw a TypeError.\n let parsedURL\n try {\n parsedURL = new URL(input, baseUrl)\n } catch (err) {\n throw new TypeError('Failed to parse URL from ' + input, { cause: err })\n }\n\n // 3. If parsedURL includes credentials, then throw a TypeError.\n if (parsedURL.username || parsedURL.password) {\n throw new TypeError(\n 'Request cannot be constructed from a URL that includes credentials: ' +\n input\n )\n }\n\n // 4. Set request to a new request whose URL is parsedURL.\n request = makeRequest({ urlList: [parsedURL] })\n\n // 5. Set fallbackMode to \"cors\".\n fallbackMode = 'cors'\n } else {\n // 6. Otherwise:\n\n // 7. Assert: input is a Request object.\n assert(input instanceof Request)\n\n // 8. Set request to input\u2019s request.\n request = input[kState]\n\n // 9. Set signal to input\u2019s signal.\n signal = input[kSignal]\n }\n\n // 7. Let origin be this\u2019s relevant settings object\u2019s origin.\n const origin = this[kRealm].settingsObject.origin\n\n // 8. Let window be \"client\".\n let window = 'client'\n\n // 9. If request\u2019s window is an environment settings object and its origin\n // is same origin with origin, then set window to request\u2019s window.\n if (\n request.window?.constructor?.name === 'EnvironmentSettingsObject' &&\n sameOrigin(request.window, origin)\n ) {\n window = request.window\n }\n\n // 10. If init[\"window\"] exists and is non-null, then throw a TypeError.\n if (init.window != null) {\n throw new TypeError(`'window' option '${window}' must be null`)\n }\n\n // 11. If init[\"window\"] exists, then set window to \"no-window\".\n if ('window' in init) {\n window = 'no-window'\n }\n\n // 12. Set request to a new request with the following properties:\n request = makeRequest({\n // URL request\u2019s URL.\n // undici implementation note: this is set as the first item in request's urlList in makeRequest\n // method request\u2019s method.\n method: request.method,\n // header list A copy of request\u2019s header list.\n // undici implementation note: headersList is cloned in makeRequest\n headersList: request.headersList,\n // unsafe-request flag Set.\n unsafeRequest: request.unsafeRequest,\n // client This\u2019s relevant settings object.\n client: this[kRealm].settingsObject,\n // window window.\n window,\n // priority request\u2019s priority.\n priority: request.priority,\n // origin request\u2019s origin. The propagation of the origin is only significant for navigation requests\n // being handled by a service worker. In this scenario a request can have an origin that is different\n // from the current client.\n origin: request.origin,\n // referrer request\u2019s referrer.\n referrer: request.referrer,\n // referrer policy request\u2019s referrer policy.\n referrerPolicy: request.referrerPolicy,\n // mode request\u2019s mode.\n mode: request.mode,\n // credentials mode request\u2019s credentials mode.\n credentials: request.credentials,\n // cache mode request\u2019s cache mode.\n cache: request.cache,\n // redirect mode request\u2019s redirect mode.\n redirect: request.redirect,\n // integrity metadata request\u2019s integrity metadata.\n integrity: request.integrity,\n // keepalive request\u2019s keepalive.\n keepalive: request.keepalive,\n // reload-navigation flag request\u2019s reload-navigation flag.\n reloadNavigation: request.reloadNavigation,\n // history-navigation flag request\u2019s history-navigation flag.\n historyNavigation: request.historyNavigation,\n // URL list A clone of request\u2019s URL list.\n urlList: [...request.urlList]\n })\n\n // 13. If init is not empty, then:\n if (Object.keys(init).length > 0) {\n // 1. If request\u2019s mode is \"navigate\", then set it to \"same-origin\".\n if (request.mode === 'navigate') {\n request.mode = 'same-origin'\n }\n\n // 2. Unset request\u2019s reload-navigation flag.\n request.reloadNavigation = false\n\n // 3. Unset request\u2019s history-navigation flag.\n request.historyNavigation = false\n\n // 4. Set request\u2019s origin to \"client\".\n request.origin = 'client'\n\n // 5. Set request\u2019s referrer to \"client\"\n request.referrer = 'client'\n\n // 6. Set request\u2019s referrer policy to the empty string.\n request.referrerPolicy = ''\n\n // 7. Set request\u2019s URL to request\u2019s current URL.\n request.url = request.urlList[request.urlList.length - 1]\n\n // 8. Set request\u2019s URL list to \u00AB request\u2019s URL \u00BB.\n request.urlList = [request.url]\n }\n\n // 14. If init[\"referrer\"] exists, then:\n if (init.referrer !== undefined) {\n // 1. Let referrer be init[\"referrer\"].\n const referrer = init.referrer\n\n // 2. If referrer is the empty string, then set request\u2019s referrer to \"no-referrer\".\n if (referrer === '') {\n request.referrer = 'no-referrer'\n } else {\n // 1. Let parsedReferrer be the result of parsing referrer with\n // baseURL.\n // 2. If parsedReferrer is failure, then throw a TypeError.\n let parsedReferrer\n try {\n parsedReferrer = new URL(referrer, baseUrl)\n } catch (err) {\n throw new TypeError(`Referrer \"${referrer}\" is not a valid URL.`, { cause: err })\n }\n\n // 3. If one of the following is true\n // - parsedReferrer\u2019s scheme is \"about\" and path is the string \"client\"\n // - parsedReferrer\u2019s origin is not same origin with origin\n // then set request\u2019s referrer to \"client\".\n if (\n (parsedReferrer.protocol === 'about:' && parsedReferrer.hostname === 'client') ||\n (origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl))\n ) {\n request.referrer = 'client'\n } else {\n // 4. Otherwise, set request\u2019s referrer to parsedReferrer.\n request.referrer = parsedReferrer\n }\n }\n }\n\n // 15. If init[\"referrerPolicy\"] exists, then set request\u2019s referrer policy\n // to it.\n if (init.referrerPolicy !== undefined) {\n request.referrerPolicy = init.referrerPolicy\n }\n\n // 16. Let mode be init[\"mode\"] if it exists, and fallbackMode otherwise.\n let mode\n if (init.mode !== undefined) {\n mode = init.mode\n } else {\n mode = fallbackMode\n }\n\n // 17. If mode is \"navigate\", then throw a TypeError.\n if (mode === 'navigate') {\n throw webidl.errors.exception({\n header: 'Request constructor',\n message: 'invalid request mode navigate.'\n })\n }\n\n // 18. If mode is non-null, set request\u2019s mode to mode.\n if (mode != null) {\n request.mode = mode\n }\n\n // 19. If init[\"credentials\"] exists, then set request\u2019s credentials mode\n // to it.\n if (init.credentials !== undefined) {\n request.credentials = init.credentials\n }\n\n // 18. If init[\"cache\"] exists, then set request\u2019s cache mode to it.\n if (init.cache !== undefined) {\n request.cache = init.cache\n }\n\n // 21. If request\u2019s cache mode is \"only-if-cached\" and request\u2019s mode is\n // not \"same-origin\", then throw a TypeError.\n if (request.cache === 'only-if-cached' && request.mode !== 'same-origin') {\n throw new TypeError(\n \"'only-if-cached' can be set only with 'same-origin' mode\"\n )\n }\n\n // 22. If init[\"redirect\"] exists, then set request\u2019s redirect mode to it.\n if (init.redirect !== undefined) {\n request.redirect = init.redirect\n }\n\n // 23. If init[\"integrity\"] exists, then set request\u2019s integrity metadata to it.\n if (init.integrity !== undefined && init.integrity != null) {\n request.integrity = String(init.integrity)\n }\n\n // 24. If init[\"keepalive\"] exists, then set request\u2019s keepalive to it.\n if (init.keepalive !== undefined) {\n request.keepalive = Boolean(init.keepalive)\n }\n\n // 25. If init[\"method\"] exists, then:\n if (init.method !== undefined) {\n // 1. Let method be init[\"method\"].\n let method = init.method\n\n // 2. If method is not a method or method is a forbidden method, then\n // throw a TypeError.\n if (!isValidHTTPToken(init.method)) {\n throw TypeError(`'${init.method}' is not a valid HTTP method.`)\n }\n\n if (forbiddenMethods.indexOf(method.toUpperCase()) !== -1) {\n throw TypeError(`'${init.method}' HTTP method is unsupported.`)\n }\n\n // 3. Normalize method.\n method = normalizeMethod(init.method)\n\n // 4. Set request\u2019s method to method.\n request.method = method\n }\n\n // 26. If init[\"signal\"] exists, then set signal to it.\n if (init.signal !== undefined) {\n signal = init.signal\n }\n\n // 27. Set this\u2019s request to request.\n this[kState] = request\n\n // 28. Set this\u2019s signal to a new AbortSignal object with this\u2019s relevant\n // Realm.\n // TODO: could this be simplified with AbortSignal.any\n // (https://dom.spec.whatwg.org/#dom-abortsignal-any)\n const ac = new AbortController()\n this[kSignal] = ac.signal\n this[kSignal][kRealm] = this[kRealm]\n\n // 29. If signal is not null, then make this\u2019s signal follow signal.\n if (signal != null) {\n if (\n !signal ||\n typeof signal.aborted !== 'boolean' ||\n typeof signal.addEventListener !== 'function'\n ) {\n throw new TypeError(\n \"Failed to construct 'Request': member signal is not of type AbortSignal.\"\n )\n }\n\n if (signal.aborted) {\n ac.abort(signal.reason)\n } else {\n // Keep a strong ref to ac while request object\n // is alive. This is needed to prevent AbortController\n // from being prematurely garbage collected.\n // See, https://github.com/nodejs/undici/issues/1926.\n this[kAbortController] = ac\n\n const acRef = new WeakRef(ac)\n const abort = function () {\n const ac = acRef.deref()\n if (ac !== undefined) {\n ac.abort(this.reason)\n }\n }\n\n // Third-party AbortControllers may not work with these.\n // See, https://github.com/nodejs/undici/pull/1910#issuecomment-1464495619.\n try {\n // If the max amount of listeners is equal to the default, increase it\n // This is only available in node >= v19.9.0\n if (typeof getMaxListeners === 'function' && getMaxListeners(signal) === defaultMaxListeners) {\n setMaxListeners(100, signal)\n } else if (getEventListeners(signal, 'abort').length >= defaultMaxListeners) {\n setMaxListeners(100, signal)\n }\n } catch {}\n\n util.addAbortListener(signal, abort)\n requestFinalizer.register(ac, { signal, abort })\n }\n }\n\n // 30. Set this\u2019s headers to a new Headers object with this\u2019s relevant\n // Realm, whose header list is request\u2019s header list and guard is\n // \"request\".\n this[kHeaders] = new Headers()\n this[kHeaders][kHeadersList] = request.headersList\n this[kHeaders][kGuard] = 'request'\n this[kHeaders][kRealm] = this[kRealm]\n\n // 31. If this\u2019s request\u2019s mode is \"no-cors\", then:\n if (mode === 'no-cors') {\n // 1. If this\u2019s request\u2019s method is not a CORS-safelisted method,\n // then throw a TypeError.\n if (!corsSafeListedMethods.includes(request.method)) {\n throw new TypeError(\n `'${request.method} is unsupported in no-cors mode.`\n )\n }\n\n // 2. Set this\u2019s headers\u2019s guard to \"request-no-cors\".\n this[kHeaders][kGuard] = 'request-no-cors'\n }\n\n // 32. If init is not empty, then:\n if (Object.keys(init).length !== 0) {\n // 1. Let headers be a copy of this\u2019s headers and its associated header\n // list.\n let headers = new Headers(this[kHeaders])\n\n // 2. If init[\"headers\"] exists, then set headers to init[\"headers\"].\n if (init.headers !== undefined) {\n headers = init.headers\n }\n\n // 3. Empty this\u2019s headers\u2019s header list.\n this[kHeaders][kHeadersList].clear()\n\n // 4. If headers is a Headers object, then for each header in its header\n // list, append header\u2019s name/header\u2019s value to this\u2019s headers.\n if (headers.constructor.name === 'Headers') {\n for (const [key, val] of headers) {\n this[kHeaders].append(key, val)\n }\n } else {\n // 5. Otherwise, fill this\u2019s headers with headers.\n fillHeaders(this[kHeaders], headers)\n }\n }\n\n // 33. Let inputBody be input\u2019s request\u2019s body if input is a Request\n // object; otherwise null.\n const inputBody = input instanceof Request ? input[kState].body : null\n\n // 34. If either init[\"body\"] exists and is non-null or inputBody is\n // non-null, and request\u2019s method is `GET` or `HEAD`, then throw a\n // TypeError.\n if (\n (init.body != null || inputBody != null) &&\n (request.method === 'GET' || request.method === 'HEAD')\n ) {\n throw new TypeError('Request with GET/HEAD method cannot have body.')\n }\n\n // 35. Let initBody be null.\n let initBody = null\n\n // 36. If init[\"body\"] exists and is non-null, then:\n if (init.body != null) {\n // 1. Let Content-Type be null.\n // 2. Set initBody and Content-Type to the result of extracting\n // init[\"body\"], with keepalive set to request\u2019s keepalive.\n const [extractedBody, contentType] = extractBody(\n init.body,\n request.keepalive\n )\n initBody = extractedBody\n\n // 3, If Content-Type is non-null and this\u2019s headers\u2019s header list does\n // not contain `Content-Type`, then append `Content-Type`/Content-Type to\n // this\u2019s headers.\n if (contentType && !this[kHeaders][kHeadersList].contains('content-type')) {\n this[kHeaders].append('content-type', contentType)\n }\n }\n\n // 37. Let inputOrInitBody be initBody if it is non-null; otherwise\n // inputBody.\n const inputOrInitBody = initBody ?? inputBody\n\n // 38. If inputOrInitBody is non-null and inputOrInitBody\u2019s source is\n // null, then:\n if (inputOrInitBody != null && inputOrInitBody.source == null) {\n // 1. If initBody is non-null and init[\"duplex\"] does not exist,\n // then throw a TypeError.\n if (initBody != null && init.duplex == null) {\n throw new TypeError('RequestInit: duplex option is required when sending a body.')\n }\n\n // 2. If this\u2019s request\u2019s mode is neither \"same-origin\" nor \"cors\",\n // then throw a TypeError.\n if (request.mode !== 'same-origin' && request.mode !== 'cors') {\n throw new TypeError(\n 'If request is made from ReadableStream, mode should be \"same-origin\" or \"cors\"'\n )\n }\n\n // 3. Set this\u2019s request\u2019s use-CORS-preflight flag.\n request.useCORSPreflightFlag = true\n }\n\n // 39. Let finalBody be inputOrInitBody.\n let finalBody = inputOrInitBody\n\n // 40. If initBody is null and inputBody is non-null, then:\n if (initBody == null && inputBody != null) {\n // 1. If input is unusable, then throw a TypeError.\n if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {\n throw new TypeError(\n 'Cannot construct a Request with a Request object that has already been used.'\n )\n }\n\n // 2. Set finalBody to the result of creating a proxy for inputBody.\n if (!TransformStream) {\n TransformStream = require('stream/web').TransformStream\n }\n\n // https://streams.spec.whatwg.org/#readablestream-create-a-proxy\n const identityTransform = new TransformStream()\n inputBody.stream.pipeThrough(identityTransform)\n finalBody = {\n source: inputBody.source,\n length: inputBody.length,\n stream: identityTransform.readable\n }\n }\n\n // 41. Set this\u2019s request\u2019s body to finalBody.\n this[kState].body = finalBody\n }\n\n // Returns request\u2019s HTTP method, which is \"GET\" by default.\n get method () {\n webidl.brandCheck(this, Request)\n\n // The method getter steps are to return this\u2019s request\u2019s method.\n return this[kState].method\n }\n\n // Returns the URL of request as a string.\n get url () {\n webidl.brandCheck(this, Request)\n\n // The url getter steps are to return this\u2019s request\u2019s URL, serialized.\n return URLSerializer(this[kState].url)\n }\n\n // Returns a Headers object consisting of the headers associated with request.\n // Note that headers added in the network layer by the user agent will not\n // be accounted for in this object, e.g., the \"Host\" header.\n get headers () {\n webidl.brandCheck(this, Request)\n\n // The headers getter steps are to return this\u2019s headers.\n return this[kHeaders]\n }\n\n // Returns the kind of resource requested by request, e.g., \"document\"\n // or \"script\".\n get destination () {\n webidl.brandCheck(this, Request)\n\n // The destination getter are to return this\u2019s request\u2019s destination.\n return this[kState].destination\n }\n\n // Returns the referrer of request. Its value can be a same-origin URL if\n // explicitly set in init, the empty string to indicate no referrer, and\n // \"about:client\" when defaulting to the global\u2019s default. This is used\n // during fetching to determine the value of the `Referer` header of the\n // request being made.\n get referrer () {\n webidl.brandCheck(this, Request)\n\n // 1. If this\u2019s request\u2019s referrer is \"no-referrer\", then return the\n // empty string.\n if (this[kState].referrer === 'no-referrer') {\n return ''\n }\n\n // 2. If this\u2019s request\u2019s referrer is \"client\", then return\n // \"about:client\".\n if (this[kState].referrer === 'client') {\n return 'about:client'\n }\n\n // Return this\u2019s request\u2019s referrer, serialized.\n return this[kState].referrer.toString()\n }\n\n // Returns the referrer policy associated with request.\n // This is used during fetching to compute the value of the request\u2019s\n // referrer.\n get referrerPolicy () {\n webidl.brandCheck(this, Request)\n\n // The referrerPolicy getter steps are to return this\u2019s request\u2019s referrer policy.\n return this[kState].referrerPolicy\n }\n\n // Returns the mode associated with request, which is a string indicating\n // whether the request will use CORS, or will be restricted to same-origin\n // URLs.\n get mode () {\n webidl.brandCheck(this, Request)\n\n // The mode getter steps are to return this\u2019s request\u2019s mode.\n return this[kState].mode\n }\n\n // Returns the credentials mode associated with request,\n // which is a string indicating whether credentials will be sent with the\n // request always, never, or only when sent to a same-origin URL.\n get credentials () {\n // The credentials getter steps are to return this\u2019s request\u2019s credentials mode.\n return this[kState].credentials\n }\n\n // Returns the cache mode associated with request,\n // which is a string indicating how the request will\n // interact with the browser\u2019s cache when fetching.\n get cache () {\n webidl.brandCheck(this, Request)\n\n // The cache getter steps are to return this\u2019s request\u2019s cache mode.\n return this[kState].cache\n }\n\n // Returns the redirect mode associated with request,\n // which is a string indicating how redirects for the\n // request will be handled during fetching. A request\n // will follow redirects by default.\n get redirect () {\n webidl.brandCheck(this, Request)\n\n // The redirect getter steps are to return this\u2019s request\u2019s redirect mode.\n return this[kState].redirect\n }\n\n // Returns request\u2019s subresource integrity metadata, which is a\n // cryptographic hash of the resource being fetched. Its value\n // consists of multiple hashes separated by whitespace. [SRI]\n get integrity () {\n webidl.brandCheck(this, Request)\n\n // The integrity getter steps are to return this\u2019s request\u2019s integrity\n // metadata.\n return this[kState].integrity\n }\n\n // Returns a boolean indicating whether or not request can outlive the\n // global in which it was created.\n get keepalive () {\n webidl.brandCheck(this, Request)\n\n // The keepalive getter steps are to return this\u2019s request\u2019s keepalive.\n return this[kState].keepalive\n }\n\n // Returns a boolean indicating whether or not request is for a reload\n // navigation.\n get isReloadNavigation () {\n webidl.brandCheck(this, Request)\n\n // The isReloadNavigation getter steps are to return true if this\u2019s\n // request\u2019s reload-navigation flag is set; otherwise false.\n return this[kState].reloadNavigation\n }\n\n // Returns a boolean indicating whether or not request is for a history\n // navigation (a.k.a. back-foward navigation).\n get isHistoryNavigation () {\n webidl.brandCheck(this, Request)\n\n // The isHistoryNavigation getter steps are to return true if this\u2019s request\u2019s\n // history-navigation flag is set; otherwise false.\n return this[kState].historyNavigation\n }\n\n // Returns the signal associated with request, which is an AbortSignal\n // object indicating whether or not request has been aborted, and its\n // abort event handler.\n get signal () {\n webidl.brandCheck(this, Request)\n\n // The signal getter steps are to return this\u2019s signal.\n return this[kSignal]\n }\n\n get body () {\n webidl.brandCheck(this, Request)\n\n return this[kState].body ? this[kState].body.stream : null\n }\n\n get bodyUsed () {\n webidl.brandCheck(this, Request)\n\n return !!this[kState].body && util.isDisturbed(this[kState].body.stream)\n }\n\n get duplex () {\n webidl.brandCheck(this, Request)\n\n return 'half'\n }\n\n // Returns a clone of request.\n clone () {\n webidl.brandCheck(this, Request)\n\n // 1. If this is unusable, then throw a TypeError.\n if (this.bodyUsed || this.body?.locked) {\n throw new TypeError('unusable')\n }\n\n // 2. Let clonedRequest be the result of cloning this\u2019s request.\n const clonedRequest = cloneRequest(this[kState])\n\n // 3. Let clonedRequestObject be the result of creating a Request object,\n // given clonedRequest, this\u2019s headers\u2019s guard, and this\u2019s relevant Realm.\n const clonedRequestObject = new Request(kInit)\n clonedRequestObject[kState] = clonedRequest\n clonedRequestObject[kRealm] = this[kRealm]\n clonedRequestObject[kHeaders] = new Headers()\n clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList\n clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard]\n clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm]\n\n // 4. Make clonedRequestObject\u2019s signal follow this\u2019s signal.\n const ac = new AbortController()\n if (this.signal.aborted) {\n ac.abort(this.signal.reason)\n } else {\n util.addAbortListener(\n this.signal,\n () => {\n ac.abort(this.signal.reason)\n }\n )\n }\n clonedRequestObject[kSignal] = ac.signal\n\n // 4. Return clonedRequestObject.\n return clonedRequestObject\n }\n}\n\nmixinBody(Request)\n\nfunction makeRequest (init) {\n // https://fetch.spec.whatwg.org/#requests\n const request = {\n method: 'GET',\n localURLsOnly: false,\n unsafeRequest: false,\n body: null,\n client: null,\n reservedClient: null,\n replacesClientId: '',\n window: 'client',\n keepalive: false,\n serviceWorkers: 'all',\n initiator: '',\n destination: '',\n priority: null,\n origin: 'client',\n policyContainer: 'client',\n referrer: 'client',\n referrerPolicy: '',\n mode: 'no-cors',\n useCORSPreflightFlag: false,\n credentials: 'same-origin',\n useCredentials: false,\n cache: 'default',\n redirect: 'follow',\n integrity: '',\n cryptoGraphicsNonceMetadata: '',\n parserMetadata: '',\n reloadNavigation: false,\n historyNavigation: false,\n userActivation: false,\n taintedOrigin: false,\n redirectCount: 0,\n responseTainting: 'basic',\n preventNoCacheCacheControlHeaderModification: false,\n done: false,\n timingAllowFailed: false,\n ...init,\n headersList: init.headersList\n ? new HeadersList(init.headersList)\n : new HeadersList()\n }\n request.url = request.urlList[0]\n return request\n}\n\n// https://fetch.spec.whatwg.org/#concept-request-clone\nfunction cloneRequest (request) {\n // To clone a request request, run these steps:\n\n // 1. Let newRequest be a copy of request, except for its body.\n const newRequest = makeRequest({ ...request, body: null })\n\n // 2. If request\u2019s body is non-null, set newRequest\u2019s body to the\n // result of cloning request\u2019s body.\n if (request.body != null) {\n newRequest.body = cloneBody(request.body)\n }\n\n // 3. Return newRequest.\n return newRequest\n}\n\nObject.defineProperties(Request.prototype, {\n method: kEnumerableProperty,\n url: kEnumerableProperty,\n headers: kEnumerableProperty,\n redirect: kEnumerableProperty,\n clone: kEnumerableProperty,\n signal: kEnumerableProperty,\n duplex: kEnumerableProperty,\n destination: kEnumerableProperty,\n body: kEnumerableProperty,\n bodyUsed: kEnumerableProperty,\n isHistoryNavigation: kEnumerableProperty,\n isReloadNavigation: kEnumerableProperty,\n keepalive: kEnumerableProperty,\n integrity: kEnumerableProperty,\n cache: kEnumerableProperty,\n credentials: kEnumerableProperty,\n attribute: kEnumerableProperty,\n referrerPolicy: kEnumerableProperty,\n referrer: kEnumerableProperty,\n mode: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: 'Request',\n configurable: true\n }\n})\n\nwebidl.converters.Request = webidl.interfaceConverter(\n Request\n)\n\n// https://fetch.spec.whatwg.org/#requestinfo\nwebidl.converters.RequestInfo = function (V) {\n if (typeof V === 'string') {\n return webidl.converters.USVString(V)\n }\n\n if (V instanceof Request) {\n return webidl.converters.Request(V)\n }\n\n return webidl.converters.USVString(V)\n}\n\nwebidl.converters.AbortSignal = webidl.interfaceConverter(\n AbortSignal\n)\n\n// https://fetch.spec.whatwg.org/#requestinit\nwebidl.converters.RequestInit = webidl.dictionaryConverter([\n {\n key: 'method',\n converter: webidl.converters.ByteString\n },\n {\n key: 'headers',\n converter: webidl.converters.HeadersInit\n },\n {\n key: 'body',\n converter: webidl.nullableConverter(\n webidl.converters.BodyInit\n )\n },\n {\n key: 'referrer',\n converter: webidl.converters.USVString\n },\n {\n key: 'referrerPolicy',\n converter: webidl.converters.DOMString,\n // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy\n allowedValues: referrerPolicy\n },\n {\n key: 'mode',\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#concept-request-mode\n allowedValues: requestMode\n },\n {\n key: 'credentials',\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#requestcredentials\n allowedValues: requestCredentials\n },\n {\n key: 'cache',\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#requestcache\n allowedValues: requestCache\n },\n {\n key: 'redirect',\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#requestredirect\n allowedValues: requestRedirect\n },\n {\n key: 'integrity',\n converter: webidl.converters.DOMString\n },\n {\n key: 'keepalive',\n converter: webidl.converters.boolean\n },\n {\n key: 'signal',\n converter: webidl.nullableConverter(\n (signal) => webidl.converters.AbortSignal(\n signal,\n { strict: false }\n )\n )\n },\n {\n key: 'window',\n converter: webidl.converters.any\n },\n {\n key: 'duplex',\n converter: webidl.converters.DOMString,\n allowedValues: requestDuplex\n }\n])\n\nmodule.exports = { Request, makeRequest }\n", "// https://github.com/Ethan-Arrowood/undici-fetch\n\n'use strict'\n\nconst {\n Response,\n makeNetworkError,\n makeAppropriateNetworkError,\n filterResponse,\n makeResponse\n} = require('./response')\nconst { Headers } = require('./headers')\nconst { Request, makeRequest } = require('./request')\nconst zlib = require('zlib')\nconst {\n bytesMatch,\n makePolicyContainer,\n clonePolicyContainer,\n requestBadPort,\n TAOCheck,\n appendRequestOriginHeader,\n responseLocationURL,\n requestCurrentURL,\n setRequestReferrerPolicyOnRedirect,\n tryUpgradeRequestToAPotentiallyTrustworthyURL,\n createOpaqueTimingInfo,\n appendFetchMetadata,\n corsCheck,\n crossOriginResourcePolicyCheck,\n determineRequestsReferrer,\n coarsenedSharedCurrentTime,\n createDeferredPromise,\n isBlobLike,\n sameOrigin,\n isCancelled,\n isAborted,\n isErrorLike,\n fullyReadBody,\n readableStreamClose,\n isomorphicEncode,\n urlIsLocal,\n urlIsHttpHttpsScheme,\n urlHasHttpsScheme\n} = require('./util')\nconst { kState, kHeaders, kGuard, kRealm } = require('./symbols')\nconst assert = require('assert')\nconst { safelyExtractBody } = require('./body')\nconst {\n redirectStatus,\n nullBodyStatus,\n safeMethods,\n requestBodyHeader,\n subresource,\n DOMException\n} = require('./constants')\nconst { kHeadersList } = require('../core/symbols')\nconst EE = require('events')\nconst { Readable, pipeline } = require('stream')\nconst { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require('../core/util')\nconst { dataURLProcessor, serializeAMimeType } = require('./dataURL')\nconst { TransformStream } = require('stream/web')\nconst { getGlobalDispatcher } = require('../global')\nconst { webidl } = require('./webidl')\nconst { STATUS_CODES } = require('http')\n\n/** @type {import('buffer').resolveObjectURL} */\nlet resolveObjectURL\nlet ReadableStream = globalThis.ReadableStream\n\nclass Fetch extends EE {\n constructor (dispatcher) {\n super()\n\n this.dispatcher = dispatcher\n this.connection = null\n this.dump = false\n this.state = 'ongoing'\n // 2 terminated listeners get added per request,\n // but only 1 gets removed. If there are 20 redirects,\n // 21 listeners will be added.\n // See https://github.com/nodejs/undici/issues/1711\n // TODO (fix): Find and fix root cause for leaked listener.\n this.setMaxListeners(21)\n }\n\n terminate (reason) {\n if (this.state !== 'ongoing') {\n return\n }\n\n this.state = 'terminated'\n this.connection?.destroy(reason)\n this.emit('terminated', reason)\n }\n\n // https://fetch.spec.whatwg.org/#fetch-controller-abort\n abort (error) {\n if (this.state !== 'ongoing') {\n return\n }\n\n // 1. Set controller\u2019s state to \"aborted\".\n this.state = 'aborted'\n\n // 2. Let fallbackError be an \"AbortError\" DOMException.\n // 3. Set error to fallbackError if it is not given.\n if (!error) {\n error = new DOMException('The operation was aborted.', 'AbortError')\n }\n\n // 4. Let serializedError be StructuredSerialize(error).\n // If that threw an exception, catch it, and let\n // serializedError be StructuredSerialize(fallbackError).\n\n // 5. Set controller\u2019s serialized abort reason to serializedError.\n this.serializedAbortReason = error\n\n this.connection?.destroy(error)\n this.emit('terminated', error)\n }\n}\n\n// https://fetch.spec.whatwg.org/#fetch-method\nasync function fetch (input, init = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'globalThis.fetch' })\n\n // 1. Let p be a new promise.\n const p = createDeferredPromise()\n\n // 2. Let requestObject be the result of invoking the initial value of\n // Request as constructor with input and init as arguments. If this throws\n // an exception, reject p with it and return p.\n let requestObject\n\n try {\n requestObject = new Request(input, init)\n } catch (e) {\n p.reject(e)\n return p.promise\n }\n\n // 3. Let request be requestObject\u2019s request.\n const request = requestObject[kState]\n\n // 4. If requestObject\u2019s signal\u2019s aborted flag is set, then:\n if (requestObject.signal.aborted) {\n // 1. Abort the fetch() call with p, request, null, and\n // requestObject\u2019s signal\u2019s abort reason.\n abortFetch(p, request, null, requestObject.signal.reason)\n\n // 2. Return p.\n return p.promise\n }\n\n // 5. Let globalObject be request\u2019s client\u2019s global object.\n const globalObject = request.client.globalObject\n\n // 6. If globalObject is a ServiceWorkerGlobalScope object, then set\n // request\u2019s service-workers mode to \"none\".\n if (globalObject?.constructor?.name === 'ServiceWorkerGlobalScope') {\n request.serviceWorkers = 'none'\n }\n\n // 7. Let responseObject be null.\n let responseObject = null\n\n // 8. Let relevantRealm be this\u2019s relevant Realm.\n const relevantRealm = null\n\n // 9. Let locallyAborted be false.\n let locallyAborted = false\n\n // 10. Let controller be null.\n let controller = null\n\n // 11. Add the following abort steps to requestObject\u2019s signal:\n addAbortListener(\n requestObject.signal,\n () => {\n // 1. Set locallyAborted to true.\n locallyAborted = true\n\n // 2. Assert: controller is non-null.\n assert(controller != null)\n\n // 3. Abort controller with requestObject\u2019s signal\u2019s abort reason.\n controller.abort(requestObject.signal.reason)\n\n // 4. Abort the fetch() call with p, request, responseObject,\n // and requestObject\u2019s signal\u2019s abort reason.\n abortFetch(p, request, responseObject, requestObject.signal.reason)\n }\n )\n\n // 12. Let handleFetchDone given response response be to finalize and\n // report timing with response, globalObject, and \"fetch\".\n const handleFetchDone = (response) =>\n finalizeAndReportTiming(response, 'fetch')\n\n // 13. Set controller to the result of calling fetch given request,\n // with processResponseEndOfBody set to handleFetchDone, and processResponse\n // given response being these substeps:\n\n const processResponse = (response) => {\n // 1. If locallyAborted is true, terminate these substeps.\n if (locallyAborted) {\n return\n }\n\n // 2. If response\u2019s aborted flag is set, then:\n if (response.aborted) {\n // 1. Let deserializedError be the result of deserialize a serialized\n // abort reason given controller\u2019s serialized abort reason and\n // relevantRealm.\n\n // 2. Abort the fetch() call with p, request, responseObject, and\n // deserializedError.\n\n abortFetch(p, request, responseObject, controller.serializedAbortReason)\n return\n }\n\n // 3. If response is a network error, then reject p with a TypeError\n // and terminate these substeps.\n if (response.type === 'error') {\n p.reject(\n Object.assign(new TypeError('fetch failed'), { cause: response.error })\n )\n return\n }\n\n // 4. Set responseObject to the result of creating a Response object,\n // given response, \"immutable\", and relevantRealm.\n responseObject = new Response()\n responseObject[kState] = response\n responseObject[kRealm] = relevantRealm\n responseObject[kHeaders][kHeadersList] = response.headersList\n responseObject[kHeaders][kGuard] = 'immutable'\n responseObject[kHeaders][kRealm] = relevantRealm\n\n // 5. Resolve p with responseObject.\n p.resolve(responseObject)\n }\n\n controller = fetching({\n request,\n processResponseEndOfBody: handleFetchDone,\n processResponse,\n dispatcher: init.dispatcher ?? getGlobalDispatcher() // undici\n })\n\n // 14. Return p.\n return p.promise\n}\n\n// https://fetch.spec.whatwg.org/#finalize-and-report-timing\nfunction finalizeAndReportTiming (response, initiatorType = 'other') {\n // 1. If response is an aborted network error, then return.\n if (response.type === 'error' && response.aborted) {\n return\n }\n\n // 2. If response\u2019s URL list is null or empty, then return.\n if (!response.urlList?.length) {\n return\n }\n\n // 3. Let originalURL be response\u2019s URL list[0].\n const originalURL = response.urlList[0]\n\n // 4. Let timingInfo be response\u2019s timing info.\n let timingInfo = response.timingInfo\n\n // 5. Let cacheState be response\u2019s cache state.\n let cacheState = response.cacheState\n\n // 6. If originalURL\u2019s scheme is not an HTTP(S) scheme, then return.\n if (!urlIsHttpHttpsScheme(originalURL)) {\n return\n }\n\n // 7. If timingInfo is null, then return.\n if (timingInfo === null) {\n return\n }\n\n // 8. If response\u2019s timing allow passed flag is not set, then:\n if (!timingInfo.timingAllowPassed) {\n // 1. Set timingInfo to a the result of creating an opaque timing info for timingInfo.\n timingInfo = createOpaqueTimingInfo({\n startTime: timingInfo.startTime\n })\n\n // 2. Set cacheState to the empty string.\n cacheState = ''\n }\n\n // 9. Set timingInfo\u2019s end time to the coarsened shared current time\n // given global\u2019s relevant settings object\u2019s cross-origin isolated\n // capability.\n // TODO: given global\u2019s relevant settings object\u2019s cross-origin isolated\n // capability?\n timingInfo.endTime = coarsenedSharedCurrentTime()\n\n // 10. Set response\u2019s timing info to timingInfo.\n response.timingInfo = timingInfo\n\n // 11. Mark resource timing for timingInfo, originalURL, initiatorType,\n // global, and cacheState.\n markResourceTiming(\n timingInfo,\n originalURL,\n initiatorType,\n globalThis,\n cacheState\n )\n}\n\n// https://w3c.github.io/resource-timing/#dfn-mark-resource-timing\nfunction markResourceTiming (timingInfo, originalURL, initiatorType, globalThis, cacheState) {\n if (nodeMajor > 18 || (nodeMajor === 18 && nodeMinor >= 2)) {\n performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis, cacheState)\n }\n}\n\n// https://fetch.spec.whatwg.org/#abort-fetch\nfunction abortFetch (p, request, responseObject, error) {\n // Note: AbortSignal.reason was added in node v17.2.0\n // which would give us an undefined error to reject with.\n // Remove this once node v16 is no longer supported.\n if (!error) {\n error = new DOMException('The operation was aborted.', 'AbortError')\n }\n\n // 1. Reject promise with error.\n p.reject(error)\n\n // 2. If request\u2019s body is not null and is readable, then cancel request\u2019s\n // body with error.\n if (request.body != null && isReadable(request.body?.stream)) {\n request.body.stream.cancel(error).catch((err) => {\n if (err.code === 'ERR_INVALID_STATE') {\n // Node bug?\n return\n }\n throw err\n })\n }\n\n // 3. If responseObject is null, then return.\n if (responseObject == null) {\n return\n }\n\n // 4. Let response be responseObject\u2019s response.\n const response = responseObject[kState]\n\n // 5. If response\u2019s body is not null and is readable, then error response\u2019s\n // body with error.\n if (response.body != null && isReadable(response.body?.stream)) {\n response.body.stream.cancel(error).catch((err) => {\n if (err.code === 'ERR_INVALID_STATE') {\n // Node bug?\n return\n }\n throw err\n })\n }\n}\n\n// https://fetch.spec.whatwg.org/#fetching\nfunction fetching ({\n request,\n processRequestBodyChunkLength,\n processRequestEndOfBody,\n processResponse,\n processResponseEndOfBody,\n processResponseConsumeBody,\n useParallelQueue = false,\n dispatcher // undici\n}) {\n // 1. Let taskDestination be null.\n let taskDestination = null\n\n // 2. Let crossOriginIsolatedCapability be false.\n let crossOriginIsolatedCapability = false\n\n // 3. If request\u2019s client is non-null, then:\n if (request.client != null) {\n // 1. Set taskDestination to request\u2019s client\u2019s global object.\n taskDestination = request.client.globalObject\n\n // 2. Set crossOriginIsolatedCapability to request\u2019s client\u2019s cross-origin\n // isolated capability.\n crossOriginIsolatedCapability =\n request.client.crossOriginIsolatedCapability\n }\n\n // 4. If useParallelQueue is true, then set taskDestination to the result of\n // starting a new parallel queue.\n // TODO\n\n // 5. Let timingInfo be a new fetch timing info whose start time and\n // post-redirect start time are the coarsened shared current time given\n // crossOriginIsolatedCapability.\n const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability)\n const timingInfo = createOpaqueTimingInfo({\n startTime: currenTime\n })\n\n // 6. Let fetchParams be a new fetch params whose\n // request is request,\n // timing info is timingInfo,\n // process request body chunk length is processRequestBodyChunkLength,\n // process request end-of-body is processRequestEndOfBody,\n // process response is processResponse,\n // process response consume body is processResponseConsumeBody,\n // process response end-of-body is processResponseEndOfBody,\n // task destination is taskDestination,\n // and cross-origin isolated capability is crossOriginIsolatedCapability.\n const fetchParams = {\n controller: new Fetch(dispatcher),\n request,\n timingInfo,\n processRequestBodyChunkLength,\n processRequestEndOfBody,\n processResponse,\n processResponseConsumeBody,\n processResponseEndOfBody,\n taskDestination,\n crossOriginIsolatedCapability\n }\n\n // 7. If request\u2019s body is a byte sequence, then set request\u2019s body to\n // request\u2019s body as a body.\n // NOTE: Since fetching is only called from fetch, body should already be\n // extracted.\n assert(!request.body || request.body.stream)\n\n // 8. If request\u2019s window is \"client\", then set request\u2019s window to request\u2019s\n // client, if request\u2019s client\u2019s global object is a Window object; otherwise\n // \"no-window\".\n if (request.window === 'client') {\n // TODO: What if request.client is null?\n request.window =\n request.client?.globalObject?.constructor?.name === 'Window'\n ? request.client\n : 'no-window'\n }\n\n // 9. If request\u2019s origin is \"client\", then set request\u2019s origin to request\u2019s\n // client\u2019s origin.\n if (request.origin === 'client') {\n // TODO: What if request.client is null?\n request.origin = request.client?.origin\n }\n\n // 10. If all of the following conditions are true:\n // TODO\n\n // 11. If request\u2019s policy container is \"client\", then:\n if (request.policyContainer === 'client') {\n // 1. If request\u2019s client is non-null, then set request\u2019s policy\n // container to a clone of request\u2019s client\u2019s policy container. [HTML]\n if (request.client != null) {\n request.policyContainer = clonePolicyContainer(\n request.client.policyContainer\n )\n } else {\n // 2. Otherwise, set request\u2019s policy container to a new policy\n // container.\n request.policyContainer = makePolicyContainer()\n }\n }\n\n // 12. If request\u2019s header list does not contain `Accept`, then:\n if (!request.headersList.contains('accept')) {\n // 1. Let value be `*/*`.\n const value = '*/*'\n\n // 2. A user agent should set value to the first matching statement, if\n // any, switching on request\u2019s destination:\n // \"document\"\n // \"frame\"\n // \"iframe\"\n // `text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8`\n // \"image\"\n // `image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5`\n // \"style\"\n // `text/css,*/*;q=0.1`\n // TODO\n\n // 3. Append `Accept`/value to request\u2019s header list.\n request.headersList.append('accept', value)\n }\n\n // 13. If request\u2019s header list does not contain `Accept-Language`, then\n // user agents should append `Accept-Language`/an appropriate value to\n // request\u2019s header list.\n if (!request.headersList.contains('accept-language')) {\n request.headersList.append('accept-language', '*')\n }\n\n // 14. If request\u2019s priority is null, then use request\u2019s initiator and\n // destination appropriately in setting request\u2019s priority to a\n // user-agent-defined object.\n if (request.priority === null) {\n // TODO\n }\n\n // 15. If request is a subresource request, then:\n if (subresource.includes(request.destination)) {\n // TODO\n }\n\n // 16. Run main fetch given fetchParams.\n mainFetch(fetchParams)\n .catch(err => {\n fetchParams.controller.terminate(err)\n })\n\n // 17. Return fetchParam's controller\n return fetchParams.controller\n}\n\n// https://fetch.spec.whatwg.org/#concept-main-fetch\nasync function mainFetch (fetchParams, recursive = false) {\n // 1. Let request be fetchParams\u2019s request.\n const request = fetchParams.request\n\n // 2. Let response be null.\n let response = null\n\n // 3. If request\u2019s local-URLs-only flag is set and request\u2019s current URL is\n // not local, then set response to a network error.\n if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) {\n response = makeNetworkError('local URLs only')\n }\n\n // 4. Run report Content Security Policy violations for request.\n // TODO\n\n // 5. Upgrade request to a potentially trustworthy URL, if appropriate.\n tryUpgradeRequestToAPotentiallyTrustworthyURL(request)\n\n // 6. If should request be blocked due to a bad port, should fetching request\n // be blocked as mixed content, or should request be blocked by Content\n // Security Policy returns blocked, then set response to a network error.\n if (requestBadPort(request) === 'blocked') {\n response = makeNetworkError('bad port')\n }\n // TODO: should fetching request be blocked as mixed content?\n // TODO: should request be blocked by Content Security Policy?\n\n // 7. If request\u2019s referrer policy is the empty string, then set request\u2019s\n // referrer policy to request\u2019s policy container\u2019s referrer policy.\n if (request.referrerPolicy === '') {\n request.referrerPolicy = request.policyContainer.referrerPolicy\n }\n\n // 8. If request\u2019s referrer is not \"no-referrer\", then set request\u2019s\n // referrer to the result of invoking determine request\u2019s referrer.\n if (request.referrer !== 'no-referrer') {\n request.referrer = determineRequestsReferrer(request)\n }\n\n // 9. Set request\u2019s current URL\u2019s scheme to \"https\" if all of the following\n // conditions are true:\n // - request\u2019s current URL\u2019s scheme is \"http\"\n // - request\u2019s current URL\u2019s host is a domain\n // - Matching request\u2019s current URL\u2019s host per Known HSTS Host Domain Name\n // Matching results in either a superdomain match with an asserted\n // includeSubDomains directive or a congruent match (with or without an\n // asserted includeSubDomains directive). [HSTS]\n // TODO\n\n // 10. If recursive is false, then run the remaining steps in parallel.\n // TODO\n\n // 11. If response is null, then set response to the result of running\n // the steps corresponding to the first matching statement:\n if (response === null) {\n response = await (async () => {\n const currentURL = requestCurrentURL(request)\n\n if (\n // - request\u2019s current URL\u2019s origin is same origin with request\u2019s origin,\n // and request\u2019s response tainting is \"basic\"\n (sameOrigin(currentURL, request.url) && request.responseTainting === 'basic') ||\n // request\u2019s current URL\u2019s scheme is \"data\"\n (currentURL.protocol === 'data:') ||\n // - request\u2019s mode is \"navigate\" or \"websocket\"\n (request.mode === 'navigate' || request.mode === 'websocket')\n ) {\n // 1. Set request\u2019s response tainting to \"basic\".\n request.responseTainting = 'basic'\n\n // 2. Return the result of running scheme fetch given fetchParams.\n return await schemeFetch(fetchParams)\n }\n\n // request\u2019s mode is \"same-origin\"\n if (request.mode === 'same-origin') {\n // 1. Return a network error.\n return makeNetworkError('request mode cannot be \"same-origin\"')\n }\n\n // request\u2019s mode is \"no-cors\"\n if (request.mode === 'no-cors') {\n // 1. If request\u2019s redirect mode is not \"follow\", then return a network\n // error.\n if (request.redirect !== 'follow') {\n return makeNetworkError(\n 'redirect mode cannot be \"follow\" for \"no-cors\" request'\n )\n }\n\n // 2. Set request\u2019s response tainting to \"opaque\".\n request.responseTainting = 'opaque'\n\n // 3. Return the result of running scheme fetch given fetchParams.\n return await schemeFetch(fetchParams)\n }\n\n // request\u2019s current URL\u2019s scheme is not an HTTP(S) scheme\n if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) {\n // Return a network error.\n return makeNetworkError('URL scheme must be a HTTP(S) scheme')\n }\n\n // - request\u2019s use-CORS-preflight flag is set\n // - request\u2019s unsafe-request flag is set and either request\u2019s method is\n // not a CORS-safelisted method or CORS-unsafe request-header names with\n // request\u2019s header list is not empty\n // 1. Set request\u2019s response tainting to \"cors\".\n // 2. Let corsWithPreflightResponse be the result of running HTTP fetch\n // given fetchParams and true.\n // 3. If corsWithPreflightResponse is a network error, then clear cache\n // entries using request.\n // 4. Return corsWithPreflightResponse.\n // TODO\n\n // Otherwise\n // 1. Set request\u2019s response tainting to \"cors\".\n request.responseTainting = 'cors'\n\n // 2. Return the result of running HTTP fetch given fetchParams.\n return await httpFetch(fetchParams)\n })()\n }\n\n // 12. If recursive is true, then return response.\n if (recursive) {\n return response\n }\n\n // 13. If response is not a network error and response is not a filtered\n // response, then:\n if (response.status !== 0 && !response.internalResponse) {\n // If request\u2019s response tainting is \"cors\", then:\n if (request.responseTainting === 'cors') {\n // 1. Let headerNames be the result of extracting header list values\n // given `Access-Control-Expose-Headers` and response\u2019s header list.\n // TODO\n // 2. If request\u2019s credentials mode is not \"include\" and headerNames\n // contains `*`, then set response\u2019s CORS-exposed header-name list to\n // all unique header names in response\u2019s header list.\n // TODO\n // 3. Otherwise, if headerNames is not null or failure, then set\n // response\u2019s CORS-exposed header-name list to headerNames.\n // TODO\n }\n\n // Set response to the following filtered response with response as its\n // internal response, depending on request\u2019s response tainting:\n if (request.responseTainting === 'basic') {\n response = filterResponse(response, 'basic')\n } else if (request.responseTainting === 'cors') {\n response = filterResponse(response, 'cors')\n } else if (request.responseTainting === 'opaque') {\n response = filterResponse(response, 'opaque')\n } else {\n assert(false)\n }\n }\n\n // 14. Let internalResponse be response, if response is a network error,\n // and response\u2019s internal response otherwise.\n let internalResponse =\n response.status === 0 ? response : response.internalResponse\n\n // 15. If internalResponse\u2019s URL list is empty, then set it to a clone of\n // request\u2019s URL list.\n if (internalResponse.urlList.length === 0) {\n internalResponse.urlList.push(...request.urlList)\n }\n\n // 16. If request\u2019s timing allow failed flag is unset, then set\n // internalResponse\u2019s timing allow passed flag.\n if (!request.timingAllowFailed) {\n response.timingAllowPassed = true\n }\n\n // 17. If response is not a network error and any of the following returns\n // blocked\n // - should internalResponse to request be blocked as mixed content\n // - should internalResponse to request be blocked by Content Security Policy\n // - should internalResponse to request be blocked due to its MIME type\n // - should internalResponse to request be blocked due to nosniff\n // TODO\n\n // 18. If response\u2019s type is \"opaque\", internalResponse\u2019s status is 206,\n // internalResponse\u2019s range-requested flag is set, and request\u2019s header\n // list does not contain `Range`, then set response and internalResponse\n // to a network error.\n if (\n response.type === 'opaque' &&\n internalResponse.status === 206 &&\n internalResponse.rangeRequested &&\n !request.headers.contains('range')\n ) {\n response = internalResponse = makeNetworkError()\n }\n\n // 19. If response is not a network error and either request\u2019s method is\n // `HEAD` or `CONNECT`, or internalResponse\u2019s status is a null body status,\n // set internalResponse\u2019s body to null and disregard any enqueuing toward\n // it (if any).\n if (\n response.status !== 0 &&\n (request.method === 'HEAD' ||\n request.method === 'CONNECT' ||\n nullBodyStatus.includes(internalResponse.status))\n ) {\n internalResponse.body = null\n fetchParams.controller.dump = true\n }\n\n // 20. If request\u2019s integrity metadata is not the empty string, then:\n if (request.integrity) {\n // 1. Let processBodyError be this step: run fetch finale given fetchParams\n // and a network error.\n const processBodyError = (reason) =>\n fetchFinale(fetchParams, makeNetworkError(reason))\n\n // 2. If request\u2019s response tainting is \"opaque\", or response\u2019s body is null,\n // then run processBodyError and abort these steps.\n if (request.responseTainting === 'opaque' || response.body == null) {\n processBodyError(response.error)\n return\n }\n\n // 3. Let processBody given bytes be these steps:\n const processBody = (bytes) => {\n // 1. If bytes do not match request\u2019s integrity metadata,\n // then run processBodyError and abort these steps. [SRI]\n if (!bytesMatch(bytes, request.integrity)) {\n processBodyError('integrity mismatch')\n return\n }\n\n // 2. Set response\u2019s body to bytes as a body.\n response.body = safelyExtractBody(bytes)[0]\n\n // 3. Run fetch finale given fetchParams and response.\n fetchFinale(fetchParams, response)\n }\n\n // 4. Fully read response\u2019s body given processBody and processBodyError.\n await fullyReadBody(response.body, processBody, processBodyError)\n } else {\n // 21. Otherwise, run fetch finale given fetchParams and response.\n fetchFinale(fetchParams, response)\n }\n}\n\n// https://fetch.spec.whatwg.org/#concept-scheme-fetch\n// given a fetch params fetchParams\nasync function schemeFetch (fetchParams) {\n // Note: since the connection is destroyed on redirect, which sets fetchParams to a\n // cancelled state, we do not want this condition to trigger *unless* there have been\n // no redirects. See https://github.com/nodejs/undici/issues/1776\n // 1. If fetchParams is canceled, then return the appropriate network error for fetchParams.\n if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {\n return makeAppropriateNetworkError(fetchParams)\n }\n\n // 2. Let request be fetchParams\u2019s request.\n const { request } = fetchParams\n\n const { protocol: scheme } = requestCurrentURL(request)\n\n // 3. Switch on request\u2019s current URL\u2019s scheme and run the associated steps:\n switch (scheme) {\n case 'about:': {\n // If request\u2019s current URL\u2019s path is the string \"blank\", then return a new response\n // whose status message is `OK`, header list is \u00AB (`Content-Type`, `text/html;charset=utf-8`) \u00BB,\n // and body is the empty byte sequence as a body.\n\n // Otherwise, return a network error.\n return makeNetworkError('about scheme is not supported')\n }\n case 'blob:': {\n if (!resolveObjectURL) {\n resolveObjectURL = require('buffer').resolveObjectURL\n }\n\n // 1. Let blobURLEntry be request\u2019s current URL\u2019s blob URL entry.\n const blobURLEntry = requestCurrentURL(request)\n\n // https://github.com/web-platform-tests/wpt/blob/7b0ebaccc62b566a1965396e5be7bb2bc06f841f/FileAPI/url/resources/fetch-tests.js#L52-L56\n // Buffer.resolveObjectURL does not ignore URL queries.\n if (blobURLEntry.search.length !== 0) {\n return makeNetworkError('NetworkError when attempting to fetch resource.')\n }\n\n const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString())\n\n // 2. If request\u2019s method is not `GET`, blobURLEntry is null, or blobURLEntry\u2019s\n // object is not a Blob object, then return a network error.\n if (request.method !== 'GET' || !isBlobLike(blobURLEntryObject)) {\n return makeNetworkError('invalid method')\n }\n\n // 3. Let bodyWithType be the result of safely extracting blobURLEntry\u2019s object.\n const bodyWithType = safelyExtractBody(blobURLEntryObject)\n\n // 4. Let body be bodyWithType\u2019s body.\n const body = bodyWithType[0]\n\n // 5. Let length be body\u2019s length, serialized and isomorphic encoded.\n const length = isomorphicEncode(`${body.length}`)\n\n // 6. Let type be bodyWithType\u2019s type if it is non-null; otherwise the empty byte sequence.\n const type = bodyWithType[1] ?? ''\n\n // 7. Return a new response whose status message is `OK`, header list is\n // \u00AB (`Content-Length`, length), (`Content-Type`, type) \u00BB, and body is body.\n const response = makeResponse({\n statusText: 'OK',\n headersList: [\n ['content-length', { name: 'Content-Length', value: length }],\n ['content-type', { name: 'Content-Type', value: type }]\n ]\n })\n\n response.body = body\n\n return response\n }\n case 'data:': {\n // 1. Let dataURLStruct be the result of running the\n // data: URL processor on request\u2019s current URL.\n const currentURL = requestCurrentURL(request)\n const dataURLStruct = dataURLProcessor(currentURL)\n\n // 2. If dataURLStruct is failure, then return a\n // network error.\n if (dataURLStruct === 'failure') {\n return makeNetworkError('failed to fetch the data URL')\n }\n\n // 3. Let mimeType be dataURLStruct\u2019s MIME type, serialized.\n const mimeType = serializeAMimeType(dataURLStruct.mimeType)\n\n // 4. Return a response whose status message is `OK`,\n // header list is \u00AB (`Content-Type`, mimeType) \u00BB,\n // and body is dataURLStruct\u2019s body as a body.\n return makeResponse({\n statusText: 'OK',\n headersList: [\n ['content-type', { name: 'Content-Type', value: mimeType }]\n ],\n body: safelyExtractBody(dataURLStruct.body)[0]\n })\n }\n case 'file:': {\n // For now, unfortunate as it is, file URLs are left as an exercise for the reader.\n // When in doubt, return a network error.\n return makeNetworkError('not implemented... yet...')\n }\n case 'http:':\n case 'https:': {\n // Return the result of running HTTP fetch given fetchParams.\n\n return await httpFetch(fetchParams)\n .catch((err) => makeNetworkError(err))\n }\n default: {\n return makeNetworkError('unknown scheme')\n }\n }\n}\n\n// https://fetch.spec.whatwg.org/#finalize-response\nfunction finalizeResponse (fetchParams, response) {\n // 1. Set fetchParams\u2019s request\u2019s done flag.\n fetchParams.request.done = true\n\n // 2, If fetchParams\u2019s process response done is not null, then queue a fetch\n // task to run fetchParams\u2019s process response done given response, with\n // fetchParams\u2019s task destination.\n if (fetchParams.processResponseDone != null) {\n queueMicrotask(() => fetchParams.processResponseDone(response))\n }\n}\n\n// https://fetch.spec.whatwg.org/#fetch-finale\nasync function fetchFinale (fetchParams, response) {\n // 1. If response is a network error, then:\n if (response.type === 'error') {\n // 1. Set response\u2019s URL list to \u00AB fetchParams\u2019s request\u2019s URL list[0] \u00BB.\n response.urlList = [fetchParams.request.urlList[0]]\n\n // 2. Set response\u2019s timing info to the result of creating an opaque timing\n // info for fetchParams\u2019s timing info.\n response.timingInfo = createOpaqueTimingInfo({\n startTime: fetchParams.timingInfo.startTime\n })\n }\n\n // 2. Let processResponseEndOfBody be the following steps:\n const processResponseEndOfBody = () => {\n // 1. Set fetchParams\u2019s request\u2019s done flag.\n fetchParams.request.done = true\n\n // If fetchParams\u2019s process response end-of-body is not null,\n // then queue a fetch task to run fetchParams\u2019s process response\n // end-of-body given response with fetchParams\u2019s task destination.\n if (fetchParams.processResponseEndOfBody != null) {\n queueMicrotask(() => fetchParams.processResponseEndOfBody(response))\n }\n }\n\n // 3. If fetchParams\u2019s process response is non-null, then queue a fetch task\n // to run fetchParams\u2019s process response given response, with fetchParams\u2019s\n // task destination.\n if (fetchParams.processResponse != null) {\n queueMicrotask(() => fetchParams.processResponse(response))\n }\n\n // 4. If response\u2019s body is null, then run processResponseEndOfBody.\n if (response.body == null) {\n processResponseEndOfBody()\n } else {\n // 5. Otherwise:\n\n // 1. Let transformStream be a new a TransformStream.\n\n // 2. Let identityTransformAlgorithm be an algorithm which, given chunk,\n // enqueues chunk in transformStream.\n const identityTransformAlgorithm = (chunk, controller) => {\n controller.enqueue(chunk)\n }\n\n // 3. Set up transformStream with transformAlgorithm set to identityTransformAlgorithm\n // and flushAlgorithm set to processResponseEndOfBody.\n const transformStream = new TransformStream({\n start () {},\n transform: identityTransformAlgorithm,\n flush: processResponseEndOfBody\n }, {\n size () {\n return 1\n }\n }, {\n size () {\n return 1\n }\n })\n\n // 4. Set response\u2019s body to the result of piping response\u2019s body through transformStream.\n response.body = { stream: response.body.stream.pipeThrough(transformStream) }\n }\n\n // 6. If fetchParams\u2019s process response consume body is non-null, then:\n if (fetchParams.processResponseConsumeBody != null) {\n // 1. Let processBody given nullOrBytes be this step: run fetchParams\u2019s\n // process response consume body given response and nullOrBytes.\n const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes)\n\n // 2. Let processBodyError be this step: run fetchParams\u2019s process\n // response consume body given response and failure.\n const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure)\n\n // 3. If response\u2019s body is null, then queue a fetch task to run processBody\n // given null, with fetchParams\u2019s task destination.\n if (response.body == null) {\n queueMicrotask(() => processBody(null))\n } else {\n // 4. Otherwise, fully read response\u2019s body given processBody, processBodyError,\n // and fetchParams\u2019s task destination.\n await fullyReadBody(response.body, processBody, processBodyError)\n }\n }\n}\n\n// https://fetch.spec.whatwg.org/#http-fetch\nasync function httpFetch (fetchParams) {\n // 1. Let request be fetchParams\u2019s request.\n const request = fetchParams.request\n\n // 2. Let response be null.\n let response = null\n\n // 3. Let actualResponse be null.\n let actualResponse = null\n\n // 4. Let timingInfo be fetchParams\u2019s timing info.\n const timingInfo = fetchParams.timingInfo\n\n // 5. If request\u2019s service-workers mode is \"all\", then:\n if (request.serviceWorkers === 'all') {\n // TODO\n }\n\n // 6. If response is null, then:\n if (response === null) {\n // 1. If makeCORSPreflight is true and one of these conditions is true:\n // TODO\n\n // 2. If request\u2019s redirect mode is \"follow\", then set request\u2019s\n // service-workers mode to \"none\".\n if (request.redirect === 'follow') {\n request.serviceWorkers = 'none'\n }\n\n // 3. Set response and actualResponse to the result of running\n // HTTP-network-or-cache fetch given fetchParams.\n actualResponse = response = await httpNetworkOrCacheFetch(fetchParams)\n\n // 4. If request\u2019s response tainting is \"cors\" and a CORS check\n // for request and response returns failure, then return a network error.\n if (\n request.responseTainting === 'cors' &&\n corsCheck(request, response) === 'failure'\n ) {\n return makeNetworkError('cors failure')\n }\n\n // 5. If the TAO check for request and response returns failure, then set\n // request\u2019s timing allow failed flag.\n if (TAOCheck(request, response) === 'failure') {\n request.timingAllowFailed = true\n }\n }\n\n // 7. If either request\u2019s response tainting or response\u2019s type\n // is \"opaque\", and the cross-origin resource policy check with\n // request\u2019s origin, request\u2019s client, request\u2019s destination,\n // and actualResponse returns blocked, then return a network error.\n if (\n (request.responseTainting === 'opaque' || response.type === 'opaque') &&\n crossOriginResourcePolicyCheck(\n request.origin,\n request.client,\n request.destination,\n actualResponse\n ) === 'blocked'\n ) {\n return makeNetworkError('blocked')\n }\n\n // 8. If actualResponse\u2019s status is a redirect status, then:\n if (redirectStatus.includes(actualResponse.status)) {\n // 1. If actualResponse\u2019s status is not 303, request\u2019s body is not null,\n // and the connection uses HTTP/2, then user agents may, and are even\n // encouraged to, transmit an RST_STREAM frame.\n // See, https://github.com/whatwg/fetch/issues/1288\n if (request.redirect !== 'manual') {\n fetchParams.controller.connection.destroy()\n }\n\n // 2. Switch on request\u2019s redirect mode:\n if (request.redirect === 'error') {\n // Set response to a network error.\n response = makeNetworkError('unexpected redirect')\n } else if (request.redirect === 'manual') {\n // Set response to an opaque-redirect filtered response whose internal\n // response is actualResponse.\n // NOTE(spec): On the web this would return an `opaqueredirect` response,\n // but that doesn't make sense server side.\n // See https://github.com/nodejs/undici/issues/1193.\n response = actualResponse\n } else if (request.redirect === 'follow') {\n // Set response to the result of running HTTP-redirect fetch given\n // fetchParams and response.\n response = await httpRedirectFetch(fetchParams, response)\n } else {\n assert(false)\n }\n }\n\n // 9. Set response\u2019s timing info to timingInfo.\n response.timingInfo = timingInfo\n\n // 10. Return response.\n return response\n}\n\n// https://fetch.spec.whatwg.org/#http-redirect-fetch\nasync function httpRedirectFetch (fetchParams, response) {\n // 1. Let request be fetchParams\u2019s request.\n const request = fetchParams.request\n\n // 2. Let actualResponse be response, if response is not a filtered response,\n // and response\u2019s internal response otherwise.\n const actualResponse = response.internalResponse\n ? response.internalResponse\n : response\n\n // 3. Let locationURL be actualResponse\u2019s location URL given request\u2019s current\n // URL\u2019s fragment.\n let locationURL\n\n try {\n locationURL = responseLocationURL(\n actualResponse,\n requestCurrentURL(request).hash\n )\n\n // 4. If locationURL is null, then return response.\n if (locationURL == null) {\n return response\n }\n } catch (err) {\n // 5. If locationURL is failure, then return a network error.\n return makeNetworkError(err)\n }\n\n // 6. If locationURL\u2019s scheme is not an HTTP(S) scheme, then return a network\n // error.\n if (!urlIsHttpHttpsScheme(locationURL)) {\n return makeNetworkError('URL scheme must be a HTTP(S) scheme')\n }\n\n // 7. If request\u2019s redirect count is 20, then return a network error.\n if (request.redirectCount === 20) {\n return makeNetworkError('redirect count exceeded')\n }\n\n // 8. Increase request\u2019s redirect count by 1.\n request.redirectCount += 1\n\n // 9. If request\u2019s mode is \"cors\", locationURL includes credentials, and\n // request\u2019s origin is not same origin with locationURL\u2019s origin, then return\n // a network error.\n if (\n request.mode === 'cors' &&\n (locationURL.username || locationURL.password) &&\n !sameOrigin(request, locationURL)\n ) {\n return makeNetworkError('cross origin not allowed for request mode \"cors\"')\n }\n\n // 10. If request\u2019s response tainting is \"cors\" and locationURL includes\n // credentials, then return a network error.\n if (\n request.responseTainting === 'cors' &&\n (locationURL.username || locationURL.password)\n ) {\n return makeNetworkError(\n 'URL cannot contain credentials for request mode \"cors\"'\n )\n }\n\n // 11. If actualResponse\u2019s status is not 303, request\u2019s body is non-null,\n // and request\u2019s body\u2019s source is null, then return a network error.\n if (\n actualResponse.status !== 303 &&\n request.body != null &&\n request.body.source == null\n ) {\n return makeNetworkError()\n }\n\n // 12. If one of the following is true\n // - actualResponse\u2019s status is 301 or 302 and request\u2019s method is `POST`\n // - actualResponse\u2019s status is 303 and request\u2019s method is not `GET` or `HEAD`\n if (\n ([301, 302].includes(actualResponse.status) && request.method === 'POST') ||\n (actualResponse.status === 303 &&\n !['GET', 'HEAD'].includes(request.method))\n ) {\n // then:\n // 1. Set request\u2019s method to `GET` and request\u2019s body to null.\n request.method = 'GET'\n request.body = null\n\n // 2. For each headerName of request-body-header name, delete headerName from\n // request\u2019s header list.\n for (const headerName of requestBodyHeader) {\n request.headersList.delete(headerName)\n }\n }\n\n // 13. If request\u2019s current URL\u2019s origin is not same origin with locationURL\u2019s\n // origin, then for each headerName of CORS non-wildcard request-header name,\n // delete headerName from request\u2019s header list.\n if (!sameOrigin(requestCurrentURL(request), locationURL)) {\n // https://fetch.spec.whatwg.org/#cors-non-wildcard-request-header-name\n request.headersList.delete('authorization')\n }\n\n // 14. If request\u2019s body is non-null, then set request\u2019s body to the first return\n // value of safely extracting request\u2019s body\u2019s source.\n if (request.body != null) {\n assert(request.body.source != null)\n request.body = safelyExtractBody(request.body.source)[0]\n }\n\n // 15. Let timingInfo be fetchParams\u2019s timing info.\n const timingInfo = fetchParams.timingInfo\n\n // 16. Set timingInfo\u2019s redirect end time and post-redirect start time to the\n // coarsened shared current time given fetchParams\u2019s cross-origin isolated\n // capability.\n timingInfo.redirectEndTime = timingInfo.postRedirectStartTime =\n coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability)\n\n // 17. If timingInfo\u2019s redirect start time is 0, then set timingInfo\u2019s\n // redirect start time to timingInfo\u2019s start time.\n if (timingInfo.redirectStartTime === 0) {\n timingInfo.redirectStartTime = timingInfo.startTime\n }\n\n // 18. Append locationURL to request\u2019s URL list.\n request.urlList.push(locationURL)\n\n // 19. Invoke set request\u2019s referrer policy on redirect on request and\n // actualResponse.\n setRequestReferrerPolicyOnRedirect(request, actualResponse)\n\n // 20. Return the result of running main fetch given fetchParams and true.\n return mainFetch(fetchParams, true)\n}\n\n// https://fetch.spec.whatwg.org/#http-network-or-cache-fetch\nasync function httpNetworkOrCacheFetch (\n fetchParams,\n isAuthenticationFetch = false,\n isNewConnectionFetch = false\n) {\n // 1. Let request be fetchParams\u2019s request.\n const request = fetchParams.request\n\n // 2. Let httpFetchParams be null.\n let httpFetchParams = null\n\n // 3. Let httpRequest be null.\n let httpRequest = null\n\n // 4. Let response be null.\n let response = null\n\n // 5. Let storedResponse be null.\n // TODO: cache\n\n // 6. Let httpCache be null.\n const httpCache = null\n\n // 7. Let the revalidatingFlag be unset.\n const revalidatingFlag = false\n\n // 8. Run these steps, but abort when the ongoing fetch is terminated:\n\n // 1. If request\u2019s window is \"no-window\" and request\u2019s redirect mode is\n // \"error\", then set httpFetchParams to fetchParams and httpRequest to\n // request.\n if (request.window === 'no-window' && request.redirect === 'error') {\n httpFetchParams = fetchParams\n httpRequest = request\n } else {\n // Otherwise:\n\n // 1. Set httpRequest to a clone of request.\n httpRequest = makeRequest(request)\n\n // 2. Set httpFetchParams to a copy of fetchParams.\n httpFetchParams = { ...fetchParams }\n\n // 3. Set httpFetchParams\u2019s request to httpRequest.\n httpFetchParams.request = httpRequest\n }\n\n // 3. Let includeCredentials be true if one of\n const includeCredentials =\n request.credentials === 'include' ||\n (request.credentials === 'same-origin' &&\n request.responseTainting === 'basic')\n\n // 4. Let contentLength be httpRequest\u2019s body\u2019s length, if httpRequest\u2019s\n // body is non-null; otherwise null.\n const contentLength = httpRequest.body ? httpRequest.body.length : null\n\n // 5. Let contentLengthHeaderValue be null.\n let contentLengthHeaderValue = null\n\n // 6. If httpRequest\u2019s body is null and httpRequest\u2019s method is `POST` or\n // `PUT`, then set contentLengthHeaderValue to `0`.\n if (\n httpRequest.body == null &&\n ['POST', 'PUT'].includes(httpRequest.method)\n ) {\n contentLengthHeaderValue = '0'\n }\n\n // 7. If contentLength is non-null, then set contentLengthHeaderValue to\n // contentLength, serialized and isomorphic encoded.\n if (contentLength != null) {\n contentLengthHeaderValue = isomorphicEncode(`${contentLength}`)\n }\n\n // 8. If contentLengthHeaderValue is non-null, then append\n // `Content-Length`/contentLengthHeaderValue to httpRequest\u2019s header\n // list.\n if (contentLengthHeaderValue != null) {\n httpRequest.headersList.append('content-length', contentLengthHeaderValue)\n }\n\n // 9. If contentLengthHeaderValue is non-null, then append (`Content-Length`,\n // contentLengthHeaderValue) to httpRequest\u2019s header list.\n\n // 10. If contentLength is non-null and httpRequest\u2019s keepalive is true,\n // then:\n if (contentLength != null && httpRequest.keepalive) {\n // NOTE: keepalive is a noop outside of browser context.\n }\n\n // 11. If httpRequest\u2019s referrer is a URL, then append\n // `Referer`/httpRequest\u2019s referrer, serialized and isomorphic encoded,\n // to httpRequest\u2019s header list.\n if (httpRequest.referrer instanceof URL) {\n httpRequest.headersList.append('referer', isomorphicEncode(httpRequest.referrer.href))\n }\n\n // 12. Append a request `Origin` header for httpRequest.\n appendRequestOriginHeader(httpRequest)\n\n // 13. Append the Fetch metadata headers for httpRequest. [FETCH-METADATA]\n appendFetchMetadata(httpRequest)\n\n // 14. If httpRequest\u2019s header list does not contain `User-Agent`, then\n // user agents should append `User-Agent`/default `User-Agent` value to\n // httpRequest\u2019s header list.\n if (!httpRequest.headersList.contains('user-agent')) {\n httpRequest.headersList.append('user-agent', 'undici')\n }\n\n // 15. If httpRequest\u2019s cache mode is \"default\" and httpRequest\u2019s header\n // list contains `If-Modified-Since`, `If-None-Match`,\n // `If-Unmodified-Since`, `If-Match`, or `If-Range`, then set\n // httpRequest\u2019s cache mode to \"no-store\".\n if (\n httpRequest.cache === 'default' &&\n (httpRequest.headersList.contains('if-modified-since') ||\n httpRequest.headersList.contains('if-none-match') ||\n httpRequest.headersList.contains('if-unmodified-since') ||\n httpRequest.headersList.contains('if-match') ||\n httpRequest.headersList.contains('if-range'))\n ) {\n httpRequest.cache = 'no-store'\n }\n\n // 16. If httpRequest\u2019s cache mode is \"no-cache\", httpRequest\u2019s prevent\n // no-cache cache-control header modification flag is unset, and\n // httpRequest\u2019s header list does not contain `Cache-Control`, then append\n // `Cache-Control`/`max-age=0` to httpRequest\u2019s header list.\n if (\n httpRequest.cache === 'no-cache' &&\n !httpRequest.preventNoCacheCacheControlHeaderModification &&\n !httpRequest.headersList.contains('cache-control')\n ) {\n httpRequest.headersList.append('cache-control', 'max-age=0')\n }\n\n // 17. If httpRequest\u2019s cache mode is \"no-store\" or \"reload\", then:\n if (httpRequest.cache === 'no-store' || httpRequest.cache === 'reload') {\n // 1. If httpRequest\u2019s header list does not contain `Pragma`, then append\n // `Pragma`/`no-cache` to httpRequest\u2019s header list.\n if (!httpRequest.headersList.contains('pragma')) {\n httpRequest.headersList.append('pragma', 'no-cache')\n }\n\n // 2. If httpRequest\u2019s header list does not contain `Cache-Control`,\n // then append `Cache-Control`/`no-cache` to httpRequest\u2019s header list.\n if (!httpRequest.headersList.contains('cache-control')) {\n httpRequest.headersList.append('cache-control', 'no-cache')\n }\n }\n\n // 18. If httpRequest\u2019s header list contains `Range`, then append\n // `Accept-Encoding`/`identity` to httpRequest\u2019s header list.\n if (httpRequest.headersList.contains('range')) {\n httpRequest.headersList.append('accept-encoding', 'identity')\n }\n\n // 19. Modify httpRequest\u2019s header list per HTTP. Do not append a given\n // header if httpRequest\u2019s header list contains that header\u2019s name.\n // TODO: https://github.com/whatwg/fetch/issues/1285#issuecomment-896560129\n if (!httpRequest.headersList.contains('accept-encoding')) {\n if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {\n httpRequest.headersList.append('accept-encoding', 'br, gzip, deflate')\n } else {\n httpRequest.headersList.append('accept-encoding', 'gzip, deflate')\n }\n }\n\n // 20. If includeCredentials is true, then:\n if (includeCredentials) {\n // 1. If the user agent is not configured to block cookies for httpRequest\n // (see section 7 of [COOKIES]), then:\n // TODO: credentials\n // 2. If httpRequest\u2019s header list does not contain `Authorization`, then:\n // TODO: credentials\n }\n\n // 21. If there\u2019s a proxy-authentication entry, use it as appropriate.\n // TODO: proxy-authentication\n\n // 22. Set httpCache to the result of determining the HTTP cache\n // partition, given httpRequest.\n // TODO: cache\n\n // 23. If httpCache is null, then set httpRequest\u2019s cache mode to\n // \"no-store\".\n if (httpCache == null) {\n httpRequest.cache = 'no-store'\n }\n\n // 24. If httpRequest\u2019s cache mode is neither \"no-store\" nor \"reload\",\n // then:\n if (httpRequest.mode !== 'no-store' && httpRequest.mode !== 'reload') {\n // TODO: cache\n }\n\n // 9. If aborted, then return the appropriate network error for fetchParams.\n // TODO\n\n // 10. If response is null, then:\n if (response == null) {\n // 1. If httpRequest\u2019s cache mode is \"only-if-cached\", then return a\n // network error.\n if (httpRequest.mode === 'only-if-cached') {\n return makeNetworkError('only if cached')\n }\n\n // 2. Let forwardResponse be the result of running HTTP-network fetch\n // given httpFetchParams, includeCredentials, and isNewConnectionFetch.\n const forwardResponse = await httpNetworkFetch(\n httpFetchParams,\n includeCredentials,\n isNewConnectionFetch\n )\n\n // 3. If httpRequest\u2019s method is unsafe and forwardResponse\u2019s status is\n // in the range 200 to 399, inclusive, invalidate appropriate stored\n // responses in httpCache, as per the \"Invalidation\" chapter of HTTP\n // Caching, and set storedResponse to null. [HTTP-CACHING]\n if (\n !safeMethods.includes(httpRequest.method) &&\n forwardResponse.status >= 200 &&\n forwardResponse.status <= 399\n ) {\n // TODO: cache\n }\n\n // 4. If the revalidatingFlag is set and forwardResponse\u2019s status is 304,\n // then:\n if (revalidatingFlag && forwardResponse.status === 304) {\n // TODO: cache\n }\n\n // 5. If response is null, then:\n if (response == null) {\n // 1. Set response to forwardResponse.\n response = forwardResponse\n\n // 2. Store httpRequest and forwardResponse in httpCache, as per the\n // \"Storing Responses in Caches\" chapter of HTTP Caching. [HTTP-CACHING]\n // TODO: cache\n }\n }\n\n // 11. Set response\u2019s URL list to a clone of httpRequest\u2019s URL list.\n response.urlList = [...httpRequest.urlList]\n\n // 12. If httpRequest\u2019s header list contains `Range`, then set response\u2019s\n // range-requested flag.\n if (httpRequest.headersList.contains('range')) {\n response.rangeRequested = true\n }\n\n // 13. Set response\u2019s request-includes-credentials to includeCredentials.\n response.requestIncludesCredentials = includeCredentials\n\n // 14. If response\u2019s status is 401, httpRequest\u2019s response tainting is not\n // \"cors\", includeCredentials is true, and request\u2019s window is an environment\n // settings object, then:\n // TODO\n\n // 15. If response\u2019s status is 407, then:\n if (response.status === 407) {\n // 1. If request\u2019s window is \"no-window\", then return a network error.\n if (request.window === 'no-window') {\n return makeNetworkError()\n }\n\n // 2. ???\n\n // 3. If fetchParams is canceled, then return the appropriate network error for fetchParams.\n if (isCancelled(fetchParams)) {\n return makeAppropriateNetworkError(fetchParams)\n }\n\n // 4. Prompt the end user as appropriate in request\u2019s window and store\n // the result as a proxy-authentication entry. [HTTP-AUTH]\n // TODO: Invoke some kind of callback?\n\n // 5. Set response to the result of running HTTP-network-or-cache fetch given\n // fetchParams.\n // TODO\n return makeNetworkError('proxy authentication required')\n }\n\n // 16. If all of the following are true\n if (\n // response\u2019s status is 421\n response.status === 421 &&\n // isNewConnectionFetch is false\n !isNewConnectionFetch &&\n // request\u2019s body is null, or request\u2019s body is non-null and request\u2019s body\u2019s source is non-null\n (request.body == null || request.body.source != null)\n ) {\n // then:\n\n // 1. If fetchParams is canceled, then return the appropriate network error for fetchParams.\n if (isCancelled(fetchParams)) {\n return makeAppropriateNetworkError(fetchParams)\n }\n\n // 2. Set response to the result of running HTTP-network-or-cache\n // fetch given fetchParams, isAuthenticationFetch, and true.\n\n // TODO (spec): The spec doesn't specify this but we need to cancel\n // the active response before we can start a new one.\n // https://github.com/whatwg/fetch/issues/1293\n fetchParams.controller.connection.destroy()\n\n response = await httpNetworkOrCacheFetch(\n fetchParams,\n isAuthenticationFetch,\n true\n )\n }\n\n // 17. If isAuthenticationFetch is true, then create an authentication entry\n if (isAuthenticationFetch) {\n // TODO\n }\n\n // 18. Return response.\n return response\n}\n\n// https://fetch.spec.whatwg.org/#http-network-fetch\nasync function httpNetworkFetch (\n fetchParams,\n includeCredentials = false,\n forceNewConnection = false\n) {\n assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed)\n\n fetchParams.controller.connection = {\n abort: null,\n destroyed: false,\n destroy (err) {\n if (!this.destroyed) {\n this.destroyed = true\n this.abort?.(err ?? new DOMException('The operation was aborted.', 'AbortError'))\n }\n }\n }\n\n // 1. Let request be fetchParams\u2019s request.\n const request = fetchParams.request\n\n // 2. Let response be null.\n let response = null\n\n // 3. Let timingInfo be fetchParams\u2019s timing info.\n const timingInfo = fetchParams.timingInfo\n\n // 4. Let httpCache be the result of determining the HTTP cache partition,\n // given request.\n // TODO: cache\n const httpCache = null\n\n // 5. If httpCache is null, then set request\u2019s cache mode to \"no-store\".\n if (httpCache == null) {\n request.cache = 'no-store'\n }\n\n // 6. Let networkPartitionKey be the result of determining the network\n // partition key given request.\n // TODO\n\n // 7. Let newConnection be \"yes\" if forceNewConnection is true; otherwise\n // \"no\".\n const newConnection = forceNewConnection ? 'yes' : 'no' // eslint-disable-line no-unused-vars\n\n // 8. Switch on request\u2019s mode:\n if (request.mode === 'websocket') {\n // Let connection be the result of obtaining a WebSocket connection,\n // given request\u2019s current URL.\n // TODO\n } else {\n // Let connection be the result of obtaining a connection, given\n // networkPartitionKey, request\u2019s current URL\u2019s origin,\n // includeCredentials, and forceNewConnection.\n // TODO\n }\n\n // 9. Run these steps, but abort when the ongoing fetch is terminated:\n\n // 1. If connection is failure, then return a network error.\n\n // 2. Set timingInfo\u2019s final connection timing info to the result of\n // calling clamp and coarsen connection timing info with connection\u2019s\n // timing info, timingInfo\u2019s post-redirect start time, and fetchParams\u2019s\n // cross-origin isolated capability.\n\n // 3. If connection is not an HTTP/2 connection, request\u2019s body is non-null,\n // and request\u2019s body\u2019s source is null, then append (`Transfer-Encoding`,\n // `chunked`) to request\u2019s header list.\n\n // 4. Set timingInfo\u2019s final network-request start time to the coarsened\n // shared current time given fetchParams\u2019s cross-origin isolated\n // capability.\n\n // 5. Set response to the result of making an HTTP request over connection\n // using request with the following caveats:\n\n // - Follow the relevant requirements from HTTP. [HTTP] [HTTP-SEMANTICS]\n // [HTTP-COND] [HTTP-CACHING] [HTTP-AUTH]\n\n // - If request\u2019s body is non-null, and request\u2019s body\u2019s source is null,\n // then the user agent may have a buffer of up to 64 kibibytes and store\n // a part of request\u2019s body in that buffer. If the user agent reads from\n // request\u2019s body beyond that buffer\u2019s size and the user agent needs to\n // resend request, then instead return a network error.\n\n // - Set timingInfo\u2019s final network-response start time to the coarsened\n // shared current time given fetchParams\u2019s cross-origin isolated capability,\n // immediately after the user agent\u2019s HTTP parser receives the first byte\n // of the response (e.g., frame header bytes for HTTP/2 or response status\n // line for HTTP/1.x).\n\n // - Wait until all the headers are transmitted.\n\n // - Any responses whose status is in the range 100 to 199, inclusive,\n // and is not 101, are to be ignored, except for the purposes of setting\n // timingInfo\u2019s final network-response start time above.\n\n // - If request\u2019s header list contains `Transfer-Encoding`/`chunked` and\n // response is transferred via HTTP/1.0 or older, then return a network\n // error.\n\n // - If the HTTP request results in a TLS client certificate dialog, then:\n\n // 1. If request\u2019s window is an environment settings object, make the\n // dialog available in request\u2019s window.\n\n // 2. Otherwise, return a network error.\n\n // To transmit request\u2019s body body, run these steps:\n let requestBody = null\n // 1. If body is null and fetchParams\u2019s process request end-of-body is\n // non-null, then queue a fetch task given fetchParams\u2019s process request\n // end-of-body and fetchParams\u2019s task destination.\n if (request.body == null && fetchParams.processRequestEndOfBody) {\n queueMicrotask(() => fetchParams.processRequestEndOfBody())\n } else if (request.body != null) {\n // 2. Otherwise, if body is non-null:\n\n // 1. Let processBodyChunk given bytes be these steps:\n const processBodyChunk = async function * (bytes) {\n // 1. If the ongoing fetch is terminated, then abort these steps.\n if (isCancelled(fetchParams)) {\n return\n }\n\n // 2. Run this step in parallel: transmit bytes.\n yield bytes\n\n // 3. If fetchParams\u2019s process request body is non-null, then run\n // fetchParams\u2019s process request body given bytes\u2019s length.\n fetchParams.processRequestBodyChunkLength?.(bytes.byteLength)\n }\n\n // 2. Let processEndOfBody be these steps:\n const processEndOfBody = () => {\n // 1. If fetchParams is canceled, then abort these steps.\n if (isCancelled(fetchParams)) {\n return\n }\n\n // 2. If fetchParams\u2019s process request end-of-body is non-null,\n // then run fetchParams\u2019s process request end-of-body.\n if (fetchParams.processRequestEndOfBody) {\n fetchParams.processRequestEndOfBody()\n }\n }\n\n // 3. Let processBodyError given e be these steps:\n const processBodyError = (e) => {\n // 1. If fetchParams is canceled, then abort these steps.\n if (isCancelled(fetchParams)) {\n return\n }\n\n // 2. If e is an \"AbortError\" DOMException, then abort fetchParams\u2019s controller.\n if (e.name === 'AbortError') {\n fetchParams.controller.abort()\n } else {\n fetchParams.controller.terminate(e)\n }\n }\n\n // 4. Incrementally read request\u2019s body given processBodyChunk, processEndOfBody,\n // processBodyError, and fetchParams\u2019s task destination.\n requestBody = (async function * () {\n try {\n for await (const bytes of request.body.stream) {\n yield * processBodyChunk(bytes)\n }\n processEndOfBody()\n } catch (err) {\n processBodyError(err)\n }\n })()\n }\n\n try {\n // socket is only provided for websockets\n const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody })\n\n if (socket) {\n response = makeResponse({ status, statusText, headersList, socket })\n } else {\n const iterator = body[Symbol.asyncIterator]()\n fetchParams.controller.next = () => iterator.next()\n\n response = makeResponse({ status, statusText, headersList })\n }\n } catch (err) {\n // 10. If aborted, then:\n if (err.name === 'AbortError') {\n // 1. If connection uses HTTP/2, then transmit an RST_STREAM frame.\n fetchParams.controller.connection.destroy()\n\n // 2. Return the appropriate network error for fetchParams.\n return makeAppropriateNetworkError(fetchParams)\n }\n\n return makeNetworkError(err)\n }\n\n // 11. Let pullAlgorithm be an action that resumes the ongoing fetch\n // if it is suspended.\n const pullAlgorithm = () => {\n fetchParams.controller.resume()\n }\n\n // 12. Let cancelAlgorithm be an algorithm that aborts fetchParams\u2019s\n // controller with reason, given reason.\n const cancelAlgorithm = (reason) => {\n fetchParams.controller.abort(reason)\n }\n\n // 13. Let highWaterMark be a non-negative, non-NaN number, chosen by\n // the user agent.\n // TODO\n\n // 14. Let sizeAlgorithm be an algorithm that accepts a chunk object\n // and returns a non-negative, non-NaN, non-infinite number, chosen by the user agent.\n // TODO\n\n // 15. Let stream be a new ReadableStream.\n // 16. Set up stream with pullAlgorithm set to pullAlgorithm,\n // cancelAlgorithm set to cancelAlgorithm, highWaterMark set to\n // highWaterMark, and sizeAlgorithm set to sizeAlgorithm.\n if (!ReadableStream) {\n ReadableStream = require('stream/web').ReadableStream\n }\n\n const stream = new ReadableStream(\n {\n async start (controller) {\n fetchParams.controller.controller = controller\n },\n async pull (controller) {\n await pullAlgorithm(controller)\n },\n async cancel (reason) {\n await cancelAlgorithm(reason)\n }\n },\n {\n highWaterMark: 0,\n size () {\n return 1\n }\n }\n )\n\n // 17. Run these steps, but abort when the ongoing fetch is terminated:\n\n // 1. Set response\u2019s body to a new body whose stream is stream.\n response.body = { stream }\n\n // 2. If response is not a network error and request\u2019s cache mode is\n // not \"no-store\", then update response in httpCache for request.\n // TODO\n\n // 3. If includeCredentials is true and the user agent is not configured\n // to block cookies for request (see section 7 of [COOKIES]), then run the\n // \"set-cookie-string\" parsing algorithm (see section 5.2 of [COOKIES]) on\n // the value of each header whose name is a byte-case-insensitive match for\n // `Set-Cookie` in response\u2019s header list, if any, and request\u2019s current URL.\n // TODO\n\n // 18. If aborted, then:\n // TODO\n\n // 19. Run these steps in parallel:\n\n // 1. Run these steps, but abort when fetchParams is canceled:\n fetchParams.controller.on('terminated', onAborted)\n fetchParams.controller.resume = async () => {\n // 1. While true\n while (true) {\n // 1-3. See onData...\n\n // 4. Set bytes to the result of handling content codings given\n // codings and bytes.\n let bytes\n let isFailure\n try {\n const { done, value } = await fetchParams.controller.next()\n\n if (isAborted(fetchParams)) {\n break\n }\n\n bytes = done ? undefined : value\n } catch (err) {\n if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {\n // zlib doesn't like empty streams.\n bytes = undefined\n } else {\n bytes = err\n\n // err may be propagated from the result of calling readablestream.cancel,\n // which might not be an error. https://github.com/nodejs/undici/issues/2009\n isFailure = true\n }\n }\n\n if (bytes === undefined) {\n // 2. Otherwise, if the bytes transmission for response\u2019s message\n // body is done normally and stream is readable, then close\n // stream, finalize response for fetchParams and response, and\n // abort these in-parallel steps.\n readableStreamClose(fetchParams.controller.controller)\n\n finalizeResponse(fetchParams, response)\n\n return\n }\n\n // 5. Increase timingInfo\u2019s decoded body size by bytes\u2019s length.\n timingInfo.decodedBodySize += bytes?.byteLength ?? 0\n\n // 6. If bytes is failure, then terminate fetchParams\u2019s controller.\n if (isFailure) {\n fetchParams.controller.terminate(bytes)\n return\n }\n\n // 7. Enqueue a Uint8Array wrapping an ArrayBuffer containing bytes\n // into stream.\n fetchParams.controller.controller.enqueue(new Uint8Array(bytes))\n\n // 8. If stream is errored, then terminate the ongoing fetch.\n if (isErrored(stream)) {\n fetchParams.controller.terminate()\n return\n }\n\n // 9. If stream doesn\u2019t need more data ask the user agent to suspend\n // the ongoing fetch.\n if (!fetchParams.controller.controller.desiredSize) {\n return\n }\n }\n }\n\n // 2. If aborted, then:\n function onAborted (reason) {\n // 2. If fetchParams is aborted, then:\n if (isAborted(fetchParams)) {\n // 1. Set response\u2019s aborted flag.\n response.aborted = true\n\n // 2. If stream is readable, then error stream with the result of\n // deserialize a serialized abort reason given fetchParams\u2019s\n // controller\u2019s serialized abort reason and an\n // implementation-defined realm.\n if (isReadable(stream)) {\n fetchParams.controller.controller.error(\n fetchParams.controller.serializedAbortReason\n )\n }\n } else {\n // 3. Otherwise, if stream is readable, error stream with a TypeError.\n if (isReadable(stream)) {\n fetchParams.controller.controller.error(new TypeError('terminated', {\n cause: isErrorLike(reason) ? reason : undefined\n }))\n }\n }\n\n // 4. If connection uses HTTP/2, then transmit an RST_STREAM frame.\n // 5. Otherwise, the user agent should close connection unless it would be bad for performance to do so.\n fetchParams.controller.connection.destroy()\n }\n\n // 20. Return response.\n return response\n\n async function dispatch ({ body }) {\n const url = requestCurrentURL(request)\n /** @type {import('../..').Agent} */\n const agent = fetchParams.controller.dispatcher\n\n return new Promise((resolve, reject) => agent.dispatch(\n {\n path: url.pathname + url.search,\n origin: url.origin,\n method: request.method,\n body: fetchParams.controller.dispatcher.isMockActive ? request.body && request.body.source : body,\n headers: request.headersList.entries,\n maxRedirections: 0,\n upgrade: request.mode === 'websocket' ? 'websocket' : undefined\n },\n {\n body: null,\n abort: null,\n\n onConnect (abort) {\n // TODO (fix): Do we need connection here?\n const { connection } = fetchParams.controller\n\n if (connection.destroyed) {\n abort(new DOMException('The operation was aborted.', 'AbortError'))\n } else {\n fetchParams.controller.on('terminated', abort)\n this.abort = connection.abort = abort\n }\n },\n\n onHeaders (status, headersList, resume, statusText) {\n if (status < 200) {\n return\n }\n\n let codings = []\n let location = ''\n\n const headers = new Headers()\n for (let n = 0; n < headersList.length; n += 2) {\n const key = headersList[n + 0].toString('latin1')\n const val = headersList[n + 1].toString('latin1')\n\n if (key.toLowerCase() === 'content-encoding') {\n // https://www.rfc-editor.org/rfc/rfc7231#section-3.1.2.1\n // \"All content-coding values are case-insensitive...\"\n codings = val.toLowerCase().split(',').map((x) => x.trim()).reverse()\n } else if (key.toLowerCase() === 'location') {\n location = val\n }\n\n headers.append(key, val)\n }\n\n this.body = new Readable({ read: resume })\n\n const decoders = []\n\n const willFollow = request.redirect === 'follow' &&\n location &&\n redirectStatus.includes(status)\n\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding\n if (request.method !== 'HEAD' && request.method !== 'CONNECT' && !nullBodyStatus.includes(status) && !willFollow) {\n for (const coding of codings) {\n // https://www.rfc-editor.org/rfc/rfc9112.html#section-7.2\n if (coding === 'x-gzip' || coding === 'gzip') {\n decoders.push(zlib.createGunzip({\n // Be less strict when decoding compressed responses, since sometimes\n // servers send slightly invalid responses that are still accepted\n // by common browsers.\n // Always using Z_SYNC_FLUSH is what cURL does.\n flush: zlib.constants.Z_SYNC_FLUSH,\n finishFlush: zlib.constants.Z_SYNC_FLUSH\n }))\n } else if (coding === 'deflate') {\n decoders.push(zlib.createInflate())\n } else if (coding === 'br') {\n decoders.push(zlib.createBrotliDecompress())\n } else {\n decoders.length = 0\n break\n }\n }\n }\n\n resolve({\n status,\n statusText,\n headersList: headers[kHeadersList],\n body: decoders.length\n ? pipeline(this.body, ...decoders, () => { })\n : this.body.on('error', () => {})\n })\n\n return true\n },\n\n onData (chunk) {\n if (fetchParams.controller.dump) {\n return\n }\n\n // 1. If one or more bytes have been transmitted from response\u2019s\n // message body, then:\n\n // 1. Let bytes be the transmitted bytes.\n const bytes = chunk\n\n // 2. Let codings be the result of extracting header list values\n // given `Content-Encoding` and response\u2019s header list.\n // See pullAlgorithm.\n\n // 3. Increase timingInfo\u2019s encoded body size by bytes\u2019s length.\n timingInfo.encodedBodySize += bytes.byteLength\n\n // 4. See pullAlgorithm...\n\n return this.body.push(bytes)\n },\n\n onComplete () {\n if (this.abort) {\n fetchParams.controller.off('terminated', this.abort)\n }\n\n fetchParams.controller.ended = true\n\n this.body.push(null)\n },\n\n onError (error) {\n if (this.abort) {\n fetchParams.controller.off('terminated', this.abort)\n }\n\n this.body?.destroy(error)\n\n fetchParams.controller.terminate(error)\n\n reject(error)\n },\n\n onUpgrade (status, headersList, socket) {\n if (status !== 101) {\n return\n }\n\n const headers = new Headers()\n\n for (let n = 0; n < headersList.length; n += 2) {\n const key = headersList[n + 0].toString('latin1')\n const val = headersList[n + 1].toString('latin1')\n\n headers.append(key, val)\n }\n\n resolve({\n status,\n statusText: STATUS_CODES[status],\n headersList: headers[kHeadersList],\n socket\n })\n\n return true\n }\n }\n ))\n }\n}\n\nmodule.exports = {\n fetch,\n Fetch,\n fetching,\n finalizeAndReportTiming\n}\n", "'use strict'\n\nmodule.exports = {\n kState: Symbol('FileReader state'),\n kResult: Symbol('FileReader result'),\n kError: Symbol('FileReader error'),\n kLastProgressEventFired: Symbol('FileReader last progress event fired timestamp'),\n kEvents: Symbol('FileReader events'),\n kAborted: Symbol('FileReader aborted')\n}\n", "'use strict'\n\nconst { webidl } = require('../fetch/webidl')\n\nconst kState = Symbol('ProgressEvent state')\n\n/**\n * @see https://xhr.spec.whatwg.org/#progressevent\n */\nclass ProgressEvent extends Event {\n constructor (type, eventInitDict = {}) {\n type = webidl.converters.DOMString(type)\n eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {})\n\n super(type, eventInitDict)\n\n this[kState] = {\n lengthComputable: eventInitDict.lengthComputable,\n loaded: eventInitDict.loaded,\n total: eventInitDict.total\n }\n }\n\n get lengthComputable () {\n webidl.brandCheck(this, ProgressEvent)\n\n return this[kState].lengthComputable\n }\n\n get loaded () {\n webidl.brandCheck(this, ProgressEvent)\n\n return this[kState].loaded\n }\n\n get total () {\n webidl.brandCheck(this, ProgressEvent)\n\n return this[kState].total\n }\n}\n\nwebidl.converters.ProgressEventInit = webidl.dictionaryConverter([\n {\n key: 'lengthComputable',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'loaded',\n converter: webidl.converters['unsigned long long'],\n defaultValue: 0\n },\n {\n key: 'total',\n converter: webidl.converters['unsigned long long'],\n defaultValue: 0\n },\n {\n key: 'bubbles',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'cancelable',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'composed',\n converter: webidl.converters.boolean,\n defaultValue: false\n }\n])\n\nmodule.exports = {\n ProgressEvent\n}\n", "'use strict'\n\n/**\n * @see https://encoding.spec.whatwg.org/#concept-encoding-get\n * @param {string|undefined} label\n */\nfunction getEncoding (label) {\n if (!label) {\n return 'failure'\n }\n\n // 1. Remove any leading and trailing ASCII whitespace from label.\n // 2. If label is an ASCII case-insensitive match for any of the\n // labels listed in the table below, then return the\n // corresponding encoding; otherwise return failure.\n switch (label.trim().toLowerCase()) {\n case 'unicode-1-1-utf-8':\n case 'unicode11utf8':\n case 'unicode20utf8':\n case 'utf-8':\n case 'utf8':\n case 'x-unicode20utf8':\n return 'UTF-8'\n case '866':\n case 'cp866':\n case 'csibm866':\n case 'ibm866':\n return 'IBM866'\n case 'csisolatin2':\n case 'iso-8859-2':\n case 'iso-ir-101':\n case 'iso8859-2':\n case 'iso88592':\n case 'iso_8859-2':\n case 'iso_8859-2:1987':\n case 'l2':\n case 'latin2':\n return 'ISO-8859-2'\n case 'csisolatin3':\n case 'iso-8859-3':\n case 'iso-ir-109':\n case 'iso8859-3':\n case 'iso88593':\n case 'iso_8859-3':\n case 'iso_8859-3:1988':\n case 'l3':\n case 'latin3':\n return 'ISO-8859-3'\n case 'csisolatin4':\n case 'iso-8859-4':\n case 'iso-ir-110':\n case 'iso8859-4':\n case 'iso88594':\n case 'iso_8859-4':\n case 'iso_8859-4:1988':\n case 'l4':\n case 'latin4':\n return 'ISO-8859-4'\n case 'csisolatincyrillic':\n case 'cyrillic':\n case 'iso-8859-5':\n case 'iso-ir-144':\n case 'iso8859-5':\n case 'iso88595':\n case 'iso_8859-5':\n case 'iso_8859-5:1988':\n return 'ISO-8859-5'\n case 'arabic':\n case 'asmo-708':\n case 'csiso88596e':\n case 'csiso88596i':\n case 'csisolatinarabic':\n case 'ecma-114':\n case 'iso-8859-6':\n case 'iso-8859-6-e':\n case 'iso-8859-6-i':\n case 'iso-ir-127':\n case 'iso8859-6':\n case 'iso88596':\n case 'iso_8859-6':\n case 'iso_8859-6:1987':\n return 'ISO-8859-6'\n case 'csisolatingreek':\n case 'ecma-118':\n case 'elot_928':\n case 'greek':\n case 'greek8':\n case 'iso-8859-7':\n case 'iso-ir-126':\n case 'iso8859-7':\n case 'iso88597':\n case 'iso_8859-7':\n case 'iso_8859-7:1987':\n case 'sun_eu_greek':\n return 'ISO-8859-7'\n case 'csiso88598e':\n case 'csisolatinhebrew':\n case 'hebrew':\n case 'iso-8859-8':\n case 'iso-8859-8-e':\n case 'iso-ir-138':\n case 'iso8859-8':\n case 'iso88598':\n case 'iso_8859-8':\n case 'iso_8859-8:1988':\n case 'visual':\n return 'ISO-8859-8'\n case 'csiso88598i':\n case 'iso-8859-8-i':\n case 'logical':\n return 'ISO-8859-8-I'\n case 'csisolatin6':\n case 'iso-8859-10':\n case 'iso-ir-157':\n case 'iso8859-10':\n case 'iso885910':\n case 'l6':\n case 'latin6':\n return 'ISO-8859-10'\n case 'iso-8859-13':\n case 'iso8859-13':\n case 'iso885913':\n return 'ISO-8859-13'\n case 'iso-8859-14':\n case 'iso8859-14':\n case 'iso885914':\n return 'ISO-8859-14'\n case 'csisolatin9':\n case 'iso-8859-15':\n case 'iso8859-15':\n case 'iso885915':\n case 'iso_8859-15':\n case 'l9':\n return 'ISO-8859-15'\n case 'iso-8859-16':\n return 'ISO-8859-16'\n case 'cskoi8r':\n case 'koi':\n case 'koi8':\n case 'koi8-r':\n case 'koi8_r':\n return 'KOI8-R'\n case 'koi8-ru':\n case 'koi8-u':\n return 'KOI8-U'\n case 'csmacintosh':\n case 'mac':\n case 'macintosh':\n case 'x-mac-roman':\n return 'macintosh'\n case 'iso-8859-11':\n case 'iso8859-11':\n case 'iso885911':\n case 'tis-620':\n case 'windows-874':\n return 'windows-874'\n case 'cp1250':\n case 'windows-1250':\n case 'x-cp1250':\n return 'windows-1250'\n case 'cp1251':\n case 'windows-1251':\n case 'x-cp1251':\n return 'windows-1251'\n case 'ansi_x3.4-1968':\n case 'ascii':\n case 'cp1252':\n case 'cp819':\n case 'csisolatin1':\n case 'ibm819':\n case 'iso-8859-1':\n case 'iso-ir-100':\n case 'iso8859-1':\n case 'iso88591':\n case 'iso_8859-1':\n case 'iso_8859-1:1987':\n case 'l1':\n case 'latin1':\n case 'us-ascii':\n case 'windows-1252':\n case 'x-cp1252':\n return 'windows-1252'\n case 'cp1253':\n case 'windows-1253':\n case 'x-cp1253':\n return 'windows-1253'\n case 'cp1254':\n case 'csisolatin5':\n case 'iso-8859-9':\n case 'iso-ir-148':\n case 'iso8859-9':\n case 'iso88599':\n case 'iso_8859-9':\n case 'iso_8859-9:1989':\n case 'l5':\n case 'latin5':\n case 'windows-1254':\n case 'x-cp1254':\n return 'windows-1254'\n case 'cp1255':\n case 'windows-1255':\n case 'x-cp1255':\n return 'windows-1255'\n case 'cp1256':\n case 'windows-1256':\n case 'x-cp1256':\n return 'windows-1256'\n case 'cp1257':\n case 'windows-1257':\n case 'x-cp1257':\n return 'windows-1257'\n case 'cp1258':\n case 'windows-1258':\n case 'x-cp1258':\n return 'windows-1258'\n case 'x-mac-cyrillic':\n case 'x-mac-ukrainian':\n return 'x-mac-cyrillic'\n case 'chinese':\n case 'csgb2312':\n case 'csiso58gb231280':\n case 'gb2312':\n case 'gb_2312':\n case 'gb_2312-80':\n case 'gbk':\n case 'iso-ir-58':\n case 'x-gbk':\n return 'GBK'\n case 'gb18030':\n return 'gb18030'\n case 'big5':\n case 'big5-hkscs':\n case 'cn-big5':\n case 'csbig5':\n case 'x-x-big5':\n return 'Big5'\n case 'cseucpkdfmtjapanese':\n case 'euc-jp':\n case 'x-euc-jp':\n return 'EUC-JP'\n case 'csiso2022jp':\n case 'iso-2022-jp':\n return 'ISO-2022-JP'\n case 'csshiftjis':\n case 'ms932':\n case 'ms_kanji':\n case 'shift-jis':\n case 'shift_jis':\n case 'sjis':\n case 'windows-31j':\n case 'x-sjis':\n return 'Shift_JIS'\n case 'cseuckr':\n case 'csksc56011987':\n case 'euc-kr':\n case 'iso-ir-149':\n case 'korean':\n case 'ks_c_5601-1987':\n case 'ks_c_5601-1989':\n case 'ksc5601':\n case 'ksc_5601':\n case 'windows-949':\n return 'EUC-KR'\n case 'csiso2022kr':\n case 'hz-gb-2312':\n case 'iso-2022-cn':\n case 'iso-2022-cn-ext':\n case 'iso-2022-kr':\n case 'replacement':\n return 'replacement'\n case 'unicodefffe':\n case 'utf-16be':\n return 'UTF-16BE'\n case 'csunicode':\n case 'iso-10646-ucs-2':\n case 'ucs-2':\n case 'unicode':\n case 'unicodefeff':\n case 'utf-16':\n case 'utf-16le':\n return 'UTF-16LE'\n case 'x-user-defined':\n return 'x-user-defined'\n default: return 'failure'\n }\n}\n\nmodule.exports = {\n getEncoding\n}\n", "'use strict'\n\nconst {\n kState,\n kError,\n kResult,\n kAborted,\n kLastProgressEventFired\n} = require('./symbols')\nconst { ProgressEvent } = require('./progressevent')\nconst { getEncoding } = require('./encoding')\nconst { DOMException } = require('../fetch/constants')\nconst { serializeAMimeType, parseMIMEType } = require('../fetch/dataURL')\nconst { types } = require('util')\nconst { StringDecoder } = require('string_decoder')\nconst { btoa } = require('buffer')\n\n/** @type {PropertyDescriptor} */\nconst staticPropertyDescriptors = {\n enumerable: true,\n writable: false,\n configurable: false\n}\n\n/**\n * @see https://w3c.github.io/FileAPI/#readOperation\n * @param {import('./filereader').FileReader} fr\n * @param {import('buffer').Blob} blob\n * @param {string} type\n * @param {string?} encodingName\n */\nfunction readOperation (fr, blob, type, encodingName) {\n // 1. If fr\u2019s state is \"loading\", throw an InvalidStateError\n // DOMException.\n if (fr[kState] === 'loading') {\n throw new DOMException('Invalid state', 'InvalidStateError')\n }\n\n // 2. Set fr\u2019s state to \"loading\".\n fr[kState] = 'loading'\n\n // 3. Set fr\u2019s result to null.\n fr[kResult] = null\n\n // 4. Set fr\u2019s error to null.\n fr[kError] = null\n\n // 5. Let stream be the result of calling get stream on blob.\n /** @type {import('stream/web').ReadableStream} */\n const stream = blob.stream()\n\n // 6. Let reader be the result of getting a reader from stream.\n const reader = stream.getReader()\n\n // 7. Let bytes be an empty byte sequence.\n /** @type {Uint8Array[]} */\n const bytes = []\n\n // 8. Let chunkPromise be the result of reading a chunk from\n // stream with reader.\n let chunkPromise = reader.read()\n\n // 9. Let isFirstChunk be true.\n let isFirstChunk = true\n\n // 10. In parallel, while true:\n // Note: \"In parallel\" just means non-blocking\n // Note 2: readOperation itself cannot be async as double\n // reading the body would then reject the promise, instead\n // of throwing an error.\n ;(async () => {\n while (!fr[kAborted]) {\n // 1. Wait for chunkPromise to be fulfilled or rejected.\n try {\n const { done, value } = await chunkPromise\n\n // 2. If chunkPromise is fulfilled, and isFirstChunk is\n // true, queue a task to fire a progress event called\n // loadstart at fr.\n if (isFirstChunk && !fr[kAborted]) {\n queueMicrotask(() => {\n fireAProgressEvent('loadstart', fr)\n })\n }\n\n // 3. Set isFirstChunk to false.\n isFirstChunk = false\n\n // 4. If chunkPromise is fulfilled with an object whose\n // done property is false and whose value property is\n // a Uint8Array object, run these steps:\n if (!done && types.isUint8Array(value)) {\n // 1. Let bs be the byte sequence represented by the\n // Uint8Array object.\n\n // 2. Append bs to bytes.\n bytes.push(value)\n\n // 3. If roughly 50ms have passed since these steps\n // were last invoked, queue a task to fire a\n // progress event called progress at fr.\n if (\n (\n fr[kLastProgressEventFired] === undefined ||\n Date.now() - fr[kLastProgressEventFired] >= 50\n ) &&\n !fr[kAborted]\n ) {\n fr[kLastProgressEventFired] = Date.now()\n queueMicrotask(() => {\n fireAProgressEvent('progress', fr)\n })\n }\n\n // 4. Set chunkPromise to the result of reading a\n // chunk from stream with reader.\n chunkPromise = reader.read()\n } else if (done) {\n // 5. Otherwise, if chunkPromise is fulfilled with an\n // object whose done property is true, queue a task\n // to run the following steps and abort this algorithm:\n queueMicrotask(() => {\n // 1. Set fr\u2019s state to \"done\".\n fr[kState] = 'done'\n\n // 2. Let result be the result of package data given\n // bytes, type, blob\u2019s type, and encodingName.\n try {\n const result = packageData(bytes, type, blob.type, encodingName)\n\n // 4. Else:\n\n if (fr[kAborted]) {\n return\n }\n\n // 1. Set fr\u2019s result to result.\n fr[kResult] = result\n\n // 2. Fire a progress event called load at the fr.\n fireAProgressEvent('load', fr)\n } catch (error) {\n // 3. If package data threw an exception error:\n\n // 1. Set fr\u2019s error to error.\n fr[kError] = error\n\n // 2. Fire a progress event called error at fr.\n fireAProgressEvent('error', fr)\n }\n\n // 5. If fr\u2019s state is not \"loading\", fire a progress\n // event called loadend at the fr.\n if (fr[kState] !== 'loading') {\n fireAProgressEvent('loadend', fr)\n }\n })\n\n break\n }\n } catch (error) {\n if (fr[kAborted]) {\n return\n }\n\n // 6. Otherwise, if chunkPromise is rejected with an\n // error error, queue a task to run the following\n // steps and abort this algorithm:\n queueMicrotask(() => {\n // 1. Set fr\u2019s state to \"done\".\n fr[kState] = 'done'\n\n // 2. Set fr\u2019s error to error.\n fr[kError] = error\n\n // 3. Fire a progress event called error at fr.\n fireAProgressEvent('error', fr)\n\n // 4. If fr\u2019s state is not \"loading\", fire a progress\n // event called loadend at fr.\n if (fr[kState] !== 'loading') {\n fireAProgressEvent('loadend', fr)\n }\n })\n\n break\n }\n }\n })()\n}\n\n/**\n * @see https://w3c.github.io/FileAPI/#fire-a-progress-event\n * @see https://dom.spec.whatwg.org/#concept-event-fire\n * @param {string} e The name of the event\n * @param {import('./filereader').FileReader} reader\n */\nfunction fireAProgressEvent (e, reader) {\n // The progress event e does not bubble. e.bubbles must be false\n // The progress event e is NOT cancelable. e.cancelable must be false\n const event = new ProgressEvent(e, {\n bubbles: false,\n cancelable: false\n })\n\n reader.dispatchEvent(event)\n}\n\n/**\n * @see https://w3c.github.io/FileAPI/#blob-package-data\n * @param {Uint8Array[]} bytes\n * @param {string} type\n * @param {string?} mimeType\n * @param {string?} encodingName\n */\nfunction packageData (bytes, type, mimeType, encodingName) {\n // 1. A Blob has an associated package data algorithm, given\n // bytes, a type, a optional mimeType, and a optional\n // encodingName, which switches on type and runs the\n // associated steps:\n\n switch (type) {\n case 'DataURL': {\n // 1. Return bytes as a DataURL [RFC2397] subject to\n // the considerations below:\n // * Use mimeType as part of the Data URL if it is\n // available in keeping with the Data URL\n // specification [RFC2397].\n // * If mimeType is not available return a Data URL\n // without a media-type. [RFC2397].\n\n // https://datatracker.ietf.org/doc/html/rfc2397#section-3\n // dataurl := \"data:\" [ mediatype ] [ \";base64\" ] \",\" data\n // mediatype := [ type \"/\" subtype ] *( \";\" parameter )\n // data := *urlchar\n // parameter := attribute \"=\" value\n let dataURL = 'data:'\n\n const parsed = parseMIMEType(mimeType || 'application/octet-stream')\n\n if (parsed !== 'failure') {\n dataURL += serializeAMimeType(parsed)\n }\n\n dataURL += ';base64,'\n\n const decoder = new StringDecoder('latin1')\n\n for (const chunk of bytes) {\n dataURL += btoa(decoder.write(chunk))\n }\n\n dataURL += btoa(decoder.end())\n\n return dataURL\n }\n case 'Text': {\n // 1. Let encoding be failure\n let encoding = 'failure'\n\n // 2. If the encodingName is present, set encoding to the\n // result of getting an encoding from encodingName.\n if (encodingName) {\n encoding = getEncoding(encodingName)\n }\n\n // 3. If encoding is failure, and mimeType is present:\n if (encoding === 'failure' && mimeType) {\n // 1. Let type be the result of parse a MIME type\n // given mimeType.\n const type = parseMIMEType(mimeType)\n\n // 2. If type is not failure, set encoding to the result\n // of getting an encoding from type\u2019s parameters[\"charset\"].\n if (type !== 'failure') {\n encoding = getEncoding(type.parameters.get('charset'))\n }\n }\n\n // 4. If encoding is failure, then set encoding to UTF-8.\n if (encoding === 'failure') {\n encoding = 'UTF-8'\n }\n\n // 5. Decode bytes using fallback encoding encoding, and\n // return the result.\n return decode(bytes, encoding)\n }\n case 'ArrayBuffer': {\n // Return a new ArrayBuffer whose contents are bytes.\n const sequence = combineByteSequences(bytes)\n\n return sequence.buffer\n }\n case 'BinaryString': {\n // Return bytes as a binary string, in which every byte\n // is represented by a code unit of equal value [0..255].\n let binaryString = ''\n\n const decoder = new StringDecoder('latin1')\n\n for (const chunk of bytes) {\n binaryString += decoder.write(chunk)\n }\n\n binaryString += decoder.end()\n\n return binaryString\n }\n }\n}\n\n/**\n * @see https://encoding.spec.whatwg.org/#decode\n * @param {Uint8Array[]} ioQueue\n * @param {string} encoding\n */\nfunction decode (ioQueue, encoding) {\n const bytes = combineByteSequences(ioQueue)\n\n // 1. Let BOMEncoding be the result of BOM sniffing ioQueue.\n const BOMEncoding = BOMSniffing(bytes)\n\n let slice = 0\n\n // 2. If BOMEncoding is non-null:\n if (BOMEncoding !== null) {\n // 1. Set encoding to BOMEncoding.\n encoding = BOMEncoding\n\n // 2. Read three bytes from ioQueue, if BOMEncoding is\n // UTF-8; otherwise read two bytes.\n // (Do nothing with those bytes.)\n slice = BOMEncoding === 'UTF-8' ? 3 : 2\n }\n\n // 3. Process a queue with an instance of encoding\u2019s\n // decoder, ioQueue, output, and \"replacement\".\n\n // 4. Return output.\n\n const sliced = bytes.slice(slice)\n return new TextDecoder(encoding).decode(sliced)\n}\n\n/**\n * @see https://encoding.spec.whatwg.org/#bom-sniff\n * @param {Uint8Array} ioQueue\n */\nfunction BOMSniffing (ioQueue) {\n // 1. Let BOM be the result of peeking 3 bytes from ioQueue,\n // converted to a byte sequence.\n const [a, b, c] = ioQueue\n\n // 2. For each of the rows in the table below, starting with\n // the first one and going down, if BOM starts with the\n // bytes given in the first column, then return the\n // encoding given in the cell in the second column of that\n // row. Otherwise, return null.\n if (a === 0xEF && b === 0xBB && c === 0xBF) {\n return 'UTF-8'\n } else if (a === 0xFE && b === 0xFF) {\n return 'UTF-16BE'\n } else if (a === 0xFF && b === 0xFE) {\n return 'UTF-16LE'\n }\n\n return null\n}\n\n/**\n * @param {Uint8Array[]} sequences\n */\nfunction combineByteSequences (sequences) {\n const size = sequences.reduce((a, b) => {\n return a + b.byteLength\n }, 0)\n\n let offset = 0\n\n return sequences.reduce((a, b) => {\n a.set(b, offset)\n offset += b.byteLength\n return a\n }, new Uint8Array(size))\n}\n\nmodule.exports = {\n staticPropertyDescriptors,\n readOperation,\n fireAProgressEvent\n}\n", "'use strict'\n\nconst {\n staticPropertyDescriptors,\n readOperation,\n fireAProgressEvent\n} = require('./util')\nconst {\n kState,\n kError,\n kResult,\n kEvents,\n kAborted\n} = require('./symbols')\nconst { webidl } = require('../fetch/webidl')\nconst { kEnumerableProperty } = require('../core/util')\n\nclass FileReader extends EventTarget {\n constructor () {\n super()\n\n this[kState] = 'empty'\n this[kResult] = null\n this[kError] = null\n this[kEvents] = {\n loadend: null,\n error: null,\n abort: null,\n load: null,\n progress: null,\n loadstart: null\n }\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer\n * @param {import('buffer').Blob} blob\n */\n readAsArrayBuffer (blob) {\n webidl.brandCheck(this, FileReader)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FileReader.readAsArrayBuffer' })\n\n blob = webidl.converters.Blob(blob, { strict: false })\n\n // The readAsArrayBuffer(blob) method, when invoked,\n // must initiate a read operation for blob with ArrayBuffer.\n readOperation(this, blob, 'ArrayBuffer')\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#readAsBinaryString\n * @param {import('buffer').Blob} blob\n */\n readAsBinaryString (blob) {\n webidl.brandCheck(this, FileReader)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FileReader.readAsBinaryString' })\n\n blob = webidl.converters.Blob(blob, { strict: false })\n\n // The readAsBinaryString(blob) method, when invoked,\n // must initiate a read operation for blob with BinaryString.\n readOperation(this, blob, 'BinaryString')\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#readAsDataText\n * @param {import('buffer').Blob} blob\n * @param {string?} encoding\n */\n readAsText (blob, encoding = undefined) {\n webidl.brandCheck(this, FileReader)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FileReader.readAsText' })\n\n blob = webidl.converters.Blob(blob, { strict: false })\n\n if (encoding !== undefined) {\n encoding = webidl.converters.DOMString(encoding)\n }\n\n // The readAsText(blob, encoding) method, when invoked,\n // must initiate a read operation for blob with Text and encoding.\n readOperation(this, blob, 'Text', encoding)\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL\n * @param {import('buffer').Blob} blob\n */\n readAsDataURL (blob) {\n webidl.brandCheck(this, FileReader)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FileReader.readAsDataURL' })\n\n blob = webidl.converters.Blob(blob, { strict: false })\n\n // The readAsDataURL(blob) method, when invoked, must\n // initiate a read operation for blob with DataURL.\n readOperation(this, blob, 'DataURL')\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dfn-abort\n */\n abort () {\n // 1. If this's state is \"empty\" or if this's state is\n // \"done\" set this's result to null and terminate\n // this algorithm.\n if (this[kState] === 'empty' || this[kState] === 'done') {\n this[kResult] = null\n return\n }\n\n // 2. If this's state is \"loading\" set this's state to\n // \"done\" and set this's result to null.\n if (this[kState] === 'loading') {\n this[kState] = 'done'\n this[kResult] = null\n }\n\n // 3. If there are any tasks from this on the file reading\n // task source in an affiliated task queue, then remove\n // those tasks from that task queue.\n this[kAborted] = true\n\n // 4. Terminate the algorithm for the read method being processed.\n // TODO\n\n // 5. Fire a progress event called abort at this.\n fireAProgressEvent('abort', this)\n\n // 6. If this's state is not \"loading\", fire a progress\n // event called loadend at this.\n if (this[kState] !== 'loading') {\n fireAProgressEvent('loadend', this)\n }\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate\n */\n get readyState () {\n webidl.brandCheck(this, FileReader)\n\n switch (this[kState]) {\n case 'empty': return this.EMPTY\n case 'loading': return this.LOADING\n case 'done': return this.DONE\n }\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dom-filereader-result\n */\n get result () {\n webidl.brandCheck(this, FileReader)\n\n // The result attribute\u2019s getter, when invoked, must return\n // this's result.\n return this[kResult]\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dom-filereader-error\n */\n get error () {\n webidl.brandCheck(this, FileReader)\n\n // The error attribute\u2019s getter, when invoked, must return\n // this's error.\n return this[kError]\n }\n\n get onloadend () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].loadend\n }\n\n set onloadend (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].loadend) {\n this.removeEventListener('loadend', this[kEvents].loadend)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].loadend = fn\n this.addEventListener('loadend', fn)\n } else {\n this[kEvents].loadend = null\n }\n }\n\n get onerror () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].error\n }\n\n set onerror (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].error) {\n this.removeEventListener('error', this[kEvents].error)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].error = fn\n this.addEventListener('error', fn)\n } else {\n this[kEvents].error = null\n }\n }\n\n get onloadstart () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].loadstart\n }\n\n set onloadstart (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].loadstart) {\n this.removeEventListener('loadstart', this[kEvents].loadstart)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].loadstart = fn\n this.addEventListener('loadstart', fn)\n } else {\n this[kEvents].loadstart = null\n }\n }\n\n get onprogress () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].progress\n }\n\n set onprogress (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].progress) {\n this.removeEventListener('progress', this[kEvents].progress)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].progress = fn\n this.addEventListener('progress', fn)\n } else {\n this[kEvents].progress = null\n }\n }\n\n get onload () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].load\n }\n\n set onload (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].load) {\n this.removeEventListener('load', this[kEvents].load)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].load = fn\n this.addEventListener('load', fn)\n } else {\n this[kEvents].load = null\n }\n }\n\n get onabort () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].abort\n }\n\n set onabort (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].abort) {\n this.removeEventListener('abort', this[kEvents].abort)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].abort = fn\n this.addEventListener('abort', fn)\n } else {\n this[kEvents].abort = null\n }\n }\n}\n\n// https://w3c.github.io/FileAPI/#dom-filereader-empty\nFileReader.EMPTY = FileReader.prototype.EMPTY = 0\n// https://w3c.github.io/FileAPI/#dom-filereader-loading\nFileReader.LOADING = FileReader.prototype.LOADING = 1\n// https://w3c.github.io/FileAPI/#dom-filereader-done\nFileReader.DONE = FileReader.prototype.DONE = 2\n\nObject.defineProperties(FileReader.prototype, {\n EMPTY: staticPropertyDescriptors,\n LOADING: staticPropertyDescriptors,\n DONE: staticPropertyDescriptors,\n readAsArrayBuffer: kEnumerableProperty,\n readAsBinaryString: kEnumerableProperty,\n readAsText: kEnumerableProperty,\n readAsDataURL: kEnumerableProperty,\n abort: kEnumerableProperty,\n readyState: kEnumerableProperty,\n result: kEnumerableProperty,\n error: kEnumerableProperty,\n onloadstart: kEnumerableProperty,\n onprogress: kEnumerableProperty,\n onload: kEnumerableProperty,\n onabort: kEnumerableProperty,\n onerror: kEnumerableProperty,\n onloadend: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: 'FileReader',\n writable: false,\n enumerable: false,\n configurable: true\n }\n})\n\nObject.defineProperties(FileReader, {\n EMPTY: staticPropertyDescriptors,\n LOADING: staticPropertyDescriptors,\n DONE: staticPropertyDescriptors\n})\n\nmodule.exports = {\n FileReader\n}\n", "'use strict'\n\nmodule.exports = {\n kConstruct: Symbol('constructable')\n}\n", "'use strict'\n\nconst assert = require('assert')\nconst { URLSerializer } = require('../fetch/dataURL')\nconst { isValidHeaderName } = require('../fetch/util')\n\n/**\n * @see https://url.spec.whatwg.org/#concept-url-equals\n * @param {URL} A\n * @param {URL} B\n * @param {boolean | undefined} excludeFragment\n * @returns {boolean}\n */\nfunction urlEquals (A, B, excludeFragment = false) {\n const serializedA = URLSerializer(A, excludeFragment)\n\n const serializedB = URLSerializer(B, excludeFragment)\n\n return serializedA === serializedB\n}\n\n/**\n * @see https://github.com/chromium/chromium/blob/694d20d134cb553d8d89e5500b9148012b1ba299/content/browser/cache_storage/cache_storage_cache.cc#L260-L262\n * @param {string} header\n */\nfunction fieldValues (header) {\n assert(header !== null)\n\n const values = []\n\n for (let value of header.split(',')) {\n value = value.trim()\n\n if (!value.length) {\n continue\n } else if (!isValidHeaderName(value)) {\n continue\n }\n\n values.push(value)\n }\n\n return values\n}\n\nmodule.exports = {\n urlEquals,\n fieldValues\n}\n", "'use strict'\n\nconst { kConstruct } = require('./symbols')\nconst { urlEquals, fieldValues: getFieldValues } = require('./util')\nconst { kEnumerableProperty, isDisturbed } = require('../core/util')\nconst { kHeadersList } = require('../core/symbols')\nconst { webidl } = require('../fetch/webidl')\nconst { Response, cloneResponse } = require('../fetch/response')\nconst { Request } = require('../fetch/request')\nconst { kState, kHeaders, kGuard, kRealm } = require('../fetch/symbols')\nconst { fetching } = require('../fetch/index')\nconst { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require('../fetch/util')\nconst assert = require('assert')\nconst { getGlobalDispatcher } = require('../global')\n\n/**\n * @see https://w3c.github.io/ServiceWorker/#dfn-cache-batch-operation\n * @typedef {Object} CacheBatchOperation\n * @property {'delete' | 'put'} type\n * @property {any} request\n * @property {any} response\n * @property {import('../../types/cache').CacheQueryOptions} options\n */\n\n/**\n * @see https://w3c.github.io/ServiceWorker/#dfn-request-response-list\n * @typedef {[any, any][]} requestResponseList\n */\n\nclass Cache {\n /**\n * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list\n * @type {requestResponseList}\n */\n #relevantRequestResponseList\n\n constructor () {\n if (arguments[0] !== kConstruct) {\n webidl.illegalConstructor()\n }\n\n this.#relevantRequestResponseList = arguments[1]\n }\n\n async match (request, options = {}) {\n webidl.brandCheck(this, Cache)\n webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.match' })\n\n request = webidl.converters.RequestInfo(request)\n options = webidl.converters.CacheQueryOptions(options)\n\n const p = await this.matchAll(request, options)\n\n if (p.length === 0) {\n return\n }\n\n return p[0]\n }\n\n async matchAll (request = undefined, options = {}) {\n webidl.brandCheck(this, Cache)\n\n if (request !== undefined) request = webidl.converters.RequestInfo(request)\n options = webidl.converters.CacheQueryOptions(options)\n\n // 1.\n let r = null\n\n // 2.\n if (request !== undefined) {\n if (request instanceof Request) {\n // 2.1.1\n r = request[kState]\n\n // 2.1.2\n if (r.method !== 'GET' && !options.ignoreMethod) {\n return []\n }\n } else if (typeof request === 'string') {\n // 2.2.1\n r = new Request(request)[kState]\n }\n }\n\n // 5.\n // 5.1\n const responses = []\n\n // 5.2\n if (request === undefined) {\n // 5.2.1\n for (const requestResponse of this.#relevantRequestResponseList) {\n responses.push(requestResponse[1])\n }\n } else { // 5.3\n // 5.3.1\n const requestResponses = this.#queryCache(r, options)\n\n // 5.3.2\n for (const requestResponse of requestResponses) {\n responses.push(requestResponse[1])\n }\n }\n\n // 5.4\n // We don't implement CORs so we don't need to loop over the responses, yay!\n\n // 5.5.1\n const responseList = []\n\n // 5.5.2\n for (const response of responses) {\n // 5.5.2.1\n const responseObject = new Response(response.body?.source ?? null)\n const body = responseObject[kState].body\n responseObject[kState] = response\n responseObject[kState].body = body\n responseObject[kHeaders][kHeadersList] = response.headersList\n responseObject[kHeaders][kGuard] = 'immutable'\n\n responseList.push(responseObject)\n }\n\n // 6.\n return Object.freeze(responseList)\n }\n\n async add (request) {\n webidl.brandCheck(this, Cache)\n webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.add' })\n\n request = webidl.converters.RequestInfo(request)\n\n // 1.\n const requests = [request]\n\n // 2.\n const responseArrayPromise = this.addAll(requests)\n\n // 3.\n return await responseArrayPromise\n }\n\n async addAll (requests) {\n webidl.brandCheck(this, Cache)\n webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.addAll' })\n\n requests = webidl.converters['sequence<RequestInfo>'](requests)\n\n // 1.\n const responsePromises = []\n\n // 2.\n const requestList = []\n\n // 3.\n for (const request of requests) {\n if (typeof request === 'string') {\n continue\n }\n\n // 3.1\n const r = request[kState]\n\n // 3.2\n if (!urlIsHttpHttpsScheme(r.url) || r.method !== 'GET') {\n throw webidl.errors.exception({\n header: 'Cache.addAll',\n message: 'Expected http/s scheme when method is not GET.'\n })\n }\n }\n\n // 4.\n /** @type {ReturnType<typeof fetching>[]} */\n const fetchControllers = []\n\n // 5.\n for (const request of requests) {\n // 5.1\n const r = new Request(request)[kState]\n\n // 5.2\n if (!urlIsHttpHttpsScheme(r.url)) {\n throw webidl.errors.exception({\n header: 'Cache.addAll',\n message: 'Expected http/s scheme.'\n })\n }\n\n // 5.4\n r.initiator = 'fetch'\n r.destination = 'subresource'\n\n // 5.5\n requestList.push(r)\n\n // 5.6\n const responsePromise = createDeferredPromise()\n\n // 5.7\n fetchControllers.push(fetching({\n request: r,\n dispatcher: getGlobalDispatcher(),\n processResponse (response) {\n // 1.\n if (response.type === 'error' || response.status === 206 || response.status < 200 || response.status > 299) {\n responsePromise.reject(webidl.errors.exception({\n header: 'Cache.addAll',\n message: 'Received an invalid status code or the request failed.'\n }))\n } else if (response.headersList.contains('vary')) { // 2.\n // 2.1\n const fieldValues = getFieldValues(response.headersList.get('vary'))\n\n // 2.2\n for (const fieldValue of fieldValues) {\n // 2.2.1\n if (fieldValue === '*') {\n responsePromise.reject(webidl.errors.exception({\n header: 'Cache.addAll',\n message: 'invalid vary field value'\n }))\n\n for (const controller of fetchControllers) {\n controller.abort()\n }\n\n return\n }\n }\n }\n },\n processResponseEndOfBody (response) {\n // 1.\n if (response.aborted) {\n responsePromise.reject(new DOMException('aborted', 'AbortError'))\n return\n }\n\n // 2.\n responsePromise.resolve(response)\n }\n }))\n\n // 5.8\n responsePromises.push(responsePromise.promise)\n }\n\n // 6.\n const p = Promise.all(responsePromises)\n\n // 7.\n const responses = await p\n\n // 7.1\n const operations = []\n\n // 7.2\n let index = 0\n\n // 7.3\n for (const response of responses) {\n // 7.3.1\n /** @type {CacheBatchOperation} */\n const operation = {\n type: 'put', // 7.3.2\n request: requestList[index], // 7.3.3\n response // 7.3.4\n }\n\n operations.push(operation) // 7.3.5\n\n index++ // 7.3.6\n }\n\n // 7.5\n const cacheJobPromise = createDeferredPromise()\n\n // 7.6.1\n let errorData = null\n\n // 7.6.2\n try {\n this.#batchCacheOperations(operations)\n } catch (e) {\n errorData = e\n }\n\n // 7.6.3\n queueMicrotask(() => {\n // 7.6.3.1\n if (errorData === null) {\n cacheJobPromise.resolve(undefined)\n } else {\n // 7.6.3.2\n cacheJobPromise.reject(errorData)\n }\n })\n\n // 7.7\n return cacheJobPromise.promise\n }\n\n async put (request, response) {\n webidl.brandCheck(this, Cache)\n webidl.argumentLengthCheck(arguments, 2, { header: 'Cache.put' })\n\n request = webidl.converters.RequestInfo(request)\n response = webidl.converters.Response(response)\n\n // 1.\n let innerRequest = null\n\n // 2.\n if (request instanceof Request) {\n innerRequest = request[kState]\n } else { // 3.\n innerRequest = new Request(request)[kState]\n }\n\n // 4.\n if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== 'GET') {\n throw webidl.errors.exception({\n header: 'Cache.put',\n message: 'Expected an http/s scheme when method is not GET'\n })\n }\n\n // 5.\n const innerResponse = response[kState]\n\n // 6.\n if (innerResponse.status === 206) {\n throw webidl.errors.exception({\n header: 'Cache.put',\n message: 'Got 206 status'\n })\n }\n\n // 7.\n if (innerResponse.headersList.contains('vary')) {\n // 7.1.\n const fieldValues = getFieldValues(innerResponse.headersList.get('vary'))\n\n // 7.2.\n for (const fieldValue of fieldValues) {\n // 7.2.1\n if (fieldValue === '*') {\n throw webidl.errors.exception({\n header: 'Cache.put',\n message: 'Got * vary field value'\n })\n }\n }\n }\n\n // 8.\n if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {\n throw webidl.errors.exception({\n header: 'Cache.put',\n message: 'Response body is locked or disturbed'\n })\n }\n\n // 9.\n const clonedResponse = cloneResponse(innerResponse)\n\n // 10.\n const bodyReadPromise = createDeferredPromise()\n\n // 11.\n if (innerResponse.body != null) {\n // 11.1\n const stream = innerResponse.body.stream\n\n // 11.2\n const reader = stream.getReader()\n\n // 11.3\n readAllBytes(\n reader,\n (bytes) => bodyReadPromise.resolve(bytes),\n (error) => bodyReadPromise.reject(error)\n )\n } else {\n bodyReadPromise.resolve(undefined)\n }\n\n // 12.\n /** @type {CacheBatchOperation[]} */\n const operations = []\n\n // 13.\n /** @type {CacheBatchOperation} */\n const operation = {\n type: 'put', // 14.\n request: innerRequest, // 15.\n response: clonedResponse // 16.\n }\n\n // 17.\n operations.push(operation)\n\n // 19.\n const bytes = await bodyReadPromise.promise\n\n if (clonedResponse.body != null) {\n clonedResponse.body.source = bytes\n }\n\n // 19.1\n const cacheJobPromise = createDeferredPromise()\n\n // 19.2.1\n let errorData = null\n\n // 19.2.2\n try {\n this.#batchCacheOperations(operations)\n } catch (e) {\n errorData = e\n }\n\n // 19.2.3\n queueMicrotask(() => {\n // 19.2.3.1\n if (errorData === null) {\n cacheJobPromise.resolve()\n } else { // 19.2.3.2\n cacheJobPromise.reject(errorData)\n }\n })\n\n return cacheJobPromise.promise\n }\n\n async delete (request, options = {}) {\n webidl.brandCheck(this, Cache)\n webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.delete' })\n\n request = webidl.converters.RequestInfo(request)\n options = webidl.converters.CacheQueryOptions(options)\n\n /**\n * @type {Request}\n */\n let r = null\n\n if (request instanceof Request) {\n r = request[kState]\n\n if (r.method !== 'GET' && !options.ignoreMethod) {\n return false\n }\n } else {\n assert(typeof request === 'string')\n\n r = new Request(request)[kState]\n }\n\n /** @type {CacheBatchOperation[]} */\n const operations = []\n\n /** @type {CacheBatchOperation} */\n const operation = {\n type: 'delete',\n request: r,\n options\n }\n\n operations.push(operation)\n\n const cacheJobPromise = createDeferredPromise()\n\n let errorData = null\n let requestResponses\n\n try {\n requestResponses = this.#batchCacheOperations(operations)\n } catch (e) {\n errorData = e\n }\n\n queueMicrotask(() => {\n if (errorData === null) {\n cacheJobPromise.resolve(!!requestResponses?.length)\n } else {\n cacheJobPromise.reject(errorData)\n }\n })\n\n return cacheJobPromise.promise\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys\n * @param {any} request\n * @param {import('../../types/cache').CacheQueryOptions} options\n * @returns {readonly Request[]}\n */\n async keys (request = undefined, options = {}) {\n webidl.brandCheck(this, Cache)\n\n if (request !== undefined) request = webidl.converters.RequestInfo(request)\n options = webidl.converters.CacheQueryOptions(options)\n\n // 1.\n let r = null\n\n // 2.\n if (request !== undefined) {\n // 2.1\n if (request instanceof Request) {\n // 2.1.1\n r = request[kState]\n\n // 2.1.2\n if (r.method !== 'GET' && !options.ignoreMethod) {\n return []\n }\n } else if (typeof request === 'string') { // 2.2\n r = new Request(request)[kState]\n }\n }\n\n // 4.\n const promise = createDeferredPromise()\n\n // 5.\n // 5.1\n const requests = []\n\n // 5.2\n if (request === undefined) {\n // 5.2.1\n for (const requestResponse of this.#relevantRequestResponseList) {\n // 5.2.1.1\n requests.push(requestResponse[0])\n }\n } else { // 5.3\n // 5.3.1\n const requestResponses = this.#queryCache(r, options)\n\n // 5.3.2\n for (const requestResponse of requestResponses) {\n // 5.3.2.1\n requests.push(requestResponse[0])\n }\n }\n\n // 5.4\n queueMicrotask(() => {\n // 5.4.1\n const requestList = []\n\n // 5.4.2\n for (const request of requests) {\n const requestObject = new Request('https://a')\n requestObject[kState] = request\n requestObject[kHeaders][kHeadersList] = request.headersList\n requestObject[kHeaders][kGuard] = 'immutable'\n requestObject[kRealm] = request.client\n\n // 5.4.2.1\n requestList.push(requestObject)\n }\n\n // 5.4.3\n promise.resolve(Object.freeze(requestList))\n })\n\n return promise.promise\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm\n * @param {CacheBatchOperation[]} operations\n * @returns {requestResponseList}\n */\n #batchCacheOperations (operations) {\n // 1.\n const cache = this.#relevantRequestResponseList\n\n // 2.\n const backupCache = [...cache]\n\n // 3.\n const addedItems = []\n\n // 4.1\n const resultList = []\n\n try {\n // 4.2\n for (const operation of operations) {\n // 4.2.1\n if (operation.type !== 'delete' && operation.type !== 'put') {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'operation type does not match \"delete\" or \"put\"'\n })\n }\n\n // 4.2.2\n if (operation.type === 'delete' && operation.response != null) {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'delete operation should not have an associated response'\n })\n }\n\n // 4.2.3\n if (this.#queryCache(operation.request, operation.options, addedItems).length) {\n throw new DOMException('???', 'InvalidStateError')\n }\n\n // 4.2.4\n let requestResponses\n\n // 4.2.5\n if (operation.type === 'delete') {\n // 4.2.5.1\n requestResponses = this.#queryCache(operation.request, operation.options)\n\n // TODO: the spec is wrong, this is needed to pass WPTs\n if (requestResponses.length === 0) {\n return []\n }\n\n // 4.2.5.2\n for (const requestResponse of requestResponses) {\n const idx = cache.indexOf(requestResponse)\n assert(idx !== -1)\n\n // 4.2.5.2.1\n cache.splice(idx, 1)\n }\n } else if (operation.type === 'put') { // 4.2.6\n // 4.2.6.1\n if (operation.response == null) {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'put operation should have an associated response'\n })\n }\n\n // 4.2.6.2\n const r = operation.request\n\n // 4.2.6.3\n if (!urlIsHttpHttpsScheme(r.url)) {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'expected http or https scheme'\n })\n }\n\n // 4.2.6.4\n if (r.method !== 'GET') {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'not get method'\n })\n }\n\n // 4.2.6.5\n if (operation.options != null) {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'options must not be defined'\n })\n }\n\n // 4.2.6.6\n requestResponses = this.#queryCache(operation.request)\n\n // 4.2.6.7\n for (const requestResponse of requestResponses) {\n const idx = cache.indexOf(requestResponse)\n assert(idx !== -1)\n\n // 4.2.6.7.1\n cache.splice(idx, 1)\n }\n\n // 4.2.6.8\n cache.push([operation.request, operation.response])\n\n // 4.2.6.10\n addedItems.push([operation.request, operation.response])\n }\n\n // 4.2.7\n resultList.push([operation.request, operation.response])\n }\n\n // 4.3\n return resultList\n } catch (e) { // 5.\n // 5.1\n this.#relevantRequestResponseList.length = 0\n\n // 5.2\n this.#relevantRequestResponseList = backupCache\n\n // 5.3\n throw e\n }\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#query-cache\n * @param {any} requestQuery\n * @param {import('../../types/cache').CacheQueryOptions} options\n * @param {requestResponseList} targetStorage\n * @returns {requestResponseList}\n */\n #queryCache (requestQuery, options, targetStorage) {\n /** @type {requestResponseList} */\n const resultList = []\n\n const storage = targetStorage ?? this.#relevantRequestResponseList\n\n for (const requestResponse of storage) {\n const [cachedRequest, cachedResponse] = requestResponse\n if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {\n resultList.push(requestResponse)\n }\n }\n\n return resultList\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm\n * @param {any} requestQuery\n * @param {any} request\n * @param {any | null} response\n * @param {import('../../types/cache').CacheQueryOptions | undefined} options\n * @returns {boolean}\n */\n #requestMatchesCachedItem (requestQuery, request, response = null, options) {\n // if (options?.ignoreMethod === false && request.method === 'GET') {\n // return false\n // }\n\n const queryURL = new URL(requestQuery.url)\n\n const cachedURL = new URL(request.url)\n\n if (options?.ignoreSearch) {\n cachedURL.search = ''\n\n queryURL.search = ''\n }\n\n if (!urlEquals(queryURL, cachedURL, true)) {\n return false\n }\n\n if (\n response == null ||\n options?.ignoreVary ||\n !response.headersList.contains('vary')\n ) {\n return true\n }\n\n const fieldValues = getFieldValues(response.headersList.get('vary'))\n\n for (const fieldValue of fieldValues) {\n if (fieldValue === '*') {\n return false\n }\n\n const requestValue = request.headersList.get(fieldValue)\n const queryValue = requestQuery.headersList.get(fieldValue)\n\n // If one has the header and the other doesn't, or one has\n // a different value than the other, return false\n if (requestValue !== queryValue) {\n return false\n }\n }\n\n return true\n }\n}\n\nObject.defineProperties(Cache.prototype, {\n [Symbol.toStringTag]: {\n value: 'Cache',\n configurable: true\n },\n match: kEnumerableProperty,\n matchAll: kEnumerableProperty,\n add: kEnumerableProperty,\n addAll: kEnumerableProperty,\n put: kEnumerableProperty,\n delete: kEnumerableProperty,\n keys: kEnumerableProperty\n})\n\nconst cacheQueryOptionConverters = [\n {\n key: 'ignoreSearch',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'ignoreMethod',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'ignoreVary',\n converter: webidl.converters.boolean,\n defaultValue: false\n }\n]\n\nwebidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters)\n\nwebidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([\n ...cacheQueryOptionConverters,\n {\n key: 'cacheName',\n converter: webidl.converters.DOMString\n }\n])\n\nwebidl.converters.Response = webidl.interfaceConverter(Response)\n\nwebidl.converters['sequence<RequestInfo>'] = webidl.sequenceConverter(\n webidl.converters.RequestInfo\n)\n\nmodule.exports = {\n Cache\n}\n", "'use strict'\n\nconst { kConstruct } = require('./symbols')\nconst { Cache } = require('./cache')\nconst { webidl } = require('../fetch/webidl')\nconst { kEnumerableProperty } = require('../core/util')\n\nclass CacheStorage {\n /**\n * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map\n * @type {Map<string, import('./cache').requestResponseList}\n */\n #caches = new Map()\n\n constructor () {\n if (arguments[0] !== kConstruct) {\n webidl.illegalConstructor()\n }\n }\n\n async match (request, options = {}) {\n webidl.brandCheck(this, CacheStorage)\n webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.match' })\n\n request = webidl.converters.RequestInfo(request)\n options = webidl.converters.MultiCacheQueryOptions(options)\n\n // 1.\n if (options.cacheName != null) {\n // 1.1.1.1\n if (this.#caches.has(options.cacheName)) {\n // 1.1.1.1.1\n const cacheList = this.#caches.get(options.cacheName)\n const cache = new Cache(kConstruct, cacheList)\n\n return await cache.match(request, options)\n }\n } else { // 2.\n // 2.2\n for (const cacheList of this.#caches.values()) {\n const cache = new Cache(kConstruct, cacheList)\n\n // 2.2.1.2\n const response = await cache.match(request, options)\n\n if (response !== undefined) {\n return response\n }\n }\n }\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#cache-storage-has\n * @param {string} cacheName\n * @returns {Promise<boolean>}\n */\n async has (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.has' })\n\n cacheName = webidl.converters.DOMString(cacheName)\n\n // 2.1.1\n // 2.2\n return this.#caches.has(cacheName)\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open\n * @param {string} cacheName\n * @returns {Promise<Cache>}\n */\n async open (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.open' })\n\n cacheName = webidl.converters.DOMString(cacheName)\n\n // 2.1\n if (this.#caches.has(cacheName)) {\n // await caches.open('v1') !== await caches.open('v1')\n\n // 2.1.1\n const cache = this.#caches.get(cacheName)\n\n // 2.1.1.1\n return new Cache(kConstruct, cache)\n }\n\n // 2.2\n const cache = []\n\n // 2.3\n this.#caches.set(cacheName, cache)\n\n // 2.4\n return new Cache(kConstruct, cache)\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete\n * @param {string} cacheName\n * @returns {Promise<boolean>}\n */\n async delete (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.delete' })\n\n cacheName = webidl.converters.DOMString(cacheName)\n\n return this.#caches.delete(cacheName)\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys\n * @returns {string[]}\n */\n async keys () {\n webidl.brandCheck(this, CacheStorage)\n\n // 2.1\n const keys = this.#caches.keys()\n\n // 2.2\n return [...keys]\n }\n}\n\nObject.defineProperties(CacheStorage.prototype, {\n [Symbol.toStringTag]: {\n value: 'CacheStorage',\n configurable: true\n },\n match: kEnumerableProperty,\n has: kEnumerableProperty,\n open: kEnumerableProperty,\n delete: kEnumerableProperty,\n keys: kEnumerableProperty\n})\n\nmodule.exports = {\n CacheStorage\n}\n", "'use strict'\n\n// https://wicg.github.io/cookie-store/#cookie-maximum-attribute-value-size\nconst maxAttributeValueSize = 1024\n\n// https://wicg.github.io/cookie-store/#cookie-maximum-name-value-pair-size\nconst maxNameValuePairSize = 4096\n\nmodule.exports = {\n maxAttributeValueSize,\n maxNameValuePairSize\n}\n", "'use strict'\n\nconst assert = require('assert')\nconst { kHeadersList } = require('../core/symbols')\n\nfunction isCTLExcludingHtab (value) {\n if (value.length === 0) {\n return false\n }\n\n for (const char of value) {\n const code = char.charCodeAt(0)\n\n if (\n (code >= 0x00 || code <= 0x08) ||\n (code >= 0x0A || code <= 0x1F) ||\n code === 0x7F\n ) {\n return false\n }\n }\n}\n\n/**\n CHAR = <any US-ASCII character (octets 0 - 127)>\n token = 1*<any CHAR except CTLs or separators>\n separators = \"(\" | \")\" | \"<\" | \">\" | \"@\"\n | \",\" | \";\" | \":\" | \"\\\" | <\">\n | \"/\" | \"[\" | \"]\" | \"?\" | \"=\"\n | \"{\" | \"}\" | SP | HT\n * @param {string} name\n */\nfunction validateCookieName (name) {\n for (const char of name) {\n const code = char.charCodeAt(0)\n\n if (\n (code <= 0x20 || code > 0x7F) ||\n char === '(' ||\n char === ')' ||\n char === '>' ||\n char === '<' ||\n char === '@' ||\n char === ',' ||\n char === ';' ||\n char === ':' ||\n char === '\\\\' ||\n char === '\"' ||\n char === '/' ||\n char === '[' ||\n char === ']' ||\n char === '?' ||\n char === '=' ||\n char === '{' ||\n char === '}'\n ) {\n throw new Error('Invalid cookie name')\n }\n }\n}\n\n/**\n cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )\n cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E\n ; US-ASCII characters excluding CTLs,\n ; whitespace DQUOTE, comma, semicolon,\n ; and backslash\n * @param {string} value\n */\nfunction validateCookieValue (value) {\n for (const char of value) {\n const code = char.charCodeAt(0)\n\n if (\n code < 0x21 || // exclude CTLs (0-31)\n code === 0x22 ||\n code === 0x2C ||\n code === 0x3B ||\n code === 0x5C ||\n code > 0x7E // non-ascii\n ) {\n throw new Error('Invalid header value')\n }\n }\n}\n\n/**\n * path-value = <any CHAR except CTLs or \";\">\n * @param {string} path\n */\nfunction validateCookiePath (path) {\n for (const char of path) {\n const code = char.charCodeAt(0)\n\n if (code < 0x21 || char === ';') {\n throw new Error('Invalid cookie path')\n }\n }\n}\n\n/**\n * I have no idea why these values aren't allowed to be honest,\n * but Deno tests these. - Khafra\n * @param {string} domain\n */\nfunction validateCookieDomain (domain) {\n if (\n domain.startsWith('-') ||\n domain.endsWith('.') ||\n domain.endsWith('-')\n ) {\n throw new Error('Invalid cookie domain')\n }\n}\n\n/**\n * @see https://www.rfc-editor.org/rfc/rfc7231#section-7.1.1.1\n * @param {number|Date} date\n IMF-fixdate = day-name \",\" SP date1 SP time-of-day SP GMT\n ; fixed length/zone/capitalization subset of the format\n ; see Section 3.3 of [RFC5322]\n\n day-name = %x4D.6F.6E ; \"Mon\", case-sensitive\n / %x54.75.65 ; \"Tue\", case-sensitive\n / %x57.65.64 ; \"Wed\", case-sensitive\n / %x54.68.75 ; \"Thu\", case-sensitive\n / %x46.72.69 ; \"Fri\", case-sensitive\n / %x53.61.74 ; \"Sat\", case-sensitive\n / %x53.75.6E ; \"Sun\", case-sensitive\n date1 = day SP month SP year\n ; e.g., 02 Jun 1982\n\n day = 2DIGIT\n month = %x4A.61.6E ; \"Jan\", case-sensitive\n / %x46.65.62 ; \"Feb\", case-sensitive\n / %x4D.61.72 ; \"Mar\", case-sensitive\n / %x41.70.72 ; \"Apr\", case-sensitive\n / %x4D.61.79 ; \"May\", case-sensitive\n / %x4A.75.6E ; \"Jun\", case-sensitive\n / %x4A.75.6C ; \"Jul\", case-sensitive\n / %x41.75.67 ; \"Aug\", case-sensitive\n / %x53.65.70 ; \"Sep\", case-sensitive\n / %x4F.63.74 ; \"Oct\", case-sensitive\n / %x4E.6F.76 ; \"Nov\", case-sensitive\n / %x44.65.63 ; \"Dec\", case-sensitive\n year = 4DIGIT\n\n GMT = %x47.4D.54 ; \"GMT\", case-sensitive\n\n time-of-day = hour \":\" minute \":\" second\n ; 00:00:00 - 23:59:60 (leap second)\n\n hour = 2DIGIT\n minute = 2DIGIT\n second = 2DIGIT\n */\nfunction toIMFDate (date) {\n if (typeof date === 'number') {\n date = new Date(date)\n }\n\n const days = [\n 'Sun', 'Mon', 'Tue', 'Wed',\n 'Thu', 'Fri', 'Sat'\n ]\n\n const months = [\n 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',\n 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'\n ]\n\n const dayName = days[date.getUTCDay()]\n const day = date.getUTCDate().toString().padStart(2, '0')\n const month = months[date.getUTCMonth()]\n const year = date.getUTCFullYear()\n const hour = date.getUTCHours().toString().padStart(2, '0')\n const minute = date.getUTCMinutes().toString().padStart(2, '0')\n const second = date.getUTCSeconds().toString().padStart(2, '0')\n\n return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`\n}\n\n/**\n max-age-av = \"Max-Age=\" non-zero-digit *DIGIT\n ; In practice, both expires-av and max-age-av\n ; are limited to dates representable by the\n ; user agent.\n * @param {number} maxAge\n */\nfunction validateCookieMaxAge (maxAge) {\n if (maxAge < 0) {\n throw new Error('Invalid cookie max-age')\n }\n}\n\n/**\n * @see https://www.rfc-editor.org/rfc/rfc6265#section-4.1.1\n * @param {import('./index').Cookie} cookie\n */\nfunction stringify (cookie) {\n if (cookie.name.length === 0) {\n return null\n }\n\n validateCookieName(cookie.name)\n validateCookieValue(cookie.value)\n\n const out = [`${cookie.name}=${cookie.value}`]\n\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-cookie-prefixes-00#section-3.1\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-cookie-prefixes-00#section-3.2\n if (cookie.name.startsWith('__Secure-')) {\n cookie.secure = true\n }\n\n if (cookie.name.startsWith('__Host-')) {\n cookie.secure = true\n cookie.domain = null\n cookie.path = '/'\n }\n\n if (cookie.secure) {\n out.push('Secure')\n }\n\n if (cookie.httpOnly) {\n out.push('HttpOnly')\n }\n\n if (typeof cookie.maxAge === 'number') {\n validateCookieMaxAge(cookie.maxAge)\n out.push(`Max-Age=${cookie.maxAge}`)\n }\n\n if (cookie.domain) {\n validateCookieDomain(cookie.domain)\n out.push(`Domain=${cookie.domain}`)\n }\n\n if (cookie.path) {\n validateCookiePath(cookie.path)\n out.push(`Path=${cookie.path}`)\n }\n\n if (cookie.expires && cookie.expires.toString() !== 'Invalid Date') {\n out.push(`Expires=${toIMFDate(cookie.expires)}`)\n }\n\n if (cookie.sameSite) {\n out.push(`SameSite=${cookie.sameSite}`)\n }\n\n for (const part of cookie.unparsed) {\n if (!part.includes('=')) {\n throw new Error('Invalid unparsed')\n }\n\n const [key, ...value] = part.split('=')\n\n out.push(`${key.trim()}=${value.join('=')}`)\n }\n\n return out.join('; ')\n}\n\nlet kHeadersListNode\n\nfunction getHeadersList (headers) {\n if (headers[kHeadersList]) {\n return headers[kHeadersList]\n }\n\n if (!kHeadersListNode) {\n kHeadersListNode = Object.getOwnPropertySymbols(headers).find(\n (symbol) => symbol.description === 'headers list'\n )\n\n assert(kHeadersListNode, 'Headers cannot be parsed')\n }\n\n const headersList = headers[kHeadersListNode]\n assert(headersList)\n\n return headersList\n}\n\nmodule.exports = {\n isCTLExcludingHtab,\n stringify,\n getHeadersList\n}\n", "'use strict'\n\nconst { maxNameValuePairSize, maxAttributeValueSize } = require('./constants')\nconst { isCTLExcludingHtab } = require('./util')\nconst { collectASequenceOfCodePointsFast } = require('../fetch/dataURL')\nconst assert = require('assert')\n\n/**\n * @description Parses the field-value attributes of a set-cookie header string.\n * @see https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4\n * @param {string} header\n * @returns if the header is invalid, null will be returned\n */\nfunction parseSetCookie (header) {\n // 1. If the set-cookie-string contains a %x00-08 / %x0A-1F / %x7F\n // character (CTL characters excluding HTAB): Abort these steps and\n // ignore the set-cookie-string entirely.\n if (isCTLExcludingHtab(header)) {\n return null\n }\n\n let nameValuePair = ''\n let unparsedAttributes = ''\n let name = ''\n let value = ''\n\n // 2. If the set-cookie-string contains a %x3B (\";\") character:\n if (header.includes(';')) {\n // 1. The name-value-pair string consists of the characters up to,\n // but not including, the first %x3B (\";\"), and the unparsed-\n // attributes consist of the remainder of the set-cookie-string\n // (including the %x3B (\";\") in question).\n const position = { position: 0 }\n\n nameValuePair = collectASequenceOfCodePointsFast(';', header, position)\n unparsedAttributes = header.slice(position.position)\n } else {\n // Otherwise:\n\n // 1. The name-value-pair string consists of all the characters\n // contained in the set-cookie-string, and the unparsed-\n // attributes is the empty string.\n nameValuePair = header\n }\n\n // 3. If the name-value-pair string lacks a %x3D (\"=\") character, then\n // the name string is empty, and the value string is the value of\n // name-value-pair.\n if (!nameValuePair.includes('=')) {\n value = nameValuePair\n } else {\n // Otherwise, the name string consists of the characters up to, but\n // not including, the first %x3D (\"=\") character, and the (possibly\n // empty) value string consists of the characters after the first\n // %x3D (\"=\") character.\n const position = { position: 0 }\n name = collectASequenceOfCodePointsFast(\n '=',\n nameValuePair,\n position\n )\n value = nameValuePair.slice(position.position + 1)\n }\n\n // 4. Remove any leading or trailing WSP characters from the name\n // string and the value string.\n name = name.trim()\n value = value.trim()\n\n // 5. If the sum of the lengths of the name string and the value string\n // is more than 4096 octets, abort these steps and ignore the set-\n // cookie-string entirely.\n if (name.length + value.length > maxNameValuePairSize) {\n return null\n }\n\n // 6. The cookie-name is the name string, and the cookie-value is the\n // value string.\n return {\n name, value, ...parseUnparsedAttributes(unparsedAttributes)\n }\n}\n\n/**\n * Parses the remaining attributes of a set-cookie header\n * @see https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4\n * @param {string} unparsedAttributes\n * @param {[Object.<string, unknown>]={}} cookieAttributeList\n */\nfunction parseUnparsedAttributes (unparsedAttributes, cookieAttributeList = {}) {\n // 1. If the unparsed-attributes string is empty, skip the rest of\n // these steps.\n if (unparsedAttributes.length === 0) {\n return cookieAttributeList\n }\n\n // 2. Discard the first character of the unparsed-attributes (which\n // will be a %x3B (\";\") character).\n assert(unparsedAttributes[0] === ';')\n unparsedAttributes = unparsedAttributes.slice(1)\n\n let cookieAv = ''\n\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n if (unparsedAttributes.includes(';')) {\n // 1. Consume the characters of the unparsed-attributes up to, but\n // not including, the first %x3B (\";\") character.\n cookieAv = collectASequenceOfCodePointsFast(\n ';',\n unparsedAttributes,\n { position: 0 }\n )\n unparsedAttributes = unparsedAttributes.slice(cookieAv.length)\n } else {\n // Otherwise:\n\n // 1. Consume the remainder of the unparsed-attributes.\n cookieAv = unparsedAttributes\n unparsedAttributes = ''\n }\n\n // Let the cookie-av string be the characters consumed in this step.\n\n let attributeName = ''\n let attributeValue = ''\n\n // 4. If the cookie-av string contains a %x3D (\"=\") character:\n if (cookieAv.includes('=')) {\n // 1. The (possibly empty) attribute-name string consists of the\n // characters up to, but not including, the first %x3D (\"=\")\n // character, and the (possibly empty) attribute-value string\n // consists of the characters after the first %x3D (\"=\")\n // character.\n const position = { position: 0 }\n\n attributeName = collectASequenceOfCodePointsFast(\n '=',\n cookieAv,\n position\n )\n attributeValue = cookieAv.slice(position.position + 1)\n } else {\n // Otherwise:\n\n // 1. The attribute-name string consists of the entire cookie-av\n // string, and the attribute-value string is empty.\n attributeName = cookieAv\n }\n\n // 5. Remove any leading or trailing WSP characters from the attribute-\n // name string and the attribute-value string.\n attributeName = attributeName.trim()\n attributeValue = attributeValue.trim()\n\n // 6. If the attribute-value is longer than 1024 octets, ignore the\n // cookie-av string and return to Step 1 of this algorithm.\n if (attributeValue.length > maxAttributeValueSize) {\n return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList)\n }\n\n // 7. Process the attribute-name and attribute-value according to the\n // requirements in the following subsections. (Notice that\n // attributes with unrecognized attribute-names are ignored.)\n const attributeNameLowercase = attributeName.toLowerCase()\n\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.1\n // If the attribute-name case-insensitively matches the string\n // \"Expires\", the user agent MUST process the cookie-av as follows.\n if (attributeNameLowercase === 'expires') {\n // 1. Let the expiry-time be the result of parsing the attribute-value\n // as cookie-date (see Section 5.1.1).\n const expiryTime = new Date(attributeValue)\n\n // 2. If the attribute-value failed to parse as a cookie date, ignore\n // the cookie-av.\n\n cookieAttributeList.expires = expiryTime\n } else if (attributeNameLowercase === 'max-age') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.2\n // If the attribute-name case-insensitively matches the string \"Max-\n // Age\", the user agent MUST process the cookie-av as follows.\n\n // 1. If the first character of the attribute-value is not a DIGIT or a\n // \"-\" character, ignore the cookie-av.\n const charCode = attributeValue.charCodeAt(0)\n\n if ((charCode < 48 || charCode > 57) && attributeValue[0] !== '-') {\n return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList)\n }\n\n // 2. If the remainder of attribute-value contains a non-DIGIT\n // character, ignore the cookie-av.\n if (!/^\\d+$/.test(attributeValue)) {\n return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList)\n }\n\n // 3. Let delta-seconds be the attribute-value converted to an integer.\n const deltaSeconds = Number(attributeValue)\n\n // 4. Let cookie-age-limit be the maximum age of the cookie (which\n // SHOULD be 400 days or less, see Section 4.1.2.2).\n\n // 5. Set delta-seconds to the smaller of its present value and cookie-\n // age-limit.\n // deltaSeconds = Math.min(deltaSeconds * 1000, maxExpiresMs)\n\n // 6. If delta-seconds is less than or equal to zero (0), let expiry-\n // time be the earliest representable date and time. Otherwise, let\n // the expiry-time be the current date and time plus delta-seconds\n // seconds.\n // const expiryTime = deltaSeconds <= 0 ? Date.now() : Date.now() + deltaSeconds\n\n // 7. Append an attribute to the cookie-attribute-list with an\n // attribute-name of Max-Age and an attribute-value of expiry-time.\n cookieAttributeList.maxAge = deltaSeconds\n } else if (attributeNameLowercase === 'domain') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.3\n // If the attribute-name case-insensitively matches the string \"Domain\",\n // the user agent MUST process the cookie-av as follows.\n\n // 1. Let cookie-domain be the attribute-value.\n let cookieDomain = attributeValue\n\n // 2. If cookie-domain starts with %x2E (\".\"), let cookie-domain be\n // cookie-domain without its leading %x2E (\".\").\n if (cookieDomain[0] === '.') {\n cookieDomain = cookieDomain.slice(1)\n }\n\n // 3. Convert the cookie-domain to lower case.\n cookieDomain = cookieDomain.toLowerCase()\n\n // 4. Append an attribute to the cookie-attribute-list with an\n // attribute-name of Domain and an attribute-value of cookie-domain.\n cookieAttributeList.domain = cookieDomain\n } else if (attributeNameLowercase === 'path') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.4\n // If the attribute-name case-insensitively matches the string \"Path\",\n // the user agent MUST process the cookie-av as follows.\n\n // 1. If the attribute-value is empty or if the first character of the\n // attribute-value is not %x2F (\"/\"):\n let cookiePath = ''\n if (attributeValue.length === 0 || attributeValue[0] !== '/') {\n // 1. Let cookie-path be the default-path.\n cookiePath = '/'\n } else {\n // Otherwise:\n\n // 1. Let cookie-path be the attribute-value.\n cookiePath = attributeValue\n }\n\n // 2. Append an attribute to the cookie-attribute-list with an\n // attribute-name of Path and an attribute-value of cookie-path.\n cookieAttributeList.path = cookiePath\n } else if (attributeNameLowercase === 'secure') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.5\n // If the attribute-name case-insensitively matches the string \"Secure\",\n // the user agent MUST append an attribute to the cookie-attribute-list\n // with an attribute-name of Secure and an empty attribute-value.\n\n cookieAttributeList.secure = true\n } else if (attributeNameLowercase === 'httponly') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.6\n // If the attribute-name case-insensitively matches the string\n // \"HttpOnly\", the user agent MUST append an attribute to the cookie-\n // attribute-list with an attribute-name of HttpOnly and an empty\n // attribute-value.\n\n cookieAttributeList.httpOnly = true\n } else if (attributeNameLowercase === 'samesite') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.7\n // If the attribute-name case-insensitively matches the string\n // \"SameSite\", the user agent MUST process the cookie-av as follows:\n\n // 1. Let enforcement be \"Default\".\n let enforcement = 'Default'\n\n const attributeValueLowercase = attributeValue.toLowerCase()\n // 2. If cookie-av's attribute-value is a case-insensitive match for\n // \"None\", set enforcement to \"None\".\n if (attributeValueLowercase.includes('none')) {\n enforcement = 'None'\n }\n\n // 3. If cookie-av's attribute-value is a case-insensitive match for\n // \"Strict\", set enforcement to \"Strict\".\n if (attributeValueLowercase.includes('strict')) {\n enforcement = 'Strict'\n }\n\n // 4. If cookie-av's attribute-value is a case-insensitive match for\n // \"Lax\", set enforcement to \"Lax\".\n if (attributeValueLowercase.includes('lax')) {\n enforcement = 'Lax'\n }\n\n // 5. Append an attribute to the cookie-attribute-list with an\n // attribute-name of \"SameSite\" and an attribute-value of\n // enforcement.\n cookieAttributeList.sameSite = enforcement\n } else {\n cookieAttributeList.unparsed ??= []\n\n cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`)\n }\n\n // 8. Return to Step 1 of this algorithm.\n return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList)\n}\n\nmodule.exports = {\n parseSetCookie,\n parseUnparsedAttributes\n}\n", "'use strict'\n\nconst { parseSetCookie } = require('./parse')\nconst { stringify, getHeadersList } = require('./util')\nconst { webidl } = require('../fetch/webidl')\nconst { Headers } = require('../fetch/headers')\n\n/**\n * @typedef {Object} Cookie\n * @property {string} name\n * @property {string} value\n * @property {Date|number|undefined} expires\n * @property {number|undefined} maxAge\n * @property {string|undefined} domain\n * @property {string|undefined} path\n * @property {boolean|undefined} secure\n * @property {boolean|undefined} httpOnly\n * @property {'Strict'|'Lax'|'None'} sameSite\n * @property {string[]} unparsed\n */\n\n/**\n * @param {Headers} headers\n * @returns {Record<string, string>}\n */\nfunction getCookies (headers) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'getCookies' })\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n const cookie = headers.get('cookie')\n const out = {}\n\n if (!cookie) {\n return out\n }\n\n for (const piece of cookie.split(';')) {\n const [name, ...value] = piece.split('=')\n\n out[name.trim()] = value.join('=')\n }\n\n return out\n}\n\n/**\n * @param {Headers} headers\n * @param {string} name\n * @param {{ path?: string, domain?: string }|undefined} attributes\n * @returns {void}\n */\nfunction deleteCookie (headers, name, attributes) {\n webidl.argumentLengthCheck(arguments, 2, { header: 'deleteCookie' })\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n name = webidl.converters.DOMString(name)\n attributes = webidl.converters.DeleteCookieAttributes(attributes)\n\n // Matches behavior of\n // https://github.com/denoland/deno_std/blob/63827b16330b82489a04614027c33b7904e08be5/http/cookie.ts#L278\n setCookie(headers, {\n name,\n value: '',\n expires: new Date(0),\n ...attributes\n })\n}\n\n/**\n * @param {Headers} headers\n * @returns {Cookie[]}\n */\nfunction getSetCookies (headers) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'getSetCookies' })\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n const cookies = getHeadersList(headers).cookies\n\n if (!cookies) {\n return []\n }\n\n // In older versions of undici, cookies is a list of name:value.\n return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair))\n}\n\n/**\n * @param {Headers} headers\n * @param {Cookie} cookie\n * @returns {void}\n */\nfunction setCookie (headers, cookie) {\n webidl.argumentLengthCheck(arguments, 2, { header: 'setCookie' })\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n cookie = webidl.converters.Cookie(cookie)\n\n const str = stringify(cookie)\n\n if (str) {\n headers.append('Set-Cookie', stringify(cookie))\n }\n}\n\nwebidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([\n {\n converter: webidl.nullableConverter(webidl.converters.DOMString),\n key: 'path',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.DOMString),\n key: 'domain',\n defaultValue: null\n }\n])\n\nwebidl.converters.Cookie = webidl.dictionaryConverter([\n {\n converter: webidl.converters.DOMString,\n key: 'name'\n },\n {\n converter: webidl.converters.DOMString,\n key: 'value'\n },\n {\n converter: webidl.nullableConverter((value) => {\n if (typeof value === 'number') {\n return webidl.converters['unsigned long long'](value)\n }\n\n return new Date(value)\n }),\n key: 'expires',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters['long long']),\n key: 'maxAge',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.DOMString),\n key: 'domain',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.DOMString),\n key: 'path',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.boolean),\n key: 'secure',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.boolean),\n key: 'httpOnly',\n defaultValue: null\n },\n {\n converter: webidl.converters.USVString,\n key: 'sameSite',\n allowedValues: ['Strict', 'Lax', 'None']\n },\n {\n converter: webidl.sequenceConverter(webidl.converters.DOMString),\n key: 'unparsed',\n defaultValue: []\n }\n])\n\nmodule.exports = {\n getCookies,\n deleteCookie,\n getSetCookies,\n setCookie\n}\n", "'use strict'\n\n// This is a Globally Unique Identifier unique used\n// to validate that the endpoint accepts websocket\n// connections.\n// See https://www.rfc-editor.org/rfc/rfc6455.html#section-1.3\nconst uid = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11'\n\n/** @type {PropertyDescriptor} */\nconst staticPropertyDescriptors = {\n enumerable: true,\n writable: false,\n configurable: false\n}\n\nconst states = {\n CONNECTING: 0,\n OPEN: 1,\n CLOSING: 2,\n CLOSED: 3\n}\n\nconst opcodes = {\n CONTINUATION: 0x0,\n TEXT: 0x1,\n BINARY: 0x2,\n CLOSE: 0x8,\n PING: 0x9,\n PONG: 0xA\n}\n\nconst maxUnsigned16Bit = 2 ** 16 - 1 // 65535\n\nconst parserStates = {\n INFO: 0,\n PAYLOADLENGTH_16: 2,\n PAYLOADLENGTH_64: 3,\n READ_DATA: 4\n}\n\nconst emptyBuffer = Buffer.allocUnsafe(0)\n\nmodule.exports = {\n uid,\n staticPropertyDescriptors,\n states,\n opcodes,\n maxUnsigned16Bit,\n parserStates,\n emptyBuffer\n}\n", "'use strict'\n\nmodule.exports = {\n kWebSocketURL: Symbol('url'),\n kReadyState: Symbol('ready state'),\n kController: Symbol('controller'),\n kResponse: Symbol('response'),\n kBinaryType: Symbol('binary type'),\n kSentClose: Symbol('sent close'),\n kReceivedClose: Symbol('received close'),\n kByteParser: Symbol('byte parser')\n}\n", "'use strict'\n\nconst { webidl } = require('../fetch/webidl')\nconst { kEnumerableProperty } = require('../core/util')\nconst { MessagePort } = require('worker_threads')\n\n/**\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageevent\n */\nclass MessageEvent extends Event {\n #eventInit\n\n constructor (type, eventInitDict = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'MessageEvent constructor' })\n\n type = webidl.converters.DOMString(type)\n eventInitDict = webidl.converters.MessageEventInit(eventInitDict)\n\n super(type, eventInitDict)\n\n this.#eventInit = eventInitDict\n }\n\n get data () {\n webidl.brandCheck(this, MessageEvent)\n\n return this.#eventInit.data\n }\n\n get origin () {\n webidl.brandCheck(this, MessageEvent)\n\n return this.#eventInit.origin\n }\n\n get lastEventId () {\n webidl.brandCheck(this, MessageEvent)\n\n return this.#eventInit.lastEventId\n }\n\n get source () {\n webidl.brandCheck(this, MessageEvent)\n\n return this.#eventInit.source\n }\n\n get ports () {\n webidl.brandCheck(this, MessageEvent)\n\n if (!Object.isFrozen(this.#eventInit.ports)) {\n Object.freeze(this.#eventInit.ports)\n }\n\n return this.#eventInit.ports\n }\n\n initMessageEvent (\n type,\n bubbles = false,\n cancelable = false,\n data = null,\n origin = '',\n lastEventId = '',\n source = null,\n ports = []\n ) {\n webidl.brandCheck(this, MessageEvent)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'MessageEvent.initMessageEvent' })\n\n return new MessageEvent(type, {\n bubbles, cancelable, data, origin, lastEventId, source, ports\n })\n }\n}\n\n/**\n * @see https://websockets.spec.whatwg.org/#the-closeevent-interface\n */\nclass CloseEvent extends Event {\n #eventInit\n\n constructor (type, eventInitDict = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'CloseEvent constructor' })\n\n type = webidl.converters.DOMString(type)\n eventInitDict = webidl.converters.CloseEventInit(eventInitDict)\n\n super(type, eventInitDict)\n\n this.#eventInit = eventInitDict\n }\n\n get wasClean () {\n webidl.brandCheck(this, CloseEvent)\n\n return this.#eventInit.wasClean\n }\n\n get code () {\n webidl.brandCheck(this, CloseEvent)\n\n return this.#eventInit.code\n }\n\n get reason () {\n webidl.brandCheck(this, CloseEvent)\n\n return this.#eventInit.reason\n }\n}\n\n// https://html.spec.whatwg.org/multipage/webappapis.html#the-errorevent-interface\nclass ErrorEvent extends Event {\n #eventInit\n\n constructor (type, eventInitDict) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'ErrorEvent constructor' })\n\n super(type, eventInitDict)\n\n type = webidl.converters.DOMString(type)\n eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {})\n\n this.#eventInit = eventInitDict\n }\n\n get message () {\n webidl.brandCheck(this, ErrorEvent)\n\n return this.#eventInit.message\n }\n\n get filename () {\n webidl.brandCheck(this, ErrorEvent)\n\n return this.#eventInit.filename\n }\n\n get lineno () {\n webidl.brandCheck(this, ErrorEvent)\n\n return this.#eventInit.lineno\n }\n\n get colno () {\n webidl.brandCheck(this, ErrorEvent)\n\n return this.#eventInit.colno\n }\n\n get error () {\n webidl.brandCheck(this, ErrorEvent)\n\n return this.#eventInit.error\n }\n}\n\nObject.defineProperties(MessageEvent.prototype, {\n [Symbol.toStringTag]: {\n value: 'MessageEvent',\n configurable: true\n },\n data: kEnumerableProperty,\n origin: kEnumerableProperty,\n lastEventId: kEnumerableProperty,\n source: kEnumerableProperty,\n ports: kEnumerableProperty,\n initMessageEvent: kEnumerableProperty\n})\n\nObject.defineProperties(CloseEvent.prototype, {\n [Symbol.toStringTag]: {\n value: 'CloseEvent',\n configurable: true\n },\n reason: kEnumerableProperty,\n code: kEnumerableProperty,\n wasClean: kEnumerableProperty\n})\n\nObject.defineProperties(ErrorEvent.prototype, {\n [Symbol.toStringTag]: {\n value: 'ErrorEvent',\n configurable: true\n },\n message: kEnumerableProperty,\n filename: kEnumerableProperty,\n lineno: kEnumerableProperty,\n colno: kEnumerableProperty,\n error: kEnumerableProperty\n})\n\nwebidl.converters.MessagePort = webidl.interfaceConverter(MessagePort)\n\nwebidl.converters['sequence<MessagePort>'] = webidl.sequenceConverter(\n webidl.converters.MessagePort\n)\n\nconst eventInit = [\n {\n key: 'bubbles',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'cancelable',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'composed',\n converter: webidl.converters.boolean,\n defaultValue: false\n }\n]\n\nwebidl.converters.MessageEventInit = webidl.dictionaryConverter([\n ...eventInit,\n {\n key: 'data',\n converter: webidl.converters.any,\n defaultValue: null\n },\n {\n key: 'origin',\n converter: webidl.converters.USVString,\n defaultValue: ''\n },\n {\n key: 'lastEventId',\n converter: webidl.converters.DOMString,\n defaultValue: ''\n },\n {\n key: 'source',\n // Node doesn't implement WindowProxy or ServiceWorker, so the only\n // valid value for source is a MessagePort.\n converter: webidl.nullableConverter(webidl.converters.MessagePort),\n defaultValue: null\n },\n {\n key: 'ports',\n converter: webidl.converters['sequence<MessagePort>'],\n get defaultValue () {\n return []\n }\n }\n])\n\nwebidl.converters.CloseEventInit = webidl.dictionaryConverter([\n ...eventInit,\n {\n key: 'wasClean',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'code',\n converter: webidl.converters['unsigned short'],\n defaultValue: 0\n },\n {\n key: 'reason',\n converter: webidl.converters.USVString,\n defaultValue: ''\n }\n])\n\nwebidl.converters.ErrorEventInit = webidl.dictionaryConverter([\n ...eventInit,\n {\n key: 'message',\n converter: webidl.converters.DOMString,\n defaultValue: ''\n },\n {\n key: 'filename',\n converter: webidl.converters.USVString,\n defaultValue: ''\n },\n {\n key: 'lineno',\n converter: webidl.converters['unsigned long'],\n defaultValue: 0\n },\n {\n key: 'colno',\n converter: webidl.converters['unsigned long'],\n defaultValue: 0\n },\n {\n key: 'error',\n converter: webidl.converters.any\n }\n])\n\nmodule.exports = {\n MessageEvent,\n CloseEvent,\n ErrorEvent\n}\n", "'use strict'\n\nconst { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require('./symbols')\nconst { states, opcodes } = require('./constants')\nconst { MessageEvent, ErrorEvent } = require('./events')\n\n/* globals Blob */\n\n/**\n * @param {import('./websocket').WebSocket} ws\n */\nfunction isEstablished (ws) {\n // If the server's response is validated as provided for above, it is\n // said that _The WebSocket Connection is Established_ and that the\n // WebSocket Connection is in the OPEN state.\n return ws[kReadyState] === states.OPEN\n}\n\n/**\n * @param {import('./websocket').WebSocket} ws\n */\nfunction isClosing (ws) {\n // Upon either sending or receiving a Close control frame, it is said\n // that _The WebSocket Closing Handshake is Started_ and that the\n // WebSocket connection is in the CLOSING state.\n return ws[kReadyState] === states.CLOSING\n}\n\n/**\n * @param {import('./websocket').WebSocket} ws\n */\nfunction isClosed (ws) {\n return ws[kReadyState] === states.CLOSED\n}\n\n/**\n * @see https://dom.spec.whatwg.org/#concept-event-fire\n * @param {string} e\n * @param {EventTarget} target\n * @param {EventInit | undefined} eventInitDict\n */\nfunction fireEvent (e, target, eventConstructor = Event, eventInitDict) {\n // 1. If eventConstructor is not given, then let eventConstructor be Event.\n\n // 2. Let event be the result of creating an event given eventConstructor,\n // in the relevant realm of target.\n // 3. Initialize event\u2019s type attribute to e.\n const event = new eventConstructor(e, eventInitDict) // eslint-disable-line new-cap\n\n // 4. Initialize any other IDL attributes of event as described in the\n // invocation of this algorithm.\n\n // 5. Return the result of dispatching event at target, with legacy target\n // override flag set if set.\n target.dispatchEvent(event)\n}\n\n/**\n * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol\n * @param {import('./websocket').WebSocket} ws\n * @param {number} type Opcode\n * @param {Buffer} data application data\n */\nfunction websocketMessageReceived (ws, type, data) {\n // 1. If ready state is not OPEN (1), then return.\n if (ws[kReadyState] !== states.OPEN) {\n return\n }\n\n // 2. Let dataForEvent be determined by switching on type and binary type:\n let dataForEvent\n\n if (type === opcodes.TEXT) {\n // -> type indicates that the data is Text\n // a new DOMString containing data\n try {\n dataForEvent = new TextDecoder('utf-8', { fatal: true }).decode(data)\n } catch {\n failWebsocketConnection(ws, 'Received invalid UTF-8 in text frame.')\n return\n }\n } else if (type === opcodes.BINARY) {\n if (ws[kBinaryType] === 'blob') {\n // -> type indicates that the data is Binary and binary type is \"blob\"\n // a new Blob object, created in the relevant Realm of the WebSocket\n // object, that represents data as its raw data\n dataForEvent = new Blob([data])\n } else {\n // -> type indicates that the data is Binary and binary type is \"arraybuffer\"\n // a new ArrayBuffer object, created in the relevant Realm of the\n // WebSocket object, whose contents are data\n dataForEvent = new Uint8Array(data).buffer\n }\n }\n\n // 3. Fire an event named message at the WebSocket object, using MessageEvent,\n // with the origin attribute initialized to the serialization of the WebSocket\n // object\u2019s url's origin, and the data attribute initialized to dataForEvent.\n fireEvent('message', ws, MessageEvent, {\n origin: ws[kWebSocketURL].origin,\n data: dataForEvent\n })\n}\n\n/**\n * @see https://datatracker.ietf.org/doc/html/rfc6455\n * @see https://datatracker.ietf.org/doc/html/rfc2616\n * @see https://bugs.chromium.org/p/chromium/issues/detail?id=398407\n * @param {string} protocol\n */\nfunction isValidSubprotocol (protocol) {\n // If present, this value indicates one\n // or more comma-separated subprotocol the client wishes to speak,\n // ordered by preference. The elements that comprise this value\n // MUST be non-empty strings with characters in the range U+0021 to\n // U+007E not including separator characters as defined in\n // [RFC2616] and MUST all be unique strings.\n if (protocol.length === 0) {\n return false\n }\n\n for (const char of protocol) {\n const code = char.charCodeAt(0)\n\n if (\n code < 0x21 ||\n code > 0x7E ||\n char === '(' ||\n char === ')' ||\n char === '<' ||\n char === '>' ||\n char === '@' ||\n char === ',' ||\n char === ';' ||\n char === ':' ||\n char === '\\\\' ||\n char === '\"' ||\n char === '/' ||\n char === '[' ||\n char === ']' ||\n char === '?' ||\n char === '=' ||\n char === '{' ||\n char === '}' ||\n code === 32 || // SP\n code === 9 // HT\n ) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * @see https://datatracker.ietf.org/doc/html/rfc6455#section-7-4\n * @param {number} code\n */\nfunction isValidStatusCode (code) {\n if (code >= 1000 && code < 1015) {\n return (\n code !== 1004 && // reserved\n code !== 1005 && // \"MUST NOT be set as a status code\"\n code !== 1006 // \"MUST NOT be set as a status code\"\n )\n }\n\n return code >= 3000 && code <= 4999\n}\n\n/**\n * @param {import('./websocket').WebSocket} ws\n * @param {string|undefined} reason\n */\nfunction failWebsocketConnection (ws, reason) {\n const { [kController]: controller, [kResponse]: response } = ws\n\n controller.abort()\n\n if (response?.socket && !response.socket.destroyed) {\n response.socket.destroy()\n }\n\n if (reason) {\n fireEvent('error', ws, ErrorEvent, {\n error: new Error(reason)\n })\n }\n}\n\nmodule.exports = {\n isEstablished,\n isClosing,\n isClosed,\n fireEvent,\n isValidSubprotocol,\n isValidStatusCode,\n failWebsocketConnection,\n websocketMessageReceived\n}\n", "'use strict'\n\nconst { randomBytes, createHash } = require('crypto')\nconst diagnosticsChannel = require('diagnostics_channel')\nconst { uid, states } = require('./constants')\nconst {\n kReadyState,\n kSentClose,\n kByteParser,\n kReceivedClose\n} = require('./symbols')\nconst { fireEvent, failWebsocketConnection } = require('./util')\nconst { CloseEvent } = require('./events')\nconst { makeRequest } = require('../fetch/request')\nconst { fetching } = require('../fetch/index')\nconst { Headers } = require('../fetch/headers')\nconst { getGlobalDispatcher } = require('../global')\nconst { kHeadersList } = require('../core/symbols')\n\nconst channels = {}\nchannels.open = diagnosticsChannel.channel('undici:websocket:open')\nchannels.close = diagnosticsChannel.channel('undici:websocket:close')\nchannels.socketError = diagnosticsChannel.channel('undici:websocket:socket_error')\n\n/**\n * @see https://websockets.spec.whatwg.org/#concept-websocket-establish\n * @param {URL} url\n * @param {string|string[]} protocols\n * @param {import('./websocket').WebSocket} ws\n * @param {(response: any) => void} onEstablish\n * @param {Partial<import('../../types/websocket').WebSocketInit>} options\n */\nfunction establishWebSocketConnection (url, protocols, ws, onEstablish, options) {\n // 1. Let requestURL be a copy of url, with its scheme set to \"http\", if url\u2019s\n // scheme is \"ws\", and to \"https\" otherwise.\n const requestURL = url\n\n requestURL.protocol = url.protocol === 'ws:' ? 'http:' : 'https:'\n\n // 2. Let request be a new request, whose URL is requestURL, client is client,\n // service-workers mode is \"none\", referrer is \"no-referrer\", mode is\n // \"websocket\", credentials mode is \"include\", cache mode is \"no-store\" ,\n // and redirect mode is \"error\".\n const request = makeRequest({\n urlList: [requestURL],\n serviceWorkers: 'none',\n referrer: 'no-referrer',\n mode: 'websocket',\n credentials: 'include',\n cache: 'no-store',\n redirect: 'error'\n })\n\n // Note: undici extension, allow setting custom headers.\n if (options.headers) {\n const headersList = new Headers(options.headers)[kHeadersList]\n\n request.headersList = headersList\n }\n\n // 3. Append (`Upgrade`, `websocket`) to request\u2019s header list.\n // 4. Append (`Connection`, `Upgrade`) to request\u2019s header list.\n // Note: both of these are handled by undici currently.\n // https://github.com/nodejs/undici/blob/68c269c4144c446f3f1220951338daef4a6b5ec4/lib/client.js#L1397\n\n // 5. Let keyValue be a nonce consisting of a randomly selected\n // 16-byte value that has been forgiving-base64-encoded and\n // isomorphic encoded.\n const keyValue = randomBytes(16).toString('base64')\n\n // 6. Append (`Sec-WebSocket-Key`, keyValue) to request\u2019s\n // header list.\n request.headersList.append('sec-websocket-key', keyValue)\n\n // 7. Append (`Sec-WebSocket-Version`, `13`) to request\u2019s\n // header list.\n request.headersList.append('sec-websocket-version', '13')\n\n // 8. For each protocol in protocols, combine\n // (`Sec-WebSocket-Protocol`, protocol) in request\u2019s header\n // list.\n for (const protocol of protocols) {\n request.headersList.append('sec-websocket-protocol', protocol)\n }\n\n // 9. Let permessageDeflate be a user-agent defined\n // \"permessage-deflate\" extension header value.\n // https://github.com/mozilla/gecko-dev/blob/ce78234f5e653a5d3916813ff990f053510227bc/netwerk/protocol/websocket/WebSocketChannel.cpp#L2673\n // TODO: enable once permessage-deflate is supported\n const permessageDeflate = '' // 'permessage-deflate; 15'\n\n // 10. Append (`Sec-WebSocket-Extensions`, permessageDeflate) to\n // request\u2019s header list.\n // request.headersList.append('sec-websocket-extensions', permessageDeflate)\n\n // 11. Fetch request with useParallelQueue set to true, and\n // processResponse given response being these steps:\n const controller = fetching({\n request,\n useParallelQueue: true,\n dispatcher: options.dispatcher ?? getGlobalDispatcher(),\n processResponse (response) {\n // 1. If response is a network error or its status is not 101,\n // fail the WebSocket connection.\n if (response.type === 'error' || response.status !== 101) {\n failWebsocketConnection(ws, 'Received network error or non-101 status code.')\n return\n }\n\n // 2. If protocols is not the empty list and extracting header\n // list values given `Sec-WebSocket-Protocol` and response\u2019s\n // header list results in null, failure, or the empty byte\n // sequence, then fail the WebSocket connection.\n if (protocols.length !== 0 && !response.headersList.get('Sec-WebSocket-Protocol')) {\n failWebsocketConnection(ws, 'Server did not respond with sent protocols.')\n return\n }\n\n // 3. Follow the requirements stated step 2 to step 6, inclusive,\n // of the last set of steps in section 4.1 of The WebSocket\n // Protocol to validate response. This either results in fail\n // the WebSocket connection or the WebSocket connection is\n // established.\n\n // 2. If the response lacks an |Upgrade| header field or the |Upgrade|\n // header field contains a value that is not an ASCII case-\n // insensitive match for the value \"websocket\", the client MUST\n // _Fail the WebSocket Connection_.\n if (response.headersList.get('Upgrade')?.toLowerCase() !== 'websocket') {\n failWebsocketConnection(ws, 'Server did not set Upgrade header to \"websocket\".')\n return\n }\n\n // 3. If the response lacks a |Connection| header field or the\n // |Connection| header field doesn't contain a token that is an\n // ASCII case-insensitive match for the value \"Upgrade\", the client\n // MUST _Fail the WebSocket Connection_.\n if (response.headersList.get('Connection')?.toLowerCase() !== 'upgrade') {\n failWebsocketConnection(ws, 'Server did not set Connection header to \"upgrade\".')\n return\n }\n\n // 4. If the response lacks a |Sec-WebSocket-Accept| header field or\n // the |Sec-WebSocket-Accept| contains a value other than the\n // base64-encoded SHA-1 of the concatenation of the |Sec-WebSocket-\n // Key| (as a string, not base64-decoded) with the string \"258EAFA5-\n // E914-47DA-95CA-C5AB0DC85B11\" but ignoring any leading and\n // trailing whitespace, the client MUST _Fail the WebSocket\n // Connection_.\n const secWSAccept = response.headersList.get('Sec-WebSocket-Accept')\n const digest = createHash('sha1').update(keyValue + uid).digest('base64')\n if (secWSAccept !== digest) {\n failWebsocketConnection(ws, 'Incorrect hash received in Sec-WebSocket-Accept header.')\n return\n }\n\n // 5. If the response includes a |Sec-WebSocket-Extensions| header\n // field and this header field indicates the use of an extension\n // that was not present in the client's handshake (the server has\n // indicated an extension not requested by the client), the client\n // MUST _Fail the WebSocket Connection_. (The parsing of this\n // header field to determine which extensions are requested is\n // discussed in Section 9.1.)\n const secExtension = response.headersList.get('Sec-WebSocket-Extensions')\n\n if (secExtension !== null && secExtension !== permessageDeflate) {\n failWebsocketConnection(ws, 'Received different permessage-deflate than the one set.')\n return\n }\n\n // 6. If the response includes a |Sec-WebSocket-Protocol| header field\n // and this header field indicates the use of a subprotocol that was\n // not present in the client's handshake (the server has indicated a\n // subprotocol not requested by the client), the client MUST _Fail\n // the WebSocket Connection_.\n const secProtocol = response.headersList.get('Sec-WebSocket-Protocol')\n\n if (secProtocol !== null && secProtocol !== request.headersList.get('Sec-WebSocket-Protocol')) {\n failWebsocketConnection(ws, 'Protocol was not set in the opening handshake.')\n return\n }\n\n response.socket.on('data', onSocketData)\n response.socket.on('close', onSocketClose)\n response.socket.on('error', onSocketError)\n\n if (channels.open.hasSubscribers) {\n channels.open.publish({\n address: response.socket.address(),\n protocol: secProtocol,\n extensions: secExtension\n })\n }\n\n onEstablish(response)\n }\n })\n\n return controller\n}\n\n/**\n * @param {Buffer} chunk\n */\nfunction onSocketData (chunk) {\n if (!this.ws[kByteParser].write(chunk)) {\n this.pause()\n }\n}\n\n/**\n * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol\n * @see https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.4\n */\nfunction onSocketClose () {\n const { ws } = this\n\n // If the TCP connection was closed after the\n // WebSocket closing handshake was completed, the WebSocket connection\n // is said to have been closed _cleanly_.\n const wasClean = ws[kSentClose] && ws[kReceivedClose]\n\n let code = 1005\n let reason = ''\n\n const result = ws[kByteParser].closingInfo\n\n if (result) {\n code = result.code ?? 1005\n reason = result.reason\n } else if (!ws[kSentClose]) {\n // If _The WebSocket\n // Connection is Closed_ and no Close control frame was received by the\n // endpoint (such as could occur if the underlying transport connection\n // is lost), _The WebSocket Connection Close Code_ is considered to be\n // 1006.\n code = 1006\n }\n\n // 1. Change the ready state to CLOSED (3).\n ws[kReadyState] = states.CLOSED\n\n // 2. If the user agent was required to fail the WebSocket\n // connection, or if the WebSocket connection was closed\n // after being flagged as full, fire an event named error\n // at the WebSocket object.\n // TODO\n\n // 3. Fire an event named close at the WebSocket object,\n // using CloseEvent, with the wasClean attribute\n // initialized to true if the connection closed cleanly\n // and false otherwise, the code attribute initialized to\n // the WebSocket connection close code, and the reason\n // attribute initialized to the result of applying UTF-8\n // decode without BOM to the WebSocket connection close\n // reason.\n fireEvent('close', ws, CloseEvent, {\n wasClean, code, reason\n })\n\n if (channels.close.hasSubscribers) {\n channels.close.publish({\n websocket: ws,\n code,\n reason\n })\n }\n}\n\nfunction onSocketError (error) {\n const { ws } = this\n\n ws[kReadyState] = states.CLOSING\n\n if (channels.socketError.hasSubscribers) {\n channels.socketError.publish(error)\n }\n\n this.destroy()\n}\n\nmodule.exports = {\n establishWebSocketConnection\n}\n", "'use strict'\n\nconst { randomBytes } = require('crypto')\nconst { maxUnsigned16Bit } = require('./constants')\n\nclass WebsocketFrameSend {\n /**\n * @param {Buffer|undefined} data\n */\n constructor (data) {\n this.frameData = data\n this.maskKey = randomBytes(4)\n }\n\n createFrame (opcode) {\n const bodyLength = this.frameData?.byteLength ?? 0\n\n /** @type {number} */\n let payloadLength = bodyLength // 0-125\n let offset = 6\n\n if (bodyLength > maxUnsigned16Bit) {\n offset += 8 // payload length is next 8 bytes\n payloadLength = 127\n } else if (bodyLength > 125) {\n offset += 2 // payload length is next 2 bytes\n payloadLength = 126\n }\n\n const buffer = Buffer.allocUnsafe(bodyLength + offset)\n\n // Clear first 2 bytes, everything else is overwritten\n buffer[0] = buffer[1] = 0\n buffer[0] |= 0x80 // FIN\n buffer[0] = (buffer[0] & 0xF0) + opcode // opcode\n\n /*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */\n buffer[offset - 4] = this.maskKey[0]\n buffer[offset - 3] = this.maskKey[1]\n buffer[offset - 2] = this.maskKey[2]\n buffer[offset - 1] = this.maskKey[3]\n\n buffer[1] = payloadLength\n\n if (payloadLength === 126) {\n buffer.writeUInt16BE(bodyLength, 2)\n } else if (payloadLength === 127) {\n // Clear extended payload length\n buffer[2] = buffer[3] = 0\n buffer.writeUIntBE(bodyLength, 4, 6)\n }\n\n buffer[1] |= 0x80 // MASK\n\n // mask body\n for (let i = 0; i < bodyLength; i++) {\n buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4]\n }\n\n return buffer\n }\n}\n\nmodule.exports = {\n WebsocketFrameSend\n}\n", "'use strict'\n\nconst { Writable } = require('stream')\nconst diagnosticsChannel = require('diagnostics_channel')\nconst { parserStates, opcodes, states, emptyBuffer } = require('./constants')\nconst { kReadyState, kSentClose, kResponse, kReceivedClose } = require('./symbols')\nconst { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require('./util')\nconst { WebsocketFrameSend } = require('./frame')\n\n// This code was influenced by ws released under the MIT license.\n// Copyright (c) 2011 Einar Otto Stangvik <einaros@gmail.com>\n// Copyright (c) 2013 Arnout Kazemier and contributors\n// Copyright (c) 2016 Luigi Pinca and contributors\n\nconst channels = {}\nchannels.ping = diagnosticsChannel.channel('undici:websocket:ping')\nchannels.pong = diagnosticsChannel.channel('undici:websocket:pong')\n\nclass ByteParser extends Writable {\n #buffers = []\n #byteOffset = 0\n\n #state = parserStates.INFO\n\n #info = {}\n #fragments = []\n\n constructor (ws) {\n super()\n\n this.ws = ws\n }\n\n /**\n * @param {Buffer} chunk\n * @param {() => void} callback\n */\n _write (chunk, _, callback) {\n this.#buffers.push(chunk)\n this.#byteOffset += chunk.length\n\n this.run(callback)\n }\n\n /**\n * Runs whenever a new chunk is received.\n * Callback is called whenever there are no more chunks buffering,\n * or not enough bytes are buffered to parse.\n */\n run (callback) {\n while (true) {\n if (this.#state === parserStates.INFO) {\n // If there aren't enough bytes to parse the payload length, etc.\n if (this.#byteOffset < 2) {\n return callback()\n }\n\n const buffer = this.consume(2)\n\n this.#info.fin = (buffer[0] & 0x80) !== 0\n this.#info.opcode = buffer[0] & 0x0F\n\n // If we receive a fragmented message, we use the type of the first\n // frame to parse the full message as binary/text, when it's terminated\n this.#info.originalOpcode ??= this.#info.opcode\n\n this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION\n\n if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {\n // Only text and binary frames can be fragmented\n failWebsocketConnection(this.ws, 'Invalid frame type was fragmented.')\n return\n }\n\n const payloadLength = buffer[1] & 0x7F\n\n if (payloadLength <= 125) {\n this.#info.payloadLength = payloadLength\n this.#state = parserStates.READ_DATA\n } else if (payloadLength === 126) {\n this.#state = parserStates.PAYLOADLENGTH_16\n } else if (payloadLength === 127) {\n this.#state = parserStates.PAYLOADLENGTH_64\n }\n\n if (this.#info.fragmented && payloadLength > 125) {\n // A fragmented frame can't be fragmented itself\n failWebsocketConnection(this.ws, 'Fragmented frame exceeded 125 bytes.')\n return\n } else if (\n (this.#info.opcode === opcodes.PING ||\n this.#info.opcode === opcodes.PONG ||\n this.#info.opcode === opcodes.CLOSE) &&\n payloadLength > 125\n ) {\n // Control frames can have a payload length of 125 bytes MAX\n failWebsocketConnection(this.ws, 'Payload length for control frame exceeded 125 bytes.')\n return\n } else if (this.#info.opcode === opcodes.CLOSE) {\n if (payloadLength === 1) {\n failWebsocketConnection(this.ws, 'Received close frame with a 1-byte body.')\n return\n }\n\n const body = this.consume(payloadLength)\n\n this.#info.closeInfo = this.parseCloseBody(false, body)\n\n if (!this.ws[kSentClose]) {\n // If an endpoint receives a Close frame and did not previously send a\n // Close frame, the endpoint MUST send a Close frame in response. (When\n // sending a Close frame in response, the endpoint typically echos the\n // status code it received.)\n const body = Buffer.allocUnsafe(2)\n body.writeUInt16BE(this.#info.closeInfo.code, 0)\n const closeFrame = new WebsocketFrameSend(body)\n\n this.ws[kResponse].socket.write(\n closeFrame.createFrame(opcodes.CLOSE),\n (err) => {\n if (!err) {\n this.ws[kSentClose] = true\n }\n }\n )\n }\n\n // Upon either sending or receiving a Close control frame, it is said\n // that _The WebSocket Closing Handshake is Started_ and that the\n // WebSocket connection is in the CLOSING state.\n this.ws[kReadyState] = states.CLOSING\n this.ws[kReceivedClose] = true\n\n this.end()\n\n return\n } else if (this.#info.opcode === opcodes.PING) {\n // Upon receipt of a Ping frame, an endpoint MUST send a Pong frame in\n // response, unless it already received a Close frame.\n // A Pong frame sent in response to a Ping frame must have identical\n // \"Application data\"\n\n const body = this.consume(payloadLength)\n\n if (!this.ws[kReceivedClose]) {\n const frame = new WebsocketFrameSend(body)\n\n this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG))\n\n if (channels.ping.hasSubscribers) {\n channels.ping.publish({\n payload: body\n })\n }\n }\n\n this.#state = parserStates.INFO\n\n if (this.#byteOffset > 0) {\n continue\n } else {\n callback()\n return\n }\n } else if (this.#info.opcode === opcodes.PONG) {\n // A Pong frame MAY be sent unsolicited. This serves as a\n // unidirectional heartbeat. A response to an unsolicited Pong frame is\n // not expected.\n\n const body = this.consume(payloadLength)\n\n if (channels.pong.hasSubscribers) {\n channels.pong.publish({\n payload: body\n })\n }\n\n if (this.#byteOffset > 0) {\n continue\n } else {\n callback()\n return\n }\n }\n } else if (this.#state === parserStates.PAYLOADLENGTH_16) {\n if (this.#byteOffset < 2) {\n return callback()\n }\n\n const buffer = this.consume(2)\n\n this.#info.payloadLength = buffer.readUInt16BE(0)\n this.#state = parserStates.READ_DATA\n } else if (this.#state === parserStates.PAYLOADLENGTH_64) {\n if (this.#byteOffset < 8) {\n return callback()\n }\n\n const buffer = this.consume(8)\n const upper = buffer.readUInt32BE(0)\n\n // 2^31 is the maxinimum bytes an arraybuffer can contain\n // on 32-bit systems. Although, on 64-bit systems, this is\n // 2^53-1 bytes.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Invalid_array_length\n // https://source.chromium.org/chromium/chromium/src/+/main:v8/src/common/globals.h;drc=1946212ac0100668f14eb9e2843bdd846e510a1e;bpv=1;bpt=1;l=1275\n // https://source.chromium.org/chromium/chromium/src/+/main:v8/src/objects/js-array-buffer.h;l=34;drc=1946212ac0100668f14eb9e2843bdd846e510a1e\n if (upper > 2 ** 31 - 1) {\n failWebsocketConnection(this.ws, 'Received payload length > 2^31 bytes.')\n return\n }\n\n const lower = buffer.readUInt32BE(4)\n\n this.#info.payloadLength = (upper << 8) + lower\n this.#state = parserStates.READ_DATA\n } else if (this.#state === parserStates.READ_DATA) {\n if (this.#byteOffset < this.#info.payloadLength) {\n // If there is still more data in this chunk that needs to be read\n return callback()\n } else if (this.#byteOffset >= this.#info.payloadLength) {\n // If the server sent multiple frames in a single chunk\n\n const body = this.consume(this.#info.payloadLength)\n\n this.#fragments.push(body)\n\n // If the frame is unfragmented, or a fragmented frame was terminated,\n // a message was received\n if (!this.#info.fragmented || (this.#info.fin && this.#info.opcode === opcodes.CONTINUATION)) {\n const fullMessage = Buffer.concat(this.#fragments)\n\n websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage)\n\n this.#info = {}\n this.#fragments.length = 0\n }\n\n this.#state = parserStates.INFO\n }\n }\n\n if (this.#byteOffset > 0) {\n continue\n } else {\n callback()\n break\n }\n }\n }\n\n /**\n * Take n bytes from the buffered Buffers\n * @param {number} n\n * @returns {Buffer|null}\n */\n consume (n) {\n if (n > this.#byteOffset) {\n return null\n } else if (n === 0) {\n return emptyBuffer\n }\n\n if (this.#buffers[0].length === n) {\n this.#byteOffset -= this.#buffers[0].length\n return this.#buffers.shift()\n }\n\n const buffer = Buffer.allocUnsafe(n)\n let offset = 0\n\n while (offset !== n) {\n const next = this.#buffers[0]\n const { length } = next\n\n if (length + offset === n) {\n buffer.set(this.#buffers.shift(), offset)\n break\n } else if (length + offset > n) {\n buffer.set(next.subarray(0, n - offset), offset)\n this.#buffers[0] = next.subarray(n - offset)\n break\n } else {\n buffer.set(this.#buffers.shift(), offset)\n offset += next.length\n }\n }\n\n this.#byteOffset -= n\n\n return buffer\n }\n\n parseCloseBody (onlyCode, data) {\n // https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.5\n /** @type {number|undefined} */\n let code\n\n if (data.length >= 2) {\n // _The WebSocket Connection Close Code_ is\n // defined as the status code (Section 7.4) contained in the first Close\n // control frame received by the application\n code = data.readUInt16BE(0)\n }\n\n if (onlyCode) {\n if (!isValidStatusCode(code)) {\n return null\n }\n\n return { code }\n }\n\n // https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.6\n /** @type {Buffer} */\n let reason = data.subarray(2)\n\n // Remove BOM\n if (reason[0] === 0xEF && reason[1] === 0xBB && reason[2] === 0xBF) {\n reason = reason.subarray(3)\n }\n\n if (code !== undefined && !isValidStatusCode(code)) {\n return null\n }\n\n try {\n // TODO: optimize this\n reason = new TextDecoder('utf-8', { fatal: true }).decode(reason)\n } catch {\n return null\n }\n\n return { code, reason }\n }\n\n get closingInfo () {\n return this.#info.closeInfo\n }\n}\n\nmodule.exports = {\n ByteParser\n}\n", "'use strict'\n\nconst { webidl } = require('../fetch/webidl')\nconst { DOMException } = require('../fetch/constants')\nconst { URLSerializer } = require('../fetch/dataURL')\nconst { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require('./constants')\nconst {\n kWebSocketURL,\n kReadyState,\n kController,\n kBinaryType,\n kResponse,\n kSentClose,\n kByteParser\n} = require('./symbols')\nconst { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require('./util')\nconst { establishWebSocketConnection } = require('./connection')\nconst { WebsocketFrameSend } = require('./frame')\nconst { ByteParser } = require('./receiver')\nconst { kEnumerableProperty, isBlobLike } = require('../core/util')\nconst { getGlobalDispatcher } = require('../global')\nconst { types } = require('util')\n\nlet experimentalWarned = false\n\n// https://websockets.spec.whatwg.org/#interface-definition\nclass WebSocket extends EventTarget {\n #events = {\n open: null,\n error: null,\n close: null,\n message: null\n }\n\n #bufferedAmount = 0\n #protocol = ''\n #extensions = ''\n\n /**\n * @param {string} url\n * @param {string|string[]} protocols\n */\n constructor (url, protocols = []) {\n super()\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'WebSocket constructor' })\n\n if (!experimentalWarned) {\n experimentalWarned = true\n process.emitWarning('WebSockets are experimental, expect them to change at any time.', {\n code: 'UNDICI-WS'\n })\n }\n\n const options = webidl.converters['DOMString or sequence<DOMString> or WebSocketInit'](protocols)\n\n url = webidl.converters.USVString(url)\n protocols = options.protocols\n\n // 1. Let urlRecord be the result of applying the URL parser to url.\n let urlRecord\n\n try {\n urlRecord = new URL(url)\n } catch (e) {\n // 2. If urlRecord is failure, then throw a \"SyntaxError\" DOMException.\n throw new DOMException(e, 'SyntaxError')\n }\n\n // 3. If urlRecord\u2019s scheme is not \"ws\" or \"wss\", then throw a\n // \"SyntaxError\" DOMException.\n if (urlRecord.protocol !== 'ws:' && urlRecord.protocol !== 'wss:') {\n throw new DOMException(\n `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,\n 'SyntaxError'\n )\n }\n\n // 4. If urlRecord\u2019s fragment is non-null, then throw a \"SyntaxError\"\n // DOMException.\n if (urlRecord.hash) {\n throw new DOMException('Got fragment', 'SyntaxError')\n }\n\n // 5. If protocols is a string, set protocols to a sequence consisting\n // of just that string.\n if (typeof protocols === 'string') {\n protocols = [protocols]\n }\n\n // 6. If any of the values in protocols occur more than once or otherwise\n // fail to match the requirements for elements that comprise the value\n // of `Sec-WebSocket-Protocol` fields as defined by The WebSocket\n // protocol, then throw a \"SyntaxError\" DOMException.\n if (protocols.length !== new Set(protocols.map(p => p.toLowerCase())).size) {\n throw new DOMException('Invalid Sec-WebSocket-Protocol value', 'SyntaxError')\n }\n\n if (protocols.length > 0 && !protocols.every(p => isValidSubprotocol(p))) {\n throw new DOMException('Invalid Sec-WebSocket-Protocol value', 'SyntaxError')\n }\n\n // 7. Set this's url to urlRecord.\n this[kWebSocketURL] = urlRecord\n\n // 8. Let client be this's relevant settings object.\n\n // 9. Run this step in parallel:\n\n // 1. Establish a WebSocket connection given urlRecord, protocols,\n // and client.\n this[kController] = establishWebSocketConnection(\n urlRecord,\n protocols,\n this,\n (response) => this.#onConnectionEstablished(response),\n options\n )\n\n // Each WebSocket object has an associated ready state, which is a\n // number representing the state of the connection. Initially it must\n // be CONNECTING (0).\n this[kReadyState] = WebSocket.CONNECTING\n\n // The extensions attribute must initially return the empty string.\n\n // The protocol attribute must initially return the empty string.\n\n // Each WebSocket object has an associated binary type, which is a\n // BinaryType. Initially it must be \"blob\".\n this[kBinaryType] = 'blob'\n }\n\n /**\n * @see https://websockets.spec.whatwg.org/#dom-websocket-close\n * @param {number|undefined} code\n * @param {string|undefined} reason\n */\n close (code = undefined, reason = undefined) {\n webidl.brandCheck(this, WebSocket)\n\n if (code !== undefined) {\n code = webidl.converters['unsigned short'](code, { clamp: true })\n }\n\n if (reason !== undefined) {\n reason = webidl.converters.USVString(reason)\n }\n\n // 1. If code is present, but is neither an integer equal to 1000 nor an\n // integer in the range 3000 to 4999, inclusive, throw an\n // \"InvalidAccessError\" DOMException.\n if (code !== undefined) {\n if (code !== 1000 && (code < 3000 || code > 4999)) {\n throw new DOMException('invalid code', 'InvalidAccessError')\n }\n }\n\n let reasonByteLength = 0\n\n // 2. If reason is present, then run these substeps:\n if (reason !== undefined) {\n // 1. Let reasonBytes be the result of encoding reason.\n // 2. If reasonBytes is longer than 123 bytes, then throw a\n // \"SyntaxError\" DOMException.\n reasonByteLength = Buffer.byteLength(reason)\n\n if (reasonByteLength > 123) {\n throw new DOMException(\n `Reason must be less than 123 bytes; received ${reasonByteLength}`,\n 'SyntaxError'\n )\n }\n }\n\n // 3. Run the first matching steps from the following list:\n if (this[kReadyState] === WebSocket.CLOSING || this[kReadyState] === WebSocket.CLOSED) {\n // If this's ready state is CLOSING (2) or CLOSED (3)\n // Do nothing.\n } else if (!isEstablished(this)) {\n // If the WebSocket connection is not yet established\n // Fail the WebSocket connection and set this's ready state\n // to CLOSING (2).\n failWebsocketConnection(this, 'Connection was closed before it was established.')\n this[kReadyState] = WebSocket.CLOSING\n } else if (!isClosing(this)) {\n // If the WebSocket closing handshake has not yet been started\n // Start the WebSocket closing handshake and set this's ready\n // state to CLOSING (2).\n // - If neither code nor reason is present, the WebSocket Close\n // message must not have a body.\n // - If code is present, then the status code to use in the\n // WebSocket Close message must be the integer given by code.\n // - If reason is also present, then reasonBytes must be\n // provided in the Close message after the status code.\n\n const frame = new WebsocketFrameSend()\n\n // If neither code nor reason is present, the WebSocket Close\n // message must not have a body.\n\n // If code is present, then the status code to use in the\n // WebSocket Close message must be the integer given by code.\n if (code !== undefined && reason === undefined) {\n frame.frameData = Buffer.allocUnsafe(2)\n frame.frameData.writeUInt16BE(code, 0)\n } else if (code !== undefined && reason !== undefined) {\n // If reason is also present, then reasonBytes must be\n // provided in the Close message after the status code.\n frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength)\n frame.frameData.writeUInt16BE(code, 0)\n // the body MAY contain UTF-8-encoded data with value /reason/\n frame.frameData.write(reason, 2, 'utf-8')\n } else {\n frame.frameData = emptyBuffer\n }\n\n /** @type {import('stream').Duplex} */\n const socket = this[kResponse].socket\n\n socket.write(frame.createFrame(opcodes.CLOSE), (err) => {\n if (!err) {\n this[kSentClose] = true\n }\n })\n\n // Upon either sending or receiving a Close control frame, it is said\n // that _The WebSocket Closing Handshake is Started_ and that the\n // WebSocket connection is in the CLOSING state.\n this[kReadyState] = states.CLOSING\n } else {\n // Otherwise\n // Set this's ready state to CLOSING (2).\n this[kReadyState] = WebSocket.CLOSING\n }\n }\n\n /**\n * @see https://websockets.spec.whatwg.org/#dom-websocket-send\n * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data\n */\n send (data) {\n webidl.brandCheck(this, WebSocket)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'WebSocket.send' })\n\n data = webidl.converters.WebSocketSendData(data)\n\n // 1. If this's ready state is CONNECTING, then throw an\n // \"InvalidStateError\" DOMException.\n if (this[kReadyState] === WebSocket.CONNECTING) {\n throw new DOMException('Sent before connected.', 'InvalidStateError')\n }\n\n // 2. Run the appropriate set of steps from the following list:\n // https://datatracker.ietf.org/doc/html/rfc6455#section-6.1\n // https://datatracker.ietf.org/doc/html/rfc6455#section-5.2\n\n if (!isEstablished(this) || isClosing(this)) {\n return\n }\n\n /** @type {import('stream').Duplex} */\n const socket = this[kResponse].socket\n\n // If data is a string\n if (typeof data === 'string') {\n // If the WebSocket connection is established and the WebSocket\n // closing handshake has not yet started, then the user agent\n // must send a WebSocket Message comprised of the data argument\n // using a text frame opcode; if the data cannot be sent, e.g.\n // because it would need to be buffered but the buffer is full,\n // the user agent must flag the WebSocket as full and then close\n // the WebSocket connection. Any invocation of this method with a\n // string argument that does not throw an exception must increase\n // the bufferedAmount attribute by the number of bytes needed to\n // express the argument as UTF-8.\n\n const value = Buffer.from(data)\n const frame = new WebsocketFrameSend(value)\n const buffer = frame.createFrame(opcodes.TEXT)\n\n this.#bufferedAmount += value.byteLength\n socket.write(buffer, () => {\n this.#bufferedAmount -= value.byteLength\n })\n } else if (types.isArrayBuffer(data)) {\n // If the WebSocket connection is established, and the WebSocket\n // closing handshake has not yet started, then the user agent must\n // send a WebSocket Message comprised of data using a binary frame\n // opcode; if the data cannot be sent, e.g. because it would need\n // to be buffered but the buffer is full, the user agent must flag\n // the WebSocket as full and then close the WebSocket connection.\n // The data to be sent is the data stored in the buffer described\n // by the ArrayBuffer object. Any invocation of this method with an\n // ArrayBuffer argument that does not throw an exception must\n // increase the bufferedAmount attribute by the length of the\n // ArrayBuffer in bytes.\n\n const value = Buffer.from(data)\n const frame = new WebsocketFrameSend(value)\n const buffer = frame.createFrame(opcodes.BINARY)\n\n this.#bufferedAmount += value.byteLength\n socket.write(buffer, () => {\n this.#bufferedAmount -= value.byteLength\n })\n } else if (ArrayBuffer.isView(data)) {\n // If the WebSocket connection is established, and the WebSocket\n // closing handshake has not yet started, then the user agent must\n // send a WebSocket Message comprised of data using a binary frame\n // opcode; if the data cannot be sent, e.g. because it would need to\n // be buffered but the buffer is full, the user agent must flag the\n // WebSocket as full and then close the WebSocket connection. The\n // data to be sent is the data stored in the section of the buffer\n // described by the ArrayBuffer object that data references. Any\n // invocation of this method with this kind of argument that does\n // not throw an exception must increase the bufferedAmount attribute\n // by the length of data\u2019s buffer in bytes.\n\n const ab = Buffer.from(data, data.byteOffset, data.byteLength)\n\n const frame = new WebsocketFrameSend(ab)\n const buffer = frame.createFrame(opcodes.BINARY)\n\n this.#bufferedAmount += ab.byteLength\n socket.write(buffer, () => {\n this.#bufferedAmount -= ab.byteLength\n })\n } else if (isBlobLike(data)) {\n // If the WebSocket connection is established, and the WebSocket\n // closing handshake has not yet started, then the user agent must\n // send a WebSocket Message comprised of data using a binary frame\n // opcode; if the data cannot be sent, e.g. because it would need to\n // be buffered but the buffer is full, the user agent must flag the\n // WebSocket as full and then close the WebSocket connection. The data\n // to be sent is the raw data represented by the Blob object. Any\n // invocation of this method with a Blob argument that does not throw\n // an exception must increase the bufferedAmount attribute by the size\n // of the Blob object\u2019s raw data, in bytes.\n\n const frame = new WebsocketFrameSend()\n\n data.arrayBuffer().then((ab) => {\n const value = Buffer.from(ab)\n frame.frameData = value\n const buffer = frame.createFrame(opcodes.BINARY)\n\n this.#bufferedAmount += value.byteLength\n socket.write(buffer, () => {\n this.#bufferedAmount -= value.byteLength\n })\n })\n }\n }\n\n get readyState () {\n webidl.brandCheck(this, WebSocket)\n\n // The readyState getter steps are to return this's ready state.\n return this[kReadyState]\n }\n\n get bufferedAmount () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#bufferedAmount\n }\n\n get url () {\n webidl.brandCheck(this, WebSocket)\n\n // The url getter steps are to return this's url, serialized.\n return URLSerializer(this[kWebSocketURL])\n }\n\n get extensions () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#extensions\n }\n\n get protocol () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#protocol\n }\n\n get onopen () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#events.open\n }\n\n set onopen (fn) {\n webidl.brandCheck(this, WebSocket)\n\n if (this.#events.open) {\n this.removeEventListener('open', this.#events.open)\n }\n\n if (typeof fn === 'function') {\n this.#events.open = fn\n this.addEventListener('open', fn)\n } else {\n this.#events.open = null\n }\n }\n\n get onerror () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#events.error\n }\n\n set onerror (fn) {\n webidl.brandCheck(this, WebSocket)\n\n if (this.#events.error) {\n this.removeEventListener('error', this.#events.error)\n }\n\n if (typeof fn === 'function') {\n this.#events.error = fn\n this.addEventListener('error', fn)\n } else {\n this.#events.error = null\n }\n }\n\n get onclose () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#events.close\n }\n\n set onclose (fn) {\n webidl.brandCheck(this, WebSocket)\n\n if (this.#events.close) {\n this.removeEventListener('close', this.#events.close)\n }\n\n if (typeof fn === 'function') {\n this.#events.close = fn\n this.addEventListener('close', fn)\n } else {\n this.#events.close = null\n }\n }\n\n get onmessage () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#events.message\n }\n\n set onmessage (fn) {\n webidl.brandCheck(this, WebSocket)\n\n if (this.#events.message) {\n this.removeEventListener('message', this.#events.message)\n }\n\n if (typeof fn === 'function') {\n this.#events.message = fn\n this.addEventListener('message', fn)\n } else {\n this.#events.message = null\n }\n }\n\n get binaryType () {\n webidl.brandCheck(this, WebSocket)\n\n return this[kBinaryType]\n }\n\n set binaryType (type) {\n webidl.brandCheck(this, WebSocket)\n\n if (type !== 'blob' && type !== 'arraybuffer') {\n this[kBinaryType] = 'blob'\n } else {\n this[kBinaryType] = type\n }\n }\n\n /**\n * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol\n */\n #onConnectionEstablished (response) {\n // processResponse is called when the \"response\u2019s header list has been received and initialized.\"\n // once this happens, the connection is open\n this[kResponse] = response\n\n const parser = new ByteParser(this)\n parser.on('drain', function onParserDrain () {\n this.ws[kResponse].socket.resume()\n })\n\n response.socket.ws = this\n this[kByteParser] = parser\n\n // 1. Change the ready state to OPEN (1).\n this[kReadyState] = states.OPEN\n\n // 2. Change the extensions attribute\u2019s value to the extensions in use, if\n // it is not the null value.\n // https://datatracker.ietf.org/doc/html/rfc6455#section-9.1\n const extensions = response.headersList.get('sec-websocket-extensions')\n\n if (extensions !== null) {\n this.#extensions = extensions\n }\n\n // 3. Change the protocol attribute\u2019s value to the subprotocol in use, if\n // it is not the null value.\n // https://datatracker.ietf.org/doc/html/rfc6455#section-1.9\n const protocol = response.headersList.get('sec-websocket-protocol')\n\n if (protocol !== null) {\n this.#protocol = protocol\n }\n\n // 4. Fire an event named open at the WebSocket object.\n fireEvent('open', this)\n }\n}\n\n// https://websockets.spec.whatwg.org/#dom-websocket-connecting\nWebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING\n// https://websockets.spec.whatwg.org/#dom-websocket-open\nWebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN\n// https://websockets.spec.whatwg.org/#dom-websocket-closing\nWebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING\n// https://websockets.spec.whatwg.org/#dom-websocket-closed\nWebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED\n\nObject.defineProperties(WebSocket.prototype, {\n CONNECTING: staticPropertyDescriptors,\n OPEN: staticPropertyDescriptors,\n CLOSING: staticPropertyDescriptors,\n CLOSED: staticPropertyDescriptors,\n url: kEnumerableProperty,\n readyState: kEnumerableProperty,\n bufferedAmount: kEnumerableProperty,\n onopen: kEnumerableProperty,\n onerror: kEnumerableProperty,\n onclose: kEnumerableProperty,\n close: kEnumerableProperty,\n onmessage: kEnumerableProperty,\n binaryType: kEnumerableProperty,\n send: kEnumerableProperty,\n extensions: kEnumerableProperty,\n protocol: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: 'WebSocket',\n writable: false,\n enumerable: false,\n configurable: true\n }\n})\n\nObject.defineProperties(WebSocket, {\n CONNECTING: staticPropertyDescriptors,\n OPEN: staticPropertyDescriptors,\n CLOSING: staticPropertyDescriptors,\n CLOSED: staticPropertyDescriptors\n})\n\nwebidl.converters['sequence<DOMString>'] = webidl.sequenceConverter(\n webidl.converters.DOMString\n)\n\nwebidl.converters['DOMString or sequence<DOMString>'] = function (V) {\n if (webidl.util.Type(V) === 'Object' && Symbol.iterator in V) {\n return webidl.converters['sequence<DOMString>'](V)\n }\n\n return webidl.converters.DOMString(V)\n}\n\n// This implements the propsal made in https://github.com/whatwg/websockets/issues/42\nwebidl.converters.WebSocketInit = webidl.dictionaryConverter([\n {\n key: 'protocols',\n converter: webidl.converters['DOMString or sequence<DOMString>'],\n get defaultValue () {\n return []\n }\n },\n {\n key: 'dispatcher',\n converter: (V) => V,\n get defaultValue () {\n return getGlobalDispatcher()\n }\n },\n {\n key: 'headers',\n converter: webidl.nullableConverter(webidl.converters.HeadersInit)\n }\n])\n\nwebidl.converters['DOMString or sequence<DOMString> or WebSocketInit'] = function (V) {\n if (webidl.util.Type(V) === 'Object' && !(Symbol.iterator in V)) {\n return webidl.converters.WebSocketInit(V)\n }\n\n return { protocols: webidl.converters['DOMString or sequence<DOMString>'](V) }\n}\n\nwebidl.converters.WebSocketSendData = function (V) {\n if (webidl.util.Type(V) === 'Object') {\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, { strict: false })\n }\n\n if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {\n return webidl.converters.BufferSource(V)\n }\n }\n\n return webidl.converters.USVString(V)\n}\n\nmodule.exports = {\n WebSocket\n}\n", "'use strict'\n\nconst Client = require('./lib/client')\nconst Dispatcher = require('./lib/dispatcher')\nconst errors = require('./lib/core/errors')\nconst Pool = require('./lib/pool')\nconst BalancedPool = require('./lib/balanced-pool')\nconst Agent = require('./lib/agent')\nconst util = require('./lib/core/util')\nconst { InvalidArgumentError } = errors\nconst api = require('./lib/api')\nconst buildConnector = require('./lib/core/connect')\nconst MockClient = require('./lib/mock/mock-client')\nconst MockAgent = require('./lib/mock/mock-agent')\nconst MockPool = require('./lib/mock/mock-pool')\nconst mockErrors = require('./lib/mock/mock-errors')\nconst ProxyAgent = require('./lib/proxy-agent')\nconst { getGlobalDispatcher, setGlobalDispatcher } = require('./lib/global')\nconst DecoratorHandler = require('./lib/handler/DecoratorHandler')\nconst RedirectHandler = require('./lib/handler/RedirectHandler')\nconst createRedirectInterceptor = require('./lib/interceptor/redirectInterceptor')\n\nlet hasCrypto\ntry {\n require('crypto')\n hasCrypto = true\n} catch {\n hasCrypto = false\n}\n\nObject.assign(Dispatcher.prototype, api)\n\nmodule.exports.Dispatcher = Dispatcher\nmodule.exports.Client = Client\nmodule.exports.Pool = Pool\nmodule.exports.BalancedPool = BalancedPool\nmodule.exports.Agent = Agent\nmodule.exports.ProxyAgent = ProxyAgent\n\nmodule.exports.DecoratorHandler = DecoratorHandler\nmodule.exports.RedirectHandler = RedirectHandler\nmodule.exports.createRedirectInterceptor = createRedirectInterceptor\n\nmodule.exports.buildConnector = buildConnector\nmodule.exports.errors = errors\n\nfunction makeDispatcher (fn) {\n return (url, opts, handler) => {\n if (typeof opts === 'function') {\n handler = opts\n opts = null\n }\n\n if (!url || (typeof url !== 'string' && typeof url !== 'object' && !(url instanceof URL))) {\n throw new InvalidArgumentError('invalid url')\n }\n\n if (opts != null && typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n if (opts && opts.path != null) {\n if (typeof opts.path !== 'string') {\n throw new InvalidArgumentError('invalid opts.path')\n }\n\n let path = opts.path\n if (!opts.path.startsWith('/')) {\n path = `/${path}`\n }\n\n url = new URL(util.parseOrigin(url).origin + path)\n } else {\n if (!opts) {\n opts = typeof url === 'object' ? url : {}\n }\n\n url = util.parseURL(url)\n }\n\n const { agent, dispatcher = getGlobalDispatcher() } = opts\n\n if (agent) {\n throw new InvalidArgumentError('unsupported opts.agent. Did you mean opts.client?')\n }\n\n return fn.call(dispatcher, {\n ...opts,\n origin: url.origin,\n path: url.search ? `${url.pathname}${url.search}` : url.pathname,\n method: opts.method || (opts.body ? 'PUT' : 'GET')\n }, handler)\n }\n}\n\nmodule.exports.setGlobalDispatcher = setGlobalDispatcher\nmodule.exports.getGlobalDispatcher = getGlobalDispatcher\n\nif (util.nodeMajor > 16 || (util.nodeMajor === 16 && util.nodeMinor >= 8)) {\n let fetchImpl = null\n module.exports.fetch = async function fetch (resource) {\n if (!fetchImpl) {\n fetchImpl = require('./lib/fetch').fetch\n }\n\n try {\n return await fetchImpl(...arguments)\n } catch (err) {\n Error.captureStackTrace(err, this)\n throw err\n }\n }\n module.exports.Headers = require('./lib/fetch/headers').Headers\n module.exports.Response = require('./lib/fetch/response').Response\n module.exports.Request = require('./lib/fetch/request').Request\n module.exports.FormData = require('./lib/fetch/formdata').FormData\n module.exports.File = require('./lib/fetch/file').File\n module.exports.FileReader = require('./lib/fileapi/filereader').FileReader\n\n const { setGlobalOrigin, getGlobalOrigin } = require('./lib/fetch/global')\n\n module.exports.setGlobalOrigin = setGlobalOrigin\n module.exports.getGlobalOrigin = getGlobalOrigin\n\n const { CacheStorage } = require('./lib/cache/cachestorage')\n const { kConstruct } = require('./lib/cache/symbols')\n\n // Cache & CacheStorage are tightly coupled with fetch. Even if it may run\n // in an older version of Node, it doesn't have any use without fetch.\n module.exports.caches = new CacheStorage(kConstruct)\n}\n\nif (util.nodeMajor >= 16) {\n const { deleteCookie, getCookies, getSetCookies, setCookie } = require('./lib/cookies')\n\n module.exports.deleteCookie = deleteCookie\n module.exports.getCookies = getCookies\n module.exports.getSetCookies = getSetCookies\n module.exports.setCookie = setCookie\n\n const { parseMIMEType, serializeAMimeType } = require('./lib/fetch/dataURL')\n\n module.exports.parseMIMEType = parseMIMEType\n module.exports.serializeAMimeType = serializeAMimeType\n}\n\nif (util.nodeMajor >= 18 && hasCrypto) {\n const { WebSocket } = require('./lib/websocket/websocket')\n\n module.exports.WebSocket = WebSocket\n}\n\nmodule.exports.request = makeDispatcher(api.request)\nmodule.exports.stream = makeDispatcher(api.stream)\nmodule.exports.pipeline = makeDispatcher(api.pipeline)\nmodule.exports.connect = makeDispatcher(api.connect)\nmodule.exports.upgrade = makeDispatcher(api.upgrade)\n\nmodule.exports.MockClient = MockClient\nmodule.exports.MockPool = MockPool\nmodule.exports.MockAgent = MockAgent\nmodule.exports.mockErrors = mockErrors\n", null, null, null, "'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n", "'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n", "'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n", "'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n", "'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n", "'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n", "'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n", "'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n", "'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n", "'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n", "/**\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", "\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n", "/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n", "'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n", "'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tforceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = 1;\n}\n\nif ('FORCE_COLOR' in env) {\n\tif (env.FORCE_COLOR === 'true') {\n\t\tforceColor = 1;\n\t} else if (env.FORCE_COLOR === 'false') {\n\t\tforceColor = 0;\n\t} else {\n\t\tforceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(haveStream, streamIsTTY) {\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream, stream && stream.isTTY);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: translateLevel(supportsColor(true, tty.isatty(1))),\n\tstderr: translateLevel(supportsColor(true, tty.isatty(2)))\n};\n", "/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.format(...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n", "/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n", "var debug;\n\nmodule.exports = function () {\n if (!debug) {\n try {\n /* eslint global-require: off */\n debug = require(\"debug\")(\"follow-redirects\");\n }\n catch (error) { /* */ }\n if (typeof debug !== \"function\") {\n debug = function () { /* */ };\n }\n }\n debug.apply(null, arguments);\n};\n", "var url = require(\"url\");\nvar URL = url.URL;\nvar http = require(\"http\");\nvar https = require(\"https\");\nvar Writable = require(\"stream\").Writable;\nvar assert = require(\"assert\");\nvar debug = require(\"./debug\");\n\n// Whether to use the native URL object or the legacy url module\nvar useNativeURL = false;\ntry {\n assert(new URL());\n}\ncatch (error) {\n useNativeURL = error.code === \"ERR_INVALID_URL\";\n}\n\n// URL fields to preserve in copy operations\nvar preservedUrlFields = [\n \"auth\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"hash\",\n];\n\n// Create handlers that pass events from native requests\nvar events = [\"abort\", \"aborted\", \"connect\", \"error\", \"socket\", \"timeout\"];\nvar eventHandlers = Object.create(null);\nevents.forEach(function (event) {\n eventHandlers[event] = function (arg1, arg2, arg3) {\n this._redirectable.emit(event, arg1, arg2, arg3);\n };\n});\n\n// Error types with codes\nvar InvalidUrlError = createErrorType(\n \"ERR_INVALID_URL\",\n \"Invalid URL\",\n TypeError\n);\nvar RedirectionError = createErrorType(\n \"ERR_FR_REDIRECTION_FAILURE\",\n \"Redirected request failed\"\n);\nvar TooManyRedirectsError = createErrorType(\n \"ERR_FR_TOO_MANY_REDIRECTS\",\n \"Maximum number of redirects exceeded\",\n RedirectionError\n);\nvar MaxBodyLengthExceededError = createErrorType(\n \"ERR_FR_MAX_BODY_LENGTH_EXCEEDED\",\n \"Request body larger than maxBodyLength limit\"\n);\nvar WriteAfterEndError = createErrorType(\n \"ERR_STREAM_WRITE_AFTER_END\",\n \"write after end\"\n);\n\n// istanbul ignore next\nvar destroy = Writable.prototype.destroy || noop;\n\n// An HTTP(S) request that can be redirected\nfunction RedirectableRequest(options, responseCallback) {\n // Initialize the request\n Writable.call(this);\n this._sanitizeOptions(options);\n this._options = options;\n this._ended = false;\n this._ending = false;\n this._redirectCount = 0;\n this._redirects = [];\n this._requestBodyLength = 0;\n this._requestBodyBuffers = [];\n\n // Attach a callback if passed\n if (responseCallback) {\n this.on(\"response\", responseCallback);\n }\n\n // React to responses of native requests\n var self = this;\n this._onNativeResponse = function (response) {\n try {\n self._processResponse(response);\n }\n catch (cause) {\n self.emit(\"error\", cause instanceof RedirectionError ?\n cause : new RedirectionError({ cause: cause }));\n }\n };\n\n // Perform the first request\n this._performRequest();\n}\nRedirectableRequest.prototype = Object.create(Writable.prototype);\n\nRedirectableRequest.prototype.abort = function () {\n destroyRequest(this._currentRequest);\n this._currentRequest.abort();\n this.emit(\"abort\");\n};\n\nRedirectableRequest.prototype.destroy = function (error) {\n destroyRequest(this._currentRequest, error);\n destroy.call(this, error);\n return this;\n};\n\n// Writes buffered data to the current native request\nRedirectableRequest.prototype.write = function (data, encoding, callback) {\n // Writing is not allowed if end has been called\n if (this._ending) {\n throw new WriteAfterEndError();\n }\n\n // Validate input and shift parameters if necessary\n if (!isString(data) && !isBuffer(data)) {\n throw new TypeError(\"data should be a string, Buffer or Uint8Array\");\n }\n if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Ignore empty buffers, since writing them doesn't invoke the callback\n // https://github.com/nodejs/node/issues/22066\n if (data.length === 0) {\n if (callback) {\n callback();\n }\n return;\n }\n // Only write when we don't exceed the maximum body length\n if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {\n this._requestBodyLength += data.length;\n this._requestBodyBuffers.push({ data: data, encoding: encoding });\n this._currentRequest.write(data, encoding, callback);\n }\n // Error when we exceed the maximum body length\n else {\n this.emit(\"error\", new MaxBodyLengthExceededError());\n this.abort();\n }\n};\n\n// Ends the current native request\nRedirectableRequest.prototype.end = function (data, encoding, callback) {\n // Shift parameters if necessary\n if (isFunction(data)) {\n callback = data;\n data = encoding = null;\n }\n else if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Write data if needed and end\n if (!data) {\n this._ended = this._ending = true;\n this._currentRequest.end(null, null, callback);\n }\n else {\n var self = this;\n var currentRequest = this._currentRequest;\n this.write(data, encoding, function () {\n self._ended = true;\n currentRequest.end(null, null, callback);\n });\n this._ending = true;\n }\n};\n\n// Sets a header value on the current native request\nRedirectableRequest.prototype.setHeader = function (name, value) {\n this._options.headers[name] = value;\n this._currentRequest.setHeader(name, value);\n};\n\n// Clears a header value on the current native request\nRedirectableRequest.prototype.removeHeader = function (name) {\n delete this._options.headers[name];\n this._currentRequest.removeHeader(name);\n};\n\n// Global timeout for all underlying requests\nRedirectableRequest.prototype.setTimeout = function (msecs, callback) {\n var self = this;\n\n // Destroys the socket on timeout\n function destroyOnTimeout(socket) {\n socket.setTimeout(msecs);\n socket.removeListener(\"timeout\", socket.destroy);\n socket.addListener(\"timeout\", socket.destroy);\n }\n\n // Sets up a timer to trigger a timeout event\n function startTimer(socket) {\n if (self._timeout) {\n clearTimeout(self._timeout);\n }\n self._timeout = setTimeout(function () {\n self.emit(\"timeout\");\n clearTimer();\n }, msecs);\n destroyOnTimeout(socket);\n }\n\n // Stops a timeout from triggering\n function clearTimer() {\n // Clear the timeout\n if (self._timeout) {\n clearTimeout(self._timeout);\n self._timeout = null;\n }\n\n // Clean up all attached listeners\n self.removeListener(\"abort\", clearTimer);\n self.removeListener(\"error\", clearTimer);\n self.removeListener(\"response\", clearTimer);\n self.removeListener(\"close\", clearTimer);\n if (callback) {\n self.removeListener(\"timeout\", callback);\n }\n if (!self.socket) {\n self._currentRequest.removeListener(\"socket\", startTimer);\n }\n }\n\n // Attach callback if passed\n if (callback) {\n this.on(\"timeout\", callback);\n }\n\n // Start the timer if or when the socket is opened\n if (this.socket) {\n startTimer(this.socket);\n }\n else {\n this._currentRequest.once(\"socket\", startTimer);\n }\n\n // Clean up on events\n this.on(\"socket\", destroyOnTimeout);\n this.on(\"abort\", clearTimer);\n this.on(\"error\", clearTimer);\n this.on(\"response\", clearTimer);\n this.on(\"close\", clearTimer);\n\n return this;\n};\n\n// Proxy all other public ClientRequest methods\n[\n \"flushHeaders\", \"getHeader\",\n \"setNoDelay\", \"setSocketKeepAlive\",\n].forEach(function (method) {\n RedirectableRequest.prototype[method] = function (a, b) {\n return this._currentRequest[method](a, b);\n };\n});\n\n// Proxy all public ClientRequest properties\n[\"aborted\", \"connection\", \"socket\"].forEach(function (property) {\n Object.defineProperty(RedirectableRequest.prototype, property, {\n get: function () { return this._currentRequest[property]; },\n });\n});\n\nRedirectableRequest.prototype._sanitizeOptions = function (options) {\n // Ensure headers are always present\n if (!options.headers) {\n options.headers = {};\n }\n\n // Since http.request treats host as an alias of hostname,\n // but the url module interprets host as hostname plus port,\n // eliminate the host property to avoid confusion.\n if (options.host) {\n // Use hostname if set, because it has precedence\n if (!options.hostname) {\n options.hostname = options.host;\n }\n delete options.host;\n }\n\n // Complete the URL object when necessary\n if (!options.pathname && options.path) {\n var searchPos = options.path.indexOf(\"?\");\n if (searchPos < 0) {\n options.pathname = options.path;\n }\n else {\n options.pathname = options.path.substring(0, searchPos);\n options.search = options.path.substring(searchPos);\n }\n }\n};\n\n\n// Executes the next native request (initial or redirect)\nRedirectableRequest.prototype._performRequest = function () {\n // Load the native protocol\n var protocol = this._options.protocol;\n var nativeProtocol = this._options.nativeProtocols[protocol];\n if (!nativeProtocol) {\n throw new TypeError(\"Unsupported protocol \" + protocol);\n }\n\n // If specified, use the agent corresponding to the protocol\n // (HTTP and HTTPS use different types of agents)\n if (this._options.agents) {\n var scheme = protocol.slice(0, -1);\n this._options.agent = this._options.agents[scheme];\n }\n\n // Create the native request and set up its event handlers\n var request = this._currentRequest =\n nativeProtocol.request(this._options, this._onNativeResponse);\n request._redirectable = this;\n for (var event of events) {\n request.on(event, eventHandlers[event]);\n }\n\n // RFC7230\u00A75.3.1: When making a request directly to an origin server, [\u2026]\n // a client MUST send only the absolute path [\u2026] as the request-target.\n this._currentUrl = /^\\//.test(this._options.path) ?\n url.format(this._options) :\n // When making a request to a proxy, [\u2026]\n // a client MUST send the target URI in absolute-form [\u2026].\n this._options.path;\n\n // End a redirected request\n // (The first request must be ended explicitly with RedirectableRequest#end)\n if (this._isRedirect) {\n // Write the request entity and end\n var i = 0;\n var self = this;\n var buffers = this._requestBodyBuffers;\n (function writeNext(error) {\n // Only write if this request has not been redirected yet\n /* istanbul ignore else */\n if (request === self._currentRequest) {\n // Report any write errors\n /* istanbul ignore if */\n if (error) {\n self.emit(\"error\", error);\n }\n // Write the next buffer if there are still left\n else if (i < buffers.length) {\n var buffer = buffers[i++];\n /* istanbul ignore else */\n if (!request.finished) {\n request.write(buffer.data, buffer.encoding, writeNext);\n }\n }\n // End the request if `end` has been called on us\n else if (self._ended) {\n request.end();\n }\n }\n }());\n }\n};\n\n// Processes a response from the current native request\nRedirectableRequest.prototype._processResponse = function (response) {\n // Store the redirected response\n var statusCode = response.statusCode;\n if (this._options.trackRedirects) {\n this._redirects.push({\n url: this._currentUrl,\n headers: response.headers,\n statusCode: statusCode,\n });\n }\n\n // RFC7231\u00A76.4: The 3xx (Redirection) class of status code indicates\n // that further action needs to be taken by the user agent in order to\n // fulfill the request. If a Location header field is provided,\n // the user agent MAY automatically redirect its request to the URI\n // referenced by the Location field value,\n // even if the specific status code is not understood.\n\n // If the response is not a redirect; return it as-is\n var location = response.headers.location;\n if (!location || this._options.followRedirects === false ||\n statusCode < 300 || statusCode >= 400) {\n response.responseUrl = this._currentUrl;\n response.redirects = this._redirects;\n this.emit(\"response\", response);\n\n // Clean up\n this._requestBodyBuffers = [];\n return;\n }\n\n // The response is a redirect, so abort the current request\n destroyRequest(this._currentRequest);\n // Discard the remainder of the response to avoid waiting for data\n response.destroy();\n\n // RFC7231\u00A76.4: A client SHOULD detect and intervene\n // in cyclical redirections (i.e., \"infinite\" redirection loops).\n if (++this._redirectCount > this._options.maxRedirects) {\n throw new TooManyRedirectsError();\n }\n\n // Store the request headers if applicable\n var requestHeaders;\n var beforeRedirect = this._options.beforeRedirect;\n if (beforeRedirect) {\n requestHeaders = Object.assign({\n // The Host header was set by nativeProtocol.request\n Host: response.req.getHeader(\"host\"),\n }, this._options.headers);\n }\n\n // RFC7231\u00A76.4: Automatic redirection needs to done with\n // care for methods not known to be safe, [\u2026]\n // RFC7231\u00A76.4.2\u20133: For historical reasons, a user agent MAY change\n // the request method from POST to GET for the subsequent request.\n var method = this._options.method;\n if ((statusCode === 301 || statusCode === 302) && this._options.method === \"POST\" ||\n // RFC7231\u00A76.4.4: The 303 (See Other) status code indicates that\n // the server is redirecting the user agent to a different resource [\u2026]\n // A user agent can perform a retrieval request targeting that URI\n // (a GET or HEAD request if using HTTP) [\u2026]\n (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) {\n this._options.method = \"GET\";\n // Drop a possible entity and headers related to it\n this._requestBodyBuffers = [];\n removeMatchingHeaders(/^content-/i, this._options.headers);\n }\n\n // Drop the Host header, as the redirect might lead to a different host\n var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);\n\n // If the redirect is relative, carry over the host of the last request\n var currentUrlParts = parseUrl(this._currentUrl);\n var currentHost = currentHostHeader || currentUrlParts.host;\n var currentUrl = /^\\w+:/.test(location) ? this._currentUrl :\n url.format(Object.assign(currentUrlParts, { host: currentHost }));\n\n // Create the redirected request\n var redirectUrl = resolveUrl(location, currentUrl);\n debug(\"redirecting to\", redirectUrl.href);\n this._isRedirect = true;\n spreadUrlObject(redirectUrl, this._options);\n\n // Drop confidential headers when redirecting to a less secure protocol\n // or to a different domain that is not a superdomain\n if (redirectUrl.protocol !== currentUrlParts.protocol &&\n redirectUrl.protocol !== \"https:\" ||\n redirectUrl.host !== currentHost &&\n !isSubdomain(redirectUrl.host, currentHost)) {\n removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers);\n }\n\n // Evaluate the beforeRedirect callback\n if (isFunction(beforeRedirect)) {\n var responseDetails = {\n headers: response.headers,\n statusCode: statusCode,\n };\n var requestDetails = {\n url: currentUrl,\n method: method,\n headers: requestHeaders,\n };\n beforeRedirect(this._options, responseDetails, requestDetails);\n this._sanitizeOptions(this._options);\n }\n\n // Perform the redirected request\n this._performRequest();\n};\n\n// Wraps the key/value object of protocols with redirect functionality\nfunction wrap(protocols) {\n // Default settings\n var exports = {\n maxRedirects: 21,\n maxBodyLength: 10 * 1024 * 1024,\n };\n\n // Wrap each protocol\n var nativeProtocols = {};\n Object.keys(protocols).forEach(function (scheme) {\n var protocol = scheme + \":\";\n var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];\n var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol);\n\n // Executes a request, following redirects\n function request(input, options, callback) {\n // Parse parameters, ensuring that input is an object\n if (isURL(input)) {\n input = spreadUrlObject(input);\n }\n else if (isString(input)) {\n input = spreadUrlObject(parseUrl(input));\n }\n else {\n callback = options;\n options = validateUrl(input);\n input = { protocol: protocol };\n }\n if (isFunction(options)) {\n callback = options;\n options = null;\n }\n\n // Set defaults\n options = Object.assign({\n maxRedirects: exports.maxRedirects,\n maxBodyLength: exports.maxBodyLength,\n }, input, options);\n options.nativeProtocols = nativeProtocols;\n if (!isString(options.host) && !isString(options.hostname)) {\n options.hostname = \"::1\";\n }\n\n assert.equal(options.protocol, protocol, \"protocol mismatch\");\n debug(\"options\", options);\n return new RedirectableRequest(options, callback);\n }\n\n // Executes a GET request, following redirects\n function get(input, options, callback) {\n var wrappedRequest = wrappedProtocol.request(input, options, callback);\n wrappedRequest.end();\n return wrappedRequest;\n }\n\n // Expose the properties on the wrapped protocol\n Object.defineProperties(wrappedProtocol, {\n request: { value: request, configurable: true, enumerable: true, writable: true },\n get: { value: get, configurable: true, enumerable: true, writable: true },\n });\n });\n return exports;\n}\n\nfunction noop() { /* empty */ }\n\nfunction parseUrl(input) {\n var parsed;\n /* istanbul ignore else */\n if (useNativeURL) {\n parsed = new URL(input);\n }\n else {\n // Ensure the URL is valid and absolute\n parsed = validateUrl(url.parse(input));\n if (!isString(parsed.protocol)) {\n throw new InvalidUrlError({ input });\n }\n }\n return parsed;\n}\n\nfunction resolveUrl(relative, base) {\n /* istanbul ignore next */\n return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative));\n}\n\nfunction validateUrl(input) {\n if (/^\\[/.test(input.hostname) && !/^\\[[:0-9a-f]+\\]$/i.test(input.hostname)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n if (/^\\[/.test(input.host) && !/^\\[[:0-9a-f]+\\](:\\d+)?$/i.test(input.host)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n return input;\n}\n\nfunction spreadUrlObject(urlObject, target) {\n var spread = target || {};\n for (var key of preservedUrlFields) {\n spread[key] = urlObject[key];\n }\n\n // Fix IPv6 hostname\n if (spread.hostname.startsWith(\"[\")) {\n spread.hostname = spread.hostname.slice(1, -1);\n }\n // Ensure port is a number\n if (spread.port !== \"\") {\n spread.port = Number(spread.port);\n }\n // Concatenate path\n spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;\n\n return spread;\n}\n\nfunction removeMatchingHeaders(regex, headers) {\n var lastValue;\n for (var header in headers) {\n if (regex.test(header)) {\n lastValue = headers[header];\n delete headers[header];\n }\n }\n return (lastValue === null || typeof lastValue === \"undefined\") ?\n undefined : String(lastValue).trim();\n}\n\nfunction createErrorType(code, message, baseClass) {\n // Create constructor\n function CustomError(properties) {\n Error.captureStackTrace(this, this.constructor);\n Object.assign(this, properties || {});\n this.code = code;\n this.message = this.cause ? message + \": \" + this.cause.message : message;\n }\n\n // Attach constructor and set default properties\n CustomError.prototype = new (baseClass || Error)();\n Object.defineProperties(CustomError.prototype, {\n constructor: {\n value: CustomError,\n enumerable: false,\n },\n name: {\n value: \"Error [\" + code + \"]\",\n enumerable: false,\n },\n });\n return CustomError;\n}\n\nfunction destroyRequest(request, error) {\n for (var event of events) {\n request.removeListener(event, eventHandlers[event]);\n }\n request.on(\"error\", noop);\n request.destroy(error);\n}\n\nfunction isSubdomain(subdomain, domain) {\n assert(isString(subdomain) && isString(domain));\n var dot = subdomain.length - domain.length - 1;\n return dot > 0 && subdomain[dot] === \".\" && subdomain.endsWith(domain);\n}\n\nfunction isString(value) {\n return typeof value === \"string\" || value instanceof String;\n}\n\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\nfunction isBuffer(value) {\n return typeof value === \"object\" && (\"length\" in value);\n}\n\nfunction isURL(value) {\n return URL && value instanceof URL;\n}\n\n// Exports\nmodule.exports = wrap({ http: http, https: https });\nmodule.exports.wrap = wrap;\n", "{\n \"name\": \"axios\",\n \"version\": \"0.21.4\",\n \"description\": \"Promise based HTTP client for the browser and node.js\",\n \"main\": \"index.js\",\n \"scripts\": {\n \"test\": \"grunt test\",\n \"start\": \"node ./sandbox/server.js\",\n \"build\": \"NODE_ENV=production grunt build\",\n \"preversion\": \"npm test\",\n \"version\": \"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json\",\n \"postversion\": \"git push && git push --tags\",\n \"examples\": \"node ./examples/server.js\",\n \"coveralls\": \"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js\",\n \"fix\": \"eslint --fix lib/**/*.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/axios/axios.git\"\n },\n \"keywords\": [\n \"xhr\",\n \"http\",\n \"ajax\",\n \"promise\",\n \"node\"\n ],\n \"author\": \"Matt Zabriskie\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/axios/axios/issues\"\n },\n \"homepage\": \"https://axios-http.com\",\n \"devDependencies\": {\n \"coveralls\": \"^3.0.0\",\n \"es6-promise\": \"^4.2.4\",\n \"grunt\": \"^1.3.0\",\n \"grunt-banner\": \"^0.6.0\",\n \"grunt-cli\": \"^1.2.0\",\n \"grunt-contrib-clean\": \"^1.1.0\",\n \"grunt-contrib-watch\": \"^1.0.0\",\n \"grunt-eslint\": \"^23.0.0\",\n \"grunt-karma\": \"^4.0.0\",\n \"grunt-mocha-test\": \"^0.13.3\",\n \"grunt-ts\": \"^6.0.0-beta.19\",\n \"grunt-webpack\": \"^4.0.2\",\n \"istanbul-instrumenter-loader\": \"^1.0.0\",\n \"jasmine-core\": \"^2.4.1\",\n \"karma\": \"^6.3.2\",\n \"karma-chrome-launcher\": \"^3.1.0\",\n \"karma-firefox-launcher\": \"^2.1.0\",\n \"karma-jasmine\": \"^1.1.1\",\n \"karma-jasmine-ajax\": \"^0.1.13\",\n \"karma-safari-launcher\": \"^1.0.0\",\n \"karma-sauce-launcher\": \"^4.3.6\",\n \"karma-sinon\": \"^1.0.5\",\n \"karma-sourcemap-loader\": \"^0.3.8\",\n \"karma-webpack\": \"^4.0.2\",\n \"load-grunt-tasks\": \"^3.5.2\",\n \"minimist\": \"^1.2.0\",\n \"mocha\": \"^8.2.1\",\n \"sinon\": \"^4.5.0\",\n \"terser-webpack-plugin\": \"^4.2.3\",\n \"typescript\": \"^4.0.5\",\n \"url-search-params\": \"^0.10.0\",\n \"webpack\": \"^4.44.2\",\n \"webpack-dev-server\": \"^3.11.0\"\n },\n \"browser\": {\n \"./lib/adapters/http.js\": \"./lib/adapters/xhr.js\"\n },\n \"jsdelivr\": \"dist/axios.min.js\",\n \"unpkg\": \"dist/axios.min.js\",\n \"typings\": \"./index.d.ts\",\n \"dependencies\": {\n \"follow-redirects\": \"^1.14.0\"\n },\n \"bundlesize\": [\n {\n \"path\": \"./dist/axios.min.js\",\n \"threshold\": \"5kB\"\n }\n ]\n}\n", "'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildFullPath = require('../core/buildFullPath');\nvar buildURL = require('./../helpers/buildURL');\nvar http = require('http');\nvar https = require('https');\nvar httpFollow = require('follow-redirects').http;\nvar httpsFollow = require('follow-redirects').https;\nvar url = require('url');\nvar zlib = require('zlib');\nvar pkg = require('./../../package.json');\nvar createError = require('../core/createError');\nvar enhanceError = require('../core/enhanceError');\n\nvar isHttps = /https:?/;\n\n/**\n *\n * @param {http.ClientRequestArgs} options\n * @param {AxiosProxyConfig} proxy\n * @param {string} location\n */\nfunction setProxy(options, proxy, location) {\n options.hostname = proxy.host;\n options.host = proxy.host;\n options.port = proxy.port;\n options.path = location;\n\n // Basic proxy authorization\n if (proxy.auth) {\n var base64 = Buffer.from(proxy.auth.username + ':' + proxy.auth.password, 'utf8').toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n\n // If a proxy is used, any redirects must also pass through the proxy\n options.beforeRedirect = function beforeRedirect(redirection) {\n redirection.headers.host = redirection.host;\n setProxy(redirection, proxy, redirection.href);\n };\n}\n\n/*eslint consistent-return:0*/\nmodule.exports = function httpAdapter(config) {\n return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) {\n var resolve = function resolve(value) {\n resolvePromise(value);\n };\n var reject = function reject(value) {\n rejectPromise(value);\n };\n var data = config.data;\n var headers = config.headers;\n\n // Set User-Agent (required by some servers)\n // See https://github.com/axios/axios/issues/69\n if ('User-Agent' in headers || 'user-agent' in headers) {\n // User-Agent is specified; handle case where no UA header is desired\n if (!headers['User-Agent'] && !headers['user-agent']) {\n delete headers['User-Agent'];\n delete headers['user-agent'];\n }\n // Otherwise, use specified value\n } else {\n // Only set header if it hasn't been set in config\n headers['User-Agent'] = 'axios/' + pkg.version;\n }\n\n if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(createError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n config\n ));\n }\n\n // Add Content-Length header if data exists\n headers['Content-Length'] = data.length;\n }\n\n // HTTP basic authentication\n var auth = undefined;\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n // Parse url\n var fullPath = buildFullPath(config.baseURL, config.url);\n var parsed = url.parse(fullPath);\n var protocol = parsed.protocol || 'http:';\n\n if (!auth && parsed.auth) {\n var urlAuth = parsed.auth.split(':');\n var urlUsername = urlAuth[0] || '';\n var urlPassword = urlAuth[1] || '';\n auth = urlUsername + ':' + urlPassword;\n }\n\n if (auth) {\n delete headers.Authorization;\n }\n\n var isHttpsRequest = isHttps.test(protocol);\n var agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n\n var options = {\n path: buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\\?/, ''),\n method: config.method.toUpperCase(),\n headers: headers,\n agent: agent,\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth: auth\n };\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname;\n options.port = parsed.port;\n }\n\n var proxy = config.proxy;\n if (!proxy && proxy !== false) {\n var proxyEnv = protocol.slice(0, -1) + '_proxy';\n var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()];\n if (proxyUrl) {\n var parsedProxyUrl = url.parse(proxyUrl);\n var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY;\n var shouldProxy = true;\n\n if (noProxyEnv) {\n var noProxy = noProxyEnv.split(',').map(function trim(s) {\n return s.trim();\n });\n\n shouldProxy = !noProxy.some(function proxyMatch(proxyElement) {\n if (!proxyElement) {\n return false;\n }\n if (proxyElement === '*') {\n return true;\n }\n if (proxyElement[0] === '.' &&\n parsed.hostname.substr(parsed.hostname.length - proxyElement.length) === proxyElement) {\n return true;\n }\n\n return parsed.hostname === proxyElement;\n });\n }\n\n if (shouldProxy) {\n proxy = {\n host: parsedProxyUrl.hostname,\n port: parsedProxyUrl.port,\n protocol: parsedProxyUrl.protocol\n };\n\n if (parsedProxyUrl.auth) {\n var proxyUrlAuth = parsedProxyUrl.auth.split(':');\n proxy.auth = {\n username: proxyUrlAuth[0],\n password: proxyUrlAuth[1]\n };\n }\n }\n }\n }\n\n if (proxy) {\n options.headers.host = parsed.hostname + (parsed.port ? ':' + parsed.port : '');\n setProxy(options, proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path);\n }\n\n var transport;\n var isHttpsProxy = isHttpsRequest && (proxy ? isHttps.test(proxy.protocol) : true);\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsProxy ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n transport = isHttpsProxy ? httpsFollow : httpFollow;\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n }\n\n // Create the request\n var req = transport.request(options, function handleResponse(res) {\n if (req.aborted) return;\n\n // uncompress the response body transparently if required\n var stream = res;\n\n // return the last request in case of redirects\n var lastRequest = res.req || req;\n\n\n // if no content, is HEAD request or decompress disabled we should not decompress\n if (res.statusCode !== 204 && lastRequest.method !== 'HEAD' && config.decompress !== false) {\n switch (res.headers['content-encoding']) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'compress':\n case 'deflate':\n // add the unzipper to the body stream processing pipeline\n stream = stream.pipe(zlib.createUnzip());\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n }\n }\n\n var response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: res.headers,\n config: config,\n request: lastRequest\n };\n\n if (config.responseType === 'stream') {\n response.data = stream;\n settle(resolve, reject, response);\n } else {\n var responseBuffer = [];\n var totalResponseBytes = 0;\n stream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n totalResponseBytes += chunk.length;\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {\n stream.destroy();\n reject(createError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n config, null, lastRequest));\n }\n });\n\n stream.on('error', function handleStreamError(err) {\n if (req.aborted) return;\n reject(enhanceError(err, config, null, lastRequest));\n });\n\n stream.on('end', function handleStreamEnd() {\n var responseData = Buffer.concat(responseBuffer);\n if (config.responseType !== 'arraybuffer') {\n responseData = responseData.toString(config.responseEncoding);\n if (!config.responseEncoding || config.responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n\n response.data = responseData;\n settle(resolve, reject, response);\n });\n }\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n if (req.aborted && err.code !== 'ERR_FR_TOO_MANY_REDIRECTS') return;\n reject(enhanceError(err, config, null, req));\n });\n\n // Handle request timeout\n if (config.timeout) {\n // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.\n var timeout = parseInt(config.timeout, 10);\n\n if (isNaN(timeout)) {\n reject(createError(\n 'error trying to parse `config.timeout` to int',\n config,\n 'ERR_PARSE_TIMEOUT',\n req\n ));\n\n return;\n }\n\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devoring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(timeout, function handleRequestTimeout() {\n req.abort();\n reject(createError(\n 'timeout of ' + timeout + 'ms exceeded',\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n req\n ));\n });\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (req.aborted) return;\n\n req.abort();\n reject(cancel);\n });\n }\n\n // Send the request\n if (utils.isStream(data)) {\n data.on('error', function handleStreamError(err) {\n reject(enhanceError(err, config, null, req));\n }).pipe(req);\n } else {\n req.end(data);\n }\n });\n};\n", "'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n", "'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n", "'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n", "'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n", "'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n", "'use strict';\n\nvar pkg = require('./../../package.json');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.version + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed in ' + version));\n }\n\n if (isDeprecated && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n isOlderVersion: isOlderVersion,\n assertOptions: assertOptions,\n validators: validators\n};\n", "'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n", "'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n", "'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n", "'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n", "'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n", "'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n", "module.exports = require('./lib/axios');", null, null, "import { List } from \"@raycast/api\";\nimport { ReactElement, useState } from \"react\";\nimport { LanguageDropdown } from \"./QuickTranslate/LanguageDropdown\";\nimport { QuickTranslateListItem } from \"./QuickTranslate/QuickTranslateListItem\";\nimport { useDebouncedValue, usePreferences, useSourceLanguage, useTargetLanguages, useTextState } from \"./hooks\";\nimport { LanguageCode } from \"./languages\";\n\nexport default function QuickTranslate(): ReactElement {\n const [sourceLanguage] = useSourceLanguage();\n const [targetLanguages] = useTargetLanguages();\n const { proxy } = usePreferences();\n const [isShowingDetail, setIsShowingDetail] = useState(true);\n const [text, setText] = useTextState();\n const debouncedText = useDebouncedValue(text, 500).trim();\n\n const [loadingStates, setLoadingStates] = useState(new Map(targetLanguages.map((lang) => [lang, false])));\n\n const isAnyLoading = Array.from(loadingStates.values()).some((isLoading) => isLoading);\n\n function setIsLoading(lang: LanguageCode, isLoading: boolean) {\n setLoadingStates((prev) => new Map(prev).set(lang, isLoading));\n }\n\n return (\n <List\n searchBarPlaceholder=\"Enter text to translate\"\n searchText={text}\n onSearchTextChange={setText}\n isLoading={isAnyLoading}\n isShowingDetail={isShowingDetail}\n searchBarAccessory={<LanguageDropdown />}\n >\n {debouncedText\n ? targetLanguages.map((targetLanguage) => (\n <QuickTranslateListItem\n key={targetLanguage}\n debouncedText={debouncedText}\n languageSet={{ langFrom: sourceLanguage, langTo: [targetLanguage], proxy }}\n isShowingDetail={isShowingDetail}\n setIsShowingDetail={setIsShowingDetail}\n setIsLoading={(isLoading) => setIsLoading(targetLanguage, isLoading)}\n />\n ))\n : null}\n </List>\n );\n}\n", "import { Icon, List, useNavigation } from \"@raycast/api\";\nimport { useSourceLanguage, useTargetLanguages } from \"../hooks\";\nimport { LanguageCode, getLanguageFlag, getLanguageFlagByCode, languages } from \"../languages\";\nimport { TargetLanguageList } from \"./TargetLanguageList\";\n\nexport function LanguageDropdown() {\n const navigation = useNavigation();\n const [sourceLanguage, setSourceLanguage] = useSourceLanguage();\n const [targetLanguages] = useTargetLanguages();\n return (\n <List.Dropdown\n value={sourceLanguage}\n tooltip=\"Language\"\n onChange={(value) => {\n if (value === \"manageTargetLanguages\") {\n navigation.push(<TargetLanguageList />);\n } else {\n setSourceLanguage(value as LanguageCode);\n }\n }}\n >\n <List.Dropdown.Item\n key=\"manageTargetLanguages\"\n icon={Icon.Pencil}\n title={`Translate to -> ${targetLanguages.map(getLanguageFlagByCode).join(\" \")}`}\n value=\"manageTargetLanguages\"\n />\n {languages.map((lang) => (\n <List.Dropdown.Item key={lang.code} title={`${getLanguageFlag(lang)} ${lang.name}`} value={lang.code} />\n ))}\n </List.Dropdown>\n );\n}\n", "import { getPreferenceValues, getSelectedText } from \"@raycast/api\";\nimport { useCachedState } from \"@raycast/utils\";\nimport React from \"react\";\nimport { LanguageCode } from \"./languages\";\nimport { LanguageCodeSet, TranslatePreferences } from \"./types\";\nimport { AUTO_DETECT } from \"./simple-translate\";\n\ntype _LegacySingleLanguageCodeSet = {\n langFrom: LanguageCode;\n langTo: LanguageCode;\n};\n\ntype _StoredLanguageCodeSet = _LegacySingleLanguageCodeSet | LanguageCodeSet;\n\nconst unifyLegacyLanguageSet = (legacy: _StoredLanguageCodeSet): LanguageCodeSet => {\n return {\n langFrom: legacy.langFrom,\n langTo: Array.isArray(legacy.langTo) ? legacy.langTo : [legacy.langTo],\n };\n};\n\nexport const usePreferences = () => {\n return React.useMemo(() => getPreferenceValues<TranslatePreferences>(), []);\n};\n\nexport const useTextState = () => {\n const preferences = usePreferences();\n const [text, setText] = React.useState(\"\");\n const textRef = React.useRef(text);\n textRef.current = text;\n\n React.useEffect(() => {\n if (preferences.autoInput) {\n getSelectedText()\n .then((cbText) => {\n if (!textRef.current) {\n setText(cbText ?? \"\");\n }\n })\n .catch((err) => {\n console.log(\"Error:\", err);\n });\n }\n }, []);\n\n return [text, setText] as const;\n};\n\nexport const useSelectedLanguagesSet = () => {\n const preferences = usePreferences();\n const [selectedLanguageSet, setSelectedLanguageSet] = useCachedState<_StoredLanguageCodeSet>(\n \"selectedLanguageSet\",\n unifyLegacyLanguageSet({\n langFrom: preferences.lang1,\n langTo: preferences.lang2,\n }),\n );\n\n return [unifyLegacyLanguageSet(selectedLanguageSet), setSelectedLanguageSet] as const;\n};\n\nexport const usePreferencesLanguageSet = () => {\n const preferences = usePreferences();\n const preferencesLanguageSet: LanguageCodeSet = { langFrom: preferences.lang1, langTo: [preferences.lang2] };\n return preferencesLanguageSet;\n};\n\nexport const useDebouncedValue = <T>(value: T, delay: number) => {\n const [debouncedValue, setDebouncedValue] = React.useState<T>(value);\n\n React.useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n};\n\nexport const useAllLanguageSets = () => {\n const [languages, setLanguages] = useCachedState<_StoredLanguageCodeSet[]>(\"languages\", []);\n\n return [languages.map(unifyLegacyLanguageSet), setLanguages] as const;\n};\n\nexport const useSourceLanguage = () => {\n const [sourceLanguage, setSourceLanguage] = useCachedState<LanguageCode>(\"sourceLanguage\", AUTO_DETECT);\n\n return [sourceLanguage, setSourceLanguage] as const;\n};\n\nexport const useTargetLanguages = () => {\n const preferences = usePreferences();\n const [targetLanguages, setTargetLanguages] = useCachedState<LanguageCode[]>(\n \"targetLanguages\",\n [preferences.lang1, preferences.lang2].filter((lang) => lang !== AUTO_DETECT),\n );\n\n return [targetLanguages, setTargetLanguages] as const;\n};\n", "/**\n * Source https://github.com/iamtraction/google-translate\n * MIT License\n */\nimport querystring from \"querystring\";\nimport { request, ProxyAgent } from \"undici\";\nimport { TranslateOption, TranslateResponse } from \"./types\";\nimport { isSupported, getISOCode } from \"./languages\";\nimport { tokenGenerator } from \"./tokenGenerator\";\n\n/**\n * @function translate\n * @param {String} text The text to be translated.\n * @param {TranslateOption} options The options object for the translator.\n * @returns {TranslateResponse} The result containing the translation.\n */\nexport async function translate(text: string, options?: TranslateOption): Promise<TranslateResponse> {\n if (typeof options !== \"object\") options = {};\n text = String(text);\n\n // Check if a lanugage is in supported; if not, throw an error object.\n let error: Error | null = null;\n [ options.from, options.to ].forEach((lang) => {\n if (lang && !isSupported(lang)) {\n error = new Error();\n error.message = `The language '${lang}' is not supported.`;\n }\n });\n if (error) throw error;\n\n // If options object doesn\"t have \"from\" language, set it to \"auto\".\n if (!Object.prototype.hasOwnProperty.call(options, \"from\")) options.from = \"auto\";\n // If options object doesn\"t have \"to\" language, set it to \"en\".\n if (!Object.prototype.hasOwnProperty.call(options, \"to\")) options.to = \"en\";\n // If options object has a \"raw\" property evaluating to true, set it to true.\n options.raw = Boolean(options.raw);\n\n // Get ISO 639-1 codes for the languages.\n options.from = getISOCode(options.from);\n options.to = getISOCode(options.to);\n\n // Generate Google Translate token for the text to be translated.\n let token: any = await tokenGenerator(text);\n\n // URL & query string required by Google Translate.\n let baseUrl = \"https://translate.google.com/translate_a/single\";\n let data: any = {\n client: \"gtx\",\n sl: options.from,\n tl: options.to,\n hl: options.to,\n dt: [ \"at\", \"bd\", \"ex\", \"ld\", \"md\", \"qca\", \"rw\", \"rm\", \"ss\", \"t\" ],\n ie: \"UTF-8\",\n oe: \"UTF-8\",\n otf: 1,\n ssel: 0,\n tsel: 0,\n kc: 7,\n q: text,\n [token.name]: token.value\n };\n\n // Append query string to the request URL.\n let url = `${baseUrl}?${querystring.stringify(data)}`;\n\n let requestOptions: any;\n let requestUrl = url;\n // If request URL is greater than 2048 characters, use POST method.\n if (url.length > 2048) {\n delete data.q;\n requestUrl = `${baseUrl}?${querystring.stringify(data)}`;\n requestOptions = {\n method: \"POST\",\n body: new URLSearchParams({ q: text }).toString(),\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded;charset=UTF-8\",\n },\n };\n if (options.proxy) {\n requestOptions.dispatcher = new ProxyAgent(options.proxy);\n }\n }\n else {\n if (options.proxy) {\n requestOptions = { dispatcher: new ProxyAgent(options.proxy) };\n }\n }\n\n // Request translation from Google Translate.\n let response = await request(requestUrl, requestOptions);\n let body: any = await response.body.json();\n\n let result: TranslateResponse = {\n text: \"\",\n from: {\n language: {\n didYouMean: false,\n iso: \"\"\n },\n text: {\n autoCorrected: false,\n value: \"\",\n didYouMean: false\n }\n },\n raw: \"\"\n };\n\n // If user requested a raw output, add the raw response to the result\n if (options.raw) {\n result.raw = body;\n }\n\n // Parse body and add it to the result object.\n body[0].forEach((obj: any) => {\n if (obj[0]) {\n result.text += obj[0];\n }\n });\n\n if (body[2] === body[8][0][0]) {\n result.from.language.iso = body[2];\n }\n else {\n result.from.language.didYouMean = true;\n result.from.language.iso = body[8][0][0];\n }\n\n if (body[7] && body[7][0]) {\n let str = body[7][0];\n\n str = str.replace(/<b><i>/g, \"[\");\n str = str.replace(/<\\/i><\\/b>/g, \"]\");\n\n result.from.text.value = str;\n\n if (body[7][5] === true) {\n result.from.text.autoCorrected = true;\n }\n else {\n result.from.text.didYouMean = true;\n }\n }\n\n return result;\n}\n", "/**\n * Generated from https://translate.google.com\n *\n * The languages that Google Translate supports (as of 7/5/2020) alongside\n * their ISO 639-1 codes\n * @see https://cloud.google.com/translate/docs/languages\n * @see https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\n */\n\nexport const languages: any = {\n \"auto\": \"Automatic\",\n \"af\": \"Afrikaans\",\n \"sq\": \"Albanian\",\n \"am\": \"Amharic\",\n \"ar\": \"Arabic\",\n \"hy\": \"Armenian\",\n \"az\": \"Azerbaijani\",\n \"eu\": \"Basque\",\n \"be\": \"Belarusian\",\n \"bn\": \"Bengali\",\n \"bs\": \"Bosnian\",\n \"bg\": \"Bulgarian\",\n \"ca\": \"Catalan\",\n \"ceb\": \"Cebuano\",\n \"ny\": \"Chichewa\",\n \"zh-cn\": \"Chinese Simplified\",\n \"zh-tw\": \"Chinese Traditional\",\n \"co\": \"Corsican\",\n \"hr\": \"Croatian\",\n \"cs\": \"Czech\",\n \"da\": \"Danish\",\n \"nl\": \"Dutch\",\n \"en\": \"English\",\n \"eo\": \"Esperanto\",\n \"et\": \"Estonian\",\n \"tl\": \"Filipino\",\n \"fi\": \"Finnish\",\n \"fr\": \"French\",\n \"fy\": \"Frisian\",\n \"gl\": \"Galician\",\n \"ka\": \"Georgian\",\n \"de\": \"German\",\n \"el\": \"Greek\",\n \"gu\": \"Gujarati\",\n \"ht\": \"Haitian Creole\",\n \"ha\": \"Hausa\",\n \"haw\": \"Hawaiian\",\n \"iw\": \"Hebrew\",\n \"hi\": \"Hindi\",\n \"hmn\": \"Hmong\",\n \"hu\": \"Hungarian\",\n \"is\": \"Icelandic\",\n \"ig\": \"Igbo\",\n \"id\": \"Indonesian\",\n \"ga\": \"Irish\",\n \"it\": \"Italian\",\n \"ja\": \"Japanese\",\n \"jw\": \"Javanese\",\n \"kn\": \"Kannada\",\n \"kk\": \"Kazakh\",\n \"km\": \"Khmer\",\n \"ko\": \"Korean\",\n \"ku\": \"Kurdish (Kurmanji)\",\n \"ky\": \"Kyrgyz\",\n \"lo\": \"Lao\",\n \"la\": \"Latin\",\n \"lv\": \"Latvian\",\n \"lt\": \"Lithuanian\",\n \"lb\": \"Luxembourgish\",\n \"mk\": \"Macedonian\",\n \"mg\": \"Malagasy\",\n \"ms\": \"Malay\",\n \"ml\": \"Malayalam\",\n \"mt\": \"Maltese\",\n \"mi\": \"Maori\",\n \"mr\": \"Marathi\",\n \"mn\": \"Mongolian\",\n \"my\": \"Myanmar (Burmese)\",\n \"ne\": \"Nepali\",\n \"no\": \"Norwegian\",\n \"ps\": \"Pashto\",\n \"fa\": \"Persian\",\n \"pl\": \"Polish\",\n \"pt\": \"Portuguese\",\n \"pa\": \"Punjabi\",\n \"ro\": \"Romanian\",\n \"ru\": \"Russian\",\n \"sm\": \"Samoan\",\n \"gd\": \"Scots Gaelic\",\n \"sr\": \"Serbian\",\n \"st\": \"Sesotho\",\n \"sn\": \"Shona\",\n \"sd\": \"Sindhi\",\n \"si\": \"Sinhala\",\n \"sk\": \"Slovak\",\n \"sl\": \"Slovenian\",\n \"so\": \"Somali\",\n \"es\": \"Spanish\",\n \"su\": \"Sundanese\",\n \"sw\": \"Swahili\",\n \"sv\": \"Swedish\",\n \"tg\": \"Tajik\",\n \"ta\": \"Tamil\",\n \"te\": \"Telugu\",\n \"th\": \"Thai\",\n \"tr\": \"Turkish\",\n \"uk\": \"Ukrainian\",\n \"ur\": \"Urdu\",\n \"uz\": \"Uzbek\",\n \"vi\": \"Vietnamese\",\n \"cy\": \"Welsh\",\n \"xh\": \"Xhosa\",\n \"yi\": \"Yiddish\",\n \"yo\": \"Yoruba\",\n \"zu\": \"Zulu\"\n};\n\n/**\n * Returns the ISO 639-1 code of the desiredLang \u2013 if it is supported by\n * Google Translate\n * @param {string} language The name or the code of the desired language\n * @returns {string|undefined} The ISO 639-1 code of the language or null if the\n * language is not supported\n */\nexport function getISOCode(language: string | undefined) {\n if (!language) return undefined;\n language = language.toLowerCase();\n if (language in languages) return language;\n\n let keys = Object.keys(languages).filter((key) => {\n if (typeof languages[key] !== \"string\") return false;\n\n return languages[key].toLowerCase() === language;\n });\n\n return keys[0] || undefined;\n}\n\n/**\n * Returns true if the desiredLang is supported by Google Translate and false otherwise\n * @param {string} language The ISO 639-1 code or the name of the desired language.\n * @returns {boolean} If the language is supported or not.\n */\nexport function isSupported(language: string | undefined) {\n return Boolean(getISOCode(language));\n}\n", "/**\n * Source https://github.com/iamtraction/google-translate\n * MIT License\n */\n\nimport { request } from \"undici\";\n\nfunction zr(a: string) {\n let b: any;\n if (null !== yr) b = yr;\n else {\n b = wr(String.fromCharCode(84));\n let c = wr(String.fromCharCode(75));\n b = [ b(), b() ];\n b[1] = c();\n b = (yr = window[b.join(c())] || \"\") || \"\";\n }\n let d: any = wr(String.fromCharCode(116));\n let c: any = wr(String.fromCharCode(107));\n d = [ d(), d() ];\n d[1] = c();\n c = \"&\" + d.join(\"\") + \"=\";\n d = b.split(\".\");\n b = Number(d[0]) || 0;\n\n for (var e: any[] = [], f = 0, g = 0; g < a.length; g++) {\n let l = a.charCodeAt(g);\n 128 > l ? e[f++] = l : (2048 > l ? e[f++] = l >> 6 | 192 : ((l & 64512) == 55296 && g + 1 < a.length && (a.charCodeAt(g + 1) & 64512) == 56320 ? (l = 65536 + ((l & 1023) << 10) + (a.charCodeAt(++g) & 1023), e[f++] = l >> 18 | 240, e[f++] = l >> 12 & 63 | 128) : e[f++] = l >> 12 | 224, e[f++] = l >> 6 & 63 | 128), e[f++] = l & 63 | 128);\n }\n let h: number = Number(b);\n for (let f = 0; f < e.length; f++) a += e[f], h = xr(h, \"+-a^+6\");\n h = xr(h, \"+-3^+b+-f\");\n h ^= Number(d[1]) || 0;\n 0 > h && (h = (h & 2147483647) + 2147483648);\n h %= 1E6;\n return c + (a.toString() + \".\" + (h ^ b));\n}\n\nlet yr: string | null = null;\nlet wr = function(a: string) {\n return function() {\n return a;\n };\n};\nlet xr = function(a: number, b: string) {\n for (let c = 0; c < b.length - 2; c += 3) {\n let d = b.charAt(c + 2);\n let e = d >= \"a\" ? d.charCodeAt(0) - 87 : Number(d);\n e = b.charAt(c + 1) == \"+\" ? a >>> e : a << e;\n a = b.charAt(c) == \"+\" ? a + e & 4294967295 : a ^ e;\n }\n return a;\n};\n\nconst config = new Map();\n\nconst window: any = {\n TKK: config.get(\"TKK\") || \"0\"\n};\n\nasync function updateTKK() {\n let now = Math.floor(Date.now() / 3600000);\n\n if (Number(window.TKK.split(\".\")[0]) !== now) {\n const response = await request(\"https://translate.google.com\");\n const body = await response.body.text();\n\n // code will extract something like tkk:'1232135.131231321312', we need only value\n const code = body.match(/tkk:'\\d+.\\d+'/g);\n\n if (code && code.length > 0) {\n // extracting value tkk:'1232135.131231321312', this will extract only token: 1232135.131231321312\n const xt = code[0].split(\":\")[1].replace(/'/g, \"\");\n\n window.TKK = xt;\n config.set(\"TKK\", xt);\n }\n }\n}\n\nexport async function tokenGenerator(text: string) {\n try {\n await updateTKK();\n\n let tk = zr(text);\n tk = tk.replace(\"&tk=\", \"\");\n return { name: \"tk\", value: tk };\n }\n catch (error) {\n return error;\n }\n}\n", "import { translate } from \"../vendor/@iamtraction-translate/src\";\nimport * as googleTTS from \"google-tts-api\";\nimport * as os from \"os\";\nimport * as path from \"path\";\nimport * as https from \"https\";\nimport * as child_process from \"child_process\";\nimport { existsSync, writeFileSync, unlinkSync } from \"fs\";\nimport { LanguageCode } from \"./languages\";\nimport { LanguageCodeSet } from \"./types\";\n\nexport const AUTO_DETECT = \"auto\";\n\nexport type SimpleTranslateResult = {\n originalText: string;\n translatedText: string;\n pronunciationText?: string;\n langFrom: LanguageCode;\n langTo: LanguageCode;\n};\n\nexport class TranslateError extends Error {}\n\nconst extractPronounceTextFromRaw = (raw: string) => {\n return raw?.[0]?.[1]?.[2];\n};\n\nexport async function simpleTranslate(text: string, options: LanguageCodeSet): Promise<SimpleTranslateResult> {\n try {\n if (!text) {\n return {\n originalText: text,\n translatedText: \"\",\n pronunciationText: \"\",\n langFrom: options.langFrom,\n langTo: options.langTo[0],\n };\n }\n\n const translated = await translate(text, {\n from: options.langFrom,\n to: options.langTo[0],\n raw: true,\n proxy: options.proxy,\n });\n\n return {\n originalText: text,\n translatedText: translated.text,\n pronunciationText: extractPronounceTextFromRaw(translated?.raw),\n langFrom: translated?.from?.language?.iso as LanguageCode,\n langTo: options.langTo[0],\n };\n } catch (err) {\n if (err instanceof Error) {\n if (err.name === \"TooManyRequestsError\") {\n const error = new TranslateError();\n error.name = \"Too many requests\";\n error.message = \"please try again later\";\n throw error;\n }\n\n const error = new TranslateError();\n error.name = err.name;\n error.message = err.message;\n throw error;\n }\n\n throw err;\n }\n}\n\nexport async function doubleWayTranslate(text: string, options: LanguageCodeSet) {\n if (!text) {\n return [];\n }\n\n if (options.langFrom === AUTO_DETECT) {\n const translated1 = await simpleTranslate(text, {\n langFrom: options.langFrom,\n langTo: options.langTo,\n });\n\n if (translated1?.langFrom) {\n const translated2 = await simpleTranslate(translated1.translatedText, {\n langFrom: options.langTo[0],\n langTo: [translated1.langFrom],\n });\n\n return [translated1, translated2];\n }\n\n return [];\n } else {\n return await Promise.all([\n simpleTranslate(text, {\n langFrom: options.langFrom,\n langTo: options.langTo,\n }),\n simpleTranslate(text, {\n langFrom: options.langTo[0],\n langTo: [options.langFrom],\n }),\n ]);\n }\n}\n\nexport async function playTTS(text: string, langTo: string) {\n const audioUrl = googleTTS.getAudioUrl(text, {\n lang: langTo,\n slow: false,\n host: \"https://translate.google.com\",\n });\n https.get(audioUrl, (response) => {\n const chunks: Uint8Array[] = [];\n\n response.on(\"data\", (chunk) => {\n chunks.push(chunk);\n });\n\n response.on(\"end\", () => {\n const audioData = Buffer.concat(chunks);\n\n const tempFilePath = path.join(os.tmpdir(), \"translation.mp3\");\n writeFileSync(tempFilePath, audioData);\n\n // Play the audio file using afplay\n const afplayProcess = child_process.spawn(\"afplay\", [tempFilePath]);\n\n afplayProcess.on(\"exit\", (code) => {\n if (code !== 0) {\n console.error(\"Error playing audio\");\n }\n if (existsSync(tempFilePath)) {\n unlinkSync(tempFilePath);\n }\n });\n });\n });\n}\n", "{\n \"Auto-detect\": {\n \"code\": \"auto\",\n \"name\": \"Auto-detect\",\n \"flag\": \"\uD83C\uDF10\"\n },\n \"Afrikaans\": {\n \"code\": \"af\",\n \"name\": \"Afrikaans\",\n \"flag\": \"\uD83C\uDDFF\uD83C\uDDE6\"\n },\n \"Albanian\": {\n \"code\": \"sq\",\n \"name\": \"Albanian\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDF1\"\n },\n \"Amharic\": {\n \"code\": \"am\",\n \"name\": \"Amharic\"\n },\n \"Arabic\": {\n \"code\": \"ar\",\n \"name\": \"Arabic\"\n },\n \"Armenian\": {\n \"code\": \"hy\",\n \"name\": \"Armenian\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDF2\"\n },\n \"Azerbaijani\": {\n \"code\": \"az\",\n \"name\": \"Azerbaijani\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDFF\"\n },\n \"Basque\": {\n \"code\": \"eu\",\n \"name\": \"Basque\"\n },\n \"Belarusian\": {\n \"code\": \"be\",\n \"name\": \"Belarusian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDFE\"\n },\n \"Bengali\": {\n \"code\": \"bn\",\n \"name\": \"Bengali\"\n },\n \"Bosnian\": {\n \"code\": \"bs\",\n \"name\": \"Bosnian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDE6\"\n },\n \"Bulgarian\": {\n \"code\": \"bg\",\n \"name\": \"Bulgarian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDEC\"\n },\n \"Catalan\": {\n \"code\": \"ca\",\n \"name\": \"Catalan\"\n },\n \"Cebuano\": {\n \"code\": \"ceb\",\n \"name\": \"Cebuano\"\n },\n \"Chinese Simplified\": {\n \"code\": \"zh-CN\",\n \"name\": \"Chinese Simplified\",\n \"flag\": \"\uD83C\uDDE8\uD83C\uDDF3\"\n },\n \"Mandarin\": {\n \"code\": \"zh-TW\",\n \"name\": \"Chinese Traditional\"\n },\n \"Corsican\": {\n \"code\": \"co\",\n \"name\": \"Corsican\"\n },\n \"Croatian\": {\n \"code\": \"hr\",\n \"name\": \"Croatian\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDF7\"\n },\n \"Czech\": {\n \"code\": \"cs\",\n \"name\": \"Czech\",\n \"flag\": \"\uD83C\uDDE8\uD83C\uDDFF\"\n },\n \"Danish\": {\n \"code\": \"da\",\n \"name\": \"Danish\",\n \"flag\": \"\uD83C\uDDE9\uD83C\uDDF0\"\n },\n \"Dutch\": {\n \"code\": \"nl\",\n \"name\": \"Dutch\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF1\"\n },\n \"English\": {\n \"code\": \"en\",\n \"name\": \"English\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDE7\"\n },\n \"Esperanto\": {\n \"code\": \"eo\",\n \"name\": \"Esperanto\"\n },\n \"Estonian\": {\n \"code\": \"et\",\n \"name\": \"Estonian\",\n \"flag\": \"\uD83C\uDDEA\uD83C\uDDEA\"\n },\n \"Finnish\": {\n \"code\": \"fi\",\n \"name\": \"Finnish\",\n \"flag\": \"\uD83C\uDDEB\uD83C\uDDEE\"\n },\n \"French\": {\n \"code\": \"fr\",\n \"name\": \"French\",\n \"flag\": \"\uD83C\uDDEB\uD83C\uDDF7\"\n },\n \"Frisian\": {\n \"code\": \"fy\",\n \"name\": \"Frisian\"\n },\n \"Galician\": {\n \"code\": \"gl\",\n \"name\": \"Galician\"\n },\n \"Georgian\": {\n \"code\": \"ka\",\n \"name\": \"Georgian\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDEA\"\n },\n \"German\": {\n \"code\": \"de\",\n \"name\": \"German\",\n \"flag\": \"\uD83C\uDDE9\uD83C\uDDEA\"\n },\n \"Greek\": {\n \"code\": \"el\",\n \"name\": \"Greek\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDF7\"\n },\n \"Gujarati\": {\n \"code\": \"gu\",\n \"name\": \"Gujarati\"\n },\n \"Haitian Creole\": {\n \"code\": \"ht\",\n \"name\": \"Haitian Creole\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDF9\"\n },\n \"Hausa\": {\n \"code\": \"ha\",\n \"name\": \"Hausa\"\n },\n \"Hawaiian\": {\n \"code\": \"haw\",\n \"name\": \"Hawaiian\",\n \"flag\": \"\uD83C\uDF3A\"\n },\n \"Hebrew\": {\n \"code\": \"iw\",\n \"name\": \"Hebrew\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF1\"\n },\n \"Hindi\": {\n \"code\": \"hi\",\n \"name\": \"Hindi\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF3\"\n },\n \"Hmong\": {\n \"code\": \"hmn\",\n \"name\": \"Hmong\"\n },\n \"Hungarian\": {\n \"code\": \"hu\",\n \"name\": \"Hungarian\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDFA\"\n },\n \"Icelandic\": {\n \"code\": \"is\",\n \"name\": \"Icelandic\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF8\"\n },\n \"Igbo\": {\n \"code\": \"ig\",\n \"name\": \"Igbo\"\n },\n \"Indonesian\": {\n \"code\": \"id\",\n \"name\": \"Indonesian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDE9\"\n },\n \"Irish\": {\n \"code\": \"ga\",\n \"name\": \"Irish\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDEA\"\n },\n \"Italian\": {\n \"code\": \"it\",\n \"name\": \"Italian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF9\"\n },\n \"Japanese\": {\n \"code\": \"ja\",\n \"name\": \"Japanese\",\n \"flag\": \"\uD83C\uDDEF\uD83C\uDDF5\"\n },\n \"Javanese\": {\n \"code\": \"jv\",\n \"name\": \"Javanese\"\n },\n \"Kannada\": {\n \"code\": \"kn\",\n \"name\": \"Kannada\"\n },\n \"Kazakh\": {\n \"code\": \"kk\",\n \"name\": \"Kazakh\",\n \"flag\": \"\uD83C\uDDF0\uD83C\uDDFF\"\n },\n \"Khmer\": {\n \"code\": \"km\",\n \"name\": \"Khmer\"\n },\n \"Kinyarwanda\": {\n \"code\": \"rw\",\n \"name\": \"Kinyarwanda\"\n },\n \"Korean\": {\n \"code\": \"ko\",\n \"name\": \"Korean\",\n \"flag\": \"\uD83C\uDDF0\uD83C\uDDF7\"\n },\n \"Kurdish\": {\n \"code\": \"ku\",\n \"name\": \"Kurdish\"\n },\n \"Kyrgyz\": {\n \"code\": \"ky\",\n \"name\": \"Kyrgyz\"\n },\n \"Lao\": {\n \"code\": \"lo\",\n \"name\": \"Lao\"\n },\n \"Latvian\": {\n \"code\": \"lv\",\n \"name\": \"Latvian\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDFB\"\n },\n \"Lithuanian\": {\n \"code\": \"lt\",\n \"name\": \"Lithuanian\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDF9\"\n },\n \"Luxembourgish\": {\n \"code\": \"lb\",\n \"name\": \"Luxembourgish\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDFA\"\n },\n \"Latin\": {\n \"code\": \"la\",\n \"name\": \"Latin\",\n \"flag\": \"\uD83C\uDFDB\"\n },\n \"Macedonian\": {\n \"code\": \"mk\",\n \"name\": \"Macedonian\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF0\"\n },\n \"Malagasy\": {\n \"code\": \"mg\",\n \"name\": \"Malagasy\"\n },\n \"Malay\": {\n \"code\": \"ms\",\n \"name\": \"Malay\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDFE\"\n },\n \"Malayalam\": {\n \"code\": \"ml\",\n \"name\": \"Malayalam\"\n },\n \"Maltese\": {\n \"code\": \"mt\",\n \"name\": \"Maltese\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF9\"\n },\n \"Maori\": {\n \"code\": \"mi\",\n \"name\": \"Maori\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDFF\"\n },\n \"Marathi\": {\n \"code\": \"mr\",\n \"name\": \"Marathi\"\n },\n \"Mongolian\": {\n \"code\": \"mn\",\n \"name\": \"Mongolian\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF3\"\n },\n \"Myanmar (Burmese)\": {\n \"code\": \"my\",\n \"name\": \"Myanmar (Burmese)\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF2\"\n },\n \"Nepali\": {\n \"code\": \"ne\",\n \"name\": \"Nepali\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF5\"\n },\n \"Norwegian\": {\n \"code\": \"no\",\n \"name\": \"Norwegian\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF4\"\n },\n \"Nyanja (Chichewa)\": {\n \"code\": \"ny\",\n \"name\": \"Nyanja (Chichewa)\"\n },\n \"Odia (Oriya)\": {\n \"code\": \"or\",\n \"name\": \"Odia (Oriya)\"\n },\n \"Pashto\": {\n \"code\": \"ps\",\n \"name\": \"Pashto\"\n },\n \"Persian\": {\n \"code\": \"fa\",\n \"name\": \"Persian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF7\"\n },\n \"Polish\": {\n \"code\": \"pl\",\n \"name\": \"Polish\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDF1\"\n },\n \"Portuguese\": {\n \"code\": \"pt\",\n \"name\": \"Portuguese\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDF9\"\n },\n \"Punjabi\": {\n \"code\": \"pa\",\n \"name\": \"Punjabi\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF3\"\n },\n \"Romanian\": {\n \"code\": \"ro\",\n \"name\": \"Romanian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDF4\"\n },\n \"Russian\": {\n \"code\": \"ru\",\n \"name\": \"Russian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDFA\"\n },\n \"Samoan\": {\n \"code\": \"sm\",\n \"name\": \"Samoan\"\n },\n \"Scots Gaelic\": {\n \"code\": \"gd\",\n \"name\": \"Scots Gaelic\",\n \"flag\": \"\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74\uDB40\uDC7F\"\n },\n \"Serbian\": {\n \"code\": \"sr\",\n \"name\": \"Serbian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDF8\"\n },\n \"Sesotho\": {\n \"code\": \"st\",\n \"name\": \"Sesotho\"\n },\n \"Shona\": {\n \"code\": \"sn\",\n \"name\": \"Shona\"\n },\n \"Sindhi\": {\n \"code\": \"sd\",\n \"name\": \"Sindhi\"\n },\n \"Sinhala (Sinhalese)\": {\n \"code\": \"si\",\n \"name\": \"Sinhala (Sinhalese)\"\n },\n \"Slovak\": {\n \"code\": \"sk\",\n \"name\": \"Slovak\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDF0\"\n },\n \"Slovenian\": {\n \"code\": \"sl\",\n \"name\": \"Slovenian\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDEE\"\n },\n \"Somali\": {\n \"code\": \"so\",\n \"name\": \"Somali\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDF4\"\n },\n \"Spanish\": {\n \"code\": \"es\",\n \"name\": \"Spanish\",\n \"flag\": \"\uD83C\uDDEA\uD83C\uDDF8\"\n },\n \"Sundanese\": {\n \"code\": \"su\",\n \"name\": \"Sundanese\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDE9\"\n },\n \"Swahili\": {\n \"code\": \"sw\",\n \"name\": \"Swahili\"\n },\n \"Swedish\": {\n \"code\": \"sv\",\n \"name\": \"Swedish\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDEA\"\n },\n \"Tagalog (Filipino)\": {\n \"code\": \"tl\",\n \"name\": \"Tagalog (Filipino)\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDED\"\n },\n \"Tajik\": {\n \"code\": \"tg\",\n \"name\": \"Tajik\"\n },\n \"Tamil\": {\n \"code\": \"ta\",\n \"name\": \"Tamil\"\n },\n \"Tatar\": {\n \"code\": \"tt\",\n \"name\": \"Tatar\"\n },\n \"Telugu\": {\n \"code\": \"te\",\n \"name\": \"Telugu\"\n },\n \"Thai\": {\n \"code\": \"th\",\n \"name\": \"Thai\"\n },\n \"Turkish\": {\n \"code\": \"tr\",\n \"name\": \"Turkish\",\n \"flag\": \"\uD83C\uDDF9\uD83C\uDDF7\"\n },\n \"Turkmen\": {\n \"code\": \"tk\",\n \"name\": \"Turkmen\",\n \"flag\": \"\uD83C\uDDF9\uD83C\uDDF2\"\n },\n \"Ukrainian\": {\n \"code\": \"uk\",\n \"name\": \"Ukrainian\",\n \"flag\": \"\uD83C\uDDFA\uD83C\uDDE6\"\n },\n \"Urdu\": {\n \"code\": \"ur\",\n \"name\": \"Urdu\"\n },\n \"Uyghur\": {\n \"code\": \"ug\",\n \"name\": \"Uyghur\"\n },\n \"Uzbek\": {\n \"code\": \"uz\",\n \"name\": \"Uzbek\"\n },\n \"Vietnamese\": {\n \"code\": \"vi\",\n \"name\": \"Vietnamese\",\n \"flag\": \"\uD83C\uDDFB\uD83C\uDDF3\"\n },\n \"Welsh\": {\n \"code\": \"cy\",\n \"name\": \"Welsh\",\n \"flag\": \"\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73\uDB40\uDC7F\"\n },\n \"Xhosa\": {\n \"code\": \"xh\",\n \"name\": \"Xhosa\"\n },\n \"Yiddish\": {\n \"code\": \"yi\",\n \"name\": \"Yiddish\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF1\"\n },\n \"Yoruba\": {\n \"code\": \"yo\",\n \"name\": \"Yoruba\"\n },\n \"Zulu\": {\n \"code\": \"zu\",\n \"name\": \"Zulu\"\n }\n}\n", "{\n \"auto\": {\n \"code\": \"auto\",\n \"name\": \"Auto-detect\",\n \"flag\": \"\uD83C\uDF10\"\n },\n \"af\": {\n \"code\": \"af\",\n \"name\": \"Afrikaans\",\n \"flag\": \"\uD83C\uDDFF\uD83C\uDDE6\"\n },\n \"sq\": {\n \"code\": \"sq\",\n \"name\": \"Albanian\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDF1\"\n },\n \"am\": {\n \"code\": \"am\",\n \"name\": \"Amharic\"\n },\n \"ar\": {\n \"code\": \"ar\",\n \"name\": \"Arabic\"\n },\n \"hy\": {\n \"code\": \"hy\",\n \"name\": \"Armenian\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDF2\"\n },\n \"az\": {\n \"code\": \"az\",\n \"name\": \"Azerbaijani\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDFF\"\n },\n \"eu\": {\n \"code\": \"eu\",\n \"name\": \"Basque\"\n },\n \"be\": {\n \"code\": \"be\",\n \"name\": \"Belarusian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDFE\"\n },\n \"bn\": {\n \"code\": \"bn\",\n \"name\": \"Bengali\"\n },\n \"bs\": {\n \"code\": \"bs\",\n \"name\": \"Bosnian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDE6\"\n },\n \"bg\": {\n \"code\": \"bg\",\n \"name\": \"Bulgarian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDEC\"\n },\n \"ca\": {\n \"code\": \"ca\",\n \"name\": \"Catalan\"\n },\n \"ceb\": {\n \"code\": \"ceb\",\n \"name\": \"Cebuano\"\n },\n \"zh-CN\": {\n \"code\": \"zh-CN\",\n \"name\": \"Chinese Simplified\",\n \"flag\": \"\uD83C\uDDE8\uD83C\uDDF3\"\n },\n \"zh-TW\": {\n \"code\": \"zh-TW\",\n \"name\": \"Chinese Traditional\"\n },\n \"co\": {\n \"code\": \"co\",\n \"name\": \"Corsican\"\n },\n \"hr\": {\n \"code\": \"hr\",\n \"name\": \"Croatian\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDF7\"\n },\n \"cs\": {\n \"code\": \"cs\",\n \"name\": \"Czech\",\n \"flag\": \"\uD83C\uDDE8\uD83C\uDDFF\"\n },\n \"da\": {\n \"code\": \"da\",\n \"name\": \"Danish\",\n \"flag\": \"\uD83C\uDDE9\uD83C\uDDF0\"\n },\n \"nl\": {\n \"code\": \"nl\",\n \"name\": \"Dutch\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF1\"\n },\n \"en\": {\n \"code\": \"en\",\n \"name\": \"English\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDE7\"\n },\n \"eo\": {\n \"code\": \"eo\",\n \"name\": \"Esperanto\"\n },\n \"et\": {\n \"code\": \"et\",\n \"name\": \"Estonian\",\n \"flag\": \"\uD83C\uDDEA\uD83C\uDDEA\"\n },\n \"fi\": {\n \"code\": \"fi\",\n \"name\": \"Finnish\",\n \"flag\": \"\uD83C\uDDEB\uD83C\uDDEE\"\n },\n \"fr\": {\n \"code\": \"fr\",\n \"name\": \"French\",\n \"flag\": \"\uD83C\uDDEB\uD83C\uDDF7\"\n },\n \"fy\": {\n \"code\": \"fy\",\n \"name\": \"Frisian\"\n },\n \"gl\": {\n \"code\": \"gl\",\n \"name\": \"Galician\"\n },\n \"ka\": {\n \"code\": \"ka\",\n \"name\": \"Georgian\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDEA\"\n },\n \"de\": {\n \"code\": \"de\",\n \"name\": \"German\",\n \"flag\": \"\uD83C\uDDE9\uD83C\uDDEA\"\n },\n \"el\": {\n \"code\": \"el\",\n \"name\": \"Greek\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDF7\"\n },\n \"gu\": {\n \"code\": \"gu\",\n \"name\": \"Gujarati\"\n },\n \"ht\": {\n \"code\": \"ht\",\n \"name\": \"Haitian Creole\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDF9\"\n },\n \"ha\": {\n \"code\": \"ha\",\n \"name\": \"Hausa\"\n },\n \"haw\": {\n \"code\": \"haw\",\n \"name\": \"Hawaiian\",\n \"flag\": \"\uD83C\uDF3A\"\n },\n \"iw\": {\n \"code\": \"iw\",\n \"name\": \"Hebrew\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF1\"\n },\n \"hi\": {\n \"code\": \"hi\",\n \"name\": \"Hindi\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF3\"\n },\n \"hmn\": {\n \"code\": \"hmn\",\n \"name\": \"Hmong\"\n },\n \"hu\": {\n \"code\": \"hu\",\n \"name\": \"Hungarian\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDFA\"\n },\n \"is\": {\n \"code\": \"is\",\n \"name\": \"Icelandic\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF8\"\n },\n \"ig\": {\n \"code\": \"ig\",\n \"name\": \"Igbo\"\n },\n \"id\": {\n \"code\": \"id\",\n \"name\": \"Indonesian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDE9\"\n },\n \"ga\": {\n \"code\": \"ga\",\n \"name\": \"Irish\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDEA\"\n },\n \"it\": {\n \"code\": \"it\",\n \"name\": \"Italian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF9\"\n },\n \"ja\": {\n \"code\": \"ja\",\n \"name\": \"Japanese\",\n \"flag\": \"\uD83C\uDDEF\uD83C\uDDF5\"\n },\n \"jv\": {\n \"code\": \"jv\",\n \"name\": \"Javanese\"\n },\n \"kn\": {\n \"code\": \"kn\",\n \"name\": \"Kannada\"\n },\n \"kk\": {\n \"code\": \"kk\",\n \"name\": \"Kazakh\",\n \"flag\": \"\uD83C\uDDF0\uD83C\uDDFF\"\n },\n \"km\": {\n \"code\": \"km\",\n \"name\": \"Khmer\"\n },\n \"rw\": {\n \"code\": \"rw\",\n \"name\": \"Kinyarwanda\"\n },\n \"ko\": {\n \"code\": \"ko\",\n \"name\": \"Korean\",\n \"flag\": \"\uD83C\uDDF0\uD83C\uDDF7\"\n },\n \"ku\": {\n \"code\": \"ku\",\n \"name\": \"Kurdish\"\n },\n \"ky\": {\n \"code\": \"ky\",\n \"name\": \"Kyrgyz\"\n },\n \"lo\": {\n \"code\": \"lo\",\n \"name\": \"Lao\"\n },\n \"lv\": {\n \"code\": \"lv\",\n \"name\": \"Latvian\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDFB\"\n },\n \"lt\": {\n \"code\": \"lt\",\n \"name\": \"Lithuanian\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDF9\"\n },\n \"lb\": {\n \"code\": \"lb\",\n \"name\": \"Luxembourgish\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDFA\"\n },\n \"la\": {\n \"code\": \"la\",\n \"name\": \"Latin\",\n \"flag\": \"\uD83C\uDFDB\"\n },\n \"mk\": {\n \"code\": \"mk\",\n \"name\": \"Macedonian\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF0\"\n },\n \"mg\": {\n \"code\": \"mg\",\n \"name\": \"Malagasy\"\n },\n \"ms\": {\n \"code\": \"ms\",\n \"name\": \"Malay\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDFE\"\n },\n \"ml\": {\n \"code\": \"ml\",\n \"name\": \"Malayalam\"\n },\n \"mt\": {\n \"code\": \"mt\",\n \"name\": \"Maltese\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF9\"\n },\n \"mi\": {\n \"code\": \"mi\",\n \"name\": \"Maori\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDFF\"\n },\n \"mr\": {\n \"code\": \"mr\",\n \"name\": \"Marathi\"\n },\n \"mn\": {\n \"code\": \"mn\",\n \"name\": \"Mongolian\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF3\"\n },\n \"my\": {\n \"code\": \"my\",\n \"name\": \"Myanmar (Burmese)\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF2\"\n },\n \"ne\": {\n \"code\": \"ne\",\n \"name\": \"Nepali\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF5\"\n },\n \"no\": {\n \"code\": \"no\",\n \"name\": \"Norwegian\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF4\"\n },\n \"ny\": {\n \"code\": \"ny\",\n \"name\": \"Nyanja (Chichewa)\"\n },\n \"or\": {\n \"code\": \"or\",\n \"name\": \"Odia (Oriya)\"\n },\n \"ps\": {\n \"code\": \"ps\",\n \"name\": \"Pashto\"\n },\n \"fa\": {\n \"code\": \"fa\",\n \"name\": \"Persian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF7\"\n },\n \"pl\": {\n \"code\": \"pl\",\n \"name\": \"Polish\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDF1\"\n },\n \"pt\": {\n \"code\": \"pt\",\n \"name\": \"Portuguese\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDF9\"\n },\n \"pa\": {\n \"code\": \"pa\",\n \"name\": \"Punjabi\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF3\"\n },\n \"ro\": {\n \"code\": \"ro\",\n \"name\": \"Romanian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDF4\"\n },\n \"ru\": {\n \"code\": \"ru\",\n \"name\": \"Russian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDFA\"\n },\n \"sm\": {\n \"code\": \"sm\",\n \"name\": \"Samoan\"\n },\n \"gd\": {\n \"code\": \"gd\",\n \"name\": \"Scots Gaelic\",\n \"flag\": \"\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74\uDB40\uDC7F\"\n },\n \"sr\": {\n \"code\": \"sr\",\n \"name\": \"Serbian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDF8\"\n },\n \"st\": {\n \"code\": \"st\",\n \"name\": \"Sesotho\"\n },\n \"sn\": {\n \"code\": \"sn\",\n \"name\": \"Shona\"\n },\n \"sd\": {\n \"code\": \"sd\",\n \"name\": \"Sindhi\"\n },\n \"si\": {\n \"code\": \"si\",\n \"name\": \"Sinhala (Sinhalese)\"\n },\n \"sk\": {\n \"code\": \"sk\",\n \"name\": \"Slovak\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDF0\"\n },\n \"sl\": {\n \"code\": \"sl\",\n \"name\": \"Slovenian\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDEE\"\n },\n \"so\": {\n \"code\": \"so\",\n \"name\": \"Somali\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDF4\"\n },\n \"es\": {\n \"code\": \"es\",\n \"name\": \"Spanish\",\n \"flag\": \"\uD83C\uDDEA\uD83C\uDDF8\"\n },\n \"su\": {\n \"code\": \"su\",\n \"name\": \"Sundanese\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDE9\"\n },\n \"sw\": {\n \"code\": \"sw\",\n \"name\": \"Swahili\"\n },\n \"sv\": {\n \"code\": \"sv\",\n \"name\": \"Swedish\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDEA\"\n },\n \"tl\": {\n \"code\": \"tl\",\n \"name\": \"Tagalog (Filipino)\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDED\"\n },\n \"tg\": {\n \"code\": \"tg\",\n \"name\": \"Tajik\"\n },\n \"ta\": {\n \"code\": \"ta\",\n \"name\": \"Tamil\"\n },\n \"tt\": {\n \"code\": \"tt\",\n \"name\": \"Tatar\"\n },\n \"te\": {\n \"code\": \"te\",\n \"name\": \"Telugu\"\n },\n \"th\": {\n \"code\": \"th\",\n \"name\": \"Thai\"\n },\n \"tr\": {\n \"code\": \"tr\",\n \"name\": \"Turkish\",\n \"flag\": \"\uD83C\uDDF9\uD83C\uDDF7\"\n },\n \"tk\": {\n \"code\": \"tk\",\n \"name\": \"Turkmen\",\n \"flag\": \"\uD83C\uDDF9\uD83C\uDDF2\"\n },\n \"uk\": {\n \"code\": \"uk\",\n \"name\": \"Ukrainian\",\n \"flag\": \"\uD83C\uDDFA\uD83C\uDDE6\"\n },\n \"ur\": {\n \"code\": \"ur\",\n \"name\": \"Urdu\"\n },\n \"ug\": {\n \"code\": \"ug\",\n \"name\": \"Uyghur\"\n },\n \"uz\": {\n \"code\": \"uz\",\n \"name\": \"Uzbek\"\n },\n \"vi\": {\n \"code\": \"vi\",\n \"name\": \"Vietnamese\",\n \"flag\": \"\uD83C\uDDFB\uD83C\uDDF3\"\n },\n \"cy\": {\n \"code\": \"cy\",\n \"name\": \"Welsh\",\n \"flag\": \"\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73\uDB40\uDC7F\"\n },\n \"xh\": {\n \"code\": \"xh\",\n \"name\": \"Xhosa\"\n },\n \"yi\": {\n \"code\": \"yi\",\n \"name\": \"Yiddish\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF1\"\n },\n \"yo\": {\n \"code\": \"yo\",\n \"name\": \"Yoruba\"\n },\n \"zu\": {\n \"code\": \"zu\",\n \"name\": \"Zulu\"\n }\n}\n", "import _supportedLanguagesByCountry from \"./supportedLanguages.json\";\nimport _supportedLanguagesByCode from \"./supportedLanguagesByCode.json\";\n\nexport type LanguagesMapByCountry = typeof _supportedLanguagesByCountry;\nexport type LanguageCountries = keyof LanguagesMapByCountry;\n\nexport type LanguagesMapByCode = typeof _supportedLanguagesByCode;\nexport type LanguageCode = keyof LanguagesMapByCode;\n\nexport type LanguagesItem = {\n code: LanguageCode;\n name: string;\n flag?: string;\n};\n\nexport const getLanguageFlag = (language?: LanguagesItem, fallback = \"\uD83C\uDFF3\uFE0F\") => {\n return language?.flag ?? fallback;\n};\n\nexport const getLanguageFlagByCode = (lang: LanguageCode) => {\n return getLanguageFlag(supportedLanguagesByCode[lang]);\n};\n\nexport const supportedLanguagesByCode = _supportedLanguagesByCode as Record<LanguageCode, LanguagesItem>;\nexport const supportedLanguagesByCountry = _supportedLanguagesByCountry as Record<LanguageCountries, LanguagesItem>;\n\nexport const languages: LanguagesItem[] = Object.values(supportedLanguagesByCountry);\n", "import { Action, ActionPanel, Icon, List, clearSearchBar } from \"@raycast/api\";\nimport React from \"react\";\nimport { useTargetLanguages } from \"../hooks\";\nimport { getLanguageFlag, getLanguageFlagByCode, languages, supportedLanguagesByCode } from \"../languages\";\nimport { AUTO_DETECT } from \"../simple-translate\";\n\nexport const TargetLanguageList: React.VFC = () => {\n const [targetLanguages, setTargetLanguages] = useTargetLanguages();\n\n return (\n <List searchBarPlaceholder=\"Search languages\">\n <List.Section title=\"Selected Languages\" subtitle={`${targetLanguages.length}`}>\n {targetLanguages.map((lang) => (\n <List.Item\n key={lang}\n title={`${getLanguageFlagByCode(lang)} ${supportedLanguagesByCode[lang].name}`}\n subtitle={lang}\n actions={\n targetLanguages.length === 1 && targetLanguages[0] === \"en\" ? undefined : (\n <ActionPanel>\n <Action\n title=\"Remove\"\n icon={Icon.Minus}\n style={Action.Style.Destructive}\n shortcut={{ modifiers: [\"ctrl\"], key: \"x\" }}\n onAction={() => {\n const updated = targetLanguages.filter((l) => l != lang);\n setTargetLanguages(updated.length === 0 ? [\"en\"] : updated);\n clearSearchBar();\n }}\n />\n <Action\n title=\"Move up\"\n icon={Icon.ArrowUp}\n shortcut={{ modifiers: [\"shift\"], key: \"arrowUp\" }}\n onAction={() => {\n const index = targetLanguages.indexOf(lang);\n if (index > 0) {\n const updated = [...targetLanguages];\n updated.splice(index - 1, 0, updated.splice(index, 1)[0]);\n setTargetLanguages(updated);\n }\n }}\n />\n <Action\n title=\"Move down\"\n icon={Icon.ArrowDown}\n shortcut={{ modifiers: [\"shift\"], key: \"arrowDown\" }}\n onAction={() => {\n const index = targetLanguages.indexOf(lang);\n if (index < targetLanguages.length - 1) {\n const updated = [...targetLanguages];\n updated.splice(index + 1, 0, updated.splice(index, 1)[0]);\n setTargetLanguages(updated);\n }\n }}\n />\n </ActionPanel>\n )\n }\n />\n ))}\n </List.Section>\n <List.Section title=\"Available Languages\">\n {languages\n .filter((lang) => lang.code != AUTO_DETECT && !targetLanguages.includes(lang.code))\n .map((lang) => (\n <List.Item\n key={lang.code}\n title={`${getLanguageFlag(lang)} ${lang.name}`}\n subtitle={lang.code}\n actions={\n <ActionPanel>\n <Action\n title=\"Add\"\n icon={Icon.Plus}\n onAction={() => {\n setTargetLanguages((prev) => [...prev, lang.code]);\n clearSearchBar();\n }}\n />\n </ActionPanel>\n }\n />\n ))}\n </List.Section>\n </List>\n );\n};\n", "import { ActionPanel, List, Toast, showToast } from \"@raycast/api\";\nimport { usePromise } from \"@raycast/utils\";\nimport { getLanguageFlag, supportedLanguagesByCode } from \"../languages\";\nimport { simpleTranslate } from \"../simple-translate\";\nimport { LanguageCodeSet } from \"../types\";\nimport { ConfigurableCopyPasteActions, OpenOnGoogleTranslateWebsiteAction, ToggleFullTextAction } from \"../actions\";\n\nexport function QuickTranslateListItem(props: {\n debouncedText: string;\n languageSet: LanguageCodeSet;\n isShowingDetail: boolean;\n setIsShowingDetail: (isShowingDetail: boolean) => void;\n setIsLoading: (isLoading: boolean) => void;\n}) {\n let langFrom = supportedLanguagesByCode[props.languageSet.langFrom];\n const langTo = supportedLanguagesByCode[props.languageSet.langTo[0]];\n\n const { data: result, isLoading: isLoading } = usePromise(simpleTranslate, [props.debouncedText, props.languageSet], {\n onWillExecute() {\n props.setIsLoading(true);\n },\n onData() {\n props.setIsLoading(false);\n },\n onError(error) {\n props.setIsLoading(false);\n showToast({\n style: Toast.Style.Failure,\n title: `Could not translate to ${langTo.name}`,\n message: error.toString(),\n });\n },\n });\n\n if (isLoading) {\n return (\n <List.Item\n title={`Translating to ${langTo.name}...`}\n accessories={[\n {\n text: `${getLanguageFlag(langTo, langTo?.code)}`,\n tooltip: `${langFrom.name} -> ${langTo.name}`,\n },\n ]}\n />\n );\n }\n\n if (!result) {\n return null;\n }\n\n // Reassigning langFrom to the detected language in case it was auto-detected\n langFrom = supportedLanguagesByCode[result.langFrom];\n\n return (\n <List.Item\n key={langTo.code}\n title={result.translatedText}\n accessories={[\n {\n text: `${getLanguageFlag(langTo, langTo?.code)}`,\n tooltip: `${langFrom.name} -> ${langTo.name}`,\n },\n ]}\n detail={<List.Item.Detail markdown={result.translatedText} />}\n actions={\n <ActionPanel>\n <ActionPanel.Section>\n <ConfigurableCopyPasteActions defaultActionsPrefix=\"Translation\" value={result.translatedText} />\n <ToggleFullTextAction onAction={() => props.setIsShowingDetail(!props.isShowingDetail)} />\n <OpenOnGoogleTranslateWebsiteAction translationText={props.debouncedText} translation={result} />\n </ActionPanel.Section>\n </ActionPanel>\n }\n />\n );\n}\n", "import React from \"react\";\nimport { Action, Icon, getPreferenceValues } from \"@raycast/api\";\nimport { SimpleTranslateResult } from \"./simple-translate\";\n\ninterface ActionsOpts {\n value: string;\n defaultActionsPrefix?: string;\n}\n\nexport const ConfigurableCopyPasteActions = ({ defaultActionsPrefix, value }: ActionsOpts) => {\n const defaultPreference = getPreferenceValues<ExtensionPreferences>().defaultAction;\n\n const pasteAction = (\n <Action.Paste title={defaultActionsPrefix ? `Paste ${defaultActionsPrefix}` : `Paste`} content={value} />\n );\n const copyAction = (\n <Action.CopyToClipboard title={defaultActionsPrefix ? `Copy ${defaultActionsPrefix}` : `Copy`} content={value} />\n );\n\n if (defaultPreference === \"paste\") {\n return (\n <>\n {pasteAction}\n {copyAction}\n </>\n );\n }\n\n return (\n <>\n {copyAction}\n {pasteAction}\n </>\n );\n};\n\nexport const ToggleFullTextAction: React.VFC<{\n onAction: () => void;\n}> = ({ onAction }) => {\n return (\n <Action title=\"Toggle Full Text\" icon={Icon.Text} onAction={onAction} shortcut={{ modifiers: [\"cmd\"], key: \"f\" }} />\n );\n};\n\nexport const OpenOnGoogleTranslateWebsiteAction: React.VFC<{\n translation: Pick<SimpleTranslateResult, \"langFrom\" | \"langTo\">;\n translationText: string;\n}> = ({ translationText, translation }) => {\n return (\n <Action.OpenInBrowser\n title=\"Open in Google Translate\"\n shortcut={{ modifiers: [\"opt\"], key: \"enter\" }}\n url={\n \"https://translate.google.com/?sl=\" +\n translation.langFrom +\n \"&tl=\" +\n translation.langTo +\n \"&text=\" +\n encodeURIComponent(translationText) +\n \"&op=translate\"\n }\n />\n );\n};\n"], + "mappings": "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AAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,uBAAuB,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAK,GAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,GAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,KAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAO,IAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI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AC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAO,KAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OA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,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAC/C,EAEMU,GAAS,CACb,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAC/C,EAEMM,GAAU,CACd,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAC/C,EAEME,GAAiB,CACrB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,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,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAC/C,EAEMC,GAAc,CAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAA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L,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,KACL,IAAK,SACH,MAAO,aACT,IAAK,cACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,KACL,IAAK,SACH,MAAO,aACT,IAAK,qBACL,IAAK,WACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACH,MAAO,aACT,IAAK,SACL,IAAK,WACL,IAAK,cACL,IAAK,cACL,IAAK,mBACL,IAAK,WACL,IAAK,aACL,IAAK,eACL,IAAK,eACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACH,MAAO,aACT,IAAK,kBACL,IAAK,WACL,IAAK,WACL,IAAK,QACL,IAAK,SACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,eACH,MAAO,aACT,IAAK,cACL,IAAK,mBACL,IAAK,SACL,IAAK,aACL,IAAK,eACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,SACH,MAAO,aACT,IAAK,cACL,IAAK,eACL,IAAK,UACH,MAAO,eACT,IAAK,cACL,IAAK,cACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,KACL,IAAK,SACH,MAAO,cACT,IAAK,cACL,IAAK,aACL,IAAK,YACH,MAAO,cACT,IAAK,cACL,IAAK,aACL,IAAK,YACH,MAAO,cACT,IAAK,cACL,IAAK,cACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,KACH,MAAO,cACT,IAAK,cACH,MAAO,cACT,IAAK,UACL,IAAK,MACL,IAAK,OACL,IAAK,SACL,IAAK,SACH,MAAO,SACT,IAAK,UACL,IAAK,SACH,MAAO,SACT,IAAK,cACL,IAAK,MACL,IAAK,YACL,IAAK,cACH,MAAO,YACT,IAAK,cACL,IAAK,aACL,IAAK,YACL,IAAK,UACL,IAAK,cACH,MAAO,cACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,iBACL,IAAK,QACL,IAAK,SACL,IAAK,QACL,IAAK,cACL,IAAK,SACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,KACL,IAAK,SACL,IAAK,WACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,cACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,KACL,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,iBACL,IAAK,kBACH,MAAO,iBACT,IAAK,UACL,IAAK,WACL,IAAK,kBACL,IAAK,SACL,IAAK,UACL,IAAK,aACL,IAAK,MACL,IAAK,YACL,IAAK,QACH,MAAO,MACT,IAAK,UACH,MAAO,UACT,IAAK,OACL,IAAK,aACL,IAAK,UACL,IAAK,SACL,IAAK,WACH,MAAO,OACT,IAAK,sBACL,IAAK,SACL,IAAK,WACH,MAAO,SACT,IAAK,cACL,IAAK,cACH,MAAO,cACT,IAAK,aACL,IAAK,QACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,OACL,IAAK,cACL,IAAK,SACH,MAAO,YACT,IAAK,UACL,IAAK,gBACL,IAAK,SACL,IAAK,aACL,IAAK,SACL,IAAK,iBACL,IAAK,iBACL,IAAK,UACL,IAAK,WACL,IAAK,cACH,MAAO,SACT,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,kBACL,IAAK,cACL,IAAK,cACH,MAAO,cACT,IAAK,cACL,IAAK,WACH,MAAO,WACT,IAAK,YACL,IAAK,kBACL,IAAK,QACL,IAAK,UACL,IAAK,cACL,IAAK,SACL,IAAK,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", + "names": ["require_lite", "__commonJSMin", "exports", "has", "dequal", "foo", "bar", "ctor", "len", "require_useDeepMemo", "__commonJSMin", "exports", "react_1", "lite_1", "useDeepMemo", "value", "ref", "signalRef", "require_useLatest", "__commonJSMin", "exports", "react_1", "useLatest", "value", "ref", "require_handle_error_toast_action", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__setModuleDefault", "v", "__importStar", "mod", "result", "fs", "path", "api_1", "handleErrorToastAction", "error", "privateExtension", "title", "extensionURL", "packageJSON", "fallback", "toast", "require_usePromise", "__commonJSMin", "exports", "react_1", "api_1", "useDeepMemo_1", "useLatest_1", "handle_error_toast_action_1", "usePromise", "fn", "args", "options", "lastCallId", "state", "set", "fnRef", "latestAbortable", "latestArgs", "latestOnError", "latestOnData", "latestOnWillExecute", "latestValue", "latestCallback", "callback", "callId", "prevState", "bindPromiseIfNeeded", "data", "error", "toast", "revalidate", "mutate", "asyncUpdate", "dataBeforeOptimisticUpdate", "update", "err", "isLoading", "require_useCachedState", "__commonJSMin", "exports", "react_1", "api_1", "useLatest_1", "replacer", "key", "_value", "value", "reviver", "_key", "rootCache", "cacheMap", "useCachedState", "initialState", "config", "cacheKey", "cache", "keyRef", "initialValueRef", "cachedState", "error", "state", "err", "stateRef", "setStateAndCache", "updater", "newValue", "stringifiedValue", "require_object_hash", "__commonJSMin", "exports", "module", "crypto", "objectHash", "object", "options", "applyDefaults", "hash", "hashes", "encodings", "sourceOptions", "i", "isNativeFunction", "f", "exp", "hashingStream", "PassThrough", "hasher", "typeHasher", "buf", "stream", "writeTo", "context", "write", "str", "value", "type", "pattern", "objString", "objType", "objectNumber", "keys", "key", "self", "arr", "unordered", "entry", "contextAdditions", "entries", "strm", "localContext", "date", "sym", "err", "bool", "string", "fn", "number", "xml", "regex", "url", "map", "set", "file", "b", "require_useCachedPromise", "__commonJSMin", "exports", "__importDefault", "mod", "react_1", "object_hash_1", "useCachedState_1", "usePromise_1", "useLatest_1", "emptyCache", "useCachedPromise", "fn", "args", "options", "initialData", "keepPreviousData", "usePromiseOptions", "lastUpdateFrom", "cachedData", "mutateCache", "laggyDataRef", "_mutate", "revalidate", "state", "data", "returnedData", "latestData", "mutate", "asyncUpdate", "dataBeforeOptimisticUpdate", "err", "require_media_typer", "__commonJSMin", "exports", "SUBTYPE_NAME_REGEXP", "TYPE_NAME_REGEXP", "TYPE_REGEXP", "format", "parse", "test", "obj", "subtype", "suffix", "type", "string", "match", "index", "MediaType", "require_content_type", "__commonJSMin", "exports", "PARAM_REGEXP", "TEXT_REGEXP", "TOKEN_REGEXP", "QESC_REGEXP", "QUOTE_REGEXP", "TYPE_REGEXP", "format", "parse", "obj", "parameters", "type", "string", "param", "params", "i", "qstring", "header", "getcontenttype", "index", "ContentType", "key", "match", "value", "val", "str", "require_lib", "__commonJSMin", "exports", "module", "conversions", "sign", "x", "evenRound", "createNumberConversion", "bitLength", "typeOpts", "lowerBound", "upperBound", "moduloVal", "moduloBound", "V", "opts", "val", "c", "i", "S", "n", "U", "d", "a", "b", "require_utils", "__commonJSMin", "exports", "module", "target", "source", "keys", "i", "impl", "wrapper", "require_mappingTable", "__commonJSMin", "exports", "module", "require_tr46", "__commonJSMin", "exports", "module", "punycode", "mappingTable", "PROCESSING_OPTIONS", "normalize", "str", "s", "findStatus", "val", "start", "end", "mid", "target", "regexAstralSymbols", "countSymbols", "string", "mapChars", "domain_name", "useSTD3", "processing_option", "hasError", "processed", "len", "i", "codePoint", "status", "combiningMarksRegex", "validateLabel", "label", "error", "processing", "result", "labels", "validation", "verifyDnsLength", "l", "total", "require_url_state_machine", "__commonJSMin", "exports", "module", "punycode", "tr46", "specialSchemes", "failure", "countSymbols", "str", "at", "input", "idx", "c", "isASCIIDigit", "isASCIIAlpha", "isASCIIAlphanumeric", "isASCIIHex", "isSingleDot", "buffer", "isDoubleDot", "isWindowsDriveLetterCodePoints", "cp1", "cp2", "isWindowsDriveLetterString", "string", "isNormalizedWindowsDriveLetterString", "containsForbiddenHostCodePoint", "containsForbiddenHostCodePointExcludingPercent", "isSpecialScheme", "scheme", "isSpecial", "url", "defaultPort", "percentEncode", "hex", "utf8PercentEncode", "buf", "i", "utf8PercentDecode", "output", "isC0ControlPercentEncode", "extraPathPercentEncodeSet", "isPathPercentEncode", "extraUserinfoPercentEncodeSet", "isUserinfoPercentEncode", "percentEncodeChar", "encodeSetPredicate", "cStr", "parseIPv4Number", "R", "parseIPv4", "parts", "numbers", "part", "n", "ipv4", "counter", "serializeIPv4", "address", "parseIPv6", "pieceIndex", "compress", "pointer", "value", "length", "numbersSeen", "ipv4Piece", "number", "swaps", "temp", "serializeIPv6", "findLongestZeroSequence", "ignore0", "parseHost", "isSpecialArg", "parseOpaqueHost", "domain", "asciiDomain", "ipv4Host", "decoded", "arr", "maxIdx", "maxLen", "currStart", "currLen", "serializeHost", "host", "trimControlChars", "trimTabAndNewline", "shortenPath", "path", "isNormalizedWindowsDriveLetter", "includesCredentials", "cannotHaveAUsernamePasswordPort", "URLStateMachine", "base", "encodingOverride", "stateOverride", "res", "ret", "len", "codePoint", "encodedCodePoints", "port", "fileOtherwiseCodePoints", "serializeURL", "excludeFragment", "serializeOrigin", "tuple", "result", "options", "usm", "username", "password", "integer", "require_URL_impl", "__commonJSMin", "exports", "usm", "constructorArgs", "url", "base", "parsedBase", "parsedURL", "v", "input", "require_URL", "__commonJSMin", "exports", "module", "conversions", "utils", "Impl", "impl", "URL", "url", "args", "i", "V", "obj", "constructorArgs", "privateData", "require_public_api", "__commonJSMin", "exports", "require_lib", "__commonJSMin", "exports", "module", "_interopDefault", "ex", "Stream", "http", "Url", "whatwgUrl", "https", "zlib", "Readable", "BUFFER", "TYPE", "Blob", "_Blob", "blobParts", "options", "buffers", "size", "a", "length", "i", "element", "buffer", "type", "buf", "ab", "readable", "start", "end", "relativeStart", "relativeEnd", "span", "slicedBuffer", "blob", "FetchError", "message", "systemError", "convert", "INTERNALS", "PassThrough", "Body", "body", "_this", "_ref", "_ref$size", "_ref$timeout", "timeout", "isURLSearchParams", "isBlob", "err", "error", "consumeBody", "ct", "_this2", "_this3", "convertBody", "proto", "name", "desc", "_this4", "accum", "accumBytes", "abort", "resolve", "reject", "resTimeout", "chunk", "headers", "charset", "res", "str", "obj", "clone", "instance", "p1", "p2", "extractContentType", "getTotalBytes", "writeToStream", "dest", "invalidTokenRegex", "invalidHeaderCharRegex", "validateName", "validateValue", "value", "find", "map", "key", "MAP", "Headers", "_Headers", "init", "rawHeaders", "headerNames", "headerName", "method", "pairs", "pair", "callback", "thisArg", "getHeaders", "_pairs$i", "createHeadersIterator", "kind", "k", "INTERNAL", "target", "iterator", "HeadersIteratorPrototype", "_INTERNAL", "index", "values", "len", "exportNodeCompatibleHeaders", "hostHeaderKey", "createHeadersLenient", "val", "INTERNALS$1", "STATUS_CODES", "Response", "_Response", "opts", "status", "contentType", "INTERNALS$2", "URL", "parse_url", "format_url", "parseURL", "urlStr", "streamDestructionSupported", "isRequest", "input", "isAbortSignal", "signal", "Request", "_Request", "parsedURL", "inputBody", "getNodeRequestOptions", "request", "contentLengthValue", "totalBytes", "agent", "AbortError", "URL$1", "PassThrough$1", "isDomainOrSubdomain", "destination", "original", "orig", "isSameProtocol", "fetch", "url", "send", "response", "destroyStream", "abortAndFinalize", "finalize", "req", "reqTimeout", "socket", "fixResponseChunkedTransferBadEnding", "s", "hadError", "hasDataListener", "location", "locationURL", "requestOpts", "response_options", "codings", "zlibOptions", "raw", "errorCallback", "stream", "code", "require_node_ponyfill", "__commonJSMin", "exports", "module", "nodeFetch", "realFetch", "fetch", "url", "options", "require_useFetch", "__commonJSMin", "exports", "__importDefault", "mod", "react_1", "media_typer_1", "content_type_1", "useCachedPromise_1", "useLatest_1", "cross_fetch_1", "isJSON", "contentTypeHeader", "ct", "mediaType", "defaultParsing", "response", "useFetch", "url", "options", "parseResponse", "initialData", "execute", "keepPreviousData", "onError", "onData", "onWillExecute", "fetchOptions", "useCachedPromiseOptions", "parseResponseRef", "abortable", "fn", "res", "exports", "signals_js_1", "exports", "processOk", "process", "kExitEmitter", "global", "ObjectDefineProperty", "Emitter", "ev", "fn", "list", "i", "code", "signal", "ret", "SignalExitBase", "signalExitWrap", "handler", "cb", "opts", "SignalExitFallback", "SignalExit", "#hupSig", "#emitter", "#process", "#originalProcessEmit", "#originalProcessReallyExit", "#sigListeners", "#loaded", "sig", "listeners", "count", "p", "s", "a", "#processEmit", "#processReallyExit", "listener", "args", "og", "_a", "require_exec_utils", "__commonJSMin", "exports", "__importDefault", "mod", "node_buffer_1", "node_stream_1", "node_util_1", "signal_exit_1", "getSpawnedPromise", "spawned", "timeout", "spawnedPromise", "resolve", "reject", "exitCode", "signal", "error", "timeoutId", "timeoutPromise", "_resolve", "safeSpawnedPromise", "removeExitHandler", "MaxBufferError", "streamPipelinePromisified", "bufferStream", "options", "encoding", "isBuffer", "stream", "length", "chunks", "chunk", "getStream", "inputStream", "rejectPromise", "getBufferedData", "streamPromise", "getSpawnedResult", "stdout", "stderr", "processDone", "stdoutPromise", "stderrPromise", "stripFinalNewline", "input", "LF", "CR", "handleOutput", "value", "getErrorPrefix", "timedOut", "makeError", "command", "parentError", "execaMessage", "shortMessage", "message", "defaultParsing", "require_useExec", "__commonJSMin", "exports", "__importDefault", "mod", "node_child_process_1", "react_1", "useCachedPromise_1", "useLatest_1", "exec_utils_1", "SPACES_REGEXP", "parseCommand", "command", "args", "tokens", "token", "previousToken", "useExec", "optionsOrArgs", "options", "parseOutput", "input", "onData", "onWillExecute", "initialData", "execute", "keepPreviousData", "onError", "execOptions", "useCachedPromiseOptions", "abortable", "parseOutputRef", "fn", "_command", "_args", "_options", "file", "spawned", "spawnedPromise", "error", "exitCode", "signal", "timedOut", "stdoutResult", "stderrResult", "stdout", "stderr", "require_useSQL", "__commonJSMin", "exports", "__importDefault", "mod", "jsx_runtime_1", "api_1", "node_fs_1", "promises_1", "node_os_1", "node_child_process_1", "node_path_1", "object_hash_1", "react_1", "usePromise_1", "useLatest_1", "exec_utils_1", "handle_error_toast_action_1", "useSQL", "databasePath", "query", "options", "permissionPriming", "usePromiseOptions", "permissionView", "setPermissionView", "latestOptions", "abortable", "handleError", "_error", "error", "PermissionError", "isPermissionError", "PermissionErrorScreen", "fn", "workaroundCopiedDb", "abortSignal", "spawned", "spawnedPromise", "exitCode", "signal", "stdoutResult", "stderrResult", "checkAborted", "tempFolder", "message", "macosVenturaAndLater", "preferencesString", "props", "action", "require_useForm", "__commonJSMin", "exports", "react_1", "useLatest_1", "FormValidation", "validationError", "validation", "value", "valueIsValid", "useForm", "props", "_onSubmit", "initialValues", "values", "setValues", "errors", "setErrors", "refs", "latestValidation", "latestOnSubmit", "focus", "id", "handleSubmit", "validationErrors", "error", "result", "setValidationError", "setValue", "itemProps", "target", "event", "instance", "reset", "require_useAI", "__commonJSMin", "exports", "react_1", "api_1", "usePromise_1", "useAI", "prompt", "options", "creativity", "stream", "model", "usePromiseOptions", "data", "setData", "abortable", "isLoading", "error", "revalidate", "shouldStream", "x", "require_useFrecencySorting", "__commonJSMin", "exports", "react_1", "useLatest_1", "useCachedState_1", "HALF_LIFE_DAYS", "MS_PER_DAY", "DECAY_RATE_CONSTANT", "VISIT_TYPE_POINTS", "getNewFrecency", "item", "now", "lastVisited", "frecency", "visitAgeInDays", "currentVisitValue", "totalVisitValue", "defaultKey", "useFrecencySorting", "data", "options", "keyRef", "sortUnvisitedRef", "storedFrecencies", "setStoredFrecencies", "visitItem", "itemKey", "newFrecency", "resetRanking", "newFrencencies", "a", "b", "frecencyA", "frecencyB", "require_color", "__commonJSMin", "exports", "hexToRGB", "hex", "r", "g", "b", "rgbToHex", "rString", "gString", "bString", "rgbToHSL", "cmin", "cmax", "delta", "h", "s", "l", "hslToRGB", "c", "x", "m", "hexToHSL", "hslToHex", "hsl", "clamp", "value", "min", "max", "offset", "slightlyDarkerColor", "slightlyLighterColor", "require_avatar", "__commonJSMin", "exports", "color_1", "getWholeCharAndI", "str", "i", "code", "next", "prev", "avatarColorSet", "getAvatarIcon", "name", "options", "words", "initials", "firstWordFirstLetter", "lastWordFirstLetter", "backgroundColor", "initialsCharIndex", "char", "colorIndex", "radius", "require_favicon", "__commonJSMin", "exports", "api_1", "url_1", "getFavicon", "url", "options", "hostname", "e", "require_progress", "__commonJSMin", "exports", "api_1", "polarToCartesian", "centerX", "centerY", "radius", "angleInDegrees", "angleInRadians", "describeArc", "x", "y", "startAngle", "endAngle", "start", "end", "largeArcFlag", "getProgressIcon", "progress", "color", "options", "background", "backgroundOpacity", "stroke", "require_icon", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "p", "require_run_applescript", "__commonJSMin", "exports", "__importDefault", "mod", "node_child_process_1", "exec_utils_1", "runAppleScript", "script", "optionsOrArgs", "options", "humanReadableOutput", "language", "timeout", "execOptions", "outputArguments", "spawned", "spawnedPromise", "error", "exitCode", "signal", "timedOut", "stdoutResult", "stderrResult", "stdout", "stderr", "require_dist", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "p", "require_symbols", "__commonJSMin", "exports", "module", "require_errors", "__commonJSMin", "exports", "module", "UndiciError", "message", "ConnectTimeoutError", "_ConnectTimeoutError", "HeadersTimeoutError", "_HeadersTimeoutError", "HeadersOverflowError", "_HeadersOverflowError", "BodyTimeoutError", "_BodyTimeoutError", "ResponseStatusCodeError", "_ResponseStatusCodeError", "statusCode", "headers", "body", "InvalidArgumentError", "_InvalidArgumentError", "InvalidReturnValueError", "_InvalidReturnValueError", "RequestAbortedError", "_RequestAbortedError", "InformationalError", "_InformationalError", "RequestContentLengthMismatchError", "_RequestContentLengthMismatchError", "ResponseContentLengthMismatchError", "_ResponseContentLengthMismatchError", "ClientDestroyedError", "_ClientDestroyedError", "ClientClosedError", "_ClientClosedError", "SocketError", "_SocketError", "socket", "NotSupportedError", "_NotSupportedError", "BalancedPoolMissingUpstreamError", "HTTPParserError", "_HTTPParserError", "code", "data", "ResponseExceededMaxSizeError", "_ResponseExceededMaxSizeError", "require_util", "__commonJSMin", "exports", "module", "assert", "kDestroyed", "kBodyUsed", "IncomingMessage", "stream", "net", "InvalidArgumentError", "Blob", "nodeUtil", "stringify", "nodeMajor", "nodeMinor", "v", "nop", "isStream", "obj", "isBlobLike", "object", "buildURL", "url", "queryParams", "stringified", "parseURL", "port", "origin", "path", "parseOrigin", "getHostname", "host", "idx", "getServerName", "servername", "deepClone", "isAsyncIterable", "isIterable", "bodyLength", "body", "state", "isBuffer", "isDestroyed", "isReadableAborted", "destroy", "err", "KEEPALIVE_TIMEOUT_EXPR", "parseKeepAliveTimeout", "val", "m", "parseHeaders", "headers", "i", "key", "parseRawHeaders", "ret", "hasContentLength", "contentDispositionIdx", "n", "buffer", "validateHandler", "handler", "method", "upgrade", "isDisturbed", "isErrored", "isReadable", "getSocketInfo", "socket", "ReadableStream", "ReadableStreamFrom", "iterable", "iterator", "controller", "done", "value", "buf", "reason", "isFormDataLike", "throwIfAborted", "signal", "events", "addAbortListener", "listener", "hasToWellFormed", "toUSVString", "kEnumerableProperty", "require_timers", "__commonJSMin", "exports", "module", "fastNow", "fastNowTimeout", "fastTimers", "onTimeout", "len", "idx", "timer", "refreshTimeout", "Timeout", "callback", "delay", "opaque", "timeout", "require_utils", "__commonJSMin", "exports", "module", "parseContentType", "str", "params", "i", "code", "TOKEN", "type", "subtypeStart", "parseContentTypeParams", "subtype", "name", "nameStart", "value", "valueStart", "escaping", "QDTEXT", "parseDisposition", "defDecoder", "parseDispositionParams", "charset", "charsetStart", "CHARSET", "encode", "EXTENDED_VALUE", "hexUpper", "hexLower", "HEX_VALUES", "byteVal", "convertToUTF8", "getDecoder", "lc", "decoders", "data", "hint", "decode", "basename", "path", "require_sbmh", "__commonJSMin", "exports", "module", "memcmp", "buf1", "pos1", "buf2", "pos2", "num", "SBMH", "needle", "cb", "needleLen", "i", "chunk", "pos", "result", "chunkLen", "feed", "lbSize", "self", "data", "len", "lastNeedleCharPos", "lastNeedleChar", "end", "occ", "lookbehind", "nextPos", "ch", "matchNeedle", "bytesToCutOff", "firstNeedleChar", "lb", "require_multipart", "__commonJSMin", "exports", "module", "Readable", "Writable", "StreamSearch", "basename", "convertToUTF8", "getDecoder", "parseContentType", "parseDisposition", "BUF_CRLF", "BUF_CR", "BUF_DASH", "noop", "MAX_HEADER_PAIRS", "MAX_HEADER_SIZE", "HPARSER_NAME", "HPARSER_PRE_OWS", "HPARSER_VALUE", "HeaderParser", "cb", "chunk", "pos", "end", "start", "done", "code", "TOKEN", "FIELD_VCHAR", "header", "FileStream", "opts", "owner", "n", "ignoreData", "callAndUnsetCb", "self", "err", "nullDecoder", "val", "hint", "Multipart", "cfg", "streamOpts", "boundary", "paramDecoder", "defCharset", "preservePath", "fileOpts", "limits", "fieldSizeLimit", "fileSizeLimit", "filesLimit", "fieldsLimit", "partsLimit", "parts", "fields", "files", "skipPart", "fileSize", "field", "fieldSize", "partCharset", "partEncoding", "partType", "partName", "partTruncated", "hitFilesLimit", "hitFieldsLimit", "hparser", "filename", "disp", "conType", "matchPostBoundary", "ssCb", "isMatch", "data", "isDataSafe", "retrydata", "ret", "writecb", "actualLen", "enc", "checkEndState", "fileStream", "finalcb", "require_urlencoded", "__commonJSMin", "exports", "module", "Writable", "getDecoder", "URLEncoded", "cfg", "streamOpts", "charset", "limits", "conType", "chunk", "enc", "cb", "i", "len", "readPctEnc", "main", "skipKeyBytes", "skipValBytes", "self", "pos", "hexUpper", "HEX_VALUES", "hexLower", "code", "require_lib", "__commonJSMin", "exports", "module", "parseContentType", "getInstance", "cfg", "headers", "conType", "type", "TYPES", "instanceCfg", "typemod", "require_constants", "__commonJSMin", "exports", "module", "MessageChannel", "receiveMessageOnPort", "corsSafeListedMethods", "nullBodyStatus", "redirectStatus", "badPorts", "referrerPolicy", "requestRedirect", "safeMethods", "requestMode", "requestCredentials", "requestCache", "requestBodyHeader", "requestDuplex", "forbiddenMethods", "subresource", "DOMException", "err", "channel", "structuredClone", "value", "options", "require_global", "__commonJSMin", "exports", "module", "globalOrigin", "getGlobalOrigin", "setGlobalOrigin", "newOrigin", "parsedURL", "require_util", "__commonJSMin", "exports", "module", "redirectStatus", "badPorts", "referrerPolicyTokens", "getGlobalOrigin", "performance", "isBlobLike", "toUSVString", "ReadableStreamFrom", "assert", "isUint8Array", "crypto", "responseURL", "response", "urlList", "length", "responseLocationURL", "requestFragment", "location", "isValidHeaderValue", "requestCurrentURL", "request", "requestBadPort", "url", "urlIsHttpHttpsScheme", "isErrorLike", "object", "isValidReasonPhrase", "statusText", "i", "c", "isTokenChar", "isValidHTTPToken", "characters", "isValidHeaderName", "potentialValue", "setRequestReferrerPolicyOnRedirect", "actualResponse", "headersList", "policyHeader", "policy", "token", "crossOriginResourcePolicyCheck", "corsCheck", "TAOCheck", "appendFetchMetadata", "httpRequest", "header", "appendRequestOriginHeader", "serializedOrigin", "urlHasHttpsScheme", "sameOrigin", "coarsenedSharedCurrentTime", "crossOriginIsolatedCapability", "createOpaqueTimingInfo", "timingInfo", "makePolicyContainer", "clonePolicyContainer", "policyContainer", "determineRequestsReferrer", "referrerSource", "globalOrigin", "referrerURL", "stripURLForReferrer", "referrerOrigin", "areSameOrigin", "isNonPotentiallyTrustWorthy", "isURLPotentiallyTrustworthy", "currentURL", "originOnly", "isOriginPotentiallyTrustworthy", "origin", "originAsURL", "bytesMatch", "bytes", "metadataList", "parsedMetadata", "parseMetadata", "list", "d", "strongest", "metadata", "item", "algorithm", "expectedValue", "parseHashWithOptions", "result", "empty", "supportedHashes", "parsedToken", "tryUpgradeRequestToAPotentiallyTrustworthyURL", "A", "B", "createDeferredPromise", "res", "rej", "resolve", "reject", "isAborted", "fetchParams", "isCancelled", "normalizeMethod", "method", "serializeJavascriptValueToJSONString", "value", "esIteratorPrototype", "makeIterator", "iterator", "name", "kind", "index", "target", "values", "len", "pair", "iteratorResult", "fullyReadBody", "body", "processBody", "processBodyError", "successSteps", "errorSteps", "error", "reader", "e", "readAllBytes", "ReadableStream", "isReadableStreamLike", "stream", "MAXIMUM_ARGUMENT_LENGTH", "isomorphicDecode", "input", "previous", "current", "readableStreamClose", "controller", "err", "isomorphicEncode", "failureSteps", "byteLength", "done", "chunk", "urlIsLocal", "protocol", "hasOwn", "dict", "key", "require_symbols", "__commonJSMin", "exports", "module", "require_webidl", "__commonJSMin", "exports", "module", "types", "hasOwn", "toUSVString", "webidl", "message", "context", "plural", "V", "I", "opts", "length", "min", "ctx", "bitLength", "signedness", "upperBound", "lowerBound", "x", "n", "r", "converter", "method", "seq", "done", "value", "keyConverter", "valueConverter", "O", "result", "keys", "key", "typedKey", "typedValue", "i", "converters", "dictionary", "type", "dict", "options", "defaultValue", "required", "hasDefault", "index", "charCode", "T", "require_dataURL", "__commonJSMin", "exports", "module", "assert", "atob", "isomorphicDecode", "encoder", "HTTP_TOKEN_CODEPOINTS", "HTTP_WHITESPACE_REGEX", "HTTP_QUOTED_STRING_TOKENS", "dataURLProcessor", "dataURL", "input", "URLSerializer", "position", "mimeType", "collectASequenceOfCodePointsFast", "mimeTypeLength", "removeASCIIWhitespace", "encodedBody", "body", "stringPercentDecode", "stringBody", "forgivingBase64", "mimeTypeRecord", "parseMIMEType", "url", "excludeFragment", "href", "hash", "collectASequenceOfCodePoints", "condition", "result", "char", "idx", "start", "bytes", "percentDecode", "output", "i", "byte", "nextTwoBytes", "bytePoint", "removeHTTPWhitespace", "type", "subtype", "typeLowercase", "subtypeLowercase", "parameterName", "parameterValue", "collectAnHTTPQuotedString", "data", "binary", "extractValue", "positionStart", "value", "quoteOrBackslash", "serializeAMimeType", "parameters", "essence", "serialization", "name", "isHTTPWhiteSpace", "str", "leading", "trailing", "lead", "trail", "isASCIIWhitespace", "require_file", "__commonJSMin", "exports", "module", "Blob", "NativeFile", "types", "kState", "isBlobLike", "webidl", "parseMIMEType", "serializeAMimeType", "kEnumerableProperty", "File", "_File", "fileBits", "fileName", "options", "n", "t", "d", "substep", "processBlobParts", "FileLike", "_FileLike", "blobLike", "args", "V", "opts", "value", "parts", "bytes", "element", "s", "convertLineEndingsNative", "nativeLineEnding", "isFileLike", "object", "require_formdata", "__commonJSMin", "exports", "module", "isBlobLike", "toUSVString", "makeIterator", "kState", "UndiciFile", "FileLike", "isFileLike", "webidl", "Blob", "NativeFile", "File", "FormData", "_FormData", "form", "name", "value", "filename", "entry", "makeEntry", "idx", "pair", "callbackFn", "thisArg", "key", "options", "require_body", "__commonJSMin", "exports", "module", "Busboy", "util", "ReadableStreamFrom", "isBlobLike", "isReadableStreamLike", "readableStreamClose", "createDeferredPromise", "fullyReadBody", "FormData", "kState", "webidl", "DOMException", "structuredClone", "Blob", "NativeFile", "kBodyUsed", "assert", "isErrored", "isUint8Array", "isArrayBuffer", "UndiciFile", "parseMIMEType", "serializeAMimeType", "ReadableStream", "File", "extractBody", "object", "keepalive", "stream", "controller", "source", "action", "length", "type", "boundary", "prefix", "escape", "str", "normalizeLinefeeds", "value", "enc", "blobParts", "rn", "hasUnknownSizeValue", "name", "chunk", "part", "iterator", "done", "reason", "safelyExtractBody", "cloneBody", "body", "out1", "out2", "out2Clone", "finalClone", "consumeBody", "throwIfAborted", "state", "bodyMixinMethods", "instance", "specConsumeBody", "bytes", "mimeType", "bodyMimeType", "utf8DecodeBytes", "parseJSONFromBytes", "contentType", "headers", "key", "responseFormData", "busboy", "err", "info", "filename", "encoding", "chunks", "base64chunk", "end", "busboyResolve", "resolve", "reject", "entries", "text", "textDecoder", "formData", "mixinBody", "prototype", "convertBytesToJSValue", "bodyUnusable", "promise", "errorSteps", "error", "successSteps", "data", "e", "buffer", "headersList", "require_request", "__commonJSMin", "exports", "module", "InvalidArgumentError", "NotSupportedError", "assert", "util", "tokenRegExp", "headerCharRegex", "invalidPathRegex", "kHandler", "channels", "extractBody", "diagnosticsChannel", "Request", "origin", "path", "method", "body", "headers", "query", "idempotent", "blocking", "upgrade", "headersTimeout", "bodyTimeout", "reset", "throwOnError", "handler", "i", "processHeader", "keys", "key", "bodyStream", "contentType", "chunk", "err", "abort", "statusCode", "resume", "statusText", "socket", "trailers", "error", "value", "processHeaderValue", "val", "request", "require_dispatcher", "__commonJSMin", "exports", "module", "EventEmitter", "Dispatcher", "require_dispatcher_base", "__commonJSMin", "exports", "module", "Dispatcher", "ClientDestroyedError", "ClientClosedError", "InvalidArgumentError", "kDestroy", "kClose", "kDispatch", "kInterceptors", "kDestroyed", "kClosed", "kOnDestroyed", "kOnClosed", "kInterceptedDispatch", "DispatcherBase", "newInterceptors", "i", "callback", "resolve", "reject", "err", "data", "onClosed", "callbacks", "onDestroyed", "opts", "handler", "dispatch", "require_connect", "__commonJSMin", "exports", "module", "net", "assert", "util", "InvalidArgumentError", "ConnectTimeoutError", "tls", "SessionCache", "maxCachedSessions", "key", "ref", "sessionKey", "session", "oldestKey", "buildConnector", "socketPath", "timeout", "opts", "options", "sessionCache", "hostname", "host", "protocol", "port", "servername", "localAddress", "httpSocket", "callback", "socket", "keepAliveInitialDelay", "cancelTimeout", "setupTimeout", "onConnectTimeout", "cb", "err", "s1", "s2", "timeoutId", "enumToMap", "obj", "res", "key", "value", "exports", "utils_1", "ERROR", "exports", "TYPE", "FLAGS", "LENIENT_FLAGS", "METHODS", "key", "FINISH", "i", "c", "HEADER_STATE", "require_RedirectHandler", "__commonJSMin", "exports", "module", "util", "kBodyUsed", "assert", "InvalidArgumentError", "EE", "redirectableStatusCodes", "kBody", "BodyAsyncIterable", "body", "RedirectHandler", "dispatch", "maxRedirections", "opts", "handler", "abort", "statusCode", "headers", "socket", "error", "resume", "statusText", "parseLocation", "origin", "pathname", "search", "path", "cleanRequestHeaders", "chunk", "trailers", "i", "shouldRemoveHeader", "header", "removeContent", "unknownOrigin", "ret", "key", "require_redirectInterceptor", "__commonJSMin", "exports", "module", "RedirectHandler", "createRedirectInterceptor", "defaultMaxRedirections", "dispatch", "opts", "handler", "maxRedirections", "redirectHandler", "require_llhttp_wasm", "__commonJSMin", "exports", "module", "require_llhttp_simd_wasm", "__commonJSMin", "exports", "module", "require_client", "__commonJSMin", "exports", "module", "assert", "net", "util", "timers", "Request", "DispatcherBase", "RequestContentLengthMismatchError", "ResponseContentLengthMismatchError", "InvalidArgumentError", "RequestAbortedError", "HeadersTimeoutError", "HeadersOverflowError", "SocketError", "InformationalError", "BodyTimeoutError", "HTTPParserError", "ResponseExceededMaxSizeError", "ClientDestroyedError", "buildConnector", "kUrl", "kReset", "kServerName", "kClient", "kBusy", "kParser", "kConnect", "kBlocking", "kResuming", "kRunning", "kPending", "kSize", "kWriting", "kQueue", "kConnected", "kConnecting", "kNeedDrain", "kNoRef", "kKeepAliveDefaultTimeout", "kHostHeader", "kPendingIdx", "kRunningIdx", "kError", "kPipelining", "kSocket", "kKeepAliveTimeoutValue", "kMaxHeadersSize", "kKeepAliveMaxTimeout", "kKeepAliveTimeoutThreshold", "kHeadersTimeout", "kBodyTimeout", "kStrictContentLength", "kConnector", "kMaxRedirections", "kMaxRequests", "kCounter", "kClose", "kDestroy", "kDispatch", "kInterceptors", "kLocalAddress", "kMaxResponseSize", "FastBuffer", "kClosedResolve", "channels", "diagnosticsChannel", "Client", "url", "interceptors", "maxHeaderSize", "headersTimeout", "socketTimeout", "requestTimeout", "connectTimeout", "bodyTimeout", "idleTimeout", "keepAlive", "keepAliveTimeout", "maxKeepAliveTimeout", "keepAliveMaxTimeout", "keepAliveTimeoutThreshold", "socketPath", "pipelining", "tls", "strictContentLength", "maxCachedSessions", "maxRedirections", "connect", "maxRequestsPerClient", "localAddress", "maxResponseSize", "autoSelectFamily", "autoSelectFamilyAttemptTimeout", "createRedirectInterceptor", "value", "resume", "socket", "cb", "opts", "handler", "origin", "request", "resolve", "err", "requests", "errorRequest", "callback", "constants", "EMPTY_BUF", "lazyllhttp", "llhttpWasmData", "mod", "p", "at", "len", "currentParser", "start", "currentBufferPtr", "currentBufferRef", "statusCode", "upgrade", "shouldKeepAlive", "llhttpInstance", "llhttpPromise", "currentBufferSize", "TIMEOUT_HEADERS", "TIMEOUT_BODY", "TIMEOUT_IDLE", "Parser", "client", "type", "onParserTimeout", "chunk", "data", "llhttp", "ret", "offset", "ptr", "message", "buf", "key", "head", "headers", "onSocketError", "onSocketReadable", "onSocketEnd", "onSocketClose", "statusText", "timeout", "pause", "contentLength", "bytesRead", "parser", "timeoutType", "onError", "i", "host", "hostname", "protocol", "port", "idx", "ip", "reject", "emitDrain", "sync", "_resume", "write", "body", "method", "path", "blocking", "reset", "expectsPayload", "header", "writeIterable", "writeBlob", "writeStream", "finished", "writer", "AsyncWriter", "onData", "onDrain", "onAbort", "onFinished", "er", "buffer", "waitForDrain", "bytesWritten", "require_fixed_queue", "__commonJSMin", "exports", "module", "FixedCircularBuffer", "data", "nextItem", "tail", "next", "require_pool_stats", "__commonJSMin", "exports", "module", "kFree", "kConnected", "kPending", "kQueued", "kRunning", "kSize", "kPool", "PoolStats", "pool", "require_pool_base", "__commonJSMin", "exports", "module", "DispatcherBase", "FixedQueue", "kConnected", "kSize", "kRunning", "kPending", "kQueued", "kBusy", "kFree", "kUrl", "kClose", "kDestroy", "kDispatch", "PoolStats", "kClients", "kNeedDrain", "kQueue", "kClosedResolve", "kOnDrain", "kOnConnect", "kOnDisconnect", "kOnConnectionError", "kGetDispatcher", "kAddClient", "kRemoveClient", "kStats", "PoolBase", "pool", "origin", "targets", "queue", "needDrain", "item", "c", "err", "client", "ret", "pending", "running", "size", "resolve", "opts", "handler", "dispatcher", "idx", "require_pool", "__commonJSMin", "exports", "module", "PoolBase", "kClients", "kNeedDrain", "kAddClient", "kGetDispatcher", "Client", "InvalidArgumentError", "util", "kUrl", "kInterceptors", "buildConnector", "kOptions", "kConnections", "kFactory", "defaultFactory", "origin", "opts", "Pool", "connections", "factory", "connect", "connectTimeout", "tls", "maxCachedSessions", "socketPath", "autoSelectFamily", "autoSelectFamilyAttemptTimeout", "options", "dispatcher", "require_balanced_pool", "__commonJSMin", "exports", "module", "BalancedPoolMissingUpstreamError", "InvalidArgumentError", "PoolBase", "kClients", "kNeedDrain", "kAddClient", "kRemoveClient", "kGetDispatcher", "Pool", "kUrl", "kInterceptors", "parseOrigin", "kFactory", "kOptions", "kGreatestCommonDivisor", "kCurrentWeight", "kIndex", "kWeight", "kMaxWeightPerServer", "kErrorPenalty", "getGreatestCommonDivisor", "a", "b", "defaultFactory", "origin", "opts", "BalancedPool", "upstreams", "factory", "upstream", "upstreamOrigin", "pool", "args", "err", "client", "p", "dispatcher", "counter", "maxWeightIndex", "require_dispatcher_weakref", "__commonJSMin", "exports", "module", "kConnected", "kSize", "CompatWeakRef", "value", "CompatFinalizer", "finalizer", "dispatcher", "key", "require_agent", "__commonJSMin", "exports", "module", "InvalidArgumentError", "kClients", "kRunning", "kClose", "kDestroy", "kDispatch", "kInterceptors", "DispatcherBase", "Pool", "Client", "util", "createRedirectInterceptor", "WeakRef", "FinalizationRegistry", "kOnConnect", "kOnDisconnect", "kOnConnectionError", "kMaxRedirections", "kOnDrain", "kFactory", "kFinalizer", "kOptions", "defaultFactory", "origin", "opts", "Agent", "factory", "maxRedirections", "connect", "options", "key", "ref", "agent", "targets", "err", "ret", "client", "handler", "dispatcher", "closePromises", "destroyPromises", "require_readable", "__commonJSMin", "exports", "module", "assert", "Readable", "RequestAbortedError", "NotSupportedError", "InvalidArgumentError", "util", "ReadableStreamFrom", "toUSVString", "Blob", "kConsume", "kReading", "kBody", "kAbort", "kContentType", "resume", "abort", "contentType", "highWaterMark", "err", "ev", "args", "ret", "chunk", "consumePush", "consume", "opts", "limit", "signal", "abortFn", "signalListenerCleanup", "isLocked", "self", "isUnusable", "stream", "type", "resolve", "reject", "consumeFinish", "consumeStart", "state", "consumeEnd", "body", "length", "dst", "pos", "buf", "require_util", "__commonJSMin", "exports", "module", "assert", "ResponseStatusCodeError", "toUSVString", "getResolveErrorBodyCallback", "callback", "body", "contentType", "statusCode", "statusMessage", "headers", "chunks", "limit", "chunk", "payload", "require_abort_signal", "__commonJSMin", "exports", "module", "addAbortListener", "RequestAbortedError", "kListener", "kSignal", "abort", "self", "addSignal", "signal", "removeSignal", "require_api_request", "__commonJSMin", "exports", "module", "Readable", "InvalidArgumentError", "RequestAbortedError", "util", "getResolveErrorBodyCallback", "AsyncResource", "addSignal", "removeSignal", "RequestHandler", "opts", "callback", "signal", "method", "opaque", "body", "onInfo", "responseHeaders", "throwOnError", "highWaterMark", "err", "abort", "context", "statusCode", "rawHeaders", "resume", "statusMessage", "headers", "contentType", "chunk", "res", "trailers", "request", "resolve", "reject", "data", "require_api_stream", "__commonJSMin", "exports", "module", "finished", "PassThrough", "InvalidArgumentError", "InvalidReturnValueError", "RequestAbortedError", "util", "getResolveErrorBodyCallback", "AsyncResource", "addSignal", "removeSignal", "StreamHandler", "opts", "factory", "callback", "signal", "method", "opaque", "body", "onInfo", "responseHeaders", "throwOnError", "err", "abort", "context", "statusCode", "rawHeaders", "resume", "statusMessage", "headers", "res", "contentType", "trailers", "chunk", "stream", "resolve", "reject", "data", "require_api_pipeline", "__commonJSMin", "exports", "module", "Readable", "Duplex", "PassThrough", "InvalidArgumentError", "InvalidReturnValueError", "RequestAbortedError", "util", "AsyncResource", "addSignal", "removeSignal", "assert", "kResume", "PipelineRequest", "resume", "err", "callback", "PipelineResponse", "PipelineHandler", "opts", "handler", "signal", "method", "opaque", "onInfo", "responseHeaders", "body", "chunk", "encoding", "req", "res", "ret", "abort", "context", "statusCode", "rawHeaders", "headers", "trailers", "pipeline", "pipelineHandler", "require_api_upgrade", "__commonJSMin", "exports", "module", "InvalidArgumentError", "RequestAbortedError", "SocketError", "AsyncResource", "util", "addSignal", "removeSignal", "assert", "UpgradeHandler", "opts", "callback", "signal", "opaque", "responseHeaders", "abort", "context", "statusCode", "rawHeaders", "socket", "headers", "err", "upgrade", "resolve", "reject", "data", "upgradeHandler", "require_api_connect", "__commonJSMin", "exports", "module", "InvalidArgumentError", "RequestAbortedError", "SocketError", "AsyncResource", "util", "addSignal", "removeSignal", "ConnectHandler", "opts", "callback", "signal", "opaque", "responseHeaders", "abort", "context", "statusCode", "rawHeaders", "socket", "headers", "err", "connect", "resolve", "reject", "data", "connectHandler", "require_api", "__commonJSMin", "exports", "module", "require_mock_errors", "__commonJSMin", "exports", "module", "UndiciError", "MockNotMatchedError", "_MockNotMatchedError", "message", "require_mock_symbols", "__commonJSMin", "exports", "module", "require_mock_utils", "__commonJSMin", "exports", "module", "MockNotMatchedError", "kDispatches", "kMockAgent", "kOriginalDispatch", "kOrigin", "kGetNetConnect", "buildURL", "nop", "STATUS_CODES", "isPromise", "matchValue", "match", "value", "lowerCaseEntries", "headers", "headerName", "headerValue", "getHeaderByName", "key", "i", "buildHeadersFromArray", "clone", "entries", "index", "matchHeaders", "mockDispatch", "matchHeaderName", "matchHeaderValue", "safeUrl", "path", "pathSegments", "qp", "matchKey", "method", "body", "pathMatch", "methodMatch", "bodyMatch", "headersMatch", "getResponseData", "data", "getMockDispatch", "mockDispatches", "basePath", "resolvedPath", "matchedMockDispatches", "consumed", "addMockDispatch", "baseData", "replyData", "newMockDispatch", "deleteMockDispatch", "dispatch", "buildKey", "opts", "query", "generateKeyValues", "keyValuePairs", "x", "getStatusText", "statusCode", "getResponse", "buffers", "handler", "trailers", "error", "delay", "persist", "timesInvoked", "times", "handleReply", "_data", "optsHeaders", "newData", "responseData", "responseHeaders", "responseTrailers", "resume", "buildMockDispatch", "agent", "origin", "originalDispatch", "netConnect", "checkNetConnect", "url", "matcher", "buildMockOptions", "mockOptions", "require_mock_interceptor", "__commonJSMin", "exports", "module", "getResponseData", "buildKey", "addMockDispatch", "kDispatches", "kDispatchKey", "kDefaultHeaders", "kDefaultTrailers", "kContentLength", "kMockDispatch", "InvalidArgumentError", "buildURL", "MockScope", "mockDispatch", "waitInMs", "repeatTimes", "MockInterceptor", "opts", "mockDispatches", "parsedURL", "statusCode", "data", "responseOptions", "responseData", "contentLength", "headers", "trailers", "replyData", "wrappedDefaultsCallback", "resolvedData", "newMockDispatch", "dispatchData", "error", "require_mock_client", "__commonJSMin", "exports", "module", "promisify", "Client", "buildMockDispatch", "kDispatches", "kMockAgent", "kClose", "kOriginalClose", "kOrigin", "kOriginalDispatch", "kConnected", "MockInterceptor", "Symbols", "InvalidArgumentError", "MockClient", "origin", "opts", "require_mock_pool", "__commonJSMin", "exports", "module", "promisify", "Pool", "buildMockDispatch", "kDispatches", "kMockAgent", "kClose", "kOriginalClose", "kOrigin", "kOriginalDispatch", "kConnected", "MockInterceptor", "Symbols", "InvalidArgumentError", "MockPool", "origin", "opts", "require_pluralizer", "__commonJSMin", "exports", "module", "singulars", "plurals", "singular", "plural", "count", "one", "keys", "noun", "require_pending_interceptors_formatter", "__commonJSMin", "exports", "module", "Transform", "Console", "disableColors", "chunk", "_enc", "cb", "pendingInterceptors", "withPrettyHeaders", "method", "path", "statusCode", "persist", "times", "timesInvoked", "origin", "require_mock_agent", "__commonJSMin", "exports", "module", "kClients", "Agent", "kAgent", "kMockAgentSet", "kMockAgentGet", "kDispatches", "kIsMockActive", "kNetConnect", "kGetNetConnect", "kOptions", "kFactory", "MockClient", "MockPool", "matchValue", "buildMockOptions", "InvalidArgumentError", "UndiciError", "Dispatcher", "Pluralizer", "PendingInterceptorsFormatter", "FakeWeakRef", "value", "MockAgent", "opts", "agent", "origin", "dispatcher", "handler", "matcher", "mockOptions", "ref", "keyMatcher", "nonExplicitRef", "nonExplicitDispatcher", "mockAgentClients", "scope", "dispatch", "pending", "pendingInterceptorsFormatter", "pluralizer", "require_proxy_agent", "__commonJSMin", "exports", "module", "kProxy", "kClose", "kDestroy", "kInterceptors", "URL", "Agent", "Pool", "DispatcherBase", "InvalidArgumentError", "RequestAbortedError", "buildConnector", "kAgent", "kClient", "kProxyHeaders", "kRequestTls", "kProxyTls", "kConnectEndpoint", "defaultProtocolPort", "protocol", "buildProxyOptions", "opts", "defaultFactory", "origin", "ProxyAgent", "clientFactory", "resolvedUrl", "port", "host", "connect", "callback", "requestedHost", "socket", "statusCode", "servername", "err", "handler", "headers", "buildHeaders", "throwIfProxyAuthIsSent", "headersPair", "i", "key", "require_global", "__commonJSMin", "exports", "module", "globalDispatcher", "InvalidArgumentError", "Agent", "getGlobalDispatcher", "setGlobalDispatcher", "agent", "require_DecoratorHandler", "__commonJSMin", "exports", "module", "handler", "args", "require_headers", "__commonJSMin", "exports", "module", "kHeadersList", "kGuard", "kEnumerableProperty", "makeIterator", "isValidHeaderName", "isValidHeaderValue", "webidl", "assert", "kHeadersMap", "kHeadersSortedMap", "headerValueNormalize", "potentialValue", "i", "fill", "headers", "object", "header", "key", "value", "HeadersList", "_HeadersList", "init", "name", "lowercaseName", "exists", "delimiter", "Headers", "_Headers", "list", "names", "a", "b", "cookies", "callbackFn", "thisArg", "V", "require_response", "__commonJSMin", "exports", "module", "Headers", "HeadersList", "fill", "extractBody", "cloneBody", "mixinBody", "util", "kEnumerableProperty", "isValidReasonPhrase", "isCancelled", "isAborted", "isBlobLike", "serializeJavascriptValueToJSONString", "isErrorLike", "isomorphicEncode", "redirectStatus", "nullBodyStatus", "DOMException", "kState", "kHeaders", "kGuard", "kRealm", "webidl", "FormData", "getGlobalOrigin", "URLSerializer", "kHeadersList", "assert", "types", "ReadableStream", "Response", "_Response", "relevantRealm", "responseObject", "makeNetworkError", "data", "init", "bytes", "body", "initializeResponse", "url", "status", "parsedURL", "err", "value", "makeResponse", "bodyWithType", "extractedBody", "type", "urlList", "clonedResponse", "cloneResponse", "clonedResponseObject", "response", "filterResponse", "newResponse", "reason", "isError", "makeFilteredResponse", "state", "target", "p", "makeAppropriateNetworkError", "fetchParams", "V", "require_request", "__commonJSMin", "exports", "module", "extractBody", "mixinBody", "cloneBody", "Headers", "fillHeaders", "HeadersList", "FinalizationRegistry", "util", "isValidHTTPToken", "sameOrigin", "normalizeMethod", "makePolicyContainer", "forbiddenMethods", "corsSafeListedMethods", "referrerPolicy", "requestRedirect", "requestMode", "requestCredentials", "requestCache", "requestDuplex", "kEnumerableProperty", "kHeaders", "kSignal", "kState", "kGuard", "kRealm", "webidl", "getGlobalOrigin", "URLSerializer", "kHeadersList", "assert", "getMaxListeners", "setMaxListeners", "getEventListeners", "defaultMaxListeners", "TransformStream", "kInit", "kAbortController", "requestFinalizer", "signal", "abort", "Request", "_Request", "input", "init", "request", "fallbackMode", "baseUrl", "parsedURL", "err", "makeRequest", "origin", "window", "referrer", "parsedReferrer", "mode", "method", "ac", "acRef", "headers", "key", "val", "inputBody", "initBody", "extractedBody", "contentType", "inputOrInitBody", "finalBody", "identityTransform", "clonedRequest", "cloneRequest", "clonedRequestObject", "newRequest", "V", "require_fetch", "__commonJSMin", "exports", "module", "Response", "makeNetworkError", "makeAppropriateNetworkError", "filterResponse", "makeResponse", "Headers", "Request", "makeRequest", "zlib", "bytesMatch", "makePolicyContainer", "clonePolicyContainer", "requestBadPort", "TAOCheck", "appendRequestOriginHeader", "responseLocationURL", "requestCurrentURL", "setRequestReferrerPolicyOnRedirect", "tryUpgradeRequestToAPotentiallyTrustworthyURL", "createOpaqueTimingInfo", "appendFetchMetadata", "corsCheck", "crossOriginResourcePolicyCheck", "determineRequestsReferrer", "coarsenedSharedCurrentTime", "createDeferredPromise", "isBlobLike", "sameOrigin", "isCancelled", "isAborted", "isErrorLike", "fullyReadBody", "readableStreamClose", "isomorphicEncode", "urlIsLocal", "urlIsHttpHttpsScheme", "urlHasHttpsScheme", "kState", "kHeaders", "kGuard", "kRealm", "assert", "safelyExtractBody", "redirectStatus", "nullBodyStatus", "safeMethods", "requestBodyHeader", "subresource", "DOMException", "kHeadersList", "EE", "Readable", "pipeline", "addAbortListener", "isErrored", "isReadable", "nodeMajor", "nodeMinor", "dataURLProcessor", "serializeAMimeType", "TransformStream", "getGlobalDispatcher", "webidl", "STATUS_CODES", "resolveObjectURL", "ReadableStream", "Fetch", "dispatcher", "reason", "error", "fetch", "input", "init", "p", "requestObject", "e", "request", "abortFetch", "responseObject", "relevantRealm", "locallyAborted", "controller", "fetching", "response", "finalizeAndReportTiming", "initiatorType", "originalURL", "timingInfo", "cacheState", "markResourceTiming", "globalThis", "err", "processRequestBodyChunkLength", "processRequestEndOfBody", "processResponse", "processResponseEndOfBody", "processResponseConsumeBody", "useParallelQueue", "taskDestination", "crossOriginIsolatedCapability", "currenTime", "fetchParams", "mainFetch", "recursive", "currentURL", "schemeFetch", "httpFetch", "internalResponse", "processBodyError", "fetchFinale", "processBody", "bytes", "scheme", "blobURLEntry", "blobURLEntryObject", "bodyWithType", "body", "length", "type", "dataURLStruct", "mimeType", "finalizeResponse", "identityTransformAlgorithm", "chunk", "transformStream", "nullOrBytes", "failure", "actualResponse", "httpNetworkOrCacheFetch", "httpRedirectFetch", "locationURL", "headerName", "isAuthenticationFetch", "isNewConnectionFetch", "httpFetchParams", "httpRequest", "httpCache", "revalidatingFlag", "includeCredentials", "contentLength", "contentLengthHeaderValue", "forwardResponse", "httpNetworkFetch", "forceNewConnection", "newConnection", "requestBody", "processBodyChunk", "processEndOfBody", "status", "statusText", "headersList", "socket", "dispatch", "iterator", "pullAlgorithm", "cancelAlgorithm", "stream", "onAborted", "isFailure", "done", "value", "url", "agent", "resolve", "reject", "abort", "connection", "resume", "codings", "location", "headers", "n", "key", "val", "x", "decoders", "willFollow", "coding", "require_symbols", "__commonJSMin", "exports", "module", "require_progressevent", "__commonJSMin", "exports", "module", "webidl", "kState", "ProgressEvent", "_ProgressEvent", "type", "eventInitDict", "require_encoding", "__commonJSMin", "exports", "module", "getEncoding", "label", "require_util", "__commonJSMin", "exports", "module", "kState", "kError", "kResult", "kAborted", "kLastProgressEventFired", "ProgressEvent", "getEncoding", "DOMException", "serializeAMimeType", "parseMIMEType", "types", "StringDecoder", "btoa", "staticPropertyDescriptors", "readOperation", "fr", "blob", "type", "encodingName", "reader", "bytes", "chunkPromise", "isFirstChunk", "done", "value", "fireAProgressEvent", "result", "packageData", "error", "event", "mimeType", "dataURL", "parsed", "decoder", "chunk", "encoding", "decode", "combineByteSequences", "binaryString", "ioQueue", "BOMEncoding", "BOMSniffing", "slice", "sliced", "a", "b", "c", "sequences", "size", "offset", "require_filereader", "__commonJSMin", "exports", "module", "staticPropertyDescriptors", "readOperation", "fireAProgressEvent", "kState", "kError", "kResult", "kEvents", "kAborted", "webidl", "kEnumerableProperty", "FileReader", "_FileReader", "blob", "encoding", "fn", "require_symbols", "__commonJSMin", "exports", "module", "require_util", "__commonJSMin", "exports", "module", "assert", "URLSerializer", "isValidHeaderName", "urlEquals", "A", "B", "excludeFragment", "serializedA", "serializedB", "fieldValues", "header", "values", "value", "require_cache", "__commonJSMin", "exports", "module", "kConstruct", "urlEquals", "getFieldValues", "kEnumerableProperty", "isDisturbed", "kHeadersList", "webidl", "Response", "cloneResponse", "Request", "kState", "kHeaders", "kGuard", "kRealm", "fetching", "urlIsHttpHttpsScheme", "createDeferredPromise", "readAllBytes", "assert", "getGlobalDispatcher", "Cache", "_Cache", "#relevantRequestResponseList", "request", "options", "p", "r", "responses", "requestResponse", "requestResponses", "#queryCache", "responseList", "response", "responseObject", "body", "requests", "responsePromises", "requestList", "fetchControllers", "responsePromise", "fieldValues", "fieldValue", "controller", "operations", "index", "operation", "cacheJobPromise", "errorData", "#batchCacheOperations", "e", "innerRequest", "innerResponse", "clonedResponse", "bodyReadPromise", "reader", "bytes", "error", "promise", "requestObject", "cache", "backupCache", "addedItems", "resultList", "idx", "requestQuery", "targetStorage", "storage", "cachedRequest", "cachedResponse", "#requestMatchesCachedItem", "queryURL", "cachedURL", "requestValue", "queryValue", "cacheQueryOptionConverters", "require_cachestorage", "__commonJSMin", "exports", "module", "kConstruct", "Cache", "webidl", "kEnumerableProperty", "CacheStorage", "_CacheStorage", "#caches", "request", "options", "cacheList", "response", "cacheName", "cache", "require_constants", "__commonJSMin", "exports", "module", "require_util", "__commonJSMin", "exports", "module", "assert", "kHeadersList", "isCTLExcludingHtab", "value", "char", "code", "validateCookieName", "name", "validateCookieValue", "validateCookiePath", "path", "validateCookieDomain", "domain", "toIMFDate", "date", "days", "months", "dayName", "day", "month", "year", "hour", "minute", "second", "validateCookieMaxAge", "maxAge", "stringify", "cookie", "out", "part", "key", "kHeadersListNode", "getHeadersList", "headers", "symbol", "headersList", "require_parse", "__commonJSMin", "exports", "module", "maxNameValuePairSize", "maxAttributeValueSize", "isCTLExcludingHtab", "collectASequenceOfCodePointsFast", "assert", "parseSetCookie", "header", "nameValuePair", "unparsedAttributes", "name", "value", "position", "parseUnparsedAttributes", "cookieAttributeList", "cookieAv", "attributeName", "attributeValue", "attributeNameLowercase", "expiryTime", "charCode", "deltaSeconds", "cookieDomain", "cookiePath", "enforcement", "attributeValueLowercase", "require_cookies", "__commonJSMin", "exports", "module", "parseSetCookie", "stringify", "getHeadersList", "webidl", "Headers", "getCookies", "headers", "cookie", "out", "piece", "name", "value", "deleteCookie", "attributes", "setCookie", "getSetCookies", "cookies", "pair", "require_constants", "__commonJSMin", "exports", "module", "uid", "staticPropertyDescriptors", "states", "opcodes", "maxUnsigned16Bit", "parserStates", "emptyBuffer", "require_symbols", "__commonJSMin", "exports", "module", "require_events", "__commonJSMin", "exports", "module", "webidl", "kEnumerableProperty", "MessagePort", "MessageEvent", "_MessageEvent", "#eventInit", "type", "eventInitDict", "bubbles", "cancelable", "data", "origin", "lastEventId", "source", "ports", "CloseEvent", "_CloseEvent", "ErrorEvent", "_ErrorEvent", "eventInit", "require_util", "__commonJSMin", "exports", "module", "kReadyState", "kController", "kResponse", "kBinaryType", "kWebSocketURL", "states", "opcodes", "MessageEvent", "ErrorEvent", "isEstablished", "ws", "isClosing", "isClosed", "fireEvent", "target", "eventConstructor", "eventInitDict", "event", "websocketMessageReceived", "type", "data", "dataForEvent", "failWebsocketConnection", "isValidSubprotocol", "protocol", "char", "code", "isValidStatusCode", "reason", "controller", "response", "require_connection", "__commonJSMin", "exports", "module", "randomBytes", "createHash", "diagnosticsChannel", "uid", "states", "kReadyState", "kSentClose", "kByteParser", "kReceivedClose", "fireEvent", "failWebsocketConnection", "CloseEvent", "makeRequest", "fetching", "Headers", "getGlobalDispatcher", "kHeadersList", "channels", "establishWebSocketConnection", "url", "protocols", "ws", "onEstablish", "options", "requestURL", "request", "headersList", "keyValue", "protocol", "permessageDeflate", "response", "secWSAccept", "digest", "secExtension", "secProtocol", "onSocketData", "onSocketClose", "onSocketError", "chunk", "wasClean", "code", "reason", "result", "error", "require_frame", "__commonJSMin", "exports", "module", "randomBytes", "maxUnsigned16Bit", "WebsocketFrameSend", "data", "opcode", "bodyLength", "payloadLength", "offset", "buffer", "i", "require_receiver", "__commonJSMin", "exports", "module", "Writable", "diagnosticsChannel", "parserStates", "opcodes", "states", "emptyBuffer", "kReadyState", "kSentClose", "kResponse", "kReceivedClose", "isValidStatusCode", "failWebsocketConnection", "websocketMessageReceived", "WebsocketFrameSend", "channels", "ByteParser", "#buffers", "#byteOffset", "#state", "#info", "#fragments", "ws", "chunk", "_", "callback", "buffer", "payloadLength", "body", "closeFrame", "err", "frame", "upper", "lower", "fullMessage", "n", "offset", "next", "length", "onlyCode", "data", "code", "reason", "require_websocket", "__commonJSMin", "exports", "module", "webidl", "DOMException", "URLSerializer", "staticPropertyDescriptors", "states", "opcodes", "emptyBuffer", "kWebSocketURL", "kReadyState", "kController", "kBinaryType", "kResponse", "kSentClose", "kByteParser", "isEstablished", "isClosing", "isValidSubprotocol", "failWebsocketConnection", "fireEvent", "establishWebSocketConnection", "WebsocketFrameSend", "ByteParser", "kEnumerableProperty", "isBlobLike", "getGlobalDispatcher", "types", "experimentalWarned", "WebSocket", "_WebSocket", "#events", "#bufferedAmount", "#protocol", "#extensions", "url", "protocols", "options", "urlRecord", "e", "p", "response", "#onConnectionEstablished", "code", "reason", "reasonByteLength", "frame", "err", "data", "socket", "value", "buffer", "ab", "fn", "type", "parser", "extensions", "protocol", "V", "require_undici", "__commonJSMin", "exports", "module", "Client", "Dispatcher", "errors", "Pool", "BalancedPool", "Agent", "util", "InvalidArgumentError", "api", "buildConnector", "MockClient", "MockAgent", "MockPool", "mockErrors", "ProxyAgent", "getGlobalDispatcher", "setGlobalDispatcher", "DecoratorHandler", "RedirectHandler", "createRedirectInterceptor", "hasCrypto", "makeDispatcher", "fn", "url", "opts", "handler", "path", "agent", "dispatcher", "fetchImpl", "resource", "err", "setGlobalOrigin", "getGlobalOrigin", "CacheStorage", "kConstruct", "deleteCookie", "getCookies", "getSetCookies", "setCookie", "parseMIMEType", "serializeAMimeType", "WebSocket", "assertInputTypes", "text", "lang", "slow", "host", "exports", "SPACE_REGEX", "DEFAULT_PUNCTUATION_REGEX", "splitLongText", "text", "_a", "_b", "_c", "maxLength", "_d", "splitPunct", "isSpaceOrPunct", "s", "i", "regex", "lastIndexOfSpaceOrPunct", "left", "right", "result", "addResult", "start", "end", "str", "exports", "assertInputTypes_1", "__importDefault", "splitLongText_1", "url_1", "getAudioUrl", "text", "_a", "_b", "_c", "lang", "_d", "slow", "_e", "host", "exports", "getAllAudioUrls", "_f", "splitPunct", "shortText", "require_bind", "__commonJSMin", "exports", "module", "fn", "thisArg", "args", "require_utils", "__commonJSMin", "exports", "module", "bind", "toString", "isArray", "val", "isUndefined", "isBuffer", "isArrayBuffer", "isFormData", "isArrayBufferView", "result", "isString", "isNumber", "isObject", "isPlainObject", "prototype", "isDate", "isFile", "isBlob", "isFunction", "isStream", "isURLSearchParams", "trim", "str", "isStandardBrowserEnv", "forEach", "obj", "fn", "i", "l", "key", "merge", "assignValue", "extend", "a", "b", "thisArg", "stripBOM", "content", "require_buildURL", "__commonJSMin", "exports", "module", "utils", "encode", "val", "url", "params", "paramsSerializer", "serializedParams", "parts", "key", "v", "hashmarkIndex", "require_InterceptorManager", "__commonJSMin", "exports", "module", "utils", "InterceptorManager", "fulfilled", "rejected", "options", "id", "fn", "h", "require_normalizeHeaderName", "__commonJSMin", "exports", "module", "utils", "headers", "normalizedName", "value", "name", "require_enhanceError", "__commonJSMin", "exports", "module", "error", "config", "code", "request", "response", "require_createError", "__commonJSMin", "exports", "module", "enhanceError", "message", "config", "code", "request", "response", "error", "require_settle", "__commonJSMin", "exports", "module", "createError", "resolve", "reject", "response", "validateStatus", "require_cookies", "__commonJSMin", "exports", "module", "utils", "name", "value", "expires", "path", "domain", "secure", "cookie", "match", "require_isAbsoluteURL", "__commonJSMin", "exports", "module", "url", "require_combineURLs", "__commonJSMin", "exports", "module", "baseURL", "relativeURL", "require_buildFullPath", "__commonJSMin", "exports", "module", "isAbsoluteURL", "combineURLs", "baseURL", "requestedURL", "require_parseHeaders", "__commonJSMin", "exports", "module", "utils", "ignoreDuplicateOf", "headers", "parsed", "key", "val", "line", "require_isURLSameOrigin", "__commonJSMin", "exports", "module", "utils", "msie", "urlParsingNode", "originURL", "resolveURL", "url", "href", "requestURL", "parsed", "require_xhr", "__commonJSMin", "exports", "module", "utils", "settle", "cookies", "buildURL", "buildFullPath", "parseHeaders", "isURLSameOrigin", "createError", "config", "resolve", "reject", "requestData", "requestHeaders", "responseType", "request", "username", "password", "fullPath", "onloadend", "responseHeaders", "responseData", "response", "timeoutErrorMessage", "xsrfValue", "val", "key", "cancel", "require_ms", "__commonJSMin", "exports", "module", "s", "m", "h", "d", "w", "y", "val", "options", "type", "parse", "fmtLong", "fmtShort", "str", "match", "n", "ms", "msAbs", "plural", "name", "isPlural", "require_common", "__commonJSMin", "exports", "module", "setup", "env", "createDebug", "coerce", "disable", "enable", "enabled", "destroy", "key", "selectColor", "namespace", "hash", "i", "prevTime", "enableOverride", "namespacesCache", "enabledCache", "debug", "args", "self", "curr", "ms", "index", "match", "format", "formatter", "val", "extend", "v", "delimiter", "newDebug", "namespaces", "split", "len", "toNamespace", "name", "regexp", "require_browser", "__commonJSMin", "exports", "module", "formatArgs", "save", "load", "useColors", "localstorage", "warned", "args", "c", "index", "lastC", "match", "namespaces", "r", "formatters", "v", "error", "require_has_flag", "__commonJSMin", "exports", "module", "flag", "argv", "prefix", "position", "terminatorPosition", "require_supports_color", "__commonJSMin", "exports", "module", "os", "tty", "hasFlag", "env", "forceColor", "translateLevel", "level", "supportsColor", "haveStream", "streamIsTTY", "min", "osRelease", "sign", "version", "getSupportLevel", "stream", "require_node", "__commonJSMin", "exports", "module", "tty", "util", "init", "log", "formatArgs", "save", "load", "useColors", "supportsColor", "key", "obj", "prop", "_", "k", "val", "args", "name", "c", "colorCode", "prefix", "getDate", "namespaces", "debug", "keys", "i", "formatters", "v", "str", "require_src", "__commonJSMin", "exports", "module", "require_debug", "__commonJSMin", "exports", "module", "debug", "require_follow_redirects", "__commonJSMin", "exports", "module", "url", "URL", "http", "https", "Writable", "assert", "debug", "useNativeURL", "error", "preservedUrlFields", "events", "eventHandlers", "event", "arg1", "arg2", "arg3", "InvalidUrlError", "createErrorType", "RedirectionError", "TooManyRedirectsError", "MaxBodyLengthExceededError", "WriteAfterEndError", "destroy", "noop", "RedirectableRequest", "options", "responseCallback", "self", "response", "cause", "destroyRequest", "data", "encoding", "callback", "isString", "isBuffer", "isFunction", "currentRequest", "name", "value", "msecs", "destroyOnTimeout", "socket", "startTimer", "clearTimer", "method", "a", "b", "property", "searchPos", "protocol", "nativeProtocol", "scheme", "request", "buffers", "writeNext", "buffer", "statusCode", "location", "requestHeaders", "beforeRedirect", "removeMatchingHeaders", "currentHostHeader", "currentUrlParts", "parseUrl", "currentHost", "currentUrl", "redirectUrl", "resolveUrl", "spreadUrlObject", "isSubdomain", "responseDetails", "requestDetails", "wrap", "protocols", "nativeProtocols", "wrappedProtocol", "input", "isURL", "validateUrl", "get", "wrappedRequest", "parsed", "relative", "base", "urlObject", "target", "spread", "key", "regex", "headers", "lastValue", "header", "code", "message", "baseClass", "CustomError", "properties", "subdomain", "domain", "dot", "require_package", "__commonJSMin", "exports", "module", "require_http", "__commonJSMin", "exports", "module", "utils", "settle", "buildFullPath", "buildURL", "http", "https", "httpFollow", "httpsFollow", "url", "zlib", "pkg", "createError", "enhanceError", "isHttps", "setProxy", "options", "proxy", "location", "base64", "redirection", "config", "resolvePromise", "rejectPromise", "resolve", "value", "reject", "data", "headers", "auth", "username", "password", "fullPath", "parsed", "protocol", "urlAuth", "urlUsername", "urlPassword", "isHttpsRequest", "agent", "proxyEnv", "proxyUrl", "parsedProxyUrl", "noProxyEnv", "shouldProxy", "noProxy", "s", "proxyElement", "proxyUrlAuth", "transport", "isHttpsProxy", "req", "res", "stream", "lastRequest", "response", "responseBuffer", "totalResponseBytes", "chunk", "err", "responseData", "timeout", "cancel", "require_defaults", "__commonJSMin", "exports", "module", "utils", "normalizeHeaderName", "enhanceError", "DEFAULT_CONTENT_TYPE", "setContentTypeIfUnset", "headers", "value", "getDefaultAdapter", "adapter", "stringifySafely", "rawValue", "parser", "encoder", "e", "defaults", "data", "transitional", "silentJSONParsing", "forcedJSONParsing", "strictJSONParsing", "status", "method", "require_transformData", "__commonJSMin", "exports", "module", "utils", "defaults", "data", "headers", "fns", "context", "fn", "require_isCancel", "__commonJSMin", "exports", "module", "value", "require_dispatchRequest", "__commonJSMin", "exports", "module", "utils", "transformData", "isCancel", "defaults", "throwIfCancellationRequested", "config", "method", "adapter", "response", "reason", "require_mergeConfig", "__commonJSMin", "exports", "module", "utils", "config1", "config2", "config", "valueFromConfig2Keys", "mergeDeepPropertiesKeys", "defaultToConfig2Keys", "directMergeKeys", "getMergedValue", "target", "source", "mergeDeepProperties", "prop", "axiosKeys", "otherKeys", "key", "require_validator", "__commonJSMin", "exports", "module", "pkg", "validators", "type", "i", "thing", "deprecatedWarnings", "currentVerArr", "isOlderVersion", "version", "thanVersion", "pkgVersionArr", "destVer", "validator", "message", "isDeprecated", "formatMessage", "opt", "desc", "value", "opts", "assertOptions", "options", "schema", "allowUnknown", "keys", "result", "require_Axios", "__commonJSMin", "exports", "module", "utils", "buildURL", "InterceptorManager", "dispatchRequest", "mergeConfig", "validator", "validators", "Axios", "instanceConfig", "config", "transitional", "requestInterceptorChain", "synchronousRequestInterceptors", "interceptor", "responseInterceptorChain", "promise", "chain", "newConfig", "onFulfilled", "onRejected", "error", "method", "url", "data", "require_Cancel", "__commonJSMin", "exports", "module", "Cancel", "message", "require_CancelToken", "__commonJSMin", "exports", "module", "Cancel", "CancelToken", "executor", "resolvePromise", "resolve", "token", "message", "cancel", "c", "require_spread", "__commonJSMin", "exports", "module", "callback", "arr", "require_isAxiosError", "__commonJSMin", "exports", "module", "payload", "require_axios", "__commonJSMin", "exports", "module", "utils", "bind", "Axios", "mergeConfig", "defaults", "createInstance", "defaultConfig", "context", "instance", "axios", "instanceConfig", "promises", "require_axios", "__commonJSMin", "exports", "module", "text", "_a", "_b", "_c", "lang", "_d", "slow", "_e", "host", "_f", "splitPunct", "_g", "timeout", "shortTextList", "shortText", "base64List", "_h", "result", "i", "base64", "getAudioUrl_1", "exports", "getAudioBase64_1", "quick_translate_exports", "__export", "QuickTranslate", "__toCommonJS", "import_api", "import_react", "import_api", "import_api", "import_utils", "import_react", "import_querystring", "import_undici", "languages", "getISOCode", "language", "key", "isSupported", "import_undici", "zr", "a", "b", "yr", "wr", "c", "window", "d", "e", "f", "g", "l", "h", "xr", "config", "updateTKK", "now", "code", "xt", "tokenGenerator", "text", "tk", "error", "translate", "text", "options", "error", "lang", "isSupported", "getISOCode", "token", "tokenGenerator", "baseUrl", "data", "url", "querystring", "requestOptions", "requestUrl", "body", "result", "obj", "str", "googleTTS", "AUTO_DETECT", "TranslateError", "extractPronounceTextFromRaw", "raw", "simpleTranslate", "text", "options", "translated", "translate", "err", "error", "usePreferences", "React", "useTextState", "preferences", "text", "setText", "textRef", "cbText", "err", "useDebouncedValue", "value", "delay", "debouncedValue", "setDebouncedValue", "React", "handler", "useSourceLanguage", "sourceLanguage", "setSourceLanguage", "AUTO_DETECT", "useTargetLanguages", "preferences", "usePreferences", "targetLanguages", "setTargetLanguages", "lang", "supportedLanguages_default", "supportedLanguagesByCode_default", "getLanguageFlag", "language", "fallback", "getLanguageFlagByCode", "lang", "supportedLanguagesByCode", "supportedLanguagesByCode_default", "supportedLanguagesByCountry", "supportedLanguages_default", "languages", "import_api", "import_jsx_runtime", "TargetLanguageList", "targetLanguages", "setTargetLanguages", "useTargetLanguages", "lang", "getLanguageFlagByCode", "supportedLanguagesByCode", "updated", "l", "index", "languages", "AUTO_DETECT", "getLanguageFlag", "prev", "import_jsx_runtime", "LanguageDropdown", "navigation", "sourceLanguage", "setSourceLanguage", "useSourceLanguage", "targetLanguages", "useTargetLanguages", "value", "TargetLanguageList", "getLanguageFlagByCode", "languages", "lang", "getLanguageFlag", "import_api", "import_utils", "import_api", "import_jsx_runtime", "ConfigurableCopyPasteActions", "defaultActionsPrefix", "value", "defaultPreference", "pasteAction", "copyAction", "ToggleFullTextAction", "onAction", "OpenOnGoogleTranslateWebsiteAction", "translationText", "translation", "import_jsx_runtime", "QuickTranslateListItem", "props", "langFrom", "supportedLanguagesByCode", "langTo", "result", "isLoading", "simpleTranslate", "error", "getLanguageFlag", "ConfigurableCopyPasteActions", "ToggleFullTextAction", "OpenOnGoogleTranslateWebsiteAction", "import_jsx_runtime", "QuickTranslate", "sourceLanguage", "useSourceLanguage", "targetLanguages", "useTargetLanguages", "proxy", "usePreferences", "isShowingDetail", "setIsShowingDetail", "text", "setText", "useTextState", "debouncedText", "useDebouncedValue", "loadingStates", "setLoadingStates", "lang", "isAnyLoading", "isLoading", "setIsLoading", "prev", "LanguageDropdown", "targetLanguage", "QuickTranslateListItem"] +} diff --git a/.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/translate-form.js b/.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/translate-form.js @@ -0,0 +1,108 @@ +"use strict";var Z3=Object.create;var Jr=Object.defineProperty;var j3=Object.getOwnPropertyDescriptor;var X3=Object.getOwnPropertyNames;var z3=Object.getPrototypeOf,K3=Object.prototype.hasOwnProperty;var E=(e,A)=>()=>(A||e((A={exports:{}}).exports,A),A.exports),$3=(e,A)=>{for(var t in A)Jr(e,t,{get:A[t],enumerable:!0})},O0=(e,A,t,a)=>{if(A&&typeof A=="object"||typeof A=="function")for(let r of X3(A))!K3.call(e,r)&&r!==t&&Jr(e,r,{get:()=>A[r],enumerable:!(a=j3(A,r))||a.enumerable});return e};var rt=(e,A,t)=>(t=e!=null?Z3(z3(e)):{},O0(A||!e||!e.__esModule?Jr(t,"default",{value:e,enumerable:!0}):t,e)),eQ=e=>O0(Jr({},"__esModule",{value:!0}),e);var Z0=E(W0=>{var P0=Object.prototype.hasOwnProperty;function un(e,A){var t,a;if(e===A)return!0;if(e&&A&&(t=e.constructor)===A.constructor){if(t===Date)return e.getTime()===A.getTime();if(t===RegExp)return e.toString()===A.toString();if(t===Array){if((a=e.length)===A.length)for(;a--&&un(e[a],A[a]););return a===-1}if(!t||typeof e=="object"){a=0;for(t in e)if(P0.call(e,t)&&++a&&!P0.call(A,t)||!(t in A)||!un(e[t],A[t]))return!1;return Object.keys(A).length===a}}return e!==e&&A!==A}W0.dequal=un});var j0=E(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.useDeepMemo=void 0;var En=require("react"),AQ=Z0();function tQ(e){let A=(0,En.useRef)(e),t=(0,En.useRef)(0);return(0,AQ.dequal)(e,A.current)||(A.current=e,t.current+=1),(0,En.useMemo)(()=>A.current,[t.current])}Gr.useDeepMemo=tQ});var it=E(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.useLatest=void 0;var aQ=require("react");function rQ(e){let A=(0,aQ.useRef)(e);return A.current=e,A}xr.useLatest=rQ});var Qn=E(xA=>{"use strict";var iQ=xA&&xA.__createBinding||(Object.create?function(e,A,t,a){a===void 0&&(a=t);var r=Object.getOwnPropertyDescriptor(A,t);(!r||("get"in r?!A.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return A[t]}}),Object.defineProperty(e,a,r)}:function(e,A,t,a){a===void 0&&(a=t),e[a]=A[t]}),sQ=xA&&xA.__setModuleDefault||(Object.create?function(e,A){Object.defineProperty(e,"default",{enumerable:!0,value:A})}:function(e,A){e.default=A}),X0=xA&&xA.__importStar||function(e){if(e&&e.__esModule)return e;var A={};if(e!=null)for(var t in e)t!=="default"&&Object.prototype.hasOwnProperty.call(e,t)&&iQ(A,e,t);return sQ(A,e),A};Object.defineProperty(xA,"__esModule",{value:!0});xA.handleErrorToastAction=void 0;var nQ=X0(require("fs")),oQ=X0(require("path")),_r=require("@raycast/api"),dQ=e=>{let A=!0,t="[Extension Name]...",a="";try{let i=JSON.parse(nQ.readFileSync(oQ.join(_r.environment.assetsPath,"..","package.json"),"utf8"));t=`[${i.title}]...`,a=`https://raycast.com/${i.owner||i.author}/${i.name}`,(!i.owner||i.access==="public")&&(A=!1)}catch{}let r=_r.environment.isDevelopment||A;return{title:r?"Copy Logs":"Report Error",onAction(i){i.hide(),r?_r.Clipboard.copy(e?.stack||e?.message||""):(0,_r.open)(`https://github.com/raycast/extensions/issues/new?&labels=extension%2Cbug&template=extension_bug_report.yml&title=${encodeURIComponent(t)}&extension-url=${encodeURI(a)}&description=${encodeURIComponent(`#### Error: +\`\`\` +${e?.stack||e?.message||""} +\`\`\` +`)}`)}}};xA.handleErrorToastAction=dQ});var ba=E(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.usePromise=void 0;var yt=require("react"),Ht=require("@raycast/api"),pQ=j0(),Ot=it(),lQ=Qn();function gQ(e,A,t){let a=(0,yt.useRef)(0),[r,i]=(0,yt.useState)({isLoading:!0}),s=(0,Ot.useLatest)(e),n=(0,Ot.useLatest)(t?.abortable),o=(0,Ot.useLatest)(A||[]),d=(0,Ot.useLatest)(t?.onError),l=(0,Ot.useLatest)(t?.onData),p=(0,Ot.useLatest)(t?.onWillExecute),g=(0,Ot.useLatest)(r.data),c=(0,yt.useRef)(),u=(0,yt.useCallback)((...w)=>{let I=++a.current;return n.current&&(n.current.current?.abort(),n.current.current=new AbortController),p.current?.(w),i(y=>({...y,isLoading:!0})),cQ(s.current)(...w).then(y=>(I===a.current&&(l.current&&l.current(y),i({data:y,isLoading:!1})),y),y=>(y.name=="AbortError"||I===a.current&&(d.current?d.current(y):(console.error(y),Ht.environment.launchType!==Ht.LaunchType.Background&&(0,Ht.showToast)({style:Ht.Toast.Style.Failure,title:"Failed to fetch latest data",message:y.message,primaryAction:{title:"Retry",onAction(b){b.hide(),c.current?.(...o.current||[])}},secondaryAction:(0,lQ.handleErrorToastAction)(y)})),i({error:y,isLoading:!1})),y))},[n,l,d,o,s,i,c,p]);c.current=u;let m=(0,yt.useCallback)(()=>u(...o.current||[]),[u,o]),Q=(0,yt.useCallback)(async(w,I)=>{let y;try{if(I?.optimisticUpdate){typeof I?.rollbackOnError!="function"&&I?.rollbackOnError!==!1&&(y=structuredClone(g.current?.value));let b=I.optimisticUpdate;i(k=>({...k,data:b(k.data)}))}return await w}catch(b){if(typeof I?.rollbackOnError=="function"){let k=I.rollbackOnError;i(x=>({...x,data:k(x.data)}))}else I?.optimisticUpdate&&I?.rollbackOnError!==!1&&i(k=>({...k,data:y}));throw b}finally{I?.shouldRevalidateAfter!==!1&&(Ht.environment.launchType===Ht.LaunchType.Background||Ht.environment.commandMode==="menu-bar"?await m():m())}},[m,g,i]);(0,yt.useEffect)(()=>{t?.execute!==!1?u(...A||[]):n.current&&n.current.current?.abort()},[(0,pQ.useDeepMemo)([A,t?.execute,u]),n]),(0,yt.useEffect)(()=>()=>{n.current&&n.current.current?.abort()},[n]);let C=t?.execute!==!1?r.isLoading:!1;return{...{...r,isLoading:C},revalidate:m,mutate:Q}}qr.usePromise=gQ;function cQ(e){return e===Promise.all||e===Promise.race||e===Promise.resolve||e===Promise.reject?e.bind(Promise):e}});var Or=E(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.useCachedState=void 0;var mn=require("react"),uQ=require("@raycast/api"),Cn=it();function EQ(e,A){let t=this[e];return t instanceof Date?`__raycast_cached_date__${t.toString()}`:Buffer.isBuffer(t)?`__raycast_cached_buffer__${t.toString("base64")}`:A}function QQ(e,A){return typeof A=="string"&&A.startsWith("__raycast_cached_date__")?new Date(A.replace("__raycast_cached_date__","")):typeof A=="string"&&A.startsWith("__raycast_cached_buffer__")?Buffer.from(A.replace("__raycast_cached_buffer__",""),"base64"):A}var mQ=Symbol("cache without namespace"),z0=new Map;function CQ(e,A,t){let a=t?.cacheNamespace||mQ,r=z0.get(a)||z0.set(a,new uQ.Cache({namespace:t?.cacheNamespace})).get(a);if(!r)throw new Error("Missing cache");let i=(0,Cn.useLatest)(e),s=(0,Cn.useLatest)(A),n=(0,mn.useSyncExternalStore)(r.subscribe,()=>{try{return r.get(i.current)}catch(p){console.error("Could not get Cache data:",p);return}}),o=(0,mn.useMemo)(()=>{if(typeof n<"u"){if(n==="undefined")return;try{return JSON.parse(n,QQ)}catch(p){return console.warn("The cached data is corrupted",p),s.current}}else return s.current},[n,s]),d=(0,Cn.useLatest)(o),l=(0,mn.useCallback)(p=>{let g=typeof p=="function"?p(d.current):p;if(typeof g>"u")r.set(i.current,"undefined");else{let c=JSON.stringify(g,EQ);r.set(i.current,c)}return g},[r,i,d]);return[o,l]}Hr.useCachedState=CQ});var In=E((Pt,t2)=>{"use strict";var Bn=require("crypto");Pt=t2.exports=Sa;function Sa(e,A){return A=e2(e,A),BQ(e,A)}Pt.sha1=function(e){return Sa(e)};Pt.keys=function(e){return Sa(e,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})};Pt.MD5=function(e){return Sa(e,{algorithm:"md5",encoding:"hex"})};Pt.keysMD5=function(e){return Sa(e,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var y1=Bn.getHashes?Bn.getHashes().slice():["sha1","md5"];y1.push("passthrough");var K0=["buffer","hex","binary","base64"];function e2(e,A){A=A||{};var t={};if(t.algorithm=A.algorithm||"sha1",t.encoding=A.encoding||"hex",t.excludeValues=!!A.excludeValues,t.algorithm=t.algorithm.toLowerCase(),t.encoding=t.encoding.toLowerCase(),t.ignoreUnknown=A.ignoreUnknown===!0,t.respectType=A.respectType!==!1,t.respectFunctionNames=A.respectFunctionNames!==!1,t.respectFunctionProperties=A.respectFunctionProperties!==!1,t.unorderedArrays=A.unorderedArrays===!0,t.unorderedSets=A.unorderedSets!==!1,t.unorderedObjects=A.unorderedObjects!==!1,t.replacer=A.replacer||void 0,t.excludeKeys=A.excludeKeys||void 0,typeof e>"u")throw new Error("Object argument required.");for(var a=0;a<y1.length;++a)y1[a].toLowerCase()===t.algorithm.toLowerCase()&&(t.algorithm=y1[a]);if(y1.indexOf(t.algorithm)===-1)throw new Error('Algorithm "'+t.algorithm+'" not supported. supported values: '+y1.join(", "));if(K0.indexOf(t.encoding)===-1&&t.algorithm!=="passthrough")throw new Error('Encoding "'+t.encoding+'" not supported. supported values: '+K0.join(", "));return t}function $0(e){if(typeof e!="function")return!1;var A=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;return A.exec(Function.prototype.toString.call(e))!=null}function BQ(e,A){var t;A.algorithm!=="passthrough"?t=Bn.createHash(A.algorithm):t=new A2,typeof t.write>"u"&&(t.write=t.update,t.end=t.update);var a=hn(A,t);if(a.dispatch(e),t.update||t.end(""),t.digest)return t.digest(A.encoding==="buffer"?void 0:A.encoding);var r=t.read();return A.encoding==="buffer"?r:r.toString(A.encoding)}Pt.writeToStream=function(e,A,t){return typeof t>"u"&&(t=A,A={}),A=e2(e,A),hn(A,t).dispatch(e)};function hn(e,A,t){t=t||[];var a=function(r){return A.update?A.update(r,"utf8"):A.write(r,"utf8")};return{dispatch:function(r){e.replacer&&(r=e.replacer(r));var i=typeof r;return r===null&&(i="null"),this["_"+i](r)},_object:function(r){var i=/\[object (.*)\]/i,s=Object.prototype.toString.call(r),n=i.exec(s);n?n=n[1]:n="unknown:["+s+"]",n=n.toLowerCase();var o=null;if((o=t.indexOf(r))>=0)return this.dispatch("[CIRCULAR:"+o+"]");if(t.push(r),typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(r))return a("buffer:"),a(r);if(n!=="object"&&n!=="function"&&n!=="asyncfunction")if(this["_"+n])this["_"+n](r);else{if(e.ignoreUnknown)return a("["+n+"]");throw new Error('Unknown object type "'+n+'"')}else{var d=Object.keys(r);e.unorderedObjects&&(d=d.sort()),e.respectType!==!1&&!$0(r)&&d.splice(0,0,"prototype","__proto__","constructor"),e.excludeKeys&&(d=d.filter(function(p){return!e.excludeKeys(p)})),a("object:"+d.length+":");var l=this;return d.forEach(function(p){l.dispatch(p),a(":"),e.excludeValues||l.dispatch(r[p]),a(",")})}},_array:function(r,i){i=typeof i<"u"?i:e.unorderedArrays!==!1;var s=this;if(a("array:"+r.length+":"),!i||r.length<=1)return r.forEach(function(d){return s.dispatch(d)});var n=[],o=r.map(function(d){var l=new A2,p=t.slice(),g=hn(e,l,p);return g.dispatch(d),n=n.concat(p.slice(t.length)),l.read().toString()});return t=t.concat(n),o.sort(),this._array(o,!1)},_date:function(r){return a("date:"+r.toJSON())},_symbol:function(r){return a("symbol:"+r.toString())},_error:function(r){return a("error:"+r.toString())},_boolean:function(r){return a("bool:"+r.toString())},_string:function(r){a("string:"+r.length+":"),a(r.toString())},_function:function(r){a("fn:"),$0(r)?this.dispatch("[native]"):this.dispatch(r.toString()),e.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(r.name)),e.respectFunctionProperties&&this._object(r)},_number:function(r){return a("number:"+r.toString())},_xml:function(r){return a("xml:"+r.toString())},_null:function(){return a("Null")},_undefined:function(){return a("Undefined")},_regexp:function(r){return a("regex:"+r.toString())},_uint8array:function(r){return a("uint8array:"),this.dispatch(Array.prototype.slice.call(r))},_uint8clampedarray:function(r){return a("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(r))},_int8array:function(r){return a("int8array:"),this.dispatch(Array.prototype.slice.call(r))},_uint16array:function(r){return a("uint16array:"),this.dispatch(Array.prototype.slice.call(r))},_int16array:function(r){return a("int16array:"),this.dispatch(Array.prototype.slice.call(r))},_uint32array:function(r){return a("uint32array:"),this.dispatch(Array.prototype.slice.call(r))},_int32array:function(r){return a("int32array:"),this.dispatch(Array.prototype.slice.call(r))},_float32array:function(r){return a("float32array:"),this.dispatch(Array.prototype.slice.call(r))},_float64array:function(r){return a("float64array:"),this.dispatch(Array.prototype.slice.call(r))},_arraybuffer:function(r){return a("arraybuffer:"),this.dispatch(new Uint8Array(r))},_url:function(r){return a("url:"+r.toString(),"utf8")},_map:function(r){a("map:");var i=Array.from(r);return this._array(i,e.unorderedSets!==!1)},_set:function(r){a("set:");var i=Array.from(r);return this._array(i,e.unorderedSets!==!1)},_file:function(r){return a("file:"),this.dispatch([r.name,r.size,r.type,r.lastModfied])},_blob:function(){if(e.ignoreUnknown)return a("[blob]");throw Error(`Hashing Blob objects is currently not supported +(see https://github.com/puleos/object-hash/issues/26) +Use "options.replacer" or "options.ignoreUnknown" +`)},_domwindow:function(){return a("domwindow")},_bigint:function(r){return a("bigint:"+r.toString())},_process:function(){return a("process")},_timer:function(){return a("timer")},_pipe:function(){return a("pipe")},_tcp:function(){return a("tcp")},_udp:function(){return a("udp")},_tty:function(){return a("tty")},_statwatcher:function(){return a("statwatcher")},_securecontext:function(){return a("securecontext")},_connection:function(){return a("connection")},_zlib:function(){return a("zlib")},_context:function(){return a("context")},_nodescript:function(){return a("nodescript")},_httpparser:function(){return a("httpparser")},_dataview:function(){return a("dataview")},_signal:function(){return a("signal")},_fsevent:function(){return a("fsevent")},_tlswrap:function(){return a("tlswrap")}}}function A2(){return{buf:"",write:function(e){this.buf+=e},end:function(e){this.buf+=e},read:function(){return this.buf}}}});var Wr=E(D1=>{"use strict";var hQ=D1&&D1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(D1,"__esModule",{value:!0});D1.useCachedPromise=void 0;var Pr=require("react"),a2=hQ(In()),IQ=Or(),fQ=ba(),wQ=it(),Fa=Symbol();function yQ(e,A,t){let{initialData:a,keepPreviousData:r,...i}=t||{},s=(0,Pr.useRef)(),[n,o]=(0,IQ.useCachedState)((0,a2.default)(A||[]),Fa,{cacheNamespace:(0,a2.default)(e)}),d=(0,Pr.useRef)(n!==Fa?n:a),{mutate:l,revalidate:p,...g}=(0,fQ.usePromise)(e,A||[],{...i,onData(C){i.onData&&i.onData(C),s.current="promise",d.current=C,o(C)}}),c=n!==Fa?n:a,u=s.current==="promise"?d.current:r?n!==Fa?n:d.current:c,m=(0,wQ.useLatest)(u),Q=(0,Pr.useCallback)(async(C,B)=>{let w;try{if(B?.optimisticUpdate){typeof B?.rollbackOnError!="function"&&B?.rollbackOnError!==!1&&(w=structuredClone(m.current));let I=B.optimisticUpdate(m.current);s.current="cache",d.current=I,o(I)}return await l(C,{shouldRevalidateAfter:B?.shouldRevalidateAfter})}catch(I){if(typeof B?.rollbackOnError=="function"){let y=B.rollbackOnError(m.current);s.current="cache",d.current=y,o(y)}else B?.optimisticUpdate&&B?.rollbackOnError!==!1&&(s.current="cache",d.current=w,o(w));throw I}},[o,l,m,d,s]);return(0,Pr.useEffect)(()=>{n!==Fa&&(s.current="cache",d.current=n)},[n]),{data:u,isLoading:g.isLoading,error:g.error,mutate:Q,revalidate:p}}D1.useCachedPromise=yQ});var s2=E(Zr=>{"use strict";var DQ=/^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/,r2=/^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/,i2=/^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/;Zr.format=RQ;Zr.parse=NQ;Zr.test=vQ;function RQ(e){if(!e||typeof e!="object")throw new TypeError("argument obj is required");var A=e.subtype,t=e.suffix,a=e.type;if(!a||!r2.test(a))throw new TypeError("invalid type");if(!A||!DQ.test(A))throw new TypeError("invalid subtype");var r=a+"/"+A;if(t){if(!r2.test(t))throw new TypeError("invalid suffix");r+="+"+t}return r}function vQ(e){if(!e)throw new TypeError("argument string is required");if(typeof e!="string")throw new TypeError("argument string is required to be a string");return i2.test(e.toLowerCase())}function NQ(e){if(!e)throw new TypeError("argument string is required");if(typeof e!="string")throw new TypeError("argument string is required to be a string");var A=i2.exec(e.toLowerCase());if(!A)throw new TypeError("invalid media type");var t=A[1],a=A[2],r,i=a.lastIndexOf("+");return i!==-1&&(r=a.substr(i+1),a=a.substr(0,i)),new bQ(t,a,r)}function bQ(e,A,t){this.type=e,this.subtype=A,this.suffix=t}});var p2=E(fn=>{"use strict";var n2=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,SQ=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,o2=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,FQ=/\\([\u000b\u0020-\u00ff])/g,kQ=/([\\"])/g,d2=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;fn.format=LQ;fn.parse=UQ;function LQ(e){if(!e||typeof e!="object")throw new TypeError("argument obj is required");var A=e.parameters,t=e.type;if(!t||!d2.test(t))throw new TypeError("invalid type");var a=t;if(A&&typeof A=="object")for(var r,i=Object.keys(A).sort(),s=0;s<i.length;s++){if(r=i[s],!o2.test(r))throw new TypeError("invalid parameter name");a+="; "+r+"="+MQ(A[r])}return a}function UQ(e){if(!e)throw new TypeError("argument string is required");var A=typeof e=="object"?TQ(e):e;if(typeof A!="string")throw new TypeError("argument string is required to be a string");var t=A.indexOf(";"),a=t!==-1?A.slice(0,t).trim():A.trim();if(!d2.test(a))throw new TypeError("invalid media type");var r=new VQ(a.toLowerCase());if(t!==-1){var i,s,n;for(n2.lastIndex=t;s=n2.exec(A);){if(s.index!==t)throw new TypeError("invalid parameter format");t+=s[0].length,i=s[1].toLowerCase(),n=s[2],n.charCodeAt(0)===34&&(n=n.slice(1,-1),n.indexOf("\\")!==-1&&(n=n.replace(FQ,"$1"))),r.parameters[i]=n}if(t!==A.length)throw new TypeError("invalid parameter format")}return r}function TQ(e){var A;if(typeof e.getHeader=="function"?A=e.getHeader("content-type"):typeof e.headers=="object"&&(A=e.headers&&e.headers["content-type"]),typeof A!="string")throw new TypeError("content-type header is missing from object");return A}function MQ(e){var A=String(e);if(o2.test(A))return A;if(A.length>0&&!SQ.test(A))throw new TypeError("invalid parameter value");return'"'+A.replace(kQ,"\\$1")+'"'}function VQ(e){this.parameters=Object.create(null),this.type=e}});var c2=E((lN,g2)=>{"use strict";var ne={};g2.exports=ne;function l2(e){return e<0?-1:1}function YQ(e){return e%1===.5&&(e&1)===0?Math.floor(e):Math.round(e)}function Dt(e,A){A.unsigned||--e;let t=A.unsigned?0:-Math.pow(2,e),a=Math.pow(2,e)-1,r=A.moduloBitLength?Math.pow(2,A.moduloBitLength):Math.pow(2,e),i=A.moduloBitLength?Math.pow(2,A.moduloBitLength-1):Math.pow(2,e-1);return function(s,n){n||(n={});let o=+s;if(n.enforceRange){if(!Number.isFinite(o))throw new TypeError("Argument is not a finite number");if(o=l2(o)*Math.floor(Math.abs(o)),o<t||o>a)throw new TypeError("Argument is not in byte range");return o}if(!isNaN(o)&&n.clamp)return o=YQ(o),o<t&&(o=t),o>a&&(o=a),o;if(!Number.isFinite(o)||o===0)return 0;if(o=l2(o)*Math.floor(Math.abs(o)),o=o%r,!A.unsigned&&o>=i)return o-r;if(A.unsigned){if(o<0)o+=r;else if(o===-0)return 0}return o}}ne.void=function(){};ne.boolean=function(e){return!!e};ne.byte=Dt(8,{unsigned:!1});ne.octet=Dt(8,{unsigned:!0});ne.short=Dt(16,{unsigned:!1});ne["unsigned short"]=Dt(16,{unsigned:!0});ne.long=Dt(32,{unsigned:!1});ne["unsigned long"]=Dt(32,{unsigned:!0});ne["long long"]=Dt(32,{unsigned:!1,moduloBitLength:64});ne["unsigned long long"]=Dt(32,{unsigned:!0,moduloBitLength:64});ne.double=function(e){let A=+e;if(!Number.isFinite(A))throw new TypeError("Argument is not a finite floating-point value");return A};ne["unrestricted double"]=function(e){let A=+e;if(isNaN(A))throw new TypeError("Argument is NaN");return A};ne.float=ne.double;ne["unrestricted float"]=ne["unrestricted double"];ne.DOMString=function(e,A){return A||(A={}),A.treatNullAsEmptyString&&e===null?"":String(e)};ne.ByteString=function(e,A){let t=String(e),a;for(let r=0;(a=t.codePointAt(r))!==void 0;++r)if(a>255)throw new TypeError("Argument is not a valid bytestring");return t};ne.USVString=function(e){let A=String(e),t=A.length,a=[];for(let r=0;r<t;++r){let i=A.charCodeAt(r);if(i<55296||i>57343)a.push(String.fromCodePoint(i));else if(56320<=i&&i<=57343)a.push(String.fromCodePoint(65533));else if(r===t-1)a.push(String.fromCodePoint(65533));else{let s=A.charCodeAt(r+1);if(56320<=s&&s<=57343){let n=i&1023,o=s&1023;a.push(String.fromCodePoint(65536+1024*n+o)),++r}else a.push(String.fromCodePoint(65533))}}return a.join("")};ne.Date=function(e,A){if(!(e instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(e))return e};ne.RegExp=function(e,A){return e instanceof RegExp||(e=new RegExp(e)),e}});var u2=E((gN,Rt)=>{"use strict";Rt.exports.mixin=function(A,t){let a=Object.getOwnPropertyNames(t);for(let r=0;r<a.length;++r)Object.defineProperty(A,a[r],Object.getOwnPropertyDescriptor(t,a[r]))};Rt.exports.wrapperSymbol=Symbol("wrapper");Rt.exports.implSymbol=Symbol("impl");Rt.exports.wrapperForImpl=function(e){return e[Rt.exports.wrapperSymbol]};Rt.exports.implForWrapper=function(e){return e[Rt.exports.implSymbol]}});var E2=E((cN,JQ)=>{JQ.exports=[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1e3,1e3],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6e3],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8e3,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8e3]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9e3],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[3e4]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13e3,13e3],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43e3,43e3],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64e3,64e3],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66e3,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[12e4,12e4],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128e3,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23e3]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149e3]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32e3]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195e3,195e3],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[4e4]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918e3,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]});var I2=E((uN,Xr)=>{"use strict";var m2=require("punycode"),Q2=E2(),R1={TRANSITIONAL:0,NONTRANSITIONAL:1};function C2(e){return e.split("\0").map(function(A){return A.normalize("NFC")}).join("\0")}function B2(e){for(var A=0,t=Q2.length-1;A<=t;){var a=Math.floor((A+t)/2),r=Q2[a];if(r[0][0]<=e&&r[0][1]>=e)return r;r[0][0]>e?t=a-1:A=a+1}return null}var GQ=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function h2(e){return e.replace(GQ,"_").length}function xQ(e,A,t){for(var a=!1,r="",i=h2(e),s=0;s<i;++s){var n=e.codePointAt(s),o=B2(n);switch(o[1]){case"disallowed":a=!0,r+=String.fromCodePoint(n);break;case"ignored":break;case"mapped":r+=String.fromCodePoint.apply(String,o[2]);break;case"deviation":t===R1.TRANSITIONAL?r+=String.fromCodePoint.apply(String,o[2]):r+=String.fromCodePoint(n);break;case"valid":r+=String.fromCodePoint(n);break;case"disallowed_STD3_mapped":A?(a=!0,r+=String.fromCodePoint(n)):r+=String.fromCodePoint.apply(String,o[2]);break;case"disallowed_STD3_valid":A&&(a=!0),r+=String.fromCodePoint(n);break}}return{string:r,error:a}}var _Q=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;function qQ(e,A){e.substr(0,4)==="xn--"&&(e=m2.toUnicode(e),A=R1.NONTRANSITIONAL);var t=!1;(C2(e)!==e||e[3]==="-"&&e[4]==="-"||e[0]==="-"||e[e.length-1]==="-"||e.indexOf(".")!==-1||e.search(_Q)===0)&&(t=!0);for(var a=h2(e),r=0;r<a;++r){var i=B2(e.codePointAt(r));if(jr===R1.TRANSITIONAL&&i[1]!=="valid"||jr===R1.NONTRANSITIONAL&&i[1]!=="valid"&&i[1]!=="deviation"){t=!0;break}}return{label:e,error:t}}function jr(e,A,t){var a=xQ(e,A,t);a.string=C2(a.string);for(var r=a.string.split("."),i=0;i<r.length;++i)try{var s=qQ(r[i]);r[i]=s.label,a.error=a.error||s.error}catch{a.error=!0}return{string:r.join("."),error:a.error}}Xr.exports.toASCII=function(e,A,t,a){var r=jr(e,A,t),i=r.string.split(".");if(i=i.map(function(o){try{return m2.toASCII(o)}catch{return r.error=!0,o}}),a){var s=i.slice(0,i.length-1).join(".").length;(s.length>253||s.length===0)&&(r.error=!0);for(var n=0;n<i.length;++n)if(i.length>63||i.length===0){r.error=!0;break}}return r.error?null:i.join(".")};Xr.exports.toUnicode=function(e,A){var t=jr(e,A,R1.NONTRANSITIONAL);return{domain:t.string,error:t.error}};Xr.exports.PROCESSING_OPTIONS=R1});var _A=E((EN,aA)=>{"use strict";var v1=require("punycode"),f2=I2(),R2={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443},J=Symbol("failure");function w2(e){return v1.ucs2.decode(e).length}function y2(e,A){let t=e[A];return isNaN(t)?void 0:String.fromCodePoint(t)}function ka(e){return e>=48&&e<=57}function La(e){return e>=65&&e<=90||e>=97&&e<=122}function HQ(e){return La(e)||ka(e)}function FA(e){return ka(e)||e>=65&&e<=70||e>=97&&e<=102}function D2(e){return e==="."||e.toLowerCase()==="%2e"}function OQ(e){return e=e.toLowerCase(),e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function PQ(e,A){return La(e)&&(A===58||A===124)}function v2(e){return e.length===2&&La(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function WQ(e){return e.length===2&&La(e.codePointAt(0))&&e[1]===":"}function ZQ(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function jQ(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function wn(e){return R2[e]!==void 0}function he(e){return wn(e.scheme)}function XQ(e){return R2[e]}function N2(e){let A=e.toString(16).toUpperCase();return A.length===1&&(A="0"+A),"%"+A}function zQ(e){let A=new Buffer(e),t="";for(let a=0;a<A.length;++a)t+=N2(A[a]);return t}function KQ(e){let A=new Buffer(e),t=[];for(let a=0;a<A.length;++a)A[a]!==37?t.push(A[a]):A[a]===37&&FA(A[a+1])&&FA(A[a+2])?(t.push(parseInt(A.slice(a+1,a+3).toString(),16)),a+=2):t.push(A[a]);return new Buffer(t).toString()}function zr(e){return e<=31||e>126}var $Q=new Set([32,34,35,60,62,63,96,123,125]);function b2(e){return zr(e)||$Q.has(e)}var e8=new Set([47,58,59,61,64,91,92,93,94,124]);function Dn(e){return b2(e)||e8.has(e)}function Wt(e,A){let t=String.fromCodePoint(e);return A(e)?zQ(t):t}function A8(e){let A=10;return e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"?(e=e.substring(2),A=16):e.length>=2&&e.charAt(0)==="0"&&(e=e.substring(1),A=8),e===""?0:(A===10?/[^0-9]/:A===16?/[^0-9A-Fa-f]/:/[^0-7]/).test(e)?J:parseInt(e,A)}function t8(e){let A=e.split(".");if(A[A.length-1]===""&&A.length>1&&A.pop(),A.length>4)return e;let t=[];for(let i of A){if(i==="")return e;let s=A8(i);if(s===J)return e;t.push(s)}for(let i=0;i<t.length-1;++i)if(t[i]>255)return J;if(t[t.length-1]>=Math.pow(256,5-t.length))return J;let a=t.pop(),r=0;for(let i of t)a+=i*Math.pow(256,3-r),++r;return a}function a8(e){let A="",t=e;for(let a=1;a<=4;++a)A=String(t%256)+A,a!==4&&(A="."+A),t=Math.floor(t/256);return A}function r8(e){let A=[0,0,0,0,0,0,0,0],t=0,a=null,r=0;if(e=v1.ucs2.decode(e),e[r]===58){if(e[r+1]!==58)return J;r+=2,++t,a=t}for(;r<e.length;){if(t===8)return J;if(e[r]===58){if(a!==null)return J;++r,++t,a=t;continue}let i=0,s=0;for(;s<4&&FA(e[r]);)i=i*16+parseInt(y2(e,r),16),++r,++s;if(e[r]===46){if(s===0||(r-=s,t>6))return J;let n=0;for(;e[r]!==void 0;){let o=null;if(n>0)if(e[r]===46&&n<4)++r;else return J;if(!ka(e[r]))return J;for(;ka(e[r]);){let d=parseInt(y2(e,r));if(o===null)o=d;else{if(o===0)return J;o=o*10+d}if(o>255)return J;++r}A[t]=A[t]*256+o,++n,(n===2||n===4)&&++t}if(n!==4)return J;break}else if(e[r]===58){if(++r,e[r]===void 0)return J}else if(e[r]!==void 0)return J;A[t]=i,++t}if(a!==null){let i=t-a;for(t=7;t!==0&&i>0;){let s=A[a+i-1];A[a+i-1]=A[t],A[t]=s,--t,--i}}else if(a===null&&t!==8)return J;return A}function i8(e){let A="",a=n8(e).idx,r=!1;for(let i=0;i<=7;++i)if(!(r&&e[i]===0)){if(r&&(r=!1),a===i){A+=i===0?"::":":",r=!0;continue}A+=e[i].toString(16),i!==7&&(A+=":")}return A}function yn(e,A){if(e[0]==="[")return e[e.length-1]!=="]"?J:r8(e.substring(1,e.length-1));if(!A)return s8(e);let t=KQ(e),a=f2.toASCII(t,!1,f2.PROCESSING_OPTIONS.NONTRANSITIONAL,!1);if(a===null||ZQ(a))return J;let r=t8(a);return typeof r=="number"||r===J?r:a}function s8(e){if(jQ(e))return J;let A="",t=v1.ucs2.decode(e);for(let a=0;a<t.length;++a)A+=Wt(t[a],zr);return A}function n8(e){let A=null,t=1,a=null,r=0;for(let i=0;i<e.length;++i)e[i]!==0?(r>t&&(A=a,t=r),a=null,r=0):(a===null&&(a=i),++r);return r>t&&(A=a,t=r),{idx:A,len:t}}function Rn(e){return typeof e=="number"?a8(e):e instanceof Array?"["+i8(e)+"]":e}function o8(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function d8(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function S2(e){let A=e.path;A.length!==0&&(e.scheme==="file"&&A.length===1&&l8(A[0])||A.pop())}function F2(e){return e.username!==""||e.password!==""}function p8(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function l8(e){return/^[A-Za-z]:$/.test(e)}function oe(e,A,t,a,r){if(this.pointer=0,this.input=e,this.base=A||null,this.encodingOverride=t||"utf-8",this.stateOverride=r,this.url=a,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:!1};let s=o8(this.input);s!==this.input&&(this.parseError=!0),this.input=s}let i=d8(this.input);for(i!==this.input&&(this.parseError=!0),this.input=i,this.state=r||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=v1.ucs2.decode(this.input);this.pointer<=this.input.length;++this.pointer){let s=this.input[this.pointer],n=isNaN(s)?void 0:String.fromCodePoint(s),o=this["parse "+this.state](s,n);if(o){if(o===J){this.failure=!0;break}}else break}}oe.prototype["parse scheme start"]=function(A,t){if(La(A))this.buffer+=t.toLowerCase(),this.state="scheme";else if(!this.stateOverride)this.state="no scheme",--this.pointer;else return this.parseError=!0,J;return!0};oe.prototype["parse scheme"]=function(A,t){if(HQ(A)||A===43||A===45||A===46)this.buffer+=t.toLowerCase();else if(A===58){if(this.stateOverride&&(he(this.url)&&!wn(this.buffer)||!he(this.url)&&wn(this.buffer)||(F2(this.url)||this.url.port!==null)&&this.buffer==="file"||this.url.scheme==="file"&&(this.url.host===""||this.url.host===null))||(this.url.scheme=this.buffer,this.buffer="",this.stateOverride))return!1;this.url.scheme==="file"?((this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47)&&(this.parseError=!0),this.state="file"):he(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme?this.state="special relative or authority":he(this.url)?this.state="special authority slashes":this.input[this.pointer+1]===47?(this.state="path or authority",++this.pointer):(this.url.cannotBeABaseURL=!0,this.url.path.push(""),this.state="cannot-be-a-base-URL path")}else if(!this.stateOverride)this.buffer="",this.state="no scheme",this.pointer=-1;else return this.parseError=!0,J;return!0};oe.prototype["parse no scheme"]=function(A){return this.base===null||this.base.cannotBeABaseURL&&A!==35?J:(this.base.cannotBeABaseURL&&A===35?(this.url.scheme=this.base.scheme,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.url.cannotBeABaseURL=!0,this.state="fragment"):this.base.scheme==="file"?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)};oe.prototype["parse special relative or authority"]=function(A){return A===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0};oe.prototype["parse path or authority"]=function(A){return A===47?this.state="authority":(this.state="path",--this.pointer),!0};oe.prototype["parse relative"]=function(A){return this.url.scheme=this.base.scheme,isNaN(A)?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query):A===47?this.state="relative slash":A===63?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):A===35?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):he(this.url)&&A===92?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(0,this.base.path.length-1),this.state="path",--this.pointer),!0};oe.prototype["parse relative slash"]=function(A){return he(this.url)&&(A===47||A===92)?(A===92&&(this.parseError=!0),this.state="special authority ignore slashes"):A===47?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer),!0};oe.prototype["parse special authority slashes"]=function(A){return A===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0};oe.prototype["parse special authority ignore slashes"]=function(A){return A!==47&&A!==92?(this.state="authority",--this.pointer):this.parseError=!0,!0};oe.prototype["parse authority"]=function(A,t){if(A===64){this.parseError=!0,this.atFlag&&(this.buffer="%40"+this.buffer),this.atFlag=!0;let a=w2(this.buffer);for(let r=0;r<a;++r){let i=this.buffer.codePointAt(r);if(i===58&&!this.passwordTokenSeenFlag){this.passwordTokenSeenFlag=!0;continue}let s=Wt(i,Dn);this.passwordTokenSeenFlag?this.url.password+=s:this.url.username+=s}this.buffer=""}else if(isNaN(A)||A===47||A===63||A===35||he(this.url)&&A===92){if(this.atFlag&&this.buffer==="")return this.parseError=!0,J;this.pointer-=w2(this.buffer)+1,this.buffer="",this.state="host"}else this.buffer+=t;return!0};oe.prototype["parse hostname"]=oe.prototype["parse host"]=function(A,t){if(this.stateOverride&&this.url.scheme==="file")--this.pointer,this.state="file host";else if(A===58&&!this.arrFlag){if(this.buffer==="")return this.parseError=!0,J;let a=yn(this.buffer,he(this.url));if(a===J)return J;if(this.url.host=a,this.buffer="",this.state="port",this.stateOverride==="hostname")return!1}else if(isNaN(A)||A===47||A===63||A===35||he(this.url)&&A===92){if(--this.pointer,he(this.url)&&this.buffer==="")return this.parseError=!0,J;if(this.stateOverride&&this.buffer===""&&(F2(this.url)||this.url.port!==null))return this.parseError=!0,!1;let a=yn(this.buffer,he(this.url));if(a===J)return J;if(this.url.host=a,this.buffer="",this.state="path start",this.stateOverride)return!1}else A===91?this.arrFlag=!0:A===93&&(this.arrFlag=!1),this.buffer+=t;return!0};oe.prototype["parse port"]=function(A,t){if(ka(A))this.buffer+=t;else if(isNaN(A)||A===47||A===63||A===35||he(this.url)&&A===92||this.stateOverride){if(this.buffer!==""){let a=parseInt(this.buffer);if(a>Math.pow(2,16)-1)return this.parseError=!0,J;this.url.port=a===XQ(this.url.scheme)?null:a,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}else return this.parseError=!0,J;return!0};var g8=new Set([47,92,63,35]);oe.prototype["parse file"]=function(A){return this.url.scheme="file",A===47||A===92?(A===92&&(this.parseError=!0),this.state="file slash"):this.base!==null&&this.base.scheme==="file"?isNaN(A)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):A===63?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):A===35?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1===0||!PQ(A,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!g8.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),S2(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0};oe.prototype["parse file slash"]=function(A){return A===47||A===92?(A===92&&(this.parseError=!0),this.state="file host"):(this.base!==null&&this.base.scheme==="file"&&(WQ(this.base.path[0])?this.url.path.push(this.base.path[0]):this.url.host=this.base.host),this.state="path",--this.pointer),!0};oe.prototype["parse file host"]=function(A,t){if(isNaN(A)||A===47||A===92||A===63||A===35)if(--this.pointer,!this.stateOverride&&v2(this.buffer))this.parseError=!0,this.state="path";else if(this.buffer===""){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let a=yn(this.buffer,he(this.url));if(a===J)return J;if(a==="localhost"&&(a=""),this.url.host=a,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=t;return!0};oe.prototype["parse path start"]=function(A){return he(this.url)?(A===92&&(this.parseError=!0),this.state="path",A!==47&&A!==92&&--this.pointer):!this.stateOverride&&A===63?(this.url.query="",this.state="query"):!this.stateOverride&&A===35?(this.url.fragment="",this.state="fragment"):A!==void 0&&(this.state="path",A!==47&&--this.pointer),!0};oe.prototype["parse path"]=function(A){if(isNaN(A)||A===47||he(this.url)&&A===92||!this.stateOverride&&(A===63||A===35)){if(he(this.url)&&A===92&&(this.parseError=!0),OQ(this.buffer)?(S2(this.url),A!==47&&!(he(this.url)&&A===92)&&this.url.path.push("")):D2(this.buffer)&&A!==47&&!(he(this.url)&&A===92)?this.url.path.push(""):D2(this.buffer)||(this.url.scheme==="file"&&this.url.path.length===0&&v2(this.buffer)&&(this.url.host!==""&&this.url.host!==null&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)),this.buffer="",this.url.scheme==="file"&&(A===void 0||A===63||A===35))for(;this.url.path.length>1&&this.url.path[0]==="";)this.parseError=!0,this.url.path.shift();A===63&&(this.url.query="",this.state="query"),A===35&&(this.url.fragment="",this.state="fragment")}else A===37&&(!FA(this.input[this.pointer+1])||!FA(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=Wt(A,b2);return!0};oe.prototype["parse cannot-be-a-base-URL path"]=function(A){return A===63?(this.url.query="",this.state="query"):A===35?(this.url.fragment="",this.state="fragment"):(!isNaN(A)&&A!==37&&(this.parseError=!0),A===37&&(!FA(this.input[this.pointer+1])||!FA(this.input[this.pointer+2]))&&(this.parseError=!0),isNaN(A)||(this.url.path[0]=this.url.path[0]+Wt(A,zr))),!0};oe.prototype["parse query"]=function(A,t){if(isNaN(A)||!this.stateOverride&&A===35){(!he(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss")&&(this.encodingOverride="utf-8");let a=new Buffer(this.buffer);for(let r=0;r<a.length;++r)a[r]<33||a[r]>126||a[r]===34||a[r]===35||a[r]===60||a[r]===62?this.url.query+=N2(a[r]):this.url.query+=String.fromCodePoint(a[r]);this.buffer="",A===35&&(this.url.fragment="",this.state="fragment")}else A===37&&(!FA(this.input[this.pointer+1])||!FA(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=t;return!0};oe.prototype["parse fragment"]=function(A){return isNaN(A)||(A===0?this.parseError=!0:(A===37&&(!FA(this.input[this.pointer+1])||!FA(this.input[this.pointer+2]))&&(this.parseError=!0),this.url.fragment+=Wt(A,zr))),!0};function c8(e,A){let t=e.scheme+":";if(e.host!==null?(t+="//",(e.username!==""||e.password!=="")&&(t+=e.username,e.password!==""&&(t+=":"+e.password),t+="@"),t+=Rn(e.host),e.port!==null&&(t+=":"+e.port)):e.host===null&&e.scheme==="file"&&(t+="//"),e.cannotBeABaseURL)t+=e.path[0];else for(let a of e.path)t+="/"+a;return e.query!==null&&(t+="?"+e.query),!A&&e.fragment!==null&&(t+="#"+e.fragment),t}function u8(e){let A=e.scheme+"://";return A+=Rn(e.host),e.port!==null&&(A+=":"+e.port),A}aA.exports.serializeURL=c8;aA.exports.serializeURLOrigin=function(e){switch(e.scheme){case"blob":try{return aA.exports.serializeURLOrigin(aA.exports.parseURL(e.path[0]))}catch{return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return u8({scheme:e.scheme,host:e.host,port:e.port});case"file":return"file://";default:return"null"}};aA.exports.basicURLParse=function(e,A){A===void 0&&(A={});let t=new oe(e,A.baseURL,A.encodingOverride,A.url,A.stateOverride);return t.failure?"failure":t.url};aA.exports.setTheUsername=function(e,A){e.username="";let t=v1.ucs2.decode(A);for(let a=0;a<t.length;++a)e.username+=Wt(t[a],Dn)};aA.exports.setThePassword=function(e,A){e.password="";let t=v1.ucs2.decode(A);for(let a=0;a<t.length;++a)e.password+=Wt(t[a],Dn)};aA.exports.serializeHost=Rn;aA.exports.cannotHaveAUsernamePasswordPort=p8;aA.exports.serializeInteger=function(e){return String(e)};aA.exports.parseURL=function(e,A){return A===void 0&&(A={}),aA.exports.basicURLParse(e,{baseURL:A.baseURL,encodingOverride:A.encodingOverride})}});var L2=E(k2=>{"use strict";var de=_A();k2.implementation=class{constructor(A){let t=A[0],a=A[1],r=null;if(a!==void 0&&(r=de.basicURLParse(a),r==="failure"))throw new TypeError("Invalid base URL");let i=de.basicURLParse(t,{baseURL:r});if(i==="failure")throw new TypeError("Invalid URL");this._url=i}get href(){return de.serializeURL(this._url)}set href(A){let t=de.basicURLParse(A);if(t==="failure")throw new TypeError("Invalid URL");this._url=t}get origin(){return de.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(A){de.basicURLParse(A+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(A){de.cannotHaveAUsernamePasswordPort(this._url)||de.setTheUsername(this._url,A)}get password(){return this._url.password}set password(A){de.cannotHaveAUsernamePasswordPort(this._url)||de.setThePassword(this._url,A)}get host(){let A=this._url;return A.host===null?"":A.port===null?de.serializeHost(A.host):de.serializeHost(A.host)+":"+de.serializeInteger(A.port)}set host(A){this._url.cannotBeABaseURL||de.basicURLParse(A,{url:this._url,stateOverride:"host"})}get hostname(){return this._url.host===null?"":de.serializeHost(this._url.host)}set hostname(A){this._url.cannotBeABaseURL||de.basicURLParse(A,{url:this._url,stateOverride:"hostname"})}get port(){return this._url.port===null?"":de.serializeInteger(this._url.port)}set port(A){de.cannotHaveAUsernamePasswordPort(this._url)||(A===""?this._url.port=null:de.basicURLParse(A,{url:this._url,stateOverride:"port"}))}get pathname(){return this._url.cannotBeABaseURL?this._url.path[0]:this._url.path.length===0?"":"/"+this._url.path.join("/")}set pathname(A){this._url.cannotBeABaseURL||(this._url.path=[],de.basicURLParse(A,{url:this._url,stateOverride:"path start"}))}get search(){return this._url.query===null||this._url.query===""?"":"?"+this._url.query}set search(A){let t=this._url;if(A===""){t.query=null;return}let a=A[0]==="?"?A.substring(1):A;t.query="",de.basicURLParse(a,{url:t,stateOverride:"query"})}get hash(){return this._url.fragment===null||this._url.fragment===""?"":"#"+this._url.fragment}set hash(A){if(A===""){this._url.fragment=null;return}let t=A[0]==="#"?A.substring(1):A;this._url.fragment="",de.basicURLParse(t,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}});var M2=E((CN,Ua)=>{"use strict";var mA=c2(),T2=u2(),U2=L2(),z=T2.implSymbol;function De(e){if(!this||this[z]||!(this instanceof De))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");let A=[];for(let t=0;t<arguments.length&&t<2;++t)A[t]=arguments[t];A[0]=mA.USVString(A[0]),A[1]!==void 0&&(A[1]=mA.USVString(A[1])),Ua.exports.setup(this,A)}De.prototype.toJSON=function(){if(!this||!Ua.exports.is(this))throw new TypeError("Illegal invocation");let A=[];for(let t=0;t<arguments.length&&t<0;++t)A[t]=arguments[t];return this[z].toJSON.apply(this[z],A)};Object.defineProperty(De.prototype,"href",{get(){return this[z].href},set(e){e=mA.USVString(e),this[z].href=e},enumerable:!0,configurable:!0});De.prototype.toString=function(){if(!this||!Ua.exports.is(this))throw new TypeError("Illegal invocation");return this.href};Object.defineProperty(De.prototype,"origin",{get(){return this[z].origin},enumerable:!0,configurable:!0});Object.defineProperty(De.prototype,"protocol",{get(){return this[z].protocol},set(e){e=mA.USVString(e),this[z].protocol=e},enumerable:!0,configurable:!0});Object.defineProperty(De.prototype,"username",{get(){return this[z].username},set(e){e=mA.USVString(e),this[z].username=e},enumerable:!0,configurable:!0});Object.defineProperty(De.prototype,"password",{get(){return this[z].password},set(e){e=mA.USVString(e),this[z].password=e},enumerable:!0,configurable:!0});Object.defineProperty(De.prototype,"host",{get(){return this[z].host},set(e){e=mA.USVString(e),this[z].host=e},enumerable:!0,configurable:!0});Object.defineProperty(De.prototype,"hostname",{get(){return this[z].hostname},set(e){e=mA.USVString(e),this[z].hostname=e},enumerable:!0,configurable:!0});Object.defineProperty(De.prototype,"port",{get(){return this[z].port},set(e){e=mA.USVString(e),this[z].port=e},enumerable:!0,configurable:!0});Object.defineProperty(De.prototype,"pathname",{get(){return this[z].pathname},set(e){e=mA.USVString(e),this[z].pathname=e},enumerable:!0,configurable:!0});Object.defineProperty(De.prototype,"search",{get(){return this[z].search},set(e){e=mA.USVString(e),this[z].search=e},enumerable:!0,configurable:!0});Object.defineProperty(De.prototype,"hash",{get(){return this[z].hash},set(e){e=mA.USVString(e),this[z].hash=e},enumerable:!0,configurable:!0});Ua.exports={is(e){return!!e&&e[z]instanceof U2.implementation},create(e,A){let t=Object.create(De.prototype);return this.setup(t,e,A),t},setup(e,A,t){t||(t={}),t.wrapper=e,e[z]=new U2.implementation(A,t),e[z][T2.wrapperSymbol]=e},interface:De,expose:{Window:{URL:De},Worker:{URL:De}}}});var V2=E(qA=>{"use strict";qA.URL=M2().interface;qA.serializeURL=_A().serializeURL;qA.serializeURLOrigin=_A().serializeURLOrigin;qA.basicURLParse=_A().basicURLParse;qA.setTheUsername=_A().setTheUsername;qA.setThePassword=_A().setThePassword;qA.serializeHost=_A().serializeHost;qA.serializeInteger=_A().serializeInteger;qA.parseURL=_A().parseURL});var j2=E((HA,Z2)=>{"use strict";Object.defineProperty(HA,"__esModule",{value:!0});function S1(e){return e&&typeof e=="object"&&"default"in e?e.default:e}var kA=S1(require("stream")),x2=S1(require("http")),$r=S1(require("url")),_2=S1(V2()),E8=S1(require("https")),Zt=S1(require("zlib")),Q8=kA.Readable,st=Symbol("buffer"),vn=Symbol("type"),Ma=class e{constructor(){this[vn]="";let A=arguments[0],t=arguments[1],a=[],r=0;if(A){let s=A,n=Number(s.length);for(let o=0;o<n;o++){let d=s[o],l;d instanceof Buffer?l=d:ArrayBuffer.isView(d)?l=Buffer.from(d.buffer,d.byteOffset,d.byteLength):d instanceof ArrayBuffer?l=Buffer.from(d):d instanceof e?l=d[st]:l=Buffer.from(typeof d=="string"?d:String(d)),r+=l.length,a.push(l)}}this[st]=Buffer.concat(a);let i=t&&t.type!==void 0&&String(t.type).toLowerCase();i&&!/[^\u0020-\u007E]/.test(i)&&(this[vn]=i)}get size(){return this[st].length}get type(){return this[vn]}text(){return Promise.resolve(this[st].toString())}arrayBuffer(){let A=this[st],t=A.buffer.slice(A.byteOffset,A.byteOffset+A.byteLength);return Promise.resolve(t)}stream(){let A=new Q8;return A._read=function(){},A.push(this[st]),A.push(null),A}toString(){return"[object Blob]"}slice(){let A=this.size,t=arguments[0],a=arguments[1],r,i;t===void 0?r=0:t<0?r=Math.max(A+t,0):r=Math.min(t,A),a===void 0?i=A:a<0?i=Math.max(A+a,0):i=Math.min(a,A);let s=Math.max(i-r,0),o=this[st].slice(r,r+s),d=new e([],{type:arguments[2]});return d[st]=o,d}};Object.defineProperties(Ma.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Object.defineProperty(Ma.prototype,Symbol.toStringTag,{value:"Blob",writable:!1,enumerable:!1,configurable:!0});function ke(e,A,t){Error.call(this,e),this.message=e,this.type=A,t&&(this.code=this.errno=t.code),Error.captureStackTrace(this,this.constructor)}ke.prototype=Object.create(Error.prototype);ke.prototype.constructor=ke;ke.prototype.name="FetchError";var Fn;try{Fn=require("encoding").convert}catch{}var ot=Symbol("Body internals"),Y2=kA.PassThrough;function Re(e){var A=this,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=t.size;let r=a===void 0?0:a;var i=t.timeout;let s=i===void 0?0:i;e==null?e=null:q2(e)?e=Buffer.from(e.toString()):Ja(e)||Buffer.isBuffer(e)||(Object.prototype.toString.call(e)==="[object ArrayBuffer]"?e=Buffer.from(e):ArrayBuffer.isView(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof kA||(e=Buffer.from(String(e)))),this[ot]={body:e,disturbed:!1,error:null},this.size=r,this.timeout=s,e instanceof kA&&e.on("error",function(n){let o=n.name==="AbortError"?n:new ke(`Invalid response body while trying to fetch ${A.url}: ${n.message}`,"system",n);A[ot].error=o})}Re.prototype={get body(){return this[ot].body},get bodyUsed(){return this[ot].disturbed},arrayBuffer(){return N1.call(this).then(function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)})},blob(){let e=this.headers&&this.headers.get("content-type")||"";return N1.call(this).then(function(A){return Object.assign(new Ma([],{type:e.toLowerCase()}),{[st]:A})})},json(){var e=this;return N1.call(this).then(function(A){try{return JSON.parse(A.toString())}catch(t){return Re.Promise.reject(new ke(`invalid json response body at ${e.url} reason: ${t.message}`,"invalid-json"))}})},text(){return N1.call(this).then(function(e){return e.toString()})},buffer(){return N1.call(this)},textConverted(){var e=this;return N1.call(this).then(function(A){return m8(A,e.headers)})}};Object.defineProperties(Re.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}});Re.mixIn=function(e){for(let A of Object.getOwnPropertyNames(Re.prototype))if(!(A in e)){let t=Object.getOwnPropertyDescriptor(Re.prototype,A);Object.defineProperty(e,A,t)}};function N1(){var e=this;if(this[ot].disturbed)return Re.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[ot].disturbed=!0,this[ot].error)return Re.Promise.reject(this[ot].error);let A=this.body;if(A===null)return Re.Promise.resolve(Buffer.alloc(0));if(Ja(A)&&(A=A.stream()),Buffer.isBuffer(A))return Re.Promise.resolve(A);if(!(A instanceof kA))return Re.Promise.resolve(Buffer.alloc(0));let t=[],a=0,r=!1;return new Re.Promise(function(i,s){let n;e.timeout&&(n=setTimeout(function(){r=!0,s(new ke(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))},e.timeout)),A.on("error",function(o){o.name==="AbortError"?(r=!0,s(o)):s(new ke(`Invalid response body while trying to fetch ${e.url}: ${o.message}`,"system",o))}),A.on("data",function(o){if(!(r||o===null)){if(e.size&&a+o.length>e.size){r=!0,s(new ke(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}a+=o.length,t.push(o)}}),A.on("end",function(){if(!r){clearTimeout(n);try{i(Buffer.concat(t,a))}catch(o){s(new ke(`Could not create Buffer from response body for ${e.url}: ${o.message}`,"system",o))}}})})}function m8(e,A){if(typeof Fn!="function")throw new Error("The package `encoding` must be installed to use the textConverted() function");let t=A.get("content-type"),a="utf-8",r,i;return t&&(r=/charset=([^;]*)/i.exec(t)),i=e.slice(0,1024).toString(),!r&&i&&(r=/<meta.+?charset=(['"])(.+?)\1/i.exec(i)),!r&&i&&(r=/<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(i),r||(r=/<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(i),r&&r.pop()),r&&(r=/charset=(.*)/i.exec(r.pop()))),!r&&i&&(r=/<\?xml.+?encoding=(['"])(.+?)\1/i.exec(i)),r&&(a=r.pop(),(a==="gb2312"||a==="gbk")&&(a="gb18030")),Fn(e,"UTF-8",a).toString()}function q2(e){return typeof e!="object"||typeof e.append!="function"||typeof e.delete!="function"||typeof e.get!="function"||typeof e.getAll!="function"||typeof e.has!="function"||typeof e.set!="function"?!1:e.constructor.name==="URLSearchParams"||Object.prototype.toString.call(e)==="[object URLSearchParams]"||typeof e.sort=="function"}function Ja(e){return typeof e=="object"&&typeof e.arrayBuffer=="function"&&typeof e.type=="string"&&typeof e.stream=="function"&&typeof e.constructor=="function"&&typeof e.constructor.name=="string"&&/^(Blob|File)$/.test(e.constructor.name)&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function H2(e){let A,t,a=e.body;if(e.bodyUsed)throw new Error("cannot clone body after it is used");return a instanceof kA&&typeof a.getBoundary!="function"&&(A=new Y2,t=new Y2,a.pipe(A),a.pipe(t),e[ot].body=A,a=t),a}function O2(e){return e===null?null:typeof e=="string"?"text/plain;charset=UTF-8":q2(e)?"application/x-www-form-urlencoded;charset=UTF-8":Ja(e)?e.type||null:Buffer.isBuffer(e)||Object.prototype.toString.call(e)==="[object ArrayBuffer]"||ArrayBuffer.isView(e)?null:typeof e.getBoundary=="function"?`multipart/form-data;boundary=${e.getBoundary()}`:e instanceof kA?null:"text/plain;charset=UTF-8"}function P2(e){let A=e.body;return A===null?0:Ja(A)?A.size:Buffer.isBuffer(A)?A.length:A&&typeof A.getLengthSync=="function"&&(A._lengthRetrievers&&A._lengthRetrievers.length==0||A.hasKnownLength&&A.hasKnownLength())?A.getLengthSync():null}function C8(e,A){let t=A.body;t===null?e.end():Ja(t)?t.stream().pipe(e):Buffer.isBuffer(t)?(e.write(t),e.end()):t.pipe(e)}Re.Promise=global.Promise;var W2=/[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/,kn=/[^\t\x20-\x7e\x80-\xff]/;function Ta(e){if(e=`${e}`,W2.test(e)||e==="")throw new TypeError(`${e} is not a legal HTTP header name`)}function J2(e){if(e=`${e}`,kn.test(e))throw new TypeError(`${e} is not a legal HTTP header value`)}function b1(e,A){A=A.toLowerCase();for(let t in e)if(t.toLowerCase()===A)return t}var ge=Symbol("map"),BA=class e{constructor(){let A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0;if(this[ge]=Object.create(null),A instanceof e){let t=A.raw(),a=Object.keys(t);for(let r of a)for(let i of t[r])this.append(r,i);return}if(A!=null)if(typeof A=="object"){let t=A[Symbol.iterator];if(t!=null){if(typeof t!="function")throw new TypeError("Header pairs must be iterable");let a=[];for(let r of A){if(typeof r!="object"||typeof r[Symbol.iterator]!="function")throw new TypeError("Each header pair must be iterable");a.push(Array.from(r))}for(let r of a){if(r.length!==2)throw new TypeError("Each header pair must be a name/value tuple");this.append(r[0],r[1])}}else for(let a of Object.keys(A)){let r=A[a];this.append(a,r)}}else throw new TypeError("Provided initializer must be an object")}get(A){A=`${A}`,Ta(A);let t=b1(this[ge],A);return t===void 0?null:this[ge][t].join(", ")}forEach(A){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,a=Ln(this),r=0;for(;r<a.length;){var i=a[r];let s=i[0],n=i[1];A.call(t,n,s,this),a=Ln(this),r++}}set(A,t){A=`${A}`,t=`${t}`,Ta(A),J2(t);let a=b1(this[ge],A);this[ge][a!==void 0?a:A]=[t]}append(A,t){A=`${A}`,t=`${t}`,Ta(A),J2(t);let a=b1(this[ge],A);a!==void 0?this[ge][a].push(t):this[ge][A]=[t]}has(A){return A=`${A}`,Ta(A),b1(this[ge],A)!==void 0}delete(A){A=`${A}`,Ta(A);let t=b1(this[ge],A);t!==void 0&&delete this[ge][t]}raw(){return this[ge]}keys(){return Nn(this,"key")}values(){return Nn(this,"value")}[Symbol.iterator](){return Nn(this,"key+value")}};BA.prototype.entries=BA.prototype[Symbol.iterator];Object.defineProperty(BA.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(BA.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});function Ln(e){let A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key+value";return Object.keys(e[ge]).sort().map(A==="key"?function(a){return a.toLowerCase()}:A==="value"?function(a){return e[ge][a].join(", ")}:function(a){return[a.toLowerCase(),e[ge][a].join(", ")]})}var Un=Symbol("internal");function Nn(e,A){let t=Object.create(Tn);return t[Un]={target:e,kind:A,index:0},t}var Tn=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==Tn)throw new TypeError("Value of `this` is not a HeadersIterator");var e=this[Un];let A=e.target,t=e.kind,a=e.index,r=Ln(A,t),i=r.length;return a>=i?{value:void 0,done:!0}:(this[Un].index=a+1,{value:r[a],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(Tn,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});function B8(e){let A=Object.assign({__proto__:null},e[ge]),t=b1(e[ge],"Host");return t!==void 0&&(A[t]=A[t][0]),A}function h8(e){let A=new BA;for(let t of Object.keys(e))if(!W2.test(t))if(Array.isArray(e[t]))for(let a of e[t])kn.test(a)||(A[ge][t]===void 0?A[ge][t]=[a]:A[ge][t].push(a));else kn.test(e[t])||(A[ge][t]=[e[t]]);return A}var vt=Symbol("Response internals"),I8=x2.STATUS_CODES,CA=class e{constructor(){let A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Re.call(this,A,t);let a=t.status||200,r=new BA(t.headers);if(A!=null&&!r.has("Content-Type")){let i=O2(A);i&&r.append("Content-Type",i)}this[vt]={url:t.url,status:a,statusText:t.statusText||I8[a],headers:r,counter:t.counter}}get url(){return this[vt].url||""}get status(){return this[vt].status}get ok(){return this[vt].status>=200&&this[vt].status<300}get redirected(){return this[vt].counter>0}get statusText(){return this[vt].statusText}get headers(){return this[vt].headers}clone(){return new e(H2(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}};Re.mixIn(CA.prototype);Object.defineProperties(CA.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});Object.defineProperty(CA.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});var nt=Symbol("Request internals"),f8=$r.URL||_2.URL,w8=$r.parse,y8=$r.format;function bn(e){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)&&(e=new f8(e).toString()),w8(e)}var D8="destroy"in kA.Readable.prototype;function Kr(e){return typeof e=="object"&&typeof e[nt]=="object"}function R8(e){let A=e&&typeof e=="object"&&Object.getPrototypeOf(e);return!!(A&&A.constructor.name==="AbortSignal")}var bt=class e{constructor(A){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a;Kr(A)?a=bn(A.url):(A&&A.href?a=bn(A.href):a=bn(`${A}`),A={});let r=t.method||A.method||"GET";if(r=r.toUpperCase(),(t.body!=null||Kr(A)&&A.body!==null)&&(r==="GET"||r==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let i=t.body!=null?t.body:Kr(A)&&A.body!==null?H2(A):null;Re.call(this,i,{timeout:t.timeout||A.timeout||0,size:t.size||A.size||0});let s=new BA(t.headers||A.headers||{});if(i!=null&&!s.has("Content-Type")){let o=O2(i);o&&s.append("Content-Type",o)}let n=Kr(A)?A.signal:null;if("signal"in t&&(n=t.signal),n!=null&&!R8(n))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[nt]={method:r,redirect:t.redirect||A.redirect||"follow",headers:s,parsedURL:a,signal:n},this.follow=t.follow!==void 0?t.follow:A.follow!==void 0?A.follow:20,this.compress=t.compress!==void 0?t.compress:A.compress!==void 0?A.compress:!0,this.counter=t.counter||A.counter||0,this.agent=t.agent||A.agent}get method(){return this[nt].method}get url(){return y8(this[nt].parsedURL)}get headers(){return this[nt].headers}get redirect(){return this[nt].redirect}get signal(){return this[nt].signal}clone(){return new e(this)}};Re.mixIn(bt.prototype);Object.defineProperty(bt.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(bt.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}});function v8(e){let A=e[nt].parsedURL,t=new BA(e[nt].headers);if(t.has("Accept")||t.set("Accept","*/*"),!A.protocol||!A.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(A.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(e.signal&&e.body instanceof kA.Readable&&!D8)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let a=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)&&(a="0"),e.body!=null){let i=P2(e);typeof i=="number"&&(a=String(i))}a&&t.set("Content-Length",a),t.has("User-Agent")||t.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),e.compress&&!t.has("Accept-Encoding")&&t.set("Accept-Encoding","gzip,deflate");let r=e.agent;return typeof r=="function"&&(r=r(A)),!t.has("Connection")&&!r&&t.set("Connection","close"),Object.assign({},A,{method:e.method,headers:B8(t),agent:r})}function Va(e){Error.call(this,e),this.type="aborted",this.message=e,Error.captureStackTrace(this,this.constructor)}Va.prototype=Object.create(Error.prototype);Va.prototype.constructor=Va;Va.prototype.name="AbortError";var Ya=$r.URL||_2.URL,G2=kA.PassThrough,N8=function(A,t){let a=new Ya(t).hostname,r=new Ya(A).hostname;return a===r||a[a.length-r.length-1]==="."&&a.endsWith(r)},b8=function(A,t){let a=new Ya(t).protocol,r=new Ya(A).protocol;return a===r};function Nt(e,A){if(!Nt.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return Re.Promise=Nt.Promise,new Nt.Promise(function(t,a){let r=new bt(e,A),i=v8(r),s=(i.protocol==="https:"?E8:x2).request,n=r.signal,o=null,d=function(){let m=new Va("The user aborted a request.");a(m),r.body&&r.body instanceof kA.Readable&&Sn(r.body,m),!(!o||!o.body)&&o.body.emit("error",m)};if(n&&n.aborted){d();return}let l=function(){d(),c()},p=s(i),g;n&&n.addEventListener("abort",l);function c(){p.abort(),n&&n.removeEventListener("abort",l),clearTimeout(g)}r.timeout&&p.once("socket",function(u){g=setTimeout(function(){a(new ke(`network timeout at: ${r.url}`,"request-timeout")),c()},r.timeout)}),p.on("error",function(u){a(new ke(`request to ${r.url} failed, reason: ${u.message}`,"system",u)),o&&o.body&&Sn(o.body,u),c()}),S8(p,function(u){n&&n.aborted||o&&o.body&&Sn(o.body,u)}),parseInt(process.version.substring(1))<14&&p.on("socket",function(u){u.addListener("close",function(m){let Q=u.listenerCount("data")>0;if(o&&Q&&!m&&!(n&&n.aborted)){let C=new Error("Premature close");C.code="ERR_STREAM_PREMATURE_CLOSE",o.body.emit("error",C)}})}),p.on("response",function(u){clearTimeout(g);let m=h8(u.headers);if(Nt.isRedirect(u.statusCode)){let I=m.get("Location"),y=null;try{y=I===null?null:new Ya(I,r.url).toString()}catch{if(r.redirect!=="manual"){a(new ke(`uri requested responds with an invalid redirect URL: ${I}`,"invalid-redirect")),c();return}}switch(r.redirect){case"error":a(new ke(`uri requested responds with a redirect, redirect mode is set to error: ${r.url}`,"no-redirect")),c();return;case"manual":if(y!==null)try{m.set("Location",y)}catch(k){a(k)}break;case"follow":if(y===null)break;if(r.counter>=r.follow){a(new ke(`maximum redirect reached at: ${r.url}`,"max-redirect")),c();return}let b={headers:new BA(r.headers),follow:r.follow,counter:r.counter+1,agent:r.agent,compress:r.compress,method:r.method,body:r.body,signal:r.signal,timeout:r.timeout,size:r.size};if(!N8(r.url,y)||!b8(r.url,y))for(let k of["authorization","www-authenticate","cookie","cookie2"])b.headers.delete(k);if(u.statusCode!==303&&r.body&&P2(r)===null){a(new ke("Cannot follow redirect with body being a readable stream","unsupported-redirect")),c();return}(u.statusCode===303||(u.statusCode===301||u.statusCode===302)&&r.method==="POST")&&(b.method="GET",b.body=void 0,b.headers.delete("content-length")),t(Nt(new bt(y,b))),c();return}}u.once("end",function(){n&&n.removeEventListener("abort",l)});let Q=u.pipe(new G2),C={url:r.url,status:u.statusCode,statusText:u.statusMessage,headers:m,size:r.size,timeout:r.timeout,counter:r.counter},B=m.get("Content-Encoding");if(!r.compress||r.method==="HEAD"||B===null||u.statusCode===204||u.statusCode===304){o=new CA(Q,C),t(o);return}let w={flush:Zt.Z_SYNC_FLUSH,finishFlush:Zt.Z_SYNC_FLUSH};if(B=="gzip"||B=="x-gzip"){Q=Q.pipe(Zt.createGunzip(w)),o=new CA(Q,C),t(o);return}if(B=="deflate"||B=="x-deflate"){let I=u.pipe(new G2);I.once("data",function(y){(y[0]&15)===8?Q=Q.pipe(Zt.createInflate()):Q=Q.pipe(Zt.createInflateRaw()),o=new CA(Q,C),t(o)}),I.on("end",function(){o||(o=new CA(Q,C),t(o))});return}if(B=="br"&&typeof Zt.createBrotliDecompress=="function"){Q=Q.pipe(Zt.createBrotliDecompress()),o=new CA(Q,C),t(o);return}o=new CA(Q,C),t(o)}),C8(p,r)})}function S8(e,A){let t;e.on("socket",function(a){t=a}),e.on("response",function(a){let r=a.headers;r["transfer-encoding"]==="chunked"&&!r["content-length"]&&a.once("close",function(i){if(t&&t.listenerCount("data")>0&&!i){let n=new Error("Premature close");n.code="ERR_STREAM_PREMATURE_CLOSE",A(n)}})})}function Sn(e,A){e.destroy?e.destroy(A):(e.emit("error",A),e.end())}Nt.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};Nt.Promise=global.Promise;Z2.exports=HA=Nt;Object.defineProperty(HA,"__esModule",{value:!0});HA.default=HA;HA.Headers=BA;HA.Request=bt;HA.Response=CA;HA.FetchError=ke});var z2=E((jt,X2)=>{var Ga=j2(),F8=Ga.default||Ga,ei=function(e,A){return/^\/\//.test(e)&&(e="https:"+e),F8.call(this,e,A)};ei.ponyfill=!0;X2.exports=jt=ei;jt.fetch=ei;jt.Headers=Ga.Headers;jt.Request=Ga.Request;jt.Response=Ga.Response;jt.default=ei});var el=E(F1=>{"use strict";var $2=F1&&F1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(F1,"__esModule",{value:!0});F1.useFetch=void 0;var K2=require("react"),k8=$2(s2()),L8=$2(p2()),U8=Wr(),T8=it(),M8=z2();function V8(e){if(e){let A=L8.default.parse(e),t=k8.default.parse(A.type);if(t.subtype==="json"||t.suffix==="json"||t.suffix&&/\bjson\b/i.test(t.suffix)||t.subtype&&/\bjson\b/i.test(t.subtype))return!0}return!1}async function Y8(e){if(!e.ok)throw new Error(e.statusText);let A=e.headers.get("content-type");return A&&V8(A)?await e.json():await e.text()}function J8(e,A){let{parseResponse:t,initialData:a,execute:r,keepPreviousData:i,onError:s,onData:n,onWillExecute:o,...d}=A||{},l={initialData:a,execute:r,keepPreviousData:i,onError:s,onData:n,onWillExecute:o},p=(0,T8.useLatest)(t||Y8),g=(0,K2.useRef)(),c=(0,K2.useCallback)(async(u,m)=>{let Q=await(0,M8.fetch)(u,{signal:g.current?.signal,...m});return await p.current(Q)},[p]);return(0,U8.useCachedPromise)(c,[e,d],{...l,abortable:g})}F1.useFetch=J8});var Al=E(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.signals=void 0;Xt.signals=[];Xt.signals.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Xt.signals.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Xt.signals.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});var tl=E(OA=>{"use strict";var Ai;Object.defineProperty(OA,"__esModule",{value:!0});OA.unload=OA.load=OA.onExit=OA.signals=void 0;var ti=Al();Object.defineProperty(OA,"signals",{enumerable:!0,get:function(){return ti.signals}});var ai=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",Mn=Symbol.for("signal-exit emitter"),Vn=globalThis,G8=Object.defineProperty.bind(Object),Yn=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Vn[Mn])return Vn[Mn];G8(Vn,Mn,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(A,t){this.listeners[A].push(t)}removeListener(A,t){let a=this.listeners[A],r=a.indexOf(t);r!==-1&&(r===0&&a.length===1?a.length=0:a.splice(r,1))}emit(A,t,a){if(this.emitted[A])return!1;this.emitted[A]=!0;let r=!1;for(let i of this.listeners[A])r=i(t,a)===!0||r;return A==="exit"&&(r=this.emit("afterExit",t,a)||r),r}},ri=class{},x8=e=>({onExit(A,t){return e.onExit(A,t)},load(){return e.load()},unload(){return e.unload()}}),Jn=class extends ri{onExit(){return()=>{}}load(){}unload(){}},Gn=class extends ri{#e=xn.platform==="win32"?"SIGINT":"SIGHUP";#a=new Yn;#A;#t;#r;#s={};#i=!1;constructor(A){super(),this.#A=A,this.#s={};for(let t of ti.signals)this.#s[t]=()=>{let a=this.#A.listeners(t),{count:r}=this.#a,i=A;if(typeof i.__signal_exit_emitter__=="object"&&typeof i.__signal_exit_emitter__.count=="number"&&(r+=i.__signal_exit_emitter__.count),a.length===r){this.unload();let s=this.#a.emit("exit",null,t),n=t==="SIGHUP"?this.#e:t;s||A.kill(A.pid,n)}};this.#r=A.reallyExit,this.#t=A.emit}onExit(A,t){if(!ai(this.#A))return()=>{};this.#i===!1&&this.load();let a=t?.alwaysLast?"afterExit":"exit";return this.#a.on(a,A),()=>{this.#a.removeListener(a,A),this.#a.listeners.exit.length===0&&this.#a.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#i){this.#i=!0,this.#a.count+=1;for(let A of ti.signals)try{let t=this.#s[A];t&&this.#A.on(A,t)}catch{}this.#A.emit=(A,...t)=>this.#o(A,...t),this.#A.reallyExit=A=>this.#n(A)}}unload(){this.#i&&(this.#i=!1,ti.signals.forEach(A=>{let t=this.#s[A];if(!t)throw new Error("Listener not defined for signal: "+A);try{this.#A.removeListener(A,t)}catch{}}),this.#A.emit=this.#t,this.#A.reallyExit=this.#r,this.#a.count-=1)}#n(A){return ai(this.#A)?(this.#A.exitCode=A||0,this.#a.emit("exit",this.#A.exitCode,null),this.#r.call(this.#A,this.#A.exitCode)):0}#o(A,...t){let a=this.#t;if(A==="exit"&&ai(this.#A)){typeof t[0]=="number"&&(this.#A.exitCode=t[0]);let r=a.call(this.#A,A,...t);return this.#a.emit("exit",this.#A.exitCode,null),r}else return a.call(this.#A,A,...t)}},xn=globalThis.process;Ai=x8(ai(xn)?new Gn(xn):new Jn),OA.onExit=Ai.onExit,OA.load=Ai.load,OA.unload=Ai.unload});var ii=E(hA=>{"use strict";var _8=hA&&hA.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(hA,"__esModule",{value:!0});hA.defaultParsing=hA.handleOutput=hA.getSpawnedResult=hA.getSpawnedPromise=void 0;var q8=require("node:buffer"),il=_8(require("node:stream")),H8=require("node:util"),O8=tl();function P8(e,{timeout:A}={}){let t=new Promise((n,o)=>{e.on("exit",(d,l)=>{n({exitCode:d,signal:l,timedOut:!1})}),e.on("error",d=>{o(d)}),e.stdin&&e.stdin.on("error",d=>{o(d)})});if(A===0||A===void 0)return t;let a,r=new Promise((n,o)=>{a=setTimeout(()=>{e.kill("SIGTERM"),o(Object.assign(new Error("Timed out"),{timedOut:!0,signal:"SIGTERM"}))},A)}),i=t.finally(()=>{clearTimeout(a)}),s=(0,O8.onExit)(()=>{e.kill()});return Promise.race([r,i]).finally(()=>s())}hA.getSpawnedPromise=P8;var _n=class extends Error{constructor(){super("The output is too big"),this.name="MaxBufferError"}},W8=(0,H8.promisify)(il.default.pipeline);function Z8(e){let{encoding:A}=e,t=A==="buffer",a=new il.default.PassThrough({objectMode:!1});A&&A!=="buffer"&&a.setEncoding(A);let r=0,i=[];return a.on("data",s=>{i.push(s),r+=s.length}),a.getBufferedValue=()=>t?Buffer.concat(i,r):i.join(""),a.getBufferedLength=()=>r,a}async function al(e,A){let t=Z8(A);return await new Promise((a,r)=>{let i=s=>{s&&t.getBufferedLength()<=q8.constants.MAX_LENGTH&&(s.bufferedData=t.getBufferedValue()),r(s)};(async()=>{try{await W8(e,t),a()}catch(s){i(s)}})(),t.on("data",()=>{t.getBufferedLength()>1e3*1e3*80&&i(new _n)})}),t.getBufferedValue()}async function rl(e,A){e.destroy();try{return await A}catch(t){return t.bufferedData}}async function j8({stdout:e,stderr:A},{encoding:t},a){let r=al(e,{encoding:t}),i=al(A,{encoding:t});try{return await Promise.all([a,r,i])}catch(s){return Promise.all([{error:s,exitCode:null,signal:s.signal,timedOut:s.timedOut||!1},rl(e,r),rl(A,i)])}}hA.getSpawnedResult=j8;function X8(e){let A=typeof e=="string"?` +`:10,t=typeof e=="string"?"\r":13;return e[e.length-1]===A&&(e=e.slice(0,-1)),e[e.length-1]===t&&(e=e.slice(0,-1)),e}function z8(e,A){return e.stripFinalNewline?X8(A):A}hA.handleOutput=z8;var K8=({timedOut:e,timeout:A,signal:t,exitCode:a})=>e?`timed out after ${A} milliseconds`:t!=null?`was killed with ${t}`:a!=null?`failed with exit code ${a}`:"failed",$8=({stdout:e,stderr:A,error:t,signal:a,exitCode:r,command:i,timedOut:s,options:n,parentError:o})=>{let l=`Command ${K8({timedOut:s,timeout:n?.timeout,signal:a,exitCode:r})}: ${i}`,p=t?`${l} +${t.message}`:l,g=[p,A,e].filter(Boolean).join(` +`);return t?t.originalMessage=t.message:t=o,t.message=g,t.shortMessage=p,t.command=i,t.exitCode=r,t.signal=a,t.stdout=e,t.stderr=A,"bufferedData"in t&&delete t.bufferedData,t};function e5({stdout:e,stderr:A,error:t,exitCode:a,signal:r,timedOut:i,command:s,options:n,parentError:o}){if(t||a!==0||r!==null)throw $8({error:t,exitCode:a,signal:r,stdout:e,stderr:A,command:s,timedOut:i,options:n,parentError:o});return e}hA.defaultParsing=e5});var nl=E(k1=>{"use strict";var A5=k1&&k1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(k1,"__esModule",{value:!0});k1.useExec=void 0;var t5=A5(require("node:child_process")),sl=require("react"),a5=Wr(),r5=it(),xa=ii(),i5=/ +/g;function s5(e,A){if(A)return[e,...A];let t=[];for(let a of e.trim().split(i5)){let r=t[t.length-1];r&&r.endsWith("\\")?t[t.length-1]=`${r.slice(0,-1)} ${a}`:t.push(a)}return t}function n5(e,A,t){let{parseOutput:a,input:r,onData:i,onWillExecute:s,initialData:n,execute:o,keepPreviousData:d,onError:l,...p}=Array.isArray(A)?t||{}:A||{},g={initialData:n,execute:o,keepPreviousData:d,onError:l,onData:i,onWillExecute:s},c=(0,sl.useRef)(),u=(0,r5.useLatest)(a||xa.defaultParsing),m=(0,sl.useCallback)(async(Q,C,B,w)=>{let[I,...y]=s5(Q,C),b=[I,...y].join(" "),k={stripFinalNewline:!0,...B,timeout:B?.timeout||1e4,signal:c.current?.signal,encoding:B?.encoding===null?"buffer":B?.encoding||"utf8",env:{PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",...process.env,...B?.env}},x=t5.default.spawn(I,y,k),ye=(0,xa.getSpawnedPromise)(x,k);w&&x.stdin.end(w);let[{error:Be,exitCode:wt,signal:Fe,timedOut:le},QA,j]=await(0,xa.getSpawnedResult)(x,k,ye),re=(0,xa.handleOutput)(k,QA),U=(0,xa.handleOutput)(k,j);return u.current({stdout:re,stderr:U,error:Be,exitCode:wt,signal:Fe,timedOut:le,command:b,options:k,parentError:new Error})},[u]);return(0,a5.useCachedPromise)(m,[e,Array.isArray(A)?A:[],p,r],{...g,abortable:c})}k1.useExec=n5});var gl=E(L1=>{"use strict";var pi=L1&&L1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(L1,"__esModule",{value:!0});L1.useSQL=void 0;var PA=require("react/jsx-runtime"),Le=require("@raycast/api"),o5=require("node:fs"),si=require("node:fs/promises"),pl=pi(require("node:os")),ol=pi(require("node:child_process")),dl=pi(require("node:path")),d5=pi(In()),ni=require("react"),p5=ba(),l5=it(),oi=ii(),g5=Qn();function c5(e,A,t){let{permissionPriming:a,...r}=t||{},[i,s]=(0,ni.useState)(),n=(0,l5.useLatest)(t||{}),o=(0,ni.useRef)(),d=(0,ni.useCallback)(p=>{console.error(p);let g=p instanceof Error&&p.message.includes("authorization denied")?new Hn("You do not have permission to access the database."):p;u5(g)?s((0,PA.jsx)(E5,{priming:n.current.permissionPriming})):n.current.onError?n.current.onError(g):(console.error(g),Le.environment.launchType!==Le.LaunchType.Background&&(0,Le.showToast)({style:Le.Toast.Style.Failure,title:"Cannot query the data",message:g.message,primaryAction:(0,g5.handleErrorToastAction)(g)}))},[n]),l=(0,ni.useMemo)(()=>{if(!(0,o5.existsSync)(e))throw new Error("The database does not exist");let p;return async(g,c)=>{let u=o.current?.signal,m=ol.default.spawn("sqlite3",["--json","--readonly",g,c],{signal:u}),Q=(0,oi.getSpawnedPromise)(m),[{error:C,exitCode:B,signal:w},I,y]=await(0,oi.getSpawnedResult)(m,{encoding:"utf-8"},Q);if(di(u),y.match("(5)")||y.match("(14)")){if(!p){let x=dl.default.join(pl.default.tmpdir(),"useSQL",(0,d5.default)(g));await(0,si.mkdir)(x,{recursive:!0}),di(u),p=dl.default.join(x,"db.db"),await(0,si.copyFile)(g,p),await(0,si.writeFile)(p+"-shm",""),await(0,si.writeFile)(p+"-wal",""),di(u)}let b=ol.default.spawn("sqlite3",["--json","--readonly","--vfs","unix-none",p,c],{signal:u}),k=(0,oi.getSpawnedPromise)(b);[{error:C,exitCode:B,signal:w},I,y]=await(0,oi.getSpawnedResult)(b,{encoding:"utf-8"},k),di(u)}if(C||B!==0||w!==null)throw new Error(y);return JSON.parse(I.trim()||"[]")}},[e]);return{...(0,p5.usePromise)(l,[e,A],{...r,onError:d}),permissionView:i}}L1.useSQL=c5;var Hn=class extends Error{constructor(A){super(A),this.name="PermissionError"}};function u5(e){return e instanceof Error&&e.name==="PermissionError"}var ll=parseInt(pl.default.release().split(".")[0])>=22,qn=ll?"Settings":"Preferences";function E5(e){let A=ll?{title:"Open System Settings -> Privacy",target:"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"}:{title:"Open System Preferences -> Security",target:"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"};return Le.environment.commandMode==="menu-bar"?(0,PA.jsxs)(Le.MenuBarExtra,{icon:Le.Icon.Warning,title:Le.environment.commandName,children:[(0,PA.jsx)(Le.MenuBarExtra.Item,{title:"Raycast needs full disk access",tooltip:`You can revert this access in ${qn} whenever you want`}),e.priming?(0,PA.jsx)(Le.MenuBarExtra.Item,{title:e.priming,tooltip:`You can revert this access in ${qn} whenever you want`}):null,(0,PA.jsx)(Le.MenuBarExtra.Separator,{}),(0,PA.jsx)(Le.MenuBarExtra.Item,{title:A.title,onAction:()=>(0,Le.open)(A.target)})]}):(0,PA.jsx)(Le.List,{children:(0,PA.jsx)(Le.List.EmptyView,{icon:{source:{light:"https://raycast.com/uploads/extensions-utils-security-permissions-light.png",dark:"https://raycast.com/uploads/extensions-utils-security-permissions-dark.png"}},title:"Raycast needs full disk access.",description:`${e.priming?e.priming+` +`:""}You can revert this access in ${qn} whenever you want.`,actions:(0,PA.jsx)(Le.ActionPanel,{children:(0,PA.jsx)(Le.Action.Open,{...A})})})})}function di(e){if(e?.aborted){let A=new Error("aborted");throw A.name="AbortError",A}}});var El=E(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.useForm=zt.FormValidation=void 0;var dt=require("react"),cl=it(),ul;(function(e){e.Required="required"})(ul=zt.FormValidation||(zt.FormValidation={}));function On(e,A){if(e){if(typeof e=="function")return e(A);if(e===ul.Required){let t=typeof A<"u"&&A!==null;if(t)switch(typeof A){case"string":t=A.length>0;break;case"object":Array.isArray(A)?t=A.length>0:A instanceof Date&&(t=A.getTime()>0);break;default:break}if(!t)return"The item is required"}}}function Q5(e){let{onSubmit:A,validation:t,initialValues:a={}}=e,[r,i]=(0,dt.useState)(a),[s,n]=(0,dt.useState)({}),o=(0,dt.useRef)({}),d=(0,cl.useLatest)(t||{}),l=(0,cl.useLatest)(A),p=(0,dt.useCallback)(C=>{o.current[C]?.focus()},[o]),g=(0,dt.useCallback)(async C=>{let B=!1;for(let[I,y]of Object.entries(d.current)){let b=On(y,C[I]);b&&(B||(B={},p(I)),B[I]=b)}if(B)return n(B),!1;let w=await l.current(C);return typeof w=="boolean"?w:!0},[d,l,p]),c=(0,dt.useCallback)((C,B)=>{n(w=>({...w,[C]:B}))},[n]),u=(0,dt.useCallback)(function(C,B){i(w=>({...w,[C]:typeof B=="function"?B(w[C]):B}))},[i]),m=(0,dt.useMemo)(()=>new Proxy({},{get(C,B){let w=d.current[B],I=r[B];return{onChange(y){s[B]&&(On(w,y)||c(B,void 0)),u(B,y)},onBlur(y){let b=On(w,y.target.value);b&&c(B,b)},error:s[B],id:B,value:typeof I>"u"?null:I,ref:y=>{o.current[B]=y}}}}),[s,d,c,r,o,u]),Q=(0,dt.useCallback)((C={})=>{i(C),n({})},[i,n]);return{handleSubmit:g,setValidationError:c,setValue:u,values:r,itemProps:m,focus:p,reset:Q}}zt.useForm=Q5});var ml=E(li=>{"use strict";Object.defineProperty(li,"__esModule",{value:!0});li.useAI=void 0;var Ql=require("react"),m5=require("@raycast/api"),C5=ba();function B5(e,A={}){let{creativity:t,stream:a,model:r,...i}=A,[s,n]=(0,Ql.useState)(""),o=(0,Ql.useRef)(),{isLoading:d,error:l,revalidate:p}=(0,C5.usePromise)(async(g,c,u)=>{n("");let m=m5.AI.ask(g,{creativity:c,model:r,signal:o.current?.signal});u===!1?n(await m):(m.on("data",Q=>{n(C=>C+Q)}),await m)},[e,t,a],{...i,abortable:o});return{isLoading:d,data:s,error:l,revalidate:p}}li.useAI=B5});var hl=E(gi=>{"use strict";Object.defineProperty(gi,"__esModule",{value:!0});gi.useFrecencySorting=void 0;var Pn=require("react"),Cl=it(),h5=Or(),I5=10,Bl=24*60*60*1e3,f5=Math.log(2)/(I5*Bl),w5={Default:100,Embed:0,Bookmark:140};function y5(e){let A=Date.now(),t=e?e.lastVisited:0,a=e?e.frecency:0,r=(A-t)/Bl,i=w5.Default*Math.exp(-f5*r),s=a+i;return{lastVisited:A,frecency:s}}var D5=e=>{if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||!e||!("id"in e)||typeof e.id!="string"))throw new Error("Specify a key function or make sure your items have an 'id' property");return e.id};function R5(e,A){let t=(0,Cl.useLatest)(A?.key||D5),a=(0,Cl.useLatest)(A?.sortUnvisited),[r,i]=(0,h5.useCachedState)(`raycast_frecency_${A?.namespace}`,{}),s=(0,Pn.useCallback)(async function(l){let p=t.current(l);i(g=>{let c=g[p],u=y5(c);return{...g,[p]:u}})},[t,i]),n=(0,Pn.useCallback)(async function(l){let p=t.current(l);i(g=>{let c={...g};return delete c[p],c})},[t,i]);return{data:(0,Pn.useMemo)(()=>e?e.sort((d,l)=>{let p=r[t.current(d)],g=r[t.current(l)];return p&&!g?-1:!p&&g?1:p&&g?g.frecency-p.frecency:a.current?a.current(d,l):0}):[],[r,e,t,a]),visitItem:s,resetRanking:n}}gi.useFrecencySorting=R5});var Dl=E(U1=>{"use strict";Object.defineProperty(U1,"__esModule",{value:!0});U1.slightlyLighterColor=U1.slightlyDarkerColor=void 0;function v5(e){let A=0,t=0,a=0;if(e.length===4)A=parseInt(`${e[1]}${e[1]}`,16),t=parseInt(`${e[2]}${e[2]}`,16),a=parseInt(`${e[3]}${e[3]}`,16);else if(e.length===7)A=parseInt(`${e[1]}${e[2]}`,16),t=parseInt(`${e[3]}${e[4]}`,16),a=parseInt(`${e[5]}${e[6]}`,16);else throw new Error(`Malformed hex color: ${e}`);return{r:A,g:t,b:a}}function N5({r:e,g:A,b:t}){let a=e.toString(16),r=A.toString(16),i=t.toString(16);return a.length===1&&(a=`0${a}`),r.length===1&&(r=`0${r}`),i.length===1&&(i=`0${i}`),`#${a}${r}${i}`}function b5({r:e,g:A,b:t}){e/=255,A/=255,t/=255;let a=Math.min(e,A,t),r=Math.max(e,A,t),i=r-a,s=0,n=0,o=0;return i===0?s=0:r===e?s=(A-t)/i%6:r===A?s=(t-e)/i+2:s=(e-A)/i+4,s=Math.round(s*60),s<0&&(s+=360),o=(r+a)/2,n=i===0?0:i/(1-Math.abs(2*o-1)),n=+(n*100).toFixed(1),o=+(o*100).toFixed(1),{h:s,s:n,l:o}}function S5({h:e,s:A,l:t}){A/=100,t/=100;let a=(1-Math.abs(2*t-1))*A,r=a*(1-Math.abs(e/60%2-1)),i=t-a/2,s=0,n=0,o=0;return e>=0&&e<60?(s=a,n=r,o=0):e>=60&&e<120?(s=r,n=a,o=0):e>=120&&e<180?(s=0,n=a,o=r):e>=180&&e<240?(s=0,n=r,o=a):e>=240&&e<300?(s=r,n=0,o=a):e>=300&&e<360&&(s=a,n=0,o=r),s=Math.round((s+i)*255),n=Math.round((n+i)*255),o=Math.round((o+i)*255),{r:s,g:n,b:o}}function Il(e){return b5(v5(e))}function fl(e){return N5(S5(e))}function wl(e,A,t){return A<t?e<A?A:e>t?t:e:e<t?t:e>A?A:e}var yl=12;function F5(e){let A=Il(e);return fl({h:A.h,s:A.s,l:wl(A.l-yl,0,100)})}U1.slightlyDarkerColor=F5;function k5(e){let A=Il(e);return fl({h:A.h,s:A.s,l:wl(A.l+yl,0,100)})}U1.slightlyLighterColor=k5});var Nl=E(ci=>{"use strict";Object.defineProperty(ci,"__esModule",{value:!0});ci.getAvatarIcon=void 0;var Rl=Dl();function T1(e,A){let t=e.charCodeAt(A);if(Number.isNaN(t))return["",A];if(t<55296||t>57343)return[e.charAt(A),A];if(55296<=t&&t<=56319){if(e.length<=A+1)throw new Error("High surrogate without following low surrogate");let r=e.charCodeAt(A+1);if(56320>r||r>57343)throw new Error("High surrogate without following low surrogate");return[e.charAt(A)+e.charAt(A+1),A+1]}if(A===0)throw new Error("Low surrogate without preceding high surrogate");let a=e.charCodeAt(A-1);if(55296>a||a>56319)throw new Error("Low surrogate without preceding high surrogate");return[e.charAt(A+1),A+1]}var vl=["#DC829A","#D64854","#D47600","#D36CDD","#52A9E4","#7871E8","#70920F","#43B93A","#EB6B3E","#26B795","#D85A9B","#A067DC","#BD9500","#5385D9"];function L5(e,A){let t=e.trim().split(" "),a;if(t.length==1&&T1(t[0],0)[0])a=T1(t[0],0)[0];else if(t.length>1){let o=T1(t[0],0)[0]||"",d=T1(t[t.length-1],0)[0]??"";a=o+d}else a="";let r;if(A?.background)r=A?.background;else{let o=0,[d,l]=T1(a,0);for(;d;)o+=d.charCodeAt(0),[d,l]=T1(a,l+1);let p=o%vl.length;r=vl[p]}let s=50-0;return`data:image/svg+xml,${`<svg width="100px" height="100px"> + ${A?.gradient!==!1?`<defs> + <linearGradient id="Gradient" x1="0.25" x2="0.75" y1="0" y2="1"> + <stop offset="0%" stop-color="${(0,Rl.slightlyLighterColor)(r)}"/> + <stop offset="50%" stop-color="${r}"/> + <stop offset="100%" stop-color="${(0,Rl.slightlyDarkerColor)(r)}"/> + </linearGradient> + </defs>`:""} + <circle cx="50" cy="50" r="${s}" fill="${A?.gradient!==!1?"url(#Gradient)":r}" /> + ${a?`<text x="50" y="80" font-size="${s-1}" font-family="Inter, sans-serif" text-anchor="middle" fill="white">${a.toUpperCase()}</text>`:""} + </svg> + `.replaceAll(` +`,"")}`}ci.getAvatarIcon=L5});var Sl=E(ui=>{"use strict";Object.defineProperty(ui,"__esModule",{value:!0});ui.getFavicon=void 0;var bl=require("@raycast/api"),U5=require("url");function T5(e,A){try{let a=(typeof e=="string"?new U5.URL(e):e).hostname;return{source:`https://www.google.com/s2/favicons?sz=${A?.size??64}&domain=${a}`,fallback:A?.fallback??bl.Icon.Link,mask:A?.mask}}catch(t){return console.error(t),bl.Icon.Link}}ui.getFavicon=T5});var Ll=E(Ei=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});Ei.getProgressIcon=void 0;var Fl=require("@raycast/api");function kl(e,A,t,a){let r=(a-90)*Math.PI/180;return{x:e+t*Math.cos(r),y:A+t*Math.sin(r)}}function M5(e,A,t,a,r){let i=kl(e,A,t,r),s=kl(e,A,t,a),n=r-a<=180?"0":"1";return["M",i.x,i.y,"A",t,t,0,n,0,s.x,s.y].join(" ")}function V5(e,A=Fl.Color.Red,t){let a=t?.background||(Fl.environment.appearance==="light"?"black":"white"),r=t?.backgroundOpacity||.1,i=10,n=50-5-i/2;return`data:image/svg+xml,${`<svg width="100px" height="100px"> + <circle cx="50" cy="50" r="${n}" stroke-width="${i}" stroke="${e<1?a:A}" opacity="${e<1?r:"1"}" fill="none" /> + ${e>0&&e<1?`<path d="${M5(50,50,n,0,e*360)}" stroke="${A}" stroke-width="${i}" fill="none" />`:""} + </svg> + `.replaceAll(` +`,"")}`}Ei.getProgressIcon=V5});var Ul=E(pt=>{"use strict";var Y5=pt&&pt.__createBinding||(Object.create?function(e,A,t,a){a===void 0&&(a=t);var r=Object.getOwnPropertyDescriptor(A,t);(!r||("get"in r?!A.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return A[t]}}),Object.defineProperty(e,a,r)}:function(e,A,t,a){a===void 0&&(a=t),e[a]=A[t]}),Wn=pt&&pt.__exportStar||function(e,A){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(A,t)&&Y5(A,e,t)};Object.defineProperty(pt,"__esModule",{value:!0});Wn(Nl(),pt);Wn(Sl(),pt);Wn(Ll(),pt)});var Tl=E(M1=>{"use strict";var J5=M1&&M1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(M1,"__esModule",{value:!0});M1.runAppleScript=void 0;var G5=J5(require("node:child_process")),qa=ii();async function x5(e,A,t){let{humanReadableOutput:a,language:r,timeout:i,...s}=Array.isArray(A)?t||{}:A||{},n=a!==!1?[]:["-ss"];r==="JavaScript"&&n.push("-l","JavaScript"),Array.isArray(A)&&n.push("-",...A);let o=G5.default.spawn("osascript",n,{...s,env:{PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"}}),d=(0,qa.getSpawnedPromise)(o,{timeout:i||1e4});o.stdin.end(e);let[{error:l,exitCode:p,signal:g,timedOut:c},u,m]=await(0,qa.getSpawnedResult)(o,{encoding:"utf8"},d),Q=(0,qa.handleOutput)({stripFinalNewline:!0},u),C=(0,qa.handleOutput)({stripFinalNewline:!0},m);return(0,qa.defaultParsing)({stdout:Q,stderr:C,error:l,exitCode:p,signal:g,timedOut:c,command:"osascript",options:t,parentError:new Error})}M1.runAppleScript=x5});var Zn=E(Ue=>{"use strict";var _5=Ue&&Ue.__createBinding||(Object.create?function(e,A,t,a){a===void 0&&(a=t);var r=Object.getOwnPropertyDescriptor(A,t);(!r||("get"in r?!A.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return A[t]}}),Object.defineProperty(e,a,r)}:function(e,A,t,a){a===void 0&&(a=t),e[a]=A[t]}),LA=Ue&&Ue.__exportStar||function(e,A){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(A,t)&&_5(A,e,t)};Object.defineProperty(Ue,"__esModule",{value:!0});LA(ba(),Ue);LA(Or(),Ue);LA(Wr(),Ue);LA(el(),Ue);LA(nl(),Ue);LA(gl(),Ue);LA(El(),Ue);LA(ml(),Ue);LA(hl(),Ue);LA(Ul(),Ue);LA(Tl(),Ue)});var ie=E((MN,Ml)=>{Ml.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kHeadersList:Symbol("headers list"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size")}});var $=E((VN,Vl)=>{"use strict";var Qe=class extends Error{constructor(A){super(A),this.name="UndiciError",this.code="UND_ERR"}},jn=class e extends Qe{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="ConnectTimeoutError",this.message=A||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}},Xn=class e extends Qe{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="HeadersTimeoutError",this.message=A||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}},zn=class e extends Qe{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="HeadersOverflowError",this.message=A||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}},Kn=class e extends Qe{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="BodyTimeoutError",this.message=A||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}},$n=class e extends Qe{constructor(A,t,a,r){super(A),Error.captureStackTrace(this,e),this.name="ResponseStatusCodeError",this.message=A||"Response Status Code Error",this.code="UND_ERR_RESPONSE_STATUS_CODE",this.body=r,this.status=t,this.statusCode=t,this.headers=a}},eo=class e extends Qe{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="InvalidArgumentError",this.message=A||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}},Ao=class e extends Qe{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="InvalidReturnValueError",this.message=A||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}},to=class e extends Qe{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="AbortError",this.message=A||"Request aborted",this.code="UND_ERR_ABORTED"}},ao=class e extends Qe{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="InformationalError",this.message=A||"Request information",this.code="UND_ERR_INFO"}},ro=class e extends Qe{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="RequestContentLengthMismatchError",this.message=A||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}},io=class e extends Qe{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="ResponseContentLengthMismatchError",this.message=A||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}},so=class e extends Qe{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="ClientDestroyedError",this.message=A||"The client is destroyed",this.code="UND_ERR_DESTROYED"}},no=class e extends Qe{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="ClientClosedError",this.message=A||"The client is closed",this.code="UND_ERR_CLOSED"}},oo=class e extends Qe{constructor(A,t){super(A),Error.captureStackTrace(this,e),this.name="SocketError",this.message=A||"Socket error",this.code="UND_ERR_SOCKET",this.socket=t}},Qi=class e extends Qe{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="NotSupportedError",this.message=A||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}},po=class extends Qe{constructor(A){super(A),Error.captureStackTrace(this,Qi),this.name="MissingUpstreamError",this.message=A||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}},lo=class e extends Error{constructor(A,t,a){super(A),Error.captureStackTrace(this,e),this.name="HTTPParserError",this.code=t?`HPE_${t}`:void 0,this.data=a?a.toString():void 0}},go=class e extends Qe{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="ResponseExceededMaxSizeError",this.message=A||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}};Vl.exports={HTTPParserError:lo,UndiciError:Qe,HeadersTimeoutError:Xn,HeadersOverflowError:zn,BodyTimeoutError:Kn,RequestContentLengthMismatchError:ro,ConnectTimeoutError:jn,ResponseStatusCodeError:$n,InvalidArgumentError:eo,InvalidReturnValueError:Ao,RequestAbortedError:to,ClientDestroyedError:so,ClientClosedError:no,InformationalError:ao,SocketError:oo,NotSupportedError:Qi,ResponseContentLengthMismatchError:io,BalancedPoolMissingUpstreamError:po,ResponseExceededMaxSizeError:go}});var q=E((YN,Zl)=>{"use strict";var xl=require("assert"),{kDestroyed:_l,kBodyUsed:Yl}=ie(),{IncomingMessage:q5}=require("http"),V1=require("stream"),H5=require("net"),{InvalidArgumentError:Te}=$(),{Blob:Jl}=require("buffer"),Ci=require("util"),{stringify:O5}=require("querystring"),[co,Gl]=process.versions.node.split(".").map(e=>Number(e));function P5(){}function uo(e){return e&&typeof e=="object"&&typeof e.pipe=="function"&&typeof e.on=="function"}function ql(e){return Jl&&e instanceof Jl||e&&typeof e=="object"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function W5(e,A){if(e.includes("?")||e.includes("#"))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let t=O5(A);return t&&(e+="?"+t),e}function Hl(e){if(typeof e=="string"){if(e=new URL(e),!/^https?:/.test(e.origin||e.protocol))throw new Te("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}if(!e||typeof e!="object")throw new Te("Invalid URL: The URL argument must be a non-null object.");if(e.port!=null&&e.port!==""&&!Number.isFinite(parseInt(e.port)))throw new Te("Invalid URL: port must be a valid integer or a string representation of an integer.");if(e.path!=null&&typeof e.path!="string")throw new Te("Invalid URL path: the path must be a string or null/undefined.");if(e.pathname!=null&&typeof e.pathname!="string")throw new Te("Invalid URL pathname: the pathname must be a string or null/undefined.");if(e.hostname!=null&&typeof e.hostname!="string")throw new Te("Invalid URL hostname: the hostname must be a string or null/undefined.");if(e.origin!=null&&typeof e.origin!="string")throw new Te("Invalid URL origin: the origin must be a string or null/undefined.");if(!/^https?:/.test(e.origin||e.protocol))throw new Te("Invalid URL protocol: the URL must start with `http:` or `https:`.");if(!(e instanceof URL)){let A=e.port!=null?e.port:e.protocol==="https:"?443:80,t=e.origin!=null?e.origin:`${e.protocol}//${e.hostname}:${A}`,a=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;t.endsWith("/")&&(t=t.substring(0,t.length-1)),a&&!a.startsWith("/")&&(a=`/${a}`),e=new URL(t+a)}return e}function Z5(e){if(e=Hl(e),e.pathname!=="/"||e.search||e.hash)throw new Te("invalid url");return e}function j5(e){if(e[0]==="["){let t=e.indexOf("]");return xl(t!==-1),e.substr(1,t-1)}let A=e.indexOf(":");return A===-1?e:e.substr(0,A)}function X5(e){if(!e)return null;xl.strictEqual(typeof e,"string");let A=j5(e);return H5.isIP(A)?"":A}function z5(e){return JSON.parse(JSON.stringify(e))}function K5(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}function $5(e){return e!=null&&(typeof e[Symbol.iterator]=="function"||typeof e[Symbol.asyncIterator]=="function")}function em(e){if(e==null)return 0;if(uo(e)){let A=e._readableState;return A&&A.ended===!0&&Number.isFinite(A.length)?A.length:null}else{if(ql(e))return e.size!=null?e.size:null;if(Pl(e))return e.byteLength}return null}function Eo(e){return!e||!!(e.destroyed||e[_l])}function Ol(e){let A=e&&e._readableState;return Eo(e)&&A&&!A.endEmitted}function Am(e,A){!uo(e)||Eo(e)||(typeof e.destroy=="function"?(Object.getPrototypeOf(e).constructor===q5&&(e.socket=null),e.destroy(A)):A&&process.nextTick((t,a)=>{t.emit("error",a)},e,A),e.destroyed!==!0&&(e[_l]=!0))}var tm=/timeout=(\d+)/;function am(e){let A=e.toString().match(tm);return A?parseInt(A[1],10)*1e3:null}function rm(e,A={}){for(let t=0;t<e.length;t+=2){let a=e[t].toString().toLowerCase(),r=A[a];r?(Array.isArray(r)||(r=[r],A[a]=r),r.push(e[t+1].toString("utf8"))):Array.isArray(e[t+1])?A[a]=e[t+1]:A[a]=e[t+1].toString("utf8")}return"content-length"in A&&"content-disposition"in A&&(A["content-disposition"]=Buffer.from(A["content-disposition"]).toString("latin1")),A}function im(e){let A=[],t=!1,a=-1;for(let r=0;r<e.length;r+=2){let i=e[r+0].toString(),s=e[r+1].toString("utf8");i.length===14&&(i==="content-length"||i.toLowerCase()==="content-length")?(A.push(i,s),t=!0):i.length===19&&(i==="content-disposition"||i.toLowerCase()==="content-disposition")?a=A.push(i,s)-1:A.push(i,s)}return t&&a!==-1&&(A[a]=Buffer.from(A[a]).toString("latin1")),A}function Pl(e){return e instanceof Uint8Array||Buffer.isBuffer(e)}function sm(e,A,t){if(!e||typeof e!="object")throw new Te("handler must be an object");if(typeof e.onConnect!="function")throw new Te("invalid onConnect method");if(typeof e.onError!="function")throw new Te("invalid onError method");if(typeof e.onBodySent!="function"&&e.onBodySent!==void 0)throw new Te("invalid onBodySent method");if(t||A==="CONNECT"){if(typeof e.onUpgrade!="function")throw new Te("invalid onUpgrade method")}else{if(typeof e.onHeaders!="function")throw new Te("invalid onHeaders method");if(typeof e.onData!="function")throw new Te("invalid onData method");if(typeof e.onComplete!="function")throw new Te("invalid onComplete method")}}function nm(e){return!!(e&&(V1.isDisturbed?V1.isDisturbed(e)||e[Yl]:e[Yl]||e.readableDidRead||e._readableState&&e._readableState.dataEmitted||Ol(e)))}function om(e){return!!(e&&(V1.isErrored?V1.isErrored(e):/state: 'errored'/.test(Ci.inspect(e))))}function dm(e){return!!(e&&(V1.isReadable?V1.isReadable(e):/state: 'readable'/.test(Ci.inspect(e))))}function pm(e){return{localAddress:e.localAddress,localPort:e.localPort,remoteAddress:e.remoteAddress,remotePort:e.remotePort,remoteFamily:e.remoteFamily,timeout:e.timeout,bytesWritten:e.bytesWritten,bytesRead:e.bytesRead}}var Ha;function lm(e){if(Ha||(Ha=require("stream/web").ReadableStream),Ha.from)return Ha.from(e);let A;return new Ha({async start(){A=e[Symbol.asyncIterator]()},async pull(t){let{done:a,value:r}=await A.next();if(a)queueMicrotask(()=>{t.close()});else{let i=Buffer.isBuffer(r)?r:Buffer.from(r);t.enqueue(new Uint8Array(i))}return t.desiredSize>0},async cancel(t){await A.return()}},0)}function gm(e){return e&&typeof e=="object"&&typeof e.append=="function"&&typeof e.delete=="function"&&typeof e.get=="function"&&typeof e.getAll=="function"&&typeof e.has=="function"&&typeof e.set=="function"&&e[Symbol.toStringTag]==="FormData"}function cm(e){if(e){if(typeof e.throwIfAborted=="function")e.throwIfAborted();else if(e.aborted){let A=new Error("The operation was aborted");throw A.name="AbortError",A}}}var mi;function um(e,A){return typeof Symbol.dispose=="symbol"&&(mi||(mi=require("events")),typeof mi.addAbortListener=="function"&&"aborted"in e)?mi.addAbortListener(e,A):"addEventListener"in e?(e.addEventListener("abort",A,{once:!0}),()=>e.removeEventListener("abort",A)):(e.addListener("abort",A),()=>e.removeListener("abort",A))}var Em=!!String.prototype.toWellFormed;function Qm(e){return Em?`${e}`.toWellFormed():Ci.toUSVString?Ci.toUSVString(e):`${e}`}var Wl=Object.create(null);Wl.enumerable=!0;Zl.exports={kEnumerableProperty:Wl,nop:P5,isDisturbed:nm,isErrored:om,isReadable:dm,toUSVString:Qm,isReadableAborted:Ol,isBlobLike:ql,parseOrigin:Z5,parseURL:Hl,getServerName:X5,isStream:uo,isIterable:$5,isAsyncIterable:K5,isDestroyed:Eo,parseRawHeaders:im,parseHeaders:rm,parseKeepAliveTimeout:am,destroy:Am,bodyLength:em,deepClone:z5,ReadableStreamFrom:lm,isBuffer:Pl,validateHandler:sm,getSocketInfo:pm,isFormDataLike:gm,buildURL:W5,throwIfAborted:cm,addAbortListener:um,nodeMajor:co,nodeMinor:Gl,nodeHasAutoSelectFamily:co>18||co===18&&Gl>=13}});var zl=E((JN,Xl)=>{"use strict";var Qo=Date.now(),St,Ft=[];function mm(){Qo=Date.now();let e=Ft.length,A=0;for(;A<e;){let t=Ft[A];t.state===0?t.state=Qo+t.delay:t.state>0&&Qo>=t.state&&(t.state=-1,t.callback(t.opaque)),t.state===-1?(t.state=-2,A!==e-1?Ft[A]=Ft.pop():Ft.pop(),e-=1):A+=1}Ft.length>0&&jl()}function jl(){St&&St.refresh?St.refresh():(clearTimeout(St),St=setTimeout(mm,1e3),St.unref&&St.unref())}var Bi=class{constructor(A,t,a){this.callback=A,this.delay=t,this.opaque=a,this.state=-2,this.refresh()}refresh(){this.state===-2&&(Ft.push(this),(!St||Ft.length===1)&&jl()),this.state=0}clear(){this.state=-1}};Xl.exports={setTimeout(e,A,t){return A<1e3?setTimeout(e,A,t):new Bi(e,A,t)},clearTimeout(e){e instanceof Bi?e.clear():clearTimeout(e)}}});var hi=E((t4,a4)=>{"use strict";function Cm(e){if(e.length===0)return;let A=Object.create(null),t=0;for(;t<e.length;++t){let s=e.charCodeAt(t);if(Kt[s]!==1){if(s!==47||t===0)return;break}}if(t===e.length)return;let a=e.slice(0,t).toLowerCase(),r=++t;for(;t<e.length;++t){let s=e.charCodeAt(t);if(Kt[s]!==1){if(t===r||Bm(e,t,A)===void 0)return;break}}if(t===r)return;let i=e.slice(r,t).toLowerCase();return{type:a,subtype:i,params:A}}function Bm(e,A,t){for(;A<e.length;){for(;A<e.length;++A){let n=e.charCodeAt(A);if(n!==32&&n!==9)break}if(A===e.length)break;if(e.charCodeAt(A++)!==59)return;for(;A<e.length;++A){let n=e.charCodeAt(A);if(n!==32&&n!==9)break}if(A===e.length)return;let a,r=A;for(;A<e.length;++A){let n=e.charCodeAt(A);if(Kt[n]!==1){if(n!==61)return;break}}if(A===e.length||(a=e.slice(r,A),++A,A===e.length))return;let i="",s;if(e.charCodeAt(A)===34){s=++A;let n=!1;for(;A<e.length;++A){let o=e.charCodeAt(A);if(o===92){n?(s=A,n=!1):(i+=e.slice(s,A),n=!0);continue}if(o===34){if(n){s=A,n=!1;continue}i+=e.slice(s,A);break}if(n&&(s=A-1,n=!1),A4[o]!==1)return}if(A===e.length)return;++A}else{for(s=A;A<e.length;++A){let n=e.charCodeAt(A);if(Kt[n]!==1){if(A===s)return;break}}i=e.slice(s,A)}a=a.toLowerCase(),t[a]===void 0&&(t[a]=i)}return t}function hm(e,A){if(e.length===0)return;let t=Object.create(null),a=0;for(;a<e.length;++a){let i=e.charCodeAt(a);if(Kt[i]!==1){if(Im(e,a,t,A)===void 0)return;break}}return{type:e.slice(0,a).toLowerCase(),params:t}}function Im(e,A,t,a){for(;A<e.length;){for(;A<e.length;++A){let d=e.charCodeAt(A);if(d!==32&&d!==9)break}if(A===e.length)break;if(e.charCodeAt(A++)!==59)return;for(;A<e.length;++A){let d=e.charCodeAt(A);if(d!==32&&d!==9)break}if(A===e.length)return;let r,i=A;for(;A<e.length;++A){let d=e.charCodeAt(A);if(Kt[d]!==1){if(d===61)break;return}}if(A===e.length)return;let s="",n,o;if(r=e.slice(i,A),r.charCodeAt(r.length-1)===42){let d=++A;for(;A<e.length;++A){let p=e.charCodeAt(A);if(wm[p]!==1){if(p!==39)return;break}}if(A===e.length)return;for(o=e.slice(d,A),++A;A<e.length&&e.charCodeAt(A)!==39;++A);if(A===e.length||(++A,A===e.length))return;n=A;let l=0;for(;A<e.length;++A){let p=e.charCodeAt(A);if(ym[p]!==1){if(p===37){let g,c;if(A+2<e.length&&(g=Kl[e.charCodeAt(A+1)])!==-1&&(c=Kl[e.charCodeAt(A+2)])!==-1){let u=(g<<4)+c;s+=e.slice(n,A),s+=String.fromCharCode(u),A+=2,n=A+1,u>=128?l=2:l===0&&(l=1);continue}return}break}}if(s+=e.slice(n,A),s=e4(s,o,l),s===void 0)return}else{if(++A,A===e.length)return;if(e.charCodeAt(A)===34){n=++A;let d=!1;for(;A<e.length;++A){let l=e.charCodeAt(A);if(l===92){d?(n=A,d=!1):(s+=e.slice(n,A),d=!0);continue}if(l===34){if(d){n=A,d=!1;continue}s+=e.slice(n,A);break}if(d&&(n=A-1,d=!1),A4[l]!==1)return}if(A===e.length)return;++A}else{for(n=A;A<e.length;++A){let d=e.charCodeAt(A);if(Kt[d]!==1){if(A===n)return;break}}s=e.slice(n,A)}if(s=a(s,2),s===void 0)return}r=r.toLowerCase(),t[r]===void 0&&(t[r]=s)}return t}function $l(e){let A;for(;;)switch(e){case"utf-8":case"utf8":return Oa.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return Oa.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return Oa.utf16le;case"base64":return Oa.base64;default:if(A===void 0){A=!0,e=e.toLowerCase();continue}return Oa.other.bind(e)}}var Oa={utf8:(e,A)=>{if(e.length===0)return"";if(typeof e=="string"){if(A<2)return e;e=Buffer.from(e,"latin1")}return e.utf8Slice(0,e.length)},latin1:(e,A)=>e.length===0?"":typeof e=="string"?e:e.latin1Slice(0,e.length),utf16le:(e,A)=>e.length===0?"":(typeof e=="string"&&(e=Buffer.from(e,"latin1")),e.ucs2Slice(0,e.length)),base64:(e,A)=>e.length===0?"":(typeof e=="string"&&(e=Buffer.from(e,"latin1")),e.base64Slice(0,e.length)),other:(e,A)=>{if(e.length===0)return"";typeof e=="string"&&(e=Buffer.from(e,"latin1"));try{return new TextDecoder(t4).decode(e)}catch{}}};function e4(e,A,t){let a=$l(A);if(a)return a(e,t)}function fm(e){if(typeof e!="string")return"";for(let A=e.length-1;A>=0;--A)switch(e.charCodeAt(A)){case 47:case 92:return e=e.slice(A+1),e===".."||e==="."?"":e}return e===".."||e==="."?"":e}var Kt=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],A4=[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],wm=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0,1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],ym=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,1,0,0,0,0,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],Kl=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];a4.exports={basename:fm,convertToUTF8:e4,getDecoder:$l,parseContentType:Cm,parseDisposition:hm}});var n4=E((GN,s4)=>{"use strict";function r4(e,A,t,a,r){for(let i=0;i<r;++i)if(e[A+i]!==t[a+i])return!1;return!0}var mo=class{constructor(A,t){if(typeof t!="function")throw new Error("Missing match callback");if(typeof A=="string")A=Buffer.from(A);else if(!Buffer.isBuffer(A))throw new Error(`Expected Buffer for needle, got ${typeof A}`);let a=A.length;if(this.maxMatches=1/0,this.matches=0,this._cb=t,this._lookbehindSize=0,this._needle=A,this._bufPos=0,this._lookbehind=Buffer.allocUnsafe(a),this._occ=[a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a],a>1)for(let r=0;r<a-1;++r)this._occ[A[r]]=a-1-r}reset(){this.matches=0,this._lookbehindSize=0,this._bufPos=0}push(A,t){let a;Buffer.isBuffer(A)||(A=Buffer.from(A,"latin1"));let r=A.length;for(this._bufPos=t||0;a!==r&&this.matches<this.maxMatches;)a=Dm(this,A);return a}destroy(){let A=this._lookbehindSize;A&&this._cb(!1,this._lookbehind,0,A,!1),this.reset()}};function Dm(e,A){let t=A.length,a=e._needle,r=a.length,i=-e._lookbehindSize,s=r-1,n=a[s],o=t-r,d=e._occ,l=e._lookbehind;if(i<0){for(;i<0&&i<=o;){let g=i+s,c=g<0?l[e._lookbehindSize+g]:A[g];if(c===n&&i4(e,A,i,s))return e._lookbehindSize=0,++e.matches,i>-e._lookbehindSize?e._cb(!0,l,0,e._lookbehindSize+i,!1):e._cb(!0,void 0,0,0,!0),e._bufPos=i+r;i+=d[c]}for(;i<0&&!i4(e,A,i,t-i);)++i;if(i<0){let g=e._lookbehindSize+i;return g>0&&e._cb(!1,l,0,g,!1),e._lookbehindSize-=g,l.copy(l,0,g,e._lookbehindSize),l.set(A,e._lookbehindSize),e._lookbehindSize+=t,e._bufPos=t,t}e._cb(!1,l,0,e._lookbehindSize,!1),e._lookbehindSize=0}i+=e._bufPos;let p=a[0];for(;i<=o;){let g=A[i+s];if(g===n&&A[i]===p&&r4(a,0,A,i,s))return++e.matches,i>0?e._cb(!0,A,e._bufPos,i,!0):e._cb(!0,void 0,0,0,!0),e._bufPos=i+r;i+=d[g]}for(;i<t;){if(A[i]!==p||!r4(A,i,a,0,t-i)){++i;continue}A.copy(l,0,i,t),e._lookbehindSize=t-i;break}return i>0&&e._cb(!1,A,e._bufPos,i<t?i:t,!0),e._bufPos=t,t}function i4(e,A,t,a){let r=e._lookbehind,i=e._lookbehindSize,s=e._needle;for(let n=0;n<a;++n,++t)if((t<0?r[i+t]:A[t])!==s[n])return!1;return!0}s4.exports=mo});var Q4=E((xN,E4)=>{"use strict";var{Readable:Rm,Writable:vm}=require("stream"),Nm=n4(),{basename:bm,convertToUTF8:o4,getDecoder:Sm,parseContentType:Fm,parseDisposition:km}=hi(),Lm=Buffer.from(`\r +`),Um=Buffer.from("\r"),Tm=Buffer.from("-");function d4(){}var Mm=2e3,Y1=16*1024,Ii=0,p4=1,l4=2,Co=class{constructor(A){this.header=Object.create(null),this.pairCount=0,this.byteCount=0,this.state=Ii,this.name="",this.value="",this.crlf=0,this.cb=A}reset(){this.header=Object.create(null),this.pairCount=0,this.byteCount=0,this.state=Ii,this.name="",this.value="",this.crlf=0}push(A,t,a){let r=t;for(;t<a;)switch(this.state){case Ii:{let i=!1;for(;t<a;++t){if(this.byteCount===Y1)return-1;++this.byteCount;let s=A[t];if(Jm[s]!==1){if(s!==58||(this.name+=A.latin1Slice(r,t),this.name.length===0))return-1;++t,i=!0,this.state=p4;break}}if(!i){this.name+=A.latin1Slice(r,t);break}}case p4:{let i=!1;for(;t<a;++t){if(this.byteCount===Y1)return-1;++this.byteCount;let s=A[t];if(s!==32&&s!==9){r=t,i=!0,this.state=l4;break}}if(!i)break}case l4:switch(this.crlf){case 0:for(;t<a;++t){if(this.byteCount===Y1)return-1;++this.byteCount;let i=A[t];if(Gm[i]!==1){if(i!==13)return-1;++this.crlf;break}}this.value+=A.latin1Slice(r,t++);break;case 1:if(this.byteCount===Y1||(++this.byteCount,A[t++]!==10))return-1;++this.crlf;break;case 2:{if(this.byteCount===Y1)return-1;++this.byteCount;let i=A[t];i===32||i===9?(r=t,this.crlf=0):(++this.pairCount<Mm&&(this.name=this.name.toLowerCase(),this.header[this.name]===void 0?this.header[this.name]=[this.value]:this.header[this.name].push(this.value)),i===13?(++this.crlf,++t):(r=t,this.crlf=0,this.state=Ii,this.name="",this.value=""));break}case 3:{if(this.byteCount===Y1||(++this.byteCount,A[t++]!==10))return-1;let i=this.header;return this.reset(),this.cb(i),t}}break}return t}},Bo=class extends Rm{constructor(A,t){super(A),this.truncated=!1,this._readcb=null,this.once("end",()=>{if(this._read(),--t._fileEndsLeft===0&&t._finalcb){let a=t._finalcb;t._finalcb=null,process.nextTick(a)}})}_read(A){let t=this._readcb;t&&(this._readcb=null,t())}},g4={push:(e,A)=>{},destroy:()=>{}};function Vm(e,A){let t=e._writecb;e._writecb=null,A?e.destroy(A):t&&t()}function Ym(e,A){return e}var ho=class extends vm{constructor(A){let t={autoDestroy:!0,emitClose:!0,highWaterMark:typeof A.highWaterMark=="number"?A.highWaterMark:void 0};if(super(t),!A.conType.params||typeof A.conType.params.boundary!="string")throw new Error("Multipart: Boundary not found");let a=A.conType.params.boundary,r=typeof A.defParamCharset=="string"&&A.defParamCharset?Sm(A.defParamCharset):Ym,i=A.defCharset||"utf8",s=A.preservePath,n={autoDestroy:!0,emitClose:!0,highWaterMark:typeof A.fileHwm=="number"?A.fileHwm:void 0},o=A.limits,d=o&&typeof o.fieldSize=="number"?o.fieldSize:1*1024*1024,l=o&&typeof o.fileSize=="number"?o.fileSize:1/0,p=o&&typeof o.files=="number"?o.files:1/0,g=o&&typeof o.fields=="number"?o.fields:1/0,c=o&&typeof o.parts=="number"?o.parts:1/0,u=-1,m=0,Q=0,C=!1;this._fileEndsLeft=0,this._fileStream=void 0,this._complete=!1;let B=0,w,I=0,y,b,k,x,ye=!1,Be=!1,wt=!1;this._hparser=null;let Fe=new Co(j=>{this._hparser=null,C=!1,k="text/plain",y=i,b="7bit",x=void 0,ye=!1;let re;if(!j["content-disposition"]){C=!0;return}let U=km(j["content-disposition"][0],r);if(!U||U.type!=="form-data"){C=!0;return}if(U.params&&(U.params.name&&(x=U.params.name),U.params["filename*"]?re=U.params["filename*"]:U.params.filename&&(re=U.params.filename),re!==void 0&&!s&&(re=bm(re))),j["content-type"]){let T=Fm(j["content-type"][0]);T&&(k=`${T.type}/${T.subtype}`,T.params&&typeof T.params.charset=="string"&&(y=T.params.charset.toLowerCase()))}if(j["content-transfer-encoding"]&&(b=j["content-transfer-encoding"][0].toLowerCase()),k==="application/octet-stream"||re!==void 0){if(Q===p){Be||(Be=!0,this.emit("filesLimit")),C=!0;return}if(++Q,this.listenerCount("file")===0){C=!0;return}B=0,this._fileStream=new Bo(n,this),++this._fileEndsLeft,this.emit("file",x,this._fileStream,{filename:re,encoding:b,mimeType:k})}else{if(m===g){wt||(wt=!0,this.emit("fieldsLimit")),C=!0;return}if(++m,this.listenerCount("field")===0){C=!0;return}w=[],I=0}}),le=0,QA=(j,re,U,T,JA)=>{e:for(;re;){if(this._hparser!==null){let W=this._hparser.push(re,U,T);if(W===-1){this._hparser=null,Fe.reset(),this.emit("error",new Error("Malformed part header"));break}U=W}if(U===T)break;if(le!==0){if(le===1){switch(re[U]){case 45:le=2,++U;break;case 13:le=3,++U;break;default:le=0}if(U===T)return}if(le===2){if(le=0,re[U]===45){this._complete=!0,this._bparser=g4;return}let W=this._writecb;this._writecb=d4,QA(!1,Tm,0,1,!1),this._writecb=W}else if(le===3)if(le=0,re[U]===10){if(++U,u>=c||(this._hparser=Fe,U===T))break;continue e}else{let W=this._writecb;this._writecb=d4,QA(!1,Um,0,1,!1),this._writecb=W}}if(!C){if(this._fileStream){let W,tA=Math.min(T-U,l-B);JA?W=re.slice(U,U+tA):(W=Buffer.allocUnsafe(tA),re.copy(W,0,U,U+tA)),B+=W.length,B===l?(W.length>0&&this._fileStream.push(W),this._fileStream.emit("limit"),this._fileStream.truncated=!0,C=!0):this._fileStream.push(W)||(this._writecb&&(this._fileStream._readcb=this._writecb),this._writecb=null)}else if(w!==void 0){let W,tA=Math.min(T-U,d-I);JA?W=re.slice(U,U+tA):(W=Buffer.allocUnsafe(tA),re.copy(W,0,U,U+tA)),I+=tA,w.push(W),I===d&&(C=!0,ye=!0)}}break}if(j){if(le=1,this._fileStream)this._fileStream.push(null),this._fileStream=null;else if(w!==void 0){let W;switch(w.length){case 0:W="";break;case 1:W=o4(w[0],y,0);break;default:W=o4(Buffer.concat(w,I),y,0)}w=void 0,I=0,this.emit("field",x,W,{nameTruncated:!1,valueTruncated:ye,encoding:b,mimeType:k})}++u===c&&this.emit("partsLimit")}};this._bparser=new Nm(`\r +--${a}`,QA),this._writecb=null,this._finalcb=null,this.write(Lm)}static detect(A){return A.type==="multipart"&&A.subtype==="form-data"}_write(A,t,a){this._writecb=a,this._bparser.push(A,0),this._writecb&&Vm(this)}_destroy(A,t){this._hparser=null,this._bparser=g4,A||(A=u4(this));let a=this._fileStream;a&&(this._fileStream=null,a.destroy(A)),t(A)}_final(A){if(this._bparser.destroy(),!this._complete)return A(new Error("Unexpected end of form"));this._fileEndsLeft?this._finalcb=c4.bind(null,this,A):c4(this,A)}};function c4(e,A,t){if(t)return A(t);t=u4(e),A(t)}function u4(e){if(e._hparser)return new Error("Malformed part header");let A=e._fileStream;if(A&&(e._fileStream=null,A.destroy(new Error("Unexpected end of file"))),!e._complete)return new Error("Unexpected end of form")}var Jm=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],Gm=[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];E4.exports=ho});var C4=E((_N,m4)=>{"use strict";var{Writable:xm}=require("stream"),{getDecoder:_m}=hi(),Do=class extends xm{constructor(A){let t={autoDestroy:!0,emitClose:!0,highWaterMark:typeof A.highWaterMark=="number"?A.highWaterMark:void 0};super(t);let a=A.defCharset||"utf8";A.conType.params&&typeof A.conType.params.charset=="string"&&(a=A.conType.params.charset),this.charset=a;let r=A.limits;this.fieldSizeLimit=r&&typeof r.fieldSize=="number"?r.fieldSize:1*1024*1024,this.fieldsLimit=r&&typeof r.fields=="number"?r.fields:1/0,this.fieldNameSizeLimit=r&&typeof r.fieldNameSize=="number"?r.fieldNameSize:100,this._inKey=!0,this._keyTrunc=!1,this._valTrunc=!1,this._bytesKey=0,this._bytesVal=0,this._fields=0,this._key="",this._val="",this._byte=-2,this._lastPos=0,this._encode=0,this._decoder=_m(a)}static detect(A){return A.type==="application"&&A.subtype==="x-www-form-urlencoded"}_write(A,t,a){if(this._fields>=this.fieldsLimit)return a();let r=0,i=A.length;if(this._lastPos=0,this._byte!==-2){if(r=Io(this,A,r,i),r===-1)return a(new Error("Malformed urlencoded form"));if(r>=i)return a();this._inKey?++this._bytesKey:++this._bytesVal}e:for(;r<i;)if(this._inKey){for(r=fo(this,A,r,i);r<i;){switch(A[r]){case 61:this._lastPos<r&&(this._key+=A.latin1Slice(this._lastPos,r)),this._lastPos=++r,this._key=this._decoder(this._key,this._encode),this._encode=0,this._inKey=!1;continue e;case 38:if(this._lastPos<r&&(this._key+=A.latin1Slice(this._lastPos,r)),this._lastPos=++r,this._key=this._decoder(this._key,this._encode),this._encode=0,this._bytesKey>0&&this.emit("field",this._key,"",{nameTruncated:this._keyTrunc,valueTruncated:!1,encoding:this.charset,mimeType:"text/plain"}),this._key="",this._val="",this._keyTrunc=!1,this._valTrunc=!1,this._bytesKey=0,this._bytesVal=0,++this._fields>=this.fieldsLimit)return this.emit("fieldsLimit"),a();continue;case 43:this._lastPos<r&&(this._key+=A.latin1Slice(this._lastPos,r)),this._key+=" ",this._lastPos=r+1;break;case 37:if(this._encode===0&&(this._encode=1),this._lastPos<r&&(this._key+=A.latin1Slice(this._lastPos,r)),this._lastPos=r+1,this._byte=-1,r=Io(this,A,r+1,i),r===-1)return a(new Error("Malformed urlencoded form"));if(r>=i)return a();++this._bytesKey,r=fo(this,A,r,i);continue}++r,++this._bytesKey,r=fo(this,A,r,i)}this._lastPos<r&&(this._key+=A.latin1Slice(this._lastPos,r))}else{for(r=wo(this,A,r,i);r<i;){switch(A[r]){case 38:if(this._lastPos<r&&(this._val+=A.latin1Slice(this._lastPos,r)),this._lastPos=++r,this._inKey=!0,this._val=this._decoder(this._val,this._encode),this._encode=0,(this._bytesKey>0||this._bytesVal>0)&&this.emit("field",this._key,this._val,{nameTruncated:this._keyTrunc,valueTruncated:this._valTrunc,encoding:this.charset,mimeType:"text/plain"}),this._key="",this._val="",this._keyTrunc=!1,this._valTrunc=!1,this._bytesKey=0,this._bytesVal=0,++this._fields>=this.fieldsLimit)return this.emit("fieldsLimit"),a();continue e;case 43:this._lastPos<r&&(this._val+=A.latin1Slice(this._lastPos,r)),this._val+=" ",this._lastPos=r+1;break;case 37:if(this._encode===0&&(this._encode=1),this._lastPos<r&&(this._val+=A.latin1Slice(this._lastPos,r)),this._lastPos=r+1,this._byte=-1,r=Io(this,A,r+1,i),r===-1)return a(new Error("Malformed urlencoded form"));if(r>=i)return a();++this._bytesVal,r=wo(this,A,r,i);continue}++r,++this._bytesVal,r=wo(this,A,r,i)}this._lastPos<r&&(this._val+=A.latin1Slice(this._lastPos,r))}a()}_final(A){if(this._byte!==-2)return A(new Error("Malformed urlencoded form"));(!this._inKey||this._bytesKey>0||this._bytesVal>0)&&(this._inKey?this._key=this._decoder(this._key,this._encode):this._val=this._decoder(this._val,this._encode),this.emit("field",this._key,this._val,{nameTruncated:this._keyTrunc,valueTruncated:this._valTrunc,encoding:this.charset,mimeType:"text/plain"})),A()}};function Io(e,A,t,a){if(t>=a)return a;if(e._byte===-1){let r=yo[A[t++]];if(r===-1)return-1;if(r>=8&&(e._encode=2),t<a){let i=yo[A[t++]];if(i===-1)return-1;e._inKey?e._key+=String.fromCharCode((r<<4)+i):e._val+=String.fromCharCode((r<<4)+i),e._byte=-2,e._lastPos=t}else e._byte=r}else{let r=yo[A[t++]];if(r===-1)return-1;e._inKey?e._key+=String.fromCharCode((e._byte<<4)+r):e._val+=String.fromCharCode((e._byte<<4)+r),e._byte=-2,e._lastPos=t}return t}function fo(e,A,t,a){if(e._bytesKey>e.fieldNameSizeLimit){for(e._keyTrunc||e._lastPos<t&&(e._key+=A.latin1Slice(e._lastPos,t-1)),e._keyTrunc=!0;t<a;++t){let r=A[t];if(r===61||r===38)break;++e._bytesKey}e._lastPos=t}return t}function wo(e,A,t,a){if(e._bytesVal>e.fieldSizeLimit){for(e._valTrunc||e._lastPos<t&&(e._val+=A.latin1Slice(e._lastPos,t-1)),e._valTrunc=!0;t<a&&A[t]!==38;++t)++e._bytesVal;e._lastPos=t}return t}var yo=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];m4.exports=Do});var h4=E((qN,B4)=>{"use strict";var{parseContentType:qm}=hi();function Hm(e){let A=e.headers,t=qm(A["content-type"]);if(!t)throw new Error("Malformed content type");for(let a of Om){if(!a.detect(t))continue;let i={limits:e.limits,headers:A,conType:t,highWaterMark:void 0,fileHwm:void 0,defCharset:void 0,defParamCharset:void 0,preservePath:!1};return e.highWaterMark&&(i.highWaterMark=e.highWaterMark),e.fileHwm&&(i.fileHwm=e.fileHwm),i.defCharset=e.defCharset,i.defParamCharset=e.defParamCharset,i.preservePath=e.preservePath,new a(i)}throw new Error(`Unsupported content type: ${A["content-type"]}`)}var Om=[Q4(),C4()].filter(function(e){return typeof e.detect=="function"});B4.exports=e=>{if((typeof e!="object"||e===null)&&(e={}),typeof e.headers!="object"||e.headers===null||typeof e.headers["content-type"]!="string")throw new Error("Missing Content-Type");return Hm(e)}});var kt=E((HN,I4)=>{"use strict";var{MessageChannel:Pm,receiveMessageOnPort:Wm}=require("worker_threads"),Zm=["GET","HEAD","POST"],jm=[101,204,205,304],Xm=[301,302,303,307,308],zm=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","5060","5061","6000","6566","6665","6666","6667","6668","6669","6697","10080"],Km=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],$m=["follow","manual","error"],eC=["GET","HEAD","OPTIONS","TRACE"],AC=["navigate","same-origin","no-cors","cors"],tC=["omit","same-origin","include"],aC=["default","no-store","reload","no-cache","force-cache","only-if-cached"],rC=["content-encoding","content-language","content-location","content-type","content-length"],iC=["half"],sC=["CONNECT","TRACE","TRACK"],nC=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],oC=globalThis.DOMException??(()=>{try{atob("~")}catch(e){return Object.getPrototypeOf(e).constructor}})(),J1,dC=globalThis.structuredClone??function(A,t=void 0){if(arguments.length===0)throw new TypeError("missing argument");return J1||(J1=new Pm),J1.port1.unref(),J1.port2.unref(),J1.port1.postMessage(A,t?.transfer),Wm(J1.port2).message};I4.exports={DOMException:oC,structuredClone:dC,subresource:nC,forbiddenMethods:sC,requestBodyHeader:rC,referrerPolicy:Km,requestRedirect:$m,requestMode:AC,requestCredentials:tC,requestCache:aC,redirectStatus:Xm,corsSafeListedMethods:Zm,nullBodyStatus:jm,safeMethods:eC,badPorts:zm,requestDuplex:iC}});var Pa=E((ON,f4)=>{"use strict";var Ro=Symbol.for("undici.globalOrigin.1");function pC(){return globalThis[Ro]}function lC(e){if(e!==void 0&&typeof e!="string"&&!(e instanceof URL))throw new Error("Invalid base url");if(e===void 0){Object.defineProperty(globalThis,Ro,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let A=new URL(e);if(A.protocol!=="http:"&&A.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${A.protocol}`);Object.defineProperty(globalThis,Ro,{value:A,writable:!0,enumerable:!1,configurable:!1})}f4.exports={getGlobalOrigin:pC,setGlobalOrigin:lC}});var IA=E((PN,N4)=>{"use strict";var{redirectStatus:gC,badPorts:cC,referrerPolicy:uC}=kt(),{getGlobalOrigin:EC}=Pa(),{performance:QC}=require("perf_hooks"),{isBlobLike:mC,toUSVString:CC,ReadableStreamFrom:BC}=q(),G1=require("assert"),{isUint8Array:hC}=require("util/types"),fi;try{fi=require("crypto")}catch{}function w4(e){let A=e.urlList,t=A.length;return t===0?null:A[t-1].toString()}function IC(e,A){if(!gC.includes(e.status))return null;let t=e.headersList.get("location");return t!==null&&D4(t)&&(t=new URL(t,w4(e))),t&&!t.hash&&(t.hash=A),t}function Za(e){return e.urlList[e.urlList.length-1]}function fC(e){let A=Za(e);return v4(A)&&cC.includes(A.port)?"blocked":"allowed"}function wC(e){return e instanceof Error||e?.constructor?.name==="Error"||e?.constructor?.name==="DOMException"}function yC(e){for(let A=0;A<e.length;++A){let t=e.charCodeAt(A);if(!(t===9||t>=32&&t<=126||t>=128&&t<=255))return!1}return!0}function DC(e){return!(e>=127||e<=32||e==="("||e===")"||e==="<"||e===">"||e==="@"||e===","||e===";"||e===":"||e==="\\"||e==='"'||e==="/"||e==="["||e==="]"||e==="?"||e==="="||e==="{"||e==="}")}function y4(e){if(!e||typeof e!="string")return!1;for(let A=0;A<e.length;++A){let t=e.charCodeAt(A);if(t>127||!DC(t))return!1}return!0}function RC(e){return e.length===0?!1:y4(e)}function D4(e){return!(e.startsWith(" ")||e.startsWith(" ")||e.endsWith(" ")||e.endsWith(" ")||e.includes("\0")||e.includes("\r")||e.includes(` +`))}function vC(e,A){let{headersList:t}=A,a=(t.get("referrer-policy")??"").split(","),r="";if(a.length>0)for(let i=a.length;i!==0;i--){let s=a[i-1].trim();if(uC.includes(s)){r=s;break}}r!==""&&(e.referrerPolicy=r)}function NC(){return"allowed"}function bC(){return"success"}function SC(){return"success"}function FC(e){let A=null;A=e.mode,e.headersList.set("sec-fetch-mode",A)}function kC(e){let A=e.origin;if(e.responseTainting==="cors"||e.mode==="websocket")A&&e.headersList.append("origin",A);else if(e.method!=="GET"&&e.method!=="HEAD"){switch(e.referrerPolicy){case"no-referrer":A=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":e.origin&&bo(e.origin)&&!bo(Za(e))&&(A=null);break;case"same-origin":wi(e,Za(e))||(A=null);break;default:}A&&e.headersList.append("origin",A)}}function LC(e){return QC.now()}function UC(e){return{startTime:e.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:e.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function TC(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function MC(e){return{referrerPolicy:e.referrerPolicy}}function VC(e){let A=e.referrerPolicy;G1(A);let t=null;if(e.referrer==="client"){let n=EC();if(!n||n.origin==="null")return"no-referrer";t=new URL(n)}else e.referrer instanceof URL&&(t=e.referrer);let a=vo(t),r=vo(t,!0);a.toString().length>4096&&(a=r);let i=wi(e,a),s=Wa(a)&&!Wa(e.url);switch(A){case"origin":return r??vo(t,!0);case"unsafe-url":return a;case"same-origin":return i?r:"no-referrer";case"origin-when-cross-origin":return i?a:r;case"strict-origin-when-cross-origin":{let n=Za(e);return wi(a,n)?a:Wa(a)&&!Wa(n)?"no-referrer":r}case"strict-origin":case"no-referrer-when-downgrade":default:return s?"no-referrer":r}}function vo(e,A){return G1(e instanceof URL),e.protocol==="file:"||e.protocol==="about:"||e.protocol==="blank:"?"no-referrer":(e.username="",e.password="",e.hash="",A&&(e.pathname="",e.search=""),e)}function Wa(e){if(!(e instanceof URL))return!1;if(e.href==="about:blank"||e.href==="about:srcdoc"||e.protocol==="data:"||e.protocol==="file:")return!0;return A(e.origin);function A(t){if(t==null||t==="null")return!1;let a=new URL(t);return!!(a.protocol==="https:"||a.protocol==="wss:"||/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(a.hostname)||a.hostname==="localhost"||a.hostname.includes("localhost.")||a.hostname.endsWith(".localhost"))}}function YC(e,A){if(fi===void 0)return!0;let t=GC(A);if(t==="no metadata"||t.length===0)return!0;let a=t.sort((s,n)=>n.algo.localeCompare(s.algo)),r=a[0].algo,i=a.filter(s=>s.algo===r);for(let s of i){let n=s.algo,o=s.hash;if(fi.createHash(n).update(e).digest("base64")===o)return!0}return!1}var JC=/((?<algo>sha256|sha384|sha512)-(?<hash>[A-z0-9+/]{1}.*={0,2}))( +[\x21-\x7e]?)?/i;function GC(e){let A=[],t=!0,a=fi.getHashes();for(let r of e.split(" ")){t=!1;let i=JC.exec(r);if(i===null||i.groups===void 0)continue;let s=i.groups.algo;a.includes(s.toLowerCase())&&A.push(i.groups)}return t===!0?"no metadata":A}function xC(e){}function wi(e,A){return e.origin===A.origin&&e.origin==="null"||e.protocol===A.protocol&&e.hostname===A.hostname&&e.port===A.port}function _C(){let e,A;return{promise:new Promise((a,r)=>{e=a,A=r}),resolve:e,reject:A}}function qC(e){return e.controller.state==="aborted"}function HC(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}function OC(e){return/^(DELETE|GET|HEAD|OPTIONS|POST|PUT)$/i.test(e)?e.toUpperCase():e}function PC(e){let A=JSON.stringify(e);if(A===void 0)throw new TypeError("Value is not JSON serializable");return G1(typeof A=="string"),A}var WC=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function ZC(e,A,t){let a={index:0,kind:t,target:e},r={next(){if(Object.getPrototypeOf(this)!==r)throw new TypeError(`'next' called on an object that does not implement interface ${A} Iterator.`);let{index:i,kind:s,target:n}=a,o=n(),d=o.length;if(i>=d)return{value:void 0,done:!0};let l=o[i];return a.index=i+1,jC(l,s)},[Symbol.toStringTag]:`${A} Iterator`};return Object.setPrototypeOf(r,WC),Object.setPrototypeOf({},r)}function jC(e,A){let t;switch(A){case"key":{t=e[0];break}case"value":{t=e[1];break}case"key+value":{t=e;break}}return{value:t,done:!1}}function XC(e,A,t){let a=s=>queueMicrotask(()=>A(s)),r=s=>queueMicrotask(()=>t(s)),i;try{i=e.stream.getReader()}catch(s){r(s);return}R4(i,a,r)}var No=globalThis.ReadableStream;function zC(e){return No||(No=require("stream/web").ReadableStream),e instanceof No||e[Symbol.toStringTag]==="ReadableStream"&&typeof e.tee=="function"}var KC=65535;function $C(e){return e.length<KC?String.fromCharCode(...e):e.reduce((A,t)=>A+String.fromCharCode(t),"")}function eB(e){try{e.close()}catch(A){if(!A.message.includes("Controller is already closed"))throw A}}function AB(e){for(let A=0;A<e.length;A++)G1(e.charCodeAt(A)<=255);return e}async function R4(e,A,t){let a=[],r=0;for(;;){let i,s;try{({done:i,value:s}=await e.read())}catch(n){t(n);return}if(i){A(Buffer.concat(a,r));return}if(!hC(s)){t(new TypeError("Received non-Uint8Array chunk"));return}a.push(s),r+=s.length}}function tB(e){G1("protocol"in e);let A=e.protocol;return A==="about:"||A==="blob:"||A==="data:"}function bo(e){return typeof e=="string"?e.startsWith("https:"):e.protocol==="https:"}function v4(e){G1("protocol"in e);let A=e.protocol;return A==="http:"||A==="https:"}var aB=Object.hasOwn||((e,A)=>Object.prototype.hasOwnProperty.call(e,A));N4.exports={isAborted:qC,isCancelled:HC,createDeferredPromise:_C,ReadableStreamFrom:BC,toUSVString:CC,tryUpgradeRequestToAPotentiallyTrustworthyURL:xC,coarsenedSharedCurrentTime:LC,determineRequestsReferrer:VC,makePolicyContainer:TC,clonePolicyContainer:MC,appendFetchMetadata:FC,appendRequestOriginHeader:kC,TAOCheck:SC,corsCheck:bC,crossOriginResourcePolicyCheck:NC,createOpaqueTimingInfo:UC,setRequestReferrerPolicyOnRedirect:vC,isValidHTTPToken:y4,requestBadPort:fC,requestCurrentURL:Za,responseURL:w4,responseLocationURL:IC,isBlobLike:mC,isURLPotentiallyTrustworthy:Wa,isValidReasonPhrase:yC,sameOrigin:wi,normalizeMethod:OC,serializeJavascriptValueToJSONString:PC,makeIterator:ZC,isValidHeaderName:RC,isValidHeaderValue:D4,hasOwn:aB,isErrorLike:wC,fullyReadBody:XC,bytesMatch:YC,isReadableStreamLike:zC,readableStreamClose:eB,isomorphicEncode:AB,isomorphicDecode:$C,urlIsLocal:tB,urlHasHttpsScheme:bo,urlIsHttpHttpsScheme:v4,readAllBytes:R4}});var lt=E((WN,b4)=>{"use strict";b4.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kGuard:Symbol("guard"),kRealm:Symbol("realm")}});var xe=E((ZN,F4)=>{"use strict";var{types:WA}=require("util"),{hasOwn:S4,toUSVString:rB}=IA(),f={};f.converters={};f.util={};f.errors={};f.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};f.errors.conversionFailed=function(e){let A=e.types.length===1?"":" one of",t=`${e.argument} could not be converted to${A}: ${e.types.join(", ")}.`;return f.errors.exception({header:e.prefix,message:t})};f.errors.invalidArgument=function(e){return f.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};f.brandCheck=function(e,A,t=void 0){if(t?.strict!==!1&&!(e instanceof A))throw new TypeError("Illegal invocation");return e?.[Symbol.toStringTag]===A.prototype[Symbol.toStringTag]};f.argumentLengthCheck=function({length:e},A,t){if(e<A)throw f.errors.exception({message:`${A} argument${A!==1?"s":""} required, but${e?" only":""} ${e} found.`,...t})};f.illegalConstructor=function(){throw f.errors.exception({header:"TypeError",message:"Illegal constructor"})};f.util.Type=function(e){switch(typeof e){case"undefined":return"Undefined";case"boolean":return"Boolean";case"string":return"String";case"symbol":return"Symbol";case"number":return"Number";case"bigint":return"BigInt";case"function":case"object":return e===null?"Null":"Object"}};f.util.ConvertToInt=function(e,A,t,a={}){let r,i;A===64?(r=Math.pow(2,53)-1,t==="unsigned"?i=0:i=Math.pow(-2,53)+1):t==="unsigned"?(i=0,r=Math.pow(2,A)-1):(i=Math.pow(-2,A)-1,r=Math.pow(2,A-1)-1);let s=Number(e);if(s===0&&(s=0),a.enforceRange===!0){if(Number.isNaN(s)||s===Number.POSITIVE_INFINITY||s===Number.NEGATIVE_INFINITY)throw f.errors.exception({header:"Integer conversion",message:`Could not convert ${e} to an integer.`});if(s=f.util.IntegerPart(s),s<i||s>r)throw f.errors.exception({header:"Integer conversion",message:`Value must be between ${i}-${r}, got ${s}.`});return s}return!Number.isNaN(s)&&a.clamp===!0?(s=Math.min(Math.max(s,i),r),Math.floor(s)%2===0?s=Math.floor(s):s=Math.ceil(s),s):Number.isNaN(s)||s===0&&Object.is(0,s)||s===Number.POSITIVE_INFINITY||s===Number.NEGATIVE_INFINITY?0:(s=f.util.IntegerPart(s),s=s%Math.pow(2,A),t==="signed"&&s>=Math.pow(2,A)-1?s-Math.pow(2,A):s)};f.util.IntegerPart=function(e){let A=Math.floor(Math.abs(e));return e<0?-1*A:A};f.sequenceConverter=function(e){return A=>{if(f.util.Type(A)!=="Object")throw f.errors.exception({header:"Sequence",message:`Value of type ${f.util.Type(A)} is not an Object.`});let t=A?.[Symbol.iterator]?.(),a=[];if(t===void 0||typeof t.next!="function")throw f.errors.exception({header:"Sequence",message:"Object is not an iterator."});for(;;){let{done:r,value:i}=t.next();if(r)break;a.push(e(i))}return a}};f.recordConverter=function(e,A){return t=>{if(f.util.Type(t)!=="Object")throw f.errors.exception({header:"Record",message:`Value of type ${f.util.Type(t)} is not an Object.`});let a={};if(!WA.isProxy(t)){let i=Object.keys(t);for(let s of i){let n=e(s),o=A(t[s]);a[n]=o}return a}let r=Reflect.ownKeys(t);for(let i of r)if(Reflect.getOwnPropertyDescriptor(t,i)?.enumerable){let n=e(i),o=A(t[i]);a[n]=o}return a}};f.interfaceConverter=function(e){return(A,t={})=>{if(t.strict!==!1&&!(A instanceof e))throw f.errors.exception({header:e.name,message:`Expected ${A} to be an instance of ${e.name}.`});return A}};f.dictionaryConverter=function(e){return A=>{let t=f.util.Type(A),a={};if(t==="Null"||t==="Undefined")return a;if(t!=="Object")throw f.errors.exception({header:"Dictionary",message:`Expected ${A} to be one of: Null, Undefined, Object.`});for(let r of e){let{key:i,defaultValue:s,required:n,converter:o}=r;if(n===!0&&!S4(A,i))throw f.errors.exception({header:"Dictionary",message:`Missing required key "${i}".`});let d=A[i],l=S4(r,"defaultValue");if(l&&d!==null&&(d=d??s),n||l||d!==void 0){if(d=o(d),r.allowedValues&&!r.allowedValues.includes(d))throw f.errors.exception({header:"Dictionary",message:`${d} is not an accepted type. Expected one of ${r.allowedValues.join(", ")}.`});a[i]=d}}return a}};f.nullableConverter=function(e){return A=>A===null?A:e(A)};f.converters.DOMString=function(e,A={}){if(e===null&&A.legacyNullToEmptyString)return"";if(typeof e=="symbol")throw new TypeError("Could not convert argument of type symbol to string.");return String(e)};f.converters.ByteString=function(e){let A=f.converters.DOMString(e);for(let t=0;t<A.length;t++){let a=A.charCodeAt(t);if(a>255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${t} has a value of ${a} which is greater than 255.`)}return A};f.converters.USVString=rB;f.converters.boolean=function(e){return!!e};f.converters.any=function(e){return e};f.converters["long long"]=function(e){return f.util.ConvertToInt(e,64,"signed")};f.converters["unsigned long long"]=function(e){return f.util.ConvertToInt(e,64,"unsigned")};f.converters["unsigned long"]=function(e){return f.util.ConvertToInt(e,32,"unsigned")};f.converters["unsigned short"]=function(e,A){return f.util.ConvertToInt(e,16,"unsigned",A)};f.converters.ArrayBuffer=function(e,A={}){if(f.util.Type(e)!=="Object"||!WA.isAnyArrayBuffer(e))throw f.errors.conversionFailed({prefix:`${e}`,argument:`${e}`,types:["ArrayBuffer"]});if(A.allowShared===!1&&WA.isSharedArrayBuffer(e))throw f.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});return e};f.converters.TypedArray=function(e,A,t={}){if(f.util.Type(e)!=="Object"||!WA.isTypedArray(e)||e.constructor.name!==A.name)throw f.errors.conversionFailed({prefix:`${A.name}`,argument:`${e}`,types:[A.name]});if(t.allowShared===!1&&WA.isSharedArrayBuffer(e.buffer))throw f.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});return e};f.converters.DataView=function(e,A={}){if(f.util.Type(e)!=="Object"||!WA.isDataView(e))throw f.errors.exception({header:"DataView",message:"Object is not a DataView."});if(A.allowShared===!1&&WA.isSharedArrayBuffer(e.buffer))throw f.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});return e};f.converters.BufferSource=function(e,A={}){if(WA.isAnyArrayBuffer(e))return f.converters.ArrayBuffer(e,A);if(WA.isTypedArray(e))return f.converters.TypedArray(e,e.constructor);if(WA.isDataView(e))return f.converters.DataView(e,A);throw new TypeError(`Could not convert ${e} to a BufferSource.`)};f.converters["sequence<ByteString>"]=f.sequenceConverter(f.converters.ByteString);f.converters["sequence<sequence<ByteString>>"]=f.sequenceConverter(f.converters["sequence<ByteString>"]);f.converters["record<ByteString, ByteString>"]=f.recordConverter(f.converters.ByteString,f.converters.ByteString);F4.exports={webidl:f}});var UA=E((jN,V4)=>{var Di=require("assert"),{atob:iB}=require("buffer"),{isomorphicDecode:sB}=IA(),nB=new TextEncoder,yi=/^[!#$%&'*+-.^_|~A-Za-z0-9]+$/,oB=/(\u000A|\u000D|\u0009|\u0020)/,dB=/[\u0009|\u0020-\u007E|\u0080-\u00FF]/;function pB(e){Di(e.protocol==="data:");let A=U4(e,!0);A=A.slice(5);let t={position:0},a=x1(",",A,t),r=a.length;if(a=uB(a,!0,!0),t.position>=A.length)return"failure";t.position++;let i=A.slice(r+1),s=T4(i);if(/;(\u0020){0,}base64$/i.test(a)){let o=sB(s);if(s=gB(o),s==="failure")return"failure";a=a.slice(0,-6),a=a.replace(/(\u0020)+$/,""),a=a.slice(0,-1)}a.startsWith(";")&&(a="text/plain"+a);let n=Fo(a);return n==="failure"&&(n=Fo("text/plain;charset=US-ASCII")),{mimeType:n,body:s}}function U4(e,A=!1){let t=e.href;if(!A)return t;let a=t.lastIndexOf("#");return a===-1?t:t.slice(0,a)}function Ri(e,A,t){let a="";for(;t.position<A.length&&e(A[t.position]);)a+=A[t.position],t.position++;return a}function x1(e,A,t){let a=A.indexOf(e,t.position),r=t.position;return a===-1?(t.position=A.length,A.slice(r)):(t.position=a,A.slice(r,t.position))}function T4(e){let A=nB.encode(e);return lB(A)}function lB(e){let A=[];for(let t=0;t<e.length;t++){let a=e[t];if(a!==37)A.push(a);else if(a===37&&!/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(e[t+1],e[t+2])))A.push(37);else{let r=String.fromCharCode(e[t+1],e[t+2]),i=Number.parseInt(r,16);A.push(i),t+=2}}return Uint8Array.from(A)}function Fo(e){e=So(e,!0,!0);let A={position:0},t=x1("/",e,A);if(t.length===0||!yi.test(t)||A.position>e.length)return"failure";A.position++;let a=x1(";",e,A);if(a=So(a,!1,!0),a.length===0||!yi.test(a))return"failure";let r=t.toLowerCase(),i=a.toLowerCase(),s={type:r,subtype:i,parameters:new Map,essence:`${r}/${i}`};for(;A.position<e.length;){A.position++,Ri(d=>oB.test(d),e,A);let n=Ri(d=>d!==";"&&d!=="=",e,A);if(n=n.toLowerCase(),A.position<e.length){if(e[A.position]===";")continue;A.position++}if(A.position>e.length)break;let o=null;if(e[A.position]==='"')o=M4(e,A,!0),x1(";",e,A);else if(o=x1(";",e,A),o=So(o,!1,!0),o.length===0)continue;n.length!==0&&yi.test(n)&&(o.length===0||dB.test(o))&&!s.parameters.has(n)&&s.parameters.set(n,o)}return s}function gB(e){if(e=e.replace(/[\u0009\u000A\u000C\u000D\u0020]/g,""),e.length%4===0&&(e=e.replace(/=?=$/,"")),e.length%4===1||/[^+/0-9A-Za-z]/.test(e))return"failure";let A=iB(e),t=new Uint8Array(A.length);for(let a=0;a<A.length;a++)t[a]=A.charCodeAt(a);return t}function M4(e,A,t){let a=A.position,r="";for(Di(e[A.position]==='"'),A.position++;r+=Ri(s=>s!=='"'&&s!=="\\",e,A),!(A.position>=e.length);){let i=e[A.position];if(A.position++,i==="\\"){if(A.position>=e.length){r+="\\";break}r+=e[A.position],A.position++}else{Di(i==='"');break}}return t?r:e.slice(a,A.position)}function cB(e){Di(e!=="failure");let{parameters:A,essence:t}=e,a=t;for(let[r,i]of A.entries())a+=";",a+=r,a+="=",yi.test(i)||(i=i.replace(/(\\|")/g,"\\$1"),i='"'+i,i+='"'),a+=i;return a}function k4(e){return e==="\r"||e===` +`||e===" "||e===" "}function So(e,A=!0,t=!0){let a=0,r=e.length-1;if(A)for(;a<e.length&&k4(e[a]);a++);if(t)for(;r>0&&k4(e[r]);r--);return e.slice(a,r+1)}function L4(e){return e==="\r"||e===` +`||e===" "||e==="\f"||e===" "}function uB(e,A=!0,t=!0){let a=0,r=e.length-1;if(A)for(;a<e.length&&L4(e[a]);a++);if(t)for(;r>0&&L4(e[r]);r--);return e.slice(a,r+1)}V4.exports={dataURLProcessor:pB,URLSerializer:U4,collectASequenceOfCodePoints:Ri,collectASequenceOfCodePointsFast:x1,stringPercentDecode:T4,parseMIMEType:Fo,collectAnHTTPQuotedString:M4,serializeAMimeType:cB}});var vi=E((XN,_4)=>{"use strict";var{Blob:G4,File:Y4}=require("buffer"),{types:ko}=require("util"),{kState:rA}=lt(),{isBlobLike:x4}=IA(),{webidl:P}=xe(),{parseMIMEType:EB,serializeAMimeType:QB}=UA(),{kEnumerableProperty:J4}=q(),ja=class e extends G4{constructor(A,t,a={}){P.argumentLengthCheck(arguments,2,{header:"File constructor"}),A=P.converters["sequence<BlobPart>"](A),t=P.converters.USVString(t),a=P.converters.FilePropertyBag(a);let r=t,i=a.type,s;e:{if(i){if(i=EB(i),i==="failure"){i="";break e}i=QB(i).toLowerCase()}s=a.lastModified}super(mB(A,a),{type:i}),this[rA]={name:r,lastModified:s,type:i}}get name(){return P.brandCheck(this,e),this[rA].name}get lastModified(){return P.brandCheck(this,e),this[rA].lastModified}get type(){return P.brandCheck(this,e),this[rA].type}},Lo=class e{constructor(A,t,a={}){let r=t,i=a.type,s=a.lastModified??Date.now();this[rA]={blobLike:A,name:r,type:i,lastModified:s}}stream(...A){return P.brandCheck(this,e),this[rA].blobLike.stream(...A)}arrayBuffer(...A){return P.brandCheck(this,e),this[rA].blobLike.arrayBuffer(...A)}slice(...A){return P.brandCheck(this,e),this[rA].blobLike.slice(...A)}text(...A){return P.brandCheck(this,e),this[rA].blobLike.text(...A)}get size(){return P.brandCheck(this,e),this[rA].blobLike.size}get type(){return P.brandCheck(this,e),this[rA].blobLike.type}get name(){return P.brandCheck(this,e),this[rA].name}get lastModified(){return P.brandCheck(this,e),this[rA].lastModified}get[Symbol.toStringTag](){return"File"}};Object.defineProperties(ja.prototype,{[Symbol.toStringTag]:{value:"File",configurable:!0},name:J4,lastModified:J4});P.converters.Blob=P.interfaceConverter(G4);P.converters.BlobPart=function(e,A){if(P.util.Type(e)==="Object"){if(x4(e))return P.converters.Blob(e,{strict:!1});if(ArrayBuffer.isView(e)||ko.isAnyArrayBuffer(e))return P.converters.BufferSource(e,A)}return P.converters.USVString(e,A)};P.converters["sequence<BlobPart>"]=P.sequenceConverter(P.converters.BlobPart);P.converters.FilePropertyBag=P.dictionaryConverter([{key:"lastModified",converter:P.converters["long long"],get defaultValue(){return Date.now()}},{key:"type",converter:P.converters.DOMString,defaultValue:""},{key:"endings",converter:e=>(e=P.converters.DOMString(e),e=e.toLowerCase(),e!=="native"&&(e="transparent"),e),defaultValue:"transparent"}]);function mB(e,A){let t=[];for(let a of e)if(typeof a=="string"){let r=a;A.endings==="native"&&(r=CB(r)),t.push(new TextEncoder().encode(r))}else ko.isAnyArrayBuffer(a)||ko.isTypedArray(a)?a.buffer?t.push(new Uint8Array(a.buffer,a.byteOffset,a.byteLength)):t.push(new Uint8Array(a)):x4(a)&&t.push(a);return t}function CB(e){let A=` +`;return process.platform==="win32"&&(A=`\r +`),e.replace(/\r?\n/g,A)}function BB(e){return Y4&&e instanceof Y4||e instanceof ja||e&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&e[Symbol.toStringTag]==="File"}_4.exports={File:ja,FileLike:Lo,isFileLike:BB}});var bi=E((zN,W4)=>{"use strict";var{isBlobLike:Ni,toUSVString:hB,makeIterator:Uo}=IA(),{kState:Ye}=lt(),{File:P4,FileLike:q4,isFileLike:IB}=vi(),{webidl:Z}=xe(),{Blob:fB,File:To}=require("buffer"),H4=To??P4,_1=class e{constructor(A){if(A!==void 0)throw Z.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]});this[Ye]=[]}append(A,t,a=void 0){if(Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,2,{header:"FormData.append"}),arguments.length===3&&!Ni(t))throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'");A=Z.converters.USVString(A),t=Ni(t)?Z.converters.Blob(t,{strict:!1}):Z.converters.USVString(t),a=arguments.length===3?Z.converters.USVString(a):void 0;let r=O4(A,t,a);this[Ye].push(r)}delete(A){Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,{header:"FormData.delete"}),A=Z.converters.USVString(A),this[Ye]=this[Ye].filter(t=>t.name!==A)}get(A){Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,{header:"FormData.get"}),A=Z.converters.USVString(A);let t=this[Ye].findIndex(a=>a.name===A);return t===-1?null:this[Ye][t].value}getAll(A){return Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,{header:"FormData.getAll"}),A=Z.converters.USVString(A),this[Ye].filter(t=>t.name===A).map(t=>t.value)}has(A){return Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,{header:"FormData.has"}),A=Z.converters.USVString(A),this[Ye].findIndex(t=>t.name===A)!==-1}set(A,t,a=void 0){if(Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,2,{header:"FormData.set"}),arguments.length===3&&!Ni(t))throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'");A=Z.converters.USVString(A),t=Ni(t)?Z.converters.Blob(t,{strict:!1}):Z.converters.USVString(t),a=arguments.length===3?hB(a):void 0;let r=O4(A,t,a),i=this[Ye].findIndex(s=>s.name===A);i!==-1?this[Ye]=[...this[Ye].slice(0,i),r,...this[Ye].slice(i+1).filter(s=>s.name!==A)]:this[Ye].push(r)}entries(){return Z.brandCheck(this,e),Uo(()=>this[Ye].map(A=>[A.name,A.value]),"FormData","key+value")}keys(){return Z.brandCheck(this,e),Uo(()=>this[Ye].map(A=>[A.name,A.value]),"FormData","key")}values(){return Z.brandCheck(this,e),Uo(()=>this[Ye].map(A=>[A.name,A.value]),"FormData","value")}forEach(A,t=globalThis){if(Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,{header:"FormData.forEach"}),typeof A!="function")throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.");for(let[a,r]of this)A.apply(t,[r,a,this])}};_1.prototype[Symbol.iterator]=_1.prototype.entries;Object.defineProperties(_1.prototype,{[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function O4(e,A,t){if(e=Buffer.from(e).toString("utf8"),typeof A=="string")A=Buffer.from(A).toString("utf8");else if(IB(A)||(A=A instanceof fB?new H4([A],"blob",{type:A.type}):new q4(A,"blob",{type:A.type})),t!==void 0){let a={type:A.type,lastModified:A.lastModified};A=To&&A instanceof To||A instanceof P4?new H4([A],t,a):new q4(A,t,a)}return{name:e,value:A}}W4.exports={FormData:_1}});var Xa=E((KN,tg)=>{"use strict";var wB=h4(),q1=q(),{ReadableStreamFrom:yB,isBlobLike:Z4,isReadableStreamLike:DB,readableStreamClose:RB,createDeferredPromise:vB,fullyReadBody:NB}=IA(),{FormData:j4}=bi(),{kState:ct}=lt(),{webidl:Mo}=xe(),{DOMException:K4,structuredClone:bB}=kt(),{Blob:SB,File:FB}=require("buffer"),{kBodyUsed:kB}=ie(),Vo=require("assert"),{isErrored:LB}=q(),{isUint8Array:$4,isArrayBuffer:UB}=require("util/types"),{File:TB}=vi(),{parseMIMEType:MB,serializeAMimeType:VB}=UA(),gt=globalThis.ReadableStream,X4=FB??TB;function eg(e,A=!1){gt||(gt=require("stream/web").ReadableStream);let t=null;e instanceof gt?t=e:Z4(e)?t=e.stream():t=new gt({async pull(o){o.enqueue(typeof r=="string"?new TextEncoder().encode(r):r),queueMicrotask(()=>RB(o))},start(){},type:void 0}),Vo(DB(t));let a=null,r=null,i=null,s=null;if(typeof e=="string")r=e,s="text/plain;charset=UTF-8";else if(e instanceof URLSearchParams)r=e.toString(),s="application/x-www-form-urlencoded;charset=UTF-8";else if(UB(e))r=new Uint8Array(e.slice());else if(ArrayBuffer.isView(e))r=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength));else if(q1.isFormDataLike(e)){let o=`----formdata-undici-0${`${Math.floor(Math.random()*1e11)}`.padStart(11,"0")}`,d=`--${o}\r +Content-Disposition: form-data`;let l=C=>C.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),p=C=>C.replace(/\r?\n|\r/g,`\r +`),g=new TextEncoder,c=[],u=new Uint8Array([13,10]);i=0;let m=!1;for(let[C,B]of e)if(typeof B=="string"){let w=g.encode(d+`; name="${l(p(C))}"\r +\r +${p(B)}\r +`);c.push(w),i+=w.byteLength}else{let w=g.encode(`${d}; name="${l(p(C))}"`+(B.name?`; filename="${l(B.name)}"`:"")+`\r +Content-Type: ${B.type||"application/octet-stream"}\r +\r +`);c.push(w,B,u),typeof B.size=="number"?i+=w.byteLength+B.size+u.byteLength:m=!0}let Q=g.encode(`--${o}--`);c.push(Q),i+=Q.byteLength,m&&(i=null),r=e,a=async function*(){for(let C of c)C.stream?yield*C.stream():yield C},s="multipart/form-data; boundary="+o}else if(Z4(e))r=e,i=e.size,e.type&&(s=e.type);else if(typeof e[Symbol.asyncIterator]=="function"){if(A)throw new TypeError("keepalive");if(q1.isDisturbed(e)||e.locked)throw new TypeError("Response body object should not be disturbed or locked");t=e instanceof gt?e:yB(e)}if((typeof r=="string"||q1.isBuffer(r))&&(i=Buffer.byteLength(r)),a!=null){let o;t=new gt({async start(){o=a(e)[Symbol.asyncIterator]()},async pull(d){let{value:l,done:p}=await o.next();return p?queueMicrotask(()=>{d.close()}):LB(t)||d.enqueue(new Uint8Array(l)),d.desiredSize>0},async cancel(d){await o.return()},type:void 0})}return[{stream:t,source:r,length:i},s]}function YB(e,A=!1){return gt||(gt=require("stream/web").ReadableStream),e instanceof gt&&(Vo(!q1.isDisturbed(e),"The body has already been consumed."),Vo(!e.locked,"The stream is locked.")),eg(e,A)}function JB(e){let[A,t]=e.stream.tee(),a=bB(t,{transfer:[t]}),[,r]=a.tee();return e.stream=A,{stream:r,length:e.length,source:e.source}}async function*z4(e){if(e)if($4(e))yield e;else{let A=e.stream;if(q1.isDisturbed(A))throw new TypeError("The body has already been consumed.");if(A.locked)throw new TypeError("The stream is locked.");A[kB]=!0,yield*A}}function Yo(e){if(e.aborted)throw new K4("The operation was aborted.","AbortError")}function GB(e){return{blob(){return Si(this,t=>{let a=HB(this);return a==="failure"?a="":a&&(a=VB(a)),new SB([t],{type:a})},e)},arrayBuffer(){return Si(this,t=>new Uint8Array(t).buffer,e)},text(){return Si(this,Ag,e)},json(){return Si(this,qB,e)},async formData(){Mo.brandCheck(this,e),Yo(this[ct]);let t=this.headers.get("Content-Type");if(/multipart\/form-data/.test(t)){let a={};for(let[n,o]of this.headers)a[n.toLowerCase()]=o;let r=new j4,i;try{i=wB({headers:a,defParamCharset:"utf8"})}catch(n){throw new K4(`${n}`,"AbortError")}i.on("field",(n,o)=>{r.append(n,o)}),i.on("file",(n,o,d)=>{let{filename:l,encoding:p,mimeType:g}=d,c=[];if(p==="base64"||p.toLowerCase()==="base64"){let u="";o.on("data",m=>{u+=m.toString().replace(/[\r\n]/gm,"");let Q=u.length-u.length%4;c.push(Buffer.from(u.slice(0,Q),"base64")),u=u.slice(Q)}),o.on("end",()=>{c.push(Buffer.from(u,"base64")),r.append(n,new X4(c,l,{type:g}))})}else o.on("data",u=>{c.push(u)}),o.on("end",()=>{r.append(n,new X4(c,l,{type:g}))})});let s=new Promise((n,o)=>{i.on("finish",n),i.on("error",d=>o(new TypeError(d)))});if(this.body!==null)for await(let n of z4(this[ct].body))i.write(n);return i.end(),await s,r}else if(/application\/x-www-form-urlencoded/.test(t)){let a;try{let i="",s=new TextDecoder("utf-8",{ignoreBOM:!0});for await(let n of z4(this[ct].body)){if(!$4(n))throw new TypeError("Expected Uint8Array chunk");i+=s.decode(n,{stream:!0})}i+=s.decode(),a=new URLSearchParams(i)}catch(i){throw Object.assign(new TypeError,{cause:i})}let r=new j4;for(let[i,s]of a)r.append(i,s);return r}else throw await Promise.resolve(),Yo(this[ct]),Mo.errors.exception({header:`${e.name}.formData`,message:"Could not parse content as FormData."})}}}function xB(e){Object.assign(e.prototype,GB(e))}async function Si(e,A,t){if(Mo.brandCheck(e,t),Yo(e[ct]),_B(e[ct].body))throw new TypeError("Body is unusable");let a=vB(),r=s=>a.reject(s),i=s=>{try{a.resolve(A(s))}catch(n){r(n)}};return e[ct].body==null?(i(new Uint8Array),a.promise):(NB(e[ct].body,i,r),a.promise)}function _B(e){return e!=null&&(e.stream.locked||q1.isDisturbed(e.stream))}function Ag(e){return e.length===0?"":(e[0]===239&&e[1]===187&&e[2]===191&&(e=e.subarray(3)),new TextDecoder().decode(e))}function qB(e){return JSON.parse(Ag(e))}function HB(e){let{headersList:A}=e[ct],t=A.get("content-type");return t===null?"failure":MB(t)}tg.exports={extractBody:eg,safelyExtractBody:YB,cloneBody:JB,mixinBody:xB}});var sg=E(($N,ig)=>{"use strict";var{InvalidArgumentError:se,NotSupportedError:OB}=$(),ut=require("assert"),iA=q(),ag=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/,rg=/[^\t\x20-\x7e\x80-\xff]/,PB=/[^\u0021-\u00ff]/,Et=Symbol("handler"),me={},Jo;try{let e=require("diagnostics_channel");me.create=e.channel("undici:request:create"),me.bodySent=e.channel("undici:request:bodySent"),me.headers=e.channel("undici:request:headers"),me.trailers=e.channel("undici:request:trailers"),me.error=e.channel("undici:request:error")}catch{me.create={hasSubscribers:!1},me.bodySent={hasSubscribers:!1},me.headers={hasSubscribers:!1},me.trailers={hasSubscribers:!1},me.error={hasSubscribers:!1}}var _o=class{constructor(A,{path:t,method:a,body:r,headers:i,query:s,idempotent:n,blocking:o,upgrade:d,headersTimeout:l,bodyTimeout:p,reset:g,throwOnError:c},u){if(typeof t!="string")throw new se("path must be a string");if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&a!=="CONNECT")throw new se("path must be an absolute URL or start with a slash");if(PB.exec(t)!==null)throw new se("invalid request path");if(typeof a!="string")throw new se("method must be a string");if(ag.exec(a)===null)throw new se("invalid request method");if(d&&typeof d!="string")throw new se("upgrade must be a string");if(l!=null&&(!Number.isFinite(l)||l<0))throw new se("invalid headersTimeout");if(p!=null&&(!Number.isFinite(p)||p<0))throw new se("invalid bodyTimeout");if(g!=null&&typeof g!="boolean")throw new se("invalid reset");if(this.headersTimeout=l,this.bodyTimeout=p,this.throwOnError=c===!0,this.method=a,r==null)this.body=null;else if(iA.isStream(r))this.body=r;else if(iA.isBuffer(r))this.body=r.byteLength?r:null;else if(ArrayBuffer.isView(r))this.body=r.buffer.byteLength?Buffer.from(r.buffer,r.byteOffset,r.byteLength):null;else if(r instanceof ArrayBuffer)this.body=r.byteLength?Buffer.from(r):null;else if(typeof r=="string")this.body=r.length?Buffer.from(r):null;else if(iA.isFormDataLike(r)||iA.isIterable(r)||iA.isBlobLike(r))this.body=r;else throw new se("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=d||null,this.path=s?iA.buildURL(t,s):t,this.origin=A,this.idempotent=n??(a==="HEAD"||a==="GET"),this.blocking=o??!1,this.reset=g??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers="",Array.isArray(i)){if(i.length%2!==0)throw new se("headers array must be even");for(let m=0;m<i.length;m+=2)xo(this,i[m],i[m+1])}else if(i&&typeof i=="object"){let m=Object.keys(i);for(let Q=0;Q<m.length;Q++){let C=m[Q];xo(this,C,i[C])}}else if(i!=null)throw new se("headers must be an object or an array");if(iA.isFormDataLike(this.body)){if(iA.nodeMajor<16||iA.nodeMajor===16&&iA.nodeMinor<8)throw new se("Form-Data bodies are only supported in node v16.8 and newer.");Jo||(Jo=Xa().extractBody);let[m,Q]=Jo(r);this.contentType==null&&(this.contentType=Q,this.headers+=`content-type: ${Q}\r +`),this.body=m.stream,this.contentLength=m.length}else iA.isBlobLike(r)&&this.contentType==null&&r.type&&(this.contentType=r.type,this.headers+=`content-type: ${r.type}\r +`);iA.validateHandler(u,a,d),this.servername=iA.getServerName(this.host),this[Et]=u,me.create.hasSubscribers&&me.create.publish({request:this})}onBodySent(A){if(this[Et].onBodySent)try{this[Et].onBodySent(A)}catch(t){this.onError(t)}}onRequestSent(){me.bodySent.hasSubscribers&&me.bodySent.publish({request:this})}onConnect(A){return ut(!this.aborted),ut(!this.completed),this[Et].onConnect(A)}onHeaders(A,t,a,r){return ut(!this.aborted),ut(!this.completed),me.headers.hasSubscribers&&me.headers.publish({request:this,response:{statusCode:A,headers:t,statusText:r}}),this[Et].onHeaders(A,t,a,r)}onData(A){return ut(!this.aborted),ut(!this.completed),this[Et].onData(A)}onUpgrade(A,t,a){return ut(!this.aborted),ut(!this.completed),this[Et].onUpgrade(A,t,a)}onComplete(A){return ut(!this.aborted),this.completed=!0,me.trailers.hasSubscribers&&me.trailers.publish({request:this,trailers:A}),this[Et].onComplete(A)}onError(A){if(me.error.hasSubscribers&&me.error.publish({request:this,error:A}),!this.aborted)return this.aborted=!0,this[Et].onError(A)}addHeader(A,t){return xo(this,A,t),this}};function Go(e,A){if(A&&typeof A=="object")throw new se(`invalid ${e} header`);if(A=A!=null?`${A}`:"",rg.exec(A)!==null)throw new se(`invalid ${e} header`);return`${e}: ${A}\r +`}function xo(e,A,t){if(t&&typeof t=="object"&&!Array.isArray(t))throw new se(`invalid ${A} header`);if(t===void 0)return;if(e.host===null&&A.length===4&&A.toLowerCase()==="host"){if(rg.exec(t)!==null)throw new se(`invalid ${A} header`);e.host=t}else if(e.contentLength===null&&A.length===14&&A.toLowerCase()==="content-length"){if(e.contentLength=parseInt(t,10),!Number.isFinite(e.contentLength))throw new se("invalid content-length header")}else if(e.contentType===null&&A.length===12&&A.toLowerCase()==="content-type")e.contentType=t,e.headers+=Go(A,t);else{if(A.length===17&&A.toLowerCase()==="transfer-encoding")throw new se("invalid transfer-encoding header");if(A.length===10&&A.toLowerCase()==="connection"){let a=typeof t=="string"?t.toLowerCase():null;if(a!=="close"&&a!=="keep-alive")throw new se("invalid connection header");a==="close"&&(e.reset=!0)}else{if(A.length===10&&A.toLowerCase()==="keep-alive")throw new se("invalid keep-alive header");if(A.length===7&&A.toLowerCase()==="upgrade")throw new se("invalid upgrade header");if(A.length===6&&A.toLowerCase()==="expect")throw new OB("expect header not supported");if(ag.exec(A)===null)throw new se("invalid header key");if(Array.isArray(t))for(let a=0;a<t.length;a++)e.headers+=Go(A,t[a]);else e.headers+=Go(A,t)}}}ig.exports=_o});var Fi=E((eb,ng)=>{"use strict";var WB=require("events"),qo=class extends WB{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}};ng.exports=qo});var Ka=E((Ab,og)=>{"use strict";var ZB=Fi(),{ClientDestroyedError:Ho,ClientClosedError:jB,InvalidArgumentError:H1}=$(),{kDestroy:XB,kClose:zB,kDispatch:Oo,kInterceptors:$t}=ie(),O1=Symbol("destroyed"),za=Symbol("closed"),Qt=Symbol("onDestroyed"),P1=Symbol("onClosed"),ki=Symbol("Intercepted Dispatch"),Po=class extends ZB{constructor(){super(),this[O1]=!1,this[Qt]=null,this[za]=!1,this[P1]=[]}get destroyed(){return this[O1]}get closed(){return this[za]}get interceptors(){return this[$t]}set interceptors(A){if(A){for(let t=A.length-1;t>=0;t--)if(typeof this[$t][t]!="function")throw new H1("interceptor must be an function")}this[$t]=A}close(A){if(A===void 0)return new Promise((a,r)=>{this.close((i,s)=>i?r(i):a(s))});if(typeof A!="function")throw new H1("invalid callback");if(this[O1]){queueMicrotask(()=>A(new Ho,null));return}if(this[za]){this[P1]?this[P1].push(A):queueMicrotask(()=>A(null,null));return}this[za]=!0,this[P1].push(A);let t=()=>{let a=this[P1];this[P1]=null;for(let r=0;r<a.length;r++)a[r](null,null)};this[zB]().then(()=>this.destroy()).then(()=>{queueMicrotask(t)})}destroy(A,t){if(typeof A=="function"&&(t=A,A=null),t===void 0)return new Promise((r,i)=>{this.destroy(A,(s,n)=>s?i(s):r(n))});if(typeof t!="function")throw new H1("invalid callback");if(this[O1]){this[Qt]?this[Qt].push(t):queueMicrotask(()=>t(null,null));return}A||(A=new Ho),this[O1]=!0,this[Qt]=this[Qt]||[],this[Qt].push(t);let a=()=>{let r=this[Qt];this[Qt]=null;for(let i=0;i<r.length;i++)r[i](null,null)};this[XB](A).then(()=>{queueMicrotask(a)})}[ki](A,t){if(!this[$t]||this[$t].length===0)return this[ki]=this[Oo],this[Oo](A,t);let a=this[Oo].bind(this);for(let r=this[$t].length-1;r>=0;r--)a=this[$t][r](a);return this[ki]=a,a(A,t)}dispatch(A,t){if(!t||typeof t!="object")throw new H1("handler must be an object");try{if(!A||typeof A!="object")throw new H1("opts must be an object.");if(this[O1]||this[Qt])throw new Ho;if(this[za])throw new jB;return this[ki](A,t)}catch(a){if(typeof t.onError!="function")throw new H1("invalid onError method");return t.onError(a),!1}}};og.exports=Po});var $a=E((rb,lg)=>{"use strict";var KB=require("net"),dg=require("assert"),pg=q(),{InvalidArgumentError:$B,ConnectTimeoutError:eh}=$(),Wo,Zo;global.FinalizationRegistry?Zo=class{constructor(A){this._maxCachedSessions=A,this._sessionCache=new Map,this._sessionRegistry=new global.FinalizationRegistry(t=>{if(this._sessionCache.size<this._maxCachedSessions)return;let a=this._sessionCache.get(t);a!==void 0&&a.deref()===void 0&&this._sessionCache.delete(t)})}get(A){let t=this._sessionCache.get(A);return t?t.deref():null}set(A,t){this._maxCachedSessions!==0&&(this._sessionCache.set(A,new WeakRef(t)),this._sessionRegistry.register(t,A))}}:Zo=class{constructor(A){this._maxCachedSessions=A,this._sessionCache=new Map}get(A){return this._sessionCache.get(A)}set(A,t){if(this._maxCachedSessions!==0){if(this._sessionCache.size>=this._maxCachedSessions){let{value:a}=this._sessionCache.keys().next();this._sessionCache.delete(a)}this._sessionCache.set(A,t)}}};function Ah({maxCachedSessions:e,socketPath:A,timeout:t,...a}){if(e!=null&&(!Number.isInteger(e)||e<0))throw new $B("maxCachedSessions must be a positive integer or zero");let r={path:A,...a},i=new Zo(e??100);return t=t??1e4,function({hostname:n,host:o,protocol:d,port:l,servername:p,localAddress:g,httpSocket:c},u){let m;if(d==="https:"){Wo||(Wo=require("tls")),p=p||r.servername||pg.getServerName(o)||null;let C=p||n,B=i.get(C)||null;dg(C),m=Wo.connect({highWaterMark:16384,...r,servername:p,session:B,localAddress:g,socket:c,port:l||443,host:n}),m.on("session",function(w){i.set(C,w)})}else dg(!c,"httpSocket can only be sent on TLS update"),m=KB.connect({highWaterMark:64*1024,...r,localAddress:g,port:l||80,host:n});if(r.keepAlive==null||r.keepAlive){let C=r.keepAliveInitialDelay===void 0?6e4:r.keepAliveInitialDelay;m.setKeepAlive(!0,C)}let Q=th(()=>ah(m),t);return m.setNoDelay(!0).once(d==="https:"?"secureConnect":"connect",function(){if(Q(),u){let C=u;u=null,C(null,this)}}).on("error",function(C){if(Q(),u){let B=u;u=null,B(C)}}),m}}function th(e,A){if(!A)return()=>{};let t=null,a=null,r=setTimeout(()=>{t=setImmediate(()=>{process.platform==="win32"?a=setImmediate(()=>e()):e()})},A);return()=>{clearTimeout(r),clearImmediate(t),clearImmediate(a)}}function ah(e){pg.destroy(e,new eh)}lg.exports=Ah});var gg=E(Li=>{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});Li.enumToMap=void 0;function rh(e){let A={};return Object.keys(e).forEach(t=>{let a=e[t];typeof a=="number"&&(A[t]=a)}),A}Li.enumToMap=rh});var cg=E(h=>{"use strict";Object.defineProperty(h,"__esModule",{value:!0});h.SPECIAL_HEADERS=h.HEADER_STATE=h.MINOR=h.MAJOR=h.CONNECTION_TOKEN_CHARS=h.HEADER_CHARS=h.TOKEN=h.STRICT_TOKEN=h.HEX=h.URL_CHAR=h.STRICT_URL_CHAR=h.USERINFO_CHARS=h.MARK=h.ALPHANUM=h.NUM=h.HEX_MAP=h.NUM_MAP=h.ALPHA=h.FINISH=h.H_METHOD_MAP=h.METHOD_MAP=h.METHODS_RTSP=h.METHODS_ICE=h.METHODS_HTTP=h.METHODS=h.LENIENT_FLAGS=h.FLAGS=h.TYPE=h.ERROR=void 0;var ih=gg(),sh;(function(e){e[e.OK=0]="OK",e[e.INTERNAL=1]="INTERNAL",e[e.STRICT=2]="STRICT",e[e.LF_EXPECTED=3]="LF_EXPECTED",e[e.UNEXPECTED_CONTENT_LENGTH=4]="UNEXPECTED_CONTENT_LENGTH",e[e.CLOSED_CONNECTION=5]="CLOSED_CONNECTION",e[e.INVALID_METHOD=6]="INVALID_METHOD",e[e.INVALID_URL=7]="INVALID_URL",e[e.INVALID_CONSTANT=8]="INVALID_CONSTANT",e[e.INVALID_VERSION=9]="INVALID_VERSION",e[e.INVALID_HEADER_TOKEN=10]="INVALID_HEADER_TOKEN",e[e.INVALID_CONTENT_LENGTH=11]="INVALID_CONTENT_LENGTH",e[e.INVALID_CHUNK_SIZE=12]="INVALID_CHUNK_SIZE",e[e.INVALID_STATUS=13]="INVALID_STATUS",e[e.INVALID_EOF_STATE=14]="INVALID_EOF_STATE",e[e.INVALID_TRANSFER_ENCODING=15]="INVALID_TRANSFER_ENCODING",e[e.CB_MESSAGE_BEGIN=16]="CB_MESSAGE_BEGIN",e[e.CB_HEADERS_COMPLETE=17]="CB_HEADERS_COMPLETE",e[e.CB_MESSAGE_COMPLETE=18]="CB_MESSAGE_COMPLETE",e[e.CB_CHUNK_HEADER=19]="CB_CHUNK_HEADER",e[e.CB_CHUNK_COMPLETE=20]="CB_CHUNK_COMPLETE",e[e.PAUSED=21]="PAUSED",e[e.PAUSED_UPGRADE=22]="PAUSED_UPGRADE",e[e.PAUSED_H2_UPGRADE=23]="PAUSED_H2_UPGRADE",e[e.USER=24]="USER"})(sh=h.ERROR||(h.ERROR={}));var nh;(function(e){e[e.BOTH=0]="BOTH",e[e.REQUEST=1]="REQUEST",e[e.RESPONSE=2]="RESPONSE"})(nh=h.TYPE||(h.TYPE={}));var oh;(function(e){e[e.CONNECTION_KEEP_ALIVE=1]="CONNECTION_KEEP_ALIVE",e[e.CONNECTION_CLOSE=2]="CONNECTION_CLOSE",e[e.CONNECTION_UPGRADE=4]="CONNECTION_UPGRADE",e[e.CHUNKED=8]="CHUNKED",e[e.UPGRADE=16]="UPGRADE",e[e.CONTENT_LENGTH=32]="CONTENT_LENGTH",e[e.SKIPBODY=64]="SKIPBODY",e[e.TRAILING=128]="TRAILING",e[e.TRANSFER_ENCODING=512]="TRANSFER_ENCODING"})(oh=h.FLAGS||(h.FLAGS={}));var dh;(function(e){e[e.HEADERS=1]="HEADERS",e[e.CHUNKED_LENGTH=2]="CHUNKED_LENGTH",e[e.KEEP_ALIVE=4]="KEEP_ALIVE"})(dh=h.LENIENT_FLAGS||(h.LENIENT_FLAGS={}));var R;(function(e){e[e.DELETE=0]="DELETE",e[e.GET=1]="GET",e[e.HEAD=2]="HEAD",e[e.POST=3]="POST",e[e.PUT=4]="PUT",e[e.CONNECT=5]="CONNECT",e[e.OPTIONS=6]="OPTIONS",e[e.TRACE=7]="TRACE",e[e.COPY=8]="COPY",e[e.LOCK=9]="LOCK",e[e.MKCOL=10]="MKCOL",e[e.MOVE=11]="MOVE",e[e.PROPFIND=12]="PROPFIND",e[e.PROPPATCH=13]="PROPPATCH",e[e.SEARCH=14]="SEARCH",e[e.UNLOCK=15]="UNLOCK",e[e.BIND=16]="BIND",e[e.REBIND=17]="REBIND",e[e.UNBIND=18]="UNBIND",e[e.ACL=19]="ACL",e[e.REPORT=20]="REPORT",e[e.MKACTIVITY=21]="MKACTIVITY",e[e.CHECKOUT=22]="CHECKOUT",e[e.MERGE=23]="MERGE",e[e["M-SEARCH"]=24]="M-SEARCH",e[e.NOTIFY=25]="NOTIFY",e[e.SUBSCRIBE=26]="SUBSCRIBE",e[e.UNSUBSCRIBE=27]="UNSUBSCRIBE",e[e.PATCH=28]="PATCH",e[e.PURGE=29]="PURGE",e[e.MKCALENDAR=30]="MKCALENDAR",e[e.LINK=31]="LINK",e[e.UNLINK=32]="UNLINK",e[e.SOURCE=33]="SOURCE",e[e.PRI=34]="PRI",e[e.DESCRIBE=35]="DESCRIBE",e[e.ANNOUNCE=36]="ANNOUNCE",e[e.SETUP=37]="SETUP",e[e.PLAY=38]="PLAY",e[e.PAUSE=39]="PAUSE",e[e.TEARDOWN=40]="TEARDOWN",e[e.GET_PARAMETER=41]="GET_PARAMETER",e[e.SET_PARAMETER=42]="SET_PARAMETER",e[e.REDIRECT=43]="REDIRECT",e[e.RECORD=44]="RECORD",e[e.FLUSH=45]="FLUSH"})(R=h.METHODS||(h.METHODS={}));h.METHODS_HTTP=[R.DELETE,R.GET,R.HEAD,R.POST,R.PUT,R.CONNECT,R.OPTIONS,R.TRACE,R.COPY,R.LOCK,R.MKCOL,R.MOVE,R.PROPFIND,R.PROPPATCH,R.SEARCH,R.UNLOCK,R.BIND,R.REBIND,R.UNBIND,R.ACL,R.REPORT,R.MKACTIVITY,R.CHECKOUT,R.MERGE,R["M-SEARCH"],R.NOTIFY,R.SUBSCRIBE,R.UNSUBSCRIBE,R.PATCH,R.PURGE,R.MKCALENDAR,R.LINK,R.UNLINK,R.PRI,R.SOURCE];h.METHODS_ICE=[R.SOURCE];h.METHODS_RTSP=[R.OPTIONS,R.DESCRIBE,R.ANNOUNCE,R.SETUP,R.PLAY,R.PAUSE,R.TEARDOWN,R.GET_PARAMETER,R.SET_PARAMETER,R.REDIRECT,R.RECORD,R.FLUSH,R.GET,R.POST];h.METHOD_MAP=ih.enumToMap(R);h.H_METHOD_MAP={};Object.keys(h.METHOD_MAP).forEach(e=>{/^H/.test(e)&&(h.H_METHOD_MAP[e]=h.METHOD_MAP[e])});var ph;(function(e){e[e.SAFE=0]="SAFE",e[e.SAFE_WITH_CB=1]="SAFE_WITH_CB",e[e.UNSAFE=2]="UNSAFE"})(ph=h.FINISH||(h.FINISH={}));h.ALPHA=[];for(let e=65;e<=90;e++)h.ALPHA.push(String.fromCharCode(e)),h.ALPHA.push(String.fromCharCode(e+32));h.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};h.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};h.NUM=["0","1","2","3","4","5","6","7","8","9"];h.ALPHANUM=h.ALPHA.concat(h.NUM);h.MARK=["-","_",".","!","~","*","'","(",")"];h.USERINFO_CHARS=h.ALPHANUM.concat(h.MARK).concat(["%",";",":","&","=","+","$",","]);h.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(h.ALPHANUM);h.URL_CHAR=h.STRICT_URL_CHAR.concat([" ","\f"]);for(let e=128;e<=255;e++)h.URL_CHAR.push(e);h.HEX=h.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);h.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(h.ALPHANUM);h.TOKEN=h.STRICT_TOKEN.concat([" "]);h.HEADER_CHARS=[" "];for(let e=32;e<=255;e++)e!==127&&h.HEADER_CHARS.push(e);h.CONNECTION_TOKEN_CHARS=h.HEADER_CHARS.filter(e=>e!==44);h.MAJOR=h.NUM_MAP;h.MINOR=h.MAJOR;var W1;(function(e){e[e.GENERAL=0]="GENERAL",e[e.CONNECTION=1]="CONNECTION",e[e.CONTENT_LENGTH=2]="CONTENT_LENGTH",e[e.TRANSFER_ENCODING=3]="TRANSFER_ENCODING",e[e.UPGRADE=4]="UPGRADE",e[e.CONNECTION_KEEP_ALIVE=5]="CONNECTION_KEEP_ALIVE",e[e.CONNECTION_CLOSE=6]="CONNECTION_CLOSE",e[e.CONNECTION_UPGRADE=7]="CONNECTION_UPGRADE",e[e.TRANSFER_ENCODING_CHUNKED=8]="TRANSFER_ENCODING_CHUNKED"})(W1=h.HEADER_STATE||(h.HEADER_STATE={}));h.SPECIAL_HEADERS={connection:W1.CONNECTION,"content-length":W1.CONTENT_LENGTH,"proxy-connection":W1.CONNECTION,"transfer-encoding":W1.TRANSFER_ENCODING,upgrade:W1.UPGRADE}});var zo=E((nb,Qg)=>{"use strict";var Z1=q(),{kBodyUsed:er}=ie(),Xo=require("assert"),{InvalidArgumentError:lh}=$(),gh=require("events"),ch=[300,301,302,303,307,308],ug=Symbol("body"),Ui=class{constructor(A){this[ug]=A,this[er]=!1}async*[Symbol.asyncIterator](){Xo(!this[er],"disturbed"),this[er]=!0,yield*this[ug]}},jo=class{constructor(A,t,a,r){if(t!=null&&(!Number.isInteger(t)||t<0))throw new lh("maxRedirections must be a positive number");Z1.validateHandler(r,a.method,a.upgrade),this.dispatch=A,this.location=null,this.abort=null,this.opts={...a,maxRedirections:0},this.maxRedirections=t,this.handler=r,this.history=[],Z1.isStream(this.opts.body)?(Z1.bodyLength(this.opts.body)===0&&this.opts.body.on("data",function(){Xo(!1)}),typeof this.opts.body.readableDidRead!="boolean"&&(this.opts.body[er]=!1,gh.prototype.on.call(this.opts.body,"data",function(){this[er]=!0}))):this.opts.body&&typeof this.opts.body.pipeTo=="function"?this.opts.body=new Ui(this.opts.body):this.opts.body&&typeof this.opts.body!="string"&&!ArrayBuffer.isView(this.opts.body)&&Z1.isIterable(this.opts.body)&&(this.opts.body=new Ui(this.opts.body))}onConnect(A){this.abort=A,this.handler.onConnect(A,{history:this.history})}onUpgrade(A,t,a){this.handler.onUpgrade(A,t,a)}onError(A){this.handler.onError(A)}onHeaders(A,t,a,r){if(this.location=this.history.length>=this.maxRedirections||Z1.isDisturbed(this.opts.body)?null:uh(A,t),this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location)return this.handler.onHeaders(A,t,a,r);let{origin:i,pathname:s,search:n}=Z1.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),o=n?`${s}${n}`:s;this.opts.headers=Eh(this.opts.headers,A===303,this.opts.origin!==i),this.opts.path=o,this.opts.origin=i,this.opts.maxRedirections=0,this.opts.query=null,A===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",this.opts.body=null)}onData(A){if(!this.location)return this.handler.onData(A)}onComplete(A){this.location?(this.location=null,this.abort=null,this.dispatch(this.opts,this)):this.handler.onComplete(A)}onBodySent(A){this.handler.onBodySent&&this.handler.onBodySent(A)}};function uh(e,A){if(ch.indexOf(e)===-1)return null;for(let t=0;t<A.length;t+=2)if(A[t].toString().toLowerCase()==="location")return A[t+1]}function Eg(e,A,t){return e.length===4&&e.toString().toLowerCase()==="host"||A&&e.toString().toLowerCase().indexOf("content-")===0||t&&e.length===13&&e.toString().toLowerCase()==="authorization"||t&&e.length===6&&e.toString().toLowerCase()==="cookie"}function Eh(e,A,t){let a=[];if(Array.isArray(e))for(let r=0;r<e.length;r+=2)Eg(e[r],A,t)||a.push(e[r],e[r+1]);else if(e&&typeof e=="object")for(let r of Object.keys(e))Eg(r,A,t)||a.push(r,e[r]);else Xo(e==null,"headers must be an object or an array");return a}Qg.exports=jo});var Ti=E((ob,mg)=>{"use strict";var Qh=zo();function mh({maxRedirections:e}){return A=>function(a,r){let{maxRedirections:i=e}=a;if(!i)return A(a,r);let s=new Qh(A,i,a,r);return a={...a,maxRedirections:0},A(a,s)}}mg.exports=mh});var Ko=E((db,Cg)=>{Cg.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwHLAcoBuAHJAbkByAG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAQDcAQtBACEQDMYBC0EOIRAMxQELQQ0hEAzEAQtBDyEQDMMBC0EQIRAMwgELQRMhEAzBAQtBFCEQDMABC0EVIRAMvwELQRYhEAy+AQtBFyEQDL0BC0EYIRAMvAELQRkhEAy7AQtBGiEQDLoBC0EbIRAMuQELQRwhEAy4AQtBCCEQDLcBC0EdIRAMtgELQSAhEAy1AQtBHyEQDLQBC0EHIRAMswELQSEhEAyyAQtBIiEQDLEBC0EeIRAMsAELQSMhEAyvAQtBEiEQDK4BC0ERIRAMrQELQSQhEAysAQtBJSEQDKsBC0EmIRAMqgELQSchEAypAQtBwwEhEAyoAQtBKSEQDKcBC0ErIRAMpgELQSwhEAylAQtBLSEQDKQBC0EuIRAMowELQS8hEAyiAQtBxAEhEAyhAQtBMCEQDKABC0E0IRAMnwELQQwhEAyeAQtBMSEQDJ0BC0EyIRAMnAELQTMhEAybAQtBOSEQDJoBC0E1IRAMmQELQcUBIRAMmAELQQshEAyXAQtBOiEQDJYBC0E2IRAMlQELQQohEAyUAQtBNyEQDJMBC0E4IRAMkgELQTwhEAyRAQtBOyEQDJABC0E9IRAMjwELQQkhEAyOAQtBKCEQDI0BC0E+IRAMjAELQT8hEAyLAQtBwAAhEAyKAQtBwQAhEAyJAQtBwgAhEAyIAQtBwwAhEAyHAQtBxAAhEAyGAQtBxQAhEAyFAQtBxgAhEAyEAQtBKiEQDIMBC0HHACEQDIIBC0HIACEQDIEBC0HJACEQDIABC0HKACEQDH8LQcsAIRAMfgtBzQAhEAx9C0HMACEQDHwLQc4AIRAMewtBzwAhEAx6C0HQACEQDHkLQdEAIRAMeAtB0gAhEAx3C0HTACEQDHYLQdQAIRAMdQtB1gAhEAx0C0HVACEQDHMLQQYhEAxyC0HXACEQDHELQQUhEAxwC0HYACEQDG8LQQQhEAxuC0HZACEQDG0LQdoAIRAMbAtB2wAhEAxrC0HcACEQDGoLQQMhEAxpC0HdACEQDGgLQd4AIRAMZwtB3wAhEAxmC0HhACEQDGULQeAAIRAMZAtB4gAhEAxjC0HjACEQDGILQQIhEAxhC0HkACEQDGALQeUAIRAMXwtB5gAhEAxeC0HnACEQDF0LQegAIRAMXAtB6QAhEAxbC0HqACEQDFoLQesAIRAMWQtB7AAhEAxYC0HtACEQDFcLQe4AIRAMVgtB7wAhEAxVC0HwACEQDFQLQfEAIRAMUwtB8gAhEAxSC0HzACEQDFELQfQAIRAMUAtB9QAhEAxPC0H2ACEQDE4LQfcAIRAMTQtB+AAhEAxMC0H5ACEQDEsLQfoAIRAMSgtB+wAhEAxJC0H8ACEQDEgLQf0AIRAMRwtB/gAhEAxGC0H/ACEQDEULQYABIRAMRAtBgQEhEAxDC0GCASEQDEILQYMBIRAMQQtBhAEhEAxAC0GFASEQDD8LQYYBIRAMPgtBhwEhEAw9C0GIASEQDDwLQYkBIRAMOwtBigEhEAw6C0GLASEQDDkLQYwBIRAMOAtBjQEhEAw3C0GOASEQDDYLQY8BIRAMNQtBkAEhEAw0C0GRASEQDDMLQZIBIRAMMgtBkwEhEAwxC0GUASEQDDALQZUBIRAMLwtBlgEhEAwuC0GXASEQDC0LQZgBIRAMLAtBmQEhEAwrC0GaASEQDCoLQZsBIRAMKQtBnAEhEAwoC0GdASEQDCcLQZ4BIRAMJgtBnwEhEAwlC0GgASEQDCQLQaEBIRAMIwtBogEhEAwiC0GjASEQDCELQaQBIRAMIAtBpQEhEAwfC0GmASEQDB4LQacBIRAMHQtBqAEhEAwcC0GpASEQDBsLQaoBIRAMGgtBqwEhEAwZC0GsASEQDBgLQa0BIRAMFwtBrgEhEAwWC0EBIRAMFQtBrwEhEAwUC0GwASEQDBMLQbEBIRAMEgtBswEhEAwRC0GyASEQDBALQbQBIRAMDwtBtQEhEAwOC0G2ASEQDA0LQbcBIRAMDAtBuAEhEAwLC0G5ASEQDAoLQboBIRAMCQtBuwEhEAwIC0HGASEQDAcLQbwBIRAMBgtBvQEhEAwFC0G+ASEQDAQLQb8BIRAMAwtBwAEhEAwCC0HCASEQDAELQcEBIRALA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="});var hg=E((pb,Bg)=>{Bg.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="});var sr=E((lb,Yg)=>{"use strict";var D=require("assert"),wg=require("net"),L=q(),$o=zl(),Ch=sg(),Bh=Ka(),{RequestContentLengthMismatchError:e1,ResponseContentLengthMismatchError:hh,InvalidArgumentError:Ie,RequestAbortedError:yg,HeadersTimeoutError:Ih,HeadersOverflowError:fh,SocketError:Gi,InformationalError:A1,BodyTimeoutError:wh,HTTPParserError:yh,ResponseExceededMaxSizeError:Dh,ClientDestroyedError:Rh}=$(),vh=$a(),{kUrl:fA,kReset:qe,kServerName:Lt,kClient:qi,kBusy:Ad,kParser:te,kConnect:Nh,kBlocking:X1,kResuming:t1,kRunning:ue,kPending:z1,kSize:a1,kWriting:mt,kQueue:pe,kConnected:bh,kConnecting:j1,kNeedDrain:Tt,kNoRef:Ar,kKeepAliveDefaultTimeout:td,kHostHeader:Dg,kPendingIdx:wA,kRunningIdx:ce,kError:nA,kPipelining:Mt,kSocket:sA,kKeepAliveTimeoutValue:rr,kMaxHeadersSize:Yi,kKeepAliveMaxTimeout:Rg,kKeepAliveTimeoutThreshold:vg,kHeadersTimeout:Ng,kBodyTimeout:bg,kStrictContentLength:xi,kConnector:tr,kMaxRedirections:Sh,kMaxRequests:ir,kCounter:Sg,kClose:Fh,kDestroy:kh,kDispatch:Lh,kInterceptors:Uh,kLocalAddress:ar,kMaxResponseSize:Fg}=ie(),Mi=Buffer[Symbol.species],Ut=Symbol("kClosedResolve"),Je={};try{let e=require("diagnostics_channel");Je.sendHeaders=e.channel("undici:client:sendHeaders"),Je.beforeConnect=e.channel("undici:client:beforeConnect"),Je.connectError=e.channel("undici:client:connectError"),Je.connected=e.channel("undici:client:connected")}catch{Je.sendHeaders={hasSubscribers:!1},Je.beforeConnect={hasSubscribers:!1},Je.connectError={hasSubscribers:!1},Je.connected={hasSubscribers:!1}}var ad=class extends Bh{constructor(A,{interceptors:t,maxHeaderSize:a,headersTimeout:r,socketTimeout:i,requestTimeout:s,connectTimeout:n,bodyTimeout:o,idleTimeout:d,keepAlive:l,keepAliveTimeout:p,maxKeepAliveTimeout:g,keepAliveMaxTimeout:c,keepAliveTimeoutThreshold:u,socketPath:m,pipelining:Q,tls:C,strictContentLength:B,maxCachedSessions:w,maxRedirections:I,connect:y,maxRequestsPerClient:b,localAddress:k,maxResponseSize:x,autoSelectFamily:ye,autoSelectFamilyAttemptTimeout:Be}={}){if(super(),l!==void 0)throw new Ie("unsupported keepAlive, use pipelining=0 instead");if(i!==void 0)throw new Ie("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(s!==void 0)throw new Ie("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(d!==void 0)throw new Ie("unsupported idleTimeout, use keepAliveTimeout instead");if(g!==void 0)throw new Ie("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(a!=null&&!Number.isFinite(a))throw new Ie("invalid maxHeaderSize");if(m!=null&&typeof m!="string")throw new Ie("invalid socketPath");if(n!=null&&(!Number.isFinite(n)||n<0))throw new Ie("invalid connectTimeout");if(p!=null&&(!Number.isFinite(p)||p<=0))throw new Ie("invalid keepAliveTimeout");if(c!=null&&(!Number.isFinite(c)||c<=0))throw new Ie("invalid keepAliveMaxTimeout");if(u!=null&&!Number.isFinite(u))throw new Ie("invalid keepAliveTimeoutThreshold");if(r!=null&&(!Number.isInteger(r)||r<0))throw new Ie("headersTimeout must be a positive integer or zero");if(o!=null&&(!Number.isInteger(o)||o<0))throw new Ie("bodyTimeout must be a positive integer or zero");if(y!=null&&typeof y!="function"&&typeof y!="object")throw new Ie("connect must be a function or an object");if(I!=null&&(!Number.isInteger(I)||I<0))throw new Ie("maxRedirections must be a positive number");if(b!=null&&(!Number.isInteger(b)||b<0))throw new Ie("maxRequestsPerClient must be a positive number");if(k!=null&&(typeof k!="string"||wg.isIP(k)===0))throw new Ie("localAddress must be valid string IP address");if(x!=null&&(!Number.isInteger(x)||x<-1))throw new Ie("maxResponseSize must be a positive number");if(Be!=null&&(!Number.isInteger(Be)||Be<-1))throw new Ie("autoSelectFamilyAttemptTimeout must be a positive number");typeof y!="function"&&(y=vh({...C,maxCachedSessions:w,socketPath:m,timeout:n,...L.nodeHasAutoSelectFamily&&ye?{autoSelectFamily:ye,autoSelectFamilyAttemptTimeout:Be}:void 0,...y})),this[Uh]=t&&t.Client&&Array.isArray(t.Client)?t.Client:[Th({maxRedirections:I})],this[fA]=L.parseOrigin(A),this[tr]=y,this[sA]=null,this[Mt]=Q??1,this[Yi]=a||16384,this[td]=p??4e3,this[Rg]=c??6e5,this[vg]=u??1e3,this[rr]=this[td],this[Lt]=null,this[ar]=k??null,this[t1]=0,this[Tt]=0,this[Dg]=`host: ${this[fA].hostname}${this[fA].port?`:${this[fA].port}`:""}\r +`,this[bg]=o??3e5,this[Ng]=r??3e5,this[xi]=B??!0,this[Sh]=I,this[ir]=b,this[Ut]=null,this[Fg]=x>-1?x:-1,this[pe]=[],this[ce]=0,this[wA]=0}get pipelining(){return this[Mt]}set pipelining(A){this[Mt]=A,yA(this,!0)}get[z1](){return this[pe].length-this[wA]}get[ue](){return this[wA]-this[ce]}get[a1](){return this[pe].length-this[ce]}get[bh](){return!!this[sA]&&!this[j1]&&!this[sA].destroyed}get[Ad](){let A=this[sA];return A&&(A[qe]||A[mt]||A[X1])||this[a1]>=(this[Mt]||1)||this[z1]>0}[Nh](A){Vg(this),this.once("connect",A)}[Lh](A,t){let a=A.origin||this[fA].origin,r=new Ch(a,A,t);return this[pe].push(r),this[t1]||(L.bodyLength(r.body)==null&&L.isIterable(r.body)?(this[t1]=1,process.nextTick(yA,this)):yA(this,!0)),this[t1]&&this[Tt]!==2&&this[Ad]&&(this[Tt]=2),this[Tt]<2}async[Fh](){return new Promise(A=>{this[a1]?this[Ut]=A:A(null)})}async[kh](A){return new Promise(t=>{let a=this[pe].splice(this[wA]);for(let i=0;i<a.length;i++){let s=a[i];zA(this,s,A)}let r=()=>{this[Ut]&&(this[Ut](),this[Ut]=null),t()};this[sA]?L.destroy(this[sA].on("close",r),A):queueMicrotask(r),yA(this)})}},ZA=cg(),Th=Ti(),Mh=Buffer.alloc(0);async function Vh(){let e=process.env.JEST_WORKER_ID?Ko():void 0,A;try{A=await WebAssembly.compile(Buffer.from(hg(),"base64"))}catch{A=await WebAssembly.compile(Buffer.from(e||Ko(),"base64"))}return await WebAssembly.instantiate(A,{env:{wasm_on_url:(t,a,r)=>0,wasm_on_status:(t,a,r)=>{D.strictEqual(fe.ptr,t);let i=a-XA+jA.byteOffset;return fe.onStatus(new Mi(jA.buffer,i,r))||0},wasm_on_message_begin:t=>(D.strictEqual(fe.ptr,t),fe.onMessageBegin()||0),wasm_on_header_field:(t,a,r)=>{D.strictEqual(fe.ptr,t);let i=a-XA+jA.byteOffset;return fe.onHeaderField(new Mi(jA.buffer,i,r))||0},wasm_on_header_value:(t,a,r)=>{D.strictEqual(fe.ptr,t);let i=a-XA+jA.byteOffset;return fe.onHeaderValue(new Mi(jA.buffer,i,r))||0},wasm_on_headers_complete:(t,a,r,i)=>(D.strictEqual(fe.ptr,t),fe.onHeadersComplete(a,!!r,!!i)||0),wasm_on_body:(t,a,r)=>{D.strictEqual(fe.ptr,t);let i=a-XA+jA.byteOffset;return fe.onBody(new Mi(jA.buffer,i,r))||0},wasm_on_message_complete:t=>(D.strictEqual(fe.ptr,t),fe.onMessageComplete()||0)}})}var ed=null,rd=Vh();rd.catch();var fe=null,jA=null,Vi=0,XA=null,K1=1,Ji=2,id=3,sd=class{constructor(A,t,{exports:a}){D(Number.isFinite(A[Yi])&&A[Yi]>0),this.llhttp=a,this.ptr=this.llhttp.llhttp_alloc(ZA.TYPE.RESPONSE),this.client=A,this.socket=t,this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.statusCode=null,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=A[Yi],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength="",this.connection="",this.maxResponseSize=A[Fg]}setTimeout(A,t){this.timeoutType=t,A!==this.timeoutValue?($o.clearTimeout(this.timeout),A?(this.timeout=$o.setTimeout(Yh,A,this),this.timeout.unref&&this.timeout.unref()):this.timeout=null,this.timeoutValue=A):this.timeout&&this.timeout.refresh&&this.timeout.refresh()}resume(){this.socket.destroyed||!this.paused||(D(this.ptr!=null),D(fe==null),this.llhttp.llhttp_resume(this.ptr),D(this.timeoutType===Ji),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||Mh),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let A=this.socket.read();if(A===null)break;this.execute(A)}}execute(A){D(this.ptr!=null),D(fe==null),D(!this.paused);let{socket:t,llhttp:a}=this;A.length>Vi&&(XA&&a.free(XA),Vi=Math.ceil(A.length/4096)*4096,XA=a.malloc(Vi)),new Uint8Array(a.memory.buffer,XA,Vi).set(A);try{let r;try{jA=A,fe=this,r=a.llhttp_execute(this.ptr,XA,A.length)}catch(s){throw s}finally{fe=null,jA=null}let i=a.llhttp_get_error_pos(this.ptr)-XA;if(r===ZA.ERROR.PAUSED_UPGRADE)this.onUpgrade(A.slice(i));else if(r===ZA.ERROR.PAUSED)this.paused=!0,t.unshift(A.slice(i));else if(r!==ZA.ERROR.OK){let s=a.llhttp_get_error_reason(this.ptr),n="";if(s){let o=new Uint8Array(a.memory.buffer,s).indexOf(0);n="Response does not match the HTTP/1.1 protocol ("+Buffer.from(a.memory.buffer,s,o).toString()+")"}throw new yh(n,ZA.ERROR[r],A.slice(i))}}catch(r){L.destroy(t,r)}}destroy(){D(this.ptr!=null),D(fe==null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,$o.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(A){this.statusText=A.toString()}onMessageBegin(){let{socket:A,client:t}=this;if(A.destroyed||!t[pe][t[ce]])return-1}onHeaderField(A){let t=this.headers.length;(t&1)===0?this.headers.push(A):this.headers[t-1]=Buffer.concat([this.headers[t-1],A]),this.trackHeader(A.length)}onHeaderValue(A){let t=this.headers.length;(t&1)===1?(this.headers.push(A),t+=1):this.headers[t-1]=Buffer.concat([this.headers[t-1],A]);let a=this.headers[t-2];a.length===10&&a.toString().toLowerCase()==="keep-alive"?this.keepAlive+=A.toString():a.length===10&&a.toString().toLowerCase()==="connection"?this.connection+=A.toString():a.length===14&&a.toString().toLowerCase()==="content-length"&&(this.contentLength+=A.toString()),this.trackHeader(A.length)}trackHeader(A){this.headersSize+=A,this.headersSize>=this.headersMaxSize&&L.destroy(this.socket,new fh)}onUpgrade(A){let{upgrade:t,client:a,socket:r,headers:i,statusCode:s}=this;D(t);let n=a[pe][a[ce]];D(n),D(!r.destroyed),D(r===a[sA]),D(!this.paused),D(n.upgrade||n.method==="CONNECT"),this.statusCode=null,this.statusText="",this.shouldKeepAlive=null,D(this.headers.length%2===0),this.headers=[],this.headersSize=0,r.unshift(A),r[te].destroy(),r[te]=null,r[qi]=null,r[nA]=null,r.removeListener("error",Lg).removeListener("readable",kg).removeListener("end",Tg).removeListener("close",Mg),a[sA]=null,a[pe][a[ce]++]=null,a.emit("disconnect",a[fA],[a],new A1("upgrade"));try{n.onUpgrade(s,i,r)}catch(o){L.destroy(r,o)}yA(a)}onHeadersComplete(A,t,a){let{client:r,socket:i,headers:s,statusText:n}=this;if(i.destroyed)return-1;let o=r[pe][r[ce]];if(!o)return-1;if(D(!this.upgrade),D(this.statusCode<200),A===100)return L.destroy(i,new Gi("bad response",L.getSocketInfo(i))),-1;if(t&&!o.upgrade)return L.destroy(i,new Gi("bad upgrade",L.getSocketInfo(i))),-1;if(D.strictEqual(this.timeoutType,K1),this.statusCode=A,this.shouldKeepAlive=a||o.method==="HEAD"&&!i[qe]&&this.connection.toLowerCase()==="keep-alive",this.statusCode>=200){let l=o.bodyTimeout!=null?o.bodyTimeout:r[bg];this.setTimeout(l,Ji)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(o.method==="CONNECT")return D(r[ue]===1),this.upgrade=!0,2;if(t)return D(r[ue]===1),this.upgrade=!0,2;if(D(this.headers.length%2===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&r[Mt]){let l=this.keepAlive?L.parseKeepAliveTimeout(this.keepAlive):null;if(l!=null){let p=Math.min(l-r[vg],r[Rg]);p<=0?i[qe]=!0:r[rr]=p}else r[rr]=r[td]}else i[qe]=!0;let d;try{d=o.onHeaders(A,s,this.resume,n)===!1}catch(l){return L.destroy(i,l),-1}return o.method==="HEAD"||A<200?1:(i[X1]&&(i[X1]=!1,yA(r)),d?ZA.ERROR.PAUSED:0)}onBody(A){let{client:t,socket:a,statusCode:r,maxResponseSize:i}=this;if(a.destroyed)return-1;let s=t[pe][t[ce]];if(D(s),D.strictEqual(this.timeoutType,Ji),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),D(r>=200),i>-1&&this.bytesRead+A.length>i)return L.destroy(a,new Dh),-1;this.bytesRead+=A.length;try{if(s.onData(A)===!1)return ZA.ERROR.PAUSED}catch(n){return L.destroy(a,n),-1}}onMessageComplete(){let{client:A,socket:t,statusCode:a,upgrade:r,headers:i,contentLength:s,bytesRead:n,shouldKeepAlive:o}=this;if(t.destroyed&&(!a||o))return-1;if(r)return;let d=A[pe][A[ce]];if(D(d),D(a>=100),this.statusCode=null,this.statusText="",this.bytesRead=0,this.contentLength="",this.keepAlive="",this.connection="",D(this.headers.length%2===0),this.headers=[],this.headersSize=0,!(a<200)){if(d.method!=="HEAD"&&s&&n!==parseInt(s,10))return L.destroy(t,new hh),-1;try{d.onComplete(i)}catch(l){zA(A,d,l)}if(A[pe][A[ce]++]=null,t[mt])return D.strictEqual(A[ue],0),L.destroy(t,new A1("reset")),ZA.ERROR.PAUSED;if(o){if(t[qe]&&A[ue]===0)return L.destroy(t,new A1("reset")),ZA.ERROR.PAUSED;A[Mt]===1?setImmediate(yA,A):yA(A)}else return L.destroy(t,new A1("reset")),ZA.ERROR.PAUSED}}};function Yh(e){let{socket:A,timeoutType:t,client:a}=e;t===K1?(!A[mt]||A.writableNeedDrain||a[ue]>1)&&(D(!e.paused,"cannot be paused while waiting for headers"),L.destroy(A,new Ih)):t===Ji?e.paused||L.destroy(A,new wh):t===id&&(D(a[ue]===0&&a[rr]),L.destroy(A,new A1("socket idle timeout")))}function kg(){let{[te]:e}=this;e.readMore()}function Lg(e){let{[te]:A}=this;if(D(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),e.code==="ECONNRESET"&&A.statusCode&&!A.shouldKeepAlive){A.onMessageComplete();return}this[nA]=e,Ug(this[qi],e)}function Ug(e,A){if(e[ue]===0&&A.code!=="UND_ERR_INFO"&&A.code!=="UND_ERR_SOCKET"){D(e[wA]===e[ce]);let t=e[pe].splice(e[ce]);for(let a=0;a<t.length;a++){let r=t[a];zA(e,r,A)}D(e[a1]===0)}}function Tg(){let{[te]:e}=this;if(e.statusCode&&!e.shouldKeepAlive){e.onMessageComplete();return}L.destroy(this,new Gi("other side closed",L.getSocketInfo(this)))}function Mg(){let{[qi]:e}=this;!this[nA]&&this[te].statusCode&&!this[te].shouldKeepAlive&&this[te].onMessageComplete(),this[te].destroy(),this[te]=null;let A=this[nA]||new Gi("closed",L.getSocketInfo(this));if(e[sA]=null,e.destroyed){D(e[z1]===0);let t=e[pe].splice(e[ce]);for(let a=0;a<t.length;a++){let r=t[a];zA(e,r,A)}}else if(e[ue]>0&&A.code!=="UND_ERR_INFO"){let t=e[pe][e[ce]];e[pe][e[ce]++]=null,zA(e,t,A)}e[wA]=e[ce],D(e[ue]===0),e.emit("disconnect",e[fA],[e],A),yA(e)}async function Vg(e){D(!e[j1]),D(!e[sA]);let{host:A,hostname:t,protocol:a,port:r}=e[fA];if(t[0]==="["){let i=t.indexOf("]");D(i!==-1);let s=t.substr(1,i-1);D(wg.isIP(s)),t=s}e[j1]=!0,Je.beforeConnect.hasSubscribers&&Je.beforeConnect.publish({connectParams:{host:A,hostname:t,protocol:a,port:r,servername:e[Lt],localAddress:e[ar]},connector:e[tr]});try{let i=await new Promise((s,n)=>{e[tr]({host:A,hostname:t,protocol:a,port:r,servername:e[Lt],localAddress:e[ar]},(o,d)=>{o?n(o):s(d)})});if(e.destroyed){L.destroy(i.on("error",()=>{}),new Rh);return}ed||(ed=await rd,rd=null),e[j1]=!1,D(i),i[Ar]=!1,i[mt]=!1,i[qe]=!1,i[X1]=!1,i[nA]=null,i[te]=new sd(e,i,ed),i[qi]=e,i[Sg]=0,i[ir]=e[ir],i.on("error",Lg).on("readable",kg).on("end",Tg).on("close",Mg),e[sA]=i,Je.connected.hasSubscribers&&Je.connected.publish({connectParams:{host:A,hostname:t,protocol:a,port:r,servername:e[Lt],localAddress:e[ar]},connector:e[tr],socket:i}),e.emit("connect",e[fA],[e])}catch(i){if(e.destroyed)return;if(e[j1]=!1,Je.connectError.hasSubscribers&&Je.connectError.publish({connectParams:{host:A,hostname:t,protocol:a,port:r,servername:e[Lt],localAddress:e[ar]},connector:e[tr],error:i}),i.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(D(e[ue]===0);e[z1]>0&&e[pe][e[wA]].servername===e[Lt];){let s=e[pe][e[wA]++];zA(e,s,i)}else Ug(e,i);e.emit("connectionError",e[fA],[e],i)}yA(e)}function Ig(e){e[Tt]=0,e.emit("drain",e[fA],[e])}function yA(e,A){e[t1]!==2&&(e[t1]=2,Jh(e,A),e[t1]=0,e[ce]>256&&(e[pe].splice(0,e[ce]),e[wA]-=e[ce],e[ce]=0))}function Jh(e,A){for(;;){if(e.destroyed){D(e[z1]===0);return}if(e[Ut]&&!e[a1]){e[Ut](),e[Ut]=null;return}let t=e[sA];if(t&&!t.destroyed){if(e[a1]===0?!t[Ar]&&t.unref&&(t.unref(),t[Ar]=!0):t[Ar]&&t.ref&&(t.ref(),t[Ar]=!1),e[a1]===0)t[te].timeoutType!==id&&t[te].setTimeout(e[rr],id);else if(e[ue]>0&&t[te].statusCode<200&&t[te].timeoutType!==K1){let r=e[pe][e[ce]],i=r.headersTimeout!=null?r.headersTimeout:e[Ng];t[te].setTimeout(i,K1)}}if(e[Ad])e[Tt]=2;else if(e[Tt]===2){A?(e[Tt]=1,process.nextTick(Ig,e)):Ig(e);continue}if(e[z1]===0||e[ue]>=(e[Mt]||1))return;let a=e[pe][e[wA]];if(e[fA].protocol==="https:"&&e[Lt]!==a.servername){if(e[ue]>0)return;if(e[Lt]=a.servername,t&&t.servername!==a.servername){L.destroy(t,new A1("servername changed"));return}}if(e[j1])return;if(!t){Vg(e);return}if(t.destroyed||t[mt]||t[qe]||t[X1]||e[ue]>0&&!a.idempotent||e[ue]>0&&(a.upgrade||a.method==="CONNECT")||(L.isStream(a.body)&&L.bodyLength(a.body)===0&&(a.body.on("data",function(){D(!1)}).on("error",function(r){zA(e,a,r)}).on("end",function(){L.destroy(this)}),a.body=null),e[ue]>0&&(L.isStream(a.body)||L.isAsyncIterable(a.body))))return;!a.aborted&&Gh(e,a)?e[wA]++:e[pe].splice(e[wA],1)}}function Gh(e,A){let{body:t,method:a,path:r,host:i,upgrade:s,headers:n,blocking:o,reset:d}=A,l=a==="PUT"||a==="POST"||a==="PATCH";t&&typeof t.read=="function"&&t.read(0);let p=L.bodyLength(t);if(p===null&&(p=A.contentLength),p===0&&!l&&(p=null),A.contentLength!==null&&A.contentLength!==p){if(e[xi])return zA(e,A,new e1),!1;process.emitWarning(new e1)}let g=e[sA];try{A.onConnect(u=>{A.aborted||A.completed||(zA(e,A,u||new yg),L.destroy(g,new A1("aborted")))})}catch(u){zA(e,A,u)}if(A.aborted)return!1;a==="HEAD"&&(g[qe]=!0),(s||a==="CONNECT")&&(g[qe]=!0),d!=null&&(g[qe]=d),e[ir]&&g[Sg]++>=e[ir]&&(g[qe]=!0),o&&(g[X1]=!0);let c=`${a} ${r} HTTP/1.1\r +`;return typeof i=="string"?c+=`host: ${i}\r +`:c+=e[Dg],s?c+=`connection: upgrade\r +upgrade: ${s}\r +`:e[Mt]&&!g[qe]?c+=`connection: keep-alive\r +`:c+=`connection: close\r +`,n&&(c+=n),Je.sendHeaders.hasSubscribers&&Je.sendHeaders.publish({request:A,headers:c,socket:g}),t?L.isBuffer(t)?(D(p===t.byteLength,"buffer body must have content length"),g.cork(),g.write(`${c}content-length: ${p}\r +\r +`,"latin1"),g.write(t),g.uncork(),A.onBodySent(t),A.onRequestSent(),l||(g[qe]=!0)):L.isBlobLike(t)?typeof t.stream=="function"?fg({body:t.stream(),client:e,request:A,socket:g,contentLength:p,header:c,expectsPayload:l}):_h({body:t,client:e,request:A,socket:g,contentLength:p,header:c,expectsPayload:l}):L.isStream(t)?xh({body:t,client:e,request:A,socket:g,contentLength:p,header:c,expectsPayload:l}):L.isIterable(t)?fg({body:t,client:e,request:A,socket:g,contentLength:p,header:c,expectsPayload:l}):D(!1):(p===0?g.write(`${c}content-length: 0\r +\r +`,"latin1"):(D(p===null,"no body must not have content length"),g.write(`${c}\r +`,"latin1")),A.onRequestSent()),!0}function xh({body:e,client:A,request:t,socket:a,contentLength:r,header:i,expectsPayload:s}){D(r!==0||A[ue]===0,"stream body cannot be pipelined");let n=!1,o=new _i({socket:a,request:t,contentLength:r,client:A,expectsPayload:s,header:i}),d=function(c){if(!n)try{!o.write(c)&&this.pause&&this.pause()}catch(u){L.destroy(this,u)}},l=function(){n||e.resume&&e.resume()},p=function(){g(new yg)},g=function(c){if(!n){if(n=!0,D(a.destroyed||a[mt]&&A[ue]<=1),a.off("drain",l).off("error",g),e.removeListener("data",d).removeListener("end",g).removeListener("error",g).removeListener("close",p),!c)try{o.end()}catch(u){c=u}o.destroy(c),c&&(c.code!=="UND_ERR_INFO"||c.message!=="reset")?L.destroy(e,c):L.destroy(e)}};e.on("data",d).on("end",g).on("error",g).on("close",p),e.resume&&e.resume(),a.on("drain",l).on("error",g)}async function _h({body:e,client:A,request:t,socket:a,contentLength:r,header:i,expectsPayload:s}){D(r===e.size,"blob body must have content length");try{if(r!=null&&r!==e.size)throw new e1;let n=Buffer.from(await e.arrayBuffer());a.cork(),a.write(`${i}content-length: ${r}\r +\r +`,"latin1"),a.write(n),a.uncork(),t.onBodySent(n),t.onRequestSent(),s||(a[qe]=!0),yA(A)}catch(n){L.destroy(a,n)}}async function fg({body:e,client:A,request:t,socket:a,contentLength:r,header:i,expectsPayload:s}){D(r!==0||A[ue]===0,"iterator body cannot be pipelined");let n=null;function o(){if(n){let p=n;n=null,p()}}let d=()=>new Promise((p,g)=>{D(n===null),a[nA]?g(a[nA]):n=p});a.on("close",o).on("drain",o);let l=new _i({socket:a,request:t,contentLength:r,client:A,expectsPayload:s,header:i});try{for await(let p of e){if(a[nA])throw a[nA];l.write(p)||await d()}l.end()}catch(p){l.destroy(p)}finally{a.off("close",o).off("drain",o)}}var _i=class{constructor({socket:A,request:t,contentLength:a,client:r,expectsPayload:i,header:s}){this.socket=A,this.request=t,this.contentLength=a,this.client=r,this.bytesWritten=0,this.expectsPayload=i,this.header=s,A[mt]=!0}write(A){let{socket:t,request:a,contentLength:r,client:i,bytesWritten:s,expectsPayload:n,header:o}=this;if(t[nA])throw t[nA];if(t.destroyed)return!1;let d=Buffer.byteLength(A);if(!d)return!0;if(r!==null&&s+d>r){if(i[xi])throw new e1;process.emitWarning(new e1)}t.cork(),s===0&&(n||(t[qe]=!0),r===null?t.write(`${o}transfer-encoding: chunked\r +`,"latin1"):t.write(`${o}content-length: ${r}\r +\r +`,"latin1")),r===null&&t.write(`\r +${d.toString(16)}\r +`,"latin1"),this.bytesWritten+=d;let l=t.write(A);return t.uncork(),a.onBodySent(A),l||t[te].timeout&&t[te].timeoutType===K1&&t[te].timeout.refresh&&t[te].timeout.refresh(),l}end(){let{socket:A,contentLength:t,client:a,bytesWritten:r,expectsPayload:i,header:s,request:n}=this;if(n.onRequestSent(),A[mt]=!1,A[nA])throw A[nA];if(!A.destroyed){if(r===0?i?A.write(`${s}content-length: 0\r +\r +`,"latin1"):A.write(`${s}\r +`,"latin1"):t===null&&A.write(`\r +0\r +\r +`,"latin1"),t!==null&&r!==t){if(a[xi])throw new e1;process.emitWarning(new e1)}A[te].timeout&&A[te].timeoutType===K1&&A[te].timeout.refresh&&A[te].timeout.refresh(),yA(a)}}destroy(A){let{socket:t,client:a}=this;t[mt]=!1,A&&(D(a[ue]<=1,"pipeline should only contain this request"),L.destroy(t,A))}};function zA(e,A,t){try{A.onError(t),D(A.aborted)}catch(a){e.emit("error",a)}}Yg.exports=ad});var Gg=E((cb,Jg)=>{"use strict";var Hi=class{constructor(){this.bottom=0,this.top=0,this.list=new Array(2048),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(A){this.list[this.top]=A,this.top=this.top+1&2047}shift(){let A=this.list[this.bottom];return A===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,A)}};Jg.exports=class{constructor(){this.head=this.tail=new Hi}isEmpty(){return this.head.isEmpty()}push(A){this.head.isFull()&&(this.head=this.head.next=new Hi),this.head.push(A)}shift(){let A=this.tail,t=A.shift();return A.isEmpty()&&A.next!==null&&(this.tail=A.next),t}}});var qg=E((ub,xg)=>{var{kFree:qh,kConnected:Hh,kPending:Oh,kQueued:Ph,kRunning:Wh,kSize:Zh}=ie(),r1=Symbol("pool"),nd=class{constructor(A){this[r1]=A}get connected(){return this[r1][Hh]}get free(){return this[r1][qh]}get pending(){return this[r1][Oh]}get queued(){return this[r1][Ph]}get running(){return this[r1][Wh]}get size(){return this[r1][Zh]}};xg.exports=nd});var cd=E((Eb,$g)=>{"use strict";var jh=Ka(),Xh=Gg(),{kConnected:od,kSize:Hg,kRunning:Og,kPending:Pg,kQueued:nr,kBusy:zh,kFree:Kh,kUrl:$h,kClose:eI,kDestroy:AI,kDispatch:tI}=ie(),aI=qg(),je=Symbol("clients"),He=Symbol("needDrain"),or=Symbol("queue"),dd=Symbol("closed resolve"),pd=Symbol("onDrain"),Wg=Symbol("onConnect"),Zg=Symbol("onDisconnect"),jg=Symbol("onConnectionError"),ld=Symbol("get dispatcher"),zg=Symbol("add client"),Kg=Symbol("remove client"),Xg=Symbol("stats"),gd=class extends jh{constructor(){super(),this[or]=new Xh,this[je]=[],this[nr]=0;let A=this;this[pd]=function(a,r){let i=A[or],s=!1;for(;!s;){let n=i.shift();if(!n)break;A[nr]--,s=!this.dispatch(n.opts,n.handler)}this[He]=s,!this[He]&&A[He]&&(A[He]=!1,A.emit("drain",a,[A,...r])),A[dd]&&i.isEmpty()&&Promise.all(A[je].map(n=>n.close())).then(A[dd])},this[Wg]=(t,a)=>{A.emit("connect",t,[A,...a])},this[Zg]=(t,a,r)=>{A.emit("disconnect",t,[A,...a],r)},this[jg]=(t,a,r)=>{A.emit("connectionError",t,[A,...a],r)},this[Xg]=new aI(this)}get[zh](){return this[He]}get[od](){return this[je].filter(A=>A[od]).length}get[Kh](){return this[je].filter(A=>A[od]&&!A[He]).length}get[Pg](){let A=this[nr];for(let{[Pg]:t}of this[je])A+=t;return A}get[Og](){let A=0;for(let{[Og]:t}of this[je])A+=t;return A}get[Hg](){let A=this[nr];for(let{[Hg]:t}of this[je])A+=t;return A}get stats(){return this[Xg]}async[eI](){return this[or].isEmpty()?Promise.all(this[je].map(A=>A.close())):new Promise(A=>{this[dd]=A})}async[AI](A){for(;;){let t=this[or].shift();if(!t)break;t.handler.onError(A)}return Promise.all(this[je].map(t=>t.destroy(A)))}[tI](A,t){let a=this[ld]();return a?a.dispatch(A,t)||(a[He]=!0,this[He]=!this[ld]()):(this[He]=!0,this[or].push({opts:A,handler:t}),this[nr]++),!this[He]}[zg](A){return A.on("drain",this[pd]).on("connect",this[Wg]).on("disconnect",this[Zg]).on("connectionError",this[jg]),this[je].push(A),this[He]&&process.nextTick(()=>{this[He]&&this[pd](A[$h],[this,A])}),this}[Kg](A){A.close(()=>{let t=this[je].indexOf(A);t!==-1&&this[je].splice(t,1)}),this[He]=this[je].some(t=>!t[He]&&t.closed!==!0&&t.destroyed!==!0)}};$g.exports={PoolBase:gd,kClients:je,kNeedDrain:He,kAddClient:zg,kRemoveClient:Kg,kGetDispatcher:ld}});var $1=E((Qb,a6)=>{"use strict";var{PoolBase:rI,kClients:e6,kNeedDrain:iI,kAddClient:sI,kGetDispatcher:nI}=cd(),oI=sr(),{InvalidArgumentError:ud}=$(),Ed=q(),{kUrl:A6,kInterceptors:dI}=ie(),pI=$a(),Qd=Symbol("options"),md=Symbol("connections"),t6=Symbol("factory");function lI(e,A){return new oI(e,A)}var Cd=class extends rI{constructor(A,{connections:t,factory:a=lI,connect:r,connectTimeout:i,tls:s,maxCachedSessions:n,socketPath:o,autoSelectFamily:d,autoSelectFamilyAttemptTimeout:l,...p}={}){if(super(),t!=null&&(!Number.isFinite(t)||t<0))throw new ud("invalid connections");if(typeof a!="function")throw new ud("factory must be a function.");if(r!=null&&typeof r!="function"&&typeof r!="object")throw new ud("connect must be a function or an object");typeof r!="function"&&(r=pI({...s,maxCachedSessions:n,socketPath:o,timeout:i??1e4,...Ed.nodeHasAutoSelectFamily&&d?{autoSelectFamily:d,autoSelectFamilyAttemptTimeout:l}:void 0,...r})),this[dI]=p.interceptors&&p.interceptors.Pool&&Array.isArray(p.interceptors.Pool)?p.interceptors.Pool:[],this[md]=t||null,this[A6]=Ed.parseOrigin(A),this[Qd]={...Ed.deepClone(p),connect:r},this[Qd].interceptors=p.interceptors?{...p.interceptors}:void 0,this[t6]=a}[nI](){let A=this[e6].find(t=>!t[iI]);return A||((!this[md]||this[e6].length<this[md])&&(A=this[t6](this[A6],this[Qd]),this[sI](A)),A)}};a6.exports=Cd});var d6=E((mb,o6)=>{"use strict";var{BalancedPoolMissingUpstreamError:gI,InvalidArgumentError:cI}=$(),{PoolBase:uI,kClients:Oe,kNeedDrain:dr,kAddClient:EI,kRemoveClient:QI,kGetDispatcher:mI}=cd(),CI=$1(),{kUrl:Bd,kInterceptors:BI}=ie(),{parseOrigin:r6}=q(),i6=Symbol("factory"),Oi=Symbol("options"),s6=Symbol("kGreatestCommonDivisor"),i1=Symbol("kCurrentWeight"),s1=Symbol("kIndex"),DA=Symbol("kWeight"),Pi=Symbol("kMaxWeightPerServer"),Wi=Symbol("kErrorPenalty");function n6(e,A){return A===0?e:n6(A,e%A)}function hI(e,A){return new CI(e,A)}var hd=class extends uI{constructor(A=[],{factory:t=hI,...a}={}){if(super(),this[Oi]=a,this[s1]=-1,this[i1]=0,this[Pi]=this[Oi].maxWeightPerServer||100,this[Wi]=this[Oi].errorPenalty||15,Array.isArray(A)||(A=[A]),typeof t!="function")throw new cI("factory must be a function.");this[BI]=a.interceptors&&a.interceptors.BalancedPool&&Array.isArray(a.interceptors.BalancedPool)?a.interceptors.BalancedPool:[],this[i6]=t;for(let r of A)this.addUpstream(r);this._updateBalancedPoolStats()}addUpstream(A){let t=r6(A).origin;if(this[Oe].find(r=>r[Bd].origin===t&&r.closed!==!0&&r.destroyed!==!0))return this;let a=this[i6](t,Object.assign({},this[Oi]));this[EI](a),a.on("connect",()=>{a[DA]=Math.min(this[Pi],a[DA]+this[Wi])}),a.on("connectionError",()=>{a[DA]=Math.max(1,a[DA]-this[Wi]),this._updateBalancedPoolStats()}),a.on("disconnect",(...r)=>{let i=r[2];i&&i.code==="UND_ERR_SOCKET"&&(a[DA]=Math.max(1,a[DA]-this[Wi]),this._updateBalancedPoolStats())});for(let r of this[Oe])r[DA]=this[Pi];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){this[s6]=this[Oe].map(A=>A[DA]).reduce(n6,0)}removeUpstream(A){let t=r6(A).origin,a=this[Oe].find(r=>r[Bd].origin===t&&r.closed!==!0&&r.destroyed!==!0);return a&&this[QI](a),this}get upstreams(){return this[Oe].filter(A=>A.closed!==!0&&A.destroyed!==!0).map(A=>A[Bd].origin)}[mI](){if(this[Oe].length===0)throw new gI;if(!this[Oe].find(i=>!i[dr]&&i.closed!==!0&&i.destroyed!==!0)||this[Oe].map(i=>i[dr]).reduce((i,s)=>i&&s,!0))return;let a=0,r=this[Oe].findIndex(i=>!i[dr]);for(;a++<this[Oe].length;){this[s1]=(this[s1]+1)%this[Oe].length;let i=this[Oe][this[s1]];if(i[DA]>this[Oe][r][DA]&&!i[dr]&&(r=this[s1]),this[s1]===0&&(this[i1]=this[i1]-this[s6],this[i1]<=0&&(this[i1]=this[Pi])),i[DA]>=this[i1]&&!i[dr])return i}return this[i1]=this[Oe][r][DA],this[s1]=r,this[Oe][r]}};o6.exports=hd});var wd=E((Cb,g6)=>{"use strict";var{kConnected:p6,kSize:l6}=ie(),Id=class{constructor(A){this.value=A}deref(){return this.value[p6]===0&&this.value[l6]===0?void 0:this.value}},fd=class{constructor(A){this.finalizer=A}register(A,t){A.on("disconnect",()=>{A[p6]===0&&A[l6]===0&&this.finalizer(t)})}};g6.exports=function(){return{WeakRef:global.WeakRef||Id,FinalizationRegistry:global.FinalizationRegistry||fd}}});var pr=E((Bb,h6)=>{"use strict";var{InvalidArgumentError:Zi}=$(),{kClients:Vt,kRunning:c6,kClose:II,kDestroy:fI,kDispatch:wI,kInterceptors:yI}=ie(),DI=Ka(),RI=$1(),vI=sr(),NI=q(),bI=Ti(),{WeakRef:SI,FinalizationRegistry:FI}=wd()(),u6=Symbol("onConnect"),E6=Symbol("onDisconnect"),Q6=Symbol("onConnectionError"),kI=Symbol("maxRedirections"),m6=Symbol("onDrain"),C6=Symbol("factory"),B6=Symbol("finalizer"),yd=Symbol("options");function LI(e,A){return A&&A.connections===1?new vI(e,A):new RI(e,A)}var Dd=class extends DI{constructor({factory:A=LI,maxRedirections:t=0,connect:a,...r}={}){if(super(),typeof A!="function")throw new Zi("factory must be a function.");if(a!=null&&typeof a!="function"&&typeof a!="object")throw new Zi("connect must be a function or an object");if(!Number.isInteger(t)||t<0)throw new Zi("maxRedirections must be a positive number");a&&typeof a!="function"&&(a={...a}),this[yI]=r.interceptors&&r.interceptors.Agent&&Array.isArray(r.interceptors.Agent)?r.interceptors.Agent:[bI({maxRedirections:t})],this[yd]={...NI.deepClone(r),connect:a},this[yd].interceptors=r.interceptors?{...r.interceptors}:void 0,this[kI]=t,this[C6]=A,this[Vt]=new Map,this[B6]=new FI(s=>{let n=this[Vt].get(s);n!==void 0&&n.deref()===void 0&&this[Vt].delete(s)});let i=this;this[m6]=(s,n)=>{i.emit("drain",s,[i,...n])},this[u6]=(s,n)=>{i.emit("connect",s,[i,...n])},this[E6]=(s,n,o)=>{i.emit("disconnect",s,[i,...n],o)},this[Q6]=(s,n,o)=>{i.emit("connectionError",s,[i,...n],o)}}get[c6](){let A=0;for(let t of this[Vt].values()){let a=t.deref();a&&(A+=a[c6])}return A}[wI](A,t){let a;if(A.origin&&(typeof A.origin=="string"||A.origin instanceof URL))a=String(A.origin);else throw new Zi("opts.origin must be a non-empty string or URL.");let r=this[Vt].get(a),i=r?r.deref():null;return i||(i=this[C6](A.origin,this[yd]).on("drain",this[m6]).on("connect",this[u6]).on("disconnect",this[E6]).on("connectionError",this[Q6]),this[Vt].set(a,new SI(i)),this[B6].register(i,a)),i.dispatch(A,t)}async[II](){let A=[];for(let t of this[Vt].values()){let a=t.deref();a&&A.push(a.close())}await Promise.all(A)}async[fI](A){let t=[];for(let a of this[Vt].values()){let r=a.deref();r&&t.push(r.destroy(A))}await Promise.all(t)}};h6.exports=Dd});var N6=E((Ib,v6)=>{"use strict";var w6=require("assert"),{Readable:UI}=require("stream"),{RequestAbortedError:y6,NotSupportedError:TI,InvalidArgumentError:MI}=$(),ea=q(),{ReadableStreamFrom:VI,toUSVString:YI}=q(),Rd,oA=Symbol("kConsume"),ji=Symbol("kReading"),Yt=Symbol("kBody"),I6=Symbol("abort"),D6=Symbol("kContentType");v6.exports=class extends UI{constructor({resume:A,abort:t,contentType:a="",highWaterMark:r=64*1024}){super({autoDestroy:!0,read:A,highWaterMark:r}),this._readableState.dataEmitted=!1,this[I6]=t,this[oA]=null,this[Yt]=null,this[D6]=a,this[ji]=!1}destroy(A){return this.destroyed?this:(!A&&!this._readableState.endEmitted&&(A=new y6),A&&this[I6](),super.destroy(A))}emit(A,...t){return A==="data"?this._readableState.dataEmitted=!0:A==="error"&&(this._readableState.errorEmitted=!0),super.emit(A,...t)}on(A,...t){return(A==="data"||A==="readable")&&(this[ji]=!0),super.on(A,...t)}addListener(A,...t){return this.on(A,...t)}off(A,...t){let a=super.off(A,...t);return(A==="data"||A==="readable")&&(this[ji]=this.listenerCount("data")>0||this.listenerCount("readable")>0),a}removeListener(A,...t){return this.off(A,...t)}push(A){return this[oA]&&A!==null&&this.readableLength===0?(R6(this[oA],A),this[ji]?super.push(A):!0):super.push(A)}async text(){return Xi(this,"text")}async json(){return Xi(this,"json")}async blob(){return Xi(this,"blob")}async arrayBuffer(){return Xi(this,"arrayBuffer")}async formData(){throw new TI}get bodyUsed(){return ea.isDisturbed(this)}get body(){return this[Yt]||(this[Yt]=VI(this),this[oA]&&(this[Yt].getReader(),w6(this[Yt].locked))),this[Yt]}async dump(A){let t=A&&Number.isFinite(A.limit)?A.limit:262144,a=A&&A.signal,r=()=>{this.destroy()},i;if(a){if(typeof a!="object"||!("aborted"in a))throw new MI("signal must be an AbortSignal");ea.throwIfAborted(a),i=ea.addAbortListener(a,r)}try{for await(let s of this)if(ea.throwIfAborted(a),t-=Buffer.byteLength(s),t<0)return}catch{ea.throwIfAborted(a)}finally{typeof i=="function"?i():i&&i[Symbol.dispose]()}}};function JI(e){return e[Yt]&&e[Yt].locked===!0||e[oA]}function GI(e){return ea.isDisturbed(e)||JI(e)}async function Xi(e,A){if(GI(e))throw new TypeError("unusable");return w6(!e[oA]),new Promise((t,a)=>{e[oA]={type:A,stream:e,resolve:t,reject:a,length:0,body:[]},e.on("error",function(r){vd(this[oA],r)}).on("close",function(){this[oA].body!==null&&vd(this[oA],new y6)}),process.nextTick(xI,e[oA])})}function xI(e){if(e.body===null)return;let{_readableState:A}=e.stream;for(let t of A.buffer)R6(e,t);for(A.endEmitted?f6(this[oA]):e.stream.on("end",function(){f6(this[oA])}),e.stream.resume();e.stream.read()!=null;);}function f6(e){let{type:A,body:t,resolve:a,stream:r,length:i}=e;try{if(A==="text")a(YI(Buffer.concat(t)));else if(A==="json")a(JSON.parse(Buffer.concat(t)));else if(A==="arrayBuffer"){let s=new Uint8Array(i),n=0;for(let o of t)s.set(o,n),n+=o.byteLength;a(s)}else A==="blob"&&(Rd||(Rd=require("buffer").Blob),a(new Rd(t,{type:r[D6]})));vd(e)}catch(s){r.destroy(s)}}function R6(e,A){e.length+=A.length,e.body.push(A)}function vd(e,A){e.body!==null&&(A?e.reject(A):e.resolve(),e.type=null,e.stream=null,e.resolve=null,e.reject=null,e.length=0,e.body=null)}});var Nd=E((fb,S6)=>{var _I=require("assert"),{ResponseStatusCodeError:zi}=$(),{toUSVString:b6}=q();async function qI({callback:e,body:A,contentType:t,statusCode:a,statusMessage:r,headers:i}){_I(A);let s=[],n=0;for await(let o of A)if(s.push(o),n+=o.length,n>128*1024){s=null;break}if(a===204||!t||!s){process.nextTick(e,new zi(`Response status code ${a}${r?`: ${r}`:""}`,a,i));return}try{if(t.startsWith("application/json")){let o=JSON.parse(b6(Buffer.concat(s)));process.nextTick(e,new zi(`Response status code ${a}${r?`: ${r}`:""}`,a,i,o));return}if(t.startsWith("text/")){let o=b6(Buffer.concat(s));process.nextTick(e,new zi(`Response status code ${a}${r?`: ${r}`:""}`,a,i,o));return}}catch{}process.nextTick(e,new zi(`Response status code ${a}${r?`: ${r}`:""}`,a,i))}S6.exports={getResolveErrorBodyCallback:qI}});var ta=E((wb,k6)=>{var{addAbortListener:HI}=q(),{RequestAbortedError:OI}=$(),Aa=Symbol("kListener"),Jt=Symbol("kSignal");function F6(e){e.abort?e.abort():e.onError(new OI)}function PI(e,A){if(e[Jt]=null,e[Aa]=null,!!A){if(A.aborted){F6(e);return}e[Jt]=A,e[Aa]=()=>{F6(e)},HI(e[Jt],e[Aa])}}function WI(e){e[Jt]&&("removeEventListener"in e[Jt]?e[Jt].removeEventListener("abort",e[Aa]):e[Jt].removeListener("abort",e[Aa]),e[Jt]=null,e[Aa]=null)}k6.exports={addSignal:PI,removeSignal:WI}});var M6=E((yb,T6)=>{"use strict";var ZI=N6(),{InvalidArgumentError:aa,RequestAbortedError:jI}=$(),KA=q(),{getResolveErrorBodyCallback:XI}=Nd(),{AsyncResource:zI}=require("async_hooks"),{addSignal:KI,removeSignal:L6}=ta(),bd=class extends zI{constructor(A,t){if(!A||typeof A!="object")throw new aa("invalid opts");let{signal:a,method:r,opaque:i,body:s,onInfo:n,responseHeaders:o,throwOnError:d,highWaterMark:l}=A;try{if(typeof t!="function")throw new aa("invalid callback");if(l&&(typeof l!="number"||l<0))throw new aa("invalid highWaterMark");if(a&&typeof a.on!="function"&&typeof a.addEventListener!="function")throw new aa("signal must be an EventEmitter or EventTarget");if(r==="CONNECT")throw new aa("invalid method");if(n&&typeof n!="function")throw new aa("invalid onInfo callback");super("UNDICI_REQUEST")}catch(p){throw KA.isStream(s)&&KA.destroy(s.on("error",KA.nop),p),p}this.responseHeaders=o||null,this.opaque=i||null,this.callback=t,this.res=null,this.abort=null,this.body=s,this.trailers={},this.context=null,this.onInfo=n||null,this.throwOnError=d,this.highWaterMark=l,KA.isStream(s)&&s.on("error",p=>{this.onError(p)}),KI(this,a)}onConnect(A,t){if(!this.callback)throw new jI;this.abort=A,this.context=t}onHeaders(A,t,a,r){let{callback:i,opaque:s,abort:n,context:o,responseHeaders:d,highWaterMark:l}=this,p=d==="raw"?KA.parseRawHeaders(t):KA.parseHeaders(t);if(A<200){this.onInfo&&this.onInfo({statusCode:A,headers:p});return}let c=(d==="raw"?KA.parseHeaders(t):p)["content-type"],u=new ZI({resume:a,abort:n,contentType:c,highWaterMark:l});this.callback=null,this.res=u,i!==null&&(this.throwOnError&&A>=400?this.runInAsyncScope(XI,null,{callback:i,body:u,contentType:c,statusCode:A,statusMessage:r,headers:p}):this.runInAsyncScope(i,null,null,{statusCode:A,headers:p,trailers:this.trailers,opaque:s,body:u,context:o}))}onData(A){let{res:t}=this;return t.push(A)}onComplete(A){let{res:t}=this;L6(this),KA.parseHeaders(A,this.trailers),t.push(null)}onError(A){let{res:t,callback:a,body:r,opaque:i}=this;L6(this),a&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(a,null,A,{opaque:i})})),t&&(this.res=null,queueMicrotask(()=>{KA.destroy(t,A)})),r&&(this.body=null,KA.destroy(r,A))}};function U6(e,A){if(A===void 0)return new Promise((t,a)=>{U6.call(this,e,(r,i)=>r?a(r):t(i))});try{this.dispatch(e,new bd(e,A))}catch(t){if(typeof A!="function")throw t;let a=e&&e.opaque;queueMicrotask(()=>A(t,{opaque:a}))}}T6.exports=U6});var G6=E((Db,J6)=>{"use strict";var{finished:$I,PassThrough:e7}=require("stream"),{InvalidArgumentError:ra,InvalidReturnValueError:A7,RequestAbortedError:t7}=$(),TA=q(),{getResolveErrorBodyCallback:a7}=Nd(),{AsyncResource:r7}=require("async_hooks"),{addSignal:i7,removeSignal:V6}=ta(),Sd=class extends r7{constructor(A,t,a){if(!A||typeof A!="object")throw new ra("invalid opts");let{signal:r,method:i,opaque:s,body:n,onInfo:o,responseHeaders:d,throwOnError:l}=A;try{if(typeof a!="function")throw new ra("invalid callback");if(typeof t!="function")throw new ra("invalid factory");if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new ra("signal must be an EventEmitter or EventTarget");if(i==="CONNECT")throw new ra("invalid method");if(o&&typeof o!="function")throw new ra("invalid onInfo callback");super("UNDICI_STREAM")}catch(p){throw TA.isStream(n)&&TA.destroy(n.on("error",TA.nop),p),p}this.responseHeaders=d||null,this.opaque=s||null,this.factory=t,this.callback=a,this.res=null,this.abort=null,this.context=null,this.trailers=null,this.body=n,this.onInfo=o||null,this.throwOnError=l||!1,TA.isStream(n)&&n.on("error",p=>{this.onError(p)}),i7(this,r)}onConnect(A,t){if(!this.callback)throw new t7;this.abort=A,this.context=t}onHeaders(A,t,a,r){let{factory:i,opaque:s,context:n,callback:o,responseHeaders:d}=this,l=d==="raw"?TA.parseRawHeaders(t):TA.parseHeaders(t);if(A<200){this.onInfo&&this.onInfo({statusCode:A,headers:l});return}this.factory=null;let p;if(this.throwOnError&&A>=400){let u=(d==="raw"?TA.parseHeaders(t):l)["content-type"];p=new e7,this.callback=null,this.runInAsyncScope(a7,null,{callback:o,body:p,contentType:u,statusCode:A,statusMessage:r,headers:l})}else{if(p=this.runInAsyncScope(i,null,{statusCode:A,headers:l,opaque:s,context:n}),!p||typeof p.write!="function"||typeof p.end!="function"||typeof p.on!="function")throw new A7("expected Writable");$I(p,{readable:!1},c=>{let{callback:u,res:m,opaque:Q,trailers:C,abort:B}=this;this.res=null,(c||!m.readable)&&TA.destroy(m,c),this.callback=null,this.runInAsyncScope(u,null,c||null,{opaque:Q,trailers:C}),c&&B()})}return p.on("drain",a),this.res=p,(p.writableNeedDrain!==void 0?p.writableNeedDrain:p._writableState&&p._writableState.needDrain)!==!0}onData(A){let{res:t}=this;return t.write(A)}onComplete(A){let{res:t}=this;V6(this),this.trailers=TA.parseHeaders(A),t.end()}onError(A){let{res:t,callback:a,opaque:r,body:i}=this;V6(this),this.factory=null,t?(this.res=null,TA.destroy(t,A)):a&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(a,null,A,{opaque:r})})),i&&(this.body=null,TA.destroy(i,A))}};function Y6(e,A,t){if(t===void 0)return new Promise((a,r)=>{Y6.call(this,e,A,(i,s)=>i?r(i):a(s))});try{this.dispatch(e,new Sd(e,A,t))}catch(a){if(typeof t!="function")throw a;let r=e&&e.opaque;queueMicrotask(()=>t(a,{opaque:r}))}}J6.exports=Y6});var q6=E((Rb,_6)=>{"use strict";var{Readable:x6,Duplex:s7,PassThrough:n7}=require("stream"),{InvalidArgumentError:lr,InvalidReturnValueError:o7,RequestAbortedError:Ki}=$(),RA=q(),{AsyncResource:d7}=require("async_hooks"),{addSignal:p7,removeSignal:l7}=ta(),g7=require("assert"),ia=Symbol("resume"),Fd=class extends x6{constructor(){super({autoDestroy:!0}),this[ia]=null}_read(){let{[ia]:A}=this;A&&(this[ia]=null,A())}_destroy(A,t){this._read(),t(A)}},kd=class extends x6{constructor(A){super({autoDestroy:!0}),this[ia]=A}_read(){this[ia]()}_destroy(A,t){!A&&!this._readableState.endEmitted&&(A=new Ki),t(A)}},Ld=class extends d7{constructor(A,t){if(!A||typeof A!="object")throw new lr("invalid opts");if(typeof t!="function")throw new lr("invalid handler");let{signal:a,method:r,opaque:i,onInfo:s,responseHeaders:n}=A;if(a&&typeof a.on!="function"&&typeof a.addEventListener!="function")throw new lr("signal must be an EventEmitter or EventTarget");if(r==="CONNECT")throw new lr("invalid method");if(s&&typeof s!="function")throw new lr("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=i||null,this.responseHeaders=n||null,this.handler=t,this.abort=null,this.context=null,this.onInfo=s||null,this.req=new Fd().on("error",RA.nop),this.ret=new s7({readableObjectMode:A.objectMode,autoDestroy:!0,read:()=>{let{body:o}=this;o&&o.resume&&o.resume()},write:(o,d,l)=>{let{req:p}=this;p.push(o,d)||p._readableState.destroyed?l():p[ia]=l},destroy:(o,d)=>{let{body:l,req:p,res:g,ret:c,abort:u}=this;!o&&!c._readableState.endEmitted&&(o=new Ki),u&&o&&u(),RA.destroy(l,o),RA.destroy(p,o),RA.destroy(g,o),l7(this),d(o)}}).on("prefinish",()=>{let{req:o}=this;o.push(null)}),this.res=null,p7(this,a)}onConnect(A,t){let{ret:a,res:r}=this;if(g7(!r,"pipeline cannot be retried"),a.destroyed)throw new Ki;this.abort=A,this.context=t}onHeaders(A,t,a){let{opaque:r,handler:i,context:s}=this;if(A<200){if(this.onInfo){let o=this.responseHeaders==="raw"?RA.parseRawHeaders(t):RA.parseHeaders(t);this.onInfo({statusCode:A,headers:o})}return}this.res=new kd(a);let n;try{this.handler=null;let o=this.responseHeaders==="raw"?RA.parseRawHeaders(t):RA.parseHeaders(t);n=this.runInAsyncScope(i,null,{statusCode:A,headers:o,opaque:r,body:this.res,context:s})}catch(o){throw this.res.on("error",RA.nop),o}if(!n||typeof n.on!="function")throw new o7("expected Readable");n.on("data",o=>{let{ret:d,body:l}=this;!d.push(o)&&l.pause&&l.pause()}).on("error",o=>{let{ret:d}=this;RA.destroy(d,o)}).on("end",()=>{let{ret:o}=this;o.push(null)}).on("close",()=>{let{ret:o}=this;o._readableState.ended||RA.destroy(o,new Ki)}),this.body=n}onData(A){let{res:t}=this;return t.push(A)}onComplete(A){let{res:t}=this;t.push(null)}onError(A){let{ret:t}=this;this.handler=null,RA.destroy(t,A)}};function c7(e,A){try{let t=new Ld(e,A);return this.dispatch({...e,body:t.req},t),t.ret}catch(t){return new n7().destroy(t)}}_6.exports=c7});var Z6=E((vb,W6)=>{"use strict";var{InvalidArgumentError:Ud,RequestAbortedError:u7,SocketError:E7}=$(),{AsyncResource:Q7}=require("async_hooks"),H6=q(),{addSignal:m7,removeSignal:O6}=ta(),C7=require("assert"),Td=class extends Q7{constructor(A,t){if(!A||typeof A!="object")throw new Ud("invalid opts");if(typeof t!="function")throw new Ud("invalid callback");let{signal:a,opaque:r,responseHeaders:i}=A;if(a&&typeof a.on!="function"&&typeof a.addEventListener!="function")throw new Ud("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=i||null,this.opaque=r||null,this.callback=t,this.abort=null,this.context=null,m7(this,a)}onConnect(A,t){if(!this.callback)throw new u7;this.abort=A,this.context=null}onHeaders(){throw new E7("bad upgrade",null)}onUpgrade(A,t,a){let{callback:r,opaque:i,context:s}=this;C7.strictEqual(A,101),O6(this),this.callback=null;let n=this.responseHeaders==="raw"?H6.parseRawHeaders(t):H6.parseHeaders(t);this.runInAsyncScope(r,null,null,{headers:n,socket:a,opaque:i,context:s})}onError(A){let{callback:t,opaque:a}=this;O6(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,A,{opaque:a})}))}};function P6(e,A){if(A===void 0)return new Promise((t,a)=>{P6.call(this,e,(r,i)=>r?a(r):t(i))});try{let t=new Td(e,A);this.dispatch({...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"},t)}catch(t){if(typeof A!="function")throw t;let a=e&&e.opaque;queueMicrotask(()=>A(t,{opaque:a}))}}W6.exports=P6});var $6=E((Nb,K6)=>{"use strict";var{InvalidArgumentError:Md,RequestAbortedError:B7,SocketError:h7}=$(),{AsyncResource:I7}=require("async_hooks"),j6=q(),{addSignal:f7,removeSignal:X6}=ta(),Vd=class extends I7{constructor(A,t){if(!A||typeof A!="object")throw new Md("invalid opts");if(typeof t!="function")throw new Md("invalid callback");let{signal:a,opaque:r,responseHeaders:i}=A;if(a&&typeof a.on!="function"&&typeof a.addEventListener!="function")throw new Md("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=r||null,this.responseHeaders=i||null,this.callback=t,this.abort=null,f7(this,a)}onConnect(A,t){if(!this.callback)throw new B7;this.abort=A,this.context=t}onHeaders(){throw new h7("bad connect",null)}onUpgrade(A,t,a){let{callback:r,opaque:i,context:s}=this;X6(this),this.callback=null;let n=this.responseHeaders==="raw"?j6.parseRawHeaders(t):j6.parseHeaders(t);this.runInAsyncScope(r,null,null,{statusCode:A,headers:n,socket:a,opaque:i,context:s})}onError(A){let{callback:t,opaque:a}=this;X6(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,A,{opaque:a})}))}};function z6(e,A){if(A===void 0)return new Promise((t,a)=>{z6.call(this,e,(r,i)=>r?a(r):t(i))});try{let t=new Vd(e,A);this.dispatch({...e,method:"CONNECT"},t)}catch(t){if(typeof A!="function")throw t;let a=e&&e.opaque;queueMicrotask(()=>A(t,{opaque:a}))}}K6.exports=z6});var ec=E((bb,sa)=>{"use strict";sa.exports.request=M6();sa.exports.stream=G6();sa.exports.pipeline=q6();sa.exports.upgrade=Z6();sa.exports.connect=$6()});var Jd=E((Sb,Ac)=>{"use strict";var{UndiciError:w7}=$(),Yd=class e extends w7{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="MockNotMatchedError",this.message=A||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}};Ac.exports={MockNotMatchedError:Yd}});var na=E((Fb,tc)=>{"use strict";tc.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}});var gr=E((kb,uc)=>{"use strict";var{MockNotMatchedError:n1}=Jd(),{kDispatches:$i,kMockAgent:y7,kOriginalDispatch:D7,kOrigin:R7,kGetNetConnect:v7}=na(),{buildURL:N7,nop:b7}=q(),{STATUS_CODES:S7}=require("http"),{types:{isPromise:F7}}=require("util");function Ct(e,A){return typeof e=="string"?e===A:e instanceof RegExp?e.test(A):typeof e=="function"?e(A)===!0:!1}function rc(e){return Object.fromEntries(Object.entries(e).map(([A,t])=>[A.toLocaleLowerCase(),t]))}function ic(e,A){if(Array.isArray(e)){for(let t=0;t<e.length;t+=2)if(e[t].toLocaleLowerCase()===A.toLocaleLowerCase())return e[t+1];return}else return typeof e.get=="function"?e.get(A):rc(e)[A.toLocaleLowerCase()]}function sc(e){let A=e.slice(),t=[];for(let a=0;a<A.length;a+=2)t.push([A[a],A[a+1]]);return Object.fromEntries(t)}function nc(e,A){if(typeof e.headers=="function")return Array.isArray(A)&&(A=sc(A)),e.headers(A?rc(A):{});if(typeof e.headers>"u")return!0;if(typeof A!="object"||typeof e.headers!="object")return!1;for(let[t,a]of Object.entries(e.headers)){let r=ic(A,t);if(!Ct(a,r))return!1}return!0}function ac(e){if(typeof e!="string")return e;let A=e.split("?");if(A.length!==2)return e;let t=new URLSearchParams(A.pop());return t.sort(),[...A,t.toString()].join("?")}function k7(e,{path:A,method:t,body:a,headers:r}){let i=Ct(e.path,A),s=Ct(e.method,t),n=typeof e.body<"u"?Ct(e.body,a):!0,o=nc(e,r);return i&&s&&n&&o}function oc(e){return Buffer.isBuffer(e)?e:typeof e=="object"?JSON.stringify(e):e.toString()}function dc(e,A){let t=A.query?N7(A.path,A.query):A.path,a=typeof t=="string"?ac(t):t,r=e.filter(({consumed:i})=>!i).filter(({path:i})=>Ct(ac(i),a));if(r.length===0)throw new n1(`Mock dispatch not matched for path '${a}'`);if(r=r.filter(({method:i})=>Ct(i,A.method)),r.length===0)throw new n1(`Mock dispatch not matched for method '${A.method}'`);if(r=r.filter(({body:i})=>typeof i<"u"?Ct(i,A.body):!0),r.length===0)throw new n1(`Mock dispatch not matched for body '${A.body}'`);if(r=r.filter(i=>nc(i,A.headers)),r.length===0)throw new n1(`Mock dispatch not matched for headers '${typeof A.headers=="object"?JSON.stringify(A.headers):A.headers}'`);return r[0]}function L7(e,A,t){let a={timesInvoked:0,times:1,persist:!1,consumed:!1},r=typeof t=="function"?{callback:t}:{...t},i={...a,...A,pending:!0,data:{error:null,...r}};return e.push(i),i}function Gd(e,A){let t=e.findIndex(a=>a.consumed?k7(a,A):!1);t!==-1&&e.splice(t,1)}function pc(e){let{path:A,method:t,body:a,headers:r,query:i}=e;return{path:A,method:t,body:a,headers:r,query:i}}function xd(e){return Object.entries(e).reduce((A,[t,a])=>[...A,Buffer.from(`${t}`),Array.isArray(a)?a.map(r=>Buffer.from(`${r}`)):Buffer.from(`${a}`)],[])}function lc(e){return S7[e]||"unknown"}async function U7(e){let A=[];for await(let t of e)A.push(t);return Buffer.concat(A).toString("utf8")}function gc(e,A){let t=pc(e),a=dc(this[$i],t);a.timesInvoked++,a.data.callback&&(a.data={...a.data,...a.data.callback(e)});let{data:{statusCode:r,data:i,headers:s,trailers:n,error:o},delay:d,persist:l}=a,{timesInvoked:p,times:g}=a;if(a.consumed=!l&&p>=g,a.pending=p<g,o!==null)return Gd(this[$i],t),A.onError(o),!0;typeof d=="number"&&d>0?setTimeout(()=>{c(this[$i])},d):c(this[$i]);function c(m,Q=i){let C=Array.isArray(e.headers)?sc(e.headers):e.headers,B=typeof Q=="function"?Q({...e,headers:C}):Q;if(F7(B)){B.then(b=>c(m,b));return}let w=oc(B),I=xd(s),y=xd(n);A.abort=b7,A.onHeaders(r,I,u,lc(r)),A.onData(Buffer.from(w)),A.onComplete(y),Gd(m,t)}function u(){}return!0}function T7(){let e=this[y7],A=this[R7],t=this[D7];return function(r,i){if(e.isMockActive)try{gc.call(this,r,i)}catch(s){if(s instanceof n1){let n=e[v7]();if(n===!1)throw new n1(`${s.message}: subsequent request to origin ${A} was not allowed (net.connect disabled)`);if(cc(n,A))t.call(this,r,i);else throw new n1(`${s.message}: subsequent request to origin ${A} was not allowed (net.connect is not enabled for this origin)`)}else throw s}else t.call(this,r,i)}}function cc(e,A){let t=new URL(A);return e===!0?!0:!!(Array.isArray(e)&&e.some(a=>Ct(a,t.host)))}function M7(e){if(e){let{agent:A,...t}=e;return t}}uc.exports={getResponseData:oc,getMockDispatch:dc,addMockDispatch:L7,deleteMockDispatch:Gd,buildKey:pc,generateKeyValues:xd,matchValue:Ct,getResponse:U7,getStatusText:lc,mockDispatch:gc,buildMockDispatch:T7,checkNetConnect:cc,buildMockOptions:M7,getHeaderByName:ic}});var jd=E((Lb,Zd)=>{"use strict";var{getResponseData:V7,buildKey:Y7,addMockDispatch:qd}=gr(),{kDispatches:es,kDispatchKey:As,kDefaultHeaders:Hd,kDefaultTrailers:Od,kContentLength:Pd,kMockDispatch:ts}=na(),{InvalidArgumentError:MA}=$(),{buildURL:J7}=q(),oa=class{constructor(A){this[ts]=A}delay(A){if(typeof A!="number"||!Number.isInteger(A)||A<=0)throw new MA("waitInMs must be a valid integer > 0");return this[ts].delay=A,this}persist(){return this[ts].persist=!0,this}times(A){if(typeof A!="number"||!Number.isInteger(A)||A<=0)throw new MA("repeatTimes must be a valid integer > 0");return this[ts].times=A,this}},Wd=class{constructor(A,t){if(typeof A!="object")throw new MA("opts must be an object");if(typeof A.path>"u")throw new MA("opts.path must be defined");if(typeof A.method>"u"&&(A.method="GET"),typeof A.path=="string")if(A.query)A.path=J7(A.path,A.query);else{let a=new URL(A.path,"data://");A.path=a.pathname+a.search}typeof A.method=="string"&&(A.method=A.method.toUpperCase()),this[As]=Y7(A),this[es]=t,this[Hd]={},this[Od]={},this[Pd]=!1}createMockScopeDispatchData(A,t,a={}){let r=V7(t),i=this[Pd]?{"content-length":r.length}:{},s={...this[Hd],...i,...a.headers},n={...this[Od],...a.trailers};return{statusCode:A,data:t,headers:s,trailers:n}}validateReplyParameters(A,t,a){if(typeof A>"u")throw new MA("statusCode must be defined");if(typeof t>"u")throw new MA("data must be defined");if(typeof a!="object")throw new MA("responseOptions must be an object")}reply(A){if(typeof A=="function"){let n=d=>{let l=A(d);if(typeof l!="object")throw new MA("reply options callback must return an object");let{statusCode:p,data:g="",responseOptions:c={}}=l;return this.validateReplyParameters(p,g,c),{...this.createMockScopeDispatchData(p,g,c)}},o=qd(this[es],this[As],n);return new oa(o)}let[t,a="",r={}]=[...arguments];this.validateReplyParameters(t,a,r);let i=this.createMockScopeDispatchData(t,a,r),s=qd(this[es],this[As],i);return new oa(s)}replyWithError(A){if(typeof A>"u")throw new MA("error must be defined");let t=qd(this[es],this[As],{error:A});return new oa(t)}defaultReplyHeaders(A){if(typeof A>"u")throw new MA("headers must be defined");return this[Hd]=A,this}defaultReplyTrailers(A){if(typeof A>"u")throw new MA("trailers must be defined");return this[Od]=A,this}replyContentLength(){return this[Pd]=!0,this}};Zd.exports.MockInterceptor=Wd;Zd.exports.MockScope=oa});var Kd=E((Ub,Ic)=>{"use strict";var{promisify:G7}=require("util"),x7=sr(),{buildMockDispatch:_7}=gr(),{kDispatches:Ec,kMockAgent:Qc,kClose:mc,kOriginalClose:Cc,kOrigin:Bc,kOriginalDispatch:q7,kConnected:Xd}=na(),{MockInterceptor:H7}=jd(),hc=ie(),{InvalidArgumentError:O7}=$(),zd=class extends x7{constructor(A,t){if(super(A,t),!t||!t.agent||typeof t.agent.dispatch!="function")throw new O7("Argument opts.agent must implement Agent");this[Qc]=t.agent,this[Bc]=A,this[Ec]=[],this[Xd]=1,this[q7]=this.dispatch,this[Cc]=this.close.bind(this),this.dispatch=_7.call(this),this.close=this[mc]}get[hc.kConnected](){return this[Xd]}intercept(A){return new H7(A,this[Ec])}async[mc](){await G7(this[Cc])(),this[Xd]=0,this[Qc][hc.kClients].delete(this[Bc])}};Ic.exports=zd});var Ap=E((Tb,Nc)=>{"use strict";var{promisify:P7}=require("util"),W7=$1(),{buildMockDispatch:Z7}=gr(),{kDispatches:fc,kMockAgent:wc,kClose:yc,kOriginalClose:Dc,kOrigin:Rc,kOriginalDispatch:j7,kConnected:$d}=na(),{MockInterceptor:X7}=jd(),vc=ie(),{InvalidArgumentError:z7}=$(),ep=class extends W7{constructor(A,t){if(super(A,t),!t||!t.agent||typeof t.agent.dispatch!="function")throw new z7("Argument opts.agent must implement Agent");this[wc]=t.agent,this[Rc]=A,this[fc]=[],this[$d]=1,this[j7]=this.dispatch,this[Dc]=this.close.bind(this),this.dispatch=Z7.call(this),this.close=this[yc]}get[vc.kConnected](){return this[$d]}intercept(A){return new X7(A,this[fc])}async[yc](){await P7(this[Dc])(),this[$d]=0,this[wc][vc.kClients].delete(this[Rc])}};Nc.exports=ep});var Sc=E((Vb,bc)=>{"use strict";var K7={pronoun:"it",is:"is",was:"was",this:"this"},$7={pronoun:"they",is:"are",was:"were",this:"these"};bc.exports=class{constructor(A,t){this.singular=A,this.plural=t}pluralize(A){let t=A===1,a=t?K7:$7,r=t?this.singular:this.plural;return{...a,count:A,noun:r}}}});var kc=E((Jb,Fc)=>{"use strict";var{Transform:ef}=require("stream"),{Console:Af}=require("console");Fc.exports=class{constructor({disableColors:A}={}){this.transform=new ef({transform(t,a,r){r(null,t)}}),this.logger=new Af({stdout:this.transform,inspectOptions:{colors:!A&&!process.env.CI}})}format(A){let t=A.map(({method:a,path:r,data:{statusCode:i},persist:s,times:n,timesInvoked:o,origin:d})=>({Method:a,Origin:d,Path:r,"Status code":i,Persistent:s?"\u2705":"\u274C",Invocations:o,Remaining:s?1/0:n-o}));return this.logger.table(t),this.transform.read().toString()}}});var Mc=E((Gb,Tc)=>{"use strict";var{kClients:o1}=ie(),tf=pr(),{kAgent:tp,kMockAgentSet:as,kMockAgentGet:Lc,kDispatches:ap,kIsMockActive:rs,kNetConnect:d1,kGetNetConnect:af,kOptions:is,kFactory:ss}=na(),rf=Kd(),sf=Ap(),{matchValue:nf,buildMockOptions:of}=gr(),{InvalidArgumentError:Uc,UndiciError:df}=$(),pf=Fi(),lf=Sc(),gf=kc(),rp=class{constructor(A){this.value=A}deref(){return this.value}},ip=class extends pf{constructor(A){if(super(A),this[d1]=!0,this[rs]=!0,A&&A.agent&&typeof A.agent.dispatch!="function")throw new Uc("Argument opts.agent must implement Agent");let t=A&&A.agent?A.agent:new tf(A);this[tp]=t,this[o1]=t[o1],this[is]=of(A)}get(A){let t=this[Lc](A);return t||(t=this[ss](A),this[as](A,t)),t}dispatch(A,t){return this.get(A.origin),this[tp].dispatch(A,t)}async close(){await this[tp].close(),this[o1].clear()}deactivate(){this[rs]=!1}activate(){this[rs]=!0}enableNetConnect(A){if(typeof A=="string"||typeof A=="function"||A instanceof RegExp)Array.isArray(this[d1])?this[d1].push(A):this[d1]=[A];else if(typeof A>"u")this[d1]=!0;else throw new Uc("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[d1]=!1}get isMockActive(){return this[rs]}[as](A,t){this[o1].set(A,new rp(t))}[ss](A){let t=Object.assign({agent:this},this[is]);return this[is]&&this[is].connections===1?new rf(A,t):new sf(A,t)}[Lc](A){let t=this[o1].get(A);if(t)return t.deref();if(typeof A!="string"){let a=this[ss]("http://localhost:9999");return this[as](A,a),a}for(let[a,r]of Array.from(this[o1])){let i=r.deref();if(i&&typeof a!="string"&&nf(a,A)){let s=this[ss](A);return this[as](A,s),s[ap]=i[ap],s}}}[af](){return this[d1]}pendingInterceptors(){let A=this[o1];return Array.from(A.entries()).flatMap(([t,a])=>a.deref()[ap].map(r=>({...r,origin:t}))).filter(({pending:t})=>t)}assertNoPendingInterceptors({pendingInterceptorsFormatter:A=new gf}={}){let t=this.pendingInterceptors();if(t.length===0)return;let a=new lf("interceptor","interceptors").pluralize(t.length);throw new df(` +${a.count} ${a.noun} ${a.is} pending: + +${A.format(t)} +`.trim())}};Tc.exports=ip});var qc=E((xb,xc)=>{"use strict";var{kProxy:cf,kClose:uf,kDestroy:Ef,kInterceptors:Qf}=ie(),{URL:Vc}=require("url"),Yc=pr(),mf=$1(),Cf=Ka(),{InvalidArgumentError:ur,RequestAbortedError:Bf}=$(),Jc=$a(),cr=Symbol("proxy agent"),ns=Symbol("proxy client"),os=Symbol("proxy headers"),sp=Symbol("request tls settings"),hf=Symbol("proxy tls settings"),Gc=Symbol("connect endpoint function");function If(e){return e==="https:"?443:80}function ff(e){if(typeof e=="string"&&(e={uri:e}),!e||!e.uri)throw new ur("Proxy opts.uri is mandatory");return{uri:e.uri,protocol:e.protocol||"https"}}function wf(e,A){return new mf(e,A)}var np=class extends Cf{constructor(A){if(super(A),this[cf]=ff(A),this[cr]=new Yc(A),this[Qf]=A.interceptors&&A.interceptors.ProxyAgent&&Array.isArray(A.interceptors.ProxyAgent)?A.interceptors.ProxyAgent:[],typeof A=="string"&&(A={uri:A}),!A||!A.uri)throw new ur("Proxy opts.uri is mandatory");let{clientFactory:t=wf}=A;if(typeof t!="function")throw new ur("Proxy opts.clientFactory must be a function.");if(this[sp]=A.requestTls,this[hf]=A.proxyTls,this[os]=A.headers||{},A.auth&&A.token)throw new ur("opts.auth cannot be used in combination with opts.token");A.auth?this[os]["proxy-authorization"]=`Basic ${A.auth}`:A.token&&(this[os]["proxy-authorization"]=A.token);let a=new Vc(A.uri),{origin:r,port:i,host:s}=a,n=Jc({...A.proxyTls});this[Gc]=Jc({...A.requestTls}),this[ns]=t(a,{connect:n}),this[cr]=new Yc({...A,connect:async(o,d)=>{let l=o.host;o.port||(l+=`:${If(o.protocol)}`);try{let{socket:p,statusCode:g}=await this[ns].connect({origin:r,port:i,path:l,signal:o.signal,headers:{...this[os],host:s}});if(g!==200&&(p.on("error",()=>{}).destroy(),d(new Bf("Proxy response !== 200 when HTTP Tunneling"))),o.protocol!=="https:"){d(null,p);return}let c;this[sp]?c=this[sp].servername:c=o.servername,this[Gc]({...o,servername:c,httpSocket:p},d)}catch(p){d(p)}}})}dispatch(A,t){let{host:a}=new Vc(A.origin),r=yf(A.headers);return Df(r),this[cr].dispatch({...A,headers:{...r,host:a}},t)}async[uf](){await this[cr].close(),await this[ns].close()}async[Ef](){await this[cr].destroy(),await this[ns].destroy()}};function yf(e){if(Array.isArray(e)){let A={};for(let t=0;t<e.length;t+=2)A[e[t]]=e[t+1];return A}return e}function Df(e){if(e&&Object.keys(e).find(t=>t.toLowerCase()==="proxy-authorization"))throw new ur("Proxy-Authorization should be sent in ProxyAgent constructor")}xc.exports=np});var da=E((qb,Wc)=>{"use strict";var Hc=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:Rf}=$(),vf=pr();Pc()===void 0&&Oc(new vf);function Oc(e){if(!e||typeof e.dispatch!="function")throw new Rf("Argument agent must implement Agent");Object.defineProperty(globalThis,Hc,{value:e,writable:!0,enumerable:!1,configurable:!1})}function Pc(){return globalThis[Hc]}Wc.exports={setGlobalDispatcher:Oc,getGlobalDispatcher:Pc}});var jc=E((Ob,Zc)=>{"use strict";Zc.exports=class{constructor(A){this.handler=A}onConnect(...A){return this.handler.onConnect(...A)}onError(...A){return this.handler.onError(...A)}onUpgrade(...A){return this.handler.onUpgrade(...A)}onHeaders(...A){return this.handler.onHeaders(...A)}onData(...A){return this.handler.onData(...A)}onComplete(...A){return this.handler.onComplete(...A)}onBodySent(...A){return this.handler.onBodySent(...A)}}});var l1=E((Pb,$c)=>{"use strict";var{kHeadersList:Xe}=ie(),{kGuard:p1}=lt(),{kEnumerableProperty:$A}=q(),{makeIterator:op,isValidHeaderName:Er,isValidHeaderValue:Xc}=IA(),{webidl:Y}=xe(),Nf=require("assert"),ze=Symbol("headers map"),Ke=Symbol("headers map sorted");function zc(e){let A=e.length;for(;/[\r\n\t ]/.test(e.charAt(--A)););return e.slice(0,A+1).replace(/^[\r\n\t ]+/,"")}function Kc(e,A){if(Array.isArray(A))for(let t of A){if(t.length!==2)throw Y.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${t.length}.`});e.append(t[0],t[1])}else if(typeof A=="object"&&A!==null)for(let[t,a]of Object.entries(A))e.append(t,a);else throw Y.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}var ds=class e{cookies=null;constructor(A){A instanceof e?(this[ze]=new Map(A[ze]),this[Ke]=A[Ke],this.cookies=A.cookies):(this[ze]=new Map(A),this[Ke]=null)}contains(A){return A=A.toLowerCase(),this[ze].has(A)}clear(){this[ze].clear(),this[Ke]=null,this.cookies=null}append(A,t){this[Ke]=null;let a=A.toLowerCase(),r=this[ze].get(a);if(r){let i=a==="cookie"?"; ":", ";this[ze].set(a,{name:r.name,value:`${r.value}${i}${t}`})}else this[ze].set(a,{name:A,value:t});a==="set-cookie"&&(this.cookies??=[],this.cookies.push(t))}set(A,t){this[Ke]=null;let a=A.toLowerCase();return a==="set-cookie"&&(this.cookies=[t]),this[ze].set(a,{name:A,value:t})}delete(A){return this[Ke]=null,A=A.toLowerCase(),A==="set-cookie"&&(this.cookies=null),this[ze].delete(A)}get(A){return this.contains(A)?this[ze].get(A.toLowerCase())?.value??null:null}*[Symbol.iterator](){for(let[A,{value:t}]of this[ze])yield[A,t]}get entries(){let A={};if(this[ze].size)for(let{name:t,value:a}of this[ze].values())A[t]=a;return A}},pa=class e{constructor(A=void 0){this[Xe]=new ds,this[p1]="none",A!==void 0&&(A=Y.converters.HeadersInit(A),Kc(this,A))}append(A,t){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,2,{header:"Headers.append"}),A=Y.converters.ByteString(A),t=Y.converters.ByteString(t),t=zc(t),Er(A)){if(!Xc(t))throw Y.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header value"})}else throw Y.errors.invalidArgument({prefix:"Headers.append",value:A,type:"header name"});if(this[p1]==="immutable")throw new TypeError("immutable");return this[p1],this[Xe].append(A,t)}delete(A){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,1,{header:"Headers.delete"}),A=Y.converters.ByteString(A),!Er(A))throw Y.errors.invalidArgument({prefix:"Headers.delete",value:A,type:"header name"});if(this[p1]==="immutable")throw new TypeError("immutable");if(this[p1],!!this[Xe].contains(A))return this[Xe].delete(A)}get(A){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,1,{header:"Headers.get"}),A=Y.converters.ByteString(A),!Er(A))throw Y.errors.invalidArgument({prefix:"Headers.get",value:A,type:"header name"});return this[Xe].get(A)}has(A){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,1,{header:"Headers.has"}),A=Y.converters.ByteString(A),!Er(A))throw Y.errors.invalidArgument({prefix:"Headers.has",value:A,type:"header name"});return this[Xe].contains(A)}set(A,t){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,2,{header:"Headers.set"}),A=Y.converters.ByteString(A),t=Y.converters.ByteString(t),t=zc(t),Er(A)){if(!Xc(t))throw Y.errors.invalidArgument({prefix:"Headers.set",value:t,type:"header value"})}else throw Y.errors.invalidArgument({prefix:"Headers.set",value:A,type:"header name"});if(this[p1]==="immutable")throw new TypeError("immutable");return this[p1],this[Xe].set(A,t)}getSetCookie(){Y.brandCheck(this,e);let A=this[Xe].cookies;return A?[...A]:[]}get[Ke](){if(this[Xe][Ke])return this[Xe][Ke];let A=[],t=[...this[Xe]].sort((r,i)=>r[0]<i[0]?-1:1),a=this[Xe].cookies;for(let[r,i]of t)if(r==="set-cookie")for(let s of a)A.push([r,s]);else Nf(i!==null),A.push([r,i]);return this[Xe][Ke]=A,A}keys(){return Y.brandCheck(this,e),op(()=>[...this[Ke].values()],"Headers","key")}values(){return Y.brandCheck(this,e),op(()=>[...this[Ke].values()],"Headers","value")}entries(){return Y.brandCheck(this,e),op(()=>[...this[Ke].values()],"Headers","key+value")}forEach(A,t=globalThis){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,1,{header:"Headers.forEach"}),typeof A!="function")throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.");for(let[a,r]of this)A.apply(t,[r,a,this])}[Symbol.for("nodejs.util.inspect.custom")](){return Y.brandCheck(this,e),this[Xe]}};pa.prototype[Symbol.iterator]=pa.prototype.entries;Object.defineProperties(pa.prototype,{append:$A,delete:$A,get:$A,has:$A,set:$A,getSetCookie:$A,keys:$A,values:$A,entries:$A,forEach:$A,[Symbol.iterator]:{enumerable:!1},[Symbol.toStringTag]:{value:"Headers",configurable:!0}});Y.converters.HeadersInit=function(e){if(Y.util.Type(e)==="Object")return e[Symbol.iterator]?Y.converters["sequence<sequence<ByteString>>"](e):Y.converters["record<ByteString, ByteString>"](e);throw Y.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})};$c.exports={fill:Kc,Headers:pa,HeadersList:ds}});var cs=E((Wb,su)=>{"use strict";var{Headers:bf,HeadersList:eu,fill:Sf}=l1(),{extractBody:Au,cloneBody:Ff,mixinBody:kf}=Xa(),lp=q(),{kEnumerableProperty:pA}=lp,{isValidReasonPhrase:Lf,isCancelled:Uf,isAborted:Tf,isBlobLike:Mf,serializeJavascriptValueToJSONString:Vf,isErrorLike:Yf,isomorphicEncode:Jf}=IA(),{redirectStatus:Gf,nullBodyStatus:xf,DOMException:qf}=kt(),{kState:ae,kHeaders:ve,kGuard:la,kRealm:dA}=lt(),{webidl:M}=xe(),{FormData:Hf}=bi(),{getGlobalOrigin:Of}=Pa(),{URLSerializer:tu}=UA(),{kHeadersList:dp}=ie(),gp=require("assert"),{types:pp}=require("util"),ru=globalThis.ReadableStream||require("stream/web").ReadableStream,ga=class e{static error(){let A={settingsObject:{}},t=new e;return t[ae]=ls(),t[dA]=A,t[ve][dp]=t[ae].headersList,t[ve][la]="immutable",t[ve][dA]=A,t}static json(A=void 0,t={}){M.argumentLengthCheck(arguments,1,{header:"Response.json"}),t!==null&&(t=M.converters.ResponseInit(t));let a=new TextEncoder("utf-8").encode(Vf(A)),r=Au(a),i={settingsObject:{}},s=new e;return s[dA]=i,s[ve][la]="response",s[ve][dA]=i,au(s,t,{body:r[0],type:"application/json"}),s}static redirect(A,t=302){let a={settingsObject:{}};M.argumentLengthCheck(arguments,1,{header:"Response.redirect"}),A=M.converters.USVString(A),t=M.converters["unsigned short"](t);let r;try{r=new URL(A,Of())}catch(n){throw Object.assign(new TypeError("Failed to parse URL from "+A),{cause:n})}if(!Gf.includes(t))throw new RangeError("Invalid status code "+t);let i=new e;i[dA]=a,i[ve][la]="immutable",i[ve][dA]=a,i[ae].status=t;let s=Jf(tu(r));return i[ae].headersList.append("location",s),i}constructor(A=null,t={}){A!==null&&(A=M.converters.BodyInit(A)),t=M.converters.ResponseInit(t),this[dA]={settingsObject:{}},this[ae]=gs({}),this[ve]=new bf,this[ve][la]="response",this[ve][dp]=this[ae].headersList,this[ve][dA]=this[dA];let a=null;if(A!=null){let[r,i]=Au(A);a={body:r,type:i}}au(this,t,a)}get type(){return M.brandCheck(this,e),this[ae].type}get url(){M.brandCheck(this,e);let A=this[ae].urlList,t=A[A.length-1]??null;return t===null?"":tu(t,!0)}get redirected(){return M.brandCheck(this,e),this[ae].urlList.length>1}get status(){return M.brandCheck(this,e),this[ae].status}get ok(){return M.brandCheck(this,e),this[ae].status>=200&&this[ae].status<=299}get statusText(){return M.brandCheck(this,e),this[ae].statusText}get headers(){return M.brandCheck(this,e),this[ve]}get body(){return M.brandCheck(this,e),this[ae].body?this[ae].body.stream:null}get bodyUsed(){return M.brandCheck(this,e),!!this[ae].body&&lp.isDisturbed(this[ae].body.stream)}clone(){if(M.brandCheck(this,e),this.bodyUsed||this.body&&this.body.locked)throw M.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let A=cp(this[ae]),t=new e;return t[ae]=A,t[dA]=this[dA],t[ve][dp]=A.headersList,t[ve][la]=this[ve][la],t[ve][dA]=this[ve][dA],t}};kf(ga);Object.defineProperties(ga.prototype,{type:pA,url:pA,status:pA,ok:pA,redirected:pA,statusText:pA,headers:pA,clone:pA,body:pA,bodyUsed:pA,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties(ga,{json:pA,redirect:pA,error:pA});function cp(e){if(e.internalResponse)return iu(cp(e.internalResponse),e.type);let A=gs({...e,body:null});return e.body!=null&&(A.body=Ff(e.body)),A}function gs(e){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e.headersList?new eu(e.headersList):new eu,urlList:e.urlList?[...e.urlList]:[]}}function ls(e){let A=Yf(e);return gs({type:"error",status:0,error:A?e:new Error(e&&String(e)),aborted:e&&e.name==="AbortError"})}function ps(e,A){return A={internalResponse:e,...A},new Proxy(e,{get(t,a){return a in A?A[a]:t[a]},set(t,a,r){return gp(!(a in A)),t[a]=r,!0}})}function iu(e,A){if(A==="basic")return ps(e,{type:"basic",headersList:e.headersList});if(A==="cors")return ps(e,{type:"cors",headersList:e.headersList});if(A==="opaque")return ps(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null});if(A==="opaqueredirect")return ps(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});gp(!1)}function Pf(e){return gp(Uf(e)),Tf(e)?ls(new qf("The operation was aborted.","AbortError")):ls("Request was cancelled.")}function au(e,A,t){if(A.status!==null&&(A.status<200||A.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in A&&A.statusText!=null&&!Lf(String(A.statusText)))throw new TypeError("Invalid statusText");if("status"in A&&A.status!=null&&(e[ae].status=A.status),"statusText"in A&&A.statusText!=null&&(e[ae].statusText=A.statusText),"headers"in A&&A.headers!=null&&Sf(e[ve],A.headers),t){if(xf.includes(e.status))throw M.errors.exception({header:"Response constructor",message:"Invalid response status code "+e.status});e[ae].body=t.body,t.type!=null&&!e[ae].headersList.contains("Content-Type")&&e[ae].headersList.append("content-type",t.type)}}M.converters.ReadableStream=M.interfaceConverter(ru);M.converters.FormData=M.interfaceConverter(Hf);M.converters.URLSearchParams=M.interfaceConverter(URLSearchParams);M.converters.XMLHttpRequestBodyInit=function(e){return typeof e=="string"?M.converters.USVString(e):Mf(e)?M.converters.Blob(e,{strict:!1}):pp.isAnyArrayBuffer(e)||pp.isTypedArray(e)||pp.isDataView(e)?M.converters.BufferSource(e):lp.isFormDataLike(e)?M.converters.FormData(e,{strict:!1}):e instanceof URLSearchParams?M.converters.URLSearchParams(e):M.converters.DOMString(e)};M.converters.BodyInit=function(e){return e instanceof ru?M.converters.ReadableStream(e):e?.[Symbol.asyncIterator]?e:M.converters.XMLHttpRequestBodyInit(e)};M.converters.ResponseInit=M.dictionaryConverter([{key:"status",converter:M.converters["unsigned short"],defaultValue:200},{key:"statusText",converter:M.converters.ByteString,defaultValue:""},{key:"headers",converter:M.converters.HeadersInit}]);su.exports={makeNetworkError:ls,makeResponse:gs,makeAppropriateNetworkError:Pf,filterResponse:iu,Response:ga,cloneResponse:cp}});var Cr=E((Zb,cu)=>{"use strict";var{extractBody:Wf,mixinBody:Zf,cloneBody:jf}=Xa(),{Headers:up,fill:Xf,HeadersList:nu}=l1(),{FinalizationRegistry:zf}=wd()(),mr=q(),{isValidHTTPToken:Kf,sameOrigin:ou,normalizeMethod:$f,makePolicyContainer:ew}=IA(),{forbiddenMethods:Aw,corsSafeListedMethods:tw,referrerPolicy:aw,requestRedirect:rw,requestMode:iw,requestCredentials:sw,requestCache:nw,requestDuplex:ow}=kt(),{kEnumerableProperty:Ce}=mr,{kHeaders:Ne,kSignal:Qr,kState:Ae,kGuard:us,kRealm:lA}=lt(),{webidl:S}=xe(),{getGlobalOrigin:dw}=Pa(),{URLSerializer:pw}=UA(),{kHeadersList:Es}=ie(),lw=require("assert"),{getMaxListeners:du,setMaxListeners:pu,getEventListeners:gw,defaultMaxListeners:lu}=require("events"),Ep=globalThis.TransformStream,gu=Symbol("init"),cw=Symbol("abortController"),uw=new zf(({signal:e,abort:A})=>{e.removeEventListener("abort",A)}),g1=class e{constructor(A,t={}){if(A===gu)return;S.argumentLengthCheck(arguments,1,{header:"Request constructor"}),A=S.converters.RequestInfo(A),t=S.converters.RequestInit(t),this[lA]={settingsObject:{baseUrl:dw(),get origin(){return this.baseUrl?.origin},policyContainer:ew()}};let a=null,r=null,i=this[lA].settingsObject.baseUrl,s=null;if(typeof A=="string"){let m;try{m=new URL(A,i)}catch(Q){throw new TypeError("Failed to parse URL from "+A,{cause:Q})}if(m.username||m.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+A);a=Qs({urlList:[m]}),r="cors"}else lw(A instanceof e),a=A[Ae],s=A[Qr];let n=this[lA].settingsObject.origin,o="client";if(a.window?.constructor?.name==="EnvironmentSettingsObject"&&ou(a.window,n)&&(o=a.window),t.window!=null)throw new TypeError(`'window' option '${o}' must be null`);if("window"in t&&(o="no-window"),a=Qs({method:a.method,headersList:a.headersList,unsafeRequest:a.unsafeRequest,client:this[lA].settingsObject,window:o,priority:a.priority,origin:a.origin,referrer:a.referrer,referrerPolicy:a.referrerPolicy,mode:a.mode,credentials:a.credentials,cache:a.cache,redirect:a.redirect,integrity:a.integrity,keepalive:a.keepalive,reloadNavigation:a.reloadNavigation,historyNavigation:a.historyNavigation,urlList:[...a.urlList]}),Object.keys(t).length>0&&(a.mode==="navigate"&&(a.mode="same-origin"),a.reloadNavigation=!1,a.historyNavigation=!1,a.origin="client",a.referrer="client",a.referrerPolicy="",a.url=a.urlList[a.urlList.length-1],a.urlList=[a.url]),t.referrer!==void 0){let m=t.referrer;if(m==="")a.referrer="no-referrer";else{let Q;try{Q=new URL(m,i)}catch(C){throw new TypeError(`Referrer "${m}" is not a valid URL.`,{cause:C})}Q.protocol==="about:"&&Q.hostname==="client"||n&&!ou(Q,this[lA].settingsObject.baseUrl)?a.referrer="client":a.referrer=Q}}t.referrerPolicy!==void 0&&(a.referrerPolicy=t.referrerPolicy);let d;if(t.mode!==void 0?d=t.mode:d=r,d==="navigate")throw S.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(d!=null&&(a.mode=d),t.credentials!==void 0&&(a.credentials=t.credentials),t.cache!==void 0&&(a.cache=t.cache),a.cache==="only-if-cached"&&a.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(t.redirect!==void 0&&(a.redirect=t.redirect),t.integrity!==void 0&&t.integrity!=null&&(a.integrity=String(t.integrity)),t.keepalive!==void 0&&(a.keepalive=!!t.keepalive),t.method!==void 0){let m=t.method;if(!Kf(t.method))throw TypeError(`'${t.method}' is not a valid HTTP method.`);if(Aw.indexOf(m.toUpperCase())!==-1)throw TypeError(`'${t.method}' HTTP method is unsupported.`);m=$f(t.method),a.method=m}t.signal!==void 0&&(s=t.signal),this[Ae]=a;let l=new AbortController;if(this[Qr]=l.signal,this[Qr][lA]=this[lA],s!=null){if(!s||typeof s.aborted!="boolean"||typeof s.addEventListener!="function")throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.");if(s.aborted)l.abort(s.reason);else{this[cw]=l;let m=new WeakRef(l),Q=function(){let C=m.deref();C!==void 0&&C.abort(this.reason)};try{(typeof du=="function"&&du(s)===lu||gw(s,"abort").length>=lu)&&pu(100,s)}catch{}mr.addAbortListener(s,Q),uw.register(l,{signal:s,abort:Q})}}if(this[Ne]=new up,this[Ne][Es]=a.headersList,this[Ne][us]="request",this[Ne][lA]=this[lA],d==="no-cors"){if(!tw.includes(a.method))throw new TypeError(`'${a.method} is unsupported in no-cors mode.`);this[Ne][us]="request-no-cors"}if(Object.keys(t).length!==0){let m=new up(this[Ne]);if(t.headers!==void 0&&(m=t.headers),this[Ne][Es].clear(),m.constructor.name==="Headers")for(let[Q,C]of m)this[Ne].append(Q,C);else Xf(this[Ne],m)}let p=A instanceof e?A[Ae].body:null;if((t.body!=null||p!=null)&&(a.method==="GET"||a.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let g=null;if(t.body!=null){let[m,Q]=Wf(t.body,a.keepalive);g=m,Q&&!this[Ne][Es].contains("content-type")&&this[Ne].append("content-type",Q)}let c=g??p;if(c!=null&&c.source==null){if(g!=null&&t.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(a.mode!=="same-origin"&&a.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');a.useCORSPreflightFlag=!0}let u=c;if(g==null&&p!=null){if(mr.isDisturbed(p.stream)||p.stream.locked)throw new TypeError("Cannot construct a Request with a Request object that has already been used.");Ep||(Ep=require("stream/web").TransformStream);let m=new Ep;p.stream.pipeThrough(m),u={source:p.source,length:p.length,stream:m.readable}}this[Ae].body=u}get method(){return S.brandCheck(this,e),this[Ae].method}get url(){return S.brandCheck(this,e),pw(this[Ae].url)}get headers(){return S.brandCheck(this,e),this[Ne]}get destination(){return S.brandCheck(this,e),this[Ae].destination}get referrer(){return S.brandCheck(this,e),this[Ae].referrer==="no-referrer"?"":this[Ae].referrer==="client"?"about:client":this[Ae].referrer.toString()}get referrerPolicy(){return S.brandCheck(this,e),this[Ae].referrerPolicy}get mode(){return S.brandCheck(this,e),this[Ae].mode}get credentials(){return this[Ae].credentials}get cache(){return S.brandCheck(this,e),this[Ae].cache}get redirect(){return S.brandCheck(this,e),this[Ae].redirect}get integrity(){return S.brandCheck(this,e),this[Ae].integrity}get keepalive(){return S.brandCheck(this,e),this[Ae].keepalive}get isReloadNavigation(){return S.brandCheck(this,e),this[Ae].reloadNavigation}get isHistoryNavigation(){return S.brandCheck(this,e),this[Ae].historyNavigation}get signal(){return S.brandCheck(this,e),this[Qr]}get body(){return S.brandCheck(this,e),this[Ae].body?this[Ae].body.stream:null}get bodyUsed(){return S.brandCheck(this,e),!!this[Ae].body&&mr.isDisturbed(this[Ae].body.stream)}get duplex(){return S.brandCheck(this,e),"half"}clone(){if(S.brandCheck(this,e),this.bodyUsed||this.body?.locked)throw new TypeError("unusable");let A=Ew(this[Ae]),t=new e(gu);t[Ae]=A,t[lA]=this[lA],t[Ne]=new up,t[Ne][Es]=A.headersList,t[Ne][us]=this[Ne][us],t[Ne][lA]=this[Ne][lA];let a=new AbortController;return this.signal.aborted?a.abort(this.signal.reason):mr.addAbortListener(this.signal,()=>{a.abort(this.signal.reason)}),t[Qr]=a.signal,t}};Zf(g1);function Qs(e){let A={method:"GET",localURLsOnly:!1,unsafeRequest:!1,body:null,client:null,reservedClient:null,replacesClientId:"",window:"client",keepalive:!1,serviceWorkers:"all",initiator:"",destination:"",priority:null,origin:"client",policyContainer:"client",referrer:"client",referrerPolicy:"",mode:"no-cors",useCORSPreflightFlag:!1,credentials:"same-origin",useCredentials:!1,cache:"default",redirect:"follow",integrity:"",cryptoGraphicsNonceMetadata:"",parserMetadata:"",reloadNavigation:!1,historyNavigation:!1,userActivation:!1,taintedOrigin:!1,redirectCount:0,responseTainting:"basic",preventNoCacheCacheControlHeaderModification:!1,done:!1,timingAllowFailed:!1,...e,headersList:e.headersList?new nu(e.headersList):new nu};return A.url=A.urlList[0],A}function Ew(e){let A=Qs({...e,body:null});return e.body!=null&&(A.body=jf(e.body)),A}Object.defineProperties(g1.prototype,{method:Ce,url:Ce,headers:Ce,redirect:Ce,clone:Ce,signal:Ce,duplex:Ce,destination:Ce,body:Ce,bodyUsed:Ce,isHistoryNavigation:Ce,isReloadNavigation:Ce,keepalive:Ce,integrity:Ce,cache:Ce,credentials:Ce,attribute:Ce,referrerPolicy:Ce,referrer:Ce,mode:Ce,[Symbol.toStringTag]:{value:"Request",configurable:!0}});S.converters.Request=S.interfaceConverter(g1);S.converters.RequestInfo=function(e){return typeof e=="string"?S.converters.USVString(e):e instanceof g1?S.converters.Request(e):S.converters.USVString(e)};S.converters.AbortSignal=S.interfaceConverter(AbortSignal);S.converters.RequestInit=S.dictionaryConverter([{key:"method",converter:S.converters.ByteString},{key:"headers",converter:S.converters.HeadersInit},{key:"body",converter:S.nullableConverter(S.converters.BodyInit)},{key:"referrer",converter:S.converters.USVString},{key:"referrerPolicy",converter:S.converters.DOMString,allowedValues:aw},{key:"mode",converter:S.converters.DOMString,allowedValues:iw},{key:"credentials",converter:S.converters.DOMString,allowedValues:sw},{key:"cache",converter:S.converters.DOMString,allowedValues:nw},{key:"redirect",converter:S.converters.DOMString,allowedValues:rw},{key:"integrity",converter:S.converters.DOMString},{key:"keepalive",converter:S.converters.boolean},{key:"signal",converter:S.nullableConverter(e=>S.converters.AbortSignal(e,{strict:!1}))},{key:"window",converter:S.converters.any},{key:"duplex",converter:S.converters.DOMString,allowedValues:ow}]);cu.exports={Request:g1,makeRequest:Qs}});var ws=E((jb,vu)=>{"use strict";var{Response:Qw,makeNetworkError:K,makeAppropriateNetworkError:ms,filterResponse:Qp,makeResponse:Cs}=cs(),{Headers:uu}=l1(),{Request:mw,makeRequest:Cw}=Cr(),Br=require("zlib"),{bytesMatch:Bw,makePolicyContainer:hw,clonePolicyContainer:Iw,requestBadPort:fw,TAOCheck:ww,appendRequestOriginHeader:yw,responseLocationURL:Dw,requestCurrentURL:et,setRequestReferrerPolicyOnRedirect:Rw,tryUpgradeRequestToAPotentiallyTrustworthyURL:vw,createOpaqueTimingInfo:Rp,appendFetchMetadata:Nw,corsCheck:bw,crossOriginResourcePolicyCheck:Sw,determineRequestsReferrer:Fw,coarsenedSharedCurrentTime:vp,createDeferredPromise:kw,isBlobLike:Lw,sameOrigin:fp,isCancelled:ca,isAborted:Eu,isErrorLike:Uw,fullyReadBody:Bu,readableStreamClose:Tw,isomorphicEncode:wp,urlIsLocal:Mw,urlIsHttpHttpsScheme:Np,urlHasHttpsScheme:Vw}=IA(),{kState:yp,kHeaders:mp,kGuard:Yw,kRealm:Qu}=lt(),ua=require("assert"),{safelyExtractBody:Bs}=Xa(),{redirectStatus:hu,nullBodyStatus:Iu,safeMethods:Jw,requestBodyHeader:Gw,subresource:xw,DOMException:hs}=kt(),{kHeadersList:Dp}=ie(),_w=require("events"),{Readable:qw,pipeline:Hw}=require("stream"),{addAbortListener:Ow,isErrored:Pw,isReadable:Is,nodeMajor:mu,nodeMinor:Ww}=q(),{dataURLProcessor:Zw,serializeAMimeType:jw}=UA(),{TransformStream:Xw}=require("stream/web"),{getGlobalDispatcher:zw}=da(),{webidl:Kw}=xe(),{STATUS_CODES:$w}=require("http"),Cp,Bp=globalThis.ReadableStream,fs=class extends _w{constructor(A){super(),this.dispatcher=A,this.connection=null,this.dump=!1,this.state="ongoing",this.setMaxListeners(21)}terminate(A){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(A),this.emit("terminated",A))}abort(A){this.state==="ongoing"&&(this.state="aborted",A||(A=new hs("The operation was aborted.","AbortError")),this.serializedAbortReason=A,this.connection?.destroy(A),this.emit("terminated",A))}};async function ey(e,A={}){Kw.argumentLengthCheck(arguments,1,{header:"globalThis.fetch"});let t=kw(),a;try{a=new mw(e,A)}catch(g){return t.reject(g),t.promise}let r=a[yp];if(a.signal.aborted)return hp(t,r,null,a.signal.reason),t.promise;r.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(r.serviceWorkers="none");let s=null,n=null,o=!1,d=null;return Ow(a.signal,()=>{o=!0,ua(d!=null),d.abort(a.signal.reason),hp(t,r,s,a.signal.reason)}),d=wu({request:r,processResponseEndOfBody:g=>fu(g,"fetch"),processResponse:g=>{if(!o){if(g.aborted){hp(t,r,s,d.serializedAbortReason);return}if(g.type==="error"){t.reject(Object.assign(new TypeError("fetch failed"),{cause:g.error}));return}s=new Qw,s[yp]=g,s[Qu]=n,s[mp][Dp]=g.headersList,s[mp][Yw]="immutable",s[mp][Qu]=n,t.resolve(s)}},dispatcher:A.dispatcher??zw()}),t.promise}function fu(e,A="other"){if(e.type==="error"&&e.aborted||!e.urlList?.length)return;let t=e.urlList[0],a=e.timingInfo,r=e.cacheState;Np(t)&&a!==null&&(a.timingAllowPassed||(a=Rp({startTime:a.startTime}),r=""),a.endTime=vp(),e.timingInfo=a,Ay(a,t,A,globalThis,r))}function Ay(e,A,t,a,r){(mu>18||mu===18&&Ww>=2)&&performance.markResourceTiming(e,A.href,t,a,r)}function hp(e,A,t,a){if(a||(a=new hs("The operation was aborted.","AbortError")),e.reject(a),A.body!=null&&Is(A.body?.stream)&&A.body.stream.cancel(a).catch(i=>{if(i.code!=="ERR_INVALID_STATE")throw i}),t==null)return;let r=t[yp];r.body!=null&&Is(r.body?.stream)&&r.body.stream.cancel(a).catch(i=>{if(i.code!=="ERR_INVALID_STATE")throw i})}function wu({request:e,processRequestBodyChunkLength:A,processRequestEndOfBody:t,processResponse:a,processResponseEndOfBody:r,processResponseConsumeBody:i,useParallelQueue:s=!1,dispatcher:n}){let o=null,d=!1;e.client!=null&&(o=e.client.globalObject,d=e.client.crossOriginIsolatedCapability);let l=vp(d),p=Rp({startTime:l}),g={controller:new fs(n),request:e,timingInfo:p,processRequestBodyChunkLength:A,processRequestEndOfBody:t,processResponse:a,processResponseConsumeBody:i,processResponseEndOfBody:r,taskDestination:o,crossOriginIsolatedCapability:d};return ua(!e.body||e.body.stream),e.window==="client"&&(e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"),e.origin==="client"&&(e.origin=e.client?.origin),e.policyContainer==="client"&&(e.client!=null?e.policyContainer=Iw(e.client.policyContainer):e.policyContainer=hw()),e.headersList.contains("accept")||e.headersList.append("accept","*/*"),e.headersList.contains("accept-language")||e.headersList.append("accept-language","*"),e.priority,xw.includes(e.destination),yu(g).catch(c=>{g.controller.terminate(c)}),g.controller}async function yu(e,A=!1){let t=e.request,a=null;if(t.localURLsOnly&&!Mw(et(t))&&(a=K("local URLs only")),vw(t),fw(t)==="blocked"&&(a=K("bad port")),t.referrerPolicy===""&&(t.referrerPolicy=t.policyContainer.referrerPolicy),t.referrer!=="no-referrer"&&(t.referrer=Fw(t)),a===null&&(a=await(async()=>{let i=et(t);return fp(i,t.url)&&t.responseTainting==="basic"||i.protocol==="data:"||t.mode==="navigate"||t.mode==="websocket"?(t.responseTainting="basic",await Cu(e)):t.mode==="same-origin"?K('request mode cannot be "same-origin"'):t.mode==="no-cors"?t.redirect!=="follow"?K('redirect mode cannot be "follow" for "no-cors" request'):(t.responseTainting="opaque",await Cu(e)):Np(et(t))?(t.responseTainting="cors",await Du(e)):K("URL scheme must be a HTTP(S) scheme")})()),A)return a;a.status!==0&&!a.internalResponse&&(t.responseTainting,t.responseTainting==="basic"?a=Qp(a,"basic"):t.responseTainting==="cors"?a=Qp(a,"cors"):t.responseTainting==="opaque"?a=Qp(a,"opaque"):ua(!1));let r=a.status===0?a:a.internalResponse;if(r.urlList.length===0&&r.urlList.push(...t.urlList),t.timingAllowFailed||(a.timingAllowPassed=!0),a.type==="opaque"&&r.status===206&&r.rangeRequested&&!t.headers.contains("range")&&(a=r=K()),a.status!==0&&(t.method==="HEAD"||t.method==="CONNECT"||Iu.includes(r.status))&&(r.body=null,e.controller.dump=!0),t.integrity){let i=n=>Ip(e,K(n));if(t.responseTainting==="opaque"||a.body==null){i(a.error);return}let s=n=>{if(!Bw(n,t.integrity)){i("integrity mismatch");return}a.body=Bs(n)[0],Ip(e,a)};await Bu(a.body,s,i)}else Ip(e,a)}async function Cu(e){if(ca(e)&&e.request.redirectCount===0)return ms(e);let{request:A}=e,{protocol:t}=et(A);switch(t){case"about:":return K("about scheme is not supported");case"blob:":{Cp||(Cp=require("buffer").resolveObjectURL);let a=et(A);if(a.search.length!==0)return K("NetworkError when attempting to fetch resource.");let r=Cp(a.toString());if(A.method!=="GET"||!Lw(r))return K("invalid method");let i=Bs(r),s=i[0],n=wp(`${s.length}`),o=i[1]??"",d=Cs({statusText:"OK",headersList:[["content-length",{name:"Content-Length",value:n}],["content-type",{name:"Content-Type",value:o}]]});return d.body=s,d}case"data:":{let a=et(A),r=Zw(a);if(r==="failure")return K("failed to fetch the data URL");let i=jw(r.mimeType);return Cs({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:i}]],body:Bs(r.body)[0]})}case"file:":return K("not implemented... yet...");case"http:":case"https:":return await Du(e).catch(a=>K(a));default:return K("unknown scheme")}}function ty(e,A){e.request.done=!0,e.processResponseDone!=null&&queueMicrotask(()=>e.processResponseDone(A))}async function Ip(e,A){A.type==="error"&&(A.urlList=[e.request.urlList[0]],A.timingInfo=Rp({startTime:e.timingInfo.startTime}));let t=()=>{e.request.done=!0,e.processResponseEndOfBody!=null&&queueMicrotask(()=>e.processResponseEndOfBody(A))};if(e.processResponse!=null&&queueMicrotask(()=>e.processResponse(A)),A.body==null)t();else{let a=(i,s)=>{s.enqueue(i)},r=new Xw({start(){},transform:a,flush:t},{size(){return 1}},{size(){return 1}});A.body={stream:A.body.stream.pipeThrough(r)}}if(e.processResponseConsumeBody!=null){let a=i=>e.processResponseConsumeBody(A,i),r=i=>e.processResponseConsumeBody(A,i);A.body==null?queueMicrotask(()=>a(null)):await Bu(A.body,a,r)}}async function Du(e){let A=e.request,t=null,a=null,r=e.timingInfo;if(A.serviceWorkers,t===null){if(A.redirect==="follow"&&(A.serviceWorkers="none"),a=t=await Ru(e),A.responseTainting==="cors"&&bw(A,t)==="failure")return K("cors failure");ww(A,t)==="failure"&&(A.timingAllowFailed=!0)}return(A.responseTainting==="opaque"||t.type==="opaque")&&Sw(A.origin,A.client,A.destination,a)==="blocked"?K("blocked"):(hu.includes(a.status)&&(A.redirect!=="manual"&&e.controller.connection.destroy(),A.redirect==="error"?t=K("unexpected redirect"):A.redirect==="manual"?t=a:A.redirect==="follow"?t=await ay(e,t):ua(!1)),t.timingInfo=r,t)}async function ay(e,A){let t=e.request,a=A.internalResponse?A.internalResponse:A,r;try{if(r=Dw(a,et(t).hash),r==null)return A}catch(s){return K(s)}if(!Np(r))return K("URL scheme must be a HTTP(S) scheme");if(t.redirectCount===20)return K("redirect count exceeded");if(t.redirectCount+=1,t.mode==="cors"&&(r.username||r.password)&&!fp(t,r))return K('cross origin not allowed for request mode "cors"');if(t.responseTainting==="cors"&&(r.username||r.password))return K('URL cannot contain credentials for request mode "cors"');if(a.status!==303&&t.body!=null&&t.body.source==null)return K();if([301,302].includes(a.status)&&t.method==="POST"||a.status===303&&!["GET","HEAD"].includes(t.method)){t.method="GET",t.body=null;for(let s of Gw)t.headersList.delete(s)}fp(et(t),r)||t.headersList.delete("authorization"),t.body!=null&&(ua(t.body.source!=null),t.body=Bs(t.body.source)[0]);let i=e.timingInfo;return i.redirectEndTime=i.postRedirectStartTime=vp(e.crossOriginIsolatedCapability),i.redirectStartTime===0&&(i.redirectStartTime=i.startTime),t.urlList.push(r),Rw(t,a),yu(e,!0)}async function Ru(e,A=!1,t=!1){let a=e.request,r=null,i=null,s=null,n=null,o=!1;a.window==="no-window"&&a.redirect==="error"?(r=e,i=a):(i=Cw(a),r={...e},r.request=i);let d=a.credentials==="include"||a.credentials==="same-origin"&&a.responseTainting==="basic",l=i.body?i.body.length:null,p=null;if(i.body==null&&["POST","PUT"].includes(i.method)&&(p="0"),l!=null&&(p=wp(`${l}`)),p!=null&&i.headersList.append("content-length",p),l!=null&&i.keepalive,i.referrer instanceof URL&&i.headersList.append("referer",wp(i.referrer.href)),yw(i),Nw(i),i.headersList.contains("user-agent")||i.headersList.append("user-agent","undici"),i.cache==="default"&&(i.headersList.contains("if-modified-since")||i.headersList.contains("if-none-match")||i.headersList.contains("if-unmodified-since")||i.headersList.contains("if-match")||i.headersList.contains("if-range"))&&(i.cache="no-store"),i.cache==="no-cache"&&!i.preventNoCacheCacheControlHeaderModification&&!i.headersList.contains("cache-control")&&i.headersList.append("cache-control","max-age=0"),(i.cache==="no-store"||i.cache==="reload")&&(i.headersList.contains("pragma")||i.headersList.append("pragma","no-cache"),i.headersList.contains("cache-control")||i.headersList.append("cache-control","no-cache")),i.headersList.contains("range")&&i.headersList.append("accept-encoding","identity"),i.headersList.contains("accept-encoding")||(Vw(et(i))?i.headersList.append("accept-encoding","br, gzip, deflate"):i.headersList.append("accept-encoding","gzip, deflate")),n==null&&(i.cache="no-store"),i.mode!=="no-store"&&i.mode,s==null){if(i.mode==="only-if-cached")return K("only if cached");let g=await ry(r,d,t);!Jw.includes(i.method)&&g.status>=200&&g.status<=399,o&&g.status,s==null&&(s=g)}if(s.urlList=[...i.urlList],i.headersList.contains("range")&&(s.rangeRequested=!0),s.requestIncludesCredentials=d,s.status===407)return a.window==="no-window"?K():ca(e)?ms(e):K("proxy authentication required");if(s.status===421&&!t&&(a.body==null||a.body.source!=null)){if(ca(e))return ms(e);e.controller.connection.destroy(),s=await Ru(e,A,!0)}return s}async function ry(e,A=!1,t=!1){ua(!e.controller.connection||e.controller.connection.destroyed),e.controller.connection={abort:null,destroyed:!1,destroy(u){this.destroyed||(this.destroyed=!0,this.abort?.(u??new hs("The operation was aborted.","AbortError")))}};let a=e.request,r=null,i=e.timingInfo;null==null&&(a.cache="no-store");let n=t?"yes":"no";a.mode;let o=null;if(a.body==null&&e.processRequestEndOfBody)queueMicrotask(()=>e.processRequestEndOfBody());else if(a.body!=null){let u=async function*(C){ca(e)||(yield C,e.processRequestBodyChunkLength?.(C.byteLength))},m=()=>{ca(e)||e.processRequestEndOfBody&&e.processRequestEndOfBody()},Q=C=>{ca(e)||(C.name==="AbortError"?e.controller.abort():e.controller.terminate(C))};o=async function*(){try{for await(let C of a.body.stream)yield*u(C);m()}catch(C){Q(C)}}()}try{let{body:u,status:m,statusText:Q,headersList:C,socket:B}=await c({body:o});if(B)r=Cs({status:m,statusText:Q,headersList:C,socket:B});else{let w=u[Symbol.asyncIterator]();e.controller.next=()=>w.next(),r=Cs({status:m,statusText:Q,headersList:C})}}catch(u){return u.name==="AbortError"?(e.controller.connection.destroy(),ms(e)):K(u)}let d=()=>{e.controller.resume()},l=u=>{e.controller.abort(u)};Bp||(Bp=require("stream/web").ReadableStream);let p=new Bp({async start(u){e.controller.controller=u},async pull(u){await d(u)},async cancel(u){await l(u)}},{highWaterMark:0,size(){return 1}});r.body={stream:p},e.controller.on("terminated",g),e.controller.resume=async()=>{for(;;){let u,m;try{let{done:Q,value:C}=await e.controller.next();if(Eu(e))break;u=Q?void 0:C}catch(Q){e.controller.ended&&!i.encodedBodySize?u=void 0:(u=Q,m=!0)}if(u===void 0){Tw(e.controller.controller),ty(e,r);return}if(i.decodedBodySize+=u?.byteLength??0,m){e.controller.terminate(u);return}if(e.controller.controller.enqueue(new Uint8Array(u)),Pw(p)){e.controller.terminate();return}if(!e.controller.controller.desiredSize)return}};function g(u){Eu(e)?(r.aborted=!0,Is(p)&&e.controller.controller.error(e.controller.serializedAbortReason)):Is(p)&&e.controller.controller.error(new TypeError("terminated",{cause:Uw(u)?u:void 0})),e.controller.connection.destroy()}return r;async function c({body:u}){let m=et(a),Q=e.controller.dispatcher;return new Promise((C,B)=>Q.dispatch({path:m.pathname+m.search,origin:m.origin,method:a.method,body:e.controller.dispatcher.isMockActive?a.body&&a.body.source:u,headers:a.headersList.entries,maxRedirections:0,upgrade:a.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(w){let{connection:I}=e.controller;I.destroyed?w(new hs("The operation was aborted.","AbortError")):(e.controller.on("terminated",w),this.abort=I.abort=w)},onHeaders(w,I,y,b){if(w<200)return;let k=[],x="",ye=new uu;for(let Fe=0;Fe<I.length;Fe+=2){let le=I[Fe+0].toString("latin1"),QA=I[Fe+1].toString("latin1");le.toLowerCase()==="content-encoding"?k=QA.toLowerCase().split(",").map(j=>j.trim()).reverse():le.toLowerCase()==="location"&&(x=QA),ye.append(le,QA)}this.body=new qw({read:y});let Be=[],wt=a.redirect==="follow"&&x&&hu.includes(w);if(a.method!=="HEAD"&&a.method!=="CONNECT"&&!Iu.includes(w)&&!wt)for(let Fe of k)if(Fe==="x-gzip"||Fe==="gzip")Be.push(Br.createGunzip({flush:Br.constants.Z_SYNC_FLUSH,finishFlush:Br.constants.Z_SYNC_FLUSH}));else if(Fe==="deflate")Be.push(Br.createInflate());else if(Fe==="br")Be.push(Br.createBrotliDecompress());else{Be.length=0;break}return C({status:w,statusText:b,headersList:ye[Dp],body:Be.length?Hw(this.body,...Be,()=>{}):this.body.on("error",()=>{})}),!0},onData(w){if(e.controller.dump)return;let I=w;return i.encodedBodySize+=I.byteLength,this.body.push(I)},onComplete(){this.abort&&e.controller.off("terminated",this.abort),e.controller.ended=!0,this.body.push(null)},onError(w){this.abort&&e.controller.off("terminated",this.abort),this.body?.destroy(w),e.controller.terminate(w),B(w)},onUpgrade(w,I,y){if(w!==101)return;let b=new uu;for(let k=0;k<I.length;k+=2){let x=I[k+0].toString("latin1"),ye=I[k+1].toString("latin1");b.append(x,ye)}return C({status:w,statusText:$w[w],headersList:b[Dp],socket:y}),!0}}))}}vu.exports={fetch:ey,Fetch:fs,fetching:wu,finalizeAndReportTiming:fu}});var bp=E((Xb,Nu)=>{"use strict";Nu.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}});var Su=E((zb,bu)=>{"use strict";var{webidl:gA}=xe(),ys=Symbol("ProgressEvent state"),Sp=class e extends Event{constructor(A,t={}){A=gA.converters.DOMString(A),t=gA.converters.ProgressEventInit(t??{}),super(A,t),this[ys]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){return gA.brandCheck(this,e),this[ys].lengthComputable}get loaded(){return gA.brandCheck(this,e),this[ys].loaded}get total(){return gA.brandCheck(this,e),this[ys].total}};gA.converters.ProgressEventInit=gA.dictionaryConverter([{key:"lengthComputable",converter:gA.converters.boolean,defaultValue:!1},{key:"loaded",converter:gA.converters["unsigned long long"],defaultValue:0},{key:"total",converter:gA.converters["unsigned long long"],defaultValue:0},{key:"bubbles",converter:gA.converters.boolean,defaultValue:!1},{key:"cancelable",converter:gA.converters.boolean,defaultValue:!1},{key:"composed",converter:gA.converters.boolean,defaultValue:!1}]);bu.exports={ProgressEvent:Sp}});var ku=E((Kb,Fu)=>{"use strict";function iy(e){if(!e)return"failure";switch(e.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}Fu.exports={getEncoding:iy}});var Gu=E(($b,Ju)=>{"use strict";var{kState:Ea,kError:Fp,kResult:Lu,kAborted:hr,kLastProgressEventFired:kp}=bp(),{ProgressEvent:sy}=Su(),{getEncoding:Uu}=ku(),{DOMException:ny}=kt(),{serializeAMimeType:oy,parseMIMEType:Tu}=UA(),{types:dy}=require("util"),{StringDecoder:Mu}=require("string_decoder"),{btoa:Vu}=require("buffer"),py={enumerable:!0,writable:!1,configurable:!1};function ly(e,A,t,a){if(e[Ea]==="loading")throw new ny("Invalid state","InvalidStateError");e[Ea]="loading",e[Lu]=null,e[Fp]=null;let i=A.stream().getReader(),s=[],n=i.read(),o=!0;(async()=>{for(;!e[hr];)try{let{done:d,value:l}=await n;if(o&&!e[hr]&&queueMicrotask(()=>{Gt("loadstart",e)}),o=!1,!d&&dy.isUint8Array(l))s.push(l),(e[kp]===void 0||Date.now()-e[kp]>=50)&&!e[hr]&&(e[kp]=Date.now(),queueMicrotask(()=>{Gt("progress",e)})),n=i.read();else if(d){queueMicrotask(()=>{e[Ea]="done";try{let p=gy(s,t,A.type,a);if(e[hr])return;e[Lu]=p,Gt("load",e)}catch(p){e[Fp]=p,Gt("error",e)}e[Ea]!=="loading"&&Gt("loadend",e)});break}}catch(d){if(e[hr])return;queueMicrotask(()=>{e[Ea]="done",e[Fp]=d,Gt("error",e),e[Ea]!=="loading"&&Gt("loadend",e)});break}})()}function Gt(e,A){let t=new sy(e,{bubbles:!1,cancelable:!1});A.dispatchEvent(t)}function gy(e,A,t,a){switch(A){case"DataURL":{let r="data:",i=Tu(t||"application/octet-stream");i!=="failure"&&(r+=oy(i)),r+=";base64,";let s=new Mu("latin1");for(let n of e)r+=Vu(s.write(n));return r+=Vu(s.end()),r}case"Text":{let r="failure";if(a&&(r=Uu(a)),r==="failure"&&t){let i=Tu(t);i!=="failure"&&(r=Uu(i.parameters.get("charset")))}return r==="failure"&&(r="UTF-8"),cy(e,r)}case"ArrayBuffer":return Yu(e).buffer;case"BinaryString":{let r="",i=new Mu("latin1");for(let s of e)r+=i.write(s);return r+=i.end(),r}}}function cy(e,A){let t=Yu(e),a=uy(t),r=0;a!==null&&(A=a,r=a==="UTF-8"?3:2);let i=t.slice(r);return new TextDecoder(A).decode(i)}function uy(e){let[A,t,a]=e;return A===239&&t===187&&a===191?"UTF-8":A===254&&t===255?"UTF-16BE":A===255&&t===254?"UTF-16LE":null}function Yu(e){let A=e.reduce((a,r)=>a+r.byteLength,0),t=0;return e.reduce((a,r)=>(a.set(r,t),t+=r.byteLength,a),new Uint8Array(A))}Ju.exports={staticPropertyDescriptors:py,readOperation:ly,fireAProgressEvent:Gt}});var Hu=E((eS,qu)=>{"use strict";var{staticPropertyDescriptors:Qa,readOperation:Ds,fireAProgressEvent:xu}=Gu(),{kState:c1,kError:_u,kResult:Rs,kEvents:O,kAborted:Ey}=bp(),{webidl:X}=xe(),{kEnumerableProperty:$e}=q(),VA=class e extends EventTarget{constructor(){super(),this[c1]="empty",this[Rs]=null,this[_u]=null,this[O]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(A){X.brandCheck(this,e),X.argumentLengthCheck(arguments,1,{header:"FileReader.readAsArrayBuffer"}),A=X.converters.Blob(A,{strict:!1}),Ds(this,A,"ArrayBuffer")}readAsBinaryString(A){X.brandCheck(this,e),X.argumentLengthCheck(arguments,1,{header:"FileReader.readAsBinaryString"}),A=X.converters.Blob(A,{strict:!1}),Ds(this,A,"BinaryString")}readAsText(A,t=void 0){X.brandCheck(this,e),X.argumentLengthCheck(arguments,1,{header:"FileReader.readAsText"}),A=X.converters.Blob(A,{strict:!1}),t!==void 0&&(t=X.converters.DOMString(t)),Ds(this,A,"Text",t)}readAsDataURL(A){X.brandCheck(this,e),X.argumentLengthCheck(arguments,1,{header:"FileReader.readAsDataURL"}),A=X.converters.Blob(A,{strict:!1}),Ds(this,A,"DataURL")}abort(){if(this[c1]==="empty"||this[c1]==="done"){this[Rs]=null;return}this[c1]==="loading"&&(this[c1]="done",this[Rs]=null),this[Ey]=!0,xu("abort",this),this[c1]!=="loading"&&xu("loadend",this)}get readyState(){switch(X.brandCheck(this,e),this[c1]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){return X.brandCheck(this,e),this[Rs]}get error(){return X.brandCheck(this,e),this[_u]}get onloadend(){return X.brandCheck(this,e),this[O].loadend}set onloadend(A){X.brandCheck(this,e),this[O].loadend&&this.removeEventListener("loadend",this[O].loadend),typeof A=="function"?(this[O].loadend=A,this.addEventListener("loadend",A)):this[O].loadend=null}get onerror(){return X.brandCheck(this,e),this[O].error}set onerror(A){X.brandCheck(this,e),this[O].error&&this.removeEventListener("error",this[O].error),typeof A=="function"?(this[O].error=A,this.addEventListener("error",A)):this[O].error=null}get onloadstart(){return X.brandCheck(this,e),this[O].loadstart}set onloadstart(A){X.brandCheck(this,e),this[O].loadstart&&this.removeEventListener("loadstart",this[O].loadstart),typeof A=="function"?(this[O].loadstart=A,this.addEventListener("loadstart",A)):this[O].loadstart=null}get onprogress(){return X.brandCheck(this,e),this[O].progress}set onprogress(A){X.brandCheck(this,e),this[O].progress&&this.removeEventListener("progress",this[O].progress),typeof A=="function"?(this[O].progress=A,this.addEventListener("progress",A)):this[O].progress=null}get onload(){return X.brandCheck(this,e),this[O].load}set onload(A){X.brandCheck(this,e),this[O].load&&this.removeEventListener("load",this[O].load),typeof A=="function"?(this[O].load=A,this.addEventListener("load",A)):this[O].load=null}get onabort(){return X.brandCheck(this,e),this[O].abort}set onabort(A){X.brandCheck(this,e),this[O].abort&&this.removeEventListener("abort",this[O].abort),typeof A=="function"?(this[O].abort=A,this.addEventListener("abort",A)):this[O].abort=null}};VA.EMPTY=VA.prototype.EMPTY=0;VA.LOADING=VA.prototype.LOADING=1;VA.DONE=VA.prototype.DONE=2;Object.defineProperties(VA.prototype,{EMPTY:Qa,LOADING:Qa,DONE:Qa,readAsArrayBuffer:$e,readAsBinaryString:$e,readAsText:$e,readAsDataURL:$e,abort:$e,readyState:$e,result:$e,error:$e,onloadstart:$e,onprogress:$e,onload:$e,onabort:$e,onerror:$e,onloadend:$e,[Symbol.toStringTag]:{value:"FileReader",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(VA,{EMPTY:Qa,LOADING:Qa,DONE:Qa});qu.exports={FileReader:VA}});var vs=E((AS,Ou)=>{"use strict";Ou.exports={kConstruct:Symbol("constructable")}});var Zu=E((tS,Wu)=>{"use strict";var Qy=require("assert"),{URLSerializer:Pu}=UA(),{isValidHeaderName:my}=IA();function Cy(e,A,t=!1){let a=Pu(e,t),r=Pu(A,t);return a===r}function By(e){Qy(e!==null);let A=[];for(let t of e.split(",")){if(t=t.trim(),t.length){if(!my(t))continue}else continue;A.push(t)}return A}Wu.exports={urlEquals:Cy,fieldValues:By}});var e9=E((aS,$u)=>{"use strict";var{kConstruct:hy}=vs(),{urlEquals:Iy,fieldValues:Lp}=Zu(),{kEnumerableProperty:u1,isDisturbed:fy}=q(),{kHeadersList:ju}=ie(),{webidl:v}=xe(),{Response:zu,cloneResponse:wy}=cs(),{Request:At}=Cr(),{kState:Pe,kHeaders:Ns,kGuard:Xu,kRealm:yy}=lt(),{fetching:Dy}=ws(),{urlIsHttpHttpsScheme:bs,createDeferredPromise:ma,readAllBytes:Ry}=IA(),Up=require("assert"),{getGlobalDispatcher:vy}=da(),Ss=class e{#e;constructor(){arguments[0]!==hy&&v.illegalConstructor(),this.#e=arguments[1]}async match(A,t={}){v.brandCheck(this,e),v.argumentLengthCheck(arguments,1,{header:"Cache.match"}),A=v.converters.RequestInfo(A),t=v.converters.CacheQueryOptions(t);let a=await this.matchAll(A,t);if(a.length!==0)return a[0]}async matchAll(A=void 0,t={}){v.brandCheck(this,e),A!==void 0&&(A=v.converters.RequestInfo(A)),t=v.converters.CacheQueryOptions(t);let a=null;if(A!==void 0)if(A instanceof At){if(a=A[Pe],a.method!=="GET"&&!t.ignoreMethod)return[]}else typeof A=="string"&&(a=new At(A)[Pe]);let r=[];if(A===void 0)for(let s of this.#e)r.push(s[1]);else{let s=this.#A(a,t);for(let n of s)r.push(n[1])}let i=[];for(let s of r){let n=new zu(s.body?.source??null),o=n[Pe].body;n[Pe]=s,n[Pe].body=o,n[Ns][ju]=s.headersList,n[Ns][Xu]="immutable",i.push(n)}return Object.freeze(i)}async add(A){v.brandCheck(this,e),v.argumentLengthCheck(arguments,1,{header:"Cache.add"}),A=v.converters.RequestInfo(A);let t=[A];return await this.addAll(t)}async addAll(A){v.brandCheck(this,e),v.argumentLengthCheck(arguments,1,{header:"Cache.addAll"}),A=v.converters["sequence<RequestInfo>"](A);let t=[],a=[];for(let p of A){if(typeof p=="string")continue;let g=p[Pe];if(!bs(g.url)||g.method!=="GET")throw v.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme when method is not GET."})}let r=[];for(let p of A){let g=new At(p)[Pe];if(!bs(g.url))throw v.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme."});g.initiator="fetch",g.destination="subresource",a.push(g);let c=ma();r.push(Dy({request:g,dispatcher:vy(),processResponse(u){if(u.type==="error"||u.status===206||u.status<200||u.status>299)c.reject(v.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(u.headersList.contains("vary")){let m=Lp(u.headersList.get("vary"));for(let Q of m)if(Q==="*"){c.reject(v.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let C of r)C.abort();return}}},processResponseEndOfBody(u){if(u.aborted){c.reject(new DOMException("aborted","AbortError"));return}c.resolve(u)}})),t.push(c.promise)}let s=await Promise.all(t),n=[],o=0;for(let p of s){let g={type:"put",request:a[o],response:p};n.push(g),o++}let d=ma(),l=null;try{this.#a(n)}catch(p){l=p}return queueMicrotask(()=>{l===null?d.resolve(void 0):d.reject(l)}),d.promise}async put(A,t){v.brandCheck(this,e),v.argumentLengthCheck(arguments,2,{header:"Cache.put"}),A=v.converters.RequestInfo(A),t=v.converters.Response(t);let a=null;if(A instanceof At?a=A[Pe]:a=new At(A)[Pe],!bs(a.url)||a.method!=="GET")throw v.errors.exception({header:"Cache.put",message:"Expected an http/s scheme when method is not GET"});let r=t[Pe];if(r.status===206)throw v.errors.exception({header:"Cache.put",message:"Got 206 status"});if(r.headersList.contains("vary")){let g=Lp(r.headersList.get("vary"));for(let c of g)if(c==="*")throw v.errors.exception({header:"Cache.put",message:"Got * vary field value"})}if(r.body&&(fy(r.body.stream)||r.body.stream.locked))throw v.errors.exception({header:"Cache.put",message:"Response body is locked or disturbed"});let i=wy(r),s=ma();if(r.body!=null){let c=r.body.stream.getReader();Ry(c,u=>s.resolve(u),u=>s.reject(u))}else s.resolve(void 0);let n=[],o={type:"put",request:a,response:i};n.push(o);let d=await s.promise;i.body!=null&&(i.body.source=d);let l=ma(),p=null;try{this.#a(n)}catch(g){p=g}return queueMicrotask(()=>{p===null?l.resolve():l.reject(p)}),l.promise}async delete(A,t={}){v.brandCheck(this,e),v.argumentLengthCheck(arguments,1,{header:"Cache.delete"}),A=v.converters.RequestInfo(A),t=v.converters.CacheQueryOptions(t);let a=null;if(A instanceof At){if(a=A[Pe],a.method!=="GET"&&!t.ignoreMethod)return!1}else Up(typeof A=="string"),a=new At(A)[Pe];let r=[],i={type:"delete",request:a,options:t};r.push(i);let s=ma(),n=null,o;try{o=this.#a(r)}catch(d){n=d}return queueMicrotask(()=>{n===null?s.resolve(!!o?.length):s.reject(n)}),s.promise}async keys(A=void 0,t={}){v.brandCheck(this,e),A!==void 0&&(A=v.converters.RequestInfo(A)),t=v.converters.CacheQueryOptions(t);let a=null;if(A!==void 0)if(A instanceof At){if(a=A[Pe],a.method!=="GET"&&!t.ignoreMethod)return[]}else typeof A=="string"&&(a=new At(A)[Pe]);let r=ma(),i=[];if(A===void 0)for(let s of this.#e)i.push(s[0]);else{let s=this.#A(a,t);for(let n of s)i.push(n[0])}return queueMicrotask(()=>{let s=[];for(let n of i){let o=new At("https://a");o[Pe]=n,o[Ns][ju]=n.headersList,o[Ns][Xu]="immutable",o[yy]=n.client,s.push(o)}r.resolve(Object.freeze(s))}),r.promise}#a(A){let t=this.#e,a=[...t],r=[],i=[];try{for(let s of A){if(s.type!=="delete"&&s.type!=="put")throw v.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(s.type==="delete"&&s.response!=null)throw v.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#A(s.request,s.options,r).length)throw new DOMException("???","InvalidStateError");let n;if(s.type==="delete"){if(n=this.#A(s.request,s.options),n.length===0)return[];for(let o of n){let d=t.indexOf(o);Up(d!==-1),t.splice(d,1)}}else if(s.type==="put"){if(s.response==null)throw v.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let o=s.request;if(!bs(o.url))throw v.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(o.method!=="GET")throw v.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(s.options!=null)throw v.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});n=this.#A(s.request);for(let d of n){let l=t.indexOf(d);Up(l!==-1),t.splice(l,1)}t.push([s.request,s.response]),r.push([s.request,s.response])}i.push([s.request,s.response])}return i}catch(s){throw this.#e.length=0,this.#e=a,s}}#A(A,t,a){let r=[],i=a??this.#e;for(let s of i){let[n,o]=s;this.#t(A,n,o,t)&&r.push(s)}return r}#t(A,t,a=null,r){let i=new URL(A.url),s=new URL(t.url);if(r?.ignoreSearch&&(s.search="",i.search=""),!Iy(i,s,!0))return!1;if(a==null||r?.ignoreVary||!a.headersList.contains("vary"))return!0;let n=Lp(a.headersList.get("vary"));for(let o of n){if(o==="*")return!1;let d=t.headersList.get(o),l=A.headersList.get(o);if(d!==l)return!1}return!0}};Object.defineProperties(Ss.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:u1,matchAll:u1,add:u1,addAll:u1,put:u1,delete:u1,keys:u1});var Ku=[{key:"ignoreSearch",converter:v.converters.boolean,defaultValue:!1},{key:"ignoreMethod",converter:v.converters.boolean,defaultValue:!1},{key:"ignoreVary",converter:v.converters.boolean,defaultValue:!1}];v.converters.CacheQueryOptions=v.dictionaryConverter(Ku);v.converters.MultiCacheQueryOptions=v.dictionaryConverter([...Ku,{key:"cacheName",converter:v.converters.DOMString}]);v.converters.Response=v.interfaceConverter(zu);v.converters["sequence<RequestInfo>"]=v.sequenceConverter(v.converters.RequestInfo);$u.exports={Cache:Ss}});var t9=E((rS,A9)=>{"use strict";var{kConstruct:Ir}=vs(),{Cache:Fs}=e9(),{webidl:We}=xe(),{kEnumerableProperty:fr}=q(),ks=class e{#e=new Map;constructor(){arguments[0]!==Ir&&We.illegalConstructor()}async match(A,t={}){if(We.brandCheck(this,e),We.argumentLengthCheck(arguments,1,{header:"CacheStorage.match"}),A=We.converters.RequestInfo(A),t=We.converters.MultiCacheQueryOptions(t),t.cacheName!=null){if(this.#e.has(t.cacheName)){let a=this.#e.get(t.cacheName);return await new Fs(Ir,a).match(A,t)}}else for(let a of this.#e.values()){let i=await new Fs(Ir,a).match(A,t);if(i!==void 0)return i}}async has(A){return We.brandCheck(this,e),We.argumentLengthCheck(arguments,1,{header:"CacheStorage.has"}),A=We.converters.DOMString(A),this.#e.has(A)}async open(A){if(We.brandCheck(this,e),We.argumentLengthCheck(arguments,1,{header:"CacheStorage.open"}),A=We.converters.DOMString(A),this.#e.has(A)){let a=this.#e.get(A);return new Fs(Ir,a)}let t=[];return this.#e.set(A,t),new Fs(Ir,t)}async delete(A){return We.brandCheck(this,e),We.argumentLengthCheck(arguments,1,{header:"CacheStorage.delete"}),A=We.converters.DOMString(A),this.#e.delete(A)}async keys(){return We.brandCheck(this,e),[...this.#e.keys()]}};Object.defineProperties(ks.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:fr,has:fr,open:fr,delete:fr,keys:fr});A9.exports={CacheStorage:ks}});var r9=E((iS,a9)=>{"use strict";a9.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}});var Tp=E((sS,n9)=>{"use strict";var i9=require("assert"),{kHeadersList:s9}=ie();function Ny(e){if(e.length===0)return!1;for(let A of e){let t=A.charCodeAt(0);if(t>=0||t<=8||t>=10||t<=31||t===127)return!1}}function by(e){for(let A of e){let t=A.charCodeAt(0);if(t<=32||t>127||A==="("||A===")"||A===">"||A==="<"||A==="@"||A===","||A===";"||A===":"||A==="\\"||A==='"'||A==="/"||A==="["||A==="]"||A==="?"||A==="="||A==="{"||A==="}")throw new Error("Invalid cookie name")}}function Sy(e){for(let A of e){let t=A.charCodeAt(0);if(t<33||t===34||t===44||t===59||t===92||t>126)throw new Error("Invalid header value")}}function Fy(e){for(let A of e)if(A.charCodeAt(0)<33||A===";")throw new Error("Invalid cookie path")}function ky(e){if(e.startsWith("-")||e.endsWith(".")||e.endsWith("-"))throw new Error("Invalid cookie domain")}function Ly(e){typeof e=="number"&&(e=new Date(e));let A=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],a=A[e.getUTCDay()],r=e.getUTCDate().toString().padStart(2,"0"),i=t[e.getUTCMonth()],s=e.getUTCFullYear(),n=e.getUTCHours().toString().padStart(2,"0"),o=e.getUTCMinutes().toString().padStart(2,"0"),d=e.getUTCSeconds().toString().padStart(2,"0");return`${a}, ${r} ${i} ${s} ${n}:${o}:${d} GMT`}function Uy(e){if(e<0)throw new Error("Invalid cookie max-age")}function Ty(e){if(e.name.length===0)return null;by(e.name),Sy(e.value);let A=[`${e.name}=${e.value}`];e.name.startsWith("__Secure-")&&(e.secure=!0),e.name.startsWith("__Host-")&&(e.secure=!0,e.domain=null,e.path="/"),e.secure&&A.push("Secure"),e.httpOnly&&A.push("HttpOnly"),typeof e.maxAge=="number"&&(Uy(e.maxAge),A.push(`Max-Age=${e.maxAge}`)),e.domain&&(ky(e.domain),A.push(`Domain=${e.domain}`)),e.path&&(Fy(e.path),A.push(`Path=${e.path}`)),e.expires&&e.expires.toString()!=="Invalid Date"&&A.push(`Expires=${Ly(e.expires)}`),e.sameSite&&A.push(`SameSite=${e.sameSite}`);for(let t of e.unparsed){if(!t.includes("="))throw new Error("Invalid unparsed");let[a,...r]=t.split("=");A.push(`${a.trim()}=${r.join("=")}`)}return A.join("; ")}var Ls;function My(e){if(e[s9])return e[s9];Ls||(Ls=Object.getOwnPropertySymbols(e).find(t=>t.description==="headers list"),i9(Ls,"Headers cannot be parsed"));let A=e[Ls];return i9(A),A}n9.exports={isCTLExcludingHtab:Ny,stringify:Ty,getHeadersList:My}});var d9=E((nS,o9)=>{"use strict";var{maxNameValuePairSize:Vy,maxAttributeValueSize:Yy}=r9(),{isCTLExcludingHtab:Jy}=Tp(),{collectASequenceOfCodePointsFast:Us}=UA(),Gy=require("assert");function xy(e){if(Jy(e))return null;let A="",t="",a="",r="";if(e.includes(";")){let i={position:0};A=Us(";",e,i),t=e.slice(i.position)}else A=e;if(!A.includes("="))r=A;else{let i={position:0};a=Us("=",A,i),r=A.slice(i.position+1)}return a=a.trim(),r=r.trim(),a.length+r.length>Vy?null:{name:a,value:r,...Ca(t)}}function Ca(e,A={}){if(e.length===0)return A;Gy(e[0]===";"),e=e.slice(1);let t="";e.includes(";")?(t=Us(";",e,{position:0}),e=e.slice(t.length)):(t=e,e="");let a="",r="";if(t.includes("=")){let s={position:0};a=Us("=",t,s),r=t.slice(s.position+1)}else a=t;if(a=a.trim(),r=r.trim(),r.length>Yy)return Ca(e,A);let i=a.toLowerCase();if(i==="expires"){let s=new Date(r);A.expires=s}else if(i==="max-age"){let s=r.charCodeAt(0);if((s<48||s>57)&&r[0]!=="-"||!/^\d+$/.test(r))return Ca(e,A);let n=Number(r);A.maxAge=n}else if(i==="domain"){let s=r;s[0]==="."&&(s=s.slice(1)),s=s.toLowerCase(),A.domain=s}else if(i==="path"){let s="";r.length===0||r[0]!=="/"?s="/":s=r,A.path=s}else if(i==="secure")A.secure=!0;else if(i==="httponly")A.httpOnly=!0;else if(i==="samesite"){let s="Default",n=r.toLowerCase();n.includes("none")&&(s="None"),n.includes("strict")&&(s="Strict"),n.includes("lax")&&(s="Lax"),A.sameSite=s}else A.unparsed??=[],A.unparsed.push(`${a}=${r}`);return Ca(e,A)}o9.exports={parseSetCookie:xy,parseUnparsedAttributes:Ca}});var c9=E((oS,g9)=>{"use strict";var{parseSetCookie:_y}=d9(),{stringify:p9,getHeadersList:qy}=Tp(),{webidl:G}=xe(),{Headers:Ts}=l1();function Hy(e){G.argumentLengthCheck(arguments,1,{header:"getCookies"}),G.brandCheck(e,Ts,{strict:!1});let A=e.get("cookie"),t={};if(!A)return t;for(let a of A.split(";")){let[r,...i]=a.split("=");t[r.trim()]=i.join("=")}return t}function Oy(e,A,t){G.argumentLengthCheck(arguments,2,{header:"deleteCookie"}),G.brandCheck(e,Ts,{strict:!1}),A=G.converters.DOMString(A),t=G.converters.DeleteCookieAttributes(t),l9(e,{name:A,value:"",expires:new Date(0),...t})}function Py(e){G.argumentLengthCheck(arguments,1,{header:"getSetCookies"}),G.brandCheck(e,Ts,{strict:!1});let A=qy(e).cookies;return A?A.map(t=>_y(Array.isArray(t)?t[1]:t)):[]}function l9(e,A){G.argumentLengthCheck(arguments,2,{header:"setCookie"}),G.brandCheck(e,Ts,{strict:!1}),A=G.converters.Cookie(A),p9(A)&&e.append("Set-Cookie",p9(A))}G.converters.DeleteCookieAttributes=G.dictionaryConverter([{converter:G.nullableConverter(G.converters.DOMString),key:"path",defaultValue:null},{converter:G.nullableConverter(G.converters.DOMString),key:"domain",defaultValue:null}]);G.converters.Cookie=G.dictionaryConverter([{converter:G.converters.DOMString,key:"name"},{converter:G.converters.DOMString,key:"value"},{converter:G.nullableConverter(e=>typeof e=="number"?G.converters["unsigned long long"](e):new Date(e)),key:"expires",defaultValue:null},{converter:G.nullableConverter(G.converters["long long"]),key:"maxAge",defaultValue:null},{converter:G.nullableConverter(G.converters.DOMString),key:"domain",defaultValue:null},{converter:G.nullableConverter(G.converters.DOMString),key:"path",defaultValue:null},{converter:G.nullableConverter(G.converters.boolean),key:"secure",defaultValue:null},{converter:G.nullableConverter(G.converters.boolean),key:"httpOnly",defaultValue:null},{converter:G.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:G.sequenceConverter(G.converters.DOMString),key:"unparsed",defaultValue:[]}]);g9.exports={getCookies:Hy,deleteCookie:Oy,getSetCookies:Py,setCookie:l9}});var Ba=E((dS,u9)=>{"use strict";var Wy="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",Zy={enumerable:!0,writable:!1,configurable:!1},jy={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},Xy={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},zy=2**16-1,Ky={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},$y=Buffer.allocUnsafe(0);u9.exports={uid:Wy,staticPropertyDescriptors:Zy,states:jy,opcodes:Xy,maxUnsigned16Bit:zy,parserStates:Ky,emptyBuffer:$y}});var wr=E((pS,E9)=>{"use strict";E9.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}});var Vp=E((lS,Q9)=>{"use strict";var{webidl:N}=xe(),{kEnumerableProperty:eA}=q(),{MessagePort:eD}=require("worker_threads"),Ms=class e extends Event{#e;constructor(A,t={}){N.argumentLengthCheck(arguments,1,{header:"MessageEvent constructor"}),A=N.converters.DOMString(A),t=N.converters.MessageEventInit(t),super(A,t),this.#e=t}get data(){return N.brandCheck(this,e),this.#e.data}get origin(){return N.brandCheck(this,e),this.#e.origin}get lastEventId(){return N.brandCheck(this,e),this.#e.lastEventId}get source(){return N.brandCheck(this,e),this.#e.source}get ports(){return N.brandCheck(this,e),Object.isFrozen(this.#e.ports)||Object.freeze(this.#e.ports),this.#e.ports}initMessageEvent(A,t=!1,a=!1,r=null,i="",s="",n=null,o=[]){return N.brandCheck(this,e),N.argumentLengthCheck(arguments,1,{header:"MessageEvent.initMessageEvent"}),new e(A,{bubbles:t,cancelable:a,data:r,origin:i,lastEventId:s,source:n,ports:o})}},Vs=class e extends Event{#e;constructor(A,t={}){N.argumentLengthCheck(arguments,1,{header:"CloseEvent constructor"}),A=N.converters.DOMString(A),t=N.converters.CloseEventInit(t),super(A,t),this.#e=t}get wasClean(){return N.brandCheck(this,e),this.#e.wasClean}get code(){return N.brandCheck(this,e),this.#e.code}get reason(){return N.brandCheck(this,e),this.#e.reason}},Ys=class e extends Event{#e;constructor(A,t){N.argumentLengthCheck(arguments,1,{header:"ErrorEvent constructor"}),super(A,t),A=N.converters.DOMString(A),t=N.converters.ErrorEventInit(t??{}),this.#e=t}get message(){return N.brandCheck(this,e),this.#e.message}get filename(){return N.brandCheck(this,e),this.#e.filename}get lineno(){return N.brandCheck(this,e),this.#e.lineno}get colno(){return N.brandCheck(this,e),this.#e.colno}get error(){return N.brandCheck(this,e),this.#e.error}};Object.defineProperties(Ms.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:eA,origin:eA,lastEventId:eA,source:eA,ports:eA,initMessageEvent:eA});Object.defineProperties(Vs.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:eA,code:eA,wasClean:eA});Object.defineProperties(Ys.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:eA,filename:eA,lineno:eA,colno:eA,error:eA});N.converters.MessagePort=N.interfaceConverter(eD);N.converters["sequence<MessagePort>"]=N.sequenceConverter(N.converters.MessagePort);var Mp=[{key:"bubbles",converter:N.converters.boolean,defaultValue:!1},{key:"cancelable",converter:N.converters.boolean,defaultValue:!1},{key:"composed",converter:N.converters.boolean,defaultValue:!1}];N.converters.MessageEventInit=N.dictionaryConverter([...Mp,{key:"data",converter:N.converters.any,defaultValue:null},{key:"origin",converter:N.converters.USVString,defaultValue:""},{key:"lastEventId",converter:N.converters.DOMString,defaultValue:""},{key:"source",converter:N.nullableConverter(N.converters.MessagePort),defaultValue:null},{key:"ports",converter:N.converters["sequence<MessagePort>"],get defaultValue(){return[]}}]);N.converters.CloseEventInit=N.dictionaryConverter([...Mp,{key:"wasClean",converter:N.converters.boolean,defaultValue:!1},{key:"code",converter:N.converters["unsigned short"],defaultValue:0},{key:"reason",converter:N.converters.USVString,defaultValue:""}]);N.converters.ErrorEventInit=N.dictionaryConverter([...Mp,{key:"message",converter:N.converters.DOMString,defaultValue:""},{key:"filename",converter:N.converters.USVString,defaultValue:""},{key:"lineno",converter:N.converters["unsigned long"],defaultValue:0},{key:"colno",converter:N.converters["unsigned long"],defaultValue:0},{key:"error",converter:N.converters.any}]);Q9.exports={MessageEvent:Ms,CloseEvent:Vs,ErrorEvent:Ys}});var xs=E((gS,B9)=>{"use strict";var{kReadyState:Js,kController:AD,kResponse:tD,kBinaryType:aD,kWebSocketURL:rD}=wr(),{states:Gs,opcodes:m9}=Ba(),{MessageEvent:iD,ErrorEvent:sD}=Vp();function nD(e){return e[Js]===Gs.OPEN}function oD(e){return e[Js]===Gs.CLOSING}function dD(e){return e[Js]===Gs.CLOSED}function Yp(e,A,t=Event,a){let r=new t(e,a);A.dispatchEvent(r)}function pD(e,A,t){if(e[Js]!==Gs.OPEN)return;let a;if(A===m9.TEXT)try{a=new TextDecoder("utf-8",{fatal:!0}).decode(t)}catch{C9(e,"Received invalid UTF-8 in text frame.");return}else A===m9.BINARY&&(e[aD]==="blob"?a=new Blob([t]):a=new Uint8Array(t).buffer);Yp("message",e,iD,{origin:e[rD].origin,data:a})}function lD(e){if(e.length===0)return!1;for(let A of e){let t=A.charCodeAt(0);if(t<33||t>126||A==="("||A===")"||A==="<"||A===">"||A==="@"||A===","||A===";"||A===":"||A==="\\"||A==='"'||A==="/"||A==="["||A==="]"||A==="?"||A==="="||A==="{"||A==="}"||t===32||t===9)return!1}return!0}function gD(e){return e>=1e3&&e<1015?e!==1004&&e!==1005&&e!==1006:e>=3e3&&e<=4999}function C9(e,A){let{[AD]:t,[tD]:a}=e;t.abort(),a?.socket&&!a.socket.destroyed&&a.socket.destroy(),A&&Yp("error",e,sD,{error:new Error(A)})}B9.exports={isEstablished:nD,isClosing:oD,isClosed:dD,fireEvent:Yp,isValidSubprotocol:lD,isValidStatusCode:gD,failWebsocketConnection:C9,websocketMessageReceived:pD}});var D9=E((cS,y9)=>{"use strict";var{randomBytes:cD,createHash:uD}=require("crypto"),Jp=require("diagnostics_channel"),{uid:ED,states:I9}=Ba(),{kReadyState:f9,kSentClose:h9,kByteParser:w9,kReceivedClose:QD}=wr(),{fireEvent:mD,failWebsocketConnection:E1}=xs(),{CloseEvent:CD}=Vp(),{makeRequest:BD}=Cr(),{fetching:hD}=ws(),{Headers:ID}=l1(),{getGlobalDispatcher:fD}=da(),{kHeadersList:wD}=ie(),Bt={};Bt.open=Jp.channel("undici:websocket:open");Bt.close=Jp.channel("undici:websocket:close");Bt.socketError=Jp.channel("undici:websocket:socket_error");function yD(e,A,t,a,r){let i=e;i.protocol=e.protocol==="ws:"?"http:":"https:";let s=BD({urlList:[i],serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(r.headers){let l=new ID(r.headers)[wD];s.headersList=l}let n=cD(16).toString("base64");s.headersList.append("sec-websocket-key",n),s.headersList.append("sec-websocket-version","13");for(let l of A)s.headersList.append("sec-websocket-protocol",l);let o="";return hD({request:s,useParallelQueue:!0,dispatcher:r.dispatcher??fD(),processResponse(l){if(l.type==="error"||l.status!==101){E1(t,"Received network error or non-101 status code.");return}if(A.length!==0&&!l.headersList.get("Sec-WebSocket-Protocol")){E1(t,"Server did not respond with sent protocols.");return}if(l.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){E1(t,'Server did not set Upgrade header to "websocket".');return}if(l.headersList.get("Connection")?.toLowerCase()!=="upgrade"){E1(t,'Server did not set Connection header to "upgrade".');return}let p=l.headersList.get("Sec-WebSocket-Accept"),g=uD("sha1").update(n+ED).digest("base64");if(p!==g){E1(t,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let c=l.headersList.get("Sec-WebSocket-Extensions");if(c!==null&&c!==o){E1(t,"Received different permessage-deflate than the one set.");return}let u=l.headersList.get("Sec-WebSocket-Protocol");if(u!==null&&u!==s.headersList.get("Sec-WebSocket-Protocol")){E1(t,"Protocol was not set in the opening handshake.");return}l.socket.on("data",DD),l.socket.on("close",RD),l.socket.on("error",vD),Bt.open.hasSubscribers&&Bt.open.publish({address:l.socket.address(),protocol:u,extensions:c}),a(l)}})}function DD(e){this.ws[w9].write(e)||this.pause()}function RD(){let{ws:e}=this,A=e[h9]&&e[QD],t=1005,a="",r=e[w9].closingInfo;r?(t=r.code??1005,a=r.reason):e[h9]||(t=1006),e[f9]=I9.CLOSED,mD("close",e,CD,{wasClean:A,code:t,reason:a}),Bt.close.hasSubscribers&&Bt.close.publish({websocket:e,code:t,reason:a})}function vD(e){let{ws:A}=this;A[f9]=I9.CLOSING,Bt.socketError.hasSubscribers&&Bt.socketError.publish(e),this.destroy()}y9.exports={establishWebSocketConnection:yD}});var xp=E((uS,R9)=>{"use strict";var{randomBytes:ND}=require("crypto"),{maxUnsigned16Bit:bD}=Ba(),Gp=class{constructor(A){this.frameData=A,this.maskKey=ND(4)}createFrame(A){let t=this.frameData?.byteLength??0,a=t,r=6;t>bD?(r+=8,a=127):t>125&&(r+=2,a=126);let i=Buffer.allocUnsafe(t+r);i[0]=i[1]=0,i[0]|=128,i[0]=(i[0]&240)+A;i[r-4]=this.maskKey[0],i[r-3]=this.maskKey[1],i[r-2]=this.maskKey[2],i[r-1]=this.maskKey[3],i[1]=a,a===126?i.writeUInt16BE(t,2):a===127&&(i[2]=i[3]=0,i.writeUIntBE(t,4,6)),i[1]|=128;for(let s=0;s<t;s++)i[r+s]=this.frameData[s]^this.maskKey[s%4];return i}};R9.exports={WebsocketFrameSend:Gp}});var U9=E((ES,L9)=>{"use strict";var{Writable:SD}=require("stream"),k9=require("diagnostics_channel"),{parserStates:vA,opcodes:NA,states:FD,emptyBuffer:kD}=Ba(),{kReadyState:LD,kSentClose:v9,kResponse:N9,kReceivedClose:b9}=wr(),{isValidStatusCode:S9,failWebsocketConnection:yr,websocketMessageReceived:UD}=xs(),{WebsocketFrameSend:F9}=xp(),ha={};ha.ping=k9.channel("undici:websocket:ping");ha.pong=k9.channel("undici:websocket:pong");var _p=class extends SD{#e=[];#a=0;#A=vA.INFO;#t={};#r=[];constructor(A){super(),this.ws=A}_write(A,t,a){this.#e.push(A),this.#a+=A.length,this.run(a)}run(A){for(;;){if(this.#A===vA.INFO){if(this.#a<2)return A();let t=this.consume(2);if(this.#t.fin=(t[0]&128)!==0,this.#t.opcode=t[0]&15,this.#t.originalOpcode??=this.#t.opcode,this.#t.fragmented=!this.#t.fin&&this.#t.opcode!==NA.CONTINUATION,this.#t.fragmented&&this.#t.opcode!==NA.BINARY&&this.#t.opcode!==NA.TEXT){yr(this.ws,"Invalid frame type was fragmented.");return}let a=t[1]&127;if(a<=125?(this.#t.payloadLength=a,this.#A=vA.READ_DATA):a===126?this.#A=vA.PAYLOADLENGTH_16:a===127&&(this.#A=vA.PAYLOADLENGTH_64),this.#t.fragmented&&a>125){yr(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#t.opcode===NA.PING||this.#t.opcode===NA.PONG||this.#t.opcode===NA.CLOSE)&&a>125){yr(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#t.opcode===NA.CLOSE){if(a===1){yr(this.ws,"Received close frame with a 1-byte body.");return}let r=this.consume(a);if(this.#t.closeInfo=this.parseCloseBody(!1,r),!this.ws[v9]){let i=Buffer.allocUnsafe(2);i.writeUInt16BE(this.#t.closeInfo.code,0);let s=new F9(i);this.ws[N9].socket.write(s.createFrame(NA.CLOSE),n=>{n||(this.ws[v9]=!0)})}this.ws[LD]=FD.CLOSING,this.ws[b9]=!0,this.end();return}else if(this.#t.opcode===NA.PING){let r=this.consume(a);if(!this.ws[b9]){let i=new F9(r);this.ws[N9].socket.write(i.createFrame(NA.PONG)),ha.ping.hasSubscribers&&ha.ping.publish({payload:r})}if(this.#A=vA.INFO,this.#a>0)continue;A();return}else if(this.#t.opcode===NA.PONG){let r=this.consume(a);if(ha.pong.hasSubscribers&&ha.pong.publish({payload:r}),this.#a>0)continue;A();return}}else if(this.#A===vA.PAYLOADLENGTH_16){if(this.#a<2)return A();let t=this.consume(2);this.#t.payloadLength=t.readUInt16BE(0),this.#A=vA.READ_DATA}else if(this.#A===vA.PAYLOADLENGTH_64){if(this.#a<8)return A();let t=this.consume(8),a=t.readUInt32BE(0);if(a>2**31-1){yr(this.ws,"Received payload length > 2^31 bytes.");return}let r=t.readUInt32BE(4);this.#t.payloadLength=(a<<8)+r,this.#A=vA.READ_DATA}else if(this.#A===vA.READ_DATA){if(this.#a<this.#t.payloadLength)return A();if(this.#a>=this.#t.payloadLength){let t=this.consume(this.#t.payloadLength);if(this.#r.push(t),!this.#t.fragmented||this.#t.fin&&this.#t.opcode===NA.CONTINUATION){let a=Buffer.concat(this.#r);UD(this.ws,this.#t.originalOpcode,a),this.#t={},this.#r.length=0}this.#A=vA.INFO}}if(!(this.#a>0)){A();break}}}consume(A){if(A>this.#a)return null;if(A===0)return kD;if(this.#e[0].length===A)return this.#a-=this.#e[0].length,this.#e.shift();let t=Buffer.allocUnsafe(A),a=0;for(;a!==A;){let r=this.#e[0],{length:i}=r;if(i+a===A){t.set(this.#e.shift(),a);break}else if(i+a>A){t.set(r.subarray(0,A-a),a),this.#e[0]=r.subarray(A-a);break}else t.set(this.#e.shift(),a),a+=r.length}return this.#a-=A,t}parseCloseBody(A,t){let a;if(t.length>=2&&(a=t.readUInt16BE(0)),A)return S9(a)?{code:a}:null;let r=t.subarray(2);if(r[0]===239&&r[1]===187&&r[2]===191&&(r=r.subarray(3)),a!==void 0&&!S9(a))return null;try{r=new TextDecoder("utf-8",{fatal:!0}).decode(r)}catch{return null}return{code:a,reason:r}}get closingInfo(){return this.#t.closeInfo}};L9.exports={ByteParser:_p}});var _9=E((QS,x9)=>{"use strict";var{webidl:F}=xe(),{DOMException:xt}=kt(),{URLSerializer:TD}=UA(),{staticPropertyDescriptors:_t,states:Ia,opcodes:Dr,emptyBuffer:MD}=Ba(),{kWebSocketURL:T9,kReadyState:ht,kController:VD,kBinaryType:_s,kResponse:qs,kSentClose:YD,kByteParser:JD}=wr(),{isEstablished:M9,isClosing:V9,isValidSubprotocol:GD,failWebsocketConnection:xD,fireEvent:_D}=xs(),{establishWebSocketConnection:qD}=D9(),{WebsocketFrameSend:Rr}=xp(),{ByteParser:HD}=U9(),{kEnumerableProperty:bA,isBlobLike:J9}=q(),{getGlobalDispatcher:OD}=da(),{types:G9}=require("util"),Y9=!1,cA=class e extends EventTarget{#e={open:null,error:null,close:null,message:null};#a=0;#A="";#t="";constructor(A,t=[]){super(),F.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"}),Y9||(Y9=!0,process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"}));let a=F.converters["DOMString or sequence<DOMString> or WebSocketInit"](t);A=F.converters.USVString(A),t=a.protocols;let r;try{r=new URL(A)}catch(i){throw new xt(i,"SyntaxError")}if(r.protocol!=="ws:"&&r.protocol!=="wss:")throw new xt(`Expected a ws: or wss: protocol, got ${r.protocol}`,"SyntaxError");if(r.hash)throw new xt("Got fragment","SyntaxError");if(typeof t=="string"&&(t=[t]),t.length!==new Set(t.map(i=>i.toLowerCase())).size)throw new xt("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(t.length>0&&!t.every(i=>GD(i)))throw new xt("Invalid Sec-WebSocket-Protocol value","SyntaxError");this[T9]=r,this[VD]=qD(r,t,this,i=>this.#r(i),a),this[ht]=e.CONNECTING,this[_s]="blob"}close(A=void 0,t=void 0){if(F.brandCheck(this,e),A!==void 0&&(A=F.converters["unsigned short"](A,{clamp:!0})),t!==void 0&&(t=F.converters.USVString(t)),A!==void 0&&A!==1e3&&(A<3e3||A>4999))throw new xt("invalid code","InvalidAccessError");let a=0;if(t!==void 0&&(a=Buffer.byteLength(t),a>123))throw new xt(`Reason must be less than 123 bytes; received ${a}`,"SyntaxError");if(!(this[ht]===e.CLOSING||this[ht]===e.CLOSED))if(!M9(this))xD(this,"Connection was closed before it was established."),this[ht]=e.CLOSING;else if(V9(this))this[ht]=e.CLOSING;else{let r=new Rr;A!==void 0&&t===void 0?(r.frameData=Buffer.allocUnsafe(2),r.frameData.writeUInt16BE(A,0)):A!==void 0&&t!==void 0?(r.frameData=Buffer.allocUnsafe(2+a),r.frameData.writeUInt16BE(A,0),r.frameData.write(t,2,"utf-8")):r.frameData=MD,this[qs].socket.write(r.createFrame(Dr.CLOSE),s=>{s||(this[YD]=!0)}),this[ht]=Ia.CLOSING}}send(A){if(F.brandCheck(this,e),F.argumentLengthCheck(arguments,1,{header:"WebSocket.send"}),A=F.converters.WebSocketSendData(A),this[ht]===e.CONNECTING)throw new xt("Sent before connected.","InvalidStateError");if(!M9(this)||V9(this))return;let t=this[qs].socket;if(typeof A=="string"){let a=Buffer.from(A),i=new Rr(a).createFrame(Dr.TEXT);this.#a+=a.byteLength,t.write(i,()=>{this.#a-=a.byteLength})}else if(G9.isArrayBuffer(A)){let a=Buffer.from(A),i=new Rr(a).createFrame(Dr.BINARY);this.#a+=a.byteLength,t.write(i,()=>{this.#a-=a.byteLength})}else if(ArrayBuffer.isView(A)){let a=Buffer.from(A,A.byteOffset,A.byteLength),i=new Rr(a).createFrame(Dr.BINARY);this.#a+=a.byteLength,t.write(i,()=>{this.#a-=a.byteLength})}else if(J9(A)){let a=new Rr;A.arrayBuffer().then(r=>{let i=Buffer.from(r);a.frameData=i;let s=a.createFrame(Dr.BINARY);this.#a+=i.byteLength,t.write(s,()=>{this.#a-=i.byteLength})})}}get readyState(){return F.brandCheck(this,e),this[ht]}get bufferedAmount(){return F.brandCheck(this,e),this.#a}get url(){return F.brandCheck(this,e),TD(this[T9])}get extensions(){return F.brandCheck(this,e),this.#t}get protocol(){return F.brandCheck(this,e),this.#A}get onopen(){return F.brandCheck(this,e),this.#e.open}set onopen(A){F.brandCheck(this,e),this.#e.open&&this.removeEventListener("open",this.#e.open),typeof A=="function"?(this.#e.open=A,this.addEventListener("open",A)):this.#e.open=null}get onerror(){return F.brandCheck(this,e),this.#e.error}set onerror(A){F.brandCheck(this,e),this.#e.error&&this.removeEventListener("error",this.#e.error),typeof A=="function"?(this.#e.error=A,this.addEventListener("error",A)):this.#e.error=null}get onclose(){return F.brandCheck(this,e),this.#e.close}set onclose(A){F.brandCheck(this,e),this.#e.close&&this.removeEventListener("close",this.#e.close),typeof A=="function"?(this.#e.close=A,this.addEventListener("close",A)):this.#e.close=null}get onmessage(){return F.brandCheck(this,e),this.#e.message}set onmessage(A){F.brandCheck(this,e),this.#e.message&&this.removeEventListener("message",this.#e.message),typeof A=="function"?(this.#e.message=A,this.addEventListener("message",A)):this.#e.message=null}get binaryType(){return F.brandCheck(this,e),this[_s]}set binaryType(A){F.brandCheck(this,e),A!=="blob"&&A!=="arraybuffer"?this[_s]="blob":this[_s]=A}#r(A){this[qs]=A;let t=new HD(this);t.on("drain",function(){this.ws[qs].socket.resume()}),A.socket.ws=this,this[JD]=t,this[ht]=Ia.OPEN;let a=A.headersList.get("sec-websocket-extensions");a!==null&&(this.#t=a);let r=A.headersList.get("sec-websocket-protocol");r!==null&&(this.#A=r),_D("open",this)}};cA.CONNECTING=cA.prototype.CONNECTING=Ia.CONNECTING;cA.OPEN=cA.prototype.OPEN=Ia.OPEN;cA.CLOSING=cA.prototype.CLOSING=Ia.CLOSING;cA.CLOSED=cA.prototype.CLOSED=Ia.CLOSED;Object.defineProperties(cA.prototype,{CONNECTING:_t,OPEN:_t,CLOSING:_t,CLOSED:_t,url:bA,readyState:bA,bufferedAmount:bA,onopen:bA,onerror:bA,onclose:bA,close:bA,onmessage:bA,binaryType:bA,send:bA,extensions:bA,protocol:bA,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(cA,{CONNECTING:_t,OPEN:_t,CLOSING:_t,CLOSED:_t});F.converters["sequence<DOMString>"]=F.sequenceConverter(F.converters.DOMString);F.converters["DOMString or sequence<DOMString>"]=function(e){return F.util.Type(e)==="Object"&&Symbol.iterator in e?F.converters["sequence<DOMString>"](e):F.converters.DOMString(e)};F.converters.WebSocketInit=F.dictionaryConverter([{key:"protocols",converter:F.converters["DOMString or sequence<DOMString>"],get defaultValue(){return[]}},{key:"dispatcher",converter:e=>e,get defaultValue(){return OD()}},{key:"headers",converter:F.nullableConverter(F.converters.HeadersInit)}]);F.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(e){return F.util.Type(e)==="Object"&&!(Symbol.iterator in e)?F.converters.WebSocketInit(e):{protocols:F.converters["DOMString or sequence<DOMString>"](e)}};F.converters.WebSocketSendData=function(e){if(F.util.Type(e)==="Object"){if(J9(e))return F.converters.Blob(e,{strict:!1});if(ArrayBuffer.isView(e)||G9.isAnyArrayBuffer(e))return F.converters.BufferSource(e)}return F.converters.USVString(e)};x9.exports={WebSocket:cA}});var Hp=E((mS,V)=>{"use strict";var PD=sr(),q9=Fi(),H9=$(),WD=$1(),ZD=d6(),jD=pr(),Q1=q(),{InvalidArgumentError:Hs}=H9,fa=ec(),XD=$a(),zD=Kd(),KD=Mc(),$D=Ap(),eR=Jd(),AR=qc(),{getGlobalDispatcher:O9,setGlobalDispatcher:tR}=da(),aR=jc(),rR=zo(),iR=Ti(),qp;try{require("crypto"),qp=!0}catch{qp=!1}Object.assign(q9.prototype,fa);V.exports.Dispatcher=q9;V.exports.Client=PD;V.exports.Pool=WD;V.exports.BalancedPool=ZD;V.exports.Agent=jD;V.exports.ProxyAgent=AR;V.exports.DecoratorHandler=aR;V.exports.RedirectHandler=rR;V.exports.createRedirectInterceptor=iR;V.exports.buildConnector=XD;V.exports.errors=H9;function vr(e){return(A,t,a)=>{if(typeof t=="function"&&(a=t,t=null),!A||typeof A!="string"&&typeof A!="object"&&!(A instanceof URL))throw new Hs("invalid url");if(t!=null&&typeof t!="object")throw new Hs("invalid opts");if(t&&t.path!=null){if(typeof t.path!="string")throw new Hs("invalid opts.path");let s=t.path;t.path.startsWith("/")||(s=`/${s}`),A=new URL(Q1.parseOrigin(A).origin+s)}else t||(t=typeof A=="object"?A:{}),A=Q1.parseURL(A);let{agent:r,dispatcher:i=O9()}=t;if(r)throw new Hs("unsupported opts.agent. Did you mean opts.client?");return e.call(i,{...t,origin:A.origin,path:A.search?`${A.pathname}${A.search}`:A.pathname,method:t.method||(t.body?"PUT":"GET")},a)}}V.exports.setGlobalDispatcher=tR;V.exports.getGlobalDispatcher=O9;if(Q1.nodeMajor>16||Q1.nodeMajor===16&&Q1.nodeMinor>=8){let e=null;V.exports.fetch=async function(s){e||(e=ws().fetch);try{return await e(...arguments)}catch(n){throw Error.captureStackTrace(n,this),n}},V.exports.Headers=l1().Headers,V.exports.Response=cs().Response,V.exports.Request=Cr().Request,V.exports.FormData=bi().FormData,V.exports.File=vi().File,V.exports.FileReader=Hu().FileReader;let{setGlobalOrigin:A,getGlobalOrigin:t}=Pa();V.exports.setGlobalOrigin=A,V.exports.getGlobalOrigin=t;let{CacheStorage:a}=t9(),{kConstruct:r}=vs();V.exports.caches=new a(r)}if(Q1.nodeMajor>=16){let{deleteCookie:e,getCookies:A,getSetCookies:t,setCookie:a}=c9();V.exports.deleteCookie=e,V.exports.getCookies=A,V.exports.getSetCookies=t,V.exports.setCookie=a;let{parseMIMEType:r,serializeAMimeType:i}=UA();V.exports.parseMIMEType=r,V.exports.serializeAMimeType=i}if(Q1.nodeMajor>=18&&qp){let{WebSocket:e}=_9();V.exports.WebSocket=e}V.exports.request=vr(fa.request);V.exports.stream=vr(fa.stream);V.exports.pipeline=vr(fa.pipeline);V.exports.connect=vr(fa.connect);V.exports.upgrade=vr(fa.upgrade);V.exports.MockClient=zD;V.exports.MockPool=$D;V.exports.MockAgent=KD;V.exports.mockErrors=eR});var jp=E(Zp=>{"use strict";Object.defineProperty(Zp,"__esModule",{value:!0});var oR=function(e,A,t,a){if(typeof e!="string"||e.length===0)throw new TypeError("text should be a string");if(typeof A!="string"||A.length===0)throw new TypeError("lang should be a string");if(typeof t!="boolean")throw new TypeError("slow should be a boolean");if(typeof a!="string"||a.length===0)throw new TypeError("host should be a string")};Zp.default=oR});var zp=E(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});var dR="\\s\\uFEFF\\xA0",pR="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",lR=function(e,A){for(var t=A===void 0?{}:A,a=t.maxLength,r=a===void 0?200:a,i=t.splitPunct,s=i===void 0?"":i,n=function(u,m){var Q=new RegExp("["+dR+pR+s+"]");return Q.test(u.charAt(m))},o=function(u,m,Q){for(var C=Q;C>=m;C--)if(n(u,C))return C;return-1},d=[],l=function(u,m,Q){d.push(u.slice(m,Q+1))},p=0;;){if(e.length-p<=r){l(e,p,e.length-1);break}var g=p+r-1;if(n(e,g)||n(e,g+1)){l(e,p,g),p=g+1;continue}if(g=o(e,p,g),g===-1){var c=e.slice(p,p+r);throw new Error("The word is too long to split into a short text:"+(` +`+c+" ...")+` + +Try the option "splitPunct" to split the text by punctuation.`)}l(e,p,g),p=g+1}return d};Xp.default=lR});var $9=E(It=>{"use strict";var Kp=It&&It.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(It,"__esModule",{value:!0});It.getAllAudioUrls=It.getAudioUrl=void 0;var K9=Kp(jp()),gR=Kp(zp()),cR=Kp(require("url")),uR=function(e,A){var t=A===void 0?{}:A,a=t.lang,r=a===void 0?"en":a,i=t.slow,s=i===void 0?!1:i,n=t.host,o=n===void 0?"https://translate.google.com":n;if(K9.default(e,r,s,o),e.length>200)throw new RangeError("text length ("+e.length+') should be less than 200 characters. Try "getAllAudioUrls(text, [option])" for long text.');return o+"/translate_tts"+cR.default.format({query:{ie:"UTF-8",q:e,tl:r,total:1,idx:0,textlen:e.length,client:"tw-ob",prev:"input",ttsspeed:s?.24:1}})};It.getAudioUrl=uR;var ER=function(e,A){var t=A===void 0?{}:A,a=t.lang,r=a===void 0?"en":a,i=t.slow,s=i===void 0?!1:i,n=t.host,o=n===void 0?"https://translate.google.com":n,d=t.splitPunct,l=d===void 0?"":d;if(K9.default(e,r,s,o),typeof l!="string")throw new TypeError("splitPunct should be a string");return gR.default(e,{splitPunct:l}).map(function(p){return{shortText:p,url:It.getAudioUrl(p,{lang:r,slow:s,host:o})}})};It.getAllAudioUrls=ER});var $p=E((RS,eE)=>{"use strict";eE.exports=function(A,t){return function(){for(var r=new Array(arguments.length),i=0;i<r.length;i++)r[i]=arguments[i];return A.apply(t,r)}}});var Ze=E((vS,aE)=>{"use strict";var QR=$p(),m1=Object.prototype.toString;function t0(e){return m1.call(e)==="[object Array]"}function e0(e){return typeof e>"u"}function mR(e){return e!==null&&!e0(e)&&e.constructor!==null&&!e0(e.constructor)&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function CR(e){return m1.call(e)==="[object ArrayBuffer]"}function BR(e){return typeof FormData<"u"&&e instanceof FormData}function hR(e){var A;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?A=ArrayBuffer.isView(e):A=e&&e.buffer&&e.buffer instanceof ArrayBuffer,A}function IR(e){return typeof e=="string"}function fR(e){return typeof e=="number"}function AE(e){return e!==null&&typeof e=="object"}function Zs(e){if(m1.call(e)!=="[object Object]")return!1;var A=Object.getPrototypeOf(e);return A===null||A===Object.prototype}function wR(e){return m1.call(e)==="[object Date]"}function yR(e){return m1.call(e)==="[object File]"}function DR(e){return m1.call(e)==="[object Blob]"}function tE(e){return m1.call(e)==="[object Function]"}function RR(e){return AE(e)&&tE(e.pipe)}function vR(e){return typeof URLSearchParams<"u"&&e instanceof URLSearchParams}function NR(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function bR(){return typeof navigator<"u"&&(navigator.product==="ReactNative"||navigator.product==="NativeScript"||navigator.product==="NS")?!1:typeof window<"u"&&typeof document<"u"}function a0(e,A){if(!(e===null||typeof e>"u"))if(typeof e!="object"&&(e=[e]),t0(e))for(var t=0,a=e.length;t<a;t++)A.call(null,e[t],t,e);else for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&A.call(null,e[r],r,e)}function A0(){var e={};function A(r,i){Zs(e[i])&&Zs(r)?e[i]=A0(e[i],r):Zs(r)?e[i]=A0({},r):t0(r)?e[i]=r.slice():e[i]=r}for(var t=0,a=arguments.length;t<a;t++)a0(arguments[t],A);return e}function SR(e,A,t){return a0(A,function(r,i){t&&typeof r=="function"?e[i]=QR(r,t):e[i]=r}),e}function FR(e){return e.charCodeAt(0)===65279&&(e=e.slice(1)),e}aE.exports={isArray:t0,isArrayBuffer:CR,isBuffer:mR,isFormData:BR,isArrayBufferView:hR,isString:IR,isNumber:fR,isObject:AE,isPlainObject:Zs,isUndefined:e0,isDate:wR,isFile:yR,isBlob:DR,isFunction:tE,isStream:RR,isURLSearchParams:vR,isStandardBrowserEnv:bR,forEach:a0,merge:A0,extend:SR,trim:NR,stripBOM:FR}});var js=E((NS,iE)=>{"use strict";var wa=Ze();function rE(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}iE.exports=function(A,t,a){if(!t)return A;var r;if(a)r=a(t);else if(wa.isURLSearchParams(t))r=t.toString();else{var i=[];wa.forEach(t,function(o,d){o===null||typeof o>"u"||(wa.isArray(o)?d=d+"[]":o=[o],wa.forEach(o,function(p){wa.isDate(p)?p=p.toISOString():wa.isObject(p)&&(p=JSON.stringify(p)),i.push(rE(d)+"="+rE(p))}))}),r=i.join("&")}if(r){var s=A.indexOf("#");s!==-1&&(A=A.slice(0,s)),A+=(A.indexOf("?")===-1?"?":"&")+r}return A}});var nE=E((bS,sE)=>{"use strict";var kR=Ze();function Xs(){this.handlers=[]}Xs.prototype.use=function(A,t,a){return this.handlers.push({fulfilled:A,rejected:t,synchronous:a?a.synchronous:!1,runWhen:a?a.runWhen:null}),this.handlers.length-1};Xs.prototype.eject=function(A){this.handlers[A]&&(this.handlers[A]=null)};Xs.prototype.forEach=function(A){kR.forEach(this.handlers,function(a){a!==null&&A(a)})};sE.exports=Xs});var dE=E((SS,oE)=>{"use strict";var LR=Ze();oE.exports=function(A,t){LR.forEach(A,function(r,i){i!==t&&i.toUpperCase()===t.toUpperCase()&&(A[t]=r,delete A[i])})}});var zs=E((FS,pE)=>{"use strict";pE.exports=function(A,t,a,r,i){return A.config=t,a&&(A.code=a),A.request=r,A.response=i,A.isAxiosError=!0,A.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},A}});var Ks=E((kS,lE)=>{"use strict";var UR=zs();lE.exports=function(A,t,a,r,i){var s=new Error(A);return UR(s,t,a,r,i)}});var r0=E((LS,gE)=>{"use strict";var TR=Ks();gE.exports=function(A,t,a){var r=a.config.validateStatus;!a.status||!r||r(a.status)?A(a):t(TR("Request failed with status code "+a.status,a.config,null,a.request,a))}});var uE=E((US,cE)=>{"use strict";var $s=Ze();cE.exports=$s.isStandardBrowserEnv()?function(){return{write:function(t,a,r,i,s,n){var o=[];o.push(t+"="+encodeURIComponent(a)),$s.isNumber(r)&&o.push("expires="+new Date(r).toGMTString()),$s.isString(i)&&o.push("path="+i),$s.isString(s)&&o.push("domain="+s),n===!0&&o.push("secure"),document.cookie=o.join("; ")},read:function(t){var a=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return a?decodeURIComponent(a[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()});var QE=E((TS,EE)=>{"use strict";EE.exports=function(A){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(A)}});var CE=E((MS,mE)=>{"use strict";mE.exports=function(A,t){return t?A.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):A}});var i0=E((VS,BE)=>{"use strict";var MR=QE(),VR=CE();BE.exports=function(A,t){return A&&!MR(t)?VR(A,t):t}});var IE=E((YS,hE)=>{"use strict";var s0=Ze(),YR=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];hE.exports=function(A){var t={},a,r,i;return A&&s0.forEach(A.split(` +`),function(n){if(i=n.indexOf(":"),a=s0.trim(n.substr(0,i)).toLowerCase(),r=s0.trim(n.substr(i+1)),a){if(t[a]&&YR.indexOf(a)>=0)return;a==="set-cookie"?t[a]=(t[a]?t[a]:[]).concat([r]):t[a]=t[a]?t[a]+", "+r:r}}),t}});var yE=E((JS,wE)=>{"use strict";var fE=Ze();wE.exports=fE.isStandardBrowserEnv()?function(){var A=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a"),a;function r(i){var s=i;return A&&(t.setAttribute("href",s),s=t.href),t.setAttribute("href",s),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}return a=r(window.location.href),function(s){var n=fE.isString(s)?r(s):s;return n.protocol===a.protocol&&n.host===a.host}}():function(){return function(){return!0}}()});var RE=E((GS,DE)=>{"use strict";var en=Ze(),JR=r0(),GR=uE(),xR=js(),_R=i0(),qR=IE(),HR=yE(),n0=Ks();DE.exports=function(A){return new Promise(function(a,r){var i=A.data,s=A.headers,n=A.responseType;en.isFormData(i)&&delete s["Content-Type"];var o=new XMLHttpRequest;if(A.auth){var d=A.auth.username||"",l=A.auth.password?unescape(encodeURIComponent(A.auth.password)):"";s.Authorization="Basic "+btoa(d+":"+l)}var p=_R(A.baseURL,A.url);o.open(A.method.toUpperCase(),xR(p,A.params,A.paramsSerializer),!0),o.timeout=A.timeout;function g(){if(o){var u="getAllResponseHeaders"in o?qR(o.getAllResponseHeaders()):null,m=!n||n==="text"||n==="json"?o.responseText:o.response,Q={data:m,status:o.status,statusText:o.statusText,headers:u,config:A,request:o};JR(a,r,Q),o=null}}if("onloadend"in o?o.onloadend=g:o.onreadystatechange=function(){!o||o.readyState!==4||o.status===0&&!(o.responseURL&&o.responseURL.indexOf("file:")===0)||setTimeout(g)},o.onabort=function(){o&&(r(n0("Request aborted",A,"ECONNABORTED",o)),o=null)},o.onerror=function(){r(n0("Network Error",A,null,o)),o=null},o.ontimeout=function(){var m="timeout of "+A.timeout+"ms exceeded";A.timeoutErrorMessage&&(m=A.timeoutErrorMessage),r(n0(m,A,A.transitional&&A.transitional.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",o)),o=null},en.isStandardBrowserEnv()){var c=(A.withCredentials||HR(p))&&A.xsrfCookieName?GR.read(A.xsrfCookieName):void 0;c&&(s[A.xsrfHeaderName]=c)}"setRequestHeader"in o&&en.forEach(s,function(m,Q){typeof i>"u"&&Q.toLowerCase()==="content-type"?delete s[Q]:o.setRequestHeader(Q,m)}),en.isUndefined(A.withCredentials)||(o.withCredentials=!!A.withCredentials),n&&n!=="json"&&(o.responseType=A.responseType),typeof A.onDownloadProgress=="function"&&o.addEventListener("progress",A.onDownloadProgress),typeof A.onUploadProgress=="function"&&o.upload&&o.upload.addEventListener("progress",A.onUploadProgress),A.cancelToken&&A.cancelToken.promise.then(function(m){o&&(o.abort(),r(m),o=null)}),i||(i=null),o.send(i)})}});var NE=E((xS,vE)=>{var ya=1e3,Da=ya*60,Ra=Da*60,C1=Ra*24,OR=C1*7,PR=C1*365.25;vE.exports=function(e,A){A=A||{};var t=typeof e;if(t==="string"&&e.length>0)return WR(e);if(t==="number"&&isFinite(e))return A.long?jR(e):ZR(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function WR(e){if(e=String(e),!(e.length>100)){var A=/^(-?(?:\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(A){var t=parseFloat(A[1]),a=(A[2]||"ms").toLowerCase();switch(a){case"years":case"year":case"yrs":case"yr":case"y":return t*PR;case"weeks":case"week":case"w":return t*OR;case"days":case"day":case"d":return t*C1;case"hours":case"hour":case"hrs":case"hr":case"h":return t*Ra;case"minutes":case"minute":case"mins":case"min":case"m":return t*Da;case"seconds":case"second":case"secs":case"sec":case"s":return t*ya;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function ZR(e){var A=Math.abs(e);return A>=C1?Math.round(e/C1)+"d":A>=Ra?Math.round(e/Ra)+"h":A>=Da?Math.round(e/Da)+"m":A>=ya?Math.round(e/ya)+"s":e+"ms"}function jR(e){var A=Math.abs(e);return A>=C1?An(e,A,C1,"day"):A>=Ra?An(e,A,Ra,"hour"):A>=Da?An(e,A,Da,"minute"):A>=ya?An(e,A,ya,"second"):e+" ms"}function An(e,A,t,a){var r=A>=t*1.5;return Math.round(e/t)+" "+a+(r?"s":"")}});var o0=E((_S,bE)=>{function XR(e){t.debug=t,t.default=t,t.coerce=o,t.disable=i,t.enable=r,t.enabled=s,t.humanize=NE(),t.destroy=d,Object.keys(e).forEach(l=>{t[l]=e[l]}),t.names=[],t.skips=[],t.formatters={};function A(l){let p=0;for(let g=0;g<l.length;g++)p=(p<<5)-p+l.charCodeAt(g),p|=0;return t.colors[Math.abs(p)%t.colors.length]}t.selectColor=A;function t(l){let p,g=null,c,u;function m(...Q){if(!m.enabled)return;let C=m,B=Number(new Date),w=B-(p||B);C.diff=w,C.prev=p,C.curr=B,p=B,Q[0]=t.coerce(Q[0]),typeof Q[0]!="string"&&Q.unshift("%O");let I=0;Q[0]=Q[0].replace(/%([a-zA-Z%])/g,(b,k)=>{if(b==="%%")return"%";I++;let x=t.formatters[k];if(typeof x=="function"){let ye=Q[I];b=x.call(C,ye),Q.splice(I,1),I--}return b}),t.formatArgs.call(C,Q),(C.log||t.log).apply(C,Q)}return m.namespace=l,m.useColors=t.useColors(),m.color=t.selectColor(l),m.extend=a,m.destroy=t.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(c!==t.namespaces&&(c=t.namespaces,u=t.enabled(l)),u),set:Q=>{g=Q}}),typeof t.init=="function"&&t.init(m),m}function a(l,p){let g=t(this.namespace+(typeof p>"u"?":":p)+l);return g.log=this.log,g}function r(l){t.save(l),t.namespaces=l,t.names=[],t.skips=[];let p,g=(typeof l=="string"?l:"").split(/[\s,]+/),c=g.length;for(p=0;p<c;p++)g[p]&&(l=g[p].replace(/\*/g,".*?"),l[0]==="-"?t.skips.push(new RegExp("^"+l.slice(1)+"$")):t.names.push(new RegExp("^"+l+"$")))}function i(){let l=[...t.names.map(n),...t.skips.map(n).map(p=>"-"+p)].join(",");return t.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let p,g;for(p=0,g=t.skips.length;p<g;p++)if(t.skips[p].test(l))return!1;for(p=0,g=t.names.length;p<g;p++)if(t.names[p].test(l))return!0;return!1}function n(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function o(l){return l instanceof Error?l.stack||l.message:l}function d(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}bE.exports=XR});var SE=E((uA,tn)=>{uA.formatArgs=KR;uA.save=$R;uA.load=ev;uA.useColors=zR;uA.storage=Av();uA.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();uA.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function zR(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function KR(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+tn.exports.humanize(this.diff),!this.useColors)return;let A="color: "+this.color;e.splice(1,0,A,"color: inherit");let t=0,a=0;e[0].replace(/%[a-zA-Z%]/g,r=>{r!=="%%"&&(t++,r==="%c"&&(a=t))}),e.splice(a,0,A)}uA.log=console.debug||console.log||(()=>{});function $R(e){try{e?uA.storage.setItem("debug",e):uA.storage.removeItem("debug")}catch{}}function ev(){let e;try{e=uA.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function Av(){try{return localStorage}catch{}}tn.exports=o0()(uA);var{formatters:tv}=tn.exports;tv.j=function(e){try{return JSON.stringify(e)}catch(A){return"[UnexpectedJSONParseError]: "+A.message}}});var kE=E((qS,FE)=>{"use strict";FE.exports=(e,A=process.argv)=>{let t=e.startsWith("-")?"":e.length===1?"-":"--",a=A.indexOf(t+e),r=A.indexOf("--");return a!==-1&&(r===-1||a<r)}});var TE=E((HS,UE)=>{"use strict";var av=require("os"),LE=require("tty"),SA=kE(),{env:be}=process,qt;SA("no-color")||SA("no-colors")||SA("color=false")||SA("color=never")?qt=0:(SA("color")||SA("colors")||SA("color=true")||SA("color=always"))&&(qt=1);"FORCE_COLOR"in be&&(be.FORCE_COLOR==="true"?qt=1:be.FORCE_COLOR==="false"?qt=0:qt=be.FORCE_COLOR.length===0?1:Math.min(parseInt(be.FORCE_COLOR,10),3));function d0(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function p0(e,A){if(qt===0)return 0;if(SA("color=16m")||SA("color=full")||SA("color=truecolor"))return 3;if(SA("color=256"))return 2;if(e&&!A&&qt===void 0)return 0;let t=qt||0;if(be.TERM==="dumb")return t;if(process.platform==="win32"){let a=av.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in be)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(a=>a in be)||be.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in be)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(be.TEAMCITY_VERSION)?1:0;if(be.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in be){let a=parseInt((be.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(be.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(be.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(be.TERM)||"COLORTERM"in be?1:t}function rv(e){let A=p0(e,e&&e.isTTY);return d0(A)}UE.exports={supportsColor:rv,stdout:d0(p0(!0,LE.isatty(1))),stderr:d0(p0(!0,LE.isatty(2)))}});var VE=E((Me,rn)=>{var iv=require("tty"),an=require("util");Me.init=gv;Me.log=dv;Me.formatArgs=nv;Me.save=pv;Me.load=lv;Me.useColors=sv;Me.destroy=an.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Me.colors=[6,2,3,4,5,1];try{let e=TE();e&&(e.stderr||e).level>=2&&(Me.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Me.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,A)=>{let t=A.substring(6).toLowerCase().replace(/_([a-z])/g,(r,i)=>i.toUpperCase()),a=process.env[A];return/^(yes|on|true|enabled)$/i.test(a)?a=!0:/^(no|off|false|disabled)$/i.test(a)?a=!1:a==="null"?a=null:a=Number(a),e[t]=a,e},{});function sv(){return"colors"in Me.inspectOpts?!!Me.inspectOpts.colors:iv.isatty(process.stderr.fd)}function nv(e){let{namespace:A,useColors:t}=this;if(t){let a=this.color,r="\x1B[3"+(a<8?a:"8;5;"+a),i=` ${r};1m${A} \x1B[0m`;e[0]=i+e[0].split(` +`).join(` +`+i),e.push(r+"m+"+rn.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=ov()+A+" "+e[0]}function ov(){return Me.inspectOpts.hideDate?"":new Date().toISOString()+" "}function dv(...e){return process.stderr.write(an.format(...e)+` +`)}function pv(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function lv(){return process.env.DEBUG}function gv(e){e.inspectOpts={};let A=Object.keys(Me.inspectOpts);for(let t=0;t<A.length;t++)e.inspectOpts[A[t]]=Me.inspectOpts[A[t]]}rn.exports=o0()(Me);var{formatters:ME}=rn.exports;ME.o=function(e){return this.inspectOpts.colors=this.useColors,an.inspect(e,this.inspectOpts).split(` +`).map(A=>A.trim()).join(" ")};ME.O=function(e){return this.inspectOpts.colors=this.useColors,an.inspect(e,this.inspectOpts)}});var YE=E((OS,l0)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?l0.exports=SE():l0.exports=VE()});var GE=E((PS,JE)=>{var br;JE.exports=function(){if(!br){try{br=YE()("follow-redirects")}catch{}typeof br!="function"&&(br=function(){})}br.apply(null,arguments)}});var y0=E((WS,w0)=>{var kr=require("url"),Sr=kr.URL,cv=require("http"),uv=require("https"),Q0=require("stream").Writable,m0=require("assert"),xE=GE(),C0=!1;try{m0(new Sr)}catch(e){C0=e.code==="ERR_INVALID_URL"}var Ev=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],B0=["abort","aborted","connect","error","socket","timeout"],h0=Object.create(null);B0.forEach(function(e){h0[e]=function(A,t,a){this._redirectable.emit(e,A,t,a)}});var c0=Lr("ERR_INVALID_URL","Invalid URL",TypeError),u0=Lr("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),Qv=Lr("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",u0),mv=Lr("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),Cv=Lr("ERR_STREAM_WRITE_AFTER_END","write after end"),Bv=Q0.prototype.destroy||qE;function AA(e,A){Q0.call(this),this._sanitizeOptions(e),this._options=e,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],A&&this.on("response",A);var t=this;this._onNativeResponse=function(a){try{t._processResponse(a)}catch(r){t.emit("error",r instanceof u0?r:new u0({cause:r}))}},this._performRequest()}AA.prototype=Object.create(Q0.prototype);AA.prototype.abort=function(){f0(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};AA.prototype.destroy=function(e){return f0(this._currentRequest,e),Bv.call(this,e),this};AA.prototype.write=function(e,A,t){if(this._ending)throw new Cv;if(!B1(e)&&!fv(e))throw new TypeError("data should be a string, Buffer or Uint8Array");if(Fr(A)&&(t=A,A=null),e.length===0){t&&t();return}this._requestBodyLength+e.length<=this._options.maxBodyLength?(this._requestBodyLength+=e.length,this._requestBodyBuffers.push({data:e,encoding:A}),this._currentRequest.write(e,A,t)):(this.emit("error",new mv),this.abort())};AA.prototype.end=function(e,A,t){if(Fr(e)?(t=e,e=A=null):Fr(A)&&(t=A,A=null),!e)this._ended=this._ending=!0,this._currentRequest.end(null,null,t);else{var a=this,r=this._currentRequest;this.write(e,A,function(){a._ended=!0,r.end(null,null,t)}),this._ending=!0}};AA.prototype.setHeader=function(e,A){this._options.headers[e]=A,this._currentRequest.setHeader(e,A)};AA.prototype.removeHeader=function(e){delete this._options.headers[e],this._currentRequest.removeHeader(e)};AA.prototype.setTimeout=function(e,A){var t=this;function a(s){s.setTimeout(e),s.removeListener("timeout",s.destroy),s.addListener("timeout",s.destroy)}function r(s){t._timeout&&clearTimeout(t._timeout),t._timeout=setTimeout(function(){t.emit("timeout"),i()},e),a(s)}function i(){t._timeout&&(clearTimeout(t._timeout),t._timeout=null),t.removeListener("abort",i),t.removeListener("error",i),t.removeListener("response",i),t.removeListener("close",i),A&&t.removeListener("timeout",A),t.socket||t._currentRequest.removeListener("socket",r)}return A&&this.on("timeout",A),this.socket?r(this.socket):this._currentRequest.once("socket",r),this.on("socket",a),this.on("abort",i),this.on("error",i),this.on("response",i),this.on("close",i),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(e){AA.prototype[e]=function(A,t){return this._currentRequest[e](A,t)}});["aborted","connection","socket"].forEach(function(e){Object.defineProperty(AA.prototype,e,{get:function(){return this._currentRequest[e]}})});AA.prototype._sanitizeOptions=function(e){if(e.headers||(e.headers={}),e.host&&(e.hostname||(e.hostname=e.host),delete e.host),!e.pathname&&e.path){var A=e.path.indexOf("?");A<0?e.pathname=e.path:(e.pathname=e.path.substring(0,A),e.search=e.path.substring(A))}};AA.prototype._performRequest=function(){var e=this._options.protocol,A=this._options.nativeProtocols[e];if(!A)throw new TypeError("Unsupported protocol "+e);if(this._options.agents){var t=e.slice(0,-1);this._options.agent=this._options.agents[t]}var a=this._currentRequest=A.request(this._options,this._onNativeResponse);a._redirectable=this;for(var r of B0)a.on(r,h0[r]);if(this._currentUrl=/^\//.test(this._options.path)?kr.format(this._options):this._options.path,this._isRedirect){var i=0,s=this,n=this._requestBodyBuffers;(function o(d){if(a===s._currentRequest)if(d)s.emit("error",d);else if(i<n.length){var l=n[i++];a.finished||a.write(l.data,l.encoding,o)}else s._ended&&a.end()})()}};AA.prototype._processResponse=function(e){var A=e.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:e.headers,statusCode:A});var t=e.headers.location;if(!t||this._options.followRedirects===!1||A<300||A>=400){e.responseUrl=this._currentUrl,e.redirects=this._redirects,this.emit("response",e),this._requestBodyBuffers=[];return}if(f0(this._currentRequest),e.destroy(),++this._redirectCount>this._options.maxRedirects)throw new Qv;var a,r=this._options.beforeRedirect;r&&(a=Object.assign({Host:e.req.getHeader("host")},this._options.headers));var i=this._options.method;((A===301||A===302)&&this._options.method==="POST"||A===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],g0(/^content-/i,this._options.headers));var s=g0(/^host$/i,this._options.headers),n=I0(this._currentUrl),o=s||n.host,d=/^\w+:/.test(t)?this._currentUrl:kr.format(Object.assign(n,{host:o})),l=hv(t,d);if(xE("redirecting to",l.href),this._isRedirect=!0,E0(l,this._options),(l.protocol!==n.protocol&&l.protocol!=="https:"||l.host!==o&&!Iv(l.host,o))&&g0(/^(?:authorization|cookie)$/i,this._options.headers),Fr(r)){var p={headers:e.headers,statusCode:A},g={url:d,method:i,headers:a};r(this._options,p,g),this._sanitizeOptions(this._options)}this._performRequest()};function _E(e){var A={maxRedirects:21,maxBodyLength:10485760},t={};return Object.keys(e).forEach(function(a){var r=a+":",i=t[r]=e[a],s=A[a]=Object.create(i);function n(d,l,p){return wv(d)?d=E0(d):B1(d)?d=E0(I0(d)):(p=l,l=HE(d),d={protocol:r}),Fr(l)&&(p=l,l=null),l=Object.assign({maxRedirects:A.maxRedirects,maxBodyLength:A.maxBodyLength},d,l),l.nativeProtocols=t,!B1(l.host)&&!B1(l.hostname)&&(l.hostname="::1"),m0.equal(l.protocol,r,"protocol mismatch"),xE("options",l),new AA(l,p)}function o(d,l,p){var g=s.request(d,l,p);return g.end(),g}Object.defineProperties(s,{request:{value:n,configurable:!0,enumerable:!0,writable:!0},get:{value:o,configurable:!0,enumerable:!0,writable:!0}})}),A}function qE(){}function I0(e){var A;if(C0)A=new Sr(e);else if(A=HE(kr.parse(e)),!B1(A.protocol))throw new c0({input:e});return A}function hv(e,A){return C0?new Sr(e,A):I0(kr.resolve(A,e))}function HE(e){if(/^\[/.test(e.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(e.hostname))throw new c0({input:e.href||e});if(/^\[/.test(e.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(e.host))throw new c0({input:e.href||e});return e}function E0(e,A){var t=A||{};for(var a of Ev)t[a]=e[a];return t.hostname.startsWith("[")&&(t.hostname=t.hostname.slice(1,-1)),t.port!==""&&(t.port=Number(t.port)),t.path=t.search?t.pathname+t.search:t.pathname,t}function g0(e,A){var t;for(var a in A)e.test(a)&&(t=A[a],delete A[a]);return t===null||typeof t>"u"?void 0:String(t).trim()}function Lr(e,A,t){function a(r){Error.captureStackTrace(this,this.constructor),Object.assign(this,r||{}),this.code=e,this.message=this.cause?A+": "+this.cause.message:A}return a.prototype=new(t||Error),Object.defineProperties(a.prototype,{constructor:{value:a,enumerable:!1},name:{value:"Error ["+e+"]",enumerable:!1}}),a}function f0(e,A){for(var t of B0)e.removeListener(t,h0[t]);e.on("error",qE),e.destroy(A)}function Iv(e,A){m0(B1(e)&&B1(A));var t=e.length-A.length-1;return t>0&&e[t]==="."&&e.endsWith(A)}function B1(e){return typeof e=="string"||e instanceof String}function Fr(e){return typeof e=="function"}function fv(e){return typeof e=="object"&&"length"in e}function wv(e){return Sr&&e instanceof Sr}w0.exports=_E({http:cv,https:uv});w0.exports.wrap=_E});var D0=E((ZS,yv)=>{yv.exports={name:"axios",version:"0.21.4",description:"Promise based HTTP client for the browser and node.js",main:"index.js",scripts:{test:"grunt test",start:"node ./sandbox/server.js",build:"NODE_ENV=production grunt build",preversion:"npm test",version:"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json",postversion:"git push && git push --tags",examples:"node ./examples/server.js",coveralls:"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js",fix:"eslint --fix lib/**/*.js"},repository:{type:"git",url:"https://github.com/axios/axios.git"},keywords:["xhr","http","ajax","promise","node"],author:"Matt Zabriskie",license:"MIT",bugs:{url:"https://github.com/axios/axios/issues"},homepage:"https://axios-http.com",devDependencies:{coveralls:"^3.0.0","es6-promise":"^4.2.4",grunt:"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1",karma:"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2",minimist:"^1.2.0",mocha:"^8.2.1",sinon:"^4.5.0","terser-webpack-plugin":"^4.2.3",typescript:"^4.0.5","url-search-params":"^0.10.0",webpack:"^4.44.2","webpack-dev-server":"^3.11.0"},browser:{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},jsdelivr:"dist/axios.min.js",unpkg:"dist/axios.min.js",typings:"./index.d.ts",dependencies:{"follow-redirects":"^1.14.0"},bundlesize:[{path:"./dist/axios.min.js",threshold:"5kB"}]}});var XE=E((jS,jE)=>{"use strict";var Ur=Ze(),OE=r0(),Dv=i0(),Rv=js(),vv=require("http"),Nv=require("https"),bv=y0().http,Sv=y0().https,PE=require("url"),Fv=require("zlib"),kv=D0(),sn=Ks(),R0=zs(),WE=/https:?/;function ZE(e,A,t){if(e.hostname=A.host,e.host=A.host,e.port=A.port,e.path=t,A.auth){var a=Buffer.from(A.auth.username+":"+A.auth.password,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+a}e.beforeRedirect=function(i){i.headers.host=i.host,ZE(i,A,i.href)}}jE.exports=function(A){return new Promise(function(a,r){var i=function(T){a(T)},s=function(T){r(T)},n=A.data,o=A.headers;if("User-Agent"in o||"user-agent"in o?!o["User-Agent"]&&!o["user-agent"]&&(delete o["User-Agent"],delete o["user-agent"]):o["User-Agent"]="axios/"+kv.version,n&&!Ur.isStream(n)){if(!Buffer.isBuffer(n))if(Ur.isArrayBuffer(n))n=Buffer.from(new Uint8Array(n));else if(Ur.isString(n))n=Buffer.from(n,"utf-8");else return s(sn("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",A));o["Content-Length"]=n.length}var d=void 0;if(A.auth){var l=A.auth.username||"",p=A.auth.password||"";d=l+":"+p}var g=Dv(A.baseURL,A.url),c=PE.parse(g),u=c.protocol||"http:";if(!d&&c.auth){var m=c.auth.split(":"),Q=m[0]||"",C=m[1]||"";d=Q+":"+C}d&&delete o.Authorization;var B=WE.test(u),w=B?A.httpsAgent:A.httpAgent,I={path:Rv(c.path,A.params,A.paramsSerializer).replace(/^\?/,""),method:A.method.toUpperCase(),headers:o,agent:w,agents:{http:A.httpAgent,https:A.httpsAgent},auth:d};A.socketPath?I.socketPath=A.socketPath:(I.hostname=c.hostname,I.port=c.port);var y=A.proxy;if(!y&&y!==!1){var b=u.slice(0,-1)+"_proxy",k=process.env[b]||process.env[b.toUpperCase()];if(k){var x=PE.parse(k),ye=process.env.no_proxy||process.env.NO_PROXY,Be=!0;if(ye){var wt=ye.split(",").map(function(T){return T.trim()});Be=!wt.some(function(T){return T?T==="*"||T[0]==="."&&c.hostname.substr(c.hostname.length-T.length)===T?!0:c.hostname===T:!1})}if(Be&&(y={host:x.hostname,port:x.port,protocol:x.protocol},x.auth)){var Fe=x.auth.split(":");y.auth={username:Fe[0],password:Fe[1]}}}}y&&(I.headers.host=c.hostname+(c.port?":"+c.port:""),ZE(I,y,u+"//"+c.hostname+(c.port?":"+c.port:"")+I.path));var le,QA=B&&(y?WE.test(y.protocol):!0);A.transport?le=A.transport:A.maxRedirects===0?le=QA?Nv:vv:(A.maxRedirects&&(I.maxRedirects=A.maxRedirects),le=QA?Sv:bv),A.maxBodyLength>-1&&(I.maxBodyLength=A.maxBodyLength);var j=le.request(I,function(T){if(!j.aborted){var JA=T,W=T.req||j;if(T.statusCode!==204&&W.method!=="HEAD"&&A.decompress!==!1)switch(T.headers["content-encoding"]){case"gzip":case"compress":case"deflate":JA=JA.pipe(Fv.createUnzip()),delete T.headers["content-encoding"];break}var tA={status:T.statusCode,statusText:T.statusMessage,headers:T.headers,config:A,request:W};if(A.responseType==="stream")tA.data=JA,OE(i,s,tA);else{var _0=[],q0=0;JA.on("data",function(GA){_0.push(GA),q0+=GA.length,A.maxContentLength>-1&&q0>A.maxContentLength&&(JA.destroy(),s(sn("maxContentLength size of "+A.maxContentLength+" exceeded",A,null,W)))}),JA.on("error",function(GA){j.aborted||s(R0(GA,A,null,W))}),JA.on("end",function(){var GA=Buffer.concat(_0);A.responseType!=="arraybuffer"&&(GA=GA.toString(A.responseEncoding),(!A.responseEncoding||A.responseEncoding==="utf8")&&(GA=Ur.stripBOM(GA))),tA.data=GA,OE(i,s,tA)})}}});if(j.on("error",function(T){j.aborted&&T.code!=="ERR_FR_TOO_MANY_REDIRECTS"||s(R0(T,A,null,j))}),A.timeout){var re=parseInt(A.timeout,10);if(isNaN(re)){s(sn("error trying to parse `config.timeout` to int",A,"ERR_PARSE_TIMEOUT",j));return}j.setTimeout(re,function(){j.abort(),s(sn("timeout of "+re+"ms exceeded",A,A.transitional&&A.transitional.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",j))})}A.cancelToken&&A.cancelToken.promise.then(function(T){j.aborted||(j.abort(),s(T))}),Ur.isStream(n)?n.on("error",function(T){s(R0(T,A,null,j))}).pipe(j):j.end(n)})}});var on=E((XS,$E)=>{"use strict";var Ve=Ze(),zE=dE(),Lv=zs(),Uv={"Content-Type":"application/x-www-form-urlencoded"};function KE(e,A){!Ve.isUndefined(e)&&Ve.isUndefined(e["Content-Type"])&&(e["Content-Type"]=A)}function Tv(){var e;return typeof XMLHttpRequest<"u"?e=RE():typeof process<"u"&&Object.prototype.toString.call(process)==="[object process]"&&(e=XE()),e}function Mv(e,A,t){if(Ve.isString(e))try{return(A||JSON.parse)(e),Ve.trim(e)}catch(a){if(a.name!=="SyntaxError")throw a}return(t||JSON.stringify)(e)}var nn={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:Tv(),transformRequest:[function(A,t){return zE(t,"Accept"),zE(t,"Content-Type"),Ve.isFormData(A)||Ve.isArrayBuffer(A)||Ve.isBuffer(A)||Ve.isStream(A)||Ve.isFile(A)||Ve.isBlob(A)?A:Ve.isArrayBufferView(A)?A.buffer:Ve.isURLSearchParams(A)?(KE(t,"application/x-www-form-urlencoded;charset=utf-8"),A.toString()):Ve.isObject(A)||t&&t["Content-Type"]==="application/json"?(KE(t,"application/json"),Mv(A)):A}],transformResponse:[function(A){var t=this.transitional,a=t&&t.silentJSONParsing,r=t&&t.forcedJSONParsing,i=!a&&this.responseType==="json";if(i||r&&Ve.isString(A)&&A.length)try{return JSON.parse(A)}catch(s){if(i)throw s.name==="SyntaxError"?Lv(s,this,"E_JSON_PARSE"):s}return A}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(A){return A>=200&&A<300}};nn.headers={common:{Accept:"application/json, text/plain, */*"}};Ve.forEach(["delete","get","head"],function(A){nn.headers[A]={}});Ve.forEach(["post","put","patch"],function(A){nn.headers[A]=Ve.merge(Uv)});$E.exports=nn});var A3=E((zS,e3)=>{"use strict";var Vv=Ze(),Yv=on();e3.exports=function(A,t,a){var r=this||Yv;return Vv.forEach(a,function(s){A=s.call(r,A,t)}),A}});var v0=E((KS,t3)=>{"use strict";t3.exports=function(A){return!!(A&&A.__CANCEL__)}});var i3=E(($S,r3)=>{"use strict";var a3=Ze(),N0=A3(),Jv=v0(),Gv=on();function b0(e){e.cancelToken&&e.cancelToken.throwIfRequested()}r3.exports=function(A){b0(A),A.headers=A.headers||{},A.data=N0.call(A,A.data,A.headers,A.transformRequest),A.headers=a3.merge(A.headers.common||{},A.headers[A.method]||{},A.headers),a3.forEach(["delete","get","head","post","put","patch","common"],function(r){delete A.headers[r]});var t=A.adapter||Gv.adapter;return t(A).then(function(r){return b0(A),r.data=N0.call(A,r.data,r.headers,A.transformResponse),r},function(r){return Jv(r)||(b0(A),r&&r.response&&(r.response.data=N0.call(A,r.response.data,r.response.headers,A.transformResponse))),Promise.reject(r)})}});var S0=E((eF,s3)=>{"use strict";var Ge=Ze();s3.exports=function(A,t){t=t||{};var a={},r=["url","method","data"],i=["headers","auth","proxy","params"],s=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],n=["validateStatus"];function o(g,c){return Ge.isPlainObject(g)&&Ge.isPlainObject(c)?Ge.merge(g,c):Ge.isPlainObject(c)?Ge.merge({},c):Ge.isArray(c)?c.slice():c}function d(g){Ge.isUndefined(t[g])?Ge.isUndefined(A[g])||(a[g]=o(void 0,A[g])):a[g]=o(A[g],t[g])}Ge.forEach(r,function(c){Ge.isUndefined(t[c])||(a[c]=o(void 0,t[c]))}),Ge.forEach(i,d),Ge.forEach(s,function(c){Ge.isUndefined(t[c])?Ge.isUndefined(A[c])||(a[c]=o(void 0,A[c])):a[c]=o(void 0,t[c])}),Ge.forEach(n,function(c){c in t?a[c]=o(A[c],t[c]):c in A&&(a[c]=o(void 0,A[c]))});var l=r.concat(i).concat(s).concat(n),p=Object.keys(A).concat(Object.keys(t)).filter(function(c){return l.indexOf(c)===-1});return Ge.forEach(p,d),a}});var l3=E((AF,p3)=>{"use strict";var o3=D0(),F0={};["object","boolean","number","function","string","symbol"].forEach(function(e,A){F0[e]=function(a){return typeof a===e||"a"+(A<1?"n ":" ")+e}});var n3={},xv=o3.version.split(".");function d3(e,A){for(var t=A?A.split("."):xv,a=e.split("."),r=0;r<3;r++){if(t[r]>a[r])return!0;if(t[r]<a[r])return!1}return!1}F0.transitional=function(A,t,a){var r=t&&d3(t);function i(s,n){return"[Axios v"+o3.version+"] Transitional option '"+s+"'"+n+(a?". "+a:"")}return function(s,n,o){if(A===!1)throw new Error(i(n," has been removed in "+t));return r&&!n3[n]&&(n3[n]=!0,console.warn(i(n," has been deprecated since v"+t+" and will be removed in the near future"))),A?A(s,n,o):!0}};function _v(e,A,t){if(typeof e!="object")throw new TypeError("options must be an object");for(var a=Object.keys(e),r=a.length;r-- >0;){var i=a[r],s=A[i];if(s){var n=e[i],o=n===void 0||s(n,i,e);if(o!==!0)throw new TypeError("option "+i+" must be "+o);continue}if(t!==!0)throw Error("Unknown option "+i)}}p3.exports={isOlderVersion:d3,assertOptions:_v,validators:F0}});var m3=E((tF,Q3)=>{"use strict";var u3=Ze(),qv=js(),g3=nE(),c3=i3(),dn=S0(),E3=l3(),va=E3.validators;function Tr(e){this.defaults=e,this.interceptors={request:new g3,response:new g3}}Tr.prototype.request=function(A){typeof A=="string"?(A=arguments[1]||{},A.url=arguments[0]):A=A||{},A=dn(this.defaults,A),A.method?A.method=A.method.toLowerCase():this.defaults.method?A.method=this.defaults.method.toLowerCase():A.method="get";var t=A.transitional;t!==void 0&&E3.assertOptions(t,{silentJSONParsing:va.transitional(va.boolean,"1.0.0"),forcedJSONParsing:va.transitional(va.boolean,"1.0.0"),clarifyTimeoutError:va.transitional(va.boolean,"1.0.0")},!1);var a=[],r=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(A)===!1||(r=r&&g.synchronous,a.unshift(g.fulfilled,g.rejected))});var i=[];this.interceptors.response.forEach(function(g){i.push(g.fulfilled,g.rejected)});var s;if(!r){var n=[c3,void 0];for(Array.prototype.unshift.apply(n,a),n=n.concat(i),s=Promise.resolve(A);n.length;)s=s.then(n.shift(),n.shift());return s}for(var o=A;a.length;){var d=a.shift(),l=a.shift();try{o=d(o)}catch(p){l(p);break}}try{s=c3(o)}catch(p){return Promise.reject(p)}for(;i.length;)s=s.then(i.shift(),i.shift());return s};Tr.prototype.getUri=function(A){return A=dn(this.defaults,A),qv(A.url,A.params,A.paramsSerializer).replace(/^\?/,"")};u3.forEach(["delete","get","head","options"],function(A){Tr.prototype[A]=function(t,a){return this.request(dn(a||{},{method:A,url:t,data:(a||{}).data}))}});u3.forEach(["post","put","patch"],function(A){Tr.prototype[A]=function(t,a,r){return this.request(dn(r||{},{method:A,url:t,data:a}))}});Q3.exports=Tr});var L0=E((aF,C3)=>{"use strict";function k0(e){this.message=e}k0.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")};k0.prototype.__CANCEL__=!0;C3.exports=k0});var h3=E((rF,B3)=>{"use strict";var Hv=L0();function pn(e){if(typeof e!="function")throw new TypeError("executor must be a function.");var A;this.promise=new Promise(function(r){A=r});var t=this;e(function(r){t.reason||(t.reason=new Hv(r),A(t.reason))})}pn.prototype.throwIfRequested=function(){if(this.reason)throw this.reason};pn.source=function(){var A,t=new pn(function(r){A=r});return{token:t,cancel:A}};B3.exports=pn});var f3=E((iF,I3)=>{"use strict";I3.exports=function(A){return function(a){return A.apply(null,a)}}});var y3=E((sF,w3)=>{"use strict";w3.exports=function(A){return typeof A=="object"&&A.isAxiosError===!0}});var v3=E((nF,U0)=>{"use strict";var D3=Ze(),Ov=$p(),ln=m3(),Pv=S0(),Wv=on();function R3(e){var A=new ln(e),t=Ov(ln.prototype.request,A);return D3.extend(t,ln.prototype,A),D3.extend(t,A),t}var YA=R3(Wv);YA.Axios=ln;YA.create=function(A){return R3(Pv(YA.defaults,A))};YA.Cancel=L0();YA.CancelToken=h3();YA.isCancel=v0();YA.all=function(A){return Promise.all(A)};YA.spread=f3();YA.isAxiosError=y3();U0.exports=YA;U0.exports.default=YA});var b3=E((oF,N3)=>{N3.exports=v3()});var S3=E((exports,module)=>{"use strict";var __awaiter=exports&&exports.__awaiter||function(e,A,t,a){function r(i){return i instanceof t?i:new t(function(s){s(i)})}return new(t||(t=Promise))(function(i,s){function n(l){try{d(a.next(l))}catch(p){s(p)}}function o(l){try{d(a.throw(l))}catch(p){s(p)}}function d(l){l.done?i(l.value):r(l.value).then(n,o)}d((a=a.apply(e,A||[])).next())})},__generator=exports&&exports.__generator||function(e,A){var t={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},a,r,i,s;return s={next:n(0),throw:n(1),return:n(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function n(d){return function(l){return o([d,l])}}function o(d){if(a)throw new TypeError("Generator is already executing.");for(;t;)try{if(a=1,r&&(i=d[0]&2?r.return:d[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,d[1])).done)return i;switch(r=0,i&&(d=[d[0]&2,i.value]),d[0]){case 0:case 1:i=d;break;case 4:return t.label++,{value:d[1],done:!1};case 5:t.label++,r=d[1],d=[0];continue;case 7:d=t.ops.pop(),t.trys.pop();continue;default:if(i=t.trys,!(i=i.length>0&&i[i.length-1])&&(d[0]===6||d[0]===2)){t=0;continue}if(d[0]===3&&(!i||d[1]>i[0]&&d[1]<i[3])){t.label=d[1];break}if(d[0]===6&&t.label<i[1]){t.label=i[1],i=d;break}if(i&&t.label<i[2]){t.label=i[2],t.ops.push(d);break}i[2]&&t.ops.pop(),t.trys.pop();continue}d=A.call(e,t)}catch(l){d=[6,l],r=0}finally{a=i=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}},__importDefault=exports&&exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});exports.getAllAudioBase64=exports.getAudioBase64=void 0;var assertInputTypes_1=__importDefault(jp()),axios_1=__importDefault(b3()),splitLongText_1=__importDefault(zp()),getAudioBase64=function(text,_a){var _b=_a===void 0?{}:_a,_c=_b.lang,lang=_c===void 0?"en":_c,_d=_b.slow,slow=_d===void 0?!1:_d,_e=_b.host,host=_e===void 0?"https://translate.google.com":_e,_f=_b.timeout,timeout=_f===void 0?1e4:_f;return __awaiter(void 0,void 0,void 0,function(){var res,result;return __generator(this,function(_g){switch(_g.label){case 0:if(assertInputTypes_1.default(text,lang,slow,host),typeof timeout!="number"||timeout<=0)throw new TypeError("timeout should be a positive number");if(text.length>200)throw new RangeError("text length ("+text.length+') should be less than 200 characters. Try "getAllAudioBase64(text, [option])" for long text.');return[4,axios_1.default({method:"post",baseURL:host,url:"/_/TranslateWebserverUi/data/batchexecute",timeout,data:"f.req="+encodeURIComponent(JSON.stringify([[["jQ1olc",JSON.stringify([text,lang,slow?!0:null,"null"]),null,"generic"]]]))})];case 1:res=_g.sent();try{result=eval(res.data.slice(5))[0][2]}catch(e){throw new Error(`parse response failed: +`+res.data)}if(!result)throw new Error('lang "'+lang+'" might not exist');try{result=eval(result)[0]}catch(e){throw new Error(`parse response failed: +`+res.data)}return[2,result]}})})};exports.getAudioBase64=getAudioBase64;var getAllAudioBase64=function(e,A){var t=A===void 0?{}:A,a=t.lang,r=a===void 0?"en":a,i=t.slow,s=i===void 0?!1:i,n=t.host,o=n===void 0?"https://translate.google.com":n,d=t.splitPunct,l=d===void 0?"":d,p=t.timeout,g=p===void 0?1e4:p;return __awaiter(void 0,void 0,void 0,function(){var c,u,m,Q,C,B;return __generator(this,function(w){switch(w.label){case 0:if(assertInputTypes_1.default(e,r,s,o),typeof l!="string")throw new TypeError("splitPunct should be a string");if(typeof g!="number"||g<=0)throw new TypeError("timeout should be a positive number");return c=splitLongText_1.default(e,{splitPunct:l}),[4,Promise.all(c.map(function(I){return exports.getAudioBase64(I,{lang:r,slow:s,host:o,timeout:g})}))];case 1:for(u=w.sent(),m=[],Q=0;Q<c.length;Q++)C=c[Q],B=u[Q],m.push({shortText:C,base64:B});return[2,m]}})})};exports.getAllAudioBase64=getAllAudioBase64});var L3=E(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.getAllAudioBase64=tt.getAudioBase64=tt.getAllAudioUrls=tt.getAudioUrl=void 0;var F3=$9();Object.defineProperty(tt,"getAudioUrl",{enumerable:!0,get:function(){return F3.getAudioUrl}});Object.defineProperty(tt,"getAllAudioUrls",{enumerable:!0,get:function(){return F3.getAllAudioUrls}});var k3=S3();Object.defineProperty(tt,"getAudioBase64",{enumerable:!0,get:function(){return k3.getAudioBase64}});Object.defineProperty(tt,"getAllAudioBase64",{enumerable:!0,get:function(){return k3.getAllAudioBase64}})});var eN={};$3(eN,{default:()=>W3});module.exports=eQ(eN);var O3=rt(require("react")),H=require("@raycast/api"),P3=rt(Zn());var cn=require("@raycast/api"),M0=rt(Zn()),I1=rt(require("react"));var Wp=rt(require("querystring")),Nr=rt(Hp());var Os={auto:"Automatic",af:"Afrikaans",sq:"Albanian",am:"Amharic",ar:"Arabic",hy:"Armenian",az:"Azerbaijani",eu:"Basque",be:"Belarusian",bn:"Bengali",bs:"Bosnian",bg:"Bulgarian",ca:"Catalan",ceb:"Cebuano",ny:"Chichewa","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",co:"Corsican",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",eo:"Esperanto",et:"Estonian",tl:"Filipino",fi:"Finnish",fr:"French",fy:"Frisian",gl:"Galician",ka:"Georgian",de:"German",el:"Greek",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",haw:"Hawaiian",iw:"Hebrew",hi:"Hindi",hmn:"Hmong",hu:"Hungarian",is:"Icelandic",ig:"Igbo",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",jw:"Javanese",kn:"Kannada",kk:"Kazakh",km:"Khmer",ko:"Korean",ku:"Kurdish (Kurmanji)",ky:"Kyrgyz",lo:"Lao",la:"Latin",lv:"Latvian",lt:"Lithuanian",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mn:"Mongolian",my:"Myanmar (Burmese)",ne:"Nepali",no:"Norwegian",ps:"Pashto",fa:"Persian",pl:"Polish",pt:"Portuguese",pa:"Punjabi",ro:"Romanian",ru:"Russian",sm:"Samoan",gd:"Scots Gaelic",sr:"Serbian",st:"Sesotho",sn:"Shona",sd:"Sindhi",si:"Sinhala",sk:"Slovak",sl:"Slovenian",so:"Somali",es:"Spanish",su:"Sundanese",sw:"Swahili",sv:"Swedish",tg:"Tajik",ta:"Tamil",te:"Telugu",th:"Thai",tr:"Turkish",uk:"Ukrainian",ur:"Urdu",uz:"Uzbek",vi:"Vietnamese",cy:"Welsh",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",zu:"Zulu"};function Ps(e){return e?(e=e.toLowerCase(),e in Os?e:Object.keys(Os).filter(t=>typeof Os[t]!="string"?!1:Os[t].toLowerCase()===e)[0]||void 0):void 0}function P9(e){return!!Ps(e)}var Z9=rt(Hp());function sR(e){let A;if(Op!==null)A=Op;else{A=Ws("T");let o=Ws("K");A=[A(),A()],A[1]=o(),A=(Op=Pp[A.join(o())]||"")||""}let t=Ws("t"),a=Ws("k");t=[t(),t()],t[1]=a(),a="&"+t.join("")+"=",t=A.split("."),A=Number(t[0])||0;for(var r=[],i=0,s=0;s<e.length;s++){let o=e.charCodeAt(s);128>o?r[i++]=o:(2048>o?r[i++]=o>>6|192:((o&64512)==55296&&s+1<e.length&&(e.charCodeAt(s+1)&64512)==56320?(o=65536+((o&1023)<<10)+(e.charCodeAt(++s)&1023),r[i++]=o>>18|240,r[i++]=o>>12&63|128):r[i++]=o>>12|224,r[i++]=o>>6&63|128),r[i++]=o&63|128)}let n=Number(A);for(let o=0;o<r.length;o++)e+=r[o],n=W9(n,"+-a^+6");return n=W9(n,"+-3^+b+-f"),n^=Number(t[1])||0,0>n&&(n=(n&2147483647)+2147483648),n%=1e6,a+(e.toString()+"."+(n^A))}var Op=null,Ws=function(e){return function(){return e}},W9=function(e,A){for(let t=0;t<A.length-2;t+=3){let a=A.charAt(t+2),r=a>="a"?a.charCodeAt(0)-87:Number(a);r=A.charAt(t+1)=="+"?e>>>r:e<<r,e=A.charAt(t)=="+"?e+r&4294967295:e^r}return e},j9=new Map,Pp={TKK:j9.get("TKK")||"0"};async function nR(){let e=Math.floor(Date.now()/36e5);if(Number(Pp.TKK.split(".")[0])!==e){let a=(await(await(0,Z9.request)("https://translate.google.com")).body.text()).match(/tkk:'\d+.\d+'/g);if(a&&a.length>0){let r=a[0].split(":")[1].replace(/'/g,"");Pp.TKK=r,j9.set("TKK",r)}}}async function X9(e){try{await nR();let A=sR(e);return A=A.replace("&tk=",""),{name:"tk",value:A}}catch(A){return A}}async function z9(e,A){typeof A!="object"&&(A={}),e=String(e);let t=null;if([A.from,A.to].forEach(g=>{g&&!P9(g)&&(t=new Error,t.message=`The language '${g}' is not supported.`)}),t)throw t;Object.prototype.hasOwnProperty.call(A,"from")||(A.from="auto"),Object.prototype.hasOwnProperty.call(A,"to")||(A.to="en"),A.raw=!!A.raw,A.from=Ps(A.from),A.to=Ps(A.to);let a=await X9(e),r="https://translate.google.com/translate_a/single",i={client:"gtx",sl:A.from,tl:A.to,hl:A.to,dt:["at","bd","ex","ld","md","qca","rw","rm","ss","t"],ie:"UTF-8",oe:"UTF-8",otf:1,ssel:0,tsel:0,kc:7,q:e,[a.name]:a.value},s=`${r}?${Wp.default.stringify(i)}`,n,o=s;s.length>2048?(delete i.q,o=`${r}?${Wp.default.stringify(i)}`,n={method:"POST",body:new URLSearchParams({q:e}).toString(),headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"}},A.proxy&&(n.dispatcher=new Nr.ProxyAgent(A.proxy))):A.proxy&&(n={dispatcher:new Nr.ProxyAgent(A.proxy)});let l=await(await(0,Nr.request)(o,n)).body.json(),p={text:"",from:{language:{didYouMean:!1,iso:""},text:{autoCorrected:!1,value:"",didYouMean:!1}},raw:""};if(A.raw&&(p.raw=l),l[0].forEach(g=>{g[0]&&(p.text+=g[0])}),l[2]===l[8][0][0]?p.from.language.iso=l[2]:(p.from.language.didYouMean=!0,p.from.language.iso=l[8][0][0]),l[7]&&l[7][0]){let g=l[7][0];g=g.replace(/<b><i>/g,"["),g=g.replace(/<\/i><\/b>/g,"]"),p.from.text.value=g,l[7][5]===!0?p.from.text.autoCorrected=!0:p.from.text.didYouMean=!0}return p}var Zv=rt(L3());var h1="auto",gn=class extends Error{},jv=e=>e?.[0]?.[1]?.[2];async function U3(e,A){try{if(!e)return{originalText:e,translatedText:"",pronunciationText:"",langFrom:A.langFrom,langTo:A.langTo[0]};let t=await z9(e,{from:A.langFrom,to:A.langTo[0],raw:!0,proxy:A.proxy});return{originalText:e,translatedText:t.text,pronunciationText:jv(t?.raw),langFrom:t?.from?.language?.iso,langTo:A.langTo[0]}}catch(t){if(t instanceof Error){if(t.name==="TooManyRequestsError"){let r=new gn;throw r.name="Too many requests",r.message="please try again later",r}let a=new gn;throw a.name=t.name,a.message=t.message,a}throw t}}var T0=e=>({langFrom:e.langFrom,langTo:Array.isArray(e.langTo)?e.langTo:[e.langTo]}),Mr=()=>I1.default.useMemo(()=>(0,cn.getPreferenceValues)(),[]),T3=()=>{let e=Mr(),[A,t]=I1.default.useState(""),a=I1.default.useRef(A);return a.current=A,I1.default.useEffect(()=>{e.autoInput&&(0,cn.getSelectedText)().then(r=>{a.current||t(r??"")}).catch(r=>{console.log("Error:",r)})},[]),[A,t]},Vr=()=>{let e=Mr(),[A,t]=(0,M0.useCachedState)("selectedLanguageSet",T0({langFrom:e.lang1,langTo:e.lang2}));return[T0(A),t]},V0=()=>{let e=Mr();return{langFrom:e.lang1,langTo:[e.lang2]}},M3=(e,A)=>{let[t,a]=I1.default.useState(e);return I1.default.useEffect(()=>{let r=setTimeout(()=>{a(e)},A);return()=>{clearTimeout(r)}},[e,A]),t},Y0=()=>{let[e,A]=(0,M0.useCachedState)("languages",[]);return[e.map(T0),A]};var V3={"Auto-detect":{code:"auto",name:"Auto-detect",flag:"\u{1F310}"},Afrikaans:{code:"af",name:"Afrikaans",flag:"\u{1F1FF}\u{1F1E6}"},Albanian:{code:"sq",name:"Albanian",flag:"\u{1F1E6}\u{1F1F1}"},Amharic:{code:"am",name:"Amharic"},Arabic:{code:"ar",name:"Arabic"},Armenian:{code:"hy",name:"Armenian",flag:"\u{1F1E6}\u{1F1F2}"},Azerbaijani:{code:"az",name:"Azerbaijani",flag:"\u{1F1E6}\u{1F1FF}"},Basque:{code:"eu",name:"Basque"},Belarusian:{code:"be",name:"Belarusian",flag:"\u{1F1E7}\u{1F1FE}"},Bengali:{code:"bn",name:"Bengali"},Bosnian:{code:"bs",name:"Bosnian",flag:"\u{1F1E7}\u{1F1E6}"},Bulgarian:{code:"bg",name:"Bulgarian",flag:"\u{1F1E7}\u{1F1EC}"},Catalan:{code:"ca",name:"Catalan"},Cebuano:{code:"ceb",name:"Cebuano"},"Chinese Simplified":{code:"zh-CN",name:"Chinese Simplified",flag:"\u{1F1E8}\u{1F1F3}"},Mandarin:{code:"zh-TW",name:"Chinese Traditional"},Corsican:{code:"co",name:"Corsican"},Croatian:{code:"hr",name:"Croatian",flag:"\u{1F1ED}\u{1F1F7}"},Czech:{code:"cs",name:"Czech",flag:"\u{1F1E8}\u{1F1FF}"},Danish:{code:"da",name:"Danish",flag:"\u{1F1E9}\u{1F1F0}"},Dutch:{code:"nl",name:"Dutch",flag:"\u{1F1F3}\u{1F1F1}"},English:{code:"en",name:"English",flag:"\u{1F1EC}\u{1F1E7}"},Esperanto:{code:"eo",name:"Esperanto"},Estonian:{code:"et",name:"Estonian",flag:"\u{1F1EA}\u{1F1EA}"},Finnish:{code:"fi",name:"Finnish",flag:"\u{1F1EB}\u{1F1EE}"},French:{code:"fr",name:"French",flag:"\u{1F1EB}\u{1F1F7}"},Frisian:{code:"fy",name:"Frisian"},Galician:{code:"gl",name:"Galician"},Georgian:{code:"ka",name:"Georgian",flag:"\u{1F1EC}\u{1F1EA}"},German:{code:"de",name:"German",flag:"\u{1F1E9}\u{1F1EA}"},Greek:{code:"el",name:"Greek",flag:"\u{1F1EC}\u{1F1F7}"},Gujarati:{code:"gu",name:"Gujarati"},"Haitian Creole":{code:"ht",name:"Haitian Creole",flag:"\u{1F1ED}\u{1F1F9}"},Hausa:{code:"ha",name:"Hausa"},Hawaiian:{code:"haw",name:"Hawaiian",flag:"\u{1F33A}"},Hebrew:{code:"iw",name:"Hebrew",flag:"\u{1F1EE}\u{1F1F1}"},Hindi:{code:"hi",name:"Hindi",flag:"\u{1F1EE}\u{1F1F3}"},Hmong:{code:"hmn",name:"Hmong"},Hungarian:{code:"hu",name:"Hungarian",flag:"\u{1F1ED}\u{1F1FA}"},Icelandic:{code:"is",name:"Icelandic",flag:"\u{1F1EE}\u{1F1F8}"},Igbo:{code:"ig",name:"Igbo"},Indonesian:{code:"id",name:"Indonesian",flag:"\u{1F1EE}\u{1F1E9}"},Irish:{code:"ga",name:"Irish",flag:"\u{1F1EE}\u{1F1EA}"},Italian:{code:"it",name:"Italian",flag:"\u{1F1EE}\u{1F1F9}"},Japanese:{code:"ja",name:"Japanese",flag:"\u{1F1EF}\u{1F1F5}"},Javanese:{code:"jv",name:"Javanese"},Kannada:{code:"kn",name:"Kannada"},Kazakh:{code:"kk",name:"Kazakh",flag:"\u{1F1F0}\u{1F1FF}"},Khmer:{code:"km",name:"Khmer"},Kinyarwanda:{code:"rw",name:"Kinyarwanda"},Korean:{code:"ko",name:"Korean",flag:"\u{1F1F0}\u{1F1F7}"},Kurdish:{code:"ku",name:"Kurdish"},Kyrgyz:{code:"ky",name:"Kyrgyz"},Lao:{code:"lo",name:"Lao"},Latvian:{code:"lv",name:"Latvian",flag:"\u{1F1F1}\u{1F1FB}"},Lithuanian:{code:"lt",name:"Lithuanian",flag:"\u{1F1F1}\u{1F1F9}"},Luxembourgish:{code:"lb",name:"Luxembourgish",flag:"\u{1F1F1}\u{1F1FA}"},Latin:{code:"la",name:"Latin",flag:"\u{1F3DB}"},Macedonian:{code:"mk",name:"Macedonian",flag:"\u{1F1F2}\u{1F1F0}"},Malagasy:{code:"mg",name:"Malagasy"},Malay:{code:"ms",name:"Malay",flag:"\u{1F1F2}\u{1F1FE}"},Malayalam:{code:"ml",name:"Malayalam"},Maltese:{code:"mt",name:"Maltese",flag:"\u{1F1F2}\u{1F1F9}"},Maori:{code:"mi",name:"Maori",flag:"\u{1F1F3}\u{1F1FF}"},Marathi:{code:"mr",name:"Marathi"},Mongolian:{code:"mn",name:"Mongolian",flag:"\u{1F1F2}\u{1F1F3}"},"Myanmar (Burmese)":{code:"my",name:"Myanmar (Burmese)",flag:"\u{1F1F2}\u{1F1F2}"},Nepali:{code:"ne",name:"Nepali",flag:"\u{1F1F3}\u{1F1F5}"},Norwegian:{code:"no",name:"Norwegian",flag:"\u{1F1F3}\u{1F1F4}"},"Nyanja (Chichewa)":{code:"ny",name:"Nyanja (Chichewa)"},"Odia (Oriya)":{code:"or",name:"Odia (Oriya)"},Pashto:{code:"ps",name:"Pashto"},Persian:{code:"fa",name:"Persian",flag:"\u{1F1EE}\u{1F1F7}"},Polish:{code:"pl",name:"Polish",flag:"\u{1F1F5}\u{1F1F1}"},Portuguese:{code:"pt",name:"Portuguese",flag:"\u{1F1F5}\u{1F1F9}"},Punjabi:{code:"pa",name:"Punjabi",flag:"\u{1F1EE}\u{1F1F3}"},Romanian:{code:"ro",name:"Romanian",flag:"\u{1F1F7}\u{1F1F4}"},Russian:{code:"ru",name:"Russian",flag:"\u{1F1F7}\u{1F1FA}"},Samoan:{code:"sm",name:"Samoan"},"Scots Gaelic":{code:"gd",name:"Scots Gaelic",flag:"\u{1F3F4}\u{E0067}\u{E0062}\u{E0073}\u{E0063}\u{E0074}\u{E007F}"},Serbian:{code:"sr",name:"Serbian",flag:"\u{1F1F7}\u{1F1F8}"},Sesotho:{code:"st",name:"Sesotho"},Shona:{code:"sn",name:"Shona"},Sindhi:{code:"sd",name:"Sindhi"},"Sinhala (Sinhalese)":{code:"si",name:"Sinhala (Sinhalese)"},Slovak:{code:"sk",name:"Slovak",flag:"\u{1F1F8}\u{1F1F0}"},Slovenian:{code:"sl",name:"Slovenian",flag:"\u{1F1F8}\u{1F1EE}"},Somali:{code:"so",name:"Somali",flag:"\u{1F1F8}\u{1F1F4}"},Spanish:{code:"es",name:"Spanish",flag:"\u{1F1EA}\u{1F1F8}"},Sundanese:{code:"su",name:"Sundanese",flag:"\u{1F1F8}\u{1F1E9}"},Swahili:{code:"sw",name:"Swahili"},Swedish:{code:"sv",name:"Swedish",flag:"\u{1F1F8}\u{1F1EA}"},"Tagalog (Filipino)":{code:"tl",name:"Tagalog (Filipino)",flag:"\u{1F1F5}\u{1F1ED}"},Tajik:{code:"tg",name:"Tajik"},Tamil:{code:"ta",name:"Tamil"},Tatar:{code:"tt",name:"Tatar"},Telugu:{code:"te",name:"Telugu"},Thai:{code:"th",name:"Thai"},Turkish:{code:"tr",name:"Turkish",flag:"\u{1F1F9}\u{1F1F7}"},Turkmen:{code:"tk",name:"Turkmen",flag:"\u{1F1F9}\u{1F1F2}"},Ukrainian:{code:"uk",name:"Ukrainian",flag:"\u{1F1FA}\u{1F1E6}"},Urdu:{code:"ur",name:"Urdu"},Uyghur:{code:"ug",name:"Uyghur"},Uzbek:{code:"uz",name:"Uzbek"},Vietnamese:{code:"vi",name:"Vietnamese",flag:"\u{1F1FB}\u{1F1F3}"},Welsh:{code:"cy",name:"Welsh",flag:"\u{1F3F4}\u{E0067}\u{E0062}\u{E0077}\u{E006C}\u{E0073}\u{E007F}"},Xhosa:{code:"xh",name:"Xhosa"},Yiddish:{code:"yi",name:"Yiddish",flag:"\u{1F1EE}\u{1F1F1}"},Yoruba:{code:"yo",name:"Yoruba"},Zulu:{code:"zu",name:"Zulu"}};var Y3={auto:{code:"auto",name:"Auto-detect",flag:"\u{1F310}"},af:{code:"af",name:"Afrikaans",flag:"\u{1F1FF}\u{1F1E6}"},sq:{code:"sq",name:"Albanian",flag:"\u{1F1E6}\u{1F1F1}"},am:{code:"am",name:"Amharic"},ar:{code:"ar",name:"Arabic"},hy:{code:"hy",name:"Armenian",flag:"\u{1F1E6}\u{1F1F2}"},az:{code:"az",name:"Azerbaijani",flag:"\u{1F1E6}\u{1F1FF}"},eu:{code:"eu",name:"Basque"},be:{code:"be",name:"Belarusian",flag:"\u{1F1E7}\u{1F1FE}"},bn:{code:"bn",name:"Bengali"},bs:{code:"bs",name:"Bosnian",flag:"\u{1F1E7}\u{1F1E6}"},bg:{code:"bg",name:"Bulgarian",flag:"\u{1F1E7}\u{1F1EC}"},ca:{code:"ca",name:"Catalan"},ceb:{code:"ceb",name:"Cebuano"},"zh-CN":{code:"zh-CN",name:"Chinese Simplified",flag:"\u{1F1E8}\u{1F1F3}"},"zh-TW":{code:"zh-TW",name:"Chinese Traditional"},co:{code:"co",name:"Corsican"},hr:{code:"hr",name:"Croatian",flag:"\u{1F1ED}\u{1F1F7}"},cs:{code:"cs",name:"Czech",flag:"\u{1F1E8}\u{1F1FF}"},da:{code:"da",name:"Danish",flag:"\u{1F1E9}\u{1F1F0}"},nl:{code:"nl",name:"Dutch",flag:"\u{1F1F3}\u{1F1F1}"},en:{code:"en",name:"English",flag:"\u{1F1EC}\u{1F1E7}"},eo:{code:"eo",name:"Esperanto"},et:{code:"et",name:"Estonian",flag:"\u{1F1EA}\u{1F1EA}"},fi:{code:"fi",name:"Finnish",flag:"\u{1F1EB}\u{1F1EE}"},fr:{code:"fr",name:"French",flag:"\u{1F1EB}\u{1F1F7}"},fy:{code:"fy",name:"Frisian"},gl:{code:"gl",name:"Galician"},ka:{code:"ka",name:"Georgian",flag:"\u{1F1EC}\u{1F1EA}"},de:{code:"de",name:"German",flag:"\u{1F1E9}\u{1F1EA}"},el:{code:"el",name:"Greek",flag:"\u{1F1EC}\u{1F1F7}"},gu:{code:"gu",name:"Gujarati"},ht:{code:"ht",name:"Haitian Creole",flag:"\u{1F1ED}\u{1F1F9}"},ha:{code:"ha",name:"Hausa"},haw:{code:"haw",name:"Hawaiian",flag:"\u{1F33A}"},iw:{code:"iw",name:"Hebrew",flag:"\u{1F1EE}\u{1F1F1}"},hi:{code:"hi",name:"Hindi",flag:"\u{1F1EE}\u{1F1F3}"},hmn:{code:"hmn",name:"Hmong"},hu:{code:"hu",name:"Hungarian",flag:"\u{1F1ED}\u{1F1FA}"},is:{code:"is",name:"Icelandic",flag:"\u{1F1EE}\u{1F1F8}"},ig:{code:"ig",name:"Igbo"},id:{code:"id",name:"Indonesian",flag:"\u{1F1EE}\u{1F1E9}"},ga:{code:"ga",name:"Irish",flag:"\u{1F1EE}\u{1F1EA}"},it:{code:"it",name:"Italian",flag:"\u{1F1EE}\u{1F1F9}"},ja:{code:"ja",name:"Japanese",flag:"\u{1F1EF}\u{1F1F5}"},jv:{code:"jv",name:"Javanese"},kn:{code:"kn",name:"Kannada"},kk:{code:"kk",name:"Kazakh",flag:"\u{1F1F0}\u{1F1FF}"},km:{code:"km",name:"Khmer"},rw:{code:"rw",name:"Kinyarwanda"},ko:{code:"ko",name:"Korean",flag:"\u{1F1F0}\u{1F1F7}"},ku:{code:"ku",name:"Kurdish"},ky:{code:"ky",name:"Kyrgyz"},lo:{code:"lo",name:"Lao"},lv:{code:"lv",name:"Latvian",flag:"\u{1F1F1}\u{1F1FB}"},lt:{code:"lt",name:"Lithuanian",flag:"\u{1F1F1}\u{1F1F9}"},lb:{code:"lb",name:"Luxembourgish",flag:"\u{1F1F1}\u{1F1FA}"},la:{code:"la",name:"Latin",flag:"\u{1F3DB}"},mk:{code:"mk",name:"Macedonian",flag:"\u{1F1F2}\u{1F1F0}"},mg:{code:"mg",name:"Malagasy"},ms:{code:"ms",name:"Malay",flag:"\u{1F1F2}\u{1F1FE}"},ml:{code:"ml",name:"Malayalam"},mt:{code:"mt",name:"Maltese",flag:"\u{1F1F2}\u{1F1F9}"},mi:{code:"mi",name:"Maori",flag:"\u{1F1F3}\u{1F1FF}"},mr:{code:"mr",name:"Marathi"},mn:{code:"mn",name:"Mongolian",flag:"\u{1F1F2}\u{1F1F3}"},my:{code:"my",name:"Myanmar (Burmese)",flag:"\u{1F1F2}\u{1F1F2}"},ne:{code:"ne",name:"Nepali",flag:"\u{1F1F3}\u{1F1F5}"},no:{code:"no",name:"Norwegian",flag:"\u{1F1F3}\u{1F1F4}"},ny:{code:"ny",name:"Nyanja (Chichewa)"},or:{code:"or",name:"Odia (Oriya)"},ps:{code:"ps",name:"Pashto"},fa:{code:"fa",name:"Persian",flag:"\u{1F1EE}\u{1F1F7}"},pl:{code:"pl",name:"Polish",flag:"\u{1F1F5}\u{1F1F1}"},pt:{code:"pt",name:"Portuguese",flag:"\u{1F1F5}\u{1F1F9}"},pa:{code:"pa",name:"Punjabi",flag:"\u{1F1EE}\u{1F1F3}"},ro:{code:"ro",name:"Romanian",flag:"\u{1F1F7}\u{1F1F4}"},ru:{code:"ru",name:"Russian",flag:"\u{1F1F7}\u{1F1FA}"},sm:{code:"sm",name:"Samoan"},gd:{code:"gd",name:"Scots Gaelic",flag:"\u{1F3F4}\u{E0067}\u{E0062}\u{E0073}\u{E0063}\u{E0074}\u{E007F}"},sr:{code:"sr",name:"Serbian",flag:"\u{1F1F7}\u{1F1F8}"},st:{code:"st",name:"Sesotho"},sn:{code:"sn",name:"Shona"},sd:{code:"sd",name:"Sindhi"},si:{code:"si",name:"Sinhala (Sinhalese)"},sk:{code:"sk",name:"Slovak",flag:"\u{1F1F8}\u{1F1F0}"},sl:{code:"sl",name:"Slovenian",flag:"\u{1F1F8}\u{1F1EE}"},so:{code:"so",name:"Somali",flag:"\u{1F1F8}\u{1F1F4}"},es:{code:"es",name:"Spanish",flag:"\u{1F1EA}\u{1F1F8}"},su:{code:"su",name:"Sundanese",flag:"\u{1F1F8}\u{1F1E9}"},sw:{code:"sw",name:"Swahili"},sv:{code:"sv",name:"Swedish",flag:"\u{1F1F8}\u{1F1EA}"},tl:{code:"tl",name:"Tagalog (Filipino)",flag:"\u{1F1F5}\u{1F1ED}"},tg:{code:"tg",name:"Tajik"},ta:{code:"ta",name:"Tamil"},tt:{code:"tt",name:"Tatar"},te:{code:"te",name:"Telugu"},th:{code:"th",name:"Thai"},tr:{code:"tr",name:"Turkish",flag:"\u{1F1F9}\u{1F1F7}"},tk:{code:"tk",name:"Turkmen",flag:"\u{1F1F9}\u{1F1F2}"},uk:{code:"uk",name:"Ukrainian",flag:"\u{1F1FA}\u{1F1E6}"},ur:{code:"ur",name:"Urdu"},ug:{code:"ug",name:"Uyghur"},uz:{code:"uz",name:"Uzbek"},vi:{code:"vi",name:"Vietnamese",flag:"\u{1F1FB}\u{1F1F3}"},cy:{code:"cy",name:"Welsh",flag:"\u{1F3F4}\u{E0067}\u{E0062}\u{E0077}\u{E006C}\u{E0073}\u{E007F}"},xh:{code:"xh",name:"Xhosa"},yi:{code:"yi",name:"Yiddish",flag:"\u{1F1EE}\u{1F1F1}"},yo:{code:"yo",name:"Yoruba"},zu:{code:"zu",name:"Zulu"}};var Ee=(e,A="\u{1F3F3}\uFE0F")=>e?.flag??A;var f1=Y3,Kv=V3,ft=Object.values(Kv);var _=require("@raycast/api");var J3=rt(require("react")),Se=require("@raycast/api");var EA=require("react/jsx-runtime"),G3=({onAddLanguage:e})=>{let[A,t]=J3.default.useState(["en"]);return(0,EA.jsxs)(Se.Form,{actions:(0,EA.jsx)(Se.ActionPanel,{children:(0,EA.jsx)(Se.Action.SubmitForm,{title:"Add language set",onSubmit:a=>{let r=A.filter(i=>!!i);if(!r.length){(0,Se.showToast)({style:Se.Toast.Style.Failure,title:"No target languages",message:"Please select at least one target language"});return}e({langFrom:a.langFrom,langTo:r})}})}),children:[(0,EA.jsx)(Se.Form.Dropdown,{id:"langFrom",title:"Source Language",children:ft.map(a=>(0,EA.jsx)(Se.Form.Dropdown.Item,{value:a.code,title:a.name,icon:Ee(a)},a.code))}),A.map((a,r)=>{let i=A[r];return(0,EA.jsxs)(Se.Form.Dropdown,{id:`langTo.${r}`,title:`Target Language ${r+1}`,value:i,onChange:s=>{let n=[...A];n[r]=s,t(n)},children:[!i&&(0,EA.jsx)(Se.Form.Dropdown.Item,{value:"",title:""}),ft.filter(s=>s.code!==h1).map(s=>(0,EA.jsx)(Se.Form.Dropdown.Item,{value:s.code,title:s.name,icon:Ee(s)},s.code))]},r)}),(!!A[A.length-1]||A.length===0)&&(0,EA.jsxs)(Se.Form.Dropdown,{id:`langTo.${A.length}`,title:`Target Language ${A.length}`,value:"",onChange:a=>{let r=[...A];r.push(a),t(r)},children:[(0,EA.jsx)(Se.Form.Dropdown.Item,{value:"",title:""}),ft.filter(a=>a.code!==h1).map(a=>(0,EA.jsx)(Se.Form.Dropdown.Item,{value:a.code,title:a.name,icon:Ee(a)},a.code))]},A.length)]})};var Na=(e,A)=>e.langFrom===A.langFrom&&e.langTo.join()===A.langTo.join(),J0=e=>({langFrom:f1[e.langFrom],langTo:e.langTo.map(A=>f1[A])}),Yr=e=>{let{langFrom:A,langTo:t}=J0(e),r=(Array.isArray(t)?t:[t]).map(i=>`${Ee(i)} ${i.name}`);return`${A.name} ${Ee(A)} -> ${r.join(", ")}`};var we=require("react/jsx-runtime");function x3({languageSet:e,onSelect:A,onDelete:t,selected:a}){let{langFrom:r,langTo:i}=J0(e),s=Array.isArray(i)?i:[i],n=s.map(d=>Ee(d)).join(" "),o=s.map(d=>d.name).join(", ");return(0,we.jsx)(_.List.Item,{subtitle:`${Ee(r)} -> ${n}`,title:`${r.name} -> ${o}`,keywords:[r.name,r.code,...s.flatMap(d=>[d.name,d.code])],icon:a?{tintColor:_.Color.Green,source:_.Icon.Checkmark}:void 0,actions:(0,we.jsxs)(_.ActionPanel,{children:[(0,we.jsx)(_.Action,{title:"Select",onAction:A,icon:{tintColor:_.Color.Green,source:_.Icon.Checkmark}}),t&&(0,we.jsx)(_.Action,{style:_.Action.Style.Destructive,title:"Delete",onAction:t,icon:_.Icon.Trash})]})})}var $v=({languageSet:e,onSelect:A})=>(0,we.jsx)(_.List.Item,{icon:_.Icon.SaveDocument,title:"Save current set",subtitle:Yr(e),actions:(0,we.jsx)(_.ActionPanel,{children:(0,we.jsx)(_.Action,{title:"Save current set",onAction:A})})}),G0=()=>{let e=(0,_.useNavigation)(),A=V0(),[t,a]=Vr(),[r,i]=Y0();return(0,we.jsxs)(_.List,{actions:(0,we.jsx)(_.ActionPanel,{children:(0,we.jsx)(_.Action,{title:"Remove all",onAction:()=>i([])})}),children:[(0,we.jsx)(_.List.Item,{icon:{source:_.Icon.Plus},title:"Add new language set...",actions:(0,we.jsx)(_.ActionPanel,{children:(0,we.jsx)(_.Action.Push,{title:"Add new language set...",target:(0,we.jsx)(G3,{onAddLanguage:s=>{i([...r,s]),e.pop(),(0,_.showToast)(_.Toast.Style.Success,"Language set was saved!",Yr(s))}})})})}),!r.some(s=>Na(s,t))&&!Na(A,t)&&(0,we.jsx)($v,{languageSet:t,onSelect:()=>i([...r,t])}),(0,we.jsx)(x3,{languageSet:A,onSelect:()=>{a(A),e.pop()},selected:Na(t,A)}),r.map(s=>(0,we.jsx)(x3,{selected:Na(t,s),languageSet:s,onSelect:()=>{a(s),e.pop()},onDelete:()=>{i(r.filter(n=>!Na(n,s))),(0,_.showToast)(_.Toast.Style.Success,"Language set was deleted!",Yr(s))}},`${s.langFrom} ${s.langTo}`))]})};var x0=require("@raycast/api");var _3=require("react/jsx-runtime");var w1=require("@raycast/api"),at=require("react/jsx-runtime"),q3=({defaultActionsPrefix:e,value:A})=>{let t=(0,w1.getPreferenceValues)().defaultAction,a=(0,at.jsx)(w1.Action.Paste,{title:e?`Paste ${e}`:"Paste",content:A}),r=(0,at.jsx)(w1.Action.CopyToClipboard,{title:e?`Copy ${e}`:"Copy",content:A});return t==="paste"?(0,at.jsxs)(at.Fragment,{children:[a,r]}):(0,at.jsxs)(at.Fragment,{children:[r,a]})};var H3=({translationText:e,translation:A})=>(0,at.jsx)(w1.Action.OpenInBrowser,{title:"Open in Google Translate",shortcut:{modifiers:["opt"],key:"enter"},url:"https://translate.google.com/?sl="+A.langFrom+"&tl="+A.langTo+"&text="+encodeURIComponent(e)+"&op=translate"});var ee=require("react/jsx-runtime");function W3(){let[e,A]=Vr(),t=e.langFrom,a=Array.isArray(e.langTo)?e.langTo[0]:e.langTo,{proxy:r}=Mr(),i=Q=>A({...e,langFrom:Q}),s=Q=>A({...e,langTo:[Q]}),n=f1[t],o=f1[a],[d,l]=T3(),p=M3(d,500),{data:g,isLoading:c}=(0,P3.usePromise)(U3,[p,{langFrom:n.code,langTo:[o.code],proxy:r}],{onError(Q){(0,H.showToast)({style:H.Toast.Style.Failure,title:Q.name,message:Q.message})}}),u=Q=>{Q.length>5e3?(l(Q.slice(0,5e3)),(0,H.showToast)({style:H.Toast.Style.Failure,title:"Limit",message:"Max length (5000 chars) for a single translation exceeded"})):l(Q)},m=O3.default.useMemo(()=>t===h1&&g?f1[g.langFrom]:null,[g,t]);return(0,ee.jsxs)(H.Form,{isLoading:c,actions:(0,ee.jsxs)(H.ActionPanel,{children:[(0,ee.jsxs)(H.ActionPanel.Section,{title:"Generals",children:[(0,ee.jsx)(q3,{defaultActionsPrefix:"Translated",value:g?.translatedText??""}),(0,ee.jsx)(H.Action.CopyToClipboard,{title:"Copy Text",content:d??""}),(0,ee.jsx)(H.Action.CopyToClipboard,{title:"Copy Pronunciation",shortcut:{modifiers:["cmd","shift"],key:"p"},content:g?.pronunciationText??""}),(0,ee.jsx)(H3,{translationText:d,translation:{langFrom:t,langTo:a}}),(0,ee.jsx)(H.Action.Push,{icon:H.Icon.Pencil,title:"Manage language sets...",shortcut:{modifiers:["cmd"],key:"l"},target:(0,ee.jsx)(G0,{})})]}),(0,ee.jsxs)(H.ActionPanel.Section,{title:"Settings",children:[(0,ee.jsx)(H.Action,{shortcut:{modifiers:["cmd","shift"],key:"s"},onAction:()=>{A({langFrom:a,langTo:[t]})},title:`${Ee(o,o?.code)} <-> ${Ee(n,n?.code)} Switch Languages`}),(0,ee.jsxs)(H.ActionPanel.Submenu,{shortcut:{modifiers:["cmd"],key:"s"},title:"Change Languages",icon:Ee(n),children:[(0,ee.jsx)(H.ActionPanel.Submenu,{shortcut:{modifiers:["cmd","shift"],key:"f"},title:"Change From Language",icon:Ee(n),children:ft.map(Q=>(0,ee.jsx)(H.Action,{onAction:()=>i(Q.code),title:Q.name,icon:Ee(Q)},Q.code))}),(0,ee.jsx)(H.ActionPanel.Submenu,{shortcut:{modifiers:["cmd","shift"],key:"t"},title:"Change To Language",icon:Ee(o),children:ft.map(Q=>(0,ee.jsx)(H.Action,{onAction:()=>s(Q.code),title:Q.name,icon:Ee(Q)},Q.code))})]})]})]}),children:[(0,ee.jsx)(H.Form.TextArea,{id:"text",title:"Text",value:d,onChange:u}),(0,ee.jsxs)(H.Form.Dropdown,{id:"language_from",title:"From",value:m?.code??t,onChange:Q=>i(Q),storeValue:!0,children:[m&&(0,ee.jsx)(H.Form.Dropdown.Item,{value:m.code,title:`${m.name} (Auto-detect)`,icon:Ee(m)}),ft.map(Q=>(0,ee.jsx)(H.Form.Dropdown.Item,{value:Q.code,title:Q.name,icon:Ee(Q)},Q.code))]}),(0,ee.jsx)(H.Form.Dropdown,{id:"language_to",title:"To",value:a,onChange:Q=>s(Q),storeValue:!0,children:ft.filter(Q=>Q.code!==h1).map(Q=>(0,ee.jsx)(H.Form.Dropdown.Item,{value:Q.code,title:Q.name,icon:Ee(Q)},Q.code))}),(0,ee.jsx)(H.Form.TextArea,{id:"result",title:"Translation",value:g?.translatedText??"",placeholder:"Translation"}),(0,ee.jsx)(H.Form.Description,{title:"Pronunciation",text:g?.pronunciationText??""})]})} +/*! Bundled license information: + +media-typer/index.js: + (*! + * media-typer + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + *) + +content-type/index.js: + (*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +undici/lib/fetch/body.js: + (*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *) + +undici/lib/websocket/frame.js: + (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *) +*/ diff --git a/.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/translate-form.js.map b/.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/translate-form.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/dequal/lite/index.js", "../node_modules/@raycast/utils/dist/useDeepMemo.js", "../node_modules/@raycast/utils/dist/useLatest.js", "../node_modules/@raycast/utils/dist/handle-error-toast-action.js", "../node_modules/@raycast/utils/dist/usePromise.js", "../node_modules/@raycast/utils/dist/useCachedState.js", "../node_modules/object-hash/index.js", "../node_modules/@raycast/utils/dist/useCachedPromise.js", "../node_modules/media-typer/index.js", "../node_modules/content-type/index.js", "../node_modules/webidl-conversions/lib/index.js", "../node_modules/whatwg-url/lib/utils.js", "../node_modules/tr46/lib/mappingTable.json", "../node_modules/tr46/index.js", "../node_modules/whatwg-url/lib/url-state-machine.js", "../node_modules/whatwg-url/lib/URL-impl.js", "../node_modules/whatwg-url/lib/URL.js", "../node_modules/whatwg-url/lib/public-api.js", "../node_modules/node-fetch/lib/index.js", "../node_modules/cross-fetch/dist/node-ponyfill.js", "../node_modules/@raycast/utils/dist/useFetch.js", "../node_modules/signal-exit/src/signals.ts", "../node_modules/signal-exit/src/index.ts", "../node_modules/@raycast/utils/dist/exec-utils.js", "../node_modules/@raycast/utils/dist/useExec.js", "../node_modules/@raycast/utils/dist/useSQL.js", "../node_modules/@raycast/utils/dist/useForm.js", "../node_modules/@raycast/utils/dist/useAI.js", "../node_modules/@raycast/utils/dist/useFrecencySorting.js", "../node_modules/@raycast/utils/dist/icon/color.js", "../node_modules/@raycast/utils/dist/icon/avatar.js", "../node_modules/@raycast/utils/dist/icon/favicon.js", "../node_modules/@raycast/utils/dist/icon/progress.js", "../node_modules/@raycast/utils/dist/icon/index.js", "../node_modules/@raycast/utils/dist/run-applescript.js", "../node_modules/@raycast/utils/dist/index.js", "../node_modules/undici/lib/core/symbols.js", "../node_modules/undici/lib/core/errors.js", "../node_modules/undici/lib/core/util.js", "../node_modules/undici/lib/timers.js", "../node_modules/busboy/lib/utils.js", "../node_modules/streamsearch/lib/sbmh.js", "../node_modules/busboy/lib/types/multipart.js", "../node_modules/busboy/lib/types/urlencoded.js", "../node_modules/busboy/lib/index.js", "../node_modules/undici/lib/fetch/constants.js", "../node_modules/undici/lib/fetch/global.js", "../node_modules/undici/lib/fetch/util.js", "../node_modules/undici/lib/fetch/symbols.js", "../node_modules/undici/lib/fetch/webidl.js", "../node_modules/undici/lib/fetch/dataURL.js", "../node_modules/undici/lib/fetch/file.js", "../node_modules/undici/lib/fetch/formdata.js", "../node_modules/undici/lib/fetch/body.js", "../node_modules/undici/lib/core/request.js", "../node_modules/undici/lib/dispatcher.js", "../node_modules/undici/lib/dispatcher-base.js", "../node_modules/undici/lib/core/connect.js", "../node_modules/undici/src/llhttp/utils.ts", "../node_modules/undici/src/llhttp/constants.ts", "../node_modules/undici/lib/handler/RedirectHandler.js", "../node_modules/undici/lib/interceptor/redirectInterceptor.js", "../node_modules/undici/lib/llhttp/llhttp-wasm.js", "../node_modules/undici/lib/llhttp/llhttp_simd-wasm.js", "../node_modules/undici/lib/client.js", "../node_modules/undici/lib/node/fixed-queue.js", "../node_modules/undici/lib/pool-stats.js", "../node_modules/undici/lib/pool-base.js", "../node_modules/undici/lib/pool.js", "../node_modules/undici/lib/balanced-pool.js", "../node_modules/undici/lib/compat/dispatcher-weakref.js", "../node_modules/undici/lib/agent.js", "../node_modules/undici/lib/api/readable.js", "../node_modules/undici/lib/api/util.js", "../node_modules/undici/lib/api/abort-signal.js", "../node_modules/undici/lib/api/api-request.js", "../node_modules/undici/lib/api/api-stream.js", "../node_modules/undici/lib/api/api-pipeline.js", "../node_modules/undici/lib/api/api-upgrade.js", "../node_modules/undici/lib/api/api-connect.js", "../node_modules/undici/lib/api/index.js", "../node_modules/undici/lib/mock/mock-errors.js", "../node_modules/undici/lib/mock/mock-symbols.js", "../node_modules/undici/lib/mock/mock-utils.js", "../node_modules/undici/lib/mock/mock-interceptor.js", "../node_modules/undici/lib/mock/mock-client.js", "../node_modules/undici/lib/mock/mock-pool.js", "../node_modules/undici/lib/mock/pluralizer.js", "../node_modules/undici/lib/mock/pending-interceptors-formatter.js", "../node_modules/undici/lib/mock/mock-agent.js", "../node_modules/undici/lib/proxy-agent.js", "../node_modules/undici/lib/global.js", "../node_modules/undici/lib/handler/DecoratorHandler.js", "../node_modules/undici/lib/fetch/headers.js", "../node_modules/undici/lib/fetch/response.js", "../node_modules/undici/lib/fetch/request.js", "../node_modules/undici/lib/fetch/index.js", "../node_modules/undici/lib/fileapi/symbols.js", "../node_modules/undici/lib/fileapi/progressevent.js", "../node_modules/undici/lib/fileapi/encoding.js", "../node_modules/undici/lib/fileapi/util.js", "../node_modules/undici/lib/fileapi/filereader.js", "../node_modules/undici/lib/cache/symbols.js", "../node_modules/undici/lib/cache/util.js", "../node_modules/undici/lib/cache/cache.js", "../node_modules/undici/lib/cache/cachestorage.js", "../node_modules/undici/lib/cookies/constants.js", "../node_modules/undici/lib/cookies/util.js", "../node_modules/undici/lib/cookies/parse.js", "../node_modules/undici/lib/cookies/index.js", "../node_modules/undici/lib/websocket/constants.js", "../node_modules/undici/lib/websocket/symbols.js", "../node_modules/undici/lib/websocket/events.js", "../node_modules/undici/lib/websocket/util.js", "../node_modules/undici/lib/websocket/connection.js", "../node_modules/undici/lib/websocket/frame.js", "../node_modules/undici/lib/websocket/receiver.js", "../node_modules/undici/lib/websocket/websocket.js", "../node_modules/undici/index.js", "../node_modules/google-tts-api/src/assertInputTypes.ts", "../node_modules/google-tts-api/src/splitLongText.ts", "../node_modules/google-tts-api/src/getAudioUrl.ts", "../node_modules/axios/lib/helpers/bind.js", "../node_modules/axios/lib/utils.js", "../node_modules/axios/lib/helpers/buildURL.js", "../node_modules/axios/lib/core/InterceptorManager.js", "../node_modules/axios/lib/helpers/normalizeHeaderName.js", "../node_modules/axios/lib/core/enhanceError.js", "../node_modules/axios/lib/core/createError.js", "../node_modules/axios/lib/core/settle.js", "../node_modules/axios/lib/helpers/cookies.js", "../node_modules/axios/lib/helpers/isAbsoluteURL.js", "../node_modules/axios/lib/helpers/combineURLs.js", "../node_modules/axios/lib/core/buildFullPath.js", "../node_modules/axios/lib/helpers/parseHeaders.js", "../node_modules/axios/lib/helpers/isURLSameOrigin.js", "../node_modules/axios/lib/adapters/xhr.js", "../node_modules/ms/index.js", "../node_modules/debug/src/common.js", "../node_modules/debug/src/browser.js", "../node_modules/has-flag/index.js", "../node_modules/supports-color/index.js", "../node_modules/debug/src/node.js", "../node_modules/debug/src/index.js", "../node_modules/follow-redirects/debug.js", "../node_modules/follow-redirects/index.js", "../node_modules/axios/package.json", "../node_modules/axios/lib/adapters/http.js", "../node_modules/axios/lib/defaults.js", "../node_modules/axios/lib/core/transformData.js", "../node_modules/axios/lib/cancel/isCancel.js", "../node_modules/axios/lib/core/dispatchRequest.js", "../node_modules/axios/lib/core/mergeConfig.js", "../node_modules/axios/lib/helpers/validator.js", "../node_modules/axios/lib/core/Axios.js", "../node_modules/axios/lib/cancel/Cancel.js", "../node_modules/axios/lib/cancel/CancelToken.js", "../node_modules/axios/lib/helpers/spread.js", "../node_modules/axios/lib/helpers/isAxiosError.js", "../node_modules/axios/lib/axios.js", "../node_modules/axios/index.js", "../node_modules/google-tts-api/src/getAudioBase64.ts", "../node_modules/google-tts-api/src/index.ts", "../src/translate-form.tsx", "../src/hooks.ts", "../vendor/@iamtraction-translate/src/index.ts", "../vendor/@iamtraction-translate/src/languages.ts", "../vendor/@iamtraction-translate/src/tokenGenerator.ts", "../src/simple-translate.ts", "../src/supportedLanguages.json", "../src/supportedLanguagesByCode.json", "../src/languages.ts", "../src/LanguagesManager/LanguagesManagerList.tsx", "../src/LanguagesManager/AddLanguageForm.tsx", "../src/utils.ts", "../src/LanguagesManager/LanguagesManagerListDropdown.tsx", "../src/actions.tsx"], + "sourcesContent": ["var has = Object.prototype.hasOwnProperty;\n\nfunction dequal(foo, bar) {\n\tvar ctor, len;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n\nexports.dequal = dequal;", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useDeepMemo = void 0;\nconst react_1 = require(\"react\");\nconst lite_1 = require(\"dequal/lite\");\n/**\n * @param value the value to be memoized (usually a dependency list)\n * @returns a memoized version of the value as long as it remains deeply equal\n */\nfunction useDeepMemo(value) {\n const ref = (0, react_1.useRef)(value);\n const signalRef = (0, react_1.useRef)(0);\n if (!(0, lite_1.dequal)(value, ref.current)) {\n ref.current = value;\n signalRef.current += 1;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return (0, react_1.useMemo)(() => ref.current, [signalRef.current]);\n}\nexports.useDeepMemo = useDeepMemo;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLatest = void 0;\nconst react_1 = require(\"react\");\n/**\n * Returns the latest state.\n *\n * This is mostly useful to get access to the latest value of some props or state inside an asynchronous callback, instead of that value at the time the callback was created from.\n */\nfunction useLatest(value) {\n const ref = (0, react_1.useRef)(value);\n ref.current = value;\n return ref;\n}\nexports.useLatest = useLatest;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.handleErrorToastAction = void 0;\nconst fs = __importStar(require(\"fs\"));\nconst path = __importStar(require(\"path\"));\nconst api_1 = require(\"@raycast/api\");\nconst handleErrorToastAction = (error) => {\n let privateExtension = true;\n let title = \"[Extension Name]...\";\n let extensionURL = \"\";\n try {\n const packageJSON = JSON.parse(fs.readFileSync(path.join(api_1.environment.assetsPath, \"..\", \"package.json\"), \"utf8\"));\n title = `[${packageJSON.title}]...`;\n extensionURL = `https://raycast.com/${packageJSON.owner || packageJSON.author}/${packageJSON.name}`;\n if (!packageJSON.owner || packageJSON.access === \"public\") {\n privateExtension = false;\n }\n }\n catch (err) {\n // no-op\n }\n // if it's a private extension, we can't construct the URL to report the error\n // so we fallback to copying the error to the clipboard\n const fallback = api_1.environment.isDevelopment || privateExtension;\n return {\n title: fallback ? \"Copy Logs\" : \"Report Error\",\n onAction(toast) {\n toast.hide();\n if (fallback) {\n api_1.Clipboard.copy(error?.stack || error?.message || \"\");\n }\n else {\n (0, api_1.open)(`https://github.com/raycast/extensions/issues/new?&labels=extension%2Cbug&template=extension_bug_report.yml&title=${encodeURIComponent(title)}&extension-url=${encodeURI(extensionURL)}&description=${encodeURIComponent(`#### Error:\n\\`\\`\\`\n${error?.stack || error?.message || \"\"}\n\\`\\`\\`\n`)}`);\n }\n },\n };\n};\nexports.handleErrorToastAction = handleErrorToastAction;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePromise = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst useDeepMemo_1 = require(\"./useDeepMemo\");\nconst useLatest_1 = require(\"./useLatest\");\nconst handle_error_toast_action_1 = require(\"./handle-error-toast-action\");\nfunction usePromise(fn, args, options) {\n const lastCallId = (0, react_1.useRef)(0);\n const [state, set] = (0, react_1.useState)({ isLoading: true });\n const fnRef = (0, useLatest_1.useLatest)(fn);\n const latestAbortable = (0, useLatest_1.useLatest)(options?.abortable);\n const latestArgs = (0, useLatest_1.useLatest)(args || []);\n const latestOnError = (0, useLatest_1.useLatest)(options?.onError);\n const latestOnData = (0, useLatest_1.useLatest)(options?.onData);\n const latestOnWillExecute = (0, useLatest_1.useLatest)(options?.onWillExecute);\n const latestValue = (0, useLatest_1.useLatest)(state.data);\n const latestCallback = (0, react_1.useRef)();\n const callback = (0, react_1.useCallback)((...args) => {\n const callId = ++lastCallId.current;\n if (latestAbortable.current) {\n latestAbortable.current.current?.abort();\n latestAbortable.current.current = new AbortController();\n }\n latestOnWillExecute.current?.(args);\n set((prevState) => ({ ...prevState, isLoading: true }));\n return bindPromiseIfNeeded(fnRef.current)(...args).then((data) => {\n if (callId === lastCallId.current) {\n if (latestOnData.current) {\n latestOnData.current(data);\n }\n set({ data, isLoading: false });\n }\n return data;\n }, (error) => {\n if (error.name == \"AbortError\") {\n return error;\n }\n if (callId === lastCallId.current) {\n // handle errors\n if (latestOnError.current) {\n latestOnError.current(error);\n }\n else {\n console.error(error);\n if (api_1.environment.launchType !== api_1.LaunchType.Background) {\n (0, api_1.showToast)({\n style: api_1.Toast.Style.Failure,\n title: \"Failed to fetch latest data\",\n message: error.message,\n primaryAction: {\n title: \"Retry\",\n onAction(toast) {\n toast.hide();\n latestCallback.current?.(...(latestArgs.current || []));\n },\n },\n secondaryAction: (0, handle_error_toast_action_1.handleErrorToastAction)(error),\n });\n }\n }\n set({ error, isLoading: false });\n }\n return error;\n });\n }, [latestAbortable, latestOnData, latestOnError, latestArgs, fnRef, set, latestCallback, latestOnWillExecute]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n );\n latestCallback.current = callback;\n const revalidate = (0, react_1.useCallback)(() => {\n return callback(...(latestArgs.current || []));\n }, [callback, latestArgs]);\n const mutate = (0, react_1.useCallback)(async (asyncUpdate, options) => {\n let dataBeforeOptimisticUpdate;\n try {\n if (options?.optimisticUpdate) {\n if (typeof options?.rollbackOnError !== \"function\" && options?.rollbackOnError !== false) {\n // keep track of the data before the optimistic update,\n // but only if we need it (eg. only when we want to automatically rollback after)\n dataBeforeOptimisticUpdate = structuredClone(latestValue.current?.value);\n }\n const update = options.optimisticUpdate;\n set((prevState) => ({ ...prevState, data: update(prevState.data) }));\n }\n return await asyncUpdate;\n }\n catch (err) {\n if (typeof options?.rollbackOnError === \"function\") {\n const update = options.rollbackOnError;\n set((prevState) => ({ ...prevState, data: update(prevState.data) }));\n }\n else if (options?.optimisticUpdate && options?.rollbackOnError !== false) {\n set((prevState) => ({ ...prevState, data: dataBeforeOptimisticUpdate }));\n }\n throw err;\n }\n finally {\n if (options?.shouldRevalidateAfter !== false) {\n if (api_1.environment.launchType === api_1.LaunchType.Background || api_1.environment.commandMode === \"menu-bar\") {\n // when in the background or in a menu bar, we are going to await the revalidation\n // to make sure we get the right data at the end of the mutation\n await revalidate();\n }\n else {\n revalidate();\n }\n }\n }\n }, [revalidate, latestValue, set]);\n // revalidate when the args change\n (0, react_1.useEffect)(() => {\n if (options?.execute !== false) {\n callback(...(args || []));\n }\n else {\n // cancel the previous request if we don't want to execute anymore\n if (latestAbortable.current) {\n latestAbortable.current.current?.abort();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [(0, useDeepMemo_1.useDeepMemo)([args, options?.execute, callback]), latestAbortable]);\n // abort request when unmounting\n (0, react_1.useEffect)(() => {\n return () => {\n if (latestAbortable.current) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n latestAbortable.current.current?.abort();\n }\n };\n }, [latestAbortable]);\n // we only want to show the loading indicator if the promise is executing\n const isLoading = options?.execute !== false ? state.isLoading : false;\n // @ts-expect-error loading is has some fixed value in the enum which\n const stateWithLoadingFixed = { ...state, isLoading };\n return { ...stateWithLoadingFixed, revalidate, mutate };\n}\nexports.usePromise = usePromise;\n/** Bind the fn if it's a Promise method */\nfunction bindPromiseIfNeeded(fn) {\n if (fn === Promise.all) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.race) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.resolve) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.reject) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n return fn;\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useCachedState = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst useLatest_1 = require(\"./useLatest\");\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction replacer(key, _value) {\n const value = this[key];\n if (value instanceof Date) {\n return `__raycast_cached_date__${value.toString()}`;\n }\n if (Buffer.isBuffer(value)) {\n return `__raycast_cached_buffer__${value.toString(\"base64\")}`;\n }\n return _value;\n}\nfunction reviver(_key, value) {\n if (typeof value === \"string\" && value.startsWith(\"__raycast_cached_date__\")) {\n return new Date(value.replace(\"__raycast_cached_date__\", \"\"));\n }\n if (typeof value === \"string\" && value.startsWith(\"__raycast_cached_buffer__\")) {\n return Buffer.from(value.replace(\"__raycast_cached_buffer__\", \"\"), \"base64\");\n }\n return value;\n}\nconst rootCache = Symbol(\"cache without namespace\");\nconst cacheMap = new Map();\nfunction useCachedState(key, initialState, config) {\n const cacheKey = config?.cacheNamespace || rootCache;\n const cache = cacheMap.get(cacheKey) || cacheMap.set(cacheKey, new api_1.Cache({ namespace: config?.cacheNamespace })).get(cacheKey);\n if (!cache) {\n throw new Error(\"Missing cache\");\n }\n const keyRef = (0, useLatest_1.useLatest)(key);\n const initialValueRef = (0, useLatest_1.useLatest)(initialState);\n const cachedState = (0, react_1.useSyncExternalStore)(cache.subscribe, () => {\n try {\n return cache.get(keyRef.current);\n }\n catch (error) {\n console.error(\"Could not get Cache data:\", error);\n return undefined;\n }\n });\n const state = (0, react_1.useMemo)(() => {\n if (typeof cachedState !== \"undefined\") {\n if (cachedState === \"undefined\") {\n return undefined;\n }\n try {\n return JSON.parse(cachedState, reviver);\n }\n catch (err) {\n // the data got corrupted somehow\n console.warn(\"The cached data is corrupted\", err);\n return initialValueRef.current;\n }\n }\n else {\n return initialValueRef.current;\n }\n }, [cachedState, initialValueRef]);\n const stateRef = (0, useLatest_1.useLatest)(state);\n const setStateAndCache = (0, react_1.useCallback)((updater) => {\n // @ts-expect-error TS struggles to infer the types as T could potentially be a function\n const newValue = typeof updater === \"function\" ? updater(stateRef.current) : updater;\n if (typeof newValue === \"undefined\") {\n cache.set(keyRef.current, \"undefined\");\n }\n else {\n const stringifiedValue = JSON.stringify(newValue, replacer);\n cache.set(keyRef.current, stringifiedValue);\n }\n return newValue;\n }, [cache, keyRef, stateRef]);\n return [state, setStateAndCache];\n}\nexports.useCachedState = useCachedState;\n", "'use strict';\n\nvar crypto = require('crypto');\n\n/**\n * Exported function\n *\n * Options:\n *\n * - `algorithm` hash algo to be used by this instance: *'sha1', 'md5'\n * - `excludeValues` {true|*false} hash object keys, values ignored\n * - `encoding` hash encoding, supports 'buffer', '*hex', 'binary', 'base64'\n * - `ignoreUnknown` {true|*false} ignore unknown object types\n * - `replacer` optional function that replaces values before hashing\n * - `respectFunctionProperties` {*true|false} consider function properties when hashing\n * - `respectFunctionNames` {*true|false} consider 'name' property of functions for hashing\n * - `respectType` {*true|false} Respect special properties (prototype, constructor)\n * when hashing to distinguish between types\n * - `unorderedArrays` {true|*false} Sort all arrays before hashing\n * - `unorderedSets` {*true|false} Sort `Set` and `Map` instances before hashing\n * * = default\n *\n * @param {object} object value to hash\n * @param {object} options hashing options\n * @return {string} hash value\n * @api public\n */\nexports = module.exports = objectHash;\n\nfunction objectHash(object, options){\n options = applyDefaults(object, options);\n\n return hash(object, options);\n}\n\n/**\n * Exported sugar methods\n *\n * @param {object} object value to hash\n * @return {string} hash value\n * @api public\n */\nexports.sha1 = function(object){\n return objectHash(object);\n};\nexports.keys = function(object){\n return objectHash(object, {excludeValues: true, algorithm: 'sha1', encoding: 'hex'});\n};\nexports.MD5 = function(object){\n return objectHash(object, {algorithm: 'md5', encoding: 'hex'});\n};\nexports.keysMD5 = function(object){\n return objectHash(object, {algorithm: 'md5', encoding: 'hex', excludeValues: true});\n};\n\n// Internals\nvar hashes = crypto.getHashes ? crypto.getHashes().slice() : ['sha1', 'md5'];\nhashes.push('passthrough');\nvar encodings = ['buffer', 'hex', 'binary', 'base64'];\n\nfunction applyDefaults(object, sourceOptions){\n sourceOptions = sourceOptions || {};\n\n // create a copy rather than mutating\n var options = {};\n options.algorithm = sourceOptions.algorithm || 'sha1';\n options.encoding = sourceOptions.encoding || 'hex';\n options.excludeValues = sourceOptions.excludeValues ? true : false;\n options.algorithm = options.algorithm.toLowerCase();\n options.encoding = options.encoding.toLowerCase();\n options.ignoreUnknown = sourceOptions.ignoreUnknown !== true ? false : true; // default to false\n options.respectType = sourceOptions.respectType === false ? false : true; // default to true\n options.respectFunctionNames = sourceOptions.respectFunctionNames === false ? false : true;\n options.respectFunctionProperties = sourceOptions.respectFunctionProperties === false ? false : true;\n options.unorderedArrays = sourceOptions.unorderedArrays !== true ? false : true; // default to false\n options.unorderedSets = sourceOptions.unorderedSets === false ? false : true; // default to false\n options.unorderedObjects = sourceOptions.unorderedObjects === false ? false : true; // default to true\n options.replacer = sourceOptions.replacer || undefined;\n options.excludeKeys = sourceOptions.excludeKeys || undefined;\n\n if(typeof object === 'undefined') {\n throw new Error('Object argument required.');\n }\n\n // if there is a case-insensitive match in the hashes list, accept it\n // (i.e. SHA256 for sha256)\n for (var i = 0; i < hashes.length; ++i) {\n if (hashes[i].toLowerCase() === options.algorithm.toLowerCase()) {\n options.algorithm = hashes[i];\n }\n }\n\n if(hashes.indexOf(options.algorithm) === -1){\n throw new Error('Algorithm \"' + options.algorithm + '\" not supported. ' +\n 'supported values: ' + hashes.join(', '));\n }\n\n if(encodings.indexOf(options.encoding) === -1 &&\n options.algorithm !== 'passthrough'){\n throw new Error('Encoding \"' + options.encoding + '\" not supported. ' +\n 'supported values: ' + encodings.join(', '));\n }\n\n return options;\n}\n\n/** Check if the given function is a native function */\nfunction isNativeFunction(f) {\n if ((typeof f) !== 'function') {\n return false;\n }\n var exp = /^function\\s+\\w*\\s*\\(\\s*\\)\\s*{\\s+\\[native code\\]\\s+}$/i;\n return exp.exec(Function.prototype.toString.call(f)) != null;\n}\n\nfunction hash(object, options) {\n var hashingStream;\n\n if (options.algorithm !== 'passthrough') {\n hashingStream = crypto.createHash(options.algorithm);\n } else {\n hashingStream = new PassThrough();\n }\n\n if (typeof hashingStream.write === 'undefined') {\n hashingStream.write = hashingStream.update;\n hashingStream.end = hashingStream.update;\n }\n\n var hasher = typeHasher(options, hashingStream);\n hasher.dispatch(object);\n if (!hashingStream.update) {\n hashingStream.end('');\n }\n\n if (hashingStream.digest) {\n return hashingStream.digest(options.encoding === 'buffer' ? undefined : options.encoding);\n }\n\n var buf = hashingStream.read();\n if (options.encoding === 'buffer') {\n return buf;\n }\n\n return buf.toString(options.encoding);\n}\n\n/**\n * Expose streaming API\n *\n * @param {object} object Value to serialize\n * @param {object} options Options, as for hash()\n * @param {object} stream A stream to write the serializiation to\n * @api public\n */\nexports.writeToStream = function(object, options, stream) {\n if (typeof stream === 'undefined') {\n stream = options;\n options = {};\n }\n\n options = applyDefaults(object, options);\n\n return typeHasher(options, stream).dispatch(object);\n};\n\nfunction typeHasher(options, writeTo, context){\n context = context || [];\n var write = function(str) {\n if (writeTo.update) {\n return writeTo.update(str, 'utf8');\n } else {\n return writeTo.write(str, 'utf8');\n }\n };\n\n return {\n dispatch: function(value){\n if (options.replacer) {\n value = options.replacer(value);\n }\n\n var type = typeof value;\n if (value === null) {\n type = 'null';\n }\n\n //console.log(\"[DEBUG] Dispatch: \", value, \"->\", type, \" -> \", \"_\" + type);\n\n return this['_' + type](value);\n },\n _object: function(object) {\n var pattern = (/\\[object (.*)\\]/i);\n var objString = Object.prototype.toString.call(object);\n var objType = pattern.exec(objString);\n if (!objType) { // object type did not match [object ...]\n objType = 'unknown:[' + objString + ']';\n } else {\n objType = objType[1]; // take only the class name\n }\n\n objType = objType.toLowerCase();\n\n var objectNumber = null;\n\n if ((objectNumber = context.indexOf(object)) >= 0) {\n return this.dispatch('[CIRCULAR:' + objectNumber + ']');\n } else {\n context.push(object);\n }\n\n if (typeof Buffer !== 'undefined' && Buffer.isBuffer && Buffer.isBuffer(object)) {\n write('buffer:');\n return write(object);\n }\n\n if(objType !== 'object' && objType !== 'function' && objType !== 'asyncfunction') {\n if(this['_' + objType]) {\n this['_' + objType](object);\n } else if (options.ignoreUnknown) {\n return write('[' + objType + ']');\n } else {\n throw new Error('Unknown object type \"' + objType + '\"');\n }\n }else{\n var keys = Object.keys(object);\n if (options.unorderedObjects) {\n keys = keys.sort();\n }\n // Make sure to incorporate special properties, so\n // Types with different prototypes will produce\n // a different hash and objects derived from\n // different functions (`new Foo`, `new Bar`) will\n // produce different hashes.\n // We never do this for native functions since some\n // seem to break because of that.\n if (options.respectType !== false && !isNativeFunction(object)) {\n keys.splice(0, 0, 'prototype', '__proto__', 'constructor');\n }\n\n if (options.excludeKeys) {\n keys = keys.filter(function(key) { return !options.excludeKeys(key); });\n }\n\n write('object:' + keys.length + ':');\n var self = this;\n return keys.forEach(function(key){\n self.dispatch(key);\n write(':');\n if(!options.excludeValues) {\n self.dispatch(object[key]);\n }\n write(',');\n });\n }\n },\n _array: function(arr, unordered){\n unordered = typeof unordered !== 'undefined' ? unordered :\n options.unorderedArrays !== false; // default to options.unorderedArrays\n\n var self = this;\n write('array:' + arr.length + ':');\n if (!unordered || arr.length <= 1) {\n return arr.forEach(function(entry) {\n return self.dispatch(entry);\n });\n }\n\n // the unordered case is a little more complicated:\n // since there is no canonical ordering on objects,\n // i.e. {a:1} < {a:2} and {a:1} > {a:2} are both false,\n // we first serialize each entry using a PassThrough stream\n // before sorting.\n // also: we can\u2019t use the same context array for all entries\n // since the order of hashing should *not* matter. instead,\n // we keep track of the additions to a copy of the context array\n // and add all of them to the global context array when we\u2019re done\n var contextAdditions = [];\n var entries = arr.map(function(entry) {\n var strm = new PassThrough();\n var localContext = context.slice(); // make copy\n var hasher = typeHasher(options, strm, localContext);\n hasher.dispatch(entry);\n // take only what was added to localContext and append it to contextAdditions\n contextAdditions = contextAdditions.concat(localContext.slice(context.length));\n return strm.read().toString();\n });\n context = context.concat(contextAdditions);\n entries.sort();\n return this._array(entries, false);\n },\n _date: function(date){\n return write('date:' + date.toJSON());\n },\n _symbol: function(sym){\n return write('symbol:' + sym.toString());\n },\n _error: function(err){\n return write('error:' + err.toString());\n },\n _boolean: function(bool){\n return write('bool:' + bool.toString());\n },\n _string: function(string){\n write('string:' + string.length + ':');\n write(string.toString());\n },\n _function: function(fn){\n write('fn:');\n if (isNativeFunction(fn)) {\n this.dispatch('[native]');\n } else {\n this.dispatch(fn.toString());\n }\n\n if (options.respectFunctionNames !== false) {\n // Make sure we can still distinguish native functions\n // by their name, otherwise String and Function will\n // have the same hash\n this.dispatch(\"function-name:\" + String(fn.name));\n }\n\n if (options.respectFunctionProperties) {\n this._object(fn);\n }\n },\n _number: function(number){\n return write('number:' + number.toString());\n },\n _xml: function(xml){\n return write('xml:' + xml.toString());\n },\n _null: function() {\n return write('Null');\n },\n _undefined: function() {\n return write('Undefined');\n },\n _regexp: function(regex){\n return write('regex:' + regex.toString());\n },\n _uint8array: function(arr){\n write('uint8array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint8clampedarray: function(arr){\n write('uint8clampedarray:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int8array: function(arr){\n write('int8array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint16array: function(arr){\n write('uint16array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int16array: function(arr){\n write('int16array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint32array: function(arr){\n write('uint32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int32array: function(arr){\n write('int32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _float32array: function(arr){\n write('float32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _float64array: function(arr){\n write('float64array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _arraybuffer: function(arr){\n write('arraybuffer:');\n return this.dispatch(new Uint8Array(arr));\n },\n _url: function(url) {\n return write('url:' + url.toString(), 'utf8');\n },\n _map: function(map) {\n write('map:');\n var arr = Array.from(map);\n return this._array(arr, options.unorderedSets !== false);\n },\n _set: function(set) {\n write('set:');\n var arr = Array.from(set);\n return this._array(arr, options.unorderedSets !== false);\n },\n _file: function(file) {\n write('file:');\n return this.dispatch([file.name, file.size, file.type, file.lastModfied]);\n },\n _blob: function() {\n if (options.ignoreUnknown) {\n return write('[blob]');\n }\n\n throw Error('Hashing Blob objects is currently not supported\\n' +\n '(see https://github.com/puleos/object-hash/issues/26)\\n' +\n 'Use \"options.replacer\" or \"options.ignoreUnknown\"\\n');\n },\n _domwindow: function() { return write('domwindow'); },\n _bigint: function(number){\n return write('bigint:' + number.toString());\n },\n /* Node.js standard native objects */\n _process: function() { return write('process'); },\n _timer: function() { return write('timer'); },\n _pipe: function() { return write('pipe'); },\n _tcp: function() { return write('tcp'); },\n _udp: function() { return write('udp'); },\n _tty: function() { return write('tty'); },\n _statwatcher: function() { return write('statwatcher'); },\n _securecontext: function() { return write('securecontext'); },\n _connection: function() { return write('connection'); },\n _zlib: function() { return write('zlib'); },\n _context: function() { return write('context'); },\n _nodescript: function() { return write('nodescript'); },\n _httpparser: function() { return write('httpparser'); },\n _dataview: function() { return write('dataview'); },\n _signal: function() { return write('signal'); },\n _fsevent: function() { return write('fsevent'); },\n _tlswrap: function() { return write('tlswrap'); },\n };\n}\n\n// Mini-implementation of stream.PassThrough\n// We are far from having need for the full implementation, and we can\n// make assumptions like \"many writes, then only one final read\"\n// and we can ignore encoding specifics\nfunction PassThrough() {\n return {\n buf: '',\n\n write: function(b) {\n this.buf += b;\n },\n\n end: function(b) {\n this.buf += b;\n },\n\n read: function() {\n return this.buf;\n }\n };\n}\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useCachedPromise = void 0;\nconst react_1 = require(\"react\");\nconst object_hash_1 = __importDefault(require(\"object-hash\"));\nconst useCachedState_1 = require(\"./useCachedState\");\nconst usePromise_1 = require(\"./usePromise\");\nconst useLatest_1 = require(\"./useLatest\");\n// Symbol to differentiate an empty cache from `undefined`\nconst emptyCache = Symbol();\nfunction useCachedPromise(fn, args, options) {\n const { initialData, keepPreviousData, ...usePromiseOptions } = options || {};\n const lastUpdateFrom = (0, react_1.useRef)();\n const [cachedData, mutateCache] = (0, useCachedState_1.useCachedState)((0, object_hash_1.default)(args || []), emptyCache, {\n cacheNamespace: (0, object_hash_1.default)(fn),\n });\n // Use a ref to store previous returned data. Use the inital data as its inital value from the cache.\n const laggyDataRef = (0, react_1.useRef)(cachedData !== emptyCache ? cachedData : initialData);\n const { mutate: _mutate, revalidate, ...state\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } = (0, usePromise_1.usePromise)(fn, args || [], {\n ...usePromiseOptions,\n onData(data) {\n if (usePromiseOptions.onData) {\n usePromiseOptions.onData(data);\n }\n // update the cache when we fetch new values\n lastUpdateFrom.current = \"promise\";\n laggyDataRef.current = data;\n mutateCache(data);\n },\n });\n // data returned if there are no special cases\n const data = cachedData !== emptyCache ? cachedData : initialData;\n const returnedData = \n // if the latest update if from the Promise, we keep it\n lastUpdateFrom.current === \"promise\"\n ? laggyDataRef.current\n : // if we want to keep the latest data, we pick the cache but only if it's not empty\n keepPreviousData\n ? cachedData !== emptyCache\n ? cachedData\n : // if the cache is empty, we will return the previous data\n laggyDataRef.current\n : data;\n const latestData = (0, useLatest_1.useLatest)(returnedData);\n // we rewrite the mutate function to update the cache instead\n const mutate = (0, react_1.useCallback)(async (asyncUpdate, options) => {\n let dataBeforeOptimisticUpdate;\n try {\n if (options?.optimisticUpdate) {\n if (typeof options?.rollbackOnError !== \"function\" && options?.rollbackOnError !== false) {\n // keep track of the data before the optimistic update,\n // but only if we need it (eg. only when we want to automatically rollback after)\n dataBeforeOptimisticUpdate = structuredClone(latestData.current);\n }\n const data = options.optimisticUpdate(latestData.current);\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = data;\n mutateCache(data);\n }\n return await _mutate(asyncUpdate, { shouldRevalidateAfter: options?.shouldRevalidateAfter });\n }\n catch (err) {\n if (typeof options?.rollbackOnError === \"function\") {\n const data = options.rollbackOnError(latestData.current);\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = data;\n mutateCache(data);\n }\n else if (options?.optimisticUpdate && options?.rollbackOnError !== false) {\n lastUpdateFrom.current = \"cache\";\n // @ts-expect-error when undefined, it's expected\n laggyDataRef.current = dataBeforeOptimisticUpdate;\n // @ts-expect-error when undefined, it's expected\n mutateCache(dataBeforeOptimisticUpdate);\n }\n throw err;\n }\n }, [mutateCache, _mutate, latestData, laggyDataRef, lastUpdateFrom]);\n (0, react_1.useEffect)(() => {\n if (cachedData !== emptyCache) {\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = cachedData;\n }\n }, [cachedData]);\n return {\n data: returnedData,\n isLoading: state.isLoading,\n error: state.error,\n mutate,\n revalidate,\n };\n}\nexports.useCachedPromise = useCachedPromise;\n", "/*!\n * media-typer\n * Copyright(c) 2014-2017 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * RegExp to match type in RFC 6838\n *\n * type-name = restricted-name\n * subtype-name = restricted-name\n * restricted-name = restricted-name-first *126restricted-name-chars\n * restricted-name-first = ALPHA / DIGIT\n * restricted-name-chars = ALPHA / DIGIT / \"!\" / \"#\" /\n * \"$\" / \"&\" / \"-\" / \"^\" / \"_\"\n * restricted-name-chars =/ \".\" ; Characters before first dot always\n * ; specify a facet name\n * restricted-name-chars =/ \"+\" ; Characters after last plus always\n * ; specify a structured syntax suffix\n * ALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n * DIGIT = %x30-39 ; 0-9\n */\nvar SUBTYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/\nvar TYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/\nvar TYPE_REGEXP = /^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/\n\n/**\n * Module exports.\n */\n\nexports.format = format\nexports.parse = parse\nexports.test = test\n\n/**\n * Format object to media type.\n *\n * @param {object} obj\n * @return {string}\n * @public\n */\n\nfunction format (obj) {\n if (!obj || typeof obj !== 'object') {\n throw new TypeError('argument obj is required')\n }\n\n var subtype = obj.subtype\n var suffix = obj.suffix\n var type = obj.type\n\n if (!type || !TYPE_NAME_REGEXP.test(type)) {\n throw new TypeError('invalid type')\n }\n\n if (!subtype || !SUBTYPE_NAME_REGEXP.test(subtype)) {\n throw new TypeError('invalid subtype')\n }\n\n // format as type/subtype\n var string = type + '/' + subtype\n\n // append +suffix\n if (suffix) {\n if (!TYPE_NAME_REGEXP.test(suffix)) {\n throw new TypeError('invalid suffix')\n }\n\n string += '+' + suffix\n }\n\n return string\n}\n\n/**\n * Test media type.\n *\n * @param {string} string\n * @return {object}\n * @public\n */\n\nfunction test (string) {\n if (!string) {\n throw new TypeError('argument string is required')\n }\n\n if (typeof string !== 'string') {\n throw new TypeError('argument string is required to be a string')\n }\n\n return TYPE_REGEXP.test(string.toLowerCase())\n}\n\n/**\n * Parse media type to object.\n *\n * @param {string} string\n * @return {object}\n * @public\n */\n\nfunction parse (string) {\n if (!string) {\n throw new TypeError('argument string is required')\n }\n\n if (typeof string !== 'string') {\n throw new TypeError('argument string is required to be a string')\n }\n\n var match = TYPE_REGEXP.exec(string.toLowerCase())\n\n if (!match) {\n throw new TypeError('invalid media type')\n }\n\n var type = match[1]\n var subtype = match[2]\n var suffix\n\n // suffix after last +\n var index = subtype.lastIndexOf('+')\n if (index !== -1) {\n suffix = subtype.substr(index + 1)\n subtype = subtype.substr(0, index)\n }\n\n return new MediaType(type, subtype, suffix)\n}\n\n/**\n * Class for MediaType object.\n * @public\n */\n\nfunction MediaType (type, subtype, suffix) {\n this.type = type\n this.subtype = subtype\n this.suffix = suffix\n}\n", "/*!\n * content-type\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * RegExp to match *( \";\" parameter ) in RFC 7231 sec 3.1.1.1\n *\n * parameter = token \"=\" ( token / quoted-string )\n * token = 1*tchar\n * tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" / \"*\"\n * / \"+\" / \"-\" / \".\" / \"^\" / \"_\" / \"`\" / \"|\" / \"~\"\n * / DIGIT / ALPHA\n * ; any VCHAR, except delimiters\n * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE\n * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text\n * obs-text = %x80-FF\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n */\nvar PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *(\"(?:[\\u000b\\u0020\\u0021\\u0023-\\u005b\\u005d-\\u007e\\u0080-\\u00ff]|\\\\[\\u000b\\u0020-\\u00ff])*\"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g // eslint-disable-line no-control-regex\nvar TEXT_REGEXP = /^[\\u000b\\u0020-\\u007e\\u0080-\\u00ff]+$/ // eslint-disable-line no-control-regex\nvar TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/\n\n/**\n * RegExp to match quoted-pair in RFC 7230 sec 3.2.6\n *\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n * obs-text = %x80-FF\n */\nvar QESC_REGEXP = /\\\\([\\u000b\\u0020-\\u00ff])/g // eslint-disable-line no-control-regex\n\n/**\n * RegExp to match chars that must be quoted-pair in RFC 7230 sec 3.2.6\n */\nvar QUOTE_REGEXP = /([\\\\\"])/g\n\n/**\n * RegExp to match type in RFC 7231 sec 3.1.1.1\n *\n * media-type = type \"/\" subtype\n * type = token\n * subtype = token\n */\nvar TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/\n\n/**\n * Module exports.\n * @public\n */\n\nexports.format = format\nexports.parse = parse\n\n/**\n * Format object to media type.\n *\n * @param {object} obj\n * @return {string}\n * @public\n */\n\nfunction format (obj) {\n if (!obj || typeof obj !== 'object') {\n throw new TypeError('argument obj is required')\n }\n\n var parameters = obj.parameters\n var type = obj.type\n\n if (!type || !TYPE_REGEXP.test(type)) {\n throw new TypeError('invalid type')\n }\n\n var string = type\n\n // append parameters\n if (parameters && typeof parameters === 'object') {\n var param\n var params = Object.keys(parameters).sort()\n\n for (var i = 0; i < params.length; i++) {\n param = params[i]\n\n if (!TOKEN_REGEXP.test(param)) {\n throw new TypeError('invalid parameter name')\n }\n\n string += '; ' + param + '=' + qstring(parameters[param])\n }\n }\n\n return string\n}\n\n/**\n * Parse media type to object.\n *\n * @param {string|object} string\n * @return {Object}\n * @public\n */\n\nfunction parse (string) {\n if (!string) {\n throw new TypeError('argument string is required')\n }\n\n // support req/res-like objects as argument\n var header = typeof string === 'object'\n ? getcontenttype(string)\n : string\n\n if (typeof header !== 'string') {\n throw new TypeError('argument string is required to be a string')\n }\n\n var index = header.indexOf(';')\n var type = index !== -1\n ? header.slice(0, index).trim()\n : header.trim()\n\n if (!TYPE_REGEXP.test(type)) {\n throw new TypeError('invalid media type')\n }\n\n var obj = new ContentType(type.toLowerCase())\n\n // parse parameters\n if (index !== -1) {\n var key\n var match\n var value\n\n PARAM_REGEXP.lastIndex = index\n\n while ((match = PARAM_REGEXP.exec(header))) {\n if (match.index !== index) {\n throw new TypeError('invalid parameter format')\n }\n\n index += match[0].length\n key = match[1].toLowerCase()\n value = match[2]\n\n if (value.charCodeAt(0) === 0x22 /* \" */) {\n // remove quotes\n value = value.slice(1, -1)\n\n // remove escapes\n if (value.indexOf('\\\\') !== -1) {\n value = value.replace(QESC_REGEXP, '$1')\n }\n }\n\n obj.parameters[key] = value\n }\n\n if (index !== header.length) {\n throw new TypeError('invalid parameter format')\n }\n }\n\n return obj\n}\n\n/**\n * Get content-type from req/res objects.\n *\n * @param {object}\n * @return {Object}\n * @private\n */\n\nfunction getcontenttype (obj) {\n var header\n\n if (typeof obj.getHeader === 'function') {\n // res-like\n header = obj.getHeader('content-type')\n } else if (typeof obj.headers === 'object') {\n // req-like\n header = obj.headers && obj.headers['content-type']\n }\n\n if (typeof header !== 'string') {\n throw new TypeError('content-type header is missing from object')\n }\n\n return header\n}\n\n/**\n * Quote a string if necessary.\n *\n * @param {string} val\n * @return {string}\n * @private\n */\n\nfunction qstring (val) {\n var str = String(val)\n\n // no need to quote tokens\n if (TOKEN_REGEXP.test(str)) {\n return str\n }\n\n if (str.length > 0 && !TEXT_REGEXP.test(str)) {\n throw new TypeError('invalid parameter value')\n }\n\n return '\"' + str.replace(QUOTE_REGEXP, '\\\\$1') + '\"'\n}\n\n/**\n * Class to represent a content type.\n * @private\n */\nfunction ContentType (type) {\n this.parameters = Object.create(null)\n this.type = type\n}\n", "\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n", "\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n", "[[[0,44],\"disallowed_STD3_valid\"],[[45,46],\"valid\"],[[47,47],\"disallowed_STD3_valid\"],[[48,57],\"valid\"],[[58,64],\"disallowed_STD3_valid\"],[[65,65],\"mapped\",[97]],[[66,66],\"mapped\",[98]],[[67,67],\"mapped\",[99]],[[68,68],\"mapped\",[100]],[[69,69],\"mapped\",[101]],[[70,70],\"mapped\",[102]],[[71,71],\"mapped\",[103]],[[72,72],\"mapped\",[104]],[[73,73],\"mapped\",[105]],[[74,74],\"mapped\",[106]],[[75,75],\"mapped\",[107]],[[76,76],\"mapped\",[108]],[[77,77],\"mapped\",[109]],[[78,78],\"mapped\",[110]],[[79,79],\"mapped\",[111]],[[80,80],\"mapped\",[112]],[[81,81],\"mapped\",[113]],[[82,82],\"mapped\",[114]],[[83,83],\"mapped\",[115]],[[84,84],\"mapped\",[116]],[[85,85],\"mapped\",[117]],[[86,86],\"mapped\",[118]],[[87,87],\"mapped\",[119]],[[88,88],\"mapped\",[120]],[[89,89],\"mapped\",[121]],[[90,90],\"mapped\",[122]],[[91,96],\"disallowed_STD3_valid\"],[[97,122],\"valid\"],[[123,127],\"disallowed_STD3_valid\"],[[128,159],\"disallowed\"],[[160,160],\"disallowed_STD3_mapped\",[32]],[[161,167],\"valid\",[],\"NV8\"],[[168,168],\"disallowed_STD3_mapped\",[32,776]],[[169,169],\"valid\",[],\"NV8\"],[[170,170],\"mapped\",[97]],[[171,172],\"valid\",[],\"NV8\"],[[173,173],\"ignored\"],[[174,174],\"valid\",[],\"NV8\"],[[175,175],\"disallowed_STD3_mapped\",[32,772]],[[176,177],\"valid\",[],\"NV8\"],[[178,178],\"mapped\",[50]],[[179,179],\"mapped\",[51]],[[180,180],\"disallowed_STD3_mapped\",[32,769]],[[181,181],\"mapped\",[956]],[[182,182],\"valid\",[],\"NV8\"],[[183,183],\"valid\"],[[184,184],\"disallowed_STD3_mapped\",[32,807]],[[185,185],\"mapped\",[49]],[[186,186],\"mapped\",[111]],[[187,187],\"valid\",[],\"NV8\"],[[188,188],\"mapped\",[49,8260,52]],[[189,189],\"mapped\",[49,8260,50]],[[190,190],\"mapped\",[51,8260,52]],[[191,191],\"valid\",[],\"NV8\"],[[192,192],\"mapped\",[224]],[[193,193],\"mapped\",[225]],[[194,194],\"mapped\",[226]],[[195,195],\"mapped\",[227]],[[196,196],\"mapped\",[228]],[[197,197],\"mapped\",[229]],[[198,198],\"mapped\",[230]],[[199,199],\"mapped\",[231]],[[200,200],\"mapped\",[232]],[[201,201],\"mapped\",[233]],[[202,202],\"mapped\",[234]],[[203,203],\"mapped\",[235]],[[204,204],\"mapped\",[236]],[[205,205],\"mapped\",[237]],[[206,206],\"mapped\",[238]],[[207,207],\"mapped\",[239]],[[208,208],\"mapped\",[240]],[[209,209],\"mapped\",[241]],[[210,210],\"mapped\",[242]],[[211,211],\"mapped\",[243]],[[212,212],\"mapped\",[244]],[[213,213],\"mapped\",[245]],[[214,214],\"mapped\",[246]],[[215,215],\"valid\",[],\"NV8\"],[[216,216],\"mapped\",[248]],[[217,217],\"mapped\",[249]],[[218,218],\"mapped\",[250]],[[219,219],\"mapped\",[251]],[[220,220],\"mapped\",[252]],[[221,221],\"mapped\",[253]],[[222,222],\"mapped\",[254]],[[223,223],\"deviation\",[115,115]],[[224,246],\"valid\"],[[247,247],\"valid\",[],\"NV8\"],[[248,255],\"valid\"],[[256,256],\"mapped\",[257]],[[257,257],\"valid\"],[[258,258],\"mapped\",[259]],[[259,259],\"valid\"],[[260,260],\"mapped\",[261]],[[261,261],\"valid\"],[[262,262],\"mapped\",[263]],[[263,263],\"valid\"],[[264,264],\"mapped\",[265]],[[265,265],\"valid\"],[[266,266],\"mapped\",[267]],[[267,267],\"valid\"],[[268,268],\"mapped\",[269]],[[269,269],\"valid\"],[[270,270],\"mapped\",[271]],[[271,271],\"valid\"],[[272,272],\"mapped\",[273]],[[273,273],\"valid\"],[[274,274],\"mapped\",[275]],[[275,275],\"valid\"],[[276,276],\"mapped\",[277]],[[277,277],\"valid\"],[[278,278],\"mapped\",[279]],[[279,279],\"valid\"],[[280,280],\"mapped\",[281]],[[281,281],\"valid\"],[[282,282],\"mapped\",[283]],[[283,283],\"valid\"],[[284,284],\"mapped\",[285]],[[285,285],\"valid\"],[[286,286],\"mapped\",[287]],[[287,287],\"valid\"],[[288,288],\"mapped\",[289]],[[289,289],\"valid\"],[[290,290],\"mapped\",[291]],[[291,291],\"valid\"],[[292,292],\"mapped\",[293]],[[293,293],\"valid\"],[[294,294],\"mapped\",[295]],[[295,295],\"valid\"],[[296,296],\"mapped\",[297]],[[297,297],\"valid\"],[[298,298],\"mapped\",[299]],[[299,299],\"valid\"],[[300,300],\"mapped\",[301]],[[301,301],\"valid\"],[[302,302],\"mapped\",[303]],[[303,303],\"valid\"],[[304,304],\"mapped\",[105,775]],[[305,305],\"valid\"],[[306,307],\"mapped\",[105,106]],[[308,308],\"mapped\",[309]],[[309,309],\"valid\"],[[310,310],\"mapped\",[311]],[[311,312],\"valid\"],[[313,313],\"mapped\",[314]],[[314,314],\"valid\"],[[315,315],\"mapped\",[316]],[[316,316],\"valid\"],[[317,317],\"mapped\",[318]],[[318,318],\"valid\"],[[319,320],\"mapped\",[108,183]],[[321,321],\"mapped\",[322]],[[322,322],\"valid\"],[[323,323],\"mapped\",[324]],[[324,324],\"valid\"],[[325,325],\"mapped\",[326]],[[326,326],\"valid\"],[[327,327],\"mapped\",[328]],[[328,328],\"valid\"],[[329,329],\"mapped\",[700,110]],[[330,330],\"mapped\",[331]],[[331,331],\"valid\"],[[332,332],\"mapped\",[333]],[[333,333],\"valid\"],[[334,334],\"mapped\",[335]],[[335,335],\"valid\"],[[336,336],\"mapped\",[337]],[[337,337],\"valid\"],[[338,338],\"mapped\",[339]],[[339,339],\"valid\"],[[340,340],\"mapped\",[341]],[[341,341],\"valid\"],[[342,342],\"mapped\",[343]],[[343,343],\"valid\"],[[344,344],\"mapped\",[345]],[[345,345],\"valid\"],[[346,346],\"mapped\",[347]],[[347,347],\"valid\"],[[348,348],\"mapped\",[349]],[[349,349],\"valid\"],[[350,350],\"mapped\",[351]],[[351,351],\"valid\"],[[352,352],\"mapped\",[353]],[[353,353],\"valid\"],[[354,354],\"mapped\",[355]],[[355,355],\"valid\"],[[356,356],\"mapped\",[357]],[[357,357],\"valid\"],[[358,358],\"mapped\",[359]],[[359,359],\"valid\"],[[360,360],\"mapped\",[361]],[[361,361],\"valid\"],[[362,362],\"mapped\",[363]],[[363,363],\"valid\"],[[364,364],\"mapped\",[365]],[[365,365],\"valid\"],[[366,366],\"mapped\",[367]],[[367,367],\"valid\"],[[368,368],\"mapped\",[369]],[[369,369],\"valid\"],[[370,370],\"mapped\",[371]],[[371,371],\"valid\"],[[372,372],\"mapped\",[373]],[[373,373],\"valid\"],[[374,374],\"mapped\",[375]],[[375,375],\"valid\"],[[376,376],\"mapped\",[255]],[[377,377],\"mapped\",[378]],[[378,378],\"valid\"],[[379,379],\"mapped\",[380]],[[380,380],\"valid\"],[[381,381],\"mapped\",[382]],[[382,382],\"valid\"],[[383,383],\"mapped\",[115]],[[384,384],\"valid\"],[[385,385],\"mapped\",[595]],[[386,386],\"mapped\",[387]],[[387,387],\"valid\"],[[388,388],\"mapped\",[389]],[[389,389],\"valid\"],[[390,390],\"mapped\",[596]],[[391,391],\"mapped\",[392]],[[392,392],\"valid\"],[[393,393],\"mapped\",[598]],[[394,394],\"mapped\",[599]],[[395,395],\"mapped\",[396]],[[396,397],\"valid\"],[[398,398],\"mapped\",[477]],[[399,399],\"mapped\",[601]],[[400,400],\"mapped\",[603]],[[401,401],\"mapped\",[402]],[[402,402],\"valid\"],[[403,403],\"mapped\",[608]],[[404,404],\"mapped\",[611]],[[405,405],\"valid\"],[[406,406],\"mapped\",[617]],[[407,407],\"mapped\",[616]],[[408,408],\"mapped\",[409]],[[409,411],\"valid\"],[[412,412],\"mapped\",[623]],[[413,413],\"mapped\",[626]],[[414,414],\"valid\"],[[415,415],\"mapped\",[629]],[[416,416],\"mapped\",[417]],[[417,417],\"valid\"],[[418,418],\"mapped\",[419]],[[419,419],\"valid\"],[[420,420],\"mapped\",[421]],[[421,421],\"valid\"],[[422,422],\"mapped\",[640]],[[423,423],\"mapped\",[424]],[[424,424],\"valid\"],[[425,425],\"mapped\",[643]],[[426,427],\"valid\"],[[428,428],\"mapped\",[429]],[[429,429],\"valid\"],[[430,430],\"mapped\",[648]],[[431,431],\"mapped\",[432]],[[432,432],\"valid\"],[[433,433],\"mapped\",[650]],[[434,434],\"mapped\",[651]],[[435,435],\"mapped\",[436]],[[436,436],\"valid\"],[[437,437],\"mapped\",[438]],[[438,438],\"valid\"],[[439,439],\"mapped\",[658]],[[440,440],\"mapped\",[441]],[[441,443],\"valid\"],[[444,444],\"mapped\",[445]],[[445,451],\"valid\"],[[452,454],\"mapped\",[100,382]],[[455,457],\"mapped\",[108,106]],[[458,460],\"mapped\",[110,106]],[[461,461],\"mapped\",[462]],[[462,462],\"valid\"],[[463,463],\"mapped\",[464]],[[464,464],\"valid\"],[[465,465],\"mapped\",[466]],[[466,466],\"valid\"],[[467,467],\"mapped\",[468]],[[468,468],\"valid\"],[[469,469],\"mapped\",[470]],[[470,470],\"valid\"],[[471,471],\"mapped\",[472]],[[472,472],\"valid\"],[[473,473],\"mapped\",[474]],[[474,474],\"valid\"],[[475,475],\"mapped\",[476]],[[476,477],\"valid\"],[[478,478],\"mapped\",[479]],[[479,479],\"valid\"],[[480,480],\"mapped\",[481]],[[481,481],\"valid\"],[[482,482],\"mapped\",[483]],[[483,483],\"valid\"],[[484,484],\"mapped\",[485]],[[485,485],\"valid\"],[[486,486],\"mapped\",[487]],[[487,487],\"valid\"],[[488,488],\"mapped\",[489]],[[489,489],\"valid\"],[[490,490],\"mapped\",[491]],[[491,491],\"valid\"],[[492,492],\"mapped\",[493]],[[493,493],\"valid\"],[[494,494],\"mapped\",[495]],[[495,496],\"valid\"],[[497,499],\"mapped\",[100,122]],[[500,500],\"mapped\",[501]],[[501,501],\"valid\"],[[502,502],\"mapped\",[405]],[[503,503],\"mapped\",[447]],[[504,504],\"mapped\",[505]],[[505,505],\"valid\"],[[506,506],\"mapped\",[507]],[[507,507],\"valid\"],[[508,508],\"mapped\",[509]],[[509,509],\"valid\"],[[510,510],\"mapped\",[511]],[[511,511],\"valid\"],[[512,512],\"mapped\",[513]],[[513,513],\"valid\"],[[514,514],\"mapped\",[515]],[[515,515],\"valid\"],[[516,516],\"mapped\",[517]],[[517,517],\"valid\"],[[518,518],\"mapped\",[519]],[[519,519],\"valid\"],[[520,520],\"mapped\",[521]],[[521,521],\"valid\"],[[522,522],\"mapped\",[523]],[[523,523],\"valid\"],[[524,524],\"mapped\",[525]],[[525,525],\"valid\"],[[526,526],\"mapped\",[527]],[[527,527],\"valid\"],[[528,528],\"mapped\",[529]],[[529,529],\"valid\"],[[530,530],\"mapped\",[531]],[[531,531],\"valid\"],[[532,532],\"mapped\",[533]],[[533,533],\"valid\"],[[534,534],\"mapped\",[535]],[[535,535],\"valid\"],[[536,536],\"mapped\",[537]],[[537,537],\"valid\"],[[538,538],\"mapped\",[539]],[[539,539],\"valid\"],[[540,540],\"mapped\",[541]],[[541,541],\"valid\"],[[542,542],\"mapped\",[543]],[[543,543],\"valid\"],[[544,544],\"mapped\",[414]],[[545,545],\"valid\"],[[546,546],\"mapped\",[547]],[[547,547],\"valid\"],[[548,548],\"mapped\",[549]],[[549,549],\"valid\"],[[550,550],\"mapped\",[551]],[[551,551],\"valid\"],[[552,552],\"mapped\",[553]],[[553,553],\"valid\"],[[554,554],\"mapped\",[555]],[[555,555],\"valid\"],[[556,556],\"mapped\",[557]],[[557,557],\"valid\"],[[558,558],\"mapped\",[559]],[[559,559],\"valid\"],[[560,560],\"mapped\",[561]],[[561,561],\"valid\"],[[562,562],\"mapped\",[563]],[[563,563],\"valid\"],[[564,566],\"valid\"],[[567,569],\"valid\"],[[570,570],\"mapped\",[11365]],[[571,571],\"mapped\",[572]],[[572,572],\"valid\"],[[573,573],\"mapped\",[410]],[[574,574],\"mapped\",[11366]],[[575,576],\"valid\"],[[577,577],\"mapped\",[578]],[[578,578],\"valid\"],[[579,579],\"mapped\",[384]],[[580,580],\"mapped\",[649]],[[581,581],\"mapped\",[652]],[[582,582],\"mapped\",[583]],[[583,583],\"valid\"],[[584,584],\"mapped\",[585]],[[585,585],\"valid\"],[[586,586],\"mapped\",[587]],[[587,587],\"valid\"],[[588,588],\"mapped\",[589]],[[589,589],\"valid\"],[[590,590],\"mapped\",[591]],[[591,591],\"valid\"],[[592,680],\"valid\"],[[681,685],\"valid\"],[[686,687],\"valid\"],[[688,688],\"mapped\",[104]],[[689,689],\"mapped\",[614]],[[690,690],\"mapped\",[106]],[[691,691],\"mapped\",[114]],[[692,692],\"mapped\",[633]],[[693,693],\"mapped\",[635]],[[694,694],\"mapped\",[641]],[[695,695],\"mapped\",[119]],[[696,696],\"mapped\",[121]],[[697,705],\"valid\"],[[706,709],\"valid\",[],\"NV8\"],[[710,721],\"valid\"],[[722,727],\"valid\",[],\"NV8\"],[[728,728],\"disallowed_STD3_mapped\",[32,774]],[[729,729],\"disallowed_STD3_mapped\",[32,775]],[[730,730],\"disallowed_STD3_mapped\",[32,778]],[[731,731],\"disallowed_STD3_mapped\",[32,808]],[[732,732],\"disallowed_STD3_mapped\",[32,771]],[[733,733],\"disallowed_STD3_mapped\",[32,779]],[[734,734],\"valid\",[],\"NV8\"],[[735,735],\"valid\",[],\"NV8\"],[[736,736],\"mapped\",[611]],[[737,737],\"mapped\",[108]],[[738,738],\"mapped\",[115]],[[739,739],\"mapped\",[120]],[[740,740],\"mapped\",[661]],[[741,745],\"valid\",[],\"NV8\"],[[746,747],\"valid\",[],\"NV8\"],[[748,748],\"valid\"],[[749,749],\"valid\",[],\"NV8\"],[[750,750],\"valid\"],[[751,767],\"valid\",[],\"NV8\"],[[768,831],\"valid\"],[[832,832],\"mapped\",[768]],[[833,833],\"mapped\",[769]],[[834,834],\"valid\"],[[835,835],\"mapped\",[787]],[[836,836],\"mapped\",[776,769]],[[837,837],\"mapped\",[953]],[[838,846],\"valid\"],[[847,847],\"ignored\"],[[848,855],\"valid\"],[[856,860],\"valid\"],[[861,863],\"valid\"],[[864,865],\"valid\"],[[866,866],\"valid\"],[[867,879],\"valid\"],[[880,880],\"mapped\",[881]],[[881,881],\"valid\"],[[882,882],\"mapped\",[883]],[[883,883],\"valid\"],[[884,884],\"mapped\",[697]],[[885,885],\"valid\"],[[886,886],\"mapped\",[887]],[[887,887],\"valid\"],[[888,889],\"disallowed\"],[[890,890],\"disallowed_STD3_mapped\",[32,953]],[[891,893],\"valid\"],[[894,894],\"disallowed_STD3_mapped\",[59]],[[895,895],\"mapped\",[1011]],[[896,899],\"disallowed\"],[[900,900],\"disallowed_STD3_mapped\",[32,769]],[[901,901],\"disallowed_STD3_mapped\",[32,776,769]],[[902,902],\"mapped\",[940]],[[903,903],\"mapped\",[183]],[[904,904],\"mapped\",[941]],[[905,905],\"mapped\",[942]],[[906,906],\"mapped\",[943]],[[907,907],\"disallowed\"],[[908,908],\"mapped\",[972]],[[909,909],\"disallowed\"],[[910,910],\"mapped\",[973]],[[911,911],\"mapped\",[974]],[[912,912],\"valid\"],[[913,913],\"mapped\",[945]],[[914,914],\"mapped\",[946]],[[915,915],\"mapped\",[947]],[[916,916],\"mapped\",[948]],[[917,917],\"mapped\",[949]],[[918,918],\"mapped\",[950]],[[919,919],\"mapped\",[951]],[[920,920],\"mapped\",[952]],[[921,921],\"mapped\",[953]],[[922,922],\"mapped\",[954]],[[923,923],\"mapped\",[955]],[[924,924],\"mapped\",[956]],[[925,925],\"mapped\",[957]],[[926,926],\"mapped\",[958]],[[927,927],\"mapped\",[959]],[[928,928],\"mapped\",[960]],[[929,929],\"mapped\",[961]],[[930,930],\"disallowed\"],[[931,931],\"mapped\",[963]],[[932,932],\"mapped\",[964]],[[933,933],\"mapped\",[965]],[[934,934],\"mapped\",[966]],[[935,935],\"mapped\",[967]],[[936,936],\"mapped\",[968]],[[937,937],\"mapped\",[969]],[[938,938],\"mapped\",[970]],[[939,939],\"mapped\",[971]],[[940,961],\"valid\"],[[962,962],\"deviation\",[963]],[[963,974],\"valid\"],[[975,975],\"mapped\",[983]],[[976,976],\"mapped\",[946]],[[977,977],\"mapped\",[952]],[[978,978],\"mapped\",[965]],[[979,979],\"mapped\",[973]],[[980,980],\"mapped\",[971]],[[981,981],\"mapped\",[966]],[[982,982],\"mapped\",[960]],[[983,983],\"valid\"],[[984,984],\"mapped\",[985]],[[985,985],\"valid\"],[[986,986],\"mapped\",[987]],[[987,987],\"valid\"],[[988,988],\"mapped\",[989]],[[989,989],\"valid\"],[[990,990],\"mapped\",[991]],[[991,991],\"valid\"],[[992,992],\"mapped\",[993]],[[993,993],\"valid\"],[[994,994],\"mapped\",[995]],[[995,995],\"valid\"],[[996,996],\"mapped\",[997]],[[997,997],\"valid\"],[[998,998],\"mapped\",[999]],[[999,999],\"valid\"],[[1000,1000],\"mapped\",[1001]],[[1001,1001],\"valid\"],[[1002,1002],\"mapped\",[1003]],[[1003,1003],\"valid\"],[[1004,1004],\"mapped\",[1005]],[[1005,1005],\"valid\"],[[1006,1006],\"mapped\",[1007]],[[1007,1007],\"valid\"],[[1008,1008],\"mapped\",[954]],[[1009,1009],\"mapped\",[961]],[[1010,1010],\"mapped\",[963]],[[1011,1011],\"valid\"],[[1012,1012],\"mapped\",[952]],[[1013,1013],\"mapped\",[949]],[[1014,1014],\"valid\",[],\"NV8\"],[[1015,1015],\"mapped\",[1016]],[[1016,1016],\"valid\"],[[1017,1017],\"mapped\",[963]],[[1018,1018],\"mapped\",[1019]],[[1019,1019],\"valid\"],[[1020,1020],\"valid\"],[[1021,1021],\"mapped\",[891]],[[1022,1022],\"mapped\",[892]],[[1023,1023],\"mapped\",[893]],[[1024,1024],\"mapped\",[1104]],[[1025,1025],\"mapped\",[1105]],[[1026,1026],\"mapped\",[1106]],[[1027,1027],\"mapped\",[1107]],[[1028,1028],\"mapped\",[1108]],[[1029,1029],\"mapped\",[1109]],[[1030,1030],\"mapped\",[1110]],[[1031,1031],\"mapped\",[1111]],[[1032,1032],\"mapped\",[1112]],[[1033,1033],\"mapped\",[1113]],[[1034,1034],\"mapped\",[1114]],[[1035,1035],\"mapped\",[1115]],[[1036,1036],\"mapped\",[1116]],[[1037,1037],\"mapped\",[1117]],[[1038,1038],\"mapped\",[1118]],[[1039,1039],\"mapped\",[1119]],[[1040,1040],\"mapped\",[1072]],[[1041,1041],\"mapped\",[1073]],[[1042,1042],\"mapped\",[1074]],[[1043,1043],\"mapped\",[1075]],[[1044,1044],\"mapped\",[1076]],[[1045,1045],\"mapped\",[1077]],[[1046,1046],\"mapped\",[1078]],[[1047,1047],\"mapped\",[1079]],[[1048,1048],\"mapped\",[1080]],[[1049,1049],\"mapped\",[1081]],[[1050,1050],\"mapped\",[1082]],[[1051,1051],\"mapped\",[1083]],[[1052,1052],\"mapped\",[1084]],[[1053,1053],\"mapped\",[1085]],[[1054,1054],\"mapped\",[1086]],[[1055,1055],\"mapped\",[1087]],[[1056,1056],\"mapped\",[1088]],[[1057,1057],\"mapped\",[1089]],[[1058,1058],\"mapped\",[1090]],[[1059,1059],\"mapped\",[1091]],[[1060,1060],\"mapped\",[1092]],[[1061,1061],\"mapped\",[1093]],[[1062,1062],\"mapped\",[1094]],[[1063,1063],\"mapped\",[1095]],[[1064,1064],\"mapped\",[1096]],[[1065,1065],\"mapped\",[1097]],[[1066,1066],\"mapped\",[1098]],[[1067,1067],\"mapped\",[1099]],[[1068,1068],\"mapped\",[1100]],[[1069,1069],\"mapped\",[1101]],[[1070,1070],\"mapped\",[1102]],[[1071,1071],\"mapped\",[1103]],[[1072,1103],\"valid\"],[[1104,1104],\"valid\"],[[1105,1116],\"valid\"],[[1117,1117],\"valid\"],[[1118,1119],\"valid\"],[[1120,1120],\"mapped\",[1121]],[[1121,1121],\"valid\"],[[1122,1122],\"mapped\",[1123]],[[1123,1123],\"valid\"],[[1124,1124],\"mapped\",[1125]],[[1125,1125],\"valid\"],[[1126,1126],\"mapped\",[1127]],[[1127,1127],\"valid\"],[[1128,1128],\"mapped\",[1129]],[[1129,1129],\"valid\"],[[1130,1130],\"mapped\",[1131]],[[1131,1131],\"valid\"],[[1132,1132],\"mapped\",[1133]],[[1133,1133],\"valid\"],[[1134,1134],\"mapped\",[1135]],[[1135,1135],\"valid\"],[[1136,1136],\"mapped\",[1137]],[[1137,1137],\"valid\"],[[1138,1138],\"mapped\",[1139]],[[1139,1139],\"valid\"],[[1140,1140],\"mapped\",[1141]],[[1141,1141],\"valid\"],[[1142,1142],\"mapped\",[1143]],[[1143,1143],\"valid\"],[[1144,1144],\"mapped\",[1145]],[[1145,1145],\"valid\"],[[1146,1146],\"mapped\",[1147]],[[1147,1147],\"valid\"],[[1148,1148],\"mapped\",[1149]],[[1149,1149],\"valid\"],[[1150,1150],\"mapped\",[1151]],[[1151,1151],\"valid\"],[[1152,1152],\"mapped\",[1153]],[[1153,1153],\"valid\"],[[1154,1154],\"valid\",[],\"NV8\"],[[1155,1158],\"valid\"],[[1159,1159],\"valid\"],[[1160,1161],\"valid\",[],\"NV8\"],[[1162,1162],\"mapped\",[1163]],[[1163,1163],\"valid\"],[[1164,1164],\"mapped\",[1165]],[[1165,1165],\"valid\"],[[1166,1166],\"mapped\",[1167]],[[1167,1167],\"valid\"],[[1168,1168],\"mapped\",[1169]],[[1169,1169],\"valid\"],[[1170,1170],\"mapped\",[1171]],[[1171,1171],\"valid\"],[[1172,1172],\"mapped\",[1173]],[[1173,1173],\"valid\"],[[1174,1174],\"mapped\",[1175]],[[1175,1175],\"valid\"],[[1176,1176],\"mapped\",[1177]],[[1177,1177],\"valid\"],[[1178,1178],\"mapped\",[1179]],[[1179,1179],\"valid\"],[[1180,1180],\"mapped\",[1181]],[[1181,1181],\"valid\"],[[1182,1182],\"mapped\",[1183]],[[1183,1183],\"valid\"],[[1184,1184],\"mapped\",[1185]],[[1185,1185],\"valid\"],[[1186,1186],\"mapped\",[1187]],[[1187,1187],\"valid\"],[[1188,1188],\"mapped\",[1189]],[[1189,1189],\"valid\"],[[1190,1190],\"mapped\",[1191]],[[1191,1191],\"valid\"],[[1192,1192],\"mapped\",[1193]],[[1193,1193],\"valid\"],[[1194,1194],\"mapped\",[1195]],[[1195,1195],\"valid\"],[[1196,1196],\"mapped\",[1197]],[[1197,1197],\"valid\"],[[1198,1198],\"mapped\",[1199]],[[1199,1199],\"valid\"],[[1200,1200],\"mapped\",[1201]],[[1201,1201],\"valid\"],[[1202,1202],\"mapped\",[1203]],[[1203,1203],\"valid\"],[[1204,1204],\"mapped\",[1205]],[[1205,1205],\"valid\"],[[1206,1206],\"mapped\",[1207]],[[1207,1207],\"valid\"],[[1208,1208],\"mapped\",[1209]],[[1209,1209],\"valid\"],[[1210,1210],\"mapped\",[1211]],[[1211,1211],\"valid\"],[[1212,1212],\"mapped\",[1213]],[[1213,1213],\"valid\"],[[1214,1214],\"mapped\",[1215]],[[1215,1215],\"valid\"],[[1216,1216],\"disallowed\"],[[1217,1217],\"mapped\",[1218]],[[1218,1218],\"valid\"],[[1219,1219],\"mapped\",[1220]],[[1220,1220],\"valid\"],[[1221,1221],\"mapped\",[1222]],[[1222,1222],\"valid\"],[[1223,1223],\"mapped\",[1224]],[[1224,1224],\"valid\"],[[1225,1225],\"mapped\",[1226]],[[1226,1226],\"valid\"],[[1227,1227],\"mapped\",[1228]],[[1228,1228],\"valid\"],[[1229,1229],\"mapped\",[1230]],[[1230,1230],\"valid\"],[[1231,1231],\"valid\"],[[1232,1232],\"mapped\",[1233]],[[1233,1233],\"valid\"],[[1234,1234],\"mapped\",[1235]],[[1235,1235],\"valid\"],[[1236,1236],\"mapped\",[1237]],[[1237,1237],\"valid\"],[[1238,1238],\"mapped\",[1239]],[[1239,1239],\"valid\"],[[1240,1240],\"mapped\",[1241]],[[1241,1241],\"valid\"],[[1242,1242],\"mapped\",[1243]],[[1243,1243],\"valid\"],[[1244,1244],\"mapped\",[1245]],[[1245,1245],\"valid\"],[[1246,1246],\"mapped\",[1247]],[[1247,1247],\"valid\"],[[1248,1248],\"mapped\",[1249]],[[1249,1249],\"valid\"],[[1250,1250],\"mapped\",[1251]],[[1251,1251],\"valid\"],[[1252,1252],\"mapped\",[1253]],[[1253,1253],\"valid\"],[[1254,1254],\"mapped\",[1255]],[[1255,1255],\"valid\"],[[1256,1256],\"mapped\",[1257]],[[1257,1257],\"valid\"],[[1258,1258],\"mapped\",[1259]],[[1259,1259],\"valid\"],[[1260,1260],\"mapped\",[1261]],[[1261,1261],\"valid\"],[[1262,1262],\"mapped\",[1263]],[[1263,1263],\"valid\"],[[1264,1264],\"mapped\",[1265]],[[1265,1265],\"valid\"],[[1266,1266],\"mapped\",[1267]],[[1267,1267],\"valid\"],[[1268,1268],\"mapped\",[1269]],[[1269,1269],\"valid\"],[[1270,1270],\"mapped\",[1271]],[[1271,1271],\"valid\"],[[1272,1272],\"mapped\",[1273]],[[1273,1273],\"valid\"],[[1274,1274],\"mapped\",[1275]],[[1275,1275],\"valid\"],[[1276,1276],\"mapped\",[1277]],[[1277,1277],\"valid\"],[[1278,1278],\"mapped\",[1279]],[[1279,1279],\"valid\"],[[1280,1280],\"mapped\",[1281]],[[1281,1281],\"valid\"],[[1282,1282],\"mapped\",[1283]],[[1283,1283],\"valid\"],[[1284,1284],\"mapped\",[1285]],[[1285,1285],\"valid\"],[[1286,1286],\"mapped\",[1287]],[[1287,1287],\"valid\"],[[1288,1288],\"mapped\",[1289]],[[1289,1289],\"valid\"],[[1290,1290],\"mapped\",[1291]],[[1291,1291],\"valid\"],[[1292,1292],\"mapped\",[1293]],[[1293,1293],\"valid\"],[[1294,1294],\"mapped\",[1295]],[[1295,1295],\"valid\"],[[1296,1296],\"mapped\",[1297]],[[1297,1297],\"valid\"],[[1298,1298],\"mapped\",[1299]],[[1299,1299],\"valid\"],[[1300,1300],\"mapped\",[1301]],[[1301,1301],\"valid\"],[[1302,1302],\"mapped\",[1303]],[[1303,1303],\"valid\"],[[1304,1304],\"mapped\",[1305]],[[1305,1305],\"valid\"],[[1306,1306],\"mapped\",[1307]],[[1307,1307],\"valid\"],[[1308,1308],\"mapped\",[1309]],[[1309,1309],\"valid\"],[[1310,1310],\"mapped\",[1311]],[[1311,1311],\"valid\"],[[1312,1312],\"mapped\",[1313]],[[1313,1313],\"valid\"],[[1314,1314],\"mapped\",[1315]],[[1315,1315],\"valid\"],[[1316,1316],\"mapped\",[1317]],[[1317,1317],\"valid\"],[[1318,1318],\"mapped\",[1319]],[[1319,1319],\"valid\"],[[1320,1320],\"mapped\",[1321]],[[1321,1321],\"valid\"],[[1322,1322],\"mapped\",[1323]],[[1323,1323],\"valid\"],[[1324,1324],\"mapped\",[1325]],[[1325,1325],\"valid\"],[[1326,1326],\"mapped\",[1327]],[[1327,1327],\"valid\"],[[1328,1328],\"disallowed\"],[[1329,1329],\"mapped\",[1377]],[[1330,1330],\"mapped\",[1378]],[[1331,1331],\"mapped\",[1379]],[[1332,1332],\"mapped\",[1380]],[[1333,1333],\"mapped\",[1381]],[[1334,1334],\"mapped\",[1382]],[[1335,1335],\"mapped\",[1383]],[[1336,1336],\"mapped\",[1384]],[[1337,1337],\"mapped\",[1385]],[[1338,1338],\"mapped\",[1386]],[[1339,1339],\"mapped\",[1387]],[[1340,1340],\"mapped\",[1388]],[[1341,1341],\"mapped\",[1389]],[[1342,1342],\"mapped\",[1390]],[[1343,1343],\"mapped\",[1391]],[[1344,1344],\"mapped\",[1392]],[[1345,1345],\"mapped\",[1393]],[[1346,1346],\"mapped\",[1394]],[[1347,1347],\"mapped\",[1395]],[[1348,1348],\"mapped\",[1396]],[[1349,1349],\"mapped\",[1397]],[[1350,1350],\"mapped\",[1398]],[[1351,1351],\"mapped\",[1399]],[[1352,1352],\"mapped\",[1400]],[[1353,1353],\"mapped\",[1401]],[[1354,1354],\"mapped\",[1402]],[[1355,1355],\"mapped\",[1403]],[[1356,1356],\"mapped\",[1404]],[[1357,1357],\"mapped\",[1405]],[[1358,1358],\"mapped\",[1406]],[[1359,1359],\"mapped\",[1407]],[[1360,1360],\"mapped\",[1408]],[[1361,1361],\"mapped\",[1409]],[[1362,1362],\"mapped\",[1410]],[[1363,1363],\"mapped\",[1411]],[[1364,1364],\"mapped\",[1412]],[[1365,1365],\"mapped\",[1413]],[[1366,1366],\"mapped\",[1414]],[[1367,1368],\"disallowed\"],[[1369,1369],\"valid\"],[[1370,1375],\"valid\",[],\"NV8\"],[[1376,1376],\"disallowed\"],[[1377,1414],\"valid\"],[[1415,1415],\"mapped\",[1381,1410]],[[1416,1416],\"disallowed\"],[[1417,1417],\"valid\",[],\"NV8\"],[[1418,1418],\"valid\",[],\"NV8\"],[[1419,1420],\"disallowed\"],[[1421,1422],\"valid\",[],\"NV8\"],[[1423,1423],\"valid\",[],\"NV8\"],[[1424,1424],\"disallowed\"],[[1425,1441],\"valid\"],[[1442,1442],\"valid\"],[[1443,1455],\"valid\"],[[1456,1465],\"valid\"],[[1466,1466],\"valid\"],[[1467,1469],\"valid\"],[[1470,1470],\"valid\",[],\"NV8\"],[[1471,1471],\"valid\"],[[1472,1472],\"valid\",[],\"NV8\"],[[1473,1474],\"valid\"],[[1475,1475],\"valid\",[],\"NV8\"],[[1476,1476],\"valid\"],[[1477,1477],\"valid\"],[[1478,1478],\"valid\",[],\"NV8\"],[[1479,1479],\"valid\"],[[1480,1487],\"disallowed\"],[[1488,1514],\"valid\"],[[1515,1519],\"disallowed\"],[[1520,1524],\"valid\"],[[1525,1535],\"disallowed\"],[[1536,1539],\"disallowed\"],[[1540,1540],\"disallowed\"],[[1541,1541],\"disallowed\"],[[1542,1546],\"valid\",[],\"NV8\"],[[1547,1547],\"valid\",[],\"NV8\"],[[1548,1548],\"valid\",[],\"NV8\"],[[1549,1551],\"valid\",[],\"NV8\"],[[1552,1557],\"valid\"],[[1558,1562],\"valid\"],[[1563,1563],\"valid\",[],\"NV8\"],[[1564,1564],\"disallowed\"],[[1565,1565],\"disallowed\"],[[1566,1566],\"valid\",[],\"NV8\"],[[1567,1567],\"valid\",[],\"NV8\"],[[1568,1568],\"valid\"],[[1569,1594],\"valid\"],[[1595,1599],\"valid\"],[[1600,1600],\"valid\",[],\"NV8\"],[[1601,1618],\"valid\"],[[1619,1621],\"valid\"],[[1622,1624],\"valid\"],[[1625,1630],\"valid\"],[[1631,1631],\"valid\"],[[1632,1641],\"valid\"],[[1642,1645],\"valid\",[],\"NV8\"],[[1646,1647],\"valid\"],[[1648,1652],\"valid\"],[[1653,1653],\"mapped\",[1575,1652]],[[1654,1654],\"mapped\",[1608,1652]],[[1655,1655],\"mapped\",[1735,1652]],[[1656,1656],\"mapped\",[1610,1652]],[[1657,1719],\"valid\"],[[1720,1721],\"valid\"],[[1722,1726],\"valid\"],[[1727,1727],\"valid\"],[[1728,1742],\"valid\"],[[1743,1743],\"valid\"],[[1744,1747],\"valid\"],[[1748,1748],\"valid\",[],\"NV8\"],[[1749,1756],\"valid\"],[[1757,1757],\"disallowed\"],[[1758,1758],\"valid\",[],\"NV8\"],[[1759,1768],\"valid\"],[[1769,1769],\"valid\",[],\"NV8\"],[[1770,1773],\"valid\"],[[1774,1775],\"valid\"],[[1776,1785],\"valid\"],[[1786,1790],\"valid\"],[[1791,1791],\"valid\"],[[1792,1805],\"valid\",[],\"NV8\"],[[1806,1806],\"disallowed\"],[[1807,1807],\"disallowed\"],[[1808,1836],\"valid\"],[[1837,1839],\"valid\"],[[1840,1866],\"valid\"],[[1867,1868],\"disallowed\"],[[1869,1871],\"valid\"],[[1872,1901],\"valid\"],[[1902,1919],\"valid\"],[[1920,1968],\"valid\"],[[1969,1969],\"valid\"],[[1970,1983],\"disallowed\"],[[1984,2037],\"valid\"],[[2038,2042],\"valid\",[],\"NV8\"],[[2043,2047],\"disallowed\"],[[2048,2093],\"valid\"],[[2094,2095],\"disallowed\"],[[2096,2110],\"valid\",[],\"NV8\"],[[2111,2111],\"disallowed\"],[[2112,2139],\"valid\"],[[2140,2141],\"disallowed\"],[[2142,2142],\"valid\",[],\"NV8\"],[[2143,2207],\"disallowed\"],[[2208,2208],\"valid\"],[[2209,2209],\"valid\"],[[2210,2220],\"valid\"],[[2221,2226],\"valid\"],[[2227,2228],\"valid\"],[[2229,2274],\"disallowed\"],[[2275,2275],\"valid\"],[[2276,2302],\"valid\"],[[2303,2303],\"valid\"],[[2304,2304],\"valid\"],[[2305,2307],\"valid\"],[[2308,2308],\"valid\"],[[2309,2361],\"valid\"],[[2362,2363],\"valid\"],[[2364,2381],\"valid\"],[[2382,2382],\"valid\"],[[2383,2383],\"valid\"],[[2384,2388],\"valid\"],[[2389,2389],\"valid\"],[[2390,2391],\"valid\"],[[2392,2392],\"mapped\",[2325,2364]],[[2393,2393],\"mapped\",[2326,2364]],[[2394,2394],\"mapped\",[2327,2364]],[[2395,2395],\"mapped\",[2332,2364]],[[2396,2396],\"mapped\",[2337,2364]],[[2397,2397],\"mapped\",[2338,2364]],[[2398,2398],\"mapped\",[2347,2364]],[[2399,2399],\"mapped\",[2351,2364]],[[2400,2403],\"valid\"],[[2404,2405],\"valid\",[],\"NV8\"],[[2406,2415],\"valid\"],[[2416,2416],\"valid\",[],\"NV8\"],[[2417,2418],\"valid\"],[[2419,2423],\"valid\"],[[2424,2424],\"valid\"],[[2425,2426],\"valid\"],[[2427,2428],\"valid\"],[[2429,2429],\"valid\"],[[2430,2431],\"valid\"],[[2432,2432],\"valid\"],[[2433,2435],\"valid\"],[[2436,2436],\"disallowed\"],[[2437,2444],\"valid\"],[[2445,2446],\"disallowed\"],[[2447,2448],\"valid\"],[[2449,2450],\"disallowed\"],[[2451,2472],\"valid\"],[[2473,2473],\"disallowed\"],[[2474,2480],\"valid\"],[[2481,2481],\"disallowed\"],[[2482,2482],\"valid\"],[[2483,2485],\"disallowed\"],[[2486,2489],\"valid\"],[[2490,2491],\"disallowed\"],[[2492,2492],\"valid\"],[[2493,2493],\"valid\"],[[2494,2500],\"valid\"],[[2501,2502],\"disallowed\"],[[2503,2504],\"valid\"],[[2505,2506],\"disallowed\"],[[2507,2509],\"valid\"],[[2510,2510],\"valid\"],[[2511,2518],\"disallowed\"],[[2519,2519],\"valid\"],[[2520,2523],\"disallowed\"],[[2524,2524],\"mapped\",[2465,2492]],[[2525,2525],\"mapped\",[2466,2492]],[[2526,2526],\"disallowed\"],[[2527,2527],\"mapped\",[2479,2492]],[[2528,2531],\"valid\"],[[2532,2533],\"disallowed\"],[[2534,2545],\"valid\"],[[2546,2554],\"valid\",[],\"NV8\"],[[2555,2555],\"valid\",[],\"NV8\"],[[2556,2560],\"disallowed\"],[[2561,2561],\"valid\"],[[2562,2562],\"valid\"],[[2563,2563],\"valid\"],[[2564,2564],\"disallowed\"],[[2565,2570],\"valid\"],[[2571,2574],\"disallowed\"],[[2575,2576],\"valid\"],[[2577,2578],\"disallowed\"],[[2579,2600],\"valid\"],[[2601,2601],\"disallowed\"],[[2602,2608],\"valid\"],[[2609,2609],\"disallowed\"],[[2610,2610],\"valid\"],[[2611,2611],\"mapped\",[2610,2620]],[[2612,2612],\"disallowed\"],[[2613,2613],\"valid\"],[[2614,2614],\"mapped\",[2616,2620]],[[2615,2615],\"disallowed\"],[[2616,2617],\"valid\"],[[2618,2619],\"disallowed\"],[[2620,2620],\"valid\"],[[2621,2621],\"disallowed\"],[[2622,2626],\"valid\"],[[2627,2630],\"disallowed\"],[[2631,2632],\"valid\"],[[2633,2634],\"disallowed\"],[[2635,2637],\"valid\"],[[2638,2640],\"disallowed\"],[[2641,2641],\"valid\"],[[2642,2648],\"disallowed\"],[[2649,2649],\"mapped\",[2582,2620]],[[2650,2650],\"mapped\",[2583,2620]],[[2651,2651],\"mapped\",[2588,2620]],[[2652,2652],\"valid\"],[[2653,2653],\"disallowed\"],[[2654,2654],\"mapped\",[2603,2620]],[[2655,2661],\"disallowed\"],[[2662,2676],\"valid\"],[[2677,2677],\"valid\"],[[2678,2688],\"disallowed\"],[[2689,2691],\"valid\"],[[2692,2692],\"disallowed\"],[[2693,2699],\"valid\"],[[2700,2700],\"valid\"],[[2701,2701],\"valid\"],[[2702,2702],\"disallowed\"],[[2703,2705],\"valid\"],[[2706,2706],\"disallowed\"],[[2707,2728],\"valid\"],[[2729,2729],\"disallowed\"],[[2730,2736],\"valid\"],[[2737,2737],\"disallowed\"],[[2738,2739],\"valid\"],[[2740,2740],\"disallowed\"],[[2741,2745],\"valid\"],[[2746,2747],\"disallowed\"],[[2748,2757],\"valid\"],[[2758,2758],\"disallowed\"],[[2759,2761],\"valid\"],[[2762,2762],\"disallowed\"],[[2763,2765],\"valid\"],[[2766,2767],\"disallowed\"],[[2768,2768],\"valid\"],[[2769,2783],\"disallowed\"],[[2784,2784],\"valid\"],[[2785,2787],\"valid\"],[[2788,2789],\"disallowed\"],[[2790,2799],\"valid\"],[[2800,2800],\"valid\",[],\"NV8\"],[[2801,2801],\"valid\",[],\"NV8\"],[[2802,2808],\"disallowed\"],[[2809,2809],\"valid\"],[[2810,2816],\"disallowed\"],[[2817,2819],\"valid\"],[[2820,2820],\"disallowed\"],[[2821,2828],\"valid\"],[[2829,2830],\"disallowed\"],[[2831,2832],\"valid\"],[[2833,2834],\"disallowed\"],[[2835,2856],\"valid\"],[[2857,2857],\"disallowed\"],[[2858,2864],\"valid\"],[[2865,2865],\"disallowed\"],[[2866,2867],\"valid\"],[[2868,2868],\"disallowed\"],[[2869,2869],\"valid\"],[[2870,2873],\"valid\"],[[2874,2875],\"disallowed\"],[[2876,2883],\"valid\"],[[2884,2884],\"valid\"],[[2885,2886],\"disallowed\"],[[2887,2888],\"valid\"],[[2889,2890],\"disallowed\"],[[2891,2893],\"valid\"],[[2894,2901],\"disallowed\"],[[2902,2903],\"valid\"],[[2904,2907],\"disallowed\"],[[2908,2908],\"mapped\",[2849,2876]],[[2909,2909],\"mapped\",[2850,2876]],[[2910,2910],\"disallowed\"],[[2911,2913],\"valid\"],[[2914,2915],\"valid\"],[[2916,2917],\"disallowed\"],[[2918,2927],\"valid\"],[[2928,2928],\"valid\",[],\"NV8\"],[[2929,2929],\"valid\"],[[2930,2935],\"valid\",[],\"NV8\"],[[2936,2945],\"disallowed\"],[[2946,2947],\"valid\"],[[2948,2948],\"disallowed\"],[[2949,2954],\"valid\"],[[2955,2957],\"disallowed\"],[[2958,2960],\"valid\"],[[2961,2961],\"disallowed\"],[[2962,2965],\"valid\"],[[2966,2968],\"disallowed\"],[[2969,2970],\"valid\"],[[2971,2971],\"disallowed\"],[[2972,2972],\"valid\"],[[2973,2973],\"disallowed\"],[[2974,2975],\"valid\"],[[2976,2978],\"disallowed\"],[[2979,2980],\"valid\"],[[2981,2983],\"disallowed\"],[[2984,2986],\"valid\"],[[2987,2989],\"disallowed\"],[[2990,2997],\"valid\"],[[2998,2998],\"valid\"],[[2999,3001],\"valid\"],[[3002,3005],\"disallowed\"],[[3006,3010],\"valid\"],[[3011,3013],\"disallowed\"],[[3014,3016],\"valid\"],[[3017,3017],\"disallowed\"],[[3018,3021],\"valid\"],[[3022,3023],\"disallowed\"],[[3024,3024],\"valid\"],[[3025,3030],\"disallowed\"],[[3031,3031],\"valid\"],[[3032,3045],\"disallowed\"],[[3046,3046],\"valid\"],[[3047,3055],\"valid\"],[[3056,3058],\"valid\",[],\"NV8\"],[[3059,3066],\"valid\",[],\"NV8\"],[[3067,3071],\"disallowed\"],[[3072,3072],\"valid\"],[[3073,3075],\"valid\"],[[3076,3076],\"disallowed\"],[[3077,3084],\"valid\"],[[3085,3085],\"disallowed\"],[[3086,3088],\"valid\"],[[3089,3089],\"disallowed\"],[[3090,3112],\"valid\"],[[3113,3113],\"disallowed\"],[[3114,3123],\"valid\"],[[3124,3124],\"valid\"],[[3125,3129],\"valid\"],[[3130,3132],\"disallowed\"],[[3133,3133],\"valid\"],[[3134,3140],\"valid\"],[[3141,3141],\"disallowed\"],[[3142,3144],\"valid\"],[[3145,3145],\"disallowed\"],[[3146,3149],\"valid\"],[[3150,3156],\"disallowed\"],[[3157,3158],\"valid\"],[[3159,3159],\"disallowed\"],[[3160,3161],\"valid\"],[[3162,3162],\"valid\"],[[3163,3167],\"disallowed\"],[[3168,3169],\"valid\"],[[3170,3171],\"valid\"],[[3172,3173],\"disallowed\"],[[3174,3183],\"valid\"],[[3184,3191],\"disallowed\"],[[3192,3199],\"valid\",[],\"NV8\"],[[3200,3200],\"disallowed\"],[[3201,3201],\"valid\"],[[3202,3203],\"valid\"],[[3204,3204],\"disallowed\"],[[3205,3212],\"valid\"],[[3213,3213],\"disallowed\"],[[3214,3216],\"valid\"],[[3217,3217],\"disallowed\"],[[3218,3240],\"valid\"],[[3241,3241],\"disallowed\"],[[3242,3251],\"valid\"],[[3252,3252],\"disallowed\"],[[3253,3257],\"valid\"],[[3258,3259],\"disallowed\"],[[3260,3261],\"valid\"],[[3262,3268],\"valid\"],[[3269,3269],\"disallowed\"],[[3270,3272],\"valid\"],[[3273,3273],\"disallowed\"],[[3274,3277],\"valid\"],[[3278,3284],\"disallowed\"],[[3285,3286],\"valid\"],[[3287,3293],\"disallowed\"],[[3294,3294],\"valid\"],[[3295,3295],\"disallowed\"],[[3296,3297],\"valid\"],[[3298,3299],\"valid\"],[[3300,3301],\"disallowed\"],[[3302,3311],\"valid\"],[[3312,3312],\"disallowed\"],[[3313,3314],\"valid\"],[[3315,3328],\"disallowed\"],[[3329,3329],\"valid\"],[[3330,3331],\"valid\"],[[3332,3332],\"disallowed\"],[[3333,3340],\"valid\"],[[3341,3341],\"disallowed\"],[[3342,3344],\"valid\"],[[3345,3345],\"disallowed\"],[[3346,3368],\"valid\"],[[3369,3369],\"valid\"],[[3370,3385],\"valid\"],[[3386,3386],\"valid\"],[[3387,3388],\"disallowed\"],[[3389,3389],\"valid\"],[[3390,3395],\"valid\"],[[3396,3396],\"valid\"],[[3397,3397],\"disallowed\"],[[3398,3400],\"valid\"],[[3401,3401],\"disallowed\"],[[3402,3405],\"valid\"],[[3406,3406],\"valid\"],[[3407,3414],\"disallowed\"],[[3415,3415],\"valid\"],[[3416,3422],\"disallowed\"],[[3423,3423],\"valid\"],[[3424,3425],\"valid\"],[[3426,3427],\"valid\"],[[3428,3429],\"disallowed\"],[[3430,3439],\"valid\"],[[3440,3445],\"valid\",[],\"NV8\"],[[3446,3448],\"disallowed\"],[[3449,3449],\"valid\",[],\"NV8\"],[[3450,3455],\"valid\"],[[3456,3457],\"disallowed\"],[[3458,3459],\"valid\"],[[3460,3460],\"disallowed\"],[[3461,3478],\"valid\"],[[3479,3481],\"disallowed\"],[[3482,3505],\"valid\"],[[3506,3506],\"disallowed\"],[[3507,3515],\"valid\"],[[3516,3516],\"disallowed\"],[[3517,3517],\"valid\"],[[3518,3519],\"disallowed\"],[[3520,3526],\"valid\"],[[3527,3529],\"disallowed\"],[[3530,3530],\"valid\"],[[3531,3534],\"disallowed\"],[[3535,3540],\"valid\"],[[3541,3541],\"disallowed\"],[[3542,3542],\"valid\"],[[3543,3543],\"disallowed\"],[[3544,3551],\"valid\"],[[3552,3557],\"disallowed\"],[[3558,3567],\"valid\"],[[3568,3569],\"disallowed\"],[[3570,3571],\"valid\"],[[3572,3572],\"valid\",[],\"NV8\"],[[3573,3584],\"disallowed\"],[[3585,3634],\"valid\"],[[3635,3635],\"mapped\",[3661,3634]],[[3636,3642],\"valid\"],[[3643,3646],\"disallowed\"],[[3647,3647],\"valid\",[],\"NV8\"],[[3648,3662],\"valid\"],[[3663,3663],\"valid\",[],\"NV8\"],[[3664,3673],\"valid\"],[[3674,3675],\"valid\",[],\"NV8\"],[[3676,3712],\"disallowed\"],[[3713,3714],\"valid\"],[[3715,3715],\"disallowed\"],[[3716,3716],\"valid\"],[[3717,3718],\"disallowed\"],[[3719,3720],\"valid\"],[[3721,3721],\"disallowed\"],[[3722,3722],\"valid\"],[[3723,3724],\"disallowed\"],[[3725,3725],\"valid\"],[[3726,3731],\"disallowed\"],[[3732,3735],\"valid\"],[[3736,3736],\"disallowed\"],[[3737,3743],\"valid\"],[[3744,3744],\"disallowed\"],[[3745,3747],\"valid\"],[[3748,3748],\"disallowed\"],[[3749,3749],\"valid\"],[[3750,3750],\"disallowed\"],[[3751,3751],\"valid\"],[[3752,3753],\"disallowed\"],[[3754,3755],\"valid\"],[[3756,3756],\"disallowed\"],[[3757,3762],\"valid\"],[[3763,3763],\"mapped\",[3789,3762]],[[3764,3769],\"valid\"],[[3770,3770],\"disallowed\"],[[3771,3773],\"valid\"],[[3774,3775],\"disallowed\"],[[3776,3780],\"valid\"],[[3781,3781],\"disallowed\"],[[3782,3782],\"valid\"],[[3783,3783],\"disallowed\"],[[3784,3789],\"valid\"],[[3790,3791],\"disallowed\"],[[3792,3801],\"valid\"],[[3802,3803],\"disallowed\"],[[3804,3804],\"mapped\",[3755,3737]],[[3805,3805],\"mapped\",[3755,3745]],[[3806,3807],\"valid\"],[[3808,3839],\"disallowed\"],[[3840,3840],\"valid\"],[[3841,3850],\"valid\",[],\"NV8\"],[[3851,3851],\"valid\"],[[3852,3852],\"mapped\",[3851]],[[3853,3863],\"valid\",[],\"NV8\"],[[3864,3865],\"valid\"],[[3866,3871],\"valid\",[],\"NV8\"],[[3872,3881],\"valid\"],[[3882,3892],\"valid\",[],\"NV8\"],[[3893,3893],\"valid\"],[[3894,3894],\"valid\",[],\"NV8\"],[[3895,3895],\"valid\"],[[3896,3896],\"valid\",[],\"NV8\"],[[3897,3897],\"valid\"],[[3898,3901],\"valid\",[],\"NV8\"],[[3902,3906],\"valid\"],[[3907,3907],\"mapped\",[3906,4023]],[[3908,3911],\"valid\"],[[3912,3912],\"disallowed\"],[[3913,3916],\"valid\"],[[3917,3917],\"mapped\",[3916,4023]],[[3918,3921],\"valid\"],[[3922,3922],\"mapped\",[3921,4023]],[[3923,3926],\"valid\"],[[3927,3927],\"mapped\",[3926,4023]],[[3928,3931],\"valid\"],[[3932,3932],\"mapped\",[3931,4023]],[[3933,3944],\"valid\"],[[3945,3945],\"mapped\",[3904,4021]],[[3946,3946],\"valid\"],[[3947,3948],\"valid\"],[[3949,3952],\"disallowed\"],[[3953,3954],\"valid\"],[[3955,3955],\"mapped\",[3953,3954]],[[3956,3956],\"valid\"],[[3957,3957],\"mapped\",[3953,3956]],[[3958,3958],\"mapped\",[4018,3968]],[[3959,3959],\"mapped\",[4018,3953,3968]],[[3960,3960],\"mapped\",[4019,3968]],[[3961,3961],\"mapped\",[4019,3953,3968]],[[3962,3968],\"valid\"],[[3969,3969],\"mapped\",[3953,3968]],[[3970,3972],\"valid\"],[[3973,3973],\"valid\",[],\"NV8\"],[[3974,3979],\"valid\"],[[3980,3983],\"valid\"],[[3984,3986],\"valid\"],[[3987,3987],\"mapped\",[3986,4023]],[[3988,3989],\"valid\"],[[3990,3990],\"valid\"],[[3991,3991],\"valid\"],[[3992,3992],\"disallowed\"],[[3993,3996],\"valid\"],[[3997,3997],\"mapped\",[3996,4023]],[[3998,4001],\"valid\"],[[4002,4002],\"mapped\",[4001,4023]],[[4003,4006],\"valid\"],[[4007,4007],\"mapped\",[4006,4023]],[[4008,4011],\"valid\"],[[4012,4012],\"mapped\",[4011,4023]],[[4013,4013],\"valid\"],[[4014,4016],\"valid\"],[[4017,4023],\"valid\"],[[4024,4024],\"valid\"],[[4025,4025],\"mapped\",[3984,4021]],[[4026,4028],\"valid\"],[[4029,4029],\"disallowed\"],[[4030,4037],\"valid\",[],\"NV8\"],[[4038,4038],\"valid\"],[[4039,4044],\"valid\",[],\"NV8\"],[[4045,4045],\"disallowed\"],[[4046,4046],\"valid\",[],\"NV8\"],[[4047,4047],\"valid\",[],\"NV8\"],[[4048,4049],\"valid\",[],\"NV8\"],[[4050,4052],\"valid\",[],\"NV8\"],[[4053,4056],\"valid\",[],\"NV8\"],[[4057,4058],\"valid\",[],\"NV8\"],[[4059,4095],\"disallowed\"],[[4096,4129],\"valid\"],[[4130,4130],\"valid\"],[[4131,4135],\"valid\"],[[4136,4136],\"valid\"],[[4137,4138],\"valid\"],[[4139,4139],\"valid\"],[[4140,4146],\"valid\"],[[4147,4149],\"valid\"],[[4150,4153],\"valid\"],[[4154,4159],\"valid\"],[[4160,4169],\"valid\"],[[4170,4175],\"valid\",[],\"NV8\"],[[4176,4185],\"valid\"],[[4186,4249],\"valid\"],[[4250,4253],\"valid\"],[[4254,4255],\"valid\",[],\"NV8\"],[[4256,4293],\"disallowed\"],[[4294,4294],\"disallowed\"],[[4295,4295],\"mapped\",[11559]],[[4296,4300],\"disallowed\"],[[4301,4301],\"mapped\",[11565]],[[4302,4303],\"disallowed\"],[[4304,4342],\"valid\"],[[4343,4344],\"valid\"],[[4345,4346],\"valid\"],[[4347,4347],\"valid\",[],\"NV8\"],[[4348,4348],\"mapped\",[4316]],[[4349,4351],\"valid\"],[[4352,4441],\"valid\",[],\"NV8\"],[[4442,4446],\"valid\",[],\"NV8\"],[[4447,4448],\"disallowed\"],[[4449,4514],\"valid\",[],\"NV8\"],[[4515,4519],\"valid\",[],\"NV8\"],[[4520,4601],\"valid\",[],\"NV8\"],[[4602,4607],\"valid\",[],\"NV8\"],[[4608,4614],\"valid\"],[[4615,4615],\"valid\"],[[4616,4678],\"valid\"],[[4679,4679],\"valid\"],[[4680,4680],\"valid\"],[[4681,4681],\"disallowed\"],[[4682,4685],\"valid\"],[[4686,4687],\"disallowed\"],[[4688,4694],\"valid\"],[[4695,4695],\"disallowed\"],[[4696,4696],\"valid\"],[[4697,4697],\"disallowed\"],[[4698,4701],\"valid\"],[[4702,4703],\"disallowed\"],[[4704,4742],\"valid\"],[[4743,4743],\"valid\"],[[4744,4744],\"valid\"],[[4745,4745],\"disallowed\"],[[4746,4749],\"valid\"],[[4750,4751],\"disallowed\"],[[4752,4782],\"valid\"],[[4783,4783],\"valid\"],[[4784,4784],\"valid\"],[[4785,4785],\"disallowed\"],[[4786,4789],\"valid\"],[[4790,4791],\"disallowed\"],[[4792,4798],\"valid\"],[[4799,4799],\"disallowed\"],[[4800,4800],\"valid\"],[[4801,4801],\"disallowed\"],[[4802,4805],\"valid\"],[[4806,4807],\"disallowed\"],[[4808,4814],\"valid\"],[[4815,4815],\"valid\"],[[4816,4822],\"valid\"],[[4823,4823],\"disallowed\"],[[4824,4846],\"valid\"],[[4847,4847],\"valid\"],[[4848,4878],\"valid\"],[[4879,4879],\"valid\"],[[4880,4880],\"valid\"],[[4881,4881],\"disallowed\"],[[4882,4885],\"valid\"],[[4886,4887],\"disallowed\"],[[4888,4894],\"valid\"],[[4895,4895],\"valid\"],[[4896,4934],\"valid\"],[[4935,4935],\"valid\"],[[4936,4954],\"valid\"],[[4955,4956],\"disallowed\"],[[4957,4958],\"valid\"],[[4959,4959],\"valid\"],[[4960,4960],\"valid\",[],\"NV8\"],[[4961,4988],\"valid\",[],\"NV8\"],[[4989,4991],\"disallowed\"],[[4992,5007],\"valid\"],[[5008,5017],\"valid\",[],\"NV8\"],[[5018,5023],\"disallowed\"],[[5024,5108],\"valid\"],[[5109,5109],\"valid\"],[[5110,5111],\"disallowed\"],[[5112,5112],\"mapped\",[5104]],[[5113,5113],\"mapped\",[5105]],[[5114,5114],\"mapped\",[5106]],[[5115,5115],\"mapped\",[5107]],[[5116,5116],\"mapped\",[5108]],[[5117,5117],\"mapped\",[5109]],[[5118,5119],\"disallowed\"],[[5120,5120],\"valid\",[],\"NV8\"],[[5121,5740],\"valid\"],[[5741,5742],\"valid\",[],\"NV8\"],[[5743,5750],\"valid\"],[[5751,5759],\"valid\"],[[5760,5760],\"disallowed\"],[[5761,5786],\"valid\"],[[5787,5788],\"valid\",[],\"NV8\"],[[5789,5791],\"disallowed\"],[[5792,5866],\"valid\"],[[5867,5872],\"valid\",[],\"NV8\"],[[5873,5880],\"valid\"],[[5881,5887],\"disallowed\"],[[5888,5900],\"valid\"],[[5901,5901],\"disallowed\"],[[5902,5908],\"valid\"],[[5909,5919],\"disallowed\"],[[5920,5940],\"valid\"],[[5941,5942],\"valid\",[],\"NV8\"],[[5943,5951],\"disallowed\"],[[5952,5971],\"valid\"],[[5972,5983],\"disallowed\"],[[5984,5996],\"valid\"],[[5997,5997],\"disallowed\"],[[5998,6000],\"valid\"],[[6001,6001],\"disallowed\"],[[6002,6003],\"valid\"],[[6004,6015],\"disallowed\"],[[6016,6067],\"valid\"],[[6068,6069],\"disallowed\"],[[6070,6099],\"valid\"],[[6100,6102],\"valid\",[],\"NV8\"],[[6103,6103],\"valid\"],[[6104,6107],\"valid\",[],\"NV8\"],[[6108,6108],\"valid\"],[[6109,6109],\"valid\"],[[6110,6111],\"disallowed\"],[[6112,6121],\"valid\"],[[6122,6127],\"disallowed\"],[[6128,6137],\"valid\",[],\"NV8\"],[[6138,6143],\"disallowed\"],[[6144,6149],\"valid\",[],\"NV8\"],[[6150,6150],\"disallowed\"],[[6151,6154],\"valid\",[],\"NV8\"],[[6155,6157],\"ignored\"],[[6158,6158],\"disallowed\"],[[6159,6159],\"disallowed\"],[[6160,6169],\"valid\"],[[6170,6175],\"disallowed\"],[[6176,6263],\"valid\"],[[6264,6271],\"disallowed\"],[[6272,6313],\"valid\"],[[6314,6314],\"valid\"],[[6315,6319],\"disallowed\"],[[6320,6389],\"valid\"],[[6390,6399],\"disallowed\"],[[6400,6428],\"valid\"],[[6429,6430],\"valid\"],[[6431,6431],\"disallowed\"],[[6432,6443],\"valid\"],[[6444,6447],\"disallowed\"],[[6448,6459],\"valid\"],[[6460,6463],\"disallowed\"],[[6464,6464],\"valid\",[],\"NV8\"],[[6465,6467],\"disallowed\"],[[6468,6469],\"valid\",[],\"NV8\"],[[6470,6509],\"valid\"],[[6510,6511],\"disallowed\"],[[6512,6516],\"valid\"],[[6517,6527],\"disallowed\"],[[6528,6569],\"valid\"],[[6570,6571],\"valid\"],[[6572,6575],\"disallowed\"],[[6576,6601],\"valid\"],[[6602,6607],\"disallowed\"],[[6608,6617],\"valid\"],[[6618,6618],\"valid\",[],\"XV8\"],[[6619,6621],\"disallowed\"],[[6622,6623],\"valid\",[],\"NV8\"],[[6624,6655],\"valid\",[],\"NV8\"],[[6656,6683],\"valid\"],[[6684,6685],\"disallowed\"],[[6686,6687],\"valid\",[],\"NV8\"],[[6688,6750],\"valid\"],[[6751,6751],\"disallowed\"],[[6752,6780],\"valid\"],[[6781,6782],\"disallowed\"],[[6783,6793],\"valid\"],[[6794,6799],\"disallowed\"],[[6800,6809],\"valid\"],[[6810,6815],\"disallowed\"],[[6816,6822],\"valid\",[],\"NV8\"],[[6823,6823],\"valid\"],[[6824,6829],\"valid\",[],\"NV8\"],[[6830,6831],\"disallowed\"],[[6832,6845],\"valid\"],[[6846,6846],\"valid\",[],\"NV8\"],[[6847,6911],\"disallowed\"],[[6912,6987],\"valid\"],[[6988,6991],\"disallowed\"],[[6992,7001],\"valid\"],[[7002,7018],\"valid\",[],\"NV8\"],[[7019,7027],\"valid\"],[[7028,7036],\"valid\",[],\"NV8\"],[[7037,7039],\"disallowed\"],[[7040,7082],\"valid\"],[[7083,7085],\"valid\"],[[7086,7097],\"valid\"],[[7098,7103],\"valid\"],[[7104,7155],\"valid\"],[[7156,7163],\"disallowed\"],[[7164,7167],\"valid\",[],\"NV8\"],[[7168,7223],\"valid\"],[[7224,7226],\"disallowed\"],[[7227,7231],\"valid\",[],\"NV8\"],[[7232,7241],\"valid\"],[[7242,7244],\"disallowed\"],[[7245,7293],\"valid\"],[[7294,7295],\"valid\",[],\"NV8\"],[[7296,7359],\"disallowed\"],[[7360,7367],\"valid\",[],\"NV8\"],[[7368,7375],\"disallowed\"],[[7376,7378],\"valid\"],[[7379,7379],\"valid\",[],\"NV8\"],[[7380,7410],\"valid\"],[[7411,7414],\"valid\"],[[7415,7415],\"disallowed\"],[[7416,7417],\"valid\"],[[7418,7423],\"disallowed\"],[[7424,7467],\"valid\"],[[7468,7468],\"mapped\",[97]],[[7469,7469],\"mapped\",[230]],[[7470,7470],\"mapped\",[98]],[[7471,7471],\"valid\"],[[7472,7472],\"mapped\",[100]],[[7473,7473],\"mapped\",[101]],[[7474,7474],\"mapped\",[477]],[[7475,7475],\"mapped\",[103]],[[7476,7476],\"mapped\",[104]],[[7477,7477],\"mapped\",[105]],[[7478,7478],\"mapped\",[106]],[[7479,7479],\"mapped\",[107]],[[7480,7480],\"mapped\",[108]],[[7481,7481],\"mapped\",[109]],[[7482,7482],\"mapped\",[110]],[[7483,7483],\"valid\"],[[7484,7484],\"mapped\",[111]],[[7485,7485],\"mapped\",[547]],[[7486,7486],\"mapped\",[112]],[[7487,7487],\"mapped\",[114]],[[7488,7488],\"mapped\",[116]],[[7489,7489],\"mapped\",[117]],[[7490,7490],\"mapped\",[119]],[[7491,7491],\"mapped\",[97]],[[7492,7492],\"mapped\",[592]],[[7493,7493],\"mapped\",[593]],[[7494,7494],\"mapped\",[7426]],[[7495,7495],\"mapped\",[98]],[[7496,7496],\"mapped\",[100]],[[7497,7497],\"mapped\",[101]],[[7498,7498],\"mapped\",[601]],[[7499,7499],\"mapped\",[603]],[[7500,7500],\"mapped\",[604]],[[7501,7501],\"mapped\",[103]],[[7502,7502],\"valid\"],[[7503,7503],\"mapped\",[107]],[[7504,7504],\"mapped\",[109]],[[7505,7505],\"mapped\",[331]],[[7506,7506],\"mapped\",[111]],[[7507,7507],\"mapped\",[596]],[[7508,7508],\"mapped\",[7446]],[[7509,7509],\"mapped\",[7447]],[[7510,7510],\"mapped\",[112]],[[7511,7511],\"mapped\",[116]],[[7512,7512],\"mapped\",[117]],[[7513,7513],\"mapped\",[7453]],[[7514,7514],\"mapped\",[623]],[[7515,7515],\"mapped\",[118]],[[7516,7516],\"mapped\",[7461]],[[7517,7517],\"mapped\",[946]],[[7518,7518],\"mapped\",[947]],[[7519,7519],\"mapped\",[948]],[[7520,7520],\"mapped\",[966]],[[7521,7521],\"mapped\",[967]],[[7522,7522],\"mapped\",[105]],[[7523,7523],\"mapped\",[114]],[[7524,7524],\"mapped\",[117]],[[7525,7525],\"mapped\",[118]],[[7526,7526],\"mapped\",[946]],[[7527,7527],\"mapped\",[947]],[[7528,7528],\"mapped\",[961]],[[7529,7529],\"mapped\",[966]],[[7530,7530],\"mapped\",[967]],[[7531,7531],\"valid\"],[[7532,7543],\"valid\"],[[7544,7544],\"mapped\",[1085]],[[7545,7578],\"valid\"],[[7579,7579],\"mapped\",[594]],[[7580,7580],\"mapped\",[99]],[[7581,7581],\"mapped\",[597]],[[7582,7582],\"mapped\",[240]],[[7583,7583],\"mapped\",[604]],[[7584,7584],\"mapped\",[102]],[[7585,7585],\"mapped\",[607]],[[7586,7586],\"mapped\",[609]],[[7587,7587],\"mapped\",[613]],[[7588,7588],\"mapped\",[616]],[[7589,7589],\"mapped\",[617]],[[7590,7590],\"mapped\",[618]],[[7591,7591],\"mapped\",[7547]],[[7592,7592],\"mapped\",[669]],[[7593,7593],\"mapped\",[621]],[[7594,7594],\"mapped\",[7557]],[[7595,7595],\"mapped\",[671]],[[7596,7596],\"mapped\",[625]],[[7597,7597],\"mapped\",[624]],[[7598,7598],\"mapped\",[626]],[[7599,7599],\"mapped\",[627]],[[7600,7600],\"mapped\",[628]],[[7601,7601],\"mapped\",[629]],[[7602,7602],\"mapped\",[632]],[[7603,7603],\"mapped\",[642]],[[7604,7604],\"mapped\",[643]],[[7605,7605],\"mapped\",[427]],[[7606,7606],\"mapped\",[649]],[[7607,7607],\"mapped\",[650]],[[7608,7608],\"mapped\",[7452]],[[7609,7609],\"mapped\",[651]],[[7610,7610],\"mapped\",[652]],[[7611,7611],\"mapped\",[122]],[[7612,7612],\"mapped\",[656]],[[7613,7613],\"mapped\",[657]],[[7614,7614],\"mapped\",[658]],[[7615,7615],\"mapped\",[952]],[[7616,7619],\"valid\"],[[7620,7626],\"valid\"],[[7627,7654],\"valid\"],[[7655,7669],\"valid\"],[[7670,7675],\"disallowed\"],[[7676,7676],\"valid\"],[[7677,7677],\"valid\"],[[7678,7679],\"valid\"],[[7680,7680],\"mapped\",[7681]],[[7681,7681],\"valid\"],[[7682,7682],\"mapped\",[7683]],[[7683,7683],\"valid\"],[[7684,7684],\"mapped\",[7685]],[[7685,7685],\"valid\"],[[7686,7686],\"mapped\",[7687]],[[7687,7687],\"valid\"],[[7688,7688],\"mapped\",[7689]],[[7689,7689],\"valid\"],[[7690,7690],\"mapped\",[7691]],[[7691,7691],\"valid\"],[[7692,7692],\"mapped\",[7693]],[[7693,7693],\"valid\"],[[7694,7694],\"mapped\",[7695]],[[7695,7695],\"valid\"],[[7696,7696],\"mapped\",[7697]],[[7697,7697],\"valid\"],[[7698,7698],\"mapped\",[7699]],[[7699,7699],\"valid\"],[[7700,7700],\"mapped\",[7701]],[[7701,7701],\"valid\"],[[7702,7702],\"mapped\",[7703]],[[7703,7703],\"valid\"],[[7704,7704],\"mapped\",[7705]],[[7705,7705],\"valid\"],[[7706,7706],\"mapped\",[7707]],[[7707,7707],\"valid\"],[[7708,7708],\"mapped\",[7709]],[[7709,7709],\"valid\"],[[7710,7710],\"mapped\",[7711]],[[7711,7711],\"valid\"],[[7712,7712],\"mapped\",[7713]],[[7713,7713],\"valid\"],[[7714,7714],\"mapped\",[7715]],[[7715,7715],\"valid\"],[[7716,7716],\"mapped\",[7717]],[[7717,7717],\"valid\"],[[7718,7718],\"mapped\",[7719]],[[7719,7719],\"valid\"],[[7720,7720],\"mapped\",[7721]],[[7721,7721],\"valid\"],[[7722,7722],\"mapped\",[7723]],[[7723,7723],\"valid\"],[[7724,7724],\"mapped\",[7725]],[[7725,7725],\"valid\"],[[7726,7726],\"mapped\",[7727]],[[7727,7727],\"valid\"],[[7728,7728],\"mapped\",[7729]],[[7729,7729],\"valid\"],[[7730,7730],\"mapped\",[7731]],[[7731,7731],\"valid\"],[[7732,7732],\"mapped\",[7733]],[[7733,7733],\"valid\"],[[7734,7734],\"mapped\",[7735]],[[7735,7735],\"valid\"],[[7736,7736],\"mapped\",[7737]],[[7737,7737],\"valid\"],[[7738,7738],\"mapped\",[7739]],[[7739,7739],\"valid\"],[[7740,7740],\"mapped\",[7741]],[[7741,7741],\"valid\"],[[7742,7742],\"mapped\",[7743]],[[7743,7743],\"valid\"],[[7744,7744],\"mapped\",[7745]],[[7745,7745],\"valid\"],[[7746,7746],\"mapped\",[7747]],[[7747,7747],\"valid\"],[[7748,7748],\"mapped\",[7749]],[[7749,7749],\"valid\"],[[7750,7750],\"mapped\",[7751]],[[7751,7751],\"valid\"],[[7752,7752],\"mapped\",[7753]],[[7753,7753],\"valid\"],[[7754,7754],\"mapped\",[7755]],[[7755,7755],\"valid\"],[[7756,7756],\"mapped\",[7757]],[[7757,7757],\"valid\"],[[7758,7758],\"mapped\",[7759]],[[7759,7759],\"valid\"],[[7760,7760],\"mapped\",[7761]],[[7761,7761],\"valid\"],[[7762,7762],\"mapped\",[7763]],[[7763,7763],\"valid\"],[[7764,7764],\"mapped\",[7765]],[[7765,7765],\"valid\"],[[7766,7766],\"mapped\",[7767]],[[7767,7767],\"valid\"],[[7768,7768],\"mapped\",[7769]],[[7769,7769],\"valid\"],[[7770,7770],\"mapped\",[7771]],[[7771,7771],\"valid\"],[[7772,7772],\"mapped\",[7773]],[[7773,7773],\"valid\"],[[7774,7774],\"mapped\",[7775]],[[7775,7775],\"valid\"],[[7776,7776],\"mapped\",[7777]],[[7777,7777],\"valid\"],[[7778,7778],\"mapped\",[7779]],[[7779,7779],\"valid\"],[[7780,7780],\"mapped\",[7781]],[[7781,7781],\"valid\"],[[7782,7782],\"mapped\",[7783]],[[7783,7783],\"valid\"],[[7784,7784],\"mapped\",[7785]],[[7785,7785],\"valid\"],[[7786,7786],\"mapped\",[7787]],[[7787,7787],\"valid\"],[[7788,7788],\"mapped\",[7789]],[[7789,7789],\"valid\"],[[7790,7790],\"mapped\",[7791]],[[7791,7791],\"valid\"],[[7792,7792],\"mapped\",[7793]],[[7793,7793],\"valid\"],[[7794,7794],\"mapped\",[7795]],[[7795,7795],\"valid\"],[[7796,7796],\"mapped\",[7797]],[[7797,7797],\"valid\"],[[7798,7798],\"mapped\",[7799]],[[7799,7799],\"valid\"],[[7800,7800],\"mapped\",[7801]],[[7801,7801],\"valid\"],[[7802,7802],\"mapped\",[7803]],[[7803,7803],\"valid\"],[[7804,7804],\"mapped\",[7805]],[[7805,7805],\"valid\"],[[7806,7806],\"mapped\",[7807]],[[7807,7807],\"valid\"],[[7808,7808],\"mapped\",[7809]],[[7809,7809],\"valid\"],[[7810,7810],\"mapped\",[7811]],[[7811,7811],\"valid\"],[[7812,7812],\"mapped\",[7813]],[[7813,7813],\"valid\"],[[7814,7814],\"mapped\",[7815]],[[7815,7815],\"valid\"],[[7816,7816],\"mapped\",[7817]],[[7817,7817],\"valid\"],[[7818,7818],\"mapped\",[7819]],[[7819,7819],\"valid\"],[[7820,7820],\"mapped\",[7821]],[[7821,7821],\"valid\"],[[7822,7822],\"mapped\",[7823]],[[7823,7823],\"valid\"],[[7824,7824],\"mapped\",[7825]],[[7825,7825],\"valid\"],[[7826,7826],\"mapped\",[7827]],[[7827,7827],\"valid\"],[[7828,7828],\"mapped\",[7829]],[[7829,7833],\"valid\"],[[7834,7834],\"mapped\",[97,702]],[[7835,7835],\"mapped\",[7777]],[[7836,7837],\"valid\"],[[7838,7838],\"mapped\",[115,115]],[[7839,7839],\"valid\"],[[7840,7840],\"mapped\",[7841]],[[7841,7841],\"valid\"],[[7842,7842],\"mapped\",[7843]],[[7843,7843],\"valid\"],[[7844,7844],\"mapped\",[7845]],[[7845,7845],\"valid\"],[[7846,7846],\"mapped\",[7847]],[[7847,7847],\"valid\"],[[7848,7848],\"mapped\",[7849]],[[7849,7849],\"valid\"],[[7850,7850],\"mapped\",[7851]],[[7851,7851],\"valid\"],[[7852,7852],\"mapped\",[7853]],[[7853,7853],\"valid\"],[[7854,7854],\"mapped\",[7855]],[[7855,7855],\"valid\"],[[7856,7856],\"mapped\",[7857]],[[7857,7857],\"valid\"],[[7858,7858],\"mapped\",[7859]],[[7859,7859],\"valid\"],[[7860,7860],\"mapped\",[7861]],[[7861,7861],\"valid\"],[[7862,7862],\"mapped\",[7863]],[[7863,7863],\"valid\"],[[7864,7864],\"mapped\",[7865]],[[7865,7865],\"valid\"],[[7866,7866],\"mapped\",[7867]],[[7867,7867],\"valid\"],[[7868,7868],\"mapped\",[7869]],[[7869,7869],\"valid\"],[[7870,7870],\"mapped\",[7871]],[[7871,7871],\"valid\"],[[7872,7872],\"mapped\",[7873]],[[7873,7873],\"valid\"],[[7874,7874],\"mapped\",[7875]],[[7875,7875],\"valid\"],[[7876,7876],\"mapped\",[7877]],[[7877,7877],\"valid\"],[[7878,7878],\"mapped\",[7879]],[[7879,7879],\"valid\"],[[7880,7880],\"mapped\",[7881]],[[7881,7881],\"valid\"],[[7882,7882],\"mapped\",[7883]],[[7883,7883],\"valid\"],[[7884,7884],\"mapped\",[7885]],[[7885,7885],\"valid\"],[[7886,7886],\"mapped\",[7887]],[[7887,7887],\"valid\"],[[7888,7888],\"mapped\",[7889]],[[7889,7889],\"valid\"],[[7890,7890],\"mapped\",[7891]],[[7891,7891],\"valid\"],[[7892,7892],\"mapped\",[7893]],[[7893,7893],\"valid\"],[[7894,7894],\"mapped\",[7895]],[[7895,7895],\"valid\"],[[7896,7896],\"mapped\",[7897]],[[7897,7897],\"valid\"],[[7898,7898],\"mapped\",[7899]],[[7899,7899],\"valid\"],[[7900,7900],\"mapped\",[7901]],[[7901,7901],\"valid\"],[[7902,7902],\"mapped\",[7903]],[[7903,7903],\"valid\"],[[7904,7904],\"mapped\",[7905]],[[7905,7905],\"valid\"],[[7906,7906],\"mapped\",[7907]],[[7907,7907],\"valid\"],[[7908,7908],\"mapped\",[7909]],[[7909,7909],\"valid\"],[[7910,7910],\"mapped\",[7911]],[[7911,7911],\"valid\"],[[7912,7912],\"mapped\",[7913]],[[7913,7913],\"valid\"],[[7914,7914],\"mapped\",[7915]],[[7915,7915],\"valid\"],[[7916,7916],\"mapped\",[7917]],[[7917,7917],\"valid\"],[[7918,7918],\"mapped\",[7919]],[[7919,7919],\"valid\"],[[7920,7920],\"mapped\",[7921]],[[7921,7921],\"valid\"],[[7922,7922],\"mapped\",[7923]],[[7923,7923],\"valid\"],[[7924,7924],\"mapped\",[7925]],[[7925,7925],\"valid\"],[[7926,7926],\"mapped\",[7927]],[[7927,7927],\"valid\"],[[7928,7928],\"mapped\",[7929]],[[7929,7929],\"valid\"],[[7930,7930],\"mapped\",[7931]],[[7931,7931],\"valid\"],[[7932,7932],\"mapped\",[7933]],[[7933,7933],\"valid\"],[[7934,7934],\"mapped\",[7935]],[[7935,7935],\"valid\"],[[7936,7943],\"valid\"],[[7944,7944],\"mapped\",[7936]],[[7945,7945],\"mapped\",[7937]],[[7946,7946],\"mapped\",[7938]],[[7947,7947],\"mapped\",[7939]],[[7948,7948],\"mapped\",[7940]],[[7949,7949],\"mapped\",[7941]],[[7950,7950],\"mapped\",[7942]],[[7951,7951],\"mapped\",[7943]],[[7952,7957],\"valid\"],[[7958,7959],\"disallowed\"],[[7960,7960],\"mapped\",[7952]],[[7961,7961],\"mapped\",[7953]],[[7962,7962],\"mapped\",[7954]],[[7963,7963],\"mapped\",[7955]],[[7964,7964],\"mapped\",[7956]],[[7965,7965],\"mapped\",[7957]],[[7966,7967],\"disallowed\"],[[7968,7975],\"valid\"],[[7976,7976],\"mapped\",[7968]],[[7977,7977],\"mapped\",[7969]],[[7978,7978],\"mapped\",[7970]],[[7979,7979],\"mapped\",[7971]],[[7980,7980],\"mapped\",[7972]],[[7981,7981],\"mapped\",[7973]],[[7982,7982],\"mapped\",[7974]],[[7983,7983],\"mapped\",[7975]],[[7984,7991],\"valid\"],[[7992,7992],\"mapped\",[7984]],[[7993,7993],\"mapped\",[7985]],[[7994,7994],\"mapped\",[7986]],[[7995,7995],\"mapped\",[7987]],[[7996,7996],\"mapped\",[7988]],[[7997,7997],\"mapped\",[7989]],[[7998,7998],\"mapped\",[7990]],[[7999,7999],\"mapped\",[7991]],[[8000,8005],\"valid\"],[[8006,8007],\"disallowed\"],[[8008,8008],\"mapped\",[8000]],[[8009,8009],\"mapped\",[8001]],[[8010,8010],\"mapped\",[8002]],[[8011,8011],\"mapped\",[8003]],[[8012,8012],\"mapped\",[8004]],[[8013,8013],\"mapped\",[8005]],[[8014,8015],\"disallowed\"],[[8016,8023],\"valid\"],[[8024,8024],\"disallowed\"],[[8025,8025],\"mapped\",[8017]],[[8026,8026],\"disallowed\"],[[8027,8027],\"mapped\",[8019]],[[8028,8028],\"disallowed\"],[[8029,8029],\"mapped\",[8021]],[[8030,8030],\"disallowed\"],[[8031,8031],\"mapped\",[8023]],[[8032,8039],\"valid\"],[[8040,8040],\"mapped\",[8032]],[[8041,8041],\"mapped\",[8033]],[[8042,8042],\"mapped\",[8034]],[[8043,8043],\"mapped\",[8035]],[[8044,8044],\"mapped\",[8036]],[[8045,8045],\"mapped\",[8037]],[[8046,8046],\"mapped\",[8038]],[[8047,8047],\"mapped\",[8039]],[[8048,8048],\"valid\"],[[8049,8049],\"mapped\",[940]],[[8050,8050],\"valid\"],[[8051,8051],\"mapped\",[941]],[[8052,8052],\"valid\"],[[8053,8053],\"mapped\",[942]],[[8054,8054],\"valid\"],[[8055,8055],\"mapped\",[943]],[[8056,8056],\"valid\"],[[8057,8057],\"mapped\",[972]],[[8058,8058],\"valid\"],[[8059,8059],\"mapped\",[973]],[[8060,8060],\"valid\"],[[8061,8061],\"mapped\",[974]],[[8062,8063],\"disallowed\"],[[8064,8064],\"mapped\",[7936,953]],[[8065,8065],\"mapped\",[7937,953]],[[8066,8066],\"mapped\",[7938,953]],[[8067,8067],\"mapped\",[7939,953]],[[8068,8068],\"mapped\",[7940,953]],[[8069,8069],\"mapped\",[7941,953]],[[8070,8070],\"mapped\",[7942,953]],[[8071,8071],\"mapped\",[7943,953]],[[8072,8072],\"mapped\",[7936,953]],[[8073,8073],\"mapped\",[7937,953]],[[8074,8074],\"mapped\",[7938,953]],[[8075,8075],\"mapped\",[7939,953]],[[8076,8076],\"mapped\",[7940,953]],[[8077,8077],\"mapped\",[7941,953]],[[8078,8078],\"mapped\",[7942,953]],[[8079,8079],\"mapped\",[7943,953]],[[8080,8080],\"mapped\",[7968,953]],[[8081,8081],\"mapped\",[7969,953]],[[8082,8082],\"mapped\",[7970,953]],[[8083,8083],\"mapped\",[7971,953]],[[8084,8084],\"mapped\",[7972,953]],[[8085,8085],\"mapped\",[7973,953]],[[8086,8086],\"mapped\",[7974,953]],[[8087,8087],\"mapped\",[7975,953]],[[8088,8088],\"mapped\",[7968,953]],[[8089,8089],\"mapped\",[7969,953]],[[8090,8090],\"mapped\",[7970,953]],[[8091,8091],\"mapped\",[7971,953]],[[8092,8092],\"mapped\",[7972,953]],[[8093,8093],\"mapped\",[7973,953]],[[8094,8094],\"mapped\",[7974,953]],[[8095,8095],\"mapped\",[7975,953]],[[8096,8096],\"mapped\",[8032,953]],[[8097,8097],\"mapped\",[8033,953]],[[8098,8098],\"mapped\",[8034,953]],[[8099,8099],\"mapped\",[8035,953]],[[8100,8100],\"mapped\",[8036,953]],[[8101,8101],\"mapped\",[8037,953]],[[8102,8102],\"mapped\",[8038,953]],[[8103,8103],\"mapped\",[8039,953]],[[8104,8104],\"mapped\",[8032,953]],[[8105,8105],\"mapped\",[8033,953]],[[8106,8106],\"mapped\",[8034,953]],[[8107,8107],\"mapped\",[8035,953]],[[8108,8108],\"mapped\",[8036,953]],[[8109,8109],\"mapped\",[8037,953]],[[8110,8110],\"mapped\",[8038,953]],[[8111,8111],\"mapped\",[8039,953]],[[8112,8113],\"valid\"],[[8114,8114],\"mapped\",[8048,953]],[[8115,8115],\"mapped\",[945,953]],[[8116,8116],\"mapped\",[940,953]],[[8117,8117],\"disallowed\"],[[8118,8118],\"valid\"],[[8119,8119],\"mapped\",[8118,953]],[[8120,8120],\"mapped\",[8112]],[[8121,8121],\"mapped\",[8113]],[[8122,8122],\"mapped\",[8048]],[[8123,8123],\"mapped\",[940]],[[8124,8124],\"mapped\",[945,953]],[[8125,8125],\"disallowed_STD3_mapped\",[32,787]],[[8126,8126],\"mapped\",[953]],[[8127,8127],\"disallowed_STD3_mapped\",[32,787]],[[8128,8128],\"disallowed_STD3_mapped\",[32,834]],[[8129,8129],\"disallowed_STD3_mapped\",[32,776,834]],[[8130,8130],\"mapped\",[8052,953]],[[8131,8131],\"mapped\",[951,953]],[[8132,8132],\"mapped\",[942,953]],[[8133,8133],\"disallowed\"],[[8134,8134],\"valid\"],[[8135,8135],\"mapped\",[8134,953]],[[8136,8136],\"mapped\",[8050]],[[8137,8137],\"mapped\",[941]],[[8138,8138],\"mapped\",[8052]],[[8139,8139],\"mapped\",[942]],[[8140,8140],\"mapped\",[951,953]],[[8141,8141],\"disallowed_STD3_mapped\",[32,787,768]],[[8142,8142],\"disallowed_STD3_mapped\",[32,787,769]],[[8143,8143],\"disallowed_STD3_mapped\",[32,787,834]],[[8144,8146],\"valid\"],[[8147,8147],\"mapped\",[912]],[[8148,8149],\"disallowed\"],[[8150,8151],\"valid\"],[[8152,8152],\"mapped\",[8144]],[[8153,8153],\"mapped\",[8145]],[[8154,8154],\"mapped\",[8054]],[[8155,8155],\"mapped\",[943]],[[8156,8156],\"disallowed\"],[[8157,8157],\"disallowed_STD3_mapped\",[32,788,768]],[[8158,8158],\"disallowed_STD3_mapped\",[32,788,769]],[[8159,8159],\"disallowed_STD3_mapped\",[32,788,834]],[[8160,8162],\"valid\"],[[8163,8163],\"mapped\",[944]],[[8164,8167],\"valid\"],[[8168,8168],\"mapped\",[8160]],[[8169,8169],\"mapped\",[8161]],[[8170,8170],\"mapped\",[8058]],[[8171,8171],\"mapped\",[973]],[[8172,8172],\"mapped\",[8165]],[[8173,8173],\"disallowed_STD3_mapped\",[32,776,768]],[[8174,8174],\"disallowed_STD3_mapped\",[32,776,769]],[[8175,8175],\"disallowed_STD3_mapped\",[96]],[[8176,8177],\"disallowed\"],[[8178,8178],\"mapped\",[8060,953]],[[8179,8179],\"mapped\",[969,953]],[[8180,8180],\"mapped\",[974,953]],[[8181,8181],\"disallowed\"],[[8182,8182],\"valid\"],[[8183,8183],\"mapped\",[8182,953]],[[8184,8184],\"mapped\",[8056]],[[8185,8185],\"mapped\",[972]],[[8186,8186],\"mapped\",[8060]],[[8187,8187],\"mapped\",[974]],[[8188,8188],\"mapped\",[969,953]],[[8189,8189],\"disallowed_STD3_mapped\",[32,769]],[[8190,8190],\"disallowed_STD3_mapped\",[32,788]],[[8191,8191],\"disallowed\"],[[8192,8202],\"disallowed_STD3_mapped\",[32]],[[8203,8203],\"ignored\"],[[8204,8205],\"deviation\",[]],[[8206,8207],\"disallowed\"],[[8208,8208],\"valid\",[],\"NV8\"],[[8209,8209],\"mapped\",[8208]],[[8210,8214],\"valid\",[],\"NV8\"],[[8215,8215],\"disallowed_STD3_mapped\",[32,819]],[[8216,8227],\"valid\",[],\"NV8\"],[[8228,8230],\"disallowed\"],[[8231,8231],\"valid\",[],\"NV8\"],[[8232,8238],\"disallowed\"],[[8239,8239],\"disallowed_STD3_mapped\",[32]],[[8240,8242],\"valid\",[],\"NV8\"],[[8243,8243],\"mapped\",[8242,8242]],[[8244,8244],\"mapped\",[8242,8242,8242]],[[8245,8245],\"valid\",[],\"NV8\"],[[8246,8246],\"mapped\",[8245,8245]],[[8247,8247],\"mapped\",[8245,8245,8245]],[[8248,8251],\"valid\",[],\"NV8\"],[[8252,8252],\"disallowed_STD3_mapped\",[33,33]],[[8253,8253],\"valid\",[],\"NV8\"],[[8254,8254],\"disallowed_STD3_mapped\",[32,773]],[[8255,8262],\"valid\",[],\"NV8\"],[[8263,8263],\"disallowed_STD3_mapped\",[63,63]],[[8264,8264],\"disallowed_STD3_mapped\",[63,33]],[[8265,8265],\"disallowed_STD3_mapped\",[33,63]],[[8266,8269],\"valid\",[],\"NV8\"],[[8270,8274],\"valid\",[],\"NV8\"],[[8275,8276],\"valid\",[],\"NV8\"],[[8277,8278],\"valid\",[],\"NV8\"],[[8279,8279],\"mapped\",[8242,8242,8242,8242]],[[8280,8286],\"valid\",[],\"NV8\"],[[8287,8287],\"disallowed_STD3_mapped\",[32]],[[8288,8288],\"ignored\"],[[8289,8291],\"disallowed\"],[[8292,8292],\"ignored\"],[[8293,8293],\"disallowed\"],[[8294,8297],\"disallowed\"],[[8298,8303],\"disallowed\"],[[8304,8304],\"mapped\",[48]],[[8305,8305],\"mapped\",[105]],[[8306,8307],\"disallowed\"],[[8308,8308],\"mapped\",[52]],[[8309,8309],\"mapped\",[53]],[[8310,8310],\"mapped\",[54]],[[8311,8311],\"mapped\",[55]],[[8312,8312],\"mapped\",[56]],[[8313,8313],\"mapped\",[57]],[[8314,8314],\"disallowed_STD3_mapped\",[43]],[[8315,8315],\"mapped\",[8722]],[[8316,8316],\"disallowed_STD3_mapped\",[61]],[[8317,8317],\"disallowed_STD3_mapped\",[40]],[[8318,8318],\"disallowed_STD3_mapped\",[41]],[[8319,8319],\"mapped\",[110]],[[8320,8320],\"mapped\",[48]],[[8321,8321],\"mapped\",[49]],[[8322,8322],\"mapped\",[50]],[[8323,8323],\"mapped\",[51]],[[8324,8324],\"mapped\",[52]],[[8325,8325],\"mapped\",[53]],[[8326,8326],\"mapped\",[54]],[[8327,8327],\"mapped\",[55]],[[8328,8328],\"mapped\",[56]],[[8329,8329],\"mapped\",[57]],[[8330,8330],\"disallowed_STD3_mapped\",[43]],[[8331,8331],\"mapped\",[8722]],[[8332,8332],\"disallowed_STD3_mapped\",[61]],[[8333,8333],\"disallowed_STD3_mapped\",[40]],[[8334,8334],\"disallowed_STD3_mapped\",[41]],[[8335,8335],\"disallowed\"],[[8336,8336],\"mapped\",[97]],[[8337,8337],\"mapped\",[101]],[[8338,8338],\"mapped\",[111]],[[8339,8339],\"mapped\",[120]],[[8340,8340],\"mapped\",[601]],[[8341,8341],\"mapped\",[104]],[[8342,8342],\"mapped\",[107]],[[8343,8343],\"mapped\",[108]],[[8344,8344],\"mapped\",[109]],[[8345,8345],\"mapped\",[110]],[[8346,8346],\"mapped\",[112]],[[8347,8347],\"mapped\",[115]],[[8348,8348],\"mapped\",[116]],[[8349,8351],\"disallowed\"],[[8352,8359],\"valid\",[],\"NV8\"],[[8360,8360],\"mapped\",[114,115]],[[8361,8362],\"valid\",[],\"NV8\"],[[8363,8363],\"valid\",[],\"NV8\"],[[8364,8364],\"valid\",[],\"NV8\"],[[8365,8367],\"valid\",[],\"NV8\"],[[8368,8369],\"valid\",[],\"NV8\"],[[8370,8373],\"valid\",[],\"NV8\"],[[8374,8376],\"valid\",[],\"NV8\"],[[8377,8377],\"valid\",[],\"NV8\"],[[8378,8378],\"valid\",[],\"NV8\"],[[8379,8381],\"valid\",[],\"NV8\"],[[8382,8382],\"valid\",[],\"NV8\"],[[8383,8399],\"disallowed\"],[[8400,8417],\"valid\",[],\"NV8\"],[[8418,8419],\"valid\",[],\"NV8\"],[[8420,8426],\"valid\",[],\"NV8\"],[[8427,8427],\"valid\",[],\"NV8\"],[[8428,8431],\"valid\",[],\"NV8\"],[[8432,8432],\"valid\",[],\"NV8\"],[[8433,8447],\"disallowed\"],[[8448,8448],\"disallowed_STD3_mapped\",[97,47,99]],[[8449,8449],\"disallowed_STD3_mapped\",[97,47,115]],[[8450,8450],\"mapped\",[99]],[[8451,8451],\"mapped\",[176,99]],[[8452,8452],\"valid\",[],\"NV8\"],[[8453,8453],\"disallowed_STD3_mapped\",[99,47,111]],[[8454,8454],\"disallowed_STD3_mapped\",[99,47,117]],[[8455,8455],\"mapped\",[603]],[[8456,8456],\"valid\",[],\"NV8\"],[[8457,8457],\"mapped\",[176,102]],[[8458,8458],\"mapped\",[103]],[[8459,8462],\"mapped\",[104]],[[8463,8463],\"mapped\",[295]],[[8464,8465],\"mapped\",[105]],[[8466,8467],\"mapped\",[108]],[[8468,8468],\"valid\",[],\"NV8\"],[[8469,8469],\"mapped\",[110]],[[8470,8470],\"mapped\",[110,111]],[[8471,8472],\"valid\",[],\"NV8\"],[[8473,8473],\"mapped\",[112]],[[8474,8474],\"mapped\",[113]],[[8475,8477],\"mapped\",[114]],[[8478,8479],\"valid\",[],\"NV8\"],[[8480,8480],\"mapped\",[115,109]],[[8481,8481],\"mapped\",[116,101,108]],[[8482,8482],\"mapped\",[116,109]],[[8483,8483],\"valid\",[],\"NV8\"],[[8484,8484],\"mapped\",[122]],[[8485,8485],\"valid\",[],\"NV8\"],[[8486,8486],\"mapped\",[969]],[[8487,8487],\"valid\",[],\"NV8\"],[[8488,8488],\"mapped\",[122]],[[8489,8489],\"valid\",[],\"NV8\"],[[8490,8490],\"mapped\",[107]],[[8491,8491],\"mapped\",[229]],[[8492,8492],\"mapped\",[98]],[[8493,8493],\"mapped\",[99]],[[8494,8494],\"valid\",[],\"NV8\"],[[8495,8496],\"mapped\",[101]],[[8497,8497],\"mapped\",[102]],[[8498,8498],\"disallowed\"],[[8499,8499],\"mapped\",[109]],[[8500,8500],\"mapped\",[111]],[[8501,8501],\"mapped\",[1488]],[[8502,8502],\"mapped\",[1489]],[[8503,8503],\"mapped\",[1490]],[[8504,8504],\"mapped\",[1491]],[[8505,8505],\"mapped\",[105]],[[8506,8506],\"valid\",[],\"NV8\"],[[8507,8507],\"mapped\",[102,97,120]],[[8508,8508],\"mapped\",[960]],[[8509,8510],\"mapped\",[947]],[[8511,8511],\"mapped\",[960]],[[8512,8512],\"mapped\",[8721]],[[8513,8516],\"valid\",[],\"NV8\"],[[8517,8518],\"mapped\",[100]],[[8519,8519],\"mapped\",[101]],[[8520,8520],\"mapped\",[105]],[[8521,8521],\"mapped\",[106]],[[8522,8523],\"valid\",[],\"NV8\"],[[8524,8524],\"valid\",[],\"NV8\"],[[8525,8525],\"valid\",[],\"NV8\"],[[8526,8526],\"valid\"],[[8527,8527],\"valid\",[],\"NV8\"],[[8528,8528],\"mapped\",[49,8260,55]],[[8529,8529],\"mapped\",[49,8260,57]],[[8530,8530],\"mapped\",[49,8260,49,48]],[[8531,8531],\"mapped\",[49,8260,51]],[[8532,8532],\"mapped\",[50,8260,51]],[[8533,8533],\"mapped\",[49,8260,53]],[[8534,8534],\"mapped\",[50,8260,53]],[[8535,8535],\"mapped\",[51,8260,53]],[[8536,8536],\"mapped\",[52,8260,53]],[[8537,8537],\"mapped\",[49,8260,54]],[[8538,8538],\"mapped\",[53,8260,54]],[[8539,8539],\"mapped\",[49,8260,56]],[[8540,8540],\"mapped\",[51,8260,56]],[[8541,8541],\"mapped\",[53,8260,56]],[[8542,8542],\"mapped\",[55,8260,56]],[[8543,8543],\"mapped\",[49,8260]],[[8544,8544],\"mapped\",[105]],[[8545,8545],\"mapped\",[105,105]],[[8546,8546],\"mapped\",[105,105,105]],[[8547,8547],\"mapped\",[105,118]],[[8548,8548],\"mapped\",[118]],[[8549,8549],\"mapped\",[118,105]],[[8550,8550],\"mapped\",[118,105,105]],[[8551,8551],\"mapped\",[118,105,105,105]],[[8552,8552],\"mapped\",[105,120]],[[8553,8553],\"mapped\",[120]],[[8554,8554],\"mapped\",[120,105]],[[8555,8555],\"mapped\",[120,105,105]],[[8556,8556],\"mapped\",[108]],[[8557,8557],\"mapped\",[99]],[[8558,8558],\"mapped\",[100]],[[8559,8559],\"mapped\",[109]],[[8560,8560],\"mapped\",[105]],[[8561,8561],\"mapped\",[105,105]],[[8562,8562],\"mapped\",[105,105,105]],[[8563,8563],\"mapped\",[105,118]],[[8564,8564],\"mapped\",[118]],[[8565,8565],\"mapped\",[118,105]],[[8566,8566],\"mapped\",[118,105,105]],[[8567,8567],\"mapped\",[118,105,105,105]],[[8568,8568],\"mapped\",[105,120]],[[8569,8569],\"mapped\",[120]],[[8570,8570],\"mapped\",[120,105]],[[8571,8571],\"mapped\",[120,105,105]],[[8572,8572],\"mapped\",[108]],[[8573,8573],\"mapped\",[99]],[[8574,8574],\"mapped\",[100]],[[8575,8575],\"mapped\",[109]],[[8576,8578],\"valid\",[],\"NV8\"],[[8579,8579],\"disallowed\"],[[8580,8580],\"valid\"],[[8581,8584],\"valid\",[],\"NV8\"],[[8585,8585],\"mapped\",[48,8260,51]],[[8586,8587],\"valid\",[],\"NV8\"],[[8588,8591],\"disallowed\"],[[8592,8682],\"valid\",[],\"NV8\"],[[8683,8691],\"valid\",[],\"NV8\"],[[8692,8703],\"valid\",[],\"NV8\"],[[8704,8747],\"valid\",[],\"NV8\"],[[8748,8748],\"mapped\",[8747,8747]],[[8749,8749],\"mapped\",[8747,8747,8747]],[[8750,8750],\"valid\",[],\"NV8\"],[[8751,8751],\"mapped\",[8750,8750]],[[8752,8752],\"mapped\",[8750,8750,8750]],[[8753,8799],\"valid\",[],\"NV8\"],[[8800,8800],\"disallowed_STD3_valid\"],[[8801,8813],\"valid\",[],\"NV8\"],[[8814,8815],\"disallowed_STD3_valid\"],[[8816,8945],\"valid\",[],\"NV8\"],[[8946,8959],\"valid\",[],\"NV8\"],[[8960,8960],\"valid\",[],\"NV8\"],[[8961,8961],\"valid\",[],\"NV8\"],[[8962,9000],\"valid\",[],\"NV8\"],[[9001,9001],\"mapped\",[12296]],[[9002,9002],\"mapped\",[12297]],[[9003,9082],\"valid\",[],\"NV8\"],[[9083,9083],\"valid\",[],\"NV8\"],[[9084,9084],\"valid\",[],\"NV8\"],[[9085,9114],\"valid\",[],\"NV8\"],[[9115,9166],\"valid\",[],\"NV8\"],[[9167,9168],\"valid\",[],\"NV8\"],[[9169,9179],\"valid\",[],\"NV8\"],[[9180,9191],\"valid\",[],\"NV8\"],[[9192,9192],\"valid\",[],\"NV8\"],[[9193,9203],\"valid\",[],\"NV8\"],[[9204,9210],\"valid\",[],\"NV8\"],[[9211,9215],\"disallowed\"],[[9216,9252],\"valid\",[],\"NV8\"],[[9253,9254],\"valid\",[],\"NV8\"],[[9255,9279],\"disallowed\"],[[9280,9290],\"valid\",[],\"NV8\"],[[9291,9311],\"disallowed\"],[[9312,9312],\"mapped\",[49]],[[9313,9313],\"mapped\",[50]],[[9314,9314],\"mapped\",[51]],[[9315,9315],\"mapped\",[52]],[[9316,9316],\"mapped\",[53]],[[9317,9317],\"mapped\",[54]],[[9318,9318],\"mapped\",[55]],[[9319,9319],\"mapped\",[56]],[[9320,9320],\"mapped\",[57]],[[9321,9321],\"mapped\",[49,48]],[[9322,9322],\"mapped\",[49,49]],[[9323,9323],\"mapped\",[49,50]],[[9324,9324],\"mapped\",[49,51]],[[9325,9325],\"mapped\",[49,52]],[[9326,9326],\"mapped\",[49,53]],[[9327,9327],\"mapped\",[49,54]],[[9328,9328],\"mapped\",[49,55]],[[9329,9329],\"mapped\",[49,56]],[[9330,9330],\"mapped\",[49,57]],[[9331,9331],\"mapped\",[50,48]],[[9332,9332],\"disallowed_STD3_mapped\",[40,49,41]],[[9333,9333],\"disallowed_STD3_mapped\",[40,50,41]],[[9334,9334],\"disallowed_STD3_mapped\",[40,51,41]],[[9335,9335],\"disallowed_STD3_mapped\",[40,52,41]],[[9336,9336],\"disallowed_STD3_mapped\",[40,53,41]],[[9337,9337],\"disallowed_STD3_mapped\",[40,54,41]],[[9338,9338],\"disallowed_STD3_mapped\",[40,55,41]],[[9339,9339],\"disallowed_STD3_mapped\",[40,56,41]],[[9340,9340],\"disallowed_STD3_mapped\",[40,57,41]],[[9341,9341],\"disallowed_STD3_mapped\",[40,49,48,41]],[[9342,9342],\"disallowed_STD3_mapped\",[40,49,49,41]],[[9343,9343],\"disallowed_STD3_mapped\",[40,49,50,41]],[[9344,9344],\"disallowed_STD3_mapped\",[40,49,51,41]],[[9345,9345],\"disallowed_STD3_mapped\",[40,49,52,41]],[[9346,9346],\"disallowed_STD3_mapped\",[40,49,53,41]],[[9347,9347],\"disallowed_STD3_mapped\",[40,49,54,41]],[[9348,9348],\"disallowed_STD3_mapped\",[40,49,55,41]],[[9349,9349],\"disallowed_STD3_mapped\",[40,49,56,41]],[[9350,9350],\"disallowed_STD3_mapped\",[40,49,57,41]],[[9351,9351],\"disallowed_STD3_mapped\",[40,50,48,41]],[[9352,9371],\"disallowed\"],[[9372,9372],\"disallowed_STD3_mapped\",[40,97,41]],[[9373,9373],\"disallowed_STD3_mapped\",[40,98,41]],[[9374,9374],\"disallowed_STD3_mapped\",[40,99,41]],[[9375,9375],\"disallowed_STD3_mapped\",[40,100,41]],[[9376,9376],\"disallowed_STD3_mapped\",[40,101,41]],[[9377,9377],\"disallowed_STD3_mapped\",[40,102,41]],[[9378,9378],\"disallowed_STD3_mapped\",[40,103,41]],[[9379,9379],\"disallowed_STD3_mapped\",[40,104,41]],[[9380,9380],\"disallowed_STD3_mapped\",[40,105,41]],[[9381,9381],\"disallowed_STD3_mapped\",[40,106,41]],[[9382,9382],\"disallowed_STD3_mapped\",[40,107,41]],[[9383,9383],\"disallowed_STD3_mapped\",[40,108,41]],[[9384,9384],\"disallowed_STD3_mapped\",[40,109,41]],[[9385,9385],\"disallowed_STD3_mapped\",[40,110,41]],[[9386,9386],\"disallowed_STD3_mapped\",[40,111,41]],[[9387,9387],\"disallowed_STD3_mapped\",[40,112,41]],[[9388,9388],\"disallowed_STD3_mapped\",[40,113,41]],[[9389,9389],\"disallowed_STD3_mapped\",[40,114,41]],[[9390,9390],\"disallowed_STD3_mapped\",[40,115,41]],[[9391,9391],\"disallowed_STD3_mapped\",[40,116,41]],[[9392,9392],\"disallowed_STD3_mapped\",[40,117,41]],[[9393,9393],\"disallowed_STD3_mapped\",[40,118,41]],[[9394,9394],\"disallowed_STD3_mapped\",[40,119,41]],[[9395,9395],\"disallowed_STD3_mapped\",[40,120,41]],[[9396,9396],\"disallowed_STD3_mapped\",[40,121,41]],[[9397,9397],\"disallowed_STD3_mapped\",[40,122,41]],[[9398,9398],\"mapped\",[97]],[[9399,9399],\"mapped\",[98]],[[9400,9400],\"mapped\",[99]],[[9401,9401],\"mapped\",[100]],[[9402,9402],\"mapped\",[101]],[[9403,9403],\"mapped\",[102]],[[9404,9404],\"mapped\",[103]],[[9405,9405],\"mapped\",[104]],[[9406,9406],\"mapped\",[105]],[[9407,9407],\"mapped\",[106]],[[9408,9408],\"mapped\",[107]],[[9409,9409],\"mapped\",[108]],[[9410,9410],\"mapped\",[109]],[[9411,9411],\"mapped\",[110]],[[9412,9412],\"mapped\",[111]],[[9413,9413],\"mapped\",[112]],[[9414,9414],\"mapped\",[113]],[[9415,9415],\"mapped\",[114]],[[9416,9416],\"mapped\",[115]],[[9417,9417],\"mapped\",[116]],[[9418,9418],\"mapped\",[117]],[[9419,9419],\"mapped\",[118]],[[9420,9420],\"mapped\",[119]],[[9421,9421],\"mapped\",[120]],[[9422,9422],\"mapped\",[121]],[[9423,9423],\"mapped\",[122]],[[9424,9424],\"mapped\",[97]],[[9425,9425],\"mapped\",[98]],[[9426,9426],\"mapped\",[99]],[[9427,9427],\"mapped\",[100]],[[9428,9428],\"mapped\",[101]],[[9429,9429],\"mapped\",[102]],[[9430,9430],\"mapped\",[103]],[[9431,9431],\"mapped\",[104]],[[9432,9432],\"mapped\",[105]],[[9433,9433],\"mapped\",[106]],[[9434,9434],\"mapped\",[107]],[[9435,9435],\"mapped\",[108]],[[9436,9436],\"mapped\",[109]],[[9437,9437],\"mapped\",[110]],[[9438,9438],\"mapped\",[111]],[[9439,9439],\"mapped\",[112]],[[9440,9440],\"mapped\",[113]],[[9441,9441],\"mapped\",[114]],[[9442,9442],\"mapped\",[115]],[[9443,9443],\"mapped\",[116]],[[9444,9444],\"mapped\",[117]],[[9445,9445],\"mapped\",[118]],[[9446,9446],\"mapped\",[119]],[[9447,9447],\"mapped\",[120]],[[9448,9448],\"mapped\",[121]],[[9449,9449],\"mapped\",[122]],[[9450,9450],\"mapped\",[48]],[[9451,9470],\"valid\",[],\"NV8\"],[[9471,9471],\"valid\",[],\"NV8\"],[[9472,9621],\"valid\",[],\"NV8\"],[[9622,9631],\"valid\",[],\"NV8\"],[[9632,9711],\"valid\",[],\"NV8\"],[[9712,9719],\"valid\",[],\"NV8\"],[[9720,9727],\"valid\",[],\"NV8\"],[[9728,9747],\"valid\",[],\"NV8\"],[[9748,9749],\"valid\",[],\"NV8\"],[[9750,9751],\"valid\",[],\"NV8\"],[[9752,9752],\"valid\",[],\"NV8\"],[[9753,9753],\"valid\",[],\"NV8\"],[[9754,9839],\"valid\",[],\"NV8\"],[[9840,9841],\"valid\",[],\"NV8\"],[[9842,9853],\"valid\",[],\"NV8\"],[[9854,9855],\"valid\",[],\"NV8\"],[[9856,9865],\"valid\",[],\"NV8\"],[[9866,9873],\"valid\",[],\"NV8\"],[[9874,9884],\"valid\",[],\"NV8\"],[[9885,9885],\"valid\",[],\"NV8\"],[[9886,9887],\"valid\",[],\"NV8\"],[[9888,9889],\"valid\",[],\"NV8\"],[[9890,9905],\"valid\",[],\"NV8\"],[[9906,9906],\"valid\",[],\"NV8\"],[[9907,9916],\"valid\",[],\"NV8\"],[[9917,9919],\"valid\",[],\"NV8\"],[[9920,9923],\"valid\",[],\"NV8\"],[[9924,9933],\"valid\",[],\"NV8\"],[[9934,9934],\"valid\",[],\"NV8\"],[[9935,9953],\"valid\",[],\"NV8\"],[[9954,9954],\"valid\",[],\"NV8\"],[[9955,9955],\"valid\",[],\"NV8\"],[[9956,9959],\"valid\",[],\"NV8\"],[[9960,9983],\"valid\",[],\"NV8\"],[[9984,9984],\"valid\",[],\"NV8\"],[[9985,9988],\"valid\",[],\"NV8\"],[[9989,9989],\"valid\",[],\"NV8\"],[[9990,9993],\"valid\",[],\"NV8\"],[[9994,9995],\"valid\",[],\"NV8\"],[[9996,10023],\"valid\",[],\"NV8\"],[[10024,10024],\"valid\",[],\"NV8\"],[[10025,10059],\"valid\",[],\"NV8\"],[[10060,10060],\"valid\",[],\"NV8\"],[[10061,10061],\"valid\",[],\"NV8\"],[[10062,10062],\"valid\",[],\"NV8\"],[[10063,10066],\"valid\",[],\"NV8\"],[[10067,10069],\"valid\",[],\"NV8\"],[[10070,10070],\"valid\",[],\"NV8\"],[[10071,10071],\"valid\",[],\"NV8\"],[[10072,10078],\"valid\",[],\"NV8\"],[[10079,10080],\"valid\",[],\"NV8\"],[[10081,10087],\"valid\",[],\"NV8\"],[[10088,10101],\"valid\",[],\"NV8\"],[[10102,10132],\"valid\",[],\"NV8\"],[[10133,10135],\"valid\",[],\"NV8\"],[[10136,10159],\"valid\",[],\"NV8\"],[[10160,10160],\"valid\",[],\"NV8\"],[[10161,10174],\"valid\",[],\"NV8\"],[[10175,10175],\"valid\",[],\"NV8\"],[[10176,10182],\"valid\",[],\"NV8\"],[[10183,10186],\"valid\",[],\"NV8\"],[[10187,10187],\"valid\",[],\"NV8\"],[[10188,10188],\"valid\",[],\"NV8\"],[[10189,10189],\"valid\",[],\"NV8\"],[[10190,10191],\"valid\",[],\"NV8\"],[[10192,10219],\"valid\",[],\"NV8\"],[[10220,10223],\"valid\",[],\"NV8\"],[[10224,10239],\"valid\",[],\"NV8\"],[[10240,10495],\"valid\",[],\"NV8\"],[[10496,10763],\"valid\",[],\"NV8\"],[[10764,10764],\"mapped\",[8747,8747,8747,8747]],[[10765,10867],\"valid\",[],\"NV8\"],[[10868,10868],\"disallowed_STD3_mapped\",[58,58,61]],[[10869,10869],\"disallowed_STD3_mapped\",[61,61]],[[10870,10870],\"disallowed_STD3_mapped\",[61,61,61]],[[10871,10971],\"valid\",[],\"NV8\"],[[10972,10972],\"mapped\",[10973,824]],[[10973,11007],\"valid\",[],\"NV8\"],[[11008,11021],\"valid\",[],\"NV8\"],[[11022,11027],\"valid\",[],\"NV8\"],[[11028,11034],\"valid\",[],\"NV8\"],[[11035,11039],\"valid\",[],\"NV8\"],[[11040,11043],\"valid\",[],\"NV8\"],[[11044,11084],\"valid\",[],\"NV8\"],[[11085,11087],\"valid\",[],\"NV8\"],[[11088,11092],\"valid\",[],\"NV8\"],[[11093,11097],\"valid\",[],\"NV8\"],[[11098,11123],\"valid\",[],\"NV8\"],[[11124,11125],\"disallowed\"],[[11126,11157],\"valid\",[],\"NV8\"],[[11158,11159],\"disallowed\"],[[11160,11193],\"valid\",[],\"NV8\"],[[11194,11196],\"disallowed\"],[[11197,11208],\"valid\",[],\"NV8\"],[[11209,11209],\"disallowed\"],[[11210,11217],\"valid\",[],\"NV8\"],[[11218,11243],\"disallowed\"],[[11244,11247],\"valid\",[],\"NV8\"],[[11248,11263],\"disallowed\"],[[11264,11264],\"mapped\",[11312]],[[11265,11265],\"mapped\",[11313]],[[11266,11266],\"mapped\",[11314]],[[11267,11267],\"mapped\",[11315]],[[11268,11268],\"mapped\",[11316]],[[11269,11269],\"mapped\",[11317]],[[11270,11270],\"mapped\",[11318]],[[11271,11271],\"mapped\",[11319]],[[11272,11272],\"mapped\",[11320]],[[11273,11273],\"mapped\",[11321]],[[11274,11274],\"mapped\",[11322]],[[11275,11275],\"mapped\",[11323]],[[11276,11276],\"mapped\",[11324]],[[11277,11277],\"mapped\",[11325]],[[11278,11278],\"mapped\",[11326]],[[11279,11279],\"mapped\",[11327]],[[11280,11280],\"mapped\",[11328]],[[11281,11281],\"mapped\",[11329]],[[11282,11282],\"mapped\",[11330]],[[11283,11283],\"mapped\",[11331]],[[11284,11284],\"mapped\",[11332]],[[11285,11285],\"mapped\",[11333]],[[11286,11286],\"mapped\",[11334]],[[11287,11287],\"mapped\",[11335]],[[11288,11288],\"mapped\",[11336]],[[11289,11289],\"mapped\",[11337]],[[11290,11290],\"mapped\",[11338]],[[11291,11291],\"mapped\",[11339]],[[11292,11292],\"mapped\",[11340]],[[11293,11293],\"mapped\",[11341]],[[11294,11294],\"mapped\",[11342]],[[11295,11295],\"mapped\",[11343]],[[11296,11296],\"mapped\",[11344]],[[11297,11297],\"mapped\",[11345]],[[11298,11298],\"mapped\",[11346]],[[11299,11299],\"mapped\",[11347]],[[11300,11300],\"mapped\",[11348]],[[11301,11301],\"mapped\",[11349]],[[11302,11302],\"mapped\",[11350]],[[11303,11303],\"mapped\",[11351]],[[11304,11304],\"mapped\",[11352]],[[11305,11305],\"mapped\",[11353]],[[11306,11306],\"mapped\",[11354]],[[11307,11307],\"mapped\",[11355]],[[11308,11308],\"mapped\",[11356]],[[11309,11309],\"mapped\",[11357]],[[11310,11310],\"mapped\",[11358]],[[11311,11311],\"disallowed\"],[[11312,11358],\"valid\"],[[11359,11359],\"disallowed\"],[[11360,11360],\"mapped\",[11361]],[[11361,11361],\"valid\"],[[11362,11362],\"mapped\",[619]],[[11363,11363],\"mapped\",[7549]],[[11364,11364],\"mapped\",[637]],[[11365,11366],\"valid\"],[[11367,11367],\"mapped\",[11368]],[[11368,11368],\"valid\"],[[11369,11369],\"mapped\",[11370]],[[11370,11370],\"valid\"],[[11371,11371],\"mapped\",[11372]],[[11372,11372],\"valid\"],[[11373,11373],\"mapped\",[593]],[[11374,11374],\"mapped\",[625]],[[11375,11375],\"mapped\",[592]],[[11376,11376],\"mapped\",[594]],[[11377,11377],\"valid\"],[[11378,11378],\"mapped\",[11379]],[[11379,11379],\"valid\"],[[11380,11380],\"valid\"],[[11381,11381],\"mapped\",[11382]],[[11382,11383],\"valid\"],[[11384,11387],\"valid\"],[[11388,11388],\"mapped\",[106]],[[11389,11389],\"mapped\",[118]],[[11390,11390],\"mapped\",[575]],[[11391,11391],\"mapped\",[576]],[[11392,11392],\"mapped\",[11393]],[[11393,11393],\"valid\"],[[11394,11394],\"mapped\",[11395]],[[11395,11395],\"valid\"],[[11396,11396],\"mapped\",[11397]],[[11397,11397],\"valid\"],[[11398,11398],\"mapped\",[11399]],[[11399,11399],\"valid\"],[[11400,11400],\"mapped\",[11401]],[[11401,11401],\"valid\"],[[11402,11402],\"mapped\",[11403]],[[11403,11403],\"valid\"],[[11404,11404],\"mapped\",[11405]],[[11405,11405],\"valid\"],[[11406,11406],\"mapped\",[11407]],[[11407,11407],\"valid\"],[[11408,11408],\"mapped\",[11409]],[[11409,11409],\"valid\"],[[11410,11410],\"mapped\",[11411]],[[11411,11411],\"valid\"],[[11412,11412],\"mapped\",[11413]],[[11413,11413],\"valid\"],[[11414,11414],\"mapped\",[11415]],[[11415,11415],\"valid\"],[[11416,11416],\"mapped\",[11417]],[[11417,11417],\"valid\"],[[11418,11418],\"mapped\",[11419]],[[11419,11419],\"valid\"],[[11420,11420],\"mapped\",[11421]],[[11421,11421],\"valid\"],[[11422,11422],\"mapped\",[11423]],[[11423,11423],\"valid\"],[[11424,11424],\"mapped\",[11425]],[[11425,11425],\"valid\"],[[11426,11426],\"mapped\",[11427]],[[11427,11427],\"valid\"],[[11428,11428],\"mapped\",[11429]],[[11429,11429],\"valid\"],[[11430,11430],\"mapped\",[11431]],[[11431,11431],\"valid\"],[[11432,11432],\"mapped\",[11433]],[[11433,11433],\"valid\"],[[11434,11434],\"mapped\",[11435]],[[11435,11435],\"valid\"],[[11436,11436],\"mapped\",[11437]],[[11437,11437],\"valid\"],[[11438,11438],\"mapped\",[11439]],[[11439,11439],\"valid\"],[[11440,11440],\"mapped\",[11441]],[[11441,11441],\"valid\"],[[11442,11442],\"mapped\",[11443]],[[11443,11443],\"valid\"],[[11444,11444],\"mapped\",[11445]],[[11445,11445],\"valid\"],[[11446,11446],\"mapped\",[11447]],[[11447,11447],\"valid\"],[[11448,11448],\"mapped\",[11449]],[[11449,11449],\"valid\"],[[11450,11450],\"mapped\",[11451]],[[11451,11451],\"valid\"],[[11452,11452],\"mapped\",[11453]],[[11453,11453],\"valid\"],[[11454,11454],\"mapped\",[11455]],[[11455,11455],\"valid\"],[[11456,11456],\"mapped\",[11457]],[[11457,11457],\"valid\"],[[11458,11458],\"mapped\",[11459]],[[11459,11459],\"valid\"],[[11460,11460],\"mapped\",[11461]],[[11461,11461],\"valid\"],[[11462,11462],\"mapped\",[11463]],[[11463,11463],\"valid\"],[[11464,11464],\"mapped\",[11465]],[[11465,11465],\"valid\"],[[11466,11466],\"mapped\",[11467]],[[11467,11467],\"valid\"],[[11468,11468],\"mapped\",[11469]],[[11469,11469],\"valid\"],[[11470,11470],\"mapped\",[11471]],[[11471,11471],\"valid\"],[[11472,11472],\"mapped\",[11473]],[[11473,11473],\"valid\"],[[11474,11474],\"mapped\",[11475]],[[11475,11475],\"valid\"],[[11476,11476],\"mapped\",[11477]],[[11477,11477],\"valid\"],[[11478,11478],\"mapped\",[11479]],[[11479,11479],\"valid\"],[[11480,11480],\"mapped\",[11481]],[[11481,11481],\"valid\"],[[11482,11482],\"mapped\",[11483]],[[11483,11483],\"valid\"],[[11484,11484],\"mapped\",[11485]],[[11485,11485],\"valid\"],[[11486,11486],\"mapped\",[11487]],[[11487,11487],\"valid\"],[[11488,11488],\"mapped\",[11489]],[[11489,11489],\"valid\"],[[11490,11490],\"mapped\",[11491]],[[11491,11492],\"valid\"],[[11493,11498],\"valid\",[],\"NV8\"],[[11499,11499],\"mapped\",[11500]],[[11500,11500],\"valid\"],[[11501,11501],\"mapped\",[11502]],[[11502,11505],\"valid\"],[[11506,11506],\"mapped\",[11507]],[[11507,11507],\"valid\"],[[11508,11512],\"disallowed\"],[[11513,11519],\"valid\",[],\"NV8\"],[[11520,11557],\"valid\"],[[11558,11558],\"disallowed\"],[[11559,11559],\"valid\"],[[11560,11564],\"disallowed\"],[[11565,11565],\"valid\"],[[11566,11567],\"disallowed\"],[[11568,11621],\"valid\"],[[11622,11623],\"valid\"],[[11624,11630],\"disallowed\"],[[11631,11631],\"mapped\",[11617]],[[11632,11632],\"valid\",[],\"NV8\"],[[11633,11646],\"disallowed\"],[[11647,11647],\"valid\"],[[11648,11670],\"valid\"],[[11671,11679],\"disallowed\"],[[11680,11686],\"valid\"],[[11687,11687],\"disallowed\"],[[11688,11694],\"valid\"],[[11695,11695],\"disallowed\"],[[11696,11702],\"valid\"],[[11703,11703],\"disallowed\"],[[11704,11710],\"valid\"],[[11711,11711],\"disallowed\"],[[11712,11718],\"valid\"],[[11719,11719],\"disallowed\"],[[11720,11726],\"valid\"],[[11727,11727],\"disallowed\"],[[11728,11734],\"valid\"],[[11735,11735],\"disallowed\"],[[11736,11742],\"valid\"],[[11743,11743],\"disallowed\"],[[11744,11775],\"valid\"],[[11776,11799],\"valid\",[],\"NV8\"],[[11800,11803],\"valid\",[],\"NV8\"],[[11804,11805],\"valid\",[],\"NV8\"],[[11806,11822],\"valid\",[],\"NV8\"],[[11823,11823],\"valid\"],[[11824,11824],\"valid\",[],\"NV8\"],[[11825,11825],\"valid\",[],\"NV8\"],[[11826,11835],\"valid\",[],\"NV8\"],[[11836,11842],\"valid\",[],\"NV8\"],[[11843,11903],\"disallowed\"],[[11904,11929],\"valid\",[],\"NV8\"],[[11930,11930],\"disallowed\"],[[11931,11934],\"valid\",[],\"NV8\"],[[11935,11935],\"mapped\",[27597]],[[11936,12018],\"valid\",[],\"NV8\"],[[12019,12019],\"mapped\",[40863]],[[12020,12031],\"disallowed\"],[[12032,12032],\"mapped\",[19968]],[[12033,12033],\"mapped\",[20008]],[[12034,12034],\"mapped\",[20022]],[[12035,12035],\"mapped\",[20031]],[[12036,12036],\"mapped\",[20057]],[[12037,12037],\"mapped\",[20101]],[[12038,12038],\"mapped\",[20108]],[[12039,12039],\"mapped\",[20128]],[[12040,12040],\"mapped\",[20154]],[[12041,12041],\"mapped\",[20799]],[[12042,12042],\"mapped\",[20837]],[[12043,12043],\"mapped\",[20843]],[[12044,12044],\"mapped\",[20866]],[[12045,12045],\"mapped\",[20886]],[[12046,12046],\"mapped\",[20907]],[[12047,12047],\"mapped\",[20960]],[[12048,12048],\"mapped\",[20981]],[[12049,12049],\"mapped\",[20992]],[[12050,12050],\"mapped\",[21147]],[[12051,12051],\"mapped\",[21241]],[[12052,12052],\"mapped\",[21269]],[[12053,12053],\"mapped\",[21274]],[[12054,12054],\"mapped\",[21304]],[[12055,12055],\"mapped\",[21313]],[[12056,12056],\"mapped\",[21340]],[[12057,12057],\"mapped\",[21353]],[[12058,12058],\"mapped\",[21378]],[[12059,12059],\"mapped\",[21430]],[[12060,12060],\"mapped\",[21448]],[[12061,12061],\"mapped\",[21475]],[[12062,12062],\"mapped\",[22231]],[[12063,12063],\"mapped\",[22303]],[[12064,12064],\"mapped\",[22763]],[[12065,12065],\"mapped\",[22786]],[[12066,12066],\"mapped\",[22794]],[[12067,12067],\"mapped\",[22805]],[[12068,12068],\"mapped\",[22823]],[[12069,12069],\"mapped\",[22899]],[[12070,12070],\"mapped\",[23376]],[[12071,12071],\"mapped\",[23424]],[[12072,12072],\"mapped\",[23544]],[[12073,12073],\"mapped\",[23567]],[[12074,12074],\"mapped\",[23586]],[[12075,12075],\"mapped\",[23608]],[[12076,12076],\"mapped\",[23662]],[[12077,12077],\"mapped\",[23665]],[[12078,12078],\"mapped\",[24027]],[[12079,12079],\"mapped\",[24037]],[[12080,12080],\"mapped\",[24049]],[[12081,12081],\"mapped\",[24062]],[[12082,12082],\"mapped\",[24178]],[[12083,12083],\"mapped\",[24186]],[[12084,12084],\"mapped\",[24191]],[[12085,12085],\"mapped\",[24308]],[[12086,12086],\"mapped\",[24318]],[[12087,12087],\"mapped\",[24331]],[[12088,12088],\"mapped\",[24339]],[[12089,12089],\"mapped\",[24400]],[[12090,12090],\"mapped\",[24417]],[[12091,12091],\"mapped\",[24435]],[[12092,12092],\"mapped\",[24515]],[[12093,12093],\"mapped\",[25096]],[[12094,12094],\"mapped\",[25142]],[[12095,12095],\"mapped\",[25163]],[[12096,12096],\"mapped\",[25903]],[[12097,12097],\"mapped\",[25908]],[[12098,12098],\"mapped\",[25991]],[[12099,12099],\"mapped\",[26007]],[[12100,12100],\"mapped\",[26020]],[[12101,12101],\"mapped\",[26041]],[[12102,12102],\"mapped\",[26080]],[[12103,12103],\"mapped\",[26085]],[[12104,12104],\"mapped\",[26352]],[[12105,12105],\"mapped\",[26376]],[[12106,12106],\"mapped\",[26408]],[[12107,12107],\"mapped\",[27424]],[[12108,12108],\"mapped\",[27490]],[[12109,12109],\"mapped\",[27513]],[[12110,12110],\"mapped\",[27571]],[[12111,12111],\"mapped\",[27595]],[[12112,12112],\"mapped\",[27604]],[[12113,12113],\"mapped\",[27611]],[[12114,12114],\"mapped\",[27663]],[[12115,12115],\"mapped\",[27668]],[[12116,12116],\"mapped\",[27700]],[[12117,12117],\"mapped\",[28779]],[[12118,12118],\"mapped\",[29226]],[[12119,12119],\"mapped\",[29238]],[[12120,12120],\"mapped\",[29243]],[[12121,12121],\"mapped\",[29247]],[[12122,12122],\"mapped\",[29255]],[[12123,12123],\"mapped\",[29273]],[[12124,12124],\"mapped\",[29275]],[[12125,12125],\"mapped\",[29356]],[[12126,12126],\"mapped\",[29572]],[[12127,12127],\"mapped\",[29577]],[[12128,12128],\"mapped\",[29916]],[[12129,12129],\"mapped\",[29926]],[[12130,12130],\"mapped\",[29976]],[[12131,12131],\"mapped\",[29983]],[[12132,12132],\"mapped\",[29992]],[[12133,12133],\"mapped\",[30000]],[[12134,12134],\"mapped\",[30091]],[[12135,12135],\"mapped\",[30098]],[[12136,12136],\"mapped\",[30326]],[[12137,12137],\"mapped\",[30333]],[[12138,12138],\"mapped\",[30382]],[[12139,12139],\"mapped\",[30399]],[[12140,12140],\"mapped\",[30446]],[[12141,12141],\"mapped\",[30683]],[[12142,12142],\"mapped\",[30690]],[[12143,12143],\"mapped\",[30707]],[[12144,12144],\"mapped\",[31034]],[[12145,12145],\"mapped\",[31160]],[[12146,12146],\"mapped\",[31166]],[[12147,12147],\"mapped\",[31348]],[[12148,12148],\"mapped\",[31435]],[[12149,12149],\"mapped\",[31481]],[[12150,12150],\"mapped\",[31859]],[[12151,12151],\"mapped\",[31992]],[[12152,12152],\"mapped\",[32566]],[[12153,12153],\"mapped\",[32593]],[[12154,12154],\"mapped\",[32650]],[[12155,12155],\"mapped\",[32701]],[[12156,12156],\"mapped\",[32769]],[[12157,12157],\"mapped\",[32780]],[[12158,12158],\"mapped\",[32786]],[[12159,12159],\"mapped\",[32819]],[[12160,12160],\"mapped\",[32895]],[[12161,12161],\"mapped\",[32905]],[[12162,12162],\"mapped\",[33251]],[[12163,12163],\"mapped\",[33258]],[[12164,12164],\"mapped\",[33267]],[[12165,12165],\"mapped\",[33276]],[[12166,12166],\"mapped\",[33292]],[[12167,12167],\"mapped\",[33307]],[[12168,12168],\"mapped\",[33311]],[[12169,12169],\"mapped\",[33390]],[[12170,12170],\"mapped\",[33394]],[[12171,12171],\"mapped\",[33400]],[[12172,12172],\"mapped\",[34381]],[[12173,12173],\"mapped\",[34411]],[[12174,12174],\"mapped\",[34880]],[[12175,12175],\"mapped\",[34892]],[[12176,12176],\"mapped\",[34915]],[[12177,12177],\"mapped\",[35198]],[[12178,12178],\"mapped\",[35211]],[[12179,12179],\"mapped\",[35282]],[[12180,12180],\"mapped\",[35328]],[[12181,12181],\"mapped\",[35895]],[[12182,12182],\"mapped\",[35910]],[[12183,12183],\"mapped\",[35925]],[[12184,12184],\"mapped\",[35960]],[[12185,12185],\"mapped\",[35997]],[[12186,12186],\"mapped\",[36196]],[[12187,12187],\"mapped\",[36208]],[[12188,12188],\"mapped\",[36275]],[[12189,12189],\"mapped\",[36523]],[[12190,12190],\"mapped\",[36554]],[[12191,12191],\"mapped\",[36763]],[[12192,12192],\"mapped\",[36784]],[[12193,12193],\"mapped\",[36789]],[[12194,12194],\"mapped\",[37009]],[[12195,12195],\"mapped\",[37193]],[[12196,12196],\"mapped\",[37318]],[[12197,12197],\"mapped\",[37324]],[[12198,12198],\"mapped\",[37329]],[[12199,12199],\"mapped\",[38263]],[[12200,12200],\"mapped\",[38272]],[[12201,12201],\"mapped\",[38428]],[[12202,12202],\"mapped\",[38582]],[[12203,12203],\"mapped\",[38585]],[[12204,12204],\"mapped\",[38632]],[[12205,12205],\"mapped\",[38737]],[[12206,12206],\"mapped\",[38750]],[[12207,12207],\"mapped\",[38754]],[[12208,12208],\"mapped\",[38761]],[[12209,12209],\"mapped\",[38859]],[[12210,12210],\"mapped\",[38893]],[[12211,12211],\"mapped\",[38899]],[[12212,12212],\"mapped\",[38913]],[[12213,12213],\"mapped\",[39080]],[[12214,12214],\"mapped\",[39131]],[[12215,12215],\"mapped\",[39135]],[[12216,12216],\"mapped\",[39318]],[[12217,12217],\"mapped\",[39321]],[[12218,12218],\"mapped\",[39340]],[[12219,12219],\"mapped\",[39592]],[[12220,12220],\"mapped\",[39640]],[[12221,12221],\"mapped\",[39647]],[[12222,12222],\"mapped\",[39717]],[[12223,12223],\"mapped\",[39727]],[[12224,12224],\"mapped\",[39730]],[[12225,12225],\"mapped\",[39740]],[[12226,12226],\"mapped\",[39770]],[[12227,12227],\"mapped\",[40165]],[[12228,12228],\"mapped\",[40565]],[[12229,12229],\"mapped\",[40575]],[[12230,12230],\"mapped\",[40613]],[[12231,12231],\"mapped\",[40635]],[[12232,12232],\"mapped\",[40643]],[[12233,12233],\"mapped\",[40653]],[[12234,12234],\"mapped\",[40657]],[[12235,12235],\"mapped\",[40697]],[[12236,12236],\"mapped\",[40701]],[[12237,12237],\"mapped\",[40718]],[[12238,12238],\"mapped\",[40723]],[[12239,12239],\"mapped\",[40736]],[[12240,12240],\"mapped\",[40763]],[[12241,12241],\"mapped\",[40778]],[[12242,12242],\"mapped\",[40786]],[[12243,12243],\"mapped\",[40845]],[[12244,12244],\"mapped\",[40860]],[[12245,12245],\"mapped\",[40864]],[[12246,12271],\"disallowed\"],[[12272,12283],\"disallowed\"],[[12284,12287],\"disallowed\"],[[12288,12288],\"disallowed_STD3_mapped\",[32]],[[12289,12289],\"valid\",[],\"NV8\"],[[12290,12290],\"mapped\",[46]],[[12291,12292],\"valid\",[],\"NV8\"],[[12293,12295],\"valid\"],[[12296,12329],\"valid\",[],\"NV8\"],[[12330,12333],\"valid\"],[[12334,12341],\"valid\",[],\"NV8\"],[[12342,12342],\"mapped\",[12306]],[[12343,12343],\"valid\",[],\"NV8\"],[[12344,12344],\"mapped\",[21313]],[[12345,12345],\"mapped\",[21316]],[[12346,12346],\"mapped\",[21317]],[[12347,12347],\"valid\",[],\"NV8\"],[[12348,12348],\"valid\"],[[12349,12349],\"valid\",[],\"NV8\"],[[12350,12350],\"valid\",[],\"NV8\"],[[12351,12351],\"valid\",[],\"NV8\"],[[12352,12352],\"disallowed\"],[[12353,12436],\"valid\"],[[12437,12438],\"valid\"],[[12439,12440],\"disallowed\"],[[12441,12442],\"valid\"],[[12443,12443],\"disallowed_STD3_mapped\",[32,12441]],[[12444,12444],\"disallowed_STD3_mapped\",[32,12442]],[[12445,12446],\"valid\"],[[12447,12447],\"mapped\",[12424,12426]],[[12448,12448],\"valid\",[],\"NV8\"],[[12449,12542],\"valid\"],[[12543,12543],\"mapped\",[12467,12488]],[[12544,12548],\"disallowed\"],[[12549,12588],\"valid\"],[[12589,12589],\"valid\"],[[12590,12592],\"disallowed\"],[[12593,12593],\"mapped\",[4352]],[[12594,12594],\"mapped\",[4353]],[[12595,12595],\"mapped\",[4522]],[[12596,12596],\"mapped\",[4354]],[[12597,12597],\"mapped\",[4524]],[[12598,12598],\"mapped\",[4525]],[[12599,12599],\"mapped\",[4355]],[[12600,12600],\"mapped\",[4356]],[[12601,12601],\"mapped\",[4357]],[[12602,12602],\"mapped\",[4528]],[[12603,12603],\"mapped\",[4529]],[[12604,12604],\"mapped\",[4530]],[[12605,12605],\"mapped\",[4531]],[[12606,12606],\"mapped\",[4532]],[[12607,12607],\"mapped\",[4533]],[[12608,12608],\"mapped\",[4378]],[[12609,12609],\"mapped\",[4358]],[[12610,12610],\"mapped\",[4359]],[[12611,12611],\"mapped\",[4360]],[[12612,12612],\"mapped\",[4385]],[[12613,12613],\"mapped\",[4361]],[[12614,12614],\"mapped\",[4362]],[[12615,12615],\"mapped\",[4363]],[[12616,12616],\"mapped\",[4364]],[[12617,12617],\"mapped\",[4365]],[[12618,12618],\"mapped\",[4366]],[[12619,12619],\"mapped\",[4367]],[[12620,12620],\"mapped\",[4368]],[[12621,12621],\"mapped\",[4369]],[[12622,12622],\"mapped\",[4370]],[[12623,12623],\"mapped\",[4449]],[[12624,12624],\"mapped\",[4450]],[[12625,12625],\"mapped\",[4451]],[[12626,12626],\"mapped\",[4452]],[[12627,12627],\"mapped\",[4453]],[[12628,12628],\"mapped\",[4454]],[[12629,12629],\"mapped\",[4455]],[[12630,12630],\"mapped\",[4456]],[[12631,12631],\"mapped\",[4457]],[[12632,12632],\"mapped\",[4458]],[[12633,12633],\"mapped\",[4459]],[[12634,12634],\"mapped\",[4460]],[[12635,12635],\"mapped\",[4461]],[[12636,12636],\"mapped\",[4462]],[[12637,12637],\"mapped\",[4463]],[[12638,12638],\"mapped\",[4464]],[[12639,12639],\"mapped\",[4465]],[[12640,12640],\"mapped\",[4466]],[[12641,12641],\"mapped\",[4467]],[[12642,12642],\"mapped\",[4468]],[[12643,12643],\"mapped\",[4469]],[[12644,12644],\"disallowed\"],[[12645,12645],\"mapped\",[4372]],[[12646,12646],\"mapped\",[4373]],[[12647,12647],\"mapped\",[4551]],[[12648,12648],\"mapped\",[4552]],[[12649,12649],\"mapped\",[4556]],[[12650,12650],\"mapped\",[4558]],[[12651,12651],\"mapped\",[4563]],[[12652,12652],\"mapped\",[4567]],[[12653,12653],\"mapped\",[4569]],[[12654,12654],\"mapped\",[4380]],[[12655,12655],\"mapped\",[4573]],[[12656,12656],\"mapped\",[4575]],[[12657,12657],\"mapped\",[4381]],[[12658,12658],\"mapped\",[4382]],[[12659,12659],\"mapped\",[4384]],[[12660,12660],\"mapped\",[4386]],[[12661,12661],\"mapped\",[4387]],[[12662,12662],\"mapped\",[4391]],[[12663,12663],\"mapped\",[4393]],[[12664,12664],\"mapped\",[4395]],[[12665,12665],\"mapped\",[4396]],[[12666,12666],\"mapped\",[4397]],[[12667,12667],\"mapped\",[4398]],[[12668,12668],\"mapped\",[4399]],[[12669,12669],\"mapped\",[4402]],[[12670,12670],\"mapped\",[4406]],[[12671,12671],\"mapped\",[4416]],[[12672,12672],\"mapped\",[4423]],[[12673,12673],\"mapped\",[4428]],[[12674,12674],\"mapped\",[4593]],[[12675,12675],\"mapped\",[4594]],[[12676,12676],\"mapped\",[4439]],[[12677,12677],\"mapped\",[4440]],[[12678,12678],\"mapped\",[4441]],[[12679,12679],\"mapped\",[4484]],[[12680,12680],\"mapped\",[4485]],[[12681,12681],\"mapped\",[4488]],[[12682,12682],\"mapped\",[4497]],[[12683,12683],\"mapped\",[4498]],[[12684,12684],\"mapped\",[4500]],[[12685,12685],\"mapped\",[4510]],[[12686,12686],\"mapped\",[4513]],[[12687,12687],\"disallowed\"],[[12688,12689],\"valid\",[],\"NV8\"],[[12690,12690],\"mapped\",[19968]],[[12691,12691],\"mapped\",[20108]],[[12692,12692],\"mapped\",[19977]],[[12693,12693],\"mapped\",[22235]],[[12694,12694],\"mapped\",[19978]],[[12695,12695],\"mapped\",[20013]],[[12696,12696],\"mapped\",[19979]],[[12697,12697],\"mapped\",[30002]],[[12698,12698],\"mapped\",[20057]],[[12699,12699],\"mapped\",[19993]],[[12700,12700],\"mapped\",[19969]],[[12701,12701],\"mapped\",[22825]],[[12702,12702],\"mapped\",[22320]],[[12703,12703],\"mapped\",[20154]],[[12704,12727],\"valid\"],[[12728,12730],\"valid\"],[[12731,12735],\"disallowed\"],[[12736,12751],\"valid\",[],\"NV8\"],[[12752,12771],\"valid\",[],\"NV8\"],[[12772,12783],\"disallowed\"],[[12784,12799],\"valid\"],[[12800,12800],\"disallowed_STD3_mapped\",[40,4352,41]],[[12801,12801],\"disallowed_STD3_mapped\",[40,4354,41]],[[12802,12802],\"disallowed_STD3_mapped\",[40,4355,41]],[[12803,12803],\"disallowed_STD3_mapped\",[40,4357,41]],[[12804,12804],\"disallowed_STD3_mapped\",[40,4358,41]],[[12805,12805],\"disallowed_STD3_mapped\",[40,4359,41]],[[12806,12806],\"disallowed_STD3_mapped\",[40,4361,41]],[[12807,12807],\"disallowed_STD3_mapped\",[40,4363,41]],[[12808,12808],\"disallowed_STD3_mapped\",[40,4364,41]],[[12809,12809],\"disallowed_STD3_mapped\",[40,4366,41]],[[12810,12810],\"disallowed_STD3_mapped\",[40,4367,41]],[[12811,12811],\"disallowed_STD3_mapped\",[40,4368,41]],[[12812,12812],\"disallowed_STD3_mapped\",[40,4369,41]],[[12813,12813],\"disallowed_STD3_mapped\",[40,4370,41]],[[12814,12814],\"disallowed_STD3_mapped\",[40,44032,41]],[[12815,12815],\"disallowed_STD3_mapped\",[40,45208,41]],[[12816,12816],\"disallowed_STD3_mapped\",[40,45796,41]],[[12817,12817],\"disallowed_STD3_mapped\",[40,46972,41]],[[12818,12818],\"disallowed_STD3_mapped\",[40,47560,41]],[[12819,12819],\"disallowed_STD3_mapped\",[40,48148,41]],[[12820,12820],\"disallowed_STD3_mapped\",[40,49324,41]],[[12821,12821],\"disallowed_STD3_mapped\",[40,50500,41]],[[12822,12822],\"disallowed_STD3_mapped\",[40,51088,41]],[[12823,12823],\"disallowed_STD3_mapped\",[40,52264,41]],[[12824,12824],\"disallowed_STD3_mapped\",[40,52852,41]],[[12825,12825],\"disallowed_STD3_mapped\",[40,53440,41]],[[12826,12826],\"disallowed_STD3_mapped\",[40,54028,41]],[[12827,12827],\"disallowed_STD3_mapped\",[40,54616,41]],[[12828,12828],\"disallowed_STD3_mapped\",[40,51452,41]],[[12829,12829],\"disallowed_STD3_mapped\",[40,50724,51204,41]],[[12830,12830],\"disallowed_STD3_mapped\",[40,50724,54980,41]],[[12831,12831],\"disallowed\"],[[12832,12832],\"disallowed_STD3_mapped\",[40,19968,41]],[[12833,12833],\"disallowed_STD3_mapped\",[40,20108,41]],[[12834,12834],\"disallowed_STD3_mapped\",[40,19977,41]],[[12835,12835],\"disallowed_STD3_mapped\",[40,22235,41]],[[12836,12836],\"disallowed_STD3_mapped\",[40,20116,41]],[[12837,12837],\"disallowed_STD3_mapped\",[40,20845,41]],[[12838,12838],\"disallowed_STD3_mapped\",[40,19971,41]],[[12839,12839],\"disallowed_STD3_mapped\",[40,20843,41]],[[12840,12840],\"disallowed_STD3_mapped\",[40,20061,41]],[[12841,12841],\"disallowed_STD3_mapped\",[40,21313,41]],[[12842,12842],\"disallowed_STD3_mapped\",[40,26376,41]],[[12843,12843],\"disallowed_STD3_mapped\",[40,28779,41]],[[12844,12844],\"disallowed_STD3_mapped\",[40,27700,41]],[[12845,12845],\"disallowed_STD3_mapped\",[40,26408,41]],[[12846,12846],\"disallowed_STD3_mapped\",[40,37329,41]],[[12847,12847],\"disallowed_STD3_mapped\",[40,22303,41]],[[12848,12848],\"disallowed_STD3_mapped\",[40,26085,41]],[[12849,12849],\"disallowed_STD3_mapped\",[40,26666,41]],[[12850,12850],\"disallowed_STD3_mapped\",[40,26377,41]],[[12851,12851],\"disallowed_STD3_mapped\",[40,31038,41]],[[12852,12852],\"disallowed_STD3_mapped\",[40,21517,41]],[[12853,12853],\"disallowed_STD3_mapped\",[40,29305,41]],[[12854,12854],\"disallowed_STD3_mapped\",[40,36001,41]],[[12855,12855],\"disallowed_STD3_mapped\",[40,31069,41]],[[12856,12856],\"disallowed_STD3_mapped\",[40,21172,41]],[[12857,12857],\"disallowed_STD3_mapped\",[40,20195,41]],[[12858,12858],\"disallowed_STD3_mapped\",[40,21628,41]],[[12859,12859],\"disallowed_STD3_mapped\",[40,23398,41]],[[12860,12860],\"disallowed_STD3_mapped\",[40,30435,41]],[[12861,12861],\"disallowed_STD3_mapped\",[40,20225,41]],[[12862,12862],\"disallowed_STD3_mapped\",[40,36039,41]],[[12863,12863],\"disallowed_STD3_mapped\",[40,21332,41]],[[12864,12864],\"disallowed_STD3_mapped\",[40,31085,41]],[[12865,12865],\"disallowed_STD3_mapped\",[40,20241,41]],[[12866,12866],\"disallowed_STD3_mapped\",[40,33258,41]],[[12867,12867],\"disallowed_STD3_mapped\",[40,33267,41]],[[12868,12868],\"mapped\",[21839]],[[12869,12869],\"mapped\",[24188]],[[12870,12870],\"mapped\",[25991]],[[12871,12871],\"mapped\",[31631]],[[12872,12879],\"valid\",[],\"NV8\"],[[12880,12880],\"mapped\",[112,116,101]],[[12881,12881],\"mapped\",[50,49]],[[12882,12882],\"mapped\",[50,50]],[[12883,12883],\"mapped\",[50,51]],[[12884,12884],\"mapped\",[50,52]],[[12885,12885],\"mapped\",[50,53]],[[12886,12886],\"mapped\",[50,54]],[[12887,12887],\"mapped\",[50,55]],[[12888,12888],\"mapped\",[50,56]],[[12889,12889],\"mapped\",[50,57]],[[12890,12890],\"mapped\",[51,48]],[[12891,12891],\"mapped\",[51,49]],[[12892,12892],\"mapped\",[51,50]],[[12893,12893],\"mapped\",[51,51]],[[12894,12894],\"mapped\",[51,52]],[[12895,12895],\"mapped\",[51,53]],[[12896,12896],\"mapped\",[4352]],[[12897,12897],\"mapped\",[4354]],[[12898,12898],\"mapped\",[4355]],[[12899,12899],\"mapped\",[4357]],[[12900,12900],\"mapped\",[4358]],[[12901,12901],\"mapped\",[4359]],[[12902,12902],\"mapped\",[4361]],[[12903,12903],\"mapped\",[4363]],[[12904,12904],\"mapped\",[4364]],[[12905,12905],\"mapped\",[4366]],[[12906,12906],\"mapped\",[4367]],[[12907,12907],\"mapped\",[4368]],[[12908,12908],\"mapped\",[4369]],[[12909,12909],\"mapped\",[4370]],[[12910,12910],\"mapped\",[44032]],[[12911,12911],\"mapped\",[45208]],[[12912,12912],\"mapped\",[45796]],[[12913,12913],\"mapped\",[46972]],[[12914,12914],\"mapped\",[47560]],[[12915,12915],\"mapped\",[48148]],[[12916,12916],\"mapped\",[49324]],[[12917,12917],\"mapped\",[50500]],[[12918,12918],\"mapped\",[51088]],[[12919,12919],\"mapped\",[52264]],[[12920,12920],\"mapped\",[52852]],[[12921,12921],\"mapped\",[53440]],[[12922,12922],\"mapped\",[54028]],[[12923,12923],\"mapped\",[54616]],[[12924,12924],\"mapped\",[52280,44256]],[[12925,12925],\"mapped\",[51452,51032]],[[12926,12926],\"mapped\",[50864]],[[12927,12927],\"valid\",[],\"NV8\"],[[12928,12928],\"mapped\",[19968]],[[12929,12929],\"mapped\",[20108]],[[12930,12930],\"mapped\",[19977]],[[12931,12931],\"mapped\",[22235]],[[12932,12932],\"mapped\",[20116]],[[12933,12933],\"mapped\",[20845]],[[12934,12934],\"mapped\",[19971]],[[12935,12935],\"mapped\",[20843]],[[12936,12936],\"mapped\",[20061]],[[12937,12937],\"mapped\",[21313]],[[12938,12938],\"mapped\",[26376]],[[12939,12939],\"mapped\",[28779]],[[12940,12940],\"mapped\",[27700]],[[12941,12941],\"mapped\",[26408]],[[12942,12942],\"mapped\",[37329]],[[12943,12943],\"mapped\",[22303]],[[12944,12944],\"mapped\",[26085]],[[12945,12945],\"mapped\",[26666]],[[12946,12946],\"mapped\",[26377]],[[12947,12947],\"mapped\",[31038]],[[12948,12948],\"mapped\",[21517]],[[12949,12949],\"mapped\",[29305]],[[12950,12950],\"mapped\",[36001]],[[12951,12951],\"mapped\",[31069]],[[12952,12952],\"mapped\",[21172]],[[12953,12953],\"mapped\",[31192]],[[12954,12954],\"mapped\",[30007]],[[12955,12955],\"mapped\",[22899]],[[12956,12956],\"mapped\",[36969]],[[12957,12957],\"mapped\",[20778]],[[12958,12958],\"mapped\",[21360]],[[12959,12959],\"mapped\",[27880]],[[12960,12960],\"mapped\",[38917]],[[12961,12961],\"mapped\",[20241]],[[12962,12962],\"mapped\",[20889]],[[12963,12963],\"mapped\",[27491]],[[12964,12964],\"mapped\",[19978]],[[12965,12965],\"mapped\",[20013]],[[12966,12966],\"mapped\",[19979]],[[12967,12967],\"mapped\",[24038]],[[12968,12968],\"mapped\",[21491]],[[12969,12969],\"mapped\",[21307]],[[12970,12970],\"mapped\",[23447]],[[12971,12971],\"mapped\",[23398]],[[12972,12972],\"mapped\",[30435]],[[12973,12973],\"mapped\",[20225]],[[12974,12974],\"mapped\",[36039]],[[12975,12975],\"mapped\",[21332]],[[12976,12976],\"mapped\",[22812]],[[12977,12977],\"mapped\",[51,54]],[[12978,12978],\"mapped\",[51,55]],[[12979,12979],\"mapped\",[51,56]],[[12980,12980],\"mapped\",[51,57]],[[12981,12981],\"mapped\",[52,48]],[[12982,12982],\"mapped\",[52,49]],[[12983,12983],\"mapped\",[52,50]],[[12984,12984],\"mapped\",[52,51]],[[12985,12985],\"mapped\",[52,52]],[[12986,12986],\"mapped\",[52,53]],[[12987,12987],\"mapped\",[52,54]],[[12988,12988],\"mapped\",[52,55]],[[12989,12989],\"mapped\",[52,56]],[[12990,12990],\"mapped\",[52,57]],[[12991,12991],\"mapped\",[53,48]],[[12992,12992],\"mapped\",[49,26376]],[[12993,12993],\"mapped\",[50,26376]],[[12994,12994],\"mapped\",[51,26376]],[[12995,12995],\"mapped\",[52,26376]],[[12996,12996],\"mapped\",[53,26376]],[[12997,12997],\"mapped\",[54,26376]],[[12998,12998],\"mapped\",[55,26376]],[[12999,12999],\"mapped\",[56,26376]],[[13000,13000],\"mapped\",[57,26376]],[[13001,13001],\"mapped\",[49,48,26376]],[[13002,13002],\"mapped\",[49,49,26376]],[[13003,13003],\"mapped\",[49,50,26376]],[[13004,13004],\"mapped\",[104,103]],[[13005,13005],\"mapped\",[101,114,103]],[[13006,13006],\"mapped\",[101,118]],[[13007,13007],\"mapped\",[108,116,100]],[[13008,13008],\"mapped\",[12450]],[[13009,13009],\"mapped\",[12452]],[[13010,13010],\"mapped\",[12454]],[[13011,13011],\"mapped\",[12456]],[[13012,13012],\"mapped\",[12458]],[[13013,13013],\"mapped\",[12459]],[[13014,13014],\"mapped\",[12461]],[[13015,13015],\"mapped\",[12463]],[[13016,13016],\"mapped\",[12465]],[[13017,13017],\"mapped\",[12467]],[[13018,13018],\"mapped\",[12469]],[[13019,13019],\"mapped\",[12471]],[[13020,13020],\"mapped\",[12473]],[[13021,13021],\"mapped\",[12475]],[[13022,13022],\"mapped\",[12477]],[[13023,13023],\"mapped\",[12479]],[[13024,13024],\"mapped\",[12481]],[[13025,13025],\"mapped\",[12484]],[[13026,13026],\"mapped\",[12486]],[[13027,13027],\"mapped\",[12488]],[[13028,13028],\"mapped\",[12490]],[[13029,13029],\"mapped\",[12491]],[[13030,13030],\"mapped\",[12492]],[[13031,13031],\"mapped\",[12493]],[[13032,13032],\"mapped\",[12494]],[[13033,13033],\"mapped\",[12495]],[[13034,13034],\"mapped\",[12498]],[[13035,13035],\"mapped\",[12501]],[[13036,13036],\"mapped\",[12504]],[[13037,13037],\"mapped\",[12507]],[[13038,13038],\"mapped\",[12510]],[[13039,13039],\"mapped\",[12511]],[[13040,13040],\"mapped\",[12512]],[[13041,13041],\"mapped\",[12513]],[[13042,13042],\"mapped\",[12514]],[[13043,13043],\"mapped\",[12516]],[[13044,13044],\"mapped\",[12518]],[[13045,13045],\"mapped\",[12520]],[[13046,13046],\"mapped\",[12521]],[[13047,13047],\"mapped\",[12522]],[[13048,13048],\"mapped\",[12523]],[[13049,13049],\"mapped\",[12524]],[[13050,13050],\"mapped\",[12525]],[[13051,13051],\"mapped\",[12527]],[[13052,13052],\"mapped\",[12528]],[[13053,13053],\"mapped\",[12529]],[[13054,13054],\"mapped\",[12530]],[[13055,13055],\"disallowed\"],[[13056,13056],\"mapped\",[12450,12497,12540,12488]],[[13057,13057],\"mapped\",[12450,12523,12501,12449]],[[13058,13058],\"mapped\",[12450,12531,12506,12450]],[[13059,13059],\"mapped\",[12450,12540,12523]],[[13060,13060],\"mapped\",[12452,12491,12531,12464]],[[13061,13061],\"mapped\",[12452,12531,12481]],[[13062,13062],\"mapped\",[12454,12457,12531]],[[13063,13063],\"mapped\",[12456,12473,12463,12540,12489]],[[13064,13064],\"mapped\",[12456,12540,12459,12540]],[[13065,13065],\"mapped\",[12458,12531,12473]],[[13066,13066],\"mapped\",[12458,12540,12512]],[[13067,13067],\"mapped\",[12459,12452,12522]],[[13068,13068],\"mapped\",[12459,12521,12483,12488]],[[13069,13069],\"mapped\",[12459,12525,12522,12540]],[[13070,13070],\"mapped\",[12460,12525,12531]],[[13071,13071],\"mapped\",[12460,12531,12510]],[[13072,13072],\"mapped\",[12462,12460]],[[13073,13073],\"mapped\",[12462,12491,12540]],[[13074,13074],\"mapped\",[12461,12517,12522,12540]],[[13075,13075],\"mapped\",[12462,12523,12480,12540]],[[13076,13076],\"mapped\",[12461,12525]],[[13077,13077],\"mapped\",[12461,12525,12464,12521,12512]],[[13078,13078],\"mapped\",[12461,12525,12513,12540,12488,12523]],[[13079,13079],\"mapped\",[12461,12525,12527,12483,12488]],[[13080,13080],\"mapped\",[12464,12521,12512]],[[13081,13081],\"mapped\",[12464,12521,12512,12488,12531]],[[13082,13082],\"mapped\",[12463,12523,12476,12452,12525]],[[13083,13083],\"mapped\",[12463,12525,12540,12493]],[[13084,13084],\"mapped\",[12465,12540,12473]],[[13085,13085],\"mapped\",[12467,12523,12490]],[[13086,13086],\"mapped\",[12467,12540,12509]],[[13087,13087],\"mapped\",[12469,12452,12463,12523]],[[13088,13088],\"mapped\",[12469,12531,12481,12540,12512]],[[13089,13089],\"mapped\",[12471,12522,12531,12464]],[[13090,13090],\"mapped\",[12475,12531,12481]],[[13091,13091],\"mapped\",[12475,12531,12488]],[[13092,13092],\"mapped\",[12480,12540,12473]],[[13093,13093],\"mapped\",[12487,12471]],[[13094,13094],\"mapped\",[12489,12523]],[[13095,13095],\"mapped\",[12488,12531]],[[13096,13096],\"mapped\",[12490,12494]],[[13097,13097],\"mapped\",[12494,12483,12488]],[[13098,13098],\"mapped\",[12495,12452,12484]],[[13099,13099],\"mapped\",[12497,12540,12475,12531,12488]],[[13100,13100],\"mapped\",[12497,12540,12484]],[[13101,13101],\"mapped\",[12496,12540,12524,12523]],[[13102,13102],\"mapped\",[12500,12450,12473,12488,12523]],[[13103,13103],\"mapped\",[12500,12463,12523]],[[13104,13104],\"mapped\",[12500,12467]],[[13105,13105],\"mapped\",[12499,12523]],[[13106,13106],\"mapped\",[12501,12449,12521,12483,12489]],[[13107,13107],\"mapped\",[12501,12451,12540,12488]],[[13108,13108],\"mapped\",[12502,12483,12471,12455,12523]],[[13109,13109],\"mapped\",[12501,12521,12531]],[[13110,13110],\"mapped\",[12504,12463,12479,12540,12523]],[[13111,13111],\"mapped\",[12506,12477]],[[13112,13112],\"mapped\",[12506,12491,12498]],[[13113,13113],\"mapped\",[12504,12523,12484]],[[13114,13114],\"mapped\",[12506,12531,12473]],[[13115,13115],\"mapped\",[12506,12540,12472]],[[13116,13116],\"mapped\",[12505,12540,12479]],[[13117,13117],\"mapped\",[12509,12452,12531,12488]],[[13118,13118],\"mapped\",[12508,12523,12488]],[[13119,13119],\"mapped\",[12507,12531]],[[13120,13120],\"mapped\",[12509,12531,12489]],[[13121,13121],\"mapped\",[12507,12540,12523]],[[13122,13122],\"mapped\",[12507,12540,12531]],[[13123,13123],\"mapped\",[12510,12452,12463,12525]],[[13124,13124],\"mapped\",[12510,12452,12523]],[[13125,13125],\"mapped\",[12510,12483,12495]],[[13126,13126],\"mapped\",[12510,12523,12463]],[[13127,13127],\"mapped\",[12510,12531,12471,12519,12531]],[[13128,13128],\"mapped\",[12511,12463,12525,12531]],[[13129,13129],\"mapped\",[12511,12522]],[[13130,13130],\"mapped\",[12511,12522,12496,12540,12523]],[[13131,13131],\"mapped\",[12513,12460]],[[13132,13132],\"mapped\",[12513,12460,12488,12531]],[[13133,13133],\"mapped\",[12513,12540,12488,12523]],[[13134,13134],\"mapped\",[12516,12540,12489]],[[13135,13135],\"mapped\",[12516,12540,12523]],[[13136,13136],\"mapped\",[12518,12450,12531]],[[13137,13137],\"mapped\",[12522,12483,12488,12523]],[[13138,13138],\"mapped\",[12522,12521]],[[13139,13139],\"mapped\",[12523,12500,12540]],[[13140,13140],\"mapped\",[12523,12540,12502,12523]],[[13141,13141],\"mapped\",[12524,12512]],[[13142,13142],\"mapped\",[12524,12531,12488,12466,12531]],[[13143,13143],\"mapped\",[12527,12483,12488]],[[13144,13144],\"mapped\",[48,28857]],[[13145,13145],\"mapped\",[49,28857]],[[13146,13146],\"mapped\",[50,28857]],[[13147,13147],\"mapped\",[51,28857]],[[13148,13148],\"mapped\",[52,28857]],[[13149,13149],\"mapped\",[53,28857]],[[13150,13150],\"mapped\",[54,28857]],[[13151,13151],\"mapped\",[55,28857]],[[13152,13152],\"mapped\",[56,28857]],[[13153,13153],\"mapped\",[57,28857]],[[13154,13154],\"mapped\",[49,48,28857]],[[13155,13155],\"mapped\",[49,49,28857]],[[13156,13156],\"mapped\",[49,50,28857]],[[13157,13157],\"mapped\",[49,51,28857]],[[13158,13158],\"mapped\",[49,52,28857]],[[13159,13159],\"mapped\",[49,53,28857]],[[13160,13160],\"mapped\",[49,54,28857]],[[13161,13161],\"mapped\",[49,55,28857]],[[13162,13162],\"mapped\",[49,56,28857]],[[13163,13163],\"mapped\",[49,57,28857]],[[13164,13164],\"mapped\",[50,48,28857]],[[13165,13165],\"mapped\",[50,49,28857]],[[13166,13166],\"mapped\",[50,50,28857]],[[13167,13167],\"mapped\",[50,51,28857]],[[13168,13168],\"mapped\",[50,52,28857]],[[13169,13169],\"mapped\",[104,112,97]],[[13170,13170],\"mapped\",[100,97]],[[13171,13171],\"mapped\",[97,117]],[[13172,13172],\"mapped\",[98,97,114]],[[13173,13173],\"mapped\",[111,118]],[[13174,13174],\"mapped\",[112,99]],[[13175,13175],\"mapped\",[100,109]],[[13176,13176],\"mapped\",[100,109,50]],[[13177,13177],\"mapped\",[100,109,51]],[[13178,13178],\"mapped\",[105,117]],[[13179,13179],\"mapped\",[24179,25104]],[[13180,13180],\"mapped\",[26157,21644]],[[13181,13181],\"mapped\",[22823,27491]],[[13182,13182],\"mapped\",[26126,27835]],[[13183,13183],\"mapped\",[26666,24335,20250,31038]],[[13184,13184],\"mapped\",[112,97]],[[13185,13185],\"mapped\",[110,97]],[[13186,13186],\"mapped\",[956,97]],[[13187,13187],\"mapped\",[109,97]],[[13188,13188],\"mapped\",[107,97]],[[13189,13189],\"mapped\",[107,98]],[[13190,13190],\"mapped\",[109,98]],[[13191,13191],\"mapped\",[103,98]],[[13192,13192],\"mapped\",[99,97,108]],[[13193,13193],\"mapped\",[107,99,97,108]],[[13194,13194],\"mapped\",[112,102]],[[13195,13195],\"mapped\",[110,102]],[[13196,13196],\"mapped\",[956,102]],[[13197,13197],\"mapped\",[956,103]],[[13198,13198],\"mapped\",[109,103]],[[13199,13199],\"mapped\",[107,103]],[[13200,13200],\"mapped\",[104,122]],[[13201,13201],\"mapped\",[107,104,122]],[[13202,13202],\"mapped\",[109,104,122]],[[13203,13203],\"mapped\",[103,104,122]],[[13204,13204],\"mapped\",[116,104,122]],[[13205,13205],\"mapped\",[956,108]],[[13206,13206],\"mapped\",[109,108]],[[13207,13207],\"mapped\",[100,108]],[[13208,13208],\"mapped\",[107,108]],[[13209,13209],\"mapped\",[102,109]],[[13210,13210],\"mapped\",[110,109]],[[13211,13211],\"mapped\",[956,109]],[[13212,13212],\"mapped\",[109,109]],[[13213,13213],\"mapped\",[99,109]],[[13214,13214],\"mapped\",[107,109]],[[13215,13215],\"mapped\",[109,109,50]],[[13216,13216],\"mapped\",[99,109,50]],[[13217,13217],\"mapped\",[109,50]],[[13218,13218],\"mapped\",[107,109,50]],[[13219,13219],\"mapped\",[109,109,51]],[[13220,13220],\"mapped\",[99,109,51]],[[13221,13221],\"mapped\",[109,51]],[[13222,13222],\"mapped\",[107,109,51]],[[13223,13223],\"mapped\",[109,8725,115]],[[13224,13224],\"mapped\",[109,8725,115,50]],[[13225,13225],\"mapped\",[112,97]],[[13226,13226],\"mapped\",[107,112,97]],[[13227,13227],\"mapped\",[109,112,97]],[[13228,13228],\"mapped\",[103,112,97]],[[13229,13229],\"mapped\",[114,97,100]],[[13230,13230],\"mapped\",[114,97,100,8725,115]],[[13231,13231],\"mapped\",[114,97,100,8725,115,50]],[[13232,13232],\"mapped\",[112,115]],[[13233,13233],\"mapped\",[110,115]],[[13234,13234],\"mapped\",[956,115]],[[13235,13235],\"mapped\",[109,115]],[[13236,13236],\"mapped\",[112,118]],[[13237,13237],\"mapped\",[110,118]],[[13238,13238],\"mapped\",[956,118]],[[13239,13239],\"mapped\",[109,118]],[[13240,13240],\"mapped\",[107,118]],[[13241,13241],\"mapped\",[109,118]],[[13242,13242],\"mapped\",[112,119]],[[13243,13243],\"mapped\",[110,119]],[[13244,13244],\"mapped\",[956,119]],[[13245,13245],\"mapped\",[109,119]],[[13246,13246],\"mapped\",[107,119]],[[13247,13247],\"mapped\",[109,119]],[[13248,13248],\"mapped\",[107,969]],[[13249,13249],\"mapped\",[109,969]],[[13250,13250],\"disallowed\"],[[13251,13251],\"mapped\",[98,113]],[[13252,13252],\"mapped\",[99,99]],[[13253,13253],\"mapped\",[99,100]],[[13254,13254],\"mapped\",[99,8725,107,103]],[[13255,13255],\"disallowed\"],[[13256,13256],\"mapped\",[100,98]],[[13257,13257],\"mapped\",[103,121]],[[13258,13258],\"mapped\",[104,97]],[[13259,13259],\"mapped\",[104,112]],[[13260,13260],\"mapped\",[105,110]],[[13261,13261],\"mapped\",[107,107]],[[13262,13262],\"mapped\",[107,109]],[[13263,13263],\"mapped\",[107,116]],[[13264,13264],\"mapped\",[108,109]],[[13265,13265],\"mapped\",[108,110]],[[13266,13266],\"mapped\",[108,111,103]],[[13267,13267],\"mapped\",[108,120]],[[13268,13268],\"mapped\",[109,98]],[[13269,13269],\"mapped\",[109,105,108]],[[13270,13270],\"mapped\",[109,111,108]],[[13271,13271],\"mapped\",[112,104]],[[13272,13272],\"disallowed\"],[[13273,13273],\"mapped\",[112,112,109]],[[13274,13274],\"mapped\",[112,114]],[[13275,13275],\"mapped\",[115,114]],[[13276,13276],\"mapped\",[115,118]],[[13277,13277],\"mapped\",[119,98]],[[13278,13278],\"mapped\",[118,8725,109]],[[13279,13279],\"mapped\",[97,8725,109]],[[13280,13280],\"mapped\",[49,26085]],[[13281,13281],\"mapped\",[50,26085]],[[13282,13282],\"mapped\",[51,26085]],[[13283,13283],\"mapped\",[52,26085]],[[13284,13284],\"mapped\",[53,26085]],[[13285,13285],\"mapped\",[54,26085]],[[13286,13286],\"mapped\",[55,26085]],[[13287,13287],\"mapped\",[56,26085]],[[13288,13288],\"mapped\",[57,26085]],[[13289,13289],\"mapped\",[49,48,26085]],[[13290,13290],\"mapped\",[49,49,26085]],[[13291,13291],\"mapped\",[49,50,26085]],[[13292,13292],\"mapped\",[49,51,26085]],[[13293,13293],\"mapped\",[49,52,26085]],[[13294,13294],\"mapped\",[49,53,26085]],[[13295,13295],\"mapped\",[49,54,26085]],[[13296,13296],\"mapped\",[49,55,26085]],[[13297,13297],\"mapped\",[49,56,26085]],[[13298,13298],\"mapped\",[49,57,26085]],[[13299,13299],\"mapped\",[50,48,26085]],[[13300,13300],\"mapped\",[50,49,26085]],[[13301,13301],\"mapped\",[50,50,26085]],[[13302,13302],\"mapped\",[50,51,26085]],[[13303,13303],\"mapped\",[50,52,26085]],[[13304,13304],\"mapped\",[50,53,26085]],[[13305,13305],\"mapped\",[50,54,26085]],[[13306,13306],\"mapped\",[50,55,26085]],[[13307,13307],\"mapped\",[50,56,26085]],[[13308,13308],\"mapped\",[50,57,26085]],[[13309,13309],\"mapped\",[51,48,26085]],[[13310,13310],\"mapped\",[51,49,26085]],[[13311,13311],\"mapped\",[103,97,108]],[[13312,19893],\"valid\"],[[19894,19903],\"disallowed\"],[[19904,19967],\"valid\",[],\"NV8\"],[[19968,40869],\"valid\"],[[40870,40891],\"valid\"],[[40892,40899],\"valid\"],[[40900,40907],\"valid\"],[[40908,40908],\"valid\"],[[40909,40917],\"valid\"],[[40918,40959],\"disallowed\"],[[40960,42124],\"valid\"],[[42125,42127],\"disallowed\"],[[42128,42145],\"valid\",[],\"NV8\"],[[42146,42147],\"valid\",[],\"NV8\"],[[42148,42163],\"valid\",[],\"NV8\"],[[42164,42164],\"valid\",[],\"NV8\"],[[42165,42176],\"valid\",[],\"NV8\"],[[42177,42177],\"valid\",[],\"NV8\"],[[42178,42180],\"valid\",[],\"NV8\"],[[42181,42181],\"valid\",[],\"NV8\"],[[42182,42182],\"valid\",[],\"NV8\"],[[42183,42191],\"disallowed\"],[[42192,42237],\"valid\"],[[42238,42239],\"valid\",[],\"NV8\"],[[42240,42508],\"valid\"],[[42509,42511],\"valid\",[],\"NV8\"],[[42512,42539],\"valid\"],[[42540,42559],\"disallowed\"],[[42560,42560],\"mapped\",[42561]],[[42561,42561],\"valid\"],[[42562,42562],\"mapped\",[42563]],[[42563,42563],\"valid\"],[[42564,42564],\"mapped\",[42565]],[[42565,42565],\"valid\"],[[42566,42566],\"mapped\",[42567]],[[42567,42567],\"valid\"],[[42568,42568],\"mapped\",[42569]],[[42569,42569],\"valid\"],[[42570,42570],\"mapped\",[42571]],[[42571,42571],\"valid\"],[[42572,42572],\"mapped\",[42573]],[[42573,42573],\"valid\"],[[42574,42574],\"mapped\",[42575]],[[42575,42575],\"valid\"],[[42576,42576],\"mapped\",[42577]],[[42577,42577],\"valid\"],[[42578,42578],\"mapped\",[42579]],[[42579,42579],\"valid\"],[[42580,42580],\"mapped\",[42581]],[[42581,42581],\"valid\"],[[42582,42582],\"mapped\",[42583]],[[42583,42583],\"valid\"],[[42584,42584],\"mapped\",[42585]],[[42585,42585],\"valid\"],[[42586,42586],\"mapped\",[42587]],[[42587,42587],\"valid\"],[[42588,42588],\"mapped\",[42589]],[[42589,42589],\"valid\"],[[42590,42590],\"mapped\",[42591]],[[42591,42591],\"valid\"],[[42592,42592],\"mapped\",[42593]],[[42593,42593],\"valid\"],[[42594,42594],\"mapped\",[42595]],[[42595,42595],\"valid\"],[[42596,42596],\"mapped\",[42597]],[[42597,42597],\"valid\"],[[42598,42598],\"mapped\",[42599]],[[42599,42599],\"valid\"],[[42600,42600],\"mapped\",[42601]],[[42601,42601],\"valid\"],[[42602,42602],\"mapped\",[42603]],[[42603,42603],\"valid\"],[[42604,42604],\"mapped\",[42605]],[[42605,42607],\"valid\"],[[42608,42611],\"valid\",[],\"NV8\"],[[42612,42619],\"valid\"],[[42620,42621],\"valid\"],[[42622,42622],\"valid\",[],\"NV8\"],[[42623,42623],\"valid\"],[[42624,42624],\"mapped\",[42625]],[[42625,42625],\"valid\"],[[42626,42626],\"mapped\",[42627]],[[42627,42627],\"valid\"],[[42628,42628],\"mapped\",[42629]],[[42629,42629],\"valid\"],[[42630,42630],\"mapped\",[42631]],[[42631,42631],\"valid\"],[[42632,42632],\"mapped\",[42633]],[[42633,42633],\"valid\"],[[42634,42634],\"mapped\",[42635]],[[42635,42635],\"valid\"],[[42636,42636],\"mapped\",[42637]],[[42637,42637],\"valid\"],[[42638,42638],\"mapped\",[42639]],[[42639,42639],\"valid\"],[[42640,42640],\"mapped\",[42641]],[[42641,42641],\"valid\"],[[42642,42642],\"mapped\",[42643]],[[42643,42643],\"valid\"],[[42644,42644],\"mapped\",[42645]],[[42645,42645],\"valid\"],[[42646,42646],\"mapped\",[42647]],[[42647,42647],\"valid\"],[[42648,42648],\"mapped\",[42649]],[[42649,42649],\"valid\"],[[42650,42650],\"mapped\",[42651]],[[42651,42651],\"valid\"],[[42652,42652],\"mapped\",[1098]],[[42653,42653],\"mapped\",[1100]],[[42654,42654],\"valid\"],[[42655,42655],\"valid\"],[[42656,42725],\"valid\"],[[42726,42735],\"valid\",[],\"NV8\"],[[42736,42737],\"valid\"],[[42738,42743],\"valid\",[],\"NV8\"],[[42744,42751],\"disallowed\"],[[42752,42774],\"valid\",[],\"NV8\"],[[42775,42778],\"valid\"],[[42779,42783],\"valid\"],[[42784,42785],\"valid\",[],\"NV8\"],[[42786,42786],\"mapped\",[42787]],[[42787,42787],\"valid\"],[[42788,42788],\"mapped\",[42789]],[[42789,42789],\"valid\"],[[42790,42790],\"mapped\",[42791]],[[42791,42791],\"valid\"],[[42792,42792],\"mapped\",[42793]],[[42793,42793],\"valid\"],[[42794,42794],\"mapped\",[42795]],[[42795,42795],\"valid\"],[[42796,42796],\"mapped\",[42797]],[[42797,42797],\"valid\"],[[42798,42798],\"mapped\",[42799]],[[42799,42801],\"valid\"],[[42802,42802],\"mapped\",[42803]],[[42803,42803],\"valid\"],[[42804,42804],\"mapped\",[42805]],[[42805,42805],\"valid\"],[[42806,42806],\"mapped\",[42807]],[[42807,42807],\"valid\"],[[42808,42808],\"mapped\",[42809]],[[42809,42809],\"valid\"],[[42810,42810],\"mapped\",[42811]],[[42811,42811],\"valid\"],[[42812,42812],\"mapped\",[42813]],[[42813,42813],\"valid\"],[[42814,42814],\"mapped\",[42815]],[[42815,42815],\"valid\"],[[42816,42816],\"mapped\",[42817]],[[42817,42817],\"valid\"],[[42818,42818],\"mapped\",[42819]],[[42819,42819],\"valid\"],[[42820,42820],\"mapped\",[42821]],[[42821,42821],\"valid\"],[[42822,42822],\"mapped\",[42823]],[[42823,42823],\"valid\"],[[42824,42824],\"mapped\",[42825]],[[42825,42825],\"valid\"],[[42826,42826],\"mapped\",[42827]],[[42827,42827],\"valid\"],[[42828,42828],\"mapped\",[42829]],[[42829,42829],\"valid\"],[[42830,42830],\"mapped\",[42831]],[[42831,42831],\"valid\"],[[42832,42832],\"mapped\",[42833]],[[42833,42833],\"valid\"],[[42834,42834],\"mapped\",[42835]],[[42835,42835],\"valid\"],[[42836,42836],\"mapped\",[42837]],[[42837,42837],\"valid\"],[[42838,42838],\"mapped\",[42839]],[[42839,42839],\"valid\"],[[42840,42840],\"mapped\",[42841]],[[42841,42841],\"valid\"],[[42842,42842],\"mapped\",[42843]],[[42843,42843],\"valid\"],[[42844,42844],\"mapped\",[42845]],[[42845,42845],\"valid\"],[[42846,42846],\"mapped\",[42847]],[[42847,42847],\"valid\"],[[42848,42848],\"mapped\",[42849]],[[42849,42849],\"valid\"],[[42850,42850],\"mapped\",[42851]],[[42851,42851],\"valid\"],[[42852,42852],\"mapped\",[42853]],[[42853,42853],\"valid\"],[[42854,42854],\"mapped\",[42855]],[[42855,42855],\"valid\"],[[42856,42856],\"mapped\",[42857]],[[42857,42857],\"valid\"],[[42858,42858],\"mapped\",[42859]],[[42859,42859],\"valid\"],[[42860,42860],\"mapped\",[42861]],[[42861,42861],\"valid\"],[[42862,42862],\"mapped\",[42863]],[[42863,42863],\"valid\"],[[42864,42864],\"mapped\",[42863]],[[42865,42872],\"valid\"],[[42873,42873],\"mapped\",[42874]],[[42874,42874],\"valid\"],[[42875,42875],\"mapped\",[42876]],[[42876,42876],\"valid\"],[[42877,42877],\"mapped\",[7545]],[[42878,42878],\"mapped\",[42879]],[[42879,42879],\"valid\"],[[42880,42880],\"mapped\",[42881]],[[42881,42881],\"valid\"],[[42882,42882],\"mapped\",[42883]],[[42883,42883],\"valid\"],[[42884,42884],\"mapped\",[42885]],[[42885,42885],\"valid\"],[[42886,42886],\"mapped\",[42887]],[[42887,42888],\"valid\"],[[42889,42890],\"valid\",[],\"NV8\"],[[42891,42891],\"mapped\",[42892]],[[42892,42892],\"valid\"],[[42893,42893],\"mapped\",[613]],[[42894,42894],\"valid\"],[[42895,42895],\"valid\"],[[42896,42896],\"mapped\",[42897]],[[42897,42897],\"valid\"],[[42898,42898],\"mapped\",[42899]],[[42899,42899],\"valid\"],[[42900,42901],\"valid\"],[[42902,42902],\"mapped\",[42903]],[[42903,42903],\"valid\"],[[42904,42904],\"mapped\",[42905]],[[42905,42905],\"valid\"],[[42906,42906],\"mapped\",[42907]],[[42907,42907],\"valid\"],[[42908,42908],\"mapped\",[42909]],[[42909,42909],\"valid\"],[[42910,42910],\"mapped\",[42911]],[[42911,42911],\"valid\"],[[42912,42912],\"mapped\",[42913]],[[42913,42913],\"valid\"],[[42914,42914],\"mapped\",[42915]],[[42915,42915],\"valid\"],[[42916,42916],\"mapped\",[42917]],[[42917,42917],\"valid\"],[[42918,42918],\"mapped\",[42919]],[[42919,42919],\"valid\"],[[42920,42920],\"mapped\",[42921]],[[42921,42921],\"valid\"],[[42922,42922],\"mapped\",[614]],[[42923,42923],\"mapped\",[604]],[[42924,42924],\"mapped\",[609]],[[42925,42925],\"mapped\",[620]],[[42926,42927],\"disallowed\"],[[42928,42928],\"mapped\",[670]],[[42929,42929],\"mapped\",[647]],[[42930,42930],\"mapped\",[669]],[[42931,42931],\"mapped\",[43859]],[[42932,42932],\"mapped\",[42933]],[[42933,42933],\"valid\"],[[42934,42934],\"mapped\",[42935]],[[42935,42935],\"valid\"],[[42936,42998],\"disallowed\"],[[42999,42999],\"valid\"],[[43000,43000],\"mapped\",[295]],[[43001,43001],\"mapped\",[339]],[[43002,43002],\"valid\"],[[43003,43007],\"valid\"],[[43008,43047],\"valid\"],[[43048,43051],\"valid\",[],\"NV8\"],[[43052,43055],\"disallowed\"],[[43056,43065],\"valid\",[],\"NV8\"],[[43066,43071],\"disallowed\"],[[43072,43123],\"valid\"],[[43124,43127],\"valid\",[],\"NV8\"],[[43128,43135],\"disallowed\"],[[43136,43204],\"valid\"],[[43205,43213],\"disallowed\"],[[43214,43215],\"valid\",[],\"NV8\"],[[43216,43225],\"valid\"],[[43226,43231],\"disallowed\"],[[43232,43255],\"valid\"],[[43256,43258],\"valid\",[],\"NV8\"],[[43259,43259],\"valid\"],[[43260,43260],\"valid\",[],\"NV8\"],[[43261,43261],\"valid\"],[[43262,43263],\"disallowed\"],[[43264,43309],\"valid\"],[[43310,43311],\"valid\",[],\"NV8\"],[[43312,43347],\"valid\"],[[43348,43358],\"disallowed\"],[[43359,43359],\"valid\",[],\"NV8\"],[[43360,43388],\"valid\",[],\"NV8\"],[[43389,43391],\"disallowed\"],[[43392,43456],\"valid\"],[[43457,43469],\"valid\",[],\"NV8\"],[[43470,43470],\"disallowed\"],[[43471,43481],\"valid\"],[[43482,43485],\"disallowed\"],[[43486,43487],\"valid\",[],\"NV8\"],[[43488,43518],\"valid\"],[[43519,43519],\"disallowed\"],[[43520,43574],\"valid\"],[[43575,43583],\"disallowed\"],[[43584,43597],\"valid\"],[[43598,43599],\"disallowed\"],[[43600,43609],\"valid\"],[[43610,43611],\"disallowed\"],[[43612,43615],\"valid\",[],\"NV8\"],[[43616,43638],\"valid\"],[[43639,43641],\"valid\",[],\"NV8\"],[[43642,43643],\"valid\"],[[43644,43647],\"valid\"],[[43648,43714],\"valid\"],[[43715,43738],\"disallowed\"],[[43739,43741],\"valid\"],[[43742,43743],\"valid\",[],\"NV8\"],[[43744,43759],\"valid\"],[[43760,43761],\"valid\",[],\"NV8\"],[[43762,43766],\"valid\"],[[43767,43776],\"disallowed\"],[[43777,43782],\"valid\"],[[43783,43784],\"disallowed\"],[[43785,43790],\"valid\"],[[43791,43792],\"disallowed\"],[[43793,43798],\"valid\"],[[43799,43807],\"disallowed\"],[[43808,43814],\"valid\"],[[43815,43815],\"disallowed\"],[[43816,43822],\"valid\"],[[43823,43823],\"disallowed\"],[[43824,43866],\"valid\"],[[43867,43867],\"valid\",[],\"NV8\"],[[43868,43868],\"mapped\",[42791]],[[43869,43869],\"mapped\",[43831]],[[43870,43870],\"mapped\",[619]],[[43871,43871],\"mapped\",[43858]],[[43872,43875],\"valid\"],[[43876,43877],\"valid\"],[[43878,43887],\"disallowed\"],[[43888,43888],\"mapped\",[5024]],[[43889,43889],\"mapped\",[5025]],[[43890,43890],\"mapped\",[5026]],[[43891,43891],\"mapped\",[5027]],[[43892,43892],\"mapped\",[5028]],[[43893,43893],\"mapped\",[5029]],[[43894,43894],\"mapped\",[5030]],[[43895,43895],\"mapped\",[5031]],[[43896,43896],\"mapped\",[5032]],[[43897,43897],\"mapped\",[5033]],[[43898,43898],\"mapped\",[5034]],[[43899,43899],\"mapped\",[5035]],[[43900,43900],\"mapped\",[5036]],[[43901,43901],\"mapped\",[5037]],[[43902,43902],\"mapped\",[5038]],[[43903,43903],\"mapped\",[5039]],[[43904,43904],\"mapped\",[5040]],[[43905,43905],\"mapped\",[5041]],[[43906,43906],\"mapped\",[5042]],[[43907,43907],\"mapped\",[5043]],[[43908,43908],\"mapped\",[5044]],[[43909,43909],\"mapped\",[5045]],[[43910,43910],\"mapped\",[5046]],[[43911,43911],\"mapped\",[5047]],[[43912,43912],\"mapped\",[5048]],[[43913,43913],\"mapped\",[5049]],[[43914,43914],\"mapped\",[5050]],[[43915,43915],\"mapped\",[5051]],[[43916,43916],\"mapped\",[5052]],[[43917,43917],\"mapped\",[5053]],[[43918,43918],\"mapped\",[5054]],[[43919,43919],\"mapped\",[5055]],[[43920,43920],\"mapped\",[5056]],[[43921,43921],\"mapped\",[5057]],[[43922,43922],\"mapped\",[5058]],[[43923,43923],\"mapped\",[5059]],[[43924,43924],\"mapped\",[5060]],[[43925,43925],\"mapped\",[5061]],[[43926,43926],\"mapped\",[5062]],[[43927,43927],\"mapped\",[5063]],[[43928,43928],\"mapped\",[5064]],[[43929,43929],\"mapped\",[5065]],[[43930,43930],\"mapped\",[5066]],[[43931,43931],\"mapped\",[5067]],[[43932,43932],\"mapped\",[5068]],[[43933,43933],\"mapped\",[5069]],[[43934,43934],\"mapped\",[5070]],[[43935,43935],\"mapped\",[5071]],[[43936,43936],\"mapped\",[5072]],[[43937,43937],\"mapped\",[5073]],[[43938,43938],\"mapped\",[5074]],[[43939,43939],\"mapped\",[5075]],[[43940,43940],\"mapped\",[5076]],[[43941,43941],\"mapped\",[5077]],[[43942,43942],\"mapped\",[5078]],[[43943,43943],\"mapped\",[5079]],[[43944,43944],\"mapped\",[5080]],[[43945,43945],\"mapped\",[5081]],[[43946,43946],\"mapped\",[5082]],[[43947,43947],\"mapped\",[5083]],[[43948,43948],\"mapped\",[5084]],[[43949,43949],\"mapped\",[5085]],[[43950,43950],\"mapped\",[5086]],[[43951,43951],\"mapped\",[5087]],[[43952,43952],\"mapped\",[5088]],[[43953,43953],\"mapped\",[5089]],[[43954,43954],\"mapped\",[5090]],[[43955,43955],\"mapped\",[5091]],[[43956,43956],\"mapped\",[5092]],[[43957,43957],\"mapped\",[5093]],[[43958,43958],\"mapped\",[5094]],[[43959,43959],\"mapped\",[5095]],[[43960,43960],\"mapped\",[5096]],[[43961,43961],\"mapped\",[5097]],[[43962,43962],\"mapped\",[5098]],[[43963,43963],\"mapped\",[5099]],[[43964,43964],\"mapped\",[5100]],[[43965,43965],\"mapped\",[5101]],[[43966,43966],\"mapped\",[5102]],[[43967,43967],\"mapped\",[5103]],[[43968,44010],\"valid\"],[[44011,44011],\"valid\",[],\"NV8\"],[[44012,44013],\"valid\"],[[44014,44015],\"disallowed\"],[[44016,44025],\"valid\"],[[44026,44031],\"disallowed\"],[[44032,55203],\"valid\"],[[55204,55215],\"disallowed\"],[[55216,55238],\"valid\",[],\"NV8\"],[[55239,55242],\"disallowed\"],[[55243,55291],\"valid\",[],\"NV8\"],[[55292,55295],\"disallowed\"],[[55296,57343],\"disallowed\"],[[57344,63743],\"disallowed\"],[[63744,63744],\"mapped\",[35912]],[[63745,63745],\"mapped\",[26356]],[[63746,63746],\"mapped\",[36554]],[[63747,63747],\"mapped\",[36040]],[[63748,63748],\"mapped\",[28369]],[[63749,63749],\"mapped\",[20018]],[[63750,63750],\"mapped\",[21477]],[[63751,63752],\"mapped\",[40860]],[[63753,63753],\"mapped\",[22865]],[[63754,63754],\"mapped\",[37329]],[[63755,63755],\"mapped\",[21895]],[[63756,63756],\"mapped\",[22856]],[[63757,63757],\"mapped\",[25078]],[[63758,63758],\"mapped\",[30313]],[[63759,63759],\"mapped\",[32645]],[[63760,63760],\"mapped\",[34367]],[[63761,63761],\"mapped\",[34746]],[[63762,63762],\"mapped\",[35064]],[[63763,63763],\"mapped\",[37007]],[[63764,63764],\"mapped\",[27138]],[[63765,63765],\"mapped\",[27931]],[[63766,63766],\"mapped\",[28889]],[[63767,63767],\"mapped\",[29662]],[[63768,63768],\"mapped\",[33853]],[[63769,63769],\"mapped\",[37226]],[[63770,63770],\"mapped\",[39409]],[[63771,63771],\"mapped\",[20098]],[[63772,63772],\"mapped\",[21365]],[[63773,63773],\"mapped\",[27396]],[[63774,63774],\"mapped\",[29211]],[[63775,63775],\"mapped\",[34349]],[[63776,63776],\"mapped\",[40478]],[[63777,63777],\"mapped\",[23888]],[[63778,63778],\"mapped\",[28651]],[[63779,63779],\"mapped\",[34253]],[[63780,63780],\"mapped\",[35172]],[[63781,63781],\"mapped\",[25289]],[[63782,63782],\"mapped\",[33240]],[[63783,63783],\"mapped\",[34847]],[[63784,63784],\"mapped\",[24266]],[[63785,63785],\"mapped\",[26391]],[[63786,63786],\"mapped\",[28010]],[[63787,63787],\"mapped\",[29436]],[[63788,63788],\"mapped\",[37070]],[[63789,63789],\"mapped\",[20358]],[[63790,63790],\"mapped\",[20919]],[[63791,63791],\"mapped\",[21214]],[[63792,63792],\"mapped\",[25796]],[[63793,63793],\"mapped\",[27347]],[[63794,63794],\"mapped\",[29200]],[[63795,63795],\"mapped\",[30439]],[[63796,63796],\"mapped\",[32769]],[[63797,63797],\"mapped\",[34310]],[[63798,63798],\"mapped\",[34396]],[[63799,63799],\"mapped\",[36335]],[[63800,63800],\"mapped\",[38706]],[[63801,63801],\"mapped\",[39791]],[[63802,63802],\"mapped\",[40442]],[[63803,63803],\"mapped\",[30860]],[[63804,63804],\"mapped\",[31103]],[[63805,63805],\"mapped\",[32160]],[[63806,63806],\"mapped\",[33737]],[[63807,63807],\"mapped\",[37636]],[[63808,63808],\"mapped\",[40575]],[[63809,63809],\"mapped\",[35542]],[[63810,63810],\"mapped\",[22751]],[[63811,63811],\"mapped\",[24324]],[[63812,63812],\"mapped\",[31840]],[[63813,63813],\"mapped\",[32894]],[[63814,63814],\"mapped\",[29282]],[[63815,63815],\"mapped\",[30922]],[[63816,63816],\"mapped\",[36034]],[[63817,63817],\"mapped\",[38647]],[[63818,63818],\"mapped\",[22744]],[[63819,63819],\"mapped\",[23650]],[[63820,63820],\"mapped\",[27155]],[[63821,63821],\"mapped\",[28122]],[[63822,63822],\"mapped\",[28431]],[[63823,63823],\"mapped\",[32047]],[[63824,63824],\"mapped\",[32311]],[[63825,63825],\"mapped\",[38475]],[[63826,63826],\"mapped\",[21202]],[[63827,63827],\"mapped\",[32907]],[[63828,63828],\"mapped\",[20956]],[[63829,63829],\"mapped\",[20940]],[[63830,63830],\"mapped\",[31260]],[[63831,63831],\"mapped\",[32190]],[[63832,63832],\"mapped\",[33777]],[[63833,63833],\"mapped\",[38517]],[[63834,63834],\"mapped\",[35712]],[[63835,63835],\"mapped\",[25295]],[[63836,63836],\"mapped\",[27138]],[[63837,63837],\"mapped\",[35582]],[[63838,63838],\"mapped\",[20025]],[[63839,63839],\"mapped\",[23527]],[[63840,63840],\"mapped\",[24594]],[[63841,63841],\"mapped\",[29575]],[[63842,63842],\"mapped\",[30064]],[[63843,63843],\"mapped\",[21271]],[[63844,63844],\"mapped\",[30971]],[[63845,63845],\"mapped\",[20415]],[[63846,63846],\"mapped\",[24489]],[[63847,63847],\"mapped\",[19981]],[[63848,63848],\"mapped\",[27852]],[[63849,63849],\"mapped\",[25976]],[[63850,63850],\"mapped\",[32034]],[[63851,63851],\"mapped\",[21443]],[[63852,63852],\"mapped\",[22622]],[[63853,63853],\"mapped\",[30465]],[[63854,63854],\"mapped\",[33865]],[[63855,63855],\"mapped\",[35498]],[[63856,63856],\"mapped\",[27578]],[[63857,63857],\"mapped\",[36784]],[[63858,63858],\"mapped\",[27784]],[[63859,63859],\"mapped\",[25342]],[[63860,63860],\"mapped\",[33509]],[[63861,63861],\"mapped\",[25504]],[[63862,63862],\"mapped\",[30053]],[[63863,63863],\"mapped\",[20142]],[[63864,63864],\"mapped\",[20841]],[[63865,63865],\"mapped\",[20937]],[[63866,63866],\"mapped\",[26753]],[[63867,63867],\"mapped\",[31975]],[[63868,63868],\"mapped\",[33391]],[[63869,63869],\"mapped\",[35538]],[[63870,63870],\"mapped\",[37327]],[[63871,63871],\"mapped\",[21237]],[[63872,63872],\"mapped\",[21570]],[[63873,63873],\"mapped\",[22899]],[[63874,63874],\"mapped\",[24300]],[[63875,63875],\"mapped\",[26053]],[[63876,63876],\"mapped\",[28670]],[[63877,63877],\"mapped\",[31018]],[[63878,63878],\"mapped\",[38317]],[[63879,63879],\"mapped\",[39530]],[[63880,63880],\"mapped\",[40599]],[[63881,63881],\"mapped\",[40654]],[[63882,63882],\"mapped\",[21147]],[[63883,63883],\"mapped\",[26310]],[[63884,63884],\"mapped\",[27511]],[[63885,63885],\"mapped\",[36706]],[[63886,63886],\"mapped\",[24180]],[[63887,63887],\"mapped\",[24976]],[[63888,63888],\"mapped\",[25088]],[[63889,63889],\"mapped\",[25754]],[[63890,63890],\"mapped\",[28451]],[[63891,63891],\"mapped\",[29001]],[[63892,63892],\"mapped\",[29833]],[[63893,63893],\"mapped\",[31178]],[[63894,63894],\"mapped\",[32244]],[[63895,63895],\"mapped\",[32879]],[[63896,63896],\"mapped\",[36646]],[[63897,63897],\"mapped\",[34030]],[[63898,63898],\"mapped\",[36899]],[[63899,63899],\"mapped\",[37706]],[[63900,63900],\"mapped\",[21015]],[[63901,63901],\"mapped\",[21155]],[[63902,63902],\"mapped\",[21693]],[[63903,63903],\"mapped\",[28872]],[[63904,63904],\"mapped\",[35010]],[[63905,63905],\"mapped\",[35498]],[[63906,63906],\"mapped\",[24265]],[[63907,63907],\"mapped\",[24565]],[[63908,63908],\"mapped\",[25467]],[[63909,63909],\"mapped\",[27566]],[[63910,63910],\"mapped\",[31806]],[[63911,63911],\"mapped\",[29557]],[[63912,63912],\"mapped\",[20196]],[[63913,63913],\"mapped\",[22265]],[[63914,63914],\"mapped\",[23527]],[[63915,63915],\"mapped\",[23994]],[[63916,63916],\"mapped\",[24604]],[[63917,63917],\"mapped\",[29618]],[[63918,63918],\"mapped\",[29801]],[[63919,63919],\"mapped\",[32666]],[[63920,63920],\"mapped\",[32838]],[[63921,63921],\"mapped\",[37428]],[[63922,63922],\"mapped\",[38646]],[[63923,63923],\"mapped\",[38728]],[[63924,63924],\"mapped\",[38936]],[[63925,63925],\"mapped\",[20363]],[[63926,63926],\"mapped\",[31150]],[[63927,63927],\"mapped\",[37300]],[[63928,63928],\"mapped\",[38584]],[[63929,63929],\"mapped\",[24801]],[[63930,63930],\"mapped\",[20102]],[[63931,63931],\"mapped\",[20698]],[[63932,63932],\"mapped\",[23534]],[[63933,63933],\"mapped\",[23615]],[[63934,63934],\"mapped\",[26009]],[[63935,63935],\"mapped\",[27138]],[[63936,63936],\"mapped\",[29134]],[[63937,63937],\"mapped\",[30274]],[[63938,63938],\"mapped\",[34044]],[[63939,63939],\"mapped\",[36988]],[[63940,63940],\"mapped\",[40845]],[[63941,63941],\"mapped\",[26248]],[[63942,63942],\"mapped\",[38446]],[[63943,63943],\"mapped\",[21129]],[[63944,63944],\"mapped\",[26491]],[[63945,63945],\"mapped\",[26611]],[[63946,63946],\"mapped\",[27969]],[[63947,63947],\"mapped\",[28316]],[[63948,63948],\"mapped\",[29705]],[[63949,63949],\"mapped\",[30041]],[[63950,63950],\"mapped\",[30827]],[[63951,63951],\"mapped\",[32016]],[[63952,63952],\"mapped\",[39006]],[[63953,63953],\"mapped\",[20845]],[[63954,63954],\"mapped\",[25134]],[[63955,63955],\"mapped\",[38520]],[[63956,63956],\"mapped\",[20523]],[[63957,63957],\"mapped\",[23833]],[[63958,63958],\"mapped\",[28138]],[[63959,63959],\"mapped\",[36650]],[[63960,63960],\"mapped\",[24459]],[[63961,63961],\"mapped\",[24900]],[[63962,63962],\"mapped\",[26647]],[[63963,63963],\"mapped\",[29575]],[[63964,63964],\"mapped\",[38534]],[[63965,63965],\"mapped\",[21033]],[[63966,63966],\"mapped\",[21519]],[[63967,63967],\"mapped\",[23653]],[[63968,63968],\"mapped\",[26131]],[[63969,63969],\"mapped\",[26446]],[[63970,63970],\"mapped\",[26792]],[[63971,63971],\"mapped\",[27877]],[[63972,63972],\"mapped\",[29702]],[[63973,63973],\"mapped\",[30178]],[[63974,63974],\"mapped\",[32633]],[[63975,63975],\"mapped\",[35023]],[[63976,63976],\"mapped\",[35041]],[[63977,63977],\"mapped\",[37324]],[[63978,63978],\"mapped\",[38626]],[[63979,63979],\"mapped\",[21311]],[[63980,63980],\"mapped\",[28346]],[[63981,63981],\"mapped\",[21533]],[[63982,63982],\"mapped\",[29136]],[[63983,63983],\"mapped\",[29848]],[[63984,63984],\"mapped\",[34298]],[[63985,63985],\"mapped\",[38563]],[[63986,63986],\"mapped\",[40023]],[[63987,63987],\"mapped\",[40607]],[[63988,63988],\"mapped\",[26519]],[[63989,63989],\"mapped\",[28107]],[[63990,63990],\"mapped\",[33256]],[[63991,63991],\"mapped\",[31435]],[[63992,63992],\"mapped\",[31520]],[[63993,63993],\"mapped\",[31890]],[[63994,63994],\"mapped\",[29376]],[[63995,63995],\"mapped\",[28825]],[[63996,63996],\"mapped\",[35672]],[[63997,63997],\"mapped\",[20160]],[[63998,63998],\"mapped\",[33590]],[[63999,63999],\"mapped\",[21050]],[[64000,64000],\"mapped\",[20999]],[[64001,64001],\"mapped\",[24230]],[[64002,64002],\"mapped\",[25299]],[[64003,64003],\"mapped\",[31958]],[[64004,64004],\"mapped\",[23429]],[[64005,64005],\"mapped\",[27934]],[[64006,64006],\"mapped\",[26292]],[[64007,64007],\"mapped\",[36667]],[[64008,64008],\"mapped\",[34892]],[[64009,64009],\"mapped\",[38477]],[[64010,64010],\"mapped\",[35211]],[[64011,64011],\"mapped\",[24275]],[[64012,64012],\"mapped\",[20800]],[[64013,64013],\"mapped\",[21952]],[[64014,64015],\"valid\"],[[64016,64016],\"mapped\",[22618]],[[64017,64017],\"valid\"],[[64018,64018],\"mapped\",[26228]],[[64019,64020],\"valid\"],[[64021,64021],\"mapped\",[20958]],[[64022,64022],\"mapped\",[29482]],[[64023,64023],\"mapped\",[30410]],[[64024,64024],\"mapped\",[31036]],[[64025,64025],\"mapped\",[31070]],[[64026,64026],\"mapped\",[31077]],[[64027,64027],\"mapped\",[31119]],[[64028,64028],\"mapped\",[38742]],[[64029,64029],\"mapped\",[31934]],[[64030,64030],\"mapped\",[32701]],[[64031,64031],\"valid\"],[[64032,64032],\"mapped\",[34322]],[[64033,64033],\"valid\"],[[64034,64034],\"mapped\",[35576]],[[64035,64036],\"valid\"],[[64037,64037],\"mapped\",[36920]],[[64038,64038],\"mapped\",[37117]],[[64039,64041],\"valid\"],[[64042,64042],\"mapped\",[39151]],[[64043,64043],\"mapped\",[39164]],[[64044,64044],\"mapped\",[39208]],[[64045,64045],\"mapped\",[40372]],[[64046,64046],\"mapped\",[37086]],[[64047,64047],\"mapped\",[38583]],[[64048,64048],\"mapped\",[20398]],[[64049,64049],\"mapped\",[20711]],[[64050,64050],\"mapped\",[20813]],[[64051,64051],\"mapped\",[21193]],[[64052,64052],\"mapped\",[21220]],[[64053,64053],\"mapped\",[21329]],[[64054,64054],\"mapped\",[21917]],[[64055,64055],\"mapped\",[22022]],[[64056,64056],\"mapped\",[22120]],[[64057,64057],\"mapped\",[22592]],[[64058,64058],\"mapped\",[22696]],[[64059,64059],\"mapped\",[23652]],[[64060,64060],\"mapped\",[23662]],[[64061,64061],\"mapped\",[24724]],[[64062,64062],\"mapped\",[24936]],[[64063,64063],\"mapped\",[24974]],[[64064,64064],\"mapped\",[25074]],[[64065,64065],\"mapped\",[25935]],[[64066,64066],\"mapped\",[26082]],[[64067,64067],\"mapped\",[26257]],[[64068,64068],\"mapped\",[26757]],[[64069,64069],\"mapped\",[28023]],[[64070,64070],\"mapped\",[28186]],[[64071,64071],\"mapped\",[28450]],[[64072,64072],\"mapped\",[29038]],[[64073,64073],\"mapped\",[29227]],[[64074,64074],\"mapped\",[29730]],[[64075,64075],\"mapped\",[30865]],[[64076,64076],\"mapped\",[31038]],[[64077,64077],\"mapped\",[31049]],[[64078,64078],\"mapped\",[31048]],[[64079,64079],\"mapped\",[31056]],[[64080,64080],\"mapped\",[31062]],[[64081,64081],\"mapped\",[31069]],[[64082,64082],\"mapped\",[31117]],[[64083,64083],\"mapped\",[31118]],[[64084,64084],\"mapped\",[31296]],[[64085,64085],\"mapped\",[31361]],[[64086,64086],\"mapped\",[31680]],[[64087,64087],\"mapped\",[32244]],[[64088,64088],\"mapped\",[32265]],[[64089,64089],\"mapped\",[32321]],[[64090,64090],\"mapped\",[32626]],[[64091,64091],\"mapped\",[32773]],[[64092,64092],\"mapped\",[33261]],[[64093,64094],\"mapped\",[33401]],[[64095,64095],\"mapped\",[33879]],[[64096,64096],\"mapped\",[35088]],[[64097,64097],\"mapped\",[35222]],[[64098,64098],\"mapped\",[35585]],[[64099,64099],\"mapped\",[35641]],[[64100,64100],\"mapped\",[36051]],[[64101,64101],\"mapped\",[36104]],[[64102,64102],\"mapped\",[36790]],[[64103,64103],\"mapped\",[36920]],[[64104,64104],\"mapped\",[38627]],[[64105,64105],\"mapped\",[38911]],[[64106,64106],\"mapped\",[38971]],[[64107,64107],\"mapped\",[24693]],[[64108,64108],\"mapped\",[148206]],[[64109,64109],\"mapped\",[33304]],[[64110,64111],\"disallowed\"],[[64112,64112],\"mapped\",[20006]],[[64113,64113],\"mapped\",[20917]],[[64114,64114],\"mapped\",[20840]],[[64115,64115],\"mapped\",[20352]],[[64116,64116],\"mapped\",[20805]],[[64117,64117],\"mapped\",[20864]],[[64118,64118],\"mapped\",[21191]],[[64119,64119],\"mapped\",[21242]],[[64120,64120],\"mapped\",[21917]],[[64121,64121],\"mapped\",[21845]],[[64122,64122],\"mapped\",[21913]],[[64123,64123],\"mapped\",[21986]],[[64124,64124],\"mapped\",[22618]],[[64125,64125],\"mapped\",[22707]],[[64126,64126],\"mapped\",[22852]],[[64127,64127],\"mapped\",[22868]],[[64128,64128],\"mapped\",[23138]],[[64129,64129],\"mapped\",[23336]],[[64130,64130],\"mapped\",[24274]],[[64131,64131],\"mapped\",[24281]],[[64132,64132],\"mapped\",[24425]],[[64133,64133],\"mapped\",[24493]],[[64134,64134],\"mapped\",[24792]],[[64135,64135],\"mapped\",[24910]],[[64136,64136],\"mapped\",[24840]],[[64137,64137],\"mapped\",[24974]],[[64138,64138],\"mapped\",[24928]],[[64139,64139],\"mapped\",[25074]],[[64140,64140],\"mapped\",[25140]],[[64141,64141],\"mapped\",[25540]],[[64142,64142],\"mapped\",[25628]],[[64143,64143],\"mapped\",[25682]],[[64144,64144],\"mapped\",[25942]],[[64145,64145],\"mapped\",[26228]],[[64146,64146],\"mapped\",[26391]],[[64147,64147],\"mapped\",[26395]],[[64148,64148],\"mapped\",[26454]],[[64149,64149],\"mapped\",[27513]],[[64150,64150],\"mapped\",[27578]],[[64151,64151],\"mapped\",[27969]],[[64152,64152],\"mapped\",[28379]],[[64153,64153],\"mapped\",[28363]],[[64154,64154],\"mapped\",[28450]],[[64155,64155],\"mapped\",[28702]],[[64156,64156],\"mapped\",[29038]],[[64157,64157],\"mapped\",[30631]],[[64158,64158],\"mapped\",[29237]],[[64159,64159],\"mapped\",[29359]],[[64160,64160],\"mapped\",[29482]],[[64161,64161],\"mapped\",[29809]],[[64162,64162],\"mapped\",[29958]],[[64163,64163],\"mapped\",[30011]],[[64164,64164],\"mapped\",[30237]],[[64165,64165],\"mapped\",[30239]],[[64166,64166],\"mapped\",[30410]],[[64167,64167],\"mapped\",[30427]],[[64168,64168],\"mapped\",[30452]],[[64169,64169],\"mapped\",[30538]],[[64170,64170],\"mapped\",[30528]],[[64171,64171],\"mapped\",[30924]],[[64172,64172],\"mapped\",[31409]],[[64173,64173],\"mapped\",[31680]],[[64174,64174],\"mapped\",[31867]],[[64175,64175],\"mapped\",[32091]],[[64176,64176],\"mapped\",[32244]],[[64177,64177],\"mapped\",[32574]],[[64178,64178],\"mapped\",[32773]],[[64179,64179],\"mapped\",[33618]],[[64180,64180],\"mapped\",[33775]],[[64181,64181],\"mapped\",[34681]],[[64182,64182],\"mapped\",[35137]],[[64183,64183],\"mapped\",[35206]],[[64184,64184],\"mapped\",[35222]],[[64185,64185],\"mapped\",[35519]],[[64186,64186],\"mapped\",[35576]],[[64187,64187],\"mapped\",[35531]],[[64188,64188],\"mapped\",[35585]],[[64189,64189],\"mapped\",[35582]],[[64190,64190],\"mapped\",[35565]],[[64191,64191],\"mapped\",[35641]],[[64192,64192],\"mapped\",[35722]],[[64193,64193],\"mapped\",[36104]],[[64194,64194],\"mapped\",[36664]],[[64195,64195],\"mapped\",[36978]],[[64196,64196],\"mapped\",[37273]],[[64197,64197],\"mapped\",[37494]],[[64198,64198],\"mapped\",[38524]],[[64199,64199],\"mapped\",[38627]],[[64200,64200],\"mapped\",[38742]],[[64201,64201],\"mapped\",[38875]],[[64202,64202],\"mapped\",[38911]],[[64203,64203],\"mapped\",[38923]],[[64204,64204],\"mapped\",[38971]],[[64205,64205],\"mapped\",[39698]],[[64206,64206],\"mapped\",[40860]],[[64207,64207],\"mapped\",[141386]],[[64208,64208],\"mapped\",[141380]],[[64209,64209],\"mapped\",[144341]],[[64210,64210],\"mapped\",[15261]],[[64211,64211],\"mapped\",[16408]],[[64212,64212],\"mapped\",[16441]],[[64213,64213],\"mapped\",[152137]],[[64214,64214],\"mapped\",[154832]],[[64215,64215],\"mapped\",[163539]],[[64216,64216],\"mapped\",[40771]],[[64217,64217],\"mapped\",[40846]],[[64218,64255],\"disallowed\"],[[64256,64256],\"mapped\",[102,102]],[[64257,64257],\"mapped\",[102,105]],[[64258,64258],\"mapped\",[102,108]],[[64259,64259],\"mapped\",[102,102,105]],[[64260,64260],\"mapped\",[102,102,108]],[[64261,64262],\"mapped\",[115,116]],[[64263,64274],\"disallowed\"],[[64275,64275],\"mapped\",[1396,1398]],[[64276,64276],\"mapped\",[1396,1381]],[[64277,64277],\"mapped\",[1396,1387]],[[64278,64278],\"mapped\",[1406,1398]],[[64279,64279],\"mapped\",[1396,1389]],[[64280,64284],\"disallowed\"],[[64285,64285],\"mapped\",[1497,1460]],[[64286,64286],\"valid\"],[[64287,64287],\"mapped\",[1522,1463]],[[64288,64288],\"mapped\",[1506]],[[64289,64289],\"mapped\",[1488]],[[64290,64290],\"mapped\",[1491]],[[64291,64291],\"mapped\",[1492]],[[64292,64292],\"mapped\",[1499]],[[64293,64293],\"mapped\",[1500]],[[64294,64294],\"mapped\",[1501]],[[64295,64295],\"mapped\",[1512]],[[64296,64296],\"mapped\",[1514]],[[64297,64297],\"disallowed_STD3_mapped\",[43]],[[64298,64298],\"mapped\",[1513,1473]],[[64299,64299],\"mapped\",[1513,1474]],[[64300,64300],\"mapped\",[1513,1468,1473]],[[64301,64301],\"mapped\",[1513,1468,1474]],[[64302,64302],\"mapped\",[1488,1463]],[[64303,64303],\"mapped\",[1488,1464]],[[64304,64304],\"mapped\",[1488,1468]],[[64305,64305],\"mapped\",[1489,1468]],[[64306,64306],\"mapped\",[1490,1468]],[[64307,64307],\"mapped\",[1491,1468]],[[64308,64308],\"mapped\",[1492,1468]],[[64309,64309],\"mapped\",[1493,1468]],[[64310,64310],\"mapped\",[1494,1468]],[[64311,64311],\"disallowed\"],[[64312,64312],\"mapped\",[1496,1468]],[[64313,64313],\"mapped\",[1497,1468]],[[64314,64314],\"mapped\",[1498,1468]],[[64315,64315],\"mapped\",[1499,1468]],[[64316,64316],\"mapped\",[1500,1468]],[[64317,64317],\"disallowed\"],[[64318,64318],\"mapped\",[1502,1468]],[[64319,64319],\"disallowed\"],[[64320,64320],\"mapped\",[1504,1468]],[[64321,64321],\"mapped\",[1505,1468]],[[64322,64322],\"disallowed\"],[[64323,64323],\"mapped\",[1507,1468]],[[64324,64324],\"mapped\",[1508,1468]],[[64325,64325],\"disallowed\"],[[64326,64326],\"mapped\",[1510,1468]],[[64327,64327],\"mapped\",[1511,1468]],[[64328,64328],\"mapped\",[1512,1468]],[[64329,64329],\"mapped\",[1513,1468]],[[64330,64330],\"mapped\",[1514,1468]],[[64331,64331],\"mapped\",[1493,1465]],[[64332,64332],\"mapped\",[1489,1471]],[[64333,64333],\"mapped\",[1499,1471]],[[64334,64334],\"mapped\",[1508,1471]],[[64335,64335],\"mapped\",[1488,1500]],[[64336,64337],\"mapped\",[1649]],[[64338,64341],\"mapped\",[1659]],[[64342,64345],\"mapped\",[1662]],[[64346,64349],\"mapped\",[1664]],[[64350,64353],\"mapped\",[1658]],[[64354,64357],\"mapped\",[1663]],[[64358,64361],\"mapped\",[1657]],[[64362,64365],\"mapped\",[1700]],[[64366,64369],\"mapped\",[1702]],[[64370,64373],\"mapped\",[1668]],[[64374,64377],\"mapped\",[1667]],[[64378,64381],\"mapped\",[1670]],[[64382,64385],\"mapped\",[1671]],[[64386,64387],\"mapped\",[1677]],[[64388,64389],\"mapped\",[1676]],[[64390,64391],\"mapped\",[1678]],[[64392,64393],\"mapped\",[1672]],[[64394,64395],\"mapped\",[1688]],[[64396,64397],\"mapped\",[1681]],[[64398,64401],\"mapped\",[1705]],[[64402,64405],\"mapped\",[1711]],[[64406,64409],\"mapped\",[1715]],[[64410,64413],\"mapped\",[1713]],[[64414,64415],\"mapped\",[1722]],[[64416,64419],\"mapped\",[1723]],[[64420,64421],\"mapped\",[1728]],[[64422,64425],\"mapped\",[1729]],[[64426,64429],\"mapped\",[1726]],[[64430,64431],\"mapped\",[1746]],[[64432,64433],\"mapped\",[1747]],[[64434,64449],\"valid\",[],\"NV8\"],[[64450,64466],\"disallowed\"],[[64467,64470],\"mapped\",[1709]],[[64471,64472],\"mapped\",[1735]],[[64473,64474],\"mapped\",[1734]],[[64475,64476],\"mapped\",[1736]],[[64477,64477],\"mapped\",[1735,1652]],[[64478,64479],\"mapped\",[1739]],[[64480,64481],\"mapped\",[1733]],[[64482,64483],\"mapped\",[1737]],[[64484,64487],\"mapped\",[1744]],[[64488,64489],\"mapped\",[1609]],[[64490,64491],\"mapped\",[1574,1575]],[[64492,64493],\"mapped\",[1574,1749]],[[64494,64495],\"mapped\",[1574,1608]],[[64496,64497],\"mapped\",[1574,1735]],[[64498,64499],\"mapped\",[1574,1734]],[[64500,64501],\"mapped\",[1574,1736]],[[64502,64504],\"mapped\",[1574,1744]],[[64505,64507],\"mapped\",[1574,1609]],[[64508,64511],\"mapped\",[1740]],[[64512,64512],\"mapped\",[1574,1580]],[[64513,64513],\"mapped\",[1574,1581]],[[64514,64514],\"mapped\",[1574,1605]],[[64515,64515],\"mapped\",[1574,1609]],[[64516,64516],\"mapped\",[1574,1610]],[[64517,64517],\"mapped\",[1576,1580]],[[64518,64518],\"mapped\",[1576,1581]],[[64519,64519],\"mapped\",[1576,1582]],[[64520,64520],\"mapped\",[1576,1605]],[[64521,64521],\"mapped\",[1576,1609]],[[64522,64522],\"mapped\",[1576,1610]],[[64523,64523],\"mapped\",[1578,1580]],[[64524,64524],\"mapped\",[1578,1581]],[[64525,64525],\"mapped\",[1578,1582]],[[64526,64526],\"mapped\",[1578,1605]],[[64527,64527],\"mapped\",[1578,1609]],[[64528,64528],\"mapped\",[1578,1610]],[[64529,64529],\"mapped\",[1579,1580]],[[64530,64530],\"mapped\",[1579,1605]],[[64531,64531],\"mapped\",[1579,1609]],[[64532,64532],\"mapped\",[1579,1610]],[[64533,64533],\"mapped\",[1580,1581]],[[64534,64534],\"mapped\",[1580,1605]],[[64535,64535],\"mapped\",[1581,1580]],[[64536,64536],\"mapped\",[1581,1605]],[[64537,64537],\"mapped\",[1582,1580]],[[64538,64538],\"mapped\",[1582,1581]],[[64539,64539],\"mapped\",[1582,1605]],[[64540,64540],\"mapped\",[1587,1580]],[[64541,64541],\"mapped\",[1587,1581]],[[64542,64542],\"mapped\",[1587,1582]],[[64543,64543],\"mapped\",[1587,1605]],[[64544,64544],\"mapped\",[1589,1581]],[[64545,64545],\"mapped\",[1589,1605]],[[64546,64546],\"mapped\",[1590,1580]],[[64547,64547],\"mapped\",[1590,1581]],[[64548,64548],\"mapped\",[1590,1582]],[[64549,64549],\"mapped\",[1590,1605]],[[64550,64550],\"mapped\",[1591,1581]],[[64551,64551],\"mapped\",[1591,1605]],[[64552,64552],\"mapped\",[1592,1605]],[[64553,64553],\"mapped\",[1593,1580]],[[64554,64554],\"mapped\",[1593,1605]],[[64555,64555],\"mapped\",[1594,1580]],[[64556,64556],\"mapped\",[1594,1605]],[[64557,64557],\"mapped\",[1601,1580]],[[64558,64558],\"mapped\",[1601,1581]],[[64559,64559],\"mapped\",[1601,1582]],[[64560,64560],\"mapped\",[1601,1605]],[[64561,64561],\"mapped\",[1601,1609]],[[64562,64562],\"mapped\",[1601,1610]],[[64563,64563],\"mapped\",[1602,1581]],[[64564,64564],\"mapped\",[1602,1605]],[[64565,64565],\"mapped\",[1602,1609]],[[64566,64566],\"mapped\",[1602,1610]],[[64567,64567],\"mapped\",[1603,1575]],[[64568,64568],\"mapped\",[1603,1580]],[[64569,64569],\"mapped\",[1603,1581]],[[64570,64570],\"mapped\",[1603,1582]],[[64571,64571],\"mapped\",[1603,1604]],[[64572,64572],\"mapped\",[1603,1605]],[[64573,64573],\"mapped\",[1603,1609]],[[64574,64574],\"mapped\",[1603,1610]],[[64575,64575],\"mapped\",[1604,1580]],[[64576,64576],\"mapped\",[1604,1581]],[[64577,64577],\"mapped\",[1604,1582]],[[64578,64578],\"mapped\",[1604,1605]],[[64579,64579],\"mapped\",[1604,1609]],[[64580,64580],\"mapped\",[1604,1610]],[[64581,64581],\"mapped\",[1605,1580]],[[64582,64582],\"mapped\",[1605,1581]],[[64583,64583],\"mapped\",[1605,1582]],[[64584,64584],\"mapped\",[1605,1605]],[[64585,64585],\"mapped\",[1605,1609]],[[64586,64586],\"mapped\",[1605,1610]],[[64587,64587],\"mapped\",[1606,1580]],[[64588,64588],\"mapped\",[1606,1581]],[[64589,64589],\"mapped\",[1606,1582]],[[64590,64590],\"mapped\",[1606,1605]],[[64591,64591],\"mapped\",[1606,1609]],[[64592,64592],\"mapped\",[1606,1610]],[[64593,64593],\"mapped\",[1607,1580]],[[64594,64594],\"mapped\",[1607,1605]],[[64595,64595],\"mapped\",[1607,1609]],[[64596,64596],\"mapped\",[1607,1610]],[[64597,64597],\"mapped\",[1610,1580]],[[64598,64598],\"mapped\",[1610,1581]],[[64599,64599],\"mapped\",[1610,1582]],[[64600,64600],\"mapped\",[1610,1605]],[[64601,64601],\"mapped\",[1610,1609]],[[64602,64602],\"mapped\",[1610,1610]],[[64603,64603],\"mapped\",[1584,1648]],[[64604,64604],\"mapped\",[1585,1648]],[[64605,64605],\"mapped\",[1609,1648]],[[64606,64606],\"disallowed_STD3_mapped\",[32,1612,1617]],[[64607,64607],\"disallowed_STD3_mapped\",[32,1613,1617]],[[64608,64608],\"disallowed_STD3_mapped\",[32,1614,1617]],[[64609,64609],\"disallowed_STD3_mapped\",[32,1615,1617]],[[64610,64610],\"disallowed_STD3_mapped\",[32,1616,1617]],[[64611,64611],\"disallowed_STD3_mapped\",[32,1617,1648]],[[64612,64612],\"mapped\",[1574,1585]],[[64613,64613],\"mapped\",[1574,1586]],[[64614,64614],\"mapped\",[1574,1605]],[[64615,64615],\"mapped\",[1574,1606]],[[64616,64616],\"mapped\",[1574,1609]],[[64617,64617],\"mapped\",[1574,1610]],[[64618,64618],\"mapped\",[1576,1585]],[[64619,64619],\"mapped\",[1576,1586]],[[64620,64620],\"mapped\",[1576,1605]],[[64621,64621],\"mapped\",[1576,1606]],[[64622,64622],\"mapped\",[1576,1609]],[[64623,64623],\"mapped\",[1576,1610]],[[64624,64624],\"mapped\",[1578,1585]],[[64625,64625],\"mapped\",[1578,1586]],[[64626,64626],\"mapped\",[1578,1605]],[[64627,64627],\"mapped\",[1578,1606]],[[64628,64628],\"mapped\",[1578,1609]],[[64629,64629],\"mapped\",[1578,1610]],[[64630,64630],\"mapped\",[1579,1585]],[[64631,64631],\"mapped\",[1579,1586]],[[64632,64632],\"mapped\",[1579,1605]],[[64633,64633],\"mapped\",[1579,1606]],[[64634,64634],\"mapped\",[1579,1609]],[[64635,64635],\"mapped\",[1579,1610]],[[64636,64636],\"mapped\",[1601,1609]],[[64637,64637],\"mapped\",[1601,1610]],[[64638,64638],\"mapped\",[1602,1609]],[[64639,64639],\"mapped\",[1602,1610]],[[64640,64640],\"mapped\",[1603,1575]],[[64641,64641],\"mapped\",[1603,1604]],[[64642,64642],\"mapped\",[1603,1605]],[[64643,64643],\"mapped\",[1603,1609]],[[64644,64644],\"mapped\",[1603,1610]],[[64645,64645],\"mapped\",[1604,1605]],[[64646,64646],\"mapped\",[1604,1609]],[[64647,64647],\"mapped\",[1604,1610]],[[64648,64648],\"mapped\",[1605,1575]],[[64649,64649],\"mapped\",[1605,1605]],[[64650,64650],\"mapped\",[1606,1585]],[[64651,64651],\"mapped\",[1606,1586]],[[64652,64652],\"mapped\",[1606,1605]],[[64653,64653],\"mapped\",[1606,1606]],[[64654,64654],\"mapped\",[1606,1609]],[[64655,64655],\"mapped\",[1606,1610]],[[64656,64656],\"mapped\",[1609,1648]],[[64657,64657],\"mapped\",[1610,1585]],[[64658,64658],\"mapped\",[1610,1586]],[[64659,64659],\"mapped\",[1610,1605]],[[64660,64660],\"mapped\",[1610,1606]],[[64661,64661],\"mapped\",[1610,1609]],[[64662,64662],\"mapped\",[1610,1610]],[[64663,64663],\"mapped\",[1574,1580]],[[64664,64664],\"mapped\",[1574,1581]],[[64665,64665],\"mapped\",[1574,1582]],[[64666,64666],\"mapped\",[1574,1605]],[[64667,64667],\"mapped\",[1574,1607]],[[64668,64668],\"mapped\",[1576,1580]],[[64669,64669],\"mapped\",[1576,1581]],[[64670,64670],\"mapped\",[1576,1582]],[[64671,64671],\"mapped\",[1576,1605]],[[64672,64672],\"mapped\",[1576,1607]],[[64673,64673],\"mapped\",[1578,1580]],[[64674,64674],\"mapped\",[1578,1581]],[[64675,64675],\"mapped\",[1578,1582]],[[64676,64676],\"mapped\",[1578,1605]],[[64677,64677],\"mapped\",[1578,1607]],[[64678,64678],\"mapped\",[1579,1605]],[[64679,64679],\"mapped\",[1580,1581]],[[64680,64680],\"mapped\",[1580,1605]],[[64681,64681],\"mapped\",[1581,1580]],[[64682,64682],\"mapped\",[1581,1605]],[[64683,64683],\"mapped\",[1582,1580]],[[64684,64684],\"mapped\",[1582,1605]],[[64685,64685],\"mapped\",[1587,1580]],[[64686,64686],\"mapped\",[1587,1581]],[[64687,64687],\"mapped\",[1587,1582]],[[64688,64688],\"mapped\",[1587,1605]],[[64689,64689],\"mapped\",[1589,1581]],[[64690,64690],\"mapped\",[1589,1582]],[[64691,64691],\"mapped\",[1589,1605]],[[64692,64692],\"mapped\",[1590,1580]],[[64693,64693],\"mapped\",[1590,1581]],[[64694,64694],\"mapped\",[1590,1582]],[[64695,64695],\"mapped\",[1590,1605]],[[64696,64696],\"mapped\",[1591,1581]],[[64697,64697],\"mapped\",[1592,1605]],[[64698,64698],\"mapped\",[1593,1580]],[[64699,64699],\"mapped\",[1593,1605]],[[64700,64700],\"mapped\",[1594,1580]],[[64701,64701],\"mapped\",[1594,1605]],[[64702,64702],\"mapped\",[1601,1580]],[[64703,64703],\"mapped\",[1601,1581]],[[64704,64704],\"mapped\",[1601,1582]],[[64705,64705],\"mapped\",[1601,1605]],[[64706,64706],\"mapped\",[1602,1581]],[[64707,64707],\"mapped\",[1602,1605]],[[64708,64708],\"mapped\",[1603,1580]],[[64709,64709],\"mapped\",[1603,1581]],[[64710,64710],\"mapped\",[1603,1582]],[[64711,64711],\"mapped\",[1603,1604]],[[64712,64712],\"mapped\",[1603,1605]],[[64713,64713],\"mapped\",[1604,1580]],[[64714,64714],\"mapped\",[1604,1581]],[[64715,64715],\"mapped\",[1604,1582]],[[64716,64716],\"mapped\",[1604,1605]],[[64717,64717],\"mapped\",[1604,1607]],[[64718,64718],\"mapped\",[1605,1580]],[[64719,64719],\"mapped\",[1605,1581]],[[64720,64720],\"mapped\",[1605,1582]],[[64721,64721],\"mapped\",[1605,1605]],[[64722,64722],\"mapped\",[1606,1580]],[[64723,64723],\"mapped\",[1606,1581]],[[64724,64724],\"mapped\",[1606,1582]],[[64725,64725],\"mapped\",[1606,1605]],[[64726,64726],\"mapped\",[1606,1607]],[[64727,64727],\"mapped\",[1607,1580]],[[64728,64728],\"mapped\",[1607,1605]],[[64729,64729],\"mapped\",[1607,1648]],[[64730,64730],\"mapped\",[1610,1580]],[[64731,64731],\"mapped\",[1610,1581]],[[64732,64732],\"mapped\",[1610,1582]],[[64733,64733],\"mapped\",[1610,1605]],[[64734,64734],\"mapped\",[1610,1607]],[[64735,64735],\"mapped\",[1574,1605]],[[64736,64736],\"mapped\",[1574,1607]],[[64737,64737],\"mapped\",[1576,1605]],[[64738,64738],\"mapped\",[1576,1607]],[[64739,64739],\"mapped\",[1578,1605]],[[64740,64740],\"mapped\",[1578,1607]],[[64741,64741],\"mapped\",[1579,1605]],[[64742,64742],\"mapped\",[1579,1607]],[[64743,64743],\"mapped\",[1587,1605]],[[64744,64744],\"mapped\",[1587,1607]],[[64745,64745],\"mapped\",[1588,1605]],[[64746,64746],\"mapped\",[1588,1607]],[[64747,64747],\"mapped\",[1603,1604]],[[64748,64748],\"mapped\",[1603,1605]],[[64749,64749],\"mapped\",[1604,1605]],[[64750,64750],\"mapped\",[1606,1605]],[[64751,64751],\"mapped\",[1606,1607]],[[64752,64752],\"mapped\",[1610,1605]],[[64753,64753],\"mapped\",[1610,1607]],[[64754,64754],\"mapped\",[1600,1614,1617]],[[64755,64755],\"mapped\",[1600,1615,1617]],[[64756,64756],\"mapped\",[1600,1616,1617]],[[64757,64757],\"mapped\",[1591,1609]],[[64758,64758],\"mapped\",[1591,1610]],[[64759,64759],\"mapped\",[1593,1609]],[[64760,64760],\"mapped\",[1593,1610]],[[64761,64761],\"mapped\",[1594,1609]],[[64762,64762],\"mapped\",[1594,1610]],[[64763,64763],\"mapped\",[1587,1609]],[[64764,64764],\"mapped\",[1587,1610]],[[64765,64765],\"mapped\",[1588,1609]],[[64766,64766],\"mapped\",[1588,1610]],[[64767,64767],\"mapped\",[1581,1609]],[[64768,64768],\"mapped\",[1581,1610]],[[64769,64769],\"mapped\",[1580,1609]],[[64770,64770],\"mapped\",[1580,1610]],[[64771,64771],\"mapped\",[1582,1609]],[[64772,64772],\"mapped\",[1582,1610]],[[64773,64773],\"mapped\",[1589,1609]],[[64774,64774],\"mapped\",[1589,1610]],[[64775,64775],\"mapped\",[1590,1609]],[[64776,64776],\"mapped\",[1590,1610]],[[64777,64777],\"mapped\",[1588,1580]],[[64778,64778],\"mapped\",[1588,1581]],[[64779,64779],\"mapped\",[1588,1582]],[[64780,64780],\"mapped\",[1588,1605]],[[64781,64781],\"mapped\",[1588,1585]],[[64782,64782],\"mapped\",[1587,1585]],[[64783,64783],\"mapped\",[1589,1585]],[[64784,64784],\"mapped\",[1590,1585]],[[64785,64785],\"mapped\",[1591,1609]],[[64786,64786],\"mapped\",[1591,1610]],[[64787,64787],\"mapped\",[1593,1609]],[[64788,64788],\"mapped\",[1593,1610]],[[64789,64789],\"mapped\",[1594,1609]],[[64790,64790],\"mapped\",[1594,1610]],[[64791,64791],\"mapped\",[1587,1609]],[[64792,64792],\"mapped\",[1587,1610]],[[64793,64793],\"mapped\",[1588,1609]],[[64794,64794],\"mapped\",[1588,1610]],[[64795,64795],\"mapped\",[1581,1609]],[[64796,64796],\"mapped\",[1581,1610]],[[64797,64797],\"mapped\",[1580,1609]],[[64798,64798],\"mapped\",[1580,1610]],[[64799,64799],\"mapped\",[1582,1609]],[[64800,64800],\"mapped\",[1582,1610]],[[64801,64801],\"mapped\",[1589,1609]],[[64802,64802],\"mapped\",[1589,1610]],[[64803,64803],\"mapped\",[1590,1609]],[[64804,64804],\"mapped\",[1590,1610]],[[64805,64805],\"mapped\",[1588,1580]],[[64806,64806],\"mapped\",[1588,1581]],[[64807,64807],\"mapped\",[1588,1582]],[[64808,64808],\"mapped\",[1588,1605]],[[64809,64809],\"mapped\",[1588,1585]],[[64810,64810],\"mapped\",[1587,1585]],[[64811,64811],\"mapped\",[1589,1585]],[[64812,64812],\"mapped\",[1590,1585]],[[64813,64813],\"mapped\",[1588,1580]],[[64814,64814],\"mapped\",[1588,1581]],[[64815,64815],\"mapped\",[1588,1582]],[[64816,64816],\"mapped\",[1588,1605]],[[64817,64817],\"mapped\",[1587,1607]],[[64818,64818],\"mapped\",[1588,1607]],[[64819,64819],\"mapped\",[1591,1605]],[[64820,64820],\"mapped\",[1587,1580]],[[64821,64821],\"mapped\",[1587,1581]],[[64822,64822],\"mapped\",[1587,1582]],[[64823,64823],\"mapped\",[1588,1580]],[[64824,64824],\"mapped\",[1588,1581]],[[64825,64825],\"mapped\",[1588,1582]],[[64826,64826],\"mapped\",[1591,1605]],[[64827,64827],\"mapped\",[1592,1605]],[[64828,64829],\"mapped\",[1575,1611]],[[64830,64831],\"valid\",[],\"NV8\"],[[64832,64847],\"disallowed\"],[[64848,64848],\"mapped\",[1578,1580,1605]],[[64849,64850],\"mapped\",[1578,1581,1580]],[[64851,64851],\"mapped\",[1578,1581,1605]],[[64852,64852],\"mapped\",[1578,1582,1605]],[[64853,64853],\"mapped\",[1578,1605,1580]],[[64854,64854],\"mapped\",[1578,1605,1581]],[[64855,64855],\"mapped\",[1578,1605,1582]],[[64856,64857],\"mapped\",[1580,1605,1581]],[[64858,64858],\"mapped\",[1581,1605,1610]],[[64859,64859],\"mapped\",[1581,1605,1609]],[[64860,64860],\"mapped\",[1587,1581,1580]],[[64861,64861],\"mapped\",[1587,1580,1581]],[[64862,64862],\"mapped\",[1587,1580,1609]],[[64863,64864],\"mapped\",[1587,1605,1581]],[[64865,64865],\"mapped\",[1587,1605,1580]],[[64866,64867],\"mapped\",[1587,1605,1605]],[[64868,64869],\"mapped\",[1589,1581,1581]],[[64870,64870],\"mapped\",[1589,1605,1605]],[[64871,64872],\"mapped\",[1588,1581,1605]],[[64873,64873],\"mapped\",[1588,1580,1610]],[[64874,64875],\"mapped\",[1588,1605,1582]],[[64876,64877],\"mapped\",[1588,1605,1605]],[[64878,64878],\"mapped\",[1590,1581,1609]],[[64879,64880],\"mapped\",[1590,1582,1605]],[[64881,64882],\"mapped\",[1591,1605,1581]],[[64883,64883],\"mapped\",[1591,1605,1605]],[[64884,64884],\"mapped\",[1591,1605,1610]],[[64885,64885],\"mapped\",[1593,1580,1605]],[[64886,64887],\"mapped\",[1593,1605,1605]],[[64888,64888],\"mapped\",[1593,1605,1609]],[[64889,64889],\"mapped\",[1594,1605,1605]],[[64890,64890],\"mapped\",[1594,1605,1610]],[[64891,64891],\"mapped\",[1594,1605,1609]],[[64892,64893],\"mapped\",[1601,1582,1605]],[[64894,64894],\"mapped\",[1602,1605,1581]],[[64895,64895],\"mapped\",[1602,1605,1605]],[[64896,64896],\"mapped\",[1604,1581,1605]],[[64897,64897],\"mapped\",[1604,1581,1610]],[[64898,64898],\"mapped\",[1604,1581,1609]],[[64899,64900],\"mapped\",[1604,1580,1580]],[[64901,64902],\"mapped\",[1604,1582,1605]],[[64903,64904],\"mapped\",[1604,1605,1581]],[[64905,64905],\"mapped\",[1605,1581,1580]],[[64906,64906],\"mapped\",[1605,1581,1605]],[[64907,64907],\"mapped\",[1605,1581,1610]],[[64908,64908],\"mapped\",[1605,1580,1581]],[[64909,64909],\"mapped\",[1605,1580,1605]],[[64910,64910],\"mapped\",[1605,1582,1580]],[[64911,64911],\"mapped\",[1605,1582,1605]],[[64912,64913],\"disallowed\"],[[64914,64914],\"mapped\",[1605,1580,1582]],[[64915,64915],\"mapped\",[1607,1605,1580]],[[64916,64916],\"mapped\",[1607,1605,1605]],[[64917,64917],\"mapped\",[1606,1581,1605]],[[64918,64918],\"mapped\",[1606,1581,1609]],[[64919,64920],\"mapped\",[1606,1580,1605]],[[64921,64921],\"mapped\",[1606,1580,1609]],[[64922,64922],\"mapped\",[1606,1605,1610]],[[64923,64923],\"mapped\",[1606,1605,1609]],[[64924,64925],\"mapped\",[1610,1605,1605]],[[64926,64926],\"mapped\",[1576,1582,1610]],[[64927,64927],\"mapped\",[1578,1580,1610]],[[64928,64928],\"mapped\",[1578,1580,1609]],[[64929,64929],\"mapped\",[1578,1582,1610]],[[64930,64930],\"mapped\",[1578,1582,1609]],[[64931,64931],\"mapped\",[1578,1605,1610]],[[64932,64932],\"mapped\",[1578,1605,1609]],[[64933,64933],\"mapped\",[1580,1605,1610]],[[64934,64934],\"mapped\",[1580,1581,1609]],[[64935,64935],\"mapped\",[1580,1605,1609]],[[64936,64936],\"mapped\",[1587,1582,1609]],[[64937,64937],\"mapped\",[1589,1581,1610]],[[64938,64938],\"mapped\",[1588,1581,1610]],[[64939,64939],\"mapped\",[1590,1581,1610]],[[64940,64940],\"mapped\",[1604,1580,1610]],[[64941,64941],\"mapped\",[1604,1605,1610]],[[64942,64942],\"mapped\",[1610,1581,1610]],[[64943,64943],\"mapped\",[1610,1580,1610]],[[64944,64944],\"mapped\",[1610,1605,1610]],[[64945,64945],\"mapped\",[1605,1605,1610]],[[64946,64946],\"mapped\",[1602,1605,1610]],[[64947,64947],\"mapped\",[1606,1581,1610]],[[64948,64948],\"mapped\",[1602,1605,1581]],[[64949,64949],\"mapped\",[1604,1581,1605]],[[64950,64950],\"mapped\",[1593,1605,1610]],[[64951,64951],\"mapped\",[1603,1605,1610]],[[64952,64952],\"mapped\",[1606,1580,1581]],[[64953,64953],\"mapped\",[1605,1582,1610]],[[64954,64954],\"mapped\",[1604,1580,1605]],[[64955,64955],\"mapped\",[1603,1605,1605]],[[64956,64956],\"mapped\",[1604,1580,1605]],[[64957,64957],\"mapped\",[1606,1580,1581]],[[64958,64958],\"mapped\",[1580,1581,1610]],[[64959,64959],\"mapped\",[1581,1580,1610]],[[64960,64960],\"mapped\",[1605,1580,1610]],[[64961,64961],\"mapped\",[1601,1605,1610]],[[64962,64962],\"mapped\",[1576,1581,1610]],[[64963,64963],\"mapped\",[1603,1605,1605]],[[64964,64964],\"mapped\",[1593,1580,1605]],[[64965,64965],\"mapped\",[1589,1605,1605]],[[64966,64966],\"mapped\",[1587,1582,1610]],[[64967,64967],\"mapped\",[1606,1580,1610]],[[64968,64975],\"disallowed\"],[[64976,65007],\"disallowed\"],[[65008,65008],\"mapped\",[1589,1604,1746]],[[65009,65009],\"mapped\",[1602,1604,1746]],[[65010,65010],\"mapped\",[1575,1604,1604,1607]],[[65011,65011],\"mapped\",[1575,1603,1576,1585]],[[65012,65012],\"mapped\",[1605,1581,1605,1583]],[[65013,65013],\"mapped\",[1589,1604,1593,1605]],[[65014,65014],\"mapped\",[1585,1587,1608,1604]],[[65015,65015],\"mapped\",[1593,1604,1610,1607]],[[65016,65016],\"mapped\",[1608,1587,1604,1605]],[[65017,65017],\"mapped\",[1589,1604,1609]],[[65018,65018],\"disallowed_STD3_mapped\",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],\"disallowed_STD3_mapped\",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],\"mapped\",[1585,1740,1575,1604]],[[65021,65021],\"valid\",[],\"NV8\"],[[65022,65023],\"disallowed\"],[[65024,65039],\"ignored\"],[[65040,65040],\"disallowed_STD3_mapped\",[44]],[[65041,65041],\"mapped\",[12289]],[[65042,65042],\"disallowed\"],[[65043,65043],\"disallowed_STD3_mapped\",[58]],[[65044,65044],\"disallowed_STD3_mapped\",[59]],[[65045,65045],\"disallowed_STD3_mapped\",[33]],[[65046,65046],\"disallowed_STD3_mapped\",[63]],[[65047,65047],\"mapped\",[12310]],[[65048,65048],\"mapped\",[12311]],[[65049,65049],\"disallowed\"],[[65050,65055],\"disallowed\"],[[65056,65059],\"valid\"],[[65060,65062],\"valid\"],[[65063,65069],\"valid\"],[[65070,65071],\"valid\"],[[65072,65072],\"disallowed\"],[[65073,65073],\"mapped\",[8212]],[[65074,65074],\"mapped\",[8211]],[[65075,65076],\"disallowed_STD3_mapped\",[95]],[[65077,65077],\"disallowed_STD3_mapped\",[40]],[[65078,65078],\"disallowed_STD3_mapped\",[41]],[[65079,65079],\"disallowed_STD3_mapped\",[123]],[[65080,65080],\"disallowed_STD3_mapped\",[125]],[[65081,65081],\"mapped\",[12308]],[[65082,65082],\"mapped\",[12309]],[[65083,65083],\"mapped\",[12304]],[[65084,65084],\"mapped\",[12305]],[[65085,65085],\"mapped\",[12298]],[[65086,65086],\"mapped\",[12299]],[[65087,65087],\"mapped\",[12296]],[[65088,65088],\"mapped\",[12297]],[[65089,65089],\"mapped\",[12300]],[[65090,65090],\"mapped\",[12301]],[[65091,65091],\"mapped\",[12302]],[[65092,65092],\"mapped\",[12303]],[[65093,65094],\"valid\",[],\"NV8\"],[[65095,65095],\"disallowed_STD3_mapped\",[91]],[[65096,65096],\"disallowed_STD3_mapped\",[93]],[[65097,65100],\"disallowed_STD3_mapped\",[32,773]],[[65101,65103],\"disallowed_STD3_mapped\",[95]],[[65104,65104],\"disallowed_STD3_mapped\",[44]],[[65105,65105],\"mapped\",[12289]],[[65106,65106],\"disallowed\"],[[65107,65107],\"disallowed\"],[[65108,65108],\"disallowed_STD3_mapped\",[59]],[[65109,65109],\"disallowed_STD3_mapped\",[58]],[[65110,65110],\"disallowed_STD3_mapped\",[63]],[[65111,65111],\"disallowed_STD3_mapped\",[33]],[[65112,65112],\"mapped\",[8212]],[[65113,65113],\"disallowed_STD3_mapped\",[40]],[[65114,65114],\"disallowed_STD3_mapped\",[41]],[[65115,65115],\"disallowed_STD3_mapped\",[123]],[[65116,65116],\"disallowed_STD3_mapped\",[125]],[[65117,65117],\"mapped\",[12308]],[[65118,65118],\"mapped\",[12309]],[[65119,65119],\"disallowed_STD3_mapped\",[35]],[[65120,65120],\"disallowed_STD3_mapped\",[38]],[[65121,65121],\"disallowed_STD3_mapped\",[42]],[[65122,65122],\"disallowed_STD3_mapped\",[43]],[[65123,65123],\"mapped\",[45]],[[65124,65124],\"disallowed_STD3_mapped\",[60]],[[65125,65125],\"disallowed_STD3_mapped\",[62]],[[65126,65126],\"disallowed_STD3_mapped\",[61]],[[65127,65127],\"disallowed\"],[[65128,65128],\"disallowed_STD3_mapped\",[92]],[[65129,65129],\"disallowed_STD3_mapped\",[36]],[[65130,65130],\"disallowed_STD3_mapped\",[37]],[[65131,65131],\"disallowed_STD3_mapped\",[64]],[[65132,65135],\"disallowed\"],[[65136,65136],\"disallowed_STD3_mapped\",[32,1611]],[[65137,65137],\"mapped\",[1600,1611]],[[65138,65138],\"disallowed_STD3_mapped\",[32,1612]],[[65139,65139],\"valid\"],[[65140,65140],\"disallowed_STD3_mapped\",[32,1613]],[[65141,65141],\"disallowed\"],[[65142,65142],\"disallowed_STD3_mapped\",[32,1614]],[[65143,65143],\"mapped\",[1600,1614]],[[65144,65144],\"disallowed_STD3_mapped\",[32,1615]],[[65145,65145],\"mapped\",[1600,1615]],[[65146,65146],\"disallowed_STD3_mapped\",[32,1616]],[[65147,65147],\"mapped\",[1600,1616]],[[65148,65148],\"disallowed_STD3_mapped\",[32,1617]],[[65149,65149],\"mapped\",[1600,1617]],[[65150,65150],\"disallowed_STD3_mapped\",[32,1618]],[[65151,65151],\"mapped\",[1600,1618]],[[65152,65152],\"mapped\",[1569]],[[65153,65154],\"mapped\",[1570]],[[65155,65156],\"mapped\",[1571]],[[65157,65158],\"mapped\",[1572]],[[65159,65160],\"mapped\",[1573]],[[65161,65164],\"mapped\",[1574]],[[65165,65166],\"mapped\",[1575]],[[65167,65170],\"mapped\",[1576]],[[65171,65172],\"mapped\",[1577]],[[65173,65176],\"mapped\",[1578]],[[65177,65180],\"mapped\",[1579]],[[65181,65184],\"mapped\",[1580]],[[65185,65188],\"mapped\",[1581]],[[65189,65192],\"mapped\",[1582]],[[65193,65194],\"mapped\",[1583]],[[65195,65196],\"mapped\",[1584]],[[65197,65198],\"mapped\",[1585]],[[65199,65200],\"mapped\",[1586]],[[65201,65204],\"mapped\",[1587]],[[65205,65208],\"mapped\",[1588]],[[65209,65212],\"mapped\",[1589]],[[65213,65216],\"mapped\",[1590]],[[65217,65220],\"mapped\",[1591]],[[65221,65224],\"mapped\",[1592]],[[65225,65228],\"mapped\",[1593]],[[65229,65232],\"mapped\",[1594]],[[65233,65236],\"mapped\",[1601]],[[65237,65240],\"mapped\",[1602]],[[65241,65244],\"mapped\",[1603]],[[65245,65248],\"mapped\",[1604]],[[65249,65252],\"mapped\",[1605]],[[65253,65256],\"mapped\",[1606]],[[65257,65260],\"mapped\",[1607]],[[65261,65262],\"mapped\",[1608]],[[65263,65264],\"mapped\",[1609]],[[65265,65268],\"mapped\",[1610]],[[65269,65270],\"mapped\",[1604,1570]],[[65271,65272],\"mapped\",[1604,1571]],[[65273,65274],\"mapped\",[1604,1573]],[[65275,65276],\"mapped\",[1604,1575]],[[65277,65278],\"disallowed\"],[[65279,65279],\"ignored\"],[[65280,65280],\"disallowed\"],[[65281,65281],\"disallowed_STD3_mapped\",[33]],[[65282,65282],\"disallowed_STD3_mapped\",[34]],[[65283,65283],\"disallowed_STD3_mapped\",[35]],[[65284,65284],\"disallowed_STD3_mapped\",[36]],[[65285,65285],\"disallowed_STD3_mapped\",[37]],[[65286,65286],\"disallowed_STD3_mapped\",[38]],[[65287,65287],\"disallowed_STD3_mapped\",[39]],[[65288,65288],\"disallowed_STD3_mapped\",[40]],[[65289,65289],\"disallowed_STD3_mapped\",[41]],[[65290,65290],\"disallowed_STD3_mapped\",[42]],[[65291,65291],\"disallowed_STD3_mapped\",[43]],[[65292,65292],\"disallowed_STD3_mapped\",[44]],[[65293,65293],\"mapped\",[45]],[[65294,65294],\"mapped\",[46]],[[65295,65295],\"disallowed_STD3_mapped\",[47]],[[65296,65296],\"mapped\",[48]],[[65297,65297],\"mapped\",[49]],[[65298,65298],\"mapped\",[50]],[[65299,65299],\"mapped\",[51]],[[65300,65300],\"mapped\",[52]],[[65301,65301],\"mapped\",[53]],[[65302,65302],\"mapped\",[54]],[[65303,65303],\"mapped\",[55]],[[65304,65304],\"mapped\",[56]],[[65305,65305],\"mapped\",[57]],[[65306,65306],\"disallowed_STD3_mapped\",[58]],[[65307,65307],\"disallowed_STD3_mapped\",[59]],[[65308,65308],\"disallowed_STD3_mapped\",[60]],[[65309,65309],\"disallowed_STD3_mapped\",[61]],[[65310,65310],\"disallowed_STD3_mapped\",[62]],[[65311,65311],\"disallowed_STD3_mapped\",[63]],[[65312,65312],\"disallowed_STD3_mapped\",[64]],[[65313,65313],\"mapped\",[97]],[[65314,65314],\"mapped\",[98]],[[65315,65315],\"mapped\",[99]],[[65316,65316],\"mapped\",[100]],[[65317,65317],\"mapped\",[101]],[[65318,65318],\"mapped\",[102]],[[65319,65319],\"mapped\",[103]],[[65320,65320],\"mapped\",[104]],[[65321,65321],\"mapped\",[105]],[[65322,65322],\"mapped\",[106]],[[65323,65323],\"mapped\",[107]],[[65324,65324],\"mapped\",[108]],[[65325,65325],\"mapped\",[109]],[[65326,65326],\"mapped\",[110]],[[65327,65327],\"mapped\",[111]],[[65328,65328],\"mapped\",[112]],[[65329,65329],\"mapped\",[113]],[[65330,65330],\"mapped\",[114]],[[65331,65331],\"mapped\",[115]],[[65332,65332],\"mapped\",[116]],[[65333,65333],\"mapped\",[117]],[[65334,65334],\"mapped\",[118]],[[65335,65335],\"mapped\",[119]],[[65336,65336],\"mapped\",[120]],[[65337,65337],\"mapped\",[121]],[[65338,65338],\"mapped\",[122]],[[65339,65339],\"disallowed_STD3_mapped\",[91]],[[65340,65340],\"disallowed_STD3_mapped\",[92]],[[65341,65341],\"disallowed_STD3_mapped\",[93]],[[65342,65342],\"disallowed_STD3_mapped\",[94]],[[65343,65343],\"disallowed_STD3_mapped\",[95]],[[65344,65344],\"disallowed_STD3_mapped\",[96]],[[65345,65345],\"mapped\",[97]],[[65346,65346],\"mapped\",[98]],[[65347,65347],\"mapped\",[99]],[[65348,65348],\"mapped\",[100]],[[65349,65349],\"mapped\",[101]],[[65350,65350],\"mapped\",[102]],[[65351,65351],\"mapped\",[103]],[[65352,65352],\"mapped\",[104]],[[65353,65353],\"mapped\",[105]],[[65354,65354],\"mapped\",[106]],[[65355,65355],\"mapped\",[107]],[[65356,65356],\"mapped\",[108]],[[65357,65357],\"mapped\",[109]],[[65358,65358],\"mapped\",[110]],[[65359,65359],\"mapped\",[111]],[[65360,65360],\"mapped\",[112]],[[65361,65361],\"mapped\",[113]],[[65362,65362],\"mapped\",[114]],[[65363,65363],\"mapped\",[115]],[[65364,65364],\"mapped\",[116]],[[65365,65365],\"mapped\",[117]],[[65366,65366],\"mapped\",[118]],[[65367,65367],\"mapped\",[119]],[[65368,65368],\"mapped\",[120]],[[65369,65369],\"mapped\",[121]],[[65370,65370],\"mapped\",[122]],[[65371,65371],\"disallowed_STD3_mapped\",[123]],[[65372,65372],\"disallowed_STD3_mapped\",[124]],[[65373,65373],\"disallowed_STD3_mapped\",[125]],[[65374,65374],\"disallowed_STD3_mapped\",[126]],[[65375,65375],\"mapped\",[10629]],[[65376,65376],\"mapped\",[10630]],[[65377,65377],\"mapped\",[46]],[[65378,65378],\"mapped\",[12300]],[[65379,65379],\"mapped\",[12301]],[[65380,65380],\"mapped\",[12289]],[[65381,65381],\"mapped\",[12539]],[[65382,65382],\"mapped\",[12530]],[[65383,65383],\"mapped\",[12449]],[[65384,65384],\"mapped\",[12451]],[[65385,65385],\"mapped\",[12453]],[[65386,65386],\"mapped\",[12455]],[[65387,65387],\"mapped\",[12457]],[[65388,65388],\"mapped\",[12515]],[[65389,65389],\"mapped\",[12517]],[[65390,65390],\"mapped\",[12519]],[[65391,65391],\"mapped\",[12483]],[[65392,65392],\"mapped\",[12540]],[[65393,65393],\"mapped\",[12450]],[[65394,65394],\"mapped\",[12452]],[[65395,65395],\"mapped\",[12454]],[[65396,65396],\"mapped\",[12456]],[[65397,65397],\"mapped\",[12458]],[[65398,65398],\"mapped\",[12459]],[[65399,65399],\"mapped\",[12461]],[[65400,65400],\"mapped\",[12463]],[[65401,65401],\"mapped\",[12465]],[[65402,65402],\"mapped\",[12467]],[[65403,65403],\"mapped\",[12469]],[[65404,65404],\"mapped\",[12471]],[[65405,65405],\"mapped\",[12473]],[[65406,65406],\"mapped\",[12475]],[[65407,65407],\"mapped\",[12477]],[[65408,65408],\"mapped\",[12479]],[[65409,65409],\"mapped\",[12481]],[[65410,65410],\"mapped\",[12484]],[[65411,65411],\"mapped\",[12486]],[[65412,65412],\"mapped\",[12488]],[[65413,65413],\"mapped\",[12490]],[[65414,65414],\"mapped\",[12491]],[[65415,65415],\"mapped\",[12492]],[[65416,65416],\"mapped\",[12493]],[[65417,65417],\"mapped\",[12494]],[[65418,65418],\"mapped\",[12495]],[[65419,65419],\"mapped\",[12498]],[[65420,65420],\"mapped\",[12501]],[[65421,65421],\"mapped\",[12504]],[[65422,65422],\"mapped\",[12507]],[[65423,65423],\"mapped\",[12510]],[[65424,65424],\"mapped\",[12511]],[[65425,65425],\"mapped\",[12512]],[[65426,65426],\"mapped\",[12513]],[[65427,65427],\"mapped\",[12514]],[[65428,65428],\"mapped\",[12516]],[[65429,65429],\"mapped\",[12518]],[[65430,65430],\"mapped\",[12520]],[[65431,65431],\"mapped\",[12521]],[[65432,65432],\"mapped\",[12522]],[[65433,65433],\"mapped\",[12523]],[[65434,65434],\"mapped\",[12524]],[[65435,65435],\"mapped\",[12525]],[[65436,65436],\"mapped\",[12527]],[[65437,65437],\"mapped\",[12531]],[[65438,65438],\"mapped\",[12441]],[[65439,65439],\"mapped\",[12442]],[[65440,65440],\"disallowed\"],[[65441,65441],\"mapped\",[4352]],[[65442,65442],\"mapped\",[4353]],[[65443,65443],\"mapped\",[4522]],[[65444,65444],\"mapped\",[4354]],[[65445,65445],\"mapped\",[4524]],[[65446,65446],\"mapped\",[4525]],[[65447,65447],\"mapped\",[4355]],[[65448,65448],\"mapped\",[4356]],[[65449,65449],\"mapped\",[4357]],[[65450,65450],\"mapped\",[4528]],[[65451,65451],\"mapped\",[4529]],[[65452,65452],\"mapped\",[4530]],[[65453,65453],\"mapped\",[4531]],[[65454,65454],\"mapped\",[4532]],[[65455,65455],\"mapped\",[4533]],[[65456,65456],\"mapped\",[4378]],[[65457,65457],\"mapped\",[4358]],[[65458,65458],\"mapped\",[4359]],[[65459,65459],\"mapped\",[4360]],[[65460,65460],\"mapped\",[4385]],[[65461,65461],\"mapped\",[4361]],[[65462,65462],\"mapped\",[4362]],[[65463,65463],\"mapped\",[4363]],[[65464,65464],\"mapped\",[4364]],[[65465,65465],\"mapped\",[4365]],[[65466,65466],\"mapped\",[4366]],[[65467,65467],\"mapped\",[4367]],[[65468,65468],\"mapped\",[4368]],[[65469,65469],\"mapped\",[4369]],[[65470,65470],\"mapped\",[4370]],[[65471,65473],\"disallowed\"],[[65474,65474],\"mapped\",[4449]],[[65475,65475],\"mapped\",[4450]],[[65476,65476],\"mapped\",[4451]],[[65477,65477],\"mapped\",[4452]],[[65478,65478],\"mapped\",[4453]],[[65479,65479],\"mapped\",[4454]],[[65480,65481],\"disallowed\"],[[65482,65482],\"mapped\",[4455]],[[65483,65483],\"mapped\",[4456]],[[65484,65484],\"mapped\",[4457]],[[65485,65485],\"mapped\",[4458]],[[65486,65486],\"mapped\",[4459]],[[65487,65487],\"mapped\",[4460]],[[65488,65489],\"disallowed\"],[[65490,65490],\"mapped\",[4461]],[[65491,65491],\"mapped\",[4462]],[[65492,65492],\"mapped\",[4463]],[[65493,65493],\"mapped\",[4464]],[[65494,65494],\"mapped\",[4465]],[[65495,65495],\"mapped\",[4466]],[[65496,65497],\"disallowed\"],[[65498,65498],\"mapped\",[4467]],[[65499,65499],\"mapped\",[4468]],[[65500,65500],\"mapped\",[4469]],[[65501,65503],\"disallowed\"],[[65504,65504],\"mapped\",[162]],[[65505,65505],\"mapped\",[163]],[[65506,65506],\"mapped\",[172]],[[65507,65507],\"disallowed_STD3_mapped\",[32,772]],[[65508,65508],\"mapped\",[166]],[[65509,65509],\"mapped\",[165]],[[65510,65510],\"mapped\",[8361]],[[65511,65511],\"disallowed\"],[[65512,65512],\"mapped\",[9474]],[[65513,65513],\"mapped\",[8592]],[[65514,65514],\"mapped\",[8593]],[[65515,65515],\"mapped\",[8594]],[[65516,65516],\"mapped\",[8595]],[[65517,65517],\"mapped\",[9632]],[[65518,65518],\"mapped\",[9675]],[[65519,65528],\"disallowed\"],[[65529,65531],\"disallowed\"],[[65532,65532],\"disallowed\"],[[65533,65533],\"disallowed\"],[[65534,65535],\"disallowed\"],[[65536,65547],\"valid\"],[[65548,65548],\"disallowed\"],[[65549,65574],\"valid\"],[[65575,65575],\"disallowed\"],[[65576,65594],\"valid\"],[[65595,65595],\"disallowed\"],[[65596,65597],\"valid\"],[[65598,65598],\"disallowed\"],[[65599,65613],\"valid\"],[[65614,65615],\"disallowed\"],[[65616,65629],\"valid\"],[[65630,65663],\"disallowed\"],[[65664,65786],\"valid\"],[[65787,65791],\"disallowed\"],[[65792,65794],\"valid\",[],\"NV8\"],[[65795,65798],\"disallowed\"],[[65799,65843],\"valid\",[],\"NV8\"],[[65844,65846],\"disallowed\"],[[65847,65855],\"valid\",[],\"NV8\"],[[65856,65930],\"valid\",[],\"NV8\"],[[65931,65932],\"valid\",[],\"NV8\"],[[65933,65935],\"disallowed\"],[[65936,65947],\"valid\",[],\"NV8\"],[[65948,65951],\"disallowed\"],[[65952,65952],\"valid\",[],\"NV8\"],[[65953,65999],\"disallowed\"],[[66000,66044],\"valid\",[],\"NV8\"],[[66045,66045],\"valid\"],[[66046,66175],\"disallowed\"],[[66176,66204],\"valid\"],[[66205,66207],\"disallowed\"],[[66208,66256],\"valid\"],[[66257,66271],\"disallowed\"],[[66272,66272],\"valid\"],[[66273,66299],\"valid\",[],\"NV8\"],[[66300,66303],\"disallowed\"],[[66304,66334],\"valid\"],[[66335,66335],\"valid\"],[[66336,66339],\"valid\",[],\"NV8\"],[[66340,66351],\"disallowed\"],[[66352,66368],\"valid\"],[[66369,66369],\"valid\",[],\"NV8\"],[[66370,66377],\"valid\"],[[66378,66378],\"valid\",[],\"NV8\"],[[66379,66383],\"disallowed\"],[[66384,66426],\"valid\"],[[66427,66431],\"disallowed\"],[[66432,66461],\"valid\"],[[66462,66462],\"disallowed\"],[[66463,66463],\"valid\",[],\"NV8\"],[[66464,66499],\"valid\"],[[66500,66503],\"disallowed\"],[[66504,66511],\"valid\"],[[66512,66517],\"valid\",[],\"NV8\"],[[66518,66559],\"disallowed\"],[[66560,66560],\"mapped\",[66600]],[[66561,66561],\"mapped\",[66601]],[[66562,66562],\"mapped\",[66602]],[[66563,66563],\"mapped\",[66603]],[[66564,66564],\"mapped\",[66604]],[[66565,66565],\"mapped\",[66605]],[[66566,66566],\"mapped\",[66606]],[[66567,66567],\"mapped\",[66607]],[[66568,66568],\"mapped\",[66608]],[[66569,66569],\"mapped\",[66609]],[[66570,66570],\"mapped\",[66610]],[[66571,66571],\"mapped\",[66611]],[[66572,66572],\"mapped\",[66612]],[[66573,66573],\"mapped\",[66613]],[[66574,66574],\"mapped\",[66614]],[[66575,66575],\"mapped\",[66615]],[[66576,66576],\"mapped\",[66616]],[[66577,66577],\"mapped\",[66617]],[[66578,66578],\"mapped\",[66618]],[[66579,66579],\"mapped\",[66619]],[[66580,66580],\"mapped\",[66620]],[[66581,66581],\"mapped\",[66621]],[[66582,66582],\"mapped\",[66622]],[[66583,66583],\"mapped\",[66623]],[[66584,66584],\"mapped\",[66624]],[[66585,66585],\"mapped\",[66625]],[[66586,66586],\"mapped\",[66626]],[[66587,66587],\"mapped\",[66627]],[[66588,66588],\"mapped\",[66628]],[[66589,66589],\"mapped\",[66629]],[[66590,66590],\"mapped\",[66630]],[[66591,66591],\"mapped\",[66631]],[[66592,66592],\"mapped\",[66632]],[[66593,66593],\"mapped\",[66633]],[[66594,66594],\"mapped\",[66634]],[[66595,66595],\"mapped\",[66635]],[[66596,66596],\"mapped\",[66636]],[[66597,66597],\"mapped\",[66637]],[[66598,66598],\"mapped\",[66638]],[[66599,66599],\"mapped\",[66639]],[[66600,66637],\"valid\"],[[66638,66717],\"valid\"],[[66718,66719],\"disallowed\"],[[66720,66729],\"valid\"],[[66730,66815],\"disallowed\"],[[66816,66855],\"valid\"],[[66856,66863],\"disallowed\"],[[66864,66915],\"valid\"],[[66916,66926],\"disallowed\"],[[66927,66927],\"valid\",[],\"NV8\"],[[66928,67071],\"disallowed\"],[[67072,67382],\"valid\"],[[67383,67391],\"disallowed\"],[[67392,67413],\"valid\"],[[67414,67423],\"disallowed\"],[[67424,67431],\"valid\"],[[67432,67583],\"disallowed\"],[[67584,67589],\"valid\"],[[67590,67591],\"disallowed\"],[[67592,67592],\"valid\"],[[67593,67593],\"disallowed\"],[[67594,67637],\"valid\"],[[67638,67638],\"disallowed\"],[[67639,67640],\"valid\"],[[67641,67643],\"disallowed\"],[[67644,67644],\"valid\"],[[67645,67646],\"disallowed\"],[[67647,67647],\"valid\"],[[67648,67669],\"valid\"],[[67670,67670],\"disallowed\"],[[67671,67679],\"valid\",[],\"NV8\"],[[67680,67702],\"valid\"],[[67703,67711],\"valid\",[],\"NV8\"],[[67712,67742],\"valid\"],[[67743,67750],\"disallowed\"],[[67751,67759],\"valid\",[],\"NV8\"],[[67760,67807],\"disallowed\"],[[67808,67826],\"valid\"],[[67827,67827],\"disallowed\"],[[67828,67829],\"valid\"],[[67830,67834],\"disallowed\"],[[67835,67839],\"valid\",[],\"NV8\"],[[67840,67861],\"valid\"],[[67862,67865],\"valid\",[],\"NV8\"],[[67866,67867],\"valid\",[],\"NV8\"],[[67868,67870],\"disallowed\"],[[67871,67871],\"valid\",[],\"NV8\"],[[67872,67897],\"valid\"],[[67898,67902],\"disallowed\"],[[67903,67903],\"valid\",[],\"NV8\"],[[67904,67967],\"disallowed\"],[[67968,68023],\"valid\"],[[68024,68027],\"disallowed\"],[[68028,68029],\"valid\",[],\"NV8\"],[[68030,68031],\"valid\"],[[68032,68047],\"valid\",[],\"NV8\"],[[68048,68049],\"disallowed\"],[[68050,68095],\"valid\",[],\"NV8\"],[[68096,68099],\"valid\"],[[68100,68100],\"disallowed\"],[[68101,68102],\"valid\"],[[68103,68107],\"disallowed\"],[[68108,68115],\"valid\"],[[68116,68116],\"disallowed\"],[[68117,68119],\"valid\"],[[68120,68120],\"disallowed\"],[[68121,68147],\"valid\"],[[68148,68151],\"disallowed\"],[[68152,68154],\"valid\"],[[68155,68158],\"disallowed\"],[[68159,68159],\"valid\"],[[68160,68167],\"valid\",[],\"NV8\"],[[68168,68175],\"disallowed\"],[[68176,68184],\"valid\",[],\"NV8\"],[[68185,68191],\"disallowed\"],[[68192,68220],\"valid\"],[[68221,68223],\"valid\",[],\"NV8\"],[[68224,68252],\"valid\"],[[68253,68255],\"valid\",[],\"NV8\"],[[68256,68287],\"disallowed\"],[[68288,68295],\"valid\"],[[68296,68296],\"valid\",[],\"NV8\"],[[68297,68326],\"valid\"],[[68327,68330],\"disallowed\"],[[68331,68342],\"valid\",[],\"NV8\"],[[68343,68351],\"disallowed\"],[[68352,68405],\"valid\"],[[68406,68408],\"disallowed\"],[[68409,68415],\"valid\",[],\"NV8\"],[[68416,68437],\"valid\"],[[68438,68439],\"disallowed\"],[[68440,68447],\"valid\",[],\"NV8\"],[[68448,68466],\"valid\"],[[68467,68471],\"disallowed\"],[[68472,68479],\"valid\",[],\"NV8\"],[[68480,68497],\"valid\"],[[68498,68504],\"disallowed\"],[[68505,68508],\"valid\",[],\"NV8\"],[[68509,68520],\"disallowed\"],[[68521,68527],\"valid\",[],\"NV8\"],[[68528,68607],\"disallowed\"],[[68608,68680],\"valid\"],[[68681,68735],\"disallowed\"],[[68736,68736],\"mapped\",[68800]],[[68737,68737],\"mapped\",[68801]],[[68738,68738],\"mapped\",[68802]],[[68739,68739],\"mapped\",[68803]],[[68740,68740],\"mapped\",[68804]],[[68741,68741],\"mapped\",[68805]],[[68742,68742],\"mapped\",[68806]],[[68743,68743],\"mapped\",[68807]],[[68744,68744],\"mapped\",[68808]],[[68745,68745],\"mapped\",[68809]],[[68746,68746],\"mapped\",[68810]],[[68747,68747],\"mapped\",[68811]],[[68748,68748],\"mapped\",[68812]],[[68749,68749],\"mapped\",[68813]],[[68750,68750],\"mapped\",[68814]],[[68751,68751],\"mapped\",[68815]],[[68752,68752],\"mapped\",[68816]],[[68753,68753],\"mapped\",[68817]],[[68754,68754],\"mapped\",[68818]],[[68755,68755],\"mapped\",[68819]],[[68756,68756],\"mapped\",[68820]],[[68757,68757],\"mapped\",[68821]],[[68758,68758],\"mapped\",[68822]],[[68759,68759],\"mapped\",[68823]],[[68760,68760],\"mapped\",[68824]],[[68761,68761],\"mapped\",[68825]],[[68762,68762],\"mapped\",[68826]],[[68763,68763],\"mapped\",[68827]],[[68764,68764],\"mapped\",[68828]],[[68765,68765],\"mapped\",[68829]],[[68766,68766],\"mapped\",[68830]],[[68767,68767],\"mapped\",[68831]],[[68768,68768],\"mapped\",[68832]],[[68769,68769],\"mapped\",[68833]],[[68770,68770],\"mapped\",[68834]],[[68771,68771],\"mapped\",[68835]],[[68772,68772],\"mapped\",[68836]],[[68773,68773],\"mapped\",[68837]],[[68774,68774],\"mapped\",[68838]],[[68775,68775],\"mapped\",[68839]],[[68776,68776],\"mapped\",[68840]],[[68777,68777],\"mapped\",[68841]],[[68778,68778],\"mapped\",[68842]],[[68779,68779],\"mapped\",[68843]],[[68780,68780],\"mapped\",[68844]],[[68781,68781],\"mapped\",[68845]],[[68782,68782],\"mapped\",[68846]],[[68783,68783],\"mapped\",[68847]],[[68784,68784],\"mapped\",[68848]],[[68785,68785],\"mapped\",[68849]],[[68786,68786],\"mapped\",[68850]],[[68787,68799],\"disallowed\"],[[68800,68850],\"valid\"],[[68851,68857],\"disallowed\"],[[68858,68863],\"valid\",[],\"NV8\"],[[68864,69215],\"disallowed\"],[[69216,69246],\"valid\",[],\"NV8\"],[[69247,69631],\"disallowed\"],[[69632,69702],\"valid\"],[[69703,69709],\"valid\",[],\"NV8\"],[[69710,69713],\"disallowed\"],[[69714,69733],\"valid\",[],\"NV8\"],[[69734,69743],\"valid\"],[[69744,69758],\"disallowed\"],[[69759,69759],\"valid\"],[[69760,69818],\"valid\"],[[69819,69820],\"valid\",[],\"NV8\"],[[69821,69821],\"disallowed\"],[[69822,69825],\"valid\",[],\"NV8\"],[[69826,69839],\"disallowed\"],[[69840,69864],\"valid\"],[[69865,69871],\"disallowed\"],[[69872,69881],\"valid\"],[[69882,69887],\"disallowed\"],[[69888,69940],\"valid\"],[[69941,69941],\"disallowed\"],[[69942,69951],\"valid\"],[[69952,69955],\"valid\",[],\"NV8\"],[[69956,69967],\"disallowed\"],[[69968,70003],\"valid\"],[[70004,70005],\"valid\",[],\"NV8\"],[[70006,70006],\"valid\"],[[70007,70015],\"disallowed\"],[[70016,70084],\"valid\"],[[70085,70088],\"valid\",[],\"NV8\"],[[70089,70089],\"valid\",[],\"NV8\"],[[70090,70092],\"valid\"],[[70093,70093],\"valid\",[],\"NV8\"],[[70094,70095],\"disallowed\"],[[70096,70105],\"valid\"],[[70106,70106],\"valid\"],[[70107,70107],\"valid\",[],\"NV8\"],[[70108,70108],\"valid\"],[[70109,70111],\"valid\",[],\"NV8\"],[[70112,70112],\"disallowed\"],[[70113,70132],\"valid\",[],\"NV8\"],[[70133,70143],\"disallowed\"],[[70144,70161],\"valid\"],[[70162,70162],\"disallowed\"],[[70163,70199],\"valid\"],[[70200,70205],\"valid\",[],\"NV8\"],[[70206,70271],\"disallowed\"],[[70272,70278],\"valid\"],[[70279,70279],\"disallowed\"],[[70280,70280],\"valid\"],[[70281,70281],\"disallowed\"],[[70282,70285],\"valid\"],[[70286,70286],\"disallowed\"],[[70287,70301],\"valid\"],[[70302,70302],\"disallowed\"],[[70303,70312],\"valid\"],[[70313,70313],\"valid\",[],\"NV8\"],[[70314,70319],\"disallowed\"],[[70320,70378],\"valid\"],[[70379,70383],\"disallowed\"],[[70384,70393],\"valid\"],[[70394,70399],\"disallowed\"],[[70400,70400],\"valid\"],[[70401,70403],\"valid\"],[[70404,70404],\"disallowed\"],[[70405,70412],\"valid\"],[[70413,70414],\"disallowed\"],[[70415,70416],\"valid\"],[[70417,70418],\"disallowed\"],[[70419,70440],\"valid\"],[[70441,70441],\"disallowed\"],[[70442,70448],\"valid\"],[[70449,70449],\"disallowed\"],[[70450,70451],\"valid\"],[[70452,70452],\"disallowed\"],[[70453,70457],\"valid\"],[[70458,70459],\"disallowed\"],[[70460,70468],\"valid\"],[[70469,70470],\"disallowed\"],[[70471,70472],\"valid\"],[[70473,70474],\"disallowed\"],[[70475,70477],\"valid\"],[[70478,70479],\"disallowed\"],[[70480,70480],\"valid\"],[[70481,70486],\"disallowed\"],[[70487,70487],\"valid\"],[[70488,70492],\"disallowed\"],[[70493,70499],\"valid\"],[[70500,70501],\"disallowed\"],[[70502,70508],\"valid\"],[[70509,70511],\"disallowed\"],[[70512,70516],\"valid\"],[[70517,70783],\"disallowed\"],[[70784,70853],\"valid\"],[[70854,70854],\"valid\",[],\"NV8\"],[[70855,70855],\"valid\"],[[70856,70863],\"disallowed\"],[[70864,70873],\"valid\"],[[70874,71039],\"disallowed\"],[[71040,71093],\"valid\"],[[71094,71095],\"disallowed\"],[[71096,71104],\"valid\"],[[71105,71113],\"valid\",[],\"NV8\"],[[71114,71127],\"valid\",[],\"NV8\"],[[71128,71133],\"valid\"],[[71134,71167],\"disallowed\"],[[71168,71232],\"valid\"],[[71233,71235],\"valid\",[],\"NV8\"],[[71236,71236],\"valid\"],[[71237,71247],\"disallowed\"],[[71248,71257],\"valid\"],[[71258,71295],\"disallowed\"],[[71296,71351],\"valid\"],[[71352,71359],\"disallowed\"],[[71360,71369],\"valid\"],[[71370,71423],\"disallowed\"],[[71424,71449],\"valid\"],[[71450,71452],\"disallowed\"],[[71453,71467],\"valid\"],[[71468,71471],\"disallowed\"],[[71472,71481],\"valid\"],[[71482,71487],\"valid\",[],\"NV8\"],[[71488,71839],\"disallowed\"],[[71840,71840],\"mapped\",[71872]],[[71841,71841],\"mapped\",[71873]],[[71842,71842],\"mapped\",[71874]],[[71843,71843],\"mapped\",[71875]],[[71844,71844],\"mapped\",[71876]],[[71845,71845],\"mapped\",[71877]],[[71846,71846],\"mapped\",[71878]],[[71847,71847],\"mapped\",[71879]],[[71848,71848],\"mapped\",[71880]],[[71849,71849],\"mapped\",[71881]],[[71850,71850],\"mapped\",[71882]],[[71851,71851],\"mapped\",[71883]],[[71852,71852],\"mapped\",[71884]],[[71853,71853],\"mapped\",[71885]],[[71854,71854],\"mapped\",[71886]],[[71855,71855],\"mapped\",[71887]],[[71856,71856],\"mapped\",[71888]],[[71857,71857],\"mapped\",[71889]],[[71858,71858],\"mapped\",[71890]],[[71859,71859],\"mapped\",[71891]],[[71860,71860],\"mapped\",[71892]],[[71861,71861],\"mapped\",[71893]],[[71862,71862],\"mapped\",[71894]],[[71863,71863],\"mapped\",[71895]],[[71864,71864],\"mapped\",[71896]],[[71865,71865],\"mapped\",[71897]],[[71866,71866],\"mapped\",[71898]],[[71867,71867],\"mapped\",[71899]],[[71868,71868],\"mapped\",[71900]],[[71869,71869],\"mapped\",[71901]],[[71870,71870],\"mapped\",[71902]],[[71871,71871],\"mapped\",[71903]],[[71872,71913],\"valid\"],[[71914,71922],\"valid\",[],\"NV8\"],[[71923,71934],\"disallowed\"],[[71935,71935],\"valid\"],[[71936,72383],\"disallowed\"],[[72384,72440],\"valid\"],[[72441,73727],\"disallowed\"],[[73728,74606],\"valid\"],[[74607,74648],\"valid\"],[[74649,74649],\"valid\"],[[74650,74751],\"disallowed\"],[[74752,74850],\"valid\",[],\"NV8\"],[[74851,74862],\"valid\",[],\"NV8\"],[[74863,74863],\"disallowed\"],[[74864,74867],\"valid\",[],\"NV8\"],[[74868,74868],\"valid\",[],\"NV8\"],[[74869,74879],\"disallowed\"],[[74880,75075],\"valid\"],[[75076,77823],\"disallowed\"],[[77824,78894],\"valid\"],[[78895,82943],\"disallowed\"],[[82944,83526],\"valid\"],[[83527,92159],\"disallowed\"],[[92160,92728],\"valid\"],[[92729,92735],\"disallowed\"],[[92736,92766],\"valid\"],[[92767,92767],\"disallowed\"],[[92768,92777],\"valid\"],[[92778,92781],\"disallowed\"],[[92782,92783],\"valid\",[],\"NV8\"],[[92784,92879],\"disallowed\"],[[92880,92909],\"valid\"],[[92910,92911],\"disallowed\"],[[92912,92916],\"valid\"],[[92917,92917],\"valid\",[],\"NV8\"],[[92918,92927],\"disallowed\"],[[92928,92982],\"valid\"],[[92983,92991],\"valid\",[],\"NV8\"],[[92992,92995],\"valid\"],[[92996,92997],\"valid\",[],\"NV8\"],[[92998,93007],\"disallowed\"],[[93008,93017],\"valid\"],[[93018,93018],\"disallowed\"],[[93019,93025],\"valid\",[],\"NV8\"],[[93026,93026],\"disallowed\"],[[93027,93047],\"valid\"],[[93048,93052],\"disallowed\"],[[93053,93071],\"valid\"],[[93072,93951],\"disallowed\"],[[93952,94020],\"valid\"],[[94021,94031],\"disallowed\"],[[94032,94078],\"valid\"],[[94079,94094],\"disallowed\"],[[94095,94111],\"valid\"],[[94112,110591],\"disallowed\"],[[110592,110593],\"valid\"],[[110594,113663],\"disallowed\"],[[113664,113770],\"valid\"],[[113771,113775],\"disallowed\"],[[113776,113788],\"valid\"],[[113789,113791],\"disallowed\"],[[113792,113800],\"valid\"],[[113801,113807],\"disallowed\"],[[113808,113817],\"valid\"],[[113818,113819],\"disallowed\"],[[113820,113820],\"valid\",[],\"NV8\"],[[113821,113822],\"valid\"],[[113823,113823],\"valid\",[],\"NV8\"],[[113824,113827],\"ignored\"],[[113828,118783],\"disallowed\"],[[118784,119029],\"valid\",[],\"NV8\"],[[119030,119039],\"disallowed\"],[[119040,119078],\"valid\",[],\"NV8\"],[[119079,119080],\"disallowed\"],[[119081,119081],\"valid\",[],\"NV8\"],[[119082,119133],\"valid\",[],\"NV8\"],[[119134,119134],\"mapped\",[119127,119141]],[[119135,119135],\"mapped\",[119128,119141]],[[119136,119136],\"mapped\",[119128,119141,119150]],[[119137,119137],\"mapped\",[119128,119141,119151]],[[119138,119138],\"mapped\",[119128,119141,119152]],[[119139,119139],\"mapped\",[119128,119141,119153]],[[119140,119140],\"mapped\",[119128,119141,119154]],[[119141,119154],\"valid\",[],\"NV8\"],[[119155,119162],\"disallowed\"],[[119163,119226],\"valid\",[],\"NV8\"],[[119227,119227],\"mapped\",[119225,119141]],[[119228,119228],\"mapped\",[119226,119141]],[[119229,119229],\"mapped\",[119225,119141,119150]],[[119230,119230],\"mapped\",[119226,119141,119150]],[[119231,119231],\"mapped\",[119225,119141,119151]],[[119232,119232],\"mapped\",[119226,119141,119151]],[[119233,119261],\"valid\",[],\"NV8\"],[[119262,119272],\"valid\",[],\"NV8\"],[[119273,119295],\"disallowed\"],[[119296,119365],\"valid\",[],\"NV8\"],[[119366,119551],\"disallowed\"],[[119552,119638],\"valid\",[],\"NV8\"],[[119639,119647],\"disallowed\"],[[119648,119665],\"valid\",[],\"NV8\"],[[119666,119807],\"disallowed\"],[[119808,119808],\"mapped\",[97]],[[119809,119809],\"mapped\",[98]],[[119810,119810],\"mapped\",[99]],[[119811,119811],\"mapped\",[100]],[[119812,119812],\"mapped\",[101]],[[119813,119813],\"mapped\",[102]],[[119814,119814],\"mapped\",[103]],[[119815,119815],\"mapped\",[104]],[[119816,119816],\"mapped\",[105]],[[119817,119817],\"mapped\",[106]],[[119818,119818],\"mapped\",[107]],[[119819,119819],\"mapped\",[108]],[[119820,119820],\"mapped\",[109]],[[119821,119821],\"mapped\",[110]],[[119822,119822],\"mapped\",[111]],[[119823,119823],\"mapped\",[112]],[[119824,119824],\"mapped\",[113]],[[119825,119825],\"mapped\",[114]],[[119826,119826],\"mapped\",[115]],[[119827,119827],\"mapped\",[116]],[[119828,119828],\"mapped\",[117]],[[119829,119829],\"mapped\",[118]],[[119830,119830],\"mapped\",[119]],[[119831,119831],\"mapped\",[120]],[[119832,119832],\"mapped\",[121]],[[119833,119833],\"mapped\",[122]],[[119834,119834],\"mapped\",[97]],[[119835,119835],\"mapped\",[98]],[[119836,119836],\"mapped\",[99]],[[119837,119837],\"mapped\",[100]],[[119838,119838],\"mapped\",[101]],[[119839,119839],\"mapped\",[102]],[[119840,119840],\"mapped\",[103]],[[119841,119841],\"mapped\",[104]],[[119842,119842],\"mapped\",[105]],[[119843,119843],\"mapped\",[106]],[[119844,119844],\"mapped\",[107]],[[119845,119845],\"mapped\",[108]],[[119846,119846],\"mapped\",[109]],[[119847,119847],\"mapped\",[110]],[[119848,119848],\"mapped\",[111]],[[119849,119849],\"mapped\",[112]],[[119850,119850],\"mapped\",[113]],[[119851,119851],\"mapped\",[114]],[[119852,119852],\"mapped\",[115]],[[119853,119853],\"mapped\",[116]],[[119854,119854],\"mapped\",[117]],[[119855,119855],\"mapped\",[118]],[[119856,119856],\"mapped\",[119]],[[119857,119857],\"mapped\",[120]],[[119858,119858],\"mapped\",[121]],[[119859,119859],\"mapped\",[122]],[[119860,119860],\"mapped\",[97]],[[119861,119861],\"mapped\",[98]],[[119862,119862],\"mapped\",[99]],[[119863,119863],\"mapped\",[100]],[[119864,119864],\"mapped\",[101]],[[119865,119865],\"mapped\",[102]],[[119866,119866],\"mapped\",[103]],[[119867,119867],\"mapped\",[104]],[[119868,119868],\"mapped\",[105]],[[119869,119869],\"mapped\",[106]],[[119870,119870],\"mapped\",[107]],[[119871,119871],\"mapped\",[108]],[[119872,119872],\"mapped\",[109]],[[119873,119873],\"mapped\",[110]],[[119874,119874],\"mapped\",[111]],[[119875,119875],\"mapped\",[112]],[[119876,119876],\"mapped\",[113]],[[119877,119877],\"mapped\",[114]],[[119878,119878],\"mapped\",[115]],[[119879,119879],\"mapped\",[116]],[[119880,119880],\"mapped\",[117]],[[119881,119881],\"mapped\",[118]],[[119882,119882],\"mapped\",[119]],[[119883,119883],\"mapped\",[120]],[[119884,119884],\"mapped\",[121]],[[119885,119885],\"mapped\",[122]],[[119886,119886],\"mapped\",[97]],[[119887,119887],\"mapped\",[98]],[[119888,119888],\"mapped\",[99]],[[119889,119889],\"mapped\",[100]],[[119890,119890],\"mapped\",[101]],[[119891,119891],\"mapped\",[102]],[[119892,119892],\"mapped\",[103]],[[119893,119893],\"disallowed\"],[[119894,119894],\"mapped\",[105]],[[119895,119895],\"mapped\",[106]],[[119896,119896],\"mapped\",[107]],[[119897,119897],\"mapped\",[108]],[[119898,119898],\"mapped\",[109]],[[119899,119899],\"mapped\",[110]],[[119900,119900],\"mapped\",[111]],[[119901,119901],\"mapped\",[112]],[[119902,119902],\"mapped\",[113]],[[119903,119903],\"mapped\",[114]],[[119904,119904],\"mapped\",[115]],[[119905,119905],\"mapped\",[116]],[[119906,119906],\"mapped\",[117]],[[119907,119907],\"mapped\",[118]],[[119908,119908],\"mapped\",[119]],[[119909,119909],\"mapped\",[120]],[[119910,119910],\"mapped\",[121]],[[119911,119911],\"mapped\",[122]],[[119912,119912],\"mapped\",[97]],[[119913,119913],\"mapped\",[98]],[[119914,119914],\"mapped\",[99]],[[119915,119915],\"mapped\",[100]],[[119916,119916],\"mapped\",[101]],[[119917,119917],\"mapped\",[102]],[[119918,119918],\"mapped\",[103]],[[119919,119919],\"mapped\",[104]],[[119920,119920],\"mapped\",[105]],[[119921,119921],\"mapped\",[106]],[[119922,119922],\"mapped\",[107]],[[119923,119923],\"mapped\",[108]],[[119924,119924],\"mapped\",[109]],[[119925,119925],\"mapped\",[110]],[[119926,119926],\"mapped\",[111]],[[119927,119927],\"mapped\",[112]],[[119928,119928],\"mapped\",[113]],[[119929,119929],\"mapped\",[114]],[[119930,119930],\"mapped\",[115]],[[119931,119931],\"mapped\",[116]],[[119932,119932],\"mapped\",[117]],[[119933,119933],\"mapped\",[118]],[[119934,119934],\"mapped\",[119]],[[119935,119935],\"mapped\",[120]],[[119936,119936],\"mapped\",[121]],[[119937,119937],\"mapped\",[122]],[[119938,119938],\"mapped\",[97]],[[119939,119939],\"mapped\",[98]],[[119940,119940],\"mapped\",[99]],[[119941,119941],\"mapped\",[100]],[[119942,119942],\"mapped\",[101]],[[119943,119943],\"mapped\",[102]],[[119944,119944],\"mapped\",[103]],[[119945,119945],\"mapped\",[104]],[[119946,119946],\"mapped\",[105]],[[119947,119947],\"mapped\",[106]],[[119948,119948],\"mapped\",[107]],[[119949,119949],\"mapped\",[108]],[[119950,119950],\"mapped\",[109]],[[119951,119951],\"mapped\",[110]],[[119952,119952],\"mapped\",[111]],[[119953,119953],\"mapped\",[112]],[[119954,119954],\"mapped\",[113]],[[119955,119955],\"mapped\",[114]],[[119956,119956],\"mapped\",[115]],[[119957,119957],\"mapped\",[116]],[[119958,119958],\"mapped\",[117]],[[119959,119959],\"mapped\",[118]],[[119960,119960],\"mapped\",[119]],[[119961,119961],\"mapped\",[120]],[[119962,119962],\"mapped\",[121]],[[119963,119963],\"mapped\",[122]],[[119964,119964],\"mapped\",[97]],[[119965,119965],\"disallowed\"],[[119966,119966],\"mapped\",[99]],[[119967,119967],\"mapped\",[100]],[[119968,119969],\"disallowed\"],[[119970,119970],\"mapped\",[103]],[[119971,119972],\"disallowed\"],[[119973,119973],\"mapped\",[106]],[[119974,119974],\"mapped\",[107]],[[119975,119976],\"disallowed\"],[[119977,119977],\"mapped\",[110]],[[119978,119978],\"mapped\",[111]],[[119979,119979],\"mapped\",[112]],[[119980,119980],\"mapped\",[113]],[[119981,119981],\"disallowed\"],[[119982,119982],\"mapped\",[115]],[[119983,119983],\"mapped\",[116]],[[119984,119984],\"mapped\",[117]],[[119985,119985],\"mapped\",[118]],[[119986,119986],\"mapped\",[119]],[[119987,119987],\"mapped\",[120]],[[119988,119988],\"mapped\",[121]],[[119989,119989],\"mapped\",[122]],[[119990,119990],\"mapped\",[97]],[[119991,119991],\"mapped\",[98]],[[119992,119992],\"mapped\",[99]],[[119993,119993],\"mapped\",[100]],[[119994,119994],\"disallowed\"],[[119995,119995],\"mapped\",[102]],[[119996,119996],\"disallowed\"],[[119997,119997],\"mapped\",[104]],[[119998,119998],\"mapped\",[105]],[[119999,119999],\"mapped\",[106]],[[120000,120000],\"mapped\",[107]],[[120001,120001],\"mapped\",[108]],[[120002,120002],\"mapped\",[109]],[[120003,120003],\"mapped\",[110]],[[120004,120004],\"disallowed\"],[[120005,120005],\"mapped\",[112]],[[120006,120006],\"mapped\",[113]],[[120007,120007],\"mapped\",[114]],[[120008,120008],\"mapped\",[115]],[[120009,120009],\"mapped\",[116]],[[120010,120010],\"mapped\",[117]],[[120011,120011],\"mapped\",[118]],[[120012,120012],\"mapped\",[119]],[[120013,120013],\"mapped\",[120]],[[120014,120014],\"mapped\",[121]],[[120015,120015],\"mapped\",[122]],[[120016,120016],\"mapped\",[97]],[[120017,120017],\"mapped\",[98]],[[120018,120018],\"mapped\",[99]],[[120019,120019],\"mapped\",[100]],[[120020,120020],\"mapped\",[101]],[[120021,120021],\"mapped\",[102]],[[120022,120022],\"mapped\",[103]],[[120023,120023],\"mapped\",[104]],[[120024,120024],\"mapped\",[105]],[[120025,120025],\"mapped\",[106]],[[120026,120026],\"mapped\",[107]],[[120027,120027],\"mapped\",[108]],[[120028,120028],\"mapped\",[109]],[[120029,120029],\"mapped\",[110]],[[120030,120030],\"mapped\",[111]],[[120031,120031],\"mapped\",[112]],[[120032,120032],\"mapped\",[113]],[[120033,120033],\"mapped\",[114]],[[120034,120034],\"mapped\",[115]],[[120035,120035],\"mapped\",[116]],[[120036,120036],\"mapped\",[117]],[[120037,120037],\"mapped\",[118]],[[120038,120038],\"mapped\",[119]],[[120039,120039],\"mapped\",[120]],[[120040,120040],\"mapped\",[121]],[[120041,120041],\"mapped\",[122]],[[120042,120042],\"mapped\",[97]],[[120043,120043],\"mapped\",[98]],[[120044,120044],\"mapped\",[99]],[[120045,120045],\"mapped\",[100]],[[120046,120046],\"mapped\",[101]],[[120047,120047],\"mapped\",[102]],[[120048,120048],\"mapped\",[103]],[[120049,120049],\"mapped\",[104]],[[120050,120050],\"mapped\",[105]],[[120051,120051],\"mapped\",[106]],[[120052,120052],\"mapped\",[107]],[[120053,120053],\"mapped\",[108]],[[120054,120054],\"mapped\",[109]],[[120055,120055],\"mapped\",[110]],[[120056,120056],\"mapped\",[111]],[[120057,120057],\"mapped\",[112]],[[120058,120058],\"mapped\",[113]],[[120059,120059],\"mapped\",[114]],[[120060,120060],\"mapped\",[115]],[[120061,120061],\"mapped\",[116]],[[120062,120062],\"mapped\",[117]],[[120063,120063],\"mapped\",[118]],[[120064,120064],\"mapped\",[119]],[[120065,120065],\"mapped\",[120]],[[120066,120066],\"mapped\",[121]],[[120067,120067],\"mapped\",[122]],[[120068,120068],\"mapped\",[97]],[[120069,120069],\"mapped\",[98]],[[120070,120070],\"disallowed\"],[[120071,120071],\"mapped\",[100]],[[120072,120072],\"mapped\",[101]],[[120073,120073],\"mapped\",[102]],[[120074,120074],\"mapped\",[103]],[[120075,120076],\"disallowed\"],[[120077,120077],\"mapped\",[106]],[[120078,120078],\"mapped\",[107]],[[120079,120079],\"mapped\",[108]],[[120080,120080],\"mapped\",[109]],[[120081,120081],\"mapped\",[110]],[[120082,120082],\"mapped\",[111]],[[120083,120083],\"mapped\",[112]],[[120084,120084],\"mapped\",[113]],[[120085,120085],\"disallowed\"],[[120086,120086],\"mapped\",[115]],[[120087,120087],\"mapped\",[116]],[[120088,120088],\"mapped\",[117]],[[120089,120089],\"mapped\",[118]],[[120090,120090],\"mapped\",[119]],[[120091,120091],\"mapped\",[120]],[[120092,120092],\"mapped\",[121]],[[120093,120093],\"disallowed\"],[[120094,120094],\"mapped\",[97]],[[120095,120095],\"mapped\",[98]],[[120096,120096],\"mapped\",[99]],[[120097,120097],\"mapped\",[100]],[[120098,120098],\"mapped\",[101]],[[120099,120099],\"mapped\",[102]],[[120100,120100],\"mapped\",[103]],[[120101,120101],\"mapped\",[104]],[[120102,120102],\"mapped\",[105]],[[120103,120103],\"mapped\",[106]],[[120104,120104],\"mapped\",[107]],[[120105,120105],\"mapped\",[108]],[[120106,120106],\"mapped\",[109]],[[120107,120107],\"mapped\",[110]],[[120108,120108],\"mapped\",[111]],[[120109,120109],\"mapped\",[112]],[[120110,120110],\"mapped\",[113]],[[120111,120111],\"mapped\",[114]],[[120112,120112],\"mapped\",[115]],[[120113,120113],\"mapped\",[116]],[[120114,120114],\"mapped\",[117]],[[120115,120115],\"mapped\",[118]],[[120116,120116],\"mapped\",[119]],[[120117,120117],\"mapped\",[120]],[[120118,120118],\"mapped\",[121]],[[120119,120119],\"mapped\",[122]],[[120120,120120],\"mapped\",[97]],[[120121,120121],\"mapped\",[98]],[[120122,120122],\"disallowed\"],[[120123,120123],\"mapped\",[100]],[[120124,120124],\"mapped\",[101]],[[120125,120125],\"mapped\",[102]],[[120126,120126],\"mapped\",[103]],[[120127,120127],\"disallowed\"],[[120128,120128],\"mapped\",[105]],[[120129,120129],\"mapped\",[106]],[[120130,120130],\"mapped\",[107]],[[120131,120131],\"mapped\",[108]],[[120132,120132],\"mapped\",[109]],[[120133,120133],\"disallowed\"],[[120134,120134],\"mapped\",[111]],[[120135,120137],\"disallowed\"],[[120138,120138],\"mapped\",[115]],[[120139,120139],\"mapped\",[116]],[[120140,120140],\"mapped\",[117]],[[120141,120141],\"mapped\",[118]],[[120142,120142],\"mapped\",[119]],[[120143,120143],\"mapped\",[120]],[[120144,120144],\"mapped\",[121]],[[120145,120145],\"disallowed\"],[[120146,120146],\"mapped\",[97]],[[120147,120147],\"mapped\",[98]],[[120148,120148],\"mapped\",[99]],[[120149,120149],\"mapped\",[100]],[[120150,120150],\"mapped\",[101]],[[120151,120151],\"mapped\",[102]],[[120152,120152],\"mapped\",[103]],[[120153,120153],\"mapped\",[104]],[[120154,120154],\"mapped\",[105]],[[120155,120155],\"mapped\",[106]],[[120156,120156],\"mapped\",[107]],[[120157,120157],\"mapped\",[108]],[[120158,120158],\"mapped\",[109]],[[120159,120159],\"mapped\",[110]],[[120160,120160],\"mapped\",[111]],[[120161,120161],\"mapped\",[112]],[[120162,120162],\"mapped\",[113]],[[120163,120163],\"mapped\",[114]],[[120164,120164],\"mapped\",[115]],[[120165,120165],\"mapped\",[116]],[[120166,120166],\"mapped\",[117]],[[120167,120167],\"mapped\",[118]],[[120168,120168],\"mapped\",[119]],[[120169,120169],\"mapped\",[120]],[[120170,120170],\"mapped\",[121]],[[120171,120171],\"mapped\",[122]],[[120172,120172],\"mapped\",[97]],[[120173,120173],\"mapped\",[98]],[[120174,120174],\"mapped\",[99]],[[120175,120175],\"mapped\",[100]],[[120176,120176],\"mapped\",[101]],[[120177,120177],\"mapped\",[102]],[[120178,120178],\"mapped\",[103]],[[120179,120179],\"mapped\",[104]],[[120180,120180],\"mapped\",[105]],[[120181,120181],\"mapped\",[106]],[[120182,120182],\"mapped\",[107]],[[120183,120183],\"mapped\",[108]],[[120184,120184],\"mapped\",[109]],[[120185,120185],\"mapped\",[110]],[[120186,120186],\"mapped\",[111]],[[120187,120187],\"mapped\",[112]],[[120188,120188],\"mapped\",[113]],[[120189,120189],\"mapped\",[114]],[[120190,120190],\"mapped\",[115]],[[120191,120191],\"mapped\",[116]],[[120192,120192],\"mapped\",[117]],[[120193,120193],\"mapped\",[118]],[[120194,120194],\"mapped\",[119]],[[120195,120195],\"mapped\",[120]],[[120196,120196],\"mapped\",[121]],[[120197,120197],\"mapped\",[122]],[[120198,120198],\"mapped\",[97]],[[120199,120199],\"mapped\",[98]],[[120200,120200],\"mapped\",[99]],[[120201,120201],\"mapped\",[100]],[[120202,120202],\"mapped\",[101]],[[120203,120203],\"mapped\",[102]],[[120204,120204],\"mapped\",[103]],[[120205,120205],\"mapped\",[104]],[[120206,120206],\"mapped\",[105]],[[120207,120207],\"mapped\",[106]],[[120208,120208],\"mapped\",[107]],[[120209,120209],\"mapped\",[108]],[[120210,120210],\"mapped\",[109]],[[120211,120211],\"mapped\",[110]],[[120212,120212],\"mapped\",[111]],[[120213,120213],\"mapped\",[112]],[[120214,120214],\"mapped\",[113]],[[120215,120215],\"mapped\",[114]],[[120216,120216],\"mapped\",[115]],[[120217,120217],\"mapped\",[116]],[[120218,120218],\"mapped\",[117]],[[120219,120219],\"mapped\",[118]],[[120220,120220],\"mapped\",[119]],[[120221,120221],\"mapped\",[120]],[[120222,120222],\"mapped\",[121]],[[120223,120223],\"mapped\",[122]],[[120224,120224],\"mapped\",[97]],[[120225,120225],\"mapped\",[98]],[[120226,120226],\"mapped\",[99]],[[120227,120227],\"mapped\",[100]],[[120228,120228],\"mapped\",[101]],[[120229,120229],\"mapped\",[102]],[[120230,120230],\"mapped\",[103]],[[120231,120231],\"mapped\",[104]],[[120232,120232],\"mapped\",[105]],[[120233,120233],\"mapped\",[106]],[[120234,120234],\"mapped\",[107]],[[120235,120235],\"mapped\",[108]],[[120236,120236],\"mapped\",[109]],[[120237,120237],\"mapped\",[110]],[[120238,120238],\"mapped\",[111]],[[120239,120239],\"mapped\",[112]],[[120240,120240],\"mapped\",[113]],[[120241,120241],\"mapped\",[114]],[[120242,120242],\"mapped\",[115]],[[120243,120243],\"mapped\",[116]],[[120244,120244],\"mapped\",[117]],[[120245,120245],\"mapped\",[118]],[[120246,120246],\"mapped\",[119]],[[120247,120247],\"mapped\",[120]],[[120248,120248],\"mapped\",[121]],[[120249,120249],\"mapped\",[122]],[[120250,120250],\"mapped\",[97]],[[120251,120251],\"mapped\",[98]],[[120252,120252],\"mapped\",[99]],[[120253,120253],\"mapped\",[100]],[[120254,120254],\"mapped\",[101]],[[120255,120255],\"mapped\",[102]],[[120256,120256],\"mapped\",[103]],[[120257,120257],\"mapped\",[104]],[[120258,120258],\"mapped\",[105]],[[120259,120259],\"mapped\",[106]],[[120260,120260],\"mapped\",[107]],[[120261,120261],\"mapped\",[108]],[[120262,120262],\"mapped\",[109]],[[120263,120263],\"mapped\",[110]],[[120264,120264],\"mapped\",[111]],[[120265,120265],\"mapped\",[112]],[[120266,120266],\"mapped\",[113]],[[120267,120267],\"mapped\",[114]],[[120268,120268],\"mapped\",[115]],[[120269,120269],\"mapped\",[116]],[[120270,120270],\"mapped\",[117]],[[120271,120271],\"mapped\",[118]],[[120272,120272],\"mapped\",[119]],[[120273,120273],\"mapped\",[120]],[[120274,120274],\"mapped\",[121]],[[120275,120275],\"mapped\",[122]],[[120276,120276],\"mapped\",[97]],[[120277,120277],\"mapped\",[98]],[[120278,120278],\"mapped\",[99]],[[120279,120279],\"mapped\",[100]],[[120280,120280],\"mapped\",[101]],[[120281,120281],\"mapped\",[102]],[[120282,120282],\"mapped\",[103]],[[120283,120283],\"mapped\",[104]],[[120284,120284],\"mapped\",[105]],[[120285,120285],\"mapped\",[106]],[[120286,120286],\"mapped\",[107]],[[120287,120287],\"mapped\",[108]],[[120288,120288],\"mapped\",[109]],[[120289,120289],\"mapped\",[110]],[[120290,120290],\"mapped\",[111]],[[120291,120291],\"mapped\",[112]],[[120292,120292],\"mapped\",[113]],[[120293,120293],\"mapped\",[114]],[[120294,120294],\"mapped\",[115]],[[120295,120295],\"mapped\",[116]],[[120296,120296],\"mapped\",[117]],[[120297,120297],\"mapped\",[118]],[[120298,120298],\"mapped\",[119]],[[120299,120299],\"mapped\",[120]],[[120300,120300],\"mapped\",[121]],[[120301,120301],\"mapped\",[122]],[[120302,120302],\"mapped\",[97]],[[120303,120303],\"mapped\",[98]],[[120304,120304],\"mapped\",[99]],[[120305,120305],\"mapped\",[100]],[[120306,120306],\"mapped\",[101]],[[120307,120307],\"mapped\",[102]],[[120308,120308],\"mapped\",[103]],[[120309,120309],\"mapped\",[104]],[[120310,120310],\"mapped\",[105]],[[120311,120311],\"mapped\",[106]],[[120312,120312],\"mapped\",[107]],[[120313,120313],\"mapped\",[108]],[[120314,120314],\"mapped\",[109]],[[120315,120315],\"mapped\",[110]],[[120316,120316],\"mapped\",[111]],[[120317,120317],\"mapped\",[112]],[[120318,120318],\"mapped\",[113]],[[120319,120319],\"mapped\",[114]],[[120320,120320],\"mapped\",[115]],[[120321,120321],\"mapped\",[116]],[[120322,120322],\"mapped\",[117]],[[120323,120323],\"mapped\",[118]],[[120324,120324],\"mapped\",[119]],[[120325,120325],\"mapped\",[120]],[[120326,120326],\"mapped\",[121]],[[120327,120327],\"mapped\",[122]],[[120328,120328],\"mapped\",[97]],[[120329,120329],\"mapped\",[98]],[[120330,120330],\"mapped\",[99]],[[120331,120331],\"mapped\",[100]],[[120332,120332],\"mapped\",[101]],[[120333,120333],\"mapped\",[102]],[[120334,120334],\"mapped\",[103]],[[120335,120335],\"mapped\",[104]],[[120336,120336],\"mapped\",[105]],[[120337,120337],\"mapped\",[106]],[[120338,120338],\"mapped\",[107]],[[120339,120339],\"mapped\",[108]],[[120340,120340],\"mapped\",[109]],[[120341,120341],\"mapped\",[110]],[[120342,120342],\"mapped\",[111]],[[120343,120343],\"mapped\",[112]],[[120344,120344],\"mapped\",[113]],[[120345,120345],\"mapped\",[114]],[[120346,120346],\"mapped\",[115]],[[120347,120347],\"mapped\",[116]],[[120348,120348],\"mapped\",[117]],[[120349,120349],\"mapped\",[118]],[[120350,120350],\"mapped\",[119]],[[120351,120351],\"mapped\",[120]],[[120352,120352],\"mapped\",[121]],[[120353,120353],\"mapped\",[122]],[[120354,120354],\"mapped\",[97]],[[120355,120355],\"mapped\",[98]],[[120356,120356],\"mapped\",[99]],[[120357,120357],\"mapped\",[100]],[[120358,120358],\"mapped\",[101]],[[120359,120359],\"mapped\",[102]],[[120360,120360],\"mapped\",[103]],[[120361,120361],\"mapped\",[104]],[[120362,120362],\"mapped\",[105]],[[120363,120363],\"mapped\",[106]],[[120364,120364],\"mapped\",[107]],[[120365,120365],\"mapped\",[108]],[[120366,120366],\"mapped\",[109]],[[120367,120367],\"mapped\",[110]],[[120368,120368],\"mapped\",[111]],[[120369,120369],\"mapped\",[112]],[[120370,120370],\"mapped\",[113]],[[120371,120371],\"mapped\",[114]],[[120372,120372],\"mapped\",[115]],[[120373,120373],\"mapped\",[116]],[[120374,120374],\"mapped\",[117]],[[120375,120375],\"mapped\",[118]],[[120376,120376],\"mapped\",[119]],[[120377,120377],\"mapped\",[120]],[[120378,120378],\"mapped\",[121]],[[120379,120379],\"mapped\",[122]],[[120380,120380],\"mapped\",[97]],[[120381,120381],\"mapped\",[98]],[[120382,120382],\"mapped\",[99]],[[120383,120383],\"mapped\",[100]],[[120384,120384],\"mapped\",[101]],[[120385,120385],\"mapped\",[102]],[[120386,120386],\"mapped\",[103]],[[120387,120387],\"mapped\",[104]],[[120388,120388],\"mapped\",[105]],[[120389,120389],\"mapped\",[106]],[[120390,120390],\"mapped\",[107]],[[120391,120391],\"mapped\",[108]],[[120392,120392],\"mapped\",[109]],[[120393,120393],\"mapped\",[110]],[[120394,120394],\"mapped\",[111]],[[120395,120395],\"mapped\",[112]],[[120396,120396],\"mapped\",[113]],[[120397,120397],\"mapped\",[114]],[[120398,120398],\"mapped\",[115]],[[120399,120399],\"mapped\",[116]],[[120400,120400],\"mapped\",[117]],[[120401,120401],\"mapped\",[118]],[[120402,120402],\"mapped\",[119]],[[120403,120403],\"mapped\",[120]],[[120404,120404],\"mapped\",[121]],[[120405,120405],\"mapped\",[122]],[[120406,120406],\"mapped\",[97]],[[120407,120407],\"mapped\",[98]],[[120408,120408],\"mapped\",[99]],[[120409,120409],\"mapped\",[100]],[[120410,120410],\"mapped\",[101]],[[120411,120411],\"mapped\",[102]],[[120412,120412],\"mapped\",[103]],[[120413,120413],\"mapped\",[104]],[[120414,120414],\"mapped\",[105]],[[120415,120415],\"mapped\",[106]],[[120416,120416],\"mapped\",[107]],[[120417,120417],\"mapped\",[108]],[[120418,120418],\"mapped\",[109]],[[120419,120419],\"mapped\",[110]],[[120420,120420],\"mapped\",[111]],[[120421,120421],\"mapped\",[112]],[[120422,120422],\"mapped\",[113]],[[120423,120423],\"mapped\",[114]],[[120424,120424],\"mapped\",[115]],[[120425,120425],\"mapped\",[116]],[[120426,120426],\"mapped\",[117]],[[120427,120427],\"mapped\",[118]],[[120428,120428],\"mapped\",[119]],[[120429,120429],\"mapped\",[120]],[[120430,120430],\"mapped\",[121]],[[120431,120431],\"mapped\",[122]],[[120432,120432],\"mapped\",[97]],[[120433,120433],\"mapped\",[98]],[[120434,120434],\"mapped\",[99]],[[120435,120435],\"mapped\",[100]],[[120436,120436],\"mapped\",[101]],[[120437,120437],\"mapped\",[102]],[[120438,120438],\"mapped\",[103]],[[120439,120439],\"mapped\",[104]],[[120440,120440],\"mapped\",[105]],[[120441,120441],\"mapped\",[106]],[[120442,120442],\"mapped\",[107]],[[120443,120443],\"mapped\",[108]],[[120444,120444],\"mapped\",[109]],[[120445,120445],\"mapped\",[110]],[[120446,120446],\"mapped\",[111]],[[120447,120447],\"mapped\",[112]],[[120448,120448],\"mapped\",[113]],[[120449,120449],\"mapped\",[114]],[[120450,120450],\"mapped\",[115]],[[120451,120451],\"mapped\",[116]],[[120452,120452],\"mapped\",[117]],[[120453,120453],\"mapped\",[118]],[[120454,120454],\"mapped\",[119]],[[120455,120455],\"mapped\",[120]],[[120456,120456],\"mapped\",[121]],[[120457,120457],\"mapped\",[122]],[[120458,120458],\"mapped\",[97]],[[120459,120459],\"mapped\",[98]],[[120460,120460],\"mapped\",[99]],[[120461,120461],\"mapped\",[100]],[[120462,120462],\"mapped\",[101]],[[120463,120463],\"mapped\",[102]],[[120464,120464],\"mapped\",[103]],[[120465,120465],\"mapped\",[104]],[[120466,120466],\"mapped\",[105]],[[120467,120467],\"mapped\",[106]],[[120468,120468],\"mapped\",[107]],[[120469,120469],\"mapped\",[108]],[[120470,120470],\"mapped\",[109]],[[120471,120471],\"mapped\",[110]],[[120472,120472],\"mapped\",[111]],[[120473,120473],\"mapped\",[112]],[[120474,120474],\"mapped\",[113]],[[120475,120475],\"mapped\",[114]],[[120476,120476],\"mapped\",[115]],[[120477,120477],\"mapped\",[116]],[[120478,120478],\"mapped\",[117]],[[120479,120479],\"mapped\",[118]],[[120480,120480],\"mapped\",[119]],[[120481,120481],\"mapped\",[120]],[[120482,120482],\"mapped\",[121]],[[120483,120483],\"mapped\",[122]],[[120484,120484],\"mapped\",[305]],[[120485,120485],\"mapped\",[567]],[[120486,120487],\"disallowed\"],[[120488,120488],\"mapped\",[945]],[[120489,120489],\"mapped\",[946]],[[120490,120490],\"mapped\",[947]],[[120491,120491],\"mapped\",[948]],[[120492,120492],\"mapped\",[949]],[[120493,120493],\"mapped\",[950]],[[120494,120494],\"mapped\",[951]],[[120495,120495],\"mapped\",[952]],[[120496,120496],\"mapped\",[953]],[[120497,120497],\"mapped\",[954]],[[120498,120498],\"mapped\",[955]],[[120499,120499],\"mapped\",[956]],[[120500,120500],\"mapped\",[957]],[[120501,120501],\"mapped\",[958]],[[120502,120502],\"mapped\",[959]],[[120503,120503],\"mapped\",[960]],[[120504,120504],\"mapped\",[961]],[[120505,120505],\"mapped\",[952]],[[120506,120506],\"mapped\",[963]],[[120507,120507],\"mapped\",[964]],[[120508,120508],\"mapped\",[965]],[[120509,120509],\"mapped\",[966]],[[120510,120510],\"mapped\",[967]],[[120511,120511],\"mapped\",[968]],[[120512,120512],\"mapped\",[969]],[[120513,120513],\"mapped\",[8711]],[[120514,120514],\"mapped\",[945]],[[120515,120515],\"mapped\",[946]],[[120516,120516],\"mapped\",[947]],[[120517,120517],\"mapped\",[948]],[[120518,120518],\"mapped\",[949]],[[120519,120519],\"mapped\",[950]],[[120520,120520],\"mapped\",[951]],[[120521,120521],\"mapped\",[952]],[[120522,120522],\"mapped\",[953]],[[120523,120523],\"mapped\",[954]],[[120524,120524],\"mapped\",[955]],[[120525,120525],\"mapped\",[956]],[[120526,120526],\"mapped\",[957]],[[120527,120527],\"mapped\",[958]],[[120528,120528],\"mapped\",[959]],[[120529,120529],\"mapped\",[960]],[[120530,120530],\"mapped\",[961]],[[120531,120532],\"mapped\",[963]],[[120533,120533],\"mapped\",[964]],[[120534,120534],\"mapped\",[965]],[[120535,120535],\"mapped\",[966]],[[120536,120536],\"mapped\",[967]],[[120537,120537],\"mapped\",[968]],[[120538,120538],\"mapped\",[969]],[[120539,120539],\"mapped\",[8706]],[[120540,120540],\"mapped\",[949]],[[120541,120541],\"mapped\",[952]],[[120542,120542],\"mapped\",[954]],[[120543,120543],\"mapped\",[966]],[[120544,120544],\"mapped\",[961]],[[120545,120545],\"mapped\",[960]],[[120546,120546],\"mapped\",[945]],[[120547,120547],\"mapped\",[946]],[[120548,120548],\"mapped\",[947]],[[120549,120549],\"mapped\",[948]],[[120550,120550],\"mapped\",[949]],[[120551,120551],\"mapped\",[950]],[[120552,120552],\"mapped\",[951]],[[120553,120553],\"mapped\",[952]],[[120554,120554],\"mapped\",[953]],[[120555,120555],\"mapped\",[954]],[[120556,120556],\"mapped\",[955]],[[120557,120557],\"mapped\",[956]],[[120558,120558],\"mapped\",[957]],[[120559,120559],\"mapped\",[958]],[[120560,120560],\"mapped\",[959]],[[120561,120561],\"mapped\",[960]],[[120562,120562],\"mapped\",[961]],[[120563,120563],\"mapped\",[952]],[[120564,120564],\"mapped\",[963]],[[120565,120565],\"mapped\",[964]],[[120566,120566],\"mapped\",[965]],[[120567,120567],\"mapped\",[966]],[[120568,120568],\"mapped\",[967]],[[120569,120569],\"mapped\",[968]],[[120570,120570],\"mapped\",[969]],[[120571,120571],\"mapped\",[8711]],[[120572,120572],\"mapped\",[945]],[[120573,120573],\"mapped\",[946]],[[120574,120574],\"mapped\",[947]],[[120575,120575],\"mapped\",[948]],[[120576,120576],\"mapped\",[949]],[[120577,120577],\"mapped\",[950]],[[120578,120578],\"mapped\",[951]],[[120579,120579],\"mapped\",[952]],[[120580,120580],\"mapped\",[953]],[[120581,120581],\"mapped\",[954]],[[120582,120582],\"mapped\",[955]],[[120583,120583],\"mapped\",[956]],[[120584,120584],\"mapped\",[957]],[[120585,120585],\"mapped\",[958]],[[120586,120586],\"mapped\",[959]],[[120587,120587],\"mapped\",[960]],[[120588,120588],\"mapped\",[961]],[[120589,120590],\"mapped\",[963]],[[120591,120591],\"mapped\",[964]],[[120592,120592],\"mapped\",[965]],[[120593,120593],\"mapped\",[966]],[[120594,120594],\"mapped\",[967]],[[120595,120595],\"mapped\",[968]],[[120596,120596],\"mapped\",[969]],[[120597,120597],\"mapped\",[8706]],[[120598,120598],\"mapped\",[949]],[[120599,120599],\"mapped\",[952]],[[120600,120600],\"mapped\",[954]],[[120601,120601],\"mapped\",[966]],[[120602,120602],\"mapped\",[961]],[[120603,120603],\"mapped\",[960]],[[120604,120604],\"mapped\",[945]],[[120605,120605],\"mapped\",[946]],[[120606,120606],\"mapped\",[947]],[[120607,120607],\"mapped\",[948]],[[120608,120608],\"mapped\",[949]],[[120609,120609],\"mapped\",[950]],[[120610,120610],\"mapped\",[951]],[[120611,120611],\"mapped\",[952]],[[120612,120612],\"mapped\",[953]],[[120613,120613],\"mapped\",[954]],[[120614,120614],\"mapped\",[955]],[[120615,120615],\"mapped\",[956]],[[120616,120616],\"mapped\",[957]],[[120617,120617],\"mapped\",[958]],[[120618,120618],\"mapped\",[959]],[[120619,120619],\"mapped\",[960]],[[120620,120620],\"mapped\",[961]],[[120621,120621],\"mapped\",[952]],[[120622,120622],\"mapped\",[963]],[[120623,120623],\"mapped\",[964]],[[120624,120624],\"mapped\",[965]],[[120625,120625],\"mapped\",[966]],[[120626,120626],\"mapped\",[967]],[[120627,120627],\"mapped\",[968]],[[120628,120628],\"mapped\",[969]],[[120629,120629],\"mapped\",[8711]],[[120630,120630],\"mapped\",[945]],[[120631,120631],\"mapped\",[946]],[[120632,120632],\"mapped\",[947]],[[120633,120633],\"mapped\",[948]],[[120634,120634],\"mapped\",[949]],[[120635,120635],\"mapped\",[950]],[[120636,120636],\"mapped\",[951]],[[120637,120637],\"mapped\",[952]],[[120638,120638],\"mapped\",[953]],[[120639,120639],\"mapped\",[954]],[[120640,120640],\"mapped\",[955]],[[120641,120641],\"mapped\",[956]],[[120642,120642],\"mapped\",[957]],[[120643,120643],\"mapped\",[958]],[[120644,120644],\"mapped\",[959]],[[120645,120645],\"mapped\",[960]],[[120646,120646],\"mapped\",[961]],[[120647,120648],\"mapped\",[963]],[[120649,120649],\"mapped\",[964]],[[120650,120650],\"mapped\",[965]],[[120651,120651],\"mapped\",[966]],[[120652,120652],\"mapped\",[967]],[[120653,120653],\"mapped\",[968]],[[120654,120654],\"mapped\",[969]],[[120655,120655],\"mapped\",[8706]],[[120656,120656],\"mapped\",[949]],[[120657,120657],\"mapped\",[952]],[[120658,120658],\"mapped\",[954]],[[120659,120659],\"mapped\",[966]],[[120660,120660],\"mapped\",[961]],[[120661,120661],\"mapped\",[960]],[[120662,120662],\"mapped\",[945]],[[120663,120663],\"mapped\",[946]],[[120664,120664],\"mapped\",[947]],[[120665,120665],\"mapped\",[948]],[[120666,120666],\"mapped\",[949]],[[120667,120667],\"mapped\",[950]],[[120668,120668],\"mapped\",[951]],[[120669,120669],\"mapped\",[952]],[[120670,120670],\"mapped\",[953]],[[120671,120671],\"mapped\",[954]],[[120672,120672],\"mapped\",[955]],[[120673,120673],\"mapped\",[956]],[[120674,120674],\"mapped\",[957]],[[120675,120675],\"mapped\",[958]],[[120676,120676],\"mapped\",[959]],[[120677,120677],\"mapped\",[960]],[[120678,120678],\"mapped\",[961]],[[120679,120679],\"mapped\",[952]],[[120680,120680],\"mapped\",[963]],[[120681,120681],\"mapped\",[964]],[[120682,120682],\"mapped\",[965]],[[120683,120683],\"mapped\",[966]],[[120684,120684],\"mapped\",[967]],[[120685,120685],\"mapped\",[968]],[[120686,120686],\"mapped\",[969]],[[120687,120687],\"mapped\",[8711]],[[120688,120688],\"mapped\",[945]],[[120689,120689],\"mapped\",[946]],[[120690,120690],\"mapped\",[947]],[[120691,120691],\"mapped\",[948]],[[120692,120692],\"mapped\",[949]],[[120693,120693],\"mapped\",[950]],[[120694,120694],\"mapped\",[951]],[[120695,120695],\"mapped\",[952]],[[120696,120696],\"mapped\",[953]],[[120697,120697],\"mapped\",[954]],[[120698,120698],\"mapped\",[955]],[[120699,120699],\"mapped\",[956]],[[120700,120700],\"mapped\",[957]],[[120701,120701],\"mapped\",[958]],[[120702,120702],\"mapped\",[959]],[[120703,120703],\"mapped\",[960]],[[120704,120704],\"mapped\",[961]],[[120705,120706],\"mapped\",[963]],[[120707,120707],\"mapped\",[964]],[[120708,120708],\"mapped\",[965]],[[120709,120709],\"mapped\",[966]],[[120710,120710],\"mapped\",[967]],[[120711,120711],\"mapped\",[968]],[[120712,120712],\"mapped\",[969]],[[120713,120713],\"mapped\",[8706]],[[120714,120714],\"mapped\",[949]],[[120715,120715],\"mapped\",[952]],[[120716,120716],\"mapped\",[954]],[[120717,120717],\"mapped\",[966]],[[120718,120718],\"mapped\",[961]],[[120719,120719],\"mapped\",[960]],[[120720,120720],\"mapped\",[945]],[[120721,120721],\"mapped\",[946]],[[120722,120722],\"mapped\",[947]],[[120723,120723],\"mapped\",[948]],[[120724,120724],\"mapped\",[949]],[[120725,120725],\"mapped\",[950]],[[120726,120726],\"mapped\",[951]],[[120727,120727],\"mapped\",[952]],[[120728,120728],\"mapped\",[953]],[[120729,120729],\"mapped\",[954]],[[120730,120730],\"mapped\",[955]],[[120731,120731],\"mapped\",[956]],[[120732,120732],\"mapped\",[957]],[[120733,120733],\"mapped\",[958]],[[120734,120734],\"mapped\",[959]],[[120735,120735],\"mapped\",[960]],[[120736,120736],\"mapped\",[961]],[[120737,120737],\"mapped\",[952]],[[120738,120738],\"mapped\",[963]],[[120739,120739],\"mapped\",[964]],[[120740,120740],\"mapped\",[965]],[[120741,120741],\"mapped\",[966]],[[120742,120742],\"mapped\",[967]],[[120743,120743],\"mapped\",[968]],[[120744,120744],\"mapped\",[969]],[[120745,120745],\"mapped\",[8711]],[[120746,120746],\"mapped\",[945]],[[120747,120747],\"mapped\",[946]],[[120748,120748],\"mapped\",[947]],[[120749,120749],\"mapped\",[948]],[[120750,120750],\"mapped\",[949]],[[120751,120751],\"mapped\",[950]],[[120752,120752],\"mapped\",[951]],[[120753,120753],\"mapped\",[952]],[[120754,120754],\"mapped\",[953]],[[120755,120755],\"mapped\",[954]],[[120756,120756],\"mapped\",[955]],[[120757,120757],\"mapped\",[956]],[[120758,120758],\"mapped\",[957]],[[120759,120759],\"mapped\",[958]],[[120760,120760],\"mapped\",[959]],[[120761,120761],\"mapped\",[960]],[[120762,120762],\"mapped\",[961]],[[120763,120764],\"mapped\",[963]],[[120765,120765],\"mapped\",[964]],[[120766,120766],\"mapped\",[965]],[[120767,120767],\"mapped\",[966]],[[120768,120768],\"mapped\",[967]],[[120769,120769],\"mapped\",[968]],[[120770,120770],\"mapped\",[969]],[[120771,120771],\"mapped\",[8706]],[[120772,120772],\"mapped\",[949]],[[120773,120773],\"mapped\",[952]],[[120774,120774],\"mapped\",[954]],[[120775,120775],\"mapped\",[966]],[[120776,120776],\"mapped\",[961]],[[120777,120777],\"mapped\",[960]],[[120778,120779],\"mapped\",[989]],[[120780,120781],\"disallowed\"],[[120782,120782],\"mapped\",[48]],[[120783,120783],\"mapped\",[49]],[[120784,120784],\"mapped\",[50]],[[120785,120785],\"mapped\",[51]],[[120786,120786],\"mapped\",[52]],[[120787,120787],\"mapped\",[53]],[[120788,120788],\"mapped\",[54]],[[120789,120789],\"mapped\",[55]],[[120790,120790],\"mapped\",[56]],[[120791,120791],\"mapped\",[57]],[[120792,120792],\"mapped\",[48]],[[120793,120793],\"mapped\",[49]],[[120794,120794],\"mapped\",[50]],[[120795,120795],\"mapped\",[51]],[[120796,120796],\"mapped\",[52]],[[120797,120797],\"mapped\",[53]],[[120798,120798],\"mapped\",[54]],[[120799,120799],\"mapped\",[55]],[[120800,120800],\"mapped\",[56]],[[120801,120801],\"mapped\",[57]],[[120802,120802],\"mapped\",[48]],[[120803,120803],\"mapped\",[49]],[[120804,120804],\"mapped\",[50]],[[120805,120805],\"mapped\",[51]],[[120806,120806],\"mapped\",[52]],[[120807,120807],\"mapped\",[53]],[[120808,120808],\"mapped\",[54]],[[120809,120809],\"mapped\",[55]],[[120810,120810],\"mapped\",[56]],[[120811,120811],\"mapped\",[57]],[[120812,120812],\"mapped\",[48]],[[120813,120813],\"mapped\",[49]],[[120814,120814],\"mapped\",[50]],[[120815,120815],\"mapped\",[51]],[[120816,120816],\"mapped\",[52]],[[120817,120817],\"mapped\",[53]],[[120818,120818],\"mapped\",[54]],[[120819,120819],\"mapped\",[55]],[[120820,120820],\"mapped\",[56]],[[120821,120821],\"mapped\",[57]],[[120822,120822],\"mapped\",[48]],[[120823,120823],\"mapped\",[49]],[[120824,120824],\"mapped\",[50]],[[120825,120825],\"mapped\",[51]],[[120826,120826],\"mapped\",[52]],[[120827,120827],\"mapped\",[53]],[[120828,120828],\"mapped\",[54]],[[120829,120829],\"mapped\",[55]],[[120830,120830],\"mapped\",[56]],[[120831,120831],\"mapped\",[57]],[[120832,121343],\"valid\",[],\"NV8\"],[[121344,121398],\"valid\"],[[121399,121402],\"valid\",[],\"NV8\"],[[121403,121452],\"valid\"],[[121453,121460],\"valid\",[],\"NV8\"],[[121461,121461],\"valid\"],[[121462,121475],\"valid\",[],\"NV8\"],[[121476,121476],\"valid\"],[[121477,121483],\"valid\",[],\"NV8\"],[[121484,121498],\"disallowed\"],[[121499,121503],\"valid\"],[[121504,121504],\"disallowed\"],[[121505,121519],\"valid\"],[[121520,124927],\"disallowed\"],[[124928,125124],\"valid\"],[[125125,125126],\"disallowed\"],[[125127,125135],\"valid\",[],\"NV8\"],[[125136,125142],\"valid\"],[[125143,126463],\"disallowed\"],[[126464,126464],\"mapped\",[1575]],[[126465,126465],\"mapped\",[1576]],[[126466,126466],\"mapped\",[1580]],[[126467,126467],\"mapped\",[1583]],[[126468,126468],\"disallowed\"],[[126469,126469],\"mapped\",[1608]],[[126470,126470],\"mapped\",[1586]],[[126471,126471],\"mapped\",[1581]],[[126472,126472],\"mapped\",[1591]],[[126473,126473],\"mapped\",[1610]],[[126474,126474],\"mapped\",[1603]],[[126475,126475],\"mapped\",[1604]],[[126476,126476],\"mapped\",[1605]],[[126477,126477],\"mapped\",[1606]],[[126478,126478],\"mapped\",[1587]],[[126479,126479],\"mapped\",[1593]],[[126480,126480],\"mapped\",[1601]],[[126481,126481],\"mapped\",[1589]],[[126482,126482],\"mapped\",[1602]],[[126483,126483],\"mapped\",[1585]],[[126484,126484],\"mapped\",[1588]],[[126485,126485],\"mapped\",[1578]],[[126486,126486],\"mapped\",[1579]],[[126487,126487],\"mapped\",[1582]],[[126488,126488],\"mapped\",[1584]],[[126489,126489],\"mapped\",[1590]],[[126490,126490],\"mapped\",[1592]],[[126491,126491],\"mapped\",[1594]],[[126492,126492],\"mapped\",[1646]],[[126493,126493],\"mapped\",[1722]],[[126494,126494],\"mapped\",[1697]],[[126495,126495],\"mapped\",[1647]],[[126496,126496],\"disallowed\"],[[126497,126497],\"mapped\",[1576]],[[126498,126498],\"mapped\",[1580]],[[126499,126499],\"disallowed\"],[[126500,126500],\"mapped\",[1607]],[[126501,126502],\"disallowed\"],[[126503,126503],\"mapped\",[1581]],[[126504,126504],\"disallowed\"],[[126505,126505],\"mapped\",[1610]],[[126506,126506],\"mapped\",[1603]],[[126507,126507],\"mapped\",[1604]],[[126508,126508],\"mapped\",[1605]],[[126509,126509],\"mapped\",[1606]],[[126510,126510],\"mapped\",[1587]],[[126511,126511],\"mapped\",[1593]],[[126512,126512],\"mapped\",[1601]],[[126513,126513],\"mapped\",[1589]],[[126514,126514],\"mapped\",[1602]],[[126515,126515],\"disallowed\"],[[126516,126516],\"mapped\",[1588]],[[126517,126517],\"mapped\",[1578]],[[126518,126518],\"mapped\",[1579]],[[126519,126519],\"mapped\",[1582]],[[126520,126520],\"disallowed\"],[[126521,126521],\"mapped\",[1590]],[[126522,126522],\"disallowed\"],[[126523,126523],\"mapped\",[1594]],[[126524,126529],\"disallowed\"],[[126530,126530],\"mapped\",[1580]],[[126531,126534],\"disallowed\"],[[126535,126535],\"mapped\",[1581]],[[126536,126536],\"disallowed\"],[[126537,126537],\"mapped\",[1610]],[[126538,126538],\"disallowed\"],[[126539,126539],\"mapped\",[1604]],[[126540,126540],\"disallowed\"],[[126541,126541],\"mapped\",[1606]],[[126542,126542],\"mapped\",[1587]],[[126543,126543],\"mapped\",[1593]],[[126544,126544],\"disallowed\"],[[126545,126545],\"mapped\",[1589]],[[126546,126546],\"mapped\",[1602]],[[126547,126547],\"disallowed\"],[[126548,126548],\"mapped\",[1588]],[[126549,126550],\"disallowed\"],[[126551,126551],\"mapped\",[1582]],[[126552,126552],\"disallowed\"],[[126553,126553],\"mapped\",[1590]],[[126554,126554],\"disallowed\"],[[126555,126555],\"mapped\",[1594]],[[126556,126556],\"disallowed\"],[[126557,126557],\"mapped\",[1722]],[[126558,126558],\"disallowed\"],[[126559,126559],\"mapped\",[1647]],[[126560,126560],\"disallowed\"],[[126561,126561],\"mapped\",[1576]],[[126562,126562],\"mapped\",[1580]],[[126563,126563],\"disallowed\"],[[126564,126564],\"mapped\",[1607]],[[126565,126566],\"disallowed\"],[[126567,126567],\"mapped\",[1581]],[[126568,126568],\"mapped\",[1591]],[[126569,126569],\"mapped\",[1610]],[[126570,126570],\"mapped\",[1603]],[[126571,126571],\"disallowed\"],[[126572,126572],\"mapped\",[1605]],[[126573,126573],\"mapped\",[1606]],[[126574,126574],\"mapped\",[1587]],[[126575,126575],\"mapped\",[1593]],[[126576,126576],\"mapped\",[1601]],[[126577,126577],\"mapped\",[1589]],[[126578,126578],\"mapped\",[1602]],[[126579,126579],\"disallowed\"],[[126580,126580],\"mapped\",[1588]],[[126581,126581],\"mapped\",[1578]],[[126582,126582],\"mapped\",[1579]],[[126583,126583],\"mapped\",[1582]],[[126584,126584],\"disallowed\"],[[126585,126585],\"mapped\",[1590]],[[126586,126586],\"mapped\",[1592]],[[126587,126587],\"mapped\",[1594]],[[126588,126588],\"mapped\",[1646]],[[126589,126589],\"disallowed\"],[[126590,126590],\"mapped\",[1697]],[[126591,126591],\"disallowed\"],[[126592,126592],\"mapped\",[1575]],[[126593,126593],\"mapped\",[1576]],[[126594,126594],\"mapped\",[1580]],[[126595,126595],\"mapped\",[1583]],[[126596,126596],\"mapped\",[1607]],[[126597,126597],\"mapped\",[1608]],[[126598,126598],\"mapped\",[1586]],[[126599,126599],\"mapped\",[1581]],[[126600,126600],\"mapped\",[1591]],[[126601,126601],\"mapped\",[1610]],[[126602,126602],\"disallowed\"],[[126603,126603],\"mapped\",[1604]],[[126604,126604],\"mapped\",[1605]],[[126605,126605],\"mapped\",[1606]],[[126606,126606],\"mapped\",[1587]],[[126607,126607],\"mapped\",[1593]],[[126608,126608],\"mapped\",[1601]],[[126609,126609],\"mapped\",[1589]],[[126610,126610],\"mapped\",[1602]],[[126611,126611],\"mapped\",[1585]],[[126612,126612],\"mapped\",[1588]],[[126613,126613],\"mapped\",[1578]],[[126614,126614],\"mapped\",[1579]],[[126615,126615],\"mapped\",[1582]],[[126616,126616],\"mapped\",[1584]],[[126617,126617],\"mapped\",[1590]],[[126618,126618],\"mapped\",[1592]],[[126619,126619],\"mapped\",[1594]],[[126620,126624],\"disallowed\"],[[126625,126625],\"mapped\",[1576]],[[126626,126626],\"mapped\",[1580]],[[126627,126627],\"mapped\",[1583]],[[126628,126628],\"disallowed\"],[[126629,126629],\"mapped\",[1608]],[[126630,126630],\"mapped\",[1586]],[[126631,126631],\"mapped\",[1581]],[[126632,126632],\"mapped\",[1591]],[[126633,126633],\"mapped\",[1610]],[[126634,126634],\"disallowed\"],[[126635,126635],\"mapped\",[1604]],[[126636,126636],\"mapped\",[1605]],[[126637,126637],\"mapped\",[1606]],[[126638,126638],\"mapped\",[1587]],[[126639,126639],\"mapped\",[1593]],[[126640,126640],\"mapped\",[1601]],[[126641,126641],\"mapped\",[1589]],[[126642,126642],\"mapped\",[1602]],[[126643,126643],\"mapped\",[1585]],[[126644,126644],\"mapped\",[1588]],[[126645,126645],\"mapped\",[1578]],[[126646,126646],\"mapped\",[1579]],[[126647,126647],\"mapped\",[1582]],[[126648,126648],\"mapped\",[1584]],[[126649,126649],\"mapped\",[1590]],[[126650,126650],\"mapped\",[1592]],[[126651,126651],\"mapped\",[1594]],[[126652,126703],\"disallowed\"],[[126704,126705],\"valid\",[],\"NV8\"],[[126706,126975],\"disallowed\"],[[126976,127019],\"valid\",[],\"NV8\"],[[127020,127023],\"disallowed\"],[[127024,127123],\"valid\",[],\"NV8\"],[[127124,127135],\"disallowed\"],[[127136,127150],\"valid\",[],\"NV8\"],[[127151,127152],\"disallowed\"],[[127153,127166],\"valid\",[],\"NV8\"],[[127167,127167],\"valid\",[],\"NV8\"],[[127168,127168],\"disallowed\"],[[127169,127183],\"valid\",[],\"NV8\"],[[127184,127184],\"disallowed\"],[[127185,127199],\"valid\",[],\"NV8\"],[[127200,127221],\"valid\",[],\"NV8\"],[[127222,127231],\"disallowed\"],[[127232,127232],\"disallowed\"],[[127233,127233],\"disallowed_STD3_mapped\",[48,44]],[[127234,127234],\"disallowed_STD3_mapped\",[49,44]],[[127235,127235],\"disallowed_STD3_mapped\",[50,44]],[[127236,127236],\"disallowed_STD3_mapped\",[51,44]],[[127237,127237],\"disallowed_STD3_mapped\",[52,44]],[[127238,127238],\"disallowed_STD3_mapped\",[53,44]],[[127239,127239],\"disallowed_STD3_mapped\",[54,44]],[[127240,127240],\"disallowed_STD3_mapped\",[55,44]],[[127241,127241],\"disallowed_STD3_mapped\",[56,44]],[[127242,127242],\"disallowed_STD3_mapped\",[57,44]],[[127243,127244],\"valid\",[],\"NV8\"],[[127245,127247],\"disallowed\"],[[127248,127248],\"disallowed_STD3_mapped\",[40,97,41]],[[127249,127249],\"disallowed_STD3_mapped\",[40,98,41]],[[127250,127250],\"disallowed_STD3_mapped\",[40,99,41]],[[127251,127251],\"disallowed_STD3_mapped\",[40,100,41]],[[127252,127252],\"disallowed_STD3_mapped\",[40,101,41]],[[127253,127253],\"disallowed_STD3_mapped\",[40,102,41]],[[127254,127254],\"disallowed_STD3_mapped\",[40,103,41]],[[127255,127255],\"disallowed_STD3_mapped\",[40,104,41]],[[127256,127256],\"disallowed_STD3_mapped\",[40,105,41]],[[127257,127257],\"disallowed_STD3_mapped\",[40,106,41]],[[127258,127258],\"disallowed_STD3_mapped\",[40,107,41]],[[127259,127259],\"disallowed_STD3_mapped\",[40,108,41]],[[127260,127260],\"disallowed_STD3_mapped\",[40,109,41]],[[127261,127261],\"disallowed_STD3_mapped\",[40,110,41]],[[127262,127262],\"disallowed_STD3_mapped\",[40,111,41]],[[127263,127263],\"disallowed_STD3_mapped\",[40,112,41]],[[127264,127264],\"disallowed_STD3_mapped\",[40,113,41]],[[127265,127265],\"disallowed_STD3_mapped\",[40,114,41]],[[127266,127266],\"disallowed_STD3_mapped\",[40,115,41]],[[127267,127267],\"disallowed_STD3_mapped\",[40,116,41]],[[127268,127268],\"disallowed_STD3_mapped\",[40,117,41]],[[127269,127269],\"disallowed_STD3_mapped\",[40,118,41]],[[127270,127270],\"disallowed_STD3_mapped\",[40,119,41]],[[127271,127271],\"disallowed_STD3_mapped\",[40,120,41]],[[127272,127272],\"disallowed_STD3_mapped\",[40,121,41]],[[127273,127273],\"disallowed_STD3_mapped\",[40,122,41]],[[127274,127274],\"mapped\",[12308,115,12309]],[[127275,127275],\"mapped\",[99]],[[127276,127276],\"mapped\",[114]],[[127277,127277],\"mapped\",[99,100]],[[127278,127278],\"mapped\",[119,122]],[[127279,127279],\"disallowed\"],[[127280,127280],\"mapped\",[97]],[[127281,127281],\"mapped\",[98]],[[127282,127282],\"mapped\",[99]],[[127283,127283],\"mapped\",[100]],[[127284,127284],\"mapped\",[101]],[[127285,127285],\"mapped\",[102]],[[127286,127286],\"mapped\",[103]],[[127287,127287],\"mapped\",[104]],[[127288,127288],\"mapped\",[105]],[[127289,127289],\"mapped\",[106]],[[127290,127290],\"mapped\",[107]],[[127291,127291],\"mapped\",[108]],[[127292,127292],\"mapped\",[109]],[[127293,127293],\"mapped\",[110]],[[127294,127294],\"mapped\",[111]],[[127295,127295],\"mapped\",[112]],[[127296,127296],\"mapped\",[113]],[[127297,127297],\"mapped\",[114]],[[127298,127298],\"mapped\",[115]],[[127299,127299],\"mapped\",[116]],[[127300,127300],\"mapped\",[117]],[[127301,127301],\"mapped\",[118]],[[127302,127302],\"mapped\",[119]],[[127303,127303],\"mapped\",[120]],[[127304,127304],\"mapped\",[121]],[[127305,127305],\"mapped\",[122]],[[127306,127306],\"mapped\",[104,118]],[[127307,127307],\"mapped\",[109,118]],[[127308,127308],\"mapped\",[115,100]],[[127309,127309],\"mapped\",[115,115]],[[127310,127310],\"mapped\",[112,112,118]],[[127311,127311],\"mapped\",[119,99]],[[127312,127318],\"valid\",[],\"NV8\"],[[127319,127319],\"valid\",[],\"NV8\"],[[127320,127326],\"valid\",[],\"NV8\"],[[127327,127327],\"valid\",[],\"NV8\"],[[127328,127337],\"valid\",[],\"NV8\"],[[127338,127338],\"mapped\",[109,99]],[[127339,127339],\"mapped\",[109,100]],[[127340,127343],\"disallowed\"],[[127344,127352],\"valid\",[],\"NV8\"],[[127353,127353],\"valid\",[],\"NV8\"],[[127354,127354],\"valid\",[],\"NV8\"],[[127355,127356],\"valid\",[],\"NV8\"],[[127357,127358],\"valid\",[],\"NV8\"],[[127359,127359],\"valid\",[],\"NV8\"],[[127360,127369],\"valid\",[],\"NV8\"],[[127370,127373],\"valid\",[],\"NV8\"],[[127374,127375],\"valid\",[],\"NV8\"],[[127376,127376],\"mapped\",[100,106]],[[127377,127386],\"valid\",[],\"NV8\"],[[127387,127461],\"disallowed\"],[[127462,127487],\"valid\",[],\"NV8\"],[[127488,127488],\"mapped\",[12411,12363]],[[127489,127489],\"mapped\",[12467,12467]],[[127490,127490],\"mapped\",[12469]],[[127491,127503],\"disallowed\"],[[127504,127504],\"mapped\",[25163]],[[127505,127505],\"mapped\",[23383]],[[127506,127506],\"mapped\",[21452]],[[127507,127507],\"mapped\",[12487]],[[127508,127508],\"mapped\",[20108]],[[127509,127509],\"mapped\",[22810]],[[127510,127510],\"mapped\",[35299]],[[127511,127511],\"mapped\",[22825]],[[127512,127512],\"mapped\",[20132]],[[127513,127513],\"mapped\",[26144]],[[127514,127514],\"mapped\",[28961]],[[127515,127515],\"mapped\",[26009]],[[127516,127516],\"mapped\",[21069]],[[127517,127517],\"mapped\",[24460]],[[127518,127518],\"mapped\",[20877]],[[127519,127519],\"mapped\",[26032]],[[127520,127520],\"mapped\",[21021]],[[127521,127521],\"mapped\",[32066]],[[127522,127522],\"mapped\",[29983]],[[127523,127523],\"mapped\",[36009]],[[127524,127524],\"mapped\",[22768]],[[127525,127525],\"mapped\",[21561]],[[127526,127526],\"mapped\",[28436]],[[127527,127527],\"mapped\",[25237]],[[127528,127528],\"mapped\",[25429]],[[127529,127529],\"mapped\",[19968]],[[127530,127530],\"mapped\",[19977]],[[127531,127531],\"mapped\",[36938]],[[127532,127532],\"mapped\",[24038]],[[127533,127533],\"mapped\",[20013]],[[127534,127534],\"mapped\",[21491]],[[127535,127535],\"mapped\",[25351]],[[127536,127536],\"mapped\",[36208]],[[127537,127537],\"mapped\",[25171]],[[127538,127538],\"mapped\",[31105]],[[127539,127539],\"mapped\",[31354]],[[127540,127540],\"mapped\",[21512]],[[127541,127541],\"mapped\",[28288]],[[127542,127542],\"mapped\",[26377]],[[127543,127543],\"mapped\",[26376]],[[127544,127544],\"mapped\",[30003]],[[127545,127545],\"mapped\",[21106]],[[127546,127546],\"mapped\",[21942]],[[127547,127551],\"disallowed\"],[[127552,127552],\"mapped\",[12308,26412,12309]],[[127553,127553],\"mapped\",[12308,19977,12309]],[[127554,127554],\"mapped\",[12308,20108,12309]],[[127555,127555],\"mapped\",[12308,23433,12309]],[[127556,127556],\"mapped\",[12308,28857,12309]],[[127557,127557],\"mapped\",[12308,25171,12309]],[[127558,127558],\"mapped\",[12308,30423,12309]],[[127559,127559],\"mapped\",[12308,21213,12309]],[[127560,127560],\"mapped\",[12308,25943,12309]],[[127561,127567],\"disallowed\"],[[127568,127568],\"mapped\",[24471]],[[127569,127569],\"mapped\",[21487]],[[127570,127743],\"disallowed\"],[[127744,127776],\"valid\",[],\"NV8\"],[[127777,127788],\"valid\",[],\"NV8\"],[[127789,127791],\"valid\",[],\"NV8\"],[[127792,127797],\"valid\",[],\"NV8\"],[[127798,127798],\"valid\",[],\"NV8\"],[[127799,127868],\"valid\",[],\"NV8\"],[[127869,127869],\"valid\",[],\"NV8\"],[[127870,127871],\"valid\",[],\"NV8\"],[[127872,127891],\"valid\",[],\"NV8\"],[[127892,127903],\"valid\",[],\"NV8\"],[[127904,127940],\"valid\",[],\"NV8\"],[[127941,127941],\"valid\",[],\"NV8\"],[[127942,127946],\"valid\",[],\"NV8\"],[[127947,127950],\"valid\",[],\"NV8\"],[[127951,127955],\"valid\",[],\"NV8\"],[[127956,127967],\"valid\",[],\"NV8\"],[[127968,127984],\"valid\",[],\"NV8\"],[[127985,127991],\"valid\",[],\"NV8\"],[[127992,127999],\"valid\",[],\"NV8\"],[[128000,128062],\"valid\",[],\"NV8\"],[[128063,128063],\"valid\",[],\"NV8\"],[[128064,128064],\"valid\",[],\"NV8\"],[[128065,128065],\"valid\",[],\"NV8\"],[[128066,128247],\"valid\",[],\"NV8\"],[[128248,128248],\"valid\",[],\"NV8\"],[[128249,128252],\"valid\",[],\"NV8\"],[[128253,128254],\"valid\",[],\"NV8\"],[[128255,128255],\"valid\",[],\"NV8\"],[[128256,128317],\"valid\",[],\"NV8\"],[[128318,128319],\"valid\",[],\"NV8\"],[[128320,128323],\"valid\",[],\"NV8\"],[[128324,128330],\"valid\",[],\"NV8\"],[[128331,128335],\"valid\",[],\"NV8\"],[[128336,128359],\"valid\",[],\"NV8\"],[[128360,128377],\"valid\",[],\"NV8\"],[[128378,128378],\"disallowed\"],[[128379,128419],\"valid\",[],\"NV8\"],[[128420,128420],\"disallowed\"],[[128421,128506],\"valid\",[],\"NV8\"],[[128507,128511],\"valid\",[],\"NV8\"],[[128512,128512],\"valid\",[],\"NV8\"],[[128513,128528],\"valid\",[],\"NV8\"],[[128529,128529],\"valid\",[],\"NV8\"],[[128530,128532],\"valid\",[],\"NV8\"],[[128533,128533],\"valid\",[],\"NV8\"],[[128534,128534],\"valid\",[],\"NV8\"],[[128535,128535],\"valid\",[],\"NV8\"],[[128536,128536],\"valid\",[],\"NV8\"],[[128537,128537],\"valid\",[],\"NV8\"],[[128538,128538],\"valid\",[],\"NV8\"],[[128539,128539],\"valid\",[],\"NV8\"],[[128540,128542],\"valid\",[],\"NV8\"],[[128543,128543],\"valid\",[],\"NV8\"],[[128544,128549],\"valid\",[],\"NV8\"],[[128550,128551],\"valid\",[],\"NV8\"],[[128552,128555],\"valid\",[],\"NV8\"],[[128556,128556],\"valid\",[],\"NV8\"],[[128557,128557],\"valid\",[],\"NV8\"],[[128558,128559],\"valid\",[],\"NV8\"],[[128560,128563],\"valid\",[],\"NV8\"],[[128564,128564],\"valid\",[],\"NV8\"],[[128565,128576],\"valid\",[],\"NV8\"],[[128577,128578],\"valid\",[],\"NV8\"],[[128579,128580],\"valid\",[],\"NV8\"],[[128581,128591],\"valid\",[],\"NV8\"],[[128592,128639],\"valid\",[],\"NV8\"],[[128640,128709],\"valid\",[],\"NV8\"],[[128710,128719],\"valid\",[],\"NV8\"],[[128720,128720],\"valid\",[],\"NV8\"],[[128721,128735],\"disallowed\"],[[128736,128748],\"valid\",[],\"NV8\"],[[128749,128751],\"disallowed\"],[[128752,128755],\"valid\",[],\"NV8\"],[[128756,128767],\"disallowed\"],[[128768,128883],\"valid\",[],\"NV8\"],[[128884,128895],\"disallowed\"],[[128896,128980],\"valid\",[],\"NV8\"],[[128981,129023],\"disallowed\"],[[129024,129035],\"valid\",[],\"NV8\"],[[129036,129039],\"disallowed\"],[[129040,129095],\"valid\",[],\"NV8\"],[[129096,129103],\"disallowed\"],[[129104,129113],\"valid\",[],\"NV8\"],[[129114,129119],\"disallowed\"],[[129120,129159],\"valid\",[],\"NV8\"],[[129160,129167],\"disallowed\"],[[129168,129197],\"valid\",[],\"NV8\"],[[129198,129295],\"disallowed\"],[[129296,129304],\"valid\",[],\"NV8\"],[[129305,129407],\"disallowed\"],[[129408,129412],\"valid\",[],\"NV8\"],[[129413,129471],\"disallowed\"],[[129472,129472],\"valid\",[],\"NV8\"],[[129473,131069],\"disallowed\"],[[131070,131071],\"disallowed\"],[[131072,173782],\"valid\"],[[173783,173823],\"disallowed\"],[[173824,177972],\"valid\"],[[177973,177983],\"disallowed\"],[[177984,178205],\"valid\"],[[178206,178207],\"disallowed\"],[[178208,183969],\"valid\"],[[183970,194559],\"disallowed\"],[[194560,194560],\"mapped\",[20029]],[[194561,194561],\"mapped\",[20024]],[[194562,194562],\"mapped\",[20033]],[[194563,194563],\"mapped\",[131362]],[[194564,194564],\"mapped\",[20320]],[[194565,194565],\"mapped\",[20398]],[[194566,194566],\"mapped\",[20411]],[[194567,194567],\"mapped\",[20482]],[[194568,194568],\"mapped\",[20602]],[[194569,194569],\"mapped\",[20633]],[[194570,194570],\"mapped\",[20711]],[[194571,194571],\"mapped\",[20687]],[[194572,194572],\"mapped\",[13470]],[[194573,194573],\"mapped\",[132666]],[[194574,194574],\"mapped\",[20813]],[[194575,194575],\"mapped\",[20820]],[[194576,194576],\"mapped\",[20836]],[[194577,194577],\"mapped\",[20855]],[[194578,194578],\"mapped\",[132380]],[[194579,194579],\"mapped\",[13497]],[[194580,194580],\"mapped\",[20839]],[[194581,194581],\"mapped\",[20877]],[[194582,194582],\"mapped\",[132427]],[[194583,194583],\"mapped\",[20887]],[[194584,194584],\"mapped\",[20900]],[[194585,194585],\"mapped\",[20172]],[[194586,194586],\"mapped\",[20908]],[[194587,194587],\"mapped\",[20917]],[[194588,194588],\"mapped\",[168415]],[[194589,194589],\"mapped\",[20981]],[[194590,194590],\"mapped\",[20995]],[[194591,194591],\"mapped\",[13535]],[[194592,194592],\"mapped\",[21051]],[[194593,194593],\"mapped\",[21062]],[[194594,194594],\"mapped\",[21106]],[[194595,194595],\"mapped\",[21111]],[[194596,194596],\"mapped\",[13589]],[[194597,194597],\"mapped\",[21191]],[[194598,194598],\"mapped\",[21193]],[[194599,194599],\"mapped\",[21220]],[[194600,194600],\"mapped\",[21242]],[[194601,194601],\"mapped\",[21253]],[[194602,194602],\"mapped\",[21254]],[[194603,194603],\"mapped\",[21271]],[[194604,194604],\"mapped\",[21321]],[[194605,194605],\"mapped\",[21329]],[[194606,194606],\"mapped\",[21338]],[[194607,194607],\"mapped\",[21363]],[[194608,194608],\"mapped\",[21373]],[[194609,194611],\"mapped\",[21375]],[[194612,194612],\"mapped\",[133676]],[[194613,194613],\"mapped\",[28784]],[[194614,194614],\"mapped\",[21450]],[[194615,194615],\"mapped\",[21471]],[[194616,194616],\"mapped\",[133987]],[[194617,194617],\"mapped\",[21483]],[[194618,194618],\"mapped\",[21489]],[[194619,194619],\"mapped\",[21510]],[[194620,194620],\"mapped\",[21662]],[[194621,194621],\"mapped\",[21560]],[[194622,194622],\"mapped\",[21576]],[[194623,194623],\"mapped\",[21608]],[[194624,194624],\"mapped\",[21666]],[[194625,194625],\"mapped\",[21750]],[[194626,194626],\"mapped\",[21776]],[[194627,194627],\"mapped\",[21843]],[[194628,194628],\"mapped\",[21859]],[[194629,194630],\"mapped\",[21892]],[[194631,194631],\"mapped\",[21913]],[[194632,194632],\"mapped\",[21931]],[[194633,194633],\"mapped\",[21939]],[[194634,194634],\"mapped\",[21954]],[[194635,194635],\"mapped\",[22294]],[[194636,194636],\"mapped\",[22022]],[[194637,194637],\"mapped\",[22295]],[[194638,194638],\"mapped\",[22097]],[[194639,194639],\"mapped\",[22132]],[[194640,194640],\"mapped\",[20999]],[[194641,194641],\"mapped\",[22766]],[[194642,194642],\"mapped\",[22478]],[[194643,194643],\"mapped\",[22516]],[[194644,194644],\"mapped\",[22541]],[[194645,194645],\"mapped\",[22411]],[[194646,194646],\"mapped\",[22578]],[[194647,194647],\"mapped\",[22577]],[[194648,194648],\"mapped\",[22700]],[[194649,194649],\"mapped\",[136420]],[[194650,194650],\"mapped\",[22770]],[[194651,194651],\"mapped\",[22775]],[[194652,194652],\"mapped\",[22790]],[[194653,194653],\"mapped\",[22810]],[[194654,194654],\"mapped\",[22818]],[[194655,194655],\"mapped\",[22882]],[[194656,194656],\"mapped\",[136872]],[[194657,194657],\"mapped\",[136938]],[[194658,194658],\"mapped\",[23020]],[[194659,194659],\"mapped\",[23067]],[[194660,194660],\"mapped\",[23079]],[[194661,194661],\"mapped\",[23000]],[[194662,194662],\"mapped\",[23142]],[[194663,194663],\"mapped\",[14062]],[[194664,194664],\"disallowed\"],[[194665,194665],\"mapped\",[23304]],[[194666,194667],\"mapped\",[23358]],[[194668,194668],\"mapped\",[137672]],[[194669,194669],\"mapped\",[23491]],[[194670,194670],\"mapped\",[23512]],[[194671,194671],\"mapped\",[23527]],[[194672,194672],\"mapped\",[23539]],[[194673,194673],\"mapped\",[138008]],[[194674,194674],\"mapped\",[23551]],[[194675,194675],\"mapped\",[23558]],[[194676,194676],\"disallowed\"],[[194677,194677],\"mapped\",[23586]],[[194678,194678],\"mapped\",[14209]],[[194679,194679],\"mapped\",[23648]],[[194680,194680],\"mapped\",[23662]],[[194681,194681],\"mapped\",[23744]],[[194682,194682],\"mapped\",[23693]],[[194683,194683],\"mapped\",[138724]],[[194684,194684],\"mapped\",[23875]],[[194685,194685],\"mapped\",[138726]],[[194686,194686],\"mapped\",[23918]],[[194687,194687],\"mapped\",[23915]],[[194688,194688],\"mapped\",[23932]],[[194689,194689],\"mapped\",[24033]],[[194690,194690],\"mapped\",[24034]],[[194691,194691],\"mapped\",[14383]],[[194692,194692],\"mapped\",[24061]],[[194693,194693],\"mapped\",[24104]],[[194694,194694],\"mapped\",[24125]],[[194695,194695],\"mapped\",[24169]],[[194696,194696],\"mapped\",[14434]],[[194697,194697],\"mapped\",[139651]],[[194698,194698],\"mapped\",[14460]],[[194699,194699],\"mapped\",[24240]],[[194700,194700],\"mapped\",[24243]],[[194701,194701],\"mapped\",[24246]],[[194702,194702],\"mapped\",[24266]],[[194703,194703],\"mapped\",[172946]],[[194704,194704],\"mapped\",[24318]],[[194705,194706],\"mapped\",[140081]],[[194707,194707],\"mapped\",[33281]],[[194708,194709],\"mapped\",[24354]],[[194710,194710],\"mapped\",[14535]],[[194711,194711],\"mapped\",[144056]],[[194712,194712],\"mapped\",[156122]],[[194713,194713],\"mapped\",[24418]],[[194714,194714],\"mapped\",[24427]],[[194715,194715],\"mapped\",[14563]],[[194716,194716],\"mapped\",[24474]],[[194717,194717],\"mapped\",[24525]],[[194718,194718],\"mapped\",[24535]],[[194719,194719],\"mapped\",[24569]],[[194720,194720],\"mapped\",[24705]],[[194721,194721],\"mapped\",[14650]],[[194722,194722],\"mapped\",[14620]],[[194723,194723],\"mapped\",[24724]],[[194724,194724],\"mapped\",[141012]],[[194725,194725],\"mapped\",[24775]],[[194726,194726],\"mapped\",[24904]],[[194727,194727],\"mapped\",[24908]],[[194728,194728],\"mapped\",[24910]],[[194729,194729],\"mapped\",[24908]],[[194730,194730],\"mapped\",[24954]],[[194731,194731],\"mapped\",[24974]],[[194732,194732],\"mapped\",[25010]],[[194733,194733],\"mapped\",[24996]],[[194734,194734],\"mapped\",[25007]],[[194735,194735],\"mapped\",[25054]],[[194736,194736],\"mapped\",[25074]],[[194737,194737],\"mapped\",[25078]],[[194738,194738],\"mapped\",[25104]],[[194739,194739],\"mapped\",[25115]],[[194740,194740],\"mapped\",[25181]],[[194741,194741],\"mapped\",[25265]],[[194742,194742],\"mapped\",[25300]],[[194743,194743],\"mapped\",[25424]],[[194744,194744],\"mapped\",[142092]],[[194745,194745],\"mapped\",[25405]],[[194746,194746],\"mapped\",[25340]],[[194747,194747],\"mapped\",[25448]],[[194748,194748],\"mapped\",[25475]],[[194749,194749],\"mapped\",[25572]],[[194750,194750],\"mapped\",[142321]],[[194751,194751],\"mapped\",[25634]],[[194752,194752],\"mapped\",[25541]],[[194753,194753],\"mapped\",[25513]],[[194754,194754],\"mapped\",[14894]],[[194755,194755],\"mapped\",[25705]],[[194756,194756],\"mapped\",[25726]],[[194757,194757],\"mapped\",[25757]],[[194758,194758],\"mapped\",[25719]],[[194759,194759],\"mapped\",[14956]],[[194760,194760],\"mapped\",[25935]],[[194761,194761],\"mapped\",[25964]],[[194762,194762],\"mapped\",[143370]],[[194763,194763],\"mapped\",[26083]],[[194764,194764],\"mapped\",[26360]],[[194765,194765],\"mapped\",[26185]],[[194766,194766],\"mapped\",[15129]],[[194767,194767],\"mapped\",[26257]],[[194768,194768],\"mapped\",[15112]],[[194769,194769],\"mapped\",[15076]],[[194770,194770],\"mapped\",[20882]],[[194771,194771],\"mapped\",[20885]],[[194772,194772],\"mapped\",[26368]],[[194773,194773],\"mapped\",[26268]],[[194774,194774],\"mapped\",[32941]],[[194775,194775],\"mapped\",[17369]],[[194776,194776],\"mapped\",[26391]],[[194777,194777],\"mapped\",[26395]],[[194778,194778],\"mapped\",[26401]],[[194779,194779],\"mapped\",[26462]],[[194780,194780],\"mapped\",[26451]],[[194781,194781],\"mapped\",[144323]],[[194782,194782],\"mapped\",[15177]],[[194783,194783],\"mapped\",[26618]],[[194784,194784],\"mapped\",[26501]],[[194785,194785],\"mapped\",[26706]],[[194786,194786],\"mapped\",[26757]],[[194787,194787],\"mapped\",[144493]],[[194788,194788],\"mapped\",[26766]],[[194789,194789],\"mapped\",[26655]],[[194790,194790],\"mapped\",[26900]],[[194791,194791],\"mapped\",[15261]],[[194792,194792],\"mapped\",[26946]],[[194793,194793],\"mapped\",[27043]],[[194794,194794],\"mapped\",[27114]],[[194795,194795],\"mapped\",[27304]],[[194796,194796],\"mapped\",[145059]],[[194797,194797],\"mapped\",[27355]],[[194798,194798],\"mapped\",[15384]],[[194799,194799],\"mapped\",[27425]],[[194800,194800],\"mapped\",[145575]],[[194801,194801],\"mapped\",[27476]],[[194802,194802],\"mapped\",[15438]],[[194803,194803],\"mapped\",[27506]],[[194804,194804],\"mapped\",[27551]],[[194805,194805],\"mapped\",[27578]],[[194806,194806],\"mapped\",[27579]],[[194807,194807],\"mapped\",[146061]],[[194808,194808],\"mapped\",[138507]],[[194809,194809],\"mapped\",[146170]],[[194810,194810],\"mapped\",[27726]],[[194811,194811],\"mapped\",[146620]],[[194812,194812],\"mapped\",[27839]],[[194813,194813],\"mapped\",[27853]],[[194814,194814],\"mapped\",[27751]],[[194815,194815],\"mapped\",[27926]],[[194816,194816],\"mapped\",[27966]],[[194817,194817],\"mapped\",[28023]],[[194818,194818],\"mapped\",[27969]],[[194819,194819],\"mapped\",[28009]],[[194820,194820],\"mapped\",[28024]],[[194821,194821],\"mapped\",[28037]],[[194822,194822],\"mapped\",[146718]],[[194823,194823],\"mapped\",[27956]],[[194824,194824],\"mapped\",[28207]],[[194825,194825],\"mapped\",[28270]],[[194826,194826],\"mapped\",[15667]],[[194827,194827],\"mapped\",[28363]],[[194828,194828],\"mapped\",[28359]],[[194829,194829],\"mapped\",[147153]],[[194830,194830],\"mapped\",[28153]],[[194831,194831],\"mapped\",[28526]],[[194832,194832],\"mapped\",[147294]],[[194833,194833],\"mapped\",[147342]],[[194834,194834],\"mapped\",[28614]],[[194835,194835],\"mapped\",[28729]],[[194836,194836],\"mapped\",[28702]],[[194837,194837],\"mapped\",[28699]],[[194838,194838],\"mapped\",[15766]],[[194839,194839],\"mapped\",[28746]],[[194840,194840],\"mapped\",[28797]],[[194841,194841],\"mapped\",[28791]],[[194842,194842],\"mapped\",[28845]],[[194843,194843],\"mapped\",[132389]],[[194844,194844],\"mapped\",[28997]],[[194845,194845],\"mapped\",[148067]],[[194846,194846],\"mapped\",[29084]],[[194847,194847],\"disallowed\"],[[194848,194848],\"mapped\",[29224]],[[194849,194849],\"mapped\",[29237]],[[194850,194850],\"mapped\",[29264]],[[194851,194851],\"mapped\",[149000]],[[194852,194852],\"mapped\",[29312]],[[194853,194853],\"mapped\",[29333]],[[194854,194854],\"mapped\",[149301]],[[194855,194855],\"mapped\",[149524]],[[194856,194856],\"mapped\",[29562]],[[194857,194857],\"mapped\",[29579]],[[194858,194858],\"mapped\",[16044]],[[194859,194859],\"mapped\",[29605]],[[194860,194861],\"mapped\",[16056]],[[194862,194862],\"mapped\",[29767]],[[194863,194863],\"mapped\",[29788]],[[194864,194864],\"mapped\",[29809]],[[194865,194865],\"mapped\",[29829]],[[194866,194866],\"mapped\",[29898]],[[194867,194867],\"mapped\",[16155]],[[194868,194868],\"mapped\",[29988]],[[194869,194869],\"mapped\",[150582]],[[194870,194870],\"mapped\",[30014]],[[194871,194871],\"mapped\",[150674]],[[194872,194872],\"mapped\",[30064]],[[194873,194873],\"mapped\",[139679]],[[194874,194874],\"mapped\",[30224]],[[194875,194875],\"mapped\",[151457]],[[194876,194876],\"mapped\",[151480]],[[194877,194877],\"mapped\",[151620]],[[194878,194878],\"mapped\",[16380]],[[194879,194879],\"mapped\",[16392]],[[194880,194880],\"mapped\",[30452]],[[194881,194881],\"mapped\",[151795]],[[194882,194882],\"mapped\",[151794]],[[194883,194883],\"mapped\",[151833]],[[194884,194884],\"mapped\",[151859]],[[194885,194885],\"mapped\",[30494]],[[194886,194887],\"mapped\",[30495]],[[194888,194888],\"mapped\",[30538]],[[194889,194889],\"mapped\",[16441]],[[194890,194890],\"mapped\",[30603]],[[194891,194891],\"mapped\",[16454]],[[194892,194892],\"mapped\",[16534]],[[194893,194893],\"mapped\",[152605]],[[194894,194894],\"mapped\",[30798]],[[194895,194895],\"mapped\",[30860]],[[194896,194896],\"mapped\",[30924]],[[194897,194897],\"mapped\",[16611]],[[194898,194898],\"mapped\",[153126]],[[194899,194899],\"mapped\",[31062]],[[194900,194900],\"mapped\",[153242]],[[194901,194901],\"mapped\",[153285]],[[194902,194902],\"mapped\",[31119]],[[194903,194903],\"mapped\",[31211]],[[194904,194904],\"mapped\",[16687]],[[194905,194905],\"mapped\",[31296]],[[194906,194906],\"mapped\",[31306]],[[194907,194907],\"mapped\",[31311]],[[194908,194908],\"mapped\",[153980]],[[194909,194910],\"mapped\",[154279]],[[194911,194911],\"disallowed\"],[[194912,194912],\"mapped\",[16898]],[[194913,194913],\"mapped\",[154539]],[[194914,194914],\"mapped\",[31686]],[[194915,194915],\"mapped\",[31689]],[[194916,194916],\"mapped\",[16935]],[[194917,194917],\"mapped\",[154752]],[[194918,194918],\"mapped\",[31954]],[[194919,194919],\"mapped\",[17056]],[[194920,194920],\"mapped\",[31976]],[[194921,194921],\"mapped\",[31971]],[[194922,194922],\"mapped\",[32000]],[[194923,194923],\"mapped\",[155526]],[[194924,194924],\"mapped\",[32099]],[[194925,194925],\"mapped\",[17153]],[[194926,194926],\"mapped\",[32199]],[[194927,194927],\"mapped\",[32258]],[[194928,194928],\"mapped\",[32325]],[[194929,194929],\"mapped\",[17204]],[[194930,194930],\"mapped\",[156200]],[[194931,194931],\"mapped\",[156231]],[[194932,194932],\"mapped\",[17241]],[[194933,194933],\"mapped\",[156377]],[[194934,194934],\"mapped\",[32634]],[[194935,194935],\"mapped\",[156478]],[[194936,194936],\"mapped\",[32661]],[[194937,194937],\"mapped\",[32762]],[[194938,194938],\"mapped\",[32773]],[[194939,194939],\"mapped\",[156890]],[[194940,194940],\"mapped\",[156963]],[[194941,194941],\"mapped\",[32864]],[[194942,194942],\"mapped\",[157096]],[[194943,194943],\"mapped\",[32880]],[[194944,194944],\"mapped\",[144223]],[[194945,194945],\"mapped\",[17365]],[[194946,194946],\"mapped\",[32946]],[[194947,194947],\"mapped\",[33027]],[[194948,194948],\"mapped\",[17419]],[[194949,194949],\"mapped\",[33086]],[[194950,194950],\"mapped\",[23221]],[[194951,194951],\"mapped\",[157607]],[[194952,194952],\"mapped\",[157621]],[[194953,194953],\"mapped\",[144275]],[[194954,194954],\"mapped\",[144284]],[[194955,194955],\"mapped\",[33281]],[[194956,194956],\"mapped\",[33284]],[[194957,194957],\"mapped\",[36766]],[[194958,194958],\"mapped\",[17515]],[[194959,194959],\"mapped\",[33425]],[[194960,194960],\"mapped\",[33419]],[[194961,194961],\"mapped\",[33437]],[[194962,194962],\"mapped\",[21171]],[[194963,194963],\"mapped\",[33457]],[[194964,194964],\"mapped\",[33459]],[[194965,194965],\"mapped\",[33469]],[[194966,194966],\"mapped\",[33510]],[[194967,194967],\"mapped\",[158524]],[[194968,194968],\"mapped\",[33509]],[[194969,194969],\"mapped\",[33565]],[[194970,194970],\"mapped\",[33635]],[[194971,194971],\"mapped\",[33709]],[[194972,194972],\"mapped\",[33571]],[[194973,194973],\"mapped\",[33725]],[[194974,194974],\"mapped\",[33767]],[[194975,194975],\"mapped\",[33879]],[[194976,194976],\"mapped\",[33619]],[[194977,194977],\"mapped\",[33738]],[[194978,194978],\"mapped\",[33740]],[[194979,194979],\"mapped\",[33756]],[[194980,194980],\"mapped\",[158774]],[[194981,194981],\"mapped\",[159083]],[[194982,194982],\"mapped\",[158933]],[[194983,194983],\"mapped\",[17707]],[[194984,194984],\"mapped\",[34033]],[[194985,194985],\"mapped\",[34035]],[[194986,194986],\"mapped\",[34070]],[[194987,194987],\"mapped\",[160714]],[[194988,194988],\"mapped\",[34148]],[[194989,194989],\"mapped\",[159532]],[[194990,194990],\"mapped\",[17757]],[[194991,194991],\"mapped\",[17761]],[[194992,194992],\"mapped\",[159665]],[[194993,194993],\"mapped\",[159954]],[[194994,194994],\"mapped\",[17771]],[[194995,194995],\"mapped\",[34384]],[[194996,194996],\"mapped\",[34396]],[[194997,194997],\"mapped\",[34407]],[[194998,194998],\"mapped\",[34409]],[[194999,194999],\"mapped\",[34473]],[[195000,195000],\"mapped\",[34440]],[[195001,195001],\"mapped\",[34574]],[[195002,195002],\"mapped\",[34530]],[[195003,195003],\"mapped\",[34681]],[[195004,195004],\"mapped\",[34600]],[[195005,195005],\"mapped\",[34667]],[[195006,195006],\"mapped\",[34694]],[[195007,195007],\"disallowed\"],[[195008,195008],\"mapped\",[34785]],[[195009,195009],\"mapped\",[34817]],[[195010,195010],\"mapped\",[17913]],[[195011,195011],\"mapped\",[34912]],[[195012,195012],\"mapped\",[34915]],[[195013,195013],\"mapped\",[161383]],[[195014,195014],\"mapped\",[35031]],[[195015,195015],\"mapped\",[35038]],[[195016,195016],\"mapped\",[17973]],[[195017,195017],\"mapped\",[35066]],[[195018,195018],\"mapped\",[13499]],[[195019,195019],\"mapped\",[161966]],[[195020,195020],\"mapped\",[162150]],[[195021,195021],\"mapped\",[18110]],[[195022,195022],\"mapped\",[18119]],[[195023,195023],\"mapped\",[35488]],[[195024,195024],\"mapped\",[35565]],[[195025,195025],\"mapped\",[35722]],[[195026,195026],\"mapped\",[35925]],[[195027,195027],\"mapped\",[162984]],[[195028,195028],\"mapped\",[36011]],[[195029,195029],\"mapped\",[36033]],[[195030,195030],\"mapped\",[36123]],[[195031,195031],\"mapped\",[36215]],[[195032,195032],\"mapped\",[163631]],[[195033,195033],\"mapped\",[133124]],[[195034,195034],\"mapped\",[36299]],[[195035,195035],\"mapped\",[36284]],[[195036,195036],\"mapped\",[36336]],[[195037,195037],\"mapped\",[133342]],[[195038,195038],\"mapped\",[36564]],[[195039,195039],\"mapped\",[36664]],[[195040,195040],\"mapped\",[165330]],[[195041,195041],\"mapped\",[165357]],[[195042,195042],\"mapped\",[37012]],[[195043,195043],\"mapped\",[37105]],[[195044,195044],\"mapped\",[37137]],[[195045,195045],\"mapped\",[165678]],[[195046,195046],\"mapped\",[37147]],[[195047,195047],\"mapped\",[37432]],[[195048,195048],\"mapped\",[37591]],[[195049,195049],\"mapped\",[37592]],[[195050,195050],\"mapped\",[37500]],[[195051,195051],\"mapped\",[37881]],[[195052,195052],\"mapped\",[37909]],[[195053,195053],\"mapped\",[166906]],[[195054,195054],\"mapped\",[38283]],[[195055,195055],\"mapped\",[18837]],[[195056,195056],\"mapped\",[38327]],[[195057,195057],\"mapped\",[167287]],[[195058,195058],\"mapped\",[18918]],[[195059,195059],\"mapped\",[38595]],[[195060,195060],\"mapped\",[23986]],[[195061,195061],\"mapped\",[38691]],[[195062,195062],\"mapped\",[168261]],[[195063,195063],\"mapped\",[168474]],[[195064,195064],\"mapped\",[19054]],[[195065,195065],\"mapped\",[19062]],[[195066,195066],\"mapped\",[38880]],[[195067,195067],\"mapped\",[168970]],[[195068,195068],\"mapped\",[19122]],[[195069,195069],\"mapped\",[169110]],[[195070,195071],\"mapped\",[38923]],[[195072,195072],\"mapped\",[38953]],[[195073,195073],\"mapped\",[169398]],[[195074,195074],\"mapped\",[39138]],[[195075,195075],\"mapped\",[19251]],[[195076,195076],\"mapped\",[39209]],[[195077,195077],\"mapped\",[39335]],[[195078,195078],\"mapped\",[39362]],[[195079,195079],\"mapped\",[39422]],[[195080,195080],\"mapped\",[19406]],[[195081,195081],\"mapped\",[170800]],[[195082,195082],\"mapped\",[39698]],[[195083,195083],\"mapped\",[40000]],[[195084,195084],\"mapped\",[40189]],[[195085,195085],\"mapped\",[19662]],[[195086,195086],\"mapped\",[19693]],[[195087,195087],\"mapped\",[40295]],[[195088,195088],\"mapped\",[172238]],[[195089,195089],\"mapped\",[19704]],[[195090,195090],\"mapped\",[172293]],[[195091,195091],\"mapped\",[172558]],[[195092,195092],\"mapped\",[172689]],[[195093,195093],\"mapped\",[40635]],[[195094,195094],\"mapped\",[19798]],[[195095,195095],\"mapped\",[40697]],[[195096,195096],\"mapped\",[40702]],[[195097,195097],\"mapped\",[40709]],[[195098,195098],\"mapped\",[40719]],[[195099,195099],\"mapped\",[40726]],[[195100,195100],\"mapped\",[40763]],[[195101,195101],\"mapped\",[173568]],[[195102,196605],\"disallowed\"],[[196606,196607],\"disallowed\"],[[196608,262141],\"disallowed\"],[[262142,262143],\"disallowed\"],[[262144,327677],\"disallowed\"],[[327678,327679],\"disallowed\"],[[327680,393213],\"disallowed\"],[[393214,393215],\"disallowed\"],[[393216,458749],\"disallowed\"],[[458750,458751],\"disallowed\"],[[458752,524285],\"disallowed\"],[[524286,524287],\"disallowed\"],[[524288,589821],\"disallowed\"],[[589822,589823],\"disallowed\"],[[589824,655357],\"disallowed\"],[[655358,655359],\"disallowed\"],[[655360,720893],\"disallowed\"],[[720894,720895],\"disallowed\"],[[720896,786429],\"disallowed\"],[[786430,786431],\"disallowed\"],[[786432,851965],\"disallowed\"],[[851966,851967],\"disallowed\"],[[851968,917501],\"disallowed\"],[[917502,917503],\"disallowed\"],[[917504,917504],\"disallowed\"],[[917505,917505],\"disallowed\"],[[917506,917535],\"disallowed\"],[[917536,917631],\"disallowed\"],[[917632,917759],\"disallowed\"],[[917760,917999],\"ignored\"],[[918000,983037],\"disallowed\"],[[983038,983039],\"disallowed\"],[[983040,1048573],\"disallowed\"],[[1048574,1048575],\"disallowed\"],[[1048576,1114109],\"disallowed\"],[[1114110,1114111],\"disallowed\"]]", "\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n", "\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n", "\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n", "\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n", "\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n", "'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = /<meta.+?charset=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// html4\n\tif (!res && str) {\n\t\tres = /<meta[\\s]+?http-equiv=(['\"])content-type\\1[\\s]+?content=(['\"])(.+?)\\2/i.exec(str);\n\t\tif (!res) {\n\t\t\tres = /<meta[\\s]+?content=(['\"])(.+?)\\1[\\s]+?http-equiv=(['\"])content-type\\3/i.exec(str);\n\t\t\tif (res) {\n\t\t\t\tres.pop(); // drop last quote\n\t\t\t}\n\t\t}\n\n\t\tif (res) {\n\t\t\tres = /charset=(.*)/i.exec(res.pop());\n\t\t}\n\t}\n\n\t// xml\n\tif (!res && str) {\n\t\tres = /<\\?xml.+?encoding=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// found charset\n\tif (res) {\n\t\tcharset = res.pop();\n\n\t\t// prevent decode issues when sites use incorrect encoding\n\t\t// ref: https://hsivonen.fi/encoding-menu/\n\t\tif (charset === 'gb2312' || charset === 'gbk') {\n\t\t\tcharset = 'gb18030';\n\t\t}\n\t}\n\n\t// turn raw buffers into a single utf-8 buffer\n\treturn convert(buffer, 'UTF-8', charset).toString();\n}\n\n/**\n * Detect a URLSearchParams object\n * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143\n *\n * @param Object obj Object to detect by type or brand\n * @return String\n */\nfunction isURLSearchParams(obj) {\n\t// Duck-typing as a necessary condition.\n\tif (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') {\n\t\treturn false;\n\t}\n\n\t// Brand-checking and more duck-typing as optional condition.\n\treturn obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function';\n}\n\n/**\n * Check if `obj` is a W3C `Blob` object (which `File` inherits from)\n * @param {*} obj\n * @return {boolean}\n */\nfunction isBlob(obj) {\n\treturn typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]);\n}\n\n/**\n * Clone body given Res/Req instance\n *\n * @param Mixed instance Response or Request instance\n * @return Mixed\n */\nfunction clone(instance) {\n\tlet p1, p2;\n\tlet body = instance.body;\n\n\t// don't allow cloning a used body\n\tif (instance.bodyUsed) {\n\t\tthrow new Error('cannot clone body after it is used');\n\t}\n\n\t// check that body is a stream and not form-data object\n\t// note: we can't clone the form-data object without having it as a dependency\n\tif (body instanceof Stream && typeof body.getBoundary !== 'function') {\n\t\t// tee instance body\n\t\tp1 = new PassThrough();\n\t\tp2 = new PassThrough();\n\t\tbody.pipe(p1);\n\t\tbody.pipe(p2);\n\t\t// set instance body to teed body and return the other teed body\n\t\tinstance[INTERNALS].body = p1;\n\t\tbody = p2;\n\t}\n\n\treturn body;\n}\n\n/**\n * Performs the operation \"extract a `Content-Type` value from |object|\" as\n * specified in the specification:\n * https://fetch.spec.whatwg.org/#concept-bodyinit-extract\n *\n * This function assumes that instance.body is present.\n *\n * @param Mixed instance Any options.body input\n */\nfunction extractContentType(body) {\n\tif (body === null) {\n\t\t// body is null\n\t\treturn null;\n\t} else if (typeof body === 'string') {\n\t\t// body is string\n\t\treturn 'text/plain;charset=UTF-8';\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\treturn 'application/x-www-form-urlencoded;charset=UTF-8';\n\t} else if (isBlob(body)) {\n\t\t// body is blob\n\t\treturn body.type || null;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn null;\n\t} else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\treturn null;\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\treturn null;\n\t} else if (typeof body.getBoundary === 'function') {\n\t\t// detect form data input from form-data module\n\t\treturn `multipart/form-data;boundary=${body.getBoundary()}`;\n\t} else if (body instanceof Stream) {\n\t\t// body is stream\n\t\t// can't really do much about this\n\t\treturn null;\n\t} else {\n\t\t// Body constructor defaults other things to string\n\t\treturn 'text/plain;charset=UTF-8';\n\t}\n}\n\n/**\n * The Fetch Standard treats this as if \"total bytes\" is a property on the body.\n * For us, we have to explicitly get it with a function.\n *\n * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes\n *\n * @param Body instance Instance of Body\n * @return Number? Number of bytes, or null if not possible\n */\nfunction getTotalBytes(instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\treturn 0;\n\t} else if (isBlob(body)) {\n\t\treturn body.size;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn body.length;\n\t} else if (body && typeof body.getLengthSync === 'function') {\n\t\t// detect form data input from form-data module\n\t\tif (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x\n\t\tbody.hasKnownLength && body.hasKnownLength()) {\n\t\t\t// 2.x\n\t\t\treturn body.getLengthSync();\n\t\t}\n\t\treturn null;\n\t} else {\n\t\t// body is stream\n\t\treturn null;\n\t}\n}\n\n/**\n * Write a Body to a Node.js WritableStream (e.g. http.Request) object.\n *\n * @param Body instance Instance of Body\n * @return Void\n */\nfunction writeToStream(dest, instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\tdest.end();\n\t} else if (isBlob(body)) {\n\t\tbody.stream().pipe(dest);\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\tdest.write(body);\n\t\tdest.end();\n\t} else {\n\t\t// body is stream\n\t\tbody.pipe(dest);\n\t}\n}\n\n// expose Promise\nBody.Promise = global.Promise;\n\n/**\n * headers.js\n *\n * Headers class offers convenient helpers\n */\n\nconst invalidTokenRegex = /[^\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]/;\nconst invalidHeaderCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/;\n\nfunction validateName(name) {\n\tname = `${name}`;\n\tif (invalidTokenRegex.test(name) || name === '') {\n\t\tthrow new TypeError(`${name} is not a legal HTTP header name`);\n\t}\n}\n\nfunction validateValue(value) {\n\tvalue = `${value}`;\n\tif (invalidHeaderCharRegex.test(value)) {\n\t\tthrow new TypeError(`${value} is not a legal HTTP header value`);\n\t}\n}\n\n/**\n * Find the key in the map object given a header name.\n *\n * Returns undefined if not found.\n *\n * @param String name Header name\n * @return String|Undefined\n */\nfunction find(map, name) {\n\tname = name.toLowerCase();\n\tfor (const key in map) {\n\t\tif (key.toLowerCase() === name) {\n\t\t\treturn key;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nconst MAP = Symbol('map');\nclass Headers {\n\t/**\n * Headers class\n *\n * @param Object headers Response headers\n * @return Void\n */\n\tconstructor() {\n\t\tlet init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence<sequence<ByteString>>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record<ByteString, ByteString>\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\tif (!headers.has('Connection') && !agent) {\n\t\theaders.set('Connection', 'close');\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// tests for socket presence, as in some situations the\n\t\t\t\t// the 'socket' event is not triggered for the request\n\t\t\t\t// (happens in deno), avoids `TypeError`\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket && socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\n", "const nodeFetch = require('node-fetch')\nconst realFetch = nodeFetch.default || nodeFetch\n\nconst fetch = function (url, options) {\n // Support schemaless URIs on the server for parity with the browser.\n // Ex: //github.com/ -> https://github.com/\n if (/^\\/\\//.test(url)) {\n url = 'https:' + url\n }\n return realFetch.call(this, url, options)\n}\n\nfetch.ponyfill = true\n\nmodule.exports = exports = fetch\nexports.fetch = fetch\nexports.Headers = nodeFetch.Headers\nexports.Request = nodeFetch.Request\nexports.Response = nodeFetch.Response\n\n// Needed for TypeScript consumers without esModuleInterop.\nexports.default = fetch\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFetch = void 0;\nconst react_1 = require(\"react\");\nconst media_typer_1 = __importDefault(require(\"media-typer\"));\nconst content_type_1 = __importDefault(require(\"content-type\"));\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst cross_fetch_1 = require(\"cross-fetch\");\nfunction isJSON(contentTypeHeader) {\n if (contentTypeHeader) {\n const ct = content_type_1.default.parse(contentTypeHeader);\n const mediaType = media_typer_1.default.parse(ct.type);\n if (mediaType.subtype === \"json\") {\n return true;\n }\n if (mediaType.suffix === \"json\") {\n return true;\n }\n if (mediaType.suffix && /\\bjson\\b/i.test(mediaType.suffix)) {\n return true;\n }\n if (mediaType.subtype && /\\bjson\\b/i.test(mediaType.subtype)) {\n return true;\n }\n }\n return false;\n}\nasync function defaultParsing(response) {\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n const contentTypeHeader = response.headers.get(\"content-type\");\n if (contentTypeHeader && isJSON(contentTypeHeader)) {\n return await response.json();\n }\n return await response.text();\n}\n/**\n * Fetch the URL and returns the {@link AsyncState} corresponding to the execution of the fetch. The last value will be kept between command runs.\n *\n * @example\n * ```\n * import { useFetch } from '@raycast/utils';\n *\n * export default function Command() {\n * const { isLoading, data, revalidate } = useFetch('https://api.example');\n *\n * return (\n * <Detail\n * isLoading={isLoading}\n * markdown={data}\n * actions={\n * <ActionPanel>\n * <Action title=\"Reload\" onAction={() => revalidate()} />\n * </ActionPanel>\n * }\n * />\n * );\n * };\n * ```\n */\nfunction useFetch(url, options) {\n const { parseResponse, initialData, execute, keepPreviousData, onError, onData, onWillExecute, ...fetchOptions } = options || {};\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n };\n const parseResponseRef = (0, useLatest_1.useLatest)(parseResponse || defaultParsing);\n const abortable = (0, react_1.useRef)();\n const fn = (0, react_1.useCallback)(async (url, options) => {\n const res = await (0, cross_fetch_1.fetch)(url, { signal: abortable.current?.signal, ...options });\n return (await parseResponseRef.current(res));\n }, [parseResponseRef]);\n // @ts-expect-error T can't be a Promise so it's actually the same\n return (0, useCachedPromise_1.useCachedPromise)(fn, [url, fetchOptions], { ...useCachedPromiseOptions, abortable });\n}\nexports.useFetch = useFetch;\n", "/**\n * This is not the set of all possible signals.\n *\n * It IS, however, the set of all signals that trigger\n * an exit on either Linux or BSD systems. Linux is a\n * superset of the signal names supported on BSD, and\n * the unknown signals just fail to register, so we can\n * catch that easily enough.\n *\n * Windows signals are a different set, since there are\n * signals that terminate Windows processes, but don't\n * terminate (or don't even exist) on Posix systems.\n *\n * Don't bother with SIGKILL. It's uncatchable, which\n * means that we can't fire any callbacks anyway.\n *\n * If a user does happen to register a handler on a non-\n * fatal signal like SIGWINCH or something, and then\n * exit, it'll end up firing `process.emit('exit')`, so\n * the handler will be fired anyway.\n *\n * SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n * artificially, inherently leave the process in a\n * state from which it is not safe to try and enter JS\n * listeners.\n */\nexport const signals: NodeJS.Signals[] = []\nsignals.push('SIGHUP', 'SIGINT', 'SIGTERM')\n\nif (process.platform !== 'win32') {\n signals.push(\n 'SIGALRM',\n 'SIGABRT',\n 'SIGVTALRM',\n 'SIGXCPU',\n 'SIGXFSZ',\n 'SIGUSR2',\n 'SIGTRAP',\n 'SIGSYS',\n 'SIGQUIT',\n 'SIGIOT'\n // should detect profiler and enable/disable accordingly.\n // see #21\n // 'SIGPROF'\n )\n}\n\nif (process.platform === 'linux') {\n signals.push('SIGIO', 'SIGPOLL', 'SIGPWR', 'SIGSTKFLT')\n}\n", "// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nimport { signals } from './signals.js'\nexport { signals }\n\n// just a loosened process type so we can do some evil things\ntype ProcessRE = NodeJS.Process & {\n reallyExit: (code?: number | undefined | null) => any\n emit: (ev: string, ...a: any[]) => any\n}\n\nconst processOk = (process: any): process is ProcessRE =>\n !!process &&\n typeof process === 'object' &&\n typeof process.removeListener === 'function' &&\n typeof process.emit === 'function' &&\n typeof process.reallyExit === 'function' &&\n typeof process.listeners === 'function' &&\n typeof process.kill === 'function' &&\n typeof process.pid === 'number' &&\n typeof process.on === 'function'\n\nconst kExitEmitter = Symbol.for('signal-exit emitter')\nconst global: typeof globalThis & { [kExitEmitter]?: Emitter } = globalThis\nconst ObjectDefineProperty = Object.defineProperty.bind(Object)\n\n/**\n * A function that takes an exit code and signal as arguments\n *\n * In the case of signal exits *only*, a return value of true\n * will indicate that the signal is being handled, and we should\n * not synthetically exit with the signal we received. Regardless\n * of the handler return value, the handler is unloaded when an\n * otherwise fatal signal is received, so you get exactly 1 shot\n * at it, unless you add another onExit handler at that point.\n *\n * In the case of numeric code exits, we may already have committed\n * to exiting the process, for example via a fatal exception or\n * unhandled promise rejection, so it is impossible to stop safely.\n */\nexport type Handler = (\n code: number | null | undefined,\n signal: NodeJS.Signals | null\n) => true | void\ntype ExitEvent = 'afterExit' | 'exit'\ntype Emitted = { [k in ExitEvent]: boolean }\ntype Listeners = { [k in ExitEvent]: Handler[] }\n\n// teeny special purpose ee\nclass Emitter {\n emitted: Emitted = {\n afterExit: false,\n exit: false,\n }\n\n listeners: Listeners = {\n afterExit: [],\n exit: [],\n }\n\n count: number = 0\n id: number = Math.random()\n\n constructor() {\n if (global[kExitEmitter]) {\n return global[kExitEmitter]\n }\n ObjectDefineProperty(global, kExitEmitter, {\n value: this,\n writable: false,\n enumerable: false,\n configurable: false,\n })\n }\n\n on(ev: ExitEvent, fn: Handler) {\n this.listeners[ev].push(fn)\n }\n\n removeListener(ev: ExitEvent, fn: Handler) {\n const list = this.listeners[ev]\n const i = list.indexOf(fn)\n /* c8 ignore start */\n if (i === -1) {\n return\n }\n /* c8 ignore stop */\n if (i === 0 && list.length === 1) {\n list.length = 0\n } else {\n list.splice(i, 1)\n }\n }\n\n emit(\n ev: ExitEvent,\n code: number | null | undefined,\n signal: NodeJS.Signals | null\n ): boolean {\n if (this.emitted[ev]) {\n return false\n }\n this.emitted[ev] = true\n let ret: boolean = false\n for (const fn of this.listeners[ev]) {\n ret = fn(code, signal) === true || ret\n }\n if (ev === 'exit') {\n ret = this.emit('afterExit', code, signal) || ret\n }\n return ret\n }\n}\n\nabstract class SignalExitBase {\n abstract onExit(cb: Handler, opts?: { alwaysLast?: boolean }): () => void\n abstract load(): void\n abstract unload(): void\n}\n\nconst signalExitWrap = <T extends SignalExitBase>(handler: T) => {\n return {\n onExit(cb: Handler, opts?: { alwaysLast?: boolean }) {\n return handler.onExit(cb, opts)\n },\n load() {\n return handler.load()\n },\n unload() {\n return handler.unload()\n },\n }\n}\n\nclass SignalExitFallback extends SignalExitBase {\n onExit() {\n return () => {}\n }\n load() {}\n unload() {}\n}\n\nclass SignalExit extends SignalExitBase {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n /* c8 ignore start */\n #hupSig = process.platform === 'win32' ? 'SIGINT' : 'SIGHUP'\n /* c8 ignore stop */\n #emitter = new Emitter()\n #process: ProcessRE\n #originalProcessEmit: ProcessRE['emit']\n #originalProcessReallyExit: ProcessRE['reallyExit']\n\n #sigListeners: { [k in NodeJS.Signals]?: () => void } = {}\n #loaded: boolean = false\n\n constructor(process: ProcessRE) {\n super()\n this.#process = process\n // { <signal>: <listener fn>, ... }\n this.#sigListeners = {}\n for (const sig of signals) {\n this.#sigListeners[sig] = () => {\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n const listeners = this.#process.listeners(sig)\n let { count } = this.#emitter\n // This is a workaround for the fact that signal-exit v3 and signal\n // exit v4 are not aware of each other, and each will attempt to let\n // the other handle it, so neither of them do. To correct this, we\n // detect if we're the only handler *except* for previous versions\n // of signal-exit, and increment by the count of listeners it has\n // created.\n /* c8 ignore start */\n const p = process as unknown as {\n __signal_exit_emitter__?: { count: number }\n }\n if (\n typeof p.__signal_exit_emitter__ === 'object' &&\n typeof p.__signal_exit_emitter__.count === 'number'\n ) {\n count += p.__signal_exit_emitter__.count\n }\n /* c8 ignore stop */\n if (listeners.length === count) {\n this.unload()\n const ret = this.#emitter.emit('exit', null, sig)\n /* c8 ignore start */\n const s = sig === 'SIGHUP' ? this.#hupSig : sig\n if (!ret) process.kill(process.pid, s)\n /* c8 ignore stop */\n }\n }\n }\n\n this.#originalProcessReallyExit = process.reallyExit\n this.#originalProcessEmit = process.emit\n }\n\n onExit(cb: Handler, opts?: { alwaysLast?: boolean }) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return () => {}\n }\n /* c8 ignore stop */\n\n if (this.#loaded === false) {\n this.load()\n }\n\n const ev = opts?.alwaysLast ? 'afterExit' : 'exit'\n this.#emitter.on(ev, cb)\n return () => {\n this.#emitter.removeListener(ev, cb)\n if (\n this.#emitter.listeners['exit'].length === 0 &&\n this.#emitter.listeners['afterExit'].length === 0\n ) {\n this.unload()\n }\n }\n }\n\n load() {\n if (this.#loaded) {\n return\n }\n this.#loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n this.#emitter.count += 1\n\n for (const sig of signals) {\n try {\n const fn = this.#sigListeners[sig]\n if (fn) this.#process.on(sig, fn)\n } catch (_) {}\n }\n\n this.#process.emit = (ev: string, ...a: any[]) => {\n return this.#processEmit(ev, ...a)\n }\n this.#process.reallyExit = (code?: number | null | undefined) => {\n return this.#processReallyExit(code)\n }\n }\n\n unload() {\n if (!this.#loaded) {\n return\n }\n this.#loaded = false\n\n signals.forEach(sig => {\n const listener = this.#sigListeners[sig]\n /* c8 ignore start */\n if (!listener) {\n throw new Error('Listener not defined for signal: ' + sig)\n }\n /* c8 ignore stop */\n try {\n this.#process.removeListener(sig, listener)\n /* c8 ignore start */\n } catch (_) {}\n /* c8 ignore stop */\n })\n this.#process.emit = this.#originalProcessEmit\n this.#process.reallyExit = this.#originalProcessReallyExit\n this.#emitter.count -= 1\n }\n\n #processReallyExit(code?: number | null | undefined) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return 0\n }\n this.#process.exitCode = code || 0\n /* c8 ignore stop */\n\n this.#emitter.emit('exit', this.#process.exitCode, null)\n return this.#originalProcessReallyExit.call(\n this.#process,\n this.#process.exitCode\n )\n }\n\n #processEmit(ev: string, ...args: any[]): any {\n const og = this.#originalProcessEmit\n if (ev === 'exit' && processOk(this.#process)) {\n if (typeof args[0] === 'number') {\n this.#process.exitCode = args[0]\n /* c8 ignore start */\n }\n /* c8 ignore start */\n const ret = og.call(this.#process, ev, ...args)\n /* c8 ignore start */\n this.#emitter.emit('exit', this.#process.exitCode, null)\n /* c8 ignore stop */\n return ret\n } else {\n return og.call(this.#process, ev, ...args)\n }\n }\n}\n\nconst process = globalThis.process\n// wrap so that we call the method on the actual handler, without\n// exporting it directly.\nexport const {\n /**\n * Called when the process is exiting, whether via signal, explicit\n * exit, or running out of stuff to do.\n *\n * If the global process object is not suitable for instrumentation,\n * then this will be a no-op.\n *\n * Returns a function that may be used to unload signal-exit.\n */\n onExit,\n\n /**\n * Load the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\n load,\n\n /**\n * Unload the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\n unload,\n} = signalExitWrap(\n processOk(process) ? new SignalExit(process) : new SignalExitFallback()\n)\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultParsing = exports.handleOutput = exports.getSpawnedResult = exports.getSpawnedPromise = void 0;\nconst node_buffer_1 = require(\"node:buffer\");\nconst node_stream_1 = __importDefault(require(\"node:stream\"));\nconst node_util_1 = require(\"node:util\");\nconst signal_exit_1 = require(\"signal-exit\");\nfunction getSpawnedPromise(spawned, { timeout } = {}) {\n const spawnedPromise = new Promise((resolve, reject) => {\n spawned.on(\"exit\", (exitCode, signal) => {\n resolve({ exitCode, signal, timedOut: false });\n });\n spawned.on(\"error\", (error) => {\n reject(error);\n });\n if (spawned.stdin) {\n spawned.stdin.on(\"error\", (error) => {\n reject(error);\n });\n }\n });\n if (timeout === 0 || timeout === undefined) {\n return spawnedPromise;\n }\n let timeoutId;\n const timeoutPromise = new Promise((_resolve, reject) => {\n timeoutId = setTimeout(() => {\n spawned.kill(\"SIGTERM\");\n reject(Object.assign(new Error(\"Timed out\"), { timedOut: true, signal: \"SIGTERM\" }));\n }, timeout);\n });\n const safeSpawnedPromise = spawnedPromise.finally(() => {\n clearTimeout(timeoutId);\n });\n const removeExitHandler = (0, signal_exit_1.onExit)(() => {\n spawned.kill();\n });\n return Promise.race([timeoutPromise, safeSpawnedPromise]).finally(() => removeExitHandler());\n}\nexports.getSpawnedPromise = getSpawnedPromise;\nclass MaxBufferError extends Error {\n constructor() {\n super(\"The output is too big\");\n this.name = \"MaxBufferError\";\n }\n}\nconst streamPipelinePromisified = (0, node_util_1.promisify)(node_stream_1.default.pipeline);\nfunction bufferStream(options) {\n const { encoding } = options;\n const isBuffer = encoding === \"buffer\";\n // @ts-expect-error missing the methods we are adding below\n const stream = new node_stream_1.default.PassThrough({ objectMode: false });\n if (encoding && encoding !== \"buffer\") {\n stream.setEncoding(encoding);\n }\n let length = 0;\n const chunks = [];\n stream.on(\"data\", (chunk) => {\n chunks.push(chunk);\n length += chunk.length;\n });\n stream.getBufferedValue = () => {\n return (isBuffer ? Buffer.concat(chunks, length) : chunks.join(\"\"));\n };\n stream.getBufferedLength = () => length;\n return stream;\n}\nasync function getStream(inputStream, options) {\n const stream = bufferStream(options);\n await new Promise((resolve, reject) => {\n const rejectPromise = (error) => {\n // Don't retrieve an oversized buffer.\n if (error && stream.getBufferedLength() <= node_buffer_1.constants.MAX_LENGTH) {\n error.bufferedData = stream.getBufferedValue();\n }\n reject(error);\n };\n (async () => {\n try {\n await streamPipelinePromisified(inputStream, stream);\n resolve();\n }\n catch (error) {\n rejectPromise(error);\n }\n })();\n stream.on(\"data\", () => {\n // 80mb\n if (stream.getBufferedLength() > 1000 * 1000 * 80) {\n rejectPromise(new MaxBufferError());\n }\n });\n });\n return stream.getBufferedValue();\n}\n// On failure, `result.stdout|stderr` should contain the currently buffered stream\nasync function getBufferedData(stream, streamPromise) {\n stream.destroy();\n try {\n return await streamPromise;\n }\n catch (error) {\n return error.bufferedData;\n }\n}\nasync function getSpawnedResult({ stdout, stderr }, { encoding }, processDone) {\n const stdoutPromise = getStream(stdout, { encoding });\n const stderrPromise = getStream(stderr, { encoding });\n try {\n return await Promise.all([processDone, stdoutPromise, stderrPromise]);\n }\n catch (error) {\n return Promise.all([\n {\n error: error,\n exitCode: null,\n signal: error.signal,\n timedOut: error.timedOut || false,\n },\n getBufferedData(stdout, stdoutPromise),\n getBufferedData(stderr, stderrPromise),\n ]);\n }\n}\nexports.getSpawnedResult = getSpawnedResult;\nfunction stripFinalNewline(input) {\n const LF = typeof input === \"string\" ? \"\\n\" : \"\\n\".charCodeAt(0);\n const CR = typeof input === \"string\" ? \"\\r\" : \"\\r\".charCodeAt(0);\n if (input[input.length - 1] === LF) {\n // @ts-expect-error we are doing some nasty stuff here\n input = input.slice(0, -1);\n }\n if (input[input.length - 1] === CR) {\n // @ts-expect-error we are doing some nasty stuff here\n input = input.slice(0, -1);\n }\n return input;\n}\nfunction handleOutput(options, value) {\n if (options.stripFinalNewline) {\n return stripFinalNewline(value);\n }\n return value;\n}\nexports.handleOutput = handleOutput;\nconst getErrorPrefix = ({ timedOut, timeout, signal, exitCode, }) => {\n if (timedOut) {\n return `timed out after ${timeout} milliseconds`;\n }\n if (signal !== undefined && signal !== null) {\n return `was killed with ${signal}`;\n }\n if (exitCode !== undefined && exitCode !== null) {\n return `failed with exit code ${exitCode}`;\n }\n return \"failed\";\n};\nconst makeError = ({ stdout, stderr, error, signal, exitCode, command, timedOut, options, parentError, }) => {\n const prefix = getErrorPrefix({ timedOut, timeout: options?.timeout, signal, exitCode });\n const execaMessage = `Command ${prefix}: ${command}`;\n const shortMessage = error ? `${execaMessage}\\n${error.message}` : execaMessage;\n const message = [shortMessage, stderr, stdout].filter(Boolean).join(\"\\n\");\n if (error) {\n // @ts-expect-error not on Error\n error.originalMessage = error.message;\n }\n else {\n error = parentError;\n }\n error.message = message;\n // @ts-expect-error not on Error\n error.shortMessage = shortMessage;\n // @ts-expect-error not on Error\n error.command = command;\n // @ts-expect-error not on Error\n error.exitCode = exitCode;\n // @ts-expect-error not on Error\n error.signal = signal;\n // @ts-expect-error not on Error\n error.stdout = stdout;\n // @ts-expect-error not on Error\n error.stderr = stderr;\n if (\"bufferedData\" in error) {\n delete error[\"bufferedData\"];\n }\n return error;\n};\nfunction defaultParsing({ stdout, stderr, error, exitCode, signal, timedOut, command, options, parentError, }) {\n if (error || exitCode !== 0 || signal !== null) {\n const returnedError = makeError({\n error,\n exitCode,\n signal,\n stdout,\n stderr,\n command,\n timedOut,\n options,\n parentError,\n });\n throw returnedError;\n }\n return stdout;\n}\nexports.defaultParsing = defaultParsing;\n", "\"use strict\";\n/*\n * Inspired by Execa\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useExec = void 0;\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst react_1 = require(\"react\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst exec_utils_1 = require(\"./exec-utils\");\nconst SPACES_REGEXP = / +/g;\nfunction parseCommand(command, args) {\n if (args) {\n return [command, ...args];\n }\n const tokens = [];\n for (const token of command.trim().split(SPACES_REGEXP)) {\n // Allow spaces to be escaped by a backslash if not meant as a delimiter\n const previousToken = tokens[tokens.length - 1];\n if (previousToken && previousToken.endsWith(\"\\\\\")) {\n // Merge previous token with current one\n tokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`;\n }\n else {\n tokens.push(token);\n }\n }\n return tokens;\n}\nfunction useExec(command, optionsOrArgs, options) {\n const { parseOutput, input, onData, onWillExecute, initialData, execute, keepPreviousData, onError, ...execOptions } = Array.isArray(optionsOrArgs) ? options || {} : optionsOrArgs || {};\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n };\n const abortable = (0, react_1.useRef)();\n const parseOutputRef = (0, useLatest_1.useLatest)(parseOutput || exec_utils_1.defaultParsing);\n const fn = (0, react_1.useCallback)(async (_command, _args, _options, input) => {\n const [file, ...args] = parseCommand(_command, _args);\n const command = [file, ...args].join(\" \");\n const options = {\n stripFinalNewline: true,\n ..._options,\n timeout: _options?.timeout || 10000,\n signal: abortable.current?.signal,\n encoding: _options?.encoding === null ? \"buffer\" : _options?.encoding || \"utf8\",\n env: { PATH: \"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\", ...process.env, ..._options?.env },\n };\n const spawned = node_child_process_1.default.spawn(file, args, options);\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned, options);\n if (input) {\n spawned.stdin.end(input);\n }\n const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, options, spawnedPromise);\n const stdout = (0, exec_utils_1.handleOutput)(options, stdoutResult);\n const stderr = (0, exec_utils_1.handleOutput)(options, stderrResult);\n return parseOutputRef.current({\n // @ts-expect-error too many generics, I give up\n stdout,\n // @ts-expect-error too many generics, I give up\n stderr,\n error,\n exitCode,\n signal,\n timedOut,\n command,\n options,\n parentError: new Error(),\n });\n }, [parseOutputRef]);\n // @ts-expect-error T can't be a Promise so it's actually the same\n return (0, useCachedPromise_1.useCachedPromise)(fn, [command, Array.isArray(optionsOrArgs) ? optionsOrArgs : [], execOptions, input], {\n ...useCachedPromiseOptions,\n abortable,\n });\n}\nexports.useExec = useExec;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useSQL = void 0;\nconst jsx_runtime_1 = require(\"react/jsx-runtime\");\nconst api_1 = require(\"@raycast/api\");\nconst node_fs_1 = require(\"node:fs\");\nconst promises_1 = require(\"node:fs/promises\");\nconst node_os_1 = __importDefault(require(\"node:os\"));\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst node_path_1 = __importDefault(require(\"node:path\"));\nconst object_hash_1 = __importDefault(require(\"object-hash\"));\nconst react_1 = require(\"react\");\nconst usePromise_1 = require(\"./usePromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst exec_utils_1 = require(\"./exec-utils\");\nconst handle_error_toast_action_1 = require(\"./handle-error-toast-action\");\n/**\n * Executes a query on a local SQL database and returns the {@link AsyncState} corresponding to the query of the command. The last value will be kept between command runs.\n *\n * @example\n * ```\n * import { useSQL } from \"@raycast/utils\";\n * import { resolve } from \"path\";\n * import { homedir } from \"os\";\n *\n * const NOTES_DB = resolve(homedir(), \"Library/Group Containers/group.com.apple.notes/NoteStore.sqlite\");\n * const notesQuery = `SELECT id, title FROM ...`;\n * type NoteItem = {\n * id: string;\n * title: string;\n * };\n *\n * export default function Command() {\n * const { isLoading, data, permissionView } = useSQL<NoteItem>(NOTES_DB, notesQuery);\n *\n * if (permissionView) {\n * return permissionView;\n * }\n *\n * return (\n * <List isLoading={isLoading}>\n * {(data || []).map((item) => (\n * <List.Item key={item.id} title={item.title} />\n * ))}\n * </List>\n * );\n * };\n * ```\n */\nfunction useSQL(databasePath, query, options) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { permissionPriming, ...usePromiseOptions } = options || {};\n const [permissionView, setPermissionView] = (0, react_1.useState)();\n const latestOptions = (0, useLatest_1.useLatest)(options || {});\n const abortable = (0, react_1.useRef)();\n const handleError = (0, react_1.useCallback)((_error) => {\n console.error(_error);\n const error = _error instanceof Error && _error.message.includes(\"authorization denied\")\n ? new PermissionError(\"You do not have permission to access the database.\")\n : _error;\n if (isPermissionError(error)) {\n setPermissionView((0, jsx_runtime_1.jsx)(PermissionErrorScreen, { priming: latestOptions.current.permissionPriming }));\n }\n else {\n if (latestOptions.current.onError) {\n latestOptions.current.onError(error);\n }\n else {\n console.error(error);\n if (api_1.environment.launchType !== api_1.LaunchType.Background) {\n (0, api_1.showToast)({\n style: api_1.Toast.Style.Failure,\n title: \"Cannot query the data\",\n message: error.message,\n primaryAction: (0, handle_error_toast_action_1.handleErrorToastAction)(error),\n });\n }\n }\n }\n }, [latestOptions]);\n const fn = (0, react_1.useMemo)(() => {\n if (!(0, node_fs_1.existsSync)(databasePath)) {\n throw new Error(\"The database does not exist\");\n }\n let workaroundCopiedDb = undefined;\n return async (databasePath, query) => {\n const abortSignal = abortable.current?.signal;\n const spawned = node_child_process_1.default.spawn(\"sqlite3\", [\"--json\", \"--readonly\", databasePath, query], {\n signal: abortSignal,\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned);\n let [{ error, exitCode, signal }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf-8\" }, spawnedPromise);\n checkAborted(abortSignal);\n if (stderrResult.match(\"(5)\") || stderrResult.match(\"(14)\")) {\n // That means that the DB is busy because of another app is locking it\n // This happens when Chrome or Arc is opened: they lock the History db.\n // As an ugly workaround, we duplicate the file and read that instead\n // (with vfs unix - none to just not care about locks)\n if (!workaroundCopiedDb) {\n const tempFolder = node_path_1.default.join(node_os_1.default.tmpdir(), \"useSQL\", (0, object_hash_1.default)(databasePath));\n await (0, promises_1.mkdir)(tempFolder, { recursive: true });\n checkAborted(abortSignal);\n workaroundCopiedDb = node_path_1.default.join(tempFolder, \"db.db\");\n await (0, promises_1.copyFile)(databasePath, workaroundCopiedDb);\n // needed for certain db\n await (0, promises_1.writeFile)(workaroundCopiedDb + \"-shm\", \"\");\n await (0, promises_1.writeFile)(workaroundCopiedDb + \"-wal\", \"\");\n checkAborted(abortSignal);\n }\n const spawned = node_child_process_1.default.spawn(\"sqlite3\", [\"--json\", \"--readonly\", \"--vfs\", \"unix-none\", workaroundCopiedDb, query], {\n signal: abortSignal,\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned);\n [{ error, exitCode, signal }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf-8\" }, spawnedPromise);\n checkAborted(abortSignal);\n }\n if (error || exitCode !== 0 || signal !== null) {\n throw new Error(stderrResult);\n }\n return JSON.parse(stdoutResult.trim() || \"[]\");\n };\n }, [databasePath]);\n return {\n ...(0, usePromise_1.usePromise)(fn, [databasePath, query], { ...usePromiseOptions, onError: handleError }),\n permissionView,\n };\n}\nexports.useSQL = useSQL;\nclass PermissionError extends Error {\n constructor(message) {\n super(message);\n this.name = \"PermissionError\";\n }\n}\nfunction isPermissionError(error) {\n return error instanceof Error && error.name === \"PermissionError\";\n}\nconst macosVenturaAndLater = parseInt(node_os_1.default.release().split(\".\")[0]) >= 22;\nconst preferencesString = macosVenturaAndLater ? \"Settings\" : \"Preferences\";\nfunction PermissionErrorScreen(props) {\n const action = macosVenturaAndLater\n ? {\n title: \"Open System Settings -> Privacy\",\n target: \"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles\",\n }\n : {\n title: \"Open System Preferences -> Security\",\n target: \"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles\",\n };\n if (api_1.environment.commandMode === \"menu-bar\") {\n return ((0, jsx_runtime_1.jsxs)(api_1.MenuBarExtra, { icon: api_1.Icon.Warning, title: api_1.environment.commandName, children: [(0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: \"Raycast needs full disk access\", tooltip: `You can revert this access in ${preferencesString} whenever you want` }), props.priming ? ((0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: props.priming, tooltip: `You can revert this access in ${preferencesString} whenever you want` })) : null, (0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Separator, {}), (0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: action.title, onAction: () => (0, api_1.open)(action.target) })] }));\n }\n return ((0, jsx_runtime_1.jsx)(api_1.List, { children: (0, jsx_runtime_1.jsx)(api_1.List.EmptyView, { icon: {\n source: {\n light: \"https://raycast.com/uploads/extensions-utils-security-permissions-light.png\",\n dark: \"https://raycast.com/uploads/extensions-utils-security-permissions-dark.png\",\n },\n }, title: \"Raycast needs full disk access.\", description: `${props.priming ? props.priming + \"\\n\" : \"\"}You can revert this access in ${preferencesString} whenever you want.`, actions: (0, jsx_runtime_1.jsx)(api_1.ActionPanel, { children: (0, jsx_runtime_1.jsx)(api_1.Action.Open, { ...action }) }) }) }));\n}\nfunction checkAborted(signal) {\n if (signal?.aborted) {\n const error = new Error(\"aborted\");\n error.name = \"AbortError\";\n throw error;\n }\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useForm = exports.FormValidation = void 0;\nconst react_1 = require(\"react\");\nconst useLatest_1 = require(\"./useLatest\");\n/**\n * Shorthands for common validation cases\n */\nvar FormValidation;\n(function (FormValidation) {\n /** Show an error when the value of the item is empty */\n FormValidation[\"Required\"] = \"required\";\n})(FormValidation = exports.FormValidation || (exports.FormValidation = {}));\nfunction validationError(validation, value) {\n if (validation) {\n if (typeof validation === \"function\") {\n return validation(value);\n }\n else if (validation === FormValidation.Required) {\n let valueIsValid = typeof value !== \"undefined\" && value !== null;\n if (valueIsValid) {\n switch (typeof value) {\n case \"string\":\n valueIsValid = value.length > 0;\n break;\n case \"object\":\n if (Array.isArray(value)) {\n valueIsValid = value.length > 0;\n }\n else if (value instanceof Date) {\n valueIsValid = value.getTime() > 0;\n }\n break;\n default:\n break;\n }\n }\n if (!valueIsValid) {\n return \"The item is required\";\n }\n }\n }\n}\n/**\n * Hook that provides a high-level interface to work with Forms, and more particularly, with Form validations. It incorporates all the good practices to provide a great User Experience for your Forms.\n *\n * @returns an object which contains the necessary methods and props to provide a good User Experience in your Form.\n *\n * @example\n * ```\n * import { Action, ActionPanel, Form, showToast, Toast } from \"@raycast/api\";\n * import { useForm, FormValidation } from \"@raycast/utils\";\n *\n * interface SignUpFormValues {\n * nickname: string;\n * password: string;\n * }\n *\n * export default function Command() {\n * const { handleSubmit, itemProps } = useForm<SignUpFormValues>({\n * onSubmit(values) {\n * showToast(Toast.Style.Success, \"Yay!\", `${values.nickname} account created`);\n * },\n * validation: {\n * nickname: FormValidation.Required,\n * password: (value) => {\n * if (value && value.length < 8) {\n * return \"Password must be at least 8 symbols\";\n * } else if (!value) {\n * return \"The item is required\";\n * }\n * },\n * },\n * });\n *\n * return (\n * <Form\n * actions={\n * <ActionPanel>\n * <Action.SubmitForm title=\"Submit\" onSubmit={handleSubmit} />\n * </ActionPanel>\n * }\n * >\n * <Form.TextField title=\"Nickname\" placeholder=\"Enter your nickname\" {...itemProps.nickname} />\n * <Form.PasswordField\n * title=\"Password\"\n * placeholder=\"Enter password at least 8 characters long\"\n * {...itemProps.password}\n * />\n * </Form>\n * );\n * }\n * ```\n */\nfunction useForm(props) {\n const { onSubmit: _onSubmit, validation, initialValues = {} } = props;\n // @ts-expect-error it's fine if we don't specify all the values\n const [values, setValues] = (0, react_1.useState)(initialValues);\n const [errors, setErrors] = (0, react_1.useState)({});\n const refs = (0, react_1.useRef)({});\n const latestValidation = (0, useLatest_1.useLatest)(validation || {});\n const latestOnSubmit = (0, useLatest_1.useLatest)(_onSubmit);\n const focus = (0, react_1.useCallback)((id) => {\n refs.current[id]?.focus();\n }, [refs]);\n const handleSubmit = (0, react_1.useCallback)(async (values) => {\n let validationErrors = false;\n for (const [id, validation] of Object.entries(latestValidation.current)) {\n const error = validationError(validation, values[id]);\n if (error) {\n if (!validationErrors) {\n validationErrors = {};\n // we focus the first item that has an error\n focus(id);\n }\n validationErrors[id] = error;\n }\n }\n if (validationErrors) {\n setErrors(validationErrors);\n return false;\n }\n const result = await latestOnSubmit.current(values);\n return typeof result === \"boolean\" ? result : true;\n }, [latestValidation, latestOnSubmit, focus]);\n const setValidationError = (0, react_1.useCallback)((id, error) => {\n setErrors((errors) => ({ ...errors, [id]: error }));\n }, [setErrors]);\n const setValue = (0, react_1.useCallback)(function (id, value) {\n // @ts-expect-error TS is always confused about SetStateAction, but it's fine here\n setValues((values) => ({ ...values, [id]: typeof value === \"function\" ? value(values[id]) : value }));\n }, [setValues]);\n const itemProps = (0, react_1.useMemo)(() => {\n // we have to use a proxy because we don't actually have any object to iterate through\n // so instead we dynamically create the props when required\n return new Proxy(\n // @ts-expect-error the whole point of a proxy...\n {}, {\n get(target, id) {\n const validation = latestValidation.current[id];\n const value = values[id];\n return {\n onChange(value) {\n if (errors[id]) {\n const error = validationError(validation, value);\n if (!error) {\n setValidationError(id, undefined);\n }\n }\n setValue(id, value);\n },\n onBlur(event) {\n const error = validationError(validation, event.target.value);\n if (error) {\n setValidationError(id, error);\n }\n },\n error: errors[id],\n id,\n // we shouldn't return `undefined` otherwise it will be an uncontrolled component\n value: typeof value === \"undefined\" ? null : value,\n ref: (instance) => {\n refs.current[id] = instance;\n },\n };\n },\n });\n }, [errors, latestValidation, setValidationError, values, refs, setValue]);\n const reset = (0, react_1.useCallback)((initialValues = {}) => {\n // @ts-expect-error it's fine if we don't specify all the values\n setValues(initialValues);\n setErrors({});\n }, [setValues, setErrors]);\n return { handleSubmit, setValidationError, setValue, values, itemProps, focus, reset };\n}\nexports.useForm = useForm;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useAI = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst usePromise_1 = require(\"./usePromise\");\n/**\n * Stream a prompt completion.\n *\n * @example\n * ```typescript\n * import { Detail, LaunchProps } from \"@raycast/api\";\n * import { use AI } from \"@raycast/utils\";\n *\n * export default function Command(props: LaunchProps<{ arguments: { prompt: string } }>) {\n * const { isLoading, data } = useAI(props.arguments.prompt);\n *\n * return <Detail isLoading={isLoading} markdown={data} />;\n * }\n * ```\n */\nfunction useAI(prompt, options = {}) {\n const { creativity, stream, model, ...usePromiseOptions } = options;\n const [data, setData] = (0, react_1.useState)(\"\");\n const abortable = (0, react_1.useRef)();\n const { isLoading, error, revalidate } = (0, usePromise_1.usePromise)(async (prompt, creativity, shouldStream) => {\n setData(\"\");\n const stream = api_1.AI.ask(prompt, { creativity, model, signal: abortable.current?.signal });\n if (shouldStream === false) {\n setData(await stream);\n }\n else {\n stream.on(\"data\", (data) => {\n setData((x) => x + data);\n });\n await stream;\n }\n }, [prompt, creativity, stream], { ...usePromiseOptions, abortable });\n return { isLoading, data, error, revalidate };\n}\nexports.useAI = useAI;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFrecencySorting = void 0;\nconst react_1 = require(\"react\");\nconst useLatest_1 = require(\"./useLatest\");\nconst useCachedState_1 = require(\"./useCachedState\");\nconst HALF_LIFE_DAYS = 10;\nconst MS_PER_DAY = 24 * 60 * 60 * 1000;\nconst DECAY_RATE_CONSTANT = Math.log(2) / (HALF_LIFE_DAYS * MS_PER_DAY);\nconst VISIT_TYPE_POINTS = {\n Default: 100,\n Embed: 0,\n Bookmark: 140,\n};\nfunction getNewFrecency(item) {\n const now = Date.now();\n const lastVisited = item ? item.lastVisited : 0;\n const frecency = item ? item.frecency : 0;\n const visitAgeInDays = (now - lastVisited) / MS_PER_DAY;\n const currentVisitValue = VISIT_TYPE_POINTS.Default * Math.exp(-DECAY_RATE_CONSTANT * visitAgeInDays);\n const totalVisitValue = frecency + currentVisitValue;\n return {\n lastVisited: now,\n frecency: totalVisitValue,\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst defaultKey = (item) => {\n if (process.env.NODE_ENV !== \"production\" &&\n (typeof item !== \"object\" || !item || !(\"id\" in item) || typeof item.id != \"string\")) {\n throw new Error(\"Specify a key function or make sure your items have an 'id' property\");\n }\n return item.id;\n};\nfunction useFrecencySorting(data, options) {\n const keyRef = (0, useLatest_1.useLatest)(options?.key || defaultKey);\n const sortUnvisitedRef = (0, useLatest_1.useLatest)(options?.sortUnvisited);\n const [storedFrecencies, setStoredFrecencies] = (0, useCachedState_1.useCachedState)(`raycast_frecency_${options?.namespace}`, {});\n const visitItem = (0, react_1.useCallback)(async function updateFrecency(item) {\n const itemKey = keyRef.current(item);\n setStoredFrecencies((storedFrecencies) => {\n const frecency = storedFrecencies[itemKey];\n const newFrecency = getNewFrecency(frecency);\n return {\n ...storedFrecencies,\n [itemKey]: newFrecency,\n };\n });\n }, [keyRef, setStoredFrecencies]);\n const resetRanking = (0, react_1.useCallback)(async function removeFrecency(item) {\n const itemKey = keyRef.current(item);\n setStoredFrecencies((storedFrecencies) => {\n const newFrencencies = { ...storedFrecencies };\n delete newFrencencies[itemKey];\n return newFrencencies;\n });\n }, [keyRef, setStoredFrecencies]);\n const sortedData = (0, react_1.useMemo)(() => {\n if (!data) {\n return [];\n }\n return data.sort((a, b) => {\n const frecencyA = storedFrecencies[keyRef.current(a)];\n const frecencyB = storedFrecencies[keyRef.current(b)];\n // If a has a frecency, but b doesn't, a should come first\n if (frecencyA && !frecencyB) {\n return -1;\n }\n // If b has a frecency, but a doesn't, b should come first\n if (!frecencyA && frecencyB) {\n return 1;\n }\n // If both frecencies are defined,put the one with the higher frecency first\n if (frecencyA && frecencyB) {\n return frecencyB.frecency - frecencyA.frecency;\n }\n // If both frecencies are undefined, keep the original order\n return sortUnvisitedRef.current ? sortUnvisitedRef.current(a, b) : 0;\n });\n }, [storedFrecencies, data, keyRef, sortUnvisitedRef]);\n return { data: sortedData, visitItem, resetRanking };\n}\nexports.useFrecencySorting = useFrecencySorting;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.slightlyLighterColor = exports.slightlyDarkerColor = void 0;\nfunction hexToRGB(hex) {\n let r = 0;\n let g = 0;\n let b = 0;\n // 3 digits\n if (hex.length === 4) {\n r = parseInt(`${hex[1]}${hex[1]}`, 16);\n g = parseInt(`${hex[2]}${hex[2]}`, 16);\n b = parseInt(`${hex[3]}${hex[3]}`, 16);\n // 6 digits\n }\n else if (hex.length === 7) {\n r = parseInt(`${hex[1]}${hex[2]}`, 16);\n g = parseInt(`${hex[3]}${hex[4]}`, 16);\n b = parseInt(`${hex[5]}${hex[6]}`, 16);\n }\n else {\n throw new Error(`Malformed hex color: ${hex}`);\n }\n return { r, g, b };\n}\nfunction rgbToHex({ r, g, b }) {\n let rString = r.toString(16);\n let gString = g.toString(16);\n let bString = b.toString(16);\n if (rString.length === 1) {\n rString = `0${rString}`;\n }\n if (gString.length === 1) {\n gString = `0${gString}`;\n }\n if (bString.length === 1) {\n bString = `0${bString}`;\n }\n return `#${rString}${gString}${bString}`;\n}\nfunction rgbToHSL({ r, g, b }) {\n // Make r, g, and b fractions of 1\n r /= 255;\n g /= 255;\n b /= 255;\n // Find greatest and smallest channel values\n const cmin = Math.min(r, g, b);\n const cmax = Math.max(r, g, b);\n const delta = cmax - cmin;\n let h = 0;\n let s = 0;\n let l = 0;\n // Calculate hue\n // No difference\n if (delta === 0) {\n h = 0;\n }\n // Red is max\n else if (cmax === r) {\n h = ((g - b) / delta) % 6;\n }\n // Green is max\n else if (cmax === g) {\n h = (b - r) / delta + 2;\n }\n // Blue is max\n else {\n h = (r - g) / delta + 4;\n }\n h = Math.round(h * 60);\n // Make negative hues positive behind 360\u00B0\n if (h < 0) {\n h += 360;\n }\n // Calculate lightness\n l = (cmax + cmin) / 2;\n // Calculate saturation\n s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));\n // Multiply l and s by 100\n s = +(s * 100).toFixed(1);\n l = +(l * 100).toFixed(1);\n return { h, s, l };\n}\nfunction hslToRGB({ h, s, l }) {\n // Must be fractions of 1\n s /= 100;\n l /= 100;\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = l - c / 2;\n let r = 0;\n let g = 0;\n let b = 0;\n if (h >= 0 && h < 60) {\n r = c;\n g = x;\n b = 0;\n }\n else if (h >= 60 && h < 120) {\n r = x;\n g = c;\n b = 0;\n }\n else if (h >= 120 && h < 180) {\n r = 0;\n g = c;\n b = x;\n }\n else if (h >= 180 && h < 240) {\n r = 0;\n g = x;\n b = c;\n }\n else if (h >= 240 && h < 300) {\n r = x;\n g = 0;\n b = c;\n }\n else if (h >= 300 && h < 360) {\n r = c;\n g = 0;\n b = x;\n }\n r = Math.round((r + m) * 255);\n g = Math.round((g + m) * 255);\n b = Math.round((b + m) * 255);\n return { r, g, b };\n}\nfunction hexToHSL(hex) {\n return rgbToHSL(hexToRGB(hex));\n}\nfunction hslToHex(hsl) {\n return rgbToHex(hslToRGB(hsl));\n}\nfunction clamp(value, min, max) {\n return min < max ? (value < min ? min : value > max ? max : value) : value < max ? max : value > min ? min : value;\n}\nconst offset = 12;\nfunction slightlyDarkerColor(hex) {\n const hsl = hexToHSL(hex);\n return hslToHex({\n h: hsl.h,\n s: hsl.s,\n l: clamp(hsl.l - offset, 0, 100),\n });\n}\nexports.slightlyDarkerColor = slightlyDarkerColor;\nfunction slightlyLighterColor(hex) {\n const hsl = hexToHSL(hex);\n return hslToHex({\n h: hsl.h,\n s: hsl.s,\n l: clamp(hsl.l + offset, 0, 100),\n });\n}\nexports.slightlyLighterColor = slightlyLighterColor;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAvatarIcon = void 0;\nconst color_1 = require(\"./color\");\nfunction getWholeCharAndI(str, i) {\n const code = str.charCodeAt(i);\n if (Number.isNaN(code)) {\n return [\"\", i];\n }\n if (code < 0xd800 || code > 0xdfff) {\n return [str.charAt(i), i]; // Normal character, keeping 'i' the same\n }\n // High surrogate (could change last hex to 0xDB7F to treat high private\n // surrogates as single characters)\n if (0xd800 <= code && code <= 0xdbff) {\n if (str.length <= i + 1) {\n throw new Error(\"High surrogate without following low surrogate\");\n }\n const next = str.charCodeAt(i + 1);\n if (0xdc00 > next || next > 0xdfff) {\n throw new Error(\"High surrogate without following low surrogate\");\n }\n return [str.charAt(i) + str.charAt(i + 1), i + 1];\n }\n // Low surrogate (0xDC00 <= code && code <= 0xDFFF)\n if (i === 0) {\n throw new Error(\"Low surrogate without preceding high surrogate\");\n }\n const prev = str.charCodeAt(i - 1);\n // (could change last hex to 0xDB7F to treat high private surrogates\n // as single characters)\n if (0xd800 > prev || prev > 0xdbff) {\n throw new Error(\"Low surrogate without preceding high surrogate\");\n }\n // Return the next character instead (and increment)\n return [str.charAt(i + 1), i + 1];\n}\nconst avatarColorSet = [\n \"#DC829A\",\n \"#D64854\",\n \"#D47600\",\n \"#D36CDD\",\n \"#52A9E4\",\n \"#7871E8\",\n \"#70920F\",\n \"#43B93A\",\n \"#EB6B3E\",\n \"#26B795\",\n \"#D85A9B\",\n \"#A067DC\",\n \"#BD9500\",\n \"#5385D9\", // Blue\n];\n/**\n * Icon to represent an avatar when you don't have one. The generated avatar\n * will be generated from the initials of the name and have a colorful but consistent background.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getAvatarIcon('Mathieu Dutour')} title=\"Project\" />\n * ```\n */\nfunction getAvatarIcon(name, options) {\n const words = name.trim().split(\" \");\n let initials;\n if (words.length == 1 && getWholeCharAndI(words[0], 0)[0]) {\n initials = getWholeCharAndI(words[0], 0)[0];\n }\n else if (words.length > 1) {\n const firstWordFirstLetter = getWholeCharAndI(words[0], 0)[0] || \"\";\n const lastWordFirstLetter = getWholeCharAndI(words[words.length - 1], 0)[0] ?? \"\";\n initials = firstWordFirstLetter + lastWordFirstLetter;\n }\n else {\n initials = \"\";\n }\n let backgroundColor;\n if (options?.background) {\n backgroundColor = options?.background;\n }\n else {\n let initialsCharIndex = 0;\n let [char, i] = getWholeCharAndI(initials, 0);\n while (char) {\n initialsCharIndex += char.charCodeAt(0);\n [char, i] = getWholeCharAndI(initials, i + 1);\n }\n const colorIndex = initialsCharIndex % avatarColorSet.length;\n backgroundColor = avatarColorSet[colorIndex];\n }\n const padding = 0;\n const radius = 50 - padding;\n const svg = `<svg width=\"100px\" height=\"100px\">\n ${options?.gradient !== false\n ? `<defs>\n <linearGradient id=\"Gradient\" x1=\"0.25\" x2=\"0.75\" y1=\"0\" y2=\"1\">\n <stop offset=\"0%\" stop-color=\"${(0, color_1.slightlyLighterColor)(backgroundColor)}\"/>\n <stop offset=\"50%\" stop-color=\"${backgroundColor}\"/>\n <stop offset=\"100%\" stop-color=\"${(0, color_1.slightlyDarkerColor)(backgroundColor)}\"/>\n </linearGradient>\n </defs>`\n : \"\"}\n <circle cx=\"50\" cy=\"50\" r=\"${radius}\" fill=\"${options?.gradient !== false ? \"url(#Gradient)\" : backgroundColor}\" />\n ${initials\n ? `<text x=\"50\" y=\"80\" font-size=\"${radius - 1}\" font-family=\"Inter, sans-serif\" text-anchor=\"middle\" fill=\"white\">${initials.toUpperCase()}</text>`\n : \"\"}\n </svg>\n `.replaceAll(\"\\n\", \"\");\n return `data:image/svg+xml,${svg}`;\n}\nexports.getAvatarIcon = getAvatarIcon;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFavicon = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst url_1 = require(\"url\");\n/**\n * Icon showing the favicon of a website.\n *\n * A favicon (favorite icon) is a tiny icon included along with a website, which is displayed in places like the browser's address bar, page tabs, and bookmarks menu.\n *\n * @param url The URL of the website to represent.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getFavicon(\"https://raycast.com\")} title=\"Raycast Website\" />\n * ```\n */\nfunction getFavicon(url, options) {\n try {\n const urlObj = typeof url === \"string\" ? new url_1.URL(url) : url;\n const hostname = urlObj.hostname;\n return {\n source: `https://www.google.com/s2/favicons?sz=${options?.size ?? 64}&domain=${hostname}`,\n fallback: options?.fallback ?? api_1.Icon.Link,\n mask: options?.mask,\n };\n }\n catch (e) {\n console.error(e);\n return api_1.Icon.Link;\n }\n}\nexports.getFavicon = getFavicon;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getProgressIcon = void 0;\nconst api_1 = require(\"@raycast/api\");\nfunction polarToCartesian(centerX, centerY, radius, angleInDegrees) {\n const angleInRadians = ((angleInDegrees - 90) * Math.PI) / 180.0;\n return {\n x: centerX + radius * Math.cos(angleInRadians),\n y: centerY + radius * Math.sin(angleInRadians),\n };\n}\nfunction describeArc(x, y, radius, startAngle, endAngle) {\n const start = polarToCartesian(x, y, radius, endAngle);\n const end = polarToCartesian(x, y, radius, startAngle);\n const largeArcFlag = endAngle - startAngle <= 180 ? \"0\" : \"1\";\n const d = [\"M\", start.x, start.y, \"A\", radius, radius, 0, largeArcFlag, 0, end.x, end.y].join(\" \");\n return d;\n}\n/**\n * Icon to represent the progress of _something_.\n *\n * @param progress Number between 0 and 1.\n * @param color Hex color (default `\"#FF6363\"`) or Color.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getProgressIcon(0.1)} title=\"Project\" />\n * ```\n */\nfunction getProgressIcon(progress, color = api_1.Color.Red, options) {\n const background = options?.background || (api_1.environment.appearance === \"light\" ? \"black\" : \"white\");\n const backgroundOpacity = options?.backgroundOpacity || 0.1;\n const stroke = 10;\n const padding = 5;\n const radius = 50 - padding - stroke / 2;\n const svg = `<svg width=\"100px\" height=\"100px\">\n <circle cx=\"50\" cy=\"50\" r=\"${radius}\" stroke-width=\"${stroke}\" stroke=\"${progress < 1 ? background : color}\" opacity=\"${progress < 1 ? backgroundOpacity : \"1\"}\" fill=\"none\" />\n ${progress > 0 && progress < 1\n ? `<path d=\"${describeArc(50, 50, radius, 0, progress * 360)}\" stroke=\"${color}\" stroke-width=\"${stroke}\" fill=\"none\" />`\n : \"\"}\n </svg>\n `.replaceAll(\"\\n\", \"\");\n return `data:image/svg+xml,${svg}`;\n}\nexports.getProgressIcon = getProgressIcon;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./avatar\"), exports);\n__exportStar(require(\"./favicon\"), exports);\n__exportStar(require(\"./progress\"), exports);\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runAppleScript = void 0;\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst exec_utils_1 = require(\"./exec-utils\");\nasync function runAppleScript(script, optionsOrArgs, options) {\n const { humanReadableOutput, language, timeout, ...execOptions } = Array.isArray(optionsOrArgs)\n ? options || {}\n : optionsOrArgs || {};\n const outputArguments = humanReadableOutput !== false ? [] : [\"-ss\"];\n if (language === \"JavaScript\") {\n outputArguments.push(\"-l\", \"JavaScript\");\n }\n if (Array.isArray(optionsOrArgs)) {\n outputArguments.push(\"-\", ...optionsOrArgs);\n }\n const spawned = node_child_process_1.default.spawn(\"osascript\", outputArguments, {\n ...execOptions,\n env: { PATH: \"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\" },\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned, { timeout: timeout || 10000 });\n spawned.stdin.end(script);\n const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf8\" }, spawnedPromise);\n const stdout = (0, exec_utils_1.handleOutput)({ stripFinalNewline: true }, stdoutResult);\n const stderr = (0, exec_utils_1.handleOutput)({ stripFinalNewline: true }, stderrResult);\n return (0, exec_utils_1.defaultParsing)({\n stdout,\n stderr,\n error,\n exitCode,\n signal,\n timedOut,\n command: \"osascript\",\n options,\n parentError: new Error(),\n });\n}\nexports.runAppleScript = runAppleScript;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./usePromise\"), exports);\n__exportStar(require(\"./useCachedState\"), exports);\n__exportStar(require(\"./useCachedPromise\"), exports);\n__exportStar(require(\"./useFetch\"), exports);\n__exportStar(require(\"./useExec\"), exports);\n__exportStar(require(\"./useSQL\"), exports);\n__exportStar(require(\"./useForm\"), exports);\n__exportStar(require(\"./useAI\"), exports);\n__exportStar(require(\"./useFrecencySorting\"), exports);\n__exportStar(require(\"./icon\"), exports);\n__exportStar(require(\"./run-applescript\"), exports);\n", "module.exports = {\n kClose: Symbol('close'),\n kDestroy: Symbol('destroy'),\n kDispatch: Symbol('dispatch'),\n kUrl: Symbol('url'),\n kWriting: Symbol('writing'),\n kResuming: Symbol('resuming'),\n kQueue: Symbol('queue'),\n kConnect: Symbol('connect'),\n kConnecting: Symbol('connecting'),\n kHeadersList: Symbol('headers list'),\n kKeepAliveDefaultTimeout: Symbol('default keep alive timeout'),\n kKeepAliveMaxTimeout: Symbol('max keep alive timeout'),\n kKeepAliveTimeoutThreshold: Symbol('keep alive timeout threshold'),\n kKeepAliveTimeoutValue: Symbol('keep alive timeout'),\n kKeepAlive: Symbol('keep alive'),\n kHeadersTimeout: Symbol('headers timeout'),\n kBodyTimeout: Symbol('body timeout'),\n kServerName: Symbol('server name'),\n kLocalAddress: Symbol('local address'),\n kHost: Symbol('host'),\n kNoRef: Symbol('no ref'),\n kBodyUsed: Symbol('used'),\n kRunning: Symbol('running'),\n kBlocking: Symbol('blocking'),\n kPending: Symbol('pending'),\n kSize: Symbol('size'),\n kBusy: Symbol('busy'),\n kQueued: Symbol('queued'),\n kFree: Symbol('free'),\n kConnected: Symbol('connected'),\n kClosed: Symbol('closed'),\n kNeedDrain: Symbol('need drain'),\n kReset: Symbol('reset'),\n kDestroyed: Symbol.for('nodejs.stream.destroyed'),\n kMaxHeadersSize: Symbol('max headers size'),\n kRunningIdx: Symbol('running index'),\n kPendingIdx: Symbol('pending index'),\n kError: Symbol('error'),\n kClients: Symbol('clients'),\n kClient: Symbol('client'),\n kParser: Symbol('parser'),\n kOnDestroyed: Symbol('destroy callbacks'),\n kPipelining: Symbol('pipelining'),\n kSocket: Symbol('socket'),\n kHostHeader: Symbol('host header'),\n kConnector: Symbol('connector'),\n kStrictContentLength: Symbol('strict content length'),\n kMaxRedirections: Symbol('maxRedirections'),\n kMaxRequests: Symbol('maxRequestsPerClient'),\n kProxy: Symbol('proxy agent options'),\n kCounter: Symbol('socket request counter'),\n kInterceptors: Symbol('dispatch interceptors'),\n kMaxResponseSize: Symbol('max response size')\n}\n", "'use strict'\n\nclass UndiciError extends Error {\n constructor (message) {\n super(message)\n this.name = 'UndiciError'\n this.code = 'UND_ERR'\n }\n}\n\nclass ConnectTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, ConnectTimeoutError)\n this.name = 'ConnectTimeoutError'\n this.message = message || 'Connect Timeout Error'\n this.code = 'UND_ERR_CONNECT_TIMEOUT'\n }\n}\n\nclass HeadersTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, HeadersTimeoutError)\n this.name = 'HeadersTimeoutError'\n this.message = message || 'Headers Timeout Error'\n this.code = 'UND_ERR_HEADERS_TIMEOUT'\n }\n}\n\nclass HeadersOverflowError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, HeadersOverflowError)\n this.name = 'HeadersOverflowError'\n this.message = message || 'Headers Overflow Error'\n this.code = 'UND_ERR_HEADERS_OVERFLOW'\n }\n}\n\nclass BodyTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, BodyTimeoutError)\n this.name = 'BodyTimeoutError'\n this.message = message || 'Body Timeout Error'\n this.code = 'UND_ERR_BODY_TIMEOUT'\n }\n}\n\nclass ResponseStatusCodeError extends UndiciError {\n constructor (message, statusCode, headers, body) {\n super(message)\n Error.captureStackTrace(this, ResponseStatusCodeError)\n this.name = 'ResponseStatusCodeError'\n this.message = message || 'Response Status Code Error'\n this.code = 'UND_ERR_RESPONSE_STATUS_CODE'\n this.body = body\n this.status = statusCode\n this.statusCode = statusCode\n this.headers = headers\n }\n}\n\nclass InvalidArgumentError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, InvalidArgumentError)\n this.name = 'InvalidArgumentError'\n this.message = message || 'Invalid Argument Error'\n this.code = 'UND_ERR_INVALID_ARG'\n }\n}\n\nclass InvalidReturnValueError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, InvalidReturnValueError)\n this.name = 'InvalidReturnValueError'\n this.message = message || 'Invalid Return Value Error'\n this.code = 'UND_ERR_INVALID_RETURN_VALUE'\n }\n}\n\nclass RequestAbortedError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, RequestAbortedError)\n this.name = 'AbortError'\n this.message = message || 'Request aborted'\n this.code = 'UND_ERR_ABORTED'\n }\n}\n\nclass InformationalError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, InformationalError)\n this.name = 'InformationalError'\n this.message = message || 'Request information'\n this.code = 'UND_ERR_INFO'\n }\n}\n\nclass RequestContentLengthMismatchError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, RequestContentLengthMismatchError)\n this.name = 'RequestContentLengthMismatchError'\n this.message = message || 'Request body length does not match content-length header'\n this.code = 'UND_ERR_REQ_CONTENT_LENGTH_MISMATCH'\n }\n}\n\nclass ResponseContentLengthMismatchError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, ResponseContentLengthMismatchError)\n this.name = 'ResponseContentLengthMismatchError'\n this.message = message || 'Response body length does not match content-length header'\n this.code = 'UND_ERR_RES_CONTENT_LENGTH_MISMATCH'\n }\n}\n\nclass ClientDestroyedError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, ClientDestroyedError)\n this.name = 'ClientDestroyedError'\n this.message = message || 'The client is destroyed'\n this.code = 'UND_ERR_DESTROYED'\n }\n}\n\nclass ClientClosedError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, ClientClosedError)\n this.name = 'ClientClosedError'\n this.message = message || 'The client is closed'\n this.code = 'UND_ERR_CLOSED'\n }\n}\n\nclass SocketError extends UndiciError {\n constructor (message, socket) {\n super(message)\n Error.captureStackTrace(this, SocketError)\n this.name = 'SocketError'\n this.message = message || 'Socket error'\n this.code = 'UND_ERR_SOCKET'\n this.socket = socket\n }\n}\n\nclass NotSupportedError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, NotSupportedError)\n this.name = 'NotSupportedError'\n this.message = message || 'Not supported error'\n this.code = 'UND_ERR_NOT_SUPPORTED'\n }\n}\n\nclass BalancedPoolMissingUpstreamError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, NotSupportedError)\n this.name = 'MissingUpstreamError'\n this.message = message || 'No upstream has been added to the BalancedPool'\n this.code = 'UND_ERR_BPL_MISSING_UPSTREAM'\n }\n}\n\nclass HTTPParserError extends Error {\n constructor (message, code, data) {\n super(message)\n Error.captureStackTrace(this, HTTPParserError)\n this.name = 'HTTPParserError'\n this.code = code ? `HPE_${code}` : undefined\n this.data = data ? data.toString() : undefined\n }\n}\n\nclass ResponseExceededMaxSizeError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, ResponseExceededMaxSizeError)\n this.name = 'ResponseExceededMaxSizeError'\n this.message = message || 'Response content exceeded max size'\n this.code = 'UND_ERR_RES_EXCEEDED_MAX_SIZE'\n }\n}\n\nmodule.exports = {\n HTTPParserError,\n UndiciError,\n HeadersTimeoutError,\n HeadersOverflowError,\n BodyTimeoutError,\n RequestContentLengthMismatchError,\n ConnectTimeoutError,\n ResponseStatusCodeError,\n InvalidArgumentError,\n InvalidReturnValueError,\n RequestAbortedError,\n ClientDestroyedError,\n ClientClosedError,\n InformationalError,\n SocketError,\n NotSupportedError,\n ResponseContentLengthMismatchError,\n BalancedPoolMissingUpstreamError,\n ResponseExceededMaxSizeError\n}\n", "'use strict'\n\nconst assert = require('assert')\nconst { kDestroyed, kBodyUsed } = require('./symbols')\nconst { IncomingMessage } = require('http')\nconst stream = require('stream')\nconst net = require('net')\nconst { InvalidArgumentError } = require('./errors')\nconst { Blob } = require('buffer')\nconst nodeUtil = require('util')\nconst { stringify } = require('querystring')\n\nconst [nodeMajor, nodeMinor] = process.versions.node.split('.').map(v => Number(v))\n\nfunction nop () {}\n\nfunction isStream (obj) {\n return obj && typeof obj === 'object' && typeof obj.pipe === 'function' && typeof obj.on === 'function'\n}\n\n// based on https://github.com/node-fetch/fetch-blob/blob/8ab587d34080de94140b54f07168451e7d0b655e/index.js#L229-L241 (MIT License)\nfunction isBlobLike (object) {\n return (Blob && object instanceof Blob) || (\n object &&\n typeof object === 'object' &&\n (typeof object.stream === 'function' ||\n typeof object.arrayBuffer === 'function') &&\n /^(Blob|File)$/.test(object[Symbol.toStringTag])\n )\n}\n\nfunction buildURL (url, queryParams) {\n if (url.includes('?') || url.includes('#')) {\n throw new Error('Query params cannot be passed when url already contains \"?\" or \"#\".')\n }\n\n const stringified = stringify(queryParams)\n\n if (stringified) {\n url += '?' + stringified\n }\n\n return url\n}\n\nfunction parseURL (url) {\n if (typeof url === 'string') {\n url = new URL(url)\n\n if (!/^https?:/.test(url.origin || url.protocol)) {\n throw new InvalidArgumentError('Invalid URL protocol: the URL must start with `http:` or `https:`.')\n }\n\n return url\n }\n\n if (!url || typeof url !== 'object') {\n throw new InvalidArgumentError('Invalid URL: The URL argument must be a non-null object.')\n }\n\n if (url.port != null && url.port !== '' && !Number.isFinite(parseInt(url.port))) {\n throw new InvalidArgumentError('Invalid URL: port must be a valid integer or a string representation of an integer.')\n }\n\n if (url.path != null && typeof url.path !== 'string') {\n throw new InvalidArgumentError('Invalid URL path: the path must be a string or null/undefined.')\n }\n\n if (url.pathname != null && typeof url.pathname !== 'string') {\n throw new InvalidArgumentError('Invalid URL pathname: the pathname must be a string or null/undefined.')\n }\n\n if (url.hostname != null && typeof url.hostname !== 'string') {\n throw new InvalidArgumentError('Invalid URL hostname: the hostname must be a string or null/undefined.')\n }\n\n if (url.origin != null && typeof url.origin !== 'string') {\n throw new InvalidArgumentError('Invalid URL origin: the origin must be a string or null/undefined.')\n }\n\n if (!/^https?:/.test(url.origin || url.protocol)) {\n throw new InvalidArgumentError('Invalid URL protocol: the URL must start with `http:` or `https:`.')\n }\n\n if (!(url instanceof URL)) {\n const port = url.port != null\n ? url.port\n : (url.protocol === 'https:' ? 443 : 80)\n let origin = url.origin != null\n ? url.origin\n : `${url.protocol}//${url.hostname}:${port}`\n let path = url.path != null\n ? url.path\n : `${url.pathname || ''}${url.search || ''}`\n\n if (origin.endsWith('/')) {\n origin = origin.substring(0, origin.length - 1)\n }\n\n if (path && !path.startsWith('/')) {\n path = `/${path}`\n }\n // new URL(path, origin) is unsafe when `path` contains an absolute URL\n // From https://developer.mozilla.org/en-US/docs/Web/API/URL/URL:\n // If first parameter is a relative URL, second param is required, and will be used as the base URL.\n // If first parameter is an absolute URL, a given second param will be ignored.\n url = new URL(origin + path)\n }\n\n return url\n}\n\nfunction parseOrigin (url) {\n url = parseURL(url)\n\n if (url.pathname !== '/' || url.search || url.hash) {\n throw new InvalidArgumentError('invalid url')\n }\n\n return url\n}\n\nfunction getHostname (host) {\n if (host[0] === '[') {\n const idx = host.indexOf(']')\n\n assert(idx !== -1)\n return host.substr(1, idx - 1)\n }\n\n const idx = host.indexOf(':')\n if (idx === -1) return host\n\n return host.substr(0, idx)\n}\n\n// IP addresses are not valid server names per RFC6066\n// > Currently, the only server names supported are DNS hostnames\nfunction getServerName (host) {\n if (!host) {\n return null\n }\n\n assert.strictEqual(typeof host, 'string')\n\n const servername = getHostname(host)\n if (net.isIP(servername)) {\n return ''\n }\n\n return servername\n}\n\nfunction deepClone (obj) {\n return JSON.parse(JSON.stringify(obj))\n}\n\nfunction isAsyncIterable (obj) {\n return !!(obj != null && typeof obj[Symbol.asyncIterator] === 'function')\n}\n\nfunction isIterable (obj) {\n return !!(obj != null && (typeof obj[Symbol.iterator] === 'function' || typeof obj[Symbol.asyncIterator] === 'function'))\n}\n\nfunction bodyLength (body) {\n if (body == null) {\n return 0\n } else if (isStream(body)) {\n const state = body._readableState\n return state && state.ended === true && Number.isFinite(state.length)\n ? state.length\n : null\n } else if (isBlobLike(body)) {\n return body.size != null ? body.size : null\n } else if (isBuffer(body)) {\n return body.byteLength\n }\n\n return null\n}\n\nfunction isDestroyed (stream) {\n return !stream || !!(stream.destroyed || stream[kDestroyed])\n}\n\nfunction isReadableAborted (stream) {\n const state = stream && stream._readableState\n return isDestroyed(stream) && state && !state.endEmitted\n}\n\nfunction destroy (stream, err) {\n if (!isStream(stream) || isDestroyed(stream)) {\n return\n }\n\n if (typeof stream.destroy === 'function') {\n if (Object.getPrototypeOf(stream).constructor === IncomingMessage) {\n // See: https://github.com/nodejs/node/pull/38505/files\n stream.socket = null\n }\n stream.destroy(err)\n } else if (err) {\n process.nextTick((stream, err) => {\n stream.emit('error', err)\n }, stream, err)\n }\n\n if (stream.destroyed !== true) {\n stream[kDestroyed] = true\n }\n}\n\nconst KEEPALIVE_TIMEOUT_EXPR = /timeout=(\\d+)/\nfunction parseKeepAliveTimeout (val) {\n const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR)\n return m ? parseInt(m[1], 10) * 1000 : null\n}\n\nfunction parseHeaders (headers, obj = {}) {\n for (let i = 0; i < headers.length; i += 2) {\n const key = headers[i].toString().toLowerCase()\n let val = obj[key]\n\n if (!val) {\n if (Array.isArray(headers[i + 1])) {\n obj[key] = headers[i + 1]\n } else {\n obj[key] = headers[i + 1].toString('utf8')\n }\n } else {\n if (!Array.isArray(val)) {\n val = [val]\n obj[key] = val\n }\n val.push(headers[i + 1].toString('utf8'))\n }\n }\n\n // See https://github.com/nodejs/node/pull/46528\n if ('content-length' in obj && 'content-disposition' in obj) {\n obj['content-disposition'] = Buffer.from(obj['content-disposition']).toString('latin1')\n }\n\n return obj\n}\n\nfunction parseRawHeaders (headers) {\n const ret = []\n let hasContentLength = false\n let contentDispositionIdx = -1\n\n for (let n = 0; n < headers.length; n += 2) {\n const key = headers[n + 0].toString()\n const val = headers[n + 1].toString('utf8')\n\n if (key.length === 14 && (key === 'content-length' || key.toLowerCase() === 'content-length')) {\n ret.push(key, val)\n hasContentLength = true\n } else if (key.length === 19 && (key === 'content-disposition' || key.toLowerCase() === 'content-disposition')) {\n contentDispositionIdx = ret.push(key, val) - 1\n } else {\n ret.push(key, val)\n }\n }\n\n // See https://github.com/nodejs/node/pull/46528\n if (hasContentLength && contentDispositionIdx !== -1) {\n ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString('latin1')\n }\n\n return ret\n}\n\nfunction isBuffer (buffer) {\n // See, https://github.com/mcollina/undici/pull/319\n return buffer instanceof Uint8Array || Buffer.isBuffer(buffer)\n}\n\nfunction validateHandler (handler, method, upgrade) {\n if (!handler || typeof handler !== 'object') {\n throw new InvalidArgumentError('handler must be an object')\n }\n\n if (typeof handler.onConnect !== 'function') {\n throw new InvalidArgumentError('invalid onConnect method')\n }\n\n if (typeof handler.onError !== 'function') {\n throw new InvalidArgumentError('invalid onError method')\n }\n\n if (typeof handler.onBodySent !== 'function' && handler.onBodySent !== undefined) {\n throw new InvalidArgumentError('invalid onBodySent method')\n }\n\n if (upgrade || method === 'CONNECT') {\n if (typeof handler.onUpgrade !== 'function') {\n throw new InvalidArgumentError('invalid onUpgrade method')\n }\n } else {\n if (typeof handler.onHeaders !== 'function') {\n throw new InvalidArgumentError('invalid onHeaders method')\n }\n\n if (typeof handler.onData !== 'function') {\n throw new InvalidArgumentError('invalid onData method')\n }\n\n if (typeof handler.onComplete !== 'function') {\n throw new InvalidArgumentError('invalid onComplete method')\n }\n }\n}\n\n// A body is disturbed if it has been read from and it cannot\n// be re-used without losing state or data.\nfunction isDisturbed (body) {\n return !!(body && (\n stream.isDisturbed\n ? stream.isDisturbed(body) || body[kBodyUsed] // TODO (fix): Why is body[kBodyUsed] needed?\n : body[kBodyUsed] ||\n body.readableDidRead ||\n (body._readableState && body._readableState.dataEmitted) ||\n isReadableAborted(body)\n ))\n}\n\nfunction isErrored (body) {\n return !!(body && (\n stream.isErrored\n ? stream.isErrored(body)\n : /state: 'errored'/.test(nodeUtil.inspect(body)\n )))\n}\n\nfunction isReadable (body) {\n return !!(body && (\n stream.isReadable\n ? stream.isReadable(body)\n : /state: 'readable'/.test(nodeUtil.inspect(body)\n )))\n}\n\nfunction getSocketInfo (socket) {\n return {\n localAddress: socket.localAddress,\n localPort: socket.localPort,\n remoteAddress: socket.remoteAddress,\n remotePort: socket.remotePort,\n remoteFamily: socket.remoteFamily,\n timeout: socket.timeout,\n bytesWritten: socket.bytesWritten,\n bytesRead: socket.bytesRead\n }\n}\n\nlet ReadableStream\nfunction ReadableStreamFrom (iterable) {\n if (!ReadableStream) {\n ReadableStream = require('stream/web').ReadableStream\n }\n\n if (ReadableStream.from) {\n // https://github.com/whatwg/streams/pull/1083\n return ReadableStream.from(iterable)\n }\n\n let iterator\n return new ReadableStream(\n {\n async start () {\n iterator = iterable[Symbol.asyncIterator]()\n },\n async pull (controller) {\n const { done, value } = await iterator.next()\n if (done) {\n queueMicrotask(() => {\n controller.close()\n })\n } else {\n const buf = Buffer.isBuffer(value) ? value : Buffer.from(value)\n controller.enqueue(new Uint8Array(buf))\n }\n return controller.desiredSize > 0\n },\n async cancel (reason) {\n await iterator.return()\n }\n },\n 0\n )\n}\n\n// The chunk should be a FormData instance and contains\n// all the required methods.\nfunction isFormDataLike (object) {\n return (\n object &&\n typeof object === 'object' &&\n typeof object.append === 'function' &&\n typeof object.delete === 'function' &&\n typeof object.get === 'function' &&\n typeof object.getAll === 'function' &&\n typeof object.has === 'function' &&\n typeof object.set === 'function' &&\n object[Symbol.toStringTag] === 'FormData'\n )\n}\n\nfunction throwIfAborted (signal) {\n if (!signal) { return }\n if (typeof signal.throwIfAborted === 'function') {\n signal.throwIfAborted()\n } else {\n if (signal.aborted) {\n // DOMException not available < v17.0.0\n const err = new Error('The operation was aborted')\n err.name = 'AbortError'\n throw err\n }\n }\n}\n\nlet events\nfunction addAbortListener (signal, listener) {\n if (typeof Symbol.dispose === 'symbol') {\n if (!events) {\n events = require('events')\n }\n if (typeof events.addAbortListener === 'function' && 'aborted' in signal) {\n return events.addAbortListener(signal, listener)\n }\n }\n if ('addEventListener' in signal) {\n signal.addEventListener('abort', listener, { once: true })\n return () => signal.removeEventListener('abort', listener)\n }\n signal.addListener('abort', listener)\n return () => signal.removeListener('abort', listener)\n}\n\nconst hasToWellFormed = !!String.prototype.toWellFormed\n\n/**\n * @param {string} val\n */\nfunction toUSVString (val) {\n if (hasToWellFormed) {\n return `${val}`.toWellFormed()\n } else if (nodeUtil.toUSVString) {\n return nodeUtil.toUSVString(val)\n }\n\n return `${val}`\n}\n\nconst kEnumerableProperty = Object.create(null)\nkEnumerableProperty.enumerable = true\n\nmodule.exports = {\n kEnumerableProperty,\n nop,\n isDisturbed,\n isErrored,\n isReadable,\n toUSVString,\n isReadableAborted,\n isBlobLike,\n parseOrigin,\n parseURL,\n getServerName,\n isStream,\n isIterable,\n isAsyncIterable,\n isDestroyed,\n parseRawHeaders,\n parseHeaders,\n parseKeepAliveTimeout,\n destroy,\n bodyLength,\n deepClone,\n ReadableStreamFrom,\n isBuffer,\n validateHandler,\n getSocketInfo,\n isFormDataLike,\n buildURL,\n throwIfAborted,\n addAbortListener,\n nodeMajor,\n nodeMinor,\n nodeHasAutoSelectFamily: nodeMajor > 18 || (nodeMajor === 18 && nodeMinor >= 13)\n}\n", "'use strict'\n\nlet fastNow = Date.now()\nlet fastNowTimeout\n\nconst fastTimers = []\n\nfunction onTimeout () {\n fastNow = Date.now()\n\n let len = fastTimers.length\n let idx = 0\n while (idx < len) {\n const timer = fastTimers[idx]\n\n if (timer.state === 0) {\n timer.state = fastNow + timer.delay\n } else if (timer.state > 0 && fastNow >= timer.state) {\n timer.state = -1\n timer.callback(timer.opaque)\n }\n\n if (timer.state === -1) {\n timer.state = -2\n if (idx !== len - 1) {\n fastTimers[idx] = fastTimers.pop()\n } else {\n fastTimers.pop()\n }\n len -= 1\n } else {\n idx += 1\n }\n }\n\n if (fastTimers.length > 0) {\n refreshTimeout()\n }\n}\n\nfunction refreshTimeout () {\n if (fastNowTimeout && fastNowTimeout.refresh) {\n fastNowTimeout.refresh()\n } else {\n clearTimeout(fastNowTimeout)\n fastNowTimeout = setTimeout(onTimeout, 1e3)\n if (fastNowTimeout.unref) {\n fastNowTimeout.unref()\n }\n }\n}\n\nclass Timeout {\n constructor (callback, delay, opaque) {\n this.callback = callback\n this.delay = delay\n this.opaque = opaque\n\n // -2 not in timer list\n // -1 in timer list but inactive\n // 0 in timer list waiting for time\n // > 0 in timer list waiting for time to expire\n this.state = -2\n\n this.refresh()\n }\n\n refresh () {\n if (this.state === -2) {\n fastTimers.push(this)\n if (!fastNowTimeout || fastTimers.length === 1) {\n refreshTimeout()\n }\n }\n\n this.state = 0\n }\n\n clear () {\n this.state = -1\n }\n}\n\nmodule.exports = {\n setTimeout (callback, delay, opaque) {\n return delay < 1e3\n ? setTimeout(callback, delay, opaque)\n : new Timeout(callback, delay, opaque)\n },\n clearTimeout (timeout) {\n if (timeout instanceof Timeout) {\n timeout.clear()\n } else {\n clearTimeout(timeout)\n }\n }\n}\n", "'use strict';\n\nfunction parseContentType(str) {\n if (str.length === 0)\n return;\n\n const params = Object.create(null);\n let i = 0;\n\n // Parse type\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code !== 47/* '/' */ || i === 0)\n return;\n break;\n }\n }\n // Check for type without subtype\n if (i === str.length)\n return;\n\n const type = str.slice(0, i).toLowerCase();\n\n // Parse subtype\n const subtypeStart = ++i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n // Make sure we have a subtype\n if (i === subtypeStart)\n return;\n\n if (parseContentTypeParams(str, i, params) === undefined)\n return;\n break;\n }\n }\n // Make sure we have a subtype\n if (i === subtypeStart)\n return;\n\n const subtype = str.slice(subtypeStart, i).toLowerCase();\n\n return { type, subtype, params };\n}\n\nfunction parseContentTypeParams(str, i, params) {\n while (i < str.length) {\n // Consume whitespace\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */)\n break;\n }\n\n // Ended on whitespace\n if (i === str.length)\n break;\n\n // Check for malformed parameter\n if (str.charCodeAt(i++) !== 59/* ';' */)\n return;\n\n // Consume whitespace\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */)\n break;\n }\n\n // Ended on whitespace (malformed)\n if (i === str.length)\n return;\n\n let name;\n const nameStart = i;\n // Parse parameter name\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code !== 61/* '=' */)\n return;\n break;\n }\n }\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n name = str.slice(nameStart, i);\n ++i; // Skip over '='\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n let value = '';\n let valueStart;\n if (str.charCodeAt(i) === 34/* '\"' */) {\n valueStart = ++i;\n let escaping = false;\n // Parse quoted value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 92/* '\\\\' */) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n } else {\n value += str.slice(valueStart, i);\n escaping = true;\n }\n continue;\n }\n if (code === 34/* '\"' */) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n continue;\n }\n value += str.slice(valueStart, i);\n break;\n }\n if (escaping) {\n valueStart = i - 1;\n escaping = false;\n }\n // Invalid unescaped quoted character (malformed)\n if (QDTEXT[code] !== 1)\n return;\n }\n\n // No end quote (malformed)\n if (i === str.length)\n return;\n\n ++i; // Skip over double quote\n } else {\n valueStart = i;\n // Parse unquoted value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n // No value (malformed)\n if (i === valueStart)\n return;\n break;\n }\n }\n value = str.slice(valueStart, i);\n }\n\n name = name.toLowerCase();\n if (params[name] === undefined)\n params[name] = value;\n }\n\n return params;\n}\n\nfunction parseDisposition(str, defDecoder) {\n if (str.length === 0)\n return;\n\n const params = Object.create(null);\n let i = 0;\n\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (parseDispositionParams(str, i, params, defDecoder) === undefined)\n return;\n break;\n }\n }\n\n const type = str.slice(0, i).toLowerCase();\n\n return { type, params };\n}\n\nfunction parseDispositionParams(str, i, params, defDecoder) {\n while (i < str.length) {\n // Consume whitespace\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */)\n break;\n }\n\n // Ended on whitespace\n if (i === str.length)\n break;\n\n // Check for malformed parameter\n if (str.charCodeAt(i++) !== 59/* ';' */)\n return;\n\n // Consume whitespace\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */)\n break;\n }\n\n // Ended on whitespace (malformed)\n if (i === str.length)\n return;\n\n let name;\n const nameStart = i;\n // Parse parameter name\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code === 61/* '=' */)\n break;\n return;\n }\n }\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n let value = '';\n let valueStart;\n let charset;\n //~ let lang;\n name = str.slice(nameStart, i);\n if (name.charCodeAt(name.length - 1) === 42/* '*' */) {\n // Extended value\n\n const charsetStart = ++i;\n // Parse charset name\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (CHARSET[code] !== 1) {\n if (code !== 39/* '\\'' */)\n return;\n break;\n }\n }\n\n // Incomplete charset (malformed)\n if (i === str.length)\n return;\n\n charset = str.slice(charsetStart, i);\n ++i; // Skip over the '\\''\n\n //~ const langStart = ++i;\n // Parse language name\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 39/* '\\'' */)\n break;\n }\n\n // Incomplete language (malformed)\n if (i === str.length)\n return;\n\n //~ lang = str.slice(langStart, i);\n ++i; // Skip over the '\\''\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n valueStart = i;\n\n let encode = 0;\n // Parse value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (EXTENDED_VALUE[code] !== 1) {\n if (code === 37/* '%' */) {\n let hexUpper;\n let hexLower;\n if (i + 2 < str.length\n && (hexUpper = HEX_VALUES[str.charCodeAt(i + 1)]) !== -1\n && (hexLower = HEX_VALUES[str.charCodeAt(i + 2)]) !== -1) {\n const byteVal = (hexUpper << 4) + hexLower;\n value += str.slice(valueStart, i);\n value += String.fromCharCode(byteVal);\n i += 2;\n valueStart = i + 1;\n if (byteVal >= 128)\n encode = 2;\n else if (encode === 0)\n encode = 1;\n continue;\n }\n // '%' disallowed in non-percent encoded contexts (malformed)\n return;\n }\n break;\n }\n }\n\n value += str.slice(valueStart, i);\n value = convertToUTF8(value, charset, encode);\n if (value === undefined)\n return;\n } else {\n // Non-extended value\n\n ++i; // Skip over '='\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n if (str.charCodeAt(i) === 34/* '\"' */) {\n valueStart = ++i;\n let escaping = false;\n // Parse quoted value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 92/* '\\\\' */) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n } else {\n value += str.slice(valueStart, i);\n escaping = true;\n }\n continue;\n }\n if (code === 34/* '\"' */) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n continue;\n }\n value += str.slice(valueStart, i);\n break;\n }\n if (escaping) {\n valueStart = i - 1;\n escaping = false;\n }\n // Invalid unescaped quoted character (malformed)\n if (QDTEXT[code] !== 1)\n return;\n }\n\n // No end quote (malformed)\n if (i === str.length)\n return;\n\n ++i; // Skip over double quote\n } else {\n valueStart = i;\n // Parse unquoted value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n // No value (malformed)\n if (i === valueStart)\n return;\n break;\n }\n }\n value = str.slice(valueStart, i);\n }\n\n value = defDecoder(value, 2);\n if (value === undefined)\n return;\n }\n\n name = name.toLowerCase();\n if (params[name] === undefined)\n params[name] = value;\n }\n\n return params;\n}\n\nfunction getDecoder(charset) {\n let lc;\n while (true) {\n switch (charset) {\n case 'utf-8':\n case 'utf8':\n return decoders.utf8;\n case 'latin1':\n case 'ascii': // TODO: Make these a separate, strict decoder?\n case 'us-ascii':\n case 'iso-8859-1':\n case 'iso8859-1':\n case 'iso88591':\n case 'iso_8859-1':\n case 'windows-1252':\n case 'iso_8859-1:1987':\n case 'cp1252':\n case 'x-cp1252':\n return decoders.latin1;\n case 'utf16le':\n case 'utf-16le':\n case 'ucs2':\n case 'ucs-2':\n return decoders.utf16le;\n case 'base64':\n return decoders.base64;\n default:\n if (lc === undefined) {\n lc = true;\n charset = charset.toLowerCase();\n continue;\n }\n return decoders.other.bind(charset);\n }\n }\n}\n\nconst decoders = {\n utf8: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string') {\n // If `data` never had any percent-encoded bytes or never had any that\n // were outside of the ASCII range, then we can safely just return the\n // input since UTF-8 is ASCII compatible\n if (hint < 2)\n return data;\n\n data = Buffer.from(data, 'latin1');\n }\n return data.utf8Slice(0, data.length);\n },\n\n latin1: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string')\n return data;\n return data.latin1Slice(0, data.length);\n },\n\n utf16le: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string')\n data = Buffer.from(data, 'latin1');\n return data.ucs2Slice(0, data.length);\n },\n\n base64: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string')\n data = Buffer.from(data, 'latin1');\n return data.base64Slice(0, data.length);\n },\n\n other: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string')\n data = Buffer.from(data, 'latin1');\n try {\n const decoder = new TextDecoder(this);\n return decoder.decode(data);\n } catch {}\n },\n};\n\nfunction convertToUTF8(data, charset, hint) {\n const decode = getDecoder(charset);\n if (decode)\n return decode(data, hint);\n}\n\nfunction basename(path) {\n if (typeof path !== 'string')\n return '';\n for (let i = path.length - 1; i >= 0; --i) {\n switch (path.charCodeAt(i)) {\n case 0x2F: // '/'\n case 0x5C: // '\\'\n path = path.slice(i + 1);\n return (path === '..' || path === '.' ? '' : path);\n }\n }\n return (path === '..' || path === '.' ? '' : path);\n}\n\nconst TOKEN = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n];\n\nconst QDTEXT = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n];\n\nconst CHARSET = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n];\n\nconst EXTENDED_VALUE = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n];\n\n/* eslint-disable no-multi-spaces */\nconst HEX_VALUES = [\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n];\n/* eslint-enable no-multi-spaces */\n\nmodule.exports = {\n basename,\n convertToUTF8,\n getDecoder,\n parseContentType,\n parseDisposition,\n};\n", "'use strict';\n/*\n Based heavily on the Streaming Boyer-Moore-Horspool C++ implementation\n by Hongli Lai at: https://github.com/FooBarWidget/boyer-moore-horspool\n*/\nfunction memcmp(buf1, pos1, buf2, pos2, num) {\n for (let i = 0; i < num; ++i) {\n if (buf1[pos1 + i] !== buf2[pos2 + i])\n return false;\n }\n return true;\n}\n\nclass SBMH {\n constructor(needle, cb) {\n if (typeof cb !== 'function')\n throw new Error('Missing match callback');\n\n if (typeof needle === 'string')\n needle = Buffer.from(needle);\n else if (!Buffer.isBuffer(needle))\n throw new Error(`Expected Buffer for needle, got ${typeof needle}`);\n\n const needleLen = needle.length;\n\n this.maxMatches = Infinity;\n this.matches = 0;\n\n this._cb = cb;\n this._lookbehindSize = 0;\n this._needle = needle;\n this._bufPos = 0;\n\n this._lookbehind = Buffer.allocUnsafe(needleLen);\n\n // Initialize occurrence table.\n this._occ = [\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen\n ];\n\n // Populate occurrence table with analysis of the needle, ignoring the last\n // letter.\n if (needleLen > 1) {\n for (let i = 0; i < needleLen - 1; ++i)\n this._occ[needle[i]] = needleLen - 1 - i;\n }\n }\n\n reset() {\n this.matches = 0;\n this._lookbehindSize = 0;\n this._bufPos = 0;\n }\n\n push(chunk, pos) {\n let result;\n if (!Buffer.isBuffer(chunk))\n chunk = Buffer.from(chunk, 'latin1');\n const chunkLen = chunk.length;\n this._bufPos = pos || 0;\n while (result !== chunkLen && this.matches < this.maxMatches)\n result = feed(this, chunk);\n return result;\n }\n\n destroy() {\n const lbSize = this._lookbehindSize;\n if (lbSize)\n this._cb(false, this._lookbehind, 0, lbSize, false);\n this.reset();\n }\n}\n\nfunction feed(self, data) {\n const len = data.length;\n const needle = self._needle;\n const needleLen = needle.length;\n\n // Positive: points to a position in `data`\n // pos == 3 points to data[3]\n // Negative: points to a position in the lookbehind buffer\n // pos == -2 points to lookbehind[lookbehindSize - 2]\n let pos = -self._lookbehindSize;\n const lastNeedleCharPos = needleLen - 1;\n const lastNeedleChar = needle[lastNeedleCharPos];\n const end = len - needleLen;\n const occ = self._occ;\n const lookbehind = self._lookbehind;\n\n if (pos < 0) {\n // Lookbehind buffer is not empty. Perform Boyer-Moore-Horspool\n // search with character lookup code that considers both the\n // lookbehind buffer and the current round's haystack data.\n //\n // Loop until\n // there is a match.\n // or until\n // we've moved past the position that requires the\n // lookbehind buffer. In this case we switch to the\n // optimized loop.\n // or until\n // the character to look at lies outside the haystack.\n while (pos < 0 && pos <= end) {\n const nextPos = pos + lastNeedleCharPos;\n const ch = (nextPos < 0\n ? lookbehind[self._lookbehindSize + nextPos]\n : data[nextPos]);\n\n if (ch === lastNeedleChar\n && matchNeedle(self, data, pos, lastNeedleCharPos)) {\n self._lookbehindSize = 0;\n ++self.matches;\n if (pos > -self._lookbehindSize)\n self._cb(true, lookbehind, 0, self._lookbehindSize + pos, false);\n else\n self._cb(true, undefined, 0, 0, true);\n\n return (self._bufPos = pos + needleLen);\n }\n\n pos += occ[ch];\n }\n\n // No match.\n\n // There's too few data for Boyer-Moore-Horspool to run,\n // so let's use a different algorithm to skip as much as\n // we can.\n // Forward pos until\n // the trailing part of lookbehind + data\n // looks like the beginning of the needle\n // or until\n // pos == 0\n while (pos < 0 && !matchNeedle(self, data, pos, len - pos))\n ++pos;\n\n if (pos < 0) {\n // Cut off part of the lookbehind buffer that has\n // been processed and append the entire haystack\n // into it.\n const bytesToCutOff = self._lookbehindSize + pos;\n\n if (bytesToCutOff > 0) {\n // The cut off data is guaranteed not to contain the needle.\n self._cb(false, lookbehind, 0, bytesToCutOff, false);\n }\n\n self._lookbehindSize -= bytesToCutOff;\n lookbehind.copy(lookbehind, 0, bytesToCutOff, self._lookbehindSize);\n lookbehind.set(data, self._lookbehindSize);\n self._lookbehindSize += len;\n\n self._bufPos = len;\n return len;\n }\n\n // Discard lookbehind buffer.\n self._cb(false, lookbehind, 0, self._lookbehindSize, false);\n self._lookbehindSize = 0;\n }\n\n pos += self._bufPos;\n\n const firstNeedleChar = needle[0];\n\n // Lookbehind buffer is now empty. Perform Boyer-Moore-Horspool\n // search with optimized character lookup code that only considers\n // the current round's haystack data.\n while (pos <= end) {\n const ch = data[pos + lastNeedleCharPos];\n\n if (ch === lastNeedleChar\n && data[pos] === firstNeedleChar\n && memcmp(needle, 0, data, pos, lastNeedleCharPos)) {\n ++self.matches;\n if (pos > 0)\n self._cb(true, data, self._bufPos, pos, true);\n else\n self._cb(true, undefined, 0, 0, true);\n\n return (self._bufPos = pos + needleLen);\n }\n\n pos += occ[ch];\n }\n\n // There was no match. If there's trailing haystack data that we cannot\n // match yet using the Boyer-Moore-Horspool algorithm (because the trailing\n // data is less than the needle size) then match using a modified\n // algorithm that starts matching from the beginning instead of the end.\n // Whatever trailing data is left after running this algorithm is added to\n // the lookbehind buffer.\n while (pos < len) {\n if (data[pos] !== firstNeedleChar\n || !memcmp(data, pos, needle, 0, len - pos)) {\n ++pos;\n continue;\n }\n data.copy(lookbehind, 0, pos, len);\n self._lookbehindSize = len - pos;\n break;\n }\n\n // Everything until `pos` is guaranteed not to contain needle data.\n if (pos > 0)\n self._cb(false, data, self._bufPos, pos < len ? pos : len, true);\n\n self._bufPos = len;\n return len;\n}\n\nfunction matchNeedle(self, data, pos, len) {\n const lb = self._lookbehind;\n const lbSize = self._lookbehindSize;\n const needle = self._needle;\n\n for (let i = 0; i < len; ++i, ++pos) {\n const ch = (pos < 0 ? lb[lbSize + pos] : data[pos]);\n if (ch !== needle[i])\n return false;\n }\n return true;\n}\n\nmodule.exports = SBMH;\n", "'use strict';\n\nconst { Readable, Writable } = require('stream');\n\nconst StreamSearch = require('streamsearch');\n\nconst {\n basename,\n convertToUTF8,\n getDecoder,\n parseContentType,\n parseDisposition,\n} = require('../utils.js');\n\nconst BUF_CRLF = Buffer.from('\\r\\n');\nconst BUF_CR = Buffer.from('\\r');\nconst BUF_DASH = Buffer.from('-');\n\nfunction noop() {}\n\nconst MAX_HEADER_PAIRS = 2000; // From node\nconst MAX_HEADER_SIZE = 16 * 1024; // From node (its default value)\n\nconst HPARSER_NAME = 0;\nconst HPARSER_PRE_OWS = 1;\nconst HPARSER_VALUE = 2;\nclass HeaderParser {\n constructor(cb) {\n this.header = Object.create(null);\n this.pairCount = 0;\n this.byteCount = 0;\n this.state = HPARSER_NAME;\n this.name = '';\n this.value = '';\n this.crlf = 0;\n this.cb = cb;\n }\n\n reset() {\n this.header = Object.create(null);\n this.pairCount = 0;\n this.byteCount = 0;\n this.state = HPARSER_NAME;\n this.name = '';\n this.value = '';\n this.crlf = 0;\n }\n\n push(chunk, pos, end) {\n let start = pos;\n while (pos < end) {\n switch (this.state) {\n case HPARSER_NAME: {\n let done = false;\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (TOKEN[code] !== 1) {\n if (code !== 58/* ':' */)\n return -1;\n this.name += chunk.latin1Slice(start, pos);\n if (this.name.length === 0)\n return -1;\n ++pos;\n done = true;\n this.state = HPARSER_PRE_OWS;\n break;\n }\n }\n if (!done) {\n this.name += chunk.latin1Slice(start, pos);\n break;\n }\n // FALLTHROUGH\n }\n case HPARSER_PRE_OWS: {\n // Skip optional whitespace\n let done = false;\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */) {\n start = pos;\n done = true;\n this.state = HPARSER_VALUE;\n break;\n }\n }\n if (!done)\n break;\n // FALLTHROUGH\n }\n case HPARSER_VALUE:\n switch (this.crlf) {\n case 0: // Nothing yet\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (FIELD_VCHAR[code] !== 1) {\n if (code !== 13/* '\\r' */)\n return -1;\n ++this.crlf;\n break;\n }\n }\n this.value += chunk.latin1Slice(start, pos++);\n break;\n case 1: // Received CR\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n if (chunk[pos++] !== 10/* '\\n' */)\n return -1;\n ++this.crlf;\n break;\n case 2: { // Received CR LF\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (code === 32/* ' ' */ || code === 9/* '\\t' */) {\n // Folded value\n start = pos;\n this.crlf = 0;\n } else {\n if (++this.pairCount < MAX_HEADER_PAIRS) {\n this.name = this.name.toLowerCase();\n if (this.header[this.name] === undefined)\n this.header[this.name] = [this.value];\n else\n this.header[this.name].push(this.value);\n }\n if (code === 13/* '\\r' */) {\n ++this.crlf;\n ++pos;\n } else {\n // Assume start of next header field name\n start = pos;\n this.crlf = 0;\n this.state = HPARSER_NAME;\n this.name = '';\n this.value = '';\n }\n }\n break;\n }\n case 3: { // Received CR LF CR\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n if (chunk[pos++] !== 10/* '\\n' */)\n return -1;\n // End of header\n const header = this.header;\n this.reset();\n this.cb(header);\n return pos;\n }\n }\n break;\n }\n }\n\n return pos;\n }\n}\n\nclass FileStream extends Readable {\n constructor(opts, owner) {\n super(opts);\n this.truncated = false;\n this._readcb = null;\n this.once('end', () => {\n // We need to make sure that we call any outstanding _writecb() that is\n // associated with this file so that processing of the rest of the form\n // can continue. This may not happen if the file stream ends right after\n // backpressure kicks in, so we force it here.\n this._read();\n if (--owner._fileEndsLeft === 0 && owner._finalcb) {\n const cb = owner._finalcb;\n owner._finalcb = null;\n // Make sure other 'end' event handlers get a chance to be executed\n // before busboy's 'finish' event is emitted\n process.nextTick(cb);\n }\n });\n }\n _read(n) {\n const cb = this._readcb;\n if (cb) {\n this._readcb = null;\n cb();\n }\n }\n}\n\nconst ignoreData = {\n push: (chunk, pos) => {},\n destroy: () => {},\n};\n\nfunction callAndUnsetCb(self, err) {\n const cb = self._writecb;\n self._writecb = null;\n if (err)\n self.destroy(err);\n else if (cb)\n cb();\n}\n\nfunction nullDecoder(val, hint) {\n return val;\n}\n\nclass Multipart extends Writable {\n constructor(cfg) {\n const streamOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: (typeof cfg.highWaterMark === 'number'\n ? cfg.highWaterMark\n : undefined),\n };\n super(streamOpts);\n\n if (!cfg.conType.params || typeof cfg.conType.params.boundary !== 'string')\n throw new Error('Multipart: Boundary not found');\n\n const boundary = cfg.conType.params.boundary;\n const paramDecoder = (typeof cfg.defParamCharset === 'string'\n && cfg.defParamCharset\n ? getDecoder(cfg.defParamCharset)\n : nullDecoder);\n const defCharset = (cfg.defCharset || 'utf8');\n const preservePath = cfg.preservePath;\n const fileOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: (typeof cfg.fileHwm === 'number'\n ? cfg.fileHwm\n : undefined),\n };\n\n const limits = cfg.limits;\n const fieldSizeLimit = (limits && typeof limits.fieldSize === 'number'\n ? limits.fieldSize\n : 1 * 1024 * 1024);\n const fileSizeLimit = (limits && typeof limits.fileSize === 'number'\n ? limits.fileSize\n : Infinity);\n const filesLimit = (limits && typeof limits.files === 'number'\n ? limits.files\n : Infinity);\n const fieldsLimit = (limits && typeof limits.fields === 'number'\n ? limits.fields\n : Infinity);\n const partsLimit = (limits && typeof limits.parts === 'number'\n ? limits.parts\n : Infinity);\n\n let parts = -1; // Account for initial boundary\n let fields = 0;\n let files = 0;\n let skipPart = false;\n\n this._fileEndsLeft = 0;\n this._fileStream = undefined;\n this._complete = false;\n let fileSize = 0;\n\n let field;\n let fieldSize = 0;\n let partCharset;\n let partEncoding;\n let partType;\n let partName;\n let partTruncated = false;\n\n let hitFilesLimit = false;\n let hitFieldsLimit = false;\n\n this._hparser = null;\n const hparser = new HeaderParser((header) => {\n this._hparser = null;\n skipPart = false;\n\n partType = 'text/plain';\n partCharset = defCharset;\n partEncoding = '7bit';\n partName = undefined;\n partTruncated = false;\n\n let filename;\n if (!header['content-disposition']) {\n skipPart = true;\n return;\n }\n\n const disp = parseDisposition(header['content-disposition'][0],\n paramDecoder);\n if (!disp || disp.type !== 'form-data') {\n skipPart = true;\n return;\n }\n\n if (disp.params) {\n if (disp.params.name)\n partName = disp.params.name;\n\n if (disp.params['filename*'])\n filename = disp.params['filename*'];\n else if (disp.params.filename)\n filename = disp.params.filename;\n\n if (filename !== undefined && !preservePath)\n filename = basename(filename);\n }\n\n if (header['content-type']) {\n const conType = parseContentType(header['content-type'][0]);\n if (conType) {\n partType = `${conType.type}/${conType.subtype}`;\n if (conType.params && typeof conType.params.charset === 'string')\n partCharset = conType.params.charset.toLowerCase();\n }\n }\n\n if (header['content-transfer-encoding'])\n partEncoding = header['content-transfer-encoding'][0].toLowerCase();\n\n if (partType === 'application/octet-stream' || filename !== undefined) {\n // File\n\n if (files === filesLimit) {\n if (!hitFilesLimit) {\n hitFilesLimit = true;\n this.emit('filesLimit');\n }\n skipPart = true;\n return;\n }\n ++files;\n\n if (this.listenerCount('file') === 0) {\n skipPart = true;\n return;\n }\n\n fileSize = 0;\n this._fileStream = new FileStream(fileOpts, this);\n ++this._fileEndsLeft;\n this.emit(\n 'file',\n partName,\n this._fileStream,\n { filename,\n encoding: partEncoding,\n mimeType: partType }\n );\n } else {\n // Non-file\n\n if (fields === fieldsLimit) {\n if (!hitFieldsLimit) {\n hitFieldsLimit = true;\n this.emit('fieldsLimit');\n }\n skipPart = true;\n return;\n }\n ++fields;\n\n if (this.listenerCount('field') === 0) {\n skipPart = true;\n return;\n }\n\n field = [];\n fieldSize = 0;\n }\n });\n\n let matchPostBoundary = 0;\n const ssCb = (isMatch, data, start, end, isDataSafe) => {\nretrydata:\n while (data) {\n if (this._hparser !== null) {\n const ret = this._hparser.push(data, start, end);\n if (ret === -1) {\n this._hparser = null;\n hparser.reset();\n this.emit('error', new Error('Malformed part header'));\n break;\n }\n start = ret;\n }\n\n if (start === end)\n break;\n\n if (matchPostBoundary !== 0) {\n if (matchPostBoundary === 1) {\n switch (data[start]) {\n case 45: // '-'\n // Try matching '--' after boundary\n matchPostBoundary = 2;\n ++start;\n break;\n case 13: // '\\r'\n // Try matching CR LF before header\n matchPostBoundary = 3;\n ++start;\n break;\n default:\n matchPostBoundary = 0;\n }\n if (start === end)\n return;\n }\n\n if (matchPostBoundary === 2) {\n matchPostBoundary = 0;\n if (data[start] === 45/* '-' */) {\n // End of multipart data\n this._complete = true;\n this._bparser = ignoreData;\n return;\n }\n // We saw something other than '-', so put the dash we consumed\n // \"back\"\n const writecb = this._writecb;\n this._writecb = noop;\n ssCb(false, BUF_DASH, 0, 1, false);\n this._writecb = writecb;\n } else if (matchPostBoundary === 3) {\n matchPostBoundary = 0;\n if (data[start] === 10/* '\\n' */) {\n ++start;\n if (parts >= partsLimit)\n break;\n // Prepare the header parser\n this._hparser = hparser;\n if (start === end)\n break;\n // Process the remaining data as a header\n continue retrydata;\n } else {\n // We saw something other than LF, so put the CR we consumed\n // \"back\"\n const writecb = this._writecb;\n this._writecb = noop;\n ssCb(false, BUF_CR, 0, 1, false);\n this._writecb = writecb;\n }\n }\n }\n\n if (!skipPart) {\n if (this._fileStream) {\n let chunk;\n const actualLen = Math.min(end - start, fileSizeLimit - fileSize);\n if (!isDataSafe) {\n chunk = Buffer.allocUnsafe(actualLen);\n data.copy(chunk, 0, start, start + actualLen);\n } else {\n chunk = data.slice(start, start + actualLen);\n }\n\n fileSize += chunk.length;\n if (fileSize === fileSizeLimit) {\n if (chunk.length > 0)\n this._fileStream.push(chunk);\n this._fileStream.emit('limit');\n this._fileStream.truncated = true;\n skipPart = true;\n } else if (!this._fileStream.push(chunk)) {\n if (this._writecb)\n this._fileStream._readcb = this._writecb;\n this._writecb = null;\n }\n } else if (field !== undefined) {\n let chunk;\n const actualLen = Math.min(\n end - start,\n fieldSizeLimit - fieldSize\n );\n if (!isDataSafe) {\n chunk = Buffer.allocUnsafe(actualLen);\n data.copy(chunk, 0, start, start + actualLen);\n } else {\n chunk = data.slice(start, start + actualLen);\n }\n\n fieldSize += actualLen;\n field.push(chunk);\n if (fieldSize === fieldSizeLimit) {\n skipPart = true;\n partTruncated = true;\n }\n }\n }\n\n break;\n }\n\n if (isMatch) {\n matchPostBoundary = 1;\n\n if (this._fileStream) {\n // End the active file stream if the previous part was a file\n this._fileStream.push(null);\n this._fileStream = null;\n } else if (field !== undefined) {\n let data;\n switch (field.length) {\n case 0:\n data = '';\n break;\n case 1:\n data = convertToUTF8(field[0], partCharset, 0);\n break;\n default:\n data = convertToUTF8(\n Buffer.concat(field, fieldSize),\n partCharset,\n 0\n );\n }\n field = undefined;\n fieldSize = 0;\n this.emit(\n 'field',\n partName,\n data,\n { nameTruncated: false,\n valueTruncated: partTruncated,\n encoding: partEncoding,\n mimeType: partType }\n );\n }\n\n if (++parts === partsLimit)\n this.emit('partsLimit');\n }\n };\n this._bparser = new StreamSearch(`\\r\\n--${boundary}`, ssCb);\n\n this._writecb = null;\n this._finalcb = null;\n\n // Just in case there is no preamble\n this.write(BUF_CRLF);\n }\n\n static detect(conType) {\n return (conType.type === 'multipart' && conType.subtype === 'form-data');\n }\n\n _write(chunk, enc, cb) {\n this._writecb = cb;\n this._bparser.push(chunk, 0);\n if (this._writecb)\n callAndUnsetCb(this);\n }\n\n _destroy(err, cb) {\n this._hparser = null;\n this._bparser = ignoreData;\n if (!err)\n err = checkEndState(this);\n const fileStream = this._fileStream;\n if (fileStream) {\n this._fileStream = null;\n fileStream.destroy(err);\n }\n cb(err);\n }\n\n _final(cb) {\n this._bparser.destroy();\n if (!this._complete)\n return cb(new Error('Unexpected end of form'));\n if (this._fileEndsLeft)\n this._finalcb = finalcb.bind(null, this, cb);\n else\n finalcb(this, cb);\n }\n}\n\nfunction finalcb(self, cb, err) {\n if (err)\n return cb(err);\n err = checkEndState(self);\n cb(err);\n}\n\nfunction checkEndState(self) {\n if (self._hparser)\n return new Error('Malformed part header');\n const fileStream = self._fileStream;\n if (fileStream) {\n self._fileStream = null;\n fileStream.destroy(new Error('Unexpected end of file'));\n }\n if (!self._complete)\n return new Error('Unexpected end of form');\n}\n\nconst TOKEN = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n];\n\nconst FIELD_VCHAR = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n];\n\nmodule.exports = Multipart;\n", "'use strict';\n\nconst { Writable } = require('stream');\n\nconst { getDecoder } = require('../utils.js');\n\nclass URLEncoded extends Writable {\n constructor(cfg) {\n const streamOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: (typeof cfg.highWaterMark === 'number'\n ? cfg.highWaterMark\n : undefined),\n };\n super(streamOpts);\n\n let charset = (cfg.defCharset || 'utf8');\n if (cfg.conType.params && typeof cfg.conType.params.charset === 'string')\n charset = cfg.conType.params.charset;\n\n this.charset = charset;\n\n const limits = cfg.limits;\n this.fieldSizeLimit = (limits && typeof limits.fieldSize === 'number'\n ? limits.fieldSize\n : 1 * 1024 * 1024);\n this.fieldsLimit = (limits && typeof limits.fields === 'number'\n ? limits.fields\n : Infinity);\n this.fieldNameSizeLimit = (\n limits && typeof limits.fieldNameSize === 'number'\n ? limits.fieldNameSize\n : 100\n );\n\n this._inKey = true;\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n this._fields = 0;\n this._key = '';\n this._val = '';\n this._byte = -2;\n this._lastPos = 0;\n this._encode = 0;\n this._decoder = getDecoder(charset);\n }\n\n static detect(conType) {\n return (conType.type === 'application'\n && conType.subtype === 'x-www-form-urlencoded');\n }\n\n _write(chunk, enc, cb) {\n if (this._fields >= this.fieldsLimit)\n return cb();\n\n let i = 0;\n const len = chunk.length;\n this._lastPos = 0;\n\n // Check if we last ended mid-percent-encoded byte\n if (this._byte !== -2) {\n i = readPctEnc(this, chunk, i, len);\n if (i === -1)\n return cb(new Error('Malformed urlencoded form'));\n if (i >= len)\n return cb();\n if (this._inKey)\n ++this._bytesKey;\n else\n ++this._bytesVal;\n }\n\nmain:\n while (i < len) {\n if (this._inKey) {\n // Parsing key\n\n i = skipKeyBytes(this, chunk, i, len);\n\n while (i < len) {\n switch (chunk[i]) {\n case 61: // '='\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._key = this._decoder(this._key, this._encode);\n this._encode = 0;\n this._inKey = false;\n continue main;\n case 38: // '&'\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._key = this._decoder(this._key, this._encode);\n this._encode = 0;\n if (this._bytesKey > 0) {\n this.emit(\n 'field',\n this._key,\n '',\n { nameTruncated: this._keyTrunc,\n valueTruncated: false,\n encoding: this.charset,\n mimeType: 'text/plain' }\n );\n }\n this._key = '';\n this._val = '';\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n if (++this._fields >= this.fieldsLimit) {\n this.emit('fieldsLimit');\n return cb();\n }\n continue;\n case 43: // '+'\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._key += ' ';\n this._lastPos = i + 1;\n break;\n case 37: // '%'\n if (this._encode === 0)\n this._encode = 1;\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = i + 1;\n this._byte = -1;\n i = readPctEnc(this, chunk, i + 1, len);\n if (i === -1)\n return cb(new Error('Malformed urlencoded form'));\n if (i >= len)\n return cb();\n ++this._bytesKey;\n i = skipKeyBytes(this, chunk, i, len);\n continue;\n }\n ++i;\n ++this._bytesKey;\n i = skipKeyBytes(this, chunk, i, len);\n }\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n } else {\n // Parsing value\n\n i = skipValBytes(this, chunk, i, len);\n\n while (i < len) {\n switch (chunk[i]) {\n case 38: // '&'\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._inKey = true;\n this._val = this._decoder(this._val, this._encode);\n this._encode = 0;\n if (this._bytesKey > 0 || this._bytesVal > 0) {\n this.emit(\n 'field',\n this._key,\n this._val,\n { nameTruncated: this._keyTrunc,\n valueTruncated: this._valTrunc,\n encoding: this.charset,\n mimeType: 'text/plain' }\n );\n }\n this._key = '';\n this._val = '';\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n if (++this._fields >= this.fieldsLimit) {\n this.emit('fieldsLimit');\n return cb();\n }\n continue main;\n case 43: // '+'\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._val += ' ';\n this._lastPos = i + 1;\n break;\n case 37: // '%'\n if (this._encode === 0)\n this._encode = 1;\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = i + 1;\n this._byte = -1;\n i = readPctEnc(this, chunk, i + 1, len);\n if (i === -1)\n return cb(new Error('Malformed urlencoded form'));\n if (i >= len)\n return cb();\n ++this._bytesVal;\n i = skipValBytes(this, chunk, i, len);\n continue;\n }\n ++i;\n ++this._bytesVal;\n i = skipValBytes(this, chunk, i, len);\n }\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n }\n }\n\n cb();\n }\n\n _final(cb) {\n if (this._byte !== -2)\n return cb(new Error('Malformed urlencoded form'));\n if (!this._inKey || this._bytesKey > 0 || this._bytesVal > 0) {\n if (this._inKey)\n this._key = this._decoder(this._key, this._encode);\n else\n this._val = this._decoder(this._val, this._encode);\n this.emit(\n 'field',\n this._key,\n this._val,\n { nameTruncated: this._keyTrunc,\n valueTruncated: this._valTrunc,\n encoding: this.charset,\n mimeType: 'text/plain' }\n );\n }\n cb();\n }\n}\n\nfunction readPctEnc(self, chunk, pos, len) {\n if (pos >= len)\n return len;\n\n if (self._byte === -1) {\n // We saw a '%' but no hex characters yet\n const hexUpper = HEX_VALUES[chunk[pos++]];\n if (hexUpper === -1)\n return -1;\n\n if (hexUpper >= 8)\n self._encode = 2; // Indicate high bits detected\n\n if (pos < len) {\n // Both hex characters are in this chunk\n const hexLower = HEX_VALUES[chunk[pos++]];\n if (hexLower === -1)\n return -1;\n\n if (self._inKey)\n self._key += String.fromCharCode((hexUpper << 4) + hexLower);\n else\n self._val += String.fromCharCode((hexUpper << 4) + hexLower);\n\n self._byte = -2;\n self._lastPos = pos;\n } else {\n // Only one hex character was available in this chunk\n self._byte = hexUpper;\n }\n } else {\n // We saw only one hex character so far\n const hexLower = HEX_VALUES[chunk[pos++]];\n if (hexLower === -1)\n return -1;\n\n if (self._inKey)\n self._key += String.fromCharCode((self._byte << 4) + hexLower);\n else\n self._val += String.fromCharCode((self._byte << 4) + hexLower);\n\n self._byte = -2;\n self._lastPos = pos;\n }\n\n return pos;\n}\n\nfunction skipKeyBytes(self, chunk, pos, len) {\n // Skip bytes if we've truncated\n if (self._bytesKey > self.fieldNameSizeLimit) {\n if (!self._keyTrunc) {\n if (self._lastPos < pos)\n self._key += chunk.latin1Slice(self._lastPos, pos - 1);\n }\n self._keyTrunc = true;\n for (; pos < len; ++pos) {\n const code = chunk[pos];\n if (code === 61/* '=' */ || code === 38/* '&' */)\n break;\n ++self._bytesKey;\n }\n self._lastPos = pos;\n }\n\n return pos;\n}\n\nfunction skipValBytes(self, chunk, pos, len) {\n // Skip bytes if we've truncated\n if (self._bytesVal > self.fieldSizeLimit) {\n if (!self._valTrunc) {\n if (self._lastPos < pos)\n self._val += chunk.latin1Slice(self._lastPos, pos - 1);\n }\n self._valTrunc = true;\n for (; pos < len; ++pos) {\n if (chunk[pos] === 38/* '&' */)\n break;\n ++self._bytesVal;\n }\n self._lastPos = pos;\n }\n\n return pos;\n}\n\n/* eslint-disable no-multi-spaces */\nconst HEX_VALUES = [\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n];\n/* eslint-enable no-multi-spaces */\n\nmodule.exports = URLEncoded;\n", "'use strict';\n\nconst { parseContentType } = require('./utils.js');\n\nfunction getInstance(cfg) {\n const headers = cfg.headers;\n const conType = parseContentType(headers['content-type']);\n if (!conType)\n throw new Error('Malformed content type');\n\n for (const type of TYPES) {\n const matched = type.detect(conType);\n if (!matched)\n continue;\n\n const instanceCfg = {\n limits: cfg.limits,\n headers,\n conType,\n highWaterMark: undefined,\n fileHwm: undefined,\n defCharset: undefined,\n defParamCharset: undefined,\n preservePath: false,\n };\n if (cfg.highWaterMark)\n instanceCfg.highWaterMark = cfg.highWaterMark;\n if (cfg.fileHwm)\n instanceCfg.fileHwm = cfg.fileHwm;\n instanceCfg.defCharset = cfg.defCharset;\n instanceCfg.defParamCharset = cfg.defParamCharset;\n instanceCfg.preservePath = cfg.preservePath;\n return new type(instanceCfg);\n }\n\n throw new Error(`Unsupported content type: ${headers['content-type']}`);\n}\n\n// Note: types are explicitly listed here for easier bundling\n// See: https://github.com/mscdex/busboy/issues/121\nconst TYPES = [\n require('./types/multipart'),\n require('./types/urlencoded'),\n].filter(function(typemod) { return typeof typemod.detect === 'function'; });\n\nmodule.exports = (cfg) => {\n if (typeof cfg !== 'object' || cfg === null)\n cfg = {};\n\n if (typeof cfg.headers !== 'object'\n || cfg.headers === null\n || typeof cfg.headers['content-type'] !== 'string') {\n throw new Error('Missing Content-Type');\n }\n\n return getInstance(cfg);\n};\n", "'use strict'\n\nconst { MessageChannel, receiveMessageOnPort } = require('worker_threads')\n\nconst corsSafeListedMethods = ['GET', 'HEAD', 'POST']\n\nconst nullBodyStatus = [101, 204, 205, 304]\n\nconst redirectStatus = [301, 302, 303, 307, 308]\n\n// https://fetch.spec.whatwg.org/#block-bad-port\nconst badPorts = [\n '1', '7', '9', '11', '13', '15', '17', '19', '20', '21', '22', '23', '25', '37', '42', '43', '53', '69', '77', '79',\n '87', '95', '101', '102', '103', '104', '109', '110', '111', '113', '115', '117', '119', '123', '135', '137',\n '139', '143', '161', '179', '389', '427', '465', '512', '513', '514', '515', '526', '530', '531', '532',\n '540', '548', '554', '556', '563', '587', '601', '636', '989', '990', '993', '995', '1719', '1720', '1723',\n '2049', '3659', '4045', '5060', '5061', '6000', '6566', '6665', '6666', '6667', '6668', '6669', '6697',\n '10080'\n]\n\n// https://w3c.github.io/webappsec-referrer-policy/#referrer-policies\nconst referrerPolicy = [\n '',\n 'no-referrer',\n 'no-referrer-when-downgrade',\n 'same-origin',\n 'origin',\n 'strict-origin',\n 'origin-when-cross-origin',\n 'strict-origin-when-cross-origin',\n 'unsafe-url'\n]\n\nconst requestRedirect = ['follow', 'manual', 'error']\n\nconst safeMethods = ['GET', 'HEAD', 'OPTIONS', 'TRACE']\n\nconst requestMode = ['navigate', 'same-origin', 'no-cors', 'cors']\n\nconst requestCredentials = ['omit', 'same-origin', 'include']\n\nconst requestCache = [\n 'default',\n 'no-store',\n 'reload',\n 'no-cache',\n 'force-cache',\n 'only-if-cached'\n]\n\n// https://fetch.spec.whatwg.org/#request-body-header-name\nconst requestBodyHeader = [\n 'content-encoding',\n 'content-language',\n 'content-location',\n 'content-type',\n // See https://github.com/nodejs/undici/issues/2021\n // 'Content-Length' is a forbidden header name, which is typically\n // removed in the Headers implementation. However, undici doesn't\n // filter out headers, so we add it here.\n 'content-length'\n]\n\n// https://fetch.spec.whatwg.org/#enumdef-requestduplex\nconst requestDuplex = [\n 'half'\n]\n\n// http://fetch.spec.whatwg.org/#forbidden-method\nconst forbiddenMethods = ['CONNECT', 'TRACE', 'TRACK']\n\nconst subresource = [\n 'audio',\n 'audioworklet',\n 'font',\n 'image',\n 'manifest',\n 'paintworklet',\n 'script',\n 'style',\n 'track',\n 'video',\n 'xslt',\n ''\n]\n\n/** @type {globalThis['DOMException']} */\nconst DOMException = globalThis.DOMException ?? (() => {\n // DOMException was only made a global in Node v17.0.0,\n // but fetch supports >= v16.8.\n try {\n atob('~')\n } catch (err) {\n return Object.getPrototypeOf(err).constructor\n }\n})()\n\nlet channel\n\n/** @type {globalThis['structuredClone']} */\nconst structuredClone =\n globalThis.structuredClone ??\n // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js\n // structuredClone was added in v17.0.0, but fetch supports v16.8\n function structuredClone (value, options = undefined) {\n if (arguments.length === 0) {\n throw new TypeError('missing argument')\n }\n\n if (!channel) {\n channel = new MessageChannel()\n }\n channel.port1.unref()\n channel.port2.unref()\n channel.port1.postMessage(value, options?.transfer)\n return receiveMessageOnPort(channel.port2).message\n }\n\nmodule.exports = {\n DOMException,\n structuredClone,\n subresource,\n forbiddenMethods,\n requestBodyHeader,\n referrerPolicy,\n requestRedirect,\n requestMode,\n requestCredentials,\n requestCache,\n redirectStatus,\n corsSafeListedMethods,\n nullBodyStatus,\n safeMethods,\n badPorts,\n requestDuplex\n}\n", "'use strict'\n\n// In case of breaking changes, increase the version\n// number to avoid conflicts.\nconst globalOrigin = Symbol.for('undici.globalOrigin.1')\n\nfunction getGlobalOrigin () {\n return globalThis[globalOrigin]\n}\n\nfunction setGlobalOrigin (newOrigin) {\n if (\n newOrigin !== undefined &&\n typeof newOrigin !== 'string' &&\n !(newOrigin instanceof URL)\n ) {\n throw new Error('Invalid base url')\n }\n\n if (newOrigin === undefined) {\n Object.defineProperty(globalThis, globalOrigin, {\n value: undefined,\n writable: true,\n enumerable: false,\n configurable: false\n })\n\n return\n }\n\n const parsedURL = new URL(newOrigin)\n\n if (parsedURL.protocol !== 'http:' && parsedURL.protocol !== 'https:') {\n throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`)\n }\n\n Object.defineProperty(globalThis, globalOrigin, {\n value: parsedURL,\n writable: true,\n enumerable: false,\n configurable: false\n })\n}\n\nmodule.exports = {\n getGlobalOrigin,\n setGlobalOrigin\n}\n", "'use strict'\n\nconst { redirectStatus, badPorts, referrerPolicy: referrerPolicyTokens } = require('./constants')\nconst { getGlobalOrigin } = require('./global')\nconst { performance } = require('perf_hooks')\nconst { isBlobLike, toUSVString, ReadableStreamFrom } = require('../core/util')\nconst assert = require('assert')\nconst { isUint8Array } = require('util/types')\n\n// https://nodejs.org/api/crypto.html#determining-if-crypto-support-is-unavailable\n/** @type {import('crypto')|undefined} */\nlet crypto\n\ntry {\n crypto = require('crypto')\n} catch {\n\n}\n\nfunction responseURL (response) {\n // https://fetch.spec.whatwg.org/#responses\n // A response has an associated URL. It is a pointer to the last URL\n // in response\u2019s URL list and null if response\u2019s URL list is empty.\n const urlList = response.urlList\n const length = urlList.length\n return length === 0 ? null : urlList[length - 1].toString()\n}\n\n// https://fetch.spec.whatwg.org/#concept-response-location-url\nfunction responseLocationURL (response, requestFragment) {\n // 1. If response\u2019s status is not a redirect status, then return null.\n if (!redirectStatus.includes(response.status)) {\n return null\n }\n\n // 2. Let location be the result of extracting header list values given\n // `Location` and response\u2019s header list.\n let location = response.headersList.get('location')\n\n // 3. If location is a header value, then set location to the result of\n // parsing location with response\u2019s URL.\n if (location !== null && isValidHeaderValue(location)) {\n location = new URL(location, responseURL(response))\n }\n\n // 4. If location is a URL whose fragment is null, then set location\u2019s\n // fragment to requestFragment.\n if (location && !location.hash) {\n location.hash = requestFragment\n }\n\n // 5. Return location.\n return location\n}\n\n/** @returns {URL} */\nfunction requestCurrentURL (request) {\n return request.urlList[request.urlList.length - 1]\n}\n\nfunction requestBadPort (request) {\n // 1. Let url be request\u2019s current URL.\n const url = requestCurrentURL(request)\n\n // 2. If url\u2019s scheme is an HTTP(S) scheme and url\u2019s port is a bad port,\n // then return blocked.\n if (urlIsHttpHttpsScheme(url) && badPorts.includes(url.port)) {\n return 'blocked'\n }\n\n // 3. Return allowed.\n return 'allowed'\n}\n\nfunction isErrorLike (object) {\n return object instanceof Error || (\n object?.constructor?.name === 'Error' ||\n object?.constructor?.name === 'DOMException'\n )\n}\n\n// Check whether |statusText| is a ByteString and\n// matches the Reason-Phrase token production.\n// RFC 2616: https://tools.ietf.org/html/rfc2616\n// RFC 7230: https://tools.ietf.org/html/rfc7230\n// \"reason-phrase = *( HTAB / SP / VCHAR / obs-text )\"\n// https://github.com/chromium/chromium/blob/94.0.4604.1/third_party/blink/renderer/core/fetch/response.cc#L116\nfunction isValidReasonPhrase (statusText) {\n for (let i = 0; i < statusText.length; ++i) {\n const c = statusText.charCodeAt(i)\n if (\n !(\n (\n c === 0x09 || // HTAB\n (c >= 0x20 && c <= 0x7e) || // SP / VCHAR\n (c >= 0x80 && c <= 0xff)\n ) // obs-text\n )\n ) {\n return false\n }\n }\n return true\n}\n\nfunction isTokenChar (c) {\n return !(\n c >= 0x7f ||\n c <= 0x20 ||\n c === '(' ||\n c === ')' ||\n c === '<' ||\n c === '>' ||\n c === '@' ||\n c === ',' ||\n c === ';' ||\n c === ':' ||\n c === '\\\\' ||\n c === '\"' ||\n c === '/' ||\n c === '[' ||\n c === ']' ||\n c === '?' ||\n c === '=' ||\n c === '{' ||\n c === '}'\n )\n}\n\n// See RFC 7230, Section 3.2.6.\n// https://github.com/chromium/chromium/blob/d7da0240cae77824d1eda25745c4022757499131/third_party/blink/renderer/platform/network/http_parsers.cc#L321\nfunction isValidHTTPToken (characters) {\n if (!characters || typeof characters !== 'string') {\n return false\n }\n for (let i = 0; i < characters.length; ++i) {\n const c = characters.charCodeAt(i)\n if (c > 0x7f || !isTokenChar(c)) {\n return false\n }\n }\n return true\n}\n\n// https://fetch.spec.whatwg.org/#header-name\n// https://github.com/chromium/chromium/blob/b3d37e6f94f87d59e44662d6078f6a12de845d17/net/http/http_util.cc#L342\nfunction isValidHeaderName (potentialValue) {\n if (potentialValue.length === 0) {\n return false\n }\n\n return isValidHTTPToken(potentialValue)\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#header-value\n * @param {string} potentialValue\n */\nfunction isValidHeaderValue (potentialValue) {\n // - Has no leading or trailing HTTP tab or space bytes.\n // - Contains no 0x00 (NUL) or HTTP newline bytes.\n if (\n potentialValue.startsWith('\\t') ||\n potentialValue.startsWith(' ') ||\n potentialValue.endsWith('\\t') ||\n potentialValue.endsWith(' ')\n ) {\n return false\n }\n\n if (\n potentialValue.includes('\\0') ||\n potentialValue.includes('\\r') ||\n potentialValue.includes('\\n')\n ) {\n return false\n }\n\n return true\n}\n\n// https://w3c.github.io/webappsec-referrer-policy/#set-requests-referrer-policy-on-redirect\nfunction setRequestReferrerPolicyOnRedirect (request, actualResponse) {\n // Given a request request and a response actualResponse, this algorithm\n // updates request\u2019s referrer policy according to the Referrer-Policy\n // header (if any) in actualResponse.\n\n // 1. Let policy be the result of executing \u00A7 8.1 Parse a referrer policy\n // from a Referrer-Policy header on actualResponse.\n\n // 8.1 Parse a referrer policy from a Referrer-Policy header\n // 1. Let policy-tokens be the result of extracting header list values given `Referrer-Policy` and response\u2019s header list.\n const { headersList } = actualResponse\n // 2. Let policy be the empty string.\n // 3. For each token in policy-tokens, if token is a referrer policy and token is not the empty string, then set policy to token.\n // 4. Return policy.\n const policyHeader = (headersList.get('referrer-policy') ?? '').split(',')\n\n // Note: As the referrer-policy can contain multiple policies\n // separated by comma, we need to loop through all of them\n // and pick the first valid one.\n // Ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy#specify_a_fallback_policy\n let policy = ''\n if (policyHeader.length > 0) {\n // The right-most policy takes precedence.\n // The left-most policy is the fallback.\n for (let i = policyHeader.length; i !== 0; i--) {\n const token = policyHeader[i - 1].trim()\n if (referrerPolicyTokens.includes(token)) {\n policy = token\n break\n }\n }\n }\n\n // 2. If policy is not the empty string, then set request\u2019s referrer policy to policy.\n if (policy !== '') {\n request.referrerPolicy = policy\n }\n}\n\n// https://fetch.spec.whatwg.org/#cross-origin-resource-policy-check\nfunction crossOriginResourcePolicyCheck () {\n // TODO\n return 'allowed'\n}\n\n// https://fetch.spec.whatwg.org/#concept-cors-check\nfunction corsCheck () {\n // TODO\n return 'success'\n}\n\n// https://fetch.spec.whatwg.org/#concept-tao-check\nfunction TAOCheck () {\n // TODO\n return 'success'\n}\n\nfunction appendFetchMetadata (httpRequest) {\n // https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-dest-header\n // TODO\n\n // https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-mode-header\n\n // 1. Assert: r\u2019s url is a potentially trustworthy URL.\n // TODO\n\n // 2. Let header be a Structured Header whose value is a token.\n let header = null\n\n // 3. Set header\u2019s value to r\u2019s mode.\n header = httpRequest.mode\n\n // 4. Set a structured field value `Sec-Fetch-Mode`/header in r\u2019s header list.\n httpRequest.headersList.set('sec-fetch-mode', header)\n\n // https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-site-header\n // TODO\n\n // https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-user-header\n // TODO\n}\n\n// https://fetch.spec.whatwg.org/#append-a-request-origin-header\nfunction appendRequestOriginHeader (request) {\n // 1. Let serializedOrigin be the result of byte-serializing a request origin with request.\n let serializedOrigin = request.origin\n\n // 2. If request\u2019s response tainting is \"cors\" or request\u2019s mode is \"websocket\", then append (`Origin`, serializedOrigin) to request\u2019s header list.\n if (request.responseTainting === 'cors' || request.mode === 'websocket') {\n if (serializedOrigin) {\n request.headersList.append('origin', serializedOrigin)\n }\n\n // 3. Otherwise, if request\u2019s method is neither `GET` nor `HEAD`, then:\n } else if (request.method !== 'GET' && request.method !== 'HEAD') {\n // 1. Switch on request\u2019s referrer policy:\n switch (request.referrerPolicy) {\n case 'no-referrer':\n // Set serializedOrigin to `null`.\n serializedOrigin = null\n break\n case 'no-referrer-when-downgrade':\n case 'strict-origin':\n case 'strict-origin-when-cross-origin':\n // If request\u2019s origin is a tuple origin, its scheme is \"https\", and request\u2019s current URL\u2019s scheme is not \"https\", then set serializedOrigin to `null`.\n if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) {\n serializedOrigin = null\n }\n break\n case 'same-origin':\n // If request\u2019s origin is not same origin with request\u2019s current URL\u2019s origin, then set serializedOrigin to `null`.\n if (!sameOrigin(request, requestCurrentURL(request))) {\n serializedOrigin = null\n }\n break\n default:\n // Do nothing.\n }\n\n if (serializedOrigin) {\n // 2. Append (`Origin`, serializedOrigin) to request\u2019s header list.\n request.headersList.append('origin', serializedOrigin)\n }\n }\n}\n\nfunction coarsenedSharedCurrentTime (crossOriginIsolatedCapability) {\n // TODO\n return performance.now()\n}\n\n// https://fetch.spec.whatwg.org/#create-an-opaque-timing-info\nfunction createOpaqueTimingInfo (timingInfo) {\n return {\n startTime: timingInfo.startTime ?? 0,\n redirectStartTime: 0,\n redirectEndTime: 0,\n postRedirectStartTime: timingInfo.startTime ?? 0,\n finalServiceWorkerStartTime: 0,\n finalNetworkResponseStartTime: 0,\n finalNetworkRequestStartTime: 0,\n endTime: 0,\n encodedBodySize: 0,\n decodedBodySize: 0,\n finalConnectionTimingInfo: null\n }\n}\n\n// https://html.spec.whatwg.org/multipage/origin.html#policy-container\nfunction makePolicyContainer () {\n // Note: the fetch spec doesn't make use of embedder policy or CSP list\n return {\n referrerPolicy: 'strict-origin-when-cross-origin'\n }\n}\n\n// https://html.spec.whatwg.org/multipage/origin.html#clone-a-policy-container\nfunction clonePolicyContainer (policyContainer) {\n return {\n referrerPolicy: policyContainer.referrerPolicy\n }\n}\n\n// https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer\nfunction determineRequestsReferrer (request) {\n // 1. Let policy be request's referrer policy.\n const policy = request.referrerPolicy\n\n // Note: policy cannot (shouldn't) be null or an empty string.\n assert(policy)\n\n // 2. Let environment be request\u2019s client.\n\n let referrerSource = null\n\n // 3. Switch on request\u2019s referrer:\n if (request.referrer === 'client') {\n // Note: node isn't a browser and doesn't implement document/iframes,\n // so we bypass this step and replace it with our own.\n\n const globalOrigin = getGlobalOrigin()\n\n if (!globalOrigin || globalOrigin.origin === 'null') {\n return 'no-referrer'\n }\n\n // note: we need to clone it as it's mutated\n referrerSource = new URL(globalOrigin)\n } else if (request.referrer instanceof URL) {\n // Let referrerSource be request\u2019s referrer.\n referrerSource = request.referrer\n }\n\n // 4. Let request\u2019s referrerURL be the result of stripping referrerSource for\n // use as a referrer.\n let referrerURL = stripURLForReferrer(referrerSource)\n\n // 5. Let referrerOrigin be the result of stripping referrerSource for use as\n // a referrer, with the origin-only flag set to true.\n const referrerOrigin = stripURLForReferrer(referrerSource, true)\n\n // 6. If the result of serializing referrerURL is a string whose length is\n // greater than 4096, set referrerURL to referrerOrigin.\n if (referrerURL.toString().length > 4096) {\n referrerURL = referrerOrigin\n }\n\n const areSameOrigin = sameOrigin(request, referrerURL)\n const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) &&\n !isURLPotentiallyTrustworthy(request.url)\n\n // 8. Execute the switch statements corresponding to the value of policy:\n switch (policy) {\n case 'origin': return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true)\n case 'unsafe-url': return referrerURL\n case 'same-origin':\n return areSameOrigin ? referrerOrigin : 'no-referrer'\n case 'origin-when-cross-origin':\n return areSameOrigin ? referrerURL : referrerOrigin\n case 'strict-origin-when-cross-origin': {\n const currentURL = requestCurrentURL(request)\n\n // 1. If the origin of referrerURL and the origin of request\u2019s current\n // URL are the same, then return referrerURL.\n if (sameOrigin(referrerURL, currentURL)) {\n return referrerURL\n }\n\n // 2. If referrerURL is a potentially trustworthy URL and request\u2019s\n // current URL is not a potentially trustworthy URL, then return no\n // referrer.\n if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {\n return 'no-referrer'\n }\n\n // 3. Return referrerOrigin.\n return referrerOrigin\n }\n case 'strict-origin': // eslint-disable-line\n /**\n * 1. If referrerURL is a potentially trustworthy URL and\n * request\u2019s current URL is not a potentially trustworthy URL,\n * then return no referrer.\n * 2. Return referrerOrigin\n */\n case 'no-referrer-when-downgrade': // eslint-disable-line\n /**\n * 1. If referrerURL is a potentially trustworthy URL and\n * request\u2019s current URL is not a potentially trustworthy URL,\n * then return no referrer.\n * 2. Return referrerOrigin\n */\n\n default: // eslint-disable-line\n return isNonPotentiallyTrustWorthy ? 'no-referrer' : referrerOrigin\n }\n}\n\n/**\n * @see https://w3c.github.io/webappsec-referrer-policy/#strip-url\n * @param {URL} url\n * @param {boolean|undefined} originOnly\n */\nfunction stripURLForReferrer (url, originOnly) {\n // 1. Assert: url is a URL.\n assert(url instanceof URL)\n\n // 2. If url\u2019s scheme is a local scheme, then return no referrer.\n if (url.protocol === 'file:' || url.protocol === 'about:' || url.protocol === 'blank:') {\n return 'no-referrer'\n }\n\n // 3. Set url\u2019s username to the empty string.\n url.username = ''\n\n // 4. Set url\u2019s password to the empty string.\n url.password = ''\n\n // 5. Set url\u2019s fragment to null.\n url.hash = ''\n\n // 6. If the origin-only flag is true, then:\n if (originOnly) {\n // 1. Set url\u2019s path to \u00AB the empty string \u00BB.\n url.pathname = ''\n\n // 2. Set url\u2019s query to null.\n url.search = ''\n }\n\n // 7. Return url.\n return url\n}\n\nfunction isURLPotentiallyTrustworthy (url) {\n if (!(url instanceof URL)) {\n return false\n }\n\n // If child of about, return true\n if (url.href === 'about:blank' || url.href === 'about:srcdoc') {\n return true\n }\n\n // If scheme is data, return true\n if (url.protocol === 'data:') return true\n\n // If file, return true\n if (url.protocol === 'file:') return true\n\n return isOriginPotentiallyTrustworthy(url.origin)\n\n function isOriginPotentiallyTrustworthy (origin) {\n // If origin is explicitly null, return false\n if (origin == null || origin === 'null') return false\n\n const originAsURL = new URL(origin)\n\n // If secure, return true\n if (originAsURL.protocol === 'https:' || originAsURL.protocol === 'wss:') {\n return true\n }\n\n // If localhost or variants, return true\n if (/^127(?:\\.[0-9]+){0,2}\\.[0-9]+$|^\\[(?:0*:)*?:?0*1\\]$/.test(originAsURL.hostname) ||\n (originAsURL.hostname === 'localhost' || originAsURL.hostname.includes('localhost.')) ||\n (originAsURL.hostname.endsWith('.localhost'))) {\n return true\n }\n\n // If any other, return false\n return false\n }\n}\n\n/**\n * @see https://w3c.github.io/webappsec-subresource-integrity/#does-response-match-metadatalist\n * @param {Uint8Array} bytes\n * @param {string} metadataList\n */\nfunction bytesMatch (bytes, metadataList) {\n // If node is not built with OpenSSL support, we cannot check\n // a request's integrity, so allow it by default (the spec will\n // allow requests if an invalid hash is given, as precedence).\n /* istanbul ignore if: only if node is built with --without-ssl */\n if (crypto === undefined) {\n return true\n }\n\n // 1. Let parsedMetadata be the result of parsing metadataList.\n const parsedMetadata = parseMetadata(metadataList)\n\n // 2. If parsedMetadata is no metadata, return true.\n if (parsedMetadata === 'no metadata') {\n return true\n }\n\n // 3. If parsedMetadata is the empty set, return true.\n if (parsedMetadata.length === 0) {\n return true\n }\n\n // 4. Let metadata be the result of getting the strongest\n // metadata from parsedMetadata.\n const list = parsedMetadata.sort((c, d) => d.algo.localeCompare(c.algo))\n // get the strongest algorithm\n const strongest = list[0].algo\n // get all entries that use the strongest algorithm; ignore weaker\n const metadata = list.filter((item) => item.algo === strongest)\n\n // 5. For each item in metadata:\n for (const item of metadata) {\n // 1. Let algorithm be the alg component of item.\n const algorithm = item.algo\n\n // 2. Let expectedValue be the val component of item.\n const expectedValue = item.hash\n\n // 3. Let actualValue be the result of applying algorithm to bytes.\n const actualValue = crypto.createHash(algorithm).update(bytes).digest('base64')\n\n // 4. If actualValue is a case-sensitive match for expectedValue,\n // return true.\n if (actualValue === expectedValue) {\n return true\n }\n }\n\n // 6. Return false.\n return false\n}\n\n// https://w3c.github.io/webappsec-subresource-integrity/#grammardef-hash-with-options\n// https://www.w3.org/TR/CSP2/#source-list-syntax\n// https://www.rfc-editor.org/rfc/rfc5234#appendix-B.1\nconst parseHashWithOptions = /((?<algo>sha256|sha384|sha512)-(?<hash>[A-z0-9+/]{1}.*={0,2}))( +[\\x21-\\x7e]?)?/i\n\n/**\n * @see https://w3c.github.io/webappsec-subresource-integrity/#parse-metadata\n * @param {string} metadata\n */\nfunction parseMetadata (metadata) {\n // 1. Let result be the empty set.\n /** @type {{ algo: string, hash: string }[]} */\n const result = []\n\n // 2. Let empty be equal to true.\n let empty = true\n\n const supportedHashes = crypto.getHashes()\n\n // 3. For each token returned by splitting metadata on spaces:\n for (const token of metadata.split(' ')) {\n // 1. Set empty to false.\n empty = false\n\n // 2. Parse token as a hash-with-options.\n const parsedToken = parseHashWithOptions.exec(token)\n\n // 3. If token does not parse, continue to the next token.\n if (parsedToken === null || parsedToken.groups === undefined) {\n // Note: Chromium blocks the request at this point, but Firefox\n // gives a warning that an invalid integrity was given. The\n // correct behavior is to ignore these, and subsequently not\n // check the integrity of the resource.\n continue\n }\n\n // 4. Let algorithm be the hash-algo component of token.\n const algorithm = parsedToken.groups.algo\n\n // 5. If algorithm is a hash function recognized by the user\n // agent, add the parsed token to result.\n if (supportedHashes.includes(algorithm.toLowerCase())) {\n result.push(parsedToken.groups)\n }\n }\n\n // 4. Return no metadata if empty is true, otherwise return result.\n if (empty === true) {\n return 'no metadata'\n }\n\n return result\n}\n\n// https://w3c.github.io/webappsec-upgrade-insecure-requests/#upgrade-request\nfunction tryUpgradeRequestToAPotentiallyTrustworthyURL (request) {\n // TODO\n}\n\n/**\n * @link {https://html.spec.whatwg.org/multipage/origin.html#same-origin}\n * @param {URL} A\n * @param {URL} B\n */\nfunction sameOrigin (A, B) {\n // 1. If A and B are the same opaque origin, then return true.\n if (A.origin === B.origin && A.origin === 'null') {\n return true\n }\n\n // 2. If A and B are both tuple origins and their schemes,\n // hosts, and port are identical, then return true.\n if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {\n return true\n }\n\n // 3. Return false.\n return false\n}\n\nfunction createDeferredPromise () {\n let res\n let rej\n const promise = new Promise((resolve, reject) => {\n res = resolve\n rej = reject\n })\n\n return { promise, resolve: res, reject: rej }\n}\n\nfunction isAborted (fetchParams) {\n return fetchParams.controller.state === 'aborted'\n}\n\nfunction isCancelled (fetchParams) {\n return fetchParams.controller.state === 'aborted' ||\n fetchParams.controller.state === 'terminated'\n}\n\n// https://fetch.spec.whatwg.org/#concept-method-normalize\nfunction normalizeMethod (method) {\n return /^(DELETE|GET|HEAD|OPTIONS|POST|PUT)$/i.test(method)\n ? method.toUpperCase()\n : method\n}\n\n// https://infra.spec.whatwg.org/#serialize-a-javascript-value-to-a-json-string\nfunction serializeJavascriptValueToJSONString (value) {\n // 1. Let result be ? Call(%JSON.stringify%, undefined, \u00AB value \u00BB).\n const result = JSON.stringify(value)\n\n // 2. If result is undefined, then throw a TypeError.\n if (result === undefined) {\n throw new TypeError('Value is not JSON serializable')\n }\n\n // 3. Assert: result is a string.\n assert(typeof result === 'string')\n\n // 4. Return result.\n return result\n}\n\n// https://tc39.es/ecma262/#sec-%25iteratorprototype%25-object\nconst esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))\n\n/**\n * @see https://webidl.spec.whatwg.org/#dfn-iterator-prototype-object\n * @param {() => unknown[]} iterator\n * @param {string} name name of the instance\n * @param {'key'|'value'|'key+value'} kind\n */\nfunction makeIterator (iterator, name, kind) {\n const object = {\n index: 0,\n kind,\n target: iterator\n }\n\n const i = {\n next () {\n // 1. Let interface be the interface for which the iterator prototype object exists.\n\n // 2. Let thisValue be the this value.\n\n // 3. Let object be ? ToObject(thisValue).\n\n // 4. If object is a platform object, then perform a security\n // check, passing:\n\n // 5. If object is not a default iterator object for interface,\n // then throw a TypeError.\n if (Object.getPrototypeOf(this) !== i) {\n throw new TypeError(\n `'next' called on an object that does not implement interface ${name} Iterator.`\n )\n }\n\n // 6. Let index be object\u2019s index.\n // 7. Let kind be object\u2019s kind.\n // 8. Let values be object\u2019s target's value pairs to iterate over.\n const { index, kind, target } = object\n const values = target()\n\n // 9. Let len be the length of values.\n const len = values.length\n\n // 10. If index is greater than or equal to len, then return\n // CreateIterResultObject(undefined, true).\n if (index >= len) {\n return { value: undefined, done: true }\n }\n\n // 11. Let pair be the entry in values at index index.\n const pair = values[index]\n\n // 12. Set object\u2019s index to index + 1.\n object.index = index + 1\n\n // 13. Return the iterator result for pair and kind.\n return iteratorResult(pair, kind)\n },\n // The class string of an iterator prototype object for a given interface is the\n // result of concatenating the identifier of the interface and the string \" Iterator\".\n [Symbol.toStringTag]: `${name} Iterator`\n }\n\n // The [[Prototype]] internal slot of an iterator prototype object must be %IteratorPrototype%.\n Object.setPrototypeOf(i, esIteratorPrototype)\n // esIteratorPrototype needs to be the prototype of i\n // which is the prototype of an empty object. Yes, it's confusing.\n return Object.setPrototypeOf({}, i)\n}\n\n// https://webidl.spec.whatwg.org/#iterator-result\nfunction iteratorResult (pair, kind) {\n let result\n\n // 1. Let result be a value determined by the value of kind:\n switch (kind) {\n case 'key': {\n // 1. Let idlKey be pair\u2019s key.\n // 2. Let key be the result of converting idlKey to an\n // ECMAScript value.\n // 3. result is key.\n result = pair[0]\n break\n }\n case 'value': {\n // 1. Let idlValue be pair\u2019s value.\n // 2. Let value be the result of converting idlValue to\n // an ECMAScript value.\n // 3. result is value.\n result = pair[1]\n break\n }\n case 'key+value': {\n // 1. Let idlKey be pair\u2019s key.\n // 2. Let idlValue be pair\u2019s value.\n // 3. Let key be the result of converting idlKey to an\n // ECMAScript value.\n // 4. Let value be the result of converting idlValue to\n // an ECMAScript value.\n // 5. Let array be ! ArrayCreate(2).\n // 6. Call ! CreateDataProperty(array, \"0\", key).\n // 7. Call ! CreateDataProperty(array, \"1\", value).\n // 8. result is array.\n result = pair\n break\n }\n }\n\n // 2. Return CreateIterResultObject(result, false).\n return { value: result, done: false }\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#body-fully-read\n */\nfunction fullyReadBody (body, processBody, processBodyError) {\n // 1. If taskDestination is null, then set taskDestination to\n // the result of starting a new parallel queue.\n\n // 2. Let successSteps given a byte sequence bytes be to queue a\n // fetch task to run processBody given bytes, with taskDestination.\n const successSteps = (bytes) => queueMicrotask(() => processBody(bytes))\n\n // 3. Let errorSteps be to queue a fetch task to run processBodyError,\n // with taskDestination.\n const errorSteps = (error) => queueMicrotask(() => processBodyError(error))\n\n // 4. Let reader be the result of getting a reader for body\u2019s stream.\n // If that threw an exception, then run errorSteps with that\n // exception and return.\n let reader\n\n try {\n reader = body.stream.getReader()\n } catch (e) {\n errorSteps(e)\n return\n }\n\n // 5. Read all bytes from reader, given successSteps and errorSteps.\n readAllBytes(reader, successSteps, errorSteps)\n}\n\n/** @type {ReadableStream} */\nlet ReadableStream = globalThis.ReadableStream\n\nfunction isReadableStreamLike (stream) {\n if (!ReadableStream) {\n ReadableStream = require('stream/web').ReadableStream\n }\n\n return stream instanceof ReadableStream || (\n stream[Symbol.toStringTag] === 'ReadableStream' &&\n typeof stream.tee === 'function'\n )\n}\n\nconst MAXIMUM_ARGUMENT_LENGTH = 65535\n\n/**\n * @see https://infra.spec.whatwg.org/#isomorphic-decode\n * @param {number[]|Uint8Array} input\n */\nfunction isomorphicDecode (input) {\n // 1. To isomorphic decode a byte sequence input, return a string whose code point\n // length is equal to input\u2019s length and whose code points have the same values\n // as the values of input\u2019s bytes, in the same order.\n\n if (input.length < MAXIMUM_ARGUMENT_LENGTH) {\n return String.fromCharCode(...input)\n }\n\n return input.reduce((previous, current) => previous + String.fromCharCode(current), '')\n}\n\n/**\n * @param {ReadableStreamController<Uint8Array>} controller\n */\nfunction readableStreamClose (controller) {\n try {\n controller.close()\n } catch (err) {\n // TODO: add comment explaining why this error occurs.\n if (!err.message.includes('Controller is already closed')) {\n throw err\n }\n }\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#isomorphic-encode\n * @param {string} input\n */\nfunction isomorphicEncode (input) {\n // 1. Assert: input contains no code points greater than U+00FF.\n for (let i = 0; i < input.length; i++) {\n assert(input.charCodeAt(i) <= 0xFF)\n }\n\n // 2. Return a byte sequence whose length is equal to input\u2019s code\n // point length and whose bytes have the same values as the\n // values of input\u2019s code points, in the same order\n return input\n}\n\n/**\n * @see https://streams.spec.whatwg.org/#readablestreamdefaultreader-read-all-bytes\n * @see https://streams.spec.whatwg.org/#read-loop\n * @param {ReadableStreamDefaultReader} reader\n * @param {(bytes: Uint8Array) => void} successSteps\n * @param {(error: Error) => void} failureSteps\n */\nasync function readAllBytes (reader, successSteps, failureSteps) {\n const bytes = []\n let byteLength = 0\n\n while (true) {\n let done\n let chunk\n\n try {\n ({ done, value: chunk } = await reader.read())\n } catch (e) {\n // 1. Call failureSteps with e.\n failureSteps(e)\n return\n }\n\n if (done) {\n // 1. Call successSteps with bytes.\n successSteps(Buffer.concat(bytes, byteLength))\n return\n }\n\n // 1. If chunk is not a Uint8Array object, call failureSteps\n // with a TypeError and abort these steps.\n if (!isUint8Array(chunk)) {\n failureSteps(new TypeError('Received non-Uint8Array chunk'))\n return\n }\n\n // 2. Append the bytes represented by chunk to bytes.\n bytes.push(chunk)\n byteLength += chunk.length\n\n // 3. Read-loop given reader, bytes, successSteps, and failureSteps.\n }\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#is-local\n * @param {URL} url\n */\nfunction urlIsLocal (url) {\n assert('protocol' in url) // ensure it's a url object\n\n const protocol = url.protocol\n\n return protocol === 'about:' || protocol === 'blob:' || protocol === 'data:'\n}\n\n/**\n * @param {string|URL} url\n */\nfunction urlHasHttpsScheme (url) {\n if (typeof url === 'string') {\n return url.startsWith('https:')\n }\n\n return url.protocol === 'https:'\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#http-scheme\n * @param {URL} url\n */\nfunction urlIsHttpHttpsScheme (url) {\n assert('protocol' in url) // ensure it's a url object\n\n const protocol = url.protocol\n\n return protocol === 'http:' || protocol === 'https:'\n}\n\n/**\n * Fetch supports node >= 16.8.0, but Object.hasOwn was added in v16.9.0.\n */\nconst hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key))\n\nmodule.exports = {\n isAborted,\n isCancelled,\n createDeferredPromise,\n ReadableStreamFrom,\n toUSVString,\n tryUpgradeRequestToAPotentiallyTrustworthyURL,\n coarsenedSharedCurrentTime,\n determineRequestsReferrer,\n makePolicyContainer,\n clonePolicyContainer,\n appendFetchMetadata,\n appendRequestOriginHeader,\n TAOCheck,\n corsCheck,\n crossOriginResourcePolicyCheck,\n createOpaqueTimingInfo,\n setRequestReferrerPolicyOnRedirect,\n isValidHTTPToken,\n requestBadPort,\n requestCurrentURL,\n responseURL,\n responseLocationURL,\n isBlobLike,\n isURLPotentiallyTrustworthy,\n isValidReasonPhrase,\n sameOrigin,\n normalizeMethod,\n serializeJavascriptValueToJSONString,\n makeIterator,\n isValidHeaderName,\n isValidHeaderValue,\n hasOwn,\n isErrorLike,\n fullyReadBody,\n bytesMatch,\n isReadableStreamLike,\n readableStreamClose,\n isomorphicEncode,\n isomorphicDecode,\n urlIsLocal,\n urlHasHttpsScheme,\n urlIsHttpHttpsScheme,\n readAllBytes\n}\n", "'use strict'\n\nmodule.exports = {\n kUrl: Symbol('url'),\n kHeaders: Symbol('headers'),\n kSignal: Symbol('signal'),\n kState: Symbol('state'),\n kGuard: Symbol('guard'),\n kRealm: Symbol('realm')\n}\n", "'use strict'\n\nconst { types } = require('util')\nconst { hasOwn, toUSVString } = require('./util')\n\n/** @type {import('../../types/webidl').Webidl} */\nconst webidl = {}\nwebidl.converters = {}\nwebidl.util = {}\nwebidl.errors = {}\n\nwebidl.errors.exception = function (message) {\n return new TypeError(`${message.header}: ${message.message}`)\n}\n\nwebidl.errors.conversionFailed = function (context) {\n const plural = context.types.length === 1 ? '' : ' one of'\n const message =\n `${context.argument} could not be converted to` +\n `${plural}: ${context.types.join(', ')}.`\n\n return webidl.errors.exception({\n header: context.prefix,\n message\n })\n}\n\nwebidl.errors.invalidArgument = function (context) {\n return webidl.errors.exception({\n header: context.prefix,\n message: `\"${context.value}\" is an invalid ${context.type}.`\n })\n}\n\n// https://webidl.spec.whatwg.org/#implements\nwebidl.brandCheck = function (V, I, opts = undefined) {\n if (opts?.strict !== false && !(V instanceof I)) {\n throw new TypeError('Illegal invocation')\n } else {\n return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag]\n }\n}\n\nwebidl.argumentLengthCheck = function ({ length }, min, ctx) {\n if (length < min) {\n throw webidl.errors.exception({\n message: `${min} argument${min !== 1 ? 's' : ''} required, ` +\n `but${length ? ' only' : ''} ${length} found.`,\n ...ctx\n })\n }\n}\n\nwebidl.illegalConstructor = function () {\n throw webidl.errors.exception({\n header: 'TypeError',\n message: 'Illegal constructor'\n })\n}\n\n// https://tc39.es/ecma262/#sec-ecmascript-data-types-and-values\nwebidl.util.Type = function (V) {\n switch (typeof V) {\n case 'undefined': return 'Undefined'\n case 'boolean': return 'Boolean'\n case 'string': return 'String'\n case 'symbol': return 'Symbol'\n case 'number': return 'Number'\n case 'bigint': return 'BigInt'\n case 'function':\n case 'object': {\n if (V === null) {\n return 'Null'\n }\n\n return 'Object'\n }\n }\n}\n\n// https://webidl.spec.whatwg.org/#abstract-opdef-converttoint\nwebidl.util.ConvertToInt = function (V, bitLength, signedness, opts = {}) {\n let upperBound\n let lowerBound\n\n // 1. If bitLength is 64, then:\n if (bitLength === 64) {\n // 1. Let upperBound be 2^53 \u2212 1.\n upperBound = Math.pow(2, 53) - 1\n\n // 2. If signedness is \"unsigned\", then let lowerBound be 0.\n if (signedness === 'unsigned') {\n lowerBound = 0\n } else {\n // 3. Otherwise let lowerBound be \u22122^53 + 1.\n lowerBound = Math.pow(-2, 53) + 1\n }\n } else if (signedness === 'unsigned') {\n // 2. Otherwise, if signedness is \"unsigned\", then:\n\n // 1. Let lowerBound be 0.\n lowerBound = 0\n\n // 2. Let upperBound be 2^bitLength \u2212 1.\n upperBound = Math.pow(2, bitLength) - 1\n } else {\n // 3. Otherwise:\n\n // 1. Let lowerBound be -2^bitLength \u2212 1.\n lowerBound = Math.pow(-2, bitLength) - 1\n\n // 2. Let upperBound be 2^bitLength \u2212 1 \u2212 1.\n upperBound = Math.pow(2, bitLength - 1) - 1\n }\n\n // 4. Let x be ? ToNumber(V).\n let x = Number(V)\n\n // 5. If x is \u22120, then set x to +0.\n if (x === 0) {\n x = 0\n }\n\n // 6. If the conversion is to an IDL type associated\n // with the [EnforceRange] extended attribute, then:\n if (opts.enforceRange === true) {\n // 1. If x is NaN, +\u221E, or \u2212\u221E, then throw a TypeError.\n if (\n Number.isNaN(x) ||\n x === Number.POSITIVE_INFINITY ||\n x === Number.NEGATIVE_INFINITY\n ) {\n throw webidl.errors.exception({\n header: 'Integer conversion',\n message: `Could not convert ${V} to an integer.`\n })\n }\n\n // 2. Set x to IntegerPart(x).\n x = webidl.util.IntegerPart(x)\n\n // 3. If x < lowerBound or x > upperBound, then\n // throw a TypeError.\n if (x < lowerBound || x > upperBound) {\n throw webidl.errors.exception({\n header: 'Integer conversion',\n message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`\n })\n }\n\n // 4. Return x.\n return x\n }\n\n // 7. If x is not NaN and the conversion is to an IDL\n // type associated with the [Clamp] extended\n // attribute, then:\n if (!Number.isNaN(x) && opts.clamp === true) {\n // 1. Set x to min(max(x, lowerBound), upperBound).\n x = Math.min(Math.max(x, lowerBound), upperBound)\n\n // 2. Round x to the nearest integer, choosing the\n // even integer if it lies halfway between two,\n // and choosing +0 rather than \u22120.\n if (Math.floor(x) % 2 === 0) {\n x = Math.floor(x)\n } else {\n x = Math.ceil(x)\n }\n\n // 3. Return x.\n return x\n }\n\n // 8. If x is NaN, +0, +\u221E, or \u2212\u221E, then return +0.\n if (\n Number.isNaN(x) ||\n (x === 0 && Object.is(0, x)) ||\n x === Number.POSITIVE_INFINITY ||\n x === Number.NEGATIVE_INFINITY\n ) {\n return 0\n }\n\n // 9. Set x to IntegerPart(x).\n x = webidl.util.IntegerPart(x)\n\n // 10. Set x to x modulo 2^bitLength.\n x = x % Math.pow(2, bitLength)\n\n // 11. If signedness is \"signed\" and x \u2265 2^bitLength \u2212 1,\n // then return x \u2212 2^bitLength.\n if (signedness === 'signed' && x >= Math.pow(2, bitLength) - 1) {\n return x - Math.pow(2, bitLength)\n }\n\n // 12. Otherwise, return x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#abstract-opdef-integerpart\nwebidl.util.IntegerPart = function (n) {\n // 1. Let r be floor(abs(n)).\n const r = Math.floor(Math.abs(n))\n\n // 2. If n < 0, then return -1 \u00D7 r.\n if (n < 0) {\n return -1 * r\n }\n\n // 3. Otherwise, return r.\n return r\n}\n\n// https://webidl.spec.whatwg.org/#es-sequence\nwebidl.sequenceConverter = function (converter) {\n return (V) => {\n // 1. If Type(V) is not Object, throw a TypeError.\n if (webidl.util.Type(V) !== 'Object') {\n throw webidl.errors.exception({\n header: 'Sequence',\n message: `Value of type ${webidl.util.Type(V)} is not an Object.`\n })\n }\n\n // 2. Let method be ? GetMethod(V, @@iterator).\n /** @type {Generator} */\n const method = V?.[Symbol.iterator]?.()\n const seq = []\n\n // 3. If method is undefined, throw a TypeError.\n if (\n method === undefined ||\n typeof method.next !== 'function'\n ) {\n throw webidl.errors.exception({\n header: 'Sequence',\n message: 'Object is not an iterator.'\n })\n }\n\n // https://webidl.spec.whatwg.org/#create-sequence-from-iterable\n while (true) {\n const { done, value } = method.next()\n\n if (done) {\n break\n }\n\n seq.push(converter(value))\n }\n\n return seq\n }\n}\n\n// https://webidl.spec.whatwg.org/#es-to-record\nwebidl.recordConverter = function (keyConverter, valueConverter) {\n return (O) => {\n // 1. If Type(O) is not Object, throw a TypeError.\n if (webidl.util.Type(O) !== 'Object') {\n throw webidl.errors.exception({\n header: 'Record',\n message: `Value of type ${webidl.util.Type(O)} is not an Object.`\n })\n }\n\n // 2. Let result be a new empty instance of record<K, V>.\n const result = {}\n\n if (!types.isProxy(O)) {\n // Object.keys only returns enumerable properties\n const keys = Object.keys(O)\n\n for (const key of keys) {\n // 1. Let typedKey be key converted to an IDL value of type K.\n const typedKey = keyConverter(key)\n\n // 2. Let value be ? Get(O, key).\n // 3. Let typedValue be value converted to an IDL value of type V.\n const typedValue = valueConverter(O[key])\n\n // 4. Set result[typedKey] to typedValue.\n result[typedKey] = typedValue\n }\n\n // 5. Return result.\n return result\n }\n\n // 3. Let keys be ? O.[[OwnPropertyKeys]]().\n const keys = Reflect.ownKeys(O)\n\n // 4. For each key of keys.\n for (const key of keys) {\n // 1. Let desc be ? O.[[GetOwnProperty]](key).\n const desc = Reflect.getOwnPropertyDescriptor(O, key)\n\n // 2. If desc is not undefined and desc.[[Enumerable]] is true:\n if (desc?.enumerable) {\n // 1. Let typedKey be key converted to an IDL value of type K.\n const typedKey = keyConverter(key)\n\n // 2. Let value be ? Get(O, key).\n // 3. Let typedValue be value converted to an IDL value of type V.\n const typedValue = valueConverter(O[key])\n\n // 4. Set result[typedKey] to typedValue.\n result[typedKey] = typedValue\n }\n }\n\n // 5. Return result.\n return result\n }\n}\n\nwebidl.interfaceConverter = function (i) {\n return (V, opts = {}) => {\n if (opts.strict !== false && !(V instanceof i)) {\n throw webidl.errors.exception({\n header: i.name,\n message: `Expected ${V} to be an instance of ${i.name}.`\n })\n }\n\n return V\n }\n}\n\nwebidl.dictionaryConverter = function (converters) {\n return (dictionary) => {\n const type = webidl.util.Type(dictionary)\n const dict = {}\n\n if (type === 'Null' || type === 'Undefined') {\n return dict\n } else if (type !== 'Object') {\n throw webidl.errors.exception({\n header: 'Dictionary',\n message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`\n })\n }\n\n for (const options of converters) {\n const { key, defaultValue, required, converter } = options\n\n if (required === true) {\n if (!hasOwn(dictionary, key)) {\n throw webidl.errors.exception({\n header: 'Dictionary',\n message: `Missing required key \"${key}\".`\n })\n }\n }\n\n let value = dictionary[key]\n const hasDefault = hasOwn(options, 'defaultValue')\n\n // Only use defaultValue if value is undefined and\n // a defaultValue options was provided.\n if (hasDefault && value !== null) {\n value = value ?? defaultValue\n }\n\n // A key can be optional and have no default value.\n // When this happens, do not perform a conversion,\n // and do not assign the key a value.\n if (required || hasDefault || value !== undefined) {\n value = converter(value)\n\n if (\n options.allowedValues &&\n !options.allowedValues.includes(value)\n ) {\n throw webidl.errors.exception({\n header: 'Dictionary',\n message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(', ')}.`\n })\n }\n\n dict[key] = value\n }\n }\n\n return dict\n }\n}\n\nwebidl.nullableConverter = function (converter) {\n return (V) => {\n if (V === null) {\n return V\n }\n\n return converter(V)\n }\n}\n\n// https://webidl.spec.whatwg.org/#es-DOMString\nwebidl.converters.DOMString = function (V, opts = {}) {\n // 1. If V is null and the conversion is to an IDL type\n // associated with the [LegacyNullToEmptyString]\n // extended attribute, then return the DOMString value\n // that represents the empty string.\n if (V === null && opts.legacyNullToEmptyString) {\n return ''\n }\n\n // 2. Let x be ? ToString(V).\n if (typeof V === 'symbol') {\n throw new TypeError('Could not convert argument of type symbol to string.')\n }\n\n // 3. Return the IDL DOMString value that represents the\n // same sequence of code units as the one the\n // ECMAScript String value x represents.\n return String(V)\n}\n\n// https://webidl.spec.whatwg.org/#es-ByteString\nwebidl.converters.ByteString = function (V) {\n // 1. Let x be ? ToString(V).\n // Note: DOMString converter perform ? ToString(V)\n const x = webidl.converters.DOMString(V)\n\n // 2. If the value of any element of x is greater than\n // 255, then throw a TypeError.\n for (let index = 0; index < x.length; index++) {\n const charCode = x.charCodeAt(index)\n\n if (charCode > 255) {\n throw new TypeError(\n 'Cannot convert argument to a ByteString because the character at ' +\n `index ${index} has a value of ${charCode} which is greater than 255.`\n )\n }\n }\n\n // 3. Return an IDL ByteString value whose length is the\n // length of x, and where the value of each element is\n // the value of the corresponding element of x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#es-USVString\nwebidl.converters.USVString = toUSVString\n\n// https://webidl.spec.whatwg.org/#es-boolean\nwebidl.converters.boolean = function (V) {\n // 1. Let x be the result of computing ToBoolean(V).\n const x = Boolean(V)\n\n // 2. Return the IDL boolean value that is the one that represents\n // the same truth value as the ECMAScript Boolean value x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#es-any\nwebidl.converters.any = function (V) {\n return V\n}\n\n// https://webidl.spec.whatwg.org/#es-long-long\nwebidl.converters['long long'] = function (V) {\n // 1. Let x be ? ConvertToInt(V, 64, \"signed\").\n const x = webidl.util.ConvertToInt(V, 64, 'signed')\n\n // 2. Return the IDL long long value that represents\n // the same numeric value as x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#es-unsigned-long-long\nwebidl.converters['unsigned long long'] = function (V) {\n // 1. Let x be ? ConvertToInt(V, 64, \"unsigned\").\n const x = webidl.util.ConvertToInt(V, 64, 'unsigned')\n\n // 2. Return the IDL unsigned long long value that\n // represents the same numeric value as x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#es-unsigned-long\nwebidl.converters['unsigned long'] = function (V) {\n // 1. Let x be ? ConvertToInt(V, 32, \"unsigned\").\n const x = webidl.util.ConvertToInt(V, 32, 'unsigned')\n\n // 2. Return the IDL unsigned long value that\n // represents the same numeric value as x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#es-unsigned-short\nwebidl.converters['unsigned short'] = function (V, opts) {\n // 1. Let x be ? ConvertToInt(V, 16, \"unsigned\").\n const x = webidl.util.ConvertToInt(V, 16, 'unsigned', opts)\n\n // 2. Return the IDL unsigned short value that represents\n // the same numeric value as x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#idl-ArrayBuffer\nwebidl.converters.ArrayBuffer = function (V, opts = {}) {\n // 1. If Type(V) is not Object, or V does not have an\n // [[ArrayBufferData]] internal slot, then throw a\n // TypeError.\n // see: https://tc39.es/ecma262/#sec-properties-of-the-arraybuffer-instances\n // see: https://tc39.es/ecma262/#sec-properties-of-the-sharedarraybuffer-instances\n if (\n webidl.util.Type(V) !== 'Object' ||\n !types.isAnyArrayBuffer(V)\n ) {\n throw webidl.errors.conversionFailed({\n prefix: `${V}`,\n argument: `${V}`,\n types: ['ArrayBuffer']\n })\n }\n\n // 2. If the conversion is not to an IDL type associated\n // with the [AllowShared] extended attribute, and\n // IsSharedArrayBuffer(V) is true, then throw a\n // TypeError.\n if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {\n throw webidl.errors.exception({\n header: 'ArrayBuffer',\n message: 'SharedArrayBuffer is not allowed.'\n })\n }\n\n // 3. If the conversion is not to an IDL type associated\n // with the [AllowResizable] extended attribute, and\n // IsResizableArrayBuffer(V) is true, then throw a\n // TypeError.\n // Note: resizable ArrayBuffers are currently a proposal.\n\n // 4. Return the IDL ArrayBuffer value that is a\n // reference to the same object as V.\n return V\n}\n\nwebidl.converters.TypedArray = function (V, T, opts = {}) {\n // 1. Let T be the IDL type V is being converted to.\n\n // 2. If Type(V) is not Object, or V does not have a\n // [[TypedArrayName]] internal slot with a value\n // equal to T\u2019s name, then throw a TypeError.\n if (\n webidl.util.Type(V) !== 'Object' ||\n !types.isTypedArray(V) ||\n V.constructor.name !== T.name\n ) {\n throw webidl.errors.conversionFailed({\n prefix: `${T.name}`,\n argument: `${V}`,\n types: [T.name]\n })\n }\n\n // 3. If the conversion is not to an IDL type associated\n // with the [AllowShared] extended attribute, and\n // IsSharedArrayBuffer(V.[[ViewedArrayBuffer]]) is\n // true, then throw a TypeError.\n if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {\n throw webidl.errors.exception({\n header: 'ArrayBuffer',\n message: 'SharedArrayBuffer is not allowed.'\n })\n }\n\n // 4. If the conversion is not to an IDL type associated\n // with the [AllowResizable] extended attribute, and\n // IsResizableArrayBuffer(V.[[ViewedArrayBuffer]]) is\n // true, then throw a TypeError.\n // Note: resizable array buffers are currently a proposal\n\n // 5. Return the IDL value of type T that is a reference\n // to the same object as V.\n return V\n}\n\nwebidl.converters.DataView = function (V, opts = {}) {\n // 1. If Type(V) is not Object, or V does not have a\n // [[DataView]] internal slot, then throw a TypeError.\n if (webidl.util.Type(V) !== 'Object' || !types.isDataView(V)) {\n throw webidl.errors.exception({\n header: 'DataView',\n message: 'Object is not a DataView.'\n })\n }\n\n // 2. If the conversion is not to an IDL type associated\n // with the [AllowShared] extended attribute, and\n // IsSharedArrayBuffer(V.[[ViewedArrayBuffer]]) is true,\n // then throw a TypeError.\n if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {\n throw webidl.errors.exception({\n header: 'ArrayBuffer',\n message: 'SharedArrayBuffer is not allowed.'\n })\n }\n\n // 3. If the conversion is not to an IDL type associated\n // with the [AllowResizable] extended attribute, and\n // IsResizableArrayBuffer(V.[[ViewedArrayBuffer]]) is\n // true, then throw a TypeError.\n // Note: resizable ArrayBuffers are currently a proposal\n\n // 4. Return the IDL DataView value that is a reference\n // to the same object as V.\n return V\n}\n\n// https://webidl.spec.whatwg.org/#BufferSource\nwebidl.converters.BufferSource = function (V, opts = {}) {\n if (types.isAnyArrayBuffer(V)) {\n return webidl.converters.ArrayBuffer(V, opts)\n }\n\n if (types.isTypedArray(V)) {\n return webidl.converters.TypedArray(V, V.constructor)\n }\n\n if (types.isDataView(V)) {\n return webidl.converters.DataView(V, opts)\n }\n\n throw new TypeError(`Could not convert ${V} to a BufferSource.`)\n}\n\nwebidl.converters['sequence<ByteString>'] = webidl.sequenceConverter(\n webidl.converters.ByteString\n)\n\nwebidl.converters['sequence<sequence<ByteString>>'] = webidl.sequenceConverter(\n webidl.converters['sequence<ByteString>']\n)\n\nwebidl.converters['record<ByteString, ByteString>'] = webidl.recordConverter(\n webidl.converters.ByteString,\n webidl.converters.ByteString\n)\n\nmodule.exports = {\n webidl\n}\n", "const assert = require('assert')\nconst { atob } = require('buffer')\nconst { isomorphicDecode } = require('./util')\n\nconst encoder = new TextEncoder()\n\n/**\n * @see https://mimesniff.spec.whatwg.org/#http-token-code-point\n */\nconst HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/\nconst HTTP_WHITESPACE_REGEX = /(\\u000A|\\u000D|\\u0009|\\u0020)/ // eslint-disable-line\n/**\n * @see https://mimesniff.spec.whatwg.org/#http-quoted-string-token-code-point\n */\nconst HTTP_QUOTED_STRING_TOKENS = /[\\u0009|\\u0020-\\u007E|\\u0080-\\u00FF]/ // eslint-disable-line\n\n// https://fetch.spec.whatwg.org/#data-url-processor\n/** @param {URL} dataURL */\nfunction dataURLProcessor (dataURL) {\n // 1. Assert: dataURL\u2019s scheme is \"data\".\n assert(dataURL.protocol === 'data:')\n\n // 2. Let input be the result of running the URL\n // serializer on dataURL with exclude fragment\n // set to true.\n let input = URLSerializer(dataURL, true)\n\n // 3. Remove the leading \"data:\" string from input.\n input = input.slice(5)\n\n // 4. Let position point at the start of input.\n const position = { position: 0 }\n\n // 5. Let mimeType be the result of collecting a\n // sequence of code points that are not equal\n // to U+002C (,), given position.\n let mimeType = collectASequenceOfCodePointsFast(\n ',',\n input,\n position\n )\n\n // 6. Strip leading and trailing ASCII whitespace\n // from mimeType.\n // Undici implementation note: we need to store the\n // length because if the mimetype has spaces removed,\n // the wrong amount will be sliced from the input in\n // step #9\n const mimeTypeLength = mimeType.length\n mimeType = removeASCIIWhitespace(mimeType, true, true)\n\n // 7. If position is past the end of input, then\n // return failure\n if (position.position >= input.length) {\n return 'failure'\n }\n\n // 8. Advance position by 1.\n position.position++\n\n // 9. Let encodedBody be the remainder of input.\n const encodedBody = input.slice(mimeTypeLength + 1)\n\n // 10. Let body be the percent-decoding of encodedBody.\n let body = stringPercentDecode(encodedBody)\n\n // 11. If mimeType ends with U+003B (;), followed by\n // zero or more U+0020 SPACE, followed by an ASCII\n // case-insensitive match for \"base64\", then:\n if (/;(\\u0020){0,}base64$/i.test(mimeType)) {\n // 1. Let stringBody be the isomorphic decode of body.\n const stringBody = isomorphicDecode(body)\n\n // 2. Set body to the forgiving-base64 decode of\n // stringBody.\n body = forgivingBase64(stringBody)\n\n // 3. If body is failure, then return failure.\n if (body === 'failure') {\n return 'failure'\n }\n\n // 4. Remove the last 6 code points from mimeType.\n mimeType = mimeType.slice(0, -6)\n\n // 5. Remove trailing U+0020 SPACE code points from mimeType,\n // if any.\n mimeType = mimeType.replace(/(\\u0020)+$/, '')\n\n // 6. Remove the last U+003B (;) code point from mimeType.\n mimeType = mimeType.slice(0, -1)\n }\n\n // 12. If mimeType starts with U+003B (;), then prepend\n // \"text/plain\" to mimeType.\n if (mimeType.startsWith(';')) {\n mimeType = 'text/plain' + mimeType\n }\n\n // 13. Let mimeTypeRecord be the result of parsing\n // mimeType.\n let mimeTypeRecord = parseMIMEType(mimeType)\n\n // 14. If mimeTypeRecord is failure, then set\n // mimeTypeRecord to text/plain;charset=US-ASCII.\n if (mimeTypeRecord === 'failure') {\n mimeTypeRecord = parseMIMEType('text/plain;charset=US-ASCII')\n }\n\n // 15. Return a new data: URL struct whose MIME\n // type is mimeTypeRecord and body is body.\n // https://fetch.spec.whatwg.org/#data-url-struct\n return { mimeType: mimeTypeRecord, body }\n}\n\n// https://url.spec.whatwg.org/#concept-url-serializer\n/**\n * @param {URL} url\n * @param {boolean} excludeFragment\n */\nfunction URLSerializer (url, excludeFragment = false) {\n const href = url.href\n\n if (!excludeFragment) {\n return href\n }\n\n const hash = href.lastIndexOf('#')\n if (hash === -1) {\n return href\n }\n return href.slice(0, hash)\n}\n\n// https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points\n/**\n * @param {(char: string) => boolean} condition\n * @param {string} input\n * @param {{ position: number }} position\n */\nfunction collectASequenceOfCodePoints (condition, input, position) {\n // 1. Let result be the empty string.\n let result = ''\n\n // 2. While position doesn\u2019t point past the end of input and the\n // code point at position within input meets the condition condition:\n while (position.position < input.length && condition(input[position.position])) {\n // 1. Append that code point to the end of result.\n result += input[position.position]\n\n // 2. Advance position by 1.\n position.position++\n }\n\n // 3. Return result.\n return result\n}\n\n/**\n * A faster collectASequenceOfCodePoints that only works when comparing a single character.\n * @param {string} char\n * @param {string} input\n * @param {{ position: number }} position\n */\nfunction collectASequenceOfCodePointsFast (char, input, position) {\n const idx = input.indexOf(char, position.position)\n const start = position.position\n\n if (idx === -1) {\n position.position = input.length\n return input.slice(start)\n }\n\n position.position = idx\n return input.slice(start, position.position)\n}\n\n// https://url.spec.whatwg.org/#string-percent-decode\n/** @param {string} input */\nfunction stringPercentDecode (input) {\n // 1. Let bytes be the UTF-8 encoding of input.\n const bytes = encoder.encode(input)\n\n // 2. Return the percent-decoding of bytes.\n return percentDecode(bytes)\n}\n\n// https://url.spec.whatwg.org/#percent-decode\n/** @param {Uint8Array} input */\nfunction percentDecode (input) {\n // 1. Let output be an empty byte sequence.\n /** @type {number[]} */\n const output = []\n\n // 2. For each byte byte in input:\n for (let i = 0; i < input.length; i++) {\n const byte = input[i]\n\n // 1. If byte is not 0x25 (%), then append byte to output.\n if (byte !== 0x25) {\n output.push(byte)\n\n // 2. Otherwise, if byte is 0x25 (%) and the next two bytes\n // after byte in input are not in the ranges\n // 0x30 (0) to 0x39 (9), 0x41 (A) to 0x46 (F),\n // and 0x61 (a) to 0x66 (f), all inclusive, append byte\n // to output.\n } else if (\n byte === 0x25 &&\n !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))\n ) {\n output.push(0x25)\n\n // 3. Otherwise:\n } else {\n // 1. Let bytePoint be the two bytes after byte in input,\n // decoded, and then interpreted as hexadecimal number.\n const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2])\n const bytePoint = Number.parseInt(nextTwoBytes, 16)\n\n // 2. Append a byte whose value is bytePoint to output.\n output.push(bytePoint)\n\n // 3. Skip the next two bytes in input.\n i += 2\n }\n }\n\n // 3. Return output.\n return Uint8Array.from(output)\n}\n\n// https://mimesniff.spec.whatwg.org/#parse-a-mime-type\n/** @param {string} input */\nfunction parseMIMEType (input) {\n // 1. Remove any leading and trailing HTTP whitespace\n // from input.\n input = removeHTTPWhitespace(input, true, true)\n\n // 2. Let position be a position variable for input,\n // initially pointing at the start of input.\n const position = { position: 0 }\n\n // 3. Let type be the result of collecting a sequence\n // of code points that are not U+002F (/) from\n // input, given position.\n const type = collectASequenceOfCodePointsFast(\n '/',\n input,\n position\n )\n\n // 4. If type is the empty string or does not solely\n // contain HTTP token code points, then return failure.\n // https://mimesniff.spec.whatwg.org/#http-token-code-point\n if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) {\n return 'failure'\n }\n\n // 5. If position is past the end of input, then return\n // failure\n if (position.position > input.length) {\n return 'failure'\n }\n\n // 6. Advance position by 1. (This skips past U+002F (/).)\n position.position++\n\n // 7. Let subtype be the result of collecting a sequence of\n // code points that are not U+003B (;) from input, given\n // position.\n let subtype = collectASequenceOfCodePointsFast(\n ';',\n input,\n position\n )\n\n // 8. Remove any trailing HTTP whitespace from subtype.\n subtype = removeHTTPWhitespace(subtype, false, true)\n\n // 9. If subtype is the empty string or does not solely\n // contain HTTP token code points, then return failure.\n if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {\n return 'failure'\n }\n\n const typeLowercase = type.toLowerCase()\n const subtypeLowercase = subtype.toLowerCase()\n\n // 10. Let mimeType be a new MIME type record whose type\n // is type, in ASCII lowercase, and subtype is subtype,\n // in ASCII lowercase.\n // https://mimesniff.spec.whatwg.org/#mime-type\n const mimeType = {\n type: typeLowercase,\n subtype: subtypeLowercase,\n /** @type {Map<string, string>} */\n parameters: new Map(),\n // https://mimesniff.spec.whatwg.org/#mime-type-essence\n essence: `${typeLowercase}/${subtypeLowercase}`\n }\n\n // 11. While position is not past the end of input:\n while (position.position < input.length) {\n // 1. Advance position by 1. (This skips past U+003B (;).)\n position.position++\n\n // 2. Collect a sequence of code points that are HTTP\n // whitespace from input given position.\n collectASequenceOfCodePoints(\n // https://fetch.spec.whatwg.org/#http-whitespace\n char => HTTP_WHITESPACE_REGEX.test(char),\n input,\n position\n )\n\n // 3. Let parameterName be the result of collecting a\n // sequence of code points that are not U+003B (;)\n // or U+003D (=) from input, given position.\n let parameterName = collectASequenceOfCodePoints(\n (char) => char !== ';' && char !== '=',\n input,\n position\n )\n\n // 4. Set parameterName to parameterName, in ASCII\n // lowercase.\n parameterName = parameterName.toLowerCase()\n\n // 5. If position is not past the end of input, then:\n if (position.position < input.length) {\n // 1. If the code point at position within input is\n // U+003B (;), then continue.\n if (input[position.position] === ';') {\n continue\n }\n\n // 2. Advance position by 1. (This skips past U+003D (=).)\n position.position++\n }\n\n // 6. If position is past the end of input, then break.\n if (position.position > input.length) {\n break\n }\n\n // 7. Let parameterValue be null.\n let parameterValue = null\n\n // 8. If the code point at position within input is\n // U+0022 (\"), then:\n if (input[position.position] === '\"') {\n // 1. Set parameterValue to the result of collecting\n // an HTTP quoted string from input, given position\n // and the extract-value flag.\n parameterValue = collectAnHTTPQuotedString(input, position, true)\n\n // 2. Collect a sequence of code points that are not\n // U+003B (;) from input, given position.\n collectASequenceOfCodePointsFast(\n ';',\n input,\n position\n )\n\n // 9. Otherwise:\n } else {\n // 1. Set parameterValue to the result of collecting\n // a sequence of code points that are not U+003B (;)\n // from input, given position.\n parameterValue = collectASequenceOfCodePointsFast(\n ';',\n input,\n position\n )\n\n // 2. Remove any trailing HTTP whitespace from parameterValue.\n parameterValue = removeHTTPWhitespace(parameterValue, false, true)\n\n // 3. If parameterValue is the empty string, then continue.\n if (parameterValue.length === 0) {\n continue\n }\n }\n\n // 10. If all of the following are true\n // - parameterName is not the empty string\n // - parameterName solely contains HTTP token code points\n // - parameterValue solely contains HTTP quoted-string token code points\n // - mimeType\u2019s parameters[parameterName] does not exist\n // then set mimeType\u2019s parameters[parameterName] to parameterValue.\n if (\n parameterName.length !== 0 &&\n HTTP_TOKEN_CODEPOINTS.test(parameterName) &&\n (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) &&\n !mimeType.parameters.has(parameterName)\n ) {\n mimeType.parameters.set(parameterName, parameterValue)\n }\n }\n\n // 12. Return mimeType.\n return mimeType\n}\n\n// https://infra.spec.whatwg.org/#forgiving-base64-decode\n/** @param {string} data */\nfunction forgivingBase64 (data) {\n // 1. Remove all ASCII whitespace from data.\n data = data.replace(/[\\u0009\\u000A\\u000C\\u000D\\u0020]/g, '') // eslint-disable-line\n\n // 2. If data\u2019s code point length divides by 4 leaving\n // no remainder, then:\n if (data.length % 4 === 0) {\n // 1. If data ends with one or two U+003D (=) code points,\n // then remove them from data.\n data = data.replace(/=?=$/, '')\n }\n\n // 3. If data\u2019s code point length divides by 4 leaving\n // a remainder of 1, then return failure.\n if (data.length % 4 === 1) {\n return 'failure'\n }\n\n // 4. If data contains a code point that is not one of\n // U+002B (+)\n // U+002F (/)\n // ASCII alphanumeric\n // then return failure.\n if (/[^+/0-9A-Za-z]/.test(data)) {\n return 'failure'\n }\n\n const binary = atob(data)\n const bytes = new Uint8Array(binary.length)\n\n for (let byte = 0; byte < binary.length; byte++) {\n bytes[byte] = binary.charCodeAt(byte)\n }\n\n return bytes\n}\n\n// https://fetch.spec.whatwg.org/#collect-an-http-quoted-string\n// tests: https://fetch.spec.whatwg.org/#example-http-quoted-string\n/**\n * @param {string} input\n * @param {{ position: number }} position\n * @param {boolean?} extractValue\n */\nfunction collectAnHTTPQuotedString (input, position, extractValue) {\n // 1. Let positionStart be position.\n const positionStart = position.position\n\n // 2. Let value be the empty string.\n let value = ''\n\n // 3. Assert: the code point at position within input\n // is U+0022 (\").\n assert(input[position.position] === '\"')\n\n // 4. Advance position by 1.\n position.position++\n\n // 5. While true:\n while (true) {\n // 1. Append the result of collecting a sequence of code points\n // that are not U+0022 (\") or U+005C (\\) from input, given\n // position, to value.\n value += collectASequenceOfCodePoints(\n (char) => char !== '\"' && char !== '\\\\',\n input,\n position\n )\n\n // 2. If position is past the end of input, then break.\n if (position.position >= input.length) {\n break\n }\n\n // 3. Let quoteOrBackslash be the code point at position within\n // input.\n const quoteOrBackslash = input[position.position]\n\n // 4. Advance position by 1.\n position.position++\n\n // 5. If quoteOrBackslash is U+005C (\\), then:\n if (quoteOrBackslash === '\\\\') {\n // 1. If position is past the end of input, then append\n // U+005C (\\) to value and break.\n if (position.position >= input.length) {\n value += '\\\\'\n break\n }\n\n // 2. Append the code point at position within input to value.\n value += input[position.position]\n\n // 3. Advance position by 1.\n position.position++\n\n // 6. Otherwise:\n } else {\n // 1. Assert: quoteOrBackslash is U+0022 (\").\n assert(quoteOrBackslash === '\"')\n\n // 2. Break.\n break\n }\n }\n\n // 6. If the extract-value flag is set, then return value.\n if (extractValue) {\n return value\n }\n\n // 7. Return the code points from positionStart to position,\n // inclusive, within input.\n return input.slice(positionStart, position.position)\n}\n\n/**\n * @see https://mimesniff.spec.whatwg.org/#serialize-a-mime-type\n */\nfunction serializeAMimeType (mimeType) {\n assert(mimeType !== 'failure')\n const { parameters, essence } = mimeType\n\n // 1. Let serialization be the concatenation of mimeType\u2019s\n // type, U+002F (/), and mimeType\u2019s subtype.\n let serialization = essence\n\n // 2. For each name \u2192 value of mimeType\u2019s parameters:\n for (let [name, value] of parameters.entries()) {\n // 1. Append U+003B (;) to serialization.\n serialization += ';'\n\n // 2. Append name to serialization.\n serialization += name\n\n // 3. Append U+003D (=) to serialization.\n serialization += '='\n\n // 4. If value does not solely contain HTTP token code\n // points or value is the empty string, then:\n if (!HTTP_TOKEN_CODEPOINTS.test(value)) {\n // 1. Precede each occurence of U+0022 (\") or\n // U+005C (\\) in value with U+005C (\\).\n value = value.replace(/(\\\\|\")/g, '\\\\$1')\n\n // 2. Prepend U+0022 (\") to value.\n value = '\"' + value\n\n // 3. Append U+0022 (\") to value.\n value += '\"'\n }\n\n // 5. Append value to serialization.\n serialization += value\n }\n\n // 3. Return serialization.\n return serialization\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#http-whitespace\n * @param {string} char\n */\nfunction isHTTPWhiteSpace (char) {\n return char === '\\r' || char === '\\n' || char === '\\t' || char === ' '\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#http-whitespace\n * @param {string} str\n */\nfunction removeHTTPWhitespace (str, leading = true, trailing = true) {\n let lead = 0\n let trail = str.length - 1\n\n if (leading) {\n for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++);\n }\n\n if (trailing) {\n for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--);\n }\n\n return str.slice(lead, trail + 1)\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#ascii-whitespace\n * @param {string} char\n */\nfunction isASCIIWhitespace (char) {\n return char === '\\r' || char === '\\n' || char === '\\t' || char === '\\f' || char === ' '\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace\n */\nfunction removeASCIIWhitespace (str, leading = true, trailing = true) {\n let lead = 0\n let trail = str.length - 1\n\n if (leading) {\n for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++);\n }\n\n if (trailing) {\n for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--);\n }\n\n return str.slice(lead, trail + 1)\n}\n\nmodule.exports = {\n dataURLProcessor,\n URLSerializer,\n collectASequenceOfCodePoints,\n collectASequenceOfCodePointsFast,\n stringPercentDecode,\n parseMIMEType,\n collectAnHTTPQuotedString,\n serializeAMimeType\n}\n", "'use strict'\n\nconst { Blob, File: NativeFile } = require('buffer')\nconst { types } = require('util')\nconst { kState } = require('./symbols')\nconst { isBlobLike } = require('./util')\nconst { webidl } = require('./webidl')\nconst { parseMIMEType, serializeAMimeType } = require('./dataURL')\nconst { kEnumerableProperty } = require('../core/util')\n\nclass File extends Blob {\n constructor (fileBits, fileName, options = {}) {\n // The File constructor is invoked with two or three parameters, depending\n // on whether the optional dictionary parameter is used. When the File()\n // constructor is invoked, user agents must run the following steps:\n webidl.argumentLengthCheck(arguments, 2, { header: 'File constructor' })\n\n fileBits = webidl.converters['sequence<BlobPart>'](fileBits)\n fileName = webidl.converters.USVString(fileName)\n options = webidl.converters.FilePropertyBag(options)\n\n // 1. Let bytes be the result of processing blob parts given fileBits and\n // options.\n // Note: Blob handles this for us\n\n // 2. Let n be the fileName argument to the constructor.\n const n = fileName\n\n // 3. Process FilePropertyBag dictionary argument by running the following\n // substeps:\n\n // 1. If the type member is provided and is not the empty string, let t\n // be set to the type dictionary member. If t contains any characters\n // outside the range U+0020 to U+007E, then set t to the empty string\n // and return from these substeps.\n // 2. Convert every character in t to ASCII lowercase.\n let t = options.type\n let d\n\n // eslint-disable-next-line no-labels\n substep: {\n if (t) {\n t = parseMIMEType(t)\n\n if (t === 'failure') {\n t = ''\n // eslint-disable-next-line no-labels\n break substep\n }\n\n t = serializeAMimeType(t).toLowerCase()\n }\n\n // 3. If the lastModified member is provided, let d be set to the\n // lastModified dictionary member. If it is not provided, set d to the\n // current date and time represented as the number of milliseconds since\n // the Unix Epoch (which is the equivalent of Date.now() [ECMA-262]).\n d = options.lastModified\n }\n\n // 4. Return a new File object F such that:\n // F refers to the bytes byte sequence.\n // F.size is set to the number of total bytes in bytes.\n // F.name is set to n.\n // F.type is set to t.\n // F.lastModified is set to d.\n\n super(processBlobParts(fileBits, options), { type: t })\n this[kState] = {\n name: n,\n lastModified: d,\n type: t\n }\n }\n\n get name () {\n webidl.brandCheck(this, File)\n\n return this[kState].name\n }\n\n get lastModified () {\n webidl.brandCheck(this, File)\n\n return this[kState].lastModified\n }\n\n get type () {\n webidl.brandCheck(this, File)\n\n return this[kState].type\n }\n}\n\nclass FileLike {\n constructor (blobLike, fileName, options = {}) {\n // TODO: argument idl type check\n\n // The File constructor is invoked with two or three parameters, depending\n // on whether the optional dictionary parameter is used. When the File()\n // constructor is invoked, user agents must run the following steps:\n\n // 1. Let bytes be the result of processing blob parts given fileBits and\n // options.\n\n // 2. Let n be the fileName argument to the constructor.\n const n = fileName\n\n // 3. Process FilePropertyBag dictionary argument by running the following\n // substeps:\n\n // 1. If the type member is provided and is not the empty string, let t\n // be set to the type dictionary member. If t contains any characters\n // outside the range U+0020 to U+007E, then set t to the empty string\n // and return from these substeps.\n // TODO\n const t = options.type\n\n // 2. Convert every character in t to ASCII lowercase.\n // TODO\n\n // 3. If the lastModified member is provided, let d be set to the\n // lastModified dictionary member. If it is not provided, set d to the\n // current date and time represented as the number of milliseconds since\n // the Unix Epoch (which is the equivalent of Date.now() [ECMA-262]).\n const d = options.lastModified ?? Date.now()\n\n // 4. Return a new File object F such that:\n // F refers to the bytes byte sequence.\n // F.size is set to the number of total bytes in bytes.\n // F.name is set to n.\n // F.type is set to t.\n // F.lastModified is set to d.\n\n this[kState] = {\n blobLike,\n name: n,\n type: t,\n lastModified: d\n }\n }\n\n stream (...args) {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.stream(...args)\n }\n\n arrayBuffer (...args) {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.arrayBuffer(...args)\n }\n\n slice (...args) {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.slice(...args)\n }\n\n text (...args) {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.text(...args)\n }\n\n get size () {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.size\n }\n\n get type () {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.type\n }\n\n get name () {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].name\n }\n\n get lastModified () {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].lastModified\n }\n\n get [Symbol.toStringTag] () {\n return 'File'\n }\n}\n\nObject.defineProperties(File.prototype, {\n [Symbol.toStringTag]: {\n value: 'File',\n configurable: true\n },\n name: kEnumerableProperty,\n lastModified: kEnumerableProperty\n})\n\nwebidl.converters.Blob = webidl.interfaceConverter(Blob)\n\nwebidl.converters.BlobPart = function (V, opts) {\n if (webidl.util.Type(V) === 'Object') {\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, { strict: false })\n }\n\n if (\n ArrayBuffer.isView(V) ||\n types.isAnyArrayBuffer(V)\n ) {\n return webidl.converters.BufferSource(V, opts)\n }\n }\n\n return webidl.converters.USVString(V, opts)\n}\n\nwebidl.converters['sequence<BlobPart>'] = webidl.sequenceConverter(\n webidl.converters.BlobPart\n)\n\n// https://www.w3.org/TR/FileAPI/#dfn-FilePropertyBag\nwebidl.converters.FilePropertyBag = webidl.dictionaryConverter([\n {\n key: 'lastModified',\n converter: webidl.converters['long long'],\n get defaultValue () {\n return Date.now()\n }\n },\n {\n key: 'type',\n converter: webidl.converters.DOMString,\n defaultValue: ''\n },\n {\n key: 'endings',\n converter: (value) => {\n value = webidl.converters.DOMString(value)\n value = value.toLowerCase()\n\n if (value !== 'native') {\n value = 'transparent'\n }\n\n return value\n },\n defaultValue: 'transparent'\n }\n])\n\n/**\n * @see https://www.w3.org/TR/FileAPI/#process-blob-parts\n * @param {(NodeJS.TypedArray|Blob|string)[]} parts\n * @param {{ type: string, endings: string }} options\n */\nfunction processBlobParts (parts, options) {\n // 1. Let bytes be an empty sequence of bytes.\n /** @type {NodeJS.TypedArray[]} */\n const bytes = []\n\n // 2. For each element in parts:\n for (const element of parts) {\n // 1. If element is a USVString, run the following substeps:\n if (typeof element === 'string') {\n // 1. Let s be element.\n let s = element\n\n // 2. If the endings member of options is \"native\", set s\n // to the result of converting line endings to native\n // of element.\n if (options.endings === 'native') {\n s = convertLineEndingsNative(s)\n }\n\n // 3. Append the result of UTF-8 encoding s to bytes.\n bytes.push(new TextEncoder().encode(s))\n } else if (\n types.isAnyArrayBuffer(element) ||\n types.isTypedArray(element)\n ) {\n // 2. If element is a BufferSource, get a copy of the\n // bytes held by the buffer source, and append those\n // bytes to bytes.\n if (!element.buffer) { // ArrayBuffer\n bytes.push(new Uint8Array(element))\n } else {\n bytes.push(\n new Uint8Array(element.buffer, element.byteOffset, element.byteLength)\n )\n }\n } else if (isBlobLike(element)) {\n // 3. If element is a Blob, append the bytes it represents\n // to bytes.\n bytes.push(element)\n }\n }\n\n // 3. Return bytes.\n return bytes\n}\n\n/**\n * @see https://www.w3.org/TR/FileAPI/#convert-line-endings-to-native\n * @param {string} s\n */\nfunction convertLineEndingsNative (s) {\n // 1. Let native line ending be be the code point U+000A LF.\n let nativeLineEnding = '\\n'\n\n // 2. If the underlying platform\u2019s conventions are to\n // represent newlines as a carriage return and line feed\n // sequence, set native line ending to the code point\n // U+000D CR followed by the code point U+000A LF.\n if (process.platform === 'win32') {\n nativeLineEnding = '\\r\\n'\n }\n\n return s.replace(/\\r?\\n/g, nativeLineEnding)\n}\n\n// If this function is moved to ./util.js, some tools (such as\n// rollup) will warn about circular dependencies. See:\n// https://github.com/nodejs/undici/issues/1629\nfunction isFileLike (object) {\n return (\n (NativeFile && object instanceof NativeFile) ||\n object instanceof File || (\n object &&\n (typeof object.stream === 'function' ||\n typeof object.arrayBuffer === 'function') &&\n object[Symbol.toStringTag] === 'File'\n )\n )\n}\n\nmodule.exports = { File, FileLike, isFileLike }\n", "'use strict'\n\nconst { isBlobLike, toUSVString, makeIterator } = require('./util')\nconst { kState } = require('./symbols')\nconst { File: UndiciFile, FileLike, isFileLike } = require('./file')\nconst { webidl } = require('./webidl')\nconst { Blob, File: NativeFile } = require('buffer')\n\n/** @type {globalThis['File']} */\nconst File = NativeFile ?? UndiciFile\n\n// https://xhr.spec.whatwg.org/#formdata\nclass FormData {\n constructor (form) {\n if (form !== undefined) {\n throw webidl.errors.conversionFailed({\n prefix: 'FormData constructor',\n argument: 'Argument 1',\n types: ['undefined']\n })\n }\n\n this[kState] = []\n }\n\n append (name, value, filename = undefined) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 2, { header: 'FormData.append' })\n\n if (arguments.length === 3 && !isBlobLike(value)) {\n throw new TypeError(\n \"Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'\"\n )\n }\n\n // 1. Let value be value if given; otherwise blobValue.\n\n name = webidl.converters.USVString(name)\n value = isBlobLike(value)\n ? webidl.converters.Blob(value, { strict: false })\n : webidl.converters.USVString(value)\n filename = arguments.length === 3\n ? webidl.converters.USVString(filename)\n : undefined\n\n // 2. Let entry be the result of creating an entry with\n // name, value, and filename if given.\n const entry = makeEntry(name, value, filename)\n\n // 3. Append entry to this\u2019s entry list.\n this[kState].push(entry)\n }\n\n delete (name) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.delete' })\n\n name = webidl.converters.USVString(name)\n\n // The delete(name) method steps are to remove all entries whose name\n // is name from this\u2019s entry list.\n this[kState] = this[kState].filter(entry => entry.name !== name)\n }\n\n get (name) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.get' })\n\n name = webidl.converters.USVString(name)\n\n // 1. If there is no entry whose name is name in this\u2019s entry list,\n // then return null.\n const idx = this[kState].findIndex((entry) => entry.name === name)\n if (idx === -1) {\n return null\n }\n\n // 2. Return the value of the first entry whose name is name from\n // this\u2019s entry list.\n return this[kState][idx].value\n }\n\n getAll (name) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.getAll' })\n\n name = webidl.converters.USVString(name)\n\n // 1. If there is no entry whose name is name in this\u2019s entry list,\n // then return the empty list.\n // 2. Return the values of all entries whose name is name, in order,\n // from this\u2019s entry list.\n return this[kState]\n .filter((entry) => entry.name === name)\n .map((entry) => entry.value)\n }\n\n has (name) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.has' })\n\n name = webidl.converters.USVString(name)\n\n // The has(name) method steps are to return true if there is an entry\n // whose name is name in this\u2019s entry list; otherwise false.\n return this[kState].findIndex((entry) => entry.name === name) !== -1\n }\n\n set (name, value, filename = undefined) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 2, { header: 'FormData.set' })\n\n if (arguments.length === 3 && !isBlobLike(value)) {\n throw new TypeError(\n \"Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'\"\n )\n }\n\n // The set(name, value) and set(name, blobValue, filename) method steps\n // are:\n\n // 1. Let value be value if given; otherwise blobValue.\n\n name = webidl.converters.USVString(name)\n value = isBlobLike(value)\n ? webidl.converters.Blob(value, { strict: false })\n : webidl.converters.USVString(value)\n filename = arguments.length === 3\n ? toUSVString(filename)\n : undefined\n\n // 2. Let entry be the result of creating an entry with name, value, and\n // filename if given.\n const entry = makeEntry(name, value, filename)\n\n // 3. If there are entries in this\u2019s entry list whose name is name, then\n // replace the first such entry with entry and remove the others.\n const idx = this[kState].findIndex((entry) => entry.name === name)\n if (idx !== -1) {\n this[kState] = [\n ...this[kState].slice(0, idx),\n entry,\n ...this[kState].slice(idx + 1).filter((entry) => entry.name !== name)\n ]\n } else {\n // 4. Otherwise, append entry to this\u2019s entry list.\n this[kState].push(entry)\n }\n }\n\n entries () {\n webidl.brandCheck(this, FormData)\n\n return makeIterator(\n () => this[kState].map(pair => [pair.name, pair.value]),\n 'FormData',\n 'key+value'\n )\n }\n\n keys () {\n webidl.brandCheck(this, FormData)\n\n return makeIterator(\n () => this[kState].map(pair => [pair.name, pair.value]),\n 'FormData',\n 'key'\n )\n }\n\n values () {\n webidl.brandCheck(this, FormData)\n\n return makeIterator(\n () => this[kState].map(pair => [pair.name, pair.value]),\n 'FormData',\n 'value'\n )\n }\n\n /**\n * @param {(value: string, key: string, self: FormData) => void} callbackFn\n * @param {unknown} thisArg\n */\n forEach (callbackFn, thisArg = globalThis) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.forEach' })\n\n if (typeof callbackFn !== 'function') {\n throw new TypeError(\n \"Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.\"\n )\n }\n\n for (const [key, value] of this) {\n callbackFn.apply(thisArg, [value, key, this])\n }\n }\n}\n\nFormData.prototype[Symbol.iterator] = FormData.prototype.entries\n\nObject.defineProperties(FormData.prototype, {\n [Symbol.toStringTag]: {\n value: 'FormData',\n configurable: true\n }\n})\n\n/**\n * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#create-an-entry\n * @param {string} name\n * @param {string|Blob} value\n * @param {?string} filename\n * @returns\n */\nfunction makeEntry (name, value, filename) {\n // 1. Set name to the result of converting name into a scalar value string.\n // \"To convert a string into a scalar value string, replace any surrogates\n // with U+FFFD.\"\n // see: https://nodejs.org/dist/latest-v18.x/docs/api/buffer.html#buftostringencoding-start-end\n name = Buffer.from(name).toString('utf8')\n\n // 2. If value is a string, then set value to the result of converting\n // value into a scalar value string.\n if (typeof value === 'string') {\n value = Buffer.from(value).toString('utf8')\n } else {\n // 3. Otherwise:\n\n // 1. If value is not a File object, then set value to a new File object,\n // representing the same bytes, whose name attribute value is \"blob\"\n if (!isFileLike(value)) {\n value = value instanceof Blob\n ? new File([value], 'blob', { type: value.type })\n : new FileLike(value, 'blob', { type: value.type })\n }\n\n // 2. If filename is given, then set value to a new File object,\n // representing the same bytes, whose name attribute is filename.\n if (filename !== undefined) {\n /** @type {FilePropertyBag} */\n const options = {\n type: value.type,\n lastModified: value.lastModified\n }\n\n value = (NativeFile && value instanceof NativeFile) || value instanceof UndiciFile\n ? new File([value], filename, options)\n : new FileLike(value, filename, options)\n }\n }\n\n // 4. Return an entry whose name is name and whose value is value.\n return { name, value }\n}\n\nmodule.exports = { FormData }\n", "'use strict'\n\nconst Busboy = require('busboy')\nconst util = require('../core/util')\nconst {\n ReadableStreamFrom,\n isBlobLike,\n isReadableStreamLike,\n readableStreamClose,\n createDeferredPromise,\n fullyReadBody\n} = require('./util')\nconst { FormData } = require('./formdata')\nconst { kState } = require('./symbols')\nconst { webidl } = require('./webidl')\nconst { DOMException, structuredClone } = require('./constants')\nconst { Blob, File: NativeFile } = require('buffer')\nconst { kBodyUsed } = require('../core/symbols')\nconst assert = require('assert')\nconst { isErrored } = require('../core/util')\nconst { isUint8Array, isArrayBuffer } = require('util/types')\nconst { File: UndiciFile } = require('./file')\nconst { parseMIMEType, serializeAMimeType } = require('./dataURL')\n\nlet ReadableStream = globalThis.ReadableStream\n\n/** @type {globalThis['File']} */\nconst File = NativeFile ?? UndiciFile\n\n// https://fetch.spec.whatwg.org/#concept-bodyinit-extract\nfunction extractBody (object, keepalive = false) {\n if (!ReadableStream) {\n ReadableStream = require('stream/web').ReadableStream\n }\n\n // 1. Let stream be null.\n let stream = null\n\n // 2. If object is a ReadableStream object, then set stream to object.\n if (object instanceof ReadableStream) {\n stream = object\n } else if (isBlobLike(object)) {\n // 3. Otherwise, if object is a Blob object, set stream to the\n // result of running object\u2019s get stream.\n stream = object.stream()\n } else {\n // 4. Otherwise, set stream to a new ReadableStream object, and set\n // up stream.\n stream = new ReadableStream({\n async pull (controller) {\n controller.enqueue(\n typeof source === 'string' ? new TextEncoder().encode(source) : source\n )\n queueMicrotask(() => readableStreamClose(controller))\n },\n start () {},\n type: undefined\n })\n }\n\n // 5. Assert: stream is a ReadableStream object.\n assert(isReadableStreamLike(stream))\n\n // 6. Let action be null.\n let action = null\n\n // 7. Let source be null.\n let source = null\n\n // 8. Let length be null.\n let length = null\n\n // 9. Let type be null.\n let type = null\n\n // 10. Switch on object:\n if (typeof object === 'string') {\n // Set source to the UTF-8 encoding of object.\n // Note: setting source to a Uint8Array here breaks some mocking assumptions.\n source = object\n\n // Set type to `text/plain;charset=UTF-8`.\n type = 'text/plain;charset=UTF-8'\n } else if (object instanceof URLSearchParams) {\n // URLSearchParams\n\n // spec says to run application/x-www-form-urlencoded on body.list\n // this is implemented in Node.js as apart of an URLSearchParams instance toString method\n // See: https://github.com/nodejs/node/blob/e46c680bf2b211bbd52cf959ca17ee98c7f657f5/lib/internal/url.js#L490\n // and https://github.com/nodejs/node/blob/e46c680bf2b211bbd52cf959ca17ee98c7f657f5/lib/internal/url.js#L1100\n\n // Set source to the result of running the application/x-www-form-urlencoded serializer with object\u2019s list.\n source = object.toString()\n\n // Set type to `application/x-www-form-urlencoded;charset=UTF-8`.\n type = 'application/x-www-form-urlencoded;charset=UTF-8'\n } else if (isArrayBuffer(object)) {\n // BufferSource/ArrayBuffer\n\n // Set source to a copy of the bytes held by object.\n source = new Uint8Array(object.slice())\n } else if (ArrayBuffer.isView(object)) {\n // BufferSource/ArrayBufferView\n\n // Set source to a copy of the bytes held by object.\n source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength))\n } else if (util.isFormDataLike(object)) {\n const boundary = `----formdata-undici-0${`${Math.floor(Math.random() * 1e11)}`.padStart(11, '0')}`\n const prefix = `--${boundary}\\r\\nContent-Disposition: form-data`\n\n /*! formdata-polyfill. MIT License. Jimmy W\u00E4rting <https://jimmy.warting.se/opensource> */\n const escape = (str) =>\n str.replace(/\\n/g, '%0A').replace(/\\r/g, '%0D').replace(/\"/g, '%22')\n const normalizeLinefeeds = (value) => value.replace(/\\r?\\n|\\r/g, '\\r\\n')\n\n // Set action to this step: run the multipart/form-data\n // encoding algorithm, with object\u2019s entry list and UTF-8.\n // - This ensures that the body is immutable and can't be changed afterwords\n // - That the content-length is calculated in advance.\n // - And that all parts are pre-encoded and ready to be sent.\n\n const enc = new TextEncoder()\n const blobParts = []\n const rn = new Uint8Array([13, 10]) // '\\r\\n'\n length = 0\n let hasUnknownSizeValue = false\n\n for (const [name, value] of object) {\n if (typeof value === 'string') {\n const chunk = enc.encode(prefix +\n `; name=\"${escape(normalizeLinefeeds(name))}\"` +\n `\\r\\n\\r\\n${normalizeLinefeeds(value)}\\r\\n`)\n blobParts.push(chunk)\n length += chunk.byteLength\n } else {\n const chunk = enc.encode(`${prefix}; name=\"${escape(normalizeLinefeeds(name))}\"` +\n (value.name ? `; filename=\"${escape(value.name)}\"` : '') + '\\r\\n' +\n `Content-Type: ${\n value.type || 'application/octet-stream'\n }\\r\\n\\r\\n`)\n blobParts.push(chunk, value, rn)\n if (typeof value.size === 'number') {\n length += chunk.byteLength + value.size + rn.byteLength\n } else {\n hasUnknownSizeValue = true\n }\n }\n }\n\n const chunk = enc.encode(`--${boundary}--`)\n blobParts.push(chunk)\n length += chunk.byteLength\n if (hasUnknownSizeValue) {\n length = null\n }\n\n // Set source to object.\n source = object\n\n action = async function * () {\n for (const part of blobParts) {\n if (part.stream) {\n yield * part.stream()\n } else {\n yield part\n }\n }\n }\n\n // Set type to `multipart/form-data; boundary=`,\n // followed by the multipart/form-data boundary string generated\n // by the multipart/form-data encoding algorithm.\n type = 'multipart/form-data; boundary=' + boundary\n } else if (isBlobLike(object)) {\n // Blob\n\n // Set source to object.\n source = object\n\n // Set length to object\u2019s size.\n length = object.size\n\n // If object\u2019s type attribute is not the empty byte sequence, set\n // type to its value.\n if (object.type) {\n type = object.type\n }\n } else if (typeof object[Symbol.asyncIterator] === 'function') {\n // If keepalive is true, then throw a TypeError.\n if (keepalive) {\n throw new TypeError('keepalive')\n }\n\n // If object is disturbed or locked, then throw a TypeError.\n if (util.isDisturbed(object) || object.locked) {\n throw new TypeError(\n 'Response body object should not be disturbed or locked'\n )\n }\n\n stream =\n object instanceof ReadableStream ? object : ReadableStreamFrom(object)\n }\n\n // 11. If source is a byte sequence, then set action to a\n // step that returns source and length to source\u2019s length.\n if (typeof source === 'string' || util.isBuffer(source)) {\n length = Buffer.byteLength(source)\n }\n\n // 12. If action is non-null, then run these steps in in parallel:\n if (action != null) {\n // Run action.\n let iterator\n stream = new ReadableStream({\n async start () {\n iterator = action(object)[Symbol.asyncIterator]()\n },\n async pull (controller) {\n const { value, done } = await iterator.next()\n if (done) {\n // When running action is done, close stream.\n queueMicrotask(() => {\n controller.close()\n })\n } else {\n // Whenever one or more bytes are available and stream is not errored,\n // enqueue a Uint8Array wrapping an ArrayBuffer containing the available\n // bytes into stream.\n if (!isErrored(stream)) {\n controller.enqueue(new Uint8Array(value))\n }\n }\n return controller.desiredSize > 0\n },\n async cancel (reason) {\n await iterator.return()\n },\n type: undefined\n })\n }\n\n // 13. Let body be a body whose stream is stream, source is source,\n // and length is length.\n const body = { stream, source, length }\n\n // 14. Return (body, type).\n return [body, type]\n}\n\n// https://fetch.spec.whatwg.org/#bodyinit-safely-extract\nfunction safelyExtractBody (object, keepalive = false) {\n if (!ReadableStream) {\n // istanbul ignore next\n ReadableStream = require('stream/web').ReadableStream\n }\n\n // To safely extract a body and a `Content-Type` value from\n // a byte sequence or BodyInit object object, run these steps:\n\n // 1. If object is a ReadableStream object, then:\n if (object instanceof ReadableStream) {\n // Assert: object is neither disturbed nor locked.\n // istanbul ignore next\n assert(!util.isDisturbed(object), 'The body has already been consumed.')\n // istanbul ignore next\n assert(!object.locked, 'The stream is locked.')\n }\n\n // 2. Return the results of extracting object.\n return extractBody(object, keepalive)\n}\n\nfunction cloneBody (body) {\n // To clone a body body, run these steps:\n\n // https://fetch.spec.whatwg.org/#concept-body-clone\n\n // 1. Let \u00AB out1, out2 \u00BB be the result of teeing body\u2019s stream.\n const [out1, out2] = body.stream.tee()\n const out2Clone = structuredClone(out2, { transfer: [out2] })\n // This, for whatever reasons, unrefs out2Clone which allows\n // the process to exit by itself.\n const [, finalClone] = out2Clone.tee()\n\n // 2. Set body\u2019s stream to out1.\n body.stream = out1\n\n // 3. Return a body whose stream is out2 and other members are copied from body.\n return {\n stream: finalClone,\n length: body.length,\n source: body.source\n }\n}\n\nasync function * consumeBody (body) {\n if (body) {\n if (isUint8Array(body)) {\n yield body\n } else {\n const stream = body.stream\n\n if (util.isDisturbed(stream)) {\n throw new TypeError('The body has already been consumed.')\n }\n\n if (stream.locked) {\n throw new TypeError('The stream is locked.')\n }\n\n // Compat.\n stream[kBodyUsed] = true\n\n yield * stream\n }\n }\n}\n\nfunction throwIfAborted (state) {\n if (state.aborted) {\n throw new DOMException('The operation was aborted.', 'AbortError')\n }\n}\n\nfunction bodyMixinMethods (instance) {\n const methods = {\n blob () {\n // The blob() method steps are to return the result of\n // running consume body with this and the following step\n // given a byte sequence bytes: return a Blob whose\n // contents are bytes and whose type attribute is this\u2019s\n // MIME type.\n return specConsumeBody(this, (bytes) => {\n let mimeType = bodyMimeType(this)\n\n if (mimeType === 'failure') {\n mimeType = ''\n } else if (mimeType) {\n mimeType = serializeAMimeType(mimeType)\n }\n\n // Return a Blob whose contents are bytes and type attribute\n // is mimeType.\n return new Blob([bytes], { type: mimeType })\n }, instance)\n },\n\n arrayBuffer () {\n // The arrayBuffer() method steps are to return the result\n // of running consume body with this and the following step\n // given a byte sequence bytes: return a new ArrayBuffer\n // whose contents are bytes.\n return specConsumeBody(this, (bytes) => {\n return new Uint8Array(bytes).buffer\n }, instance)\n },\n\n text () {\n // The text() method steps are to return the result of running\n // consume body with this and UTF-8 decode.\n return specConsumeBody(this, utf8DecodeBytes, instance)\n },\n\n json () {\n // The json() method steps are to return the result of running\n // consume body with this and parse JSON from bytes.\n return specConsumeBody(this, parseJSONFromBytes, instance)\n },\n\n async formData () {\n webidl.brandCheck(this, instance)\n\n throwIfAborted(this[kState])\n\n const contentType = this.headers.get('Content-Type')\n\n // If mimeType\u2019s essence is \"multipart/form-data\", then:\n if (/multipart\\/form-data/.test(contentType)) {\n const headers = {}\n for (const [key, value] of this.headers) headers[key.toLowerCase()] = value\n\n const responseFormData = new FormData()\n\n let busboy\n\n try {\n busboy = Busboy({\n headers,\n defParamCharset: 'utf8'\n })\n } catch (err) {\n throw new DOMException(`${err}`, 'AbortError')\n }\n\n busboy.on('field', (name, value) => {\n responseFormData.append(name, value)\n })\n busboy.on('file', (name, value, info) => {\n const { filename, encoding, mimeType } = info\n const chunks = []\n\n if (encoding === 'base64' || encoding.toLowerCase() === 'base64') {\n let base64chunk = ''\n\n value.on('data', (chunk) => {\n base64chunk += chunk.toString().replace(/[\\r\\n]/gm, '')\n\n const end = base64chunk.length - base64chunk.length % 4\n chunks.push(Buffer.from(base64chunk.slice(0, end), 'base64'))\n\n base64chunk = base64chunk.slice(end)\n })\n value.on('end', () => {\n chunks.push(Buffer.from(base64chunk, 'base64'))\n responseFormData.append(name, new File(chunks, filename, { type: mimeType }))\n })\n } else {\n value.on('data', (chunk) => {\n chunks.push(chunk)\n })\n value.on('end', () => {\n responseFormData.append(name, new File(chunks, filename, { type: mimeType }))\n })\n }\n })\n\n const busboyResolve = new Promise((resolve, reject) => {\n busboy.on('finish', resolve)\n busboy.on('error', (err) => reject(new TypeError(err)))\n })\n\n if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk)\n busboy.end()\n await busboyResolve\n\n return responseFormData\n } else if (/application\\/x-www-form-urlencoded/.test(contentType)) {\n // Otherwise, if mimeType\u2019s essence is \"application/x-www-form-urlencoded\", then:\n\n // 1. Let entries be the result of parsing bytes.\n let entries\n try {\n let text = ''\n // application/x-www-form-urlencoded parser will keep the BOM.\n // https://url.spec.whatwg.org/#concept-urlencoded-parser\n const textDecoder = new TextDecoder('utf-8', { ignoreBOM: true })\n for await (const chunk of consumeBody(this[kState].body)) {\n if (!isUint8Array(chunk)) {\n throw new TypeError('Expected Uint8Array chunk')\n }\n text += textDecoder.decode(chunk, { stream: true })\n }\n text += textDecoder.decode()\n entries = new URLSearchParams(text)\n } catch (err) {\n // istanbul ignore next: Unclear when new URLSearchParams can fail on a string.\n // 2. If entries is failure, then throw a TypeError.\n throw Object.assign(new TypeError(), { cause: err })\n }\n\n // 3. Return a new FormData object whose entries are entries.\n const formData = new FormData()\n for (const [name, value] of entries) {\n formData.append(name, value)\n }\n return formData\n } else {\n // Wait a tick before checking if the request has been aborted.\n // Otherwise, a TypeError can be thrown when an AbortError should.\n await Promise.resolve()\n\n throwIfAborted(this[kState])\n\n // Otherwise, throw a TypeError.\n throw webidl.errors.exception({\n header: `${instance.name}.formData`,\n message: 'Could not parse content as FormData.'\n })\n }\n }\n }\n\n return methods\n}\n\nfunction mixinBody (prototype) {\n Object.assign(prototype.prototype, bodyMixinMethods(prototype))\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#concept-body-consume-body\n * @param {Response|Request} object\n * @param {(value: unknown) => unknown} convertBytesToJSValue\n * @param {Response|Request} instance\n */\nasync function specConsumeBody (object, convertBytesToJSValue, instance) {\n webidl.brandCheck(object, instance)\n\n throwIfAborted(object[kState])\n\n // 1. If object is unusable, then return a promise rejected\n // with a TypeError.\n if (bodyUnusable(object[kState].body)) {\n throw new TypeError('Body is unusable')\n }\n\n // 2. Let promise be a new promise.\n const promise = createDeferredPromise()\n\n // 3. Let errorSteps given error be to reject promise with error.\n const errorSteps = (error) => promise.reject(error)\n\n // 4. Let successSteps given a byte sequence data be to resolve\n // promise with the result of running convertBytesToJSValue\n // with data. If that threw an exception, then run errorSteps\n // with that exception.\n const successSteps = (data) => {\n try {\n promise.resolve(convertBytesToJSValue(data))\n } catch (e) {\n errorSteps(e)\n }\n }\n\n // 5. If object\u2019s body is null, then run successSteps with an\n // empty byte sequence.\n if (object[kState].body == null) {\n successSteps(new Uint8Array())\n return promise.promise\n }\n\n // 6. Otherwise, fully read object\u2019s body given successSteps,\n // errorSteps, and object\u2019s relevant global object.\n fullyReadBody(object[kState].body, successSteps, errorSteps)\n\n // 7. Return promise.\n return promise.promise\n}\n\n// https://fetch.spec.whatwg.org/#body-unusable\nfunction bodyUnusable (body) {\n // An object including the Body interface mixin is\n // said to be unusable if its body is non-null and\n // its body\u2019s stream is disturbed or locked.\n return body != null && (body.stream.locked || util.isDisturbed(body.stream))\n}\n\n/**\n * @see https://encoding.spec.whatwg.org/#utf-8-decode\n * @param {Buffer} buffer\n */\nfunction utf8DecodeBytes (buffer) {\n if (buffer.length === 0) {\n return ''\n }\n\n // 1. Let buffer be the result of peeking three bytes from\n // ioQueue, converted to a byte sequence.\n\n // 2. If buffer is 0xEF 0xBB 0xBF, then read three\n // bytes from ioQueue. (Do nothing with those bytes.)\n if (buffer[0] === 0xEF && buffer[1] === 0xBB && buffer[2] === 0xBF) {\n buffer = buffer.subarray(3)\n }\n\n // 3. Process a queue with an instance of UTF-8\u2019s\n // decoder, ioQueue, output, and \"replacement\".\n const output = new TextDecoder().decode(buffer)\n\n // 4. Return output.\n return output\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#parse-json-bytes-to-a-javascript-value\n * @param {Uint8Array} bytes\n */\nfunction parseJSONFromBytes (bytes) {\n return JSON.parse(utf8DecodeBytes(bytes))\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#concept-body-mime-type\n * @param {import('./response').Response|import('./request').Request} object\n */\nfunction bodyMimeType (object) {\n const { headersList } = object[kState]\n const contentType = headersList.get('content-type')\n\n if (contentType === null) {\n return 'failure'\n }\n\n return parseMIMEType(contentType)\n}\n\nmodule.exports = {\n extractBody,\n safelyExtractBody,\n cloneBody,\n mixinBody\n}\n", "'use strict'\n\nconst {\n InvalidArgumentError,\n NotSupportedError\n} = require('./errors')\nconst assert = require('assert')\nconst util = require('./util')\n\n// tokenRegExp and headerCharRegex have been lifted from\n// https://github.com/nodejs/node/blob/main/lib/_http_common.js\n\n/**\n * Verifies that the given val is a valid HTTP token\n * per the rules defined in RFC 7230\n * See https://tools.ietf.org/html/rfc7230#section-3.2.6\n */\nconst tokenRegExp = /^[\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]+$/\n\n/**\n * Matches if val contains an invalid field-vchar\n * field-value = *( field-content / obs-fold )\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n */\nconst headerCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/\n\n// Verifies that a given path is valid does not contain control chars \\x00 to \\x20\nconst invalidPathRegex = /[^\\u0021-\\u00ff]/\n\nconst kHandler = Symbol('handler')\n\nconst channels = {}\n\nlet extractBody\n\ntry {\n const diagnosticsChannel = require('diagnostics_channel')\n channels.create = diagnosticsChannel.channel('undici:request:create')\n channels.bodySent = diagnosticsChannel.channel('undici:request:bodySent')\n channels.headers = diagnosticsChannel.channel('undici:request:headers')\n channels.trailers = diagnosticsChannel.channel('undici:request:trailers')\n channels.error = diagnosticsChannel.channel('undici:request:error')\n} catch {\n channels.create = { hasSubscribers: false }\n channels.bodySent = { hasSubscribers: false }\n channels.headers = { hasSubscribers: false }\n channels.trailers = { hasSubscribers: false }\n channels.error = { hasSubscribers: false }\n}\n\nclass Request {\n constructor (origin, {\n path,\n method,\n body,\n headers,\n query,\n idempotent,\n blocking,\n upgrade,\n headersTimeout,\n bodyTimeout,\n reset,\n throwOnError\n }, handler) {\n if (typeof path !== 'string') {\n throw new InvalidArgumentError('path must be a string')\n } else if (\n path[0] !== '/' &&\n !(path.startsWith('http://') || path.startsWith('https://')) &&\n method !== 'CONNECT'\n ) {\n throw new InvalidArgumentError('path must be an absolute URL or start with a slash')\n } else if (invalidPathRegex.exec(path) !== null) {\n throw new InvalidArgumentError('invalid request path')\n }\n\n if (typeof method !== 'string') {\n throw new InvalidArgumentError('method must be a string')\n } else if (tokenRegExp.exec(method) === null) {\n throw new InvalidArgumentError('invalid request method')\n }\n\n if (upgrade && typeof upgrade !== 'string') {\n throw new InvalidArgumentError('upgrade must be a string')\n }\n\n if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {\n throw new InvalidArgumentError('invalid headersTimeout')\n }\n\n if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {\n throw new InvalidArgumentError('invalid bodyTimeout')\n }\n\n if (reset != null && typeof reset !== 'boolean') {\n throw new InvalidArgumentError('invalid reset')\n }\n\n this.headersTimeout = headersTimeout\n\n this.bodyTimeout = bodyTimeout\n\n this.throwOnError = throwOnError === true\n\n this.method = method\n\n if (body == null) {\n this.body = null\n } else if (util.isStream(body)) {\n this.body = body\n } else if (util.isBuffer(body)) {\n this.body = body.byteLength ? body : null\n } else if (ArrayBuffer.isView(body)) {\n this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null\n } else if (body instanceof ArrayBuffer) {\n this.body = body.byteLength ? Buffer.from(body) : null\n } else if (typeof body === 'string') {\n this.body = body.length ? Buffer.from(body) : null\n } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {\n this.body = body\n } else {\n throw new InvalidArgumentError('body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable')\n }\n\n this.completed = false\n\n this.aborted = false\n\n this.upgrade = upgrade || null\n\n this.path = query ? util.buildURL(path, query) : path\n\n this.origin = origin\n\n this.idempotent = idempotent == null\n ? method === 'HEAD' || method === 'GET'\n : idempotent\n\n this.blocking = blocking == null ? false : blocking\n\n this.reset = reset == null ? null : reset\n\n this.host = null\n\n this.contentLength = null\n\n this.contentType = null\n\n this.headers = ''\n\n if (Array.isArray(headers)) {\n if (headers.length % 2 !== 0) {\n throw new InvalidArgumentError('headers array must be even')\n }\n for (let i = 0; i < headers.length; i += 2) {\n processHeader(this, headers[i], headers[i + 1])\n }\n } else if (headers && typeof headers === 'object') {\n const keys = Object.keys(headers)\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n processHeader(this, key, headers[key])\n }\n } else if (headers != null) {\n throw new InvalidArgumentError('headers must be an object or an array')\n }\n\n if (util.isFormDataLike(this.body)) {\n if (util.nodeMajor < 16 || (util.nodeMajor === 16 && util.nodeMinor < 8)) {\n throw new InvalidArgumentError('Form-Data bodies are only supported in node v16.8 and newer.')\n }\n\n if (!extractBody) {\n extractBody = require('../fetch/body.js').extractBody\n }\n\n const [bodyStream, contentType] = extractBody(body)\n if (this.contentType == null) {\n this.contentType = contentType\n this.headers += `content-type: ${contentType}\\r\\n`\n }\n this.body = bodyStream.stream\n this.contentLength = bodyStream.length\n } else if (util.isBlobLike(body) && this.contentType == null && body.type) {\n this.contentType = body.type\n this.headers += `content-type: ${body.type}\\r\\n`\n }\n\n util.validateHandler(handler, method, upgrade)\n\n this.servername = util.getServerName(this.host)\n\n this[kHandler] = handler\n\n if (channels.create.hasSubscribers) {\n channels.create.publish({ request: this })\n }\n }\n\n onBodySent (chunk) {\n if (this[kHandler].onBodySent) {\n try {\n this[kHandler].onBodySent(chunk)\n } catch (err) {\n this.onError(err)\n }\n }\n }\n\n onRequestSent () {\n if (channels.bodySent.hasSubscribers) {\n channels.bodySent.publish({ request: this })\n }\n }\n\n onConnect (abort) {\n assert(!this.aborted)\n assert(!this.completed)\n\n return this[kHandler].onConnect(abort)\n }\n\n onHeaders (statusCode, headers, resume, statusText) {\n assert(!this.aborted)\n assert(!this.completed)\n\n if (channels.headers.hasSubscribers) {\n channels.headers.publish({ request: this, response: { statusCode, headers, statusText } })\n }\n\n return this[kHandler].onHeaders(statusCode, headers, resume, statusText)\n }\n\n onData (chunk) {\n assert(!this.aborted)\n assert(!this.completed)\n\n return this[kHandler].onData(chunk)\n }\n\n onUpgrade (statusCode, headers, socket) {\n assert(!this.aborted)\n assert(!this.completed)\n\n return this[kHandler].onUpgrade(statusCode, headers, socket)\n }\n\n onComplete (trailers) {\n assert(!this.aborted)\n\n this.completed = true\n if (channels.trailers.hasSubscribers) {\n channels.trailers.publish({ request: this, trailers })\n }\n return this[kHandler].onComplete(trailers)\n }\n\n onError (error) {\n if (channels.error.hasSubscribers) {\n channels.error.publish({ request: this, error })\n }\n\n if (this.aborted) {\n return\n }\n this.aborted = true\n return this[kHandler].onError(error)\n }\n\n addHeader (key, value) {\n processHeader(this, key, value)\n return this\n }\n}\n\nfunction processHeaderValue (key, val) {\n if (val && typeof val === 'object') {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n\n val = val != null ? `${val}` : ''\n\n if (headerCharRegex.exec(val) !== null) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n\n return `${key}: ${val}\\r\\n`\n}\n\nfunction processHeader (request, key, val) {\n if (val && (typeof val === 'object' && !Array.isArray(val))) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n } else if (val === undefined) {\n return\n }\n\n if (\n request.host === null &&\n key.length === 4 &&\n key.toLowerCase() === 'host'\n ) {\n if (headerCharRegex.exec(val) !== null) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n // Consumed by Client\n request.host = val\n } else if (\n request.contentLength === null &&\n key.length === 14 &&\n key.toLowerCase() === 'content-length'\n ) {\n request.contentLength = parseInt(val, 10)\n if (!Number.isFinite(request.contentLength)) {\n throw new InvalidArgumentError('invalid content-length header')\n }\n } else if (\n request.contentType === null &&\n key.length === 12 &&\n key.toLowerCase() === 'content-type'\n ) {\n request.contentType = val\n request.headers += processHeaderValue(key, val)\n } else if (\n key.length === 17 &&\n key.toLowerCase() === 'transfer-encoding'\n ) {\n throw new InvalidArgumentError('invalid transfer-encoding header')\n } else if (\n key.length === 10 &&\n key.toLowerCase() === 'connection'\n ) {\n const value = typeof val === 'string' ? val.toLowerCase() : null\n if (value !== 'close' && value !== 'keep-alive') {\n throw new InvalidArgumentError('invalid connection header')\n } else if (value === 'close') {\n request.reset = true\n }\n } else if (\n key.length === 10 &&\n key.toLowerCase() === 'keep-alive'\n ) {\n throw new InvalidArgumentError('invalid keep-alive header')\n } else if (\n key.length === 7 &&\n key.toLowerCase() === 'upgrade'\n ) {\n throw new InvalidArgumentError('invalid upgrade header')\n } else if (\n key.length === 6 &&\n key.toLowerCase() === 'expect'\n ) {\n throw new NotSupportedError('expect header not supported')\n } else if (tokenRegExp.exec(key) === null) {\n throw new InvalidArgumentError('invalid header key')\n } else {\n if (Array.isArray(val)) {\n for (let i = 0; i < val.length; i++) {\n request.headers += processHeaderValue(key, val[i])\n }\n } else {\n request.headers += processHeaderValue(key, val)\n }\n }\n}\n\nmodule.exports = Request\n", "'use strict'\n\nconst EventEmitter = require('events')\n\nclass Dispatcher extends EventEmitter {\n dispatch () {\n throw new Error('not implemented')\n }\n\n close () {\n throw new Error('not implemented')\n }\n\n destroy () {\n throw new Error('not implemented')\n }\n}\n\nmodule.exports = Dispatcher\n", "'use strict'\n\nconst Dispatcher = require('./dispatcher')\nconst {\n ClientDestroyedError,\n ClientClosedError,\n InvalidArgumentError\n} = require('./core/errors')\nconst { kDestroy, kClose, kDispatch, kInterceptors } = require('./core/symbols')\n\nconst kDestroyed = Symbol('destroyed')\nconst kClosed = Symbol('closed')\nconst kOnDestroyed = Symbol('onDestroyed')\nconst kOnClosed = Symbol('onClosed')\nconst kInterceptedDispatch = Symbol('Intercepted Dispatch')\n\nclass DispatcherBase extends Dispatcher {\n constructor () {\n super()\n\n this[kDestroyed] = false\n this[kOnDestroyed] = null\n this[kClosed] = false\n this[kOnClosed] = []\n }\n\n get destroyed () {\n return this[kDestroyed]\n }\n\n get closed () {\n return this[kClosed]\n }\n\n get interceptors () {\n return this[kInterceptors]\n }\n\n set interceptors (newInterceptors) {\n if (newInterceptors) {\n for (let i = newInterceptors.length - 1; i >= 0; i--) {\n const interceptor = this[kInterceptors][i]\n if (typeof interceptor !== 'function') {\n throw new InvalidArgumentError('interceptor must be an function')\n }\n }\n }\n\n this[kInterceptors] = newInterceptors\n }\n\n close (callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n this.close((err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n if (this[kDestroyed]) {\n queueMicrotask(() => callback(new ClientDestroyedError(), null))\n return\n }\n\n if (this[kClosed]) {\n if (this[kOnClosed]) {\n this[kOnClosed].push(callback)\n } else {\n queueMicrotask(() => callback(null, null))\n }\n return\n }\n\n this[kClosed] = true\n this[kOnClosed].push(callback)\n\n const onClosed = () => {\n const callbacks = this[kOnClosed]\n this[kOnClosed] = null\n for (let i = 0; i < callbacks.length; i++) {\n callbacks[i](null, null)\n }\n }\n\n // Should not error.\n this[kClose]()\n .then(() => this.destroy())\n .then(() => {\n queueMicrotask(onClosed)\n })\n }\n\n destroy (err, callback) {\n if (typeof err === 'function') {\n callback = err\n err = null\n }\n\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n this.destroy(err, (err, data) => {\n return err ? /* istanbul ignore next: should never error */ reject(err) : resolve(data)\n })\n })\n }\n\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n if (this[kDestroyed]) {\n if (this[kOnDestroyed]) {\n this[kOnDestroyed].push(callback)\n } else {\n queueMicrotask(() => callback(null, null))\n }\n return\n }\n\n if (!err) {\n err = new ClientDestroyedError()\n }\n\n this[kDestroyed] = true\n this[kOnDestroyed] = this[kOnDestroyed] || []\n this[kOnDestroyed].push(callback)\n\n const onDestroyed = () => {\n const callbacks = this[kOnDestroyed]\n this[kOnDestroyed] = null\n for (let i = 0; i < callbacks.length; i++) {\n callbacks[i](null, null)\n }\n }\n\n // Should not error.\n this[kDestroy](err).then(() => {\n queueMicrotask(onDestroyed)\n })\n }\n\n [kInterceptedDispatch] (opts, handler) {\n if (!this[kInterceptors] || this[kInterceptors].length === 0) {\n this[kInterceptedDispatch] = this[kDispatch]\n return this[kDispatch](opts, handler)\n }\n\n let dispatch = this[kDispatch].bind(this)\n for (let i = this[kInterceptors].length - 1; i >= 0; i--) {\n dispatch = this[kInterceptors][i](dispatch)\n }\n this[kInterceptedDispatch] = dispatch\n return dispatch(opts, handler)\n }\n\n dispatch (opts, handler) {\n if (!handler || typeof handler !== 'object') {\n throw new InvalidArgumentError('handler must be an object')\n }\n\n try {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('opts must be an object.')\n }\n\n if (this[kDestroyed] || this[kOnDestroyed]) {\n throw new ClientDestroyedError()\n }\n\n if (this[kClosed]) {\n throw new ClientClosedError()\n }\n\n return this[kInterceptedDispatch](opts, handler)\n } catch (err) {\n if (typeof handler.onError !== 'function') {\n throw new InvalidArgumentError('invalid onError method')\n }\n\n handler.onError(err)\n\n return false\n }\n }\n}\n\nmodule.exports = DispatcherBase\n", "'use strict'\n\nconst net = require('net')\nconst assert = require('assert')\nconst util = require('./util')\nconst { InvalidArgumentError, ConnectTimeoutError } = require('./errors')\n\nlet tls // include tls conditionally since it is not always available\n\n// TODO: session re-use does not wait for the first\n// connection to resolve the session and might therefore\n// resolve the same servername multiple times even when\n// re-use is enabled.\n\nlet SessionCache\nif (global.FinalizationRegistry) {\n SessionCache = class WeakSessionCache {\n constructor (maxCachedSessions) {\n this._maxCachedSessions = maxCachedSessions\n this._sessionCache = new Map()\n this._sessionRegistry = new global.FinalizationRegistry((key) => {\n if (this._sessionCache.size < this._maxCachedSessions) {\n return\n }\n\n const ref = this._sessionCache.get(key)\n if (ref !== undefined && ref.deref() === undefined) {\n this._sessionCache.delete(key)\n }\n })\n }\n\n get (sessionKey) {\n const ref = this._sessionCache.get(sessionKey)\n return ref ? ref.deref() : null\n }\n\n set (sessionKey, session) {\n if (this._maxCachedSessions === 0) {\n return\n }\n\n this._sessionCache.set(sessionKey, new WeakRef(session))\n this._sessionRegistry.register(session, sessionKey)\n }\n }\n} else {\n SessionCache = class SimpleSessionCache {\n constructor (maxCachedSessions) {\n this._maxCachedSessions = maxCachedSessions\n this._sessionCache = new Map()\n }\n\n get (sessionKey) {\n return this._sessionCache.get(sessionKey)\n }\n\n set (sessionKey, session) {\n if (this._maxCachedSessions === 0) {\n return\n }\n\n if (this._sessionCache.size >= this._maxCachedSessions) {\n // remove the oldest session\n const { value: oldestKey } = this._sessionCache.keys().next()\n this._sessionCache.delete(oldestKey)\n }\n\n this._sessionCache.set(sessionKey, session)\n }\n }\n}\n\nfunction buildConnector ({ maxCachedSessions, socketPath, timeout, ...opts }) {\n if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {\n throw new InvalidArgumentError('maxCachedSessions must be a positive integer or zero')\n }\n\n const options = { path: socketPath, ...opts }\n const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions)\n timeout = timeout == null ? 10e3 : timeout\n\n return function connect ({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {\n let socket\n if (protocol === 'https:') {\n if (!tls) {\n tls = require('tls')\n }\n servername = servername || options.servername || util.getServerName(host) || null\n\n const sessionKey = servername || hostname\n const session = sessionCache.get(sessionKey) || null\n\n assert(sessionKey)\n\n socket = tls.connect({\n highWaterMark: 16384, // TLS in node can't have bigger HWM anyway...\n ...options,\n servername,\n session,\n localAddress,\n socket: httpSocket, // upgrade socket connection\n port: port || 443,\n host: hostname\n })\n\n socket\n .on('session', function (session) {\n // TODO (fix): Can a session become invalid once established? Don't think so?\n sessionCache.set(sessionKey, session)\n })\n } else {\n assert(!httpSocket, 'httpSocket can only be sent on TLS update')\n socket = net.connect({\n highWaterMark: 64 * 1024, // Same as nodejs fs streams.\n ...options,\n localAddress,\n port: port || 80,\n host: hostname\n })\n }\n\n // Set TCP keep alive options on the socket here instead of in connect() for the case of assigning the socket\n if (options.keepAlive == null || options.keepAlive) {\n const keepAliveInitialDelay = options.keepAliveInitialDelay === undefined ? 60e3 : options.keepAliveInitialDelay\n socket.setKeepAlive(true, keepAliveInitialDelay)\n }\n\n const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout)\n\n socket\n .setNoDelay(true)\n .once(protocol === 'https:' ? 'secureConnect' : 'connect', function () {\n cancelTimeout()\n\n if (callback) {\n const cb = callback\n callback = null\n cb(null, this)\n }\n })\n .on('error', function (err) {\n cancelTimeout()\n\n if (callback) {\n const cb = callback\n callback = null\n cb(err)\n }\n })\n\n return socket\n }\n}\n\nfunction setupTimeout (onConnectTimeout, timeout) {\n if (!timeout) {\n return () => {}\n }\n\n let s1 = null\n let s2 = null\n const timeoutId = setTimeout(() => {\n // setImmediate is added to make sure that we priotorise socket error events over timeouts\n s1 = setImmediate(() => {\n if (process.platform === 'win32') {\n // Windows needs an extra setImmediate probably due to implementation differences in the socket logic\n s2 = setImmediate(() => onConnectTimeout())\n } else {\n onConnectTimeout()\n }\n })\n }, timeout)\n return () => {\n clearTimeout(timeoutId)\n clearImmediate(s1)\n clearImmediate(s2)\n }\n}\n\nfunction onConnectTimeout (socket) {\n util.destroy(socket, new ConnectTimeoutError())\n}\n\nmodule.exports = buildConnector\n", null, null, "'use strict'\n\nconst util = require('../core/util')\nconst { kBodyUsed } = require('../core/symbols')\nconst assert = require('assert')\nconst { InvalidArgumentError } = require('../core/errors')\nconst EE = require('events')\n\nconst redirectableStatusCodes = [300, 301, 302, 303, 307, 308]\n\nconst kBody = Symbol('body')\n\nclass BodyAsyncIterable {\n constructor (body) {\n this[kBody] = body\n this[kBodyUsed] = false\n }\n\n async * [Symbol.asyncIterator] () {\n assert(!this[kBodyUsed], 'disturbed')\n this[kBodyUsed] = true\n yield * this[kBody]\n }\n}\n\nclass RedirectHandler {\n constructor (dispatch, maxRedirections, opts, handler) {\n if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {\n throw new InvalidArgumentError('maxRedirections must be a positive number')\n }\n\n util.validateHandler(handler, opts.method, opts.upgrade)\n\n this.dispatch = dispatch\n this.location = null\n this.abort = null\n this.opts = { ...opts, maxRedirections: 0 } // opts must be a copy\n this.maxRedirections = maxRedirections\n this.handler = handler\n this.history = []\n\n if (util.isStream(this.opts.body)) {\n // TODO (fix): Provide some way for the user to cache the file to e.g. /tmp\n // so that it can be dispatched again?\n // TODO (fix): Do we need 100-expect support to provide a way to do this properly?\n if (util.bodyLength(this.opts.body) === 0) {\n this.opts.body\n .on('data', function () {\n assert(false)\n })\n }\n\n if (typeof this.opts.body.readableDidRead !== 'boolean') {\n this.opts.body[kBodyUsed] = false\n EE.prototype.on.call(this.opts.body, 'data', function () {\n this[kBodyUsed] = true\n })\n }\n } else if (this.opts.body && typeof this.opts.body.pipeTo === 'function') {\n // TODO (fix): We can't access ReadableStream internal state\n // to determine whether or not it has been disturbed. This is just\n // a workaround.\n this.opts.body = new BodyAsyncIterable(this.opts.body)\n } else if (\n this.opts.body &&\n typeof this.opts.body !== 'string' &&\n !ArrayBuffer.isView(this.opts.body) &&\n util.isIterable(this.opts.body)\n ) {\n // TODO: Should we allow re-using iterable if !this.opts.idempotent\n // or through some other flag?\n this.opts.body = new BodyAsyncIterable(this.opts.body)\n }\n }\n\n onConnect (abort) {\n this.abort = abort\n this.handler.onConnect(abort, { history: this.history })\n }\n\n onUpgrade (statusCode, headers, socket) {\n this.handler.onUpgrade(statusCode, headers, socket)\n }\n\n onError (error) {\n this.handler.onError(error)\n }\n\n onHeaders (statusCode, headers, resume, statusText) {\n this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body)\n ? null\n : parseLocation(statusCode, headers)\n\n if (this.opts.origin) {\n this.history.push(new URL(this.opts.path, this.opts.origin))\n }\n\n if (!this.location) {\n return this.handler.onHeaders(statusCode, headers, resume, statusText)\n }\n\n const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)))\n const path = search ? `${pathname}${search}` : pathname\n\n // Remove headers referring to the original URL.\n // By default it is Host only, unless it's a 303 (see below), which removes also all Content-* headers.\n // https://tools.ietf.org/html/rfc7231#section-6.4\n this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin)\n this.opts.path = path\n this.opts.origin = origin\n this.opts.maxRedirections = 0\n this.opts.query = null\n\n // https://tools.ietf.org/html/rfc7231#section-6.4.4\n // In case of HTTP 303, always replace method to be either HEAD or GET\n if (statusCode === 303 && this.opts.method !== 'HEAD') {\n this.opts.method = 'GET'\n this.opts.body = null\n }\n }\n\n onData (chunk) {\n if (this.location) {\n /*\n https://tools.ietf.org/html/rfc7231#section-6.4\n\n TLDR: undici always ignores 3xx response bodies.\n\n Redirection is used to serve the requested resource from another URL, so it is assumes that\n no body is generated (and thus can be ignored). Even though generating a body is not prohibited.\n\n For status 301, 302, 303, 307 and 308 (the latter from RFC 7238), the specs mention that the body usually\n (which means it's optional and not mandated) contain just an hyperlink to the value of\n the Location response header, so the body can be ignored safely.\n\n For status 300, which is \"Multiple Choices\", the spec mentions both generating a Location\n response header AND a response body with the other possible location to follow.\n Since the spec explicitily chooses not to specify a format for such body and leave it to\n servers and browsers implementors, we ignore the body as there is no specified way to eventually parse it.\n */\n } else {\n return this.handler.onData(chunk)\n }\n }\n\n onComplete (trailers) {\n if (this.location) {\n /*\n https://tools.ietf.org/html/rfc7231#section-6.4\n\n TLDR: undici always ignores 3xx response trailers as they are not expected in case of redirections\n and neither are useful if present.\n\n See comment on onData method above for more detailed informations.\n */\n\n this.location = null\n this.abort = null\n\n this.dispatch(this.opts, this)\n } else {\n this.handler.onComplete(trailers)\n }\n }\n\n onBodySent (chunk) {\n if (this.handler.onBodySent) {\n this.handler.onBodySent(chunk)\n }\n }\n}\n\nfunction parseLocation (statusCode, headers) {\n if (redirectableStatusCodes.indexOf(statusCode) === -1) {\n return null\n }\n\n for (let i = 0; i < headers.length; i += 2) {\n if (headers[i].toString().toLowerCase() === 'location') {\n return headers[i + 1]\n }\n }\n}\n\n// https://tools.ietf.org/html/rfc7231#section-6.4.4\nfunction shouldRemoveHeader (header, removeContent, unknownOrigin) {\n return (\n (header.length === 4 && header.toString().toLowerCase() === 'host') ||\n (removeContent && header.toString().toLowerCase().indexOf('content-') === 0) ||\n (unknownOrigin && header.length === 13 && header.toString().toLowerCase() === 'authorization') ||\n (unknownOrigin && header.length === 6 && header.toString().toLowerCase() === 'cookie')\n )\n}\n\n// https://tools.ietf.org/html/rfc7231#section-6.4\nfunction cleanRequestHeaders (headers, removeContent, unknownOrigin) {\n const ret = []\n if (Array.isArray(headers)) {\n for (let i = 0; i < headers.length; i += 2) {\n if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {\n ret.push(headers[i], headers[i + 1])\n }\n }\n } else if (headers && typeof headers === 'object') {\n for (const key of Object.keys(headers)) {\n if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {\n ret.push(key, headers[key])\n }\n }\n } else {\n assert(headers == null, 'headers must be an object or an array')\n }\n return ret\n}\n\nmodule.exports = RedirectHandler\n", "'use strict'\n\nconst RedirectHandler = require('../handler/RedirectHandler')\n\nfunction createRedirectInterceptor ({ maxRedirections: defaultMaxRedirections }) {\n return (dispatch) => {\n return function Intercept (opts, handler) {\n const { maxRedirections = defaultMaxRedirections } = opts\n\n if (!maxRedirections) {\n return dispatch(opts, handler)\n }\n\n const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler)\n opts = { ...opts, maxRedirections: 0 } // Stop sub dispatcher from also redirecting.\n return dispatch(opts, redirectHandler)\n }\n }\n}\n\nmodule.exports = createRedirectInterceptor\n", "module.exports = 'AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8='\n", "module.exports = 'AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AcsBygG4AckBuQHIAboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBANwBC0EAIRAMxgELQQ4hEAzFAQtBDSEQDMQBC0EPIRAMwwELQRAhEAzCAQtBEyEQDMEBC0EUIRAMwAELQRUhEAy/AQtBFiEQDL4BC0EXIRAMvQELQRghEAy8AQtBGSEQDLsBC0EaIRAMugELQRshEAy5AQtBHCEQDLgBC0EIIRAMtwELQR0hEAy2AQtBICEQDLUBC0EfIRAMtAELQQchEAyzAQtBISEQDLIBC0EiIRAMsQELQR4hEAywAQtBIyEQDK8BC0ESIRAMrgELQREhEAytAQtBJCEQDKwBC0ElIRAMqwELQSYhEAyqAQtBJyEQDKkBC0HDASEQDKgBC0EpIRAMpwELQSshEAymAQtBLCEQDKUBC0EtIRAMpAELQS4hEAyjAQtBLyEQDKIBC0HEASEQDKEBC0EwIRAMoAELQTQhEAyfAQtBDCEQDJ4BC0ExIRAMnQELQTIhEAycAQtBMyEQDJsBC0E5IRAMmgELQTUhEAyZAQtBxQEhEAyYAQtBCyEQDJcBC0E6IRAMlgELQTYhEAyVAQtBCiEQDJQBC0E3IRAMkwELQTghEAySAQtBPCEQDJEBC0E7IRAMkAELQT0hEAyPAQtBCSEQDI4BC0EoIRAMjQELQT4hEAyMAQtBPyEQDIsBC0HAACEQDIoBC0HBACEQDIkBC0HCACEQDIgBC0HDACEQDIcBC0HEACEQDIYBC0HFACEQDIUBC0HGACEQDIQBC0EqIRAMgwELQccAIRAMggELQcgAIRAMgQELQckAIRAMgAELQcoAIRAMfwtBywAhEAx+C0HNACEQDH0LQcwAIRAMfAtBzgAhEAx7C0HPACEQDHoLQdAAIRAMeQtB0QAhEAx4C0HSACEQDHcLQdMAIRAMdgtB1AAhEAx1C0HWACEQDHQLQdUAIRAMcwtBBiEQDHILQdcAIRAMcQtBBSEQDHALQdgAIRAMbwtBBCEQDG4LQdkAIRAMbQtB2gAhEAxsC0HbACEQDGsLQdwAIRAMagtBAyEQDGkLQd0AIRAMaAtB3gAhEAxnC0HfACEQDGYLQeEAIRAMZQtB4AAhEAxkC0HiACEQDGMLQeMAIRAMYgtBAiEQDGELQeQAIRAMYAtB5QAhEAxfC0HmACEQDF4LQecAIRAMXQtB6AAhEAxcC0HpACEQDFsLQeoAIRAMWgtB6wAhEAxZC0HsACEQDFgLQe0AIRAMVwtB7gAhEAxWC0HvACEQDFULQfAAIRAMVAtB8QAhEAxTC0HyACEQDFILQfMAIRAMUQtB9AAhEAxQC0H1ACEQDE8LQfYAIRAMTgtB9wAhEAxNC0H4ACEQDEwLQfkAIRAMSwtB+gAhEAxKC0H7ACEQDEkLQfwAIRAMSAtB/QAhEAxHC0H+ACEQDEYLQf8AIRAMRQtBgAEhEAxEC0GBASEQDEMLQYIBIRAMQgtBgwEhEAxBC0GEASEQDEALQYUBIRAMPwtBhgEhEAw+C0GHASEQDD0LQYgBIRAMPAtBiQEhEAw7C0GKASEQDDoLQYsBIRAMOQtBjAEhEAw4C0GNASEQDDcLQY4BIRAMNgtBjwEhEAw1C0GQASEQDDQLQZEBIRAMMwtBkgEhEAwyC0GTASEQDDELQZQBIRAMMAtBlQEhEAwvC0GWASEQDC4LQZcBIRAMLQtBmAEhEAwsC0GZASEQDCsLQZoBIRAMKgtBmwEhEAwpC0GcASEQDCgLQZ0BIRAMJwtBngEhEAwmC0GfASEQDCULQaABIRAMJAtBoQEhEAwjC0GiASEQDCILQaMBIRAMIQtBpAEhEAwgC0GlASEQDB8LQaYBIRAMHgtBpwEhEAwdC0GoASEQDBwLQakBIRAMGwtBqgEhEAwaC0GrASEQDBkLQawBIRAMGAtBrQEhEAwXC0GuASEQDBYLQQEhEAwVC0GvASEQDBQLQbABIRAMEwtBsQEhEAwSC0GzASEQDBELQbIBIRAMEAtBtAEhEAwPC0G1ASEQDA4LQbYBIRAMDQtBtwEhEAwMC0G4ASEQDAsLQbkBIRAMCgtBugEhEAwJC0G7ASEQDAgLQcYBIRAMBwtBvAEhEAwGC0G9ASEQDAULQb4BIRAMBAtBvwEhEAwDC0HAASEQDAILQcIBIRAMAQtBwQEhEAsDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=='\n", "// @ts-check\n\n'use strict'\n\n/* global WebAssembly */\n\nconst assert = require('assert')\nconst net = require('net')\nconst util = require('./core/util')\nconst timers = require('./timers')\nconst Request = require('./core/request')\nconst DispatcherBase = require('./dispatcher-base')\nconst {\n RequestContentLengthMismatchError,\n ResponseContentLengthMismatchError,\n InvalidArgumentError,\n RequestAbortedError,\n HeadersTimeoutError,\n HeadersOverflowError,\n SocketError,\n InformationalError,\n BodyTimeoutError,\n HTTPParserError,\n ResponseExceededMaxSizeError,\n ClientDestroyedError\n} = require('./core/errors')\nconst buildConnector = require('./core/connect')\nconst {\n kUrl,\n kReset,\n kServerName,\n kClient,\n kBusy,\n kParser,\n kConnect,\n kBlocking,\n kResuming,\n kRunning,\n kPending,\n kSize,\n kWriting,\n kQueue,\n kConnected,\n kConnecting,\n kNeedDrain,\n kNoRef,\n kKeepAliveDefaultTimeout,\n kHostHeader,\n kPendingIdx,\n kRunningIdx,\n kError,\n kPipelining,\n kSocket,\n kKeepAliveTimeoutValue,\n kMaxHeadersSize,\n kKeepAliveMaxTimeout,\n kKeepAliveTimeoutThreshold,\n kHeadersTimeout,\n kBodyTimeout,\n kStrictContentLength,\n kConnector,\n kMaxRedirections,\n kMaxRequests,\n kCounter,\n kClose,\n kDestroy,\n kDispatch,\n kInterceptors,\n kLocalAddress,\n kMaxResponseSize\n} = require('./core/symbols')\nconst FastBuffer = Buffer[Symbol.species]\n\nconst kClosedResolve = Symbol('kClosedResolve')\n\nconst channels = {}\n\ntry {\n const diagnosticsChannel = require('diagnostics_channel')\n channels.sendHeaders = diagnosticsChannel.channel('undici:client:sendHeaders')\n channels.beforeConnect = diagnosticsChannel.channel('undici:client:beforeConnect')\n channels.connectError = diagnosticsChannel.channel('undici:client:connectError')\n channels.connected = diagnosticsChannel.channel('undici:client:connected')\n} catch {\n channels.sendHeaders = { hasSubscribers: false }\n channels.beforeConnect = { hasSubscribers: false }\n channels.connectError = { hasSubscribers: false }\n channels.connected = { hasSubscribers: false }\n}\n\n/**\n * @type {import('../types/client').default}\n */\nclass Client extends DispatcherBase {\n /**\n *\n * @param {string|URL} url\n * @param {import('../types/client').Client.Options} options\n */\n constructor (url, {\n interceptors,\n maxHeaderSize,\n headersTimeout,\n socketTimeout,\n requestTimeout,\n connectTimeout,\n bodyTimeout,\n idleTimeout,\n keepAlive,\n keepAliveTimeout,\n maxKeepAliveTimeout,\n keepAliveMaxTimeout,\n keepAliveTimeoutThreshold,\n socketPath,\n pipelining,\n tls,\n strictContentLength,\n maxCachedSessions,\n maxRedirections,\n connect,\n maxRequestsPerClient,\n localAddress,\n maxResponseSize,\n autoSelectFamily,\n autoSelectFamilyAttemptTimeout\n } = {}) {\n super()\n\n if (keepAlive !== undefined) {\n throw new InvalidArgumentError('unsupported keepAlive, use pipelining=0 instead')\n }\n\n if (socketTimeout !== undefined) {\n throw new InvalidArgumentError('unsupported socketTimeout, use headersTimeout & bodyTimeout instead')\n }\n\n if (requestTimeout !== undefined) {\n throw new InvalidArgumentError('unsupported requestTimeout, use headersTimeout & bodyTimeout instead')\n }\n\n if (idleTimeout !== undefined) {\n throw new InvalidArgumentError('unsupported idleTimeout, use keepAliveTimeout instead')\n }\n\n if (maxKeepAliveTimeout !== undefined) {\n throw new InvalidArgumentError('unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead')\n }\n\n if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {\n throw new InvalidArgumentError('invalid maxHeaderSize')\n }\n\n if (socketPath != null && typeof socketPath !== 'string') {\n throw new InvalidArgumentError('invalid socketPath')\n }\n\n if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {\n throw new InvalidArgumentError('invalid connectTimeout')\n }\n\n if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {\n throw new InvalidArgumentError('invalid keepAliveTimeout')\n }\n\n if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {\n throw new InvalidArgumentError('invalid keepAliveMaxTimeout')\n }\n\n if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {\n throw new InvalidArgumentError('invalid keepAliveTimeoutThreshold')\n }\n\n if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {\n throw new InvalidArgumentError('headersTimeout must be a positive integer or zero')\n }\n\n if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {\n throw new InvalidArgumentError('bodyTimeout must be a positive integer or zero')\n }\n\n if (connect != null && typeof connect !== 'function' && typeof connect !== 'object') {\n throw new InvalidArgumentError('connect must be a function or an object')\n }\n\n if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {\n throw new InvalidArgumentError('maxRedirections must be a positive number')\n }\n\n if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {\n throw new InvalidArgumentError('maxRequestsPerClient must be a positive number')\n }\n\n if (localAddress != null && (typeof localAddress !== 'string' || net.isIP(localAddress) === 0)) {\n throw new InvalidArgumentError('localAddress must be valid string IP address')\n }\n\n if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {\n throw new InvalidArgumentError('maxResponseSize must be a positive number')\n }\n\n if (\n autoSelectFamilyAttemptTimeout != null &&\n (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)\n ) {\n throw new InvalidArgumentError('autoSelectFamilyAttemptTimeout must be a positive number')\n }\n\n if (typeof connect !== 'function') {\n connect = buildConnector({\n ...tls,\n maxCachedSessions,\n socketPath,\n timeout: connectTimeout,\n ...(util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined),\n ...connect\n })\n }\n\n this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client)\n ? interceptors.Client\n : [createRedirectInterceptor({ maxRedirections })]\n this[kUrl] = util.parseOrigin(url)\n this[kConnector] = connect\n this[kSocket] = null\n this[kPipelining] = pipelining != null ? pipelining : 1\n this[kMaxHeadersSize] = maxHeaderSize || 16384\n this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout\n this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 600e3 : keepAliveMaxTimeout\n this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold\n this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout]\n this[kServerName] = null\n this[kLocalAddress] = localAddress != null ? localAddress : null\n this[kResuming] = 0 // 0, idle, 1, scheduled, 2 resuming\n this[kNeedDrain] = 0 // 0, idle, 1, scheduled, 2 resuming\n this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ''}\\r\\n`\n this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 300e3\n this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 300e3\n this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength\n this[kMaxRedirections] = maxRedirections\n this[kMaxRequests] = maxRequestsPerClient\n this[kClosedResolve] = null\n this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1\n\n // kQueue is built up of 3 sections separated by\n // the kRunningIdx and kPendingIdx indices.\n // | complete | running | pending |\n // ^ kRunningIdx ^ kPendingIdx ^ kQueue.length\n // kRunningIdx points to the first running element.\n // kPendingIdx points to the first pending element.\n // This implements a fast queue with an amortized\n // time of O(1).\n\n this[kQueue] = []\n this[kRunningIdx] = 0\n this[kPendingIdx] = 0\n }\n\n get pipelining () {\n return this[kPipelining]\n }\n\n set pipelining (value) {\n this[kPipelining] = value\n resume(this, true)\n }\n\n get [kPending] () {\n return this[kQueue].length - this[kPendingIdx]\n }\n\n get [kRunning] () {\n return this[kPendingIdx] - this[kRunningIdx]\n }\n\n get [kSize] () {\n return this[kQueue].length - this[kRunningIdx]\n }\n\n get [kConnected] () {\n return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed\n }\n\n get [kBusy] () {\n const socket = this[kSocket]\n return (\n (socket && (socket[kReset] || socket[kWriting] || socket[kBlocking])) ||\n (this[kSize] >= (this[kPipelining] || 1)) ||\n this[kPending] > 0\n )\n }\n\n /* istanbul ignore: only used for test */\n [kConnect] (cb) {\n connect(this)\n this.once('connect', cb)\n }\n\n [kDispatch] (opts, handler) {\n const origin = opts.origin || this[kUrl].origin\n\n const request = new Request(origin, opts, handler)\n\n this[kQueue].push(request)\n if (this[kResuming]) {\n // Do nothing.\n } else if (util.bodyLength(request.body) == null && util.isIterable(request.body)) {\n // Wait a tick in case stream/iterator is ended in the same tick.\n this[kResuming] = 1\n process.nextTick(resume, this)\n } else {\n resume(this, true)\n }\n\n if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {\n this[kNeedDrain] = 2\n }\n\n return this[kNeedDrain] < 2\n }\n\n async [kClose] () {\n return new Promise((resolve) => {\n if (!this[kSize]) {\n resolve(null)\n } else {\n this[kClosedResolve] = resolve\n }\n })\n }\n\n async [kDestroy] (err) {\n return new Promise((resolve) => {\n const requests = this[kQueue].splice(this[kPendingIdx])\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i]\n errorRequest(this, request, err)\n }\n\n const callback = () => {\n if (this[kClosedResolve]) {\n // TODO (fix): Should we error here with ClientDestroyedError?\n this[kClosedResolve]()\n this[kClosedResolve] = null\n }\n resolve()\n }\n\n if (!this[kSocket]) {\n queueMicrotask(callback)\n } else {\n util.destroy(this[kSocket].on('close', callback), err)\n }\n\n resume(this)\n })\n }\n}\n\nconst constants = require('./llhttp/constants')\nconst createRedirectInterceptor = require('./interceptor/redirectInterceptor')\nconst EMPTY_BUF = Buffer.alloc(0)\n\nasync function lazyllhttp () {\n const llhttpWasmData = process.env.JEST_WORKER_ID ? require('./llhttp/llhttp-wasm.js') : undefined\n\n let mod\n try {\n mod = await WebAssembly.compile(Buffer.from(require('./llhttp/llhttp_simd-wasm.js'), 'base64'))\n } catch (e) {\n /* istanbul ignore next */\n\n // We could check if the error was caused by the simd option not\n // being enabled, but the occurring of this other error\n // * https://github.com/emscripten-core/emscripten/issues/11495\n // got me to remove that check to avoid breaking Node 12.\n mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require('./llhttp/llhttp-wasm.js'), 'base64'))\n }\n\n return await WebAssembly.instantiate(mod, {\n env: {\n /* eslint-disable camelcase */\n\n wasm_on_url: (p, at, len) => {\n /* istanbul ignore next */\n return 0\n },\n wasm_on_status: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p)\n const start = at - currentBufferPtr + currentBufferRef.byteOffset\n return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0\n },\n wasm_on_message_begin: (p) => {\n assert.strictEqual(currentParser.ptr, p)\n return currentParser.onMessageBegin() || 0\n },\n wasm_on_header_field: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p)\n const start = at - currentBufferPtr + currentBufferRef.byteOffset\n return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0\n },\n wasm_on_header_value: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p)\n const start = at - currentBufferPtr + currentBufferRef.byteOffset\n return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0\n },\n wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {\n assert.strictEqual(currentParser.ptr, p)\n return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0\n },\n wasm_on_body: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p)\n const start = at - currentBufferPtr + currentBufferRef.byteOffset\n return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0\n },\n wasm_on_message_complete: (p) => {\n assert.strictEqual(currentParser.ptr, p)\n return currentParser.onMessageComplete() || 0\n }\n\n /* eslint-enable camelcase */\n }\n })\n}\n\nlet llhttpInstance = null\nlet llhttpPromise = lazyllhttp()\nllhttpPromise.catch()\n\nlet currentParser = null\nlet currentBufferRef = null\nlet currentBufferSize = 0\nlet currentBufferPtr = null\n\nconst TIMEOUT_HEADERS = 1\nconst TIMEOUT_BODY = 2\nconst TIMEOUT_IDLE = 3\n\nclass Parser {\n constructor (client, socket, { exports }) {\n assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0)\n\n this.llhttp = exports\n this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE)\n this.client = client\n this.socket = socket\n this.timeout = null\n this.timeoutValue = null\n this.timeoutType = null\n this.statusCode = null\n this.statusText = ''\n this.upgrade = false\n this.headers = []\n this.headersSize = 0\n this.headersMaxSize = client[kMaxHeadersSize]\n this.shouldKeepAlive = false\n this.paused = false\n this.resume = this.resume.bind(this)\n\n this.bytesRead = 0\n\n this.keepAlive = ''\n this.contentLength = ''\n this.connection = ''\n this.maxResponseSize = client[kMaxResponseSize]\n }\n\n setTimeout (value, type) {\n this.timeoutType = type\n if (value !== this.timeoutValue) {\n timers.clearTimeout(this.timeout)\n if (value) {\n this.timeout = timers.setTimeout(onParserTimeout, value, this)\n // istanbul ignore else: only for jest\n if (this.timeout.unref) {\n this.timeout.unref()\n }\n } else {\n this.timeout = null\n }\n this.timeoutValue = value\n } else if (this.timeout) {\n // istanbul ignore else: only for jest\n if (this.timeout.refresh) {\n this.timeout.refresh()\n }\n }\n }\n\n resume () {\n if (this.socket.destroyed || !this.paused) {\n return\n }\n\n assert(this.ptr != null)\n assert(currentParser == null)\n\n this.llhttp.llhttp_resume(this.ptr)\n\n assert(this.timeoutType === TIMEOUT_BODY)\n if (this.timeout) {\n // istanbul ignore else: only for jest\n if (this.timeout.refresh) {\n this.timeout.refresh()\n }\n }\n\n this.paused = false\n this.execute(this.socket.read() || EMPTY_BUF) // Flush parser.\n this.readMore()\n }\n\n readMore () {\n while (!this.paused && this.ptr) {\n const chunk = this.socket.read()\n if (chunk === null) {\n break\n }\n this.execute(chunk)\n }\n }\n\n execute (data) {\n assert(this.ptr != null)\n assert(currentParser == null)\n assert(!this.paused)\n\n const { socket, llhttp } = this\n\n if (data.length > currentBufferSize) {\n if (currentBufferPtr) {\n llhttp.free(currentBufferPtr)\n }\n currentBufferSize = Math.ceil(data.length / 4096) * 4096\n currentBufferPtr = llhttp.malloc(currentBufferSize)\n }\n\n new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data)\n\n // Call `execute` on the wasm parser.\n // We pass the `llhttp_parser` pointer address, the pointer address of buffer view data,\n // and finally the length of bytes to parse.\n // The return value is an error code or `constants.ERROR.OK`.\n try {\n let ret\n\n try {\n currentBufferRef = data\n currentParser = this\n ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length)\n /* eslint-disable-next-line no-useless-catch */\n } catch (err) {\n /* istanbul ignore next: difficult to make a test case for */\n throw err\n } finally {\n currentParser = null\n currentBufferRef = null\n }\n\n const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr\n\n if (ret === constants.ERROR.PAUSED_UPGRADE) {\n this.onUpgrade(data.slice(offset))\n } else if (ret === constants.ERROR.PAUSED) {\n this.paused = true\n socket.unshift(data.slice(offset))\n } else if (ret !== constants.ERROR.OK) {\n const ptr = llhttp.llhttp_get_error_reason(this.ptr)\n let message = ''\n /* istanbul ignore else: difficult to make a test case for */\n if (ptr) {\n const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0)\n message =\n 'Response does not match the HTTP/1.1 protocol (' +\n Buffer.from(llhttp.memory.buffer, ptr, len).toString() +\n ')'\n }\n throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset))\n }\n } catch (err) {\n util.destroy(socket, err)\n }\n }\n\n destroy () {\n assert(this.ptr != null)\n assert(currentParser == null)\n\n this.llhttp.llhttp_free(this.ptr)\n this.ptr = null\n\n timers.clearTimeout(this.timeout)\n this.timeout = null\n this.timeoutValue = null\n this.timeoutType = null\n\n this.paused = false\n }\n\n onStatus (buf) {\n this.statusText = buf.toString()\n }\n\n onMessageBegin () {\n const { socket, client } = this\n\n /* istanbul ignore next: difficult to make a test case for */\n if (socket.destroyed) {\n return -1\n }\n\n const request = client[kQueue][client[kRunningIdx]]\n if (!request) {\n return -1\n }\n }\n\n onHeaderField (buf) {\n const len = this.headers.length\n\n if ((len & 1) === 0) {\n this.headers.push(buf)\n } else {\n this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf])\n }\n\n this.trackHeader(buf.length)\n }\n\n onHeaderValue (buf) {\n let len = this.headers.length\n\n if ((len & 1) === 1) {\n this.headers.push(buf)\n len += 1\n } else {\n this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf])\n }\n\n const key = this.headers[len - 2]\n if (key.length === 10 && key.toString().toLowerCase() === 'keep-alive') {\n this.keepAlive += buf.toString()\n } else if (key.length === 10 && key.toString().toLowerCase() === 'connection') {\n this.connection += buf.toString()\n } else if (key.length === 14 && key.toString().toLowerCase() === 'content-length') {\n this.contentLength += buf.toString()\n }\n\n this.trackHeader(buf.length)\n }\n\n trackHeader (len) {\n this.headersSize += len\n if (this.headersSize >= this.headersMaxSize) {\n util.destroy(this.socket, new HeadersOverflowError())\n }\n }\n\n onUpgrade (head) {\n const { upgrade, client, socket, headers, statusCode } = this\n\n assert(upgrade)\n\n const request = client[kQueue][client[kRunningIdx]]\n assert(request)\n\n assert(!socket.destroyed)\n assert(socket === client[kSocket])\n assert(!this.paused)\n assert(request.upgrade || request.method === 'CONNECT')\n\n this.statusCode = null\n this.statusText = ''\n this.shouldKeepAlive = null\n\n assert(this.headers.length % 2 === 0)\n this.headers = []\n this.headersSize = 0\n\n socket.unshift(head)\n\n socket[kParser].destroy()\n socket[kParser] = null\n\n socket[kClient] = null\n socket[kError] = null\n socket\n .removeListener('error', onSocketError)\n .removeListener('readable', onSocketReadable)\n .removeListener('end', onSocketEnd)\n .removeListener('close', onSocketClose)\n\n client[kSocket] = null\n client[kQueue][client[kRunningIdx]++] = null\n client.emit('disconnect', client[kUrl], [client], new InformationalError('upgrade'))\n\n try {\n request.onUpgrade(statusCode, headers, socket)\n } catch (err) {\n util.destroy(socket, err)\n }\n\n resume(client)\n }\n\n onHeadersComplete (statusCode, upgrade, shouldKeepAlive) {\n const { client, socket, headers, statusText } = this\n\n /* istanbul ignore next: difficult to make a test case for */\n if (socket.destroyed) {\n return -1\n }\n\n const request = client[kQueue][client[kRunningIdx]]\n\n /* istanbul ignore next: difficult to make a test case for */\n if (!request) {\n return -1\n }\n\n assert(!this.upgrade)\n assert(this.statusCode < 200)\n\n if (statusCode === 100) {\n util.destroy(socket, new SocketError('bad response', util.getSocketInfo(socket)))\n return -1\n }\n\n /* this can only happen if server is misbehaving */\n if (upgrade && !request.upgrade) {\n util.destroy(socket, new SocketError('bad upgrade', util.getSocketInfo(socket)))\n return -1\n }\n\n assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS)\n\n this.statusCode = statusCode\n this.shouldKeepAlive = (\n shouldKeepAlive ||\n // Override llhttp value which does not allow keepAlive for HEAD.\n (request.method === 'HEAD' && !socket[kReset] && this.connection.toLowerCase() === 'keep-alive')\n )\n\n if (this.statusCode >= 200) {\n const bodyTimeout = request.bodyTimeout != null\n ? request.bodyTimeout\n : client[kBodyTimeout]\n this.setTimeout(bodyTimeout, TIMEOUT_BODY)\n } else if (this.timeout) {\n // istanbul ignore else: only for jest\n if (this.timeout.refresh) {\n this.timeout.refresh()\n }\n }\n\n if (request.method === 'CONNECT') {\n assert(client[kRunning] === 1)\n this.upgrade = true\n return 2\n }\n\n if (upgrade) {\n assert(client[kRunning] === 1)\n this.upgrade = true\n return 2\n }\n\n assert(this.headers.length % 2 === 0)\n this.headers = []\n this.headersSize = 0\n\n if (this.shouldKeepAlive && client[kPipelining]) {\n const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null\n\n if (keepAliveTimeout != null) {\n const timeout = Math.min(\n keepAliveTimeout - client[kKeepAliveTimeoutThreshold],\n client[kKeepAliveMaxTimeout]\n )\n if (timeout <= 0) {\n socket[kReset] = true\n } else {\n client[kKeepAliveTimeoutValue] = timeout\n }\n } else {\n client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]\n }\n } else {\n // Stop more requests from being dispatched.\n socket[kReset] = true\n }\n\n let pause\n try {\n pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false\n } catch (err) {\n util.destroy(socket, err)\n return -1\n }\n\n if (request.method === 'HEAD') {\n return 1\n }\n\n if (statusCode < 200) {\n return 1\n }\n\n if (socket[kBlocking]) {\n socket[kBlocking] = false\n resume(client)\n }\n\n return pause ? constants.ERROR.PAUSED : 0\n }\n\n onBody (buf) {\n const { client, socket, statusCode, maxResponseSize } = this\n\n if (socket.destroyed) {\n return -1\n }\n\n const request = client[kQueue][client[kRunningIdx]]\n assert(request)\n\n assert.strictEqual(this.timeoutType, TIMEOUT_BODY)\n if (this.timeout) {\n // istanbul ignore else: only for jest\n if (this.timeout.refresh) {\n this.timeout.refresh()\n }\n }\n\n assert(statusCode >= 200)\n\n if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {\n util.destroy(socket, new ResponseExceededMaxSizeError())\n return -1\n }\n\n this.bytesRead += buf.length\n\n try {\n if (request.onData(buf) === false) {\n return constants.ERROR.PAUSED\n }\n } catch (err) {\n util.destroy(socket, err)\n return -1\n }\n }\n\n onMessageComplete () {\n const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this\n\n if (socket.destroyed && (!statusCode || shouldKeepAlive)) {\n return -1\n }\n\n if (upgrade) {\n return\n }\n\n const request = client[kQueue][client[kRunningIdx]]\n assert(request)\n\n assert(statusCode >= 100)\n\n this.statusCode = null\n this.statusText = ''\n this.bytesRead = 0\n this.contentLength = ''\n this.keepAlive = ''\n this.connection = ''\n\n assert(this.headers.length % 2 === 0)\n this.headers = []\n this.headersSize = 0\n\n if (statusCode < 200) {\n return\n }\n\n /* istanbul ignore next: should be handled by llhttp? */\n if (request.method !== 'HEAD' && contentLength && bytesRead !== parseInt(contentLength, 10)) {\n util.destroy(socket, new ResponseContentLengthMismatchError())\n return -1\n }\n\n try {\n request.onComplete(headers)\n } catch (err) {\n errorRequest(client, request, err)\n }\n\n client[kQueue][client[kRunningIdx]++] = null\n\n if (socket[kWriting]) {\n assert.strictEqual(client[kRunning], 0)\n // Response completed before request.\n util.destroy(socket, new InformationalError('reset'))\n return constants.ERROR.PAUSED\n } else if (!shouldKeepAlive) {\n util.destroy(socket, new InformationalError('reset'))\n return constants.ERROR.PAUSED\n } else if (socket[kReset] && client[kRunning] === 0) {\n // Destroy socket once all requests have completed.\n // The request at the tail of the pipeline is the one\n // that requested reset and no further requests should\n // have been queued since then.\n util.destroy(socket, new InformationalError('reset'))\n return constants.ERROR.PAUSED\n } else if (client[kPipelining] === 1) {\n // We must wait a full event loop cycle to reuse this socket to make sure\n // that non-spec compliant servers are not closing the connection even if they\n // said they won't.\n setImmediate(resume, client)\n } else {\n resume(client)\n }\n }\n}\n\nfunction onParserTimeout (parser) {\n const { socket, timeoutType, client } = parser\n\n /* istanbul ignore else */\n if (timeoutType === TIMEOUT_HEADERS) {\n if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {\n assert(!parser.paused, 'cannot be paused while waiting for headers')\n util.destroy(socket, new HeadersTimeoutError())\n }\n } else if (timeoutType === TIMEOUT_BODY) {\n if (!parser.paused) {\n util.destroy(socket, new BodyTimeoutError())\n }\n } else if (timeoutType === TIMEOUT_IDLE) {\n assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue])\n util.destroy(socket, new InformationalError('socket idle timeout'))\n }\n}\n\nfunction onSocketReadable () {\n const { [kParser]: parser } = this\n parser.readMore()\n}\n\nfunction onSocketError (err) {\n const { [kParser]: parser } = this\n\n assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')\n\n // On Mac OS, we get an ECONNRESET even if there is a full body to be forwarded\n // to the user.\n if (err.code === 'ECONNRESET' && parser.statusCode && !parser.shouldKeepAlive) {\n // We treat all incoming data so for as a valid response.\n parser.onMessageComplete()\n return\n }\n\n this[kError] = err\n\n onError(this[kClient], err)\n}\n\nfunction onError (client, err) {\n if (\n client[kRunning] === 0 &&\n err.code !== 'UND_ERR_INFO' &&\n err.code !== 'UND_ERR_SOCKET'\n ) {\n // Error is not caused by running request and not a recoverable\n // socket error.\n\n assert(client[kPendingIdx] === client[kRunningIdx])\n\n const requests = client[kQueue].splice(client[kRunningIdx])\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i]\n errorRequest(client, request, err)\n }\n assert(client[kSize] === 0)\n }\n}\n\nfunction onSocketEnd () {\n const { [kParser]: parser } = this\n\n if (parser.statusCode && !parser.shouldKeepAlive) {\n // We treat all incoming data so far as a valid response.\n parser.onMessageComplete()\n return\n }\n\n util.destroy(this, new SocketError('other side closed', util.getSocketInfo(this)))\n}\n\nfunction onSocketClose () {\n const { [kClient]: client } = this\n\n if (!this[kError] && this[kParser].statusCode && !this[kParser].shouldKeepAlive) {\n // We treat all incoming data so far as a valid response.\n this[kParser].onMessageComplete()\n }\n\n this[kParser].destroy()\n this[kParser] = null\n\n const err = this[kError] || new SocketError('closed', util.getSocketInfo(this))\n\n client[kSocket] = null\n\n if (client.destroyed) {\n assert(client[kPending] === 0)\n\n // Fail entire queue.\n const requests = client[kQueue].splice(client[kRunningIdx])\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i]\n errorRequest(client, request, err)\n }\n } else if (client[kRunning] > 0 && err.code !== 'UND_ERR_INFO') {\n // Fail head of pipeline.\n const request = client[kQueue][client[kRunningIdx]]\n client[kQueue][client[kRunningIdx]++] = null\n\n errorRequest(client, request, err)\n }\n\n client[kPendingIdx] = client[kRunningIdx]\n\n assert(client[kRunning] === 0)\n\n client.emit('disconnect', client[kUrl], [client], err)\n\n resume(client)\n}\n\nasync function connect (client) {\n assert(!client[kConnecting])\n assert(!client[kSocket])\n\n let { host, hostname, protocol, port } = client[kUrl]\n\n // Resolve ipv6\n if (hostname[0] === '[') {\n const idx = hostname.indexOf(']')\n\n assert(idx !== -1)\n const ip = hostname.substr(1, idx - 1)\n\n assert(net.isIP(ip))\n hostname = ip\n }\n\n client[kConnecting] = true\n\n if (channels.beforeConnect.hasSubscribers) {\n channels.beforeConnect.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector]\n })\n }\n\n try {\n const socket = await new Promise((resolve, reject) => {\n client[kConnector]({\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n }, (err, socket) => {\n if (err) {\n reject(err)\n } else {\n resolve(socket)\n }\n })\n })\n\n if (client.destroyed) {\n util.destroy(socket.on('error', () => {}), new ClientDestroyedError())\n return\n }\n\n if (!llhttpInstance) {\n llhttpInstance = await llhttpPromise\n llhttpPromise = null\n }\n\n client[kConnecting] = false\n\n assert(socket)\n\n socket[kNoRef] = false\n socket[kWriting] = false\n socket[kReset] = false\n socket[kBlocking] = false\n socket[kError] = null\n socket[kParser] = new Parser(client, socket, llhttpInstance)\n socket[kClient] = client\n socket[kCounter] = 0\n socket[kMaxRequests] = client[kMaxRequests]\n socket\n .on('error', onSocketError)\n .on('readable', onSocketReadable)\n .on('end', onSocketEnd)\n .on('close', onSocketClose)\n\n client[kSocket] = socket\n\n if (channels.connected.hasSubscribers) {\n channels.connected.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector],\n socket\n })\n }\n client.emit('connect', client[kUrl], [client])\n } catch (err) {\n if (client.destroyed) {\n return\n }\n\n client[kConnecting] = false\n\n if (channels.connectError.hasSubscribers) {\n channels.connectError.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector],\n error: err\n })\n }\n\n if (err.code === 'ERR_TLS_CERT_ALTNAME_INVALID') {\n assert(client[kRunning] === 0)\n while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {\n const request = client[kQueue][client[kPendingIdx]++]\n errorRequest(client, request, err)\n }\n } else {\n onError(client, err)\n }\n\n client.emit('connectionError', client[kUrl], [client], err)\n }\n\n resume(client)\n}\n\nfunction emitDrain (client) {\n client[kNeedDrain] = 0\n client.emit('drain', client[kUrl], [client])\n}\n\nfunction resume (client, sync) {\n if (client[kResuming] === 2) {\n return\n }\n\n client[kResuming] = 2\n\n _resume(client, sync)\n client[kResuming] = 0\n\n if (client[kRunningIdx] > 256) {\n client[kQueue].splice(0, client[kRunningIdx])\n client[kPendingIdx] -= client[kRunningIdx]\n client[kRunningIdx] = 0\n }\n}\n\nfunction _resume (client, sync) {\n while (true) {\n if (client.destroyed) {\n assert(client[kPending] === 0)\n return\n }\n\n if (client[kClosedResolve] && !client[kSize]) {\n client[kClosedResolve]()\n client[kClosedResolve] = null\n return\n }\n\n const socket = client[kSocket]\n\n if (socket && !socket.destroyed) {\n if (client[kSize] === 0) {\n if (!socket[kNoRef] && socket.unref) {\n socket.unref()\n socket[kNoRef] = true\n }\n } else if (socket[kNoRef] && socket.ref) {\n socket.ref()\n socket[kNoRef] = false\n }\n\n if (client[kSize] === 0) {\n if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {\n socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE)\n }\n } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {\n if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {\n const request = client[kQueue][client[kRunningIdx]]\n const headersTimeout = request.headersTimeout != null\n ? request.headersTimeout\n : client[kHeadersTimeout]\n socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS)\n }\n }\n }\n\n if (client[kBusy]) {\n client[kNeedDrain] = 2\n } else if (client[kNeedDrain] === 2) {\n if (sync) {\n client[kNeedDrain] = 1\n process.nextTick(emitDrain, client)\n } else {\n emitDrain(client)\n }\n continue\n }\n\n if (client[kPending] === 0) {\n return\n }\n\n if (client[kRunning] >= (client[kPipelining] || 1)) {\n return\n }\n\n const request = client[kQueue][client[kPendingIdx]]\n\n if (client[kUrl].protocol === 'https:' && client[kServerName] !== request.servername) {\n if (client[kRunning] > 0) {\n return\n }\n\n client[kServerName] = request.servername\n\n if (socket && socket.servername !== request.servername) {\n util.destroy(socket, new InformationalError('servername changed'))\n return\n }\n }\n\n if (client[kConnecting]) {\n return\n }\n\n if (!socket) {\n connect(client)\n return\n }\n\n if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {\n return\n }\n\n if (client[kRunning] > 0 && !request.idempotent) {\n // Non-idempotent request cannot be retried.\n // Ensure that no other requests are inflight and\n // could cause failure.\n return\n }\n\n if (client[kRunning] > 0 && (request.upgrade || request.method === 'CONNECT')) {\n // Don't dispatch an upgrade until all preceding requests have completed.\n // A misbehaving server might upgrade the connection before all pipelined\n // request has completed.\n return\n }\n\n if (util.isStream(request.body) && util.bodyLength(request.body) === 0) {\n request.body\n .on('data', /* istanbul ignore next */ function () {\n /* istanbul ignore next */\n assert(false)\n })\n .on('error', function (err) {\n errorRequest(client, request, err)\n })\n .on('end', function () {\n util.destroy(this)\n })\n\n request.body = null\n }\n\n if (client[kRunning] > 0 &&\n (util.isStream(request.body) || util.isAsyncIterable(request.body))) {\n // Request with stream or iterator body can error while other requests\n // are inflight and indirectly error those as well.\n // Ensure this doesn't happen by waiting for inflight\n // to complete before dispatching.\n\n // Request with stream or iterator body cannot be retried.\n // Ensure that no other requests are inflight and\n // could cause failure.\n return\n }\n\n if (!request.aborted && write(client, request)) {\n client[kPendingIdx]++\n } else {\n client[kQueue].splice(client[kPendingIdx], 1)\n }\n }\n}\n\nfunction write (client, request) {\n const { body, method, path, host, upgrade, headers, blocking, reset } = request\n\n // https://tools.ietf.org/html/rfc7231#section-4.3.1\n // https://tools.ietf.org/html/rfc7231#section-4.3.2\n // https://tools.ietf.org/html/rfc7231#section-4.3.5\n\n // Sending a payload body on a request that does not\n // expect it can cause undefined behavior on some\n // servers and corrupt connection state. Do not\n // re-use the connection for further requests.\n\n const expectsPayload = (\n method === 'PUT' ||\n method === 'POST' ||\n method === 'PATCH'\n )\n\n if (body && typeof body.read === 'function') {\n // Try to read EOF in order to get length.\n body.read(0)\n }\n\n let contentLength = util.bodyLength(body)\n\n if (contentLength === null) {\n contentLength = request.contentLength\n }\n\n if (contentLength === 0 && !expectsPayload) {\n // https://tools.ietf.org/html/rfc7230#section-3.3.2\n // A user agent SHOULD NOT send a Content-Length header field when\n // the request message does not contain a payload body and the method\n // semantics do not anticipate such a body.\n\n contentLength = null\n }\n\n if (request.contentLength !== null && request.contentLength !== contentLength) {\n if (client[kStrictContentLength]) {\n errorRequest(client, request, new RequestContentLengthMismatchError())\n return false\n }\n\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n\n const socket = client[kSocket]\n\n try {\n request.onConnect((err) => {\n if (request.aborted || request.completed) {\n return\n }\n\n errorRequest(client, request, err || new RequestAbortedError())\n\n util.destroy(socket, new InformationalError('aborted'))\n })\n } catch (err) {\n errorRequest(client, request, err)\n }\n\n if (request.aborted) {\n return false\n }\n\n if (method === 'HEAD') {\n // https://github.com/mcollina/undici/issues/258\n // Close after a HEAD request to interop with misbehaving servers\n // that may send a body in the response.\n\n socket[kReset] = true\n }\n\n if (upgrade || method === 'CONNECT') {\n // On CONNECT or upgrade, block pipeline from dispatching further\n // requests on this connection.\n\n socket[kReset] = true\n }\n\n if (reset != null) {\n socket[kReset] = reset\n }\n\n if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {\n socket[kReset] = true\n }\n\n if (blocking) {\n socket[kBlocking] = true\n }\n\n let header = `${method} ${path} HTTP/1.1\\r\\n`\n\n if (typeof host === 'string') {\n header += `host: ${host}\\r\\n`\n } else {\n header += client[kHostHeader]\n }\n\n if (upgrade) {\n header += `connection: upgrade\\r\\nupgrade: ${upgrade}\\r\\n`\n } else if (client[kPipelining] && !socket[kReset]) {\n header += 'connection: keep-alive\\r\\n'\n } else {\n header += 'connection: close\\r\\n'\n }\n\n if (headers) {\n header += headers\n }\n\n if (channels.sendHeaders.hasSubscribers) {\n channels.sendHeaders.publish({ request, headers: header, socket })\n }\n\n /* istanbul ignore else: assertion */\n if (!body) {\n if (contentLength === 0) {\n socket.write(`${header}content-length: 0\\r\\n\\r\\n`, 'latin1')\n } else {\n assert(contentLength === null, 'no body must not have content length')\n socket.write(`${header}\\r\\n`, 'latin1')\n }\n request.onRequestSent()\n } else if (util.isBuffer(body)) {\n assert(contentLength === body.byteLength, 'buffer body must have content length')\n\n socket.cork()\n socket.write(`${header}content-length: ${contentLength}\\r\\n\\r\\n`, 'latin1')\n socket.write(body)\n socket.uncork()\n request.onBodySent(body)\n request.onRequestSent()\n if (!expectsPayload) {\n socket[kReset] = true\n }\n } else if (util.isBlobLike(body)) {\n if (typeof body.stream === 'function') {\n writeIterable({ body: body.stream(), client, request, socket, contentLength, header, expectsPayload })\n } else {\n writeBlob({ body, client, request, socket, contentLength, header, expectsPayload })\n }\n } else if (util.isStream(body)) {\n writeStream({ body, client, request, socket, contentLength, header, expectsPayload })\n } else if (util.isIterable(body)) {\n writeIterable({ body, client, request, socket, contentLength, header, expectsPayload })\n } else {\n assert(false)\n }\n\n return true\n}\n\nfunction writeStream ({ body, client, request, socket, contentLength, header, expectsPayload }) {\n assert(contentLength !== 0 || client[kRunning] === 0, 'stream body cannot be pipelined')\n\n let finished = false\n\n const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header })\n\n const onData = function (chunk) {\n if (finished) {\n return\n }\n\n try {\n if (!writer.write(chunk) && this.pause) {\n this.pause()\n }\n } catch (err) {\n util.destroy(this, err)\n }\n }\n const onDrain = function () {\n if (finished) {\n return\n }\n\n if (body.resume) {\n body.resume()\n }\n }\n const onAbort = function () {\n onFinished(new RequestAbortedError())\n }\n const onFinished = function (err) {\n if (finished) {\n return\n }\n\n finished = true\n\n assert(socket.destroyed || (socket[kWriting] && client[kRunning] <= 1))\n\n socket\n .off('drain', onDrain)\n .off('error', onFinished)\n\n body\n .removeListener('data', onData)\n .removeListener('end', onFinished)\n .removeListener('error', onFinished)\n .removeListener('close', onAbort)\n\n if (!err) {\n try {\n writer.end()\n } catch (er) {\n err = er\n }\n }\n\n writer.destroy(err)\n\n if (err && (err.code !== 'UND_ERR_INFO' || err.message !== 'reset')) {\n util.destroy(body, err)\n } else {\n util.destroy(body)\n }\n }\n\n body\n .on('data', onData)\n .on('end', onFinished)\n .on('error', onFinished)\n .on('close', onAbort)\n\n if (body.resume) {\n body.resume()\n }\n\n socket\n .on('drain', onDrain)\n .on('error', onFinished)\n}\n\nasync function writeBlob ({ body, client, request, socket, contentLength, header, expectsPayload }) {\n assert(contentLength === body.size, 'blob body must have content length')\n\n try {\n if (contentLength != null && contentLength !== body.size) {\n throw new RequestContentLengthMismatchError()\n }\n\n const buffer = Buffer.from(await body.arrayBuffer())\n\n socket.cork()\n socket.write(`${header}content-length: ${contentLength}\\r\\n\\r\\n`, 'latin1')\n socket.write(buffer)\n socket.uncork()\n\n request.onBodySent(buffer)\n request.onRequestSent()\n\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n resume(client)\n } catch (err) {\n util.destroy(socket, err)\n }\n}\n\nasync function writeIterable ({ body, client, request, socket, contentLength, header, expectsPayload }) {\n assert(contentLength !== 0 || client[kRunning] === 0, 'iterator body cannot be pipelined')\n\n let callback = null\n function onDrain () {\n if (callback) {\n const cb = callback\n callback = null\n cb()\n }\n }\n\n const waitForDrain = () => new Promise((resolve, reject) => {\n assert(callback === null)\n\n if (socket[kError]) {\n reject(socket[kError])\n } else {\n callback = resolve\n }\n })\n\n socket\n .on('close', onDrain)\n .on('drain', onDrain)\n\n const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header })\n try {\n // It's up to the user to somehow abort the async iterable.\n for await (const chunk of body) {\n if (socket[kError]) {\n throw socket[kError]\n }\n\n if (!writer.write(chunk)) {\n await waitForDrain()\n }\n }\n\n writer.end()\n } catch (err) {\n writer.destroy(err)\n } finally {\n socket\n .off('close', onDrain)\n .off('drain', onDrain)\n }\n}\n\nclass AsyncWriter {\n constructor ({ socket, request, contentLength, client, expectsPayload, header }) {\n this.socket = socket\n this.request = request\n this.contentLength = contentLength\n this.client = client\n this.bytesWritten = 0\n this.expectsPayload = expectsPayload\n this.header = header\n\n socket[kWriting] = true\n }\n\n write (chunk) {\n const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this\n\n if (socket[kError]) {\n throw socket[kError]\n }\n\n if (socket.destroyed) {\n return false\n }\n\n const len = Buffer.byteLength(chunk)\n if (!len) {\n return true\n }\n\n // We should defer writing chunks.\n if (contentLength !== null && bytesWritten + len > contentLength) {\n if (client[kStrictContentLength]) {\n throw new RequestContentLengthMismatchError()\n }\n\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n\n socket.cork()\n\n if (bytesWritten === 0) {\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n if (contentLength === null) {\n socket.write(`${header}transfer-encoding: chunked\\r\\n`, 'latin1')\n } else {\n socket.write(`${header}content-length: ${contentLength}\\r\\n\\r\\n`, 'latin1')\n }\n }\n\n if (contentLength === null) {\n socket.write(`\\r\\n${len.toString(16)}\\r\\n`, 'latin1')\n }\n\n this.bytesWritten += len\n\n const ret = socket.write(chunk)\n\n socket.uncork()\n\n request.onBodySent(chunk)\n\n if (!ret) {\n if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {\n // istanbul ignore else: only for jest\n if (socket[kParser].timeout.refresh) {\n socket[kParser].timeout.refresh()\n }\n }\n }\n\n return ret\n }\n\n end () {\n const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this\n request.onRequestSent()\n\n socket[kWriting] = false\n\n if (socket[kError]) {\n throw socket[kError]\n }\n\n if (socket.destroyed) {\n return\n }\n\n if (bytesWritten === 0) {\n if (expectsPayload) {\n // https://tools.ietf.org/html/rfc7230#section-3.3.2\n // A user agent SHOULD send a Content-Length in a request message when\n // no Transfer-Encoding is sent and the request method defines a meaning\n // for an enclosed payload body.\n\n socket.write(`${header}content-length: 0\\r\\n\\r\\n`, 'latin1')\n } else {\n socket.write(`${header}\\r\\n`, 'latin1')\n }\n } else if (contentLength === null) {\n socket.write('\\r\\n0\\r\\n\\r\\n', 'latin1')\n }\n\n if (contentLength !== null && bytesWritten !== contentLength) {\n if (client[kStrictContentLength]) {\n throw new RequestContentLengthMismatchError()\n } else {\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n }\n\n if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {\n // istanbul ignore else: only for jest\n if (socket[kParser].timeout.refresh) {\n socket[kParser].timeout.refresh()\n }\n }\n\n resume(client)\n }\n\n destroy (err) {\n const { socket, client } = this\n\n socket[kWriting] = false\n\n if (err) {\n assert(client[kRunning] <= 1, 'pipeline should only contain this request')\n util.destroy(socket, err)\n }\n }\n}\n\nfunction errorRequest (client, request, err) {\n try {\n request.onError(err)\n assert(request.aborted)\n } catch (err) {\n client.emit('error', err)\n }\n}\n\nmodule.exports = Client\n", "/* eslint-disable */\n\n'use strict'\n\n// Extracted from node/lib/internal/fixed_queue.js\n\n// Currently optimal queue size, tested on V8 6.0 - 6.6. Must be power of two.\nconst kSize = 2048;\nconst kMask = kSize - 1;\n\n// The FixedQueue is implemented as a singly-linked list of fixed-size\n// circular buffers. It looks something like this:\n//\n// head tail\n// | |\n// v v\n// +-----------+ <-----\\ +-----------+ <------\\ +-----------+\n// | [null] | \\----- | next | \\------- | next |\n// +-----------+ +-----------+ +-----------+\n// | item | <-- bottom | item | <-- bottom | [empty] |\n// | item | | item | | [empty] |\n// | item | | item | | [empty] |\n// | item | | item | | [empty] |\n// | item | | item | bottom --> | item |\n// | item | | item | | item |\n// | ... | | ... | | ... |\n// | item | | item | | item |\n// | item | | item | | item |\n// | [empty] | <-- top | item | | item |\n// | [empty] | | item | | item |\n// | [empty] | | [empty] | <-- top top --> | [empty] |\n// +-----------+ +-----------+ +-----------+\n//\n// Or, if there is only one circular buffer, it looks something\n// like either of these:\n//\n// head tail head tail\n// | | | |\n// v v v v\n// +-----------+ +-----------+\n// | [null] | | [null] |\n// +-----------+ +-----------+\n// | [empty] | | item |\n// | [empty] | | item |\n// | item | <-- bottom top --> | [empty] |\n// | item | | [empty] |\n// | [empty] | <-- top bottom --> | item |\n// | [empty] | | item |\n// +-----------+ +-----------+\n//\n// Adding a value means moving `top` forward by one, removing means\n// moving `bottom` forward by one. After reaching the end, the queue\n// wraps around.\n//\n// When `top === bottom` the current queue is empty and when\n// `top + 1 === bottom` it's full. This wastes a single space of storage\n// but allows much quicker checks.\n\nclass FixedCircularBuffer {\n constructor() {\n this.bottom = 0;\n this.top = 0;\n this.list = new Array(kSize);\n this.next = null;\n }\n\n isEmpty() {\n return this.top === this.bottom;\n }\n\n isFull() {\n return ((this.top + 1) & kMask) === this.bottom;\n }\n\n push(data) {\n this.list[this.top] = data;\n this.top = (this.top + 1) & kMask;\n }\n\n shift() {\n const nextItem = this.list[this.bottom];\n if (nextItem === undefined)\n return null;\n this.list[this.bottom] = undefined;\n this.bottom = (this.bottom + 1) & kMask;\n return nextItem;\n }\n}\n\nmodule.exports = class FixedQueue {\n constructor() {\n this.head = this.tail = new FixedCircularBuffer();\n }\n\n isEmpty() {\n return this.head.isEmpty();\n }\n\n push(data) {\n if (this.head.isFull()) {\n // Head is full: Creates a new queue, sets the old queue's `.next` to it,\n // and sets it as the new main queue.\n this.head = this.head.next = new FixedCircularBuffer();\n }\n this.head.push(data);\n }\n\n shift() {\n const tail = this.tail;\n const next = tail.shift();\n if (tail.isEmpty() && tail.next !== null) {\n // If there is another queue, it forms the new tail.\n this.tail = tail.next;\n }\n return next;\n }\n};\n", "const { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require('./core/symbols')\nconst kPool = Symbol('pool')\n\nclass PoolStats {\n constructor (pool) {\n this[kPool] = pool\n }\n\n get connected () {\n return this[kPool][kConnected]\n }\n\n get free () {\n return this[kPool][kFree]\n }\n\n get pending () {\n return this[kPool][kPending]\n }\n\n get queued () {\n return this[kPool][kQueued]\n }\n\n get running () {\n return this[kPool][kRunning]\n }\n\n get size () {\n return this[kPool][kSize]\n }\n}\n\nmodule.exports = PoolStats\n", "'use strict'\n\nconst DispatcherBase = require('./dispatcher-base')\nconst FixedQueue = require('./node/fixed-queue')\nconst { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require('./core/symbols')\nconst PoolStats = require('./pool-stats')\n\nconst kClients = Symbol('clients')\nconst kNeedDrain = Symbol('needDrain')\nconst kQueue = Symbol('queue')\nconst kClosedResolve = Symbol('closed resolve')\nconst kOnDrain = Symbol('onDrain')\nconst kOnConnect = Symbol('onConnect')\nconst kOnDisconnect = Symbol('onDisconnect')\nconst kOnConnectionError = Symbol('onConnectionError')\nconst kGetDispatcher = Symbol('get dispatcher')\nconst kAddClient = Symbol('add client')\nconst kRemoveClient = Symbol('remove client')\nconst kStats = Symbol('stats')\n\nclass PoolBase extends DispatcherBase {\n constructor () {\n super()\n\n this[kQueue] = new FixedQueue()\n this[kClients] = []\n this[kQueued] = 0\n\n const pool = this\n\n this[kOnDrain] = function onDrain (origin, targets) {\n const queue = pool[kQueue]\n\n let needDrain = false\n\n while (!needDrain) {\n const item = queue.shift()\n if (!item) {\n break\n }\n pool[kQueued]--\n needDrain = !this.dispatch(item.opts, item.handler)\n }\n\n this[kNeedDrain] = needDrain\n\n if (!this[kNeedDrain] && pool[kNeedDrain]) {\n pool[kNeedDrain] = false\n pool.emit('drain', origin, [pool, ...targets])\n }\n\n if (pool[kClosedResolve] && queue.isEmpty()) {\n Promise\n .all(pool[kClients].map(c => c.close()))\n .then(pool[kClosedResolve])\n }\n }\n\n this[kOnConnect] = (origin, targets) => {\n pool.emit('connect', origin, [pool, ...targets])\n }\n\n this[kOnDisconnect] = (origin, targets, err) => {\n pool.emit('disconnect', origin, [pool, ...targets], err)\n }\n\n this[kOnConnectionError] = (origin, targets, err) => {\n pool.emit('connectionError', origin, [pool, ...targets], err)\n }\n\n this[kStats] = new PoolStats(this)\n }\n\n get [kBusy] () {\n return this[kNeedDrain]\n }\n\n get [kConnected] () {\n return this[kClients].filter(client => client[kConnected]).length\n }\n\n get [kFree] () {\n return this[kClients].filter(client => client[kConnected] && !client[kNeedDrain]).length\n }\n\n get [kPending] () {\n let ret = this[kQueued]\n for (const { [kPending]: pending } of this[kClients]) {\n ret += pending\n }\n return ret\n }\n\n get [kRunning] () {\n let ret = 0\n for (const { [kRunning]: running } of this[kClients]) {\n ret += running\n }\n return ret\n }\n\n get [kSize] () {\n let ret = this[kQueued]\n for (const { [kSize]: size } of this[kClients]) {\n ret += size\n }\n return ret\n }\n\n get stats () {\n return this[kStats]\n }\n\n async [kClose] () {\n if (this[kQueue].isEmpty()) {\n return Promise.all(this[kClients].map(c => c.close()))\n } else {\n return new Promise((resolve) => {\n this[kClosedResolve] = resolve\n })\n }\n }\n\n async [kDestroy] (err) {\n while (true) {\n const item = this[kQueue].shift()\n if (!item) {\n break\n }\n item.handler.onError(err)\n }\n\n return Promise.all(this[kClients].map(c => c.destroy(err)))\n }\n\n [kDispatch] (opts, handler) {\n const dispatcher = this[kGetDispatcher]()\n\n if (!dispatcher) {\n this[kNeedDrain] = true\n this[kQueue].push({ opts, handler })\n this[kQueued]++\n } else if (!dispatcher.dispatch(opts, handler)) {\n dispatcher[kNeedDrain] = true\n this[kNeedDrain] = !this[kGetDispatcher]()\n }\n\n return !this[kNeedDrain]\n }\n\n [kAddClient] (client) {\n client\n .on('drain', this[kOnDrain])\n .on('connect', this[kOnConnect])\n .on('disconnect', this[kOnDisconnect])\n .on('connectionError', this[kOnConnectionError])\n\n this[kClients].push(client)\n\n if (this[kNeedDrain]) {\n process.nextTick(() => {\n if (this[kNeedDrain]) {\n this[kOnDrain](client[kUrl], [this, client])\n }\n })\n }\n\n return this\n }\n\n [kRemoveClient] (client) {\n client.close(() => {\n const idx = this[kClients].indexOf(client)\n if (idx !== -1) {\n this[kClients].splice(idx, 1)\n }\n })\n\n this[kNeedDrain] = this[kClients].some(dispatcher => (\n !dispatcher[kNeedDrain] &&\n dispatcher.closed !== true &&\n dispatcher.destroyed !== true\n ))\n }\n}\n\nmodule.exports = {\n PoolBase,\n kClients,\n kNeedDrain,\n kAddClient,\n kRemoveClient,\n kGetDispatcher\n}\n", "'use strict'\n\nconst {\n PoolBase,\n kClients,\n kNeedDrain,\n kAddClient,\n kGetDispatcher\n} = require('./pool-base')\nconst Client = require('./client')\nconst {\n InvalidArgumentError\n} = require('./core/errors')\nconst util = require('./core/util')\nconst { kUrl, kInterceptors } = require('./core/symbols')\nconst buildConnector = require('./core/connect')\n\nconst kOptions = Symbol('options')\nconst kConnections = Symbol('connections')\nconst kFactory = Symbol('factory')\n\nfunction defaultFactory (origin, opts) {\n return new Client(origin, opts)\n}\n\nclass Pool extends PoolBase {\n constructor (origin, {\n connections,\n factory = defaultFactory,\n connect,\n connectTimeout,\n tls,\n maxCachedSessions,\n socketPath,\n autoSelectFamily,\n autoSelectFamilyAttemptTimeout,\n ...options\n } = {}) {\n super()\n\n if (connections != null && (!Number.isFinite(connections) || connections < 0)) {\n throw new InvalidArgumentError('invalid connections')\n }\n\n if (typeof factory !== 'function') {\n throw new InvalidArgumentError('factory must be a function.')\n }\n\n if (connect != null && typeof connect !== 'function' && typeof connect !== 'object') {\n throw new InvalidArgumentError('connect must be a function or an object')\n }\n\n if (typeof connect !== 'function') {\n connect = buildConnector({\n ...tls,\n maxCachedSessions,\n socketPath,\n timeout: connectTimeout == null ? 10e3 : connectTimeout,\n ...(util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined),\n ...connect\n })\n }\n\n this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool)\n ? options.interceptors.Pool\n : []\n this[kConnections] = connections || null\n this[kUrl] = util.parseOrigin(origin)\n this[kOptions] = { ...util.deepClone(options), connect }\n this[kOptions].interceptors = options.interceptors\n ? { ...options.interceptors }\n : undefined\n this[kFactory] = factory\n }\n\n [kGetDispatcher] () {\n let dispatcher = this[kClients].find(dispatcher => !dispatcher[kNeedDrain])\n\n if (dispatcher) {\n return dispatcher\n }\n\n if (!this[kConnections] || this[kClients].length < this[kConnections]) {\n dispatcher = this[kFactory](this[kUrl], this[kOptions])\n this[kAddClient](dispatcher)\n }\n\n return dispatcher\n }\n}\n\nmodule.exports = Pool\n", "'use strict'\n\nconst {\n BalancedPoolMissingUpstreamError,\n InvalidArgumentError\n} = require('./core/errors')\nconst {\n PoolBase,\n kClients,\n kNeedDrain,\n kAddClient,\n kRemoveClient,\n kGetDispatcher\n} = require('./pool-base')\nconst Pool = require('./pool')\nconst { kUrl, kInterceptors } = require('./core/symbols')\nconst { parseOrigin } = require('./core/util')\nconst kFactory = Symbol('factory')\n\nconst kOptions = Symbol('options')\nconst kGreatestCommonDivisor = Symbol('kGreatestCommonDivisor')\nconst kCurrentWeight = Symbol('kCurrentWeight')\nconst kIndex = Symbol('kIndex')\nconst kWeight = Symbol('kWeight')\nconst kMaxWeightPerServer = Symbol('kMaxWeightPerServer')\nconst kErrorPenalty = Symbol('kErrorPenalty')\n\nfunction getGreatestCommonDivisor (a, b) {\n if (b === 0) return a\n return getGreatestCommonDivisor(b, a % b)\n}\n\nfunction defaultFactory (origin, opts) {\n return new Pool(origin, opts)\n}\n\nclass BalancedPool extends PoolBase {\n constructor (upstreams = [], { factory = defaultFactory, ...opts } = {}) {\n super()\n\n this[kOptions] = opts\n this[kIndex] = -1\n this[kCurrentWeight] = 0\n\n this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100\n this[kErrorPenalty] = this[kOptions].errorPenalty || 15\n\n if (!Array.isArray(upstreams)) {\n upstreams = [upstreams]\n }\n\n if (typeof factory !== 'function') {\n throw new InvalidArgumentError('factory must be a function.')\n }\n\n this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool)\n ? opts.interceptors.BalancedPool\n : []\n this[kFactory] = factory\n\n for (const upstream of upstreams) {\n this.addUpstream(upstream)\n }\n this._updateBalancedPoolStats()\n }\n\n addUpstream (upstream) {\n const upstreamOrigin = parseOrigin(upstream).origin\n\n if (this[kClients].find((pool) => (\n pool[kUrl].origin === upstreamOrigin &&\n pool.closed !== true &&\n pool.destroyed !== true\n ))) {\n return this\n }\n const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]))\n\n this[kAddClient](pool)\n pool.on('connect', () => {\n pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty])\n })\n\n pool.on('connectionError', () => {\n pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty])\n this._updateBalancedPoolStats()\n })\n\n pool.on('disconnect', (...args) => {\n const err = args[2]\n if (err && err.code === 'UND_ERR_SOCKET') {\n // decrease the weight of the pool.\n pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty])\n this._updateBalancedPoolStats()\n }\n })\n\n for (const client of this[kClients]) {\n client[kWeight] = this[kMaxWeightPerServer]\n }\n\n this._updateBalancedPoolStats()\n\n return this\n }\n\n _updateBalancedPoolStats () {\n this[kGreatestCommonDivisor] = this[kClients].map(p => p[kWeight]).reduce(getGreatestCommonDivisor, 0)\n }\n\n removeUpstream (upstream) {\n const upstreamOrigin = parseOrigin(upstream).origin\n\n const pool = this[kClients].find((pool) => (\n pool[kUrl].origin === upstreamOrigin &&\n pool.closed !== true &&\n pool.destroyed !== true\n ))\n\n if (pool) {\n this[kRemoveClient](pool)\n }\n\n return this\n }\n\n get upstreams () {\n return this[kClients]\n .filter(dispatcher => dispatcher.closed !== true && dispatcher.destroyed !== true)\n .map((p) => p[kUrl].origin)\n }\n\n [kGetDispatcher] () {\n // We validate that pools is greater than 0,\n // otherwise we would have to wait until an upstream\n // is added, which might never happen.\n if (this[kClients].length === 0) {\n throw new BalancedPoolMissingUpstreamError()\n }\n\n const dispatcher = this[kClients].find(dispatcher => (\n !dispatcher[kNeedDrain] &&\n dispatcher.closed !== true &&\n dispatcher.destroyed !== true\n ))\n\n if (!dispatcher) {\n return\n }\n\n const allClientsBusy = this[kClients].map(pool => pool[kNeedDrain]).reduce((a, b) => a && b, true)\n\n if (allClientsBusy) {\n return\n }\n\n let counter = 0\n\n let maxWeightIndex = this[kClients].findIndex(pool => !pool[kNeedDrain])\n\n while (counter++ < this[kClients].length) {\n this[kIndex] = (this[kIndex] + 1) % this[kClients].length\n const pool = this[kClients][this[kIndex]]\n\n // find pool index with the largest weight\n if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {\n maxWeightIndex = this[kIndex]\n }\n\n // decrease the current weight every `this[kClients].length`.\n if (this[kIndex] === 0) {\n // Set the current weight to the next lower weight.\n this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor]\n\n if (this[kCurrentWeight] <= 0) {\n this[kCurrentWeight] = this[kMaxWeightPerServer]\n }\n }\n if (pool[kWeight] >= this[kCurrentWeight] && (!pool[kNeedDrain])) {\n return pool\n }\n }\n\n this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight]\n this[kIndex] = maxWeightIndex\n return this[kClients][maxWeightIndex]\n }\n}\n\nmodule.exports = BalancedPool\n", "'use strict'\n\n/* istanbul ignore file: only for Node 12 */\n\nconst { kConnected, kSize } = require('../core/symbols')\n\nclass CompatWeakRef {\n constructor (value) {\n this.value = value\n }\n\n deref () {\n return this.value[kConnected] === 0 && this.value[kSize] === 0\n ? undefined\n : this.value\n }\n}\n\nclass CompatFinalizer {\n constructor (finalizer) {\n this.finalizer = finalizer\n }\n\n register (dispatcher, key) {\n dispatcher.on('disconnect', () => {\n if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {\n this.finalizer(key)\n }\n })\n }\n}\n\nmodule.exports = function () {\n return {\n WeakRef: global.WeakRef || CompatWeakRef,\n FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer\n }\n}\n", "'use strict'\n\nconst { InvalidArgumentError } = require('./core/errors')\nconst { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require('./core/symbols')\nconst DispatcherBase = require('./dispatcher-base')\nconst Pool = require('./pool')\nconst Client = require('./client')\nconst util = require('./core/util')\nconst createRedirectInterceptor = require('./interceptor/redirectInterceptor')\nconst { WeakRef, FinalizationRegistry } = require('./compat/dispatcher-weakref')()\n\nconst kOnConnect = Symbol('onConnect')\nconst kOnDisconnect = Symbol('onDisconnect')\nconst kOnConnectionError = Symbol('onConnectionError')\nconst kMaxRedirections = Symbol('maxRedirections')\nconst kOnDrain = Symbol('onDrain')\nconst kFactory = Symbol('factory')\nconst kFinalizer = Symbol('finalizer')\nconst kOptions = Symbol('options')\n\nfunction defaultFactory (origin, opts) {\n return opts && opts.connections === 1\n ? new Client(origin, opts)\n : new Pool(origin, opts)\n}\n\nclass Agent extends DispatcherBase {\n constructor ({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {\n super()\n\n if (typeof factory !== 'function') {\n throw new InvalidArgumentError('factory must be a function.')\n }\n\n if (connect != null && typeof connect !== 'function' && typeof connect !== 'object') {\n throw new InvalidArgumentError('connect must be a function or an object')\n }\n\n if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {\n throw new InvalidArgumentError('maxRedirections must be a positive number')\n }\n\n if (connect && typeof connect !== 'function') {\n connect = { ...connect }\n }\n\n this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent)\n ? options.interceptors.Agent\n : [createRedirectInterceptor({ maxRedirections })]\n\n this[kOptions] = { ...util.deepClone(options), connect }\n this[kOptions].interceptors = options.interceptors\n ? { ...options.interceptors }\n : undefined\n this[kMaxRedirections] = maxRedirections\n this[kFactory] = factory\n this[kClients] = new Map()\n this[kFinalizer] = new FinalizationRegistry(/* istanbul ignore next: gc is undeterministic */ key => {\n const ref = this[kClients].get(key)\n if (ref !== undefined && ref.deref() === undefined) {\n this[kClients].delete(key)\n }\n })\n\n const agent = this\n\n this[kOnDrain] = (origin, targets) => {\n agent.emit('drain', origin, [agent, ...targets])\n }\n\n this[kOnConnect] = (origin, targets) => {\n agent.emit('connect', origin, [agent, ...targets])\n }\n\n this[kOnDisconnect] = (origin, targets, err) => {\n agent.emit('disconnect', origin, [agent, ...targets], err)\n }\n\n this[kOnConnectionError] = (origin, targets, err) => {\n agent.emit('connectionError', origin, [agent, ...targets], err)\n }\n }\n\n get [kRunning] () {\n let ret = 0\n for (const ref of this[kClients].values()) {\n const client = ref.deref()\n /* istanbul ignore next: gc is undeterministic */\n if (client) {\n ret += client[kRunning]\n }\n }\n return ret\n }\n\n [kDispatch] (opts, handler) {\n let key\n if (opts.origin && (typeof opts.origin === 'string' || opts.origin instanceof URL)) {\n key = String(opts.origin)\n } else {\n throw new InvalidArgumentError('opts.origin must be a non-empty string or URL.')\n }\n\n const ref = this[kClients].get(key)\n\n let dispatcher = ref ? ref.deref() : null\n if (!dispatcher) {\n dispatcher = this[kFactory](opts.origin, this[kOptions])\n .on('drain', this[kOnDrain])\n .on('connect', this[kOnConnect])\n .on('disconnect', this[kOnDisconnect])\n .on('connectionError', this[kOnConnectionError])\n\n this[kClients].set(key, new WeakRef(dispatcher))\n this[kFinalizer].register(dispatcher, key)\n }\n\n return dispatcher.dispatch(opts, handler)\n }\n\n async [kClose] () {\n const closePromises = []\n for (const ref of this[kClients].values()) {\n const client = ref.deref()\n /* istanbul ignore else: gc is undeterministic */\n if (client) {\n closePromises.push(client.close())\n }\n }\n\n await Promise.all(closePromises)\n }\n\n async [kDestroy] (err) {\n const destroyPromises = []\n for (const ref of this[kClients].values()) {\n const client = ref.deref()\n /* istanbul ignore else: gc is undeterministic */\n if (client) {\n destroyPromises.push(client.destroy(err))\n }\n }\n\n await Promise.all(destroyPromises)\n }\n}\n\nmodule.exports = Agent\n", "// Ported from https://github.com/nodejs/undici/pull/907\n\n'use strict'\n\nconst assert = require('assert')\nconst { Readable } = require('stream')\nconst { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require('../core/errors')\nconst util = require('../core/util')\nconst { ReadableStreamFrom, toUSVString } = require('../core/util')\n\nlet Blob\n\nconst kConsume = Symbol('kConsume')\nconst kReading = Symbol('kReading')\nconst kBody = Symbol('kBody')\nconst kAbort = Symbol('abort')\nconst kContentType = Symbol('kContentType')\n\nmodule.exports = class BodyReadable extends Readable {\n constructor ({\n resume,\n abort,\n contentType = '',\n highWaterMark = 64 * 1024 // Same as nodejs fs streams.\n }) {\n super({\n autoDestroy: true,\n read: resume,\n highWaterMark\n })\n\n this._readableState.dataEmitted = false\n\n this[kAbort] = abort\n this[kConsume] = null\n this[kBody] = null\n this[kContentType] = contentType\n\n // Is stream being consumed through Readable API?\n // This is an optimization so that we avoid checking\n // for 'data' and 'readable' listeners in the hot path\n // inside push().\n this[kReading] = false\n }\n\n destroy (err) {\n if (this.destroyed) {\n // Node < 16\n return this\n }\n\n if (!err && !this._readableState.endEmitted) {\n err = new RequestAbortedError()\n }\n\n if (err) {\n this[kAbort]()\n }\n\n return super.destroy(err)\n }\n\n emit (ev, ...args) {\n if (ev === 'data') {\n // Node < 16.7\n this._readableState.dataEmitted = true\n } else if (ev === 'error') {\n // Node < 16\n this._readableState.errorEmitted = true\n }\n return super.emit(ev, ...args)\n }\n\n on (ev, ...args) {\n if (ev === 'data' || ev === 'readable') {\n this[kReading] = true\n }\n return super.on(ev, ...args)\n }\n\n addListener (ev, ...args) {\n return this.on(ev, ...args)\n }\n\n off (ev, ...args) {\n const ret = super.off(ev, ...args)\n if (ev === 'data' || ev === 'readable') {\n this[kReading] = (\n this.listenerCount('data') > 0 ||\n this.listenerCount('readable') > 0\n )\n }\n return ret\n }\n\n removeListener (ev, ...args) {\n return this.off(ev, ...args)\n }\n\n push (chunk) {\n if (this[kConsume] && chunk !== null && this.readableLength === 0) {\n consumePush(this[kConsume], chunk)\n return this[kReading] ? super.push(chunk) : true\n }\n return super.push(chunk)\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-text\n async text () {\n return consume(this, 'text')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-json\n async json () {\n return consume(this, 'json')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-blob\n async blob () {\n return consume(this, 'blob')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-arraybuffer\n async arrayBuffer () {\n return consume(this, 'arrayBuffer')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-formdata\n async formData () {\n // TODO: Implement.\n throw new NotSupportedError()\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-bodyused\n get bodyUsed () {\n return util.isDisturbed(this)\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-body\n get body () {\n if (!this[kBody]) {\n this[kBody] = ReadableStreamFrom(this)\n if (this[kConsume]) {\n // TODO: Is this the best way to force a lock?\n this[kBody].getReader() // Ensure stream is locked.\n assert(this[kBody].locked)\n }\n }\n return this[kBody]\n }\n\n async dump (opts) {\n let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144\n const signal = opts && opts.signal\n const abortFn = () => {\n this.destroy()\n }\n let signalListenerCleanup\n if (signal) {\n if (typeof signal !== 'object' || !('aborted' in signal)) {\n throw new InvalidArgumentError('signal must be an AbortSignal')\n }\n util.throwIfAborted(signal)\n signalListenerCleanup = util.addAbortListener(signal, abortFn)\n }\n try {\n for await (const chunk of this) {\n util.throwIfAborted(signal)\n limit -= Buffer.byteLength(chunk)\n if (limit < 0) {\n return\n }\n }\n } catch {\n util.throwIfAborted(signal)\n } finally {\n if (typeof signalListenerCleanup === 'function') {\n signalListenerCleanup()\n } else if (signalListenerCleanup) {\n signalListenerCleanup[Symbol.dispose]()\n }\n }\n }\n}\n\n// https://streams.spec.whatwg.org/#readablestream-locked\nfunction isLocked (self) {\n // Consume is an implicit lock.\n return (self[kBody] && self[kBody].locked === true) || self[kConsume]\n}\n\n// https://fetch.spec.whatwg.org/#body-unusable\nfunction isUnusable (self) {\n return util.isDisturbed(self) || isLocked(self)\n}\n\nasync function consume (stream, type) {\n if (isUnusable(stream)) {\n throw new TypeError('unusable')\n }\n\n assert(!stream[kConsume])\n\n return new Promise((resolve, reject) => {\n stream[kConsume] = {\n type,\n stream,\n resolve,\n reject,\n length: 0,\n body: []\n }\n\n stream\n .on('error', function (err) {\n consumeFinish(this[kConsume], err)\n })\n .on('close', function () {\n if (this[kConsume].body !== null) {\n consumeFinish(this[kConsume], new RequestAbortedError())\n }\n })\n\n process.nextTick(consumeStart, stream[kConsume])\n })\n}\n\nfunction consumeStart (consume) {\n if (consume.body === null) {\n return\n }\n\n const { _readableState: state } = consume.stream\n\n for (const chunk of state.buffer) {\n consumePush(consume, chunk)\n }\n\n if (state.endEmitted) {\n consumeEnd(this[kConsume])\n } else {\n consume.stream.on('end', function () {\n consumeEnd(this[kConsume])\n })\n }\n\n consume.stream.resume()\n\n while (consume.stream.read() != null) {\n // Loop\n }\n}\n\nfunction consumeEnd (consume) {\n const { type, body, resolve, stream, length } = consume\n\n try {\n if (type === 'text') {\n resolve(toUSVString(Buffer.concat(body)))\n } else if (type === 'json') {\n resolve(JSON.parse(Buffer.concat(body)))\n } else if (type === 'arrayBuffer') {\n const dst = new Uint8Array(length)\n\n let pos = 0\n for (const buf of body) {\n dst.set(buf, pos)\n pos += buf.byteLength\n }\n\n resolve(dst)\n } else if (type === 'blob') {\n if (!Blob) {\n Blob = require('buffer').Blob\n }\n resolve(new Blob(body, { type: stream[kContentType] }))\n }\n\n consumeFinish(consume)\n } catch (err) {\n stream.destroy(err)\n }\n}\n\nfunction consumePush (consume, chunk) {\n consume.length += chunk.length\n consume.body.push(chunk)\n}\n\nfunction consumeFinish (consume, err) {\n if (consume.body === null) {\n return\n }\n\n if (err) {\n consume.reject(err)\n } else {\n consume.resolve()\n }\n\n consume.type = null\n consume.stream = null\n consume.resolve = null\n consume.reject = null\n consume.length = 0\n consume.body = null\n}\n", "const assert = require('assert')\nconst {\n ResponseStatusCodeError\n} = require('../core/errors')\nconst { toUSVString } = require('../core/util')\n\nasync function getResolveErrorBodyCallback ({ callback, body, contentType, statusCode, statusMessage, headers }) {\n assert(body)\n\n let chunks = []\n let limit = 0\n\n for await (const chunk of body) {\n chunks.push(chunk)\n limit += chunk.length\n if (limit > 128 * 1024) {\n chunks = null\n break\n }\n }\n\n if (statusCode === 204 || !contentType || !chunks) {\n process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ''}`, statusCode, headers))\n return\n }\n\n try {\n if (contentType.startsWith('application/json')) {\n const payload = JSON.parse(toUSVString(Buffer.concat(chunks)))\n process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ''}`, statusCode, headers, payload))\n return\n }\n\n if (contentType.startsWith('text/')) {\n const payload = toUSVString(Buffer.concat(chunks))\n process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ''}`, statusCode, headers, payload))\n return\n }\n } catch (err) {\n // Process in a fallback if error\n }\n\n process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ''}`, statusCode, headers))\n}\n\nmodule.exports = { getResolveErrorBodyCallback }\n", "const { addAbortListener } = require('../core/util')\nconst { RequestAbortedError } = require('../core/errors')\n\nconst kListener = Symbol('kListener')\nconst kSignal = Symbol('kSignal')\n\nfunction abort (self) {\n if (self.abort) {\n self.abort()\n } else {\n self.onError(new RequestAbortedError())\n }\n}\n\nfunction addSignal (self, signal) {\n self[kSignal] = null\n self[kListener] = null\n\n if (!signal) {\n return\n }\n\n if (signal.aborted) {\n abort(self)\n return\n }\n\n self[kSignal] = signal\n self[kListener] = () => {\n abort(self)\n }\n\n addAbortListener(self[kSignal], self[kListener])\n}\n\nfunction removeSignal (self) {\n if (!self[kSignal]) {\n return\n }\n\n if ('removeEventListener' in self[kSignal]) {\n self[kSignal].removeEventListener('abort', self[kListener])\n } else {\n self[kSignal].removeListener('abort', self[kListener])\n }\n\n self[kSignal] = null\n self[kListener] = null\n}\n\nmodule.exports = {\n addSignal,\n removeSignal\n}\n", "'use strict'\n\nconst Readable = require('./readable')\nconst {\n InvalidArgumentError,\n RequestAbortedError\n} = require('../core/errors')\nconst util = require('../core/util')\nconst { getResolveErrorBodyCallback } = require('./util')\nconst { AsyncResource } = require('async_hooks')\nconst { addSignal, removeSignal } = require('./abort-signal')\n\nclass RequestHandler extends AsyncResource {\n constructor (opts, callback) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts\n\n try {\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n if (highWaterMark && (typeof highWaterMark !== 'number' || highWaterMark < 0)) {\n throw new InvalidArgumentError('invalid highWaterMark')\n }\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n if (method === 'CONNECT') {\n throw new InvalidArgumentError('invalid method')\n }\n\n if (onInfo && typeof onInfo !== 'function') {\n throw new InvalidArgumentError('invalid onInfo callback')\n }\n\n super('UNDICI_REQUEST')\n } catch (err) {\n if (util.isStream(body)) {\n util.destroy(body.on('error', util.nop), err)\n }\n throw err\n }\n\n this.responseHeaders = responseHeaders || null\n this.opaque = opaque || null\n this.callback = callback\n this.res = null\n this.abort = null\n this.body = body\n this.trailers = {}\n this.context = null\n this.onInfo = onInfo || null\n this.throwOnError = throwOnError\n this.highWaterMark = highWaterMark\n\n if (util.isStream(body)) {\n body.on('error', (err) => {\n this.onError(err)\n })\n }\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n if (!this.callback) {\n throw new RequestAbortedError()\n }\n\n this.abort = abort\n this.context = context\n }\n\n onHeaders (statusCode, rawHeaders, resume, statusMessage) {\n const { callback, opaque, abort, context, responseHeaders, highWaterMark } = this\n\n const headers = responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n\n if (statusCode < 200) {\n if (this.onInfo) {\n this.onInfo({ statusCode, headers })\n }\n return\n }\n\n const parsedHeaders = responseHeaders === 'raw' ? util.parseHeaders(rawHeaders) : headers\n const contentType = parsedHeaders['content-type']\n const body = new Readable({ resume, abort, contentType, highWaterMark })\n\n this.callback = null\n this.res = body\n\n if (callback !== null) {\n if (this.throwOnError && statusCode >= 400) {\n this.runInAsyncScope(getResolveErrorBodyCallback, null,\n { callback, body, contentType, statusCode, statusMessage, headers }\n )\n } else {\n this.runInAsyncScope(callback, null, null, {\n statusCode,\n headers,\n trailers: this.trailers,\n opaque,\n body,\n context\n })\n }\n }\n }\n\n onData (chunk) {\n const { res } = this\n return res.push(chunk)\n }\n\n onComplete (trailers) {\n const { res } = this\n\n removeSignal(this)\n\n util.parseHeaders(trailers, this.trailers)\n\n res.push(null)\n }\n\n onError (err) {\n const { res, callback, body, opaque } = this\n\n removeSignal(this)\n\n if (callback) {\n // TODO: Does this need queueMicrotask?\n this.callback = null\n queueMicrotask(() => {\n this.runInAsyncScope(callback, null, err, { opaque })\n })\n }\n\n if (res) {\n this.res = null\n // Ensure all queued handlers are invoked before destroying res.\n queueMicrotask(() => {\n util.destroy(res, err)\n })\n }\n\n if (body) {\n this.body = null\n util.destroy(body, err)\n }\n }\n}\n\nfunction request (opts, callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n request.call(this, opts, (err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n try {\n this.dispatch(opts, new RequestHandler(opts, callback))\n } catch (err) {\n if (typeof callback !== 'function') {\n throw err\n }\n const opaque = opts && opts.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = request\n", "'use strict'\n\nconst { finished, PassThrough } = require('stream')\nconst {\n InvalidArgumentError,\n InvalidReturnValueError,\n RequestAbortedError\n} = require('../core/errors')\nconst util = require('../core/util')\nconst { getResolveErrorBodyCallback } = require('./util')\nconst { AsyncResource } = require('async_hooks')\nconst { addSignal, removeSignal } = require('./abort-signal')\n\nclass StreamHandler extends AsyncResource {\n constructor (opts, factory, callback) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts\n\n try {\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n if (typeof factory !== 'function') {\n throw new InvalidArgumentError('invalid factory')\n }\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n if (method === 'CONNECT') {\n throw new InvalidArgumentError('invalid method')\n }\n\n if (onInfo && typeof onInfo !== 'function') {\n throw new InvalidArgumentError('invalid onInfo callback')\n }\n\n super('UNDICI_STREAM')\n } catch (err) {\n if (util.isStream(body)) {\n util.destroy(body.on('error', util.nop), err)\n }\n throw err\n }\n\n this.responseHeaders = responseHeaders || null\n this.opaque = opaque || null\n this.factory = factory\n this.callback = callback\n this.res = null\n this.abort = null\n this.context = null\n this.trailers = null\n this.body = body\n this.onInfo = onInfo || null\n this.throwOnError = throwOnError || false\n\n if (util.isStream(body)) {\n body.on('error', (err) => {\n this.onError(err)\n })\n }\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n if (!this.callback) {\n throw new RequestAbortedError()\n }\n\n this.abort = abort\n this.context = context\n }\n\n onHeaders (statusCode, rawHeaders, resume, statusMessage) {\n const { factory, opaque, context, callback, responseHeaders } = this\n\n const headers = responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n\n if (statusCode < 200) {\n if (this.onInfo) {\n this.onInfo({ statusCode, headers })\n }\n return\n }\n\n this.factory = null\n\n let res\n\n if (this.throwOnError && statusCode >= 400) {\n const parsedHeaders = responseHeaders === 'raw' ? util.parseHeaders(rawHeaders) : headers\n const contentType = parsedHeaders['content-type']\n res = new PassThrough()\n\n this.callback = null\n this.runInAsyncScope(getResolveErrorBodyCallback, null,\n { callback, body: res, contentType, statusCode, statusMessage, headers }\n )\n } else {\n res = this.runInAsyncScope(factory, null, {\n statusCode,\n headers,\n opaque,\n context\n })\n\n if (\n !res ||\n typeof res.write !== 'function' ||\n typeof res.end !== 'function' ||\n typeof res.on !== 'function'\n ) {\n throw new InvalidReturnValueError('expected Writable')\n }\n\n // TODO: Avoid finished. It registers an unnecessary amount of listeners.\n finished(res, { readable: false }, (err) => {\n const { callback, res, opaque, trailers, abort } = this\n\n this.res = null\n if (err || !res.readable) {\n util.destroy(res, err)\n }\n\n this.callback = null\n this.runInAsyncScope(callback, null, err || null, { opaque, trailers })\n\n if (err) {\n abort()\n }\n })\n }\n\n res.on('drain', resume)\n\n this.res = res\n\n const needDrain = res.writableNeedDrain !== undefined\n ? res.writableNeedDrain\n : res._writableState && res._writableState.needDrain\n\n return needDrain !== true\n }\n\n onData (chunk) {\n const { res } = this\n\n return res.write(chunk)\n }\n\n onComplete (trailers) {\n const { res } = this\n\n removeSignal(this)\n\n this.trailers = util.parseHeaders(trailers)\n\n res.end()\n }\n\n onError (err) {\n const { res, callback, opaque, body } = this\n\n removeSignal(this)\n\n this.factory = null\n\n if (res) {\n this.res = null\n util.destroy(res, err)\n } else if (callback) {\n this.callback = null\n queueMicrotask(() => {\n this.runInAsyncScope(callback, null, err, { opaque })\n })\n }\n\n if (body) {\n this.body = null\n util.destroy(body, err)\n }\n }\n}\n\nfunction stream (opts, factory, callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n stream.call(this, opts, factory, (err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n try {\n this.dispatch(opts, new StreamHandler(opts, factory, callback))\n } catch (err) {\n if (typeof callback !== 'function') {\n throw err\n }\n const opaque = opts && opts.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = stream\n", "'use strict'\n\nconst {\n Readable,\n Duplex,\n PassThrough\n} = require('stream')\nconst {\n InvalidArgumentError,\n InvalidReturnValueError,\n RequestAbortedError\n} = require('../core/errors')\nconst util = require('../core/util')\nconst { AsyncResource } = require('async_hooks')\nconst { addSignal, removeSignal } = require('./abort-signal')\nconst assert = require('assert')\n\nconst kResume = Symbol('resume')\n\nclass PipelineRequest extends Readable {\n constructor () {\n super({ autoDestroy: true })\n\n this[kResume] = null\n }\n\n _read () {\n const { [kResume]: resume } = this\n\n if (resume) {\n this[kResume] = null\n resume()\n }\n }\n\n _destroy (err, callback) {\n this._read()\n\n callback(err)\n }\n}\n\nclass PipelineResponse extends Readable {\n constructor (resume) {\n super({ autoDestroy: true })\n this[kResume] = resume\n }\n\n _read () {\n this[kResume]()\n }\n\n _destroy (err, callback) {\n if (!err && !this._readableState.endEmitted) {\n err = new RequestAbortedError()\n }\n\n callback(err)\n }\n}\n\nclass PipelineHandler extends AsyncResource {\n constructor (opts, handler) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n if (typeof handler !== 'function') {\n throw new InvalidArgumentError('invalid handler')\n }\n\n const { signal, method, opaque, onInfo, responseHeaders } = opts\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n if (method === 'CONNECT') {\n throw new InvalidArgumentError('invalid method')\n }\n\n if (onInfo && typeof onInfo !== 'function') {\n throw new InvalidArgumentError('invalid onInfo callback')\n }\n\n super('UNDICI_PIPELINE')\n\n this.opaque = opaque || null\n this.responseHeaders = responseHeaders || null\n this.handler = handler\n this.abort = null\n this.context = null\n this.onInfo = onInfo || null\n\n this.req = new PipelineRequest().on('error', util.nop)\n\n this.ret = new Duplex({\n readableObjectMode: opts.objectMode,\n autoDestroy: true,\n read: () => {\n const { body } = this\n\n if (body && body.resume) {\n body.resume()\n }\n },\n write: (chunk, encoding, callback) => {\n const { req } = this\n\n if (req.push(chunk, encoding) || req._readableState.destroyed) {\n callback()\n } else {\n req[kResume] = callback\n }\n },\n destroy: (err, callback) => {\n const { body, req, res, ret, abort } = this\n\n if (!err && !ret._readableState.endEmitted) {\n err = new RequestAbortedError()\n }\n\n if (abort && err) {\n abort()\n }\n\n util.destroy(body, err)\n util.destroy(req, err)\n util.destroy(res, err)\n\n removeSignal(this)\n\n callback(err)\n }\n }).on('prefinish', () => {\n const { req } = this\n\n // Node < 15 does not call _final in same tick.\n req.push(null)\n })\n\n this.res = null\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n const { ret, res } = this\n\n assert(!res, 'pipeline cannot be retried')\n\n if (ret.destroyed) {\n throw new RequestAbortedError()\n }\n\n this.abort = abort\n this.context = context\n }\n\n onHeaders (statusCode, rawHeaders, resume) {\n const { opaque, handler, context } = this\n\n if (statusCode < 200) {\n if (this.onInfo) {\n const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n this.onInfo({ statusCode, headers })\n }\n return\n }\n\n this.res = new PipelineResponse(resume)\n\n let body\n try {\n this.handler = null\n const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n body = this.runInAsyncScope(handler, null, {\n statusCode,\n headers,\n opaque,\n body: this.res,\n context\n })\n } catch (err) {\n this.res.on('error', util.nop)\n throw err\n }\n\n if (!body || typeof body.on !== 'function') {\n throw new InvalidReturnValueError('expected Readable')\n }\n\n body\n .on('data', (chunk) => {\n const { ret, body } = this\n\n if (!ret.push(chunk) && body.pause) {\n body.pause()\n }\n })\n .on('error', (err) => {\n const { ret } = this\n\n util.destroy(ret, err)\n })\n .on('end', () => {\n const { ret } = this\n\n ret.push(null)\n })\n .on('close', () => {\n const { ret } = this\n\n if (!ret._readableState.ended) {\n util.destroy(ret, new RequestAbortedError())\n }\n })\n\n this.body = body\n }\n\n onData (chunk) {\n const { res } = this\n return res.push(chunk)\n }\n\n onComplete (trailers) {\n const { res } = this\n res.push(null)\n }\n\n onError (err) {\n const { ret } = this\n this.handler = null\n util.destroy(ret, err)\n }\n}\n\nfunction pipeline (opts, handler) {\n try {\n const pipelineHandler = new PipelineHandler(opts, handler)\n this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler)\n return pipelineHandler.ret\n } catch (err) {\n return new PassThrough().destroy(err)\n }\n}\n\nmodule.exports = pipeline\n", "'use strict'\n\nconst { InvalidArgumentError, RequestAbortedError, SocketError } = require('../core/errors')\nconst { AsyncResource } = require('async_hooks')\nconst util = require('../core/util')\nconst { addSignal, removeSignal } = require('./abort-signal')\nconst assert = require('assert')\n\nclass UpgradeHandler extends AsyncResource {\n constructor (opts, callback) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n const { signal, opaque, responseHeaders } = opts\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n super('UNDICI_UPGRADE')\n\n this.responseHeaders = responseHeaders || null\n this.opaque = opaque || null\n this.callback = callback\n this.abort = null\n this.context = null\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n if (!this.callback) {\n throw new RequestAbortedError()\n }\n\n this.abort = abort\n this.context = null\n }\n\n onHeaders () {\n throw new SocketError('bad upgrade', null)\n }\n\n onUpgrade (statusCode, rawHeaders, socket) {\n const { callback, opaque, context } = this\n\n assert.strictEqual(statusCode, 101)\n\n removeSignal(this)\n\n this.callback = null\n const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n this.runInAsyncScope(callback, null, null, {\n headers,\n socket,\n opaque,\n context\n })\n }\n\n onError (err) {\n const { callback, opaque } = this\n\n removeSignal(this)\n\n if (callback) {\n this.callback = null\n queueMicrotask(() => {\n this.runInAsyncScope(callback, null, err, { opaque })\n })\n }\n }\n}\n\nfunction upgrade (opts, callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n upgrade.call(this, opts, (err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n try {\n const upgradeHandler = new UpgradeHandler(opts, callback)\n this.dispatch({\n ...opts,\n method: opts.method || 'GET',\n upgrade: opts.protocol || 'Websocket'\n }, upgradeHandler)\n } catch (err) {\n if (typeof callback !== 'function') {\n throw err\n }\n const opaque = opts && opts.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = upgrade\n", "'use strict'\n\nconst { InvalidArgumentError, RequestAbortedError, SocketError } = require('../core/errors')\nconst { AsyncResource } = require('async_hooks')\nconst util = require('../core/util')\nconst { addSignal, removeSignal } = require('./abort-signal')\n\nclass ConnectHandler extends AsyncResource {\n constructor (opts, callback) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n const { signal, opaque, responseHeaders } = opts\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n super('UNDICI_CONNECT')\n\n this.opaque = opaque || null\n this.responseHeaders = responseHeaders || null\n this.callback = callback\n this.abort = null\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n if (!this.callback) {\n throw new RequestAbortedError()\n }\n\n this.abort = abort\n this.context = context\n }\n\n onHeaders () {\n throw new SocketError('bad connect', null)\n }\n\n onUpgrade (statusCode, rawHeaders, socket) {\n const { callback, opaque, context } = this\n\n removeSignal(this)\n\n this.callback = null\n const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n this.runInAsyncScope(callback, null, null, {\n statusCode,\n headers,\n socket,\n opaque,\n context\n })\n }\n\n onError (err) {\n const { callback, opaque } = this\n\n removeSignal(this)\n\n if (callback) {\n this.callback = null\n queueMicrotask(() => {\n this.runInAsyncScope(callback, null, err, { opaque })\n })\n }\n }\n}\n\nfunction connect (opts, callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n connect.call(this, opts, (err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n try {\n const connectHandler = new ConnectHandler(opts, callback)\n this.dispatch({ ...opts, method: 'CONNECT' }, connectHandler)\n } catch (err) {\n if (typeof callback !== 'function') {\n throw err\n }\n const opaque = opts && opts.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = connect\n", "'use strict'\n\nmodule.exports.request = require('./api-request')\nmodule.exports.stream = require('./api-stream')\nmodule.exports.pipeline = require('./api-pipeline')\nmodule.exports.upgrade = require('./api-upgrade')\nmodule.exports.connect = require('./api-connect')\n", "'use strict'\n\nconst { UndiciError } = require('../core/errors')\n\nclass MockNotMatchedError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, MockNotMatchedError)\n this.name = 'MockNotMatchedError'\n this.message = message || 'The request does not match any registered mock dispatches'\n this.code = 'UND_MOCK_ERR_MOCK_NOT_MATCHED'\n }\n}\n\nmodule.exports = {\n MockNotMatchedError\n}\n", "'use strict'\n\nmodule.exports = {\n kAgent: Symbol('agent'),\n kOptions: Symbol('options'),\n kFactory: Symbol('factory'),\n kDispatches: Symbol('dispatches'),\n kDispatchKey: Symbol('dispatch key'),\n kDefaultHeaders: Symbol('default headers'),\n kDefaultTrailers: Symbol('default trailers'),\n kContentLength: Symbol('content length'),\n kMockAgent: Symbol('mock agent'),\n kMockAgentSet: Symbol('mock agent set'),\n kMockAgentGet: Symbol('mock agent get'),\n kMockDispatch: Symbol('mock dispatch'),\n kClose: Symbol('close'),\n kOriginalClose: Symbol('original agent close'),\n kOrigin: Symbol('origin'),\n kIsMockActive: Symbol('is mock active'),\n kNetConnect: Symbol('net connect'),\n kGetNetConnect: Symbol('get net connect'),\n kConnected: Symbol('connected')\n}\n", "'use strict'\n\nconst { MockNotMatchedError } = require('./mock-errors')\nconst {\n kDispatches,\n kMockAgent,\n kOriginalDispatch,\n kOrigin,\n kGetNetConnect\n} = require('./mock-symbols')\nconst { buildURL, nop } = require('../core/util')\nconst { STATUS_CODES } = require('http')\nconst {\n types: {\n isPromise\n }\n} = require('util')\n\nfunction matchValue (match, value) {\n if (typeof match === 'string') {\n return match === value\n }\n if (match instanceof RegExp) {\n return match.test(value)\n }\n if (typeof match === 'function') {\n return match(value) === true\n }\n return false\n}\n\nfunction lowerCaseEntries (headers) {\n return Object.fromEntries(\n Object.entries(headers).map(([headerName, headerValue]) => {\n return [headerName.toLocaleLowerCase(), headerValue]\n })\n )\n}\n\n/**\n * @param {import('../../index').Headers|string[]|Record<string, string>} headers\n * @param {string} key\n */\nfunction getHeaderByName (headers, key) {\n if (Array.isArray(headers)) {\n for (let i = 0; i < headers.length; i += 2) {\n if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {\n return headers[i + 1]\n }\n }\n\n return undefined\n } else if (typeof headers.get === 'function') {\n return headers.get(key)\n } else {\n return lowerCaseEntries(headers)[key.toLocaleLowerCase()]\n }\n}\n\n/** @param {string[]} headers */\nfunction buildHeadersFromArray (headers) { // fetch HeadersList\n const clone = headers.slice()\n const entries = []\n for (let index = 0; index < clone.length; index += 2) {\n entries.push([clone[index], clone[index + 1]])\n }\n return Object.fromEntries(entries)\n}\n\nfunction matchHeaders (mockDispatch, headers) {\n if (typeof mockDispatch.headers === 'function') {\n if (Array.isArray(headers)) { // fetch HeadersList\n headers = buildHeadersFromArray(headers)\n }\n return mockDispatch.headers(headers ? lowerCaseEntries(headers) : {})\n }\n if (typeof mockDispatch.headers === 'undefined') {\n return true\n }\n if (typeof headers !== 'object' || typeof mockDispatch.headers !== 'object') {\n return false\n }\n\n for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch.headers)) {\n const headerValue = getHeaderByName(headers, matchHeaderName)\n\n if (!matchValue(matchHeaderValue, headerValue)) {\n return false\n }\n }\n return true\n}\n\nfunction safeUrl (path) {\n if (typeof path !== 'string') {\n return path\n }\n\n const pathSegments = path.split('?')\n\n if (pathSegments.length !== 2) {\n return path\n }\n\n const qp = new URLSearchParams(pathSegments.pop())\n qp.sort()\n return [...pathSegments, qp.toString()].join('?')\n}\n\nfunction matchKey (mockDispatch, { path, method, body, headers }) {\n const pathMatch = matchValue(mockDispatch.path, path)\n const methodMatch = matchValue(mockDispatch.method, method)\n const bodyMatch = typeof mockDispatch.body !== 'undefined' ? matchValue(mockDispatch.body, body) : true\n const headersMatch = matchHeaders(mockDispatch, headers)\n return pathMatch && methodMatch && bodyMatch && headersMatch\n}\n\nfunction getResponseData (data) {\n if (Buffer.isBuffer(data)) {\n return data\n } else if (typeof data === 'object') {\n return JSON.stringify(data)\n } else {\n return data.toString()\n }\n}\n\nfunction getMockDispatch (mockDispatches, key) {\n const basePath = key.query ? buildURL(key.path, key.query) : key.path\n const resolvedPath = typeof basePath === 'string' ? safeUrl(basePath) : basePath\n\n // Match path\n let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path }) => matchValue(safeUrl(path), resolvedPath))\n if (matchedMockDispatches.length === 0) {\n throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`)\n }\n\n // Match method\n matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method))\n if (matchedMockDispatches.length === 0) {\n throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`)\n }\n\n // Match body\n matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== 'undefined' ? matchValue(body, key.body) : true)\n if (matchedMockDispatches.length === 0) {\n throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`)\n }\n\n // Match headers\n matchedMockDispatches = matchedMockDispatches.filter((mockDispatch) => matchHeaders(mockDispatch, key.headers))\n if (matchedMockDispatches.length === 0) {\n throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === 'object' ? JSON.stringify(key.headers) : key.headers}'`)\n }\n\n return matchedMockDispatches[0]\n}\n\nfunction addMockDispatch (mockDispatches, key, data) {\n const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false }\n const replyData = typeof data === 'function' ? { callback: data } : { ...data }\n const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } }\n mockDispatches.push(newMockDispatch)\n return newMockDispatch\n}\n\nfunction deleteMockDispatch (mockDispatches, key) {\n const index = mockDispatches.findIndex(dispatch => {\n if (!dispatch.consumed) {\n return false\n }\n return matchKey(dispatch, key)\n })\n if (index !== -1) {\n mockDispatches.splice(index, 1)\n }\n}\n\nfunction buildKey (opts) {\n const { path, method, body, headers, query } = opts\n return {\n path,\n method,\n body,\n headers,\n query\n }\n}\n\nfunction generateKeyValues (data) {\n return Object.entries(data).reduce((keyValuePairs, [key, value]) => [\n ...keyValuePairs,\n Buffer.from(`${key}`),\n Array.isArray(value) ? value.map(x => Buffer.from(`${x}`)) : Buffer.from(`${value}`)\n ], [])\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status\n * @param {number} statusCode\n */\nfunction getStatusText (statusCode) {\n return STATUS_CODES[statusCode] || 'unknown'\n}\n\nasync function getResponse (body) {\n const buffers = []\n for await (const data of body) {\n buffers.push(data)\n }\n return Buffer.concat(buffers).toString('utf8')\n}\n\n/**\n * Mock dispatch function used to simulate undici dispatches\n */\nfunction mockDispatch (opts, handler) {\n // Get mock dispatch from built key\n const key = buildKey(opts)\n const mockDispatch = getMockDispatch(this[kDispatches], key)\n\n mockDispatch.timesInvoked++\n\n // Here's where we resolve a callback if a callback is present for the dispatch data.\n if (mockDispatch.data.callback) {\n mockDispatch.data = { ...mockDispatch.data, ...mockDispatch.data.callback(opts) }\n }\n\n // Parse mockDispatch data\n const { data: { statusCode, data, headers, trailers, error }, delay, persist } = mockDispatch\n const { timesInvoked, times } = mockDispatch\n\n // If it's used up and not persistent, mark as consumed\n mockDispatch.consumed = !persist && timesInvoked >= times\n mockDispatch.pending = timesInvoked < times\n\n // If specified, trigger dispatch error\n if (error !== null) {\n deleteMockDispatch(this[kDispatches], key)\n handler.onError(error)\n return true\n }\n\n // Handle the request with a delay if necessary\n if (typeof delay === 'number' && delay > 0) {\n setTimeout(() => {\n handleReply(this[kDispatches])\n }, delay)\n } else {\n handleReply(this[kDispatches])\n }\n\n function handleReply (mockDispatches, _data = data) {\n // fetch's HeadersList is a 1D string array\n const optsHeaders = Array.isArray(opts.headers)\n ? buildHeadersFromArray(opts.headers)\n : opts.headers\n const body = typeof _data === 'function'\n ? _data({ ...opts, headers: optsHeaders })\n : _data\n\n // util.types.isPromise is likely needed for jest.\n if (isPromise(body)) {\n // If handleReply is asynchronous, throwing an error\n // in the callback will reject the promise, rather than\n // synchronously throw the error, which breaks some tests.\n // Rather, we wait for the callback to resolve if it is a\n // promise, and then re-run handleReply with the new body.\n body.then((newData) => handleReply(mockDispatches, newData))\n return\n }\n\n const responseData = getResponseData(body)\n const responseHeaders = generateKeyValues(headers)\n const responseTrailers = generateKeyValues(trailers)\n\n handler.abort = nop\n handler.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode))\n handler.onData(Buffer.from(responseData))\n handler.onComplete(responseTrailers)\n deleteMockDispatch(mockDispatches, key)\n }\n\n function resume () {}\n\n return true\n}\n\nfunction buildMockDispatch () {\n const agent = this[kMockAgent]\n const origin = this[kOrigin]\n const originalDispatch = this[kOriginalDispatch]\n\n return function dispatch (opts, handler) {\n if (agent.isMockActive) {\n try {\n mockDispatch.call(this, opts, handler)\n } catch (error) {\n if (error instanceof MockNotMatchedError) {\n const netConnect = agent[kGetNetConnect]()\n if (netConnect === false) {\n throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`)\n }\n if (checkNetConnect(netConnect, origin)) {\n originalDispatch.call(this, opts, handler)\n } else {\n throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`)\n }\n } else {\n throw error\n }\n }\n } else {\n originalDispatch.call(this, opts, handler)\n }\n }\n}\n\nfunction checkNetConnect (netConnect, origin) {\n const url = new URL(origin)\n if (netConnect === true) {\n return true\n } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {\n return true\n }\n return false\n}\n\nfunction buildMockOptions (opts) {\n if (opts) {\n const { agent, ...mockOptions } = opts\n return mockOptions\n }\n}\n\nmodule.exports = {\n getResponseData,\n getMockDispatch,\n addMockDispatch,\n deleteMockDispatch,\n buildKey,\n generateKeyValues,\n matchValue,\n getResponse,\n getStatusText,\n mockDispatch,\n buildMockDispatch,\n checkNetConnect,\n buildMockOptions,\n getHeaderByName\n}\n", "'use strict'\n\nconst { getResponseData, buildKey, addMockDispatch } = require('./mock-utils')\nconst {\n kDispatches,\n kDispatchKey,\n kDefaultHeaders,\n kDefaultTrailers,\n kContentLength,\n kMockDispatch\n} = require('./mock-symbols')\nconst { InvalidArgumentError } = require('../core/errors')\nconst { buildURL } = require('../core/util')\n\n/**\n * Defines the scope API for an interceptor reply\n */\nclass MockScope {\n constructor (mockDispatch) {\n this[kMockDispatch] = mockDispatch\n }\n\n /**\n * Delay a reply by a set amount in ms.\n */\n delay (waitInMs) {\n if (typeof waitInMs !== 'number' || !Number.isInteger(waitInMs) || waitInMs <= 0) {\n throw new InvalidArgumentError('waitInMs must be a valid integer > 0')\n }\n\n this[kMockDispatch].delay = waitInMs\n return this\n }\n\n /**\n * For a defined reply, never mark as consumed.\n */\n persist () {\n this[kMockDispatch].persist = true\n return this\n }\n\n /**\n * Allow one to define a reply for a set amount of matching requests.\n */\n times (repeatTimes) {\n if (typeof repeatTimes !== 'number' || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {\n throw new InvalidArgumentError('repeatTimes must be a valid integer > 0')\n }\n\n this[kMockDispatch].times = repeatTimes\n return this\n }\n}\n\n/**\n * Defines an interceptor for a Mock\n */\nclass MockInterceptor {\n constructor (opts, mockDispatches) {\n if (typeof opts !== 'object') {\n throw new InvalidArgumentError('opts must be an object')\n }\n if (typeof opts.path === 'undefined') {\n throw new InvalidArgumentError('opts.path must be defined')\n }\n if (typeof opts.method === 'undefined') {\n opts.method = 'GET'\n }\n // See https://github.com/nodejs/undici/issues/1245\n // As per RFC 3986, clients are not supposed to send URI\n // fragments to servers when they retrieve a document,\n if (typeof opts.path === 'string') {\n if (opts.query) {\n opts.path = buildURL(opts.path, opts.query)\n } else {\n // Matches https://github.com/nodejs/undici/blob/main/lib/fetch/index.js#L1811\n const parsedURL = new URL(opts.path, 'data://')\n opts.path = parsedURL.pathname + parsedURL.search\n }\n }\n if (typeof opts.method === 'string') {\n opts.method = opts.method.toUpperCase()\n }\n\n this[kDispatchKey] = buildKey(opts)\n this[kDispatches] = mockDispatches\n this[kDefaultHeaders] = {}\n this[kDefaultTrailers] = {}\n this[kContentLength] = false\n }\n\n createMockScopeDispatchData (statusCode, data, responseOptions = {}) {\n const responseData = getResponseData(data)\n const contentLength = this[kContentLength] ? { 'content-length': responseData.length } : {}\n const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers }\n const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers }\n\n return { statusCode, data, headers, trailers }\n }\n\n validateReplyParameters (statusCode, data, responseOptions) {\n if (typeof statusCode === 'undefined') {\n throw new InvalidArgumentError('statusCode must be defined')\n }\n if (typeof data === 'undefined') {\n throw new InvalidArgumentError('data must be defined')\n }\n if (typeof responseOptions !== 'object') {\n throw new InvalidArgumentError('responseOptions must be an object')\n }\n }\n\n /**\n * Mock an undici request with a defined reply.\n */\n reply (replyData) {\n // Values of reply aren't available right now as they\n // can only be available when the reply callback is invoked.\n if (typeof replyData === 'function') {\n // We'll first wrap the provided callback in another function,\n // this function will properly resolve the data from the callback\n // when invoked.\n const wrappedDefaultsCallback = (opts) => {\n // Our reply options callback contains the parameter for statusCode, data and options.\n const resolvedData = replyData(opts)\n\n // Check if it is in the right format\n if (typeof resolvedData !== 'object') {\n throw new InvalidArgumentError('reply options callback must return an object')\n }\n\n const { statusCode, data = '', responseOptions = {} } = resolvedData\n this.validateReplyParameters(statusCode, data, responseOptions)\n // Since the values can be obtained immediately we return them\n // from this higher order function that will be resolved later.\n return {\n ...this.createMockScopeDispatchData(statusCode, data, responseOptions)\n }\n }\n\n // Add usual dispatch data, but this time set the data parameter to function that will eventually provide data.\n const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback)\n return new MockScope(newMockDispatch)\n }\n\n // We can have either one or three parameters, if we get here,\n // we should have 1-3 parameters. So we spread the arguments of\n // this function to obtain the parameters, since replyData will always\n // just be the statusCode.\n const [statusCode, data = '', responseOptions = {}] = [...arguments]\n this.validateReplyParameters(statusCode, data, responseOptions)\n\n // Send in-already provided data like usual\n const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions)\n const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData)\n return new MockScope(newMockDispatch)\n }\n\n /**\n * Mock an undici request with a defined error.\n */\n replyWithError (error) {\n if (typeof error === 'undefined') {\n throw new InvalidArgumentError('error must be defined')\n }\n\n const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error })\n return new MockScope(newMockDispatch)\n }\n\n /**\n * Set default reply headers on the interceptor for subsequent replies\n */\n defaultReplyHeaders (headers) {\n if (typeof headers === 'undefined') {\n throw new InvalidArgumentError('headers must be defined')\n }\n\n this[kDefaultHeaders] = headers\n return this\n }\n\n /**\n * Set default reply trailers on the interceptor for subsequent replies\n */\n defaultReplyTrailers (trailers) {\n if (typeof trailers === 'undefined') {\n throw new InvalidArgumentError('trailers must be defined')\n }\n\n this[kDefaultTrailers] = trailers\n return this\n }\n\n /**\n * Set reply content length header for replies on the interceptor\n */\n replyContentLength () {\n this[kContentLength] = true\n return this\n }\n}\n\nmodule.exports.MockInterceptor = MockInterceptor\nmodule.exports.MockScope = MockScope\n", "'use strict'\n\nconst { promisify } = require('util')\nconst Client = require('../client')\nconst { buildMockDispatch } = require('./mock-utils')\nconst {\n kDispatches,\n kMockAgent,\n kClose,\n kOriginalClose,\n kOrigin,\n kOriginalDispatch,\n kConnected\n} = require('./mock-symbols')\nconst { MockInterceptor } = require('./mock-interceptor')\nconst Symbols = require('../core/symbols')\nconst { InvalidArgumentError } = require('../core/errors')\n\n/**\n * MockClient provides an API that extends the Client to influence the mockDispatches.\n */\nclass MockClient extends Client {\n constructor (origin, opts) {\n super(origin, opts)\n\n if (!opts || !opts.agent || typeof opts.agent.dispatch !== 'function') {\n throw new InvalidArgumentError('Argument opts.agent must implement Agent')\n }\n\n this[kMockAgent] = opts.agent\n this[kOrigin] = origin\n this[kDispatches] = []\n this[kConnected] = 1\n this[kOriginalDispatch] = this.dispatch\n this[kOriginalClose] = this.close.bind(this)\n\n this.dispatch = buildMockDispatch.call(this)\n this.close = this[kClose]\n }\n\n get [Symbols.kConnected] () {\n return this[kConnected]\n }\n\n /**\n * Sets up the base interceptor for mocking replies from undici.\n */\n intercept (opts) {\n return new MockInterceptor(opts, this[kDispatches])\n }\n\n async [kClose] () {\n await promisify(this[kOriginalClose])()\n this[kConnected] = 0\n this[kMockAgent][Symbols.kClients].delete(this[kOrigin])\n }\n}\n\nmodule.exports = MockClient\n", "'use strict'\n\nconst { promisify } = require('util')\nconst Pool = require('../pool')\nconst { buildMockDispatch } = require('./mock-utils')\nconst {\n kDispatches,\n kMockAgent,\n kClose,\n kOriginalClose,\n kOrigin,\n kOriginalDispatch,\n kConnected\n} = require('./mock-symbols')\nconst { MockInterceptor } = require('./mock-interceptor')\nconst Symbols = require('../core/symbols')\nconst { InvalidArgumentError } = require('../core/errors')\n\n/**\n * MockPool provides an API that extends the Pool to influence the mockDispatches.\n */\nclass MockPool extends Pool {\n constructor (origin, opts) {\n super(origin, opts)\n\n if (!opts || !opts.agent || typeof opts.agent.dispatch !== 'function') {\n throw new InvalidArgumentError('Argument opts.agent must implement Agent')\n }\n\n this[kMockAgent] = opts.agent\n this[kOrigin] = origin\n this[kDispatches] = []\n this[kConnected] = 1\n this[kOriginalDispatch] = this.dispatch\n this[kOriginalClose] = this.close.bind(this)\n\n this.dispatch = buildMockDispatch.call(this)\n this.close = this[kClose]\n }\n\n get [Symbols.kConnected] () {\n return this[kConnected]\n }\n\n /**\n * Sets up the base interceptor for mocking replies from undici.\n */\n intercept (opts) {\n return new MockInterceptor(opts, this[kDispatches])\n }\n\n async [kClose] () {\n await promisify(this[kOriginalClose])()\n this[kConnected] = 0\n this[kMockAgent][Symbols.kClients].delete(this[kOrigin])\n }\n}\n\nmodule.exports = MockPool\n", "'use strict'\n\nconst singulars = {\n pronoun: 'it',\n is: 'is',\n was: 'was',\n this: 'this'\n}\n\nconst plurals = {\n pronoun: 'they',\n is: 'are',\n was: 'were',\n this: 'these'\n}\n\nmodule.exports = class Pluralizer {\n constructor (singular, plural) {\n this.singular = singular\n this.plural = plural\n }\n\n pluralize (count) {\n const one = count === 1\n const keys = one ? singulars : plurals\n const noun = one ? this.singular : this.plural\n return { ...keys, count, noun }\n }\n}\n", "'use strict'\n\nconst { Transform } = require('stream')\nconst { Console } = require('console')\n\n/**\n * Gets the output of `console.table(\u2026)` as a string.\n */\nmodule.exports = class PendingInterceptorsFormatter {\n constructor ({ disableColors } = {}) {\n this.transform = new Transform({\n transform (chunk, _enc, cb) {\n cb(null, chunk)\n }\n })\n\n this.logger = new Console({\n stdout: this.transform,\n inspectOptions: {\n colors: !disableColors && !process.env.CI\n }\n })\n }\n\n format (pendingInterceptors) {\n const withPrettyHeaders = pendingInterceptors.map(\n ({ method, path, data: { statusCode }, persist, times, timesInvoked, origin }) => ({\n Method: method,\n Origin: origin,\n Path: path,\n 'Status code': statusCode,\n Persistent: persist ? '\u2705' : '\u274C',\n Invocations: timesInvoked,\n Remaining: persist ? Infinity : times - timesInvoked\n }))\n\n this.logger.table(withPrettyHeaders)\n return this.transform.read().toString()\n }\n}\n", "'use strict'\n\nconst { kClients } = require('../core/symbols')\nconst Agent = require('../agent')\nconst {\n kAgent,\n kMockAgentSet,\n kMockAgentGet,\n kDispatches,\n kIsMockActive,\n kNetConnect,\n kGetNetConnect,\n kOptions,\n kFactory\n} = require('./mock-symbols')\nconst MockClient = require('./mock-client')\nconst MockPool = require('./mock-pool')\nconst { matchValue, buildMockOptions } = require('./mock-utils')\nconst { InvalidArgumentError, UndiciError } = require('../core/errors')\nconst Dispatcher = require('../dispatcher')\nconst Pluralizer = require('./pluralizer')\nconst PendingInterceptorsFormatter = require('./pending-interceptors-formatter')\n\nclass FakeWeakRef {\n constructor (value) {\n this.value = value\n }\n\n deref () {\n return this.value\n }\n}\n\nclass MockAgent extends Dispatcher {\n constructor (opts) {\n super(opts)\n\n this[kNetConnect] = true\n this[kIsMockActive] = true\n\n // Instantiate Agent and encapsulate\n if ((opts && opts.agent && typeof opts.agent.dispatch !== 'function')) {\n throw new InvalidArgumentError('Argument opts.agent must implement Agent')\n }\n const agent = opts && opts.agent ? opts.agent : new Agent(opts)\n this[kAgent] = agent\n\n this[kClients] = agent[kClients]\n this[kOptions] = buildMockOptions(opts)\n }\n\n get (origin) {\n let dispatcher = this[kMockAgentGet](origin)\n\n if (!dispatcher) {\n dispatcher = this[kFactory](origin)\n this[kMockAgentSet](origin, dispatcher)\n }\n return dispatcher\n }\n\n dispatch (opts, handler) {\n // Call MockAgent.get to perform additional setup before dispatching as normal\n this.get(opts.origin)\n return this[kAgent].dispatch(opts, handler)\n }\n\n async close () {\n await this[kAgent].close()\n this[kClients].clear()\n }\n\n deactivate () {\n this[kIsMockActive] = false\n }\n\n activate () {\n this[kIsMockActive] = true\n }\n\n enableNetConnect (matcher) {\n if (typeof matcher === 'string' || typeof matcher === 'function' || matcher instanceof RegExp) {\n if (Array.isArray(this[kNetConnect])) {\n this[kNetConnect].push(matcher)\n } else {\n this[kNetConnect] = [matcher]\n }\n } else if (typeof matcher === 'undefined') {\n this[kNetConnect] = true\n } else {\n throw new InvalidArgumentError('Unsupported matcher. Must be one of String|Function|RegExp.')\n }\n }\n\n disableNetConnect () {\n this[kNetConnect] = false\n }\n\n // This is required to bypass issues caused by using global symbols - see:\n // https://github.com/nodejs/undici/issues/1447\n get isMockActive () {\n return this[kIsMockActive]\n }\n\n [kMockAgentSet] (origin, dispatcher) {\n this[kClients].set(origin, new FakeWeakRef(dispatcher))\n }\n\n [kFactory] (origin) {\n const mockOptions = Object.assign({ agent: this }, this[kOptions])\n return this[kOptions] && this[kOptions].connections === 1\n ? new MockClient(origin, mockOptions)\n : new MockPool(origin, mockOptions)\n }\n\n [kMockAgentGet] (origin) {\n // First check if we can immediately find it\n const ref = this[kClients].get(origin)\n if (ref) {\n return ref.deref()\n }\n\n // If the origin is not a string create a dummy parent pool and return to user\n if (typeof origin !== 'string') {\n const dispatcher = this[kFactory]('http://localhost:9999')\n this[kMockAgentSet](origin, dispatcher)\n return dispatcher\n }\n\n // If we match, create a pool and assign the same dispatches\n for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {\n const nonExplicitDispatcher = nonExplicitRef.deref()\n if (nonExplicitDispatcher && typeof keyMatcher !== 'string' && matchValue(keyMatcher, origin)) {\n const dispatcher = this[kFactory](origin)\n this[kMockAgentSet](origin, dispatcher)\n dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches]\n return dispatcher\n }\n }\n }\n\n [kGetNetConnect] () {\n return this[kNetConnect]\n }\n\n pendingInterceptors () {\n const mockAgentClients = this[kClients]\n\n return Array.from(mockAgentClients.entries())\n .flatMap(([origin, scope]) => scope.deref()[kDispatches].map(dispatch => ({ ...dispatch, origin })))\n .filter(({ pending }) => pending)\n }\n\n assertNoPendingInterceptors ({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {\n const pending = this.pendingInterceptors()\n\n if (pending.length === 0) {\n return\n }\n\n const pluralizer = new Pluralizer('interceptor', 'interceptors').pluralize(pending.length)\n\n throw new UndiciError(`\n${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:\n\n${pendingInterceptorsFormatter.format(pending)}\n`.trim())\n }\n}\n\nmodule.exports = MockAgent\n", "'use strict'\n\nconst { kProxy, kClose, kDestroy, kInterceptors } = require('./core/symbols')\nconst { URL } = require('url')\nconst Agent = require('./agent')\nconst Pool = require('./pool')\nconst DispatcherBase = require('./dispatcher-base')\nconst { InvalidArgumentError, RequestAbortedError } = require('./core/errors')\nconst buildConnector = require('./core/connect')\n\nconst kAgent = Symbol('proxy agent')\nconst kClient = Symbol('proxy client')\nconst kProxyHeaders = Symbol('proxy headers')\nconst kRequestTls = Symbol('request tls settings')\nconst kProxyTls = Symbol('proxy tls settings')\nconst kConnectEndpoint = Symbol('connect endpoint function')\n\nfunction defaultProtocolPort (protocol) {\n return protocol === 'https:' ? 443 : 80\n}\n\nfunction buildProxyOptions (opts) {\n if (typeof opts === 'string') {\n opts = { uri: opts }\n }\n\n if (!opts || !opts.uri) {\n throw new InvalidArgumentError('Proxy opts.uri is mandatory')\n }\n\n return {\n uri: opts.uri,\n protocol: opts.protocol || 'https'\n }\n}\n\nfunction defaultFactory (origin, opts) {\n return new Pool(origin, opts)\n}\n\nclass ProxyAgent extends DispatcherBase {\n constructor (opts) {\n super(opts)\n this[kProxy] = buildProxyOptions(opts)\n this[kAgent] = new Agent(opts)\n this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent)\n ? opts.interceptors.ProxyAgent\n : []\n\n if (typeof opts === 'string') {\n opts = { uri: opts }\n }\n\n if (!opts || !opts.uri) {\n throw new InvalidArgumentError('Proxy opts.uri is mandatory')\n }\n\n const { clientFactory = defaultFactory } = opts\n\n if (typeof clientFactory !== 'function') {\n throw new InvalidArgumentError('Proxy opts.clientFactory must be a function.')\n }\n\n this[kRequestTls] = opts.requestTls\n this[kProxyTls] = opts.proxyTls\n this[kProxyHeaders] = opts.headers || {}\n\n if (opts.auth && opts.token) {\n throw new InvalidArgumentError('opts.auth cannot be used in combination with opts.token')\n } else if (opts.auth) {\n /* @deprecated in favour of opts.token */\n this[kProxyHeaders]['proxy-authorization'] = `Basic ${opts.auth}`\n } else if (opts.token) {\n this[kProxyHeaders]['proxy-authorization'] = opts.token\n }\n\n const resolvedUrl = new URL(opts.uri)\n const { origin, port, host } = resolvedUrl\n\n const connect = buildConnector({ ...opts.proxyTls })\n this[kConnectEndpoint] = buildConnector({ ...opts.requestTls })\n this[kClient] = clientFactory(resolvedUrl, { connect })\n this[kAgent] = new Agent({\n ...opts,\n connect: async (opts, callback) => {\n let requestedHost = opts.host\n if (!opts.port) {\n requestedHost += `:${defaultProtocolPort(opts.protocol)}`\n }\n try {\n const { socket, statusCode } = await this[kClient].connect({\n origin,\n port,\n path: requestedHost,\n signal: opts.signal,\n headers: {\n ...this[kProxyHeaders],\n host\n }\n })\n if (statusCode !== 200) {\n socket.on('error', () => {}).destroy()\n callback(new RequestAbortedError('Proxy response !== 200 when HTTP Tunneling'))\n }\n if (opts.protocol !== 'https:') {\n callback(null, socket)\n return\n }\n let servername\n if (this[kRequestTls]) {\n servername = this[kRequestTls].servername\n } else {\n servername = opts.servername\n }\n this[kConnectEndpoint]({ ...opts, servername, httpSocket: socket }, callback)\n } catch (err) {\n callback(err)\n }\n }\n })\n }\n\n dispatch (opts, handler) {\n const { host } = new URL(opts.origin)\n const headers = buildHeaders(opts.headers)\n throwIfProxyAuthIsSent(headers)\n return this[kAgent].dispatch(\n {\n ...opts,\n headers: {\n ...headers,\n host\n }\n },\n handler\n )\n }\n\n async [kClose] () {\n await this[kAgent].close()\n await this[kClient].close()\n }\n\n async [kDestroy] () {\n await this[kAgent].destroy()\n await this[kClient].destroy()\n }\n}\n\n/**\n * @param {string[] | Record<string, string>} headers\n * @returns {Record<string, string>}\n */\nfunction buildHeaders (headers) {\n // When using undici.fetch, the headers list is stored\n // as an array.\n if (Array.isArray(headers)) {\n /** @type {Record<string, string>} */\n const headersPair = {}\n\n for (let i = 0; i < headers.length; i += 2) {\n headersPair[headers[i]] = headers[i + 1]\n }\n\n return headersPair\n }\n\n return headers\n}\n\n/**\n * @param {Record<string, string>} headers\n *\n * Previous versions of ProxyAgent suggests the Proxy-Authorization in request headers\n * Nevertheless, it was changed and to avoid a security vulnerability by end users\n * this check was created.\n * It should be removed in the next major version for performance reasons\n */\nfunction throwIfProxyAuthIsSent (headers) {\n const existProxyAuth = headers && Object.keys(headers)\n .find((key) => key.toLowerCase() === 'proxy-authorization')\n if (existProxyAuth) {\n throw new InvalidArgumentError('Proxy-Authorization should be sent in ProxyAgent constructor')\n }\n}\n\nmodule.exports = ProxyAgent\n", "'use strict'\n\n// We include a version number for the Dispatcher API. In case of breaking changes,\n// this version number must be increased to avoid conflicts.\nconst globalDispatcher = Symbol.for('undici.globalDispatcher.1')\nconst { InvalidArgumentError } = require('./core/errors')\nconst Agent = require('./agent')\n\nif (getGlobalDispatcher() === undefined) {\n setGlobalDispatcher(new Agent())\n}\n\nfunction setGlobalDispatcher (agent) {\n if (!agent || typeof agent.dispatch !== 'function') {\n throw new InvalidArgumentError('Argument agent must implement Agent')\n }\n Object.defineProperty(globalThis, globalDispatcher, {\n value: agent,\n writable: true,\n enumerable: false,\n configurable: false\n })\n}\n\nfunction getGlobalDispatcher () {\n return globalThis[globalDispatcher]\n}\n\nmodule.exports = {\n setGlobalDispatcher,\n getGlobalDispatcher\n}\n", "'use strict'\n\nmodule.exports = class DecoratorHandler {\n constructor (handler) {\n this.handler = handler\n }\n\n onConnect (...args) {\n return this.handler.onConnect(...args)\n }\n\n onError (...args) {\n return this.handler.onError(...args)\n }\n\n onUpgrade (...args) {\n return this.handler.onUpgrade(...args)\n }\n\n onHeaders (...args) {\n return this.handler.onHeaders(...args)\n }\n\n onData (...args) {\n return this.handler.onData(...args)\n }\n\n onComplete (...args) {\n return this.handler.onComplete(...args)\n }\n\n onBodySent (...args) {\n return this.handler.onBodySent(...args)\n }\n}\n", "// https://github.com/Ethan-Arrowood/undici-fetch\n\n'use strict'\n\nconst { kHeadersList } = require('../core/symbols')\nconst { kGuard } = require('./symbols')\nconst { kEnumerableProperty } = require('../core/util')\nconst {\n makeIterator,\n isValidHeaderName,\n isValidHeaderValue\n} = require('./util')\nconst { webidl } = require('./webidl')\nconst assert = require('assert')\n\nconst kHeadersMap = Symbol('headers map')\nconst kHeadersSortedMap = Symbol('headers map sorted')\n\n/**\n * @see https://fetch.spec.whatwg.org/#concept-header-value-normalize\n * @param {string} potentialValue\n */\nfunction headerValueNormalize (potentialValue) {\n // To normalize a byte sequence potentialValue, remove\n // any leading and trailing HTTP whitespace bytes from\n // potentialValue.\n\n // Trimming the end with `.replace()` and a RegExp is typically subject to\n // ReDoS. This is safer and faster.\n let i = potentialValue.length\n while (/[\\r\\n\\t ]/.test(potentialValue.charAt(--i)));\n return potentialValue.slice(0, i + 1).replace(/^[\\r\\n\\t ]+/, '')\n}\n\nfunction fill (headers, object) {\n // To fill a Headers object headers with a given object object, run these steps:\n\n // 1. If object is a sequence, then for each header in object:\n // Note: webidl conversion to array has already been done.\n if (Array.isArray(object)) {\n for (const header of object) {\n // 1. If header does not contain exactly two items, then throw a TypeError.\n if (header.length !== 2) {\n throw webidl.errors.exception({\n header: 'Headers constructor',\n message: `expected name/value pair to be length 2, found ${header.length}.`\n })\n }\n\n // 2. Append (header\u2019s first item, header\u2019s second item) to headers.\n headers.append(header[0], header[1])\n }\n } else if (typeof object === 'object' && object !== null) {\n // Note: null should throw\n\n // 2. Otherwise, object is a record, then for each key \u2192 value in object,\n // append (key, value) to headers\n for (const [key, value] of Object.entries(object)) {\n headers.append(key, value)\n }\n } else {\n throw webidl.errors.conversionFailed({\n prefix: 'Headers constructor',\n argument: 'Argument 1',\n types: ['sequence<sequence<ByteString>>', 'record<ByteString, ByteString>']\n })\n }\n}\n\nclass HeadersList {\n /** @type {[string, string][]|null} */\n cookies = null\n\n constructor (init) {\n if (init instanceof HeadersList) {\n this[kHeadersMap] = new Map(init[kHeadersMap])\n this[kHeadersSortedMap] = init[kHeadersSortedMap]\n this.cookies = init.cookies\n } else {\n this[kHeadersMap] = new Map(init)\n this[kHeadersSortedMap] = null\n }\n }\n\n // https://fetch.spec.whatwg.org/#header-list-contains\n contains (name) {\n // A header list list contains a header name name if list\n // contains a header whose name is a byte-case-insensitive\n // match for name.\n name = name.toLowerCase()\n\n return this[kHeadersMap].has(name)\n }\n\n clear () {\n this[kHeadersMap].clear()\n this[kHeadersSortedMap] = null\n this.cookies = null\n }\n\n // https://fetch.spec.whatwg.org/#concept-header-list-append\n append (name, value) {\n this[kHeadersSortedMap] = null\n\n // 1. If list contains name, then set name to the first such\n // header\u2019s name.\n const lowercaseName = name.toLowerCase()\n const exists = this[kHeadersMap].get(lowercaseName)\n\n // 2. Append (name, value) to list.\n if (exists) {\n const delimiter = lowercaseName === 'cookie' ? '; ' : ', '\n this[kHeadersMap].set(lowercaseName, {\n name: exists.name,\n value: `${exists.value}${delimiter}${value}`\n })\n } else {\n this[kHeadersMap].set(lowercaseName, { name, value })\n }\n\n if (lowercaseName === 'set-cookie') {\n this.cookies ??= []\n this.cookies.push(value)\n }\n }\n\n // https://fetch.spec.whatwg.org/#concept-header-list-set\n set (name, value) {\n this[kHeadersSortedMap] = null\n const lowercaseName = name.toLowerCase()\n\n if (lowercaseName === 'set-cookie') {\n this.cookies = [value]\n }\n\n // 1. If list contains name, then set the value of\n // the first such header to value and remove the\n // others.\n // 2. Otherwise, append header (name, value) to list.\n return this[kHeadersMap].set(lowercaseName, { name, value })\n }\n\n // https://fetch.spec.whatwg.org/#concept-header-list-delete\n delete (name) {\n this[kHeadersSortedMap] = null\n\n name = name.toLowerCase()\n\n if (name === 'set-cookie') {\n this.cookies = null\n }\n\n return this[kHeadersMap].delete(name)\n }\n\n // https://fetch.spec.whatwg.org/#concept-header-list-get\n get (name) {\n // 1. If list does not contain name, then return null.\n if (!this.contains(name)) {\n return null\n }\n\n // 2. Return the values of all headers in list whose name\n // is a byte-case-insensitive match for name,\n // separated from each other by 0x2C 0x20, in order.\n return this[kHeadersMap].get(name.toLowerCase())?.value ?? null\n }\n\n * [Symbol.iterator] () {\n // use the lowercased name\n for (const [name, { value }] of this[kHeadersMap]) {\n yield [name, value]\n }\n }\n\n get entries () {\n const headers = {}\n\n if (this[kHeadersMap].size) {\n for (const { name, value } of this[kHeadersMap].values()) {\n headers[name] = value\n }\n }\n\n return headers\n }\n}\n\n// https://fetch.spec.whatwg.org/#headers-class\nclass Headers {\n constructor (init = undefined) {\n this[kHeadersList] = new HeadersList()\n\n // The new Headers(init) constructor steps are:\n\n // 1. Set this\u2019s guard to \"none\".\n this[kGuard] = 'none'\n\n // 2. If init is given, then fill this with init.\n if (init !== undefined) {\n init = webidl.converters.HeadersInit(init)\n fill(this, init)\n }\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-append\n append (name, value) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 2, { header: 'Headers.append' })\n\n name = webidl.converters.ByteString(name)\n value = webidl.converters.ByteString(value)\n\n // 1. Normalize value.\n value = headerValueNormalize(value)\n\n // 2. If name is not a header name or value is not a\n // header value, then throw a TypeError.\n if (!isValidHeaderName(name)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.append',\n value: name,\n type: 'header name'\n })\n } else if (!isValidHeaderValue(value)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.append',\n value,\n type: 'header value'\n })\n }\n\n // 3. If headers\u2019s guard is \"immutable\", then throw a TypeError.\n // 4. Otherwise, if headers\u2019s guard is \"request\" and name is a\n // forbidden header name, return.\n // Note: undici does not implement forbidden header names\n if (this[kGuard] === 'immutable') {\n throw new TypeError('immutable')\n } else if (this[kGuard] === 'request-no-cors') {\n // 5. Otherwise, if headers\u2019s guard is \"request-no-cors\":\n // TODO\n }\n\n // 6. Otherwise, if headers\u2019s guard is \"response\" and name is a\n // forbidden response-header name, return.\n\n // 7. Append (name, value) to headers\u2019s header list.\n // 8. If headers\u2019s guard is \"request-no-cors\", then remove\n // privileged no-CORS request headers from headers\n return this[kHeadersList].append(name, value)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-delete\n delete (name) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.delete' })\n\n name = webidl.converters.ByteString(name)\n\n // 1. If name is not a header name, then throw a TypeError.\n if (!isValidHeaderName(name)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.delete',\n value: name,\n type: 'header name'\n })\n }\n\n // 2. If this\u2019s guard is \"immutable\", then throw a TypeError.\n // 3. Otherwise, if this\u2019s guard is \"request\" and name is a\n // forbidden header name, return.\n // 4. Otherwise, if this\u2019s guard is \"request-no-cors\", name\n // is not a no-CORS-safelisted request-header name, and\n // name is not a privileged no-CORS request-header name,\n // return.\n // 5. Otherwise, if this\u2019s guard is \"response\" and name is\n // a forbidden response-header name, return.\n // Note: undici does not implement forbidden header names\n if (this[kGuard] === 'immutable') {\n throw new TypeError('immutable')\n } else if (this[kGuard] === 'request-no-cors') {\n // TODO\n }\n\n // 6. If this\u2019s header list does not contain name, then\n // return.\n if (!this[kHeadersList].contains(name)) {\n return\n }\n\n // 7. Delete name from this\u2019s header list.\n // 8. If this\u2019s guard is \"request-no-cors\", then remove\n // privileged no-CORS request headers from this.\n return this[kHeadersList].delete(name)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-get\n get (name) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.get' })\n\n name = webidl.converters.ByteString(name)\n\n // 1. If name is not a header name, then throw a TypeError.\n if (!isValidHeaderName(name)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.get',\n value: name,\n type: 'header name'\n })\n }\n\n // 2. Return the result of getting name from this\u2019s header\n // list.\n return this[kHeadersList].get(name)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-has\n has (name) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.has' })\n\n name = webidl.converters.ByteString(name)\n\n // 1. If name is not a header name, then throw a TypeError.\n if (!isValidHeaderName(name)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.has',\n value: name,\n type: 'header name'\n })\n }\n\n // 2. Return true if this\u2019s header list contains name;\n // otherwise false.\n return this[kHeadersList].contains(name)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-set\n set (name, value) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 2, { header: 'Headers.set' })\n\n name = webidl.converters.ByteString(name)\n value = webidl.converters.ByteString(value)\n\n // 1. Normalize value.\n value = headerValueNormalize(value)\n\n // 2. If name is not a header name or value is not a\n // header value, then throw a TypeError.\n if (!isValidHeaderName(name)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.set',\n value: name,\n type: 'header name'\n })\n } else if (!isValidHeaderValue(value)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.set',\n value,\n type: 'header value'\n })\n }\n\n // 3. If this\u2019s guard is \"immutable\", then throw a TypeError.\n // 4. Otherwise, if this\u2019s guard is \"request\" and name is a\n // forbidden header name, return.\n // 5. Otherwise, if this\u2019s guard is \"request-no-cors\" and\n // name/value is not a no-CORS-safelisted request-header,\n // return.\n // 6. Otherwise, if this\u2019s guard is \"response\" and name is a\n // forbidden response-header name, return.\n // Note: undici does not implement forbidden header names\n if (this[kGuard] === 'immutable') {\n throw new TypeError('immutable')\n } else if (this[kGuard] === 'request-no-cors') {\n // TODO\n }\n\n // 7. Set (name, value) in this\u2019s header list.\n // 8. If this\u2019s guard is \"request-no-cors\", then remove\n // privileged no-CORS request headers from this\n return this[kHeadersList].set(name, value)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie\n getSetCookie () {\n webidl.brandCheck(this, Headers)\n\n // 1. If this\u2019s header list does not contain `Set-Cookie`, then return \u00AB \u00BB.\n // 2. Return the values of all headers in this\u2019s header list whose name is\n // a byte-case-insensitive match for `Set-Cookie`, in order.\n\n const list = this[kHeadersList].cookies\n\n if (list) {\n return [...list]\n }\n\n return []\n }\n\n // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine\n get [kHeadersSortedMap] () {\n if (this[kHeadersList][kHeadersSortedMap]) {\n return this[kHeadersList][kHeadersSortedMap]\n }\n\n // 1. Let headers be an empty list of headers with the key being the name\n // and value the value.\n const headers = []\n\n // 2. Let names be the result of convert header names to a sorted-lowercase\n // set with all the names of the headers in list.\n const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1)\n const cookies = this[kHeadersList].cookies\n\n // 3. For each name of names:\n for (const [name, value] of names) {\n // 1. If name is `set-cookie`, then:\n if (name === 'set-cookie') {\n // 1. Let values be a list of all values of headers in list whose name\n // is a byte-case-insensitive match for name, in order.\n\n // 2. For each value of values:\n // 1. Append (name, value) to headers.\n for (const value of cookies) {\n headers.push([name, value])\n }\n } else {\n // 2. Otherwise:\n\n // 1. Let value be the result of getting name from list.\n\n // 2. Assert: value is non-null.\n assert(value !== null)\n\n // 3. Append (name, value) to headers.\n headers.push([name, value])\n }\n }\n\n this[kHeadersList][kHeadersSortedMap] = headers\n\n // 4. Return headers.\n return headers\n }\n\n keys () {\n webidl.brandCheck(this, Headers)\n\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n 'Headers',\n 'key'\n )\n }\n\n values () {\n webidl.brandCheck(this, Headers)\n\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n 'Headers',\n 'value'\n )\n }\n\n entries () {\n webidl.brandCheck(this, Headers)\n\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n 'Headers',\n 'key+value'\n )\n }\n\n /**\n * @param {(value: string, key: string, self: Headers) => void} callbackFn\n * @param {unknown} thisArg\n */\n forEach (callbackFn, thisArg = globalThis) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.forEach' })\n\n if (typeof callbackFn !== 'function') {\n throw new TypeError(\n \"Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.\"\n )\n }\n\n for (const [key, value] of this) {\n callbackFn.apply(thisArg, [value, key, this])\n }\n }\n\n [Symbol.for('nodejs.util.inspect.custom')] () {\n webidl.brandCheck(this, Headers)\n\n return this[kHeadersList]\n }\n}\n\nHeaders.prototype[Symbol.iterator] = Headers.prototype.entries\n\nObject.defineProperties(Headers.prototype, {\n append: kEnumerableProperty,\n delete: kEnumerableProperty,\n get: kEnumerableProperty,\n has: kEnumerableProperty,\n set: kEnumerableProperty,\n getSetCookie: kEnumerableProperty,\n keys: kEnumerableProperty,\n values: kEnumerableProperty,\n entries: kEnumerableProperty,\n forEach: kEnumerableProperty,\n [Symbol.iterator]: { enumerable: false },\n [Symbol.toStringTag]: {\n value: 'Headers',\n configurable: true\n }\n})\n\nwebidl.converters.HeadersInit = function (V) {\n if (webidl.util.Type(V) === 'Object') {\n if (V[Symbol.iterator]) {\n return webidl.converters['sequence<sequence<ByteString>>'](V)\n }\n\n return webidl.converters['record<ByteString, ByteString>'](V)\n }\n\n throw webidl.errors.conversionFailed({\n prefix: 'Headers constructor',\n argument: 'Argument 1',\n types: ['sequence<sequence<ByteString>>', 'record<ByteString, ByteString>']\n })\n}\n\nmodule.exports = {\n fill,\n Headers,\n HeadersList\n}\n", "'use strict'\n\nconst { Headers, HeadersList, fill } = require('./headers')\nconst { extractBody, cloneBody, mixinBody } = require('./body')\nconst util = require('../core/util')\nconst { kEnumerableProperty } = util\nconst {\n isValidReasonPhrase,\n isCancelled,\n isAborted,\n isBlobLike,\n serializeJavascriptValueToJSONString,\n isErrorLike,\n isomorphicEncode\n} = require('./util')\nconst {\n redirectStatus,\n nullBodyStatus,\n DOMException\n} = require('./constants')\nconst { kState, kHeaders, kGuard, kRealm } = require('./symbols')\nconst { webidl } = require('./webidl')\nconst { FormData } = require('./formdata')\nconst { getGlobalOrigin } = require('./global')\nconst { URLSerializer } = require('./dataURL')\nconst { kHeadersList } = require('../core/symbols')\nconst assert = require('assert')\nconst { types } = require('util')\n\nconst ReadableStream = globalThis.ReadableStream || require('stream/web').ReadableStream\n\n// https://fetch.spec.whatwg.org/#response-class\nclass Response {\n // Creates network error Response.\n static error () {\n // TODO\n const relevantRealm = { settingsObject: {} }\n\n // The static error() method steps are to return the result of creating a\n // Response object, given a new network error, \"immutable\", and this\u2019s\n // relevant Realm.\n const responseObject = new Response()\n responseObject[kState] = makeNetworkError()\n responseObject[kRealm] = relevantRealm\n responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList\n responseObject[kHeaders][kGuard] = 'immutable'\n responseObject[kHeaders][kRealm] = relevantRealm\n return responseObject\n }\n\n // https://fetch.spec.whatwg.org/#dom-response-json\n static json (data = undefined, init = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'Response.json' })\n\n if (init !== null) {\n init = webidl.converters.ResponseInit(init)\n }\n\n // 1. Let bytes the result of running serialize a JavaScript value to JSON bytes on data.\n const bytes = new TextEncoder('utf-8').encode(\n serializeJavascriptValueToJSONString(data)\n )\n\n // 2. Let body be the result of extracting bytes.\n const body = extractBody(bytes)\n\n // 3. Let responseObject be the result of creating a Response object, given a new response,\n // \"response\", and this\u2019s relevant Realm.\n const relevantRealm = { settingsObject: {} }\n const responseObject = new Response()\n responseObject[kRealm] = relevantRealm\n responseObject[kHeaders][kGuard] = 'response'\n responseObject[kHeaders][kRealm] = relevantRealm\n\n // 4. Perform initialize a response given responseObject, init, and (body, \"application/json\").\n initializeResponse(responseObject, init, { body: body[0], type: 'application/json' })\n\n // 5. Return responseObject.\n return responseObject\n }\n\n // Creates a redirect Response that redirects to url with status status.\n static redirect (url, status = 302) {\n const relevantRealm = { settingsObject: {} }\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Response.redirect' })\n\n url = webidl.converters.USVString(url)\n status = webidl.converters['unsigned short'](status)\n\n // 1. Let parsedURL be the result of parsing url with current settings\n // object\u2019s API base URL.\n // 2. If parsedURL is failure, then throw a TypeError.\n // TODO: base-URL?\n let parsedURL\n try {\n parsedURL = new URL(url, getGlobalOrigin())\n } catch (err) {\n throw Object.assign(new TypeError('Failed to parse URL from ' + url), {\n cause: err\n })\n }\n\n // 3. If status is not a redirect status, then throw a RangeError.\n if (!redirectStatus.includes(status)) {\n throw new RangeError('Invalid status code ' + status)\n }\n\n // 4. Let responseObject be the result of creating a Response object,\n // given a new response, \"immutable\", and this\u2019s relevant Realm.\n const responseObject = new Response()\n responseObject[kRealm] = relevantRealm\n responseObject[kHeaders][kGuard] = 'immutable'\n responseObject[kHeaders][kRealm] = relevantRealm\n\n // 5. Set responseObject\u2019s response\u2019s status to status.\n responseObject[kState].status = status\n\n // 6. Let value be parsedURL, serialized and isomorphic encoded.\n const value = isomorphicEncode(URLSerializer(parsedURL))\n\n // 7. Append `Location`/value to responseObject\u2019s response\u2019s header list.\n responseObject[kState].headersList.append('location', value)\n\n // 8. Return responseObject.\n return responseObject\n }\n\n // https://fetch.spec.whatwg.org/#dom-response\n constructor (body = null, init = {}) {\n if (body !== null) {\n body = webidl.converters.BodyInit(body)\n }\n\n init = webidl.converters.ResponseInit(init)\n\n // TODO\n this[kRealm] = { settingsObject: {} }\n\n // 1. Set this\u2019s response to a new response.\n this[kState] = makeResponse({})\n\n // 2. Set this\u2019s headers to a new Headers object with this\u2019s relevant\n // Realm, whose header list is this\u2019s response\u2019s header list and guard\n // is \"response\".\n this[kHeaders] = new Headers()\n this[kHeaders][kGuard] = 'response'\n this[kHeaders][kHeadersList] = this[kState].headersList\n this[kHeaders][kRealm] = this[kRealm]\n\n // 3. Let bodyWithType be null.\n let bodyWithType = null\n\n // 4. If body is non-null, then set bodyWithType to the result of extracting body.\n if (body != null) {\n const [extractedBody, type] = extractBody(body)\n bodyWithType = { body: extractedBody, type }\n }\n\n // 5. Perform initialize a response given this, init, and bodyWithType.\n initializeResponse(this, init, bodyWithType)\n }\n\n // Returns response\u2019s type, e.g., \"cors\".\n get type () {\n webidl.brandCheck(this, Response)\n\n // The type getter steps are to return this\u2019s response\u2019s type.\n return this[kState].type\n }\n\n // Returns response\u2019s URL, if it has one; otherwise the empty string.\n get url () {\n webidl.brandCheck(this, Response)\n\n const urlList = this[kState].urlList\n\n // The url getter steps are to return the empty string if this\u2019s\n // response\u2019s URL is null; otherwise this\u2019s response\u2019s URL,\n // serialized with exclude fragment set to true.\n const url = urlList[urlList.length - 1] ?? null\n\n if (url === null) {\n return ''\n }\n\n return URLSerializer(url, true)\n }\n\n // Returns whether response was obtained through a redirect.\n get redirected () {\n webidl.brandCheck(this, Response)\n\n // The redirected getter steps are to return true if this\u2019s response\u2019s URL\n // list has more than one item; otherwise false.\n return this[kState].urlList.length > 1\n }\n\n // Returns response\u2019s status.\n get status () {\n webidl.brandCheck(this, Response)\n\n // The status getter steps are to return this\u2019s response\u2019s status.\n return this[kState].status\n }\n\n // Returns whether response\u2019s status is an ok status.\n get ok () {\n webidl.brandCheck(this, Response)\n\n // The ok getter steps are to return true if this\u2019s response\u2019s status is an\n // ok status; otherwise false.\n return this[kState].status >= 200 && this[kState].status <= 299\n }\n\n // Returns response\u2019s status message.\n get statusText () {\n webidl.brandCheck(this, Response)\n\n // The statusText getter steps are to return this\u2019s response\u2019s status\n // message.\n return this[kState].statusText\n }\n\n // Returns response\u2019s headers as Headers.\n get headers () {\n webidl.brandCheck(this, Response)\n\n // The headers getter steps are to return this\u2019s headers.\n return this[kHeaders]\n }\n\n get body () {\n webidl.brandCheck(this, Response)\n\n return this[kState].body ? this[kState].body.stream : null\n }\n\n get bodyUsed () {\n webidl.brandCheck(this, Response)\n\n return !!this[kState].body && util.isDisturbed(this[kState].body.stream)\n }\n\n // Returns a clone of response.\n clone () {\n webidl.brandCheck(this, Response)\n\n // 1. If this is unusable, then throw a TypeError.\n if (this.bodyUsed || (this.body && this.body.locked)) {\n throw webidl.errors.exception({\n header: 'Response.clone',\n message: 'Body has already been consumed.'\n })\n }\n\n // 2. Let clonedResponse be the result of cloning this\u2019s response.\n const clonedResponse = cloneResponse(this[kState])\n\n // 3. Return the result of creating a Response object, given\n // clonedResponse, this\u2019s headers\u2019s guard, and this\u2019s relevant Realm.\n const clonedResponseObject = new Response()\n clonedResponseObject[kState] = clonedResponse\n clonedResponseObject[kRealm] = this[kRealm]\n clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList\n clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard]\n clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm]\n\n return clonedResponseObject\n }\n}\n\nmixinBody(Response)\n\nObject.defineProperties(Response.prototype, {\n type: kEnumerableProperty,\n url: kEnumerableProperty,\n status: kEnumerableProperty,\n ok: kEnumerableProperty,\n redirected: kEnumerableProperty,\n statusText: kEnumerableProperty,\n headers: kEnumerableProperty,\n clone: kEnumerableProperty,\n body: kEnumerableProperty,\n bodyUsed: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: 'Response',\n configurable: true\n }\n})\n\nObject.defineProperties(Response, {\n json: kEnumerableProperty,\n redirect: kEnumerableProperty,\n error: kEnumerableProperty\n})\n\n// https://fetch.spec.whatwg.org/#concept-response-clone\nfunction cloneResponse (response) {\n // To clone a response response, run these steps:\n\n // 1. If response is a filtered response, then return a new identical\n // filtered response whose internal response is a clone of response\u2019s\n // internal response.\n if (response.internalResponse) {\n return filterResponse(\n cloneResponse(response.internalResponse),\n response.type\n )\n }\n\n // 2. Let newResponse be a copy of response, except for its body.\n const newResponse = makeResponse({ ...response, body: null })\n\n // 3. If response\u2019s body is non-null, then set newResponse\u2019s body to the\n // result of cloning response\u2019s body.\n if (response.body != null) {\n newResponse.body = cloneBody(response.body)\n }\n\n // 4. Return newResponse.\n return newResponse\n}\n\nfunction makeResponse (init) {\n return {\n aborted: false,\n rangeRequested: false,\n timingAllowPassed: false,\n requestIncludesCredentials: false,\n type: 'default',\n status: 200,\n timingInfo: null,\n cacheState: '',\n statusText: '',\n ...init,\n headersList: init.headersList\n ? new HeadersList(init.headersList)\n : new HeadersList(),\n urlList: init.urlList ? [...init.urlList] : []\n }\n}\n\nfunction makeNetworkError (reason) {\n const isError = isErrorLike(reason)\n return makeResponse({\n type: 'error',\n status: 0,\n error: isError\n ? reason\n : new Error(reason ? String(reason) : reason),\n aborted: reason && reason.name === 'AbortError'\n })\n}\n\nfunction makeFilteredResponse (response, state) {\n state = {\n internalResponse: response,\n ...state\n }\n\n return new Proxy(response, {\n get (target, p) {\n return p in state ? state[p] : target[p]\n },\n set (target, p, value) {\n assert(!(p in state))\n target[p] = value\n return true\n }\n })\n}\n\n// https://fetch.spec.whatwg.org/#concept-filtered-response\nfunction filterResponse (response, type) {\n // Set response to the following filtered response with response as its\n // internal response, depending on request\u2019s response tainting:\n if (type === 'basic') {\n // A basic filtered response is a filtered response whose type is \"basic\"\n // and header list excludes any headers in internal response\u2019s header list\n // whose name is a forbidden response-header name.\n\n // Note: undici does not implement forbidden response-header names\n return makeFilteredResponse(response, {\n type: 'basic',\n headersList: response.headersList\n })\n } else if (type === 'cors') {\n // A CORS filtered response is a filtered response whose type is \"cors\"\n // and header list excludes any headers in internal response\u2019s header\n // list whose name is not a CORS-safelisted response-header name, given\n // internal response\u2019s CORS-exposed header-name list.\n\n // Note: undici does not implement CORS-safelisted response-header names\n return makeFilteredResponse(response, {\n type: 'cors',\n headersList: response.headersList\n })\n } else if (type === 'opaque') {\n // An opaque filtered response is a filtered response whose type is\n // \"opaque\", URL list is the empty list, status is 0, status message\n // is the empty byte sequence, header list is empty, and body is null.\n\n return makeFilteredResponse(response, {\n type: 'opaque',\n urlList: Object.freeze([]),\n status: 0,\n statusText: '',\n body: null\n })\n } else if (type === 'opaqueredirect') {\n // An opaque-redirect filtered response is a filtered response whose type\n // is \"opaqueredirect\", status is 0, status message is the empty byte\n // sequence, header list is empty, and body is null.\n\n return makeFilteredResponse(response, {\n type: 'opaqueredirect',\n status: 0,\n statusText: '',\n headersList: [],\n body: null\n })\n } else {\n assert(false)\n }\n}\n\n// https://fetch.spec.whatwg.org/#appropriate-network-error\nfunction makeAppropriateNetworkError (fetchParams) {\n // 1. Assert: fetchParams is canceled.\n assert(isCancelled(fetchParams))\n\n // 2. Return an aborted network error if fetchParams is aborted;\n // otherwise return a network error.\n return isAborted(fetchParams)\n ? makeNetworkError(new DOMException('The operation was aborted.', 'AbortError'))\n : makeNetworkError('Request was cancelled.')\n}\n\n// https://whatpr.org/fetch/1392.html#initialize-a-response\nfunction initializeResponse (response, init, body) {\n // 1. If init[\"status\"] is not in the range 200 to 599, inclusive, then\n // throw a RangeError.\n if (init.status !== null && (init.status < 200 || init.status > 599)) {\n throw new RangeError('init[\"status\"] must be in the range of 200 to 599, inclusive.')\n }\n\n // 2. If init[\"statusText\"] does not match the reason-phrase token production,\n // then throw a TypeError.\n if ('statusText' in init && init.statusText != null) {\n // See, https://datatracker.ietf.org/doc/html/rfc7230#section-3.1.2:\n // reason-phrase = *( HTAB / SP / VCHAR / obs-text )\n if (!isValidReasonPhrase(String(init.statusText))) {\n throw new TypeError('Invalid statusText')\n }\n }\n\n // 3. Set response\u2019s response\u2019s status to init[\"status\"].\n if ('status' in init && init.status != null) {\n response[kState].status = init.status\n }\n\n // 4. Set response\u2019s response\u2019s status message to init[\"statusText\"].\n if ('statusText' in init && init.statusText != null) {\n response[kState].statusText = init.statusText\n }\n\n // 5. If init[\"headers\"] exists, then fill response\u2019s headers with init[\"headers\"].\n if ('headers' in init && init.headers != null) {\n fill(response[kHeaders], init.headers)\n }\n\n // 6. If body was given, then:\n if (body) {\n // 1. If response's status is a null body status, then throw a TypeError.\n if (nullBodyStatus.includes(response.status)) {\n throw webidl.errors.exception({\n header: 'Response constructor',\n message: 'Invalid response status code ' + response.status\n })\n }\n\n // 2. Set response's body to body's body.\n response[kState].body = body.body\n\n // 3. If body's type is non-null and response's header list does not contain\n // `Content-Type`, then append (`Content-Type`, body's type) to response's header list.\n if (body.type != null && !response[kState].headersList.contains('Content-Type')) {\n response[kState].headersList.append('content-type', body.type)\n }\n }\n}\n\nwebidl.converters.ReadableStream = webidl.interfaceConverter(\n ReadableStream\n)\n\nwebidl.converters.FormData = webidl.interfaceConverter(\n FormData\n)\n\nwebidl.converters.URLSearchParams = webidl.interfaceConverter(\n URLSearchParams\n)\n\n// https://fetch.spec.whatwg.org/#typedefdef-xmlhttprequestbodyinit\nwebidl.converters.XMLHttpRequestBodyInit = function (V) {\n if (typeof V === 'string') {\n return webidl.converters.USVString(V)\n }\n\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, { strict: false })\n }\n\n if (\n types.isAnyArrayBuffer(V) ||\n types.isTypedArray(V) ||\n types.isDataView(V)\n ) {\n return webidl.converters.BufferSource(V)\n }\n\n if (util.isFormDataLike(V)) {\n return webidl.converters.FormData(V, { strict: false })\n }\n\n if (V instanceof URLSearchParams) {\n return webidl.converters.URLSearchParams(V)\n }\n\n return webidl.converters.DOMString(V)\n}\n\n// https://fetch.spec.whatwg.org/#bodyinit\nwebidl.converters.BodyInit = function (V) {\n if (V instanceof ReadableStream) {\n return webidl.converters.ReadableStream(V)\n }\n\n // Note: the spec doesn't include async iterables,\n // this is an undici extension.\n if (V?.[Symbol.asyncIterator]) {\n return V\n }\n\n return webidl.converters.XMLHttpRequestBodyInit(V)\n}\n\nwebidl.converters.ResponseInit = webidl.dictionaryConverter([\n {\n key: 'status',\n converter: webidl.converters['unsigned short'],\n defaultValue: 200\n },\n {\n key: 'statusText',\n converter: webidl.converters.ByteString,\n defaultValue: ''\n },\n {\n key: 'headers',\n converter: webidl.converters.HeadersInit\n }\n])\n\nmodule.exports = {\n makeNetworkError,\n makeResponse,\n makeAppropriateNetworkError,\n filterResponse,\n Response,\n cloneResponse\n}\n", "/* globals AbortController */\n\n'use strict'\n\nconst { extractBody, mixinBody, cloneBody } = require('./body')\nconst { Headers, fill: fillHeaders, HeadersList } = require('./headers')\nconst { FinalizationRegistry } = require('../compat/dispatcher-weakref')()\nconst util = require('../core/util')\nconst {\n isValidHTTPToken,\n sameOrigin,\n normalizeMethod,\n makePolicyContainer\n} = require('./util')\nconst {\n forbiddenMethods,\n corsSafeListedMethods,\n referrerPolicy,\n requestRedirect,\n requestMode,\n requestCredentials,\n requestCache,\n requestDuplex\n} = require('./constants')\nconst { kEnumerableProperty } = util\nconst { kHeaders, kSignal, kState, kGuard, kRealm } = require('./symbols')\nconst { webidl } = require('./webidl')\nconst { getGlobalOrigin } = require('./global')\nconst { URLSerializer } = require('./dataURL')\nconst { kHeadersList } = require('../core/symbols')\nconst assert = require('assert')\nconst { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require('events')\n\nlet TransformStream = globalThis.TransformStream\n\nconst kInit = Symbol('init')\nconst kAbortController = Symbol('abortController')\n\nconst requestFinalizer = new FinalizationRegistry(({ signal, abort }) => {\n signal.removeEventListener('abort', abort)\n})\n\n// https://fetch.spec.whatwg.org/#request-class\nclass Request {\n // https://fetch.spec.whatwg.org/#dom-request\n constructor (input, init = {}) {\n if (input === kInit) {\n return\n }\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Request constructor' })\n\n input = webidl.converters.RequestInfo(input)\n init = webidl.converters.RequestInit(init)\n\n // https://html.spec.whatwg.org/multipage/webappapis.html#environment-settings-object\n this[kRealm] = {\n settingsObject: {\n baseUrl: getGlobalOrigin(),\n get origin () {\n return this.baseUrl?.origin\n },\n policyContainer: makePolicyContainer()\n }\n }\n\n // 1. Let request be null.\n let request = null\n\n // 2. Let fallbackMode be null.\n let fallbackMode = null\n\n // 3. Let baseURL be this\u2019s relevant settings object\u2019s API base URL.\n const baseUrl = this[kRealm].settingsObject.baseUrl\n\n // 4. Let signal be null.\n let signal = null\n\n // 5. If input is a string, then:\n if (typeof input === 'string') {\n // 1. Let parsedURL be the result of parsing input with baseURL.\n // 2. If parsedURL is failure, then throw a TypeError.\n let parsedURL\n try {\n parsedURL = new URL(input, baseUrl)\n } catch (err) {\n throw new TypeError('Failed to parse URL from ' + input, { cause: err })\n }\n\n // 3. If parsedURL includes credentials, then throw a TypeError.\n if (parsedURL.username || parsedURL.password) {\n throw new TypeError(\n 'Request cannot be constructed from a URL that includes credentials: ' +\n input\n )\n }\n\n // 4. Set request to a new request whose URL is parsedURL.\n request = makeRequest({ urlList: [parsedURL] })\n\n // 5. Set fallbackMode to \"cors\".\n fallbackMode = 'cors'\n } else {\n // 6. Otherwise:\n\n // 7. Assert: input is a Request object.\n assert(input instanceof Request)\n\n // 8. Set request to input\u2019s request.\n request = input[kState]\n\n // 9. Set signal to input\u2019s signal.\n signal = input[kSignal]\n }\n\n // 7. Let origin be this\u2019s relevant settings object\u2019s origin.\n const origin = this[kRealm].settingsObject.origin\n\n // 8. Let window be \"client\".\n let window = 'client'\n\n // 9. If request\u2019s window is an environment settings object and its origin\n // is same origin with origin, then set window to request\u2019s window.\n if (\n request.window?.constructor?.name === 'EnvironmentSettingsObject' &&\n sameOrigin(request.window, origin)\n ) {\n window = request.window\n }\n\n // 10. If init[\"window\"] exists and is non-null, then throw a TypeError.\n if (init.window != null) {\n throw new TypeError(`'window' option '${window}' must be null`)\n }\n\n // 11. If init[\"window\"] exists, then set window to \"no-window\".\n if ('window' in init) {\n window = 'no-window'\n }\n\n // 12. Set request to a new request with the following properties:\n request = makeRequest({\n // URL request\u2019s URL.\n // undici implementation note: this is set as the first item in request's urlList in makeRequest\n // method request\u2019s method.\n method: request.method,\n // header list A copy of request\u2019s header list.\n // undici implementation note: headersList is cloned in makeRequest\n headersList: request.headersList,\n // unsafe-request flag Set.\n unsafeRequest: request.unsafeRequest,\n // client This\u2019s relevant settings object.\n client: this[kRealm].settingsObject,\n // window window.\n window,\n // priority request\u2019s priority.\n priority: request.priority,\n // origin request\u2019s origin. The propagation of the origin is only significant for navigation requests\n // being handled by a service worker. In this scenario a request can have an origin that is different\n // from the current client.\n origin: request.origin,\n // referrer request\u2019s referrer.\n referrer: request.referrer,\n // referrer policy request\u2019s referrer policy.\n referrerPolicy: request.referrerPolicy,\n // mode request\u2019s mode.\n mode: request.mode,\n // credentials mode request\u2019s credentials mode.\n credentials: request.credentials,\n // cache mode request\u2019s cache mode.\n cache: request.cache,\n // redirect mode request\u2019s redirect mode.\n redirect: request.redirect,\n // integrity metadata request\u2019s integrity metadata.\n integrity: request.integrity,\n // keepalive request\u2019s keepalive.\n keepalive: request.keepalive,\n // reload-navigation flag request\u2019s reload-navigation flag.\n reloadNavigation: request.reloadNavigation,\n // history-navigation flag request\u2019s history-navigation flag.\n historyNavigation: request.historyNavigation,\n // URL list A clone of request\u2019s URL list.\n urlList: [...request.urlList]\n })\n\n // 13. If init is not empty, then:\n if (Object.keys(init).length > 0) {\n // 1. If request\u2019s mode is \"navigate\", then set it to \"same-origin\".\n if (request.mode === 'navigate') {\n request.mode = 'same-origin'\n }\n\n // 2. Unset request\u2019s reload-navigation flag.\n request.reloadNavigation = false\n\n // 3. Unset request\u2019s history-navigation flag.\n request.historyNavigation = false\n\n // 4. Set request\u2019s origin to \"client\".\n request.origin = 'client'\n\n // 5. Set request\u2019s referrer to \"client\"\n request.referrer = 'client'\n\n // 6. Set request\u2019s referrer policy to the empty string.\n request.referrerPolicy = ''\n\n // 7. Set request\u2019s URL to request\u2019s current URL.\n request.url = request.urlList[request.urlList.length - 1]\n\n // 8. Set request\u2019s URL list to \u00AB request\u2019s URL \u00BB.\n request.urlList = [request.url]\n }\n\n // 14. If init[\"referrer\"] exists, then:\n if (init.referrer !== undefined) {\n // 1. Let referrer be init[\"referrer\"].\n const referrer = init.referrer\n\n // 2. If referrer is the empty string, then set request\u2019s referrer to \"no-referrer\".\n if (referrer === '') {\n request.referrer = 'no-referrer'\n } else {\n // 1. Let parsedReferrer be the result of parsing referrer with\n // baseURL.\n // 2. If parsedReferrer is failure, then throw a TypeError.\n let parsedReferrer\n try {\n parsedReferrer = new URL(referrer, baseUrl)\n } catch (err) {\n throw new TypeError(`Referrer \"${referrer}\" is not a valid URL.`, { cause: err })\n }\n\n // 3. If one of the following is true\n // - parsedReferrer\u2019s scheme is \"about\" and path is the string \"client\"\n // - parsedReferrer\u2019s origin is not same origin with origin\n // then set request\u2019s referrer to \"client\".\n if (\n (parsedReferrer.protocol === 'about:' && parsedReferrer.hostname === 'client') ||\n (origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl))\n ) {\n request.referrer = 'client'\n } else {\n // 4. Otherwise, set request\u2019s referrer to parsedReferrer.\n request.referrer = parsedReferrer\n }\n }\n }\n\n // 15. If init[\"referrerPolicy\"] exists, then set request\u2019s referrer policy\n // to it.\n if (init.referrerPolicy !== undefined) {\n request.referrerPolicy = init.referrerPolicy\n }\n\n // 16. Let mode be init[\"mode\"] if it exists, and fallbackMode otherwise.\n let mode\n if (init.mode !== undefined) {\n mode = init.mode\n } else {\n mode = fallbackMode\n }\n\n // 17. If mode is \"navigate\", then throw a TypeError.\n if (mode === 'navigate') {\n throw webidl.errors.exception({\n header: 'Request constructor',\n message: 'invalid request mode navigate.'\n })\n }\n\n // 18. If mode is non-null, set request\u2019s mode to mode.\n if (mode != null) {\n request.mode = mode\n }\n\n // 19. If init[\"credentials\"] exists, then set request\u2019s credentials mode\n // to it.\n if (init.credentials !== undefined) {\n request.credentials = init.credentials\n }\n\n // 18. If init[\"cache\"] exists, then set request\u2019s cache mode to it.\n if (init.cache !== undefined) {\n request.cache = init.cache\n }\n\n // 21. If request\u2019s cache mode is \"only-if-cached\" and request\u2019s mode is\n // not \"same-origin\", then throw a TypeError.\n if (request.cache === 'only-if-cached' && request.mode !== 'same-origin') {\n throw new TypeError(\n \"'only-if-cached' can be set only with 'same-origin' mode\"\n )\n }\n\n // 22. If init[\"redirect\"] exists, then set request\u2019s redirect mode to it.\n if (init.redirect !== undefined) {\n request.redirect = init.redirect\n }\n\n // 23. If init[\"integrity\"] exists, then set request\u2019s integrity metadata to it.\n if (init.integrity !== undefined && init.integrity != null) {\n request.integrity = String(init.integrity)\n }\n\n // 24. If init[\"keepalive\"] exists, then set request\u2019s keepalive to it.\n if (init.keepalive !== undefined) {\n request.keepalive = Boolean(init.keepalive)\n }\n\n // 25. If init[\"method\"] exists, then:\n if (init.method !== undefined) {\n // 1. Let method be init[\"method\"].\n let method = init.method\n\n // 2. If method is not a method or method is a forbidden method, then\n // throw a TypeError.\n if (!isValidHTTPToken(init.method)) {\n throw TypeError(`'${init.method}' is not a valid HTTP method.`)\n }\n\n if (forbiddenMethods.indexOf(method.toUpperCase()) !== -1) {\n throw TypeError(`'${init.method}' HTTP method is unsupported.`)\n }\n\n // 3. Normalize method.\n method = normalizeMethod(init.method)\n\n // 4. Set request\u2019s method to method.\n request.method = method\n }\n\n // 26. If init[\"signal\"] exists, then set signal to it.\n if (init.signal !== undefined) {\n signal = init.signal\n }\n\n // 27. Set this\u2019s request to request.\n this[kState] = request\n\n // 28. Set this\u2019s signal to a new AbortSignal object with this\u2019s relevant\n // Realm.\n // TODO: could this be simplified with AbortSignal.any\n // (https://dom.spec.whatwg.org/#dom-abortsignal-any)\n const ac = new AbortController()\n this[kSignal] = ac.signal\n this[kSignal][kRealm] = this[kRealm]\n\n // 29. If signal is not null, then make this\u2019s signal follow signal.\n if (signal != null) {\n if (\n !signal ||\n typeof signal.aborted !== 'boolean' ||\n typeof signal.addEventListener !== 'function'\n ) {\n throw new TypeError(\n \"Failed to construct 'Request': member signal is not of type AbortSignal.\"\n )\n }\n\n if (signal.aborted) {\n ac.abort(signal.reason)\n } else {\n // Keep a strong ref to ac while request object\n // is alive. This is needed to prevent AbortController\n // from being prematurely garbage collected.\n // See, https://github.com/nodejs/undici/issues/1926.\n this[kAbortController] = ac\n\n const acRef = new WeakRef(ac)\n const abort = function () {\n const ac = acRef.deref()\n if (ac !== undefined) {\n ac.abort(this.reason)\n }\n }\n\n // Third-party AbortControllers may not work with these.\n // See, https://github.com/nodejs/undici/pull/1910#issuecomment-1464495619.\n try {\n // If the max amount of listeners is equal to the default, increase it\n // This is only available in node >= v19.9.0\n if (typeof getMaxListeners === 'function' && getMaxListeners(signal) === defaultMaxListeners) {\n setMaxListeners(100, signal)\n } else if (getEventListeners(signal, 'abort').length >= defaultMaxListeners) {\n setMaxListeners(100, signal)\n }\n } catch {}\n\n util.addAbortListener(signal, abort)\n requestFinalizer.register(ac, { signal, abort })\n }\n }\n\n // 30. Set this\u2019s headers to a new Headers object with this\u2019s relevant\n // Realm, whose header list is request\u2019s header list and guard is\n // \"request\".\n this[kHeaders] = new Headers()\n this[kHeaders][kHeadersList] = request.headersList\n this[kHeaders][kGuard] = 'request'\n this[kHeaders][kRealm] = this[kRealm]\n\n // 31. If this\u2019s request\u2019s mode is \"no-cors\", then:\n if (mode === 'no-cors') {\n // 1. If this\u2019s request\u2019s method is not a CORS-safelisted method,\n // then throw a TypeError.\n if (!corsSafeListedMethods.includes(request.method)) {\n throw new TypeError(\n `'${request.method} is unsupported in no-cors mode.`\n )\n }\n\n // 2. Set this\u2019s headers\u2019s guard to \"request-no-cors\".\n this[kHeaders][kGuard] = 'request-no-cors'\n }\n\n // 32. If init is not empty, then:\n if (Object.keys(init).length !== 0) {\n // 1. Let headers be a copy of this\u2019s headers and its associated header\n // list.\n let headers = new Headers(this[kHeaders])\n\n // 2. If init[\"headers\"] exists, then set headers to init[\"headers\"].\n if (init.headers !== undefined) {\n headers = init.headers\n }\n\n // 3. Empty this\u2019s headers\u2019s header list.\n this[kHeaders][kHeadersList].clear()\n\n // 4. If headers is a Headers object, then for each header in its header\n // list, append header\u2019s name/header\u2019s value to this\u2019s headers.\n if (headers.constructor.name === 'Headers') {\n for (const [key, val] of headers) {\n this[kHeaders].append(key, val)\n }\n } else {\n // 5. Otherwise, fill this\u2019s headers with headers.\n fillHeaders(this[kHeaders], headers)\n }\n }\n\n // 33. Let inputBody be input\u2019s request\u2019s body if input is a Request\n // object; otherwise null.\n const inputBody = input instanceof Request ? input[kState].body : null\n\n // 34. If either init[\"body\"] exists and is non-null or inputBody is\n // non-null, and request\u2019s method is `GET` or `HEAD`, then throw a\n // TypeError.\n if (\n (init.body != null || inputBody != null) &&\n (request.method === 'GET' || request.method === 'HEAD')\n ) {\n throw new TypeError('Request with GET/HEAD method cannot have body.')\n }\n\n // 35. Let initBody be null.\n let initBody = null\n\n // 36. If init[\"body\"] exists and is non-null, then:\n if (init.body != null) {\n // 1. Let Content-Type be null.\n // 2. Set initBody and Content-Type to the result of extracting\n // init[\"body\"], with keepalive set to request\u2019s keepalive.\n const [extractedBody, contentType] = extractBody(\n init.body,\n request.keepalive\n )\n initBody = extractedBody\n\n // 3, If Content-Type is non-null and this\u2019s headers\u2019s header list does\n // not contain `Content-Type`, then append `Content-Type`/Content-Type to\n // this\u2019s headers.\n if (contentType && !this[kHeaders][kHeadersList].contains('content-type')) {\n this[kHeaders].append('content-type', contentType)\n }\n }\n\n // 37. Let inputOrInitBody be initBody if it is non-null; otherwise\n // inputBody.\n const inputOrInitBody = initBody ?? inputBody\n\n // 38. If inputOrInitBody is non-null and inputOrInitBody\u2019s source is\n // null, then:\n if (inputOrInitBody != null && inputOrInitBody.source == null) {\n // 1. If initBody is non-null and init[\"duplex\"] does not exist,\n // then throw a TypeError.\n if (initBody != null && init.duplex == null) {\n throw new TypeError('RequestInit: duplex option is required when sending a body.')\n }\n\n // 2. If this\u2019s request\u2019s mode is neither \"same-origin\" nor \"cors\",\n // then throw a TypeError.\n if (request.mode !== 'same-origin' && request.mode !== 'cors') {\n throw new TypeError(\n 'If request is made from ReadableStream, mode should be \"same-origin\" or \"cors\"'\n )\n }\n\n // 3. Set this\u2019s request\u2019s use-CORS-preflight flag.\n request.useCORSPreflightFlag = true\n }\n\n // 39. Let finalBody be inputOrInitBody.\n let finalBody = inputOrInitBody\n\n // 40. If initBody is null and inputBody is non-null, then:\n if (initBody == null && inputBody != null) {\n // 1. If input is unusable, then throw a TypeError.\n if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {\n throw new TypeError(\n 'Cannot construct a Request with a Request object that has already been used.'\n )\n }\n\n // 2. Set finalBody to the result of creating a proxy for inputBody.\n if (!TransformStream) {\n TransformStream = require('stream/web').TransformStream\n }\n\n // https://streams.spec.whatwg.org/#readablestream-create-a-proxy\n const identityTransform = new TransformStream()\n inputBody.stream.pipeThrough(identityTransform)\n finalBody = {\n source: inputBody.source,\n length: inputBody.length,\n stream: identityTransform.readable\n }\n }\n\n // 41. Set this\u2019s request\u2019s body to finalBody.\n this[kState].body = finalBody\n }\n\n // Returns request\u2019s HTTP method, which is \"GET\" by default.\n get method () {\n webidl.brandCheck(this, Request)\n\n // The method getter steps are to return this\u2019s request\u2019s method.\n return this[kState].method\n }\n\n // Returns the URL of request as a string.\n get url () {\n webidl.brandCheck(this, Request)\n\n // The url getter steps are to return this\u2019s request\u2019s URL, serialized.\n return URLSerializer(this[kState].url)\n }\n\n // Returns a Headers object consisting of the headers associated with request.\n // Note that headers added in the network layer by the user agent will not\n // be accounted for in this object, e.g., the \"Host\" header.\n get headers () {\n webidl.brandCheck(this, Request)\n\n // The headers getter steps are to return this\u2019s headers.\n return this[kHeaders]\n }\n\n // Returns the kind of resource requested by request, e.g., \"document\"\n // or \"script\".\n get destination () {\n webidl.brandCheck(this, Request)\n\n // The destination getter are to return this\u2019s request\u2019s destination.\n return this[kState].destination\n }\n\n // Returns the referrer of request. Its value can be a same-origin URL if\n // explicitly set in init, the empty string to indicate no referrer, and\n // \"about:client\" when defaulting to the global\u2019s default. This is used\n // during fetching to determine the value of the `Referer` header of the\n // request being made.\n get referrer () {\n webidl.brandCheck(this, Request)\n\n // 1. If this\u2019s request\u2019s referrer is \"no-referrer\", then return the\n // empty string.\n if (this[kState].referrer === 'no-referrer') {\n return ''\n }\n\n // 2. If this\u2019s request\u2019s referrer is \"client\", then return\n // \"about:client\".\n if (this[kState].referrer === 'client') {\n return 'about:client'\n }\n\n // Return this\u2019s request\u2019s referrer, serialized.\n return this[kState].referrer.toString()\n }\n\n // Returns the referrer policy associated with request.\n // This is used during fetching to compute the value of the request\u2019s\n // referrer.\n get referrerPolicy () {\n webidl.brandCheck(this, Request)\n\n // The referrerPolicy getter steps are to return this\u2019s request\u2019s referrer policy.\n return this[kState].referrerPolicy\n }\n\n // Returns the mode associated with request, which is a string indicating\n // whether the request will use CORS, or will be restricted to same-origin\n // URLs.\n get mode () {\n webidl.brandCheck(this, Request)\n\n // The mode getter steps are to return this\u2019s request\u2019s mode.\n return this[kState].mode\n }\n\n // Returns the credentials mode associated with request,\n // which is a string indicating whether credentials will be sent with the\n // request always, never, or only when sent to a same-origin URL.\n get credentials () {\n // The credentials getter steps are to return this\u2019s request\u2019s credentials mode.\n return this[kState].credentials\n }\n\n // Returns the cache mode associated with request,\n // which is a string indicating how the request will\n // interact with the browser\u2019s cache when fetching.\n get cache () {\n webidl.brandCheck(this, Request)\n\n // The cache getter steps are to return this\u2019s request\u2019s cache mode.\n return this[kState].cache\n }\n\n // Returns the redirect mode associated with request,\n // which is a string indicating how redirects for the\n // request will be handled during fetching. A request\n // will follow redirects by default.\n get redirect () {\n webidl.brandCheck(this, Request)\n\n // The redirect getter steps are to return this\u2019s request\u2019s redirect mode.\n return this[kState].redirect\n }\n\n // Returns request\u2019s subresource integrity metadata, which is a\n // cryptographic hash of the resource being fetched. Its value\n // consists of multiple hashes separated by whitespace. [SRI]\n get integrity () {\n webidl.brandCheck(this, Request)\n\n // The integrity getter steps are to return this\u2019s request\u2019s integrity\n // metadata.\n return this[kState].integrity\n }\n\n // Returns a boolean indicating whether or not request can outlive the\n // global in which it was created.\n get keepalive () {\n webidl.brandCheck(this, Request)\n\n // The keepalive getter steps are to return this\u2019s request\u2019s keepalive.\n return this[kState].keepalive\n }\n\n // Returns a boolean indicating whether or not request is for a reload\n // navigation.\n get isReloadNavigation () {\n webidl.brandCheck(this, Request)\n\n // The isReloadNavigation getter steps are to return true if this\u2019s\n // request\u2019s reload-navigation flag is set; otherwise false.\n return this[kState].reloadNavigation\n }\n\n // Returns a boolean indicating whether or not request is for a history\n // navigation (a.k.a. back-foward navigation).\n get isHistoryNavigation () {\n webidl.brandCheck(this, Request)\n\n // The isHistoryNavigation getter steps are to return true if this\u2019s request\u2019s\n // history-navigation flag is set; otherwise false.\n return this[kState].historyNavigation\n }\n\n // Returns the signal associated with request, which is an AbortSignal\n // object indicating whether or not request has been aborted, and its\n // abort event handler.\n get signal () {\n webidl.brandCheck(this, Request)\n\n // The signal getter steps are to return this\u2019s signal.\n return this[kSignal]\n }\n\n get body () {\n webidl.brandCheck(this, Request)\n\n return this[kState].body ? this[kState].body.stream : null\n }\n\n get bodyUsed () {\n webidl.brandCheck(this, Request)\n\n return !!this[kState].body && util.isDisturbed(this[kState].body.stream)\n }\n\n get duplex () {\n webidl.brandCheck(this, Request)\n\n return 'half'\n }\n\n // Returns a clone of request.\n clone () {\n webidl.brandCheck(this, Request)\n\n // 1. If this is unusable, then throw a TypeError.\n if (this.bodyUsed || this.body?.locked) {\n throw new TypeError('unusable')\n }\n\n // 2. Let clonedRequest be the result of cloning this\u2019s request.\n const clonedRequest = cloneRequest(this[kState])\n\n // 3. Let clonedRequestObject be the result of creating a Request object,\n // given clonedRequest, this\u2019s headers\u2019s guard, and this\u2019s relevant Realm.\n const clonedRequestObject = new Request(kInit)\n clonedRequestObject[kState] = clonedRequest\n clonedRequestObject[kRealm] = this[kRealm]\n clonedRequestObject[kHeaders] = new Headers()\n clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList\n clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard]\n clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm]\n\n // 4. Make clonedRequestObject\u2019s signal follow this\u2019s signal.\n const ac = new AbortController()\n if (this.signal.aborted) {\n ac.abort(this.signal.reason)\n } else {\n util.addAbortListener(\n this.signal,\n () => {\n ac.abort(this.signal.reason)\n }\n )\n }\n clonedRequestObject[kSignal] = ac.signal\n\n // 4. Return clonedRequestObject.\n return clonedRequestObject\n }\n}\n\nmixinBody(Request)\n\nfunction makeRequest (init) {\n // https://fetch.spec.whatwg.org/#requests\n const request = {\n method: 'GET',\n localURLsOnly: false,\n unsafeRequest: false,\n body: null,\n client: null,\n reservedClient: null,\n replacesClientId: '',\n window: 'client',\n keepalive: false,\n serviceWorkers: 'all',\n initiator: '',\n destination: '',\n priority: null,\n origin: 'client',\n policyContainer: 'client',\n referrer: 'client',\n referrerPolicy: '',\n mode: 'no-cors',\n useCORSPreflightFlag: false,\n credentials: 'same-origin',\n useCredentials: false,\n cache: 'default',\n redirect: 'follow',\n integrity: '',\n cryptoGraphicsNonceMetadata: '',\n parserMetadata: '',\n reloadNavigation: false,\n historyNavigation: false,\n userActivation: false,\n taintedOrigin: false,\n redirectCount: 0,\n responseTainting: 'basic',\n preventNoCacheCacheControlHeaderModification: false,\n done: false,\n timingAllowFailed: false,\n ...init,\n headersList: init.headersList\n ? new HeadersList(init.headersList)\n : new HeadersList()\n }\n request.url = request.urlList[0]\n return request\n}\n\n// https://fetch.spec.whatwg.org/#concept-request-clone\nfunction cloneRequest (request) {\n // To clone a request request, run these steps:\n\n // 1. Let newRequest be a copy of request, except for its body.\n const newRequest = makeRequest({ ...request, body: null })\n\n // 2. If request\u2019s body is non-null, set newRequest\u2019s body to the\n // result of cloning request\u2019s body.\n if (request.body != null) {\n newRequest.body = cloneBody(request.body)\n }\n\n // 3. Return newRequest.\n return newRequest\n}\n\nObject.defineProperties(Request.prototype, {\n method: kEnumerableProperty,\n url: kEnumerableProperty,\n headers: kEnumerableProperty,\n redirect: kEnumerableProperty,\n clone: kEnumerableProperty,\n signal: kEnumerableProperty,\n duplex: kEnumerableProperty,\n destination: kEnumerableProperty,\n body: kEnumerableProperty,\n bodyUsed: kEnumerableProperty,\n isHistoryNavigation: kEnumerableProperty,\n isReloadNavigation: kEnumerableProperty,\n keepalive: kEnumerableProperty,\n integrity: kEnumerableProperty,\n cache: kEnumerableProperty,\n credentials: kEnumerableProperty,\n attribute: kEnumerableProperty,\n referrerPolicy: kEnumerableProperty,\n referrer: kEnumerableProperty,\n mode: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: 'Request',\n configurable: true\n }\n})\n\nwebidl.converters.Request = webidl.interfaceConverter(\n Request\n)\n\n// https://fetch.spec.whatwg.org/#requestinfo\nwebidl.converters.RequestInfo = function (V) {\n if (typeof V === 'string') {\n return webidl.converters.USVString(V)\n }\n\n if (V instanceof Request) {\n return webidl.converters.Request(V)\n }\n\n return webidl.converters.USVString(V)\n}\n\nwebidl.converters.AbortSignal = webidl.interfaceConverter(\n AbortSignal\n)\n\n// https://fetch.spec.whatwg.org/#requestinit\nwebidl.converters.RequestInit = webidl.dictionaryConverter([\n {\n key: 'method',\n converter: webidl.converters.ByteString\n },\n {\n key: 'headers',\n converter: webidl.converters.HeadersInit\n },\n {\n key: 'body',\n converter: webidl.nullableConverter(\n webidl.converters.BodyInit\n )\n },\n {\n key: 'referrer',\n converter: webidl.converters.USVString\n },\n {\n key: 'referrerPolicy',\n converter: webidl.converters.DOMString,\n // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy\n allowedValues: referrerPolicy\n },\n {\n key: 'mode',\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#concept-request-mode\n allowedValues: requestMode\n },\n {\n key: 'credentials',\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#requestcredentials\n allowedValues: requestCredentials\n },\n {\n key: 'cache',\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#requestcache\n allowedValues: requestCache\n },\n {\n key: 'redirect',\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#requestredirect\n allowedValues: requestRedirect\n },\n {\n key: 'integrity',\n converter: webidl.converters.DOMString\n },\n {\n key: 'keepalive',\n converter: webidl.converters.boolean\n },\n {\n key: 'signal',\n converter: webidl.nullableConverter(\n (signal) => webidl.converters.AbortSignal(\n signal,\n { strict: false }\n )\n )\n },\n {\n key: 'window',\n converter: webidl.converters.any\n },\n {\n key: 'duplex',\n converter: webidl.converters.DOMString,\n allowedValues: requestDuplex\n }\n])\n\nmodule.exports = { Request, makeRequest }\n", "// https://github.com/Ethan-Arrowood/undici-fetch\n\n'use strict'\n\nconst {\n Response,\n makeNetworkError,\n makeAppropriateNetworkError,\n filterResponse,\n makeResponse\n} = require('./response')\nconst { Headers } = require('./headers')\nconst { Request, makeRequest } = require('./request')\nconst zlib = require('zlib')\nconst {\n bytesMatch,\n makePolicyContainer,\n clonePolicyContainer,\n requestBadPort,\n TAOCheck,\n appendRequestOriginHeader,\n responseLocationURL,\n requestCurrentURL,\n setRequestReferrerPolicyOnRedirect,\n tryUpgradeRequestToAPotentiallyTrustworthyURL,\n createOpaqueTimingInfo,\n appendFetchMetadata,\n corsCheck,\n crossOriginResourcePolicyCheck,\n determineRequestsReferrer,\n coarsenedSharedCurrentTime,\n createDeferredPromise,\n isBlobLike,\n sameOrigin,\n isCancelled,\n isAborted,\n isErrorLike,\n fullyReadBody,\n readableStreamClose,\n isomorphicEncode,\n urlIsLocal,\n urlIsHttpHttpsScheme,\n urlHasHttpsScheme\n} = require('./util')\nconst { kState, kHeaders, kGuard, kRealm } = require('./symbols')\nconst assert = require('assert')\nconst { safelyExtractBody } = require('./body')\nconst {\n redirectStatus,\n nullBodyStatus,\n safeMethods,\n requestBodyHeader,\n subresource,\n DOMException\n} = require('./constants')\nconst { kHeadersList } = require('../core/symbols')\nconst EE = require('events')\nconst { Readable, pipeline } = require('stream')\nconst { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require('../core/util')\nconst { dataURLProcessor, serializeAMimeType } = require('./dataURL')\nconst { TransformStream } = require('stream/web')\nconst { getGlobalDispatcher } = require('../global')\nconst { webidl } = require('./webidl')\nconst { STATUS_CODES } = require('http')\n\n/** @type {import('buffer').resolveObjectURL} */\nlet resolveObjectURL\nlet ReadableStream = globalThis.ReadableStream\n\nclass Fetch extends EE {\n constructor (dispatcher) {\n super()\n\n this.dispatcher = dispatcher\n this.connection = null\n this.dump = false\n this.state = 'ongoing'\n // 2 terminated listeners get added per request,\n // but only 1 gets removed. If there are 20 redirects,\n // 21 listeners will be added.\n // See https://github.com/nodejs/undici/issues/1711\n // TODO (fix): Find and fix root cause for leaked listener.\n this.setMaxListeners(21)\n }\n\n terminate (reason) {\n if (this.state !== 'ongoing') {\n return\n }\n\n this.state = 'terminated'\n this.connection?.destroy(reason)\n this.emit('terminated', reason)\n }\n\n // https://fetch.spec.whatwg.org/#fetch-controller-abort\n abort (error) {\n if (this.state !== 'ongoing') {\n return\n }\n\n // 1. Set controller\u2019s state to \"aborted\".\n this.state = 'aborted'\n\n // 2. Let fallbackError be an \"AbortError\" DOMException.\n // 3. Set error to fallbackError if it is not given.\n if (!error) {\n error = new DOMException('The operation was aborted.', 'AbortError')\n }\n\n // 4. Let serializedError be StructuredSerialize(error).\n // If that threw an exception, catch it, and let\n // serializedError be StructuredSerialize(fallbackError).\n\n // 5. Set controller\u2019s serialized abort reason to serializedError.\n this.serializedAbortReason = error\n\n this.connection?.destroy(error)\n this.emit('terminated', error)\n }\n}\n\n// https://fetch.spec.whatwg.org/#fetch-method\nasync function fetch (input, init = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'globalThis.fetch' })\n\n // 1. Let p be a new promise.\n const p = createDeferredPromise()\n\n // 2. Let requestObject be the result of invoking the initial value of\n // Request as constructor with input and init as arguments. If this throws\n // an exception, reject p with it and return p.\n let requestObject\n\n try {\n requestObject = new Request(input, init)\n } catch (e) {\n p.reject(e)\n return p.promise\n }\n\n // 3. Let request be requestObject\u2019s request.\n const request = requestObject[kState]\n\n // 4. If requestObject\u2019s signal\u2019s aborted flag is set, then:\n if (requestObject.signal.aborted) {\n // 1. Abort the fetch() call with p, request, null, and\n // requestObject\u2019s signal\u2019s abort reason.\n abortFetch(p, request, null, requestObject.signal.reason)\n\n // 2. Return p.\n return p.promise\n }\n\n // 5. Let globalObject be request\u2019s client\u2019s global object.\n const globalObject = request.client.globalObject\n\n // 6. If globalObject is a ServiceWorkerGlobalScope object, then set\n // request\u2019s service-workers mode to \"none\".\n if (globalObject?.constructor?.name === 'ServiceWorkerGlobalScope') {\n request.serviceWorkers = 'none'\n }\n\n // 7. Let responseObject be null.\n let responseObject = null\n\n // 8. Let relevantRealm be this\u2019s relevant Realm.\n const relevantRealm = null\n\n // 9. Let locallyAborted be false.\n let locallyAborted = false\n\n // 10. Let controller be null.\n let controller = null\n\n // 11. Add the following abort steps to requestObject\u2019s signal:\n addAbortListener(\n requestObject.signal,\n () => {\n // 1. Set locallyAborted to true.\n locallyAborted = true\n\n // 2. Assert: controller is non-null.\n assert(controller != null)\n\n // 3. Abort controller with requestObject\u2019s signal\u2019s abort reason.\n controller.abort(requestObject.signal.reason)\n\n // 4. Abort the fetch() call with p, request, responseObject,\n // and requestObject\u2019s signal\u2019s abort reason.\n abortFetch(p, request, responseObject, requestObject.signal.reason)\n }\n )\n\n // 12. Let handleFetchDone given response response be to finalize and\n // report timing with response, globalObject, and \"fetch\".\n const handleFetchDone = (response) =>\n finalizeAndReportTiming(response, 'fetch')\n\n // 13. Set controller to the result of calling fetch given request,\n // with processResponseEndOfBody set to handleFetchDone, and processResponse\n // given response being these substeps:\n\n const processResponse = (response) => {\n // 1. If locallyAborted is true, terminate these substeps.\n if (locallyAborted) {\n return\n }\n\n // 2. If response\u2019s aborted flag is set, then:\n if (response.aborted) {\n // 1. Let deserializedError be the result of deserialize a serialized\n // abort reason given controller\u2019s serialized abort reason and\n // relevantRealm.\n\n // 2. Abort the fetch() call with p, request, responseObject, and\n // deserializedError.\n\n abortFetch(p, request, responseObject, controller.serializedAbortReason)\n return\n }\n\n // 3. If response is a network error, then reject p with a TypeError\n // and terminate these substeps.\n if (response.type === 'error') {\n p.reject(\n Object.assign(new TypeError('fetch failed'), { cause: response.error })\n )\n return\n }\n\n // 4. Set responseObject to the result of creating a Response object,\n // given response, \"immutable\", and relevantRealm.\n responseObject = new Response()\n responseObject[kState] = response\n responseObject[kRealm] = relevantRealm\n responseObject[kHeaders][kHeadersList] = response.headersList\n responseObject[kHeaders][kGuard] = 'immutable'\n responseObject[kHeaders][kRealm] = relevantRealm\n\n // 5. Resolve p with responseObject.\n p.resolve(responseObject)\n }\n\n controller = fetching({\n request,\n processResponseEndOfBody: handleFetchDone,\n processResponse,\n dispatcher: init.dispatcher ?? getGlobalDispatcher() // undici\n })\n\n // 14. Return p.\n return p.promise\n}\n\n// https://fetch.spec.whatwg.org/#finalize-and-report-timing\nfunction finalizeAndReportTiming (response, initiatorType = 'other') {\n // 1. If response is an aborted network error, then return.\n if (response.type === 'error' && response.aborted) {\n return\n }\n\n // 2. If response\u2019s URL list is null or empty, then return.\n if (!response.urlList?.length) {\n return\n }\n\n // 3. Let originalURL be response\u2019s URL list[0].\n const originalURL = response.urlList[0]\n\n // 4. Let timingInfo be response\u2019s timing info.\n let timingInfo = response.timingInfo\n\n // 5. Let cacheState be response\u2019s cache state.\n let cacheState = response.cacheState\n\n // 6. If originalURL\u2019s scheme is not an HTTP(S) scheme, then return.\n if (!urlIsHttpHttpsScheme(originalURL)) {\n return\n }\n\n // 7. If timingInfo is null, then return.\n if (timingInfo === null) {\n return\n }\n\n // 8. If response\u2019s timing allow passed flag is not set, then:\n if (!timingInfo.timingAllowPassed) {\n // 1. Set timingInfo to a the result of creating an opaque timing info for timingInfo.\n timingInfo = createOpaqueTimingInfo({\n startTime: timingInfo.startTime\n })\n\n // 2. Set cacheState to the empty string.\n cacheState = ''\n }\n\n // 9. Set timingInfo\u2019s end time to the coarsened shared current time\n // given global\u2019s relevant settings object\u2019s cross-origin isolated\n // capability.\n // TODO: given global\u2019s relevant settings object\u2019s cross-origin isolated\n // capability?\n timingInfo.endTime = coarsenedSharedCurrentTime()\n\n // 10. Set response\u2019s timing info to timingInfo.\n response.timingInfo = timingInfo\n\n // 11. Mark resource timing for timingInfo, originalURL, initiatorType,\n // global, and cacheState.\n markResourceTiming(\n timingInfo,\n originalURL,\n initiatorType,\n globalThis,\n cacheState\n )\n}\n\n// https://w3c.github.io/resource-timing/#dfn-mark-resource-timing\nfunction markResourceTiming (timingInfo, originalURL, initiatorType, globalThis, cacheState) {\n if (nodeMajor > 18 || (nodeMajor === 18 && nodeMinor >= 2)) {\n performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis, cacheState)\n }\n}\n\n// https://fetch.spec.whatwg.org/#abort-fetch\nfunction abortFetch (p, request, responseObject, error) {\n // Note: AbortSignal.reason was added in node v17.2.0\n // which would give us an undefined error to reject with.\n // Remove this once node v16 is no longer supported.\n if (!error) {\n error = new DOMException('The operation was aborted.', 'AbortError')\n }\n\n // 1. Reject promise with error.\n p.reject(error)\n\n // 2. If request\u2019s body is not null and is readable, then cancel request\u2019s\n // body with error.\n if (request.body != null && isReadable(request.body?.stream)) {\n request.body.stream.cancel(error).catch((err) => {\n if (err.code === 'ERR_INVALID_STATE') {\n // Node bug?\n return\n }\n throw err\n })\n }\n\n // 3. If responseObject is null, then return.\n if (responseObject == null) {\n return\n }\n\n // 4. Let response be responseObject\u2019s response.\n const response = responseObject[kState]\n\n // 5. If response\u2019s body is not null and is readable, then error response\u2019s\n // body with error.\n if (response.body != null && isReadable(response.body?.stream)) {\n response.body.stream.cancel(error).catch((err) => {\n if (err.code === 'ERR_INVALID_STATE') {\n // Node bug?\n return\n }\n throw err\n })\n }\n}\n\n// https://fetch.spec.whatwg.org/#fetching\nfunction fetching ({\n request,\n processRequestBodyChunkLength,\n processRequestEndOfBody,\n processResponse,\n processResponseEndOfBody,\n processResponseConsumeBody,\n useParallelQueue = false,\n dispatcher // undici\n}) {\n // 1. Let taskDestination be null.\n let taskDestination = null\n\n // 2. Let crossOriginIsolatedCapability be false.\n let crossOriginIsolatedCapability = false\n\n // 3. If request\u2019s client is non-null, then:\n if (request.client != null) {\n // 1. Set taskDestination to request\u2019s client\u2019s global object.\n taskDestination = request.client.globalObject\n\n // 2. Set crossOriginIsolatedCapability to request\u2019s client\u2019s cross-origin\n // isolated capability.\n crossOriginIsolatedCapability =\n request.client.crossOriginIsolatedCapability\n }\n\n // 4. If useParallelQueue is true, then set taskDestination to the result of\n // starting a new parallel queue.\n // TODO\n\n // 5. Let timingInfo be a new fetch timing info whose start time and\n // post-redirect start time are the coarsened shared current time given\n // crossOriginIsolatedCapability.\n const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability)\n const timingInfo = createOpaqueTimingInfo({\n startTime: currenTime\n })\n\n // 6. Let fetchParams be a new fetch params whose\n // request is request,\n // timing info is timingInfo,\n // process request body chunk length is processRequestBodyChunkLength,\n // process request end-of-body is processRequestEndOfBody,\n // process response is processResponse,\n // process response consume body is processResponseConsumeBody,\n // process response end-of-body is processResponseEndOfBody,\n // task destination is taskDestination,\n // and cross-origin isolated capability is crossOriginIsolatedCapability.\n const fetchParams = {\n controller: new Fetch(dispatcher),\n request,\n timingInfo,\n processRequestBodyChunkLength,\n processRequestEndOfBody,\n processResponse,\n processResponseConsumeBody,\n processResponseEndOfBody,\n taskDestination,\n crossOriginIsolatedCapability\n }\n\n // 7. If request\u2019s body is a byte sequence, then set request\u2019s body to\n // request\u2019s body as a body.\n // NOTE: Since fetching is only called from fetch, body should already be\n // extracted.\n assert(!request.body || request.body.stream)\n\n // 8. If request\u2019s window is \"client\", then set request\u2019s window to request\u2019s\n // client, if request\u2019s client\u2019s global object is a Window object; otherwise\n // \"no-window\".\n if (request.window === 'client') {\n // TODO: What if request.client is null?\n request.window =\n request.client?.globalObject?.constructor?.name === 'Window'\n ? request.client\n : 'no-window'\n }\n\n // 9. If request\u2019s origin is \"client\", then set request\u2019s origin to request\u2019s\n // client\u2019s origin.\n if (request.origin === 'client') {\n // TODO: What if request.client is null?\n request.origin = request.client?.origin\n }\n\n // 10. If all of the following conditions are true:\n // TODO\n\n // 11. If request\u2019s policy container is \"client\", then:\n if (request.policyContainer === 'client') {\n // 1. If request\u2019s client is non-null, then set request\u2019s policy\n // container to a clone of request\u2019s client\u2019s policy container. [HTML]\n if (request.client != null) {\n request.policyContainer = clonePolicyContainer(\n request.client.policyContainer\n )\n } else {\n // 2. Otherwise, set request\u2019s policy container to a new policy\n // container.\n request.policyContainer = makePolicyContainer()\n }\n }\n\n // 12. If request\u2019s header list does not contain `Accept`, then:\n if (!request.headersList.contains('accept')) {\n // 1. Let value be `*/*`.\n const value = '*/*'\n\n // 2. A user agent should set value to the first matching statement, if\n // any, switching on request\u2019s destination:\n // \"document\"\n // \"frame\"\n // \"iframe\"\n // `text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8`\n // \"image\"\n // `image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5`\n // \"style\"\n // `text/css,*/*;q=0.1`\n // TODO\n\n // 3. Append `Accept`/value to request\u2019s header list.\n request.headersList.append('accept', value)\n }\n\n // 13. If request\u2019s header list does not contain `Accept-Language`, then\n // user agents should append `Accept-Language`/an appropriate value to\n // request\u2019s header list.\n if (!request.headersList.contains('accept-language')) {\n request.headersList.append('accept-language', '*')\n }\n\n // 14. If request\u2019s priority is null, then use request\u2019s initiator and\n // destination appropriately in setting request\u2019s priority to a\n // user-agent-defined object.\n if (request.priority === null) {\n // TODO\n }\n\n // 15. If request is a subresource request, then:\n if (subresource.includes(request.destination)) {\n // TODO\n }\n\n // 16. Run main fetch given fetchParams.\n mainFetch(fetchParams)\n .catch(err => {\n fetchParams.controller.terminate(err)\n })\n\n // 17. Return fetchParam's controller\n return fetchParams.controller\n}\n\n// https://fetch.spec.whatwg.org/#concept-main-fetch\nasync function mainFetch (fetchParams, recursive = false) {\n // 1. Let request be fetchParams\u2019s request.\n const request = fetchParams.request\n\n // 2. Let response be null.\n let response = null\n\n // 3. If request\u2019s local-URLs-only flag is set and request\u2019s current URL is\n // not local, then set response to a network error.\n if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) {\n response = makeNetworkError('local URLs only')\n }\n\n // 4. Run report Content Security Policy violations for request.\n // TODO\n\n // 5. Upgrade request to a potentially trustworthy URL, if appropriate.\n tryUpgradeRequestToAPotentiallyTrustworthyURL(request)\n\n // 6. If should request be blocked due to a bad port, should fetching request\n // be blocked as mixed content, or should request be blocked by Content\n // Security Policy returns blocked, then set response to a network error.\n if (requestBadPort(request) === 'blocked') {\n response = makeNetworkError('bad port')\n }\n // TODO: should fetching request be blocked as mixed content?\n // TODO: should request be blocked by Content Security Policy?\n\n // 7. If request\u2019s referrer policy is the empty string, then set request\u2019s\n // referrer policy to request\u2019s policy container\u2019s referrer policy.\n if (request.referrerPolicy === '') {\n request.referrerPolicy = request.policyContainer.referrerPolicy\n }\n\n // 8. If request\u2019s referrer is not \"no-referrer\", then set request\u2019s\n // referrer to the result of invoking determine request\u2019s referrer.\n if (request.referrer !== 'no-referrer') {\n request.referrer = determineRequestsReferrer(request)\n }\n\n // 9. Set request\u2019s current URL\u2019s scheme to \"https\" if all of the following\n // conditions are true:\n // - request\u2019s current URL\u2019s scheme is \"http\"\n // - request\u2019s current URL\u2019s host is a domain\n // - Matching request\u2019s current URL\u2019s host per Known HSTS Host Domain Name\n // Matching results in either a superdomain match with an asserted\n // includeSubDomains directive or a congruent match (with or without an\n // asserted includeSubDomains directive). [HSTS]\n // TODO\n\n // 10. If recursive is false, then run the remaining steps in parallel.\n // TODO\n\n // 11. If response is null, then set response to the result of running\n // the steps corresponding to the first matching statement:\n if (response === null) {\n response = await (async () => {\n const currentURL = requestCurrentURL(request)\n\n if (\n // - request\u2019s current URL\u2019s origin is same origin with request\u2019s origin,\n // and request\u2019s response tainting is \"basic\"\n (sameOrigin(currentURL, request.url) && request.responseTainting === 'basic') ||\n // request\u2019s current URL\u2019s scheme is \"data\"\n (currentURL.protocol === 'data:') ||\n // - request\u2019s mode is \"navigate\" or \"websocket\"\n (request.mode === 'navigate' || request.mode === 'websocket')\n ) {\n // 1. Set request\u2019s response tainting to \"basic\".\n request.responseTainting = 'basic'\n\n // 2. Return the result of running scheme fetch given fetchParams.\n return await schemeFetch(fetchParams)\n }\n\n // request\u2019s mode is \"same-origin\"\n if (request.mode === 'same-origin') {\n // 1. Return a network error.\n return makeNetworkError('request mode cannot be \"same-origin\"')\n }\n\n // request\u2019s mode is \"no-cors\"\n if (request.mode === 'no-cors') {\n // 1. If request\u2019s redirect mode is not \"follow\", then return a network\n // error.\n if (request.redirect !== 'follow') {\n return makeNetworkError(\n 'redirect mode cannot be \"follow\" for \"no-cors\" request'\n )\n }\n\n // 2. Set request\u2019s response tainting to \"opaque\".\n request.responseTainting = 'opaque'\n\n // 3. Return the result of running scheme fetch given fetchParams.\n return await schemeFetch(fetchParams)\n }\n\n // request\u2019s current URL\u2019s scheme is not an HTTP(S) scheme\n if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) {\n // Return a network error.\n return makeNetworkError('URL scheme must be a HTTP(S) scheme')\n }\n\n // - request\u2019s use-CORS-preflight flag is set\n // - request\u2019s unsafe-request flag is set and either request\u2019s method is\n // not a CORS-safelisted method or CORS-unsafe request-header names with\n // request\u2019s header list is not empty\n // 1. Set request\u2019s response tainting to \"cors\".\n // 2. Let corsWithPreflightResponse be the result of running HTTP fetch\n // given fetchParams and true.\n // 3. If corsWithPreflightResponse is a network error, then clear cache\n // entries using request.\n // 4. Return corsWithPreflightResponse.\n // TODO\n\n // Otherwise\n // 1. Set request\u2019s response tainting to \"cors\".\n request.responseTainting = 'cors'\n\n // 2. Return the result of running HTTP fetch given fetchParams.\n return await httpFetch(fetchParams)\n })()\n }\n\n // 12. If recursive is true, then return response.\n if (recursive) {\n return response\n }\n\n // 13. If response is not a network error and response is not a filtered\n // response, then:\n if (response.status !== 0 && !response.internalResponse) {\n // If request\u2019s response tainting is \"cors\", then:\n if (request.responseTainting === 'cors') {\n // 1. Let headerNames be the result of extracting header list values\n // given `Access-Control-Expose-Headers` and response\u2019s header list.\n // TODO\n // 2. If request\u2019s credentials mode is not \"include\" and headerNames\n // contains `*`, then set response\u2019s CORS-exposed header-name list to\n // all unique header names in response\u2019s header list.\n // TODO\n // 3. Otherwise, if headerNames is not null or failure, then set\n // response\u2019s CORS-exposed header-name list to headerNames.\n // TODO\n }\n\n // Set response to the following filtered response with response as its\n // internal response, depending on request\u2019s response tainting:\n if (request.responseTainting === 'basic') {\n response = filterResponse(response, 'basic')\n } else if (request.responseTainting === 'cors') {\n response = filterResponse(response, 'cors')\n } else if (request.responseTainting === 'opaque') {\n response = filterResponse(response, 'opaque')\n } else {\n assert(false)\n }\n }\n\n // 14. Let internalResponse be response, if response is a network error,\n // and response\u2019s internal response otherwise.\n let internalResponse =\n response.status === 0 ? response : response.internalResponse\n\n // 15. If internalResponse\u2019s URL list is empty, then set it to a clone of\n // request\u2019s URL list.\n if (internalResponse.urlList.length === 0) {\n internalResponse.urlList.push(...request.urlList)\n }\n\n // 16. If request\u2019s timing allow failed flag is unset, then set\n // internalResponse\u2019s timing allow passed flag.\n if (!request.timingAllowFailed) {\n response.timingAllowPassed = true\n }\n\n // 17. If response is not a network error and any of the following returns\n // blocked\n // - should internalResponse to request be blocked as mixed content\n // - should internalResponse to request be blocked by Content Security Policy\n // - should internalResponse to request be blocked due to its MIME type\n // - should internalResponse to request be blocked due to nosniff\n // TODO\n\n // 18. If response\u2019s type is \"opaque\", internalResponse\u2019s status is 206,\n // internalResponse\u2019s range-requested flag is set, and request\u2019s header\n // list does not contain `Range`, then set response and internalResponse\n // to a network error.\n if (\n response.type === 'opaque' &&\n internalResponse.status === 206 &&\n internalResponse.rangeRequested &&\n !request.headers.contains('range')\n ) {\n response = internalResponse = makeNetworkError()\n }\n\n // 19. If response is not a network error and either request\u2019s method is\n // `HEAD` or `CONNECT`, or internalResponse\u2019s status is a null body status,\n // set internalResponse\u2019s body to null and disregard any enqueuing toward\n // it (if any).\n if (\n response.status !== 0 &&\n (request.method === 'HEAD' ||\n request.method === 'CONNECT' ||\n nullBodyStatus.includes(internalResponse.status))\n ) {\n internalResponse.body = null\n fetchParams.controller.dump = true\n }\n\n // 20. If request\u2019s integrity metadata is not the empty string, then:\n if (request.integrity) {\n // 1. Let processBodyError be this step: run fetch finale given fetchParams\n // and a network error.\n const processBodyError = (reason) =>\n fetchFinale(fetchParams, makeNetworkError(reason))\n\n // 2. If request\u2019s response tainting is \"opaque\", or response\u2019s body is null,\n // then run processBodyError and abort these steps.\n if (request.responseTainting === 'opaque' || response.body == null) {\n processBodyError(response.error)\n return\n }\n\n // 3. Let processBody given bytes be these steps:\n const processBody = (bytes) => {\n // 1. If bytes do not match request\u2019s integrity metadata,\n // then run processBodyError and abort these steps. [SRI]\n if (!bytesMatch(bytes, request.integrity)) {\n processBodyError('integrity mismatch')\n return\n }\n\n // 2. Set response\u2019s body to bytes as a body.\n response.body = safelyExtractBody(bytes)[0]\n\n // 3. Run fetch finale given fetchParams and response.\n fetchFinale(fetchParams, response)\n }\n\n // 4. Fully read response\u2019s body given processBody and processBodyError.\n await fullyReadBody(response.body, processBody, processBodyError)\n } else {\n // 21. Otherwise, run fetch finale given fetchParams and response.\n fetchFinale(fetchParams, response)\n }\n}\n\n// https://fetch.spec.whatwg.org/#concept-scheme-fetch\n// given a fetch params fetchParams\nasync function schemeFetch (fetchParams) {\n // Note: since the connection is destroyed on redirect, which sets fetchParams to a\n // cancelled state, we do not want this condition to trigger *unless* there have been\n // no redirects. See https://github.com/nodejs/undici/issues/1776\n // 1. If fetchParams is canceled, then return the appropriate network error for fetchParams.\n if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {\n return makeAppropriateNetworkError(fetchParams)\n }\n\n // 2. Let request be fetchParams\u2019s request.\n const { request } = fetchParams\n\n const { protocol: scheme } = requestCurrentURL(request)\n\n // 3. Switch on request\u2019s current URL\u2019s scheme and run the associated steps:\n switch (scheme) {\n case 'about:': {\n // If request\u2019s current URL\u2019s path is the string \"blank\", then return a new response\n // whose status message is `OK`, header list is \u00AB (`Content-Type`, `text/html;charset=utf-8`) \u00BB,\n // and body is the empty byte sequence as a body.\n\n // Otherwise, return a network error.\n return makeNetworkError('about scheme is not supported')\n }\n case 'blob:': {\n if (!resolveObjectURL) {\n resolveObjectURL = require('buffer').resolveObjectURL\n }\n\n // 1. Let blobURLEntry be request\u2019s current URL\u2019s blob URL entry.\n const blobURLEntry = requestCurrentURL(request)\n\n // https://github.com/web-platform-tests/wpt/blob/7b0ebaccc62b566a1965396e5be7bb2bc06f841f/FileAPI/url/resources/fetch-tests.js#L52-L56\n // Buffer.resolveObjectURL does not ignore URL queries.\n if (blobURLEntry.search.length !== 0) {\n return makeNetworkError('NetworkError when attempting to fetch resource.')\n }\n\n const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString())\n\n // 2. If request\u2019s method is not `GET`, blobURLEntry is null, or blobURLEntry\u2019s\n // object is not a Blob object, then return a network error.\n if (request.method !== 'GET' || !isBlobLike(blobURLEntryObject)) {\n return makeNetworkError('invalid method')\n }\n\n // 3. Let bodyWithType be the result of safely extracting blobURLEntry\u2019s object.\n const bodyWithType = safelyExtractBody(blobURLEntryObject)\n\n // 4. Let body be bodyWithType\u2019s body.\n const body = bodyWithType[0]\n\n // 5. Let length be body\u2019s length, serialized and isomorphic encoded.\n const length = isomorphicEncode(`${body.length}`)\n\n // 6. Let type be bodyWithType\u2019s type if it is non-null; otherwise the empty byte sequence.\n const type = bodyWithType[1] ?? ''\n\n // 7. Return a new response whose status message is `OK`, header list is\n // \u00AB (`Content-Length`, length), (`Content-Type`, type) \u00BB, and body is body.\n const response = makeResponse({\n statusText: 'OK',\n headersList: [\n ['content-length', { name: 'Content-Length', value: length }],\n ['content-type', { name: 'Content-Type', value: type }]\n ]\n })\n\n response.body = body\n\n return response\n }\n case 'data:': {\n // 1. Let dataURLStruct be the result of running the\n // data: URL processor on request\u2019s current URL.\n const currentURL = requestCurrentURL(request)\n const dataURLStruct = dataURLProcessor(currentURL)\n\n // 2. If dataURLStruct is failure, then return a\n // network error.\n if (dataURLStruct === 'failure') {\n return makeNetworkError('failed to fetch the data URL')\n }\n\n // 3. Let mimeType be dataURLStruct\u2019s MIME type, serialized.\n const mimeType = serializeAMimeType(dataURLStruct.mimeType)\n\n // 4. Return a response whose status message is `OK`,\n // header list is \u00AB (`Content-Type`, mimeType) \u00BB,\n // and body is dataURLStruct\u2019s body as a body.\n return makeResponse({\n statusText: 'OK',\n headersList: [\n ['content-type', { name: 'Content-Type', value: mimeType }]\n ],\n body: safelyExtractBody(dataURLStruct.body)[0]\n })\n }\n case 'file:': {\n // For now, unfortunate as it is, file URLs are left as an exercise for the reader.\n // When in doubt, return a network error.\n return makeNetworkError('not implemented... yet...')\n }\n case 'http:':\n case 'https:': {\n // Return the result of running HTTP fetch given fetchParams.\n\n return await httpFetch(fetchParams)\n .catch((err) => makeNetworkError(err))\n }\n default: {\n return makeNetworkError('unknown scheme')\n }\n }\n}\n\n// https://fetch.spec.whatwg.org/#finalize-response\nfunction finalizeResponse (fetchParams, response) {\n // 1. Set fetchParams\u2019s request\u2019s done flag.\n fetchParams.request.done = true\n\n // 2, If fetchParams\u2019s process response done is not null, then queue a fetch\n // task to run fetchParams\u2019s process response done given response, with\n // fetchParams\u2019s task destination.\n if (fetchParams.processResponseDone != null) {\n queueMicrotask(() => fetchParams.processResponseDone(response))\n }\n}\n\n// https://fetch.spec.whatwg.org/#fetch-finale\nasync function fetchFinale (fetchParams, response) {\n // 1. If response is a network error, then:\n if (response.type === 'error') {\n // 1. Set response\u2019s URL list to \u00AB fetchParams\u2019s request\u2019s URL list[0] \u00BB.\n response.urlList = [fetchParams.request.urlList[0]]\n\n // 2. Set response\u2019s timing info to the result of creating an opaque timing\n // info for fetchParams\u2019s timing info.\n response.timingInfo = createOpaqueTimingInfo({\n startTime: fetchParams.timingInfo.startTime\n })\n }\n\n // 2. Let processResponseEndOfBody be the following steps:\n const processResponseEndOfBody = () => {\n // 1. Set fetchParams\u2019s request\u2019s done flag.\n fetchParams.request.done = true\n\n // If fetchParams\u2019s process response end-of-body is not null,\n // then queue a fetch task to run fetchParams\u2019s process response\n // end-of-body given response with fetchParams\u2019s task destination.\n if (fetchParams.processResponseEndOfBody != null) {\n queueMicrotask(() => fetchParams.processResponseEndOfBody(response))\n }\n }\n\n // 3. If fetchParams\u2019s process response is non-null, then queue a fetch task\n // to run fetchParams\u2019s process response given response, with fetchParams\u2019s\n // task destination.\n if (fetchParams.processResponse != null) {\n queueMicrotask(() => fetchParams.processResponse(response))\n }\n\n // 4. If response\u2019s body is null, then run processResponseEndOfBody.\n if (response.body == null) {\n processResponseEndOfBody()\n } else {\n // 5. Otherwise:\n\n // 1. Let transformStream be a new a TransformStream.\n\n // 2. Let identityTransformAlgorithm be an algorithm which, given chunk,\n // enqueues chunk in transformStream.\n const identityTransformAlgorithm = (chunk, controller) => {\n controller.enqueue(chunk)\n }\n\n // 3. Set up transformStream with transformAlgorithm set to identityTransformAlgorithm\n // and flushAlgorithm set to processResponseEndOfBody.\n const transformStream = new TransformStream({\n start () {},\n transform: identityTransformAlgorithm,\n flush: processResponseEndOfBody\n }, {\n size () {\n return 1\n }\n }, {\n size () {\n return 1\n }\n })\n\n // 4. Set response\u2019s body to the result of piping response\u2019s body through transformStream.\n response.body = { stream: response.body.stream.pipeThrough(transformStream) }\n }\n\n // 6. If fetchParams\u2019s process response consume body is non-null, then:\n if (fetchParams.processResponseConsumeBody != null) {\n // 1. Let processBody given nullOrBytes be this step: run fetchParams\u2019s\n // process response consume body given response and nullOrBytes.\n const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes)\n\n // 2. Let processBodyError be this step: run fetchParams\u2019s process\n // response consume body given response and failure.\n const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure)\n\n // 3. If response\u2019s body is null, then queue a fetch task to run processBody\n // given null, with fetchParams\u2019s task destination.\n if (response.body == null) {\n queueMicrotask(() => processBody(null))\n } else {\n // 4. Otherwise, fully read response\u2019s body given processBody, processBodyError,\n // and fetchParams\u2019s task destination.\n await fullyReadBody(response.body, processBody, processBodyError)\n }\n }\n}\n\n// https://fetch.spec.whatwg.org/#http-fetch\nasync function httpFetch (fetchParams) {\n // 1. Let request be fetchParams\u2019s request.\n const request = fetchParams.request\n\n // 2. Let response be null.\n let response = null\n\n // 3. Let actualResponse be null.\n let actualResponse = null\n\n // 4. Let timingInfo be fetchParams\u2019s timing info.\n const timingInfo = fetchParams.timingInfo\n\n // 5. If request\u2019s service-workers mode is \"all\", then:\n if (request.serviceWorkers === 'all') {\n // TODO\n }\n\n // 6. If response is null, then:\n if (response === null) {\n // 1. If makeCORSPreflight is true and one of these conditions is true:\n // TODO\n\n // 2. If request\u2019s redirect mode is \"follow\", then set request\u2019s\n // service-workers mode to \"none\".\n if (request.redirect === 'follow') {\n request.serviceWorkers = 'none'\n }\n\n // 3. Set response and actualResponse to the result of running\n // HTTP-network-or-cache fetch given fetchParams.\n actualResponse = response = await httpNetworkOrCacheFetch(fetchParams)\n\n // 4. If request\u2019s response tainting is \"cors\" and a CORS check\n // for request and response returns failure, then return a network error.\n if (\n request.responseTainting === 'cors' &&\n corsCheck(request, response) === 'failure'\n ) {\n return makeNetworkError('cors failure')\n }\n\n // 5. If the TAO check for request and response returns failure, then set\n // request\u2019s timing allow failed flag.\n if (TAOCheck(request, response) === 'failure') {\n request.timingAllowFailed = true\n }\n }\n\n // 7. If either request\u2019s response tainting or response\u2019s type\n // is \"opaque\", and the cross-origin resource policy check with\n // request\u2019s origin, request\u2019s client, request\u2019s destination,\n // and actualResponse returns blocked, then return a network error.\n if (\n (request.responseTainting === 'opaque' || response.type === 'opaque') &&\n crossOriginResourcePolicyCheck(\n request.origin,\n request.client,\n request.destination,\n actualResponse\n ) === 'blocked'\n ) {\n return makeNetworkError('blocked')\n }\n\n // 8. If actualResponse\u2019s status is a redirect status, then:\n if (redirectStatus.includes(actualResponse.status)) {\n // 1. If actualResponse\u2019s status is not 303, request\u2019s body is not null,\n // and the connection uses HTTP/2, then user agents may, and are even\n // encouraged to, transmit an RST_STREAM frame.\n // See, https://github.com/whatwg/fetch/issues/1288\n if (request.redirect !== 'manual') {\n fetchParams.controller.connection.destroy()\n }\n\n // 2. Switch on request\u2019s redirect mode:\n if (request.redirect === 'error') {\n // Set response to a network error.\n response = makeNetworkError('unexpected redirect')\n } else if (request.redirect === 'manual') {\n // Set response to an opaque-redirect filtered response whose internal\n // response is actualResponse.\n // NOTE(spec): On the web this would return an `opaqueredirect` response,\n // but that doesn't make sense server side.\n // See https://github.com/nodejs/undici/issues/1193.\n response = actualResponse\n } else if (request.redirect === 'follow') {\n // Set response to the result of running HTTP-redirect fetch given\n // fetchParams and response.\n response = await httpRedirectFetch(fetchParams, response)\n } else {\n assert(false)\n }\n }\n\n // 9. Set response\u2019s timing info to timingInfo.\n response.timingInfo = timingInfo\n\n // 10. Return response.\n return response\n}\n\n// https://fetch.spec.whatwg.org/#http-redirect-fetch\nasync function httpRedirectFetch (fetchParams, response) {\n // 1. Let request be fetchParams\u2019s request.\n const request = fetchParams.request\n\n // 2. Let actualResponse be response, if response is not a filtered response,\n // and response\u2019s internal response otherwise.\n const actualResponse = response.internalResponse\n ? response.internalResponse\n : response\n\n // 3. Let locationURL be actualResponse\u2019s location URL given request\u2019s current\n // URL\u2019s fragment.\n let locationURL\n\n try {\n locationURL = responseLocationURL(\n actualResponse,\n requestCurrentURL(request).hash\n )\n\n // 4. If locationURL is null, then return response.\n if (locationURL == null) {\n return response\n }\n } catch (err) {\n // 5. If locationURL is failure, then return a network error.\n return makeNetworkError(err)\n }\n\n // 6. If locationURL\u2019s scheme is not an HTTP(S) scheme, then return a network\n // error.\n if (!urlIsHttpHttpsScheme(locationURL)) {\n return makeNetworkError('URL scheme must be a HTTP(S) scheme')\n }\n\n // 7. If request\u2019s redirect count is 20, then return a network error.\n if (request.redirectCount === 20) {\n return makeNetworkError('redirect count exceeded')\n }\n\n // 8. Increase request\u2019s redirect count by 1.\n request.redirectCount += 1\n\n // 9. If request\u2019s mode is \"cors\", locationURL includes credentials, and\n // request\u2019s origin is not same origin with locationURL\u2019s origin, then return\n // a network error.\n if (\n request.mode === 'cors' &&\n (locationURL.username || locationURL.password) &&\n !sameOrigin(request, locationURL)\n ) {\n return makeNetworkError('cross origin not allowed for request mode \"cors\"')\n }\n\n // 10. If request\u2019s response tainting is \"cors\" and locationURL includes\n // credentials, then return a network error.\n if (\n request.responseTainting === 'cors' &&\n (locationURL.username || locationURL.password)\n ) {\n return makeNetworkError(\n 'URL cannot contain credentials for request mode \"cors\"'\n )\n }\n\n // 11. If actualResponse\u2019s status is not 303, request\u2019s body is non-null,\n // and request\u2019s body\u2019s source is null, then return a network error.\n if (\n actualResponse.status !== 303 &&\n request.body != null &&\n request.body.source == null\n ) {\n return makeNetworkError()\n }\n\n // 12. If one of the following is true\n // - actualResponse\u2019s status is 301 or 302 and request\u2019s method is `POST`\n // - actualResponse\u2019s status is 303 and request\u2019s method is not `GET` or `HEAD`\n if (\n ([301, 302].includes(actualResponse.status) && request.method === 'POST') ||\n (actualResponse.status === 303 &&\n !['GET', 'HEAD'].includes(request.method))\n ) {\n // then:\n // 1. Set request\u2019s method to `GET` and request\u2019s body to null.\n request.method = 'GET'\n request.body = null\n\n // 2. For each headerName of request-body-header name, delete headerName from\n // request\u2019s header list.\n for (const headerName of requestBodyHeader) {\n request.headersList.delete(headerName)\n }\n }\n\n // 13. If request\u2019s current URL\u2019s origin is not same origin with locationURL\u2019s\n // origin, then for each headerName of CORS non-wildcard request-header name,\n // delete headerName from request\u2019s header list.\n if (!sameOrigin(requestCurrentURL(request), locationURL)) {\n // https://fetch.spec.whatwg.org/#cors-non-wildcard-request-header-name\n request.headersList.delete('authorization')\n }\n\n // 14. If request\u2019s body is non-null, then set request\u2019s body to the first return\n // value of safely extracting request\u2019s body\u2019s source.\n if (request.body != null) {\n assert(request.body.source != null)\n request.body = safelyExtractBody(request.body.source)[0]\n }\n\n // 15. Let timingInfo be fetchParams\u2019s timing info.\n const timingInfo = fetchParams.timingInfo\n\n // 16. Set timingInfo\u2019s redirect end time and post-redirect start time to the\n // coarsened shared current time given fetchParams\u2019s cross-origin isolated\n // capability.\n timingInfo.redirectEndTime = timingInfo.postRedirectStartTime =\n coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability)\n\n // 17. If timingInfo\u2019s redirect start time is 0, then set timingInfo\u2019s\n // redirect start time to timingInfo\u2019s start time.\n if (timingInfo.redirectStartTime === 0) {\n timingInfo.redirectStartTime = timingInfo.startTime\n }\n\n // 18. Append locationURL to request\u2019s URL list.\n request.urlList.push(locationURL)\n\n // 19. Invoke set request\u2019s referrer policy on redirect on request and\n // actualResponse.\n setRequestReferrerPolicyOnRedirect(request, actualResponse)\n\n // 20. Return the result of running main fetch given fetchParams and true.\n return mainFetch(fetchParams, true)\n}\n\n// https://fetch.spec.whatwg.org/#http-network-or-cache-fetch\nasync function httpNetworkOrCacheFetch (\n fetchParams,\n isAuthenticationFetch = false,\n isNewConnectionFetch = false\n) {\n // 1. Let request be fetchParams\u2019s request.\n const request = fetchParams.request\n\n // 2. Let httpFetchParams be null.\n let httpFetchParams = null\n\n // 3. Let httpRequest be null.\n let httpRequest = null\n\n // 4. Let response be null.\n let response = null\n\n // 5. Let storedResponse be null.\n // TODO: cache\n\n // 6. Let httpCache be null.\n const httpCache = null\n\n // 7. Let the revalidatingFlag be unset.\n const revalidatingFlag = false\n\n // 8. Run these steps, but abort when the ongoing fetch is terminated:\n\n // 1. If request\u2019s window is \"no-window\" and request\u2019s redirect mode is\n // \"error\", then set httpFetchParams to fetchParams and httpRequest to\n // request.\n if (request.window === 'no-window' && request.redirect === 'error') {\n httpFetchParams = fetchParams\n httpRequest = request\n } else {\n // Otherwise:\n\n // 1. Set httpRequest to a clone of request.\n httpRequest = makeRequest(request)\n\n // 2. Set httpFetchParams to a copy of fetchParams.\n httpFetchParams = { ...fetchParams }\n\n // 3. Set httpFetchParams\u2019s request to httpRequest.\n httpFetchParams.request = httpRequest\n }\n\n // 3. Let includeCredentials be true if one of\n const includeCredentials =\n request.credentials === 'include' ||\n (request.credentials === 'same-origin' &&\n request.responseTainting === 'basic')\n\n // 4. Let contentLength be httpRequest\u2019s body\u2019s length, if httpRequest\u2019s\n // body is non-null; otherwise null.\n const contentLength = httpRequest.body ? httpRequest.body.length : null\n\n // 5. Let contentLengthHeaderValue be null.\n let contentLengthHeaderValue = null\n\n // 6. If httpRequest\u2019s body is null and httpRequest\u2019s method is `POST` or\n // `PUT`, then set contentLengthHeaderValue to `0`.\n if (\n httpRequest.body == null &&\n ['POST', 'PUT'].includes(httpRequest.method)\n ) {\n contentLengthHeaderValue = '0'\n }\n\n // 7. If contentLength is non-null, then set contentLengthHeaderValue to\n // contentLength, serialized and isomorphic encoded.\n if (contentLength != null) {\n contentLengthHeaderValue = isomorphicEncode(`${contentLength}`)\n }\n\n // 8. If contentLengthHeaderValue is non-null, then append\n // `Content-Length`/contentLengthHeaderValue to httpRequest\u2019s header\n // list.\n if (contentLengthHeaderValue != null) {\n httpRequest.headersList.append('content-length', contentLengthHeaderValue)\n }\n\n // 9. If contentLengthHeaderValue is non-null, then append (`Content-Length`,\n // contentLengthHeaderValue) to httpRequest\u2019s header list.\n\n // 10. If contentLength is non-null and httpRequest\u2019s keepalive is true,\n // then:\n if (contentLength != null && httpRequest.keepalive) {\n // NOTE: keepalive is a noop outside of browser context.\n }\n\n // 11. If httpRequest\u2019s referrer is a URL, then append\n // `Referer`/httpRequest\u2019s referrer, serialized and isomorphic encoded,\n // to httpRequest\u2019s header list.\n if (httpRequest.referrer instanceof URL) {\n httpRequest.headersList.append('referer', isomorphicEncode(httpRequest.referrer.href))\n }\n\n // 12. Append a request `Origin` header for httpRequest.\n appendRequestOriginHeader(httpRequest)\n\n // 13. Append the Fetch metadata headers for httpRequest. [FETCH-METADATA]\n appendFetchMetadata(httpRequest)\n\n // 14. If httpRequest\u2019s header list does not contain `User-Agent`, then\n // user agents should append `User-Agent`/default `User-Agent` value to\n // httpRequest\u2019s header list.\n if (!httpRequest.headersList.contains('user-agent')) {\n httpRequest.headersList.append('user-agent', 'undici')\n }\n\n // 15. If httpRequest\u2019s cache mode is \"default\" and httpRequest\u2019s header\n // list contains `If-Modified-Since`, `If-None-Match`,\n // `If-Unmodified-Since`, `If-Match`, or `If-Range`, then set\n // httpRequest\u2019s cache mode to \"no-store\".\n if (\n httpRequest.cache === 'default' &&\n (httpRequest.headersList.contains('if-modified-since') ||\n httpRequest.headersList.contains('if-none-match') ||\n httpRequest.headersList.contains('if-unmodified-since') ||\n httpRequest.headersList.contains('if-match') ||\n httpRequest.headersList.contains('if-range'))\n ) {\n httpRequest.cache = 'no-store'\n }\n\n // 16. If httpRequest\u2019s cache mode is \"no-cache\", httpRequest\u2019s prevent\n // no-cache cache-control header modification flag is unset, and\n // httpRequest\u2019s header list does not contain `Cache-Control`, then append\n // `Cache-Control`/`max-age=0` to httpRequest\u2019s header list.\n if (\n httpRequest.cache === 'no-cache' &&\n !httpRequest.preventNoCacheCacheControlHeaderModification &&\n !httpRequest.headersList.contains('cache-control')\n ) {\n httpRequest.headersList.append('cache-control', 'max-age=0')\n }\n\n // 17. If httpRequest\u2019s cache mode is \"no-store\" or \"reload\", then:\n if (httpRequest.cache === 'no-store' || httpRequest.cache === 'reload') {\n // 1. If httpRequest\u2019s header list does not contain `Pragma`, then append\n // `Pragma`/`no-cache` to httpRequest\u2019s header list.\n if (!httpRequest.headersList.contains('pragma')) {\n httpRequest.headersList.append('pragma', 'no-cache')\n }\n\n // 2. If httpRequest\u2019s header list does not contain `Cache-Control`,\n // then append `Cache-Control`/`no-cache` to httpRequest\u2019s header list.\n if (!httpRequest.headersList.contains('cache-control')) {\n httpRequest.headersList.append('cache-control', 'no-cache')\n }\n }\n\n // 18. If httpRequest\u2019s header list contains `Range`, then append\n // `Accept-Encoding`/`identity` to httpRequest\u2019s header list.\n if (httpRequest.headersList.contains('range')) {\n httpRequest.headersList.append('accept-encoding', 'identity')\n }\n\n // 19. Modify httpRequest\u2019s header list per HTTP. Do not append a given\n // header if httpRequest\u2019s header list contains that header\u2019s name.\n // TODO: https://github.com/whatwg/fetch/issues/1285#issuecomment-896560129\n if (!httpRequest.headersList.contains('accept-encoding')) {\n if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {\n httpRequest.headersList.append('accept-encoding', 'br, gzip, deflate')\n } else {\n httpRequest.headersList.append('accept-encoding', 'gzip, deflate')\n }\n }\n\n // 20. If includeCredentials is true, then:\n if (includeCredentials) {\n // 1. If the user agent is not configured to block cookies for httpRequest\n // (see section 7 of [COOKIES]), then:\n // TODO: credentials\n // 2. If httpRequest\u2019s header list does not contain `Authorization`, then:\n // TODO: credentials\n }\n\n // 21. If there\u2019s a proxy-authentication entry, use it as appropriate.\n // TODO: proxy-authentication\n\n // 22. Set httpCache to the result of determining the HTTP cache\n // partition, given httpRequest.\n // TODO: cache\n\n // 23. If httpCache is null, then set httpRequest\u2019s cache mode to\n // \"no-store\".\n if (httpCache == null) {\n httpRequest.cache = 'no-store'\n }\n\n // 24. If httpRequest\u2019s cache mode is neither \"no-store\" nor \"reload\",\n // then:\n if (httpRequest.mode !== 'no-store' && httpRequest.mode !== 'reload') {\n // TODO: cache\n }\n\n // 9. If aborted, then return the appropriate network error for fetchParams.\n // TODO\n\n // 10. If response is null, then:\n if (response == null) {\n // 1. If httpRequest\u2019s cache mode is \"only-if-cached\", then return a\n // network error.\n if (httpRequest.mode === 'only-if-cached') {\n return makeNetworkError('only if cached')\n }\n\n // 2. Let forwardResponse be the result of running HTTP-network fetch\n // given httpFetchParams, includeCredentials, and isNewConnectionFetch.\n const forwardResponse = await httpNetworkFetch(\n httpFetchParams,\n includeCredentials,\n isNewConnectionFetch\n )\n\n // 3. If httpRequest\u2019s method is unsafe and forwardResponse\u2019s status is\n // in the range 200 to 399, inclusive, invalidate appropriate stored\n // responses in httpCache, as per the \"Invalidation\" chapter of HTTP\n // Caching, and set storedResponse to null. [HTTP-CACHING]\n if (\n !safeMethods.includes(httpRequest.method) &&\n forwardResponse.status >= 200 &&\n forwardResponse.status <= 399\n ) {\n // TODO: cache\n }\n\n // 4. If the revalidatingFlag is set and forwardResponse\u2019s status is 304,\n // then:\n if (revalidatingFlag && forwardResponse.status === 304) {\n // TODO: cache\n }\n\n // 5. If response is null, then:\n if (response == null) {\n // 1. Set response to forwardResponse.\n response = forwardResponse\n\n // 2. Store httpRequest and forwardResponse in httpCache, as per the\n // \"Storing Responses in Caches\" chapter of HTTP Caching. [HTTP-CACHING]\n // TODO: cache\n }\n }\n\n // 11. Set response\u2019s URL list to a clone of httpRequest\u2019s URL list.\n response.urlList = [...httpRequest.urlList]\n\n // 12. If httpRequest\u2019s header list contains `Range`, then set response\u2019s\n // range-requested flag.\n if (httpRequest.headersList.contains('range')) {\n response.rangeRequested = true\n }\n\n // 13. Set response\u2019s request-includes-credentials to includeCredentials.\n response.requestIncludesCredentials = includeCredentials\n\n // 14. If response\u2019s status is 401, httpRequest\u2019s response tainting is not\n // \"cors\", includeCredentials is true, and request\u2019s window is an environment\n // settings object, then:\n // TODO\n\n // 15. If response\u2019s status is 407, then:\n if (response.status === 407) {\n // 1. If request\u2019s window is \"no-window\", then return a network error.\n if (request.window === 'no-window') {\n return makeNetworkError()\n }\n\n // 2. ???\n\n // 3. If fetchParams is canceled, then return the appropriate network error for fetchParams.\n if (isCancelled(fetchParams)) {\n return makeAppropriateNetworkError(fetchParams)\n }\n\n // 4. Prompt the end user as appropriate in request\u2019s window and store\n // the result as a proxy-authentication entry. [HTTP-AUTH]\n // TODO: Invoke some kind of callback?\n\n // 5. Set response to the result of running HTTP-network-or-cache fetch given\n // fetchParams.\n // TODO\n return makeNetworkError('proxy authentication required')\n }\n\n // 16. If all of the following are true\n if (\n // response\u2019s status is 421\n response.status === 421 &&\n // isNewConnectionFetch is false\n !isNewConnectionFetch &&\n // request\u2019s body is null, or request\u2019s body is non-null and request\u2019s body\u2019s source is non-null\n (request.body == null || request.body.source != null)\n ) {\n // then:\n\n // 1. If fetchParams is canceled, then return the appropriate network error for fetchParams.\n if (isCancelled(fetchParams)) {\n return makeAppropriateNetworkError(fetchParams)\n }\n\n // 2. Set response to the result of running HTTP-network-or-cache\n // fetch given fetchParams, isAuthenticationFetch, and true.\n\n // TODO (spec): The spec doesn't specify this but we need to cancel\n // the active response before we can start a new one.\n // https://github.com/whatwg/fetch/issues/1293\n fetchParams.controller.connection.destroy()\n\n response = await httpNetworkOrCacheFetch(\n fetchParams,\n isAuthenticationFetch,\n true\n )\n }\n\n // 17. If isAuthenticationFetch is true, then create an authentication entry\n if (isAuthenticationFetch) {\n // TODO\n }\n\n // 18. Return response.\n return response\n}\n\n// https://fetch.spec.whatwg.org/#http-network-fetch\nasync function httpNetworkFetch (\n fetchParams,\n includeCredentials = false,\n forceNewConnection = false\n) {\n assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed)\n\n fetchParams.controller.connection = {\n abort: null,\n destroyed: false,\n destroy (err) {\n if (!this.destroyed) {\n this.destroyed = true\n this.abort?.(err ?? new DOMException('The operation was aborted.', 'AbortError'))\n }\n }\n }\n\n // 1. Let request be fetchParams\u2019s request.\n const request = fetchParams.request\n\n // 2. Let response be null.\n let response = null\n\n // 3. Let timingInfo be fetchParams\u2019s timing info.\n const timingInfo = fetchParams.timingInfo\n\n // 4. Let httpCache be the result of determining the HTTP cache partition,\n // given request.\n // TODO: cache\n const httpCache = null\n\n // 5. If httpCache is null, then set request\u2019s cache mode to \"no-store\".\n if (httpCache == null) {\n request.cache = 'no-store'\n }\n\n // 6. Let networkPartitionKey be the result of determining the network\n // partition key given request.\n // TODO\n\n // 7. Let newConnection be \"yes\" if forceNewConnection is true; otherwise\n // \"no\".\n const newConnection = forceNewConnection ? 'yes' : 'no' // eslint-disable-line no-unused-vars\n\n // 8. Switch on request\u2019s mode:\n if (request.mode === 'websocket') {\n // Let connection be the result of obtaining a WebSocket connection,\n // given request\u2019s current URL.\n // TODO\n } else {\n // Let connection be the result of obtaining a connection, given\n // networkPartitionKey, request\u2019s current URL\u2019s origin,\n // includeCredentials, and forceNewConnection.\n // TODO\n }\n\n // 9. Run these steps, but abort when the ongoing fetch is terminated:\n\n // 1. If connection is failure, then return a network error.\n\n // 2. Set timingInfo\u2019s final connection timing info to the result of\n // calling clamp and coarsen connection timing info with connection\u2019s\n // timing info, timingInfo\u2019s post-redirect start time, and fetchParams\u2019s\n // cross-origin isolated capability.\n\n // 3. If connection is not an HTTP/2 connection, request\u2019s body is non-null,\n // and request\u2019s body\u2019s source is null, then append (`Transfer-Encoding`,\n // `chunked`) to request\u2019s header list.\n\n // 4. Set timingInfo\u2019s final network-request start time to the coarsened\n // shared current time given fetchParams\u2019s cross-origin isolated\n // capability.\n\n // 5. Set response to the result of making an HTTP request over connection\n // using request with the following caveats:\n\n // - Follow the relevant requirements from HTTP. [HTTP] [HTTP-SEMANTICS]\n // [HTTP-COND] [HTTP-CACHING] [HTTP-AUTH]\n\n // - If request\u2019s body is non-null, and request\u2019s body\u2019s source is null,\n // then the user agent may have a buffer of up to 64 kibibytes and store\n // a part of request\u2019s body in that buffer. If the user agent reads from\n // request\u2019s body beyond that buffer\u2019s size and the user agent needs to\n // resend request, then instead return a network error.\n\n // - Set timingInfo\u2019s final network-response start time to the coarsened\n // shared current time given fetchParams\u2019s cross-origin isolated capability,\n // immediately after the user agent\u2019s HTTP parser receives the first byte\n // of the response (e.g., frame header bytes for HTTP/2 or response status\n // line for HTTP/1.x).\n\n // - Wait until all the headers are transmitted.\n\n // - Any responses whose status is in the range 100 to 199, inclusive,\n // and is not 101, are to be ignored, except for the purposes of setting\n // timingInfo\u2019s final network-response start time above.\n\n // - If request\u2019s header list contains `Transfer-Encoding`/`chunked` and\n // response is transferred via HTTP/1.0 or older, then return a network\n // error.\n\n // - If the HTTP request results in a TLS client certificate dialog, then:\n\n // 1. If request\u2019s window is an environment settings object, make the\n // dialog available in request\u2019s window.\n\n // 2. Otherwise, return a network error.\n\n // To transmit request\u2019s body body, run these steps:\n let requestBody = null\n // 1. If body is null and fetchParams\u2019s process request end-of-body is\n // non-null, then queue a fetch task given fetchParams\u2019s process request\n // end-of-body and fetchParams\u2019s task destination.\n if (request.body == null && fetchParams.processRequestEndOfBody) {\n queueMicrotask(() => fetchParams.processRequestEndOfBody())\n } else if (request.body != null) {\n // 2. Otherwise, if body is non-null:\n\n // 1. Let processBodyChunk given bytes be these steps:\n const processBodyChunk = async function * (bytes) {\n // 1. If the ongoing fetch is terminated, then abort these steps.\n if (isCancelled(fetchParams)) {\n return\n }\n\n // 2. Run this step in parallel: transmit bytes.\n yield bytes\n\n // 3. If fetchParams\u2019s process request body is non-null, then run\n // fetchParams\u2019s process request body given bytes\u2019s length.\n fetchParams.processRequestBodyChunkLength?.(bytes.byteLength)\n }\n\n // 2. Let processEndOfBody be these steps:\n const processEndOfBody = () => {\n // 1. If fetchParams is canceled, then abort these steps.\n if (isCancelled(fetchParams)) {\n return\n }\n\n // 2. If fetchParams\u2019s process request end-of-body is non-null,\n // then run fetchParams\u2019s process request end-of-body.\n if (fetchParams.processRequestEndOfBody) {\n fetchParams.processRequestEndOfBody()\n }\n }\n\n // 3. Let processBodyError given e be these steps:\n const processBodyError = (e) => {\n // 1. If fetchParams is canceled, then abort these steps.\n if (isCancelled(fetchParams)) {\n return\n }\n\n // 2. If e is an \"AbortError\" DOMException, then abort fetchParams\u2019s controller.\n if (e.name === 'AbortError') {\n fetchParams.controller.abort()\n } else {\n fetchParams.controller.terminate(e)\n }\n }\n\n // 4. Incrementally read request\u2019s body given processBodyChunk, processEndOfBody,\n // processBodyError, and fetchParams\u2019s task destination.\n requestBody = (async function * () {\n try {\n for await (const bytes of request.body.stream) {\n yield * processBodyChunk(bytes)\n }\n processEndOfBody()\n } catch (err) {\n processBodyError(err)\n }\n })()\n }\n\n try {\n // socket is only provided for websockets\n const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody })\n\n if (socket) {\n response = makeResponse({ status, statusText, headersList, socket })\n } else {\n const iterator = body[Symbol.asyncIterator]()\n fetchParams.controller.next = () => iterator.next()\n\n response = makeResponse({ status, statusText, headersList })\n }\n } catch (err) {\n // 10. If aborted, then:\n if (err.name === 'AbortError') {\n // 1. If connection uses HTTP/2, then transmit an RST_STREAM frame.\n fetchParams.controller.connection.destroy()\n\n // 2. Return the appropriate network error for fetchParams.\n return makeAppropriateNetworkError(fetchParams)\n }\n\n return makeNetworkError(err)\n }\n\n // 11. Let pullAlgorithm be an action that resumes the ongoing fetch\n // if it is suspended.\n const pullAlgorithm = () => {\n fetchParams.controller.resume()\n }\n\n // 12. Let cancelAlgorithm be an algorithm that aborts fetchParams\u2019s\n // controller with reason, given reason.\n const cancelAlgorithm = (reason) => {\n fetchParams.controller.abort(reason)\n }\n\n // 13. Let highWaterMark be a non-negative, non-NaN number, chosen by\n // the user agent.\n // TODO\n\n // 14. Let sizeAlgorithm be an algorithm that accepts a chunk object\n // and returns a non-negative, non-NaN, non-infinite number, chosen by the user agent.\n // TODO\n\n // 15. Let stream be a new ReadableStream.\n // 16. Set up stream with pullAlgorithm set to pullAlgorithm,\n // cancelAlgorithm set to cancelAlgorithm, highWaterMark set to\n // highWaterMark, and sizeAlgorithm set to sizeAlgorithm.\n if (!ReadableStream) {\n ReadableStream = require('stream/web').ReadableStream\n }\n\n const stream = new ReadableStream(\n {\n async start (controller) {\n fetchParams.controller.controller = controller\n },\n async pull (controller) {\n await pullAlgorithm(controller)\n },\n async cancel (reason) {\n await cancelAlgorithm(reason)\n }\n },\n {\n highWaterMark: 0,\n size () {\n return 1\n }\n }\n )\n\n // 17. Run these steps, but abort when the ongoing fetch is terminated:\n\n // 1. Set response\u2019s body to a new body whose stream is stream.\n response.body = { stream }\n\n // 2. If response is not a network error and request\u2019s cache mode is\n // not \"no-store\", then update response in httpCache for request.\n // TODO\n\n // 3. If includeCredentials is true and the user agent is not configured\n // to block cookies for request (see section 7 of [COOKIES]), then run the\n // \"set-cookie-string\" parsing algorithm (see section 5.2 of [COOKIES]) on\n // the value of each header whose name is a byte-case-insensitive match for\n // `Set-Cookie` in response\u2019s header list, if any, and request\u2019s current URL.\n // TODO\n\n // 18. If aborted, then:\n // TODO\n\n // 19. Run these steps in parallel:\n\n // 1. Run these steps, but abort when fetchParams is canceled:\n fetchParams.controller.on('terminated', onAborted)\n fetchParams.controller.resume = async () => {\n // 1. While true\n while (true) {\n // 1-3. See onData...\n\n // 4. Set bytes to the result of handling content codings given\n // codings and bytes.\n let bytes\n let isFailure\n try {\n const { done, value } = await fetchParams.controller.next()\n\n if (isAborted(fetchParams)) {\n break\n }\n\n bytes = done ? undefined : value\n } catch (err) {\n if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {\n // zlib doesn't like empty streams.\n bytes = undefined\n } else {\n bytes = err\n\n // err may be propagated from the result of calling readablestream.cancel,\n // which might not be an error. https://github.com/nodejs/undici/issues/2009\n isFailure = true\n }\n }\n\n if (bytes === undefined) {\n // 2. Otherwise, if the bytes transmission for response\u2019s message\n // body is done normally and stream is readable, then close\n // stream, finalize response for fetchParams and response, and\n // abort these in-parallel steps.\n readableStreamClose(fetchParams.controller.controller)\n\n finalizeResponse(fetchParams, response)\n\n return\n }\n\n // 5. Increase timingInfo\u2019s decoded body size by bytes\u2019s length.\n timingInfo.decodedBodySize += bytes?.byteLength ?? 0\n\n // 6. If bytes is failure, then terminate fetchParams\u2019s controller.\n if (isFailure) {\n fetchParams.controller.terminate(bytes)\n return\n }\n\n // 7. Enqueue a Uint8Array wrapping an ArrayBuffer containing bytes\n // into stream.\n fetchParams.controller.controller.enqueue(new Uint8Array(bytes))\n\n // 8. If stream is errored, then terminate the ongoing fetch.\n if (isErrored(stream)) {\n fetchParams.controller.terminate()\n return\n }\n\n // 9. If stream doesn\u2019t need more data ask the user agent to suspend\n // the ongoing fetch.\n if (!fetchParams.controller.controller.desiredSize) {\n return\n }\n }\n }\n\n // 2. If aborted, then:\n function onAborted (reason) {\n // 2. If fetchParams is aborted, then:\n if (isAborted(fetchParams)) {\n // 1. Set response\u2019s aborted flag.\n response.aborted = true\n\n // 2. If stream is readable, then error stream with the result of\n // deserialize a serialized abort reason given fetchParams\u2019s\n // controller\u2019s serialized abort reason and an\n // implementation-defined realm.\n if (isReadable(stream)) {\n fetchParams.controller.controller.error(\n fetchParams.controller.serializedAbortReason\n )\n }\n } else {\n // 3. Otherwise, if stream is readable, error stream with a TypeError.\n if (isReadable(stream)) {\n fetchParams.controller.controller.error(new TypeError('terminated', {\n cause: isErrorLike(reason) ? reason : undefined\n }))\n }\n }\n\n // 4. If connection uses HTTP/2, then transmit an RST_STREAM frame.\n // 5. Otherwise, the user agent should close connection unless it would be bad for performance to do so.\n fetchParams.controller.connection.destroy()\n }\n\n // 20. Return response.\n return response\n\n async function dispatch ({ body }) {\n const url = requestCurrentURL(request)\n /** @type {import('../..').Agent} */\n const agent = fetchParams.controller.dispatcher\n\n return new Promise((resolve, reject) => agent.dispatch(\n {\n path: url.pathname + url.search,\n origin: url.origin,\n method: request.method,\n body: fetchParams.controller.dispatcher.isMockActive ? request.body && request.body.source : body,\n headers: request.headersList.entries,\n maxRedirections: 0,\n upgrade: request.mode === 'websocket' ? 'websocket' : undefined\n },\n {\n body: null,\n abort: null,\n\n onConnect (abort) {\n // TODO (fix): Do we need connection here?\n const { connection } = fetchParams.controller\n\n if (connection.destroyed) {\n abort(new DOMException('The operation was aborted.', 'AbortError'))\n } else {\n fetchParams.controller.on('terminated', abort)\n this.abort = connection.abort = abort\n }\n },\n\n onHeaders (status, headersList, resume, statusText) {\n if (status < 200) {\n return\n }\n\n let codings = []\n let location = ''\n\n const headers = new Headers()\n for (let n = 0; n < headersList.length; n += 2) {\n const key = headersList[n + 0].toString('latin1')\n const val = headersList[n + 1].toString('latin1')\n\n if (key.toLowerCase() === 'content-encoding') {\n // https://www.rfc-editor.org/rfc/rfc7231#section-3.1.2.1\n // \"All content-coding values are case-insensitive...\"\n codings = val.toLowerCase().split(',').map((x) => x.trim()).reverse()\n } else if (key.toLowerCase() === 'location') {\n location = val\n }\n\n headers.append(key, val)\n }\n\n this.body = new Readable({ read: resume })\n\n const decoders = []\n\n const willFollow = request.redirect === 'follow' &&\n location &&\n redirectStatus.includes(status)\n\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding\n if (request.method !== 'HEAD' && request.method !== 'CONNECT' && !nullBodyStatus.includes(status) && !willFollow) {\n for (const coding of codings) {\n // https://www.rfc-editor.org/rfc/rfc9112.html#section-7.2\n if (coding === 'x-gzip' || coding === 'gzip') {\n decoders.push(zlib.createGunzip({\n // Be less strict when decoding compressed responses, since sometimes\n // servers send slightly invalid responses that are still accepted\n // by common browsers.\n // Always using Z_SYNC_FLUSH is what cURL does.\n flush: zlib.constants.Z_SYNC_FLUSH,\n finishFlush: zlib.constants.Z_SYNC_FLUSH\n }))\n } else if (coding === 'deflate') {\n decoders.push(zlib.createInflate())\n } else if (coding === 'br') {\n decoders.push(zlib.createBrotliDecompress())\n } else {\n decoders.length = 0\n break\n }\n }\n }\n\n resolve({\n status,\n statusText,\n headersList: headers[kHeadersList],\n body: decoders.length\n ? pipeline(this.body, ...decoders, () => { })\n : this.body.on('error', () => {})\n })\n\n return true\n },\n\n onData (chunk) {\n if (fetchParams.controller.dump) {\n return\n }\n\n // 1. If one or more bytes have been transmitted from response\u2019s\n // message body, then:\n\n // 1. Let bytes be the transmitted bytes.\n const bytes = chunk\n\n // 2. Let codings be the result of extracting header list values\n // given `Content-Encoding` and response\u2019s header list.\n // See pullAlgorithm.\n\n // 3. Increase timingInfo\u2019s encoded body size by bytes\u2019s length.\n timingInfo.encodedBodySize += bytes.byteLength\n\n // 4. See pullAlgorithm...\n\n return this.body.push(bytes)\n },\n\n onComplete () {\n if (this.abort) {\n fetchParams.controller.off('terminated', this.abort)\n }\n\n fetchParams.controller.ended = true\n\n this.body.push(null)\n },\n\n onError (error) {\n if (this.abort) {\n fetchParams.controller.off('terminated', this.abort)\n }\n\n this.body?.destroy(error)\n\n fetchParams.controller.terminate(error)\n\n reject(error)\n },\n\n onUpgrade (status, headersList, socket) {\n if (status !== 101) {\n return\n }\n\n const headers = new Headers()\n\n for (let n = 0; n < headersList.length; n += 2) {\n const key = headersList[n + 0].toString('latin1')\n const val = headersList[n + 1].toString('latin1')\n\n headers.append(key, val)\n }\n\n resolve({\n status,\n statusText: STATUS_CODES[status],\n headersList: headers[kHeadersList],\n socket\n })\n\n return true\n }\n }\n ))\n }\n}\n\nmodule.exports = {\n fetch,\n Fetch,\n fetching,\n finalizeAndReportTiming\n}\n", "'use strict'\n\nmodule.exports = {\n kState: Symbol('FileReader state'),\n kResult: Symbol('FileReader result'),\n kError: Symbol('FileReader error'),\n kLastProgressEventFired: Symbol('FileReader last progress event fired timestamp'),\n kEvents: Symbol('FileReader events'),\n kAborted: Symbol('FileReader aborted')\n}\n", "'use strict'\n\nconst { webidl } = require('../fetch/webidl')\n\nconst kState = Symbol('ProgressEvent state')\n\n/**\n * @see https://xhr.spec.whatwg.org/#progressevent\n */\nclass ProgressEvent extends Event {\n constructor (type, eventInitDict = {}) {\n type = webidl.converters.DOMString(type)\n eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {})\n\n super(type, eventInitDict)\n\n this[kState] = {\n lengthComputable: eventInitDict.lengthComputable,\n loaded: eventInitDict.loaded,\n total: eventInitDict.total\n }\n }\n\n get lengthComputable () {\n webidl.brandCheck(this, ProgressEvent)\n\n return this[kState].lengthComputable\n }\n\n get loaded () {\n webidl.brandCheck(this, ProgressEvent)\n\n return this[kState].loaded\n }\n\n get total () {\n webidl.brandCheck(this, ProgressEvent)\n\n return this[kState].total\n }\n}\n\nwebidl.converters.ProgressEventInit = webidl.dictionaryConverter([\n {\n key: 'lengthComputable',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'loaded',\n converter: webidl.converters['unsigned long long'],\n defaultValue: 0\n },\n {\n key: 'total',\n converter: webidl.converters['unsigned long long'],\n defaultValue: 0\n },\n {\n key: 'bubbles',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'cancelable',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'composed',\n converter: webidl.converters.boolean,\n defaultValue: false\n }\n])\n\nmodule.exports = {\n ProgressEvent\n}\n", "'use strict'\n\n/**\n * @see https://encoding.spec.whatwg.org/#concept-encoding-get\n * @param {string|undefined} label\n */\nfunction getEncoding (label) {\n if (!label) {\n return 'failure'\n }\n\n // 1. Remove any leading and trailing ASCII whitespace from label.\n // 2. If label is an ASCII case-insensitive match for any of the\n // labels listed in the table below, then return the\n // corresponding encoding; otherwise return failure.\n switch (label.trim().toLowerCase()) {\n case 'unicode-1-1-utf-8':\n case 'unicode11utf8':\n case 'unicode20utf8':\n case 'utf-8':\n case 'utf8':\n case 'x-unicode20utf8':\n return 'UTF-8'\n case '866':\n case 'cp866':\n case 'csibm866':\n case 'ibm866':\n return 'IBM866'\n case 'csisolatin2':\n case 'iso-8859-2':\n case 'iso-ir-101':\n case 'iso8859-2':\n case 'iso88592':\n case 'iso_8859-2':\n case 'iso_8859-2:1987':\n case 'l2':\n case 'latin2':\n return 'ISO-8859-2'\n case 'csisolatin3':\n case 'iso-8859-3':\n case 'iso-ir-109':\n case 'iso8859-3':\n case 'iso88593':\n case 'iso_8859-3':\n case 'iso_8859-3:1988':\n case 'l3':\n case 'latin3':\n return 'ISO-8859-3'\n case 'csisolatin4':\n case 'iso-8859-4':\n case 'iso-ir-110':\n case 'iso8859-4':\n case 'iso88594':\n case 'iso_8859-4':\n case 'iso_8859-4:1988':\n case 'l4':\n case 'latin4':\n return 'ISO-8859-4'\n case 'csisolatincyrillic':\n case 'cyrillic':\n case 'iso-8859-5':\n case 'iso-ir-144':\n case 'iso8859-5':\n case 'iso88595':\n case 'iso_8859-5':\n case 'iso_8859-5:1988':\n return 'ISO-8859-5'\n case 'arabic':\n case 'asmo-708':\n case 'csiso88596e':\n case 'csiso88596i':\n case 'csisolatinarabic':\n case 'ecma-114':\n case 'iso-8859-6':\n case 'iso-8859-6-e':\n case 'iso-8859-6-i':\n case 'iso-ir-127':\n case 'iso8859-6':\n case 'iso88596':\n case 'iso_8859-6':\n case 'iso_8859-6:1987':\n return 'ISO-8859-6'\n case 'csisolatingreek':\n case 'ecma-118':\n case 'elot_928':\n case 'greek':\n case 'greek8':\n case 'iso-8859-7':\n case 'iso-ir-126':\n case 'iso8859-7':\n case 'iso88597':\n case 'iso_8859-7':\n case 'iso_8859-7:1987':\n case 'sun_eu_greek':\n return 'ISO-8859-7'\n case 'csiso88598e':\n case 'csisolatinhebrew':\n case 'hebrew':\n case 'iso-8859-8':\n case 'iso-8859-8-e':\n case 'iso-ir-138':\n case 'iso8859-8':\n case 'iso88598':\n case 'iso_8859-8':\n case 'iso_8859-8:1988':\n case 'visual':\n return 'ISO-8859-8'\n case 'csiso88598i':\n case 'iso-8859-8-i':\n case 'logical':\n return 'ISO-8859-8-I'\n case 'csisolatin6':\n case 'iso-8859-10':\n case 'iso-ir-157':\n case 'iso8859-10':\n case 'iso885910':\n case 'l6':\n case 'latin6':\n return 'ISO-8859-10'\n case 'iso-8859-13':\n case 'iso8859-13':\n case 'iso885913':\n return 'ISO-8859-13'\n case 'iso-8859-14':\n case 'iso8859-14':\n case 'iso885914':\n return 'ISO-8859-14'\n case 'csisolatin9':\n case 'iso-8859-15':\n case 'iso8859-15':\n case 'iso885915':\n case 'iso_8859-15':\n case 'l9':\n return 'ISO-8859-15'\n case 'iso-8859-16':\n return 'ISO-8859-16'\n case 'cskoi8r':\n case 'koi':\n case 'koi8':\n case 'koi8-r':\n case 'koi8_r':\n return 'KOI8-R'\n case 'koi8-ru':\n case 'koi8-u':\n return 'KOI8-U'\n case 'csmacintosh':\n case 'mac':\n case 'macintosh':\n case 'x-mac-roman':\n return 'macintosh'\n case 'iso-8859-11':\n case 'iso8859-11':\n case 'iso885911':\n case 'tis-620':\n case 'windows-874':\n return 'windows-874'\n case 'cp1250':\n case 'windows-1250':\n case 'x-cp1250':\n return 'windows-1250'\n case 'cp1251':\n case 'windows-1251':\n case 'x-cp1251':\n return 'windows-1251'\n case 'ansi_x3.4-1968':\n case 'ascii':\n case 'cp1252':\n case 'cp819':\n case 'csisolatin1':\n case 'ibm819':\n case 'iso-8859-1':\n case 'iso-ir-100':\n case 'iso8859-1':\n case 'iso88591':\n case 'iso_8859-1':\n case 'iso_8859-1:1987':\n case 'l1':\n case 'latin1':\n case 'us-ascii':\n case 'windows-1252':\n case 'x-cp1252':\n return 'windows-1252'\n case 'cp1253':\n case 'windows-1253':\n case 'x-cp1253':\n return 'windows-1253'\n case 'cp1254':\n case 'csisolatin5':\n case 'iso-8859-9':\n case 'iso-ir-148':\n case 'iso8859-9':\n case 'iso88599':\n case 'iso_8859-9':\n case 'iso_8859-9:1989':\n case 'l5':\n case 'latin5':\n case 'windows-1254':\n case 'x-cp1254':\n return 'windows-1254'\n case 'cp1255':\n case 'windows-1255':\n case 'x-cp1255':\n return 'windows-1255'\n case 'cp1256':\n case 'windows-1256':\n case 'x-cp1256':\n return 'windows-1256'\n case 'cp1257':\n case 'windows-1257':\n case 'x-cp1257':\n return 'windows-1257'\n case 'cp1258':\n case 'windows-1258':\n case 'x-cp1258':\n return 'windows-1258'\n case 'x-mac-cyrillic':\n case 'x-mac-ukrainian':\n return 'x-mac-cyrillic'\n case 'chinese':\n case 'csgb2312':\n case 'csiso58gb231280':\n case 'gb2312':\n case 'gb_2312':\n case 'gb_2312-80':\n case 'gbk':\n case 'iso-ir-58':\n case 'x-gbk':\n return 'GBK'\n case 'gb18030':\n return 'gb18030'\n case 'big5':\n case 'big5-hkscs':\n case 'cn-big5':\n case 'csbig5':\n case 'x-x-big5':\n return 'Big5'\n case 'cseucpkdfmtjapanese':\n case 'euc-jp':\n case 'x-euc-jp':\n return 'EUC-JP'\n case 'csiso2022jp':\n case 'iso-2022-jp':\n return 'ISO-2022-JP'\n case 'csshiftjis':\n case 'ms932':\n case 'ms_kanji':\n case 'shift-jis':\n case 'shift_jis':\n case 'sjis':\n case 'windows-31j':\n case 'x-sjis':\n return 'Shift_JIS'\n case 'cseuckr':\n case 'csksc56011987':\n case 'euc-kr':\n case 'iso-ir-149':\n case 'korean':\n case 'ks_c_5601-1987':\n case 'ks_c_5601-1989':\n case 'ksc5601':\n case 'ksc_5601':\n case 'windows-949':\n return 'EUC-KR'\n case 'csiso2022kr':\n case 'hz-gb-2312':\n case 'iso-2022-cn':\n case 'iso-2022-cn-ext':\n case 'iso-2022-kr':\n case 'replacement':\n return 'replacement'\n case 'unicodefffe':\n case 'utf-16be':\n return 'UTF-16BE'\n case 'csunicode':\n case 'iso-10646-ucs-2':\n case 'ucs-2':\n case 'unicode':\n case 'unicodefeff':\n case 'utf-16':\n case 'utf-16le':\n return 'UTF-16LE'\n case 'x-user-defined':\n return 'x-user-defined'\n default: return 'failure'\n }\n}\n\nmodule.exports = {\n getEncoding\n}\n", "'use strict'\n\nconst {\n kState,\n kError,\n kResult,\n kAborted,\n kLastProgressEventFired\n} = require('./symbols')\nconst { ProgressEvent } = require('./progressevent')\nconst { getEncoding } = require('./encoding')\nconst { DOMException } = require('../fetch/constants')\nconst { serializeAMimeType, parseMIMEType } = require('../fetch/dataURL')\nconst { types } = require('util')\nconst { StringDecoder } = require('string_decoder')\nconst { btoa } = require('buffer')\n\n/** @type {PropertyDescriptor} */\nconst staticPropertyDescriptors = {\n enumerable: true,\n writable: false,\n configurable: false\n}\n\n/**\n * @see https://w3c.github.io/FileAPI/#readOperation\n * @param {import('./filereader').FileReader} fr\n * @param {import('buffer').Blob} blob\n * @param {string} type\n * @param {string?} encodingName\n */\nfunction readOperation (fr, blob, type, encodingName) {\n // 1. If fr\u2019s state is \"loading\", throw an InvalidStateError\n // DOMException.\n if (fr[kState] === 'loading') {\n throw new DOMException('Invalid state', 'InvalidStateError')\n }\n\n // 2. Set fr\u2019s state to \"loading\".\n fr[kState] = 'loading'\n\n // 3. Set fr\u2019s result to null.\n fr[kResult] = null\n\n // 4. Set fr\u2019s error to null.\n fr[kError] = null\n\n // 5. Let stream be the result of calling get stream on blob.\n /** @type {import('stream/web').ReadableStream} */\n const stream = blob.stream()\n\n // 6. Let reader be the result of getting a reader from stream.\n const reader = stream.getReader()\n\n // 7. Let bytes be an empty byte sequence.\n /** @type {Uint8Array[]} */\n const bytes = []\n\n // 8. Let chunkPromise be the result of reading a chunk from\n // stream with reader.\n let chunkPromise = reader.read()\n\n // 9. Let isFirstChunk be true.\n let isFirstChunk = true\n\n // 10. In parallel, while true:\n // Note: \"In parallel\" just means non-blocking\n // Note 2: readOperation itself cannot be async as double\n // reading the body would then reject the promise, instead\n // of throwing an error.\n ;(async () => {\n while (!fr[kAborted]) {\n // 1. Wait for chunkPromise to be fulfilled or rejected.\n try {\n const { done, value } = await chunkPromise\n\n // 2. If chunkPromise is fulfilled, and isFirstChunk is\n // true, queue a task to fire a progress event called\n // loadstart at fr.\n if (isFirstChunk && !fr[kAborted]) {\n queueMicrotask(() => {\n fireAProgressEvent('loadstart', fr)\n })\n }\n\n // 3. Set isFirstChunk to false.\n isFirstChunk = false\n\n // 4. If chunkPromise is fulfilled with an object whose\n // done property is false and whose value property is\n // a Uint8Array object, run these steps:\n if (!done && types.isUint8Array(value)) {\n // 1. Let bs be the byte sequence represented by the\n // Uint8Array object.\n\n // 2. Append bs to bytes.\n bytes.push(value)\n\n // 3. If roughly 50ms have passed since these steps\n // were last invoked, queue a task to fire a\n // progress event called progress at fr.\n if (\n (\n fr[kLastProgressEventFired] === undefined ||\n Date.now() - fr[kLastProgressEventFired] >= 50\n ) &&\n !fr[kAborted]\n ) {\n fr[kLastProgressEventFired] = Date.now()\n queueMicrotask(() => {\n fireAProgressEvent('progress', fr)\n })\n }\n\n // 4. Set chunkPromise to the result of reading a\n // chunk from stream with reader.\n chunkPromise = reader.read()\n } else if (done) {\n // 5. Otherwise, if chunkPromise is fulfilled with an\n // object whose done property is true, queue a task\n // to run the following steps and abort this algorithm:\n queueMicrotask(() => {\n // 1. Set fr\u2019s state to \"done\".\n fr[kState] = 'done'\n\n // 2. Let result be the result of package data given\n // bytes, type, blob\u2019s type, and encodingName.\n try {\n const result = packageData(bytes, type, blob.type, encodingName)\n\n // 4. Else:\n\n if (fr[kAborted]) {\n return\n }\n\n // 1. Set fr\u2019s result to result.\n fr[kResult] = result\n\n // 2. Fire a progress event called load at the fr.\n fireAProgressEvent('load', fr)\n } catch (error) {\n // 3. If package data threw an exception error:\n\n // 1. Set fr\u2019s error to error.\n fr[kError] = error\n\n // 2. Fire a progress event called error at fr.\n fireAProgressEvent('error', fr)\n }\n\n // 5. If fr\u2019s state is not \"loading\", fire a progress\n // event called loadend at the fr.\n if (fr[kState] !== 'loading') {\n fireAProgressEvent('loadend', fr)\n }\n })\n\n break\n }\n } catch (error) {\n if (fr[kAborted]) {\n return\n }\n\n // 6. Otherwise, if chunkPromise is rejected with an\n // error error, queue a task to run the following\n // steps and abort this algorithm:\n queueMicrotask(() => {\n // 1. Set fr\u2019s state to \"done\".\n fr[kState] = 'done'\n\n // 2. Set fr\u2019s error to error.\n fr[kError] = error\n\n // 3. Fire a progress event called error at fr.\n fireAProgressEvent('error', fr)\n\n // 4. If fr\u2019s state is not \"loading\", fire a progress\n // event called loadend at fr.\n if (fr[kState] !== 'loading') {\n fireAProgressEvent('loadend', fr)\n }\n })\n\n break\n }\n }\n })()\n}\n\n/**\n * @see https://w3c.github.io/FileAPI/#fire-a-progress-event\n * @see https://dom.spec.whatwg.org/#concept-event-fire\n * @param {string} e The name of the event\n * @param {import('./filereader').FileReader} reader\n */\nfunction fireAProgressEvent (e, reader) {\n // The progress event e does not bubble. e.bubbles must be false\n // The progress event e is NOT cancelable. e.cancelable must be false\n const event = new ProgressEvent(e, {\n bubbles: false,\n cancelable: false\n })\n\n reader.dispatchEvent(event)\n}\n\n/**\n * @see https://w3c.github.io/FileAPI/#blob-package-data\n * @param {Uint8Array[]} bytes\n * @param {string} type\n * @param {string?} mimeType\n * @param {string?} encodingName\n */\nfunction packageData (bytes, type, mimeType, encodingName) {\n // 1. A Blob has an associated package data algorithm, given\n // bytes, a type, a optional mimeType, and a optional\n // encodingName, which switches on type and runs the\n // associated steps:\n\n switch (type) {\n case 'DataURL': {\n // 1. Return bytes as a DataURL [RFC2397] subject to\n // the considerations below:\n // * Use mimeType as part of the Data URL if it is\n // available in keeping with the Data URL\n // specification [RFC2397].\n // * If mimeType is not available return a Data URL\n // without a media-type. [RFC2397].\n\n // https://datatracker.ietf.org/doc/html/rfc2397#section-3\n // dataurl := \"data:\" [ mediatype ] [ \";base64\" ] \",\" data\n // mediatype := [ type \"/\" subtype ] *( \";\" parameter )\n // data := *urlchar\n // parameter := attribute \"=\" value\n let dataURL = 'data:'\n\n const parsed = parseMIMEType(mimeType || 'application/octet-stream')\n\n if (parsed !== 'failure') {\n dataURL += serializeAMimeType(parsed)\n }\n\n dataURL += ';base64,'\n\n const decoder = new StringDecoder('latin1')\n\n for (const chunk of bytes) {\n dataURL += btoa(decoder.write(chunk))\n }\n\n dataURL += btoa(decoder.end())\n\n return dataURL\n }\n case 'Text': {\n // 1. Let encoding be failure\n let encoding = 'failure'\n\n // 2. If the encodingName is present, set encoding to the\n // result of getting an encoding from encodingName.\n if (encodingName) {\n encoding = getEncoding(encodingName)\n }\n\n // 3. If encoding is failure, and mimeType is present:\n if (encoding === 'failure' && mimeType) {\n // 1. Let type be the result of parse a MIME type\n // given mimeType.\n const type = parseMIMEType(mimeType)\n\n // 2. If type is not failure, set encoding to the result\n // of getting an encoding from type\u2019s parameters[\"charset\"].\n if (type !== 'failure') {\n encoding = getEncoding(type.parameters.get('charset'))\n }\n }\n\n // 4. If encoding is failure, then set encoding to UTF-8.\n if (encoding === 'failure') {\n encoding = 'UTF-8'\n }\n\n // 5. Decode bytes using fallback encoding encoding, and\n // return the result.\n return decode(bytes, encoding)\n }\n case 'ArrayBuffer': {\n // Return a new ArrayBuffer whose contents are bytes.\n const sequence = combineByteSequences(bytes)\n\n return sequence.buffer\n }\n case 'BinaryString': {\n // Return bytes as a binary string, in which every byte\n // is represented by a code unit of equal value [0..255].\n let binaryString = ''\n\n const decoder = new StringDecoder('latin1')\n\n for (const chunk of bytes) {\n binaryString += decoder.write(chunk)\n }\n\n binaryString += decoder.end()\n\n return binaryString\n }\n }\n}\n\n/**\n * @see https://encoding.spec.whatwg.org/#decode\n * @param {Uint8Array[]} ioQueue\n * @param {string} encoding\n */\nfunction decode (ioQueue, encoding) {\n const bytes = combineByteSequences(ioQueue)\n\n // 1. Let BOMEncoding be the result of BOM sniffing ioQueue.\n const BOMEncoding = BOMSniffing(bytes)\n\n let slice = 0\n\n // 2. If BOMEncoding is non-null:\n if (BOMEncoding !== null) {\n // 1. Set encoding to BOMEncoding.\n encoding = BOMEncoding\n\n // 2. Read three bytes from ioQueue, if BOMEncoding is\n // UTF-8; otherwise read two bytes.\n // (Do nothing with those bytes.)\n slice = BOMEncoding === 'UTF-8' ? 3 : 2\n }\n\n // 3. Process a queue with an instance of encoding\u2019s\n // decoder, ioQueue, output, and \"replacement\".\n\n // 4. Return output.\n\n const sliced = bytes.slice(slice)\n return new TextDecoder(encoding).decode(sliced)\n}\n\n/**\n * @see https://encoding.spec.whatwg.org/#bom-sniff\n * @param {Uint8Array} ioQueue\n */\nfunction BOMSniffing (ioQueue) {\n // 1. Let BOM be the result of peeking 3 bytes from ioQueue,\n // converted to a byte sequence.\n const [a, b, c] = ioQueue\n\n // 2. For each of the rows in the table below, starting with\n // the first one and going down, if BOM starts with the\n // bytes given in the first column, then return the\n // encoding given in the cell in the second column of that\n // row. Otherwise, return null.\n if (a === 0xEF && b === 0xBB && c === 0xBF) {\n return 'UTF-8'\n } else if (a === 0xFE && b === 0xFF) {\n return 'UTF-16BE'\n } else if (a === 0xFF && b === 0xFE) {\n return 'UTF-16LE'\n }\n\n return null\n}\n\n/**\n * @param {Uint8Array[]} sequences\n */\nfunction combineByteSequences (sequences) {\n const size = sequences.reduce((a, b) => {\n return a + b.byteLength\n }, 0)\n\n let offset = 0\n\n return sequences.reduce((a, b) => {\n a.set(b, offset)\n offset += b.byteLength\n return a\n }, new Uint8Array(size))\n}\n\nmodule.exports = {\n staticPropertyDescriptors,\n readOperation,\n fireAProgressEvent\n}\n", "'use strict'\n\nconst {\n staticPropertyDescriptors,\n readOperation,\n fireAProgressEvent\n} = require('./util')\nconst {\n kState,\n kError,\n kResult,\n kEvents,\n kAborted\n} = require('./symbols')\nconst { webidl } = require('../fetch/webidl')\nconst { kEnumerableProperty } = require('../core/util')\n\nclass FileReader extends EventTarget {\n constructor () {\n super()\n\n this[kState] = 'empty'\n this[kResult] = null\n this[kError] = null\n this[kEvents] = {\n loadend: null,\n error: null,\n abort: null,\n load: null,\n progress: null,\n loadstart: null\n }\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer\n * @param {import('buffer').Blob} blob\n */\n readAsArrayBuffer (blob) {\n webidl.brandCheck(this, FileReader)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FileReader.readAsArrayBuffer' })\n\n blob = webidl.converters.Blob(blob, { strict: false })\n\n // The readAsArrayBuffer(blob) method, when invoked,\n // must initiate a read operation for blob with ArrayBuffer.\n readOperation(this, blob, 'ArrayBuffer')\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#readAsBinaryString\n * @param {import('buffer').Blob} blob\n */\n readAsBinaryString (blob) {\n webidl.brandCheck(this, FileReader)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FileReader.readAsBinaryString' })\n\n blob = webidl.converters.Blob(blob, { strict: false })\n\n // The readAsBinaryString(blob) method, when invoked,\n // must initiate a read operation for blob with BinaryString.\n readOperation(this, blob, 'BinaryString')\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#readAsDataText\n * @param {import('buffer').Blob} blob\n * @param {string?} encoding\n */\n readAsText (blob, encoding = undefined) {\n webidl.brandCheck(this, FileReader)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FileReader.readAsText' })\n\n blob = webidl.converters.Blob(blob, { strict: false })\n\n if (encoding !== undefined) {\n encoding = webidl.converters.DOMString(encoding)\n }\n\n // The readAsText(blob, encoding) method, when invoked,\n // must initiate a read operation for blob with Text and encoding.\n readOperation(this, blob, 'Text', encoding)\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL\n * @param {import('buffer').Blob} blob\n */\n readAsDataURL (blob) {\n webidl.brandCheck(this, FileReader)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FileReader.readAsDataURL' })\n\n blob = webidl.converters.Blob(blob, { strict: false })\n\n // The readAsDataURL(blob) method, when invoked, must\n // initiate a read operation for blob with DataURL.\n readOperation(this, blob, 'DataURL')\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dfn-abort\n */\n abort () {\n // 1. If this's state is \"empty\" or if this's state is\n // \"done\" set this's result to null and terminate\n // this algorithm.\n if (this[kState] === 'empty' || this[kState] === 'done') {\n this[kResult] = null\n return\n }\n\n // 2. If this's state is \"loading\" set this's state to\n // \"done\" and set this's result to null.\n if (this[kState] === 'loading') {\n this[kState] = 'done'\n this[kResult] = null\n }\n\n // 3. If there are any tasks from this on the file reading\n // task source in an affiliated task queue, then remove\n // those tasks from that task queue.\n this[kAborted] = true\n\n // 4. Terminate the algorithm for the read method being processed.\n // TODO\n\n // 5. Fire a progress event called abort at this.\n fireAProgressEvent('abort', this)\n\n // 6. If this's state is not \"loading\", fire a progress\n // event called loadend at this.\n if (this[kState] !== 'loading') {\n fireAProgressEvent('loadend', this)\n }\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate\n */\n get readyState () {\n webidl.brandCheck(this, FileReader)\n\n switch (this[kState]) {\n case 'empty': return this.EMPTY\n case 'loading': return this.LOADING\n case 'done': return this.DONE\n }\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dom-filereader-result\n */\n get result () {\n webidl.brandCheck(this, FileReader)\n\n // The result attribute\u2019s getter, when invoked, must return\n // this's result.\n return this[kResult]\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dom-filereader-error\n */\n get error () {\n webidl.brandCheck(this, FileReader)\n\n // The error attribute\u2019s getter, when invoked, must return\n // this's error.\n return this[kError]\n }\n\n get onloadend () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].loadend\n }\n\n set onloadend (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].loadend) {\n this.removeEventListener('loadend', this[kEvents].loadend)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].loadend = fn\n this.addEventListener('loadend', fn)\n } else {\n this[kEvents].loadend = null\n }\n }\n\n get onerror () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].error\n }\n\n set onerror (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].error) {\n this.removeEventListener('error', this[kEvents].error)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].error = fn\n this.addEventListener('error', fn)\n } else {\n this[kEvents].error = null\n }\n }\n\n get onloadstart () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].loadstart\n }\n\n set onloadstart (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].loadstart) {\n this.removeEventListener('loadstart', this[kEvents].loadstart)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].loadstart = fn\n this.addEventListener('loadstart', fn)\n } else {\n this[kEvents].loadstart = null\n }\n }\n\n get onprogress () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].progress\n }\n\n set onprogress (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].progress) {\n this.removeEventListener('progress', this[kEvents].progress)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].progress = fn\n this.addEventListener('progress', fn)\n } else {\n this[kEvents].progress = null\n }\n }\n\n get onload () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].load\n }\n\n set onload (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].load) {\n this.removeEventListener('load', this[kEvents].load)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].load = fn\n this.addEventListener('load', fn)\n } else {\n this[kEvents].load = null\n }\n }\n\n get onabort () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].abort\n }\n\n set onabort (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].abort) {\n this.removeEventListener('abort', this[kEvents].abort)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].abort = fn\n this.addEventListener('abort', fn)\n } else {\n this[kEvents].abort = null\n }\n }\n}\n\n// https://w3c.github.io/FileAPI/#dom-filereader-empty\nFileReader.EMPTY = FileReader.prototype.EMPTY = 0\n// https://w3c.github.io/FileAPI/#dom-filereader-loading\nFileReader.LOADING = FileReader.prototype.LOADING = 1\n// https://w3c.github.io/FileAPI/#dom-filereader-done\nFileReader.DONE = FileReader.prototype.DONE = 2\n\nObject.defineProperties(FileReader.prototype, {\n EMPTY: staticPropertyDescriptors,\n LOADING: staticPropertyDescriptors,\n DONE: staticPropertyDescriptors,\n readAsArrayBuffer: kEnumerableProperty,\n readAsBinaryString: kEnumerableProperty,\n readAsText: kEnumerableProperty,\n readAsDataURL: kEnumerableProperty,\n abort: kEnumerableProperty,\n readyState: kEnumerableProperty,\n result: kEnumerableProperty,\n error: kEnumerableProperty,\n onloadstart: kEnumerableProperty,\n onprogress: kEnumerableProperty,\n onload: kEnumerableProperty,\n onabort: kEnumerableProperty,\n onerror: kEnumerableProperty,\n onloadend: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: 'FileReader',\n writable: false,\n enumerable: false,\n configurable: true\n }\n})\n\nObject.defineProperties(FileReader, {\n EMPTY: staticPropertyDescriptors,\n LOADING: staticPropertyDescriptors,\n DONE: staticPropertyDescriptors\n})\n\nmodule.exports = {\n FileReader\n}\n", "'use strict'\n\nmodule.exports = {\n kConstruct: Symbol('constructable')\n}\n", "'use strict'\n\nconst assert = require('assert')\nconst { URLSerializer } = require('../fetch/dataURL')\nconst { isValidHeaderName } = require('../fetch/util')\n\n/**\n * @see https://url.spec.whatwg.org/#concept-url-equals\n * @param {URL} A\n * @param {URL} B\n * @param {boolean | undefined} excludeFragment\n * @returns {boolean}\n */\nfunction urlEquals (A, B, excludeFragment = false) {\n const serializedA = URLSerializer(A, excludeFragment)\n\n const serializedB = URLSerializer(B, excludeFragment)\n\n return serializedA === serializedB\n}\n\n/**\n * @see https://github.com/chromium/chromium/blob/694d20d134cb553d8d89e5500b9148012b1ba299/content/browser/cache_storage/cache_storage_cache.cc#L260-L262\n * @param {string} header\n */\nfunction fieldValues (header) {\n assert(header !== null)\n\n const values = []\n\n for (let value of header.split(',')) {\n value = value.trim()\n\n if (!value.length) {\n continue\n } else if (!isValidHeaderName(value)) {\n continue\n }\n\n values.push(value)\n }\n\n return values\n}\n\nmodule.exports = {\n urlEquals,\n fieldValues\n}\n", "'use strict'\n\nconst { kConstruct } = require('./symbols')\nconst { urlEquals, fieldValues: getFieldValues } = require('./util')\nconst { kEnumerableProperty, isDisturbed } = require('../core/util')\nconst { kHeadersList } = require('../core/symbols')\nconst { webidl } = require('../fetch/webidl')\nconst { Response, cloneResponse } = require('../fetch/response')\nconst { Request } = require('../fetch/request')\nconst { kState, kHeaders, kGuard, kRealm } = require('../fetch/symbols')\nconst { fetching } = require('../fetch/index')\nconst { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require('../fetch/util')\nconst assert = require('assert')\nconst { getGlobalDispatcher } = require('../global')\n\n/**\n * @see https://w3c.github.io/ServiceWorker/#dfn-cache-batch-operation\n * @typedef {Object} CacheBatchOperation\n * @property {'delete' | 'put'} type\n * @property {any} request\n * @property {any} response\n * @property {import('../../types/cache').CacheQueryOptions} options\n */\n\n/**\n * @see https://w3c.github.io/ServiceWorker/#dfn-request-response-list\n * @typedef {[any, any][]} requestResponseList\n */\n\nclass Cache {\n /**\n * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list\n * @type {requestResponseList}\n */\n #relevantRequestResponseList\n\n constructor () {\n if (arguments[0] !== kConstruct) {\n webidl.illegalConstructor()\n }\n\n this.#relevantRequestResponseList = arguments[1]\n }\n\n async match (request, options = {}) {\n webidl.brandCheck(this, Cache)\n webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.match' })\n\n request = webidl.converters.RequestInfo(request)\n options = webidl.converters.CacheQueryOptions(options)\n\n const p = await this.matchAll(request, options)\n\n if (p.length === 0) {\n return\n }\n\n return p[0]\n }\n\n async matchAll (request = undefined, options = {}) {\n webidl.brandCheck(this, Cache)\n\n if (request !== undefined) request = webidl.converters.RequestInfo(request)\n options = webidl.converters.CacheQueryOptions(options)\n\n // 1.\n let r = null\n\n // 2.\n if (request !== undefined) {\n if (request instanceof Request) {\n // 2.1.1\n r = request[kState]\n\n // 2.1.2\n if (r.method !== 'GET' && !options.ignoreMethod) {\n return []\n }\n } else if (typeof request === 'string') {\n // 2.2.1\n r = new Request(request)[kState]\n }\n }\n\n // 5.\n // 5.1\n const responses = []\n\n // 5.2\n if (request === undefined) {\n // 5.2.1\n for (const requestResponse of this.#relevantRequestResponseList) {\n responses.push(requestResponse[1])\n }\n } else { // 5.3\n // 5.3.1\n const requestResponses = this.#queryCache(r, options)\n\n // 5.3.2\n for (const requestResponse of requestResponses) {\n responses.push(requestResponse[1])\n }\n }\n\n // 5.4\n // We don't implement CORs so we don't need to loop over the responses, yay!\n\n // 5.5.1\n const responseList = []\n\n // 5.5.2\n for (const response of responses) {\n // 5.5.2.1\n const responseObject = new Response(response.body?.source ?? null)\n const body = responseObject[kState].body\n responseObject[kState] = response\n responseObject[kState].body = body\n responseObject[kHeaders][kHeadersList] = response.headersList\n responseObject[kHeaders][kGuard] = 'immutable'\n\n responseList.push(responseObject)\n }\n\n // 6.\n return Object.freeze(responseList)\n }\n\n async add (request) {\n webidl.brandCheck(this, Cache)\n webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.add' })\n\n request = webidl.converters.RequestInfo(request)\n\n // 1.\n const requests = [request]\n\n // 2.\n const responseArrayPromise = this.addAll(requests)\n\n // 3.\n return await responseArrayPromise\n }\n\n async addAll (requests) {\n webidl.brandCheck(this, Cache)\n webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.addAll' })\n\n requests = webidl.converters['sequence<RequestInfo>'](requests)\n\n // 1.\n const responsePromises = []\n\n // 2.\n const requestList = []\n\n // 3.\n for (const request of requests) {\n if (typeof request === 'string') {\n continue\n }\n\n // 3.1\n const r = request[kState]\n\n // 3.2\n if (!urlIsHttpHttpsScheme(r.url) || r.method !== 'GET') {\n throw webidl.errors.exception({\n header: 'Cache.addAll',\n message: 'Expected http/s scheme when method is not GET.'\n })\n }\n }\n\n // 4.\n /** @type {ReturnType<typeof fetching>[]} */\n const fetchControllers = []\n\n // 5.\n for (const request of requests) {\n // 5.1\n const r = new Request(request)[kState]\n\n // 5.2\n if (!urlIsHttpHttpsScheme(r.url)) {\n throw webidl.errors.exception({\n header: 'Cache.addAll',\n message: 'Expected http/s scheme.'\n })\n }\n\n // 5.4\n r.initiator = 'fetch'\n r.destination = 'subresource'\n\n // 5.5\n requestList.push(r)\n\n // 5.6\n const responsePromise = createDeferredPromise()\n\n // 5.7\n fetchControllers.push(fetching({\n request: r,\n dispatcher: getGlobalDispatcher(),\n processResponse (response) {\n // 1.\n if (response.type === 'error' || response.status === 206 || response.status < 200 || response.status > 299) {\n responsePromise.reject(webidl.errors.exception({\n header: 'Cache.addAll',\n message: 'Received an invalid status code or the request failed.'\n }))\n } else if (response.headersList.contains('vary')) { // 2.\n // 2.1\n const fieldValues = getFieldValues(response.headersList.get('vary'))\n\n // 2.2\n for (const fieldValue of fieldValues) {\n // 2.2.1\n if (fieldValue === '*') {\n responsePromise.reject(webidl.errors.exception({\n header: 'Cache.addAll',\n message: 'invalid vary field value'\n }))\n\n for (const controller of fetchControllers) {\n controller.abort()\n }\n\n return\n }\n }\n }\n },\n processResponseEndOfBody (response) {\n // 1.\n if (response.aborted) {\n responsePromise.reject(new DOMException('aborted', 'AbortError'))\n return\n }\n\n // 2.\n responsePromise.resolve(response)\n }\n }))\n\n // 5.8\n responsePromises.push(responsePromise.promise)\n }\n\n // 6.\n const p = Promise.all(responsePromises)\n\n // 7.\n const responses = await p\n\n // 7.1\n const operations = []\n\n // 7.2\n let index = 0\n\n // 7.3\n for (const response of responses) {\n // 7.3.1\n /** @type {CacheBatchOperation} */\n const operation = {\n type: 'put', // 7.3.2\n request: requestList[index], // 7.3.3\n response // 7.3.4\n }\n\n operations.push(operation) // 7.3.5\n\n index++ // 7.3.6\n }\n\n // 7.5\n const cacheJobPromise = createDeferredPromise()\n\n // 7.6.1\n let errorData = null\n\n // 7.6.2\n try {\n this.#batchCacheOperations(operations)\n } catch (e) {\n errorData = e\n }\n\n // 7.6.3\n queueMicrotask(() => {\n // 7.6.3.1\n if (errorData === null) {\n cacheJobPromise.resolve(undefined)\n } else {\n // 7.6.3.2\n cacheJobPromise.reject(errorData)\n }\n })\n\n // 7.7\n return cacheJobPromise.promise\n }\n\n async put (request, response) {\n webidl.brandCheck(this, Cache)\n webidl.argumentLengthCheck(arguments, 2, { header: 'Cache.put' })\n\n request = webidl.converters.RequestInfo(request)\n response = webidl.converters.Response(response)\n\n // 1.\n let innerRequest = null\n\n // 2.\n if (request instanceof Request) {\n innerRequest = request[kState]\n } else { // 3.\n innerRequest = new Request(request)[kState]\n }\n\n // 4.\n if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== 'GET') {\n throw webidl.errors.exception({\n header: 'Cache.put',\n message: 'Expected an http/s scheme when method is not GET'\n })\n }\n\n // 5.\n const innerResponse = response[kState]\n\n // 6.\n if (innerResponse.status === 206) {\n throw webidl.errors.exception({\n header: 'Cache.put',\n message: 'Got 206 status'\n })\n }\n\n // 7.\n if (innerResponse.headersList.contains('vary')) {\n // 7.1.\n const fieldValues = getFieldValues(innerResponse.headersList.get('vary'))\n\n // 7.2.\n for (const fieldValue of fieldValues) {\n // 7.2.1\n if (fieldValue === '*') {\n throw webidl.errors.exception({\n header: 'Cache.put',\n message: 'Got * vary field value'\n })\n }\n }\n }\n\n // 8.\n if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {\n throw webidl.errors.exception({\n header: 'Cache.put',\n message: 'Response body is locked or disturbed'\n })\n }\n\n // 9.\n const clonedResponse = cloneResponse(innerResponse)\n\n // 10.\n const bodyReadPromise = createDeferredPromise()\n\n // 11.\n if (innerResponse.body != null) {\n // 11.1\n const stream = innerResponse.body.stream\n\n // 11.2\n const reader = stream.getReader()\n\n // 11.3\n readAllBytes(\n reader,\n (bytes) => bodyReadPromise.resolve(bytes),\n (error) => bodyReadPromise.reject(error)\n )\n } else {\n bodyReadPromise.resolve(undefined)\n }\n\n // 12.\n /** @type {CacheBatchOperation[]} */\n const operations = []\n\n // 13.\n /** @type {CacheBatchOperation} */\n const operation = {\n type: 'put', // 14.\n request: innerRequest, // 15.\n response: clonedResponse // 16.\n }\n\n // 17.\n operations.push(operation)\n\n // 19.\n const bytes = await bodyReadPromise.promise\n\n if (clonedResponse.body != null) {\n clonedResponse.body.source = bytes\n }\n\n // 19.1\n const cacheJobPromise = createDeferredPromise()\n\n // 19.2.1\n let errorData = null\n\n // 19.2.2\n try {\n this.#batchCacheOperations(operations)\n } catch (e) {\n errorData = e\n }\n\n // 19.2.3\n queueMicrotask(() => {\n // 19.2.3.1\n if (errorData === null) {\n cacheJobPromise.resolve()\n } else { // 19.2.3.2\n cacheJobPromise.reject(errorData)\n }\n })\n\n return cacheJobPromise.promise\n }\n\n async delete (request, options = {}) {\n webidl.brandCheck(this, Cache)\n webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.delete' })\n\n request = webidl.converters.RequestInfo(request)\n options = webidl.converters.CacheQueryOptions(options)\n\n /**\n * @type {Request}\n */\n let r = null\n\n if (request instanceof Request) {\n r = request[kState]\n\n if (r.method !== 'GET' && !options.ignoreMethod) {\n return false\n }\n } else {\n assert(typeof request === 'string')\n\n r = new Request(request)[kState]\n }\n\n /** @type {CacheBatchOperation[]} */\n const operations = []\n\n /** @type {CacheBatchOperation} */\n const operation = {\n type: 'delete',\n request: r,\n options\n }\n\n operations.push(operation)\n\n const cacheJobPromise = createDeferredPromise()\n\n let errorData = null\n let requestResponses\n\n try {\n requestResponses = this.#batchCacheOperations(operations)\n } catch (e) {\n errorData = e\n }\n\n queueMicrotask(() => {\n if (errorData === null) {\n cacheJobPromise.resolve(!!requestResponses?.length)\n } else {\n cacheJobPromise.reject(errorData)\n }\n })\n\n return cacheJobPromise.promise\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys\n * @param {any} request\n * @param {import('../../types/cache').CacheQueryOptions} options\n * @returns {readonly Request[]}\n */\n async keys (request = undefined, options = {}) {\n webidl.brandCheck(this, Cache)\n\n if (request !== undefined) request = webidl.converters.RequestInfo(request)\n options = webidl.converters.CacheQueryOptions(options)\n\n // 1.\n let r = null\n\n // 2.\n if (request !== undefined) {\n // 2.1\n if (request instanceof Request) {\n // 2.1.1\n r = request[kState]\n\n // 2.1.2\n if (r.method !== 'GET' && !options.ignoreMethod) {\n return []\n }\n } else if (typeof request === 'string') { // 2.2\n r = new Request(request)[kState]\n }\n }\n\n // 4.\n const promise = createDeferredPromise()\n\n // 5.\n // 5.1\n const requests = []\n\n // 5.2\n if (request === undefined) {\n // 5.2.1\n for (const requestResponse of this.#relevantRequestResponseList) {\n // 5.2.1.1\n requests.push(requestResponse[0])\n }\n } else { // 5.3\n // 5.3.1\n const requestResponses = this.#queryCache(r, options)\n\n // 5.3.2\n for (const requestResponse of requestResponses) {\n // 5.3.2.1\n requests.push(requestResponse[0])\n }\n }\n\n // 5.4\n queueMicrotask(() => {\n // 5.4.1\n const requestList = []\n\n // 5.4.2\n for (const request of requests) {\n const requestObject = new Request('https://a')\n requestObject[kState] = request\n requestObject[kHeaders][kHeadersList] = request.headersList\n requestObject[kHeaders][kGuard] = 'immutable'\n requestObject[kRealm] = request.client\n\n // 5.4.2.1\n requestList.push(requestObject)\n }\n\n // 5.4.3\n promise.resolve(Object.freeze(requestList))\n })\n\n return promise.promise\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm\n * @param {CacheBatchOperation[]} operations\n * @returns {requestResponseList}\n */\n #batchCacheOperations (operations) {\n // 1.\n const cache = this.#relevantRequestResponseList\n\n // 2.\n const backupCache = [...cache]\n\n // 3.\n const addedItems = []\n\n // 4.1\n const resultList = []\n\n try {\n // 4.2\n for (const operation of operations) {\n // 4.2.1\n if (operation.type !== 'delete' && operation.type !== 'put') {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'operation type does not match \"delete\" or \"put\"'\n })\n }\n\n // 4.2.2\n if (operation.type === 'delete' && operation.response != null) {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'delete operation should not have an associated response'\n })\n }\n\n // 4.2.3\n if (this.#queryCache(operation.request, operation.options, addedItems).length) {\n throw new DOMException('???', 'InvalidStateError')\n }\n\n // 4.2.4\n let requestResponses\n\n // 4.2.5\n if (operation.type === 'delete') {\n // 4.2.5.1\n requestResponses = this.#queryCache(operation.request, operation.options)\n\n // TODO: the spec is wrong, this is needed to pass WPTs\n if (requestResponses.length === 0) {\n return []\n }\n\n // 4.2.5.2\n for (const requestResponse of requestResponses) {\n const idx = cache.indexOf(requestResponse)\n assert(idx !== -1)\n\n // 4.2.5.2.1\n cache.splice(idx, 1)\n }\n } else if (operation.type === 'put') { // 4.2.6\n // 4.2.6.1\n if (operation.response == null) {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'put operation should have an associated response'\n })\n }\n\n // 4.2.6.2\n const r = operation.request\n\n // 4.2.6.3\n if (!urlIsHttpHttpsScheme(r.url)) {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'expected http or https scheme'\n })\n }\n\n // 4.2.6.4\n if (r.method !== 'GET') {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'not get method'\n })\n }\n\n // 4.2.6.5\n if (operation.options != null) {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'options must not be defined'\n })\n }\n\n // 4.2.6.6\n requestResponses = this.#queryCache(operation.request)\n\n // 4.2.6.7\n for (const requestResponse of requestResponses) {\n const idx = cache.indexOf(requestResponse)\n assert(idx !== -1)\n\n // 4.2.6.7.1\n cache.splice(idx, 1)\n }\n\n // 4.2.6.8\n cache.push([operation.request, operation.response])\n\n // 4.2.6.10\n addedItems.push([operation.request, operation.response])\n }\n\n // 4.2.7\n resultList.push([operation.request, operation.response])\n }\n\n // 4.3\n return resultList\n } catch (e) { // 5.\n // 5.1\n this.#relevantRequestResponseList.length = 0\n\n // 5.2\n this.#relevantRequestResponseList = backupCache\n\n // 5.3\n throw e\n }\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#query-cache\n * @param {any} requestQuery\n * @param {import('../../types/cache').CacheQueryOptions} options\n * @param {requestResponseList} targetStorage\n * @returns {requestResponseList}\n */\n #queryCache (requestQuery, options, targetStorage) {\n /** @type {requestResponseList} */\n const resultList = []\n\n const storage = targetStorage ?? this.#relevantRequestResponseList\n\n for (const requestResponse of storage) {\n const [cachedRequest, cachedResponse] = requestResponse\n if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {\n resultList.push(requestResponse)\n }\n }\n\n return resultList\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm\n * @param {any} requestQuery\n * @param {any} request\n * @param {any | null} response\n * @param {import('../../types/cache').CacheQueryOptions | undefined} options\n * @returns {boolean}\n */\n #requestMatchesCachedItem (requestQuery, request, response = null, options) {\n // if (options?.ignoreMethod === false && request.method === 'GET') {\n // return false\n // }\n\n const queryURL = new URL(requestQuery.url)\n\n const cachedURL = new URL(request.url)\n\n if (options?.ignoreSearch) {\n cachedURL.search = ''\n\n queryURL.search = ''\n }\n\n if (!urlEquals(queryURL, cachedURL, true)) {\n return false\n }\n\n if (\n response == null ||\n options?.ignoreVary ||\n !response.headersList.contains('vary')\n ) {\n return true\n }\n\n const fieldValues = getFieldValues(response.headersList.get('vary'))\n\n for (const fieldValue of fieldValues) {\n if (fieldValue === '*') {\n return false\n }\n\n const requestValue = request.headersList.get(fieldValue)\n const queryValue = requestQuery.headersList.get(fieldValue)\n\n // If one has the header and the other doesn't, or one has\n // a different value than the other, return false\n if (requestValue !== queryValue) {\n return false\n }\n }\n\n return true\n }\n}\n\nObject.defineProperties(Cache.prototype, {\n [Symbol.toStringTag]: {\n value: 'Cache',\n configurable: true\n },\n match: kEnumerableProperty,\n matchAll: kEnumerableProperty,\n add: kEnumerableProperty,\n addAll: kEnumerableProperty,\n put: kEnumerableProperty,\n delete: kEnumerableProperty,\n keys: kEnumerableProperty\n})\n\nconst cacheQueryOptionConverters = [\n {\n key: 'ignoreSearch',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'ignoreMethod',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'ignoreVary',\n converter: webidl.converters.boolean,\n defaultValue: false\n }\n]\n\nwebidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters)\n\nwebidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([\n ...cacheQueryOptionConverters,\n {\n key: 'cacheName',\n converter: webidl.converters.DOMString\n }\n])\n\nwebidl.converters.Response = webidl.interfaceConverter(Response)\n\nwebidl.converters['sequence<RequestInfo>'] = webidl.sequenceConverter(\n webidl.converters.RequestInfo\n)\n\nmodule.exports = {\n Cache\n}\n", "'use strict'\n\nconst { kConstruct } = require('./symbols')\nconst { Cache } = require('./cache')\nconst { webidl } = require('../fetch/webidl')\nconst { kEnumerableProperty } = require('../core/util')\n\nclass CacheStorage {\n /**\n * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map\n * @type {Map<string, import('./cache').requestResponseList}\n */\n #caches = new Map()\n\n constructor () {\n if (arguments[0] !== kConstruct) {\n webidl.illegalConstructor()\n }\n }\n\n async match (request, options = {}) {\n webidl.brandCheck(this, CacheStorage)\n webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.match' })\n\n request = webidl.converters.RequestInfo(request)\n options = webidl.converters.MultiCacheQueryOptions(options)\n\n // 1.\n if (options.cacheName != null) {\n // 1.1.1.1\n if (this.#caches.has(options.cacheName)) {\n // 1.1.1.1.1\n const cacheList = this.#caches.get(options.cacheName)\n const cache = new Cache(kConstruct, cacheList)\n\n return await cache.match(request, options)\n }\n } else { // 2.\n // 2.2\n for (const cacheList of this.#caches.values()) {\n const cache = new Cache(kConstruct, cacheList)\n\n // 2.2.1.2\n const response = await cache.match(request, options)\n\n if (response !== undefined) {\n return response\n }\n }\n }\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#cache-storage-has\n * @param {string} cacheName\n * @returns {Promise<boolean>}\n */\n async has (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.has' })\n\n cacheName = webidl.converters.DOMString(cacheName)\n\n // 2.1.1\n // 2.2\n return this.#caches.has(cacheName)\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open\n * @param {string} cacheName\n * @returns {Promise<Cache>}\n */\n async open (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.open' })\n\n cacheName = webidl.converters.DOMString(cacheName)\n\n // 2.1\n if (this.#caches.has(cacheName)) {\n // await caches.open('v1') !== await caches.open('v1')\n\n // 2.1.1\n const cache = this.#caches.get(cacheName)\n\n // 2.1.1.1\n return new Cache(kConstruct, cache)\n }\n\n // 2.2\n const cache = []\n\n // 2.3\n this.#caches.set(cacheName, cache)\n\n // 2.4\n return new Cache(kConstruct, cache)\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete\n * @param {string} cacheName\n * @returns {Promise<boolean>}\n */\n async delete (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.delete' })\n\n cacheName = webidl.converters.DOMString(cacheName)\n\n return this.#caches.delete(cacheName)\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys\n * @returns {string[]}\n */\n async keys () {\n webidl.brandCheck(this, CacheStorage)\n\n // 2.1\n const keys = this.#caches.keys()\n\n // 2.2\n return [...keys]\n }\n}\n\nObject.defineProperties(CacheStorage.prototype, {\n [Symbol.toStringTag]: {\n value: 'CacheStorage',\n configurable: true\n },\n match: kEnumerableProperty,\n has: kEnumerableProperty,\n open: kEnumerableProperty,\n delete: kEnumerableProperty,\n keys: kEnumerableProperty\n})\n\nmodule.exports = {\n CacheStorage\n}\n", "'use strict'\n\n// https://wicg.github.io/cookie-store/#cookie-maximum-attribute-value-size\nconst maxAttributeValueSize = 1024\n\n// https://wicg.github.io/cookie-store/#cookie-maximum-name-value-pair-size\nconst maxNameValuePairSize = 4096\n\nmodule.exports = {\n maxAttributeValueSize,\n maxNameValuePairSize\n}\n", "'use strict'\n\nconst assert = require('assert')\nconst { kHeadersList } = require('../core/symbols')\n\nfunction isCTLExcludingHtab (value) {\n if (value.length === 0) {\n return false\n }\n\n for (const char of value) {\n const code = char.charCodeAt(0)\n\n if (\n (code >= 0x00 || code <= 0x08) ||\n (code >= 0x0A || code <= 0x1F) ||\n code === 0x7F\n ) {\n return false\n }\n }\n}\n\n/**\n CHAR = <any US-ASCII character (octets 0 - 127)>\n token = 1*<any CHAR except CTLs or separators>\n separators = \"(\" | \")\" | \"<\" | \">\" | \"@\"\n | \",\" | \";\" | \":\" | \"\\\" | <\">\n | \"/\" | \"[\" | \"]\" | \"?\" | \"=\"\n | \"{\" | \"}\" | SP | HT\n * @param {string} name\n */\nfunction validateCookieName (name) {\n for (const char of name) {\n const code = char.charCodeAt(0)\n\n if (\n (code <= 0x20 || code > 0x7F) ||\n char === '(' ||\n char === ')' ||\n char === '>' ||\n char === '<' ||\n char === '@' ||\n char === ',' ||\n char === ';' ||\n char === ':' ||\n char === '\\\\' ||\n char === '\"' ||\n char === '/' ||\n char === '[' ||\n char === ']' ||\n char === '?' ||\n char === '=' ||\n char === '{' ||\n char === '}'\n ) {\n throw new Error('Invalid cookie name')\n }\n }\n}\n\n/**\n cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )\n cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E\n ; US-ASCII characters excluding CTLs,\n ; whitespace DQUOTE, comma, semicolon,\n ; and backslash\n * @param {string} value\n */\nfunction validateCookieValue (value) {\n for (const char of value) {\n const code = char.charCodeAt(0)\n\n if (\n code < 0x21 || // exclude CTLs (0-31)\n code === 0x22 ||\n code === 0x2C ||\n code === 0x3B ||\n code === 0x5C ||\n code > 0x7E // non-ascii\n ) {\n throw new Error('Invalid header value')\n }\n }\n}\n\n/**\n * path-value = <any CHAR except CTLs or \";\">\n * @param {string} path\n */\nfunction validateCookiePath (path) {\n for (const char of path) {\n const code = char.charCodeAt(0)\n\n if (code < 0x21 || char === ';') {\n throw new Error('Invalid cookie path')\n }\n }\n}\n\n/**\n * I have no idea why these values aren't allowed to be honest,\n * but Deno tests these. - Khafra\n * @param {string} domain\n */\nfunction validateCookieDomain (domain) {\n if (\n domain.startsWith('-') ||\n domain.endsWith('.') ||\n domain.endsWith('-')\n ) {\n throw new Error('Invalid cookie domain')\n }\n}\n\n/**\n * @see https://www.rfc-editor.org/rfc/rfc7231#section-7.1.1.1\n * @param {number|Date} date\n IMF-fixdate = day-name \",\" SP date1 SP time-of-day SP GMT\n ; fixed length/zone/capitalization subset of the format\n ; see Section 3.3 of [RFC5322]\n\n day-name = %x4D.6F.6E ; \"Mon\", case-sensitive\n / %x54.75.65 ; \"Tue\", case-sensitive\n / %x57.65.64 ; \"Wed\", case-sensitive\n / %x54.68.75 ; \"Thu\", case-sensitive\n / %x46.72.69 ; \"Fri\", case-sensitive\n / %x53.61.74 ; \"Sat\", case-sensitive\n / %x53.75.6E ; \"Sun\", case-sensitive\n date1 = day SP month SP year\n ; e.g., 02 Jun 1982\n\n day = 2DIGIT\n month = %x4A.61.6E ; \"Jan\", case-sensitive\n / %x46.65.62 ; \"Feb\", case-sensitive\n / %x4D.61.72 ; \"Mar\", case-sensitive\n / %x41.70.72 ; \"Apr\", case-sensitive\n / %x4D.61.79 ; \"May\", case-sensitive\n / %x4A.75.6E ; \"Jun\", case-sensitive\n / %x4A.75.6C ; \"Jul\", case-sensitive\n / %x41.75.67 ; \"Aug\", case-sensitive\n / %x53.65.70 ; \"Sep\", case-sensitive\n / %x4F.63.74 ; \"Oct\", case-sensitive\n / %x4E.6F.76 ; \"Nov\", case-sensitive\n / %x44.65.63 ; \"Dec\", case-sensitive\n year = 4DIGIT\n\n GMT = %x47.4D.54 ; \"GMT\", case-sensitive\n\n time-of-day = hour \":\" minute \":\" second\n ; 00:00:00 - 23:59:60 (leap second)\n\n hour = 2DIGIT\n minute = 2DIGIT\n second = 2DIGIT\n */\nfunction toIMFDate (date) {\n if (typeof date === 'number') {\n date = new Date(date)\n }\n\n const days = [\n 'Sun', 'Mon', 'Tue', 'Wed',\n 'Thu', 'Fri', 'Sat'\n ]\n\n const months = [\n 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',\n 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'\n ]\n\n const dayName = days[date.getUTCDay()]\n const day = date.getUTCDate().toString().padStart(2, '0')\n const month = months[date.getUTCMonth()]\n const year = date.getUTCFullYear()\n const hour = date.getUTCHours().toString().padStart(2, '0')\n const minute = date.getUTCMinutes().toString().padStart(2, '0')\n const second = date.getUTCSeconds().toString().padStart(2, '0')\n\n return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`\n}\n\n/**\n max-age-av = \"Max-Age=\" non-zero-digit *DIGIT\n ; In practice, both expires-av and max-age-av\n ; are limited to dates representable by the\n ; user agent.\n * @param {number} maxAge\n */\nfunction validateCookieMaxAge (maxAge) {\n if (maxAge < 0) {\n throw new Error('Invalid cookie max-age')\n }\n}\n\n/**\n * @see https://www.rfc-editor.org/rfc/rfc6265#section-4.1.1\n * @param {import('./index').Cookie} cookie\n */\nfunction stringify (cookie) {\n if (cookie.name.length === 0) {\n return null\n }\n\n validateCookieName(cookie.name)\n validateCookieValue(cookie.value)\n\n const out = [`${cookie.name}=${cookie.value}`]\n\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-cookie-prefixes-00#section-3.1\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-cookie-prefixes-00#section-3.2\n if (cookie.name.startsWith('__Secure-')) {\n cookie.secure = true\n }\n\n if (cookie.name.startsWith('__Host-')) {\n cookie.secure = true\n cookie.domain = null\n cookie.path = '/'\n }\n\n if (cookie.secure) {\n out.push('Secure')\n }\n\n if (cookie.httpOnly) {\n out.push('HttpOnly')\n }\n\n if (typeof cookie.maxAge === 'number') {\n validateCookieMaxAge(cookie.maxAge)\n out.push(`Max-Age=${cookie.maxAge}`)\n }\n\n if (cookie.domain) {\n validateCookieDomain(cookie.domain)\n out.push(`Domain=${cookie.domain}`)\n }\n\n if (cookie.path) {\n validateCookiePath(cookie.path)\n out.push(`Path=${cookie.path}`)\n }\n\n if (cookie.expires && cookie.expires.toString() !== 'Invalid Date') {\n out.push(`Expires=${toIMFDate(cookie.expires)}`)\n }\n\n if (cookie.sameSite) {\n out.push(`SameSite=${cookie.sameSite}`)\n }\n\n for (const part of cookie.unparsed) {\n if (!part.includes('=')) {\n throw new Error('Invalid unparsed')\n }\n\n const [key, ...value] = part.split('=')\n\n out.push(`${key.trim()}=${value.join('=')}`)\n }\n\n return out.join('; ')\n}\n\nlet kHeadersListNode\n\nfunction getHeadersList (headers) {\n if (headers[kHeadersList]) {\n return headers[kHeadersList]\n }\n\n if (!kHeadersListNode) {\n kHeadersListNode = Object.getOwnPropertySymbols(headers).find(\n (symbol) => symbol.description === 'headers list'\n )\n\n assert(kHeadersListNode, 'Headers cannot be parsed')\n }\n\n const headersList = headers[kHeadersListNode]\n assert(headersList)\n\n return headersList\n}\n\nmodule.exports = {\n isCTLExcludingHtab,\n stringify,\n getHeadersList\n}\n", "'use strict'\n\nconst { maxNameValuePairSize, maxAttributeValueSize } = require('./constants')\nconst { isCTLExcludingHtab } = require('./util')\nconst { collectASequenceOfCodePointsFast } = require('../fetch/dataURL')\nconst assert = require('assert')\n\n/**\n * @description Parses the field-value attributes of a set-cookie header string.\n * @see https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4\n * @param {string} header\n * @returns if the header is invalid, null will be returned\n */\nfunction parseSetCookie (header) {\n // 1. If the set-cookie-string contains a %x00-08 / %x0A-1F / %x7F\n // character (CTL characters excluding HTAB): Abort these steps and\n // ignore the set-cookie-string entirely.\n if (isCTLExcludingHtab(header)) {\n return null\n }\n\n let nameValuePair = ''\n let unparsedAttributes = ''\n let name = ''\n let value = ''\n\n // 2. If the set-cookie-string contains a %x3B (\";\") character:\n if (header.includes(';')) {\n // 1. The name-value-pair string consists of the characters up to,\n // but not including, the first %x3B (\";\"), and the unparsed-\n // attributes consist of the remainder of the set-cookie-string\n // (including the %x3B (\";\") in question).\n const position = { position: 0 }\n\n nameValuePair = collectASequenceOfCodePointsFast(';', header, position)\n unparsedAttributes = header.slice(position.position)\n } else {\n // Otherwise:\n\n // 1. The name-value-pair string consists of all the characters\n // contained in the set-cookie-string, and the unparsed-\n // attributes is the empty string.\n nameValuePair = header\n }\n\n // 3. If the name-value-pair string lacks a %x3D (\"=\") character, then\n // the name string is empty, and the value string is the value of\n // name-value-pair.\n if (!nameValuePair.includes('=')) {\n value = nameValuePair\n } else {\n // Otherwise, the name string consists of the characters up to, but\n // not including, the first %x3D (\"=\") character, and the (possibly\n // empty) value string consists of the characters after the first\n // %x3D (\"=\") character.\n const position = { position: 0 }\n name = collectASequenceOfCodePointsFast(\n '=',\n nameValuePair,\n position\n )\n value = nameValuePair.slice(position.position + 1)\n }\n\n // 4. Remove any leading or trailing WSP characters from the name\n // string and the value string.\n name = name.trim()\n value = value.trim()\n\n // 5. If the sum of the lengths of the name string and the value string\n // is more than 4096 octets, abort these steps and ignore the set-\n // cookie-string entirely.\n if (name.length + value.length > maxNameValuePairSize) {\n return null\n }\n\n // 6. The cookie-name is the name string, and the cookie-value is the\n // value string.\n return {\n name, value, ...parseUnparsedAttributes(unparsedAttributes)\n }\n}\n\n/**\n * Parses the remaining attributes of a set-cookie header\n * @see https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4\n * @param {string} unparsedAttributes\n * @param {[Object.<string, unknown>]={}} cookieAttributeList\n */\nfunction parseUnparsedAttributes (unparsedAttributes, cookieAttributeList = {}) {\n // 1. If the unparsed-attributes string is empty, skip the rest of\n // these steps.\n if (unparsedAttributes.length === 0) {\n return cookieAttributeList\n }\n\n // 2. Discard the first character of the unparsed-attributes (which\n // will be a %x3B (\";\") character).\n assert(unparsedAttributes[0] === ';')\n unparsedAttributes = unparsedAttributes.slice(1)\n\n let cookieAv = ''\n\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n if (unparsedAttributes.includes(';')) {\n // 1. Consume the characters of the unparsed-attributes up to, but\n // not including, the first %x3B (\";\") character.\n cookieAv = collectASequenceOfCodePointsFast(\n ';',\n unparsedAttributes,\n { position: 0 }\n )\n unparsedAttributes = unparsedAttributes.slice(cookieAv.length)\n } else {\n // Otherwise:\n\n // 1. Consume the remainder of the unparsed-attributes.\n cookieAv = unparsedAttributes\n unparsedAttributes = ''\n }\n\n // Let the cookie-av string be the characters consumed in this step.\n\n let attributeName = ''\n let attributeValue = ''\n\n // 4. If the cookie-av string contains a %x3D (\"=\") character:\n if (cookieAv.includes('=')) {\n // 1. The (possibly empty) attribute-name string consists of the\n // characters up to, but not including, the first %x3D (\"=\")\n // character, and the (possibly empty) attribute-value string\n // consists of the characters after the first %x3D (\"=\")\n // character.\n const position = { position: 0 }\n\n attributeName = collectASequenceOfCodePointsFast(\n '=',\n cookieAv,\n position\n )\n attributeValue = cookieAv.slice(position.position + 1)\n } else {\n // Otherwise:\n\n // 1. The attribute-name string consists of the entire cookie-av\n // string, and the attribute-value string is empty.\n attributeName = cookieAv\n }\n\n // 5. Remove any leading or trailing WSP characters from the attribute-\n // name string and the attribute-value string.\n attributeName = attributeName.trim()\n attributeValue = attributeValue.trim()\n\n // 6. If the attribute-value is longer than 1024 octets, ignore the\n // cookie-av string and return to Step 1 of this algorithm.\n if (attributeValue.length > maxAttributeValueSize) {\n return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList)\n }\n\n // 7. Process the attribute-name and attribute-value according to the\n // requirements in the following subsections. (Notice that\n // attributes with unrecognized attribute-names are ignored.)\n const attributeNameLowercase = attributeName.toLowerCase()\n\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.1\n // If the attribute-name case-insensitively matches the string\n // \"Expires\", the user agent MUST process the cookie-av as follows.\n if (attributeNameLowercase === 'expires') {\n // 1. Let the expiry-time be the result of parsing the attribute-value\n // as cookie-date (see Section 5.1.1).\n const expiryTime = new Date(attributeValue)\n\n // 2. If the attribute-value failed to parse as a cookie date, ignore\n // the cookie-av.\n\n cookieAttributeList.expires = expiryTime\n } else if (attributeNameLowercase === 'max-age') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.2\n // If the attribute-name case-insensitively matches the string \"Max-\n // Age\", the user agent MUST process the cookie-av as follows.\n\n // 1. If the first character of the attribute-value is not a DIGIT or a\n // \"-\" character, ignore the cookie-av.\n const charCode = attributeValue.charCodeAt(0)\n\n if ((charCode < 48 || charCode > 57) && attributeValue[0] !== '-') {\n return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList)\n }\n\n // 2. If the remainder of attribute-value contains a non-DIGIT\n // character, ignore the cookie-av.\n if (!/^\\d+$/.test(attributeValue)) {\n return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList)\n }\n\n // 3. Let delta-seconds be the attribute-value converted to an integer.\n const deltaSeconds = Number(attributeValue)\n\n // 4. Let cookie-age-limit be the maximum age of the cookie (which\n // SHOULD be 400 days or less, see Section 4.1.2.2).\n\n // 5. Set delta-seconds to the smaller of its present value and cookie-\n // age-limit.\n // deltaSeconds = Math.min(deltaSeconds * 1000, maxExpiresMs)\n\n // 6. If delta-seconds is less than or equal to zero (0), let expiry-\n // time be the earliest representable date and time. Otherwise, let\n // the expiry-time be the current date and time plus delta-seconds\n // seconds.\n // const expiryTime = deltaSeconds <= 0 ? Date.now() : Date.now() + deltaSeconds\n\n // 7. Append an attribute to the cookie-attribute-list with an\n // attribute-name of Max-Age and an attribute-value of expiry-time.\n cookieAttributeList.maxAge = deltaSeconds\n } else if (attributeNameLowercase === 'domain') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.3\n // If the attribute-name case-insensitively matches the string \"Domain\",\n // the user agent MUST process the cookie-av as follows.\n\n // 1. Let cookie-domain be the attribute-value.\n let cookieDomain = attributeValue\n\n // 2. If cookie-domain starts with %x2E (\".\"), let cookie-domain be\n // cookie-domain without its leading %x2E (\".\").\n if (cookieDomain[0] === '.') {\n cookieDomain = cookieDomain.slice(1)\n }\n\n // 3. Convert the cookie-domain to lower case.\n cookieDomain = cookieDomain.toLowerCase()\n\n // 4. Append an attribute to the cookie-attribute-list with an\n // attribute-name of Domain and an attribute-value of cookie-domain.\n cookieAttributeList.domain = cookieDomain\n } else if (attributeNameLowercase === 'path') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.4\n // If the attribute-name case-insensitively matches the string \"Path\",\n // the user agent MUST process the cookie-av as follows.\n\n // 1. If the attribute-value is empty or if the first character of the\n // attribute-value is not %x2F (\"/\"):\n let cookiePath = ''\n if (attributeValue.length === 0 || attributeValue[0] !== '/') {\n // 1. Let cookie-path be the default-path.\n cookiePath = '/'\n } else {\n // Otherwise:\n\n // 1. Let cookie-path be the attribute-value.\n cookiePath = attributeValue\n }\n\n // 2. Append an attribute to the cookie-attribute-list with an\n // attribute-name of Path and an attribute-value of cookie-path.\n cookieAttributeList.path = cookiePath\n } else if (attributeNameLowercase === 'secure') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.5\n // If the attribute-name case-insensitively matches the string \"Secure\",\n // the user agent MUST append an attribute to the cookie-attribute-list\n // with an attribute-name of Secure and an empty attribute-value.\n\n cookieAttributeList.secure = true\n } else if (attributeNameLowercase === 'httponly') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.6\n // If the attribute-name case-insensitively matches the string\n // \"HttpOnly\", the user agent MUST append an attribute to the cookie-\n // attribute-list with an attribute-name of HttpOnly and an empty\n // attribute-value.\n\n cookieAttributeList.httpOnly = true\n } else if (attributeNameLowercase === 'samesite') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.7\n // If the attribute-name case-insensitively matches the string\n // \"SameSite\", the user agent MUST process the cookie-av as follows:\n\n // 1. Let enforcement be \"Default\".\n let enforcement = 'Default'\n\n const attributeValueLowercase = attributeValue.toLowerCase()\n // 2. If cookie-av's attribute-value is a case-insensitive match for\n // \"None\", set enforcement to \"None\".\n if (attributeValueLowercase.includes('none')) {\n enforcement = 'None'\n }\n\n // 3. If cookie-av's attribute-value is a case-insensitive match for\n // \"Strict\", set enforcement to \"Strict\".\n if (attributeValueLowercase.includes('strict')) {\n enforcement = 'Strict'\n }\n\n // 4. If cookie-av's attribute-value is a case-insensitive match for\n // \"Lax\", set enforcement to \"Lax\".\n if (attributeValueLowercase.includes('lax')) {\n enforcement = 'Lax'\n }\n\n // 5. Append an attribute to the cookie-attribute-list with an\n // attribute-name of \"SameSite\" and an attribute-value of\n // enforcement.\n cookieAttributeList.sameSite = enforcement\n } else {\n cookieAttributeList.unparsed ??= []\n\n cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`)\n }\n\n // 8. Return to Step 1 of this algorithm.\n return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList)\n}\n\nmodule.exports = {\n parseSetCookie,\n parseUnparsedAttributes\n}\n", "'use strict'\n\nconst { parseSetCookie } = require('./parse')\nconst { stringify, getHeadersList } = require('./util')\nconst { webidl } = require('../fetch/webidl')\nconst { Headers } = require('../fetch/headers')\n\n/**\n * @typedef {Object} Cookie\n * @property {string} name\n * @property {string} value\n * @property {Date|number|undefined} expires\n * @property {number|undefined} maxAge\n * @property {string|undefined} domain\n * @property {string|undefined} path\n * @property {boolean|undefined} secure\n * @property {boolean|undefined} httpOnly\n * @property {'Strict'|'Lax'|'None'} sameSite\n * @property {string[]} unparsed\n */\n\n/**\n * @param {Headers} headers\n * @returns {Record<string, string>}\n */\nfunction getCookies (headers) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'getCookies' })\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n const cookie = headers.get('cookie')\n const out = {}\n\n if (!cookie) {\n return out\n }\n\n for (const piece of cookie.split(';')) {\n const [name, ...value] = piece.split('=')\n\n out[name.trim()] = value.join('=')\n }\n\n return out\n}\n\n/**\n * @param {Headers} headers\n * @param {string} name\n * @param {{ path?: string, domain?: string }|undefined} attributes\n * @returns {void}\n */\nfunction deleteCookie (headers, name, attributes) {\n webidl.argumentLengthCheck(arguments, 2, { header: 'deleteCookie' })\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n name = webidl.converters.DOMString(name)\n attributes = webidl.converters.DeleteCookieAttributes(attributes)\n\n // Matches behavior of\n // https://github.com/denoland/deno_std/blob/63827b16330b82489a04614027c33b7904e08be5/http/cookie.ts#L278\n setCookie(headers, {\n name,\n value: '',\n expires: new Date(0),\n ...attributes\n })\n}\n\n/**\n * @param {Headers} headers\n * @returns {Cookie[]}\n */\nfunction getSetCookies (headers) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'getSetCookies' })\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n const cookies = getHeadersList(headers).cookies\n\n if (!cookies) {\n return []\n }\n\n // In older versions of undici, cookies is a list of name:value.\n return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair))\n}\n\n/**\n * @param {Headers} headers\n * @param {Cookie} cookie\n * @returns {void}\n */\nfunction setCookie (headers, cookie) {\n webidl.argumentLengthCheck(arguments, 2, { header: 'setCookie' })\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n cookie = webidl.converters.Cookie(cookie)\n\n const str = stringify(cookie)\n\n if (str) {\n headers.append('Set-Cookie', stringify(cookie))\n }\n}\n\nwebidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([\n {\n converter: webidl.nullableConverter(webidl.converters.DOMString),\n key: 'path',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.DOMString),\n key: 'domain',\n defaultValue: null\n }\n])\n\nwebidl.converters.Cookie = webidl.dictionaryConverter([\n {\n converter: webidl.converters.DOMString,\n key: 'name'\n },\n {\n converter: webidl.converters.DOMString,\n key: 'value'\n },\n {\n converter: webidl.nullableConverter((value) => {\n if (typeof value === 'number') {\n return webidl.converters['unsigned long long'](value)\n }\n\n return new Date(value)\n }),\n key: 'expires',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters['long long']),\n key: 'maxAge',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.DOMString),\n key: 'domain',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.DOMString),\n key: 'path',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.boolean),\n key: 'secure',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.boolean),\n key: 'httpOnly',\n defaultValue: null\n },\n {\n converter: webidl.converters.USVString,\n key: 'sameSite',\n allowedValues: ['Strict', 'Lax', 'None']\n },\n {\n converter: webidl.sequenceConverter(webidl.converters.DOMString),\n key: 'unparsed',\n defaultValue: []\n }\n])\n\nmodule.exports = {\n getCookies,\n deleteCookie,\n getSetCookies,\n setCookie\n}\n", "'use strict'\n\n// This is a Globally Unique Identifier unique used\n// to validate that the endpoint accepts websocket\n// connections.\n// See https://www.rfc-editor.org/rfc/rfc6455.html#section-1.3\nconst uid = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11'\n\n/** @type {PropertyDescriptor} */\nconst staticPropertyDescriptors = {\n enumerable: true,\n writable: false,\n configurable: false\n}\n\nconst states = {\n CONNECTING: 0,\n OPEN: 1,\n CLOSING: 2,\n CLOSED: 3\n}\n\nconst opcodes = {\n CONTINUATION: 0x0,\n TEXT: 0x1,\n BINARY: 0x2,\n CLOSE: 0x8,\n PING: 0x9,\n PONG: 0xA\n}\n\nconst maxUnsigned16Bit = 2 ** 16 - 1 // 65535\n\nconst parserStates = {\n INFO: 0,\n PAYLOADLENGTH_16: 2,\n PAYLOADLENGTH_64: 3,\n READ_DATA: 4\n}\n\nconst emptyBuffer = Buffer.allocUnsafe(0)\n\nmodule.exports = {\n uid,\n staticPropertyDescriptors,\n states,\n opcodes,\n maxUnsigned16Bit,\n parserStates,\n emptyBuffer\n}\n", "'use strict'\n\nmodule.exports = {\n kWebSocketURL: Symbol('url'),\n kReadyState: Symbol('ready state'),\n kController: Symbol('controller'),\n kResponse: Symbol('response'),\n kBinaryType: Symbol('binary type'),\n kSentClose: Symbol('sent close'),\n kReceivedClose: Symbol('received close'),\n kByteParser: Symbol('byte parser')\n}\n", "'use strict'\n\nconst { webidl } = require('../fetch/webidl')\nconst { kEnumerableProperty } = require('../core/util')\nconst { MessagePort } = require('worker_threads')\n\n/**\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageevent\n */\nclass MessageEvent extends Event {\n #eventInit\n\n constructor (type, eventInitDict = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'MessageEvent constructor' })\n\n type = webidl.converters.DOMString(type)\n eventInitDict = webidl.converters.MessageEventInit(eventInitDict)\n\n super(type, eventInitDict)\n\n this.#eventInit = eventInitDict\n }\n\n get data () {\n webidl.brandCheck(this, MessageEvent)\n\n return this.#eventInit.data\n }\n\n get origin () {\n webidl.brandCheck(this, MessageEvent)\n\n return this.#eventInit.origin\n }\n\n get lastEventId () {\n webidl.brandCheck(this, MessageEvent)\n\n return this.#eventInit.lastEventId\n }\n\n get source () {\n webidl.brandCheck(this, MessageEvent)\n\n return this.#eventInit.source\n }\n\n get ports () {\n webidl.brandCheck(this, MessageEvent)\n\n if (!Object.isFrozen(this.#eventInit.ports)) {\n Object.freeze(this.#eventInit.ports)\n }\n\n return this.#eventInit.ports\n }\n\n initMessageEvent (\n type,\n bubbles = false,\n cancelable = false,\n data = null,\n origin = '',\n lastEventId = '',\n source = null,\n ports = []\n ) {\n webidl.brandCheck(this, MessageEvent)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'MessageEvent.initMessageEvent' })\n\n return new MessageEvent(type, {\n bubbles, cancelable, data, origin, lastEventId, source, ports\n })\n }\n}\n\n/**\n * @see https://websockets.spec.whatwg.org/#the-closeevent-interface\n */\nclass CloseEvent extends Event {\n #eventInit\n\n constructor (type, eventInitDict = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'CloseEvent constructor' })\n\n type = webidl.converters.DOMString(type)\n eventInitDict = webidl.converters.CloseEventInit(eventInitDict)\n\n super(type, eventInitDict)\n\n this.#eventInit = eventInitDict\n }\n\n get wasClean () {\n webidl.brandCheck(this, CloseEvent)\n\n return this.#eventInit.wasClean\n }\n\n get code () {\n webidl.brandCheck(this, CloseEvent)\n\n return this.#eventInit.code\n }\n\n get reason () {\n webidl.brandCheck(this, CloseEvent)\n\n return this.#eventInit.reason\n }\n}\n\n// https://html.spec.whatwg.org/multipage/webappapis.html#the-errorevent-interface\nclass ErrorEvent extends Event {\n #eventInit\n\n constructor (type, eventInitDict) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'ErrorEvent constructor' })\n\n super(type, eventInitDict)\n\n type = webidl.converters.DOMString(type)\n eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {})\n\n this.#eventInit = eventInitDict\n }\n\n get message () {\n webidl.brandCheck(this, ErrorEvent)\n\n return this.#eventInit.message\n }\n\n get filename () {\n webidl.brandCheck(this, ErrorEvent)\n\n return this.#eventInit.filename\n }\n\n get lineno () {\n webidl.brandCheck(this, ErrorEvent)\n\n return this.#eventInit.lineno\n }\n\n get colno () {\n webidl.brandCheck(this, ErrorEvent)\n\n return this.#eventInit.colno\n }\n\n get error () {\n webidl.brandCheck(this, ErrorEvent)\n\n return this.#eventInit.error\n }\n}\n\nObject.defineProperties(MessageEvent.prototype, {\n [Symbol.toStringTag]: {\n value: 'MessageEvent',\n configurable: true\n },\n data: kEnumerableProperty,\n origin: kEnumerableProperty,\n lastEventId: kEnumerableProperty,\n source: kEnumerableProperty,\n ports: kEnumerableProperty,\n initMessageEvent: kEnumerableProperty\n})\n\nObject.defineProperties(CloseEvent.prototype, {\n [Symbol.toStringTag]: {\n value: 'CloseEvent',\n configurable: true\n },\n reason: kEnumerableProperty,\n code: kEnumerableProperty,\n wasClean: kEnumerableProperty\n})\n\nObject.defineProperties(ErrorEvent.prototype, {\n [Symbol.toStringTag]: {\n value: 'ErrorEvent',\n configurable: true\n },\n message: kEnumerableProperty,\n filename: kEnumerableProperty,\n lineno: kEnumerableProperty,\n colno: kEnumerableProperty,\n error: kEnumerableProperty\n})\n\nwebidl.converters.MessagePort = webidl.interfaceConverter(MessagePort)\n\nwebidl.converters['sequence<MessagePort>'] = webidl.sequenceConverter(\n webidl.converters.MessagePort\n)\n\nconst eventInit = [\n {\n key: 'bubbles',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'cancelable',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'composed',\n converter: webidl.converters.boolean,\n defaultValue: false\n }\n]\n\nwebidl.converters.MessageEventInit = webidl.dictionaryConverter([\n ...eventInit,\n {\n key: 'data',\n converter: webidl.converters.any,\n defaultValue: null\n },\n {\n key: 'origin',\n converter: webidl.converters.USVString,\n defaultValue: ''\n },\n {\n key: 'lastEventId',\n converter: webidl.converters.DOMString,\n defaultValue: ''\n },\n {\n key: 'source',\n // Node doesn't implement WindowProxy or ServiceWorker, so the only\n // valid value for source is a MessagePort.\n converter: webidl.nullableConverter(webidl.converters.MessagePort),\n defaultValue: null\n },\n {\n key: 'ports',\n converter: webidl.converters['sequence<MessagePort>'],\n get defaultValue () {\n return []\n }\n }\n])\n\nwebidl.converters.CloseEventInit = webidl.dictionaryConverter([\n ...eventInit,\n {\n key: 'wasClean',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'code',\n converter: webidl.converters['unsigned short'],\n defaultValue: 0\n },\n {\n key: 'reason',\n converter: webidl.converters.USVString,\n defaultValue: ''\n }\n])\n\nwebidl.converters.ErrorEventInit = webidl.dictionaryConverter([\n ...eventInit,\n {\n key: 'message',\n converter: webidl.converters.DOMString,\n defaultValue: ''\n },\n {\n key: 'filename',\n converter: webidl.converters.USVString,\n defaultValue: ''\n },\n {\n key: 'lineno',\n converter: webidl.converters['unsigned long'],\n defaultValue: 0\n },\n {\n key: 'colno',\n converter: webidl.converters['unsigned long'],\n defaultValue: 0\n },\n {\n key: 'error',\n converter: webidl.converters.any\n }\n])\n\nmodule.exports = {\n MessageEvent,\n CloseEvent,\n ErrorEvent\n}\n", "'use strict'\n\nconst { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require('./symbols')\nconst { states, opcodes } = require('./constants')\nconst { MessageEvent, ErrorEvent } = require('./events')\n\n/* globals Blob */\n\n/**\n * @param {import('./websocket').WebSocket} ws\n */\nfunction isEstablished (ws) {\n // If the server's response is validated as provided for above, it is\n // said that _The WebSocket Connection is Established_ and that the\n // WebSocket Connection is in the OPEN state.\n return ws[kReadyState] === states.OPEN\n}\n\n/**\n * @param {import('./websocket').WebSocket} ws\n */\nfunction isClosing (ws) {\n // Upon either sending or receiving a Close control frame, it is said\n // that _The WebSocket Closing Handshake is Started_ and that the\n // WebSocket connection is in the CLOSING state.\n return ws[kReadyState] === states.CLOSING\n}\n\n/**\n * @param {import('./websocket').WebSocket} ws\n */\nfunction isClosed (ws) {\n return ws[kReadyState] === states.CLOSED\n}\n\n/**\n * @see https://dom.spec.whatwg.org/#concept-event-fire\n * @param {string} e\n * @param {EventTarget} target\n * @param {EventInit | undefined} eventInitDict\n */\nfunction fireEvent (e, target, eventConstructor = Event, eventInitDict) {\n // 1. If eventConstructor is not given, then let eventConstructor be Event.\n\n // 2. Let event be the result of creating an event given eventConstructor,\n // in the relevant realm of target.\n // 3. Initialize event\u2019s type attribute to e.\n const event = new eventConstructor(e, eventInitDict) // eslint-disable-line new-cap\n\n // 4. Initialize any other IDL attributes of event as described in the\n // invocation of this algorithm.\n\n // 5. Return the result of dispatching event at target, with legacy target\n // override flag set if set.\n target.dispatchEvent(event)\n}\n\n/**\n * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol\n * @param {import('./websocket').WebSocket} ws\n * @param {number} type Opcode\n * @param {Buffer} data application data\n */\nfunction websocketMessageReceived (ws, type, data) {\n // 1. If ready state is not OPEN (1), then return.\n if (ws[kReadyState] !== states.OPEN) {\n return\n }\n\n // 2. Let dataForEvent be determined by switching on type and binary type:\n let dataForEvent\n\n if (type === opcodes.TEXT) {\n // -> type indicates that the data is Text\n // a new DOMString containing data\n try {\n dataForEvent = new TextDecoder('utf-8', { fatal: true }).decode(data)\n } catch {\n failWebsocketConnection(ws, 'Received invalid UTF-8 in text frame.')\n return\n }\n } else if (type === opcodes.BINARY) {\n if (ws[kBinaryType] === 'blob') {\n // -> type indicates that the data is Binary and binary type is \"blob\"\n // a new Blob object, created in the relevant Realm of the WebSocket\n // object, that represents data as its raw data\n dataForEvent = new Blob([data])\n } else {\n // -> type indicates that the data is Binary and binary type is \"arraybuffer\"\n // a new ArrayBuffer object, created in the relevant Realm of the\n // WebSocket object, whose contents are data\n dataForEvent = new Uint8Array(data).buffer\n }\n }\n\n // 3. Fire an event named message at the WebSocket object, using MessageEvent,\n // with the origin attribute initialized to the serialization of the WebSocket\n // object\u2019s url's origin, and the data attribute initialized to dataForEvent.\n fireEvent('message', ws, MessageEvent, {\n origin: ws[kWebSocketURL].origin,\n data: dataForEvent\n })\n}\n\n/**\n * @see https://datatracker.ietf.org/doc/html/rfc6455\n * @see https://datatracker.ietf.org/doc/html/rfc2616\n * @see https://bugs.chromium.org/p/chromium/issues/detail?id=398407\n * @param {string} protocol\n */\nfunction isValidSubprotocol (protocol) {\n // If present, this value indicates one\n // or more comma-separated subprotocol the client wishes to speak,\n // ordered by preference. The elements that comprise this value\n // MUST be non-empty strings with characters in the range U+0021 to\n // U+007E not including separator characters as defined in\n // [RFC2616] and MUST all be unique strings.\n if (protocol.length === 0) {\n return false\n }\n\n for (const char of protocol) {\n const code = char.charCodeAt(0)\n\n if (\n code < 0x21 ||\n code > 0x7E ||\n char === '(' ||\n char === ')' ||\n char === '<' ||\n char === '>' ||\n char === '@' ||\n char === ',' ||\n char === ';' ||\n char === ':' ||\n char === '\\\\' ||\n char === '\"' ||\n char === '/' ||\n char === '[' ||\n char === ']' ||\n char === '?' ||\n char === '=' ||\n char === '{' ||\n char === '}' ||\n code === 32 || // SP\n code === 9 // HT\n ) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * @see https://datatracker.ietf.org/doc/html/rfc6455#section-7-4\n * @param {number} code\n */\nfunction isValidStatusCode (code) {\n if (code >= 1000 && code < 1015) {\n return (\n code !== 1004 && // reserved\n code !== 1005 && // \"MUST NOT be set as a status code\"\n code !== 1006 // \"MUST NOT be set as a status code\"\n )\n }\n\n return code >= 3000 && code <= 4999\n}\n\n/**\n * @param {import('./websocket').WebSocket} ws\n * @param {string|undefined} reason\n */\nfunction failWebsocketConnection (ws, reason) {\n const { [kController]: controller, [kResponse]: response } = ws\n\n controller.abort()\n\n if (response?.socket && !response.socket.destroyed) {\n response.socket.destroy()\n }\n\n if (reason) {\n fireEvent('error', ws, ErrorEvent, {\n error: new Error(reason)\n })\n }\n}\n\nmodule.exports = {\n isEstablished,\n isClosing,\n isClosed,\n fireEvent,\n isValidSubprotocol,\n isValidStatusCode,\n failWebsocketConnection,\n websocketMessageReceived\n}\n", "'use strict'\n\nconst { randomBytes, createHash } = require('crypto')\nconst diagnosticsChannel = require('diagnostics_channel')\nconst { uid, states } = require('./constants')\nconst {\n kReadyState,\n kSentClose,\n kByteParser,\n kReceivedClose\n} = require('./symbols')\nconst { fireEvent, failWebsocketConnection } = require('./util')\nconst { CloseEvent } = require('./events')\nconst { makeRequest } = require('../fetch/request')\nconst { fetching } = require('../fetch/index')\nconst { Headers } = require('../fetch/headers')\nconst { getGlobalDispatcher } = require('../global')\nconst { kHeadersList } = require('../core/symbols')\n\nconst channels = {}\nchannels.open = diagnosticsChannel.channel('undici:websocket:open')\nchannels.close = diagnosticsChannel.channel('undici:websocket:close')\nchannels.socketError = diagnosticsChannel.channel('undici:websocket:socket_error')\n\n/**\n * @see https://websockets.spec.whatwg.org/#concept-websocket-establish\n * @param {URL} url\n * @param {string|string[]} protocols\n * @param {import('./websocket').WebSocket} ws\n * @param {(response: any) => void} onEstablish\n * @param {Partial<import('../../types/websocket').WebSocketInit>} options\n */\nfunction establishWebSocketConnection (url, protocols, ws, onEstablish, options) {\n // 1. Let requestURL be a copy of url, with its scheme set to \"http\", if url\u2019s\n // scheme is \"ws\", and to \"https\" otherwise.\n const requestURL = url\n\n requestURL.protocol = url.protocol === 'ws:' ? 'http:' : 'https:'\n\n // 2. Let request be a new request, whose URL is requestURL, client is client,\n // service-workers mode is \"none\", referrer is \"no-referrer\", mode is\n // \"websocket\", credentials mode is \"include\", cache mode is \"no-store\" ,\n // and redirect mode is \"error\".\n const request = makeRequest({\n urlList: [requestURL],\n serviceWorkers: 'none',\n referrer: 'no-referrer',\n mode: 'websocket',\n credentials: 'include',\n cache: 'no-store',\n redirect: 'error'\n })\n\n // Note: undici extension, allow setting custom headers.\n if (options.headers) {\n const headersList = new Headers(options.headers)[kHeadersList]\n\n request.headersList = headersList\n }\n\n // 3. Append (`Upgrade`, `websocket`) to request\u2019s header list.\n // 4. Append (`Connection`, `Upgrade`) to request\u2019s header list.\n // Note: both of these are handled by undici currently.\n // https://github.com/nodejs/undici/blob/68c269c4144c446f3f1220951338daef4a6b5ec4/lib/client.js#L1397\n\n // 5. Let keyValue be a nonce consisting of a randomly selected\n // 16-byte value that has been forgiving-base64-encoded and\n // isomorphic encoded.\n const keyValue = randomBytes(16).toString('base64')\n\n // 6. Append (`Sec-WebSocket-Key`, keyValue) to request\u2019s\n // header list.\n request.headersList.append('sec-websocket-key', keyValue)\n\n // 7. Append (`Sec-WebSocket-Version`, `13`) to request\u2019s\n // header list.\n request.headersList.append('sec-websocket-version', '13')\n\n // 8. For each protocol in protocols, combine\n // (`Sec-WebSocket-Protocol`, protocol) in request\u2019s header\n // list.\n for (const protocol of protocols) {\n request.headersList.append('sec-websocket-protocol', protocol)\n }\n\n // 9. Let permessageDeflate be a user-agent defined\n // \"permessage-deflate\" extension header value.\n // https://github.com/mozilla/gecko-dev/blob/ce78234f5e653a5d3916813ff990f053510227bc/netwerk/protocol/websocket/WebSocketChannel.cpp#L2673\n // TODO: enable once permessage-deflate is supported\n const permessageDeflate = '' // 'permessage-deflate; 15'\n\n // 10. Append (`Sec-WebSocket-Extensions`, permessageDeflate) to\n // request\u2019s header list.\n // request.headersList.append('sec-websocket-extensions', permessageDeflate)\n\n // 11. Fetch request with useParallelQueue set to true, and\n // processResponse given response being these steps:\n const controller = fetching({\n request,\n useParallelQueue: true,\n dispatcher: options.dispatcher ?? getGlobalDispatcher(),\n processResponse (response) {\n // 1. If response is a network error or its status is not 101,\n // fail the WebSocket connection.\n if (response.type === 'error' || response.status !== 101) {\n failWebsocketConnection(ws, 'Received network error or non-101 status code.')\n return\n }\n\n // 2. If protocols is not the empty list and extracting header\n // list values given `Sec-WebSocket-Protocol` and response\u2019s\n // header list results in null, failure, or the empty byte\n // sequence, then fail the WebSocket connection.\n if (protocols.length !== 0 && !response.headersList.get('Sec-WebSocket-Protocol')) {\n failWebsocketConnection(ws, 'Server did not respond with sent protocols.')\n return\n }\n\n // 3. Follow the requirements stated step 2 to step 6, inclusive,\n // of the last set of steps in section 4.1 of The WebSocket\n // Protocol to validate response. This either results in fail\n // the WebSocket connection or the WebSocket connection is\n // established.\n\n // 2. If the response lacks an |Upgrade| header field or the |Upgrade|\n // header field contains a value that is not an ASCII case-\n // insensitive match for the value \"websocket\", the client MUST\n // _Fail the WebSocket Connection_.\n if (response.headersList.get('Upgrade')?.toLowerCase() !== 'websocket') {\n failWebsocketConnection(ws, 'Server did not set Upgrade header to \"websocket\".')\n return\n }\n\n // 3. If the response lacks a |Connection| header field or the\n // |Connection| header field doesn't contain a token that is an\n // ASCII case-insensitive match for the value \"Upgrade\", the client\n // MUST _Fail the WebSocket Connection_.\n if (response.headersList.get('Connection')?.toLowerCase() !== 'upgrade') {\n failWebsocketConnection(ws, 'Server did not set Connection header to \"upgrade\".')\n return\n }\n\n // 4. If the response lacks a |Sec-WebSocket-Accept| header field or\n // the |Sec-WebSocket-Accept| contains a value other than the\n // base64-encoded SHA-1 of the concatenation of the |Sec-WebSocket-\n // Key| (as a string, not base64-decoded) with the string \"258EAFA5-\n // E914-47DA-95CA-C5AB0DC85B11\" but ignoring any leading and\n // trailing whitespace, the client MUST _Fail the WebSocket\n // Connection_.\n const secWSAccept = response.headersList.get('Sec-WebSocket-Accept')\n const digest = createHash('sha1').update(keyValue + uid).digest('base64')\n if (secWSAccept !== digest) {\n failWebsocketConnection(ws, 'Incorrect hash received in Sec-WebSocket-Accept header.')\n return\n }\n\n // 5. If the response includes a |Sec-WebSocket-Extensions| header\n // field and this header field indicates the use of an extension\n // that was not present in the client's handshake (the server has\n // indicated an extension not requested by the client), the client\n // MUST _Fail the WebSocket Connection_. (The parsing of this\n // header field to determine which extensions are requested is\n // discussed in Section 9.1.)\n const secExtension = response.headersList.get('Sec-WebSocket-Extensions')\n\n if (secExtension !== null && secExtension !== permessageDeflate) {\n failWebsocketConnection(ws, 'Received different permessage-deflate than the one set.')\n return\n }\n\n // 6. If the response includes a |Sec-WebSocket-Protocol| header field\n // and this header field indicates the use of a subprotocol that was\n // not present in the client's handshake (the server has indicated a\n // subprotocol not requested by the client), the client MUST _Fail\n // the WebSocket Connection_.\n const secProtocol = response.headersList.get('Sec-WebSocket-Protocol')\n\n if (secProtocol !== null && secProtocol !== request.headersList.get('Sec-WebSocket-Protocol')) {\n failWebsocketConnection(ws, 'Protocol was not set in the opening handshake.')\n return\n }\n\n response.socket.on('data', onSocketData)\n response.socket.on('close', onSocketClose)\n response.socket.on('error', onSocketError)\n\n if (channels.open.hasSubscribers) {\n channels.open.publish({\n address: response.socket.address(),\n protocol: secProtocol,\n extensions: secExtension\n })\n }\n\n onEstablish(response)\n }\n })\n\n return controller\n}\n\n/**\n * @param {Buffer} chunk\n */\nfunction onSocketData (chunk) {\n if (!this.ws[kByteParser].write(chunk)) {\n this.pause()\n }\n}\n\n/**\n * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol\n * @see https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.4\n */\nfunction onSocketClose () {\n const { ws } = this\n\n // If the TCP connection was closed after the\n // WebSocket closing handshake was completed, the WebSocket connection\n // is said to have been closed _cleanly_.\n const wasClean = ws[kSentClose] && ws[kReceivedClose]\n\n let code = 1005\n let reason = ''\n\n const result = ws[kByteParser].closingInfo\n\n if (result) {\n code = result.code ?? 1005\n reason = result.reason\n } else if (!ws[kSentClose]) {\n // If _The WebSocket\n // Connection is Closed_ and no Close control frame was received by the\n // endpoint (such as could occur if the underlying transport connection\n // is lost), _The WebSocket Connection Close Code_ is considered to be\n // 1006.\n code = 1006\n }\n\n // 1. Change the ready state to CLOSED (3).\n ws[kReadyState] = states.CLOSED\n\n // 2. If the user agent was required to fail the WebSocket\n // connection, or if the WebSocket connection was closed\n // after being flagged as full, fire an event named error\n // at the WebSocket object.\n // TODO\n\n // 3. Fire an event named close at the WebSocket object,\n // using CloseEvent, with the wasClean attribute\n // initialized to true if the connection closed cleanly\n // and false otherwise, the code attribute initialized to\n // the WebSocket connection close code, and the reason\n // attribute initialized to the result of applying UTF-8\n // decode without BOM to the WebSocket connection close\n // reason.\n fireEvent('close', ws, CloseEvent, {\n wasClean, code, reason\n })\n\n if (channels.close.hasSubscribers) {\n channels.close.publish({\n websocket: ws,\n code,\n reason\n })\n }\n}\n\nfunction onSocketError (error) {\n const { ws } = this\n\n ws[kReadyState] = states.CLOSING\n\n if (channels.socketError.hasSubscribers) {\n channels.socketError.publish(error)\n }\n\n this.destroy()\n}\n\nmodule.exports = {\n establishWebSocketConnection\n}\n", "'use strict'\n\nconst { randomBytes } = require('crypto')\nconst { maxUnsigned16Bit } = require('./constants')\n\nclass WebsocketFrameSend {\n /**\n * @param {Buffer|undefined} data\n */\n constructor (data) {\n this.frameData = data\n this.maskKey = randomBytes(4)\n }\n\n createFrame (opcode) {\n const bodyLength = this.frameData?.byteLength ?? 0\n\n /** @type {number} */\n let payloadLength = bodyLength // 0-125\n let offset = 6\n\n if (bodyLength > maxUnsigned16Bit) {\n offset += 8 // payload length is next 8 bytes\n payloadLength = 127\n } else if (bodyLength > 125) {\n offset += 2 // payload length is next 2 bytes\n payloadLength = 126\n }\n\n const buffer = Buffer.allocUnsafe(bodyLength + offset)\n\n // Clear first 2 bytes, everything else is overwritten\n buffer[0] = buffer[1] = 0\n buffer[0] |= 0x80 // FIN\n buffer[0] = (buffer[0] & 0xF0) + opcode // opcode\n\n /*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */\n buffer[offset - 4] = this.maskKey[0]\n buffer[offset - 3] = this.maskKey[1]\n buffer[offset - 2] = this.maskKey[2]\n buffer[offset - 1] = this.maskKey[3]\n\n buffer[1] = payloadLength\n\n if (payloadLength === 126) {\n buffer.writeUInt16BE(bodyLength, 2)\n } else if (payloadLength === 127) {\n // Clear extended payload length\n buffer[2] = buffer[3] = 0\n buffer.writeUIntBE(bodyLength, 4, 6)\n }\n\n buffer[1] |= 0x80 // MASK\n\n // mask body\n for (let i = 0; i < bodyLength; i++) {\n buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4]\n }\n\n return buffer\n }\n}\n\nmodule.exports = {\n WebsocketFrameSend\n}\n", "'use strict'\n\nconst { Writable } = require('stream')\nconst diagnosticsChannel = require('diagnostics_channel')\nconst { parserStates, opcodes, states, emptyBuffer } = require('./constants')\nconst { kReadyState, kSentClose, kResponse, kReceivedClose } = require('./symbols')\nconst { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require('./util')\nconst { WebsocketFrameSend } = require('./frame')\n\n// This code was influenced by ws released under the MIT license.\n// Copyright (c) 2011 Einar Otto Stangvik <einaros@gmail.com>\n// Copyright (c) 2013 Arnout Kazemier and contributors\n// Copyright (c) 2016 Luigi Pinca and contributors\n\nconst channels = {}\nchannels.ping = diagnosticsChannel.channel('undici:websocket:ping')\nchannels.pong = diagnosticsChannel.channel('undici:websocket:pong')\n\nclass ByteParser extends Writable {\n #buffers = []\n #byteOffset = 0\n\n #state = parserStates.INFO\n\n #info = {}\n #fragments = []\n\n constructor (ws) {\n super()\n\n this.ws = ws\n }\n\n /**\n * @param {Buffer} chunk\n * @param {() => void} callback\n */\n _write (chunk, _, callback) {\n this.#buffers.push(chunk)\n this.#byteOffset += chunk.length\n\n this.run(callback)\n }\n\n /**\n * Runs whenever a new chunk is received.\n * Callback is called whenever there are no more chunks buffering,\n * or not enough bytes are buffered to parse.\n */\n run (callback) {\n while (true) {\n if (this.#state === parserStates.INFO) {\n // If there aren't enough bytes to parse the payload length, etc.\n if (this.#byteOffset < 2) {\n return callback()\n }\n\n const buffer = this.consume(2)\n\n this.#info.fin = (buffer[0] & 0x80) !== 0\n this.#info.opcode = buffer[0] & 0x0F\n\n // If we receive a fragmented message, we use the type of the first\n // frame to parse the full message as binary/text, when it's terminated\n this.#info.originalOpcode ??= this.#info.opcode\n\n this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION\n\n if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {\n // Only text and binary frames can be fragmented\n failWebsocketConnection(this.ws, 'Invalid frame type was fragmented.')\n return\n }\n\n const payloadLength = buffer[1] & 0x7F\n\n if (payloadLength <= 125) {\n this.#info.payloadLength = payloadLength\n this.#state = parserStates.READ_DATA\n } else if (payloadLength === 126) {\n this.#state = parserStates.PAYLOADLENGTH_16\n } else if (payloadLength === 127) {\n this.#state = parserStates.PAYLOADLENGTH_64\n }\n\n if (this.#info.fragmented && payloadLength > 125) {\n // A fragmented frame can't be fragmented itself\n failWebsocketConnection(this.ws, 'Fragmented frame exceeded 125 bytes.')\n return\n } else if (\n (this.#info.opcode === opcodes.PING ||\n this.#info.opcode === opcodes.PONG ||\n this.#info.opcode === opcodes.CLOSE) &&\n payloadLength > 125\n ) {\n // Control frames can have a payload length of 125 bytes MAX\n failWebsocketConnection(this.ws, 'Payload length for control frame exceeded 125 bytes.')\n return\n } else if (this.#info.opcode === opcodes.CLOSE) {\n if (payloadLength === 1) {\n failWebsocketConnection(this.ws, 'Received close frame with a 1-byte body.')\n return\n }\n\n const body = this.consume(payloadLength)\n\n this.#info.closeInfo = this.parseCloseBody(false, body)\n\n if (!this.ws[kSentClose]) {\n // If an endpoint receives a Close frame and did not previously send a\n // Close frame, the endpoint MUST send a Close frame in response. (When\n // sending a Close frame in response, the endpoint typically echos the\n // status code it received.)\n const body = Buffer.allocUnsafe(2)\n body.writeUInt16BE(this.#info.closeInfo.code, 0)\n const closeFrame = new WebsocketFrameSend(body)\n\n this.ws[kResponse].socket.write(\n closeFrame.createFrame(opcodes.CLOSE),\n (err) => {\n if (!err) {\n this.ws[kSentClose] = true\n }\n }\n )\n }\n\n // Upon either sending or receiving a Close control frame, it is said\n // that _The WebSocket Closing Handshake is Started_ and that the\n // WebSocket connection is in the CLOSING state.\n this.ws[kReadyState] = states.CLOSING\n this.ws[kReceivedClose] = true\n\n this.end()\n\n return\n } else if (this.#info.opcode === opcodes.PING) {\n // Upon receipt of a Ping frame, an endpoint MUST send a Pong frame in\n // response, unless it already received a Close frame.\n // A Pong frame sent in response to a Ping frame must have identical\n // \"Application data\"\n\n const body = this.consume(payloadLength)\n\n if (!this.ws[kReceivedClose]) {\n const frame = new WebsocketFrameSend(body)\n\n this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG))\n\n if (channels.ping.hasSubscribers) {\n channels.ping.publish({\n payload: body\n })\n }\n }\n\n this.#state = parserStates.INFO\n\n if (this.#byteOffset > 0) {\n continue\n } else {\n callback()\n return\n }\n } else if (this.#info.opcode === opcodes.PONG) {\n // A Pong frame MAY be sent unsolicited. This serves as a\n // unidirectional heartbeat. A response to an unsolicited Pong frame is\n // not expected.\n\n const body = this.consume(payloadLength)\n\n if (channels.pong.hasSubscribers) {\n channels.pong.publish({\n payload: body\n })\n }\n\n if (this.#byteOffset > 0) {\n continue\n } else {\n callback()\n return\n }\n }\n } else if (this.#state === parserStates.PAYLOADLENGTH_16) {\n if (this.#byteOffset < 2) {\n return callback()\n }\n\n const buffer = this.consume(2)\n\n this.#info.payloadLength = buffer.readUInt16BE(0)\n this.#state = parserStates.READ_DATA\n } else if (this.#state === parserStates.PAYLOADLENGTH_64) {\n if (this.#byteOffset < 8) {\n return callback()\n }\n\n const buffer = this.consume(8)\n const upper = buffer.readUInt32BE(0)\n\n // 2^31 is the maxinimum bytes an arraybuffer can contain\n // on 32-bit systems. Although, on 64-bit systems, this is\n // 2^53-1 bytes.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Invalid_array_length\n // https://source.chromium.org/chromium/chromium/src/+/main:v8/src/common/globals.h;drc=1946212ac0100668f14eb9e2843bdd846e510a1e;bpv=1;bpt=1;l=1275\n // https://source.chromium.org/chromium/chromium/src/+/main:v8/src/objects/js-array-buffer.h;l=34;drc=1946212ac0100668f14eb9e2843bdd846e510a1e\n if (upper > 2 ** 31 - 1) {\n failWebsocketConnection(this.ws, 'Received payload length > 2^31 bytes.')\n return\n }\n\n const lower = buffer.readUInt32BE(4)\n\n this.#info.payloadLength = (upper << 8) + lower\n this.#state = parserStates.READ_DATA\n } else if (this.#state === parserStates.READ_DATA) {\n if (this.#byteOffset < this.#info.payloadLength) {\n // If there is still more data in this chunk that needs to be read\n return callback()\n } else if (this.#byteOffset >= this.#info.payloadLength) {\n // If the server sent multiple frames in a single chunk\n\n const body = this.consume(this.#info.payloadLength)\n\n this.#fragments.push(body)\n\n // If the frame is unfragmented, or a fragmented frame was terminated,\n // a message was received\n if (!this.#info.fragmented || (this.#info.fin && this.#info.opcode === opcodes.CONTINUATION)) {\n const fullMessage = Buffer.concat(this.#fragments)\n\n websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage)\n\n this.#info = {}\n this.#fragments.length = 0\n }\n\n this.#state = parserStates.INFO\n }\n }\n\n if (this.#byteOffset > 0) {\n continue\n } else {\n callback()\n break\n }\n }\n }\n\n /**\n * Take n bytes from the buffered Buffers\n * @param {number} n\n * @returns {Buffer|null}\n */\n consume (n) {\n if (n > this.#byteOffset) {\n return null\n } else if (n === 0) {\n return emptyBuffer\n }\n\n if (this.#buffers[0].length === n) {\n this.#byteOffset -= this.#buffers[0].length\n return this.#buffers.shift()\n }\n\n const buffer = Buffer.allocUnsafe(n)\n let offset = 0\n\n while (offset !== n) {\n const next = this.#buffers[0]\n const { length } = next\n\n if (length + offset === n) {\n buffer.set(this.#buffers.shift(), offset)\n break\n } else if (length + offset > n) {\n buffer.set(next.subarray(0, n - offset), offset)\n this.#buffers[0] = next.subarray(n - offset)\n break\n } else {\n buffer.set(this.#buffers.shift(), offset)\n offset += next.length\n }\n }\n\n this.#byteOffset -= n\n\n return buffer\n }\n\n parseCloseBody (onlyCode, data) {\n // https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.5\n /** @type {number|undefined} */\n let code\n\n if (data.length >= 2) {\n // _The WebSocket Connection Close Code_ is\n // defined as the status code (Section 7.4) contained in the first Close\n // control frame received by the application\n code = data.readUInt16BE(0)\n }\n\n if (onlyCode) {\n if (!isValidStatusCode(code)) {\n return null\n }\n\n return { code }\n }\n\n // https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.6\n /** @type {Buffer} */\n let reason = data.subarray(2)\n\n // Remove BOM\n if (reason[0] === 0xEF && reason[1] === 0xBB && reason[2] === 0xBF) {\n reason = reason.subarray(3)\n }\n\n if (code !== undefined && !isValidStatusCode(code)) {\n return null\n }\n\n try {\n // TODO: optimize this\n reason = new TextDecoder('utf-8', { fatal: true }).decode(reason)\n } catch {\n return null\n }\n\n return { code, reason }\n }\n\n get closingInfo () {\n return this.#info.closeInfo\n }\n}\n\nmodule.exports = {\n ByteParser\n}\n", "'use strict'\n\nconst { webidl } = require('../fetch/webidl')\nconst { DOMException } = require('../fetch/constants')\nconst { URLSerializer } = require('../fetch/dataURL')\nconst { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require('./constants')\nconst {\n kWebSocketURL,\n kReadyState,\n kController,\n kBinaryType,\n kResponse,\n kSentClose,\n kByteParser\n} = require('./symbols')\nconst { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require('./util')\nconst { establishWebSocketConnection } = require('./connection')\nconst { WebsocketFrameSend } = require('./frame')\nconst { ByteParser } = require('./receiver')\nconst { kEnumerableProperty, isBlobLike } = require('../core/util')\nconst { getGlobalDispatcher } = require('../global')\nconst { types } = require('util')\n\nlet experimentalWarned = false\n\n// https://websockets.spec.whatwg.org/#interface-definition\nclass WebSocket extends EventTarget {\n #events = {\n open: null,\n error: null,\n close: null,\n message: null\n }\n\n #bufferedAmount = 0\n #protocol = ''\n #extensions = ''\n\n /**\n * @param {string} url\n * @param {string|string[]} protocols\n */\n constructor (url, protocols = []) {\n super()\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'WebSocket constructor' })\n\n if (!experimentalWarned) {\n experimentalWarned = true\n process.emitWarning('WebSockets are experimental, expect them to change at any time.', {\n code: 'UNDICI-WS'\n })\n }\n\n const options = webidl.converters['DOMString or sequence<DOMString> or WebSocketInit'](protocols)\n\n url = webidl.converters.USVString(url)\n protocols = options.protocols\n\n // 1. Let urlRecord be the result of applying the URL parser to url.\n let urlRecord\n\n try {\n urlRecord = new URL(url)\n } catch (e) {\n // 2. If urlRecord is failure, then throw a \"SyntaxError\" DOMException.\n throw new DOMException(e, 'SyntaxError')\n }\n\n // 3. If urlRecord\u2019s scheme is not \"ws\" or \"wss\", then throw a\n // \"SyntaxError\" DOMException.\n if (urlRecord.protocol !== 'ws:' && urlRecord.protocol !== 'wss:') {\n throw new DOMException(\n `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,\n 'SyntaxError'\n )\n }\n\n // 4. If urlRecord\u2019s fragment is non-null, then throw a \"SyntaxError\"\n // DOMException.\n if (urlRecord.hash) {\n throw new DOMException('Got fragment', 'SyntaxError')\n }\n\n // 5. If protocols is a string, set protocols to a sequence consisting\n // of just that string.\n if (typeof protocols === 'string') {\n protocols = [protocols]\n }\n\n // 6. If any of the values in protocols occur more than once or otherwise\n // fail to match the requirements for elements that comprise the value\n // of `Sec-WebSocket-Protocol` fields as defined by The WebSocket\n // protocol, then throw a \"SyntaxError\" DOMException.\n if (protocols.length !== new Set(protocols.map(p => p.toLowerCase())).size) {\n throw new DOMException('Invalid Sec-WebSocket-Protocol value', 'SyntaxError')\n }\n\n if (protocols.length > 0 && !protocols.every(p => isValidSubprotocol(p))) {\n throw new DOMException('Invalid Sec-WebSocket-Protocol value', 'SyntaxError')\n }\n\n // 7. Set this's url to urlRecord.\n this[kWebSocketURL] = urlRecord\n\n // 8. Let client be this's relevant settings object.\n\n // 9. Run this step in parallel:\n\n // 1. Establish a WebSocket connection given urlRecord, protocols,\n // and client.\n this[kController] = establishWebSocketConnection(\n urlRecord,\n protocols,\n this,\n (response) => this.#onConnectionEstablished(response),\n options\n )\n\n // Each WebSocket object has an associated ready state, which is a\n // number representing the state of the connection. Initially it must\n // be CONNECTING (0).\n this[kReadyState] = WebSocket.CONNECTING\n\n // The extensions attribute must initially return the empty string.\n\n // The protocol attribute must initially return the empty string.\n\n // Each WebSocket object has an associated binary type, which is a\n // BinaryType. Initially it must be \"blob\".\n this[kBinaryType] = 'blob'\n }\n\n /**\n * @see https://websockets.spec.whatwg.org/#dom-websocket-close\n * @param {number|undefined} code\n * @param {string|undefined} reason\n */\n close (code = undefined, reason = undefined) {\n webidl.brandCheck(this, WebSocket)\n\n if (code !== undefined) {\n code = webidl.converters['unsigned short'](code, { clamp: true })\n }\n\n if (reason !== undefined) {\n reason = webidl.converters.USVString(reason)\n }\n\n // 1. If code is present, but is neither an integer equal to 1000 nor an\n // integer in the range 3000 to 4999, inclusive, throw an\n // \"InvalidAccessError\" DOMException.\n if (code !== undefined) {\n if (code !== 1000 && (code < 3000 || code > 4999)) {\n throw new DOMException('invalid code', 'InvalidAccessError')\n }\n }\n\n let reasonByteLength = 0\n\n // 2. If reason is present, then run these substeps:\n if (reason !== undefined) {\n // 1. Let reasonBytes be the result of encoding reason.\n // 2. If reasonBytes is longer than 123 bytes, then throw a\n // \"SyntaxError\" DOMException.\n reasonByteLength = Buffer.byteLength(reason)\n\n if (reasonByteLength > 123) {\n throw new DOMException(\n `Reason must be less than 123 bytes; received ${reasonByteLength}`,\n 'SyntaxError'\n )\n }\n }\n\n // 3. Run the first matching steps from the following list:\n if (this[kReadyState] === WebSocket.CLOSING || this[kReadyState] === WebSocket.CLOSED) {\n // If this's ready state is CLOSING (2) or CLOSED (3)\n // Do nothing.\n } else if (!isEstablished(this)) {\n // If the WebSocket connection is not yet established\n // Fail the WebSocket connection and set this's ready state\n // to CLOSING (2).\n failWebsocketConnection(this, 'Connection was closed before it was established.')\n this[kReadyState] = WebSocket.CLOSING\n } else if (!isClosing(this)) {\n // If the WebSocket closing handshake has not yet been started\n // Start the WebSocket closing handshake and set this's ready\n // state to CLOSING (2).\n // - If neither code nor reason is present, the WebSocket Close\n // message must not have a body.\n // - If code is present, then the status code to use in the\n // WebSocket Close message must be the integer given by code.\n // - If reason is also present, then reasonBytes must be\n // provided in the Close message after the status code.\n\n const frame = new WebsocketFrameSend()\n\n // If neither code nor reason is present, the WebSocket Close\n // message must not have a body.\n\n // If code is present, then the status code to use in the\n // WebSocket Close message must be the integer given by code.\n if (code !== undefined && reason === undefined) {\n frame.frameData = Buffer.allocUnsafe(2)\n frame.frameData.writeUInt16BE(code, 0)\n } else if (code !== undefined && reason !== undefined) {\n // If reason is also present, then reasonBytes must be\n // provided in the Close message after the status code.\n frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength)\n frame.frameData.writeUInt16BE(code, 0)\n // the body MAY contain UTF-8-encoded data with value /reason/\n frame.frameData.write(reason, 2, 'utf-8')\n } else {\n frame.frameData = emptyBuffer\n }\n\n /** @type {import('stream').Duplex} */\n const socket = this[kResponse].socket\n\n socket.write(frame.createFrame(opcodes.CLOSE), (err) => {\n if (!err) {\n this[kSentClose] = true\n }\n })\n\n // Upon either sending or receiving a Close control frame, it is said\n // that _The WebSocket Closing Handshake is Started_ and that the\n // WebSocket connection is in the CLOSING state.\n this[kReadyState] = states.CLOSING\n } else {\n // Otherwise\n // Set this's ready state to CLOSING (2).\n this[kReadyState] = WebSocket.CLOSING\n }\n }\n\n /**\n * @see https://websockets.spec.whatwg.org/#dom-websocket-send\n * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data\n */\n send (data) {\n webidl.brandCheck(this, WebSocket)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'WebSocket.send' })\n\n data = webidl.converters.WebSocketSendData(data)\n\n // 1. If this's ready state is CONNECTING, then throw an\n // \"InvalidStateError\" DOMException.\n if (this[kReadyState] === WebSocket.CONNECTING) {\n throw new DOMException('Sent before connected.', 'InvalidStateError')\n }\n\n // 2. Run the appropriate set of steps from the following list:\n // https://datatracker.ietf.org/doc/html/rfc6455#section-6.1\n // https://datatracker.ietf.org/doc/html/rfc6455#section-5.2\n\n if (!isEstablished(this) || isClosing(this)) {\n return\n }\n\n /** @type {import('stream').Duplex} */\n const socket = this[kResponse].socket\n\n // If data is a string\n if (typeof data === 'string') {\n // If the WebSocket connection is established and the WebSocket\n // closing handshake has not yet started, then the user agent\n // must send a WebSocket Message comprised of the data argument\n // using a text frame opcode; if the data cannot be sent, e.g.\n // because it would need to be buffered but the buffer is full,\n // the user agent must flag the WebSocket as full and then close\n // the WebSocket connection. Any invocation of this method with a\n // string argument that does not throw an exception must increase\n // the bufferedAmount attribute by the number of bytes needed to\n // express the argument as UTF-8.\n\n const value = Buffer.from(data)\n const frame = new WebsocketFrameSend(value)\n const buffer = frame.createFrame(opcodes.TEXT)\n\n this.#bufferedAmount += value.byteLength\n socket.write(buffer, () => {\n this.#bufferedAmount -= value.byteLength\n })\n } else if (types.isArrayBuffer(data)) {\n // If the WebSocket connection is established, and the WebSocket\n // closing handshake has not yet started, then the user agent must\n // send a WebSocket Message comprised of data using a binary frame\n // opcode; if the data cannot be sent, e.g. because it would need\n // to be buffered but the buffer is full, the user agent must flag\n // the WebSocket as full and then close the WebSocket connection.\n // The data to be sent is the data stored in the buffer described\n // by the ArrayBuffer object. Any invocation of this method with an\n // ArrayBuffer argument that does not throw an exception must\n // increase the bufferedAmount attribute by the length of the\n // ArrayBuffer in bytes.\n\n const value = Buffer.from(data)\n const frame = new WebsocketFrameSend(value)\n const buffer = frame.createFrame(opcodes.BINARY)\n\n this.#bufferedAmount += value.byteLength\n socket.write(buffer, () => {\n this.#bufferedAmount -= value.byteLength\n })\n } else if (ArrayBuffer.isView(data)) {\n // If the WebSocket connection is established, and the WebSocket\n // closing handshake has not yet started, then the user agent must\n // send a WebSocket Message comprised of data using a binary frame\n // opcode; if the data cannot be sent, e.g. because it would need to\n // be buffered but the buffer is full, the user agent must flag the\n // WebSocket as full and then close the WebSocket connection. The\n // data to be sent is the data stored in the section of the buffer\n // described by the ArrayBuffer object that data references. Any\n // invocation of this method with this kind of argument that does\n // not throw an exception must increase the bufferedAmount attribute\n // by the length of data\u2019s buffer in bytes.\n\n const ab = Buffer.from(data, data.byteOffset, data.byteLength)\n\n const frame = new WebsocketFrameSend(ab)\n const buffer = frame.createFrame(opcodes.BINARY)\n\n this.#bufferedAmount += ab.byteLength\n socket.write(buffer, () => {\n this.#bufferedAmount -= ab.byteLength\n })\n } else if (isBlobLike(data)) {\n // If the WebSocket connection is established, and the WebSocket\n // closing handshake has not yet started, then the user agent must\n // send a WebSocket Message comprised of data using a binary frame\n // opcode; if the data cannot be sent, e.g. because it would need to\n // be buffered but the buffer is full, the user agent must flag the\n // WebSocket as full and then close the WebSocket connection. The data\n // to be sent is the raw data represented by the Blob object. Any\n // invocation of this method with a Blob argument that does not throw\n // an exception must increase the bufferedAmount attribute by the size\n // of the Blob object\u2019s raw data, in bytes.\n\n const frame = new WebsocketFrameSend()\n\n data.arrayBuffer().then((ab) => {\n const value = Buffer.from(ab)\n frame.frameData = value\n const buffer = frame.createFrame(opcodes.BINARY)\n\n this.#bufferedAmount += value.byteLength\n socket.write(buffer, () => {\n this.#bufferedAmount -= value.byteLength\n })\n })\n }\n }\n\n get readyState () {\n webidl.brandCheck(this, WebSocket)\n\n // The readyState getter steps are to return this's ready state.\n return this[kReadyState]\n }\n\n get bufferedAmount () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#bufferedAmount\n }\n\n get url () {\n webidl.brandCheck(this, WebSocket)\n\n // The url getter steps are to return this's url, serialized.\n return URLSerializer(this[kWebSocketURL])\n }\n\n get extensions () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#extensions\n }\n\n get protocol () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#protocol\n }\n\n get onopen () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#events.open\n }\n\n set onopen (fn) {\n webidl.brandCheck(this, WebSocket)\n\n if (this.#events.open) {\n this.removeEventListener('open', this.#events.open)\n }\n\n if (typeof fn === 'function') {\n this.#events.open = fn\n this.addEventListener('open', fn)\n } else {\n this.#events.open = null\n }\n }\n\n get onerror () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#events.error\n }\n\n set onerror (fn) {\n webidl.brandCheck(this, WebSocket)\n\n if (this.#events.error) {\n this.removeEventListener('error', this.#events.error)\n }\n\n if (typeof fn === 'function') {\n this.#events.error = fn\n this.addEventListener('error', fn)\n } else {\n this.#events.error = null\n }\n }\n\n get onclose () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#events.close\n }\n\n set onclose (fn) {\n webidl.brandCheck(this, WebSocket)\n\n if (this.#events.close) {\n this.removeEventListener('close', this.#events.close)\n }\n\n if (typeof fn === 'function') {\n this.#events.close = fn\n this.addEventListener('close', fn)\n } else {\n this.#events.close = null\n }\n }\n\n get onmessage () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#events.message\n }\n\n set onmessage (fn) {\n webidl.brandCheck(this, WebSocket)\n\n if (this.#events.message) {\n this.removeEventListener('message', this.#events.message)\n }\n\n if (typeof fn === 'function') {\n this.#events.message = fn\n this.addEventListener('message', fn)\n } else {\n this.#events.message = null\n }\n }\n\n get binaryType () {\n webidl.brandCheck(this, WebSocket)\n\n return this[kBinaryType]\n }\n\n set binaryType (type) {\n webidl.brandCheck(this, WebSocket)\n\n if (type !== 'blob' && type !== 'arraybuffer') {\n this[kBinaryType] = 'blob'\n } else {\n this[kBinaryType] = type\n }\n }\n\n /**\n * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol\n */\n #onConnectionEstablished (response) {\n // processResponse is called when the \"response\u2019s header list has been received and initialized.\"\n // once this happens, the connection is open\n this[kResponse] = response\n\n const parser = new ByteParser(this)\n parser.on('drain', function onParserDrain () {\n this.ws[kResponse].socket.resume()\n })\n\n response.socket.ws = this\n this[kByteParser] = parser\n\n // 1. Change the ready state to OPEN (1).\n this[kReadyState] = states.OPEN\n\n // 2. Change the extensions attribute\u2019s value to the extensions in use, if\n // it is not the null value.\n // https://datatracker.ietf.org/doc/html/rfc6455#section-9.1\n const extensions = response.headersList.get('sec-websocket-extensions')\n\n if (extensions !== null) {\n this.#extensions = extensions\n }\n\n // 3. Change the protocol attribute\u2019s value to the subprotocol in use, if\n // it is not the null value.\n // https://datatracker.ietf.org/doc/html/rfc6455#section-1.9\n const protocol = response.headersList.get('sec-websocket-protocol')\n\n if (protocol !== null) {\n this.#protocol = protocol\n }\n\n // 4. Fire an event named open at the WebSocket object.\n fireEvent('open', this)\n }\n}\n\n// https://websockets.spec.whatwg.org/#dom-websocket-connecting\nWebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING\n// https://websockets.spec.whatwg.org/#dom-websocket-open\nWebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN\n// https://websockets.spec.whatwg.org/#dom-websocket-closing\nWebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING\n// https://websockets.spec.whatwg.org/#dom-websocket-closed\nWebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED\n\nObject.defineProperties(WebSocket.prototype, {\n CONNECTING: staticPropertyDescriptors,\n OPEN: staticPropertyDescriptors,\n CLOSING: staticPropertyDescriptors,\n CLOSED: staticPropertyDescriptors,\n url: kEnumerableProperty,\n readyState: kEnumerableProperty,\n bufferedAmount: kEnumerableProperty,\n onopen: kEnumerableProperty,\n onerror: kEnumerableProperty,\n onclose: kEnumerableProperty,\n close: kEnumerableProperty,\n onmessage: kEnumerableProperty,\n binaryType: kEnumerableProperty,\n send: kEnumerableProperty,\n extensions: kEnumerableProperty,\n protocol: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: 'WebSocket',\n writable: false,\n enumerable: false,\n configurable: true\n }\n})\n\nObject.defineProperties(WebSocket, {\n CONNECTING: staticPropertyDescriptors,\n OPEN: staticPropertyDescriptors,\n CLOSING: staticPropertyDescriptors,\n CLOSED: staticPropertyDescriptors\n})\n\nwebidl.converters['sequence<DOMString>'] = webidl.sequenceConverter(\n webidl.converters.DOMString\n)\n\nwebidl.converters['DOMString or sequence<DOMString>'] = function (V) {\n if (webidl.util.Type(V) === 'Object' && Symbol.iterator in V) {\n return webidl.converters['sequence<DOMString>'](V)\n }\n\n return webidl.converters.DOMString(V)\n}\n\n// This implements the propsal made in https://github.com/whatwg/websockets/issues/42\nwebidl.converters.WebSocketInit = webidl.dictionaryConverter([\n {\n key: 'protocols',\n converter: webidl.converters['DOMString or sequence<DOMString>'],\n get defaultValue () {\n return []\n }\n },\n {\n key: 'dispatcher',\n converter: (V) => V,\n get defaultValue () {\n return getGlobalDispatcher()\n }\n },\n {\n key: 'headers',\n converter: webidl.nullableConverter(webidl.converters.HeadersInit)\n }\n])\n\nwebidl.converters['DOMString or sequence<DOMString> or WebSocketInit'] = function (V) {\n if (webidl.util.Type(V) === 'Object' && !(Symbol.iterator in V)) {\n return webidl.converters.WebSocketInit(V)\n }\n\n return { protocols: webidl.converters['DOMString or sequence<DOMString>'](V) }\n}\n\nwebidl.converters.WebSocketSendData = function (V) {\n if (webidl.util.Type(V) === 'Object') {\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, { strict: false })\n }\n\n if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {\n return webidl.converters.BufferSource(V)\n }\n }\n\n return webidl.converters.USVString(V)\n}\n\nmodule.exports = {\n WebSocket\n}\n", "'use strict'\n\nconst Client = require('./lib/client')\nconst Dispatcher = require('./lib/dispatcher')\nconst errors = require('./lib/core/errors')\nconst Pool = require('./lib/pool')\nconst BalancedPool = require('./lib/balanced-pool')\nconst Agent = require('./lib/agent')\nconst util = require('./lib/core/util')\nconst { InvalidArgumentError } = errors\nconst api = require('./lib/api')\nconst buildConnector = require('./lib/core/connect')\nconst MockClient = require('./lib/mock/mock-client')\nconst MockAgent = require('./lib/mock/mock-agent')\nconst MockPool = require('./lib/mock/mock-pool')\nconst mockErrors = require('./lib/mock/mock-errors')\nconst ProxyAgent = require('./lib/proxy-agent')\nconst { getGlobalDispatcher, setGlobalDispatcher } = require('./lib/global')\nconst DecoratorHandler = require('./lib/handler/DecoratorHandler')\nconst RedirectHandler = require('./lib/handler/RedirectHandler')\nconst createRedirectInterceptor = require('./lib/interceptor/redirectInterceptor')\n\nlet hasCrypto\ntry {\n require('crypto')\n hasCrypto = true\n} catch {\n hasCrypto = false\n}\n\nObject.assign(Dispatcher.prototype, api)\n\nmodule.exports.Dispatcher = Dispatcher\nmodule.exports.Client = Client\nmodule.exports.Pool = Pool\nmodule.exports.BalancedPool = BalancedPool\nmodule.exports.Agent = Agent\nmodule.exports.ProxyAgent = ProxyAgent\n\nmodule.exports.DecoratorHandler = DecoratorHandler\nmodule.exports.RedirectHandler = RedirectHandler\nmodule.exports.createRedirectInterceptor = createRedirectInterceptor\n\nmodule.exports.buildConnector = buildConnector\nmodule.exports.errors = errors\n\nfunction makeDispatcher (fn) {\n return (url, opts, handler) => {\n if (typeof opts === 'function') {\n handler = opts\n opts = null\n }\n\n if (!url || (typeof url !== 'string' && typeof url !== 'object' && !(url instanceof URL))) {\n throw new InvalidArgumentError('invalid url')\n }\n\n if (opts != null && typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n if (opts && opts.path != null) {\n if (typeof opts.path !== 'string') {\n throw new InvalidArgumentError('invalid opts.path')\n }\n\n let path = opts.path\n if (!opts.path.startsWith('/')) {\n path = `/${path}`\n }\n\n url = new URL(util.parseOrigin(url).origin + path)\n } else {\n if (!opts) {\n opts = typeof url === 'object' ? url : {}\n }\n\n url = util.parseURL(url)\n }\n\n const { agent, dispatcher = getGlobalDispatcher() } = opts\n\n if (agent) {\n throw new InvalidArgumentError('unsupported opts.agent. Did you mean opts.client?')\n }\n\n return fn.call(dispatcher, {\n ...opts,\n origin: url.origin,\n path: url.search ? `${url.pathname}${url.search}` : url.pathname,\n method: opts.method || (opts.body ? 'PUT' : 'GET')\n }, handler)\n }\n}\n\nmodule.exports.setGlobalDispatcher = setGlobalDispatcher\nmodule.exports.getGlobalDispatcher = getGlobalDispatcher\n\nif (util.nodeMajor > 16 || (util.nodeMajor === 16 && util.nodeMinor >= 8)) {\n let fetchImpl = null\n module.exports.fetch = async function fetch (resource) {\n if (!fetchImpl) {\n fetchImpl = require('./lib/fetch').fetch\n }\n\n try {\n return await fetchImpl(...arguments)\n } catch (err) {\n Error.captureStackTrace(err, this)\n throw err\n }\n }\n module.exports.Headers = require('./lib/fetch/headers').Headers\n module.exports.Response = require('./lib/fetch/response').Response\n module.exports.Request = require('./lib/fetch/request').Request\n module.exports.FormData = require('./lib/fetch/formdata').FormData\n module.exports.File = require('./lib/fetch/file').File\n module.exports.FileReader = require('./lib/fileapi/filereader').FileReader\n\n const { setGlobalOrigin, getGlobalOrigin } = require('./lib/fetch/global')\n\n module.exports.setGlobalOrigin = setGlobalOrigin\n module.exports.getGlobalOrigin = getGlobalOrigin\n\n const { CacheStorage } = require('./lib/cache/cachestorage')\n const { kConstruct } = require('./lib/cache/symbols')\n\n // Cache & CacheStorage are tightly coupled with fetch. Even if it may run\n // in an older version of Node, it doesn't have any use without fetch.\n module.exports.caches = new CacheStorage(kConstruct)\n}\n\nif (util.nodeMajor >= 16) {\n const { deleteCookie, getCookies, getSetCookies, setCookie } = require('./lib/cookies')\n\n module.exports.deleteCookie = deleteCookie\n module.exports.getCookies = getCookies\n module.exports.getSetCookies = getSetCookies\n module.exports.setCookie = setCookie\n\n const { parseMIMEType, serializeAMimeType } = require('./lib/fetch/dataURL')\n\n module.exports.parseMIMEType = parseMIMEType\n module.exports.serializeAMimeType = serializeAMimeType\n}\n\nif (util.nodeMajor >= 18 && hasCrypto) {\n const { WebSocket } = require('./lib/websocket/websocket')\n\n module.exports.WebSocket = WebSocket\n}\n\nmodule.exports.request = makeDispatcher(api.request)\nmodule.exports.stream = makeDispatcher(api.stream)\nmodule.exports.pipeline = makeDispatcher(api.pipeline)\nmodule.exports.connect = makeDispatcher(api.connect)\nmodule.exports.upgrade = makeDispatcher(api.upgrade)\n\nmodule.exports.MockClient = MockClient\nmodule.exports.MockPool = MockPool\nmodule.exports.MockAgent = MockAgent\nmodule.exports.mockErrors = mockErrors\n", null, null, null, "'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n", "'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n", "'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n", "'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n", "'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n", "'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n", "'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n", "'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n", "'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n", "'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n", "/**\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", "\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n", "/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n", "'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n", "'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tforceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = 1;\n}\n\nif ('FORCE_COLOR' in env) {\n\tif (env.FORCE_COLOR === 'true') {\n\t\tforceColor = 1;\n\t} else if (env.FORCE_COLOR === 'false') {\n\t\tforceColor = 0;\n\t} else {\n\t\tforceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(haveStream, streamIsTTY) {\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream, stream && stream.isTTY);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: translateLevel(supportsColor(true, tty.isatty(1))),\n\tstderr: translateLevel(supportsColor(true, tty.isatty(2)))\n};\n", "/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.format(...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n", "/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n", "var debug;\n\nmodule.exports = function () {\n if (!debug) {\n try {\n /* eslint global-require: off */\n debug = require(\"debug\")(\"follow-redirects\");\n }\n catch (error) { /* */ }\n if (typeof debug !== \"function\") {\n debug = function () { /* */ };\n }\n }\n debug.apply(null, arguments);\n};\n", "var url = require(\"url\");\nvar URL = url.URL;\nvar http = require(\"http\");\nvar https = require(\"https\");\nvar Writable = require(\"stream\").Writable;\nvar assert = require(\"assert\");\nvar debug = require(\"./debug\");\n\n// Whether to use the native URL object or the legacy url module\nvar useNativeURL = false;\ntry {\n assert(new URL());\n}\ncatch (error) {\n useNativeURL = error.code === \"ERR_INVALID_URL\";\n}\n\n// URL fields to preserve in copy operations\nvar preservedUrlFields = [\n \"auth\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"hash\",\n];\n\n// Create handlers that pass events from native requests\nvar events = [\"abort\", \"aborted\", \"connect\", \"error\", \"socket\", \"timeout\"];\nvar eventHandlers = Object.create(null);\nevents.forEach(function (event) {\n eventHandlers[event] = function (arg1, arg2, arg3) {\n this._redirectable.emit(event, arg1, arg2, arg3);\n };\n});\n\n// Error types with codes\nvar InvalidUrlError = createErrorType(\n \"ERR_INVALID_URL\",\n \"Invalid URL\",\n TypeError\n);\nvar RedirectionError = createErrorType(\n \"ERR_FR_REDIRECTION_FAILURE\",\n \"Redirected request failed\"\n);\nvar TooManyRedirectsError = createErrorType(\n \"ERR_FR_TOO_MANY_REDIRECTS\",\n \"Maximum number of redirects exceeded\",\n RedirectionError\n);\nvar MaxBodyLengthExceededError = createErrorType(\n \"ERR_FR_MAX_BODY_LENGTH_EXCEEDED\",\n \"Request body larger than maxBodyLength limit\"\n);\nvar WriteAfterEndError = createErrorType(\n \"ERR_STREAM_WRITE_AFTER_END\",\n \"write after end\"\n);\n\n// istanbul ignore next\nvar destroy = Writable.prototype.destroy || noop;\n\n// An HTTP(S) request that can be redirected\nfunction RedirectableRequest(options, responseCallback) {\n // Initialize the request\n Writable.call(this);\n this._sanitizeOptions(options);\n this._options = options;\n this._ended = false;\n this._ending = false;\n this._redirectCount = 0;\n this._redirects = [];\n this._requestBodyLength = 0;\n this._requestBodyBuffers = [];\n\n // Attach a callback if passed\n if (responseCallback) {\n this.on(\"response\", responseCallback);\n }\n\n // React to responses of native requests\n var self = this;\n this._onNativeResponse = function (response) {\n try {\n self._processResponse(response);\n }\n catch (cause) {\n self.emit(\"error\", cause instanceof RedirectionError ?\n cause : new RedirectionError({ cause: cause }));\n }\n };\n\n // Perform the first request\n this._performRequest();\n}\nRedirectableRequest.prototype = Object.create(Writable.prototype);\n\nRedirectableRequest.prototype.abort = function () {\n destroyRequest(this._currentRequest);\n this._currentRequest.abort();\n this.emit(\"abort\");\n};\n\nRedirectableRequest.prototype.destroy = function (error) {\n destroyRequest(this._currentRequest, error);\n destroy.call(this, error);\n return this;\n};\n\n// Writes buffered data to the current native request\nRedirectableRequest.prototype.write = function (data, encoding, callback) {\n // Writing is not allowed if end has been called\n if (this._ending) {\n throw new WriteAfterEndError();\n }\n\n // Validate input and shift parameters if necessary\n if (!isString(data) && !isBuffer(data)) {\n throw new TypeError(\"data should be a string, Buffer or Uint8Array\");\n }\n if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Ignore empty buffers, since writing them doesn't invoke the callback\n // https://github.com/nodejs/node/issues/22066\n if (data.length === 0) {\n if (callback) {\n callback();\n }\n return;\n }\n // Only write when we don't exceed the maximum body length\n if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {\n this._requestBodyLength += data.length;\n this._requestBodyBuffers.push({ data: data, encoding: encoding });\n this._currentRequest.write(data, encoding, callback);\n }\n // Error when we exceed the maximum body length\n else {\n this.emit(\"error\", new MaxBodyLengthExceededError());\n this.abort();\n }\n};\n\n// Ends the current native request\nRedirectableRequest.prototype.end = function (data, encoding, callback) {\n // Shift parameters if necessary\n if (isFunction(data)) {\n callback = data;\n data = encoding = null;\n }\n else if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Write data if needed and end\n if (!data) {\n this._ended = this._ending = true;\n this._currentRequest.end(null, null, callback);\n }\n else {\n var self = this;\n var currentRequest = this._currentRequest;\n this.write(data, encoding, function () {\n self._ended = true;\n currentRequest.end(null, null, callback);\n });\n this._ending = true;\n }\n};\n\n// Sets a header value on the current native request\nRedirectableRequest.prototype.setHeader = function (name, value) {\n this._options.headers[name] = value;\n this._currentRequest.setHeader(name, value);\n};\n\n// Clears a header value on the current native request\nRedirectableRequest.prototype.removeHeader = function (name) {\n delete this._options.headers[name];\n this._currentRequest.removeHeader(name);\n};\n\n// Global timeout for all underlying requests\nRedirectableRequest.prototype.setTimeout = function (msecs, callback) {\n var self = this;\n\n // Destroys the socket on timeout\n function destroyOnTimeout(socket) {\n socket.setTimeout(msecs);\n socket.removeListener(\"timeout\", socket.destroy);\n socket.addListener(\"timeout\", socket.destroy);\n }\n\n // Sets up a timer to trigger a timeout event\n function startTimer(socket) {\n if (self._timeout) {\n clearTimeout(self._timeout);\n }\n self._timeout = setTimeout(function () {\n self.emit(\"timeout\");\n clearTimer();\n }, msecs);\n destroyOnTimeout(socket);\n }\n\n // Stops a timeout from triggering\n function clearTimer() {\n // Clear the timeout\n if (self._timeout) {\n clearTimeout(self._timeout);\n self._timeout = null;\n }\n\n // Clean up all attached listeners\n self.removeListener(\"abort\", clearTimer);\n self.removeListener(\"error\", clearTimer);\n self.removeListener(\"response\", clearTimer);\n self.removeListener(\"close\", clearTimer);\n if (callback) {\n self.removeListener(\"timeout\", callback);\n }\n if (!self.socket) {\n self._currentRequest.removeListener(\"socket\", startTimer);\n }\n }\n\n // Attach callback if passed\n if (callback) {\n this.on(\"timeout\", callback);\n }\n\n // Start the timer if or when the socket is opened\n if (this.socket) {\n startTimer(this.socket);\n }\n else {\n this._currentRequest.once(\"socket\", startTimer);\n }\n\n // Clean up on events\n this.on(\"socket\", destroyOnTimeout);\n this.on(\"abort\", clearTimer);\n this.on(\"error\", clearTimer);\n this.on(\"response\", clearTimer);\n this.on(\"close\", clearTimer);\n\n return this;\n};\n\n// Proxy all other public ClientRequest methods\n[\n \"flushHeaders\", \"getHeader\",\n \"setNoDelay\", \"setSocketKeepAlive\",\n].forEach(function (method) {\n RedirectableRequest.prototype[method] = function (a, b) {\n return this._currentRequest[method](a, b);\n };\n});\n\n// Proxy all public ClientRequest properties\n[\"aborted\", \"connection\", \"socket\"].forEach(function (property) {\n Object.defineProperty(RedirectableRequest.prototype, property, {\n get: function () { return this._currentRequest[property]; },\n });\n});\n\nRedirectableRequest.prototype._sanitizeOptions = function (options) {\n // Ensure headers are always present\n if (!options.headers) {\n options.headers = {};\n }\n\n // Since http.request treats host as an alias of hostname,\n // but the url module interprets host as hostname plus port,\n // eliminate the host property to avoid confusion.\n if (options.host) {\n // Use hostname if set, because it has precedence\n if (!options.hostname) {\n options.hostname = options.host;\n }\n delete options.host;\n }\n\n // Complete the URL object when necessary\n if (!options.pathname && options.path) {\n var searchPos = options.path.indexOf(\"?\");\n if (searchPos < 0) {\n options.pathname = options.path;\n }\n else {\n options.pathname = options.path.substring(0, searchPos);\n options.search = options.path.substring(searchPos);\n }\n }\n};\n\n\n// Executes the next native request (initial or redirect)\nRedirectableRequest.prototype._performRequest = function () {\n // Load the native protocol\n var protocol = this._options.protocol;\n var nativeProtocol = this._options.nativeProtocols[protocol];\n if (!nativeProtocol) {\n throw new TypeError(\"Unsupported protocol \" + protocol);\n }\n\n // If specified, use the agent corresponding to the protocol\n // (HTTP and HTTPS use different types of agents)\n if (this._options.agents) {\n var scheme = protocol.slice(0, -1);\n this._options.agent = this._options.agents[scheme];\n }\n\n // Create the native request and set up its event handlers\n var request = this._currentRequest =\n nativeProtocol.request(this._options, this._onNativeResponse);\n request._redirectable = this;\n for (var event of events) {\n request.on(event, eventHandlers[event]);\n }\n\n // RFC7230\u00A75.3.1: When making a request directly to an origin server, [\u2026]\n // a client MUST send only the absolute path [\u2026] as the request-target.\n this._currentUrl = /^\\//.test(this._options.path) ?\n url.format(this._options) :\n // When making a request to a proxy, [\u2026]\n // a client MUST send the target URI in absolute-form [\u2026].\n this._options.path;\n\n // End a redirected request\n // (The first request must be ended explicitly with RedirectableRequest#end)\n if (this._isRedirect) {\n // Write the request entity and end\n var i = 0;\n var self = this;\n var buffers = this._requestBodyBuffers;\n (function writeNext(error) {\n // Only write if this request has not been redirected yet\n /* istanbul ignore else */\n if (request === self._currentRequest) {\n // Report any write errors\n /* istanbul ignore if */\n if (error) {\n self.emit(\"error\", error);\n }\n // Write the next buffer if there are still left\n else if (i < buffers.length) {\n var buffer = buffers[i++];\n /* istanbul ignore else */\n if (!request.finished) {\n request.write(buffer.data, buffer.encoding, writeNext);\n }\n }\n // End the request if `end` has been called on us\n else if (self._ended) {\n request.end();\n }\n }\n }());\n }\n};\n\n// Processes a response from the current native request\nRedirectableRequest.prototype._processResponse = function (response) {\n // Store the redirected response\n var statusCode = response.statusCode;\n if (this._options.trackRedirects) {\n this._redirects.push({\n url: this._currentUrl,\n headers: response.headers,\n statusCode: statusCode,\n });\n }\n\n // RFC7231\u00A76.4: The 3xx (Redirection) class of status code indicates\n // that further action needs to be taken by the user agent in order to\n // fulfill the request. If a Location header field is provided,\n // the user agent MAY automatically redirect its request to the URI\n // referenced by the Location field value,\n // even if the specific status code is not understood.\n\n // If the response is not a redirect; return it as-is\n var location = response.headers.location;\n if (!location || this._options.followRedirects === false ||\n statusCode < 300 || statusCode >= 400) {\n response.responseUrl = this._currentUrl;\n response.redirects = this._redirects;\n this.emit(\"response\", response);\n\n // Clean up\n this._requestBodyBuffers = [];\n return;\n }\n\n // The response is a redirect, so abort the current request\n destroyRequest(this._currentRequest);\n // Discard the remainder of the response to avoid waiting for data\n response.destroy();\n\n // RFC7231\u00A76.4: A client SHOULD detect and intervene\n // in cyclical redirections (i.e., \"infinite\" redirection loops).\n if (++this._redirectCount > this._options.maxRedirects) {\n throw new TooManyRedirectsError();\n }\n\n // Store the request headers if applicable\n var requestHeaders;\n var beforeRedirect = this._options.beforeRedirect;\n if (beforeRedirect) {\n requestHeaders = Object.assign({\n // The Host header was set by nativeProtocol.request\n Host: response.req.getHeader(\"host\"),\n }, this._options.headers);\n }\n\n // RFC7231\u00A76.4: Automatic redirection needs to done with\n // care for methods not known to be safe, [\u2026]\n // RFC7231\u00A76.4.2\u20133: For historical reasons, a user agent MAY change\n // the request method from POST to GET for the subsequent request.\n var method = this._options.method;\n if ((statusCode === 301 || statusCode === 302) && this._options.method === \"POST\" ||\n // RFC7231\u00A76.4.4: The 303 (See Other) status code indicates that\n // the server is redirecting the user agent to a different resource [\u2026]\n // A user agent can perform a retrieval request targeting that URI\n // (a GET or HEAD request if using HTTP) [\u2026]\n (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) {\n this._options.method = \"GET\";\n // Drop a possible entity and headers related to it\n this._requestBodyBuffers = [];\n removeMatchingHeaders(/^content-/i, this._options.headers);\n }\n\n // Drop the Host header, as the redirect might lead to a different host\n var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);\n\n // If the redirect is relative, carry over the host of the last request\n var currentUrlParts = parseUrl(this._currentUrl);\n var currentHost = currentHostHeader || currentUrlParts.host;\n var currentUrl = /^\\w+:/.test(location) ? this._currentUrl :\n url.format(Object.assign(currentUrlParts, { host: currentHost }));\n\n // Create the redirected request\n var redirectUrl = resolveUrl(location, currentUrl);\n debug(\"redirecting to\", redirectUrl.href);\n this._isRedirect = true;\n spreadUrlObject(redirectUrl, this._options);\n\n // Drop confidential headers when redirecting to a less secure protocol\n // or to a different domain that is not a superdomain\n if (redirectUrl.protocol !== currentUrlParts.protocol &&\n redirectUrl.protocol !== \"https:\" ||\n redirectUrl.host !== currentHost &&\n !isSubdomain(redirectUrl.host, currentHost)) {\n removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers);\n }\n\n // Evaluate the beforeRedirect callback\n if (isFunction(beforeRedirect)) {\n var responseDetails = {\n headers: response.headers,\n statusCode: statusCode,\n };\n var requestDetails = {\n url: currentUrl,\n method: method,\n headers: requestHeaders,\n };\n beforeRedirect(this._options, responseDetails, requestDetails);\n this._sanitizeOptions(this._options);\n }\n\n // Perform the redirected request\n this._performRequest();\n};\n\n// Wraps the key/value object of protocols with redirect functionality\nfunction wrap(protocols) {\n // Default settings\n var exports = {\n maxRedirects: 21,\n maxBodyLength: 10 * 1024 * 1024,\n };\n\n // Wrap each protocol\n var nativeProtocols = {};\n Object.keys(protocols).forEach(function (scheme) {\n var protocol = scheme + \":\";\n var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];\n var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol);\n\n // Executes a request, following redirects\n function request(input, options, callback) {\n // Parse parameters, ensuring that input is an object\n if (isURL(input)) {\n input = spreadUrlObject(input);\n }\n else if (isString(input)) {\n input = spreadUrlObject(parseUrl(input));\n }\n else {\n callback = options;\n options = validateUrl(input);\n input = { protocol: protocol };\n }\n if (isFunction(options)) {\n callback = options;\n options = null;\n }\n\n // Set defaults\n options = Object.assign({\n maxRedirects: exports.maxRedirects,\n maxBodyLength: exports.maxBodyLength,\n }, input, options);\n options.nativeProtocols = nativeProtocols;\n if (!isString(options.host) && !isString(options.hostname)) {\n options.hostname = \"::1\";\n }\n\n assert.equal(options.protocol, protocol, \"protocol mismatch\");\n debug(\"options\", options);\n return new RedirectableRequest(options, callback);\n }\n\n // Executes a GET request, following redirects\n function get(input, options, callback) {\n var wrappedRequest = wrappedProtocol.request(input, options, callback);\n wrappedRequest.end();\n return wrappedRequest;\n }\n\n // Expose the properties on the wrapped protocol\n Object.defineProperties(wrappedProtocol, {\n request: { value: request, configurable: true, enumerable: true, writable: true },\n get: { value: get, configurable: true, enumerable: true, writable: true },\n });\n });\n return exports;\n}\n\nfunction noop() { /* empty */ }\n\nfunction parseUrl(input) {\n var parsed;\n /* istanbul ignore else */\n if (useNativeURL) {\n parsed = new URL(input);\n }\n else {\n // Ensure the URL is valid and absolute\n parsed = validateUrl(url.parse(input));\n if (!isString(parsed.protocol)) {\n throw new InvalidUrlError({ input });\n }\n }\n return parsed;\n}\n\nfunction resolveUrl(relative, base) {\n /* istanbul ignore next */\n return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative));\n}\n\nfunction validateUrl(input) {\n if (/^\\[/.test(input.hostname) && !/^\\[[:0-9a-f]+\\]$/i.test(input.hostname)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n if (/^\\[/.test(input.host) && !/^\\[[:0-9a-f]+\\](:\\d+)?$/i.test(input.host)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n return input;\n}\n\nfunction spreadUrlObject(urlObject, target) {\n var spread = target || {};\n for (var key of preservedUrlFields) {\n spread[key] = urlObject[key];\n }\n\n // Fix IPv6 hostname\n if (spread.hostname.startsWith(\"[\")) {\n spread.hostname = spread.hostname.slice(1, -1);\n }\n // Ensure port is a number\n if (spread.port !== \"\") {\n spread.port = Number(spread.port);\n }\n // Concatenate path\n spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;\n\n return spread;\n}\n\nfunction removeMatchingHeaders(regex, headers) {\n var lastValue;\n for (var header in headers) {\n if (regex.test(header)) {\n lastValue = headers[header];\n delete headers[header];\n }\n }\n return (lastValue === null || typeof lastValue === \"undefined\") ?\n undefined : String(lastValue).trim();\n}\n\nfunction createErrorType(code, message, baseClass) {\n // Create constructor\n function CustomError(properties) {\n Error.captureStackTrace(this, this.constructor);\n Object.assign(this, properties || {});\n this.code = code;\n this.message = this.cause ? message + \": \" + this.cause.message : message;\n }\n\n // Attach constructor and set default properties\n CustomError.prototype = new (baseClass || Error)();\n Object.defineProperties(CustomError.prototype, {\n constructor: {\n value: CustomError,\n enumerable: false,\n },\n name: {\n value: \"Error [\" + code + \"]\",\n enumerable: false,\n },\n });\n return CustomError;\n}\n\nfunction destroyRequest(request, error) {\n for (var event of events) {\n request.removeListener(event, eventHandlers[event]);\n }\n request.on(\"error\", noop);\n request.destroy(error);\n}\n\nfunction isSubdomain(subdomain, domain) {\n assert(isString(subdomain) && isString(domain));\n var dot = subdomain.length - domain.length - 1;\n return dot > 0 && subdomain[dot] === \".\" && subdomain.endsWith(domain);\n}\n\nfunction isString(value) {\n return typeof value === \"string\" || value instanceof String;\n}\n\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\nfunction isBuffer(value) {\n return typeof value === \"object\" && (\"length\" in value);\n}\n\nfunction isURL(value) {\n return URL && value instanceof URL;\n}\n\n// Exports\nmodule.exports = wrap({ http: http, https: https });\nmodule.exports.wrap = wrap;\n", "{\n \"name\": \"axios\",\n \"version\": \"0.21.4\",\n \"description\": \"Promise based HTTP client for the browser and node.js\",\n \"main\": \"index.js\",\n \"scripts\": {\n \"test\": \"grunt test\",\n \"start\": \"node ./sandbox/server.js\",\n \"build\": \"NODE_ENV=production grunt build\",\n \"preversion\": \"npm test\",\n \"version\": \"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json\",\n \"postversion\": \"git push && git push --tags\",\n \"examples\": \"node ./examples/server.js\",\n \"coveralls\": \"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js\",\n \"fix\": \"eslint --fix lib/**/*.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/axios/axios.git\"\n },\n \"keywords\": [\n \"xhr\",\n \"http\",\n \"ajax\",\n \"promise\",\n \"node\"\n ],\n \"author\": \"Matt Zabriskie\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/axios/axios/issues\"\n },\n \"homepage\": \"https://axios-http.com\",\n \"devDependencies\": {\n \"coveralls\": \"^3.0.0\",\n \"es6-promise\": \"^4.2.4\",\n \"grunt\": \"^1.3.0\",\n \"grunt-banner\": \"^0.6.0\",\n \"grunt-cli\": \"^1.2.0\",\n \"grunt-contrib-clean\": \"^1.1.0\",\n \"grunt-contrib-watch\": \"^1.0.0\",\n \"grunt-eslint\": \"^23.0.0\",\n \"grunt-karma\": \"^4.0.0\",\n \"grunt-mocha-test\": \"^0.13.3\",\n \"grunt-ts\": \"^6.0.0-beta.19\",\n \"grunt-webpack\": \"^4.0.2\",\n \"istanbul-instrumenter-loader\": \"^1.0.0\",\n \"jasmine-core\": \"^2.4.1\",\n \"karma\": \"^6.3.2\",\n \"karma-chrome-launcher\": \"^3.1.0\",\n \"karma-firefox-launcher\": \"^2.1.0\",\n \"karma-jasmine\": \"^1.1.1\",\n \"karma-jasmine-ajax\": \"^0.1.13\",\n \"karma-safari-launcher\": \"^1.0.0\",\n \"karma-sauce-launcher\": \"^4.3.6\",\n \"karma-sinon\": \"^1.0.5\",\n \"karma-sourcemap-loader\": \"^0.3.8\",\n \"karma-webpack\": \"^4.0.2\",\n \"load-grunt-tasks\": \"^3.5.2\",\n \"minimist\": \"^1.2.0\",\n \"mocha\": \"^8.2.1\",\n \"sinon\": \"^4.5.0\",\n \"terser-webpack-plugin\": \"^4.2.3\",\n \"typescript\": \"^4.0.5\",\n \"url-search-params\": \"^0.10.0\",\n \"webpack\": \"^4.44.2\",\n \"webpack-dev-server\": \"^3.11.0\"\n },\n \"browser\": {\n \"./lib/adapters/http.js\": \"./lib/adapters/xhr.js\"\n },\n \"jsdelivr\": \"dist/axios.min.js\",\n \"unpkg\": \"dist/axios.min.js\",\n \"typings\": \"./index.d.ts\",\n \"dependencies\": {\n \"follow-redirects\": \"^1.14.0\"\n },\n \"bundlesize\": [\n {\n \"path\": \"./dist/axios.min.js\",\n \"threshold\": \"5kB\"\n }\n ]\n}\n", "'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildFullPath = require('../core/buildFullPath');\nvar buildURL = require('./../helpers/buildURL');\nvar http = require('http');\nvar https = require('https');\nvar httpFollow = require('follow-redirects').http;\nvar httpsFollow = require('follow-redirects').https;\nvar url = require('url');\nvar zlib = require('zlib');\nvar pkg = require('./../../package.json');\nvar createError = require('../core/createError');\nvar enhanceError = require('../core/enhanceError');\n\nvar isHttps = /https:?/;\n\n/**\n *\n * @param {http.ClientRequestArgs} options\n * @param {AxiosProxyConfig} proxy\n * @param {string} location\n */\nfunction setProxy(options, proxy, location) {\n options.hostname = proxy.host;\n options.host = proxy.host;\n options.port = proxy.port;\n options.path = location;\n\n // Basic proxy authorization\n if (proxy.auth) {\n var base64 = Buffer.from(proxy.auth.username + ':' + proxy.auth.password, 'utf8').toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n\n // If a proxy is used, any redirects must also pass through the proxy\n options.beforeRedirect = function beforeRedirect(redirection) {\n redirection.headers.host = redirection.host;\n setProxy(redirection, proxy, redirection.href);\n };\n}\n\n/*eslint consistent-return:0*/\nmodule.exports = function httpAdapter(config) {\n return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) {\n var resolve = function resolve(value) {\n resolvePromise(value);\n };\n var reject = function reject(value) {\n rejectPromise(value);\n };\n var data = config.data;\n var headers = config.headers;\n\n // Set User-Agent (required by some servers)\n // See https://github.com/axios/axios/issues/69\n if ('User-Agent' in headers || 'user-agent' in headers) {\n // User-Agent is specified; handle case where no UA header is desired\n if (!headers['User-Agent'] && !headers['user-agent']) {\n delete headers['User-Agent'];\n delete headers['user-agent'];\n }\n // Otherwise, use specified value\n } else {\n // Only set header if it hasn't been set in config\n headers['User-Agent'] = 'axios/' + pkg.version;\n }\n\n if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(createError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n config\n ));\n }\n\n // Add Content-Length header if data exists\n headers['Content-Length'] = data.length;\n }\n\n // HTTP basic authentication\n var auth = undefined;\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n // Parse url\n var fullPath = buildFullPath(config.baseURL, config.url);\n var parsed = url.parse(fullPath);\n var protocol = parsed.protocol || 'http:';\n\n if (!auth && parsed.auth) {\n var urlAuth = parsed.auth.split(':');\n var urlUsername = urlAuth[0] || '';\n var urlPassword = urlAuth[1] || '';\n auth = urlUsername + ':' + urlPassword;\n }\n\n if (auth) {\n delete headers.Authorization;\n }\n\n var isHttpsRequest = isHttps.test(protocol);\n var agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n\n var options = {\n path: buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\\?/, ''),\n method: config.method.toUpperCase(),\n headers: headers,\n agent: agent,\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth: auth\n };\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname;\n options.port = parsed.port;\n }\n\n var proxy = config.proxy;\n if (!proxy && proxy !== false) {\n var proxyEnv = protocol.slice(0, -1) + '_proxy';\n var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()];\n if (proxyUrl) {\n var parsedProxyUrl = url.parse(proxyUrl);\n var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY;\n var shouldProxy = true;\n\n if (noProxyEnv) {\n var noProxy = noProxyEnv.split(',').map(function trim(s) {\n return s.trim();\n });\n\n shouldProxy = !noProxy.some(function proxyMatch(proxyElement) {\n if (!proxyElement) {\n return false;\n }\n if (proxyElement === '*') {\n return true;\n }\n if (proxyElement[0] === '.' &&\n parsed.hostname.substr(parsed.hostname.length - proxyElement.length) === proxyElement) {\n return true;\n }\n\n return parsed.hostname === proxyElement;\n });\n }\n\n if (shouldProxy) {\n proxy = {\n host: parsedProxyUrl.hostname,\n port: parsedProxyUrl.port,\n protocol: parsedProxyUrl.protocol\n };\n\n if (parsedProxyUrl.auth) {\n var proxyUrlAuth = parsedProxyUrl.auth.split(':');\n proxy.auth = {\n username: proxyUrlAuth[0],\n password: proxyUrlAuth[1]\n };\n }\n }\n }\n }\n\n if (proxy) {\n options.headers.host = parsed.hostname + (parsed.port ? ':' + parsed.port : '');\n setProxy(options, proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path);\n }\n\n var transport;\n var isHttpsProxy = isHttpsRequest && (proxy ? isHttps.test(proxy.protocol) : true);\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsProxy ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n transport = isHttpsProxy ? httpsFollow : httpFollow;\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n }\n\n // Create the request\n var req = transport.request(options, function handleResponse(res) {\n if (req.aborted) return;\n\n // uncompress the response body transparently if required\n var stream = res;\n\n // return the last request in case of redirects\n var lastRequest = res.req || req;\n\n\n // if no content, is HEAD request or decompress disabled we should not decompress\n if (res.statusCode !== 204 && lastRequest.method !== 'HEAD' && config.decompress !== false) {\n switch (res.headers['content-encoding']) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'compress':\n case 'deflate':\n // add the unzipper to the body stream processing pipeline\n stream = stream.pipe(zlib.createUnzip());\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n }\n }\n\n var response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: res.headers,\n config: config,\n request: lastRequest\n };\n\n if (config.responseType === 'stream') {\n response.data = stream;\n settle(resolve, reject, response);\n } else {\n var responseBuffer = [];\n var totalResponseBytes = 0;\n stream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n totalResponseBytes += chunk.length;\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {\n stream.destroy();\n reject(createError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n config, null, lastRequest));\n }\n });\n\n stream.on('error', function handleStreamError(err) {\n if (req.aborted) return;\n reject(enhanceError(err, config, null, lastRequest));\n });\n\n stream.on('end', function handleStreamEnd() {\n var responseData = Buffer.concat(responseBuffer);\n if (config.responseType !== 'arraybuffer') {\n responseData = responseData.toString(config.responseEncoding);\n if (!config.responseEncoding || config.responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n\n response.data = responseData;\n settle(resolve, reject, response);\n });\n }\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n if (req.aborted && err.code !== 'ERR_FR_TOO_MANY_REDIRECTS') return;\n reject(enhanceError(err, config, null, req));\n });\n\n // Handle request timeout\n if (config.timeout) {\n // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.\n var timeout = parseInt(config.timeout, 10);\n\n if (isNaN(timeout)) {\n reject(createError(\n 'error trying to parse `config.timeout` to int',\n config,\n 'ERR_PARSE_TIMEOUT',\n req\n ));\n\n return;\n }\n\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devoring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(timeout, function handleRequestTimeout() {\n req.abort();\n reject(createError(\n 'timeout of ' + timeout + 'ms exceeded',\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n req\n ));\n });\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (req.aborted) return;\n\n req.abort();\n reject(cancel);\n });\n }\n\n // Send the request\n if (utils.isStream(data)) {\n data.on('error', function handleStreamError(err) {\n reject(enhanceError(err, config, null, req));\n }).pipe(req);\n } else {\n req.end(data);\n }\n });\n};\n", "'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n", "'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n", "'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n", "'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n", "'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n", "'use strict';\n\nvar pkg = require('./../../package.json');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.version + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed in ' + version));\n }\n\n if (isDeprecated && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n isOlderVersion: isOlderVersion,\n assertOptions: assertOptions,\n validators: validators\n};\n", "'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n", "'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n", "'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n", "'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n", "'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n", "'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n", "module.exports = require('./lib/axios');", null, null, "import React from \"react\";\nimport { Action, ActionPanel, Form, Icon, showToast, Toast } from \"@raycast/api\";\nimport { usePromise } from \"@raycast/utils\";\nimport { useDebouncedValue, useSelectedLanguagesSet, useTextState, usePreferences } from \"./hooks\";\nimport { LanguageCode, supportedLanguagesByCode, languages, getLanguageFlag } from \"./languages\";\nimport { AUTO_DETECT, simpleTranslate } from \"./simple-translate\";\nimport { LanguagesManagerList } from \"./LanguagesManager\";\nimport { ConfigurableCopyPasteActions, OpenOnGoogleTranslateWebsiteAction } from \"./actions\";\n\nexport default function TranslateForm() {\n const [selectedLanguageSet, setSelectedLanguageSet] = useSelectedLanguagesSet();\n const langFrom = selectedLanguageSet.langFrom;\n const langTo = Array.isArray(selectedLanguageSet.langTo) ? selectedLanguageSet.langTo[0] : selectedLanguageSet.langTo;\n const { proxy } = usePreferences();\n const setLangFrom = (l: LanguageCode) => setSelectedLanguageSet({ ...selectedLanguageSet, langFrom: l });\n const setLangTo = (l: LanguageCode) => setSelectedLanguageSet({ ...selectedLanguageSet, langTo: [l] });\n const fromLangObj = supportedLanguagesByCode[langFrom];\n const toLangObj = supportedLanguagesByCode[langTo];\n\n const [text, setText] = useTextState();\n const debouncedValue = useDebouncedValue(text, 500);\n const { data: translated, isLoading } = usePromise(\n simpleTranslate,\n [debouncedValue, { langFrom: fromLangObj.code, langTo: [toLangObj.code], proxy }],\n {\n onError(error) {\n showToast({\n style: Toast.Style.Failure,\n title: error.name,\n message: error.message,\n });\n },\n },\n );\n\n const handleChange = (value: string) => {\n if (value.length > 5000) {\n setText(value.slice(0, 5000));\n showToast({\n style: Toast.Style.Failure,\n title: \"Limit\",\n message: \"Max length (5000 chars) for a single translation exceeded\",\n });\n } else {\n setText(value);\n }\n };\n\n const autoDetectedLanguage = React.useMemo(() => {\n if (langFrom === AUTO_DETECT && translated) {\n return supportedLanguagesByCode[translated.langFrom];\n }\n\n return null;\n }, [translated, langFrom]);\n\n return (\n <Form\n isLoading={isLoading}\n actions={\n <ActionPanel>\n <ActionPanel.Section title=\"Generals\">\n <ConfigurableCopyPasteActions defaultActionsPrefix=\"Translated\" value={translated?.translatedText ?? \"\"} />\n <Action.CopyToClipboard title=\"Copy Text\" content={text ?? \"\"} />\n <Action.CopyToClipboard\n title=\"Copy Pronunciation\"\n shortcut={{ modifiers: [\"cmd\", \"shift\"], key: \"p\" }}\n content={translated?.pronunciationText ?? \"\"}\n />\n <OpenOnGoogleTranslateWebsiteAction translationText={text} translation={{ langFrom, langTo }} />\n <Action.Push\n icon={Icon.Pencil}\n title=\"Manage language sets...\"\n shortcut={{ modifiers: [\"cmd\"], key: \"l\" }}\n target={<LanguagesManagerList />}\n />\n </ActionPanel.Section>\n <ActionPanel.Section title=\"Settings\">\n <Action\n shortcut={{ modifiers: [\"cmd\", \"shift\"], key: \"s\" }}\n onAction={() => {\n setSelectedLanguageSet({ langFrom: langTo, langTo: [langFrom] });\n }}\n title={`${getLanguageFlag(toLangObj, toLangObj?.code)} <-> ${getLanguageFlag(\n fromLangObj,\n fromLangObj?.code,\n )} Switch Languages`}\n />\n <ActionPanel.Submenu\n shortcut={{ modifiers: [\"cmd\"], key: \"s\" }}\n title=\"Change Languages\"\n icon={getLanguageFlag(fromLangObj)}\n >\n <ActionPanel.Submenu\n shortcut={{ modifiers: [\"cmd\", \"shift\"], key: \"f\" }}\n title=\"Change From Language\"\n icon={getLanguageFlag(fromLangObj)}\n >\n {languages.map((lang) => (\n <Action\n key={lang.code}\n onAction={() => setLangFrom(lang.code)}\n title={lang.name}\n icon={getLanguageFlag(lang)}\n />\n ))}\n </ActionPanel.Submenu>\n <ActionPanel.Submenu\n shortcut={{ modifiers: [\"cmd\", \"shift\"], key: \"t\" }}\n title=\"Change To Language\"\n icon={getLanguageFlag(toLangObj)}\n >\n {languages.map((lang) => (\n <Action\n key={lang.code}\n onAction={() => setLangTo(lang.code)}\n title={lang.name}\n icon={getLanguageFlag(lang)}\n />\n ))}\n </ActionPanel.Submenu>\n </ActionPanel.Submenu>\n </ActionPanel.Section>\n </ActionPanel>\n }\n >\n <Form.TextArea id=\"text\" title=\"Text\" value={text} onChange={handleChange} />\n <Form.Dropdown\n id=\"language_from\"\n title=\"From\"\n value={autoDetectedLanguage?.code ?? langFrom}\n onChange={(v) => setLangFrom(v as LanguageCode)}\n storeValue\n >\n {autoDetectedLanguage && (\n <Form.Dropdown.Item\n value={autoDetectedLanguage.code}\n title={`${autoDetectedLanguage.name} (Auto-detect)`}\n icon={getLanguageFlag(autoDetectedLanguage)}\n />\n )}\n {languages.map((lang) => (\n <Form.Dropdown.Item key={lang.code} value={lang.code} title={lang.name} icon={getLanguageFlag(lang)} />\n ))}\n </Form.Dropdown>\n <Form.Dropdown\n id=\"language_to\"\n title=\"To\"\n value={langTo}\n onChange={(v) => setLangTo(v as LanguageCode)}\n storeValue\n >\n {languages\n .filter((lang) => lang.code !== AUTO_DETECT)\n .map((lang) => (\n <Form.Dropdown.Item key={lang.code} value={lang.code} title={lang.name} icon={getLanguageFlag(lang)} />\n ))}\n </Form.Dropdown>\n <Form.TextArea\n id=\"result\"\n title=\"Translation\"\n value={translated?.translatedText ?? \"\"}\n placeholder=\"Translation\"\n />\n <Form.Description title=\"Pronunciation\" text={translated?.pronunciationText ?? \"\"} />\n </Form>\n );\n}\n", "import { getPreferenceValues, getSelectedText } from \"@raycast/api\";\nimport { useCachedState } from \"@raycast/utils\";\nimport React from \"react\";\nimport { LanguageCode } from \"./languages\";\nimport { LanguageCodeSet, TranslatePreferences } from \"./types\";\nimport { AUTO_DETECT } from \"./simple-translate\";\n\ntype _LegacySingleLanguageCodeSet = {\n langFrom: LanguageCode;\n langTo: LanguageCode;\n};\n\ntype _StoredLanguageCodeSet = _LegacySingleLanguageCodeSet | LanguageCodeSet;\n\nconst unifyLegacyLanguageSet = (legacy: _StoredLanguageCodeSet): LanguageCodeSet => {\n return {\n langFrom: legacy.langFrom,\n langTo: Array.isArray(legacy.langTo) ? legacy.langTo : [legacy.langTo],\n };\n};\n\nexport const usePreferences = () => {\n return React.useMemo(() => getPreferenceValues<TranslatePreferences>(), []);\n};\n\nexport const useTextState = () => {\n const preferences = usePreferences();\n const [text, setText] = React.useState(\"\");\n const textRef = React.useRef(text);\n textRef.current = text;\n\n React.useEffect(() => {\n if (preferences.autoInput) {\n getSelectedText()\n .then((cbText) => {\n if (!textRef.current) {\n setText(cbText ?? \"\");\n }\n })\n .catch((err) => {\n console.log(\"Error:\", err);\n });\n }\n }, []);\n\n return [text, setText] as const;\n};\n\nexport const useSelectedLanguagesSet = () => {\n const preferences = usePreferences();\n const [selectedLanguageSet, setSelectedLanguageSet] = useCachedState<_StoredLanguageCodeSet>(\n \"selectedLanguageSet\",\n unifyLegacyLanguageSet({\n langFrom: preferences.lang1,\n langTo: preferences.lang2,\n }),\n );\n\n return [unifyLegacyLanguageSet(selectedLanguageSet), setSelectedLanguageSet] as const;\n};\n\nexport const usePreferencesLanguageSet = () => {\n const preferences = usePreferences();\n const preferencesLanguageSet: LanguageCodeSet = { langFrom: preferences.lang1, langTo: [preferences.lang2] };\n return preferencesLanguageSet;\n};\n\nexport const useDebouncedValue = <T>(value: T, delay: number) => {\n const [debouncedValue, setDebouncedValue] = React.useState<T>(value);\n\n React.useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n};\n\nexport const useAllLanguageSets = () => {\n const [languages, setLanguages] = useCachedState<_StoredLanguageCodeSet[]>(\"languages\", []);\n\n return [languages.map(unifyLegacyLanguageSet), setLanguages] as const;\n};\n\nexport const useSourceLanguage = () => {\n const [sourceLanguage, setSourceLanguage] = useCachedState<LanguageCode>(\"sourceLanguage\", AUTO_DETECT);\n\n return [sourceLanguage, setSourceLanguage] as const;\n};\n\nexport const useTargetLanguages = () => {\n const preferences = usePreferences();\n const [targetLanguages, setTargetLanguages] = useCachedState<LanguageCode[]>(\n \"targetLanguages\",\n [preferences.lang1, preferences.lang2].filter((lang) => lang !== AUTO_DETECT),\n );\n\n return [targetLanguages, setTargetLanguages] as const;\n};\n", "/**\n * Source https://github.com/iamtraction/google-translate\n * MIT License\n */\nimport querystring from \"querystring\";\nimport { request, ProxyAgent } from \"undici\";\nimport { TranslateOption, TranslateResponse } from \"./types\";\nimport { isSupported, getISOCode } from \"./languages\";\nimport { tokenGenerator } from \"./tokenGenerator\";\n\n/**\n * @function translate\n * @param {String} text The text to be translated.\n * @param {TranslateOption} options The options object for the translator.\n * @returns {TranslateResponse} The result containing the translation.\n */\nexport async function translate(text: string, options?: TranslateOption): Promise<TranslateResponse> {\n if (typeof options !== \"object\") options = {};\n text = String(text);\n\n // Check if a lanugage is in supported; if not, throw an error object.\n let error: Error | null = null;\n [ options.from, options.to ].forEach((lang) => {\n if (lang && !isSupported(lang)) {\n error = new Error();\n error.message = `The language '${lang}' is not supported.`;\n }\n });\n if (error) throw error;\n\n // If options object doesn\"t have \"from\" language, set it to \"auto\".\n if (!Object.prototype.hasOwnProperty.call(options, \"from\")) options.from = \"auto\";\n // If options object doesn\"t have \"to\" language, set it to \"en\".\n if (!Object.prototype.hasOwnProperty.call(options, \"to\")) options.to = \"en\";\n // If options object has a \"raw\" property evaluating to true, set it to true.\n options.raw = Boolean(options.raw);\n\n // Get ISO 639-1 codes for the languages.\n options.from = getISOCode(options.from);\n options.to = getISOCode(options.to);\n\n // Generate Google Translate token for the text to be translated.\n let token: any = await tokenGenerator(text);\n\n // URL & query string required by Google Translate.\n let baseUrl = \"https://translate.google.com/translate_a/single\";\n let data: any = {\n client: \"gtx\",\n sl: options.from,\n tl: options.to,\n hl: options.to,\n dt: [ \"at\", \"bd\", \"ex\", \"ld\", \"md\", \"qca\", \"rw\", \"rm\", \"ss\", \"t\" ],\n ie: \"UTF-8\",\n oe: \"UTF-8\",\n otf: 1,\n ssel: 0,\n tsel: 0,\n kc: 7,\n q: text,\n [token.name]: token.value\n };\n\n // Append query string to the request URL.\n let url = `${baseUrl}?${querystring.stringify(data)}`;\n\n let requestOptions: any;\n let requestUrl = url;\n // If request URL is greater than 2048 characters, use POST method.\n if (url.length > 2048) {\n delete data.q;\n requestUrl = `${baseUrl}?${querystring.stringify(data)}`;\n requestOptions = {\n method: \"POST\",\n body: new URLSearchParams({ q: text }).toString(),\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded;charset=UTF-8\",\n },\n };\n if (options.proxy) {\n requestOptions.dispatcher = new ProxyAgent(options.proxy);\n }\n }\n else {\n if (options.proxy) {\n requestOptions = { dispatcher: new ProxyAgent(options.proxy) };\n }\n }\n\n // Request translation from Google Translate.\n let response = await request(requestUrl, requestOptions);\n let body: any = await response.body.json();\n\n let result: TranslateResponse = {\n text: \"\",\n from: {\n language: {\n didYouMean: false,\n iso: \"\"\n },\n text: {\n autoCorrected: false,\n value: \"\",\n didYouMean: false\n }\n },\n raw: \"\"\n };\n\n // If user requested a raw output, add the raw response to the result\n if (options.raw) {\n result.raw = body;\n }\n\n // Parse body and add it to the result object.\n body[0].forEach((obj: any) => {\n if (obj[0]) {\n result.text += obj[0];\n }\n });\n\n if (body[2] === body[8][0][0]) {\n result.from.language.iso = body[2];\n }\n else {\n result.from.language.didYouMean = true;\n result.from.language.iso = body[8][0][0];\n }\n\n if (body[7] && body[7][0]) {\n let str = body[7][0];\n\n str = str.replace(/<b><i>/g, \"[\");\n str = str.replace(/<\\/i><\\/b>/g, \"]\");\n\n result.from.text.value = str;\n\n if (body[7][5] === true) {\n result.from.text.autoCorrected = true;\n }\n else {\n result.from.text.didYouMean = true;\n }\n }\n\n return result;\n}\n", "/**\n * Generated from https://translate.google.com\n *\n * The languages that Google Translate supports (as of 7/5/2020) alongside\n * their ISO 639-1 codes\n * @see https://cloud.google.com/translate/docs/languages\n * @see https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\n */\n\nexport const languages: any = {\n \"auto\": \"Automatic\",\n \"af\": \"Afrikaans\",\n \"sq\": \"Albanian\",\n \"am\": \"Amharic\",\n \"ar\": \"Arabic\",\n \"hy\": \"Armenian\",\n \"az\": \"Azerbaijani\",\n \"eu\": \"Basque\",\n \"be\": \"Belarusian\",\n \"bn\": \"Bengali\",\n \"bs\": \"Bosnian\",\n \"bg\": \"Bulgarian\",\n \"ca\": \"Catalan\",\n \"ceb\": \"Cebuano\",\n \"ny\": \"Chichewa\",\n \"zh-cn\": \"Chinese Simplified\",\n \"zh-tw\": \"Chinese Traditional\",\n \"co\": \"Corsican\",\n \"hr\": \"Croatian\",\n \"cs\": \"Czech\",\n \"da\": \"Danish\",\n \"nl\": \"Dutch\",\n \"en\": \"English\",\n \"eo\": \"Esperanto\",\n \"et\": \"Estonian\",\n \"tl\": \"Filipino\",\n \"fi\": \"Finnish\",\n \"fr\": \"French\",\n \"fy\": \"Frisian\",\n \"gl\": \"Galician\",\n \"ka\": \"Georgian\",\n \"de\": \"German\",\n \"el\": \"Greek\",\n \"gu\": \"Gujarati\",\n \"ht\": \"Haitian Creole\",\n \"ha\": \"Hausa\",\n \"haw\": \"Hawaiian\",\n \"iw\": \"Hebrew\",\n \"hi\": \"Hindi\",\n \"hmn\": \"Hmong\",\n \"hu\": \"Hungarian\",\n \"is\": \"Icelandic\",\n \"ig\": \"Igbo\",\n \"id\": \"Indonesian\",\n \"ga\": \"Irish\",\n \"it\": \"Italian\",\n \"ja\": \"Japanese\",\n \"jw\": \"Javanese\",\n \"kn\": \"Kannada\",\n \"kk\": \"Kazakh\",\n \"km\": \"Khmer\",\n \"ko\": \"Korean\",\n \"ku\": \"Kurdish (Kurmanji)\",\n \"ky\": \"Kyrgyz\",\n \"lo\": \"Lao\",\n \"la\": \"Latin\",\n \"lv\": \"Latvian\",\n \"lt\": \"Lithuanian\",\n \"lb\": \"Luxembourgish\",\n \"mk\": \"Macedonian\",\n \"mg\": \"Malagasy\",\n \"ms\": \"Malay\",\n \"ml\": \"Malayalam\",\n \"mt\": \"Maltese\",\n \"mi\": \"Maori\",\n \"mr\": \"Marathi\",\n \"mn\": \"Mongolian\",\n \"my\": \"Myanmar (Burmese)\",\n \"ne\": \"Nepali\",\n \"no\": \"Norwegian\",\n \"ps\": \"Pashto\",\n \"fa\": \"Persian\",\n \"pl\": \"Polish\",\n \"pt\": \"Portuguese\",\n \"pa\": \"Punjabi\",\n \"ro\": \"Romanian\",\n \"ru\": \"Russian\",\n \"sm\": \"Samoan\",\n \"gd\": \"Scots Gaelic\",\n \"sr\": \"Serbian\",\n \"st\": \"Sesotho\",\n \"sn\": \"Shona\",\n \"sd\": \"Sindhi\",\n \"si\": \"Sinhala\",\n \"sk\": \"Slovak\",\n \"sl\": \"Slovenian\",\n \"so\": \"Somali\",\n \"es\": \"Spanish\",\n \"su\": \"Sundanese\",\n \"sw\": \"Swahili\",\n \"sv\": \"Swedish\",\n \"tg\": \"Tajik\",\n \"ta\": \"Tamil\",\n \"te\": \"Telugu\",\n \"th\": \"Thai\",\n \"tr\": \"Turkish\",\n \"uk\": \"Ukrainian\",\n \"ur\": \"Urdu\",\n \"uz\": \"Uzbek\",\n \"vi\": \"Vietnamese\",\n \"cy\": \"Welsh\",\n \"xh\": \"Xhosa\",\n \"yi\": \"Yiddish\",\n \"yo\": \"Yoruba\",\n \"zu\": \"Zulu\"\n};\n\n/**\n * Returns the ISO 639-1 code of the desiredLang \u2013 if it is supported by\n * Google Translate\n * @param {string} language The name or the code of the desired language\n * @returns {string|undefined} The ISO 639-1 code of the language or null if the\n * language is not supported\n */\nexport function getISOCode(language: string | undefined) {\n if (!language) return undefined;\n language = language.toLowerCase();\n if (language in languages) return language;\n\n let keys = Object.keys(languages).filter((key) => {\n if (typeof languages[key] !== \"string\") return false;\n\n return languages[key].toLowerCase() === language;\n });\n\n return keys[0] || undefined;\n}\n\n/**\n * Returns true if the desiredLang is supported by Google Translate and false otherwise\n * @param {string} language The ISO 639-1 code or the name of the desired language.\n * @returns {boolean} If the language is supported or not.\n */\nexport function isSupported(language: string | undefined) {\n return Boolean(getISOCode(language));\n}\n", "/**\n * Source https://github.com/iamtraction/google-translate\n * MIT License\n */\n\nimport { request } from \"undici\";\n\nfunction zr(a: string) {\n let b: any;\n if (null !== yr) b = yr;\n else {\n b = wr(String.fromCharCode(84));\n let c = wr(String.fromCharCode(75));\n b = [ b(), b() ];\n b[1] = c();\n b = (yr = window[b.join(c())] || \"\") || \"\";\n }\n let d: any = wr(String.fromCharCode(116));\n let c: any = wr(String.fromCharCode(107));\n d = [ d(), d() ];\n d[1] = c();\n c = \"&\" + d.join(\"\") + \"=\";\n d = b.split(\".\");\n b = Number(d[0]) || 0;\n\n for (var e: any[] = [], f = 0, g = 0; g < a.length; g++) {\n let l = a.charCodeAt(g);\n 128 > l ? e[f++] = l : (2048 > l ? e[f++] = l >> 6 | 192 : ((l & 64512) == 55296 && g + 1 < a.length && (a.charCodeAt(g + 1) & 64512) == 56320 ? (l = 65536 + ((l & 1023) << 10) + (a.charCodeAt(++g) & 1023), e[f++] = l >> 18 | 240, e[f++] = l >> 12 & 63 | 128) : e[f++] = l >> 12 | 224, e[f++] = l >> 6 & 63 | 128), e[f++] = l & 63 | 128);\n }\n let h: number = Number(b);\n for (let f = 0; f < e.length; f++) a += e[f], h = xr(h, \"+-a^+6\");\n h = xr(h, \"+-3^+b+-f\");\n h ^= Number(d[1]) || 0;\n 0 > h && (h = (h & 2147483647) + 2147483648);\n h %= 1E6;\n return c + (a.toString() + \".\" + (h ^ b));\n}\n\nlet yr: string | null = null;\nlet wr = function(a: string) {\n return function() {\n return a;\n };\n};\nlet xr = function(a: number, b: string) {\n for (let c = 0; c < b.length - 2; c += 3) {\n let d = b.charAt(c + 2);\n let e = d >= \"a\" ? d.charCodeAt(0) - 87 : Number(d);\n e = b.charAt(c + 1) == \"+\" ? a >>> e : a << e;\n a = b.charAt(c) == \"+\" ? a + e & 4294967295 : a ^ e;\n }\n return a;\n};\n\nconst config = new Map();\n\nconst window: any = {\n TKK: config.get(\"TKK\") || \"0\"\n};\n\nasync function updateTKK() {\n let now = Math.floor(Date.now() / 3600000);\n\n if (Number(window.TKK.split(\".\")[0]) !== now) {\n const response = await request(\"https://translate.google.com\");\n const body = await response.body.text();\n\n // code will extract something like tkk:'1232135.131231321312', we need only value\n const code = body.match(/tkk:'\\d+.\\d+'/g);\n\n if (code && code.length > 0) {\n // extracting value tkk:'1232135.131231321312', this will extract only token: 1232135.131231321312\n const xt = code[0].split(\":\")[1].replace(/'/g, \"\");\n\n window.TKK = xt;\n config.set(\"TKK\", xt);\n }\n }\n}\n\nexport async function tokenGenerator(text: string) {\n try {\n await updateTKK();\n\n let tk = zr(text);\n tk = tk.replace(\"&tk=\", \"\");\n return { name: \"tk\", value: tk };\n }\n catch (error) {\n return error;\n }\n}\n", "import { translate } from \"../vendor/@iamtraction-translate/src\";\nimport * as googleTTS from \"google-tts-api\";\nimport * as os from \"os\";\nimport * as path from \"path\";\nimport * as https from \"https\";\nimport * as child_process from \"child_process\";\nimport { existsSync, writeFileSync, unlinkSync } from \"fs\";\nimport { LanguageCode } from \"./languages\";\nimport { LanguageCodeSet } from \"./types\";\n\nexport const AUTO_DETECT = \"auto\";\n\nexport type SimpleTranslateResult = {\n originalText: string;\n translatedText: string;\n pronunciationText?: string;\n langFrom: LanguageCode;\n langTo: LanguageCode;\n};\n\nexport class TranslateError extends Error {}\n\nconst extractPronounceTextFromRaw = (raw: string) => {\n return raw?.[0]?.[1]?.[2];\n};\n\nexport async function simpleTranslate(text: string, options: LanguageCodeSet): Promise<SimpleTranslateResult> {\n try {\n if (!text) {\n return {\n originalText: text,\n translatedText: \"\",\n pronunciationText: \"\",\n langFrom: options.langFrom,\n langTo: options.langTo[0],\n };\n }\n\n const translated = await translate(text, {\n from: options.langFrom,\n to: options.langTo[0],\n raw: true,\n proxy: options.proxy,\n });\n\n return {\n originalText: text,\n translatedText: translated.text,\n pronunciationText: extractPronounceTextFromRaw(translated?.raw),\n langFrom: translated?.from?.language?.iso as LanguageCode,\n langTo: options.langTo[0],\n };\n } catch (err) {\n if (err instanceof Error) {\n if (err.name === \"TooManyRequestsError\") {\n const error = new TranslateError();\n error.name = \"Too many requests\";\n error.message = \"please try again later\";\n throw error;\n }\n\n const error = new TranslateError();\n error.name = err.name;\n error.message = err.message;\n throw error;\n }\n\n throw err;\n }\n}\n\nexport async function doubleWayTranslate(text: string, options: LanguageCodeSet) {\n if (!text) {\n return [];\n }\n\n if (options.langFrom === AUTO_DETECT) {\n const translated1 = await simpleTranslate(text, {\n langFrom: options.langFrom,\n langTo: options.langTo,\n });\n\n if (translated1?.langFrom) {\n const translated2 = await simpleTranslate(translated1.translatedText, {\n langFrom: options.langTo[0],\n langTo: [translated1.langFrom],\n });\n\n return [translated1, translated2];\n }\n\n return [];\n } else {\n return await Promise.all([\n simpleTranslate(text, {\n langFrom: options.langFrom,\n langTo: options.langTo,\n }),\n simpleTranslate(text, {\n langFrom: options.langTo[0],\n langTo: [options.langFrom],\n }),\n ]);\n }\n}\n\nexport async function playTTS(text: string, langTo: string) {\n const audioUrl = googleTTS.getAudioUrl(text, {\n lang: langTo,\n slow: false,\n host: \"https://translate.google.com\",\n });\n https.get(audioUrl, (response) => {\n const chunks: Uint8Array[] = [];\n\n response.on(\"data\", (chunk) => {\n chunks.push(chunk);\n });\n\n response.on(\"end\", () => {\n const audioData = Buffer.concat(chunks);\n\n const tempFilePath = path.join(os.tmpdir(), \"translation.mp3\");\n writeFileSync(tempFilePath, audioData);\n\n // Play the audio file using afplay\n const afplayProcess = child_process.spawn(\"afplay\", [tempFilePath]);\n\n afplayProcess.on(\"exit\", (code) => {\n if (code !== 0) {\n console.error(\"Error playing audio\");\n }\n if (existsSync(tempFilePath)) {\n unlinkSync(tempFilePath);\n }\n });\n });\n });\n}\n", "{\n \"Auto-detect\": {\n \"code\": \"auto\",\n \"name\": \"Auto-detect\",\n \"flag\": \"\uD83C\uDF10\"\n },\n \"Afrikaans\": {\n \"code\": \"af\",\n \"name\": \"Afrikaans\",\n \"flag\": \"\uD83C\uDDFF\uD83C\uDDE6\"\n },\n \"Albanian\": {\n \"code\": \"sq\",\n \"name\": \"Albanian\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDF1\"\n },\n \"Amharic\": {\n \"code\": \"am\",\n \"name\": \"Amharic\"\n },\n \"Arabic\": {\n \"code\": \"ar\",\n \"name\": \"Arabic\"\n },\n \"Armenian\": {\n \"code\": \"hy\",\n \"name\": \"Armenian\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDF2\"\n },\n \"Azerbaijani\": {\n \"code\": \"az\",\n \"name\": \"Azerbaijani\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDFF\"\n },\n \"Basque\": {\n \"code\": \"eu\",\n \"name\": \"Basque\"\n },\n \"Belarusian\": {\n \"code\": \"be\",\n \"name\": \"Belarusian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDFE\"\n },\n \"Bengali\": {\n \"code\": \"bn\",\n \"name\": \"Bengali\"\n },\n \"Bosnian\": {\n \"code\": \"bs\",\n \"name\": \"Bosnian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDE6\"\n },\n \"Bulgarian\": {\n \"code\": \"bg\",\n \"name\": \"Bulgarian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDEC\"\n },\n \"Catalan\": {\n \"code\": \"ca\",\n \"name\": \"Catalan\"\n },\n \"Cebuano\": {\n \"code\": \"ceb\",\n \"name\": \"Cebuano\"\n },\n \"Chinese Simplified\": {\n \"code\": \"zh-CN\",\n \"name\": \"Chinese Simplified\",\n \"flag\": \"\uD83C\uDDE8\uD83C\uDDF3\"\n },\n \"Mandarin\": {\n \"code\": \"zh-TW\",\n \"name\": \"Chinese Traditional\"\n },\n \"Corsican\": {\n \"code\": \"co\",\n \"name\": \"Corsican\"\n },\n \"Croatian\": {\n \"code\": \"hr\",\n \"name\": \"Croatian\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDF7\"\n },\n \"Czech\": {\n \"code\": \"cs\",\n \"name\": \"Czech\",\n \"flag\": \"\uD83C\uDDE8\uD83C\uDDFF\"\n },\n \"Danish\": {\n \"code\": \"da\",\n \"name\": \"Danish\",\n \"flag\": \"\uD83C\uDDE9\uD83C\uDDF0\"\n },\n \"Dutch\": {\n \"code\": \"nl\",\n \"name\": \"Dutch\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF1\"\n },\n \"English\": {\n \"code\": \"en\",\n \"name\": \"English\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDE7\"\n },\n \"Esperanto\": {\n \"code\": \"eo\",\n \"name\": \"Esperanto\"\n },\n \"Estonian\": {\n \"code\": \"et\",\n \"name\": \"Estonian\",\n \"flag\": \"\uD83C\uDDEA\uD83C\uDDEA\"\n },\n \"Finnish\": {\n \"code\": \"fi\",\n \"name\": \"Finnish\",\n \"flag\": \"\uD83C\uDDEB\uD83C\uDDEE\"\n },\n \"French\": {\n \"code\": \"fr\",\n \"name\": \"French\",\n \"flag\": \"\uD83C\uDDEB\uD83C\uDDF7\"\n },\n \"Frisian\": {\n \"code\": \"fy\",\n \"name\": \"Frisian\"\n },\n \"Galician\": {\n \"code\": \"gl\",\n \"name\": \"Galician\"\n },\n \"Georgian\": {\n \"code\": \"ka\",\n \"name\": \"Georgian\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDEA\"\n },\n \"German\": {\n \"code\": \"de\",\n \"name\": \"German\",\n \"flag\": \"\uD83C\uDDE9\uD83C\uDDEA\"\n },\n \"Greek\": {\n \"code\": \"el\",\n \"name\": \"Greek\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDF7\"\n },\n \"Gujarati\": {\n \"code\": \"gu\",\n \"name\": \"Gujarati\"\n },\n \"Haitian Creole\": {\n \"code\": \"ht\",\n \"name\": \"Haitian Creole\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDF9\"\n },\n \"Hausa\": {\n \"code\": \"ha\",\n \"name\": \"Hausa\"\n },\n \"Hawaiian\": {\n \"code\": \"haw\",\n \"name\": \"Hawaiian\",\n \"flag\": \"\uD83C\uDF3A\"\n },\n \"Hebrew\": {\n \"code\": \"iw\",\n \"name\": \"Hebrew\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF1\"\n },\n \"Hindi\": {\n \"code\": \"hi\",\n \"name\": \"Hindi\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF3\"\n },\n \"Hmong\": {\n \"code\": \"hmn\",\n \"name\": \"Hmong\"\n },\n \"Hungarian\": {\n \"code\": \"hu\",\n \"name\": \"Hungarian\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDFA\"\n },\n \"Icelandic\": {\n \"code\": \"is\",\n \"name\": \"Icelandic\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF8\"\n },\n \"Igbo\": {\n \"code\": \"ig\",\n \"name\": \"Igbo\"\n },\n \"Indonesian\": {\n \"code\": \"id\",\n \"name\": \"Indonesian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDE9\"\n },\n \"Irish\": {\n \"code\": \"ga\",\n \"name\": \"Irish\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDEA\"\n },\n \"Italian\": {\n \"code\": \"it\",\n \"name\": \"Italian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF9\"\n },\n \"Japanese\": {\n \"code\": \"ja\",\n \"name\": \"Japanese\",\n \"flag\": \"\uD83C\uDDEF\uD83C\uDDF5\"\n },\n \"Javanese\": {\n \"code\": \"jv\",\n \"name\": \"Javanese\"\n },\n \"Kannada\": {\n \"code\": \"kn\",\n \"name\": \"Kannada\"\n },\n \"Kazakh\": {\n \"code\": \"kk\",\n \"name\": \"Kazakh\",\n \"flag\": \"\uD83C\uDDF0\uD83C\uDDFF\"\n },\n \"Khmer\": {\n \"code\": \"km\",\n \"name\": \"Khmer\"\n },\n \"Kinyarwanda\": {\n \"code\": \"rw\",\n \"name\": \"Kinyarwanda\"\n },\n \"Korean\": {\n \"code\": \"ko\",\n \"name\": \"Korean\",\n \"flag\": \"\uD83C\uDDF0\uD83C\uDDF7\"\n },\n \"Kurdish\": {\n \"code\": \"ku\",\n \"name\": \"Kurdish\"\n },\n \"Kyrgyz\": {\n \"code\": \"ky\",\n \"name\": \"Kyrgyz\"\n },\n \"Lao\": {\n \"code\": \"lo\",\n \"name\": \"Lao\"\n },\n \"Latvian\": {\n \"code\": \"lv\",\n \"name\": \"Latvian\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDFB\"\n },\n \"Lithuanian\": {\n \"code\": \"lt\",\n \"name\": \"Lithuanian\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDF9\"\n },\n \"Luxembourgish\": {\n \"code\": \"lb\",\n \"name\": \"Luxembourgish\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDFA\"\n },\n \"Latin\": {\n \"code\": \"la\",\n \"name\": \"Latin\",\n \"flag\": \"\uD83C\uDFDB\"\n },\n \"Macedonian\": {\n \"code\": \"mk\",\n \"name\": \"Macedonian\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF0\"\n },\n \"Malagasy\": {\n \"code\": \"mg\",\n \"name\": \"Malagasy\"\n },\n \"Malay\": {\n \"code\": \"ms\",\n \"name\": \"Malay\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDFE\"\n },\n \"Malayalam\": {\n \"code\": \"ml\",\n \"name\": \"Malayalam\"\n },\n \"Maltese\": {\n \"code\": \"mt\",\n \"name\": \"Maltese\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF9\"\n },\n \"Maori\": {\n \"code\": \"mi\",\n \"name\": \"Maori\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDFF\"\n },\n \"Marathi\": {\n \"code\": \"mr\",\n \"name\": \"Marathi\"\n },\n \"Mongolian\": {\n \"code\": \"mn\",\n \"name\": \"Mongolian\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF3\"\n },\n \"Myanmar (Burmese)\": {\n \"code\": \"my\",\n \"name\": \"Myanmar (Burmese)\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF2\"\n },\n \"Nepali\": {\n \"code\": \"ne\",\n \"name\": \"Nepali\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF5\"\n },\n \"Norwegian\": {\n \"code\": \"no\",\n \"name\": \"Norwegian\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF4\"\n },\n \"Nyanja (Chichewa)\": {\n \"code\": \"ny\",\n \"name\": \"Nyanja (Chichewa)\"\n },\n \"Odia (Oriya)\": {\n \"code\": \"or\",\n \"name\": \"Odia (Oriya)\"\n },\n \"Pashto\": {\n \"code\": \"ps\",\n \"name\": \"Pashto\"\n },\n \"Persian\": {\n \"code\": \"fa\",\n \"name\": \"Persian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF7\"\n },\n \"Polish\": {\n \"code\": \"pl\",\n \"name\": \"Polish\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDF1\"\n },\n \"Portuguese\": {\n \"code\": \"pt\",\n \"name\": \"Portuguese\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDF9\"\n },\n \"Punjabi\": {\n \"code\": \"pa\",\n \"name\": \"Punjabi\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF3\"\n },\n \"Romanian\": {\n \"code\": \"ro\",\n \"name\": \"Romanian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDF4\"\n },\n \"Russian\": {\n \"code\": \"ru\",\n \"name\": \"Russian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDFA\"\n },\n \"Samoan\": {\n \"code\": \"sm\",\n \"name\": \"Samoan\"\n },\n \"Scots Gaelic\": {\n \"code\": \"gd\",\n \"name\": \"Scots Gaelic\",\n \"flag\": \"\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74\uDB40\uDC7F\"\n },\n \"Serbian\": {\n \"code\": \"sr\",\n \"name\": \"Serbian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDF8\"\n },\n \"Sesotho\": {\n \"code\": \"st\",\n \"name\": \"Sesotho\"\n },\n \"Shona\": {\n \"code\": \"sn\",\n \"name\": \"Shona\"\n },\n \"Sindhi\": {\n \"code\": \"sd\",\n \"name\": \"Sindhi\"\n },\n \"Sinhala (Sinhalese)\": {\n \"code\": \"si\",\n \"name\": \"Sinhala (Sinhalese)\"\n },\n \"Slovak\": {\n \"code\": \"sk\",\n \"name\": \"Slovak\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDF0\"\n },\n \"Slovenian\": {\n \"code\": \"sl\",\n \"name\": \"Slovenian\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDEE\"\n },\n \"Somali\": {\n \"code\": \"so\",\n \"name\": \"Somali\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDF4\"\n },\n \"Spanish\": {\n \"code\": \"es\",\n \"name\": \"Spanish\",\n \"flag\": \"\uD83C\uDDEA\uD83C\uDDF8\"\n },\n \"Sundanese\": {\n \"code\": \"su\",\n \"name\": \"Sundanese\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDE9\"\n },\n \"Swahili\": {\n \"code\": \"sw\",\n \"name\": \"Swahili\"\n },\n \"Swedish\": {\n \"code\": \"sv\",\n \"name\": \"Swedish\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDEA\"\n },\n \"Tagalog (Filipino)\": {\n \"code\": \"tl\",\n \"name\": \"Tagalog (Filipino)\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDED\"\n },\n \"Tajik\": {\n \"code\": \"tg\",\n \"name\": \"Tajik\"\n },\n \"Tamil\": {\n \"code\": \"ta\",\n \"name\": \"Tamil\"\n },\n \"Tatar\": {\n \"code\": \"tt\",\n \"name\": \"Tatar\"\n },\n \"Telugu\": {\n \"code\": \"te\",\n \"name\": \"Telugu\"\n },\n \"Thai\": {\n \"code\": \"th\",\n \"name\": \"Thai\"\n },\n \"Turkish\": {\n \"code\": \"tr\",\n \"name\": \"Turkish\",\n \"flag\": \"\uD83C\uDDF9\uD83C\uDDF7\"\n },\n \"Turkmen\": {\n \"code\": \"tk\",\n \"name\": \"Turkmen\",\n \"flag\": \"\uD83C\uDDF9\uD83C\uDDF2\"\n },\n \"Ukrainian\": {\n \"code\": \"uk\",\n \"name\": \"Ukrainian\",\n \"flag\": \"\uD83C\uDDFA\uD83C\uDDE6\"\n },\n \"Urdu\": {\n \"code\": \"ur\",\n \"name\": \"Urdu\"\n },\n \"Uyghur\": {\n \"code\": \"ug\",\n \"name\": \"Uyghur\"\n },\n \"Uzbek\": {\n \"code\": \"uz\",\n \"name\": \"Uzbek\"\n },\n \"Vietnamese\": {\n \"code\": \"vi\",\n \"name\": \"Vietnamese\",\n \"flag\": \"\uD83C\uDDFB\uD83C\uDDF3\"\n },\n \"Welsh\": {\n \"code\": \"cy\",\n \"name\": \"Welsh\",\n \"flag\": \"\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73\uDB40\uDC7F\"\n },\n \"Xhosa\": {\n \"code\": \"xh\",\n \"name\": \"Xhosa\"\n },\n \"Yiddish\": {\n \"code\": \"yi\",\n \"name\": \"Yiddish\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF1\"\n },\n \"Yoruba\": {\n \"code\": \"yo\",\n \"name\": \"Yoruba\"\n },\n \"Zulu\": {\n \"code\": \"zu\",\n \"name\": \"Zulu\"\n }\n}\n", "{\n \"auto\": {\n \"code\": \"auto\",\n \"name\": \"Auto-detect\",\n \"flag\": \"\uD83C\uDF10\"\n },\n \"af\": {\n \"code\": \"af\",\n \"name\": \"Afrikaans\",\n \"flag\": \"\uD83C\uDDFF\uD83C\uDDE6\"\n },\n \"sq\": {\n \"code\": \"sq\",\n \"name\": \"Albanian\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDF1\"\n },\n \"am\": {\n \"code\": \"am\",\n \"name\": \"Amharic\"\n },\n \"ar\": {\n \"code\": \"ar\",\n \"name\": \"Arabic\"\n },\n \"hy\": {\n \"code\": \"hy\",\n \"name\": \"Armenian\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDF2\"\n },\n \"az\": {\n \"code\": \"az\",\n \"name\": \"Azerbaijani\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDFF\"\n },\n \"eu\": {\n \"code\": \"eu\",\n \"name\": \"Basque\"\n },\n \"be\": {\n \"code\": \"be\",\n \"name\": \"Belarusian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDFE\"\n },\n \"bn\": {\n \"code\": \"bn\",\n \"name\": \"Bengali\"\n },\n \"bs\": {\n \"code\": \"bs\",\n \"name\": \"Bosnian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDE6\"\n },\n \"bg\": {\n \"code\": \"bg\",\n \"name\": \"Bulgarian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDEC\"\n },\n \"ca\": {\n \"code\": \"ca\",\n \"name\": \"Catalan\"\n },\n \"ceb\": {\n \"code\": \"ceb\",\n \"name\": \"Cebuano\"\n },\n \"zh-CN\": {\n \"code\": \"zh-CN\",\n \"name\": \"Chinese Simplified\",\n \"flag\": \"\uD83C\uDDE8\uD83C\uDDF3\"\n },\n \"zh-TW\": {\n \"code\": \"zh-TW\",\n \"name\": \"Chinese Traditional\"\n },\n \"co\": {\n \"code\": \"co\",\n \"name\": \"Corsican\"\n },\n \"hr\": {\n \"code\": \"hr\",\n \"name\": \"Croatian\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDF7\"\n },\n \"cs\": {\n \"code\": \"cs\",\n \"name\": \"Czech\",\n \"flag\": \"\uD83C\uDDE8\uD83C\uDDFF\"\n },\n \"da\": {\n \"code\": \"da\",\n \"name\": \"Danish\",\n \"flag\": \"\uD83C\uDDE9\uD83C\uDDF0\"\n },\n \"nl\": {\n \"code\": \"nl\",\n \"name\": \"Dutch\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF1\"\n },\n \"en\": {\n \"code\": \"en\",\n \"name\": \"English\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDE7\"\n },\n \"eo\": {\n \"code\": \"eo\",\n \"name\": \"Esperanto\"\n },\n \"et\": {\n \"code\": \"et\",\n \"name\": \"Estonian\",\n \"flag\": \"\uD83C\uDDEA\uD83C\uDDEA\"\n },\n \"fi\": {\n \"code\": \"fi\",\n \"name\": \"Finnish\",\n \"flag\": \"\uD83C\uDDEB\uD83C\uDDEE\"\n },\n \"fr\": {\n \"code\": \"fr\",\n \"name\": \"French\",\n \"flag\": \"\uD83C\uDDEB\uD83C\uDDF7\"\n },\n \"fy\": {\n \"code\": \"fy\",\n \"name\": \"Frisian\"\n },\n \"gl\": {\n \"code\": \"gl\",\n \"name\": \"Galician\"\n },\n \"ka\": {\n \"code\": \"ka\",\n \"name\": \"Georgian\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDEA\"\n },\n \"de\": {\n \"code\": \"de\",\n \"name\": \"German\",\n \"flag\": \"\uD83C\uDDE9\uD83C\uDDEA\"\n },\n \"el\": {\n \"code\": \"el\",\n \"name\": \"Greek\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDF7\"\n },\n \"gu\": {\n \"code\": \"gu\",\n \"name\": \"Gujarati\"\n },\n \"ht\": {\n \"code\": \"ht\",\n \"name\": \"Haitian Creole\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDF9\"\n },\n \"ha\": {\n \"code\": \"ha\",\n \"name\": \"Hausa\"\n },\n \"haw\": {\n \"code\": \"haw\",\n \"name\": \"Hawaiian\",\n \"flag\": \"\uD83C\uDF3A\"\n },\n \"iw\": {\n \"code\": \"iw\",\n \"name\": \"Hebrew\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF1\"\n },\n \"hi\": {\n \"code\": \"hi\",\n \"name\": \"Hindi\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF3\"\n },\n \"hmn\": {\n \"code\": \"hmn\",\n \"name\": \"Hmong\"\n },\n \"hu\": {\n \"code\": \"hu\",\n \"name\": \"Hungarian\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDFA\"\n },\n \"is\": {\n \"code\": \"is\",\n \"name\": \"Icelandic\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF8\"\n },\n \"ig\": {\n \"code\": \"ig\",\n \"name\": \"Igbo\"\n },\n \"id\": {\n \"code\": \"id\",\n \"name\": \"Indonesian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDE9\"\n },\n \"ga\": {\n \"code\": \"ga\",\n \"name\": \"Irish\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDEA\"\n },\n \"it\": {\n \"code\": \"it\",\n \"name\": \"Italian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF9\"\n },\n \"ja\": {\n \"code\": \"ja\",\n \"name\": \"Japanese\",\n \"flag\": \"\uD83C\uDDEF\uD83C\uDDF5\"\n },\n \"jv\": {\n \"code\": \"jv\",\n \"name\": \"Javanese\"\n },\n \"kn\": {\n \"code\": \"kn\",\n \"name\": \"Kannada\"\n },\n \"kk\": {\n \"code\": \"kk\",\n \"name\": \"Kazakh\",\n \"flag\": \"\uD83C\uDDF0\uD83C\uDDFF\"\n },\n \"km\": {\n \"code\": \"km\",\n \"name\": \"Khmer\"\n },\n \"rw\": {\n \"code\": \"rw\",\n \"name\": \"Kinyarwanda\"\n },\n \"ko\": {\n \"code\": \"ko\",\n \"name\": \"Korean\",\n \"flag\": \"\uD83C\uDDF0\uD83C\uDDF7\"\n },\n \"ku\": {\n \"code\": \"ku\",\n \"name\": \"Kurdish\"\n },\n \"ky\": {\n \"code\": \"ky\",\n \"name\": \"Kyrgyz\"\n },\n \"lo\": {\n \"code\": \"lo\",\n \"name\": \"Lao\"\n },\n \"lv\": {\n \"code\": \"lv\",\n \"name\": \"Latvian\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDFB\"\n },\n \"lt\": {\n \"code\": \"lt\",\n \"name\": \"Lithuanian\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDF9\"\n },\n \"lb\": {\n \"code\": \"lb\",\n \"name\": \"Luxembourgish\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDFA\"\n },\n \"la\": {\n \"code\": \"la\",\n \"name\": \"Latin\",\n \"flag\": \"\uD83C\uDFDB\"\n },\n \"mk\": {\n \"code\": \"mk\",\n \"name\": \"Macedonian\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF0\"\n },\n \"mg\": {\n \"code\": \"mg\",\n \"name\": \"Malagasy\"\n },\n \"ms\": {\n \"code\": \"ms\",\n \"name\": \"Malay\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDFE\"\n },\n \"ml\": {\n \"code\": \"ml\",\n \"name\": \"Malayalam\"\n },\n \"mt\": {\n \"code\": \"mt\",\n \"name\": \"Maltese\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF9\"\n },\n \"mi\": {\n \"code\": \"mi\",\n \"name\": \"Maori\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDFF\"\n },\n \"mr\": {\n \"code\": \"mr\",\n \"name\": \"Marathi\"\n },\n \"mn\": {\n \"code\": \"mn\",\n \"name\": \"Mongolian\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF3\"\n },\n \"my\": {\n \"code\": \"my\",\n \"name\": \"Myanmar (Burmese)\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF2\"\n },\n \"ne\": {\n \"code\": \"ne\",\n \"name\": \"Nepali\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF5\"\n },\n \"no\": {\n \"code\": \"no\",\n \"name\": \"Norwegian\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF4\"\n },\n \"ny\": {\n \"code\": \"ny\",\n \"name\": \"Nyanja (Chichewa)\"\n },\n \"or\": {\n \"code\": \"or\",\n \"name\": \"Odia (Oriya)\"\n },\n \"ps\": {\n \"code\": \"ps\",\n \"name\": \"Pashto\"\n },\n \"fa\": {\n \"code\": \"fa\",\n \"name\": \"Persian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF7\"\n },\n \"pl\": {\n \"code\": \"pl\",\n \"name\": \"Polish\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDF1\"\n },\n \"pt\": {\n \"code\": \"pt\",\n \"name\": \"Portuguese\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDF9\"\n },\n \"pa\": {\n \"code\": \"pa\",\n \"name\": \"Punjabi\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF3\"\n },\n \"ro\": {\n \"code\": \"ro\",\n \"name\": \"Romanian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDF4\"\n },\n \"ru\": {\n \"code\": \"ru\",\n \"name\": \"Russian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDFA\"\n },\n \"sm\": {\n \"code\": \"sm\",\n \"name\": \"Samoan\"\n },\n \"gd\": {\n \"code\": \"gd\",\n \"name\": \"Scots Gaelic\",\n \"flag\": \"\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74\uDB40\uDC7F\"\n },\n \"sr\": {\n \"code\": \"sr\",\n \"name\": \"Serbian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDF8\"\n },\n \"st\": {\n \"code\": \"st\",\n \"name\": \"Sesotho\"\n },\n \"sn\": {\n \"code\": \"sn\",\n \"name\": \"Shona\"\n },\n \"sd\": {\n \"code\": \"sd\",\n \"name\": \"Sindhi\"\n },\n \"si\": {\n \"code\": \"si\",\n \"name\": \"Sinhala (Sinhalese)\"\n },\n \"sk\": {\n \"code\": \"sk\",\n \"name\": \"Slovak\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDF0\"\n },\n \"sl\": {\n \"code\": \"sl\",\n \"name\": \"Slovenian\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDEE\"\n },\n \"so\": {\n \"code\": \"so\",\n \"name\": \"Somali\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDF4\"\n },\n \"es\": {\n \"code\": \"es\",\n \"name\": \"Spanish\",\n \"flag\": \"\uD83C\uDDEA\uD83C\uDDF8\"\n },\n \"su\": {\n \"code\": \"su\",\n \"name\": \"Sundanese\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDE9\"\n },\n \"sw\": {\n \"code\": \"sw\",\n \"name\": \"Swahili\"\n },\n \"sv\": {\n \"code\": \"sv\",\n \"name\": \"Swedish\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDEA\"\n },\n \"tl\": {\n \"code\": \"tl\",\n \"name\": \"Tagalog (Filipino)\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDED\"\n },\n \"tg\": {\n \"code\": \"tg\",\n \"name\": \"Tajik\"\n },\n \"ta\": {\n \"code\": \"ta\",\n \"name\": \"Tamil\"\n },\n \"tt\": {\n \"code\": \"tt\",\n \"name\": \"Tatar\"\n },\n \"te\": {\n \"code\": \"te\",\n \"name\": \"Telugu\"\n },\n \"th\": {\n \"code\": \"th\",\n \"name\": \"Thai\"\n },\n \"tr\": {\n \"code\": \"tr\",\n \"name\": \"Turkish\",\n \"flag\": \"\uD83C\uDDF9\uD83C\uDDF7\"\n },\n \"tk\": {\n \"code\": \"tk\",\n \"name\": \"Turkmen\",\n \"flag\": \"\uD83C\uDDF9\uD83C\uDDF2\"\n },\n \"uk\": {\n \"code\": \"uk\",\n \"name\": \"Ukrainian\",\n \"flag\": \"\uD83C\uDDFA\uD83C\uDDE6\"\n },\n \"ur\": {\n \"code\": \"ur\",\n \"name\": \"Urdu\"\n },\n \"ug\": {\n \"code\": \"ug\",\n \"name\": \"Uyghur\"\n },\n \"uz\": {\n \"code\": \"uz\",\n \"name\": \"Uzbek\"\n },\n \"vi\": {\n \"code\": \"vi\",\n \"name\": \"Vietnamese\",\n \"flag\": \"\uD83C\uDDFB\uD83C\uDDF3\"\n },\n \"cy\": {\n \"code\": \"cy\",\n \"name\": \"Welsh\",\n \"flag\": \"\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73\uDB40\uDC7F\"\n },\n \"xh\": {\n \"code\": \"xh\",\n \"name\": \"Xhosa\"\n },\n \"yi\": {\n \"code\": \"yi\",\n \"name\": \"Yiddish\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF1\"\n },\n \"yo\": {\n \"code\": \"yo\",\n \"name\": \"Yoruba\"\n },\n \"zu\": {\n \"code\": \"zu\",\n \"name\": \"Zulu\"\n }\n}\n", "import _supportedLanguagesByCountry from \"./supportedLanguages.json\";\nimport _supportedLanguagesByCode from \"./supportedLanguagesByCode.json\";\n\nexport type LanguagesMapByCountry = typeof _supportedLanguagesByCountry;\nexport type LanguageCountries = keyof LanguagesMapByCountry;\n\nexport type LanguagesMapByCode = typeof _supportedLanguagesByCode;\nexport type LanguageCode = keyof LanguagesMapByCode;\n\nexport type LanguagesItem = {\n code: LanguageCode;\n name: string;\n flag?: string;\n};\n\nexport const getLanguageFlag = (language?: LanguagesItem, fallback = \"\uD83C\uDFF3\uFE0F\") => {\n return language?.flag ?? fallback;\n};\n\nexport const getLanguageFlagByCode = (lang: LanguageCode) => {\n return getLanguageFlag(supportedLanguagesByCode[lang]);\n};\n\nexport const supportedLanguagesByCode = _supportedLanguagesByCode as Record<LanguageCode, LanguagesItem>;\nexport const supportedLanguagesByCountry = _supportedLanguagesByCountry as Record<LanguageCountries, LanguagesItem>;\n\nexport const languages: LanguagesItem[] = Object.values(supportedLanguagesByCountry);\n", "import React from \"react\";\nimport { Action, ActionPanel, Color, Icon, List, showToast, Toast, useNavigation } from \"@raycast/api\";\nimport { useCachedState } from \"@raycast/utils\";\nimport { LanguageCodeSet } from \"../types\";\nimport { useAllLanguageSets, usePreferencesLanguageSet, useSelectedLanguagesSet } from \"../hooks\";\nimport { AddLanguageForm } from \"./AddLanguageForm\";\nimport { isSameLanguageSet, formatLanguageSet, getLanguageSetObjects } from \"../utils\";\nimport { getLanguageFlag } from \"../languages\";\n\nexport function LanguagesManagerItem({\n languageSet,\n onSelect,\n onDelete,\n selected,\n}: {\n languageSet: LanguageCodeSet;\n onSelect: () => void;\n onDelete?: () => void;\n selected?: boolean;\n}) {\n const { langFrom, langTo } = getLanguageSetObjects(languageSet);\n\n const langsTo = Array.isArray(langTo) ? langTo : [langTo];\n const langsToFlags = langsTo.map((l) => getLanguageFlag(l)).join(\" \");\n const langsToLabel = langsTo.map((l) => l.name).join(\", \");\n\n return (\n <List.Item\n subtitle={`${getLanguageFlag(langFrom)} -> ${langsToFlags}`}\n title={`${langFrom.name} -> ${langsToLabel}`}\n keywords={[langFrom.name, langFrom.code, ...langsTo.flatMap((l) => [l.name, l.code])]}\n icon={selected ? { tintColor: Color.Green, source: Icon.Checkmark } : undefined}\n actions={\n <ActionPanel>\n <Action title=\"Select\" onAction={onSelect} icon={{ tintColor: Color.Green, source: Icon.Checkmark }} />\n {onDelete && <Action style={Action.Style.Destructive} title=\"Delete\" onAction={onDelete} icon={Icon.Trash} />}\n </ActionPanel>\n }\n />\n );\n}\n\nexport const SaveCurrentLanguageSet: React.FC<{ languageSet: LanguageCodeSet; onSelect: () => void }> = ({\n languageSet,\n onSelect,\n}) => {\n return (\n <List.Item\n icon={Icon.SaveDocument}\n title=\"Save current set\"\n subtitle={formatLanguageSet(languageSet)}\n actions={\n <ActionPanel>\n <Action title=\"Save current set\" onAction={onSelect} />\n </ActionPanel>\n }\n />\n );\n};\n\nexport const LanguagesManagerList: React.VFC = () => {\n const navigation = useNavigation();\n const preferencesLanguageSet = usePreferencesLanguageSet();\n const [selectedLanguageSet, setSelectedLanguageSet] = useSelectedLanguagesSet();\n const [languages, setLanguages] = useAllLanguageSets();\n\n return (\n <List\n actions={\n <ActionPanel>\n <Action title=\"Remove all\" onAction={() => setLanguages([])} />\n </ActionPanel>\n }\n >\n <List.Item\n icon={{ source: Icon.Plus }}\n title=\"Add new language set...\"\n actions={\n <ActionPanel>\n <Action.Push\n title=\"Add new language set...\"\n target={\n <AddLanguageForm\n onAddLanguage={(langSet) => {\n setLanguages([...languages, langSet]);\n navigation.pop();\n showToast(Toast.Style.Success, \"Language set was saved!\", formatLanguageSet(langSet));\n }}\n />\n }\n />\n </ActionPanel>\n }\n />\n {!languages.some((l) => isSameLanguageSet(l, selectedLanguageSet)) &&\n !isSameLanguageSet(preferencesLanguageSet, selectedLanguageSet) && (\n <SaveCurrentLanguageSet\n languageSet={selectedLanguageSet}\n onSelect={() => setLanguages([...languages, selectedLanguageSet])}\n />\n )}\n <LanguagesManagerItem\n languageSet={preferencesLanguageSet}\n onSelect={() => {\n setSelectedLanguageSet(preferencesLanguageSet);\n navigation.pop();\n }}\n selected={isSameLanguageSet(selectedLanguageSet, preferencesLanguageSet)}\n />\n {languages.map((langSet) => (\n <LanguagesManagerItem\n key={`${langSet.langFrom} ${langSet.langTo}`}\n selected={isSameLanguageSet(selectedLanguageSet, langSet)}\n languageSet={langSet}\n onSelect={() => {\n setSelectedLanguageSet(langSet);\n navigation.pop();\n }}\n onDelete={() => {\n setLanguages(languages.filter((l) => !isSameLanguageSet(l, langSet)));\n showToast(Toast.Style.Success, \"Language set was deleted!\", formatLanguageSet(langSet));\n }}\n />\n ))}\n </List>\n );\n};\n", "import React from \"react\";\nimport { Action, ActionPanel, Toast, Form, showToast } from \"@raycast/api\";\nimport { getLanguageFlag, LanguageCode, languages } from \"../languages\";\nimport { AUTO_DETECT } from \"../simple-translate\";\nimport { LanguageCodeSet } from \"../types\";\n\nexport const AddLanguageForm: React.VFC<{\n onAddLanguage: (data: LanguageCodeSet) => void;\n}> = ({ onAddLanguage }) => {\n const [targetLanguages, setTargetLanguages] = React.useState<LanguageCode[]>([\"en\"]);\n\n return (\n <Form\n actions={\n <ActionPanel>\n <Action.SubmitForm\n title=\"Add language set\"\n onSubmit={(values: LanguageCodeSet) => {\n const filteredTargetLanguages = targetLanguages.filter((lang) => !!lang);\n if (!filteredTargetLanguages.length) {\n showToast({\n style: Toast.Style.Failure,\n title: \"No target languages\",\n message: \"Please select at least one target language\",\n });\n return;\n }\n onAddLanguage({\n langFrom: values.langFrom,\n langTo: filteredTargetLanguages,\n });\n }}\n />\n </ActionPanel>\n }\n >\n <Form.Dropdown id=\"langFrom\" title=\"Source Language\">\n {languages.map((lang) => (\n <Form.Dropdown.Item key={lang.code} value={lang.code} title={lang.name} icon={getLanguageFlag(lang)} />\n ))}\n </Form.Dropdown>\n {targetLanguages.map((_, index) => {\n const value = targetLanguages[index];\n return (\n <Form.Dropdown\n id={`langTo.${index}`}\n title={`Target Language ${index + 1}`}\n key={index}\n value={value}\n onChange={(value) => {\n const newTargetLanguages = [...targetLanguages];\n newTargetLanguages[index] = value as LanguageCode;\n setTargetLanguages(newTargetLanguages);\n }}\n >\n {!value && <Form.Dropdown.Item value=\"\" title=\"\" />}\n {languages\n .filter((lang) => lang.code !== AUTO_DETECT)\n .map((lang) => (\n <Form.Dropdown.Item key={lang.code} value={lang.code} title={lang.name} icon={getLanguageFlag(lang)} />\n ))}\n </Form.Dropdown>\n );\n })}\n {(!!targetLanguages[targetLanguages.length - 1] || targetLanguages.length === 0) && (\n <Form.Dropdown\n id={`langTo.${targetLanguages.length}`}\n title={`Target Language ${targetLanguages.length}`}\n key={targetLanguages.length}\n value={\"\"}\n onChange={(value) => {\n const newTargetLanguages = [...targetLanguages];\n newTargetLanguages.push(value as LanguageCode);\n setTargetLanguages(newTargetLanguages);\n }}\n >\n <Form.Dropdown.Item value=\"\" title=\"\" />\n {languages\n .filter((lang) => lang.code !== AUTO_DETECT)\n .map((lang) => (\n <Form.Dropdown.Item key={lang.code} value={lang.code} title={lang.name} icon={getLanguageFlag(lang)} />\n ))}\n </Form.Dropdown>\n )}\n </Form>\n );\n};\n", "import { getLanguageFlag, supportedLanguagesByCode } from \"./languages\";\nimport { LanguageCodeSet } from \"./types\";\n\nexport const isSameLanguageSet = (langSet1: LanguageCodeSet, langSet2: LanguageCodeSet) => {\n return langSet1.langFrom === langSet2.langFrom && langSet1.langTo.join() === langSet2.langTo.join();\n};\n\nexport const getLanguageSetObjects = (languageSet: LanguageCodeSet) => {\n return {\n langFrom: supportedLanguagesByCode[languageSet.langFrom],\n langTo: languageSet.langTo.map((l) => supportedLanguagesByCode[l]),\n };\n};\n\nexport const formatLanguageSet = (languageSet: LanguageCodeSet) => {\n const { langFrom, langTo } = getLanguageSetObjects(languageSet);\n const langToArr = Array.isArray(langTo) ? langTo : [langTo];\n const languageLabels = langToArr.map((l) => `${getLanguageFlag(l)} ${l.name}`);\n return `${langFrom.name} ${getLanguageFlag(langFrom)} -> ${languageLabels.join(\", \")}`;\n};\n", "import React from \"react\";\nimport { Icon, List, useNavigation } from \"@raycast/api\";\nimport { LanguageCodeSet } from \"../types\";\nimport { useAllLanguageSets, usePreferencesLanguageSet, useSelectedLanguagesSet } from \"../hooks\";\nimport { LanguagesManagerList } from \"./LanguagesManagerList\";\nimport { formatLanguageSet } from \"../utils\";\n\nexport function LanguageManagerListDropdown() {\n const navigation = useNavigation();\n const preferencesLanguageSet = usePreferencesLanguageSet();\n const [selectedLanguageSet, setSelectedLanguageSet] = useSelectedLanguagesSet();\n const [languages] = useAllLanguageSets();\n\n return (\n <List.Dropdown\n value={JSON.stringify(selectedLanguageSet)}\n tooltip=\"Language Set\"\n onChange={(value) => {\n if (value === \"manage\") {\n navigation.push(<LanguagesManagerList />);\n } else {\n const langSet: LanguageCodeSet = JSON.parse(value);\n setSelectedLanguageSet(langSet);\n }\n }}\n >\n <List.Dropdown.Item icon={Icon.Pencil} title=\"Manage language sets...\" value=\"manage\" />\n <List.Dropdown.Item\n title={formatLanguageSet(preferencesLanguageSet)}\n value={JSON.stringify(preferencesLanguageSet)}\n />\n {languages.map((langSet) => (\n <List.Dropdown.Item\n key={`${langSet.langFrom} ${langSet.langTo.toString()}`}\n title={formatLanguageSet(langSet)}\n value={JSON.stringify(langSet)}\n />\n ))}\n </List.Dropdown>\n );\n}\n", "import React from \"react\";\nimport { Action, Icon, getPreferenceValues } from \"@raycast/api\";\nimport { SimpleTranslateResult } from \"./simple-translate\";\n\ninterface ActionsOpts {\n value: string;\n defaultActionsPrefix?: string;\n}\n\nexport const ConfigurableCopyPasteActions = ({ defaultActionsPrefix, value }: ActionsOpts) => {\n const defaultPreference = getPreferenceValues<ExtensionPreferences>().defaultAction;\n\n const pasteAction = (\n <Action.Paste title={defaultActionsPrefix ? `Paste ${defaultActionsPrefix}` : `Paste`} content={value} />\n );\n const copyAction = (\n <Action.CopyToClipboard title={defaultActionsPrefix ? `Copy ${defaultActionsPrefix}` : `Copy`} content={value} />\n );\n\n if (defaultPreference === \"paste\") {\n return (\n <>\n {pasteAction}\n {copyAction}\n </>\n );\n }\n\n return (\n <>\n {copyAction}\n {pasteAction}\n </>\n );\n};\n\nexport const ToggleFullTextAction: React.VFC<{\n onAction: () => void;\n}> = ({ onAction }) => {\n return (\n <Action title=\"Toggle Full Text\" icon={Icon.Text} onAction={onAction} shortcut={{ modifiers: [\"cmd\"], key: \"f\" }} />\n );\n};\n\nexport const OpenOnGoogleTranslateWebsiteAction: React.VFC<{\n translation: Pick<SimpleTranslateResult, \"langFrom\" | \"langTo\">;\n translationText: string;\n}> = ({ translationText, translation }) => {\n return (\n <Action.OpenInBrowser\n title=\"Open in Google Translate\"\n shortcut={{ modifiers: [\"opt\"], key: \"enter\" }}\n url={\n \"https://translate.google.com/?sl=\" +\n translation.langFrom +\n \"&tl=\" +\n translation.langTo +\n \"&text=\" +\n encodeURIComponent(translationText) +\n \"&op=translate\"\n }\n />\n );\n};\n"], + "mappings": "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AAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,uBAAuB,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAK,GAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,GAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,KAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAO,IAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI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AC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAO,KAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OA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,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAC/C,EAEMU,GAAS,CACb,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAC/C,EAEMM,GAAU,CACd,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAC/C,EAEME,GAAiB,CACrB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,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,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAC/C,EAEMC,GAAc,CAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAC/C,EAEA3B,GAAO,QAAUwC,KC5oBjB,IAAA6C,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,SAAAC,EAAS,EAAI,QAAQ,QAAQ,EAE/B,CAAE,WAAAC,EAAW,EAAI,KAEjBC,GAAN,cAAyBF,EAAS,CAChC,YAAYG,EAAK,CACf,IAAMC,EAAa,CACjB,YAAa,GACb,UAAW,GACX,cAAgB,OAAOD,EAAI,eAAkB,SAC3BA,EAAI,cACJ,MACpB,EACA,MAAMC,CAAU,EAEhB,IAAIC,EAAWF,EAAI,YAAc,OAC7BA,EAAI,QAAQ,QAAU,OAAOA,EAAI,QAAQ,OAAO,SAAY,WAC9DE,EAAUF,EAAI,QAAQ,OAAO,SAE/B,KAAK,QAAUE,EAEf,IAAMC,EAASH,EAAI,OACnB,KAAK,eAAkBG,GAAU,OAAOA,EAAO,WAAc,SACpCA,EAAO,UACP,EAAI,KAAO,KACpC,KAAK,YAAeA,GAAU,OAAOA,EAAO,QAAW,SACjCA,EAAO,OACP,IACtB,KAAK,mBACHA,GAAU,OAAOA,EAAO,eAAkB,SACxCA,EAAO,cACP,IAGJ,KAAK,OAAS,GACd,KAAK,UAAY,GACjB,KAAK,UAAY,GACjB,KAAK,UAAY,EACjB,KAAK,UAAY,EACjB,KAAK,QAAU,EACf,KAAK,KAAO,GACZ,KAAK,KAAO,GACZ,KAAK,MAAQ,GACb,KAAK,SAAW,EAChB,KAAK,QAAU,EACf,KAAK,SAAWL,GAAWI,CAAO,CACpC,CAEA,OAAO,OAAOE,EAAS,CACrB,OAAQA,EAAQ,OAAS,eACdA,EAAQ,UAAY,uBACjC,CAEA,OAAOC,EAAOC,EAAKC,EAAI,CACrB,GAAI,KAAK,SAAW,KAAK,YACvB,OAAOA,EAAG,EAEZ,IAAIC,EAAI,EACFC,EAAMJ,EAAM,OAIlB,GAHA,KAAK,SAAW,EAGZ,KAAK,QAAU,GAAI,CAErB,GADAG,EAAIE,GAAW,KAAML,EAAOG,EAAGC,CAAG,EAC9BD,IAAM,GACR,OAAOD,EAAG,IAAI,MAAM,2BAA2B,CAAC,EAClD,GAAIC,GAAKC,EACP,OAAOF,EAAG,EACR,KAAK,OACP,EAAE,KAAK,UAEP,EAAE,KAAK,SACX,CAEJI,EACI,KAAOH,EAAIC,GACT,GAAI,KAAK,OAAQ,CAKf,IAFAD,EAAII,GAAa,KAAMP,EAAOG,EAAGC,CAAG,EAE7BD,EAAIC,GAAK,CACd,OAAQJ,EAAMG,CAAC,EAAG,CAChB,IAAK,IACC,KAAK,SAAWA,IAClB,KAAK,MAAQH,EAAM,YAAY,KAAK,SAAUG,CAAC,GACjD,KAAK,SAAW,EAAEA,EAClB,KAAK,KAAO,KAAK,SAAS,KAAK,KAAM,KAAK,OAAO,EACjD,KAAK,QAAU,EACf,KAAK,OAAS,GACd,SAASG,EACX,IAAK,IAuBH,GAtBI,KAAK,SAAWH,IAClB,KAAK,MAAQH,EAAM,YAAY,KAAK,SAAUG,CAAC,GACjD,KAAK,SAAW,EAAEA,EAClB,KAAK,KAAO,KAAK,SAAS,KAAK,KAAM,KAAK,OAAO,EACjD,KAAK,QAAU,EACX,KAAK,UAAY,GACnB,KAAK,KACH,QACA,KAAK,KACL,GACA,CAAE,cAAe,KAAK,UACpB,eAAgB,GAChB,SAAU,KAAK,QACf,SAAU,YAAa,CAC3B,EAEF,KAAK,KAAO,GACZ,KAAK,KAAO,GACZ,KAAK,UAAY,GACjB,KAAK,UAAY,GACjB,KAAK,UAAY,EACjB,KAAK,UAAY,EACb,EAAE,KAAK,SAAW,KAAK,YACzB,YAAK,KAAK,aAAa,EAChBD,EAAG,EAEZ,SACF,IAAK,IACC,KAAK,SAAWC,IAClB,KAAK,MAAQH,EAAM,YAAY,KAAK,SAAUG,CAAC,GACjD,KAAK,MAAQ,IACb,KAAK,SAAWA,EAAI,EACpB,MACF,IAAK,IAQH,GAPI,KAAK,UAAY,IACnB,KAAK,QAAU,GACb,KAAK,SAAWA,IAClB,KAAK,MAAQH,EAAM,YAAY,KAAK,SAAUG,CAAC,GACjD,KAAK,SAAWA,EAAI,EACpB,KAAK,MAAQ,GACbA,EAAIE,GAAW,KAAML,EAAOG,EAAI,EAAGC,CAAG,EAClCD,IAAM,GACR,OAAOD,EAAG,IAAI,MAAM,2BAA2B,CAAC,EAClD,GAAIC,GAAKC,EACP,OAAOF,EAAG,EACZ,EAAE,KAAK,UACPC,EAAII,GAAa,KAAMP,EAAOG,EAAGC,CAAG,EACpC,QACJ,CACA,EAAED,EACF,EAAE,KAAK,UACPA,EAAII,GAAa,KAAMP,EAAOG,EAAGC,CAAG,CACtC,CACI,KAAK,SAAWD,IAClB,KAAK,MAAQH,EAAM,YAAY,KAAK,SAAUG,CAAC,EACnD,KAAO,CAKL,IAFAA,EAAIK,GAAa,KAAMR,EAAOG,EAAGC,CAAG,EAE7BD,EAAIC,GAAK,CACd,OAAQJ,EAAMG,CAAC,EAAG,CAChB,IAAK,IAwBH,GAvBI,KAAK,SAAWA,IAClB,KAAK,MAAQH,EAAM,YAAY,KAAK,SAAUG,CAAC,GACjD,KAAK,SAAW,EAAEA,EAClB,KAAK,OAAS,GACd,KAAK,KAAO,KAAK,SAAS,KAAK,KAAM,KAAK,OAAO,EACjD,KAAK,QAAU,GACX,KAAK,UAAY,GAAK,KAAK,UAAY,IACzC,KAAK,KACH,QACA,KAAK,KACL,KAAK,KACL,CAAE,cAAe,KAAK,UACpB,eAAgB,KAAK,UACrB,SAAU,KAAK,QACf,SAAU,YAAa,CAC3B,EAEF,KAAK,KAAO,GACZ,KAAK,KAAO,GACZ,KAAK,UAAY,GACjB,KAAK,UAAY,GACjB,KAAK,UAAY,EACjB,KAAK,UAAY,EACb,EAAE,KAAK,SAAW,KAAK,YACzB,YAAK,KAAK,aAAa,EAChBD,EAAG,EAEZ,SAASI,EACX,IAAK,IACC,KAAK,SAAWH,IAClB,KAAK,MAAQH,EAAM,YAAY,KAAK,SAAUG,CAAC,GACjD,KAAK,MAAQ,IACb,KAAK,SAAWA,EAAI,EACpB,MACF,IAAK,IAQH,GAPI,KAAK,UAAY,IACnB,KAAK,QAAU,GACb,KAAK,SAAWA,IAClB,KAAK,MAAQH,EAAM,YAAY,KAAK,SAAUG,CAAC,GACjD,KAAK,SAAWA,EAAI,EACpB,KAAK,MAAQ,GACbA,EAAIE,GAAW,KAAML,EAAOG,EAAI,EAAGC,CAAG,EAClCD,IAAM,GACR,OAAOD,EAAG,IAAI,MAAM,2BAA2B,CAAC,EAClD,GAAIC,GAAKC,EACP,OAAOF,EAAG,EACZ,EAAE,KAAK,UACPC,EAAIK,GAAa,KAAMR,EAAOG,EAAGC,CAAG,EACpC,QACJ,CACA,EAAED,EACF,EAAE,KAAK,UACPA,EAAIK,GAAa,KAAMR,EAAOG,EAAGC,CAAG,CACtC,CACI,KAAK,SAAWD,IAClB,KAAK,MAAQH,EAAM,YAAY,KAAK,SAAUG,CAAC,EACnD,CAGFD,EAAG,CACL,CAEA,OAAOA,EAAI,CACT,GAAI,KAAK,QAAU,GACjB,OAAOA,EAAG,IAAI,MAAM,2BAA2B,CAAC,GAC9C,CAAC,KAAK,QAAU,KAAK,UAAY,GAAK,KAAK,UAAY,KACrD,KAAK,OACP,KAAK,KAAO,KAAK,SAAS,KAAK,KAAM,KAAK,OAAO,EAEjD,KAAK,KAAO,KAAK,SAAS,KAAK,KAAM,KAAK,OAAO,EACnD,KAAK,KACH,QACA,KAAK,KACL,KAAK,KACL,CAAE,cAAe,KAAK,UACpB,eAAgB,KAAK,UACrB,SAAU,KAAK,QACf,SAAU,YAAa,CAC3B,GAEFA,EAAG,CACL,CACF,EAEA,SAASG,GAAWI,EAAMT,EAAOU,EAAKN,EAAK,CACzC,GAAIM,GAAON,EACT,OAAOA,EAET,GAAIK,EAAK,QAAU,GAAI,CAErB,IAAME,EAAWC,GAAWZ,EAAMU,GAAK,CAAC,EACxC,GAAIC,IAAa,GACf,MAAO,GAKT,GAHIA,GAAY,IACdF,EAAK,QAAU,GAEbC,EAAMN,EAAK,CAEb,IAAMS,EAAWD,GAAWZ,EAAMU,GAAK,CAAC,EACxC,GAAIG,IAAa,GACf,MAAO,GAELJ,EAAK,OACPA,EAAK,MAAQ,OAAO,cAAcE,GAAY,GAAKE,CAAQ,EAE3DJ,EAAK,MAAQ,OAAO,cAAcE,GAAY,GAAKE,CAAQ,EAE7DJ,EAAK,MAAQ,GACbA,EAAK,SAAWC,CAClB,MAEED,EAAK,MAAQE,CAEjB,KAAO,CAEL,IAAME,EAAWD,GAAWZ,EAAMU,GAAK,CAAC,EACxC,GAAIG,IAAa,GACf,MAAO,GAELJ,EAAK,OACPA,EAAK,MAAQ,OAAO,cAAcA,EAAK,OAAS,GAAKI,CAAQ,EAE7DJ,EAAK,MAAQ,OAAO,cAAcA,EAAK,OAAS,GAAKI,CAAQ,EAE/DJ,EAAK,MAAQ,GACbA,EAAK,SAAWC,CAClB,CAEA,OAAOA,CACT,CAEA,SAASH,GAAaE,EAAMT,EAAOU,EAAKN,EAAK,CAE3C,GAAIK,EAAK,UAAYA,EAAK,mBAAoB,CAM5C,IALKA,EAAK,WACJA,EAAK,SAAWC,IAClBD,EAAK,MAAQT,EAAM,YAAYS,EAAK,SAAUC,EAAM,CAAC,GAEzDD,EAAK,UAAY,GACVC,EAAMN,EAAK,EAAEM,EAAK,CACvB,IAAMI,EAAOd,EAAMU,CAAG,EACtB,GAAII,IAAS,IAAeA,IAAS,GACnC,MACF,EAAEL,EAAK,SACT,CACAA,EAAK,SAAWC,CAClB,CAEA,OAAOA,CACT,CAEA,SAASF,GAAaC,EAAMT,EAAOU,EAAKN,EAAK,CAE3C,GAAIK,EAAK,UAAYA,EAAK,eAAgB,CAMxC,IALKA,EAAK,WACJA,EAAK,SAAWC,IAClBD,EAAK,MAAQT,EAAM,YAAYS,EAAK,SAAUC,EAAM,CAAC,GAEzDD,EAAK,UAAY,GACVC,EAAMN,GACPJ,EAAMU,CAAG,IAAM,GADH,EAAEA,EAGlB,EAAED,EAAK,UAETA,EAAK,SAAWC,CAClB,CAEA,OAAOA,CACT,CAGA,IAAME,GAAa,CACjB,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAC9D,EAGArB,GAAO,QAAUG,KC7VjB,IAAAqB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,iBAAAC,EAAiB,EAAI,KAE7B,SAASC,GAAYC,EAAK,CACxB,IAAMC,EAAUD,EAAI,QACdE,EAAUJ,GAAiBG,EAAQ,cAAc,CAAC,EACxD,GAAI,CAACC,EACH,MAAM,IAAI,MAAM,wBAAwB,EAE1C,QAAWC,KAAQC,GAAO,CAExB,GAAI,CADYD,EAAK,OAAOD,CAAO,EAEjC,SAEF,IAAMG,EAAc,CAClB,OAAQL,EAAI,OACZ,QAAAC,EACA,QAAAC,EACA,cAAe,OACf,QAAS,OACT,WAAY,OACZ,gBAAiB,OACjB,aAAc,EAChB,EACA,OAAIF,EAAI,gBACNK,EAAY,cAAgBL,EAAI,eAC9BA,EAAI,UACNK,EAAY,QAAUL,EAAI,SAC5BK,EAAY,WAAaL,EAAI,WAC7BK,EAAY,gBAAkBL,EAAI,gBAClCK,EAAY,aAAeL,EAAI,aACxB,IAAIG,EAAKE,CAAW,CAC7B,CAEA,MAAM,IAAI,MAAM,6BAA6BJ,EAAQ,cAAc,CAAC,EAAE,CACxE,CAIA,IAAMG,GAAQ,CACZ,KACA,IACF,EAAE,OAAO,SAASE,EAAS,CAAE,OAAO,OAAOA,EAAQ,QAAW,UAAY,CAAC,EAE3ET,GAAO,QAAWG,GAAQ,CAIxB,IAHI,OAAOA,GAAQ,UAAYA,IAAQ,QACrCA,EAAM,CAAC,GAEL,OAAOA,EAAI,SAAY,UACpBA,EAAI,UAAY,MAChB,OAAOA,EAAI,QAAQ,cAAc,GAAM,SAC5C,MAAM,IAAI,MAAM,sBAAsB,EAGxC,OAAOD,GAAYC,CAAG,CACxB,ICxDA,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,eAAAC,GAAgB,qBAAAC,EAAqB,EAAI,QAAQ,gBAAgB,EAEnEC,GAAwB,CAAC,MAAO,OAAQ,MAAM,EAE9CC,GAAiB,CAAC,IAAK,IAAK,IAAK,GAAG,EAEpCC,GAAiB,CAAC,IAAK,IAAK,IAAK,IAAK,GAAG,EAGzCC,GAAW,CACf,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC/G,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACvG,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAClG,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OACpG,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAChG,OACF,EAGMC,GAAiB,CACrB,GACA,cACA,6BACA,cACA,SACA,gBACA,2BACA,kCACA,YACF,EAEMC,GAAkB,CAAC,SAAU,SAAU,OAAO,EAE9CC,GAAc,CAAC,MAAO,OAAQ,UAAW,OAAO,EAEhDC,GAAc,CAAC,WAAY,cAAe,UAAW,MAAM,EAE3DC,GAAqB,CAAC,OAAQ,cAAe,SAAS,EAEtDC,GAAe,CACnB,UACA,WACA,SACA,WACA,cACA,gBACF,EAGMC,GAAoB,CACxB,mBACA,mBACA,mBACA,eAKA,gBACF,EAGMC,GAAgB,CACpB,MACF,EAGMC,GAAmB,CAAC,UAAW,QAAS,OAAO,EAE/CC,GAAc,CAClB,QACA,eACA,OACA,QACA,WACA,eACA,SACA,QACA,QACA,QACA,OACA,EACF,EAGMC,GAAe,WAAW,eAAiB,IAAM,CAGrD,GAAI,CACF,KAAK,GAAG,CACV,OAASC,EAAK,CACZ,OAAO,OAAO,eAAeA,CAAG,EAAE,WACpC,CACF,GAAG,EAECC,GAGEC,GACJ,WAAW,iBAGX,SAA0BC,EAAOC,EAAU,OAAW,CACpD,GAAI,UAAU,SAAW,EACvB,MAAM,IAAI,UAAU,kBAAkB,EAGxC,OAAKH,KACHA,GAAU,IAAIlB,IAEhBkB,GAAQ,MAAM,MAAM,EACpBA,GAAQ,MAAM,MAAM,EACpBA,GAAQ,MAAM,YAAYE,EAAOC,GAAS,QAAQ,EAC3CpB,GAAqBiB,GAAQ,KAAK,EAAE,OAC7C,EAEFnB,GAAO,QAAU,CACf,aAAAiB,GACA,gBAAAG,GACA,YAAAJ,GACA,iBAAAD,GACA,kBAAAF,GACA,eAAAN,GACA,gBAAAC,GACA,YAAAE,GACA,mBAAAC,GACA,aAAAC,GACA,eAAAP,GACA,sBAAAF,GACA,eAAAC,GACA,YAAAK,GACA,SAAAH,GACA,cAAAQ,EACF,ICvIA,IAAAS,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAIA,IAAMC,GAAe,OAAO,IAAI,uBAAuB,EAEvD,SAASC,IAAmB,CAC1B,OAAO,WAAWD,EAAY,CAChC,CAEA,SAASE,GAAiBC,EAAW,CACnC,GACEA,IAAc,QACd,OAAOA,GAAc,UACrB,EAAEA,aAAqB,KAEvB,MAAM,IAAI,MAAM,kBAAkB,EAGpC,GAAIA,IAAc,OAAW,CAC3B,OAAO,eAAe,WAAYH,GAAc,CAC9C,MAAO,OACP,SAAU,GACV,WAAY,GACZ,aAAc,EAChB,CAAC,EAED,MACF,CAEA,IAAMI,EAAY,IAAI,IAAID,CAAS,EAEnC,GAAIC,EAAU,WAAa,SAAWA,EAAU,WAAa,SAC3D,MAAM,IAAI,UAAU,gDAAgDA,EAAU,QAAQ,EAAE,EAG1F,OAAO,eAAe,WAAYJ,GAAc,CAC9C,MAAOI,EACP,SAAU,GACV,WAAY,GACZ,aAAc,EAChB,CAAC,CACH,CAEAL,GAAO,QAAU,CACf,gBAAAE,GACA,gBAAAC,EACF,IC/CA,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,eAAAC,GAAgB,SAAAC,GAAU,eAAgBC,EAAqB,EAAI,KACrE,CAAE,gBAAAC,EAAgB,EAAI,KACtB,CAAE,YAAAC,EAAY,EAAI,QAAQ,YAAY,EACtC,CAAE,WAAAC,GAAY,YAAAC,GAAa,mBAAAC,EAAmB,EAAI,IAClDC,GAAS,QAAQ,QAAQ,EACzB,CAAE,aAAAC,EAAa,EAAI,QAAQ,YAAY,EAIzCC,GAEJ,GAAI,CACFA,GAAS,QAAQ,QAAQ,CAC3B,MAAQ,CAER,CAEA,SAASC,GAAaC,EAAU,CAI9B,IAAMC,EAAUD,EAAS,QACnBE,EAASD,EAAQ,OACvB,OAAOC,IAAW,EAAI,KAAOD,EAAQC,EAAS,CAAC,EAAE,SAAS,CAC5D,CAGA,SAASC,GAAqBH,EAAUI,EAAiB,CAEvD,GAAI,CAAChB,GAAe,SAASY,EAAS,MAAM,EAC1C,OAAO,KAKT,IAAIK,EAAWL,EAAS,YAAY,IAAI,UAAU,EAIlD,OAAIK,IAAa,MAAQC,GAAmBD,CAAQ,IAClDA,EAAW,IAAI,IAAIA,EAAUN,GAAYC,CAAQ,CAAC,GAKhDK,GAAY,CAACA,EAAS,OACxBA,EAAS,KAAOD,GAIXC,CACT,CAGA,SAASE,GAAmBC,EAAS,CACnC,OAAOA,EAAQ,QAAQA,EAAQ,QAAQ,OAAS,CAAC,CACnD,CAEA,SAASC,GAAgBD,EAAS,CAEhC,IAAME,EAAMH,GAAkBC,CAAO,EAIrC,OAAIG,GAAqBD,CAAG,GAAKrB,GAAS,SAASqB,EAAI,IAAI,EAClD,UAIF,SACT,CAEA,SAASE,GAAaC,EAAQ,CAC5B,OAAOA,aAAkB,OACvBA,GAAQ,aAAa,OAAS,SAC9BA,GAAQ,aAAa,OAAS,cAElC,CAQA,SAASC,GAAqBC,EAAY,CACxC,QAASC,EAAI,EAAGA,EAAID,EAAW,OAAQ,EAAEC,EAAG,CAC1C,IAAMC,EAAIF,EAAW,WAAWC,CAAC,EACjC,GACE,EAEIC,IAAM,GACLA,GAAK,IAAQA,GAAK,KAClBA,GAAK,KAAQA,GAAK,KAIvB,MAAO,EAEX,CACA,MAAO,EACT,CAEA,SAASC,GAAaD,EAAG,CACvB,MAAO,EACLA,GAAK,KACLA,GAAK,IACLA,IAAM,KACNA,IAAM,KACNA,IAAM,KACNA,IAAM,KACNA,IAAM,KACNA,IAAM,KACNA,IAAM,KACNA,IAAM,KACNA,IAAM,MACNA,IAAM,KACNA,IAAM,KACNA,IAAM,KACNA,IAAM,KACNA,IAAM,KACNA,IAAM,KACNA,IAAM,KACNA,IAAM,IAEV,CAIA,SAASE,GAAkBC,EAAY,CACrC,GAAI,CAACA,GAAc,OAAOA,GAAe,SACvC,MAAO,GAET,QAASJ,EAAI,EAAGA,EAAII,EAAW,OAAQ,EAAEJ,EAAG,CAC1C,IAAMC,EAAIG,EAAW,WAAWJ,CAAC,EACjC,GAAIC,EAAI,KAAQ,CAACC,GAAYD,CAAC,EAC5B,MAAO,EAEX,CACA,MAAO,EACT,CAIA,SAASI,GAAmBC,EAAgB,CAC1C,OAAIA,EAAe,SAAW,EACrB,GAGFH,GAAiBG,CAAc,CACxC,CAMA,SAAShB,GAAoBgB,EAAgB,CAY3C,MARE,EAAAA,EAAe,WAAW,GAAI,GAC9BA,EAAe,WAAW,GAAG,GAC7BA,EAAe,SAAS,GAAI,GAC5BA,EAAe,SAAS,GAAG,GAM3BA,EAAe,SAAS,IAAI,GAC5BA,EAAe,SAAS,IAAI,GAC5BA,EAAe,SAAS;AAAA,CAAI,EAMhC,CAGA,SAASC,GAAoCf,EAASgB,EAAgB,CAUpE,GAAM,CAAE,YAAAC,CAAY,EAAID,EAIlBE,GAAgBD,EAAY,IAAI,iBAAiB,GAAK,IAAI,MAAM,GAAG,EAMrEE,EAAS,GACb,GAAID,EAAa,OAAS,EAGxB,QAAS,EAAIA,EAAa,OAAQ,IAAM,EAAG,IAAK,CAC9C,IAAME,EAAQF,EAAa,EAAI,CAAC,EAAE,KAAK,EACvC,GAAIpC,GAAqB,SAASsC,CAAK,EAAG,CACxCD,EAASC,EACT,KACF,CACF,CAIED,IAAW,KACbnB,EAAQ,eAAiBmB,EAE7B,CAGA,SAASE,IAAkC,CAEzC,MAAO,SACT,CAGA,SAASC,IAAa,CAEpB,MAAO,SACT,CAGA,SAASC,IAAY,CAEnB,MAAO,SACT,CAEA,SAASC,GAAqBC,EAAa,CAUzC,IAAIC,EAAS,KAGbA,EAASD,EAAY,KAGrBA,EAAY,YAAY,IAAI,iBAAkBC,CAAM,CAOtD,CAGA,SAASC,GAA2B3B,EAAS,CAE3C,IAAI4B,EAAmB5B,EAAQ,OAG/B,GAAIA,EAAQ,mBAAqB,QAAUA,EAAQ,OAAS,YACtD4B,GACF5B,EAAQ,YAAY,OAAO,SAAU4B,CAAgB,UAI9C5B,EAAQ,SAAW,OAASA,EAAQ,SAAW,OAAQ,CAEhE,OAAQA,EAAQ,eAAgB,CAC9B,IAAK,cAEH4B,EAAmB,KACnB,MACF,IAAK,6BACL,IAAK,gBACL,IAAK,kCAEC5B,EAAQ,QAAU6B,GAAkB7B,EAAQ,MAAM,GAAK,CAAC6B,GAAkB9B,GAAkBC,CAAO,CAAC,IACtG4B,EAAmB,MAErB,MACF,IAAK,cAEEE,GAAW9B,EAASD,GAAkBC,CAAO,CAAC,IACjD4B,EAAmB,MAErB,MACF,QAEF,CAEIA,GAEF5B,EAAQ,YAAY,OAAO,SAAU4B,CAAgB,CAEzD,CACF,CAEA,SAASG,GAA4BC,EAA+B,CAElE,OAAOhD,GAAY,IAAI,CACzB,CAGA,SAASiD,GAAwBC,EAAY,CAC3C,MAAO,CACL,UAAWA,EAAW,WAAa,EACnC,kBAAmB,EACnB,gBAAiB,EACjB,sBAAuBA,EAAW,WAAa,EAC/C,4BAA6B,EAC7B,8BAA+B,EAC/B,6BAA8B,EAC9B,QAAS,EACT,gBAAiB,EACjB,gBAAiB,EACjB,0BAA2B,IAC7B,CACF,CAGA,SAASC,IAAuB,CAE9B,MAAO,CACL,eAAgB,iCAClB,CACF,CAGA,SAASC,GAAsBC,EAAiB,CAC9C,MAAO,CACL,eAAgBA,EAAgB,cAClC,CACF,CAGA,SAASC,GAA2BtC,EAAS,CAE3C,IAAMmB,EAASnB,EAAQ,eAGvBZ,GAAO+B,CAAM,EAIb,IAAIoB,EAAiB,KAGrB,GAAIvC,EAAQ,WAAa,SAAU,CAIjC,IAAMwC,EAAezD,GAAgB,EAErC,GAAI,CAACyD,GAAgBA,EAAa,SAAW,OAC3C,MAAO,cAITD,EAAiB,IAAI,IAAIC,CAAY,CACvC,MAAWxC,EAAQ,oBAAoB,MAErCuC,EAAiBvC,EAAQ,UAK3B,IAAIyC,EAAcC,GAAoBH,CAAc,EAI9CI,EAAiBD,GAAoBH,EAAgB,EAAI,EAI3DE,EAAY,SAAS,EAAE,OAAS,OAClCA,EAAcE,GAGhB,IAAMC,EAAgBd,GAAW9B,EAASyC,CAAW,EAC/CI,EAA8BC,GAA4BL,CAAW,GACzE,CAACK,GAA4B9C,EAAQ,GAAG,EAG1C,OAAQmB,EAAQ,CACd,IAAK,SAAU,OAAOwB,GAA0CD,GAAoBH,EAAgB,EAAI,EACxG,IAAK,aAAc,OAAOE,EAC1B,IAAK,cACH,OAAOG,EAAgBD,EAAiB,cAC1C,IAAK,2BACH,OAAOC,EAAgBH,EAAcE,EACvC,IAAK,kCAAmC,CACtC,IAAMI,EAAahD,GAAkBC,CAAO,EAI5C,OAAI8B,GAAWW,EAAaM,CAAU,EAC7BN,EAMLK,GAA4BL,CAAW,GAAK,CAACK,GAA4BC,CAAU,EAC9E,cAIFJ,CACT,CACA,IAAK,gBAOL,IAAK,6BAQL,QACE,OAAOE,EAA8B,cAAgBF,CACzD,CACF,CAOA,SAASD,GAAqBxC,EAAK8C,EAAY,CAK7C,OAHA5D,GAAOc,aAAe,GAAG,EAGrBA,EAAI,WAAa,SAAWA,EAAI,WAAa,UAAYA,EAAI,WAAa,SACrE,eAITA,EAAI,SAAW,GAGfA,EAAI,SAAW,GAGfA,EAAI,KAAO,GAGP8C,IAEF9C,EAAI,SAAW,GAGfA,EAAI,OAAS,IAIRA,EACT,CAEA,SAAS4C,GAA6B5C,EAAK,CACzC,GAAI,EAAEA,aAAe,KACnB,MAAO,GAYT,GARIA,EAAI,OAAS,eAAiBA,EAAI,OAAS,gBAK3CA,EAAI,WAAa,SAGjBA,EAAI,WAAa,QAAS,MAAO,GAErC,OAAO+C,EAA+B/C,EAAI,MAAM,EAEhD,SAAS+C,EAAgCC,EAAQ,CAE/C,GAAIA,GAAU,MAAQA,IAAW,OAAQ,MAAO,GAEhD,IAAMC,EAAc,IAAI,IAAID,CAAM,EAQlC,MALI,GAAAC,EAAY,WAAa,UAAYA,EAAY,WAAa,QAK9D,sDAAsD,KAAKA,EAAY,QAAQ,GACjFA,EAAY,WAAa,aAAeA,EAAY,SAAS,SAAS,YAAY,GAClFA,EAAY,SAAS,SAAS,YAAY,EAM9C,CACF,CAOA,SAASC,GAAYC,EAAOC,EAAc,CAKxC,GAAIhE,KAAW,OACb,MAAO,GAIT,IAAMiE,EAAiBC,GAAcF,CAAY,EAQjD,GALIC,IAAmB,eAKnBA,EAAe,SAAW,EAC5B,MAAO,GAKT,IAAME,EAAOF,EAAe,KAAK,CAAC9C,EAAGiD,IAAMA,EAAE,KAAK,cAAcjD,EAAE,IAAI,CAAC,EAEjEkD,EAAYF,EAAK,CAAC,EAAE,KAEpBG,EAAWH,EAAK,OAAQI,GAASA,EAAK,OAASF,CAAS,EAG9D,QAAWE,KAAQD,EAAU,CAE3B,IAAME,EAAYD,EAAK,KAGjBE,EAAgBF,EAAK,KAO3B,GAJoBvE,GAAO,WAAWwE,CAAS,EAAE,OAAOT,CAAK,EAAE,OAAO,QAAQ,IAI1DU,EAClB,MAAO,EAEX,CAGA,MAAO,EACT,CAKA,IAAMC,GAAuB,mFAM7B,SAASR,GAAeI,EAAU,CAGhC,IAAMK,EAAS,CAAC,EAGZC,EAAQ,GAENC,EAAkB7E,GAAO,UAAU,EAGzC,QAAW8B,KAASwC,EAAS,MAAM,GAAG,EAAG,CAEvCM,EAAQ,GAGR,IAAME,EAAcJ,GAAqB,KAAK5C,CAAK,EAGnD,GAAIgD,IAAgB,MAAQA,EAAY,SAAW,OAKjD,SAIF,IAAMN,EAAYM,EAAY,OAAO,KAIjCD,EAAgB,SAASL,EAAU,YAAY,CAAC,GAClDG,EAAO,KAAKG,EAAY,MAAM,CAElC,CAGA,OAAIF,IAAU,GACL,cAGFD,CACT,CAGA,SAASI,GAA+CrE,EAAS,CAEjE,CAOA,SAAS8B,GAAYwC,EAAGC,EAAG,CAQzB,OANID,EAAE,SAAWC,EAAE,QAAUD,EAAE,SAAW,QAMtCA,EAAE,WAAaC,EAAE,UAAYD,EAAE,WAAaC,EAAE,UAAYD,EAAE,OAASC,EAAE,IAM7E,CAEA,SAASC,IAAyB,CAChC,IAAIC,EACAC,EAMJ,MAAO,CAAE,QALO,IAAI,QAAQ,CAACC,EAASC,IAAW,CAC/CH,EAAME,EACND,EAAME,CACR,CAAC,EAEiB,QAASH,EAAK,OAAQC,CAAI,CAC9C,CAEA,SAASG,GAAWC,EAAa,CAC/B,OAAOA,EAAY,WAAW,QAAU,SAC1C,CAEA,SAASC,GAAaD,EAAa,CACjC,OAAOA,EAAY,WAAW,QAAU,WACtCA,EAAY,WAAW,QAAU,YACrC,CAGA,SAASE,GAAiBC,EAAQ,CAChC,MAAO,wCAAwC,KAAKA,CAAM,EACtDA,EAAO,YAAY,EACnBA,CACN,CAGA,SAASC,GAAsCC,EAAO,CAEpD,IAAMlB,EAAS,KAAK,UAAUkB,CAAK,EAGnC,GAAIlB,IAAW,OACb,MAAM,IAAI,UAAU,gCAAgC,EAItD,OAAA7E,GAAO,OAAO6E,GAAW,QAAQ,EAG1BA,CACT,CAGA,IAAMmB,GAAsB,OAAO,eAAe,OAAO,eAAe,CAAC,EAAE,OAAO,QAAQ,EAAE,CAAC,CAAC,EAQ9F,SAASC,GAAcC,EAAUC,EAAMC,EAAM,CAC3C,IAAMnF,EAAS,CACb,MAAO,EACP,KAAAmF,EACA,OAAQF,CACV,EAEM9E,EAAI,CACR,MAAQ,CAYN,GAAI,OAAO,eAAe,IAAI,IAAMA,EAClC,MAAM,IAAI,UACR,gEAAgE+E,CAAI,YACtE,EAMF,GAAM,CAAE,MAAAE,EAAO,KAAAD,EAAM,OAAAE,CAAO,EAAIrF,EAC1BsF,EAASD,EAAO,EAGhBE,EAAMD,EAAO,OAInB,GAAIF,GAASG,EACX,MAAO,CAAE,MAAO,OAAW,KAAM,EAAK,EAIxC,IAAMC,EAAOF,EAAOF,CAAK,EAGzB,OAAApF,EAAO,MAAQoF,EAAQ,EAGhBK,GAAeD,EAAML,CAAI,CAClC,EAGA,CAAC,OAAO,WAAW,EAAG,GAAGD,CAAI,WAC/B,EAGA,cAAO,eAAe/E,EAAG4E,EAAmB,EAGrC,OAAO,eAAe,CAAC,EAAG5E,CAAC,CACpC,CAGA,SAASsF,GAAgBD,EAAML,EAAM,CACnC,IAAIvB,EAGJ,OAAQuB,EAAM,CACZ,IAAK,MAAO,CAKVvB,EAAS4B,EAAK,CAAC,EACf,KACF,CACA,IAAK,QAAS,CAKZ5B,EAAS4B,EAAK,CAAC,EACf,KACF,CACA,IAAK,YAAa,CAWhB5B,EAAS4B,EACT,KACF,CACF,CAGA,MAAO,CAAE,MAAO5B,EAAQ,KAAM,EAAM,CACtC,CAKA,SAAS8B,GAAeC,EAAMC,EAAaC,EAAkB,CAM3D,IAAMC,EAAgB9C,GAAU,eAAe,IAAM4C,EAAY5C,CAAK,CAAC,EAIjE+C,EAAcC,GAAU,eAAe,IAAMH,EAAiBG,CAAK,CAAC,EAKtEC,EAEJ,GAAI,CACFA,EAASN,EAAK,OAAO,UAAU,CACjC,OAASO,EAAG,CACVH,EAAWG,CAAC,EACZ,MACF,CAGAC,GAAaF,EAAQH,EAAcC,CAAU,CAC/C,CAGA,IAAIK,GAAiB,WAAW,eAEhC,SAASC,GAAsBC,EAAQ,CACrC,OAAKF,KACHA,GAAiB,QAAQ,YAAY,EAAE,gBAGlCE,aAAkBF,IACvBE,EAAO,OAAO,WAAW,IAAM,kBAC/B,OAAOA,EAAO,KAAQ,UAE1B,CAEA,IAAMC,GAA0B,MAMhC,SAASC,GAAkBC,EAAO,CAKhC,OAAIA,EAAM,OAASF,GACV,OAAO,aAAa,GAAGE,CAAK,EAG9BA,EAAM,OAAO,CAACC,EAAUC,IAAYD,EAAW,OAAO,aAAaC,CAAO,EAAG,EAAE,CACxF,CAKA,SAASC,GAAqBC,EAAY,CACxC,GAAI,CACFA,EAAW,MAAM,CACnB,OAASC,EAAK,CAEZ,GAAI,CAACA,EAAI,QAAQ,SAAS,8BAA8B,EACtD,MAAMA,CAEV,CACF,CAMA,SAASC,GAAkBN,EAAO,CAEhC,QAAStG,EAAI,EAAGA,EAAIsG,EAAM,OAAQtG,IAChCpB,GAAO0H,EAAM,WAAWtG,CAAC,GAAK,GAAI,EAMpC,OAAOsG,CACT,CASA,eAAeN,GAAcF,EAAQH,EAAckB,EAAc,CAC/D,IAAMhE,EAAQ,CAAC,EACXiE,EAAa,EAEjB,OAAa,CACX,IAAIC,EACAC,EAEJ,GAAI,EACD,CAAE,KAAAD,EAAM,MAAOC,CAAM,EAAI,MAAMlB,EAAO,KAAK,EAC9C,OAASC,EAAG,CAEVc,EAAad,CAAC,EACd,MACF,CAEA,GAAIgB,EAAM,CAERpB,EAAa,OAAO,OAAO9C,EAAOiE,CAAU,CAAC,EAC7C,MACF,CAIA,GAAI,CAACjI,GAAamI,CAAK,EAAG,CACxBH,EAAa,IAAI,UAAU,+BAA+B,CAAC,EAC3D,MACF,CAGAhE,EAAM,KAAKmE,CAAK,EAChBF,GAAcE,EAAM,MAGtB,CACF,CAMA,SAASC,GAAYvH,EAAK,CACxBd,GAAO,aAAcc,CAAG,EAExB,IAAMwH,EAAWxH,EAAI,SAErB,OAAOwH,IAAa,UAAYA,IAAa,SAAWA,IAAa,OACvE,CAKA,SAAS7F,GAAmB3B,EAAK,CAC/B,OAAI,OAAOA,GAAQ,SACVA,EAAI,WAAW,QAAQ,EAGzBA,EAAI,WAAa,QAC1B,CAMA,SAASC,GAAsBD,EAAK,CAClCd,GAAO,aAAcc,CAAG,EAExB,IAAMwH,EAAWxH,EAAI,SAErB,OAAOwH,IAAa,SAAWA,IAAa,QAC9C,CAKA,IAAMC,GAAS,OAAO,SAAW,CAACC,EAAMC,IAAQ,OAAO,UAAU,eAAe,KAAKD,EAAMC,CAAG,GAE9FlJ,GAAO,QAAU,CACf,UAAAkG,GACA,YAAAE,GACA,sBAAAP,GACA,mBAAArF,GACA,YAAAD,GACA,8CAAAmF,GACA,2BAAAtC,GACA,0BAAAO,GACA,oBAAAH,GACA,qBAAAC,GACA,oBAAAZ,GACA,0BAAAG,GACA,SAAAJ,GACA,UAAAD,GACA,+BAAAD,GACA,uBAAAY,GACA,mCAAAlB,GACA,iBAAAJ,GACA,eAAAV,GACA,kBAAAF,GACA,YAAAR,GACA,oBAAAI,GACA,WAAAV,GACA,4BAAA6D,GACA,oBAAAxC,GACA,WAAAwB,GACA,gBAAAkD,GACA,qCAAAE,GACA,aAAAG,GACA,kBAAAxE,GACA,mBAAAf,GACA,OAAA6H,GACA,YAAAvH,GACA,cAAA2F,GACA,WAAA3C,GACA,qBAAAsD,GACA,oBAAAO,GACA,iBAAAG,GACA,iBAAAP,GACA,WAAAY,GACA,kBAAA5F,GACA,qBAAA1B,GACA,aAAAqG,EACF,ICxgCA,IAAAsB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEAA,GAAO,QAAU,CACf,KAAM,OAAO,KAAK,EAClB,SAAU,OAAO,SAAS,EAC1B,QAAS,OAAO,QAAQ,EACxB,OAAQ,OAAO,OAAO,EACtB,OAAQ,OAAO,OAAO,EACtB,OAAQ,OAAO,OAAO,CACxB,ICTA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,MAAAC,EAAM,EAAI,QAAQ,MAAM,EAC1B,CAAE,OAAAC,GAAQ,YAAAC,EAAY,EAAI,KAG1BC,EAAS,CAAC,EAChBA,EAAO,WAAa,CAAC,EACrBA,EAAO,KAAO,CAAC,EACfA,EAAO,OAAS,CAAC,EAEjBA,EAAO,OAAO,UAAY,SAAUC,EAAS,CAC3C,OAAO,IAAI,UAAU,GAAGA,EAAQ,MAAM,KAAKA,EAAQ,OAAO,EAAE,CAC9D,EAEAD,EAAO,OAAO,iBAAmB,SAAUE,EAAS,CAClD,IAAMC,EAASD,EAAQ,MAAM,SAAW,EAAI,GAAK,UAC3CD,EACJ,GAAGC,EAAQ,QAAQ,6BAChBC,CAAM,KAAKD,EAAQ,MAAM,KAAK,IAAI,CAAC,IAExC,OAAOF,EAAO,OAAO,UAAU,CAC7B,OAAQE,EAAQ,OAChB,QAAAD,CACF,CAAC,CACH,EAEAD,EAAO,OAAO,gBAAkB,SAAUE,EAAS,CACjD,OAAOF,EAAO,OAAO,UAAU,CAC7B,OAAQE,EAAQ,OAChB,QAAS,IAAIA,EAAQ,KAAK,mBAAmBA,EAAQ,IAAI,GAC3D,CAAC,CACH,EAGAF,EAAO,WAAa,SAAUI,EAAGC,EAAGC,EAAO,OAAW,CACpD,GAAIA,GAAM,SAAW,IAAS,EAAEF,aAAaC,GAC3C,MAAM,IAAI,UAAU,oBAAoB,EAExC,OAAOD,IAAI,OAAO,WAAW,IAAMC,EAAE,UAAU,OAAO,WAAW,CAErE,EAEAL,EAAO,oBAAsB,SAAU,CAAE,OAAAO,CAAO,EAAGC,EAAKC,EAAK,CAC3D,GAAIF,EAASC,EACX,MAAMR,EAAO,OAAO,UAAU,CAC5B,QAAS,GAAGQ,CAAG,YAAYA,IAAQ,EAAI,IAAM,EAAE,iBAChCD,EAAS,QAAU,EAAE,IAAIA,CAAM,UAC9C,GAAGE,CACL,CAAC,CAEL,EAEAT,EAAO,mBAAqB,UAAY,CACtC,MAAMA,EAAO,OAAO,UAAU,CAC5B,OAAQ,YACR,QAAS,qBACX,CAAC,CACH,EAGAA,EAAO,KAAK,KAAO,SAAUI,EAAG,CAC9B,OAAQ,OAAOA,EAAG,CAChB,IAAK,YAAa,MAAO,YACzB,IAAK,UAAW,MAAO,UACvB,IAAK,SAAU,MAAO,SACtB,IAAK,SAAU,MAAO,SACtB,IAAK,SAAU,MAAO,SACtB,IAAK,SAAU,MAAO,SACtB,IAAK,WACL,IAAK,SACH,OAAIA,IAAM,KACD,OAGF,QAEX,CACF,EAGAJ,EAAO,KAAK,aAAe,SAAUI,EAAGM,EAAWC,EAAYL,EAAO,CAAC,EAAG,CACxE,IAAIM,EACAC,EAGAH,IAAc,IAEhBE,EAAa,KAAK,IAAI,EAAG,EAAE,EAAI,EAG3BD,IAAe,WACjBE,EAAa,EAGbA,EAAa,KAAK,IAAI,GAAI,EAAE,EAAI,GAEzBF,IAAe,YAIxBE,EAAa,EAGbD,EAAa,KAAK,IAAI,EAAGF,CAAS,EAAI,IAKtCG,EAAa,KAAK,IAAI,GAAIH,CAAS,EAAI,EAGvCE,EAAa,KAAK,IAAI,EAAGF,EAAY,CAAC,EAAI,GAI5C,IAAII,EAAI,OAAOV,CAAC,EAShB,GANIU,IAAM,IACRA,EAAI,GAKFR,EAAK,eAAiB,GAAM,CAE9B,GACE,OAAO,MAAMQ,CAAC,GACdA,IAAM,OAAO,mBACbA,IAAM,OAAO,kBAEb,MAAMd,EAAO,OAAO,UAAU,CAC5B,OAAQ,qBACR,QAAS,qBAAqBI,CAAC,iBACjC,CAAC,EAQH,GAJAU,EAAId,EAAO,KAAK,YAAYc,CAAC,EAIzBA,EAAID,GAAcC,EAAIF,EACxB,MAAMZ,EAAO,OAAO,UAAU,CAC5B,OAAQ,qBACR,QAAS,yBAAyBa,CAAU,IAAID,CAAU,SAASE,CAAC,GACtE,CAAC,EAIH,OAAOA,CACT,CAKA,MAAI,CAAC,OAAO,MAAMA,CAAC,GAAKR,EAAK,QAAU,IAErCQ,EAAI,KAAK,IAAI,KAAK,IAAIA,EAAGD,CAAU,EAAGD,CAAU,EAK5C,KAAK,MAAME,CAAC,EAAI,IAAM,EACxBA,EAAI,KAAK,MAAMA,CAAC,EAEhBA,EAAI,KAAK,KAAKA,CAAC,EAIVA,GAKP,OAAO,MAAMA,CAAC,GACbA,IAAM,GAAK,OAAO,GAAG,EAAGA,CAAC,GAC1BA,IAAM,OAAO,mBACbA,IAAM,OAAO,kBAEN,GAITA,EAAId,EAAO,KAAK,YAAYc,CAAC,EAG7BA,EAAIA,EAAI,KAAK,IAAI,EAAGJ,CAAS,EAIzBC,IAAe,UAAYG,GAAK,KAAK,IAAI,EAAGJ,CAAS,EAAI,EACpDI,EAAI,KAAK,IAAI,EAAGJ,CAAS,EAI3BI,EACT,EAGAd,EAAO,KAAK,YAAc,SAAUe,EAAG,CAErC,IAAMC,EAAI,KAAK,MAAM,KAAK,IAAID,CAAC,CAAC,EAGhC,OAAIA,EAAI,EACC,GAAKC,EAIPA,CACT,EAGAhB,EAAO,kBAAoB,SAAUiB,EAAW,CAC9C,OAAQb,GAAM,CAEZ,GAAIJ,EAAO,KAAK,KAAKI,CAAC,IAAM,SAC1B,MAAMJ,EAAO,OAAO,UAAU,CAC5B,OAAQ,WACR,QAAS,iBAAiBA,EAAO,KAAK,KAAKI,CAAC,CAAC,oBAC/C,CAAC,EAKH,IAAMc,EAASd,IAAI,OAAO,QAAQ,IAAI,EAChCe,EAAM,CAAC,EAGb,GACED,IAAW,QACX,OAAOA,EAAO,MAAS,WAEvB,MAAMlB,EAAO,OAAO,UAAU,CAC5B,OAAQ,WACR,QAAS,4BACX,CAAC,EAIH,OAAa,CACX,GAAM,CAAE,KAAAoB,EAAM,MAAAC,CAAM,EAAIH,EAAO,KAAK,EAEpC,GAAIE,EACF,MAGFD,EAAI,KAAKF,EAAUI,CAAK,CAAC,CAC3B,CAEA,OAAOF,CACT,CACF,EAGAnB,EAAO,gBAAkB,SAAUsB,EAAcC,EAAgB,CAC/D,OAAQC,GAAM,CAEZ,GAAIxB,EAAO,KAAK,KAAKwB,CAAC,IAAM,SAC1B,MAAMxB,EAAO,OAAO,UAAU,CAC5B,OAAQ,SACR,QAAS,iBAAiBA,EAAO,KAAK,KAAKwB,CAAC,CAAC,oBAC/C,CAAC,EAIH,IAAMC,EAAS,CAAC,EAEhB,GAAI,CAAC5B,GAAM,QAAQ2B,CAAC,EAAG,CAErB,IAAME,EAAO,OAAO,KAAKF,CAAC,EAE1B,QAAWG,KAAOD,EAAM,CAEtB,IAAME,EAAWN,EAAaK,CAAG,EAI3BE,EAAaN,EAAeC,EAAEG,CAAG,CAAC,EAGxCF,EAAOG,CAAQ,EAAIC,CACrB,CAGA,OAAOJ,CACT,CAGA,IAAMC,EAAO,QAAQ,QAAQF,CAAC,EAG9B,QAAWG,KAAOD,EAKhB,GAHa,QAAQ,yBAAyBF,EAAGG,CAAG,GAG1C,WAAY,CAEpB,IAAMC,EAAWN,EAAaK,CAAG,EAI3BE,EAAaN,EAAeC,EAAEG,CAAG,CAAC,EAGxCF,EAAOG,CAAQ,EAAIC,CACrB,CAIF,OAAOJ,CACT,CACF,EAEAzB,EAAO,mBAAqB,SAAU8B,EAAG,CACvC,MAAO,CAAC1B,EAAGE,EAAO,CAAC,IAAM,CACvB,GAAIA,EAAK,SAAW,IAAS,EAAEF,aAAa0B,GAC1C,MAAM9B,EAAO,OAAO,UAAU,CAC5B,OAAQ8B,EAAE,KACV,QAAS,YAAY1B,CAAC,yBAAyB0B,EAAE,IAAI,GACvD,CAAC,EAGH,OAAO1B,CACT,CACF,EAEAJ,EAAO,oBAAsB,SAAU+B,EAAY,CACjD,OAAQC,GAAe,CACrB,IAAMC,EAAOjC,EAAO,KAAK,KAAKgC,CAAU,EAClCE,EAAO,CAAC,EAEd,GAAID,IAAS,QAAUA,IAAS,YAC9B,OAAOC,EACF,GAAID,IAAS,SAClB,MAAMjC,EAAO,OAAO,UAAU,CAC5B,OAAQ,aACR,QAAS,YAAYgC,CAAU,yCACjC,CAAC,EAGH,QAAWG,KAAWJ,EAAY,CAChC,GAAM,CAAE,IAAAJ,EAAK,aAAAS,EAAc,SAAAC,EAAU,UAAApB,CAAU,EAAIkB,EAEnD,GAAIE,IAAa,IACX,CAACvC,GAAOkC,EAAYL,CAAG,EACzB,MAAM3B,EAAO,OAAO,UAAU,CAC5B,OAAQ,aACR,QAAS,yBAAyB2B,CAAG,IACvC,CAAC,EAIL,IAAIN,EAAQW,EAAWL,CAAG,EACpBW,EAAaxC,GAAOqC,EAAS,cAAc,EAWjD,GAPIG,GAAcjB,IAAU,OAC1BA,EAAQA,GAASe,GAMfC,GAAYC,GAAcjB,IAAU,OAAW,CAGjD,GAFAA,EAAQJ,EAAUI,CAAK,EAGrBc,EAAQ,eACR,CAACA,EAAQ,cAAc,SAASd,CAAK,EAErC,MAAMrB,EAAO,OAAO,UAAU,CAC5B,OAAQ,aACR,QAAS,GAAGqB,CAAK,6CAA6Cc,EAAQ,cAAc,KAAK,IAAI,CAAC,GAChG,CAAC,EAGHD,EAAKP,CAAG,EAAIN,CACd,CACF,CAEA,OAAOa,CACT,CACF,EAEAlC,EAAO,kBAAoB,SAAUiB,EAAW,CAC9C,OAAQb,GACFA,IAAM,KACDA,EAGFa,EAAUb,CAAC,CAEtB,EAGAJ,EAAO,WAAW,UAAY,SAAUI,EAAGE,EAAO,CAAC,EAAG,CAKpD,GAAIF,IAAM,MAAQE,EAAK,wBACrB,MAAO,GAIT,GAAI,OAAOF,GAAM,SACf,MAAM,IAAI,UAAU,sDAAsD,EAM5E,OAAO,OAAOA,CAAC,CACjB,EAGAJ,EAAO,WAAW,WAAa,SAAUI,EAAG,CAG1C,IAAMU,EAAId,EAAO,WAAW,UAAUI,CAAC,EAIvC,QAASmC,EAAQ,EAAGA,EAAQzB,EAAE,OAAQyB,IAAS,CAC7C,IAAMC,EAAW1B,EAAE,WAAWyB,CAAK,EAEnC,GAAIC,EAAW,IACb,MAAM,IAAI,UACR,0EACSD,CAAK,mBAAmBC,CAAQ,6BAC3C,CAEJ,CAKA,OAAO1B,CACT,EAGAd,EAAO,WAAW,UAAYD,GAG9BC,EAAO,WAAW,QAAU,SAAUI,EAAG,CAMvC,MAJU,EAAQA,CAKpB,EAGAJ,EAAO,WAAW,IAAM,SAAUI,EAAG,CACnC,OAAOA,CACT,EAGAJ,EAAO,WAAW,WAAW,EAAI,SAAUI,EAAG,CAM5C,OAJUJ,EAAO,KAAK,aAAaI,EAAG,GAAI,QAAQ,CAKpD,EAGAJ,EAAO,WAAW,oBAAoB,EAAI,SAAUI,EAAG,CAMrD,OAJUJ,EAAO,KAAK,aAAaI,EAAG,GAAI,UAAU,CAKtD,EAGAJ,EAAO,WAAW,eAAe,EAAI,SAAUI,EAAG,CAMhD,OAJUJ,EAAO,KAAK,aAAaI,EAAG,GAAI,UAAU,CAKtD,EAGAJ,EAAO,WAAW,gBAAgB,EAAI,SAAUI,EAAGE,EAAM,CAMvD,OAJUN,EAAO,KAAK,aAAaI,EAAG,GAAI,WAAYE,CAAI,CAK5D,EAGAN,EAAO,WAAW,YAAc,SAAUI,EAAGE,EAAO,CAAC,EAAG,CAMtD,GACEN,EAAO,KAAK,KAAKI,CAAC,IAAM,UACxB,CAACP,GAAM,iBAAiBO,CAAC,EAEzB,MAAMJ,EAAO,OAAO,iBAAiB,CACnC,OAAQ,GAAGI,CAAC,GACZ,SAAU,GAAGA,CAAC,GACd,MAAO,CAAC,aAAa,CACvB,CAAC,EAOH,GAAIE,EAAK,cAAgB,IAAST,GAAM,oBAAoBO,CAAC,EAC3D,MAAMJ,EAAO,OAAO,UAAU,CAC5B,OAAQ,cACR,QAAS,mCACX,CAAC,EAWH,OAAOI,CACT,EAEAJ,EAAO,WAAW,WAAa,SAAUI,EAAGqC,EAAGnC,EAAO,CAAC,EAAG,CAMxD,GACEN,EAAO,KAAK,KAAKI,CAAC,IAAM,UACxB,CAACP,GAAM,aAAaO,CAAC,GACrBA,EAAE,YAAY,OAASqC,EAAE,KAEzB,MAAMzC,EAAO,OAAO,iBAAiB,CACnC,OAAQ,GAAGyC,EAAE,IAAI,GACjB,SAAU,GAAGrC,CAAC,GACd,MAAO,CAACqC,EAAE,IAAI,CAChB,CAAC,EAOH,GAAInC,EAAK,cAAgB,IAAST,GAAM,oBAAoBO,EAAE,MAAM,EAClE,MAAMJ,EAAO,OAAO,UAAU,CAC5B,OAAQ,cACR,QAAS,mCACX,CAAC,EAWH,OAAOI,CACT,EAEAJ,EAAO,WAAW,SAAW,SAAUI,EAAGE,EAAO,CAAC,EAAG,CAGnD,GAAIN,EAAO,KAAK,KAAKI,CAAC,IAAM,UAAY,CAACP,GAAM,WAAWO,CAAC,EACzD,MAAMJ,EAAO,OAAO,UAAU,CAC5B,OAAQ,WACR,QAAS,2BACX,CAAC,EAOH,GAAIM,EAAK,cAAgB,IAAST,GAAM,oBAAoBO,EAAE,MAAM,EAClE,MAAMJ,EAAO,OAAO,UAAU,CAC5B,OAAQ,cACR,QAAS,mCACX,CAAC,EAWH,OAAOI,CACT,EAGAJ,EAAO,WAAW,aAAe,SAAUI,EAAGE,EAAO,CAAC,EAAG,CACvD,GAAIT,GAAM,iBAAiBO,CAAC,EAC1B,OAAOJ,EAAO,WAAW,YAAYI,EAAGE,CAAI,EAG9C,GAAIT,GAAM,aAAaO,CAAC,EACtB,OAAOJ,EAAO,WAAW,WAAWI,EAAGA,EAAE,WAAW,EAGtD,GAAIP,GAAM,WAAWO,CAAC,EACpB,OAAOJ,EAAO,WAAW,SAASI,EAAGE,CAAI,EAG3C,MAAM,IAAI,UAAU,qBAAqBF,CAAC,qBAAqB,CACjE,EAEAJ,EAAO,WAAW,sBAAsB,EAAIA,EAAO,kBACjDA,EAAO,WAAW,UACpB,EAEAA,EAAO,WAAW,gCAAgC,EAAIA,EAAO,kBAC3DA,EAAO,WAAW,sBAAsB,CAC1C,EAEAA,EAAO,WAAW,gCAAgC,EAAIA,EAAO,gBAC3DA,EAAO,WAAW,WAClBA,EAAO,WAAW,UACpB,EAEAJ,GAAO,QAAU,CACf,OAAAI,CACF,ICvoBA,IAAA0C,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAS,QAAQ,QAAQ,EACzB,CAAE,KAAAC,EAAK,EAAI,QAAQ,QAAQ,EAC3B,CAAE,iBAAAC,EAAiB,EAAI,KAEvBC,GAAU,IAAI,YAKdC,GAAwB,+BACxBC,GAAwB,gCAIxBC,GAA4B,uCAIlC,SAASC,GAAkBC,EAAS,CAElCR,GAAOQ,EAAQ,WAAa,OAAO,EAKnC,IAAIC,EAAQC,GAAcF,EAAS,EAAI,EAGvCC,EAAQA,EAAM,MAAM,CAAC,EAGrB,IAAME,EAAW,CAAE,SAAU,CAAE,EAK3BC,EAAWC,GACb,IACAJ,EACAE,CACF,EAQMG,EAAiBF,EAAS,OAKhC,GAJAA,EAAWG,GAAsBH,EAAU,GAAM,EAAI,EAIjDD,EAAS,UAAYF,EAAM,OAC7B,MAAO,UAITE,EAAS,WAGT,IAAMK,EAAcP,EAAM,MAAMK,EAAiB,CAAC,EAG9CG,EAAOC,GAAoBF,CAAW,EAK1C,GAAI,wBAAwB,KAAKJ,CAAQ,EAAG,CAE1C,IAAMO,EAAajB,GAAiBe,CAAI,EAOxC,GAHAA,EAAOG,GAAgBD,CAAU,EAG7BF,IAAS,UACX,MAAO,UAITL,EAAWA,EAAS,MAAM,EAAG,EAAE,EAI/BA,EAAWA,EAAS,QAAQ,aAAc,EAAE,EAG5CA,EAAWA,EAAS,MAAM,EAAG,EAAE,CACjC,CAIIA,EAAS,WAAW,GAAG,IACzBA,EAAW,aAAeA,GAK5B,IAAIS,EAAiBC,GAAcV,CAAQ,EAI3C,OAAIS,IAAmB,YACrBA,EAAiBC,GAAc,6BAA6B,GAMvD,CAAE,SAAUD,EAAgB,KAAAJ,CAAK,CAC1C,CAOA,SAASP,GAAea,EAAKC,EAAkB,GAAO,CACpD,IAAMC,EAAOF,EAAI,KAEjB,GAAI,CAACC,EACH,OAAOC,EAGT,IAAMC,EAAOD,EAAK,YAAY,GAAG,EACjC,OAAIC,IAAS,GACJD,EAEFA,EAAK,MAAM,EAAGC,CAAI,CAC3B,CAQA,SAASC,GAA8BC,EAAWnB,EAAOE,EAAU,CAEjE,IAAIkB,EAAS,GAIb,KAAOlB,EAAS,SAAWF,EAAM,QAAUmB,EAAUnB,EAAME,EAAS,QAAQ,CAAC,GAE3EkB,GAAUpB,EAAME,EAAS,QAAQ,EAGjCA,EAAS,WAIX,OAAOkB,CACT,CAQA,SAAShB,GAAkCiB,EAAMrB,EAAOE,EAAU,CAChE,IAAMoB,EAAMtB,EAAM,QAAQqB,EAAMnB,EAAS,QAAQ,EAC3CqB,EAAQrB,EAAS,SAEvB,OAAIoB,IAAQ,IACVpB,EAAS,SAAWF,EAAM,OACnBA,EAAM,MAAMuB,CAAK,IAG1BrB,EAAS,SAAWoB,EACbtB,EAAM,MAAMuB,EAAOrB,EAAS,QAAQ,EAC7C,CAIA,SAASO,GAAqBT,EAAO,CAEnC,IAAMwB,EAAQ9B,GAAQ,OAAOM,CAAK,EAGlC,OAAOyB,GAAcD,CAAK,CAC5B,CAIA,SAASC,GAAezB,EAAO,CAG7B,IAAM0B,EAAS,CAAC,EAGhB,QAASC,EAAI,EAAGA,EAAI3B,EAAM,OAAQ2B,IAAK,CACrC,IAAMC,EAAO5B,EAAM2B,CAAC,EAGpB,GAAIC,IAAS,GACXF,EAAO,KAAKE,CAAI,UAQhBA,IAAS,IACT,CAAC,oBAAoB,KAAK,OAAO,aAAa5B,EAAM2B,EAAI,CAAC,EAAG3B,EAAM2B,EAAI,CAAC,CAAC,CAAC,EAEzED,EAAO,KAAK,EAAI,MAGX,CAGL,IAAMG,EAAe,OAAO,aAAa7B,EAAM2B,EAAI,CAAC,EAAG3B,EAAM2B,EAAI,CAAC,CAAC,EAC7DG,EAAY,OAAO,SAASD,EAAc,EAAE,EAGlDH,EAAO,KAAKI,CAAS,EAGrBH,GAAK,CACP,CACF,CAGA,OAAO,WAAW,KAAKD,CAAM,CAC/B,CAIA,SAASb,GAAeb,EAAO,CAG7BA,EAAQ+B,GAAqB/B,EAAO,GAAM,EAAI,EAI9C,IAAME,EAAW,CAAE,SAAU,CAAE,EAKzB8B,EAAO5B,GACX,IACAJ,EACAE,CACF,EAWA,GANI8B,EAAK,SAAW,GAAK,CAACrC,GAAsB,KAAKqC,CAAI,GAMrD9B,EAAS,SAAWF,EAAM,OAC5B,MAAO,UAITE,EAAS,WAKT,IAAI+B,EAAU7B,GACZ,IACAJ,EACAE,CACF,EAOA,GAJA+B,EAAUF,GAAqBE,EAAS,GAAO,EAAI,EAI/CA,EAAQ,SAAW,GAAK,CAACtC,GAAsB,KAAKsC,CAAO,EAC7D,MAAO,UAGT,IAAMC,EAAgBF,EAAK,YAAY,EACjCG,EAAmBF,EAAQ,YAAY,EAMvC9B,EAAW,CACf,KAAM+B,EACN,QAASC,EAET,WAAY,IAAI,IAEhB,QAAS,GAAGD,CAAa,IAAIC,CAAgB,EAC/C,EAGA,KAAOjC,EAAS,SAAWF,EAAM,QAAQ,CAEvCE,EAAS,WAITgB,GAEEG,GAAQzB,GAAsB,KAAKyB,CAAI,EACvCrB,EACAE,CACF,EAKA,IAAIkC,EAAgBlB,GACjBG,GAASA,IAAS,KAAOA,IAAS,IACnCrB,EACAE,CACF,EAOA,GAHAkC,EAAgBA,EAAc,YAAY,EAGtClC,EAAS,SAAWF,EAAM,OAAQ,CAGpC,GAAIA,EAAME,EAAS,QAAQ,IAAM,IAC/B,SAIFA,EAAS,UACX,CAGA,GAAIA,EAAS,SAAWF,EAAM,OAC5B,MAIF,IAAIqC,EAAiB,KAIrB,GAAIrC,EAAME,EAAS,QAAQ,IAAM,IAI/BmC,EAAiBC,GAA0BtC,EAAOE,EAAU,EAAI,EAIhEE,GACE,IACAJ,EACAE,CACF,UAOAmC,EAAiBjC,GACf,IACAJ,EACAE,CACF,EAGAmC,EAAiBN,GAAqBM,EAAgB,GAAO,EAAI,EAG7DA,EAAe,SAAW,EAC5B,SAWFD,EAAc,SAAW,GACzBzC,GAAsB,KAAKyC,CAAa,IACvCC,EAAe,SAAW,GAAKxC,GAA0B,KAAKwC,CAAc,IAC7E,CAAClC,EAAS,WAAW,IAAIiC,CAAa,GAEtCjC,EAAS,WAAW,IAAIiC,EAAeC,CAAc,CAEzD,CAGA,OAAOlC,CACT,CAIA,SAASQ,GAAiB4B,EAAM,CAuB9B,GArBAA,EAAOA,EAAK,QAAQ,oCAAqC,EAAE,EAIvDA,EAAK,OAAS,IAAM,IAGtBA,EAAOA,EAAK,QAAQ,OAAQ,EAAE,GAK5BA,EAAK,OAAS,IAAM,GASpB,iBAAiB,KAAKA,CAAI,EAC5B,MAAO,UAGT,IAAMC,EAAShD,GAAK+C,CAAI,EAClBf,EAAQ,IAAI,WAAWgB,EAAO,MAAM,EAE1C,QAASZ,EAAO,EAAGA,EAAOY,EAAO,OAAQZ,IACvCJ,EAAMI,CAAI,EAAIY,EAAO,WAAWZ,CAAI,EAGtC,OAAOJ,CACT,CASA,SAASc,GAA2BtC,EAAOE,EAAUuC,EAAc,CAEjE,IAAMC,EAAgBxC,EAAS,SAG3ByC,EAAQ,GAUZ,IANApD,GAAOS,EAAME,EAAS,QAAQ,IAAM,GAAG,EAGvCA,EAAS,WAOPyC,GAASzB,GACNG,GAASA,IAAS,KAAOA,IAAS,KACnCrB,EACAE,CACF,EAGI,EAAAA,EAAS,UAAYF,EAAM,SAXpB,CAiBX,IAAM4C,EAAmB5C,EAAME,EAAS,QAAQ,EAMhD,GAHAA,EAAS,WAGL0C,IAAqB,KAAM,CAG7B,GAAI1C,EAAS,UAAYF,EAAM,OAAQ,CACrC2C,GAAS,KACT,KACF,CAGAA,GAAS3C,EAAME,EAAS,QAAQ,EAGhCA,EAAS,UAGX,KAAO,CAELX,GAAOqD,IAAqB,GAAG,EAG/B,KACF,CACF,CAGA,OAAIH,EACKE,EAKF3C,EAAM,MAAM0C,EAAexC,EAAS,QAAQ,CACrD,CAKA,SAAS2C,GAAoB1C,EAAU,CACrCZ,GAAOY,IAAa,SAAS,EAC7B,GAAM,CAAE,WAAA2C,EAAY,QAAAC,CAAQ,EAAI5C,EAI5B6C,EAAgBD,EAGpB,OAAS,CAACE,EAAMN,CAAK,IAAKG,EAAW,QAAQ,EAE3CE,GAAiB,IAGjBA,GAAiBC,EAGjBD,GAAiB,IAIZrD,GAAsB,KAAKgD,CAAK,IAGnCA,EAAQA,EAAM,QAAQ,UAAW,MAAM,EAGvCA,EAAQ,IAAMA,EAGdA,GAAS,KAIXK,GAAiBL,EAInB,OAAOK,CACT,CAMA,SAASE,GAAkB7B,EAAM,CAC/B,OAAOA,IAAS,MAAQA,IAAS;AAAA,GAAQA,IAAS,KAAQA,IAAS,GACrE,CAMA,SAASU,GAAsBoB,EAAKC,EAAU,GAAMC,EAAW,GAAM,CACnE,IAAIC,EAAO,EACPC,EAAQJ,EAAI,OAAS,EAEzB,GAAIC,EACF,KAAOE,EAAOH,EAAI,QAAUD,GAAiBC,EAAIG,CAAI,CAAC,EAAGA,IAAO,CAGlE,GAAID,EACF,KAAOE,EAAQ,GAAKL,GAAiBC,EAAII,CAAK,CAAC,EAAGA,IAAQ,CAG5D,OAAOJ,EAAI,MAAMG,EAAMC,EAAQ,CAAC,CAClC,CAMA,SAASC,GAAmBnC,EAAM,CAChC,OAAOA,IAAS,MAAQA,IAAS;AAAA,GAAQA,IAAS,KAAQA,IAAS,MAAQA,IAAS,GACtF,CAKA,SAASf,GAAuB6C,EAAKC,EAAU,GAAMC,EAAW,GAAM,CACpE,IAAIC,EAAO,EACPC,EAAQJ,EAAI,OAAS,EAEzB,GAAIC,EACF,KAAOE,EAAOH,EAAI,QAAUK,GAAkBL,EAAIG,CAAI,CAAC,EAAGA,IAAO,CAGnE,GAAID,EACF,KAAOE,EAAQ,GAAKC,GAAkBL,EAAII,CAAK,CAAC,EAAGA,IAAQ,CAG7D,OAAOJ,EAAI,MAAMG,EAAMC,EAAQ,CAAC,CAClC,CAEAjE,GAAO,QAAU,CACf,iBAAAQ,GACA,cAAAG,GACA,6BAAAiB,GACA,iCAAAd,GACA,oBAAAK,GACA,cAAAI,GACA,0BAAAyB,GACA,mBAAAO,EACF,ICrnBA,IAAAY,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,KAAAC,GAAM,KAAMC,EAAW,EAAI,QAAQ,QAAQ,EAC7C,CAAE,MAAAC,EAAM,EAAI,QAAQ,MAAM,EAC1B,CAAE,OAAAC,EAAO,EAAI,KACb,CAAE,WAAAC,EAAW,EAAI,KACjB,CAAE,OAAAC,CAAO,EAAI,KACb,CAAE,cAAAC,GAAe,mBAAAC,EAAmB,EAAI,KACxC,CAAE,oBAAAC,EAAoB,EAAI,IAE1BC,GAAN,MAAMC,UAAaV,EAAK,CACtB,YAAaW,EAAUC,EAAUC,EAAU,CAAC,EAAG,CAI7CR,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,kBAAmB,CAAC,EAEvEM,EAAWN,EAAO,WAAW,oBAAoB,EAAEM,CAAQ,EAC3DC,EAAWP,EAAO,WAAW,UAAUO,CAAQ,EAC/CC,EAAUR,EAAO,WAAW,gBAAgBQ,CAAO,EAOnD,IAAMC,EAAIF,EAUNG,EAAIF,EAAQ,KACZG,EAGJC,EAAS,CACP,GAAIF,EAAG,CAGL,GAFAA,EAAIT,GAAcS,CAAC,EAEfA,IAAM,UAAW,CACnBA,EAAI,GAEJ,MAAME,CACR,CAEAF,EAAIR,GAAmBQ,CAAC,EAAE,YAAY,CACxC,CAMAC,EAAIH,EAAQ,YACd,CASA,MAAMK,GAAiBP,EAAUE,CAAO,EAAG,CAAE,KAAME,CAAE,CAAC,EACtD,KAAKZ,EAAM,EAAI,CACb,KAAMW,EACN,aAAcE,EACd,KAAMD,CACR,CACF,CAEA,IAAI,MAAQ,CACV,OAAAV,EAAO,WAAW,KAAMK,CAAI,EAErB,KAAKP,EAAM,EAAE,IACtB,CAEA,IAAI,cAAgB,CAClB,OAAAE,EAAO,WAAW,KAAMK,CAAI,EAErB,KAAKP,EAAM,EAAE,YACtB,CAEA,IAAI,MAAQ,CACV,OAAAE,EAAO,WAAW,KAAMK,CAAI,EAErB,KAAKP,EAAM,EAAE,IACtB,CACF,EAEMgB,GAAN,MAAMC,CAAS,CACb,YAAaC,EAAUT,EAAUC,EAAU,CAAC,EAAG,CAW7C,IAAMC,EAAIF,EAUJG,EAAIF,EAAQ,KASZG,EAAIH,EAAQ,cAAgB,KAAK,IAAI,EAS3C,KAAKV,EAAM,EAAI,CACb,SAAAkB,EACA,KAAMP,EACN,KAAMC,EACN,aAAcC,CAChB,CACF,CAEA,UAAWM,EAAM,CACf,OAAAjB,EAAO,WAAW,KAAMe,CAAQ,EAEzB,KAAKjB,EAAM,EAAE,SAAS,OAAO,GAAGmB,CAAI,CAC7C,CAEA,eAAgBA,EAAM,CACpB,OAAAjB,EAAO,WAAW,KAAMe,CAAQ,EAEzB,KAAKjB,EAAM,EAAE,SAAS,YAAY,GAAGmB,CAAI,CAClD,CAEA,SAAUA,EAAM,CACd,OAAAjB,EAAO,WAAW,KAAMe,CAAQ,EAEzB,KAAKjB,EAAM,EAAE,SAAS,MAAM,GAAGmB,CAAI,CAC5C,CAEA,QAASA,EAAM,CACb,OAAAjB,EAAO,WAAW,KAAMe,CAAQ,EAEzB,KAAKjB,EAAM,EAAE,SAAS,KAAK,GAAGmB,CAAI,CAC3C,CAEA,IAAI,MAAQ,CACV,OAAAjB,EAAO,WAAW,KAAMe,CAAQ,EAEzB,KAAKjB,EAAM,EAAE,SAAS,IAC/B,CAEA,IAAI,MAAQ,CACV,OAAAE,EAAO,WAAW,KAAMe,CAAQ,EAEzB,KAAKjB,EAAM,EAAE,SAAS,IAC/B,CAEA,IAAI,MAAQ,CACV,OAAAE,EAAO,WAAW,KAAMe,CAAQ,EAEzB,KAAKjB,EAAM,EAAE,IACtB,CAEA,IAAI,cAAgB,CAClB,OAAAE,EAAO,WAAW,KAAMe,CAAQ,EAEzB,KAAKjB,EAAM,EAAE,YACtB,CAEA,IAAK,OAAO,WAAW,GAAK,CAC1B,MAAO,MACT,CACF,EAEA,OAAO,iBAAiBM,GAAK,UAAW,CACtC,CAAC,OAAO,WAAW,EAAG,CACpB,MAAO,OACP,aAAc,EAChB,EACA,KAAMD,GACN,aAAcA,EAChB,CAAC,EAEDH,EAAO,WAAW,KAAOA,EAAO,mBAAmBL,EAAI,EAEvDK,EAAO,WAAW,SAAW,SAAUkB,EAAGC,EAAM,CAC9C,GAAInB,EAAO,KAAK,KAAKkB,CAAC,IAAM,SAAU,CACpC,GAAInB,GAAWmB,CAAC,EACd,OAAOlB,EAAO,WAAW,KAAKkB,EAAG,CAAE,OAAQ,EAAM,CAAC,EAGpD,GACE,YAAY,OAAOA,CAAC,GACpBrB,GAAM,iBAAiBqB,CAAC,EAExB,OAAOlB,EAAO,WAAW,aAAakB,EAAGC,CAAI,CAEjD,CAEA,OAAOnB,EAAO,WAAW,UAAUkB,EAAGC,CAAI,CAC5C,EAEAnB,EAAO,WAAW,oBAAoB,EAAIA,EAAO,kBAC/CA,EAAO,WAAW,QACpB,EAGAA,EAAO,WAAW,gBAAkBA,EAAO,oBAAoB,CAC7D,CACE,IAAK,eACL,UAAWA,EAAO,WAAW,WAAW,EACxC,IAAI,cAAgB,CAClB,OAAO,KAAK,IAAI,CAClB,CACF,EACA,CACE,IAAK,OACL,UAAWA,EAAO,WAAW,UAC7B,aAAc,EAChB,EACA,CACE,IAAK,UACL,UAAYoB,IACVA,EAAQpB,EAAO,WAAW,UAAUoB,CAAK,EACzCA,EAAQA,EAAM,YAAY,EAEtBA,IAAU,WACZA,EAAQ,eAGHA,GAET,aAAc,aAChB,CACF,CAAC,EAOD,SAASP,GAAkBQ,EAAOb,EAAS,CAGzC,IAAMc,EAAQ,CAAC,EAGf,QAAWC,KAAWF,EAEpB,GAAI,OAAOE,GAAY,SAAU,CAE/B,IAAIC,EAAID,EAKJf,EAAQ,UAAY,WACtBgB,EAAIC,GAAyBD,CAAC,GAIhCF,EAAM,KAAK,IAAI,YAAY,EAAE,OAAOE,CAAC,CAAC,CACxC,MACE3B,GAAM,iBAAiB0B,CAAO,GAC9B1B,GAAM,aAAa0B,CAAO,EAKrBA,EAAQ,OAGXD,EAAM,KACJ,IAAI,WAAWC,EAAQ,OAAQA,EAAQ,WAAYA,EAAQ,UAAU,CACvE,EAJAD,EAAM,KAAK,IAAI,WAAWC,CAAO,CAAC,EAM3BxB,GAAWwB,CAAO,GAG3BD,EAAM,KAAKC,CAAO,EAKtB,OAAOD,CACT,CAMA,SAASG,GAA0BD,EAAG,CAEpC,IAAIE,EAAmB;AAAA,EAMvB,OAAI,QAAQ,WAAa,UACvBA,EAAmB;AAAA,GAGdF,EAAE,QAAQ,SAAUE,CAAgB,CAC7C,CAKA,SAASC,GAAYC,EAAQ,CAC3B,OACGhC,IAAcgC,aAAkBhC,IACjCgC,aAAkBxB,IAChBwB,IACC,OAAOA,EAAO,QAAW,YAC1B,OAAOA,EAAO,aAAgB,aAC9BA,EAAO,OAAO,WAAW,IAAM,MAGrC,CAEAlC,GAAO,QAAU,CAAE,KAAAU,GAAM,SAAAU,GAAU,WAAAa,EAAW,ICtV9C,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,WAAAC,GAAY,YAAAC,GAAa,aAAAC,EAAa,EAAI,KAC5C,CAAE,OAAAC,EAAO,EAAI,KACb,CAAE,KAAMC,GAAY,SAAAC,GAAU,WAAAC,EAAW,EAAI,KAC7C,CAAE,OAAAC,CAAO,EAAI,KACb,CAAE,KAAAC,GAAM,KAAMC,EAAW,EAAI,QAAQ,QAAQ,EAG7CC,GAAOD,IAAcL,GAGrBO,GAAN,MAAMC,CAAS,CACb,YAAaC,EAAM,CACjB,GAAIA,IAAS,OACX,MAAMN,EAAO,OAAO,iBAAiB,CACnC,OAAQ,uBACR,SAAU,aACV,MAAO,CAAC,WAAW,CACrB,CAAC,EAGH,KAAKJ,EAAM,EAAI,CAAC,CAClB,CAEA,OAAQW,EAAMC,EAAOC,EAAW,OAAW,CAKzC,GAJAT,EAAO,WAAW,KAAMK,CAAQ,EAEhCL,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,iBAAkB,CAAC,EAElE,UAAU,SAAW,GAAK,CAACP,GAAWe,CAAK,EAC7C,MAAM,IAAI,UACR,6EACF,EAKFD,EAAOP,EAAO,WAAW,UAAUO,CAAI,EACvCC,EAAQf,GAAWe,CAAK,EACpBR,EAAO,WAAW,KAAKQ,EAAO,CAAE,OAAQ,EAAM,CAAC,EAC/CR,EAAO,WAAW,UAAUQ,CAAK,EACrCC,EAAW,UAAU,SAAW,EAC5BT,EAAO,WAAW,UAAUS,CAAQ,EACpC,OAIJ,IAAMC,EAAQC,GAAUJ,EAAMC,EAAOC,CAAQ,EAG7C,KAAKb,EAAM,EAAE,KAAKc,CAAK,CACzB,CAEA,OAAQH,EAAM,CACZP,EAAO,WAAW,KAAMK,CAAQ,EAEhCL,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,iBAAkB,CAAC,EAEtEO,EAAOP,EAAO,WAAW,UAAUO,CAAI,EAIvC,KAAKX,EAAM,EAAI,KAAKA,EAAM,EAAE,OAAOc,GAASA,EAAM,OAASH,CAAI,CACjE,CAEA,IAAKA,EAAM,CACTP,EAAO,WAAW,KAAMK,CAAQ,EAEhCL,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,cAAe,CAAC,EAEnEO,EAAOP,EAAO,WAAW,UAAUO,CAAI,EAIvC,IAAMK,EAAM,KAAKhB,EAAM,EAAE,UAAWc,GAAUA,EAAM,OAASH,CAAI,EACjE,OAAIK,IAAQ,GACH,KAKF,KAAKhB,EAAM,EAAEgB,CAAG,EAAE,KAC3B,CAEA,OAAQL,EAAM,CACZ,OAAAP,EAAO,WAAW,KAAMK,CAAQ,EAEhCL,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,iBAAkB,CAAC,EAEtEO,EAAOP,EAAO,WAAW,UAAUO,CAAI,EAMhC,KAAKX,EAAM,EACf,OAAQc,GAAUA,EAAM,OAASH,CAAI,EACrC,IAAKG,GAAUA,EAAM,KAAK,CAC/B,CAEA,IAAKH,EAAM,CACT,OAAAP,EAAO,WAAW,KAAMK,CAAQ,EAEhCL,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,cAAe,CAAC,EAEnEO,EAAOP,EAAO,WAAW,UAAUO,CAAI,EAIhC,KAAKX,EAAM,EAAE,UAAWc,GAAUA,EAAM,OAASH,CAAI,IAAM,EACpE,CAEA,IAAKA,EAAMC,EAAOC,EAAW,OAAW,CAKtC,GAJAT,EAAO,WAAW,KAAMK,CAAQ,EAEhCL,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,cAAe,CAAC,EAE/D,UAAU,SAAW,GAAK,CAACP,GAAWe,CAAK,EAC7C,MAAM,IAAI,UACR,0EACF,EAQFD,EAAOP,EAAO,WAAW,UAAUO,CAAI,EACvCC,EAAQf,GAAWe,CAAK,EACpBR,EAAO,WAAW,KAAKQ,EAAO,CAAE,OAAQ,EAAM,CAAC,EAC/CR,EAAO,WAAW,UAAUQ,CAAK,EACrCC,EAAW,UAAU,SAAW,EAC5Bf,GAAYe,CAAQ,EACpB,OAIJ,IAAMC,EAAQC,GAAUJ,EAAMC,EAAOC,CAAQ,EAIvCG,EAAM,KAAKhB,EAAM,EAAE,UAAWc,GAAUA,EAAM,OAASH,CAAI,EAC7DK,IAAQ,GACV,KAAKhB,EAAM,EAAI,CACb,GAAG,KAAKA,EAAM,EAAE,MAAM,EAAGgB,CAAG,EAC5BF,EACA,GAAG,KAAKd,EAAM,EAAE,MAAMgB,EAAM,CAAC,EAAE,OAAQF,GAAUA,EAAM,OAASH,CAAI,CACtE,EAGA,KAAKX,EAAM,EAAE,KAAKc,CAAK,CAE3B,CAEA,SAAW,CACT,OAAAV,EAAO,WAAW,KAAMK,CAAQ,EAEzBV,GACL,IAAM,KAAKC,EAAM,EAAE,IAAIiB,GAAQ,CAACA,EAAK,KAAMA,EAAK,KAAK,CAAC,EACtD,WACA,WACF,CACF,CAEA,MAAQ,CACN,OAAAb,EAAO,WAAW,KAAMK,CAAQ,EAEzBV,GACL,IAAM,KAAKC,EAAM,EAAE,IAAIiB,GAAQ,CAACA,EAAK,KAAMA,EAAK,KAAK,CAAC,EACtD,WACA,KACF,CACF,CAEA,QAAU,CACR,OAAAb,EAAO,WAAW,KAAMK,CAAQ,EAEzBV,GACL,IAAM,KAAKC,EAAM,EAAE,IAAIiB,GAAQ,CAACA,EAAK,KAAMA,EAAK,KAAK,CAAC,EACtD,WACA,OACF,CACF,CAMA,QAASC,EAAYC,EAAU,WAAY,CAKzC,GAJAf,EAAO,WAAW,KAAMK,CAAQ,EAEhCL,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,kBAAmB,CAAC,EAEnE,OAAOc,GAAe,WACxB,MAAM,IAAI,UACR,mFACF,EAGF,OAAW,CAACE,EAAKR,CAAK,IAAK,KACzBM,EAAW,MAAMC,EAAS,CAACP,EAAOQ,EAAK,IAAI,CAAC,CAEhD,CACF,EAEAZ,GAAS,UAAU,OAAO,QAAQ,EAAIA,GAAS,UAAU,QAEzD,OAAO,iBAAiBA,GAAS,UAAW,CAC1C,CAAC,OAAO,WAAW,EAAG,CACpB,MAAO,WACP,aAAc,EAChB,CACF,CAAC,EASD,SAASO,GAAWJ,EAAMC,EAAOC,EAAU,CASzC,GAJAF,EAAO,OAAO,KAAKA,CAAI,EAAE,SAAS,MAAM,EAIpC,OAAOC,GAAU,SACnBA,EAAQ,OAAO,KAAKA,CAAK,EAAE,SAAS,MAAM,UAMrCT,GAAWS,CAAK,IACnBA,EAAQA,aAAiBP,GACrB,IAAIE,GAAK,CAACK,CAAK,EAAG,OAAQ,CAAE,KAAMA,EAAM,IAAK,CAAC,EAC9C,IAAIV,GAASU,EAAO,OAAQ,CAAE,KAAMA,EAAM,IAAK,CAAC,GAKlDC,IAAa,OAAW,CAE1B,IAAMQ,EAAU,CACd,KAAMT,EAAM,KACZ,aAAcA,EAAM,YACtB,EAEAA,EAASN,IAAcM,aAAiBN,IAAeM,aAAiBX,GACpE,IAAIM,GAAK,CAACK,CAAK,EAAGC,EAAUQ,CAAO,EACnC,IAAInB,GAASU,EAAOC,EAAUQ,CAAO,CAC3C,CAIF,MAAO,CAAE,KAAAV,EAAM,MAAAC,CAAM,CACvB,CAEAhB,GAAO,QAAU,CAAE,SAAAY,EAAS,ICxQ5B,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,IAAMC,GAAS,KACTC,GAAO,IACP,CACJ,mBAAAC,GACA,WAAAC,GACA,qBAAAC,GACA,oBAAAC,GACA,sBAAAC,GACA,cAAAC,EACF,EAAI,KACE,CAAE,SAAAC,EAAS,EAAI,KACf,CAAE,OAAAC,EAAO,EAAI,KACb,CAAE,OAAAC,EAAO,EAAI,KACb,CAAE,aAAAC,GAAc,gBAAAC,EAAgB,EAAI,KACpC,CAAE,KAAAC,GAAM,KAAMC,EAAW,EAAI,QAAQ,QAAQ,EAC7C,CAAE,UAAAC,EAAU,EAAI,KAChBC,GAAS,QAAQ,QAAQ,EACzB,CAAE,UAAAC,EAAU,EAAI,IAChB,CAAE,aAAAC,GAAc,cAAAC,EAAc,EAAI,QAAQ,YAAY,EACtD,CAAE,KAAMC,EAAW,EAAI,KACvB,CAAE,cAAAC,GAAe,mBAAAC,EAAmB,EAAI,KAE1CC,GAAiB,WAAW,eAG1BC,GAAOV,IAAcM,GAG3B,SAASK,GAAaC,EAAQC,EAAY,GAAO,CAC1CJ,KACHA,GAAiB,QAAQ,YAAY,EAAE,gBAIzC,IAAIK,EAAS,KAGTF,aAAkBH,GACpBK,EAASF,EACAvB,GAAWuB,CAAM,EAG1BE,EAASF,EAAO,OAAO,EAIvBE,EAAS,IAAIL,GAAe,CAC1B,MAAM,KAAMM,EAAY,CACtBA,EAAW,QACT,OAAOC,GAAW,SAAW,IAAI,YAAY,EAAE,OAAOA,CAAM,EAAIA,CAClE,EACA,eAAe,IAAMzB,GAAoBwB,CAAU,CAAC,CACtD,EACA,OAAS,CAAC,EACV,KAAM,MACR,CAAC,EAIHb,GAAOZ,GAAqBwB,CAAM,CAAC,EAGnC,IAAIG,EAAS,KAGTD,EAAS,KAGTE,EAAS,KAGTC,EAAO,KAGX,GAAI,OAAOP,GAAW,SAGpBI,EAASJ,EAGTO,EAAO,mCACEP,aAAkB,gBAS3BI,EAASJ,EAAO,SAAS,EAGzBO,EAAO,0DACEd,GAAcO,CAAM,EAI7BI,EAAS,IAAI,WAAWJ,EAAO,MAAM,CAAC,UAC7B,YAAY,OAAOA,CAAM,EAIlCI,EAAS,IAAI,WAAWJ,EAAO,OAAO,MAAMA,EAAO,WAAYA,EAAO,WAAaA,EAAO,UAAU,CAAC,UAC5FzB,GAAK,eAAeyB,CAAM,EAAG,CACtC,IAAMQ,EAAW,wBAAwB,GAAG,KAAK,MAAM,KAAK,OAAO,EAAI,IAAI,CAAC,GAAG,SAAS,GAAI,GAAG,CAAC,GAC1FC,EAAS,KAAKD,CAAQ;AAAA,gCAG5B,IAAME,EAAUC,GACdA,EAAI,QAAQ,MAAO,KAAK,EAAE,QAAQ,MAAO,KAAK,EAAE,QAAQ,KAAM,KAAK,EAC/DC,EAAsBC,GAAUA,EAAM,QAAQ,YAAa;AAAA,CAAM,EAQjEC,EAAM,IAAI,YACVC,EAAY,CAAC,EACbC,EAAK,IAAI,WAAW,CAAC,GAAI,EAAE,CAAC,EAClCV,EAAS,EACT,IAAIW,EAAsB,GAE1B,OAAW,CAACC,EAAML,CAAK,IAAKb,EAC1B,GAAI,OAAOa,GAAU,SAAU,CAC7B,IAAMM,EAAQL,EAAI,OAAOL,EACvB,WAAWC,EAAOE,EAAmBM,CAAI,CAAC,CAAC;AAAA;AAAA,EAChCN,EAAmBC,CAAK,CAAC;AAAA,CAAM,EAC5CE,EAAU,KAAKI,CAAK,EACpBb,GAAUa,EAAM,UAClB,KAAO,CACL,IAAMA,EAAQL,EAAI,OAAO,GAAGL,CAAM,WAAWC,EAAOE,EAAmBM,CAAI,CAAC,CAAC,KAC1EL,EAAM,KAAO,eAAeH,EAAOG,EAAM,IAAI,CAAC,IAAM,IAAM;AAAA,gBAEzDA,EAAM,MAAQ,0BAChB;AAAA;AAAA,CAAU,EACZE,EAAU,KAAKI,EAAON,EAAOG,CAAE,EAC3B,OAAOH,EAAM,MAAS,SACxBP,GAAUa,EAAM,WAAaN,EAAM,KAAOG,EAAG,WAE7CC,EAAsB,EAE1B,CAGF,IAAME,EAAQL,EAAI,OAAO,KAAKN,CAAQ,IAAI,EAC1CO,EAAU,KAAKI,CAAK,EACpBb,GAAUa,EAAM,WACZF,IACFX,EAAS,MAIXF,EAASJ,EAETK,EAAS,iBAAoB,CAC3B,QAAWe,KAAQL,EACbK,EAAK,OACP,MAAQA,EAAK,OAAO,EAEpB,MAAMA,CAGZ,EAKAb,EAAO,iCAAmCC,CAC5C,SAAW/B,GAAWuB,CAAM,EAI1BI,EAASJ,EAGTM,EAASN,EAAO,KAIZA,EAAO,OACTO,EAAOP,EAAO,cAEP,OAAOA,EAAO,OAAO,aAAa,GAAM,WAAY,CAE7D,GAAIC,EACF,MAAM,IAAI,UAAU,WAAW,EAIjC,GAAI1B,GAAK,YAAYyB,CAAM,GAAKA,EAAO,OACrC,MAAM,IAAI,UACR,wDACF,EAGFE,EACEF,aAAkBH,GAAiBG,EAASxB,GAAmBwB,CAAM,CACzE,CASA,IALI,OAAOI,GAAW,UAAY7B,GAAK,SAAS6B,CAAM,KACpDE,EAAS,OAAO,WAAWF,CAAM,GAI/BC,GAAU,KAAM,CAElB,IAAIgB,EACJnB,EAAS,IAAIL,GAAe,CAC1B,MAAM,OAAS,CACbwB,EAAWhB,EAAOL,CAAM,EAAE,OAAO,aAAa,EAAE,CAClD,EACA,MAAM,KAAMG,EAAY,CACtB,GAAM,CAAE,MAAAU,EAAO,KAAAS,CAAK,EAAI,MAAMD,EAAS,KAAK,EAC5C,OAAIC,EAEF,eAAe,IAAM,CACnBnB,EAAW,MAAM,CACnB,CAAC,EAKIZ,GAAUW,CAAM,GACnBC,EAAW,QAAQ,IAAI,WAAWU,CAAK,CAAC,EAGrCV,EAAW,YAAc,CAClC,EACA,MAAM,OAAQoB,EAAQ,CACpB,MAAMF,EAAS,OAAO,CACxB,EACA,KAAM,MACR,CAAC,CACH,CAOA,MAAO,CAHM,CAAE,OAAAnB,EAAQ,OAAAE,EAAQ,OAAAE,CAAO,EAGxBC,CAAI,CACpB,CAGA,SAASiB,GAAmBxB,EAAQC,EAAY,GAAO,CACrD,OAAKJ,KAEHA,GAAiB,QAAQ,YAAY,EAAE,gBAOrCG,aAAkBH,KAGpBP,GAAO,CAACf,GAAK,YAAYyB,CAAM,EAAG,qCAAqC,EAEvEV,GAAO,CAACU,EAAO,OAAQ,uBAAuB,GAIzCD,GAAYC,EAAQC,CAAS,CACtC,CAEA,SAASwB,GAAWC,EAAM,CAMxB,GAAM,CAACC,EAAMC,CAAI,EAAIF,EAAK,OAAO,IAAI,EAC/BG,EAAY3C,GAAgB0C,EAAM,CAAE,SAAU,CAACA,CAAI,CAAE,CAAC,EAGtD,CAAC,CAAEE,CAAU,EAAID,EAAU,IAAI,EAGrC,OAAAH,EAAK,OAASC,EAGP,CACL,OAAQG,EACR,OAAQJ,EAAK,OACb,OAAQA,EAAK,MACf,CACF,CAEA,eAAiBK,GAAaL,EAAM,CAClC,GAAIA,EACF,GAAIlC,GAAakC,CAAI,EACnB,MAAMA,MACD,CACL,IAAMxB,EAASwB,EAAK,OAEpB,GAAInD,GAAK,YAAY2B,CAAM,EACzB,MAAM,IAAI,UAAU,qCAAqC,EAG3D,GAAIA,EAAO,OACT,MAAM,IAAI,UAAU,uBAAuB,EAI7CA,EAAOb,EAAS,EAAI,GAEpB,MAAQa,CACV,CAEJ,CAEA,SAAS8B,GAAgBC,EAAO,CAC9B,GAAIA,EAAM,QACR,MAAM,IAAIhD,GAAa,6BAA8B,YAAY,CAErE,CAEA,SAASiD,GAAkBC,EAAU,CA8JnC,MA7JgB,CACd,MAAQ,CAMN,OAAOC,GAAgB,KAAOC,GAAU,CACtC,IAAIC,EAAWC,GAAa,IAAI,EAEhC,OAAID,IAAa,UACfA,EAAW,GACFA,IACTA,EAAW1C,GAAmB0C,CAAQ,GAKjC,IAAInD,GAAK,CAACkD,CAAK,EAAG,CAAE,KAAMC,CAAS,CAAC,CAC7C,EAAGH,CAAQ,CACb,EAEA,aAAe,CAKb,OAAOC,GAAgB,KAAOC,GACrB,IAAI,WAAWA,CAAK,EAAE,OAC5BF,CAAQ,CACb,EAEA,MAAQ,CAGN,OAAOC,GAAgB,KAAMI,GAAiBL,CAAQ,CACxD,EAEA,MAAQ,CAGN,OAAOC,GAAgB,KAAMK,GAAoBN,CAAQ,CAC3D,EAEA,MAAM,UAAY,CAChBnD,GAAO,WAAW,KAAMmD,CAAQ,EAEhCH,GAAe,KAAKjD,EAAM,CAAC,EAE3B,IAAM2D,EAAc,KAAK,QAAQ,IAAI,cAAc,EAGnD,GAAI,uBAAuB,KAAKA,CAAW,EAAG,CAC5C,IAAMC,EAAU,CAAC,EACjB,OAAW,CAACC,EAAK/B,CAAK,IAAK,KAAK,QAAS8B,EAAQC,EAAI,YAAY,CAAC,EAAI/B,EAEtE,IAAMgC,EAAmB,IAAI/D,GAEzBgE,EAEJ,GAAI,CACFA,EAASxE,GAAO,CACd,QAAAqE,EACA,gBAAiB,MACnB,CAAC,CACH,OAASI,EAAK,CACZ,MAAM,IAAI9D,GAAa,GAAG8D,CAAG,GAAI,YAAY,CAC/C,CAEAD,EAAO,GAAG,QAAS,CAAC5B,EAAML,IAAU,CAClCgC,EAAiB,OAAO3B,EAAML,CAAK,CACrC,CAAC,EACDiC,EAAO,GAAG,OAAQ,CAAC5B,EAAML,EAAOmC,IAAS,CACvC,GAAM,CAAE,SAAAC,EAAU,SAAAC,EAAU,SAAAZ,CAAS,EAAIU,EACnCG,EAAS,CAAC,EAEhB,GAAID,IAAa,UAAYA,EAAS,YAAY,IAAM,SAAU,CAChE,IAAIE,EAAc,GAElBvC,EAAM,GAAG,OAASM,GAAU,CAC1BiC,GAAejC,EAAM,SAAS,EAAE,QAAQ,WAAY,EAAE,EAEtD,IAAMkC,EAAMD,EAAY,OAASA,EAAY,OAAS,EACtDD,EAAO,KAAK,OAAO,KAAKC,EAAY,MAAM,EAAGC,CAAG,EAAG,QAAQ,CAAC,EAE5DD,EAAcA,EAAY,MAAMC,CAAG,CACrC,CAAC,EACDxC,EAAM,GAAG,MAAO,IAAM,CACpBsC,EAAO,KAAK,OAAO,KAAKC,EAAa,QAAQ,CAAC,EAC9CP,EAAiB,OAAO3B,EAAM,IAAIpB,GAAKqD,EAAQF,EAAU,CAAE,KAAMX,CAAS,CAAC,CAAC,CAC9E,CAAC,CACH,MACEzB,EAAM,GAAG,OAASM,GAAU,CAC1BgC,EAAO,KAAKhC,CAAK,CACnB,CAAC,EACDN,EAAM,GAAG,MAAO,IAAM,CACpBgC,EAAiB,OAAO3B,EAAM,IAAIpB,GAAKqD,EAAQF,EAAU,CAAE,KAAMX,CAAS,CAAC,CAAC,CAC9E,CAAC,CAEL,CAAC,EAED,IAAMgB,EAAgB,IAAI,QAAQ,CAACC,EAASC,IAAW,CACrDV,EAAO,GAAG,SAAUS,CAAO,EAC3BT,EAAO,GAAG,QAAUC,GAAQS,EAAO,IAAI,UAAUT,CAAG,CAAC,CAAC,CACxD,CAAC,EAED,GAAI,KAAK,OAAS,KAAM,cAAiB5B,KAASY,GAAY,KAAKhD,EAAM,EAAE,IAAI,EAAG+D,EAAO,MAAM3B,CAAK,EACpG,OAAA2B,EAAO,IAAI,EACX,MAAMQ,EAECT,CACT,SAAW,qCAAqC,KAAKH,CAAW,EAAG,CAIjE,IAAIe,EACJ,GAAI,CACF,IAAIC,EAAO,GAGLC,EAAc,IAAI,YAAY,QAAS,CAAE,UAAW,EAAK,CAAC,EAChE,cAAiBxC,KAASY,GAAY,KAAKhD,EAAM,EAAE,IAAI,EAAG,CACxD,GAAI,CAACS,GAAa2B,CAAK,EACrB,MAAM,IAAI,UAAU,2BAA2B,EAEjDuC,GAAQC,EAAY,OAAOxC,EAAO,CAAE,OAAQ,EAAK,CAAC,CACpD,CACAuC,GAAQC,EAAY,OAAO,EAC3BF,EAAU,IAAI,gBAAgBC,CAAI,CACpC,OAASX,EAAK,CAGZ,MAAM,OAAO,OAAO,IAAI,UAAa,CAAE,MAAOA,CAAI,CAAC,CACrD,CAGA,IAAMa,EAAW,IAAI9E,GACrB,OAAW,CAACoC,EAAML,CAAK,IAAK4C,EAC1BG,EAAS,OAAO1C,EAAML,CAAK,EAE7B,OAAO+C,CACT,KAGE,aAAM,QAAQ,QAAQ,EAEtB5B,GAAe,KAAKjD,EAAM,CAAC,EAGrBC,GAAO,OAAO,UAAU,CAC5B,OAAQ,GAAGmD,EAAS,IAAI,YACxB,QAAS,sCACX,CAAC,CAEL,CACF,CAGF,CAEA,SAAS0B,GAAWC,EAAW,CAC7B,OAAO,OAAOA,EAAU,UAAW5B,GAAiB4B,CAAS,CAAC,CAChE,CAQA,eAAe1B,GAAiBpC,EAAQ+D,EAAuB5B,EAAU,CAOvE,GANAnD,GAAO,WAAWgB,EAAQmC,CAAQ,EAElCH,GAAehC,EAAOjB,EAAM,CAAC,EAIzBiF,GAAahE,EAAOjB,EAAM,EAAE,IAAI,EAClC,MAAM,IAAI,UAAU,kBAAkB,EAIxC,IAAMkF,EAAUrF,GAAsB,EAGhCsF,EAAcC,GAAUF,EAAQ,OAAOE,CAAK,EAM5CC,EAAgBC,GAAS,CAC7B,GAAI,CACFJ,EAAQ,QAAQF,EAAsBM,CAAI,CAAC,CAC7C,OAASC,EAAG,CACVJ,EAAWI,CAAC,CACd,CACF,EAIA,OAAItE,EAAOjB,EAAM,EAAE,MAAQ,MACzBqF,EAAa,IAAI,UAAY,EACtBH,EAAQ,UAKjBpF,GAAcmB,EAAOjB,EAAM,EAAE,KAAMqF,EAAcF,CAAU,EAGpDD,EAAQ,QACjB,CAGA,SAASD,GAActC,EAAM,CAI3B,OAAOA,GAAQ,OAASA,EAAK,OAAO,QAAUnD,GAAK,YAAYmD,EAAK,MAAM,EAC5E,CAMA,SAASc,GAAiB+B,EAAQ,CAChC,OAAIA,EAAO,SAAW,EACb,IAQLA,EAAO,CAAC,IAAM,KAAQA,EAAO,CAAC,IAAM,KAAQA,EAAO,CAAC,IAAM,MAC5DA,EAASA,EAAO,SAAS,CAAC,GAKb,IAAI,YAAY,EAAE,OAAOA,CAAM,EAIhD,CAMA,SAAS9B,GAAoBJ,EAAO,CAClC,OAAO,KAAK,MAAMG,GAAgBH,CAAK,CAAC,CAC1C,CAMA,SAASE,GAAcvC,EAAQ,CAC7B,GAAM,CAAE,YAAAwE,CAAY,EAAIxE,EAAOjB,EAAM,EAC/B2D,EAAc8B,EAAY,IAAI,cAAc,EAElD,OAAI9B,IAAgB,KACX,UAGF/C,GAAc+C,CAAW,CAClC,CAEArE,GAAO,QAAU,CACf,YAAA0B,GACA,kBAAAyB,GACA,UAAAC,GACA,UAAAoC,EACF,IC1lBA,IAAAY,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CACJ,qBAAAC,GACA,kBAAAC,EACF,EAAI,IACEC,GAAS,QAAQ,QAAQ,EACzBC,GAAO,IAUPC,GAAc,kCAQdC,GAAkB,0BAGlBC,GAAmB,mBAEnBC,GAAW,OAAO,SAAS,EAE3BC,GAAW,CAAC,EAEdC,GAEJ,GAAI,CACF,IAAMC,EAAqB,QAAQ,qBAAqB,EACxDF,GAAS,OAASE,EAAmB,QAAQ,uBAAuB,EACpEF,GAAS,SAAWE,EAAmB,QAAQ,yBAAyB,EACxEF,GAAS,QAAUE,EAAmB,QAAQ,wBAAwB,EACtEF,GAAS,SAAWE,EAAmB,QAAQ,yBAAyB,EACxEF,GAAS,MAAQE,EAAmB,QAAQ,sBAAsB,CACpE,MAAQ,CACNF,GAAS,OAAS,CAAE,eAAgB,EAAM,EAC1CA,GAAS,SAAW,CAAE,eAAgB,EAAM,EAC5CA,GAAS,QAAU,CAAE,eAAgB,EAAM,EAC3CA,GAAS,SAAW,CAAE,eAAgB,EAAM,EAC5CA,GAAS,MAAQ,CAAE,eAAgB,EAAM,CAC3C,CAEA,IAAMG,GAAN,KAAc,CACZ,YAAaC,EAAQ,CACnB,KAAAC,EACA,OAAAC,EACA,KAAAC,EACA,QAAAC,EACA,MAAAC,EACA,WAAAC,EACA,SAAAC,EACA,QAAAC,EACA,eAAAC,EACA,YAAAC,EACA,MAAAC,EACA,aAAAC,CACF,EAAGC,EAAS,CACV,GAAI,OAAOZ,GAAS,SAClB,MAAM,IAAIb,GAAqB,uBAAuB,EACjD,GACLa,EAAK,CAAC,IAAM,KACZ,EAAEA,EAAK,WAAW,SAAS,GAAKA,EAAK,WAAW,UAAU,IAC1DC,IAAW,UAEX,MAAM,IAAId,GAAqB,oDAAoD,EAC9E,GAAIM,GAAiB,KAAKO,CAAI,IAAM,KACzC,MAAM,IAAIb,GAAqB,sBAAsB,EAGvD,GAAI,OAAOc,GAAW,SACpB,MAAM,IAAId,GAAqB,yBAAyB,EACnD,GAAII,GAAY,KAAKU,CAAM,IAAM,KACtC,MAAM,IAAId,GAAqB,wBAAwB,EAGzD,GAAIoB,GAAW,OAAOA,GAAY,SAChC,MAAM,IAAIpB,GAAqB,0BAA0B,EAG3D,GAAIqB,GAAkB,OAAS,CAAC,OAAO,SAASA,CAAc,GAAKA,EAAiB,GAClF,MAAM,IAAIrB,GAAqB,wBAAwB,EAGzD,GAAIsB,GAAe,OAAS,CAAC,OAAO,SAASA,CAAW,GAAKA,EAAc,GACzE,MAAM,IAAItB,GAAqB,qBAAqB,EAGtD,GAAIuB,GAAS,MAAQ,OAAOA,GAAU,UACpC,MAAM,IAAIvB,GAAqB,eAAe,EAWhD,GARA,KAAK,eAAiBqB,EAEtB,KAAK,YAAcC,EAEnB,KAAK,aAAeE,IAAiB,GAErC,KAAK,OAASV,EAEVC,GAAQ,KACV,KAAK,KAAO,aACHZ,GAAK,SAASY,CAAI,EAC3B,KAAK,KAAOA,UACHZ,GAAK,SAASY,CAAI,EAC3B,KAAK,KAAOA,EAAK,WAAaA,EAAO,aAC5B,YAAY,OAAOA,CAAI,EAChC,KAAK,KAAOA,EAAK,OAAO,WAAa,OAAO,KAAKA,EAAK,OAAQA,EAAK,WAAYA,EAAK,UAAU,EAAI,aACzFA,aAAgB,YACzB,KAAK,KAAOA,EAAK,WAAa,OAAO,KAAKA,CAAI,EAAI,aACzC,OAAOA,GAAS,SACzB,KAAK,KAAOA,EAAK,OAAS,OAAO,KAAKA,CAAI,EAAI,aACrCZ,GAAK,eAAeY,CAAI,GAAKZ,GAAK,WAAWY,CAAI,GAAKZ,GAAK,WAAWY,CAAI,EACnF,KAAK,KAAOA,MAEZ,OAAM,IAAIf,GAAqB,uFAAuF,EA6BxH,GA1BA,KAAK,UAAY,GAEjB,KAAK,QAAU,GAEf,KAAK,QAAUoB,GAAW,KAE1B,KAAK,KAAOH,EAAQd,GAAK,SAASU,EAAMI,CAAK,EAAIJ,EAEjD,KAAK,OAASD,EAEd,KAAK,WAAaM,IACdJ,IAAW,QAAUA,IAAW,OAGpC,KAAK,SAAWK,GAAmB,GAEnC,KAAK,MAAQI,GAAgB,KAE7B,KAAK,KAAO,KAEZ,KAAK,cAAgB,KAErB,KAAK,YAAc,KAEnB,KAAK,QAAU,GAEX,MAAM,QAAQP,CAAO,EAAG,CAC1B,GAAIA,EAAQ,OAAS,IAAM,EACzB,MAAM,IAAIhB,GAAqB,4BAA4B,EAE7D,QAAS0B,EAAI,EAAGA,EAAIV,EAAQ,OAAQU,GAAK,EACvCC,GAAc,KAAMX,EAAQU,CAAC,EAAGV,EAAQU,EAAI,CAAC,CAAC,CAElD,SAAWV,GAAW,OAAOA,GAAY,SAAU,CACjD,IAAMY,EAAO,OAAO,KAAKZ,CAAO,EAChC,QAASU,EAAI,EAAGA,EAAIE,EAAK,OAAQF,IAAK,CACpC,IAAMG,EAAMD,EAAKF,CAAC,EAClBC,GAAc,KAAME,EAAKb,EAAQa,CAAG,CAAC,CACvC,CACF,SAAWb,GAAW,KACpB,MAAM,IAAIhB,GAAqB,uCAAuC,EAGxE,GAAIG,GAAK,eAAe,KAAK,IAAI,EAAG,CAClC,GAAIA,GAAK,UAAY,IAAOA,GAAK,YAAc,IAAMA,GAAK,UAAY,EACpE,MAAM,IAAIH,GAAqB,8DAA8D,EAG1FS,KACHA,GAAc,KAA4B,aAG5C,GAAM,CAACqB,EAAYC,CAAW,EAAItB,GAAYM,CAAI,EAC9C,KAAK,aAAe,OACtB,KAAK,YAAcgB,EACnB,KAAK,SAAW,iBAAiBA,CAAW;AAAA,GAE9C,KAAK,KAAOD,EAAW,OACvB,KAAK,cAAgBA,EAAW,MAClC,MAAW3B,GAAK,WAAWY,CAAI,GAAK,KAAK,aAAe,MAAQA,EAAK,OACnE,KAAK,YAAcA,EAAK,KACxB,KAAK,SAAW,iBAAiBA,EAAK,IAAI;AAAA,GAG5CZ,GAAK,gBAAgBsB,EAASX,EAAQM,CAAO,EAE7C,KAAK,WAAajB,GAAK,cAAc,KAAK,IAAI,EAE9C,KAAKI,EAAQ,EAAIkB,EAEbjB,GAAS,OAAO,gBAClBA,GAAS,OAAO,QAAQ,CAAE,QAAS,IAAK,CAAC,CAE7C,CAEA,WAAYwB,EAAO,CACjB,GAAI,KAAKzB,EAAQ,EAAE,WACjB,GAAI,CACF,KAAKA,EAAQ,EAAE,WAAWyB,CAAK,CACjC,OAASC,EAAK,CACZ,KAAK,QAAQA,CAAG,CAClB,CAEJ,CAEA,eAAiB,CACXzB,GAAS,SAAS,gBACpBA,GAAS,SAAS,QAAQ,CAAE,QAAS,IAAK,CAAC,CAE/C,CAEA,UAAW0B,EAAO,CAChB,OAAAhC,GAAO,CAAC,KAAK,OAAO,EACpBA,GAAO,CAAC,KAAK,SAAS,EAEf,KAAKK,EAAQ,EAAE,UAAU2B,CAAK,CACvC,CAEA,UAAWC,EAAYnB,EAASoB,EAAQC,EAAY,CAClD,OAAAnC,GAAO,CAAC,KAAK,OAAO,EACpBA,GAAO,CAAC,KAAK,SAAS,EAElBM,GAAS,QAAQ,gBACnBA,GAAS,QAAQ,QAAQ,CAAE,QAAS,KAAM,SAAU,CAAE,WAAA2B,EAAY,QAAAnB,EAAS,WAAAqB,CAAW,CAAE,CAAC,EAGpF,KAAK9B,EAAQ,EAAE,UAAU4B,EAAYnB,EAASoB,EAAQC,CAAU,CACzE,CAEA,OAAQL,EAAO,CACb,OAAA9B,GAAO,CAAC,KAAK,OAAO,EACpBA,GAAO,CAAC,KAAK,SAAS,EAEf,KAAKK,EAAQ,EAAE,OAAOyB,CAAK,CACpC,CAEA,UAAWG,EAAYnB,EAASsB,EAAQ,CACtC,OAAApC,GAAO,CAAC,KAAK,OAAO,EACpBA,GAAO,CAAC,KAAK,SAAS,EAEf,KAAKK,EAAQ,EAAE,UAAU4B,EAAYnB,EAASsB,CAAM,CAC7D,CAEA,WAAYC,EAAU,CACpB,OAAArC,GAAO,CAAC,KAAK,OAAO,EAEpB,KAAK,UAAY,GACbM,GAAS,SAAS,gBACpBA,GAAS,SAAS,QAAQ,CAAE,QAAS,KAAM,SAAA+B,CAAS,CAAC,EAEhD,KAAKhC,EAAQ,EAAE,WAAWgC,CAAQ,CAC3C,CAEA,QAASC,EAAO,CAKd,GAJIhC,GAAS,MAAM,gBACjBA,GAAS,MAAM,QAAQ,CAAE,QAAS,KAAM,MAAAgC,CAAM,CAAC,EAG7C,MAAK,QAGT,YAAK,QAAU,GACR,KAAKjC,EAAQ,EAAE,QAAQiC,CAAK,CACrC,CAEA,UAAWX,EAAKY,EAAO,CACrB,OAAAd,GAAc,KAAME,EAAKY,CAAK,EACvB,IACT,CACF,EAEA,SAASC,GAAoBb,EAAKc,EAAK,CACrC,GAAIA,GAAO,OAAOA,GAAQ,SACxB,MAAM,IAAI3C,GAAqB,WAAW6B,CAAG,SAAS,EAKxD,GAFAc,EAAMA,GAAO,KAAO,GAAGA,CAAG,GAAK,GAE3BtC,GAAgB,KAAKsC,CAAG,IAAM,KAChC,MAAM,IAAI3C,GAAqB,WAAW6B,CAAG,SAAS,EAGxD,MAAO,GAAGA,CAAG,KAAKc,CAAG;AAAA,CACvB,CAEA,SAAShB,GAAeiB,EAASf,EAAKc,EAAK,CACzC,GAAIA,GAAQ,OAAOA,GAAQ,UAAY,CAAC,MAAM,QAAQA,CAAG,EACvD,MAAM,IAAI3C,GAAqB,WAAW6B,CAAG,SAAS,EACjD,GAAIc,IAAQ,OACjB,OAGF,GACEC,EAAQ,OAAS,MACjBf,EAAI,SAAW,GACfA,EAAI,YAAY,IAAM,OACtB,CACA,GAAIxB,GAAgB,KAAKsC,CAAG,IAAM,KAChC,MAAM,IAAI3C,GAAqB,WAAW6B,CAAG,SAAS,EAGxDe,EAAQ,KAAOD,CACjB,SACEC,EAAQ,gBAAkB,MAC1Bf,EAAI,SAAW,IACfA,EAAI,YAAY,IAAM,kBAGtB,GADAe,EAAQ,cAAgB,SAASD,EAAK,EAAE,EACpC,CAAC,OAAO,SAASC,EAAQ,aAAa,EACxC,MAAM,IAAI5C,GAAqB,+BAA+B,UAGhE4C,EAAQ,cAAgB,MACxBf,EAAI,SAAW,IACfA,EAAI,YAAY,IAAM,eAEtBe,EAAQ,YAAcD,EACtBC,EAAQ,SAAWF,GAAmBb,EAAKc,CAAG,MACzC,IACLd,EAAI,SAAW,IACfA,EAAI,YAAY,IAAM,oBAEtB,MAAM,IAAI7B,GAAqB,kCAAkC,EAC5D,GACL6B,EAAI,SAAW,IACfA,EAAI,YAAY,IAAM,aACtB,CACA,IAAMY,EAAQ,OAAOE,GAAQ,SAAWA,EAAI,YAAY,EAAI,KAC5D,GAAIF,IAAU,SAAWA,IAAU,aACjC,MAAM,IAAIzC,GAAqB,2BAA2B,EACjDyC,IAAU,UACnBG,EAAQ,MAAQ,GAEpB,KAAO,IACLf,EAAI,SAAW,IACfA,EAAI,YAAY,IAAM,aAEtB,MAAM,IAAI7B,GAAqB,2BAA2B,EACrD,GACL6B,EAAI,SAAW,GACfA,EAAI,YAAY,IAAM,UAEtB,MAAM,IAAI7B,GAAqB,wBAAwB,EAClD,GACL6B,EAAI,SAAW,GACfA,EAAI,YAAY,IAAM,SAEtB,MAAM,IAAI5B,GAAkB,6BAA6B,EACpD,GAAIG,GAAY,KAAKyB,CAAG,IAAM,KACnC,MAAM,IAAI7B,GAAqB,oBAAoB,EAEnD,GAAI,MAAM,QAAQ2C,CAAG,EACnB,QAASjB,EAAI,EAAGA,EAAIiB,EAAI,OAAQjB,IAC9BkB,EAAQ,SAAWF,GAAmBb,EAAKc,EAAIjB,CAAC,CAAC,OAGnDkB,EAAQ,SAAWF,GAAmBb,EAAKc,CAAG,GAGpD,CAEA5C,GAAO,QAAUY,KC/WjB,IAAAkC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,IAAMC,GAAe,QAAQ,QAAQ,EAE/BC,GAAN,cAAyBD,EAAa,CACpC,UAAY,CACV,MAAM,IAAI,MAAM,iBAAiB,CACnC,CAEA,OAAS,CACP,MAAM,IAAI,MAAM,iBAAiB,CACnC,CAEA,SAAW,CACT,MAAM,IAAI,MAAM,iBAAiB,CACnC,CACF,EAEAD,GAAO,QAAUE,KClBjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,IAAMC,GAAa,KACb,CACJ,qBAAAC,GACA,kBAAAC,GACA,qBAAAC,EACF,EAAI,IACE,CAAE,SAAAC,GAAU,OAAAC,GAAQ,UAAAC,GAAW,cAAAC,EAAc,EAAI,KAEjDC,GAAa,OAAO,WAAW,EAC/BC,GAAU,OAAO,QAAQ,EACzBC,GAAe,OAAO,aAAa,EACnCC,GAAY,OAAO,UAAU,EAC7BC,GAAuB,OAAO,sBAAsB,EAEpDC,GAAN,cAA6Bb,EAAW,CACtC,aAAe,CACb,MAAM,EAEN,KAAKQ,EAAU,EAAI,GACnB,KAAKE,EAAY,EAAI,KACrB,KAAKD,EAAO,EAAI,GAChB,KAAKE,EAAS,EAAI,CAAC,CACrB,CAEA,IAAI,WAAa,CACf,OAAO,KAAKH,EAAU,CACxB,CAEA,IAAI,QAAU,CACZ,OAAO,KAAKC,EAAO,CACrB,CAEA,IAAI,cAAgB,CAClB,OAAO,KAAKF,EAAa,CAC3B,CAEA,IAAI,aAAcO,EAAiB,CACjC,GAAIA,GACF,QAASC,EAAID,EAAgB,OAAS,EAAGC,GAAK,EAAGA,IAE/C,GAAI,OADgB,KAAKR,EAAa,EAAEQ,CAAC,GACd,WACzB,MAAM,IAAIZ,GAAqB,iCAAiC,EAKtE,KAAKI,EAAa,EAAIO,CACxB,CAEA,MAAOE,EAAU,CACf,GAAIA,IAAa,OACf,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtC,KAAK,MAAM,CAACC,EAAKC,IACRD,EAAMD,EAAOC,CAAG,EAAIF,EAAQG,CAAI,CACxC,CACH,CAAC,EAGH,GAAI,OAAOJ,GAAa,WACtB,MAAM,IAAIb,GAAqB,kBAAkB,EAGnD,GAAI,KAAKK,EAAU,EAAG,CACpB,eAAe,IAAMQ,EAAS,IAAIf,GAAwB,IAAI,CAAC,EAC/D,MACF,CAEA,GAAI,KAAKQ,EAAO,EAAG,CACb,KAAKE,EAAS,EAChB,KAAKA,EAAS,EAAE,KAAKK,CAAQ,EAE7B,eAAe,IAAMA,EAAS,KAAM,IAAI,CAAC,EAE3C,MACF,CAEA,KAAKP,EAAO,EAAI,GAChB,KAAKE,EAAS,EAAE,KAAKK,CAAQ,EAE7B,IAAMK,EAAW,IAAM,CACrB,IAAMC,EAAY,KAAKX,EAAS,EAChC,KAAKA,EAAS,EAAI,KAClB,QAASI,EAAI,EAAGA,EAAIO,EAAU,OAAQP,IACpCO,EAAUP,CAAC,EAAE,KAAM,IAAI,CAE3B,EAGA,KAAKV,EAAM,EAAE,EACV,KAAK,IAAM,KAAK,QAAQ,CAAC,EACzB,KAAK,IAAM,CACV,eAAegB,CAAQ,CACzB,CAAC,CACL,CAEA,QAASF,EAAKH,EAAU,CAMtB,GALI,OAAOG,GAAQ,aACjBH,EAAWG,EACXA,EAAM,MAGJH,IAAa,OACf,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtC,KAAK,QAAQC,EAAK,CAACA,EAAKC,IACfD,EAAqDD,EAAOC,CAAG,EAAIF,EAAQG,CAAI,CACvF,CACH,CAAC,EAGH,GAAI,OAAOJ,GAAa,WACtB,MAAM,IAAIb,GAAqB,kBAAkB,EAGnD,GAAI,KAAKK,EAAU,EAAG,CAChB,KAAKE,EAAY,EACnB,KAAKA,EAAY,EAAE,KAAKM,CAAQ,EAEhC,eAAe,IAAMA,EAAS,KAAM,IAAI,CAAC,EAE3C,MACF,CAEKG,IACHA,EAAM,IAAIlB,IAGZ,KAAKO,EAAU,EAAI,GACnB,KAAKE,EAAY,EAAI,KAAKA,EAAY,GAAK,CAAC,EAC5C,KAAKA,EAAY,EAAE,KAAKM,CAAQ,EAEhC,IAAMO,EAAc,IAAM,CACxB,IAAMD,EAAY,KAAKZ,EAAY,EACnC,KAAKA,EAAY,EAAI,KACrB,QAAS,EAAI,EAAG,EAAIY,EAAU,OAAQ,IACpCA,EAAU,CAAC,EAAE,KAAM,IAAI,CAE3B,EAGA,KAAKlB,EAAQ,EAAEe,CAAG,EAAE,KAAK,IAAM,CAC7B,eAAeI,CAAW,CAC5B,CAAC,CACH,CAEA,CAACX,EAAoB,EAAGY,EAAMC,EAAS,CACrC,GAAI,CAAC,KAAKlB,EAAa,GAAK,KAAKA,EAAa,EAAE,SAAW,EACzD,YAAKK,EAAoB,EAAI,KAAKN,EAAS,EACpC,KAAKA,EAAS,EAAEkB,EAAMC,CAAO,EAGtC,IAAIC,EAAW,KAAKpB,EAAS,EAAE,KAAK,IAAI,EACxC,QAASS,EAAI,KAAKR,EAAa,EAAE,OAAS,EAAGQ,GAAK,EAAGA,IACnDW,EAAW,KAAKnB,EAAa,EAAEQ,CAAC,EAAEW,CAAQ,EAE5C,YAAKd,EAAoB,EAAIc,EACtBA,EAASF,EAAMC,CAAO,CAC/B,CAEA,SAAUD,EAAMC,EAAS,CACvB,GAAI,CAACA,GAAW,OAAOA,GAAY,SACjC,MAAM,IAAItB,GAAqB,2BAA2B,EAG5D,GAAI,CACF,GAAI,CAACqB,GAAQ,OAAOA,GAAS,SAC3B,MAAM,IAAIrB,GAAqB,yBAAyB,EAG1D,GAAI,KAAKK,EAAU,GAAK,KAAKE,EAAY,EACvC,MAAM,IAAIT,GAGZ,GAAI,KAAKQ,EAAO,EACd,MAAM,IAAIP,GAGZ,OAAO,KAAKU,EAAoB,EAAEY,EAAMC,CAAO,CACjD,OAASN,EAAK,CACZ,GAAI,OAAOM,EAAQ,SAAY,WAC7B,MAAM,IAAItB,GAAqB,wBAAwB,EAGzD,OAAAsB,EAAQ,QAAQN,CAAG,EAEZ,EACT,CACF,CACF,EAEApB,GAAO,QAAUc,KC/LjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,IAAMC,GAAM,QAAQ,KAAK,EACnBC,GAAS,QAAQ,QAAQ,EACzBC,GAAO,IACP,CAAE,qBAAAC,GAAsB,oBAAAC,EAAoB,EAAI,IAElDC,GAOAC,GACA,OAAO,qBACTA,GAAe,KAAuB,CACpC,YAAaC,EAAmB,CAC9B,KAAK,mBAAqBA,EAC1B,KAAK,cAAgB,IAAI,IACzB,KAAK,iBAAmB,IAAI,OAAO,qBAAsBC,GAAQ,CAC/D,GAAI,KAAK,cAAc,KAAO,KAAK,mBACjC,OAGF,IAAMC,EAAM,KAAK,cAAc,IAAID,CAAG,EAClCC,IAAQ,QAAaA,EAAI,MAAM,IAAM,QACvC,KAAK,cAAc,OAAOD,CAAG,CAEjC,CAAC,CACH,CAEA,IAAKE,EAAY,CACf,IAAMD,EAAM,KAAK,cAAc,IAAIC,CAAU,EAC7C,OAAOD,EAAMA,EAAI,MAAM,EAAI,IAC7B,CAEA,IAAKC,EAAYC,EAAS,CACpB,KAAK,qBAAuB,IAIhC,KAAK,cAAc,IAAID,EAAY,IAAI,QAAQC,CAAO,CAAC,EACvD,KAAK,iBAAiB,SAASA,EAASD,CAAU,EACpD,CACF,EAEAJ,GAAe,KAAyB,CACtC,YAAaC,EAAmB,CAC9B,KAAK,mBAAqBA,EAC1B,KAAK,cAAgB,IAAI,GAC3B,CAEA,IAAKG,EAAY,CACf,OAAO,KAAK,cAAc,IAAIA,CAAU,CAC1C,CAEA,IAAKA,EAAYC,EAAS,CACxB,GAAI,KAAK,qBAAuB,EAIhC,IAAI,KAAK,cAAc,MAAQ,KAAK,mBAAoB,CAEtD,GAAM,CAAE,MAAOC,CAAU,EAAI,KAAK,cAAc,KAAK,EAAE,KAAK,EAC5D,KAAK,cAAc,OAAOA,CAAS,CACrC,CAEA,KAAK,cAAc,IAAIF,EAAYC,CAAO,EAC5C,CACF,EAGF,SAASE,GAAgB,CAAE,kBAAAN,EAAmB,WAAAO,EAAY,QAAAC,EAAS,GAAGC,CAAK,EAAG,CAC5E,GAAIT,GAAqB,OAAS,CAAC,OAAO,UAAUA,CAAiB,GAAKA,EAAoB,GAC5F,MAAM,IAAIJ,GAAqB,sDAAsD,EAGvF,IAAMc,EAAU,CAAE,KAAMH,EAAY,GAAGE,CAAK,EACtCE,EAAe,IAAIZ,GAAaC,GAA4B,GAAuB,EACzF,OAAAQ,EAAUA,GAAkB,IAErB,SAAkB,CAAE,SAAAI,EAAU,KAAAC,EAAM,SAAAC,EAAU,KAAAC,EAAM,WAAAC,EAAY,aAAAC,EAAc,WAAAC,CAAW,EAAGC,EAAU,CAC3G,IAAIC,EACJ,GAAIN,IAAa,SAAU,CACpBhB,KACHA,GAAM,QAAQ,KAAK,GAErBkB,EAAaA,GAAcN,EAAQ,YAAcf,GAAK,cAAckB,CAAI,GAAK,KAE7E,IAAMV,EAAaa,GAAcJ,EAC3BR,EAAUO,EAAa,IAAIR,CAAU,GAAK,KAEhDT,GAAOS,CAAU,EAEjBiB,EAAStB,GAAI,QAAQ,CACnB,cAAe,MACf,GAAGY,EACH,WAAAM,EACA,QAAAZ,EACA,aAAAa,EACA,OAAQC,EACR,KAAMH,GAAQ,IACd,KAAMH,CACR,CAAC,EAEDQ,EACG,GAAG,UAAW,SAAUhB,EAAS,CAEhCO,EAAa,IAAIR,EAAYC,CAAO,CACtC,CAAC,CACL,MACEV,GAAO,CAACwB,EAAY,2CAA2C,EAC/DE,EAAS3B,GAAI,QAAQ,CACnB,cAAe,GAAK,KACpB,GAAGiB,EACH,aAAAO,EACA,KAAMF,GAAQ,GACd,KAAMH,CACR,CAAC,EAIH,GAAIF,EAAQ,WAAa,MAAQA,EAAQ,UAAW,CAClD,IAAMW,EAAwBX,EAAQ,wBAA0B,OAAY,IAAOA,EAAQ,sBAC3FU,EAAO,aAAa,GAAMC,CAAqB,CACjD,CAEA,IAAMC,EAAgBC,GAAa,IAAMC,GAAiBJ,CAAM,EAAGZ,CAAO,EAE1E,OAAAY,EACG,WAAW,EAAI,EACf,KAAKN,IAAa,SAAW,gBAAkB,UAAW,UAAY,CAGrE,GAFAQ,EAAc,EAEVH,EAAU,CACZ,IAAMM,EAAKN,EACXA,EAAW,KACXM,EAAG,KAAM,IAAI,CACf,CACF,CAAC,EACA,GAAG,QAAS,SAAUC,EAAK,CAG1B,GAFAJ,EAAc,EAEVH,EAAU,CACZ,IAAMM,EAAKN,EACXA,EAAW,KACXM,EAAGC,CAAG,CACR,CACF,CAAC,EAEIN,CACT,CACF,CAEA,SAASG,GAAcC,EAAkBhB,EAAS,CAChD,GAAI,CAACA,EACH,MAAO,IAAM,CAAC,EAGhB,IAAImB,EAAK,KACLC,EAAK,KACHC,EAAY,WAAW,IAAM,CAEjCF,EAAK,aAAa,IAAM,CAClB,QAAQ,WAAa,QAEvBC,EAAK,aAAa,IAAMJ,EAAiB,CAAC,EAE1CA,EAAiB,CAErB,CAAC,CACH,EAAGhB,CAAO,EACV,MAAO,IAAM,CACX,aAAaqB,CAAS,EACtB,eAAeF,CAAE,EACjB,eAAeC,CAAE,CACnB,CACF,CAEA,SAASJ,GAAkBJ,EAAQ,CACjCzB,GAAK,QAAQyB,EAAQ,IAAIvB,EAAqB,CAChD,CAEAL,GAAO,QAAUc,sGCpLjB,SAAgBwB,GAAUC,EAAQ,CAChC,IAAMC,EAAgB,CAAA,EAEtB,cAAO,KAAKD,CAAG,EAAE,QAASE,GAAO,CAC/B,IAAMC,EAAQH,EAAIE,CAAG,EACjB,OAAOC,GAAU,WACnBF,EAAIC,CAAG,EAAIC,EAEf,CAAC,EAEMF,CACT,CAXAG,GAAA,UAAAL,ibCJA,IAAAM,GAAA,KAMYC,IAAZ,SAAYA,EAAK,CACfA,EAAAA,EAAA,GAAA,CAAA,EAAA,KACAA,EAAAA,EAAA,SAAA,CAAA,EAAA,WACAA,EAAAA,EAAA,OAAA,CAAA,EAAA,SACAA,EAAAA,EAAA,YAAA,CAAA,EAAA,cACAA,EAAAA,EAAA,0BAAA,CAAA,EAAA,4BACAA,EAAAA,EAAA,kBAAA,CAAA,EAAA,oBACAA,EAAAA,EAAA,eAAA,CAAA,EAAA,iBACAA,EAAAA,EAAA,YAAA,CAAA,EAAA,cACAA,EAAAA,EAAA,iBAAA,CAAA,EAAA,mBACAA,EAAAA,EAAA,gBAAA,CAAA,EAAA,kBACAA,EAAAA,EAAA,qBAAA,EAAA,EAAA,uBACAA,EAAAA,EAAA,uBAAA,EAAA,EAAA,yBACAA,EAAAA,EAAA,mBAAA,EAAA,EAAA,qBACAA,EAAAA,EAAA,eAAA,EAAA,EAAA,iBACAA,EAAAA,EAAA,kBAAA,EAAA,EAAA,oBACAA,EAAAA,EAAA,0BAAA,EAAA,EAAA,4BAEAA,EAAAA,EAAA,iBAAA,EAAA,EAAA,mBACAA,EAAAA,EAAA,oBAAA,EAAA,EAAA,sBACAA,EAAAA,EAAA,oBAAA,EAAA,EAAA,sBACAA,EAAAA,EAAA,gBAAA,EAAA,EAAA,kBACAA,EAAAA,EAAA,kBAAA,EAAA,EAAA,oBAEAA,EAAAA,EAAA,OAAA,EAAA,EAAA,SACAA,EAAAA,EAAA,eAAA,EAAA,EAAA,iBACAA,EAAAA,EAAA,kBAAA,EAAA,EAAA,oBAEAA,EAAAA,EAAA,KAAA,EAAA,EAAA,MACF,GA7BYA,GAAAC,EAAA,QAAAA,EAAA,MAAK,CAAA,EAAA,EA+BjB,IAAYC,IAAZ,SAAYA,EAAI,CACdA,EAAAA,EAAA,KAAA,CAAA,EAAA,OACAA,EAAAA,EAAA,QAAA,CAAA,EAAA,UACAA,EAAAA,EAAA,SAAA,CAAA,EAAA,UACF,GAJYA,GAAAD,EAAA,OAAAA,EAAA,KAAI,CAAA,EAAA,EAMhB,IAAYE,IAAZ,SAAYA,EAAK,CACfA,EAAAA,EAAA,sBAAA,CAAA,EAAA,wBACAA,EAAAA,EAAA,iBAAA,CAAA,EAAA,mBACAA,EAAAA,EAAA,mBAAA,CAAA,EAAA,qBACAA,EAAAA,EAAA,QAAA,CAAA,EAAA,UACAA,EAAAA,EAAA,QAAA,EAAA,EAAA,UACAA,EAAAA,EAAA,eAAA,EAAA,EAAA,iBACAA,EAAAA,EAAA,SAAA,EAAA,EAAA,WACAA,EAAAA,EAAA,SAAA,GAAA,EAAA,WAEAA,EAAAA,EAAA,kBAAA,GAAA,EAAA,mBACF,GAXYA,GAAAF,EAAA,QAAAA,EAAA,MAAK,CAAA,EAAA,EAajB,IAAYG,IAAZ,SAAYA,EAAa,CACvBA,EAAAA,EAAA,QAAA,CAAA,EAAA,UACAA,EAAAA,EAAA,eAAA,CAAA,EAAA,iBACAA,EAAAA,EAAA,WAAA,CAAA,EAAA,YACF,GAJYA,GAAAH,EAAA,gBAAAA,EAAA,cAAa,CAAA,EAAA,EAMzB,IAAYI,GAAZ,SAAYA,EAAO,CACjBA,EAAAA,EAAA,OAAA,CAAA,EAAA,SACAA,EAAAA,EAAA,IAAA,CAAA,EAAA,MACAA,EAAAA,EAAA,KAAA,CAAA,EAAA,OACAA,EAAAA,EAAA,KAAA,CAAA,EAAA,OACAA,EAAAA,EAAA,IAAA,CAAA,EAAA,MAEAA,EAAAA,EAAA,QAAA,CAAA,EAAA,UACAA,EAAAA,EAAA,QAAA,CAAA,EAAA,UACAA,EAAAA,EAAA,MAAA,CAAA,EAAA,QAEAA,EAAAA,EAAA,KAAA,CAAA,EAAA,OACAA,EAAAA,EAAA,KAAA,CAAA,EAAA,OACAA,EAAAA,EAAA,MAAA,EAAA,EAAA,QACAA,EAAAA,EAAA,KAAA,EAAA,EAAA,OACAA,EAAAA,EAAA,SAAA,EAAA,EAAA,WACAA,EAAAA,EAAA,UAAA,EAAA,EAAA,YACAA,EAAAA,EAAA,OAAA,EAAA,EAAA,SACAA,EAAAA,EAAA,OAAA,EAAA,EAAA,SACAA,EAAAA,EAAA,KAAA,EAAA,EAAA,OACAA,EAAAA,EAAA,OAAA,EAAA,EAAA,SACAA,EAAAA,EAAA,OAAA,EAAA,EAAA,SACAA,EAAAA,EAAA,IAAA,EAAA,EAAA,MAEAA,EAAAA,EAAA,OAAA,EAAA,EAAA,SACAA,EAAAA,EAAA,WAAA,EAAA,EAAA,aACAA,EAAAA,EAAA,SAAA,EAAA,EAAA,WACAA,EAAAA,EAAA,MAAA,EAAA,EAAA,QAEAA,EAAAA,EAAA,UAAA,EAAA,EAAA,EAAA,WACAA,EAAAA,EAAA,OAAA,EAAA,EAAA,SACAA,EAAAA,EAAA,UAAA,EAAA,EAAA,YACAA,EAAAA,EAAA,YAAA,EAAA,EAAA,cAEAA,EAAAA,EAAA,MAAA,EAAA,EAAA,QACAA,EAAAA,EAAA,MAAA,EAAA,EAAA,QAEAA,EAAAA,EAAA,WAAA,EAAA,EAAA,aAEAA,EAAAA,EAAA,KAAA,EAAA,EAAA,OACAA,EAAAA,EAAA,OAAA,EAAA,EAAA,SAEAA,EAAAA,EAAA,OAAA,EAAA,EAAA,SAEAA,EAAAA,EAAA,IAAA,EAAA,EAAA,MAEAA,EAAAA,EAAA,SAAA,EAAA,EAAA,WACAA,EAAAA,EAAA,SAAA,EAAA,EAAA,WACAA,EAAAA,EAAA,MAAA,EAAA,EAAA,QACAA,EAAAA,EAAA,KAAA,EAAA,EAAA,OACAA,EAAAA,EAAA,MAAA,EAAA,EAAA,QACAA,EAAAA,EAAA,SAAA,EAAA,EAAA,WACAA,EAAAA,EAAA,cAAA,EAAA,EAAA,gBACAA,EAAAA,EAAA,cAAA,EAAA,EAAA,gBACAA,EAAAA,EAAA,SAAA,EAAA,EAAA,WACAA,EAAAA,EAAA,OAAA,EAAA,EAAA,SAEAA,EAAAA,EAAA,MAAA,EAAA,EAAA,OACF,GA1DYA,EAAAJ,EAAA,UAAAA,EAAA,QAAO,CAAA,EAAA,EA4DNA,EAAA,aAAe,CAC1BI,EAAQ,OACRA,EAAQ,IACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,IACRA,EAAQ,QACRA,EAAQ,QACRA,EAAQ,MACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,MACRA,EAAQ,KACRA,EAAQ,SACRA,EAAQ,UACRA,EAAQ,OACRA,EAAQ,OACRA,EAAQ,KACRA,EAAQ,OACRA,EAAQ,OACRA,EAAQ,IACRA,EAAQ,OACRA,EAAQ,WACRA,EAAQ,SACRA,EAAQ,MACRA,EAAQ,UAAU,EAClBA,EAAQ,OACRA,EAAQ,UACRA,EAAQ,YACRA,EAAQ,MACRA,EAAQ,MACRA,EAAQ,WACRA,EAAQ,KACRA,EAAQ,OACRA,EAAQ,IAGRA,EAAQ,QAGGJ,EAAA,YAAc,CACzBI,EAAQ,QAGGJ,EAAA,aAAe,CAC1BI,EAAQ,QACRA,EAAQ,SACRA,EAAQ,SACRA,EAAQ,MACRA,EAAQ,KACRA,EAAQ,MACRA,EAAQ,SACRA,EAAQ,cACRA,EAAQ,cACRA,EAAQ,SACRA,EAAQ,OACRA,EAAQ,MAGRA,EAAQ,IACRA,EAAQ,MAGGJ,EAAA,WAAaF,GAAA,UAAUM,CAAO,EAC9BJ,EAAA,aAAyB,CAAA,EAEtC,OAAO,KAAKA,EAAA,UAAU,EAAE,QAASK,GAAO,CAClC,KAAK,KAAKA,CAAG,IACfL,EAAA,aAAaK,CAAG,EAAIL,EAAA,WAAWK,CAAG,EAEtC,CAAC,EAED,IAAYC,IAAZ,SAAYA,EAAM,CAChBA,EAAAA,EAAA,KAAA,CAAA,EAAA,OACAA,EAAAA,EAAA,aAAA,CAAA,EAAA,eACAA,EAAAA,EAAA,OAAA,CAAA,EAAA,QACF,GAJYA,GAAAN,EAAA,SAAAA,EAAA,OAAM,CAAA,EAAA,EAULA,EAAA,MAAkB,CAAA,EAE/B,QAASO,EAAI,GAAmBA,GAAK,GAAmBA,IAEtDP,EAAA,MAAM,KAAK,OAAO,aAAaO,CAAC,CAAC,EAGjCP,EAAA,MAAM,KAAK,OAAO,aAAaO,EAAI,EAAI,CAAC,EAG7BP,EAAA,QAAU,CACrB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC3B,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAGhBA,EAAA,QAAU,CACrB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC3B,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC3B,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAG,GAC3C,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAG,IAGhCA,EAAA,IAAgB,CAC3B,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGlCA,EAAA,SAAqBA,EAAA,MAAM,OAAOA,EAAA,GAAG,EACrCA,EAAA,KAAiB,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,GAAG,EAC/DA,EAAA,eAA2BA,EAAA,SACrC,OAAOA,EAAA,IAAI,EACX,OAAO,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,CAAE,EAGvCA,EAAA,gBAA6B,CACxC,IAAK,IAAK,IAAK,IAAK,IAAK,IACzB,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACnC,IAAK,IAAK,IAAK,IAAK,IACpB,IAAK,IAAK,KAAM,IAAK,IAAK,IAC1B,IACA,IAAK,IAAK,IAAK,KACF,OAAOA,EAAA,QAAQ,EAEjBA,EAAA,SAAqBA,EAAA,gBAC/B,OAAQ,CAAE,IAAM,IAAI,CAAe,EAGtC,QAASO,EAAI,IAAMA,GAAK,IAAMA,IAC5BP,EAAA,SAAS,KAAKO,CAAC,EAGJP,EAAA,IAAgBA,EAAA,IAAI,OAC/B,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,CAAE,EASnDA,EAAA,aAA0B,CACrC,IAAK,IAAK,IAAK,IAAK,IAAK,IACzB,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IACV,IAAK,KACQ,OAAOA,EAAA,QAAQ,EAEjBA,EAAA,MAAkBA,EAAA,aAAa,OAAO,CAAE,GAAG,CAAE,EAM7CA,EAAA,aAAyB,CAAE,GAAI,EAC5C,QAASO,EAAI,GAAIA,GAAK,IAAKA,IACrBA,IAAM,KACRP,EAAA,aAAa,KAAKO,CAAC,EAKVP,EAAA,uBACXA,EAAA,aAAa,OAAQQ,GAAuBA,IAAM,EAAE,EAEzCR,EAAA,MAAQA,EAAA,QACRA,EAAA,MAAQA,EAAA,MAErB,IAAYS,IAAZ,SAAYA,EAAY,CACtBA,EAAAA,EAAA,QAAA,CAAA,EAAA,UACAA,EAAAA,EAAA,WAAA,CAAA,EAAA,aACAA,EAAAA,EAAA,eAAA,CAAA,EAAA,iBACAA,EAAAA,EAAA,kBAAA,CAAA,EAAA,oBACAA,EAAAA,EAAA,QAAA,CAAA,EAAA,UAEAA,EAAAA,EAAA,sBAAA,CAAA,EAAA,wBACAA,EAAAA,EAAA,iBAAA,CAAA,EAAA,mBACAA,EAAAA,EAAA,mBAAA,CAAA,EAAA,qBACAA,EAAAA,EAAA,0BAAA,CAAA,EAAA,2BACF,GAXYA,GAAAT,EAAA,eAAAA,EAAA,aAAY,CAAA,EAAA,EAaXA,EAAA,gBAAkB,CAC7B,WAAcS,GAAa,WAC3B,iBAAkBA,GAAa,eAC/B,mBAAoBA,GAAa,WACjC,oBAAqBA,GAAa,kBAClC,QAAWA,GAAa,WCrT1B,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,IAAMC,GAAO,IACP,CAAE,UAAAC,EAAU,EAAI,KAChBC,GAAS,QAAQ,QAAQ,EACzB,CAAE,qBAAAC,EAAqB,EAAI,IAC3BC,GAAK,QAAQ,QAAQ,EAErBC,GAA0B,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAEvDC,GAAQ,OAAO,MAAM,EAErBC,GAAN,KAAwB,CACtB,YAAaC,EAAM,CACjB,KAAKF,EAAK,EAAIE,EACd,KAAKP,EAAS,EAAI,EACpB,CAEA,OAAS,OAAO,aAAa,GAAK,CAChCC,GAAO,CAAC,KAAKD,EAAS,EAAG,WAAW,EACpC,KAAKA,EAAS,EAAI,GAClB,MAAQ,KAAKK,EAAK,CACpB,CACF,EAEMG,GAAN,KAAsB,CACpB,YAAaC,EAAUC,EAAiBC,EAAMC,EAAS,CACrD,GAAIF,GAAmB,OAAS,CAAC,OAAO,UAAUA,CAAe,GAAKA,EAAkB,GACtF,MAAM,IAAIR,GAAqB,2CAA2C,EAG5EH,GAAK,gBAAgBa,EAASD,EAAK,OAAQA,EAAK,OAAO,EAEvD,KAAK,SAAWF,EAChB,KAAK,SAAW,KAChB,KAAK,MAAQ,KACb,KAAK,KAAO,CAAE,GAAGE,EAAM,gBAAiB,CAAE,EAC1C,KAAK,gBAAkBD,EACvB,KAAK,QAAUE,EACf,KAAK,QAAU,CAAC,EAEZb,GAAK,SAAS,KAAK,KAAK,IAAI,GAI1BA,GAAK,WAAW,KAAK,KAAK,IAAI,IAAM,GACtC,KAAK,KAAK,KACP,GAAG,OAAQ,UAAY,CACtBE,GAAO,EAAK,CACd,CAAC,EAGD,OAAO,KAAK,KAAK,KAAK,iBAAoB,YAC5C,KAAK,KAAK,KAAKD,EAAS,EAAI,GAC5BG,GAAG,UAAU,GAAG,KAAK,KAAK,KAAK,KAAM,OAAQ,UAAY,CACvD,KAAKH,EAAS,EAAI,EACpB,CAAC,IAEM,KAAK,KAAK,MAAQ,OAAO,KAAK,KAAK,KAAK,QAAW,WAI5D,KAAK,KAAK,KAAO,IAAIM,GAAkB,KAAK,KAAK,IAAI,EAErD,KAAK,KAAK,MACV,OAAO,KAAK,KAAK,MAAS,UAC1B,CAAC,YAAY,OAAO,KAAK,KAAK,IAAI,GAClCP,GAAK,WAAW,KAAK,KAAK,IAAI,IAI9B,KAAK,KAAK,KAAO,IAAIO,GAAkB,KAAK,KAAK,IAAI,EAEzD,CAEA,UAAWO,EAAO,CAChB,KAAK,MAAQA,EACb,KAAK,QAAQ,UAAUA,EAAO,CAAE,QAAS,KAAK,OAAQ,CAAC,CACzD,CAEA,UAAWC,EAAYC,EAASC,EAAQ,CACtC,KAAK,QAAQ,UAAUF,EAAYC,EAASC,CAAM,CACpD,CAEA,QAASC,EAAO,CACd,KAAK,QAAQ,QAAQA,CAAK,CAC5B,CAEA,UAAWH,EAAYC,EAASG,EAAQC,EAAY,CASlD,GARA,KAAK,SAAW,KAAK,QAAQ,QAAU,KAAK,iBAAmBpB,GAAK,YAAY,KAAK,KAAK,IAAI,EAC1F,KACAqB,GAAcN,EAAYC,CAAO,EAEjC,KAAK,KAAK,QACZ,KAAK,QAAQ,KAAK,IAAI,IAAI,KAAK,KAAK,KAAM,KAAK,KAAK,MAAM,CAAC,EAGzD,CAAC,KAAK,SACR,OAAO,KAAK,QAAQ,UAAUD,EAAYC,EAASG,EAAQC,CAAU,EAGvE,GAAM,CAAE,OAAAE,EAAQ,SAAAC,EAAU,OAAAC,CAAO,EAAIxB,GAAK,SAAS,IAAI,IAAI,KAAK,SAAU,KAAK,KAAK,QAAU,IAAI,IAAI,KAAK,KAAK,KAAM,KAAK,KAAK,MAAM,CAAC,CAAC,EAClIyB,EAAOD,EAAS,GAAGD,CAAQ,GAAGC,CAAM,GAAKD,EAK/C,KAAK,KAAK,QAAUG,GAAoB,KAAK,KAAK,QAASX,IAAe,IAAK,KAAK,KAAK,SAAWO,CAAM,EAC1G,KAAK,KAAK,KAAOG,EACjB,KAAK,KAAK,OAASH,EACnB,KAAK,KAAK,gBAAkB,EAC5B,KAAK,KAAK,MAAQ,KAIdP,IAAe,KAAO,KAAK,KAAK,SAAW,SAC7C,KAAK,KAAK,OAAS,MACnB,KAAK,KAAK,KAAO,KAErB,CAEA,OAAQY,EAAO,CACb,GAAI,MAAK,SAmBP,OAAO,KAAK,QAAQ,OAAOA,CAAK,CAEpC,CAEA,WAAYC,EAAU,CAChB,KAAK,UAUP,KAAK,SAAW,KAChB,KAAK,MAAQ,KAEb,KAAK,SAAS,KAAK,KAAM,IAAI,GAE7B,KAAK,QAAQ,WAAWA,CAAQ,CAEpC,CAEA,WAAYD,EAAO,CACb,KAAK,QAAQ,YACf,KAAK,QAAQ,WAAWA,CAAK,CAEjC,CACF,EAEA,SAASN,GAAeN,EAAYC,EAAS,CAC3C,GAAIX,GAAwB,QAAQU,CAAU,IAAM,GAClD,OAAO,KAGT,QAASc,EAAI,EAAGA,EAAIb,EAAQ,OAAQa,GAAK,EACvC,GAAIb,EAAQa,CAAC,EAAE,SAAS,EAAE,YAAY,IAAM,WAC1C,OAAOb,EAAQa,EAAI,CAAC,CAG1B,CAGA,SAASC,GAAoBC,EAAQC,EAAeC,EAAe,CACjE,OACGF,EAAO,SAAW,GAAKA,EAAO,SAAS,EAAE,YAAY,IAAM,QAC3DC,GAAiBD,EAAO,SAAS,EAAE,YAAY,EAAE,QAAQ,UAAU,IAAM,GACzEE,GAAiBF,EAAO,SAAW,IAAMA,EAAO,SAAS,EAAE,YAAY,IAAM,iBAC7EE,GAAiBF,EAAO,SAAW,GAAKA,EAAO,SAAS,EAAE,YAAY,IAAM,QAEjF,CAGA,SAASL,GAAqBV,EAASgB,EAAeC,EAAe,CACnE,IAAMC,EAAM,CAAC,EACb,GAAI,MAAM,QAAQlB,CAAO,EACvB,QAASa,EAAI,EAAGA,EAAIb,EAAQ,OAAQa,GAAK,EAClCC,GAAmBd,EAAQa,CAAC,EAAGG,EAAeC,CAAa,GAC9DC,EAAI,KAAKlB,EAAQa,CAAC,EAAGb,EAAQa,EAAI,CAAC,CAAC,UAG9Bb,GAAW,OAAOA,GAAY,SACvC,QAAWmB,KAAO,OAAO,KAAKnB,CAAO,EAC9Bc,GAAmBK,EAAKH,EAAeC,CAAa,GACvDC,EAAI,KAAKC,EAAKnB,EAAQmB,CAAG,CAAC,OAI9BjC,GAAOc,GAAW,KAAM,uCAAuC,EAEjE,OAAOkB,CACT,CAEAnC,GAAO,QAAUU,KCvNjB,IAAA2B,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,IAAMC,GAAkB,KAExB,SAASC,GAA2B,CAAE,gBAAiBC,CAAuB,EAAG,CAC/E,OAAQC,GACC,SAAoBC,EAAMC,EAAS,CACxC,GAAM,CAAE,gBAAAC,EAAkBJ,CAAuB,EAAIE,EAErD,GAAI,CAACE,EACH,OAAOH,EAASC,EAAMC,CAAO,EAG/B,IAAME,EAAkB,IAAIP,GAAgBG,EAAUG,EAAiBF,EAAMC,CAAO,EACpF,OAAAD,EAAO,CAAE,GAAGA,EAAM,gBAAiB,CAAE,EAC9BD,EAASC,EAAMG,CAAe,CACvC,CAEJ,CAEAR,GAAO,QAAUE,KCpBjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAU,yuwECAjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAU,qtwECAjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAMA,IAAMC,EAAS,QAAQ,QAAQ,EACzBC,GAAM,QAAQ,KAAK,EACnBC,EAAO,IACPC,GAAS,KACTC,GAAU,KACVC,GAAiB,KACjB,CACJ,kCAAAC,GACA,mCAAAC,GACA,qBAAAC,GACA,oBAAAC,GACA,oBAAAC,GACA,qBAAAC,GACA,YAAAC,GACA,mBAAAC,GACA,iBAAAC,GACA,gBAAAC,GACA,6BAAAC,GACA,qBAAAC,EACF,EAAI,IACEC,GAAiB,KACjB,CACJ,KAAAC,GACA,OAAAC,GACA,YAAAC,GACA,QAAAC,GACA,MAAAC,GACA,QAAAC,GACA,SAAAC,GACA,UAAAC,GACA,UAAAC,GACA,SAAAC,GACA,SAAAC,GACA,MAAAC,GACA,SAAAC,GACA,OAAAC,GACA,WAAAC,GACA,YAAAC,GACA,WAAAC,GACA,OAAAC,GACA,yBAAAC,GACA,YAAAC,GACA,YAAAC,GACA,YAAAC,GACA,OAAAC,GACA,YAAAC,GACA,QAAAC,GACA,uBAAAC,GACA,gBAAAC,GACA,qBAAAC,GACA,2BAAAC,GACA,gBAAAC,GACA,aAAAC,GACA,qBAAAC,GACA,WAAAC,GACA,iBAAAC,GACA,aAAAC,GACA,SAAAC,GACA,OAAAC,GACA,SAAAC,GACA,UAAAC,GACA,cAAAC,GACA,cAAAC,GACA,iBAAAC,EACF,EAAI,KACEC,GAAa,OAAO,OAAO,OAAO,EAElCC,GAAiB,OAAO,gBAAgB,EAExCC,GAAW,CAAC,EAElB,GAAI,CACF,IAAMC,EAAqB,QAAQ,qBAAqB,EACxDD,GAAS,YAAcC,EAAmB,QAAQ,2BAA2B,EAC7ED,GAAS,cAAgBC,EAAmB,QAAQ,6BAA6B,EACjFD,GAAS,aAAeC,EAAmB,QAAQ,4BAA4B,EAC/ED,GAAS,UAAYC,EAAmB,QAAQ,yBAAyB,CAC3E,MAAQ,CACND,GAAS,YAAc,CAAE,eAAgB,EAAM,EAC/CA,GAAS,cAAgB,CAAE,eAAgB,EAAM,EACjDA,GAAS,aAAe,CAAE,eAAgB,EAAM,EAChDA,GAAS,UAAY,CAAE,eAAgB,EAAM,CAC/C,CAKA,IAAME,GAAN,cAAqB5D,EAAe,CAMlC,YAAa6D,EAAK,CAChB,aAAAC,EACA,cAAAC,EACA,eAAAC,EACA,cAAAC,EACA,eAAAC,EACA,eAAAC,EACA,YAAAC,EACA,YAAAC,EACA,UAAAC,EACA,iBAAAC,EACA,oBAAAC,EACA,oBAAAC,EACA,0BAAAC,EACA,WAAAC,EACA,WAAAC,EACA,IAAAC,EACA,oBAAAC,EACA,kBAAAC,EACA,gBAAAC,EACA,QAAAC,EACA,qBAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,iBAAAC,GACA,+BAAAC,EACF,EAAI,CAAC,EAAG,CAGN,GAFA,MAAM,EAEFhB,IAAc,OAChB,MAAM,IAAInE,GAAqB,iDAAiD,EAGlF,GAAI8D,IAAkB,OACpB,MAAM,IAAI9D,GAAqB,qEAAqE,EAGtG,GAAI+D,IAAmB,OACrB,MAAM,IAAI/D,GAAqB,sEAAsE,EAGvG,GAAIkE,IAAgB,OAClB,MAAM,IAAIlE,GAAqB,uDAAuD,EAGxF,GAAIqE,IAAwB,OAC1B,MAAM,IAAIrE,GAAqB,kEAAkE,EAGnG,GAAI4D,GAAiB,MAAQ,CAAC,OAAO,SAASA,CAAa,EACzD,MAAM,IAAI5D,GAAqB,uBAAuB,EAGxD,GAAIwE,GAAc,MAAQ,OAAOA,GAAe,SAC9C,MAAM,IAAIxE,GAAqB,oBAAoB,EAGrD,GAAIgE,GAAkB,OAAS,CAAC,OAAO,SAASA,CAAc,GAAKA,EAAiB,GAClF,MAAM,IAAIhE,GAAqB,wBAAwB,EAGzD,GAAIoE,GAAoB,OAAS,CAAC,OAAO,SAASA,CAAgB,GAAKA,GAAoB,GACzF,MAAM,IAAIpE,GAAqB,0BAA0B,EAG3D,GAAIsE,GAAuB,OAAS,CAAC,OAAO,SAASA,CAAmB,GAAKA,GAAuB,GAClG,MAAM,IAAItE,GAAqB,6BAA6B,EAG9D,GAAIuE,GAA6B,MAAQ,CAAC,OAAO,SAASA,CAAyB,EACjF,MAAM,IAAIvE,GAAqB,mCAAmC,EAGpE,GAAI6D,GAAkB,OAAS,CAAC,OAAO,UAAUA,CAAc,GAAKA,EAAiB,GACnF,MAAM,IAAI7D,GAAqB,mDAAmD,EAGpF,GAAIiE,GAAe,OAAS,CAAC,OAAO,UAAUA,CAAW,GAAKA,EAAc,GAC1E,MAAM,IAAIjE,GAAqB,gDAAgD,EAGjF,GAAI8E,GAAW,MAAQ,OAAOA,GAAY,YAAc,OAAOA,GAAY,SACzE,MAAM,IAAI9E,GAAqB,yCAAyC,EAG1E,GAAI6E,GAAmB,OAAS,CAAC,OAAO,UAAUA,CAAe,GAAKA,EAAkB,GACtF,MAAM,IAAI7E,GAAqB,2CAA2C,EAG5E,GAAI+E,GAAwB,OAAS,CAAC,OAAO,UAAUA,CAAoB,GAAKA,EAAuB,GACrG,MAAM,IAAI/E,GAAqB,gDAAgD,EAGjF,GAAIgF,GAAgB,OAAS,OAAOA,GAAiB,UAAYvF,GAAI,KAAKuF,CAAY,IAAM,GAC1F,MAAM,IAAIhF,GAAqB,8CAA8C,EAG/E,GAAIiF,GAAmB,OAAS,CAAC,OAAO,UAAUA,CAAe,GAAKA,EAAkB,IACtF,MAAM,IAAIjF,GAAqB,2CAA2C,EAG5E,GACEmF,IAAkC,OACjC,CAAC,OAAO,UAAUA,EAA8B,GAAKA,GAAiC,IAEvF,MAAM,IAAInF,GAAqB,0DAA0D,EAGvF,OAAO8E,GAAY,aACrBA,EAAUpE,GAAe,CACvB,GAAGgE,EACH,kBAAAE,EACA,WAAAJ,EACA,QAASR,EACT,GAAItE,EAAK,yBAA2BwF,GAAmB,CAAE,iBAAAA,GAAkB,+BAAAC,EAA+B,EAAI,OAC9G,GAAGL,CACL,CAAC,GAGH,KAAK5B,EAAa,EAAIS,GAAgBA,EAAa,QAAU,MAAM,QAAQA,EAAa,MAAM,EAC1FA,EAAa,OACb,CAACyB,GAA0B,CAAE,gBAAAP,CAAgB,CAAC,CAAC,EACnD,KAAKlE,EAAI,EAAIjB,EAAK,YAAYgE,CAAG,EACjC,KAAKf,EAAU,EAAImC,EACnB,KAAK3C,EAAO,EAAI,KAChB,KAAKD,EAAW,EAAIuC,GAAkC,EACtD,KAAKpC,EAAe,EAAIuB,GAAiB,MACzC,KAAK/B,EAAwB,EAAIuC,GAA2B,IAC5D,KAAK9B,EAAoB,EAAIgC,GAA8B,IAC3D,KAAK/B,EAA0B,EAAIgC,GAAoC,IACvE,KAAKnC,EAAsB,EAAI,KAAKP,EAAwB,EAC5D,KAAKhB,EAAW,EAAI,KACpB,KAAKsC,EAAa,EAAI6B,GAAsC,KAC5D,KAAK7D,EAAS,EAAI,EAClB,KAAKQ,EAAU,EAAI,EACnB,KAAKG,EAAW,EAAI,SAAS,KAAKnB,EAAI,EAAE,QAAQ,GAAG,KAAKA,EAAI,EAAE,KAAO,IAAI,KAAKA,EAAI,EAAE,IAAI,GAAK,EAAE;AAAA,EAC/F,KAAK8B,EAAY,EAAIwB,GAAoC,IACzD,KAAKzB,EAAe,EAAIqB,GAA0C,IAClE,KAAKnB,EAAoB,EAAIiC,GAA8B,GAC3D,KAAK/B,EAAgB,EAAIiC,EACzB,KAAKhC,EAAY,EAAIkC,EACrB,KAAKzB,EAAc,EAAI,KACvB,KAAKF,EAAgB,EAAI6B,EAAkB,GAAKA,EAAkB,GAWlE,KAAKzD,EAAM,EAAI,CAAC,EAChB,KAAKQ,EAAW,EAAI,EACpB,KAAKD,EAAW,EAAI,CACtB,CAEA,IAAI,YAAc,CAChB,OAAO,KAAKG,EAAW,CACzB,CAEA,IAAI,WAAYmD,EAAO,CACrB,KAAKnD,EAAW,EAAImD,EACpBC,GAAO,KAAM,EAAI,CACnB,CAEA,IAAKjE,EAAQ,GAAK,CAChB,OAAO,KAAKG,EAAM,EAAE,OAAS,KAAKO,EAAW,CAC/C,CAEA,IAAKX,EAAQ,GAAK,CAChB,OAAO,KAAKW,EAAW,EAAI,KAAKC,EAAW,CAC7C,CAEA,IAAKV,EAAK,GAAK,CACb,OAAO,KAAKE,EAAM,EAAE,OAAS,KAAKQ,EAAW,CAC/C,CAEA,IAAKP,EAAU,GAAK,CAClB,MAAO,CAAC,CAAC,KAAKU,EAAO,GAAK,CAAC,KAAKT,EAAW,GAAK,CAAC,KAAKS,EAAO,EAAE,SACjE,CAEA,IAAKpB,EAAK,GAAK,CACb,IAAMwE,EAAS,KAAKpD,EAAO,EAC3B,OACGoD,IAAWA,EAAO3E,EAAM,GAAK2E,EAAOhE,EAAQ,GAAKgE,EAAOrE,EAAS,IACjE,KAAKI,EAAK,IAAM,KAAKY,EAAW,GAAK,IACtC,KAAKb,EAAQ,EAAI,CAErB,CAGA,CAACJ,EAAQ,EAAGuE,EAAI,CACdV,GAAQ,IAAI,EACZ,KAAK,KAAK,UAAWU,CAAE,CACzB,CAEA,CAACvC,EAAS,EAAGwC,EAAMC,EAAS,CAC1B,IAAMC,EAASF,EAAK,QAAU,KAAK9E,EAAI,EAAE,OAEnCiF,EAAU,IAAIhG,GAAQ+F,EAAQF,EAAMC,CAAO,EAEjD,YAAKlE,EAAM,EAAE,KAAKoE,CAAO,EACrB,KAAKzE,EAAS,IAEPzB,EAAK,WAAWkG,EAAQ,IAAI,GAAK,MAAQlG,EAAK,WAAWkG,EAAQ,IAAI,GAE9E,KAAKzE,EAAS,EAAI,EAClB,QAAQ,SAASmE,GAAQ,IAAI,GAE7BA,GAAO,KAAM,EAAI,GAGf,KAAKnE,EAAS,GAAK,KAAKQ,EAAU,IAAM,GAAK,KAAKZ,EAAK,IACzD,KAAKY,EAAU,EAAI,GAGd,KAAKA,EAAU,EAAI,CAC5B,CAEA,MAAOoB,EAAM,GAAK,CAChB,OAAO,IAAI,QAAS8C,GAAY,CACzB,KAAKvE,EAAK,EAGb,KAAKgC,EAAc,EAAIuC,EAFvBA,EAAQ,IAAI,CAIhB,CAAC,CACH,CAEA,MAAO7C,EAAQ,EAAG8C,EAAK,CACrB,OAAO,IAAI,QAASD,GAAY,CAC9B,IAAME,EAAW,KAAKvE,EAAM,EAAE,OAAO,KAAKO,EAAW,CAAC,EACtD,QAAS,EAAI,EAAG,EAAIgE,EAAS,OAAQ,IAAK,CACxC,IAAMH,EAAUG,EAAS,CAAC,EAC1BC,GAAa,KAAMJ,EAASE,CAAG,CACjC,CAEA,IAAMG,EAAW,IAAM,CACjB,KAAK3C,EAAc,IAErB,KAAKA,EAAc,EAAE,EACrB,KAAKA,EAAc,EAAI,MAEzBuC,EAAQ,CACV,EAEK,KAAK1D,EAAO,EAGfzC,EAAK,QAAQ,KAAKyC,EAAO,EAAE,GAAG,QAAS8D,CAAQ,EAAGH,CAAG,EAFrD,eAAeG,CAAQ,EAKzBX,GAAO,IAAI,CACb,CAAC,CACH,CACF,EAEMY,GAAY,KACZd,GAA4B,KAC5Be,GAAY,OAAO,MAAM,CAAC,EAEhC,eAAeC,IAAc,CAC3B,IAAMC,EAAiB,QAAQ,IAAI,eAAiB,KAAqC,OAErFC,EACJ,GAAI,CACFA,EAAM,MAAM,YAAY,QAAQ,OAAO,KAAK,KAAyC,QAAQ,CAAC,CAChG,MAAY,CAOVA,EAAM,MAAM,YAAY,QAAQ,OAAO,KAAKD,GAAkB,KAAoC,QAAQ,CAAC,CAC7G,CAEA,OAAO,MAAM,YAAY,YAAYC,EAAK,CACxC,IAAK,CAGH,YAAa,CAACC,EAAGC,EAAIC,IAEZ,EAET,eAAgB,CAACF,EAAGC,EAAIC,IAAQ,CAC9BjH,EAAO,YAAYkH,GAAc,IAAKH,CAAC,EACvC,IAAMI,EAAQH,EAAKI,GAAmBC,GAAiB,WACvD,OAAOH,GAAc,SAAS,IAAIrD,GAAWwD,GAAiB,OAAQF,EAAOF,CAAG,CAAC,GAAK,CACxF,EACA,sBAAwBF,IACtB/G,EAAO,YAAYkH,GAAc,IAAKH,CAAC,EAChCG,GAAc,eAAe,GAAK,GAE3C,qBAAsB,CAACH,EAAGC,EAAIC,IAAQ,CACpCjH,EAAO,YAAYkH,GAAc,IAAKH,CAAC,EACvC,IAAMI,EAAQH,EAAKI,GAAmBC,GAAiB,WACvD,OAAOH,GAAc,cAAc,IAAIrD,GAAWwD,GAAiB,OAAQF,EAAOF,CAAG,CAAC,GAAK,CAC7F,EACA,qBAAsB,CAACF,EAAGC,EAAIC,IAAQ,CACpCjH,EAAO,YAAYkH,GAAc,IAAKH,CAAC,EACvC,IAAMI,EAAQH,EAAKI,GAAmBC,GAAiB,WACvD,OAAOH,GAAc,cAAc,IAAIrD,GAAWwD,GAAiB,OAAQF,EAAOF,CAAG,CAAC,GAAK,CAC7F,EACA,yBAA0B,CAACF,EAAGO,EAAYC,EAASC,KACjDxH,EAAO,YAAYkH,GAAc,IAAKH,CAAC,EAChCG,GAAc,kBAAkBI,EAAY,EAAQC,EAAU,EAAQC,CAAgB,GAAK,GAEpG,aAAc,CAACT,EAAGC,EAAIC,IAAQ,CAC5BjH,EAAO,YAAYkH,GAAc,IAAKH,CAAC,EACvC,IAAMI,EAAQH,EAAKI,GAAmBC,GAAiB,WACvD,OAAOH,GAAc,OAAO,IAAIrD,GAAWwD,GAAiB,OAAQF,EAAOF,CAAG,CAAC,GAAK,CACtF,EACA,yBAA2BF,IACzB/G,EAAO,YAAYkH,GAAc,IAAKH,CAAC,EAChCG,GAAc,kBAAkB,GAAK,EAIhD,CACF,CAAC,CACH,CAEA,IAAIO,GAAiB,KACjBC,GAAgBd,GAAW,EAC/Bc,GAAc,MAAM,EAEpB,IAAIR,GAAgB,KAChBG,GAAmB,KACnBM,GAAoB,EACpBP,GAAmB,KAEjBQ,GAAkB,EAClBC,GAAe,EACfC,GAAe,EAEfC,GAAN,KAAa,CACX,YAAaC,EAAQjC,EAAQ,CAAE,QAAAjG,CAAQ,EAAG,CACxCE,EAAO,OAAO,SAASgI,EAAOnF,EAAe,CAAC,GAAKmF,EAAOnF,EAAe,EAAI,CAAC,EAE9E,KAAK,OAAS/C,EACd,KAAK,IAAM,KAAK,OAAO,aAAa4G,GAAU,KAAK,QAAQ,EAC3D,KAAK,OAASsB,EACd,KAAK,OAASjC,EACd,KAAK,QAAU,KACf,KAAK,aAAe,KACpB,KAAK,YAAc,KACnB,KAAK,WAAa,KAClB,KAAK,WAAa,GAClB,KAAK,QAAU,GACf,KAAK,QAAU,CAAC,EAChB,KAAK,YAAc,EACnB,KAAK,eAAiBiC,EAAOnF,EAAe,EAC5C,KAAK,gBAAkB,GACvB,KAAK,OAAS,GACd,KAAK,OAAS,KAAK,OAAO,KAAK,IAAI,EAEnC,KAAK,UAAY,EAEjB,KAAK,UAAY,GACjB,KAAK,cAAgB,GACrB,KAAK,WAAa,GAClB,KAAK,gBAAkBmF,EAAOpE,EAAgB,CAChD,CAEA,WAAYiC,EAAOoC,EAAM,CACvB,KAAK,YAAcA,EACfpC,IAAU,KAAK,cACjB1F,GAAO,aAAa,KAAK,OAAO,EAC5B0F,GACF,KAAK,QAAU1F,GAAO,WAAW+H,GAAiBrC,EAAO,IAAI,EAEzD,KAAK,QAAQ,OACf,KAAK,QAAQ,MAAM,GAGrB,KAAK,QAAU,KAEjB,KAAK,aAAeA,GACX,KAAK,SAEV,KAAK,QAAQ,SACf,KAAK,QAAQ,QAAQ,CAG3B,CAEA,QAAU,CACJ,KAAK,OAAO,WAAa,CAAC,KAAK,SAInC7F,EAAO,KAAK,KAAO,IAAI,EACvBA,EAAOkH,IAAiB,IAAI,EAE5B,KAAK,OAAO,cAAc,KAAK,GAAG,EAElClH,EAAO,KAAK,cAAgB6H,EAAY,EACpC,KAAK,SAEH,KAAK,QAAQ,SACf,KAAK,QAAQ,QAAQ,EAIzB,KAAK,OAAS,GACd,KAAK,QAAQ,KAAK,OAAO,KAAK,GAAKlB,EAAS,EAC5C,KAAK,SAAS,EAChB,CAEA,UAAY,CACV,KAAO,CAAC,KAAK,QAAU,KAAK,KAAK,CAC/B,IAAMwB,EAAQ,KAAK,OAAO,KAAK,EAC/B,GAAIA,IAAU,KACZ,MAEF,KAAK,QAAQA,CAAK,CACpB,CACF,CAEA,QAASC,EAAM,CACbpI,EAAO,KAAK,KAAO,IAAI,EACvBA,EAAOkH,IAAiB,IAAI,EAC5BlH,EAAO,CAAC,KAAK,MAAM,EAEnB,GAAM,CAAE,OAAA+F,EAAQ,OAAAsC,CAAO,EAAI,KAEvBD,EAAK,OAAST,KACZP,IACFiB,EAAO,KAAKjB,EAAgB,EAE9BO,GAAoB,KAAK,KAAKS,EAAK,OAAS,IAAI,EAAI,KACpDhB,GAAmBiB,EAAO,OAAOV,EAAiB,GAGpD,IAAI,WAAWU,EAAO,OAAO,OAAQjB,GAAkBO,EAAiB,EAAE,IAAIS,CAAI,EAMlF,GAAI,CACF,IAAIE,EAEJ,GAAI,CACFjB,GAAmBe,EACnBlB,GAAgB,KAChBoB,EAAMD,EAAO,eAAe,KAAK,IAAKjB,GAAkBgB,EAAK,MAAM,CAErE,OAAS9B,EAAK,CAEZ,MAAMA,CACR,QAAE,CACAY,GAAgB,KAChBG,GAAmB,IACrB,CAEA,IAAMkB,EAASF,EAAO,qBAAqB,KAAK,GAAG,EAAIjB,GAEvD,GAAIkB,IAAQ5B,GAAU,MAAM,eAC1B,KAAK,UAAU0B,EAAK,MAAMG,CAAM,CAAC,UACxBD,IAAQ5B,GAAU,MAAM,OACjC,KAAK,OAAS,GACdX,EAAO,QAAQqC,EAAK,MAAMG,CAAM,CAAC,UACxBD,IAAQ5B,GAAU,MAAM,GAAI,CACrC,IAAM8B,EAAMH,EAAO,wBAAwB,KAAK,GAAG,EAC/CI,EAAU,GAEd,GAAID,EAAK,CACP,IAAMvB,EAAM,IAAI,WAAWoB,EAAO,OAAO,OAAQG,CAAG,EAAE,QAAQ,CAAC,EAC/DC,EACE,kDACA,OAAO,KAAKJ,EAAO,OAAO,OAAQG,EAAKvB,CAAG,EAAE,SAAS,EACrD,GACJ,CACA,MAAM,IAAIlG,GAAgB0H,EAAS/B,GAAU,MAAM4B,CAAG,EAAGF,EAAK,MAAMG,CAAM,CAAC,CAC7E,CACF,OAASjC,EAAK,CACZpG,EAAK,QAAQ6F,EAAQO,CAAG,CAC1B,CACF,CAEA,SAAW,CACTtG,EAAO,KAAK,KAAO,IAAI,EACvBA,EAAOkH,IAAiB,IAAI,EAE5B,KAAK,OAAO,YAAY,KAAK,GAAG,EAChC,KAAK,IAAM,KAEX/G,GAAO,aAAa,KAAK,OAAO,EAChC,KAAK,QAAU,KACf,KAAK,aAAe,KACpB,KAAK,YAAc,KAEnB,KAAK,OAAS,EAChB,CAEA,SAAUuI,EAAK,CACb,KAAK,WAAaA,EAAI,SAAS,CACjC,CAEA,gBAAkB,CAChB,GAAM,CAAE,OAAA3C,EAAQ,OAAAiC,CAAO,EAAI,KAQ3B,GALIjC,EAAO,WAKP,CADYiC,EAAOhG,EAAM,EAAEgG,EAAOxF,EAAW,CAAC,EAEhD,MAAO,EAEX,CAEA,cAAekG,EAAK,CAClB,IAAMzB,EAAM,KAAK,QAAQ,QAEpBA,EAAM,KAAO,EAChB,KAAK,QAAQ,KAAKyB,CAAG,EAErB,KAAK,QAAQzB,EAAM,CAAC,EAAI,OAAO,OAAO,CAAC,KAAK,QAAQA,EAAM,CAAC,EAAGyB,CAAG,CAAC,EAGpE,KAAK,YAAYA,EAAI,MAAM,CAC7B,CAEA,cAAeA,EAAK,CAClB,IAAIzB,EAAM,KAAK,QAAQ,QAElBA,EAAM,KAAO,GAChB,KAAK,QAAQ,KAAKyB,CAAG,EACrBzB,GAAO,GAEP,KAAK,QAAQA,EAAM,CAAC,EAAI,OAAO,OAAO,CAAC,KAAK,QAAQA,EAAM,CAAC,EAAGyB,CAAG,CAAC,EAGpE,IAAMC,EAAM,KAAK,QAAQ1B,EAAM,CAAC,EAC5B0B,EAAI,SAAW,IAAMA,EAAI,SAAS,EAAE,YAAY,IAAM,aACxD,KAAK,WAAaD,EAAI,SAAS,EACtBC,EAAI,SAAW,IAAMA,EAAI,SAAS,EAAE,YAAY,IAAM,aAC/D,KAAK,YAAcD,EAAI,SAAS,EACvBC,EAAI,SAAW,IAAMA,EAAI,SAAS,EAAE,YAAY,IAAM,mBAC/D,KAAK,eAAiBD,EAAI,SAAS,GAGrC,KAAK,YAAYA,EAAI,MAAM,CAC7B,CAEA,YAAazB,EAAK,CAChB,KAAK,aAAeA,EAChB,KAAK,aAAe,KAAK,gBAC3B/G,EAAK,QAAQ,KAAK,OAAQ,IAAIS,EAAsB,CAExD,CAEA,UAAWiI,EAAM,CACf,GAAM,CAAE,QAAArB,EAAS,OAAAS,EAAQ,OAAAjC,EAAQ,QAAA8C,EAAS,WAAAvB,CAAW,EAAI,KAEzDtH,EAAOuH,CAAO,EAEd,IAAMnB,EAAU4B,EAAOhG,EAAM,EAAEgG,EAAOxF,EAAW,CAAC,EAClDxC,EAAOoG,CAAO,EAEdpG,EAAO,CAAC+F,EAAO,SAAS,EACxB/F,EAAO+F,IAAWiC,EAAOrF,EAAO,CAAC,EACjC3C,EAAO,CAAC,KAAK,MAAM,EACnBA,EAAOoG,EAAQ,SAAWA,EAAQ,SAAW,SAAS,EAEtD,KAAK,WAAa,KAClB,KAAK,WAAa,GAClB,KAAK,gBAAkB,KAEvBpG,EAAO,KAAK,QAAQ,OAAS,IAAM,CAAC,EACpC,KAAK,QAAU,CAAC,EAChB,KAAK,YAAc,EAEnB+F,EAAO,QAAQ6C,CAAI,EAEnB7C,EAAOvE,EAAO,EAAE,QAAQ,EACxBuE,EAAOvE,EAAO,EAAI,KAElBuE,EAAOzE,EAAO,EAAI,KAClByE,EAAOtD,EAAM,EAAI,KACjBsD,EACG,eAAe,QAAS+C,EAAa,EACrC,eAAe,WAAYC,EAAgB,EAC3C,eAAe,MAAOC,EAAW,EACjC,eAAe,QAASC,EAAa,EAExCjB,EAAOrF,EAAO,EAAI,KAClBqF,EAAOhG,EAAM,EAAEgG,EAAOxF,EAAW,GAAG,EAAI,KACxCwF,EAAO,KAAK,aAAcA,EAAO7G,EAAI,EAAG,CAAC6G,CAAM,EAAG,IAAInH,GAAmB,SAAS,CAAC,EAEnF,GAAI,CACFuF,EAAQ,UAAUkB,EAAYuB,EAAS9C,CAAM,CAC/C,OAASO,EAAK,CACZpG,EAAK,QAAQ6F,EAAQO,CAAG,CAC1B,CAEAR,GAAOkC,CAAM,CACf,CAEA,kBAAmBV,EAAYC,EAASC,EAAiB,CACvD,GAAM,CAAE,OAAAQ,EAAQ,OAAAjC,EAAQ,QAAA8C,EAAS,WAAAK,CAAW,EAAI,KAGhD,GAAInD,EAAO,UACT,MAAO,GAGT,IAAMK,EAAU4B,EAAOhG,EAAM,EAAEgG,EAAOxF,EAAW,CAAC,EAGlD,GAAI,CAAC4D,EACH,MAAO,GAMT,GAHApG,EAAO,CAAC,KAAK,OAAO,EACpBA,EAAO,KAAK,WAAa,GAAG,EAExBsH,IAAe,IACjB,OAAApH,EAAK,QAAQ6F,EAAQ,IAAInF,GAAY,eAAgBV,EAAK,cAAc6F,CAAM,CAAC,CAAC,EACzE,GAIT,GAAIwB,GAAW,CAACnB,EAAQ,QACtB,OAAAlG,EAAK,QAAQ6F,EAAQ,IAAInF,GAAY,cAAeV,EAAK,cAAc6F,CAAM,CAAC,CAAC,EACxE,GAYT,GATA/F,EAAO,YAAY,KAAK,YAAa4H,EAAe,EAEpD,KAAK,WAAaN,EAClB,KAAK,gBACHE,GAECpB,EAAQ,SAAW,QAAU,CAACL,EAAO3E,EAAM,GAAK,KAAK,WAAW,YAAY,IAAM,aAGjF,KAAK,YAAc,IAAK,CAC1B,IAAMqD,EAAc2B,EAAQ,aAAe,KACvCA,EAAQ,YACR4B,EAAO/E,EAAY,EACvB,KAAK,WAAWwB,EAAaoD,EAAY,CAC3C,MAAW,KAAK,SAEV,KAAK,QAAQ,SACf,KAAK,QAAQ,QAAQ,EAIzB,GAAIzB,EAAQ,SAAW,UACrB,OAAApG,EAAOgI,EAAOpG,EAAQ,IAAM,CAAC,EAC7B,KAAK,QAAU,GACR,EAGT,GAAI2F,EACF,OAAAvH,EAAOgI,EAAOpG,EAAQ,IAAM,CAAC,EAC7B,KAAK,QAAU,GACR,EAOT,GAJA5B,EAAO,KAAK,QAAQ,OAAS,IAAM,CAAC,EACpC,KAAK,QAAU,CAAC,EAChB,KAAK,YAAc,EAEf,KAAK,iBAAmBgI,EAAOtF,EAAW,EAAG,CAC/C,IAAMkC,EAAmB,KAAK,UAAY1E,EAAK,sBAAsB,KAAK,SAAS,EAAI,KAEvF,GAAI0E,GAAoB,KAAM,CAC5B,IAAMuE,EAAU,KAAK,IACnBvE,EAAmBoD,EAAOjF,EAA0B,EACpDiF,EAAOlF,EAAoB,CAC7B,EACIqG,GAAW,EACbpD,EAAO3E,EAAM,EAAI,GAEjB4G,EAAOpF,EAAsB,EAAIuG,CAErC,MACEnB,EAAOpF,EAAsB,EAAIoF,EAAO3F,EAAwB,CAEpE,MAEE0D,EAAO3E,EAAM,EAAI,GAGnB,IAAIgI,EACJ,GAAI,CACFA,EAAQhD,EAAQ,UAAUkB,EAAYuB,EAAS,KAAK,OAAQK,CAAU,IAAM,EAC9E,OAAS5C,EAAK,CACZ,OAAApG,EAAK,QAAQ6F,EAAQO,CAAG,EACjB,EACT,CAMA,OAJIF,EAAQ,SAAW,QAInBkB,EAAa,IACR,GAGLvB,EAAOrE,EAAS,IAClBqE,EAAOrE,EAAS,EAAI,GACpBoE,GAAOkC,CAAM,GAGRoB,EAAQ1C,GAAU,MAAM,OAAS,EAC1C,CAEA,OAAQgC,EAAK,CACX,GAAM,CAAE,OAAAV,EAAQ,OAAAjC,EAAQ,WAAAuB,EAAY,gBAAA7B,CAAgB,EAAI,KAExD,GAAIM,EAAO,UACT,MAAO,GAGT,IAAMK,EAAU4B,EAAOhG,EAAM,EAAEgG,EAAOxF,EAAW,CAAC,EAalD,GAZAxC,EAAOoG,CAAO,EAEdpG,EAAO,YAAY,KAAK,YAAa6H,EAAY,EAC7C,KAAK,SAEH,KAAK,QAAQ,SACf,KAAK,QAAQ,QAAQ,EAIzB7H,EAAOsH,GAAc,GAAG,EAEpB7B,EAAkB,IAAM,KAAK,UAAYiD,EAAI,OAASjD,EACxD,OAAAvF,EAAK,QAAQ6F,EAAQ,IAAI/E,EAA8B,EAChD,GAGT,KAAK,WAAa0H,EAAI,OAEtB,GAAI,CACF,GAAItC,EAAQ,OAAOsC,CAAG,IAAM,GAC1B,OAAOhC,GAAU,MAAM,MAE3B,OAASJ,EAAK,CACZ,OAAApG,EAAK,QAAQ6F,EAAQO,CAAG,EACjB,EACT,CACF,CAEA,mBAAqB,CACnB,GAAM,CAAE,OAAA0B,EAAQ,OAAAjC,EAAQ,WAAAuB,EAAY,QAAAC,EAAS,QAAAsB,EAAS,cAAAQ,EAAe,UAAAC,EAAW,gBAAA9B,CAAgB,EAAI,KAEpG,GAAIzB,EAAO,YAAc,CAACuB,GAAcE,GACtC,MAAO,GAGT,GAAID,EACF,OAGF,IAAMnB,EAAU4B,EAAOhG,EAAM,EAAEgG,EAAOxF,EAAW,CAAC,EAgBlD,GAfAxC,EAAOoG,CAAO,EAEdpG,EAAOsH,GAAc,GAAG,EAExB,KAAK,WAAa,KAClB,KAAK,WAAa,GAClB,KAAK,UAAY,EACjB,KAAK,cAAgB,GACrB,KAAK,UAAY,GACjB,KAAK,WAAa,GAElBtH,EAAO,KAAK,QAAQ,OAAS,IAAM,CAAC,EACpC,KAAK,QAAU,CAAC,EAChB,KAAK,YAAc,EAEf,EAAAsH,EAAa,KAKjB,IAAIlB,EAAQ,SAAW,QAAUiD,GAAiBC,IAAc,SAASD,EAAe,EAAE,EACxF,OAAAnJ,EAAK,QAAQ6F,EAAQ,IAAIxF,EAAoC,EACtD,GAGT,GAAI,CACF6F,EAAQ,WAAWyC,CAAO,CAC5B,OAASvC,EAAK,CACZE,GAAawB,EAAQ5B,EAASE,CAAG,CACnC,CAIA,GAFA0B,EAAOhG,EAAM,EAAEgG,EAAOxF,EAAW,GAAG,EAAI,KAEpCuD,EAAOhE,EAAQ,EACjB,OAAA/B,EAAO,YAAYgI,EAAOpG,EAAQ,EAAG,CAAC,EAEtC1B,EAAK,QAAQ6F,EAAQ,IAAIlF,GAAmB,OAAO,CAAC,EAC7C6F,GAAU,MAAM,OAClB,GAAKc,EAGL,IAAIzB,EAAO3E,EAAM,GAAK4G,EAAOpG,EAAQ,IAAM,EAKhD,OAAA1B,EAAK,QAAQ6F,EAAQ,IAAIlF,GAAmB,OAAO,CAAC,EAC7C6F,GAAU,MAAM,OACdsB,EAAOtF,EAAW,IAAM,EAIjC,aAAaoD,GAAQkC,CAAM,EAE3BlC,GAAOkC,CAAM,MAfb,QAAA9H,EAAK,QAAQ6F,EAAQ,IAAIlF,GAAmB,OAAO,CAAC,EAC7C6F,GAAU,MAAM,OAgB3B,CACF,EAEA,SAASwB,GAAiBqB,EAAQ,CAChC,GAAM,CAAE,OAAAxD,EAAQ,YAAAyD,EAAa,OAAAxB,CAAO,EAAIuB,EAGpCC,IAAgB5B,IACd,CAAC7B,EAAOhE,EAAQ,GAAKgE,EAAO,mBAAqBiC,EAAOpG,EAAQ,EAAI,KACtE5B,EAAO,CAACuJ,EAAO,OAAQ,4CAA4C,EACnErJ,EAAK,QAAQ6F,EAAQ,IAAIrF,EAAqB,GAEvC8I,IAAgB3B,GACpB0B,EAAO,QACVrJ,EAAK,QAAQ6F,EAAQ,IAAIjF,EAAkB,EAEpC0I,IAAgB1B,KACzB9H,EAAOgI,EAAOpG,EAAQ,IAAM,GAAKoG,EAAOpF,EAAsB,CAAC,EAC/D1C,EAAK,QAAQ6F,EAAQ,IAAIlF,GAAmB,qBAAqB,CAAC,EAEtE,CAEA,SAASkI,IAAoB,CAC3B,GAAM,CAAE,CAACvH,EAAO,EAAG+H,CAAO,EAAI,KAC9BA,EAAO,SAAS,CAClB,CAEA,SAAST,GAAexC,EAAK,CAC3B,GAAM,CAAE,CAAC9E,EAAO,EAAG+H,CAAO,EAAI,KAM9B,GAJAvJ,EAAOsG,EAAI,OAAS,8BAA8B,EAI9CA,EAAI,OAAS,cAAgBiD,EAAO,YAAc,CAACA,EAAO,gBAAiB,CAE7EA,EAAO,kBAAkB,EACzB,MACF,CAEA,KAAK9G,EAAM,EAAI6D,EAEfmD,GAAQ,KAAKnI,EAAO,EAAGgF,CAAG,CAC5B,CAEA,SAASmD,GAASzB,EAAQ1B,EAAK,CAC7B,GACE0B,EAAOpG,EAAQ,IAAM,GACrB0E,EAAI,OAAS,gBACbA,EAAI,OAAS,iBACb,CAIAtG,EAAOgI,EAAOzF,EAAW,IAAMyF,EAAOxF,EAAW,CAAC,EAElD,IAAM+D,EAAWyB,EAAOhG,EAAM,EAAE,OAAOgG,EAAOxF,EAAW,CAAC,EAC1D,QAASkH,EAAI,EAAGA,EAAInD,EAAS,OAAQmD,IAAK,CACxC,IAAMtD,EAAUG,EAASmD,CAAC,EAC1BlD,GAAawB,EAAQ5B,EAASE,CAAG,CACnC,CACAtG,EAAOgI,EAAOlG,EAAK,IAAM,CAAC,CAC5B,CACF,CAEA,SAASkH,IAAe,CACtB,GAAM,CAAE,CAACxH,EAAO,EAAG+H,CAAO,EAAI,KAE9B,GAAIA,EAAO,YAAc,CAACA,EAAO,gBAAiB,CAEhDA,EAAO,kBAAkB,EACzB,MACF,CAEArJ,EAAK,QAAQ,KAAM,IAAIU,GAAY,oBAAqBV,EAAK,cAAc,IAAI,CAAC,CAAC,CACnF,CAEA,SAAS+I,IAAiB,CACxB,GAAM,CAAE,CAAC3H,EAAO,EAAG0G,CAAO,EAAI,KAE1B,CAAC,KAAKvF,EAAM,GAAK,KAAKjB,EAAO,EAAE,YAAc,CAAC,KAAKA,EAAO,EAAE,iBAE9D,KAAKA,EAAO,EAAE,kBAAkB,EAGlC,KAAKA,EAAO,EAAE,QAAQ,EACtB,KAAKA,EAAO,EAAI,KAEhB,IAAM8E,EAAM,KAAK7D,EAAM,GAAK,IAAI7B,GAAY,SAAUV,EAAK,cAAc,IAAI,CAAC,EAI9E,GAFA8H,EAAOrF,EAAO,EAAI,KAEdqF,EAAO,UAAW,CACpBhI,EAAOgI,EAAOnG,EAAQ,IAAM,CAAC,EAG7B,IAAM0E,EAAWyB,EAAOhG,EAAM,EAAE,OAAOgG,EAAOxF,EAAW,CAAC,EAC1D,QAASkH,EAAI,EAAGA,EAAInD,EAAS,OAAQmD,IAAK,CACxC,IAAMtD,EAAUG,EAASmD,CAAC,EAC1BlD,GAAawB,EAAQ5B,EAASE,CAAG,CACnC,CACF,SAAW0B,EAAOpG,EAAQ,EAAI,GAAK0E,EAAI,OAAS,eAAgB,CAE9D,IAAMF,EAAU4B,EAAOhG,EAAM,EAAEgG,EAAOxF,EAAW,CAAC,EAClDwF,EAAOhG,EAAM,EAAEgG,EAAOxF,EAAW,GAAG,EAAI,KAExCgE,GAAawB,EAAQ5B,EAASE,CAAG,CACnC,CAEA0B,EAAOzF,EAAW,EAAIyF,EAAOxF,EAAW,EAExCxC,EAAOgI,EAAOpG,EAAQ,IAAM,CAAC,EAE7BoG,EAAO,KAAK,aAAcA,EAAO7G,EAAI,EAAG,CAAC6G,CAAM,EAAG1B,CAAG,EAErDR,GAAOkC,CAAM,CACf,CAEA,eAAe1C,GAAS0C,EAAQ,CAC9BhI,EAAO,CAACgI,EAAO9F,EAAW,CAAC,EAC3BlC,EAAO,CAACgI,EAAOrF,EAAO,CAAC,EAEvB,GAAI,CAAE,KAAAgH,EAAM,SAAAC,EAAU,SAAAC,EAAU,KAAAC,CAAK,EAAI9B,EAAO7G,EAAI,EAGpD,GAAIyI,EAAS,CAAC,IAAM,IAAK,CACvB,IAAMG,EAAMH,EAAS,QAAQ,GAAG,EAEhC5J,EAAO+J,IAAQ,EAAE,EACjB,IAAMC,EAAKJ,EAAS,OAAO,EAAGG,EAAM,CAAC,EAErC/J,EAAOC,GAAI,KAAK+J,CAAE,CAAC,EACnBJ,EAAWI,CACb,CAEAhC,EAAO9F,EAAW,EAAI,GAElB6B,GAAS,cAAc,gBACzBA,GAAS,cAAc,QAAQ,CAC7B,cAAe,CACb,KAAA4F,EACA,SAAAC,EACA,SAAAC,EACA,KAAAC,EACA,WAAY9B,EAAO3G,EAAW,EAC9B,aAAc2G,EAAOrE,EAAa,CACpC,EACA,UAAWqE,EAAO7E,EAAU,CAC9B,CAAC,EAGH,GAAI,CACF,IAAM4C,EAAS,MAAM,IAAI,QAAQ,CAACM,EAAS4D,IAAW,CACpDjC,EAAO7E,EAAU,EAAE,CACjB,KAAAwG,EACA,SAAAC,EACA,SAAAC,EACA,KAAAC,EACA,WAAY9B,EAAO3G,EAAW,EAC9B,aAAc2G,EAAOrE,EAAa,CACpC,EAAG,CAAC2C,EAAKP,IAAW,CACdO,EACF2D,EAAO3D,CAAG,EAEVD,EAAQN,CAAM,CAElB,CAAC,CACH,CAAC,EAED,GAAIiC,EAAO,UAAW,CACpB9H,EAAK,QAAQ6F,EAAO,GAAG,QAAS,IAAM,CAAC,CAAC,EAAG,IAAI9E,EAAsB,EACrE,MACF,CAEKwG,KACHA,GAAiB,MAAMC,GACvBA,GAAgB,MAGlBM,EAAO9F,EAAW,EAAI,GAEtBlC,EAAO+F,CAAM,EAEbA,EAAO3D,EAAM,EAAI,GACjB2D,EAAOhE,EAAQ,EAAI,GACnBgE,EAAO3E,EAAM,EAAI,GACjB2E,EAAOrE,EAAS,EAAI,GACpBqE,EAAOtD,EAAM,EAAI,KACjBsD,EAAOvE,EAAO,EAAI,IAAIuG,GAAOC,EAAQjC,EAAQ0B,EAAc,EAC3D1B,EAAOzE,EAAO,EAAI0G,EAClBjC,EAAOzC,EAAQ,EAAI,EACnByC,EAAO1C,EAAY,EAAI2E,EAAO3E,EAAY,EAC1C0C,EACG,GAAG,QAAS+C,EAAa,EACzB,GAAG,WAAYC,EAAgB,EAC/B,GAAG,MAAOC,EAAW,EACrB,GAAG,QAASC,EAAa,EAE5BjB,EAAOrF,EAAO,EAAIoD,EAEdhC,GAAS,UAAU,gBACrBA,GAAS,UAAU,QAAQ,CACzB,cAAe,CACb,KAAA4F,EACA,SAAAC,EACA,SAAAC,EACA,KAAAC,EACA,WAAY9B,EAAO3G,EAAW,EAC9B,aAAc2G,EAAOrE,EAAa,CACpC,EACA,UAAWqE,EAAO7E,EAAU,EAC5B,OAAA4C,CACF,CAAC,EAEHiC,EAAO,KAAK,UAAWA,EAAO7G,EAAI,EAAG,CAAC6G,CAAM,CAAC,CAC/C,OAAS1B,EAAK,CACZ,GAAI0B,EAAO,UACT,OAoBF,GAjBAA,EAAO9F,EAAW,EAAI,GAElB6B,GAAS,aAAa,gBACxBA,GAAS,aAAa,QAAQ,CAC5B,cAAe,CACb,KAAA4F,EACA,SAAAC,EACA,SAAAC,EACA,KAAAC,EACA,WAAY9B,EAAO3G,EAAW,EAC9B,aAAc2G,EAAOrE,EAAa,CACpC,EACA,UAAWqE,EAAO7E,EAAU,EAC5B,MAAOmD,CACT,CAAC,EAGCA,EAAI,OAAS,+BAEf,IADAtG,EAAOgI,EAAOpG,EAAQ,IAAM,CAAC,EACtBoG,EAAOnG,EAAQ,EAAI,GAAKmG,EAAOhG,EAAM,EAAEgG,EAAOzF,EAAW,CAAC,EAAE,aAAeyF,EAAO3G,EAAW,GAAG,CACrG,IAAM+E,EAAU4B,EAAOhG,EAAM,EAAEgG,EAAOzF,EAAW,GAAG,EACpDiE,GAAawB,EAAQ5B,EAASE,CAAG,CACnC,MAEAmD,GAAQzB,EAAQ1B,CAAG,EAGrB0B,EAAO,KAAK,kBAAmBA,EAAO7G,EAAI,EAAG,CAAC6G,CAAM,EAAG1B,CAAG,CAC5D,CAEAR,GAAOkC,CAAM,CACf,CAEA,SAASkC,GAAWlC,EAAQ,CAC1BA,EAAO7F,EAAU,EAAI,EACrB6F,EAAO,KAAK,QAASA,EAAO7G,EAAI,EAAG,CAAC6G,CAAM,CAAC,CAC7C,CAEA,SAASlC,GAAQkC,EAAQmC,EAAM,CACzBnC,EAAOrG,EAAS,IAAM,IAI1BqG,EAAOrG,EAAS,EAAI,EAEpByI,GAAQpC,EAAQmC,CAAI,EACpBnC,EAAOrG,EAAS,EAAI,EAEhBqG,EAAOxF,EAAW,EAAI,MACxBwF,EAAOhG,EAAM,EAAE,OAAO,EAAGgG,EAAOxF,EAAW,CAAC,EAC5CwF,EAAOzF,EAAW,GAAKyF,EAAOxF,EAAW,EACzCwF,EAAOxF,EAAW,EAAI,GAE1B,CAEA,SAAS4H,GAASpC,EAAQmC,EAAM,CAC9B,OAAa,CACX,GAAInC,EAAO,UAAW,CACpBhI,EAAOgI,EAAOnG,EAAQ,IAAM,CAAC,EAC7B,MACF,CAEA,GAAImG,EAAOlE,EAAc,GAAK,CAACkE,EAAOlG,EAAK,EAAG,CAC5CkG,EAAOlE,EAAc,EAAE,EACvBkE,EAAOlE,EAAc,EAAI,KACzB,MACF,CAEA,IAAMiC,EAASiC,EAAOrF,EAAO,EAE7B,GAAIoD,GAAU,CAACA,EAAO,WAWpB,GAVIiC,EAAOlG,EAAK,IAAM,EAChB,CAACiE,EAAO3D,EAAM,GAAK2D,EAAO,QAC5BA,EAAO,MAAM,EACbA,EAAO3D,EAAM,EAAI,IAEV2D,EAAO3D,EAAM,GAAK2D,EAAO,MAClCA,EAAO,IAAI,EACXA,EAAO3D,EAAM,EAAI,IAGf4F,EAAOlG,EAAK,IAAM,EAChBiE,EAAOvE,EAAO,EAAE,cAAgBsG,IAClC/B,EAAOvE,EAAO,EAAE,WAAWwG,EAAOpF,EAAsB,EAAGkF,EAAY,UAEhEE,EAAOpG,EAAQ,EAAI,GAAKmE,EAAOvE,EAAO,EAAE,WAAa,KAC1DuE,EAAOvE,EAAO,EAAE,cAAgBoG,GAAiB,CACnD,IAAMxB,EAAU4B,EAAOhG,EAAM,EAAEgG,EAAOxF,EAAW,CAAC,EAC5C6B,EAAiB+B,EAAQ,gBAAkB,KAC7CA,EAAQ,eACR4B,EAAOhF,EAAe,EAC1B+C,EAAOvE,EAAO,EAAE,WAAW6C,EAAgBuD,EAAe,CAC5D,EAIJ,GAAII,EAAOzG,EAAK,EACdyG,EAAO7F,EAAU,EAAI,UACZ6F,EAAO7F,EAAU,IAAM,EAAG,CAC/BgI,GACFnC,EAAO7F,EAAU,EAAI,EACrB,QAAQ,SAAS+H,GAAWlC,CAAM,GAElCkC,GAAUlC,CAAM,EAElB,QACF,CAMA,GAJIA,EAAOnG,EAAQ,IAAM,GAIrBmG,EAAOpG,EAAQ,IAAMoG,EAAOtF,EAAW,GAAK,GAC9C,OAGF,IAAM0D,EAAU4B,EAAOhG,EAAM,EAAEgG,EAAOzF,EAAW,CAAC,EAElD,GAAIyF,EAAO7G,EAAI,EAAE,WAAa,UAAY6G,EAAO3G,EAAW,IAAM+E,EAAQ,WAAY,CACpF,GAAI4B,EAAOpG,EAAQ,EAAI,EACrB,OAKF,GAFAoG,EAAO3G,EAAW,EAAI+E,EAAQ,WAE1BL,GAAUA,EAAO,aAAeK,EAAQ,WAAY,CACtDlG,EAAK,QAAQ6F,EAAQ,IAAIlF,GAAmB,oBAAoB,CAAC,EACjE,MACF,CACF,CAEA,GAAImH,EAAO9F,EAAW,EACpB,OAGF,GAAI,CAAC6D,EAAQ,CACXT,GAAQ0C,CAAM,EACd,MACF,CAoCA,GAlCIjC,EAAO,WAAaA,EAAOhE,EAAQ,GAAKgE,EAAO3E,EAAM,GAAK2E,EAAOrE,EAAS,GAI1EsG,EAAOpG,EAAQ,EAAI,GAAK,CAACwE,EAAQ,YAOjC4B,EAAOpG,EAAQ,EAAI,IAAMwE,EAAQ,SAAWA,EAAQ,SAAW,aAO/DlG,EAAK,SAASkG,EAAQ,IAAI,GAAKlG,EAAK,WAAWkG,EAAQ,IAAI,IAAM,IACnEA,EAAQ,KACL,GAAG,OAAmC,UAAY,CAEjDpG,EAAO,EAAK,CACd,CAAC,EACA,GAAG,QAAS,SAAUsG,EAAK,CAC1BE,GAAawB,EAAQ5B,EAASE,CAAG,CACnC,CAAC,EACA,GAAG,MAAO,UAAY,CACrBpG,EAAK,QAAQ,IAAI,CACnB,CAAC,EAEHkG,EAAQ,KAAO,MAGb4B,EAAOpG,EAAQ,EAAI,IACpB1B,EAAK,SAASkG,EAAQ,IAAI,GAAKlG,EAAK,gBAAgBkG,EAAQ,IAAI,IASjE,OAGE,CAACA,EAAQ,SAAWiE,GAAMrC,EAAQ5B,CAAO,EAC3C4B,EAAOzF,EAAW,IAElByF,EAAOhG,EAAM,EAAE,OAAOgG,EAAOzF,EAAW,EAAG,CAAC,CAEhD,CACF,CAEA,SAAS8H,GAAOrC,EAAQ5B,EAAS,CAC/B,GAAM,CAAE,KAAAkE,EAAM,OAAAC,EAAQ,KAAAC,EAAM,KAAAb,EAAM,QAAApC,EAAS,QAAAsB,EAAS,SAAA4B,EAAU,MAAAC,CAAM,EAAItE,EAWlEuE,EACJJ,IAAW,OACXA,IAAW,QACXA,IAAW,QAGTD,GAAQ,OAAOA,EAAK,MAAS,YAE/BA,EAAK,KAAK,CAAC,EAGb,IAAIjB,EAAgBnJ,EAAK,WAAWoK,CAAI,EAexC,GAbIjB,IAAkB,OACpBA,EAAgBjD,EAAQ,eAGtBiD,IAAkB,GAAK,CAACsB,IAM1BtB,EAAgB,MAGdjD,EAAQ,gBAAkB,MAAQA,EAAQ,gBAAkBiD,EAAe,CAC7E,GAAIrB,EAAO9E,EAAoB,EAC7B,OAAAsD,GAAawB,EAAQ5B,EAAS,IAAI9F,EAAmC,EAC9D,GAGT,QAAQ,YAAY,IAAIA,EAAmC,CAC7D,CAEA,IAAMyF,EAASiC,EAAOrF,EAAO,EAE7B,GAAI,CACFyD,EAAQ,UAAWE,GAAQ,CACrBF,EAAQ,SAAWA,EAAQ,YAI/BI,GAAawB,EAAQ5B,EAASE,GAAO,IAAI7F,EAAqB,EAE9DP,EAAK,QAAQ6F,EAAQ,IAAIlF,GAAmB,SAAS,CAAC,EACxD,CAAC,CACH,OAASyF,EAAK,CACZE,GAAawB,EAAQ5B,EAASE,CAAG,CACnC,CAEA,GAAIF,EAAQ,QACV,MAAO,GAGLmE,IAAW,SAKbxE,EAAO3E,EAAM,EAAI,KAGfmG,GAAWgD,IAAW,aAIxBxE,EAAO3E,EAAM,EAAI,IAGfsJ,GAAS,OACX3E,EAAO3E,EAAM,EAAIsJ,GAGf1C,EAAO3E,EAAY,GAAK0C,EAAOzC,EAAQ,KAAO0E,EAAO3E,EAAY,IACnE0C,EAAO3E,EAAM,EAAI,IAGfqJ,IACF1E,EAAOrE,EAAS,EAAI,IAGtB,IAAIkJ,EAAS,GAAGL,CAAM,IAAIC,CAAI;AAAA,EAE9B,OAAI,OAAOb,GAAS,SAClBiB,GAAU,SAASjB,CAAI;AAAA,EAEvBiB,GAAU5C,EAAO1F,EAAW,EAG1BiF,EACFqD,GAAU;AAAA,WAAmCrD,CAAO;AAAA,EAC3CS,EAAOtF,EAAW,GAAK,CAACqD,EAAO3E,EAAM,EAC9CwJ,GAAU;AAAA,EAEVA,GAAU;AAAA,EAGR/B,IACF+B,GAAU/B,GAGR9E,GAAS,YAAY,gBACvBA,GAAS,YAAY,QAAQ,CAAE,QAAAqC,EAAS,QAASwE,EAAQ,OAAA7E,CAAO,CAAC,EAI9DuE,EAQMpK,EAAK,SAASoK,CAAI,GAC3BtK,EAAOqJ,IAAkBiB,EAAK,WAAY,sCAAsC,EAEhFvE,EAAO,KAAK,EACZA,EAAO,MAAM,GAAG6E,CAAM,mBAAmBvB,CAAa;AAAA;AAAA,EAAY,QAAQ,EAC1EtD,EAAO,MAAMuE,CAAI,EACjBvE,EAAO,OAAO,EACdK,EAAQ,WAAWkE,CAAI,EACvBlE,EAAQ,cAAc,EACjBuE,IACH5E,EAAO3E,EAAM,EAAI,KAEVlB,EAAK,WAAWoK,CAAI,EACzB,OAAOA,EAAK,QAAW,WACzBO,GAAc,CAAE,KAAMP,EAAK,OAAO,EAAG,OAAAtC,EAAQ,QAAA5B,EAAS,OAAAL,EAAQ,cAAAsD,EAAe,OAAAuB,EAAQ,eAAAD,CAAe,CAAC,EAErGG,GAAU,CAAE,KAAAR,EAAM,OAAAtC,EAAQ,QAAA5B,EAAS,OAAAL,EAAQ,cAAAsD,EAAe,OAAAuB,EAAQ,eAAAD,CAAe,CAAC,EAE3EzK,EAAK,SAASoK,CAAI,EAC3BS,GAAY,CAAE,KAAAT,EAAM,OAAAtC,EAAQ,QAAA5B,EAAS,OAAAL,EAAQ,cAAAsD,EAAe,OAAAuB,EAAQ,eAAAD,CAAe,CAAC,EAC3EzK,EAAK,WAAWoK,CAAI,EAC7BO,GAAc,CAAE,KAAAP,EAAM,OAAAtC,EAAQ,QAAA5B,EAAS,OAAAL,EAAQ,cAAAsD,EAAe,OAAAuB,EAAQ,eAAAD,CAAe,CAAC,EAEtF3K,EAAO,EAAK,GA9BRqJ,IAAkB,EACpBtD,EAAO,MAAM,GAAG6E,CAAM;AAAA;AAAA,EAA6B,QAAQ,GAE3D5K,EAAOqJ,IAAkB,KAAM,sCAAsC,EACrEtD,EAAO,MAAM,GAAG6E,CAAM;AAAA,EAAQ,QAAQ,GAExCxE,EAAQ,cAAc,GA2BjB,EACT,CAEA,SAAS2E,GAAa,CAAE,KAAAT,EAAM,OAAAtC,EAAQ,QAAA5B,EAAS,OAAAL,EAAQ,cAAAsD,EAAe,OAAAuB,EAAQ,eAAAD,CAAe,EAAG,CAC9F3K,EAAOqJ,IAAkB,GAAKrB,EAAOpG,EAAQ,IAAM,EAAG,iCAAiC,EAEvF,IAAIoJ,EAAW,GAETC,EAAS,IAAIC,GAAY,CAAE,OAAAnF,EAAQ,QAAAK,EAAS,cAAAiD,EAAe,OAAArB,EAAQ,eAAA2C,EAAgB,OAAAC,CAAO,CAAC,EAE3FO,EAAS,SAAUhD,EAAO,CAC9B,GAAI,CAAA6C,EAIJ,GAAI,CACE,CAACC,EAAO,MAAM9C,CAAK,GAAK,KAAK,OAC/B,KAAK,MAAM,CAEf,OAAS7B,EAAK,CACZpG,EAAK,QAAQ,KAAMoG,CAAG,CACxB,CACF,EACM8E,EAAU,UAAY,CACtBJ,GAIAV,EAAK,QACPA,EAAK,OAAO,CAEhB,EACMe,EAAU,UAAY,CAC1BC,EAAW,IAAI7K,EAAqB,CACtC,EACM6K,EAAa,SAAUhF,EAAK,CAChC,GAAI,CAAA0E,EAkBJ,IAdAA,EAAW,GAEXhL,EAAO+F,EAAO,WAAcA,EAAOhE,EAAQ,GAAKiG,EAAOpG,EAAQ,GAAK,CAAE,EAEtEmE,EACG,IAAI,QAASqF,CAAO,EACpB,IAAI,QAASE,CAAU,EAE1BhB,EACG,eAAe,OAAQa,CAAM,EAC7B,eAAe,MAAOG,CAAU,EAChC,eAAe,QAASA,CAAU,EAClC,eAAe,QAASD,CAAO,EAE9B,CAAC/E,EACH,GAAI,CACF2E,EAAO,IAAI,CACb,OAASM,EAAI,CACXjF,EAAMiF,CACR,CAGFN,EAAO,QAAQ3E,CAAG,EAEdA,IAAQA,EAAI,OAAS,gBAAkBA,EAAI,UAAY,SACzDpG,EAAK,QAAQoK,EAAMhE,CAAG,EAEtBpG,EAAK,QAAQoK,CAAI,EAErB,EAEAA,EACG,GAAG,OAAQa,CAAM,EACjB,GAAG,MAAOG,CAAU,EACpB,GAAG,QAASA,CAAU,EACtB,GAAG,QAASD,CAAO,EAElBf,EAAK,QACPA,EAAK,OAAO,EAGdvE,EACG,GAAG,QAASqF,CAAO,EACnB,GAAG,QAASE,CAAU,CAC3B,CAEA,eAAeR,GAAW,CAAE,KAAAR,EAAM,OAAAtC,EAAQ,QAAA5B,EAAS,OAAAL,EAAQ,cAAAsD,EAAe,OAAAuB,EAAQ,eAAAD,CAAe,EAAG,CAClG3K,EAAOqJ,IAAkBiB,EAAK,KAAM,oCAAoC,EAExE,GAAI,CACF,GAAIjB,GAAiB,MAAQA,IAAkBiB,EAAK,KAClD,MAAM,IAAIhK,GAGZ,IAAMkL,EAAS,OAAO,KAAK,MAAMlB,EAAK,YAAY,CAAC,EAEnDvE,EAAO,KAAK,EACZA,EAAO,MAAM,GAAG6E,CAAM,mBAAmBvB,CAAa;AAAA;AAAA,EAAY,QAAQ,EAC1EtD,EAAO,MAAMyF,CAAM,EACnBzF,EAAO,OAAO,EAEdK,EAAQ,WAAWoF,CAAM,EACzBpF,EAAQ,cAAc,EAEjBuE,IACH5E,EAAO3E,EAAM,EAAI,IAGnB0E,GAAOkC,CAAM,CACf,OAAS1B,EAAK,CACZpG,EAAK,QAAQ6F,EAAQO,CAAG,CAC1B,CACF,CAEA,eAAeuE,GAAe,CAAE,KAAAP,EAAM,OAAAtC,EAAQ,QAAA5B,EAAS,OAAAL,EAAQ,cAAAsD,EAAe,OAAAuB,EAAQ,eAAAD,CAAe,EAAG,CACtG3K,EAAOqJ,IAAkB,GAAKrB,EAAOpG,EAAQ,IAAM,EAAG,mCAAmC,EAEzF,IAAI6E,EAAW,KACf,SAAS2E,GAAW,CAClB,GAAI3E,EAAU,CACZ,IAAMT,EAAKS,EACXA,EAAW,KACXT,EAAG,CACL,CACF,CAEA,IAAMyF,EAAe,IAAM,IAAI,QAAQ,CAACpF,EAAS4D,IAAW,CAC1DjK,EAAOyG,IAAa,IAAI,EAEpBV,EAAOtD,EAAM,EACfwH,EAAOlE,EAAOtD,EAAM,CAAC,EAErBgE,EAAWJ,CAEf,CAAC,EAEDN,EACG,GAAG,QAASqF,CAAO,EACnB,GAAG,QAASA,CAAO,EAEtB,IAAMH,EAAS,IAAIC,GAAY,CAAE,OAAAnF,EAAQ,QAAAK,EAAS,cAAAiD,EAAe,OAAArB,EAAQ,eAAA2C,EAAgB,OAAAC,CAAO,CAAC,EACjG,GAAI,CAEF,cAAiBzC,KAASmC,EAAM,CAC9B,GAAIvE,EAAOtD,EAAM,EACf,MAAMsD,EAAOtD,EAAM,EAGhBwI,EAAO,MAAM9C,CAAK,GACrB,MAAMsD,EAAa,CAEvB,CAEAR,EAAO,IAAI,CACb,OAAS3E,EAAK,CACZ2E,EAAO,QAAQ3E,CAAG,CACpB,QAAE,CACAP,EACG,IAAI,QAASqF,CAAO,EACpB,IAAI,QAASA,CAAO,CACzB,CACF,CAEA,IAAMF,GAAN,KAAkB,CAChB,YAAa,CAAE,OAAAnF,EAAQ,QAAAK,EAAS,cAAAiD,EAAe,OAAArB,EAAQ,eAAA2C,EAAgB,OAAAC,CAAO,EAAG,CAC/E,KAAK,OAAS7E,EACd,KAAK,QAAUK,EACf,KAAK,cAAgBiD,EACrB,KAAK,OAASrB,EACd,KAAK,aAAe,EACpB,KAAK,eAAiB2C,EACtB,KAAK,OAASC,EAEd7E,EAAOhE,EAAQ,EAAI,EACrB,CAEA,MAAOoG,EAAO,CACZ,GAAM,CAAE,OAAApC,EAAQ,QAAAK,EAAS,cAAAiD,EAAe,OAAArB,EAAQ,aAAA0D,EAAc,eAAAf,EAAgB,OAAAC,CAAO,EAAI,KAEzF,GAAI7E,EAAOtD,EAAM,EACf,MAAMsD,EAAOtD,EAAM,EAGrB,GAAIsD,EAAO,UACT,MAAO,GAGT,IAAMkB,EAAM,OAAO,WAAWkB,CAAK,EACnC,GAAI,CAAClB,EACH,MAAO,GAIT,GAAIoC,IAAkB,MAAQqC,EAAezE,EAAMoC,EAAe,CAChE,GAAIrB,EAAO9E,EAAoB,EAC7B,MAAM,IAAI5C,GAGZ,QAAQ,YAAY,IAAIA,EAAmC,CAC7D,CAEAyF,EAAO,KAAK,EAER2F,IAAiB,IACdf,IACH5E,EAAO3E,EAAM,EAAI,IAGfiI,IAAkB,KACpBtD,EAAO,MAAM,GAAG6E,CAAM;AAAA,EAAkC,QAAQ,EAEhE7E,EAAO,MAAM,GAAG6E,CAAM,mBAAmBvB,CAAa;AAAA;AAAA,EAAY,QAAQ,GAI1EA,IAAkB,MACpBtD,EAAO,MAAM;AAAA,EAAOkB,EAAI,SAAS,EAAE,CAAC;AAAA,EAAQ,QAAQ,EAGtD,KAAK,cAAgBA,EAErB,IAAMqB,EAAMvC,EAAO,MAAMoC,CAAK,EAE9B,OAAApC,EAAO,OAAO,EAEdK,EAAQ,WAAW+B,CAAK,EAEnBG,GACCvC,EAAOvE,EAAO,EAAE,SAAWuE,EAAOvE,EAAO,EAAE,cAAgBoG,IAEzD7B,EAAOvE,EAAO,EAAE,QAAQ,SAC1BuE,EAAOvE,EAAO,EAAE,QAAQ,QAAQ,EAK/B8G,CACT,CAEA,KAAO,CACL,GAAM,CAAE,OAAAvC,EAAQ,cAAAsD,EAAe,OAAArB,EAAQ,aAAA0D,EAAc,eAAAf,EAAgB,OAAAC,EAAQ,QAAAxE,CAAQ,EAAI,KAKzF,GAJAA,EAAQ,cAAc,EAEtBL,EAAOhE,EAAQ,EAAI,GAEfgE,EAAOtD,EAAM,EACf,MAAMsD,EAAOtD,EAAM,EAGrB,GAAI,CAAAsD,EAAO,UAmBX,IAfI2F,IAAiB,EACff,EAMF5E,EAAO,MAAM,GAAG6E,CAAM;AAAA;AAAA,EAA6B,QAAQ,EAE3D7E,EAAO,MAAM,GAAG6E,CAAM;AAAA,EAAQ,QAAQ,EAE/BvB,IAAkB,MAC3BtD,EAAO,MAAM;AAAA;AAAA;AAAA,EAAiB,QAAQ,EAGpCsD,IAAkB,MAAQqC,IAAiBrC,EAAe,CAC5D,GAAIrB,EAAO9E,EAAoB,EAC7B,MAAM,IAAI5C,GAEV,QAAQ,YAAY,IAAIA,EAAmC,CAE/D,CAEIyF,EAAOvE,EAAO,EAAE,SAAWuE,EAAOvE,EAAO,EAAE,cAAgBoG,IAEzD7B,EAAOvE,EAAO,EAAE,QAAQ,SAC1BuE,EAAOvE,EAAO,EAAE,QAAQ,QAAQ,EAIpCsE,GAAOkC,CAAM,EACf,CAEA,QAAS1B,EAAK,CACZ,GAAM,CAAE,OAAAP,EAAQ,OAAAiC,CAAO,EAAI,KAE3BjC,EAAOhE,EAAQ,EAAI,GAEfuE,IACFtG,EAAOgI,EAAOpG,EAAQ,GAAK,EAAG,2CAA2C,EACzE1B,EAAK,QAAQ6F,EAAQO,CAAG,EAE5B,CACF,EAEA,SAASE,GAAcwB,EAAQ5B,EAASE,EAAK,CAC3C,GAAI,CACFF,EAAQ,QAAQE,CAAG,EACnBtG,EAAOoG,EAAQ,OAAO,CACxB,OAASE,EAAK,CACZ0B,EAAO,KAAK,QAAS1B,CAAG,CAC1B,CACF,CAEAvG,GAAO,QAAUkE,KCnwDjB,IAAA0H,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cA0DA,IAAMC,GAAN,KAA0B,CACxB,aAAc,CACZ,KAAK,OAAS,EACd,KAAK,IAAM,EACX,KAAK,KAAO,IAAI,MAAM,IAAK,EAC3B,KAAK,KAAO,IACd,CAEA,SAAU,CACR,OAAO,KAAK,MAAQ,KAAK,MAC3B,CAEA,QAAS,CACP,OAAS,KAAK,IAAM,EAAK,QAAW,KAAK,MAC3C,CAEA,KAAKC,EAAM,CACT,KAAK,KAAK,KAAK,GAAG,EAAIA,EACtB,KAAK,IAAO,KAAK,IAAM,EAAK,IAC9B,CAEA,OAAQ,CACN,IAAMC,EAAW,KAAK,KAAK,KAAK,MAAM,EACtC,OAAIA,IAAa,OACR,MACT,KAAK,KAAK,KAAK,MAAM,EAAI,OACzB,KAAK,OAAU,KAAK,OAAS,EAAK,KAC3BA,EACT,CACF,EAEAH,GAAO,QAAU,KAAiB,CAChC,aAAc,CACZ,KAAK,KAAO,KAAK,KAAO,IAAIC,EAC9B,CAEA,SAAU,CACR,OAAO,KAAK,KAAK,QAAQ,CAC3B,CAEA,KAAKC,EAAM,CACL,KAAK,KAAK,OAAO,IAGnB,KAAK,KAAO,KAAK,KAAK,KAAO,IAAID,IAEnC,KAAK,KAAK,KAAKC,CAAI,CACrB,CAEA,OAAQ,CACN,IAAME,EAAO,KAAK,KACZC,EAAOD,EAAK,MAAM,EACxB,OAAIA,EAAK,QAAQ,GAAKA,EAAK,OAAS,OAElC,KAAK,KAAOA,EAAK,MAEZC,CACT,CACF,ICpHA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,IAAM,CAAE,MAAAC,GAAO,WAAAC,GAAY,SAAAC,GAAU,QAAAC,GAAS,SAAAC,GAAU,MAAAC,EAAM,EAAI,KAC5DC,GAAQ,OAAO,MAAM,EAErBC,GAAN,KAAgB,CACd,YAAaC,EAAM,CACjB,KAAKF,EAAK,EAAIE,CAChB,CAEA,IAAI,WAAa,CACf,OAAO,KAAKF,EAAK,EAAEL,EAAU,CAC/B,CAEA,IAAI,MAAQ,CACV,OAAO,KAAKK,EAAK,EAAEN,EAAK,CAC1B,CAEA,IAAI,SAAW,CACb,OAAO,KAAKM,EAAK,EAAEJ,EAAQ,CAC7B,CAEA,IAAI,QAAU,CACZ,OAAO,KAAKI,EAAK,EAAEH,EAAO,CAC5B,CAEA,IAAI,SAAW,CACb,OAAO,KAAKG,EAAK,EAAEF,EAAQ,CAC7B,CAEA,IAAI,MAAQ,CACV,OAAO,KAAKE,EAAK,EAAED,EAAK,CAC1B,CACF,EAEAN,GAAO,QAAUQ,KCjCjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,IAAMC,GAAiB,KACjBC,GAAa,KACb,CAAE,WAAAC,GAAY,MAAAC,GAAO,SAAAC,GAAU,SAAAC,GAAU,QAAAC,GAAS,MAAAC,GAAO,MAAAC,GAAO,KAAAC,GAAM,OAAAC,GAAQ,SAAAC,GAAU,UAAAC,EAAU,EAAI,KACtGC,GAAY,KAEZC,GAAW,OAAO,SAAS,EAC3BC,GAAa,OAAO,WAAW,EAC/BC,GAAS,OAAO,OAAO,EACvBC,GAAiB,OAAO,gBAAgB,EACxCC,GAAW,OAAO,SAAS,EAC3BC,GAAa,OAAO,WAAW,EAC/BC,GAAgB,OAAO,cAAc,EACrCC,GAAqB,OAAO,mBAAmB,EAC/CC,GAAiB,OAAO,gBAAgB,EACxCC,GAAa,OAAO,YAAY,EAChCC,GAAgB,OAAO,eAAe,EACtCC,GAAS,OAAO,OAAO,EAEvBC,GAAN,cAAuB1B,EAAe,CACpC,aAAe,CACb,MAAM,EAEN,KAAKgB,EAAM,EAAI,IAAIf,GACnB,KAAKa,EAAQ,EAAI,CAAC,EAClB,KAAKR,EAAO,EAAI,EAEhB,IAAMqB,EAAO,KAEb,KAAKT,EAAQ,EAAI,SAAkBU,EAAQC,EAAS,CAClD,IAAMC,EAAQH,EAAKX,EAAM,EAErBe,EAAY,GAEhB,KAAO,CAACA,GAAW,CACjB,IAAMC,EAAOF,EAAM,MAAM,EACzB,GAAI,CAACE,EACH,MAEFL,EAAKrB,EAAO,IACZyB,EAAY,CAAC,KAAK,SAASC,EAAK,KAAMA,EAAK,OAAO,CACpD,CAEA,KAAKjB,EAAU,EAAIgB,EAEf,CAAC,KAAKhB,EAAU,GAAKY,EAAKZ,EAAU,IACtCY,EAAKZ,EAAU,EAAI,GACnBY,EAAK,KAAK,QAASC,EAAQ,CAACD,EAAM,GAAGE,CAAO,CAAC,GAG3CF,EAAKV,EAAc,GAAKa,EAAM,QAAQ,GACxC,QACG,IAAIH,EAAKb,EAAQ,EAAE,IAAImB,GAAKA,EAAE,MAAM,CAAC,CAAC,EACtC,KAAKN,EAAKV,EAAc,CAAC,CAEhC,EAEA,KAAKE,EAAU,EAAI,CAACS,EAAQC,IAAY,CACtCF,EAAK,KAAK,UAAWC,EAAQ,CAACD,EAAM,GAAGE,CAAO,CAAC,CACjD,EAEA,KAAKT,EAAa,EAAI,CAACQ,EAAQC,EAASK,IAAQ,CAC9CP,EAAK,KAAK,aAAcC,EAAQ,CAACD,EAAM,GAAGE,CAAO,EAAGK,CAAG,CACzD,EAEA,KAAKb,EAAkB,EAAI,CAACO,EAAQC,EAASK,IAAQ,CACnDP,EAAK,KAAK,kBAAmBC,EAAQ,CAACD,EAAM,GAAGE,CAAO,EAAGK,CAAG,CAC9D,EAEA,KAAKT,EAAM,EAAI,IAAIZ,GAAU,IAAI,CACnC,CAEA,IAAKN,EAAK,GAAK,CACb,OAAO,KAAKQ,EAAU,CACxB,CAEA,IAAKb,EAAU,GAAK,CAClB,OAAO,KAAKY,EAAQ,EAAE,OAAOqB,GAAUA,EAAOjC,EAAU,CAAC,EAAE,MAC7D,CAEA,IAAKM,EAAK,GAAK,CACb,OAAO,KAAKM,EAAQ,EAAE,OAAOqB,GAAUA,EAAOjC,EAAU,GAAK,CAACiC,EAAOpB,EAAU,CAAC,EAAE,MACpF,CAEA,IAAKV,EAAQ,GAAK,CAChB,IAAI+B,EAAM,KAAK9B,EAAO,EACtB,OAAW,CAAE,CAACD,EAAQ,EAAGgC,CAAQ,IAAK,KAAKvB,EAAQ,EACjDsB,GAAOC,EAET,OAAOD,CACT,CAEA,IAAKhC,EAAQ,GAAK,CAChB,IAAIgC,EAAM,EACV,OAAW,CAAE,CAAChC,EAAQ,EAAGkC,CAAQ,IAAK,KAAKxB,EAAQ,EACjDsB,GAAOE,EAET,OAAOF,CACT,CAEA,IAAKjC,EAAK,GAAK,CACb,IAAIiC,EAAM,KAAK9B,EAAO,EACtB,OAAW,CAAE,CAACH,EAAK,EAAGoC,CAAK,IAAK,KAAKzB,EAAQ,EAC3CsB,GAAOG,EAET,OAAOH,CACT,CAEA,IAAI,OAAS,CACX,OAAO,KAAKX,EAAM,CACpB,CAEA,MAAOf,EAAM,GAAK,CAChB,OAAI,KAAKM,EAAM,EAAE,QAAQ,EAChB,QAAQ,IAAI,KAAKF,EAAQ,EAAE,IAAImB,GAAKA,EAAE,MAAM,CAAC,CAAC,EAE9C,IAAI,QAASO,GAAY,CAC9B,KAAKvB,EAAc,EAAIuB,CACzB,CAAC,CAEL,CAEA,MAAO7B,EAAQ,EAAGuB,EAAK,CACrB,OAAa,CACX,IAAMF,EAAO,KAAKhB,EAAM,EAAE,MAAM,EAChC,GAAI,CAACgB,EACH,MAEFA,EAAK,QAAQ,QAAQE,CAAG,CAC1B,CAEA,OAAO,QAAQ,IAAI,KAAKpB,EAAQ,EAAE,IAAImB,GAAKA,EAAE,QAAQC,CAAG,CAAC,CAAC,CAC5D,CAEA,CAACtB,EAAS,EAAG6B,EAAMC,EAAS,CAC1B,IAAMC,EAAa,KAAKrB,EAAc,EAAE,EAExC,OAAKqB,EAIOA,EAAW,SAASF,EAAMC,CAAO,IAC3CC,EAAW5B,EAAU,EAAI,GACzB,KAAKA,EAAU,EAAI,CAAC,KAAKO,EAAc,EAAE,IALzC,KAAKP,EAAU,EAAI,GACnB,KAAKC,EAAM,EAAE,KAAK,CAAE,KAAAyB,EAAM,QAAAC,CAAQ,CAAC,EACnC,KAAKpC,EAAO,KAMP,CAAC,KAAKS,EAAU,CACzB,CAEA,CAACQ,EAAU,EAAGY,EAAQ,CACpB,OAAAA,EACG,GAAG,QAAS,KAAKjB,EAAQ,CAAC,EAC1B,GAAG,UAAW,KAAKC,EAAU,CAAC,EAC9B,GAAG,aAAc,KAAKC,EAAa,CAAC,EACpC,GAAG,kBAAmB,KAAKC,EAAkB,CAAC,EAEjD,KAAKP,EAAQ,EAAE,KAAKqB,CAAM,EAEtB,KAAKpB,EAAU,GACjB,QAAQ,SAAS,IAAM,CACjB,KAAKA,EAAU,GACjB,KAAKG,EAAQ,EAAEiB,EAAO1B,EAAI,EAAG,CAAC,KAAM0B,CAAM,CAAC,CAE/C,CAAC,EAGI,IACT,CAEA,CAACX,EAAa,EAAGW,EAAQ,CACvBA,EAAO,MAAM,IAAM,CACjB,IAAMS,EAAM,KAAK9B,EAAQ,EAAE,QAAQqB,CAAM,EACrCS,IAAQ,IACV,KAAK9B,EAAQ,EAAE,OAAO8B,EAAK,CAAC,CAEhC,CAAC,EAED,KAAK7B,EAAU,EAAI,KAAKD,EAAQ,EAAE,KAAK6B,GACrC,CAACA,EAAW5B,EAAU,GACtB4B,EAAW,SAAW,IACtBA,EAAW,YAAc,EAC1B,CACH,CACF,EAEA5C,GAAO,QAAU,CACf,SAAA2B,GACA,SAAAZ,GACA,WAAAC,GACA,WAAAQ,GACA,cAAAC,GACA,eAAAF,EACF,ICjMA,IAAAuB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CACJ,SAAAC,GACA,SAAAC,GACA,WAAAC,GACA,WAAAC,GACA,eAAAC,EACF,EAAI,KACEC,GAAS,KACT,CACJ,qBAAAC,EACF,EAAI,IACEC,GAAO,IACP,CAAE,KAAAC,GAAM,cAAAC,EAAc,EAAI,KAC1BC,GAAiB,KAEjBC,GAAW,OAAO,SAAS,EAC3BC,GAAe,OAAO,aAAa,EACnCC,GAAW,OAAO,SAAS,EAEjC,SAASC,GAAgBC,EAAQC,EAAM,CACrC,OAAO,IAAIX,GAAOU,EAAQC,CAAI,CAChC,CAEA,IAAMC,GAAN,cAAmBjB,EAAS,CAC1B,YAAae,EAAQ,CACnB,YAAAG,EACA,QAAAC,EAAUL,GACV,QAAAM,EACA,eAAAC,EACA,IAAAC,EACA,kBAAAC,EACA,WAAAC,EACA,iBAAAC,EACA,+BAAAC,EACA,GAAGC,CACL,EAAI,CAAC,EAAG,CAGN,GAFA,MAAM,EAEFT,GAAe,OAAS,CAAC,OAAO,SAASA,CAAW,GAAKA,EAAc,GACzE,MAAM,IAAIZ,GAAqB,qBAAqB,EAGtD,GAAI,OAAOa,GAAY,WACrB,MAAM,IAAIb,GAAqB,6BAA6B,EAG9D,GAAIc,GAAW,MAAQ,OAAOA,GAAY,YAAc,OAAOA,GAAY,SACzE,MAAM,IAAId,GAAqB,yCAAyC,EAGtE,OAAOc,GAAY,aACrBA,EAAUV,GAAe,CACvB,GAAGY,EACH,kBAAAC,EACA,WAAAC,EACA,QAASH,GAAyB,IAClC,GAAId,GAAK,yBAA2BkB,EAAmB,CAAE,iBAAAA,EAAkB,+BAAAC,CAA+B,EAAI,OAC9G,GAAGN,CACL,CAAC,GAGH,KAAKX,EAAa,EAAIkB,EAAQ,cAAgBA,EAAQ,aAAa,MAAQ,MAAM,QAAQA,EAAQ,aAAa,IAAI,EAC9GA,EAAQ,aAAa,KACrB,CAAC,EACL,KAAKf,EAAY,EAAIM,GAAe,KACpC,KAAKV,EAAI,EAAID,GAAK,YAAYQ,CAAM,EACpC,KAAKJ,EAAQ,EAAI,CAAE,GAAGJ,GAAK,UAAUoB,CAAO,EAAG,QAAAP,CAAQ,EACvD,KAAKT,EAAQ,EAAE,aAAegB,EAAQ,aAClC,CAAE,GAAGA,EAAQ,YAAa,EAC1B,OACJ,KAAKd,EAAQ,EAAIM,CACnB,CAEA,CAACf,EAAc,GAAK,CAClB,IAAIwB,EAAa,KAAK3B,EAAQ,EAAE,KAAK2B,GAAc,CAACA,EAAW1B,EAAU,CAAC,EAE1E,OAAI0B,KAIA,CAAC,KAAKhB,EAAY,GAAK,KAAKX,EAAQ,EAAE,OAAS,KAAKW,EAAY,KAClEgB,EAAa,KAAKf,EAAQ,EAAE,KAAKL,EAAI,EAAG,KAAKG,EAAQ,CAAC,EACtD,KAAKR,EAAU,EAAEyB,CAAU,GAGtBA,EACT,CACF,EAEA7B,GAAO,QAAUkB,KC3FjB,IAAAY,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CACJ,iCAAAC,GACA,qBAAAC,EACF,EAAI,IACE,CACJ,SAAAC,GACA,SAAAC,GACA,WAAAC,GACA,WAAAC,GACA,cAAAC,GACA,eAAAC,EACF,EAAI,KACEC,GAAO,KACP,CAAE,KAAAC,GAAM,cAAAC,EAAc,EAAI,KAC1B,CAAE,YAAAC,EAAY,EAAI,IAClBC,GAAW,OAAO,SAAS,EAE3BC,GAAW,OAAO,SAAS,EAC3BC,GAAyB,OAAO,wBAAwB,EACxDC,GAAiB,OAAO,gBAAgB,EACxCC,GAAS,OAAO,QAAQ,EACxBC,GAAU,OAAO,SAAS,EAC1BC,GAAsB,OAAO,qBAAqB,EAClDC,GAAgB,OAAO,eAAe,EAE5C,SAASC,GAA0BC,EAAGC,EAAG,CACvC,OAAIA,IAAM,EAAUD,EACbD,GAAyBE,EAAGD,EAAIC,CAAC,CAC1C,CAEA,SAASC,GAAgBC,EAAQC,EAAM,CACrC,OAAO,IAAIjB,GAAKgB,EAAQC,CAAI,CAC9B,CAEA,IAAMC,GAAN,cAA2BxB,EAAS,CAClC,YAAayB,EAAY,CAAC,EAAG,CAAE,QAAAC,EAAUL,GAAgB,GAAGE,CAAK,EAAI,CAAC,EAAG,CAcvE,GAbA,MAAM,EAEN,KAAKZ,EAAQ,EAAIY,EACjB,KAAKT,EAAM,EAAI,GACf,KAAKD,EAAc,EAAI,EAEvB,KAAKG,EAAmB,EAAI,KAAKL,EAAQ,EAAE,oBAAsB,IACjE,KAAKM,EAAa,EAAI,KAAKN,EAAQ,EAAE,cAAgB,GAEhD,MAAM,QAAQc,CAAS,IAC1BA,EAAY,CAACA,CAAS,GAGpB,OAAOC,GAAY,WACrB,MAAM,IAAI3B,GAAqB,6BAA6B,EAG9D,KAAKS,EAAa,EAAIe,EAAK,cAAgBA,EAAK,aAAa,cAAgB,MAAM,QAAQA,EAAK,aAAa,YAAY,EACrHA,EAAK,aAAa,aAClB,CAAC,EACL,KAAKb,EAAQ,EAAIgB,EAEjB,QAAWC,KAAYF,EACrB,KAAK,YAAYE,CAAQ,EAE3B,KAAK,yBAAyB,CAChC,CAEA,YAAaA,EAAU,CACrB,IAAMC,EAAiBnB,GAAYkB,CAAQ,EAAE,OAE7C,GAAI,KAAK1B,EAAQ,EAAE,KAAM4B,GACvBA,EAAKtB,EAAI,EAAE,SAAWqB,GACtBC,EAAK,SAAW,IAChBA,EAAK,YAAc,EACpB,EACC,OAAO,KAET,IAAMA,EAAO,KAAKnB,EAAQ,EAAEkB,EAAgB,OAAO,OAAO,CAAC,EAAG,KAAKjB,EAAQ,CAAC,CAAC,EAE7E,KAAKR,EAAU,EAAE0B,CAAI,EACrBA,EAAK,GAAG,UAAW,IAAM,CACvBA,EAAKd,EAAO,EAAI,KAAK,IAAI,KAAKC,EAAmB,EAAGa,EAAKd,EAAO,EAAI,KAAKE,EAAa,CAAC,CACzF,CAAC,EAEDY,EAAK,GAAG,kBAAmB,IAAM,CAC/BA,EAAKd,EAAO,EAAI,KAAK,IAAI,EAAGc,EAAKd,EAAO,EAAI,KAAKE,EAAa,CAAC,EAC/D,KAAK,yBAAyB,CAChC,CAAC,EAEDY,EAAK,GAAG,aAAc,IAAIC,IAAS,CACjC,IAAMC,EAAMD,EAAK,CAAC,EACdC,GAAOA,EAAI,OAAS,mBAEtBF,EAAKd,EAAO,EAAI,KAAK,IAAI,EAAGc,EAAKd,EAAO,EAAI,KAAKE,EAAa,CAAC,EAC/D,KAAK,yBAAyB,EAElC,CAAC,EAED,QAAWe,KAAU,KAAK/B,EAAQ,EAChC+B,EAAOjB,EAAO,EAAI,KAAKC,EAAmB,EAG5C,YAAK,yBAAyB,EAEvB,IACT,CAEA,0BAA4B,CAC1B,KAAKJ,EAAsB,EAAI,KAAKX,EAAQ,EAAE,IAAIgC,GAAKA,EAAElB,EAAO,CAAC,EAAE,OAAOG,GAA0B,CAAC,CACvG,CAEA,eAAgBS,EAAU,CACxB,IAAMC,EAAiBnB,GAAYkB,CAAQ,EAAE,OAEvCE,EAAO,KAAK5B,EAAQ,EAAE,KAAM4B,GAChCA,EAAKtB,EAAI,EAAE,SAAWqB,GACtBC,EAAK,SAAW,IAChBA,EAAK,YAAc,EACpB,EAED,OAAIA,GACF,KAAKzB,EAAa,EAAEyB,CAAI,EAGnB,IACT,CAEA,IAAI,WAAa,CACf,OAAO,KAAK5B,EAAQ,EACjB,OAAOiC,GAAcA,EAAW,SAAW,IAAQA,EAAW,YAAc,EAAI,EAChF,IAAKD,GAAMA,EAAE1B,EAAI,EAAE,MAAM,CAC9B,CAEA,CAACF,EAAc,GAAK,CAIlB,GAAI,KAAKJ,EAAQ,EAAE,SAAW,EAC5B,MAAM,IAAIH,GAeZ,GANI,CANe,KAAKG,EAAQ,EAAE,KAAKiC,GACrC,CAACA,EAAWhC,EAAU,GACtBgC,EAAW,SAAW,IACtBA,EAAW,YAAc,EAC1B,GAMsB,KAAKjC,EAAQ,EAAE,IAAI4B,GAAQA,EAAK3B,EAAU,CAAC,EAAE,OAAO,CAACiB,EAAGC,IAAMD,GAAKC,EAAG,EAAI,EAG/F,OAGF,IAAIe,EAAU,EAEVC,EAAiB,KAAKnC,EAAQ,EAAE,UAAU4B,GAAQ,CAACA,EAAK3B,EAAU,CAAC,EAEvE,KAAOiC,IAAY,KAAKlC,EAAQ,EAAE,QAAQ,CACxC,KAAKa,EAAM,GAAK,KAAKA,EAAM,EAAI,GAAK,KAAKb,EAAQ,EAAE,OACnD,IAAM4B,EAAO,KAAK5B,EAAQ,EAAE,KAAKa,EAAM,CAAC,EAgBxC,GAbIe,EAAKd,EAAO,EAAI,KAAKd,EAAQ,EAAEmC,CAAc,EAAErB,EAAO,GAAK,CAACc,EAAK3B,EAAU,IAC7EkC,EAAiB,KAAKtB,EAAM,GAI1B,KAAKA,EAAM,IAAM,IAEnB,KAAKD,EAAc,EAAI,KAAKA,EAAc,EAAI,KAAKD,EAAsB,EAErE,KAAKC,EAAc,GAAK,IAC1B,KAAKA,EAAc,EAAI,KAAKG,EAAmB,IAG/Ca,EAAKd,EAAO,GAAK,KAAKF,EAAc,GAAM,CAACgB,EAAK3B,EAAU,EAC5D,OAAO2B,CAEX,CAEA,YAAKhB,EAAc,EAAI,KAAKZ,EAAQ,EAAEmC,CAAc,EAAErB,EAAO,EAC7D,KAAKD,EAAM,EAAIsB,EACR,KAAKnC,EAAQ,EAAEmC,CAAc,CACtC,CACF,EAEAvC,GAAO,QAAU2B,KC7LjB,IAAAa,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAIA,GAAM,CAAE,WAAAC,GAAY,MAAAC,EAAM,EAAI,KAExBC,GAAN,KAAoB,CAClB,YAAaC,EAAO,CAClB,KAAK,MAAQA,CACf,CAEA,OAAS,CACP,OAAO,KAAK,MAAMH,EAAU,IAAM,GAAK,KAAK,MAAMC,EAAK,IAAM,EACzD,OACA,KAAK,KACX,CACF,EAEMG,GAAN,KAAsB,CACpB,YAAaC,EAAW,CACtB,KAAK,UAAYA,CACnB,CAEA,SAAUC,EAAYC,EAAK,CACzBD,EAAW,GAAG,aAAc,IAAM,CAC5BA,EAAWN,EAAU,IAAM,GAAKM,EAAWL,EAAK,IAAM,GACxD,KAAK,UAAUM,CAAG,CAEtB,CAAC,CACH,CACF,EAEAR,GAAO,QAAU,UAAY,CAC3B,MAAO,CACL,QAAS,OAAO,SAAWG,GAC3B,qBAAsB,OAAO,sBAAwBE,EACvD,CACF,ICrCA,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,qBAAAC,EAAqB,EAAI,IAC3B,CAAE,SAAAC,GAAU,SAAAC,GAAU,OAAAC,GAAQ,SAAAC,GAAU,UAAAC,GAAW,cAAAC,EAAc,EAAI,KACrEC,GAAiB,KACjBC,GAAO,KACPC,GAAS,KACTC,GAAO,IACPC,GAA4B,KAC5B,CAAE,QAAAC,GAAS,qBAAAC,EAAqB,EAAI,KAAuC,EAE3EC,GAAa,OAAO,WAAW,EAC/BC,GAAgB,OAAO,cAAc,EACrCC,GAAqB,OAAO,mBAAmB,EAC/CC,GAAmB,OAAO,iBAAiB,EAC3CC,GAAW,OAAO,SAAS,EAC3BC,GAAW,OAAO,SAAS,EAC3BC,GAAa,OAAO,WAAW,EAC/BC,GAAW,OAAO,SAAS,EAEjC,SAASC,GAAgBC,EAAQC,EAAM,CACrC,OAAOA,GAAQA,EAAK,cAAgB,EAChC,IAAIf,GAAOc,EAAQC,CAAI,EACvB,IAAIhB,GAAKe,EAAQC,CAAI,CAC3B,CAEA,IAAMC,GAAN,cAAoBlB,EAAe,CACjC,YAAa,CAAE,QAAAmB,EAAUJ,GAAgB,gBAAAK,EAAkB,EAAG,QAAAC,EAAS,GAAGC,CAAQ,EAAI,CAAC,EAAG,CAGxF,GAFA,MAAM,EAEF,OAAOH,GAAY,WACrB,MAAM,IAAI1B,GAAqB,6BAA6B,EAG9D,GAAI4B,GAAW,MAAQ,OAAOA,GAAY,YAAc,OAAOA,GAAY,SACzE,MAAM,IAAI5B,GAAqB,yCAAyC,EAG1E,GAAI,CAAC,OAAO,UAAU2B,CAAe,GAAKA,EAAkB,EAC1D,MAAM,IAAI3B,GAAqB,2CAA2C,EAGxE4B,GAAW,OAAOA,GAAY,aAChCA,EAAU,CAAE,GAAGA,CAAQ,GAGzB,KAAKtB,EAAa,EAAIuB,EAAQ,cAAgBA,EAAQ,aAAa,OAAS,MAAM,QAAQA,EAAQ,aAAa,KAAK,EAChHA,EAAQ,aAAa,MACrB,CAAClB,GAA0B,CAAE,gBAAAgB,CAAgB,CAAC,CAAC,EAEnD,KAAKN,EAAQ,EAAI,CAAE,GAAGX,GAAK,UAAUmB,CAAO,EAAG,QAAAD,CAAQ,EACvD,KAAKP,EAAQ,EAAE,aAAeQ,EAAQ,aAClC,CAAE,GAAGA,EAAQ,YAAa,EAC1B,OACJ,KAAKZ,EAAgB,EAAIU,EACzB,KAAKR,EAAQ,EAAIO,EACjB,KAAKzB,EAAQ,EAAI,IAAI,IACrB,KAAKmB,EAAU,EAAI,IAAIP,GAAuEiB,GAAO,CACnG,IAAMC,EAAM,KAAK9B,EAAQ,EAAE,IAAI6B,CAAG,EAC9BC,IAAQ,QAAaA,EAAI,MAAM,IAAM,QACvC,KAAK9B,EAAQ,EAAE,OAAO6B,CAAG,CAE7B,CAAC,EAED,IAAME,EAAQ,KAEd,KAAKd,EAAQ,EAAI,CAACK,EAAQU,IAAY,CACpCD,EAAM,KAAK,QAAST,EAAQ,CAACS,EAAO,GAAGC,CAAO,CAAC,CACjD,EAEA,KAAKnB,EAAU,EAAI,CAACS,EAAQU,IAAY,CACtCD,EAAM,KAAK,UAAWT,EAAQ,CAACS,EAAO,GAAGC,CAAO,CAAC,CACnD,EAEA,KAAKlB,EAAa,EAAI,CAACQ,EAAQU,EAASC,IAAQ,CAC9CF,EAAM,KAAK,aAAcT,EAAQ,CAACS,EAAO,GAAGC,CAAO,EAAGC,CAAG,CAC3D,EAEA,KAAKlB,EAAkB,EAAI,CAACO,EAAQU,EAASC,IAAQ,CACnDF,EAAM,KAAK,kBAAmBT,EAAQ,CAACS,EAAO,GAAGC,CAAO,EAAGC,CAAG,CAChE,CACF,CAEA,IAAKhC,EAAQ,GAAK,CAChB,IAAIiC,EAAM,EACV,QAAWJ,KAAO,KAAK9B,EAAQ,EAAE,OAAO,EAAG,CACzC,IAAMmC,EAASL,EAAI,MAAM,EAErBK,IACFD,GAAOC,EAAOlC,EAAQ,EAE1B,CACA,OAAOiC,CACT,CAEA,CAAC9B,EAAS,EAAGmB,EAAMa,EAAS,CAC1B,IAAIP,EACJ,GAAIN,EAAK,SAAW,OAAOA,EAAK,QAAW,UAAYA,EAAK,kBAAkB,KAC5EM,EAAM,OAAON,EAAK,MAAM,MAExB,OAAM,IAAIxB,GAAqB,gDAAgD,EAGjF,IAAM+B,EAAM,KAAK9B,EAAQ,EAAE,IAAI6B,CAAG,EAE9BQ,EAAaP,EAAMA,EAAI,MAAM,EAAI,KACrC,OAAKO,IACHA,EAAa,KAAKnB,EAAQ,EAAEK,EAAK,OAAQ,KAAKH,EAAQ,CAAC,EACpD,GAAG,QAAS,KAAKH,EAAQ,CAAC,EAC1B,GAAG,UAAW,KAAKJ,EAAU,CAAC,EAC9B,GAAG,aAAc,KAAKC,EAAa,CAAC,EACpC,GAAG,kBAAmB,KAAKC,EAAkB,CAAC,EAEjD,KAAKf,EAAQ,EAAE,IAAI6B,EAAK,IAAIlB,GAAQ0B,CAAU,CAAC,EAC/C,KAAKlB,EAAU,EAAE,SAASkB,EAAYR,CAAG,GAGpCQ,EAAW,SAASd,EAAMa,CAAO,CAC1C,CAEA,MAAOlC,EAAM,GAAK,CAChB,IAAMoC,EAAgB,CAAC,EACvB,QAAWR,KAAO,KAAK9B,EAAQ,EAAE,OAAO,EAAG,CACzC,IAAMmC,EAASL,EAAI,MAAM,EAErBK,GACFG,EAAc,KAAKH,EAAO,MAAM,CAAC,CAErC,CAEA,MAAM,QAAQ,IAAIG,CAAa,CACjC,CAEA,MAAOnC,EAAQ,EAAG8B,EAAK,CACrB,IAAMM,EAAkB,CAAC,EACzB,QAAWT,KAAO,KAAK9B,EAAQ,EAAE,OAAO,EAAG,CACzC,IAAMmC,EAASL,EAAI,MAAM,EAErBK,GACFI,EAAgB,KAAKJ,EAAO,QAAQF,CAAG,CAAC,CAE5C,CAEA,MAAM,QAAQ,IAAIM,CAAe,CACnC,CACF,EAEAzC,GAAO,QAAU0B,KCnJjB,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAIA,IAAMC,GAAS,QAAQ,QAAQ,EACzB,CAAE,SAAAC,EAAS,EAAI,QAAQ,QAAQ,EAC/B,CAAE,oBAAAC,GAAqB,kBAAAC,GAAmB,qBAAAC,EAAqB,EAAI,IACnEC,GAAO,IACP,CAAE,mBAAAC,GAAoB,YAAAC,EAAY,EAAI,IAExCC,GAEEC,GAAW,OAAO,UAAU,EAC5BC,GAAW,OAAO,UAAU,EAC5BC,GAAQ,OAAO,OAAO,EACtBC,GAAS,OAAO,OAAO,EACvBC,GAAe,OAAO,cAAc,EAE1Cd,GAAO,QAAU,cAA2BE,EAAS,CACnD,YAAa,CACX,OAAAa,EACA,MAAAC,EACA,YAAAC,EAAc,GACd,cAAAC,EAAgB,GAAK,IACvB,EAAG,CACD,MAAM,CACJ,YAAa,GACb,KAAMH,EACN,cAAAG,CACF,CAAC,EAED,KAAK,eAAe,YAAc,GAElC,KAAKL,EAAM,EAAIG,EACf,KAAKN,EAAQ,EAAI,KACjB,KAAKE,EAAK,EAAI,KACd,KAAKE,EAAY,EAAIG,EAMrB,KAAKN,EAAQ,EAAI,EACnB,CAEA,QAASQ,EAAK,CACZ,OAAI,KAAK,UAEA,MAGL,CAACA,GAAO,CAAC,KAAK,eAAe,aAC/BA,EAAM,IAAIhB,IAGRgB,GACF,KAAKN,EAAM,EAAE,EAGR,MAAM,QAAQM,CAAG,EAC1B,CAEA,KAAMC,KAAOC,EAAM,CACjB,OAAID,IAAO,OAET,KAAK,eAAe,YAAc,GACzBA,IAAO,UAEhB,KAAK,eAAe,aAAe,IAE9B,MAAM,KAAKA,EAAI,GAAGC,CAAI,CAC/B,CAEA,GAAID,KAAOC,EAAM,CACf,OAAID,IAAO,QAAUA,IAAO,cAC1B,KAAKT,EAAQ,EAAI,IAEZ,MAAM,GAAGS,EAAI,GAAGC,CAAI,CAC7B,CAEA,YAAaD,KAAOC,EAAM,CACxB,OAAO,KAAK,GAAGD,EAAI,GAAGC,CAAI,CAC5B,CAEA,IAAKD,KAAOC,EAAM,CAChB,IAAMC,EAAM,MAAM,IAAIF,EAAI,GAAGC,CAAI,EACjC,OAAID,IAAO,QAAUA,IAAO,cAC1B,KAAKT,EAAQ,EACX,KAAK,cAAc,MAAM,EAAI,GAC7B,KAAK,cAAc,UAAU,EAAI,GAG9BW,CACT,CAEA,eAAgBF,KAAOC,EAAM,CAC3B,OAAO,KAAK,IAAID,EAAI,GAAGC,CAAI,CAC7B,CAEA,KAAME,EAAO,CACX,OAAI,KAAKb,EAAQ,GAAKa,IAAU,MAAQ,KAAK,iBAAmB,GAC9DC,GAAY,KAAKd,EAAQ,EAAGa,CAAK,EAC1B,KAAKZ,EAAQ,EAAI,MAAM,KAAKY,CAAK,EAAI,IAEvC,MAAM,KAAKA,CAAK,CACzB,CAGA,MAAM,MAAQ,CACZ,OAAOE,GAAQ,KAAM,MAAM,CAC7B,CAGA,MAAM,MAAQ,CACZ,OAAOA,GAAQ,KAAM,MAAM,CAC7B,CAGA,MAAM,MAAQ,CACZ,OAAOA,GAAQ,KAAM,MAAM,CAC7B,CAGA,MAAM,aAAe,CACnB,OAAOA,GAAQ,KAAM,aAAa,CACpC,CAGA,MAAM,UAAY,CAEhB,MAAM,IAAIrB,EACZ,CAGA,IAAI,UAAY,CACd,OAAOE,GAAK,YAAY,IAAI,CAC9B,CAGA,IAAI,MAAQ,CACV,OAAK,KAAKM,EAAK,IACb,KAAKA,EAAK,EAAIL,GAAmB,IAAI,EACjC,KAAKG,EAAQ,IAEf,KAAKE,EAAK,EAAE,UAAU,EACtBX,GAAO,KAAKW,EAAK,EAAE,MAAM,IAGtB,KAAKA,EAAK,CACnB,CAEA,MAAM,KAAMc,EAAM,CAChB,IAAIC,EAAQD,GAAQ,OAAO,SAASA,EAAK,KAAK,EAAIA,EAAK,MAAQ,OACzDE,EAASF,GAAQA,EAAK,OACtBG,EAAU,IAAM,CACpB,KAAK,QAAQ,CACf,EACIC,EACJ,GAAIF,EAAQ,CACV,GAAI,OAAOA,GAAW,UAAY,EAAE,YAAaA,GAC/C,MAAM,IAAIvB,GAAqB,+BAA+B,EAEhEC,GAAK,eAAesB,CAAM,EAC1BE,EAAwBxB,GAAK,iBAAiBsB,EAAQC,CAAO,CAC/D,CACA,GAAI,CACF,cAAiBN,KAAS,KAGxB,GAFAjB,GAAK,eAAesB,CAAM,EAC1BD,GAAS,OAAO,WAAWJ,CAAK,EAC5BI,EAAQ,EACV,MAGN,MAAQ,CACNrB,GAAK,eAAesB,CAAM,CAC5B,QAAE,CACI,OAAOE,GAA0B,WACnCA,EAAsB,EACbA,GACTA,EAAsB,OAAO,OAAO,EAAE,CAE1C,CACF,CACF,EAGA,SAASC,GAAUC,EAAM,CAEvB,OAAQA,EAAKpB,EAAK,GAAKoB,EAAKpB,EAAK,EAAE,SAAW,IAASoB,EAAKtB,EAAQ,CACtE,CAGA,SAASuB,GAAYD,EAAM,CACzB,OAAO1B,GAAK,YAAY0B,CAAI,GAAKD,GAASC,CAAI,CAChD,CAEA,eAAeP,GAASS,EAAQC,EAAM,CACpC,GAAIF,GAAWC,CAAM,EACnB,MAAM,IAAI,UAAU,UAAU,EAGhC,OAAAjC,GAAO,CAACiC,EAAOxB,EAAQ,CAAC,EAEjB,IAAI,QAAQ,CAAC0B,EAASC,IAAW,CACtCH,EAAOxB,EAAQ,EAAI,CACjB,KAAAyB,EACA,OAAAD,EACA,QAAAE,EACA,OAAAC,EACA,OAAQ,EACR,KAAM,CAAC,CACT,EAEAH,EACG,GAAG,QAAS,SAAUf,EAAK,CAC1BmB,GAAc,KAAK5B,EAAQ,EAAGS,CAAG,CACnC,CAAC,EACA,GAAG,QAAS,UAAY,CACnB,KAAKT,EAAQ,EAAE,OAAS,MAC1B4B,GAAc,KAAK5B,EAAQ,EAAG,IAAIP,EAAqB,CAE3D,CAAC,EAEH,QAAQ,SAASoC,GAAcL,EAAOxB,EAAQ,CAAC,CACjD,CAAC,CACH,CAEA,SAAS6B,GAAcd,EAAS,CAC9B,GAAIA,EAAQ,OAAS,KACnB,OAGF,GAAM,CAAE,eAAgBe,CAAM,EAAIf,EAAQ,OAE1C,QAAWF,KAASiB,EAAM,OACxBhB,GAAYC,EAASF,CAAK,EAa5B,IAVIiB,EAAM,WACRC,GAAW,KAAK/B,EAAQ,CAAC,EAEzBe,EAAQ,OAAO,GAAG,MAAO,UAAY,CACnCgB,GAAW,KAAK/B,EAAQ,CAAC,CAC3B,CAAC,EAGHe,EAAQ,OAAO,OAAO,EAEfA,EAAQ,OAAO,KAAK,GAAK,MAAM,CAGxC,CAEA,SAASgB,GAAYhB,EAAS,CAC5B,GAAM,CAAE,KAAAU,EAAM,KAAAO,EAAM,QAAAN,EAAS,OAAAF,EAAQ,OAAAS,CAAO,EAAIlB,EAEhD,GAAI,CACF,GAAIU,IAAS,OACXC,EAAQ5B,GAAY,OAAO,OAAOkC,CAAI,CAAC,CAAC,UAC/BP,IAAS,OAClBC,EAAQ,KAAK,MAAM,OAAO,OAAOM,CAAI,CAAC,CAAC,UAC9BP,IAAS,cAAe,CACjC,IAAMS,EAAM,IAAI,WAAWD,CAAM,EAE7BE,EAAM,EACV,QAAWC,KAAOJ,EAChBE,EAAI,IAAIE,EAAKD,CAAG,EAChBA,GAAOC,EAAI,WAGbV,EAAQQ,CAAG,CACb,MAAWT,IAAS,SACb1B,KACHA,GAAO,QAAQ,QAAQ,EAAE,MAE3B2B,EAAQ,IAAI3B,GAAKiC,EAAM,CAAE,KAAMR,EAAOpB,EAAY,CAAE,CAAC,CAAC,GAGxDwB,GAAcb,CAAO,CACvB,OAASN,EAAK,CACZe,EAAO,QAAQf,CAAG,CACpB,CACF,CAEA,SAASK,GAAaC,EAASF,EAAO,CACpCE,EAAQ,QAAUF,EAAM,OACxBE,EAAQ,KAAK,KAAKF,CAAK,CACzB,CAEA,SAASe,GAAeb,EAASN,EAAK,CAChCM,EAAQ,OAAS,OAIjBN,EACFM,EAAQ,OAAON,CAAG,EAElBM,EAAQ,QAAQ,EAGlBA,EAAQ,KAAO,KACfA,EAAQ,OAAS,KACjBA,EAAQ,QAAU,KAClBA,EAAQ,OAAS,KACjBA,EAAQ,OAAS,EACjBA,EAAQ,KAAO,KACjB,IClTA,IAAAsB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAS,QAAQ,QAAQ,EACzB,CACJ,wBAAAC,EACF,EAAI,IACE,CAAE,YAAAC,EAAY,EAAI,IAExB,eAAeC,GAA6B,CAAE,SAAAC,EAAU,KAAAC,EAAM,YAAAC,EAAa,WAAAC,EAAY,cAAAC,EAAe,QAAAC,CAAQ,EAAG,CAC/GT,GAAOK,CAAI,EAEX,IAAIK,EAAS,CAAC,EACVC,EAAQ,EAEZ,cAAiBC,KAASP,EAGxB,GAFAK,EAAO,KAAKE,CAAK,EACjBD,GAASC,EAAM,OACXD,EAAQ,IAAM,KAAM,CACtBD,EAAS,KACT,KACF,CAGF,GAAIH,IAAe,KAAO,CAACD,GAAe,CAACI,EAAQ,CACjD,QAAQ,SAASN,EAAU,IAAIH,GAAwB,wBAAwBM,CAAU,GAAGC,EAAgB,KAAKA,CAAa,GAAK,EAAE,GAAID,EAAYE,CAAO,CAAC,EAC7J,MACF,CAEA,GAAI,CACF,GAAIH,EAAY,WAAW,kBAAkB,EAAG,CAC9C,IAAMO,EAAU,KAAK,MAAMX,GAAY,OAAO,OAAOQ,CAAM,CAAC,CAAC,EAC7D,QAAQ,SAASN,EAAU,IAAIH,GAAwB,wBAAwBM,CAAU,GAAGC,EAAgB,KAAKA,CAAa,GAAK,EAAE,GAAID,EAAYE,EAASI,CAAO,CAAC,EACtK,MACF,CAEA,GAAIP,EAAY,WAAW,OAAO,EAAG,CACnC,IAAMO,EAAUX,GAAY,OAAO,OAAOQ,CAAM,CAAC,EACjD,QAAQ,SAASN,EAAU,IAAIH,GAAwB,wBAAwBM,CAAU,GAAGC,EAAgB,KAAKA,CAAa,GAAK,EAAE,GAAID,EAAYE,EAASI,CAAO,CAAC,EACtK,MACF,CACF,MAAc,CAEd,CAEA,QAAQ,SAAST,EAAU,IAAIH,GAAwB,wBAAwBM,CAAU,GAAGC,EAAgB,KAAKA,CAAa,GAAK,EAAE,GAAID,EAAYE,CAAO,CAAC,CAC/J,CAEAV,GAAO,QAAU,CAAE,4BAAAI,EAA4B,IC7C/C,IAAAW,GAAAC,EAAA,CAAAC,GAAAC,KAAA,IAAM,CAAE,iBAAAC,EAAiB,EAAI,IACvB,CAAE,oBAAAC,EAAoB,EAAI,IAE1BC,GAAY,OAAO,WAAW,EAC9BC,GAAU,OAAO,SAAS,EAEhC,SAASC,GAAOC,EAAM,CAChBA,EAAK,MACPA,EAAK,MAAM,EAEXA,EAAK,QAAQ,IAAIJ,EAAqB,CAE1C,CAEA,SAASK,GAAWD,EAAME,EAAQ,CAIhC,GAHAF,EAAKF,EAAO,EAAI,KAChBE,EAAKH,EAAS,EAAI,KAEd,EAACK,EAIL,IAAIA,EAAO,QAAS,CAClBH,GAAMC,CAAI,EACV,MACF,CAEAA,EAAKF,EAAO,EAAII,EAChBF,EAAKH,EAAS,EAAI,IAAM,CACtBE,GAAMC,CAAI,CACZ,EAEAL,GAAiBK,EAAKF,EAAO,EAAGE,EAAKH,EAAS,CAAC,EACjD,CAEA,SAASM,GAAcH,EAAM,CACtBA,EAAKF,EAAO,IAIb,wBAAyBE,EAAKF,EAAO,EACvCE,EAAKF,EAAO,EAAE,oBAAoB,QAASE,EAAKH,EAAS,CAAC,EAE1DG,EAAKF,EAAO,EAAE,eAAe,QAASE,EAAKH,EAAS,CAAC,EAGvDG,EAAKF,EAAO,EAAI,KAChBE,EAAKH,EAAS,EAAI,KACpB,CAEAH,GAAO,QAAU,CACf,UAAAO,GACA,aAAAE,EACF,ICrDA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,IAAMC,GAAW,KACX,CACJ,qBAAAC,GACA,oBAAAC,EACF,EAAI,IACEC,GAAO,IACP,CAAE,4BAAAC,EAA4B,EAAI,KAClC,CAAE,cAAAC,EAAc,EAAI,QAAQ,aAAa,EACzC,CAAE,UAAAC,GAAW,aAAAC,EAAa,EAAI,KAE9BC,GAAN,cAA6BH,EAAc,CACzC,YAAaI,EAAMC,EAAU,CAC3B,GAAI,CAACD,GAAQ,OAAOA,GAAS,SAC3B,MAAM,IAAIR,GAAqB,cAAc,EAG/C,GAAM,CAAE,OAAAU,EAAQ,OAAAC,EAAQ,OAAAC,EAAQ,KAAAC,EAAM,OAAAC,EAAQ,gBAAAC,EAAiB,aAAAC,EAAc,cAAAC,CAAc,EAAIT,EAE/F,GAAI,CACF,GAAI,OAAOC,GAAa,WACtB,MAAM,IAAIT,GAAqB,kBAAkB,EAGnD,GAAIiB,IAAkB,OAAOA,GAAkB,UAAYA,EAAgB,GACzE,MAAM,IAAIjB,GAAqB,uBAAuB,EAGxD,GAAIU,GAAU,OAAOA,EAAO,IAAO,YAAc,OAAOA,EAAO,kBAAqB,WAClF,MAAM,IAAIV,GAAqB,+CAA+C,EAGhF,GAAIW,IAAW,UACb,MAAM,IAAIX,GAAqB,gBAAgB,EAGjD,GAAIc,GAAU,OAAOA,GAAW,WAC9B,MAAM,IAAId,GAAqB,yBAAyB,EAG1D,MAAM,gBAAgB,CACxB,OAASkB,EAAK,CACZ,MAAIhB,GAAK,SAASW,CAAI,GACpBX,GAAK,QAAQW,EAAK,GAAG,QAASX,GAAK,GAAG,EAAGgB,CAAG,EAExCA,CACR,CAEA,KAAK,gBAAkBH,GAAmB,KAC1C,KAAK,OAASH,GAAU,KACxB,KAAK,SAAWH,EAChB,KAAK,IAAM,KACX,KAAK,MAAQ,KACb,KAAK,KAAOI,EACZ,KAAK,SAAW,CAAC,EACjB,KAAK,QAAU,KACf,KAAK,OAASC,GAAU,KACxB,KAAK,aAAeE,EACpB,KAAK,cAAgBC,EAEjBf,GAAK,SAASW,CAAI,GACpBA,EAAK,GAAG,QAAUK,GAAQ,CACxB,KAAK,QAAQA,CAAG,CAClB,CAAC,EAGHb,GAAU,KAAMK,CAAM,CACxB,CAEA,UAAWS,EAAOC,EAAS,CACzB,GAAI,CAAC,KAAK,SACR,MAAM,IAAInB,GAGZ,KAAK,MAAQkB,EACb,KAAK,QAAUC,CACjB,CAEA,UAAWC,EAAYC,EAAYC,EAAQC,EAAe,CACxD,GAAM,CAAE,SAAAf,EAAU,OAAAG,EAAQ,MAAAO,EAAO,QAAAC,EAAS,gBAAAL,EAAiB,cAAAE,CAAc,EAAI,KAEvEQ,EAAUV,IAAoB,MAAQb,GAAK,gBAAgBoB,CAAU,EAAIpB,GAAK,aAAaoB,CAAU,EAE3G,GAAID,EAAa,IAAK,CAChB,KAAK,QACP,KAAK,OAAO,CAAE,WAAAA,EAAY,QAAAI,CAAQ,CAAC,EAErC,MACF,CAGA,IAAMC,GADgBX,IAAoB,MAAQb,GAAK,aAAaoB,CAAU,EAAIG,GAChD,cAAc,EAC1CZ,EAAO,IAAId,GAAS,CAAE,OAAAwB,EAAQ,MAAAJ,EAAO,YAAAO,EAAa,cAAAT,CAAc,CAAC,EAEvE,KAAK,SAAW,KAChB,KAAK,IAAMJ,EAEPJ,IAAa,OACX,KAAK,cAAgBY,GAAc,IACrC,KAAK,gBAAgBlB,GAA6B,KAChD,CAAE,SAAAM,EAAU,KAAAI,EAAM,YAAAa,EAAa,WAAAL,EAAY,cAAAG,EAAe,QAAAC,CAAQ,CACpE,EAEA,KAAK,gBAAgBhB,EAAU,KAAM,KAAM,CACzC,WAAAY,EACA,QAAAI,EACA,SAAU,KAAK,SACf,OAAAb,EACA,KAAAC,EACA,QAAAO,CACF,CAAC,EAGP,CAEA,OAAQO,EAAO,CACb,GAAM,CAAE,IAAAC,CAAI,EAAI,KAChB,OAAOA,EAAI,KAAKD,CAAK,CACvB,CAEA,WAAYE,EAAU,CACpB,GAAM,CAAE,IAAAD,CAAI,EAAI,KAEhBtB,GAAa,IAAI,EAEjBJ,GAAK,aAAa2B,EAAU,KAAK,QAAQ,EAEzCD,EAAI,KAAK,IAAI,CACf,CAEA,QAASV,EAAK,CACZ,GAAM,CAAE,IAAAU,EAAK,SAAAnB,EAAU,KAAAI,EAAM,OAAAD,CAAO,EAAI,KAExCN,GAAa,IAAI,EAEbG,IAEF,KAAK,SAAW,KAChB,eAAe,IAAM,CACnB,KAAK,gBAAgBA,EAAU,KAAMS,EAAK,CAAE,OAAAN,CAAO,CAAC,CACtD,CAAC,GAGCgB,IACF,KAAK,IAAM,KAEX,eAAe,IAAM,CACnB1B,GAAK,QAAQ0B,EAAKV,CAAG,CACvB,CAAC,GAGCL,IACF,KAAK,KAAO,KACZX,GAAK,QAAQW,EAAMK,CAAG,EAE1B,CACF,EAEA,SAASY,GAAStB,EAAMC,EAAU,CAChC,GAAIA,IAAa,OACf,OAAO,IAAI,QAAQ,CAACsB,EAASC,IAAW,CACtCF,GAAQ,KAAK,KAAMtB,EAAM,CAACU,EAAKe,IACtBf,EAAMc,EAAOd,CAAG,EAAIa,EAAQE,CAAI,CACxC,CACH,CAAC,EAGH,GAAI,CACF,KAAK,SAASzB,EAAM,IAAID,GAAeC,EAAMC,CAAQ,CAAC,CACxD,OAASS,EAAK,CACZ,GAAI,OAAOT,GAAa,WACtB,MAAMS,EAER,IAAMN,EAASJ,GAAQA,EAAK,OAC5B,eAAe,IAAMC,EAASS,EAAK,CAAE,OAAAN,CAAO,CAAC,CAAC,CAChD,CACF,CAEAd,GAAO,QAAUgC,KCnLjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,SAAAC,GAAU,YAAAC,EAAY,EAAI,QAAQ,QAAQ,EAC5C,CACJ,qBAAAC,GACA,wBAAAC,GACA,oBAAAC,EACF,EAAI,IACEC,GAAO,IACP,CAAE,4BAAAC,EAA4B,EAAI,KAClC,CAAE,cAAAC,EAAc,EAAI,QAAQ,aAAa,EACzC,CAAE,UAAAC,GAAW,aAAAC,EAAa,EAAI,KAE9BC,GAAN,cAA4BH,EAAc,CACxC,YAAaI,EAAMC,EAASC,EAAU,CACpC,GAAI,CAACF,GAAQ,OAAOA,GAAS,SAC3B,MAAM,IAAIT,GAAqB,cAAc,EAG/C,GAAM,CAAE,OAAAY,EAAQ,OAAAC,EAAQ,OAAAC,EAAQ,KAAAC,EAAM,OAAAC,EAAQ,gBAAAC,EAAiB,aAAAC,CAAa,EAAIT,EAEhF,GAAI,CACF,GAAI,OAAOE,GAAa,WACtB,MAAM,IAAIX,GAAqB,kBAAkB,EAGnD,GAAI,OAAOU,GAAY,WACrB,MAAM,IAAIV,GAAqB,iBAAiB,EAGlD,GAAIY,GAAU,OAAOA,EAAO,IAAO,YAAc,OAAOA,EAAO,kBAAqB,WAClF,MAAM,IAAIZ,GAAqB,+CAA+C,EAGhF,GAAIa,IAAW,UACb,MAAM,IAAIb,GAAqB,gBAAgB,EAGjD,GAAIgB,GAAU,OAAOA,GAAW,WAC9B,MAAM,IAAIhB,GAAqB,yBAAyB,EAG1D,MAAM,eAAe,CACvB,OAASmB,EAAK,CACZ,MAAIhB,GAAK,SAASY,CAAI,GACpBZ,GAAK,QAAQY,EAAK,GAAG,QAASZ,GAAK,GAAG,EAAGgB,CAAG,EAExCA,CACR,CAEA,KAAK,gBAAkBF,GAAmB,KAC1C,KAAK,OAASH,GAAU,KACxB,KAAK,QAAUJ,EACf,KAAK,SAAWC,EAChB,KAAK,IAAM,KACX,KAAK,MAAQ,KACb,KAAK,QAAU,KACf,KAAK,SAAW,KAChB,KAAK,KAAOI,EACZ,KAAK,OAASC,GAAU,KACxB,KAAK,aAAeE,GAAgB,GAEhCf,GAAK,SAASY,CAAI,GACpBA,EAAK,GAAG,QAAUI,GAAQ,CACxB,KAAK,QAAQA,CAAG,CAClB,CAAC,EAGHb,GAAU,KAAMM,CAAM,CACxB,CAEA,UAAWQ,EAAOC,EAAS,CACzB,GAAI,CAAC,KAAK,SACR,MAAM,IAAInB,GAGZ,KAAK,MAAQkB,EACb,KAAK,QAAUC,CACjB,CAEA,UAAWC,EAAYC,EAAYC,EAAQC,EAAe,CACxD,GAAM,CAAE,QAAAf,EAAS,OAAAI,EAAQ,QAAAO,EAAS,SAAAV,EAAU,gBAAAM,CAAgB,EAAI,KAE1DS,EAAUT,IAAoB,MAAQd,GAAK,gBAAgBoB,CAAU,EAAIpB,GAAK,aAAaoB,CAAU,EAE3G,GAAID,EAAa,IAAK,CAChB,KAAK,QACP,KAAK,OAAO,CAAE,WAAAA,EAAY,QAAAI,CAAQ,CAAC,EAErC,MACF,CAEA,KAAK,QAAU,KAEf,IAAIC,EAEJ,GAAI,KAAK,cAAgBL,GAAc,IAAK,CAE1C,IAAMM,GADgBX,IAAoB,MAAQd,GAAK,aAAaoB,CAAU,EAAIG,GAChD,cAAc,EAChDC,EAAM,IAAI5B,GAEV,KAAK,SAAW,KAChB,KAAK,gBAAgBK,GAA6B,KAChD,CAAE,SAAAO,EAAU,KAAMgB,EAAK,YAAAC,EAAa,WAAAN,EAAY,cAAAG,EAAe,QAAAC,CAAQ,CACzE,CACF,KAAO,CAQL,GAPAC,EAAM,KAAK,gBAAgBjB,EAAS,KAAM,CACxC,WAAAY,EACA,QAAAI,EACA,OAAAZ,EACA,QAAAO,CACF,CAAC,EAGC,CAACM,GACD,OAAOA,EAAI,OAAU,YACrB,OAAOA,EAAI,KAAQ,YACnB,OAAOA,EAAI,IAAO,WAElB,MAAM,IAAI1B,GAAwB,mBAAmB,EAIvDH,GAAS6B,EAAK,CAAE,SAAU,EAAM,EAAIR,GAAQ,CAC1C,GAAM,CAAE,SAAAR,EAAU,IAAAgB,EAAK,OAAAb,EAAQ,SAAAe,EAAU,MAAAT,CAAM,EAAI,KAEnD,KAAK,IAAM,MACPD,GAAO,CAACQ,EAAI,WACdxB,GAAK,QAAQwB,EAAKR,CAAG,EAGvB,KAAK,SAAW,KAChB,KAAK,gBAAgBR,EAAU,KAAMQ,GAAO,KAAM,CAAE,OAAAL,EAAQ,SAAAe,CAAS,CAAC,EAElEV,GACFC,EAAM,CAEV,CAAC,CACH,CAEA,OAAAO,EAAI,GAAG,QAASH,CAAM,EAEtB,KAAK,IAAMG,GAEOA,EAAI,oBAAsB,OACxCA,EAAI,kBACJA,EAAI,gBAAkBA,EAAI,eAAe,aAExB,EACvB,CAEA,OAAQG,EAAO,CACb,GAAM,CAAE,IAAAH,CAAI,EAAI,KAEhB,OAAOA,EAAI,MAAMG,CAAK,CACxB,CAEA,WAAYD,EAAU,CACpB,GAAM,CAAE,IAAAF,CAAI,EAAI,KAEhBpB,GAAa,IAAI,EAEjB,KAAK,SAAWJ,GAAK,aAAa0B,CAAQ,EAE1CF,EAAI,IAAI,CACV,CAEA,QAASR,EAAK,CACZ,GAAM,CAAE,IAAAQ,EAAK,SAAAhB,EAAU,OAAAG,EAAQ,KAAAC,CAAK,EAAI,KAExCR,GAAa,IAAI,EAEjB,KAAK,QAAU,KAEXoB,GACF,KAAK,IAAM,KACXxB,GAAK,QAAQwB,EAAKR,CAAG,GACZR,IACT,KAAK,SAAW,KAChB,eAAe,IAAM,CACnB,KAAK,gBAAgBA,EAAU,KAAMQ,EAAK,CAAE,OAAAL,CAAO,CAAC,CACtD,CAAC,GAGCC,IACF,KAAK,KAAO,KACZZ,GAAK,QAAQY,EAAMI,CAAG,EAE1B,CACF,EAEA,SAASY,GAAQtB,EAAMC,EAASC,EAAU,CACxC,GAAIA,IAAa,OACf,OAAO,IAAI,QAAQ,CAACqB,EAASC,IAAW,CACtCF,GAAO,KAAK,KAAMtB,EAAMC,EAAS,CAACS,EAAKe,IAC9Bf,EAAMc,EAAOd,CAAG,EAAIa,EAAQE,CAAI,CACxC,CACH,CAAC,EAGH,GAAI,CACF,KAAK,SAASzB,EAAM,IAAID,GAAcC,EAAMC,EAASC,CAAQ,CAAC,CAChE,OAASQ,EAAK,CACZ,GAAI,OAAOR,GAAa,WACtB,MAAMQ,EAER,IAAML,EAASL,GAAQA,EAAK,OAC5B,eAAe,IAAME,EAASQ,EAAK,CAAE,OAAAL,CAAO,CAAC,CAAC,CAChD,CACF,CAEAjB,GAAO,QAAUkC,KCnNjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CACJ,SAAAC,GACA,OAAAC,GACA,YAAAC,EACF,EAAI,QAAQ,QAAQ,EACd,CACJ,qBAAAC,GACA,wBAAAC,GACA,oBAAAC,EACF,EAAI,IACEC,GAAO,IACP,CAAE,cAAAC,EAAc,EAAI,QAAQ,aAAa,EACzC,CAAE,UAAAC,GAAW,aAAAC,EAAa,EAAI,KAC9BC,GAAS,QAAQ,QAAQ,EAEzBC,GAAU,OAAO,QAAQ,EAEzBC,GAAN,cAA8BZ,EAAS,CACrC,aAAe,CACb,MAAM,CAAE,YAAa,EAAK,CAAC,EAE3B,KAAKW,EAAO,EAAI,IAClB,CAEA,OAAS,CACP,GAAM,CAAE,CAACA,EAAO,EAAGE,CAAO,EAAI,KAE1BA,IACF,KAAKF,EAAO,EAAI,KAChBE,EAAO,EAEX,CAEA,SAAUC,EAAKC,EAAU,CACvB,KAAK,MAAM,EAEXA,EAASD,CAAG,CACd,CACF,EAEME,GAAN,cAA+BhB,EAAS,CACtC,YAAaa,EAAQ,CACnB,MAAM,CAAE,YAAa,EAAK,CAAC,EAC3B,KAAKF,EAAO,EAAIE,CAClB,CAEA,OAAS,CACP,KAAKF,EAAO,EAAE,CAChB,CAEA,SAAUG,EAAKC,EAAU,CACnB,CAACD,GAAO,CAAC,KAAK,eAAe,aAC/BA,EAAM,IAAIT,IAGZU,EAASD,CAAG,CACd,CACF,EAEMG,GAAN,cAA8BV,EAAc,CAC1C,YAAaW,EAAMC,EAAS,CAC1B,GAAI,CAACD,GAAQ,OAAOA,GAAS,SAC3B,MAAM,IAAIf,GAAqB,cAAc,EAG/C,GAAI,OAAOgB,GAAY,WACrB,MAAM,IAAIhB,GAAqB,iBAAiB,EAGlD,GAAM,CAAE,OAAAiB,EAAQ,OAAAC,EAAQ,OAAAC,EAAQ,OAAAC,EAAQ,gBAAAC,CAAgB,EAAIN,EAE5D,GAAIE,GAAU,OAAOA,EAAO,IAAO,YAAc,OAAOA,EAAO,kBAAqB,WAClF,MAAM,IAAIjB,GAAqB,+CAA+C,EAGhF,GAAIkB,IAAW,UACb,MAAM,IAAIlB,GAAqB,gBAAgB,EAGjD,GAAIoB,GAAU,OAAOA,GAAW,WAC9B,MAAM,IAAIpB,GAAqB,yBAAyB,EAG1D,MAAM,iBAAiB,EAEvB,KAAK,OAASmB,GAAU,KACxB,KAAK,gBAAkBE,GAAmB,KAC1C,KAAK,QAAUL,EACf,KAAK,MAAQ,KACb,KAAK,QAAU,KACf,KAAK,OAASI,GAAU,KAExB,KAAK,IAAM,IAAIX,GAAgB,EAAE,GAAG,QAASN,GAAK,GAAG,EAErD,KAAK,IAAM,IAAIL,GAAO,CACpB,mBAAoBiB,EAAK,WACzB,YAAa,GACb,KAAM,IAAM,CACV,GAAM,CAAE,KAAAO,CAAK,EAAI,KAEbA,GAAQA,EAAK,QACfA,EAAK,OAAO,CAEhB,EACA,MAAO,CAACC,EAAOC,EAAUZ,IAAa,CACpC,GAAM,CAAE,IAAAa,CAAI,EAAI,KAEZA,EAAI,KAAKF,EAAOC,CAAQ,GAAKC,EAAI,eAAe,UAClDb,EAAS,EAETa,EAAIjB,EAAO,EAAII,CAEnB,EACA,QAAS,CAACD,EAAKC,IAAa,CAC1B,GAAM,CAAE,KAAAU,EAAM,IAAAG,EAAK,IAAAC,EAAK,IAAAC,EAAK,MAAAC,CAAM,EAAI,KAEnC,CAACjB,GAAO,CAACgB,EAAI,eAAe,aAC9BhB,EAAM,IAAIT,IAGR0B,GAASjB,GACXiB,EAAM,EAGRzB,GAAK,QAAQmB,EAAMX,CAAG,EACtBR,GAAK,QAAQsB,EAAKd,CAAG,EACrBR,GAAK,QAAQuB,EAAKf,CAAG,EAErBL,GAAa,IAAI,EAEjBM,EAASD,CAAG,CACd,CACF,CAAC,EAAE,GAAG,YAAa,IAAM,CACvB,GAAM,CAAE,IAAAc,CAAI,EAAI,KAGhBA,EAAI,KAAK,IAAI,CACf,CAAC,EAED,KAAK,IAAM,KAEXpB,GAAU,KAAMY,CAAM,CACxB,CAEA,UAAWW,EAAOC,EAAS,CACzB,GAAM,CAAE,IAAAF,EAAK,IAAAD,CAAI,EAAI,KAIrB,GAFAnB,GAAO,CAACmB,EAAK,4BAA4B,EAErCC,EAAI,UACN,MAAM,IAAIzB,GAGZ,KAAK,MAAQ0B,EACb,KAAK,QAAUC,CACjB,CAEA,UAAWC,EAAYC,EAAYrB,EAAQ,CACzC,GAAM,CAAE,OAAAS,EAAQ,QAAAH,EAAS,QAAAa,CAAQ,EAAI,KAErC,GAAIC,EAAa,IAAK,CACpB,GAAI,KAAK,OAAQ,CACf,IAAME,EAAU,KAAK,kBAAoB,MAAQ7B,GAAK,gBAAgB4B,CAAU,EAAI5B,GAAK,aAAa4B,CAAU,EAChH,KAAK,OAAO,CAAE,WAAAD,EAAY,QAAAE,CAAQ,CAAC,CACrC,CACA,MACF,CAEA,KAAK,IAAM,IAAInB,GAAiBH,CAAM,EAEtC,IAAIY,EACJ,GAAI,CACF,KAAK,QAAU,KACf,IAAMU,EAAU,KAAK,kBAAoB,MAAQ7B,GAAK,gBAAgB4B,CAAU,EAAI5B,GAAK,aAAa4B,CAAU,EAChHT,EAAO,KAAK,gBAAgBN,EAAS,KAAM,CACzC,WAAAc,EACA,QAAAE,EACA,OAAAb,EACA,KAAM,KAAK,IACX,QAAAU,CACF,CAAC,CACH,OAASlB,EAAK,CACZ,WAAK,IAAI,GAAG,QAASR,GAAK,GAAG,EACvBQ,CACR,CAEA,GAAI,CAACW,GAAQ,OAAOA,EAAK,IAAO,WAC9B,MAAM,IAAIrB,GAAwB,mBAAmB,EAGvDqB,EACG,GAAG,OAASC,GAAU,CACrB,GAAM,CAAE,IAAAI,EAAK,KAAAL,CAAK,EAAI,KAElB,CAACK,EAAI,KAAKJ,CAAK,GAAKD,EAAK,OAC3BA,EAAK,MAAM,CAEf,CAAC,EACA,GAAG,QAAUX,GAAQ,CACpB,GAAM,CAAE,IAAAgB,CAAI,EAAI,KAEhBxB,GAAK,QAAQwB,EAAKhB,CAAG,CACvB,CAAC,EACA,GAAG,MAAO,IAAM,CACf,GAAM,CAAE,IAAAgB,CAAI,EAAI,KAEhBA,EAAI,KAAK,IAAI,CACf,CAAC,EACA,GAAG,QAAS,IAAM,CACjB,GAAM,CAAE,IAAAA,CAAI,EAAI,KAEXA,EAAI,eAAe,OACtBxB,GAAK,QAAQwB,EAAK,IAAIzB,EAAqB,CAE/C,CAAC,EAEH,KAAK,KAAOoB,CACd,CAEA,OAAQC,EAAO,CACb,GAAM,CAAE,IAAAG,CAAI,EAAI,KAChB,OAAOA,EAAI,KAAKH,CAAK,CACvB,CAEA,WAAYU,EAAU,CACpB,GAAM,CAAE,IAAAP,CAAI,EAAI,KAChBA,EAAI,KAAK,IAAI,CACf,CAEA,QAASf,EAAK,CACZ,GAAM,CAAE,IAAAgB,CAAI,EAAI,KAChB,KAAK,QAAU,KACfxB,GAAK,QAAQwB,EAAKhB,CAAG,CACvB,CACF,EAEA,SAASuB,GAAUnB,EAAMC,EAAS,CAChC,GAAI,CACF,IAAMmB,EAAkB,IAAIrB,GAAgBC,EAAMC,CAAO,EACzD,YAAK,SAAS,CAAE,GAAGD,EAAM,KAAMoB,EAAgB,GAAI,EAAGA,CAAe,EAC9DA,EAAgB,GACzB,OAASxB,EAAK,CACZ,OAAO,IAAIZ,GAAY,EAAE,QAAQY,CAAG,CACtC,CACF,CAEAf,GAAO,QAAUsC,KCxPjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,qBAAAC,GAAsB,oBAAAC,GAAqB,YAAAC,EAAY,EAAI,IAC7D,CAAE,cAAAC,EAAc,EAAI,QAAQ,aAAa,EACzCC,GAAO,IACP,CAAE,UAAAC,GAAW,aAAAC,EAAa,EAAI,KAC9BC,GAAS,QAAQ,QAAQ,EAEzBC,GAAN,cAA6BL,EAAc,CACzC,YAAaM,EAAMC,EAAU,CAC3B,GAAI,CAACD,GAAQ,OAAOA,GAAS,SAC3B,MAAM,IAAIT,GAAqB,cAAc,EAG/C,GAAI,OAAOU,GAAa,WACtB,MAAM,IAAIV,GAAqB,kBAAkB,EAGnD,GAAM,CAAE,OAAAW,EAAQ,OAAAC,EAAQ,gBAAAC,CAAgB,EAAIJ,EAE5C,GAAIE,GAAU,OAAOA,EAAO,IAAO,YAAc,OAAOA,EAAO,kBAAqB,WAClF,MAAM,IAAIX,GAAqB,+CAA+C,EAGhF,MAAM,gBAAgB,EAEtB,KAAK,gBAAkBa,GAAmB,KAC1C,KAAK,OAASD,GAAU,KACxB,KAAK,SAAWF,EAChB,KAAK,MAAQ,KACb,KAAK,QAAU,KAEfL,GAAU,KAAMM,CAAM,CACxB,CAEA,UAAWG,EAAOC,EAAS,CACzB,GAAI,CAAC,KAAK,SACR,MAAM,IAAId,GAGZ,KAAK,MAAQa,EACb,KAAK,QAAU,IACjB,CAEA,WAAa,CACX,MAAM,IAAIZ,GAAY,cAAe,IAAI,CAC3C,CAEA,UAAWc,EAAYC,EAAYC,EAAQ,CACzC,GAAM,CAAE,SAAAR,EAAU,OAAAE,EAAQ,QAAAG,CAAQ,EAAI,KAEtCR,GAAO,YAAYS,EAAY,GAAG,EAElCV,GAAa,IAAI,EAEjB,KAAK,SAAW,KAChB,IAAMa,EAAU,KAAK,kBAAoB,MAAQf,GAAK,gBAAgBa,CAAU,EAAIb,GAAK,aAAaa,CAAU,EAChH,KAAK,gBAAgBP,EAAU,KAAM,KAAM,CACzC,QAAAS,EACA,OAAAD,EACA,OAAAN,EACA,QAAAG,CACF,CAAC,CACH,CAEA,QAASK,EAAK,CACZ,GAAM,CAAE,SAAAV,EAAU,OAAAE,CAAO,EAAI,KAE7BN,GAAa,IAAI,EAEbI,IACF,KAAK,SAAW,KAChB,eAAe,IAAM,CACnB,KAAK,gBAAgBA,EAAU,KAAMU,EAAK,CAAE,OAAAR,CAAO,CAAC,CACtD,CAAC,EAEL,CACF,EAEA,SAASS,GAASZ,EAAMC,EAAU,CAChC,GAAIA,IAAa,OACf,OAAO,IAAI,QAAQ,CAACY,EAASC,IAAW,CACtCF,GAAQ,KAAK,KAAMZ,EAAM,CAACW,EAAKI,IACtBJ,EAAMG,EAAOH,CAAG,EAAIE,EAAQE,CAAI,CACxC,CACH,CAAC,EAGH,GAAI,CACF,IAAMC,EAAiB,IAAIjB,GAAeC,EAAMC,CAAQ,EACxD,KAAK,SAAS,CACZ,GAAGD,EACH,OAAQA,EAAK,QAAU,MACvB,QAASA,EAAK,UAAY,WAC5B,EAAGgB,CAAc,CACnB,OAASL,EAAK,CACZ,GAAI,OAAOV,GAAa,WACtB,MAAMU,EAER,IAAMR,EAASH,GAAQA,EAAK,OAC5B,eAAe,IAAMC,EAASU,EAAK,CAAE,OAAAR,CAAO,CAAC,CAAC,CAChD,CACF,CAEAb,GAAO,QAAUsB,KCxGjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,qBAAAC,GAAsB,oBAAAC,GAAqB,YAAAC,EAAY,EAAI,IAC7D,CAAE,cAAAC,EAAc,EAAI,QAAQ,aAAa,EACzCC,GAAO,IACP,CAAE,UAAAC,GAAW,aAAAC,EAAa,EAAI,KAE9BC,GAAN,cAA6BJ,EAAc,CACzC,YAAaK,EAAMC,EAAU,CAC3B,GAAI,CAACD,GAAQ,OAAOA,GAAS,SAC3B,MAAM,IAAIR,GAAqB,cAAc,EAG/C,GAAI,OAAOS,GAAa,WACtB,MAAM,IAAIT,GAAqB,kBAAkB,EAGnD,GAAM,CAAE,OAAAU,EAAQ,OAAAC,EAAQ,gBAAAC,CAAgB,EAAIJ,EAE5C,GAAIE,GAAU,OAAOA,EAAO,IAAO,YAAc,OAAOA,EAAO,kBAAqB,WAClF,MAAM,IAAIV,GAAqB,+CAA+C,EAGhF,MAAM,gBAAgB,EAEtB,KAAK,OAASW,GAAU,KACxB,KAAK,gBAAkBC,GAAmB,KAC1C,KAAK,SAAWH,EAChB,KAAK,MAAQ,KAEbJ,GAAU,KAAMK,CAAM,CACxB,CAEA,UAAWG,EAAOC,EAAS,CACzB,GAAI,CAAC,KAAK,SACR,MAAM,IAAIb,GAGZ,KAAK,MAAQY,EACb,KAAK,QAAUC,CACjB,CAEA,WAAa,CACX,MAAM,IAAIZ,GAAY,cAAe,IAAI,CAC3C,CAEA,UAAWa,EAAYC,EAAYC,EAAQ,CACzC,GAAM,CAAE,SAAAR,EAAU,OAAAE,EAAQ,QAAAG,CAAQ,EAAI,KAEtCR,GAAa,IAAI,EAEjB,KAAK,SAAW,KAChB,IAAMY,EAAU,KAAK,kBAAoB,MAAQd,GAAK,gBAAgBY,CAAU,EAAIZ,GAAK,aAAaY,CAAU,EAChH,KAAK,gBAAgBP,EAAU,KAAM,KAAM,CACzC,WAAAM,EACA,QAAAG,EACA,OAAAD,EACA,OAAAN,EACA,QAAAG,CACF,CAAC,CACH,CAEA,QAASK,EAAK,CACZ,GAAM,CAAE,SAAAV,EAAU,OAAAE,CAAO,EAAI,KAE7BL,GAAa,IAAI,EAEbG,IACF,KAAK,SAAW,KAChB,eAAe,IAAM,CACnB,KAAK,gBAAgBA,EAAU,KAAMU,EAAK,CAAE,OAAAR,CAAO,CAAC,CACtD,CAAC,EAEL,CACF,EAEA,SAASS,GAASZ,EAAMC,EAAU,CAChC,GAAIA,IAAa,OACf,OAAO,IAAI,QAAQ,CAACY,EAASC,IAAW,CACtCF,GAAQ,KAAK,KAAMZ,EAAM,CAACW,EAAKI,IACtBJ,EAAMG,EAAOH,CAAG,EAAIE,EAAQE,CAAI,CACxC,CACH,CAAC,EAGH,GAAI,CACF,IAAMC,EAAiB,IAAIjB,GAAeC,EAAMC,CAAQ,EACxD,KAAK,SAAS,CAAE,GAAGD,EAAM,OAAQ,SAAU,EAAGgB,CAAc,CAC9D,OAASL,EAAK,CACZ,GAAI,OAAOV,GAAa,WACtB,MAAMU,EAER,IAAMR,EAASH,GAAQA,EAAK,OAC5B,eAAe,IAAMC,EAASU,EAAK,CAAE,OAAAR,CAAO,CAAC,CAAC,CAChD,CACF,CAEAZ,GAAO,QAAUqB,KCjGjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEAA,GAAO,QAAQ,QAAU,KACzBA,GAAO,QAAQ,OAAS,KACxBA,GAAO,QAAQ,SAAW,KAC1BA,GAAO,QAAQ,QAAU,KACzBA,GAAO,QAAQ,QAAU,OCNzB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,YAAAC,EAAY,EAAI,IAElBC,GAAN,MAAMC,UAA4BF,EAAY,CAC5C,YAAaG,EAAS,CACpB,MAAMA,CAAO,EACb,MAAM,kBAAkB,KAAMD,CAAmB,EACjD,KAAK,KAAO,sBACZ,KAAK,QAAUC,GAAW,4DAC1B,KAAK,KAAO,+BACd,CACF,EAEAJ,GAAO,QAAU,CACf,oBAAAE,EACF,IChBA,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEAA,GAAO,QAAU,CACf,OAAQ,OAAO,OAAO,EACtB,SAAU,OAAO,SAAS,EAC1B,SAAU,OAAO,SAAS,EAC1B,YAAa,OAAO,YAAY,EAChC,aAAc,OAAO,cAAc,EACnC,gBAAiB,OAAO,iBAAiB,EACzC,iBAAkB,OAAO,kBAAkB,EAC3C,eAAgB,OAAO,gBAAgB,EACvC,WAAY,OAAO,YAAY,EAC/B,cAAe,OAAO,gBAAgB,EACtC,cAAe,OAAO,gBAAgB,EACtC,cAAe,OAAO,eAAe,EACrC,OAAQ,OAAO,OAAO,EACtB,eAAgB,OAAO,sBAAsB,EAC7C,QAAS,OAAO,QAAQ,EACxB,cAAe,OAAO,gBAAgB,EACtC,YAAa,OAAO,aAAa,EACjC,eAAgB,OAAO,iBAAiB,EACxC,WAAY,OAAO,WAAW,CAChC,ICtBA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,oBAAAC,EAAoB,EAAI,KAC1B,CACJ,YAAAC,GACA,WAAAC,GACA,kBAAAC,GACA,QAAAC,GACA,eAAAC,EACF,EAAI,KACE,CAAE,SAAAC,GAAU,IAAAC,EAAI,EAAI,IACpB,CAAE,aAAAC,EAAa,EAAI,QAAQ,MAAM,EACjC,CACJ,MAAO,CACL,UAAAC,EACF,CACF,EAAI,QAAQ,MAAM,EAElB,SAASC,GAAYC,EAAOC,EAAO,CACjC,OAAI,OAAOD,GAAU,SACZA,IAAUC,EAEfD,aAAiB,OACZA,EAAM,KAAKC,CAAK,EAErB,OAAOD,GAAU,WACZA,EAAMC,CAAK,IAAM,GAEnB,EACT,CAEA,SAASC,GAAkBC,EAAS,CAClC,OAAO,OAAO,YACZ,OAAO,QAAQA,CAAO,EAAE,IAAI,CAAC,CAACC,EAAYC,CAAW,IAC5C,CAACD,EAAW,kBAAkB,EAAGC,CAAW,CACpD,CACH,CACF,CAMA,SAASC,GAAiBH,EAASI,EAAK,CACtC,GAAI,MAAM,QAAQJ,CAAO,EAAG,CAC1B,QAASK,EAAI,EAAGA,EAAIL,EAAQ,OAAQK,GAAK,EACvC,GAAIL,EAAQK,CAAC,EAAE,kBAAkB,IAAMD,EAAI,kBAAkB,EAC3D,OAAOJ,EAAQK,EAAI,CAAC,EAIxB,MACF,KAAO,QAAI,OAAOL,EAAQ,KAAQ,WACzBA,EAAQ,IAAII,CAAG,EAEfL,GAAiBC,CAAO,EAAEI,EAAI,kBAAkB,CAAC,CAE5D,CAGA,SAASE,GAAuBN,EAAS,CACvC,IAAMO,EAAQP,EAAQ,MAAM,EACtBQ,EAAU,CAAC,EACjB,QAASC,EAAQ,EAAGA,EAAQF,EAAM,OAAQE,GAAS,EACjDD,EAAQ,KAAK,CAACD,EAAME,CAAK,EAAGF,EAAME,EAAQ,CAAC,CAAC,CAAC,EAE/C,OAAO,OAAO,YAAYD,CAAO,CACnC,CAEA,SAASE,GAAcC,EAAcX,EAAS,CAC5C,GAAI,OAAOW,EAAa,SAAY,WAClC,OAAI,MAAM,QAAQX,CAAO,IACvBA,EAAUM,GAAsBN,CAAO,GAElCW,EAAa,QAAQX,EAAUD,GAAiBC,CAAO,EAAI,CAAC,CAAC,EAEtE,GAAI,OAAOW,EAAa,QAAY,IAClC,MAAO,GAET,GAAI,OAAOX,GAAY,UAAY,OAAOW,EAAa,SAAY,SACjE,MAAO,GAGT,OAAW,CAACC,EAAiBC,CAAgB,IAAK,OAAO,QAAQF,EAAa,OAAO,EAAG,CACtF,IAAMT,EAAcC,GAAgBH,EAASY,CAAe,EAE5D,GAAI,CAAChB,GAAWiB,EAAkBX,CAAW,EAC3C,MAAO,EAEX,CACA,MAAO,EACT,CAEA,SAASY,GAASC,EAAM,CACtB,GAAI,OAAOA,GAAS,SAClB,OAAOA,EAGT,IAAMC,EAAeD,EAAK,MAAM,GAAG,EAEnC,GAAIC,EAAa,SAAW,EAC1B,OAAOD,EAGT,IAAME,EAAK,IAAI,gBAAgBD,EAAa,IAAI,CAAC,EACjD,OAAAC,EAAG,KAAK,EACD,CAAC,GAAGD,EAAcC,EAAG,SAAS,CAAC,EAAE,KAAK,GAAG,CAClD,CAEA,SAASC,GAAUP,EAAc,CAAE,KAAAI,EAAM,OAAAI,EAAQ,KAAAC,EAAM,QAAApB,CAAQ,EAAG,CAChE,IAAMqB,EAAYzB,GAAWe,EAAa,KAAMI,CAAI,EAC9CO,EAAc1B,GAAWe,EAAa,OAAQQ,CAAM,EACpDI,EAAY,OAAOZ,EAAa,KAAS,IAAcf,GAAWe,EAAa,KAAMS,CAAI,EAAI,GAC7FI,EAAed,GAAaC,EAAcX,CAAO,EACvD,OAAOqB,GAAaC,GAAeC,GAAaC,CAClD,CAEA,SAASC,GAAiBC,EAAM,CAC9B,OAAI,OAAO,SAASA,CAAI,EACfA,EACE,OAAOA,GAAS,SAClB,KAAK,UAAUA,CAAI,EAEnBA,EAAK,SAAS,CAEzB,CAEA,SAASC,GAAiBC,EAAgBxB,EAAK,CAC7C,IAAMyB,EAAWzB,EAAI,MAAQZ,GAASY,EAAI,KAAMA,EAAI,KAAK,EAAIA,EAAI,KAC3D0B,EAAe,OAAOD,GAAa,SAAWf,GAAQe,CAAQ,EAAIA,EAGpEE,EAAwBH,EAAe,OAAO,CAAC,CAAE,SAAAI,CAAS,IAAM,CAACA,CAAQ,EAAE,OAAO,CAAC,CAAE,KAAAjB,CAAK,IAAMnB,GAAWkB,GAAQC,CAAI,EAAGe,CAAY,CAAC,EAC3I,GAAIC,EAAsB,SAAW,EACnC,MAAM,IAAI7C,GAAoB,uCAAuC4C,CAAY,GAAG,EAKtF,GADAC,EAAwBA,EAAsB,OAAO,CAAC,CAAE,OAAAZ,CAAO,IAAMvB,GAAWuB,EAAQf,EAAI,MAAM,CAAC,EAC/F2B,EAAsB,SAAW,EACnC,MAAM,IAAI7C,GAAoB,yCAAyCkB,EAAI,MAAM,GAAG,EAKtF,GADA2B,EAAwBA,EAAsB,OAAO,CAAC,CAAE,KAAAX,CAAK,IAAM,OAAOA,EAAS,IAAcxB,GAAWwB,EAAMhB,EAAI,IAAI,EAAI,EAAI,EAC9H2B,EAAsB,SAAW,EACnC,MAAM,IAAI7C,GAAoB,uCAAuCkB,EAAI,IAAI,GAAG,EAKlF,GADA2B,EAAwBA,EAAsB,OAAQpB,GAAiBD,GAAaC,EAAcP,EAAI,OAAO,CAAC,EAC1G2B,EAAsB,SAAW,EACnC,MAAM,IAAI7C,GAAoB,0CAA0C,OAAOkB,EAAI,SAAY,SAAW,KAAK,UAAUA,EAAI,OAAO,EAAIA,EAAI,OAAO,GAAG,EAGxJ,OAAO2B,EAAsB,CAAC,CAChC,CAEA,SAASE,GAAiBL,EAAgBxB,EAAKsB,EAAM,CACnD,IAAMQ,EAAW,CAAE,aAAc,EAAG,MAAO,EAAG,QAAS,GAAO,SAAU,EAAM,EACxEC,EAAY,OAAOT,GAAS,WAAa,CAAE,SAAUA,CAAK,EAAI,CAAE,GAAGA,CAAK,EACxEU,EAAkB,CAAE,GAAGF,EAAU,GAAG9B,EAAK,QAAS,GAAM,KAAM,CAAE,MAAO,KAAM,GAAG+B,CAAU,CAAE,EAClG,OAAAP,EAAe,KAAKQ,CAAe,EAC5BA,CACT,CAEA,SAASC,GAAoBT,EAAgBxB,EAAK,CAChD,IAAMK,EAAQmB,EAAe,UAAUU,GAChCA,EAAS,SAGPpB,GAASoB,EAAUlC,CAAG,EAFpB,EAGV,EACGK,IAAU,IACZmB,EAAe,OAAOnB,EAAO,CAAC,CAElC,CAEA,SAAS8B,GAAUC,EAAM,CACvB,GAAM,CAAE,KAAAzB,EAAM,OAAAI,EAAQ,KAAAC,EAAM,QAAApB,EAAS,MAAAyC,CAAM,EAAID,EAC/C,MAAO,CACL,KAAAzB,EACA,OAAAI,EACA,KAAAC,EACA,QAAApB,EACA,MAAAyC,CACF,CACF,CAEA,SAASC,GAAmBhB,EAAM,CAChC,OAAO,OAAO,QAAQA,CAAI,EAAE,OAAO,CAACiB,EAAe,CAACvC,EAAKN,CAAK,IAAM,CAClE,GAAG6C,EACH,OAAO,KAAK,GAAGvC,CAAG,EAAE,EACpB,MAAM,QAAQN,CAAK,EAAIA,EAAM,IAAI8C,GAAK,OAAO,KAAK,GAAGA,CAAC,EAAE,CAAC,EAAI,OAAO,KAAK,GAAG9C,CAAK,EAAE,CACrF,EAAG,CAAC,CAAC,CACP,CAMA,SAAS+C,GAAeC,EAAY,CAClC,OAAOpD,GAAaoD,CAAU,GAAK,SACrC,CAEA,eAAeC,GAAa3B,EAAM,CAChC,IAAM4B,EAAU,CAAC,EACjB,cAAiBtB,KAAQN,EACvB4B,EAAQ,KAAKtB,CAAI,EAEnB,OAAO,OAAO,OAAOsB,CAAO,EAAE,SAAS,MAAM,CAC/C,CAKA,SAASrC,GAAc6B,EAAMS,EAAS,CAEpC,IAAM7C,EAAMmC,GAASC,CAAI,EACnB7B,EAAegB,GAAgB,KAAKxC,EAAW,EAAGiB,CAAG,EAE3DO,EAAa,eAGTA,EAAa,KAAK,WACpBA,EAAa,KAAO,CAAE,GAAGA,EAAa,KAAM,GAAGA,EAAa,KAAK,SAAS6B,CAAI,CAAE,GAIlF,GAAM,CAAE,KAAM,CAAE,WAAAM,EAAY,KAAApB,EAAM,QAAA1B,EAAS,SAAAkD,EAAU,MAAAC,CAAM,EAAG,MAAAC,EAAO,QAAAC,CAAQ,EAAI1C,EAC3E,CAAE,aAAA2C,EAAc,MAAAC,CAAM,EAAI5C,EAOhC,GAJAA,EAAa,SAAW,CAAC0C,GAAWC,GAAgBC,EACpD5C,EAAa,QAAU2C,EAAeC,EAGlCJ,IAAU,KACZ,OAAAd,GAAmB,KAAKlD,EAAW,EAAGiB,CAAG,EACzC6C,EAAQ,QAAQE,CAAK,EACd,GAIL,OAAOC,GAAU,UAAYA,EAAQ,EACvC,WAAW,IAAM,CACfI,EAAY,KAAKrE,EAAW,CAAC,CAC/B,EAAGiE,CAAK,EAERI,EAAY,KAAKrE,EAAW,CAAC,EAG/B,SAASqE,EAAa5B,EAAgB6B,EAAQ/B,EAAM,CAElD,IAAMgC,EAAc,MAAM,QAAQlB,EAAK,OAAO,EAC1ClC,GAAsBkC,EAAK,OAAO,EAClCA,EAAK,QACHpB,EAAO,OAAOqC,GAAU,WAC1BA,EAAM,CAAE,GAAGjB,EAAM,QAASkB,CAAY,CAAC,EACvCD,EAGJ,GAAI9D,GAAUyB,CAAI,EAAG,CAMnBA,EAAK,KAAMuC,GAAYH,EAAY5B,EAAgB+B,CAAO,CAAC,EAC3D,MACF,CAEA,IAAMC,EAAenC,GAAgBL,CAAI,EACnCyC,EAAkBnB,GAAkB1C,CAAO,EAC3C8D,EAAmBpB,GAAkBQ,CAAQ,EAEnDD,EAAQ,MAAQxD,GAChBwD,EAAQ,UAAUH,EAAYe,EAAiBE,EAAQlB,GAAcC,CAAU,CAAC,EAChFG,EAAQ,OAAO,OAAO,KAAKW,CAAY,CAAC,EACxCX,EAAQ,WAAWa,CAAgB,EACnCzB,GAAmBT,EAAgBxB,CAAG,CACxC,CAEA,SAAS2D,GAAU,CAAC,CAEpB,MAAO,EACT,CAEA,SAASC,IAAqB,CAC5B,IAAMC,EAAQ,KAAK7E,EAAU,EACvB8E,EAAS,KAAK5E,EAAO,EACrB6E,EAAmB,KAAK9E,EAAiB,EAE/C,OAAO,SAAmBmD,EAAMS,EAAS,CACvC,GAAIgB,EAAM,aACR,GAAI,CACFtD,GAAa,KAAK,KAAM6B,EAAMS,CAAO,CACvC,OAASE,EAAO,CACd,GAAIA,aAAiBjE,GAAqB,CACxC,IAAMkF,EAAaH,EAAM1E,EAAc,EAAE,EACzC,GAAI6E,IAAe,GACjB,MAAM,IAAIlF,GAAoB,GAAGiE,EAAM,OAAO,kCAAkCe,CAAM,yCAAyC,EAEjI,GAAIG,GAAgBD,EAAYF,CAAM,EACpCC,EAAiB,KAAK,KAAM3B,EAAMS,CAAO,MAEzC,OAAM,IAAI/D,GAAoB,GAAGiE,EAAM,OAAO,kCAAkCe,CAAM,+DAA+D,CAEzJ,KACE,OAAMf,CAEV,MAEAgB,EAAiB,KAAK,KAAM3B,EAAMS,CAAO,CAE7C,CACF,CAEA,SAASoB,GAAiBD,EAAYF,EAAQ,CAC5C,IAAMI,EAAM,IAAI,IAAIJ,CAAM,EAC1B,OAAIE,IAAe,GACV,GACE,SAAM,QAAQA,CAAU,GAAKA,EAAW,KAAMG,GAAY3E,GAAW2E,EAASD,EAAI,IAAI,CAAC,EAIpG,CAEA,SAASE,GAAkBhC,EAAM,CAC/B,GAAIA,EAAM,CACR,GAAM,CAAE,MAAAyB,EAAO,GAAGQ,CAAY,EAAIjC,EAClC,OAAOiC,CACT,CACF,CAEAxF,GAAO,QAAU,CACf,gBAAAwC,GACA,gBAAAE,GACA,gBAAAM,GACA,mBAAAI,GACA,SAAAE,GACA,kBAAAG,GACA,WAAA9C,GACA,YAAAmD,GACA,cAAAF,GACA,aAAAlC,GACA,kBAAAqD,GACA,gBAAAK,GACA,iBAAAG,GACA,gBAAArE,EACF,IC9VA,IAAAuE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,gBAAAC,GAAiB,SAAAC,GAAU,gBAAAC,EAAgB,EAAI,KACjD,CACJ,YAAAC,GACA,aAAAC,GACA,gBAAAC,GACA,iBAAAC,GACA,eAAAC,GACA,cAAAC,EACF,EAAI,KACE,CAAE,qBAAAC,EAAqB,EAAI,IAC3B,CAAE,SAAAC,EAAS,EAAI,IAKfC,GAAN,KAAgB,CACd,YAAaC,EAAc,CACzB,KAAKJ,EAAa,EAAII,CACxB,CAKA,MAAOC,EAAU,CACf,GAAI,OAAOA,GAAa,UAAY,CAAC,OAAO,UAAUA,CAAQ,GAAKA,GAAY,EAC7E,MAAM,IAAIJ,GAAqB,sCAAsC,EAGvE,YAAKD,EAAa,EAAE,MAAQK,EACrB,IACT,CAKA,SAAW,CACT,YAAKL,EAAa,EAAE,QAAU,GACvB,IACT,CAKA,MAAOM,EAAa,CAClB,GAAI,OAAOA,GAAgB,UAAY,CAAC,OAAO,UAAUA,CAAW,GAAKA,GAAe,EACtF,MAAM,IAAIL,GAAqB,yCAAyC,EAG1E,YAAKD,EAAa,EAAE,MAAQM,EACrB,IACT,CACF,EAKMC,GAAN,KAAsB,CACpB,YAAaC,EAAMC,EAAgB,CACjC,GAAI,OAAOD,GAAS,SAClB,MAAM,IAAIP,GAAqB,wBAAwB,EAEzD,GAAI,OAAOO,EAAK,KAAS,IACvB,MAAM,IAAIP,GAAqB,2BAA2B,EAQ5D,GANI,OAAOO,EAAK,OAAW,MACzBA,EAAK,OAAS,OAKZ,OAAOA,EAAK,MAAS,SACvB,GAAIA,EAAK,MACPA,EAAK,KAAON,GAASM,EAAK,KAAMA,EAAK,KAAK,MACrC,CAEL,IAAME,EAAY,IAAI,IAAIF,EAAK,KAAM,SAAS,EAC9CA,EAAK,KAAOE,EAAU,SAAWA,EAAU,MAC7C,CAEE,OAAOF,EAAK,QAAW,WACzBA,EAAK,OAASA,EAAK,OAAO,YAAY,GAGxC,KAAKZ,EAAY,EAAIH,GAASe,CAAI,EAClC,KAAKb,EAAW,EAAIc,EACpB,KAAKZ,EAAe,EAAI,CAAC,EACzB,KAAKC,EAAgB,EAAI,CAAC,EAC1B,KAAKC,EAAc,EAAI,EACzB,CAEA,4BAA6BY,EAAYC,EAAMC,EAAkB,CAAC,EAAG,CACnE,IAAMC,EAAetB,GAAgBoB,CAAI,EACnCG,EAAgB,KAAKhB,EAAc,EAAI,CAAE,iBAAkBe,EAAa,MAAO,EAAI,CAAC,EACpFE,EAAU,CAAE,GAAG,KAAKnB,EAAe,EAAG,GAAGkB,EAAe,GAAGF,EAAgB,OAAQ,EACnFI,EAAW,CAAE,GAAG,KAAKnB,EAAgB,EAAG,GAAGe,EAAgB,QAAS,EAE1E,MAAO,CAAE,WAAAF,EAAY,KAAAC,EAAM,QAAAI,EAAS,SAAAC,CAAS,CAC/C,CAEA,wBAAyBN,EAAYC,EAAMC,EAAiB,CAC1D,GAAI,OAAOF,EAAe,IACxB,MAAM,IAAIV,GAAqB,4BAA4B,EAE7D,GAAI,OAAOW,EAAS,IAClB,MAAM,IAAIX,GAAqB,sBAAsB,EAEvD,GAAI,OAAOY,GAAoB,SAC7B,MAAM,IAAIZ,GAAqB,mCAAmC,CAEtE,CAKA,MAAOiB,EAAW,CAGhB,GAAI,OAAOA,GAAc,WAAY,CAInC,IAAMC,EAA2BX,GAAS,CAExC,IAAMY,EAAeF,EAAUV,CAAI,EAGnC,GAAI,OAAOY,GAAiB,SAC1B,MAAM,IAAInB,GAAqB,8CAA8C,EAG/E,GAAM,CAAE,WAAAU,EAAY,KAAAC,EAAO,GAAI,gBAAAC,EAAkB,CAAC,CAAE,EAAIO,EACxD,YAAK,wBAAwBT,EAAYC,EAAMC,CAAe,EAGvD,CACL,GAAG,KAAK,4BAA4BF,EAAYC,EAAMC,CAAe,CACvE,CACF,EAGMQ,EAAkB3B,GAAgB,KAAKC,EAAW,EAAG,KAAKC,EAAY,EAAGuB,CAAuB,EACtG,OAAO,IAAIhB,GAAUkB,CAAe,CACtC,CAMA,GAAM,CAACV,EAAYC,EAAO,GAAIC,EAAkB,CAAC,CAAC,EAAI,CAAC,GAAG,SAAS,EACnE,KAAK,wBAAwBF,EAAYC,EAAMC,CAAe,EAG9D,IAAMS,EAAe,KAAK,4BAA4BX,EAAYC,EAAMC,CAAe,EACjFQ,EAAkB3B,GAAgB,KAAKC,EAAW,EAAG,KAAKC,EAAY,EAAG0B,CAAY,EAC3F,OAAO,IAAInB,GAAUkB,CAAe,CACtC,CAKA,eAAgBE,EAAO,CACrB,GAAI,OAAOA,EAAU,IACnB,MAAM,IAAItB,GAAqB,uBAAuB,EAGxD,IAAMoB,EAAkB3B,GAAgB,KAAKC,EAAW,EAAG,KAAKC,EAAY,EAAG,CAAE,MAAA2B,CAAM,CAAC,EACxF,OAAO,IAAIpB,GAAUkB,CAAe,CACtC,CAKA,oBAAqBL,EAAS,CAC5B,GAAI,OAAOA,EAAY,IACrB,MAAM,IAAIf,GAAqB,yBAAyB,EAG1D,YAAKJ,EAAe,EAAImB,EACjB,IACT,CAKA,qBAAsBC,EAAU,CAC9B,GAAI,OAAOA,EAAa,IACtB,MAAM,IAAIhB,GAAqB,0BAA0B,EAG3D,YAAKH,EAAgB,EAAImB,EAClB,IACT,CAKA,oBAAsB,CACpB,YAAKlB,EAAc,EAAI,GAChB,IACT,CACF,EAEAR,GAAO,QAAQ,gBAAkBgB,GACjChB,GAAO,QAAQ,UAAYY,KC7M3B,IAAAqB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,UAAAC,EAAU,EAAI,QAAQ,MAAM,EAC9BC,GAAS,KACT,CAAE,kBAAAC,EAAkB,EAAI,KACxB,CACJ,YAAAC,GACA,WAAAC,GACA,OAAAC,GACA,eAAAC,GACA,QAAAC,GACA,kBAAAC,GACA,WAAAC,EACF,EAAI,KACE,CAAE,gBAAAC,EAAgB,EAAI,KACtBC,GAAU,KACV,CAAE,qBAAAC,EAAqB,EAAI,IAK3BC,GAAN,cAAyBZ,EAAO,CAC9B,YAAaa,EAAQC,EAAM,CAGzB,GAFA,MAAMD,EAAQC,CAAI,EAEd,CAACA,GAAQ,CAACA,EAAK,OAAS,OAAOA,EAAK,MAAM,UAAa,WACzD,MAAM,IAAIH,GAAqB,0CAA0C,EAG3E,KAAKR,EAAU,EAAIW,EAAK,MACxB,KAAKR,EAAO,EAAIO,EAChB,KAAKX,EAAW,EAAI,CAAC,EACrB,KAAKM,EAAU,EAAI,EACnB,KAAKD,EAAiB,EAAI,KAAK,SAC/B,KAAKF,EAAc,EAAI,KAAK,MAAM,KAAK,IAAI,EAE3C,KAAK,SAAWJ,GAAkB,KAAK,IAAI,EAC3C,KAAK,MAAQ,KAAKG,EAAM,CAC1B,CAEA,IAAKM,GAAQ,UAAU,GAAK,CAC1B,OAAO,KAAKF,EAAU,CACxB,CAKA,UAAWM,EAAM,CACf,OAAO,IAAIL,GAAgBK,EAAM,KAAKZ,EAAW,CAAC,CACpD,CAEA,MAAOE,EAAM,GAAK,CAChB,MAAML,GAAU,KAAKM,EAAc,CAAC,EAAE,EACtC,KAAKG,EAAU,EAAI,EACnB,KAAKL,EAAU,EAAEO,GAAQ,QAAQ,EAAE,OAAO,KAAKJ,EAAO,CAAC,CACzD,CACF,EAEAR,GAAO,QAAUc,KC1DjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,UAAAC,EAAU,EAAI,QAAQ,MAAM,EAC9BC,GAAO,KACP,CAAE,kBAAAC,EAAkB,EAAI,KACxB,CACJ,YAAAC,GACA,WAAAC,GACA,OAAAC,GACA,eAAAC,GACA,QAAAC,GACA,kBAAAC,GACA,WAAAC,EACF,EAAI,KACE,CAAE,gBAAAC,EAAgB,EAAI,KACtBC,GAAU,KACV,CAAE,qBAAAC,EAAqB,EAAI,IAK3BC,GAAN,cAAuBZ,EAAK,CAC1B,YAAaa,EAAQC,EAAM,CAGzB,GAFA,MAAMD,EAAQC,CAAI,EAEd,CAACA,GAAQ,CAACA,EAAK,OAAS,OAAOA,EAAK,MAAM,UAAa,WACzD,MAAM,IAAIH,GAAqB,0CAA0C,EAG3E,KAAKR,EAAU,EAAIW,EAAK,MACxB,KAAKR,EAAO,EAAIO,EAChB,KAAKX,EAAW,EAAI,CAAC,EACrB,KAAKM,EAAU,EAAI,EACnB,KAAKD,EAAiB,EAAI,KAAK,SAC/B,KAAKF,EAAc,EAAI,KAAK,MAAM,KAAK,IAAI,EAE3C,KAAK,SAAWJ,GAAkB,KAAK,IAAI,EAC3C,KAAK,MAAQ,KAAKG,EAAM,CAC1B,CAEA,IAAKM,GAAQ,UAAU,GAAK,CAC1B,OAAO,KAAKF,EAAU,CACxB,CAKA,UAAWM,EAAM,CACf,OAAO,IAAIL,GAAgBK,EAAM,KAAKZ,EAAW,CAAC,CACpD,CAEA,MAAOE,EAAM,GAAK,CAChB,MAAML,GAAU,KAAKM,EAAc,CAAC,EAAE,EACtC,KAAKG,EAAU,EAAI,EACnB,KAAKL,EAAU,EAAEO,GAAQ,QAAQ,EAAE,OAAO,KAAKJ,EAAO,CAAC,CACzD,CACF,EAEAR,GAAO,QAAUc,KC1DjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,IAAMC,GAAY,CAChB,QAAS,KACT,GAAI,KACJ,IAAK,MACL,KAAM,MACR,EAEMC,GAAU,CACd,QAAS,OACT,GAAI,MACJ,IAAK,OACL,KAAM,OACR,EAEAF,GAAO,QAAU,KAAiB,CAChC,YAAaG,EAAUC,EAAQ,CAC7B,KAAK,SAAWD,EAChB,KAAK,OAASC,CAChB,CAEA,UAAWC,EAAO,CAChB,IAAMC,EAAMD,IAAU,EAChBE,EAAOD,EAAML,GAAYC,GACzBM,EAAOF,EAAM,KAAK,SAAW,KAAK,OACxC,MAAO,CAAE,GAAGC,EAAM,MAAAF,EAAO,KAAAG,CAAK,CAChC,CACF,IC5BA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,UAAAC,EAAU,EAAI,QAAQ,QAAQ,EAChC,CAAE,QAAAC,EAAQ,EAAI,QAAQ,SAAS,EAKrCF,GAAO,QAAU,KAAmC,CAClD,YAAa,CAAE,cAAAG,CAAc,EAAI,CAAC,EAAG,CACnC,KAAK,UAAY,IAAIF,GAAU,CAC7B,UAAWG,EAAOC,EAAMC,EAAI,CAC1BA,EAAG,KAAMF,CAAK,CAChB,CACF,CAAC,EAED,KAAK,OAAS,IAAIF,GAAQ,CACxB,OAAQ,KAAK,UACb,eAAgB,CACd,OAAQ,CAACC,GAAiB,CAAC,QAAQ,IAAI,EACzC,CACF,CAAC,CACH,CAEA,OAAQI,EAAqB,CAC3B,IAAMC,EAAoBD,EAAoB,IAC5C,CAAC,CAAE,OAAAE,EAAQ,KAAAC,EAAM,KAAM,CAAE,WAAAC,CAAW,EAAG,QAAAC,EAAS,MAAAC,EAAO,aAAAC,EAAc,OAAAC,CAAO,KAAO,CACjF,OAAQN,EACR,OAAQM,EACR,KAAML,EACN,cAAeC,EACf,WAAYC,EAAU,SAAM,SAC5B,YAAaE,EACb,UAAWF,EAAU,IAAWC,EAAQC,CAC1C,EAAE,EAEJ,YAAK,OAAO,MAAMN,CAAiB,EAC5B,KAAK,UAAU,KAAK,EAAE,SAAS,CACxC,CACF,ICvCA,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,SAAAC,EAAS,EAAI,KACfC,GAAQ,KACR,CACJ,OAAAC,GACA,cAAAC,GACA,cAAAC,GACA,YAAAC,GACA,cAAAC,GACA,YAAAC,GACA,eAAAC,GACA,SAAAC,GACA,SAAAC,EACF,EAAI,KACEC,GAAa,KACbC,GAAW,KACX,CAAE,WAAAC,GAAY,iBAAAC,EAAiB,EAAI,KACnC,CAAE,qBAAAC,GAAsB,YAAAC,EAAY,EAAI,IACxCC,GAAa,KACbC,GAAa,KACbC,GAA+B,KAE/BC,GAAN,KAAkB,CAChB,YAAaC,EAAO,CAClB,KAAK,MAAQA,CACf,CAEA,OAAS,CACP,OAAO,KAAK,KACd,CACF,EAEMC,GAAN,cAAwBL,EAAW,CACjC,YAAaM,EAAM,CAOjB,GANA,MAAMA,CAAI,EAEV,KAAKhB,EAAW,EAAI,GACpB,KAAKD,EAAa,EAAI,GAGjBiB,GAAQA,EAAK,OAAS,OAAOA,EAAK,MAAM,UAAa,WACxD,MAAM,IAAIR,GAAqB,0CAA0C,EAE3E,IAAMS,EAAQD,GAAQA,EAAK,MAAQA,EAAK,MAAQ,IAAItB,GAAMsB,CAAI,EAC9D,KAAKrB,EAAM,EAAIsB,EAEf,KAAKxB,EAAQ,EAAIwB,EAAMxB,EAAQ,EAC/B,KAAKS,EAAQ,EAAIK,GAAiBS,CAAI,CACxC,CAEA,IAAKE,EAAQ,CACX,IAAIC,EAAa,KAAKtB,EAAa,EAAEqB,CAAM,EAE3C,OAAKC,IACHA,EAAa,KAAKhB,EAAQ,EAAEe,CAAM,EAClC,KAAKtB,EAAa,EAAEsB,EAAQC,CAAU,GAEjCA,CACT,CAEA,SAAUH,EAAMI,EAAS,CAEvB,YAAK,IAAIJ,EAAK,MAAM,EACb,KAAKrB,EAAM,EAAE,SAASqB,EAAMI,CAAO,CAC5C,CAEA,MAAM,OAAS,CACb,MAAM,KAAKzB,EAAM,EAAE,MAAM,EACzB,KAAKF,EAAQ,EAAE,MAAM,CACvB,CAEA,YAAc,CACZ,KAAKM,EAAa,EAAI,EACxB,CAEA,UAAY,CACV,KAAKA,EAAa,EAAI,EACxB,CAEA,iBAAkBsB,EAAS,CACzB,GAAI,OAAOA,GAAY,UAAY,OAAOA,GAAY,YAAcA,aAAmB,OACjF,MAAM,QAAQ,KAAKrB,EAAW,CAAC,EACjC,KAAKA,EAAW,EAAE,KAAKqB,CAAO,EAE9B,KAAKrB,EAAW,EAAI,CAACqB,CAAO,UAErB,OAAOA,EAAY,IAC5B,KAAKrB,EAAW,EAAI,OAEpB,OAAM,IAAIQ,GAAqB,6DAA6D,CAEhG,CAEA,mBAAqB,CACnB,KAAKR,EAAW,EAAI,EACtB,CAIA,IAAI,cAAgB,CAClB,OAAO,KAAKD,EAAa,CAC3B,CAEA,CAACH,EAAa,EAAGsB,EAAQC,EAAY,CACnC,KAAK1B,EAAQ,EAAE,IAAIyB,EAAQ,IAAIL,GAAYM,CAAU,CAAC,CACxD,CAEA,CAAChB,EAAQ,EAAGe,EAAQ,CAClB,IAAMI,EAAc,OAAO,OAAO,CAAE,MAAO,IAAK,EAAG,KAAKpB,EAAQ,CAAC,EACjE,OAAO,KAAKA,EAAQ,GAAK,KAAKA,EAAQ,EAAE,cAAgB,EACpD,IAAIE,GAAWc,EAAQI,CAAW,EAClC,IAAIjB,GAASa,EAAQI,CAAW,CACtC,CAEA,CAACzB,EAAa,EAAGqB,EAAQ,CAEvB,IAAMK,EAAM,KAAK9B,EAAQ,EAAE,IAAIyB,CAAM,EACrC,GAAIK,EACF,OAAOA,EAAI,MAAM,EAInB,GAAI,OAAOL,GAAW,SAAU,CAC9B,IAAMC,EAAa,KAAKhB,EAAQ,EAAE,uBAAuB,EACzD,YAAKP,EAAa,EAAEsB,EAAQC,CAAU,EAC/BA,CACT,CAGA,OAAW,CAACK,EAAYC,CAAc,IAAK,MAAM,KAAK,KAAKhC,EAAQ,CAAC,EAAG,CACrE,IAAMiC,EAAwBD,EAAe,MAAM,EACnD,GAAIC,GAAyB,OAAOF,GAAe,UAAYlB,GAAWkB,EAAYN,CAAM,EAAG,CAC7F,IAAMC,EAAa,KAAKhB,EAAQ,EAAEe,CAAM,EACxC,YAAKtB,EAAa,EAAEsB,EAAQC,CAAU,EACtCA,EAAWrB,EAAW,EAAI4B,EAAsB5B,EAAW,EACpDqB,CACT,CACF,CACF,CAEA,CAAClB,EAAc,GAAK,CAClB,OAAO,KAAKD,EAAW,CACzB,CAEA,qBAAuB,CACrB,IAAM2B,EAAmB,KAAKlC,EAAQ,EAEtC,OAAO,MAAM,KAAKkC,EAAiB,QAAQ,CAAC,EACzC,QAAQ,CAAC,CAACT,EAAQU,CAAK,IAAMA,EAAM,MAAM,EAAE9B,EAAW,EAAE,IAAI+B,IAAa,CAAE,GAAGA,EAAU,OAAAX,CAAO,EAAE,CAAC,EAClG,OAAO,CAAC,CAAE,QAAAY,CAAQ,IAAMA,CAAO,CACpC,CAEA,4BAA6B,CAAE,6BAAAC,EAA+B,IAAInB,EAA+B,EAAI,CAAC,EAAG,CACvG,IAAMkB,EAAU,KAAK,oBAAoB,EAEzC,GAAIA,EAAQ,SAAW,EACrB,OAGF,IAAME,EAAa,IAAIrB,GAAW,cAAe,cAAc,EAAE,UAAUmB,EAAQ,MAAM,EAEzF,MAAM,IAAIrB,GAAY;AAAA,EACxBuB,EAAW,KAAK,IAAIA,EAAW,IAAI,IAAIA,EAAW,EAAE;AAAA;AAAA,EAEpDD,EAA6B,OAAOD,CAAO,CAAC;AAAA,EAC5C,KAAK,CAAC,CACN,CACF,EAEAtC,GAAO,QAAUuB,KC1KjB,IAAAkB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,OAAAC,GAAQ,OAAAC,GAAQ,SAAAC,GAAU,cAAAC,EAAc,EAAI,KAC9C,CAAE,IAAAC,EAAI,EAAI,QAAQ,KAAK,EACvBC,GAAQ,KACRC,GAAO,KACPC,GAAiB,KACjB,CAAE,qBAAAC,GAAsB,oBAAAC,EAAoB,EAAI,IAChDC,GAAiB,KAEjBC,GAAS,OAAO,aAAa,EAC7BC,GAAU,OAAO,cAAc,EAC/BC,GAAgB,OAAO,eAAe,EACtCC,GAAc,OAAO,sBAAsB,EAC3CC,GAAY,OAAO,oBAAoB,EACvCC,GAAmB,OAAO,2BAA2B,EAE3D,SAASC,GAAqBC,EAAU,CACtC,OAAOA,IAAa,SAAW,IAAM,EACvC,CAEA,SAASC,GAAmBC,EAAM,CAKhC,GAJI,OAAOA,GAAS,WAClBA,EAAO,CAAE,IAAKA,CAAK,GAGjB,CAACA,GAAQ,CAACA,EAAK,IACjB,MAAM,IAAIZ,GAAqB,6BAA6B,EAG9D,MAAO,CACL,IAAKY,EAAK,IACV,SAAUA,EAAK,UAAY,OAC7B,CACF,CAEA,SAASC,GAAgBC,EAAQF,EAAM,CACrC,OAAO,IAAId,GAAKgB,EAAQF,CAAI,CAC9B,CAEA,IAAMG,GAAN,cAAyBhB,EAAe,CACtC,YAAaa,EAAM,CAYjB,GAXA,MAAMA,CAAI,EACV,KAAKpB,EAAM,EAAImB,GAAkBC,CAAI,EACrC,KAAKT,EAAM,EAAI,IAAIN,GAAMe,CAAI,EAC7B,KAAKjB,EAAa,EAAIiB,EAAK,cAAgBA,EAAK,aAAa,YAAc,MAAM,QAAQA,EAAK,aAAa,UAAU,EACjHA,EAAK,aAAa,WAClB,CAAC,EAED,OAAOA,GAAS,WAClBA,EAAO,CAAE,IAAKA,CAAK,GAGjB,CAACA,GAAQ,CAACA,EAAK,IACjB,MAAM,IAAIZ,GAAqB,6BAA6B,EAG9D,GAAM,CAAE,cAAAgB,EAAgBH,EAAe,EAAID,EAE3C,GAAI,OAAOI,GAAkB,WAC3B,MAAM,IAAIhB,GAAqB,8CAA8C,EAO/E,GAJA,KAAKM,EAAW,EAAIM,EAAK,WACzB,KAAKL,EAAS,EAAIK,EAAK,SACvB,KAAKP,EAAa,EAAIO,EAAK,SAAW,CAAC,EAEnCA,EAAK,MAAQA,EAAK,MACpB,MAAM,IAAIZ,GAAqB,yDAAyD,EAC/EY,EAAK,KAEd,KAAKP,EAAa,EAAE,qBAAqB,EAAI,SAASO,EAAK,IAAI,GACtDA,EAAK,QACd,KAAKP,EAAa,EAAE,qBAAqB,EAAIO,EAAK,OAGpD,IAAMK,EAAc,IAAIrB,GAAIgB,EAAK,GAAG,EAC9B,CAAE,OAAAE,EAAQ,KAAAI,EAAM,KAAAC,CAAK,EAAIF,EAEzBG,EAAUlB,GAAe,CAAE,GAAGU,EAAK,QAAS,CAAC,EACnD,KAAKJ,EAAgB,EAAIN,GAAe,CAAE,GAAGU,EAAK,UAAW,CAAC,EAC9D,KAAKR,EAAO,EAAIY,EAAcC,EAAa,CAAE,QAAAG,CAAQ,CAAC,EACtD,KAAKjB,EAAM,EAAI,IAAIN,GAAM,CACvB,GAAGe,EACH,QAAS,MAAOA,EAAMS,IAAa,CACjC,IAAIC,EAAgBV,EAAK,KACpBA,EAAK,OACRU,GAAiB,IAAIb,GAAoBG,EAAK,QAAQ,CAAC,IAEzD,GAAI,CACF,GAAM,CAAE,OAAAW,EAAQ,WAAAC,CAAW,EAAI,MAAM,KAAKpB,EAAO,EAAE,QAAQ,CACzD,OAAAU,EACA,KAAAI,EACA,KAAMI,EACN,OAAQV,EAAK,OACb,QAAS,CACP,GAAG,KAAKP,EAAa,EACrB,KAAAc,CACF,CACF,CAAC,EAKD,GAJIK,IAAe,MACjBD,EAAO,GAAG,QAAS,IAAM,CAAC,CAAC,EAAE,QAAQ,EACrCF,EAAS,IAAIpB,GAAoB,4CAA4C,CAAC,GAE5EW,EAAK,WAAa,SAAU,CAC9BS,EAAS,KAAME,CAAM,EACrB,MACF,CACA,IAAIE,EACA,KAAKnB,EAAW,EAClBmB,EAAa,KAAKnB,EAAW,EAAE,WAE/BmB,EAAab,EAAK,WAEpB,KAAKJ,EAAgB,EAAE,CAAE,GAAGI,EAAM,WAAAa,EAAY,WAAYF,CAAO,EAAGF,CAAQ,CAC9E,OAASK,EAAK,CACZL,EAASK,CAAG,CACd,CACF,CACF,CAAC,CACH,CAEA,SAAUd,EAAMe,EAAS,CACvB,GAAM,CAAE,KAAAR,CAAK,EAAI,IAAIvB,GAAIgB,EAAK,MAAM,EAC9BgB,EAAUC,GAAajB,EAAK,OAAO,EACzC,OAAAkB,GAAuBF,CAAO,EACvB,KAAKzB,EAAM,EAAE,SAClB,CACE,GAAGS,EACH,QAAS,CACP,GAAGgB,EACH,KAAAT,CACF,CACF,EACAQ,CACF,CACF,CAEA,MAAOlC,EAAM,GAAK,CAChB,MAAM,KAAKU,EAAM,EAAE,MAAM,EACzB,MAAM,KAAKC,EAAO,EAAE,MAAM,CAC5B,CAEA,MAAOV,EAAQ,GAAK,CAClB,MAAM,KAAKS,EAAM,EAAE,QAAQ,EAC3B,MAAM,KAAKC,EAAO,EAAE,QAAQ,CAC9B,CACF,EAMA,SAASyB,GAAcD,EAAS,CAG9B,GAAI,MAAM,QAAQA,CAAO,EAAG,CAE1B,IAAMG,EAAc,CAAC,EAErB,QAASC,EAAI,EAAGA,EAAIJ,EAAQ,OAAQI,GAAK,EACvCD,EAAYH,EAAQI,CAAC,CAAC,EAAIJ,EAAQI,EAAI,CAAC,EAGzC,OAAOD,CACT,CAEA,OAAOH,CACT,CAUA,SAASE,GAAwBF,EAAS,CAGxC,GAFuBA,GAAW,OAAO,KAAKA,CAAO,EAClD,KAAMK,GAAQA,EAAI,YAAY,IAAM,qBAAqB,EAE1D,MAAM,IAAIjC,GAAqB,8DAA8D,CAEjG,CAEAT,GAAO,QAAUwB,KC1LjB,IAAAmB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAIA,IAAMC,GAAmB,OAAO,IAAI,2BAA2B,EACzD,CAAE,qBAAAC,EAAqB,EAAI,IAC3BC,GAAQ,KAEVC,GAAoB,IAAM,QAC5BC,GAAoB,IAAIF,EAAO,EAGjC,SAASE,GAAqBC,EAAO,CACnC,GAAI,CAACA,GAAS,OAAOA,EAAM,UAAa,WACtC,MAAM,IAAIJ,GAAqB,qCAAqC,EAEtE,OAAO,eAAe,WAAYD,GAAkB,CAClD,MAAOK,EACP,SAAU,GACV,WAAY,GACZ,aAAc,EAChB,CAAC,CACH,CAEA,SAASF,IAAuB,CAC9B,OAAO,WAAWH,EAAgB,CACpC,CAEAD,GAAO,QAAU,CACf,oBAAAK,GACA,oBAAAD,EACF,IC/BA,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEAA,GAAO,QAAU,KAAuB,CACtC,YAAaC,EAAS,CACpB,KAAK,QAAUA,CACjB,CAEA,aAAcC,EAAM,CAClB,OAAO,KAAK,QAAQ,UAAU,GAAGA,CAAI,CACvC,CAEA,WAAYA,EAAM,CAChB,OAAO,KAAK,QAAQ,QAAQ,GAAGA,CAAI,CACrC,CAEA,aAAcA,EAAM,CAClB,OAAO,KAAK,QAAQ,UAAU,GAAGA,CAAI,CACvC,CAEA,aAAcA,EAAM,CAClB,OAAO,KAAK,QAAQ,UAAU,GAAGA,CAAI,CACvC,CAEA,UAAWA,EAAM,CACf,OAAO,KAAK,QAAQ,OAAO,GAAGA,CAAI,CACpC,CAEA,cAAeA,EAAM,CACnB,OAAO,KAAK,QAAQ,WAAW,GAAGA,CAAI,CACxC,CAEA,cAAeA,EAAM,CACnB,OAAO,KAAK,QAAQ,WAAW,GAAGA,CAAI,CACxC,CACF,IClCA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAIA,GAAM,CAAE,aAAAC,EAAa,EAAI,KACnB,CAAE,OAAAC,EAAO,EAAI,KACb,CAAE,oBAAAC,EAAoB,EAAI,IAC1B,CACJ,aAAAC,GACA,kBAAAC,GACA,mBAAAC,EACF,EAAI,KACE,CAAE,OAAAC,CAAO,EAAI,KACbC,GAAS,QAAQ,QAAQ,EAEzBC,GAAc,OAAO,aAAa,EAClCC,GAAoB,OAAO,oBAAoB,EAMrD,SAASC,GAAsBC,EAAgB,CAO7C,IAAIC,EAAID,EAAe,OACvB,KAAO,YAAY,KAAKA,EAAe,OAAO,EAAEC,CAAC,CAAC,GAAE,CACpD,OAAOD,EAAe,MAAM,EAAGC,EAAI,CAAC,EAAE,QAAQ,cAAe,EAAE,CACjE,CAEA,SAASC,GAAMC,EAASC,EAAQ,CAK9B,GAAI,MAAM,QAAQA,CAAM,EACtB,QAAWC,KAAUD,EAAQ,CAE3B,GAAIC,EAAO,SAAW,EACpB,MAAMV,EAAO,OAAO,UAAU,CAC5B,OAAQ,sBACR,QAAS,kDAAkDU,EAAO,MAAM,GAC1E,CAAC,EAIHF,EAAQ,OAAOE,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,CACrC,SACS,OAAOD,GAAW,UAAYA,IAAW,KAKlD,OAAW,CAACE,EAAKC,CAAK,IAAK,OAAO,QAAQH,CAAM,EAC9CD,EAAQ,OAAOG,EAAKC,CAAK,MAG3B,OAAMZ,EAAO,OAAO,iBAAiB,CACnC,OAAQ,sBACR,SAAU,aACV,MAAO,CAAC,iCAAkC,gCAAgC,CAC5E,CAAC,CAEL,CAEA,IAAMa,GAAN,MAAMC,CAAY,CAEhB,QAAU,KAEV,YAAaC,EAAM,CACbA,aAAgBD,GAClB,KAAKZ,EAAW,EAAI,IAAI,IAAIa,EAAKb,EAAW,CAAC,EAC7C,KAAKC,EAAiB,EAAIY,EAAKZ,EAAiB,EAChD,KAAK,QAAUY,EAAK,UAEpB,KAAKb,EAAW,EAAI,IAAI,IAAIa,CAAI,EAChC,KAAKZ,EAAiB,EAAI,KAE9B,CAGA,SAAUa,EAAM,CAId,OAAAA,EAAOA,EAAK,YAAY,EAEjB,KAAKd,EAAW,EAAE,IAAIc,CAAI,CACnC,CAEA,OAAS,CACP,KAAKd,EAAW,EAAE,MAAM,EACxB,KAAKC,EAAiB,EAAI,KAC1B,KAAK,QAAU,IACjB,CAGA,OAAQa,EAAMJ,EAAO,CACnB,KAAKT,EAAiB,EAAI,KAI1B,IAAMc,EAAgBD,EAAK,YAAY,EACjCE,EAAS,KAAKhB,EAAW,EAAE,IAAIe,CAAa,EAGlD,GAAIC,EAAQ,CACV,IAAMC,EAAYF,IAAkB,SAAW,KAAO,KACtD,KAAKf,EAAW,EAAE,IAAIe,EAAe,CACnC,KAAMC,EAAO,KACb,MAAO,GAAGA,EAAO,KAAK,GAAGC,CAAS,GAAGP,CAAK,EAC5C,CAAC,CACH,MACE,KAAKV,EAAW,EAAE,IAAIe,EAAe,CAAE,KAAAD,EAAM,MAAAJ,CAAM,CAAC,EAGlDK,IAAkB,eACpB,KAAK,UAAY,CAAC,EAClB,KAAK,QAAQ,KAAKL,CAAK,EAE3B,CAGA,IAAKI,EAAMJ,EAAO,CAChB,KAAKT,EAAiB,EAAI,KAC1B,IAAMc,EAAgBD,EAAK,YAAY,EAEvC,OAAIC,IAAkB,eACpB,KAAK,QAAU,CAACL,CAAK,GAOhB,KAAKV,EAAW,EAAE,IAAIe,EAAe,CAAE,KAAAD,EAAM,MAAAJ,CAAM,CAAC,CAC7D,CAGA,OAAQI,EAAM,CACZ,YAAKb,EAAiB,EAAI,KAE1Ba,EAAOA,EAAK,YAAY,EAEpBA,IAAS,eACX,KAAK,QAAU,MAGV,KAAKd,EAAW,EAAE,OAAOc,CAAI,CACtC,CAGA,IAAKA,EAAM,CAET,OAAK,KAAK,SAASA,CAAI,EAOhB,KAAKd,EAAW,EAAE,IAAIc,EAAK,YAAY,CAAC,GAAG,OAAS,KANlD,IAOX,CAEA,EAAG,OAAO,QAAQ,GAAK,CAErB,OAAW,CAACA,EAAM,CAAE,MAAAJ,CAAM,CAAC,IAAK,KAAKV,EAAW,EAC9C,KAAM,CAACc,EAAMJ,CAAK,CAEtB,CAEA,IAAI,SAAW,CACb,IAAMJ,EAAU,CAAC,EAEjB,GAAI,KAAKN,EAAW,EAAE,KACpB,OAAW,CAAE,KAAAc,EAAM,MAAAJ,CAAM,IAAK,KAAKV,EAAW,EAAE,OAAO,EACrDM,EAAQQ,CAAI,EAAIJ,EAIpB,OAAOJ,CACT,CACF,EAGMY,GAAN,MAAMC,CAAQ,CACZ,YAAaN,EAAO,OAAW,CAC7B,KAAKrB,EAAY,EAAI,IAAImB,GAKzB,KAAKlB,EAAM,EAAI,OAGXoB,IAAS,SACXA,EAAOf,EAAO,WAAW,YAAYe,CAAI,EACzCR,GAAK,KAAMQ,CAAI,EAEnB,CAGA,OAAQC,EAAMJ,EAAO,CAanB,GAZAZ,EAAO,WAAW,KAAMqB,CAAO,EAE/BrB,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,gBAAiB,CAAC,EAErEgB,EAAOhB,EAAO,WAAW,WAAWgB,CAAI,EACxCJ,EAAQZ,EAAO,WAAW,WAAWY,CAAK,EAG1CA,EAAQR,GAAqBQ,CAAK,EAI7Bd,GAAkBkB,CAAI,GAMpB,GAAI,CAACjB,GAAmBa,CAAK,EAClC,MAAMZ,EAAO,OAAO,gBAAgB,CAClC,OAAQ,iBACR,MAAAY,EACA,KAAM,cACR,CAAC,MAVD,OAAMZ,EAAO,OAAO,gBAAgB,CAClC,OAAQ,iBACR,MAAOgB,EACP,KAAM,aACR,CAAC,EAaH,GAAI,KAAKrB,EAAM,IAAM,YACnB,MAAM,IAAI,UAAU,WAAW,EAC1B,OAAI,KAAKA,EAAM,EAWf,KAAKD,EAAY,EAAE,OAAOsB,EAAMJ,CAAK,CAC9C,CAGA,OAAQI,EAAM,CAQZ,GAPAhB,EAAO,WAAW,KAAMqB,CAAO,EAE/BrB,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,gBAAiB,CAAC,EAErEgB,EAAOhB,EAAO,WAAW,WAAWgB,CAAI,EAGpC,CAAClB,GAAkBkB,CAAI,EACzB,MAAMhB,EAAO,OAAO,gBAAgB,CAClC,OAAQ,iBACR,MAAOgB,EACP,KAAM,aACR,CAAC,EAaH,GAAI,KAAKrB,EAAM,IAAM,YACnB,MAAM,IAAI,UAAU,WAAW,EAOjC,GANW,KAAKA,EAAM,EAMlB,EAAC,KAAKD,EAAY,EAAE,SAASsB,CAAI,EAOrC,OAAO,KAAKtB,EAAY,EAAE,OAAOsB,CAAI,CACvC,CAGA,IAAKA,EAAM,CAQT,GAPAhB,EAAO,WAAW,KAAMqB,CAAO,EAE/BrB,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,aAAc,CAAC,EAElEgB,EAAOhB,EAAO,WAAW,WAAWgB,CAAI,EAGpC,CAAClB,GAAkBkB,CAAI,EACzB,MAAMhB,EAAO,OAAO,gBAAgB,CAClC,OAAQ,cACR,MAAOgB,EACP,KAAM,aACR,CAAC,EAKH,OAAO,KAAKtB,EAAY,EAAE,IAAIsB,CAAI,CACpC,CAGA,IAAKA,EAAM,CAQT,GAPAhB,EAAO,WAAW,KAAMqB,CAAO,EAE/BrB,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,aAAc,CAAC,EAElEgB,EAAOhB,EAAO,WAAW,WAAWgB,CAAI,EAGpC,CAAClB,GAAkBkB,CAAI,EACzB,MAAMhB,EAAO,OAAO,gBAAgB,CAClC,OAAQ,cACR,MAAOgB,EACP,KAAM,aACR,CAAC,EAKH,OAAO,KAAKtB,EAAY,EAAE,SAASsB,CAAI,CACzC,CAGA,IAAKA,EAAMJ,EAAO,CAahB,GAZAZ,EAAO,WAAW,KAAMqB,CAAO,EAE/BrB,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,aAAc,CAAC,EAElEgB,EAAOhB,EAAO,WAAW,WAAWgB,CAAI,EACxCJ,EAAQZ,EAAO,WAAW,WAAWY,CAAK,EAG1CA,EAAQR,GAAqBQ,CAAK,EAI7Bd,GAAkBkB,CAAI,GAMpB,GAAI,CAACjB,GAAmBa,CAAK,EAClC,MAAMZ,EAAO,OAAO,gBAAgB,CAClC,OAAQ,cACR,MAAAY,EACA,KAAM,cACR,CAAC,MAVD,OAAMZ,EAAO,OAAO,gBAAgB,CAClC,OAAQ,cACR,MAAOgB,EACP,KAAM,aACR,CAAC,EAkBH,GAAI,KAAKrB,EAAM,IAAM,YACnB,MAAM,IAAI,UAAU,WAAW,EAC1B,OAAI,KAAKA,EAAM,EAOf,KAAKD,EAAY,EAAE,IAAIsB,EAAMJ,CAAK,CAC3C,CAGA,cAAgB,CACdZ,EAAO,WAAW,KAAMqB,CAAO,EAM/B,IAAMC,EAAO,KAAK5B,EAAY,EAAE,QAEhC,OAAI4B,EACK,CAAC,GAAGA,CAAI,EAGV,CAAC,CACV,CAGA,IAAKnB,EAAiB,GAAK,CACzB,GAAI,KAAKT,EAAY,EAAES,EAAiB,EACtC,OAAO,KAAKT,EAAY,EAAES,EAAiB,EAK7C,IAAMK,EAAU,CAAC,EAIXe,EAAQ,CAAC,GAAG,KAAK7B,EAAY,CAAC,EAAE,KAAK,CAAC8B,EAAGC,IAAMD,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAI,GAAK,CAAC,EACnEC,EAAU,KAAKhC,EAAY,EAAE,QAGnC,OAAW,CAACsB,EAAMJ,CAAK,IAAKW,EAE1B,GAAIP,IAAS,aAMX,QAAWJ,KAASc,EAClBlB,EAAQ,KAAK,CAACQ,EAAMJ,CAAK,CAAC,OAQ5BX,GAAOW,IAAU,IAAI,EAGrBJ,EAAQ,KAAK,CAACQ,EAAMJ,CAAK,CAAC,EAI9B,YAAKlB,EAAY,EAAES,EAAiB,EAAIK,EAGjCA,CACT,CAEA,MAAQ,CACN,OAAAR,EAAO,WAAW,KAAMqB,CAAO,EAExBxB,GACL,IAAM,CAAC,GAAG,KAAKM,EAAiB,EAAE,OAAO,CAAC,EAC1C,UACA,KACF,CACF,CAEA,QAAU,CACR,OAAAH,EAAO,WAAW,KAAMqB,CAAO,EAExBxB,GACL,IAAM,CAAC,GAAG,KAAKM,EAAiB,EAAE,OAAO,CAAC,EAC1C,UACA,OACF,CACF,CAEA,SAAW,CACT,OAAAH,EAAO,WAAW,KAAMqB,CAAO,EAExBxB,GACL,IAAM,CAAC,GAAG,KAAKM,EAAiB,EAAE,OAAO,CAAC,EAC1C,UACA,WACF,CACF,CAMA,QAASwB,EAAYC,EAAU,WAAY,CAKzC,GAJA5B,EAAO,WAAW,KAAMqB,CAAO,EAE/BrB,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,iBAAkB,CAAC,EAElE,OAAO2B,GAAe,WACxB,MAAM,IAAI,UACR,kFACF,EAGF,OAAW,CAAChB,EAAKC,CAAK,IAAK,KACzBe,EAAW,MAAMC,EAAS,CAAChB,EAAOD,EAAK,IAAI,CAAC,CAEhD,CAEA,CAAC,OAAO,IAAI,4BAA4B,CAAC,GAAK,CAC5C,OAAAX,EAAO,WAAW,KAAMqB,CAAO,EAExB,KAAK3B,EAAY,CAC1B,CACF,EAEA0B,GAAQ,UAAU,OAAO,QAAQ,EAAIA,GAAQ,UAAU,QAEvD,OAAO,iBAAiBA,GAAQ,UAAW,CACzC,OAAQxB,GACR,OAAQA,GACR,IAAKA,GACL,IAAKA,GACL,IAAKA,GACL,aAAcA,GACd,KAAMA,GACN,OAAQA,GACR,QAASA,GACT,QAASA,GACT,CAAC,OAAO,QAAQ,EAAG,CAAE,WAAY,EAAM,EACvC,CAAC,OAAO,WAAW,EAAG,CACpB,MAAO,UACP,aAAc,EAChB,CACF,CAAC,EAEDI,EAAO,WAAW,YAAc,SAAU6B,EAAG,CAC3C,GAAI7B,EAAO,KAAK,KAAK6B,CAAC,IAAM,SAC1B,OAAIA,EAAE,OAAO,QAAQ,EACZ7B,EAAO,WAAW,gCAAgC,EAAE6B,CAAC,EAGvD7B,EAAO,WAAW,gCAAgC,EAAE6B,CAAC,EAG9D,MAAM7B,EAAO,OAAO,iBAAiB,CACnC,OAAQ,sBACR,SAAU,aACV,MAAO,CAAC,iCAAkC,gCAAgC,CAC5E,CAAC,CACH,EAEAP,GAAO,QAAU,CACf,KAAAc,GACA,QAAAa,GACA,YAAAP,EACF,ICviBA,IAAAiB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,QAAAC,GAAS,YAAAC,GAAa,KAAAC,EAAK,EAAI,KACjC,CAAE,YAAAC,GAAa,UAAAC,GAAW,UAAAC,EAAU,EAAI,KACxCC,GAAO,IACP,CAAE,oBAAAC,EAAoB,EAAID,GAC1B,CACJ,oBAAAE,GACA,YAAAC,GACA,UAAAC,GACA,WAAAC,GACA,qCAAAC,GACA,YAAAC,GACA,iBAAAC,EACF,EAAI,KACE,CACJ,eAAAC,GACA,eAAAC,GACA,aAAAC,EACF,EAAI,KACE,CAAE,OAAAC,GAAQ,SAAAC,GAAU,OAAAC,GAAQ,OAAAC,EAAO,EAAI,KACvC,CAAE,OAAAC,CAAO,EAAI,KACb,CAAE,SAAAC,EAAS,EAAI,KACf,CAAE,gBAAAC,EAAgB,EAAI,KACtB,CAAE,cAAAC,EAAc,EAAI,KACpB,CAAE,aAAAC,EAAa,EAAI,KACnBC,GAAS,QAAQ,QAAQ,EACzB,CAAE,MAAAC,EAAM,EAAI,QAAQ,MAAM,EAE1BC,GAAiB,WAAW,gBAAkB,QAAQ,YAAY,EAAE,eAGpEC,GAAN,MAAMC,CAAS,CAEb,OAAO,OAAS,CAEd,IAAMC,EAAgB,CAAE,eAAgB,CAAC,CAAE,EAKrCC,EAAiB,IAAIF,EAC3B,OAAAE,EAAef,EAAM,EAAIgB,GAAiB,EAC1CD,EAAeZ,EAAM,EAAIW,EACzBC,EAAed,EAAQ,EAAEO,EAAY,EAAIO,EAAef,EAAM,EAAE,YAChEe,EAAed,EAAQ,EAAEC,EAAM,EAAI,YACnCa,EAAed,EAAQ,EAAEE,EAAM,EAAIW,EAC5BC,CACT,CAGA,OAAO,KAAME,EAAO,OAAWC,EAAO,CAAC,EAAG,CACxCd,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,eAAgB,CAAC,EAEhEc,IAAS,OACXA,EAAOd,EAAO,WAAW,aAAac,CAAI,GAI5C,IAAMC,EAAQ,IAAI,YAAY,OAAO,EAAE,OACrCzB,GAAqCuB,CAAI,CAC3C,EAGMG,EAAOnC,GAAYkC,CAAK,EAIxBL,EAAgB,CAAE,eAAgB,CAAC,CAAE,EACrCC,EAAiB,IAAIF,EAC3B,OAAAE,EAAeZ,EAAM,EAAIW,EACzBC,EAAed,EAAQ,EAAEC,EAAM,EAAI,WACnCa,EAAed,EAAQ,EAAEE,EAAM,EAAIW,EAGnCO,GAAmBN,EAAgBG,EAAM,CAAE,KAAME,EAAK,CAAC,EAAG,KAAM,kBAAmB,CAAC,EAG7EL,CACT,CAGA,OAAO,SAAUO,EAAKC,EAAS,IAAK,CAClC,IAAMT,EAAgB,CAAE,eAAgB,CAAC,CAAE,EAE3CV,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,mBAAoB,CAAC,EAExEkB,EAAMlB,EAAO,WAAW,UAAUkB,CAAG,EACrCC,EAASnB,EAAO,WAAW,gBAAgB,EAAEmB,CAAM,EAMnD,IAAIC,EACJ,GAAI,CACFA,EAAY,IAAI,IAAIF,EAAKhB,GAAgB,CAAC,CAC5C,OAASmB,EAAK,CACZ,MAAM,OAAO,OAAO,IAAI,UAAU,4BAA8BH,CAAG,EAAG,CACpE,MAAOG,CACT,CAAC,CACH,CAGA,GAAI,CAAC5B,GAAe,SAAS0B,CAAM,EACjC,MAAM,IAAI,WAAW,uBAAyBA,CAAM,EAKtD,IAAMR,EAAiB,IAAIF,EAC3BE,EAAeZ,EAAM,EAAIW,EACzBC,EAAed,EAAQ,EAAEC,EAAM,EAAI,YACnCa,EAAed,EAAQ,EAAEE,EAAM,EAAIW,EAGnCC,EAAef,EAAM,EAAE,OAASuB,EAGhC,IAAMG,EAAQ9B,GAAiBW,GAAciB,CAAS,CAAC,EAGvD,OAAAT,EAAef,EAAM,EAAE,YAAY,OAAO,WAAY0B,CAAK,EAGpDX,CACT,CAGA,YAAaK,EAAO,KAAMF,EAAO,CAAC,EAAG,CAC/BE,IAAS,OACXA,EAAOhB,EAAO,WAAW,SAASgB,CAAI,GAGxCF,EAAOd,EAAO,WAAW,aAAac,CAAI,EAG1C,KAAKf,EAAM,EAAI,CAAE,eAAgB,CAAC,CAAE,EAGpC,KAAKH,EAAM,EAAI2B,GAAa,CAAC,CAAC,EAK9B,KAAK1B,EAAQ,EAAI,IAAInB,GACrB,KAAKmB,EAAQ,EAAEC,EAAM,EAAI,WACzB,KAAKD,EAAQ,EAAEO,EAAY,EAAI,KAAKR,EAAM,EAAE,YAC5C,KAAKC,EAAQ,EAAEE,EAAM,EAAI,KAAKA,EAAM,EAGpC,IAAIyB,EAAe,KAGnB,GAAIR,GAAQ,KAAM,CAChB,GAAM,CAACS,EAAeC,CAAI,EAAI7C,GAAYmC,CAAI,EAC9CQ,EAAe,CAAE,KAAMC,EAAe,KAAAC,CAAK,CAC7C,CAGAT,GAAmB,KAAMH,EAAMU,CAAY,CAC7C,CAGA,IAAI,MAAQ,CACV,OAAAxB,EAAO,WAAW,KAAMS,CAAQ,EAGzB,KAAKb,EAAM,EAAE,IACtB,CAGA,IAAI,KAAO,CACTI,EAAO,WAAW,KAAMS,CAAQ,EAEhC,IAAMkB,EAAU,KAAK/B,EAAM,EAAE,QAKvBsB,EAAMS,EAAQA,EAAQ,OAAS,CAAC,GAAK,KAE3C,OAAIT,IAAQ,KACH,GAGFf,GAAce,EAAK,EAAI,CAChC,CAGA,IAAI,YAAc,CAChB,OAAAlB,EAAO,WAAW,KAAMS,CAAQ,EAIzB,KAAKb,EAAM,EAAE,QAAQ,OAAS,CACvC,CAGA,IAAI,QAAU,CACZ,OAAAI,EAAO,WAAW,KAAMS,CAAQ,EAGzB,KAAKb,EAAM,EAAE,MACtB,CAGA,IAAI,IAAM,CACR,OAAAI,EAAO,WAAW,KAAMS,CAAQ,EAIzB,KAAKb,EAAM,EAAE,QAAU,KAAO,KAAKA,EAAM,EAAE,QAAU,GAC9D,CAGA,IAAI,YAAc,CAChB,OAAAI,EAAO,WAAW,KAAMS,CAAQ,EAIzB,KAAKb,EAAM,EAAE,UACtB,CAGA,IAAI,SAAW,CACb,OAAAI,EAAO,WAAW,KAAMS,CAAQ,EAGzB,KAAKZ,EAAQ,CACtB,CAEA,IAAI,MAAQ,CACV,OAAAG,EAAO,WAAW,KAAMS,CAAQ,EAEzB,KAAKb,EAAM,EAAE,KAAO,KAAKA,EAAM,EAAE,KAAK,OAAS,IACxD,CAEA,IAAI,UAAY,CACd,OAAAI,EAAO,WAAW,KAAMS,CAAQ,EAEzB,CAAC,CAAC,KAAKb,EAAM,EAAE,MAAQZ,GAAK,YAAY,KAAKY,EAAM,EAAE,KAAK,MAAM,CACzE,CAGA,OAAS,CAIP,GAHAI,EAAO,WAAW,KAAMS,CAAQ,EAG5B,KAAK,UAAa,KAAK,MAAQ,KAAK,KAAK,OAC3C,MAAMT,EAAO,OAAO,UAAU,CAC5B,OAAQ,iBACR,QAAS,iCACX,CAAC,EAIH,IAAM4B,EAAiBC,GAAc,KAAKjC,EAAM,CAAC,EAI3CkC,EAAuB,IAAIrB,EACjC,OAAAqB,EAAqBlC,EAAM,EAAIgC,EAC/BE,EAAqB/B,EAAM,EAAI,KAAKA,EAAM,EAC1C+B,EAAqBjC,EAAQ,EAAEO,EAAY,EAAIwB,EAAe,YAC9DE,EAAqBjC,EAAQ,EAAEC,EAAM,EAAI,KAAKD,EAAQ,EAAEC,EAAM,EAC9DgC,EAAqBjC,EAAQ,EAAEE,EAAM,EAAI,KAAKF,EAAQ,EAAEE,EAAM,EAEvD+B,CACT,CACF,EAEA/C,GAAUyB,EAAQ,EAElB,OAAO,iBAAiBA,GAAS,UAAW,CAC1C,KAAMvB,GACN,IAAKA,GACL,OAAQA,GACR,GAAIA,GACJ,WAAYA,GACZ,WAAYA,GACZ,QAASA,GACT,MAAOA,GACP,KAAMA,GACN,SAAUA,GACV,CAAC,OAAO,WAAW,EAAG,CACpB,MAAO,WACP,aAAc,EAChB,CACF,CAAC,EAED,OAAO,iBAAiBuB,GAAU,CAChC,KAAMvB,GACN,SAAUA,GACV,MAAOA,EACT,CAAC,EAGD,SAAS4C,GAAeE,EAAU,CAMhC,GAAIA,EAAS,iBACX,OAAOC,GACLH,GAAcE,EAAS,gBAAgB,EACvCA,EAAS,IACX,EAIF,IAAME,EAAcV,GAAa,CAAE,GAAGQ,EAAU,KAAM,IAAK,CAAC,EAI5D,OAAIA,EAAS,MAAQ,OACnBE,EAAY,KAAOnD,GAAUiD,EAAS,IAAI,GAIrCE,CACT,CAEA,SAASV,GAAcT,EAAM,CAC3B,MAAO,CACL,QAAS,GACT,eAAgB,GAChB,kBAAmB,GACnB,2BAA4B,GAC5B,KAAM,UACN,OAAQ,IACR,WAAY,KACZ,WAAY,GACZ,WAAY,GACZ,GAAGA,EACH,YAAaA,EAAK,YACd,IAAInC,GAAYmC,EAAK,WAAW,EAChC,IAAInC,GACR,QAASmC,EAAK,QAAU,CAAC,GAAGA,EAAK,OAAO,EAAI,CAAC,CAC/C,CACF,CAEA,SAASF,GAAkBsB,EAAQ,CACjC,IAAMC,EAAU5C,GAAY2C,CAAM,EAClC,OAAOX,GAAa,CAClB,KAAM,QACN,OAAQ,EACR,MAAOY,EACHD,EACA,IAAI,MAAMA,GAAS,OAAOA,CAAM,CAAU,EAC9C,QAASA,GAAUA,EAAO,OAAS,YACrC,CAAC,CACH,CAEA,SAASE,GAAsBL,EAAUM,EAAO,CAC9C,OAAAA,EAAQ,CACN,iBAAkBN,EAClB,GAAGM,CACL,EAEO,IAAI,MAAMN,EAAU,CACzB,IAAKO,EAAQC,EAAG,CACd,OAAOA,KAAKF,EAAQA,EAAME,CAAC,EAAID,EAAOC,CAAC,CACzC,EACA,IAAKD,EAAQC,EAAGjB,EAAO,CACrB,OAAAjB,GAAO,EAAEkC,KAAKF,EAAM,EACpBC,EAAOC,CAAC,EAAIjB,EACL,EACT,CACF,CAAC,CACH,CAGA,SAASU,GAAgBD,EAAUL,EAAM,CAGvC,GAAIA,IAAS,QAMX,OAAOU,GAAqBL,EAAU,CACpC,KAAM,QACN,YAAaA,EAAS,WACxB,CAAC,EACI,GAAIL,IAAS,OAOlB,OAAOU,GAAqBL,EAAU,CACpC,KAAM,OACN,YAAaA,EAAS,WACxB,CAAC,EACI,GAAIL,IAAS,SAKlB,OAAOU,GAAqBL,EAAU,CACpC,KAAM,SACN,QAAS,OAAO,OAAO,CAAC,CAAC,EACzB,OAAQ,EACR,WAAY,GACZ,KAAM,IACR,CAAC,EACI,GAAIL,IAAS,iBAKlB,OAAOU,GAAqBL,EAAU,CACpC,KAAM,iBACN,OAAQ,EACR,WAAY,GACZ,YAAa,CAAC,EACd,KAAM,IACR,CAAC,EAED1B,GAAO,EAAK,CAEhB,CAGA,SAASmC,GAA6BC,EAAa,CAEjD,OAAApC,GAAOlB,GAAYsD,CAAW,CAAC,EAIxBrD,GAAUqD,CAAW,EACxB7B,GAAiB,IAAIjB,GAAa,6BAA8B,YAAY,CAAC,EAC7EiB,GAAiB,wBAAwB,CAC/C,CAGA,SAASK,GAAoBc,EAAUjB,EAAME,EAAM,CAGjD,GAAIF,EAAK,SAAW,OAASA,EAAK,OAAS,KAAOA,EAAK,OAAS,KAC9D,MAAM,IAAI,WAAW,+DAA+D,EAKtF,GAAI,eAAgBA,GAAQA,EAAK,YAAc,MAGzC,CAAC5B,GAAoB,OAAO4B,EAAK,UAAU,CAAC,EAC9C,MAAM,IAAI,UAAU,oBAAoB,EAoB5C,GAfI,WAAYA,GAAQA,EAAK,QAAU,OACrCiB,EAASnC,EAAM,EAAE,OAASkB,EAAK,QAI7B,eAAgBA,GAAQA,EAAK,YAAc,OAC7CiB,EAASnC,EAAM,EAAE,WAAakB,EAAK,YAIjC,YAAaA,GAAQA,EAAK,SAAW,MACvClC,GAAKmD,EAASlC,EAAQ,EAAGiB,EAAK,OAAO,EAInCE,EAAM,CAER,GAAItB,GAAe,SAASqC,EAAS,MAAM,EACzC,MAAM/B,EAAO,OAAO,UAAU,CAC5B,OAAQ,uBACR,QAAS,gCAAkC+B,EAAS,MACtD,CAAC,EAIHA,EAASnC,EAAM,EAAE,KAAOoB,EAAK,KAIzBA,EAAK,MAAQ,MAAQ,CAACe,EAASnC,EAAM,EAAE,YAAY,SAAS,cAAc,GAC5EmC,EAASnC,EAAM,EAAE,YAAY,OAAO,eAAgBoB,EAAK,IAAI,CAEjE,CACF,CAEAhB,EAAO,WAAW,eAAiBA,EAAO,mBACxCO,EACF,EAEAP,EAAO,WAAW,SAAWA,EAAO,mBAClCC,EACF,EAEAD,EAAO,WAAW,gBAAkBA,EAAO,mBACzC,eACF,EAGAA,EAAO,WAAW,uBAAyB,SAAU0C,EAAG,CACtD,OAAI,OAAOA,GAAM,SACR1C,EAAO,WAAW,UAAU0C,CAAC,EAGlCrD,GAAWqD,CAAC,EACP1C,EAAO,WAAW,KAAK0C,EAAG,CAAE,OAAQ,EAAM,CAAC,EAIlDpC,GAAM,iBAAiBoC,CAAC,GACxBpC,GAAM,aAAaoC,CAAC,GACpBpC,GAAM,WAAWoC,CAAC,EAEX1C,EAAO,WAAW,aAAa0C,CAAC,EAGrC1D,GAAK,eAAe0D,CAAC,EAChB1C,EAAO,WAAW,SAAS0C,EAAG,CAAE,OAAQ,EAAM,CAAC,EAGpDA,aAAa,gBACR1C,EAAO,WAAW,gBAAgB0C,CAAC,EAGrC1C,EAAO,WAAW,UAAU0C,CAAC,CACtC,EAGA1C,EAAO,WAAW,SAAW,SAAU0C,EAAG,CACxC,OAAIA,aAAanC,GACRP,EAAO,WAAW,eAAe0C,CAAC,EAKvCA,IAAI,OAAO,aAAa,EACnBA,EAGF1C,EAAO,WAAW,uBAAuB0C,CAAC,CACnD,EAEA1C,EAAO,WAAW,aAAeA,EAAO,oBAAoB,CAC1D,CACE,IAAK,SACL,UAAWA,EAAO,WAAW,gBAAgB,EAC7C,aAAc,GAChB,EACA,CACE,IAAK,aACL,UAAWA,EAAO,WAAW,WAC7B,aAAc,EAChB,EACA,CACE,IAAK,UACL,UAAWA,EAAO,WAAW,WAC/B,CACF,CAAC,EAEDvB,GAAO,QAAU,CACf,iBAAAmC,GACA,aAAAW,GACA,4BAAAiB,GACA,eAAAR,GACA,SAAAxB,GACA,cAAAqB,EACF,IC7jBA,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAIA,GAAM,CAAE,YAAAC,GAAa,UAAAC,GAAW,UAAAC,EAAU,EAAI,KACxC,CAAE,QAAAC,GAAS,KAAMC,GAAa,YAAAC,EAAY,EAAI,KAC9C,CAAE,qBAAAC,EAAqB,EAAI,KAAwC,EACnEC,GAAO,IACP,CACJ,iBAAAC,GACA,WAAAC,GACA,gBAAAC,GACA,oBAAAC,EACF,EAAI,KACE,CACJ,iBAAAC,GACA,sBAAAC,GACA,eAAAC,GACA,gBAAAC,GACA,YAAAC,GACA,mBAAAC,GACA,aAAAC,GACA,cAAAC,EACF,EAAI,KACE,CAAE,oBAAAC,EAAoB,EAAIb,GAC1B,CAAE,SAAAc,GAAU,QAAAC,GAAS,OAAAC,GAAQ,OAAAC,GAAQ,OAAAC,EAAO,EAAI,KAChD,CAAE,OAAAC,CAAO,EAAI,KACb,CAAE,gBAAAC,EAAgB,EAAI,KACtB,CAAE,cAAAC,EAAc,EAAI,KACpB,CAAE,aAAAC,EAAa,EAAI,KACnBC,GAAS,QAAQ,QAAQ,EACzB,CAAE,gBAAAC,GAAiB,gBAAAC,GAAiB,kBAAAC,GAAmB,oBAAAC,EAAoB,EAAI,QAAQ,QAAQ,EAEjGC,GAAkB,WAAW,gBAE3BC,GAAQ,OAAO,MAAM,EACrBC,GAAmB,OAAO,iBAAiB,EAE3CC,GAAmB,IAAIhC,GAAqB,CAAC,CAAE,OAAAiC,EAAQ,MAAAC,CAAM,IAAM,CACvED,EAAO,oBAAoB,QAASC,CAAK,CAC3C,CAAC,EAGKC,GAAN,MAAMC,CAAQ,CAEZ,YAAaC,EAAOC,EAAO,CAAC,EAAG,CAC7B,GAAID,IAAUP,GACZ,OAGFV,EAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,qBAAsB,CAAC,EAE1EiB,EAAQjB,EAAO,WAAW,YAAYiB,CAAK,EAC3CC,EAAOlB,EAAO,WAAW,YAAYkB,CAAI,EAGzC,KAAKnB,EAAM,EAAI,CACb,eAAgB,CACd,QAASE,GAAgB,EACzB,IAAI,QAAU,CACZ,OAAO,KAAK,SAAS,MACvB,EACA,gBAAiBhB,GAAoB,CACvC,CACF,EAGA,IAAIkC,EAAU,KAGVC,EAAe,KAGbC,EAAU,KAAKtB,EAAM,EAAE,eAAe,QAGxCc,EAAS,KAGb,GAAI,OAAOI,GAAU,SAAU,CAG7B,IAAIK,EACJ,GAAI,CACFA,EAAY,IAAI,IAAIL,EAAOI,CAAO,CACpC,OAASE,EAAK,CACZ,MAAM,IAAI,UAAU,4BAA8BN,EAAO,CAAE,MAAOM,CAAI,CAAC,CACzE,CAGA,GAAID,EAAU,UAAYA,EAAU,SAClC,MAAM,IAAI,UACR,uEACEL,CACJ,EAIFE,EAAUK,GAAY,CAAE,QAAS,CAACF,CAAS,CAAE,CAAC,EAG9CF,EAAe,MACjB,MAIEhB,GAAOa,aAAiBD,CAAO,EAG/BG,EAAUF,EAAMpB,EAAM,EAGtBgB,EAASI,EAAMrB,EAAO,EAIxB,IAAM6B,EAAS,KAAK1B,EAAM,EAAE,eAAe,OAGvC2B,EAAS,SAYb,GAPEP,EAAQ,QAAQ,aAAa,OAAS,6BACtCpC,GAAWoC,EAAQ,OAAQM,CAAM,IAEjCC,EAASP,EAAQ,QAIfD,EAAK,QAAU,KACjB,MAAM,IAAI,UAAU,oBAAoBQ,CAAM,gBAAgB,EAmFhE,GA/EI,WAAYR,IACdQ,EAAS,aAIXP,EAAUK,GAAY,CAIpB,OAAQL,EAAQ,OAGhB,YAAaA,EAAQ,YAErB,cAAeA,EAAQ,cAEvB,OAAQ,KAAKpB,EAAM,EAAE,eAErB,OAAA2B,EAEA,SAAUP,EAAQ,SAIlB,OAAQA,EAAQ,OAEhB,SAAUA,EAAQ,SAElB,eAAgBA,EAAQ,eAExB,KAAMA,EAAQ,KAEd,YAAaA,EAAQ,YAErB,MAAOA,EAAQ,MAEf,SAAUA,EAAQ,SAElB,UAAWA,EAAQ,UAEnB,UAAWA,EAAQ,UAEnB,iBAAkBA,EAAQ,iBAE1B,kBAAmBA,EAAQ,kBAE3B,QAAS,CAAC,GAAGA,EAAQ,OAAO,CAC9B,CAAC,EAGG,OAAO,KAAKD,CAAI,EAAE,OAAS,IAEzBC,EAAQ,OAAS,aACnBA,EAAQ,KAAO,eAIjBA,EAAQ,iBAAmB,GAG3BA,EAAQ,kBAAoB,GAG5BA,EAAQ,OAAS,SAGjBA,EAAQ,SAAW,SAGnBA,EAAQ,eAAiB,GAGzBA,EAAQ,IAAMA,EAAQ,QAAQA,EAAQ,QAAQ,OAAS,CAAC,EAGxDA,EAAQ,QAAU,CAACA,EAAQ,GAAG,GAI5BD,EAAK,WAAa,OAAW,CAE/B,IAAMS,EAAWT,EAAK,SAGtB,GAAIS,IAAa,GACfR,EAAQ,SAAW,kBACd,CAIL,IAAIS,EACJ,GAAI,CACFA,EAAiB,IAAI,IAAID,EAAUN,CAAO,CAC5C,OAASE,EAAK,CACZ,MAAM,IAAI,UAAU,aAAaI,CAAQ,wBAAyB,CAAE,MAAOJ,CAAI,CAAC,CAClF,CAOGK,EAAe,WAAa,UAAYA,EAAe,WAAa,UACpEH,GAAU,CAAC1C,GAAW6C,EAAgB,KAAK7B,EAAM,EAAE,eAAe,OAAO,EAE1EoB,EAAQ,SAAW,SAGnBA,EAAQ,SAAWS,CAEvB,CACF,CAIIV,EAAK,iBAAmB,SAC1BC,EAAQ,eAAiBD,EAAK,gBAIhC,IAAIW,EAQJ,GAPIX,EAAK,OAAS,OAChBW,EAAOX,EAAK,KAEZW,EAAOT,EAILS,IAAS,WACX,MAAM7B,EAAO,OAAO,UAAU,CAC5B,OAAQ,sBACR,QAAS,gCACX,CAAC,EAqBH,GAjBI6B,GAAQ,OACVV,EAAQ,KAAOU,GAKbX,EAAK,cAAgB,SACvBC,EAAQ,YAAcD,EAAK,aAIzBA,EAAK,QAAU,SACjBC,EAAQ,MAAQD,EAAK,OAKnBC,EAAQ,QAAU,kBAAoBA,EAAQ,OAAS,cACzD,MAAM,IAAI,UACR,0DACF,EAmBF,GAfID,EAAK,WAAa,SACpBC,EAAQ,SAAWD,EAAK,UAItBA,EAAK,YAAc,QAAaA,EAAK,WAAa,OACpDC,EAAQ,UAAY,OAAOD,EAAK,SAAS,GAIvCA,EAAK,YAAc,SACrBC,EAAQ,UAAY,EAAQD,EAAK,WAI/BA,EAAK,SAAW,OAAW,CAE7B,IAAIY,EAASZ,EAAK,OAIlB,GAAI,CAACpC,GAAiBoC,EAAK,MAAM,EAC/B,MAAM,UAAU,IAAIA,EAAK,MAAM,+BAA+B,EAGhE,GAAIhC,GAAiB,QAAQ4C,EAAO,YAAY,CAAC,IAAM,GACrD,MAAM,UAAU,IAAIZ,EAAK,MAAM,+BAA+B,EAIhEY,EAAS9C,GAAgBkC,EAAK,MAAM,EAGpCC,EAAQ,OAASW,CACnB,CAGIZ,EAAK,SAAW,SAClBL,EAASK,EAAK,QAIhB,KAAKrB,EAAM,EAAIsB,EAMf,IAAMY,EAAK,IAAI,gBAKf,GAJA,KAAKnC,EAAO,EAAImC,EAAG,OACnB,KAAKnC,EAAO,EAAEG,EAAM,EAAI,KAAKA,EAAM,EAG/Bc,GAAU,KAAM,CAClB,GACE,CAACA,GACD,OAAOA,EAAO,SAAY,WAC1B,OAAOA,EAAO,kBAAqB,WAEnC,MAAM,IAAI,UACR,0EACF,EAGF,GAAIA,EAAO,QACTkB,EAAG,MAAMlB,EAAO,MAAM,MACjB,CAKL,KAAKF,EAAgB,EAAIoB,EAEzB,IAAMC,EAAQ,IAAI,QAAQD,CAAE,EACtBjB,EAAQ,UAAY,CACxB,IAAMiB,EAAKC,EAAM,MAAM,EACnBD,IAAO,QACTA,EAAG,MAAM,KAAK,MAAM,CAExB,EAIA,GAAI,EAGE,OAAO1B,IAAoB,YAAcA,GAAgBQ,CAAM,IAAML,IAE9DD,GAAkBM,EAAQ,OAAO,EAAE,QAAUL,KACtDF,GAAgB,IAAKO,CAAM,CAE/B,MAAQ,CAAC,CAEThC,GAAK,iBAAiBgC,EAAQC,CAAK,EACnCF,GAAiB,SAASmB,EAAI,CAAE,OAAAlB,EAAQ,MAAAC,CAAM,CAAC,CACjD,CACF,CAWA,GANA,KAAKnB,EAAQ,EAAI,IAAIlB,GACrB,KAAKkB,EAAQ,EAAEQ,EAAY,EAAIgB,EAAQ,YACvC,KAAKxB,EAAQ,EAAEG,EAAM,EAAI,UACzB,KAAKH,EAAQ,EAAEI,EAAM,EAAI,KAAKA,EAAM,EAGhC8B,IAAS,UAAW,CAGtB,GAAI,CAAC1C,GAAsB,SAASgC,EAAQ,MAAM,EAChD,MAAM,IAAI,UACR,IAAIA,EAAQ,MAAM,kCACpB,EAIF,KAAKxB,EAAQ,EAAEG,EAAM,EAAI,iBAC3B,CAGA,GAAI,OAAO,KAAKoB,CAAI,EAAE,SAAW,EAAG,CAGlC,IAAIe,EAAU,IAAIxD,GAAQ,KAAKkB,EAAQ,CAAC,EAYxC,GATIuB,EAAK,UAAY,SACnBe,EAAUf,EAAK,SAIjB,KAAKvB,EAAQ,EAAEQ,EAAY,EAAE,MAAM,EAI/B8B,EAAQ,YAAY,OAAS,UAC/B,OAAW,CAACC,EAAKC,CAAG,IAAKF,EACvB,KAAKtC,EAAQ,EAAE,OAAOuC,EAAKC,CAAG,OAIhCzD,GAAY,KAAKiB,EAAQ,EAAGsC,CAAO,CAEvC,CAIA,IAAMG,EAAYnB,aAAiBD,EAAUC,EAAMpB,EAAM,EAAE,KAAO,KAKlE,IACGqB,EAAK,MAAQ,MAAQkB,GAAa,QAClCjB,EAAQ,SAAW,OAASA,EAAQ,SAAW,QAEhD,MAAM,IAAI,UAAU,gDAAgD,EAItE,IAAIkB,EAAW,KAGf,GAAInB,EAAK,MAAQ,KAAM,CAIrB,GAAM,CAACoB,EAAeC,CAAW,EAAIjE,GACnC4C,EAAK,KACLC,EAAQ,SACV,EACAkB,EAAWC,EAKPC,GAAe,CAAC,KAAK5C,EAAQ,EAAEQ,EAAY,EAAE,SAAS,cAAc,GACtE,KAAKR,EAAQ,EAAE,OAAO,eAAgB4C,CAAW,CAErD,CAIA,IAAMC,EAAkBH,GAAYD,EAIpC,GAAII,GAAmB,MAAQA,EAAgB,QAAU,KAAM,CAG7D,GAAIH,GAAY,MAAQnB,EAAK,QAAU,KACrC,MAAM,IAAI,UAAU,6DAA6D,EAKnF,GAAIC,EAAQ,OAAS,eAAiBA,EAAQ,OAAS,OACrD,MAAM,IAAI,UACR,gFACF,EAIFA,EAAQ,qBAAuB,EACjC,CAGA,IAAIsB,EAAYD,EAGhB,GAAIH,GAAY,MAAQD,GAAa,KAAM,CAEzC,GAAIvD,GAAK,YAAYuD,EAAU,MAAM,GAAKA,EAAU,OAAO,OACzD,MAAM,IAAI,UACR,8EACF,EAIG3B,KACHA,GAAkB,QAAQ,YAAY,EAAE,iBAI1C,IAAMiC,EAAoB,IAAIjC,GAC9B2B,EAAU,OAAO,YAAYM,CAAiB,EAC9CD,EAAY,CACV,OAAQL,EAAU,OAClB,OAAQA,EAAU,OAClB,OAAQM,EAAkB,QAC5B,CACF,CAGA,KAAK7C,EAAM,EAAE,KAAO4C,CACtB,CAGA,IAAI,QAAU,CACZ,OAAAzC,EAAO,WAAW,KAAMgB,CAAO,EAGxB,KAAKnB,EAAM,EAAE,MACtB,CAGA,IAAI,KAAO,CACT,OAAAG,EAAO,WAAW,KAAMgB,CAAO,EAGxBd,GAAc,KAAKL,EAAM,EAAE,GAAG,CACvC,CAKA,IAAI,SAAW,CACb,OAAAG,EAAO,WAAW,KAAMgB,CAAO,EAGxB,KAAKrB,EAAQ,CACtB,CAIA,IAAI,aAAe,CACjB,OAAAK,EAAO,WAAW,KAAMgB,CAAO,EAGxB,KAAKnB,EAAM,EAAE,WACtB,CAOA,IAAI,UAAY,CAKd,OAJAG,EAAO,WAAW,KAAMgB,CAAO,EAI3B,KAAKnB,EAAM,EAAE,WAAa,cACrB,GAKL,KAAKA,EAAM,EAAE,WAAa,SACrB,eAIF,KAAKA,EAAM,EAAE,SAAS,SAAS,CACxC,CAKA,IAAI,gBAAkB,CACpB,OAAAG,EAAO,WAAW,KAAMgB,CAAO,EAGxB,KAAKnB,EAAM,EAAE,cACtB,CAKA,IAAI,MAAQ,CACV,OAAAG,EAAO,WAAW,KAAMgB,CAAO,EAGxB,KAAKnB,EAAM,EAAE,IACtB,CAKA,IAAI,aAAe,CAEjB,OAAO,KAAKA,EAAM,EAAE,WACtB,CAKA,IAAI,OAAS,CACX,OAAAG,EAAO,WAAW,KAAMgB,CAAO,EAGxB,KAAKnB,EAAM,EAAE,KACtB,CAMA,IAAI,UAAY,CACd,OAAAG,EAAO,WAAW,KAAMgB,CAAO,EAGxB,KAAKnB,EAAM,EAAE,QACtB,CAKA,IAAI,WAAa,CACf,OAAAG,EAAO,WAAW,KAAMgB,CAAO,EAIxB,KAAKnB,EAAM,EAAE,SACtB,CAIA,IAAI,WAAa,CACf,OAAAG,EAAO,WAAW,KAAMgB,CAAO,EAGxB,KAAKnB,EAAM,EAAE,SACtB,CAIA,IAAI,oBAAsB,CACxB,OAAAG,EAAO,WAAW,KAAMgB,CAAO,EAIxB,KAAKnB,EAAM,EAAE,gBACtB,CAIA,IAAI,qBAAuB,CACzB,OAAAG,EAAO,WAAW,KAAMgB,CAAO,EAIxB,KAAKnB,EAAM,EAAE,iBACtB,CAKA,IAAI,QAAU,CACZ,OAAAG,EAAO,WAAW,KAAMgB,CAAO,EAGxB,KAAKpB,EAAO,CACrB,CAEA,IAAI,MAAQ,CACV,OAAAI,EAAO,WAAW,KAAMgB,CAAO,EAExB,KAAKnB,EAAM,EAAE,KAAO,KAAKA,EAAM,EAAE,KAAK,OAAS,IACxD,CAEA,IAAI,UAAY,CACd,OAAAG,EAAO,WAAW,KAAMgB,CAAO,EAExB,CAAC,CAAC,KAAKnB,EAAM,EAAE,MAAQhB,GAAK,YAAY,KAAKgB,EAAM,EAAE,KAAK,MAAM,CACzE,CAEA,IAAI,QAAU,CACZ,OAAAG,EAAO,WAAW,KAAMgB,CAAO,EAExB,MACT,CAGA,OAAS,CAIP,GAHAhB,EAAO,WAAW,KAAMgB,CAAO,EAG3B,KAAK,UAAY,KAAK,MAAM,OAC9B,MAAM,IAAI,UAAU,UAAU,EAIhC,IAAM2B,EAAgBC,GAAa,KAAK/C,EAAM,CAAC,EAIzCgD,EAAsB,IAAI7B,EAAQN,EAAK,EAC7CmC,EAAoBhD,EAAM,EAAI8C,EAC9BE,EAAoB9C,EAAM,EAAI,KAAKA,EAAM,EACzC8C,EAAoBlD,EAAQ,EAAI,IAAIlB,GACpCoE,EAAoBlD,EAAQ,EAAEQ,EAAY,EAAIwC,EAAc,YAC5DE,EAAoBlD,EAAQ,EAAEG,EAAM,EAAI,KAAKH,EAAQ,EAAEG,EAAM,EAC7D+C,EAAoBlD,EAAQ,EAAEI,EAAM,EAAI,KAAKJ,EAAQ,EAAEI,EAAM,EAG7D,IAAMgC,EAAK,IAAI,gBACf,OAAI,KAAK,OAAO,QACdA,EAAG,MAAM,KAAK,OAAO,MAAM,EAE3BlD,GAAK,iBACH,KAAK,OACL,IAAM,CACJkD,EAAG,MAAM,KAAK,OAAO,MAAM,CAC7B,CACF,EAEFc,EAAoBjD,EAAO,EAAImC,EAAG,OAG3Bc,CACT,CACF,EAEAtE,GAAUwC,EAAO,EAEjB,SAASS,GAAaN,EAAM,CAE1B,IAAMC,EAAU,CACd,OAAQ,MACR,cAAe,GACf,cAAe,GACf,KAAM,KACN,OAAQ,KACR,eAAgB,KAChB,iBAAkB,GAClB,OAAQ,SACR,UAAW,GACX,eAAgB,MAChB,UAAW,GACX,YAAa,GACb,SAAU,KACV,OAAQ,SACR,gBAAiB,SACjB,SAAU,SACV,eAAgB,GAChB,KAAM,UACN,qBAAsB,GACtB,YAAa,cACb,eAAgB,GAChB,MAAO,UACP,SAAU,SACV,UAAW,GACX,4BAA6B,GAC7B,eAAgB,GAChB,iBAAkB,GAClB,kBAAmB,GACnB,eAAgB,GAChB,cAAe,GACf,cAAe,EACf,iBAAkB,QAClB,6CAA8C,GAC9C,KAAM,GACN,kBAAmB,GACnB,GAAGD,EACH,YAAaA,EAAK,YACd,IAAIvC,GAAYuC,EAAK,WAAW,EAChC,IAAIvC,EACV,EACA,OAAAwC,EAAQ,IAAMA,EAAQ,QAAQ,CAAC,EACxBA,CACT,CAGA,SAASyB,GAAczB,EAAS,CAI9B,IAAM2B,EAAatB,GAAY,CAAE,GAAGL,EAAS,KAAM,IAAK,CAAC,EAIzD,OAAIA,EAAQ,MAAQ,OAClB2B,EAAW,KAAOtE,GAAU2C,EAAQ,IAAI,GAInC2B,CACT,CAEA,OAAO,iBAAiB/B,GAAQ,UAAW,CACzC,OAAQrB,GACR,IAAKA,GACL,QAASA,GACT,SAAUA,GACV,MAAOA,GACP,OAAQA,GACR,OAAQA,GACR,YAAaA,GACb,KAAMA,GACN,SAAUA,GACV,oBAAqBA,GACrB,mBAAoBA,GACpB,UAAWA,GACX,UAAWA,GACX,MAAOA,GACP,YAAaA,GACb,UAAWA,GACX,eAAgBA,GAChB,SAAUA,GACV,KAAMA,GACN,CAAC,OAAO,WAAW,EAAG,CACpB,MAAO,UACP,aAAc,EAChB,CACF,CAAC,EAEDM,EAAO,WAAW,QAAUA,EAAO,mBACjCe,EACF,EAGAf,EAAO,WAAW,YAAc,SAAU+C,EAAG,CAC3C,OAAI,OAAOA,GAAM,SACR/C,EAAO,WAAW,UAAU+C,CAAC,EAGlCA,aAAahC,GACRf,EAAO,WAAW,QAAQ+C,CAAC,EAG7B/C,EAAO,WAAW,UAAU+C,CAAC,CACtC,EAEA/C,EAAO,WAAW,YAAcA,EAAO,mBACrC,WACF,EAGAA,EAAO,WAAW,YAAcA,EAAO,oBAAoB,CACzD,CACE,IAAK,SACL,UAAWA,EAAO,WAAW,UAC/B,EACA,CACE,IAAK,UACL,UAAWA,EAAO,WAAW,WAC/B,EACA,CACE,IAAK,OACL,UAAWA,EAAO,kBAChBA,EAAO,WAAW,QACpB,CACF,EACA,CACE,IAAK,WACL,UAAWA,EAAO,WAAW,SAC/B,EACA,CACE,IAAK,iBACL,UAAWA,EAAO,WAAW,UAE7B,cAAeZ,EACjB,EACA,CACE,IAAK,OACL,UAAWY,EAAO,WAAW,UAE7B,cAAeV,EACjB,EACA,CACE,IAAK,cACL,UAAWU,EAAO,WAAW,UAE7B,cAAeT,EACjB,EACA,CACE,IAAK,QACL,UAAWS,EAAO,WAAW,UAE7B,cAAeR,EACjB,EACA,CACE,IAAK,WACL,UAAWQ,EAAO,WAAW,UAE7B,cAAeX,EACjB,EACA,CACE,IAAK,YACL,UAAWW,EAAO,WAAW,SAC/B,EACA,CACE,IAAK,YACL,UAAWA,EAAO,WAAW,OAC/B,EACA,CACE,IAAK,SACL,UAAWA,EAAO,kBACfa,GAAWb,EAAO,WAAW,YAC5Ba,EACA,CAAE,OAAQ,EAAM,CAClB,CACF,CACF,EACA,CACE,IAAK,SACL,UAAWb,EAAO,WAAW,GAC/B,EACA,CACE,IAAK,SACL,UAAWA,EAAO,WAAW,UAC7B,cAAeP,EACjB,CACF,CAAC,EAEDpB,GAAO,QAAU,CAAE,QAAA0C,GAAS,YAAAS,EAAY,IC/6BxC,IAAAwB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAIA,GAAM,CACJ,SAAAC,GACA,iBAAAC,EACA,4BAAAC,GACA,eAAAC,GACA,aAAAC,EACF,EAAI,KACE,CAAE,QAAAC,EAAQ,EAAI,KACd,CAAE,QAAAC,GAAS,YAAAC,EAAY,EAAI,KAC3BC,GAAO,QAAQ,MAAM,EACrB,CACJ,WAAAC,GACA,oBAAAC,GACA,qBAAAC,GACA,eAAAC,GACA,SAAAC,GACA,0BAAAC,GACA,oBAAAC,GACA,kBAAAC,GACA,mCAAAC,GACA,8CAAAC,GACA,uBAAAC,GACA,oBAAAC,GACA,UAAAC,GACA,+BAAAC,GACA,0BAAAC,GACA,2BAAAC,GACA,sBAAAC,GACA,WAAAC,GACA,WAAAC,GACA,YAAAC,GACA,UAAAC,GACA,YAAAC,GACA,cAAAC,GACA,oBAAAC,GACA,iBAAAC,GACA,WAAAC,GACA,qBAAAC,GACA,kBAAAC,EACF,EAAI,KACE,CAAE,OAAAC,GAAQ,SAAAC,GAAU,OAAAC,GAAQ,OAAAC,EAAO,EAAI,KACvCC,GAAS,QAAQ,QAAQ,EACzB,CAAE,kBAAAC,EAAkB,EAAI,KACxB,CACJ,eAAAC,GACA,eAAAC,GACA,YAAAC,GACA,kBAAAC,GACA,YAAAC,GACA,aAAAC,EACF,EAAI,KACE,CAAE,aAAAC,EAAa,EAAI,KACnBC,GAAK,QAAQ,QAAQ,EACrB,CAAE,SAAAC,GAAU,SAAAC,EAAS,EAAI,QAAQ,QAAQ,EACzC,CAAE,iBAAAC,GAAkB,UAAAC,GAAW,WAAAC,GAAY,UAAAC,GAAW,UAAAC,EAAU,EAAI,IACpE,CAAE,iBAAAC,GAAkB,mBAAAC,EAAmB,EAAI,KAC3C,CAAE,gBAAAC,EAAgB,EAAI,QAAQ,YAAY,EAC1C,CAAE,oBAAAC,EAAoB,EAAI,KAC1B,CAAE,OAAAC,EAAO,EAAI,KACb,CAAE,aAAAC,EAAa,EAAI,QAAQ,MAAM,EAGnCC,GACAC,GAAiB,WAAW,eAE1BC,GAAN,cAAoBhB,EAAG,CACrB,YAAaiB,EAAY,CACvB,MAAM,EAEN,KAAK,WAAaA,EAClB,KAAK,WAAa,KAClB,KAAK,KAAO,GACZ,KAAK,MAAQ,UAMb,KAAK,gBAAgB,EAAE,CACzB,CAEA,UAAWC,EAAQ,CACb,KAAK,QAAU,YAInB,KAAK,MAAQ,aACb,KAAK,YAAY,QAAQA,CAAM,EAC/B,KAAK,KAAK,aAAcA,CAAM,EAChC,CAGA,MAAOC,EAAO,CACR,KAAK,QAAU,YAKnB,KAAK,MAAQ,UAIRA,IACHA,EAAQ,IAAIrB,GAAa,6BAA8B,YAAY,GAQrE,KAAK,sBAAwBqB,EAE7B,KAAK,YAAY,QAAQA,CAAK,EAC9B,KAAK,KAAK,aAAcA,CAAK,EAC/B,CACF,EAGA,eAAeC,GAAOC,EAAOC,EAAO,CAAC,EAAG,CACtCV,GAAO,oBAAoB,UAAW,EAAG,CAAE,OAAQ,kBAAmB,CAAC,EAGvE,IAAMW,EAAIhD,GAAsB,EAK5BiD,EAEJ,GAAI,CACFA,EAAgB,IAAIpE,GAAQiE,EAAOC,CAAI,CACzC,OAASG,EAAG,CACV,OAAAF,EAAE,OAAOE,CAAC,EACHF,EAAE,OACX,CAGA,IAAMG,EAAUF,EAAcrC,EAAM,EAGpC,GAAIqC,EAAc,OAAO,QAGvB,OAAAG,GAAWJ,EAAGG,EAAS,KAAMF,EAAc,OAAO,MAAM,EAGjDD,EAAE,QAIUG,EAAQ,OAAO,cAIlB,aAAa,OAAS,6BACtCA,EAAQ,eAAiB,QAI3B,IAAIE,EAAiB,KAGfC,EAAgB,KAGlBC,EAAiB,GAGjBC,EAAa,KAGjB,OAAA5B,GACEqB,EAAc,OACd,IAAM,CAEJM,EAAiB,GAGjBvC,GAAOwC,GAAc,IAAI,EAGzBA,EAAW,MAAMP,EAAc,OAAO,MAAM,EAI5CG,GAAWJ,EAAGG,EAASE,EAAgBJ,EAAc,OAAO,MAAM,CACpE,CACF,EAoDAO,EAAaC,GAAS,CACpB,QAAAN,EACA,yBAlDuBO,GACvBC,GAAwBD,EAAU,OAAO,EAkDzC,gBA5CuBA,GAAa,CAEpC,GAAI,CAAAH,EAKJ,IAAIG,EAAS,QAAS,CAQpBN,GAAWJ,EAAGG,EAASE,EAAgBG,EAAW,qBAAqB,EACvE,MACF,CAIA,GAAIE,EAAS,OAAS,QAAS,CAC7BV,EAAE,OACA,OAAO,OAAO,IAAI,UAAU,cAAc,EAAG,CAAE,MAAOU,EAAS,KAAM,CAAC,CACxE,EACA,MACF,CAIAL,EAAiB,IAAI9E,GACrB8E,EAAezC,EAAM,EAAI8C,EACzBL,EAAetC,EAAM,EAAIuC,EACzBD,EAAexC,EAAQ,EAAEW,EAAY,EAAIkC,EAAS,YAClDL,EAAexC,EAAQ,EAAEC,EAAM,EAAI,YACnCuC,EAAexC,EAAQ,EAAEE,EAAM,EAAIuC,EAGnCN,EAAE,QAAQK,CAAc,EAC1B,EAME,WAAYN,EAAK,YAAcX,GAAoB,CACrD,CAAC,EAGMY,EAAE,OACX,CAGA,SAASW,GAAyBD,EAAUE,EAAgB,QAAS,CAOnE,GALIF,EAAS,OAAS,SAAWA,EAAS,SAKtC,CAACA,EAAS,SAAS,OACrB,OAIF,IAAMG,EAAcH,EAAS,QAAQ,CAAC,EAGlCI,EAAaJ,EAAS,WAGtBK,EAAaL,EAAS,WAGrBhD,GAAqBmD,CAAW,GAKjCC,IAAe,OAKdA,EAAW,oBAEdA,EAAapE,GAAuB,CAClC,UAAWoE,EAAW,SACxB,CAAC,EAGDC,EAAa,IAQfD,EAAW,QAAU/D,GAA2B,EAGhD2D,EAAS,WAAaI,EAItBE,GACEF,EACAD,EACAD,EACA,WACAG,CACF,EACF,CAGA,SAASC,GAAoBF,EAAYD,EAAaD,EAAeK,EAAYF,EAAY,EACvFhC,GAAY,IAAOA,KAAc,IAAMC,IAAa,IACtD,YAAY,mBAAmB8B,EAAYD,EAAY,KAAMD,EAAeK,EAAYF,CAAU,CAEtG,CAGA,SAASX,GAAYJ,EAAGG,EAASE,EAAgBT,EAAO,CAwBtD,GApBKA,IACHA,EAAQ,IAAIrB,GAAa,6BAA8B,YAAY,GAIrEyB,EAAE,OAAOJ,CAAK,EAIVO,EAAQ,MAAQ,MAAQrB,GAAWqB,EAAQ,MAAM,MAAM,GACzDA,EAAQ,KAAK,OAAO,OAAOP,CAAK,EAAE,MAAOsB,GAAQ,CAC/C,GAAIA,EAAI,OAAS,oBAIjB,MAAMA,CACR,CAAC,EAICb,GAAkB,KACpB,OAIF,IAAMK,EAAWL,EAAezC,EAAM,EAIlC8C,EAAS,MAAQ,MAAQ5B,GAAW4B,EAAS,MAAM,MAAM,GAC3DA,EAAS,KAAK,OAAO,OAAOd,CAAK,EAAE,MAAOsB,GAAQ,CAChD,GAAIA,EAAI,OAAS,oBAIjB,MAAMA,CACR,CAAC,CAEL,CAGA,SAAST,GAAU,CACjB,QAAAN,EACA,8BAAAgB,EACA,wBAAAC,EACA,gBAAAC,EACA,yBAAAC,EACA,2BAAAC,EACA,iBAAAC,EAAmB,GACnB,WAAA9B,CACF,EAAG,CAED,IAAI+B,EAAkB,KAGlBC,EAAgC,GAGhCvB,EAAQ,QAAU,OAEpBsB,EAAkBtB,EAAQ,OAAO,aAIjCuB,EACEvB,EAAQ,OAAO,+BAUnB,IAAMwB,EAAa5E,GAA2B2E,CAA6B,EACrEZ,EAAapE,GAAuB,CACxC,UAAWiF,CACb,CAAC,EAYKC,EAAc,CAClB,WAAY,IAAInC,GAAMC,CAAU,EAChC,QAAAS,EACA,WAAAW,EACA,8BAAAK,EACA,wBAAAC,EACA,gBAAAC,EACA,2BAAAE,EACA,yBAAAD,EACA,gBAAAG,EACA,8BAAAC,CACF,EAMA,OAAA1D,GAAO,CAACmC,EAAQ,MAAQA,EAAQ,KAAK,MAAM,EAKvCA,EAAQ,SAAW,WAErBA,EAAQ,OACNA,EAAQ,QAAQ,cAAc,aAAa,OAAS,SAChDA,EAAQ,OACR,aAKJA,EAAQ,SAAW,WAErBA,EAAQ,OAASA,EAAQ,QAAQ,QAO/BA,EAAQ,kBAAoB,WAG1BA,EAAQ,QAAU,KACpBA,EAAQ,gBAAkBjE,GACxBiE,EAAQ,OAAO,eACjB,EAIAA,EAAQ,gBAAkBlE,GAAoB,GAK7CkE,EAAQ,YAAY,SAAS,QAAQ,GAiBxCA,EAAQ,YAAY,OAAO,SAfb,KAe4B,EAMvCA,EAAQ,YAAY,SAAS,iBAAiB,GACjDA,EAAQ,YAAY,OAAO,kBAAmB,GAAG,EAM/CA,EAAQ,SAKR7B,GAAY,SAAS6B,EAAQ,WAAW,EAK5C0B,GAAUD,CAAW,EAClB,MAAMV,GAAO,CACZU,EAAY,WAAW,UAAUV,CAAG,CACtC,CAAC,EAGIU,EAAY,UACrB,CAGA,eAAeC,GAAWD,EAAaE,EAAY,GAAO,CAExD,IAAM3B,EAAUyB,EAAY,QAGxBlB,EAAW,KAyHf,GArHIP,EAAQ,eAAiB,CAAC1C,GAAWlB,GAAkB4D,CAAO,CAAC,IACjEO,EAAWlF,EAAiB,iBAAiB,GAO/CiB,GAA8C0D,CAAO,EAKjDhE,GAAegE,CAAO,IAAM,YAC9BO,EAAWlF,EAAiB,UAAU,GAOpC2E,EAAQ,iBAAmB,KAC7BA,EAAQ,eAAiBA,EAAQ,gBAAgB,gBAK/CA,EAAQ,WAAa,gBACvBA,EAAQ,SAAWrD,GAA0BqD,CAAO,GAkBlDO,IAAa,OACfA,EAAW,MAAO,SAAY,CAC5B,IAAMqB,EAAaxF,GAAkB4D,CAAO,EAE5C,OAGGjD,GAAW6E,EAAY5B,EAAQ,GAAG,GAAKA,EAAQ,mBAAqB,SAEpE4B,EAAW,WAAa,SAExB5B,EAAQ,OAAS,YAAcA,EAAQ,OAAS,aAGjDA,EAAQ,iBAAmB,QAGpB,MAAM6B,GAAYJ,CAAW,GAIlCzB,EAAQ,OAAS,cAEZ3E,EAAiB,sCAAsC,EAI5D2E,EAAQ,OAAS,UAGfA,EAAQ,WAAa,SAChB3E,EACL,wDACF,GAIF2E,EAAQ,iBAAmB,SAGpB,MAAM6B,GAAYJ,CAAW,GAIjClE,GAAqBnB,GAAkB4D,CAAO,CAAC,GAmBpDA,EAAQ,iBAAmB,OAGpB,MAAM8B,GAAUL,CAAW,GApBzBpG,EAAiB,qCAAqC,CAqBjE,GAAG,GAIDsG,EACF,OAAOpB,EAKLA,EAAS,SAAW,GAAK,CAACA,EAAS,mBAEjCP,EAAQ,iBAeRA,EAAQ,mBAAqB,QAC/BO,EAAWhF,GAAegF,EAAU,OAAO,EAClCP,EAAQ,mBAAqB,OACtCO,EAAWhF,GAAegF,EAAU,MAAM,EACjCP,EAAQ,mBAAqB,SACtCO,EAAWhF,GAAegF,EAAU,QAAQ,EAE5C1C,GAAO,EAAK,GAMhB,IAAIkE,EACFxB,EAAS,SAAW,EAAIA,EAAWA,EAAS,iBAkD9C,GA9CIwB,EAAiB,QAAQ,SAAW,GACtCA,EAAiB,QAAQ,KAAK,GAAG/B,EAAQ,OAAO,EAK7CA,EAAQ,oBACXO,EAAS,kBAAoB,IAgB7BA,EAAS,OAAS,UAClBwB,EAAiB,SAAW,KAC5BA,EAAiB,gBACjB,CAAC/B,EAAQ,QAAQ,SAAS,OAAO,IAEjCO,EAAWwB,EAAmB1G,EAAiB,GAQ/CkF,EAAS,SAAW,IACnBP,EAAQ,SAAW,QAClBA,EAAQ,SAAW,WACnBhC,GAAe,SAAS+D,EAAiB,MAAM,KAEjDA,EAAiB,KAAO,KACxBN,EAAY,WAAW,KAAO,IAI5BzB,EAAQ,UAAW,CAGrB,IAAMgC,EAAoBxC,GACxByC,GAAYR,EAAapG,EAAiBmE,CAAM,CAAC,EAInD,GAAIQ,EAAQ,mBAAqB,UAAYO,EAAS,MAAQ,KAAM,CAClEyB,EAAiBzB,EAAS,KAAK,EAC/B,MACF,CAGA,IAAM2B,EAAeC,GAAU,CAG7B,GAAI,CAACtG,GAAWsG,EAAOnC,EAAQ,SAAS,EAAG,CACzCgC,EAAiB,oBAAoB,EACrC,MACF,CAGAzB,EAAS,KAAOzC,GAAkBqE,CAAK,EAAE,CAAC,EAG1CF,GAAYR,EAAalB,CAAQ,CACnC,EAGA,MAAMpD,GAAcoD,EAAS,KAAM2B,EAAaF,CAAgB,CAClE,MAEEC,GAAYR,EAAalB,CAAQ,CAErC,CAIA,eAAesB,GAAaJ,EAAa,CAKvC,GAAIzE,GAAYyE,CAAW,GAAKA,EAAY,QAAQ,gBAAkB,EACpE,OAAOnG,GAA4BmG,CAAW,EAIhD,GAAM,CAAE,QAAAzB,CAAQ,EAAIyB,EAEd,CAAE,SAAUW,CAAO,EAAIhG,GAAkB4D,CAAO,EAGtD,OAAQoC,EAAQ,CACd,IAAK,SAMH,OAAO/G,EAAiB,+BAA+B,EAEzD,IAAK,QAAS,CACP+D,KACHA,GAAmB,QAAQ,QAAQ,EAAE,kBAIvC,IAAMiD,EAAejG,GAAkB4D,CAAO,EAI9C,GAAIqC,EAAa,OAAO,SAAW,EACjC,OAAOhH,EAAiB,iDAAiD,EAG3E,IAAMiH,EAAqBlD,GAAiBiD,EAAa,SAAS,CAAC,EAInE,GAAIrC,EAAQ,SAAW,OAAS,CAAClD,GAAWwF,CAAkB,EAC5D,OAAOjH,EAAiB,gBAAgB,EAI1C,IAAMkH,EAAezE,GAAkBwE,CAAkB,EAGnDE,EAAOD,EAAa,CAAC,EAGrBE,EAASpF,GAAiB,GAAGmF,EAAK,MAAM,EAAE,EAG1CE,EAAOH,EAAa,CAAC,GAAK,GAI1BhC,EAAW/E,GAAa,CAC5B,WAAY,KACZ,YAAa,CACX,CAAC,iBAAkB,CAAE,KAAM,iBAAkB,MAAOiH,CAAO,CAAC,EAC5D,CAAC,eAAgB,CAAE,KAAM,eAAgB,MAAOC,CAAK,CAAC,CACxD,CACF,CAAC,EAED,OAAAnC,EAAS,KAAOiC,EAETjC,CACT,CACA,IAAK,QAAS,CAGZ,IAAMqB,EAAaxF,GAAkB4D,CAAO,EACtC2C,EAAgB7D,GAAiB8C,CAAU,EAIjD,GAAIe,IAAkB,UACpB,OAAOtH,EAAiB,8BAA8B,EAIxD,IAAMuH,EAAW7D,GAAmB4D,EAAc,QAAQ,EAK1D,OAAOnH,GAAa,CAClB,WAAY,KACZ,YAAa,CACX,CAAC,eAAgB,CAAE,KAAM,eAAgB,MAAOoH,CAAS,CAAC,CAC5D,EACA,KAAM9E,GAAkB6E,EAAc,IAAI,EAAE,CAAC,CAC/C,CAAC,CACH,CACA,IAAK,QAGH,OAAOtH,EAAiB,2BAA2B,EAErD,IAAK,QACL,IAAK,SAGH,OAAO,MAAMyG,GAAUL,CAAW,EAC/B,MAAOV,GAAQ1F,EAAiB0F,CAAG,CAAC,EAEzC,QACE,OAAO1F,EAAiB,gBAAgB,CAE5C,CACF,CAGA,SAASwH,GAAkBpB,EAAalB,EAAU,CAEhDkB,EAAY,QAAQ,KAAO,GAKvBA,EAAY,qBAAuB,MACrC,eAAe,IAAMA,EAAY,oBAAoBlB,CAAQ,CAAC,CAElE,CAGA,eAAe0B,GAAaR,EAAalB,EAAU,CAE7CA,EAAS,OAAS,UAEpBA,EAAS,QAAU,CAACkB,EAAY,QAAQ,QAAQ,CAAC,CAAC,EAIlDlB,EAAS,WAAahE,GAAuB,CAC3C,UAAWkF,EAAY,WAAW,SACpC,CAAC,GAIH,IAAMN,EAA2B,IAAM,CAErCM,EAAY,QAAQ,KAAO,GAKvBA,EAAY,0BAA4B,MAC1C,eAAe,IAAMA,EAAY,yBAAyBlB,CAAQ,CAAC,CAEvE,EAUA,GALIkB,EAAY,iBAAmB,MACjC,eAAe,IAAMA,EAAY,gBAAgBlB,CAAQ,CAAC,EAIxDA,EAAS,MAAQ,KACnBY,EAAyB,MACpB,CAOL,IAAM2B,EAA6B,CAACC,EAAO1C,IAAe,CACxDA,EAAW,QAAQ0C,CAAK,CAC1B,EAIMC,EAAkB,IAAIhE,GAAgB,CAC1C,OAAS,CAAC,EACV,UAAW8D,EACX,MAAO3B,CACT,EAAG,CACD,MAAQ,CACN,MAAO,EACT,CACF,EAAG,CACD,MAAQ,CACN,MAAO,EACT,CACF,CAAC,EAGDZ,EAAS,KAAO,CAAE,OAAQA,EAAS,KAAK,OAAO,YAAYyC,CAAe,CAAE,CAC9E,CAGA,GAAIvB,EAAY,4BAA8B,KAAM,CAGlD,IAAMS,EAAee,GAAgBxB,EAAY,2BAA2BlB,EAAU0C,CAAW,EAI3FjB,EAAoBkB,GAAYzB,EAAY,2BAA2BlB,EAAU2C,CAAO,EAI1F3C,EAAS,MAAQ,KACnB,eAAe,IAAM2B,EAAY,IAAI,CAAC,EAItC,MAAM/E,GAAcoD,EAAS,KAAM2B,EAAaF,CAAgB,CAEpE,CACF,CAGA,eAAeF,GAAWL,EAAa,CAErC,IAAMzB,EAAUyB,EAAY,QAGxBlB,EAAW,KAGX4C,EAAiB,KAGfxC,EAAac,EAAY,WAQ/B,GALIzB,EAAQ,eAKRO,IAAa,KAAM,CAgBrB,GAVIP,EAAQ,WAAa,WACvBA,EAAQ,eAAiB,QAK3BmD,EAAiB5C,EAAW,MAAM6C,GAAwB3B,CAAW,EAKnEzB,EAAQ,mBAAqB,QAC7BvD,GAAUuD,EAASO,CAAQ,IAAM,UAEjC,OAAOlF,EAAiB,cAAc,EAKpCY,GAAS+D,EAASO,CAAQ,IAAM,YAClCP,EAAQ,kBAAoB,GAEhC,CAMA,OACGA,EAAQ,mBAAqB,UAAYO,EAAS,OAAS,WAC5D7D,GACEsD,EAAQ,OACRA,EAAQ,OACRA,EAAQ,YACRmD,CACF,IAAM,UAEC9H,EAAiB,SAAS,GAI/B0C,GAAe,SAASoF,EAAe,MAAM,IAK3CnD,EAAQ,WAAa,UACvByB,EAAY,WAAW,WAAW,QAAQ,EAIxCzB,EAAQ,WAAa,QAEvBO,EAAWlF,EAAiB,qBAAqB,EACxC2E,EAAQ,WAAa,SAM9BO,EAAW4C,EACFnD,EAAQ,WAAa,SAG9BO,EAAW,MAAM8C,GAAkB5B,EAAalB,CAAQ,EAExD1C,GAAO,EAAK,GAKhB0C,EAAS,WAAaI,EAGfJ,EACT,CAGA,eAAe8C,GAAmB5B,EAAalB,EAAU,CAEvD,IAAMP,EAAUyB,EAAY,QAItB0B,EAAiB5C,EAAS,iBAC5BA,EAAS,iBACTA,EAIA+C,EAEJ,GAAI,CAOF,GANAA,EAAcnH,GACZgH,EACA/G,GAAkB4D,CAAO,EAAE,IAC7B,EAGIsD,GAAe,KACjB,OAAO/C,CAEX,OAASQ,EAAK,CAEZ,OAAO1F,EAAiB0F,CAAG,CAC7B,CAIA,GAAI,CAACxD,GAAqB+F,CAAW,EACnC,OAAOjI,EAAiB,qCAAqC,EAI/D,GAAI2E,EAAQ,gBAAkB,GAC5B,OAAO3E,EAAiB,yBAAyB,EASnD,GALA2E,EAAQ,eAAiB,EAMvBA,EAAQ,OAAS,SAChBsD,EAAY,UAAYA,EAAY,WACrC,CAACvG,GAAWiD,EAASsD,CAAW,EAEhC,OAAOjI,EAAiB,kDAAkD,EAK5E,GACE2E,EAAQ,mBAAqB,SAC5BsD,EAAY,UAAYA,EAAY,UAErC,OAAOjI,EACL,wDACF,EAKF,GACE8H,EAAe,SAAW,KAC1BnD,EAAQ,MAAQ,MAChBA,EAAQ,KAAK,QAAU,KAEvB,OAAO3E,EAAiB,EAM1B,GACG,CAAC,IAAK,GAAG,EAAE,SAAS8H,EAAe,MAAM,GAAKnD,EAAQ,SAAW,QACjEmD,EAAe,SAAW,KACzB,CAAC,CAAC,MAAO,MAAM,EAAE,SAASnD,EAAQ,MAAM,EAC1C,CAGAA,EAAQ,OAAS,MACjBA,EAAQ,KAAO,KAIf,QAAWuD,KAAcrF,GACvB8B,EAAQ,YAAY,OAAOuD,CAAU,CAEzC,CAKKxG,GAAWX,GAAkB4D,CAAO,EAAGsD,CAAW,GAErDtD,EAAQ,YAAY,OAAO,eAAe,EAKxCA,EAAQ,MAAQ,OAClBnC,GAAOmC,EAAQ,KAAK,QAAU,IAAI,EAClCA,EAAQ,KAAOlC,GAAkBkC,EAAQ,KAAK,MAAM,EAAE,CAAC,GAIzD,IAAMW,EAAac,EAAY,WAK/B,OAAAd,EAAW,gBAAkBA,EAAW,sBACtC/D,GAA2B6E,EAAY,6BAA6B,EAIlEd,EAAW,oBAAsB,IACnCA,EAAW,kBAAoBA,EAAW,WAI5CX,EAAQ,QAAQ,KAAKsD,CAAW,EAIhCjH,GAAmC2D,EAASmD,CAAc,EAGnDzB,GAAUD,EAAa,EAAI,CACpC,CAGA,eAAe2B,GACb3B,EACA+B,EAAwB,GACxBC,EAAuB,GACvB,CAEA,IAAMzD,EAAUyB,EAAY,QAGxBiC,EAAkB,KAGlBC,EAAc,KAGdpD,EAAW,KAMTqD,EAAY,KAGZC,EAAmB,GAOrB7D,EAAQ,SAAW,aAAeA,EAAQ,WAAa,SACzD0D,EAAkBjC,EAClBkC,EAAc3D,IAKd2D,EAAchI,GAAYqE,CAAO,EAGjC0D,EAAkB,CAAE,GAAGjC,CAAY,EAGnCiC,EAAgB,QAAUC,GAI5B,IAAMG,EACJ9D,EAAQ,cAAgB,WACvBA,EAAQ,cAAgB,eACvBA,EAAQ,mBAAqB,QAI3B+D,EAAgBJ,EAAY,KAAOA,EAAY,KAAK,OAAS,KAG/DK,EAA2B,KAgJ/B,GA3IEL,EAAY,MAAQ,MACpB,CAAC,OAAQ,KAAK,EAAE,SAASA,EAAY,MAAM,IAE3CK,EAA2B,KAKzBD,GAAiB,OACnBC,EAA2B3G,GAAiB,GAAG0G,CAAa,EAAE,GAM5DC,GAA4B,MAC9BL,EAAY,YAAY,OAAO,iBAAkBK,CAAwB,EAQvED,GAAiB,MAAQJ,EAAY,UAOrCA,EAAY,oBAAoB,KAClCA,EAAY,YAAY,OAAO,UAAWtG,GAAiBsG,EAAY,SAAS,IAAI,CAAC,EAIvFzH,GAA0ByH,CAAW,EAGrCnH,GAAoBmH,CAAW,EAK1BA,EAAY,YAAY,SAAS,YAAY,GAChDA,EAAY,YAAY,OAAO,aAAc,QAAQ,EAQrDA,EAAY,QAAU,YACrBA,EAAY,YAAY,SAAS,mBAAmB,GACnDA,EAAY,YAAY,SAAS,eAAe,GAChDA,EAAY,YAAY,SAAS,qBAAqB,GACtDA,EAAY,YAAY,SAAS,UAAU,GAC3CA,EAAY,YAAY,SAAS,UAAU,KAE7CA,EAAY,MAAQ,YAQpBA,EAAY,QAAU,YACtB,CAACA,EAAY,8CACb,CAACA,EAAY,YAAY,SAAS,eAAe,GAEjDA,EAAY,YAAY,OAAO,gBAAiB,WAAW,GAIzDA,EAAY,QAAU,YAAcA,EAAY,QAAU,YAGvDA,EAAY,YAAY,SAAS,QAAQ,GAC5CA,EAAY,YAAY,OAAO,SAAU,UAAU,EAKhDA,EAAY,YAAY,SAAS,eAAe,GACnDA,EAAY,YAAY,OAAO,gBAAiB,UAAU,GAM1DA,EAAY,YAAY,SAAS,OAAO,GAC1CA,EAAY,YAAY,OAAO,kBAAmB,UAAU,EAMzDA,EAAY,YAAY,SAAS,iBAAiB,IACjDnG,GAAkBpB,GAAkBuH,CAAW,CAAC,EAClDA,EAAY,YAAY,OAAO,kBAAmB,mBAAmB,EAErEA,EAAY,YAAY,OAAO,kBAAmB,eAAe,GAsBjEC,GAAa,OACfD,EAAY,MAAQ,YAKlBA,EAAY,OAAS,YAAcA,EAAY,KAQ/CpD,GAAY,KAAM,CAGpB,GAAIoD,EAAY,OAAS,iBACvB,OAAOtI,EAAiB,gBAAgB,EAK1C,IAAM4I,EAAkB,MAAMC,GAC5BR,EACAI,EACAL,CACF,EAOE,CAACxF,GAAY,SAAS0F,EAAY,MAAM,GACxCM,EAAgB,QAAU,KAC1BA,EAAgB,QAAU,IAOxBJ,GAAoBI,EAAgB,OAKpC1D,GAAY,OAEdA,EAAW0D,EAMf,CAoBA,GAjBA1D,EAAS,QAAU,CAAC,GAAGoD,EAAY,OAAO,EAItCA,EAAY,YAAY,SAAS,OAAO,IAC1CpD,EAAS,eAAiB,IAI5BA,EAAS,2BAA6BuD,EAQlCvD,EAAS,SAAW,IAEtB,OAAIP,EAAQ,SAAW,YACd3E,EAAiB,EAMtB2B,GAAYyE,CAAW,EAClBnG,GAA4BmG,CAAW,EAUzCpG,EAAiB,+BAA+B,EAIzD,GAEEkF,EAAS,SAAW,KAEpB,CAACkD,IAEAzD,EAAQ,MAAQ,MAAQA,EAAQ,KAAK,QAAU,MAChD,CAIA,GAAIhD,GAAYyE,CAAW,EACzB,OAAOnG,GAA4BmG,CAAW,EAShDA,EAAY,WAAW,WAAW,QAAQ,EAE1ClB,EAAW,MAAM6C,GACf3B,EACA+B,EACA,EACF,CACF,CAQA,OAAOjD,CACT,CAGA,eAAe2D,GACbzC,EACAqC,EAAqB,GACrBK,EAAqB,GACrB,CACAtG,GAAO,CAAC4D,EAAY,WAAW,YAAcA,EAAY,WAAW,WAAW,SAAS,EAExFA,EAAY,WAAW,WAAa,CAClC,MAAO,KACP,UAAW,GACX,QAASV,EAAK,CACP,KAAK,YACR,KAAK,UAAY,GACjB,KAAK,QAAQA,GAAO,IAAI3C,GAAa,6BAA8B,YAAY,CAAC,EAEpF,CACF,EAGA,IAAM4B,EAAUyB,EAAY,QAGxBlB,EAAW,KAGTI,EAAac,EAAY,WAKb,MAGD,OACfzB,EAAQ,MAAQ,YASlB,IAAMoE,EAAgBD,EAAqB,MAAQ,KAG/CnE,EAAQ,KAgEZ,IAAIqE,EAAc,KAIlB,GAAIrE,EAAQ,MAAQ,MAAQyB,EAAY,wBACtC,eAAe,IAAMA,EAAY,wBAAwB,CAAC,UACjDzB,EAAQ,MAAQ,KAAM,CAI/B,IAAMsE,EAAmB,gBAAkBnC,EAAO,CAE5CnF,GAAYyE,CAAW,IAK3B,MAAMU,EAINV,EAAY,gCAAgCU,EAAM,UAAU,EAC9D,EAGMoC,EAAmB,IAAM,CAEzBvH,GAAYyE,CAAW,GAMvBA,EAAY,yBACdA,EAAY,wBAAwB,CAExC,EAGMO,EAAoBjC,GAAM,CAE1B/C,GAAYyE,CAAW,IAKvB1B,EAAE,OAAS,aACb0B,EAAY,WAAW,MAAM,EAE7BA,EAAY,WAAW,UAAU1B,CAAC,EAEtC,EAIAsE,EAAe,iBAAoB,CACjC,GAAI,CACF,cAAiBlC,KAASnC,EAAQ,KAAK,OACrC,MAAQsE,EAAiBnC,CAAK,EAEhCoC,EAAiB,CACnB,OAASxD,EAAK,CACZiB,EAAiBjB,CAAG,CACtB,CACF,EAAG,CACL,CAEA,GAAI,CAEF,GAAM,CAAE,KAAAyB,EAAM,OAAAgC,EAAQ,WAAAC,EAAY,YAAAC,EAAa,OAAAC,CAAO,EAAI,MAAMC,EAAS,CAAE,KAAMP,CAAY,CAAC,EAE9F,GAAIM,EACFpE,EAAW/E,GAAa,CAAE,OAAAgJ,EAAQ,WAAAC,EAAY,YAAAC,EAAa,OAAAC,CAAO,CAAC,MAC9D,CACL,IAAME,EAAWrC,EAAK,OAAO,aAAa,EAAE,EAC5Cf,EAAY,WAAW,KAAO,IAAMoD,EAAS,KAAK,EAElDtE,EAAW/E,GAAa,CAAE,OAAAgJ,EAAQ,WAAAC,EAAY,YAAAC,CAAY,CAAC,CAC7D,CACF,OAAS3D,EAAK,CAEZ,OAAIA,EAAI,OAAS,cAEfU,EAAY,WAAW,WAAW,QAAQ,EAGnCnG,GAA4BmG,CAAW,GAGzCpG,EAAiB0F,CAAG,CAC7B,CAIA,IAAM+D,EAAgB,IAAM,CAC1BrD,EAAY,WAAW,OAAO,CAChC,EAIMsD,EAAmBvF,GAAW,CAClCiC,EAAY,WAAW,MAAMjC,CAAM,CACrC,EAcKH,KACHA,GAAiB,QAAQ,YAAY,EAAE,gBAGzC,IAAM2F,EAAS,IAAI3F,GACjB,CACE,MAAM,MAAOgB,EAAY,CACvBoB,EAAY,WAAW,WAAapB,CACtC,EACA,MAAM,KAAMA,EAAY,CACtB,MAAMyE,EAAczE,CAAU,CAChC,EACA,MAAM,OAAQb,EAAQ,CACpB,MAAMuF,EAAgBvF,CAAM,CAC9B,CACF,EACA,CACE,cAAe,EACf,MAAQ,CACN,MAAO,EACT,CACF,CACF,EAKAe,EAAS,KAAO,CAAE,OAAAyE,CAAO,EAmBzBvD,EAAY,WAAW,GAAG,aAAcwD,CAAS,EACjDxD,EAAY,WAAW,OAAS,SAAY,CAE1C,OAAa,CAKX,IAAIU,EACA+C,EACJ,GAAI,CACF,GAAM,CAAE,KAAAC,EAAM,MAAAC,CAAM,EAAI,MAAM3D,EAAY,WAAW,KAAK,EAE1D,GAAIxE,GAAUwE,CAAW,EACvB,MAGFU,EAAQgD,EAAO,OAAYC,CAC7B,OAASrE,EAAK,CACRU,EAAY,WAAW,OAAS,CAACd,EAAW,gBAE9CwB,EAAQ,QAERA,EAAQpB,EAIRmE,EAAY,GAEhB,CAEA,GAAI/C,IAAU,OAAW,CAKvB/E,GAAoBqE,EAAY,WAAW,UAAU,EAErDoB,GAAiBpB,EAAalB,CAAQ,EAEtC,MACF,CAMA,GAHAI,EAAW,iBAAmBwB,GAAO,YAAc,EAG/C+C,EAAW,CACbzD,EAAY,WAAW,UAAUU,CAAK,EACtC,MACF,CAOA,GAHAV,EAAY,WAAW,WAAW,QAAQ,IAAI,WAAWU,CAAK,CAAC,EAG3DzD,GAAUsG,CAAM,EAAG,CACrBvD,EAAY,WAAW,UAAU,EACjC,MACF,CAIA,GAAI,CAACA,EAAY,WAAW,WAAW,YACrC,MAEJ,CACF,EAGA,SAASwD,EAAWzF,EAAQ,CAEtBvC,GAAUwE,CAAW,GAEvBlB,EAAS,QAAU,GAMf5B,GAAWqG,CAAM,GACnBvD,EAAY,WAAW,WAAW,MAChCA,EAAY,WAAW,qBACzB,GAIE9C,GAAWqG,CAAM,GACnBvD,EAAY,WAAW,WAAW,MAAM,IAAI,UAAU,aAAc,CAClE,MAAOvE,GAAYsC,CAAM,EAAIA,EAAS,MACxC,CAAC,CAAC,EAMNiC,EAAY,WAAW,WAAW,QAAQ,CAC5C,CAGA,OAAOlB,EAEP,eAAeqE,EAAU,CAAE,KAAApC,CAAK,EAAG,CACjC,IAAM6C,EAAMjJ,GAAkB4D,CAAO,EAE/BsF,EAAQ7D,EAAY,WAAW,WAErC,OAAO,IAAI,QAAQ,CAAC8D,EAASC,IAAWF,EAAM,SAC5C,CACE,KAAMD,EAAI,SAAWA,EAAI,OACzB,OAAQA,EAAI,OACZ,OAAQrF,EAAQ,OAChB,KAAMyB,EAAY,WAAW,WAAW,aAAezB,EAAQ,MAAQA,EAAQ,KAAK,OAASwC,EAC7F,QAASxC,EAAQ,YAAY,QAC7B,gBAAiB,EACjB,QAASA,EAAQ,OAAS,YAAc,YAAc,MACxD,EACA,CACE,KAAM,KACN,MAAO,KAEP,UAAWyF,EAAO,CAEhB,GAAM,CAAE,WAAAC,CAAW,EAAIjE,EAAY,WAE/BiE,EAAW,UACbD,EAAM,IAAIrH,GAAa,6BAA8B,YAAY,CAAC,GAElEqD,EAAY,WAAW,GAAG,aAAcgE,CAAK,EAC7C,KAAK,MAAQC,EAAW,MAAQD,EAEpC,EAEA,UAAWjB,EAAQE,EAAaiB,EAAQlB,EAAY,CAClD,GAAID,EAAS,IACX,OAGF,IAAIoB,EAAU,CAAC,EACXC,EAAW,GAETC,GAAU,IAAIrK,GACpB,QAASsK,GAAI,EAAGA,GAAIrB,EAAY,OAAQqB,IAAK,EAAG,CAC9C,IAAMC,GAAMtB,EAAYqB,GAAI,CAAC,EAAE,SAAS,QAAQ,EAC1CE,GAAMvB,EAAYqB,GAAI,CAAC,EAAE,SAAS,QAAQ,EAE5CC,GAAI,YAAY,IAAM,mBAGxBJ,EAAUK,GAAI,YAAY,EAAE,MAAM,GAAG,EAAE,IAAKC,GAAMA,EAAE,KAAK,CAAC,EAAE,QAAQ,EAC3DF,GAAI,YAAY,IAAM,aAC/BH,EAAWI,IAGbH,GAAQ,OAAOE,GAAKC,EAAG,CACzB,CAEA,KAAK,KAAO,IAAI1H,GAAS,CAAE,KAAMoH,CAAO,CAAC,EAEzC,IAAMQ,GAAW,CAAC,EAEZC,GAAapG,EAAQ,WAAa,UACtC6F,GACA9H,GAAe,SAASyG,CAAM,EAGhC,GAAIxE,EAAQ,SAAW,QAAUA,EAAQ,SAAW,WAAa,CAAChC,GAAe,SAASwG,CAAM,GAAK,CAAC4B,GACpG,QAAWC,MAAUT,EAEnB,GAAIS,KAAW,UAAYA,KAAW,OACpCF,GAAS,KAAKvK,GAAK,aAAa,CAK9B,MAAOA,GAAK,UAAU,aACtB,YAAaA,GAAK,UAAU,YAC9B,CAAC,CAAC,UACOyK,KAAW,UACpBF,GAAS,KAAKvK,GAAK,cAAc,CAAC,UACzByK,KAAW,KACpBF,GAAS,KAAKvK,GAAK,uBAAuB,CAAC,MACtC,CACLuK,GAAS,OAAS,EAClB,KACF,CAIJ,OAAAZ,EAAQ,CACN,OAAAf,EACA,WAAAC,EACA,YAAaqB,GAAQzH,EAAY,EACjC,KAAM8H,GAAS,OACX3H,GAAS,KAAK,KAAM,GAAG2H,GAAU,IAAM,CAAE,CAAC,EAC1C,KAAK,KAAK,GAAG,QAAS,IAAM,CAAC,CAAC,CACpC,CAAC,EAEM,EACT,EAEA,OAAQpD,EAAO,CACb,GAAItB,EAAY,WAAW,KACzB,OAOF,IAAMU,EAAQY,EAOd,OAAApC,EAAW,iBAAmBwB,EAAM,WAI7B,KAAK,KAAK,KAAKA,CAAK,CAC7B,EAEA,YAAc,CACR,KAAK,OACPV,EAAY,WAAW,IAAI,aAAc,KAAK,KAAK,EAGrDA,EAAY,WAAW,MAAQ,GAE/B,KAAK,KAAK,KAAK,IAAI,CACrB,EAEA,QAAShC,EAAO,CACV,KAAK,OACPgC,EAAY,WAAW,IAAI,aAAc,KAAK,KAAK,EAGrD,KAAK,MAAM,QAAQhC,CAAK,EAExBgC,EAAY,WAAW,UAAUhC,CAAK,EAEtC+F,EAAO/F,CAAK,CACd,EAEA,UAAW+E,EAAQE,EAAaC,EAAQ,CACtC,GAAIH,IAAW,IACb,OAGF,IAAMsB,EAAU,IAAIrK,GAEpB,QAASsK,EAAI,EAAGA,EAAIrB,EAAY,OAAQqB,GAAK,EAAG,CAC9C,IAAMC,EAAMtB,EAAYqB,EAAI,CAAC,EAAE,SAAS,QAAQ,EAC1CE,GAAMvB,EAAYqB,EAAI,CAAC,EAAE,SAAS,QAAQ,EAEhDD,EAAQ,OAAOE,EAAKC,EAAG,CACzB,CAEA,OAAAV,EAAQ,CACN,OAAAf,EACA,WAAYrF,GAAaqF,CAAM,EAC/B,YAAasB,EAAQzH,EAAY,EACjC,OAAAsG,CACF,CAAC,EAEM,EACT,CACF,CACF,CAAC,CACH,CACF,CAEAxJ,GAAO,QAAU,CACf,MAAAuE,GACA,MAAAJ,GACA,SAAAgB,GACA,wBAAAE,EACF,ICtkEA,IAAA8F,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEAA,GAAO,QAAU,CACf,OAAQ,OAAO,kBAAkB,EACjC,QAAS,OAAO,mBAAmB,EACnC,OAAQ,OAAO,kBAAkB,EACjC,wBAAyB,OAAO,gDAAgD,EAChF,QAAS,OAAO,mBAAmB,EACnC,SAAU,OAAO,oBAAoB,CACvC,ICTA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,GAAM,CAAE,OAAAC,EAAO,EAAI,KAEbC,GAAS,OAAO,qBAAqB,EAKrCC,GAAN,MAAMC,UAAsB,KAAM,CAChC,YAAaC,EAAMC,EAAgB,CAAC,EAAG,CACrCD,EAAOJ,GAAO,WAAW,UAAUI,CAAI,EACvCC,EAAgBL,GAAO,WAAW,kBAAkBK,GAAiB,CAAC,CAAC,EAEvE,MAAMD,EAAMC,CAAa,EAEzB,KAAKJ,EAAM,EAAI,CACb,iBAAkBI,EAAc,iBAChC,OAAQA,EAAc,OACtB,MAAOA,EAAc,KACvB,CACF,CAEA,IAAI,kBAAoB,CACtB,OAAAL,GAAO,WAAW,KAAMG,CAAa,EAE9B,KAAKF,EAAM,EAAE,gBACtB,CAEA,IAAI,QAAU,CACZ,OAAAD,GAAO,WAAW,KAAMG,CAAa,EAE9B,KAAKF,EAAM,EAAE,MACtB,CAEA,IAAI,OAAS,CACX,OAAAD,GAAO,WAAW,KAAMG,CAAa,EAE9B,KAAKF,EAAM,EAAE,KACtB,CACF,EAEAD,GAAO,WAAW,kBAAoBA,GAAO,oBAAoB,CAC/D,CACE,IAAK,mBACL,UAAWA,GAAO,WAAW,QAC7B,aAAc,EAChB,EACA,CACE,IAAK,SACL,UAAWA,GAAO,WAAW,oBAAoB,EACjD,aAAc,CAChB,EACA,CACE,IAAK,QACL,UAAWA,GAAO,WAAW,oBAAoB,EACjD,aAAc,CAChB,EACA,CACE,IAAK,UACL,UAAWA,GAAO,WAAW,QAC7B,aAAc,EAChB,EACA,CACE,IAAK,aACL,UAAWA,GAAO,WAAW,QAC7B,aAAc,EAChB,EACA,CACE,IAAK,WACL,UAAWA,GAAO,WAAW,QAC7B,aAAc,EAChB,CACF,CAAC,EAEDD,GAAO,QAAU,CACf,cAAAG,EACF,IC7EA,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAMA,SAASC,GAAaC,EAAO,CAC3B,GAAI,CAACA,EACH,MAAO,UAOT,OAAQA,EAAM,KAAK,EAAE,YAAY,EAAG,CAClC,IAAK,oBACL,IAAK,gBACL,IAAK,gBACL,IAAK,QACL,IAAK,OACL,IAAK,kBACH,MAAO,QACT,IAAK,MACL,IAAK,QACL,IAAK,WACL,IAAK,SACH,MAAO,SACT,IAAK,cACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,KACL,IAAK,SACH,MAAO,aACT,IAAK,cACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,KACL,IAAK,SACH,MAAO,aACT,IAAK,cACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,KACL,IAAK,SACH,MAAO,aACT,IAAK,qBACL,IAAK,WACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACH,MAAO,aACT,IAAK,SACL,IAAK,WACL,IAAK,cACL,IAAK,cACL,IAAK,mBACL,IAAK,WACL,IAAK,aACL,IAAK,eACL,IAAK,eACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACH,MAAO,aACT,IAAK,kBACL,IAAK,WACL,IAAK,WACL,IAAK,QACL,IAAK,SACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,eACH,MAAO,aACT,IAAK,cACL,IAAK,mBACL,IAAK,SACL,IAAK,aACL,IAAK,eACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,SACH,MAAO,aACT,IAAK,cACL,IAAK,eACL,IAAK,UACH,MAAO,eACT,IAAK,cACL,IAAK,cACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,KACL,IAAK,SACH,MAAO,cACT,IAAK,cACL,IAAK,aACL,IAAK,YACH,MAAO,cACT,IAAK,cACL,IAAK,aACL,IAAK,YACH,MAAO,cACT,IAAK,cACL,IAAK,cACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,KACH,MAAO,cACT,IAAK,cACH,MAAO,cACT,IAAK,UACL,IAAK,MACL,IAAK,OACL,IAAK,SACL,IAAK,SACH,MAAO,SACT,IAAK,UACL,IAAK,SACH,MAAO,SACT,IAAK,cACL,IAAK,MACL,IAAK,YACL,IAAK,cACH,MAAO,YACT,IAAK,cACL,IAAK,aACL,IAAK,YACL,IAAK,UACL,IAAK,cACH,MAAO,cACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,iBACL,IAAK,QACL,IAAK,SACL,IAAK,QACL,IAAK,cACL,IAAK,SACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,KACL,IAAK,SACL,IAAK,WACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,cACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,KACL,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,iBACL,IAAK,kBACH,MAAO,iBACT,IAAK,UACL,IAAK,WACL,IAAK,kBACL,IAAK,SACL,IAAK,UACL,IAAK,aACL,IAAK,MACL,IAAK,YACL,IAAK,QACH,MAAO,MACT,IAAK,UACH,MAAO,UACT,IAAK,OACL,IAAK,aACL,IAAK,UACL,IAAK,SACL,IAAK,WACH,MAAO,OACT,IAAK,sBACL,IAAK,SACL,IAAK,WACH,MAAO,SACT,IAAK,cACL,IAAK,cACH,MAAO,cACT,IAAK,aACL,IAAK,QACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,OACL,IAAK,cACL,IAAK,SACH,MAAO,YACT,IAAK,UACL,IAAK,gBACL,IAAK,SACL,IAAK,aACL,IAAK,SACL,IAAK,iBACL,IAAK,iBACL,IAAK,UACL,IAAK,WACL,IAAK,cACH,MAAO,SACT,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,kBACL,IAAK,cACL,IAAK,cACH,MAAO,cACT,IAAK,cACL,IAAK,WACH,MAAO,WACT,IAAK,YACL,IAAK,kBACL,IAAK,QACL,IAAK,UACL,IAAK,cACL,IAAK,SACL,IAAK,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", + "names": ["require_lite", "__commonJSMin", "exports", "has", "dequal", "foo", "bar", "ctor", "len", "require_useDeepMemo", "__commonJSMin", "exports", "react_1", "lite_1", "useDeepMemo", "value", "ref", "signalRef", "require_useLatest", "__commonJSMin", "exports", "react_1", "useLatest", "value", "ref", "require_handle_error_toast_action", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__setModuleDefault", "v", "__importStar", "mod", "result", "fs", "path", "api_1", "handleErrorToastAction", "error", "privateExtension", "title", "extensionURL", "packageJSON", "fallback", "toast", "require_usePromise", "__commonJSMin", "exports", "react_1", "api_1", "useDeepMemo_1", "useLatest_1", "handle_error_toast_action_1", "usePromise", "fn", "args", "options", "lastCallId", "state", "set", "fnRef", "latestAbortable", "latestArgs", "latestOnError", "latestOnData", "latestOnWillExecute", "latestValue", "latestCallback", "callback", "callId", "prevState", "bindPromiseIfNeeded", "data", "error", "toast", "revalidate", "mutate", "asyncUpdate", "dataBeforeOptimisticUpdate", "update", "err", "isLoading", "require_useCachedState", "__commonJSMin", "exports", "react_1", "api_1", "useLatest_1", "replacer", "key", "_value", "value", "reviver", "_key", "rootCache", "cacheMap", "useCachedState", "initialState", "config", "cacheKey", "cache", "keyRef", "initialValueRef", "cachedState", "error", "state", "err", "stateRef", "setStateAndCache", "updater", "newValue", "stringifiedValue", "require_object_hash", "__commonJSMin", "exports", "module", "crypto", "objectHash", "object", "options", "applyDefaults", "hash", "hashes", "encodings", "sourceOptions", "i", "isNativeFunction", "f", "exp", "hashingStream", "PassThrough", "hasher", "typeHasher", "buf", "stream", "writeTo", "context", "write", "str", "value", "type", "pattern", "objString", "objType", "objectNumber", "keys", "key", "self", "arr", "unordered", "entry", "contextAdditions", "entries", "strm", "localContext", "date", "sym", "err", "bool", "string", "fn", "number", "xml", "regex", "url", "map", "set", "file", "b", "require_useCachedPromise", "__commonJSMin", "exports", "__importDefault", "mod", "react_1", "object_hash_1", "useCachedState_1", "usePromise_1", "useLatest_1", "emptyCache", "useCachedPromise", "fn", "args", "options", "initialData", "keepPreviousData", "usePromiseOptions", "lastUpdateFrom", "cachedData", "mutateCache", "laggyDataRef", "_mutate", "revalidate", "state", "data", "returnedData", "latestData", "mutate", "asyncUpdate", "dataBeforeOptimisticUpdate", "err", "require_media_typer", "__commonJSMin", "exports", "SUBTYPE_NAME_REGEXP", "TYPE_NAME_REGEXP", "TYPE_REGEXP", "format", "parse", "test", "obj", "subtype", "suffix", "type", "string", "match", "index", "MediaType", "require_content_type", "__commonJSMin", "exports", "PARAM_REGEXP", "TEXT_REGEXP", "TOKEN_REGEXP", "QESC_REGEXP", "QUOTE_REGEXP", "TYPE_REGEXP", "format", "parse", "obj", "parameters", "type", "string", "param", "params", "i", "qstring", "header", "getcontenttype", "index", "ContentType", "key", "match", "value", "val", "str", "require_lib", "__commonJSMin", "exports", "module", "conversions", "sign", "x", "evenRound", "createNumberConversion", "bitLength", "typeOpts", "lowerBound", "upperBound", "moduloVal", "moduloBound", "V", "opts", "val", "c", "i", "S", "n", "U", "d", "a", "b", "require_utils", "__commonJSMin", "exports", "module", "target", "source", "keys", "i", "impl", "wrapper", "require_mappingTable", "__commonJSMin", "exports", "module", "require_tr46", "__commonJSMin", "exports", "module", "punycode", "mappingTable", "PROCESSING_OPTIONS", "normalize", "str", "s", "findStatus", "val", "start", "end", "mid", "target", "regexAstralSymbols", "countSymbols", "string", "mapChars", "domain_name", "useSTD3", "processing_option", "hasError", "processed", "len", "i", "codePoint", "status", "combiningMarksRegex", "validateLabel", "label", "error", "processing", "result", "labels", "validation", "verifyDnsLength", "l", "total", "require_url_state_machine", "__commonJSMin", "exports", "module", "punycode", "tr46", "specialSchemes", "failure", "countSymbols", "str", "at", "input", "idx", "c", "isASCIIDigit", "isASCIIAlpha", "isASCIIAlphanumeric", "isASCIIHex", "isSingleDot", "buffer", "isDoubleDot", "isWindowsDriveLetterCodePoints", "cp1", "cp2", "isWindowsDriveLetterString", "string", "isNormalizedWindowsDriveLetterString", "containsForbiddenHostCodePoint", "containsForbiddenHostCodePointExcludingPercent", "isSpecialScheme", "scheme", "isSpecial", "url", "defaultPort", "percentEncode", "hex", "utf8PercentEncode", "buf", "i", "utf8PercentDecode", "output", "isC0ControlPercentEncode", "extraPathPercentEncodeSet", "isPathPercentEncode", "extraUserinfoPercentEncodeSet", "isUserinfoPercentEncode", "percentEncodeChar", "encodeSetPredicate", "cStr", "parseIPv4Number", "R", "parseIPv4", "parts", "numbers", "part", "n", "ipv4", "counter", "serializeIPv4", "address", "parseIPv6", "pieceIndex", "compress", "pointer", "value", "length", "numbersSeen", "ipv4Piece", "number", "swaps", "temp", "serializeIPv6", "findLongestZeroSequence", "ignore0", "parseHost", "isSpecialArg", "parseOpaqueHost", "domain", "asciiDomain", "ipv4Host", "decoded", "arr", "maxIdx", "maxLen", "currStart", "currLen", "serializeHost", "host", "trimControlChars", "trimTabAndNewline", "shortenPath", "path", "isNormalizedWindowsDriveLetter", "includesCredentials", "cannotHaveAUsernamePasswordPort", "URLStateMachine", "base", "encodingOverride", "stateOverride", "res", "ret", "len", "codePoint", "encodedCodePoints", "port", "fileOtherwiseCodePoints", "serializeURL", "excludeFragment", "serializeOrigin", "tuple", "result", "options", "usm", "username", "password", "integer", "require_URL_impl", "__commonJSMin", "exports", "usm", "constructorArgs", "url", "base", "parsedBase", "parsedURL", "v", "input", "require_URL", "__commonJSMin", "exports", "module", "conversions", "utils", "Impl", "impl", "URL", "url", "args", "i", "V", "obj", "constructorArgs", "privateData", "require_public_api", "__commonJSMin", "exports", "require_lib", "__commonJSMin", "exports", "module", "_interopDefault", "ex", "Stream", "http", "Url", "whatwgUrl", "https", "zlib", "Readable", "BUFFER", "TYPE", "Blob", "_Blob", "blobParts", "options", "buffers", "size", "a", "length", "i", "element", "buffer", "type", "buf", "ab", "readable", "start", "end", "relativeStart", "relativeEnd", "span", "slicedBuffer", "blob", "FetchError", "message", "systemError", "convert", "INTERNALS", "PassThrough", "Body", "body", "_this", "_ref", "_ref$size", "_ref$timeout", "timeout", "isURLSearchParams", "isBlob", "err", "error", "consumeBody", "ct", "_this2", "_this3", "convertBody", "proto", "name", "desc", "_this4", "accum", "accumBytes", "abort", "resolve", "reject", "resTimeout", "chunk", "headers", "charset", "res", "str", "obj", "clone", "instance", "p1", "p2", "extractContentType", "getTotalBytes", "writeToStream", "dest", "invalidTokenRegex", "invalidHeaderCharRegex", "validateName", "validateValue", "value", "find", "map", "key", "MAP", "Headers", "_Headers", "init", "rawHeaders", "headerNames", "headerName", "method", "pairs", "pair", "callback", "thisArg", "getHeaders", "_pairs$i", "createHeadersIterator", "kind", "k", "INTERNAL", "target", "iterator", "HeadersIteratorPrototype", "_INTERNAL", "index", "values", "len", "exportNodeCompatibleHeaders", "hostHeaderKey", "createHeadersLenient", "val", "INTERNALS$1", "STATUS_CODES", "Response", "_Response", "opts", "status", "contentType", "INTERNALS$2", "URL", "parse_url", "format_url", "parseURL", "urlStr", "streamDestructionSupported", "isRequest", "input", "isAbortSignal", "signal", "Request", "_Request", "parsedURL", "inputBody", "getNodeRequestOptions", "request", "contentLengthValue", "totalBytes", "agent", "AbortError", "URL$1", "PassThrough$1", "isDomainOrSubdomain", "destination", "original", "orig", "isSameProtocol", "fetch", "url", "send", "response", "destroyStream", "abortAndFinalize", "finalize", "req", "reqTimeout", "socket", "fixResponseChunkedTransferBadEnding", "s", "hadError", "hasDataListener", "location", "locationURL", "requestOpts", "response_options", "codings", "zlibOptions", "raw", "errorCallback", "stream", "code", "require_node_ponyfill", "__commonJSMin", "exports", "module", "nodeFetch", "realFetch", "fetch", "url", "options", "require_useFetch", "__commonJSMin", "exports", "__importDefault", "mod", "react_1", "media_typer_1", "content_type_1", "useCachedPromise_1", "useLatest_1", "cross_fetch_1", "isJSON", "contentTypeHeader", "ct", "mediaType", "defaultParsing", "response", "useFetch", "url", "options", "parseResponse", "initialData", "execute", "keepPreviousData", "onError", "onData", "onWillExecute", "fetchOptions", "useCachedPromiseOptions", "parseResponseRef", "abortable", "fn", "res", "exports", "signals_js_1", "exports", "processOk", "process", "kExitEmitter", "global", "ObjectDefineProperty", "Emitter", "ev", "fn", "list", "i", "code", "signal", "ret", "SignalExitBase", "signalExitWrap", "handler", "cb", "opts", "SignalExitFallback", "SignalExit", "#hupSig", "#emitter", "#process", "#originalProcessEmit", "#originalProcessReallyExit", "#sigListeners", "#loaded", "sig", "listeners", "count", "p", "s", "a", "#processEmit", "#processReallyExit", "listener", "args", "og", "_a", "require_exec_utils", "__commonJSMin", "exports", "__importDefault", "mod", "node_buffer_1", "node_stream_1", "node_util_1", "signal_exit_1", "getSpawnedPromise", "spawned", "timeout", "spawnedPromise", "resolve", "reject", "exitCode", "signal", "error", "timeoutId", "timeoutPromise", "_resolve", "safeSpawnedPromise", "removeExitHandler", "MaxBufferError", "streamPipelinePromisified", "bufferStream", "options", "encoding", "isBuffer", "stream", "length", "chunks", "chunk", "getStream", "inputStream", "rejectPromise", "getBufferedData", "streamPromise", "getSpawnedResult", "stdout", "stderr", "processDone", "stdoutPromise", "stderrPromise", "stripFinalNewline", "input", "LF", "CR", "handleOutput", "value", "getErrorPrefix", "timedOut", "makeError", "command", "parentError", "execaMessage", "shortMessage", "message", "defaultParsing", "require_useExec", "__commonJSMin", "exports", "__importDefault", "mod", "node_child_process_1", "react_1", "useCachedPromise_1", "useLatest_1", "exec_utils_1", "SPACES_REGEXP", "parseCommand", "command", "args", "tokens", "token", "previousToken", "useExec", "optionsOrArgs", "options", "parseOutput", "input", "onData", "onWillExecute", "initialData", "execute", "keepPreviousData", "onError", "execOptions", "useCachedPromiseOptions", "abortable", "parseOutputRef", "fn", "_command", "_args", "_options", "file", "spawned", "spawnedPromise", "error", "exitCode", "signal", "timedOut", "stdoutResult", "stderrResult", "stdout", "stderr", "require_useSQL", "__commonJSMin", "exports", "__importDefault", "mod", "jsx_runtime_1", "api_1", "node_fs_1", "promises_1", "node_os_1", "node_child_process_1", "node_path_1", "object_hash_1", "react_1", "usePromise_1", "useLatest_1", "exec_utils_1", "handle_error_toast_action_1", "useSQL", "databasePath", "query", "options", "permissionPriming", "usePromiseOptions", "permissionView", "setPermissionView", "latestOptions", "abortable", "handleError", "_error", "error", "PermissionError", "isPermissionError", "PermissionErrorScreen", "fn", "workaroundCopiedDb", "abortSignal", "spawned", "spawnedPromise", "exitCode", "signal", "stdoutResult", "stderrResult", "checkAborted", "tempFolder", "message", "macosVenturaAndLater", "preferencesString", "props", "action", "require_useForm", "__commonJSMin", "exports", "react_1", "useLatest_1", "FormValidation", "validationError", "validation", "value", "valueIsValid", "useForm", "props", "_onSubmit", "initialValues", "values", "setValues", "errors", "setErrors", "refs", "latestValidation", "latestOnSubmit", "focus", "id", "handleSubmit", "validationErrors", "error", "result", "setValidationError", "setValue", "itemProps", "target", "event", "instance", "reset", "require_useAI", "__commonJSMin", "exports", "react_1", "api_1", "usePromise_1", "useAI", "prompt", "options", "creativity", "stream", "model", "usePromiseOptions", "data", "setData", "abortable", "isLoading", "error", "revalidate", "shouldStream", "x", "require_useFrecencySorting", "__commonJSMin", "exports", "react_1", "useLatest_1", "useCachedState_1", "HALF_LIFE_DAYS", "MS_PER_DAY", "DECAY_RATE_CONSTANT", "VISIT_TYPE_POINTS", "getNewFrecency", "item", "now", "lastVisited", "frecency", "visitAgeInDays", "currentVisitValue", "totalVisitValue", "defaultKey", "useFrecencySorting", "data", "options", "keyRef", "sortUnvisitedRef", "storedFrecencies", "setStoredFrecencies", "visitItem", "itemKey", "newFrecency", "resetRanking", "newFrencencies", "a", "b", "frecencyA", "frecencyB", "require_color", "__commonJSMin", "exports", "hexToRGB", "hex", "r", "g", "b", "rgbToHex", "rString", "gString", "bString", "rgbToHSL", "cmin", "cmax", "delta", "h", "s", "l", "hslToRGB", "c", "x", "m", "hexToHSL", "hslToHex", "hsl", "clamp", "value", "min", "max", "offset", "slightlyDarkerColor", "slightlyLighterColor", "require_avatar", "__commonJSMin", "exports", "color_1", "getWholeCharAndI", "str", "i", "code", "next", "prev", "avatarColorSet", "getAvatarIcon", "name", "options", "words", "initials", "firstWordFirstLetter", "lastWordFirstLetter", "backgroundColor", "initialsCharIndex", "char", "colorIndex", "radius", "require_favicon", "__commonJSMin", "exports", "api_1", "url_1", "getFavicon", "url", "options", "hostname", "e", "require_progress", "__commonJSMin", "exports", "api_1", "polarToCartesian", "centerX", "centerY", "radius", "angleInDegrees", "angleInRadians", "describeArc", "x", "y", "startAngle", "endAngle", "start", "end", "largeArcFlag", "getProgressIcon", "progress", "color", "options", "background", "backgroundOpacity", "stroke", "require_icon", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "p", "require_run_applescript", "__commonJSMin", "exports", "__importDefault", "mod", "node_child_process_1", "exec_utils_1", "runAppleScript", "script", "optionsOrArgs", "options", "humanReadableOutput", "language", "timeout", "execOptions", "outputArguments", "spawned", "spawnedPromise", "error", "exitCode", "signal", "timedOut", "stdoutResult", "stderrResult", "stdout", "stderr", "require_dist", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "p", "require_symbols", "__commonJSMin", "exports", "module", "require_errors", "__commonJSMin", "exports", "module", "UndiciError", "message", "ConnectTimeoutError", "_ConnectTimeoutError", "HeadersTimeoutError", "_HeadersTimeoutError", "HeadersOverflowError", "_HeadersOverflowError", "BodyTimeoutError", "_BodyTimeoutError", "ResponseStatusCodeError", "_ResponseStatusCodeError", "statusCode", "headers", "body", "InvalidArgumentError", "_InvalidArgumentError", "InvalidReturnValueError", "_InvalidReturnValueError", "RequestAbortedError", "_RequestAbortedError", "InformationalError", "_InformationalError", "RequestContentLengthMismatchError", "_RequestContentLengthMismatchError", "ResponseContentLengthMismatchError", "_ResponseContentLengthMismatchError", "ClientDestroyedError", "_ClientDestroyedError", "ClientClosedError", "_ClientClosedError", "SocketError", "_SocketError", "socket", "NotSupportedError", "_NotSupportedError", "BalancedPoolMissingUpstreamError", "HTTPParserError", "_HTTPParserError", "code", "data", "ResponseExceededMaxSizeError", "_ResponseExceededMaxSizeError", "require_util", "__commonJSMin", "exports", "module", "assert", "kDestroyed", "kBodyUsed", "IncomingMessage", "stream", "net", "InvalidArgumentError", "Blob", "nodeUtil", "stringify", "nodeMajor", "nodeMinor", "v", "nop", "isStream", "obj", "isBlobLike", "object", "buildURL", "url", "queryParams", "stringified", "parseURL", "port", "origin", "path", "parseOrigin", "getHostname", "host", "idx", "getServerName", "servername", "deepClone", "isAsyncIterable", "isIterable", "bodyLength", "body", "state", "isBuffer", "isDestroyed", "isReadableAborted", "destroy", "err", "KEEPALIVE_TIMEOUT_EXPR", "parseKeepAliveTimeout", "val", "m", "parseHeaders", "headers", "i", "key", "parseRawHeaders", "ret", "hasContentLength", "contentDispositionIdx", "n", "buffer", "validateHandler", "handler", "method", "upgrade", "isDisturbed", "isErrored", "isReadable", "getSocketInfo", "socket", "ReadableStream", "ReadableStreamFrom", "iterable", "iterator", "controller", "done", "value", "buf", "reason", "isFormDataLike", "throwIfAborted", "signal", "events", "addAbortListener", "listener", "hasToWellFormed", "toUSVString", "kEnumerableProperty", "require_timers", "__commonJSMin", "exports", "module", "fastNow", "fastNowTimeout", "fastTimers", "onTimeout", "len", "idx", "timer", "refreshTimeout", "Timeout", "callback", "delay", "opaque", "timeout", "require_utils", "__commonJSMin", "exports", "module", "parseContentType", "str", "params", "i", "code", "TOKEN", "type", "subtypeStart", "parseContentTypeParams", "subtype", "name", "nameStart", "value", "valueStart", "escaping", "QDTEXT", "parseDisposition", "defDecoder", "parseDispositionParams", "charset", "charsetStart", "CHARSET", "encode", "EXTENDED_VALUE", "hexUpper", "hexLower", "HEX_VALUES", "byteVal", "convertToUTF8", "getDecoder", "lc", "decoders", "data", "hint", "decode", "basename", "path", "require_sbmh", "__commonJSMin", "exports", "module", "memcmp", "buf1", "pos1", "buf2", "pos2", "num", "SBMH", "needle", "cb", "needleLen", "i", "chunk", "pos", "result", "chunkLen", "feed", "lbSize", "self", "data", "len", "lastNeedleCharPos", "lastNeedleChar", "end", "occ", "lookbehind", "nextPos", "ch", "matchNeedle", "bytesToCutOff", "firstNeedleChar", "lb", "require_multipart", "__commonJSMin", "exports", "module", "Readable", "Writable", "StreamSearch", "basename", "convertToUTF8", "getDecoder", "parseContentType", "parseDisposition", "BUF_CRLF", "BUF_CR", "BUF_DASH", "noop", "MAX_HEADER_PAIRS", "MAX_HEADER_SIZE", "HPARSER_NAME", "HPARSER_PRE_OWS", "HPARSER_VALUE", "HeaderParser", "cb", "chunk", "pos", "end", "start", "done", "code", "TOKEN", "FIELD_VCHAR", "header", "FileStream", "opts", "owner", "n", "ignoreData", "callAndUnsetCb", "self", "err", "nullDecoder", "val", "hint", "Multipart", "cfg", "streamOpts", "boundary", "paramDecoder", "defCharset", "preservePath", "fileOpts", "limits", "fieldSizeLimit", "fileSizeLimit", "filesLimit", "fieldsLimit", "partsLimit", "parts", "fields", "files", "skipPart", "fileSize", "field", "fieldSize", "partCharset", "partEncoding", "partType", "partName", "partTruncated", "hitFilesLimit", "hitFieldsLimit", "hparser", "filename", "disp", "conType", "matchPostBoundary", "ssCb", "isMatch", "data", "isDataSafe", "retrydata", "ret", "writecb", "actualLen", "enc", "checkEndState", "fileStream", "finalcb", "require_urlencoded", "__commonJSMin", "exports", "module", "Writable", "getDecoder", "URLEncoded", "cfg", "streamOpts", "charset", "limits", "conType", "chunk", "enc", "cb", "i", "len", "readPctEnc", "main", "skipKeyBytes", "skipValBytes", "self", "pos", "hexUpper", "HEX_VALUES", "hexLower", "code", "require_lib", "__commonJSMin", "exports", "module", "parseContentType", "getInstance", "cfg", "headers", "conType", "type", "TYPES", "instanceCfg", "typemod", "require_constants", "__commonJSMin", "exports", "module", "MessageChannel", "receiveMessageOnPort", "corsSafeListedMethods", "nullBodyStatus", "redirectStatus", "badPorts", "referrerPolicy", "requestRedirect", "safeMethods", "requestMode", "requestCredentials", "requestCache", "requestBodyHeader", "requestDuplex", "forbiddenMethods", "subresource", "DOMException", "err", "channel", "structuredClone", "value", "options", "require_global", "__commonJSMin", "exports", "module", "globalOrigin", "getGlobalOrigin", "setGlobalOrigin", "newOrigin", "parsedURL", "require_util", "__commonJSMin", "exports", "module", "redirectStatus", "badPorts", "referrerPolicyTokens", "getGlobalOrigin", "performance", "isBlobLike", "toUSVString", "ReadableStreamFrom", "assert", "isUint8Array", "crypto", "responseURL", "response", "urlList", "length", "responseLocationURL", "requestFragment", "location", "isValidHeaderValue", "requestCurrentURL", "request", "requestBadPort", "url", "urlIsHttpHttpsScheme", "isErrorLike", "object", "isValidReasonPhrase", "statusText", "i", "c", "isTokenChar", "isValidHTTPToken", "characters", "isValidHeaderName", "potentialValue", "setRequestReferrerPolicyOnRedirect", "actualResponse", "headersList", "policyHeader", "policy", "token", "crossOriginResourcePolicyCheck", "corsCheck", "TAOCheck", "appendFetchMetadata", "httpRequest", "header", "appendRequestOriginHeader", "serializedOrigin", "urlHasHttpsScheme", "sameOrigin", "coarsenedSharedCurrentTime", "crossOriginIsolatedCapability", "createOpaqueTimingInfo", "timingInfo", "makePolicyContainer", "clonePolicyContainer", "policyContainer", "determineRequestsReferrer", "referrerSource", "globalOrigin", "referrerURL", "stripURLForReferrer", "referrerOrigin", "areSameOrigin", "isNonPotentiallyTrustWorthy", "isURLPotentiallyTrustworthy", "currentURL", "originOnly", "isOriginPotentiallyTrustworthy", "origin", "originAsURL", "bytesMatch", "bytes", "metadataList", "parsedMetadata", "parseMetadata", "list", "d", "strongest", "metadata", "item", "algorithm", "expectedValue", "parseHashWithOptions", "result", "empty", "supportedHashes", "parsedToken", "tryUpgradeRequestToAPotentiallyTrustworthyURL", "A", "B", "createDeferredPromise", "res", "rej", "resolve", "reject", "isAborted", "fetchParams", "isCancelled", "normalizeMethod", "method", "serializeJavascriptValueToJSONString", "value", "esIteratorPrototype", "makeIterator", "iterator", "name", "kind", "index", "target", "values", "len", "pair", "iteratorResult", "fullyReadBody", "body", "processBody", "processBodyError", "successSteps", "errorSteps", "error", "reader", "e", "readAllBytes", "ReadableStream", "isReadableStreamLike", "stream", "MAXIMUM_ARGUMENT_LENGTH", "isomorphicDecode", "input", "previous", "current", "readableStreamClose", "controller", "err", "isomorphicEncode", "failureSteps", "byteLength", "done", "chunk", "urlIsLocal", "protocol", "hasOwn", "dict", "key", "require_symbols", "__commonJSMin", "exports", "module", "require_webidl", "__commonJSMin", "exports", "module", "types", "hasOwn", "toUSVString", "webidl", "message", "context", "plural", "V", "I", "opts", "length", "min", "ctx", "bitLength", "signedness", "upperBound", "lowerBound", "x", "n", "r", "converter", "method", "seq", "done", "value", "keyConverter", "valueConverter", "O", "result", "keys", "key", "typedKey", "typedValue", "i", "converters", "dictionary", "type", "dict", "options", "defaultValue", "required", "hasDefault", "index", "charCode", "T", "require_dataURL", "__commonJSMin", "exports", "module", "assert", "atob", "isomorphicDecode", "encoder", "HTTP_TOKEN_CODEPOINTS", "HTTP_WHITESPACE_REGEX", "HTTP_QUOTED_STRING_TOKENS", "dataURLProcessor", "dataURL", "input", "URLSerializer", "position", "mimeType", "collectASequenceOfCodePointsFast", "mimeTypeLength", "removeASCIIWhitespace", "encodedBody", "body", "stringPercentDecode", "stringBody", "forgivingBase64", "mimeTypeRecord", "parseMIMEType", "url", "excludeFragment", "href", "hash", "collectASequenceOfCodePoints", "condition", "result", "char", "idx", "start", "bytes", "percentDecode", "output", "i", "byte", "nextTwoBytes", "bytePoint", "removeHTTPWhitespace", "type", "subtype", "typeLowercase", "subtypeLowercase", "parameterName", "parameterValue", "collectAnHTTPQuotedString", "data", "binary", "extractValue", "positionStart", "value", "quoteOrBackslash", "serializeAMimeType", "parameters", "essence", "serialization", "name", "isHTTPWhiteSpace", "str", "leading", "trailing", "lead", "trail", "isASCIIWhitespace", "require_file", "__commonJSMin", "exports", "module", "Blob", "NativeFile", "types", "kState", "isBlobLike", "webidl", "parseMIMEType", "serializeAMimeType", "kEnumerableProperty", "File", "_File", "fileBits", "fileName", "options", "n", "t", "d", "substep", "processBlobParts", "FileLike", "_FileLike", "blobLike", "args", "V", "opts", "value", "parts", "bytes", "element", "s", "convertLineEndingsNative", "nativeLineEnding", "isFileLike", "object", "require_formdata", "__commonJSMin", "exports", "module", "isBlobLike", "toUSVString", "makeIterator", "kState", "UndiciFile", "FileLike", "isFileLike", "webidl", "Blob", "NativeFile", "File", "FormData", "_FormData", "form", "name", "value", "filename", "entry", "makeEntry", "idx", "pair", "callbackFn", "thisArg", "key", "options", "require_body", "__commonJSMin", "exports", "module", "Busboy", "util", "ReadableStreamFrom", "isBlobLike", "isReadableStreamLike", "readableStreamClose", "createDeferredPromise", "fullyReadBody", "FormData", "kState", "webidl", "DOMException", "structuredClone", "Blob", "NativeFile", "kBodyUsed", "assert", "isErrored", "isUint8Array", "isArrayBuffer", "UndiciFile", "parseMIMEType", "serializeAMimeType", "ReadableStream", "File", "extractBody", "object", "keepalive", "stream", "controller", "source", "action", "length", "type", "boundary", "prefix", "escape", "str", "normalizeLinefeeds", "value", "enc", "blobParts", "rn", "hasUnknownSizeValue", "name", "chunk", "part", "iterator", "done", "reason", "safelyExtractBody", "cloneBody", "body", "out1", "out2", "out2Clone", "finalClone", "consumeBody", "throwIfAborted", "state", "bodyMixinMethods", "instance", "specConsumeBody", "bytes", "mimeType", "bodyMimeType", "utf8DecodeBytes", "parseJSONFromBytes", "contentType", "headers", "key", "responseFormData", "busboy", "err", "info", "filename", "encoding", "chunks", "base64chunk", "end", "busboyResolve", "resolve", "reject", "entries", "text", "textDecoder", "formData", "mixinBody", "prototype", "convertBytesToJSValue", "bodyUnusable", "promise", "errorSteps", "error", "successSteps", "data", "e", "buffer", "headersList", "require_request", "__commonJSMin", "exports", "module", "InvalidArgumentError", "NotSupportedError", "assert", "util", "tokenRegExp", "headerCharRegex", "invalidPathRegex", "kHandler", "channels", "extractBody", "diagnosticsChannel", "Request", "origin", "path", "method", "body", "headers", "query", "idempotent", "blocking", "upgrade", "headersTimeout", "bodyTimeout", "reset", "throwOnError", "handler", "i", "processHeader", "keys", "key", "bodyStream", "contentType", "chunk", "err", "abort", "statusCode", "resume", "statusText", "socket", "trailers", "error", "value", "processHeaderValue", "val", "request", "require_dispatcher", "__commonJSMin", "exports", "module", "EventEmitter", "Dispatcher", "require_dispatcher_base", "__commonJSMin", "exports", "module", "Dispatcher", "ClientDestroyedError", "ClientClosedError", "InvalidArgumentError", "kDestroy", "kClose", "kDispatch", "kInterceptors", "kDestroyed", "kClosed", "kOnDestroyed", "kOnClosed", "kInterceptedDispatch", "DispatcherBase", "newInterceptors", "i", "callback", "resolve", "reject", "err", "data", "onClosed", "callbacks", "onDestroyed", "opts", "handler", "dispatch", "require_connect", "__commonJSMin", "exports", "module", "net", "assert", "util", "InvalidArgumentError", "ConnectTimeoutError", "tls", "SessionCache", "maxCachedSessions", "key", "ref", "sessionKey", "session", "oldestKey", "buildConnector", "socketPath", "timeout", "opts", "options", "sessionCache", "hostname", "host", "protocol", "port", "servername", "localAddress", "httpSocket", "callback", "socket", "keepAliveInitialDelay", "cancelTimeout", "setupTimeout", "onConnectTimeout", "cb", "err", "s1", "s2", "timeoutId", "enumToMap", "obj", "res", "key", "value", "exports", "utils_1", "ERROR", "exports", "TYPE", "FLAGS", "LENIENT_FLAGS", "METHODS", "key", "FINISH", "i", "c", "HEADER_STATE", "require_RedirectHandler", "__commonJSMin", "exports", "module", "util", "kBodyUsed", "assert", "InvalidArgumentError", "EE", "redirectableStatusCodes", "kBody", "BodyAsyncIterable", "body", "RedirectHandler", "dispatch", "maxRedirections", "opts", "handler", "abort", "statusCode", "headers", "socket", "error", "resume", "statusText", "parseLocation", "origin", "pathname", "search", "path", "cleanRequestHeaders", "chunk", "trailers", "i", "shouldRemoveHeader", "header", "removeContent", "unknownOrigin", "ret", "key", "require_redirectInterceptor", "__commonJSMin", "exports", "module", "RedirectHandler", "createRedirectInterceptor", "defaultMaxRedirections", "dispatch", "opts", "handler", "maxRedirections", "redirectHandler", "require_llhttp_wasm", "__commonJSMin", "exports", "module", "require_llhttp_simd_wasm", "__commonJSMin", "exports", "module", "require_client", "__commonJSMin", "exports", "module", "assert", "net", "util", "timers", "Request", "DispatcherBase", "RequestContentLengthMismatchError", "ResponseContentLengthMismatchError", "InvalidArgumentError", "RequestAbortedError", "HeadersTimeoutError", "HeadersOverflowError", "SocketError", "InformationalError", "BodyTimeoutError", "HTTPParserError", "ResponseExceededMaxSizeError", "ClientDestroyedError", "buildConnector", "kUrl", "kReset", "kServerName", "kClient", "kBusy", "kParser", "kConnect", "kBlocking", "kResuming", "kRunning", "kPending", "kSize", "kWriting", "kQueue", "kConnected", "kConnecting", "kNeedDrain", "kNoRef", "kKeepAliveDefaultTimeout", "kHostHeader", "kPendingIdx", "kRunningIdx", "kError", "kPipelining", "kSocket", "kKeepAliveTimeoutValue", "kMaxHeadersSize", "kKeepAliveMaxTimeout", "kKeepAliveTimeoutThreshold", "kHeadersTimeout", "kBodyTimeout", "kStrictContentLength", "kConnector", "kMaxRedirections", "kMaxRequests", "kCounter", "kClose", "kDestroy", "kDispatch", "kInterceptors", "kLocalAddress", "kMaxResponseSize", "FastBuffer", "kClosedResolve", "channels", "diagnosticsChannel", "Client", "url", "interceptors", "maxHeaderSize", "headersTimeout", "socketTimeout", "requestTimeout", "connectTimeout", "bodyTimeout", "idleTimeout", "keepAlive", "keepAliveTimeout", "maxKeepAliveTimeout", "keepAliveMaxTimeout", "keepAliveTimeoutThreshold", "socketPath", "pipelining", "tls", "strictContentLength", "maxCachedSessions", "maxRedirections", "connect", "maxRequestsPerClient", "localAddress", "maxResponseSize", "autoSelectFamily", "autoSelectFamilyAttemptTimeout", "createRedirectInterceptor", "value", "resume", "socket", "cb", "opts", "handler", "origin", "request", "resolve", "err", "requests", "errorRequest", "callback", "constants", "EMPTY_BUF", "lazyllhttp", "llhttpWasmData", "mod", "p", "at", "len", "currentParser", "start", "currentBufferPtr", "currentBufferRef", "statusCode", "upgrade", "shouldKeepAlive", "llhttpInstance", "llhttpPromise", "currentBufferSize", "TIMEOUT_HEADERS", "TIMEOUT_BODY", "TIMEOUT_IDLE", "Parser", "client", "type", "onParserTimeout", "chunk", "data", "llhttp", "ret", "offset", "ptr", "message", "buf", "key", "head", "headers", "onSocketError", "onSocketReadable", "onSocketEnd", "onSocketClose", "statusText", "timeout", "pause", "contentLength", "bytesRead", "parser", "timeoutType", "onError", "i", "host", "hostname", "protocol", "port", "idx", "ip", "reject", "emitDrain", "sync", "_resume", "write", "body", "method", "path", "blocking", "reset", "expectsPayload", "header", "writeIterable", "writeBlob", "writeStream", "finished", "writer", "AsyncWriter", "onData", "onDrain", "onAbort", "onFinished", "er", "buffer", "waitForDrain", "bytesWritten", "require_fixed_queue", "__commonJSMin", "exports", "module", "FixedCircularBuffer", "data", "nextItem", "tail", "next", "require_pool_stats", "__commonJSMin", "exports", "module", "kFree", "kConnected", "kPending", "kQueued", "kRunning", "kSize", "kPool", "PoolStats", "pool", "require_pool_base", "__commonJSMin", "exports", "module", "DispatcherBase", "FixedQueue", "kConnected", "kSize", "kRunning", "kPending", "kQueued", "kBusy", "kFree", "kUrl", "kClose", "kDestroy", "kDispatch", "PoolStats", "kClients", "kNeedDrain", "kQueue", "kClosedResolve", "kOnDrain", "kOnConnect", "kOnDisconnect", "kOnConnectionError", "kGetDispatcher", "kAddClient", "kRemoveClient", "kStats", "PoolBase", "pool", "origin", "targets", "queue", "needDrain", "item", "c", "err", "client", "ret", "pending", "running", "size", "resolve", "opts", "handler", "dispatcher", "idx", "require_pool", "__commonJSMin", "exports", "module", "PoolBase", "kClients", "kNeedDrain", "kAddClient", "kGetDispatcher", "Client", "InvalidArgumentError", "util", "kUrl", "kInterceptors", "buildConnector", "kOptions", "kConnections", "kFactory", "defaultFactory", "origin", "opts", "Pool", "connections", "factory", "connect", "connectTimeout", "tls", "maxCachedSessions", "socketPath", "autoSelectFamily", "autoSelectFamilyAttemptTimeout", "options", "dispatcher", "require_balanced_pool", "__commonJSMin", "exports", "module", "BalancedPoolMissingUpstreamError", "InvalidArgumentError", "PoolBase", "kClients", "kNeedDrain", "kAddClient", "kRemoveClient", "kGetDispatcher", "Pool", "kUrl", "kInterceptors", "parseOrigin", "kFactory", "kOptions", "kGreatestCommonDivisor", "kCurrentWeight", "kIndex", "kWeight", "kMaxWeightPerServer", "kErrorPenalty", "getGreatestCommonDivisor", "a", "b", "defaultFactory", "origin", "opts", "BalancedPool", "upstreams", "factory", "upstream", "upstreamOrigin", "pool", "args", "err", "client", "p", "dispatcher", "counter", "maxWeightIndex", "require_dispatcher_weakref", "__commonJSMin", "exports", "module", "kConnected", "kSize", "CompatWeakRef", "value", "CompatFinalizer", "finalizer", "dispatcher", "key", "require_agent", "__commonJSMin", "exports", "module", "InvalidArgumentError", "kClients", "kRunning", "kClose", "kDestroy", "kDispatch", "kInterceptors", "DispatcherBase", "Pool", "Client", "util", "createRedirectInterceptor", "WeakRef", "FinalizationRegistry", "kOnConnect", "kOnDisconnect", "kOnConnectionError", "kMaxRedirections", "kOnDrain", "kFactory", "kFinalizer", "kOptions", "defaultFactory", "origin", "opts", "Agent", "factory", "maxRedirections", "connect", "options", "key", "ref", "agent", "targets", "err", "ret", "client", "handler", "dispatcher", "closePromises", "destroyPromises", "require_readable", "__commonJSMin", "exports", "module", "assert", "Readable", "RequestAbortedError", "NotSupportedError", "InvalidArgumentError", "util", "ReadableStreamFrom", "toUSVString", "Blob", "kConsume", "kReading", "kBody", "kAbort", "kContentType", "resume", "abort", "contentType", "highWaterMark", "err", "ev", "args", "ret", "chunk", "consumePush", "consume", "opts", "limit", "signal", "abortFn", "signalListenerCleanup", "isLocked", "self", "isUnusable", "stream", "type", "resolve", "reject", "consumeFinish", "consumeStart", "state", "consumeEnd", "body", "length", "dst", "pos", "buf", "require_util", "__commonJSMin", "exports", "module", "assert", "ResponseStatusCodeError", "toUSVString", "getResolveErrorBodyCallback", "callback", "body", "contentType", "statusCode", "statusMessage", "headers", "chunks", "limit", "chunk", "payload", "require_abort_signal", "__commonJSMin", "exports", "module", "addAbortListener", "RequestAbortedError", "kListener", "kSignal", "abort", "self", "addSignal", "signal", "removeSignal", "require_api_request", "__commonJSMin", "exports", "module", "Readable", "InvalidArgumentError", "RequestAbortedError", "util", "getResolveErrorBodyCallback", "AsyncResource", "addSignal", "removeSignal", "RequestHandler", "opts", "callback", "signal", "method", "opaque", "body", "onInfo", "responseHeaders", "throwOnError", "highWaterMark", "err", "abort", "context", "statusCode", "rawHeaders", "resume", "statusMessage", "headers", "contentType", "chunk", "res", "trailers", "request", "resolve", "reject", "data", "require_api_stream", "__commonJSMin", "exports", "module", "finished", "PassThrough", "InvalidArgumentError", "InvalidReturnValueError", "RequestAbortedError", "util", "getResolveErrorBodyCallback", "AsyncResource", "addSignal", "removeSignal", "StreamHandler", "opts", "factory", "callback", "signal", "method", "opaque", "body", "onInfo", "responseHeaders", "throwOnError", "err", "abort", "context", "statusCode", "rawHeaders", "resume", "statusMessage", "headers", "res", "contentType", "trailers", "chunk", "stream", "resolve", "reject", "data", "require_api_pipeline", "__commonJSMin", "exports", "module", "Readable", "Duplex", "PassThrough", "InvalidArgumentError", "InvalidReturnValueError", "RequestAbortedError", "util", "AsyncResource", "addSignal", "removeSignal", "assert", "kResume", "PipelineRequest", "resume", "err", "callback", "PipelineResponse", "PipelineHandler", "opts", "handler", "signal", "method", "opaque", "onInfo", "responseHeaders", "body", "chunk", "encoding", "req", "res", "ret", "abort", "context", "statusCode", "rawHeaders", "headers", "trailers", "pipeline", "pipelineHandler", "require_api_upgrade", "__commonJSMin", "exports", "module", "InvalidArgumentError", "RequestAbortedError", "SocketError", "AsyncResource", "util", "addSignal", "removeSignal", "assert", "UpgradeHandler", "opts", "callback", "signal", "opaque", "responseHeaders", "abort", "context", "statusCode", "rawHeaders", "socket", "headers", "err", "upgrade", "resolve", "reject", "data", "upgradeHandler", "require_api_connect", "__commonJSMin", "exports", "module", "InvalidArgumentError", "RequestAbortedError", "SocketError", "AsyncResource", "util", "addSignal", "removeSignal", "ConnectHandler", "opts", "callback", "signal", "opaque", "responseHeaders", "abort", "context", "statusCode", "rawHeaders", "socket", "headers", "err", "connect", "resolve", "reject", "data", "connectHandler", "require_api", "__commonJSMin", "exports", "module", "require_mock_errors", "__commonJSMin", "exports", "module", "UndiciError", "MockNotMatchedError", "_MockNotMatchedError", "message", "require_mock_symbols", "__commonJSMin", "exports", "module", "require_mock_utils", "__commonJSMin", "exports", "module", "MockNotMatchedError", "kDispatches", "kMockAgent", "kOriginalDispatch", "kOrigin", "kGetNetConnect", "buildURL", "nop", "STATUS_CODES", "isPromise", "matchValue", "match", "value", "lowerCaseEntries", "headers", "headerName", "headerValue", "getHeaderByName", "key", "i", "buildHeadersFromArray", "clone", "entries", "index", "matchHeaders", "mockDispatch", "matchHeaderName", "matchHeaderValue", "safeUrl", "path", "pathSegments", "qp", "matchKey", "method", "body", "pathMatch", "methodMatch", "bodyMatch", "headersMatch", "getResponseData", "data", "getMockDispatch", "mockDispatches", "basePath", "resolvedPath", "matchedMockDispatches", "consumed", "addMockDispatch", "baseData", "replyData", "newMockDispatch", "deleteMockDispatch", "dispatch", "buildKey", "opts", "query", "generateKeyValues", "keyValuePairs", "x", "getStatusText", "statusCode", "getResponse", "buffers", "handler", "trailers", "error", "delay", "persist", "timesInvoked", "times", "handleReply", "_data", "optsHeaders", "newData", "responseData", "responseHeaders", "responseTrailers", "resume", "buildMockDispatch", "agent", "origin", "originalDispatch", "netConnect", "checkNetConnect", "url", "matcher", "buildMockOptions", "mockOptions", "require_mock_interceptor", "__commonJSMin", "exports", "module", "getResponseData", "buildKey", "addMockDispatch", "kDispatches", "kDispatchKey", "kDefaultHeaders", "kDefaultTrailers", "kContentLength", "kMockDispatch", "InvalidArgumentError", "buildURL", "MockScope", "mockDispatch", "waitInMs", "repeatTimes", "MockInterceptor", "opts", "mockDispatches", "parsedURL", "statusCode", "data", "responseOptions", "responseData", "contentLength", "headers", "trailers", "replyData", "wrappedDefaultsCallback", "resolvedData", "newMockDispatch", "dispatchData", "error", "require_mock_client", "__commonJSMin", "exports", "module", "promisify", "Client", "buildMockDispatch", "kDispatches", "kMockAgent", "kClose", "kOriginalClose", "kOrigin", "kOriginalDispatch", "kConnected", "MockInterceptor", "Symbols", "InvalidArgumentError", "MockClient", "origin", "opts", "require_mock_pool", "__commonJSMin", "exports", "module", "promisify", "Pool", "buildMockDispatch", "kDispatches", "kMockAgent", "kClose", "kOriginalClose", "kOrigin", "kOriginalDispatch", "kConnected", "MockInterceptor", "Symbols", "InvalidArgumentError", "MockPool", "origin", "opts", "require_pluralizer", "__commonJSMin", "exports", "module", "singulars", "plurals", "singular", "plural", "count", "one", "keys", "noun", "require_pending_interceptors_formatter", "__commonJSMin", "exports", "module", "Transform", "Console", "disableColors", "chunk", "_enc", "cb", "pendingInterceptors", "withPrettyHeaders", "method", "path", "statusCode", "persist", "times", "timesInvoked", "origin", "require_mock_agent", "__commonJSMin", "exports", "module", "kClients", "Agent", "kAgent", "kMockAgentSet", "kMockAgentGet", "kDispatches", "kIsMockActive", "kNetConnect", "kGetNetConnect", "kOptions", "kFactory", "MockClient", "MockPool", "matchValue", "buildMockOptions", "InvalidArgumentError", "UndiciError", "Dispatcher", "Pluralizer", "PendingInterceptorsFormatter", "FakeWeakRef", "value", "MockAgent", "opts", "agent", "origin", "dispatcher", "handler", "matcher", "mockOptions", "ref", "keyMatcher", "nonExplicitRef", "nonExplicitDispatcher", "mockAgentClients", "scope", "dispatch", "pending", "pendingInterceptorsFormatter", "pluralizer", "require_proxy_agent", "__commonJSMin", "exports", "module", "kProxy", "kClose", "kDestroy", "kInterceptors", "URL", "Agent", "Pool", "DispatcherBase", "InvalidArgumentError", "RequestAbortedError", "buildConnector", "kAgent", "kClient", "kProxyHeaders", "kRequestTls", "kProxyTls", "kConnectEndpoint", "defaultProtocolPort", "protocol", "buildProxyOptions", "opts", "defaultFactory", "origin", "ProxyAgent", "clientFactory", "resolvedUrl", "port", "host", "connect", "callback", "requestedHost", "socket", "statusCode", "servername", "err", "handler", "headers", "buildHeaders", "throwIfProxyAuthIsSent", "headersPair", "i", "key", "require_global", "__commonJSMin", "exports", "module", "globalDispatcher", "InvalidArgumentError", "Agent", "getGlobalDispatcher", "setGlobalDispatcher", "agent", "require_DecoratorHandler", "__commonJSMin", "exports", "module", "handler", "args", "require_headers", "__commonJSMin", "exports", "module", "kHeadersList", "kGuard", "kEnumerableProperty", "makeIterator", "isValidHeaderName", "isValidHeaderValue", "webidl", "assert", "kHeadersMap", "kHeadersSortedMap", "headerValueNormalize", "potentialValue", "i", "fill", "headers", "object", "header", "key", "value", "HeadersList", "_HeadersList", "init", "name", "lowercaseName", "exists", "delimiter", "Headers", "_Headers", "list", "names", "a", "b", "cookies", "callbackFn", "thisArg", "V", "require_response", "__commonJSMin", "exports", "module", "Headers", "HeadersList", "fill", "extractBody", "cloneBody", "mixinBody", "util", "kEnumerableProperty", "isValidReasonPhrase", "isCancelled", "isAborted", "isBlobLike", "serializeJavascriptValueToJSONString", "isErrorLike", "isomorphicEncode", "redirectStatus", "nullBodyStatus", "DOMException", "kState", "kHeaders", "kGuard", "kRealm", "webidl", "FormData", "getGlobalOrigin", "URLSerializer", "kHeadersList", "assert", "types", "ReadableStream", "Response", "_Response", "relevantRealm", "responseObject", "makeNetworkError", "data", "init", "bytes", "body", "initializeResponse", "url", "status", "parsedURL", "err", "value", "makeResponse", "bodyWithType", "extractedBody", "type", "urlList", "clonedResponse", "cloneResponse", "clonedResponseObject", "response", "filterResponse", "newResponse", "reason", "isError", "makeFilteredResponse", "state", "target", "p", "makeAppropriateNetworkError", "fetchParams", "V", "require_request", "__commonJSMin", "exports", "module", "extractBody", "mixinBody", "cloneBody", "Headers", "fillHeaders", "HeadersList", "FinalizationRegistry", "util", "isValidHTTPToken", "sameOrigin", "normalizeMethod", "makePolicyContainer", "forbiddenMethods", "corsSafeListedMethods", "referrerPolicy", "requestRedirect", "requestMode", "requestCredentials", "requestCache", "requestDuplex", "kEnumerableProperty", "kHeaders", "kSignal", "kState", "kGuard", "kRealm", "webidl", "getGlobalOrigin", "URLSerializer", "kHeadersList", "assert", "getMaxListeners", "setMaxListeners", "getEventListeners", "defaultMaxListeners", "TransformStream", "kInit", "kAbortController", "requestFinalizer", "signal", "abort", "Request", "_Request", "input", "init", "request", "fallbackMode", "baseUrl", "parsedURL", "err", "makeRequest", "origin", "window", "referrer", "parsedReferrer", "mode", "method", "ac", "acRef", "headers", "key", "val", "inputBody", "initBody", "extractedBody", "contentType", "inputOrInitBody", "finalBody", "identityTransform", "clonedRequest", "cloneRequest", "clonedRequestObject", "newRequest", "V", "require_fetch", "__commonJSMin", "exports", "module", "Response", "makeNetworkError", "makeAppropriateNetworkError", "filterResponse", "makeResponse", "Headers", "Request", "makeRequest", "zlib", "bytesMatch", "makePolicyContainer", "clonePolicyContainer", "requestBadPort", "TAOCheck", "appendRequestOriginHeader", "responseLocationURL", "requestCurrentURL", "setRequestReferrerPolicyOnRedirect", "tryUpgradeRequestToAPotentiallyTrustworthyURL", "createOpaqueTimingInfo", "appendFetchMetadata", "corsCheck", "crossOriginResourcePolicyCheck", "determineRequestsReferrer", "coarsenedSharedCurrentTime", "createDeferredPromise", "isBlobLike", "sameOrigin", "isCancelled", "isAborted", "isErrorLike", "fullyReadBody", "readableStreamClose", "isomorphicEncode", "urlIsLocal", "urlIsHttpHttpsScheme", "urlHasHttpsScheme", "kState", "kHeaders", "kGuard", "kRealm", "assert", "safelyExtractBody", "redirectStatus", "nullBodyStatus", "safeMethods", "requestBodyHeader", "subresource", "DOMException", "kHeadersList", "EE", "Readable", "pipeline", "addAbortListener", "isErrored", "isReadable", "nodeMajor", "nodeMinor", "dataURLProcessor", "serializeAMimeType", "TransformStream", "getGlobalDispatcher", "webidl", "STATUS_CODES", "resolveObjectURL", "ReadableStream", "Fetch", "dispatcher", "reason", "error", "fetch", "input", "init", "p", "requestObject", "e", "request", "abortFetch", "responseObject", "relevantRealm", "locallyAborted", "controller", "fetching", "response", "finalizeAndReportTiming", "initiatorType", "originalURL", "timingInfo", "cacheState", "markResourceTiming", "globalThis", "err", "processRequestBodyChunkLength", "processRequestEndOfBody", "processResponse", "processResponseEndOfBody", "processResponseConsumeBody", "useParallelQueue", "taskDestination", "crossOriginIsolatedCapability", "currenTime", "fetchParams", "mainFetch", "recursive", "currentURL", "schemeFetch", "httpFetch", "internalResponse", "processBodyError", "fetchFinale", "processBody", "bytes", "scheme", "blobURLEntry", "blobURLEntryObject", "bodyWithType", "body", "length", "type", "dataURLStruct", "mimeType", "finalizeResponse", "identityTransformAlgorithm", "chunk", "transformStream", "nullOrBytes", "failure", "actualResponse", "httpNetworkOrCacheFetch", "httpRedirectFetch", "locationURL", "headerName", "isAuthenticationFetch", "isNewConnectionFetch", "httpFetchParams", "httpRequest", "httpCache", "revalidatingFlag", "includeCredentials", "contentLength", "contentLengthHeaderValue", "forwardResponse", "httpNetworkFetch", "forceNewConnection", "newConnection", "requestBody", "processBodyChunk", "processEndOfBody", "status", "statusText", "headersList", "socket", "dispatch", "iterator", "pullAlgorithm", "cancelAlgorithm", "stream", "onAborted", "isFailure", "done", "value", "url", "agent", "resolve", "reject", "abort", "connection", "resume", "codings", "location", "headers", "n", "key", "val", "x", "decoders", "willFollow", "coding", "require_symbols", "__commonJSMin", "exports", "module", "require_progressevent", "__commonJSMin", "exports", "module", "webidl", "kState", "ProgressEvent", "_ProgressEvent", "type", "eventInitDict", "require_encoding", "__commonJSMin", "exports", "module", "getEncoding", "label", "require_util", "__commonJSMin", "exports", "module", "kState", "kError", "kResult", "kAborted", "kLastProgressEventFired", "ProgressEvent", "getEncoding", "DOMException", "serializeAMimeType", "parseMIMEType", "types", "StringDecoder", "btoa", "staticPropertyDescriptors", "readOperation", "fr", "blob", "type", "encodingName", "reader", "bytes", "chunkPromise", "isFirstChunk", "done", "value", "fireAProgressEvent", "result", "packageData", "error", "event", "mimeType", "dataURL", "parsed", "decoder", "chunk", "encoding", "decode", "combineByteSequences", "binaryString", "ioQueue", "BOMEncoding", "BOMSniffing", "slice", "sliced", "a", "b", "c", "sequences", "size", "offset", "require_filereader", "__commonJSMin", "exports", "module", "staticPropertyDescriptors", "readOperation", "fireAProgressEvent", "kState", "kError", "kResult", "kEvents", "kAborted", "webidl", "kEnumerableProperty", "FileReader", "_FileReader", "blob", "encoding", "fn", "require_symbols", "__commonJSMin", "exports", "module", "require_util", "__commonJSMin", "exports", "module", "assert", "URLSerializer", "isValidHeaderName", "urlEquals", "A", "B", "excludeFragment", "serializedA", "serializedB", "fieldValues", "header", "values", "value", "require_cache", "__commonJSMin", "exports", "module", "kConstruct", "urlEquals", "getFieldValues", "kEnumerableProperty", "isDisturbed", "kHeadersList", "webidl", "Response", "cloneResponse", "Request", "kState", "kHeaders", "kGuard", "kRealm", "fetching", "urlIsHttpHttpsScheme", "createDeferredPromise", "readAllBytes", "assert", "getGlobalDispatcher", "Cache", "_Cache", "#relevantRequestResponseList", "request", "options", "p", "r", "responses", "requestResponse", "requestResponses", "#queryCache", "responseList", "response", "responseObject", "body", "requests", "responsePromises", "requestList", "fetchControllers", "responsePromise", "fieldValues", "fieldValue", "controller", "operations", "index", "operation", "cacheJobPromise", "errorData", "#batchCacheOperations", "e", "innerRequest", "innerResponse", "clonedResponse", "bodyReadPromise", "reader", "bytes", "error", "promise", "requestObject", "cache", "backupCache", "addedItems", "resultList", "idx", "requestQuery", "targetStorage", "storage", "cachedRequest", "cachedResponse", "#requestMatchesCachedItem", "queryURL", "cachedURL", "requestValue", "queryValue", "cacheQueryOptionConverters", "require_cachestorage", "__commonJSMin", "exports", "module", "kConstruct", "Cache", "webidl", "kEnumerableProperty", "CacheStorage", "_CacheStorage", "#caches", "request", "options", "cacheList", "response", "cacheName", "cache", "require_constants", "__commonJSMin", "exports", "module", "require_util", "__commonJSMin", "exports", "module", "assert", "kHeadersList", "isCTLExcludingHtab", "value", "char", "code", "validateCookieName", "name", "validateCookieValue", "validateCookiePath", "path", "validateCookieDomain", "domain", "toIMFDate", "date", "days", "months", "dayName", "day", "month", "year", "hour", "minute", "second", "validateCookieMaxAge", "maxAge", "stringify", "cookie", "out", "part", "key", "kHeadersListNode", "getHeadersList", "headers", "symbol", "headersList", "require_parse", "__commonJSMin", "exports", "module", "maxNameValuePairSize", "maxAttributeValueSize", "isCTLExcludingHtab", "collectASequenceOfCodePointsFast", "assert", "parseSetCookie", "header", "nameValuePair", "unparsedAttributes", "name", "value", "position", "parseUnparsedAttributes", "cookieAttributeList", "cookieAv", "attributeName", "attributeValue", "attributeNameLowercase", "expiryTime", "charCode", "deltaSeconds", "cookieDomain", "cookiePath", "enforcement", "attributeValueLowercase", "require_cookies", "__commonJSMin", "exports", "module", "parseSetCookie", "stringify", "getHeadersList", "webidl", "Headers", "getCookies", "headers", "cookie", "out", "piece", "name", "value", "deleteCookie", "attributes", "setCookie", "getSetCookies", "cookies", "pair", "require_constants", "__commonJSMin", "exports", "module", "uid", "staticPropertyDescriptors", "states", "opcodes", "maxUnsigned16Bit", "parserStates", "emptyBuffer", "require_symbols", "__commonJSMin", "exports", "module", "require_events", "__commonJSMin", "exports", "module", "webidl", "kEnumerableProperty", "MessagePort", "MessageEvent", "_MessageEvent", "#eventInit", "type", "eventInitDict", "bubbles", "cancelable", "data", "origin", "lastEventId", "source", "ports", "CloseEvent", "_CloseEvent", "ErrorEvent", "_ErrorEvent", "eventInit", "require_util", "__commonJSMin", "exports", "module", "kReadyState", "kController", "kResponse", "kBinaryType", "kWebSocketURL", "states", "opcodes", "MessageEvent", "ErrorEvent", "isEstablished", "ws", "isClosing", "isClosed", "fireEvent", "target", "eventConstructor", "eventInitDict", "event", "websocketMessageReceived", "type", "data", "dataForEvent", "failWebsocketConnection", "isValidSubprotocol", "protocol", "char", "code", "isValidStatusCode", "reason", "controller", "response", "require_connection", "__commonJSMin", "exports", "module", "randomBytes", "createHash", "diagnosticsChannel", "uid", "states", "kReadyState", "kSentClose", "kByteParser", "kReceivedClose", "fireEvent", "failWebsocketConnection", "CloseEvent", "makeRequest", "fetching", "Headers", "getGlobalDispatcher", "kHeadersList", "channels", "establishWebSocketConnection", "url", "protocols", "ws", "onEstablish", "options", "requestURL", "request", "headersList", "keyValue", "protocol", "permessageDeflate", "response", "secWSAccept", "digest", "secExtension", "secProtocol", "onSocketData", "onSocketClose", "onSocketError", "chunk", "wasClean", "code", "reason", "result", "error", "require_frame", "__commonJSMin", "exports", "module", "randomBytes", "maxUnsigned16Bit", "WebsocketFrameSend", "data", "opcode", "bodyLength", "payloadLength", "offset", "buffer", "i", "require_receiver", "__commonJSMin", "exports", "module", "Writable", "diagnosticsChannel", "parserStates", "opcodes", "states", "emptyBuffer", "kReadyState", "kSentClose", "kResponse", "kReceivedClose", "isValidStatusCode", "failWebsocketConnection", "websocketMessageReceived", "WebsocketFrameSend", "channels", "ByteParser", "#buffers", "#byteOffset", "#state", "#info", "#fragments", "ws", "chunk", "_", "callback", "buffer", "payloadLength", "body", "closeFrame", "err", "frame", "upper", "lower", "fullMessage", "n", "offset", "next", "length", "onlyCode", "data", "code", "reason", "require_websocket", "__commonJSMin", "exports", "module", "webidl", "DOMException", "URLSerializer", "staticPropertyDescriptors", "states", "opcodes", "emptyBuffer", "kWebSocketURL", "kReadyState", "kController", "kBinaryType", "kResponse", "kSentClose", "kByteParser", "isEstablished", "isClosing", "isValidSubprotocol", "failWebsocketConnection", "fireEvent", "establishWebSocketConnection", "WebsocketFrameSend", "ByteParser", "kEnumerableProperty", "isBlobLike", "getGlobalDispatcher", "types", "experimentalWarned", "WebSocket", "_WebSocket", "#events", "#bufferedAmount", "#protocol", "#extensions", "url", "protocols", "options", "urlRecord", "e", "p", "response", "#onConnectionEstablished", "code", "reason", "reasonByteLength", "frame", "err", "data", "socket", "value", "buffer", "ab", "fn", "type", "parser", "extensions", "protocol", "V", "require_undici", "__commonJSMin", "exports", "module", "Client", "Dispatcher", "errors", "Pool", "BalancedPool", "Agent", "util", "InvalidArgumentError", "api", "buildConnector", "MockClient", "MockAgent", "MockPool", "mockErrors", "ProxyAgent", "getGlobalDispatcher", "setGlobalDispatcher", "DecoratorHandler", "RedirectHandler", "createRedirectInterceptor", "hasCrypto", "makeDispatcher", "fn", "url", "opts", "handler", "path", "agent", "dispatcher", "fetchImpl", "resource", "err", "setGlobalOrigin", "getGlobalOrigin", "CacheStorage", "kConstruct", "deleteCookie", "getCookies", "getSetCookies", "setCookie", "parseMIMEType", "serializeAMimeType", "WebSocket", "assertInputTypes", "text", "lang", "slow", "host", "exports", "SPACE_REGEX", "DEFAULT_PUNCTUATION_REGEX", "splitLongText", "text", "_a", "_b", "_c", "maxLength", "_d", "splitPunct", "isSpaceOrPunct", "s", "i", "regex", "lastIndexOfSpaceOrPunct", "left", "right", "result", "addResult", "start", "end", "str", "exports", "assertInputTypes_1", "__importDefault", "splitLongText_1", "url_1", "getAudioUrl", "text", "_a", "_b", "_c", "lang", "_d", "slow", "_e", "host", "exports", "getAllAudioUrls", "_f", "splitPunct", "shortText", "require_bind", "__commonJSMin", "exports", "module", "fn", "thisArg", "args", "require_utils", "__commonJSMin", "exports", "module", "bind", "toString", "isArray", "val", "isUndefined", "isBuffer", "isArrayBuffer", "isFormData", "isArrayBufferView", "result", "isString", "isNumber", "isObject", "isPlainObject", "prototype", "isDate", "isFile", "isBlob", "isFunction", "isStream", "isURLSearchParams", "trim", "str", "isStandardBrowserEnv", "forEach", "obj", "fn", "i", "l", "key", "merge", "assignValue", "extend", "a", "b", "thisArg", "stripBOM", "content", "require_buildURL", "__commonJSMin", "exports", "module", "utils", "encode", "val", "url", "params", "paramsSerializer", "serializedParams", "parts", "key", "v", "hashmarkIndex", "require_InterceptorManager", "__commonJSMin", "exports", "module", "utils", "InterceptorManager", "fulfilled", "rejected", "options", "id", "fn", "h", "require_normalizeHeaderName", "__commonJSMin", "exports", "module", "utils", "headers", "normalizedName", "value", "name", "require_enhanceError", "__commonJSMin", "exports", "module", "error", "config", "code", "request", "response", "require_createError", "__commonJSMin", "exports", "module", "enhanceError", "message", "config", "code", "request", "response", "error", "require_settle", "__commonJSMin", "exports", "module", "createError", "resolve", "reject", "response", "validateStatus", "require_cookies", "__commonJSMin", "exports", "module", "utils", "name", "value", "expires", "path", "domain", "secure", "cookie", "match", "require_isAbsoluteURL", "__commonJSMin", "exports", "module", "url", "require_combineURLs", "__commonJSMin", "exports", "module", "baseURL", "relativeURL", "require_buildFullPath", "__commonJSMin", "exports", "module", "isAbsoluteURL", "combineURLs", "baseURL", "requestedURL", "require_parseHeaders", "__commonJSMin", "exports", "module", "utils", "ignoreDuplicateOf", "headers", "parsed", "key", "val", "line", "require_isURLSameOrigin", "__commonJSMin", "exports", "module", "utils", "msie", "urlParsingNode", "originURL", "resolveURL", "url", "href", "requestURL", "parsed", "require_xhr", "__commonJSMin", "exports", "module", "utils", "settle", "cookies", "buildURL", "buildFullPath", "parseHeaders", "isURLSameOrigin", "createError", "config", "resolve", "reject", "requestData", "requestHeaders", "responseType", "request", "username", "password", "fullPath", "onloadend", "responseHeaders", "responseData", "response", "timeoutErrorMessage", "xsrfValue", "val", "key", "cancel", "require_ms", "__commonJSMin", "exports", "module", "s", "m", "h", "d", "w", "y", "val", "options", "type", "parse", "fmtLong", "fmtShort", "str", "match", "n", "ms", "msAbs", "plural", "name", "isPlural", "require_common", "__commonJSMin", "exports", "module", "setup", "env", "createDebug", "coerce", "disable", "enable", "enabled", "destroy", "key", "selectColor", "namespace", "hash", "i", "prevTime", "enableOverride", "namespacesCache", "enabledCache", "debug", "args", "self", "curr", "ms", "index", "match", "format", "formatter", "val", "extend", "v", "delimiter", "newDebug", "namespaces", "split", "len", "toNamespace", "name", "regexp", "require_browser", "__commonJSMin", "exports", "module", "formatArgs", "save", "load", "useColors", "localstorage", "warned", "args", "c", "index", "lastC", "match", "namespaces", "r", "formatters", "v", "error", "require_has_flag", "__commonJSMin", "exports", "module", "flag", "argv", "prefix", "position", "terminatorPosition", "require_supports_color", "__commonJSMin", "exports", "module", "os", "tty", "hasFlag", "env", "forceColor", "translateLevel", "level", "supportsColor", "haveStream", "streamIsTTY", "min", "osRelease", "sign", "version", "getSupportLevel", "stream", "require_node", "__commonJSMin", "exports", "module", "tty", "util", "init", "log", "formatArgs", "save", "load", "useColors", "supportsColor", "key", "obj", "prop", "_", "k", "val", "args", "name", "c", "colorCode", "prefix", "getDate", "namespaces", "debug", "keys", "i", "formatters", "v", "str", "require_src", "__commonJSMin", "exports", "module", "require_debug", "__commonJSMin", "exports", "module", "debug", "require_follow_redirects", "__commonJSMin", "exports", "module", "url", "URL", "http", "https", "Writable", "assert", "debug", "useNativeURL", "error", "preservedUrlFields", "events", "eventHandlers", "event", "arg1", "arg2", "arg3", "InvalidUrlError", "createErrorType", "RedirectionError", "TooManyRedirectsError", "MaxBodyLengthExceededError", "WriteAfterEndError", "destroy", "noop", "RedirectableRequest", "options", "responseCallback", "self", "response", "cause", "destroyRequest", "data", "encoding", "callback", "isString", "isBuffer", "isFunction", "currentRequest", "name", "value", "msecs", "destroyOnTimeout", "socket", "startTimer", "clearTimer", "method", "a", "b", "property", "searchPos", "protocol", "nativeProtocol", "scheme", "request", "buffers", "writeNext", "buffer", "statusCode", "location", "requestHeaders", "beforeRedirect", "removeMatchingHeaders", "currentHostHeader", "currentUrlParts", "parseUrl", "currentHost", "currentUrl", "redirectUrl", "resolveUrl", "spreadUrlObject", "isSubdomain", "responseDetails", "requestDetails", "wrap", "protocols", "nativeProtocols", "wrappedProtocol", "input", "isURL", "validateUrl", "get", "wrappedRequest", "parsed", "relative", "base", "urlObject", "target", "spread", "key", "regex", "headers", "lastValue", "header", "code", "message", "baseClass", "CustomError", "properties", "subdomain", "domain", "dot", "require_package", "__commonJSMin", "exports", "module", "require_http", "__commonJSMin", "exports", "module", "utils", "settle", "buildFullPath", "buildURL", "http", "https", "httpFollow", "httpsFollow", "url", "zlib", "pkg", "createError", "enhanceError", "isHttps", "setProxy", "options", "proxy", "location", "base64", "redirection", "config", "resolvePromise", "rejectPromise", "resolve", "value", "reject", "data", "headers", "auth", "username", "password", "fullPath", "parsed", "protocol", "urlAuth", "urlUsername", "urlPassword", "isHttpsRequest", "agent", "proxyEnv", "proxyUrl", "parsedProxyUrl", "noProxyEnv", "shouldProxy", "noProxy", "s", "proxyElement", "proxyUrlAuth", "transport", "isHttpsProxy", "req", "res", "stream", "lastRequest", "response", "responseBuffer", "totalResponseBytes", "chunk", "err", "responseData", "timeout", "cancel", "require_defaults", "__commonJSMin", "exports", "module", "utils", "normalizeHeaderName", "enhanceError", "DEFAULT_CONTENT_TYPE", "setContentTypeIfUnset", "headers", "value", "getDefaultAdapter", "adapter", "stringifySafely", "rawValue", "parser", "encoder", "e", "defaults", "data", "transitional", "silentJSONParsing", "forcedJSONParsing", "strictJSONParsing", "status", "method", "require_transformData", "__commonJSMin", "exports", "module", "utils", "defaults", "data", "headers", "fns", "context", "fn", "require_isCancel", "__commonJSMin", "exports", "module", "value", "require_dispatchRequest", "__commonJSMin", "exports", "module", "utils", "transformData", "isCancel", "defaults", "throwIfCancellationRequested", "config", "method", "adapter", "response", "reason", "require_mergeConfig", "__commonJSMin", "exports", "module", "utils", "config1", "config2", "config", "valueFromConfig2Keys", "mergeDeepPropertiesKeys", "defaultToConfig2Keys", "directMergeKeys", "getMergedValue", "target", "source", "mergeDeepProperties", "prop", "axiosKeys", "otherKeys", "key", "require_validator", "__commonJSMin", "exports", "module", "pkg", "validators", "type", "i", "thing", "deprecatedWarnings", "currentVerArr", "isOlderVersion", "version", "thanVersion", "pkgVersionArr", "destVer", "validator", "message", "isDeprecated", "formatMessage", "opt", "desc", "value", "opts", "assertOptions", "options", "schema", "allowUnknown", "keys", "result", "require_Axios", "__commonJSMin", "exports", "module", "utils", "buildURL", "InterceptorManager", "dispatchRequest", "mergeConfig", "validator", "validators", "Axios", "instanceConfig", "config", "transitional", "requestInterceptorChain", "synchronousRequestInterceptors", "interceptor", "responseInterceptorChain", "promise", "chain", "newConfig", "onFulfilled", "onRejected", "error", "method", "url", "data", "require_Cancel", "__commonJSMin", "exports", "module", "Cancel", "message", "require_CancelToken", "__commonJSMin", "exports", "module", "Cancel", "CancelToken", "executor", "resolvePromise", "resolve", "token", "message", "cancel", "c", "require_spread", "__commonJSMin", "exports", "module", "callback", "arr", "require_isAxiosError", "__commonJSMin", "exports", "module", "payload", "require_axios", "__commonJSMin", "exports", "module", "utils", "bind", "Axios", "mergeConfig", "defaults", "createInstance", "defaultConfig", "context", "instance", "axios", "instanceConfig", "promises", "require_axios", "__commonJSMin", "exports", "module", "text", "_a", "_b", "_c", "lang", "_d", "slow", "_e", "host", "_f", "splitPunct", "_g", "timeout", "shortTextList", "shortText", "base64List", "_h", "result", "i", "base64", "getAudioUrl_1", "exports", "getAudioBase64_1", "translate_form_exports", "__export", "TranslateForm", "__toCommonJS", "import_react", "import_api", "import_utils", "import_api", "import_utils", "import_react", "import_querystring", "import_undici", "languages", "getISOCode", "language", "key", "isSupported", "import_undici", "zr", "a", "b", "yr", "wr", "c", "window", "d", "e", "f", "g", "l", "h", "xr", "config", "updateTKK", "now", "code", "xt", "tokenGenerator", "text", "tk", "error", "translate", "text", "options", "error", "lang", "isSupported", "getISOCode", "token", "tokenGenerator", "baseUrl", "data", "url", "querystring", "requestOptions", "requestUrl", "body", "result", "obj", "str", "googleTTS", "AUTO_DETECT", "TranslateError", "extractPronounceTextFromRaw", "raw", "simpleTranslate", "text", "options", "translated", "translate", "err", "error", "unifyLegacyLanguageSet", "legacy", "usePreferences", "React", "useTextState", "preferences", "text", "setText", "textRef", "cbText", "err", "useSelectedLanguagesSet", "selectedLanguageSet", "setSelectedLanguageSet", "usePreferencesLanguageSet", "useDebouncedValue", "value", "delay", "debouncedValue", "setDebouncedValue", "handler", "useAllLanguageSets", "languages", "setLanguages", "supportedLanguages_default", "supportedLanguagesByCode_default", "getLanguageFlag", "language", "fallback", "supportedLanguagesByCode", "supportedLanguagesByCode_default", "supportedLanguagesByCountry", "supportedLanguages_default", "languages", "import_api", "import_react", "import_api", "import_jsx_runtime", "AddLanguageForm", "onAddLanguage", "targetLanguages", "setTargetLanguages", "React", "values", "filteredTargetLanguages", "lang", "languages", "getLanguageFlag", "_", "index", "value", "newTargetLanguages", "AUTO_DETECT", "isSameLanguageSet", "langSet1", "langSet2", "getLanguageSetObjects", "languageSet", "supportedLanguagesByCode", "l", "formatLanguageSet", "langFrom", "langTo", "languageLabels", "getLanguageFlag", "import_jsx_runtime", "LanguagesManagerItem", "languageSet", "onSelect", "onDelete", "selected", "langFrom", "langTo", "getLanguageSetObjects", "langsTo", "langsToFlags", "l", "getLanguageFlag", "langsToLabel", "SaveCurrentLanguageSet", "formatLanguageSet", "LanguagesManagerList", "navigation", "preferencesLanguageSet", "usePreferencesLanguageSet", "selectedLanguageSet", "setSelectedLanguageSet", "useSelectedLanguagesSet", "languages", "setLanguages", "useAllLanguageSets", "AddLanguageForm", "langSet", "isSameLanguageSet", "import_api", "import_jsx_runtime", "import_api", "import_jsx_runtime", "ConfigurableCopyPasteActions", "defaultActionsPrefix", "value", "defaultPreference", "pasteAction", "copyAction", "OpenOnGoogleTranslateWebsiteAction", "translationText", "translation", "import_jsx_runtime", "TranslateForm", "selectedLanguageSet", "setSelectedLanguageSet", "useSelectedLanguagesSet", "langFrom", "langTo", "proxy", "usePreferences", "setLangFrom", "l", "setLangTo", "fromLangObj", "supportedLanguagesByCode", "toLangObj", "text", "setText", "useTextState", "debouncedValue", "useDebouncedValue", "translated", "isLoading", "simpleTranslate", "error", "handleChange", "value", "autoDetectedLanguage", "React", "AUTO_DETECT", "ConfigurableCopyPasteActions", "OpenOnGoogleTranslateWebsiteAction", "LanguagesManagerList", "getLanguageFlag", "languages", "lang", "v"] +} diff --git a/.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/translate.js b/.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/translate.js @@ -0,0 +1,108 @@ +"use strict";var rQ=Object.create;var _r=Object.defineProperty;var iQ=Object.getOwnPropertyDescriptor;var sQ=Object.getOwnPropertyNames;var nQ=Object.getPrototypeOf,oQ=Object.prototype.hasOwnProperty;var E=(e,A)=>()=>(A||e((A={exports:{}}).exports,A),A.exports),dQ=(e,A)=>{for(var t in A)_r(e,t,{get:A[t],enumerable:!0})},$0=(e,A,t,a)=>{if(A&&typeof A=="object"||typeof A=="function")for(let r of sQ(A))!oQ.call(e,r)&&r!==t&&_r(e,r,{get:()=>A[r],enumerable:!(a=iQ(A,r))||a.enumerable});return e};var aA=(e,A,t)=>(t=e!=null?rQ(nQ(e)):{},$0(A||!e||!e.__esModule?_r(t,"default",{value:e,enumerable:!0}):t,e)),pQ=e=>$0(_r({},"__esModule",{value:!0}),e);var t2=E(A2=>{var e2=Object.prototype.hasOwnProperty;function yn(e,A){var t,a;if(e===A)return!0;if(e&&A&&(t=e.constructor)===A.constructor){if(t===Date)return e.getTime()===A.getTime();if(t===RegExp)return e.toString()===A.toString();if(t===Array){if((a=e.length)===A.length)for(;a--&&yn(e[a],A[a]););return a===-1}if(!t||typeof e=="object"){a=0;for(t in e)if(e2.call(e,t)&&++a&&!e2.call(A,t)||!(t in A)||!yn(e[t],A[t]))return!1;return Object.keys(A).length===a}}return e!==e&&A!==A}A2.dequal=yn});var a2=E(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.useDeepMemo=void 0;var Dn=require("react"),lQ=t2();function gQ(e){let A=(0,Dn.useRef)(e),t=(0,Dn.useRef)(0);return(0,lQ.dequal)(e,A.current)||(A.current=e,t.current+=1),(0,Dn.useMemo)(()=>A.current,[t.current])}qr.useDeepMemo=gQ});var it=E(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.useLatest=void 0;var cQ=require("react");function uQ(e){let A=(0,cQ.useRef)(e);return A.current=e,A}Hr.useLatest=uQ});var Rn=E(qA=>{"use strict";var EQ=qA&&qA.__createBinding||(Object.create?function(e,A,t,a){a===void 0&&(a=t);var r=Object.getOwnPropertyDescriptor(A,t);(!r||("get"in r?!A.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return A[t]}}),Object.defineProperty(e,a,r)}:function(e,A,t,a){a===void 0&&(a=t),e[a]=A[t]}),QQ=qA&&qA.__setModuleDefault||(Object.create?function(e,A){Object.defineProperty(e,"default",{enumerable:!0,value:A})}:function(e,A){e.default=A}),r2=qA&&qA.__importStar||function(e){if(e&&e.__esModule)return e;var A={};if(e!=null)for(var t in e)t!=="default"&&Object.prototype.hasOwnProperty.call(e,t)&&EQ(A,e,t);return QQ(A,e),A};Object.defineProperty(qA,"__esModule",{value:!0});qA.handleErrorToastAction=void 0;var mQ=r2(require("fs")),CQ=r2(require("path")),Or=require("@raycast/api"),BQ=e=>{let A=!0,t="[Extension Name]...",a="";try{let i=JSON.parse(mQ.readFileSync(CQ.join(Or.environment.assetsPath,"..","package.json"),"utf8"));t=`[${i.title}]...`,a=`https://raycast.com/${i.owner||i.author}/${i.name}`,(!i.owner||i.access==="public")&&(A=!1)}catch{}let r=Or.environment.isDevelopment||A;return{title:r?"Copy Logs":"Report Error",onAction(i){i.hide(),r?Or.Clipboard.copy(e?.stack||e?.message||""):(0,Or.open)(`https://github.com/raycast/extensions/issues/new?&labels=extension%2Cbug&template=extension_bug_report.yml&title=${encodeURIComponent(t)}&extension-url=${encodeURI(a)}&description=${encodeURIComponent(`#### Error: +\`\`\` +${e?.stack||e?.message||""} +\`\`\` +`)}`)}}};qA.handleErrorToastAction=BQ});var La=E(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.usePromise=void 0;var Dt=require("react"),Pt=require("@raycast/api"),hQ=a2(),Wt=it(),IQ=Rn();function fQ(e,A,t){let a=(0,Dt.useRef)(0),[r,i]=(0,Dt.useState)({isLoading:!0}),s=(0,Wt.useLatest)(e),n=(0,Wt.useLatest)(t?.abortable),o=(0,Wt.useLatest)(A||[]),d=(0,Wt.useLatest)(t?.onError),l=(0,Wt.useLatest)(t?.onData),p=(0,Wt.useLatest)(t?.onWillExecute),g=(0,Wt.useLatest)(r.data),c=(0,Dt.useRef)(),u=(0,Dt.useCallback)((...w)=>{let I=++a.current;return n.current&&(n.current.current?.abort(),n.current.current=new AbortController),p.current?.(w),i(y=>({...y,isLoading:!0})),wQ(s.current)(...w).then(y=>(I===a.current&&(l.current&&l.current(y),i({data:y,isLoading:!1})),y),y=>(y.name=="AbortError"||I===a.current&&(d.current?d.current(y):(console.error(y),Pt.environment.launchType!==Pt.LaunchType.Background&&(0,Pt.showToast)({style:Pt.Toast.Style.Failure,title:"Failed to fetch latest data",message:y.message,primaryAction:{title:"Retry",onAction(S){S.hide(),c.current?.(...o.current||[])}},secondaryAction:(0,IQ.handleErrorToastAction)(y)})),i({error:y,isLoading:!1})),y))},[n,l,d,o,s,i,c,p]);c.current=u;let Q=(0,Dt.useCallback)(()=>u(...o.current||[]),[u,o]),C=(0,Dt.useCallback)(async(w,I)=>{let y;try{if(I?.optimisticUpdate){typeof I?.rollbackOnError!="function"&&I?.rollbackOnError!==!1&&(y=structuredClone(g.current?.value));let S=I.optimisticUpdate;i(k=>({...k,data:S(k.data)}))}return await w}catch(S){if(typeof I?.rollbackOnError=="function"){let k=I.rollbackOnError;i(x=>({...x,data:k(x.data)}))}else I?.optimisticUpdate&&I?.rollbackOnError!==!1&&i(k=>({...k,data:y}));throw S}finally{I?.shouldRevalidateAfter!==!1&&(Pt.environment.launchType===Pt.LaunchType.Background||Pt.environment.commandMode==="menu-bar"?await Q():Q())}},[Q,g,i]);(0,Dt.useEffect)(()=>{t?.execute!==!1?u(...A||[]):n.current&&n.current.current?.abort()},[(0,hQ.useDeepMemo)([A,t?.execute,u]),n]),(0,Dt.useEffect)(()=>()=>{n.current&&n.current.current?.abort()},[n]);let m=t?.execute!==!1?r.isLoading:!1;return{...{...r,isLoading:m},revalidate:Q,mutate:C}}Pr.usePromise=fQ;function wQ(e){return e===Promise.all||e===Promise.race||e===Promise.resolve||e===Promise.reject?e.bind(Promise):e}});var Zr=E(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.useCachedState=void 0;var vn=require("react"),yQ=require("@raycast/api"),Nn=it();function DQ(e,A){let t=this[e];return t instanceof Date?`__raycast_cached_date__${t.toString()}`:Buffer.isBuffer(t)?`__raycast_cached_buffer__${t.toString("base64")}`:A}function RQ(e,A){return typeof A=="string"&&A.startsWith("__raycast_cached_date__")?new Date(A.replace("__raycast_cached_date__","")):typeof A=="string"&&A.startsWith("__raycast_cached_buffer__")?Buffer.from(A.replace("__raycast_cached_buffer__",""),"base64"):A}var vQ=Symbol("cache without namespace"),i2=new Map;function NQ(e,A,t){let a=t?.cacheNamespace||vQ,r=i2.get(a)||i2.set(a,new yQ.Cache({namespace:t?.cacheNamespace})).get(a);if(!r)throw new Error("Missing cache");let i=(0,Nn.useLatest)(e),s=(0,Nn.useLatest)(A),n=(0,vn.useSyncExternalStore)(r.subscribe,()=>{try{return r.get(i.current)}catch(p){console.error("Could not get Cache data:",p);return}}),o=(0,vn.useMemo)(()=>{if(typeof n<"u"){if(n==="undefined")return;try{return JSON.parse(n,RQ)}catch(p){return console.warn("The cached data is corrupted",p),s.current}}else return s.current},[n,s]),d=(0,Nn.useLatest)(o),l=(0,vn.useCallback)(p=>{let g=typeof p=="function"?p(d.current):p;if(typeof g>"u")r.set(i.current,"undefined");else{let c=JSON.stringify(g,DQ);r.set(i.current,c)}return g},[r,i,d]);return[o,l]}Wr.useCachedState=NQ});var Fn=E((Zt,p2)=>{"use strict";var Sn=require("crypto");Zt=p2.exports=Ua;function Ua(e,A){return A=o2(e,A),SQ(e,A)}Zt.sha1=function(e){return Ua(e)};Zt.keys=function(e){return Ua(e,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})};Zt.MD5=function(e){return Ua(e,{algorithm:"md5",encoding:"hex"})};Zt.keysMD5=function(e){return Ua(e,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var D1=Sn.getHashes?Sn.getHashes().slice():["sha1","md5"];D1.push("passthrough");var s2=["buffer","hex","binary","base64"];function o2(e,A){A=A||{};var t={};if(t.algorithm=A.algorithm||"sha1",t.encoding=A.encoding||"hex",t.excludeValues=!!A.excludeValues,t.algorithm=t.algorithm.toLowerCase(),t.encoding=t.encoding.toLowerCase(),t.ignoreUnknown=A.ignoreUnknown===!0,t.respectType=A.respectType!==!1,t.respectFunctionNames=A.respectFunctionNames!==!1,t.respectFunctionProperties=A.respectFunctionProperties!==!1,t.unorderedArrays=A.unorderedArrays===!0,t.unorderedSets=A.unorderedSets!==!1,t.unorderedObjects=A.unorderedObjects!==!1,t.replacer=A.replacer||void 0,t.excludeKeys=A.excludeKeys||void 0,typeof e>"u")throw new Error("Object argument required.");for(var a=0;a<D1.length;++a)D1[a].toLowerCase()===t.algorithm.toLowerCase()&&(t.algorithm=D1[a]);if(D1.indexOf(t.algorithm)===-1)throw new Error('Algorithm "'+t.algorithm+'" not supported. supported values: '+D1.join(", "));if(s2.indexOf(t.encoding)===-1&&t.algorithm!=="passthrough")throw new Error('Encoding "'+t.encoding+'" not supported. supported values: '+s2.join(", "));return t}function n2(e){if(typeof e!="function")return!1;var A=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;return A.exec(Function.prototype.toString.call(e))!=null}function SQ(e,A){var t;A.algorithm!=="passthrough"?t=Sn.createHash(A.algorithm):t=new d2,typeof t.write>"u"&&(t.write=t.update,t.end=t.update);var a=bn(A,t);if(a.dispatch(e),t.update||t.end(""),t.digest)return t.digest(A.encoding==="buffer"?void 0:A.encoding);var r=t.read();return A.encoding==="buffer"?r:r.toString(A.encoding)}Zt.writeToStream=function(e,A,t){return typeof t>"u"&&(t=A,A={}),A=o2(e,A),bn(A,t).dispatch(e)};function bn(e,A,t){t=t||[];var a=function(r){return A.update?A.update(r,"utf8"):A.write(r,"utf8")};return{dispatch:function(r){e.replacer&&(r=e.replacer(r));var i=typeof r;return r===null&&(i="null"),this["_"+i](r)},_object:function(r){var i=/\[object (.*)\]/i,s=Object.prototype.toString.call(r),n=i.exec(s);n?n=n[1]:n="unknown:["+s+"]",n=n.toLowerCase();var o=null;if((o=t.indexOf(r))>=0)return this.dispatch("[CIRCULAR:"+o+"]");if(t.push(r),typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(r))return a("buffer:"),a(r);if(n!=="object"&&n!=="function"&&n!=="asyncfunction")if(this["_"+n])this["_"+n](r);else{if(e.ignoreUnknown)return a("["+n+"]");throw new Error('Unknown object type "'+n+'"')}else{var d=Object.keys(r);e.unorderedObjects&&(d=d.sort()),e.respectType!==!1&&!n2(r)&&d.splice(0,0,"prototype","__proto__","constructor"),e.excludeKeys&&(d=d.filter(function(p){return!e.excludeKeys(p)})),a("object:"+d.length+":");var l=this;return d.forEach(function(p){l.dispatch(p),a(":"),e.excludeValues||l.dispatch(r[p]),a(",")})}},_array:function(r,i){i=typeof i<"u"?i:e.unorderedArrays!==!1;var s=this;if(a("array:"+r.length+":"),!i||r.length<=1)return r.forEach(function(d){return s.dispatch(d)});var n=[],o=r.map(function(d){var l=new d2,p=t.slice(),g=bn(e,l,p);return g.dispatch(d),n=n.concat(p.slice(t.length)),l.read().toString()});return t=t.concat(n),o.sort(),this._array(o,!1)},_date:function(r){return a("date:"+r.toJSON())},_symbol:function(r){return a("symbol:"+r.toString())},_error:function(r){return a("error:"+r.toString())},_boolean:function(r){return a("bool:"+r.toString())},_string:function(r){a("string:"+r.length+":"),a(r.toString())},_function:function(r){a("fn:"),n2(r)?this.dispatch("[native]"):this.dispatch(r.toString()),e.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(r.name)),e.respectFunctionProperties&&this._object(r)},_number:function(r){return a("number:"+r.toString())},_xml:function(r){return a("xml:"+r.toString())},_null:function(){return a("Null")},_undefined:function(){return a("Undefined")},_regexp:function(r){return a("regex:"+r.toString())},_uint8array:function(r){return a("uint8array:"),this.dispatch(Array.prototype.slice.call(r))},_uint8clampedarray:function(r){return a("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(r))},_int8array:function(r){return a("int8array:"),this.dispatch(Array.prototype.slice.call(r))},_uint16array:function(r){return a("uint16array:"),this.dispatch(Array.prototype.slice.call(r))},_int16array:function(r){return a("int16array:"),this.dispatch(Array.prototype.slice.call(r))},_uint32array:function(r){return a("uint32array:"),this.dispatch(Array.prototype.slice.call(r))},_int32array:function(r){return a("int32array:"),this.dispatch(Array.prototype.slice.call(r))},_float32array:function(r){return a("float32array:"),this.dispatch(Array.prototype.slice.call(r))},_float64array:function(r){return a("float64array:"),this.dispatch(Array.prototype.slice.call(r))},_arraybuffer:function(r){return a("arraybuffer:"),this.dispatch(new Uint8Array(r))},_url:function(r){return a("url:"+r.toString(),"utf8")},_map:function(r){a("map:");var i=Array.from(r);return this._array(i,e.unorderedSets!==!1)},_set:function(r){a("set:");var i=Array.from(r);return this._array(i,e.unorderedSets!==!1)},_file:function(r){return a("file:"),this.dispatch([r.name,r.size,r.type,r.lastModfied])},_blob:function(){if(e.ignoreUnknown)return a("[blob]");throw Error(`Hashing Blob objects is currently not supported +(see https://github.com/puleos/object-hash/issues/26) +Use "options.replacer" or "options.ignoreUnknown" +`)},_domwindow:function(){return a("domwindow")},_bigint:function(r){return a("bigint:"+r.toString())},_process:function(){return a("process")},_timer:function(){return a("timer")},_pipe:function(){return a("pipe")},_tcp:function(){return a("tcp")},_udp:function(){return a("udp")},_tty:function(){return a("tty")},_statwatcher:function(){return a("statwatcher")},_securecontext:function(){return a("securecontext")},_connection:function(){return a("connection")},_zlib:function(){return a("zlib")},_context:function(){return a("context")},_nodescript:function(){return a("nodescript")},_httpparser:function(){return a("httpparser")},_dataview:function(){return a("dataview")},_signal:function(){return a("signal")},_fsevent:function(){return a("fsevent")},_tlswrap:function(){return a("tlswrap")}}}function d2(){return{buf:"",write:function(e){this.buf+=e},end:function(e){this.buf+=e},read:function(){return this.buf}}}});var Xr=E(R1=>{"use strict";var bQ=R1&&R1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(R1,"__esModule",{value:!0});R1.useCachedPromise=void 0;var jr=require("react"),l2=bQ(Fn()),FQ=Zr(),kQ=La(),LQ=it(),Ta=Symbol();function UQ(e,A,t){let{initialData:a,keepPreviousData:r,...i}=t||{},s=(0,jr.useRef)(),[n,o]=(0,FQ.useCachedState)((0,l2.default)(A||[]),Ta,{cacheNamespace:(0,l2.default)(e)}),d=(0,jr.useRef)(n!==Ta?n:a),{mutate:l,revalidate:p,...g}=(0,kQ.usePromise)(e,A||[],{...i,onData(m){i.onData&&i.onData(m),s.current="promise",d.current=m,o(m)}}),c=n!==Ta?n:a,u=s.current==="promise"?d.current:r?n!==Ta?n:d.current:c,Q=(0,LQ.useLatest)(u),C=(0,jr.useCallback)(async(m,B)=>{let w;try{if(B?.optimisticUpdate){typeof B?.rollbackOnError!="function"&&B?.rollbackOnError!==!1&&(w=structuredClone(Q.current));let I=B.optimisticUpdate(Q.current);s.current="cache",d.current=I,o(I)}return await l(m,{shouldRevalidateAfter:B?.shouldRevalidateAfter})}catch(I){if(typeof B?.rollbackOnError=="function"){let y=B.rollbackOnError(Q.current);s.current="cache",d.current=y,o(y)}else B?.optimisticUpdate&&B?.rollbackOnError!==!1&&(s.current="cache",d.current=w,o(w));throw I}},[o,l,Q,d,s]);return(0,jr.useEffect)(()=>{n!==Ta&&(s.current="cache",d.current=n)},[n]),{data:u,isLoading:g.isLoading,error:g.error,mutate:C,revalidate:p}}R1.useCachedPromise=UQ});var u2=E(zr=>{"use strict";var TQ=/^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/,g2=/^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/,c2=/^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/;zr.format=MQ;zr.parse=YQ;zr.test=VQ;function MQ(e){if(!e||typeof e!="object")throw new TypeError("argument obj is required");var A=e.subtype,t=e.suffix,a=e.type;if(!a||!g2.test(a))throw new TypeError("invalid type");if(!A||!TQ.test(A))throw new TypeError("invalid subtype");var r=a+"/"+A;if(t){if(!g2.test(t))throw new TypeError("invalid suffix");r+="+"+t}return r}function VQ(e){if(!e)throw new TypeError("argument string is required");if(typeof e!="string")throw new TypeError("argument string is required to be a string");return c2.test(e.toLowerCase())}function YQ(e){if(!e)throw new TypeError("argument string is required");if(typeof e!="string")throw new TypeError("argument string is required to be a string");var A=c2.exec(e.toLowerCase());if(!A)throw new TypeError("invalid media type");var t=A[1],a=A[2],r,i=a.lastIndexOf("+");return i!==-1&&(r=a.substr(i+1),a=a.substr(0,i)),new JQ(t,a,r)}function JQ(e,A,t){this.type=e,this.subtype=A,this.suffix=t}});var C2=E(kn=>{"use strict";var E2=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,GQ=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,Q2=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,xQ=/\\([\u000b\u0020-\u00ff])/g,_Q=/([\\"])/g,m2=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;kn.format=qQ;kn.parse=HQ;function qQ(e){if(!e||typeof e!="object")throw new TypeError("argument obj is required");var A=e.parameters,t=e.type;if(!t||!m2.test(t))throw new TypeError("invalid type");var a=t;if(A&&typeof A=="object")for(var r,i=Object.keys(A).sort(),s=0;s<i.length;s++){if(r=i[s],!Q2.test(r))throw new TypeError("invalid parameter name");a+="; "+r+"="+PQ(A[r])}return a}function HQ(e){if(!e)throw new TypeError("argument string is required");var A=typeof e=="object"?OQ(e):e;if(typeof A!="string")throw new TypeError("argument string is required to be a string");var t=A.indexOf(";"),a=t!==-1?A.slice(0,t).trim():A.trim();if(!m2.test(a))throw new TypeError("invalid media type");var r=new WQ(a.toLowerCase());if(t!==-1){var i,s,n;for(E2.lastIndex=t;s=E2.exec(A);){if(s.index!==t)throw new TypeError("invalid parameter format");t+=s[0].length,i=s[1].toLowerCase(),n=s[2],n.charCodeAt(0)===34&&(n=n.slice(1,-1),n.indexOf("\\")!==-1&&(n=n.replace(xQ,"$1"))),r.parameters[i]=n}if(t!==A.length)throw new TypeError("invalid parameter format")}return r}function OQ(e){var A;if(typeof e.getHeader=="function"?A=e.getHeader("content-type"):typeof e.headers=="object"&&(A=e.headers&&e.headers["content-type"]),typeof A!="string")throw new TypeError("content-type header is missing from object");return A}function PQ(e){var A=String(e);if(Q2.test(A))return A;if(A.length>0&&!GQ.test(A))throw new TypeError("invalid parameter value");return'"'+A.replace(_Q,"\\$1")+'"'}function WQ(e){this.parameters=Object.create(null),this.type=e}});var I2=E((fN,h2)=>{"use strict";var ne={};h2.exports=ne;function B2(e){return e<0?-1:1}function ZQ(e){return e%1===.5&&(e&1)===0?Math.floor(e):Math.round(e)}function Rt(e,A){A.unsigned||--e;let t=A.unsigned?0:-Math.pow(2,e),a=Math.pow(2,e)-1,r=A.moduloBitLength?Math.pow(2,A.moduloBitLength):Math.pow(2,e),i=A.moduloBitLength?Math.pow(2,A.moduloBitLength-1):Math.pow(2,e-1);return function(s,n){n||(n={});let o=+s;if(n.enforceRange){if(!Number.isFinite(o))throw new TypeError("Argument is not a finite number");if(o=B2(o)*Math.floor(Math.abs(o)),o<t||o>a)throw new TypeError("Argument is not in byte range");return o}if(!isNaN(o)&&n.clamp)return o=ZQ(o),o<t&&(o=t),o>a&&(o=a),o;if(!Number.isFinite(o)||o===0)return 0;if(o=B2(o)*Math.floor(Math.abs(o)),o=o%r,!A.unsigned&&o>=i)return o-r;if(A.unsigned){if(o<0)o+=r;else if(o===-0)return 0}return o}}ne.void=function(){};ne.boolean=function(e){return!!e};ne.byte=Rt(8,{unsigned:!1});ne.octet=Rt(8,{unsigned:!0});ne.short=Rt(16,{unsigned:!1});ne["unsigned short"]=Rt(16,{unsigned:!0});ne.long=Rt(32,{unsigned:!1});ne["unsigned long"]=Rt(32,{unsigned:!0});ne["long long"]=Rt(32,{unsigned:!1,moduloBitLength:64});ne["unsigned long long"]=Rt(32,{unsigned:!0,moduloBitLength:64});ne.double=function(e){let A=+e;if(!Number.isFinite(A))throw new TypeError("Argument is not a finite floating-point value");return A};ne["unrestricted double"]=function(e){let A=+e;if(isNaN(A))throw new TypeError("Argument is NaN");return A};ne.float=ne.double;ne["unrestricted float"]=ne["unrestricted double"];ne.DOMString=function(e,A){return A||(A={}),A.treatNullAsEmptyString&&e===null?"":String(e)};ne.ByteString=function(e,A){let t=String(e),a;for(let r=0;(a=t.codePointAt(r))!==void 0;++r)if(a>255)throw new TypeError("Argument is not a valid bytestring");return t};ne.USVString=function(e){let A=String(e),t=A.length,a=[];for(let r=0;r<t;++r){let i=A.charCodeAt(r);if(i<55296||i>57343)a.push(String.fromCodePoint(i));else if(56320<=i&&i<=57343)a.push(String.fromCodePoint(65533));else if(r===t-1)a.push(String.fromCodePoint(65533));else{let s=A.charCodeAt(r+1);if(56320<=s&&s<=57343){let n=i&1023,o=s&1023;a.push(String.fromCodePoint(65536+1024*n+o)),++r}else a.push(String.fromCodePoint(65533))}}return a.join("")};ne.Date=function(e,A){if(!(e instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(e))return e};ne.RegExp=function(e,A){return e instanceof RegExp||(e=new RegExp(e)),e}});var f2=E((wN,vt)=>{"use strict";vt.exports.mixin=function(A,t){let a=Object.getOwnPropertyNames(t);for(let r=0;r<a.length;++r)Object.defineProperty(A,a[r],Object.getOwnPropertyDescriptor(t,a[r]))};vt.exports.wrapperSymbol=Symbol("wrapper");vt.exports.implSymbol=Symbol("impl");vt.exports.wrapperForImpl=function(e){return e[vt.exports.wrapperSymbol]};vt.exports.implForWrapper=function(e){return e[vt.exports.implSymbol]}});var w2=E((yN,jQ)=>{jQ.exports=[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1e3,1e3],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6e3],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8e3,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8e3]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9e3],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[3e4]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13e3,13e3],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43e3,43e3],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64e3,64e3],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66e3,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[12e4,12e4],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128e3,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23e3]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149e3]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32e3]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195e3,195e3],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[4e4]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918e3,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]});var S2=E((DN,$r)=>{"use strict";var D2=require("punycode"),y2=w2(),v1={TRANSITIONAL:0,NONTRANSITIONAL:1};function R2(e){return e.split("\0").map(function(A){return A.normalize("NFC")}).join("\0")}function v2(e){for(var A=0,t=y2.length-1;A<=t;){var a=Math.floor((A+t)/2),r=y2[a];if(r[0][0]<=e&&r[0][1]>=e)return r;r[0][0]>e?t=a-1:A=a+1}return null}var XQ=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function N2(e){return e.replace(XQ,"_").length}function zQ(e,A,t){for(var a=!1,r="",i=N2(e),s=0;s<i;++s){var n=e.codePointAt(s),o=v2(n);switch(o[1]){case"disallowed":a=!0,r+=String.fromCodePoint(n);break;case"ignored":break;case"mapped":r+=String.fromCodePoint.apply(String,o[2]);break;case"deviation":t===v1.TRANSITIONAL?r+=String.fromCodePoint.apply(String,o[2]):r+=String.fromCodePoint(n);break;case"valid":r+=String.fromCodePoint(n);break;case"disallowed_STD3_mapped":A?(a=!0,r+=String.fromCodePoint(n)):r+=String.fromCodePoint.apply(String,o[2]);break;case"disallowed_STD3_valid":A&&(a=!0),r+=String.fromCodePoint(n);break}}return{string:r,error:a}}var KQ=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;function $Q(e,A){e.substr(0,4)==="xn--"&&(e=D2.toUnicode(e),A=v1.NONTRANSITIONAL);var t=!1;(R2(e)!==e||e[3]==="-"&&e[4]==="-"||e[0]==="-"||e[e.length-1]==="-"||e.indexOf(".")!==-1||e.search(KQ)===0)&&(t=!0);for(var a=N2(e),r=0;r<a;++r){var i=v2(e.codePointAt(r));if(Kr===v1.TRANSITIONAL&&i[1]!=="valid"||Kr===v1.NONTRANSITIONAL&&i[1]!=="valid"&&i[1]!=="deviation"){t=!0;break}}return{label:e,error:t}}function Kr(e,A,t){var a=zQ(e,A,t);a.string=R2(a.string);for(var r=a.string.split("."),i=0;i<r.length;++i)try{var s=$Q(r[i]);r[i]=s.label,a.error=a.error||s.error}catch{a.error=!0}return{string:r.join("."),error:a.error}}$r.exports.toASCII=function(e,A,t,a){var r=Kr(e,A,t),i=r.string.split(".");if(i=i.map(function(o){try{return D2.toASCII(o)}catch{return r.error=!0,o}}),a){var s=i.slice(0,i.length-1).join(".").length;(s.length>253||s.length===0)&&(r.error=!0);for(var n=0;n<i.length;++n)if(i.length>63||i.length===0){r.error=!0;break}}return r.error?null:i.join(".")};$r.exports.toUnicode=function(e,A){var t=Kr(e,A,v1.NONTRANSITIONAL);return{domain:t.string,error:t.error}};$r.exports.PROCESSING_OPTIONS=v1});var HA=E((RN,rA)=>{"use strict";var N1=require("punycode"),b2=S2(),U2={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443},J=Symbol("failure");function F2(e){return N1.ucs2.decode(e).length}function k2(e,A){let t=e[A];return isNaN(t)?void 0:String.fromCodePoint(t)}function Ma(e){return e>=48&&e<=57}function Va(e){return e>=65&&e<=90||e>=97&&e<=122}function e8(e){return Va(e)||Ma(e)}function kA(e){return Ma(e)||e>=65&&e<=70||e>=97&&e<=102}function L2(e){return e==="."||e.toLowerCase()==="%2e"}function A8(e){return e=e.toLowerCase(),e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function t8(e,A){return Va(e)&&(A===58||A===124)}function T2(e){return e.length===2&&Va(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function a8(e){return e.length===2&&Va(e.codePointAt(0))&&e[1]===":"}function r8(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function i8(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function Ln(e){return U2[e]!==void 0}function Be(e){return Ln(e.scheme)}function s8(e){return U2[e]}function M2(e){let A=e.toString(16).toUpperCase();return A.length===1&&(A="0"+A),"%"+A}function n8(e){let A=new Buffer(e),t="";for(let a=0;a<A.length;++a)t+=M2(A[a]);return t}function o8(e){let A=new Buffer(e),t=[];for(let a=0;a<A.length;++a)A[a]!==37?t.push(A[a]):A[a]===37&&kA(A[a+1])&&kA(A[a+2])?(t.push(parseInt(A.slice(a+1,a+3).toString(),16)),a+=2):t.push(A[a]);return new Buffer(t).toString()}function ei(e){return e<=31||e>126}var d8=new Set([32,34,35,60,62,63,96,123,125]);function V2(e){return ei(e)||d8.has(e)}var p8=new Set([47,58,59,61,64,91,92,93,94,124]);function Tn(e){return V2(e)||p8.has(e)}function jt(e,A){let t=String.fromCodePoint(e);return A(e)?n8(t):t}function l8(e){let A=10;return e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"?(e=e.substring(2),A=16):e.length>=2&&e.charAt(0)==="0"&&(e=e.substring(1),A=8),e===""?0:(A===10?/[^0-9]/:A===16?/[^0-9A-Fa-f]/:/[^0-7]/).test(e)?J:parseInt(e,A)}function g8(e){let A=e.split(".");if(A[A.length-1]===""&&A.length>1&&A.pop(),A.length>4)return e;let t=[];for(let i of A){if(i==="")return e;let s=l8(i);if(s===J)return e;t.push(s)}for(let i=0;i<t.length-1;++i)if(t[i]>255)return J;if(t[t.length-1]>=Math.pow(256,5-t.length))return J;let a=t.pop(),r=0;for(let i of t)a+=i*Math.pow(256,3-r),++r;return a}function c8(e){let A="",t=e;for(let a=1;a<=4;++a)A=String(t%256)+A,a!==4&&(A="."+A),t=Math.floor(t/256);return A}function u8(e){let A=[0,0,0,0,0,0,0,0],t=0,a=null,r=0;if(e=N1.ucs2.decode(e),e[r]===58){if(e[r+1]!==58)return J;r+=2,++t,a=t}for(;r<e.length;){if(t===8)return J;if(e[r]===58){if(a!==null)return J;++r,++t,a=t;continue}let i=0,s=0;for(;s<4&&kA(e[r]);)i=i*16+parseInt(k2(e,r),16),++r,++s;if(e[r]===46){if(s===0||(r-=s,t>6))return J;let n=0;for(;e[r]!==void 0;){let o=null;if(n>0)if(e[r]===46&&n<4)++r;else return J;if(!Ma(e[r]))return J;for(;Ma(e[r]);){let d=parseInt(k2(e,r));if(o===null)o=d;else{if(o===0)return J;o=o*10+d}if(o>255)return J;++r}A[t]=A[t]*256+o,++n,(n===2||n===4)&&++t}if(n!==4)return J;break}else if(e[r]===58){if(++r,e[r]===void 0)return J}else if(e[r]!==void 0)return J;A[t]=i,++t}if(a!==null){let i=t-a;for(t=7;t!==0&&i>0;){let s=A[a+i-1];A[a+i-1]=A[t],A[t]=s,--t,--i}}else if(a===null&&t!==8)return J;return A}function E8(e){let A="",a=m8(e).idx,r=!1;for(let i=0;i<=7;++i)if(!(r&&e[i]===0)){if(r&&(r=!1),a===i){A+=i===0?"::":":",r=!0;continue}A+=e[i].toString(16),i!==7&&(A+=":")}return A}function Un(e,A){if(e[0]==="[")return e[e.length-1]!=="]"?J:u8(e.substring(1,e.length-1));if(!A)return Q8(e);let t=o8(e),a=b2.toASCII(t,!1,b2.PROCESSING_OPTIONS.NONTRANSITIONAL,!1);if(a===null||r8(a))return J;let r=g8(a);return typeof r=="number"||r===J?r:a}function Q8(e){if(i8(e))return J;let A="",t=N1.ucs2.decode(e);for(let a=0;a<t.length;++a)A+=jt(t[a],ei);return A}function m8(e){let A=null,t=1,a=null,r=0;for(let i=0;i<e.length;++i)e[i]!==0?(r>t&&(A=a,t=r),a=null,r=0):(a===null&&(a=i),++r);return r>t&&(A=a,t=r),{idx:A,len:t}}function Mn(e){return typeof e=="number"?c8(e):e instanceof Array?"["+E8(e)+"]":e}function C8(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function B8(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function Y2(e){let A=e.path;A.length!==0&&(e.scheme==="file"&&A.length===1&&I8(A[0])||A.pop())}function J2(e){return e.username!==""||e.password!==""}function h8(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function I8(e){return/^[A-Za-z]:$/.test(e)}function oe(e,A,t,a,r){if(this.pointer=0,this.input=e,this.base=A||null,this.encodingOverride=t||"utf-8",this.stateOverride=r,this.url=a,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:!1};let s=C8(this.input);s!==this.input&&(this.parseError=!0),this.input=s}let i=B8(this.input);for(i!==this.input&&(this.parseError=!0),this.input=i,this.state=r||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=N1.ucs2.decode(this.input);this.pointer<=this.input.length;++this.pointer){let s=this.input[this.pointer],n=isNaN(s)?void 0:String.fromCodePoint(s),o=this["parse "+this.state](s,n);if(o){if(o===J){this.failure=!0;break}}else break}}oe.prototype["parse scheme start"]=function(A,t){if(Va(A))this.buffer+=t.toLowerCase(),this.state="scheme";else if(!this.stateOverride)this.state="no scheme",--this.pointer;else return this.parseError=!0,J;return!0};oe.prototype["parse scheme"]=function(A,t){if(e8(A)||A===43||A===45||A===46)this.buffer+=t.toLowerCase();else if(A===58){if(this.stateOverride&&(Be(this.url)&&!Ln(this.buffer)||!Be(this.url)&&Ln(this.buffer)||(J2(this.url)||this.url.port!==null)&&this.buffer==="file"||this.url.scheme==="file"&&(this.url.host===""||this.url.host===null))||(this.url.scheme=this.buffer,this.buffer="",this.stateOverride))return!1;this.url.scheme==="file"?((this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47)&&(this.parseError=!0),this.state="file"):Be(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme?this.state="special relative or authority":Be(this.url)?this.state="special authority slashes":this.input[this.pointer+1]===47?(this.state="path or authority",++this.pointer):(this.url.cannotBeABaseURL=!0,this.url.path.push(""),this.state="cannot-be-a-base-URL path")}else if(!this.stateOverride)this.buffer="",this.state="no scheme",this.pointer=-1;else return this.parseError=!0,J;return!0};oe.prototype["parse no scheme"]=function(A){return this.base===null||this.base.cannotBeABaseURL&&A!==35?J:(this.base.cannotBeABaseURL&&A===35?(this.url.scheme=this.base.scheme,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.url.cannotBeABaseURL=!0,this.state="fragment"):this.base.scheme==="file"?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)};oe.prototype["parse special relative or authority"]=function(A){return A===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0};oe.prototype["parse path or authority"]=function(A){return A===47?this.state="authority":(this.state="path",--this.pointer),!0};oe.prototype["parse relative"]=function(A){return this.url.scheme=this.base.scheme,isNaN(A)?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query):A===47?this.state="relative slash":A===63?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):A===35?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):Be(this.url)&&A===92?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(0,this.base.path.length-1),this.state="path",--this.pointer),!0};oe.prototype["parse relative slash"]=function(A){return Be(this.url)&&(A===47||A===92)?(A===92&&(this.parseError=!0),this.state="special authority ignore slashes"):A===47?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer),!0};oe.prototype["parse special authority slashes"]=function(A){return A===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0};oe.prototype["parse special authority ignore slashes"]=function(A){return A!==47&&A!==92?(this.state="authority",--this.pointer):this.parseError=!0,!0};oe.prototype["parse authority"]=function(A,t){if(A===64){this.parseError=!0,this.atFlag&&(this.buffer="%40"+this.buffer),this.atFlag=!0;let a=F2(this.buffer);for(let r=0;r<a;++r){let i=this.buffer.codePointAt(r);if(i===58&&!this.passwordTokenSeenFlag){this.passwordTokenSeenFlag=!0;continue}let s=jt(i,Tn);this.passwordTokenSeenFlag?this.url.password+=s:this.url.username+=s}this.buffer=""}else if(isNaN(A)||A===47||A===63||A===35||Be(this.url)&&A===92){if(this.atFlag&&this.buffer==="")return this.parseError=!0,J;this.pointer-=F2(this.buffer)+1,this.buffer="",this.state="host"}else this.buffer+=t;return!0};oe.prototype["parse hostname"]=oe.prototype["parse host"]=function(A,t){if(this.stateOverride&&this.url.scheme==="file")--this.pointer,this.state="file host";else if(A===58&&!this.arrFlag){if(this.buffer==="")return this.parseError=!0,J;let a=Un(this.buffer,Be(this.url));if(a===J)return J;if(this.url.host=a,this.buffer="",this.state="port",this.stateOverride==="hostname")return!1}else if(isNaN(A)||A===47||A===63||A===35||Be(this.url)&&A===92){if(--this.pointer,Be(this.url)&&this.buffer==="")return this.parseError=!0,J;if(this.stateOverride&&this.buffer===""&&(J2(this.url)||this.url.port!==null))return this.parseError=!0,!1;let a=Un(this.buffer,Be(this.url));if(a===J)return J;if(this.url.host=a,this.buffer="",this.state="path start",this.stateOverride)return!1}else A===91?this.arrFlag=!0:A===93&&(this.arrFlag=!1),this.buffer+=t;return!0};oe.prototype["parse port"]=function(A,t){if(Ma(A))this.buffer+=t;else if(isNaN(A)||A===47||A===63||A===35||Be(this.url)&&A===92||this.stateOverride){if(this.buffer!==""){let a=parseInt(this.buffer);if(a>Math.pow(2,16)-1)return this.parseError=!0,J;this.url.port=a===s8(this.url.scheme)?null:a,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}else return this.parseError=!0,J;return!0};var f8=new Set([47,92,63,35]);oe.prototype["parse file"]=function(A){return this.url.scheme="file",A===47||A===92?(A===92&&(this.parseError=!0),this.state="file slash"):this.base!==null&&this.base.scheme==="file"?isNaN(A)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):A===63?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):A===35?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1===0||!t8(A,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!f8.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),Y2(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0};oe.prototype["parse file slash"]=function(A){return A===47||A===92?(A===92&&(this.parseError=!0),this.state="file host"):(this.base!==null&&this.base.scheme==="file"&&(a8(this.base.path[0])?this.url.path.push(this.base.path[0]):this.url.host=this.base.host),this.state="path",--this.pointer),!0};oe.prototype["parse file host"]=function(A,t){if(isNaN(A)||A===47||A===92||A===63||A===35)if(--this.pointer,!this.stateOverride&&T2(this.buffer))this.parseError=!0,this.state="path";else if(this.buffer===""){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let a=Un(this.buffer,Be(this.url));if(a===J)return J;if(a==="localhost"&&(a=""),this.url.host=a,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=t;return!0};oe.prototype["parse path start"]=function(A){return Be(this.url)?(A===92&&(this.parseError=!0),this.state="path",A!==47&&A!==92&&--this.pointer):!this.stateOverride&&A===63?(this.url.query="",this.state="query"):!this.stateOverride&&A===35?(this.url.fragment="",this.state="fragment"):A!==void 0&&(this.state="path",A!==47&&--this.pointer),!0};oe.prototype["parse path"]=function(A){if(isNaN(A)||A===47||Be(this.url)&&A===92||!this.stateOverride&&(A===63||A===35)){if(Be(this.url)&&A===92&&(this.parseError=!0),A8(this.buffer)?(Y2(this.url),A!==47&&!(Be(this.url)&&A===92)&&this.url.path.push("")):L2(this.buffer)&&A!==47&&!(Be(this.url)&&A===92)?this.url.path.push(""):L2(this.buffer)||(this.url.scheme==="file"&&this.url.path.length===0&&T2(this.buffer)&&(this.url.host!==""&&this.url.host!==null&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)),this.buffer="",this.url.scheme==="file"&&(A===void 0||A===63||A===35))for(;this.url.path.length>1&&this.url.path[0]==="";)this.parseError=!0,this.url.path.shift();A===63&&(this.url.query="",this.state="query"),A===35&&(this.url.fragment="",this.state="fragment")}else A===37&&(!kA(this.input[this.pointer+1])||!kA(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=jt(A,V2);return!0};oe.prototype["parse cannot-be-a-base-URL path"]=function(A){return A===63?(this.url.query="",this.state="query"):A===35?(this.url.fragment="",this.state="fragment"):(!isNaN(A)&&A!==37&&(this.parseError=!0),A===37&&(!kA(this.input[this.pointer+1])||!kA(this.input[this.pointer+2]))&&(this.parseError=!0),isNaN(A)||(this.url.path[0]=this.url.path[0]+jt(A,ei))),!0};oe.prototype["parse query"]=function(A,t){if(isNaN(A)||!this.stateOverride&&A===35){(!Be(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss")&&(this.encodingOverride="utf-8");let a=new Buffer(this.buffer);for(let r=0;r<a.length;++r)a[r]<33||a[r]>126||a[r]===34||a[r]===35||a[r]===60||a[r]===62?this.url.query+=M2(a[r]):this.url.query+=String.fromCodePoint(a[r]);this.buffer="",A===35&&(this.url.fragment="",this.state="fragment")}else A===37&&(!kA(this.input[this.pointer+1])||!kA(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=t;return!0};oe.prototype["parse fragment"]=function(A){return isNaN(A)||(A===0?this.parseError=!0:(A===37&&(!kA(this.input[this.pointer+1])||!kA(this.input[this.pointer+2]))&&(this.parseError=!0),this.url.fragment+=jt(A,ei))),!0};function w8(e,A){let t=e.scheme+":";if(e.host!==null?(t+="//",(e.username!==""||e.password!=="")&&(t+=e.username,e.password!==""&&(t+=":"+e.password),t+="@"),t+=Mn(e.host),e.port!==null&&(t+=":"+e.port)):e.host===null&&e.scheme==="file"&&(t+="//"),e.cannotBeABaseURL)t+=e.path[0];else for(let a of e.path)t+="/"+a;return e.query!==null&&(t+="?"+e.query),!A&&e.fragment!==null&&(t+="#"+e.fragment),t}function y8(e){let A=e.scheme+"://";return A+=Mn(e.host),e.port!==null&&(A+=":"+e.port),A}rA.exports.serializeURL=w8;rA.exports.serializeURLOrigin=function(e){switch(e.scheme){case"blob":try{return rA.exports.serializeURLOrigin(rA.exports.parseURL(e.path[0]))}catch{return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return y8({scheme:e.scheme,host:e.host,port:e.port});case"file":return"file://";default:return"null"}};rA.exports.basicURLParse=function(e,A){A===void 0&&(A={});let t=new oe(e,A.baseURL,A.encodingOverride,A.url,A.stateOverride);return t.failure?"failure":t.url};rA.exports.setTheUsername=function(e,A){e.username="";let t=N1.ucs2.decode(A);for(let a=0;a<t.length;++a)e.username+=jt(t[a],Tn)};rA.exports.setThePassword=function(e,A){e.password="";let t=N1.ucs2.decode(A);for(let a=0;a<t.length;++a)e.password+=jt(t[a],Tn)};rA.exports.serializeHost=Mn;rA.exports.cannotHaveAUsernamePasswordPort=h8;rA.exports.serializeInteger=function(e){return String(e)};rA.exports.parseURL=function(e,A){return A===void 0&&(A={}),rA.exports.basicURLParse(e,{baseURL:A.baseURL,encodingOverride:A.encodingOverride})}});var x2=E(G2=>{"use strict";var de=HA();G2.implementation=class{constructor(A){let t=A[0],a=A[1],r=null;if(a!==void 0&&(r=de.basicURLParse(a),r==="failure"))throw new TypeError("Invalid base URL");let i=de.basicURLParse(t,{baseURL:r});if(i==="failure")throw new TypeError("Invalid URL");this._url=i}get href(){return de.serializeURL(this._url)}set href(A){let t=de.basicURLParse(A);if(t==="failure")throw new TypeError("Invalid URL");this._url=t}get origin(){return de.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(A){de.basicURLParse(A+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(A){de.cannotHaveAUsernamePasswordPort(this._url)||de.setTheUsername(this._url,A)}get password(){return this._url.password}set password(A){de.cannotHaveAUsernamePasswordPort(this._url)||de.setThePassword(this._url,A)}get host(){let A=this._url;return A.host===null?"":A.port===null?de.serializeHost(A.host):de.serializeHost(A.host)+":"+de.serializeInteger(A.port)}set host(A){this._url.cannotBeABaseURL||de.basicURLParse(A,{url:this._url,stateOverride:"host"})}get hostname(){return this._url.host===null?"":de.serializeHost(this._url.host)}set hostname(A){this._url.cannotBeABaseURL||de.basicURLParse(A,{url:this._url,stateOverride:"hostname"})}get port(){return this._url.port===null?"":de.serializeInteger(this._url.port)}set port(A){de.cannotHaveAUsernamePasswordPort(this._url)||(A===""?this._url.port=null:de.basicURLParse(A,{url:this._url,stateOverride:"port"}))}get pathname(){return this._url.cannotBeABaseURL?this._url.path[0]:this._url.path.length===0?"":"/"+this._url.path.join("/")}set pathname(A){this._url.cannotBeABaseURL||(this._url.path=[],de.basicURLParse(A,{url:this._url,stateOverride:"path start"}))}get search(){return this._url.query===null||this._url.query===""?"":"?"+this._url.query}set search(A){let t=this._url;if(A===""){t.query=null;return}let a=A[0]==="?"?A.substring(1):A;t.query="",de.basicURLParse(a,{url:t,stateOverride:"query"})}get hash(){return this._url.fragment===null||this._url.fragment===""?"":"#"+this._url.fragment}set hash(A){if(A===""){this._url.fragment=null;return}let t=A[0]==="#"?A.substring(1):A;this._url.fragment="",de.basicURLParse(t,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}});var H2=E((SN,Ya)=>{"use strict";var CA=I2(),q2=f2(),_2=x2(),z=q2.implSymbol;function ye(e){if(!this||this[z]||!(this instanceof ye))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");let A=[];for(let t=0;t<arguments.length&&t<2;++t)A[t]=arguments[t];A[0]=CA.USVString(A[0]),A[1]!==void 0&&(A[1]=CA.USVString(A[1])),Ya.exports.setup(this,A)}ye.prototype.toJSON=function(){if(!this||!Ya.exports.is(this))throw new TypeError("Illegal invocation");let A=[];for(let t=0;t<arguments.length&&t<0;++t)A[t]=arguments[t];return this[z].toJSON.apply(this[z],A)};Object.defineProperty(ye.prototype,"href",{get(){return this[z].href},set(e){e=CA.USVString(e),this[z].href=e},enumerable:!0,configurable:!0});ye.prototype.toString=function(){if(!this||!Ya.exports.is(this))throw new TypeError("Illegal invocation");return this.href};Object.defineProperty(ye.prototype,"origin",{get(){return this[z].origin},enumerable:!0,configurable:!0});Object.defineProperty(ye.prototype,"protocol",{get(){return this[z].protocol},set(e){e=CA.USVString(e),this[z].protocol=e},enumerable:!0,configurable:!0});Object.defineProperty(ye.prototype,"username",{get(){return this[z].username},set(e){e=CA.USVString(e),this[z].username=e},enumerable:!0,configurable:!0});Object.defineProperty(ye.prototype,"password",{get(){return this[z].password},set(e){e=CA.USVString(e),this[z].password=e},enumerable:!0,configurable:!0});Object.defineProperty(ye.prototype,"host",{get(){return this[z].host},set(e){e=CA.USVString(e),this[z].host=e},enumerable:!0,configurable:!0});Object.defineProperty(ye.prototype,"hostname",{get(){return this[z].hostname},set(e){e=CA.USVString(e),this[z].hostname=e},enumerable:!0,configurable:!0});Object.defineProperty(ye.prototype,"port",{get(){return this[z].port},set(e){e=CA.USVString(e),this[z].port=e},enumerable:!0,configurable:!0});Object.defineProperty(ye.prototype,"pathname",{get(){return this[z].pathname},set(e){e=CA.USVString(e),this[z].pathname=e},enumerable:!0,configurable:!0});Object.defineProperty(ye.prototype,"search",{get(){return this[z].search},set(e){e=CA.USVString(e),this[z].search=e},enumerable:!0,configurable:!0});Object.defineProperty(ye.prototype,"hash",{get(){return this[z].hash},set(e){e=CA.USVString(e),this[z].hash=e},enumerable:!0,configurable:!0});Ya.exports={is(e){return!!e&&e[z]instanceof _2.implementation},create(e,A){let t=Object.create(ye.prototype);return this.setup(t,e,A),t},setup(e,A,t){t||(t={}),t.wrapper=e,e[z]=new _2.implementation(A,t),e[z][q2.wrapperSymbol]=e},interface:ye,expose:{Window:{URL:ye},Worker:{URL:ye}}}});var O2=E(OA=>{"use strict";OA.URL=H2().interface;OA.serializeURL=HA().serializeURL;OA.serializeURLOrigin=HA().serializeURLOrigin;OA.basicURLParse=HA().basicURLParse;OA.setTheUsername=HA().setTheUsername;OA.setThePassword=HA().setThePassword;OA.serializeHost=HA().serializeHost;OA.serializeInteger=HA().serializeInteger;OA.parseURL=HA().parseURL});var al=E((PA,tl)=>{"use strict";Object.defineProperty(PA,"__esModule",{value:!0});function F1(e){return e&&typeof e=="object"&&"default"in e?e.default:e}var LA=F1(require("stream")),j2=F1(require("http")),ti=F1(require("url")),X2=F1(O2()),D8=F1(require("https")),Xt=F1(require("zlib")),R8=LA.Readable,st=Symbol("buffer"),Vn=Symbol("type"),Ga=class e{constructor(){this[Vn]="";let A=arguments[0],t=arguments[1],a=[],r=0;if(A){let s=A,n=Number(s.length);for(let o=0;o<n;o++){let d=s[o],l;d instanceof Buffer?l=d:ArrayBuffer.isView(d)?l=Buffer.from(d.buffer,d.byteOffset,d.byteLength):d instanceof ArrayBuffer?l=Buffer.from(d):d instanceof e?l=d[st]:l=Buffer.from(typeof d=="string"?d:String(d)),r+=l.length,a.push(l)}}this[st]=Buffer.concat(a);let i=t&&t.type!==void 0&&String(t.type).toLowerCase();i&&!/[^\u0020-\u007E]/.test(i)&&(this[Vn]=i)}get size(){return this[st].length}get type(){return this[Vn]}text(){return Promise.resolve(this[st].toString())}arrayBuffer(){let A=this[st],t=A.buffer.slice(A.byteOffset,A.byteOffset+A.byteLength);return Promise.resolve(t)}stream(){let A=new R8;return A._read=function(){},A.push(this[st]),A.push(null),A}toString(){return"[object Blob]"}slice(){let A=this.size,t=arguments[0],a=arguments[1],r,i;t===void 0?r=0:t<0?r=Math.max(A+t,0):r=Math.min(t,A),a===void 0?i=A:a<0?i=Math.max(A+a,0):i=Math.min(a,A);let s=Math.max(i-r,0),o=this[st].slice(r,r+s),d=new e([],{type:arguments[2]});return d[st]=o,d}};Object.defineProperties(Ga.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Object.defineProperty(Ga.prototype,Symbol.toStringTag,{value:"Blob",writable:!1,enumerable:!1,configurable:!0});function Fe(e,A,t){Error.call(this,e),this.message=e,this.type=A,t&&(this.code=this.errno=t.code),Error.captureStackTrace(this,this.constructor)}Fe.prototype=Object.create(Error.prototype);Fe.prototype.constructor=Fe;Fe.prototype.name="FetchError";var xn;try{xn=require("encoding").convert}catch{}var ot=Symbol("Body internals"),P2=LA.PassThrough;function De(e){var A=this,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=t.size;let r=a===void 0?0:a;var i=t.timeout;let s=i===void 0?0:i;e==null?e=null:z2(e)?e=Buffer.from(e.toString()):Ha(e)||Buffer.isBuffer(e)||(Object.prototype.toString.call(e)==="[object ArrayBuffer]"?e=Buffer.from(e):ArrayBuffer.isView(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof LA||(e=Buffer.from(String(e)))),this[ot]={body:e,disturbed:!1,error:null},this.size=r,this.timeout=s,e instanceof LA&&e.on("error",function(n){let o=n.name==="AbortError"?n:new Fe(`Invalid response body while trying to fetch ${A.url}: ${n.message}`,"system",n);A[ot].error=o})}De.prototype={get body(){return this[ot].body},get bodyUsed(){return this[ot].disturbed},arrayBuffer(){return S1.call(this).then(function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)})},blob(){let e=this.headers&&this.headers.get("content-type")||"";return S1.call(this).then(function(A){return Object.assign(new Ga([],{type:e.toLowerCase()}),{[st]:A})})},json(){var e=this;return S1.call(this).then(function(A){try{return JSON.parse(A.toString())}catch(t){return De.Promise.reject(new Fe(`invalid json response body at ${e.url} reason: ${t.message}`,"invalid-json"))}})},text(){return S1.call(this).then(function(e){return e.toString()})},buffer(){return S1.call(this)},textConverted(){var e=this;return S1.call(this).then(function(A){return v8(A,e.headers)})}};Object.defineProperties(De.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}});De.mixIn=function(e){for(let A of Object.getOwnPropertyNames(De.prototype))if(!(A in e)){let t=Object.getOwnPropertyDescriptor(De.prototype,A);Object.defineProperty(e,A,t)}};function S1(){var e=this;if(this[ot].disturbed)return De.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[ot].disturbed=!0,this[ot].error)return De.Promise.reject(this[ot].error);let A=this.body;if(A===null)return De.Promise.resolve(Buffer.alloc(0));if(Ha(A)&&(A=A.stream()),Buffer.isBuffer(A))return De.Promise.resolve(A);if(!(A instanceof LA))return De.Promise.resolve(Buffer.alloc(0));let t=[],a=0,r=!1;return new De.Promise(function(i,s){let n;e.timeout&&(n=setTimeout(function(){r=!0,s(new Fe(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))},e.timeout)),A.on("error",function(o){o.name==="AbortError"?(r=!0,s(o)):s(new Fe(`Invalid response body while trying to fetch ${e.url}: ${o.message}`,"system",o))}),A.on("data",function(o){if(!(r||o===null)){if(e.size&&a+o.length>e.size){r=!0,s(new Fe(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}a+=o.length,t.push(o)}}),A.on("end",function(){if(!r){clearTimeout(n);try{i(Buffer.concat(t,a))}catch(o){s(new Fe(`Could not create Buffer from response body for ${e.url}: ${o.message}`,"system",o))}}})})}function v8(e,A){if(typeof xn!="function")throw new Error("The package `encoding` must be installed to use the textConverted() function");let t=A.get("content-type"),a="utf-8",r,i;return t&&(r=/charset=([^;]*)/i.exec(t)),i=e.slice(0,1024).toString(),!r&&i&&(r=/<meta.+?charset=(['"])(.+?)\1/i.exec(i)),!r&&i&&(r=/<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(i),r||(r=/<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(i),r&&r.pop()),r&&(r=/charset=(.*)/i.exec(r.pop()))),!r&&i&&(r=/<\?xml.+?encoding=(['"])(.+?)\1/i.exec(i)),r&&(a=r.pop(),(a==="gb2312"||a==="gbk")&&(a="gb18030")),xn(e,"UTF-8",a).toString()}function z2(e){return typeof e!="object"||typeof e.append!="function"||typeof e.delete!="function"||typeof e.get!="function"||typeof e.getAll!="function"||typeof e.has!="function"||typeof e.set!="function"?!1:e.constructor.name==="URLSearchParams"||Object.prototype.toString.call(e)==="[object URLSearchParams]"||typeof e.sort=="function"}function Ha(e){return typeof e=="object"&&typeof e.arrayBuffer=="function"&&typeof e.type=="string"&&typeof e.stream=="function"&&typeof e.constructor=="function"&&typeof e.constructor.name=="string"&&/^(Blob|File)$/.test(e.constructor.name)&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function K2(e){let A,t,a=e.body;if(e.bodyUsed)throw new Error("cannot clone body after it is used");return a instanceof LA&&typeof a.getBoundary!="function"&&(A=new P2,t=new P2,a.pipe(A),a.pipe(t),e[ot].body=A,a=t),a}function $2(e){return e===null?null:typeof e=="string"?"text/plain;charset=UTF-8":z2(e)?"application/x-www-form-urlencoded;charset=UTF-8":Ha(e)?e.type||null:Buffer.isBuffer(e)||Object.prototype.toString.call(e)==="[object ArrayBuffer]"||ArrayBuffer.isView(e)?null:typeof e.getBoundary=="function"?`multipart/form-data;boundary=${e.getBoundary()}`:e instanceof LA?null:"text/plain;charset=UTF-8"}function el(e){let A=e.body;return A===null?0:Ha(A)?A.size:Buffer.isBuffer(A)?A.length:A&&typeof A.getLengthSync=="function"&&(A._lengthRetrievers&&A._lengthRetrievers.length==0||A.hasKnownLength&&A.hasKnownLength())?A.getLengthSync():null}function N8(e,A){let t=A.body;t===null?e.end():Ha(t)?t.stream().pipe(e):Buffer.isBuffer(t)?(e.write(t),e.end()):t.pipe(e)}De.Promise=global.Promise;var Al=/[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/,_n=/[^\t\x20-\x7e\x80-\xff]/;function Ja(e){if(e=`${e}`,Al.test(e)||e==="")throw new TypeError(`${e} is not a legal HTTP header name`)}function W2(e){if(e=`${e}`,_n.test(e))throw new TypeError(`${e} is not a legal HTTP header value`)}function b1(e,A){A=A.toLowerCase();for(let t in e)if(t.toLowerCase()===A)return t}var ge=Symbol("map"),hA=class e{constructor(){let A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0;if(this[ge]=Object.create(null),A instanceof e){let t=A.raw(),a=Object.keys(t);for(let r of a)for(let i of t[r])this.append(r,i);return}if(A!=null)if(typeof A=="object"){let t=A[Symbol.iterator];if(t!=null){if(typeof t!="function")throw new TypeError("Header pairs must be iterable");let a=[];for(let r of A){if(typeof r!="object"||typeof r[Symbol.iterator]!="function")throw new TypeError("Each header pair must be iterable");a.push(Array.from(r))}for(let r of a){if(r.length!==2)throw new TypeError("Each header pair must be a name/value tuple");this.append(r[0],r[1])}}else for(let a of Object.keys(A)){let r=A[a];this.append(a,r)}}else throw new TypeError("Provided initializer must be an object")}get(A){A=`${A}`,Ja(A);let t=b1(this[ge],A);return t===void 0?null:this[ge][t].join(", ")}forEach(A){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,a=qn(this),r=0;for(;r<a.length;){var i=a[r];let s=i[0],n=i[1];A.call(t,n,s,this),a=qn(this),r++}}set(A,t){A=`${A}`,t=`${t}`,Ja(A),W2(t);let a=b1(this[ge],A);this[ge][a!==void 0?a:A]=[t]}append(A,t){A=`${A}`,t=`${t}`,Ja(A),W2(t);let a=b1(this[ge],A);a!==void 0?this[ge][a].push(t):this[ge][A]=[t]}has(A){return A=`${A}`,Ja(A),b1(this[ge],A)!==void 0}delete(A){A=`${A}`,Ja(A);let t=b1(this[ge],A);t!==void 0&&delete this[ge][t]}raw(){return this[ge]}keys(){return Yn(this,"key")}values(){return Yn(this,"value")}[Symbol.iterator](){return Yn(this,"key+value")}};hA.prototype.entries=hA.prototype[Symbol.iterator];Object.defineProperty(hA.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(hA.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});function qn(e){let A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key+value";return Object.keys(e[ge]).sort().map(A==="key"?function(a){return a.toLowerCase()}:A==="value"?function(a){return e[ge][a].join(", ")}:function(a){return[a.toLowerCase(),e[ge][a].join(", ")]})}var Hn=Symbol("internal");function Yn(e,A){let t=Object.create(On);return t[Hn]={target:e,kind:A,index:0},t}var On=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==On)throw new TypeError("Value of `this` is not a HeadersIterator");var e=this[Hn];let A=e.target,t=e.kind,a=e.index,r=qn(A,t),i=r.length;return a>=i?{value:void 0,done:!0}:(this[Hn].index=a+1,{value:r[a],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(On,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});function S8(e){let A=Object.assign({__proto__:null},e[ge]),t=b1(e[ge],"Host");return t!==void 0&&(A[t]=A[t][0]),A}function b8(e){let A=new hA;for(let t of Object.keys(e))if(!Al.test(t))if(Array.isArray(e[t]))for(let a of e[t])_n.test(a)||(A[ge][t]===void 0?A[ge][t]=[a]:A[ge][t].push(a));else _n.test(e[t])||(A[ge][t]=[e[t]]);return A}var Nt=Symbol("Response internals"),F8=j2.STATUS_CODES,BA=class e{constructor(){let A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};De.call(this,A,t);let a=t.status||200,r=new hA(t.headers);if(A!=null&&!r.has("Content-Type")){let i=$2(A);i&&r.append("Content-Type",i)}this[Nt]={url:t.url,status:a,statusText:t.statusText||F8[a],headers:r,counter:t.counter}}get url(){return this[Nt].url||""}get status(){return this[Nt].status}get ok(){return this[Nt].status>=200&&this[Nt].status<300}get redirected(){return this[Nt].counter>0}get statusText(){return this[Nt].statusText}get headers(){return this[Nt].headers}clone(){return new e(K2(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}};De.mixIn(BA.prototype);Object.defineProperties(BA.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});Object.defineProperty(BA.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});var nt=Symbol("Request internals"),k8=ti.URL||X2.URL,L8=ti.parse,U8=ti.format;function Jn(e){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)&&(e=new k8(e).toString()),L8(e)}var T8="destroy"in LA.Readable.prototype;function Ai(e){return typeof e=="object"&&typeof e[nt]=="object"}function M8(e){let A=e&&typeof e=="object"&&Object.getPrototypeOf(e);return!!(A&&A.constructor.name==="AbortSignal")}var bt=class e{constructor(A){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a;Ai(A)?a=Jn(A.url):(A&&A.href?a=Jn(A.href):a=Jn(`${A}`),A={});let r=t.method||A.method||"GET";if(r=r.toUpperCase(),(t.body!=null||Ai(A)&&A.body!==null)&&(r==="GET"||r==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let i=t.body!=null?t.body:Ai(A)&&A.body!==null?K2(A):null;De.call(this,i,{timeout:t.timeout||A.timeout||0,size:t.size||A.size||0});let s=new hA(t.headers||A.headers||{});if(i!=null&&!s.has("Content-Type")){let o=$2(i);o&&s.append("Content-Type",o)}let n=Ai(A)?A.signal:null;if("signal"in t&&(n=t.signal),n!=null&&!M8(n))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[nt]={method:r,redirect:t.redirect||A.redirect||"follow",headers:s,parsedURL:a,signal:n},this.follow=t.follow!==void 0?t.follow:A.follow!==void 0?A.follow:20,this.compress=t.compress!==void 0?t.compress:A.compress!==void 0?A.compress:!0,this.counter=t.counter||A.counter||0,this.agent=t.agent||A.agent}get method(){return this[nt].method}get url(){return U8(this[nt].parsedURL)}get headers(){return this[nt].headers}get redirect(){return this[nt].redirect}get signal(){return this[nt].signal}clone(){return new e(this)}};De.mixIn(bt.prototype);Object.defineProperty(bt.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(bt.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}});function V8(e){let A=e[nt].parsedURL,t=new hA(e[nt].headers);if(t.has("Accept")||t.set("Accept","*/*"),!A.protocol||!A.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(A.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(e.signal&&e.body instanceof LA.Readable&&!T8)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let a=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)&&(a="0"),e.body!=null){let i=el(e);typeof i=="number"&&(a=String(i))}a&&t.set("Content-Length",a),t.has("User-Agent")||t.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),e.compress&&!t.has("Accept-Encoding")&&t.set("Accept-Encoding","gzip,deflate");let r=e.agent;return typeof r=="function"&&(r=r(A)),!t.has("Connection")&&!r&&t.set("Connection","close"),Object.assign({},A,{method:e.method,headers:S8(t),agent:r})}function xa(e){Error.call(this,e),this.type="aborted",this.message=e,Error.captureStackTrace(this,this.constructor)}xa.prototype=Object.create(Error.prototype);xa.prototype.constructor=xa;xa.prototype.name="AbortError";var qa=ti.URL||X2.URL,Z2=LA.PassThrough,Y8=function(A,t){let a=new qa(t).hostname,r=new qa(A).hostname;return a===r||a[a.length-r.length-1]==="."&&a.endsWith(r)},J8=function(A,t){let a=new qa(t).protocol,r=new qa(A).protocol;return a===r};function St(e,A){if(!St.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return De.Promise=St.Promise,new St.Promise(function(t,a){let r=new bt(e,A),i=V8(r),s=(i.protocol==="https:"?D8:j2).request,n=r.signal,o=null,d=function(){let Q=new xa("The user aborted a request.");a(Q),r.body&&r.body instanceof LA.Readable&&Gn(r.body,Q),!(!o||!o.body)&&o.body.emit("error",Q)};if(n&&n.aborted){d();return}let l=function(){d(),c()},p=s(i),g;n&&n.addEventListener("abort",l);function c(){p.abort(),n&&n.removeEventListener("abort",l),clearTimeout(g)}r.timeout&&p.once("socket",function(u){g=setTimeout(function(){a(new Fe(`network timeout at: ${r.url}`,"request-timeout")),c()},r.timeout)}),p.on("error",function(u){a(new Fe(`request to ${r.url} failed, reason: ${u.message}`,"system",u)),o&&o.body&&Gn(o.body,u),c()}),G8(p,function(u){n&&n.aborted||o&&o.body&&Gn(o.body,u)}),parseInt(process.version.substring(1))<14&&p.on("socket",function(u){u.addListener("close",function(Q){let C=u.listenerCount("data")>0;if(o&&C&&!Q&&!(n&&n.aborted)){let m=new Error("Premature close");m.code="ERR_STREAM_PREMATURE_CLOSE",o.body.emit("error",m)}})}),p.on("response",function(u){clearTimeout(g);let Q=b8(u.headers);if(St.isRedirect(u.statusCode)){let I=Q.get("Location"),y=null;try{y=I===null?null:new qa(I,r.url).toString()}catch{if(r.redirect!=="manual"){a(new Fe(`uri requested responds with an invalid redirect URL: ${I}`,"invalid-redirect")),c();return}}switch(r.redirect){case"error":a(new Fe(`uri requested responds with a redirect, redirect mode is set to error: ${r.url}`,"no-redirect")),c();return;case"manual":if(y!==null)try{Q.set("Location",y)}catch(k){a(k)}break;case"follow":if(y===null)break;if(r.counter>=r.follow){a(new Fe(`maximum redirect reached at: ${r.url}`,"max-redirect")),c();return}let S={headers:new hA(r.headers),follow:r.follow,counter:r.counter+1,agent:r.agent,compress:r.compress,method:r.method,body:r.body,signal:r.signal,timeout:r.timeout,size:r.size};if(!Y8(r.url,y)||!J8(r.url,y))for(let k of["authorization","www-authenticate","cookie","cookie2"])S.headers.delete(k);if(u.statusCode!==303&&r.body&&el(r)===null){a(new Fe("Cannot follow redirect with body being a readable stream","unsupported-redirect")),c();return}(u.statusCode===303||(u.statusCode===301||u.statusCode===302)&&r.method==="POST")&&(S.method="GET",S.body=void 0,S.headers.delete("content-length")),t(St(new bt(y,S))),c();return}}u.once("end",function(){n&&n.removeEventListener("abort",l)});let C=u.pipe(new Z2),m={url:r.url,status:u.statusCode,statusText:u.statusMessage,headers:Q,size:r.size,timeout:r.timeout,counter:r.counter},B=Q.get("Content-Encoding");if(!r.compress||r.method==="HEAD"||B===null||u.statusCode===204||u.statusCode===304){o=new BA(C,m),t(o);return}let w={flush:Xt.Z_SYNC_FLUSH,finishFlush:Xt.Z_SYNC_FLUSH};if(B=="gzip"||B=="x-gzip"){C=C.pipe(Xt.createGunzip(w)),o=new BA(C,m),t(o);return}if(B=="deflate"||B=="x-deflate"){let I=u.pipe(new Z2);I.once("data",function(y){(y[0]&15)===8?C=C.pipe(Xt.createInflate()):C=C.pipe(Xt.createInflateRaw()),o=new BA(C,m),t(o)}),I.on("end",function(){o||(o=new BA(C,m),t(o))});return}if(B=="br"&&typeof Xt.createBrotliDecompress=="function"){C=C.pipe(Xt.createBrotliDecompress()),o=new BA(C,m),t(o);return}o=new BA(C,m),t(o)}),N8(p,r)})}function G8(e,A){let t;e.on("socket",function(a){t=a}),e.on("response",function(a){let r=a.headers;r["transfer-encoding"]==="chunked"&&!r["content-length"]&&a.once("close",function(i){if(t&&t.listenerCount("data")>0&&!i){let n=new Error("Premature close");n.code="ERR_STREAM_PREMATURE_CLOSE",A(n)}})})}function Gn(e,A){e.destroy?e.destroy(A):(e.emit("error",A),e.end())}St.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};St.Promise=global.Promise;tl.exports=PA=St;Object.defineProperty(PA,"__esModule",{value:!0});PA.default=PA;PA.Headers=hA;PA.Request=bt;PA.Response=BA;PA.FetchError=Fe});var il=E((zt,rl)=>{var Oa=al(),x8=Oa.default||Oa,ai=function(e,A){return/^\/\//.test(e)&&(e="https:"+e),x8.call(this,e,A)};ai.ponyfill=!0;rl.exports=zt=ai;zt.fetch=ai;zt.Headers=Oa.Headers;zt.Request=Oa.Request;zt.Response=Oa.Response;zt.default=ai});var ol=E(k1=>{"use strict";var nl=k1&&k1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(k1,"__esModule",{value:!0});k1.useFetch=void 0;var sl=require("react"),_8=nl(u2()),q8=nl(C2()),H8=Xr(),O8=it(),P8=il();function W8(e){if(e){let A=q8.default.parse(e),t=_8.default.parse(A.type);if(t.subtype==="json"||t.suffix==="json"||t.suffix&&/\bjson\b/i.test(t.suffix)||t.subtype&&/\bjson\b/i.test(t.subtype))return!0}return!1}async function Z8(e){if(!e.ok)throw new Error(e.statusText);let A=e.headers.get("content-type");return A&&W8(A)?await e.json():await e.text()}function j8(e,A){let{parseResponse:t,initialData:a,execute:r,keepPreviousData:i,onError:s,onData:n,onWillExecute:o,...d}=A||{},l={initialData:a,execute:r,keepPreviousData:i,onError:s,onData:n,onWillExecute:o},p=(0,O8.useLatest)(t||Z8),g=(0,sl.useRef)(),c=(0,sl.useCallback)(async(u,Q)=>{let C=await(0,P8.fetch)(u,{signal:g.current?.signal,...Q});return await p.current(C)},[p]);return(0,H8.useCachedPromise)(c,[e,d],{...l,abortable:g})}k1.useFetch=j8});var dl=E(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.signals=void 0;Kt.signals=[];Kt.signals.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Kt.signals.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Kt.signals.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});var pl=E(WA=>{"use strict";var ri;Object.defineProperty(WA,"__esModule",{value:!0});WA.unload=WA.load=WA.onExit=WA.signals=void 0;var ii=dl();Object.defineProperty(WA,"signals",{enumerable:!0,get:function(){return ii.signals}});var si=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",Pn=Symbol.for("signal-exit emitter"),Wn=globalThis,X8=Object.defineProperty.bind(Object),Zn=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Wn[Pn])return Wn[Pn];X8(Wn,Pn,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(A,t){this.listeners[A].push(t)}removeListener(A,t){let a=this.listeners[A],r=a.indexOf(t);r!==-1&&(r===0&&a.length===1?a.length=0:a.splice(r,1))}emit(A,t,a){if(this.emitted[A])return!1;this.emitted[A]=!0;let r=!1;for(let i of this.listeners[A])r=i(t,a)===!0||r;return A==="exit"&&(r=this.emit("afterExit",t,a)||r),r}},ni=class{},z8=e=>({onExit(A,t){return e.onExit(A,t)},load(){return e.load()},unload(){return e.unload()}}),jn=class extends ni{onExit(){return()=>{}}load(){}unload(){}},Xn=class extends ni{#e=zn.platform==="win32"?"SIGINT":"SIGHUP";#a=new Zn;#A;#t;#r;#s={};#i=!1;constructor(A){super(),this.#A=A,this.#s={};for(let t of ii.signals)this.#s[t]=()=>{let a=this.#A.listeners(t),{count:r}=this.#a,i=A;if(typeof i.__signal_exit_emitter__=="object"&&typeof i.__signal_exit_emitter__.count=="number"&&(r+=i.__signal_exit_emitter__.count),a.length===r){this.unload();let s=this.#a.emit("exit",null,t),n=t==="SIGHUP"?this.#e:t;s||A.kill(A.pid,n)}};this.#r=A.reallyExit,this.#t=A.emit}onExit(A,t){if(!si(this.#A))return()=>{};this.#i===!1&&this.load();let a=t?.alwaysLast?"afterExit":"exit";return this.#a.on(a,A),()=>{this.#a.removeListener(a,A),this.#a.listeners.exit.length===0&&this.#a.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#i){this.#i=!0,this.#a.count+=1;for(let A of ii.signals)try{let t=this.#s[A];t&&this.#A.on(A,t)}catch{}this.#A.emit=(A,...t)=>this.#o(A,...t),this.#A.reallyExit=A=>this.#n(A)}}unload(){this.#i&&(this.#i=!1,ii.signals.forEach(A=>{let t=this.#s[A];if(!t)throw new Error("Listener not defined for signal: "+A);try{this.#A.removeListener(A,t)}catch{}}),this.#A.emit=this.#t,this.#A.reallyExit=this.#r,this.#a.count-=1)}#n(A){return si(this.#A)?(this.#A.exitCode=A||0,this.#a.emit("exit",this.#A.exitCode,null),this.#r.call(this.#A,this.#A.exitCode)):0}#o(A,...t){let a=this.#t;if(A==="exit"&&si(this.#A)){typeof t[0]=="number"&&(this.#A.exitCode=t[0]);let r=a.call(this.#A,A,...t);return this.#a.emit("exit",this.#A.exitCode,null),r}else return a.call(this.#A,A,...t)}},zn=globalThis.process;ri=z8(si(zn)?new Xn(zn):new jn),WA.onExit=ri.onExit,WA.load=ri.load,WA.unload=ri.unload});var oi=E(IA=>{"use strict";var K8=IA&&IA.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(IA,"__esModule",{value:!0});IA.defaultParsing=IA.handleOutput=IA.getSpawnedResult=IA.getSpawnedPromise=void 0;var $8=require("node:buffer"),cl=K8(require("node:stream")),e5=require("node:util"),A5=pl();function t5(e,{timeout:A}={}){let t=new Promise((n,o)=>{e.on("exit",(d,l)=>{n({exitCode:d,signal:l,timedOut:!1})}),e.on("error",d=>{o(d)}),e.stdin&&e.stdin.on("error",d=>{o(d)})});if(A===0||A===void 0)return t;let a,r=new Promise((n,o)=>{a=setTimeout(()=>{e.kill("SIGTERM"),o(Object.assign(new Error("Timed out"),{timedOut:!0,signal:"SIGTERM"}))},A)}),i=t.finally(()=>{clearTimeout(a)}),s=(0,A5.onExit)(()=>{e.kill()});return Promise.race([r,i]).finally(()=>s())}IA.getSpawnedPromise=t5;var Kn=class extends Error{constructor(){super("The output is too big"),this.name="MaxBufferError"}},a5=(0,e5.promisify)(cl.default.pipeline);function r5(e){let{encoding:A}=e,t=A==="buffer",a=new cl.default.PassThrough({objectMode:!1});A&&A!=="buffer"&&a.setEncoding(A);let r=0,i=[];return a.on("data",s=>{i.push(s),r+=s.length}),a.getBufferedValue=()=>t?Buffer.concat(i,r):i.join(""),a.getBufferedLength=()=>r,a}async function ll(e,A){let t=r5(A);return await new Promise((a,r)=>{let i=s=>{s&&t.getBufferedLength()<=$8.constants.MAX_LENGTH&&(s.bufferedData=t.getBufferedValue()),r(s)};(async()=>{try{await a5(e,t),a()}catch(s){i(s)}})(),t.on("data",()=>{t.getBufferedLength()>1e3*1e3*80&&i(new Kn)})}),t.getBufferedValue()}async function gl(e,A){e.destroy();try{return await A}catch(t){return t.bufferedData}}async function i5({stdout:e,stderr:A},{encoding:t},a){let r=ll(e,{encoding:t}),i=ll(A,{encoding:t});try{return await Promise.all([a,r,i])}catch(s){return Promise.all([{error:s,exitCode:null,signal:s.signal,timedOut:s.timedOut||!1},gl(e,r),gl(A,i)])}}IA.getSpawnedResult=i5;function s5(e){let A=typeof e=="string"?` +`:10,t=typeof e=="string"?"\r":13;return e[e.length-1]===A&&(e=e.slice(0,-1)),e[e.length-1]===t&&(e=e.slice(0,-1)),e}function n5(e,A){return e.stripFinalNewline?s5(A):A}IA.handleOutput=n5;var o5=({timedOut:e,timeout:A,signal:t,exitCode:a})=>e?`timed out after ${A} milliseconds`:t!=null?`was killed with ${t}`:a!=null?`failed with exit code ${a}`:"failed",d5=({stdout:e,stderr:A,error:t,signal:a,exitCode:r,command:i,timedOut:s,options:n,parentError:o})=>{let l=`Command ${o5({timedOut:s,timeout:n?.timeout,signal:a,exitCode:r})}: ${i}`,p=t?`${l} +${t.message}`:l,g=[p,A,e].filter(Boolean).join(` +`);return t?t.originalMessage=t.message:t=o,t.message=g,t.shortMessage=p,t.command=i,t.exitCode=r,t.signal=a,t.stdout=e,t.stderr=A,"bufferedData"in t&&delete t.bufferedData,t};function p5({stdout:e,stderr:A,error:t,exitCode:a,signal:r,timedOut:i,command:s,options:n,parentError:o}){if(t||a!==0||r!==null)throw d5({error:t,exitCode:a,signal:r,stdout:e,stderr:A,command:s,timedOut:i,options:n,parentError:o});return e}IA.defaultParsing=p5});var El=E(L1=>{"use strict";var l5=L1&&L1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(L1,"__esModule",{value:!0});L1.useExec=void 0;var g5=l5(require("node:child_process")),ul=require("react"),c5=Xr(),u5=it(),Pa=oi(),E5=/ +/g;function Q5(e,A){if(A)return[e,...A];let t=[];for(let a of e.trim().split(E5)){let r=t[t.length-1];r&&r.endsWith("\\")?t[t.length-1]=`${r.slice(0,-1)} ${a}`:t.push(a)}return t}function m5(e,A,t){let{parseOutput:a,input:r,onData:i,onWillExecute:s,initialData:n,execute:o,keepPreviousData:d,onError:l,...p}=Array.isArray(A)?t||{}:A||{},g={initialData:n,execute:o,keepPreviousData:d,onError:l,onData:i,onWillExecute:s},c=(0,ul.useRef)(),u=(0,u5.useLatest)(a||Pa.defaultParsing),Q=(0,ul.useCallback)(async(C,m,B,w)=>{let[I,...y]=Q5(C,m),S=[I,...y].join(" "),k={stripFinalNewline:!0,...B,timeout:B?.timeout||1e4,signal:c.current?.signal,encoding:B?.encoding===null?"buffer":B?.encoding||"utf8",env:{PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",...process.env,...B?.env}},x=g5.default.spawn(I,y,k),we=(0,Pa.getSpawnedPromise)(x,k);w&&x.stdin.end(w);let[{error:Ce,exitCode:yt,signal:be,timedOut:le},mA,j]=await(0,Pa.getSpawnedResult)(x,k,we),re=(0,Pa.handleOutput)(k,mA),U=(0,Pa.handleOutput)(k,j);return u.current({stdout:re,stderr:U,error:Ce,exitCode:yt,signal:be,timedOut:le,command:S,options:k,parentError:new Error})},[u]);return(0,c5.useCachedPromise)(Q,[e,Array.isArray(A)?A:[],p,r],{...g,abortable:c})}L1.useExec=m5});var hl=E(U1=>{"use strict";var ci=U1&&U1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(U1,"__esModule",{value:!0});U1.useSQL=void 0;var ZA=require("react/jsx-runtime"),ke=require("@raycast/api"),C5=require("node:fs"),di=require("node:fs/promises"),Cl=ci(require("node:os")),Ql=ci(require("node:child_process")),ml=ci(require("node:path")),B5=ci(Fn()),pi=require("react"),h5=La(),I5=it(),li=oi(),f5=Rn();function w5(e,A,t){let{permissionPriming:a,...r}=t||{},[i,s]=(0,pi.useState)(),n=(0,I5.useLatest)(t||{}),o=(0,pi.useRef)(),d=(0,pi.useCallback)(p=>{console.error(p);let g=p instanceof Error&&p.message.includes("authorization denied")?new eo("You do not have permission to access the database."):p;y5(g)?s((0,ZA.jsx)(D5,{priming:n.current.permissionPriming})):n.current.onError?n.current.onError(g):(console.error(g),ke.environment.launchType!==ke.LaunchType.Background&&(0,ke.showToast)({style:ke.Toast.Style.Failure,title:"Cannot query the data",message:g.message,primaryAction:(0,f5.handleErrorToastAction)(g)}))},[n]),l=(0,pi.useMemo)(()=>{if(!(0,C5.existsSync)(e))throw new Error("The database does not exist");let p;return async(g,c)=>{let u=o.current?.signal,Q=Ql.default.spawn("sqlite3",["--json","--readonly",g,c],{signal:u}),C=(0,li.getSpawnedPromise)(Q),[{error:m,exitCode:B,signal:w},I,y]=await(0,li.getSpawnedResult)(Q,{encoding:"utf-8"},C);if(gi(u),y.match("(5)")||y.match("(14)")){if(!p){let x=ml.default.join(Cl.default.tmpdir(),"useSQL",(0,B5.default)(g));await(0,di.mkdir)(x,{recursive:!0}),gi(u),p=ml.default.join(x,"db.db"),await(0,di.copyFile)(g,p),await(0,di.writeFile)(p+"-shm",""),await(0,di.writeFile)(p+"-wal",""),gi(u)}let S=Ql.default.spawn("sqlite3",["--json","--readonly","--vfs","unix-none",p,c],{signal:u}),k=(0,li.getSpawnedPromise)(S);[{error:m,exitCode:B,signal:w},I,y]=await(0,li.getSpawnedResult)(S,{encoding:"utf-8"},k),gi(u)}if(m||B!==0||w!==null)throw new Error(y);return JSON.parse(I.trim()||"[]")}},[e]);return{...(0,h5.usePromise)(l,[e,A],{...r,onError:d}),permissionView:i}}U1.useSQL=w5;var eo=class extends Error{constructor(A){super(A),this.name="PermissionError"}};function y5(e){return e instanceof Error&&e.name==="PermissionError"}var Bl=parseInt(Cl.default.release().split(".")[0])>=22,$n=Bl?"Settings":"Preferences";function D5(e){let A=Bl?{title:"Open System Settings -> Privacy",target:"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"}:{title:"Open System Preferences -> Security",target:"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"};return ke.environment.commandMode==="menu-bar"?(0,ZA.jsxs)(ke.MenuBarExtra,{icon:ke.Icon.Warning,title:ke.environment.commandName,children:[(0,ZA.jsx)(ke.MenuBarExtra.Item,{title:"Raycast needs full disk access",tooltip:`You can revert this access in ${$n} whenever you want`}),e.priming?(0,ZA.jsx)(ke.MenuBarExtra.Item,{title:e.priming,tooltip:`You can revert this access in ${$n} whenever you want`}):null,(0,ZA.jsx)(ke.MenuBarExtra.Separator,{}),(0,ZA.jsx)(ke.MenuBarExtra.Item,{title:A.title,onAction:()=>(0,ke.open)(A.target)})]}):(0,ZA.jsx)(ke.List,{children:(0,ZA.jsx)(ke.List.EmptyView,{icon:{source:{light:"https://raycast.com/uploads/extensions-utils-security-permissions-light.png",dark:"https://raycast.com/uploads/extensions-utils-security-permissions-dark.png"}},title:"Raycast needs full disk access.",description:`${e.priming?e.priming+` +`:""}You can revert this access in ${$n} whenever you want.`,actions:(0,ZA.jsx)(ke.ActionPanel,{children:(0,ZA.jsx)(ke.Action.Open,{...A})})})})}function gi(e){if(e?.aborted){let A=new Error("aborted");throw A.name="AbortError",A}}});var wl=E($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});$t.useForm=$t.FormValidation=void 0;var dt=require("react"),Il=it(),fl;(function(e){e.Required="required"})(fl=$t.FormValidation||($t.FormValidation={}));function Ao(e,A){if(e){if(typeof e=="function")return e(A);if(e===fl.Required){let t=typeof A<"u"&&A!==null;if(t)switch(typeof A){case"string":t=A.length>0;break;case"object":Array.isArray(A)?t=A.length>0:A instanceof Date&&(t=A.getTime()>0);break;default:break}if(!t)return"The item is required"}}}function R5(e){let{onSubmit:A,validation:t,initialValues:a={}}=e,[r,i]=(0,dt.useState)(a),[s,n]=(0,dt.useState)({}),o=(0,dt.useRef)({}),d=(0,Il.useLatest)(t||{}),l=(0,Il.useLatest)(A),p=(0,dt.useCallback)(m=>{o.current[m]?.focus()},[o]),g=(0,dt.useCallback)(async m=>{let B=!1;for(let[I,y]of Object.entries(d.current)){let S=Ao(y,m[I]);S&&(B||(B={},p(I)),B[I]=S)}if(B)return n(B),!1;let w=await l.current(m);return typeof w=="boolean"?w:!0},[d,l,p]),c=(0,dt.useCallback)((m,B)=>{n(w=>({...w,[m]:B}))},[n]),u=(0,dt.useCallback)(function(m,B){i(w=>({...w,[m]:typeof B=="function"?B(w[m]):B}))},[i]),Q=(0,dt.useMemo)(()=>new Proxy({},{get(m,B){let w=d.current[B],I=r[B];return{onChange(y){s[B]&&(Ao(w,y)||c(B,void 0)),u(B,y)},onBlur(y){let S=Ao(w,y.target.value);S&&c(B,S)},error:s[B],id:B,value:typeof I>"u"?null:I,ref:y=>{o.current[B]=y}}}}),[s,d,c,r,o,u]),C=(0,dt.useCallback)((m={})=>{i(m),n({})},[i,n]);return{handleSubmit:g,setValidationError:c,setValue:u,values:r,itemProps:Q,focus:p,reset:C}}$t.useForm=R5});var Dl=E(ui=>{"use strict";Object.defineProperty(ui,"__esModule",{value:!0});ui.useAI=void 0;var yl=require("react"),v5=require("@raycast/api"),N5=La();function S5(e,A={}){let{creativity:t,stream:a,model:r,...i}=A,[s,n]=(0,yl.useState)(""),o=(0,yl.useRef)(),{isLoading:d,error:l,revalidate:p}=(0,N5.usePromise)(async(g,c,u)=>{n("");let Q=v5.AI.ask(g,{creativity:c,model:r,signal:o.current?.signal});u===!1?n(await Q):(Q.on("data",C=>{n(m=>m+C)}),await Q)},[e,t,a],{...i,abortable:o});return{isLoading:d,data:s,error:l,revalidate:p}}ui.useAI=S5});var Nl=E(Ei=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});Ei.useFrecencySorting=void 0;var to=require("react"),Rl=it(),b5=Zr(),F5=10,vl=24*60*60*1e3,k5=Math.log(2)/(F5*vl),L5={Default:100,Embed:0,Bookmark:140};function U5(e){let A=Date.now(),t=e?e.lastVisited:0,a=e?e.frecency:0,r=(A-t)/vl,i=L5.Default*Math.exp(-k5*r),s=a+i;return{lastVisited:A,frecency:s}}var T5=e=>{if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||!e||!("id"in e)||typeof e.id!="string"))throw new Error("Specify a key function or make sure your items have an 'id' property");return e.id};function M5(e,A){let t=(0,Rl.useLatest)(A?.key||T5),a=(0,Rl.useLatest)(A?.sortUnvisited),[r,i]=(0,b5.useCachedState)(`raycast_frecency_${A?.namespace}`,{}),s=(0,to.useCallback)(async function(l){let p=t.current(l);i(g=>{let c=g[p],u=U5(c);return{...g,[p]:u}})},[t,i]),n=(0,to.useCallback)(async function(l){let p=t.current(l);i(g=>{let c={...g};return delete c[p],c})},[t,i]);return{data:(0,to.useMemo)(()=>e?e.sort((d,l)=>{let p=r[t.current(d)],g=r[t.current(l)];return p&&!g?-1:!p&&g?1:p&&g?g.frecency-p.frecency:a.current?a.current(d,l):0}):[],[r,e,t,a]),visitItem:s,resetRanking:n}}Ei.useFrecencySorting=M5});var Ll=E(T1=>{"use strict";Object.defineProperty(T1,"__esModule",{value:!0});T1.slightlyLighterColor=T1.slightlyDarkerColor=void 0;function V5(e){let A=0,t=0,a=0;if(e.length===4)A=parseInt(`${e[1]}${e[1]}`,16),t=parseInt(`${e[2]}${e[2]}`,16),a=parseInt(`${e[3]}${e[3]}`,16);else if(e.length===7)A=parseInt(`${e[1]}${e[2]}`,16),t=parseInt(`${e[3]}${e[4]}`,16),a=parseInt(`${e[5]}${e[6]}`,16);else throw new Error(`Malformed hex color: ${e}`);return{r:A,g:t,b:a}}function Y5({r:e,g:A,b:t}){let a=e.toString(16),r=A.toString(16),i=t.toString(16);return a.length===1&&(a=`0${a}`),r.length===1&&(r=`0${r}`),i.length===1&&(i=`0${i}`),`#${a}${r}${i}`}function J5({r:e,g:A,b:t}){e/=255,A/=255,t/=255;let a=Math.min(e,A,t),r=Math.max(e,A,t),i=r-a,s=0,n=0,o=0;return i===0?s=0:r===e?s=(A-t)/i%6:r===A?s=(t-e)/i+2:s=(e-A)/i+4,s=Math.round(s*60),s<0&&(s+=360),o=(r+a)/2,n=i===0?0:i/(1-Math.abs(2*o-1)),n=+(n*100).toFixed(1),o=+(o*100).toFixed(1),{h:s,s:n,l:o}}function G5({h:e,s:A,l:t}){A/=100,t/=100;let a=(1-Math.abs(2*t-1))*A,r=a*(1-Math.abs(e/60%2-1)),i=t-a/2,s=0,n=0,o=0;return e>=0&&e<60?(s=a,n=r,o=0):e>=60&&e<120?(s=r,n=a,o=0):e>=120&&e<180?(s=0,n=a,o=r):e>=180&&e<240?(s=0,n=r,o=a):e>=240&&e<300?(s=r,n=0,o=a):e>=300&&e<360&&(s=a,n=0,o=r),s=Math.round((s+i)*255),n=Math.round((n+i)*255),o=Math.round((o+i)*255),{r:s,g:n,b:o}}function Sl(e){return J5(V5(e))}function bl(e){return Y5(G5(e))}function Fl(e,A,t){return A<t?e<A?A:e>t?t:e:e<t?t:e>A?A:e}var kl=12;function x5(e){let A=Sl(e);return bl({h:A.h,s:A.s,l:Fl(A.l-kl,0,100)})}T1.slightlyDarkerColor=x5;function _5(e){let A=Sl(e);return bl({h:A.h,s:A.s,l:Fl(A.l+kl,0,100)})}T1.slightlyLighterColor=_5});var Ml=E(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.getAvatarIcon=void 0;var Ul=Ll();function M1(e,A){let t=e.charCodeAt(A);if(Number.isNaN(t))return["",A];if(t<55296||t>57343)return[e.charAt(A),A];if(55296<=t&&t<=56319){if(e.length<=A+1)throw new Error("High surrogate without following low surrogate");let r=e.charCodeAt(A+1);if(56320>r||r>57343)throw new Error("High surrogate without following low surrogate");return[e.charAt(A)+e.charAt(A+1),A+1]}if(A===0)throw new Error("Low surrogate without preceding high surrogate");let a=e.charCodeAt(A-1);if(55296>a||a>56319)throw new Error("Low surrogate without preceding high surrogate");return[e.charAt(A+1),A+1]}var Tl=["#DC829A","#D64854","#D47600","#D36CDD","#52A9E4","#7871E8","#70920F","#43B93A","#EB6B3E","#26B795","#D85A9B","#A067DC","#BD9500","#5385D9"];function q5(e,A){let t=e.trim().split(" "),a;if(t.length==1&&M1(t[0],0)[0])a=M1(t[0],0)[0];else if(t.length>1){let o=M1(t[0],0)[0]||"",d=M1(t[t.length-1],0)[0]??"";a=o+d}else a="";let r;if(A?.background)r=A?.background;else{let o=0,[d,l]=M1(a,0);for(;d;)o+=d.charCodeAt(0),[d,l]=M1(a,l+1);let p=o%Tl.length;r=Tl[p]}let s=50-0;return`data:image/svg+xml,${`<svg width="100px" height="100px"> + ${A?.gradient!==!1?`<defs> + <linearGradient id="Gradient" x1="0.25" x2="0.75" y1="0" y2="1"> + <stop offset="0%" stop-color="${(0,Ul.slightlyLighterColor)(r)}"/> + <stop offset="50%" stop-color="${r}"/> + <stop offset="100%" stop-color="${(0,Ul.slightlyDarkerColor)(r)}"/> + </linearGradient> + </defs>`:""} + <circle cx="50" cy="50" r="${s}" fill="${A?.gradient!==!1?"url(#Gradient)":r}" /> + ${a?`<text x="50" y="80" font-size="${s-1}" font-family="Inter, sans-serif" text-anchor="middle" fill="white">${a.toUpperCase()}</text>`:""} + </svg> + `.replaceAll(` +`,"")}`}Qi.getAvatarIcon=q5});var Yl=E(mi=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});mi.getFavicon=void 0;var Vl=require("@raycast/api"),H5=require("url");function O5(e,A){try{let a=(typeof e=="string"?new H5.URL(e):e).hostname;return{source:`https://www.google.com/s2/favicons?sz=${A?.size??64}&domain=${a}`,fallback:A?.fallback??Vl.Icon.Link,mask:A?.mask}}catch(t){return console.error(t),Vl.Icon.Link}}mi.getFavicon=O5});var xl=E(Ci=>{"use strict";Object.defineProperty(Ci,"__esModule",{value:!0});Ci.getProgressIcon=void 0;var Jl=require("@raycast/api");function Gl(e,A,t,a){let r=(a-90)*Math.PI/180;return{x:e+t*Math.cos(r),y:A+t*Math.sin(r)}}function P5(e,A,t,a,r){let i=Gl(e,A,t,r),s=Gl(e,A,t,a),n=r-a<=180?"0":"1";return["M",i.x,i.y,"A",t,t,0,n,0,s.x,s.y].join(" ")}function W5(e,A=Jl.Color.Red,t){let a=t?.background||(Jl.environment.appearance==="light"?"black":"white"),r=t?.backgroundOpacity||.1,i=10,n=50-5-i/2;return`data:image/svg+xml,${`<svg width="100px" height="100px"> + <circle cx="50" cy="50" r="${n}" stroke-width="${i}" stroke="${e<1?a:A}" opacity="${e<1?r:"1"}" fill="none" /> + ${e>0&&e<1?`<path d="${P5(50,50,n,0,e*360)}" stroke="${A}" stroke-width="${i}" fill="none" />`:""} + </svg> + `.replaceAll(` +`,"")}`}Ci.getProgressIcon=W5});var _l=E(pt=>{"use strict";var Z5=pt&&pt.__createBinding||(Object.create?function(e,A,t,a){a===void 0&&(a=t);var r=Object.getOwnPropertyDescriptor(A,t);(!r||("get"in r?!A.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return A[t]}}),Object.defineProperty(e,a,r)}:function(e,A,t,a){a===void 0&&(a=t),e[a]=A[t]}),ao=pt&&pt.__exportStar||function(e,A){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(A,t)&&Z5(A,e,t)};Object.defineProperty(pt,"__esModule",{value:!0});ao(Ml(),pt);ao(Yl(),pt);ao(xl(),pt)});var ql=E(V1=>{"use strict";var j5=V1&&V1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(V1,"__esModule",{value:!0});V1.runAppleScript=void 0;var X5=j5(require("node:child_process")),Wa=oi();async function z5(e,A,t){let{humanReadableOutput:a,language:r,timeout:i,...s}=Array.isArray(A)?t||{}:A||{},n=a!==!1?[]:["-ss"];r==="JavaScript"&&n.push("-l","JavaScript"),Array.isArray(A)&&n.push("-",...A);let o=X5.default.spawn("osascript",n,{...s,env:{PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"}}),d=(0,Wa.getSpawnedPromise)(o,{timeout:i||1e4});o.stdin.end(e);let[{error:l,exitCode:p,signal:g,timedOut:c},u,Q]=await(0,Wa.getSpawnedResult)(o,{encoding:"utf8"},d),C=(0,Wa.handleOutput)({stripFinalNewline:!0},u),m=(0,Wa.handleOutput)({stripFinalNewline:!0},Q);return(0,Wa.defaultParsing)({stdout:C,stderr:m,error:l,exitCode:p,signal:g,timedOut:c,command:"osascript",options:t,parentError:new Error})}V1.runAppleScript=z5});var ro=E(Le=>{"use strict";var K5=Le&&Le.__createBinding||(Object.create?function(e,A,t,a){a===void 0&&(a=t);var r=Object.getOwnPropertyDescriptor(A,t);(!r||("get"in r?!A.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return A[t]}}),Object.defineProperty(e,a,r)}:function(e,A,t,a){a===void 0&&(a=t),e[a]=A[t]}),UA=Le&&Le.__exportStar||function(e,A){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(A,t)&&K5(A,e,t)};Object.defineProperty(Le,"__esModule",{value:!0});UA(La(),Le);UA(Zr(),Le);UA(Xr(),Le);UA(ol(),Le);UA(El(),Le);UA(hl(),Le);UA(wl(),Le);UA(Dl(),Le);UA(Nl(),Le);UA(_l(),Le);UA(ql(),Le)});var ie=E((WN,Hl)=>{Hl.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kHeadersList:Symbol("headers list"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size")}});var ee=E((ZN,Ol)=>{"use strict";var Ee=class extends Error{constructor(A){super(A),this.name="UndiciError",this.code="UND_ERR"}},io=class e extends Ee{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="ConnectTimeoutError",this.message=A||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}},so=class e extends Ee{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="HeadersTimeoutError",this.message=A||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}},no=class e extends Ee{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="HeadersOverflowError",this.message=A||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}},oo=class e extends Ee{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="BodyTimeoutError",this.message=A||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}},po=class e extends Ee{constructor(A,t,a,r){super(A),Error.captureStackTrace(this,e),this.name="ResponseStatusCodeError",this.message=A||"Response Status Code Error",this.code="UND_ERR_RESPONSE_STATUS_CODE",this.body=r,this.status=t,this.statusCode=t,this.headers=a}},lo=class e extends Ee{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="InvalidArgumentError",this.message=A||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}},go=class e extends Ee{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="InvalidReturnValueError",this.message=A||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}},co=class e extends Ee{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="AbortError",this.message=A||"Request aborted",this.code="UND_ERR_ABORTED"}},uo=class e extends Ee{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="InformationalError",this.message=A||"Request information",this.code="UND_ERR_INFO"}},Eo=class e extends Ee{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="RequestContentLengthMismatchError",this.message=A||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}},Qo=class e extends Ee{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="ResponseContentLengthMismatchError",this.message=A||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}},mo=class e extends Ee{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="ClientDestroyedError",this.message=A||"The client is destroyed",this.code="UND_ERR_DESTROYED"}},Co=class e extends Ee{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="ClientClosedError",this.message=A||"The client is closed",this.code="UND_ERR_CLOSED"}},Bo=class e extends Ee{constructor(A,t){super(A),Error.captureStackTrace(this,e),this.name="SocketError",this.message=A||"Socket error",this.code="UND_ERR_SOCKET",this.socket=t}},Bi=class e extends Ee{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="NotSupportedError",this.message=A||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}},ho=class extends Ee{constructor(A){super(A),Error.captureStackTrace(this,Bi),this.name="MissingUpstreamError",this.message=A||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}},Io=class e extends Error{constructor(A,t,a){super(A),Error.captureStackTrace(this,e),this.name="HTTPParserError",this.code=t?`HPE_${t}`:void 0,this.data=a?a.toString():void 0}},fo=class e extends Ee{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="ResponseExceededMaxSizeError",this.message=A||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}};Ol.exports={HTTPParserError:Io,UndiciError:Ee,HeadersTimeoutError:so,HeadersOverflowError:no,BodyTimeoutError:oo,RequestContentLengthMismatchError:Eo,ConnectTimeoutError:io,ResponseStatusCodeError:po,InvalidArgumentError:lo,InvalidReturnValueError:go,RequestAbortedError:co,ClientDestroyedError:mo,ClientClosedError:Co,InformationalError:uo,SocketError:Bo,NotSupportedError:Bi,ResponseContentLengthMismatchError:Qo,BalancedPoolMissingUpstreamError:ho,ResponseExceededMaxSizeError:fo}});var q=E((jN,t4)=>{"use strict";var jl=require("assert"),{kDestroyed:Xl,kBodyUsed:Pl}=ie(),{IncomingMessage:$5}=require("http"),Y1=require("stream"),em=require("net"),{InvalidArgumentError:Ue}=ee(),{Blob:Wl}=require("buffer"),Ii=require("util"),{stringify:Am}=require("querystring"),[wo,Zl]=process.versions.node.split(".").map(e=>Number(e));function tm(){}function yo(e){return e&&typeof e=="object"&&typeof e.pipe=="function"&&typeof e.on=="function"}function zl(e){return Wl&&e instanceof Wl||e&&typeof e=="object"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function am(e,A){if(e.includes("?")||e.includes("#"))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let t=Am(A);return t&&(e+="?"+t),e}function Kl(e){if(typeof e=="string"){if(e=new URL(e),!/^https?:/.test(e.origin||e.protocol))throw new Ue("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}if(!e||typeof e!="object")throw new Ue("Invalid URL: The URL argument must be a non-null object.");if(e.port!=null&&e.port!==""&&!Number.isFinite(parseInt(e.port)))throw new Ue("Invalid URL: port must be a valid integer or a string representation of an integer.");if(e.path!=null&&typeof e.path!="string")throw new Ue("Invalid URL path: the path must be a string or null/undefined.");if(e.pathname!=null&&typeof e.pathname!="string")throw new Ue("Invalid URL pathname: the pathname must be a string or null/undefined.");if(e.hostname!=null&&typeof e.hostname!="string")throw new Ue("Invalid URL hostname: the hostname must be a string or null/undefined.");if(e.origin!=null&&typeof e.origin!="string")throw new Ue("Invalid URL origin: the origin must be a string or null/undefined.");if(!/^https?:/.test(e.origin||e.protocol))throw new Ue("Invalid URL protocol: the URL must start with `http:` or `https:`.");if(!(e instanceof URL)){let A=e.port!=null?e.port:e.protocol==="https:"?443:80,t=e.origin!=null?e.origin:`${e.protocol}//${e.hostname}:${A}`,a=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;t.endsWith("/")&&(t=t.substring(0,t.length-1)),a&&!a.startsWith("/")&&(a=`/${a}`),e=new URL(t+a)}return e}function rm(e){if(e=Kl(e),e.pathname!=="/"||e.search||e.hash)throw new Ue("invalid url");return e}function im(e){if(e[0]==="["){let t=e.indexOf("]");return jl(t!==-1),e.substr(1,t-1)}let A=e.indexOf(":");return A===-1?e:e.substr(0,A)}function sm(e){if(!e)return null;jl.strictEqual(typeof e,"string");let A=im(e);return em.isIP(A)?"":A}function nm(e){return JSON.parse(JSON.stringify(e))}function om(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}function dm(e){return e!=null&&(typeof e[Symbol.iterator]=="function"||typeof e[Symbol.asyncIterator]=="function")}function pm(e){if(e==null)return 0;if(yo(e)){let A=e._readableState;return A&&A.ended===!0&&Number.isFinite(A.length)?A.length:null}else{if(zl(e))return e.size!=null?e.size:null;if(e4(e))return e.byteLength}return null}function Do(e){return!e||!!(e.destroyed||e[Xl])}function $l(e){let A=e&&e._readableState;return Do(e)&&A&&!A.endEmitted}function lm(e,A){!yo(e)||Do(e)||(typeof e.destroy=="function"?(Object.getPrototypeOf(e).constructor===$5&&(e.socket=null),e.destroy(A)):A&&process.nextTick((t,a)=>{t.emit("error",a)},e,A),e.destroyed!==!0&&(e[Xl]=!0))}var gm=/timeout=(\d+)/;function cm(e){let A=e.toString().match(gm);return A?parseInt(A[1],10)*1e3:null}function um(e,A={}){for(let t=0;t<e.length;t+=2){let a=e[t].toString().toLowerCase(),r=A[a];r?(Array.isArray(r)||(r=[r],A[a]=r),r.push(e[t+1].toString("utf8"))):Array.isArray(e[t+1])?A[a]=e[t+1]:A[a]=e[t+1].toString("utf8")}return"content-length"in A&&"content-disposition"in A&&(A["content-disposition"]=Buffer.from(A["content-disposition"]).toString("latin1")),A}function Em(e){let A=[],t=!1,a=-1;for(let r=0;r<e.length;r+=2){let i=e[r+0].toString(),s=e[r+1].toString("utf8");i.length===14&&(i==="content-length"||i.toLowerCase()==="content-length")?(A.push(i,s),t=!0):i.length===19&&(i==="content-disposition"||i.toLowerCase()==="content-disposition")?a=A.push(i,s)-1:A.push(i,s)}return t&&a!==-1&&(A[a]=Buffer.from(A[a]).toString("latin1")),A}function e4(e){return e instanceof Uint8Array||Buffer.isBuffer(e)}function Qm(e,A,t){if(!e||typeof e!="object")throw new Ue("handler must be an object");if(typeof e.onConnect!="function")throw new Ue("invalid onConnect method");if(typeof e.onError!="function")throw new Ue("invalid onError method");if(typeof e.onBodySent!="function"&&e.onBodySent!==void 0)throw new Ue("invalid onBodySent method");if(t||A==="CONNECT"){if(typeof e.onUpgrade!="function")throw new Ue("invalid onUpgrade method")}else{if(typeof e.onHeaders!="function")throw new Ue("invalid onHeaders method");if(typeof e.onData!="function")throw new Ue("invalid onData method");if(typeof e.onComplete!="function")throw new Ue("invalid onComplete method")}}function mm(e){return!!(e&&(Y1.isDisturbed?Y1.isDisturbed(e)||e[Pl]:e[Pl]||e.readableDidRead||e._readableState&&e._readableState.dataEmitted||$l(e)))}function Cm(e){return!!(e&&(Y1.isErrored?Y1.isErrored(e):/state: 'errored'/.test(Ii.inspect(e))))}function Bm(e){return!!(e&&(Y1.isReadable?Y1.isReadable(e):/state: 'readable'/.test(Ii.inspect(e))))}function hm(e){return{localAddress:e.localAddress,localPort:e.localPort,remoteAddress:e.remoteAddress,remotePort:e.remotePort,remoteFamily:e.remoteFamily,timeout:e.timeout,bytesWritten:e.bytesWritten,bytesRead:e.bytesRead}}var Za;function Im(e){if(Za||(Za=require("stream/web").ReadableStream),Za.from)return Za.from(e);let A;return new Za({async start(){A=e[Symbol.asyncIterator]()},async pull(t){let{done:a,value:r}=await A.next();if(a)queueMicrotask(()=>{t.close()});else{let i=Buffer.isBuffer(r)?r:Buffer.from(r);t.enqueue(new Uint8Array(i))}return t.desiredSize>0},async cancel(t){await A.return()}},0)}function fm(e){return e&&typeof e=="object"&&typeof e.append=="function"&&typeof e.delete=="function"&&typeof e.get=="function"&&typeof e.getAll=="function"&&typeof e.has=="function"&&typeof e.set=="function"&&e[Symbol.toStringTag]==="FormData"}function wm(e){if(e){if(typeof e.throwIfAborted=="function")e.throwIfAborted();else if(e.aborted){let A=new Error("The operation was aborted");throw A.name="AbortError",A}}}var hi;function ym(e,A){return typeof Symbol.dispose=="symbol"&&(hi||(hi=require("events")),typeof hi.addAbortListener=="function"&&"aborted"in e)?hi.addAbortListener(e,A):"addEventListener"in e?(e.addEventListener("abort",A,{once:!0}),()=>e.removeEventListener("abort",A)):(e.addListener("abort",A),()=>e.removeListener("abort",A))}var Dm=!!String.prototype.toWellFormed;function Rm(e){return Dm?`${e}`.toWellFormed():Ii.toUSVString?Ii.toUSVString(e):`${e}`}var A4=Object.create(null);A4.enumerable=!0;t4.exports={kEnumerableProperty:A4,nop:tm,isDisturbed:mm,isErrored:Cm,isReadable:Bm,toUSVString:Rm,isReadableAborted:$l,isBlobLike:zl,parseOrigin:rm,parseURL:Kl,getServerName:sm,isStream:yo,isIterable:dm,isAsyncIterable:om,isDestroyed:Do,parseRawHeaders:Em,parseHeaders:um,parseKeepAliveTimeout:cm,destroy:lm,bodyLength:pm,deepClone:nm,ReadableStreamFrom:Im,isBuffer:e4,validateHandler:Qm,getSocketInfo:hm,isFormDataLike:fm,buildURL:am,throwIfAborted:wm,addAbortListener:ym,nodeMajor:wo,nodeMinor:Zl,nodeHasAutoSelectFamily:wo>18||wo===18&&Zl>=13}});var i4=E((XN,r4)=>{"use strict";var Ro=Date.now(),Ft,kt=[];function vm(){Ro=Date.now();let e=kt.length,A=0;for(;A<e;){let t=kt[A];t.state===0?t.state=Ro+t.delay:t.state>0&&Ro>=t.state&&(t.state=-1,t.callback(t.opaque)),t.state===-1?(t.state=-2,A!==e-1?kt[A]=kt.pop():kt.pop(),e-=1):A+=1}kt.length>0&&a4()}function a4(){Ft&&Ft.refresh?Ft.refresh():(clearTimeout(Ft),Ft=setTimeout(vm,1e3),Ft.unref&&Ft.unref())}var fi=class{constructor(A,t,a){this.callback=A,this.delay=t,this.opaque=a,this.state=-2,this.refresh()}refresh(){this.state===-2&&(kt.push(this),(!Ft||kt.length===1)&&a4()),this.state=0}clear(){this.state=-1}};r4.exports={setTimeout(e,A,t){return A<1e3?setTimeout(e,A,t):new fi(e,A,t)},clearTimeout(e){e instanceof fi?e.clear():clearTimeout(e)}}});var wi=E((p4,l4)=>{"use strict";function Nm(e){if(e.length===0)return;let A=Object.create(null),t=0;for(;t<e.length;++t){let s=e.charCodeAt(t);if(e1[s]!==1){if(s!==47||t===0)return;break}}if(t===e.length)return;let a=e.slice(0,t).toLowerCase(),r=++t;for(;t<e.length;++t){let s=e.charCodeAt(t);if(e1[s]!==1){if(t===r||Sm(e,t,A)===void 0)return;break}}if(t===r)return;let i=e.slice(r,t).toLowerCase();return{type:a,subtype:i,params:A}}function Sm(e,A,t){for(;A<e.length;){for(;A<e.length;++A){let n=e.charCodeAt(A);if(n!==32&&n!==9)break}if(A===e.length)break;if(e.charCodeAt(A++)!==59)return;for(;A<e.length;++A){let n=e.charCodeAt(A);if(n!==32&&n!==9)break}if(A===e.length)return;let a,r=A;for(;A<e.length;++A){let n=e.charCodeAt(A);if(e1[n]!==1){if(n!==61)return;break}}if(A===e.length||(a=e.slice(r,A),++A,A===e.length))return;let i="",s;if(e.charCodeAt(A)===34){s=++A;let n=!1;for(;A<e.length;++A){let o=e.charCodeAt(A);if(o===92){n?(s=A,n=!1):(i+=e.slice(s,A),n=!0);continue}if(o===34){if(n){s=A,n=!1;continue}i+=e.slice(s,A);break}if(n&&(s=A-1,n=!1),d4[o]!==1)return}if(A===e.length)return;++A}else{for(s=A;A<e.length;++A){let n=e.charCodeAt(A);if(e1[n]!==1){if(A===s)return;break}}i=e.slice(s,A)}a=a.toLowerCase(),t[a]===void 0&&(t[a]=i)}return t}function bm(e,A){if(e.length===0)return;let t=Object.create(null),a=0;for(;a<e.length;++a){let i=e.charCodeAt(a);if(e1[i]!==1){if(Fm(e,a,t,A)===void 0)return;break}}return{type:e.slice(0,a).toLowerCase(),params:t}}function Fm(e,A,t,a){for(;A<e.length;){for(;A<e.length;++A){let d=e.charCodeAt(A);if(d!==32&&d!==9)break}if(A===e.length)break;if(e.charCodeAt(A++)!==59)return;for(;A<e.length;++A){let d=e.charCodeAt(A);if(d!==32&&d!==9)break}if(A===e.length)return;let r,i=A;for(;A<e.length;++A){let d=e.charCodeAt(A);if(e1[d]!==1){if(d===61)break;return}}if(A===e.length)return;let s="",n,o;if(r=e.slice(i,A),r.charCodeAt(r.length-1)===42){let d=++A;for(;A<e.length;++A){let p=e.charCodeAt(A);if(Lm[p]!==1){if(p!==39)return;break}}if(A===e.length)return;for(o=e.slice(d,A),++A;A<e.length&&e.charCodeAt(A)!==39;++A);if(A===e.length||(++A,A===e.length))return;n=A;let l=0;for(;A<e.length;++A){let p=e.charCodeAt(A);if(Um[p]!==1){if(p===37){let g,c;if(A+2<e.length&&(g=s4[e.charCodeAt(A+1)])!==-1&&(c=s4[e.charCodeAt(A+2)])!==-1){let u=(g<<4)+c;s+=e.slice(n,A),s+=String.fromCharCode(u),A+=2,n=A+1,u>=128?l=2:l===0&&(l=1);continue}return}break}}if(s+=e.slice(n,A),s=o4(s,o,l),s===void 0)return}else{if(++A,A===e.length)return;if(e.charCodeAt(A)===34){n=++A;let d=!1;for(;A<e.length;++A){let l=e.charCodeAt(A);if(l===92){d?(n=A,d=!1):(s+=e.slice(n,A),d=!0);continue}if(l===34){if(d){n=A,d=!1;continue}s+=e.slice(n,A);break}if(d&&(n=A-1,d=!1),d4[l]!==1)return}if(A===e.length)return;++A}else{for(n=A;A<e.length;++A){let d=e.charCodeAt(A);if(e1[d]!==1){if(A===n)return;break}}s=e.slice(n,A)}if(s=a(s,2),s===void 0)return}r=r.toLowerCase(),t[r]===void 0&&(t[r]=s)}return t}function n4(e){let A;for(;;)switch(e){case"utf-8":case"utf8":return ja.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return ja.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return ja.utf16le;case"base64":return ja.base64;default:if(A===void 0){A=!0,e=e.toLowerCase();continue}return ja.other.bind(e)}}var ja={utf8:(e,A)=>{if(e.length===0)return"";if(typeof e=="string"){if(A<2)return e;e=Buffer.from(e,"latin1")}return e.utf8Slice(0,e.length)},latin1:(e,A)=>e.length===0?"":typeof e=="string"?e:e.latin1Slice(0,e.length),utf16le:(e,A)=>e.length===0?"":(typeof e=="string"&&(e=Buffer.from(e,"latin1")),e.ucs2Slice(0,e.length)),base64:(e,A)=>e.length===0?"":(typeof e=="string"&&(e=Buffer.from(e,"latin1")),e.base64Slice(0,e.length)),other:(e,A)=>{if(e.length===0)return"";typeof e=="string"&&(e=Buffer.from(e,"latin1"));try{return new TextDecoder(p4).decode(e)}catch{}}};function o4(e,A,t){let a=n4(A);if(a)return a(e,t)}function km(e){if(typeof e!="string")return"";for(let A=e.length-1;A>=0;--A)switch(e.charCodeAt(A)){case 47:case 92:return e=e.slice(A+1),e===".."||e==="."?"":e}return e===".."||e==="."?"":e}var e1=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],d4=[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],Lm=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0,1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],Um=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,1,0,0,0,0,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],s4=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];l4.exports={basename:km,convertToUTF8:o4,getDecoder:n4,parseContentType:Nm,parseDisposition:bm}});var E4=E((zN,u4)=>{"use strict";function g4(e,A,t,a,r){for(let i=0;i<r;++i)if(e[A+i]!==t[a+i])return!1;return!0}var vo=class{constructor(A,t){if(typeof t!="function")throw new Error("Missing match callback");if(typeof A=="string")A=Buffer.from(A);else if(!Buffer.isBuffer(A))throw new Error(`Expected Buffer for needle, got ${typeof A}`);let a=A.length;if(this.maxMatches=1/0,this.matches=0,this._cb=t,this._lookbehindSize=0,this._needle=A,this._bufPos=0,this._lookbehind=Buffer.allocUnsafe(a),this._occ=[a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a],a>1)for(let r=0;r<a-1;++r)this._occ[A[r]]=a-1-r}reset(){this.matches=0,this._lookbehindSize=0,this._bufPos=0}push(A,t){let a;Buffer.isBuffer(A)||(A=Buffer.from(A,"latin1"));let r=A.length;for(this._bufPos=t||0;a!==r&&this.matches<this.maxMatches;)a=Tm(this,A);return a}destroy(){let A=this._lookbehindSize;A&&this._cb(!1,this._lookbehind,0,A,!1),this.reset()}};function Tm(e,A){let t=A.length,a=e._needle,r=a.length,i=-e._lookbehindSize,s=r-1,n=a[s],o=t-r,d=e._occ,l=e._lookbehind;if(i<0){for(;i<0&&i<=o;){let g=i+s,c=g<0?l[e._lookbehindSize+g]:A[g];if(c===n&&c4(e,A,i,s))return e._lookbehindSize=0,++e.matches,i>-e._lookbehindSize?e._cb(!0,l,0,e._lookbehindSize+i,!1):e._cb(!0,void 0,0,0,!0),e._bufPos=i+r;i+=d[c]}for(;i<0&&!c4(e,A,i,t-i);)++i;if(i<0){let g=e._lookbehindSize+i;return g>0&&e._cb(!1,l,0,g,!1),e._lookbehindSize-=g,l.copy(l,0,g,e._lookbehindSize),l.set(A,e._lookbehindSize),e._lookbehindSize+=t,e._bufPos=t,t}e._cb(!1,l,0,e._lookbehindSize,!1),e._lookbehindSize=0}i+=e._bufPos;let p=a[0];for(;i<=o;){let g=A[i+s];if(g===n&&A[i]===p&&g4(a,0,A,i,s))return++e.matches,i>0?e._cb(!0,A,e._bufPos,i,!0):e._cb(!0,void 0,0,0,!0),e._bufPos=i+r;i+=d[g]}for(;i<t;){if(A[i]!==p||!g4(A,i,a,0,t-i)){++i;continue}A.copy(l,0,i,t),e._lookbehindSize=t-i;break}return i>0&&e._cb(!1,A,e._bufPos,i<t?i:t,!0),e._bufPos=t,t}function c4(e,A,t,a){let r=e._lookbehind,i=e._lookbehindSize,s=e._needle;for(let n=0;n<a;++n,++t)if((t<0?r[i+t]:A[t])!==s[n])return!1;return!0}u4.exports=vo});var y4=E((KN,w4)=>{"use strict";var{Readable:Mm,Writable:Vm}=require("stream"),Ym=E4(),{basename:Jm,convertToUTF8:Q4,getDecoder:Gm,parseContentType:xm,parseDisposition:_m}=wi(),qm=Buffer.from(`\r +`),Hm=Buffer.from("\r"),Om=Buffer.from("-");function m4(){}var Pm=2e3,J1=16*1024,yi=0,C4=1,B4=2,No=class{constructor(A){this.header=Object.create(null),this.pairCount=0,this.byteCount=0,this.state=yi,this.name="",this.value="",this.crlf=0,this.cb=A}reset(){this.header=Object.create(null),this.pairCount=0,this.byteCount=0,this.state=yi,this.name="",this.value="",this.crlf=0}push(A,t,a){let r=t;for(;t<a;)switch(this.state){case yi:{let i=!1;for(;t<a;++t){if(this.byteCount===J1)return-1;++this.byteCount;let s=A[t];if(jm[s]!==1){if(s!==58||(this.name+=A.latin1Slice(r,t),this.name.length===0))return-1;++t,i=!0,this.state=C4;break}}if(!i){this.name+=A.latin1Slice(r,t);break}}case C4:{let i=!1;for(;t<a;++t){if(this.byteCount===J1)return-1;++this.byteCount;let s=A[t];if(s!==32&&s!==9){r=t,i=!0,this.state=B4;break}}if(!i)break}case B4:switch(this.crlf){case 0:for(;t<a;++t){if(this.byteCount===J1)return-1;++this.byteCount;let i=A[t];if(Xm[i]!==1){if(i!==13)return-1;++this.crlf;break}}this.value+=A.latin1Slice(r,t++);break;case 1:if(this.byteCount===J1||(++this.byteCount,A[t++]!==10))return-1;++this.crlf;break;case 2:{if(this.byteCount===J1)return-1;++this.byteCount;let i=A[t];i===32||i===9?(r=t,this.crlf=0):(++this.pairCount<Pm&&(this.name=this.name.toLowerCase(),this.header[this.name]===void 0?this.header[this.name]=[this.value]:this.header[this.name].push(this.value)),i===13?(++this.crlf,++t):(r=t,this.crlf=0,this.state=yi,this.name="",this.value=""));break}case 3:{if(this.byteCount===J1||(++this.byteCount,A[t++]!==10))return-1;let i=this.header;return this.reset(),this.cb(i),t}}break}return t}},So=class extends Mm{constructor(A,t){super(A),this.truncated=!1,this._readcb=null,this.once("end",()=>{if(this._read(),--t._fileEndsLeft===0&&t._finalcb){let a=t._finalcb;t._finalcb=null,process.nextTick(a)}})}_read(A){let t=this._readcb;t&&(this._readcb=null,t())}},h4={push:(e,A)=>{},destroy:()=>{}};function Wm(e,A){let t=e._writecb;e._writecb=null,A?e.destroy(A):t&&t()}function Zm(e,A){return e}var bo=class extends Vm{constructor(A){let t={autoDestroy:!0,emitClose:!0,highWaterMark:typeof A.highWaterMark=="number"?A.highWaterMark:void 0};if(super(t),!A.conType.params||typeof A.conType.params.boundary!="string")throw new Error("Multipart: Boundary not found");let a=A.conType.params.boundary,r=typeof A.defParamCharset=="string"&&A.defParamCharset?Gm(A.defParamCharset):Zm,i=A.defCharset||"utf8",s=A.preservePath,n={autoDestroy:!0,emitClose:!0,highWaterMark:typeof A.fileHwm=="number"?A.fileHwm:void 0},o=A.limits,d=o&&typeof o.fieldSize=="number"?o.fieldSize:1*1024*1024,l=o&&typeof o.fileSize=="number"?o.fileSize:1/0,p=o&&typeof o.files=="number"?o.files:1/0,g=o&&typeof o.fields=="number"?o.fields:1/0,c=o&&typeof o.parts=="number"?o.parts:1/0,u=-1,Q=0,C=0,m=!1;this._fileEndsLeft=0,this._fileStream=void 0,this._complete=!1;let B=0,w,I=0,y,S,k,x,we=!1,Ce=!1,yt=!1;this._hparser=null;let be=new No(j=>{this._hparser=null,m=!1,k="text/plain",y=i,S="7bit",x=void 0,we=!1;let re;if(!j["content-disposition"]){m=!0;return}let U=_m(j["content-disposition"][0],r);if(!U||U.type!=="form-data"){m=!0;return}if(U.params&&(U.params.name&&(x=U.params.name),U.params["filename*"]?re=U.params["filename*"]:U.params.filename&&(re=U.params.filename),re!==void 0&&!s&&(re=Jm(re))),j["content-type"]){let T=xm(j["content-type"][0]);T&&(k=`${T.type}/${T.subtype}`,T.params&&typeof T.params.charset=="string"&&(y=T.params.charset.toLowerCase()))}if(j["content-transfer-encoding"]&&(S=j["content-transfer-encoding"][0].toLowerCase()),k==="application/octet-stream"||re!==void 0){if(C===p){Ce||(Ce=!0,this.emit("filesLimit")),m=!0;return}if(++C,this.listenerCount("file")===0){m=!0;return}B=0,this._fileStream=new So(n,this),++this._fileEndsLeft,this.emit("file",x,this._fileStream,{filename:re,encoding:S,mimeType:k})}else{if(Q===g){yt||(yt=!0,this.emit("fieldsLimit")),m=!0;return}if(++Q,this.listenerCount("field")===0){m=!0;return}w=[],I=0}}),le=0,mA=(j,re,U,T,xA)=>{e:for(;re;){if(this._hparser!==null){let W=this._hparser.push(re,U,T);if(W===-1){this._hparser=null,be.reset(),this.emit("error",new Error("Malformed part header"));break}U=W}if(U===T)break;if(le!==0){if(le===1){switch(re[U]){case 45:le=2,++U;break;case 13:le=3,++U;break;default:le=0}if(U===T)return}if(le===2){if(le=0,re[U]===45){this._complete=!0,this._bparser=h4;return}let W=this._writecb;this._writecb=m4,mA(!1,Om,0,1,!1),this._writecb=W}else if(le===3)if(le=0,re[U]===10){if(++U,u>=c||(this._hparser=be,U===T))break;continue e}else{let W=this._writecb;this._writecb=m4,mA(!1,Hm,0,1,!1),this._writecb=W}}if(!m){if(this._fileStream){let W,tA=Math.min(T-U,l-B);xA?W=re.slice(U,U+tA):(W=Buffer.allocUnsafe(tA),re.copy(W,0,U,U+tA)),B+=W.length,B===l?(W.length>0&&this._fileStream.push(W),this._fileStream.emit("limit"),this._fileStream.truncated=!0,m=!0):this._fileStream.push(W)||(this._writecb&&(this._fileStream._readcb=this._writecb),this._writecb=null)}else if(w!==void 0){let W,tA=Math.min(T-U,d-I);xA?W=re.slice(U,U+tA):(W=Buffer.allocUnsafe(tA),re.copy(W,0,U,U+tA)),I+=tA,w.push(W),I===d&&(m=!0,we=!0)}}break}if(j){if(le=1,this._fileStream)this._fileStream.push(null),this._fileStream=null;else if(w!==void 0){let W;switch(w.length){case 0:W="";break;case 1:W=Q4(w[0],y,0);break;default:W=Q4(Buffer.concat(w,I),y,0)}w=void 0,I=0,this.emit("field",x,W,{nameTruncated:!1,valueTruncated:we,encoding:S,mimeType:k})}++u===c&&this.emit("partsLimit")}};this._bparser=new Ym(`\r +--${a}`,mA),this._writecb=null,this._finalcb=null,this.write(qm)}static detect(A){return A.type==="multipart"&&A.subtype==="form-data"}_write(A,t,a){this._writecb=a,this._bparser.push(A,0),this._writecb&&Wm(this)}_destroy(A,t){this._hparser=null,this._bparser=h4,A||(A=f4(this));let a=this._fileStream;a&&(this._fileStream=null,a.destroy(A)),t(A)}_final(A){if(this._bparser.destroy(),!this._complete)return A(new Error("Unexpected end of form"));this._fileEndsLeft?this._finalcb=I4.bind(null,this,A):I4(this,A)}};function I4(e,A,t){if(t)return A(t);t=f4(e),A(t)}function f4(e){if(e._hparser)return new Error("Malformed part header");let A=e._fileStream;if(A&&(e._fileStream=null,A.destroy(new Error("Unexpected end of file"))),!e._complete)return new Error("Unexpected end of form")}var jm=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],Xm=[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];w4.exports=bo});var R4=E(($N,D4)=>{"use strict";var{Writable:zm}=require("stream"),{getDecoder:Km}=wi(),To=class extends zm{constructor(A){let t={autoDestroy:!0,emitClose:!0,highWaterMark:typeof A.highWaterMark=="number"?A.highWaterMark:void 0};super(t);let a=A.defCharset||"utf8";A.conType.params&&typeof A.conType.params.charset=="string"&&(a=A.conType.params.charset),this.charset=a;let r=A.limits;this.fieldSizeLimit=r&&typeof r.fieldSize=="number"?r.fieldSize:1*1024*1024,this.fieldsLimit=r&&typeof r.fields=="number"?r.fields:1/0,this.fieldNameSizeLimit=r&&typeof r.fieldNameSize=="number"?r.fieldNameSize:100,this._inKey=!0,this._keyTrunc=!1,this._valTrunc=!1,this._bytesKey=0,this._bytesVal=0,this._fields=0,this._key="",this._val="",this._byte=-2,this._lastPos=0,this._encode=0,this._decoder=Km(a)}static detect(A){return A.type==="application"&&A.subtype==="x-www-form-urlencoded"}_write(A,t,a){if(this._fields>=this.fieldsLimit)return a();let r=0,i=A.length;if(this._lastPos=0,this._byte!==-2){if(r=Fo(this,A,r,i),r===-1)return a(new Error("Malformed urlencoded form"));if(r>=i)return a();this._inKey?++this._bytesKey:++this._bytesVal}e:for(;r<i;)if(this._inKey){for(r=ko(this,A,r,i);r<i;){switch(A[r]){case 61:this._lastPos<r&&(this._key+=A.latin1Slice(this._lastPos,r)),this._lastPos=++r,this._key=this._decoder(this._key,this._encode),this._encode=0,this._inKey=!1;continue e;case 38:if(this._lastPos<r&&(this._key+=A.latin1Slice(this._lastPos,r)),this._lastPos=++r,this._key=this._decoder(this._key,this._encode),this._encode=0,this._bytesKey>0&&this.emit("field",this._key,"",{nameTruncated:this._keyTrunc,valueTruncated:!1,encoding:this.charset,mimeType:"text/plain"}),this._key="",this._val="",this._keyTrunc=!1,this._valTrunc=!1,this._bytesKey=0,this._bytesVal=0,++this._fields>=this.fieldsLimit)return this.emit("fieldsLimit"),a();continue;case 43:this._lastPos<r&&(this._key+=A.latin1Slice(this._lastPos,r)),this._key+=" ",this._lastPos=r+1;break;case 37:if(this._encode===0&&(this._encode=1),this._lastPos<r&&(this._key+=A.latin1Slice(this._lastPos,r)),this._lastPos=r+1,this._byte=-1,r=Fo(this,A,r+1,i),r===-1)return a(new Error("Malformed urlencoded form"));if(r>=i)return a();++this._bytesKey,r=ko(this,A,r,i);continue}++r,++this._bytesKey,r=ko(this,A,r,i)}this._lastPos<r&&(this._key+=A.latin1Slice(this._lastPos,r))}else{for(r=Lo(this,A,r,i);r<i;){switch(A[r]){case 38:if(this._lastPos<r&&(this._val+=A.latin1Slice(this._lastPos,r)),this._lastPos=++r,this._inKey=!0,this._val=this._decoder(this._val,this._encode),this._encode=0,(this._bytesKey>0||this._bytesVal>0)&&this.emit("field",this._key,this._val,{nameTruncated:this._keyTrunc,valueTruncated:this._valTrunc,encoding:this.charset,mimeType:"text/plain"}),this._key="",this._val="",this._keyTrunc=!1,this._valTrunc=!1,this._bytesKey=0,this._bytesVal=0,++this._fields>=this.fieldsLimit)return this.emit("fieldsLimit"),a();continue e;case 43:this._lastPos<r&&(this._val+=A.latin1Slice(this._lastPos,r)),this._val+=" ",this._lastPos=r+1;break;case 37:if(this._encode===0&&(this._encode=1),this._lastPos<r&&(this._val+=A.latin1Slice(this._lastPos,r)),this._lastPos=r+1,this._byte=-1,r=Fo(this,A,r+1,i),r===-1)return a(new Error("Malformed urlencoded form"));if(r>=i)return a();++this._bytesVal,r=Lo(this,A,r,i);continue}++r,++this._bytesVal,r=Lo(this,A,r,i)}this._lastPos<r&&(this._val+=A.latin1Slice(this._lastPos,r))}a()}_final(A){if(this._byte!==-2)return A(new Error("Malformed urlencoded form"));(!this._inKey||this._bytesKey>0||this._bytesVal>0)&&(this._inKey?this._key=this._decoder(this._key,this._encode):this._val=this._decoder(this._val,this._encode),this.emit("field",this._key,this._val,{nameTruncated:this._keyTrunc,valueTruncated:this._valTrunc,encoding:this.charset,mimeType:"text/plain"})),A()}};function Fo(e,A,t,a){if(t>=a)return a;if(e._byte===-1){let r=Uo[A[t++]];if(r===-1)return-1;if(r>=8&&(e._encode=2),t<a){let i=Uo[A[t++]];if(i===-1)return-1;e._inKey?e._key+=String.fromCharCode((r<<4)+i):e._val+=String.fromCharCode((r<<4)+i),e._byte=-2,e._lastPos=t}else e._byte=r}else{let r=Uo[A[t++]];if(r===-1)return-1;e._inKey?e._key+=String.fromCharCode((e._byte<<4)+r):e._val+=String.fromCharCode((e._byte<<4)+r),e._byte=-2,e._lastPos=t}return t}function ko(e,A,t,a){if(e._bytesKey>e.fieldNameSizeLimit){for(e._keyTrunc||e._lastPos<t&&(e._key+=A.latin1Slice(e._lastPos,t-1)),e._keyTrunc=!0;t<a;++t){let r=A[t];if(r===61||r===38)break;++e._bytesKey}e._lastPos=t}return t}function Lo(e,A,t,a){if(e._bytesVal>e.fieldSizeLimit){for(e._valTrunc||e._lastPos<t&&(e._val+=A.latin1Slice(e._lastPos,t-1)),e._valTrunc=!0;t<a&&A[t]!==38;++t)++e._bytesVal;e._lastPos=t}return t}var Uo=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];D4.exports=To});var N4=E((eS,v4)=>{"use strict";var{parseContentType:$m}=wi();function eC(e){let A=e.headers,t=$m(A["content-type"]);if(!t)throw new Error("Malformed content type");for(let a of AC){if(!a.detect(t))continue;let i={limits:e.limits,headers:A,conType:t,highWaterMark:void 0,fileHwm:void 0,defCharset:void 0,defParamCharset:void 0,preservePath:!1};return e.highWaterMark&&(i.highWaterMark=e.highWaterMark),e.fileHwm&&(i.fileHwm=e.fileHwm),i.defCharset=e.defCharset,i.defParamCharset=e.defParamCharset,i.preservePath=e.preservePath,new a(i)}throw new Error(`Unsupported content type: ${A["content-type"]}`)}var AC=[y4(),R4()].filter(function(e){return typeof e.detect=="function"});v4.exports=e=>{if((typeof e!="object"||e===null)&&(e={}),typeof e.headers!="object"||e.headers===null||typeof e.headers["content-type"]!="string")throw new Error("Missing Content-Type");return eC(e)}});var Lt=E((AS,S4)=>{"use strict";var{MessageChannel:tC,receiveMessageOnPort:aC}=require("worker_threads"),rC=["GET","HEAD","POST"],iC=[101,204,205,304],sC=[301,302,303,307,308],nC=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","5060","5061","6000","6566","6665","6666","6667","6668","6669","6697","10080"],oC=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],dC=["follow","manual","error"],pC=["GET","HEAD","OPTIONS","TRACE"],lC=["navigate","same-origin","no-cors","cors"],gC=["omit","same-origin","include"],cC=["default","no-store","reload","no-cache","force-cache","only-if-cached"],uC=["content-encoding","content-language","content-location","content-type","content-length"],EC=["half"],QC=["CONNECT","TRACE","TRACK"],mC=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],CC=globalThis.DOMException??(()=>{try{atob("~")}catch(e){return Object.getPrototypeOf(e).constructor}})(),G1,BC=globalThis.structuredClone??function(A,t=void 0){if(arguments.length===0)throw new TypeError("missing argument");return G1||(G1=new tC),G1.port1.unref(),G1.port2.unref(),G1.port1.postMessage(A,t?.transfer),aC(G1.port2).message};S4.exports={DOMException:CC,structuredClone:BC,subresource:mC,forbiddenMethods:QC,requestBodyHeader:uC,referrerPolicy:oC,requestRedirect:dC,requestMode:lC,requestCredentials:gC,requestCache:cC,redirectStatus:sC,corsSafeListedMethods:rC,nullBodyStatus:iC,safeMethods:pC,badPorts:nC,requestDuplex:EC}});var Xa=E((tS,b4)=>{"use strict";var Mo=Symbol.for("undici.globalOrigin.1");function hC(){return globalThis[Mo]}function IC(e){if(e!==void 0&&typeof e!="string"&&!(e instanceof URL))throw new Error("Invalid base url");if(e===void 0){Object.defineProperty(globalThis,Mo,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let A=new URL(e);if(A.protocol!=="http:"&&A.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${A.protocol}`);Object.defineProperty(globalThis,Mo,{value:A,writable:!0,enumerable:!1,configurable:!1})}b4.exports={getGlobalOrigin:hC,setGlobalOrigin:IC}});var fA=E((aS,M4)=>{"use strict";var{redirectStatus:fC,badPorts:wC,referrerPolicy:yC}=Lt(),{getGlobalOrigin:DC}=Xa(),{performance:RC}=require("perf_hooks"),{isBlobLike:vC,toUSVString:NC,ReadableStreamFrom:SC}=q(),x1=require("assert"),{isUint8Array:bC}=require("util/types"),Di;try{Di=require("crypto")}catch{}function F4(e){let A=e.urlList,t=A.length;return t===0?null:A[t-1].toString()}function FC(e,A){if(!fC.includes(e.status))return null;let t=e.headersList.get("location");return t!==null&&L4(t)&&(t=new URL(t,F4(e))),t&&!t.hash&&(t.hash=A),t}function Ka(e){return e.urlList[e.urlList.length-1]}function kC(e){let A=Ka(e);return T4(A)&&wC.includes(A.port)?"blocked":"allowed"}function LC(e){return e instanceof Error||e?.constructor?.name==="Error"||e?.constructor?.name==="DOMException"}function UC(e){for(let A=0;A<e.length;++A){let t=e.charCodeAt(A);if(!(t===9||t>=32&&t<=126||t>=128&&t<=255))return!1}return!0}function TC(e){return!(e>=127||e<=32||e==="("||e===")"||e==="<"||e===">"||e==="@"||e===","||e===";"||e===":"||e==="\\"||e==='"'||e==="/"||e==="["||e==="]"||e==="?"||e==="="||e==="{"||e==="}")}function k4(e){if(!e||typeof e!="string")return!1;for(let A=0;A<e.length;++A){let t=e.charCodeAt(A);if(t>127||!TC(t))return!1}return!0}function MC(e){return e.length===0?!1:k4(e)}function L4(e){return!(e.startsWith(" ")||e.startsWith(" ")||e.endsWith(" ")||e.endsWith(" ")||e.includes("\0")||e.includes("\r")||e.includes(` +`))}function VC(e,A){let{headersList:t}=A,a=(t.get("referrer-policy")??"").split(","),r="";if(a.length>0)for(let i=a.length;i!==0;i--){let s=a[i-1].trim();if(yC.includes(s)){r=s;break}}r!==""&&(e.referrerPolicy=r)}function YC(){return"allowed"}function JC(){return"success"}function GC(){return"success"}function xC(e){let A=null;A=e.mode,e.headersList.set("sec-fetch-mode",A)}function _C(e){let A=e.origin;if(e.responseTainting==="cors"||e.mode==="websocket")A&&e.headersList.append("origin",A);else if(e.method!=="GET"&&e.method!=="HEAD"){switch(e.referrerPolicy){case"no-referrer":A=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":e.origin&&Jo(e.origin)&&!Jo(Ka(e))&&(A=null);break;case"same-origin":Ri(e,Ka(e))||(A=null);break;default:}A&&e.headersList.append("origin",A)}}function qC(e){return RC.now()}function HC(e){return{startTime:e.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:e.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function OC(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function PC(e){return{referrerPolicy:e.referrerPolicy}}function WC(e){let A=e.referrerPolicy;x1(A);let t=null;if(e.referrer==="client"){let n=DC();if(!n||n.origin==="null")return"no-referrer";t=new URL(n)}else e.referrer instanceof URL&&(t=e.referrer);let a=Vo(t),r=Vo(t,!0);a.toString().length>4096&&(a=r);let i=Ri(e,a),s=za(a)&&!za(e.url);switch(A){case"origin":return r??Vo(t,!0);case"unsafe-url":return a;case"same-origin":return i?r:"no-referrer";case"origin-when-cross-origin":return i?a:r;case"strict-origin-when-cross-origin":{let n=Ka(e);return Ri(a,n)?a:za(a)&&!za(n)?"no-referrer":r}case"strict-origin":case"no-referrer-when-downgrade":default:return s?"no-referrer":r}}function Vo(e,A){return x1(e instanceof URL),e.protocol==="file:"||e.protocol==="about:"||e.protocol==="blank:"?"no-referrer":(e.username="",e.password="",e.hash="",A&&(e.pathname="",e.search=""),e)}function za(e){if(!(e instanceof URL))return!1;if(e.href==="about:blank"||e.href==="about:srcdoc"||e.protocol==="data:"||e.protocol==="file:")return!0;return A(e.origin);function A(t){if(t==null||t==="null")return!1;let a=new URL(t);return!!(a.protocol==="https:"||a.protocol==="wss:"||/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(a.hostname)||a.hostname==="localhost"||a.hostname.includes("localhost.")||a.hostname.endsWith(".localhost"))}}function ZC(e,A){if(Di===void 0)return!0;let t=XC(A);if(t==="no metadata"||t.length===0)return!0;let a=t.sort((s,n)=>n.algo.localeCompare(s.algo)),r=a[0].algo,i=a.filter(s=>s.algo===r);for(let s of i){let n=s.algo,o=s.hash;if(Di.createHash(n).update(e).digest("base64")===o)return!0}return!1}var jC=/((?<algo>sha256|sha384|sha512)-(?<hash>[A-z0-9+/]{1}.*={0,2}))( +[\x21-\x7e]?)?/i;function XC(e){let A=[],t=!0,a=Di.getHashes();for(let r of e.split(" ")){t=!1;let i=jC.exec(r);if(i===null||i.groups===void 0)continue;let s=i.groups.algo;a.includes(s.toLowerCase())&&A.push(i.groups)}return t===!0?"no metadata":A}function zC(e){}function Ri(e,A){return e.origin===A.origin&&e.origin==="null"||e.protocol===A.protocol&&e.hostname===A.hostname&&e.port===A.port}function KC(){let e,A;return{promise:new Promise((a,r)=>{e=a,A=r}),resolve:e,reject:A}}function $C(e){return e.controller.state==="aborted"}function eB(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}function AB(e){return/^(DELETE|GET|HEAD|OPTIONS|POST|PUT)$/i.test(e)?e.toUpperCase():e}function tB(e){let A=JSON.stringify(e);if(A===void 0)throw new TypeError("Value is not JSON serializable");return x1(typeof A=="string"),A}var aB=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function rB(e,A,t){let a={index:0,kind:t,target:e},r={next(){if(Object.getPrototypeOf(this)!==r)throw new TypeError(`'next' called on an object that does not implement interface ${A} Iterator.`);let{index:i,kind:s,target:n}=a,o=n(),d=o.length;if(i>=d)return{value:void 0,done:!0};let l=o[i];return a.index=i+1,iB(l,s)},[Symbol.toStringTag]:`${A} Iterator`};return Object.setPrototypeOf(r,aB),Object.setPrototypeOf({},r)}function iB(e,A){let t;switch(A){case"key":{t=e[0];break}case"value":{t=e[1];break}case"key+value":{t=e;break}}return{value:t,done:!1}}function sB(e,A,t){let a=s=>queueMicrotask(()=>A(s)),r=s=>queueMicrotask(()=>t(s)),i;try{i=e.stream.getReader()}catch(s){r(s);return}U4(i,a,r)}var Yo=globalThis.ReadableStream;function nB(e){return Yo||(Yo=require("stream/web").ReadableStream),e instanceof Yo||e[Symbol.toStringTag]==="ReadableStream"&&typeof e.tee=="function"}var oB=65535;function dB(e){return e.length<oB?String.fromCharCode(...e):e.reduce((A,t)=>A+String.fromCharCode(t),"")}function pB(e){try{e.close()}catch(A){if(!A.message.includes("Controller is already closed"))throw A}}function lB(e){for(let A=0;A<e.length;A++)x1(e.charCodeAt(A)<=255);return e}async function U4(e,A,t){let a=[],r=0;for(;;){let i,s;try{({done:i,value:s}=await e.read())}catch(n){t(n);return}if(i){A(Buffer.concat(a,r));return}if(!bC(s)){t(new TypeError("Received non-Uint8Array chunk"));return}a.push(s),r+=s.length}}function gB(e){x1("protocol"in e);let A=e.protocol;return A==="about:"||A==="blob:"||A==="data:"}function Jo(e){return typeof e=="string"?e.startsWith("https:"):e.protocol==="https:"}function T4(e){x1("protocol"in e);let A=e.protocol;return A==="http:"||A==="https:"}var cB=Object.hasOwn||((e,A)=>Object.prototype.hasOwnProperty.call(e,A));M4.exports={isAborted:$C,isCancelled:eB,createDeferredPromise:KC,ReadableStreamFrom:SC,toUSVString:NC,tryUpgradeRequestToAPotentiallyTrustworthyURL:zC,coarsenedSharedCurrentTime:qC,determineRequestsReferrer:WC,makePolicyContainer:OC,clonePolicyContainer:PC,appendFetchMetadata:xC,appendRequestOriginHeader:_C,TAOCheck:GC,corsCheck:JC,crossOriginResourcePolicyCheck:YC,createOpaqueTimingInfo:HC,setRequestReferrerPolicyOnRedirect:VC,isValidHTTPToken:k4,requestBadPort:kC,requestCurrentURL:Ka,responseURL:F4,responseLocationURL:FC,isBlobLike:vC,isURLPotentiallyTrustworthy:za,isValidReasonPhrase:UC,sameOrigin:Ri,normalizeMethod:AB,serializeJavascriptValueToJSONString:tB,makeIterator:rB,isValidHeaderName:MC,isValidHeaderValue:L4,hasOwn:cB,isErrorLike:LC,fullyReadBody:sB,bytesMatch:ZC,isReadableStreamLike:nB,readableStreamClose:pB,isomorphicEncode:lB,isomorphicDecode:dB,urlIsLocal:gB,urlHasHttpsScheme:Jo,urlIsHttpHttpsScheme:T4,readAllBytes:U4}});var lt=E((rS,V4)=>{"use strict";V4.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kGuard:Symbol("guard"),kRealm:Symbol("realm")}});var Ge=E((iS,J4)=>{"use strict";var{types:jA}=require("util"),{hasOwn:Y4,toUSVString:uB}=fA(),f={};f.converters={};f.util={};f.errors={};f.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};f.errors.conversionFailed=function(e){let A=e.types.length===1?"":" one of",t=`${e.argument} could not be converted to${A}: ${e.types.join(", ")}.`;return f.errors.exception({header:e.prefix,message:t})};f.errors.invalidArgument=function(e){return f.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};f.brandCheck=function(e,A,t=void 0){if(t?.strict!==!1&&!(e instanceof A))throw new TypeError("Illegal invocation");return e?.[Symbol.toStringTag]===A.prototype[Symbol.toStringTag]};f.argumentLengthCheck=function({length:e},A,t){if(e<A)throw f.errors.exception({message:`${A} argument${A!==1?"s":""} required, but${e?" only":""} ${e} found.`,...t})};f.illegalConstructor=function(){throw f.errors.exception({header:"TypeError",message:"Illegal constructor"})};f.util.Type=function(e){switch(typeof e){case"undefined":return"Undefined";case"boolean":return"Boolean";case"string":return"String";case"symbol":return"Symbol";case"number":return"Number";case"bigint":return"BigInt";case"function":case"object":return e===null?"Null":"Object"}};f.util.ConvertToInt=function(e,A,t,a={}){let r,i;A===64?(r=Math.pow(2,53)-1,t==="unsigned"?i=0:i=Math.pow(-2,53)+1):t==="unsigned"?(i=0,r=Math.pow(2,A)-1):(i=Math.pow(-2,A)-1,r=Math.pow(2,A-1)-1);let s=Number(e);if(s===0&&(s=0),a.enforceRange===!0){if(Number.isNaN(s)||s===Number.POSITIVE_INFINITY||s===Number.NEGATIVE_INFINITY)throw f.errors.exception({header:"Integer conversion",message:`Could not convert ${e} to an integer.`});if(s=f.util.IntegerPart(s),s<i||s>r)throw f.errors.exception({header:"Integer conversion",message:`Value must be between ${i}-${r}, got ${s}.`});return s}return!Number.isNaN(s)&&a.clamp===!0?(s=Math.min(Math.max(s,i),r),Math.floor(s)%2===0?s=Math.floor(s):s=Math.ceil(s),s):Number.isNaN(s)||s===0&&Object.is(0,s)||s===Number.POSITIVE_INFINITY||s===Number.NEGATIVE_INFINITY?0:(s=f.util.IntegerPart(s),s=s%Math.pow(2,A),t==="signed"&&s>=Math.pow(2,A)-1?s-Math.pow(2,A):s)};f.util.IntegerPart=function(e){let A=Math.floor(Math.abs(e));return e<0?-1*A:A};f.sequenceConverter=function(e){return A=>{if(f.util.Type(A)!=="Object")throw f.errors.exception({header:"Sequence",message:`Value of type ${f.util.Type(A)} is not an Object.`});let t=A?.[Symbol.iterator]?.(),a=[];if(t===void 0||typeof t.next!="function")throw f.errors.exception({header:"Sequence",message:"Object is not an iterator."});for(;;){let{done:r,value:i}=t.next();if(r)break;a.push(e(i))}return a}};f.recordConverter=function(e,A){return t=>{if(f.util.Type(t)!=="Object")throw f.errors.exception({header:"Record",message:`Value of type ${f.util.Type(t)} is not an Object.`});let a={};if(!jA.isProxy(t)){let i=Object.keys(t);for(let s of i){let n=e(s),o=A(t[s]);a[n]=o}return a}let r=Reflect.ownKeys(t);for(let i of r)if(Reflect.getOwnPropertyDescriptor(t,i)?.enumerable){let n=e(i),o=A(t[i]);a[n]=o}return a}};f.interfaceConverter=function(e){return(A,t={})=>{if(t.strict!==!1&&!(A instanceof e))throw f.errors.exception({header:e.name,message:`Expected ${A} to be an instance of ${e.name}.`});return A}};f.dictionaryConverter=function(e){return A=>{let t=f.util.Type(A),a={};if(t==="Null"||t==="Undefined")return a;if(t!=="Object")throw f.errors.exception({header:"Dictionary",message:`Expected ${A} to be one of: Null, Undefined, Object.`});for(let r of e){let{key:i,defaultValue:s,required:n,converter:o}=r;if(n===!0&&!Y4(A,i))throw f.errors.exception({header:"Dictionary",message:`Missing required key "${i}".`});let d=A[i],l=Y4(r,"defaultValue");if(l&&d!==null&&(d=d??s),n||l||d!==void 0){if(d=o(d),r.allowedValues&&!r.allowedValues.includes(d))throw f.errors.exception({header:"Dictionary",message:`${d} is not an accepted type. Expected one of ${r.allowedValues.join(", ")}.`});a[i]=d}}return a}};f.nullableConverter=function(e){return A=>A===null?A:e(A)};f.converters.DOMString=function(e,A={}){if(e===null&&A.legacyNullToEmptyString)return"";if(typeof e=="symbol")throw new TypeError("Could not convert argument of type symbol to string.");return String(e)};f.converters.ByteString=function(e){let A=f.converters.DOMString(e);for(let t=0;t<A.length;t++){let a=A.charCodeAt(t);if(a>255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${t} has a value of ${a} which is greater than 255.`)}return A};f.converters.USVString=uB;f.converters.boolean=function(e){return!!e};f.converters.any=function(e){return e};f.converters["long long"]=function(e){return f.util.ConvertToInt(e,64,"signed")};f.converters["unsigned long long"]=function(e){return f.util.ConvertToInt(e,64,"unsigned")};f.converters["unsigned long"]=function(e){return f.util.ConvertToInt(e,32,"unsigned")};f.converters["unsigned short"]=function(e,A){return f.util.ConvertToInt(e,16,"unsigned",A)};f.converters.ArrayBuffer=function(e,A={}){if(f.util.Type(e)!=="Object"||!jA.isAnyArrayBuffer(e))throw f.errors.conversionFailed({prefix:`${e}`,argument:`${e}`,types:["ArrayBuffer"]});if(A.allowShared===!1&&jA.isSharedArrayBuffer(e))throw f.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});return e};f.converters.TypedArray=function(e,A,t={}){if(f.util.Type(e)!=="Object"||!jA.isTypedArray(e)||e.constructor.name!==A.name)throw f.errors.conversionFailed({prefix:`${A.name}`,argument:`${e}`,types:[A.name]});if(t.allowShared===!1&&jA.isSharedArrayBuffer(e.buffer))throw f.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});return e};f.converters.DataView=function(e,A={}){if(f.util.Type(e)!=="Object"||!jA.isDataView(e))throw f.errors.exception({header:"DataView",message:"Object is not a DataView."});if(A.allowShared===!1&&jA.isSharedArrayBuffer(e.buffer))throw f.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});return e};f.converters.BufferSource=function(e,A={}){if(jA.isAnyArrayBuffer(e))return f.converters.ArrayBuffer(e,A);if(jA.isTypedArray(e))return f.converters.TypedArray(e,e.constructor);if(jA.isDataView(e))return f.converters.DataView(e,A);throw new TypeError(`Could not convert ${e} to a BufferSource.`)};f.converters["sequence<ByteString>"]=f.sequenceConverter(f.converters.ByteString);f.converters["sequence<sequence<ByteString>>"]=f.sequenceConverter(f.converters["sequence<ByteString>"]);f.converters["record<ByteString, ByteString>"]=f.recordConverter(f.converters.ByteString,f.converters.ByteString);J4.exports={webidl:f}});var TA=E((sS,O4)=>{var Ni=require("assert"),{atob:EB}=require("buffer"),{isomorphicDecode:QB}=fA(),mB=new TextEncoder,vi=/^[!#$%&'*+-.^_|~A-Za-z0-9]+$/,CB=/(\u000A|\u000D|\u0009|\u0020)/,BB=/[\u0009|\u0020-\u007E|\u0080-\u00FF]/;function hB(e){Ni(e.protocol==="data:");let A=_4(e,!0);A=A.slice(5);let t={position:0},a=_1(",",A,t),r=a.length;if(a=yB(a,!0,!0),t.position>=A.length)return"failure";t.position++;let i=A.slice(r+1),s=q4(i);if(/;(\u0020){0,}base64$/i.test(a)){let o=QB(s);if(s=fB(o),s==="failure")return"failure";a=a.slice(0,-6),a=a.replace(/(\u0020)+$/,""),a=a.slice(0,-1)}a.startsWith(";")&&(a="text/plain"+a);let n=xo(a);return n==="failure"&&(n=xo("text/plain;charset=US-ASCII")),{mimeType:n,body:s}}function _4(e,A=!1){let t=e.href;if(!A)return t;let a=t.lastIndexOf("#");return a===-1?t:t.slice(0,a)}function Si(e,A,t){let a="";for(;t.position<A.length&&e(A[t.position]);)a+=A[t.position],t.position++;return a}function _1(e,A,t){let a=A.indexOf(e,t.position),r=t.position;return a===-1?(t.position=A.length,A.slice(r)):(t.position=a,A.slice(r,t.position))}function q4(e){let A=mB.encode(e);return IB(A)}function IB(e){let A=[];for(let t=0;t<e.length;t++){let a=e[t];if(a!==37)A.push(a);else if(a===37&&!/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(e[t+1],e[t+2])))A.push(37);else{let r=String.fromCharCode(e[t+1],e[t+2]),i=Number.parseInt(r,16);A.push(i),t+=2}}return Uint8Array.from(A)}function xo(e){e=Go(e,!0,!0);let A={position:0},t=_1("/",e,A);if(t.length===0||!vi.test(t)||A.position>e.length)return"failure";A.position++;let a=_1(";",e,A);if(a=Go(a,!1,!0),a.length===0||!vi.test(a))return"failure";let r=t.toLowerCase(),i=a.toLowerCase(),s={type:r,subtype:i,parameters:new Map,essence:`${r}/${i}`};for(;A.position<e.length;){A.position++,Si(d=>CB.test(d),e,A);let n=Si(d=>d!==";"&&d!=="=",e,A);if(n=n.toLowerCase(),A.position<e.length){if(e[A.position]===";")continue;A.position++}if(A.position>e.length)break;let o=null;if(e[A.position]==='"')o=H4(e,A,!0),_1(";",e,A);else if(o=_1(";",e,A),o=Go(o,!1,!0),o.length===0)continue;n.length!==0&&vi.test(n)&&(o.length===0||BB.test(o))&&!s.parameters.has(n)&&s.parameters.set(n,o)}return s}function fB(e){if(e=e.replace(/[\u0009\u000A\u000C\u000D\u0020]/g,""),e.length%4===0&&(e=e.replace(/=?=$/,"")),e.length%4===1||/[^+/0-9A-Za-z]/.test(e))return"failure";let A=EB(e),t=new Uint8Array(A.length);for(let a=0;a<A.length;a++)t[a]=A.charCodeAt(a);return t}function H4(e,A,t){let a=A.position,r="";for(Ni(e[A.position]==='"'),A.position++;r+=Si(s=>s!=='"'&&s!=="\\",e,A),!(A.position>=e.length);){let i=e[A.position];if(A.position++,i==="\\"){if(A.position>=e.length){r+="\\";break}r+=e[A.position],A.position++}else{Ni(i==='"');break}}return t?r:e.slice(a,A.position)}function wB(e){Ni(e!=="failure");let{parameters:A,essence:t}=e,a=t;for(let[r,i]of A.entries())a+=";",a+=r,a+="=",vi.test(i)||(i=i.replace(/(\\|")/g,"\\$1"),i='"'+i,i+='"'),a+=i;return a}function G4(e){return e==="\r"||e===` +`||e===" "||e===" "}function Go(e,A=!0,t=!0){let a=0,r=e.length-1;if(A)for(;a<e.length&&G4(e[a]);a++);if(t)for(;r>0&&G4(e[r]);r--);return e.slice(a,r+1)}function x4(e){return e==="\r"||e===` +`||e===" "||e==="\f"||e===" "}function yB(e,A=!0,t=!0){let a=0,r=e.length-1;if(A)for(;a<e.length&&x4(e[a]);a++);if(t)for(;r>0&&x4(e[r]);r--);return e.slice(a,r+1)}O4.exports={dataURLProcessor:hB,URLSerializer:_4,collectASequenceOfCodePoints:Si,collectASequenceOfCodePointsFast:_1,stringPercentDecode:q4,parseMIMEType:xo,collectAnHTTPQuotedString:H4,serializeAMimeType:wB}});var bi=E((nS,X4)=>{"use strict";var{Blob:Z4,File:P4}=require("buffer"),{types:_o}=require("util"),{kState:iA}=lt(),{isBlobLike:j4}=fA(),{webidl:P}=Ge(),{parseMIMEType:DB,serializeAMimeType:RB}=TA(),{kEnumerableProperty:W4}=q(),$a=class e extends Z4{constructor(A,t,a={}){P.argumentLengthCheck(arguments,2,{header:"File constructor"}),A=P.converters["sequence<BlobPart>"](A),t=P.converters.USVString(t),a=P.converters.FilePropertyBag(a);let r=t,i=a.type,s;e:{if(i){if(i=DB(i),i==="failure"){i="";break e}i=RB(i).toLowerCase()}s=a.lastModified}super(vB(A,a),{type:i}),this[iA]={name:r,lastModified:s,type:i}}get name(){return P.brandCheck(this,e),this[iA].name}get lastModified(){return P.brandCheck(this,e),this[iA].lastModified}get type(){return P.brandCheck(this,e),this[iA].type}},qo=class e{constructor(A,t,a={}){let r=t,i=a.type,s=a.lastModified??Date.now();this[iA]={blobLike:A,name:r,type:i,lastModified:s}}stream(...A){return P.brandCheck(this,e),this[iA].blobLike.stream(...A)}arrayBuffer(...A){return P.brandCheck(this,e),this[iA].blobLike.arrayBuffer(...A)}slice(...A){return P.brandCheck(this,e),this[iA].blobLike.slice(...A)}text(...A){return P.brandCheck(this,e),this[iA].blobLike.text(...A)}get size(){return P.brandCheck(this,e),this[iA].blobLike.size}get type(){return P.brandCheck(this,e),this[iA].blobLike.type}get name(){return P.brandCheck(this,e),this[iA].name}get lastModified(){return P.brandCheck(this,e),this[iA].lastModified}get[Symbol.toStringTag](){return"File"}};Object.defineProperties($a.prototype,{[Symbol.toStringTag]:{value:"File",configurable:!0},name:W4,lastModified:W4});P.converters.Blob=P.interfaceConverter(Z4);P.converters.BlobPart=function(e,A){if(P.util.Type(e)==="Object"){if(j4(e))return P.converters.Blob(e,{strict:!1});if(ArrayBuffer.isView(e)||_o.isAnyArrayBuffer(e))return P.converters.BufferSource(e,A)}return P.converters.USVString(e,A)};P.converters["sequence<BlobPart>"]=P.sequenceConverter(P.converters.BlobPart);P.converters.FilePropertyBag=P.dictionaryConverter([{key:"lastModified",converter:P.converters["long long"],get defaultValue(){return Date.now()}},{key:"type",converter:P.converters.DOMString,defaultValue:""},{key:"endings",converter:e=>(e=P.converters.DOMString(e),e=e.toLowerCase(),e!=="native"&&(e="transparent"),e),defaultValue:"transparent"}]);function vB(e,A){let t=[];for(let a of e)if(typeof a=="string"){let r=a;A.endings==="native"&&(r=NB(r)),t.push(new TextEncoder().encode(r))}else _o.isAnyArrayBuffer(a)||_o.isTypedArray(a)?a.buffer?t.push(new Uint8Array(a.buffer,a.byteOffset,a.byteLength)):t.push(new Uint8Array(a)):j4(a)&&t.push(a);return t}function NB(e){let A=` +`;return process.platform==="win32"&&(A=`\r +`),e.replace(/\r?\n/g,A)}function SB(e){return P4&&e instanceof P4||e instanceof $a||e&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&e[Symbol.toStringTag]==="File"}X4.exports={File:$a,FileLike:qo,isFileLike:SB}});var ki=E((oS,Ag)=>{"use strict";var{isBlobLike:Fi,toUSVString:bB,makeIterator:Ho}=fA(),{kState:Ve}=lt(),{File:eg,FileLike:z4,isFileLike:FB}=bi(),{webidl:Z}=Ge(),{Blob:kB,File:Oo}=require("buffer"),K4=Oo??eg,q1=class e{constructor(A){if(A!==void 0)throw Z.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]});this[Ve]=[]}append(A,t,a=void 0){if(Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,2,{header:"FormData.append"}),arguments.length===3&&!Fi(t))throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'");A=Z.converters.USVString(A),t=Fi(t)?Z.converters.Blob(t,{strict:!1}):Z.converters.USVString(t),a=arguments.length===3?Z.converters.USVString(a):void 0;let r=$4(A,t,a);this[Ve].push(r)}delete(A){Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,{header:"FormData.delete"}),A=Z.converters.USVString(A),this[Ve]=this[Ve].filter(t=>t.name!==A)}get(A){Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,{header:"FormData.get"}),A=Z.converters.USVString(A);let t=this[Ve].findIndex(a=>a.name===A);return t===-1?null:this[Ve][t].value}getAll(A){return Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,{header:"FormData.getAll"}),A=Z.converters.USVString(A),this[Ve].filter(t=>t.name===A).map(t=>t.value)}has(A){return Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,{header:"FormData.has"}),A=Z.converters.USVString(A),this[Ve].findIndex(t=>t.name===A)!==-1}set(A,t,a=void 0){if(Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,2,{header:"FormData.set"}),arguments.length===3&&!Fi(t))throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'");A=Z.converters.USVString(A),t=Fi(t)?Z.converters.Blob(t,{strict:!1}):Z.converters.USVString(t),a=arguments.length===3?bB(a):void 0;let r=$4(A,t,a),i=this[Ve].findIndex(s=>s.name===A);i!==-1?this[Ve]=[...this[Ve].slice(0,i),r,...this[Ve].slice(i+1).filter(s=>s.name!==A)]:this[Ve].push(r)}entries(){return Z.brandCheck(this,e),Ho(()=>this[Ve].map(A=>[A.name,A.value]),"FormData","key+value")}keys(){return Z.brandCheck(this,e),Ho(()=>this[Ve].map(A=>[A.name,A.value]),"FormData","key")}values(){return Z.brandCheck(this,e),Ho(()=>this[Ve].map(A=>[A.name,A.value]),"FormData","value")}forEach(A,t=globalThis){if(Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,{header:"FormData.forEach"}),typeof A!="function")throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.");for(let[a,r]of this)A.apply(t,[r,a,this])}};q1.prototype[Symbol.iterator]=q1.prototype.entries;Object.defineProperties(q1.prototype,{[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function $4(e,A,t){if(e=Buffer.from(e).toString("utf8"),typeof A=="string")A=Buffer.from(A).toString("utf8");else if(FB(A)||(A=A instanceof kB?new K4([A],"blob",{type:A.type}):new z4(A,"blob",{type:A.type})),t!==void 0){let a={type:A.type,lastModified:A.lastModified};A=Oo&&A instanceof Oo||A instanceof eg?new K4([A],t,a):new z4(A,t,a)}return{name:e,value:A}}Ag.exports={FormData:q1}});var er=E((dS,pg)=>{"use strict";var LB=N4(),H1=q(),{ReadableStreamFrom:UB,isBlobLike:tg,isReadableStreamLike:TB,readableStreamClose:MB,createDeferredPromise:VB,fullyReadBody:YB}=fA(),{FormData:ag}=ki(),{kState:ct}=lt(),{webidl:Po}=Ge(),{DOMException:sg,structuredClone:JB}=Lt(),{Blob:GB,File:xB}=require("buffer"),{kBodyUsed:_B}=ie(),Wo=require("assert"),{isErrored:qB}=q(),{isUint8Array:ng,isArrayBuffer:HB}=require("util/types"),{File:OB}=bi(),{parseMIMEType:PB,serializeAMimeType:WB}=TA(),gt=globalThis.ReadableStream,rg=xB??OB;function og(e,A=!1){gt||(gt=require("stream/web").ReadableStream);let t=null;e instanceof gt?t=e:tg(e)?t=e.stream():t=new gt({async pull(o){o.enqueue(typeof r=="string"?new TextEncoder().encode(r):r),queueMicrotask(()=>MB(o))},start(){},type:void 0}),Wo(TB(t));let a=null,r=null,i=null,s=null;if(typeof e=="string")r=e,s="text/plain;charset=UTF-8";else if(e instanceof URLSearchParams)r=e.toString(),s="application/x-www-form-urlencoded;charset=UTF-8";else if(HB(e))r=new Uint8Array(e.slice());else if(ArrayBuffer.isView(e))r=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength));else if(H1.isFormDataLike(e)){let o=`----formdata-undici-0${`${Math.floor(Math.random()*1e11)}`.padStart(11,"0")}`,d=`--${o}\r +Content-Disposition: form-data`;let l=m=>m.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),p=m=>m.replace(/\r?\n|\r/g,`\r +`),g=new TextEncoder,c=[],u=new Uint8Array([13,10]);i=0;let Q=!1;for(let[m,B]of e)if(typeof B=="string"){let w=g.encode(d+`; name="${l(p(m))}"\r +\r +${p(B)}\r +`);c.push(w),i+=w.byteLength}else{let w=g.encode(`${d}; name="${l(p(m))}"`+(B.name?`; filename="${l(B.name)}"`:"")+`\r +Content-Type: ${B.type||"application/octet-stream"}\r +\r +`);c.push(w,B,u),typeof B.size=="number"?i+=w.byteLength+B.size+u.byteLength:Q=!0}let C=g.encode(`--${o}--`);c.push(C),i+=C.byteLength,Q&&(i=null),r=e,a=async function*(){for(let m of c)m.stream?yield*m.stream():yield m},s="multipart/form-data; boundary="+o}else if(tg(e))r=e,i=e.size,e.type&&(s=e.type);else if(typeof e[Symbol.asyncIterator]=="function"){if(A)throw new TypeError("keepalive");if(H1.isDisturbed(e)||e.locked)throw new TypeError("Response body object should not be disturbed or locked");t=e instanceof gt?e:UB(e)}if((typeof r=="string"||H1.isBuffer(r))&&(i=Buffer.byteLength(r)),a!=null){let o;t=new gt({async start(){o=a(e)[Symbol.asyncIterator]()},async pull(d){let{value:l,done:p}=await o.next();return p?queueMicrotask(()=>{d.close()}):qB(t)||d.enqueue(new Uint8Array(l)),d.desiredSize>0},async cancel(d){await o.return()},type:void 0})}return[{stream:t,source:r,length:i},s]}function ZB(e,A=!1){return gt||(gt=require("stream/web").ReadableStream),e instanceof gt&&(Wo(!H1.isDisturbed(e),"The body has already been consumed."),Wo(!e.locked,"The stream is locked.")),og(e,A)}function jB(e){let[A,t]=e.stream.tee(),a=JB(t,{transfer:[t]}),[,r]=a.tee();return e.stream=A,{stream:r,length:e.length,source:e.source}}async function*ig(e){if(e)if(ng(e))yield e;else{let A=e.stream;if(H1.isDisturbed(A))throw new TypeError("The body has already been consumed.");if(A.locked)throw new TypeError("The stream is locked.");A[_B]=!0,yield*A}}function Zo(e){if(e.aborted)throw new sg("The operation was aborted.","AbortError")}function XB(e){return{blob(){return Li(this,t=>{let a=eh(this);return a==="failure"?a="":a&&(a=WB(a)),new GB([t],{type:a})},e)},arrayBuffer(){return Li(this,t=>new Uint8Array(t).buffer,e)},text(){return Li(this,dg,e)},json(){return Li(this,$B,e)},async formData(){Po.brandCheck(this,e),Zo(this[ct]);let t=this.headers.get("Content-Type");if(/multipart\/form-data/.test(t)){let a={};for(let[n,o]of this.headers)a[n.toLowerCase()]=o;let r=new ag,i;try{i=LB({headers:a,defParamCharset:"utf8"})}catch(n){throw new sg(`${n}`,"AbortError")}i.on("field",(n,o)=>{r.append(n,o)}),i.on("file",(n,o,d)=>{let{filename:l,encoding:p,mimeType:g}=d,c=[];if(p==="base64"||p.toLowerCase()==="base64"){let u="";o.on("data",Q=>{u+=Q.toString().replace(/[\r\n]/gm,"");let C=u.length-u.length%4;c.push(Buffer.from(u.slice(0,C),"base64")),u=u.slice(C)}),o.on("end",()=>{c.push(Buffer.from(u,"base64")),r.append(n,new rg(c,l,{type:g}))})}else o.on("data",u=>{c.push(u)}),o.on("end",()=>{r.append(n,new rg(c,l,{type:g}))})});let s=new Promise((n,o)=>{i.on("finish",n),i.on("error",d=>o(new TypeError(d)))});if(this.body!==null)for await(let n of ig(this[ct].body))i.write(n);return i.end(),await s,r}else if(/application\/x-www-form-urlencoded/.test(t)){let a;try{let i="",s=new TextDecoder("utf-8",{ignoreBOM:!0});for await(let n of ig(this[ct].body)){if(!ng(n))throw new TypeError("Expected Uint8Array chunk");i+=s.decode(n,{stream:!0})}i+=s.decode(),a=new URLSearchParams(i)}catch(i){throw Object.assign(new TypeError,{cause:i})}let r=new ag;for(let[i,s]of a)r.append(i,s);return r}else throw await Promise.resolve(),Zo(this[ct]),Po.errors.exception({header:`${e.name}.formData`,message:"Could not parse content as FormData."})}}}function zB(e){Object.assign(e.prototype,XB(e))}async function Li(e,A,t){if(Po.brandCheck(e,t),Zo(e[ct]),KB(e[ct].body))throw new TypeError("Body is unusable");let a=VB(),r=s=>a.reject(s),i=s=>{try{a.resolve(A(s))}catch(n){r(n)}};return e[ct].body==null?(i(new Uint8Array),a.promise):(YB(e[ct].body,i,r),a.promise)}function KB(e){return e!=null&&(e.stream.locked||H1.isDisturbed(e.stream))}function dg(e){return e.length===0?"":(e[0]===239&&e[1]===187&&e[2]===191&&(e=e.subarray(3)),new TextDecoder().decode(e))}function $B(e){return JSON.parse(dg(e))}function eh(e){let{headersList:A}=e[ct],t=A.get("content-type");return t===null?"failure":PB(t)}pg.exports={extractBody:og,safelyExtractBody:ZB,cloneBody:jB,mixinBody:zB}});var ug=E((pS,cg)=>{"use strict";var{InvalidArgumentError:se,NotSupportedError:Ah}=ee(),ut=require("assert"),sA=q(),lg=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/,gg=/[^\t\x20-\x7e\x80-\xff]/,th=/[^\u0021-\u00ff]/,Et=Symbol("handler"),Qe={},jo;try{let e=require("diagnostics_channel");Qe.create=e.channel("undici:request:create"),Qe.bodySent=e.channel("undici:request:bodySent"),Qe.headers=e.channel("undici:request:headers"),Qe.trailers=e.channel("undici:request:trailers"),Qe.error=e.channel("undici:request:error")}catch{Qe.create={hasSubscribers:!1},Qe.bodySent={hasSubscribers:!1},Qe.headers={hasSubscribers:!1},Qe.trailers={hasSubscribers:!1},Qe.error={hasSubscribers:!1}}var Ko=class{constructor(A,{path:t,method:a,body:r,headers:i,query:s,idempotent:n,blocking:o,upgrade:d,headersTimeout:l,bodyTimeout:p,reset:g,throwOnError:c},u){if(typeof t!="string")throw new se("path must be a string");if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&a!=="CONNECT")throw new se("path must be an absolute URL or start with a slash");if(th.exec(t)!==null)throw new se("invalid request path");if(typeof a!="string")throw new se("method must be a string");if(lg.exec(a)===null)throw new se("invalid request method");if(d&&typeof d!="string")throw new se("upgrade must be a string");if(l!=null&&(!Number.isFinite(l)||l<0))throw new se("invalid headersTimeout");if(p!=null&&(!Number.isFinite(p)||p<0))throw new se("invalid bodyTimeout");if(g!=null&&typeof g!="boolean")throw new se("invalid reset");if(this.headersTimeout=l,this.bodyTimeout=p,this.throwOnError=c===!0,this.method=a,r==null)this.body=null;else if(sA.isStream(r))this.body=r;else if(sA.isBuffer(r))this.body=r.byteLength?r:null;else if(ArrayBuffer.isView(r))this.body=r.buffer.byteLength?Buffer.from(r.buffer,r.byteOffset,r.byteLength):null;else if(r instanceof ArrayBuffer)this.body=r.byteLength?Buffer.from(r):null;else if(typeof r=="string")this.body=r.length?Buffer.from(r):null;else if(sA.isFormDataLike(r)||sA.isIterable(r)||sA.isBlobLike(r))this.body=r;else throw new se("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=d||null,this.path=s?sA.buildURL(t,s):t,this.origin=A,this.idempotent=n??(a==="HEAD"||a==="GET"),this.blocking=o??!1,this.reset=g??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers="",Array.isArray(i)){if(i.length%2!==0)throw new se("headers array must be even");for(let Q=0;Q<i.length;Q+=2)zo(this,i[Q],i[Q+1])}else if(i&&typeof i=="object"){let Q=Object.keys(i);for(let C=0;C<Q.length;C++){let m=Q[C];zo(this,m,i[m])}}else if(i!=null)throw new se("headers must be an object or an array");if(sA.isFormDataLike(this.body)){if(sA.nodeMajor<16||sA.nodeMajor===16&&sA.nodeMinor<8)throw new se("Form-Data bodies are only supported in node v16.8 and newer.");jo||(jo=er().extractBody);let[Q,C]=jo(r);this.contentType==null&&(this.contentType=C,this.headers+=`content-type: ${C}\r +`),this.body=Q.stream,this.contentLength=Q.length}else sA.isBlobLike(r)&&this.contentType==null&&r.type&&(this.contentType=r.type,this.headers+=`content-type: ${r.type}\r +`);sA.validateHandler(u,a,d),this.servername=sA.getServerName(this.host),this[Et]=u,Qe.create.hasSubscribers&&Qe.create.publish({request:this})}onBodySent(A){if(this[Et].onBodySent)try{this[Et].onBodySent(A)}catch(t){this.onError(t)}}onRequestSent(){Qe.bodySent.hasSubscribers&&Qe.bodySent.publish({request:this})}onConnect(A){return ut(!this.aborted),ut(!this.completed),this[Et].onConnect(A)}onHeaders(A,t,a,r){return ut(!this.aborted),ut(!this.completed),Qe.headers.hasSubscribers&&Qe.headers.publish({request:this,response:{statusCode:A,headers:t,statusText:r}}),this[Et].onHeaders(A,t,a,r)}onData(A){return ut(!this.aborted),ut(!this.completed),this[Et].onData(A)}onUpgrade(A,t,a){return ut(!this.aborted),ut(!this.completed),this[Et].onUpgrade(A,t,a)}onComplete(A){return ut(!this.aborted),this.completed=!0,Qe.trailers.hasSubscribers&&Qe.trailers.publish({request:this,trailers:A}),this[Et].onComplete(A)}onError(A){if(Qe.error.hasSubscribers&&Qe.error.publish({request:this,error:A}),!this.aborted)return this.aborted=!0,this[Et].onError(A)}addHeader(A,t){return zo(this,A,t),this}};function Xo(e,A){if(A&&typeof A=="object")throw new se(`invalid ${e} header`);if(A=A!=null?`${A}`:"",gg.exec(A)!==null)throw new se(`invalid ${e} header`);return`${e}: ${A}\r +`}function zo(e,A,t){if(t&&typeof t=="object"&&!Array.isArray(t))throw new se(`invalid ${A} header`);if(t===void 0)return;if(e.host===null&&A.length===4&&A.toLowerCase()==="host"){if(gg.exec(t)!==null)throw new se(`invalid ${A} header`);e.host=t}else if(e.contentLength===null&&A.length===14&&A.toLowerCase()==="content-length"){if(e.contentLength=parseInt(t,10),!Number.isFinite(e.contentLength))throw new se("invalid content-length header")}else if(e.contentType===null&&A.length===12&&A.toLowerCase()==="content-type")e.contentType=t,e.headers+=Xo(A,t);else{if(A.length===17&&A.toLowerCase()==="transfer-encoding")throw new se("invalid transfer-encoding header");if(A.length===10&&A.toLowerCase()==="connection"){let a=typeof t=="string"?t.toLowerCase():null;if(a!=="close"&&a!=="keep-alive")throw new se("invalid connection header");a==="close"&&(e.reset=!0)}else{if(A.length===10&&A.toLowerCase()==="keep-alive")throw new se("invalid keep-alive header");if(A.length===7&&A.toLowerCase()==="upgrade")throw new se("invalid upgrade header");if(A.length===6&&A.toLowerCase()==="expect")throw new Ah("expect header not supported");if(lg.exec(A)===null)throw new se("invalid header key");if(Array.isArray(t))for(let a=0;a<t.length;a++)e.headers+=Xo(A,t[a]);else e.headers+=Xo(A,t)}}}cg.exports=Ko});var Ui=E((lS,Eg)=>{"use strict";var ah=require("events"),$o=class extends ah{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}};Eg.exports=$o});var tr=E((gS,Qg)=>{"use strict";var rh=Ui(),{ClientDestroyedError:ed,ClientClosedError:ih,InvalidArgumentError:O1}=ee(),{kDestroy:sh,kClose:nh,kDispatch:Ad,kInterceptors:A1}=ie(),P1=Symbol("destroyed"),Ar=Symbol("closed"),Qt=Symbol("onDestroyed"),W1=Symbol("onClosed"),Ti=Symbol("Intercepted Dispatch"),td=class extends rh{constructor(){super(),this[P1]=!1,this[Qt]=null,this[Ar]=!1,this[W1]=[]}get destroyed(){return this[P1]}get closed(){return this[Ar]}get interceptors(){return this[A1]}set interceptors(A){if(A){for(let t=A.length-1;t>=0;t--)if(typeof this[A1][t]!="function")throw new O1("interceptor must be an function")}this[A1]=A}close(A){if(A===void 0)return new Promise((a,r)=>{this.close((i,s)=>i?r(i):a(s))});if(typeof A!="function")throw new O1("invalid callback");if(this[P1]){queueMicrotask(()=>A(new ed,null));return}if(this[Ar]){this[W1]?this[W1].push(A):queueMicrotask(()=>A(null,null));return}this[Ar]=!0,this[W1].push(A);let t=()=>{let a=this[W1];this[W1]=null;for(let r=0;r<a.length;r++)a[r](null,null)};this[nh]().then(()=>this.destroy()).then(()=>{queueMicrotask(t)})}destroy(A,t){if(typeof A=="function"&&(t=A,A=null),t===void 0)return new Promise((r,i)=>{this.destroy(A,(s,n)=>s?i(s):r(n))});if(typeof t!="function")throw new O1("invalid callback");if(this[P1]){this[Qt]?this[Qt].push(t):queueMicrotask(()=>t(null,null));return}A||(A=new ed),this[P1]=!0,this[Qt]=this[Qt]||[],this[Qt].push(t);let a=()=>{let r=this[Qt];this[Qt]=null;for(let i=0;i<r.length;i++)r[i](null,null)};this[sh](A).then(()=>{queueMicrotask(a)})}[Ti](A,t){if(!this[A1]||this[A1].length===0)return this[Ti]=this[Ad],this[Ad](A,t);let a=this[Ad].bind(this);for(let r=this[A1].length-1;r>=0;r--)a=this[A1][r](a);return this[Ti]=a,a(A,t)}dispatch(A,t){if(!t||typeof t!="object")throw new O1("handler must be an object");try{if(!A||typeof A!="object")throw new O1("opts must be an object.");if(this[P1]||this[Qt])throw new ed;if(this[Ar])throw new ih;return this[Ti](A,t)}catch(a){if(typeof t.onError!="function")throw new O1("invalid onError method");return t.onError(a),!1}}};Qg.exports=td});var ar=E((ES,Bg)=>{"use strict";var oh=require("net"),mg=require("assert"),Cg=q(),{InvalidArgumentError:dh,ConnectTimeoutError:ph}=ee(),ad,rd;global.FinalizationRegistry?rd=class{constructor(A){this._maxCachedSessions=A,this._sessionCache=new Map,this._sessionRegistry=new global.FinalizationRegistry(t=>{if(this._sessionCache.size<this._maxCachedSessions)return;let a=this._sessionCache.get(t);a!==void 0&&a.deref()===void 0&&this._sessionCache.delete(t)})}get(A){let t=this._sessionCache.get(A);return t?t.deref():null}set(A,t){this._maxCachedSessions!==0&&(this._sessionCache.set(A,new WeakRef(t)),this._sessionRegistry.register(t,A))}}:rd=class{constructor(A){this._maxCachedSessions=A,this._sessionCache=new Map}get(A){return this._sessionCache.get(A)}set(A,t){if(this._maxCachedSessions!==0){if(this._sessionCache.size>=this._maxCachedSessions){let{value:a}=this._sessionCache.keys().next();this._sessionCache.delete(a)}this._sessionCache.set(A,t)}}};function lh({maxCachedSessions:e,socketPath:A,timeout:t,...a}){if(e!=null&&(!Number.isInteger(e)||e<0))throw new dh("maxCachedSessions must be a positive integer or zero");let r={path:A,...a},i=new rd(e??100);return t=t??1e4,function({hostname:n,host:o,protocol:d,port:l,servername:p,localAddress:g,httpSocket:c},u){let Q;if(d==="https:"){ad||(ad=require("tls")),p=p||r.servername||Cg.getServerName(o)||null;let m=p||n,B=i.get(m)||null;mg(m),Q=ad.connect({highWaterMark:16384,...r,servername:p,session:B,localAddress:g,socket:c,port:l||443,host:n}),Q.on("session",function(w){i.set(m,w)})}else mg(!c,"httpSocket can only be sent on TLS update"),Q=oh.connect({highWaterMark:64*1024,...r,localAddress:g,port:l||80,host:n});if(r.keepAlive==null||r.keepAlive){let m=r.keepAliveInitialDelay===void 0?6e4:r.keepAliveInitialDelay;Q.setKeepAlive(!0,m)}let C=gh(()=>ch(Q),t);return Q.setNoDelay(!0).once(d==="https:"?"secureConnect":"connect",function(){if(C(),u){let m=u;u=null,m(null,this)}}).on("error",function(m){if(C(),u){let B=u;u=null,B(m)}}),Q}}function gh(e,A){if(!A)return()=>{};let t=null,a=null,r=setTimeout(()=>{t=setImmediate(()=>{process.platform==="win32"?a=setImmediate(()=>e()):e()})},A);return()=>{clearTimeout(r),clearImmediate(t),clearImmediate(a)}}function ch(e){Cg.destroy(e,new ph)}Bg.exports=lh});var hg=E(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.enumToMap=void 0;function uh(e){let A={};return Object.keys(e).forEach(t=>{let a=e[t];typeof a=="number"&&(A[t]=a)}),A}Mi.enumToMap=uh});var Ig=E(h=>{"use strict";Object.defineProperty(h,"__esModule",{value:!0});h.SPECIAL_HEADERS=h.HEADER_STATE=h.MINOR=h.MAJOR=h.CONNECTION_TOKEN_CHARS=h.HEADER_CHARS=h.TOKEN=h.STRICT_TOKEN=h.HEX=h.URL_CHAR=h.STRICT_URL_CHAR=h.USERINFO_CHARS=h.MARK=h.ALPHANUM=h.NUM=h.HEX_MAP=h.NUM_MAP=h.ALPHA=h.FINISH=h.H_METHOD_MAP=h.METHOD_MAP=h.METHODS_RTSP=h.METHODS_ICE=h.METHODS_HTTP=h.METHODS=h.LENIENT_FLAGS=h.FLAGS=h.TYPE=h.ERROR=void 0;var Eh=hg(),Qh;(function(e){e[e.OK=0]="OK",e[e.INTERNAL=1]="INTERNAL",e[e.STRICT=2]="STRICT",e[e.LF_EXPECTED=3]="LF_EXPECTED",e[e.UNEXPECTED_CONTENT_LENGTH=4]="UNEXPECTED_CONTENT_LENGTH",e[e.CLOSED_CONNECTION=5]="CLOSED_CONNECTION",e[e.INVALID_METHOD=6]="INVALID_METHOD",e[e.INVALID_URL=7]="INVALID_URL",e[e.INVALID_CONSTANT=8]="INVALID_CONSTANT",e[e.INVALID_VERSION=9]="INVALID_VERSION",e[e.INVALID_HEADER_TOKEN=10]="INVALID_HEADER_TOKEN",e[e.INVALID_CONTENT_LENGTH=11]="INVALID_CONTENT_LENGTH",e[e.INVALID_CHUNK_SIZE=12]="INVALID_CHUNK_SIZE",e[e.INVALID_STATUS=13]="INVALID_STATUS",e[e.INVALID_EOF_STATE=14]="INVALID_EOF_STATE",e[e.INVALID_TRANSFER_ENCODING=15]="INVALID_TRANSFER_ENCODING",e[e.CB_MESSAGE_BEGIN=16]="CB_MESSAGE_BEGIN",e[e.CB_HEADERS_COMPLETE=17]="CB_HEADERS_COMPLETE",e[e.CB_MESSAGE_COMPLETE=18]="CB_MESSAGE_COMPLETE",e[e.CB_CHUNK_HEADER=19]="CB_CHUNK_HEADER",e[e.CB_CHUNK_COMPLETE=20]="CB_CHUNK_COMPLETE",e[e.PAUSED=21]="PAUSED",e[e.PAUSED_UPGRADE=22]="PAUSED_UPGRADE",e[e.PAUSED_H2_UPGRADE=23]="PAUSED_H2_UPGRADE",e[e.USER=24]="USER"})(Qh=h.ERROR||(h.ERROR={}));var mh;(function(e){e[e.BOTH=0]="BOTH",e[e.REQUEST=1]="REQUEST",e[e.RESPONSE=2]="RESPONSE"})(mh=h.TYPE||(h.TYPE={}));var Ch;(function(e){e[e.CONNECTION_KEEP_ALIVE=1]="CONNECTION_KEEP_ALIVE",e[e.CONNECTION_CLOSE=2]="CONNECTION_CLOSE",e[e.CONNECTION_UPGRADE=4]="CONNECTION_UPGRADE",e[e.CHUNKED=8]="CHUNKED",e[e.UPGRADE=16]="UPGRADE",e[e.CONTENT_LENGTH=32]="CONTENT_LENGTH",e[e.SKIPBODY=64]="SKIPBODY",e[e.TRAILING=128]="TRAILING",e[e.TRANSFER_ENCODING=512]="TRANSFER_ENCODING"})(Ch=h.FLAGS||(h.FLAGS={}));var Bh;(function(e){e[e.HEADERS=1]="HEADERS",e[e.CHUNKED_LENGTH=2]="CHUNKED_LENGTH",e[e.KEEP_ALIVE=4]="KEEP_ALIVE"})(Bh=h.LENIENT_FLAGS||(h.LENIENT_FLAGS={}));var R;(function(e){e[e.DELETE=0]="DELETE",e[e.GET=1]="GET",e[e.HEAD=2]="HEAD",e[e.POST=3]="POST",e[e.PUT=4]="PUT",e[e.CONNECT=5]="CONNECT",e[e.OPTIONS=6]="OPTIONS",e[e.TRACE=7]="TRACE",e[e.COPY=8]="COPY",e[e.LOCK=9]="LOCK",e[e.MKCOL=10]="MKCOL",e[e.MOVE=11]="MOVE",e[e.PROPFIND=12]="PROPFIND",e[e.PROPPATCH=13]="PROPPATCH",e[e.SEARCH=14]="SEARCH",e[e.UNLOCK=15]="UNLOCK",e[e.BIND=16]="BIND",e[e.REBIND=17]="REBIND",e[e.UNBIND=18]="UNBIND",e[e.ACL=19]="ACL",e[e.REPORT=20]="REPORT",e[e.MKACTIVITY=21]="MKACTIVITY",e[e.CHECKOUT=22]="CHECKOUT",e[e.MERGE=23]="MERGE",e[e["M-SEARCH"]=24]="M-SEARCH",e[e.NOTIFY=25]="NOTIFY",e[e.SUBSCRIBE=26]="SUBSCRIBE",e[e.UNSUBSCRIBE=27]="UNSUBSCRIBE",e[e.PATCH=28]="PATCH",e[e.PURGE=29]="PURGE",e[e.MKCALENDAR=30]="MKCALENDAR",e[e.LINK=31]="LINK",e[e.UNLINK=32]="UNLINK",e[e.SOURCE=33]="SOURCE",e[e.PRI=34]="PRI",e[e.DESCRIBE=35]="DESCRIBE",e[e.ANNOUNCE=36]="ANNOUNCE",e[e.SETUP=37]="SETUP",e[e.PLAY=38]="PLAY",e[e.PAUSE=39]="PAUSE",e[e.TEARDOWN=40]="TEARDOWN",e[e.GET_PARAMETER=41]="GET_PARAMETER",e[e.SET_PARAMETER=42]="SET_PARAMETER",e[e.REDIRECT=43]="REDIRECT",e[e.RECORD=44]="RECORD",e[e.FLUSH=45]="FLUSH"})(R=h.METHODS||(h.METHODS={}));h.METHODS_HTTP=[R.DELETE,R.GET,R.HEAD,R.POST,R.PUT,R.CONNECT,R.OPTIONS,R.TRACE,R.COPY,R.LOCK,R.MKCOL,R.MOVE,R.PROPFIND,R.PROPPATCH,R.SEARCH,R.UNLOCK,R.BIND,R.REBIND,R.UNBIND,R.ACL,R.REPORT,R.MKACTIVITY,R.CHECKOUT,R.MERGE,R["M-SEARCH"],R.NOTIFY,R.SUBSCRIBE,R.UNSUBSCRIBE,R.PATCH,R.PURGE,R.MKCALENDAR,R.LINK,R.UNLINK,R.PRI,R.SOURCE];h.METHODS_ICE=[R.SOURCE];h.METHODS_RTSP=[R.OPTIONS,R.DESCRIBE,R.ANNOUNCE,R.SETUP,R.PLAY,R.PAUSE,R.TEARDOWN,R.GET_PARAMETER,R.SET_PARAMETER,R.REDIRECT,R.RECORD,R.FLUSH,R.GET,R.POST];h.METHOD_MAP=Eh.enumToMap(R);h.H_METHOD_MAP={};Object.keys(h.METHOD_MAP).forEach(e=>{/^H/.test(e)&&(h.H_METHOD_MAP[e]=h.METHOD_MAP[e])});var hh;(function(e){e[e.SAFE=0]="SAFE",e[e.SAFE_WITH_CB=1]="SAFE_WITH_CB",e[e.UNSAFE=2]="UNSAFE"})(hh=h.FINISH||(h.FINISH={}));h.ALPHA=[];for(let e=65;e<=90;e++)h.ALPHA.push(String.fromCharCode(e)),h.ALPHA.push(String.fromCharCode(e+32));h.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};h.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};h.NUM=["0","1","2","3","4","5","6","7","8","9"];h.ALPHANUM=h.ALPHA.concat(h.NUM);h.MARK=["-","_",".","!","~","*","'","(",")"];h.USERINFO_CHARS=h.ALPHANUM.concat(h.MARK).concat(["%",";",":","&","=","+","$",","]);h.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(h.ALPHANUM);h.URL_CHAR=h.STRICT_URL_CHAR.concat([" ","\f"]);for(let e=128;e<=255;e++)h.URL_CHAR.push(e);h.HEX=h.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);h.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(h.ALPHANUM);h.TOKEN=h.STRICT_TOKEN.concat([" "]);h.HEADER_CHARS=[" "];for(let e=32;e<=255;e++)e!==127&&h.HEADER_CHARS.push(e);h.CONNECTION_TOKEN_CHARS=h.HEADER_CHARS.filter(e=>e!==44);h.MAJOR=h.NUM_MAP;h.MINOR=h.MAJOR;var Z1;(function(e){e[e.GENERAL=0]="GENERAL",e[e.CONNECTION=1]="CONNECTION",e[e.CONTENT_LENGTH=2]="CONTENT_LENGTH",e[e.TRANSFER_ENCODING=3]="TRANSFER_ENCODING",e[e.UPGRADE=4]="UPGRADE",e[e.CONNECTION_KEEP_ALIVE=5]="CONNECTION_KEEP_ALIVE",e[e.CONNECTION_CLOSE=6]="CONNECTION_CLOSE",e[e.CONNECTION_UPGRADE=7]="CONNECTION_UPGRADE",e[e.TRANSFER_ENCODING_CHUNKED=8]="TRANSFER_ENCODING_CHUNKED"})(Z1=h.HEADER_STATE||(h.HEADER_STATE={}));h.SPECIAL_HEADERS={connection:Z1.CONNECTION,"content-length":Z1.CONTENT_LENGTH,"proxy-connection":Z1.CONNECTION,"transfer-encoding":Z1.TRANSFER_ENCODING,upgrade:Z1.UPGRADE}});var nd=E((CS,yg)=>{"use strict";var j1=q(),{kBodyUsed:rr}=ie(),sd=require("assert"),{InvalidArgumentError:Ih}=ee(),fh=require("events"),wh=[300,301,302,303,307,308],fg=Symbol("body"),Vi=class{constructor(A){this[fg]=A,this[rr]=!1}async*[Symbol.asyncIterator](){sd(!this[rr],"disturbed"),this[rr]=!0,yield*this[fg]}},id=class{constructor(A,t,a,r){if(t!=null&&(!Number.isInteger(t)||t<0))throw new Ih("maxRedirections must be a positive number");j1.validateHandler(r,a.method,a.upgrade),this.dispatch=A,this.location=null,this.abort=null,this.opts={...a,maxRedirections:0},this.maxRedirections=t,this.handler=r,this.history=[],j1.isStream(this.opts.body)?(j1.bodyLength(this.opts.body)===0&&this.opts.body.on("data",function(){sd(!1)}),typeof this.opts.body.readableDidRead!="boolean"&&(this.opts.body[rr]=!1,fh.prototype.on.call(this.opts.body,"data",function(){this[rr]=!0}))):this.opts.body&&typeof this.opts.body.pipeTo=="function"?this.opts.body=new Vi(this.opts.body):this.opts.body&&typeof this.opts.body!="string"&&!ArrayBuffer.isView(this.opts.body)&&j1.isIterable(this.opts.body)&&(this.opts.body=new Vi(this.opts.body))}onConnect(A){this.abort=A,this.handler.onConnect(A,{history:this.history})}onUpgrade(A,t,a){this.handler.onUpgrade(A,t,a)}onError(A){this.handler.onError(A)}onHeaders(A,t,a,r){if(this.location=this.history.length>=this.maxRedirections||j1.isDisturbed(this.opts.body)?null:yh(A,t),this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location)return this.handler.onHeaders(A,t,a,r);let{origin:i,pathname:s,search:n}=j1.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),o=n?`${s}${n}`:s;this.opts.headers=Dh(this.opts.headers,A===303,this.opts.origin!==i),this.opts.path=o,this.opts.origin=i,this.opts.maxRedirections=0,this.opts.query=null,A===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",this.opts.body=null)}onData(A){if(!this.location)return this.handler.onData(A)}onComplete(A){this.location?(this.location=null,this.abort=null,this.dispatch(this.opts,this)):this.handler.onComplete(A)}onBodySent(A){this.handler.onBodySent&&this.handler.onBodySent(A)}};function yh(e,A){if(wh.indexOf(e)===-1)return null;for(let t=0;t<A.length;t+=2)if(A[t].toString().toLowerCase()==="location")return A[t+1]}function wg(e,A,t){return e.length===4&&e.toString().toLowerCase()==="host"||A&&e.toString().toLowerCase().indexOf("content-")===0||t&&e.length===13&&e.toString().toLowerCase()==="authorization"||t&&e.length===6&&e.toString().toLowerCase()==="cookie"}function Dh(e,A,t){let a=[];if(Array.isArray(e))for(let r=0;r<e.length;r+=2)wg(e[r],A,t)||a.push(e[r],e[r+1]);else if(e&&typeof e=="object")for(let r of Object.keys(e))wg(r,A,t)||a.push(r,e[r]);else sd(e==null,"headers must be an object or an array");return a}yg.exports=id});var Yi=E((BS,Dg)=>{"use strict";var Rh=nd();function vh({maxRedirections:e}){return A=>function(a,r){let{maxRedirections:i=e}=a;if(!i)return A(a,r);let s=new Rh(A,i,a,r);return a={...a,maxRedirections:0},A(a,s)}}Dg.exports=vh});var od=E((hS,Rg)=>{Rg.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="});var Ng=E((IS,vg)=>{vg.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="});var pr=E((fS,Wg)=>{"use strict";var D=require("assert"),Fg=require("net"),L=q(),dd=i4(),Nh=ug(),Sh=tr(),{RequestContentLengthMismatchError:t1,ResponseContentLengthMismatchError:bh,InvalidArgumentError:he,RequestAbortedError:kg,HeadersTimeoutError:Fh,HeadersOverflowError:kh,SocketError:qi,InformationalError:a1,BodyTimeoutError:Lh,HTTPParserError:Uh,ResponseExceededMaxSizeError:Th,ClientDestroyedError:Mh}=ee(),Vh=ar(),{kUrl:wA,kReset:xe,kServerName:Ut,kClient:Pi,kBusy:ld,kParser:te,kConnect:Yh,kBlocking:z1,kResuming:r1,kRunning:ue,kPending:K1,kSize:i1,kWriting:mt,kQueue:pe,kConnected:Jh,kConnecting:X1,kNeedDrain:Mt,kNoRef:ir,kKeepAliveDefaultTimeout:gd,kHostHeader:Lg,kPendingIdx:yA,kRunningIdx:ce,kError:oA,kPipelining:Vt,kSocket:nA,kKeepAliveTimeoutValue:or,kMaxHeadersSize:xi,kKeepAliveMaxTimeout:Ug,kKeepAliveTimeoutThreshold:Tg,kHeadersTimeout:Mg,kBodyTimeout:Vg,kStrictContentLength:Hi,kConnector:sr,kMaxRedirections:Gh,kMaxRequests:dr,kCounter:Yg,kClose:xh,kDestroy:_h,kDispatch:qh,kInterceptors:Hh,kLocalAddress:nr,kMaxResponseSize:Jg}=ie(),Ji=Buffer[Symbol.species],Tt=Symbol("kClosedResolve"),Ye={};try{let e=require("diagnostics_channel");Ye.sendHeaders=e.channel("undici:client:sendHeaders"),Ye.beforeConnect=e.channel("undici:client:beforeConnect"),Ye.connectError=e.channel("undici:client:connectError"),Ye.connected=e.channel("undici:client:connected")}catch{Ye.sendHeaders={hasSubscribers:!1},Ye.beforeConnect={hasSubscribers:!1},Ye.connectError={hasSubscribers:!1},Ye.connected={hasSubscribers:!1}}var cd=class extends Sh{constructor(A,{interceptors:t,maxHeaderSize:a,headersTimeout:r,socketTimeout:i,requestTimeout:s,connectTimeout:n,bodyTimeout:o,idleTimeout:d,keepAlive:l,keepAliveTimeout:p,maxKeepAliveTimeout:g,keepAliveMaxTimeout:c,keepAliveTimeoutThreshold:u,socketPath:Q,pipelining:C,tls:m,strictContentLength:B,maxCachedSessions:w,maxRedirections:I,connect:y,maxRequestsPerClient:S,localAddress:k,maxResponseSize:x,autoSelectFamily:we,autoSelectFamilyAttemptTimeout:Ce}={}){if(super(),l!==void 0)throw new he("unsupported keepAlive, use pipelining=0 instead");if(i!==void 0)throw new he("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(s!==void 0)throw new he("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(d!==void 0)throw new he("unsupported idleTimeout, use keepAliveTimeout instead");if(g!==void 0)throw new he("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(a!=null&&!Number.isFinite(a))throw new he("invalid maxHeaderSize");if(Q!=null&&typeof Q!="string")throw new he("invalid socketPath");if(n!=null&&(!Number.isFinite(n)||n<0))throw new he("invalid connectTimeout");if(p!=null&&(!Number.isFinite(p)||p<=0))throw new he("invalid keepAliveTimeout");if(c!=null&&(!Number.isFinite(c)||c<=0))throw new he("invalid keepAliveMaxTimeout");if(u!=null&&!Number.isFinite(u))throw new he("invalid keepAliveTimeoutThreshold");if(r!=null&&(!Number.isInteger(r)||r<0))throw new he("headersTimeout must be a positive integer or zero");if(o!=null&&(!Number.isInteger(o)||o<0))throw new he("bodyTimeout must be a positive integer or zero");if(y!=null&&typeof y!="function"&&typeof y!="object")throw new he("connect must be a function or an object");if(I!=null&&(!Number.isInteger(I)||I<0))throw new he("maxRedirections must be a positive number");if(S!=null&&(!Number.isInteger(S)||S<0))throw new he("maxRequestsPerClient must be a positive number");if(k!=null&&(typeof k!="string"||Fg.isIP(k)===0))throw new he("localAddress must be valid string IP address");if(x!=null&&(!Number.isInteger(x)||x<-1))throw new he("maxResponseSize must be a positive number");if(Ce!=null&&(!Number.isInteger(Ce)||Ce<-1))throw new he("autoSelectFamilyAttemptTimeout must be a positive number");typeof y!="function"&&(y=Vh({...m,maxCachedSessions:w,socketPath:Q,timeout:n,...L.nodeHasAutoSelectFamily&&we?{autoSelectFamily:we,autoSelectFamilyAttemptTimeout:Ce}:void 0,...y})),this[Hh]=t&&t.Client&&Array.isArray(t.Client)?t.Client:[Oh({maxRedirections:I})],this[wA]=L.parseOrigin(A),this[sr]=y,this[nA]=null,this[Vt]=C??1,this[xi]=a||16384,this[gd]=p??4e3,this[Ug]=c??6e5,this[Tg]=u??1e3,this[or]=this[gd],this[Ut]=null,this[nr]=k??null,this[r1]=0,this[Mt]=0,this[Lg]=`host: ${this[wA].hostname}${this[wA].port?`:${this[wA].port}`:""}\r +`,this[Vg]=o??3e5,this[Mg]=r??3e5,this[Hi]=B??!0,this[Gh]=I,this[dr]=S,this[Tt]=null,this[Jg]=x>-1?x:-1,this[pe]=[],this[ce]=0,this[yA]=0}get pipelining(){return this[Vt]}set pipelining(A){this[Vt]=A,DA(this,!0)}get[K1](){return this[pe].length-this[yA]}get[ue](){return this[yA]-this[ce]}get[i1](){return this[pe].length-this[ce]}get[Jh](){return!!this[nA]&&!this[X1]&&!this[nA].destroyed}get[ld](){let A=this[nA];return A&&(A[xe]||A[mt]||A[z1])||this[i1]>=(this[Vt]||1)||this[K1]>0}[Yh](A){Pg(this),this.once("connect",A)}[qh](A,t){let a=A.origin||this[wA].origin,r=new Nh(a,A,t);return this[pe].push(r),this[r1]||(L.bodyLength(r.body)==null&&L.isIterable(r.body)?(this[r1]=1,process.nextTick(DA,this)):DA(this,!0)),this[r1]&&this[Mt]!==2&&this[ld]&&(this[Mt]=2),this[Mt]<2}async[xh](){return new Promise(A=>{this[i1]?this[Tt]=A:A(null)})}async[_h](A){return new Promise(t=>{let a=this[pe].splice(this[yA]);for(let i=0;i<a.length;i++){let s=a[i];$A(this,s,A)}let r=()=>{this[Tt]&&(this[Tt](),this[Tt]=null),t()};this[nA]?L.destroy(this[nA].on("close",r),A):queueMicrotask(r),DA(this)})}},XA=Ig(),Oh=Yi(),Ph=Buffer.alloc(0);async function Wh(){let e=process.env.JEST_WORKER_ID?od():void 0,A;try{A=await WebAssembly.compile(Buffer.from(Ng(),"base64"))}catch{A=await WebAssembly.compile(Buffer.from(e||od(),"base64"))}return await WebAssembly.instantiate(A,{env:{wasm_on_url:(t,a,r)=>0,wasm_on_status:(t,a,r)=>{D.strictEqual(Ie.ptr,t);let i=a-KA+zA.byteOffset;return Ie.onStatus(new Ji(zA.buffer,i,r))||0},wasm_on_message_begin:t=>(D.strictEqual(Ie.ptr,t),Ie.onMessageBegin()||0),wasm_on_header_field:(t,a,r)=>{D.strictEqual(Ie.ptr,t);let i=a-KA+zA.byteOffset;return Ie.onHeaderField(new Ji(zA.buffer,i,r))||0},wasm_on_header_value:(t,a,r)=>{D.strictEqual(Ie.ptr,t);let i=a-KA+zA.byteOffset;return Ie.onHeaderValue(new Ji(zA.buffer,i,r))||0},wasm_on_headers_complete:(t,a,r,i)=>(D.strictEqual(Ie.ptr,t),Ie.onHeadersComplete(a,!!r,!!i)||0),wasm_on_body:(t,a,r)=>{D.strictEqual(Ie.ptr,t);let i=a-KA+zA.byteOffset;return Ie.onBody(new Ji(zA.buffer,i,r))||0},wasm_on_message_complete:t=>(D.strictEqual(Ie.ptr,t),Ie.onMessageComplete()||0)}})}var pd=null,ud=Wh();ud.catch();var Ie=null,zA=null,Gi=0,KA=null,$1=1,_i=2,Ed=3,Qd=class{constructor(A,t,{exports:a}){D(Number.isFinite(A[xi])&&A[xi]>0),this.llhttp=a,this.ptr=this.llhttp.llhttp_alloc(XA.TYPE.RESPONSE),this.client=A,this.socket=t,this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.statusCode=null,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=A[xi],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength="",this.connection="",this.maxResponseSize=A[Jg]}setTimeout(A,t){this.timeoutType=t,A!==this.timeoutValue?(dd.clearTimeout(this.timeout),A?(this.timeout=dd.setTimeout(Zh,A,this),this.timeout.unref&&this.timeout.unref()):this.timeout=null,this.timeoutValue=A):this.timeout&&this.timeout.refresh&&this.timeout.refresh()}resume(){this.socket.destroyed||!this.paused||(D(this.ptr!=null),D(Ie==null),this.llhttp.llhttp_resume(this.ptr),D(this.timeoutType===_i),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||Ph),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let A=this.socket.read();if(A===null)break;this.execute(A)}}execute(A){D(this.ptr!=null),D(Ie==null),D(!this.paused);let{socket:t,llhttp:a}=this;A.length>Gi&&(KA&&a.free(KA),Gi=Math.ceil(A.length/4096)*4096,KA=a.malloc(Gi)),new Uint8Array(a.memory.buffer,KA,Gi).set(A);try{let r;try{zA=A,Ie=this,r=a.llhttp_execute(this.ptr,KA,A.length)}catch(s){throw s}finally{Ie=null,zA=null}let i=a.llhttp_get_error_pos(this.ptr)-KA;if(r===XA.ERROR.PAUSED_UPGRADE)this.onUpgrade(A.slice(i));else if(r===XA.ERROR.PAUSED)this.paused=!0,t.unshift(A.slice(i));else if(r!==XA.ERROR.OK){let s=a.llhttp_get_error_reason(this.ptr),n="";if(s){let o=new Uint8Array(a.memory.buffer,s).indexOf(0);n="Response does not match the HTTP/1.1 protocol ("+Buffer.from(a.memory.buffer,s,o).toString()+")"}throw new Uh(n,XA.ERROR[r],A.slice(i))}}catch(r){L.destroy(t,r)}}destroy(){D(this.ptr!=null),D(Ie==null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,dd.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(A){this.statusText=A.toString()}onMessageBegin(){let{socket:A,client:t}=this;if(A.destroyed||!t[pe][t[ce]])return-1}onHeaderField(A){let t=this.headers.length;(t&1)===0?this.headers.push(A):this.headers[t-1]=Buffer.concat([this.headers[t-1],A]),this.trackHeader(A.length)}onHeaderValue(A){let t=this.headers.length;(t&1)===1?(this.headers.push(A),t+=1):this.headers[t-1]=Buffer.concat([this.headers[t-1],A]);let a=this.headers[t-2];a.length===10&&a.toString().toLowerCase()==="keep-alive"?this.keepAlive+=A.toString():a.length===10&&a.toString().toLowerCase()==="connection"?this.connection+=A.toString():a.length===14&&a.toString().toLowerCase()==="content-length"&&(this.contentLength+=A.toString()),this.trackHeader(A.length)}trackHeader(A){this.headersSize+=A,this.headersSize>=this.headersMaxSize&&L.destroy(this.socket,new kh)}onUpgrade(A){let{upgrade:t,client:a,socket:r,headers:i,statusCode:s}=this;D(t);let n=a[pe][a[ce]];D(n),D(!r.destroyed),D(r===a[nA]),D(!this.paused),D(n.upgrade||n.method==="CONNECT"),this.statusCode=null,this.statusText="",this.shouldKeepAlive=null,D(this.headers.length%2===0),this.headers=[],this.headersSize=0,r.unshift(A),r[te].destroy(),r[te]=null,r[Pi]=null,r[oA]=null,r.removeListener("error",xg).removeListener("readable",Gg).removeListener("end",Hg).removeListener("close",Og),a[nA]=null,a[pe][a[ce]++]=null,a.emit("disconnect",a[wA],[a],new a1("upgrade"));try{n.onUpgrade(s,i,r)}catch(o){L.destroy(r,o)}DA(a)}onHeadersComplete(A,t,a){let{client:r,socket:i,headers:s,statusText:n}=this;if(i.destroyed)return-1;let o=r[pe][r[ce]];if(!o)return-1;if(D(!this.upgrade),D(this.statusCode<200),A===100)return L.destroy(i,new qi("bad response",L.getSocketInfo(i))),-1;if(t&&!o.upgrade)return L.destroy(i,new qi("bad upgrade",L.getSocketInfo(i))),-1;if(D.strictEqual(this.timeoutType,$1),this.statusCode=A,this.shouldKeepAlive=a||o.method==="HEAD"&&!i[xe]&&this.connection.toLowerCase()==="keep-alive",this.statusCode>=200){let l=o.bodyTimeout!=null?o.bodyTimeout:r[Vg];this.setTimeout(l,_i)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(o.method==="CONNECT")return D(r[ue]===1),this.upgrade=!0,2;if(t)return D(r[ue]===1),this.upgrade=!0,2;if(D(this.headers.length%2===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&r[Vt]){let l=this.keepAlive?L.parseKeepAliveTimeout(this.keepAlive):null;if(l!=null){let p=Math.min(l-r[Tg],r[Ug]);p<=0?i[xe]=!0:r[or]=p}else r[or]=r[gd]}else i[xe]=!0;let d;try{d=o.onHeaders(A,s,this.resume,n)===!1}catch(l){return L.destroy(i,l),-1}return o.method==="HEAD"||A<200?1:(i[z1]&&(i[z1]=!1,DA(r)),d?XA.ERROR.PAUSED:0)}onBody(A){let{client:t,socket:a,statusCode:r,maxResponseSize:i}=this;if(a.destroyed)return-1;let s=t[pe][t[ce]];if(D(s),D.strictEqual(this.timeoutType,_i),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),D(r>=200),i>-1&&this.bytesRead+A.length>i)return L.destroy(a,new Th),-1;this.bytesRead+=A.length;try{if(s.onData(A)===!1)return XA.ERROR.PAUSED}catch(n){return L.destroy(a,n),-1}}onMessageComplete(){let{client:A,socket:t,statusCode:a,upgrade:r,headers:i,contentLength:s,bytesRead:n,shouldKeepAlive:o}=this;if(t.destroyed&&(!a||o))return-1;if(r)return;let d=A[pe][A[ce]];if(D(d),D(a>=100),this.statusCode=null,this.statusText="",this.bytesRead=0,this.contentLength="",this.keepAlive="",this.connection="",D(this.headers.length%2===0),this.headers=[],this.headersSize=0,!(a<200)){if(d.method!=="HEAD"&&s&&n!==parseInt(s,10))return L.destroy(t,new bh),-1;try{d.onComplete(i)}catch(l){$A(A,d,l)}if(A[pe][A[ce]++]=null,t[mt])return D.strictEqual(A[ue],0),L.destroy(t,new a1("reset")),XA.ERROR.PAUSED;if(o){if(t[xe]&&A[ue]===0)return L.destroy(t,new a1("reset")),XA.ERROR.PAUSED;A[Vt]===1?setImmediate(DA,A):DA(A)}else return L.destroy(t,new a1("reset")),XA.ERROR.PAUSED}}};function Zh(e){let{socket:A,timeoutType:t,client:a}=e;t===$1?(!A[mt]||A.writableNeedDrain||a[ue]>1)&&(D(!e.paused,"cannot be paused while waiting for headers"),L.destroy(A,new Fh)):t===_i?e.paused||L.destroy(A,new Lh):t===Ed&&(D(a[ue]===0&&a[or]),L.destroy(A,new a1("socket idle timeout")))}function Gg(){let{[te]:e}=this;e.readMore()}function xg(e){let{[te]:A}=this;if(D(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),e.code==="ECONNRESET"&&A.statusCode&&!A.shouldKeepAlive){A.onMessageComplete();return}this[oA]=e,qg(this[Pi],e)}function qg(e,A){if(e[ue]===0&&A.code!=="UND_ERR_INFO"&&A.code!=="UND_ERR_SOCKET"){D(e[yA]===e[ce]);let t=e[pe].splice(e[ce]);for(let a=0;a<t.length;a++){let r=t[a];$A(e,r,A)}D(e[i1]===0)}}function Hg(){let{[te]:e}=this;if(e.statusCode&&!e.shouldKeepAlive){e.onMessageComplete();return}L.destroy(this,new qi("other side closed",L.getSocketInfo(this)))}function Og(){let{[Pi]:e}=this;!this[oA]&&this[te].statusCode&&!this[te].shouldKeepAlive&&this[te].onMessageComplete(),this[te].destroy(),this[te]=null;let A=this[oA]||new qi("closed",L.getSocketInfo(this));if(e[nA]=null,e.destroyed){D(e[K1]===0);let t=e[pe].splice(e[ce]);for(let a=0;a<t.length;a++){let r=t[a];$A(e,r,A)}}else if(e[ue]>0&&A.code!=="UND_ERR_INFO"){let t=e[pe][e[ce]];e[pe][e[ce]++]=null,$A(e,t,A)}e[yA]=e[ce],D(e[ue]===0),e.emit("disconnect",e[wA],[e],A),DA(e)}async function Pg(e){D(!e[X1]),D(!e[nA]);let{host:A,hostname:t,protocol:a,port:r}=e[wA];if(t[0]==="["){let i=t.indexOf("]");D(i!==-1);let s=t.substr(1,i-1);D(Fg.isIP(s)),t=s}e[X1]=!0,Ye.beforeConnect.hasSubscribers&&Ye.beforeConnect.publish({connectParams:{host:A,hostname:t,protocol:a,port:r,servername:e[Ut],localAddress:e[nr]},connector:e[sr]});try{let i=await new Promise((s,n)=>{e[sr]({host:A,hostname:t,protocol:a,port:r,servername:e[Ut],localAddress:e[nr]},(o,d)=>{o?n(o):s(d)})});if(e.destroyed){L.destroy(i.on("error",()=>{}),new Mh);return}pd||(pd=await ud,ud=null),e[X1]=!1,D(i),i[ir]=!1,i[mt]=!1,i[xe]=!1,i[z1]=!1,i[oA]=null,i[te]=new Qd(e,i,pd),i[Pi]=e,i[Yg]=0,i[dr]=e[dr],i.on("error",xg).on("readable",Gg).on("end",Hg).on("close",Og),e[nA]=i,Ye.connected.hasSubscribers&&Ye.connected.publish({connectParams:{host:A,hostname:t,protocol:a,port:r,servername:e[Ut],localAddress:e[nr]},connector:e[sr],socket:i}),e.emit("connect",e[wA],[e])}catch(i){if(e.destroyed)return;if(e[X1]=!1,Ye.connectError.hasSubscribers&&Ye.connectError.publish({connectParams:{host:A,hostname:t,protocol:a,port:r,servername:e[Ut],localAddress:e[nr]},connector:e[sr],error:i}),i.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(D(e[ue]===0);e[K1]>0&&e[pe][e[yA]].servername===e[Ut];){let s=e[pe][e[yA]++];$A(e,s,i)}else qg(e,i);e.emit("connectionError",e[wA],[e],i)}DA(e)}function Sg(e){e[Mt]=0,e.emit("drain",e[wA],[e])}function DA(e,A){e[r1]!==2&&(e[r1]=2,jh(e,A),e[r1]=0,e[ce]>256&&(e[pe].splice(0,e[ce]),e[yA]-=e[ce],e[ce]=0))}function jh(e,A){for(;;){if(e.destroyed){D(e[K1]===0);return}if(e[Tt]&&!e[i1]){e[Tt](),e[Tt]=null;return}let t=e[nA];if(t&&!t.destroyed){if(e[i1]===0?!t[ir]&&t.unref&&(t.unref(),t[ir]=!0):t[ir]&&t.ref&&(t.ref(),t[ir]=!1),e[i1]===0)t[te].timeoutType!==Ed&&t[te].setTimeout(e[or],Ed);else if(e[ue]>0&&t[te].statusCode<200&&t[te].timeoutType!==$1){let r=e[pe][e[ce]],i=r.headersTimeout!=null?r.headersTimeout:e[Mg];t[te].setTimeout(i,$1)}}if(e[ld])e[Mt]=2;else if(e[Mt]===2){A?(e[Mt]=1,process.nextTick(Sg,e)):Sg(e);continue}if(e[K1]===0||e[ue]>=(e[Vt]||1))return;let a=e[pe][e[yA]];if(e[wA].protocol==="https:"&&e[Ut]!==a.servername){if(e[ue]>0)return;if(e[Ut]=a.servername,t&&t.servername!==a.servername){L.destroy(t,new a1("servername changed"));return}}if(e[X1])return;if(!t){Pg(e);return}if(t.destroyed||t[mt]||t[xe]||t[z1]||e[ue]>0&&!a.idempotent||e[ue]>0&&(a.upgrade||a.method==="CONNECT")||(L.isStream(a.body)&&L.bodyLength(a.body)===0&&(a.body.on("data",function(){D(!1)}).on("error",function(r){$A(e,a,r)}).on("end",function(){L.destroy(this)}),a.body=null),e[ue]>0&&(L.isStream(a.body)||L.isAsyncIterable(a.body))))return;!a.aborted&&Xh(e,a)?e[yA]++:e[pe].splice(e[yA],1)}}function Xh(e,A){let{body:t,method:a,path:r,host:i,upgrade:s,headers:n,blocking:o,reset:d}=A,l=a==="PUT"||a==="POST"||a==="PATCH";t&&typeof t.read=="function"&&t.read(0);let p=L.bodyLength(t);if(p===null&&(p=A.contentLength),p===0&&!l&&(p=null),A.contentLength!==null&&A.contentLength!==p){if(e[Hi])return $A(e,A,new t1),!1;process.emitWarning(new t1)}let g=e[nA];try{A.onConnect(u=>{A.aborted||A.completed||($A(e,A,u||new kg),L.destroy(g,new a1("aborted")))})}catch(u){$A(e,A,u)}if(A.aborted)return!1;a==="HEAD"&&(g[xe]=!0),(s||a==="CONNECT")&&(g[xe]=!0),d!=null&&(g[xe]=d),e[dr]&&g[Yg]++>=e[dr]&&(g[xe]=!0),o&&(g[z1]=!0);let c=`${a} ${r} HTTP/1.1\r +`;return typeof i=="string"?c+=`host: ${i}\r +`:c+=e[Lg],s?c+=`connection: upgrade\r +upgrade: ${s}\r +`:e[Vt]&&!g[xe]?c+=`connection: keep-alive\r +`:c+=`connection: close\r +`,n&&(c+=n),Ye.sendHeaders.hasSubscribers&&Ye.sendHeaders.publish({request:A,headers:c,socket:g}),t?L.isBuffer(t)?(D(p===t.byteLength,"buffer body must have content length"),g.cork(),g.write(`${c}content-length: ${p}\r +\r +`,"latin1"),g.write(t),g.uncork(),A.onBodySent(t),A.onRequestSent(),l||(g[xe]=!0)):L.isBlobLike(t)?typeof t.stream=="function"?bg({body:t.stream(),client:e,request:A,socket:g,contentLength:p,header:c,expectsPayload:l}):Kh({body:t,client:e,request:A,socket:g,contentLength:p,header:c,expectsPayload:l}):L.isStream(t)?zh({body:t,client:e,request:A,socket:g,contentLength:p,header:c,expectsPayload:l}):L.isIterable(t)?bg({body:t,client:e,request:A,socket:g,contentLength:p,header:c,expectsPayload:l}):D(!1):(p===0?g.write(`${c}content-length: 0\r +\r +`,"latin1"):(D(p===null,"no body must not have content length"),g.write(`${c}\r +`,"latin1")),A.onRequestSent()),!0}function zh({body:e,client:A,request:t,socket:a,contentLength:r,header:i,expectsPayload:s}){D(r!==0||A[ue]===0,"stream body cannot be pipelined");let n=!1,o=new Oi({socket:a,request:t,contentLength:r,client:A,expectsPayload:s,header:i}),d=function(c){if(!n)try{!o.write(c)&&this.pause&&this.pause()}catch(u){L.destroy(this,u)}},l=function(){n||e.resume&&e.resume()},p=function(){g(new kg)},g=function(c){if(!n){if(n=!0,D(a.destroyed||a[mt]&&A[ue]<=1),a.off("drain",l).off("error",g),e.removeListener("data",d).removeListener("end",g).removeListener("error",g).removeListener("close",p),!c)try{o.end()}catch(u){c=u}o.destroy(c),c&&(c.code!=="UND_ERR_INFO"||c.message!=="reset")?L.destroy(e,c):L.destroy(e)}};e.on("data",d).on("end",g).on("error",g).on("close",p),e.resume&&e.resume(),a.on("drain",l).on("error",g)}async function Kh({body:e,client:A,request:t,socket:a,contentLength:r,header:i,expectsPayload:s}){D(r===e.size,"blob body must have content length");try{if(r!=null&&r!==e.size)throw new t1;let n=Buffer.from(await e.arrayBuffer());a.cork(),a.write(`${i}content-length: ${r}\r +\r +`,"latin1"),a.write(n),a.uncork(),t.onBodySent(n),t.onRequestSent(),s||(a[xe]=!0),DA(A)}catch(n){L.destroy(a,n)}}async function bg({body:e,client:A,request:t,socket:a,contentLength:r,header:i,expectsPayload:s}){D(r!==0||A[ue]===0,"iterator body cannot be pipelined");let n=null;function o(){if(n){let p=n;n=null,p()}}let d=()=>new Promise((p,g)=>{D(n===null),a[oA]?g(a[oA]):n=p});a.on("close",o).on("drain",o);let l=new Oi({socket:a,request:t,contentLength:r,client:A,expectsPayload:s,header:i});try{for await(let p of e){if(a[oA])throw a[oA];l.write(p)||await d()}l.end()}catch(p){l.destroy(p)}finally{a.off("close",o).off("drain",o)}}var Oi=class{constructor({socket:A,request:t,contentLength:a,client:r,expectsPayload:i,header:s}){this.socket=A,this.request=t,this.contentLength=a,this.client=r,this.bytesWritten=0,this.expectsPayload=i,this.header=s,A[mt]=!0}write(A){let{socket:t,request:a,contentLength:r,client:i,bytesWritten:s,expectsPayload:n,header:o}=this;if(t[oA])throw t[oA];if(t.destroyed)return!1;let d=Buffer.byteLength(A);if(!d)return!0;if(r!==null&&s+d>r){if(i[Hi])throw new t1;process.emitWarning(new t1)}t.cork(),s===0&&(n||(t[xe]=!0),r===null?t.write(`${o}transfer-encoding: chunked\r +`,"latin1"):t.write(`${o}content-length: ${r}\r +\r +`,"latin1")),r===null&&t.write(`\r +${d.toString(16)}\r +`,"latin1"),this.bytesWritten+=d;let l=t.write(A);return t.uncork(),a.onBodySent(A),l||t[te].timeout&&t[te].timeoutType===$1&&t[te].timeout.refresh&&t[te].timeout.refresh(),l}end(){let{socket:A,contentLength:t,client:a,bytesWritten:r,expectsPayload:i,header:s,request:n}=this;if(n.onRequestSent(),A[mt]=!1,A[oA])throw A[oA];if(!A.destroyed){if(r===0?i?A.write(`${s}content-length: 0\r +\r +`,"latin1"):A.write(`${s}\r +`,"latin1"):t===null&&A.write(`\r +0\r +\r +`,"latin1"),t!==null&&r!==t){if(a[Hi])throw new t1;process.emitWarning(new t1)}A[te].timeout&&A[te].timeoutType===$1&&A[te].timeout.refresh&&A[te].timeout.refresh(),DA(a)}}destroy(A){let{socket:t,client:a}=this;t[mt]=!1,A&&(D(a[ue]<=1,"pipeline should only contain this request"),L.destroy(t,A))}};function $A(e,A,t){try{A.onError(t),D(A.aborted)}catch(a){e.emit("error",a)}}Wg.exports=cd});var jg=E((yS,Zg)=>{"use strict";var Wi=class{constructor(){this.bottom=0,this.top=0,this.list=new Array(2048),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(A){this.list[this.top]=A,this.top=this.top+1&2047}shift(){let A=this.list[this.bottom];return A===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,A)}};Zg.exports=class{constructor(){this.head=this.tail=new Wi}isEmpty(){return this.head.isEmpty()}push(A){this.head.isFull()&&(this.head=this.head.next=new Wi),this.head.push(A)}shift(){let A=this.tail,t=A.shift();return A.isEmpty()&&A.next!==null&&(this.tail=A.next),t}}});var zg=E((DS,Xg)=>{var{kFree:$h,kConnected:eI,kPending:AI,kQueued:tI,kRunning:aI,kSize:rI}=ie(),s1=Symbol("pool"),md=class{constructor(A){this[s1]=A}get connected(){return this[s1][eI]}get free(){return this[s1][$h]}get pending(){return this[s1][AI]}get queued(){return this[s1][tI]}get running(){return this[s1][aI]}get size(){return this[s1][rI]}};Xg.exports=md});var wd=E((RS,n6)=>{"use strict";var iI=tr(),sI=jg(),{kConnected:Cd,kSize:Kg,kRunning:$g,kPending:e6,kQueued:lr,kBusy:nI,kFree:oI,kUrl:dI,kClose:pI,kDestroy:lI,kDispatch:gI}=ie(),cI=zg(),je=Symbol("clients"),qe=Symbol("needDrain"),gr=Symbol("queue"),Bd=Symbol("closed resolve"),hd=Symbol("onDrain"),A6=Symbol("onConnect"),t6=Symbol("onDisconnect"),a6=Symbol("onConnectionError"),Id=Symbol("get dispatcher"),i6=Symbol("add client"),s6=Symbol("remove client"),r6=Symbol("stats"),fd=class extends iI{constructor(){super(),this[gr]=new sI,this[je]=[],this[lr]=0;let A=this;this[hd]=function(a,r){let i=A[gr],s=!1;for(;!s;){let n=i.shift();if(!n)break;A[lr]--,s=!this.dispatch(n.opts,n.handler)}this[qe]=s,!this[qe]&&A[qe]&&(A[qe]=!1,A.emit("drain",a,[A,...r])),A[Bd]&&i.isEmpty()&&Promise.all(A[je].map(n=>n.close())).then(A[Bd])},this[A6]=(t,a)=>{A.emit("connect",t,[A,...a])},this[t6]=(t,a,r)=>{A.emit("disconnect",t,[A,...a],r)},this[a6]=(t,a,r)=>{A.emit("connectionError",t,[A,...a],r)},this[r6]=new cI(this)}get[nI](){return this[qe]}get[Cd](){return this[je].filter(A=>A[Cd]).length}get[oI](){return this[je].filter(A=>A[Cd]&&!A[qe]).length}get[e6](){let A=this[lr];for(let{[e6]:t}of this[je])A+=t;return A}get[$g](){let A=0;for(let{[$g]:t}of this[je])A+=t;return A}get[Kg](){let A=this[lr];for(let{[Kg]:t}of this[je])A+=t;return A}get stats(){return this[r6]}async[pI](){return this[gr].isEmpty()?Promise.all(this[je].map(A=>A.close())):new Promise(A=>{this[Bd]=A})}async[lI](A){for(;;){let t=this[gr].shift();if(!t)break;t.handler.onError(A)}return Promise.all(this[je].map(t=>t.destroy(A)))}[gI](A,t){let a=this[Id]();return a?a.dispatch(A,t)||(a[qe]=!0,this[qe]=!this[Id]()):(this[qe]=!0,this[gr].push({opts:A,handler:t}),this[lr]++),!this[qe]}[i6](A){return A.on("drain",this[hd]).on("connect",this[A6]).on("disconnect",this[t6]).on("connectionError",this[a6]),this[je].push(A),this[qe]&&process.nextTick(()=>{this[qe]&&this[hd](A[dI],[this,A])}),this}[s6](A){A.close(()=>{let t=this[je].indexOf(A);t!==-1&&this[je].splice(t,1)}),this[qe]=this[je].some(t=>!t[qe]&&t.closed!==!0&&t.destroyed!==!0)}};n6.exports={PoolBase:fd,kClients:je,kNeedDrain:qe,kAddClient:i6,kRemoveClient:s6,kGetDispatcher:Id}});var ea=E((vS,l6)=>{"use strict";var{PoolBase:uI,kClients:o6,kNeedDrain:EI,kAddClient:QI,kGetDispatcher:mI}=wd(),CI=pr(),{InvalidArgumentError:yd}=ee(),Dd=q(),{kUrl:d6,kInterceptors:BI}=ie(),hI=ar(),Rd=Symbol("options"),vd=Symbol("connections"),p6=Symbol("factory");function II(e,A){return new CI(e,A)}var Nd=class extends uI{constructor(A,{connections:t,factory:a=II,connect:r,connectTimeout:i,tls:s,maxCachedSessions:n,socketPath:o,autoSelectFamily:d,autoSelectFamilyAttemptTimeout:l,...p}={}){if(super(),t!=null&&(!Number.isFinite(t)||t<0))throw new yd("invalid connections");if(typeof a!="function")throw new yd("factory must be a function.");if(r!=null&&typeof r!="function"&&typeof r!="object")throw new yd("connect must be a function or an object");typeof r!="function"&&(r=hI({...s,maxCachedSessions:n,socketPath:o,timeout:i??1e4,...Dd.nodeHasAutoSelectFamily&&d?{autoSelectFamily:d,autoSelectFamilyAttemptTimeout:l}:void 0,...r})),this[BI]=p.interceptors&&p.interceptors.Pool&&Array.isArray(p.interceptors.Pool)?p.interceptors.Pool:[],this[vd]=t||null,this[d6]=Dd.parseOrigin(A),this[Rd]={...Dd.deepClone(p),connect:r},this[Rd].interceptors=p.interceptors?{...p.interceptors}:void 0,this[p6]=a}[mI](){let A=this[o6].find(t=>!t[EI]);return A||((!this[vd]||this[o6].length<this[vd])&&(A=this[p6](this[d6],this[Rd]),this[QI](A)),A)}};l6.exports=Nd});var m6=E((NS,Q6)=>{"use strict";var{BalancedPoolMissingUpstreamError:fI,InvalidArgumentError:wI}=ee(),{PoolBase:yI,kClients:He,kNeedDrain:cr,kAddClient:DI,kRemoveClient:RI,kGetDispatcher:vI}=wd(),NI=ea(),{kUrl:Sd,kInterceptors:SI}=ie(),{parseOrigin:g6}=q(),c6=Symbol("factory"),Zi=Symbol("options"),u6=Symbol("kGreatestCommonDivisor"),n1=Symbol("kCurrentWeight"),o1=Symbol("kIndex"),RA=Symbol("kWeight"),ji=Symbol("kMaxWeightPerServer"),Xi=Symbol("kErrorPenalty");function E6(e,A){return A===0?e:E6(A,e%A)}function bI(e,A){return new NI(e,A)}var bd=class extends yI{constructor(A=[],{factory:t=bI,...a}={}){if(super(),this[Zi]=a,this[o1]=-1,this[n1]=0,this[ji]=this[Zi].maxWeightPerServer||100,this[Xi]=this[Zi].errorPenalty||15,Array.isArray(A)||(A=[A]),typeof t!="function")throw new wI("factory must be a function.");this[SI]=a.interceptors&&a.interceptors.BalancedPool&&Array.isArray(a.interceptors.BalancedPool)?a.interceptors.BalancedPool:[],this[c6]=t;for(let r of A)this.addUpstream(r);this._updateBalancedPoolStats()}addUpstream(A){let t=g6(A).origin;if(this[He].find(r=>r[Sd].origin===t&&r.closed!==!0&&r.destroyed!==!0))return this;let a=this[c6](t,Object.assign({},this[Zi]));this[DI](a),a.on("connect",()=>{a[RA]=Math.min(this[ji],a[RA]+this[Xi])}),a.on("connectionError",()=>{a[RA]=Math.max(1,a[RA]-this[Xi]),this._updateBalancedPoolStats()}),a.on("disconnect",(...r)=>{let i=r[2];i&&i.code==="UND_ERR_SOCKET"&&(a[RA]=Math.max(1,a[RA]-this[Xi]),this._updateBalancedPoolStats())});for(let r of this[He])r[RA]=this[ji];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){this[u6]=this[He].map(A=>A[RA]).reduce(E6,0)}removeUpstream(A){let t=g6(A).origin,a=this[He].find(r=>r[Sd].origin===t&&r.closed!==!0&&r.destroyed!==!0);return a&&this[RI](a),this}get upstreams(){return this[He].filter(A=>A.closed!==!0&&A.destroyed!==!0).map(A=>A[Sd].origin)}[vI](){if(this[He].length===0)throw new fI;if(!this[He].find(i=>!i[cr]&&i.closed!==!0&&i.destroyed!==!0)||this[He].map(i=>i[cr]).reduce((i,s)=>i&&s,!0))return;let a=0,r=this[He].findIndex(i=>!i[cr]);for(;a++<this[He].length;){this[o1]=(this[o1]+1)%this[He].length;let i=this[He][this[o1]];if(i[RA]>this[He][r][RA]&&!i[cr]&&(r=this[o1]),this[o1]===0&&(this[n1]=this[n1]-this[u6],this[n1]<=0&&(this[n1]=this[ji])),i[RA]>=this[n1]&&!i[cr])return i}return this[n1]=this[He][r][RA],this[o1]=r,this[He][r]}};Q6.exports=bd});var Ld=E((SS,h6)=>{"use strict";var{kConnected:C6,kSize:B6}=ie(),Fd=class{constructor(A){this.value=A}deref(){return this.value[C6]===0&&this.value[B6]===0?void 0:this.value}},kd=class{constructor(A){this.finalizer=A}register(A,t){A.on("disconnect",()=>{A[C6]===0&&A[B6]===0&&this.finalizer(t)})}};h6.exports=function(){return{WeakRef:global.WeakRef||Fd,FinalizationRegistry:global.FinalizationRegistry||kd}}});var ur=E((bS,N6)=>{"use strict";var{InvalidArgumentError:zi}=ee(),{kClients:Yt,kRunning:I6,kClose:FI,kDestroy:kI,kDispatch:LI,kInterceptors:UI}=ie(),TI=tr(),MI=ea(),VI=pr(),YI=q(),JI=Yi(),{WeakRef:GI,FinalizationRegistry:xI}=Ld()(),f6=Symbol("onConnect"),w6=Symbol("onDisconnect"),y6=Symbol("onConnectionError"),_I=Symbol("maxRedirections"),D6=Symbol("onDrain"),R6=Symbol("factory"),v6=Symbol("finalizer"),Ud=Symbol("options");function qI(e,A){return A&&A.connections===1?new VI(e,A):new MI(e,A)}var Td=class extends TI{constructor({factory:A=qI,maxRedirections:t=0,connect:a,...r}={}){if(super(),typeof A!="function")throw new zi("factory must be a function.");if(a!=null&&typeof a!="function"&&typeof a!="object")throw new zi("connect must be a function or an object");if(!Number.isInteger(t)||t<0)throw new zi("maxRedirections must be a positive number");a&&typeof a!="function"&&(a={...a}),this[UI]=r.interceptors&&r.interceptors.Agent&&Array.isArray(r.interceptors.Agent)?r.interceptors.Agent:[JI({maxRedirections:t})],this[Ud]={...YI.deepClone(r),connect:a},this[Ud].interceptors=r.interceptors?{...r.interceptors}:void 0,this[_I]=t,this[R6]=A,this[Yt]=new Map,this[v6]=new xI(s=>{let n=this[Yt].get(s);n!==void 0&&n.deref()===void 0&&this[Yt].delete(s)});let i=this;this[D6]=(s,n)=>{i.emit("drain",s,[i,...n])},this[f6]=(s,n)=>{i.emit("connect",s,[i,...n])},this[w6]=(s,n,o)=>{i.emit("disconnect",s,[i,...n],o)},this[y6]=(s,n,o)=>{i.emit("connectionError",s,[i,...n],o)}}get[I6](){let A=0;for(let t of this[Yt].values()){let a=t.deref();a&&(A+=a[I6])}return A}[LI](A,t){let a;if(A.origin&&(typeof A.origin=="string"||A.origin instanceof URL))a=String(A.origin);else throw new zi("opts.origin must be a non-empty string or URL.");let r=this[Yt].get(a),i=r?r.deref():null;return i||(i=this[R6](A.origin,this[Ud]).on("drain",this[D6]).on("connect",this[f6]).on("disconnect",this[w6]).on("connectionError",this[y6]),this[Yt].set(a,new GI(i)),this[v6].register(i,a)),i.dispatch(A,t)}async[FI](){let A=[];for(let t of this[Yt].values()){let a=t.deref();a&&A.push(a.close())}await Promise.all(A)}async[kI](A){let t=[];for(let a of this[Yt].values()){let r=a.deref();r&&t.push(r.destroy(A))}await Promise.all(t)}};N6.exports=Td});var M6=E((kS,T6)=>{"use strict";var F6=require("assert"),{Readable:HI}=require("stream"),{RequestAbortedError:k6,NotSupportedError:OI,InvalidArgumentError:PI}=ee(),Aa=q(),{ReadableStreamFrom:WI,toUSVString:ZI}=q(),Md,dA=Symbol("kConsume"),Ki=Symbol("kReading"),Jt=Symbol("kBody"),S6=Symbol("abort"),L6=Symbol("kContentType");T6.exports=class extends HI{constructor({resume:A,abort:t,contentType:a="",highWaterMark:r=64*1024}){super({autoDestroy:!0,read:A,highWaterMark:r}),this._readableState.dataEmitted=!1,this[S6]=t,this[dA]=null,this[Jt]=null,this[L6]=a,this[Ki]=!1}destroy(A){return this.destroyed?this:(!A&&!this._readableState.endEmitted&&(A=new k6),A&&this[S6](),super.destroy(A))}emit(A,...t){return A==="data"?this._readableState.dataEmitted=!0:A==="error"&&(this._readableState.errorEmitted=!0),super.emit(A,...t)}on(A,...t){return(A==="data"||A==="readable")&&(this[Ki]=!0),super.on(A,...t)}addListener(A,...t){return this.on(A,...t)}off(A,...t){let a=super.off(A,...t);return(A==="data"||A==="readable")&&(this[Ki]=this.listenerCount("data")>0||this.listenerCount("readable")>0),a}removeListener(A,...t){return this.off(A,...t)}push(A){return this[dA]&&A!==null&&this.readableLength===0?(U6(this[dA],A),this[Ki]?super.push(A):!0):super.push(A)}async text(){return $i(this,"text")}async json(){return $i(this,"json")}async blob(){return $i(this,"blob")}async arrayBuffer(){return $i(this,"arrayBuffer")}async formData(){throw new OI}get bodyUsed(){return Aa.isDisturbed(this)}get body(){return this[Jt]||(this[Jt]=WI(this),this[dA]&&(this[Jt].getReader(),F6(this[Jt].locked))),this[Jt]}async dump(A){let t=A&&Number.isFinite(A.limit)?A.limit:262144,a=A&&A.signal,r=()=>{this.destroy()},i;if(a){if(typeof a!="object"||!("aborted"in a))throw new PI("signal must be an AbortSignal");Aa.throwIfAborted(a),i=Aa.addAbortListener(a,r)}try{for await(let s of this)if(Aa.throwIfAborted(a),t-=Buffer.byteLength(s),t<0)return}catch{Aa.throwIfAborted(a)}finally{typeof i=="function"?i():i&&i[Symbol.dispose]()}}};function jI(e){return e[Jt]&&e[Jt].locked===!0||e[dA]}function XI(e){return Aa.isDisturbed(e)||jI(e)}async function $i(e,A){if(XI(e))throw new TypeError("unusable");return F6(!e[dA]),new Promise((t,a)=>{e[dA]={type:A,stream:e,resolve:t,reject:a,length:0,body:[]},e.on("error",function(r){Vd(this[dA],r)}).on("close",function(){this[dA].body!==null&&Vd(this[dA],new k6)}),process.nextTick(zI,e[dA])})}function zI(e){if(e.body===null)return;let{_readableState:A}=e.stream;for(let t of A.buffer)U6(e,t);for(A.endEmitted?b6(this[dA]):e.stream.on("end",function(){b6(this[dA])}),e.stream.resume();e.stream.read()!=null;);}function b6(e){let{type:A,body:t,resolve:a,stream:r,length:i}=e;try{if(A==="text")a(ZI(Buffer.concat(t)));else if(A==="json")a(JSON.parse(Buffer.concat(t)));else if(A==="arrayBuffer"){let s=new Uint8Array(i),n=0;for(let o of t)s.set(o,n),n+=o.byteLength;a(s)}else A==="blob"&&(Md||(Md=require("buffer").Blob),a(new Md(t,{type:r[L6]})));Vd(e)}catch(s){r.destroy(s)}}function U6(e,A){e.length+=A.length,e.body.push(A)}function Vd(e,A){e.body!==null&&(A?e.reject(A):e.resolve(),e.type=null,e.stream=null,e.resolve=null,e.reject=null,e.length=0,e.body=null)}});var Yd=E((LS,Y6)=>{var KI=require("assert"),{ResponseStatusCodeError:es}=ee(),{toUSVString:V6}=q();async function $I({callback:e,body:A,contentType:t,statusCode:a,statusMessage:r,headers:i}){KI(A);let s=[],n=0;for await(let o of A)if(s.push(o),n+=o.length,n>128*1024){s=null;break}if(a===204||!t||!s){process.nextTick(e,new es(`Response status code ${a}${r?`: ${r}`:""}`,a,i));return}try{if(t.startsWith("application/json")){let o=JSON.parse(V6(Buffer.concat(s)));process.nextTick(e,new es(`Response status code ${a}${r?`: ${r}`:""}`,a,i,o));return}if(t.startsWith("text/")){let o=V6(Buffer.concat(s));process.nextTick(e,new es(`Response status code ${a}${r?`: ${r}`:""}`,a,i,o));return}}catch{}process.nextTick(e,new es(`Response status code ${a}${r?`: ${r}`:""}`,a,i))}Y6.exports={getResolveErrorBodyCallback:$I}});var aa=E((US,G6)=>{var{addAbortListener:e7}=q(),{RequestAbortedError:A7}=ee(),ta=Symbol("kListener"),Gt=Symbol("kSignal");function J6(e){e.abort?e.abort():e.onError(new A7)}function t7(e,A){if(e[Gt]=null,e[ta]=null,!!A){if(A.aborted){J6(e);return}e[Gt]=A,e[ta]=()=>{J6(e)},e7(e[Gt],e[ta])}}function a7(e){e[Gt]&&("removeEventListener"in e[Gt]?e[Gt].removeEventListener("abort",e[ta]):e[Gt].removeListener("abort",e[ta]),e[Gt]=null,e[ta]=null)}G6.exports={addSignal:t7,removeSignal:a7}});var H6=E((TS,q6)=>{"use strict";var r7=M6(),{InvalidArgumentError:ra,RequestAbortedError:i7}=ee(),et=q(),{getResolveErrorBodyCallback:s7}=Yd(),{AsyncResource:n7}=require("async_hooks"),{addSignal:o7,removeSignal:x6}=aa(),Jd=class extends n7{constructor(A,t){if(!A||typeof A!="object")throw new ra("invalid opts");let{signal:a,method:r,opaque:i,body:s,onInfo:n,responseHeaders:o,throwOnError:d,highWaterMark:l}=A;try{if(typeof t!="function")throw new ra("invalid callback");if(l&&(typeof l!="number"||l<0))throw new ra("invalid highWaterMark");if(a&&typeof a.on!="function"&&typeof a.addEventListener!="function")throw new ra("signal must be an EventEmitter or EventTarget");if(r==="CONNECT")throw new ra("invalid method");if(n&&typeof n!="function")throw new ra("invalid onInfo callback");super("UNDICI_REQUEST")}catch(p){throw et.isStream(s)&&et.destroy(s.on("error",et.nop),p),p}this.responseHeaders=o||null,this.opaque=i||null,this.callback=t,this.res=null,this.abort=null,this.body=s,this.trailers={},this.context=null,this.onInfo=n||null,this.throwOnError=d,this.highWaterMark=l,et.isStream(s)&&s.on("error",p=>{this.onError(p)}),o7(this,a)}onConnect(A,t){if(!this.callback)throw new i7;this.abort=A,this.context=t}onHeaders(A,t,a,r){let{callback:i,opaque:s,abort:n,context:o,responseHeaders:d,highWaterMark:l}=this,p=d==="raw"?et.parseRawHeaders(t):et.parseHeaders(t);if(A<200){this.onInfo&&this.onInfo({statusCode:A,headers:p});return}let c=(d==="raw"?et.parseHeaders(t):p)["content-type"],u=new r7({resume:a,abort:n,contentType:c,highWaterMark:l});this.callback=null,this.res=u,i!==null&&(this.throwOnError&&A>=400?this.runInAsyncScope(s7,null,{callback:i,body:u,contentType:c,statusCode:A,statusMessage:r,headers:p}):this.runInAsyncScope(i,null,null,{statusCode:A,headers:p,trailers:this.trailers,opaque:s,body:u,context:o}))}onData(A){let{res:t}=this;return t.push(A)}onComplete(A){let{res:t}=this;x6(this),et.parseHeaders(A,this.trailers),t.push(null)}onError(A){let{res:t,callback:a,body:r,opaque:i}=this;x6(this),a&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(a,null,A,{opaque:i})})),t&&(this.res=null,queueMicrotask(()=>{et.destroy(t,A)})),r&&(this.body=null,et.destroy(r,A))}};function _6(e,A){if(A===void 0)return new Promise((t,a)=>{_6.call(this,e,(r,i)=>r?a(r):t(i))});try{this.dispatch(e,new Jd(e,A))}catch(t){if(typeof A!="function")throw t;let a=e&&e.opaque;queueMicrotask(()=>A(t,{opaque:a}))}}q6.exports=_6});var Z6=E((MS,W6)=>{"use strict";var{finished:d7,PassThrough:p7}=require("stream"),{InvalidArgumentError:ia,InvalidReturnValueError:l7,RequestAbortedError:g7}=ee(),MA=q(),{getResolveErrorBodyCallback:c7}=Yd(),{AsyncResource:u7}=require("async_hooks"),{addSignal:E7,removeSignal:O6}=aa(),Gd=class extends u7{constructor(A,t,a){if(!A||typeof A!="object")throw new ia("invalid opts");let{signal:r,method:i,opaque:s,body:n,onInfo:o,responseHeaders:d,throwOnError:l}=A;try{if(typeof a!="function")throw new ia("invalid callback");if(typeof t!="function")throw new ia("invalid factory");if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new ia("signal must be an EventEmitter or EventTarget");if(i==="CONNECT")throw new ia("invalid method");if(o&&typeof o!="function")throw new ia("invalid onInfo callback");super("UNDICI_STREAM")}catch(p){throw MA.isStream(n)&&MA.destroy(n.on("error",MA.nop),p),p}this.responseHeaders=d||null,this.opaque=s||null,this.factory=t,this.callback=a,this.res=null,this.abort=null,this.context=null,this.trailers=null,this.body=n,this.onInfo=o||null,this.throwOnError=l||!1,MA.isStream(n)&&n.on("error",p=>{this.onError(p)}),E7(this,r)}onConnect(A,t){if(!this.callback)throw new g7;this.abort=A,this.context=t}onHeaders(A,t,a,r){let{factory:i,opaque:s,context:n,callback:o,responseHeaders:d}=this,l=d==="raw"?MA.parseRawHeaders(t):MA.parseHeaders(t);if(A<200){this.onInfo&&this.onInfo({statusCode:A,headers:l});return}this.factory=null;let p;if(this.throwOnError&&A>=400){let u=(d==="raw"?MA.parseHeaders(t):l)["content-type"];p=new p7,this.callback=null,this.runInAsyncScope(c7,null,{callback:o,body:p,contentType:u,statusCode:A,statusMessage:r,headers:l})}else{if(p=this.runInAsyncScope(i,null,{statusCode:A,headers:l,opaque:s,context:n}),!p||typeof p.write!="function"||typeof p.end!="function"||typeof p.on!="function")throw new l7("expected Writable");d7(p,{readable:!1},c=>{let{callback:u,res:Q,opaque:C,trailers:m,abort:B}=this;this.res=null,(c||!Q.readable)&&MA.destroy(Q,c),this.callback=null,this.runInAsyncScope(u,null,c||null,{opaque:C,trailers:m}),c&&B()})}return p.on("drain",a),this.res=p,(p.writableNeedDrain!==void 0?p.writableNeedDrain:p._writableState&&p._writableState.needDrain)!==!0}onData(A){let{res:t}=this;return t.write(A)}onComplete(A){let{res:t}=this;O6(this),this.trailers=MA.parseHeaders(A),t.end()}onError(A){let{res:t,callback:a,opaque:r,body:i}=this;O6(this),this.factory=null,t?(this.res=null,MA.destroy(t,A)):a&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(a,null,A,{opaque:r})})),i&&(this.body=null,MA.destroy(i,A))}};function P6(e,A,t){if(t===void 0)return new Promise((a,r)=>{P6.call(this,e,A,(i,s)=>i?r(i):a(s))});try{this.dispatch(e,new Gd(e,A,t))}catch(a){if(typeof t!="function")throw a;let r=e&&e.opaque;queueMicrotask(()=>t(a,{opaque:r}))}}W6.exports=P6});var z6=E((VS,X6)=>{"use strict";var{Readable:j6,Duplex:Q7,PassThrough:m7}=require("stream"),{InvalidArgumentError:Er,InvalidReturnValueError:C7,RequestAbortedError:As}=ee(),vA=q(),{AsyncResource:B7}=require("async_hooks"),{addSignal:h7,removeSignal:I7}=aa(),f7=require("assert"),sa=Symbol("resume"),xd=class extends j6{constructor(){super({autoDestroy:!0}),this[sa]=null}_read(){let{[sa]:A}=this;A&&(this[sa]=null,A())}_destroy(A,t){this._read(),t(A)}},qd=class extends j6{constructor(A){super({autoDestroy:!0}),this[sa]=A}_read(){this[sa]()}_destroy(A,t){!A&&!this._readableState.endEmitted&&(A=new As),t(A)}},Hd=class extends B7{constructor(A,t){if(!A||typeof A!="object")throw new Er("invalid opts");if(typeof t!="function")throw new Er("invalid handler");let{signal:a,method:r,opaque:i,onInfo:s,responseHeaders:n}=A;if(a&&typeof a.on!="function"&&typeof a.addEventListener!="function")throw new Er("signal must be an EventEmitter or EventTarget");if(r==="CONNECT")throw new Er("invalid method");if(s&&typeof s!="function")throw new Er("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=i||null,this.responseHeaders=n||null,this.handler=t,this.abort=null,this.context=null,this.onInfo=s||null,this.req=new xd().on("error",vA.nop),this.ret=new Q7({readableObjectMode:A.objectMode,autoDestroy:!0,read:()=>{let{body:o}=this;o&&o.resume&&o.resume()},write:(o,d,l)=>{let{req:p}=this;p.push(o,d)||p._readableState.destroyed?l():p[sa]=l},destroy:(o,d)=>{let{body:l,req:p,res:g,ret:c,abort:u}=this;!o&&!c._readableState.endEmitted&&(o=new As),u&&o&&u(),vA.destroy(l,o),vA.destroy(p,o),vA.destroy(g,o),I7(this),d(o)}}).on("prefinish",()=>{let{req:o}=this;o.push(null)}),this.res=null,h7(this,a)}onConnect(A,t){let{ret:a,res:r}=this;if(f7(!r,"pipeline cannot be retried"),a.destroyed)throw new As;this.abort=A,this.context=t}onHeaders(A,t,a){let{opaque:r,handler:i,context:s}=this;if(A<200){if(this.onInfo){let o=this.responseHeaders==="raw"?vA.parseRawHeaders(t):vA.parseHeaders(t);this.onInfo({statusCode:A,headers:o})}return}this.res=new qd(a);let n;try{this.handler=null;let o=this.responseHeaders==="raw"?vA.parseRawHeaders(t):vA.parseHeaders(t);n=this.runInAsyncScope(i,null,{statusCode:A,headers:o,opaque:r,body:this.res,context:s})}catch(o){throw this.res.on("error",vA.nop),o}if(!n||typeof n.on!="function")throw new C7("expected Readable");n.on("data",o=>{let{ret:d,body:l}=this;!d.push(o)&&l.pause&&l.pause()}).on("error",o=>{let{ret:d}=this;vA.destroy(d,o)}).on("end",()=>{let{ret:o}=this;o.push(null)}).on("close",()=>{let{ret:o}=this;o._readableState.ended||vA.destroy(o,new As)}),this.body=n}onData(A){let{res:t}=this;return t.push(A)}onComplete(A){let{res:t}=this;t.push(null)}onError(A){let{ret:t}=this;this.handler=null,vA.destroy(t,A)}};function w7(e,A){try{let t=new Hd(e,A);return this.dispatch({...e,body:t.req},t),t.ret}catch(t){return new m7().destroy(t)}}X6.exports=w7});var tc=E((YS,Ac)=>{"use strict";var{InvalidArgumentError:Od,RequestAbortedError:y7,SocketError:D7}=ee(),{AsyncResource:R7}=require("async_hooks"),K6=q(),{addSignal:v7,removeSignal:$6}=aa(),N7=require("assert"),Pd=class extends R7{constructor(A,t){if(!A||typeof A!="object")throw new Od("invalid opts");if(typeof t!="function")throw new Od("invalid callback");let{signal:a,opaque:r,responseHeaders:i}=A;if(a&&typeof a.on!="function"&&typeof a.addEventListener!="function")throw new Od("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=i||null,this.opaque=r||null,this.callback=t,this.abort=null,this.context=null,v7(this,a)}onConnect(A,t){if(!this.callback)throw new y7;this.abort=A,this.context=null}onHeaders(){throw new D7("bad upgrade",null)}onUpgrade(A,t,a){let{callback:r,opaque:i,context:s}=this;N7.strictEqual(A,101),$6(this),this.callback=null;let n=this.responseHeaders==="raw"?K6.parseRawHeaders(t):K6.parseHeaders(t);this.runInAsyncScope(r,null,null,{headers:n,socket:a,opaque:i,context:s})}onError(A){let{callback:t,opaque:a}=this;$6(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,A,{opaque:a})}))}};function ec(e,A){if(A===void 0)return new Promise((t,a)=>{ec.call(this,e,(r,i)=>r?a(r):t(i))});try{let t=new Pd(e,A);this.dispatch({...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"},t)}catch(t){if(typeof A!="function")throw t;let a=e&&e.opaque;queueMicrotask(()=>A(t,{opaque:a}))}}Ac.exports=ec});var nc=E((JS,sc)=>{"use strict";var{InvalidArgumentError:Wd,RequestAbortedError:S7,SocketError:b7}=ee(),{AsyncResource:F7}=require("async_hooks"),ac=q(),{addSignal:k7,removeSignal:rc}=aa(),Zd=class extends F7{constructor(A,t){if(!A||typeof A!="object")throw new Wd("invalid opts");if(typeof t!="function")throw new Wd("invalid callback");let{signal:a,opaque:r,responseHeaders:i}=A;if(a&&typeof a.on!="function"&&typeof a.addEventListener!="function")throw new Wd("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=r||null,this.responseHeaders=i||null,this.callback=t,this.abort=null,k7(this,a)}onConnect(A,t){if(!this.callback)throw new S7;this.abort=A,this.context=t}onHeaders(){throw new b7("bad connect",null)}onUpgrade(A,t,a){let{callback:r,opaque:i,context:s}=this;rc(this),this.callback=null;let n=this.responseHeaders==="raw"?ac.parseRawHeaders(t):ac.parseHeaders(t);this.runInAsyncScope(r,null,null,{statusCode:A,headers:n,socket:a,opaque:i,context:s})}onError(A){let{callback:t,opaque:a}=this;rc(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,A,{opaque:a})}))}};function ic(e,A){if(A===void 0)return new Promise((t,a)=>{ic.call(this,e,(r,i)=>r?a(r):t(i))});try{let t=new Zd(e,A);this.dispatch({...e,method:"CONNECT"},t)}catch(t){if(typeof A!="function")throw t;let a=e&&e.opaque;queueMicrotask(()=>A(t,{opaque:a}))}}sc.exports=ic});var oc=E((GS,na)=>{"use strict";na.exports.request=H6();na.exports.stream=Z6();na.exports.pipeline=z6();na.exports.upgrade=tc();na.exports.connect=nc()});var Xd=E((xS,dc)=>{"use strict";var{UndiciError:L7}=ee(),jd=class e extends L7{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="MockNotMatchedError",this.message=A||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}};dc.exports={MockNotMatchedError:jd}});var oa=E((_S,pc)=>{"use strict";pc.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}});var Qr=E((qS,fc)=>{"use strict";var{MockNotMatchedError:d1}=Xd(),{kDispatches:ts,kMockAgent:U7,kOriginalDispatch:T7,kOrigin:M7,kGetNetConnect:V7}=oa(),{buildURL:Y7,nop:J7}=q(),{STATUS_CODES:G7}=require("http"),{types:{isPromise:x7}}=require("util");function Ct(e,A){return typeof e=="string"?e===A:e instanceof RegExp?e.test(A):typeof e=="function"?e(A)===!0:!1}function gc(e){return Object.fromEntries(Object.entries(e).map(([A,t])=>[A.toLocaleLowerCase(),t]))}function cc(e,A){if(Array.isArray(e)){for(let t=0;t<e.length;t+=2)if(e[t].toLocaleLowerCase()===A.toLocaleLowerCase())return e[t+1];return}else return typeof e.get=="function"?e.get(A):gc(e)[A.toLocaleLowerCase()]}function uc(e){let A=e.slice(),t=[];for(let a=0;a<A.length;a+=2)t.push([A[a],A[a+1]]);return Object.fromEntries(t)}function Ec(e,A){if(typeof e.headers=="function")return Array.isArray(A)&&(A=uc(A)),e.headers(A?gc(A):{});if(typeof e.headers>"u")return!0;if(typeof A!="object"||typeof e.headers!="object")return!1;for(let[t,a]of Object.entries(e.headers)){let r=cc(A,t);if(!Ct(a,r))return!1}return!0}function lc(e){if(typeof e!="string")return e;let A=e.split("?");if(A.length!==2)return e;let t=new URLSearchParams(A.pop());return t.sort(),[...A,t.toString()].join("?")}function _7(e,{path:A,method:t,body:a,headers:r}){let i=Ct(e.path,A),s=Ct(e.method,t),n=typeof e.body<"u"?Ct(e.body,a):!0,o=Ec(e,r);return i&&s&&n&&o}function Qc(e){return Buffer.isBuffer(e)?e:typeof e=="object"?JSON.stringify(e):e.toString()}function mc(e,A){let t=A.query?Y7(A.path,A.query):A.path,a=typeof t=="string"?lc(t):t,r=e.filter(({consumed:i})=>!i).filter(({path:i})=>Ct(lc(i),a));if(r.length===0)throw new d1(`Mock dispatch not matched for path '${a}'`);if(r=r.filter(({method:i})=>Ct(i,A.method)),r.length===0)throw new d1(`Mock dispatch not matched for method '${A.method}'`);if(r=r.filter(({body:i})=>typeof i<"u"?Ct(i,A.body):!0),r.length===0)throw new d1(`Mock dispatch not matched for body '${A.body}'`);if(r=r.filter(i=>Ec(i,A.headers)),r.length===0)throw new d1(`Mock dispatch not matched for headers '${typeof A.headers=="object"?JSON.stringify(A.headers):A.headers}'`);return r[0]}function q7(e,A,t){let a={timesInvoked:0,times:1,persist:!1,consumed:!1},r=typeof t=="function"?{callback:t}:{...t},i={...a,...A,pending:!0,data:{error:null,...r}};return e.push(i),i}function zd(e,A){let t=e.findIndex(a=>a.consumed?_7(a,A):!1);t!==-1&&e.splice(t,1)}function Cc(e){let{path:A,method:t,body:a,headers:r,query:i}=e;return{path:A,method:t,body:a,headers:r,query:i}}function Kd(e){return Object.entries(e).reduce((A,[t,a])=>[...A,Buffer.from(`${t}`),Array.isArray(a)?a.map(r=>Buffer.from(`${r}`)):Buffer.from(`${a}`)],[])}function Bc(e){return G7[e]||"unknown"}async function H7(e){let A=[];for await(let t of e)A.push(t);return Buffer.concat(A).toString("utf8")}function hc(e,A){let t=Cc(e),a=mc(this[ts],t);a.timesInvoked++,a.data.callback&&(a.data={...a.data,...a.data.callback(e)});let{data:{statusCode:r,data:i,headers:s,trailers:n,error:o},delay:d,persist:l}=a,{timesInvoked:p,times:g}=a;if(a.consumed=!l&&p>=g,a.pending=p<g,o!==null)return zd(this[ts],t),A.onError(o),!0;typeof d=="number"&&d>0?setTimeout(()=>{c(this[ts])},d):c(this[ts]);function c(Q,C=i){let m=Array.isArray(e.headers)?uc(e.headers):e.headers,B=typeof C=="function"?C({...e,headers:m}):C;if(x7(B)){B.then(S=>c(Q,S));return}let w=Qc(B),I=Kd(s),y=Kd(n);A.abort=J7,A.onHeaders(r,I,u,Bc(r)),A.onData(Buffer.from(w)),A.onComplete(y),zd(Q,t)}function u(){}return!0}function O7(){let e=this[U7],A=this[M7],t=this[T7];return function(r,i){if(e.isMockActive)try{hc.call(this,r,i)}catch(s){if(s instanceof d1){let n=e[V7]();if(n===!1)throw new d1(`${s.message}: subsequent request to origin ${A} was not allowed (net.connect disabled)`);if(Ic(n,A))t.call(this,r,i);else throw new d1(`${s.message}: subsequent request to origin ${A} was not allowed (net.connect is not enabled for this origin)`)}else throw s}else t.call(this,r,i)}}function Ic(e,A){let t=new URL(A);return e===!0?!0:!!(Array.isArray(e)&&e.some(a=>Ct(a,t.host)))}function P7(e){if(e){let{agent:A,...t}=e;return t}}fc.exports={getResponseData:Qc,getMockDispatch:mc,addMockDispatch:q7,deleteMockDispatch:zd,buildKey:Cc,generateKeyValues:Kd,matchValue:Ct,getResponse:H7,getStatusText:Bc,mockDispatch:hc,buildMockDispatch:O7,checkNetConnect:Ic,buildMockOptions:P7,getHeaderByName:cc}});var ip=E((HS,rp)=>{"use strict";var{getResponseData:W7,buildKey:Z7,addMockDispatch:$d}=Qr(),{kDispatches:as,kDispatchKey:rs,kDefaultHeaders:ep,kDefaultTrailers:Ap,kContentLength:tp,kMockDispatch:is}=oa(),{InvalidArgumentError:VA}=ee(),{buildURL:j7}=q(),da=class{constructor(A){this[is]=A}delay(A){if(typeof A!="number"||!Number.isInteger(A)||A<=0)throw new VA("waitInMs must be a valid integer > 0");return this[is].delay=A,this}persist(){return this[is].persist=!0,this}times(A){if(typeof A!="number"||!Number.isInteger(A)||A<=0)throw new VA("repeatTimes must be a valid integer > 0");return this[is].times=A,this}},ap=class{constructor(A,t){if(typeof A!="object")throw new VA("opts must be an object");if(typeof A.path>"u")throw new VA("opts.path must be defined");if(typeof A.method>"u"&&(A.method="GET"),typeof A.path=="string")if(A.query)A.path=j7(A.path,A.query);else{let a=new URL(A.path,"data://");A.path=a.pathname+a.search}typeof A.method=="string"&&(A.method=A.method.toUpperCase()),this[rs]=Z7(A),this[as]=t,this[ep]={},this[Ap]={},this[tp]=!1}createMockScopeDispatchData(A,t,a={}){let r=W7(t),i=this[tp]?{"content-length":r.length}:{},s={...this[ep],...i,...a.headers},n={...this[Ap],...a.trailers};return{statusCode:A,data:t,headers:s,trailers:n}}validateReplyParameters(A,t,a){if(typeof A>"u")throw new VA("statusCode must be defined");if(typeof t>"u")throw new VA("data must be defined");if(typeof a!="object")throw new VA("responseOptions must be an object")}reply(A){if(typeof A=="function"){let n=d=>{let l=A(d);if(typeof l!="object")throw new VA("reply options callback must return an object");let{statusCode:p,data:g="",responseOptions:c={}}=l;return this.validateReplyParameters(p,g,c),{...this.createMockScopeDispatchData(p,g,c)}},o=$d(this[as],this[rs],n);return new da(o)}let[t,a="",r={}]=[...arguments];this.validateReplyParameters(t,a,r);let i=this.createMockScopeDispatchData(t,a,r),s=$d(this[as],this[rs],i);return new da(s)}replyWithError(A){if(typeof A>"u")throw new VA("error must be defined");let t=$d(this[as],this[rs],{error:A});return new da(t)}defaultReplyHeaders(A){if(typeof A>"u")throw new VA("headers must be defined");return this[ep]=A,this}defaultReplyTrailers(A){if(typeof A>"u")throw new VA("trailers must be defined");return this[Ap]=A,this}replyContentLength(){return this[tp]=!0,this}};rp.exports.MockInterceptor=ap;rp.exports.MockScope=da});var op=E((OS,Sc)=>{"use strict";var{promisify:X7}=require("util"),z7=pr(),{buildMockDispatch:K7}=Qr(),{kDispatches:wc,kMockAgent:yc,kClose:Dc,kOriginalClose:Rc,kOrigin:vc,kOriginalDispatch:$7,kConnected:sp}=oa(),{MockInterceptor:ef}=ip(),Nc=ie(),{InvalidArgumentError:Af}=ee(),np=class extends z7{constructor(A,t){if(super(A,t),!t||!t.agent||typeof t.agent.dispatch!="function")throw new Af("Argument opts.agent must implement Agent");this[yc]=t.agent,this[vc]=A,this[wc]=[],this[sp]=1,this[$7]=this.dispatch,this[Rc]=this.close.bind(this),this.dispatch=K7.call(this),this.close=this[Dc]}get[Nc.kConnected](){return this[sp]}intercept(A){return new ef(A,this[wc])}async[Dc](){await X7(this[Rc])(),this[sp]=0,this[yc][Nc.kClients].delete(this[vc])}};Sc.exports=np});var lp=E((PS,Mc)=>{"use strict";var{promisify:tf}=require("util"),af=ea(),{buildMockDispatch:rf}=Qr(),{kDispatches:bc,kMockAgent:Fc,kClose:kc,kOriginalClose:Lc,kOrigin:Uc,kOriginalDispatch:sf,kConnected:dp}=oa(),{MockInterceptor:nf}=ip(),Tc=ie(),{InvalidArgumentError:of}=ee(),pp=class extends af{constructor(A,t){if(super(A,t),!t||!t.agent||typeof t.agent.dispatch!="function")throw new of("Argument opts.agent must implement Agent");this[Fc]=t.agent,this[Uc]=A,this[bc]=[],this[dp]=1,this[sf]=this.dispatch,this[Lc]=this.close.bind(this),this.dispatch=rf.call(this),this.close=this[kc]}get[Tc.kConnected](){return this[dp]}intercept(A){return new nf(A,this[bc])}async[kc](){await tf(this[Lc])(),this[dp]=0,this[Fc][Tc.kClients].delete(this[Uc])}};Mc.exports=pp});var Yc=E((ZS,Vc)=>{"use strict";var df={pronoun:"it",is:"is",was:"was",this:"this"},pf={pronoun:"they",is:"are",was:"were",this:"these"};Vc.exports=class{constructor(A,t){this.singular=A,this.plural=t}pluralize(A){let t=A===1,a=t?df:pf,r=t?this.singular:this.plural;return{...a,count:A,noun:r}}}});var Gc=E((XS,Jc)=>{"use strict";var{Transform:lf}=require("stream"),{Console:gf}=require("console");Jc.exports=class{constructor({disableColors:A}={}){this.transform=new lf({transform(t,a,r){r(null,t)}}),this.logger=new gf({stdout:this.transform,inspectOptions:{colors:!A&&!process.env.CI}})}format(A){let t=A.map(({method:a,path:r,data:{statusCode:i},persist:s,times:n,timesInvoked:o,origin:d})=>({Method:a,Origin:d,Path:r,"Status code":i,Persistent:s?"\u2705":"\u274C",Invocations:o,Remaining:s?1/0:n-o}));return this.logger.table(t),this.transform.read().toString()}}});var Oc=E((zS,Hc)=>{"use strict";var{kClients:p1}=ie(),cf=ur(),{kAgent:gp,kMockAgentSet:ss,kMockAgentGet:xc,kDispatches:cp,kIsMockActive:ns,kNetConnect:l1,kGetNetConnect:uf,kOptions:os,kFactory:ds}=oa(),Ef=op(),Qf=lp(),{matchValue:mf,buildMockOptions:Cf}=Qr(),{InvalidArgumentError:qc,UndiciError:Bf}=ee(),hf=Ui(),If=Yc(),ff=Gc(),up=class{constructor(A){this.value=A}deref(){return this.value}},Ep=class extends hf{constructor(A){if(super(A),this[l1]=!0,this[ns]=!0,A&&A.agent&&typeof A.agent.dispatch!="function")throw new qc("Argument opts.agent must implement Agent");let t=A&&A.agent?A.agent:new cf(A);this[gp]=t,this[p1]=t[p1],this[os]=Cf(A)}get(A){let t=this[xc](A);return t||(t=this[ds](A),this[ss](A,t)),t}dispatch(A,t){return this.get(A.origin),this[gp].dispatch(A,t)}async close(){await this[gp].close(),this[p1].clear()}deactivate(){this[ns]=!1}activate(){this[ns]=!0}enableNetConnect(A){if(typeof A=="string"||typeof A=="function"||A instanceof RegExp)Array.isArray(this[l1])?this[l1].push(A):this[l1]=[A];else if(typeof A>"u")this[l1]=!0;else throw new qc("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[l1]=!1}get isMockActive(){return this[ns]}[ss](A,t){this[p1].set(A,new up(t))}[ds](A){let t=Object.assign({agent:this},this[os]);return this[os]&&this[os].connections===1?new Ef(A,t):new Qf(A,t)}[xc](A){let t=this[p1].get(A);if(t)return t.deref();if(typeof A!="string"){let a=this[ds]("http://localhost:9999");return this[ss](A,a),a}for(let[a,r]of Array.from(this[p1])){let i=r.deref();if(i&&typeof a!="string"&&mf(a,A)){let s=this[ds](A);return this[ss](A,s),s[cp]=i[cp],s}}}[uf](){return this[l1]}pendingInterceptors(){let A=this[p1];return Array.from(A.entries()).flatMap(([t,a])=>a.deref()[cp].map(r=>({...r,origin:t}))).filter(({pending:t})=>t)}assertNoPendingInterceptors({pendingInterceptorsFormatter:A=new ff}={}){let t=this.pendingInterceptors();if(t.length===0)return;let a=new If("interceptor","interceptors").pluralize(t.length);throw new Bf(` +${a.count} ${a.noun} ${a.is} pending: + +${A.format(t)} +`.trim())}};Hc.exports=Ep});var zc=E((KS,Xc)=>{"use strict";var{kProxy:wf,kClose:yf,kDestroy:Df,kInterceptors:Rf}=ie(),{URL:Pc}=require("url"),Wc=ur(),vf=ea(),Nf=tr(),{InvalidArgumentError:Cr,RequestAbortedError:Sf}=ee(),Zc=ar(),mr=Symbol("proxy agent"),ps=Symbol("proxy client"),ls=Symbol("proxy headers"),Qp=Symbol("request tls settings"),bf=Symbol("proxy tls settings"),jc=Symbol("connect endpoint function");function Ff(e){return e==="https:"?443:80}function kf(e){if(typeof e=="string"&&(e={uri:e}),!e||!e.uri)throw new Cr("Proxy opts.uri is mandatory");return{uri:e.uri,protocol:e.protocol||"https"}}function Lf(e,A){return new vf(e,A)}var mp=class extends Nf{constructor(A){if(super(A),this[wf]=kf(A),this[mr]=new Wc(A),this[Rf]=A.interceptors&&A.interceptors.ProxyAgent&&Array.isArray(A.interceptors.ProxyAgent)?A.interceptors.ProxyAgent:[],typeof A=="string"&&(A={uri:A}),!A||!A.uri)throw new Cr("Proxy opts.uri is mandatory");let{clientFactory:t=Lf}=A;if(typeof t!="function")throw new Cr("Proxy opts.clientFactory must be a function.");if(this[Qp]=A.requestTls,this[bf]=A.proxyTls,this[ls]=A.headers||{},A.auth&&A.token)throw new Cr("opts.auth cannot be used in combination with opts.token");A.auth?this[ls]["proxy-authorization"]=`Basic ${A.auth}`:A.token&&(this[ls]["proxy-authorization"]=A.token);let a=new Pc(A.uri),{origin:r,port:i,host:s}=a,n=Zc({...A.proxyTls});this[jc]=Zc({...A.requestTls}),this[ps]=t(a,{connect:n}),this[mr]=new Wc({...A,connect:async(o,d)=>{let l=o.host;o.port||(l+=`:${Ff(o.protocol)}`);try{let{socket:p,statusCode:g}=await this[ps].connect({origin:r,port:i,path:l,signal:o.signal,headers:{...this[ls],host:s}});if(g!==200&&(p.on("error",()=>{}).destroy(),d(new Sf("Proxy response !== 200 when HTTP Tunneling"))),o.protocol!=="https:"){d(null,p);return}let c;this[Qp]?c=this[Qp].servername:c=o.servername,this[jc]({...o,servername:c,httpSocket:p},d)}catch(p){d(p)}}})}dispatch(A,t){let{host:a}=new Pc(A.origin),r=Uf(A.headers);return Tf(r),this[mr].dispatch({...A,headers:{...r,host:a}},t)}async[yf](){await this[mr].close(),await this[ps].close()}async[Df](){await this[mr].destroy(),await this[ps].destroy()}};function Uf(e){if(Array.isArray(e)){let A={};for(let t=0;t<e.length;t+=2)A[e[t]]=e[t+1];return A}return e}function Tf(e){if(e&&Object.keys(e).find(t=>t.toLowerCase()==="proxy-authorization"))throw new Cr("Proxy-Authorization should be sent in ProxyAgent constructor")}Xc.exports=mp});var pa=E(($S,Au)=>{"use strict";var Kc=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:Mf}=ee(),Vf=ur();eu()===void 0&&$c(new Vf);function $c(e){if(!e||typeof e.dispatch!="function")throw new Mf("Argument agent must implement Agent");Object.defineProperty(globalThis,Kc,{value:e,writable:!0,enumerable:!1,configurable:!1})}function eu(){return globalThis[Kc]}Au.exports={setGlobalDispatcher:$c,getGlobalDispatcher:eu}});var au=E((Ab,tu)=>{"use strict";tu.exports=class{constructor(A){this.handler=A}onConnect(...A){return this.handler.onConnect(...A)}onError(...A){return this.handler.onError(...A)}onUpgrade(...A){return this.handler.onUpgrade(...A)}onHeaders(...A){return this.handler.onHeaders(...A)}onData(...A){return this.handler.onData(...A)}onComplete(...A){return this.handler.onComplete(...A)}onBodySent(...A){return this.handler.onBodySent(...A)}}});var c1=E((tb,nu)=>{"use strict";var{kHeadersList:Xe}=ie(),{kGuard:g1}=lt(),{kEnumerableProperty:At}=q(),{makeIterator:Cp,isValidHeaderName:Br,isValidHeaderValue:ru}=fA(),{webidl:Y}=Ge(),Yf=require("assert"),ze=Symbol("headers map"),Ke=Symbol("headers map sorted");function iu(e){let A=e.length;for(;/[\r\n\t ]/.test(e.charAt(--A)););return e.slice(0,A+1).replace(/^[\r\n\t ]+/,"")}function su(e,A){if(Array.isArray(A))for(let t of A){if(t.length!==2)throw Y.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${t.length}.`});e.append(t[0],t[1])}else if(typeof A=="object"&&A!==null)for(let[t,a]of Object.entries(A))e.append(t,a);else throw Y.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}var gs=class e{cookies=null;constructor(A){A instanceof e?(this[ze]=new Map(A[ze]),this[Ke]=A[Ke],this.cookies=A.cookies):(this[ze]=new Map(A),this[Ke]=null)}contains(A){return A=A.toLowerCase(),this[ze].has(A)}clear(){this[ze].clear(),this[Ke]=null,this.cookies=null}append(A,t){this[Ke]=null;let a=A.toLowerCase(),r=this[ze].get(a);if(r){let i=a==="cookie"?"; ":", ";this[ze].set(a,{name:r.name,value:`${r.value}${i}${t}`})}else this[ze].set(a,{name:A,value:t});a==="set-cookie"&&(this.cookies??=[],this.cookies.push(t))}set(A,t){this[Ke]=null;let a=A.toLowerCase();return a==="set-cookie"&&(this.cookies=[t]),this[ze].set(a,{name:A,value:t})}delete(A){return this[Ke]=null,A=A.toLowerCase(),A==="set-cookie"&&(this.cookies=null),this[ze].delete(A)}get(A){return this.contains(A)?this[ze].get(A.toLowerCase())?.value??null:null}*[Symbol.iterator](){for(let[A,{value:t}]of this[ze])yield[A,t]}get entries(){let A={};if(this[ze].size)for(let{name:t,value:a}of this[ze].values())A[t]=a;return A}},la=class e{constructor(A=void 0){this[Xe]=new gs,this[g1]="none",A!==void 0&&(A=Y.converters.HeadersInit(A),su(this,A))}append(A,t){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,2,{header:"Headers.append"}),A=Y.converters.ByteString(A),t=Y.converters.ByteString(t),t=iu(t),Br(A)){if(!ru(t))throw Y.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header value"})}else throw Y.errors.invalidArgument({prefix:"Headers.append",value:A,type:"header name"});if(this[g1]==="immutable")throw new TypeError("immutable");return this[g1],this[Xe].append(A,t)}delete(A){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,1,{header:"Headers.delete"}),A=Y.converters.ByteString(A),!Br(A))throw Y.errors.invalidArgument({prefix:"Headers.delete",value:A,type:"header name"});if(this[g1]==="immutable")throw new TypeError("immutable");if(this[g1],!!this[Xe].contains(A))return this[Xe].delete(A)}get(A){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,1,{header:"Headers.get"}),A=Y.converters.ByteString(A),!Br(A))throw Y.errors.invalidArgument({prefix:"Headers.get",value:A,type:"header name"});return this[Xe].get(A)}has(A){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,1,{header:"Headers.has"}),A=Y.converters.ByteString(A),!Br(A))throw Y.errors.invalidArgument({prefix:"Headers.has",value:A,type:"header name"});return this[Xe].contains(A)}set(A,t){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,2,{header:"Headers.set"}),A=Y.converters.ByteString(A),t=Y.converters.ByteString(t),t=iu(t),Br(A)){if(!ru(t))throw Y.errors.invalidArgument({prefix:"Headers.set",value:t,type:"header value"})}else throw Y.errors.invalidArgument({prefix:"Headers.set",value:A,type:"header name"});if(this[g1]==="immutable")throw new TypeError("immutable");return this[g1],this[Xe].set(A,t)}getSetCookie(){Y.brandCheck(this,e);let A=this[Xe].cookies;return A?[...A]:[]}get[Ke](){if(this[Xe][Ke])return this[Xe][Ke];let A=[],t=[...this[Xe]].sort((r,i)=>r[0]<i[0]?-1:1),a=this[Xe].cookies;for(let[r,i]of t)if(r==="set-cookie")for(let s of a)A.push([r,s]);else Yf(i!==null),A.push([r,i]);return this[Xe][Ke]=A,A}keys(){return Y.brandCheck(this,e),Cp(()=>[...this[Ke].values()],"Headers","key")}values(){return Y.brandCheck(this,e),Cp(()=>[...this[Ke].values()],"Headers","value")}entries(){return Y.brandCheck(this,e),Cp(()=>[...this[Ke].values()],"Headers","key+value")}forEach(A,t=globalThis){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,1,{header:"Headers.forEach"}),typeof A!="function")throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.");for(let[a,r]of this)A.apply(t,[r,a,this])}[Symbol.for("nodejs.util.inspect.custom")](){return Y.brandCheck(this,e),this[Xe]}};la.prototype[Symbol.iterator]=la.prototype.entries;Object.defineProperties(la.prototype,{append:At,delete:At,get:At,has:At,set:At,getSetCookie:At,keys:At,values:At,entries:At,forEach:At,[Symbol.iterator]:{enumerable:!1},[Symbol.toStringTag]:{value:"Headers",configurable:!0}});Y.converters.HeadersInit=function(e){if(Y.util.Type(e)==="Object")return e[Symbol.iterator]?Y.converters["sequence<sequence<ByteString>>"](e):Y.converters["record<ByteString, ByteString>"](e);throw Y.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})};nu.exports={fill:su,Headers:la,HeadersList:gs}});var Qs=E((ab,uu)=>{"use strict";var{Headers:Jf,HeadersList:ou,fill:Gf}=c1(),{extractBody:du,cloneBody:xf,mixinBody:qf}=er(),Ip=q(),{kEnumerableProperty:lA}=Ip,{isValidReasonPhrase:Hf,isCancelled:Of,isAborted:Pf,isBlobLike:Wf,serializeJavascriptValueToJSONString:Zf,isErrorLike:jf,isomorphicEncode:Xf}=fA(),{redirectStatus:zf,nullBodyStatus:Kf,DOMException:$f}=Lt(),{kState:ae,kHeaders:Re,kGuard:ga,kRealm:pA}=lt(),{webidl:M}=Ge(),{FormData:ew}=ki(),{getGlobalOrigin:Aw}=Xa(),{URLSerializer:pu}=TA(),{kHeadersList:Bp}=ie(),fp=require("assert"),{types:hp}=require("util"),gu=globalThis.ReadableStream||require("stream/web").ReadableStream,ca=class e{static error(){let A={settingsObject:{}},t=new e;return t[ae]=us(),t[pA]=A,t[Re][Bp]=t[ae].headersList,t[Re][ga]="immutable",t[Re][pA]=A,t}static json(A=void 0,t={}){M.argumentLengthCheck(arguments,1,{header:"Response.json"}),t!==null&&(t=M.converters.ResponseInit(t));let a=new TextEncoder("utf-8").encode(Zf(A)),r=du(a),i={settingsObject:{}},s=new e;return s[pA]=i,s[Re][ga]="response",s[Re][pA]=i,lu(s,t,{body:r[0],type:"application/json"}),s}static redirect(A,t=302){let a={settingsObject:{}};M.argumentLengthCheck(arguments,1,{header:"Response.redirect"}),A=M.converters.USVString(A),t=M.converters["unsigned short"](t);let r;try{r=new URL(A,Aw())}catch(n){throw Object.assign(new TypeError("Failed to parse URL from "+A),{cause:n})}if(!zf.includes(t))throw new RangeError("Invalid status code "+t);let i=new e;i[pA]=a,i[Re][ga]="immutable",i[Re][pA]=a,i[ae].status=t;let s=Xf(pu(r));return i[ae].headersList.append("location",s),i}constructor(A=null,t={}){A!==null&&(A=M.converters.BodyInit(A)),t=M.converters.ResponseInit(t),this[pA]={settingsObject:{}},this[ae]=Es({}),this[Re]=new Jf,this[Re][ga]="response",this[Re][Bp]=this[ae].headersList,this[Re][pA]=this[pA];let a=null;if(A!=null){let[r,i]=du(A);a={body:r,type:i}}lu(this,t,a)}get type(){return M.brandCheck(this,e),this[ae].type}get url(){M.brandCheck(this,e);let A=this[ae].urlList,t=A[A.length-1]??null;return t===null?"":pu(t,!0)}get redirected(){return M.brandCheck(this,e),this[ae].urlList.length>1}get status(){return M.brandCheck(this,e),this[ae].status}get ok(){return M.brandCheck(this,e),this[ae].status>=200&&this[ae].status<=299}get statusText(){return M.brandCheck(this,e),this[ae].statusText}get headers(){return M.brandCheck(this,e),this[Re]}get body(){return M.brandCheck(this,e),this[ae].body?this[ae].body.stream:null}get bodyUsed(){return M.brandCheck(this,e),!!this[ae].body&&Ip.isDisturbed(this[ae].body.stream)}clone(){if(M.brandCheck(this,e),this.bodyUsed||this.body&&this.body.locked)throw M.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let A=wp(this[ae]),t=new e;return t[ae]=A,t[pA]=this[pA],t[Re][Bp]=A.headersList,t[Re][ga]=this[Re][ga],t[Re][pA]=this[Re][pA],t}};qf(ca);Object.defineProperties(ca.prototype,{type:lA,url:lA,status:lA,ok:lA,redirected:lA,statusText:lA,headers:lA,clone:lA,body:lA,bodyUsed:lA,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties(ca,{json:lA,redirect:lA,error:lA});function wp(e){if(e.internalResponse)return cu(wp(e.internalResponse),e.type);let A=Es({...e,body:null});return e.body!=null&&(A.body=xf(e.body)),A}function Es(e){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e.headersList?new ou(e.headersList):new ou,urlList:e.urlList?[...e.urlList]:[]}}function us(e){let A=jf(e);return Es({type:"error",status:0,error:A?e:new Error(e&&String(e)),aborted:e&&e.name==="AbortError"})}function cs(e,A){return A={internalResponse:e,...A},new Proxy(e,{get(t,a){return a in A?A[a]:t[a]},set(t,a,r){return fp(!(a in A)),t[a]=r,!0}})}function cu(e,A){if(A==="basic")return cs(e,{type:"basic",headersList:e.headersList});if(A==="cors")return cs(e,{type:"cors",headersList:e.headersList});if(A==="opaque")return cs(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null});if(A==="opaqueredirect")return cs(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});fp(!1)}function tw(e){return fp(Of(e)),Pf(e)?us(new $f("The operation was aborted.","AbortError")):us("Request was cancelled.")}function lu(e,A,t){if(A.status!==null&&(A.status<200||A.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in A&&A.statusText!=null&&!Hf(String(A.statusText)))throw new TypeError("Invalid statusText");if("status"in A&&A.status!=null&&(e[ae].status=A.status),"statusText"in A&&A.statusText!=null&&(e[ae].statusText=A.statusText),"headers"in A&&A.headers!=null&&Gf(e[Re],A.headers),t){if(Kf.includes(e.status))throw M.errors.exception({header:"Response constructor",message:"Invalid response status code "+e.status});e[ae].body=t.body,t.type!=null&&!e[ae].headersList.contains("Content-Type")&&e[ae].headersList.append("content-type",t.type)}}M.converters.ReadableStream=M.interfaceConverter(gu);M.converters.FormData=M.interfaceConverter(ew);M.converters.URLSearchParams=M.interfaceConverter(URLSearchParams);M.converters.XMLHttpRequestBodyInit=function(e){return typeof e=="string"?M.converters.USVString(e):Wf(e)?M.converters.Blob(e,{strict:!1}):hp.isAnyArrayBuffer(e)||hp.isTypedArray(e)||hp.isDataView(e)?M.converters.BufferSource(e):Ip.isFormDataLike(e)?M.converters.FormData(e,{strict:!1}):e instanceof URLSearchParams?M.converters.URLSearchParams(e):M.converters.DOMString(e)};M.converters.BodyInit=function(e){return e instanceof gu?M.converters.ReadableStream(e):e?.[Symbol.asyncIterator]?e:M.converters.XMLHttpRequestBodyInit(e)};M.converters.ResponseInit=M.dictionaryConverter([{key:"status",converter:M.converters["unsigned short"],defaultValue:200},{key:"statusText",converter:M.converters.ByteString,defaultValue:""},{key:"headers",converter:M.converters.HeadersInit}]);uu.exports={makeNetworkError:us,makeResponse:Es,makeAppropriateNetworkError:tw,filterResponse:cu,Response:ca,cloneResponse:wp}});var fr=E((rb,Iu)=>{"use strict";var{extractBody:aw,mixinBody:rw,cloneBody:iw}=er(),{Headers:yp,fill:sw,HeadersList:Eu}=c1(),{FinalizationRegistry:nw}=Ld()(),Ir=q(),{isValidHTTPToken:ow,sameOrigin:Qu,normalizeMethod:dw,makePolicyContainer:pw}=fA(),{forbiddenMethods:lw,corsSafeListedMethods:gw,referrerPolicy:cw,requestRedirect:uw,requestMode:Ew,requestCredentials:Qw,requestCache:mw,requestDuplex:Cw}=Lt(),{kEnumerableProperty:me}=Ir,{kHeaders:ve,kSignal:hr,kState:Ae,kGuard:ms,kRealm:gA}=lt(),{webidl:b}=Ge(),{getGlobalOrigin:Bw}=Xa(),{URLSerializer:hw}=TA(),{kHeadersList:Cs}=ie(),Iw=require("assert"),{getMaxListeners:mu,setMaxListeners:Cu,getEventListeners:fw,defaultMaxListeners:Bu}=require("events"),Dp=globalThis.TransformStream,hu=Symbol("init"),ww=Symbol("abortController"),yw=new nw(({signal:e,abort:A})=>{e.removeEventListener("abort",A)}),u1=class e{constructor(A,t={}){if(A===hu)return;b.argumentLengthCheck(arguments,1,{header:"Request constructor"}),A=b.converters.RequestInfo(A),t=b.converters.RequestInit(t),this[gA]={settingsObject:{baseUrl:Bw(),get origin(){return this.baseUrl?.origin},policyContainer:pw()}};let a=null,r=null,i=this[gA].settingsObject.baseUrl,s=null;if(typeof A=="string"){let Q;try{Q=new URL(A,i)}catch(C){throw new TypeError("Failed to parse URL from "+A,{cause:C})}if(Q.username||Q.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+A);a=Bs({urlList:[Q]}),r="cors"}else Iw(A instanceof e),a=A[Ae],s=A[hr];let n=this[gA].settingsObject.origin,o="client";if(a.window?.constructor?.name==="EnvironmentSettingsObject"&&Qu(a.window,n)&&(o=a.window),t.window!=null)throw new TypeError(`'window' option '${o}' must be null`);if("window"in t&&(o="no-window"),a=Bs({method:a.method,headersList:a.headersList,unsafeRequest:a.unsafeRequest,client:this[gA].settingsObject,window:o,priority:a.priority,origin:a.origin,referrer:a.referrer,referrerPolicy:a.referrerPolicy,mode:a.mode,credentials:a.credentials,cache:a.cache,redirect:a.redirect,integrity:a.integrity,keepalive:a.keepalive,reloadNavigation:a.reloadNavigation,historyNavigation:a.historyNavigation,urlList:[...a.urlList]}),Object.keys(t).length>0&&(a.mode==="navigate"&&(a.mode="same-origin"),a.reloadNavigation=!1,a.historyNavigation=!1,a.origin="client",a.referrer="client",a.referrerPolicy="",a.url=a.urlList[a.urlList.length-1],a.urlList=[a.url]),t.referrer!==void 0){let Q=t.referrer;if(Q==="")a.referrer="no-referrer";else{let C;try{C=new URL(Q,i)}catch(m){throw new TypeError(`Referrer "${Q}" is not a valid URL.`,{cause:m})}C.protocol==="about:"&&C.hostname==="client"||n&&!Qu(C,this[gA].settingsObject.baseUrl)?a.referrer="client":a.referrer=C}}t.referrerPolicy!==void 0&&(a.referrerPolicy=t.referrerPolicy);let d;if(t.mode!==void 0?d=t.mode:d=r,d==="navigate")throw b.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(d!=null&&(a.mode=d),t.credentials!==void 0&&(a.credentials=t.credentials),t.cache!==void 0&&(a.cache=t.cache),a.cache==="only-if-cached"&&a.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(t.redirect!==void 0&&(a.redirect=t.redirect),t.integrity!==void 0&&t.integrity!=null&&(a.integrity=String(t.integrity)),t.keepalive!==void 0&&(a.keepalive=!!t.keepalive),t.method!==void 0){let Q=t.method;if(!ow(t.method))throw TypeError(`'${t.method}' is not a valid HTTP method.`);if(lw.indexOf(Q.toUpperCase())!==-1)throw TypeError(`'${t.method}' HTTP method is unsupported.`);Q=dw(t.method),a.method=Q}t.signal!==void 0&&(s=t.signal),this[Ae]=a;let l=new AbortController;if(this[hr]=l.signal,this[hr][gA]=this[gA],s!=null){if(!s||typeof s.aborted!="boolean"||typeof s.addEventListener!="function")throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.");if(s.aborted)l.abort(s.reason);else{this[ww]=l;let Q=new WeakRef(l),C=function(){let m=Q.deref();m!==void 0&&m.abort(this.reason)};try{(typeof mu=="function"&&mu(s)===Bu||fw(s,"abort").length>=Bu)&&Cu(100,s)}catch{}Ir.addAbortListener(s,C),yw.register(l,{signal:s,abort:C})}}if(this[ve]=new yp,this[ve][Cs]=a.headersList,this[ve][ms]="request",this[ve][gA]=this[gA],d==="no-cors"){if(!gw.includes(a.method))throw new TypeError(`'${a.method} is unsupported in no-cors mode.`);this[ve][ms]="request-no-cors"}if(Object.keys(t).length!==0){let Q=new yp(this[ve]);if(t.headers!==void 0&&(Q=t.headers),this[ve][Cs].clear(),Q.constructor.name==="Headers")for(let[C,m]of Q)this[ve].append(C,m);else sw(this[ve],Q)}let p=A instanceof e?A[Ae].body:null;if((t.body!=null||p!=null)&&(a.method==="GET"||a.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let g=null;if(t.body!=null){let[Q,C]=aw(t.body,a.keepalive);g=Q,C&&!this[ve][Cs].contains("content-type")&&this[ve].append("content-type",C)}let c=g??p;if(c!=null&&c.source==null){if(g!=null&&t.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(a.mode!=="same-origin"&&a.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');a.useCORSPreflightFlag=!0}let u=c;if(g==null&&p!=null){if(Ir.isDisturbed(p.stream)||p.stream.locked)throw new TypeError("Cannot construct a Request with a Request object that has already been used.");Dp||(Dp=require("stream/web").TransformStream);let Q=new Dp;p.stream.pipeThrough(Q),u={source:p.source,length:p.length,stream:Q.readable}}this[Ae].body=u}get method(){return b.brandCheck(this,e),this[Ae].method}get url(){return b.brandCheck(this,e),hw(this[Ae].url)}get headers(){return b.brandCheck(this,e),this[ve]}get destination(){return b.brandCheck(this,e),this[Ae].destination}get referrer(){return b.brandCheck(this,e),this[Ae].referrer==="no-referrer"?"":this[Ae].referrer==="client"?"about:client":this[Ae].referrer.toString()}get referrerPolicy(){return b.brandCheck(this,e),this[Ae].referrerPolicy}get mode(){return b.brandCheck(this,e),this[Ae].mode}get credentials(){return this[Ae].credentials}get cache(){return b.brandCheck(this,e),this[Ae].cache}get redirect(){return b.brandCheck(this,e),this[Ae].redirect}get integrity(){return b.brandCheck(this,e),this[Ae].integrity}get keepalive(){return b.brandCheck(this,e),this[Ae].keepalive}get isReloadNavigation(){return b.brandCheck(this,e),this[Ae].reloadNavigation}get isHistoryNavigation(){return b.brandCheck(this,e),this[Ae].historyNavigation}get signal(){return b.brandCheck(this,e),this[hr]}get body(){return b.brandCheck(this,e),this[Ae].body?this[Ae].body.stream:null}get bodyUsed(){return b.brandCheck(this,e),!!this[Ae].body&&Ir.isDisturbed(this[Ae].body.stream)}get duplex(){return b.brandCheck(this,e),"half"}clone(){if(b.brandCheck(this,e),this.bodyUsed||this.body?.locked)throw new TypeError("unusable");let A=Dw(this[Ae]),t=new e(hu);t[Ae]=A,t[gA]=this[gA],t[ve]=new yp,t[ve][Cs]=A.headersList,t[ve][ms]=this[ve][ms],t[ve][gA]=this[ve][gA];let a=new AbortController;return this.signal.aborted?a.abort(this.signal.reason):Ir.addAbortListener(this.signal,()=>{a.abort(this.signal.reason)}),t[hr]=a.signal,t}};rw(u1);function Bs(e){let A={method:"GET",localURLsOnly:!1,unsafeRequest:!1,body:null,client:null,reservedClient:null,replacesClientId:"",window:"client",keepalive:!1,serviceWorkers:"all",initiator:"",destination:"",priority:null,origin:"client",policyContainer:"client",referrer:"client",referrerPolicy:"",mode:"no-cors",useCORSPreflightFlag:!1,credentials:"same-origin",useCredentials:!1,cache:"default",redirect:"follow",integrity:"",cryptoGraphicsNonceMetadata:"",parserMetadata:"",reloadNavigation:!1,historyNavigation:!1,userActivation:!1,taintedOrigin:!1,redirectCount:0,responseTainting:"basic",preventNoCacheCacheControlHeaderModification:!1,done:!1,timingAllowFailed:!1,...e,headersList:e.headersList?new Eu(e.headersList):new Eu};return A.url=A.urlList[0],A}function Dw(e){let A=Bs({...e,body:null});return e.body!=null&&(A.body=iw(e.body)),A}Object.defineProperties(u1.prototype,{method:me,url:me,headers:me,redirect:me,clone:me,signal:me,duplex:me,destination:me,body:me,bodyUsed:me,isHistoryNavigation:me,isReloadNavigation:me,keepalive:me,integrity:me,cache:me,credentials:me,attribute:me,referrerPolicy:me,referrer:me,mode:me,[Symbol.toStringTag]:{value:"Request",configurable:!0}});b.converters.Request=b.interfaceConverter(u1);b.converters.RequestInfo=function(e){return typeof e=="string"?b.converters.USVString(e):e instanceof u1?b.converters.Request(e):b.converters.USVString(e)};b.converters.AbortSignal=b.interfaceConverter(AbortSignal);b.converters.RequestInit=b.dictionaryConverter([{key:"method",converter:b.converters.ByteString},{key:"headers",converter:b.converters.HeadersInit},{key:"body",converter:b.nullableConverter(b.converters.BodyInit)},{key:"referrer",converter:b.converters.USVString},{key:"referrerPolicy",converter:b.converters.DOMString,allowedValues:cw},{key:"mode",converter:b.converters.DOMString,allowedValues:Ew},{key:"credentials",converter:b.converters.DOMString,allowedValues:Qw},{key:"cache",converter:b.converters.DOMString,allowedValues:mw},{key:"redirect",converter:b.converters.DOMString,allowedValues:uw},{key:"integrity",converter:b.converters.DOMString},{key:"keepalive",converter:b.converters.boolean},{key:"signal",converter:b.nullableConverter(e=>b.converters.AbortSignal(e,{strict:!1}))},{key:"window",converter:b.converters.any},{key:"duplex",converter:b.converters.DOMString,allowedValues:Cw}]);Iu.exports={Request:u1,makeRequest:Bs}});var Rs=E((ib,Tu)=>{"use strict";var{Response:Rw,makeNetworkError:K,makeAppropriateNetworkError:hs,filterResponse:Rp,makeResponse:Is}=Qs(),{Headers:fu}=c1(),{Request:vw,makeRequest:Nw}=fr(),wr=require("zlib"),{bytesMatch:Sw,makePolicyContainer:bw,clonePolicyContainer:Fw,requestBadPort:kw,TAOCheck:Lw,appendRequestOriginHeader:Uw,responseLocationURL:Tw,requestCurrentURL:tt,setRequestReferrerPolicyOnRedirect:Mw,tryUpgradeRequestToAPotentiallyTrustworthyURL:Vw,createOpaqueTimingInfo:Mp,appendFetchMetadata:Yw,corsCheck:Jw,crossOriginResourcePolicyCheck:Gw,determineRequestsReferrer:xw,coarsenedSharedCurrentTime:Vp,createDeferredPromise:_w,isBlobLike:qw,sameOrigin:kp,isCancelled:ua,isAborted:wu,isErrorLike:Hw,fullyReadBody:vu,readableStreamClose:Ow,isomorphicEncode:Lp,urlIsLocal:Pw,urlIsHttpHttpsScheme:Yp,urlHasHttpsScheme:Ww}=fA(),{kState:Up,kHeaders:vp,kGuard:Zw,kRealm:yu}=lt(),Ea=require("assert"),{safelyExtractBody:fs}=er(),{redirectStatus:Nu,nullBodyStatus:Su,safeMethods:jw,requestBodyHeader:Xw,subresource:zw,DOMException:ws}=Lt(),{kHeadersList:Tp}=ie(),Kw=require("events"),{Readable:$w,pipeline:ey}=require("stream"),{addAbortListener:Ay,isErrored:ty,isReadable:ys,nodeMajor:Du,nodeMinor:ay}=q(),{dataURLProcessor:ry,serializeAMimeType:iy}=TA(),{TransformStream:sy}=require("stream/web"),{getGlobalDispatcher:ny}=pa(),{webidl:oy}=Ge(),{STATUS_CODES:dy}=require("http"),Np,Sp=globalThis.ReadableStream,Ds=class extends Kw{constructor(A){super(),this.dispatcher=A,this.connection=null,this.dump=!1,this.state="ongoing",this.setMaxListeners(21)}terminate(A){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(A),this.emit("terminated",A))}abort(A){this.state==="ongoing"&&(this.state="aborted",A||(A=new ws("The operation was aborted.","AbortError")),this.serializedAbortReason=A,this.connection?.destroy(A),this.emit("terminated",A))}};async function py(e,A={}){oy.argumentLengthCheck(arguments,1,{header:"globalThis.fetch"});let t=_w(),a;try{a=new vw(e,A)}catch(g){return t.reject(g),t.promise}let r=a[Up];if(a.signal.aborted)return bp(t,r,null,a.signal.reason),t.promise;r.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(r.serviceWorkers="none");let s=null,n=null,o=!1,d=null;return Ay(a.signal,()=>{o=!0,Ea(d!=null),d.abort(a.signal.reason),bp(t,r,s,a.signal.reason)}),d=Fu({request:r,processResponseEndOfBody:g=>bu(g,"fetch"),processResponse:g=>{if(!o){if(g.aborted){bp(t,r,s,d.serializedAbortReason);return}if(g.type==="error"){t.reject(Object.assign(new TypeError("fetch failed"),{cause:g.error}));return}s=new Rw,s[Up]=g,s[yu]=n,s[vp][Tp]=g.headersList,s[vp][Zw]="immutable",s[vp][yu]=n,t.resolve(s)}},dispatcher:A.dispatcher??ny()}),t.promise}function bu(e,A="other"){if(e.type==="error"&&e.aborted||!e.urlList?.length)return;let t=e.urlList[0],a=e.timingInfo,r=e.cacheState;Yp(t)&&a!==null&&(a.timingAllowPassed||(a=Mp({startTime:a.startTime}),r=""),a.endTime=Vp(),e.timingInfo=a,ly(a,t,A,globalThis,r))}function ly(e,A,t,a,r){(Du>18||Du===18&&ay>=2)&&performance.markResourceTiming(e,A.href,t,a,r)}function bp(e,A,t,a){if(a||(a=new ws("The operation was aborted.","AbortError")),e.reject(a),A.body!=null&&ys(A.body?.stream)&&A.body.stream.cancel(a).catch(i=>{if(i.code!=="ERR_INVALID_STATE")throw i}),t==null)return;let r=t[Up];r.body!=null&&ys(r.body?.stream)&&r.body.stream.cancel(a).catch(i=>{if(i.code!=="ERR_INVALID_STATE")throw i})}function Fu({request:e,processRequestBodyChunkLength:A,processRequestEndOfBody:t,processResponse:a,processResponseEndOfBody:r,processResponseConsumeBody:i,useParallelQueue:s=!1,dispatcher:n}){let o=null,d=!1;e.client!=null&&(o=e.client.globalObject,d=e.client.crossOriginIsolatedCapability);let l=Vp(d),p=Mp({startTime:l}),g={controller:new Ds(n),request:e,timingInfo:p,processRequestBodyChunkLength:A,processRequestEndOfBody:t,processResponse:a,processResponseConsumeBody:i,processResponseEndOfBody:r,taskDestination:o,crossOriginIsolatedCapability:d};return Ea(!e.body||e.body.stream),e.window==="client"&&(e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"),e.origin==="client"&&(e.origin=e.client?.origin),e.policyContainer==="client"&&(e.client!=null?e.policyContainer=Fw(e.client.policyContainer):e.policyContainer=bw()),e.headersList.contains("accept")||e.headersList.append("accept","*/*"),e.headersList.contains("accept-language")||e.headersList.append("accept-language","*"),e.priority,zw.includes(e.destination),ku(g).catch(c=>{g.controller.terminate(c)}),g.controller}async function ku(e,A=!1){let t=e.request,a=null;if(t.localURLsOnly&&!Pw(tt(t))&&(a=K("local URLs only")),Vw(t),kw(t)==="blocked"&&(a=K("bad port")),t.referrerPolicy===""&&(t.referrerPolicy=t.policyContainer.referrerPolicy),t.referrer!=="no-referrer"&&(t.referrer=xw(t)),a===null&&(a=await(async()=>{let i=tt(t);return kp(i,t.url)&&t.responseTainting==="basic"||i.protocol==="data:"||t.mode==="navigate"||t.mode==="websocket"?(t.responseTainting="basic",await Ru(e)):t.mode==="same-origin"?K('request mode cannot be "same-origin"'):t.mode==="no-cors"?t.redirect!=="follow"?K('redirect mode cannot be "follow" for "no-cors" request'):(t.responseTainting="opaque",await Ru(e)):Yp(tt(t))?(t.responseTainting="cors",await Lu(e)):K("URL scheme must be a HTTP(S) scheme")})()),A)return a;a.status!==0&&!a.internalResponse&&(t.responseTainting,t.responseTainting==="basic"?a=Rp(a,"basic"):t.responseTainting==="cors"?a=Rp(a,"cors"):t.responseTainting==="opaque"?a=Rp(a,"opaque"):Ea(!1));let r=a.status===0?a:a.internalResponse;if(r.urlList.length===0&&r.urlList.push(...t.urlList),t.timingAllowFailed||(a.timingAllowPassed=!0),a.type==="opaque"&&r.status===206&&r.rangeRequested&&!t.headers.contains("range")&&(a=r=K()),a.status!==0&&(t.method==="HEAD"||t.method==="CONNECT"||Su.includes(r.status))&&(r.body=null,e.controller.dump=!0),t.integrity){let i=n=>Fp(e,K(n));if(t.responseTainting==="opaque"||a.body==null){i(a.error);return}let s=n=>{if(!Sw(n,t.integrity)){i("integrity mismatch");return}a.body=fs(n)[0],Fp(e,a)};await vu(a.body,s,i)}else Fp(e,a)}async function Ru(e){if(ua(e)&&e.request.redirectCount===0)return hs(e);let{request:A}=e,{protocol:t}=tt(A);switch(t){case"about:":return K("about scheme is not supported");case"blob:":{Np||(Np=require("buffer").resolveObjectURL);let a=tt(A);if(a.search.length!==0)return K("NetworkError when attempting to fetch resource.");let r=Np(a.toString());if(A.method!=="GET"||!qw(r))return K("invalid method");let i=fs(r),s=i[0],n=Lp(`${s.length}`),o=i[1]??"",d=Is({statusText:"OK",headersList:[["content-length",{name:"Content-Length",value:n}],["content-type",{name:"Content-Type",value:o}]]});return d.body=s,d}case"data:":{let a=tt(A),r=ry(a);if(r==="failure")return K("failed to fetch the data URL");let i=iy(r.mimeType);return Is({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:i}]],body:fs(r.body)[0]})}case"file:":return K("not implemented... yet...");case"http:":case"https:":return await Lu(e).catch(a=>K(a));default:return K("unknown scheme")}}function gy(e,A){e.request.done=!0,e.processResponseDone!=null&&queueMicrotask(()=>e.processResponseDone(A))}async function Fp(e,A){A.type==="error"&&(A.urlList=[e.request.urlList[0]],A.timingInfo=Mp({startTime:e.timingInfo.startTime}));let t=()=>{e.request.done=!0,e.processResponseEndOfBody!=null&&queueMicrotask(()=>e.processResponseEndOfBody(A))};if(e.processResponse!=null&&queueMicrotask(()=>e.processResponse(A)),A.body==null)t();else{let a=(i,s)=>{s.enqueue(i)},r=new sy({start(){},transform:a,flush:t},{size(){return 1}},{size(){return 1}});A.body={stream:A.body.stream.pipeThrough(r)}}if(e.processResponseConsumeBody!=null){let a=i=>e.processResponseConsumeBody(A,i),r=i=>e.processResponseConsumeBody(A,i);A.body==null?queueMicrotask(()=>a(null)):await vu(A.body,a,r)}}async function Lu(e){let A=e.request,t=null,a=null,r=e.timingInfo;if(A.serviceWorkers,t===null){if(A.redirect==="follow"&&(A.serviceWorkers="none"),a=t=await Uu(e),A.responseTainting==="cors"&&Jw(A,t)==="failure")return K("cors failure");Lw(A,t)==="failure"&&(A.timingAllowFailed=!0)}return(A.responseTainting==="opaque"||t.type==="opaque")&&Gw(A.origin,A.client,A.destination,a)==="blocked"?K("blocked"):(Nu.includes(a.status)&&(A.redirect!=="manual"&&e.controller.connection.destroy(),A.redirect==="error"?t=K("unexpected redirect"):A.redirect==="manual"?t=a:A.redirect==="follow"?t=await cy(e,t):Ea(!1)),t.timingInfo=r,t)}async function cy(e,A){let t=e.request,a=A.internalResponse?A.internalResponse:A,r;try{if(r=Tw(a,tt(t).hash),r==null)return A}catch(s){return K(s)}if(!Yp(r))return K("URL scheme must be a HTTP(S) scheme");if(t.redirectCount===20)return K("redirect count exceeded");if(t.redirectCount+=1,t.mode==="cors"&&(r.username||r.password)&&!kp(t,r))return K('cross origin not allowed for request mode "cors"');if(t.responseTainting==="cors"&&(r.username||r.password))return K('URL cannot contain credentials for request mode "cors"');if(a.status!==303&&t.body!=null&&t.body.source==null)return K();if([301,302].includes(a.status)&&t.method==="POST"||a.status===303&&!["GET","HEAD"].includes(t.method)){t.method="GET",t.body=null;for(let s of Xw)t.headersList.delete(s)}kp(tt(t),r)||t.headersList.delete("authorization"),t.body!=null&&(Ea(t.body.source!=null),t.body=fs(t.body.source)[0]);let i=e.timingInfo;return i.redirectEndTime=i.postRedirectStartTime=Vp(e.crossOriginIsolatedCapability),i.redirectStartTime===0&&(i.redirectStartTime=i.startTime),t.urlList.push(r),Mw(t,a),ku(e,!0)}async function Uu(e,A=!1,t=!1){let a=e.request,r=null,i=null,s=null,n=null,o=!1;a.window==="no-window"&&a.redirect==="error"?(r=e,i=a):(i=Nw(a),r={...e},r.request=i);let d=a.credentials==="include"||a.credentials==="same-origin"&&a.responseTainting==="basic",l=i.body?i.body.length:null,p=null;if(i.body==null&&["POST","PUT"].includes(i.method)&&(p="0"),l!=null&&(p=Lp(`${l}`)),p!=null&&i.headersList.append("content-length",p),l!=null&&i.keepalive,i.referrer instanceof URL&&i.headersList.append("referer",Lp(i.referrer.href)),Uw(i),Yw(i),i.headersList.contains("user-agent")||i.headersList.append("user-agent","undici"),i.cache==="default"&&(i.headersList.contains("if-modified-since")||i.headersList.contains("if-none-match")||i.headersList.contains("if-unmodified-since")||i.headersList.contains("if-match")||i.headersList.contains("if-range"))&&(i.cache="no-store"),i.cache==="no-cache"&&!i.preventNoCacheCacheControlHeaderModification&&!i.headersList.contains("cache-control")&&i.headersList.append("cache-control","max-age=0"),(i.cache==="no-store"||i.cache==="reload")&&(i.headersList.contains("pragma")||i.headersList.append("pragma","no-cache"),i.headersList.contains("cache-control")||i.headersList.append("cache-control","no-cache")),i.headersList.contains("range")&&i.headersList.append("accept-encoding","identity"),i.headersList.contains("accept-encoding")||(Ww(tt(i))?i.headersList.append("accept-encoding","br, gzip, deflate"):i.headersList.append("accept-encoding","gzip, deflate")),n==null&&(i.cache="no-store"),i.mode!=="no-store"&&i.mode,s==null){if(i.mode==="only-if-cached")return K("only if cached");let g=await uy(r,d,t);!jw.includes(i.method)&&g.status>=200&&g.status<=399,o&&g.status,s==null&&(s=g)}if(s.urlList=[...i.urlList],i.headersList.contains("range")&&(s.rangeRequested=!0),s.requestIncludesCredentials=d,s.status===407)return a.window==="no-window"?K():ua(e)?hs(e):K("proxy authentication required");if(s.status===421&&!t&&(a.body==null||a.body.source!=null)){if(ua(e))return hs(e);e.controller.connection.destroy(),s=await Uu(e,A,!0)}return s}async function uy(e,A=!1,t=!1){Ea(!e.controller.connection||e.controller.connection.destroyed),e.controller.connection={abort:null,destroyed:!1,destroy(u){this.destroyed||(this.destroyed=!0,this.abort?.(u??new ws("The operation was aborted.","AbortError")))}};let a=e.request,r=null,i=e.timingInfo;null==null&&(a.cache="no-store");let n=t?"yes":"no";a.mode;let o=null;if(a.body==null&&e.processRequestEndOfBody)queueMicrotask(()=>e.processRequestEndOfBody());else if(a.body!=null){let u=async function*(m){ua(e)||(yield m,e.processRequestBodyChunkLength?.(m.byteLength))},Q=()=>{ua(e)||e.processRequestEndOfBody&&e.processRequestEndOfBody()},C=m=>{ua(e)||(m.name==="AbortError"?e.controller.abort():e.controller.terminate(m))};o=async function*(){try{for await(let m of a.body.stream)yield*u(m);Q()}catch(m){C(m)}}()}try{let{body:u,status:Q,statusText:C,headersList:m,socket:B}=await c({body:o});if(B)r=Is({status:Q,statusText:C,headersList:m,socket:B});else{let w=u[Symbol.asyncIterator]();e.controller.next=()=>w.next(),r=Is({status:Q,statusText:C,headersList:m})}}catch(u){return u.name==="AbortError"?(e.controller.connection.destroy(),hs(e)):K(u)}let d=()=>{e.controller.resume()},l=u=>{e.controller.abort(u)};Sp||(Sp=require("stream/web").ReadableStream);let p=new Sp({async start(u){e.controller.controller=u},async pull(u){await d(u)},async cancel(u){await l(u)}},{highWaterMark:0,size(){return 1}});r.body={stream:p},e.controller.on("terminated",g),e.controller.resume=async()=>{for(;;){let u,Q;try{let{done:C,value:m}=await e.controller.next();if(wu(e))break;u=C?void 0:m}catch(C){e.controller.ended&&!i.encodedBodySize?u=void 0:(u=C,Q=!0)}if(u===void 0){Ow(e.controller.controller),gy(e,r);return}if(i.decodedBodySize+=u?.byteLength??0,Q){e.controller.terminate(u);return}if(e.controller.controller.enqueue(new Uint8Array(u)),ty(p)){e.controller.terminate();return}if(!e.controller.controller.desiredSize)return}};function g(u){wu(e)?(r.aborted=!0,ys(p)&&e.controller.controller.error(e.controller.serializedAbortReason)):ys(p)&&e.controller.controller.error(new TypeError("terminated",{cause:Hw(u)?u:void 0})),e.controller.connection.destroy()}return r;async function c({body:u}){let Q=tt(a),C=e.controller.dispatcher;return new Promise((m,B)=>C.dispatch({path:Q.pathname+Q.search,origin:Q.origin,method:a.method,body:e.controller.dispatcher.isMockActive?a.body&&a.body.source:u,headers:a.headersList.entries,maxRedirections:0,upgrade:a.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(w){let{connection:I}=e.controller;I.destroyed?w(new ws("The operation was aborted.","AbortError")):(e.controller.on("terminated",w),this.abort=I.abort=w)},onHeaders(w,I,y,S){if(w<200)return;let k=[],x="",we=new fu;for(let be=0;be<I.length;be+=2){let le=I[be+0].toString("latin1"),mA=I[be+1].toString("latin1");le.toLowerCase()==="content-encoding"?k=mA.toLowerCase().split(",").map(j=>j.trim()).reverse():le.toLowerCase()==="location"&&(x=mA),we.append(le,mA)}this.body=new $w({read:y});let Ce=[],yt=a.redirect==="follow"&&x&&Nu.includes(w);if(a.method!=="HEAD"&&a.method!=="CONNECT"&&!Su.includes(w)&&!yt)for(let be of k)if(be==="x-gzip"||be==="gzip")Ce.push(wr.createGunzip({flush:wr.constants.Z_SYNC_FLUSH,finishFlush:wr.constants.Z_SYNC_FLUSH}));else if(be==="deflate")Ce.push(wr.createInflate());else if(be==="br")Ce.push(wr.createBrotliDecompress());else{Ce.length=0;break}return m({status:w,statusText:S,headersList:we[Tp],body:Ce.length?ey(this.body,...Ce,()=>{}):this.body.on("error",()=>{})}),!0},onData(w){if(e.controller.dump)return;let I=w;return i.encodedBodySize+=I.byteLength,this.body.push(I)},onComplete(){this.abort&&e.controller.off("terminated",this.abort),e.controller.ended=!0,this.body.push(null)},onError(w){this.abort&&e.controller.off("terminated",this.abort),this.body?.destroy(w),e.controller.terminate(w),B(w)},onUpgrade(w,I,y){if(w!==101)return;let S=new fu;for(let k=0;k<I.length;k+=2){let x=I[k+0].toString("latin1"),we=I[k+1].toString("latin1");S.append(x,we)}return m({status:w,statusText:dy[w],headersList:S[Tp],socket:y}),!0}}))}}Tu.exports={fetch:py,Fetch:Ds,fetching:Fu,finalizeAndReportTiming:bu}});var Jp=E((sb,Mu)=>{"use strict";Mu.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}});var Yu=E((nb,Vu)=>{"use strict";var{webidl:cA}=Ge(),vs=Symbol("ProgressEvent state"),Gp=class e extends Event{constructor(A,t={}){A=cA.converters.DOMString(A),t=cA.converters.ProgressEventInit(t??{}),super(A,t),this[vs]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){return cA.brandCheck(this,e),this[vs].lengthComputable}get loaded(){return cA.brandCheck(this,e),this[vs].loaded}get total(){return cA.brandCheck(this,e),this[vs].total}};cA.converters.ProgressEventInit=cA.dictionaryConverter([{key:"lengthComputable",converter:cA.converters.boolean,defaultValue:!1},{key:"loaded",converter:cA.converters["unsigned long long"],defaultValue:0},{key:"total",converter:cA.converters["unsigned long long"],defaultValue:0},{key:"bubbles",converter:cA.converters.boolean,defaultValue:!1},{key:"cancelable",converter:cA.converters.boolean,defaultValue:!1},{key:"composed",converter:cA.converters.boolean,defaultValue:!1}]);Vu.exports={ProgressEvent:Gp}});var Gu=E((ob,Ju)=>{"use strict";function Ey(e){if(!e)return"failure";switch(e.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}Ju.exports={getEncoding:Ey}});var Zu=E((db,Wu)=>{"use strict";var{kState:Qa,kError:xp,kResult:xu,kAborted:yr,kLastProgressEventFired:_p}=Jp(),{ProgressEvent:Qy}=Yu(),{getEncoding:_u}=Gu(),{DOMException:my}=Lt(),{serializeAMimeType:Cy,parseMIMEType:qu}=TA(),{types:By}=require("util"),{StringDecoder:Hu}=require("string_decoder"),{btoa:Ou}=require("buffer"),hy={enumerable:!0,writable:!1,configurable:!1};function Iy(e,A,t,a){if(e[Qa]==="loading")throw new my("Invalid state","InvalidStateError");e[Qa]="loading",e[xu]=null,e[xp]=null;let i=A.stream().getReader(),s=[],n=i.read(),o=!0;(async()=>{for(;!e[yr];)try{let{done:d,value:l}=await n;if(o&&!e[yr]&&queueMicrotask(()=>{xt("loadstart",e)}),o=!1,!d&&By.isUint8Array(l))s.push(l),(e[_p]===void 0||Date.now()-e[_p]>=50)&&!e[yr]&&(e[_p]=Date.now(),queueMicrotask(()=>{xt("progress",e)})),n=i.read();else if(d){queueMicrotask(()=>{e[Qa]="done";try{let p=fy(s,t,A.type,a);if(e[yr])return;e[xu]=p,xt("load",e)}catch(p){e[xp]=p,xt("error",e)}e[Qa]!=="loading"&&xt("loadend",e)});break}}catch(d){if(e[yr])return;queueMicrotask(()=>{e[Qa]="done",e[xp]=d,xt("error",e),e[Qa]!=="loading"&&xt("loadend",e)});break}})()}function xt(e,A){let t=new Qy(e,{bubbles:!1,cancelable:!1});A.dispatchEvent(t)}function fy(e,A,t,a){switch(A){case"DataURL":{let r="data:",i=qu(t||"application/octet-stream");i!=="failure"&&(r+=Cy(i)),r+=";base64,";let s=new Hu("latin1");for(let n of e)r+=Ou(s.write(n));return r+=Ou(s.end()),r}case"Text":{let r="failure";if(a&&(r=_u(a)),r==="failure"&&t){let i=qu(t);i!=="failure"&&(r=_u(i.parameters.get("charset")))}return r==="failure"&&(r="UTF-8"),wy(e,r)}case"ArrayBuffer":return Pu(e).buffer;case"BinaryString":{let r="",i=new Hu("latin1");for(let s of e)r+=i.write(s);return r+=i.end(),r}}}function wy(e,A){let t=Pu(e),a=yy(t),r=0;a!==null&&(A=a,r=a==="UTF-8"?3:2);let i=t.slice(r);return new TextDecoder(A).decode(i)}function yy(e){let[A,t,a]=e;return A===239&&t===187&&a===191?"UTF-8":A===254&&t===255?"UTF-16BE":A===255&&t===254?"UTF-16LE":null}function Pu(e){let A=e.reduce((a,r)=>a+r.byteLength,0),t=0;return e.reduce((a,r)=>(a.set(r,t),t+=r.byteLength,a),new Uint8Array(A))}Wu.exports={staticPropertyDescriptors:hy,readOperation:Iy,fireAProgressEvent:xt}});var Ku=E((pb,zu)=>{"use strict";var{staticPropertyDescriptors:ma,readOperation:Ns,fireAProgressEvent:ju}=Zu(),{kState:E1,kError:Xu,kResult:Ss,kEvents:O,kAborted:Dy}=Jp(),{webidl:X}=Ge(),{kEnumerableProperty:$e}=q(),YA=class e extends EventTarget{constructor(){super(),this[E1]="empty",this[Ss]=null,this[Xu]=null,this[O]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(A){X.brandCheck(this,e),X.argumentLengthCheck(arguments,1,{header:"FileReader.readAsArrayBuffer"}),A=X.converters.Blob(A,{strict:!1}),Ns(this,A,"ArrayBuffer")}readAsBinaryString(A){X.brandCheck(this,e),X.argumentLengthCheck(arguments,1,{header:"FileReader.readAsBinaryString"}),A=X.converters.Blob(A,{strict:!1}),Ns(this,A,"BinaryString")}readAsText(A,t=void 0){X.brandCheck(this,e),X.argumentLengthCheck(arguments,1,{header:"FileReader.readAsText"}),A=X.converters.Blob(A,{strict:!1}),t!==void 0&&(t=X.converters.DOMString(t)),Ns(this,A,"Text",t)}readAsDataURL(A){X.brandCheck(this,e),X.argumentLengthCheck(arguments,1,{header:"FileReader.readAsDataURL"}),A=X.converters.Blob(A,{strict:!1}),Ns(this,A,"DataURL")}abort(){if(this[E1]==="empty"||this[E1]==="done"){this[Ss]=null;return}this[E1]==="loading"&&(this[E1]="done",this[Ss]=null),this[Dy]=!0,ju("abort",this),this[E1]!=="loading"&&ju("loadend",this)}get readyState(){switch(X.brandCheck(this,e),this[E1]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){return X.brandCheck(this,e),this[Ss]}get error(){return X.brandCheck(this,e),this[Xu]}get onloadend(){return X.brandCheck(this,e),this[O].loadend}set onloadend(A){X.brandCheck(this,e),this[O].loadend&&this.removeEventListener("loadend",this[O].loadend),typeof A=="function"?(this[O].loadend=A,this.addEventListener("loadend",A)):this[O].loadend=null}get onerror(){return X.brandCheck(this,e),this[O].error}set onerror(A){X.brandCheck(this,e),this[O].error&&this.removeEventListener("error",this[O].error),typeof A=="function"?(this[O].error=A,this.addEventListener("error",A)):this[O].error=null}get onloadstart(){return X.brandCheck(this,e),this[O].loadstart}set onloadstart(A){X.brandCheck(this,e),this[O].loadstart&&this.removeEventListener("loadstart",this[O].loadstart),typeof A=="function"?(this[O].loadstart=A,this.addEventListener("loadstart",A)):this[O].loadstart=null}get onprogress(){return X.brandCheck(this,e),this[O].progress}set onprogress(A){X.brandCheck(this,e),this[O].progress&&this.removeEventListener("progress",this[O].progress),typeof A=="function"?(this[O].progress=A,this.addEventListener("progress",A)):this[O].progress=null}get onload(){return X.brandCheck(this,e),this[O].load}set onload(A){X.brandCheck(this,e),this[O].load&&this.removeEventListener("load",this[O].load),typeof A=="function"?(this[O].load=A,this.addEventListener("load",A)):this[O].load=null}get onabort(){return X.brandCheck(this,e),this[O].abort}set onabort(A){X.brandCheck(this,e),this[O].abort&&this.removeEventListener("abort",this[O].abort),typeof A=="function"?(this[O].abort=A,this.addEventListener("abort",A)):this[O].abort=null}};YA.EMPTY=YA.prototype.EMPTY=0;YA.LOADING=YA.prototype.LOADING=1;YA.DONE=YA.prototype.DONE=2;Object.defineProperties(YA.prototype,{EMPTY:ma,LOADING:ma,DONE:ma,readAsArrayBuffer:$e,readAsBinaryString:$e,readAsText:$e,readAsDataURL:$e,abort:$e,readyState:$e,result:$e,error:$e,onloadstart:$e,onprogress:$e,onload:$e,onabort:$e,onerror:$e,onloadend:$e,[Symbol.toStringTag]:{value:"FileReader",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(YA,{EMPTY:ma,LOADING:ma,DONE:ma});zu.exports={FileReader:YA}});var bs=E((lb,$u)=>{"use strict";$u.exports={kConstruct:Symbol("constructable")}});var t9=E((gb,A9)=>{"use strict";var Ry=require("assert"),{URLSerializer:e9}=TA(),{isValidHeaderName:vy}=fA();function Ny(e,A,t=!1){let a=e9(e,t),r=e9(A,t);return a===r}function Sy(e){Ry(e!==null);let A=[];for(let t of e.split(",")){if(t=t.trim(),t.length){if(!vy(t))continue}else continue;A.push(t)}return A}A9.exports={urlEquals:Ny,fieldValues:Sy}});var o9=E((cb,n9)=>{"use strict";var{kConstruct:by}=bs(),{urlEquals:Fy,fieldValues:qp}=t9(),{kEnumerableProperty:Q1,isDisturbed:ky}=q(),{kHeadersList:a9}=ie(),{webidl:v}=Ge(),{Response:i9,cloneResponse:Ly}=Qs(),{Request:at}=fr(),{kState:Oe,kHeaders:Fs,kGuard:r9,kRealm:Uy}=lt(),{fetching:Ty}=Rs(),{urlIsHttpHttpsScheme:ks,createDeferredPromise:Ca,readAllBytes:My}=fA(),Hp=require("assert"),{getGlobalDispatcher:Vy}=pa(),Ls=class e{#e;constructor(){arguments[0]!==by&&v.illegalConstructor(),this.#e=arguments[1]}async match(A,t={}){v.brandCheck(this,e),v.argumentLengthCheck(arguments,1,{header:"Cache.match"}),A=v.converters.RequestInfo(A),t=v.converters.CacheQueryOptions(t);let a=await this.matchAll(A,t);if(a.length!==0)return a[0]}async matchAll(A=void 0,t={}){v.brandCheck(this,e),A!==void 0&&(A=v.converters.RequestInfo(A)),t=v.converters.CacheQueryOptions(t);let a=null;if(A!==void 0)if(A instanceof at){if(a=A[Oe],a.method!=="GET"&&!t.ignoreMethod)return[]}else typeof A=="string"&&(a=new at(A)[Oe]);let r=[];if(A===void 0)for(let s of this.#e)r.push(s[1]);else{let s=this.#A(a,t);for(let n of s)r.push(n[1])}let i=[];for(let s of r){let n=new i9(s.body?.source??null),o=n[Oe].body;n[Oe]=s,n[Oe].body=o,n[Fs][a9]=s.headersList,n[Fs][r9]="immutable",i.push(n)}return Object.freeze(i)}async add(A){v.brandCheck(this,e),v.argumentLengthCheck(arguments,1,{header:"Cache.add"}),A=v.converters.RequestInfo(A);let t=[A];return await this.addAll(t)}async addAll(A){v.brandCheck(this,e),v.argumentLengthCheck(arguments,1,{header:"Cache.addAll"}),A=v.converters["sequence<RequestInfo>"](A);let t=[],a=[];for(let p of A){if(typeof p=="string")continue;let g=p[Oe];if(!ks(g.url)||g.method!=="GET")throw v.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme when method is not GET."})}let r=[];for(let p of A){let g=new at(p)[Oe];if(!ks(g.url))throw v.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme."});g.initiator="fetch",g.destination="subresource",a.push(g);let c=Ca();r.push(Ty({request:g,dispatcher:Vy(),processResponse(u){if(u.type==="error"||u.status===206||u.status<200||u.status>299)c.reject(v.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(u.headersList.contains("vary")){let Q=qp(u.headersList.get("vary"));for(let C of Q)if(C==="*"){c.reject(v.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let m of r)m.abort();return}}},processResponseEndOfBody(u){if(u.aborted){c.reject(new DOMException("aborted","AbortError"));return}c.resolve(u)}})),t.push(c.promise)}let s=await Promise.all(t),n=[],o=0;for(let p of s){let g={type:"put",request:a[o],response:p};n.push(g),o++}let d=Ca(),l=null;try{this.#a(n)}catch(p){l=p}return queueMicrotask(()=>{l===null?d.resolve(void 0):d.reject(l)}),d.promise}async put(A,t){v.brandCheck(this,e),v.argumentLengthCheck(arguments,2,{header:"Cache.put"}),A=v.converters.RequestInfo(A),t=v.converters.Response(t);let a=null;if(A instanceof at?a=A[Oe]:a=new at(A)[Oe],!ks(a.url)||a.method!=="GET")throw v.errors.exception({header:"Cache.put",message:"Expected an http/s scheme when method is not GET"});let r=t[Oe];if(r.status===206)throw v.errors.exception({header:"Cache.put",message:"Got 206 status"});if(r.headersList.contains("vary")){let g=qp(r.headersList.get("vary"));for(let c of g)if(c==="*")throw v.errors.exception({header:"Cache.put",message:"Got * vary field value"})}if(r.body&&(ky(r.body.stream)||r.body.stream.locked))throw v.errors.exception({header:"Cache.put",message:"Response body is locked or disturbed"});let i=Ly(r),s=Ca();if(r.body!=null){let c=r.body.stream.getReader();My(c,u=>s.resolve(u),u=>s.reject(u))}else s.resolve(void 0);let n=[],o={type:"put",request:a,response:i};n.push(o);let d=await s.promise;i.body!=null&&(i.body.source=d);let l=Ca(),p=null;try{this.#a(n)}catch(g){p=g}return queueMicrotask(()=>{p===null?l.resolve():l.reject(p)}),l.promise}async delete(A,t={}){v.brandCheck(this,e),v.argumentLengthCheck(arguments,1,{header:"Cache.delete"}),A=v.converters.RequestInfo(A),t=v.converters.CacheQueryOptions(t);let a=null;if(A instanceof at){if(a=A[Oe],a.method!=="GET"&&!t.ignoreMethod)return!1}else Hp(typeof A=="string"),a=new at(A)[Oe];let r=[],i={type:"delete",request:a,options:t};r.push(i);let s=Ca(),n=null,o;try{o=this.#a(r)}catch(d){n=d}return queueMicrotask(()=>{n===null?s.resolve(!!o?.length):s.reject(n)}),s.promise}async keys(A=void 0,t={}){v.brandCheck(this,e),A!==void 0&&(A=v.converters.RequestInfo(A)),t=v.converters.CacheQueryOptions(t);let a=null;if(A!==void 0)if(A instanceof at){if(a=A[Oe],a.method!=="GET"&&!t.ignoreMethod)return[]}else typeof A=="string"&&(a=new at(A)[Oe]);let r=Ca(),i=[];if(A===void 0)for(let s of this.#e)i.push(s[0]);else{let s=this.#A(a,t);for(let n of s)i.push(n[0])}return queueMicrotask(()=>{let s=[];for(let n of i){let o=new at("https://a");o[Oe]=n,o[Fs][a9]=n.headersList,o[Fs][r9]="immutable",o[Uy]=n.client,s.push(o)}r.resolve(Object.freeze(s))}),r.promise}#a(A){let t=this.#e,a=[...t],r=[],i=[];try{for(let s of A){if(s.type!=="delete"&&s.type!=="put")throw v.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(s.type==="delete"&&s.response!=null)throw v.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#A(s.request,s.options,r).length)throw new DOMException("???","InvalidStateError");let n;if(s.type==="delete"){if(n=this.#A(s.request,s.options),n.length===0)return[];for(let o of n){let d=t.indexOf(o);Hp(d!==-1),t.splice(d,1)}}else if(s.type==="put"){if(s.response==null)throw v.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let o=s.request;if(!ks(o.url))throw v.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(o.method!=="GET")throw v.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(s.options!=null)throw v.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});n=this.#A(s.request);for(let d of n){let l=t.indexOf(d);Hp(l!==-1),t.splice(l,1)}t.push([s.request,s.response]),r.push([s.request,s.response])}i.push([s.request,s.response])}return i}catch(s){throw this.#e.length=0,this.#e=a,s}}#A(A,t,a){let r=[],i=a??this.#e;for(let s of i){let[n,o]=s;this.#t(A,n,o,t)&&r.push(s)}return r}#t(A,t,a=null,r){let i=new URL(A.url),s=new URL(t.url);if(r?.ignoreSearch&&(s.search="",i.search=""),!Fy(i,s,!0))return!1;if(a==null||r?.ignoreVary||!a.headersList.contains("vary"))return!0;let n=qp(a.headersList.get("vary"));for(let o of n){if(o==="*")return!1;let d=t.headersList.get(o),l=A.headersList.get(o);if(d!==l)return!1}return!0}};Object.defineProperties(Ls.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:Q1,matchAll:Q1,add:Q1,addAll:Q1,put:Q1,delete:Q1,keys:Q1});var s9=[{key:"ignoreSearch",converter:v.converters.boolean,defaultValue:!1},{key:"ignoreMethod",converter:v.converters.boolean,defaultValue:!1},{key:"ignoreVary",converter:v.converters.boolean,defaultValue:!1}];v.converters.CacheQueryOptions=v.dictionaryConverter(s9);v.converters.MultiCacheQueryOptions=v.dictionaryConverter([...s9,{key:"cacheName",converter:v.converters.DOMString}]);v.converters.Response=v.interfaceConverter(i9);v.converters["sequence<RequestInfo>"]=v.sequenceConverter(v.converters.RequestInfo);n9.exports={Cache:Ls}});var p9=E((ub,d9)=>{"use strict";var{kConstruct:Dr}=bs(),{Cache:Us}=o9(),{webidl:Pe}=Ge(),{kEnumerableProperty:Rr}=q(),Ts=class e{#e=new Map;constructor(){arguments[0]!==Dr&&Pe.illegalConstructor()}async match(A,t={}){if(Pe.brandCheck(this,e),Pe.argumentLengthCheck(arguments,1,{header:"CacheStorage.match"}),A=Pe.converters.RequestInfo(A),t=Pe.converters.MultiCacheQueryOptions(t),t.cacheName!=null){if(this.#e.has(t.cacheName)){let a=this.#e.get(t.cacheName);return await new Us(Dr,a).match(A,t)}}else for(let a of this.#e.values()){let i=await new Us(Dr,a).match(A,t);if(i!==void 0)return i}}async has(A){return Pe.brandCheck(this,e),Pe.argumentLengthCheck(arguments,1,{header:"CacheStorage.has"}),A=Pe.converters.DOMString(A),this.#e.has(A)}async open(A){if(Pe.brandCheck(this,e),Pe.argumentLengthCheck(arguments,1,{header:"CacheStorage.open"}),A=Pe.converters.DOMString(A),this.#e.has(A)){let a=this.#e.get(A);return new Us(Dr,a)}let t=[];return this.#e.set(A,t),new Us(Dr,t)}async delete(A){return Pe.brandCheck(this,e),Pe.argumentLengthCheck(arguments,1,{header:"CacheStorage.delete"}),A=Pe.converters.DOMString(A),this.#e.delete(A)}async keys(){return Pe.brandCheck(this,e),[...this.#e.keys()]}};Object.defineProperties(Ts.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:Rr,has:Rr,open:Rr,delete:Rr,keys:Rr});d9.exports={CacheStorage:Ts}});var g9=E((Eb,l9)=>{"use strict";l9.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}});var Op=E((Qb,E9)=>{"use strict";var c9=require("assert"),{kHeadersList:u9}=ie();function Yy(e){if(e.length===0)return!1;for(let A of e){let t=A.charCodeAt(0);if(t>=0||t<=8||t>=10||t<=31||t===127)return!1}}function Jy(e){for(let A of e){let t=A.charCodeAt(0);if(t<=32||t>127||A==="("||A===")"||A===">"||A==="<"||A==="@"||A===","||A===";"||A===":"||A==="\\"||A==='"'||A==="/"||A==="["||A==="]"||A==="?"||A==="="||A==="{"||A==="}")throw new Error("Invalid cookie name")}}function Gy(e){for(let A of e){let t=A.charCodeAt(0);if(t<33||t===34||t===44||t===59||t===92||t>126)throw new Error("Invalid header value")}}function xy(e){for(let A of e)if(A.charCodeAt(0)<33||A===";")throw new Error("Invalid cookie path")}function _y(e){if(e.startsWith("-")||e.endsWith(".")||e.endsWith("-"))throw new Error("Invalid cookie domain")}function qy(e){typeof e=="number"&&(e=new Date(e));let A=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],a=A[e.getUTCDay()],r=e.getUTCDate().toString().padStart(2,"0"),i=t[e.getUTCMonth()],s=e.getUTCFullYear(),n=e.getUTCHours().toString().padStart(2,"0"),o=e.getUTCMinutes().toString().padStart(2,"0"),d=e.getUTCSeconds().toString().padStart(2,"0");return`${a}, ${r} ${i} ${s} ${n}:${o}:${d} GMT`}function Hy(e){if(e<0)throw new Error("Invalid cookie max-age")}function Oy(e){if(e.name.length===0)return null;Jy(e.name),Gy(e.value);let A=[`${e.name}=${e.value}`];e.name.startsWith("__Secure-")&&(e.secure=!0),e.name.startsWith("__Host-")&&(e.secure=!0,e.domain=null,e.path="/"),e.secure&&A.push("Secure"),e.httpOnly&&A.push("HttpOnly"),typeof e.maxAge=="number"&&(Hy(e.maxAge),A.push(`Max-Age=${e.maxAge}`)),e.domain&&(_y(e.domain),A.push(`Domain=${e.domain}`)),e.path&&(xy(e.path),A.push(`Path=${e.path}`)),e.expires&&e.expires.toString()!=="Invalid Date"&&A.push(`Expires=${qy(e.expires)}`),e.sameSite&&A.push(`SameSite=${e.sameSite}`);for(let t of e.unparsed){if(!t.includes("="))throw new Error("Invalid unparsed");let[a,...r]=t.split("=");A.push(`${a.trim()}=${r.join("=")}`)}return A.join("; ")}var Ms;function Py(e){if(e[u9])return e[u9];Ms||(Ms=Object.getOwnPropertySymbols(e).find(t=>t.description==="headers list"),c9(Ms,"Headers cannot be parsed"));let A=e[Ms];return c9(A),A}E9.exports={isCTLExcludingHtab:Yy,stringify:Oy,getHeadersList:Py}});var m9=E((mb,Q9)=>{"use strict";var{maxNameValuePairSize:Wy,maxAttributeValueSize:Zy}=g9(),{isCTLExcludingHtab:jy}=Op(),{collectASequenceOfCodePointsFast:Vs}=TA(),Xy=require("assert");function zy(e){if(jy(e))return null;let A="",t="",a="",r="";if(e.includes(";")){let i={position:0};A=Vs(";",e,i),t=e.slice(i.position)}else A=e;if(!A.includes("="))r=A;else{let i={position:0};a=Vs("=",A,i),r=A.slice(i.position+1)}return a=a.trim(),r=r.trim(),a.length+r.length>Wy?null:{name:a,value:r,...Ba(t)}}function Ba(e,A={}){if(e.length===0)return A;Xy(e[0]===";"),e=e.slice(1);let t="";e.includes(";")?(t=Vs(";",e,{position:0}),e=e.slice(t.length)):(t=e,e="");let a="",r="";if(t.includes("=")){let s={position:0};a=Vs("=",t,s),r=t.slice(s.position+1)}else a=t;if(a=a.trim(),r=r.trim(),r.length>Zy)return Ba(e,A);let i=a.toLowerCase();if(i==="expires"){let s=new Date(r);A.expires=s}else if(i==="max-age"){let s=r.charCodeAt(0);if((s<48||s>57)&&r[0]!=="-"||!/^\d+$/.test(r))return Ba(e,A);let n=Number(r);A.maxAge=n}else if(i==="domain"){let s=r;s[0]==="."&&(s=s.slice(1)),s=s.toLowerCase(),A.domain=s}else if(i==="path"){let s="";r.length===0||r[0]!=="/"?s="/":s=r,A.path=s}else if(i==="secure")A.secure=!0;else if(i==="httponly")A.httpOnly=!0;else if(i==="samesite"){let s="Default",n=r.toLowerCase();n.includes("none")&&(s="None"),n.includes("strict")&&(s="Strict"),n.includes("lax")&&(s="Lax"),A.sameSite=s}else A.unparsed??=[],A.unparsed.push(`${a}=${r}`);return Ba(e,A)}Q9.exports={parseSetCookie:zy,parseUnparsedAttributes:Ba}});var I9=E((Cb,h9)=>{"use strict";var{parseSetCookie:Ky}=m9(),{stringify:C9,getHeadersList:$y}=Op(),{webidl:G}=Ge(),{Headers:Ys}=c1();function eD(e){G.argumentLengthCheck(arguments,1,{header:"getCookies"}),G.brandCheck(e,Ys,{strict:!1});let A=e.get("cookie"),t={};if(!A)return t;for(let a of A.split(";")){let[r,...i]=a.split("=");t[r.trim()]=i.join("=")}return t}function AD(e,A,t){G.argumentLengthCheck(arguments,2,{header:"deleteCookie"}),G.brandCheck(e,Ys,{strict:!1}),A=G.converters.DOMString(A),t=G.converters.DeleteCookieAttributes(t),B9(e,{name:A,value:"",expires:new Date(0),...t})}function tD(e){G.argumentLengthCheck(arguments,1,{header:"getSetCookies"}),G.brandCheck(e,Ys,{strict:!1});let A=$y(e).cookies;return A?A.map(t=>Ky(Array.isArray(t)?t[1]:t)):[]}function B9(e,A){G.argumentLengthCheck(arguments,2,{header:"setCookie"}),G.brandCheck(e,Ys,{strict:!1}),A=G.converters.Cookie(A),C9(A)&&e.append("Set-Cookie",C9(A))}G.converters.DeleteCookieAttributes=G.dictionaryConverter([{converter:G.nullableConverter(G.converters.DOMString),key:"path",defaultValue:null},{converter:G.nullableConverter(G.converters.DOMString),key:"domain",defaultValue:null}]);G.converters.Cookie=G.dictionaryConverter([{converter:G.converters.DOMString,key:"name"},{converter:G.converters.DOMString,key:"value"},{converter:G.nullableConverter(e=>typeof e=="number"?G.converters["unsigned long long"](e):new Date(e)),key:"expires",defaultValue:null},{converter:G.nullableConverter(G.converters["long long"]),key:"maxAge",defaultValue:null},{converter:G.nullableConverter(G.converters.DOMString),key:"domain",defaultValue:null},{converter:G.nullableConverter(G.converters.DOMString),key:"path",defaultValue:null},{converter:G.nullableConverter(G.converters.boolean),key:"secure",defaultValue:null},{converter:G.nullableConverter(G.converters.boolean),key:"httpOnly",defaultValue:null},{converter:G.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:G.sequenceConverter(G.converters.DOMString),key:"unparsed",defaultValue:[]}]);h9.exports={getCookies:eD,deleteCookie:AD,getSetCookies:tD,setCookie:B9}});var ha=E((Bb,f9)=>{"use strict";var aD="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",rD={enumerable:!0,writable:!1,configurable:!1},iD={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},sD={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},nD=2**16-1,oD={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},dD=Buffer.allocUnsafe(0);f9.exports={uid:aD,staticPropertyDescriptors:rD,states:iD,opcodes:sD,maxUnsigned16Bit:nD,parserStates:oD,emptyBuffer:dD}});var vr=E((hb,w9)=>{"use strict";w9.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}});var Wp=E((Ib,y9)=>{"use strict";var{webidl:N}=Ge(),{kEnumerableProperty:eA}=q(),{MessagePort:pD}=require("worker_threads"),Js=class e extends Event{#e;constructor(A,t={}){N.argumentLengthCheck(arguments,1,{header:"MessageEvent constructor"}),A=N.converters.DOMString(A),t=N.converters.MessageEventInit(t),super(A,t),this.#e=t}get data(){return N.brandCheck(this,e),this.#e.data}get origin(){return N.brandCheck(this,e),this.#e.origin}get lastEventId(){return N.brandCheck(this,e),this.#e.lastEventId}get source(){return N.brandCheck(this,e),this.#e.source}get ports(){return N.brandCheck(this,e),Object.isFrozen(this.#e.ports)||Object.freeze(this.#e.ports),this.#e.ports}initMessageEvent(A,t=!1,a=!1,r=null,i="",s="",n=null,o=[]){return N.brandCheck(this,e),N.argumentLengthCheck(arguments,1,{header:"MessageEvent.initMessageEvent"}),new e(A,{bubbles:t,cancelable:a,data:r,origin:i,lastEventId:s,source:n,ports:o})}},Gs=class e extends Event{#e;constructor(A,t={}){N.argumentLengthCheck(arguments,1,{header:"CloseEvent constructor"}),A=N.converters.DOMString(A),t=N.converters.CloseEventInit(t),super(A,t),this.#e=t}get wasClean(){return N.brandCheck(this,e),this.#e.wasClean}get code(){return N.brandCheck(this,e),this.#e.code}get reason(){return N.brandCheck(this,e),this.#e.reason}},xs=class e extends Event{#e;constructor(A,t){N.argumentLengthCheck(arguments,1,{header:"ErrorEvent constructor"}),super(A,t),A=N.converters.DOMString(A),t=N.converters.ErrorEventInit(t??{}),this.#e=t}get message(){return N.brandCheck(this,e),this.#e.message}get filename(){return N.brandCheck(this,e),this.#e.filename}get lineno(){return N.brandCheck(this,e),this.#e.lineno}get colno(){return N.brandCheck(this,e),this.#e.colno}get error(){return N.brandCheck(this,e),this.#e.error}};Object.defineProperties(Js.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:eA,origin:eA,lastEventId:eA,source:eA,ports:eA,initMessageEvent:eA});Object.defineProperties(Gs.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:eA,code:eA,wasClean:eA});Object.defineProperties(xs.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:eA,filename:eA,lineno:eA,colno:eA,error:eA});N.converters.MessagePort=N.interfaceConverter(pD);N.converters["sequence<MessagePort>"]=N.sequenceConverter(N.converters.MessagePort);var Pp=[{key:"bubbles",converter:N.converters.boolean,defaultValue:!1},{key:"cancelable",converter:N.converters.boolean,defaultValue:!1},{key:"composed",converter:N.converters.boolean,defaultValue:!1}];N.converters.MessageEventInit=N.dictionaryConverter([...Pp,{key:"data",converter:N.converters.any,defaultValue:null},{key:"origin",converter:N.converters.USVString,defaultValue:""},{key:"lastEventId",converter:N.converters.DOMString,defaultValue:""},{key:"source",converter:N.nullableConverter(N.converters.MessagePort),defaultValue:null},{key:"ports",converter:N.converters["sequence<MessagePort>"],get defaultValue(){return[]}}]);N.converters.CloseEventInit=N.dictionaryConverter([...Pp,{key:"wasClean",converter:N.converters.boolean,defaultValue:!1},{key:"code",converter:N.converters["unsigned short"],defaultValue:0},{key:"reason",converter:N.converters.USVString,defaultValue:""}]);N.converters.ErrorEventInit=N.dictionaryConverter([...Pp,{key:"message",converter:N.converters.DOMString,defaultValue:""},{key:"filename",converter:N.converters.USVString,defaultValue:""},{key:"lineno",converter:N.converters["unsigned long"],defaultValue:0},{key:"colno",converter:N.converters["unsigned long"],defaultValue:0},{key:"error",converter:N.converters.any}]);y9.exports={MessageEvent:Js,CloseEvent:Gs,ErrorEvent:xs}});var Hs=E((fb,v9)=>{"use strict";var{kReadyState:_s,kController:lD,kResponse:gD,kBinaryType:cD,kWebSocketURL:uD}=vr(),{states:qs,opcodes:D9}=ha(),{MessageEvent:ED,ErrorEvent:QD}=Wp();function mD(e){return e[_s]===qs.OPEN}function CD(e){return e[_s]===qs.CLOSING}function BD(e){return e[_s]===qs.CLOSED}function Zp(e,A,t=Event,a){let r=new t(e,a);A.dispatchEvent(r)}function hD(e,A,t){if(e[_s]!==qs.OPEN)return;let a;if(A===D9.TEXT)try{a=new TextDecoder("utf-8",{fatal:!0}).decode(t)}catch{R9(e,"Received invalid UTF-8 in text frame.");return}else A===D9.BINARY&&(e[cD]==="blob"?a=new Blob([t]):a=new Uint8Array(t).buffer);Zp("message",e,ED,{origin:e[uD].origin,data:a})}function ID(e){if(e.length===0)return!1;for(let A of e){let t=A.charCodeAt(0);if(t<33||t>126||A==="("||A===")"||A==="<"||A===">"||A==="@"||A===","||A===";"||A===":"||A==="\\"||A==='"'||A==="/"||A==="["||A==="]"||A==="?"||A==="="||A==="{"||A==="}"||t===32||t===9)return!1}return!0}function fD(e){return e>=1e3&&e<1015?e!==1004&&e!==1005&&e!==1006:e>=3e3&&e<=4999}function R9(e,A){let{[lD]:t,[gD]:a}=e;t.abort(),a?.socket&&!a.socket.destroyed&&a.socket.destroy(),A&&Zp("error",e,QD,{error:new Error(A)})}v9.exports={isEstablished:mD,isClosing:CD,isClosed:BD,fireEvent:Zp,isValidSubprotocol:ID,isValidStatusCode:fD,failWebsocketConnection:R9,websocketMessageReceived:hD}});var L9=E((wb,k9)=>{"use strict";var{randomBytes:wD,createHash:yD}=require("crypto"),jp=require("diagnostics_channel"),{uid:DD,states:S9}=ha(),{kReadyState:b9,kSentClose:N9,kByteParser:F9,kReceivedClose:RD}=vr(),{fireEvent:vD,failWebsocketConnection:m1}=Hs(),{CloseEvent:ND}=Wp(),{makeRequest:SD}=fr(),{fetching:bD}=Rs(),{Headers:FD}=c1(),{getGlobalDispatcher:kD}=pa(),{kHeadersList:LD}=ie(),Bt={};Bt.open=jp.channel("undici:websocket:open");Bt.close=jp.channel("undici:websocket:close");Bt.socketError=jp.channel("undici:websocket:socket_error");function UD(e,A,t,a,r){let i=e;i.protocol=e.protocol==="ws:"?"http:":"https:";let s=SD({urlList:[i],serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(r.headers){let l=new FD(r.headers)[LD];s.headersList=l}let n=wD(16).toString("base64");s.headersList.append("sec-websocket-key",n),s.headersList.append("sec-websocket-version","13");for(let l of A)s.headersList.append("sec-websocket-protocol",l);let o="";return bD({request:s,useParallelQueue:!0,dispatcher:r.dispatcher??kD(),processResponse(l){if(l.type==="error"||l.status!==101){m1(t,"Received network error or non-101 status code.");return}if(A.length!==0&&!l.headersList.get("Sec-WebSocket-Protocol")){m1(t,"Server did not respond with sent protocols.");return}if(l.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){m1(t,'Server did not set Upgrade header to "websocket".');return}if(l.headersList.get("Connection")?.toLowerCase()!=="upgrade"){m1(t,'Server did not set Connection header to "upgrade".');return}let p=l.headersList.get("Sec-WebSocket-Accept"),g=yD("sha1").update(n+DD).digest("base64");if(p!==g){m1(t,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let c=l.headersList.get("Sec-WebSocket-Extensions");if(c!==null&&c!==o){m1(t,"Received different permessage-deflate than the one set.");return}let u=l.headersList.get("Sec-WebSocket-Protocol");if(u!==null&&u!==s.headersList.get("Sec-WebSocket-Protocol")){m1(t,"Protocol was not set in the opening handshake.");return}l.socket.on("data",TD),l.socket.on("close",MD),l.socket.on("error",VD),Bt.open.hasSubscribers&&Bt.open.publish({address:l.socket.address(),protocol:u,extensions:c}),a(l)}})}function TD(e){this.ws[F9].write(e)||this.pause()}function MD(){let{ws:e}=this,A=e[N9]&&e[RD],t=1005,a="",r=e[F9].closingInfo;r?(t=r.code??1005,a=r.reason):e[N9]||(t=1006),e[b9]=S9.CLOSED,vD("close",e,ND,{wasClean:A,code:t,reason:a}),Bt.close.hasSubscribers&&Bt.close.publish({websocket:e,code:t,reason:a})}function VD(e){let{ws:A}=this;A[b9]=S9.CLOSING,Bt.socketError.hasSubscribers&&Bt.socketError.publish(e),this.destroy()}k9.exports={establishWebSocketConnection:UD}});var zp=E((yb,U9)=>{"use strict";var{randomBytes:YD}=require("crypto"),{maxUnsigned16Bit:JD}=ha(),Xp=class{constructor(A){this.frameData=A,this.maskKey=YD(4)}createFrame(A){let t=this.frameData?.byteLength??0,a=t,r=6;t>JD?(r+=8,a=127):t>125&&(r+=2,a=126);let i=Buffer.allocUnsafe(t+r);i[0]=i[1]=0,i[0]|=128,i[0]=(i[0]&240)+A;i[r-4]=this.maskKey[0],i[r-3]=this.maskKey[1],i[r-2]=this.maskKey[2],i[r-1]=this.maskKey[3],i[1]=a,a===126?i.writeUInt16BE(t,2):a===127&&(i[2]=i[3]=0,i.writeUIntBE(t,4,6)),i[1]|=128;for(let s=0;s<t;s++)i[r+s]=this.frameData[s]^this.maskKey[s%4];return i}};U9.exports={WebsocketFrameSend:Xp}});var _9=E((Db,x9)=>{"use strict";var{Writable:GD}=require("stream"),G9=require("diagnostics_channel"),{parserStates:NA,opcodes:SA,states:xD,emptyBuffer:_D}=ha(),{kReadyState:qD,kSentClose:T9,kResponse:M9,kReceivedClose:V9}=vr(),{isValidStatusCode:Y9,failWebsocketConnection:Nr,websocketMessageReceived:HD}=Hs(),{WebsocketFrameSend:J9}=zp(),Ia={};Ia.ping=G9.channel("undici:websocket:ping");Ia.pong=G9.channel("undici:websocket:pong");var Kp=class extends GD{#e=[];#a=0;#A=NA.INFO;#t={};#r=[];constructor(A){super(),this.ws=A}_write(A,t,a){this.#e.push(A),this.#a+=A.length,this.run(a)}run(A){for(;;){if(this.#A===NA.INFO){if(this.#a<2)return A();let t=this.consume(2);if(this.#t.fin=(t[0]&128)!==0,this.#t.opcode=t[0]&15,this.#t.originalOpcode??=this.#t.opcode,this.#t.fragmented=!this.#t.fin&&this.#t.opcode!==SA.CONTINUATION,this.#t.fragmented&&this.#t.opcode!==SA.BINARY&&this.#t.opcode!==SA.TEXT){Nr(this.ws,"Invalid frame type was fragmented.");return}let a=t[1]&127;if(a<=125?(this.#t.payloadLength=a,this.#A=NA.READ_DATA):a===126?this.#A=NA.PAYLOADLENGTH_16:a===127&&(this.#A=NA.PAYLOADLENGTH_64),this.#t.fragmented&&a>125){Nr(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#t.opcode===SA.PING||this.#t.opcode===SA.PONG||this.#t.opcode===SA.CLOSE)&&a>125){Nr(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#t.opcode===SA.CLOSE){if(a===1){Nr(this.ws,"Received close frame with a 1-byte body.");return}let r=this.consume(a);if(this.#t.closeInfo=this.parseCloseBody(!1,r),!this.ws[T9]){let i=Buffer.allocUnsafe(2);i.writeUInt16BE(this.#t.closeInfo.code,0);let s=new J9(i);this.ws[M9].socket.write(s.createFrame(SA.CLOSE),n=>{n||(this.ws[T9]=!0)})}this.ws[qD]=xD.CLOSING,this.ws[V9]=!0,this.end();return}else if(this.#t.opcode===SA.PING){let r=this.consume(a);if(!this.ws[V9]){let i=new J9(r);this.ws[M9].socket.write(i.createFrame(SA.PONG)),Ia.ping.hasSubscribers&&Ia.ping.publish({payload:r})}if(this.#A=NA.INFO,this.#a>0)continue;A();return}else if(this.#t.opcode===SA.PONG){let r=this.consume(a);if(Ia.pong.hasSubscribers&&Ia.pong.publish({payload:r}),this.#a>0)continue;A();return}}else if(this.#A===NA.PAYLOADLENGTH_16){if(this.#a<2)return A();let t=this.consume(2);this.#t.payloadLength=t.readUInt16BE(0),this.#A=NA.READ_DATA}else if(this.#A===NA.PAYLOADLENGTH_64){if(this.#a<8)return A();let t=this.consume(8),a=t.readUInt32BE(0);if(a>2**31-1){Nr(this.ws,"Received payload length > 2^31 bytes.");return}let r=t.readUInt32BE(4);this.#t.payloadLength=(a<<8)+r,this.#A=NA.READ_DATA}else if(this.#A===NA.READ_DATA){if(this.#a<this.#t.payloadLength)return A();if(this.#a>=this.#t.payloadLength){let t=this.consume(this.#t.payloadLength);if(this.#r.push(t),!this.#t.fragmented||this.#t.fin&&this.#t.opcode===SA.CONTINUATION){let a=Buffer.concat(this.#r);HD(this.ws,this.#t.originalOpcode,a),this.#t={},this.#r.length=0}this.#A=NA.INFO}}if(!(this.#a>0)){A();break}}}consume(A){if(A>this.#a)return null;if(A===0)return _D;if(this.#e[0].length===A)return this.#a-=this.#e[0].length,this.#e.shift();let t=Buffer.allocUnsafe(A),a=0;for(;a!==A;){let r=this.#e[0],{length:i}=r;if(i+a===A){t.set(this.#e.shift(),a);break}else if(i+a>A){t.set(r.subarray(0,A-a),a),this.#e[0]=r.subarray(A-a);break}else t.set(this.#e.shift(),a),a+=r.length}return this.#a-=A,t}parseCloseBody(A,t){let a;if(t.length>=2&&(a=t.readUInt16BE(0)),A)return Y9(a)?{code:a}:null;let r=t.subarray(2);if(r[0]===239&&r[1]===187&&r[2]===191&&(r=r.subarray(3)),a!==void 0&&!Y9(a))return null;try{r=new TextDecoder("utf-8",{fatal:!0}).decode(r)}catch{return null}return{code:a,reason:r}}get closingInfo(){return this.#t.closeInfo}};x9.exports={ByteParser:Kp}});var X9=E((Rb,j9)=>{"use strict";var{webidl:F}=Ge(),{DOMException:_t}=Lt(),{URLSerializer:OD}=TA(),{staticPropertyDescriptors:qt,states:fa,opcodes:Sr,emptyBuffer:PD}=ha(),{kWebSocketURL:q9,kReadyState:ht,kController:WD,kBinaryType:Os,kResponse:Ps,kSentClose:ZD,kByteParser:jD}=vr(),{isEstablished:H9,isClosing:O9,isValidSubprotocol:XD,failWebsocketConnection:zD,fireEvent:KD}=Hs(),{establishWebSocketConnection:$D}=L9(),{WebsocketFrameSend:br}=zp(),{ByteParser:eR}=_9(),{kEnumerableProperty:bA,isBlobLike:W9}=q(),{getGlobalDispatcher:AR}=pa(),{types:Z9}=require("util"),P9=!1,uA=class e extends EventTarget{#e={open:null,error:null,close:null,message:null};#a=0;#A="";#t="";constructor(A,t=[]){super(),F.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"}),P9||(P9=!0,process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"}));let a=F.converters["DOMString or sequence<DOMString> or WebSocketInit"](t);A=F.converters.USVString(A),t=a.protocols;let r;try{r=new URL(A)}catch(i){throw new _t(i,"SyntaxError")}if(r.protocol!=="ws:"&&r.protocol!=="wss:")throw new _t(`Expected a ws: or wss: protocol, got ${r.protocol}`,"SyntaxError");if(r.hash)throw new _t("Got fragment","SyntaxError");if(typeof t=="string"&&(t=[t]),t.length!==new Set(t.map(i=>i.toLowerCase())).size)throw new _t("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(t.length>0&&!t.every(i=>XD(i)))throw new _t("Invalid Sec-WebSocket-Protocol value","SyntaxError");this[q9]=r,this[WD]=$D(r,t,this,i=>this.#r(i),a),this[ht]=e.CONNECTING,this[Os]="blob"}close(A=void 0,t=void 0){if(F.brandCheck(this,e),A!==void 0&&(A=F.converters["unsigned short"](A,{clamp:!0})),t!==void 0&&(t=F.converters.USVString(t)),A!==void 0&&A!==1e3&&(A<3e3||A>4999))throw new _t("invalid code","InvalidAccessError");let a=0;if(t!==void 0&&(a=Buffer.byteLength(t),a>123))throw new _t(`Reason must be less than 123 bytes; received ${a}`,"SyntaxError");if(!(this[ht]===e.CLOSING||this[ht]===e.CLOSED))if(!H9(this))zD(this,"Connection was closed before it was established."),this[ht]=e.CLOSING;else if(O9(this))this[ht]=e.CLOSING;else{let r=new br;A!==void 0&&t===void 0?(r.frameData=Buffer.allocUnsafe(2),r.frameData.writeUInt16BE(A,0)):A!==void 0&&t!==void 0?(r.frameData=Buffer.allocUnsafe(2+a),r.frameData.writeUInt16BE(A,0),r.frameData.write(t,2,"utf-8")):r.frameData=PD,this[Ps].socket.write(r.createFrame(Sr.CLOSE),s=>{s||(this[ZD]=!0)}),this[ht]=fa.CLOSING}}send(A){if(F.brandCheck(this,e),F.argumentLengthCheck(arguments,1,{header:"WebSocket.send"}),A=F.converters.WebSocketSendData(A),this[ht]===e.CONNECTING)throw new _t("Sent before connected.","InvalidStateError");if(!H9(this)||O9(this))return;let t=this[Ps].socket;if(typeof A=="string"){let a=Buffer.from(A),i=new br(a).createFrame(Sr.TEXT);this.#a+=a.byteLength,t.write(i,()=>{this.#a-=a.byteLength})}else if(Z9.isArrayBuffer(A)){let a=Buffer.from(A),i=new br(a).createFrame(Sr.BINARY);this.#a+=a.byteLength,t.write(i,()=>{this.#a-=a.byteLength})}else if(ArrayBuffer.isView(A)){let a=Buffer.from(A,A.byteOffset,A.byteLength),i=new br(a).createFrame(Sr.BINARY);this.#a+=a.byteLength,t.write(i,()=>{this.#a-=a.byteLength})}else if(W9(A)){let a=new br;A.arrayBuffer().then(r=>{let i=Buffer.from(r);a.frameData=i;let s=a.createFrame(Sr.BINARY);this.#a+=i.byteLength,t.write(s,()=>{this.#a-=i.byteLength})})}}get readyState(){return F.brandCheck(this,e),this[ht]}get bufferedAmount(){return F.brandCheck(this,e),this.#a}get url(){return F.brandCheck(this,e),OD(this[q9])}get extensions(){return F.brandCheck(this,e),this.#t}get protocol(){return F.brandCheck(this,e),this.#A}get onopen(){return F.brandCheck(this,e),this.#e.open}set onopen(A){F.brandCheck(this,e),this.#e.open&&this.removeEventListener("open",this.#e.open),typeof A=="function"?(this.#e.open=A,this.addEventListener("open",A)):this.#e.open=null}get onerror(){return F.brandCheck(this,e),this.#e.error}set onerror(A){F.brandCheck(this,e),this.#e.error&&this.removeEventListener("error",this.#e.error),typeof A=="function"?(this.#e.error=A,this.addEventListener("error",A)):this.#e.error=null}get onclose(){return F.brandCheck(this,e),this.#e.close}set onclose(A){F.brandCheck(this,e),this.#e.close&&this.removeEventListener("close",this.#e.close),typeof A=="function"?(this.#e.close=A,this.addEventListener("close",A)):this.#e.close=null}get onmessage(){return F.brandCheck(this,e),this.#e.message}set onmessage(A){F.brandCheck(this,e),this.#e.message&&this.removeEventListener("message",this.#e.message),typeof A=="function"?(this.#e.message=A,this.addEventListener("message",A)):this.#e.message=null}get binaryType(){return F.brandCheck(this,e),this[Os]}set binaryType(A){F.brandCheck(this,e),A!=="blob"&&A!=="arraybuffer"?this[Os]="blob":this[Os]=A}#r(A){this[Ps]=A;let t=new eR(this);t.on("drain",function(){this.ws[Ps].socket.resume()}),A.socket.ws=this,this[jD]=t,this[ht]=fa.OPEN;let a=A.headersList.get("sec-websocket-extensions");a!==null&&(this.#t=a);let r=A.headersList.get("sec-websocket-protocol");r!==null&&(this.#A=r),KD("open",this)}};uA.CONNECTING=uA.prototype.CONNECTING=fa.CONNECTING;uA.OPEN=uA.prototype.OPEN=fa.OPEN;uA.CLOSING=uA.prototype.CLOSING=fa.CLOSING;uA.CLOSED=uA.prototype.CLOSED=fa.CLOSED;Object.defineProperties(uA.prototype,{CONNECTING:qt,OPEN:qt,CLOSING:qt,CLOSED:qt,url:bA,readyState:bA,bufferedAmount:bA,onopen:bA,onerror:bA,onclose:bA,close:bA,onmessage:bA,binaryType:bA,send:bA,extensions:bA,protocol:bA,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(uA,{CONNECTING:qt,OPEN:qt,CLOSING:qt,CLOSED:qt});F.converters["sequence<DOMString>"]=F.sequenceConverter(F.converters.DOMString);F.converters["DOMString or sequence<DOMString>"]=function(e){return F.util.Type(e)==="Object"&&Symbol.iterator in e?F.converters["sequence<DOMString>"](e):F.converters.DOMString(e)};F.converters.WebSocketInit=F.dictionaryConverter([{key:"protocols",converter:F.converters["DOMString or sequence<DOMString>"],get defaultValue(){return[]}},{key:"dispatcher",converter:e=>e,get defaultValue(){return AR()}},{key:"headers",converter:F.nullableConverter(F.converters.HeadersInit)}]);F.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(e){return F.util.Type(e)==="Object"&&!(Symbol.iterator in e)?F.converters.WebSocketInit(e):{protocols:F.converters["DOMString or sequence<DOMString>"](e)}};F.converters.WebSocketSendData=function(e){if(F.util.Type(e)==="Object"){if(W9(e))return F.converters.Blob(e,{strict:!1});if(ArrayBuffer.isView(e)||Z9.isAnyArrayBuffer(e))return F.converters.BufferSource(e)}return F.converters.USVString(e)};j9.exports={WebSocket:uA}});var e0=E((vb,V)=>{"use strict";var tR=pr(),z9=Ui(),K9=ee(),aR=ea(),rR=m6(),iR=ur(),C1=q(),{InvalidArgumentError:Ws}=K9,wa=oc(),sR=ar(),nR=op(),oR=Oc(),dR=lp(),pR=Xd(),lR=zc(),{getGlobalDispatcher:$9,setGlobalDispatcher:gR}=pa(),cR=au(),uR=nd(),ER=Yi(),$p;try{require("crypto"),$p=!0}catch{$p=!1}Object.assign(z9.prototype,wa);V.exports.Dispatcher=z9;V.exports.Client=tR;V.exports.Pool=aR;V.exports.BalancedPool=rR;V.exports.Agent=iR;V.exports.ProxyAgent=lR;V.exports.DecoratorHandler=cR;V.exports.RedirectHandler=uR;V.exports.createRedirectInterceptor=ER;V.exports.buildConnector=sR;V.exports.errors=K9;function Fr(e){return(A,t,a)=>{if(typeof t=="function"&&(a=t,t=null),!A||typeof A!="string"&&typeof A!="object"&&!(A instanceof URL))throw new Ws("invalid url");if(t!=null&&typeof t!="object")throw new Ws("invalid opts");if(t&&t.path!=null){if(typeof t.path!="string")throw new Ws("invalid opts.path");let s=t.path;t.path.startsWith("/")||(s=`/${s}`),A=new URL(C1.parseOrigin(A).origin+s)}else t||(t=typeof A=="object"?A:{}),A=C1.parseURL(A);let{agent:r,dispatcher:i=$9()}=t;if(r)throw new Ws("unsupported opts.agent. Did you mean opts.client?");return e.call(i,{...t,origin:A.origin,path:A.search?`${A.pathname}${A.search}`:A.pathname,method:t.method||(t.body?"PUT":"GET")},a)}}V.exports.setGlobalDispatcher=gR;V.exports.getGlobalDispatcher=$9;if(C1.nodeMajor>16||C1.nodeMajor===16&&C1.nodeMinor>=8){let e=null;V.exports.fetch=async function(s){e||(e=Rs().fetch);try{return await e(...arguments)}catch(n){throw Error.captureStackTrace(n,this),n}},V.exports.Headers=c1().Headers,V.exports.Response=Qs().Response,V.exports.Request=fr().Request,V.exports.FormData=ki().FormData,V.exports.File=bi().File,V.exports.FileReader=Ku().FileReader;let{setGlobalOrigin:A,getGlobalOrigin:t}=Xa();V.exports.setGlobalOrigin=A,V.exports.getGlobalOrigin=t;let{CacheStorage:a}=p9(),{kConstruct:r}=bs();V.exports.caches=new a(r)}if(C1.nodeMajor>=16){let{deleteCookie:e,getCookies:A,getSetCookies:t,setCookie:a}=I9();V.exports.deleteCookie=e,V.exports.getCookies=A,V.exports.getSetCookies=t,V.exports.setCookie=a;let{parseMIMEType:r,serializeAMimeType:i}=TA();V.exports.parseMIMEType=r,V.exports.serializeAMimeType=i}if(C1.nodeMajor>=18&&$p){let{WebSocket:e}=X9();V.exports.WebSocket=e}V.exports.request=Fr(wa.request);V.exports.stream=Fr(wa.stream);V.exports.pipeline=Fr(wa.pipeline);V.exports.connect=Fr(wa.connect);V.exports.upgrade=Fr(wa.upgrade);V.exports.MockClient=nR;V.exports.MockPool=dR;V.exports.MockAgent=oR;V.exports.mockErrors=pR});var i0=E(r0=>{"use strict";Object.defineProperty(r0,"__esModule",{value:!0});var CR=function(e,A,t,a){if(typeof e!="string"||e.length===0)throw new TypeError("text should be a string");if(typeof A!="string"||A.length===0)throw new TypeError("lang should be a string");if(typeof t!="boolean")throw new TypeError("slow should be a boolean");if(typeof a!="string"||a.length===0)throw new TypeError("host should be a string")};r0.default=CR});var n0=E(s0=>{"use strict";Object.defineProperty(s0,"__esModule",{value:!0});var BR="\\s\\uFEFF\\xA0",hR="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",IR=function(e,A){for(var t=A===void 0?{}:A,a=t.maxLength,r=a===void 0?200:a,i=t.splitPunct,s=i===void 0?"":i,n=function(u,Q){var C=new RegExp("["+BR+hR+s+"]");return C.test(u.charAt(Q))},o=function(u,Q,C){for(var m=C;m>=Q;m--)if(n(u,m))return m;return-1},d=[],l=function(u,Q,C){d.push(u.slice(Q,C+1))},p=0;;){if(e.length-p<=r){l(e,p,e.length-1);break}var g=p+r-1;if(n(e,g)||n(e,g+1)){l(e,p,g),p=g+1;continue}if(g=o(e,p,g),g===-1){var c=e.slice(p,p+r);throw new Error("The word is too long to split into a short text:"+(` +`+c+" ...")+` + +Try the option "splitPunct" to split the text by punctuation.`)}l(e,p,g),p=g+1}return d};s0.default=IR});var nE=E(It=>{"use strict";var o0=It&&It.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(It,"__esModule",{value:!0});It.getAllAudioUrls=It.getAudioUrl=void 0;var sE=o0(i0()),fR=o0(n0()),wR=o0(require("url")),yR=function(e,A){var t=A===void 0?{}:A,a=t.lang,r=a===void 0?"en":a,i=t.slow,s=i===void 0?!1:i,n=t.host,o=n===void 0?"https://translate.google.com":n;if(sE.default(e,r,s,o),e.length>200)throw new RangeError("text length ("+e.length+') should be less than 200 characters. Try "getAllAudioUrls(text, [option])" for long text.');return o+"/translate_tts"+wR.default.format({query:{ie:"UTF-8",q:e,tl:r,total:1,idx:0,textlen:e.length,client:"tw-ob",prev:"input",ttsspeed:s?.24:1}})};It.getAudioUrl=yR;var DR=function(e,A){var t=A===void 0?{}:A,a=t.lang,r=a===void 0?"en":a,i=t.slow,s=i===void 0?!1:i,n=t.host,o=n===void 0?"https://translate.google.com":n,d=t.splitPunct,l=d===void 0?"":d;if(sE.default(e,r,s,o),typeof l!="string")throw new TypeError("splitPunct should be a string");return fR.default(e,{splitPunct:l}).map(function(p){return{shortText:p,url:It.getAudioUrl(p,{lang:r,slow:s,host:o})}})};It.getAllAudioUrls=DR});var d0=E((Mb,oE)=>{"use strict";oE.exports=function(A,t){return function(){for(var r=new Array(arguments.length),i=0;i<r.length;i++)r[i]=arguments[i];return A.apply(t,r)}}});var We=E((Vb,lE)=>{"use strict";var RR=d0(),B1=Object.prototype.toString;function g0(e){return B1.call(e)==="[object Array]"}function p0(e){return typeof e>"u"}function vR(e){return e!==null&&!p0(e)&&e.constructor!==null&&!p0(e.constructor)&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function NR(e){return B1.call(e)==="[object ArrayBuffer]"}function SR(e){return typeof FormData<"u"&&e instanceof FormData}function bR(e){var A;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?A=ArrayBuffer.isView(e):A=e&&e.buffer&&e.buffer instanceof ArrayBuffer,A}function FR(e){return typeof e=="string"}function kR(e){return typeof e=="number"}function dE(e){return e!==null&&typeof e=="object"}function zs(e){if(B1.call(e)!=="[object Object]")return!1;var A=Object.getPrototypeOf(e);return A===null||A===Object.prototype}function LR(e){return B1.call(e)==="[object Date]"}function UR(e){return B1.call(e)==="[object File]"}function TR(e){return B1.call(e)==="[object Blob]"}function pE(e){return B1.call(e)==="[object Function]"}function MR(e){return dE(e)&&pE(e.pipe)}function VR(e){return typeof URLSearchParams<"u"&&e instanceof URLSearchParams}function YR(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function JR(){return typeof navigator<"u"&&(navigator.product==="ReactNative"||navigator.product==="NativeScript"||navigator.product==="NS")?!1:typeof window<"u"&&typeof document<"u"}function c0(e,A){if(!(e===null||typeof e>"u"))if(typeof e!="object"&&(e=[e]),g0(e))for(var t=0,a=e.length;t<a;t++)A.call(null,e[t],t,e);else for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&A.call(null,e[r],r,e)}function l0(){var e={};function A(r,i){zs(e[i])&&zs(r)?e[i]=l0(e[i],r):zs(r)?e[i]=l0({},r):g0(r)?e[i]=r.slice():e[i]=r}for(var t=0,a=arguments.length;t<a;t++)c0(arguments[t],A);return e}function GR(e,A,t){return c0(A,function(r,i){t&&typeof r=="function"?e[i]=RR(r,t):e[i]=r}),e}function xR(e){return e.charCodeAt(0)===65279&&(e=e.slice(1)),e}lE.exports={isArray:g0,isArrayBuffer:NR,isBuffer:vR,isFormData:SR,isArrayBufferView:bR,isString:FR,isNumber:kR,isObject:dE,isPlainObject:zs,isUndefined:p0,isDate:LR,isFile:UR,isBlob:TR,isFunction:pE,isStream:MR,isURLSearchParams:VR,isStandardBrowserEnv:JR,forEach:c0,merge:l0,extend:GR,trim:YR,stripBOM:xR}});var Ks=E((Yb,cE)=>{"use strict";var ya=We();function gE(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}cE.exports=function(A,t,a){if(!t)return A;var r;if(a)r=a(t);else if(ya.isURLSearchParams(t))r=t.toString();else{var i=[];ya.forEach(t,function(o,d){o===null||typeof o>"u"||(ya.isArray(o)?d=d+"[]":o=[o],ya.forEach(o,function(p){ya.isDate(p)?p=p.toISOString():ya.isObject(p)&&(p=JSON.stringify(p)),i.push(gE(d)+"="+gE(p))}))}),r=i.join("&")}if(r){var s=A.indexOf("#");s!==-1&&(A=A.slice(0,s)),A+=(A.indexOf("?")===-1?"?":"&")+r}return A}});var EE=E((Jb,uE)=>{"use strict";var _R=We();function $s(){this.handlers=[]}$s.prototype.use=function(A,t,a){return this.handlers.push({fulfilled:A,rejected:t,synchronous:a?a.synchronous:!1,runWhen:a?a.runWhen:null}),this.handlers.length-1};$s.prototype.eject=function(A){this.handlers[A]&&(this.handlers[A]=null)};$s.prototype.forEach=function(A){_R.forEach(this.handlers,function(a){a!==null&&A(a)})};uE.exports=$s});var mE=E((Gb,QE)=>{"use strict";var qR=We();QE.exports=function(A,t){qR.forEach(A,function(r,i){i!==t&&i.toUpperCase()===t.toUpperCase()&&(A[t]=r,delete A[i])})}});var en=E((xb,CE)=>{"use strict";CE.exports=function(A,t,a,r,i){return A.config=t,a&&(A.code=a),A.request=r,A.response=i,A.isAxiosError=!0,A.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},A}});var An=E((qb,BE)=>{"use strict";var HR=en();BE.exports=function(A,t,a,r,i){var s=new Error(A);return HR(s,t,a,r,i)}});var u0=E((Hb,hE)=>{"use strict";var OR=An();hE.exports=function(A,t,a){var r=a.config.validateStatus;!a.status||!r||r(a.status)?A(a):t(OR("Request failed with status code "+a.status,a.config,null,a.request,a))}});var fE=E((Ob,IE)=>{"use strict";var tn=We();IE.exports=tn.isStandardBrowserEnv()?function(){return{write:function(t,a,r,i,s,n){var o=[];o.push(t+"="+encodeURIComponent(a)),tn.isNumber(r)&&o.push("expires="+new Date(r).toGMTString()),tn.isString(i)&&o.push("path="+i),tn.isString(s)&&o.push("domain="+s),n===!0&&o.push("secure"),document.cookie=o.join("; ")},read:function(t){var a=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return a?decodeURIComponent(a[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()});var yE=E((Pb,wE)=>{"use strict";wE.exports=function(A){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(A)}});var RE=E((Wb,DE)=>{"use strict";DE.exports=function(A,t){return t?A.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):A}});var E0=E((Zb,vE)=>{"use strict";var PR=yE(),WR=RE();vE.exports=function(A,t){return A&&!PR(t)?WR(A,t):t}});var SE=E((jb,NE)=>{"use strict";var Q0=We(),ZR=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];NE.exports=function(A){var t={},a,r,i;return A&&Q0.forEach(A.split(` +`),function(n){if(i=n.indexOf(":"),a=Q0.trim(n.substr(0,i)).toLowerCase(),r=Q0.trim(n.substr(i+1)),a){if(t[a]&&ZR.indexOf(a)>=0)return;a==="set-cookie"?t[a]=(t[a]?t[a]:[]).concat([r]):t[a]=t[a]?t[a]+", "+r:r}}),t}});var kE=E((Xb,FE)=>{"use strict";var bE=We();FE.exports=bE.isStandardBrowserEnv()?function(){var A=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a"),a;function r(i){var s=i;return A&&(t.setAttribute("href",s),s=t.href),t.setAttribute("href",s),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}return a=r(window.location.href),function(s){var n=bE.isString(s)?r(s):s;return n.protocol===a.protocol&&n.host===a.host}}():function(){return function(){return!0}}()});var UE=E((zb,LE)=>{"use strict";var an=We(),jR=u0(),XR=fE(),zR=Ks(),KR=E0(),$R=SE(),ev=kE(),m0=An();LE.exports=function(A){return new Promise(function(a,r){var i=A.data,s=A.headers,n=A.responseType;an.isFormData(i)&&delete s["Content-Type"];var o=new XMLHttpRequest;if(A.auth){var d=A.auth.username||"",l=A.auth.password?unescape(encodeURIComponent(A.auth.password)):"";s.Authorization="Basic "+btoa(d+":"+l)}var p=KR(A.baseURL,A.url);o.open(A.method.toUpperCase(),zR(p,A.params,A.paramsSerializer),!0),o.timeout=A.timeout;function g(){if(o){var u="getAllResponseHeaders"in o?$R(o.getAllResponseHeaders()):null,Q=!n||n==="text"||n==="json"?o.responseText:o.response,C={data:Q,status:o.status,statusText:o.statusText,headers:u,config:A,request:o};jR(a,r,C),o=null}}if("onloadend"in o?o.onloadend=g:o.onreadystatechange=function(){!o||o.readyState!==4||o.status===0&&!(o.responseURL&&o.responseURL.indexOf("file:")===0)||setTimeout(g)},o.onabort=function(){o&&(r(m0("Request aborted",A,"ECONNABORTED",o)),o=null)},o.onerror=function(){r(m0("Network Error",A,null,o)),o=null},o.ontimeout=function(){var Q="timeout of "+A.timeout+"ms exceeded";A.timeoutErrorMessage&&(Q=A.timeoutErrorMessage),r(m0(Q,A,A.transitional&&A.transitional.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",o)),o=null},an.isStandardBrowserEnv()){var c=(A.withCredentials||ev(p))&&A.xsrfCookieName?XR.read(A.xsrfCookieName):void 0;c&&(s[A.xsrfHeaderName]=c)}"setRequestHeader"in o&&an.forEach(s,function(Q,C){typeof i>"u"&&C.toLowerCase()==="content-type"?delete s[C]:o.setRequestHeader(C,Q)}),an.isUndefined(A.withCredentials)||(o.withCredentials=!!A.withCredentials),n&&n!=="json"&&(o.responseType=A.responseType),typeof A.onDownloadProgress=="function"&&o.addEventListener("progress",A.onDownloadProgress),typeof A.onUploadProgress=="function"&&o.upload&&o.upload.addEventListener("progress",A.onUploadProgress),A.cancelToken&&A.cancelToken.promise.then(function(Q){o&&(o.abort(),r(Q),o=null)}),i||(i=null),o.send(i)})}});var ME=E((Kb,TE)=>{var Da=1e3,Ra=Da*60,va=Ra*60,h1=va*24,Av=h1*7,tv=h1*365.25;TE.exports=function(e,A){A=A||{};var t=typeof e;if(t==="string"&&e.length>0)return av(e);if(t==="number"&&isFinite(e))return A.long?iv(e):rv(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function av(e){if(e=String(e),!(e.length>100)){var A=/^(-?(?:\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(A){var t=parseFloat(A[1]),a=(A[2]||"ms").toLowerCase();switch(a){case"years":case"year":case"yrs":case"yr":case"y":return t*tv;case"weeks":case"week":case"w":return t*Av;case"days":case"day":case"d":return t*h1;case"hours":case"hour":case"hrs":case"hr":case"h":return t*va;case"minutes":case"minute":case"mins":case"min":case"m":return t*Ra;case"seconds":case"second":case"secs":case"sec":case"s":return t*Da;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function rv(e){var A=Math.abs(e);return A>=h1?Math.round(e/h1)+"d":A>=va?Math.round(e/va)+"h":A>=Ra?Math.round(e/Ra)+"m":A>=Da?Math.round(e/Da)+"s":e+"ms"}function iv(e){var A=Math.abs(e);return A>=h1?rn(e,A,h1,"day"):A>=va?rn(e,A,va,"hour"):A>=Ra?rn(e,A,Ra,"minute"):A>=Da?rn(e,A,Da,"second"):e+" ms"}function rn(e,A,t,a){var r=A>=t*1.5;return Math.round(e/t)+" "+a+(r?"s":"")}});var C0=E(($b,VE)=>{function sv(e){t.debug=t,t.default=t,t.coerce=o,t.disable=i,t.enable=r,t.enabled=s,t.humanize=ME(),t.destroy=d,Object.keys(e).forEach(l=>{t[l]=e[l]}),t.names=[],t.skips=[],t.formatters={};function A(l){let p=0;for(let g=0;g<l.length;g++)p=(p<<5)-p+l.charCodeAt(g),p|=0;return t.colors[Math.abs(p)%t.colors.length]}t.selectColor=A;function t(l){let p,g=null,c,u;function Q(...C){if(!Q.enabled)return;let m=Q,B=Number(new Date),w=B-(p||B);m.diff=w,m.prev=p,m.curr=B,p=B,C[0]=t.coerce(C[0]),typeof C[0]!="string"&&C.unshift("%O");let I=0;C[0]=C[0].replace(/%([a-zA-Z%])/g,(S,k)=>{if(S==="%%")return"%";I++;let x=t.formatters[k];if(typeof x=="function"){let we=C[I];S=x.call(m,we),C.splice(I,1),I--}return S}),t.formatArgs.call(m,C),(m.log||t.log).apply(m,C)}return Q.namespace=l,Q.useColors=t.useColors(),Q.color=t.selectColor(l),Q.extend=a,Q.destroy=t.destroy,Object.defineProperty(Q,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(c!==t.namespaces&&(c=t.namespaces,u=t.enabled(l)),u),set:C=>{g=C}}),typeof t.init=="function"&&t.init(Q),Q}function a(l,p){let g=t(this.namespace+(typeof p>"u"?":":p)+l);return g.log=this.log,g}function r(l){t.save(l),t.namespaces=l,t.names=[],t.skips=[];let p,g=(typeof l=="string"?l:"").split(/[\s,]+/),c=g.length;for(p=0;p<c;p++)g[p]&&(l=g[p].replace(/\*/g,".*?"),l[0]==="-"?t.skips.push(new RegExp("^"+l.slice(1)+"$")):t.names.push(new RegExp("^"+l+"$")))}function i(){let l=[...t.names.map(n),...t.skips.map(n).map(p=>"-"+p)].join(",");return t.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let p,g;for(p=0,g=t.skips.length;p<g;p++)if(t.skips[p].test(l))return!1;for(p=0,g=t.names.length;p<g;p++)if(t.names[p].test(l))return!0;return!1}function n(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function o(l){return l instanceof Error?l.stack||l.message:l}function d(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}VE.exports=sv});var YE=E((EA,sn)=>{EA.formatArgs=ov;EA.save=dv;EA.load=pv;EA.useColors=nv;EA.storage=lv();EA.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();EA.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function nv(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function ov(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+sn.exports.humanize(this.diff),!this.useColors)return;let A="color: "+this.color;e.splice(1,0,A,"color: inherit");let t=0,a=0;e[0].replace(/%[a-zA-Z%]/g,r=>{r!=="%%"&&(t++,r==="%c"&&(a=t))}),e.splice(a,0,A)}EA.log=console.debug||console.log||(()=>{});function dv(e){try{e?EA.storage.setItem("debug",e):EA.storage.removeItem("debug")}catch{}}function pv(){let e;try{e=EA.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function lv(){try{return localStorage}catch{}}sn.exports=C0()(EA);var{formatters:gv}=sn.exports;gv.j=function(e){try{return JSON.stringify(e)}catch(A){return"[UnexpectedJSONParseError]: "+A.message}}});var GE=E((eF,JE)=>{"use strict";JE.exports=(e,A=process.argv)=>{let t=e.startsWith("-")?"":e.length===1?"-":"--",a=A.indexOf(t+e),r=A.indexOf("--");return a!==-1&&(r===-1||a<r)}});var qE=E((AF,_E)=>{"use strict";var cv=require("os"),xE=require("tty"),FA=GE(),{env:Ne}=process,Ht;FA("no-color")||FA("no-colors")||FA("color=false")||FA("color=never")?Ht=0:(FA("color")||FA("colors")||FA("color=true")||FA("color=always"))&&(Ht=1);"FORCE_COLOR"in Ne&&(Ne.FORCE_COLOR==="true"?Ht=1:Ne.FORCE_COLOR==="false"?Ht=0:Ht=Ne.FORCE_COLOR.length===0?1:Math.min(parseInt(Ne.FORCE_COLOR,10),3));function B0(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function h0(e,A){if(Ht===0)return 0;if(FA("color=16m")||FA("color=full")||FA("color=truecolor"))return 3;if(FA("color=256"))return 2;if(e&&!A&&Ht===void 0)return 0;let t=Ht||0;if(Ne.TERM==="dumb")return t;if(process.platform==="win32"){let a=cv.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in Ne)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(a=>a in Ne)||Ne.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in Ne)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ne.TEAMCITY_VERSION)?1:0;if(Ne.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ne){let a=parseInt((Ne.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ne.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ne.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ne.TERM)||"COLORTERM"in Ne?1:t}function uv(e){let A=h0(e,e&&e.isTTY);return B0(A)}_E.exports={supportsColor:uv,stdout:B0(h0(!0,xE.isatty(1))),stderr:B0(h0(!0,xE.isatty(2)))}});var OE=E((Te,on)=>{var Ev=require("tty"),nn=require("util");Te.init=fv;Te.log=Bv;Te.formatArgs=mv;Te.save=hv;Te.load=Iv;Te.useColors=Qv;Te.destroy=nn.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Te.colors=[6,2,3,4,5,1];try{let e=qE();e&&(e.stderr||e).level>=2&&(Te.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Te.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,A)=>{let t=A.substring(6).toLowerCase().replace(/_([a-z])/g,(r,i)=>i.toUpperCase()),a=process.env[A];return/^(yes|on|true|enabled)$/i.test(a)?a=!0:/^(no|off|false|disabled)$/i.test(a)?a=!1:a==="null"?a=null:a=Number(a),e[t]=a,e},{});function Qv(){return"colors"in Te.inspectOpts?!!Te.inspectOpts.colors:Ev.isatty(process.stderr.fd)}function mv(e){let{namespace:A,useColors:t}=this;if(t){let a=this.color,r="\x1B[3"+(a<8?a:"8;5;"+a),i=` ${r};1m${A} \x1B[0m`;e[0]=i+e[0].split(` +`).join(` +`+i),e.push(r+"m+"+on.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=Cv()+A+" "+e[0]}function Cv(){return Te.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Bv(...e){return process.stderr.write(nn.format(...e)+` +`)}function hv(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function Iv(){return process.env.DEBUG}function fv(e){e.inspectOpts={};let A=Object.keys(Te.inspectOpts);for(let t=0;t<A.length;t++)e.inspectOpts[A[t]]=Te.inspectOpts[A[t]]}on.exports=C0()(Te);var{formatters:HE}=on.exports;HE.o=function(e){return this.inspectOpts.colors=this.useColors,nn.inspect(e,this.inspectOpts).split(` +`).map(A=>A.trim()).join(" ")};HE.O=function(e){return this.inspectOpts.colors=this.useColors,nn.inspect(e,this.inspectOpts)}});var PE=E((tF,I0)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?I0.exports=YE():I0.exports=OE()});var ZE=E((aF,WE)=>{var Lr;WE.exports=function(){if(!Lr){try{Lr=PE()("follow-redirects")}catch{}typeof Lr!="function"&&(Lr=function(){})}Lr.apply(null,arguments)}});var U0=E((rF,L0)=>{var Mr=require("url"),Ur=Mr.URL,wv=require("http"),yv=require("https"),R0=require("stream").Writable,v0=require("assert"),jE=ZE(),N0=!1;try{v0(new Ur)}catch(e){N0=e.code==="ERR_INVALID_URL"}var Dv=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],S0=["abort","aborted","connect","error","socket","timeout"],b0=Object.create(null);S0.forEach(function(e){b0[e]=function(A,t,a){this._redirectable.emit(e,A,t,a)}});var w0=Vr("ERR_INVALID_URL","Invalid URL",TypeError),y0=Vr("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),Rv=Vr("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",y0),vv=Vr("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),Nv=Vr("ERR_STREAM_WRITE_AFTER_END","write after end"),Sv=R0.prototype.destroy||zE;function AA(e,A){R0.call(this),this._sanitizeOptions(e),this._options=e,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],A&&this.on("response",A);var t=this;this._onNativeResponse=function(a){try{t._processResponse(a)}catch(r){t.emit("error",r instanceof y0?r:new y0({cause:r}))}},this._performRequest()}AA.prototype=Object.create(R0.prototype);AA.prototype.abort=function(){k0(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};AA.prototype.destroy=function(e){return k0(this._currentRequest,e),Sv.call(this,e),this};AA.prototype.write=function(e,A,t){if(this._ending)throw new Nv;if(!I1(e)&&!kv(e))throw new TypeError("data should be a string, Buffer or Uint8Array");if(Tr(A)&&(t=A,A=null),e.length===0){t&&t();return}this._requestBodyLength+e.length<=this._options.maxBodyLength?(this._requestBodyLength+=e.length,this._requestBodyBuffers.push({data:e,encoding:A}),this._currentRequest.write(e,A,t)):(this.emit("error",new vv),this.abort())};AA.prototype.end=function(e,A,t){if(Tr(e)?(t=e,e=A=null):Tr(A)&&(t=A,A=null),!e)this._ended=this._ending=!0,this._currentRequest.end(null,null,t);else{var a=this,r=this._currentRequest;this.write(e,A,function(){a._ended=!0,r.end(null,null,t)}),this._ending=!0}};AA.prototype.setHeader=function(e,A){this._options.headers[e]=A,this._currentRequest.setHeader(e,A)};AA.prototype.removeHeader=function(e){delete this._options.headers[e],this._currentRequest.removeHeader(e)};AA.prototype.setTimeout=function(e,A){var t=this;function a(s){s.setTimeout(e),s.removeListener("timeout",s.destroy),s.addListener("timeout",s.destroy)}function r(s){t._timeout&&clearTimeout(t._timeout),t._timeout=setTimeout(function(){t.emit("timeout"),i()},e),a(s)}function i(){t._timeout&&(clearTimeout(t._timeout),t._timeout=null),t.removeListener("abort",i),t.removeListener("error",i),t.removeListener("response",i),t.removeListener("close",i),A&&t.removeListener("timeout",A),t.socket||t._currentRequest.removeListener("socket",r)}return A&&this.on("timeout",A),this.socket?r(this.socket):this._currentRequest.once("socket",r),this.on("socket",a),this.on("abort",i),this.on("error",i),this.on("response",i),this.on("close",i),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(e){AA.prototype[e]=function(A,t){return this._currentRequest[e](A,t)}});["aborted","connection","socket"].forEach(function(e){Object.defineProperty(AA.prototype,e,{get:function(){return this._currentRequest[e]}})});AA.prototype._sanitizeOptions=function(e){if(e.headers||(e.headers={}),e.host&&(e.hostname||(e.hostname=e.host),delete e.host),!e.pathname&&e.path){var A=e.path.indexOf("?");A<0?e.pathname=e.path:(e.pathname=e.path.substring(0,A),e.search=e.path.substring(A))}};AA.prototype._performRequest=function(){var e=this._options.protocol,A=this._options.nativeProtocols[e];if(!A)throw new TypeError("Unsupported protocol "+e);if(this._options.agents){var t=e.slice(0,-1);this._options.agent=this._options.agents[t]}var a=this._currentRequest=A.request(this._options,this._onNativeResponse);a._redirectable=this;for(var r of S0)a.on(r,b0[r]);if(this._currentUrl=/^\//.test(this._options.path)?Mr.format(this._options):this._options.path,this._isRedirect){var i=0,s=this,n=this._requestBodyBuffers;(function o(d){if(a===s._currentRequest)if(d)s.emit("error",d);else if(i<n.length){var l=n[i++];a.finished||a.write(l.data,l.encoding,o)}else s._ended&&a.end()})()}};AA.prototype._processResponse=function(e){var A=e.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:e.headers,statusCode:A});var t=e.headers.location;if(!t||this._options.followRedirects===!1||A<300||A>=400){e.responseUrl=this._currentUrl,e.redirects=this._redirects,this.emit("response",e),this._requestBodyBuffers=[];return}if(k0(this._currentRequest),e.destroy(),++this._redirectCount>this._options.maxRedirects)throw new Rv;var a,r=this._options.beforeRedirect;r&&(a=Object.assign({Host:e.req.getHeader("host")},this._options.headers));var i=this._options.method;((A===301||A===302)&&this._options.method==="POST"||A===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],f0(/^content-/i,this._options.headers));var s=f0(/^host$/i,this._options.headers),n=F0(this._currentUrl),o=s||n.host,d=/^\w+:/.test(t)?this._currentUrl:Mr.format(Object.assign(n,{host:o})),l=bv(t,d);if(jE("redirecting to",l.href),this._isRedirect=!0,D0(l,this._options),(l.protocol!==n.protocol&&l.protocol!=="https:"||l.host!==o&&!Fv(l.host,o))&&f0(/^(?:authorization|cookie)$/i,this._options.headers),Tr(r)){var p={headers:e.headers,statusCode:A},g={url:d,method:i,headers:a};r(this._options,p,g),this._sanitizeOptions(this._options)}this._performRequest()};function XE(e){var A={maxRedirects:21,maxBodyLength:10485760},t={};return Object.keys(e).forEach(function(a){var r=a+":",i=t[r]=e[a],s=A[a]=Object.create(i);function n(d,l,p){return Lv(d)?d=D0(d):I1(d)?d=D0(F0(d)):(p=l,l=KE(d),d={protocol:r}),Tr(l)&&(p=l,l=null),l=Object.assign({maxRedirects:A.maxRedirects,maxBodyLength:A.maxBodyLength},d,l),l.nativeProtocols=t,!I1(l.host)&&!I1(l.hostname)&&(l.hostname="::1"),v0.equal(l.protocol,r,"protocol mismatch"),jE("options",l),new AA(l,p)}function o(d,l,p){var g=s.request(d,l,p);return g.end(),g}Object.defineProperties(s,{request:{value:n,configurable:!0,enumerable:!0,writable:!0},get:{value:o,configurable:!0,enumerable:!0,writable:!0}})}),A}function zE(){}function F0(e){var A;if(N0)A=new Ur(e);else if(A=KE(Mr.parse(e)),!I1(A.protocol))throw new w0({input:e});return A}function bv(e,A){return N0?new Ur(e,A):F0(Mr.resolve(A,e))}function KE(e){if(/^\[/.test(e.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(e.hostname))throw new w0({input:e.href||e});if(/^\[/.test(e.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(e.host))throw new w0({input:e.href||e});return e}function D0(e,A){var t=A||{};for(var a of Dv)t[a]=e[a];return t.hostname.startsWith("[")&&(t.hostname=t.hostname.slice(1,-1)),t.port!==""&&(t.port=Number(t.port)),t.path=t.search?t.pathname+t.search:t.pathname,t}function f0(e,A){var t;for(var a in A)e.test(a)&&(t=A[a],delete A[a]);return t===null||typeof t>"u"?void 0:String(t).trim()}function Vr(e,A,t){function a(r){Error.captureStackTrace(this,this.constructor),Object.assign(this,r||{}),this.code=e,this.message=this.cause?A+": "+this.cause.message:A}return a.prototype=new(t||Error),Object.defineProperties(a.prototype,{constructor:{value:a,enumerable:!1},name:{value:"Error ["+e+"]",enumerable:!1}}),a}function k0(e,A){for(var t of S0)e.removeListener(t,b0[t]);e.on("error",zE),e.destroy(A)}function Fv(e,A){v0(I1(e)&&I1(A));var t=e.length-A.length-1;return t>0&&e[t]==="."&&e.endsWith(A)}function I1(e){return typeof e=="string"||e instanceof String}function Tr(e){return typeof e=="function"}function kv(e){return typeof e=="object"&&"length"in e}function Lv(e){return Ur&&e instanceof Ur}L0.exports=XE({http:wv,https:yv});L0.exports.wrap=XE});var T0=E((iF,Uv)=>{Uv.exports={name:"axios",version:"0.21.4",description:"Promise based HTTP client for the browser and node.js",main:"index.js",scripts:{test:"grunt test",start:"node ./sandbox/server.js",build:"NODE_ENV=production grunt build",preversion:"npm test",version:"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json",postversion:"git push && git push --tags",examples:"node ./examples/server.js",coveralls:"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js",fix:"eslint --fix lib/**/*.js"},repository:{type:"git",url:"https://github.com/axios/axios.git"},keywords:["xhr","http","ajax","promise","node"],author:"Matt Zabriskie",license:"MIT",bugs:{url:"https://github.com/axios/axios/issues"},homepage:"https://axios-http.com",devDependencies:{coveralls:"^3.0.0","es6-promise":"^4.2.4",grunt:"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1",karma:"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2",minimist:"^1.2.0",mocha:"^8.2.1",sinon:"^4.5.0","terser-webpack-plugin":"^4.2.3",typescript:"^4.0.5","url-search-params":"^0.10.0",webpack:"^4.44.2","webpack-dev-server":"^3.11.0"},browser:{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},jsdelivr:"dist/axios.min.js",unpkg:"dist/axios.min.js",typings:"./index.d.ts",dependencies:{"follow-redirects":"^1.14.0"},bundlesize:[{path:"./dist/axios.min.js",threshold:"5kB"}]}});var r3=E((sF,a3)=>{"use strict";var Yr=We(),$E=u0(),Tv=E0(),Mv=Ks(),Vv=require("http"),Yv=require("https"),Jv=U0().http,Gv=U0().https,e3=require("url"),xv=require("zlib"),_v=T0(),dn=An(),M0=en(),A3=/https:?/;function t3(e,A,t){if(e.hostname=A.host,e.host=A.host,e.port=A.port,e.path=t,A.auth){var a=Buffer.from(A.auth.username+":"+A.auth.password,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+a}e.beforeRedirect=function(i){i.headers.host=i.host,t3(i,A,i.href)}}a3.exports=function(A){return new Promise(function(a,r){var i=function(T){a(T)},s=function(T){r(T)},n=A.data,o=A.headers;if("User-Agent"in o||"user-agent"in o?!o["User-Agent"]&&!o["user-agent"]&&(delete o["User-Agent"],delete o["user-agent"]):o["User-Agent"]="axios/"+_v.version,n&&!Yr.isStream(n)){if(!Buffer.isBuffer(n))if(Yr.isArrayBuffer(n))n=Buffer.from(new Uint8Array(n));else if(Yr.isString(n))n=Buffer.from(n,"utf-8");else return s(dn("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",A));o["Content-Length"]=n.length}var d=void 0;if(A.auth){var l=A.auth.username||"",p=A.auth.password||"";d=l+":"+p}var g=Tv(A.baseURL,A.url),c=e3.parse(g),u=c.protocol||"http:";if(!d&&c.auth){var Q=c.auth.split(":"),C=Q[0]||"",m=Q[1]||"";d=C+":"+m}d&&delete o.Authorization;var B=A3.test(u),w=B?A.httpsAgent:A.httpAgent,I={path:Mv(c.path,A.params,A.paramsSerializer).replace(/^\?/,""),method:A.method.toUpperCase(),headers:o,agent:w,agents:{http:A.httpAgent,https:A.httpsAgent},auth:d};A.socketPath?I.socketPath=A.socketPath:(I.hostname=c.hostname,I.port=c.port);var y=A.proxy;if(!y&&y!==!1){var S=u.slice(0,-1)+"_proxy",k=process.env[S]||process.env[S.toUpperCase()];if(k){var x=e3.parse(k),we=process.env.no_proxy||process.env.NO_PROXY,Ce=!0;if(we){var yt=we.split(",").map(function(T){return T.trim()});Ce=!yt.some(function(T){return T?T==="*"||T[0]==="."&&c.hostname.substr(c.hostname.length-T.length)===T?!0:c.hostname===T:!1})}if(Ce&&(y={host:x.hostname,port:x.port,protocol:x.protocol},x.auth)){var be=x.auth.split(":");y.auth={username:be[0],password:be[1]}}}}y&&(I.headers.host=c.hostname+(c.port?":"+c.port:""),t3(I,y,u+"//"+c.hostname+(c.port?":"+c.port:"")+I.path));var le,mA=B&&(y?A3.test(y.protocol):!0);A.transport?le=A.transport:A.maxRedirects===0?le=mA?Yv:Vv:(A.maxRedirects&&(I.maxRedirects=A.maxRedirects),le=mA?Gv:Jv),A.maxBodyLength>-1&&(I.maxBodyLength=A.maxBodyLength);var j=le.request(I,function(T){if(!j.aborted){var xA=T,W=T.req||j;if(T.statusCode!==204&&W.method!=="HEAD"&&A.decompress!==!1)switch(T.headers["content-encoding"]){case"gzip":case"compress":case"deflate":xA=xA.pipe(xv.createUnzip()),delete T.headers["content-encoding"];break}var tA={status:T.statusCode,statusText:T.statusMessage,headers:T.headers,config:A,request:W};if(A.responseType==="stream")tA.data=xA,$E(i,s,tA);else{var X0=[],z0=0;xA.on("data",function(_A){X0.push(_A),z0+=_A.length,A.maxContentLength>-1&&z0>A.maxContentLength&&(xA.destroy(),s(dn("maxContentLength size of "+A.maxContentLength+" exceeded",A,null,W)))}),xA.on("error",function(_A){j.aborted||s(M0(_A,A,null,W))}),xA.on("end",function(){var _A=Buffer.concat(X0);A.responseType!=="arraybuffer"&&(_A=_A.toString(A.responseEncoding),(!A.responseEncoding||A.responseEncoding==="utf8")&&(_A=Yr.stripBOM(_A))),tA.data=_A,$E(i,s,tA)})}}});if(j.on("error",function(T){j.aborted&&T.code!=="ERR_FR_TOO_MANY_REDIRECTS"||s(M0(T,A,null,j))}),A.timeout){var re=parseInt(A.timeout,10);if(isNaN(re)){s(dn("error trying to parse `config.timeout` to int",A,"ERR_PARSE_TIMEOUT",j));return}j.setTimeout(re,function(){j.abort(),s(dn("timeout of "+re+"ms exceeded",A,A.transitional&&A.transitional.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",j))})}A.cancelToken&&A.cancelToken.promise.then(function(T){j.aborted||(j.abort(),s(T))}),Yr.isStream(n)?n.on("error",function(T){s(M0(T,A,null,j))}).pipe(j):j.end(n)})}});var ln=E((nF,n3)=>{"use strict";var Me=We(),i3=mE(),qv=en(),Hv={"Content-Type":"application/x-www-form-urlencoded"};function s3(e,A){!Me.isUndefined(e)&&Me.isUndefined(e["Content-Type"])&&(e["Content-Type"]=A)}function Ov(){var e;return typeof XMLHttpRequest<"u"?e=UE():typeof process<"u"&&Object.prototype.toString.call(process)==="[object process]"&&(e=r3()),e}function Pv(e,A,t){if(Me.isString(e))try{return(A||JSON.parse)(e),Me.trim(e)}catch(a){if(a.name!=="SyntaxError")throw a}return(t||JSON.stringify)(e)}var pn={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:Ov(),transformRequest:[function(A,t){return i3(t,"Accept"),i3(t,"Content-Type"),Me.isFormData(A)||Me.isArrayBuffer(A)||Me.isBuffer(A)||Me.isStream(A)||Me.isFile(A)||Me.isBlob(A)?A:Me.isArrayBufferView(A)?A.buffer:Me.isURLSearchParams(A)?(s3(t,"application/x-www-form-urlencoded;charset=utf-8"),A.toString()):Me.isObject(A)||t&&t["Content-Type"]==="application/json"?(s3(t,"application/json"),Pv(A)):A}],transformResponse:[function(A){var t=this.transitional,a=t&&t.silentJSONParsing,r=t&&t.forcedJSONParsing,i=!a&&this.responseType==="json";if(i||r&&Me.isString(A)&&A.length)try{return JSON.parse(A)}catch(s){if(i)throw s.name==="SyntaxError"?qv(s,this,"E_JSON_PARSE"):s}return A}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(A){return A>=200&&A<300}};pn.headers={common:{Accept:"application/json, text/plain, */*"}};Me.forEach(["delete","get","head"],function(A){pn.headers[A]={}});Me.forEach(["post","put","patch"],function(A){pn.headers[A]=Me.merge(Hv)});n3.exports=pn});var d3=E((oF,o3)=>{"use strict";var Wv=We(),Zv=ln();o3.exports=function(A,t,a){var r=this||Zv;return Wv.forEach(a,function(s){A=s.call(r,A,t)}),A}});var V0=E((dF,p3)=>{"use strict";p3.exports=function(A){return!!(A&&A.__CANCEL__)}});var c3=E((pF,g3)=>{"use strict";var l3=We(),Y0=d3(),jv=V0(),Xv=ln();function J0(e){e.cancelToken&&e.cancelToken.throwIfRequested()}g3.exports=function(A){J0(A),A.headers=A.headers||{},A.data=Y0.call(A,A.data,A.headers,A.transformRequest),A.headers=l3.merge(A.headers.common||{},A.headers[A.method]||{},A.headers),l3.forEach(["delete","get","head","post","put","patch","common"],function(r){delete A.headers[r]});var t=A.adapter||Xv.adapter;return t(A).then(function(r){return J0(A),r.data=Y0.call(A,r.data,r.headers,A.transformResponse),r},function(r){return jv(r)||(J0(A),r&&r.response&&(r.response.data=Y0.call(A,r.response.data,r.response.headers,A.transformResponse))),Promise.reject(r)})}});var G0=E((lF,u3)=>{"use strict";var Je=We();u3.exports=function(A,t){t=t||{};var a={},r=["url","method","data"],i=["headers","auth","proxy","params"],s=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],n=["validateStatus"];function o(g,c){return Je.isPlainObject(g)&&Je.isPlainObject(c)?Je.merge(g,c):Je.isPlainObject(c)?Je.merge({},c):Je.isArray(c)?c.slice():c}function d(g){Je.isUndefined(t[g])?Je.isUndefined(A[g])||(a[g]=o(void 0,A[g])):a[g]=o(A[g],t[g])}Je.forEach(r,function(c){Je.isUndefined(t[c])||(a[c]=o(void 0,t[c]))}),Je.forEach(i,d),Je.forEach(s,function(c){Je.isUndefined(t[c])?Je.isUndefined(A[c])||(a[c]=o(void 0,A[c])):a[c]=o(void 0,t[c])}),Je.forEach(n,function(c){c in t?a[c]=o(A[c],t[c]):c in A&&(a[c]=o(void 0,A[c]))});var l=r.concat(i).concat(s).concat(n),p=Object.keys(A).concat(Object.keys(t)).filter(function(c){return l.indexOf(c)===-1});return Je.forEach(p,d),a}});var B3=E((gF,C3)=>{"use strict";var Q3=T0(),x0={};["object","boolean","number","function","string","symbol"].forEach(function(e,A){x0[e]=function(a){return typeof a===e||"a"+(A<1?"n ":" ")+e}});var E3={},zv=Q3.version.split(".");function m3(e,A){for(var t=A?A.split("."):zv,a=e.split("."),r=0;r<3;r++){if(t[r]>a[r])return!0;if(t[r]<a[r])return!1}return!1}x0.transitional=function(A,t,a){var r=t&&m3(t);function i(s,n){return"[Axios v"+Q3.version+"] Transitional option '"+s+"'"+n+(a?". "+a:"")}return function(s,n,o){if(A===!1)throw new Error(i(n," has been removed in "+t));return r&&!E3[n]&&(E3[n]=!0,console.warn(i(n," has been deprecated since v"+t+" and will be removed in the near future"))),A?A(s,n,o):!0}};function Kv(e,A,t){if(typeof e!="object")throw new TypeError("options must be an object");for(var a=Object.keys(e),r=a.length;r-- >0;){var i=a[r],s=A[i];if(s){var n=e[i],o=n===void 0||s(n,i,e);if(o!==!0)throw new TypeError("option "+i+" must be "+o);continue}if(t!==!0)throw Error("Unknown option "+i)}}C3.exports={isOlderVersion:m3,assertOptions:Kv,validators:x0}});var D3=E((cF,y3)=>{"use strict";var f3=We(),$v=Ks(),h3=EE(),I3=c3(),gn=G0(),w3=B3(),Na=w3.validators;function Jr(e){this.defaults=e,this.interceptors={request:new h3,response:new h3}}Jr.prototype.request=function(A){typeof A=="string"?(A=arguments[1]||{},A.url=arguments[0]):A=A||{},A=gn(this.defaults,A),A.method?A.method=A.method.toLowerCase():this.defaults.method?A.method=this.defaults.method.toLowerCase():A.method="get";var t=A.transitional;t!==void 0&&w3.assertOptions(t,{silentJSONParsing:Na.transitional(Na.boolean,"1.0.0"),forcedJSONParsing:Na.transitional(Na.boolean,"1.0.0"),clarifyTimeoutError:Na.transitional(Na.boolean,"1.0.0")},!1);var a=[],r=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(A)===!1||(r=r&&g.synchronous,a.unshift(g.fulfilled,g.rejected))});var i=[];this.interceptors.response.forEach(function(g){i.push(g.fulfilled,g.rejected)});var s;if(!r){var n=[I3,void 0];for(Array.prototype.unshift.apply(n,a),n=n.concat(i),s=Promise.resolve(A);n.length;)s=s.then(n.shift(),n.shift());return s}for(var o=A;a.length;){var d=a.shift(),l=a.shift();try{o=d(o)}catch(p){l(p);break}}try{s=I3(o)}catch(p){return Promise.reject(p)}for(;i.length;)s=s.then(i.shift(),i.shift());return s};Jr.prototype.getUri=function(A){return A=gn(this.defaults,A),$v(A.url,A.params,A.paramsSerializer).replace(/^\?/,"")};f3.forEach(["delete","get","head","options"],function(A){Jr.prototype[A]=function(t,a){return this.request(gn(a||{},{method:A,url:t,data:(a||{}).data}))}});f3.forEach(["post","put","patch"],function(A){Jr.prototype[A]=function(t,a,r){return this.request(gn(r||{},{method:A,url:t,data:a}))}});y3.exports=Jr});var q0=E((uF,R3)=>{"use strict";function _0(e){this.message=e}_0.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")};_0.prototype.__CANCEL__=!0;R3.exports=_0});var N3=E((EF,v3)=>{"use strict";var eN=q0();function cn(e){if(typeof e!="function")throw new TypeError("executor must be a function.");var A;this.promise=new Promise(function(r){A=r});var t=this;e(function(r){t.reason||(t.reason=new eN(r),A(t.reason))})}cn.prototype.throwIfRequested=function(){if(this.reason)throw this.reason};cn.source=function(){var A,t=new cn(function(r){A=r});return{token:t,cancel:A}};v3.exports=cn});var b3=E((QF,S3)=>{"use strict";S3.exports=function(A){return function(a){return A.apply(null,a)}}});var k3=E((mF,F3)=>{"use strict";F3.exports=function(A){return typeof A=="object"&&A.isAxiosError===!0}});var T3=E((CF,H0)=>{"use strict";var L3=We(),AN=d0(),un=D3(),tN=G0(),aN=ln();function U3(e){var A=new un(e),t=AN(un.prototype.request,A);return L3.extend(t,un.prototype,A),L3.extend(t,A),t}var JA=U3(aN);JA.Axios=un;JA.create=function(A){return U3(tN(JA.defaults,A))};JA.Cancel=q0();JA.CancelToken=N3();JA.isCancel=V0();JA.all=function(A){return Promise.all(A)};JA.spread=b3();JA.isAxiosError=k3();H0.exports=JA;H0.exports.default=JA});var V3=E((BF,M3)=>{M3.exports=T3()});var Y3=E((exports,module)=>{"use strict";var __awaiter=exports&&exports.__awaiter||function(e,A,t,a){function r(i){return i instanceof t?i:new t(function(s){s(i)})}return new(t||(t=Promise))(function(i,s){function n(l){try{d(a.next(l))}catch(p){s(p)}}function o(l){try{d(a.throw(l))}catch(p){s(p)}}function d(l){l.done?i(l.value):r(l.value).then(n,o)}d((a=a.apply(e,A||[])).next())})},__generator=exports&&exports.__generator||function(e,A){var t={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},a,r,i,s;return s={next:n(0),throw:n(1),return:n(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function n(d){return function(l){return o([d,l])}}function o(d){if(a)throw new TypeError("Generator is already executing.");for(;t;)try{if(a=1,r&&(i=d[0]&2?r.return:d[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,d[1])).done)return i;switch(r=0,i&&(d=[d[0]&2,i.value]),d[0]){case 0:case 1:i=d;break;case 4:return t.label++,{value:d[1],done:!1};case 5:t.label++,r=d[1],d=[0];continue;case 7:d=t.ops.pop(),t.trys.pop();continue;default:if(i=t.trys,!(i=i.length>0&&i[i.length-1])&&(d[0]===6||d[0]===2)){t=0;continue}if(d[0]===3&&(!i||d[1]>i[0]&&d[1]<i[3])){t.label=d[1];break}if(d[0]===6&&t.label<i[1]){t.label=i[1],i=d;break}if(i&&t.label<i[2]){t.label=i[2],t.ops.push(d);break}i[2]&&t.ops.pop(),t.trys.pop();continue}d=A.call(e,t)}catch(l){d=[6,l],r=0}finally{a=i=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}},__importDefault=exports&&exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});exports.getAllAudioBase64=exports.getAudioBase64=void 0;var assertInputTypes_1=__importDefault(i0()),axios_1=__importDefault(V3()),splitLongText_1=__importDefault(n0()),getAudioBase64=function(text,_a){var _b=_a===void 0?{}:_a,_c=_b.lang,lang=_c===void 0?"en":_c,_d=_b.slow,slow=_d===void 0?!1:_d,_e=_b.host,host=_e===void 0?"https://translate.google.com":_e,_f=_b.timeout,timeout=_f===void 0?1e4:_f;return __awaiter(void 0,void 0,void 0,function(){var res,result;return __generator(this,function(_g){switch(_g.label){case 0:if(assertInputTypes_1.default(text,lang,slow,host),typeof timeout!="number"||timeout<=0)throw new TypeError("timeout should be a positive number");if(text.length>200)throw new RangeError("text length ("+text.length+') should be less than 200 characters. Try "getAllAudioBase64(text, [option])" for long text.');return[4,axios_1.default({method:"post",baseURL:host,url:"/_/TranslateWebserverUi/data/batchexecute",timeout,data:"f.req="+encodeURIComponent(JSON.stringify([[["jQ1olc",JSON.stringify([text,lang,slow?!0:null,"null"]),null,"generic"]]]))})];case 1:res=_g.sent();try{result=eval(res.data.slice(5))[0][2]}catch(e){throw new Error(`parse response failed: +`+res.data)}if(!result)throw new Error('lang "'+lang+'" might not exist');try{result=eval(result)[0]}catch(e){throw new Error(`parse response failed: +`+res.data)}return[2,result]}})})};exports.getAudioBase64=getAudioBase64;var getAllAudioBase64=function(e,A){var t=A===void 0?{}:A,a=t.lang,r=a===void 0?"en":a,i=t.slow,s=i===void 0?!1:i,n=t.host,o=n===void 0?"https://translate.google.com":n,d=t.splitPunct,l=d===void 0?"":d,p=t.timeout,g=p===void 0?1e4:p;return __awaiter(void 0,void 0,void 0,function(){var c,u,Q,C,m,B;return __generator(this,function(w){switch(w.label){case 0:if(assertInputTypes_1.default(e,r,s,o),typeof l!="string")throw new TypeError("splitPunct should be a string");if(typeof g!="number"||g<=0)throw new TypeError("timeout should be a positive number");return c=splitLongText_1.default(e,{splitPunct:l}),[4,Promise.all(c.map(function(I){return exports.getAudioBase64(I,{lang:r,slow:s,host:o,timeout:g})}))];case 1:for(u=w.sent(),Q=[],C=0;C<c.length;C++)m=c[C],B=u[C],Q.push({shortText:m,base64:B});return[2,Q]}})})};exports.getAllAudioBase64=getAllAudioBase64});var x3=E(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.getAllAudioBase64=rt.getAudioBase64=rt.getAllAudioUrls=rt.getAudioUrl=void 0;var J3=nE();Object.defineProperty(rt,"getAudioUrl",{enumerable:!0,get:function(){return J3.getAudioUrl}});Object.defineProperty(rt,"getAllAudioUrls",{enumerable:!0,get:function(){return J3.getAllAudioUrls}});var G3=Y3();Object.defineProperty(rt,"getAudioBase64",{enumerable:!0,get:function(){return G3.getAudioBase64}});Object.defineProperty(rt,"getAllAudioBase64",{enumerable:!0,get:function(){return G3.getAllAudioBase64}})});var lN={};dQ(lN,{default:()=>aQ});module.exports=pQ(lN);var wn=aA(require("react")),$=require("@raycast/api"),j0=aA(ro());var Qn=require("@raycast/api"),W0=aA(ro()),f1=aA(require("react"));var a0=aA(require("querystring")),kr=aA(e0());var Zs={auto:"Automatic",af:"Afrikaans",sq:"Albanian",am:"Amharic",ar:"Arabic",hy:"Armenian",az:"Azerbaijani",eu:"Basque",be:"Belarusian",bn:"Bengali",bs:"Bosnian",bg:"Bulgarian",ca:"Catalan",ceb:"Cebuano",ny:"Chichewa","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",co:"Corsican",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",eo:"Esperanto",et:"Estonian",tl:"Filipino",fi:"Finnish",fr:"French",fy:"Frisian",gl:"Galician",ka:"Georgian",de:"German",el:"Greek",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",haw:"Hawaiian",iw:"Hebrew",hi:"Hindi",hmn:"Hmong",hu:"Hungarian",is:"Icelandic",ig:"Igbo",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",jw:"Javanese",kn:"Kannada",kk:"Kazakh",km:"Khmer",ko:"Korean",ku:"Kurdish (Kurmanji)",ky:"Kyrgyz",lo:"Lao",la:"Latin",lv:"Latvian",lt:"Lithuanian",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mn:"Mongolian",my:"Myanmar (Burmese)",ne:"Nepali",no:"Norwegian",ps:"Pashto",fa:"Persian",pl:"Polish",pt:"Portuguese",pa:"Punjabi",ro:"Romanian",ru:"Russian",sm:"Samoan",gd:"Scots Gaelic",sr:"Serbian",st:"Sesotho",sn:"Shona",sd:"Sindhi",si:"Sinhala",sk:"Slovak",sl:"Slovenian",so:"Somali",es:"Spanish",su:"Sundanese",sw:"Swahili",sv:"Swedish",tg:"Tajik",ta:"Tamil",te:"Telugu",th:"Thai",tr:"Turkish",uk:"Ukrainian",ur:"Urdu",uz:"Uzbek",vi:"Vietnamese",cy:"Welsh",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",zu:"Zulu"};function js(e){return e?(e=e.toLowerCase(),e in Zs?e:Object.keys(Zs).filter(t=>typeof Zs[t]!="string"?!1:Zs[t].toLowerCase()===e)[0]||void 0):void 0}function eE(e){return!!js(e)}var tE=aA(e0());function QR(e){let A;if(A0!==null)A=A0;else{A=Xs("T");let o=Xs("K");A=[A(),A()],A[1]=o(),A=(A0=t0[A.join(o())]||"")||""}let t=Xs("t"),a=Xs("k");t=[t(),t()],t[1]=a(),a="&"+t.join("")+"=",t=A.split("."),A=Number(t[0])||0;for(var r=[],i=0,s=0;s<e.length;s++){let o=e.charCodeAt(s);128>o?r[i++]=o:(2048>o?r[i++]=o>>6|192:((o&64512)==55296&&s+1<e.length&&(e.charCodeAt(s+1)&64512)==56320?(o=65536+((o&1023)<<10)+(e.charCodeAt(++s)&1023),r[i++]=o>>18|240,r[i++]=o>>12&63|128):r[i++]=o>>12|224,r[i++]=o>>6&63|128),r[i++]=o&63|128)}let n=Number(A);for(let o=0;o<r.length;o++)e+=r[o],n=AE(n,"+-a^+6");return n=AE(n,"+-3^+b+-f"),n^=Number(t[1])||0,0>n&&(n=(n&2147483647)+2147483648),n%=1e6,a+(e.toString()+"."+(n^A))}var A0=null,Xs=function(e){return function(){return e}},AE=function(e,A){for(let t=0;t<A.length-2;t+=3){let a=A.charAt(t+2),r=a>="a"?a.charCodeAt(0)-87:Number(a);r=A.charAt(t+1)=="+"?e>>>r:e<<r,e=A.charAt(t)=="+"?e+r&4294967295:e^r}return e},aE=new Map,t0={TKK:aE.get("TKK")||"0"};async function mR(){let e=Math.floor(Date.now()/36e5);if(Number(t0.TKK.split(".")[0])!==e){let a=(await(await(0,tE.request)("https://translate.google.com")).body.text()).match(/tkk:'\d+.\d+'/g);if(a&&a.length>0){let r=a[0].split(":")[1].replace(/'/g,"");t0.TKK=r,aE.set("TKK",r)}}}async function rE(e){try{await mR();let A=QR(e);return A=A.replace("&tk=",""),{name:"tk",value:A}}catch(A){return A}}async function iE(e,A){typeof A!="object"&&(A={}),e=String(e);let t=null;if([A.from,A.to].forEach(g=>{g&&!eE(g)&&(t=new Error,t.message=`The language '${g}' is not supported.`)}),t)throw t;Object.prototype.hasOwnProperty.call(A,"from")||(A.from="auto"),Object.prototype.hasOwnProperty.call(A,"to")||(A.to="en"),A.raw=!!A.raw,A.from=js(A.from),A.to=js(A.to);let a=await rE(e),r="https://translate.google.com/translate_a/single",i={client:"gtx",sl:A.from,tl:A.to,hl:A.to,dt:["at","bd","ex","ld","md","qca","rw","rm","ss","t"],ie:"UTF-8",oe:"UTF-8",otf:1,ssel:0,tsel:0,kc:7,q:e,[a.name]:a.value},s=`${r}?${a0.default.stringify(i)}`,n,o=s;s.length>2048?(delete i.q,o=`${r}?${a0.default.stringify(i)}`,n={method:"POST",body:new URLSearchParams({q:e}).toString(),headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"}},A.proxy&&(n.dispatcher=new kr.ProxyAgent(A.proxy))):A.proxy&&(n={dispatcher:new kr.ProxyAgent(A.proxy)});let l=await(await(0,kr.request)(o,n)).body.json(),p={text:"",from:{language:{didYouMean:!1,iso:""},text:{autoCorrected:!1,value:"",didYouMean:!1}},raw:""};if(A.raw&&(p.raw=l),l[0].forEach(g=>{g[0]&&(p.text+=g[0])}),l[2]===l[8][0][0]?p.from.language.iso=l[2]:(p.from.language.didYouMean=!0,p.from.language.iso=l[8][0][0]),l[7]&&l[7][0]){let g=l[7][0];g=g.replace(/<b><i>/g,"["),g=g.replace(/<\/i><\/b>/g,"]"),p.from.text.value=g,l[7][5]===!0?p.from.text.autoCorrected=!0:p.from.text.didYouMean=!0}return p}var _3=aA(x3()),q3=aA(require("os")),H3=aA(require("path")),O3=aA(require("https")),P3=aA(require("child_process")),ba=require("fs"),Gr="auto",En=class extends Error{},rN=e=>e?.[0]?.[1]?.[2];async function Sa(e,A){try{if(!e)return{originalText:e,translatedText:"",pronunciationText:"",langFrom:A.langFrom,langTo:A.langTo[0]};let t=await iE(e,{from:A.langFrom,to:A.langTo[0],raw:!0,proxy:A.proxy});return{originalText:e,translatedText:t.text,pronunciationText:rN(t?.raw),langFrom:t?.from?.language?.iso,langTo:A.langTo[0]}}catch(t){if(t instanceof Error){if(t.name==="TooManyRequestsError"){let r=new En;throw r.name="Too many requests",r.message="please try again later",r}let a=new En;throw a.name=t.name,a.message=t.message,a}throw t}}async function W3(e,A){if(!e)return[];if(A.langFrom===Gr){let t=await Sa(e,{langFrom:A.langFrom,langTo:A.langTo});if(t?.langFrom){let a=await Sa(t.translatedText,{langFrom:A.langTo[0],langTo:[t.langFrom]});return[t,a]}return[]}else return await Promise.all([Sa(e,{langFrom:A.langFrom,langTo:A.langTo}),Sa(e,{langFrom:A.langTo[0],langTo:[A.langFrom]})])}async function O0(e,A){let t=_3.getAudioUrl(e,{lang:A,slow:!1,host:"https://translate.google.com"});O3.get(t,a=>{let r=[];a.on("data",i=>{r.push(i)}),a.on("end",()=>{let i=Buffer.concat(r),s=H3.join(q3.tmpdir(),"translation.mp3");(0,ba.writeFileSync)(s,i),P3.spawn("afplay",[s]).on("exit",o=>{o!==0&&console.error("Error playing audio"),(0,ba.existsSync)(s)&&(0,ba.unlinkSync)(s)})})})}var P0=e=>({langFrom:e.langFrom,langTo:Array.isArray(e.langTo)?e.langTo:[e.langTo]}),xr=()=>f1.default.useMemo(()=>(0,Qn.getPreferenceValues)(),[]),Z3=()=>{let e=xr(),[A,t]=f1.default.useState(""),a=f1.default.useRef(A);return a.current=A,f1.default.useEffect(()=>{e.autoInput&&(0,Qn.getSelectedText)().then(r=>{a.current||t(r??"")}).catch(r=>{console.log("Error:",r)})},[]),[A,t]},Fa=()=>{let e=xr(),[A,t]=(0,W0.useCachedState)("selectedLanguageSet",P0({langFrom:e.lang1,langTo:e.lang2}));return[P0(A),t]},mn=()=>{let e=xr();return{langFrom:e.lang1,langTo:[e.lang2]}},j3=(e,A)=>{let[t,a]=f1.default.useState(e);return f1.default.useEffect(()=>{let r=setTimeout(()=>{a(e)},A);return()=>{clearTimeout(r)}},[e,A]),t},Cn=()=>{let[e,A]=(0,W0.useCachedState)("languages",[]);return[e.map(P0),A]};var X3={"Auto-detect":{code:"auto",name:"Auto-detect",flag:"\u{1F310}"},Afrikaans:{code:"af",name:"Afrikaans",flag:"\u{1F1FF}\u{1F1E6}"},Albanian:{code:"sq",name:"Albanian",flag:"\u{1F1E6}\u{1F1F1}"},Amharic:{code:"am",name:"Amharic"},Arabic:{code:"ar",name:"Arabic"},Armenian:{code:"hy",name:"Armenian",flag:"\u{1F1E6}\u{1F1F2}"},Azerbaijani:{code:"az",name:"Azerbaijani",flag:"\u{1F1E6}\u{1F1FF}"},Basque:{code:"eu",name:"Basque"},Belarusian:{code:"be",name:"Belarusian",flag:"\u{1F1E7}\u{1F1FE}"},Bengali:{code:"bn",name:"Bengali"},Bosnian:{code:"bs",name:"Bosnian",flag:"\u{1F1E7}\u{1F1E6}"},Bulgarian:{code:"bg",name:"Bulgarian",flag:"\u{1F1E7}\u{1F1EC}"},Catalan:{code:"ca",name:"Catalan"},Cebuano:{code:"ceb",name:"Cebuano"},"Chinese Simplified":{code:"zh-CN",name:"Chinese Simplified",flag:"\u{1F1E8}\u{1F1F3}"},Mandarin:{code:"zh-TW",name:"Chinese Traditional"},Corsican:{code:"co",name:"Corsican"},Croatian:{code:"hr",name:"Croatian",flag:"\u{1F1ED}\u{1F1F7}"},Czech:{code:"cs",name:"Czech",flag:"\u{1F1E8}\u{1F1FF}"},Danish:{code:"da",name:"Danish",flag:"\u{1F1E9}\u{1F1F0}"},Dutch:{code:"nl",name:"Dutch",flag:"\u{1F1F3}\u{1F1F1}"},English:{code:"en",name:"English",flag:"\u{1F1EC}\u{1F1E7}"},Esperanto:{code:"eo",name:"Esperanto"},Estonian:{code:"et",name:"Estonian",flag:"\u{1F1EA}\u{1F1EA}"},Finnish:{code:"fi",name:"Finnish",flag:"\u{1F1EB}\u{1F1EE}"},French:{code:"fr",name:"French",flag:"\u{1F1EB}\u{1F1F7}"},Frisian:{code:"fy",name:"Frisian"},Galician:{code:"gl",name:"Galician"},Georgian:{code:"ka",name:"Georgian",flag:"\u{1F1EC}\u{1F1EA}"},German:{code:"de",name:"German",flag:"\u{1F1E9}\u{1F1EA}"},Greek:{code:"el",name:"Greek",flag:"\u{1F1EC}\u{1F1F7}"},Gujarati:{code:"gu",name:"Gujarati"},"Haitian Creole":{code:"ht",name:"Haitian Creole",flag:"\u{1F1ED}\u{1F1F9}"},Hausa:{code:"ha",name:"Hausa"},Hawaiian:{code:"haw",name:"Hawaiian",flag:"\u{1F33A}"},Hebrew:{code:"iw",name:"Hebrew",flag:"\u{1F1EE}\u{1F1F1}"},Hindi:{code:"hi",name:"Hindi",flag:"\u{1F1EE}\u{1F1F3}"},Hmong:{code:"hmn",name:"Hmong"},Hungarian:{code:"hu",name:"Hungarian",flag:"\u{1F1ED}\u{1F1FA}"},Icelandic:{code:"is",name:"Icelandic",flag:"\u{1F1EE}\u{1F1F8}"},Igbo:{code:"ig",name:"Igbo"},Indonesian:{code:"id",name:"Indonesian",flag:"\u{1F1EE}\u{1F1E9}"},Irish:{code:"ga",name:"Irish",flag:"\u{1F1EE}\u{1F1EA}"},Italian:{code:"it",name:"Italian",flag:"\u{1F1EE}\u{1F1F9}"},Japanese:{code:"ja",name:"Japanese",flag:"\u{1F1EF}\u{1F1F5}"},Javanese:{code:"jv",name:"Javanese"},Kannada:{code:"kn",name:"Kannada"},Kazakh:{code:"kk",name:"Kazakh",flag:"\u{1F1F0}\u{1F1FF}"},Khmer:{code:"km",name:"Khmer"},Kinyarwanda:{code:"rw",name:"Kinyarwanda"},Korean:{code:"ko",name:"Korean",flag:"\u{1F1F0}\u{1F1F7}"},Kurdish:{code:"ku",name:"Kurdish"},Kyrgyz:{code:"ky",name:"Kyrgyz"},Lao:{code:"lo",name:"Lao"},Latvian:{code:"lv",name:"Latvian",flag:"\u{1F1F1}\u{1F1FB}"},Lithuanian:{code:"lt",name:"Lithuanian",flag:"\u{1F1F1}\u{1F1F9}"},Luxembourgish:{code:"lb",name:"Luxembourgish",flag:"\u{1F1F1}\u{1F1FA}"},Latin:{code:"la",name:"Latin",flag:"\u{1F3DB}"},Macedonian:{code:"mk",name:"Macedonian",flag:"\u{1F1F2}\u{1F1F0}"},Malagasy:{code:"mg",name:"Malagasy"},Malay:{code:"ms",name:"Malay",flag:"\u{1F1F2}\u{1F1FE}"},Malayalam:{code:"ml",name:"Malayalam"},Maltese:{code:"mt",name:"Maltese",flag:"\u{1F1F2}\u{1F1F9}"},Maori:{code:"mi",name:"Maori",flag:"\u{1F1F3}\u{1F1FF}"},Marathi:{code:"mr",name:"Marathi"},Mongolian:{code:"mn",name:"Mongolian",flag:"\u{1F1F2}\u{1F1F3}"},"Myanmar (Burmese)":{code:"my",name:"Myanmar (Burmese)",flag:"\u{1F1F2}\u{1F1F2}"},Nepali:{code:"ne",name:"Nepali",flag:"\u{1F1F3}\u{1F1F5}"},Norwegian:{code:"no",name:"Norwegian",flag:"\u{1F1F3}\u{1F1F4}"},"Nyanja (Chichewa)":{code:"ny",name:"Nyanja (Chichewa)"},"Odia (Oriya)":{code:"or",name:"Odia (Oriya)"},Pashto:{code:"ps",name:"Pashto"},Persian:{code:"fa",name:"Persian",flag:"\u{1F1EE}\u{1F1F7}"},Polish:{code:"pl",name:"Polish",flag:"\u{1F1F5}\u{1F1F1}"},Portuguese:{code:"pt",name:"Portuguese",flag:"\u{1F1F5}\u{1F1F9}"},Punjabi:{code:"pa",name:"Punjabi",flag:"\u{1F1EE}\u{1F1F3}"},Romanian:{code:"ro",name:"Romanian",flag:"\u{1F1F7}\u{1F1F4}"},Russian:{code:"ru",name:"Russian",flag:"\u{1F1F7}\u{1F1FA}"},Samoan:{code:"sm",name:"Samoan"},"Scots Gaelic":{code:"gd",name:"Scots Gaelic",flag:"\u{1F3F4}\u{E0067}\u{E0062}\u{E0073}\u{E0063}\u{E0074}\u{E007F}"},Serbian:{code:"sr",name:"Serbian",flag:"\u{1F1F7}\u{1F1F8}"},Sesotho:{code:"st",name:"Sesotho"},Shona:{code:"sn",name:"Shona"},Sindhi:{code:"sd",name:"Sindhi"},"Sinhala (Sinhalese)":{code:"si",name:"Sinhala (Sinhalese)"},Slovak:{code:"sk",name:"Slovak",flag:"\u{1F1F8}\u{1F1F0}"},Slovenian:{code:"sl",name:"Slovenian",flag:"\u{1F1F8}\u{1F1EE}"},Somali:{code:"so",name:"Somali",flag:"\u{1F1F8}\u{1F1F4}"},Spanish:{code:"es",name:"Spanish",flag:"\u{1F1EA}\u{1F1F8}"},Sundanese:{code:"su",name:"Sundanese",flag:"\u{1F1F8}\u{1F1E9}"},Swahili:{code:"sw",name:"Swahili"},Swedish:{code:"sv",name:"Swedish",flag:"\u{1F1F8}\u{1F1EA}"},"Tagalog (Filipino)":{code:"tl",name:"Tagalog (Filipino)",flag:"\u{1F1F5}\u{1F1ED}"},Tajik:{code:"tg",name:"Tajik"},Tamil:{code:"ta",name:"Tamil"},Tatar:{code:"tt",name:"Tatar"},Telugu:{code:"te",name:"Telugu"},Thai:{code:"th",name:"Thai"},Turkish:{code:"tr",name:"Turkish",flag:"\u{1F1F9}\u{1F1F7}"},Turkmen:{code:"tk",name:"Turkmen",flag:"\u{1F1F9}\u{1F1F2}"},Ukrainian:{code:"uk",name:"Ukrainian",flag:"\u{1F1FA}\u{1F1E6}"},Urdu:{code:"ur",name:"Urdu"},Uyghur:{code:"ug",name:"Uyghur"},Uzbek:{code:"uz",name:"Uzbek"},Vietnamese:{code:"vi",name:"Vietnamese",flag:"\u{1F1FB}\u{1F1F3}"},Welsh:{code:"cy",name:"Welsh",flag:"\u{1F3F4}\u{E0067}\u{E0062}\u{E0077}\u{E006C}\u{E0073}\u{E007F}"},Xhosa:{code:"xh",name:"Xhosa"},Yiddish:{code:"yi",name:"Yiddish",flag:"\u{1F1EE}\u{1F1F1}"},Yoruba:{code:"yo",name:"Yoruba"},Zulu:{code:"zu",name:"Zulu"}};var z3={auto:{code:"auto",name:"Auto-detect",flag:"\u{1F310}"},af:{code:"af",name:"Afrikaans",flag:"\u{1F1FF}\u{1F1E6}"},sq:{code:"sq",name:"Albanian",flag:"\u{1F1E6}\u{1F1F1}"},am:{code:"am",name:"Amharic"},ar:{code:"ar",name:"Arabic"},hy:{code:"hy",name:"Armenian",flag:"\u{1F1E6}\u{1F1F2}"},az:{code:"az",name:"Azerbaijani",flag:"\u{1F1E6}\u{1F1FF}"},eu:{code:"eu",name:"Basque"},be:{code:"be",name:"Belarusian",flag:"\u{1F1E7}\u{1F1FE}"},bn:{code:"bn",name:"Bengali"},bs:{code:"bs",name:"Bosnian",flag:"\u{1F1E7}\u{1F1E6}"},bg:{code:"bg",name:"Bulgarian",flag:"\u{1F1E7}\u{1F1EC}"},ca:{code:"ca",name:"Catalan"},ceb:{code:"ceb",name:"Cebuano"},"zh-CN":{code:"zh-CN",name:"Chinese Simplified",flag:"\u{1F1E8}\u{1F1F3}"},"zh-TW":{code:"zh-TW",name:"Chinese Traditional"},co:{code:"co",name:"Corsican"},hr:{code:"hr",name:"Croatian",flag:"\u{1F1ED}\u{1F1F7}"},cs:{code:"cs",name:"Czech",flag:"\u{1F1E8}\u{1F1FF}"},da:{code:"da",name:"Danish",flag:"\u{1F1E9}\u{1F1F0}"},nl:{code:"nl",name:"Dutch",flag:"\u{1F1F3}\u{1F1F1}"},en:{code:"en",name:"English",flag:"\u{1F1EC}\u{1F1E7}"},eo:{code:"eo",name:"Esperanto"},et:{code:"et",name:"Estonian",flag:"\u{1F1EA}\u{1F1EA}"},fi:{code:"fi",name:"Finnish",flag:"\u{1F1EB}\u{1F1EE}"},fr:{code:"fr",name:"French",flag:"\u{1F1EB}\u{1F1F7}"},fy:{code:"fy",name:"Frisian"},gl:{code:"gl",name:"Galician"},ka:{code:"ka",name:"Georgian",flag:"\u{1F1EC}\u{1F1EA}"},de:{code:"de",name:"German",flag:"\u{1F1E9}\u{1F1EA}"},el:{code:"el",name:"Greek",flag:"\u{1F1EC}\u{1F1F7}"},gu:{code:"gu",name:"Gujarati"},ht:{code:"ht",name:"Haitian Creole",flag:"\u{1F1ED}\u{1F1F9}"},ha:{code:"ha",name:"Hausa"},haw:{code:"haw",name:"Hawaiian",flag:"\u{1F33A}"},iw:{code:"iw",name:"Hebrew",flag:"\u{1F1EE}\u{1F1F1}"},hi:{code:"hi",name:"Hindi",flag:"\u{1F1EE}\u{1F1F3}"},hmn:{code:"hmn",name:"Hmong"},hu:{code:"hu",name:"Hungarian",flag:"\u{1F1ED}\u{1F1FA}"},is:{code:"is",name:"Icelandic",flag:"\u{1F1EE}\u{1F1F8}"},ig:{code:"ig",name:"Igbo"},id:{code:"id",name:"Indonesian",flag:"\u{1F1EE}\u{1F1E9}"},ga:{code:"ga",name:"Irish",flag:"\u{1F1EE}\u{1F1EA}"},it:{code:"it",name:"Italian",flag:"\u{1F1EE}\u{1F1F9}"},ja:{code:"ja",name:"Japanese",flag:"\u{1F1EF}\u{1F1F5}"},jv:{code:"jv",name:"Javanese"},kn:{code:"kn",name:"Kannada"},kk:{code:"kk",name:"Kazakh",flag:"\u{1F1F0}\u{1F1FF}"},km:{code:"km",name:"Khmer"},rw:{code:"rw",name:"Kinyarwanda"},ko:{code:"ko",name:"Korean",flag:"\u{1F1F0}\u{1F1F7}"},ku:{code:"ku",name:"Kurdish"},ky:{code:"ky",name:"Kyrgyz"},lo:{code:"lo",name:"Lao"},lv:{code:"lv",name:"Latvian",flag:"\u{1F1F1}\u{1F1FB}"},lt:{code:"lt",name:"Lithuanian",flag:"\u{1F1F1}\u{1F1F9}"},lb:{code:"lb",name:"Luxembourgish",flag:"\u{1F1F1}\u{1F1FA}"},la:{code:"la",name:"Latin",flag:"\u{1F3DB}"},mk:{code:"mk",name:"Macedonian",flag:"\u{1F1F2}\u{1F1F0}"},mg:{code:"mg",name:"Malagasy"},ms:{code:"ms",name:"Malay",flag:"\u{1F1F2}\u{1F1FE}"},ml:{code:"ml",name:"Malayalam"},mt:{code:"mt",name:"Maltese",flag:"\u{1F1F2}\u{1F1F9}"},mi:{code:"mi",name:"Maori",flag:"\u{1F1F3}\u{1F1FF}"},mr:{code:"mr",name:"Marathi"},mn:{code:"mn",name:"Mongolian",flag:"\u{1F1F2}\u{1F1F3}"},my:{code:"my",name:"Myanmar (Burmese)",flag:"\u{1F1F2}\u{1F1F2}"},ne:{code:"ne",name:"Nepali",flag:"\u{1F1F3}\u{1F1F5}"},no:{code:"no",name:"Norwegian",flag:"\u{1F1F3}\u{1F1F4}"},ny:{code:"ny",name:"Nyanja (Chichewa)"},or:{code:"or",name:"Odia (Oriya)"},ps:{code:"ps",name:"Pashto"},fa:{code:"fa",name:"Persian",flag:"\u{1F1EE}\u{1F1F7}"},pl:{code:"pl",name:"Polish",flag:"\u{1F1F5}\u{1F1F1}"},pt:{code:"pt",name:"Portuguese",flag:"\u{1F1F5}\u{1F1F9}"},pa:{code:"pa",name:"Punjabi",flag:"\u{1F1EE}\u{1F1F3}"},ro:{code:"ro",name:"Romanian",flag:"\u{1F1F7}\u{1F1F4}"},ru:{code:"ru",name:"Russian",flag:"\u{1F1F7}\u{1F1FA}"},sm:{code:"sm",name:"Samoan"},gd:{code:"gd",name:"Scots Gaelic",flag:"\u{1F3F4}\u{E0067}\u{E0062}\u{E0073}\u{E0063}\u{E0074}\u{E007F}"},sr:{code:"sr",name:"Serbian",flag:"\u{1F1F7}\u{1F1F8}"},st:{code:"st",name:"Sesotho"},sn:{code:"sn",name:"Shona"},sd:{code:"sd",name:"Sindhi"},si:{code:"si",name:"Sinhala (Sinhalese)"},sk:{code:"sk",name:"Slovak",flag:"\u{1F1F8}\u{1F1F0}"},sl:{code:"sl",name:"Slovenian",flag:"\u{1F1F8}\u{1F1EE}"},so:{code:"so",name:"Somali",flag:"\u{1F1F8}\u{1F1F4}"},es:{code:"es",name:"Spanish",flag:"\u{1F1EA}\u{1F1F8}"},su:{code:"su",name:"Sundanese",flag:"\u{1F1F8}\u{1F1E9}"},sw:{code:"sw",name:"Swahili"},sv:{code:"sv",name:"Swedish",flag:"\u{1F1F8}\u{1F1EA}"},tl:{code:"tl",name:"Tagalog (Filipino)",flag:"\u{1F1F5}\u{1F1ED}"},tg:{code:"tg",name:"Tajik"},ta:{code:"ta",name:"Tamil"},tt:{code:"tt",name:"Tatar"},te:{code:"te",name:"Telugu"},th:{code:"th",name:"Thai"},tr:{code:"tr",name:"Turkish",flag:"\u{1F1F9}\u{1F1F7}"},tk:{code:"tk",name:"Turkmen",flag:"\u{1F1F9}\u{1F1F2}"},uk:{code:"uk",name:"Ukrainian",flag:"\u{1F1FA}\u{1F1E6}"},ur:{code:"ur",name:"Urdu"},ug:{code:"ug",name:"Uyghur"},uz:{code:"uz",name:"Uzbek"},vi:{code:"vi",name:"Vietnamese",flag:"\u{1F1FB}\u{1F1F3}"},cy:{code:"cy",name:"Welsh",flag:"\u{1F3F4}\u{E0067}\u{E0062}\u{E0077}\u{E006C}\u{E0073}\u{E007F}"},xh:{code:"xh",name:"Xhosa"},yi:{code:"yi",name:"Yiddish",flag:"\u{1F1EE}\u{1F1F1}"},yo:{code:"yo",name:"Yoruba"},zu:{code:"zu",name:"Zulu"}};var Ze=(e,A="\u{1F3F3}\uFE0F")=>e?.flag??A;var Ot=z3,nN=X3,Bn=Object.values(nN);var _=require("@raycast/api");var K3=aA(require("react")),Se=require("@raycast/api");var QA=require("react/jsx-runtime"),$3=({onAddLanguage:e})=>{let[A,t]=K3.default.useState(["en"]);return(0,QA.jsxs)(Se.Form,{actions:(0,QA.jsx)(Se.ActionPanel,{children:(0,QA.jsx)(Se.Action.SubmitForm,{title:"Add language set",onSubmit:a=>{let r=A.filter(i=>!!i);if(!r.length){(0,Se.showToast)({style:Se.Toast.Style.Failure,title:"No target languages",message:"Please select at least one target language"});return}e({langFrom:a.langFrom,langTo:r})}})}),children:[(0,QA.jsx)(Se.Form.Dropdown,{id:"langFrom",title:"Source Language",children:Bn.map(a=>(0,QA.jsx)(Se.Form.Dropdown.Item,{value:a.code,title:a.name,icon:Ze(a)},a.code))}),A.map((a,r)=>{let i=A[r];return(0,QA.jsxs)(Se.Form.Dropdown,{id:`langTo.${r}`,title:`Target Language ${r+1}`,value:i,onChange:s=>{let n=[...A];n[r]=s,t(n)},children:[!i&&(0,QA.jsx)(Se.Form.Dropdown.Item,{value:"",title:""}),Bn.filter(s=>s.code!==Gr).map(s=>(0,QA.jsx)(Se.Form.Dropdown.Item,{value:s.code,title:s.name,icon:Ze(s)},s.code))]},r)}),(!!A[A.length-1]||A.length===0)&&(0,QA.jsxs)(Se.Form.Dropdown,{id:`langTo.${A.length}`,title:`Target Language ${A.length}`,value:"",onChange:a=>{let r=[...A];r.push(a),t(r)},children:[(0,QA.jsx)(Se.Form.Dropdown.Item,{value:"",title:""}),Bn.filter(a=>a.code!==Gr).map(a=>(0,QA.jsx)(Se.Form.Dropdown.Item,{value:a.code,title:a.name,icon:Ze(a)},a.code))]},A.length)]})};var ka=(e,A)=>e.langFrom===A.langFrom&&e.langTo.join()===A.langTo.join(),Z0=e=>({langFrom:Ot[e.langFrom],langTo:e.langTo.map(A=>Ot[A])}),w1=e=>{let{langFrom:A,langTo:t}=Z0(e),r=(Array.isArray(t)?t:[t]).map(i=>`${Ze(i)} ${i.name}`);return`${A.name} ${Ze(A)} -> ${r.join(", ")}`};var fe=require("react/jsx-runtime");function eQ({languageSet:e,onSelect:A,onDelete:t,selected:a}){let{langFrom:r,langTo:i}=Z0(e),s=Array.isArray(i)?i:[i],n=s.map(d=>Ze(d)).join(" "),o=s.map(d=>d.name).join(", ");return(0,fe.jsx)(_.List.Item,{subtitle:`${Ze(r)} -> ${n}`,title:`${r.name} -> ${o}`,keywords:[r.name,r.code,...s.flatMap(d=>[d.name,d.code])],icon:a?{tintColor:_.Color.Green,source:_.Icon.Checkmark}:void 0,actions:(0,fe.jsxs)(_.ActionPanel,{children:[(0,fe.jsx)(_.Action,{title:"Select",onAction:A,icon:{tintColor:_.Color.Green,source:_.Icon.Checkmark}}),t&&(0,fe.jsx)(_.Action,{style:_.Action.Style.Destructive,title:"Delete",onAction:t,icon:_.Icon.Trash})]})})}var oN=({languageSet:e,onSelect:A})=>(0,fe.jsx)(_.List.Item,{icon:_.Icon.SaveDocument,title:"Save current set",subtitle:w1(e),actions:(0,fe.jsx)(_.ActionPanel,{children:(0,fe.jsx)(_.Action,{title:"Save current set",onAction:A})})}),AQ=()=>{let e=(0,_.useNavigation)(),A=mn(),[t,a]=Fa(),[r,i]=Cn();return(0,fe.jsxs)(_.List,{actions:(0,fe.jsx)(_.ActionPanel,{children:(0,fe.jsx)(_.Action,{title:"Remove all",onAction:()=>i([])})}),children:[(0,fe.jsx)(_.List.Item,{icon:{source:_.Icon.Plus},title:"Add new language set...",actions:(0,fe.jsx)(_.ActionPanel,{children:(0,fe.jsx)(_.Action.Push,{title:"Add new language set...",target:(0,fe.jsx)($3,{onAddLanguage:s=>{i([...r,s]),e.pop(),(0,_.showToast)(_.Toast.Style.Success,"Language set was saved!",w1(s))}})})})}),!r.some(s=>ka(s,t))&&!ka(A,t)&&(0,fe.jsx)(oN,{languageSet:t,onSelect:()=>i([...r,t])}),(0,fe.jsx)(eQ,{languageSet:A,onSelect:()=>{a(A),e.pop()},selected:ka(t,A)}),r.map(s=>(0,fe.jsx)(eQ,{selected:ka(t,s),languageSet:s,onSelect:()=>{a(s),e.pop()},onDelete:()=>{i(r.filter(n=>!ka(n,s))),(0,_.showToast)(_.Toast.Style.Success,"Language set was deleted!",w1(s))}},`${s.langFrom} ${s.langTo}`))]})};var ft=require("@raycast/api");var y1=require("react/jsx-runtime");function tQ(){let e=(0,ft.useNavigation)(),A=mn(),[t,a]=Fa(),[r]=Cn();return(0,y1.jsxs)(ft.List.Dropdown,{value:JSON.stringify(t),tooltip:"Language Set",onChange:i=>{if(i==="manage")e.push((0,y1.jsx)(AQ,{}));else{let s=JSON.parse(i);a(s)}},children:[(0,y1.jsx)(ft.List.Dropdown.Item,{icon:ft.Icon.Pencil,title:"Manage language sets...",value:"manage"}),(0,y1.jsx)(ft.List.Dropdown.Item,{title:w1(A),value:JSON.stringify(A)}),r.map(i=>(0,y1.jsx)(ft.List.Dropdown.Item,{title:w1(i),value:JSON.stringify(i)},`${i.langFrom} ${i.langTo.toString()}`))]})}var wt=require("@raycast/api"),GA=require("react/jsx-runtime"),hn=({defaultActionsPrefix:e,value:A})=>{let t=(0,wt.getPreferenceValues)().defaultAction,a=(0,GA.jsx)(wt.Action.Paste,{title:e?`Paste ${e}`:"Paste",content:A}),r=(0,GA.jsx)(wt.Action.CopyToClipboard,{title:e?`Copy ${e}`:"Copy",content:A});return t==="paste"?(0,GA.jsxs)(GA.Fragment,{children:[a,r]}):(0,GA.jsxs)(GA.Fragment,{children:[r,a]})},In=({onAction:e})=>(0,GA.jsx)(wt.Action,{title:"Toggle Full Text",icon:wt.Icon.Text,onAction:e,shortcut:{modifiers:["cmd"],key:"f"}}),fn=({translationText:e,translation:A})=>(0,GA.jsx)(wt.Action.OpenInBrowser,{title:"Open in Google Translate",shortcut:{modifiers:["opt"],key:"enter"},url:"https://translate.google.com/?sl="+A.langFrom+"&tl="+A.langTo+"&text="+encodeURIComponent(e)+"&op=translate"});var H=require("react/jsx-runtime"),dN=({toggleShowingDetail:e,value:A,selectedLanguageSet:t})=>{let{data:a}=(0,j0.usePromise)(W3,[A,t],{onError(r){(0,$.showToast)({style:$.Toast.Style.Failure,title:"Could not translate",message:r.toString()})}});return(0,H.jsx)(H.Fragment,{children:a?.map((r,i)=>{let s=Ot[r.langFrom],n=Ot[r.langTo],o=`${Ze(s,s?.code)} -> ${Ze(n,n?.code)}`,d=`${s?.name??s?.code} -> ${n?.name??n?.code}`;return(0,H.jsxs)(wn.default.Fragment,{children:[(0,H.jsx)($.List.Item,{title:r.translatedText,accessories:[{text:o,tooltip:d}],detail:(0,H.jsx)($.List.Item.Detail,{markdown:r.translatedText}),actions:(0,H.jsx)($.ActionPanel,{children:(0,H.jsxs)($.ActionPanel.Section,{children:[(0,H.jsx)(hn,{defaultActionsPrefix:"Translation",value:r.translatedText}),(0,H.jsx)(In,{onAction:()=>e()}),(0,H.jsx)($.Action,{title:"Play Text-To-Speech",icon:$.Icon.Play,shortcut:{modifiers:["cmd"],key:"t"},onAction:()=>O0(r.translatedText,r.langTo)}),(0,H.jsx)(fn,{translationText:A,translation:r})]})})}),r.pronunciationText&&(0,H.jsx)($.List.Item,{title:r.pronunciationText,accessories:[{text:o,tooltip:d}],detail:(0,H.jsx)($.List.Item.Detail,{markdown:r.pronunciationText}),actions:(0,H.jsx)($.ActionPanel,{children:(0,H.jsxs)($.ActionPanel.Section,{children:[(0,H.jsx)(hn,{value:r.pronunciationText}),(0,H.jsx)(In,{onAction:()=>e()}),(0,H.jsx)(fn,{translationText:A,translation:r})]})})})]},i)})})},pN=({toggleShowingDetail:e,value:A,selectedLanguageSet:t})=>{let{data:a,isLoading:r}=(0,j0.usePromise)(Sa,[A,t],{onError(p){(0,$.showToast)({style:$.Toast.Style.Failure,title:"Could not translate",message:p.toString()})}}),i=a?.langFrom??t.langFrom,s=a?.langTo??t.langTo[0],n=Ot[i],o=Ot[s],d=`${Ze(n,n?.code)} -> ${Ze(o,o?.code)}`,l=`${n?.name??n?.code} -> ${o?.name??o?.code}`;return(0,H.jsx)($.List.Item,{title:a?.translatedText??"",subtitle:r?"Translating...":void 0,accessories:[{text:d,tooltip:l}],detail:(0,H.jsx)($.List.Item.Detail,{markdown:a?.translatedText??""}),actions:(0,H.jsx)($.ActionPanel,{children:(0,H.jsxs)($.ActionPanel.Section,{children:[(0,H.jsx)(hn,{defaultActionsPrefix:"Translation",value:a?.translatedText??""}),(0,H.jsx)(In,{onAction:()=>e()}),a&&(0,H.jsx)($.Action,{title:"Play Text-To-Speech",icon:$.Icon.Play,shortcut:{modifiers:["cmd"],key:"t"},onAction:()=>O0(a.translatedText,s)}),a&&(0,H.jsx)(fn,{translationText:A,translation:a})]})})})};function aQ(){let[e]=Fa(),{proxy:A}=xr(),[t,a]=(0,wn.useState)(!1),[r,i]=Z3(),s=j3(r,500);return(0,H.jsx)($.List,{searchBarPlaceholder:"Enter text to translate",searchText:r,onSearchTextChange:i,isShowingDetail:t,searchBarAccessory:(0,H.jsx)(tQ,{}),children:e.langTo.length===1?(0,H.jsx)(dN,{value:s,selectedLanguageSet:e,toggleShowingDetail:()=>a(!t)}):e.langTo.map((n,o)=>(0,H.jsx)(pN,{value:s,selectedLanguageSet:{langFrom:e.langFrom,langTo:[n],proxy:A},toggleShowingDetail:()=>a(!t)},`${o} ${n}`))})} +/*! Bundled license information: + +media-typer/index.js: + (*! + * media-typer + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + *) + +content-type/index.js: + (*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +undici/lib/fetch/body.js: + (*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *) + +undici/lib/websocket/frame.js: + (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *) +*/ diff --git a/.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/translate.js.map b/.config/raycast/extensions/0e43920f-bbf6-4582-bc3f-5f63092c915f/translate.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/dequal/lite/index.js", "../node_modules/@raycast/utils/dist/useDeepMemo.js", "../node_modules/@raycast/utils/dist/useLatest.js", "../node_modules/@raycast/utils/dist/handle-error-toast-action.js", "../node_modules/@raycast/utils/dist/usePromise.js", "../node_modules/@raycast/utils/dist/useCachedState.js", "../node_modules/object-hash/index.js", "../node_modules/@raycast/utils/dist/useCachedPromise.js", "../node_modules/media-typer/index.js", "../node_modules/content-type/index.js", "../node_modules/webidl-conversions/lib/index.js", "../node_modules/whatwg-url/lib/utils.js", "../node_modules/tr46/lib/mappingTable.json", "../node_modules/tr46/index.js", "../node_modules/whatwg-url/lib/url-state-machine.js", "../node_modules/whatwg-url/lib/URL-impl.js", "../node_modules/whatwg-url/lib/URL.js", "../node_modules/whatwg-url/lib/public-api.js", "../node_modules/node-fetch/lib/index.js", "../node_modules/cross-fetch/dist/node-ponyfill.js", "../node_modules/@raycast/utils/dist/useFetch.js", "../node_modules/signal-exit/src/signals.ts", "../node_modules/signal-exit/src/index.ts", "../node_modules/@raycast/utils/dist/exec-utils.js", "../node_modules/@raycast/utils/dist/useExec.js", "../node_modules/@raycast/utils/dist/useSQL.js", "../node_modules/@raycast/utils/dist/useForm.js", "../node_modules/@raycast/utils/dist/useAI.js", "../node_modules/@raycast/utils/dist/useFrecencySorting.js", "../node_modules/@raycast/utils/dist/icon/color.js", "../node_modules/@raycast/utils/dist/icon/avatar.js", "../node_modules/@raycast/utils/dist/icon/favicon.js", "../node_modules/@raycast/utils/dist/icon/progress.js", "../node_modules/@raycast/utils/dist/icon/index.js", "../node_modules/@raycast/utils/dist/run-applescript.js", "../node_modules/@raycast/utils/dist/index.js", "../node_modules/undici/lib/core/symbols.js", "../node_modules/undici/lib/core/errors.js", "../node_modules/undici/lib/core/util.js", "../node_modules/undici/lib/timers.js", "../node_modules/busboy/lib/utils.js", "../node_modules/streamsearch/lib/sbmh.js", "../node_modules/busboy/lib/types/multipart.js", "../node_modules/busboy/lib/types/urlencoded.js", "../node_modules/busboy/lib/index.js", "../node_modules/undici/lib/fetch/constants.js", "../node_modules/undici/lib/fetch/global.js", "../node_modules/undici/lib/fetch/util.js", "../node_modules/undici/lib/fetch/symbols.js", "../node_modules/undici/lib/fetch/webidl.js", "../node_modules/undici/lib/fetch/dataURL.js", "../node_modules/undici/lib/fetch/file.js", "../node_modules/undici/lib/fetch/formdata.js", "../node_modules/undici/lib/fetch/body.js", "../node_modules/undici/lib/core/request.js", "../node_modules/undici/lib/dispatcher.js", "../node_modules/undici/lib/dispatcher-base.js", "../node_modules/undici/lib/core/connect.js", "../node_modules/undici/src/llhttp/utils.ts", "../node_modules/undici/src/llhttp/constants.ts", "../node_modules/undici/lib/handler/RedirectHandler.js", "../node_modules/undici/lib/interceptor/redirectInterceptor.js", "../node_modules/undici/lib/llhttp/llhttp-wasm.js", "../node_modules/undici/lib/llhttp/llhttp_simd-wasm.js", "../node_modules/undici/lib/client.js", "../node_modules/undici/lib/node/fixed-queue.js", "../node_modules/undici/lib/pool-stats.js", "../node_modules/undici/lib/pool-base.js", "../node_modules/undici/lib/pool.js", "../node_modules/undici/lib/balanced-pool.js", "../node_modules/undici/lib/compat/dispatcher-weakref.js", "../node_modules/undici/lib/agent.js", "../node_modules/undici/lib/api/readable.js", "../node_modules/undici/lib/api/util.js", "../node_modules/undici/lib/api/abort-signal.js", "../node_modules/undici/lib/api/api-request.js", "../node_modules/undici/lib/api/api-stream.js", "../node_modules/undici/lib/api/api-pipeline.js", "../node_modules/undici/lib/api/api-upgrade.js", "../node_modules/undici/lib/api/api-connect.js", "../node_modules/undici/lib/api/index.js", "../node_modules/undici/lib/mock/mock-errors.js", "../node_modules/undici/lib/mock/mock-symbols.js", "../node_modules/undici/lib/mock/mock-utils.js", "../node_modules/undici/lib/mock/mock-interceptor.js", "../node_modules/undici/lib/mock/mock-client.js", "../node_modules/undici/lib/mock/mock-pool.js", "../node_modules/undici/lib/mock/pluralizer.js", "../node_modules/undici/lib/mock/pending-interceptors-formatter.js", "../node_modules/undici/lib/mock/mock-agent.js", "../node_modules/undici/lib/proxy-agent.js", "../node_modules/undici/lib/global.js", "../node_modules/undici/lib/handler/DecoratorHandler.js", "../node_modules/undici/lib/fetch/headers.js", "../node_modules/undici/lib/fetch/response.js", "../node_modules/undici/lib/fetch/request.js", "../node_modules/undici/lib/fetch/index.js", "../node_modules/undici/lib/fileapi/symbols.js", "../node_modules/undici/lib/fileapi/progressevent.js", "../node_modules/undici/lib/fileapi/encoding.js", "../node_modules/undici/lib/fileapi/util.js", "../node_modules/undici/lib/fileapi/filereader.js", "../node_modules/undici/lib/cache/symbols.js", "../node_modules/undici/lib/cache/util.js", "../node_modules/undici/lib/cache/cache.js", "../node_modules/undici/lib/cache/cachestorage.js", "../node_modules/undici/lib/cookies/constants.js", "../node_modules/undici/lib/cookies/util.js", "../node_modules/undici/lib/cookies/parse.js", "../node_modules/undici/lib/cookies/index.js", "../node_modules/undici/lib/websocket/constants.js", "../node_modules/undici/lib/websocket/symbols.js", "../node_modules/undici/lib/websocket/events.js", "../node_modules/undici/lib/websocket/util.js", "../node_modules/undici/lib/websocket/connection.js", "../node_modules/undici/lib/websocket/frame.js", "../node_modules/undici/lib/websocket/receiver.js", "../node_modules/undici/lib/websocket/websocket.js", "../node_modules/undici/index.js", "../node_modules/google-tts-api/src/assertInputTypes.ts", "../node_modules/google-tts-api/src/splitLongText.ts", "../node_modules/google-tts-api/src/getAudioUrl.ts", "../node_modules/axios/lib/helpers/bind.js", "../node_modules/axios/lib/utils.js", "../node_modules/axios/lib/helpers/buildURL.js", "../node_modules/axios/lib/core/InterceptorManager.js", "../node_modules/axios/lib/helpers/normalizeHeaderName.js", "../node_modules/axios/lib/core/enhanceError.js", "../node_modules/axios/lib/core/createError.js", "../node_modules/axios/lib/core/settle.js", "../node_modules/axios/lib/helpers/cookies.js", "../node_modules/axios/lib/helpers/isAbsoluteURL.js", "../node_modules/axios/lib/helpers/combineURLs.js", "../node_modules/axios/lib/core/buildFullPath.js", "../node_modules/axios/lib/helpers/parseHeaders.js", "../node_modules/axios/lib/helpers/isURLSameOrigin.js", "../node_modules/axios/lib/adapters/xhr.js", "../node_modules/ms/index.js", "../node_modules/debug/src/common.js", "../node_modules/debug/src/browser.js", "../node_modules/has-flag/index.js", "../node_modules/supports-color/index.js", "../node_modules/debug/src/node.js", "../node_modules/debug/src/index.js", "../node_modules/follow-redirects/debug.js", "../node_modules/follow-redirects/index.js", "../node_modules/axios/package.json", "../node_modules/axios/lib/adapters/http.js", "../node_modules/axios/lib/defaults.js", "../node_modules/axios/lib/core/transformData.js", "../node_modules/axios/lib/cancel/isCancel.js", "../node_modules/axios/lib/core/dispatchRequest.js", "../node_modules/axios/lib/core/mergeConfig.js", "../node_modules/axios/lib/helpers/validator.js", "../node_modules/axios/lib/core/Axios.js", "../node_modules/axios/lib/cancel/Cancel.js", "../node_modules/axios/lib/cancel/CancelToken.js", "../node_modules/axios/lib/helpers/spread.js", "../node_modules/axios/lib/helpers/isAxiosError.js", "../node_modules/axios/lib/axios.js", "../node_modules/axios/index.js", "../node_modules/google-tts-api/src/getAudioBase64.ts", "../node_modules/google-tts-api/src/index.ts", "../src/translate.tsx", "../src/hooks.ts", "../vendor/@iamtraction-translate/src/index.ts", "../vendor/@iamtraction-translate/src/languages.ts", "../vendor/@iamtraction-translate/src/tokenGenerator.ts", "../src/simple-translate.ts", "../src/supportedLanguages.json", "../src/supportedLanguagesByCode.json", "../src/languages.ts", "../src/LanguagesManager/LanguagesManagerList.tsx", "../src/LanguagesManager/AddLanguageForm.tsx", "../src/utils.ts", "../src/LanguagesManager/LanguagesManagerListDropdown.tsx", "../src/actions.tsx"], + "sourcesContent": ["var has = Object.prototype.hasOwnProperty;\n\nfunction dequal(foo, bar) {\n\tvar ctor, len;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n\nexports.dequal = dequal;", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useDeepMemo = void 0;\nconst react_1 = require(\"react\");\nconst lite_1 = require(\"dequal/lite\");\n/**\n * @param value the value to be memoized (usually a dependency list)\n * @returns a memoized version of the value as long as it remains deeply equal\n */\nfunction useDeepMemo(value) {\n const ref = (0, react_1.useRef)(value);\n const signalRef = (0, react_1.useRef)(0);\n if (!(0, lite_1.dequal)(value, ref.current)) {\n ref.current = value;\n signalRef.current += 1;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return (0, react_1.useMemo)(() => ref.current, [signalRef.current]);\n}\nexports.useDeepMemo = useDeepMemo;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLatest = void 0;\nconst react_1 = require(\"react\");\n/**\n * Returns the latest state.\n *\n * This is mostly useful to get access to the latest value of some props or state inside an asynchronous callback, instead of that value at the time the callback was created from.\n */\nfunction useLatest(value) {\n const ref = (0, react_1.useRef)(value);\n ref.current = value;\n return ref;\n}\nexports.useLatest = useLatest;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.handleErrorToastAction = void 0;\nconst fs = __importStar(require(\"fs\"));\nconst path = __importStar(require(\"path\"));\nconst api_1 = require(\"@raycast/api\");\nconst handleErrorToastAction = (error) => {\n let privateExtension = true;\n let title = \"[Extension Name]...\";\n let extensionURL = \"\";\n try {\n const packageJSON = JSON.parse(fs.readFileSync(path.join(api_1.environment.assetsPath, \"..\", \"package.json\"), \"utf8\"));\n title = `[${packageJSON.title}]...`;\n extensionURL = `https://raycast.com/${packageJSON.owner || packageJSON.author}/${packageJSON.name}`;\n if (!packageJSON.owner || packageJSON.access === \"public\") {\n privateExtension = false;\n }\n }\n catch (err) {\n // no-op\n }\n // if it's a private extension, we can't construct the URL to report the error\n // so we fallback to copying the error to the clipboard\n const fallback = api_1.environment.isDevelopment || privateExtension;\n return {\n title: fallback ? \"Copy Logs\" : \"Report Error\",\n onAction(toast) {\n toast.hide();\n if (fallback) {\n api_1.Clipboard.copy(error?.stack || error?.message || \"\");\n }\n else {\n (0, api_1.open)(`https://github.com/raycast/extensions/issues/new?&labels=extension%2Cbug&template=extension_bug_report.yml&title=${encodeURIComponent(title)}&extension-url=${encodeURI(extensionURL)}&description=${encodeURIComponent(`#### Error:\n\\`\\`\\`\n${error?.stack || error?.message || \"\"}\n\\`\\`\\`\n`)}`);\n }\n },\n };\n};\nexports.handleErrorToastAction = handleErrorToastAction;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePromise = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst useDeepMemo_1 = require(\"./useDeepMemo\");\nconst useLatest_1 = require(\"./useLatest\");\nconst handle_error_toast_action_1 = require(\"./handle-error-toast-action\");\nfunction usePromise(fn, args, options) {\n const lastCallId = (0, react_1.useRef)(0);\n const [state, set] = (0, react_1.useState)({ isLoading: true });\n const fnRef = (0, useLatest_1.useLatest)(fn);\n const latestAbortable = (0, useLatest_1.useLatest)(options?.abortable);\n const latestArgs = (0, useLatest_1.useLatest)(args || []);\n const latestOnError = (0, useLatest_1.useLatest)(options?.onError);\n const latestOnData = (0, useLatest_1.useLatest)(options?.onData);\n const latestOnWillExecute = (0, useLatest_1.useLatest)(options?.onWillExecute);\n const latestValue = (0, useLatest_1.useLatest)(state.data);\n const latestCallback = (0, react_1.useRef)();\n const callback = (0, react_1.useCallback)((...args) => {\n const callId = ++lastCallId.current;\n if (latestAbortable.current) {\n latestAbortable.current.current?.abort();\n latestAbortable.current.current = new AbortController();\n }\n latestOnWillExecute.current?.(args);\n set((prevState) => ({ ...prevState, isLoading: true }));\n return bindPromiseIfNeeded(fnRef.current)(...args).then((data) => {\n if (callId === lastCallId.current) {\n if (latestOnData.current) {\n latestOnData.current(data);\n }\n set({ data, isLoading: false });\n }\n return data;\n }, (error) => {\n if (error.name == \"AbortError\") {\n return error;\n }\n if (callId === lastCallId.current) {\n // handle errors\n if (latestOnError.current) {\n latestOnError.current(error);\n }\n else {\n console.error(error);\n if (api_1.environment.launchType !== api_1.LaunchType.Background) {\n (0, api_1.showToast)({\n style: api_1.Toast.Style.Failure,\n title: \"Failed to fetch latest data\",\n message: error.message,\n primaryAction: {\n title: \"Retry\",\n onAction(toast) {\n toast.hide();\n latestCallback.current?.(...(latestArgs.current || []));\n },\n },\n secondaryAction: (0, handle_error_toast_action_1.handleErrorToastAction)(error),\n });\n }\n }\n set({ error, isLoading: false });\n }\n return error;\n });\n }, [latestAbortable, latestOnData, latestOnError, latestArgs, fnRef, set, latestCallback, latestOnWillExecute]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n );\n latestCallback.current = callback;\n const revalidate = (0, react_1.useCallback)(() => {\n return callback(...(latestArgs.current || []));\n }, [callback, latestArgs]);\n const mutate = (0, react_1.useCallback)(async (asyncUpdate, options) => {\n let dataBeforeOptimisticUpdate;\n try {\n if (options?.optimisticUpdate) {\n if (typeof options?.rollbackOnError !== \"function\" && options?.rollbackOnError !== false) {\n // keep track of the data before the optimistic update,\n // but only if we need it (eg. only when we want to automatically rollback after)\n dataBeforeOptimisticUpdate = structuredClone(latestValue.current?.value);\n }\n const update = options.optimisticUpdate;\n set((prevState) => ({ ...prevState, data: update(prevState.data) }));\n }\n return await asyncUpdate;\n }\n catch (err) {\n if (typeof options?.rollbackOnError === \"function\") {\n const update = options.rollbackOnError;\n set((prevState) => ({ ...prevState, data: update(prevState.data) }));\n }\n else if (options?.optimisticUpdate && options?.rollbackOnError !== false) {\n set((prevState) => ({ ...prevState, data: dataBeforeOptimisticUpdate }));\n }\n throw err;\n }\n finally {\n if (options?.shouldRevalidateAfter !== false) {\n if (api_1.environment.launchType === api_1.LaunchType.Background || api_1.environment.commandMode === \"menu-bar\") {\n // when in the background or in a menu bar, we are going to await the revalidation\n // to make sure we get the right data at the end of the mutation\n await revalidate();\n }\n else {\n revalidate();\n }\n }\n }\n }, [revalidate, latestValue, set]);\n // revalidate when the args change\n (0, react_1.useEffect)(() => {\n if (options?.execute !== false) {\n callback(...(args || []));\n }\n else {\n // cancel the previous request if we don't want to execute anymore\n if (latestAbortable.current) {\n latestAbortable.current.current?.abort();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [(0, useDeepMemo_1.useDeepMemo)([args, options?.execute, callback]), latestAbortable]);\n // abort request when unmounting\n (0, react_1.useEffect)(() => {\n return () => {\n if (latestAbortable.current) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n latestAbortable.current.current?.abort();\n }\n };\n }, [latestAbortable]);\n // we only want to show the loading indicator if the promise is executing\n const isLoading = options?.execute !== false ? state.isLoading : false;\n // @ts-expect-error loading is has some fixed value in the enum which\n const stateWithLoadingFixed = { ...state, isLoading };\n return { ...stateWithLoadingFixed, revalidate, mutate };\n}\nexports.usePromise = usePromise;\n/** Bind the fn if it's a Promise method */\nfunction bindPromiseIfNeeded(fn) {\n if (fn === Promise.all) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.race) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.resolve) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.reject) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n return fn;\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useCachedState = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst useLatest_1 = require(\"./useLatest\");\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction replacer(key, _value) {\n const value = this[key];\n if (value instanceof Date) {\n return `__raycast_cached_date__${value.toString()}`;\n }\n if (Buffer.isBuffer(value)) {\n return `__raycast_cached_buffer__${value.toString(\"base64\")}`;\n }\n return _value;\n}\nfunction reviver(_key, value) {\n if (typeof value === \"string\" && value.startsWith(\"__raycast_cached_date__\")) {\n return new Date(value.replace(\"__raycast_cached_date__\", \"\"));\n }\n if (typeof value === \"string\" && value.startsWith(\"__raycast_cached_buffer__\")) {\n return Buffer.from(value.replace(\"__raycast_cached_buffer__\", \"\"), \"base64\");\n }\n return value;\n}\nconst rootCache = Symbol(\"cache without namespace\");\nconst cacheMap = new Map();\nfunction useCachedState(key, initialState, config) {\n const cacheKey = config?.cacheNamespace || rootCache;\n const cache = cacheMap.get(cacheKey) || cacheMap.set(cacheKey, new api_1.Cache({ namespace: config?.cacheNamespace })).get(cacheKey);\n if (!cache) {\n throw new Error(\"Missing cache\");\n }\n const keyRef = (0, useLatest_1.useLatest)(key);\n const initialValueRef = (0, useLatest_1.useLatest)(initialState);\n const cachedState = (0, react_1.useSyncExternalStore)(cache.subscribe, () => {\n try {\n return cache.get(keyRef.current);\n }\n catch (error) {\n console.error(\"Could not get Cache data:\", error);\n return undefined;\n }\n });\n const state = (0, react_1.useMemo)(() => {\n if (typeof cachedState !== \"undefined\") {\n if (cachedState === \"undefined\") {\n return undefined;\n }\n try {\n return JSON.parse(cachedState, reviver);\n }\n catch (err) {\n // the data got corrupted somehow\n console.warn(\"The cached data is corrupted\", err);\n return initialValueRef.current;\n }\n }\n else {\n return initialValueRef.current;\n }\n }, [cachedState, initialValueRef]);\n const stateRef = (0, useLatest_1.useLatest)(state);\n const setStateAndCache = (0, react_1.useCallback)((updater) => {\n // @ts-expect-error TS struggles to infer the types as T could potentially be a function\n const newValue = typeof updater === \"function\" ? updater(stateRef.current) : updater;\n if (typeof newValue === \"undefined\") {\n cache.set(keyRef.current, \"undefined\");\n }\n else {\n const stringifiedValue = JSON.stringify(newValue, replacer);\n cache.set(keyRef.current, stringifiedValue);\n }\n return newValue;\n }, [cache, keyRef, stateRef]);\n return [state, setStateAndCache];\n}\nexports.useCachedState = useCachedState;\n", "'use strict';\n\nvar crypto = require('crypto');\n\n/**\n * Exported function\n *\n * Options:\n *\n * - `algorithm` hash algo to be used by this instance: *'sha1', 'md5'\n * - `excludeValues` {true|*false} hash object keys, values ignored\n * - `encoding` hash encoding, supports 'buffer', '*hex', 'binary', 'base64'\n * - `ignoreUnknown` {true|*false} ignore unknown object types\n * - `replacer` optional function that replaces values before hashing\n * - `respectFunctionProperties` {*true|false} consider function properties when hashing\n * - `respectFunctionNames` {*true|false} consider 'name' property of functions for hashing\n * - `respectType` {*true|false} Respect special properties (prototype, constructor)\n * when hashing to distinguish between types\n * - `unorderedArrays` {true|*false} Sort all arrays before hashing\n * - `unorderedSets` {*true|false} Sort `Set` and `Map` instances before hashing\n * * = default\n *\n * @param {object} object value to hash\n * @param {object} options hashing options\n * @return {string} hash value\n * @api public\n */\nexports = module.exports = objectHash;\n\nfunction objectHash(object, options){\n options = applyDefaults(object, options);\n\n return hash(object, options);\n}\n\n/**\n * Exported sugar methods\n *\n * @param {object} object value to hash\n * @return {string} hash value\n * @api public\n */\nexports.sha1 = function(object){\n return objectHash(object);\n};\nexports.keys = function(object){\n return objectHash(object, {excludeValues: true, algorithm: 'sha1', encoding: 'hex'});\n};\nexports.MD5 = function(object){\n return objectHash(object, {algorithm: 'md5', encoding: 'hex'});\n};\nexports.keysMD5 = function(object){\n return objectHash(object, {algorithm: 'md5', encoding: 'hex', excludeValues: true});\n};\n\n// Internals\nvar hashes = crypto.getHashes ? crypto.getHashes().slice() : ['sha1', 'md5'];\nhashes.push('passthrough');\nvar encodings = ['buffer', 'hex', 'binary', 'base64'];\n\nfunction applyDefaults(object, sourceOptions){\n sourceOptions = sourceOptions || {};\n\n // create a copy rather than mutating\n var options = {};\n options.algorithm = sourceOptions.algorithm || 'sha1';\n options.encoding = sourceOptions.encoding || 'hex';\n options.excludeValues = sourceOptions.excludeValues ? true : false;\n options.algorithm = options.algorithm.toLowerCase();\n options.encoding = options.encoding.toLowerCase();\n options.ignoreUnknown = sourceOptions.ignoreUnknown !== true ? false : true; // default to false\n options.respectType = sourceOptions.respectType === false ? false : true; // default to true\n options.respectFunctionNames = sourceOptions.respectFunctionNames === false ? false : true;\n options.respectFunctionProperties = sourceOptions.respectFunctionProperties === false ? false : true;\n options.unorderedArrays = sourceOptions.unorderedArrays !== true ? false : true; // default to false\n options.unorderedSets = sourceOptions.unorderedSets === false ? false : true; // default to false\n options.unorderedObjects = sourceOptions.unorderedObjects === false ? false : true; // default to true\n options.replacer = sourceOptions.replacer || undefined;\n options.excludeKeys = sourceOptions.excludeKeys || undefined;\n\n if(typeof object === 'undefined') {\n throw new Error('Object argument required.');\n }\n\n // if there is a case-insensitive match in the hashes list, accept it\n // (i.e. SHA256 for sha256)\n for (var i = 0; i < hashes.length; ++i) {\n if (hashes[i].toLowerCase() === options.algorithm.toLowerCase()) {\n options.algorithm = hashes[i];\n }\n }\n\n if(hashes.indexOf(options.algorithm) === -1){\n throw new Error('Algorithm \"' + options.algorithm + '\" not supported. ' +\n 'supported values: ' + hashes.join(', '));\n }\n\n if(encodings.indexOf(options.encoding) === -1 &&\n options.algorithm !== 'passthrough'){\n throw new Error('Encoding \"' + options.encoding + '\" not supported. ' +\n 'supported values: ' + encodings.join(', '));\n }\n\n return options;\n}\n\n/** Check if the given function is a native function */\nfunction isNativeFunction(f) {\n if ((typeof f) !== 'function') {\n return false;\n }\n var exp = /^function\\s+\\w*\\s*\\(\\s*\\)\\s*{\\s+\\[native code\\]\\s+}$/i;\n return exp.exec(Function.prototype.toString.call(f)) != null;\n}\n\nfunction hash(object, options) {\n var hashingStream;\n\n if (options.algorithm !== 'passthrough') {\n hashingStream = crypto.createHash(options.algorithm);\n } else {\n hashingStream = new PassThrough();\n }\n\n if (typeof hashingStream.write === 'undefined') {\n hashingStream.write = hashingStream.update;\n hashingStream.end = hashingStream.update;\n }\n\n var hasher = typeHasher(options, hashingStream);\n hasher.dispatch(object);\n if (!hashingStream.update) {\n hashingStream.end('');\n }\n\n if (hashingStream.digest) {\n return hashingStream.digest(options.encoding === 'buffer' ? undefined : options.encoding);\n }\n\n var buf = hashingStream.read();\n if (options.encoding === 'buffer') {\n return buf;\n }\n\n return buf.toString(options.encoding);\n}\n\n/**\n * Expose streaming API\n *\n * @param {object} object Value to serialize\n * @param {object} options Options, as for hash()\n * @param {object} stream A stream to write the serializiation to\n * @api public\n */\nexports.writeToStream = function(object, options, stream) {\n if (typeof stream === 'undefined') {\n stream = options;\n options = {};\n }\n\n options = applyDefaults(object, options);\n\n return typeHasher(options, stream).dispatch(object);\n};\n\nfunction typeHasher(options, writeTo, context){\n context = context || [];\n var write = function(str) {\n if (writeTo.update) {\n return writeTo.update(str, 'utf8');\n } else {\n return writeTo.write(str, 'utf8');\n }\n };\n\n return {\n dispatch: function(value){\n if (options.replacer) {\n value = options.replacer(value);\n }\n\n var type = typeof value;\n if (value === null) {\n type = 'null';\n }\n\n //console.log(\"[DEBUG] Dispatch: \", value, \"->\", type, \" -> \", \"_\" + type);\n\n return this['_' + type](value);\n },\n _object: function(object) {\n var pattern = (/\\[object (.*)\\]/i);\n var objString = Object.prototype.toString.call(object);\n var objType = pattern.exec(objString);\n if (!objType) { // object type did not match [object ...]\n objType = 'unknown:[' + objString + ']';\n } else {\n objType = objType[1]; // take only the class name\n }\n\n objType = objType.toLowerCase();\n\n var objectNumber = null;\n\n if ((objectNumber = context.indexOf(object)) >= 0) {\n return this.dispatch('[CIRCULAR:' + objectNumber + ']');\n } else {\n context.push(object);\n }\n\n if (typeof Buffer !== 'undefined' && Buffer.isBuffer && Buffer.isBuffer(object)) {\n write('buffer:');\n return write(object);\n }\n\n if(objType !== 'object' && objType !== 'function' && objType !== 'asyncfunction') {\n if(this['_' + objType]) {\n this['_' + objType](object);\n } else if (options.ignoreUnknown) {\n return write('[' + objType + ']');\n } else {\n throw new Error('Unknown object type \"' + objType + '\"');\n }\n }else{\n var keys = Object.keys(object);\n if (options.unorderedObjects) {\n keys = keys.sort();\n }\n // Make sure to incorporate special properties, so\n // Types with different prototypes will produce\n // a different hash and objects derived from\n // different functions (`new Foo`, `new Bar`) will\n // produce different hashes.\n // We never do this for native functions since some\n // seem to break because of that.\n if (options.respectType !== false && !isNativeFunction(object)) {\n keys.splice(0, 0, 'prototype', '__proto__', 'constructor');\n }\n\n if (options.excludeKeys) {\n keys = keys.filter(function(key) { return !options.excludeKeys(key); });\n }\n\n write('object:' + keys.length + ':');\n var self = this;\n return keys.forEach(function(key){\n self.dispatch(key);\n write(':');\n if(!options.excludeValues) {\n self.dispatch(object[key]);\n }\n write(',');\n });\n }\n },\n _array: function(arr, unordered){\n unordered = typeof unordered !== 'undefined' ? unordered :\n options.unorderedArrays !== false; // default to options.unorderedArrays\n\n var self = this;\n write('array:' + arr.length + ':');\n if (!unordered || arr.length <= 1) {\n return arr.forEach(function(entry) {\n return self.dispatch(entry);\n });\n }\n\n // the unordered case is a little more complicated:\n // since there is no canonical ordering on objects,\n // i.e. {a:1} < {a:2} and {a:1} > {a:2} are both false,\n // we first serialize each entry using a PassThrough stream\n // before sorting.\n // also: we can\u2019t use the same context array for all entries\n // since the order of hashing should *not* matter. instead,\n // we keep track of the additions to a copy of the context array\n // and add all of them to the global context array when we\u2019re done\n var contextAdditions = [];\n var entries = arr.map(function(entry) {\n var strm = new PassThrough();\n var localContext = context.slice(); // make copy\n var hasher = typeHasher(options, strm, localContext);\n hasher.dispatch(entry);\n // take only what was added to localContext and append it to contextAdditions\n contextAdditions = contextAdditions.concat(localContext.slice(context.length));\n return strm.read().toString();\n });\n context = context.concat(contextAdditions);\n entries.sort();\n return this._array(entries, false);\n },\n _date: function(date){\n return write('date:' + date.toJSON());\n },\n _symbol: function(sym){\n return write('symbol:' + sym.toString());\n },\n _error: function(err){\n return write('error:' + err.toString());\n },\n _boolean: function(bool){\n return write('bool:' + bool.toString());\n },\n _string: function(string){\n write('string:' + string.length + ':');\n write(string.toString());\n },\n _function: function(fn){\n write('fn:');\n if (isNativeFunction(fn)) {\n this.dispatch('[native]');\n } else {\n this.dispatch(fn.toString());\n }\n\n if (options.respectFunctionNames !== false) {\n // Make sure we can still distinguish native functions\n // by their name, otherwise String and Function will\n // have the same hash\n this.dispatch(\"function-name:\" + String(fn.name));\n }\n\n if (options.respectFunctionProperties) {\n this._object(fn);\n }\n },\n _number: function(number){\n return write('number:' + number.toString());\n },\n _xml: function(xml){\n return write('xml:' + xml.toString());\n },\n _null: function() {\n return write('Null');\n },\n _undefined: function() {\n return write('Undefined');\n },\n _regexp: function(regex){\n return write('regex:' + regex.toString());\n },\n _uint8array: function(arr){\n write('uint8array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint8clampedarray: function(arr){\n write('uint8clampedarray:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int8array: function(arr){\n write('int8array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint16array: function(arr){\n write('uint16array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int16array: function(arr){\n write('int16array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint32array: function(arr){\n write('uint32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int32array: function(arr){\n write('int32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _float32array: function(arr){\n write('float32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _float64array: function(arr){\n write('float64array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _arraybuffer: function(arr){\n write('arraybuffer:');\n return this.dispatch(new Uint8Array(arr));\n },\n _url: function(url) {\n return write('url:' + url.toString(), 'utf8');\n },\n _map: function(map) {\n write('map:');\n var arr = Array.from(map);\n return this._array(arr, options.unorderedSets !== false);\n },\n _set: function(set) {\n write('set:');\n var arr = Array.from(set);\n return this._array(arr, options.unorderedSets !== false);\n },\n _file: function(file) {\n write('file:');\n return this.dispatch([file.name, file.size, file.type, file.lastModfied]);\n },\n _blob: function() {\n if (options.ignoreUnknown) {\n return write('[blob]');\n }\n\n throw Error('Hashing Blob objects is currently not supported\\n' +\n '(see https://github.com/puleos/object-hash/issues/26)\\n' +\n 'Use \"options.replacer\" or \"options.ignoreUnknown\"\\n');\n },\n _domwindow: function() { return write('domwindow'); },\n _bigint: function(number){\n return write('bigint:' + number.toString());\n },\n /* Node.js standard native objects */\n _process: function() { return write('process'); },\n _timer: function() { return write('timer'); },\n _pipe: function() { return write('pipe'); },\n _tcp: function() { return write('tcp'); },\n _udp: function() { return write('udp'); },\n _tty: function() { return write('tty'); },\n _statwatcher: function() { return write('statwatcher'); },\n _securecontext: function() { return write('securecontext'); },\n _connection: function() { return write('connection'); },\n _zlib: function() { return write('zlib'); },\n _context: function() { return write('context'); },\n _nodescript: function() { return write('nodescript'); },\n _httpparser: function() { return write('httpparser'); },\n _dataview: function() { return write('dataview'); },\n _signal: function() { return write('signal'); },\n _fsevent: function() { return write('fsevent'); },\n _tlswrap: function() { return write('tlswrap'); },\n };\n}\n\n// Mini-implementation of stream.PassThrough\n// We are far from having need for the full implementation, and we can\n// make assumptions like \"many writes, then only one final read\"\n// and we can ignore encoding specifics\nfunction PassThrough() {\n return {\n buf: '',\n\n write: function(b) {\n this.buf += b;\n },\n\n end: function(b) {\n this.buf += b;\n },\n\n read: function() {\n return this.buf;\n }\n };\n}\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useCachedPromise = void 0;\nconst react_1 = require(\"react\");\nconst object_hash_1 = __importDefault(require(\"object-hash\"));\nconst useCachedState_1 = require(\"./useCachedState\");\nconst usePromise_1 = require(\"./usePromise\");\nconst useLatest_1 = require(\"./useLatest\");\n// Symbol to differentiate an empty cache from `undefined`\nconst emptyCache = Symbol();\nfunction useCachedPromise(fn, args, options) {\n const { initialData, keepPreviousData, ...usePromiseOptions } = options || {};\n const lastUpdateFrom = (0, react_1.useRef)();\n const [cachedData, mutateCache] = (0, useCachedState_1.useCachedState)((0, object_hash_1.default)(args || []), emptyCache, {\n cacheNamespace: (0, object_hash_1.default)(fn),\n });\n // Use a ref to store previous returned data. Use the inital data as its inital value from the cache.\n const laggyDataRef = (0, react_1.useRef)(cachedData !== emptyCache ? cachedData : initialData);\n const { mutate: _mutate, revalidate, ...state\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } = (0, usePromise_1.usePromise)(fn, args || [], {\n ...usePromiseOptions,\n onData(data) {\n if (usePromiseOptions.onData) {\n usePromiseOptions.onData(data);\n }\n // update the cache when we fetch new values\n lastUpdateFrom.current = \"promise\";\n laggyDataRef.current = data;\n mutateCache(data);\n },\n });\n // data returned if there are no special cases\n const data = cachedData !== emptyCache ? cachedData : initialData;\n const returnedData = \n // if the latest update if from the Promise, we keep it\n lastUpdateFrom.current === \"promise\"\n ? laggyDataRef.current\n : // if we want to keep the latest data, we pick the cache but only if it's not empty\n keepPreviousData\n ? cachedData !== emptyCache\n ? cachedData\n : // if the cache is empty, we will return the previous data\n laggyDataRef.current\n : data;\n const latestData = (0, useLatest_1.useLatest)(returnedData);\n // we rewrite the mutate function to update the cache instead\n const mutate = (0, react_1.useCallback)(async (asyncUpdate, options) => {\n let dataBeforeOptimisticUpdate;\n try {\n if (options?.optimisticUpdate) {\n if (typeof options?.rollbackOnError !== \"function\" && options?.rollbackOnError !== false) {\n // keep track of the data before the optimistic update,\n // but only if we need it (eg. only when we want to automatically rollback after)\n dataBeforeOptimisticUpdate = structuredClone(latestData.current);\n }\n const data = options.optimisticUpdate(latestData.current);\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = data;\n mutateCache(data);\n }\n return await _mutate(asyncUpdate, { shouldRevalidateAfter: options?.shouldRevalidateAfter });\n }\n catch (err) {\n if (typeof options?.rollbackOnError === \"function\") {\n const data = options.rollbackOnError(latestData.current);\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = data;\n mutateCache(data);\n }\n else if (options?.optimisticUpdate && options?.rollbackOnError !== false) {\n lastUpdateFrom.current = \"cache\";\n // @ts-expect-error when undefined, it's expected\n laggyDataRef.current = dataBeforeOptimisticUpdate;\n // @ts-expect-error when undefined, it's expected\n mutateCache(dataBeforeOptimisticUpdate);\n }\n throw err;\n }\n }, [mutateCache, _mutate, latestData, laggyDataRef, lastUpdateFrom]);\n (0, react_1.useEffect)(() => {\n if (cachedData !== emptyCache) {\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = cachedData;\n }\n }, [cachedData]);\n return {\n data: returnedData,\n isLoading: state.isLoading,\n error: state.error,\n mutate,\n revalidate,\n };\n}\nexports.useCachedPromise = useCachedPromise;\n", "/*!\n * media-typer\n * Copyright(c) 2014-2017 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * RegExp to match type in RFC 6838\n *\n * type-name = restricted-name\n * subtype-name = restricted-name\n * restricted-name = restricted-name-first *126restricted-name-chars\n * restricted-name-first = ALPHA / DIGIT\n * restricted-name-chars = ALPHA / DIGIT / \"!\" / \"#\" /\n * \"$\" / \"&\" / \"-\" / \"^\" / \"_\"\n * restricted-name-chars =/ \".\" ; Characters before first dot always\n * ; specify a facet name\n * restricted-name-chars =/ \"+\" ; Characters after last plus always\n * ; specify a structured syntax suffix\n * ALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n * DIGIT = %x30-39 ; 0-9\n */\nvar SUBTYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/\nvar TYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/\nvar TYPE_REGEXP = /^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/\n\n/**\n * Module exports.\n */\n\nexports.format = format\nexports.parse = parse\nexports.test = test\n\n/**\n * Format object to media type.\n *\n * @param {object} obj\n * @return {string}\n * @public\n */\n\nfunction format (obj) {\n if (!obj || typeof obj !== 'object') {\n throw new TypeError('argument obj is required')\n }\n\n var subtype = obj.subtype\n var suffix = obj.suffix\n var type = obj.type\n\n if (!type || !TYPE_NAME_REGEXP.test(type)) {\n throw new TypeError('invalid type')\n }\n\n if (!subtype || !SUBTYPE_NAME_REGEXP.test(subtype)) {\n throw new TypeError('invalid subtype')\n }\n\n // format as type/subtype\n var string = type + '/' + subtype\n\n // append +suffix\n if (suffix) {\n if (!TYPE_NAME_REGEXP.test(suffix)) {\n throw new TypeError('invalid suffix')\n }\n\n string += '+' + suffix\n }\n\n return string\n}\n\n/**\n * Test media type.\n *\n * @param {string} string\n * @return {object}\n * @public\n */\n\nfunction test (string) {\n if (!string) {\n throw new TypeError('argument string is required')\n }\n\n if (typeof string !== 'string') {\n throw new TypeError('argument string is required to be a string')\n }\n\n return TYPE_REGEXP.test(string.toLowerCase())\n}\n\n/**\n * Parse media type to object.\n *\n * @param {string} string\n * @return {object}\n * @public\n */\n\nfunction parse (string) {\n if (!string) {\n throw new TypeError('argument string is required')\n }\n\n if (typeof string !== 'string') {\n throw new TypeError('argument string is required to be a string')\n }\n\n var match = TYPE_REGEXP.exec(string.toLowerCase())\n\n if (!match) {\n throw new TypeError('invalid media type')\n }\n\n var type = match[1]\n var subtype = match[2]\n var suffix\n\n // suffix after last +\n var index = subtype.lastIndexOf('+')\n if (index !== -1) {\n suffix = subtype.substr(index + 1)\n subtype = subtype.substr(0, index)\n }\n\n return new MediaType(type, subtype, suffix)\n}\n\n/**\n * Class for MediaType object.\n * @public\n */\n\nfunction MediaType (type, subtype, suffix) {\n this.type = type\n this.subtype = subtype\n this.suffix = suffix\n}\n", "/*!\n * content-type\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * RegExp to match *( \";\" parameter ) in RFC 7231 sec 3.1.1.1\n *\n * parameter = token \"=\" ( token / quoted-string )\n * token = 1*tchar\n * tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" / \"*\"\n * / \"+\" / \"-\" / \".\" / \"^\" / \"_\" / \"`\" / \"|\" / \"~\"\n * / DIGIT / ALPHA\n * ; any VCHAR, except delimiters\n * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE\n * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text\n * obs-text = %x80-FF\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n */\nvar PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *(\"(?:[\\u000b\\u0020\\u0021\\u0023-\\u005b\\u005d-\\u007e\\u0080-\\u00ff]|\\\\[\\u000b\\u0020-\\u00ff])*\"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g // eslint-disable-line no-control-regex\nvar TEXT_REGEXP = /^[\\u000b\\u0020-\\u007e\\u0080-\\u00ff]+$/ // eslint-disable-line no-control-regex\nvar TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/\n\n/**\n * RegExp to match quoted-pair in RFC 7230 sec 3.2.6\n *\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n * obs-text = %x80-FF\n */\nvar QESC_REGEXP = /\\\\([\\u000b\\u0020-\\u00ff])/g // eslint-disable-line no-control-regex\n\n/**\n * RegExp to match chars that must be quoted-pair in RFC 7230 sec 3.2.6\n */\nvar QUOTE_REGEXP = /([\\\\\"])/g\n\n/**\n * RegExp to match type in RFC 7231 sec 3.1.1.1\n *\n * media-type = type \"/\" subtype\n * type = token\n * subtype = token\n */\nvar TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/\n\n/**\n * Module exports.\n * @public\n */\n\nexports.format = format\nexports.parse = parse\n\n/**\n * Format object to media type.\n *\n * @param {object} obj\n * @return {string}\n * @public\n */\n\nfunction format (obj) {\n if (!obj || typeof obj !== 'object') {\n throw new TypeError('argument obj is required')\n }\n\n var parameters = obj.parameters\n var type = obj.type\n\n if (!type || !TYPE_REGEXP.test(type)) {\n throw new TypeError('invalid type')\n }\n\n var string = type\n\n // append parameters\n if (parameters && typeof parameters === 'object') {\n var param\n var params = Object.keys(parameters).sort()\n\n for (var i = 0; i < params.length; i++) {\n param = params[i]\n\n if (!TOKEN_REGEXP.test(param)) {\n throw new TypeError('invalid parameter name')\n }\n\n string += '; ' + param + '=' + qstring(parameters[param])\n }\n }\n\n return string\n}\n\n/**\n * Parse media type to object.\n *\n * @param {string|object} string\n * @return {Object}\n * @public\n */\n\nfunction parse (string) {\n if (!string) {\n throw new TypeError('argument string is required')\n }\n\n // support req/res-like objects as argument\n var header = typeof string === 'object'\n ? getcontenttype(string)\n : string\n\n if (typeof header !== 'string') {\n throw new TypeError('argument string is required to be a string')\n }\n\n var index = header.indexOf(';')\n var type = index !== -1\n ? header.slice(0, index).trim()\n : header.trim()\n\n if (!TYPE_REGEXP.test(type)) {\n throw new TypeError('invalid media type')\n }\n\n var obj = new ContentType(type.toLowerCase())\n\n // parse parameters\n if (index !== -1) {\n var key\n var match\n var value\n\n PARAM_REGEXP.lastIndex = index\n\n while ((match = PARAM_REGEXP.exec(header))) {\n if (match.index !== index) {\n throw new TypeError('invalid parameter format')\n }\n\n index += match[0].length\n key = match[1].toLowerCase()\n value = match[2]\n\n if (value.charCodeAt(0) === 0x22 /* \" */) {\n // remove quotes\n value = value.slice(1, -1)\n\n // remove escapes\n if (value.indexOf('\\\\') !== -1) {\n value = value.replace(QESC_REGEXP, '$1')\n }\n }\n\n obj.parameters[key] = value\n }\n\n if (index !== header.length) {\n throw new TypeError('invalid parameter format')\n }\n }\n\n return obj\n}\n\n/**\n * Get content-type from req/res objects.\n *\n * @param {object}\n * @return {Object}\n * @private\n */\n\nfunction getcontenttype (obj) {\n var header\n\n if (typeof obj.getHeader === 'function') {\n // res-like\n header = obj.getHeader('content-type')\n } else if (typeof obj.headers === 'object') {\n // req-like\n header = obj.headers && obj.headers['content-type']\n }\n\n if (typeof header !== 'string') {\n throw new TypeError('content-type header is missing from object')\n }\n\n return header\n}\n\n/**\n * Quote a string if necessary.\n *\n * @param {string} val\n * @return {string}\n * @private\n */\n\nfunction qstring (val) {\n var str = String(val)\n\n // no need to quote tokens\n if (TOKEN_REGEXP.test(str)) {\n return str\n }\n\n if (str.length > 0 && !TEXT_REGEXP.test(str)) {\n throw new TypeError('invalid parameter value')\n }\n\n return '\"' + str.replace(QUOTE_REGEXP, '\\\\$1') + '\"'\n}\n\n/**\n * Class to represent a content type.\n * @private\n */\nfunction ContentType (type) {\n this.parameters = Object.create(null)\n this.type = type\n}\n", "\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n", "\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n", "[[[0,44],\"disallowed_STD3_valid\"],[[45,46],\"valid\"],[[47,47],\"disallowed_STD3_valid\"],[[48,57],\"valid\"],[[58,64],\"disallowed_STD3_valid\"],[[65,65],\"mapped\",[97]],[[66,66],\"mapped\",[98]],[[67,67],\"mapped\",[99]],[[68,68],\"mapped\",[100]],[[69,69],\"mapped\",[101]],[[70,70],\"mapped\",[102]],[[71,71],\"mapped\",[103]],[[72,72],\"mapped\",[104]],[[73,73],\"mapped\",[105]],[[74,74],\"mapped\",[106]],[[75,75],\"mapped\",[107]],[[76,76],\"mapped\",[108]],[[77,77],\"mapped\",[109]],[[78,78],\"mapped\",[110]],[[79,79],\"mapped\",[111]],[[80,80],\"mapped\",[112]],[[81,81],\"mapped\",[113]],[[82,82],\"mapped\",[114]],[[83,83],\"mapped\",[115]],[[84,84],\"mapped\",[116]],[[85,85],\"mapped\",[117]],[[86,86],\"mapped\",[118]],[[87,87],\"mapped\",[119]],[[88,88],\"mapped\",[120]],[[89,89],\"mapped\",[121]],[[90,90],\"mapped\",[122]],[[91,96],\"disallowed_STD3_valid\"],[[97,122],\"valid\"],[[123,127],\"disallowed_STD3_valid\"],[[128,159],\"disallowed\"],[[160,160],\"disallowed_STD3_mapped\",[32]],[[161,167],\"valid\",[],\"NV8\"],[[168,168],\"disallowed_STD3_mapped\",[32,776]],[[169,169],\"valid\",[],\"NV8\"],[[170,170],\"mapped\",[97]],[[171,172],\"valid\",[],\"NV8\"],[[173,173],\"ignored\"],[[174,174],\"valid\",[],\"NV8\"],[[175,175],\"disallowed_STD3_mapped\",[32,772]],[[176,177],\"valid\",[],\"NV8\"],[[178,178],\"mapped\",[50]],[[179,179],\"mapped\",[51]],[[180,180],\"disallowed_STD3_mapped\",[32,769]],[[181,181],\"mapped\",[956]],[[182,182],\"valid\",[],\"NV8\"],[[183,183],\"valid\"],[[184,184],\"disallowed_STD3_mapped\",[32,807]],[[185,185],\"mapped\",[49]],[[186,186],\"mapped\",[111]],[[187,187],\"valid\",[],\"NV8\"],[[188,188],\"mapped\",[49,8260,52]],[[189,189],\"mapped\",[49,8260,50]],[[190,190],\"mapped\",[51,8260,52]],[[191,191],\"valid\",[],\"NV8\"],[[192,192],\"mapped\",[224]],[[193,193],\"mapped\",[225]],[[194,194],\"mapped\",[226]],[[195,195],\"mapped\",[227]],[[196,196],\"mapped\",[228]],[[197,197],\"mapped\",[229]],[[198,198],\"mapped\",[230]],[[199,199],\"mapped\",[231]],[[200,200],\"mapped\",[232]],[[201,201],\"mapped\",[233]],[[202,202],\"mapped\",[234]],[[203,203],\"mapped\",[235]],[[204,204],\"mapped\",[236]],[[205,205],\"mapped\",[237]],[[206,206],\"mapped\",[238]],[[207,207],\"mapped\",[239]],[[208,208],\"mapped\",[240]],[[209,209],\"mapped\",[241]],[[210,210],\"mapped\",[242]],[[211,211],\"mapped\",[243]],[[212,212],\"mapped\",[244]],[[213,213],\"mapped\",[245]],[[214,214],\"mapped\",[246]],[[215,215],\"valid\",[],\"NV8\"],[[216,216],\"mapped\",[248]],[[217,217],\"mapped\",[249]],[[218,218],\"mapped\",[250]],[[219,219],\"mapped\",[251]],[[220,220],\"mapped\",[252]],[[221,221],\"mapped\",[253]],[[222,222],\"mapped\",[254]],[[223,223],\"deviation\",[115,115]],[[224,246],\"valid\"],[[247,247],\"valid\",[],\"NV8\"],[[248,255],\"valid\"],[[256,256],\"mapped\",[257]],[[257,257],\"valid\"],[[258,258],\"mapped\",[259]],[[259,259],\"valid\"],[[260,260],\"mapped\",[261]],[[261,261],\"valid\"],[[262,262],\"mapped\",[263]],[[263,263],\"valid\"],[[264,264],\"mapped\",[265]],[[265,265],\"valid\"],[[266,266],\"mapped\",[267]],[[267,267],\"valid\"],[[268,268],\"mapped\",[269]],[[269,269],\"valid\"],[[270,270],\"mapped\",[271]],[[271,271],\"valid\"],[[272,272],\"mapped\",[273]],[[273,273],\"valid\"],[[274,274],\"mapped\",[275]],[[275,275],\"valid\"],[[276,276],\"mapped\",[277]],[[277,277],\"valid\"],[[278,278],\"mapped\",[279]],[[279,279],\"valid\"],[[280,280],\"mapped\",[281]],[[281,281],\"valid\"],[[282,282],\"mapped\",[283]],[[283,283],\"valid\"],[[284,284],\"mapped\",[285]],[[285,285],\"valid\"],[[286,286],\"mapped\",[287]],[[287,287],\"valid\"],[[288,288],\"mapped\",[289]],[[289,289],\"valid\"],[[290,290],\"mapped\",[291]],[[291,291],\"valid\"],[[292,292],\"mapped\",[293]],[[293,293],\"valid\"],[[294,294],\"mapped\",[295]],[[295,295],\"valid\"],[[296,296],\"mapped\",[297]],[[297,297],\"valid\"],[[298,298],\"mapped\",[299]],[[299,299],\"valid\"],[[300,300],\"mapped\",[301]],[[301,301],\"valid\"],[[302,302],\"mapped\",[303]],[[303,303],\"valid\"],[[304,304],\"mapped\",[105,775]],[[305,305],\"valid\"],[[306,307],\"mapped\",[105,106]],[[308,308],\"mapped\",[309]],[[309,309],\"valid\"],[[310,310],\"mapped\",[311]],[[311,312],\"valid\"],[[313,313],\"mapped\",[314]],[[314,314],\"valid\"],[[315,315],\"mapped\",[316]],[[316,316],\"valid\"],[[317,317],\"mapped\",[318]],[[318,318],\"valid\"],[[319,320],\"mapped\",[108,183]],[[321,321],\"mapped\",[322]],[[322,322],\"valid\"],[[323,323],\"mapped\",[324]],[[324,324],\"valid\"],[[325,325],\"mapped\",[326]],[[326,326],\"valid\"],[[327,327],\"mapped\",[328]],[[328,328],\"valid\"],[[329,329],\"mapped\",[700,110]],[[330,330],\"mapped\",[331]],[[331,331],\"valid\"],[[332,332],\"mapped\",[333]],[[333,333],\"valid\"],[[334,334],\"mapped\",[335]],[[335,335],\"valid\"],[[336,336],\"mapped\",[337]],[[337,337],\"valid\"],[[338,338],\"mapped\",[339]],[[339,339],\"valid\"],[[340,340],\"mapped\",[341]],[[341,341],\"valid\"],[[342,342],\"mapped\",[343]],[[343,343],\"valid\"],[[344,344],\"mapped\",[345]],[[345,345],\"valid\"],[[346,346],\"mapped\",[347]],[[347,347],\"valid\"],[[348,348],\"mapped\",[349]],[[349,349],\"valid\"],[[350,350],\"mapped\",[351]],[[351,351],\"valid\"],[[352,352],\"mapped\",[353]],[[353,353],\"valid\"],[[354,354],\"mapped\",[355]],[[355,355],\"valid\"],[[356,356],\"mapped\",[357]],[[357,357],\"valid\"],[[358,358],\"mapped\",[359]],[[359,359],\"valid\"],[[360,360],\"mapped\",[361]],[[361,361],\"valid\"],[[362,362],\"mapped\",[363]],[[363,363],\"valid\"],[[364,364],\"mapped\",[365]],[[365,365],\"valid\"],[[366,366],\"mapped\",[367]],[[367,367],\"valid\"],[[368,368],\"mapped\",[369]],[[369,369],\"valid\"],[[370,370],\"mapped\",[371]],[[371,371],\"valid\"],[[372,372],\"mapped\",[373]],[[373,373],\"valid\"],[[374,374],\"mapped\",[375]],[[375,375],\"valid\"],[[376,376],\"mapped\",[255]],[[377,377],\"mapped\",[378]],[[378,378],\"valid\"],[[379,379],\"mapped\",[380]],[[380,380],\"valid\"],[[381,381],\"mapped\",[382]],[[382,382],\"valid\"],[[383,383],\"mapped\",[115]],[[384,384],\"valid\"],[[385,385],\"mapped\",[595]],[[386,386],\"mapped\",[387]],[[387,387],\"valid\"],[[388,388],\"mapped\",[389]],[[389,389],\"valid\"],[[390,390],\"mapped\",[596]],[[391,391],\"mapped\",[392]],[[392,392],\"valid\"],[[393,393],\"mapped\",[598]],[[394,394],\"mapped\",[599]],[[395,395],\"mapped\",[396]],[[396,397],\"valid\"],[[398,398],\"mapped\",[477]],[[399,399],\"mapped\",[601]],[[400,400],\"mapped\",[603]],[[401,401],\"mapped\",[402]],[[402,402],\"valid\"],[[403,403],\"mapped\",[608]],[[404,404],\"mapped\",[611]],[[405,405],\"valid\"],[[406,406],\"mapped\",[617]],[[407,407],\"mapped\",[616]],[[408,408],\"mapped\",[409]],[[409,411],\"valid\"],[[412,412],\"mapped\",[623]],[[413,413],\"mapped\",[626]],[[414,414],\"valid\"],[[415,415],\"mapped\",[629]],[[416,416],\"mapped\",[417]],[[417,417],\"valid\"],[[418,418],\"mapped\",[419]],[[419,419],\"valid\"],[[420,420],\"mapped\",[421]],[[421,421],\"valid\"],[[422,422],\"mapped\",[640]],[[423,423],\"mapped\",[424]],[[424,424],\"valid\"],[[425,425],\"mapped\",[643]],[[426,427],\"valid\"],[[428,428],\"mapped\",[429]],[[429,429],\"valid\"],[[430,430],\"mapped\",[648]],[[431,431],\"mapped\",[432]],[[432,432],\"valid\"],[[433,433],\"mapped\",[650]],[[434,434],\"mapped\",[651]],[[435,435],\"mapped\",[436]],[[436,436],\"valid\"],[[437,437],\"mapped\",[438]],[[438,438],\"valid\"],[[439,439],\"mapped\",[658]],[[440,440],\"mapped\",[441]],[[441,443],\"valid\"],[[444,444],\"mapped\",[445]],[[445,451],\"valid\"],[[452,454],\"mapped\",[100,382]],[[455,457],\"mapped\",[108,106]],[[458,460],\"mapped\",[110,106]],[[461,461],\"mapped\",[462]],[[462,462],\"valid\"],[[463,463],\"mapped\",[464]],[[464,464],\"valid\"],[[465,465],\"mapped\",[466]],[[466,466],\"valid\"],[[467,467],\"mapped\",[468]],[[468,468],\"valid\"],[[469,469],\"mapped\",[470]],[[470,470],\"valid\"],[[471,471],\"mapped\",[472]],[[472,472],\"valid\"],[[473,473],\"mapped\",[474]],[[474,474],\"valid\"],[[475,475],\"mapped\",[476]],[[476,477],\"valid\"],[[478,478],\"mapped\",[479]],[[479,479],\"valid\"],[[480,480],\"mapped\",[481]],[[481,481],\"valid\"],[[482,482],\"mapped\",[483]],[[483,483],\"valid\"],[[484,484],\"mapped\",[485]],[[485,485],\"valid\"],[[486,486],\"mapped\",[487]],[[487,487],\"valid\"],[[488,488],\"mapped\",[489]],[[489,489],\"valid\"],[[490,490],\"mapped\",[491]],[[491,491],\"valid\"],[[492,492],\"mapped\",[493]],[[493,493],\"valid\"],[[494,494],\"mapped\",[495]],[[495,496],\"valid\"],[[497,499],\"mapped\",[100,122]],[[500,500],\"mapped\",[501]],[[501,501],\"valid\"],[[502,502],\"mapped\",[405]],[[503,503],\"mapped\",[447]],[[504,504],\"mapped\",[505]],[[505,505],\"valid\"],[[506,506],\"mapped\",[507]],[[507,507],\"valid\"],[[508,508],\"mapped\",[509]],[[509,509],\"valid\"],[[510,510],\"mapped\",[511]],[[511,511],\"valid\"],[[512,512],\"mapped\",[513]],[[513,513],\"valid\"],[[514,514],\"mapped\",[515]],[[515,515],\"valid\"],[[516,516],\"mapped\",[517]],[[517,517],\"valid\"],[[518,518],\"mapped\",[519]],[[519,519],\"valid\"],[[520,520],\"mapped\",[521]],[[521,521],\"valid\"],[[522,522],\"mapped\",[523]],[[523,523],\"valid\"],[[524,524],\"mapped\",[525]],[[525,525],\"valid\"],[[526,526],\"mapped\",[527]],[[527,527],\"valid\"],[[528,528],\"mapped\",[529]],[[529,529],\"valid\"],[[530,530],\"mapped\",[531]],[[531,531],\"valid\"],[[532,532],\"mapped\",[533]],[[533,533],\"valid\"],[[534,534],\"mapped\",[535]],[[535,535],\"valid\"],[[536,536],\"mapped\",[537]],[[537,537],\"valid\"],[[538,538],\"mapped\",[539]],[[539,539],\"valid\"],[[540,540],\"mapped\",[541]],[[541,541],\"valid\"],[[542,542],\"mapped\",[543]],[[543,543],\"valid\"],[[544,544],\"mapped\",[414]],[[545,545],\"valid\"],[[546,546],\"mapped\",[547]],[[547,547],\"valid\"],[[548,548],\"mapped\",[549]],[[549,549],\"valid\"],[[550,550],\"mapped\",[551]],[[551,551],\"valid\"],[[552,552],\"mapped\",[553]],[[553,553],\"valid\"],[[554,554],\"mapped\",[555]],[[555,555],\"valid\"],[[556,556],\"mapped\",[557]],[[557,557],\"valid\"],[[558,558],\"mapped\",[559]],[[559,559],\"valid\"],[[560,560],\"mapped\",[561]],[[561,561],\"valid\"],[[562,562],\"mapped\",[563]],[[563,563],\"valid\"],[[564,566],\"valid\"],[[567,569],\"valid\"],[[570,570],\"mapped\",[11365]],[[571,571],\"mapped\",[572]],[[572,572],\"valid\"],[[573,573],\"mapped\",[410]],[[574,574],\"mapped\",[11366]],[[575,576],\"valid\"],[[577,577],\"mapped\",[578]],[[578,578],\"valid\"],[[579,579],\"mapped\",[384]],[[580,580],\"mapped\",[649]],[[581,581],\"mapped\",[652]],[[582,582],\"mapped\",[583]],[[583,583],\"valid\"],[[584,584],\"mapped\",[585]],[[585,585],\"valid\"],[[586,586],\"mapped\",[587]],[[587,587],\"valid\"],[[588,588],\"mapped\",[589]],[[589,589],\"valid\"],[[590,590],\"mapped\",[591]],[[591,591],\"valid\"],[[592,680],\"valid\"],[[681,685],\"valid\"],[[686,687],\"valid\"],[[688,688],\"mapped\",[104]],[[689,689],\"mapped\",[614]],[[690,690],\"mapped\",[106]],[[691,691],\"mapped\",[114]],[[692,692],\"mapped\",[633]],[[693,693],\"mapped\",[635]],[[694,694],\"mapped\",[641]],[[695,695],\"mapped\",[119]],[[696,696],\"mapped\",[121]],[[697,705],\"valid\"],[[706,709],\"valid\",[],\"NV8\"],[[710,721],\"valid\"],[[722,727],\"valid\",[],\"NV8\"],[[728,728],\"disallowed_STD3_mapped\",[32,774]],[[729,729],\"disallowed_STD3_mapped\",[32,775]],[[730,730],\"disallowed_STD3_mapped\",[32,778]],[[731,731],\"disallowed_STD3_mapped\",[32,808]],[[732,732],\"disallowed_STD3_mapped\",[32,771]],[[733,733],\"disallowed_STD3_mapped\",[32,779]],[[734,734],\"valid\",[],\"NV8\"],[[735,735],\"valid\",[],\"NV8\"],[[736,736],\"mapped\",[611]],[[737,737],\"mapped\",[108]],[[738,738],\"mapped\",[115]],[[739,739],\"mapped\",[120]],[[740,740],\"mapped\",[661]],[[741,745],\"valid\",[],\"NV8\"],[[746,747],\"valid\",[],\"NV8\"],[[748,748],\"valid\"],[[749,749],\"valid\",[],\"NV8\"],[[750,750],\"valid\"],[[751,767],\"valid\",[],\"NV8\"],[[768,831],\"valid\"],[[832,832],\"mapped\",[768]],[[833,833],\"mapped\",[769]],[[834,834],\"valid\"],[[835,835],\"mapped\",[787]],[[836,836],\"mapped\",[776,769]],[[837,837],\"mapped\",[953]],[[838,846],\"valid\"],[[847,847],\"ignored\"],[[848,855],\"valid\"],[[856,860],\"valid\"],[[861,863],\"valid\"],[[864,865],\"valid\"],[[866,866],\"valid\"],[[867,879],\"valid\"],[[880,880],\"mapped\",[881]],[[881,881],\"valid\"],[[882,882],\"mapped\",[883]],[[883,883],\"valid\"],[[884,884],\"mapped\",[697]],[[885,885],\"valid\"],[[886,886],\"mapped\",[887]],[[887,887],\"valid\"],[[888,889],\"disallowed\"],[[890,890],\"disallowed_STD3_mapped\",[32,953]],[[891,893],\"valid\"],[[894,894],\"disallowed_STD3_mapped\",[59]],[[895,895],\"mapped\",[1011]],[[896,899],\"disallowed\"],[[900,900],\"disallowed_STD3_mapped\",[32,769]],[[901,901],\"disallowed_STD3_mapped\",[32,776,769]],[[902,902],\"mapped\",[940]],[[903,903],\"mapped\",[183]],[[904,904],\"mapped\",[941]],[[905,905],\"mapped\",[942]],[[906,906],\"mapped\",[943]],[[907,907],\"disallowed\"],[[908,908],\"mapped\",[972]],[[909,909],\"disallowed\"],[[910,910],\"mapped\",[973]],[[911,911],\"mapped\",[974]],[[912,912],\"valid\"],[[913,913],\"mapped\",[945]],[[914,914],\"mapped\",[946]],[[915,915],\"mapped\",[947]],[[916,916],\"mapped\",[948]],[[917,917],\"mapped\",[949]],[[918,918],\"mapped\",[950]],[[919,919],\"mapped\",[951]],[[920,920],\"mapped\",[952]],[[921,921],\"mapped\",[953]],[[922,922],\"mapped\",[954]],[[923,923],\"mapped\",[955]],[[924,924],\"mapped\",[956]],[[925,925],\"mapped\",[957]],[[926,926],\"mapped\",[958]],[[927,927],\"mapped\",[959]],[[928,928],\"mapped\",[960]],[[929,929],\"mapped\",[961]],[[930,930],\"disallowed\"],[[931,931],\"mapped\",[963]],[[932,932],\"mapped\",[964]],[[933,933],\"mapped\",[965]],[[934,934],\"mapped\",[966]],[[935,935],\"mapped\",[967]],[[936,936],\"mapped\",[968]],[[937,937],\"mapped\",[969]],[[938,938],\"mapped\",[970]],[[939,939],\"mapped\",[971]],[[940,961],\"valid\"],[[962,962],\"deviation\",[963]],[[963,974],\"valid\"],[[975,975],\"mapped\",[983]],[[976,976],\"mapped\",[946]],[[977,977],\"mapped\",[952]],[[978,978],\"mapped\",[965]],[[979,979],\"mapped\",[973]],[[980,980],\"mapped\",[971]],[[981,981],\"mapped\",[966]],[[982,982],\"mapped\",[960]],[[983,983],\"valid\"],[[984,984],\"mapped\",[985]],[[985,985],\"valid\"],[[986,986],\"mapped\",[987]],[[987,987],\"valid\"],[[988,988],\"mapped\",[989]],[[989,989],\"valid\"],[[990,990],\"mapped\",[991]],[[991,991],\"valid\"],[[992,992],\"mapped\",[993]],[[993,993],\"valid\"],[[994,994],\"mapped\",[995]],[[995,995],\"valid\"],[[996,996],\"mapped\",[997]],[[997,997],\"valid\"],[[998,998],\"mapped\",[999]],[[999,999],\"valid\"],[[1000,1000],\"mapped\",[1001]],[[1001,1001],\"valid\"],[[1002,1002],\"mapped\",[1003]],[[1003,1003],\"valid\"],[[1004,1004],\"mapped\",[1005]],[[1005,1005],\"valid\"],[[1006,1006],\"mapped\",[1007]],[[1007,1007],\"valid\"],[[1008,1008],\"mapped\",[954]],[[1009,1009],\"mapped\",[961]],[[1010,1010],\"mapped\",[963]],[[1011,1011],\"valid\"],[[1012,1012],\"mapped\",[952]],[[1013,1013],\"mapped\",[949]],[[1014,1014],\"valid\",[],\"NV8\"],[[1015,1015],\"mapped\",[1016]],[[1016,1016],\"valid\"],[[1017,1017],\"mapped\",[963]],[[1018,1018],\"mapped\",[1019]],[[1019,1019],\"valid\"],[[1020,1020],\"valid\"],[[1021,1021],\"mapped\",[891]],[[1022,1022],\"mapped\",[892]],[[1023,1023],\"mapped\",[893]],[[1024,1024],\"mapped\",[1104]],[[1025,1025],\"mapped\",[1105]],[[1026,1026],\"mapped\",[1106]],[[1027,1027],\"mapped\",[1107]],[[1028,1028],\"mapped\",[1108]],[[1029,1029],\"mapped\",[1109]],[[1030,1030],\"mapped\",[1110]],[[1031,1031],\"mapped\",[1111]],[[1032,1032],\"mapped\",[1112]],[[1033,1033],\"mapped\",[1113]],[[1034,1034],\"mapped\",[1114]],[[1035,1035],\"mapped\",[1115]],[[1036,1036],\"mapped\",[1116]],[[1037,1037],\"mapped\",[1117]],[[1038,1038],\"mapped\",[1118]],[[1039,1039],\"mapped\",[1119]],[[1040,1040],\"mapped\",[1072]],[[1041,1041],\"mapped\",[1073]],[[1042,1042],\"mapped\",[1074]],[[1043,1043],\"mapped\",[1075]],[[1044,1044],\"mapped\",[1076]],[[1045,1045],\"mapped\",[1077]],[[1046,1046],\"mapped\",[1078]],[[1047,1047],\"mapped\",[1079]],[[1048,1048],\"mapped\",[1080]],[[1049,1049],\"mapped\",[1081]],[[1050,1050],\"mapped\",[1082]],[[1051,1051],\"mapped\",[1083]],[[1052,1052],\"mapped\",[1084]],[[1053,1053],\"mapped\",[1085]],[[1054,1054],\"mapped\",[1086]],[[1055,1055],\"mapped\",[1087]],[[1056,1056],\"mapped\",[1088]],[[1057,1057],\"mapped\",[1089]],[[1058,1058],\"mapped\",[1090]],[[1059,1059],\"mapped\",[1091]],[[1060,1060],\"mapped\",[1092]],[[1061,1061],\"mapped\",[1093]],[[1062,1062],\"mapped\",[1094]],[[1063,1063],\"mapped\",[1095]],[[1064,1064],\"mapped\",[1096]],[[1065,1065],\"mapped\",[1097]],[[1066,1066],\"mapped\",[1098]],[[1067,1067],\"mapped\",[1099]],[[1068,1068],\"mapped\",[1100]],[[1069,1069],\"mapped\",[1101]],[[1070,1070],\"mapped\",[1102]],[[1071,1071],\"mapped\",[1103]],[[1072,1103],\"valid\"],[[1104,1104],\"valid\"],[[1105,1116],\"valid\"],[[1117,1117],\"valid\"],[[1118,1119],\"valid\"],[[1120,1120],\"mapped\",[1121]],[[1121,1121],\"valid\"],[[1122,1122],\"mapped\",[1123]],[[1123,1123],\"valid\"],[[1124,1124],\"mapped\",[1125]],[[1125,1125],\"valid\"],[[1126,1126],\"mapped\",[1127]],[[1127,1127],\"valid\"],[[1128,1128],\"mapped\",[1129]],[[1129,1129],\"valid\"],[[1130,1130],\"mapped\",[1131]],[[1131,1131],\"valid\"],[[1132,1132],\"mapped\",[1133]],[[1133,1133],\"valid\"],[[1134,1134],\"mapped\",[1135]],[[1135,1135],\"valid\"],[[1136,1136],\"mapped\",[1137]],[[1137,1137],\"valid\"],[[1138,1138],\"mapped\",[1139]],[[1139,1139],\"valid\"],[[1140,1140],\"mapped\",[1141]],[[1141,1141],\"valid\"],[[1142,1142],\"mapped\",[1143]],[[1143,1143],\"valid\"],[[1144,1144],\"mapped\",[1145]],[[1145,1145],\"valid\"],[[1146,1146],\"mapped\",[1147]],[[1147,1147],\"valid\"],[[1148,1148],\"mapped\",[1149]],[[1149,1149],\"valid\"],[[1150,1150],\"mapped\",[1151]],[[1151,1151],\"valid\"],[[1152,1152],\"mapped\",[1153]],[[1153,1153],\"valid\"],[[1154,1154],\"valid\",[],\"NV8\"],[[1155,1158],\"valid\"],[[1159,1159],\"valid\"],[[1160,1161],\"valid\",[],\"NV8\"],[[1162,1162],\"mapped\",[1163]],[[1163,1163],\"valid\"],[[1164,1164],\"mapped\",[1165]],[[1165,1165],\"valid\"],[[1166,1166],\"mapped\",[1167]],[[1167,1167],\"valid\"],[[1168,1168],\"mapped\",[1169]],[[1169,1169],\"valid\"],[[1170,1170],\"mapped\",[1171]],[[1171,1171],\"valid\"],[[1172,1172],\"mapped\",[1173]],[[1173,1173],\"valid\"],[[1174,1174],\"mapped\",[1175]],[[1175,1175],\"valid\"],[[1176,1176],\"mapped\",[1177]],[[1177,1177],\"valid\"],[[1178,1178],\"mapped\",[1179]],[[1179,1179],\"valid\"],[[1180,1180],\"mapped\",[1181]],[[1181,1181],\"valid\"],[[1182,1182],\"mapped\",[1183]],[[1183,1183],\"valid\"],[[1184,1184],\"mapped\",[1185]],[[1185,1185],\"valid\"],[[1186,1186],\"mapped\",[1187]],[[1187,1187],\"valid\"],[[1188,1188],\"mapped\",[1189]],[[1189,1189],\"valid\"],[[1190,1190],\"mapped\",[1191]],[[1191,1191],\"valid\"],[[1192,1192],\"mapped\",[1193]],[[1193,1193],\"valid\"],[[1194,1194],\"mapped\",[1195]],[[1195,1195],\"valid\"],[[1196,1196],\"mapped\",[1197]],[[1197,1197],\"valid\"],[[1198,1198],\"mapped\",[1199]],[[1199,1199],\"valid\"],[[1200,1200],\"mapped\",[1201]],[[1201,1201],\"valid\"],[[1202,1202],\"mapped\",[1203]],[[1203,1203],\"valid\"],[[1204,1204],\"mapped\",[1205]],[[1205,1205],\"valid\"],[[1206,1206],\"mapped\",[1207]],[[1207,1207],\"valid\"],[[1208,1208],\"mapped\",[1209]],[[1209,1209],\"valid\"],[[1210,1210],\"mapped\",[1211]],[[1211,1211],\"valid\"],[[1212,1212],\"mapped\",[1213]],[[1213,1213],\"valid\"],[[1214,1214],\"mapped\",[1215]],[[1215,1215],\"valid\"],[[1216,1216],\"disallowed\"],[[1217,1217],\"mapped\",[1218]],[[1218,1218],\"valid\"],[[1219,1219],\"mapped\",[1220]],[[1220,1220],\"valid\"],[[1221,1221],\"mapped\",[1222]],[[1222,1222],\"valid\"],[[1223,1223],\"mapped\",[1224]],[[1224,1224],\"valid\"],[[1225,1225],\"mapped\",[1226]],[[1226,1226],\"valid\"],[[1227,1227],\"mapped\",[1228]],[[1228,1228],\"valid\"],[[1229,1229],\"mapped\",[1230]],[[1230,1230],\"valid\"],[[1231,1231],\"valid\"],[[1232,1232],\"mapped\",[1233]],[[1233,1233],\"valid\"],[[1234,1234],\"mapped\",[1235]],[[1235,1235],\"valid\"],[[1236,1236],\"mapped\",[1237]],[[1237,1237],\"valid\"],[[1238,1238],\"mapped\",[1239]],[[1239,1239],\"valid\"],[[1240,1240],\"mapped\",[1241]],[[1241,1241],\"valid\"],[[1242,1242],\"mapped\",[1243]],[[1243,1243],\"valid\"],[[1244,1244],\"mapped\",[1245]],[[1245,1245],\"valid\"],[[1246,1246],\"mapped\",[1247]],[[1247,1247],\"valid\"],[[1248,1248],\"mapped\",[1249]],[[1249,1249],\"valid\"],[[1250,1250],\"mapped\",[1251]],[[1251,1251],\"valid\"],[[1252,1252],\"mapped\",[1253]],[[1253,1253],\"valid\"],[[1254,1254],\"mapped\",[1255]],[[1255,1255],\"valid\"],[[1256,1256],\"mapped\",[1257]],[[1257,1257],\"valid\"],[[1258,1258],\"mapped\",[1259]],[[1259,1259],\"valid\"],[[1260,1260],\"mapped\",[1261]],[[1261,1261],\"valid\"],[[1262,1262],\"mapped\",[1263]],[[1263,1263],\"valid\"],[[1264,1264],\"mapped\",[1265]],[[1265,1265],\"valid\"],[[1266,1266],\"mapped\",[1267]],[[1267,1267],\"valid\"],[[1268,1268],\"mapped\",[1269]],[[1269,1269],\"valid\"],[[1270,1270],\"mapped\",[1271]],[[1271,1271],\"valid\"],[[1272,1272],\"mapped\",[1273]],[[1273,1273],\"valid\"],[[1274,1274],\"mapped\",[1275]],[[1275,1275],\"valid\"],[[1276,1276],\"mapped\",[1277]],[[1277,1277],\"valid\"],[[1278,1278],\"mapped\",[1279]],[[1279,1279],\"valid\"],[[1280,1280],\"mapped\",[1281]],[[1281,1281],\"valid\"],[[1282,1282],\"mapped\",[1283]],[[1283,1283],\"valid\"],[[1284,1284],\"mapped\",[1285]],[[1285,1285],\"valid\"],[[1286,1286],\"mapped\",[1287]],[[1287,1287],\"valid\"],[[1288,1288],\"mapped\",[1289]],[[1289,1289],\"valid\"],[[1290,1290],\"mapped\",[1291]],[[1291,1291],\"valid\"],[[1292,1292],\"mapped\",[1293]],[[1293,1293],\"valid\"],[[1294,1294],\"mapped\",[1295]],[[1295,1295],\"valid\"],[[1296,1296],\"mapped\",[1297]],[[1297,1297],\"valid\"],[[1298,1298],\"mapped\",[1299]],[[1299,1299],\"valid\"],[[1300,1300],\"mapped\",[1301]],[[1301,1301],\"valid\"],[[1302,1302],\"mapped\",[1303]],[[1303,1303],\"valid\"],[[1304,1304],\"mapped\",[1305]],[[1305,1305],\"valid\"],[[1306,1306],\"mapped\",[1307]],[[1307,1307],\"valid\"],[[1308,1308],\"mapped\",[1309]],[[1309,1309],\"valid\"],[[1310,1310],\"mapped\",[1311]],[[1311,1311],\"valid\"],[[1312,1312],\"mapped\",[1313]],[[1313,1313],\"valid\"],[[1314,1314],\"mapped\",[1315]],[[1315,1315],\"valid\"],[[1316,1316],\"mapped\",[1317]],[[1317,1317],\"valid\"],[[1318,1318],\"mapped\",[1319]],[[1319,1319],\"valid\"],[[1320,1320],\"mapped\",[1321]],[[1321,1321],\"valid\"],[[1322,1322],\"mapped\",[1323]],[[1323,1323],\"valid\"],[[1324,1324],\"mapped\",[1325]],[[1325,1325],\"valid\"],[[1326,1326],\"mapped\",[1327]],[[1327,1327],\"valid\"],[[1328,1328],\"disallowed\"],[[1329,1329],\"mapped\",[1377]],[[1330,1330],\"mapped\",[1378]],[[1331,1331],\"mapped\",[1379]],[[1332,1332],\"mapped\",[1380]],[[1333,1333],\"mapped\",[1381]],[[1334,1334],\"mapped\",[1382]],[[1335,1335],\"mapped\",[1383]],[[1336,1336],\"mapped\",[1384]],[[1337,1337],\"mapped\",[1385]],[[1338,1338],\"mapped\",[1386]],[[1339,1339],\"mapped\",[1387]],[[1340,1340],\"mapped\",[1388]],[[1341,1341],\"mapped\",[1389]],[[1342,1342],\"mapped\",[1390]],[[1343,1343],\"mapped\",[1391]],[[1344,1344],\"mapped\",[1392]],[[1345,1345],\"mapped\",[1393]],[[1346,1346],\"mapped\",[1394]],[[1347,1347],\"mapped\",[1395]],[[1348,1348],\"mapped\",[1396]],[[1349,1349],\"mapped\",[1397]],[[1350,1350],\"mapped\",[1398]],[[1351,1351],\"mapped\",[1399]],[[1352,1352],\"mapped\",[1400]],[[1353,1353],\"mapped\",[1401]],[[1354,1354],\"mapped\",[1402]],[[1355,1355],\"mapped\",[1403]],[[1356,1356],\"mapped\",[1404]],[[1357,1357],\"mapped\",[1405]],[[1358,1358],\"mapped\",[1406]],[[1359,1359],\"mapped\",[1407]],[[1360,1360],\"mapped\",[1408]],[[1361,1361],\"mapped\",[1409]],[[1362,1362],\"mapped\",[1410]],[[1363,1363],\"mapped\",[1411]],[[1364,1364],\"mapped\",[1412]],[[1365,1365],\"mapped\",[1413]],[[1366,1366],\"mapped\",[1414]],[[1367,1368],\"disallowed\"],[[1369,1369],\"valid\"],[[1370,1375],\"valid\",[],\"NV8\"],[[1376,1376],\"disallowed\"],[[1377,1414],\"valid\"],[[1415,1415],\"mapped\",[1381,1410]],[[1416,1416],\"disallowed\"],[[1417,1417],\"valid\",[],\"NV8\"],[[1418,1418],\"valid\",[],\"NV8\"],[[1419,1420],\"disallowed\"],[[1421,1422],\"valid\",[],\"NV8\"],[[1423,1423],\"valid\",[],\"NV8\"],[[1424,1424],\"disallowed\"],[[1425,1441],\"valid\"],[[1442,1442],\"valid\"],[[1443,1455],\"valid\"],[[1456,1465],\"valid\"],[[1466,1466],\"valid\"],[[1467,1469],\"valid\"],[[1470,1470],\"valid\",[],\"NV8\"],[[1471,1471],\"valid\"],[[1472,1472],\"valid\",[],\"NV8\"],[[1473,1474],\"valid\"],[[1475,1475],\"valid\",[],\"NV8\"],[[1476,1476],\"valid\"],[[1477,1477],\"valid\"],[[1478,1478],\"valid\",[],\"NV8\"],[[1479,1479],\"valid\"],[[1480,1487],\"disallowed\"],[[1488,1514],\"valid\"],[[1515,1519],\"disallowed\"],[[1520,1524],\"valid\"],[[1525,1535],\"disallowed\"],[[1536,1539],\"disallowed\"],[[1540,1540],\"disallowed\"],[[1541,1541],\"disallowed\"],[[1542,1546],\"valid\",[],\"NV8\"],[[1547,1547],\"valid\",[],\"NV8\"],[[1548,1548],\"valid\",[],\"NV8\"],[[1549,1551],\"valid\",[],\"NV8\"],[[1552,1557],\"valid\"],[[1558,1562],\"valid\"],[[1563,1563],\"valid\",[],\"NV8\"],[[1564,1564],\"disallowed\"],[[1565,1565],\"disallowed\"],[[1566,1566],\"valid\",[],\"NV8\"],[[1567,1567],\"valid\",[],\"NV8\"],[[1568,1568],\"valid\"],[[1569,1594],\"valid\"],[[1595,1599],\"valid\"],[[1600,1600],\"valid\",[],\"NV8\"],[[1601,1618],\"valid\"],[[1619,1621],\"valid\"],[[1622,1624],\"valid\"],[[1625,1630],\"valid\"],[[1631,1631],\"valid\"],[[1632,1641],\"valid\"],[[1642,1645],\"valid\",[],\"NV8\"],[[1646,1647],\"valid\"],[[1648,1652],\"valid\"],[[1653,1653],\"mapped\",[1575,1652]],[[1654,1654],\"mapped\",[1608,1652]],[[1655,1655],\"mapped\",[1735,1652]],[[1656,1656],\"mapped\",[1610,1652]],[[1657,1719],\"valid\"],[[1720,1721],\"valid\"],[[1722,1726],\"valid\"],[[1727,1727],\"valid\"],[[1728,1742],\"valid\"],[[1743,1743],\"valid\"],[[1744,1747],\"valid\"],[[1748,1748],\"valid\",[],\"NV8\"],[[1749,1756],\"valid\"],[[1757,1757],\"disallowed\"],[[1758,1758],\"valid\",[],\"NV8\"],[[1759,1768],\"valid\"],[[1769,1769],\"valid\",[],\"NV8\"],[[1770,1773],\"valid\"],[[1774,1775],\"valid\"],[[1776,1785],\"valid\"],[[1786,1790],\"valid\"],[[1791,1791],\"valid\"],[[1792,1805],\"valid\",[],\"NV8\"],[[1806,1806],\"disallowed\"],[[1807,1807],\"disallowed\"],[[1808,1836],\"valid\"],[[1837,1839],\"valid\"],[[1840,1866],\"valid\"],[[1867,1868],\"disallowed\"],[[1869,1871],\"valid\"],[[1872,1901],\"valid\"],[[1902,1919],\"valid\"],[[1920,1968],\"valid\"],[[1969,1969],\"valid\"],[[1970,1983],\"disallowed\"],[[1984,2037],\"valid\"],[[2038,2042],\"valid\",[],\"NV8\"],[[2043,2047],\"disallowed\"],[[2048,2093],\"valid\"],[[2094,2095],\"disallowed\"],[[2096,2110],\"valid\",[],\"NV8\"],[[2111,2111],\"disallowed\"],[[2112,2139],\"valid\"],[[2140,2141],\"disallowed\"],[[2142,2142],\"valid\",[],\"NV8\"],[[2143,2207],\"disallowed\"],[[2208,2208],\"valid\"],[[2209,2209],\"valid\"],[[2210,2220],\"valid\"],[[2221,2226],\"valid\"],[[2227,2228],\"valid\"],[[2229,2274],\"disallowed\"],[[2275,2275],\"valid\"],[[2276,2302],\"valid\"],[[2303,2303],\"valid\"],[[2304,2304],\"valid\"],[[2305,2307],\"valid\"],[[2308,2308],\"valid\"],[[2309,2361],\"valid\"],[[2362,2363],\"valid\"],[[2364,2381],\"valid\"],[[2382,2382],\"valid\"],[[2383,2383],\"valid\"],[[2384,2388],\"valid\"],[[2389,2389],\"valid\"],[[2390,2391],\"valid\"],[[2392,2392],\"mapped\",[2325,2364]],[[2393,2393],\"mapped\",[2326,2364]],[[2394,2394],\"mapped\",[2327,2364]],[[2395,2395],\"mapped\",[2332,2364]],[[2396,2396],\"mapped\",[2337,2364]],[[2397,2397],\"mapped\",[2338,2364]],[[2398,2398],\"mapped\",[2347,2364]],[[2399,2399],\"mapped\",[2351,2364]],[[2400,2403],\"valid\"],[[2404,2405],\"valid\",[],\"NV8\"],[[2406,2415],\"valid\"],[[2416,2416],\"valid\",[],\"NV8\"],[[2417,2418],\"valid\"],[[2419,2423],\"valid\"],[[2424,2424],\"valid\"],[[2425,2426],\"valid\"],[[2427,2428],\"valid\"],[[2429,2429],\"valid\"],[[2430,2431],\"valid\"],[[2432,2432],\"valid\"],[[2433,2435],\"valid\"],[[2436,2436],\"disallowed\"],[[2437,2444],\"valid\"],[[2445,2446],\"disallowed\"],[[2447,2448],\"valid\"],[[2449,2450],\"disallowed\"],[[2451,2472],\"valid\"],[[2473,2473],\"disallowed\"],[[2474,2480],\"valid\"],[[2481,2481],\"disallowed\"],[[2482,2482],\"valid\"],[[2483,2485],\"disallowed\"],[[2486,2489],\"valid\"],[[2490,2491],\"disallowed\"],[[2492,2492],\"valid\"],[[2493,2493],\"valid\"],[[2494,2500],\"valid\"],[[2501,2502],\"disallowed\"],[[2503,2504],\"valid\"],[[2505,2506],\"disallowed\"],[[2507,2509],\"valid\"],[[2510,2510],\"valid\"],[[2511,2518],\"disallowed\"],[[2519,2519],\"valid\"],[[2520,2523],\"disallowed\"],[[2524,2524],\"mapped\",[2465,2492]],[[2525,2525],\"mapped\",[2466,2492]],[[2526,2526],\"disallowed\"],[[2527,2527],\"mapped\",[2479,2492]],[[2528,2531],\"valid\"],[[2532,2533],\"disallowed\"],[[2534,2545],\"valid\"],[[2546,2554],\"valid\",[],\"NV8\"],[[2555,2555],\"valid\",[],\"NV8\"],[[2556,2560],\"disallowed\"],[[2561,2561],\"valid\"],[[2562,2562],\"valid\"],[[2563,2563],\"valid\"],[[2564,2564],\"disallowed\"],[[2565,2570],\"valid\"],[[2571,2574],\"disallowed\"],[[2575,2576],\"valid\"],[[2577,2578],\"disallowed\"],[[2579,2600],\"valid\"],[[2601,2601],\"disallowed\"],[[2602,2608],\"valid\"],[[2609,2609],\"disallowed\"],[[2610,2610],\"valid\"],[[2611,2611],\"mapped\",[2610,2620]],[[2612,2612],\"disallowed\"],[[2613,2613],\"valid\"],[[2614,2614],\"mapped\",[2616,2620]],[[2615,2615],\"disallowed\"],[[2616,2617],\"valid\"],[[2618,2619],\"disallowed\"],[[2620,2620],\"valid\"],[[2621,2621],\"disallowed\"],[[2622,2626],\"valid\"],[[2627,2630],\"disallowed\"],[[2631,2632],\"valid\"],[[2633,2634],\"disallowed\"],[[2635,2637],\"valid\"],[[2638,2640],\"disallowed\"],[[2641,2641],\"valid\"],[[2642,2648],\"disallowed\"],[[2649,2649],\"mapped\",[2582,2620]],[[2650,2650],\"mapped\",[2583,2620]],[[2651,2651],\"mapped\",[2588,2620]],[[2652,2652],\"valid\"],[[2653,2653],\"disallowed\"],[[2654,2654],\"mapped\",[2603,2620]],[[2655,2661],\"disallowed\"],[[2662,2676],\"valid\"],[[2677,2677],\"valid\"],[[2678,2688],\"disallowed\"],[[2689,2691],\"valid\"],[[2692,2692],\"disallowed\"],[[2693,2699],\"valid\"],[[2700,2700],\"valid\"],[[2701,2701],\"valid\"],[[2702,2702],\"disallowed\"],[[2703,2705],\"valid\"],[[2706,2706],\"disallowed\"],[[2707,2728],\"valid\"],[[2729,2729],\"disallowed\"],[[2730,2736],\"valid\"],[[2737,2737],\"disallowed\"],[[2738,2739],\"valid\"],[[2740,2740],\"disallowed\"],[[2741,2745],\"valid\"],[[2746,2747],\"disallowed\"],[[2748,2757],\"valid\"],[[2758,2758],\"disallowed\"],[[2759,2761],\"valid\"],[[2762,2762],\"disallowed\"],[[2763,2765],\"valid\"],[[2766,2767],\"disallowed\"],[[2768,2768],\"valid\"],[[2769,2783],\"disallowed\"],[[2784,2784],\"valid\"],[[2785,2787],\"valid\"],[[2788,2789],\"disallowed\"],[[2790,2799],\"valid\"],[[2800,2800],\"valid\",[],\"NV8\"],[[2801,2801],\"valid\",[],\"NV8\"],[[2802,2808],\"disallowed\"],[[2809,2809],\"valid\"],[[2810,2816],\"disallowed\"],[[2817,2819],\"valid\"],[[2820,2820],\"disallowed\"],[[2821,2828],\"valid\"],[[2829,2830],\"disallowed\"],[[2831,2832],\"valid\"],[[2833,2834],\"disallowed\"],[[2835,2856],\"valid\"],[[2857,2857],\"disallowed\"],[[2858,2864],\"valid\"],[[2865,2865],\"disallowed\"],[[2866,2867],\"valid\"],[[2868,2868],\"disallowed\"],[[2869,2869],\"valid\"],[[2870,2873],\"valid\"],[[2874,2875],\"disallowed\"],[[2876,2883],\"valid\"],[[2884,2884],\"valid\"],[[2885,2886],\"disallowed\"],[[2887,2888],\"valid\"],[[2889,2890],\"disallowed\"],[[2891,2893],\"valid\"],[[2894,2901],\"disallowed\"],[[2902,2903],\"valid\"],[[2904,2907],\"disallowed\"],[[2908,2908],\"mapped\",[2849,2876]],[[2909,2909],\"mapped\",[2850,2876]],[[2910,2910],\"disallowed\"],[[2911,2913],\"valid\"],[[2914,2915],\"valid\"],[[2916,2917],\"disallowed\"],[[2918,2927],\"valid\"],[[2928,2928],\"valid\",[],\"NV8\"],[[2929,2929],\"valid\"],[[2930,2935],\"valid\",[],\"NV8\"],[[2936,2945],\"disallowed\"],[[2946,2947],\"valid\"],[[2948,2948],\"disallowed\"],[[2949,2954],\"valid\"],[[2955,2957],\"disallowed\"],[[2958,2960],\"valid\"],[[2961,2961],\"disallowed\"],[[2962,2965],\"valid\"],[[2966,2968],\"disallowed\"],[[2969,2970],\"valid\"],[[2971,2971],\"disallowed\"],[[2972,2972],\"valid\"],[[2973,2973],\"disallowed\"],[[2974,2975],\"valid\"],[[2976,2978],\"disallowed\"],[[2979,2980],\"valid\"],[[2981,2983],\"disallowed\"],[[2984,2986],\"valid\"],[[2987,2989],\"disallowed\"],[[2990,2997],\"valid\"],[[2998,2998],\"valid\"],[[2999,3001],\"valid\"],[[3002,3005],\"disallowed\"],[[3006,3010],\"valid\"],[[3011,3013],\"disallowed\"],[[3014,3016],\"valid\"],[[3017,3017],\"disallowed\"],[[3018,3021],\"valid\"],[[3022,3023],\"disallowed\"],[[3024,3024],\"valid\"],[[3025,3030],\"disallowed\"],[[3031,3031],\"valid\"],[[3032,3045],\"disallowed\"],[[3046,3046],\"valid\"],[[3047,3055],\"valid\"],[[3056,3058],\"valid\",[],\"NV8\"],[[3059,3066],\"valid\",[],\"NV8\"],[[3067,3071],\"disallowed\"],[[3072,3072],\"valid\"],[[3073,3075],\"valid\"],[[3076,3076],\"disallowed\"],[[3077,3084],\"valid\"],[[3085,3085],\"disallowed\"],[[3086,3088],\"valid\"],[[3089,3089],\"disallowed\"],[[3090,3112],\"valid\"],[[3113,3113],\"disallowed\"],[[3114,3123],\"valid\"],[[3124,3124],\"valid\"],[[3125,3129],\"valid\"],[[3130,3132],\"disallowed\"],[[3133,3133],\"valid\"],[[3134,3140],\"valid\"],[[3141,3141],\"disallowed\"],[[3142,3144],\"valid\"],[[3145,3145],\"disallowed\"],[[3146,3149],\"valid\"],[[3150,3156],\"disallowed\"],[[3157,3158],\"valid\"],[[3159,3159],\"disallowed\"],[[3160,3161],\"valid\"],[[3162,3162],\"valid\"],[[3163,3167],\"disallowed\"],[[3168,3169],\"valid\"],[[3170,3171],\"valid\"],[[3172,3173],\"disallowed\"],[[3174,3183],\"valid\"],[[3184,3191],\"disallowed\"],[[3192,3199],\"valid\",[],\"NV8\"],[[3200,3200],\"disallowed\"],[[3201,3201],\"valid\"],[[3202,3203],\"valid\"],[[3204,3204],\"disallowed\"],[[3205,3212],\"valid\"],[[3213,3213],\"disallowed\"],[[3214,3216],\"valid\"],[[3217,3217],\"disallowed\"],[[3218,3240],\"valid\"],[[3241,3241],\"disallowed\"],[[3242,3251],\"valid\"],[[3252,3252],\"disallowed\"],[[3253,3257],\"valid\"],[[3258,3259],\"disallowed\"],[[3260,3261],\"valid\"],[[3262,3268],\"valid\"],[[3269,3269],\"disallowed\"],[[3270,3272],\"valid\"],[[3273,3273],\"disallowed\"],[[3274,3277],\"valid\"],[[3278,3284],\"disallowed\"],[[3285,3286],\"valid\"],[[3287,3293],\"disallowed\"],[[3294,3294],\"valid\"],[[3295,3295],\"disallowed\"],[[3296,3297],\"valid\"],[[3298,3299],\"valid\"],[[3300,3301],\"disallowed\"],[[3302,3311],\"valid\"],[[3312,3312],\"disallowed\"],[[3313,3314],\"valid\"],[[3315,3328],\"disallowed\"],[[3329,3329],\"valid\"],[[3330,3331],\"valid\"],[[3332,3332],\"disallowed\"],[[3333,3340],\"valid\"],[[3341,3341],\"disallowed\"],[[3342,3344],\"valid\"],[[3345,3345],\"disallowed\"],[[3346,3368],\"valid\"],[[3369,3369],\"valid\"],[[3370,3385],\"valid\"],[[3386,3386],\"valid\"],[[3387,3388],\"disallowed\"],[[3389,3389],\"valid\"],[[3390,3395],\"valid\"],[[3396,3396],\"valid\"],[[3397,3397],\"disallowed\"],[[3398,3400],\"valid\"],[[3401,3401],\"disallowed\"],[[3402,3405],\"valid\"],[[3406,3406],\"valid\"],[[3407,3414],\"disallowed\"],[[3415,3415],\"valid\"],[[3416,3422],\"disallowed\"],[[3423,3423],\"valid\"],[[3424,3425],\"valid\"],[[3426,3427],\"valid\"],[[3428,3429],\"disallowed\"],[[3430,3439],\"valid\"],[[3440,3445],\"valid\",[],\"NV8\"],[[3446,3448],\"disallowed\"],[[3449,3449],\"valid\",[],\"NV8\"],[[3450,3455],\"valid\"],[[3456,3457],\"disallowed\"],[[3458,3459],\"valid\"],[[3460,3460],\"disallowed\"],[[3461,3478],\"valid\"],[[3479,3481],\"disallowed\"],[[3482,3505],\"valid\"],[[3506,3506],\"disallowed\"],[[3507,3515],\"valid\"],[[3516,3516],\"disallowed\"],[[3517,3517],\"valid\"],[[3518,3519],\"disallowed\"],[[3520,3526],\"valid\"],[[3527,3529],\"disallowed\"],[[3530,3530],\"valid\"],[[3531,3534],\"disallowed\"],[[3535,3540],\"valid\"],[[3541,3541],\"disallowed\"],[[3542,3542],\"valid\"],[[3543,3543],\"disallowed\"],[[3544,3551],\"valid\"],[[3552,3557],\"disallowed\"],[[3558,3567],\"valid\"],[[3568,3569],\"disallowed\"],[[3570,3571],\"valid\"],[[3572,3572],\"valid\",[],\"NV8\"],[[3573,3584],\"disallowed\"],[[3585,3634],\"valid\"],[[3635,3635],\"mapped\",[3661,3634]],[[3636,3642],\"valid\"],[[3643,3646],\"disallowed\"],[[3647,3647],\"valid\",[],\"NV8\"],[[3648,3662],\"valid\"],[[3663,3663],\"valid\",[],\"NV8\"],[[3664,3673],\"valid\"],[[3674,3675],\"valid\",[],\"NV8\"],[[3676,3712],\"disallowed\"],[[3713,3714],\"valid\"],[[3715,3715],\"disallowed\"],[[3716,3716],\"valid\"],[[3717,3718],\"disallowed\"],[[3719,3720],\"valid\"],[[3721,3721],\"disallowed\"],[[3722,3722],\"valid\"],[[3723,3724],\"disallowed\"],[[3725,3725],\"valid\"],[[3726,3731],\"disallowed\"],[[3732,3735],\"valid\"],[[3736,3736],\"disallowed\"],[[3737,3743],\"valid\"],[[3744,3744],\"disallowed\"],[[3745,3747],\"valid\"],[[3748,3748],\"disallowed\"],[[3749,3749],\"valid\"],[[3750,3750],\"disallowed\"],[[3751,3751],\"valid\"],[[3752,3753],\"disallowed\"],[[3754,3755],\"valid\"],[[3756,3756],\"disallowed\"],[[3757,3762],\"valid\"],[[3763,3763],\"mapped\",[3789,3762]],[[3764,3769],\"valid\"],[[3770,3770],\"disallowed\"],[[3771,3773],\"valid\"],[[3774,3775],\"disallowed\"],[[3776,3780],\"valid\"],[[3781,3781],\"disallowed\"],[[3782,3782],\"valid\"],[[3783,3783],\"disallowed\"],[[3784,3789],\"valid\"],[[3790,3791],\"disallowed\"],[[3792,3801],\"valid\"],[[3802,3803],\"disallowed\"],[[3804,3804],\"mapped\",[3755,3737]],[[3805,3805],\"mapped\",[3755,3745]],[[3806,3807],\"valid\"],[[3808,3839],\"disallowed\"],[[3840,3840],\"valid\"],[[3841,3850],\"valid\",[],\"NV8\"],[[3851,3851],\"valid\"],[[3852,3852],\"mapped\",[3851]],[[3853,3863],\"valid\",[],\"NV8\"],[[3864,3865],\"valid\"],[[3866,3871],\"valid\",[],\"NV8\"],[[3872,3881],\"valid\"],[[3882,3892],\"valid\",[],\"NV8\"],[[3893,3893],\"valid\"],[[3894,3894],\"valid\",[],\"NV8\"],[[3895,3895],\"valid\"],[[3896,3896],\"valid\",[],\"NV8\"],[[3897,3897],\"valid\"],[[3898,3901],\"valid\",[],\"NV8\"],[[3902,3906],\"valid\"],[[3907,3907],\"mapped\",[3906,4023]],[[3908,3911],\"valid\"],[[3912,3912],\"disallowed\"],[[3913,3916],\"valid\"],[[3917,3917],\"mapped\",[3916,4023]],[[3918,3921],\"valid\"],[[3922,3922],\"mapped\",[3921,4023]],[[3923,3926],\"valid\"],[[3927,3927],\"mapped\",[3926,4023]],[[3928,3931],\"valid\"],[[3932,3932],\"mapped\",[3931,4023]],[[3933,3944],\"valid\"],[[3945,3945],\"mapped\",[3904,4021]],[[3946,3946],\"valid\"],[[3947,3948],\"valid\"],[[3949,3952],\"disallowed\"],[[3953,3954],\"valid\"],[[3955,3955],\"mapped\",[3953,3954]],[[3956,3956],\"valid\"],[[3957,3957],\"mapped\",[3953,3956]],[[3958,3958],\"mapped\",[4018,3968]],[[3959,3959],\"mapped\",[4018,3953,3968]],[[3960,3960],\"mapped\",[4019,3968]],[[3961,3961],\"mapped\",[4019,3953,3968]],[[3962,3968],\"valid\"],[[3969,3969],\"mapped\",[3953,3968]],[[3970,3972],\"valid\"],[[3973,3973],\"valid\",[],\"NV8\"],[[3974,3979],\"valid\"],[[3980,3983],\"valid\"],[[3984,3986],\"valid\"],[[3987,3987],\"mapped\",[3986,4023]],[[3988,3989],\"valid\"],[[3990,3990],\"valid\"],[[3991,3991],\"valid\"],[[3992,3992],\"disallowed\"],[[3993,3996],\"valid\"],[[3997,3997],\"mapped\",[3996,4023]],[[3998,4001],\"valid\"],[[4002,4002],\"mapped\",[4001,4023]],[[4003,4006],\"valid\"],[[4007,4007],\"mapped\",[4006,4023]],[[4008,4011],\"valid\"],[[4012,4012],\"mapped\",[4011,4023]],[[4013,4013],\"valid\"],[[4014,4016],\"valid\"],[[4017,4023],\"valid\"],[[4024,4024],\"valid\"],[[4025,4025],\"mapped\",[3984,4021]],[[4026,4028],\"valid\"],[[4029,4029],\"disallowed\"],[[4030,4037],\"valid\",[],\"NV8\"],[[4038,4038],\"valid\"],[[4039,4044],\"valid\",[],\"NV8\"],[[4045,4045],\"disallowed\"],[[4046,4046],\"valid\",[],\"NV8\"],[[4047,4047],\"valid\",[],\"NV8\"],[[4048,4049],\"valid\",[],\"NV8\"],[[4050,4052],\"valid\",[],\"NV8\"],[[4053,4056],\"valid\",[],\"NV8\"],[[4057,4058],\"valid\",[],\"NV8\"],[[4059,4095],\"disallowed\"],[[4096,4129],\"valid\"],[[4130,4130],\"valid\"],[[4131,4135],\"valid\"],[[4136,4136],\"valid\"],[[4137,4138],\"valid\"],[[4139,4139],\"valid\"],[[4140,4146],\"valid\"],[[4147,4149],\"valid\"],[[4150,4153],\"valid\"],[[4154,4159],\"valid\"],[[4160,4169],\"valid\"],[[4170,4175],\"valid\",[],\"NV8\"],[[4176,4185],\"valid\"],[[4186,4249],\"valid\"],[[4250,4253],\"valid\"],[[4254,4255],\"valid\",[],\"NV8\"],[[4256,4293],\"disallowed\"],[[4294,4294],\"disallowed\"],[[4295,4295],\"mapped\",[11559]],[[4296,4300],\"disallowed\"],[[4301,4301],\"mapped\",[11565]],[[4302,4303],\"disallowed\"],[[4304,4342],\"valid\"],[[4343,4344],\"valid\"],[[4345,4346],\"valid\"],[[4347,4347],\"valid\",[],\"NV8\"],[[4348,4348],\"mapped\",[4316]],[[4349,4351],\"valid\"],[[4352,4441],\"valid\",[],\"NV8\"],[[4442,4446],\"valid\",[],\"NV8\"],[[4447,4448],\"disallowed\"],[[4449,4514],\"valid\",[],\"NV8\"],[[4515,4519],\"valid\",[],\"NV8\"],[[4520,4601],\"valid\",[],\"NV8\"],[[4602,4607],\"valid\",[],\"NV8\"],[[4608,4614],\"valid\"],[[4615,4615],\"valid\"],[[4616,4678],\"valid\"],[[4679,4679],\"valid\"],[[4680,4680],\"valid\"],[[4681,4681],\"disallowed\"],[[4682,4685],\"valid\"],[[4686,4687],\"disallowed\"],[[4688,4694],\"valid\"],[[4695,4695],\"disallowed\"],[[4696,4696],\"valid\"],[[4697,4697],\"disallowed\"],[[4698,4701],\"valid\"],[[4702,4703],\"disallowed\"],[[4704,4742],\"valid\"],[[4743,4743],\"valid\"],[[4744,4744],\"valid\"],[[4745,4745],\"disallowed\"],[[4746,4749],\"valid\"],[[4750,4751],\"disallowed\"],[[4752,4782],\"valid\"],[[4783,4783],\"valid\"],[[4784,4784],\"valid\"],[[4785,4785],\"disallowed\"],[[4786,4789],\"valid\"],[[4790,4791],\"disallowed\"],[[4792,4798],\"valid\"],[[4799,4799],\"disallowed\"],[[4800,4800],\"valid\"],[[4801,4801],\"disallowed\"],[[4802,4805],\"valid\"],[[4806,4807],\"disallowed\"],[[4808,4814],\"valid\"],[[4815,4815],\"valid\"],[[4816,4822],\"valid\"],[[4823,4823],\"disallowed\"],[[4824,4846],\"valid\"],[[4847,4847],\"valid\"],[[4848,4878],\"valid\"],[[4879,4879],\"valid\"],[[4880,4880],\"valid\"],[[4881,4881],\"disallowed\"],[[4882,4885],\"valid\"],[[4886,4887],\"disallowed\"],[[4888,4894],\"valid\"],[[4895,4895],\"valid\"],[[4896,4934],\"valid\"],[[4935,4935],\"valid\"],[[4936,4954],\"valid\"],[[4955,4956],\"disallowed\"],[[4957,4958],\"valid\"],[[4959,4959],\"valid\"],[[4960,4960],\"valid\",[],\"NV8\"],[[4961,4988],\"valid\",[],\"NV8\"],[[4989,4991],\"disallowed\"],[[4992,5007],\"valid\"],[[5008,5017],\"valid\",[],\"NV8\"],[[5018,5023],\"disallowed\"],[[5024,5108],\"valid\"],[[5109,5109],\"valid\"],[[5110,5111],\"disallowed\"],[[5112,5112],\"mapped\",[5104]],[[5113,5113],\"mapped\",[5105]],[[5114,5114],\"mapped\",[5106]],[[5115,5115],\"mapped\",[5107]],[[5116,5116],\"mapped\",[5108]],[[5117,5117],\"mapped\",[5109]],[[5118,5119],\"disallowed\"],[[5120,5120],\"valid\",[],\"NV8\"],[[5121,5740],\"valid\"],[[5741,5742],\"valid\",[],\"NV8\"],[[5743,5750],\"valid\"],[[5751,5759],\"valid\"],[[5760,5760],\"disallowed\"],[[5761,5786],\"valid\"],[[5787,5788],\"valid\",[],\"NV8\"],[[5789,5791],\"disallowed\"],[[5792,5866],\"valid\"],[[5867,5872],\"valid\",[],\"NV8\"],[[5873,5880],\"valid\"],[[5881,5887],\"disallowed\"],[[5888,5900],\"valid\"],[[5901,5901],\"disallowed\"],[[5902,5908],\"valid\"],[[5909,5919],\"disallowed\"],[[5920,5940],\"valid\"],[[5941,5942],\"valid\",[],\"NV8\"],[[5943,5951],\"disallowed\"],[[5952,5971],\"valid\"],[[5972,5983],\"disallowed\"],[[5984,5996],\"valid\"],[[5997,5997],\"disallowed\"],[[5998,6000],\"valid\"],[[6001,6001],\"disallowed\"],[[6002,6003],\"valid\"],[[6004,6015],\"disallowed\"],[[6016,6067],\"valid\"],[[6068,6069],\"disallowed\"],[[6070,6099],\"valid\"],[[6100,6102],\"valid\",[],\"NV8\"],[[6103,6103],\"valid\"],[[6104,6107],\"valid\",[],\"NV8\"],[[6108,6108],\"valid\"],[[6109,6109],\"valid\"],[[6110,6111],\"disallowed\"],[[6112,6121],\"valid\"],[[6122,6127],\"disallowed\"],[[6128,6137],\"valid\",[],\"NV8\"],[[6138,6143],\"disallowed\"],[[6144,6149],\"valid\",[],\"NV8\"],[[6150,6150],\"disallowed\"],[[6151,6154],\"valid\",[],\"NV8\"],[[6155,6157],\"ignored\"],[[6158,6158],\"disallowed\"],[[6159,6159],\"disallowed\"],[[6160,6169],\"valid\"],[[6170,6175],\"disallowed\"],[[6176,6263],\"valid\"],[[6264,6271],\"disallowed\"],[[6272,6313],\"valid\"],[[6314,6314],\"valid\"],[[6315,6319],\"disallowed\"],[[6320,6389],\"valid\"],[[6390,6399],\"disallowed\"],[[6400,6428],\"valid\"],[[6429,6430],\"valid\"],[[6431,6431],\"disallowed\"],[[6432,6443],\"valid\"],[[6444,6447],\"disallowed\"],[[6448,6459],\"valid\"],[[6460,6463],\"disallowed\"],[[6464,6464],\"valid\",[],\"NV8\"],[[6465,6467],\"disallowed\"],[[6468,6469],\"valid\",[],\"NV8\"],[[6470,6509],\"valid\"],[[6510,6511],\"disallowed\"],[[6512,6516],\"valid\"],[[6517,6527],\"disallowed\"],[[6528,6569],\"valid\"],[[6570,6571],\"valid\"],[[6572,6575],\"disallowed\"],[[6576,6601],\"valid\"],[[6602,6607],\"disallowed\"],[[6608,6617],\"valid\"],[[6618,6618],\"valid\",[],\"XV8\"],[[6619,6621],\"disallowed\"],[[6622,6623],\"valid\",[],\"NV8\"],[[6624,6655],\"valid\",[],\"NV8\"],[[6656,6683],\"valid\"],[[6684,6685],\"disallowed\"],[[6686,6687],\"valid\",[],\"NV8\"],[[6688,6750],\"valid\"],[[6751,6751],\"disallowed\"],[[6752,6780],\"valid\"],[[6781,6782],\"disallowed\"],[[6783,6793],\"valid\"],[[6794,6799],\"disallowed\"],[[6800,6809],\"valid\"],[[6810,6815],\"disallowed\"],[[6816,6822],\"valid\",[],\"NV8\"],[[6823,6823],\"valid\"],[[6824,6829],\"valid\",[],\"NV8\"],[[6830,6831],\"disallowed\"],[[6832,6845],\"valid\"],[[6846,6846],\"valid\",[],\"NV8\"],[[6847,6911],\"disallowed\"],[[6912,6987],\"valid\"],[[6988,6991],\"disallowed\"],[[6992,7001],\"valid\"],[[7002,7018],\"valid\",[],\"NV8\"],[[7019,7027],\"valid\"],[[7028,7036],\"valid\",[],\"NV8\"],[[7037,7039],\"disallowed\"],[[7040,7082],\"valid\"],[[7083,7085],\"valid\"],[[7086,7097],\"valid\"],[[7098,7103],\"valid\"],[[7104,7155],\"valid\"],[[7156,7163],\"disallowed\"],[[7164,7167],\"valid\",[],\"NV8\"],[[7168,7223],\"valid\"],[[7224,7226],\"disallowed\"],[[7227,7231],\"valid\",[],\"NV8\"],[[7232,7241],\"valid\"],[[7242,7244],\"disallowed\"],[[7245,7293],\"valid\"],[[7294,7295],\"valid\",[],\"NV8\"],[[7296,7359],\"disallowed\"],[[7360,7367],\"valid\",[],\"NV8\"],[[7368,7375],\"disallowed\"],[[7376,7378],\"valid\"],[[7379,7379],\"valid\",[],\"NV8\"],[[7380,7410],\"valid\"],[[7411,7414],\"valid\"],[[7415,7415],\"disallowed\"],[[7416,7417],\"valid\"],[[7418,7423],\"disallowed\"],[[7424,7467],\"valid\"],[[7468,7468],\"mapped\",[97]],[[7469,7469],\"mapped\",[230]],[[7470,7470],\"mapped\",[98]],[[7471,7471],\"valid\"],[[7472,7472],\"mapped\",[100]],[[7473,7473],\"mapped\",[101]],[[7474,7474],\"mapped\",[477]],[[7475,7475],\"mapped\",[103]],[[7476,7476],\"mapped\",[104]],[[7477,7477],\"mapped\",[105]],[[7478,7478],\"mapped\",[106]],[[7479,7479],\"mapped\",[107]],[[7480,7480],\"mapped\",[108]],[[7481,7481],\"mapped\",[109]],[[7482,7482],\"mapped\",[110]],[[7483,7483],\"valid\"],[[7484,7484],\"mapped\",[111]],[[7485,7485],\"mapped\",[547]],[[7486,7486],\"mapped\",[112]],[[7487,7487],\"mapped\",[114]],[[7488,7488],\"mapped\",[116]],[[7489,7489],\"mapped\",[117]],[[7490,7490],\"mapped\",[119]],[[7491,7491],\"mapped\",[97]],[[7492,7492],\"mapped\",[592]],[[7493,7493],\"mapped\",[593]],[[7494,7494],\"mapped\",[7426]],[[7495,7495],\"mapped\",[98]],[[7496,7496],\"mapped\",[100]],[[7497,7497],\"mapped\",[101]],[[7498,7498],\"mapped\",[601]],[[7499,7499],\"mapped\",[603]],[[7500,7500],\"mapped\",[604]],[[7501,7501],\"mapped\",[103]],[[7502,7502],\"valid\"],[[7503,7503],\"mapped\",[107]],[[7504,7504],\"mapped\",[109]],[[7505,7505],\"mapped\",[331]],[[7506,7506],\"mapped\",[111]],[[7507,7507],\"mapped\",[596]],[[7508,7508],\"mapped\",[7446]],[[7509,7509],\"mapped\",[7447]],[[7510,7510],\"mapped\",[112]],[[7511,7511],\"mapped\",[116]],[[7512,7512],\"mapped\",[117]],[[7513,7513],\"mapped\",[7453]],[[7514,7514],\"mapped\",[623]],[[7515,7515],\"mapped\",[118]],[[7516,7516],\"mapped\",[7461]],[[7517,7517],\"mapped\",[946]],[[7518,7518],\"mapped\",[947]],[[7519,7519],\"mapped\",[948]],[[7520,7520],\"mapped\",[966]],[[7521,7521],\"mapped\",[967]],[[7522,7522],\"mapped\",[105]],[[7523,7523],\"mapped\",[114]],[[7524,7524],\"mapped\",[117]],[[7525,7525],\"mapped\",[118]],[[7526,7526],\"mapped\",[946]],[[7527,7527],\"mapped\",[947]],[[7528,7528],\"mapped\",[961]],[[7529,7529],\"mapped\",[966]],[[7530,7530],\"mapped\",[967]],[[7531,7531],\"valid\"],[[7532,7543],\"valid\"],[[7544,7544],\"mapped\",[1085]],[[7545,7578],\"valid\"],[[7579,7579],\"mapped\",[594]],[[7580,7580],\"mapped\",[99]],[[7581,7581],\"mapped\",[597]],[[7582,7582],\"mapped\",[240]],[[7583,7583],\"mapped\",[604]],[[7584,7584],\"mapped\",[102]],[[7585,7585],\"mapped\",[607]],[[7586,7586],\"mapped\",[609]],[[7587,7587],\"mapped\",[613]],[[7588,7588],\"mapped\",[616]],[[7589,7589],\"mapped\",[617]],[[7590,7590],\"mapped\",[618]],[[7591,7591],\"mapped\",[7547]],[[7592,7592],\"mapped\",[669]],[[7593,7593],\"mapped\",[621]],[[7594,7594],\"mapped\",[7557]],[[7595,7595],\"mapped\",[671]],[[7596,7596],\"mapped\",[625]],[[7597,7597],\"mapped\",[624]],[[7598,7598],\"mapped\",[626]],[[7599,7599],\"mapped\",[627]],[[7600,7600],\"mapped\",[628]],[[7601,7601],\"mapped\",[629]],[[7602,7602],\"mapped\",[632]],[[7603,7603],\"mapped\",[642]],[[7604,7604],\"mapped\",[643]],[[7605,7605],\"mapped\",[427]],[[7606,7606],\"mapped\",[649]],[[7607,7607],\"mapped\",[650]],[[7608,7608],\"mapped\",[7452]],[[7609,7609],\"mapped\",[651]],[[7610,7610],\"mapped\",[652]],[[7611,7611],\"mapped\",[122]],[[7612,7612],\"mapped\",[656]],[[7613,7613],\"mapped\",[657]],[[7614,7614],\"mapped\",[658]],[[7615,7615],\"mapped\",[952]],[[7616,7619],\"valid\"],[[7620,7626],\"valid\"],[[7627,7654],\"valid\"],[[7655,7669],\"valid\"],[[7670,7675],\"disallowed\"],[[7676,7676],\"valid\"],[[7677,7677],\"valid\"],[[7678,7679],\"valid\"],[[7680,7680],\"mapped\",[7681]],[[7681,7681],\"valid\"],[[7682,7682],\"mapped\",[7683]],[[7683,7683],\"valid\"],[[7684,7684],\"mapped\",[7685]],[[7685,7685],\"valid\"],[[7686,7686],\"mapped\",[7687]],[[7687,7687],\"valid\"],[[7688,7688],\"mapped\",[7689]],[[7689,7689],\"valid\"],[[7690,7690],\"mapped\",[7691]],[[7691,7691],\"valid\"],[[7692,7692],\"mapped\",[7693]],[[7693,7693],\"valid\"],[[7694,7694],\"mapped\",[7695]],[[7695,7695],\"valid\"],[[7696,7696],\"mapped\",[7697]],[[7697,7697],\"valid\"],[[7698,7698],\"mapped\",[7699]],[[7699,7699],\"valid\"],[[7700,7700],\"mapped\",[7701]],[[7701,7701],\"valid\"],[[7702,7702],\"mapped\",[7703]],[[7703,7703],\"valid\"],[[7704,7704],\"mapped\",[7705]],[[7705,7705],\"valid\"],[[7706,7706],\"mapped\",[7707]],[[7707,7707],\"valid\"],[[7708,7708],\"mapped\",[7709]],[[7709,7709],\"valid\"],[[7710,7710],\"mapped\",[7711]],[[7711,7711],\"valid\"],[[7712,7712],\"mapped\",[7713]],[[7713,7713],\"valid\"],[[7714,7714],\"mapped\",[7715]],[[7715,7715],\"valid\"],[[7716,7716],\"mapped\",[7717]],[[7717,7717],\"valid\"],[[7718,7718],\"mapped\",[7719]],[[7719,7719],\"valid\"],[[7720,7720],\"mapped\",[7721]],[[7721,7721],\"valid\"],[[7722,7722],\"mapped\",[7723]],[[7723,7723],\"valid\"],[[7724,7724],\"mapped\",[7725]],[[7725,7725],\"valid\"],[[7726,7726],\"mapped\",[7727]],[[7727,7727],\"valid\"],[[7728,7728],\"mapped\",[7729]],[[7729,7729],\"valid\"],[[7730,7730],\"mapped\",[7731]],[[7731,7731],\"valid\"],[[7732,7732],\"mapped\",[7733]],[[7733,7733],\"valid\"],[[7734,7734],\"mapped\",[7735]],[[7735,7735],\"valid\"],[[7736,7736],\"mapped\",[7737]],[[7737,7737],\"valid\"],[[7738,7738],\"mapped\",[7739]],[[7739,7739],\"valid\"],[[7740,7740],\"mapped\",[7741]],[[7741,7741],\"valid\"],[[7742,7742],\"mapped\",[7743]],[[7743,7743],\"valid\"],[[7744,7744],\"mapped\",[7745]],[[7745,7745],\"valid\"],[[7746,7746],\"mapped\",[7747]],[[7747,7747],\"valid\"],[[7748,7748],\"mapped\",[7749]],[[7749,7749],\"valid\"],[[7750,7750],\"mapped\",[7751]],[[7751,7751],\"valid\"],[[7752,7752],\"mapped\",[7753]],[[7753,7753],\"valid\"],[[7754,7754],\"mapped\",[7755]],[[7755,7755],\"valid\"],[[7756,7756],\"mapped\",[7757]],[[7757,7757],\"valid\"],[[7758,7758],\"mapped\",[7759]],[[7759,7759],\"valid\"],[[7760,7760],\"mapped\",[7761]],[[7761,7761],\"valid\"],[[7762,7762],\"mapped\",[7763]],[[7763,7763],\"valid\"],[[7764,7764],\"mapped\",[7765]],[[7765,7765],\"valid\"],[[7766,7766],\"mapped\",[7767]],[[7767,7767],\"valid\"],[[7768,7768],\"mapped\",[7769]],[[7769,7769],\"valid\"],[[7770,7770],\"mapped\",[7771]],[[7771,7771],\"valid\"],[[7772,7772],\"mapped\",[7773]],[[7773,7773],\"valid\"],[[7774,7774],\"mapped\",[7775]],[[7775,7775],\"valid\"],[[7776,7776],\"mapped\",[7777]],[[7777,7777],\"valid\"],[[7778,7778],\"mapped\",[7779]],[[7779,7779],\"valid\"],[[7780,7780],\"mapped\",[7781]],[[7781,7781],\"valid\"],[[7782,7782],\"mapped\",[7783]],[[7783,7783],\"valid\"],[[7784,7784],\"mapped\",[7785]],[[7785,7785],\"valid\"],[[7786,7786],\"mapped\",[7787]],[[7787,7787],\"valid\"],[[7788,7788],\"mapped\",[7789]],[[7789,7789],\"valid\"],[[7790,7790],\"mapped\",[7791]],[[7791,7791],\"valid\"],[[7792,7792],\"mapped\",[7793]],[[7793,7793],\"valid\"],[[7794,7794],\"mapped\",[7795]],[[7795,7795],\"valid\"],[[7796,7796],\"mapped\",[7797]],[[7797,7797],\"valid\"],[[7798,7798],\"mapped\",[7799]],[[7799,7799],\"valid\"],[[7800,7800],\"mapped\",[7801]],[[7801,7801],\"valid\"],[[7802,7802],\"mapped\",[7803]],[[7803,7803],\"valid\"],[[7804,7804],\"mapped\",[7805]],[[7805,7805],\"valid\"],[[7806,7806],\"mapped\",[7807]],[[7807,7807],\"valid\"],[[7808,7808],\"mapped\",[7809]],[[7809,7809],\"valid\"],[[7810,7810],\"mapped\",[7811]],[[7811,7811],\"valid\"],[[7812,7812],\"mapped\",[7813]],[[7813,7813],\"valid\"],[[7814,7814],\"mapped\",[7815]],[[7815,7815],\"valid\"],[[7816,7816],\"mapped\",[7817]],[[7817,7817],\"valid\"],[[7818,7818],\"mapped\",[7819]],[[7819,7819],\"valid\"],[[7820,7820],\"mapped\",[7821]],[[7821,7821],\"valid\"],[[7822,7822],\"mapped\",[7823]],[[7823,7823],\"valid\"],[[7824,7824],\"mapped\",[7825]],[[7825,7825],\"valid\"],[[7826,7826],\"mapped\",[7827]],[[7827,7827],\"valid\"],[[7828,7828],\"mapped\",[7829]],[[7829,7833],\"valid\"],[[7834,7834],\"mapped\",[97,702]],[[7835,7835],\"mapped\",[7777]],[[7836,7837],\"valid\"],[[7838,7838],\"mapped\",[115,115]],[[7839,7839],\"valid\"],[[7840,7840],\"mapped\",[7841]],[[7841,7841],\"valid\"],[[7842,7842],\"mapped\",[7843]],[[7843,7843],\"valid\"],[[7844,7844],\"mapped\",[7845]],[[7845,7845],\"valid\"],[[7846,7846],\"mapped\",[7847]],[[7847,7847],\"valid\"],[[7848,7848],\"mapped\",[7849]],[[7849,7849],\"valid\"],[[7850,7850],\"mapped\",[7851]],[[7851,7851],\"valid\"],[[7852,7852],\"mapped\",[7853]],[[7853,7853],\"valid\"],[[7854,7854],\"mapped\",[7855]],[[7855,7855],\"valid\"],[[7856,7856],\"mapped\",[7857]],[[7857,7857],\"valid\"],[[7858,7858],\"mapped\",[7859]],[[7859,7859],\"valid\"],[[7860,7860],\"mapped\",[7861]],[[7861,7861],\"valid\"],[[7862,7862],\"mapped\",[7863]],[[7863,7863],\"valid\"],[[7864,7864],\"mapped\",[7865]],[[7865,7865],\"valid\"],[[7866,7866],\"mapped\",[7867]],[[7867,7867],\"valid\"],[[7868,7868],\"mapped\",[7869]],[[7869,7869],\"valid\"],[[7870,7870],\"mapped\",[7871]],[[7871,7871],\"valid\"],[[7872,7872],\"mapped\",[7873]],[[7873,7873],\"valid\"],[[7874,7874],\"mapped\",[7875]],[[7875,7875],\"valid\"],[[7876,7876],\"mapped\",[7877]],[[7877,7877],\"valid\"],[[7878,7878],\"mapped\",[7879]],[[7879,7879],\"valid\"],[[7880,7880],\"mapped\",[7881]],[[7881,7881],\"valid\"],[[7882,7882],\"mapped\",[7883]],[[7883,7883],\"valid\"],[[7884,7884],\"mapped\",[7885]],[[7885,7885],\"valid\"],[[7886,7886],\"mapped\",[7887]],[[7887,7887],\"valid\"],[[7888,7888],\"mapped\",[7889]],[[7889,7889],\"valid\"],[[7890,7890],\"mapped\",[7891]],[[7891,7891],\"valid\"],[[7892,7892],\"mapped\",[7893]],[[7893,7893],\"valid\"],[[7894,7894],\"mapped\",[7895]],[[7895,7895],\"valid\"],[[7896,7896],\"mapped\",[7897]],[[7897,7897],\"valid\"],[[7898,7898],\"mapped\",[7899]],[[7899,7899],\"valid\"],[[7900,7900],\"mapped\",[7901]],[[7901,7901],\"valid\"],[[7902,7902],\"mapped\",[7903]],[[7903,7903],\"valid\"],[[7904,7904],\"mapped\",[7905]],[[7905,7905],\"valid\"],[[7906,7906],\"mapped\",[7907]],[[7907,7907],\"valid\"],[[7908,7908],\"mapped\",[7909]],[[7909,7909],\"valid\"],[[7910,7910],\"mapped\",[7911]],[[7911,7911],\"valid\"],[[7912,7912],\"mapped\",[7913]],[[7913,7913],\"valid\"],[[7914,7914],\"mapped\",[7915]],[[7915,7915],\"valid\"],[[7916,7916],\"mapped\",[7917]],[[7917,7917],\"valid\"],[[7918,7918],\"mapped\",[7919]],[[7919,7919],\"valid\"],[[7920,7920],\"mapped\",[7921]],[[7921,7921],\"valid\"],[[7922,7922],\"mapped\",[7923]],[[7923,7923],\"valid\"],[[7924,7924],\"mapped\",[7925]],[[7925,7925],\"valid\"],[[7926,7926],\"mapped\",[7927]],[[7927,7927],\"valid\"],[[7928,7928],\"mapped\",[7929]],[[7929,7929],\"valid\"],[[7930,7930],\"mapped\",[7931]],[[7931,7931],\"valid\"],[[7932,7932],\"mapped\",[7933]],[[7933,7933],\"valid\"],[[7934,7934],\"mapped\",[7935]],[[7935,7935],\"valid\"],[[7936,7943],\"valid\"],[[7944,7944],\"mapped\",[7936]],[[7945,7945],\"mapped\",[7937]],[[7946,7946],\"mapped\",[7938]],[[7947,7947],\"mapped\",[7939]],[[7948,7948],\"mapped\",[7940]],[[7949,7949],\"mapped\",[7941]],[[7950,7950],\"mapped\",[7942]],[[7951,7951],\"mapped\",[7943]],[[7952,7957],\"valid\"],[[7958,7959],\"disallowed\"],[[7960,7960],\"mapped\",[7952]],[[7961,7961],\"mapped\",[7953]],[[7962,7962],\"mapped\",[7954]],[[7963,7963],\"mapped\",[7955]],[[7964,7964],\"mapped\",[7956]],[[7965,7965],\"mapped\",[7957]],[[7966,7967],\"disallowed\"],[[7968,7975],\"valid\"],[[7976,7976],\"mapped\",[7968]],[[7977,7977],\"mapped\",[7969]],[[7978,7978],\"mapped\",[7970]],[[7979,7979],\"mapped\",[7971]],[[7980,7980],\"mapped\",[7972]],[[7981,7981],\"mapped\",[7973]],[[7982,7982],\"mapped\",[7974]],[[7983,7983],\"mapped\",[7975]],[[7984,7991],\"valid\"],[[7992,7992],\"mapped\",[7984]],[[7993,7993],\"mapped\",[7985]],[[7994,7994],\"mapped\",[7986]],[[7995,7995],\"mapped\",[7987]],[[7996,7996],\"mapped\",[7988]],[[7997,7997],\"mapped\",[7989]],[[7998,7998],\"mapped\",[7990]],[[7999,7999],\"mapped\",[7991]],[[8000,8005],\"valid\"],[[8006,8007],\"disallowed\"],[[8008,8008],\"mapped\",[8000]],[[8009,8009],\"mapped\",[8001]],[[8010,8010],\"mapped\",[8002]],[[8011,8011],\"mapped\",[8003]],[[8012,8012],\"mapped\",[8004]],[[8013,8013],\"mapped\",[8005]],[[8014,8015],\"disallowed\"],[[8016,8023],\"valid\"],[[8024,8024],\"disallowed\"],[[8025,8025],\"mapped\",[8017]],[[8026,8026],\"disallowed\"],[[8027,8027],\"mapped\",[8019]],[[8028,8028],\"disallowed\"],[[8029,8029],\"mapped\",[8021]],[[8030,8030],\"disallowed\"],[[8031,8031],\"mapped\",[8023]],[[8032,8039],\"valid\"],[[8040,8040],\"mapped\",[8032]],[[8041,8041],\"mapped\",[8033]],[[8042,8042],\"mapped\",[8034]],[[8043,8043],\"mapped\",[8035]],[[8044,8044],\"mapped\",[8036]],[[8045,8045],\"mapped\",[8037]],[[8046,8046],\"mapped\",[8038]],[[8047,8047],\"mapped\",[8039]],[[8048,8048],\"valid\"],[[8049,8049],\"mapped\",[940]],[[8050,8050],\"valid\"],[[8051,8051],\"mapped\",[941]],[[8052,8052],\"valid\"],[[8053,8053],\"mapped\",[942]],[[8054,8054],\"valid\"],[[8055,8055],\"mapped\",[943]],[[8056,8056],\"valid\"],[[8057,8057],\"mapped\",[972]],[[8058,8058],\"valid\"],[[8059,8059],\"mapped\",[973]],[[8060,8060],\"valid\"],[[8061,8061],\"mapped\",[974]],[[8062,8063],\"disallowed\"],[[8064,8064],\"mapped\",[7936,953]],[[8065,8065],\"mapped\",[7937,953]],[[8066,8066],\"mapped\",[7938,953]],[[8067,8067],\"mapped\",[7939,953]],[[8068,8068],\"mapped\",[7940,953]],[[8069,8069],\"mapped\",[7941,953]],[[8070,8070],\"mapped\",[7942,953]],[[8071,8071],\"mapped\",[7943,953]],[[8072,8072],\"mapped\",[7936,953]],[[8073,8073],\"mapped\",[7937,953]],[[8074,8074],\"mapped\",[7938,953]],[[8075,8075],\"mapped\",[7939,953]],[[8076,8076],\"mapped\",[7940,953]],[[8077,8077],\"mapped\",[7941,953]],[[8078,8078],\"mapped\",[7942,953]],[[8079,8079],\"mapped\",[7943,953]],[[8080,8080],\"mapped\",[7968,953]],[[8081,8081],\"mapped\",[7969,953]],[[8082,8082],\"mapped\",[7970,953]],[[8083,8083],\"mapped\",[7971,953]],[[8084,8084],\"mapped\",[7972,953]],[[8085,8085],\"mapped\",[7973,953]],[[8086,8086],\"mapped\",[7974,953]],[[8087,8087],\"mapped\",[7975,953]],[[8088,8088],\"mapped\",[7968,953]],[[8089,8089],\"mapped\",[7969,953]],[[8090,8090],\"mapped\",[7970,953]],[[8091,8091],\"mapped\",[7971,953]],[[8092,8092],\"mapped\",[7972,953]],[[8093,8093],\"mapped\",[7973,953]],[[8094,8094],\"mapped\",[7974,953]],[[8095,8095],\"mapped\",[7975,953]],[[8096,8096],\"mapped\",[8032,953]],[[8097,8097],\"mapped\",[8033,953]],[[8098,8098],\"mapped\",[8034,953]],[[8099,8099],\"mapped\",[8035,953]],[[8100,8100],\"mapped\",[8036,953]],[[8101,8101],\"mapped\",[8037,953]],[[8102,8102],\"mapped\",[8038,953]],[[8103,8103],\"mapped\",[8039,953]],[[8104,8104],\"mapped\",[8032,953]],[[8105,8105],\"mapped\",[8033,953]],[[8106,8106],\"mapped\",[8034,953]],[[8107,8107],\"mapped\",[8035,953]],[[8108,8108],\"mapped\",[8036,953]],[[8109,8109],\"mapped\",[8037,953]],[[8110,8110],\"mapped\",[8038,953]],[[8111,8111],\"mapped\",[8039,953]],[[8112,8113],\"valid\"],[[8114,8114],\"mapped\",[8048,953]],[[8115,8115],\"mapped\",[945,953]],[[8116,8116],\"mapped\",[940,953]],[[8117,8117],\"disallowed\"],[[8118,8118],\"valid\"],[[8119,8119],\"mapped\",[8118,953]],[[8120,8120],\"mapped\",[8112]],[[8121,8121],\"mapped\",[8113]],[[8122,8122],\"mapped\",[8048]],[[8123,8123],\"mapped\",[940]],[[8124,8124],\"mapped\",[945,953]],[[8125,8125],\"disallowed_STD3_mapped\",[32,787]],[[8126,8126],\"mapped\",[953]],[[8127,8127],\"disallowed_STD3_mapped\",[32,787]],[[8128,8128],\"disallowed_STD3_mapped\",[32,834]],[[8129,8129],\"disallowed_STD3_mapped\",[32,776,834]],[[8130,8130],\"mapped\",[8052,953]],[[8131,8131],\"mapped\",[951,953]],[[8132,8132],\"mapped\",[942,953]],[[8133,8133],\"disallowed\"],[[8134,8134],\"valid\"],[[8135,8135],\"mapped\",[8134,953]],[[8136,8136],\"mapped\",[8050]],[[8137,8137],\"mapped\",[941]],[[8138,8138],\"mapped\",[8052]],[[8139,8139],\"mapped\",[942]],[[8140,8140],\"mapped\",[951,953]],[[8141,8141],\"disallowed_STD3_mapped\",[32,787,768]],[[8142,8142],\"disallowed_STD3_mapped\",[32,787,769]],[[8143,8143],\"disallowed_STD3_mapped\",[32,787,834]],[[8144,8146],\"valid\"],[[8147,8147],\"mapped\",[912]],[[8148,8149],\"disallowed\"],[[8150,8151],\"valid\"],[[8152,8152],\"mapped\",[8144]],[[8153,8153],\"mapped\",[8145]],[[8154,8154],\"mapped\",[8054]],[[8155,8155],\"mapped\",[943]],[[8156,8156],\"disallowed\"],[[8157,8157],\"disallowed_STD3_mapped\",[32,788,768]],[[8158,8158],\"disallowed_STD3_mapped\",[32,788,769]],[[8159,8159],\"disallowed_STD3_mapped\",[32,788,834]],[[8160,8162],\"valid\"],[[8163,8163],\"mapped\",[944]],[[8164,8167],\"valid\"],[[8168,8168],\"mapped\",[8160]],[[8169,8169],\"mapped\",[8161]],[[8170,8170],\"mapped\",[8058]],[[8171,8171],\"mapped\",[973]],[[8172,8172],\"mapped\",[8165]],[[8173,8173],\"disallowed_STD3_mapped\",[32,776,768]],[[8174,8174],\"disallowed_STD3_mapped\",[32,776,769]],[[8175,8175],\"disallowed_STD3_mapped\",[96]],[[8176,8177],\"disallowed\"],[[8178,8178],\"mapped\",[8060,953]],[[8179,8179],\"mapped\",[969,953]],[[8180,8180],\"mapped\",[974,953]],[[8181,8181],\"disallowed\"],[[8182,8182],\"valid\"],[[8183,8183],\"mapped\",[8182,953]],[[8184,8184],\"mapped\",[8056]],[[8185,8185],\"mapped\",[972]],[[8186,8186],\"mapped\",[8060]],[[8187,8187],\"mapped\",[974]],[[8188,8188],\"mapped\",[969,953]],[[8189,8189],\"disallowed_STD3_mapped\",[32,769]],[[8190,8190],\"disallowed_STD3_mapped\",[32,788]],[[8191,8191],\"disallowed\"],[[8192,8202],\"disallowed_STD3_mapped\",[32]],[[8203,8203],\"ignored\"],[[8204,8205],\"deviation\",[]],[[8206,8207],\"disallowed\"],[[8208,8208],\"valid\",[],\"NV8\"],[[8209,8209],\"mapped\",[8208]],[[8210,8214],\"valid\",[],\"NV8\"],[[8215,8215],\"disallowed_STD3_mapped\",[32,819]],[[8216,8227],\"valid\",[],\"NV8\"],[[8228,8230],\"disallowed\"],[[8231,8231],\"valid\",[],\"NV8\"],[[8232,8238],\"disallowed\"],[[8239,8239],\"disallowed_STD3_mapped\",[32]],[[8240,8242],\"valid\",[],\"NV8\"],[[8243,8243],\"mapped\",[8242,8242]],[[8244,8244],\"mapped\",[8242,8242,8242]],[[8245,8245],\"valid\",[],\"NV8\"],[[8246,8246],\"mapped\",[8245,8245]],[[8247,8247],\"mapped\",[8245,8245,8245]],[[8248,8251],\"valid\",[],\"NV8\"],[[8252,8252],\"disallowed_STD3_mapped\",[33,33]],[[8253,8253],\"valid\",[],\"NV8\"],[[8254,8254],\"disallowed_STD3_mapped\",[32,773]],[[8255,8262],\"valid\",[],\"NV8\"],[[8263,8263],\"disallowed_STD3_mapped\",[63,63]],[[8264,8264],\"disallowed_STD3_mapped\",[63,33]],[[8265,8265],\"disallowed_STD3_mapped\",[33,63]],[[8266,8269],\"valid\",[],\"NV8\"],[[8270,8274],\"valid\",[],\"NV8\"],[[8275,8276],\"valid\",[],\"NV8\"],[[8277,8278],\"valid\",[],\"NV8\"],[[8279,8279],\"mapped\",[8242,8242,8242,8242]],[[8280,8286],\"valid\",[],\"NV8\"],[[8287,8287],\"disallowed_STD3_mapped\",[32]],[[8288,8288],\"ignored\"],[[8289,8291],\"disallowed\"],[[8292,8292],\"ignored\"],[[8293,8293],\"disallowed\"],[[8294,8297],\"disallowed\"],[[8298,8303],\"disallowed\"],[[8304,8304],\"mapped\",[48]],[[8305,8305],\"mapped\",[105]],[[8306,8307],\"disallowed\"],[[8308,8308],\"mapped\",[52]],[[8309,8309],\"mapped\",[53]],[[8310,8310],\"mapped\",[54]],[[8311,8311],\"mapped\",[55]],[[8312,8312],\"mapped\",[56]],[[8313,8313],\"mapped\",[57]],[[8314,8314],\"disallowed_STD3_mapped\",[43]],[[8315,8315],\"mapped\",[8722]],[[8316,8316],\"disallowed_STD3_mapped\",[61]],[[8317,8317],\"disallowed_STD3_mapped\",[40]],[[8318,8318],\"disallowed_STD3_mapped\",[41]],[[8319,8319],\"mapped\",[110]],[[8320,8320],\"mapped\",[48]],[[8321,8321],\"mapped\",[49]],[[8322,8322],\"mapped\",[50]],[[8323,8323],\"mapped\",[51]],[[8324,8324],\"mapped\",[52]],[[8325,8325],\"mapped\",[53]],[[8326,8326],\"mapped\",[54]],[[8327,8327],\"mapped\",[55]],[[8328,8328],\"mapped\",[56]],[[8329,8329],\"mapped\",[57]],[[8330,8330],\"disallowed_STD3_mapped\",[43]],[[8331,8331],\"mapped\",[8722]],[[8332,8332],\"disallowed_STD3_mapped\",[61]],[[8333,8333],\"disallowed_STD3_mapped\",[40]],[[8334,8334],\"disallowed_STD3_mapped\",[41]],[[8335,8335],\"disallowed\"],[[8336,8336],\"mapped\",[97]],[[8337,8337],\"mapped\",[101]],[[8338,8338],\"mapped\",[111]],[[8339,8339],\"mapped\",[120]],[[8340,8340],\"mapped\",[601]],[[8341,8341],\"mapped\",[104]],[[8342,8342],\"mapped\",[107]],[[8343,8343],\"mapped\",[108]],[[8344,8344],\"mapped\",[109]],[[8345,8345],\"mapped\",[110]],[[8346,8346],\"mapped\",[112]],[[8347,8347],\"mapped\",[115]],[[8348,8348],\"mapped\",[116]],[[8349,8351],\"disallowed\"],[[8352,8359],\"valid\",[],\"NV8\"],[[8360,8360],\"mapped\",[114,115]],[[8361,8362],\"valid\",[],\"NV8\"],[[8363,8363],\"valid\",[],\"NV8\"],[[8364,8364],\"valid\",[],\"NV8\"],[[8365,8367],\"valid\",[],\"NV8\"],[[8368,8369],\"valid\",[],\"NV8\"],[[8370,8373],\"valid\",[],\"NV8\"],[[8374,8376],\"valid\",[],\"NV8\"],[[8377,8377],\"valid\",[],\"NV8\"],[[8378,8378],\"valid\",[],\"NV8\"],[[8379,8381],\"valid\",[],\"NV8\"],[[8382,8382],\"valid\",[],\"NV8\"],[[8383,8399],\"disallowed\"],[[8400,8417],\"valid\",[],\"NV8\"],[[8418,8419],\"valid\",[],\"NV8\"],[[8420,8426],\"valid\",[],\"NV8\"],[[8427,8427],\"valid\",[],\"NV8\"],[[8428,8431],\"valid\",[],\"NV8\"],[[8432,8432],\"valid\",[],\"NV8\"],[[8433,8447],\"disallowed\"],[[8448,8448],\"disallowed_STD3_mapped\",[97,47,99]],[[8449,8449],\"disallowed_STD3_mapped\",[97,47,115]],[[8450,8450],\"mapped\",[99]],[[8451,8451],\"mapped\",[176,99]],[[8452,8452],\"valid\",[],\"NV8\"],[[8453,8453],\"disallowed_STD3_mapped\",[99,47,111]],[[8454,8454],\"disallowed_STD3_mapped\",[99,47,117]],[[8455,8455],\"mapped\",[603]],[[8456,8456],\"valid\",[],\"NV8\"],[[8457,8457],\"mapped\",[176,102]],[[8458,8458],\"mapped\",[103]],[[8459,8462],\"mapped\",[104]],[[8463,8463],\"mapped\",[295]],[[8464,8465],\"mapped\",[105]],[[8466,8467],\"mapped\",[108]],[[8468,8468],\"valid\",[],\"NV8\"],[[8469,8469],\"mapped\",[110]],[[8470,8470],\"mapped\",[110,111]],[[8471,8472],\"valid\",[],\"NV8\"],[[8473,8473],\"mapped\",[112]],[[8474,8474],\"mapped\",[113]],[[8475,8477],\"mapped\",[114]],[[8478,8479],\"valid\",[],\"NV8\"],[[8480,8480],\"mapped\",[115,109]],[[8481,8481],\"mapped\",[116,101,108]],[[8482,8482],\"mapped\",[116,109]],[[8483,8483],\"valid\",[],\"NV8\"],[[8484,8484],\"mapped\",[122]],[[8485,8485],\"valid\",[],\"NV8\"],[[8486,8486],\"mapped\",[969]],[[8487,8487],\"valid\",[],\"NV8\"],[[8488,8488],\"mapped\",[122]],[[8489,8489],\"valid\",[],\"NV8\"],[[8490,8490],\"mapped\",[107]],[[8491,8491],\"mapped\",[229]],[[8492,8492],\"mapped\",[98]],[[8493,8493],\"mapped\",[99]],[[8494,8494],\"valid\",[],\"NV8\"],[[8495,8496],\"mapped\",[101]],[[8497,8497],\"mapped\",[102]],[[8498,8498],\"disallowed\"],[[8499,8499],\"mapped\",[109]],[[8500,8500],\"mapped\",[111]],[[8501,8501],\"mapped\",[1488]],[[8502,8502],\"mapped\",[1489]],[[8503,8503],\"mapped\",[1490]],[[8504,8504],\"mapped\",[1491]],[[8505,8505],\"mapped\",[105]],[[8506,8506],\"valid\",[],\"NV8\"],[[8507,8507],\"mapped\",[102,97,120]],[[8508,8508],\"mapped\",[960]],[[8509,8510],\"mapped\",[947]],[[8511,8511],\"mapped\",[960]],[[8512,8512],\"mapped\",[8721]],[[8513,8516],\"valid\",[],\"NV8\"],[[8517,8518],\"mapped\",[100]],[[8519,8519],\"mapped\",[101]],[[8520,8520],\"mapped\",[105]],[[8521,8521],\"mapped\",[106]],[[8522,8523],\"valid\",[],\"NV8\"],[[8524,8524],\"valid\",[],\"NV8\"],[[8525,8525],\"valid\",[],\"NV8\"],[[8526,8526],\"valid\"],[[8527,8527],\"valid\",[],\"NV8\"],[[8528,8528],\"mapped\",[49,8260,55]],[[8529,8529],\"mapped\",[49,8260,57]],[[8530,8530],\"mapped\",[49,8260,49,48]],[[8531,8531],\"mapped\",[49,8260,51]],[[8532,8532],\"mapped\",[50,8260,51]],[[8533,8533],\"mapped\",[49,8260,53]],[[8534,8534],\"mapped\",[50,8260,53]],[[8535,8535],\"mapped\",[51,8260,53]],[[8536,8536],\"mapped\",[52,8260,53]],[[8537,8537],\"mapped\",[49,8260,54]],[[8538,8538],\"mapped\",[53,8260,54]],[[8539,8539],\"mapped\",[49,8260,56]],[[8540,8540],\"mapped\",[51,8260,56]],[[8541,8541],\"mapped\",[53,8260,56]],[[8542,8542],\"mapped\",[55,8260,56]],[[8543,8543],\"mapped\",[49,8260]],[[8544,8544],\"mapped\",[105]],[[8545,8545],\"mapped\",[105,105]],[[8546,8546],\"mapped\",[105,105,105]],[[8547,8547],\"mapped\",[105,118]],[[8548,8548],\"mapped\",[118]],[[8549,8549],\"mapped\",[118,105]],[[8550,8550],\"mapped\",[118,105,105]],[[8551,8551],\"mapped\",[118,105,105,105]],[[8552,8552],\"mapped\",[105,120]],[[8553,8553],\"mapped\",[120]],[[8554,8554],\"mapped\",[120,105]],[[8555,8555],\"mapped\",[120,105,105]],[[8556,8556],\"mapped\",[108]],[[8557,8557],\"mapped\",[99]],[[8558,8558],\"mapped\",[100]],[[8559,8559],\"mapped\",[109]],[[8560,8560],\"mapped\",[105]],[[8561,8561],\"mapped\",[105,105]],[[8562,8562],\"mapped\",[105,105,105]],[[8563,8563],\"mapped\",[105,118]],[[8564,8564],\"mapped\",[118]],[[8565,8565],\"mapped\",[118,105]],[[8566,8566],\"mapped\",[118,105,105]],[[8567,8567],\"mapped\",[118,105,105,105]],[[8568,8568],\"mapped\",[105,120]],[[8569,8569],\"mapped\",[120]],[[8570,8570],\"mapped\",[120,105]],[[8571,8571],\"mapped\",[120,105,105]],[[8572,8572],\"mapped\",[108]],[[8573,8573],\"mapped\",[99]],[[8574,8574],\"mapped\",[100]],[[8575,8575],\"mapped\",[109]],[[8576,8578],\"valid\",[],\"NV8\"],[[8579,8579],\"disallowed\"],[[8580,8580],\"valid\"],[[8581,8584],\"valid\",[],\"NV8\"],[[8585,8585],\"mapped\",[48,8260,51]],[[8586,8587],\"valid\",[],\"NV8\"],[[8588,8591],\"disallowed\"],[[8592,8682],\"valid\",[],\"NV8\"],[[8683,8691],\"valid\",[],\"NV8\"],[[8692,8703],\"valid\",[],\"NV8\"],[[8704,8747],\"valid\",[],\"NV8\"],[[8748,8748],\"mapped\",[8747,8747]],[[8749,8749],\"mapped\",[8747,8747,8747]],[[8750,8750],\"valid\",[],\"NV8\"],[[8751,8751],\"mapped\",[8750,8750]],[[8752,8752],\"mapped\",[8750,8750,8750]],[[8753,8799],\"valid\",[],\"NV8\"],[[8800,8800],\"disallowed_STD3_valid\"],[[8801,8813],\"valid\",[],\"NV8\"],[[8814,8815],\"disallowed_STD3_valid\"],[[8816,8945],\"valid\",[],\"NV8\"],[[8946,8959],\"valid\",[],\"NV8\"],[[8960,8960],\"valid\",[],\"NV8\"],[[8961,8961],\"valid\",[],\"NV8\"],[[8962,9000],\"valid\",[],\"NV8\"],[[9001,9001],\"mapped\",[12296]],[[9002,9002],\"mapped\",[12297]],[[9003,9082],\"valid\",[],\"NV8\"],[[9083,9083],\"valid\",[],\"NV8\"],[[9084,9084],\"valid\",[],\"NV8\"],[[9085,9114],\"valid\",[],\"NV8\"],[[9115,9166],\"valid\",[],\"NV8\"],[[9167,9168],\"valid\",[],\"NV8\"],[[9169,9179],\"valid\",[],\"NV8\"],[[9180,9191],\"valid\",[],\"NV8\"],[[9192,9192],\"valid\",[],\"NV8\"],[[9193,9203],\"valid\",[],\"NV8\"],[[9204,9210],\"valid\",[],\"NV8\"],[[9211,9215],\"disallowed\"],[[9216,9252],\"valid\",[],\"NV8\"],[[9253,9254],\"valid\",[],\"NV8\"],[[9255,9279],\"disallowed\"],[[9280,9290],\"valid\",[],\"NV8\"],[[9291,9311],\"disallowed\"],[[9312,9312],\"mapped\",[49]],[[9313,9313],\"mapped\",[50]],[[9314,9314],\"mapped\",[51]],[[9315,9315],\"mapped\",[52]],[[9316,9316],\"mapped\",[53]],[[9317,9317],\"mapped\",[54]],[[9318,9318],\"mapped\",[55]],[[9319,9319],\"mapped\",[56]],[[9320,9320],\"mapped\",[57]],[[9321,9321],\"mapped\",[49,48]],[[9322,9322],\"mapped\",[49,49]],[[9323,9323],\"mapped\",[49,50]],[[9324,9324],\"mapped\",[49,51]],[[9325,9325],\"mapped\",[49,52]],[[9326,9326],\"mapped\",[49,53]],[[9327,9327],\"mapped\",[49,54]],[[9328,9328],\"mapped\",[49,55]],[[9329,9329],\"mapped\",[49,56]],[[9330,9330],\"mapped\",[49,57]],[[9331,9331],\"mapped\",[50,48]],[[9332,9332],\"disallowed_STD3_mapped\",[40,49,41]],[[9333,9333],\"disallowed_STD3_mapped\",[40,50,41]],[[9334,9334],\"disallowed_STD3_mapped\",[40,51,41]],[[9335,9335],\"disallowed_STD3_mapped\",[40,52,41]],[[9336,9336],\"disallowed_STD3_mapped\",[40,53,41]],[[9337,9337],\"disallowed_STD3_mapped\",[40,54,41]],[[9338,9338],\"disallowed_STD3_mapped\",[40,55,41]],[[9339,9339],\"disallowed_STD3_mapped\",[40,56,41]],[[9340,9340],\"disallowed_STD3_mapped\",[40,57,41]],[[9341,9341],\"disallowed_STD3_mapped\",[40,49,48,41]],[[9342,9342],\"disallowed_STD3_mapped\",[40,49,49,41]],[[9343,9343],\"disallowed_STD3_mapped\",[40,49,50,41]],[[9344,9344],\"disallowed_STD3_mapped\",[40,49,51,41]],[[9345,9345],\"disallowed_STD3_mapped\",[40,49,52,41]],[[9346,9346],\"disallowed_STD3_mapped\",[40,49,53,41]],[[9347,9347],\"disallowed_STD3_mapped\",[40,49,54,41]],[[9348,9348],\"disallowed_STD3_mapped\",[40,49,55,41]],[[9349,9349],\"disallowed_STD3_mapped\",[40,49,56,41]],[[9350,9350],\"disallowed_STD3_mapped\",[40,49,57,41]],[[9351,9351],\"disallowed_STD3_mapped\",[40,50,48,41]],[[9352,9371],\"disallowed\"],[[9372,9372],\"disallowed_STD3_mapped\",[40,97,41]],[[9373,9373],\"disallowed_STD3_mapped\",[40,98,41]],[[9374,9374],\"disallowed_STD3_mapped\",[40,99,41]],[[9375,9375],\"disallowed_STD3_mapped\",[40,100,41]],[[9376,9376],\"disallowed_STD3_mapped\",[40,101,41]],[[9377,9377],\"disallowed_STD3_mapped\",[40,102,41]],[[9378,9378],\"disallowed_STD3_mapped\",[40,103,41]],[[9379,9379],\"disallowed_STD3_mapped\",[40,104,41]],[[9380,9380],\"disallowed_STD3_mapped\",[40,105,41]],[[9381,9381],\"disallowed_STD3_mapped\",[40,106,41]],[[9382,9382],\"disallowed_STD3_mapped\",[40,107,41]],[[9383,9383],\"disallowed_STD3_mapped\",[40,108,41]],[[9384,9384],\"disallowed_STD3_mapped\",[40,109,41]],[[9385,9385],\"disallowed_STD3_mapped\",[40,110,41]],[[9386,9386],\"disallowed_STD3_mapped\",[40,111,41]],[[9387,9387],\"disallowed_STD3_mapped\",[40,112,41]],[[9388,9388],\"disallowed_STD3_mapped\",[40,113,41]],[[9389,9389],\"disallowed_STD3_mapped\",[40,114,41]],[[9390,9390],\"disallowed_STD3_mapped\",[40,115,41]],[[9391,9391],\"disallowed_STD3_mapped\",[40,116,41]],[[9392,9392],\"disallowed_STD3_mapped\",[40,117,41]],[[9393,9393],\"disallowed_STD3_mapped\",[40,118,41]],[[9394,9394],\"disallowed_STD3_mapped\",[40,119,41]],[[9395,9395],\"disallowed_STD3_mapped\",[40,120,41]],[[9396,9396],\"disallowed_STD3_mapped\",[40,121,41]],[[9397,9397],\"disallowed_STD3_mapped\",[40,122,41]],[[9398,9398],\"mapped\",[97]],[[9399,9399],\"mapped\",[98]],[[9400,9400],\"mapped\",[99]],[[9401,9401],\"mapped\",[100]],[[9402,9402],\"mapped\",[101]],[[9403,9403],\"mapped\",[102]],[[9404,9404],\"mapped\",[103]],[[9405,9405],\"mapped\",[104]],[[9406,9406],\"mapped\",[105]],[[9407,9407],\"mapped\",[106]],[[9408,9408],\"mapped\",[107]],[[9409,9409],\"mapped\",[108]],[[9410,9410],\"mapped\",[109]],[[9411,9411],\"mapped\",[110]],[[9412,9412],\"mapped\",[111]],[[9413,9413],\"mapped\",[112]],[[9414,9414],\"mapped\",[113]],[[9415,9415],\"mapped\",[114]],[[9416,9416],\"mapped\",[115]],[[9417,9417],\"mapped\",[116]],[[9418,9418],\"mapped\",[117]],[[9419,9419],\"mapped\",[118]],[[9420,9420],\"mapped\",[119]],[[9421,9421],\"mapped\",[120]],[[9422,9422],\"mapped\",[121]],[[9423,9423],\"mapped\",[122]],[[9424,9424],\"mapped\",[97]],[[9425,9425],\"mapped\",[98]],[[9426,9426],\"mapped\",[99]],[[9427,9427],\"mapped\",[100]],[[9428,9428],\"mapped\",[101]],[[9429,9429],\"mapped\",[102]],[[9430,9430],\"mapped\",[103]],[[9431,9431],\"mapped\",[104]],[[9432,9432],\"mapped\",[105]],[[9433,9433],\"mapped\",[106]],[[9434,9434],\"mapped\",[107]],[[9435,9435],\"mapped\",[108]],[[9436,9436],\"mapped\",[109]],[[9437,9437],\"mapped\",[110]],[[9438,9438],\"mapped\",[111]],[[9439,9439],\"mapped\",[112]],[[9440,9440],\"mapped\",[113]],[[9441,9441],\"mapped\",[114]],[[9442,9442],\"mapped\",[115]],[[9443,9443],\"mapped\",[116]],[[9444,9444],\"mapped\",[117]],[[9445,9445],\"mapped\",[118]],[[9446,9446],\"mapped\",[119]],[[9447,9447],\"mapped\",[120]],[[9448,9448],\"mapped\",[121]],[[9449,9449],\"mapped\",[122]],[[9450,9450],\"mapped\",[48]],[[9451,9470],\"valid\",[],\"NV8\"],[[9471,9471],\"valid\",[],\"NV8\"],[[9472,9621],\"valid\",[],\"NV8\"],[[9622,9631],\"valid\",[],\"NV8\"],[[9632,9711],\"valid\",[],\"NV8\"],[[9712,9719],\"valid\",[],\"NV8\"],[[9720,9727],\"valid\",[],\"NV8\"],[[9728,9747],\"valid\",[],\"NV8\"],[[9748,9749],\"valid\",[],\"NV8\"],[[9750,9751],\"valid\",[],\"NV8\"],[[9752,9752],\"valid\",[],\"NV8\"],[[9753,9753],\"valid\",[],\"NV8\"],[[9754,9839],\"valid\",[],\"NV8\"],[[9840,9841],\"valid\",[],\"NV8\"],[[9842,9853],\"valid\",[],\"NV8\"],[[9854,9855],\"valid\",[],\"NV8\"],[[9856,9865],\"valid\",[],\"NV8\"],[[9866,9873],\"valid\",[],\"NV8\"],[[9874,9884],\"valid\",[],\"NV8\"],[[9885,9885],\"valid\",[],\"NV8\"],[[9886,9887],\"valid\",[],\"NV8\"],[[9888,9889],\"valid\",[],\"NV8\"],[[9890,9905],\"valid\",[],\"NV8\"],[[9906,9906],\"valid\",[],\"NV8\"],[[9907,9916],\"valid\",[],\"NV8\"],[[9917,9919],\"valid\",[],\"NV8\"],[[9920,9923],\"valid\",[],\"NV8\"],[[9924,9933],\"valid\",[],\"NV8\"],[[9934,9934],\"valid\",[],\"NV8\"],[[9935,9953],\"valid\",[],\"NV8\"],[[9954,9954],\"valid\",[],\"NV8\"],[[9955,9955],\"valid\",[],\"NV8\"],[[9956,9959],\"valid\",[],\"NV8\"],[[9960,9983],\"valid\",[],\"NV8\"],[[9984,9984],\"valid\",[],\"NV8\"],[[9985,9988],\"valid\",[],\"NV8\"],[[9989,9989],\"valid\",[],\"NV8\"],[[9990,9993],\"valid\",[],\"NV8\"],[[9994,9995],\"valid\",[],\"NV8\"],[[9996,10023],\"valid\",[],\"NV8\"],[[10024,10024],\"valid\",[],\"NV8\"],[[10025,10059],\"valid\",[],\"NV8\"],[[10060,10060],\"valid\",[],\"NV8\"],[[10061,10061],\"valid\",[],\"NV8\"],[[10062,10062],\"valid\",[],\"NV8\"],[[10063,10066],\"valid\",[],\"NV8\"],[[10067,10069],\"valid\",[],\"NV8\"],[[10070,10070],\"valid\",[],\"NV8\"],[[10071,10071],\"valid\",[],\"NV8\"],[[10072,10078],\"valid\",[],\"NV8\"],[[10079,10080],\"valid\",[],\"NV8\"],[[10081,10087],\"valid\",[],\"NV8\"],[[10088,10101],\"valid\",[],\"NV8\"],[[10102,10132],\"valid\",[],\"NV8\"],[[10133,10135],\"valid\",[],\"NV8\"],[[10136,10159],\"valid\",[],\"NV8\"],[[10160,10160],\"valid\",[],\"NV8\"],[[10161,10174],\"valid\",[],\"NV8\"],[[10175,10175],\"valid\",[],\"NV8\"],[[10176,10182],\"valid\",[],\"NV8\"],[[10183,10186],\"valid\",[],\"NV8\"],[[10187,10187],\"valid\",[],\"NV8\"],[[10188,10188],\"valid\",[],\"NV8\"],[[10189,10189],\"valid\",[],\"NV8\"],[[10190,10191],\"valid\",[],\"NV8\"],[[10192,10219],\"valid\",[],\"NV8\"],[[10220,10223],\"valid\",[],\"NV8\"],[[10224,10239],\"valid\",[],\"NV8\"],[[10240,10495],\"valid\",[],\"NV8\"],[[10496,10763],\"valid\",[],\"NV8\"],[[10764,10764],\"mapped\",[8747,8747,8747,8747]],[[10765,10867],\"valid\",[],\"NV8\"],[[10868,10868],\"disallowed_STD3_mapped\",[58,58,61]],[[10869,10869],\"disallowed_STD3_mapped\",[61,61]],[[10870,10870],\"disallowed_STD3_mapped\",[61,61,61]],[[10871,10971],\"valid\",[],\"NV8\"],[[10972,10972],\"mapped\",[10973,824]],[[10973,11007],\"valid\",[],\"NV8\"],[[11008,11021],\"valid\",[],\"NV8\"],[[11022,11027],\"valid\",[],\"NV8\"],[[11028,11034],\"valid\",[],\"NV8\"],[[11035,11039],\"valid\",[],\"NV8\"],[[11040,11043],\"valid\",[],\"NV8\"],[[11044,11084],\"valid\",[],\"NV8\"],[[11085,11087],\"valid\",[],\"NV8\"],[[11088,11092],\"valid\",[],\"NV8\"],[[11093,11097],\"valid\",[],\"NV8\"],[[11098,11123],\"valid\",[],\"NV8\"],[[11124,11125],\"disallowed\"],[[11126,11157],\"valid\",[],\"NV8\"],[[11158,11159],\"disallowed\"],[[11160,11193],\"valid\",[],\"NV8\"],[[11194,11196],\"disallowed\"],[[11197,11208],\"valid\",[],\"NV8\"],[[11209,11209],\"disallowed\"],[[11210,11217],\"valid\",[],\"NV8\"],[[11218,11243],\"disallowed\"],[[11244,11247],\"valid\",[],\"NV8\"],[[11248,11263],\"disallowed\"],[[11264,11264],\"mapped\",[11312]],[[11265,11265],\"mapped\",[11313]],[[11266,11266],\"mapped\",[11314]],[[11267,11267],\"mapped\",[11315]],[[11268,11268],\"mapped\",[11316]],[[11269,11269],\"mapped\",[11317]],[[11270,11270],\"mapped\",[11318]],[[11271,11271],\"mapped\",[11319]],[[11272,11272],\"mapped\",[11320]],[[11273,11273],\"mapped\",[11321]],[[11274,11274],\"mapped\",[11322]],[[11275,11275],\"mapped\",[11323]],[[11276,11276],\"mapped\",[11324]],[[11277,11277],\"mapped\",[11325]],[[11278,11278],\"mapped\",[11326]],[[11279,11279],\"mapped\",[11327]],[[11280,11280],\"mapped\",[11328]],[[11281,11281],\"mapped\",[11329]],[[11282,11282],\"mapped\",[11330]],[[11283,11283],\"mapped\",[11331]],[[11284,11284],\"mapped\",[11332]],[[11285,11285],\"mapped\",[11333]],[[11286,11286],\"mapped\",[11334]],[[11287,11287],\"mapped\",[11335]],[[11288,11288],\"mapped\",[11336]],[[11289,11289],\"mapped\",[11337]],[[11290,11290],\"mapped\",[11338]],[[11291,11291],\"mapped\",[11339]],[[11292,11292],\"mapped\",[11340]],[[11293,11293],\"mapped\",[11341]],[[11294,11294],\"mapped\",[11342]],[[11295,11295],\"mapped\",[11343]],[[11296,11296],\"mapped\",[11344]],[[11297,11297],\"mapped\",[11345]],[[11298,11298],\"mapped\",[11346]],[[11299,11299],\"mapped\",[11347]],[[11300,11300],\"mapped\",[11348]],[[11301,11301],\"mapped\",[11349]],[[11302,11302],\"mapped\",[11350]],[[11303,11303],\"mapped\",[11351]],[[11304,11304],\"mapped\",[11352]],[[11305,11305],\"mapped\",[11353]],[[11306,11306],\"mapped\",[11354]],[[11307,11307],\"mapped\",[11355]],[[11308,11308],\"mapped\",[11356]],[[11309,11309],\"mapped\",[11357]],[[11310,11310],\"mapped\",[11358]],[[11311,11311],\"disallowed\"],[[11312,11358],\"valid\"],[[11359,11359],\"disallowed\"],[[11360,11360],\"mapped\",[11361]],[[11361,11361],\"valid\"],[[11362,11362],\"mapped\",[619]],[[11363,11363],\"mapped\",[7549]],[[11364,11364],\"mapped\",[637]],[[11365,11366],\"valid\"],[[11367,11367],\"mapped\",[11368]],[[11368,11368],\"valid\"],[[11369,11369],\"mapped\",[11370]],[[11370,11370],\"valid\"],[[11371,11371],\"mapped\",[11372]],[[11372,11372],\"valid\"],[[11373,11373],\"mapped\",[593]],[[11374,11374],\"mapped\",[625]],[[11375,11375],\"mapped\",[592]],[[11376,11376],\"mapped\",[594]],[[11377,11377],\"valid\"],[[11378,11378],\"mapped\",[11379]],[[11379,11379],\"valid\"],[[11380,11380],\"valid\"],[[11381,11381],\"mapped\",[11382]],[[11382,11383],\"valid\"],[[11384,11387],\"valid\"],[[11388,11388],\"mapped\",[106]],[[11389,11389],\"mapped\",[118]],[[11390,11390],\"mapped\",[575]],[[11391,11391],\"mapped\",[576]],[[11392,11392],\"mapped\",[11393]],[[11393,11393],\"valid\"],[[11394,11394],\"mapped\",[11395]],[[11395,11395],\"valid\"],[[11396,11396],\"mapped\",[11397]],[[11397,11397],\"valid\"],[[11398,11398],\"mapped\",[11399]],[[11399,11399],\"valid\"],[[11400,11400],\"mapped\",[11401]],[[11401,11401],\"valid\"],[[11402,11402],\"mapped\",[11403]],[[11403,11403],\"valid\"],[[11404,11404],\"mapped\",[11405]],[[11405,11405],\"valid\"],[[11406,11406],\"mapped\",[11407]],[[11407,11407],\"valid\"],[[11408,11408],\"mapped\",[11409]],[[11409,11409],\"valid\"],[[11410,11410],\"mapped\",[11411]],[[11411,11411],\"valid\"],[[11412,11412],\"mapped\",[11413]],[[11413,11413],\"valid\"],[[11414,11414],\"mapped\",[11415]],[[11415,11415],\"valid\"],[[11416,11416],\"mapped\",[11417]],[[11417,11417],\"valid\"],[[11418,11418],\"mapped\",[11419]],[[11419,11419],\"valid\"],[[11420,11420],\"mapped\",[11421]],[[11421,11421],\"valid\"],[[11422,11422],\"mapped\",[11423]],[[11423,11423],\"valid\"],[[11424,11424],\"mapped\",[11425]],[[11425,11425],\"valid\"],[[11426,11426],\"mapped\",[11427]],[[11427,11427],\"valid\"],[[11428,11428],\"mapped\",[11429]],[[11429,11429],\"valid\"],[[11430,11430],\"mapped\",[11431]],[[11431,11431],\"valid\"],[[11432,11432],\"mapped\",[11433]],[[11433,11433],\"valid\"],[[11434,11434],\"mapped\",[11435]],[[11435,11435],\"valid\"],[[11436,11436],\"mapped\",[11437]],[[11437,11437],\"valid\"],[[11438,11438],\"mapped\",[11439]],[[11439,11439],\"valid\"],[[11440,11440],\"mapped\",[11441]],[[11441,11441],\"valid\"],[[11442,11442],\"mapped\",[11443]],[[11443,11443],\"valid\"],[[11444,11444],\"mapped\",[11445]],[[11445,11445],\"valid\"],[[11446,11446],\"mapped\",[11447]],[[11447,11447],\"valid\"],[[11448,11448],\"mapped\",[11449]],[[11449,11449],\"valid\"],[[11450,11450],\"mapped\",[11451]],[[11451,11451],\"valid\"],[[11452,11452],\"mapped\",[11453]],[[11453,11453],\"valid\"],[[11454,11454],\"mapped\",[11455]],[[11455,11455],\"valid\"],[[11456,11456],\"mapped\",[11457]],[[11457,11457],\"valid\"],[[11458,11458],\"mapped\",[11459]],[[11459,11459],\"valid\"],[[11460,11460],\"mapped\",[11461]],[[11461,11461],\"valid\"],[[11462,11462],\"mapped\",[11463]],[[11463,11463],\"valid\"],[[11464,11464],\"mapped\",[11465]],[[11465,11465],\"valid\"],[[11466,11466],\"mapped\",[11467]],[[11467,11467],\"valid\"],[[11468,11468],\"mapped\",[11469]],[[11469,11469],\"valid\"],[[11470,11470],\"mapped\",[11471]],[[11471,11471],\"valid\"],[[11472,11472],\"mapped\",[11473]],[[11473,11473],\"valid\"],[[11474,11474],\"mapped\",[11475]],[[11475,11475],\"valid\"],[[11476,11476],\"mapped\",[11477]],[[11477,11477],\"valid\"],[[11478,11478],\"mapped\",[11479]],[[11479,11479],\"valid\"],[[11480,11480],\"mapped\",[11481]],[[11481,11481],\"valid\"],[[11482,11482],\"mapped\",[11483]],[[11483,11483],\"valid\"],[[11484,11484],\"mapped\",[11485]],[[11485,11485],\"valid\"],[[11486,11486],\"mapped\",[11487]],[[11487,11487],\"valid\"],[[11488,11488],\"mapped\",[11489]],[[11489,11489],\"valid\"],[[11490,11490],\"mapped\",[11491]],[[11491,11492],\"valid\"],[[11493,11498],\"valid\",[],\"NV8\"],[[11499,11499],\"mapped\",[11500]],[[11500,11500],\"valid\"],[[11501,11501],\"mapped\",[11502]],[[11502,11505],\"valid\"],[[11506,11506],\"mapped\",[11507]],[[11507,11507],\"valid\"],[[11508,11512],\"disallowed\"],[[11513,11519],\"valid\",[],\"NV8\"],[[11520,11557],\"valid\"],[[11558,11558],\"disallowed\"],[[11559,11559],\"valid\"],[[11560,11564],\"disallowed\"],[[11565,11565],\"valid\"],[[11566,11567],\"disallowed\"],[[11568,11621],\"valid\"],[[11622,11623],\"valid\"],[[11624,11630],\"disallowed\"],[[11631,11631],\"mapped\",[11617]],[[11632,11632],\"valid\",[],\"NV8\"],[[11633,11646],\"disallowed\"],[[11647,11647],\"valid\"],[[11648,11670],\"valid\"],[[11671,11679],\"disallowed\"],[[11680,11686],\"valid\"],[[11687,11687],\"disallowed\"],[[11688,11694],\"valid\"],[[11695,11695],\"disallowed\"],[[11696,11702],\"valid\"],[[11703,11703],\"disallowed\"],[[11704,11710],\"valid\"],[[11711,11711],\"disallowed\"],[[11712,11718],\"valid\"],[[11719,11719],\"disallowed\"],[[11720,11726],\"valid\"],[[11727,11727],\"disallowed\"],[[11728,11734],\"valid\"],[[11735,11735],\"disallowed\"],[[11736,11742],\"valid\"],[[11743,11743],\"disallowed\"],[[11744,11775],\"valid\"],[[11776,11799],\"valid\",[],\"NV8\"],[[11800,11803],\"valid\",[],\"NV8\"],[[11804,11805],\"valid\",[],\"NV8\"],[[11806,11822],\"valid\",[],\"NV8\"],[[11823,11823],\"valid\"],[[11824,11824],\"valid\",[],\"NV8\"],[[11825,11825],\"valid\",[],\"NV8\"],[[11826,11835],\"valid\",[],\"NV8\"],[[11836,11842],\"valid\",[],\"NV8\"],[[11843,11903],\"disallowed\"],[[11904,11929],\"valid\",[],\"NV8\"],[[11930,11930],\"disallowed\"],[[11931,11934],\"valid\",[],\"NV8\"],[[11935,11935],\"mapped\",[27597]],[[11936,12018],\"valid\",[],\"NV8\"],[[12019,12019],\"mapped\",[40863]],[[12020,12031],\"disallowed\"],[[12032,12032],\"mapped\",[19968]],[[12033,12033],\"mapped\",[20008]],[[12034,12034],\"mapped\",[20022]],[[12035,12035],\"mapped\",[20031]],[[12036,12036],\"mapped\",[20057]],[[12037,12037],\"mapped\",[20101]],[[12038,12038],\"mapped\",[20108]],[[12039,12039],\"mapped\",[20128]],[[12040,12040],\"mapped\",[20154]],[[12041,12041],\"mapped\",[20799]],[[12042,12042],\"mapped\",[20837]],[[12043,12043],\"mapped\",[20843]],[[12044,12044],\"mapped\",[20866]],[[12045,12045],\"mapped\",[20886]],[[12046,12046],\"mapped\",[20907]],[[12047,12047],\"mapped\",[20960]],[[12048,12048],\"mapped\",[20981]],[[12049,12049],\"mapped\",[20992]],[[12050,12050],\"mapped\",[21147]],[[12051,12051],\"mapped\",[21241]],[[12052,12052],\"mapped\",[21269]],[[12053,12053],\"mapped\",[21274]],[[12054,12054],\"mapped\",[21304]],[[12055,12055],\"mapped\",[21313]],[[12056,12056],\"mapped\",[21340]],[[12057,12057],\"mapped\",[21353]],[[12058,12058],\"mapped\",[21378]],[[12059,12059],\"mapped\",[21430]],[[12060,12060],\"mapped\",[21448]],[[12061,12061],\"mapped\",[21475]],[[12062,12062],\"mapped\",[22231]],[[12063,12063],\"mapped\",[22303]],[[12064,12064],\"mapped\",[22763]],[[12065,12065],\"mapped\",[22786]],[[12066,12066],\"mapped\",[22794]],[[12067,12067],\"mapped\",[22805]],[[12068,12068],\"mapped\",[22823]],[[12069,12069],\"mapped\",[22899]],[[12070,12070],\"mapped\",[23376]],[[12071,12071],\"mapped\",[23424]],[[12072,12072],\"mapped\",[23544]],[[12073,12073],\"mapped\",[23567]],[[12074,12074],\"mapped\",[23586]],[[12075,12075],\"mapped\",[23608]],[[12076,12076],\"mapped\",[23662]],[[12077,12077],\"mapped\",[23665]],[[12078,12078],\"mapped\",[24027]],[[12079,12079],\"mapped\",[24037]],[[12080,12080],\"mapped\",[24049]],[[12081,12081],\"mapped\",[24062]],[[12082,12082],\"mapped\",[24178]],[[12083,12083],\"mapped\",[24186]],[[12084,12084],\"mapped\",[24191]],[[12085,12085],\"mapped\",[24308]],[[12086,12086],\"mapped\",[24318]],[[12087,12087],\"mapped\",[24331]],[[12088,12088],\"mapped\",[24339]],[[12089,12089],\"mapped\",[24400]],[[12090,12090],\"mapped\",[24417]],[[12091,12091],\"mapped\",[24435]],[[12092,12092],\"mapped\",[24515]],[[12093,12093],\"mapped\",[25096]],[[12094,12094],\"mapped\",[25142]],[[12095,12095],\"mapped\",[25163]],[[12096,12096],\"mapped\",[25903]],[[12097,12097],\"mapped\",[25908]],[[12098,12098],\"mapped\",[25991]],[[12099,12099],\"mapped\",[26007]],[[12100,12100],\"mapped\",[26020]],[[12101,12101],\"mapped\",[26041]],[[12102,12102],\"mapped\",[26080]],[[12103,12103],\"mapped\",[26085]],[[12104,12104],\"mapped\",[26352]],[[12105,12105],\"mapped\",[26376]],[[12106,12106],\"mapped\",[26408]],[[12107,12107],\"mapped\",[27424]],[[12108,12108],\"mapped\",[27490]],[[12109,12109],\"mapped\",[27513]],[[12110,12110],\"mapped\",[27571]],[[12111,12111],\"mapped\",[27595]],[[12112,12112],\"mapped\",[27604]],[[12113,12113],\"mapped\",[27611]],[[12114,12114],\"mapped\",[27663]],[[12115,12115],\"mapped\",[27668]],[[12116,12116],\"mapped\",[27700]],[[12117,12117],\"mapped\",[28779]],[[12118,12118],\"mapped\",[29226]],[[12119,12119],\"mapped\",[29238]],[[12120,12120],\"mapped\",[29243]],[[12121,12121],\"mapped\",[29247]],[[12122,12122],\"mapped\",[29255]],[[12123,12123],\"mapped\",[29273]],[[12124,12124],\"mapped\",[29275]],[[12125,12125],\"mapped\",[29356]],[[12126,12126],\"mapped\",[29572]],[[12127,12127],\"mapped\",[29577]],[[12128,12128],\"mapped\",[29916]],[[12129,12129],\"mapped\",[29926]],[[12130,12130],\"mapped\",[29976]],[[12131,12131],\"mapped\",[29983]],[[12132,12132],\"mapped\",[29992]],[[12133,12133],\"mapped\",[30000]],[[12134,12134],\"mapped\",[30091]],[[12135,12135],\"mapped\",[30098]],[[12136,12136],\"mapped\",[30326]],[[12137,12137],\"mapped\",[30333]],[[12138,12138],\"mapped\",[30382]],[[12139,12139],\"mapped\",[30399]],[[12140,12140],\"mapped\",[30446]],[[12141,12141],\"mapped\",[30683]],[[12142,12142],\"mapped\",[30690]],[[12143,12143],\"mapped\",[30707]],[[12144,12144],\"mapped\",[31034]],[[12145,12145],\"mapped\",[31160]],[[12146,12146],\"mapped\",[31166]],[[12147,12147],\"mapped\",[31348]],[[12148,12148],\"mapped\",[31435]],[[12149,12149],\"mapped\",[31481]],[[12150,12150],\"mapped\",[31859]],[[12151,12151],\"mapped\",[31992]],[[12152,12152],\"mapped\",[32566]],[[12153,12153],\"mapped\",[32593]],[[12154,12154],\"mapped\",[32650]],[[12155,12155],\"mapped\",[32701]],[[12156,12156],\"mapped\",[32769]],[[12157,12157],\"mapped\",[32780]],[[12158,12158],\"mapped\",[32786]],[[12159,12159],\"mapped\",[32819]],[[12160,12160],\"mapped\",[32895]],[[12161,12161],\"mapped\",[32905]],[[12162,12162],\"mapped\",[33251]],[[12163,12163],\"mapped\",[33258]],[[12164,12164],\"mapped\",[33267]],[[12165,12165],\"mapped\",[33276]],[[12166,12166],\"mapped\",[33292]],[[12167,12167],\"mapped\",[33307]],[[12168,12168],\"mapped\",[33311]],[[12169,12169],\"mapped\",[33390]],[[12170,12170],\"mapped\",[33394]],[[12171,12171],\"mapped\",[33400]],[[12172,12172],\"mapped\",[34381]],[[12173,12173],\"mapped\",[34411]],[[12174,12174],\"mapped\",[34880]],[[12175,12175],\"mapped\",[34892]],[[12176,12176],\"mapped\",[34915]],[[12177,12177],\"mapped\",[35198]],[[12178,12178],\"mapped\",[35211]],[[12179,12179],\"mapped\",[35282]],[[12180,12180],\"mapped\",[35328]],[[12181,12181],\"mapped\",[35895]],[[12182,12182],\"mapped\",[35910]],[[12183,12183],\"mapped\",[35925]],[[12184,12184],\"mapped\",[35960]],[[12185,12185],\"mapped\",[35997]],[[12186,12186],\"mapped\",[36196]],[[12187,12187],\"mapped\",[36208]],[[12188,12188],\"mapped\",[36275]],[[12189,12189],\"mapped\",[36523]],[[12190,12190],\"mapped\",[36554]],[[12191,12191],\"mapped\",[36763]],[[12192,12192],\"mapped\",[36784]],[[12193,12193],\"mapped\",[36789]],[[12194,12194],\"mapped\",[37009]],[[12195,12195],\"mapped\",[37193]],[[12196,12196],\"mapped\",[37318]],[[12197,12197],\"mapped\",[37324]],[[12198,12198],\"mapped\",[37329]],[[12199,12199],\"mapped\",[38263]],[[12200,12200],\"mapped\",[38272]],[[12201,12201],\"mapped\",[38428]],[[12202,12202],\"mapped\",[38582]],[[12203,12203],\"mapped\",[38585]],[[12204,12204],\"mapped\",[38632]],[[12205,12205],\"mapped\",[38737]],[[12206,12206],\"mapped\",[38750]],[[12207,12207],\"mapped\",[38754]],[[12208,12208],\"mapped\",[38761]],[[12209,12209],\"mapped\",[38859]],[[12210,12210],\"mapped\",[38893]],[[12211,12211],\"mapped\",[38899]],[[12212,12212],\"mapped\",[38913]],[[12213,12213],\"mapped\",[39080]],[[12214,12214],\"mapped\",[39131]],[[12215,12215],\"mapped\",[39135]],[[12216,12216],\"mapped\",[39318]],[[12217,12217],\"mapped\",[39321]],[[12218,12218],\"mapped\",[39340]],[[12219,12219],\"mapped\",[39592]],[[12220,12220],\"mapped\",[39640]],[[12221,12221],\"mapped\",[39647]],[[12222,12222],\"mapped\",[39717]],[[12223,12223],\"mapped\",[39727]],[[12224,12224],\"mapped\",[39730]],[[12225,12225],\"mapped\",[39740]],[[12226,12226],\"mapped\",[39770]],[[12227,12227],\"mapped\",[40165]],[[12228,12228],\"mapped\",[40565]],[[12229,12229],\"mapped\",[40575]],[[12230,12230],\"mapped\",[40613]],[[12231,12231],\"mapped\",[40635]],[[12232,12232],\"mapped\",[40643]],[[12233,12233],\"mapped\",[40653]],[[12234,12234],\"mapped\",[40657]],[[12235,12235],\"mapped\",[40697]],[[12236,12236],\"mapped\",[40701]],[[12237,12237],\"mapped\",[40718]],[[12238,12238],\"mapped\",[40723]],[[12239,12239],\"mapped\",[40736]],[[12240,12240],\"mapped\",[40763]],[[12241,12241],\"mapped\",[40778]],[[12242,12242],\"mapped\",[40786]],[[12243,12243],\"mapped\",[40845]],[[12244,12244],\"mapped\",[40860]],[[12245,12245],\"mapped\",[40864]],[[12246,12271],\"disallowed\"],[[12272,12283],\"disallowed\"],[[12284,12287],\"disallowed\"],[[12288,12288],\"disallowed_STD3_mapped\",[32]],[[12289,12289],\"valid\",[],\"NV8\"],[[12290,12290],\"mapped\",[46]],[[12291,12292],\"valid\",[],\"NV8\"],[[12293,12295],\"valid\"],[[12296,12329],\"valid\",[],\"NV8\"],[[12330,12333],\"valid\"],[[12334,12341],\"valid\",[],\"NV8\"],[[12342,12342],\"mapped\",[12306]],[[12343,12343],\"valid\",[],\"NV8\"],[[12344,12344],\"mapped\",[21313]],[[12345,12345],\"mapped\",[21316]],[[12346,12346],\"mapped\",[21317]],[[12347,12347],\"valid\",[],\"NV8\"],[[12348,12348],\"valid\"],[[12349,12349],\"valid\",[],\"NV8\"],[[12350,12350],\"valid\",[],\"NV8\"],[[12351,12351],\"valid\",[],\"NV8\"],[[12352,12352],\"disallowed\"],[[12353,12436],\"valid\"],[[12437,12438],\"valid\"],[[12439,12440],\"disallowed\"],[[12441,12442],\"valid\"],[[12443,12443],\"disallowed_STD3_mapped\",[32,12441]],[[12444,12444],\"disallowed_STD3_mapped\",[32,12442]],[[12445,12446],\"valid\"],[[12447,12447],\"mapped\",[12424,12426]],[[12448,12448],\"valid\",[],\"NV8\"],[[12449,12542],\"valid\"],[[12543,12543],\"mapped\",[12467,12488]],[[12544,12548],\"disallowed\"],[[12549,12588],\"valid\"],[[12589,12589],\"valid\"],[[12590,12592],\"disallowed\"],[[12593,12593],\"mapped\",[4352]],[[12594,12594],\"mapped\",[4353]],[[12595,12595],\"mapped\",[4522]],[[12596,12596],\"mapped\",[4354]],[[12597,12597],\"mapped\",[4524]],[[12598,12598],\"mapped\",[4525]],[[12599,12599],\"mapped\",[4355]],[[12600,12600],\"mapped\",[4356]],[[12601,12601],\"mapped\",[4357]],[[12602,12602],\"mapped\",[4528]],[[12603,12603],\"mapped\",[4529]],[[12604,12604],\"mapped\",[4530]],[[12605,12605],\"mapped\",[4531]],[[12606,12606],\"mapped\",[4532]],[[12607,12607],\"mapped\",[4533]],[[12608,12608],\"mapped\",[4378]],[[12609,12609],\"mapped\",[4358]],[[12610,12610],\"mapped\",[4359]],[[12611,12611],\"mapped\",[4360]],[[12612,12612],\"mapped\",[4385]],[[12613,12613],\"mapped\",[4361]],[[12614,12614],\"mapped\",[4362]],[[12615,12615],\"mapped\",[4363]],[[12616,12616],\"mapped\",[4364]],[[12617,12617],\"mapped\",[4365]],[[12618,12618],\"mapped\",[4366]],[[12619,12619],\"mapped\",[4367]],[[12620,12620],\"mapped\",[4368]],[[12621,12621],\"mapped\",[4369]],[[12622,12622],\"mapped\",[4370]],[[12623,12623],\"mapped\",[4449]],[[12624,12624],\"mapped\",[4450]],[[12625,12625],\"mapped\",[4451]],[[12626,12626],\"mapped\",[4452]],[[12627,12627],\"mapped\",[4453]],[[12628,12628],\"mapped\",[4454]],[[12629,12629],\"mapped\",[4455]],[[12630,12630],\"mapped\",[4456]],[[12631,12631],\"mapped\",[4457]],[[12632,12632],\"mapped\",[4458]],[[12633,12633],\"mapped\",[4459]],[[12634,12634],\"mapped\",[4460]],[[12635,12635],\"mapped\",[4461]],[[12636,12636],\"mapped\",[4462]],[[12637,12637],\"mapped\",[4463]],[[12638,12638],\"mapped\",[4464]],[[12639,12639],\"mapped\",[4465]],[[12640,12640],\"mapped\",[4466]],[[12641,12641],\"mapped\",[4467]],[[12642,12642],\"mapped\",[4468]],[[12643,12643],\"mapped\",[4469]],[[12644,12644],\"disallowed\"],[[12645,12645],\"mapped\",[4372]],[[12646,12646],\"mapped\",[4373]],[[12647,12647],\"mapped\",[4551]],[[12648,12648],\"mapped\",[4552]],[[12649,12649],\"mapped\",[4556]],[[12650,12650],\"mapped\",[4558]],[[12651,12651],\"mapped\",[4563]],[[12652,12652],\"mapped\",[4567]],[[12653,12653],\"mapped\",[4569]],[[12654,12654],\"mapped\",[4380]],[[12655,12655],\"mapped\",[4573]],[[12656,12656],\"mapped\",[4575]],[[12657,12657],\"mapped\",[4381]],[[12658,12658],\"mapped\",[4382]],[[12659,12659],\"mapped\",[4384]],[[12660,12660],\"mapped\",[4386]],[[12661,12661],\"mapped\",[4387]],[[12662,12662],\"mapped\",[4391]],[[12663,12663],\"mapped\",[4393]],[[12664,12664],\"mapped\",[4395]],[[12665,12665],\"mapped\",[4396]],[[12666,12666],\"mapped\",[4397]],[[12667,12667],\"mapped\",[4398]],[[12668,12668],\"mapped\",[4399]],[[12669,12669],\"mapped\",[4402]],[[12670,12670],\"mapped\",[4406]],[[12671,12671],\"mapped\",[4416]],[[12672,12672],\"mapped\",[4423]],[[12673,12673],\"mapped\",[4428]],[[12674,12674],\"mapped\",[4593]],[[12675,12675],\"mapped\",[4594]],[[12676,12676],\"mapped\",[4439]],[[12677,12677],\"mapped\",[4440]],[[12678,12678],\"mapped\",[4441]],[[12679,12679],\"mapped\",[4484]],[[12680,12680],\"mapped\",[4485]],[[12681,12681],\"mapped\",[4488]],[[12682,12682],\"mapped\",[4497]],[[12683,12683],\"mapped\",[4498]],[[12684,12684],\"mapped\",[4500]],[[12685,12685],\"mapped\",[4510]],[[12686,12686],\"mapped\",[4513]],[[12687,12687],\"disallowed\"],[[12688,12689],\"valid\",[],\"NV8\"],[[12690,12690],\"mapped\",[19968]],[[12691,12691],\"mapped\",[20108]],[[12692,12692],\"mapped\",[19977]],[[12693,12693],\"mapped\",[22235]],[[12694,12694],\"mapped\",[19978]],[[12695,12695],\"mapped\",[20013]],[[12696,12696],\"mapped\",[19979]],[[12697,12697],\"mapped\",[30002]],[[12698,12698],\"mapped\",[20057]],[[12699,12699],\"mapped\",[19993]],[[12700,12700],\"mapped\",[19969]],[[12701,12701],\"mapped\",[22825]],[[12702,12702],\"mapped\",[22320]],[[12703,12703],\"mapped\",[20154]],[[12704,12727],\"valid\"],[[12728,12730],\"valid\"],[[12731,12735],\"disallowed\"],[[12736,12751],\"valid\",[],\"NV8\"],[[12752,12771],\"valid\",[],\"NV8\"],[[12772,12783],\"disallowed\"],[[12784,12799],\"valid\"],[[12800,12800],\"disallowed_STD3_mapped\",[40,4352,41]],[[12801,12801],\"disallowed_STD3_mapped\",[40,4354,41]],[[12802,12802],\"disallowed_STD3_mapped\",[40,4355,41]],[[12803,12803],\"disallowed_STD3_mapped\",[40,4357,41]],[[12804,12804],\"disallowed_STD3_mapped\",[40,4358,41]],[[12805,12805],\"disallowed_STD3_mapped\",[40,4359,41]],[[12806,12806],\"disallowed_STD3_mapped\",[40,4361,41]],[[12807,12807],\"disallowed_STD3_mapped\",[40,4363,41]],[[12808,12808],\"disallowed_STD3_mapped\",[40,4364,41]],[[12809,12809],\"disallowed_STD3_mapped\",[40,4366,41]],[[12810,12810],\"disallowed_STD3_mapped\",[40,4367,41]],[[12811,12811],\"disallowed_STD3_mapped\",[40,4368,41]],[[12812,12812],\"disallowed_STD3_mapped\",[40,4369,41]],[[12813,12813],\"disallowed_STD3_mapped\",[40,4370,41]],[[12814,12814],\"disallowed_STD3_mapped\",[40,44032,41]],[[12815,12815],\"disallowed_STD3_mapped\",[40,45208,41]],[[12816,12816],\"disallowed_STD3_mapped\",[40,45796,41]],[[12817,12817],\"disallowed_STD3_mapped\",[40,46972,41]],[[12818,12818],\"disallowed_STD3_mapped\",[40,47560,41]],[[12819,12819],\"disallowed_STD3_mapped\",[40,48148,41]],[[12820,12820],\"disallowed_STD3_mapped\",[40,49324,41]],[[12821,12821],\"disallowed_STD3_mapped\",[40,50500,41]],[[12822,12822],\"disallowed_STD3_mapped\",[40,51088,41]],[[12823,12823],\"disallowed_STD3_mapped\",[40,52264,41]],[[12824,12824],\"disallowed_STD3_mapped\",[40,52852,41]],[[12825,12825],\"disallowed_STD3_mapped\",[40,53440,41]],[[12826,12826],\"disallowed_STD3_mapped\",[40,54028,41]],[[12827,12827],\"disallowed_STD3_mapped\",[40,54616,41]],[[12828,12828],\"disallowed_STD3_mapped\",[40,51452,41]],[[12829,12829],\"disallowed_STD3_mapped\",[40,50724,51204,41]],[[12830,12830],\"disallowed_STD3_mapped\",[40,50724,54980,41]],[[12831,12831],\"disallowed\"],[[12832,12832],\"disallowed_STD3_mapped\",[40,19968,41]],[[12833,12833],\"disallowed_STD3_mapped\",[40,20108,41]],[[12834,12834],\"disallowed_STD3_mapped\",[40,19977,41]],[[12835,12835],\"disallowed_STD3_mapped\",[40,22235,41]],[[12836,12836],\"disallowed_STD3_mapped\",[40,20116,41]],[[12837,12837],\"disallowed_STD3_mapped\",[40,20845,41]],[[12838,12838],\"disallowed_STD3_mapped\",[40,19971,41]],[[12839,12839],\"disallowed_STD3_mapped\",[40,20843,41]],[[12840,12840],\"disallowed_STD3_mapped\",[40,20061,41]],[[12841,12841],\"disallowed_STD3_mapped\",[40,21313,41]],[[12842,12842],\"disallowed_STD3_mapped\",[40,26376,41]],[[12843,12843],\"disallowed_STD3_mapped\",[40,28779,41]],[[12844,12844],\"disallowed_STD3_mapped\",[40,27700,41]],[[12845,12845],\"disallowed_STD3_mapped\",[40,26408,41]],[[12846,12846],\"disallowed_STD3_mapped\",[40,37329,41]],[[12847,12847],\"disallowed_STD3_mapped\",[40,22303,41]],[[12848,12848],\"disallowed_STD3_mapped\",[40,26085,41]],[[12849,12849],\"disallowed_STD3_mapped\",[40,26666,41]],[[12850,12850],\"disallowed_STD3_mapped\",[40,26377,41]],[[12851,12851],\"disallowed_STD3_mapped\",[40,31038,41]],[[12852,12852],\"disallowed_STD3_mapped\",[40,21517,41]],[[12853,12853],\"disallowed_STD3_mapped\",[40,29305,41]],[[12854,12854],\"disallowed_STD3_mapped\",[40,36001,41]],[[12855,12855],\"disallowed_STD3_mapped\",[40,31069,41]],[[12856,12856],\"disallowed_STD3_mapped\",[40,21172,41]],[[12857,12857],\"disallowed_STD3_mapped\",[40,20195,41]],[[12858,12858],\"disallowed_STD3_mapped\",[40,21628,41]],[[12859,12859],\"disallowed_STD3_mapped\",[40,23398,41]],[[12860,12860],\"disallowed_STD3_mapped\",[40,30435,41]],[[12861,12861],\"disallowed_STD3_mapped\",[40,20225,41]],[[12862,12862],\"disallowed_STD3_mapped\",[40,36039,41]],[[12863,12863],\"disallowed_STD3_mapped\",[40,21332,41]],[[12864,12864],\"disallowed_STD3_mapped\",[40,31085,41]],[[12865,12865],\"disallowed_STD3_mapped\",[40,20241,41]],[[12866,12866],\"disallowed_STD3_mapped\",[40,33258,41]],[[12867,12867],\"disallowed_STD3_mapped\",[40,33267,41]],[[12868,12868],\"mapped\",[21839]],[[12869,12869],\"mapped\",[24188]],[[12870,12870],\"mapped\",[25991]],[[12871,12871],\"mapped\",[31631]],[[12872,12879],\"valid\",[],\"NV8\"],[[12880,12880],\"mapped\",[112,116,101]],[[12881,12881],\"mapped\",[50,49]],[[12882,12882],\"mapped\",[50,50]],[[12883,12883],\"mapped\",[50,51]],[[12884,12884],\"mapped\",[50,52]],[[12885,12885],\"mapped\",[50,53]],[[12886,12886],\"mapped\",[50,54]],[[12887,12887],\"mapped\",[50,55]],[[12888,12888],\"mapped\",[50,56]],[[12889,12889],\"mapped\",[50,57]],[[12890,12890],\"mapped\",[51,48]],[[12891,12891],\"mapped\",[51,49]],[[12892,12892],\"mapped\",[51,50]],[[12893,12893],\"mapped\",[51,51]],[[12894,12894],\"mapped\",[51,52]],[[12895,12895],\"mapped\",[51,53]],[[12896,12896],\"mapped\",[4352]],[[12897,12897],\"mapped\",[4354]],[[12898,12898],\"mapped\",[4355]],[[12899,12899],\"mapped\",[4357]],[[12900,12900],\"mapped\",[4358]],[[12901,12901],\"mapped\",[4359]],[[12902,12902],\"mapped\",[4361]],[[12903,12903],\"mapped\",[4363]],[[12904,12904],\"mapped\",[4364]],[[12905,12905],\"mapped\",[4366]],[[12906,12906],\"mapped\",[4367]],[[12907,12907],\"mapped\",[4368]],[[12908,12908],\"mapped\",[4369]],[[12909,12909],\"mapped\",[4370]],[[12910,12910],\"mapped\",[44032]],[[12911,12911],\"mapped\",[45208]],[[12912,12912],\"mapped\",[45796]],[[12913,12913],\"mapped\",[46972]],[[12914,12914],\"mapped\",[47560]],[[12915,12915],\"mapped\",[48148]],[[12916,12916],\"mapped\",[49324]],[[12917,12917],\"mapped\",[50500]],[[12918,12918],\"mapped\",[51088]],[[12919,12919],\"mapped\",[52264]],[[12920,12920],\"mapped\",[52852]],[[12921,12921],\"mapped\",[53440]],[[12922,12922],\"mapped\",[54028]],[[12923,12923],\"mapped\",[54616]],[[12924,12924],\"mapped\",[52280,44256]],[[12925,12925],\"mapped\",[51452,51032]],[[12926,12926],\"mapped\",[50864]],[[12927,12927],\"valid\",[],\"NV8\"],[[12928,12928],\"mapped\",[19968]],[[12929,12929],\"mapped\",[20108]],[[12930,12930],\"mapped\",[19977]],[[12931,12931],\"mapped\",[22235]],[[12932,12932],\"mapped\",[20116]],[[12933,12933],\"mapped\",[20845]],[[12934,12934],\"mapped\",[19971]],[[12935,12935],\"mapped\",[20843]],[[12936,12936],\"mapped\",[20061]],[[12937,12937],\"mapped\",[21313]],[[12938,12938],\"mapped\",[26376]],[[12939,12939],\"mapped\",[28779]],[[12940,12940],\"mapped\",[27700]],[[12941,12941],\"mapped\",[26408]],[[12942,12942],\"mapped\",[37329]],[[12943,12943],\"mapped\",[22303]],[[12944,12944],\"mapped\",[26085]],[[12945,12945],\"mapped\",[26666]],[[12946,12946],\"mapped\",[26377]],[[12947,12947],\"mapped\",[31038]],[[12948,12948],\"mapped\",[21517]],[[12949,12949],\"mapped\",[29305]],[[12950,12950],\"mapped\",[36001]],[[12951,12951],\"mapped\",[31069]],[[12952,12952],\"mapped\",[21172]],[[12953,12953],\"mapped\",[31192]],[[12954,12954],\"mapped\",[30007]],[[12955,12955],\"mapped\",[22899]],[[12956,12956],\"mapped\",[36969]],[[12957,12957],\"mapped\",[20778]],[[12958,12958],\"mapped\",[21360]],[[12959,12959],\"mapped\",[27880]],[[12960,12960],\"mapped\",[38917]],[[12961,12961],\"mapped\",[20241]],[[12962,12962],\"mapped\",[20889]],[[12963,12963],\"mapped\",[27491]],[[12964,12964],\"mapped\",[19978]],[[12965,12965],\"mapped\",[20013]],[[12966,12966],\"mapped\",[19979]],[[12967,12967],\"mapped\",[24038]],[[12968,12968],\"mapped\",[21491]],[[12969,12969],\"mapped\",[21307]],[[12970,12970],\"mapped\",[23447]],[[12971,12971],\"mapped\",[23398]],[[12972,12972],\"mapped\",[30435]],[[12973,12973],\"mapped\",[20225]],[[12974,12974],\"mapped\",[36039]],[[12975,12975],\"mapped\",[21332]],[[12976,12976],\"mapped\",[22812]],[[12977,12977],\"mapped\",[51,54]],[[12978,12978],\"mapped\",[51,55]],[[12979,12979],\"mapped\",[51,56]],[[12980,12980],\"mapped\",[51,57]],[[12981,12981],\"mapped\",[52,48]],[[12982,12982],\"mapped\",[52,49]],[[12983,12983],\"mapped\",[52,50]],[[12984,12984],\"mapped\",[52,51]],[[12985,12985],\"mapped\",[52,52]],[[12986,12986],\"mapped\",[52,53]],[[12987,12987],\"mapped\",[52,54]],[[12988,12988],\"mapped\",[52,55]],[[12989,12989],\"mapped\",[52,56]],[[12990,12990],\"mapped\",[52,57]],[[12991,12991],\"mapped\",[53,48]],[[12992,12992],\"mapped\",[49,26376]],[[12993,12993],\"mapped\",[50,26376]],[[12994,12994],\"mapped\",[51,26376]],[[12995,12995],\"mapped\",[52,26376]],[[12996,12996],\"mapped\",[53,26376]],[[12997,12997],\"mapped\",[54,26376]],[[12998,12998],\"mapped\",[55,26376]],[[12999,12999],\"mapped\",[56,26376]],[[13000,13000],\"mapped\",[57,26376]],[[13001,13001],\"mapped\",[49,48,26376]],[[13002,13002],\"mapped\",[49,49,26376]],[[13003,13003],\"mapped\",[49,50,26376]],[[13004,13004],\"mapped\",[104,103]],[[13005,13005],\"mapped\",[101,114,103]],[[13006,13006],\"mapped\",[101,118]],[[13007,13007],\"mapped\",[108,116,100]],[[13008,13008],\"mapped\",[12450]],[[13009,13009],\"mapped\",[12452]],[[13010,13010],\"mapped\",[12454]],[[13011,13011],\"mapped\",[12456]],[[13012,13012],\"mapped\",[12458]],[[13013,13013],\"mapped\",[12459]],[[13014,13014],\"mapped\",[12461]],[[13015,13015],\"mapped\",[12463]],[[13016,13016],\"mapped\",[12465]],[[13017,13017],\"mapped\",[12467]],[[13018,13018],\"mapped\",[12469]],[[13019,13019],\"mapped\",[12471]],[[13020,13020],\"mapped\",[12473]],[[13021,13021],\"mapped\",[12475]],[[13022,13022],\"mapped\",[12477]],[[13023,13023],\"mapped\",[12479]],[[13024,13024],\"mapped\",[12481]],[[13025,13025],\"mapped\",[12484]],[[13026,13026],\"mapped\",[12486]],[[13027,13027],\"mapped\",[12488]],[[13028,13028],\"mapped\",[12490]],[[13029,13029],\"mapped\",[12491]],[[13030,13030],\"mapped\",[12492]],[[13031,13031],\"mapped\",[12493]],[[13032,13032],\"mapped\",[12494]],[[13033,13033],\"mapped\",[12495]],[[13034,13034],\"mapped\",[12498]],[[13035,13035],\"mapped\",[12501]],[[13036,13036],\"mapped\",[12504]],[[13037,13037],\"mapped\",[12507]],[[13038,13038],\"mapped\",[12510]],[[13039,13039],\"mapped\",[12511]],[[13040,13040],\"mapped\",[12512]],[[13041,13041],\"mapped\",[12513]],[[13042,13042],\"mapped\",[12514]],[[13043,13043],\"mapped\",[12516]],[[13044,13044],\"mapped\",[12518]],[[13045,13045],\"mapped\",[12520]],[[13046,13046],\"mapped\",[12521]],[[13047,13047],\"mapped\",[12522]],[[13048,13048],\"mapped\",[12523]],[[13049,13049],\"mapped\",[12524]],[[13050,13050],\"mapped\",[12525]],[[13051,13051],\"mapped\",[12527]],[[13052,13052],\"mapped\",[12528]],[[13053,13053],\"mapped\",[12529]],[[13054,13054],\"mapped\",[12530]],[[13055,13055],\"disallowed\"],[[13056,13056],\"mapped\",[12450,12497,12540,12488]],[[13057,13057],\"mapped\",[12450,12523,12501,12449]],[[13058,13058],\"mapped\",[12450,12531,12506,12450]],[[13059,13059],\"mapped\",[12450,12540,12523]],[[13060,13060],\"mapped\",[12452,12491,12531,12464]],[[13061,13061],\"mapped\",[12452,12531,12481]],[[13062,13062],\"mapped\",[12454,12457,12531]],[[13063,13063],\"mapped\",[12456,12473,12463,12540,12489]],[[13064,13064],\"mapped\",[12456,12540,12459,12540]],[[13065,13065],\"mapped\",[12458,12531,12473]],[[13066,13066],\"mapped\",[12458,12540,12512]],[[13067,13067],\"mapped\",[12459,12452,12522]],[[13068,13068],\"mapped\",[12459,12521,12483,12488]],[[13069,13069],\"mapped\",[12459,12525,12522,12540]],[[13070,13070],\"mapped\",[12460,12525,12531]],[[13071,13071],\"mapped\",[12460,12531,12510]],[[13072,13072],\"mapped\",[12462,12460]],[[13073,13073],\"mapped\",[12462,12491,12540]],[[13074,13074],\"mapped\",[12461,12517,12522,12540]],[[13075,13075],\"mapped\",[12462,12523,12480,12540]],[[13076,13076],\"mapped\",[12461,12525]],[[13077,13077],\"mapped\",[12461,12525,12464,12521,12512]],[[13078,13078],\"mapped\",[12461,12525,12513,12540,12488,12523]],[[13079,13079],\"mapped\",[12461,12525,12527,12483,12488]],[[13080,13080],\"mapped\",[12464,12521,12512]],[[13081,13081],\"mapped\",[12464,12521,12512,12488,12531]],[[13082,13082],\"mapped\",[12463,12523,12476,12452,12525]],[[13083,13083],\"mapped\",[12463,12525,12540,12493]],[[13084,13084],\"mapped\",[12465,12540,12473]],[[13085,13085],\"mapped\",[12467,12523,12490]],[[13086,13086],\"mapped\",[12467,12540,12509]],[[13087,13087],\"mapped\",[12469,12452,12463,12523]],[[13088,13088],\"mapped\",[12469,12531,12481,12540,12512]],[[13089,13089],\"mapped\",[12471,12522,12531,12464]],[[13090,13090],\"mapped\",[12475,12531,12481]],[[13091,13091],\"mapped\",[12475,12531,12488]],[[13092,13092],\"mapped\",[12480,12540,12473]],[[13093,13093],\"mapped\",[12487,12471]],[[13094,13094],\"mapped\",[12489,12523]],[[13095,13095],\"mapped\",[12488,12531]],[[13096,13096],\"mapped\",[12490,12494]],[[13097,13097],\"mapped\",[12494,12483,12488]],[[13098,13098],\"mapped\",[12495,12452,12484]],[[13099,13099],\"mapped\",[12497,12540,12475,12531,12488]],[[13100,13100],\"mapped\",[12497,12540,12484]],[[13101,13101],\"mapped\",[12496,12540,12524,12523]],[[13102,13102],\"mapped\",[12500,12450,12473,12488,12523]],[[13103,13103],\"mapped\",[12500,12463,12523]],[[13104,13104],\"mapped\",[12500,12467]],[[13105,13105],\"mapped\",[12499,12523]],[[13106,13106],\"mapped\",[12501,12449,12521,12483,12489]],[[13107,13107],\"mapped\",[12501,12451,12540,12488]],[[13108,13108],\"mapped\",[12502,12483,12471,12455,12523]],[[13109,13109],\"mapped\",[12501,12521,12531]],[[13110,13110],\"mapped\",[12504,12463,12479,12540,12523]],[[13111,13111],\"mapped\",[12506,12477]],[[13112,13112],\"mapped\",[12506,12491,12498]],[[13113,13113],\"mapped\",[12504,12523,12484]],[[13114,13114],\"mapped\",[12506,12531,12473]],[[13115,13115],\"mapped\",[12506,12540,12472]],[[13116,13116],\"mapped\",[12505,12540,12479]],[[13117,13117],\"mapped\",[12509,12452,12531,12488]],[[13118,13118],\"mapped\",[12508,12523,12488]],[[13119,13119],\"mapped\",[12507,12531]],[[13120,13120],\"mapped\",[12509,12531,12489]],[[13121,13121],\"mapped\",[12507,12540,12523]],[[13122,13122],\"mapped\",[12507,12540,12531]],[[13123,13123],\"mapped\",[12510,12452,12463,12525]],[[13124,13124],\"mapped\",[12510,12452,12523]],[[13125,13125],\"mapped\",[12510,12483,12495]],[[13126,13126],\"mapped\",[12510,12523,12463]],[[13127,13127],\"mapped\",[12510,12531,12471,12519,12531]],[[13128,13128],\"mapped\",[12511,12463,12525,12531]],[[13129,13129],\"mapped\",[12511,12522]],[[13130,13130],\"mapped\",[12511,12522,12496,12540,12523]],[[13131,13131],\"mapped\",[12513,12460]],[[13132,13132],\"mapped\",[12513,12460,12488,12531]],[[13133,13133],\"mapped\",[12513,12540,12488,12523]],[[13134,13134],\"mapped\",[12516,12540,12489]],[[13135,13135],\"mapped\",[12516,12540,12523]],[[13136,13136],\"mapped\",[12518,12450,12531]],[[13137,13137],\"mapped\",[12522,12483,12488,12523]],[[13138,13138],\"mapped\",[12522,12521]],[[13139,13139],\"mapped\",[12523,12500,12540]],[[13140,13140],\"mapped\",[12523,12540,12502,12523]],[[13141,13141],\"mapped\",[12524,12512]],[[13142,13142],\"mapped\",[12524,12531,12488,12466,12531]],[[13143,13143],\"mapped\",[12527,12483,12488]],[[13144,13144],\"mapped\",[48,28857]],[[13145,13145],\"mapped\",[49,28857]],[[13146,13146],\"mapped\",[50,28857]],[[13147,13147],\"mapped\",[51,28857]],[[13148,13148],\"mapped\",[52,28857]],[[13149,13149],\"mapped\",[53,28857]],[[13150,13150],\"mapped\",[54,28857]],[[13151,13151],\"mapped\",[55,28857]],[[13152,13152],\"mapped\",[56,28857]],[[13153,13153],\"mapped\",[57,28857]],[[13154,13154],\"mapped\",[49,48,28857]],[[13155,13155],\"mapped\",[49,49,28857]],[[13156,13156],\"mapped\",[49,50,28857]],[[13157,13157],\"mapped\",[49,51,28857]],[[13158,13158],\"mapped\",[49,52,28857]],[[13159,13159],\"mapped\",[49,53,28857]],[[13160,13160],\"mapped\",[49,54,28857]],[[13161,13161],\"mapped\",[49,55,28857]],[[13162,13162],\"mapped\",[49,56,28857]],[[13163,13163],\"mapped\",[49,57,28857]],[[13164,13164],\"mapped\",[50,48,28857]],[[13165,13165],\"mapped\",[50,49,28857]],[[13166,13166],\"mapped\",[50,50,28857]],[[13167,13167],\"mapped\",[50,51,28857]],[[13168,13168],\"mapped\",[50,52,28857]],[[13169,13169],\"mapped\",[104,112,97]],[[13170,13170],\"mapped\",[100,97]],[[13171,13171],\"mapped\",[97,117]],[[13172,13172],\"mapped\",[98,97,114]],[[13173,13173],\"mapped\",[111,118]],[[13174,13174],\"mapped\",[112,99]],[[13175,13175],\"mapped\",[100,109]],[[13176,13176],\"mapped\",[100,109,50]],[[13177,13177],\"mapped\",[100,109,51]],[[13178,13178],\"mapped\",[105,117]],[[13179,13179],\"mapped\",[24179,25104]],[[13180,13180],\"mapped\",[26157,21644]],[[13181,13181],\"mapped\",[22823,27491]],[[13182,13182],\"mapped\",[26126,27835]],[[13183,13183],\"mapped\",[26666,24335,20250,31038]],[[13184,13184],\"mapped\",[112,97]],[[13185,13185],\"mapped\",[110,97]],[[13186,13186],\"mapped\",[956,97]],[[13187,13187],\"mapped\",[109,97]],[[13188,13188],\"mapped\",[107,97]],[[13189,13189],\"mapped\",[107,98]],[[13190,13190],\"mapped\",[109,98]],[[13191,13191],\"mapped\",[103,98]],[[13192,13192],\"mapped\",[99,97,108]],[[13193,13193],\"mapped\",[107,99,97,108]],[[13194,13194],\"mapped\",[112,102]],[[13195,13195],\"mapped\",[110,102]],[[13196,13196],\"mapped\",[956,102]],[[13197,13197],\"mapped\",[956,103]],[[13198,13198],\"mapped\",[109,103]],[[13199,13199],\"mapped\",[107,103]],[[13200,13200],\"mapped\",[104,122]],[[13201,13201],\"mapped\",[107,104,122]],[[13202,13202],\"mapped\",[109,104,122]],[[13203,13203],\"mapped\",[103,104,122]],[[13204,13204],\"mapped\",[116,104,122]],[[13205,13205],\"mapped\",[956,108]],[[13206,13206],\"mapped\",[109,108]],[[13207,13207],\"mapped\",[100,108]],[[13208,13208],\"mapped\",[107,108]],[[13209,13209],\"mapped\",[102,109]],[[13210,13210],\"mapped\",[110,109]],[[13211,13211],\"mapped\",[956,109]],[[13212,13212],\"mapped\",[109,109]],[[13213,13213],\"mapped\",[99,109]],[[13214,13214],\"mapped\",[107,109]],[[13215,13215],\"mapped\",[109,109,50]],[[13216,13216],\"mapped\",[99,109,50]],[[13217,13217],\"mapped\",[109,50]],[[13218,13218],\"mapped\",[107,109,50]],[[13219,13219],\"mapped\",[109,109,51]],[[13220,13220],\"mapped\",[99,109,51]],[[13221,13221],\"mapped\",[109,51]],[[13222,13222],\"mapped\",[107,109,51]],[[13223,13223],\"mapped\",[109,8725,115]],[[13224,13224],\"mapped\",[109,8725,115,50]],[[13225,13225],\"mapped\",[112,97]],[[13226,13226],\"mapped\",[107,112,97]],[[13227,13227],\"mapped\",[109,112,97]],[[13228,13228],\"mapped\",[103,112,97]],[[13229,13229],\"mapped\",[114,97,100]],[[13230,13230],\"mapped\",[114,97,100,8725,115]],[[13231,13231],\"mapped\",[114,97,100,8725,115,50]],[[13232,13232],\"mapped\",[112,115]],[[13233,13233],\"mapped\",[110,115]],[[13234,13234],\"mapped\",[956,115]],[[13235,13235],\"mapped\",[109,115]],[[13236,13236],\"mapped\",[112,118]],[[13237,13237],\"mapped\",[110,118]],[[13238,13238],\"mapped\",[956,118]],[[13239,13239],\"mapped\",[109,118]],[[13240,13240],\"mapped\",[107,118]],[[13241,13241],\"mapped\",[109,118]],[[13242,13242],\"mapped\",[112,119]],[[13243,13243],\"mapped\",[110,119]],[[13244,13244],\"mapped\",[956,119]],[[13245,13245],\"mapped\",[109,119]],[[13246,13246],\"mapped\",[107,119]],[[13247,13247],\"mapped\",[109,119]],[[13248,13248],\"mapped\",[107,969]],[[13249,13249],\"mapped\",[109,969]],[[13250,13250],\"disallowed\"],[[13251,13251],\"mapped\",[98,113]],[[13252,13252],\"mapped\",[99,99]],[[13253,13253],\"mapped\",[99,100]],[[13254,13254],\"mapped\",[99,8725,107,103]],[[13255,13255],\"disallowed\"],[[13256,13256],\"mapped\",[100,98]],[[13257,13257],\"mapped\",[103,121]],[[13258,13258],\"mapped\",[104,97]],[[13259,13259],\"mapped\",[104,112]],[[13260,13260],\"mapped\",[105,110]],[[13261,13261],\"mapped\",[107,107]],[[13262,13262],\"mapped\",[107,109]],[[13263,13263],\"mapped\",[107,116]],[[13264,13264],\"mapped\",[108,109]],[[13265,13265],\"mapped\",[108,110]],[[13266,13266],\"mapped\",[108,111,103]],[[13267,13267],\"mapped\",[108,120]],[[13268,13268],\"mapped\",[109,98]],[[13269,13269],\"mapped\",[109,105,108]],[[13270,13270],\"mapped\",[109,111,108]],[[13271,13271],\"mapped\",[112,104]],[[13272,13272],\"disallowed\"],[[13273,13273],\"mapped\",[112,112,109]],[[13274,13274],\"mapped\",[112,114]],[[13275,13275],\"mapped\",[115,114]],[[13276,13276],\"mapped\",[115,118]],[[13277,13277],\"mapped\",[119,98]],[[13278,13278],\"mapped\",[118,8725,109]],[[13279,13279],\"mapped\",[97,8725,109]],[[13280,13280],\"mapped\",[49,26085]],[[13281,13281],\"mapped\",[50,26085]],[[13282,13282],\"mapped\",[51,26085]],[[13283,13283],\"mapped\",[52,26085]],[[13284,13284],\"mapped\",[53,26085]],[[13285,13285],\"mapped\",[54,26085]],[[13286,13286],\"mapped\",[55,26085]],[[13287,13287],\"mapped\",[56,26085]],[[13288,13288],\"mapped\",[57,26085]],[[13289,13289],\"mapped\",[49,48,26085]],[[13290,13290],\"mapped\",[49,49,26085]],[[13291,13291],\"mapped\",[49,50,26085]],[[13292,13292],\"mapped\",[49,51,26085]],[[13293,13293],\"mapped\",[49,52,26085]],[[13294,13294],\"mapped\",[49,53,26085]],[[13295,13295],\"mapped\",[49,54,26085]],[[13296,13296],\"mapped\",[49,55,26085]],[[13297,13297],\"mapped\",[49,56,26085]],[[13298,13298],\"mapped\",[49,57,26085]],[[13299,13299],\"mapped\",[50,48,26085]],[[13300,13300],\"mapped\",[50,49,26085]],[[13301,13301],\"mapped\",[50,50,26085]],[[13302,13302],\"mapped\",[50,51,26085]],[[13303,13303],\"mapped\",[50,52,26085]],[[13304,13304],\"mapped\",[50,53,26085]],[[13305,13305],\"mapped\",[50,54,26085]],[[13306,13306],\"mapped\",[50,55,26085]],[[13307,13307],\"mapped\",[50,56,26085]],[[13308,13308],\"mapped\",[50,57,26085]],[[13309,13309],\"mapped\",[51,48,26085]],[[13310,13310],\"mapped\",[51,49,26085]],[[13311,13311],\"mapped\",[103,97,108]],[[13312,19893],\"valid\"],[[19894,19903],\"disallowed\"],[[19904,19967],\"valid\",[],\"NV8\"],[[19968,40869],\"valid\"],[[40870,40891],\"valid\"],[[40892,40899],\"valid\"],[[40900,40907],\"valid\"],[[40908,40908],\"valid\"],[[40909,40917],\"valid\"],[[40918,40959],\"disallowed\"],[[40960,42124],\"valid\"],[[42125,42127],\"disallowed\"],[[42128,42145],\"valid\",[],\"NV8\"],[[42146,42147],\"valid\",[],\"NV8\"],[[42148,42163],\"valid\",[],\"NV8\"],[[42164,42164],\"valid\",[],\"NV8\"],[[42165,42176],\"valid\",[],\"NV8\"],[[42177,42177],\"valid\",[],\"NV8\"],[[42178,42180],\"valid\",[],\"NV8\"],[[42181,42181],\"valid\",[],\"NV8\"],[[42182,42182],\"valid\",[],\"NV8\"],[[42183,42191],\"disallowed\"],[[42192,42237],\"valid\"],[[42238,42239],\"valid\",[],\"NV8\"],[[42240,42508],\"valid\"],[[42509,42511],\"valid\",[],\"NV8\"],[[42512,42539],\"valid\"],[[42540,42559],\"disallowed\"],[[42560,42560],\"mapped\",[42561]],[[42561,42561],\"valid\"],[[42562,42562],\"mapped\",[42563]],[[42563,42563],\"valid\"],[[42564,42564],\"mapped\",[42565]],[[42565,42565],\"valid\"],[[42566,42566],\"mapped\",[42567]],[[42567,42567],\"valid\"],[[42568,42568],\"mapped\",[42569]],[[42569,42569],\"valid\"],[[42570,42570],\"mapped\",[42571]],[[42571,42571],\"valid\"],[[42572,42572],\"mapped\",[42573]],[[42573,42573],\"valid\"],[[42574,42574],\"mapped\",[42575]],[[42575,42575],\"valid\"],[[42576,42576],\"mapped\",[42577]],[[42577,42577],\"valid\"],[[42578,42578],\"mapped\",[42579]],[[42579,42579],\"valid\"],[[42580,42580],\"mapped\",[42581]],[[42581,42581],\"valid\"],[[42582,42582],\"mapped\",[42583]],[[42583,42583],\"valid\"],[[42584,42584],\"mapped\",[42585]],[[42585,42585],\"valid\"],[[42586,42586],\"mapped\",[42587]],[[42587,42587],\"valid\"],[[42588,42588],\"mapped\",[42589]],[[42589,42589],\"valid\"],[[42590,42590],\"mapped\",[42591]],[[42591,42591],\"valid\"],[[42592,42592],\"mapped\",[42593]],[[42593,42593],\"valid\"],[[42594,42594],\"mapped\",[42595]],[[42595,42595],\"valid\"],[[42596,42596],\"mapped\",[42597]],[[42597,42597],\"valid\"],[[42598,42598],\"mapped\",[42599]],[[42599,42599],\"valid\"],[[42600,42600],\"mapped\",[42601]],[[42601,42601],\"valid\"],[[42602,42602],\"mapped\",[42603]],[[42603,42603],\"valid\"],[[42604,42604],\"mapped\",[42605]],[[42605,42607],\"valid\"],[[42608,42611],\"valid\",[],\"NV8\"],[[42612,42619],\"valid\"],[[42620,42621],\"valid\"],[[42622,42622],\"valid\",[],\"NV8\"],[[42623,42623],\"valid\"],[[42624,42624],\"mapped\",[42625]],[[42625,42625],\"valid\"],[[42626,42626],\"mapped\",[42627]],[[42627,42627],\"valid\"],[[42628,42628],\"mapped\",[42629]],[[42629,42629],\"valid\"],[[42630,42630],\"mapped\",[42631]],[[42631,42631],\"valid\"],[[42632,42632],\"mapped\",[42633]],[[42633,42633],\"valid\"],[[42634,42634],\"mapped\",[42635]],[[42635,42635],\"valid\"],[[42636,42636],\"mapped\",[42637]],[[42637,42637],\"valid\"],[[42638,42638],\"mapped\",[42639]],[[42639,42639],\"valid\"],[[42640,42640],\"mapped\",[42641]],[[42641,42641],\"valid\"],[[42642,42642],\"mapped\",[42643]],[[42643,42643],\"valid\"],[[42644,42644],\"mapped\",[42645]],[[42645,42645],\"valid\"],[[42646,42646],\"mapped\",[42647]],[[42647,42647],\"valid\"],[[42648,42648],\"mapped\",[42649]],[[42649,42649],\"valid\"],[[42650,42650],\"mapped\",[42651]],[[42651,42651],\"valid\"],[[42652,42652],\"mapped\",[1098]],[[42653,42653],\"mapped\",[1100]],[[42654,42654],\"valid\"],[[42655,42655],\"valid\"],[[42656,42725],\"valid\"],[[42726,42735],\"valid\",[],\"NV8\"],[[42736,42737],\"valid\"],[[42738,42743],\"valid\",[],\"NV8\"],[[42744,42751],\"disallowed\"],[[42752,42774],\"valid\",[],\"NV8\"],[[42775,42778],\"valid\"],[[42779,42783],\"valid\"],[[42784,42785],\"valid\",[],\"NV8\"],[[42786,42786],\"mapped\",[42787]],[[42787,42787],\"valid\"],[[42788,42788],\"mapped\",[42789]],[[42789,42789],\"valid\"],[[42790,42790],\"mapped\",[42791]],[[42791,42791],\"valid\"],[[42792,42792],\"mapped\",[42793]],[[42793,42793],\"valid\"],[[42794,42794],\"mapped\",[42795]],[[42795,42795],\"valid\"],[[42796,42796],\"mapped\",[42797]],[[42797,42797],\"valid\"],[[42798,42798],\"mapped\",[42799]],[[42799,42801],\"valid\"],[[42802,42802],\"mapped\",[42803]],[[42803,42803],\"valid\"],[[42804,42804],\"mapped\",[42805]],[[42805,42805],\"valid\"],[[42806,42806],\"mapped\",[42807]],[[42807,42807],\"valid\"],[[42808,42808],\"mapped\",[42809]],[[42809,42809],\"valid\"],[[42810,42810],\"mapped\",[42811]],[[42811,42811],\"valid\"],[[42812,42812],\"mapped\",[42813]],[[42813,42813],\"valid\"],[[42814,42814],\"mapped\",[42815]],[[42815,42815],\"valid\"],[[42816,42816],\"mapped\",[42817]],[[42817,42817],\"valid\"],[[42818,42818],\"mapped\",[42819]],[[42819,42819],\"valid\"],[[42820,42820],\"mapped\",[42821]],[[42821,42821],\"valid\"],[[42822,42822],\"mapped\",[42823]],[[42823,42823],\"valid\"],[[42824,42824],\"mapped\",[42825]],[[42825,42825],\"valid\"],[[42826,42826],\"mapped\",[42827]],[[42827,42827],\"valid\"],[[42828,42828],\"mapped\",[42829]],[[42829,42829],\"valid\"],[[42830,42830],\"mapped\",[42831]],[[42831,42831],\"valid\"],[[42832,42832],\"mapped\",[42833]],[[42833,42833],\"valid\"],[[42834,42834],\"mapped\",[42835]],[[42835,42835],\"valid\"],[[42836,42836],\"mapped\",[42837]],[[42837,42837],\"valid\"],[[42838,42838],\"mapped\",[42839]],[[42839,42839],\"valid\"],[[42840,42840],\"mapped\",[42841]],[[42841,42841],\"valid\"],[[42842,42842],\"mapped\",[42843]],[[42843,42843],\"valid\"],[[42844,42844],\"mapped\",[42845]],[[42845,42845],\"valid\"],[[42846,42846],\"mapped\",[42847]],[[42847,42847],\"valid\"],[[42848,42848],\"mapped\",[42849]],[[42849,42849],\"valid\"],[[42850,42850],\"mapped\",[42851]],[[42851,42851],\"valid\"],[[42852,42852],\"mapped\",[42853]],[[42853,42853],\"valid\"],[[42854,42854],\"mapped\",[42855]],[[42855,42855],\"valid\"],[[42856,42856],\"mapped\",[42857]],[[42857,42857],\"valid\"],[[42858,42858],\"mapped\",[42859]],[[42859,42859],\"valid\"],[[42860,42860],\"mapped\",[42861]],[[42861,42861],\"valid\"],[[42862,42862],\"mapped\",[42863]],[[42863,42863],\"valid\"],[[42864,42864],\"mapped\",[42863]],[[42865,42872],\"valid\"],[[42873,42873],\"mapped\",[42874]],[[42874,42874],\"valid\"],[[42875,42875],\"mapped\",[42876]],[[42876,42876],\"valid\"],[[42877,42877],\"mapped\",[7545]],[[42878,42878],\"mapped\",[42879]],[[42879,42879],\"valid\"],[[42880,42880],\"mapped\",[42881]],[[42881,42881],\"valid\"],[[42882,42882],\"mapped\",[42883]],[[42883,42883],\"valid\"],[[42884,42884],\"mapped\",[42885]],[[42885,42885],\"valid\"],[[42886,42886],\"mapped\",[42887]],[[42887,42888],\"valid\"],[[42889,42890],\"valid\",[],\"NV8\"],[[42891,42891],\"mapped\",[42892]],[[42892,42892],\"valid\"],[[42893,42893],\"mapped\",[613]],[[42894,42894],\"valid\"],[[42895,42895],\"valid\"],[[42896,42896],\"mapped\",[42897]],[[42897,42897],\"valid\"],[[42898,42898],\"mapped\",[42899]],[[42899,42899],\"valid\"],[[42900,42901],\"valid\"],[[42902,42902],\"mapped\",[42903]],[[42903,42903],\"valid\"],[[42904,42904],\"mapped\",[42905]],[[42905,42905],\"valid\"],[[42906,42906],\"mapped\",[42907]],[[42907,42907],\"valid\"],[[42908,42908],\"mapped\",[42909]],[[42909,42909],\"valid\"],[[42910,42910],\"mapped\",[42911]],[[42911,42911],\"valid\"],[[42912,42912],\"mapped\",[42913]],[[42913,42913],\"valid\"],[[42914,42914],\"mapped\",[42915]],[[42915,42915],\"valid\"],[[42916,42916],\"mapped\",[42917]],[[42917,42917],\"valid\"],[[42918,42918],\"mapped\",[42919]],[[42919,42919],\"valid\"],[[42920,42920],\"mapped\",[42921]],[[42921,42921],\"valid\"],[[42922,42922],\"mapped\",[614]],[[42923,42923],\"mapped\",[604]],[[42924,42924],\"mapped\",[609]],[[42925,42925],\"mapped\",[620]],[[42926,42927],\"disallowed\"],[[42928,42928],\"mapped\",[670]],[[42929,42929],\"mapped\",[647]],[[42930,42930],\"mapped\",[669]],[[42931,42931],\"mapped\",[43859]],[[42932,42932],\"mapped\",[42933]],[[42933,42933],\"valid\"],[[42934,42934],\"mapped\",[42935]],[[42935,42935],\"valid\"],[[42936,42998],\"disallowed\"],[[42999,42999],\"valid\"],[[43000,43000],\"mapped\",[295]],[[43001,43001],\"mapped\",[339]],[[43002,43002],\"valid\"],[[43003,43007],\"valid\"],[[43008,43047],\"valid\"],[[43048,43051],\"valid\",[],\"NV8\"],[[43052,43055],\"disallowed\"],[[43056,43065],\"valid\",[],\"NV8\"],[[43066,43071],\"disallowed\"],[[43072,43123],\"valid\"],[[43124,43127],\"valid\",[],\"NV8\"],[[43128,43135],\"disallowed\"],[[43136,43204],\"valid\"],[[43205,43213],\"disallowed\"],[[43214,43215],\"valid\",[],\"NV8\"],[[43216,43225],\"valid\"],[[43226,43231],\"disallowed\"],[[43232,43255],\"valid\"],[[43256,43258],\"valid\",[],\"NV8\"],[[43259,43259],\"valid\"],[[43260,43260],\"valid\",[],\"NV8\"],[[43261,43261],\"valid\"],[[43262,43263],\"disallowed\"],[[43264,43309],\"valid\"],[[43310,43311],\"valid\",[],\"NV8\"],[[43312,43347],\"valid\"],[[43348,43358],\"disallowed\"],[[43359,43359],\"valid\",[],\"NV8\"],[[43360,43388],\"valid\",[],\"NV8\"],[[43389,43391],\"disallowed\"],[[43392,43456],\"valid\"],[[43457,43469],\"valid\",[],\"NV8\"],[[43470,43470],\"disallowed\"],[[43471,43481],\"valid\"],[[43482,43485],\"disallowed\"],[[43486,43487],\"valid\",[],\"NV8\"],[[43488,43518],\"valid\"],[[43519,43519],\"disallowed\"],[[43520,43574],\"valid\"],[[43575,43583],\"disallowed\"],[[43584,43597],\"valid\"],[[43598,43599],\"disallowed\"],[[43600,43609],\"valid\"],[[43610,43611],\"disallowed\"],[[43612,43615],\"valid\",[],\"NV8\"],[[43616,43638],\"valid\"],[[43639,43641],\"valid\",[],\"NV8\"],[[43642,43643],\"valid\"],[[43644,43647],\"valid\"],[[43648,43714],\"valid\"],[[43715,43738],\"disallowed\"],[[43739,43741],\"valid\"],[[43742,43743],\"valid\",[],\"NV8\"],[[43744,43759],\"valid\"],[[43760,43761],\"valid\",[],\"NV8\"],[[43762,43766],\"valid\"],[[43767,43776],\"disallowed\"],[[43777,43782],\"valid\"],[[43783,43784],\"disallowed\"],[[43785,43790],\"valid\"],[[43791,43792],\"disallowed\"],[[43793,43798],\"valid\"],[[43799,43807],\"disallowed\"],[[43808,43814],\"valid\"],[[43815,43815],\"disallowed\"],[[43816,43822],\"valid\"],[[43823,43823],\"disallowed\"],[[43824,43866],\"valid\"],[[43867,43867],\"valid\",[],\"NV8\"],[[43868,43868],\"mapped\",[42791]],[[43869,43869],\"mapped\",[43831]],[[43870,43870],\"mapped\",[619]],[[43871,43871],\"mapped\",[43858]],[[43872,43875],\"valid\"],[[43876,43877],\"valid\"],[[43878,43887],\"disallowed\"],[[43888,43888],\"mapped\",[5024]],[[43889,43889],\"mapped\",[5025]],[[43890,43890],\"mapped\",[5026]],[[43891,43891],\"mapped\",[5027]],[[43892,43892],\"mapped\",[5028]],[[43893,43893],\"mapped\",[5029]],[[43894,43894],\"mapped\",[5030]],[[43895,43895],\"mapped\",[5031]],[[43896,43896],\"mapped\",[5032]],[[43897,43897],\"mapped\",[5033]],[[43898,43898],\"mapped\",[5034]],[[43899,43899],\"mapped\",[5035]],[[43900,43900],\"mapped\",[5036]],[[43901,43901],\"mapped\",[5037]],[[43902,43902],\"mapped\",[5038]],[[43903,43903],\"mapped\",[5039]],[[43904,43904],\"mapped\",[5040]],[[43905,43905],\"mapped\",[5041]],[[43906,43906],\"mapped\",[5042]],[[43907,43907],\"mapped\",[5043]],[[43908,43908],\"mapped\",[5044]],[[43909,43909],\"mapped\",[5045]],[[43910,43910],\"mapped\",[5046]],[[43911,43911],\"mapped\",[5047]],[[43912,43912],\"mapped\",[5048]],[[43913,43913],\"mapped\",[5049]],[[43914,43914],\"mapped\",[5050]],[[43915,43915],\"mapped\",[5051]],[[43916,43916],\"mapped\",[5052]],[[43917,43917],\"mapped\",[5053]],[[43918,43918],\"mapped\",[5054]],[[43919,43919],\"mapped\",[5055]],[[43920,43920],\"mapped\",[5056]],[[43921,43921],\"mapped\",[5057]],[[43922,43922],\"mapped\",[5058]],[[43923,43923],\"mapped\",[5059]],[[43924,43924],\"mapped\",[5060]],[[43925,43925],\"mapped\",[5061]],[[43926,43926],\"mapped\",[5062]],[[43927,43927],\"mapped\",[5063]],[[43928,43928],\"mapped\",[5064]],[[43929,43929],\"mapped\",[5065]],[[43930,43930],\"mapped\",[5066]],[[43931,43931],\"mapped\",[5067]],[[43932,43932],\"mapped\",[5068]],[[43933,43933],\"mapped\",[5069]],[[43934,43934],\"mapped\",[5070]],[[43935,43935],\"mapped\",[5071]],[[43936,43936],\"mapped\",[5072]],[[43937,43937],\"mapped\",[5073]],[[43938,43938],\"mapped\",[5074]],[[43939,43939],\"mapped\",[5075]],[[43940,43940],\"mapped\",[5076]],[[43941,43941],\"mapped\",[5077]],[[43942,43942],\"mapped\",[5078]],[[43943,43943],\"mapped\",[5079]],[[43944,43944],\"mapped\",[5080]],[[43945,43945],\"mapped\",[5081]],[[43946,43946],\"mapped\",[5082]],[[43947,43947],\"mapped\",[5083]],[[43948,43948],\"mapped\",[5084]],[[43949,43949],\"mapped\",[5085]],[[43950,43950],\"mapped\",[5086]],[[43951,43951],\"mapped\",[5087]],[[43952,43952],\"mapped\",[5088]],[[43953,43953],\"mapped\",[5089]],[[43954,43954],\"mapped\",[5090]],[[43955,43955],\"mapped\",[5091]],[[43956,43956],\"mapped\",[5092]],[[43957,43957],\"mapped\",[5093]],[[43958,43958],\"mapped\",[5094]],[[43959,43959],\"mapped\",[5095]],[[43960,43960],\"mapped\",[5096]],[[43961,43961],\"mapped\",[5097]],[[43962,43962],\"mapped\",[5098]],[[43963,43963],\"mapped\",[5099]],[[43964,43964],\"mapped\",[5100]],[[43965,43965],\"mapped\",[5101]],[[43966,43966],\"mapped\",[5102]],[[43967,43967],\"mapped\",[5103]],[[43968,44010],\"valid\"],[[44011,44011],\"valid\",[],\"NV8\"],[[44012,44013],\"valid\"],[[44014,44015],\"disallowed\"],[[44016,44025],\"valid\"],[[44026,44031],\"disallowed\"],[[44032,55203],\"valid\"],[[55204,55215],\"disallowed\"],[[55216,55238],\"valid\",[],\"NV8\"],[[55239,55242],\"disallowed\"],[[55243,55291],\"valid\",[],\"NV8\"],[[55292,55295],\"disallowed\"],[[55296,57343],\"disallowed\"],[[57344,63743],\"disallowed\"],[[63744,63744],\"mapped\",[35912]],[[63745,63745],\"mapped\",[26356]],[[63746,63746],\"mapped\",[36554]],[[63747,63747],\"mapped\",[36040]],[[63748,63748],\"mapped\",[28369]],[[63749,63749],\"mapped\",[20018]],[[63750,63750],\"mapped\",[21477]],[[63751,63752],\"mapped\",[40860]],[[63753,63753],\"mapped\",[22865]],[[63754,63754],\"mapped\",[37329]],[[63755,63755],\"mapped\",[21895]],[[63756,63756],\"mapped\",[22856]],[[63757,63757],\"mapped\",[25078]],[[63758,63758],\"mapped\",[30313]],[[63759,63759],\"mapped\",[32645]],[[63760,63760],\"mapped\",[34367]],[[63761,63761],\"mapped\",[34746]],[[63762,63762],\"mapped\",[35064]],[[63763,63763],\"mapped\",[37007]],[[63764,63764],\"mapped\",[27138]],[[63765,63765],\"mapped\",[27931]],[[63766,63766],\"mapped\",[28889]],[[63767,63767],\"mapped\",[29662]],[[63768,63768],\"mapped\",[33853]],[[63769,63769],\"mapped\",[37226]],[[63770,63770],\"mapped\",[39409]],[[63771,63771],\"mapped\",[20098]],[[63772,63772],\"mapped\",[21365]],[[63773,63773],\"mapped\",[27396]],[[63774,63774],\"mapped\",[29211]],[[63775,63775],\"mapped\",[34349]],[[63776,63776],\"mapped\",[40478]],[[63777,63777],\"mapped\",[23888]],[[63778,63778],\"mapped\",[28651]],[[63779,63779],\"mapped\",[34253]],[[63780,63780],\"mapped\",[35172]],[[63781,63781],\"mapped\",[25289]],[[63782,63782],\"mapped\",[33240]],[[63783,63783],\"mapped\",[34847]],[[63784,63784],\"mapped\",[24266]],[[63785,63785],\"mapped\",[26391]],[[63786,63786],\"mapped\",[28010]],[[63787,63787],\"mapped\",[29436]],[[63788,63788],\"mapped\",[37070]],[[63789,63789],\"mapped\",[20358]],[[63790,63790],\"mapped\",[20919]],[[63791,63791],\"mapped\",[21214]],[[63792,63792],\"mapped\",[25796]],[[63793,63793],\"mapped\",[27347]],[[63794,63794],\"mapped\",[29200]],[[63795,63795],\"mapped\",[30439]],[[63796,63796],\"mapped\",[32769]],[[63797,63797],\"mapped\",[34310]],[[63798,63798],\"mapped\",[34396]],[[63799,63799],\"mapped\",[36335]],[[63800,63800],\"mapped\",[38706]],[[63801,63801],\"mapped\",[39791]],[[63802,63802],\"mapped\",[40442]],[[63803,63803],\"mapped\",[30860]],[[63804,63804],\"mapped\",[31103]],[[63805,63805],\"mapped\",[32160]],[[63806,63806],\"mapped\",[33737]],[[63807,63807],\"mapped\",[37636]],[[63808,63808],\"mapped\",[40575]],[[63809,63809],\"mapped\",[35542]],[[63810,63810],\"mapped\",[22751]],[[63811,63811],\"mapped\",[24324]],[[63812,63812],\"mapped\",[31840]],[[63813,63813],\"mapped\",[32894]],[[63814,63814],\"mapped\",[29282]],[[63815,63815],\"mapped\",[30922]],[[63816,63816],\"mapped\",[36034]],[[63817,63817],\"mapped\",[38647]],[[63818,63818],\"mapped\",[22744]],[[63819,63819],\"mapped\",[23650]],[[63820,63820],\"mapped\",[27155]],[[63821,63821],\"mapped\",[28122]],[[63822,63822],\"mapped\",[28431]],[[63823,63823],\"mapped\",[32047]],[[63824,63824],\"mapped\",[32311]],[[63825,63825],\"mapped\",[38475]],[[63826,63826],\"mapped\",[21202]],[[63827,63827],\"mapped\",[32907]],[[63828,63828],\"mapped\",[20956]],[[63829,63829],\"mapped\",[20940]],[[63830,63830],\"mapped\",[31260]],[[63831,63831],\"mapped\",[32190]],[[63832,63832],\"mapped\",[33777]],[[63833,63833],\"mapped\",[38517]],[[63834,63834],\"mapped\",[35712]],[[63835,63835],\"mapped\",[25295]],[[63836,63836],\"mapped\",[27138]],[[63837,63837],\"mapped\",[35582]],[[63838,63838],\"mapped\",[20025]],[[63839,63839],\"mapped\",[23527]],[[63840,63840],\"mapped\",[24594]],[[63841,63841],\"mapped\",[29575]],[[63842,63842],\"mapped\",[30064]],[[63843,63843],\"mapped\",[21271]],[[63844,63844],\"mapped\",[30971]],[[63845,63845],\"mapped\",[20415]],[[63846,63846],\"mapped\",[24489]],[[63847,63847],\"mapped\",[19981]],[[63848,63848],\"mapped\",[27852]],[[63849,63849],\"mapped\",[25976]],[[63850,63850],\"mapped\",[32034]],[[63851,63851],\"mapped\",[21443]],[[63852,63852],\"mapped\",[22622]],[[63853,63853],\"mapped\",[30465]],[[63854,63854],\"mapped\",[33865]],[[63855,63855],\"mapped\",[35498]],[[63856,63856],\"mapped\",[27578]],[[63857,63857],\"mapped\",[36784]],[[63858,63858],\"mapped\",[27784]],[[63859,63859],\"mapped\",[25342]],[[63860,63860],\"mapped\",[33509]],[[63861,63861],\"mapped\",[25504]],[[63862,63862],\"mapped\",[30053]],[[63863,63863],\"mapped\",[20142]],[[63864,63864],\"mapped\",[20841]],[[63865,63865],\"mapped\",[20937]],[[63866,63866],\"mapped\",[26753]],[[63867,63867],\"mapped\",[31975]],[[63868,63868],\"mapped\",[33391]],[[63869,63869],\"mapped\",[35538]],[[63870,63870],\"mapped\",[37327]],[[63871,63871],\"mapped\",[21237]],[[63872,63872],\"mapped\",[21570]],[[63873,63873],\"mapped\",[22899]],[[63874,63874],\"mapped\",[24300]],[[63875,63875],\"mapped\",[26053]],[[63876,63876],\"mapped\",[28670]],[[63877,63877],\"mapped\",[31018]],[[63878,63878],\"mapped\",[38317]],[[63879,63879],\"mapped\",[39530]],[[63880,63880],\"mapped\",[40599]],[[63881,63881],\"mapped\",[40654]],[[63882,63882],\"mapped\",[21147]],[[63883,63883],\"mapped\",[26310]],[[63884,63884],\"mapped\",[27511]],[[63885,63885],\"mapped\",[36706]],[[63886,63886],\"mapped\",[24180]],[[63887,63887],\"mapped\",[24976]],[[63888,63888],\"mapped\",[25088]],[[63889,63889],\"mapped\",[25754]],[[63890,63890],\"mapped\",[28451]],[[63891,63891],\"mapped\",[29001]],[[63892,63892],\"mapped\",[29833]],[[63893,63893],\"mapped\",[31178]],[[63894,63894],\"mapped\",[32244]],[[63895,63895],\"mapped\",[32879]],[[63896,63896],\"mapped\",[36646]],[[63897,63897],\"mapped\",[34030]],[[63898,63898],\"mapped\",[36899]],[[63899,63899],\"mapped\",[37706]],[[63900,63900],\"mapped\",[21015]],[[63901,63901],\"mapped\",[21155]],[[63902,63902],\"mapped\",[21693]],[[63903,63903],\"mapped\",[28872]],[[63904,63904],\"mapped\",[35010]],[[63905,63905],\"mapped\",[35498]],[[63906,63906],\"mapped\",[24265]],[[63907,63907],\"mapped\",[24565]],[[63908,63908],\"mapped\",[25467]],[[63909,63909],\"mapped\",[27566]],[[63910,63910],\"mapped\",[31806]],[[63911,63911],\"mapped\",[29557]],[[63912,63912],\"mapped\",[20196]],[[63913,63913],\"mapped\",[22265]],[[63914,63914],\"mapped\",[23527]],[[63915,63915],\"mapped\",[23994]],[[63916,63916],\"mapped\",[24604]],[[63917,63917],\"mapped\",[29618]],[[63918,63918],\"mapped\",[29801]],[[63919,63919],\"mapped\",[32666]],[[63920,63920],\"mapped\",[32838]],[[63921,63921],\"mapped\",[37428]],[[63922,63922],\"mapped\",[38646]],[[63923,63923],\"mapped\",[38728]],[[63924,63924],\"mapped\",[38936]],[[63925,63925],\"mapped\",[20363]],[[63926,63926],\"mapped\",[31150]],[[63927,63927],\"mapped\",[37300]],[[63928,63928],\"mapped\",[38584]],[[63929,63929],\"mapped\",[24801]],[[63930,63930],\"mapped\",[20102]],[[63931,63931],\"mapped\",[20698]],[[63932,63932],\"mapped\",[23534]],[[63933,63933],\"mapped\",[23615]],[[63934,63934],\"mapped\",[26009]],[[63935,63935],\"mapped\",[27138]],[[63936,63936],\"mapped\",[29134]],[[63937,63937],\"mapped\",[30274]],[[63938,63938],\"mapped\",[34044]],[[63939,63939],\"mapped\",[36988]],[[63940,63940],\"mapped\",[40845]],[[63941,63941],\"mapped\",[26248]],[[63942,63942],\"mapped\",[38446]],[[63943,63943],\"mapped\",[21129]],[[63944,63944],\"mapped\",[26491]],[[63945,63945],\"mapped\",[26611]],[[63946,63946],\"mapped\",[27969]],[[63947,63947],\"mapped\",[28316]],[[63948,63948],\"mapped\",[29705]],[[63949,63949],\"mapped\",[30041]],[[63950,63950],\"mapped\",[30827]],[[63951,63951],\"mapped\",[32016]],[[63952,63952],\"mapped\",[39006]],[[63953,63953],\"mapped\",[20845]],[[63954,63954],\"mapped\",[25134]],[[63955,63955],\"mapped\",[38520]],[[63956,63956],\"mapped\",[20523]],[[63957,63957],\"mapped\",[23833]],[[63958,63958],\"mapped\",[28138]],[[63959,63959],\"mapped\",[36650]],[[63960,63960],\"mapped\",[24459]],[[63961,63961],\"mapped\",[24900]],[[63962,63962],\"mapped\",[26647]],[[63963,63963],\"mapped\",[29575]],[[63964,63964],\"mapped\",[38534]],[[63965,63965],\"mapped\",[21033]],[[63966,63966],\"mapped\",[21519]],[[63967,63967],\"mapped\",[23653]],[[63968,63968],\"mapped\",[26131]],[[63969,63969],\"mapped\",[26446]],[[63970,63970],\"mapped\",[26792]],[[63971,63971],\"mapped\",[27877]],[[63972,63972],\"mapped\",[29702]],[[63973,63973],\"mapped\",[30178]],[[63974,63974],\"mapped\",[32633]],[[63975,63975],\"mapped\",[35023]],[[63976,63976],\"mapped\",[35041]],[[63977,63977],\"mapped\",[37324]],[[63978,63978],\"mapped\",[38626]],[[63979,63979],\"mapped\",[21311]],[[63980,63980],\"mapped\",[28346]],[[63981,63981],\"mapped\",[21533]],[[63982,63982],\"mapped\",[29136]],[[63983,63983],\"mapped\",[29848]],[[63984,63984],\"mapped\",[34298]],[[63985,63985],\"mapped\",[38563]],[[63986,63986],\"mapped\",[40023]],[[63987,63987],\"mapped\",[40607]],[[63988,63988],\"mapped\",[26519]],[[63989,63989],\"mapped\",[28107]],[[63990,63990],\"mapped\",[33256]],[[63991,63991],\"mapped\",[31435]],[[63992,63992],\"mapped\",[31520]],[[63993,63993],\"mapped\",[31890]],[[63994,63994],\"mapped\",[29376]],[[63995,63995],\"mapped\",[28825]],[[63996,63996],\"mapped\",[35672]],[[63997,63997],\"mapped\",[20160]],[[63998,63998],\"mapped\",[33590]],[[63999,63999],\"mapped\",[21050]],[[64000,64000],\"mapped\",[20999]],[[64001,64001],\"mapped\",[24230]],[[64002,64002],\"mapped\",[25299]],[[64003,64003],\"mapped\",[31958]],[[64004,64004],\"mapped\",[23429]],[[64005,64005],\"mapped\",[27934]],[[64006,64006],\"mapped\",[26292]],[[64007,64007],\"mapped\",[36667]],[[64008,64008],\"mapped\",[34892]],[[64009,64009],\"mapped\",[38477]],[[64010,64010],\"mapped\",[35211]],[[64011,64011],\"mapped\",[24275]],[[64012,64012],\"mapped\",[20800]],[[64013,64013],\"mapped\",[21952]],[[64014,64015],\"valid\"],[[64016,64016],\"mapped\",[22618]],[[64017,64017],\"valid\"],[[64018,64018],\"mapped\",[26228]],[[64019,64020],\"valid\"],[[64021,64021],\"mapped\",[20958]],[[64022,64022],\"mapped\",[29482]],[[64023,64023],\"mapped\",[30410]],[[64024,64024],\"mapped\",[31036]],[[64025,64025],\"mapped\",[31070]],[[64026,64026],\"mapped\",[31077]],[[64027,64027],\"mapped\",[31119]],[[64028,64028],\"mapped\",[38742]],[[64029,64029],\"mapped\",[31934]],[[64030,64030],\"mapped\",[32701]],[[64031,64031],\"valid\"],[[64032,64032],\"mapped\",[34322]],[[64033,64033],\"valid\"],[[64034,64034],\"mapped\",[35576]],[[64035,64036],\"valid\"],[[64037,64037],\"mapped\",[36920]],[[64038,64038],\"mapped\",[37117]],[[64039,64041],\"valid\"],[[64042,64042],\"mapped\",[39151]],[[64043,64043],\"mapped\",[39164]],[[64044,64044],\"mapped\",[39208]],[[64045,64045],\"mapped\",[40372]],[[64046,64046],\"mapped\",[37086]],[[64047,64047],\"mapped\",[38583]],[[64048,64048],\"mapped\",[20398]],[[64049,64049],\"mapped\",[20711]],[[64050,64050],\"mapped\",[20813]],[[64051,64051],\"mapped\",[21193]],[[64052,64052],\"mapped\",[21220]],[[64053,64053],\"mapped\",[21329]],[[64054,64054],\"mapped\",[21917]],[[64055,64055],\"mapped\",[22022]],[[64056,64056],\"mapped\",[22120]],[[64057,64057],\"mapped\",[22592]],[[64058,64058],\"mapped\",[22696]],[[64059,64059],\"mapped\",[23652]],[[64060,64060],\"mapped\",[23662]],[[64061,64061],\"mapped\",[24724]],[[64062,64062],\"mapped\",[24936]],[[64063,64063],\"mapped\",[24974]],[[64064,64064],\"mapped\",[25074]],[[64065,64065],\"mapped\",[25935]],[[64066,64066],\"mapped\",[26082]],[[64067,64067],\"mapped\",[26257]],[[64068,64068],\"mapped\",[26757]],[[64069,64069],\"mapped\",[28023]],[[64070,64070],\"mapped\",[28186]],[[64071,64071],\"mapped\",[28450]],[[64072,64072],\"mapped\",[29038]],[[64073,64073],\"mapped\",[29227]],[[64074,64074],\"mapped\",[29730]],[[64075,64075],\"mapped\",[30865]],[[64076,64076],\"mapped\",[31038]],[[64077,64077],\"mapped\",[31049]],[[64078,64078],\"mapped\",[31048]],[[64079,64079],\"mapped\",[31056]],[[64080,64080],\"mapped\",[31062]],[[64081,64081],\"mapped\",[31069]],[[64082,64082],\"mapped\",[31117]],[[64083,64083],\"mapped\",[31118]],[[64084,64084],\"mapped\",[31296]],[[64085,64085],\"mapped\",[31361]],[[64086,64086],\"mapped\",[31680]],[[64087,64087],\"mapped\",[32244]],[[64088,64088],\"mapped\",[32265]],[[64089,64089],\"mapped\",[32321]],[[64090,64090],\"mapped\",[32626]],[[64091,64091],\"mapped\",[32773]],[[64092,64092],\"mapped\",[33261]],[[64093,64094],\"mapped\",[33401]],[[64095,64095],\"mapped\",[33879]],[[64096,64096],\"mapped\",[35088]],[[64097,64097],\"mapped\",[35222]],[[64098,64098],\"mapped\",[35585]],[[64099,64099],\"mapped\",[35641]],[[64100,64100],\"mapped\",[36051]],[[64101,64101],\"mapped\",[36104]],[[64102,64102],\"mapped\",[36790]],[[64103,64103],\"mapped\",[36920]],[[64104,64104],\"mapped\",[38627]],[[64105,64105],\"mapped\",[38911]],[[64106,64106],\"mapped\",[38971]],[[64107,64107],\"mapped\",[24693]],[[64108,64108],\"mapped\",[148206]],[[64109,64109],\"mapped\",[33304]],[[64110,64111],\"disallowed\"],[[64112,64112],\"mapped\",[20006]],[[64113,64113],\"mapped\",[20917]],[[64114,64114],\"mapped\",[20840]],[[64115,64115],\"mapped\",[20352]],[[64116,64116],\"mapped\",[20805]],[[64117,64117],\"mapped\",[20864]],[[64118,64118],\"mapped\",[21191]],[[64119,64119],\"mapped\",[21242]],[[64120,64120],\"mapped\",[21917]],[[64121,64121],\"mapped\",[21845]],[[64122,64122],\"mapped\",[21913]],[[64123,64123],\"mapped\",[21986]],[[64124,64124],\"mapped\",[22618]],[[64125,64125],\"mapped\",[22707]],[[64126,64126],\"mapped\",[22852]],[[64127,64127],\"mapped\",[22868]],[[64128,64128],\"mapped\",[23138]],[[64129,64129],\"mapped\",[23336]],[[64130,64130],\"mapped\",[24274]],[[64131,64131],\"mapped\",[24281]],[[64132,64132],\"mapped\",[24425]],[[64133,64133],\"mapped\",[24493]],[[64134,64134],\"mapped\",[24792]],[[64135,64135],\"mapped\",[24910]],[[64136,64136],\"mapped\",[24840]],[[64137,64137],\"mapped\",[24974]],[[64138,64138],\"mapped\",[24928]],[[64139,64139],\"mapped\",[25074]],[[64140,64140],\"mapped\",[25140]],[[64141,64141],\"mapped\",[25540]],[[64142,64142],\"mapped\",[25628]],[[64143,64143],\"mapped\",[25682]],[[64144,64144],\"mapped\",[25942]],[[64145,64145],\"mapped\",[26228]],[[64146,64146],\"mapped\",[26391]],[[64147,64147],\"mapped\",[26395]],[[64148,64148],\"mapped\",[26454]],[[64149,64149],\"mapped\",[27513]],[[64150,64150],\"mapped\",[27578]],[[64151,64151],\"mapped\",[27969]],[[64152,64152],\"mapped\",[28379]],[[64153,64153],\"mapped\",[28363]],[[64154,64154],\"mapped\",[28450]],[[64155,64155],\"mapped\",[28702]],[[64156,64156],\"mapped\",[29038]],[[64157,64157],\"mapped\",[30631]],[[64158,64158],\"mapped\",[29237]],[[64159,64159],\"mapped\",[29359]],[[64160,64160],\"mapped\",[29482]],[[64161,64161],\"mapped\",[29809]],[[64162,64162],\"mapped\",[29958]],[[64163,64163],\"mapped\",[30011]],[[64164,64164],\"mapped\",[30237]],[[64165,64165],\"mapped\",[30239]],[[64166,64166],\"mapped\",[30410]],[[64167,64167],\"mapped\",[30427]],[[64168,64168],\"mapped\",[30452]],[[64169,64169],\"mapped\",[30538]],[[64170,64170],\"mapped\",[30528]],[[64171,64171],\"mapped\",[30924]],[[64172,64172],\"mapped\",[31409]],[[64173,64173],\"mapped\",[31680]],[[64174,64174],\"mapped\",[31867]],[[64175,64175],\"mapped\",[32091]],[[64176,64176],\"mapped\",[32244]],[[64177,64177],\"mapped\",[32574]],[[64178,64178],\"mapped\",[32773]],[[64179,64179],\"mapped\",[33618]],[[64180,64180],\"mapped\",[33775]],[[64181,64181],\"mapped\",[34681]],[[64182,64182],\"mapped\",[35137]],[[64183,64183],\"mapped\",[35206]],[[64184,64184],\"mapped\",[35222]],[[64185,64185],\"mapped\",[35519]],[[64186,64186],\"mapped\",[35576]],[[64187,64187],\"mapped\",[35531]],[[64188,64188],\"mapped\",[35585]],[[64189,64189],\"mapped\",[35582]],[[64190,64190],\"mapped\",[35565]],[[64191,64191],\"mapped\",[35641]],[[64192,64192],\"mapped\",[35722]],[[64193,64193],\"mapped\",[36104]],[[64194,64194],\"mapped\",[36664]],[[64195,64195],\"mapped\",[36978]],[[64196,64196],\"mapped\",[37273]],[[64197,64197],\"mapped\",[37494]],[[64198,64198],\"mapped\",[38524]],[[64199,64199],\"mapped\",[38627]],[[64200,64200],\"mapped\",[38742]],[[64201,64201],\"mapped\",[38875]],[[64202,64202],\"mapped\",[38911]],[[64203,64203],\"mapped\",[38923]],[[64204,64204],\"mapped\",[38971]],[[64205,64205],\"mapped\",[39698]],[[64206,64206],\"mapped\",[40860]],[[64207,64207],\"mapped\",[141386]],[[64208,64208],\"mapped\",[141380]],[[64209,64209],\"mapped\",[144341]],[[64210,64210],\"mapped\",[15261]],[[64211,64211],\"mapped\",[16408]],[[64212,64212],\"mapped\",[16441]],[[64213,64213],\"mapped\",[152137]],[[64214,64214],\"mapped\",[154832]],[[64215,64215],\"mapped\",[163539]],[[64216,64216],\"mapped\",[40771]],[[64217,64217],\"mapped\",[40846]],[[64218,64255],\"disallowed\"],[[64256,64256],\"mapped\",[102,102]],[[64257,64257],\"mapped\",[102,105]],[[64258,64258],\"mapped\",[102,108]],[[64259,64259],\"mapped\",[102,102,105]],[[64260,64260],\"mapped\",[102,102,108]],[[64261,64262],\"mapped\",[115,116]],[[64263,64274],\"disallowed\"],[[64275,64275],\"mapped\",[1396,1398]],[[64276,64276],\"mapped\",[1396,1381]],[[64277,64277],\"mapped\",[1396,1387]],[[64278,64278],\"mapped\",[1406,1398]],[[64279,64279],\"mapped\",[1396,1389]],[[64280,64284],\"disallowed\"],[[64285,64285],\"mapped\",[1497,1460]],[[64286,64286],\"valid\"],[[64287,64287],\"mapped\",[1522,1463]],[[64288,64288],\"mapped\",[1506]],[[64289,64289],\"mapped\",[1488]],[[64290,64290],\"mapped\",[1491]],[[64291,64291],\"mapped\",[1492]],[[64292,64292],\"mapped\",[1499]],[[64293,64293],\"mapped\",[1500]],[[64294,64294],\"mapped\",[1501]],[[64295,64295],\"mapped\",[1512]],[[64296,64296],\"mapped\",[1514]],[[64297,64297],\"disallowed_STD3_mapped\",[43]],[[64298,64298],\"mapped\",[1513,1473]],[[64299,64299],\"mapped\",[1513,1474]],[[64300,64300],\"mapped\",[1513,1468,1473]],[[64301,64301],\"mapped\",[1513,1468,1474]],[[64302,64302],\"mapped\",[1488,1463]],[[64303,64303],\"mapped\",[1488,1464]],[[64304,64304],\"mapped\",[1488,1468]],[[64305,64305],\"mapped\",[1489,1468]],[[64306,64306],\"mapped\",[1490,1468]],[[64307,64307],\"mapped\",[1491,1468]],[[64308,64308],\"mapped\",[1492,1468]],[[64309,64309],\"mapped\",[1493,1468]],[[64310,64310],\"mapped\",[1494,1468]],[[64311,64311],\"disallowed\"],[[64312,64312],\"mapped\",[1496,1468]],[[64313,64313],\"mapped\",[1497,1468]],[[64314,64314],\"mapped\",[1498,1468]],[[64315,64315],\"mapped\",[1499,1468]],[[64316,64316],\"mapped\",[1500,1468]],[[64317,64317],\"disallowed\"],[[64318,64318],\"mapped\",[1502,1468]],[[64319,64319],\"disallowed\"],[[64320,64320],\"mapped\",[1504,1468]],[[64321,64321],\"mapped\",[1505,1468]],[[64322,64322],\"disallowed\"],[[64323,64323],\"mapped\",[1507,1468]],[[64324,64324],\"mapped\",[1508,1468]],[[64325,64325],\"disallowed\"],[[64326,64326],\"mapped\",[1510,1468]],[[64327,64327],\"mapped\",[1511,1468]],[[64328,64328],\"mapped\",[1512,1468]],[[64329,64329],\"mapped\",[1513,1468]],[[64330,64330],\"mapped\",[1514,1468]],[[64331,64331],\"mapped\",[1493,1465]],[[64332,64332],\"mapped\",[1489,1471]],[[64333,64333],\"mapped\",[1499,1471]],[[64334,64334],\"mapped\",[1508,1471]],[[64335,64335],\"mapped\",[1488,1500]],[[64336,64337],\"mapped\",[1649]],[[64338,64341],\"mapped\",[1659]],[[64342,64345],\"mapped\",[1662]],[[64346,64349],\"mapped\",[1664]],[[64350,64353],\"mapped\",[1658]],[[64354,64357],\"mapped\",[1663]],[[64358,64361],\"mapped\",[1657]],[[64362,64365],\"mapped\",[1700]],[[64366,64369],\"mapped\",[1702]],[[64370,64373],\"mapped\",[1668]],[[64374,64377],\"mapped\",[1667]],[[64378,64381],\"mapped\",[1670]],[[64382,64385],\"mapped\",[1671]],[[64386,64387],\"mapped\",[1677]],[[64388,64389],\"mapped\",[1676]],[[64390,64391],\"mapped\",[1678]],[[64392,64393],\"mapped\",[1672]],[[64394,64395],\"mapped\",[1688]],[[64396,64397],\"mapped\",[1681]],[[64398,64401],\"mapped\",[1705]],[[64402,64405],\"mapped\",[1711]],[[64406,64409],\"mapped\",[1715]],[[64410,64413],\"mapped\",[1713]],[[64414,64415],\"mapped\",[1722]],[[64416,64419],\"mapped\",[1723]],[[64420,64421],\"mapped\",[1728]],[[64422,64425],\"mapped\",[1729]],[[64426,64429],\"mapped\",[1726]],[[64430,64431],\"mapped\",[1746]],[[64432,64433],\"mapped\",[1747]],[[64434,64449],\"valid\",[],\"NV8\"],[[64450,64466],\"disallowed\"],[[64467,64470],\"mapped\",[1709]],[[64471,64472],\"mapped\",[1735]],[[64473,64474],\"mapped\",[1734]],[[64475,64476],\"mapped\",[1736]],[[64477,64477],\"mapped\",[1735,1652]],[[64478,64479],\"mapped\",[1739]],[[64480,64481],\"mapped\",[1733]],[[64482,64483],\"mapped\",[1737]],[[64484,64487],\"mapped\",[1744]],[[64488,64489],\"mapped\",[1609]],[[64490,64491],\"mapped\",[1574,1575]],[[64492,64493],\"mapped\",[1574,1749]],[[64494,64495],\"mapped\",[1574,1608]],[[64496,64497],\"mapped\",[1574,1735]],[[64498,64499],\"mapped\",[1574,1734]],[[64500,64501],\"mapped\",[1574,1736]],[[64502,64504],\"mapped\",[1574,1744]],[[64505,64507],\"mapped\",[1574,1609]],[[64508,64511],\"mapped\",[1740]],[[64512,64512],\"mapped\",[1574,1580]],[[64513,64513],\"mapped\",[1574,1581]],[[64514,64514],\"mapped\",[1574,1605]],[[64515,64515],\"mapped\",[1574,1609]],[[64516,64516],\"mapped\",[1574,1610]],[[64517,64517],\"mapped\",[1576,1580]],[[64518,64518],\"mapped\",[1576,1581]],[[64519,64519],\"mapped\",[1576,1582]],[[64520,64520],\"mapped\",[1576,1605]],[[64521,64521],\"mapped\",[1576,1609]],[[64522,64522],\"mapped\",[1576,1610]],[[64523,64523],\"mapped\",[1578,1580]],[[64524,64524],\"mapped\",[1578,1581]],[[64525,64525],\"mapped\",[1578,1582]],[[64526,64526],\"mapped\",[1578,1605]],[[64527,64527],\"mapped\",[1578,1609]],[[64528,64528],\"mapped\",[1578,1610]],[[64529,64529],\"mapped\",[1579,1580]],[[64530,64530],\"mapped\",[1579,1605]],[[64531,64531],\"mapped\",[1579,1609]],[[64532,64532],\"mapped\",[1579,1610]],[[64533,64533],\"mapped\",[1580,1581]],[[64534,64534],\"mapped\",[1580,1605]],[[64535,64535],\"mapped\",[1581,1580]],[[64536,64536],\"mapped\",[1581,1605]],[[64537,64537],\"mapped\",[1582,1580]],[[64538,64538],\"mapped\",[1582,1581]],[[64539,64539],\"mapped\",[1582,1605]],[[64540,64540],\"mapped\",[1587,1580]],[[64541,64541],\"mapped\",[1587,1581]],[[64542,64542],\"mapped\",[1587,1582]],[[64543,64543],\"mapped\",[1587,1605]],[[64544,64544],\"mapped\",[1589,1581]],[[64545,64545],\"mapped\",[1589,1605]],[[64546,64546],\"mapped\",[1590,1580]],[[64547,64547],\"mapped\",[1590,1581]],[[64548,64548],\"mapped\",[1590,1582]],[[64549,64549],\"mapped\",[1590,1605]],[[64550,64550],\"mapped\",[1591,1581]],[[64551,64551],\"mapped\",[1591,1605]],[[64552,64552],\"mapped\",[1592,1605]],[[64553,64553],\"mapped\",[1593,1580]],[[64554,64554],\"mapped\",[1593,1605]],[[64555,64555],\"mapped\",[1594,1580]],[[64556,64556],\"mapped\",[1594,1605]],[[64557,64557],\"mapped\",[1601,1580]],[[64558,64558],\"mapped\",[1601,1581]],[[64559,64559],\"mapped\",[1601,1582]],[[64560,64560],\"mapped\",[1601,1605]],[[64561,64561],\"mapped\",[1601,1609]],[[64562,64562],\"mapped\",[1601,1610]],[[64563,64563],\"mapped\",[1602,1581]],[[64564,64564],\"mapped\",[1602,1605]],[[64565,64565],\"mapped\",[1602,1609]],[[64566,64566],\"mapped\",[1602,1610]],[[64567,64567],\"mapped\",[1603,1575]],[[64568,64568],\"mapped\",[1603,1580]],[[64569,64569],\"mapped\",[1603,1581]],[[64570,64570],\"mapped\",[1603,1582]],[[64571,64571],\"mapped\",[1603,1604]],[[64572,64572],\"mapped\",[1603,1605]],[[64573,64573],\"mapped\",[1603,1609]],[[64574,64574],\"mapped\",[1603,1610]],[[64575,64575],\"mapped\",[1604,1580]],[[64576,64576],\"mapped\",[1604,1581]],[[64577,64577],\"mapped\",[1604,1582]],[[64578,64578],\"mapped\",[1604,1605]],[[64579,64579],\"mapped\",[1604,1609]],[[64580,64580],\"mapped\",[1604,1610]],[[64581,64581],\"mapped\",[1605,1580]],[[64582,64582],\"mapped\",[1605,1581]],[[64583,64583],\"mapped\",[1605,1582]],[[64584,64584],\"mapped\",[1605,1605]],[[64585,64585],\"mapped\",[1605,1609]],[[64586,64586],\"mapped\",[1605,1610]],[[64587,64587],\"mapped\",[1606,1580]],[[64588,64588],\"mapped\",[1606,1581]],[[64589,64589],\"mapped\",[1606,1582]],[[64590,64590],\"mapped\",[1606,1605]],[[64591,64591],\"mapped\",[1606,1609]],[[64592,64592],\"mapped\",[1606,1610]],[[64593,64593],\"mapped\",[1607,1580]],[[64594,64594],\"mapped\",[1607,1605]],[[64595,64595],\"mapped\",[1607,1609]],[[64596,64596],\"mapped\",[1607,1610]],[[64597,64597],\"mapped\",[1610,1580]],[[64598,64598],\"mapped\",[1610,1581]],[[64599,64599],\"mapped\",[1610,1582]],[[64600,64600],\"mapped\",[1610,1605]],[[64601,64601],\"mapped\",[1610,1609]],[[64602,64602],\"mapped\",[1610,1610]],[[64603,64603],\"mapped\",[1584,1648]],[[64604,64604],\"mapped\",[1585,1648]],[[64605,64605],\"mapped\",[1609,1648]],[[64606,64606],\"disallowed_STD3_mapped\",[32,1612,1617]],[[64607,64607],\"disallowed_STD3_mapped\",[32,1613,1617]],[[64608,64608],\"disallowed_STD3_mapped\",[32,1614,1617]],[[64609,64609],\"disallowed_STD3_mapped\",[32,1615,1617]],[[64610,64610],\"disallowed_STD3_mapped\",[32,1616,1617]],[[64611,64611],\"disallowed_STD3_mapped\",[32,1617,1648]],[[64612,64612],\"mapped\",[1574,1585]],[[64613,64613],\"mapped\",[1574,1586]],[[64614,64614],\"mapped\",[1574,1605]],[[64615,64615],\"mapped\",[1574,1606]],[[64616,64616],\"mapped\",[1574,1609]],[[64617,64617],\"mapped\",[1574,1610]],[[64618,64618],\"mapped\",[1576,1585]],[[64619,64619],\"mapped\",[1576,1586]],[[64620,64620],\"mapped\",[1576,1605]],[[64621,64621],\"mapped\",[1576,1606]],[[64622,64622],\"mapped\",[1576,1609]],[[64623,64623],\"mapped\",[1576,1610]],[[64624,64624],\"mapped\",[1578,1585]],[[64625,64625],\"mapped\",[1578,1586]],[[64626,64626],\"mapped\",[1578,1605]],[[64627,64627],\"mapped\",[1578,1606]],[[64628,64628],\"mapped\",[1578,1609]],[[64629,64629],\"mapped\",[1578,1610]],[[64630,64630],\"mapped\",[1579,1585]],[[64631,64631],\"mapped\",[1579,1586]],[[64632,64632],\"mapped\",[1579,1605]],[[64633,64633],\"mapped\",[1579,1606]],[[64634,64634],\"mapped\",[1579,1609]],[[64635,64635],\"mapped\",[1579,1610]],[[64636,64636],\"mapped\",[1601,1609]],[[64637,64637],\"mapped\",[1601,1610]],[[64638,64638],\"mapped\",[1602,1609]],[[64639,64639],\"mapped\",[1602,1610]],[[64640,64640],\"mapped\",[1603,1575]],[[64641,64641],\"mapped\",[1603,1604]],[[64642,64642],\"mapped\",[1603,1605]],[[64643,64643],\"mapped\",[1603,1609]],[[64644,64644],\"mapped\",[1603,1610]],[[64645,64645],\"mapped\",[1604,1605]],[[64646,64646],\"mapped\",[1604,1609]],[[64647,64647],\"mapped\",[1604,1610]],[[64648,64648],\"mapped\",[1605,1575]],[[64649,64649],\"mapped\",[1605,1605]],[[64650,64650],\"mapped\",[1606,1585]],[[64651,64651],\"mapped\",[1606,1586]],[[64652,64652],\"mapped\",[1606,1605]],[[64653,64653],\"mapped\",[1606,1606]],[[64654,64654],\"mapped\",[1606,1609]],[[64655,64655],\"mapped\",[1606,1610]],[[64656,64656],\"mapped\",[1609,1648]],[[64657,64657],\"mapped\",[1610,1585]],[[64658,64658],\"mapped\",[1610,1586]],[[64659,64659],\"mapped\",[1610,1605]],[[64660,64660],\"mapped\",[1610,1606]],[[64661,64661],\"mapped\",[1610,1609]],[[64662,64662],\"mapped\",[1610,1610]],[[64663,64663],\"mapped\",[1574,1580]],[[64664,64664],\"mapped\",[1574,1581]],[[64665,64665],\"mapped\",[1574,1582]],[[64666,64666],\"mapped\",[1574,1605]],[[64667,64667],\"mapped\",[1574,1607]],[[64668,64668],\"mapped\",[1576,1580]],[[64669,64669],\"mapped\",[1576,1581]],[[64670,64670],\"mapped\",[1576,1582]],[[64671,64671],\"mapped\",[1576,1605]],[[64672,64672],\"mapped\",[1576,1607]],[[64673,64673],\"mapped\",[1578,1580]],[[64674,64674],\"mapped\",[1578,1581]],[[64675,64675],\"mapped\",[1578,1582]],[[64676,64676],\"mapped\",[1578,1605]],[[64677,64677],\"mapped\",[1578,1607]],[[64678,64678],\"mapped\",[1579,1605]],[[64679,64679],\"mapped\",[1580,1581]],[[64680,64680],\"mapped\",[1580,1605]],[[64681,64681],\"mapped\",[1581,1580]],[[64682,64682],\"mapped\",[1581,1605]],[[64683,64683],\"mapped\",[1582,1580]],[[64684,64684],\"mapped\",[1582,1605]],[[64685,64685],\"mapped\",[1587,1580]],[[64686,64686],\"mapped\",[1587,1581]],[[64687,64687],\"mapped\",[1587,1582]],[[64688,64688],\"mapped\",[1587,1605]],[[64689,64689],\"mapped\",[1589,1581]],[[64690,64690],\"mapped\",[1589,1582]],[[64691,64691],\"mapped\",[1589,1605]],[[64692,64692],\"mapped\",[1590,1580]],[[64693,64693],\"mapped\",[1590,1581]],[[64694,64694],\"mapped\",[1590,1582]],[[64695,64695],\"mapped\",[1590,1605]],[[64696,64696],\"mapped\",[1591,1581]],[[64697,64697],\"mapped\",[1592,1605]],[[64698,64698],\"mapped\",[1593,1580]],[[64699,64699],\"mapped\",[1593,1605]],[[64700,64700],\"mapped\",[1594,1580]],[[64701,64701],\"mapped\",[1594,1605]],[[64702,64702],\"mapped\",[1601,1580]],[[64703,64703],\"mapped\",[1601,1581]],[[64704,64704],\"mapped\",[1601,1582]],[[64705,64705],\"mapped\",[1601,1605]],[[64706,64706],\"mapped\",[1602,1581]],[[64707,64707],\"mapped\",[1602,1605]],[[64708,64708],\"mapped\",[1603,1580]],[[64709,64709],\"mapped\",[1603,1581]],[[64710,64710],\"mapped\",[1603,1582]],[[64711,64711],\"mapped\",[1603,1604]],[[64712,64712],\"mapped\",[1603,1605]],[[64713,64713],\"mapped\",[1604,1580]],[[64714,64714],\"mapped\",[1604,1581]],[[64715,64715],\"mapped\",[1604,1582]],[[64716,64716],\"mapped\",[1604,1605]],[[64717,64717],\"mapped\",[1604,1607]],[[64718,64718],\"mapped\",[1605,1580]],[[64719,64719],\"mapped\",[1605,1581]],[[64720,64720],\"mapped\",[1605,1582]],[[64721,64721],\"mapped\",[1605,1605]],[[64722,64722],\"mapped\",[1606,1580]],[[64723,64723],\"mapped\",[1606,1581]],[[64724,64724],\"mapped\",[1606,1582]],[[64725,64725],\"mapped\",[1606,1605]],[[64726,64726],\"mapped\",[1606,1607]],[[64727,64727],\"mapped\",[1607,1580]],[[64728,64728],\"mapped\",[1607,1605]],[[64729,64729],\"mapped\",[1607,1648]],[[64730,64730],\"mapped\",[1610,1580]],[[64731,64731],\"mapped\",[1610,1581]],[[64732,64732],\"mapped\",[1610,1582]],[[64733,64733],\"mapped\",[1610,1605]],[[64734,64734],\"mapped\",[1610,1607]],[[64735,64735],\"mapped\",[1574,1605]],[[64736,64736],\"mapped\",[1574,1607]],[[64737,64737],\"mapped\",[1576,1605]],[[64738,64738],\"mapped\",[1576,1607]],[[64739,64739],\"mapped\",[1578,1605]],[[64740,64740],\"mapped\",[1578,1607]],[[64741,64741],\"mapped\",[1579,1605]],[[64742,64742],\"mapped\",[1579,1607]],[[64743,64743],\"mapped\",[1587,1605]],[[64744,64744],\"mapped\",[1587,1607]],[[64745,64745],\"mapped\",[1588,1605]],[[64746,64746],\"mapped\",[1588,1607]],[[64747,64747],\"mapped\",[1603,1604]],[[64748,64748],\"mapped\",[1603,1605]],[[64749,64749],\"mapped\",[1604,1605]],[[64750,64750],\"mapped\",[1606,1605]],[[64751,64751],\"mapped\",[1606,1607]],[[64752,64752],\"mapped\",[1610,1605]],[[64753,64753],\"mapped\",[1610,1607]],[[64754,64754],\"mapped\",[1600,1614,1617]],[[64755,64755],\"mapped\",[1600,1615,1617]],[[64756,64756],\"mapped\",[1600,1616,1617]],[[64757,64757],\"mapped\",[1591,1609]],[[64758,64758],\"mapped\",[1591,1610]],[[64759,64759],\"mapped\",[1593,1609]],[[64760,64760],\"mapped\",[1593,1610]],[[64761,64761],\"mapped\",[1594,1609]],[[64762,64762],\"mapped\",[1594,1610]],[[64763,64763],\"mapped\",[1587,1609]],[[64764,64764],\"mapped\",[1587,1610]],[[64765,64765],\"mapped\",[1588,1609]],[[64766,64766],\"mapped\",[1588,1610]],[[64767,64767],\"mapped\",[1581,1609]],[[64768,64768],\"mapped\",[1581,1610]],[[64769,64769],\"mapped\",[1580,1609]],[[64770,64770],\"mapped\",[1580,1610]],[[64771,64771],\"mapped\",[1582,1609]],[[64772,64772],\"mapped\",[1582,1610]],[[64773,64773],\"mapped\",[1589,1609]],[[64774,64774],\"mapped\",[1589,1610]],[[64775,64775],\"mapped\",[1590,1609]],[[64776,64776],\"mapped\",[1590,1610]],[[64777,64777],\"mapped\",[1588,1580]],[[64778,64778],\"mapped\",[1588,1581]],[[64779,64779],\"mapped\",[1588,1582]],[[64780,64780],\"mapped\",[1588,1605]],[[64781,64781],\"mapped\",[1588,1585]],[[64782,64782],\"mapped\",[1587,1585]],[[64783,64783],\"mapped\",[1589,1585]],[[64784,64784],\"mapped\",[1590,1585]],[[64785,64785],\"mapped\",[1591,1609]],[[64786,64786],\"mapped\",[1591,1610]],[[64787,64787],\"mapped\",[1593,1609]],[[64788,64788],\"mapped\",[1593,1610]],[[64789,64789],\"mapped\",[1594,1609]],[[64790,64790],\"mapped\",[1594,1610]],[[64791,64791],\"mapped\",[1587,1609]],[[64792,64792],\"mapped\",[1587,1610]],[[64793,64793],\"mapped\",[1588,1609]],[[64794,64794],\"mapped\",[1588,1610]],[[64795,64795],\"mapped\",[1581,1609]],[[64796,64796],\"mapped\",[1581,1610]],[[64797,64797],\"mapped\",[1580,1609]],[[64798,64798],\"mapped\",[1580,1610]],[[64799,64799],\"mapped\",[1582,1609]],[[64800,64800],\"mapped\",[1582,1610]],[[64801,64801],\"mapped\",[1589,1609]],[[64802,64802],\"mapped\",[1589,1610]],[[64803,64803],\"mapped\",[1590,1609]],[[64804,64804],\"mapped\",[1590,1610]],[[64805,64805],\"mapped\",[1588,1580]],[[64806,64806],\"mapped\",[1588,1581]],[[64807,64807],\"mapped\",[1588,1582]],[[64808,64808],\"mapped\",[1588,1605]],[[64809,64809],\"mapped\",[1588,1585]],[[64810,64810],\"mapped\",[1587,1585]],[[64811,64811],\"mapped\",[1589,1585]],[[64812,64812],\"mapped\",[1590,1585]],[[64813,64813],\"mapped\",[1588,1580]],[[64814,64814],\"mapped\",[1588,1581]],[[64815,64815],\"mapped\",[1588,1582]],[[64816,64816],\"mapped\",[1588,1605]],[[64817,64817],\"mapped\",[1587,1607]],[[64818,64818],\"mapped\",[1588,1607]],[[64819,64819],\"mapped\",[1591,1605]],[[64820,64820],\"mapped\",[1587,1580]],[[64821,64821],\"mapped\",[1587,1581]],[[64822,64822],\"mapped\",[1587,1582]],[[64823,64823],\"mapped\",[1588,1580]],[[64824,64824],\"mapped\",[1588,1581]],[[64825,64825],\"mapped\",[1588,1582]],[[64826,64826],\"mapped\",[1591,1605]],[[64827,64827],\"mapped\",[1592,1605]],[[64828,64829],\"mapped\",[1575,1611]],[[64830,64831],\"valid\",[],\"NV8\"],[[64832,64847],\"disallowed\"],[[64848,64848],\"mapped\",[1578,1580,1605]],[[64849,64850],\"mapped\",[1578,1581,1580]],[[64851,64851],\"mapped\",[1578,1581,1605]],[[64852,64852],\"mapped\",[1578,1582,1605]],[[64853,64853],\"mapped\",[1578,1605,1580]],[[64854,64854],\"mapped\",[1578,1605,1581]],[[64855,64855],\"mapped\",[1578,1605,1582]],[[64856,64857],\"mapped\",[1580,1605,1581]],[[64858,64858],\"mapped\",[1581,1605,1610]],[[64859,64859],\"mapped\",[1581,1605,1609]],[[64860,64860],\"mapped\",[1587,1581,1580]],[[64861,64861],\"mapped\",[1587,1580,1581]],[[64862,64862],\"mapped\",[1587,1580,1609]],[[64863,64864],\"mapped\",[1587,1605,1581]],[[64865,64865],\"mapped\",[1587,1605,1580]],[[64866,64867],\"mapped\",[1587,1605,1605]],[[64868,64869],\"mapped\",[1589,1581,1581]],[[64870,64870],\"mapped\",[1589,1605,1605]],[[64871,64872],\"mapped\",[1588,1581,1605]],[[64873,64873],\"mapped\",[1588,1580,1610]],[[64874,64875],\"mapped\",[1588,1605,1582]],[[64876,64877],\"mapped\",[1588,1605,1605]],[[64878,64878],\"mapped\",[1590,1581,1609]],[[64879,64880],\"mapped\",[1590,1582,1605]],[[64881,64882],\"mapped\",[1591,1605,1581]],[[64883,64883],\"mapped\",[1591,1605,1605]],[[64884,64884],\"mapped\",[1591,1605,1610]],[[64885,64885],\"mapped\",[1593,1580,1605]],[[64886,64887],\"mapped\",[1593,1605,1605]],[[64888,64888],\"mapped\",[1593,1605,1609]],[[64889,64889],\"mapped\",[1594,1605,1605]],[[64890,64890],\"mapped\",[1594,1605,1610]],[[64891,64891],\"mapped\",[1594,1605,1609]],[[64892,64893],\"mapped\",[1601,1582,1605]],[[64894,64894],\"mapped\",[1602,1605,1581]],[[64895,64895],\"mapped\",[1602,1605,1605]],[[64896,64896],\"mapped\",[1604,1581,1605]],[[64897,64897],\"mapped\",[1604,1581,1610]],[[64898,64898],\"mapped\",[1604,1581,1609]],[[64899,64900],\"mapped\",[1604,1580,1580]],[[64901,64902],\"mapped\",[1604,1582,1605]],[[64903,64904],\"mapped\",[1604,1605,1581]],[[64905,64905],\"mapped\",[1605,1581,1580]],[[64906,64906],\"mapped\",[1605,1581,1605]],[[64907,64907],\"mapped\",[1605,1581,1610]],[[64908,64908],\"mapped\",[1605,1580,1581]],[[64909,64909],\"mapped\",[1605,1580,1605]],[[64910,64910],\"mapped\",[1605,1582,1580]],[[64911,64911],\"mapped\",[1605,1582,1605]],[[64912,64913],\"disallowed\"],[[64914,64914],\"mapped\",[1605,1580,1582]],[[64915,64915],\"mapped\",[1607,1605,1580]],[[64916,64916],\"mapped\",[1607,1605,1605]],[[64917,64917],\"mapped\",[1606,1581,1605]],[[64918,64918],\"mapped\",[1606,1581,1609]],[[64919,64920],\"mapped\",[1606,1580,1605]],[[64921,64921],\"mapped\",[1606,1580,1609]],[[64922,64922],\"mapped\",[1606,1605,1610]],[[64923,64923],\"mapped\",[1606,1605,1609]],[[64924,64925],\"mapped\",[1610,1605,1605]],[[64926,64926],\"mapped\",[1576,1582,1610]],[[64927,64927],\"mapped\",[1578,1580,1610]],[[64928,64928],\"mapped\",[1578,1580,1609]],[[64929,64929],\"mapped\",[1578,1582,1610]],[[64930,64930],\"mapped\",[1578,1582,1609]],[[64931,64931],\"mapped\",[1578,1605,1610]],[[64932,64932],\"mapped\",[1578,1605,1609]],[[64933,64933],\"mapped\",[1580,1605,1610]],[[64934,64934],\"mapped\",[1580,1581,1609]],[[64935,64935],\"mapped\",[1580,1605,1609]],[[64936,64936],\"mapped\",[1587,1582,1609]],[[64937,64937],\"mapped\",[1589,1581,1610]],[[64938,64938],\"mapped\",[1588,1581,1610]],[[64939,64939],\"mapped\",[1590,1581,1610]],[[64940,64940],\"mapped\",[1604,1580,1610]],[[64941,64941],\"mapped\",[1604,1605,1610]],[[64942,64942],\"mapped\",[1610,1581,1610]],[[64943,64943],\"mapped\",[1610,1580,1610]],[[64944,64944],\"mapped\",[1610,1605,1610]],[[64945,64945],\"mapped\",[1605,1605,1610]],[[64946,64946],\"mapped\",[1602,1605,1610]],[[64947,64947],\"mapped\",[1606,1581,1610]],[[64948,64948],\"mapped\",[1602,1605,1581]],[[64949,64949],\"mapped\",[1604,1581,1605]],[[64950,64950],\"mapped\",[1593,1605,1610]],[[64951,64951],\"mapped\",[1603,1605,1610]],[[64952,64952],\"mapped\",[1606,1580,1581]],[[64953,64953],\"mapped\",[1605,1582,1610]],[[64954,64954],\"mapped\",[1604,1580,1605]],[[64955,64955],\"mapped\",[1603,1605,1605]],[[64956,64956],\"mapped\",[1604,1580,1605]],[[64957,64957],\"mapped\",[1606,1580,1581]],[[64958,64958],\"mapped\",[1580,1581,1610]],[[64959,64959],\"mapped\",[1581,1580,1610]],[[64960,64960],\"mapped\",[1605,1580,1610]],[[64961,64961],\"mapped\",[1601,1605,1610]],[[64962,64962],\"mapped\",[1576,1581,1610]],[[64963,64963],\"mapped\",[1603,1605,1605]],[[64964,64964],\"mapped\",[1593,1580,1605]],[[64965,64965],\"mapped\",[1589,1605,1605]],[[64966,64966],\"mapped\",[1587,1582,1610]],[[64967,64967],\"mapped\",[1606,1580,1610]],[[64968,64975],\"disallowed\"],[[64976,65007],\"disallowed\"],[[65008,65008],\"mapped\",[1589,1604,1746]],[[65009,65009],\"mapped\",[1602,1604,1746]],[[65010,65010],\"mapped\",[1575,1604,1604,1607]],[[65011,65011],\"mapped\",[1575,1603,1576,1585]],[[65012,65012],\"mapped\",[1605,1581,1605,1583]],[[65013,65013],\"mapped\",[1589,1604,1593,1605]],[[65014,65014],\"mapped\",[1585,1587,1608,1604]],[[65015,65015],\"mapped\",[1593,1604,1610,1607]],[[65016,65016],\"mapped\",[1608,1587,1604,1605]],[[65017,65017],\"mapped\",[1589,1604,1609]],[[65018,65018],\"disallowed_STD3_mapped\",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],\"disallowed_STD3_mapped\",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],\"mapped\",[1585,1740,1575,1604]],[[65021,65021],\"valid\",[],\"NV8\"],[[65022,65023],\"disallowed\"],[[65024,65039],\"ignored\"],[[65040,65040],\"disallowed_STD3_mapped\",[44]],[[65041,65041],\"mapped\",[12289]],[[65042,65042],\"disallowed\"],[[65043,65043],\"disallowed_STD3_mapped\",[58]],[[65044,65044],\"disallowed_STD3_mapped\",[59]],[[65045,65045],\"disallowed_STD3_mapped\",[33]],[[65046,65046],\"disallowed_STD3_mapped\",[63]],[[65047,65047],\"mapped\",[12310]],[[65048,65048],\"mapped\",[12311]],[[65049,65049],\"disallowed\"],[[65050,65055],\"disallowed\"],[[65056,65059],\"valid\"],[[65060,65062],\"valid\"],[[65063,65069],\"valid\"],[[65070,65071],\"valid\"],[[65072,65072],\"disallowed\"],[[65073,65073],\"mapped\",[8212]],[[65074,65074],\"mapped\",[8211]],[[65075,65076],\"disallowed_STD3_mapped\",[95]],[[65077,65077],\"disallowed_STD3_mapped\",[40]],[[65078,65078],\"disallowed_STD3_mapped\",[41]],[[65079,65079],\"disallowed_STD3_mapped\",[123]],[[65080,65080],\"disallowed_STD3_mapped\",[125]],[[65081,65081],\"mapped\",[12308]],[[65082,65082],\"mapped\",[12309]],[[65083,65083],\"mapped\",[12304]],[[65084,65084],\"mapped\",[12305]],[[65085,65085],\"mapped\",[12298]],[[65086,65086],\"mapped\",[12299]],[[65087,65087],\"mapped\",[12296]],[[65088,65088],\"mapped\",[12297]],[[65089,65089],\"mapped\",[12300]],[[65090,65090],\"mapped\",[12301]],[[65091,65091],\"mapped\",[12302]],[[65092,65092],\"mapped\",[12303]],[[65093,65094],\"valid\",[],\"NV8\"],[[65095,65095],\"disallowed_STD3_mapped\",[91]],[[65096,65096],\"disallowed_STD3_mapped\",[93]],[[65097,65100],\"disallowed_STD3_mapped\",[32,773]],[[65101,65103],\"disallowed_STD3_mapped\",[95]],[[65104,65104],\"disallowed_STD3_mapped\",[44]],[[65105,65105],\"mapped\",[12289]],[[65106,65106],\"disallowed\"],[[65107,65107],\"disallowed\"],[[65108,65108],\"disallowed_STD3_mapped\",[59]],[[65109,65109],\"disallowed_STD3_mapped\",[58]],[[65110,65110],\"disallowed_STD3_mapped\",[63]],[[65111,65111],\"disallowed_STD3_mapped\",[33]],[[65112,65112],\"mapped\",[8212]],[[65113,65113],\"disallowed_STD3_mapped\",[40]],[[65114,65114],\"disallowed_STD3_mapped\",[41]],[[65115,65115],\"disallowed_STD3_mapped\",[123]],[[65116,65116],\"disallowed_STD3_mapped\",[125]],[[65117,65117],\"mapped\",[12308]],[[65118,65118],\"mapped\",[12309]],[[65119,65119],\"disallowed_STD3_mapped\",[35]],[[65120,65120],\"disallowed_STD3_mapped\",[38]],[[65121,65121],\"disallowed_STD3_mapped\",[42]],[[65122,65122],\"disallowed_STD3_mapped\",[43]],[[65123,65123],\"mapped\",[45]],[[65124,65124],\"disallowed_STD3_mapped\",[60]],[[65125,65125],\"disallowed_STD3_mapped\",[62]],[[65126,65126],\"disallowed_STD3_mapped\",[61]],[[65127,65127],\"disallowed\"],[[65128,65128],\"disallowed_STD3_mapped\",[92]],[[65129,65129],\"disallowed_STD3_mapped\",[36]],[[65130,65130],\"disallowed_STD3_mapped\",[37]],[[65131,65131],\"disallowed_STD3_mapped\",[64]],[[65132,65135],\"disallowed\"],[[65136,65136],\"disallowed_STD3_mapped\",[32,1611]],[[65137,65137],\"mapped\",[1600,1611]],[[65138,65138],\"disallowed_STD3_mapped\",[32,1612]],[[65139,65139],\"valid\"],[[65140,65140],\"disallowed_STD3_mapped\",[32,1613]],[[65141,65141],\"disallowed\"],[[65142,65142],\"disallowed_STD3_mapped\",[32,1614]],[[65143,65143],\"mapped\",[1600,1614]],[[65144,65144],\"disallowed_STD3_mapped\",[32,1615]],[[65145,65145],\"mapped\",[1600,1615]],[[65146,65146],\"disallowed_STD3_mapped\",[32,1616]],[[65147,65147],\"mapped\",[1600,1616]],[[65148,65148],\"disallowed_STD3_mapped\",[32,1617]],[[65149,65149],\"mapped\",[1600,1617]],[[65150,65150],\"disallowed_STD3_mapped\",[32,1618]],[[65151,65151],\"mapped\",[1600,1618]],[[65152,65152],\"mapped\",[1569]],[[65153,65154],\"mapped\",[1570]],[[65155,65156],\"mapped\",[1571]],[[65157,65158],\"mapped\",[1572]],[[65159,65160],\"mapped\",[1573]],[[65161,65164],\"mapped\",[1574]],[[65165,65166],\"mapped\",[1575]],[[65167,65170],\"mapped\",[1576]],[[65171,65172],\"mapped\",[1577]],[[65173,65176],\"mapped\",[1578]],[[65177,65180],\"mapped\",[1579]],[[65181,65184],\"mapped\",[1580]],[[65185,65188],\"mapped\",[1581]],[[65189,65192],\"mapped\",[1582]],[[65193,65194],\"mapped\",[1583]],[[65195,65196],\"mapped\",[1584]],[[65197,65198],\"mapped\",[1585]],[[65199,65200],\"mapped\",[1586]],[[65201,65204],\"mapped\",[1587]],[[65205,65208],\"mapped\",[1588]],[[65209,65212],\"mapped\",[1589]],[[65213,65216],\"mapped\",[1590]],[[65217,65220],\"mapped\",[1591]],[[65221,65224],\"mapped\",[1592]],[[65225,65228],\"mapped\",[1593]],[[65229,65232],\"mapped\",[1594]],[[65233,65236],\"mapped\",[1601]],[[65237,65240],\"mapped\",[1602]],[[65241,65244],\"mapped\",[1603]],[[65245,65248],\"mapped\",[1604]],[[65249,65252],\"mapped\",[1605]],[[65253,65256],\"mapped\",[1606]],[[65257,65260],\"mapped\",[1607]],[[65261,65262],\"mapped\",[1608]],[[65263,65264],\"mapped\",[1609]],[[65265,65268],\"mapped\",[1610]],[[65269,65270],\"mapped\",[1604,1570]],[[65271,65272],\"mapped\",[1604,1571]],[[65273,65274],\"mapped\",[1604,1573]],[[65275,65276],\"mapped\",[1604,1575]],[[65277,65278],\"disallowed\"],[[65279,65279],\"ignored\"],[[65280,65280],\"disallowed\"],[[65281,65281],\"disallowed_STD3_mapped\",[33]],[[65282,65282],\"disallowed_STD3_mapped\",[34]],[[65283,65283],\"disallowed_STD3_mapped\",[35]],[[65284,65284],\"disallowed_STD3_mapped\",[36]],[[65285,65285],\"disallowed_STD3_mapped\",[37]],[[65286,65286],\"disallowed_STD3_mapped\",[38]],[[65287,65287],\"disallowed_STD3_mapped\",[39]],[[65288,65288],\"disallowed_STD3_mapped\",[40]],[[65289,65289],\"disallowed_STD3_mapped\",[41]],[[65290,65290],\"disallowed_STD3_mapped\",[42]],[[65291,65291],\"disallowed_STD3_mapped\",[43]],[[65292,65292],\"disallowed_STD3_mapped\",[44]],[[65293,65293],\"mapped\",[45]],[[65294,65294],\"mapped\",[46]],[[65295,65295],\"disallowed_STD3_mapped\",[47]],[[65296,65296],\"mapped\",[48]],[[65297,65297],\"mapped\",[49]],[[65298,65298],\"mapped\",[50]],[[65299,65299],\"mapped\",[51]],[[65300,65300],\"mapped\",[52]],[[65301,65301],\"mapped\",[53]],[[65302,65302],\"mapped\",[54]],[[65303,65303],\"mapped\",[55]],[[65304,65304],\"mapped\",[56]],[[65305,65305],\"mapped\",[57]],[[65306,65306],\"disallowed_STD3_mapped\",[58]],[[65307,65307],\"disallowed_STD3_mapped\",[59]],[[65308,65308],\"disallowed_STD3_mapped\",[60]],[[65309,65309],\"disallowed_STD3_mapped\",[61]],[[65310,65310],\"disallowed_STD3_mapped\",[62]],[[65311,65311],\"disallowed_STD3_mapped\",[63]],[[65312,65312],\"disallowed_STD3_mapped\",[64]],[[65313,65313],\"mapped\",[97]],[[65314,65314],\"mapped\",[98]],[[65315,65315],\"mapped\",[99]],[[65316,65316],\"mapped\",[100]],[[65317,65317],\"mapped\",[101]],[[65318,65318],\"mapped\",[102]],[[65319,65319],\"mapped\",[103]],[[65320,65320],\"mapped\",[104]],[[65321,65321],\"mapped\",[105]],[[65322,65322],\"mapped\",[106]],[[65323,65323],\"mapped\",[107]],[[65324,65324],\"mapped\",[108]],[[65325,65325],\"mapped\",[109]],[[65326,65326],\"mapped\",[110]],[[65327,65327],\"mapped\",[111]],[[65328,65328],\"mapped\",[112]],[[65329,65329],\"mapped\",[113]],[[65330,65330],\"mapped\",[114]],[[65331,65331],\"mapped\",[115]],[[65332,65332],\"mapped\",[116]],[[65333,65333],\"mapped\",[117]],[[65334,65334],\"mapped\",[118]],[[65335,65335],\"mapped\",[119]],[[65336,65336],\"mapped\",[120]],[[65337,65337],\"mapped\",[121]],[[65338,65338],\"mapped\",[122]],[[65339,65339],\"disallowed_STD3_mapped\",[91]],[[65340,65340],\"disallowed_STD3_mapped\",[92]],[[65341,65341],\"disallowed_STD3_mapped\",[93]],[[65342,65342],\"disallowed_STD3_mapped\",[94]],[[65343,65343],\"disallowed_STD3_mapped\",[95]],[[65344,65344],\"disallowed_STD3_mapped\",[96]],[[65345,65345],\"mapped\",[97]],[[65346,65346],\"mapped\",[98]],[[65347,65347],\"mapped\",[99]],[[65348,65348],\"mapped\",[100]],[[65349,65349],\"mapped\",[101]],[[65350,65350],\"mapped\",[102]],[[65351,65351],\"mapped\",[103]],[[65352,65352],\"mapped\",[104]],[[65353,65353],\"mapped\",[105]],[[65354,65354],\"mapped\",[106]],[[65355,65355],\"mapped\",[107]],[[65356,65356],\"mapped\",[108]],[[65357,65357],\"mapped\",[109]],[[65358,65358],\"mapped\",[110]],[[65359,65359],\"mapped\",[111]],[[65360,65360],\"mapped\",[112]],[[65361,65361],\"mapped\",[113]],[[65362,65362],\"mapped\",[114]],[[65363,65363],\"mapped\",[115]],[[65364,65364],\"mapped\",[116]],[[65365,65365],\"mapped\",[117]],[[65366,65366],\"mapped\",[118]],[[65367,65367],\"mapped\",[119]],[[65368,65368],\"mapped\",[120]],[[65369,65369],\"mapped\",[121]],[[65370,65370],\"mapped\",[122]],[[65371,65371],\"disallowed_STD3_mapped\",[123]],[[65372,65372],\"disallowed_STD3_mapped\",[124]],[[65373,65373],\"disallowed_STD3_mapped\",[125]],[[65374,65374],\"disallowed_STD3_mapped\",[126]],[[65375,65375],\"mapped\",[10629]],[[65376,65376],\"mapped\",[10630]],[[65377,65377],\"mapped\",[46]],[[65378,65378],\"mapped\",[12300]],[[65379,65379],\"mapped\",[12301]],[[65380,65380],\"mapped\",[12289]],[[65381,65381],\"mapped\",[12539]],[[65382,65382],\"mapped\",[12530]],[[65383,65383],\"mapped\",[12449]],[[65384,65384],\"mapped\",[12451]],[[65385,65385],\"mapped\",[12453]],[[65386,65386],\"mapped\",[12455]],[[65387,65387],\"mapped\",[12457]],[[65388,65388],\"mapped\",[12515]],[[65389,65389],\"mapped\",[12517]],[[65390,65390],\"mapped\",[12519]],[[65391,65391],\"mapped\",[12483]],[[65392,65392],\"mapped\",[12540]],[[65393,65393],\"mapped\",[12450]],[[65394,65394],\"mapped\",[12452]],[[65395,65395],\"mapped\",[12454]],[[65396,65396],\"mapped\",[12456]],[[65397,65397],\"mapped\",[12458]],[[65398,65398],\"mapped\",[12459]],[[65399,65399],\"mapped\",[12461]],[[65400,65400],\"mapped\",[12463]],[[65401,65401],\"mapped\",[12465]],[[65402,65402],\"mapped\",[12467]],[[65403,65403],\"mapped\",[12469]],[[65404,65404],\"mapped\",[12471]],[[65405,65405],\"mapped\",[12473]],[[65406,65406],\"mapped\",[12475]],[[65407,65407],\"mapped\",[12477]],[[65408,65408],\"mapped\",[12479]],[[65409,65409],\"mapped\",[12481]],[[65410,65410],\"mapped\",[12484]],[[65411,65411],\"mapped\",[12486]],[[65412,65412],\"mapped\",[12488]],[[65413,65413],\"mapped\",[12490]],[[65414,65414],\"mapped\",[12491]],[[65415,65415],\"mapped\",[12492]],[[65416,65416],\"mapped\",[12493]],[[65417,65417],\"mapped\",[12494]],[[65418,65418],\"mapped\",[12495]],[[65419,65419],\"mapped\",[12498]],[[65420,65420],\"mapped\",[12501]],[[65421,65421],\"mapped\",[12504]],[[65422,65422],\"mapped\",[12507]],[[65423,65423],\"mapped\",[12510]],[[65424,65424],\"mapped\",[12511]],[[65425,65425],\"mapped\",[12512]],[[65426,65426],\"mapped\",[12513]],[[65427,65427],\"mapped\",[12514]],[[65428,65428],\"mapped\",[12516]],[[65429,65429],\"mapped\",[12518]],[[65430,65430],\"mapped\",[12520]],[[65431,65431],\"mapped\",[12521]],[[65432,65432],\"mapped\",[12522]],[[65433,65433],\"mapped\",[12523]],[[65434,65434],\"mapped\",[12524]],[[65435,65435],\"mapped\",[12525]],[[65436,65436],\"mapped\",[12527]],[[65437,65437],\"mapped\",[12531]],[[65438,65438],\"mapped\",[12441]],[[65439,65439],\"mapped\",[12442]],[[65440,65440],\"disallowed\"],[[65441,65441],\"mapped\",[4352]],[[65442,65442],\"mapped\",[4353]],[[65443,65443],\"mapped\",[4522]],[[65444,65444],\"mapped\",[4354]],[[65445,65445],\"mapped\",[4524]],[[65446,65446],\"mapped\",[4525]],[[65447,65447],\"mapped\",[4355]],[[65448,65448],\"mapped\",[4356]],[[65449,65449],\"mapped\",[4357]],[[65450,65450],\"mapped\",[4528]],[[65451,65451],\"mapped\",[4529]],[[65452,65452],\"mapped\",[4530]],[[65453,65453],\"mapped\",[4531]],[[65454,65454],\"mapped\",[4532]],[[65455,65455],\"mapped\",[4533]],[[65456,65456],\"mapped\",[4378]],[[65457,65457],\"mapped\",[4358]],[[65458,65458],\"mapped\",[4359]],[[65459,65459],\"mapped\",[4360]],[[65460,65460],\"mapped\",[4385]],[[65461,65461],\"mapped\",[4361]],[[65462,65462],\"mapped\",[4362]],[[65463,65463],\"mapped\",[4363]],[[65464,65464],\"mapped\",[4364]],[[65465,65465],\"mapped\",[4365]],[[65466,65466],\"mapped\",[4366]],[[65467,65467],\"mapped\",[4367]],[[65468,65468],\"mapped\",[4368]],[[65469,65469],\"mapped\",[4369]],[[65470,65470],\"mapped\",[4370]],[[65471,65473],\"disallowed\"],[[65474,65474],\"mapped\",[4449]],[[65475,65475],\"mapped\",[4450]],[[65476,65476],\"mapped\",[4451]],[[65477,65477],\"mapped\",[4452]],[[65478,65478],\"mapped\",[4453]],[[65479,65479],\"mapped\",[4454]],[[65480,65481],\"disallowed\"],[[65482,65482],\"mapped\",[4455]],[[65483,65483],\"mapped\",[4456]],[[65484,65484],\"mapped\",[4457]],[[65485,65485],\"mapped\",[4458]],[[65486,65486],\"mapped\",[4459]],[[65487,65487],\"mapped\",[4460]],[[65488,65489],\"disallowed\"],[[65490,65490],\"mapped\",[4461]],[[65491,65491],\"mapped\",[4462]],[[65492,65492],\"mapped\",[4463]],[[65493,65493],\"mapped\",[4464]],[[65494,65494],\"mapped\",[4465]],[[65495,65495],\"mapped\",[4466]],[[65496,65497],\"disallowed\"],[[65498,65498],\"mapped\",[4467]],[[65499,65499],\"mapped\",[4468]],[[65500,65500],\"mapped\",[4469]],[[65501,65503],\"disallowed\"],[[65504,65504],\"mapped\",[162]],[[65505,65505],\"mapped\",[163]],[[65506,65506],\"mapped\",[172]],[[65507,65507],\"disallowed_STD3_mapped\",[32,772]],[[65508,65508],\"mapped\",[166]],[[65509,65509],\"mapped\",[165]],[[65510,65510],\"mapped\",[8361]],[[65511,65511],\"disallowed\"],[[65512,65512],\"mapped\",[9474]],[[65513,65513],\"mapped\",[8592]],[[65514,65514],\"mapped\",[8593]],[[65515,65515],\"mapped\",[8594]],[[65516,65516],\"mapped\",[8595]],[[65517,65517],\"mapped\",[9632]],[[65518,65518],\"mapped\",[9675]],[[65519,65528],\"disallowed\"],[[65529,65531],\"disallowed\"],[[65532,65532],\"disallowed\"],[[65533,65533],\"disallowed\"],[[65534,65535],\"disallowed\"],[[65536,65547],\"valid\"],[[65548,65548],\"disallowed\"],[[65549,65574],\"valid\"],[[65575,65575],\"disallowed\"],[[65576,65594],\"valid\"],[[65595,65595],\"disallowed\"],[[65596,65597],\"valid\"],[[65598,65598],\"disallowed\"],[[65599,65613],\"valid\"],[[65614,65615],\"disallowed\"],[[65616,65629],\"valid\"],[[65630,65663],\"disallowed\"],[[65664,65786],\"valid\"],[[65787,65791],\"disallowed\"],[[65792,65794],\"valid\",[],\"NV8\"],[[65795,65798],\"disallowed\"],[[65799,65843],\"valid\",[],\"NV8\"],[[65844,65846],\"disallowed\"],[[65847,65855],\"valid\",[],\"NV8\"],[[65856,65930],\"valid\",[],\"NV8\"],[[65931,65932],\"valid\",[],\"NV8\"],[[65933,65935],\"disallowed\"],[[65936,65947],\"valid\",[],\"NV8\"],[[65948,65951],\"disallowed\"],[[65952,65952],\"valid\",[],\"NV8\"],[[65953,65999],\"disallowed\"],[[66000,66044],\"valid\",[],\"NV8\"],[[66045,66045],\"valid\"],[[66046,66175],\"disallowed\"],[[66176,66204],\"valid\"],[[66205,66207],\"disallowed\"],[[66208,66256],\"valid\"],[[66257,66271],\"disallowed\"],[[66272,66272],\"valid\"],[[66273,66299],\"valid\",[],\"NV8\"],[[66300,66303],\"disallowed\"],[[66304,66334],\"valid\"],[[66335,66335],\"valid\"],[[66336,66339],\"valid\",[],\"NV8\"],[[66340,66351],\"disallowed\"],[[66352,66368],\"valid\"],[[66369,66369],\"valid\",[],\"NV8\"],[[66370,66377],\"valid\"],[[66378,66378],\"valid\",[],\"NV8\"],[[66379,66383],\"disallowed\"],[[66384,66426],\"valid\"],[[66427,66431],\"disallowed\"],[[66432,66461],\"valid\"],[[66462,66462],\"disallowed\"],[[66463,66463],\"valid\",[],\"NV8\"],[[66464,66499],\"valid\"],[[66500,66503],\"disallowed\"],[[66504,66511],\"valid\"],[[66512,66517],\"valid\",[],\"NV8\"],[[66518,66559],\"disallowed\"],[[66560,66560],\"mapped\",[66600]],[[66561,66561],\"mapped\",[66601]],[[66562,66562],\"mapped\",[66602]],[[66563,66563],\"mapped\",[66603]],[[66564,66564],\"mapped\",[66604]],[[66565,66565],\"mapped\",[66605]],[[66566,66566],\"mapped\",[66606]],[[66567,66567],\"mapped\",[66607]],[[66568,66568],\"mapped\",[66608]],[[66569,66569],\"mapped\",[66609]],[[66570,66570],\"mapped\",[66610]],[[66571,66571],\"mapped\",[66611]],[[66572,66572],\"mapped\",[66612]],[[66573,66573],\"mapped\",[66613]],[[66574,66574],\"mapped\",[66614]],[[66575,66575],\"mapped\",[66615]],[[66576,66576],\"mapped\",[66616]],[[66577,66577],\"mapped\",[66617]],[[66578,66578],\"mapped\",[66618]],[[66579,66579],\"mapped\",[66619]],[[66580,66580],\"mapped\",[66620]],[[66581,66581],\"mapped\",[66621]],[[66582,66582],\"mapped\",[66622]],[[66583,66583],\"mapped\",[66623]],[[66584,66584],\"mapped\",[66624]],[[66585,66585],\"mapped\",[66625]],[[66586,66586],\"mapped\",[66626]],[[66587,66587],\"mapped\",[66627]],[[66588,66588],\"mapped\",[66628]],[[66589,66589],\"mapped\",[66629]],[[66590,66590],\"mapped\",[66630]],[[66591,66591],\"mapped\",[66631]],[[66592,66592],\"mapped\",[66632]],[[66593,66593],\"mapped\",[66633]],[[66594,66594],\"mapped\",[66634]],[[66595,66595],\"mapped\",[66635]],[[66596,66596],\"mapped\",[66636]],[[66597,66597],\"mapped\",[66637]],[[66598,66598],\"mapped\",[66638]],[[66599,66599],\"mapped\",[66639]],[[66600,66637],\"valid\"],[[66638,66717],\"valid\"],[[66718,66719],\"disallowed\"],[[66720,66729],\"valid\"],[[66730,66815],\"disallowed\"],[[66816,66855],\"valid\"],[[66856,66863],\"disallowed\"],[[66864,66915],\"valid\"],[[66916,66926],\"disallowed\"],[[66927,66927],\"valid\",[],\"NV8\"],[[66928,67071],\"disallowed\"],[[67072,67382],\"valid\"],[[67383,67391],\"disallowed\"],[[67392,67413],\"valid\"],[[67414,67423],\"disallowed\"],[[67424,67431],\"valid\"],[[67432,67583],\"disallowed\"],[[67584,67589],\"valid\"],[[67590,67591],\"disallowed\"],[[67592,67592],\"valid\"],[[67593,67593],\"disallowed\"],[[67594,67637],\"valid\"],[[67638,67638],\"disallowed\"],[[67639,67640],\"valid\"],[[67641,67643],\"disallowed\"],[[67644,67644],\"valid\"],[[67645,67646],\"disallowed\"],[[67647,67647],\"valid\"],[[67648,67669],\"valid\"],[[67670,67670],\"disallowed\"],[[67671,67679],\"valid\",[],\"NV8\"],[[67680,67702],\"valid\"],[[67703,67711],\"valid\",[],\"NV8\"],[[67712,67742],\"valid\"],[[67743,67750],\"disallowed\"],[[67751,67759],\"valid\",[],\"NV8\"],[[67760,67807],\"disallowed\"],[[67808,67826],\"valid\"],[[67827,67827],\"disallowed\"],[[67828,67829],\"valid\"],[[67830,67834],\"disallowed\"],[[67835,67839],\"valid\",[],\"NV8\"],[[67840,67861],\"valid\"],[[67862,67865],\"valid\",[],\"NV8\"],[[67866,67867],\"valid\",[],\"NV8\"],[[67868,67870],\"disallowed\"],[[67871,67871],\"valid\",[],\"NV8\"],[[67872,67897],\"valid\"],[[67898,67902],\"disallowed\"],[[67903,67903],\"valid\",[],\"NV8\"],[[67904,67967],\"disallowed\"],[[67968,68023],\"valid\"],[[68024,68027],\"disallowed\"],[[68028,68029],\"valid\",[],\"NV8\"],[[68030,68031],\"valid\"],[[68032,68047],\"valid\",[],\"NV8\"],[[68048,68049],\"disallowed\"],[[68050,68095],\"valid\",[],\"NV8\"],[[68096,68099],\"valid\"],[[68100,68100],\"disallowed\"],[[68101,68102],\"valid\"],[[68103,68107],\"disallowed\"],[[68108,68115],\"valid\"],[[68116,68116],\"disallowed\"],[[68117,68119],\"valid\"],[[68120,68120],\"disallowed\"],[[68121,68147],\"valid\"],[[68148,68151],\"disallowed\"],[[68152,68154],\"valid\"],[[68155,68158],\"disallowed\"],[[68159,68159],\"valid\"],[[68160,68167],\"valid\",[],\"NV8\"],[[68168,68175],\"disallowed\"],[[68176,68184],\"valid\",[],\"NV8\"],[[68185,68191],\"disallowed\"],[[68192,68220],\"valid\"],[[68221,68223],\"valid\",[],\"NV8\"],[[68224,68252],\"valid\"],[[68253,68255],\"valid\",[],\"NV8\"],[[68256,68287],\"disallowed\"],[[68288,68295],\"valid\"],[[68296,68296],\"valid\",[],\"NV8\"],[[68297,68326],\"valid\"],[[68327,68330],\"disallowed\"],[[68331,68342],\"valid\",[],\"NV8\"],[[68343,68351],\"disallowed\"],[[68352,68405],\"valid\"],[[68406,68408],\"disallowed\"],[[68409,68415],\"valid\",[],\"NV8\"],[[68416,68437],\"valid\"],[[68438,68439],\"disallowed\"],[[68440,68447],\"valid\",[],\"NV8\"],[[68448,68466],\"valid\"],[[68467,68471],\"disallowed\"],[[68472,68479],\"valid\",[],\"NV8\"],[[68480,68497],\"valid\"],[[68498,68504],\"disallowed\"],[[68505,68508],\"valid\",[],\"NV8\"],[[68509,68520],\"disallowed\"],[[68521,68527],\"valid\",[],\"NV8\"],[[68528,68607],\"disallowed\"],[[68608,68680],\"valid\"],[[68681,68735],\"disallowed\"],[[68736,68736],\"mapped\",[68800]],[[68737,68737],\"mapped\",[68801]],[[68738,68738],\"mapped\",[68802]],[[68739,68739],\"mapped\",[68803]],[[68740,68740],\"mapped\",[68804]],[[68741,68741],\"mapped\",[68805]],[[68742,68742],\"mapped\",[68806]],[[68743,68743],\"mapped\",[68807]],[[68744,68744],\"mapped\",[68808]],[[68745,68745],\"mapped\",[68809]],[[68746,68746],\"mapped\",[68810]],[[68747,68747],\"mapped\",[68811]],[[68748,68748],\"mapped\",[68812]],[[68749,68749],\"mapped\",[68813]],[[68750,68750],\"mapped\",[68814]],[[68751,68751],\"mapped\",[68815]],[[68752,68752],\"mapped\",[68816]],[[68753,68753],\"mapped\",[68817]],[[68754,68754],\"mapped\",[68818]],[[68755,68755],\"mapped\",[68819]],[[68756,68756],\"mapped\",[68820]],[[68757,68757],\"mapped\",[68821]],[[68758,68758],\"mapped\",[68822]],[[68759,68759],\"mapped\",[68823]],[[68760,68760],\"mapped\",[68824]],[[68761,68761],\"mapped\",[68825]],[[68762,68762],\"mapped\",[68826]],[[68763,68763],\"mapped\",[68827]],[[68764,68764],\"mapped\",[68828]],[[68765,68765],\"mapped\",[68829]],[[68766,68766],\"mapped\",[68830]],[[68767,68767],\"mapped\",[68831]],[[68768,68768],\"mapped\",[68832]],[[68769,68769],\"mapped\",[68833]],[[68770,68770],\"mapped\",[68834]],[[68771,68771],\"mapped\",[68835]],[[68772,68772],\"mapped\",[68836]],[[68773,68773],\"mapped\",[68837]],[[68774,68774],\"mapped\",[68838]],[[68775,68775],\"mapped\",[68839]],[[68776,68776],\"mapped\",[68840]],[[68777,68777],\"mapped\",[68841]],[[68778,68778],\"mapped\",[68842]],[[68779,68779],\"mapped\",[68843]],[[68780,68780],\"mapped\",[68844]],[[68781,68781],\"mapped\",[68845]],[[68782,68782],\"mapped\",[68846]],[[68783,68783],\"mapped\",[68847]],[[68784,68784],\"mapped\",[68848]],[[68785,68785],\"mapped\",[68849]],[[68786,68786],\"mapped\",[68850]],[[68787,68799],\"disallowed\"],[[68800,68850],\"valid\"],[[68851,68857],\"disallowed\"],[[68858,68863],\"valid\",[],\"NV8\"],[[68864,69215],\"disallowed\"],[[69216,69246],\"valid\",[],\"NV8\"],[[69247,69631],\"disallowed\"],[[69632,69702],\"valid\"],[[69703,69709],\"valid\",[],\"NV8\"],[[69710,69713],\"disallowed\"],[[69714,69733],\"valid\",[],\"NV8\"],[[69734,69743],\"valid\"],[[69744,69758],\"disallowed\"],[[69759,69759],\"valid\"],[[69760,69818],\"valid\"],[[69819,69820],\"valid\",[],\"NV8\"],[[69821,69821],\"disallowed\"],[[69822,69825],\"valid\",[],\"NV8\"],[[69826,69839],\"disallowed\"],[[69840,69864],\"valid\"],[[69865,69871],\"disallowed\"],[[69872,69881],\"valid\"],[[69882,69887],\"disallowed\"],[[69888,69940],\"valid\"],[[69941,69941],\"disallowed\"],[[69942,69951],\"valid\"],[[69952,69955],\"valid\",[],\"NV8\"],[[69956,69967],\"disallowed\"],[[69968,70003],\"valid\"],[[70004,70005],\"valid\",[],\"NV8\"],[[70006,70006],\"valid\"],[[70007,70015],\"disallowed\"],[[70016,70084],\"valid\"],[[70085,70088],\"valid\",[],\"NV8\"],[[70089,70089],\"valid\",[],\"NV8\"],[[70090,70092],\"valid\"],[[70093,70093],\"valid\",[],\"NV8\"],[[70094,70095],\"disallowed\"],[[70096,70105],\"valid\"],[[70106,70106],\"valid\"],[[70107,70107],\"valid\",[],\"NV8\"],[[70108,70108],\"valid\"],[[70109,70111],\"valid\",[],\"NV8\"],[[70112,70112],\"disallowed\"],[[70113,70132],\"valid\",[],\"NV8\"],[[70133,70143],\"disallowed\"],[[70144,70161],\"valid\"],[[70162,70162],\"disallowed\"],[[70163,70199],\"valid\"],[[70200,70205],\"valid\",[],\"NV8\"],[[70206,70271],\"disallowed\"],[[70272,70278],\"valid\"],[[70279,70279],\"disallowed\"],[[70280,70280],\"valid\"],[[70281,70281],\"disallowed\"],[[70282,70285],\"valid\"],[[70286,70286],\"disallowed\"],[[70287,70301],\"valid\"],[[70302,70302],\"disallowed\"],[[70303,70312],\"valid\"],[[70313,70313],\"valid\",[],\"NV8\"],[[70314,70319],\"disallowed\"],[[70320,70378],\"valid\"],[[70379,70383],\"disallowed\"],[[70384,70393],\"valid\"],[[70394,70399],\"disallowed\"],[[70400,70400],\"valid\"],[[70401,70403],\"valid\"],[[70404,70404],\"disallowed\"],[[70405,70412],\"valid\"],[[70413,70414],\"disallowed\"],[[70415,70416],\"valid\"],[[70417,70418],\"disallowed\"],[[70419,70440],\"valid\"],[[70441,70441],\"disallowed\"],[[70442,70448],\"valid\"],[[70449,70449],\"disallowed\"],[[70450,70451],\"valid\"],[[70452,70452],\"disallowed\"],[[70453,70457],\"valid\"],[[70458,70459],\"disallowed\"],[[70460,70468],\"valid\"],[[70469,70470],\"disallowed\"],[[70471,70472],\"valid\"],[[70473,70474],\"disallowed\"],[[70475,70477],\"valid\"],[[70478,70479],\"disallowed\"],[[70480,70480],\"valid\"],[[70481,70486],\"disallowed\"],[[70487,70487],\"valid\"],[[70488,70492],\"disallowed\"],[[70493,70499],\"valid\"],[[70500,70501],\"disallowed\"],[[70502,70508],\"valid\"],[[70509,70511],\"disallowed\"],[[70512,70516],\"valid\"],[[70517,70783],\"disallowed\"],[[70784,70853],\"valid\"],[[70854,70854],\"valid\",[],\"NV8\"],[[70855,70855],\"valid\"],[[70856,70863],\"disallowed\"],[[70864,70873],\"valid\"],[[70874,71039],\"disallowed\"],[[71040,71093],\"valid\"],[[71094,71095],\"disallowed\"],[[71096,71104],\"valid\"],[[71105,71113],\"valid\",[],\"NV8\"],[[71114,71127],\"valid\",[],\"NV8\"],[[71128,71133],\"valid\"],[[71134,71167],\"disallowed\"],[[71168,71232],\"valid\"],[[71233,71235],\"valid\",[],\"NV8\"],[[71236,71236],\"valid\"],[[71237,71247],\"disallowed\"],[[71248,71257],\"valid\"],[[71258,71295],\"disallowed\"],[[71296,71351],\"valid\"],[[71352,71359],\"disallowed\"],[[71360,71369],\"valid\"],[[71370,71423],\"disallowed\"],[[71424,71449],\"valid\"],[[71450,71452],\"disallowed\"],[[71453,71467],\"valid\"],[[71468,71471],\"disallowed\"],[[71472,71481],\"valid\"],[[71482,71487],\"valid\",[],\"NV8\"],[[71488,71839],\"disallowed\"],[[71840,71840],\"mapped\",[71872]],[[71841,71841],\"mapped\",[71873]],[[71842,71842],\"mapped\",[71874]],[[71843,71843],\"mapped\",[71875]],[[71844,71844],\"mapped\",[71876]],[[71845,71845],\"mapped\",[71877]],[[71846,71846],\"mapped\",[71878]],[[71847,71847],\"mapped\",[71879]],[[71848,71848],\"mapped\",[71880]],[[71849,71849],\"mapped\",[71881]],[[71850,71850],\"mapped\",[71882]],[[71851,71851],\"mapped\",[71883]],[[71852,71852],\"mapped\",[71884]],[[71853,71853],\"mapped\",[71885]],[[71854,71854],\"mapped\",[71886]],[[71855,71855],\"mapped\",[71887]],[[71856,71856],\"mapped\",[71888]],[[71857,71857],\"mapped\",[71889]],[[71858,71858],\"mapped\",[71890]],[[71859,71859],\"mapped\",[71891]],[[71860,71860],\"mapped\",[71892]],[[71861,71861],\"mapped\",[71893]],[[71862,71862],\"mapped\",[71894]],[[71863,71863],\"mapped\",[71895]],[[71864,71864],\"mapped\",[71896]],[[71865,71865],\"mapped\",[71897]],[[71866,71866],\"mapped\",[71898]],[[71867,71867],\"mapped\",[71899]],[[71868,71868],\"mapped\",[71900]],[[71869,71869],\"mapped\",[71901]],[[71870,71870],\"mapped\",[71902]],[[71871,71871],\"mapped\",[71903]],[[71872,71913],\"valid\"],[[71914,71922],\"valid\",[],\"NV8\"],[[71923,71934],\"disallowed\"],[[71935,71935],\"valid\"],[[71936,72383],\"disallowed\"],[[72384,72440],\"valid\"],[[72441,73727],\"disallowed\"],[[73728,74606],\"valid\"],[[74607,74648],\"valid\"],[[74649,74649],\"valid\"],[[74650,74751],\"disallowed\"],[[74752,74850],\"valid\",[],\"NV8\"],[[74851,74862],\"valid\",[],\"NV8\"],[[74863,74863],\"disallowed\"],[[74864,74867],\"valid\",[],\"NV8\"],[[74868,74868],\"valid\",[],\"NV8\"],[[74869,74879],\"disallowed\"],[[74880,75075],\"valid\"],[[75076,77823],\"disallowed\"],[[77824,78894],\"valid\"],[[78895,82943],\"disallowed\"],[[82944,83526],\"valid\"],[[83527,92159],\"disallowed\"],[[92160,92728],\"valid\"],[[92729,92735],\"disallowed\"],[[92736,92766],\"valid\"],[[92767,92767],\"disallowed\"],[[92768,92777],\"valid\"],[[92778,92781],\"disallowed\"],[[92782,92783],\"valid\",[],\"NV8\"],[[92784,92879],\"disallowed\"],[[92880,92909],\"valid\"],[[92910,92911],\"disallowed\"],[[92912,92916],\"valid\"],[[92917,92917],\"valid\",[],\"NV8\"],[[92918,92927],\"disallowed\"],[[92928,92982],\"valid\"],[[92983,92991],\"valid\",[],\"NV8\"],[[92992,92995],\"valid\"],[[92996,92997],\"valid\",[],\"NV8\"],[[92998,93007],\"disallowed\"],[[93008,93017],\"valid\"],[[93018,93018],\"disallowed\"],[[93019,93025],\"valid\",[],\"NV8\"],[[93026,93026],\"disallowed\"],[[93027,93047],\"valid\"],[[93048,93052],\"disallowed\"],[[93053,93071],\"valid\"],[[93072,93951],\"disallowed\"],[[93952,94020],\"valid\"],[[94021,94031],\"disallowed\"],[[94032,94078],\"valid\"],[[94079,94094],\"disallowed\"],[[94095,94111],\"valid\"],[[94112,110591],\"disallowed\"],[[110592,110593],\"valid\"],[[110594,113663],\"disallowed\"],[[113664,113770],\"valid\"],[[113771,113775],\"disallowed\"],[[113776,113788],\"valid\"],[[113789,113791],\"disallowed\"],[[113792,113800],\"valid\"],[[113801,113807],\"disallowed\"],[[113808,113817],\"valid\"],[[113818,113819],\"disallowed\"],[[113820,113820],\"valid\",[],\"NV8\"],[[113821,113822],\"valid\"],[[113823,113823],\"valid\",[],\"NV8\"],[[113824,113827],\"ignored\"],[[113828,118783],\"disallowed\"],[[118784,119029],\"valid\",[],\"NV8\"],[[119030,119039],\"disallowed\"],[[119040,119078],\"valid\",[],\"NV8\"],[[119079,119080],\"disallowed\"],[[119081,119081],\"valid\",[],\"NV8\"],[[119082,119133],\"valid\",[],\"NV8\"],[[119134,119134],\"mapped\",[119127,119141]],[[119135,119135],\"mapped\",[119128,119141]],[[119136,119136],\"mapped\",[119128,119141,119150]],[[119137,119137],\"mapped\",[119128,119141,119151]],[[119138,119138],\"mapped\",[119128,119141,119152]],[[119139,119139],\"mapped\",[119128,119141,119153]],[[119140,119140],\"mapped\",[119128,119141,119154]],[[119141,119154],\"valid\",[],\"NV8\"],[[119155,119162],\"disallowed\"],[[119163,119226],\"valid\",[],\"NV8\"],[[119227,119227],\"mapped\",[119225,119141]],[[119228,119228],\"mapped\",[119226,119141]],[[119229,119229],\"mapped\",[119225,119141,119150]],[[119230,119230],\"mapped\",[119226,119141,119150]],[[119231,119231],\"mapped\",[119225,119141,119151]],[[119232,119232],\"mapped\",[119226,119141,119151]],[[119233,119261],\"valid\",[],\"NV8\"],[[119262,119272],\"valid\",[],\"NV8\"],[[119273,119295],\"disallowed\"],[[119296,119365],\"valid\",[],\"NV8\"],[[119366,119551],\"disallowed\"],[[119552,119638],\"valid\",[],\"NV8\"],[[119639,119647],\"disallowed\"],[[119648,119665],\"valid\",[],\"NV8\"],[[119666,119807],\"disallowed\"],[[119808,119808],\"mapped\",[97]],[[119809,119809],\"mapped\",[98]],[[119810,119810],\"mapped\",[99]],[[119811,119811],\"mapped\",[100]],[[119812,119812],\"mapped\",[101]],[[119813,119813],\"mapped\",[102]],[[119814,119814],\"mapped\",[103]],[[119815,119815],\"mapped\",[104]],[[119816,119816],\"mapped\",[105]],[[119817,119817],\"mapped\",[106]],[[119818,119818],\"mapped\",[107]],[[119819,119819],\"mapped\",[108]],[[119820,119820],\"mapped\",[109]],[[119821,119821],\"mapped\",[110]],[[119822,119822],\"mapped\",[111]],[[119823,119823],\"mapped\",[112]],[[119824,119824],\"mapped\",[113]],[[119825,119825],\"mapped\",[114]],[[119826,119826],\"mapped\",[115]],[[119827,119827],\"mapped\",[116]],[[119828,119828],\"mapped\",[117]],[[119829,119829],\"mapped\",[118]],[[119830,119830],\"mapped\",[119]],[[119831,119831],\"mapped\",[120]],[[119832,119832],\"mapped\",[121]],[[119833,119833],\"mapped\",[122]],[[119834,119834],\"mapped\",[97]],[[119835,119835],\"mapped\",[98]],[[119836,119836],\"mapped\",[99]],[[119837,119837],\"mapped\",[100]],[[119838,119838],\"mapped\",[101]],[[119839,119839],\"mapped\",[102]],[[119840,119840],\"mapped\",[103]],[[119841,119841],\"mapped\",[104]],[[119842,119842],\"mapped\",[105]],[[119843,119843],\"mapped\",[106]],[[119844,119844],\"mapped\",[107]],[[119845,119845],\"mapped\",[108]],[[119846,119846],\"mapped\",[109]],[[119847,119847],\"mapped\",[110]],[[119848,119848],\"mapped\",[111]],[[119849,119849],\"mapped\",[112]],[[119850,119850],\"mapped\",[113]],[[119851,119851],\"mapped\",[114]],[[119852,119852],\"mapped\",[115]],[[119853,119853],\"mapped\",[116]],[[119854,119854],\"mapped\",[117]],[[119855,119855],\"mapped\",[118]],[[119856,119856],\"mapped\",[119]],[[119857,119857],\"mapped\",[120]],[[119858,119858],\"mapped\",[121]],[[119859,119859],\"mapped\",[122]],[[119860,119860],\"mapped\",[97]],[[119861,119861],\"mapped\",[98]],[[119862,119862],\"mapped\",[99]],[[119863,119863],\"mapped\",[100]],[[119864,119864],\"mapped\",[101]],[[119865,119865],\"mapped\",[102]],[[119866,119866],\"mapped\",[103]],[[119867,119867],\"mapped\",[104]],[[119868,119868],\"mapped\",[105]],[[119869,119869],\"mapped\",[106]],[[119870,119870],\"mapped\",[107]],[[119871,119871],\"mapped\",[108]],[[119872,119872],\"mapped\",[109]],[[119873,119873],\"mapped\",[110]],[[119874,119874],\"mapped\",[111]],[[119875,119875],\"mapped\",[112]],[[119876,119876],\"mapped\",[113]],[[119877,119877],\"mapped\",[114]],[[119878,119878],\"mapped\",[115]],[[119879,119879],\"mapped\",[116]],[[119880,119880],\"mapped\",[117]],[[119881,119881],\"mapped\",[118]],[[119882,119882],\"mapped\",[119]],[[119883,119883],\"mapped\",[120]],[[119884,119884],\"mapped\",[121]],[[119885,119885],\"mapped\",[122]],[[119886,119886],\"mapped\",[97]],[[119887,119887],\"mapped\",[98]],[[119888,119888],\"mapped\",[99]],[[119889,119889],\"mapped\",[100]],[[119890,119890],\"mapped\",[101]],[[119891,119891],\"mapped\",[102]],[[119892,119892],\"mapped\",[103]],[[119893,119893],\"disallowed\"],[[119894,119894],\"mapped\",[105]],[[119895,119895],\"mapped\",[106]],[[119896,119896],\"mapped\",[107]],[[119897,119897],\"mapped\",[108]],[[119898,119898],\"mapped\",[109]],[[119899,119899],\"mapped\",[110]],[[119900,119900],\"mapped\",[111]],[[119901,119901],\"mapped\",[112]],[[119902,119902],\"mapped\",[113]],[[119903,119903],\"mapped\",[114]],[[119904,119904],\"mapped\",[115]],[[119905,119905],\"mapped\",[116]],[[119906,119906],\"mapped\",[117]],[[119907,119907],\"mapped\",[118]],[[119908,119908],\"mapped\",[119]],[[119909,119909],\"mapped\",[120]],[[119910,119910],\"mapped\",[121]],[[119911,119911],\"mapped\",[122]],[[119912,119912],\"mapped\",[97]],[[119913,119913],\"mapped\",[98]],[[119914,119914],\"mapped\",[99]],[[119915,119915],\"mapped\",[100]],[[119916,119916],\"mapped\",[101]],[[119917,119917],\"mapped\",[102]],[[119918,119918],\"mapped\",[103]],[[119919,119919],\"mapped\",[104]],[[119920,119920],\"mapped\",[105]],[[119921,119921],\"mapped\",[106]],[[119922,119922],\"mapped\",[107]],[[119923,119923],\"mapped\",[108]],[[119924,119924],\"mapped\",[109]],[[119925,119925],\"mapped\",[110]],[[119926,119926],\"mapped\",[111]],[[119927,119927],\"mapped\",[112]],[[119928,119928],\"mapped\",[113]],[[119929,119929],\"mapped\",[114]],[[119930,119930],\"mapped\",[115]],[[119931,119931],\"mapped\",[116]],[[119932,119932],\"mapped\",[117]],[[119933,119933],\"mapped\",[118]],[[119934,119934],\"mapped\",[119]],[[119935,119935],\"mapped\",[120]],[[119936,119936],\"mapped\",[121]],[[119937,119937],\"mapped\",[122]],[[119938,119938],\"mapped\",[97]],[[119939,119939],\"mapped\",[98]],[[119940,119940],\"mapped\",[99]],[[119941,119941],\"mapped\",[100]],[[119942,119942],\"mapped\",[101]],[[119943,119943],\"mapped\",[102]],[[119944,119944],\"mapped\",[103]],[[119945,119945],\"mapped\",[104]],[[119946,119946],\"mapped\",[105]],[[119947,119947],\"mapped\",[106]],[[119948,119948],\"mapped\",[107]],[[119949,119949],\"mapped\",[108]],[[119950,119950],\"mapped\",[109]],[[119951,119951],\"mapped\",[110]],[[119952,119952],\"mapped\",[111]],[[119953,119953],\"mapped\",[112]],[[119954,119954],\"mapped\",[113]],[[119955,119955],\"mapped\",[114]],[[119956,119956],\"mapped\",[115]],[[119957,119957],\"mapped\",[116]],[[119958,119958],\"mapped\",[117]],[[119959,119959],\"mapped\",[118]],[[119960,119960],\"mapped\",[119]],[[119961,119961],\"mapped\",[120]],[[119962,119962],\"mapped\",[121]],[[119963,119963],\"mapped\",[122]],[[119964,119964],\"mapped\",[97]],[[119965,119965],\"disallowed\"],[[119966,119966],\"mapped\",[99]],[[119967,119967],\"mapped\",[100]],[[119968,119969],\"disallowed\"],[[119970,119970],\"mapped\",[103]],[[119971,119972],\"disallowed\"],[[119973,119973],\"mapped\",[106]],[[119974,119974],\"mapped\",[107]],[[119975,119976],\"disallowed\"],[[119977,119977],\"mapped\",[110]],[[119978,119978],\"mapped\",[111]],[[119979,119979],\"mapped\",[112]],[[119980,119980],\"mapped\",[113]],[[119981,119981],\"disallowed\"],[[119982,119982],\"mapped\",[115]],[[119983,119983],\"mapped\",[116]],[[119984,119984],\"mapped\",[117]],[[119985,119985],\"mapped\",[118]],[[119986,119986],\"mapped\",[119]],[[119987,119987],\"mapped\",[120]],[[119988,119988],\"mapped\",[121]],[[119989,119989],\"mapped\",[122]],[[119990,119990],\"mapped\",[97]],[[119991,119991],\"mapped\",[98]],[[119992,119992],\"mapped\",[99]],[[119993,119993],\"mapped\",[100]],[[119994,119994],\"disallowed\"],[[119995,119995],\"mapped\",[102]],[[119996,119996],\"disallowed\"],[[119997,119997],\"mapped\",[104]],[[119998,119998],\"mapped\",[105]],[[119999,119999],\"mapped\",[106]],[[120000,120000],\"mapped\",[107]],[[120001,120001],\"mapped\",[108]],[[120002,120002],\"mapped\",[109]],[[120003,120003],\"mapped\",[110]],[[120004,120004],\"disallowed\"],[[120005,120005],\"mapped\",[112]],[[120006,120006],\"mapped\",[113]],[[120007,120007],\"mapped\",[114]],[[120008,120008],\"mapped\",[115]],[[120009,120009],\"mapped\",[116]],[[120010,120010],\"mapped\",[117]],[[120011,120011],\"mapped\",[118]],[[120012,120012],\"mapped\",[119]],[[120013,120013],\"mapped\",[120]],[[120014,120014],\"mapped\",[121]],[[120015,120015],\"mapped\",[122]],[[120016,120016],\"mapped\",[97]],[[120017,120017],\"mapped\",[98]],[[120018,120018],\"mapped\",[99]],[[120019,120019],\"mapped\",[100]],[[120020,120020],\"mapped\",[101]],[[120021,120021],\"mapped\",[102]],[[120022,120022],\"mapped\",[103]],[[120023,120023],\"mapped\",[104]],[[120024,120024],\"mapped\",[105]],[[120025,120025],\"mapped\",[106]],[[120026,120026],\"mapped\",[107]],[[120027,120027],\"mapped\",[108]],[[120028,120028],\"mapped\",[109]],[[120029,120029],\"mapped\",[110]],[[120030,120030],\"mapped\",[111]],[[120031,120031],\"mapped\",[112]],[[120032,120032],\"mapped\",[113]],[[120033,120033],\"mapped\",[114]],[[120034,120034],\"mapped\",[115]],[[120035,120035],\"mapped\",[116]],[[120036,120036],\"mapped\",[117]],[[120037,120037],\"mapped\",[118]],[[120038,120038],\"mapped\",[119]],[[120039,120039],\"mapped\",[120]],[[120040,120040],\"mapped\",[121]],[[120041,120041],\"mapped\",[122]],[[120042,120042],\"mapped\",[97]],[[120043,120043],\"mapped\",[98]],[[120044,120044],\"mapped\",[99]],[[120045,120045],\"mapped\",[100]],[[120046,120046],\"mapped\",[101]],[[120047,120047],\"mapped\",[102]],[[120048,120048],\"mapped\",[103]],[[120049,120049],\"mapped\",[104]],[[120050,120050],\"mapped\",[105]],[[120051,120051],\"mapped\",[106]],[[120052,120052],\"mapped\",[107]],[[120053,120053],\"mapped\",[108]],[[120054,120054],\"mapped\",[109]],[[120055,120055],\"mapped\",[110]],[[120056,120056],\"mapped\",[111]],[[120057,120057],\"mapped\",[112]],[[120058,120058],\"mapped\",[113]],[[120059,120059],\"mapped\",[114]],[[120060,120060],\"mapped\",[115]],[[120061,120061],\"mapped\",[116]],[[120062,120062],\"mapped\",[117]],[[120063,120063],\"mapped\",[118]],[[120064,120064],\"mapped\",[119]],[[120065,120065],\"mapped\",[120]],[[120066,120066],\"mapped\",[121]],[[120067,120067],\"mapped\",[122]],[[120068,120068],\"mapped\",[97]],[[120069,120069],\"mapped\",[98]],[[120070,120070],\"disallowed\"],[[120071,120071],\"mapped\",[100]],[[120072,120072],\"mapped\",[101]],[[120073,120073],\"mapped\",[102]],[[120074,120074],\"mapped\",[103]],[[120075,120076],\"disallowed\"],[[120077,120077],\"mapped\",[106]],[[120078,120078],\"mapped\",[107]],[[120079,120079],\"mapped\",[108]],[[120080,120080],\"mapped\",[109]],[[120081,120081],\"mapped\",[110]],[[120082,120082],\"mapped\",[111]],[[120083,120083],\"mapped\",[112]],[[120084,120084],\"mapped\",[113]],[[120085,120085],\"disallowed\"],[[120086,120086],\"mapped\",[115]],[[120087,120087],\"mapped\",[116]],[[120088,120088],\"mapped\",[117]],[[120089,120089],\"mapped\",[118]],[[120090,120090],\"mapped\",[119]],[[120091,120091],\"mapped\",[120]],[[120092,120092],\"mapped\",[121]],[[120093,120093],\"disallowed\"],[[120094,120094],\"mapped\",[97]],[[120095,120095],\"mapped\",[98]],[[120096,120096],\"mapped\",[99]],[[120097,120097],\"mapped\",[100]],[[120098,120098],\"mapped\",[101]],[[120099,120099],\"mapped\",[102]],[[120100,120100],\"mapped\",[103]],[[120101,120101],\"mapped\",[104]],[[120102,120102],\"mapped\",[105]],[[120103,120103],\"mapped\",[106]],[[120104,120104],\"mapped\",[107]],[[120105,120105],\"mapped\",[108]],[[120106,120106],\"mapped\",[109]],[[120107,120107],\"mapped\",[110]],[[120108,120108],\"mapped\",[111]],[[120109,120109],\"mapped\",[112]],[[120110,120110],\"mapped\",[113]],[[120111,120111],\"mapped\",[114]],[[120112,120112],\"mapped\",[115]],[[120113,120113],\"mapped\",[116]],[[120114,120114],\"mapped\",[117]],[[120115,120115],\"mapped\",[118]],[[120116,120116],\"mapped\",[119]],[[120117,120117],\"mapped\",[120]],[[120118,120118],\"mapped\",[121]],[[120119,120119],\"mapped\",[122]],[[120120,120120],\"mapped\",[97]],[[120121,120121],\"mapped\",[98]],[[120122,120122],\"disallowed\"],[[120123,120123],\"mapped\",[100]],[[120124,120124],\"mapped\",[101]],[[120125,120125],\"mapped\",[102]],[[120126,120126],\"mapped\",[103]],[[120127,120127],\"disallowed\"],[[120128,120128],\"mapped\",[105]],[[120129,120129],\"mapped\",[106]],[[120130,120130],\"mapped\",[107]],[[120131,120131],\"mapped\",[108]],[[120132,120132],\"mapped\",[109]],[[120133,120133],\"disallowed\"],[[120134,120134],\"mapped\",[111]],[[120135,120137],\"disallowed\"],[[120138,120138],\"mapped\",[115]],[[120139,120139],\"mapped\",[116]],[[120140,120140],\"mapped\",[117]],[[120141,120141],\"mapped\",[118]],[[120142,120142],\"mapped\",[119]],[[120143,120143],\"mapped\",[120]],[[120144,120144],\"mapped\",[121]],[[120145,120145],\"disallowed\"],[[120146,120146],\"mapped\",[97]],[[120147,120147],\"mapped\",[98]],[[120148,120148],\"mapped\",[99]],[[120149,120149],\"mapped\",[100]],[[120150,120150],\"mapped\",[101]],[[120151,120151],\"mapped\",[102]],[[120152,120152],\"mapped\",[103]],[[120153,120153],\"mapped\",[104]],[[120154,120154],\"mapped\",[105]],[[120155,120155],\"mapped\",[106]],[[120156,120156],\"mapped\",[107]],[[120157,120157],\"mapped\",[108]],[[120158,120158],\"mapped\",[109]],[[120159,120159],\"mapped\",[110]],[[120160,120160],\"mapped\",[111]],[[120161,120161],\"mapped\",[112]],[[120162,120162],\"mapped\",[113]],[[120163,120163],\"mapped\",[114]],[[120164,120164],\"mapped\",[115]],[[120165,120165],\"mapped\",[116]],[[120166,120166],\"mapped\",[117]],[[120167,120167],\"mapped\",[118]],[[120168,120168],\"mapped\",[119]],[[120169,120169],\"mapped\",[120]],[[120170,120170],\"mapped\",[121]],[[120171,120171],\"mapped\",[122]],[[120172,120172],\"mapped\",[97]],[[120173,120173],\"mapped\",[98]],[[120174,120174],\"mapped\",[99]],[[120175,120175],\"mapped\",[100]],[[120176,120176],\"mapped\",[101]],[[120177,120177],\"mapped\",[102]],[[120178,120178],\"mapped\",[103]],[[120179,120179],\"mapped\",[104]],[[120180,120180],\"mapped\",[105]],[[120181,120181],\"mapped\",[106]],[[120182,120182],\"mapped\",[107]],[[120183,120183],\"mapped\",[108]],[[120184,120184],\"mapped\",[109]],[[120185,120185],\"mapped\",[110]],[[120186,120186],\"mapped\",[111]],[[120187,120187],\"mapped\",[112]],[[120188,120188],\"mapped\",[113]],[[120189,120189],\"mapped\",[114]],[[120190,120190],\"mapped\",[115]],[[120191,120191],\"mapped\",[116]],[[120192,120192],\"mapped\",[117]],[[120193,120193],\"mapped\",[118]],[[120194,120194],\"mapped\",[119]],[[120195,120195],\"mapped\",[120]],[[120196,120196],\"mapped\",[121]],[[120197,120197],\"mapped\",[122]],[[120198,120198],\"mapped\",[97]],[[120199,120199],\"mapped\",[98]],[[120200,120200],\"mapped\",[99]],[[120201,120201],\"mapped\",[100]],[[120202,120202],\"mapped\",[101]],[[120203,120203],\"mapped\",[102]],[[120204,120204],\"mapped\",[103]],[[120205,120205],\"mapped\",[104]],[[120206,120206],\"mapped\",[105]],[[120207,120207],\"mapped\",[106]],[[120208,120208],\"mapped\",[107]],[[120209,120209],\"mapped\",[108]],[[120210,120210],\"mapped\",[109]],[[120211,120211],\"mapped\",[110]],[[120212,120212],\"mapped\",[111]],[[120213,120213],\"mapped\",[112]],[[120214,120214],\"mapped\",[113]],[[120215,120215],\"mapped\",[114]],[[120216,120216],\"mapped\",[115]],[[120217,120217],\"mapped\",[116]],[[120218,120218],\"mapped\",[117]],[[120219,120219],\"mapped\",[118]],[[120220,120220],\"mapped\",[119]],[[120221,120221],\"mapped\",[120]],[[120222,120222],\"mapped\",[121]],[[120223,120223],\"mapped\",[122]],[[120224,120224],\"mapped\",[97]],[[120225,120225],\"mapped\",[98]],[[120226,120226],\"mapped\",[99]],[[120227,120227],\"mapped\",[100]],[[120228,120228],\"mapped\",[101]],[[120229,120229],\"mapped\",[102]],[[120230,120230],\"mapped\",[103]],[[120231,120231],\"mapped\",[104]],[[120232,120232],\"mapped\",[105]],[[120233,120233],\"mapped\",[106]],[[120234,120234],\"mapped\",[107]],[[120235,120235],\"mapped\",[108]],[[120236,120236],\"mapped\",[109]],[[120237,120237],\"mapped\",[110]],[[120238,120238],\"mapped\",[111]],[[120239,120239],\"mapped\",[112]],[[120240,120240],\"mapped\",[113]],[[120241,120241],\"mapped\",[114]],[[120242,120242],\"mapped\",[115]],[[120243,120243],\"mapped\",[116]],[[120244,120244],\"mapped\",[117]],[[120245,120245],\"mapped\",[118]],[[120246,120246],\"mapped\",[119]],[[120247,120247],\"mapped\",[120]],[[120248,120248],\"mapped\",[121]],[[120249,120249],\"mapped\",[122]],[[120250,120250],\"mapped\",[97]],[[120251,120251],\"mapped\",[98]],[[120252,120252],\"mapped\",[99]],[[120253,120253],\"mapped\",[100]],[[120254,120254],\"mapped\",[101]],[[120255,120255],\"mapped\",[102]],[[120256,120256],\"mapped\",[103]],[[120257,120257],\"mapped\",[104]],[[120258,120258],\"mapped\",[105]],[[120259,120259],\"mapped\",[106]],[[120260,120260],\"mapped\",[107]],[[120261,120261],\"mapped\",[108]],[[120262,120262],\"mapped\",[109]],[[120263,120263],\"mapped\",[110]],[[120264,120264],\"mapped\",[111]],[[120265,120265],\"mapped\",[112]],[[120266,120266],\"mapped\",[113]],[[120267,120267],\"mapped\",[114]],[[120268,120268],\"mapped\",[115]],[[120269,120269],\"mapped\",[116]],[[120270,120270],\"mapped\",[117]],[[120271,120271],\"mapped\",[118]],[[120272,120272],\"mapped\",[119]],[[120273,120273],\"mapped\",[120]],[[120274,120274],\"mapped\",[121]],[[120275,120275],\"mapped\",[122]],[[120276,120276],\"mapped\",[97]],[[120277,120277],\"mapped\",[98]],[[120278,120278],\"mapped\",[99]],[[120279,120279],\"mapped\",[100]],[[120280,120280],\"mapped\",[101]],[[120281,120281],\"mapped\",[102]],[[120282,120282],\"mapped\",[103]],[[120283,120283],\"mapped\",[104]],[[120284,120284],\"mapped\",[105]],[[120285,120285],\"mapped\",[106]],[[120286,120286],\"mapped\",[107]],[[120287,120287],\"mapped\",[108]],[[120288,120288],\"mapped\",[109]],[[120289,120289],\"mapped\",[110]],[[120290,120290],\"mapped\",[111]],[[120291,120291],\"mapped\",[112]],[[120292,120292],\"mapped\",[113]],[[120293,120293],\"mapped\",[114]],[[120294,120294],\"mapped\",[115]],[[120295,120295],\"mapped\",[116]],[[120296,120296],\"mapped\",[117]],[[120297,120297],\"mapped\",[118]],[[120298,120298],\"mapped\",[119]],[[120299,120299],\"mapped\",[120]],[[120300,120300],\"mapped\",[121]],[[120301,120301],\"mapped\",[122]],[[120302,120302],\"mapped\",[97]],[[120303,120303],\"mapped\",[98]],[[120304,120304],\"mapped\",[99]],[[120305,120305],\"mapped\",[100]],[[120306,120306],\"mapped\",[101]],[[120307,120307],\"mapped\",[102]],[[120308,120308],\"mapped\",[103]],[[120309,120309],\"mapped\",[104]],[[120310,120310],\"mapped\",[105]],[[120311,120311],\"mapped\",[106]],[[120312,120312],\"mapped\",[107]],[[120313,120313],\"mapped\",[108]],[[120314,120314],\"mapped\",[109]],[[120315,120315],\"mapped\",[110]],[[120316,120316],\"mapped\",[111]],[[120317,120317],\"mapped\",[112]],[[120318,120318],\"mapped\",[113]],[[120319,120319],\"mapped\",[114]],[[120320,120320],\"mapped\",[115]],[[120321,120321],\"mapped\",[116]],[[120322,120322],\"mapped\",[117]],[[120323,120323],\"mapped\",[118]],[[120324,120324],\"mapped\",[119]],[[120325,120325],\"mapped\",[120]],[[120326,120326],\"mapped\",[121]],[[120327,120327],\"mapped\",[122]],[[120328,120328],\"mapped\",[97]],[[120329,120329],\"mapped\",[98]],[[120330,120330],\"mapped\",[99]],[[120331,120331],\"mapped\",[100]],[[120332,120332],\"mapped\",[101]],[[120333,120333],\"mapped\",[102]],[[120334,120334],\"mapped\",[103]],[[120335,120335],\"mapped\",[104]],[[120336,120336],\"mapped\",[105]],[[120337,120337],\"mapped\",[106]],[[120338,120338],\"mapped\",[107]],[[120339,120339],\"mapped\",[108]],[[120340,120340],\"mapped\",[109]],[[120341,120341],\"mapped\",[110]],[[120342,120342],\"mapped\",[111]],[[120343,120343],\"mapped\",[112]],[[120344,120344],\"mapped\",[113]],[[120345,120345],\"mapped\",[114]],[[120346,120346],\"mapped\",[115]],[[120347,120347],\"mapped\",[116]],[[120348,120348],\"mapped\",[117]],[[120349,120349],\"mapped\",[118]],[[120350,120350],\"mapped\",[119]],[[120351,120351],\"mapped\",[120]],[[120352,120352],\"mapped\",[121]],[[120353,120353],\"mapped\",[122]],[[120354,120354],\"mapped\",[97]],[[120355,120355],\"mapped\",[98]],[[120356,120356],\"mapped\",[99]],[[120357,120357],\"mapped\",[100]],[[120358,120358],\"mapped\",[101]],[[120359,120359],\"mapped\",[102]],[[120360,120360],\"mapped\",[103]],[[120361,120361],\"mapped\",[104]],[[120362,120362],\"mapped\",[105]],[[120363,120363],\"mapped\",[106]],[[120364,120364],\"mapped\",[107]],[[120365,120365],\"mapped\",[108]],[[120366,120366],\"mapped\",[109]],[[120367,120367],\"mapped\",[110]],[[120368,120368],\"mapped\",[111]],[[120369,120369],\"mapped\",[112]],[[120370,120370],\"mapped\",[113]],[[120371,120371],\"mapped\",[114]],[[120372,120372],\"mapped\",[115]],[[120373,120373],\"mapped\",[116]],[[120374,120374],\"mapped\",[117]],[[120375,120375],\"mapped\",[118]],[[120376,120376],\"mapped\",[119]],[[120377,120377],\"mapped\",[120]],[[120378,120378],\"mapped\",[121]],[[120379,120379],\"mapped\",[122]],[[120380,120380],\"mapped\",[97]],[[120381,120381],\"mapped\",[98]],[[120382,120382],\"mapped\",[99]],[[120383,120383],\"mapped\",[100]],[[120384,120384],\"mapped\",[101]],[[120385,120385],\"mapped\",[102]],[[120386,120386],\"mapped\",[103]],[[120387,120387],\"mapped\",[104]],[[120388,120388],\"mapped\",[105]],[[120389,120389],\"mapped\",[106]],[[120390,120390],\"mapped\",[107]],[[120391,120391],\"mapped\",[108]],[[120392,120392],\"mapped\",[109]],[[120393,120393],\"mapped\",[110]],[[120394,120394],\"mapped\",[111]],[[120395,120395],\"mapped\",[112]],[[120396,120396],\"mapped\",[113]],[[120397,120397],\"mapped\",[114]],[[120398,120398],\"mapped\",[115]],[[120399,120399],\"mapped\",[116]],[[120400,120400],\"mapped\",[117]],[[120401,120401],\"mapped\",[118]],[[120402,120402],\"mapped\",[119]],[[120403,120403],\"mapped\",[120]],[[120404,120404],\"mapped\",[121]],[[120405,120405],\"mapped\",[122]],[[120406,120406],\"mapped\",[97]],[[120407,120407],\"mapped\",[98]],[[120408,120408],\"mapped\",[99]],[[120409,120409],\"mapped\",[100]],[[120410,120410],\"mapped\",[101]],[[120411,120411],\"mapped\",[102]],[[120412,120412],\"mapped\",[103]],[[120413,120413],\"mapped\",[104]],[[120414,120414],\"mapped\",[105]],[[120415,120415],\"mapped\",[106]],[[120416,120416],\"mapped\",[107]],[[120417,120417],\"mapped\",[108]],[[120418,120418],\"mapped\",[109]],[[120419,120419],\"mapped\",[110]],[[120420,120420],\"mapped\",[111]],[[120421,120421],\"mapped\",[112]],[[120422,120422],\"mapped\",[113]],[[120423,120423],\"mapped\",[114]],[[120424,120424],\"mapped\",[115]],[[120425,120425],\"mapped\",[116]],[[120426,120426],\"mapped\",[117]],[[120427,120427],\"mapped\",[118]],[[120428,120428],\"mapped\",[119]],[[120429,120429],\"mapped\",[120]],[[120430,120430],\"mapped\",[121]],[[120431,120431],\"mapped\",[122]],[[120432,120432],\"mapped\",[97]],[[120433,120433],\"mapped\",[98]],[[120434,120434],\"mapped\",[99]],[[120435,120435],\"mapped\",[100]],[[120436,120436],\"mapped\",[101]],[[120437,120437],\"mapped\",[102]],[[120438,120438],\"mapped\",[103]],[[120439,120439],\"mapped\",[104]],[[120440,120440],\"mapped\",[105]],[[120441,120441],\"mapped\",[106]],[[120442,120442],\"mapped\",[107]],[[120443,120443],\"mapped\",[108]],[[120444,120444],\"mapped\",[109]],[[120445,120445],\"mapped\",[110]],[[120446,120446],\"mapped\",[111]],[[120447,120447],\"mapped\",[112]],[[120448,120448],\"mapped\",[113]],[[120449,120449],\"mapped\",[114]],[[120450,120450],\"mapped\",[115]],[[120451,120451],\"mapped\",[116]],[[120452,120452],\"mapped\",[117]],[[120453,120453],\"mapped\",[118]],[[120454,120454],\"mapped\",[119]],[[120455,120455],\"mapped\",[120]],[[120456,120456],\"mapped\",[121]],[[120457,120457],\"mapped\",[122]],[[120458,120458],\"mapped\",[97]],[[120459,120459],\"mapped\",[98]],[[120460,120460],\"mapped\",[99]],[[120461,120461],\"mapped\",[100]],[[120462,120462],\"mapped\",[101]],[[120463,120463],\"mapped\",[102]],[[120464,120464],\"mapped\",[103]],[[120465,120465],\"mapped\",[104]],[[120466,120466],\"mapped\",[105]],[[120467,120467],\"mapped\",[106]],[[120468,120468],\"mapped\",[107]],[[120469,120469],\"mapped\",[108]],[[120470,120470],\"mapped\",[109]],[[120471,120471],\"mapped\",[110]],[[120472,120472],\"mapped\",[111]],[[120473,120473],\"mapped\",[112]],[[120474,120474],\"mapped\",[113]],[[120475,120475],\"mapped\",[114]],[[120476,120476],\"mapped\",[115]],[[120477,120477],\"mapped\",[116]],[[120478,120478],\"mapped\",[117]],[[120479,120479],\"mapped\",[118]],[[120480,120480],\"mapped\",[119]],[[120481,120481],\"mapped\",[120]],[[120482,120482],\"mapped\",[121]],[[120483,120483],\"mapped\",[122]],[[120484,120484],\"mapped\",[305]],[[120485,120485],\"mapped\",[567]],[[120486,120487],\"disallowed\"],[[120488,120488],\"mapped\",[945]],[[120489,120489],\"mapped\",[946]],[[120490,120490],\"mapped\",[947]],[[120491,120491],\"mapped\",[948]],[[120492,120492],\"mapped\",[949]],[[120493,120493],\"mapped\",[950]],[[120494,120494],\"mapped\",[951]],[[120495,120495],\"mapped\",[952]],[[120496,120496],\"mapped\",[953]],[[120497,120497],\"mapped\",[954]],[[120498,120498],\"mapped\",[955]],[[120499,120499],\"mapped\",[956]],[[120500,120500],\"mapped\",[957]],[[120501,120501],\"mapped\",[958]],[[120502,120502],\"mapped\",[959]],[[120503,120503],\"mapped\",[960]],[[120504,120504],\"mapped\",[961]],[[120505,120505],\"mapped\",[952]],[[120506,120506],\"mapped\",[963]],[[120507,120507],\"mapped\",[964]],[[120508,120508],\"mapped\",[965]],[[120509,120509],\"mapped\",[966]],[[120510,120510],\"mapped\",[967]],[[120511,120511],\"mapped\",[968]],[[120512,120512],\"mapped\",[969]],[[120513,120513],\"mapped\",[8711]],[[120514,120514],\"mapped\",[945]],[[120515,120515],\"mapped\",[946]],[[120516,120516],\"mapped\",[947]],[[120517,120517],\"mapped\",[948]],[[120518,120518],\"mapped\",[949]],[[120519,120519],\"mapped\",[950]],[[120520,120520],\"mapped\",[951]],[[120521,120521],\"mapped\",[952]],[[120522,120522],\"mapped\",[953]],[[120523,120523],\"mapped\",[954]],[[120524,120524],\"mapped\",[955]],[[120525,120525],\"mapped\",[956]],[[120526,120526],\"mapped\",[957]],[[120527,120527],\"mapped\",[958]],[[120528,120528],\"mapped\",[959]],[[120529,120529],\"mapped\",[960]],[[120530,120530],\"mapped\",[961]],[[120531,120532],\"mapped\",[963]],[[120533,120533],\"mapped\",[964]],[[120534,120534],\"mapped\",[965]],[[120535,120535],\"mapped\",[966]],[[120536,120536],\"mapped\",[967]],[[120537,120537],\"mapped\",[968]],[[120538,120538],\"mapped\",[969]],[[120539,120539],\"mapped\",[8706]],[[120540,120540],\"mapped\",[949]],[[120541,120541],\"mapped\",[952]],[[120542,120542],\"mapped\",[954]],[[120543,120543],\"mapped\",[966]],[[120544,120544],\"mapped\",[961]],[[120545,120545],\"mapped\",[960]],[[120546,120546],\"mapped\",[945]],[[120547,120547],\"mapped\",[946]],[[120548,120548],\"mapped\",[947]],[[120549,120549],\"mapped\",[948]],[[120550,120550],\"mapped\",[949]],[[120551,120551],\"mapped\",[950]],[[120552,120552],\"mapped\",[951]],[[120553,120553],\"mapped\",[952]],[[120554,120554],\"mapped\",[953]],[[120555,120555],\"mapped\",[954]],[[120556,120556],\"mapped\",[955]],[[120557,120557],\"mapped\",[956]],[[120558,120558],\"mapped\",[957]],[[120559,120559],\"mapped\",[958]],[[120560,120560],\"mapped\",[959]],[[120561,120561],\"mapped\",[960]],[[120562,120562],\"mapped\",[961]],[[120563,120563],\"mapped\",[952]],[[120564,120564],\"mapped\",[963]],[[120565,120565],\"mapped\",[964]],[[120566,120566],\"mapped\",[965]],[[120567,120567],\"mapped\",[966]],[[120568,120568],\"mapped\",[967]],[[120569,120569],\"mapped\",[968]],[[120570,120570],\"mapped\",[969]],[[120571,120571],\"mapped\",[8711]],[[120572,120572],\"mapped\",[945]],[[120573,120573],\"mapped\",[946]],[[120574,120574],\"mapped\",[947]],[[120575,120575],\"mapped\",[948]],[[120576,120576],\"mapped\",[949]],[[120577,120577],\"mapped\",[950]],[[120578,120578],\"mapped\",[951]],[[120579,120579],\"mapped\",[952]],[[120580,120580],\"mapped\",[953]],[[120581,120581],\"mapped\",[954]],[[120582,120582],\"mapped\",[955]],[[120583,120583],\"mapped\",[956]],[[120584,120584],\"mapped\",[957]],[[120585,120585],\"mapped\",[958]],[[120586,120586],\"mapped\",[959]],[[120587,120587],\"mapped\",[960]],[[120588,120588],\"mapped\",[961]],[[120589,120590],\"mapped\",[963]],[[120591,120591],\"mapped\",[964]],[[120592,120592],\"mapped\",[965]],[[120593,120593],\"mapped\",[966]],[[120594,120594],\"mapped\",[967]],[[120595,120595],\"mapped\",[968]],[[120596,120596],\"mapped\",[969]],[[120597,120597],\"mapped\",[8706]],[[120598,120598],\"mapped\",[949]],[[120599,120599],\"mapped\",[952]],[[120600,120600],\"mapped\",[954]],[[120601,120601],\"mapped\",[966]],[[120602,120602],\"mapped\",[961]],[[120603,120603],\"mapped\",[960]],[[120604,120604],\"mapped\",[945]],[[120605,120605],\"mapped\",[946]],[[120606,120606],\"mapped\",[947]],[[120607,120607],\"mapped\",[948]],[[120608,120608],\"mapped\",[949]],[[120609,120609],\"mapped\",[950]],[[120610,120610],\"mapped\",[951]],[[120611,120611],\"mapped\",[952]],[[120612,120612],\"mapped\",[953]],[[120613,120613],\"mapped\",[954]],[[120614,120614],\"mapped\",[955]],[[120615,120615],\"mapped\",[956]],[[120616,120616],\"mapped\",[957]],[[120617,120617],\"mapped\",[958]],[[120618,120618],\"mapped\",[959]],[[120619,120619],\"mapped\",[960]],[[120620,120620],\"mapped\",[961]],[[120621,120621],\"mapped\",[952]],[[120622,120622],\"mapped\",[963]],[[120623,120623],\"mapped\",[964]],[[120624,120624],\"mapped\",[965]],[[120625,120625],\"mapped\",[966]],[[120626,120626],\"mapped\",[967]],[[120627,120627],\"mapped\",[968]],[[120628,120628],\"mapped\",[969]],[[120629,120629],\"mapped\",[8711]],[[120630,120630],\"mapped\",[945]],[[120631,120631],\"mapped\",[946]],[[120632,120632],\"mapped\",[947]],[[120633,120633],\"mapped\",[948]],[[120634,120634],\"mapped\",[949]],[[120635,120635],\"mapped\",[950]],[[120636,120636],\"mapped\",[951]],[[120637,120637],\"mapped\",[952]],[[120638,120638],\"mapped\",[953]],[[120639,120639],\"mapped\",[954]],[[120640,120640],\"mapped\",[955]],[[120641,120641],\"mapped\",[956]],[[120642,120642],\"mapped\",[957]],[[120643,120643],\"mapped\",[958]],[[120644,120644],\"mapped\",[959]],[[120645,120645],\"mapped\",[960]],[[120646,120646],\"mapped\",[961]],[[120647,120648],\"mapped\",[963]],[[120649,120649],\"mapped\",[964]],[[120650,120650],\"mapped\",[965]],[[120651,120651],\"mapped\",[966]],[[120652,120652],\"mapped\",[967]],[[120653,120653],\"mapped\",[968]],[[120654,120654],\"mapped\",[969]],[[120655,120655],\"mapped\",[8706]],[[120656,120656],\"mapped\",[949]],[[120657,120657],\"mapped\",[952]],[[120658,120658],\"mapped\",[954]],[[120659,120659],\"mapped\",[966]],[[120660,120660],\"mapped\",[961]],[[120661,120661],\"mapped\",[960]],[[120662,120662],\"mapped\",[945]],[[120663,120663],\"mapped\",[946]],[[120664,120664],\"mapped\",[947]],[[120665,120665],\"mapped\",[948]],[[120666,120666],\"mapped\",[949]],[[120667,120667],\"mapped\",[950]],[[120668,120668],\"mapped\",[951]],[[120669,120669],\"mapped\",[952]],[[120670,120670],\"mapped\",[953]],[[120671,120671],\"mapped\",[954]],[[120672,120672],\"mapped\",[955]],[[120673,120673],\"mapped\",[956]],[[120674,120674],\"mapped\",[957]],[[120675,120675],\"mapped\",[958]],[[120676,120676],\"mapped\",[959]],[[120677,120677],\"mapped\",[960]],[[120678,120678],\"mapped\",[961]],[[120679,120679],\"mapped\",[952]],[[120680,120680],\"mapped\",[963]],[[120681,120681],\"mapped\",[964]],[[120682,120682],\"mapped\",[965]],[[120683,120683],\"mapped\",[966]],[[120684,120684],\"mapped\",[967]],[[120685,120685],\"mapped\",[968]],[[120686,120686],\"mapped\",[969]],[[120687,120687],\"mapped\",[8711]],[[120688,120688],\"mapped\",[945]],[[120689,120689],\"mapped\",[946]],[[120690,120690],\"mapped\",[947]],[[120691,120691],\"mapped\",[948]],[[120692,120692],\"mapped\",[949]],[[120693,120693],\"mapped\",[950]],[[120694,120694],\"mapped\",[951]],[[120695,120695],\"mapped\",[952]],[[120696,120696],\"mapped\",[953]],[[120697,120697],\"mapped\",[954]],[[120698,120698],\"mapped\",[955]],[[120699,120699],\"mapped\",[956]],[[120700,120700],\"mapped\",[957]],[[120701,120701],\"mapped\",[958]],[[120702,120702],\"mapped\",[959]],[[120703,120703],\"mapped\",[960]],[[120704,120704],\"mapped\",[961]],[[120705,120706],\"mapped\",[963]],[[120707,120707],\"mapped\",[964]],[[120708,120708],\"mapped\",[965]],[[120709,120709],\"mapped\",[966]],[[120710,120710],\"mapped\",[967]],[[120711,120711],\"mapped\",[968]],[[120712,120712],\"mapped\",[969]],[[120713,120713],\"mapped\",[8706]],[[120714,120714],\"mapped\",[949]],[[120715,120715],\"mapped\",[952]],[[120716,120716],\"mapped\",[954]],[[120717,120717],\"mapped\",[966]],[[120718,120718],\"mapped\",[961]],[[120719,120719],\"mapped\",[960]],[[120720,120720],\"mapped\",[945]],[[120721,120721],\"mapped\",[946]],[[120722,120722],\"mapped\",[947]],[[120723,120723],\"mapped\",[948]],[[120724,120724],\"mapped\",[949]],[[120725,120725],\"mapped\",[950]],[[120726,120726],\"mapped\",[951]],[[120727,120727],\"mapped\",[952]],[[120728,120728],\"mapped\",[953]],[[120729,120729],\"mapped\",[954]],[[120730,120730],\"mapped\",[955]],[[120731,120731],\"mapped\",[956]],[[120732,120732],\"mapped\",[957]],[[120733,120733],\"mapped\",[958]],[[120734,120734],\"mapped\",[959]],[[120735,120735],\"mapped\",[960]],[[120736,120736],\"mapped\",[961]],[[120737,120737],\"mapped\",[952]],[[120738,120738],\"mapped\",[963]],[[120739,120739],\"mapped\",[964]],[[120740,120740],\"mapped\",[965]],[[120741,120741],\"mapped\",[966]],[[120742,120742],\"mapped\",[967]],[[120743,120743],\"mapped\",[968]],[[120744,120744],\"mapped\",[969]],[[120745,120745],\"mapped\",[8711]],[[120746,120746],\"mapped\",[945]],[[120747,120747],\"mapped\",[946]],[[120748,120748],\"mapped\",[947]],[[120749,120749],\"mapped\",[948]],[[120750,120750],\"mapped\",[949]],[[120751,120751],\"mapped\",[950]],[[120752,120752],\"mapped\",[951]],[[120753,120753],\"mapped\",[952]],[[120754,120754],\"mapped\",[953]],[[120755,120755],\"mapped\",[954]],[[120756,120756],\"mapped\",[955]],[[120757,120757],\"mapped\",[956]],[[120758,120758],\"mapped\",[957]],[[120759,120759],\"mapped\",[958]],[[120760,120760],\"mapped\",[959]],[[120761,120761],\"mapped\",[960]],[[120762,120762],\"mapped\",[961]],[[120763,120764],\"mapped\",[963]],[[120765,120765],\"mapped\",[964]],[[120766,120766],\"mapped\",[965]],[[120767,120767],\"mapped\",[966]],[[120768,120768],\"mapped\",[967]],[[120769,120769],\"mapped\",[968]],[[120770,120770],\"mapped\",[969]],[[120771,120771],\"mapped\",[8706]],[[120772,120772],\"mapped\",[949]],[[120773,120773],\"mapped\",[952]],[[120774,120774],\"mapped\",[954]],[[120775,120775],\"mapped\",[966]],[[120776,120776],\"mapped\",[961]],[[120777,120777],\"mapped\",[960]],[[120778,120779],\"mapped\",[989]],[[120780,120781],\"disallowed\"],[[120782,120782],\"mapped\",[48]],[[120783,120783],\"mapped\",[49]],[[120784,120784],\"mapped\",[50]],[[120785,120785],\"mapped\",[51]],[[120786,120786],\"mapped\",[52]],[[120787,120787],\"mapped\",[53]],[[120788,120788],\"mapped\",[54]],[[120789,120789],\"mapped\",[55]],[[120790,120790],\"mapped\",[56]],[[120791,120791],\"mapped\",[57]],[[120792,120792],\"mapped\",[48]],[[120793,120793],\"mapped\",[49]],[[120794,120794],\"mapped\",[50]],[[120795,120795],\"mapped\",[51]],[[120796,120796],\"mapped\",[52]],[[120797,120797],\"mapped\",[53]],[[120798,120798],\"mapped\",[54]],[[120799,120799],\"mapped\",[55]],[[120800,120800],\"mapped\",[56]],[[120801,120801],\"mapped\",[57]],[[120802,120802],\"mapped\",[48]],[[120803,120803],\"mapped\",[49]],[[120804,120804],\"mapped\",[50]],[[120805,120805],\"mapped\",[51]],[[120806,120806],\"mapped\",[52]],[[120807,120807],\"mapped\",[53]],[[120808,120808],\"mapped\",[54]],[[120809,120809],\"mapped\",[55]],[[120810,120810],\"mapped\",[56]],[[120811,120811],\"mapped\",[57]],[[120812,120812],\"mapped\",[48]],[[120813,120813],\"mapped\",[49]],[[120814,120814],\"mapped\",[50]],[[120815,120815],\"mapped\",[51]],[[120816,120816],\"mapped\",[52]],[[120817,120817],\"mapped\",[53]],[[120818,120818],\"mapped\",[54]],[[120819,120819],\"mapped\",[55]],[[120820,120820],\"mapped\",[56]],[[120821,120821],\"mapped\",[57]],[[120822,120822],\"mapped\",[48]],[[120823,120823],\"mapped\",[49]],[[120824,120824],\"mapped\",[50]],[[120825,120825],\"mapped\",[51]],[[120826,120826],\"mapped\",[52]],[[120827,120827],\"mapped\",[53]],[[120828,120828],\"mapped\",[54]],[[120829,120829],\"mapped\",[55]],[[120830,120830],\"mapped\",[56]],[[120831,120831],\"mapped\",[57]],[[120832,121343],\"valid\",[],\"NV8\"],[[121344,121398],\"valid\"],[[121399,121402],\"valid\",[],\"NV8\"],[[121403,121452],\"valid\"],[[121453,121460],\"valid\",[],\"NV8\"],[[121461,121461],\"valid\"],[[121462,121475],\"valid\",[],\"NV8\"],[[121476,121476],\"valid\"],[[121477,121483],\"valid\",[],\"NV8\"],[[121484,121498],\"disallowed\"],[[121499,121503],\"valid\"],[[121504,121504],\"disallowed\"],[[121505,121519],\"valid\"],[[121520,124927],\"disallowed\"],[[124928,125124],\"valid\"],[[125125,125126],\"disallowed\"],[[125127,125135],\"valid\",[],\"NV8\"],[[125136,125142],\"valid\"],[[125143,126463],\"disallowed\"],[[126464,126464],\"mapped\",[1575]],[[126465,126465],\"mapped\",[1576]],[[126466,126466],\"mapped\",[1580]],[[126467,126467],\"mapped\",[1583]],[[126468,126468],\"disallowed\"],[[126469,126469],\"mapped\",[1608]],[[126470,126470],\"mapped\",[1586]],[[126471,126471],\"mapped\",[1581]],[[126472,126472],\"mapped\",[1591]],[[126473,126473],\"mapped\",[1610]],[[126474,126474],\"mapped\",[1603]],[[126475,126475],\"mapped\",[1604]],[[126476,126476],\"mapped\",[1605]],[[126477,126477],\"mapped\",[1606]],[[126478,126478],\"mapped\",[1587]],[[126479,126479],\"mapped\",[1593]],[[126480,126480],\"mapped\",[1601]],[[126481,126481],\"mapped\",[1589]],[[126482,126482],\"mapped\",[1602]],[[126483,126483],\"mapped\",[1585]],[[126484,126484],\"mapped\",[1588]],[[126485,126485],\"mapped\",[1578]],[[126486,126486],\"mapped\",[1579]],[[126487,126487],\"mapped\",[1582]],[[126488,126488],\"mapped\",[1584]],[[126489,126489],\"mapped\",[1590]],[[126490,126490],\"mapped\",[1592]],[[126491,126491],\"mapped\",[1594]],[[126492,126492],\"mapped\",[1646]],[[126493,126493],\"mapped\",[1722]],[[126494,126494],\"mapped\",[1697]],[[126495,126495],\"mapped\",[1647]],[[126496,126496],\"disallowed\"],[[126497,126497],\"mapped\",[1576]],[[126498,126498],\"mapped\",[1580]],[[126499,126499],\"disallowed\"],[[126500,126500],\"mapped\",[1607]],[[126501,126502],\"disallowed\"],[[126503,126503],\"mapped\",[1581]],[[126504,126504],\"disallowed\"],[[126505,126505],\"mapped\",[1610]],[[126506,126506],\"mapped\",[1603]],[[126507,126507],\"mapped\",[1604]],[[126508,126508],\"mapped\",[1605]],[[126509,126509],\"mapped\",[1606]],[[126510,126510],\"mapped\",[1587]],[[126511,126511],\"mapped\",[1593]],[[126512,126512],\"mapped\",[1601]],[[126513,126513],\"mapped\",[1589]],[[126514,126514],\"mapped\",[1602]],[[126515,126515],\"disallowed\"],[[126516,126516],\"mapped\",[1588]],[[126517,126517],\"mapped\",[1578]],[[126518,126518],\"mapped\",[1579]],[[126519,126519],\"mapped\",[1582]],[[126520,126520],\"disallowed\"],[[126521,126521],\"mapped\",[1590]],[[126522,126522],\"disallowed\"],[[126523,126523],\"mapped\",[1594]],[[126524,126529],\"disallowed\"],[[126530,126530],\"mapped\",[1580]],[[126531,126534],\"disallowed\"],[[126535,126535],\"mapped\",[1581]],[[126536,126536],\"disallowed\"],[[126537,126537],\"mapped\",[1610]],[[126538,126538],\"disallowed\"],[[126539,126539],\"mapped\",[1604]],[[126540,126540],\"disallowed\"],[[126541,126541],\"mapped\",[1606]],[[126542,126542],\"mapped\",[1587]],[[126543,126543],\"mapped\",[1593]],[[126544,126544],\"disallowed\"],[[126545,126545],\"mapped\",[1589]],[[126546,126546],\"mapped\",[1602]],[[126547,126547],\"disallowed\"],[[126548,126548],\"mapped\",[1588]],[[126549,126550],\"disallowed\"],[[126551,126551],\"mapped\",[1582]],[[126552,126552],\"disallowed\"],[[126553,126553],\"mapped\",[1590]],[[126554,126554],\"disallowed\"],[[126555,126555],\"mapped\",[1594]],[[126556,126556],\"disallowed\"],[[126557,126557],\"mapped\",[1722]],[[126558,126558],\"disallowed\"],[[126559,126559],\"mapped\",[1647]],[[126560,126560],\"disallowed\"],[[126561,126561],\"mapped\",[1576]],[[126562,126562],\"mapped\",[1580]],[[126563,126563],\"disallowed\"],[[126564,126564],\"mapped\",[1607]],[[126565,126566],\"disallowed\"],[[126567,126567],\"mapped\",[1581]],[[126568,126568],\"mapped\",[1591]],[[126569,126569],\"mapped\",[1610]],[[126570,126570],\"mapped\",[1603]],[[126571,126571],\"disallowed\"],[[126572,126572],\"mapped\",[1605]],[[126573,126573],\"mapped\",[1606]],[[126574,126574],\"mapped\",[1587]],[[126575,126575],\"mapped\",[1593]],[[126576,126576],\"mapped\",[1601]],[[126577,126577],\"mapped\",[1589]],[[126578,126578],\"mapped\",[1602]],[[126579,126579],\"disallowed\"],[[126580,126580],\"mapped\",[1588]],[[126581,126581],\"mapped\",[1578]],[[126582,126582],\"mapped\",[1579]],[[126583,126583],\"mapped\",[1582]],[[126584,126584],\"disallowed\"],[[126585,126585],\"mapped\",[1590]],[[126586,126586],\"mapped\",[1592]],[[126587,126587],\"mapped\",[1594]],[[126588,126588],\"mapped\",[1646]],[[126589,126589],\"disallowed\"],[[126590,126590],\"mapped\",[1697]],[[126591,126591],\"disallowed\"],[[126592,126592],\"mapped\",[1575]],[[126593,126593],\"mapped\",[1576]],[[126594,126594],\"mapped\",[1580]],[[126595,126595],\"mapped\",[1583]],[[126596,126596],\"mapped\",[1607]],[[126597,126597],\"mapped\",[1608]],[[126598,126598],\"mapped\",[1586]],[[126599,126599],\"mapped\",[1581]],[[126600,126600],\"mapped\",[1591]],[[126601,126601],\"mapped\",[1610]],[[126602,126602],\"disallowed\"],[[126603,126603],\"mapped\",[1604]],[[126604,126604],\"mapped\",[1605]],[[126605,126605],\"mapped\",[1606]],[[126606,126606],\"mapped\",[1587]],[[126607,126607],\"mapped\",[1593]],[[126608,126608],\"mapped\",[1601]],[[126609,126609],\"mapped\",[1589]],[[126610,126610],\"mapped\",[1602]],[[126611,126611],\"mapped\",[1585]],[[126612,126612],\"mapped\",[1588]],[[126613,126613],\"mapped\",[1578]],[[126614,126614],\"mapped\",[1579]],[[126615,126615],\"mapped\",[1582]],[[126616,126616],\"mapped\",[1584]],[[126617,126617],\"mapped\",[1590]],[[126618,126618],\"mapped\",[1592]],[[126619,126619],\"mapped\",[1594]],[[126620,126624],\"disallowed\"],[[126625,126625],\"mapped\",[1576]],[[126626,126626],\"mapped\",[1580]],[[126627,126627],\"mapped\",[1583]],[[126628,126628],\"disallowed\"],[[126629,126629],\"mapped\",[1608]],[[126630,126630],\"mapped\",[1586]],[[126631,126631],\"mapped\",[1581]],[[126632,126632],\"mapped\",[1591]],[[126633,126633],\"mapped\",[1610]],[[126634,126634],\"disallowed\"],[[126635,126635],\"mapped\",[1604]],[[126636,126636],\"mapped\",[1605]],[[126637,126637],\"mapped\",[1606]],[[126638,126638],\"mapped\",[1587]],[[126639,126639],\"mapped\",[1593]],[[126640,126640],\"mapped\",[1601]],[[126641,126641],\"mapped\",[1589]],[[126642,126642],\"mapped\",[1602]],[[126643,126643],\"mapped\",[1585]],[[126644,126644],\"mapped\",[1588]],[[126645,126645],\"mapped\",[1578]],[[126646,126646],\"mapped\",[1579]],[[126647,126647],\"mapped\",[1582]],[[126648,126648],\"mapped\",[1584]],[[126649,126649],\"mapped\",[1590]],[[126650,126650],\"mapped\",[1592]],[[126651,126651],\"mapped\",[1594]],[[126652,126703],\"disallowed\"],[[126704,126705],\"valid\",[],\"NV8\"],[[126706,126975],\"disallowed\"],[[126976,127019],\"valid\",[],\"NV8\"],[[127020,127023],\"disallowed\"],[[127024,127123],\"valid\",[],\"NV8\"],[[127124,127135],\"disallowed\"],[[127136,127150],\"valid\",[],\"NV8\"],[[127151,127152],\"disallowed\"],[[127153,127166],\"valid\",[],\"NV8\"],[[127167,127167],\"valid\",[],\"NV8\"],[[127168,127168],\"disallowed\"],[[127169,127183],\"valid\",[],\"NV8\"],[[127184,127184],\"disallowed\"],[[127185,127199],\"valid\",[],\"NV8\"],[[127200,127221],\"valid\",[],\"NV8\"],[[127222,127231],\"disallowed\"],[[127232,127232],\"disallowed\"],[[127233,127233],\"disallowed_STD3_mapped\",[48,44]],[[127234,127234],\"disallowed_STD3_mapped\",[49,44]],[[127235,127235],\"disallowed_STD3_mapped\",[50,44]],[[127236,127236],\"disallowed_STD3_mapped\",[51,44]],[[127237,127237],\"disallowed_STD3_mapped\",[52,44]],[[127238,127238],\"disallowed_STD3_mapped\",[53,44]],[[127239,127239],\"disallowed_STD3_mapped\",[54,44]],[[127240,127240],\"disallowed_STD3_mapped\",[55,44]],[[127241,127241],\"disallowed_STD3_mapped\",[56,44]],[[127242,127242],\"disallowed_STD3_mapped\",[57,44]],[[127243,127244],\"valid\",[],\"NV8\"],[[127245,127247],\"disallowed\"],[[127248,127248],\"disallowed_STD3_mapped\",[40,97,41]],[[127249,127249],\"disallowed_STD3_mapped\",[40,98,41]],[[127250,127250],\"disallowed_STD3_mapped\",[40,99,41]],[[127251,127251],\"disallowed_STD3_mapped\",[40,100,41]],[[127252,127252],\"disallowed_STD3_mapped\",[40,101,41]],[[127253,127253],\"disallowed_STD3_mapped\",[40,102,41]],[[127254,127254],\"disallowed_STD3_mapped\",[40,103,41]],[[127255,127255],\"disallowed_STD3_mapped\",[40,104,41]],[[127256,127256],\"disallowed_STD3_mapped\",[40,105,41]],[[127257,127257],\"disallowed_STD3_mapped\",[40,106,41]],[[127258,127258],\"disallowed_STD3_mapped\",[40,107,41]],[[127259,127259],\"disallowed_STD3_mapped\",[40,108,41]],[[127260,127260],\"disallowed_STD3_mapped\",[40,109,41]],[[127261,127261],\"disallowed_STD3_mapped\",[40,110,41]],[[127262,127262],\"disallowed_STD3_mapped\",[40,111,41]],[[127263,127263],\"disallowed_STD3_mapped\",[40,112,41]],[[127264,127264],\"disallowed_STD3_mapped\",[40,113,41]],[[127265,127265],\"disallowed_STD3_mapped\",[40,114,41]],[[127266,127266],\"disallowed_STD3_mapped\",[40,115,41]],[[127267,127267],\"disallowed_STD3_mapped\",[40,116,41]],[[127268,127268],\"disallowed_STD3_mapped\",[40,117,41]],[[127269,127269],\"disallowed_STD3_mapped\",[40,118,41]],[[127270,127270],\"disallowed_STD3_mapped\",[40,119,41]],[[127271,127271],\"disallowed_STD3_mapped\",[40,120,41]],[[127272,127272],\"disallowed_STD3_mapped\",[40,121,41]],[[127273,127273],\"disallowed_STD3_mapped\",[40,122,41]],[[127274,127274],\"mapped\",[12308,115,12309]],[[127275,127275],\"mapped\",[99]],[[127276,127276],\"mapped\",[114]],[[127277,127277],\"mapped\",[99,100]],[[127278,127278],\"mapped\",[119,122]],[[127279,127279],\"disallowed\"],[[127280,127280],\"mapped\",[97]],[[127281,127281],\"mapped\",[98]],[[127282,127282],\"mapped\",[99]],[[127283,127283],\"mapped\",[100]],[[127284,127284],\"mapped\",[101]],[[127285,127285],\"mapped\",[102]],[[127286,127286],\"mapped\",[103]],[[127287,127287],\"mapped\",[104]],[[127288,127288],\"mapped\",[105]],[[127289,127289],\"mapped\",[106]],[[127290,127290],\"mapped\",[107]],[[127291,127291],\"mapped\",[108]],[[127292,127292],\"mapped\",[109]],[[127293,127293],\"mapped\",[110]],[[127294,127294],\"mapped\",[111]],[[127295,127295],\"mapped\",[112]],[[127296,127296],\"mapped\",[113]],[[127297,127297],\"mapped\",[114]],[[127298,127298],\"mapped\",[115]],[[127299,127299],\"mapped\",[116]],[[127300,127300],\"mapped\",[117]],[[127301,127301],\"mapped\",[118]],[[127302,127302],\"mapped\",[119]],[[127303,127303],\"mapped\",[120]],[[127304,127304],\"mapped\",[121]],[[127305,127305],\"mapped\",[122]],[[127306,127306],\"mapped\",[104,118]],[[127307,127307],\"mapped\",[109,118]],[[127308,127308],\"mapped\",[115,100]],[[127309,127309],\"mapped\",[115,115]],[[127310,127310],\"mapped\",[112,112,118]],[[127311,127311],\"mapped\",[119,99]],[[127312,127318],\"valid\",[],\"NV8\"],[[127319,127319],\"valid\",[],\"NV8\"],[[127320,127326],\"valid\",[],\"NV8\"],[[127327,127327],\"valid\",[],\"NV8\"],[[127328,127337],\"valid\",[],\"NV8\"],[[127338,127338],\"mapped\",[109,99]],[[127339,127339],\"mapped\",[109,100]],[[127340,127343],\"disallowed\"],[[127344,127352],\"valid\",[],\"NV8\"],[[127353,127353],\"valid\",[],\"NV8\"],[[127354,127354],\"valid\",[],\"NV8\"],[[127355,127356],\"valid\",[],\"NV8\"],[[127357,127358],\"valid\",[],\"NV8\"],[[127359,127359],\"valid\",[],\"NV8\"],[[127360,127369],\"valid\",[],\"NV8\"],[[127370,127373],\"valid\",[],\"NV8\"],[[127374,127375],\"valid\",[],\"NV8\"],[[127376,127376],\"mapped\",[100,106]],[[127377,127386],\"valid\",[],\"NV8\"],[[127387,127461],\"disallowed\"],[[127462,127487],\"valid\",[],\"NV8\"],[[127488,127488],\"mapped\",[12411,12363]],[[127489,127489],\"mapped\",[12467,12467]],[[127490,127490],\"mapped\",[12469]],[[127491,127503],\"disallowed\"],[[127504,127504],\"mapped\",[25163]],[[127505,127505],\"mapped\",[23383]],[[127506,127506],\"mapped\",[21452]],[[127507,127507],\"mapped\",[12487]],[[127508,127508],\"mapped\",[20108]],[[127509,127509],\"mapped\",[22810]],[[127510,127510],\"mapped\",[35299]],[[127511,127511],\"mapped\",[22825]],[[127512,127512],\"mapped\",[20132]],[[127513,127513],\"mapped\",[26144]],[[127514,127514],\"mapped\",[28961]],[[127515,127515],\"mapped\",[26009]],[[127516,127516],\"mapped\",[21069]],[[127517,127517],\"mapped\",[24460]],[[127518,127518],\"mapped\",[20877]],[[127519,127519],\"mapped\",[26032]],[[127520,127520],\"mapped\",[21021]],[[127521,127521],\"mapped\",[32066]],[[127522,127522],\"mapped\",[29983]],[[127523,127523],\"mapped\",[36009]],[[127524,127524],\"mapped\",[22768]],[[127525,127525],\"mapped\",[21561]],[[127526,127526],\"mapped\",[28436]],[[127527,127527],\"mapped\",[25237]],[[127528,127528],\"mapped\",[25429]],[[127529,127529],\"mapped\",[19968]],[[127530,127530],\"mapped\",[19977]],[[127531,127531],\"mapped\",[36938]],[[127532,127532],\"mapped\",[24038]],[[127533,127533],\"mapped\",[20013]],[[127534,127534],\"mapped\",[21491]],[[127535,127535],\"mapped\",[25351]],[[127536,127536],\"mapped\",[36208]],[[127537,127537],\"mapped\",[25171]],[[127538,127538],\"mapped\",[31105]],[[127539,127539],\"mapped\",[31354]],[[127540,127540],\"mapped\",[21512]],[[127541,127541],\"mapped\",[28288]],[[127542,127542],\"mapped\",[26377]],[[127543,127543],\"mapped\",[26376]],[[127544,127544],\"mapped\",[30003]],[[127545,127545],\"mapped\",[21106]],[[127546,127546],\"mapped\",[21942]],[[127547,127551],\"disallowed\"],[[127552,127552],\"mapped\",[12308,26412,12309]],[[127553,127553],\"mapped\",[12308,19977,12309]],[[127554,127554],\"mapped\",[12308,20108,12309]],[[127555,127555],\"mapped\",[12308,23433,12309]],[[127556,127556],\"mapped\",[12308,28857,12309]],[[127557,127557],\"mapped\",[12308,25171,12309]],[[127558,127558],\"mapped\",[12308,30423,12309]],[[127559,127559],\"mapped\",[12308,21213,12309]],[[127560,127560],\"mapped\",[12308,25943,12309]],[[127561,127567],\"disallowed\"],[[127568,127568],\"mapped\",[24471]],[[127569,127569],\"mapped\",[21487]],[[127570,127743],\"disallowed\"],[[127744,127776],\"valid\",[],\"NV8\"],[[127777,127788],\"valid\",[],\"NV8\"],[[127789,127791],\"valid\",[],\"NV8\"],[[127792,127797],\"valid\",[],\"NV8\"],[[127798,127798],\"valid\",[],\"NV8\"],[[127799,127868],\"valid\",[],\"NV8\"],[[127869,127869],\"valid\",[],\"NV8\"],[[127870,127871],\"valid\",[],\"NV8\"],[[127872,127891],\"valid\",[],\"NV8\"],[[127892,127903],\"valid\",[],\"NV8\"],[[127904,127940],\"valid\",[],\"NV8\"],[[127941,127941],\"valid\",[],\"NV8\"],[[127942,127946],\"valid\",[],\"NV8\"],[[127947,127950],\"valid\",[],\"NV8\"],[[127951,127955],\"valid\",[],\"NV8\"],[[127956,127967],\"valid\",[],\"NV8\"],[[127968,127984],\"valid\",[],\"NV8\"],[[127985,127991],\"valid\",[],\"NV8\"],[[127992,127999],\"valid\",[],\"NV8\"],[[128000,128062],\"valid\",[],\"NV8\"],[[128063,128063],\"valid\",[],\"NV8\"],[[128064,128064],\"valid\",[],\"NV8\"],[[128065,128065],\"valid\",[],\"NV8\"],[[128066,128247],\"valid\",[],\"NV8\"],[[128248,128248],\"valid\",[],\"NV8\"],[[128249,128252],\"valid\",[],\"NV8\"],[[128253,128254],\"valid\",[],\"NV8\"],[[128255,128255],\"valid\",[],\"NV8\"],[[128256,128317],\"valid\",[],\"NV8\"],[[128318,128319],\"valid\",[],\"NV8\"],[[128320,128323],\"valid\",[],\"NV8\"],[[128324,128330],\"valid\",[],\"NV8\"],[[128331,128335],\"valid\",[],\"NV8\"],[[128336,128359],\"valid\",[],\"NV8\"],[[128360,128377],\"valid\",[],\"NV8\"],[[128378,128378],\"disallowed\"],[[128379,128419],\"valid\",[],\"NV8\"],[[128420,128420],\"disallowed\"],[[128421,128506],\"valid\",[],\"NV8\"],[[128507,128511],\"valid\",[],\"NV8\"],[[128512,128512],\"valid\",[],\"NV8\"],[[128513,128528],\"valid\",[],\"NV8\"],[[128529,128529],\"valid\",[],\"NV8\"],[[128530,128532],\"valid\",[],\"NV8\"],[[128533,128533],\"valid\",[],\"NV8\"],[[128534,128534],\"valid\",[],\"NV8\"],[[128535,128535],\"valid\",[],\"NV8\"],[[128536,128536],\"valid\",[],\"NV8\"],[[128537,128537],\"valid\",[],\"NV8\"],[[128538,128538],\"valid\",[],\"NV8\"],[[128539,128539],\"valid\",[],\"NV8\"],[[128540,128542],\"valid\",[],\"NV8\"],[[128543,128543],\"valid\",[],\"NV8\"],[[128544,128549],\"valid\",[],\"NV8\"],[[128550,128551],\"valid\",[],\"NV8\"],[[128552,128555],\"valid\",[],\"NV8\"],[[128556,128556],\"valid\",[],\"NV8\"],[[128557,128557],\"valid\",[],\"NV8\"],[[128558,128559],\"valid\",[],\"NV8\"],[[128560,128563],\"valid\",[],\"NV8\"],[[128564,128564],\"valid\",[],\"NV8\"],[[128565,128576],\"valid\",[],\"NV8\"],[[128577,128578],\"valid\",[],\"NV8\"],[[128579,128580],\"valid\",[],\"NV8\"],[[128581,128591],\"valid\",[],\"NV8\"],[[128592,128639],\"valid\",[],\"NV8\"],[[128640,128709],\"valid\",[],\"NV8\"],[[128710,128719],\"valid\",[],\"NV8\"],[[128720,128720],\"valid\",[],\"NV8\"],[[128721,128735],\"disallowed\"],[[128736,128748],\"valid\",[],\"NV8\"],[[128749,128751],\"disallowed\"],[[128752,128755],\"valid\",[],\"NV8\"],[[128756,128767],\"disallowed\"],[[128768,128883],\"valid\",[],\"NV8\"],[[128884,128895],\"disallowed\"],[[128896,128980],\"valid\",[],\"NV8\"],[[128981,129023],\"disallowed\"],[[129024,129035],\"valid\",[],\"NV8\"],[[129036,129039],\"disallowed\"],[[129040,129095],\"valid\",[],\"NV8\"],[[129096,129103],\"disallowed\"],[[129104,129113],\"valid\",[],\"NV8\"],[[129114,129119],\"disallowed\"],[[129120,129159],\"valid\",[],\"NV8\"],[[129160,129167],\"disallowed\"],[[129168,129197],\"valid\",[],\"NV8\"],[[129198,129295],\"disallowed\"],[[129296,129304],\"valid\",[],\"NV8\"],[[129305,129407],\"disallowed\"],[[129408,129412],\"valid\",[],\"NV8\"],[[129413,129471],\"disallowed\"],[[129472,129472],\"valid\",[],\"NV8\"],[[129473,131069],\"disallowed\"],[[131070,131071],\"disallowed\"],[[131072,173782],\"valid\"],[[173783,173823],\"disallowed\"],[[173824,177972],\"valid\"],[[177973,177983],\"disallowed\"],[[177984,178205],\"valid\"],[[178206,178207],\"disallowed\"],[[178208,183969],\"valid\"],[[183970,194559],\"disallowed\"],[[194560,194560],\"mapped\",[20029]],[[194561,194561],\"mapped\",[20024]],[[194562,194562],\"mapped\",[20033]],[[194563,194563],\"mapped\",[131362]],[[194564,194564],\"mapped\",[20320]],[[194565,194565],\"mapped\",[20398]],[[194566,194566],\"mapped\",[20411]],[[194567,194567],\"mapped\",[20482]],[[194568,194568],\"mapped\",[20602]],[[194569,194569],\"mapped\",[20633]],[[194570,194570],\"mapped\",[20711]],[[194571,194571],\"mapped\",[20687]],[[194572,194572],\"mapped\",[13470]],[[194573,194573],\"mapped\",[132666]],[[194574,194574],\"mapped\",[20813]],[[194575,194575],\"mapped\",[20820]],[[194576,194576],\"mapped\",[20836]],[[194577,194577],\"mapped\",[20855]],[[194578,194578],\"mapped\",[132380]],[[194579,194579],\"mapped\",[13497]],[[194580,194580],\"mapped\",[20839]],[[194581,194581],\"mapped\",[20877]],[[194582,194582],\"mapped\",[132427]],[[194583,194583],\"mapped\",[20887]],[[194584,194584],\"mapped\",[20900]],[[194585,194585],\"mapped\",[20172]],[[194586,194586],\"mapped\",[20908]],[[194587,194587],\"mapped\",[20917]],[[194588,194588],\"mapped\",[168415]],[[194589,194589],\"mapped\",[20981]],[[194590,194590],\"mapped\",[20995]],[[194591,194591],\"mapped\",[13535]],[[194592,194592],\"mapped\",[21051]],[[194593,194593],\"mapped\",[21062]],[[194594,194594],\"mapped\",[21106]],[[194595,194595],\"mapped\",[21111]],[[194596,194596],\"mapped\",[13589]],[[194597,194597],\"mapped\",[21191]],[[194598,194598],\"mapped\",[21193]],[[194599,194599],\"mapped\",[21220]],[[194600,194600],\"mapped\",[21242]],[[194601,194601],\"mapped\",[21253]],[[194602,194602],\"mapped\",[21254]],[[194603,194603],\"mapped\",[21271]],[[194604,194604],\"mapped\",[21321]],[[194605,194605],\"mapped\",[21329]],[[194606,194606],\"mapped\",[21338]],[[194607,194607],\"mapped\",[21363]],[[194608,194608],\"mapped\",[21373]],[[194609,194611],\"mapped\",[21375]],[[194612,194612],\"mapped\",[133676]],[[194613,194613],\"mapped\",[28784]],[[194614,194614],\"mapped\",[21450]],[[194615,194615],\"mapped\",[21471]],[[194616,194616],\"mapped\",[133987]],[[194617,194617],\"mapped\",[21483]],[[194618,194618],\"mapped\",[21489]],[[194619,194619],\"mapped\",[21510]],[[194620,194620],\"mapped\",[21662]],[[194621,194621],\"mapped\",[21560]],[[194622,194622],\"mapped\",[21576]],[[194623,194623],\"mapped\",[21608]],[[194624,194624],\"mapped\",[21666]],[[194625,194625],\"mapped\",[21750]],[[194626,194626],\"mapped\",[21776]],[[194627,194627],\"mapped\",[21843]],[[194628,194628],\"mapped\",[21859]],[[194629,194630],\"mapped\",[21892]],[[194631,194631],\"mapped\",[21913]],[[194632,194632],\"mapped\",[21931]],[[194633,194633],\"mapped\",[21939]],[[194634,194634],\"mapped\",[21954]],[[194635,194635],\"mapped\",[22294]],[[194636,194636],\"mapped\",[22022]],[[194637,194637],\"mapped\",[22295]],[[194638,194638],\"mapped\",[22097]],[[194639,194639],\"mapped\",[22132]],[[194640,194640],\"mapped\",[20999]],[[194641,194641],\"mapped\",[22766]],[[194642,194642],\"mapped\",[22478]],[[194643,194643],\"mapped\",[22516]],[[194644,194644],\"mapped\",[22541]],[[194645,194645],\"mapped\",[22411]],[[194646,194646],\"mapped\",[22578]],[[194647,194647],\"mapped\",[22577]],[[194648,194648],\"mapped\",[22700]],[[194649,194649],\"mapped\",[136420]],[[194650,194650],\"mapped\",[22770]],[[194651,194651],\"mapped\",[22775]],[[194652,194652],\"mapped\",[22790]],[[194653,194653],\"mapped\",[22810]],[[194654,194654],\"mapped\",[22818]],[[194655,194655],\"mapped\",[22882]],[[194656,194656],\"mapped\",[136872]],[[194657,194657],\"mapped\",[136938]],[[194658,194658],\"mapped\",[23020]],[[194659,194659],\"mapped\",[23067]],[[194660,194660],\"mapped\",[23079]],[[194661,194661],\"mapped\",[23000]],[[194662,194662],\"mapped\",[23142]],[[194663,194663],\"mapped\",[14062]],[[194664,194664],\"disallowed\"],[[194665,194665],\"mapped\",[23304]],[[194666,194667],\"mapped\",[23358]],[[194668,194668],\"mapped\",[137672]],[[194669,194669],\"mapped\",[23491]],[[194670,194670],\"mapped\",[23512]],[[194671,194671],\"mapped\",[23527]],[[194672,194672],\"mapped\",[23539]],[[194673,194673],\"mapped\",[138008]],[[194674,194674],\"mapped\",[23551]],[[194675,194675],\"mapped\",[23558]],[[194676,194676],\"disallowed\"],[[194677,194677],\"mapped\",[23586]],[[194678,194678],\"mapped\",[14209]],[[194679,194679],\"mapped\",[23648]],[[194680,194680],\"mapped\",[23662]],[[194681,194681],\"mapped\",[23744]],[[194682,194682],\"mapped\",[23693]],[[194683,194683],\"mapped\",[138724]],[[194684,194684],\"mapped\",[23875]],[[194685,194685],\"mapped\",[138726]],[[194686,194686],\"mapped\",[23918]],[[194687,194687],\"mapped\",[23915]],[[194688,194688],\"mapped\",[23932]],[[194689,194689],\"mapped\",[24033]],[[194690,194690],\"mapped\",[24034]],[[194691,194691],\"mapped\",[14383]],[[194692,194692],\"mapped\",[24061]],[[194693,194693],\"mapped\",[24104]],[[194694,194694],\"mapped\",[24125]],[[194695,194695],\"mapped\",[24169]],[[194696,194696],\"mapped\",[14434]],[[194697,194697],\"mapped\",[139651]],[[194698,194698],\"mapped\",[14460]],[[194699,194699],\"mapped\",[24240]],[[194700,194700],\"mapped\",[24243]],[[194701,194701],\"mapped\",[24246]],[[194702,194702],\"mapped\",[24266]],[[194703,194703],\"mapped\",[172946]],[[194704,194704],\"mapped\",[24318]],[[194705,194706],\"mapped\",[140081]],[[194707,194707],\"mapped\",[33281]],[[194708,194709],\"mapped\",[24354]],[[194710,194710],\"mapped\",[14535]],[[194711,194711],\"mapped\",[144056]],[[194712,194712],\"mapped\",[156122]],[[194713,194713],\"mapped\",[24418]],[[194714,194714],\"mapped\",[24427]],[[194715,194715],\"mapped\",[14563]],[[194716,194716],\"mapped\",[24474]],[[194717,194717],\"mapped\",[24525]],[[194718,194718],\"mapped\",[24535]],[[194719,194719],\"mapped\",[24569]],[[194720,194720],\"mapped\",[24705]],[[194721,194721],\"mapped\",[14650]],[[194722,194722],\"mapped\",[14620]],[[194723,194723],\"mapped\",[24724]],[[194724,194724],\"mapped\",[141012]],[[194725,194725],\"mapped\",[24775]],[[194726,194726],\"mapped\",[24904]],[[194727,194727],\"mapped\",[24908]],[[194728,194728],\"mapped\",[24910]],[[194729,194729],\"mapped\",[24908]],[[194730,194730],\"mapped\",[24954]],[[194731,194731],\"mapped\",[24974]],[[194732,194732],\"mapped\",[25010]],[[194733,194733],\"mapped\",[24996]],[[194734,194734],\"mapped\",[25007]],[[194735,194735],\"mapped\",[25054]],[[194736,194736],\"mapped\",[25074]],[[194737,194737],\"mapped\",[25078]],[[194738,194738],\"mapped\",[25104]],[[194739,194739],\"mapped\",[25115]],[[194740,194740],\"mapped\",[25181]],[[194741,194741],\"mapped\",[25265]],[[194742,194742],\"mapped\",[25300]],[[194743,194743],\"mapped\",[25424]],[[194744,194744],\"mapped\",[142092]],[[194745,194745],\"mapped\",[25405]],[[194746,194746],\"mapped\",[25340]],[[194747,194747],\"mapped\",[25448]],[[194748,194748],\"mapped\",[25475]],[[194749,194749],\"mapped\",[25572]],[[194750,194750],\"mapped\",[142321]],[[194751,194751],\"mapped\",[25634]],[[194752,194752],\"mapped\",[25541]],[[194753,194753],\"mapped\",[25513]],[[194754,194754],\"mapped\",[14894]],[[194755,194755],\"mapped\",[25705]],[[194756,194756],\"mapped\",[25726]],[[194757,194757],\"mapped\",[25757]],[[194758,194758],\"mapped\",[25719]],[[194759,194759],\"mapped\",[14956]],[[194760,194760],\"mapped\",[25935]],[[194761,194761],\"mapped\",[25964]],[[194762,194762],\"mapped\",[143370]],[[194763,194763],\"mapped\",[26083]],[[194764,194764],\"mapped\",[26360]],[[194765,194765],\"mapped\",[26185]],[[194766,194766],\"mapped\",[15129]],[[194767,194767],\"mapped\",[26257]],[[194768,194768],\"mapped\",[15112]],[[194769,194769],\"mapped\",[15076]],[[194770,194770],\"mapped\",[20882]],[[194771,194771],\"mapped\",[20885]],[[194772,194772],\"mapped\",[26368]],[[194773,194773],\"mapped\",[26268]],[[194774,194774],\"mapped\",[32941]],[[194775,194775],\"mapped\",[17369]],[[194776,194776],\"mapped\",[26391]],[[194777,194777],\"mapped\",[26395]],[[194778,194778],\"mapped\",[26401]],[[194779,194779],\"mapped\",[26462]],[[194780,194780],\"mapped\",[26451]],[[194781,194781],\"mapped\",[144323]],[[194782,194782],\"mapped\",[15177]],[[194783,194783],\"mapped\",[26618]],[[194784,194784],\"mapped\",[26501]],[[194785,194785],\"mapped\",[26706]],[[194786,194786],\"mapped\",[26757]],[[194787,194787],\"mapped\",[144493]],[[194788,194788],\"mapped\",[26766]],[[194789,194789],\"mapped\",[26655]],[[194790,194790],\"mapped\",[26900]],[[194791,194791],\"mapped\",[15261]],[[194792,194792],\"mapped\",[26946]],[[194793,194793],\"mapped\",[27043]],[[194794,194794],\"mapped\",[27114]],[[194795,194795],\"mapped\",[27304]],[[194796,194796],\"mapped\",[145059]],[[194797,194797],\"mapped\",[27355]],[[194798,194798],\"mapped\",[15384]],[[194799,194799],\"mapped\",[27425]],[[194800,194800],\"mapped\",[145575]],[[194801,194801],\"mapped\",[27476]],[[194802,194802],\"mapped\",[15438]],[[194803,194803],\"mapped\",[27506]],[[194804,194804],\"mapped\",[27551]],[[194805,194805],\"mapped\",[27578]],[[194806,194806],\"mapped\",[27579]],[[194807,194807],\"mapped\",[146061]],[[194808,194808],\"mapped\",[138507]],[[194809,194809],\"mapped\",[146170]],[[194810,194810],\"mapped\",[27726]],[[194811,194811],\"mapped\",[146620]],[[194812,194812],\"mapped\",[27839]],[[194813,194813],\"mapped\",[27853]],[[194814,194814],\"mapped\",[27751]],[[194815,194815],\"mapped\",[27926]],[[194816,194816],\"mapped\",[27966]],[[194817,194817],\"mapped\",[28023]],[[194818,194818],\"mapped\",[27969]],[[194819,194819],\"mapped\",[28009]],[[194820,194820],\"mapped\",[28024]],[[194821,194821],\"mapped\",[28037]],[[194822,194822],\"mapped\",[146718]],[[194823,194823],\"mapped\",[27956]],[[194824,194824],\"mapped\",[28207]],[[194825,194825],\"mapped\",[28270]],[[194826,194826],\"mapped\",[15667]],[[194827,194827],\"mapped\",[28363]],[[194828,194828],\"mapped\",[28359]],[[194829,194829],\"mapped\",[147153]],[[194830,194830],\"mapped\",[28153]],[[194831,194831],\"mapped\",[28526]],[[194832,194832],\"mapped\",[147294]],[[194833,194833],\"mapped\",[147342]],[[194834,194834],\"mapped\",[28614]],[[194835,194835],\"mapped\",[28729]],[[194836,194836],\"mapped\",[28702]],[[194837,194837],\"mapped\",[28699]],[[194838,194838],\"mapped\",[15766]],[[194839,194839],\"mapped\",[28746]],[[194840,194840],\"mapped\",[28797]],[[194841,194841],\"mapped\",[28791]],[[194842,194842],\"mapped\",[28845]],[[194843,194843],\"mapped\",[132389]],[[194844,194844],\"mapped\",[28997]],[[194845,194845],\"mapped\",[148067]],[[194846,194846],\"mapped\",[29084]],[[194847,194847],\"disallowed\"],[[194848,194848],\"mapped\",[29224]],[[194849,194849],\"mapped\",[29237]],[[194850,194850],\"mapped\",[29264]],[[194851,194851],\"mapped\",[149000]],[[194852,194852],\"mapped\",[29312]],[[194853,194853],\"mapped\",[29333]],[[194854,194854],\"mapped\",[149301]],[[194855,194855],\"mapped\",[149524]],[[194856,194856],\"mapped\",[29562]],[[194857,194857],\"mapped\",[29579]],[[194858,194858],\"mapped\",[16044]],[[194859,194859],\"mapped\",[29605]],[[194860,194861],\"mapped\",[16056]],[[194862,194862],\"mapped\",[29767]],[[194863,194863],\"mapped\",[29788]],[[194864,194864],\"mapped\",[29809]],[[194865,194865],\"mapped\",[29829]],[[194866,194866],\"mapped\",[29898]],[[194867,194867],\"mapped\",[16155]],[[194868,194868],\"mapped\",[29988]],[[194869,194869],\"mapped\",[150582]],[[194870,194870],\"mapped\",[30014]],[[194871,194871],\"mapped\",[150674]],[[194872,194872],\"mapped\",[30064]],[[194873,194873],\"mapped\",[139679]],[[194874,194874],\"mapped\",[30224]],[[194875,194875],\"mapped\",[151457]],[[194876,194876],\"mapped\",[151480]],[[194877,194877],\"mapped\",[151620]],[[194878,194878],\"mapped\",[16380]],[[194879,194879],\"mapped\",[16392]],[[194880,194880],\"mapped\",[30452]],[[194881,194881],\"mapped\",[151795]],[[194882,194882],\"mapped\",[151794]],[[194883,194883],\"mapped\",[151833]],[[194884,194884],\"mapped\",[151859]],[[194885,194885],\"mapped\",[30494]],[[194886,194887],\"mapped\",[30495]],[[194888,194888],\"mapped\",[30538]],[[194889,194889],\"mapped\",[16441]],[[194890,194890],\"mapped\",[30603]],[[194891,194891],\"mapped\",[16454]],[[194892,194892],\"mapped\",[16534]],[[194893,194893],\"mapped\",[152605]],[[194894,194894],\"mapped\",[30798]],[[194895,194895],\"mapped\",[30860]],[[194896,194896],\"mapped\",[30924]],[[194897,194897],\"mapped\",[16611]],[[194898,194898],\"mapped\",[153126]],[[194899,194899],\"mapped\",[31062]],[[194900,194900],\"mapped\",[153242]],[[194901,194901],\"mapped\",[153285]],[[194902,194902],\"mapped\",[31119]],[[194903,194903],\"mapped\",[31211]],[[194904,194904],\"mapped\",[16687]],[[194905,194905],\"mapped\",[31296]],[[194906,194906],\"mapped\",[31306]],[[194907,194907],\"mapped\",[31311]],[[194908,194908],\"mapped\",[153980]],[[194909,194910],\"mapped\",[154279]],[[194911,194911],\"disallowed\"],[[194912,194912],\"mapped\",[16898]],[[194913,194913],\"mapped\",[154539]],[[194914,194914],\"mapped\",[31686]],[[194915,194915],\"mapped\",[31689]],[[194916,194916],\"mapped\",[16935]],[[194917,194917],\"mapped\",[154752]],[[194918,194918],\"mapped\",[31954]],[[194919,194919],\"mapped\",[17056]],[[194920,194920],\"mapped\",[31976]],[[194921,194921],\"mapped\",[31971]],[[194922,194922],\"mapped\",[32000]],[[194923,194923],\"mapped\",[155526]],[[194924,194924],\"mapped\",[32099]],[[194925,194925],\"mapped\",[17153]],[[194926,194926],\"mapped\",[32199]],[[194927,194927],\"mapped\",[32258]],[[194928,194928],\"mapped\",[32325]],[[194929,194929],\"mapped\",[17204]],[[194930,194930],\"mapped\",[156200]],[[194931,194931],\"mapped\",[156231]],[[194932,194932],\"mapped\",[17241]],[[194933,194933],\"mapped\",[156377]],[[194934,194934],\"mapped\",[32634]],[[194935,194935],\"mapped\",[156478]],[[194936,194936],\"mapped\",[32661]],[[194937,194937],\"mapped\",[32762]],[[194938,194938],\"mapped\",[32773]],[[194939,194939],\"mapped\",[156890]],[[194940,194940],\"mapped\",[156963]],[[194941,194941],\"mapped\",[32864]],[[194942,194942],\"mapped\",[157096]],[[194943,194943],\"mapped\",[32880]],[[194944,194944],\"mapped\",[144223]],[[194945,194945],\"mapped\",[17365]],[[194946,194946],\"mapped\",[32946]],[[194947,194947],\"mapped\",[33027]],[[194948,194948],\"mapped\",[17419]],[[194949,194949],\"mapped\",[33086]],[[194950,194950],\"mapped\",[23221]],[[194951,194951],\"mapped\",[157607]],[[194952,194952],\"mapped\",[157621]],[[194953,194953],\"mapped\",[144275]],[[194954,194954],\"mapped\",[144284]],[[194955,194955],\"mapped\",[33281]],[[194956,194956],\"mapped\",[33284]],[[194957,194957],\"mapped\",[36766]],[[194958,194958],\"mapped\",[17515]],[[194959,194959],\"mapped\",[33425]],[[194960,194960],\"mapped\",[33419]],[[194961,194961],\"mapped\",[33437]],[[194962,194962],\"mapped\",[21171]],[[194963,194963],\"mapped\",[33457]],[[194964,194964],\"mapped\",[33459]],[[194965,194965],\"mapped\",[33469]],[[194966,194966],\"mapped\",[33510]],[[194967,194967],\"mapped\",[158524]],[[194968,194968],\"mapped\",[33509]],[[194969,194969],\"mapped\",[33565]],[[194970,194970],\"mapped\",[33635]],[[194971,194971],\"mapped\",[33709]],[[194972,194972],\"mapped\",[33571]],[[194973,194973],\"mapped\",[33725]],[[194974,194974],\"mapped\",[33767]],[[194975,194975],\"mapped\",[33879]],[[194976,194976],\"mapped\",[33619]],[[194977,194977],\"mapped\",[33738]],[[194978,194978],\"mapped\",[33740]],[[194979,194979],\"mapped\",[33756]],[[194980,194980],\"mapped\",[158774]],[[194981,194981],\"mapped\",[159083]],[[194982,194982],\"mapped\",[158933]],[[194983,194983],\"mapped\",[17707]],[[194984,194984],\"mapped\",[34033]],[[194985,194985],\"mapped\",[34035]],[[194986,194986],\"mapped\",[34070]],[[194987,194987],\"mapped\",[160714]],[[194988,194988],\"mapped\",[34148]],[[194989,194989],\"mapped\",[159532]],[[194990,194990],\"mapped\",[17757]],[[194991,194991],\"mapped\",[17761]],[[194992,194992],\"mapped\",[159665]],[[194993,194993],\"mapped\",[159954]],[[194994,194994],\"mapped\",[17771]],[[194995,194995],\"mapped\",[34384]],[[194996,194996],\"mapped\",[34396]],[[194997,194997],\"mapped\",[34407]],[[194998,194998],\"mapped\",[34409]],[[194999,194999],\"mapped\",[34473]],[[195000,195000],\"mapped\",[34440]],[[195001,195001],\"mapped\",[34574]],[[195002,195002],\"mapped\",[34530]],[[195003,195003],\"mapped\",[34681]],[[195004,195004],\"mapped\",[34600]],[[195005,195005],\"mapped\",[34667]],[[195006,195006],\"mapped\",[34694]],[[195007,195007],\"disallowed\"],[[195008,195008],\"mapped\",[34785]],[[195009,195009],\"mapped\",[34817]],[[195010,195010],\"mapped\",[17913]],[[195011,195011],\"mapped\",[34912]],[[195012,195012],\"mapped\",[34915]],[[195013,195013],\"mapped\",[161383]],[[195014,195014],\"mapped\",[35031]],[[195015,195015],\"mapped\",[35038]],[[195016,195016],\"mapped\",[17973]],[[195017,195017],\"mapped\",[35066]],[[195018,195018],\"mapped\",[13499]],[[195019,195019],\"mapped\",[161966]],[[195020,195020],\"mapped\",[162150]],[[195021,195021],\"mapped\",[18110]],[[195022,195022],\"mapped\",[18119]],[[195023,195023],\"mapped\",[35488]],[[195024,195024],\"mapped\",[35565]],[[195025,195025],\"mapped\",[35722]],[[195026,195026],\"mapped\",[35925]],[[195027,195027],\"mapped\",[162984]],[[195028,195028],\"mapped\",[36011]],[[195029,195029],\"mapped\",[36033]],[[195030,195030],\"mapped\",[36123]],[[195031,195031],\"mapped\",[36215]],[[195032,195032],\"mapped\",[163631]],[[195033,195033],\"mapped\",[133124]],[[195034,195034],\"mapped\",[36299]],[[195035,195035],\"mapped\",[36284]],[[195036,195036],\"mapped\",[36336]],[[195037,195037],\"mapped\",[133342]],[[195038,195038],\"mapped\",[36564]],[[195039,195039],\"mapped\",[36664]],[[195040,195040],\"mapped\",[165330]],[[195041,195041],\"mapped\",[165357]],[[195042,195042],\"mapped\",[37012]],[[195043,195043],\"mapped\",[37105]],[[195044,195044],\"mapped\",[37137]],[[195045,195045],\"mapped\",[165678]],[[195046,195046],\"mapped\",[37147]],[[195047,195047],\"mapped\",[37432]],[[195048,195048],\"mapped\",[37591]],[[195049,195049],\"mapped\",[37592]],[[195050,195050],\"mapped\",[37500]],[[195051,195051],\"mapped\",[37881]],[[195052,195052],\"mapped\",[37909]],[[195053,195053],\"mapped\",[166906]],[[195054,195054],\"mapped\",[38283]],[[195055,195055],\"mapped\",[18837]],[[195056,195056],\"mapped\",[38327]],[[195057,195057],\"mapped\",[167287]],[[195058,195058],\"mapped\",[18918]],[[195059,195059],\"mapped\",[38595]],[[195060,195060],\"mapped\",[23986]],[[195061,195061],\"mapped\",[38691]],[[195062,195062],\"mapped\",[168261]],[[195063,195063],\"mapped\",[168474]],[[195064,195064],\"mapped\",[19054]],[[195065,195065],\"mapped\",[19062]],[[195066,195066],\"mapped\",[38880]],[[195067,195067],\"mapped\",[168970]],[[195068,195068],\"mapped\",[19122]],[[195069,195069],\"mapped\",[169110]],[[195070,195071],\"mapped\",[38923]],[[195072,195072],\"mapped\",[38953]],[[195073,195073],\"mapped\",[169398]],[[195074,195074],\"mapped\",[39138]],[[195075,195075],\"mapped\",[19251]],[[195076,195076],\"mapped\",[39209]],[[195077,195077],\"mapped\",[39335]],[[195078,195078],\"mapped\",[39362]],[[195079,195079],\"mapped\",[39422]],[[195080,195080],\"mapped\",[19406]],[[195081,195081],\"mapped\",[170800]],[[195082,195082],\"mapped\",[39698]],[[195083,195083],\"mapped\",[40000]],[[195084,195084],\"mapped\",[40189]],[[195085,195085],\"mapped\",[19662]],[[195086,195086],\"mapped\",[19693]],[[195087,195087],\"mapped\",[40295]],[[195088,195088],\"mapped\",[172238]],[[195089,195089],\"mapped\",[19704]],[[195090,195090],\"mapped\",[172293]],[[195091,195091],\"mapped\",[172558]],[[195092,195092],\"mapped\",[172689]],[[195093,195093],\"mapped\",[40635]],[[195094,195094],\"mapped\",[19798]],[[195095,195095],\"mapped\",[40697]],[[195096,195096],\"mapped\",[40702]],[[195097,195097],\"mapped\",[40709]],[[195098,195098],\"mapped\",[40719]],[[195099,195099],\"mapped\",[40726]],[[195100,195100],\"mapped\",[40763]],[[195101,195101],\"mapped\",[173568]],[[195102,196605],\"disallowed\"],[[196606,196607],\"disallowed\"],[[196608,262141],\"disallowed\"],[[262142,262143],\"disallowed\"],[[262144,327677],\"disallowed\"],[[327678,327679],\"disallowed\"],[[327680,393213],\"disallowed\"],[[393214,393215],\"disallowed\"],[[393216,458749],\"disallowed\"],[[458750,458751],\"disallowed\"],[[458752,524285],\"disallowed\"],[[524286,524287],\"disallowed\"],[[524288,589821],\"disallowed\"],[[589822,589823],\"disallowed\"],[[589824,655357],\"disallowed\"],[[655358,655359],\"disallowed\"],[[655360,720893],\"disallowed\"],[[720894,720895],\"disallowed\"],[[720896,786429],\"disallowed\"],[[786430,786431],\"disallowed\"],[[786432,851965],\"disallowed\"],[[851966,851967],\"disallowed\"],[[851968,917501],\"disallowed\"],[[917502,917503],\"disallowed\"],[[917504,917504],\"disallowed\"],[[917505,917505],\"disallowed\"],[[917506,917535],\"disallowed\"],[[917536,917631],\"disallowed\"],[[917632,917759],\"disallowed\"],[[917760,917999],\"ignored\"],[[918000,983037],\"disallowed\"],[[983038,983039],\"disallowed\"],[[983040,1048573],\"disallowed\"],[[1048574,1048575],\"disallowed\"],[[1048576,1114109],\"disallowed\"],[[1114110,1114111],\"disallowed\"]]", "\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n", "\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n", "\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n", "\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n", "\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n", "'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = /<meta.+?charset=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// html4\n\tif (!res && str) {\n\t\tres = /<meta[\\s]+?http-equiv=(['\"])content-type\\1[\\s]+?content=(['\"])(.+?)\\2/i.exec(str);\n\t\tif (!res) {\n\t\t\tres = /<meta[\\s]+?content=(['\"])(.+?)\\1[\\s]+?http-equiv=(['\"])content-type\\3/i.exec(str);\n\t\t\tif (res) {\n\t\t\t\tres.pop(); // drop last quote\n\t\t\t}\n\t\t}\n\n\t\tif (res) {\n\t\t\tres = /charset=(.*)/i.exec(res.pop());\n\t\t}\n\t}\n\n\t// xml\n\tif (!res && str) {\n\t\tres = /<\\?xml.+?encoding=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// found charset\n\tif (res) {\n\t\tcharset = res.pop();\n\n\t\t// prevent decode issues when sites use incorrect encoding\n\t\t// ref: https://hsivonen.fi/encoding-menu/\n\t\tif (charset === 'gb2312' || charset === 'gbk') {\n\t\t\tcharset = 'gb18030';\n\t\t}\n\t}\n\n\t// turn raw buffers into a single utf-8 buffer\n\treturn convert(buffer, 'UTF-8', charset).toString();\n}\n\n/**\n * Detect a URLSearchParams object\n * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143\n *\n * @param Object obj Object to detect by type or brand\n * @return String\n */\nfunction isURLSearchParams(obj) {\n\t// Duck-typing as a necessary condition.\n\tif (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') {\n\t\treturn false;\n\t}\n\n\t// Brand-checking and more duck-typing as optional condition.\n\treturn obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function';\n}\n\n/**\n * Check if `obj` is a W3C `Blob` object (which `File` inherits from)\n * @param {*} obj\n * @return {boolean}\n */\nfunction isBlob(obj) {\n\treturn typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]);\n}\n\n/**\n * Clone body given Res/Req instance\n *\n * @param Mixed instance Response or Request instance\n * @return Mixed\n */\nfunction clone(instance) {\n\tlet p1, p2;\n\tlet body = instance.body;\n\n\t// don't allow cloning a used body\n\tif (instance.bodyUsed) {\n\t\tthrow new Error('cannot clone body after it is used');\n\t}\n\n\t// check that body is a stream and not form-data object\n\t// note: we can't clone the form-data object without having it as a dependency\n\tif (body instanceof Stream && typeof body.getBoundary !== 'function') {\n\t\t// tee instance body\n\t\tp1 = new PassThrough();\n\t\tp2 = new PassThrough();\n\t\tbody.pipe(p1);\n\t\tbody.pipe(p2);\n\t\t// set instance body to teed body and return the other teed body\n\t\tinstance[INTERNALS].body = p1;\n\t\tbody = p2;\n\t}\n\n\treturn body;\n}\n\n/**\n * Performs the operation \"extract a `Content-Type` value from |object|\" as\n * specified in the specification:\n * https://fetch.spec.whatwg.org/#concept-bodyinit-extract\n *\n * This function assumes that instance.body is present.\n *\n * @param Mixed instance Any options.body input\n */\nfunction extractContentType(body) {\n\tif (body === null) {\n\t\t// body is null\n\t\treturn null;\n\t} else if (typeof body === 'string') {\n\t\t// body is string\n\t\treturn 'text/plain;charset=UTF-8';\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\treturn 'application/x-www-form-urlencoded;charset=UTF-8';\n\t} else if (isBlob(body)) {\n\t\t// body is blob\n\t\treturn body.type || null;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn null;\n\t} else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\treturn null;\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\treturn null;\n\t} else if (typeof body.getBoundary === 'function') {\n\t\t// detect form data input from form-data module\n\t\treturn `multipart/form-data;boundary=${body.getBoundary()}`;\n\t} else if (body instanceof Stream) {\n\t\t// body is stream\n\t\t// can't really do much about this\n\t\treturn null;\n\t} else {\n\t\t// Body constructor defaults other things to string\n\t\treturn 'text/plain;charset=UTF-8';\n\t}\n}\n\n/**\n * The Fetch Standard treats this as if \"total bytes\" is a property on the body.\n * For us, we have to explicitly get it with a function.\n *\n * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes\n *\n * @param Body instance Instance of Body\n * @return Number? Number of bytes, or null if not possible\n */\nfunction getTotalBytes(instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\treturn 0;\n\t} else if (isBlob(body)) {\n\t\treturn body.size;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn body.length;\n\t} else if (body && typeof body.getLengthSync === 'function') {\n\t\t// detect form data input from form-data module\n\t\tif (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x\n\t\tbody.hasKnownLength && body.hasKnownLength()) {\n\t\t\t// 2.x\n\t\t\treturn body.getLengthSync();\n\t\t}\n\t\treturn null;\n\t} else {\n\t\t// body is stream\n\t\treturn null;\n\t}\n}\n\n/**\n * Write a Body to a Node.js WritableStream (e.g. http.Request) object.\n *\n * @param Body instance Instance of Body\n * @return Void\n */\nfunction writeToStream(dest, instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\tdest.end();\n\t} else if (isBlob(body)) {\n\t\tbody.stream().pipe(dest);\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\tdest.write(body);\n\t\tdest.end();\n\t} else {\n\t\t// body is stream\n\t\tbody.pipe(dest);\n\t}\n}\n\n// expose Promise\nBody.Promise = global.Promise;\n\n/**\n * headers.js\n *\n * Headers class offers convenient helpers\n */\n\nconst invalidTokenRegex = /[^\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]/;\nconst invalidHeaderCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/;\n\nfunction validateName(name) {\n\tname = `${name}`;\n\tif (invalidTokenRegex.test(name) || name === '') {\n\t\tthrow new TypeError(`${name} is not a legal HTTP header name`);\n\t}\n}\n\nfunction validateValue(value) {\n\tvalue = `${value}`;\n\tif (invalidHeaderCharRegex.test(value)) {\n\t\tthrow new TypeError(`${value} is not a legal HTTP header value`);\n\t}\n}\n\n/**\n * Find the key in the map object given a header name.\n *\n * Returns undefined if not found.\n *\n * @param String name Header name\n * @return String|Undefined\n */\nfunction find(map, name) {\n\tname = name.toLowerCase();\n\tfor (const key in map) {\n\t\tif (key.toLowerCase() === name) {\n\t\t\treturn key;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nconst MAP = Symbol('map');\nclass Headers {\n\t/**\n * Headers class\n *\n * @param Object headers Response headers\n * @return Void\n */\n\tconstructor() {\n\t\tlet init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence<sequence<ByteString>>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record<ByteString, ByteString>\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\tif (!headers.has('Connection') && !agent) {\n\t\theaders.set('Connection', 'close');\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// tests for socket presence, as in some situations the\n\t\t\t\t// the 'socket' event is not triggered for the request\n\t\t\t\t// (happens in deno), avoids `TypeError`\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket && socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\n", "const nodeFetch = require('node-fetch')\nconst realFetch = nodeFetch.default || nodeFetch\n\nconst fetch = function (url, options) {\n // Support schemaless URIs on the server for parity with the browser.\n // Ex: //github.com/ -> https://github.com/\n if (/^\\/\\//.test(url)) {\n url = 'https:' + url\n }\n return realFetch.call(this, url, options)\n}\n\nfetch.ponyfill = true\n\nmodule.exports = exports = fetch\nexports.fetch = fetch\nexports.Headers = nodeFetch.Headers\nexports.Request = nodeFetch.Request\nexports.Response = nodeFetch.Response\n\n// Needed for TypeScript consumers without esModuleInterop.\nexports.default = fetch\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFetch = void 0;\nconst react_1 = require(\"react\");\nconst media_typer_1 = __importDefault(require(\"media-typer\"));\nconst content_type_1 = __importDefault(require(\"content-type\"));\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst cross_fetch_1 = require(\"cross-fetch\");\nfunction isJSON(contentTypeHeader) {\n if (contentTypeHeader) {\n const ct = content_type_1.default.parse(contentTypeHeader);\n const mediaType = media_typer_1.default.parse(ct.type);\n if (mediaType.subtype === \"json\") {\n return true;\n }\n if (mediaType.suffix === \"json\") {\n return true;\n }\n if (mediaType.suffix && /\\bjson\\b/i.test(mediaType.suffix)) {\n return true;\n }\n if (mediaType.subtype && /\\bjson\\b/i.test(mediaType.subtype)) {\n return true;\n }\n }\n return false;\n}\nasync function defaultParsing(response) {\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n const contentTypeHeader = response.headers.get(\"content-type\");\n if (contentTypeHeader && isJSON(contentTypeHeader)) {\n return await response.json();\n }\n return await response.text();\n}\n/**\n * Fetch the URL and returns the {@link AsyncState} corresponding to the execution of the fetch. The last value will be kept between command runs.\n *\n * @example\n * ```\n * import { useFetch } from '@raycast/utils';\n *\n * export default function Command() {\n * const { isLoading, data, revalidate } = useFetch('https://api.example');\n *\n * return (\n * <Detail\n * isLoading={isLoading}\n * markdown={data}\n * actions={\n * <ActionPanel>\n * <Action title=\"Reload\" onAction={() => revalidate()} />\n * </ActionPanel>\n * }\n * />\n * );\n * };\n * ```\n */\nfunction useFetch(url, options) {\n const { parseResponse, initialData, execute, keepPreviousData, onError, onData, onWillExecute, ...fetchOptions } = options || {};\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n };\n const parseResponseRef = (0, useLatest_1.useLatest)(parseResponse || defaultParsing);\n const abortable = (0, react_1.useRef)();\n const fn = (0, react_1.useCallback)(async (url, options) => {\n const res = await (0, cross_fetch_1.fetch)(url, { signal: abortable.current?.signal, ...options });\n return (await parseResponseRef.current(res));\n }, [parseResponseRef]);\n // @ts-expect-error T can't be a Promise so it's actually the same\n return (0, useCachedPromise_1.useCachedPromise)(fn, [url, fetchOptions], { ...useCachedPromiseOptions, abortable });\n}\nexports.useFetch = useFetch;\n", "/**\n * This is not the set of all possible signals.\n *\n * It IS, however, the set of all signals that trigger\n * an exit on either Linux or BSD systems. Linux is a\n * superset of the signal names supported on BSD, and\n * the unknown signals just fail to register, so we can\n * catch that easily enough.\n *\n * Windows signals are a different set, since there are\n * signals that terminate Windows processes, but don't\n * terminate (or don't even exist) on Posix systems.\n *\n * Don't bother with SIGKILL. It's uncatchable, which\n * means that we can't fire any callbacks anyway.\n *\n * If a user does happen to register a handler on a non-\n * fatal signal like SIGWINCH or something, and then\n * exit, it'll end up firing `process.emit('exit')`, so\n * the handler will be fired anyway.\n *\n * SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n * artificially, inherently leave the process in a\n * state from which it is not safe to try and enter JS\n * listeners.\n */\nexport const signals: NodeJS.Signals[] = []\nsignals.push('SIGHUP', 'SIGINT', 'SIGTERM')\n\nif (process.platform !== 'win32') {\n signals.push(\n 'SIGALRM',\n 'SIGABRT',\n 'SIGVTALRM',\n 'SIGXCPU',\n 'SIGXFSZ',\n 'SIGUSR2',\n 'SIGTRAP',\n 'SIGSYS',\n 'SIGQUIT',\n 'SIGIOT'\n // should detect profiler and enable/disable accordingly.\n // see #21\n // 'SIGPROF'\n )\n}\n\nif (process.platform === 'linux') {\n signals.push('SIGIO', 'SIGPOLL', 'SIGPWR', 'SIGSTKFLT')\n}\n", "// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nimport { signals } from './signals.js'\nexport { signals }\n\n// just a loosened process type so we can do some evil things\ntype ProcessRE = NodeJS.Process & {\n reallyExit: (code?: number | undefined | null) => any\n emit: (ev: string, ...a: any[]) => any\n}\n\nconst processOk = (process: any): process is ProcessRE =>\n !!process &&\n typeof process === 'object' &&\n typeof process.removeListener === 'function' &&\n typeof process.emit === 'function' &&\n typeof process.reallyExit === 'function' &&\n typeof process.listeners === 'function' &&\n typeof process.kill === 'function' &&\n typeof process.pid === 'number' &&\n typeof process.on === 'function'\n\nconst kExitEmitter = Symbol.for('signal-exit emitter')\nconst global: typeof globalThis & { [kExitEmitter]?: Emitter } = globalThis\nconst ObjectDefineProperty = Object.defineProperty.bind(Object)\n\n/**\n * A function that takes an exit code and signal as arguments\n *\n * In the case of signal exits *only*, a return value of true\n * will indicate that the signal is being handled, and we should\n * not synthetically exit with the signal we received. Regardless\n * of the handler return value, the handler is unloaded when an\n * otherwise fatal signal is received, so you get exactly 1 shot\n * at it, unless you add another onExit handler at that point.\n *\n * In the case of numeric code exits, we may already have committed\n * to exiting the process, for example via a fatal exception or\n * unhandled promise rejection, so it is impossible to stop safely.\n */\nexport type Handler = (\n code: number | null | undefined,\n signal: NodeJS.Signals | null\n) => true | void\ntype ExitEvent = 'afterExit' | 'exit'\ntype Emitted = { [k in ExitEvent]: boolean }\ntype Listeners = { [k in ExitEvent]: Handler[] }\n\n// teeny special purpose ee\nclass Emitter {\n emitted: Emitted = {\n afterExit: false,\n exit: false,\n }\n\n listeners: Listeners = {\n afterExit: [],\n exit: [],\n }\n\n count: number = 0\n id: number = Math.random()\n\n constructor() {\n if (global[kExitEmitter]) {\n return global[kExitEmitter]\n }\n ObjectDefineProperty(global, kExitEmitter, {\n value: this,\n writable: false,\n enumerable: false,\n configurable: false,\n })\n }\n\n on(ev: ExitEvent, fn: Handler) {\n this.listeners[ev].push(fn)\n }\n\n removeListener(ev: ExitEvent, fn: Handler) {\n const list = this.listeners[ev]\n const i = list.indexOf(fn)\n /* c8 ignore start */\n if (i === -1) {\n return\n }\n /* c8 ignore stop */\n if (i === 0 && list.length === 1) {\n list.length = 0\n } else {\n list.splice(i, 1)\n }\n }\n\n emit(\n ev: ExitEvent,\n code: number | null | undefined,\n signal: NodeJS.Signals | null\n ): boolean {\n if (this.emitted[ev]) {\n return false\n }\n this.emitted[ev] = true\n let ret: boolean = false\n for (const fn of this.listeners[ev]) {\n ret = fn(code, signal) === true || ret\n }\n if (ev === 'exit') {\n ret = this.emit('afterExit', code, signal) || ret\n }\n return ret\n }\n}\n\nabstract class SignalExitBase {\n abstract onExit(cb: Handler, opts?: { alwaysLast?: boolean }): () => void\n abstract load(): void\n abstract unload(): void\n}\n\nconst signalExitWrap = <T extends SignalExitBase>(handler: T) => {\n return {\n onExit(cb: Handler, opts?: { alwaysLast?: boolean }) {\n return handler.onExit(cb, opts)\n },\n load() {\n return handler.load()\n },\n unload() {\n return handler.unload()\n },\n }\n}\n\nclass SignalExitFallback extends SignalExitBase {\n onExit() {\n return () => {}\n }\n load() {}\n unload() {}\n}\n\nclass SignalExit extends SignalExitBase {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n /* c8 ignore start */\n #hupSig = process.platform === 'win32' ? 'SIGINT' : 'SIGHUP'\n /* c8 ignore stop */\n #emitter = new Emitter()\n #process: ProcessRE\n #originalProcessEmit: ProcessRE['emit']\n #originalProcessReallyExit: ProcessRE['reallyExit']\n\n #sigListeners: { [k in NodeJS.Signals]?: () => void } = {}\n #loaded: boolean = false\n\n constructor(process: ProcessRE) {\n super()\n this.#process = process\n // { <signal>: <listener fn>, ... }\n this.#sigListeners = {}\n for (const sig of signals) {\n this.#sigListeners[sig] = () => {\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n const listeners = this.#process.listeners(sig)\n let { count } = this.#emitter\n // This is a workaround for the fact that signal-exit v3 and signal\n // exit v4 are not aware of each other, and each will attempt to let\n // the other handle it, so neither of them do. To correct this, we\n // detect if we're the only handler *except* for previous versions\n // of signal-exit, and increment by the count of listeners it has\n // created.\n /* c8 ignore start */\n const p = process as unknown as {\n __signal_exit_emitter__?: { count: number }\n }\n if (\n typeof p.__signal_exit_emitter__ === 'object' &&\n typeof p.__signal_exit_emitter__.count === 'number'\n ) {\n count += p.__signal_exit_emitter__.count\n }\n /* c8 ignore stop */\n if (listeners.length === count) {\n this.unload()\n const ret = this.#emitter.emit('exit', null, sig)\n /* c8 ignore start */\n const s = sig === 'SIGHUP' ? this.#hupSig : sig\n if (!ret) process.kill(process.pid, s)\n /* c8 ignore stop */\n }\n }\n }\n\n this.#originalProcessReallyExit = process.reallyExit\n this.#originalProcessEmit = process.emit\n }\n\n onExit(cb: Handler, opts?: { alwaysLast?: boolean }) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return () => {}\n }\n /* c8 ignore stop */\n\n if (this.#loaded === false) {\n this.load()\n }\n\n const ev = opts?.alwaysLast ? 'afterExit' : 'exit'\n this.#emitter.on(ev, cb)\n return () => {\n this.#emitter.removeListener(ev, cb)\n if (\n this.#emitter.listeners['exit'].length === 0 &&\n this.#emitter.listeners['afterExit'].length === 0\n ) {\n this.unload()\n }\n }\n }\n\n load() {\n if (this.#loaded) {\n return\n }\n this.#loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n this.#emitter.count += 1\n\n for (const sig of signals) {\n try {\n const fn = this.#sigListeners[sig]\n if (fn) this.#process.on(sig, fn)\n } catch (_) {}\n }\n\n this.#process.emit = (ev: string, ...a: any[]) => {\n return this.#processEmit(ev, ...a)\n }\n this.#process.reallyExit = (code?: number | null | undefined) => {\n return this.#processReallyExit(code)\n }\n }\n\n unload() {\n if (!this.#loaded) {\n return\n }\n this.#loaded = false\n\n signals.forEach(sig => {\n const listener = this.#sigListeners[sig]\n /* c8 ignore start */\n if (!listener) {\n throw new Error('Listener not defined for signal: ' + sig)\n }\n /* c8 ignore stop */\n try {\n this.#process.removeListener(sig, listener)\n /* c8 ignore start */\n } catch (_) {}\n /* c8 ignore stop */\n })\n this.#process.emit = this.#originalProcessEmit\n this.#process.reallyExit = this.#originalProcessReallyExit\n this.#emitter.count -= 1\n }\n\n #processReallyExit(code?: number | null | undefined) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return 0\n }\n this.#process.exitCode = code || 0\n /* c8 ignore stop */\n\n this.#emitter.emit('exit', this.#process.exitCode, null)\n return this.#originalProcessReallyExit.call(\n this.#process,\n this.#process.exitCode\n )\n }\n\n #processEmit(ev: string, ...args: any[]): any {\n const og = this.#originalProcessEmit\n if (ev === 'exit' && processOk(this.#process)) {\n if (typeof args[0] === 'number') {\n this.#process.exitCode = args[0]\n /* c8 ignore start */\n }\n /* c8 ignore start */\n const ret = og.call(this.#process, ev, ...args)\n /* c8 ignore start */\n this.#emitter.emit('exit', this.#process.exitCode, null)\n /* c8 ignore stop */\n return ret\n } else {\n return og.call(this.#process, ev, ...args)\n }\n }\n}\n\nconst process = globalThis.process\n// wrap so that we call the method on the actual handler, without\n// exporting it directly.\nexport const {\n /**\n * Called when the process is exiting, whether via signal, explicit\n * exit, or running out of stuff to do.\n *\n * If the global process object is not suitable for instrumentation,\n * then this will be a no-op.\n *\n * Returns a function that may be used to unload signal-exit.\n */\n onExit,\n\n /**\n * Load the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\n load,\n\n /**\n * Unload the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\n unload,\n} = signalExitWrap(\n processOk(process) ? new SignalExit(process) : new SignalExitFallback()\n)\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultParsing = exports.handleOutput = exports.getSpawnedResult = exports.getSpawnedPromise = void 0;\nconst node_buffer_1 = require(\"node:buffer\");\nconst node_stream_1 = __importDefault(require(\"node:stream\"));\nconst node_util_1 = require(\"node:util\");\nconst signal_exit_1 = require(\"signal-exit\");\nfunction getSpawnedPromise(spawned, { timeout } = {}) {\n const spawnedPromise = new Promise((resolve, reject) => {\n spawned.on(\"exit\", (exitCode, signal) => {\n resolve({ exitCode, signal, timedOut: false });\n });\n spawned.on(\"error\", (error) => {\n reject(error);\n });\n if (spawned.stdin) {\n spawned.stdin.on(\"error\", (error) => {\n reject(error);\n });\n }\n });\n if (timeout === 0 || timeout === undefined) {\n return spawnedPromise;\n }\n let timeoutId;\n const timeoutPromise = new Promise((_resolve, reject) => {\n timeoutId = setTimeout(() => {\n spawned.kill(\"SIGTERM\");\n reject(Object.assign(new Error(\"Timed out\"), { timedOut: true, signal: \"SIGTERM\" }));\n }, timeout);\n });\n const safeSpawnedPromise = spawnedPromise.finally(() => {\n clearTimeout(timeoutId);\n });\n const removeExitHandler = (0, signal_exit_1.onExit)(() => {\n spawned.kill();\n });\n return Promise.race([timeoutPromise, safeSpawnedPromise]).finally(() => removeExitHandler());\n}\nexports.getSpawnedPromise = getSpawnedPromise;\nclass MaxBufferError extends Error {\n constructor() {\n super(\"The output is too big\");\n this.name = \"MaxBufferError\";\n }\n}\nconst streamPipelinePromisified = (0, node_util_1.promisify)(node_stream_1.default.pipeline);\nfunction bufferStream(options) {\n const { encoding } = options;\n const isBuffer = encoding === \"buffer\";\n // @ts-expect-error missing the methods we are adding below\n const stream = new node_stream_1.default.PassThrough({ objectMode: false });\n if (encoding && encoding !== \"buffer\") {\n stream.setEncoding(encoding);\n }\n let length = 0;\n const chunks = [];\n stream.on(\"data\", (chunk) => {\n chunks.push(chunk);\n length += chunk.length;\n });\n stream.getBufferedValue = () => {\n return (isBuffer ? Buffer.concat(chunks, length) : chunks.join(\"\"));\n };\n stream.getBufferedLength = () => length;\n return stream;\n}\nasync function getStream(inputStream, options) {\n const stream = bufferStream(options);\n await new Promise((resolve, reject) => {\n const rejectPromise = (error) => {\n // Don't retrieve an oversized buffer.\n if (error && stream.getBufferedLength() <= node_buffer_1.constants.MAX_LENGTH) {\n error.bufferedData = stream.getBufferedValue();\n }\n reject(error);\n };\n (async () => {\n try {\n await streamPipelinePromisified(inputStream, stream);\n resolve();\n }\n catch (error) {\n rejectPromise(error);\n }\n })();\n stream.on(\"data\", () => {\n // 80mb\n if (stream.getBufferedLength() > 1000 * 1000 * 80) {\n rejectPromise(new MaxBufferError());\n }\n });\n });\n return stream.getBufferedValue();\n}\n// On failure, `result.stdout|stderr` should contain the currently buffered stream\nasync function getBufferedData(stream, streamPromise) {\n stream.destroy();\n try {\n return await streamPromise;\n }\n catch (error) {\n return error.bufferedData;\n }\n}\nasync function getSpawnedResult({ stdout, stderr }, { encoding }, processDone) {\n const stdoutPromise = getStream(stdout, { encoding });\n const stderrPromise = getStream(stderr, { encoding });\n try {\n return await Promise.all([processDone, stdoutPromise, stderrPromise]);\n }\n catch (error) {\n return Promise.all([\n {\n error: error,\n exitCode: null,\n signal: error.signal,\n timedOut: error.timedOut || false,\n },\n getBufferedData(stdout, stdoutPromise),\n getBufferedData(stderr, stderrPromise),\n ]);\n }\n}\nexports.getSpawnedResult = getSpawnedResult;\nfunction stripFinalNewline(input) {\n const LF = typeof input === \"string\" ? \"\\n\" : \"\\n\".charCodeAt(0);\n const CR = typeof input === \"string\" ? \"\\r\" : \"\\r\".charCodeAt(0);\n if (input[input.length - 1] === LF) {\n // @ts-expect-error we are doing some nasty stuff here\n input = input.slice(0, -1);\n }\n if (input[input.length - 1] === CR) {\n // @ts-expect-error we are doing some nasty stuff here\n input = input.slice(0, -1);\n }\n return input;\n}\nfunction handleOutput(options, value) {\n if (options.stripFinalNewline) {\n return stripFinalNewline(value);\n }\n return value;\n}\nexports.handleOutput = handleOutput;\nconst getErrorPrefix = ({ timedOut, timeout, signal, exitCode, }) => {\n if (timedOut) {\n return `timed out after ${timeout} milliseconds`;\n }\n if (signal !== undefined && signal !== null) {\n return `was killed with ${signal}`;\n }\n if (exitCode !== undefined && exitCode !== null) {\n return `failed with exit code ${exitCode}`;\n }\n return \"failed\";\n};\nconst makeError = ({ stdout, stderr, error, signal, exitCode, command, timedOut, options, parentError, }) => {\n const prefix = getErrorPrefix({ timedOut, timeout: options?.timeout, signal, exitCode });\n const execaMessage = `Command ${prefix}: ${command}`;\n const shortMessage = error ? `${execaMessage}\\n${error.message}` : execaMessage;\n const message = [shortMessage, stderr, stdout].filter(Boolean).join(\"\\n\");\n if (error) {\n // @ts-expect-error not on Error\n error.originalMessage = error.message;\n }\n else {\n error = parentError;\n }\n error.message = message;\n // @ts-expect-error not on Error\n error.shortMessage = shortMessage;\n // @ts-expect-error not on Error\n error.command = command;\n // @ts-expect-error not on Error\n error.exitCode = exitCode;\n // @ts-expect-error not on Error\n error.signal = signal;\n // @ts-expect-error not on Error\n error.stdout = stdout;\n // @ts-expect-error not on Error\n error.stderr = stderr;\n if (\"bufferedData\" in error) {\n delete error[\"bufferedData\"];\n }\n return error;\n};\nfunction defaultParsing({ stdout, stderr, error, exitCode, signal, timedOut, command, options, parentError, }) {\n if (error || exitCode !== 0 || signal !== null) {\n const returnedError = makeError({\n error,\n exitCode,\n signal,\n stdout,\n stderr,\n command,\n timedOut,\n options,\n parentError,\n });\n throw returnedError;\n }\n return stdout;\n}\nexports.defaultParsing = defaultParsing;\n", "\"use strict\";\n/*\n * Inspired by Execa\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useExec = void 0;\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst react_1 = require(\"react\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst exec_utils_1 = require(\"./exec-utils\");\nconst SPACES_REGEXP = / +/g;\nfunction parseCommand(command, args) {\n if (args) {\n return [command, ...args];\n }\n const tokens = [];\n for (const token of command.trim().split(SPACES_REGEXP)) {\n // Allow spaces to be escaped by a backslash if not meant as a delimiter\n const previousToken = tokens[tokens.length - 1];\n if (previousToken && previousToken.endsWith(\"\\\\\")) {\n // Merge previous token with current one\n tokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`;\n }\n else {\n tokens.push(token);\n }\n }\n return tokens;\n}\nfunction useExec(command, optionsOrArgs, options) {\n const { parseOutput, input, onData, onWillExecute, initialData, execute, keepPreviousData, onError, ...execOptions } = Array.isArray(optionsOrArgs) ? options || {} : optionsOrArgs || {};\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n };\n const abortable = (0, react_1.useRef)();\n const parseOutputRef = (0, useLatest_1.useLatest)(parseOutput || exec_utils_1.defaultParsing);\n const fn = (0, react_1.useCallback)(async (_command, _args, _options, input) => {\n const [file, ...args] = parseCommand(_command, _args);\n const command = [file, ...args].join(\" \");\n const options = {\n stripFinalNewline: true,\n ..._options,\n timeout: _options?.timeout || 10000,\n signal: abortable.current?.signal,\n encoding: _options?.encoding === null ? \"buffer\" : _options?.encoding || \"utf8\",\n env: { PATH: \"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\", ...process.env, ..._options?.env },\n };\n const spawned = node_child_process_1.default.spawn(file, args, options);\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned, options);\n if (input) {\n spawned.stdin.end(input);\n }\n const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, options, spawnedPromise);\n const stdout = (0, exec_utils_1.handleOutput)(options, stdoutResult);\n const stderr = (0, exec_utils_1.handleOutput)(options, stderrResult);\n return parseOutputRef.current({\n // @ts-expect-error too many generics, I give up\n stdout,\n // @ts-expect-error too many generics, I give up\n stderr,\n error,\n exitCode,\n signal,\n timedOut,\n command,\n options,\n parentError: new Error(),\n });\n }, [parseOutputRef]);\n // @ts-expect-error T can't be a Promise so it's actually the same\n return (0, useCachedPromise_1.useCachedPromise)(fn, [command, Array.isArray(optionsOrArgs) ? optionsOrArgs : [], execOptions, input], {\n ...useCachedPromiseOptions,\n abortable,\n });\n}\nexports.useExec = useExec;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useSQL = void 0;\nconst jsx_runtime_1 = require(\"react/jsx-runtime\");\nconst api_1 = require(\"@raycast/api\");\nconst node_fs_1 = require(\"node:fs\");\nconst promises_1 = require(\"node:fs/promises\");\nconst node_os_1 = __importDefault(require(\"node:os\"));\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst node_path_1 = __importDefault(require(\"node:path\"));\nconst object_hash_1 = __importDefault(require(\"object-hash\"));\nconst react_1 = require(\"react\");\nconst usePromise_1 = require(\"./usePromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst exec_utils_1 = require(\"./exec-utils\");\nconst handle_error_toast_action_1 = require(\"./handle-error-toast-action\");\n/**\n * Executes a query on a local SQL database and returns the {@link AsyncState} corresponding to the query of the command. The last value will be kept between command runs.\n *\n * @example\n * ```\n * import { useSQL } from \"@raycast/utils\";\n * import { resolve } from \"path\";\n * import { homedir } from \"os\";\n *\n * const NOTES_DB = resolve(homedir(), \"Library/Group Containers/group.com.apple.notes/NoteStore.sqlite\");\n * const notesQuery = `SELECT id, title FROM ...`;\n * type NoteItem = {\n * id: string;\n * title: string;\n * };\n *\n * export default function Command() {\n * const { isLoading, data, permissionView } = useSQL<NoteItem>(NOTES_DB, notesQuery);\n *\n * if (permissionView) {\n * return permissionView;\n * }\n *\n * return (\n * <List isLoading={isLoading}>\n * {(data || []).map((item) => (\n * <List.Item key={item.id} title={item.title} />\n * ))}\n * </List>\n * );\n * };\n * ```\n */\nfunction useSQL(databasePath, query, options) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { permissionPriming, ...usePromiseOptions } = options || {};\n const [permissionView, setPermissionView] = (0, react_1.useState)();\n const latestOptions = (0, useLatest_1.useLatest)(options || {});\n const abortable = (0, react_1.useRef)();\n const handleError = (0, react_1.useCallback)((_error) => {\n console.error(_error);\n const error = _error instanceof Error && _error.message.includes(\"authorization denied\")\n ? new PermissionError(\"You do not have permission to access the database.\")\n : _error;\n if (isPermissionError(error)) {\n setPermissionView((0, jsx_runtime_1.jsx)(PermissionErrorScreen, { priming: latestOptions.current.permissionPriming }));\n }\n else {\n if (latestOptions.current.onError) {\n latestOptions.current.onError(error);\n }\n else {\n console.error(error);\n if (api_1.environment.launchType !== api_1.LaunchType.Background) {\n (0, api_1.showToast)({\n style: api_1.Toast.Style.Failure,\n title: \"Cannot query the data\",\n message: error.message,\n primaryAction: (0, handle_error_toast_action_1.handleErrorToastAction)(error),\n });\n }\n }\n }\n }, [latestOptions]);\n const fn = (0, react_1.useMemo)(() => {\n if (!(0, node_fs_1.existsSync)(databasePath)) {\n throw new Error(\"The database does not exist\");\n }\n let workaroundCopiedDb = undefined;\n return async (databasePath, query) => {\n const abortSignal = abortable.current?.signal;\n const spawned = node_child_process_1.default.spawn(\"sqlite3\", [\"--json\", \"--readonly\", databasePath, query], {\n signal: abortSignal,\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned);\n let [{ error, exitCode, signal }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf-8\" }, spawnedPromise);\n checkAborted(abortSignal);\n if (stderrResult.match(\"(5)\") || stderrResult.match(\"(14)\")) {\n // That means that the DB is busy because of another app is locking it\n // This happens when Chrome or Arc is opened: they lock the History db.\n // As an ugly workaround, we duplicate the file and read that instead\n // (with vfs unix - none to just not care about locks)\n if (!workaroundCopiedDb) {\n const tempFolder = node_path_1.default.join(node_os_1.default.tmpdir(), \"useSQL\", (0, object_hash_1.default)(databasePath));\n await (0, promises_1.mkdir)(tempFolder, { recursive: true });\n checkAborted(abortSignal);\n workaroundCopiedDb = node_path_1.default.join(tempFolder, \"db.db\");\n await (0, promises_1.copyFile)(databasePath, workaroundCopiedDb);\n // needed for certain db\n await (0, promises_1.writeFile)(workaroundCopiedDb + \"-shm\", \"\");\n await (0, promises_1.writeFile)(workaroundCopiedDb + \"-wal\", \"\");\n checkAborted(abortSignal);\n }\n const spawned = node_child_process_1.default.spawn(\"sqlite3\", [\"--json\", \"--readonly\", \"--vfs\", \"unix-none\", workaroundCopiedDb, query], {\n signal: abortSignal,\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned);\n [{ error, exitCode, signal }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf-8\" }, spawnedPromise);\n checkAborted(abortSignal);\n }\n if (error || exitCode !== 0 || signal !== null) {\n throw new Error(stderrResult);\n }\n return JSON.parse(stdoutResult.trim() || \"[]\");\n };\n }, [databasePath]);\n return {\n ...(0, usePromise_1.usePromise)(fn, [databasePath, query], { ...usePromiseOptions, onError: handleError }),\n permissionView,\n };\n}\nexports.useSQL = useSQL;\nclass PermissionError extends Error {\n constructor(message) {\n super(message);\n this.name = \"PermissionError\";\n }\n}\nfunction isPermissionError(error) {\n return error instanceof Error && error.name === \"PermissionError\";\n}\nconst macosVenturaAndLater = parseInt(node_os_1.default.release().split(\".\")[0]) >= 22;\nconst preferencesString = macosVenturaAndLater ? \"Settings\" : \"Preferences\";\nfunction PermissionErrorScreen(props) {\n const action = macosVenturaAndLater\n ? {\n title: \"Open System Settings -> Privacy\",\n target: \"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles\",\n }\n : {\n title: \"Open System Preferences -> Security\",\n target: \"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles\",\n };\n if (api_1.environment.commandMode === \"menu-bar\") {\n return ((0, jsx_runtime_1.jsxs)(api_1.MenuBarExtra, { icon: api_1.Icon.Warning, title: api_1.environment.commandName, children: [(0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: \"Raycast needs full disk access\", tooltip: `You can revert this access in ${preferencesString} whenever you want` }), props.priming ? ((0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: props.priming, tooltip: `You can revert this access in ${preferencesString} whenever you want` })) : null, (0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Separator, {}), (0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: action.title, onAction: () => (0, api_1.open)(action.target) })] }));\n }\n return ((0, jsx_runtime_1.jsx)(api_1.List, { children: (0, jsx_runtime_1.jsx)(api_1.List.EmptyView, { icon: {\n source: {\n light: \"https://raycast.com/uploads/extensions-utils-security-permissions-light.png\",\n dark: \"https://raycast.com/uploads/extensions-utils-security-permissions-dark.png\",\n },\n }, title: \"Raycast needs full disk access.\", description: `${props.priming ? props.priming + \"\\n\" : \"\"}You can revert this access in ${preferencesString} whenever you want.`, actions: (0, jsx_runtime_1.jsx)(api_1.ActionPanel, { children: (0, jsx_runtime_1.jsx)(api_1.Action.Open, { ...action }) }) }) }));\n}\nfunction checkAborted(signal) {\n if (signal?.aborted) {\n const error = new Error(\"aborted\");\n error.name = \"AbortError\";\n throw error;\n }\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useForm = exports.FormValidation = void 0;\nconst react_1 = require(\"react\");\nconst useLatest_1 = require(\"./useLatest\");\n/**\n * Shorthands for common validation cases\n */\nvar FormValidation;\n(function (FormValidation) {\n /** Show an error when the value of the item is empty */\n FormValidation[\"Required\"] = \"required\";\n})(FormValidation = exports.FormValidation || (exports.FormValidation = {}));\nfunction validationError(validation, value) {\n if (validation) {\n if (typeof validation === \"function\") {\n return validation(value);\n }\n else if (validation === FormValidation.Required) {\n let valueIsValid = typeof value !== \"undefined\" && value !== null;\n if (valueIsValid) {\n switch (typeof value) {\n case \"string\":\n valueIsValid = value.length > 0;\n break;\n case \"object\":\n if (Array.isArray(value)) {\n valueIsValid = value.length > 0;\n }\n else if (value instanceof Date) {\n valueIsValid = value.getTime() > 0;\n }\n break;\n default:\n break;\n }\n }\n if (!valueIsValid) {\n return \"The item is required\";\n }\n }\n }\n}\n/**\n * Hook that provides a high-level interface to work with Forms, and more particularly, with Form validations. It incorporates all the good practices to provide a great User Experience for your Forms.\n *\n * @returns an object which contains the necessary methods and props to provide a good User Experience in your Form.\n *\n * @example\n * ```\n * import { Action, ActionPanel, Form, showToast, Toast } from \"@raycast/api\";\n * import { useForm, FormValidation } from \"@raycast/utils\";\n *\n * interface SignUpFormValues {\n * nickname: string;\n * password: string;\n * }\n *\n * export default function Command() {\n * const { handleSubmit, itemProps } = useForm<SignUpFormValues>({\n * onSubmit(values) {\n * showToast(Toast.Style.Success, \"Yay!\", `${values.nickname} account created`);\n * },\n * validation: {\n * nickname: FormValidation.Required,\n * password: (value) => {\n * if (value && value.length < 8) {\n * return \"Password must be at least 8 symbols\";\n * } else if (!value) {\n * return \"The item is required\";\n * }\n * },\n * },\n * });\n *\n * return (\n * <Form\n * actions={\n * <ActionPanel>\n * <Action.SubmitForm title=\"Submit\" onSubmit={handleSubmit} />\n * </ActionPanel>\n * }\n * >\n * <Form.TextField title=\"Nickname\" placeholder=\"Enter your nickname\" {...itemProps.nickname} />\n * <Form.PasswordField\n * title=\"Password\"\n * placeholder=\"Enter password at least 8 characters long\"\n * {...itemProps.password}\n * />\n * </Form>\n * );\n * }\n * ```\n */\nfunction useForm(props) {\n const { onSubmit: _onSubmit, validation, initialValues = {} } = props;\n // @ts-expect-error it's fine if we don't specify all the values\n const [values, setValues] = (0, react_1.useState)(initialValues);\n const [errors, setErrors] = (0, react_1.useState)({});\n const refs = (0, react_1.useRef)({});\n const latestValidation = (0, useLatest_1.useLatest)(validation || {});\n const latestOnSubmit = (0, useLatest_1.useLatest)(_onSubmit);\n const focus = (0, react_1.useCallback)((id) => {\n refs.current[id]?.focus();\n }, [refs]);\n const handleSubmit = (0, react_1.useCallback)(async (values) => {\n let validationErrors = false;\n for (const [id, validation] of Object.entries(latestValidation.current)) {\n const error = validationError(validation, values[id]);\n if (error) {\n if (!validationErrors) {\n validationErrors = {};\n // we focus the first item that has an error\n focus(id);\n }\n validationErrors[id] = error;\n }\n }\n if (validationErrors) {\n setErrors(validationErrors);\n return false;\n }\n const result = await latestOnSubmit.current(values);\n return typeof result === \"boolean\" ? result : true;\n }, [latestValidation, latestOnSubmit, focus]);\n const setValidationError = (0, react_1.useCallback)((id, error) => {\n setErrors((errors) => ({ ...errors, [id]: error }));\n }, [setErrors]);\n const setValue = (0, react_1.useCallback)(function (id, value) {\n // @ts-expect-error TS is always confused about SetStateAction, but it's fine here\n setValues((values) => ({ ...values, [id]: typeof value === \"function\" ? value(values[id]) : value }));\n }, [setValues]);\n const itemProps = (0, react_1.useMemo)(() => {\n // we have to use a proxy because we don't actually have any object to iterate through\n // so instead we dynamically create the props when required\n return new Proxy(\n // @ts-expect-error the whole point of a proxy...\n {}, {\n get(target, id) {\n const validation = latestValidation.current[id];\n const value = values[id];\n return {\n onChange(value) {\n if (errors[id]) {\n const error = validationError(validation, value);\n if (!error) {\n setValidationError(id, undefined);\n }\n }\n setValue(id, value);\n },\n onBlur(event) {\n const error = validationError(validation, event.target.value);\n if (error) {\n setValidationError(id, error);\n }\n },\n error: errors[id],\n id,\n // we shouldn't return `undefined` otherwise it will be an uncontrolled component\n value: typeof value === \"undefined\" ? null : value,\n ref: (instance) => {\n refs.current[id] = instance;\n },\n };\n },\n });\n }, [errors, latestValidation, setValidationError, values, refs, setValue]);\n const reset = (0, react_1.useCallback)((initialValues = {}) => {\n // @ts-expect-error it's fine if we don't specify all the values\n setValues(initialValues);\n setErrors({});\n }, [setValues, setErrors]);\n return { handleSubmit, setValidationError, setValue, values, itemProps, focus, reset };\n}\nexports.useForm = useForm;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useAI = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst usePromise_1 = require(\"./usePromise\");\n/**\n * Stream a prompt completion.\n *\n * @example\n * ```typescript\n * import { Detail, LaunchProps } from \"@raycast/api\";\n * import { use AI } from \"@raycast/utils\";\n *\n * export default function Command(props: LaunchProps<{ arguments: { prompt: string } }>) {\n * const { isLoading, data } = useAI(props.arguments.prompt);\n *\n * return <Detail isLoading={isLoading} markdown={data} />;\n * }\n * ```\n */\nfunction useAI(prompt, options = {}) {\n const { creativity, stream, model, ...usePromiseOptions } = options;\n const [data, setData] = (0, react_1.useState)(\"\");\n const abortable = (0, react_1.useRef)();\n const { isLoading, error, revalidate } = (0, usePromise_1.usePromise)(async (prompt, creativity, shouldStream) => {\n setData(\"\");\n const stream = api_1.AI.ask(prompt, { creativity, model, signal: abortable.current?.signal });\n if (shouldStream === false) {\n setData(await stream);\n }\n else {\n stream.on(\"data\", (data) => {\n setData((x) => x + data);\n });\n await stream;\n }\n }, [prompt, creativity, stream], { ...usePromiseOptions, abortable });\n return { isLoading, data, error, revalidate };\n}\nexports.useAI = useAI;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFrecencySorting = void 0;\nconst react_1 = require(\"react\");\nconst useLatest_1 = require(\"./useLatest\");\nconst useCachedState_1 = require(\"./useCachedState\");\nconst HALF_LIFE_DAYS = 10;\nconst MS_PER_DAY = 24 * 60 * 60 * 1000;\nconst DECAY_RATE_CONSTANT = Math.log(2) / (HALF_LIFE_DAYS * MS_PER_DAY);\nconst VISIT_TYPE_POINTS = {\n Default: 100,\n Embed: 0,\n Bookmark: 140,\n};\nfunction getNewFrecency(item) {\n const now = Date.now();\n const lastVisited = item ? item.lastVisited : 0;\n const frecency = item ? item.frecency : 0;\n const visitAgeInDays = (now - lastVisited) / MS_PER_DAY;\n const currentVisitValue = VISIT_TYPE_POINTS.Default * Math.exp(-DECAY_RATE_CONSTANT * visitAgeInDays);\n const totalVisitValue = frecency + currentVisitValue;\n return {\n lastVisited: now,\n frecency: totalVisitValue,\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst defaultKey = (item) => {\n if (process.env.NODE_ENV !== \"production\" &&\n (typeof item !== \"object\" || !item || !(\"id\" in item) || typeof item.id != \"string\")) {\n throw new Error(\"Specify a key function or make sure your items have an 'id' property\");\n }\n return item.id;\n};\nfunction useFrecencySorting(data, options) {\n const keyRef = (0, useLatest_1.useLatest)(options?.key || defaultKey);\n const sortUnvisitedRef = (0, useLatest_1.useLatest)(options?.sortUnvisited);\n const [storedFrecencies, setStoredFrecencies] = (0, useCachedState_1.useCachedState)(`raycast_frecency_${options?.namespace}`, {});\n const visitItem = (0, react_1.useCallback)(async function updateFrecency(item) {\n const itemKey = keyRef.current(item);\n setStoredFrecencies((storedFrecencies) => {\n const frecency = storedFrecencies[itemKey];\n const newFrecency = getNewFrecency(frecency);\n return {\n ...storedFrecencies,\n [itemKey]: newFrecency,\n };\n });\n }, [keyRef, setStoredFrecencies]);\n const resetRanking = (0, react_1.useCallback)(async function removeFrecency(item) {\n const itemKey = keyRef.current(item);\n setStoredFrecencies((storedFrecencies) => {\n const newFrencencies = { ...storedFrecencies };\n delete newFrencencies[itemKey];\n return newFrencencies;\n });\n }, [keyRef, setStoredFrecencies]);\n const sortedData = (0, react_1.useMemo)(() => {\n if (!data) {\n return [];\n }\n return data.sort((a, b) => {\n const frecencyA = storedFrecencies[keyRef.current(a)];\n const frecencyB = storedFrecencies[keyRef.current(b)];\n // If a has a frecency, but b doesn't, a should come first\n if (frecencyA && !frecencyB) {\n return -1;\n }\n // If b has a frecency, but a doesn't, b should come first\n if (!frecencyA && frecencyB) {\n return 1;\n }\n // If both frecencies are defined,put the one with the higher frecency first\n if (frecencyA && frecencyB) {\n return frecencyB.frecency - frecencyA.frecency;\n }\n // If both frecencies are undefined, keep the original order\n return sortUnvisitedRef.current ? sortUnvisitedRef.current(a, b) : 0;\n });\n }, [storedFrecencies, data, keyRef, sortUnvisitedRef]);\n return { data: sortedData, visitItem, resetRanking };\n}\nexports.useFrecencySorting = useFrecencySorting;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.slightlyLighterColor = exports.slightlyDarkerColor = void 0;\nfunction hexToRGB(hex) {\n let r = 0;\n let g = 0;\n let b = 0;\n // 3 digits\n if (hex.length === 4) {\n r = parseInt(`${hex[1]}${hex[1]}`, 16);\n g = parseInt(`${hex[2]}${hex[2]}`, 16);\n b = parseInt(`${hex[3]}${hex[3]}`, 16);\n // 6 digits\n }\n else if (hex.length === 7) {\n r = parseInt(`${hex[1]}${hex[2]}`, 16);\n g = parseInt(`${hex[3]}${hex[4]}`, 16);\n b = parseInt(`${hex[5]}${hex[6]}`, 16);\n }\n else {\n throw new Error(`Malformed hex color: ${hex}`);\n }\n return { r, g, b };\n}\nfunction rgbToHex({ r, g, b }) {\n let rString = r.toString(16);\n let gString = g.toString(16);\n let bString = b.toString(16);\n if (rString.length === 1) {\n rString = `0${rString}`;\n }\n if (gString.length === 1) {\n gString = `0${gString}`;\n }\n if (bString.length === 1) {\n bString = `0${bString}`;\n }\n return `#${rString}${gString}${bString}`;\n}\nfunction rgbToHSL({ r, g, b }) {\n // Make r, g, and b fractions of 1\n r /= 255;\n g /= 255;\n b /= 255;\n // Find greatest and smallest channel values\n const cmin = Math.min(r, g, b);\n const cmax = Math.max(r, g, b);\n const delta = cmax - cmin;\n let h = 0;\n let s = 0;\n let l = 0;\n // Calculate hue\n // No difference\n if (delta === 0) {\n h = 0;\n }\n // Red is max\n else if (cmax === r) {\n h = ((g - b) / delta) % 6;\n }\n // Green is max\n else if (cmax === g) {\n h = (b - r) / delta + 2;\n }\n // Blue is max\n else {\n h = (r - g) / delta + 4;\n }\n h = Math.round(h * 60);\n // Make negative hues positive behind 360\u00B0\n if (h < 0) {\n h += 360;\n }\n // Calculate lightness\n l = (cmax + cmin) / 2;\n // Calculate saturation\n s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));\n // Multiply l and s by 100\n s = +(s * 100).toFixed(1);\n l = +(l * 100).toFixed(1);\n return { h, s, l };\n}\nfunction hslToRGB({ h, s, l }) {\n // Must be fractions of 1\n s /= 100;\n l /= 100;\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = l - c / 2;\n let r = 0;\n let g = 0;\n let b = 0;\n if (h >= 0 && h < 60) {\n r = c;\n g = x;\n b = 0;\n }\n else if (h >= 60 && h < 120) {\n r = x;\n g = c;\n b = 0;\n }\n else if (h >= 120 && h < 180) {\n r = 0;\n g = c;\n b = x;\n }\n else if (h >= 180 && h < 240) {\n r = 0;\n g = x;\n b = c;\n }\n else if (h >= 240 && h < 300) {\n r = x;\n g = 0;\n b = c;\n }\n else if (h >= 300 && h < 360) {\n r = c;\n g = 0;\n b = x;\n }\n r = Math.round((r + m) * 255);\n g = Math.round((g + m) * 255);\n b = Math.round((b + m) * 255);\n return { r, g, b };\n}\nfunction hexToHSL(hex) {\n return rgbToHSL(hexToRGB(hex));\n}\nfunction hslToHex(hsl) {\n return rgbToHex(hslToRGB(hsl));\n}\nfunction clamp(value, min, max) {\n return min < max ? (value < min ? min : value > max ? max : value) : value < max ? max : value > min ? min : value;\n}\nconst offset = 12;\nfunction slightlyDarkerColor(hex) {\n const hsl = hexToHSL(hex);\n return hslToHex({\n h: hsl.h,\n s: hsl.s,\n l: clamp(hsl.l - offset, 0, 100),\n });\n}\nexports.slightlyDarkerColor = slightlyDarkerColor;\nfunction slightlyLighterColor(hex) {\n const hsl = hexToHSL(hex);\n return hslToHex({\n h: hsl.h,\n s: hsl.s,\n l: clamp(hsl.l + offset, 0, 100),\n });\n}\nexports.slightlyLighterColor = slightlyLighterColor;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAvatarIcon = void 0;\nconst color_1 = require(\"./color\");\nfunction getWholeCharAndI(str, i) {\n const code = str.charCodeAt(i);\n if (Number.isNaN(code)) {\n return [\"\", i];\n }\n if (code < 0xd800 || code > 0xdfff) {\n return [str.charAt(i), i]; // Normal character, keeping 'i' the same\n }\n // High surrogate (could change last hex to 0xDB7F to treat high private\n // surrogates as single characters)\n if (0xd800 <= code && code <= 0xdbff) {\n if (str.length <= i + 1) {\n throw new Error(\"High surrogate without following low surrogate\");\n }\n const next = str.charCodeAt(i + 1);\n if (0xdc00 > next || next > 0xdfff) {\n throw new Error(\"High surrogate without following low surrogate\");\n }\n return [str.charAt(i) + str.charAt(i + 1), i + 1];\n }\n // Low surrogate (0xDC00 <= code && code <= 0xDFFF)\n if (i === 0) {\n throw new Error(\"Low surrogate without preceding high surrogate\");\n }\n const prev = str.charCodeAt(i - 1);\n // (could change last hex to 0xDB7F to treat high private surrogates\n // as single characters)\n if (0xd800 > prev || prev > 0xdbff) {\n throw new Error(\"Low surrogate without preceding high surrogate\");\n }\n // Return the next character instead (and increment)\n return [str.charAt(i + 1), i + 1];\n}\nconst avatarColorSet = [\n \"#DC829A\",\n \"#D64854\",\n \"#D47600\",\n \"#D36CDD\",\n \"#52A9E4\",\n \"#7871E8\",\n \"#70920F\",\n \"#43B93A\",\n \"#EB6B3E\",\n \"#26B795\",\n \"#D85A9B\",\n \"#A067DC\",\n \"#BD9500\",\n \"#5385D9\", // Blue\n];\n/**\n * Icon to represent an avatar when you don't have one. The generated avatar\n * will be generated from the initials of the name and have a colorful but consistent background.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getAvatarIcon('Mathieu Dutour')} title=\"Project\" />\n * ```\n */\nfunction getAvatarIcon(name, options) {\n const words = name.trim().split(\" \");\n let initials;\n if (words.length == 1 && getWholeCharAndI(words[0], 0)[0]) {\n initials = getWholeCharAndI(words[0], 0)[0];\n }\n else if (words.length > 1) {\n const firstWordFirstLetter = getWholeCharAndI(words[0], 0)[0] || \"\";\n const lastWordFirstLetter = getWholeCharAndI(words[words.length - 1], 0)[0] ?? \"\";\n initials = firstWordFirstLetter + lastWordFirstLetter;\n }\n else {\n initials = \"\";\n }\n let backgroundColor;\n if (options?.background) {\n backgroundColor = options?.background;\n }\n else {\n let initialsCharIndex = 0;\n let [char, i] = getWholeCharAndI(initials, 0);\n while (char) {\n initialsCharIndex += char.charCodeAt(0);\n [char, i] = getWholeCharAndI(initials, i + 1);\n }\n const colorIndex = initialsCharIndex % avatarColorSet.length;\n backgroundColor = avatarColorSet[colorIndex];\n }\n const padding = 0;\n const radius = 50 - padding;\n const svg = `<svg width=\"100px\" height=\"100px\">\n ${options?.gradient !== false\n ? `<defs>\n <linearGradient id=\"Gradient\" x1=\"0.25\" x2=\"0.75\" y1=\"0\" y2=\"1\">\n <stop offset=\"0%\" stop-color=\"${(0, color_1.slightlyLighterColor)(backgroundColor)}\"/>\n <stop offset=\"50%\" stop-color=\"${backgroundColor}\"/>\n <stop offset=\"100%\" stop-color=\"${(0, color_1.slightlyDarkerColor)(backgroundColor)}\"/>\n </linearGradient>\n </defs>`\n : \"\"}\n <circle cx=\"50\" cy=\"50\" r=\"${radius}\" fill=\"${options?.gradient !== false ? \"url(#Gradient)\" : backgroundColor}\" />\n ${initials\n ? `<text x=\"50\" y=\"80\" font-size=\"${radius - 1}\" font-family=\"Inter, sans-serif\" text-anchor=\"middle\" fill=\"white\">${initials.toUpperCase()}</text>`\n : \"\"}\n </svg>\n `.replaceAll(\"\\n\", \"\");\n return `data:image/svg+xml,${svg}`;\n}\nexports.getAvatarIcon = getAvatarIcon;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFavicon = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst url_1 = require(\"url\");\n/**\n * Icon showing the favicon of a website.\n *\n * A favicon (favorite icon) is a tiny icon included along with a website, which is displayed in places like the browser's address bar, page tabs, and bookmarks menu.\n *\n * @param url The URL of the website to represent.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getFavicon(\"https://raycast.com\")} title=\"Raycast Website\" />\n * ```\n */\nfunction getFavicon(url, options) {\n try {\n const urlObj = typeof url === \"string\" ? new url_1.URL(url) : url;\n const hostname = urlObj.hostname;\n return {\n source: `https://www.google.com/s2/favicons?sz=${options?.size ?? 64}&domain=${hostname}`,\n fallback: options?.fallback ?? api_1.Icon.Link,\n mask: options?.mask,\n };\n }\n catch (e) {\n console.error(e);\n return api_1.Icon.Link;\n }\n}\nexports.getFavicon = getFavicon;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getProgressIcon = void 0;\nconst api_1 = require(\"@raycast/api\");\nfunction polarToCartesian(centerX, centerY, radius, angleInDegrees) {\n const angleInRadians = ((angleInDegrees - 90) * Math.PI) / 180.0;\n return {\n x: centerX + radius * Math.cos(angleInRadians),\n y: centerY + radius * Math.sin(angleInRadians),\n };\n}\nfunction describeArc(x, y, radius, startAngle, endAngle) {\n const start = polarToCartesian(x, y, radius, endAngle);\n const end = polarToCartesian(x, y, radius, startAngle);\n const largeArcFlag = endAngle - startAngle <= 180 ? \"0\" : \"1\";\n const d = [\"M\", start.x, start.y, \"A\", radius, radius, 0, largeArcFlag, 0, end.x, end.y].join(\" \");\n return d;\n}\n/**\n * Icon to represent the progress of _something_.\n *\n * @param progress Number between 0 and 1.\n * @param color Hex color (default `\"#FF6363\"`) or Color.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getProgressIcon(0.1)} title=\"Project\" />\n * ```\n */\nfunction getProgressIcon(progress, color = api_1.Color.Red, options) {\n const background = options?.background || (api_1.environment.appearance === \"light\" ? \"black\" : \"white\");\n const backgroundOpacity = options?.backgroundOpacity || 0.1;\n const stroke = 10;\n const padding = 5;\n const radius = 50 - padding - stroke / 2;\n const svg = `<svg width=\"100px\" height=\"100px\">\n <circle cx=\"50\" cy=\"50\" r=\"${radius}\" stroke-width=\"${stroke}\" stroke=\"${progress < 1 ? background : color}\" opacity=\"${progress < 1 ? backgroundOpacity : \"1\"}\" fill=\"none\" />\n ${progress > 0 && progress < 1\n ? `<path d=\"${describeArc(50, 50, radius, 0, progress * 360)}\" stroke=\"${color}\" stroke-width=\"${stroke}\" fill=\"none\" />`\n : \"\"}\n </svg>\n `.replaceAll(\"\\n\", \"\");\n return `data:image/svg+xml,${svg}`;\n}\nexports.getProgressIcon = getProgressIcon;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./avatar\"), exports);\n__exportStar(require(\"./favicon\"), exports);\n__exportStar(require(\"./progress\"), exports);\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runAppleScript = void 0;\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst exec_utils_1 = require(\"./exec-utils\");\nasync function runAppleScript(script, optionsOrArgs, options) {\n const { humanReadableOutput, language, timeout, ...execOptions } = Array.isArray(optionsOrArgs)\n ? options || {}\n : optionsOrArgs || {};\n const outputArguments = humanReadableOutput !== false ? [] : [\"-ss\"];\n if (language === \"JavaScript\") {\n outputArguments.push(\"-l\", \"JavaScript\");\n }\n if (Array.isArray(optionsOrArgs)) {\n outputArguments.push(\"-\", ...optionsOrArgs);\n }\n const spawned = node_child_process_1.default.spawn(\"osascript\", outputArguments, {\n ...execOptions,\n env: { PATH: \"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\" },\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned, { timeout: timeout || 10000 });\n spawned.stdin.end(script);\n const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf8\" }, spawnedPromise);\n const stdout = (0, exec_utils_1.handleOutput)({ stripFinalNewline: true }, stdoutResult);\n const stderr = (0, exec_utils_1.handleOutput)({ stripFinalNewline: true }, stderrResult);\n return (0, exec_utils_1.defaultParsing)({\n stdout,\n stderr,\n error,\n exitCode,\n signal,\n timedOut,\n command: \"osascript\",\n options,\n parentError: new Error(),\n });\n}\nexports.runAppleScript = runAppleScript;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./usePromise\"), exports);\n__exportStar(require(\"./useCachedState\"), exports);\n__exportStar(require(\"./useCachedPromise\"), exports);\n__exportStar(require(\"./useFetch\"), exports);\n__exportStar(require(\"./useExec\"), exports);\n__exportStar(require(\"./useSQL\"), exports);\n__exportStar(require(\"./useForm\"), exports);\n__exportStar(require(\"./useAI\"), exports);\n__exportStar(require(\"./useFrecencySorting\"), exports);\n__exportStar(require(\"./icon\"), exports);\n__exportStar(require(\"./run-applescript\"), exports);\n", "module.exports = {\n kClose: Symbol('close'),\n kDestroy: Symbol('destroy'),\n kDispatch: Symbol('dispatch'),\n kUrl: Symbol('url'),\n kWriting: Symbol('writing'),\n kResuming: Symbol('resuming'),\n kQueue: Symbol('queue'),\n kConnect: Symbol('connect'),\n kConnecting: Symbol('connecting'),\n kHeadersList: Symbol('headers list'),\n kKeepAliveDefaultTimeout: Symbol('default keep alive timeout'),\n kKeepAliveMaxTimeout: Symbol('max keep alive timeout'),\n kKeepAliveTimeoutThreshold: Symbol('keep alive timeout threshold'),\n kKeepAliveTimeoutValue: Symbol('keep alive timeout'),\n kKeepAlive: Symbol('keep alive'),\n kHeadersTimeout: Symbol('headers timeout'),\n kBodyTimeout: Symbol('body timeout'),\n kServerName: Symbol('server name'),\n kLocalAddress: Symbol('local address'),\n kHost: Symbol('host'),\n kNoRef: Symbol('no ref'),\n kBodyUsed: Symbol('used'),\n kRunning: Symbol('running'),\n kBlocking: Symbol('blocking'),\n kPending: Symbol('pending'),\n kSize: Symbol('size'),\n kBusy: Symbol('busy'),\n kQueued: Symbol('queued'),\n kFree: Symbol('free'),\n kConnected: Symbol('connected'),\n kClosed: Symbol('closed'),\n kNeedDrain: Symbol('need drain'),\n kReset: Symbol('reset'),\n kDestroyed: Symbol.for('nodejs.stream.destroyed'),\n kMaxHeadersSize: Symbol('max headers size'),\n kRunningIdx: Symbol('running index'),\n kPendingIdx: Symbol('pending index'),\n kError: Symbol('error'),\n kClients: Symbol('clients'),\n kClient: Symbol('client'),\n kParser: Symbol('parser'),\n kOnDestroyed: Symbol('destroy callbacks'),\n kPipelining: Symbol('pipelining'),\n kSocket: Symbol('socket'),\n kHostHeader: Symbol('host header'),\n kConnector: Symbol('connector'),\n kStrictContentLength: Symbol('strict content length'),\n kMaxRedirections: Symbol('maxRedirections'),\n kMaxRequests: Symbol('maxRequestsPerClient'),\n kProxy: Symbol('proxy agent options'),\n kCounter: Symbol('socket request counter'),\n kInterceptors: Symbol('dispatch interceptors'),\n kMaxResponseSize: Symbol('max response size')\n}\n", "'use strict'\n\nclass UndiciError extends Error {\n constructor (message) {\n super(message)\n this.name = 'UndiciError'\n this.code = 'UND_ERR'\n }\n}\n\nclass ConnectTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, ConnectTimeoutError)\n this.name = 'ConnectTimeoutError'\n this.message = message || 'Connect Timeout Error'\n this.code = 'UND_ERR_CONNECT_TIMEOUT'\n }\n}\n\nclass HeadersTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, HeadersTimeoutError)\n this.name = 'HeadersTimeoutError'\n this.message = message || 'Headers Timeout Error'\n this.code = 'UND_ERR_HEADERS_TIMEOUT'\n }\n}\n\nclass HeadersOverflowError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, HeadersOverflowError)\n this.name = 'HeadersOverflowError'\n this.message = message || 'Headers Overflow Error'\n this.code = 'UND_ERR_HEADERS_OVERFLOW'\n }\n}\n\nclass BodyTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, BodyTimeoutError)\n this.name = 'BodyTimeoutError'\n this.message = message || 'Body Timeout Error'\n this.code = 'UND_ERR_BODY_TIMEOUT'\n }\n}\n\nclass ResponseStatusCodeError extends UndiciError {\n constructor (message, statusCode, headers, body) {\n super(message)\n Error.captureStackTrace(this, ResponseStatusCodeError)\n this.name = 'ResponseStatusCodeError'\n this.message = message || 'Response Status Code Error'\n this.code = 'UND_ERR_RESPONSE_STATUS_CODE'\n this.body = body\n this.status = statusCode\n this.statusCode = statusCode\n this.headers = headers\n }\n}\n\nclass InvalidArgumentError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, InvalidArgumentError)\n this.name = 'InvalidArgumentError'\n this.message = message || 'Invalid Argument Error'\n this.code = 'UND_ERR_INVALID_ARG'\n }\n}\n\nclass InvalidReturnValueError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, InvalidReturnValueError)\n this.name = 'InvalidReturnValueError'\n this.message = message || 'Invalid Return Value Error'\n this.code = 'UND_ERR_INVALID_RETURN_VALUE'\n }\n}\n\nclass RequestAbortedError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, RequestAbortedError)\n this.name = 'AbortError'\n this.message = message || 'Request aborted'\n this.code = 'UND_ERR_ABORTED'\n }\n}\n\nclass InformationalError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, InformationalError)\n this.name = 'InformationalError'\n this.message = message || 'Request information'\n this.code = 'UND_ERR_INFO'\n }\n}\n\nclass RequestContentLengthMismatchError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, RequestContentLengthMismatchError)\n this.name = 'RequestContentLengthMismatchError'\n this.message = message || 'Request body length does not match content-length header'\n this.code = 'UND_ERR_REQ_CONTENT_LENGTH_MISMATCH'\n }\n}\n\nclass ResponseContentLengthMismatchError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, ResponseContentLengthMismatchError)\n this.name = 'ResponseContentLengthMismatchError'\n this.message = message || 'Response body length does not match content-length header'\n this.code = 'UND_ERR_RES_CONTENT_LENGTH_MISMATCH'\n }\n}\n\nclass ClientDestroyedError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, ClientDestroyedError)\n this.name = 'ClientDestroyedError'\n this.message = message || 'The client is destroyed'\n this.code = 'UND_ERR_DESTROYED'\n }\n}\n\nclass ClientClosedError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, ClientClosedError)\n this.name = 'ClientClosedError'\n this.message = message || 'The client is closed'\n this.code = 'UND_ERR_CLOSED'\n }\n}\n\nclass SocketError extends UndiciError {\n constructor (message, socket) {\n super(message)\n Error.captureStackTrace(this, SocketError)\n this.name = 'SocketError'\n this.message = message || 'Socket error'\n this.code = 'UND_ERR_SOCKET'\n this.socket = socket\n }\n}\n\nclass NotSupportedError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, NotSupportedError)\n this.name = 'NotSupportedError'\n this.message = message || 'Not supported error'\n this.code = 'UND_ERR_NOT_SUPPORTED'\n }\n}\n\nclass BalancedPoolMissingUpstreamError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, NotSupportedError)\n this.name = 'MissingUpstreamError'\n this.message = message || 'No upstream has been added to the BalancedPool'\n this.code = 'UND_ERR_BPL_MISSING_UPSTREAM'\n }\n}\n\nclass HTTPParserError extends Error {\n constructor (message, code, data) {\n super(message)\n Error.captureStackTrace(this, HTTPParserError)\n this.name = 'HTTPParserError'\n this.code = code ? `HPE_${code}` : undefined\n this.data = data ? data.toString() : undefined\n }\n}\n\nclass ResponseExceededMaxSizeError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, ResponseExceededMaxSizeError)\n this.name = 'ResponseExceededMaxSizeError'\n this.message = message || 'Response content exceeded max size'\n this.code = 'UND_ERR_RES_EXCEEDED_MAX_SIZE'\n }\n}\n\nmodule.exports = {\n HTTPParserError,\n UndiciError,\n HeadersTimeoutError,\n HeadersOverflowError,\n BodyTimeoutError,\n RequestContentLengthMismatchError,\n ConnectTimeoutError,\n ResponseStatusCodeError,\n InvalidArgumentError,\n InvalidReturnValueError,\n RequestAbortedError,\n ClientDestroyedError,\n ClientClosedError,\n InformationalError,\n SocketError,\n NotSupportedError,\n ResponseContentLengthMismatchError,\n BalancedPoolMissingUpstreamError,\n ResponseExceededMaxSizeError\n}\n", "'use strict'\n\nconst assert = require('assert')\nconst { kDestroyed, kBodyUsed } = require('./symbols')\nconst { IncomingMessage } = require('http')\nconst stream = require('stream')\nconst net = require('net')\nconst { InvalidArgumentError } = require('./errors')\nconst { Blob } = require('buffer')\nconst nodeUtil = require('util')\nconst { stringify } = require('querystring')\n\nconst [nodeMajor, nodeMinor] = process.versions.node.split('.').map(v => Number(v))\n\nfunction nop () {}\n\nfunction isStream (obj) {\n return obj && typeof obj === 'object' && typeof obj.pipe === 'function' && typeof obj.on === 'function'\n}\n\n// based on https://github.com/node-fetch/fetch-blob/blob/8ab587d34080de94140b54f07168451e7d0b655e/index.js#L229-L241 (MIT License)\nfunction isBlobLike (object) {\n return (Blob && object instanceof Blob) || (\n object &&\n typeof object === 'object' &&\n (typeof object.stream === 'function' ||\n typeof object.arrayBuffer === 'function') &&\n /^(Blob|File)$/.test(object[Symbol.toStringTag])\n )\n}\n\nfunction buildURL (url, queryParams) {\n if (url.includes('?') || url.includes('#')) {\n throw new Error('Query params cannot be passed when url already contains \"?\" or \"#\".')\n }\n\n const stringified = stringify(queryParams)\n\n if (stringified) {\n url += '?' + stringified\n }\n\n return url\n}\n\nfunction parseURL (url) {\n if (typeof url === 'string') {\n url = new URL(url)\n\n if (!/^https?:/.test(url.origin || url.protocol)) {\n throw new InvalidArgumentError('Invalid URL protocol: the URL must start with `http:` or `https:`.')\n }\n\n return url\n }\n\n if (!url || typeof url !== 'object') {\n throw new InvalidArgumentError('Invalid URL: The URL argument must be a non-null object.')\n }\n\n if (url.port != null && url.port !== '' && !Number.isFinite(parseInt(url.port))) {\n throw new InvalidArgumentError('Invalid URL: port must be a valid integer or a string representation of an integer.')\n }\n\n if (url.path != null && typeof url.path !== 'string') {\n throw new InvalidArgumentError('Invalid URL path: the path must be a string or null/undefined.')\n }\n\n if (url.pathname != null && typeof url.pathname !== 'string') {\n throw new InvalidArgumentError('Invalid URL pathname: the pathname must be a string or null/undefined.')\n }\n\n if (url.hostname != null && typeof url.hostname !== 'string') {\n throw new InvalidArgumentError('Invalid URL hostname: the hostname must be a string or null/undefined.')\n }\n\n if (url.origin != null && typeof url.origin !== 'string') {\n throw new InvalidArgumentError('Invalid URL origin: the origin must be a string or null/undefined.')\n }\n\n if (!/^https?:/.test(url.origin || url.protocol)) {\n throw new InvalidArgumentError('Invalid URL protocol: the URL must start with `http:` or `https:`.')\n }\n\n if (!(url instanceof URL)) {\n const port = url.port != null\n ? url.port\n : (url.protocol === 'https:' ? 443 : 80)\n let origin = url.origin != null\n ? url.origin\n : `${url.protocol}//${url.hostname}:${port}`\n let path = url.path != null\n ? url.path\n : `${url.pathname || ''}${url.search || ''}`\n\n if (origin.endsWith('/')) {\n origin = origin.substring(0, origin.length - 1)\n }\n\n if (path && !path.startsWith('/')) {\n path = `/${path}`\n }\n // new URL(path, origin) is unsafe when `path` contains an absolute URL\n // From https://developer.mozilla.org/en-US/docs/Web/API/URL/URL:\n // If first parameter is a relative URL, second param is required, and will be used as the base URL.\n // If first parameter is an absolute URL, a given second param will be ignored.\n url = new URL(origin + path)\n }\n\n return url\n}\n\nfunction parseOrigin (url) {\n url = parseURL(url)\n\n if (url.pathname !== '/' || url.search || url.hash) {\n throw new InvalidArgumentError('invalid url')\n }\n\n return url\n}\n\nfunction getHostname (host) {\n if (host[0] === '[') {\n const idx = host.indexOf(']')\n\n assert(idx !== -1)\n return host.substr(1, idx - 1)\n }\n\n const idx = host.indexOf(':')\n if (idx === -1) return host\n\n return host.substr(0, idx)\n}\n\n// IP addresses are not valid server names per RFC6066\n// > Currently, the only server names supported are DNS hostnames\nfunction getServerName (host) {\n if (!host) {\n return null\n }\n\n assert.strictEqual(typeof host, 'string')\n\n const servername = getHostname(host)\n if (net.isIP(servername)) {\n return ''\n }\n\n return servername\n}\n\nfunction deepClone (obj) {\n return JSON.parse(JSON.stringify(obj))\n}\n\nfunction isAsyncIterable (obj) {\n return !!(obj != null && typeof obj[Symbol.asyncIterator] === 'function')\n}\n\nfunction isIterable (obj) {\n return !!(obj != null && (typeof obj[Symbol.iterator] === 'function' || typeof obj[Symbol.asyncIterator] === 'function'))\n}\n\nfunction bodyLength (body) {\n if (body == null) {\n return 0\n } else if (isStream(body)) {\n const state = body._readableState\n return state && state.ended === true && Number.isFinite(state.length)\n ? state.length\n : null\n } else if (isBlobLike(body)) {\n return body.size != null ? body.size : null\n } else if (isBuffer(body)) {\n return body.byteLength\n }\n\n return null\n}\n\nfunction isDestroyed (stream) {\n return !stream || !!(stream.destroyed || stream[kDestroyed])\n}\n\nfunction isReadableAborted (stream) {\n const state = stream && stream._readableState\n return isDestroyed(stream) && state && !state.endEmitted\n}\n\nfunction destroy (stream, err) {\n if (!isStream(stream) || isDestroyed(stream)) {\n return\n }\n\n if (typeof stream.destroy === 'function') {\n if (Object.getPrototypeOf(stream).constructor === IncomingMessage) {\n // See: https://github.com/nodejs/node/pull/38505/files\n stream.socket = null\n }\n stream.destroy(err)\n } else if (err) {\n process.nextTick((stream, err) => {\n stream.emit('error', err)\n }, stream, err)\n }\n\n if (stream.destroyed !== true) {\n stream[kDestroyed] = true\n }\n}\n\nconst KEEPALIVE_TIMEOUT_EXPR = /timeout=(\\d+)/\nfunction parseKeepAliveTimeout (val) {\n const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR)\n return m ? parseInt(m[1], 10) * 1000 : null\n}\n\nfunction parseHeaders (headers, obj = {}) {\n for (let i = 0; i < headers.length; i += 2) {\n const key = headers[i].toString().toLowerCase()\n let val = obj[key]\n\n if (!val) {\n if (Array.isArray(headers[i + 1])) {\n obj[key] = headers[i + 1]\n } else {\n obj[key] = headers[i + 1].toString('utf8')\n }\n } else {\n if (!Array.isArray(val)) {\n val = [val]\n obj[key] = val\n }\n val.push(headers[i + 1].toString('utf8'))\n }\n }\n\n // See https://github.com/nodejs/node/pull/46528\n if ('content-length' in obj && 'content-disposition' in obj) {\n obj['content-disposition'] = Buffer.from(obj['content-disposition']).toString('latin1')\n }\n\n return obj\n}\n\nfunction parseRawHeaders (headers) {\n const ret = []\n let hasContentLength = false\n let contentDispositionIdx = -1\n\n for (let n = 0; n < headers.length; n += 2) {\n const key = headers[n + 0].toString()\n const val = headers[n + 1].toString('utf8')\n\n if (key.length === 14 && (key === 'content-length' || key.toLowerCase() === 'content-length')) {\n ret.push(key, val)\n hasContentLength = true\n } else if (key.length === 19 && (key === 'content-disposition' || key.toLowerCase() === 'content-disposition')) {\n contentDispositionIdx = ret.push(key, val) - 1\n } else {\n ret.push(key, val)\n }\n }\n\n // See https://github.com/nodejs/node/pull/46528\n if (hasContentLength && contentDispositionIdx !== -1) {\n ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString('latin1')\n }\n\n return ret\n}\n\nfunction isBuffer (buffer) {\n // See, https://github.com/mcollina/undici/pull/319\n return buffer instanceof Uint8Array || Buffer.isBuffer(buffer)\n}\n\nfunction validateHandler (handler, method, upgrade) {\n if (!handler || typeof handler !== 'object') {\n throw new InvalidArgumentError('handler must be an object')\n }\n\n if (typeof handler.onConnect !== 'function') {\n throw new InvalidArgumentError('invalid onConnect method')\n }\n\n if (typeof handler.onError !== 'function') {\n throw new InvalidArgumentError('invalid onError method')\n }\n\n if (typeof handler.onBodySent !== 'function' && handler.onBodySent !== undefined) {\n throw new InvalidArgumentError('invalid onBodySent method')\n }\n\n if (upgrade || method === 'CONNECT') {\n if (typeof handler.onUpgrade !== 'function') {\n throw new InvalidArgumentError('invalid onUpgrade method')\n }\n } else {\n if (typeof handler.onHeaders !== 'function') {\n throw new InvalidArgumentError('invalid onHeaders method')\n }\n\n if (typeof handler.onData !== 'function') {\n throw new InvalidArgumentError('invalid onData method')\n }\n\n if (typeof handler.onComplete !== 'function') {\n throw new InvalidArgumentError('invalid onComplete method')\n }\n }\n}\n\n// A body is disturbed if it has been read from and it cannot\n// be re-used without losing state or data.\nfunction isDisturbed (body) {\n return !!(body && (\n stream.isDisturbed\n ? stream.isDisturbed(body) || body[kBodyUsed] // TODO (fix): Why is body[kBodyUsed] needed?\n : body[kBodyUsed] ||\n body.readableDidRead ||\n (body._readableState && body._readableState.dataEmitted) ||\n isReadableAborted(body)\n ))\n}\n\nfunction isErrored (body) {\n return !!(body && (\n stream.isErrored\n ? stream.isErrored(body)\n : /state: 'errored'/.test(nodeUtil.inspect(body)\n )))\n}\n\nfunction isReadable (body) {\n return !!(body && (\n stream.isReadable\n ? stream.isReadable(body)\n : /state: 'readable'/.test(nodeUtil.inspect(body)\n )))\n}\n\nfunction getSocketInfo (socket) {\n return {\n localAddress: socket.localAddress,\n localPort: socket.localPort,\n remoteAddress: socket.remoteAddress,\n remotePort: socket.remotePort,\n remoteFamily: socket.remoteFamily,\n timeout: socket.timeout,\n bytesWritten: socket.bytesWritten,\n bytesRead: socket.bytesRead\n }\n}\n\nlet ReadableStream\nfunction ReadableStreamFrom (iterable) {\n if (!ReadableStream) {\n ReadableStream = require('stream/web').ReadableStream\n }\n\n if (ReadableStream.from) {\n // https://github.com/whatwg/streams/pull/1083\n return ReadableStream.from(iterable)\n }\n\n let iterator\n return new ReadableStream(\n {\n async start () {\n iterator = iterable[Symbol.asyncIterator]()\n },\n async pull (controller) {\n const { done, value } = await iterator.next()\n if (done) {\n queueMicrotask(() => {\n controller.close()\n })\n } else {\n const buf = Buffer.isBuffer(value) ? value : Buffer.from(value)\n controller.enqueue(new Uint8Array(buf))\n }\n return controller.desiredSize > 0\n },\n async cancel (reason) {\n await iterator.return()\n }\n },\n 0\n )\n}\n\n// The chunk should be a FormData instance and contains\n// all the required methods.\nfunction isFormDataLike (object) {\n return (\n object &&\n typeof object === 'object' &&\n typeof object.append === 'function' &&\n typeof object.delete === 'function' &&\n typeof object.get === 'function' &&\n typeof object.getAll === 'function' &&\n typeof object.has === 'function' &&\n typeof object.set === 'function' &&\n object[Symbol.toStringTag] === 'FormData'\n )\n}\n\nfunction throwIfAborted (signal) {\n if (!signal) { return }\n if (typeof signal.throwIfAborted === 'function') {\n signal.throwIfAborted()\n } else {\n if (signal.aborted) {\n // DOMException not available < v17.0.0\n const err = new Error('The operation was aborted')\n err.name = 'AbortError'\n throw err\n }\n }\n}\n\nlet events\nfunction addAbortListener (signal, listener) {\n if (typeof Symbol.dispose === 'symbol') {\n if (!events) {\n events = require('events')\n }\n if (typeof events.addAbortListener === 'function' && 'aborted' in signal) {\n return events.addAbortListener(signal, listener)\n }\n }\n if ('addEventListener' in signal) {\n signal.addEventListener('abort', listener, { once: true })\n return () => signal.removeEventListener('abort', listener)\n }\n signal.addListener('abort', listener)\n return () => signal.removeListener('abort', listener)\n}\n\nconst hasToWellFormed = !!String.prototype.toWellFormed\n\n/**\n * @param {string} val\n */\nfunction toUSVString (val) {\n if (hasToWellFormed) {\n return `${val}`.toWellFormed()\n } else if (nodeUtil.toUSVString) {\n return nodeUtil.toUSVString(val)\n }\n\n return `${val}`\n}\n\nconst kEnumerableProperty = Object.create(null)\nkEnumerableProperty.enumerable = true\n\nmodule.exports = {\n kEnumerableProperty,\n nop,\n isDisturbed,\n isErrored,\n isReadable,\n toUSVString,\n isReadableAborted,\n isBlobLike,\n parseOrigin,\n parseURL,\n getServerName,\n isStream,\n isIterable,\n isAsyncIterable,\n isDestroyed,\n parseRawHeaders,\n parseHeaders,\n parseKeepAliveTimeout,\n destroy,\n bodyLength,\n deepClone,\n ReadableStreamFrom,\n isBuffer,\n validateHandler,\n getSocketInfo,\n isFormDataLike,\n buildURL,\n throwIfAborted,\n addAbortListener,\n nodeMajor,\n nodeMinor,\n nodeHasAutoSelectFamily: nodeMajor > 18 || (nodeMajor === 18 && nodeMinor >= 13)\n}\n", "'use strict'\n\nlet fastNow = Date.now()\nlet fastNowTimeout\n\nconst fastTimers = []\n\nfunction onTimeout () {\n fastNow = Date.now()\n\n let len = fastTimers.length\n let idx = 0\n while (idx < len) {\n const timer = fastTimers[idx]\n\n if (timer.state === 0) {\n timer.state = fastNow + timer.delay\n } else if (timer.state > 0 && fastNow >= timer.state) {\n timer.state = -1\n timer.callback(timer.opaque)\n }\n\n if (timer.state === -1) {\n timer.state = -2\n if (idx !== len - 1) {\n fastTimers[idx] = fastTimers.pop()\n } else {\n fastTimers.pop()\n }\n len -= 1\n } else {\n idx += 1\n }\n }\n\n if (fastTimers.length > 0) {\n refreshTimeout()\n }\n}\n\nfunction refreshTimeout () {\n if (fastNowTimeout && fastNowTimeout.refresh) {\n fastNowTimeout.refresh()\n } else {\n clearTimeout(fastNowTimeout)\n fastNowTimeout = setTimeout(onTimeout, 1e3)\n if (fastNowTimeout.unref) {\n fastNowTimeout.unref()\n }\n }\n}\n\nclass Timeout {\n constructor (callback, delay, opaque) {\n this.callback = callback\n this.delay = delay\n this.opaque = opaque\n\n // -2 not in timer list\n // -1 in timer list but inactive\n // 0 in timer list waiting for time\n // > 0 in timer list waiting for time to expire\n this.state = -2\n\n this.refresh()\n }\n\n refresh () {\n if (this.state === -2) {\n fastTimers.push(this)\n if (!fastNowTimeout || fastTimers.length === 1) {\n refreshTimeout()\n }\n }\n\n this.state = 0\n }\n\n clear () {\n this.state = -1\n }\n}\n\nmodule.exports = {\n setTimeout (callback, delay, opaque) {\n return delay < 1e3\n ? setTimeout(callback, delay, opaque)\n : new Timeout(callback, delay, opaque)\n },\n clearTimeout (timeout) {\n if (timeout instanceof Timeout) {\n timeout.clear()\n } else {\n clearTimeout(timeout)\n }\n }\n}\n", "'use strict';\n\nfunction parseContentType(str) {\n if (str.length === 0)\n return;\n\n const params = Object.create(null);\n let i = 0;\n\n // Parse type\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code !== 47/* '/' */ || i === 0)\n return;\n break;\n }\n }\n // Check for type without subtype\n if (i === str.length)\n return;\n\n const type = str.slice(0, i).toLowerCase();\n\n // Parse subtype\n const subtypeStart = ++i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n // Make sure we have a subtype\n if (i === subtypeStart)\n return;\n\n if (parseContentTypeParams(str, i, params) === undefined)\n return;\n break;\n }\n }\n // Make sure we have a subtype\n if (i === subtypeStart)\n return;\n\n const subtype = str.slice(subtypeStart, i).toLowerCase();\n\n return { type, subtype, params };\n}\n\nfunction parseContentTypeParams(str, i, params) {\n while (i < str.length) {\n // Consume whitespace\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */)\n break;\n }\n\n // Ended on whitespace\n if (i === str.length)\n break;\n\n // Check for malformed parameter\n if (str.charCodeAt(i++) !== 59/* ';' */)\n return;\n\n // Consume whitespace\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */)\n break;\n }\n\n // Ended on whitespace (malformed)\n if (i === str.length)\n return;\n\n let name;\n const nameStart = i;\n // Parse parameter name\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code !== 61/* '=' */)\n return;\n break;\n }\n }\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n name = str.slice(nameStart, i);\n ++i; // Skip over '='\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n let value = '';\n let valueStart;\n if (str.charCodeAt(i) === 34/* '\"' */) {\n valueStart = ++i;\n let escaping = false;\n // Parse quoted value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 92/* '\\\\' */) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n } else {\n value += str.slice(valueStart, i);\n escaping = true;\n }\n continue;\n }\n if (code === 34/* '\"' */) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n continue;\n }\n value += str.slice(valueStart, i);\n break;\n }\n if (escaping) {\n valueStart = i - 1;\n escaping = false;\n }\n // Invalid unescaped quoted character (malformed)\n if (QDTEXT[code] !== 1)\n return;\n }\n\n // No end quote (malformed)\n if (i === str.length)\n return;\n\n ++i; // Skip over double quote\n } else {\n valueStart = i;\n // Parse unquoted value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n // No value (malformed)\n if (i === valueStart)\n return;\n break;\n }\n }\n value = str.slice(valueStart, i);\n }\n\n name = name.toLowerCase();\n if (params[name] === undefined)\n params[name] = value;\n }\n\n return params;\n}\n\nfunction parseDisposition(str, defDecoder) {\n if (str.length === 0)\n return;\n\n const params = Object.create(null);\n let i = 0;\n\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (parseDispositionParams(str, i, params, defDecoder) === undefined)\n return;\n break;\n }\n }\n\n const type = str.slice(0, i).toLowerCase();\n\n return { type, params };\n}\n\nfunction parseDispositionParams(str, i, params, defDecoder) {\n while (i < str.length) {\n // Consume whitespace\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */)\n break;\n }\n\n // Ended on whitespace\n if (i === str.length)\n break;\n\n // Check for malformed parameter\n if (str.charCodeAt(i++) !== 59/* ';' */)\n return;\n\n // Consume whitespace\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */)\n break;\n }\n\n // Ended on whitespace (malformed)\n if (i === str.length)\n return;\n\n let name;\n const nameStart = i;\n // Parse parameter name\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code === 61/* '=' */)\n break;\n return;\n }\n }\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n let value = '';\n let valueStart;\n let charset;\n //~ let lang;\n name = str.slice(nameStart, i);\n if (name.charCodeAt(name.length - 1) === 42/* '*' */) {\n // Extended value\n\n const charsetStart = ++i;\n // Parse charset name\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (CHARSET[code] !== 1) {\n if (code !== 39/* '\\'' */)\n return;\n break;\n }\n }\n\n // Incomplete charset (malformed)\n if (i === str.length)\n return;\n\n charset = str.slice(charsetStart, i);\n ++i; // Skip over the '\\''\n\n //~ const langStart = ++i;\n // Parse language name\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 39/* '\\'' */)\n break;\n }\n\n // Incomplete language (malformed)\n if (i === str.length)\n return;\n\n //~ lang = str.slice(langStart, i);\n ++i; // Skip over the '\\''\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n valueStart = i;\n\n let encode = 0;\n // Parse value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (EXTENDED_VALUE[code] !== 1) {\n if (code === 37/* '%' */) {\n let hexUpper;\n let hexLower;\n if (i + 2 < str.length\n && (hexUpper = HEX_VALUES[str.charCodeAt(i + 1)]) !== -1\n && (hexLower = HEX_VALUES[str.charCodeAt(i + 2)]) !== -1) {\n const byteVal = (hexUpper << 4) + hexLower;\n value += str.slice(valueStart, i);\n value += String.fromCharCode(byteVal);\n i += 2;\n valueStart = i + 1;\n if (byteVal >= 128)\n encode = 2;\n else if (encode === 0)\n encode = 1;\n continue;\n }\n // '%' disallowed in non-percent encoded contexts (malformed)\n return;\n }\n break;\n }\n }\n\n value += str.slice(valueStart, i);\n value = convertToUTF8(value, charset, encode);\n if (value === undefined)\n return;\n } else {\n // Non-extended value\n\n ++i; // Skip over '='\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n if (str.charCodeAt(i) === 34/* '\"' */) {\n valueStart = ++i;\n let escaping = false;\n // Parse quoted value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 92/* '\\\\' */) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n } else {\n value += str.slice(valueStart, i);\n escaping = true;\n }\n continue;\n }\n if (code === 34/* '\"' */) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n continue;\n }\n value += str.slice(valueStart, i);\n break;\n }\n if (escaping) {\n valueStart = i - 1;\n escaping = false;\n }\n // Invalid unescaped quoted character (malformed)\n if (QDTEXT[code] !== 1)\n return;\n }\n\n // No end quote (malformed)\n if (i === str.length)\n return;\n\n ++i; // Skip over double quote\n } else {\n valueStart = i;\n // Parse unquoted value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n // No value (malformed)\n if (i === valueStart)\n return;\n break;\n }\n }\n value = str.slice(valueStart, i);\n }\n\n value = defDecoder(value, 2);\n if (value === undefined)\n return;\n }\n\n name = name.toLowerCase();\n if (params[name] === undefined)\n params[name] = value;\n }\n\n return params;\n}\n\nfunction getDecoder(charset) {\n let lc;\n while (true) {\n switch (charset) {\n case 'utf-8':\n case 'utf8':\n return decoders.utf8;\n case 'latin1':\n case 'ascii': // TODO: Make these a separate, strict decoder?\n case 'us-ascii':\n case 'iso-8859-1':\n case 'iso8859-1':\n case 'iso88591':\n case 'iso_8859-1':\n case 'windows-1252':\n case 'iso_8859-1:1987':\n case 'cp1252':\n case 'x-cp1252':\n return decoders.latin1;\n case 'utf16le':\n case 'utf-16le':\n case 'ucs2':\n case 'ucs-2':\n return decoders.utf16le;\n case 'base64':\n return decoders.base64;\n default:\n if (lc === undefined) {\n lc = true;\n charset = charset.toLowerCase();\n continue;\n }\n return decoders.other.bind(charset);\n }\n }\n}\n\nconst decoders = {\n utf8: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string') {\n // If `data` never had any percent-encoded bytes or never had any that\n // were outside of the ASCII range, then we can safely just return the\n // input since UTF-8 is ASCII compatible\n if (hint < 2)\n return data;\n\n data = Buffer.from(data, 'latin1');\n }\n return data.utf8Slice(0, data.length);\n },\n\n latin1: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string')\n return data;\n return data.latin1Slice(0, data.length);\n },\n\n utf16le: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string')\n data = Buffer.from(data, 'latin1');\n return data.ucs2Slice(0, data.length);\n },\n\n base64: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string')\n data = Buffer.from(data, 'latin1');\n return data.base64Slice(0, data.length);\n },\n\n other: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string')\n data = Buffer.from(data, 'latin1');\n try {\n const decoder = new TextDecoder(this);\n return decoder.decode(data);\n } catch {}\n },\n};\n\nfunction convertToUTF8(data, charset, hint) {\n const decode = getDecoder(charset);\n if (decode)\n return decode(data, hint);\n}\n\nfunction basename(path) {\n if (typeof path !== 'string')\n return '';\n for (let i = path.length - 1; i >= 0; --i) {\n switch (path.charCodeAt(i)) {\n case 0x2F: // '/'\n case 0x5C: // '\\'\n path = path.slice(i + 1);\n return (path === '..' || path === '.' ? '' : path);\n }\n }\n return (path === '..' || path === '.' ? '' : path);\n}\n\nconst TOKEN = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n];\n\nconst QDTEXT = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n];\n\nconst CHARSET = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n];\n\nconst EXTENDED_VALUE = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n];\n\n/* eslint-disable no-multi-spaces */\nconst HEX_VALUES = [\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n];\n/* eslint-enable no-multi-spaces */\n\nmodule.exports = {\n basename,\n convertToUTF8,\n getDecoder,\n parseContentType,\n parseDisposition,\n};\n", "'use strict';\n/*\n Based heavily on the Streaming Boyer-Moore-Horspool C++ implementation\n by Hongli Lai at: https://github.com/FooBarWidget/boyer-moore-horspool\n*/\nfunction memcmp(buf1, pos1, buf2, pos2, num) {\n for (let i = 0; i < num; ++i) {\n if (buf1[pos1 + i] !== buf2[pos2 + i])\n return false;\n }\n return true;\n}\n\nclass SBMH {\n constructor(needle, cb) {\n if (typeof cb !== 'function')\n throw new Error('Missing match callback');\n\n if (typeof needle === 'string')\n needle = Buffer.from(needle);\n else if (!Buffer.isBuffer(needle))\n throw new Error(`Expected Buffer for needle, got ${typeof needle}`);\n\n const needleLen = needle.length;\n\n this.maxMatches = Infinity;\n this.matches = 0;\n\n this._cb = cb;\n this._lookbehindSize = 0;\n this._needle = needle;\n this._bufPos = 0;\n\n this._lookbehind = Buffer.allocUnsafe(needleLen);\n\n // Initialize occurrence table.\n this._occ = [\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen, needleLen, needleLen,\n needleLen, needleLen, needleLen, needleLen\n ];\n\n // Populate occurrence table with analysis of the needle, ignoring the last\n // letter.\n if (needleLen > 1) {\n for (let i = 0; i < needleLen - 1; ++i)\n this._occ[needle[i]] = needleLen - 1 - i;\n }\n }\n\n reset() {\n this.matches = 0;\n this._lookbehindSize = 0;\n this._bufPos = 0;\n }\n\n push(chunk, pos) {\n let result;\n if (!Buffer.isBuffer(chunk))\n chunk = Buffer.from(chunk, 'latin1');\n const chunkLen = chunk.length;\n this._bufPos = pos || 0;\n while (result !== chunkLen && this.matches < this.maxMatches)\n result = feed(this, chunk);\n return result;\n }\n\n destroy() {\n const lbSize = this._lookbehindSize;\n if (lbSize)\n this._cb(false, this._lookbehind, 0, lbSize, false);\n this.reset();\n }\n}\n\nfunction feed(self, data) {\n const len = data.length;\n const needle = self._needle;\n const needleLen = needle.length;\n\n // Positive: points to a position in `data`\n // pos == 3 points to data[3]\n // Negative: points to a position in the lookbehind buffer\n // pos == -2 points to lookbehind[lookbehindSize - 2]\n let pos = -self._lookbehindSize;\n const lastNeedleCharPos = needleLen - 1;\n const lastNeedleChar = needle[lastNeedleCharPos];\n const end = len - needleLen;\n const occ = self._occ;\n const lookbehind = self._lookbehind;\n\n if (pos < 0) {\n // Lookbehind buffer is not empty. Perform Boyer-Moore-Horspool\n // search with character lookup code that considers both the\n // lookbehind buffer and the current round's haystack data.\n //\n // Loop until\n // there is a match.\n // or until\n // we've moved past the position that requires the\n // lookbehind buffer. In this case we switch to the\n // optimized loop.\n // or until\n // the character to look at lies outside the haystack.\n while (pos < 0 && pos <= end) {\n const nextPos = pos + lastNeedleCharPos;\n const ch = (nextPos < 0\n ? lookbehind[self._lookbehindSize + nextPos]\n : data[nextPos]);\n\n if (ch === lastNeedleChar\n && matchNeedle(self, data, pos, lastNeedleCharPos)) {\n self._lookbehindSize = 0;\n ++self.matches;\n if (pos > -self._lookbehindSize)\n self._cb(true, lookbehind, 0, self._lookbehindSize + pos, false);\n else\n self._cb(true, undefined, 0, 0, true);\n\n return (self._bufPos = pos + needleLen);\n }\n\n pos += occ[ch];\n }\n\n // No match.\n\n // There's too few data for Boyer-Moore-Horspool to run,\n // so let's use a different algorithm to skip as much as\n // we can.\n // Forward pos until\n // the trailing part of lookbehind + data\n // looks like the beginning of the needle\n // or until\n // pos == 0\n while (pos < 0 && !matchNeedle(self, data, pos, len - pos))\n ++pos;\n\n if (pos < 0) {\n // Cut off part of the lookbehind buffer that has\n // been processed and append the entire haystack\n // into it.\n const bytesToCutOff = self._lookbehindSize + pos;\n\n if (bytesToCutOff > 0) {\n // The cut off data is guaranteed not to contain the needle.\n self._cb(false, lookbehind, 0, bytesToCutOff, false);\n }\n\n self._lookbehindSize -= bytesToCutOff;\n lookbehind.copy(lookbehind, 0, bytesToCutOff, self._lookbehindSize);\n lookbehind.set(data, self._lookbehindSize);\n self._lookbehindSize += len;\n\n self._bufPos = len;\n return len;\n }\n\n // Discard lookbehind buffer.\n self._cb(false, lookbehind, 0, self._lookbehindSize, false);\n self._lookbehindSize = 0;\n }\n\n pos += self._bufPos;\n\n const firstNeedleChar = needle[0];\n\n // Lookbehind buffer is now empty. Perform Boyer-Moore-Horspool\n // search with optimized character lookup code that only considers\n // the current round's haystack data.\n while (pos <= end) {\n const ch = data[pos + lastNeedleCharPos];\n\n if (ch === lastNeedleChar\n && data[pos] === firstNeedleChar\n && memcmp(needle, 0, data, pos, lastNeedleCharPos)) {\n ++self.matches;\n if (pos > 0)\n self._cb(true, data, self._bufPos, pos, true);\n else\n self._cb(true, undefined, 0, 0, true);\n\n return (self._bufPos = pos + needleLen);\n }\n\n pos += occ[ch];\n }\n\n // There was no match. If there's trailing haystack data that we cannot\n // match yet using the Boyer-Moore-Horspool algorithm (because the trailing\n // data is less than the needle size) then match using a modified\n // algorithm that starts matching from the beginning instead of the end.\n // Whatever trailing data is left after running this algorithm is added to\n // the lookbehind buffer.\n while (pos < len) {\n if (data[pos] !== firstNeedleChar\n || !memcmp(data, pos, needle, 0, len - pos)) {\n ++pos;\n continue;\n }\n data.copy(lookbehind, 0, pos, len);\n self._lookbehindSize = len - pos;\n break;\n }\n\n // Everything until `pos` is guaranteed not to contain needle data.\n if (pos > 0)\n self._cb(false, data, self._bufPos, pos < len ? pos : len, true);\n\n self._bufPos = len;\n return len;\n}\n\nfunction matchNeedle(self, data, pos, len) {\n const lb = self._lookbehind;\n const lbSize = self._lookbehindSize;\n const needle = self._needle;\n\n for (let i = 0; i < len; ++i, ++pos) {\n const ch = (pos < 0 ? lb[lbSize + pos] : data[pos]);\n if (ch !== needle[i])\n return false;\n }\n return true;\n}\n\nmodule.exports = SBMH;\n", "'use strict';\n\nconst { Readable, Writable } = require('stream');\n\nconst StreamSearch = require('streamsearch');\n\nconst {\n basename,\n convertToUTF8,\n getDecoder,\n parseContentType,\n parseDisposition,\n} = require('../utils.js');\n\nconst BUF_CRLF = Buffer.from('\\r\\n');\nconst BUF_CR = Buffer.from('\\r');\nconst BUF_DASH = Buffer.from('-');\n\nfunction noop() {}\n\nconst MAX_HEADER_PAIRS = 2000; // From node\nconst MAX_HEADER_SIZE = 16 * 1024; // From node (its default value)\n\nconst HPARSER_NAME = 0;\nconst HPARSER_PRE_OWS = 1;\nconst HPARSER_VALUE = 2;\nclass HeaderParser {\n constructor(cb) {\n this.header = Object.create(null);\n this.pairCount = 0;\n this.byteCount = 0;\n this.state = HPARSER_NAME;\n this.name = '';\n this.value = '';\n this.crlf = 0;\n this.cb = cb;\n }\n\n reset() {\n this.header = Object.create(null);\n this.pairCount = 0;\n this.byteCount = 0;\n this.state = HPARSER_NAME;\n this.name = '';\n this.value = '';\n this.crlf = 0;\n }\n\n push(chunk, pos, end) {\n let start = pos;\n while (pos < end) {\n switch (this.state) {\n case HPARSER_NAME: {\n let done = false;\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (TOKEN[code] !== 1) {\n if (code !== 58/* ':' */)\n return -1;\n this.name += chunk.latin1Slice(start, pos);\n if (this.name.length === 0)\n return -1;\n ++pos;\n done = true;\n this.state = HPARSER_PRE_OWS;\n break;\n }\n }\n if (!done) {\n this.name += chunk.latin1Slice(start, pos);\n break;\n }\n // FALLTHROUGH\n }\n case HPARSER_PRE_OWS: {\n // Skip optional whitespace\n let done = false;\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */) {\n start = pos;\n done = true;\n this.state = HPARSER_VALUE;\n break;\n }\n }\n if (!done)\n break;\n // FALLTHROUGH\n }\n case HPARSER_VALUE:\n switch (this.crlf) {\n case 0: // Nothing yet\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (FIELD_VCHAR[code] !== 1) {\n if (code !== 13/* '\\r' */)\n return -1;\n ++this.crlf;\n break;\n }\n }\n this.value += chunk.latin1Slice(start, pos++);\n break;\n case 1: // Received CR\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n if (chunk[pos++] !== 10/* '\\n' */)\n return -1;\n ++this.crlf;\n break;\n case 2: { // Received CR LF\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (code === 32/* ' ' */ || code === 9/* '\\t' */) {\n // Folded value\n start = pos;\n this.crlf = 0;\n } else {\n if (++this.pairCount < MAX_HEADER_PAIRS) {\n this.name = this.name.toLowerCase();\n if (this.header[this.name] === undefined)\n this.header[this.name] = [this.value];\n else\n this.header[this.name].push(this.value);\n }\n if (code === 13/* '\\r' */) {\n ++this.crlf;\n ++pos;\n } else {\n // Assume start of next header field name\n start = pos;\n this.crlf = 0;\n this.state = HPARSER_NAME;\n this.name = '';\n this.value = '';\n }\n }\n break;\n }\n case 3: { // Received CR LF CR\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n if (chunk[pos++] !== 10/* '\\n' */)\n return -1;\n // End of header\n const header = this.header;\n this.reset();\n this.cb(header);\n return pos;\n }\n }\n break;\n }\n }\n\n return pos;\n }\n}\n\nclass FileStream extends Readable {\n constructor(opts, owner) {\n super(opts);\n this.truncated = false;\n this._readcb = null;\n this.once('end', () => {\n // We need to make sure that we call any outstanding _writecb() that is\n // associated with this file so that processing of the rest of the form\n // can continue. This may not happen if the file stream ends right after\n // backpressure kicks in, so we force it here.\n this._read();\n if (--owner._fileEndsLeft === 0 && owner._finalcb) {\n const cb = owner._finalcb;\n owner._finalcb = null;\n // Make sure other 'end' event handlers get a chance to be executed\n // before busboy's 'finish' event is emitted\n process.nextTick(cb);\n }\n });\n }\n _read(n) {\n const cb = this._readcb;\n if (cb) {\n this._readcb = null;\n cb();\n }\n }\n}\n\nconst ignoreData = {\n push: (chunk, pos) => {},\n destroy: () => {},\n};\n\nfunction callAndUnsetCb(self, err) {\n const cb = self._writecb;\n self._writecb = null;\n if (err)\n self.destroy(err);\n else if (cb)\n cb();\n}\n\nfunction nullDecoder(val, hint) {\n return val;\n}\n\nclass Multipart extends Writable {\n constructor(cfg) {\n const streamOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: (typeof cfg.highWaterMark === 'number'\n ? cfg.highWaterMark\n : undefined),\n };\n super(streamOpts);\n\n if (!cfg.conType.params || typeof cfg.conType.params.boundary !== 'string')\n throw new Error('Multipart: Boundary not found');\n\n const boundary = cfg.conType.params.boundary;\n const paramDecoder = (typeof cfg.defParamCharset === 'string'\n && cfg.defParamCharset\n ? getDecoder(cfg.defParamCharset)\n : nullDecoder);\n const defCharset = (cfg.defCharset || 'utf8');\n const preservePath = cfg.preservePath;\n const fileOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: (typeof cfg.fileHwm === 'number'\n ? cfg.fileHwm\n : undefined),\n };\n\n const limits = cfg.limits;\n const fieldSizeLimit = (limits && typeof limits.fieldSize === 'number'\n ? limits.fieldSize\n : 1 * 1024 * 1024);\n const fileSizeLimit = (limits && typeof limits.fileSize === 'number'\n ? limits.fileSize\n : Infinity);\n const filesLimit = (limits && typeof limits.files === 'number'\n ? limits.files\n : Infinity);\n const fieldsLimit = (limits && typeof limits.fields === 'number'\n ? limits.fields\n : Infinity);\n const partsLimit = (limits && typeof limits.parts === 'number'\n ? limits.parts\n : Infinity);\n\n let parts = -1; // Account for initial boundary\n let fields = 0;\n let files = 0;\n let skipPart = false;\n\n this._fileEndsLeft = 0;\n this._fileStream = undefined;\n this._complete = false;\n let fileSize = 0;\n\n let field;\n let fieldSize = 0;\n let partCharset;\n let partEncoding;\n let partType;\n let partName;\n let partTruncated = false;\n\n let hitFilesLimit = false;\n let hitFieldsLimit = false;\n\n this._hparser = null;\n const hparser = new HeaderParser((header) => {\n this._hparser = null;\n skipPart = false;\n\n partType = 'text/plain';\n partCharset = defCharset;\n partEncoding = '7bit';\n partName = undefined;\n partTruncated = false;\n\n let filename;\n if (!header['content-disposition']) {\n skipPart = true;\n return;\n }\n\n const disp = parseDisposition(header['content-disposition'][0],\n paramDecoder);\n if (!disp || disp.type !== 'form-data') {\n skipPart = true;\n return;\n }\n\n if (disp.params) {\n if (disp.params.name)\n partName = disp.params.name;\n\n if (disp.params['filename*'])\n filename = disp.params['filename*'];\n else if (disp.params.filename)\n filename = disp.params.filename;\n\n if (filename !== undefined && !preservePath)\n filename = basename(filename);\n }\n\n if (header['content-type']) {\n const conType = parseContentType(header['content-type'][0]);\n if (conType) {\n partType = `${conType.type}/${conType.subtype}`;\n if (conType.params && typeof conType.params.charset === 'string')\n partCharset = conType.params.charset.toLowerCase();\n }\n }\n\n if (header['content-transfer-encoding'])\n partEncoding = header['content-transfer-encoding'][0].toLowerCase();\n\n if (partType === 'application/octet-stream' || filename !== undefined) {\n // File\n\n if (files === filesLimit) {\n if (!hitFilesLimit) {\n hitFilesLimit = true;\n this.emit('filesLimit');\n }\n skipPart = true;\n return;\n }\n ++files;\n\n if (this.listenerCount('file') === 0) {\n skipPart = true;\n return;\n }\n\n fileSize = 0;\n this._fileStream = new FileStream(fileOpts, this);\n ++this._fileEndsLeft;\n this.emit(\n 'file',\n partName,\n this._fileStream,\n { filename,\n encoding: partEncoding,\n mimeType: partType }\n );\n } else {\n // Non-file\n\n if (fields === fieldsLimit) {\n if (!hitFieldsLimit) {\n hitFieldsLimit = true;\n this.emit('fieldsLimit');\n }\n skipPart = true;\n return;\n }\n ++fields;\n\n if (this.listenerCount('field') === 0) {\n skipPart = true;\n return;\n }\n\n field = [];\n fieldSize = 0;\n }\n });\n\n let matchPostBoundary = 0;\n const ssCb = (isMatch, data, start, end, isDataSafe) => {\nretrydata:\n while (data) {\n if (this._hparser !== null) {\n const ret = this._hparser.push(data, start, end);\n if (ret === -1) {\n this._hparser = null;\n hparser.reset();\n this.emit('error', new Error('Malformed part header'));\n break;\n }\n start = ret;\n }\n\n if (start === end)\n break;\n\n if (matchPostBoundary !== 0) {\n if (matchPostBoundary === 1) {\n switch (data[start]) {\n case 45: // '-'\n // Try matching '--' after boundary\n matchPostBoundary = 2;\n ++start;\n break;\n case 13: // '\\r'\n // Try matching CR LF before header\n matchPostBoundary = 3;\n ++start;\n break;\n default:\n matchPostBoundary = 0;\n }\n if (start === end)\n return;\n }\n\n if (matchPostBoundary === 2) {\n matchPostBoundary = 0;\n if (data[start] === 45/* '-' */) {\n // End of multipart data\n this._complete = true;\n this._bparser = ignoreData;\n return;\n }\n // We saw something other than '-', so put the dash we consumed\n // \"back\"\n const writecb = this._writecb;\n this._writecb = noop;\n ssCb(false, BUF_DASH, 0, 1, false);\n this._writecb = writecb;\n } else if (matchPostBoundary === 3) {\n matchPostBoundary = 0;\n if (data[start] === 10/* '\\n' */) {\n ++start;\n if (parts >= partsLimit)\n break;\n // Prepare the header parser\n this._hparser = hparser;\n if (start === end)\n break;\n // Process the remaining data as a header\n continue retrydata;\n } else {\n // We saw something other than LF, so put the CR we consumed\n // \"back\"\n const writecb = this._writecb;\n this._writecb = noop;\n ssCb(false, BUF_CR, 0, 1, false);\n this._writecb = writecb;\n }\n }\n }\n\n if (!skipPart) {\n if (this._fileStream) {\n let chunk;\n const actualLen = Math.min(end - start, fileSizeLimit - fileSize);\n if (!isDataSafe) {\n chunk = Buffer.allocUnsafe(actualLen);\n data.copy(chunk, 0, start, start + actualLen);\n } else {\n chunk = data.slice(start, start + actualLen);\n }\n\n fileSize += chunk.length;\n if (fileSize === fileSizeLimit) {\n if (chunk.length > 0)\n this._fileStream.push(chunk);\n this._fileStream.emit('limit');\n this._fileStream.truncated = true;\n skipPart = true;\n } else if (!this._fileStream.push(chunk)) {\n if (this._writecb)\n this._fileStream._readcb = this._writecb;\n this._writecb = null;\n }\n } else if (field !== undefined) {\n let chunk;\n const actualLen = Math.min(\n end - start,\n fieldSizeLimit - fieldSize\n );\n if (!isDataSafe) {\n chunk = Buffer.allocUnsafe(actualLen);\n data.copy(chunk, 0, start, start + actualLen);\n } else {\n chunk = data.slice(start, start + actualLen);\n }\n\n fieldSize += actualLen;\n field.push(chunk);\n if (fieldSize === fieldSizeLimit) {\n skipPart = true;\n partTruncated = true;\n }\n }\n }\n\n break;\n }\n\n if (isMatch) {\n matchPostBoundary = 1;\n\n if (this._fileStream) {\n // End the active file stream if the previous part was a file\n this._fileStream.push(null);\n this._fileStream = null;\n } else if (field !== undefined) {\n let data;\n switch (field.length) {\n case 0:\n data = '';\n break;\n case 1:\n data = convertToUTF8(field[0], partCharset, 0);\n break;\n default:\n data = convertToUTF8(\n Buffer.concat(field, fieldSize),\n partCharset,\n 0\n );\n }\n field = undefined;\n fieldSize = 0;\n this.emit(\n 'field',\n partName,\n data,\n { nameTruncated: false,\n valueTruncated: partTruncated,\n encoding: partEncoding,\n mimeType: partType }\n );\n }\n\n if (++parts === partsLimit)\n this.emit('partsLimit');\n }\n };\n this._bparser = new StreamSearch(`\\r\\n--${boundary}`, ssCb);\n\n this._writecb = null;\n this._finalcb = null;\n\n // Just in case there is no preamble\n this.write(BUF_CRLF);\n }\n\n static detect(conType) {\n return (conType.type === 'multipart' && conType.subtype === 'form-data');\n }\n\n _write(chunk, enc, cb) {\n this._writecb = cb;\n this._bparser.push(chunk, 0);\n if (this._writecb)\n callAndUnsetCb(this);\n }\n\n _destroy(err, cb) {\n this._hparser = null;\n this._bparser = ignoreData;\n if (!err)\n err = checkEndState(this);\n const fileStream = this._fileStream;\n if (fileStream) {\n this._fileStream = null;\n fileStream.destroy(err);\n }\n cb(err);\n }\n\n _final(cb) {\n this._bparser.destroy();\n if (!this._complete)\n return cb(new Error('Unexpected end of form'));\n if (this._fileEndsLeft)\n this._finalcb = finalcb.bind(null, this, cb);\n else\n finalcb(this, cb);\n }\n}\n\nfunction finalcb(self, cb, err) {\n if (err)\n return cb(err);\n err = checkEndState(self);\n cb(err);\n}\n\nfunction checkEndState(self) {\n if (self._hparser)\n return new Error('Malformed part header');\n const fileStream = self._fileStream;\n if (fileStream) {\n self._fileStream = null;\n fileStream.destroy(new Error('Unexpected end of file'));\n }\n if (!self._complete)\n return new Error('Unexpected end of form');\n}\n\nconst TOKEN = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n];\n\nconst FIELD_VCHAR = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n];\n\nmodule.exports = Multipart;\n", "'use strict';\n\nconst { Writable } = require('stream');\n\nconst { getDecoder } = require('../utils.js');\n\nclass URLEncoded extends Writable {\n constructor(cfg) {\n const streamOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: (typeof cfg.highWaterMark === 'number'\n ? cfg.highWaterMark\n : undefined),\n };\n super(streamOpts);\n\n let charset = (cfg.defCharset || 'utf8');\n if (cfg.conType.params && typeof cfg.conType.params.charset === 'string')\n charset = cfg.conType.params.charset;\n\n this.charset = charset;\n\n const limits = cfg.limits;\n this.fieldSizeLimit = (limits && typeof limits.fieldSize === 'number'\n ? limits.fieldSize\n : 1 * 1024 * 1024);\n this.fieldsLimit = (limits && typeof limits.fields === 'number'\n ? limits.fields\n : Infinity);\n this.fieldNameSizeLimit = (\n limits && typeof limits.fieldNameSize === 'number'\n ? limits.fieldNameSize\n : 100\n );\n\n this._inKey = true;\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n this._fields = 0;\n this._key = '';\n this._val = '';\n this._byte = -2;\n this._lastPos = 0;\n this._encode = 0;\n this._decoder = getDecoder(charset);\n }\n\n static detect(conType) {\n return (conType.type === 'application'\n && conType.subtype === 'x-www-form-urlencoded');\n }\n\n _write(chunk, enc, cb) {\n if (this._fields >= this.fieldsLimit)\n return cb();\n\n let i = 0;\n const len = chunk.length;\n this._lastPos = 0;\n\n // Check if we last ended mid-percent-encoded byte\n if (this._byte !== -2) {\n i = readPctEnc(this, chunk, i, len);\n if (i === -1)\n return cb(new Error('Malformed urlencoded form'));\n if (i >= len)\n return cb();\n if (this._inKey)\n ++this._bytesKey;\n else\n ++this._bytesVal;\n }\n\nmain:\n while (i < len) {\n if (this._inKey) {\n // Parsing key\n\n i = skipKeyBytes(this, chunk, i, len);\n\n while (i < len) {\n switch (chunk[i]) {\n case 61: // '='\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._key = this._decoder(this._key, this._encode);\n this._encode = 0;\n this._inKey = false;\n continue main;\n case 38: // '&'\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._key = this._decoder(this._key, this._encode);\n this._encode = 0;\n if (this._bytesKey > 0) {\n this.emit(\n 'field',\n this._key,\n '',\n { nameTruncated: this._keyTrunc,\n valueTruncated: false,\n encoding: this.charset,\n mimeType: 'text/plain' }\n );\n }\n this._key = '';\n this._val = '';\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n if (++this._fields >= this.fieldsLimit) {\n this.emit('fieldsLimit');\n return cb();\n }\n continue;\n case 43: // '+'\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._key += ' ';\n this._lastPos = i + 1;\n break;\n case 37: // '%'\n if (this._encode === 0)\n this._encode = 1;\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = i + 1;\n this._byte = -1;\n i = readPctEnc(this, chunk, i + 1, len);\n if (i === -1)\n return cb(new Error('Malformed urlencoded form'));\n if (i >= len)\n return cb();\n ++this._bytesKey;\n i = skipKeyBytes(this, chunk, i, len);\n continue;\n }\n ++i;\n ++this._bytesKey;\n i = skipKeyBytes(this, chunk, i, len);\n }\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n } else {\n // Parsing value\n\n i = skipValBytes(this, chunk, i, len);\n\n while (i < len) {\n switch (chunk[i]) {\n case 38: // '&'\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._inKey = true;\n this._val = this._decoder(this._val, this._encode);\n this._encode = 0;\n if (this._bytesKey > 0 || this._bytesVal > 0) {\n this.emit(\n 'field',\n this._key,\n this._val,\n { nameTruncated: this._keyTrunc,\n valueTruncated: this._valTrunc,\n encoding: this.charset,\n mimeType: 'text/plain' }\n );\n }\n this._key = '';\n this._val = '';\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n if (++this._fields >= this.fieldsLimit) {\n this.emit('fieldsLimit');\n return cb();\n }\n continue main;\n case 43: // '+'\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._val += ' ';\n this._lastPos = i + 1;\n break;\n case 37: // '%'\n if (this._encode === 0)\n this._encode = 1;\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = i + 1;\n this._byte = -1;\n i = readPctEnc(this, chunk, i + 1, len);\n if (i === -1)\n return cb(new Error('Malformed urlencoded form'));\n if (i >= len)\n return cb();\n ++this._bytesVal;\n i = skipValBytes(this, chunk, i, len);\n continue;\n }\n ++i;\n ++this._bytesVal;\n i = skipValBytes(this, chunk, i, len);\n }\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n }\n }\n\n cb();\n }\n\n _final(cb) {\n if (this._byte !== -2)\n return cb(new Error('Malformed urlencoded form'));\n if (!this._inKey || this._bytesKey > 0 || this._bytesVal > 0) {\n if (this._inKey)\n this._key = this._decoder(this._key, this._encode);\n else\n this._val = this._decoder(this._val, this._encode);\n this.emit(\n 'field',\n this._key,\n this._val,\n { nameTruncated: this._keyTrunc,\n valueTruncated: this._valTrunc,\n encoding: this.charset,\n mimeType: 'text/plain' }\n );\n }\n cb();\n }\n}\n\nfunction readPctEnc(self, chunk, pos, len) {\n if (pos >= len)\n return len;\n\n if (self._byte === -1) {\n // We saw a '%' but no hex characters yet\n const hexUpper = HEX_VALUES[chunk[pos++]];\n if (hexUpper === -1)\n return -1;\n\n if (hexUpper >= 8)\n self._encode = 2; // Indicate high bits detected\n\n if (pos < len) {\n // Both hex characters are in this chunk\n const hexLower = HEX_VALUES[chunk[pos++]];\n if (hexLower === -1)\n return -1;\n\n if (self._inKey)\n self._key += String.fromCharCode((hexUpper << 4) + hexLower);\n else\n self._val += String.fromCharCode((hexUpper << 4) + hexLower);\n\n self._byte = -2;\n self._lastPos = pos;\n } else {\n // Only one hex character was available in this chunk\n self._byte = hexUpper;\n }\n } else {\n // We saw only one hex character so far\n const hexLower = HEX_VALUES[chunk[pos++]];\n if (hexLower === -1)\n return -1;\n\n if (self._inKey)\n self._key += String.fromCharCode((self._byte << 4) + hexLower);\n else\n self._val += String.fromCharCode((self._byte << 4) + hexLower);\n\n self._byte = -2;\n self._lastPos = pos;\n }\n\n return pos;\n}\n\nfunction skipKeyBytes(self, chunk, pos, len) {\n // Skip bytes if we've truncated\n if (self._bytesKey > self.fieldNameSizeLimit) {\n if (!self._keyTrunc) {\n if (self._lastPos < pos)\n self._key += chunk.latin1Slice(self._lastPos, pos - 1);\n }\n self._keyTrunc = true;\n for (; pos < len; ++pos) {\n const code = chunk[pos];\n if (code === 61/* '=' */ || code === 38/* '&' */)\n break;\n ++self._bytesKey;\n }\n self._lastPos = pos;\n }\n\n return pos;\n}\n\nfunction skipValBytes(self, chunk, pos, len) {\n // Skip bytes if we've truncated\n if (self._bytesVal > self.fieldSizeLimit) {\n if (!self._valTrunc) {\n if (self._lastPos < pos)\n self._val += chunk.latin1Slice(self._lastPos, pos - 1);\n }\n self._valTrunc = true;\n for (; pos < len; ++pos) {\n if (chunk[pos] === 38/* '&' */)\n break;\n ++self._bytesVal;\n }\n self._lastPos = pos;\n }\n\n return pos;\n}\n\n/* eslint-disable no-multi-spaces */\nconst HEX_VALUES = [\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n];\n/* eslint-enable no-multi-spaces */\n\nmodule.exports = URLEncoded;\n", "'use strict';\n\nconst { parseContentType } = require('./utils.js');\n\nfunction getInstance(cfg) {\n const headers = cfg.headers;\n const conType = parseContentType(headers['content-type']);\n if (!conType)\n throw new Error('Malformed content type');\n\n for (const type of TYPES) {\n const matched = type.detect(conType);\n if (!matched)\n continue;\n\n const instanceCfg = {\n limits: cfg.limits,\n headers,\n conType,\n highWaterMark: undefined,\n fileHwm: undefined,\n defCharset: undefined,\n defParamCharset: undefined,\n preservePath: false,\n };\n if (cfg.highWaterMark)\n instanceCfg.highWaterMark = cfg.highWaterMark;\n if (cfg.fileHwm)\n instanceCfg.fileHwm = cfg.fileHwm;\n instanceCfg.defCharset = cfg.defCharset;\n instanceCfg.defParamCharset = cfg.defParamCharset;\n instanceCfg.preservePath = cfg.preservePath;\n return new type(instanceCfg);\n }\n\n throw new Error(`Unsupported content type: ${headers['content-type']}`);\n}\n\n// Note: types are explicitly listed here for easier bundling\n// See: https://github.com/mscdex/busboy/issues/121\nconst TYPES = [\n require('./types/multipart'),\n require('./types/urlencoded'),\n].filter(function(typemod) { return typeof typemod.detect === 'function'; });\n\nmodule.exports = (cfg) => {\n if (typeof cfg !== 'object' || cfg === null)\n cfg = {};\n\n if (typeof cfg.headers !== 'object'\n || cfg.headers === null\n || typeof cfg.headers['content-type'] !== 'string') {\n throw new Error('Missing Content-Type');\n }\n\n return getInstance(cfg);\n};\n", "'use strict'\n\nconst { MessageChannel, receiveMessageOnPort } = require('worker_threads')\n\nconst corsSafeListedMethods = ['GET', 'HEAD', 'POST']\n\nconst nullBodyStatus = [101, 204, 205, 304]\n\nconst redirectStatus = [301, 302, 303, 307, 308]\n\n// https://fetch.spec.whatwg.org/#block-bad-port\nconst badPorts = [\n '1', '7', '9', '11', '13', '15', '17', '19', '20', '21', '22', '23', '25', '37', '42', '43', '53', '69', '77', '79',\n '87', '95', '101', '102', '103', '104', '109', '110', '111', '113', '115', '117', '119', '123', '135', '137',\n '139', '143', '161', '179', '389', '427', '465', '512', '513', '514', '515', '526', '530', '531', '532',\n '540', '548', '554', '556', '563', '587', '601', '636', '989', '990', '993', '995', '1719', '1720', '1723',\n '2049', '3659', '4045', '5060', '5061', '6000', '6566', '6665', '6666', '6667', '6668', '6669', '6697',\n '10080'\n]\n\n// https://w3c.github.io/webappsec-referrer-policy/#referrer-policies\nconst referrerPolicy = [\n '',\n 'no-referrer',\n 'no-referrer-when-downgrade',\n 'same-origin',\n 'origin',\n 'strict-origin',\n 'origin-when-cross-origin',\n 'strict-origin-when-cross-origin',\n 'unsafe-url'\n]\n\nconst requestRedirect = ['follow', 'manual', 'error']\n\nconst safeMethods = ['GET', 'HEAD', 'OPTIONS', 'TRACE']\n\nconst requestMode = ['navigate', 'same-origin', 'no-cors', 'cors']\n\nconst requestCredentials = ['omit', 'same-origin', 'include']\n\nconst requestCache = [\n 'default',\n 'no-store',\n 'reload',\n 'no-cache',\n 'force-cache',\n 'only-if-cached'\n]\n\n// https://fetch.spec.whatwg.org/#request-body-header-name\nconst requestBodyHeader = [\n 'content-encoding',\n 'content-language',\n 'content-location',\n 'content-type',\n // See https://github.com/nodejs/undici/issues/2021\n // 'Content-Length' is a forbidden header name, which is typically\n // removed in the Headers implementation. However, undici doesn't\n // filter out headers, so we add it here.\n 'content-length'\n]\n\n// https://fetch.spec.whatwg.org/#enumdef-requestduplex\nconst requestDuplex = [\n 'half'\n]\n\n// http://fetch.spec.whatwg.org/#forbidden-method\nconst forbiddenMethods = ['CONNECT', 'TRACE', 'TRACK']\n\nconst subresource = [\n 'audio',\n 'audioworklet',\n 'font',\n 'image',\n 'manifest',\n 'paintworklet',\n 'script',\n 'style',\n 'track',\n 'video',\n 'xslt',\n ''\n]\n\n/** @type {globalThis['DOMException']} */\nconst DOMException = globalThis.DOMException ?? (() => {\n // DOMException was only made a global in Node v17.0.0,\n // but fetch supports >= v16.8.\n try {\n atob('~')\n } catch (err) {\n return Object.getPrototypeOf(err).constructor\n }\n})()\n\nlet channel\n\n/** @type {globalThis['structuredClone']} */\nconst structuredClone =\n globalThis.structuredClone ??\n // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js\n // structuredClone was added in v17.0.0, but fetch supports v16.8\n function structuredClone (value, options = undefined) {\n if (arguments.length === 0) {\n throw new TypeError('missing argument')\n }\n\n if (!channel) {\n channel = new MessageChannel()\n }\n channel.port1.unref()\n channel.port2.unref()\n channel.port1.postMessage(value, options?.transfer)\n return receiveMessageOnPort(channel.port2).message\n }\n\nmodule.exports = {\n DOMException,\n structuredClone,\n subresource,\n forbiddenMethods,\n requestBodyHeader,\n referrerPolicy,\n requestRedirect,\n requestMode,\n requestCredentials,\n requestCache,\n redirectStatus,\n corsSafeListedMethods,\n nullBodyStatus,\n safeMethods,\n badPorts,\n requestDuplex\n}\n", "'use strict'\n\n// In case of breaking changes, increase the version\n// number to avoid conflicts.\nconst globalOrigin = Symbol.for('undici.globalOrigin.1')\n\nfunction getGlobalOrigin () {\n return globalThis[globalOrigin]\n}\n\nfunction setGlobalOrigin (newOrigin) {\n if (\n newOrigin !== undefined &&\n typeof newOrigin !== 'string' &&\n !(newOrigin instanceof URL)\n ) {\n throw new Error('Invalid base url')\n }\n\n if (newOrigin === undefined) {\n Object.defineProperty(globalThis, globalOrigin, {\n value: undefined,\n writable: true,\n enumerable: false,\n configurable: false\n })\n\n return\n }\n\n const parsedURL = new URL(newOrigin)\n\n if (parsedURL.protocol !== 'http:' && parsedURL.protocol !== 'https:') {\n throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`)\n }\n\n Object.defineProperty(globalThis, globalOrigin, {\n value: parsedURL,\n writable: true,\n enumerable: false,\n configurable: false\n })\n}\n\nmodule.exports = {\n getGlobalOrigin,\n setGlobalOrigin\n}\n", "'use strict'\n\nconst { redirectStatus, badPorts, referrerPolicy: referrerPolicyTokens } = require('./constants')\nconst { getGlobalOrigin } = require('./global')\nconst { performance } = require('perf_hooks')\nconst { isBlobLike, toUSVString, ReadableStreamFrom } = require('../core/util')\nconst assert = require('assert')\nconst { isUint8Array } = require('util/types')\n\n// https://nodejs.org/api/crypto.html#determining-if-crypto-support-is-unavailable\n/** @type {import('crypto')|undefined} */\nlet crypto\n\ntry {\n crypto = require('crypto')\n} catch {\n\n}\n\nfunction responseURL (response) {\n // https://fetch.spec.whatwg.org/#responses\n // A response has an associated URL. It is a pointer to the last URL\n // in response\u2019s URL list and null if response\u2019s URL list is empty.\n const urlList = response.urlList\n const length = urlList.length\n return length === 0 ? null : urlList[length - 1].toString()\n}\n\n// https://fetch.spec.whatwg.org/#concept-response-location-url\nfunction responseLocationURL (response, requestFragment) {\n // 1. If response\u2019s status is not a redirect status, then return null.\n if (!redirectStatus.includes(response.status)) {\n return null\n }\n\n // 2. Let location be the result of extracting header list values given\n // `Location` and response\u2019s header list.\n let location = response.headersList.get('location')\n\n // 3. If location is a header value, then set location to the result of\n // parsing location with response\u2019s URL.\n if (location !== null && isValidHeaderValue(location)) {\n location = new URL(location, responseURL(response))\n }\n\n // 4. If location is a URL whose fragment is null, then set location\u2019s\n // fragment to requestFragment.\n if (location && !location.hash) {\n location.hash = requestFragment\n }\n\n // 5. Return location.\n return location\n}\n\n/** @returns {URL} */\nfunction requestCurrentURL (request) {\n return request.urlList[request.urlList.length - 1]\n}\n\nfunction requestBadPort (request) {\n // 1. Let url be request\u2019s current URL.\n const url = requestCurrentURL(request)\n\n // 2. If url\u2019s scheme is an HTTP(S) scheme and url\u2019s port is a bad port,\n // then return blocked.\n if (urlIsHttpHttpsScheme(url) && badPorts.includes(url.port)) {\n return 'blocked'\n }\n\n // 3. Return allowed.\n return 'allowed'\n}\n\nfunction isErrorLike (object) {\n return object instanceof Error || (\n object?.constructor?.name === 'Error' ||\n object?.constructor?.name === 'DOMException'\n )\n}\n\n// Check whether |statusText| is a ByteString and\n// matches the Reason-Phrase token production.\n// RFC 2616: https://tools.ietf.org/html/rfc2616\n// RFC 7230: https://tools.ietf.org/html/rfc7230\n// \"reason-phrase = *( HTAB / SP / VCHAR / obs-text )\"\n// https://github.com/chromium/chromium/blob/94.0.4604.1/third_party/blink/renderer/core/fetch/response.cc#L116\nfunction isValidReasonPhrase (statusText) {\n for (let i = 0; i < statusText.length; ++i) {\n const c = statusText.charCodeAt(i)\n if (\n !(\n (\n c === 0x09 || // HTAB\n (c >= 0x20 && c <= 0x7e) || // SP / VCHAR\n (c >= 0x80 && c <= 0xff)\n ) // obs-text\n )\n ) {\n return false\n }\n }\n return true\n}\n\nfunction isTokenChar (c) {\n return !(\n c >= 0x7f ||\n c <= 0x20 ||\n c === '(' ||\n c === ')' ||\n c === '<' ||\n c === '>' ||\n c === '@' ||\n c === ',' ||\n c === ';' ||\n c === ':' ||\n c === '\\\\' ||\n c === '\"' ||\n c === '/' ||\n c === '[' ||\n c === ']' ||\n c === '?' ||\n c === '=' ||\n c === '{' ||\n c === '}'\n )\n}\n\n// See RFC 7230, Section 3.2.6.\n// https://github.com/chromium/chromium/blob/d7da0240cae77824d1eda25745c4022757499131/third_party/blink/renderer/platform/network/http_parsers.cc#L321\nfunction isValidHTTPToken (characters) {\n if (!characters || typeof characters !== 'string') {\n return false\n }\n for (let i = 0; i < characters.length; ++i) {\n const c = characters.charCodeAt(i)\n if (c > 0x7f || !isTokenChar(c)) {\n return false\n }\n }\n return true\n}\n\n// https://fetch.spec.whatwg.org/#header-name\n// https://github.com/chromium/chromium/blob/b3d37e6f94f87d59e44662d6078f6a12de845d17/net/http/http_util.cc#L342\nfunction isValidHeaderName (potentialValue) {\n if (potentialValue.length === 0) {\n return false\n }\n\n return isValidHTTPToken(potentialValue)\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#header-value\n * @param {string} potentialValue\n */\nfunction isValidHeaderValue (potentialValue) {\n // - Has no leading or trailing HTTP tab or space bytes.\n // - Contains no 0x00 (NUL) or HTTP newline bytes.\n if (\n potentialValue.startsWith('\\t') ||\n potentialValue.startsWith(' ') ||\n potentialValue.endsWith('\\t') ||\n potentialValue.endsWith(' ')\n ) {\n return false\n }\n\n if (\n potentialValue.includes('\\0') ||\n potentialValue.includes('\\r') ||\n potentialValue.includes('\\n')\n ) {\n return false\n }\n\n return true\n}\n\n// https://w3c.github.io/webappsec-referrer-policy/#set-requests-referrer-policy-on-redirect\nfunction setRequestReferrerPolicyOnRedirect (request, actualResponse) {\n // Given a request request and a response actualResponse, this algorithm\n // updates request\u2019s referrer policy according to the Referrer-Policy\n // header (if any) in actualResponse.\n\n // 1. Let policy be the result of executing \u00A7 8.1 Parse a referrer policy\n // from a Referrer-Policy header on actualResponse.\n\n // 8.1 Parse a referrer policy from a Referrer-Policy header\n // 1. Let policy-tokens be the result of extracting header list values given `Referrer-Policy` and response\u2019s header list.\n const { headersList } = actualResponse\n // 2. Let policy be the empty string.\n // 3. For each token in policy-tokens, if token is a referrer policy and token is not the empty string, then set policy to token.\n // 4. Return policy.\n const policyHeader = (headersList.get('referrer-policy') ?? '').split(',')\n\n // Note: As the referrer-policy can contain multiple policies\n // separated by comma, we need to loop through all of them\n // and pick the first valid one.\n // Ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy#specify_a_fallback_policy\n let policy = ''\n if (policyHeader.length > 0) {\n // The right-most policy takes precedence.\n // The left-most policy is the fallback.\n for (let i = policyHeader.length; i !== 0; i--) {\n const token = policyHeader[i - 1].trim()\n if (referrerPolicyTokens.includes(token)) {\n policy = token\n break\n }\n }\n }\n\n // 2. If policy is not the empty string, then set request\u2019s referrer policy to policy.\n if (policy !== '') {\n request.referrerPolicy = policy\n }\n}\n\n// https://fetch.spec.whatwg.org/#cross-origin-resource-policy-check\nfunction crossOriginResourcePolicyCheck () {\n // TODO\n return 'allowed'\n}\n\n// https://fetch.spec.whatwg.org/#concept-cors-check\nfunction corsCheck () {\n // TODO\n return 'success'\n}\n\n// https://fetch.spec.whatwg.org/#concept-tao-check\nfunction TAOCheck () {\n // TODO\n return 'success'\n}\n\nfunction appendFetchMetadata (httpRequest) {\n // https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-dest-header\n // TODO\n\n // https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-mode-header\n\n // 1. Assert: r\u2019s url is a potentially trustworthy URL.\n // TODO\n\n // 2. Let header be a Structured Header whose value is a token.\n let header = null\n\n // 3. Set header\u2019s value to r\u2019s mode.\n header = httpRequest.mode\n\n // 4. Set a structured field value `Sec-Fetch-Mode`/header in r\u2019s header list.\n httpRequest.headersList.set('sec-fetch-mode', header)\n\n // https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-site-header\n // TODO\n\n // https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-user-header\n // TODO\n}\n\n// https://fetch.spec.whatwg.org/#append-a-request-origin-header\nfunction appendRequestOriginHeader (request) {\n // 1. Let serializedOrigin be the result of byte-serializing a request origin with request.\n let serializedOrigin = request.origin\n\n // 2. If request\u2019s response tainting is \"cors\" or request\u2019s mode is \"websocket\", then append (`Origin`, serializedOrigin) to request\u2019s header list.\n if (request.responseTainting === 'cors' || request.mode === 'websocket') {\n if (serializedOrigin) {\n request.headersList.append('origin', serializedOrigin)\n }\n\n // 3. Otherwise, if request\u2019s method is neither `GET` nor `HEAD`, then:\n } else if (request.method !== 'GET' && request.method !== 'HEAD') {\n // 1. Switch on request\u2019s referrer policy:\n switch (request.referrerPolicy) {\n case 'no-referrer':\n // Set serializedOrigin to `null`.\n serializedOrigin = null\n break\n case 'no-referrer-when-downgrade':\n case 'strict-origin':\n case 'strict-origin-when-cross-origin':\n // If request\u2019s origin is a tuple origin, its scheme is \"https\", and request\u2019s current URL\u2019s scheme is not \"https\", then set serializedOrigin to `null`.\n if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) {\n serializedOrigin = null\n }\n break\n case 'same-origin':\n // If request\u2019s origin is not same origin with request\u2019s current URL\u2019s origin, then set serializedOrigin to `null`.\n if (!sameOrigin(request, requestCurrentURL(request))) {\n serializedOrigin = null\n }\n break\n default:\n // Do nothing.\n }\n\n if (serializedOrigin) {\n // 2. Append (`Origin`, serializedOrigin) to request\u2019s header list.\n request.headersList.append('origin', serializedOrigin)\n }\n }\n}\n\nfunction coarsenedSharedCurrentTime (crossOriginIsolatedCapability) {\n // TODO\n return performance.now()\n}\n\n// https://fetch.spec.whatwg.org/#create-an-opaque-timing-info\nfunction createOpaqueTimingInfo (timingInfo) {\n return {\n startTime: timingInfo.startTime ?? 0,\n redirectStartTime: 0,\n redirectEndTime: 0,\n postRedirectStartTime: timingInfo.startTime ?? 0,\n finalServiceWorkerStartTime: 0,\n finalNetworkResponseStartTime: 0,\n finalNetworkRequestStartTime: 0,\n endTime: 0,\n encodedBodySize: 0,\n decodedBodySize: 0,\n finalConnectionTimingInfo: null\n }\n}\n\n// https://html.spec.whatwg.org/multipage/origin.html#policy-container\nfunction makePolicyContainer () {\n // Note: the fetch spec doesn't make use of embedder policy or CSP list\n return {\n referrerPolicy: 'strict-origin-when-cross-origin'\n }\n}\n\n// https://html.spec.whatwg.org/multipage/origin.html#clone-a-policy-container\nfunction clonePolicyContainer (policyContainer) {\n return {\n referrerPolicy: policyContainer.referrerPolicy\n }\n}\n\n// https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer\nfunction determineRequestsReferrer (request) {\n // 1. Let policy be request's referrer policy.\n const policy = request.referrerPolicy\n\n // Note: policy cannot (shouldn't) be null or an empty string.\n assert(policy)\n\n // 2. Let environment be request\u2019s client.\n\n let referrerSource = null\n\n // 3. Switch on request\u2019s referrer:\n if (request.referrer === 'client') {\n // Note: node isn't a browser and doesn't implement document/iframes,\n // so we bypass this step and replace it with our own.\n\n const globalOrigin = getGlobalOrigin()\n\n if (!globalOrigin || globalOrigin.origin === 'null') {\n return 'no-referrer'\n }\n\n // note: we need to clone it as it's mutated\n referrerSource = new URL(globalOrigin)\n } else if (request.referrer instanceof URL) {\n // Let referrerSource be request\u2019s referrer.\n referrerSource = request.referrer\n }\n\n // 4. Let request\u2019s referrerURL be the result of stripping referrerSource for\n // use as a referrer.\n let referrerURL = stripURLForReferrer(referrerSource)\n\n // 5. Let referrerOrigin be the result of stripping referrerSource for use as\n // a referrer, with the origin-only flag set to true.\n const referrerOrigin = stripURLForReferrer(referrerSource, true)\n\n // 6. If the result of serializing referrerURL is a string whose length is\n // greater than 4096, set referrerURL to referrerOrigin.\n if (referrerURL.toString().length > 4096) {\n referrerURL = referrerOrigin\n }\n\n const areSameOrigin = sameOrigin(request, referrerURL)\n const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) &&\n !isURLPotentiallyTrustworthy(request.url)\n\n // 8. Execute the switch statements corresponding to the value of policy:\n switch (policy) {\n case 'origin': return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true)\n case 'unsafe-url': return referrerURL\n case 'same-origin':\n return areSameOrigin ? referrerOrigin : 'no-referrer'\n case 'origin-when-cross-origin':\n return areSameOrigin ? referrerURL : referrerOrigin\n case 'strict-origin-when-cross-origin': {\n const currentURL = requestCurrentURL(request)\n\n // 1. If the origin of referrerURL and the origin of request\u2019s current\n // URL are the same, then return referrerURL.\n if (sameOrigin(referrerURL, currentURL)) {\n return referrerURL\n }\n\n // 2. If referrerURL is a potentially trustworthy URL and request\u2019s\n // current URL is not a potentially trustworthy URL, then return no\n // referrer.\n if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {\n return 'no-referrer'\n }\n\n // 3. Return referrerOrigin.\n return referrerOrigin\n }\n case 'strict-origin': // eslint-disable-line\n /**\n * 1. If referrerURL is a potentially trustworthy URL and\n * request\u2019s current URL is not a potentially trustworthy URL,\n * then return no referrer.\n * 2. Return referrerOrigin\n */\n case 'no-referrer-when-downgrade': // eslint-disable-line\n /**\n * 1. If referrerURL is a potentially trustworthy URL and\n * request\u2019s current URL is not a potentially trustworthy URL,\n * then return no referrer.\n * 2. Return referrerOrigin\n */\n\n default: // eslint-disable-line\n return isNonPotentiallyTrustWorthy ? 'no-referrer' : referrerOrigin\n }\n}\n\n/**\n * @see https://w3c.github.io/webappsec-referrer-policy/#strip-url\n * @param {URL} url\n * @param {boolean|undefined} originOnly\n */\nfunction stripURLForReferrer (url, originOnly) {\n // 1. Assert: url is a URL.\n assert(url instanceof URL)\n\n // 2. If url\u2019s scheme is a local scheme, then return no referrer.\n if (url.protocol === 'file:' || url.protocol === 'about:' || url.protocol === 'blank:') {\n return 'no-referrer'\n }\n\n // 3. Set url\u2019s username to the empty string.\n url.username = ''\n\n // 4. Set url\u2019s password to the empty string.\n url.password = ''\n\n // 5. Set url\u2019s fragment to null.\n url.hash = ''\n\n // 6. If the origin-only flag is true, then:\n if (originOnly) {\n // 1. Set url\u2019s path to \u00AB the empty string \u00BB.\n url.pathname = ''\n\n // 2. Set url\u2019s query to null.\n url.search = ''\n }\n\n // 7. Return url.\n return url\n}\n\nfunction isURLPotentiallyTrustworthy (url) {\n if (!(url instanceof URL)) {\n return false\n }\n\n // If child of about, return true\n if (url.href === 'about:blank' || url.href === 'about:srcdoc') {\n return true\n }\n\n // If scheme is data, return true\n if (url.protocol === 'data:') return true\n\n // If file, return true\n if (url.protocol === 'file:') return true\n\n return isOriginPotentiallyTrustworthy(url.origin)\n\n function isOriginPotentiallyTrustworthy (origin) {\n // If origin is explicitly null, return false\n if (origin == null || origin === 'null') return false\n\n const originAsURL = new URL(origin)\n\n // If secure, return true\n if (originAsURL.protocol === 'https:' || originAsURL.protocol === 'wss:') {\n return true\n }\n\n // If localhost or variants, return true\n if (/^127(?:\\.[0-9]+){0,2}\\.[0-9]+$|^\\[(?:0*:)*?:?0*1\\]$/.test(originAsURL.hostname) ||\n (originAsURL.hostname === 'localhost' || originAsURL.hostname.includes('localhost.')) ||\n (originAsURL.hostname.endsWith('.localhost'))) {\n return true\n }\n\n // If any other, return false\n return false\n }\n}\n\n/**\n * @see https://w3c.github.io/webappsec-subresource-integrity/#does-response-match-metadatalist\n * @param {Uint8Array} bytes\n * @param {string} metadataList\n */\nfunction bytesMatch (bytes, metadataList) {\n // If node is not built with OpenSSL support, we cannot check\n // a request's integrity, so allow it by default (the spec will\n // allow requests if an invalid hash is given, as precedence).\n /* istanbul ignore if: only if node is built with --without-ssl */\n if (crypto === undefined) {\n return true\n }\n\n // 1. Let parsedMetadata be the result of parsing metadataList.\n const parsedMetadata = parseMetadata(metadataList)\n\n // 2. If parsedMetadata is no metadata, return true.\n if (parsedMetadata === 'no metadata') {\n return true\n }\n\n // 3. If parsedMetadata is the empty set, return true.\n if (parsedMetadata.length === 0) {\n return true\n }\n\n // 4. Let metadata be the result of getting the strongest\n // metadata from parsedMetadata.\n const list = parsedMetadata.sort((c, d) => d.algo.localeCompare(c.algo))\n // get the strongest algorithm\n const strongest = list[0].algo\n // get all entries that use the strongest algorithm; ignore weaker\n const metadata = list.filter((item) => item.algo === strongest)\n\n // 5. For each item in metadata:\n for (const item of metadata) {\n // 1. Let algorithm be the alg component of item.\n const algorithm = item.algo\n\n // 2. Let expectedValue be the val component of item.\n const expectedValue = item.hash\n\n // 3. Let actualValue be the result of applying algorithm to bytes.\n const actualValue = crypto.createHash(algorithm).update(bytes).digest('base64')\n\n // 4. If actualValue is a case-sensitive match for expectedValue,\n // return true.\n if (actualValue === expectedValue) {\n return true\n }\n }\n\n // 6. Return false.\n return false\n}\n\n// https://w3c.github.io/webappsec-subresource-integrity/#grammardef-hash-with-options\n// https://www.w3.org/TR/CSP2/#source-list-syntax\n// https://www.rfc-editor.org/rfc/rfc5234#appendix-B.1\nconst parseHashWithOptions = /((?<algo>sha256|sha384|sha512)-(?<hash>[A-z0-9+/]{1}.*={0,2}))( +[\\x21-\\x7e]?)?/i\n\n/**\n * @see https://w3c.github.io/webappsec-subresource-integrity/#parse-metadata\n * @param {string} metadata\n */\nfunction parseMetadata (metadata) {\n // 1. Let result be the empty set.\n /** @type {{ algo: string, hash: string }[]} */\n const result = []\n\n // 2. Let empty be equal to true.\n let empty = true\n\n const supportedHashes = crypto.getHashes()\n\n // 3. For each token returned by splitting metadata on spaces:\n for (const token of metadata.split(' ')) {\n // 1. Set empty to false.\n empty = false\n\n // 2. Parse token as a hash-with-options.\n const parsedToken = parseHashWithOptions.exec(token)\n\n // 3. If token does not parse, continue to the next token.\n if (parsedToken === null || parsedToken.groups === undefined) {\n // Note: Chromium blocks the request at this point, but Firefox\n // gives a warning that an invalid integrity was given. The\n // correct behavior is to ignore these, and subsequently not\n // check the integrity of the resource.\n continue\n }\n\n // 4. Let algorithm be the hash-algo component of token.\n const algorithm = parsedToken.groups.algo\n\n // 5. If algorithm is a hash function recognized by the user\n // agent, add the parsed token to result.\n if (supportedHashes.includes(algorithm.toLowerCase())) {\n result.push(parsedToken.groups)\n }\n }\n\n // 4. Return no metadata if empty is true, otherwise return result.\n if (empty === true) {\n return 'no metadata'\n }\n\n return result\n}\n\n// https://w3c.github.io/webappsec-upgrade-insecure-requests/#upgrade-request\nfunction tryUpgradeRequestToAPotentiallyTrustworthyURL (request) {\n // TODO\n}\n\n/**\n * @link {https://html.spec.whatwg.org/multipage/origin.html#same-origin}\n * @param {URL} A\n * @param {URL} B\n */\nfunction sameOrigin (A, B) {\n // 1. If A and B are the same opaque origin, then return true.\n if (A.origin === B.origin && A.origin === 'null') {\n return true\n }\n\n // 2. If A and B are both tuple origins and their schemes,\n // hosts, and port are identical, then return true.\n if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {\n return true\n }\n\n // 3. Return false.\n return false\n}\n\nfunction createDeferredPromise () {\n let res\n let rej\n const promise = new Promise((resolve, reject) => {\n res = resolve\n rej = reject\n })\n\n return { promise, resolve: res, reject: rej }\n}\n\nfunction isAborted (fetchParams) {\n return fetchParams.controller.state === 'aborted'\n}\n\nfunction isCancelled (fetchParams) {\n return fetchParams.controller.state === 'aborted' ||\n fetchParams.controller.state === 'terminated'\n}\n\n// https://fetch.spec.whatwg.org/#concept-method-normalize\nfunction normalizeMethod (method) {\n return /^(DELETE|GET|HEAD|OPTIONS|POST|PUT)$/i.test(method)\n ? method.toUpperCase()\n : method\n}\n\n// https://infra.spec.whatwg.org/#serialize-a-javascript-value-to-a-json-string\nfunction serializeJavascriptValueToJSONString (value) {\n // 1. Let result be ? Call(%JSON.stringify%, undefined, \u00AB value \u00BB).\n const result = JSON.stringify(value)\n\n // 2. If result is undefined, then throw a TypeError.\n if (result === undefined) {\n throw new TypeError('Value is not JSON serializable')\n }\n\n // 3. Assert: result is a string.\n assert(typeof result === 'string')\n\n // 4. Return result.\n return result\n}\n\n// https://tc39.es/ecma262/#sec-%25iteratorprototype%25-object\nconst esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))\n\n/**\n * @see https://webidl.spec.whatwg.org/#dfn-iterator-prototype-object\n * @param {() => unknown[]} iterator\n * @param {string} name name of the instance\n * @param {'key'|'value'|'key+value'} kind\n */\nfunction makeIterator (iterator, name, kind) {\n const object = {\n index: 0,\n kind,\n target: iterator\n }\n\n const i = {\n next () {\n // 1. Let interface be the interface for which the iterator prototype object exists.\n\n // 2. Let thisValue be the this value.\n\n // 3. Let object be ? ToObject(thisValue).\n\n // 4. If object is a platform object, then perform a security\n // check, passing:\n\n // 5. If object is not a default iterator object for interface,\n // then throw a TypeError.\n if (Object.getPrototypeOf(this) !== i) {\n throw new TypeError(\n `'next' called on an object that does not implement interface ${name} Iterator.`\n )\n }\n\n // 6. Let index be object\u2019s index.\n // 7. Let kind be object\u2019s kind.\n // 8. Let values be object\u2019s target's value pairs to iterate over.\n const { index, kind, target } = object\n const values = target()\n\n // 9. Let len be the length of values.\n const len = values.length\n\n // 10. If index is greater than or equal to len, then return\n // CreateIterResultObject(undefined, true).\n if (index >= len) {\n return { value: undefined, done: true }\n }\n\n // 11. Let pair be the entry in values at index index.\n const pair = values[index]\n\n // 12. Set object\u2019s index to index + 1.\n object.index = index + 1\n\n // 13. Return the iterator result for pair and kind.\n return iteratorResult(pair, kind)\n },\n // The class string of an iterator prototype object for a given interface is the\n // result of concatenating the identifier of the interface and the string \" Iterator\".\n [Symbol.toStringTag]: `${name} Iterator`\n }\n\n // The [[Prototype]] internal slot of an iterator prototype object must be %IteratorPrototype%.\n Object.setPrototypeOf(i, esIteratorPrototype)\n // esIteratorPrototype needs to be the prototype of i\n // which is the prototype of an empty object. Yes, it's confusing.\n return Object.setPrototypeOf({}, i)\n}\n\n// https://webidl.spec.whatwg.org/#iterator-result\nfunction iteratorResult (pair, kind) {\n let result\n\n // 1. Let result be a value determined by the value of kind:\n switch (kind) {\n case 'key': {\n // 1. Let idlKey be pair\u2019s key.\n // 2. Let key be the result of converting idlKey to an\n // ECMAScript value.\n // 3. result is key.\n result = pair[0]\n break\n }\n case 'value': {\n // 1. Let idlValue be pair\u2019s value.\n // 2. Let value be the result of converting idlValue to\n // an ECMAScript value.\n // 3. result is value.\n result = pair[1]\n break\n }\n case 'key+value': {\n // 1. Let idlKey be pair\u2019s key.\n // 2. Let idlValue be pair\u2019s value.\n // 3. Let key be the result of converting idlKey to an\n // ECMAScript value.\n // 4. Let value be the result of converting idlValue to\n // an ECMAScript value.\n // 5. Let array be ! ArrayCreate(2).\n // 6. Call ! CreateDataProperty(array, \"0\", key).\n // 7. Call ! CreateDataProperty(array, \"1\", value).\n // 8. result is array.\n result = pair\n break\n }\n }\n\n // 2. Return CreateIterResultObject(result, false).\n return { value: result, done: false }\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#body-fully-read\n */\nfunction fullyReadBody (body, processBody, processBodyError) {\n // 1. If taskDestination is null, then set taskDestination to\n // the result of starting a new parallel queue.\n\n // 2. Let successSteps given a byte sequence bytes be to queue a\n // fetch task to run processBody given bytes, with taskDestination.\n const successSteps = (bytes) => queueMicrotask(() => processBody(bytes))\n\n // 3. Let errorSteps be to queue a fetch task to run processBodyError,\n // with taskDestination.\n const errorSteps = (error) => queueMicrotask(() => processBodyError(error))\n\n // 4. Let reader be the result of getting a reader for body\u2019s stream.\n // If that threw an exception, then run errorSteps with that\n // exception and return.\n let reader\n\n try {\n reader = body.stream.getReader()\n } catch (e) {\n errorSteps(e)\n return\n }\n\n // 5. Read all bytes from reader, given successSteps and errorSteps.\n readAllBytes(reader, successSteps, errorSteps)\n}\n\n/** @type {ReadableStream} */\nlet ReadableStream = globalThis.ReadableStream\n\nfunction isReadableStreamLike (stream) {\n if (!ReadableStream) {\n ReadableStream = require('stream/web').ReadableStream\n }\n\n return stream instanceof ReadableStream || (\n stream[Symbol.toStringTag] === 'ReadableStream' &&\n typeof stream.tee === 'function'\n )\n}\n\nconst MAXIMUM_ARGUMENT_LENGTH = 65535\n\n/**\n * @see https://infra.spec.whatwg.org/#isomorphic-decode\n * @param {number[]|Uint8Array} input\n */\nfunction isomorphicDecode (input) {\n // 1. To isomorphic decode a byte sequence input, return a string whose code point\n // length is equal to input\u2019s length and whose code points have the same values\n // as the values of input\u2019s bytes, in the same order.\n\n if (input.length < MAXIMUM_ARGUMENT_LENGTH) {\n return String.fromCharCode(...input)\n }\n\n return input.reduce((previous, current) => previous + String.fromCharCode(current), '')\n}\n\n/**\n * @param {ReadableStreamController<Uint8Array>} controller\n */\nfunction readableStreamClose (controller) {\n try {\n controller.close()\n } catch (err) {\n // TODO: add comment explaining why this error occurs.\n if (!err.message.includes('Controller is already closed')) {\n throw err\n }\n }\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#isomorphic-encode\n * @param {string} input\n */\nfunction isomorphicEncode (input) {\n // 1. Assert: input contains no code points greater than U+00FF.\n for (let i = 0; i < input.length; i++) {\n assert(input.charCodeAt(i) <= 0xFF)\n }\n\n // 2. Return a byte sequence whose length is equal to input\u2019s code\n // point length and whose bytes have the same values as the\n // values of input\u2019s code points, in the same order\n return input\n}\n\n/**\n * @see https://streams.spec.whatwg.org/#readablestreamdefaultreader-read-all-bytes\n * @see https://streams.spec.whatwg.org/#read-loop\n * @param {ReadableStreamDefaultReader} reader\n * @param {(bytes: Uint8Array) => void} successSteps\n * @param {(error: Error) => void} failureSteps\n */\nasync function readAllBytes (reader, successSteps, failureSteps) {\n const bytes = []\n let byteLength = 0\n\n while (true) {\n let done\n let chunk\n\n try {\n ({ done, value: chunk } = await reader.read())\n } catch (e) {\n // 1. Call failureSteps with e.\n failureSteps(e)\n return\n }\n\n if (done) {\n // 1. Call successSteps with bytes.\n successSteps(Buffer.concat(bytes, byteLength))\n return\n }\n\n // 1. If chunk is not a Uint8Array object, call failureSteps\n // with a TypeError and abort these steps.\n if (!isUint8Array(chunk)) {\n failureSteps(new TypeError('Received non-Uint8Array chunk'))\n return\n }\n\n // 2. Append the bytes represented by chunk to bytes.\n bytes.push(chunk)\n byteLength += chunk.length\n\n // 3. Read-loop given reader, bytes, successSteps, and failureSteps.\n }\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#is-local\n * @param {URL} url\n */\nfunction urlIsLocal (url) {\n assert('protocol' in url) // ensure it's a url object\n\n const protocol = url.protocol\n\n return protocol === 'about:' || protocol === 'blob:' || protocol === 'data:'\n}\n\n/**\n * @param {string|URL} url\n */\nfunction urlHasHttpsScheme (url) {\n if (typeof url === 'string') {\n return url.startsWith('https:')\n }\n\n return url.protocol === 'https:'\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#http-scheme\n * @param {URL} url\n */\nfunction urlIsHttpHttpsScheme (url) {\n assert('protocol' in url) // ensure it's a url object\n\n const protocol = url.protocol\n\n return protocol === 'http:' || protocol === 'https:'\n}\n\n/**\n * Fetch supports node >= 16.8.0, but Object.hasOwn was added in v16.9.0.\n */\nconst hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key))\n\nmodule.exports = {\n isAborted,\n isCancelled,\n createDeferredPromise,\n ReadableStreamFrom,\n toUSVString,\n tryUpgradeRequestToAPotentiallyTrustworthyURL,\n coarsenedSharedCurrentTime,\n determineRequestsReferrer,\n makePolicyContainer,\n clonePolicyContainer,\n appendFetchMetadata,\n appendRequestOriginHeader,\n TAOCheck,\n corsCheck,\n crossOriginResourcePolicyCheck,\n createOpaqueTimingInfo,\n setRequestReferrerPolicyOnRedirect,\n isValidHTTPToken,\n requestBadPort,\n requestCurrentURL,\n responseURL,\n responseLocationURL,\n isBlobLike,\n isURLPotentiallyTrustworthy,\n isValidReasonPhrase,\n sameOrigin,\n normalizeMethod,\n serializeJavascriptValueToJSONString,\n makeIterator,\n isValidHeaderName,\n isValidHeaderValue,\n hasOwn,\n isErrorLike,\n fullyReadBody,\n bytesMatch,\n isReadableStreamLike,\n readableStreamClose,\n isomorphicEncode,\n isomorphicDecode,\n urlIsLocal,\n urlHasHttpsScheme,\n urlIsHttpHttpsScheme,\n readAllBytes\n}\n", "'use strict'\n\nmodule.exports = {\n kUrl: Symbol('url'),\n kHeaders: Symbol('headers'),\n kSignal: Symbol('signal'),\n kState: Symbol('state'),\n kGuard: Symbol('guard'),\n kRealm: Symbol('realm')\n}\n", "'use strict'\n\nconst { types } = require('util')\nconst { hasOwn, toUSVString } = require('./util')\n\n/** @type {import('../../types/webidl').Webidl} */\nconst webidl = {}\nwebidl.converters = {}\nwebidl.util = {}\nwebidl.errors = {}\n\nwebidl.errors.exception = function (message) {\n return new TypeError(`${message.header}: ${message.message}`)\n}\n\nwebidl.errors.conversionFailed = function (context) {\n const plural = context.types.length === 1 ? '' : ' one of'\n const message =\n `${context.argument} could not be converted to` +\n `${plural}: ${context.types.join(', ')}.`\n\n return webidl.errors.exception({\n header: context.prefix,\n message\n })\n}\n\nwebidl.errors.invalidArgument = function (context) {\n return webidl.errors.exception({\n header: context.prefix,\n message: `\"${context.value}\" is an invalid ${context.type}.`\n })\n}\n\n// https://webidl.spec.whatwg.org/#implements\nwebidl.brandCheck = function (V, I, opts = undefined) {\n if (opts?.strict !== false && !(V instanceof I)) {\n throw new TypeError('Illegal invocation')\n } else {\n return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag]\n }\n}\n\nwebidl.argumentLengthCheck = function ({ length }, min, ctx) {\n if (length < min) {\n throw webidl.errors.exception({\n message: `${min} argument${min !== 1 ? 's' : ''} required, ` +\n `but${length ? ' only' : ''} ${length} found.`,\n ...ctx\n })\n }\n}\n\nwebidl.illegalConstructor = function () {\n throw webidl.errors.exception({\n header: 'TypeError',\n message: 'Illegal constructor'\n })\n}\n\n// https://tc39.es/ecma262/#sec-ecmascript-data-types-and-values\nwebidl.util.Type = function (V) {\n switch (typeof V) {\n case 'undefined': return 'Undefined'\n case 'boolean': return 'Boolean'\n case 'string': return 'String'\n case 'symbol': return 'Symbol'\n case 'number': return 'Number'\n case 'bigint': return 'BigInt'\n case 'function':\n case 'object': {\n if (V === null) {\n return 'Null'\n }\n\n return 'Object'\n }\n }\n}\n\n// https://webidl.spec.whatwg.org/#abstract-opdef-converttoint\nwebidl.util.ConvertToInt = function (V, bitLength, signedness, opts = {}) {\n let upperBound\n let lowerBound\n\n // 1. If bitLength is 64, then:\n if (bitLength === 64) {\n // 1. Let upperBound be 2^53 \u2212 1.\n upperBound = Math.pow(2, 53) - 1\n\n // 2. If signedness is \"unsigned\", then let lowerBound be 0.\n if (signedness === 'unsigned') {\n lowerBound = 0\n } else {\n // 3. Otherwise let lowerBound be \u22122^53 + 1.\n lowerBound = Math.pow(-2, 53) + 1\n }\n } else if (signedness === 'unsigned') {\n // 2. Otherwise, if signedness is \"unsigned\", then:\n\n // 1. Let lowerBound be 0.\n lowerBound = 0\n\n // 2. Let upperBound be 2^bitLength \u2212 1.\n upperBound = Math.pow(2, bitLength) - 1\n } else {\n // 3. Otherwise:\n\n // 1. Let lowerBound be -2^bitLength \u2212 1.\n lowerBound = Math.pow(-2, bitLength) - 1\n\n // 2. Let upperBound be 2^bitLength \u2212 1 \u2212 1.\n upperBound = Math.pow(2, bitLength - 1) - 1\n }\n\n // 4. Let x be ? ToNumber(V).\n let x = Number(V)\n\n // 5. If x is \u22120, then set x to +0.\n if (x === 0) {\n x = 0\n }\n\n // 6. If the conversion is to an IDL type associated\n // with the [EnforceRange] extended attribute, then:\n if (opts.enforceRange === true) {\n // 1. If x is NaN, +\u221E, or \u2212\u221E, then throw a TypeError.\n if (\n Number.isNaN(x) ||\n x === Number.POSITIVE_INFINITY ||\n x === Number.NEGATIVE_INFINITY\n ) {\n throw webidl.errors.exception({\n header: 'Integer conversion',\n message: `Could not convert ${V} to an integer.`\n })\n }\n\n // 2. Set x to IntegerPart(x).\n x = webidl.util.IntegerPart(x)\n\n // 3. If x < lowerBound or x > upperBound, then\n // throw a TypeError.\n if (x < lowerBound || x > upperBound) {\n throw webidl.errors.exception({\n header: 'Integer conversion',\n message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`\n })\n }\n\n // 4. Return x.\n return x\n }\n\n // 7. If x is not NaN and the conversion is to an IDL\n // type associated with the [Clamp] extended\n // attribute, then:\n if (!Number.isNaN(x) && opts.clamp === true) {\n // 1. Set x to min(max(x, lowerBound), upperBound).\n x = Math.min(Math.max(x, lowerBound), upperBound)\n\n // 2. Round x to the nearest integer, choosing the\n // even integer if it lies halfway between two,\n // and choosing +0 rather than \u22120.\n if (Math.floor(x) % 2 === 0) {\n x = Math.floor(x)\n } else {\n x = Math.ceil(x)\n }\n\n // 3. Return x.\n return x\n }\n\n // 8. If x is NaN, +0, +\u221E, or \u2212\u221E, then return +0.\n if (\n Number.isNaN(x) ||\n (x === 0 && Object.is(0, x)) ||\n x === Number.POSITIVE_INFINITY ||\n x === Number.NEGATIVE_INFINITY\n ) {\n return 0\n }\n\n // 9. Set x to IntegerPart(x).\n x = webidl.util.IntegerPart(x)\n\n // 10. Set x to x modulo 2^bitLength.\n x = x % Math.pow(2, bitLength)\n\n // 11. If signedness is \"signed\" and x \u2265 2^bitLength \u2212 1,\n // then return x \u2212 2^bitLength.\n if (signedness === 'signed' && x >= Math.pow(2, bitLength) - 1) {\n return x - Math.pow(2, bitLength)\n }\n\n // 12. Otherwise, return x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#abstract-opdef-integerpart\nwebidl.util.IntegerPart = function (n) {\n // 1. Let r be floor(abs(n)).\n const r = Math.floor(Math.abs(n))\n\n // 2. If n < 0, then return -1 \u00D7 r.\n if (n < 0) {\n return -1 * r\n }\n\n // 3. Otherwise, return r.\n return r\n}\n\n// https://webidl.spec.whatwg.org/#es-sequence\nwebidl.sequenceConverter = function (converter) {\n return (V) => {\n // 1. If Type(V) is not Object, throw a TypeError.\n if (webidl.util.Type(V) !== 'Object') {\n throw webidl.errors.exception({\n header: 'Sequence',\n message: `Value of type ${webidl.util.Type(V)} is not an Object.`\n })\n }\n\n // 2. Let method be ? GetMethod(V, @@iterator).\n /** @type {Generator} */\n const method = V?.[Symbol.iterator]?.()\n const seq = []\n\n // 3. If method is undefined, throw a TypeError.\n if (\n method === undefined ||\n typeof method.next !== 'function'\n ) {\n throw webidl.errors.exception({\n header: 'Sequence',\n message: 'Object is not an iterator.'\n })\n }\n\n // https://webidl.spec.whatwg.org/#create-sequence-from-iterable\n while (true) {\n const { done, value } = method.next()\n\n if (done) {\n break\n }\n\n seq.push(converter(value))\n }\n\n return seq\n }\n}\n\n// https://webidl.spec.whatwg.org/#es-to-record\nwebidl.recordConverter = function (keyConverter, valueConverter) {\n return (O) => {\n // 1. If Type(O) is not Object, throw a TypeError.\n if (webidl.util.Type(O) !== 'Object') {\n throw webidl.errors.exception({\n header: 'Record',\n message: `Value of type ${webidl.util.Type(O)} is not an Object.`\n })\n }\n\n // 2. Let result be a new empty instance of record<K, V>.\n const result = {}\n\n if (!types.isProxy(O)) {\n // Object.keys only returns enumerable properties\n const keys = Object.keys(O)\n\n for (const key of keys) {\n // 1. Let typedKey be key converted to an IDL value of type K.\n const typedKey = keyConverter(key)\n\n // 2. Let value be ? Get(O, key).\n // 3. Let typedValue be value converted to an IDL value of type V.\n const typedValue = valueConverter(O[key])\n\n // 4. Set result[typedKey] to typedValue.\n result[typedKey] = typedValue\n }\n\n // 5. Return result.\n return result\n }\n\n // 3. Let keys be ? O.[[OwnPropertyKeys]]().\n const keys = Reflect.ownKeys(O)\n\n // 4. For each key of keys.\n for (const key of keys) {\n // 1. Let desc be ? O.[[GetOwnProperty]](key).\n const desc = Reflect.getOwnPropertyDescriptor(O, key)\n\n // 2. If desc is not undefined and desc.[[Enumerable]] is true:\n if (desc?.enumerable) {\n // 1. Let typedKey be key converted to an IDL value of type K.\n const typedKey = keyConverter(key)\n\n // 2. Let value be ? Get(O, key).\n // 3. Let typedValue be value converted to an IDL value of type V.\n const typedValue = valueConverter(O[key])\n\n // 4. Set result[typedKey] to typedValue.\n result[typedKey] = typedValue\n }\n }\n\n // 5. Return result.\n return result\n }\n}\n\nwebidl.interfaceConverter = function (i) {\n return (V, opts = {}) => {\n if (opts.strict !== false && !(V instanceof i)) {\n throw webidl.errors.exception({\n header: i.name,\n message: `Expected ${V} to be an instance of ${i.name}.`\n })\n }\n\n return V\n }\n}\n\nwebidl.dictionaryConverter = function (converters) {\n return (dictionary) => {\n const type = webidl.util.Type(dictionary)\n const dict = {}\n\n if (type === 'Null' || type === 'Undefined') {\n return dict\n } else if (type !== 'Object') {\n throw webidl.errors.exception({\n header: 'Dictionary',\n message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`\n })\n }\n\n for (const options of converters) {\n const { key, defaultValue, required, converter } = options\n\n if (required === true) {\n if (!hasOwn(dictionary, key)) {\n throw webidl.errors.exception({\n header: 'Dictionary',\n message: `Missing required key \"${key}\".`\n })\n }\n }\n\n let value = dictionary[key]\n const hasDefault = hasOwn(options, 'defaultValue')\n\n // Only use defaultValue if value is undefined and\n // a defaultValue options was provided.\n if (hasDefault && value !== null) {\n value = value ?? defaultValue\n }\n\n // A key can be optional and have no default value.\n // When this happens, do not perform a conversion,\n // and do not assign the key a value.\n if (required || hasDefault || value !== undefined) {\n value = converter(value)\n\n if (\n options.allowedValues &&\n !options.allowedValues.includes(value)\n ) {\n throw webidl.errors.exception({\n header: 'Dictionary',\n message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(', ')}.`\n })\n }\n\n dict[key] = value\n }\n }\n\n return dict\n }\n}\n\nwebidl.nullableConverter = function (converter) {\n return (V) => {\n if (V === null) {\n return V\n }\n\n return converter(V)\n }\n}\n\n// https://webidl.spec.whatwg.org/#es-DOMString\nwebidl.converters.DOMString = function (V, opts = {}) {\n // 1. If V is null and the conversion is to an IDL type\n // associated with the [LegacyNullToEmptyString]\n // extended attribute, then return the DOMString value\n // that represents the empty string.\n if (V === null && opts.legacyNullToEmptyString) {\n return ''\n }\n\n // 2. Let x be ? ToString(V).\n if (typeof V === 'symbol') {\n throw new TypeError('Could not convert argument of type symbol to string.')\n }\n\n // 3. Return the IDL DOMString value that represents the\n // same sequence of code units as the one the\n // ECMAScript String value x represents.\n return String(V)\n}\n\n// https://webidl.spec.whatwg.org/#es-ByteString\nwebidl.converters.ByteString = function (V) {\n // 1. Let x be ? ToString(V).\n // Note: DOMString converter perform ? ToString(V)\n const x = webidl.converters.DOMString(V)\n\n // 2. If the value of any element of x is greater than\n // 255, then throw a TypeError.\n for (let index = 0; index < x.length; index++) {\n const charCode = x.charCodeAt(index)\n\n if (charCode > 255) {\n throw new TypeError(\n 'Cannot convert argument to a ByteString because the character at ' +\n `index ${index} has a value of ${charCode} which is greater than 255.`\n )\n }\n }\n\n // 3. Return an IDL ByteString value whose length is the\n // length of x, and where the value of each element is\n // the value of the corresponding element of x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#es-USVString\nwebidl.converters.USVString = toUSVString\n\n// https://webidl.spec.whatwg.org/#es-boolean\nwebidl.converters.boolean = function (V) {\n // 1. Let x be the result of computing ToBoolean(V).\n const x = Boolean(V)\n\n // 2. Return the IDL boolean value that is the one that represents\n // the same truth value as the ECMAScript Boolean value x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#es-any\nwebidl.converters.any = function (V) {\n return V\n}\n\n// https://webidl.spec.whatwg.org/#es-long-long\nwebidl.converters['long long'] = function (V) {\n // 1. Let x be ? ConvertToInt(V, 64, \"signed\").\n const x = webidl.util.ConvertToInt(V, 64, 'signed')\n\n // 2. Return the IDL long long value that represents\n // the same numeric value as x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#es-unsigned-long-long\nwebidl.converters['unsigned long long'] = function (V) {\n // 1. Let x be ? ConvertToInt(V, 64, \"unsigned\").\n const x = webidl.util.ConvertToInt(V, 64, 'unsigned')\n\n // 2. Return the IDL unsigned long long value that\n // represents the same numeric value as x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#es-unsigned-long\nwebidl.converters['unsigned long'] = function (V) {\n // 1. Let x be ? ConvertToInt(V, 32, \"unsigned\").\n const x = webidl.util.ConvertToInt(V, 32, 'unsigned')\n\n // 2. Return the IDL unsigned long value that\n // represents the same numeric value as x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#es-unsigned-short\nwebidl.converters['unsigned short'] = function (V, opts) {\n // 1. Let x be ? ConvertToInt(V, 16, \"unsigned\").\n const x = webidl.util.ConvertToInt(V, 16, 'unsigned', opts)\n\n // 2. Return the IDL unsigned short value that represents\n // the same numeric value as x.\n return x\n}\n\n// https://webidl.spec.whatwg.org/#idl-ArrayBuffer\nwebidl.converters.ArrayBuffer = function (V, opts = {}) {\n // 1. If Type(V) is not Object, or V does not have an\n // [[ArrayBufferData]] internal slot, then throw a\n // TypeError.\n // see: https://tc39.es/ecma262/#sec-properties-of-the-arraybuffer-instances\n // see: https://tc39.es/ecma262/#sec-properties-of-the-sharedarraybuffer-instances\n if (\n webidl.util.Type(V) !== 'Object' ||\n !types.isAnyArrayBuffer(V)\n ) {\n throw webidl.errors.conversionFailed({\n prefix: `${V}`,\n argument: `${V}`,\n types: ['ArrayBuffer']\n })\n }\n\n // 2. If the conversion is not to an IDL type associated\n // with the [AllowShared] extended attribute, and\n // IsSharedArrayBuffer(V) is true, then throw a\n // TypeError.\n if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {\n throw webidl.errors.exception({\n header: 'ArrayBuffer',\n message: 'SharedArrayBuffer is not allowed.'\n })\n }\n\n // 3. If the conversion is not to an IDL type associated\n // with the [AllowResizable] extended attribute, and\n // IsResizableArrayBuffer(V) is true, then throw a\n // TypeError.\n // Note: resizable ArrayBuffers are currently a proposal.\n\n // 4. Return the IDL ArrayBuffer value that is a\n // reference to the same object as V.\n return V\n}\n\nwebidl.converters.TypedArray = function (V, T, opts = {}) {\n // 1. Let T be the IDL type V is being converted to.\n\n // 2. If Type(V) is not Object, or V does not have a\n // [[TypedArrayName]] internal slot with a value\n // equal to T\u2019s name, then throw a TypeError.\n if (\n webidl.util.Type(V) !== 'Object' ||\n !types.isTypedArray(V) ||\n V.constructor.name !== T.name\n ) {\n throw webidl.errors.conversionFailed({\n prefix: `${T.name}`,\n argument: `${V}`,\n types: [T.name]\n })\n }\n\n // 3. If the conversion is not to an IDL type associated\n // with the [AllowShared] extended attribute, and\n // IsSharedArrayBuffer(V.[[ViewedArrayBuffer]]) is\n // true, then throw a TypeError.\n if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {\n throw webidl.errors.exception({\n header: 'ArrayBuffer',\n message: 'SharedArrayBuffer is not allowed.'\n })\n }\n\n // 4. If the conversion is not to an IDL type associated\n // with the [AllowResizable] extended attribute, and\n // IsResizableArrayBuffer(V.[[ViewedArrayBuffer]]) is\n // true, then throw a TypeError.\n // Note: resizable array buffers are currently a proposal\n\n // 5. Return the IDL value of type T that is a reference\n // to the same object as V.\n return V\n}\n\nwebidl.converters.DataView = function (V, opts = {}) {\n // 1. If Type(V) is not Object, or V does not have a\n // [[DataView]] internal slot, then throw a TypeError.\n if (webidl.util.Type(V) !== 'Object' || !types.isDataView(V)) {\n throw webidl.errors.exception({\n header: 'DataView',\n message: 'Object is not a DataView.'\n })\n }\n\n // 2. If the conversion is not to an IDL type associated\n // with the [AllowShared] extended attribute, and\n // IsSharedArrayBuffer(V.[[ViewedArrayBuffer]]) is true,\n // then throw a TypeError.\n if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {\n throw webidl.errors.exception({\n header: 'ArrayBuffer',\n message: 'SharedArrayBuffer is not allowed.'\n })\n }\n\n // 3. If the conversion is not to an IDL type associated\n // with the [AllowResizable] extended attribute, and\n // IsResizableArrayBuffer(V.[[ViewedArrayBuffer]]) is\n // true, then throw a TypeError.\n // Note: resizable ArrayBuffers are currently a proposal\n\n // 4. Return the IDL DataView value that is a reference\n // to the same object as V.\n return V\n}\n\n// https://webidl.spec.whatwg.org/#BufferSource\nwebidl.converters.BufferSource = function (V, opts = {}) {\n if (types.isAnyArrayBuffer(V)) {\n return webidl.converters.ArrayBuffer(V, opts)\n }\n\n if (types.isTypedArray(V)) {\n return webidl.converters.TypedArray(V, V.constructor)\n }\n\n if (types.isDataView(V)) {\n return webidl.converters.DataView(V, opts)\n }\n\n throw new TypeError(`Could not convert ${V} to a BufferSource.`)\n}\n\nwebidl.converters['sequence<ByteString>'] = webidl.sequenceConverter(\n webidl.converters.ByteString\n)\n\nwebidl.converters['sequence<sequence<ByteString>>'] = webidl.sequenceConverter(\n webidl.converters['sequence<ByteString>']\n)\n\nwebidl.converters['record<ByteString, ByteString>'] = webidl.recordConverter(\n webidl.converters.ByteString,\n webidl.converters.ByteString\n)\n\nmodule.exports = {\n webidl\n}\n", "const assert = require('assert')\nconst { atob } = require('buffer')\nconst { isomorphicDecode } = require('./util')\n\nconst encoder = new TextEncoder()\n\n/**\n * @see https://mimesniff.spec.whatwg.org/#http-token-code-point\n */\nconst HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/\nconst HTTP_WHITESPACE_REGEX = /(\\u000A|\\u000D|\\u0009|\\u0020)/ // eslint-disable-line\n/**\n * @see https://mimesniff.spec.whatwg.org/#http-quoted-string-token-code-point\n */\nconst HTTP_QUOTED_STRING_TOKENS = /[\\u0009|\\u0020-\\u007E|\\u0080-\\u00FF]/ // eslint-disable-line\n\n// https://fetch.spec.whatwg.org/#data-url-processor\n/** @param {URL} dataURL */\nfunction dataURLProcessor (dataURL) {\n // 1. Assert: dataURL\u2019s scheme is \"data\".\n assert(dataURL.protocol === 'data:')\n\n // 2. Let input be the result of running the URL\n // serializer on dataURL with exclude fragment\n // set to true.\n let input = URLSerializer(dataURL, true)\n\n // 3. Remove the leading \"data:\" string from input.\n input = input.slice(5)\n\n // 4. Let position point at the start of input.\n const position = { position: 0 }\n\n // 5. Let mimeType be the result of collecting a\n // sequence of code points that are not equal\n // to U+002C (,), given position.\n let mimeType = collectASequenceOfCodePointsFast(\n ',',\n input,\n position\n )\n\n // 6. Strip leading and trailing ASCII whitespace\n // from mimeType.\n // Undici implementation note: we need to store the\n // length because if the mimetype has spaces removed,\n // the wrong amount will be sliced from the input in\n // step #9\n const mimeTypeLength = mimeType.length\n mimeType = removeASCIIWhitespace(mimeType, true, true)\n\n // 7. If position is past the end of input, then\n // return failure\n if (position.position >= input.length) {\n return 'failure'\n }\n\n // 8. Advance position by 1.\n position.position++\n\n // 9. Let encodedBody be the remainder of input.\n const encodedBody = input.slice(mimeTypeLength + 1)\n\n // 10. Let body be the percent-decoding of encodedBody.\n let body = stringPercentDecode(encodedBody)\n\n // 11. If mimeType ends with U+003B (;), followed by\n // zero or more U+0020 SPACE, followed by an ASCII\n // case-insensitive match for \"base64\", then:\n if (/;(\\u0020){0,}base64$/i.test(mimeType)) {\n // 1. Let stringBody be the isomorphic decode of body.\n const stringBody = isomorphicDecode(body)\n\n // 2. Set body to the forgiving-base64 decode of\n // stringBody.\n body = forgivingBase64(stringBody)\n\n // 3. If body is failure, then return failure.\n if (body === 'failure') {\n return 'failure'\n }\n\n // 4. Remove the last 6 code points from mimeType.\n mimeType = mimeType.slice(0, -6)\n\n // 5. Remove trailing U+0020 SPACE code points from mimeType,\n // if any.\n mimeType = mimeType.replace(/(\\u0020)+$/, '')\n\n // 6. Remove the last U+003B (;) code point from mimeType.\n mimeType = mimeType.slice(0, -1)\n }\n\n // 12. If mimeType starts with U+003B (;), then prepend\n // \"text/plain\" to mimeType.\n if (mimeType.startsWith(';')) {\n mimeType = 'text/plain' + mimeType\n }\n\n // 13. Let mimeTypeRecord be the result of parsing\n // mimeType.\n let mimeTypeRecord = parseMIMEType(mimeType)\n\n // 14. If mimeTypeRecord is failure, then set\n // mimeTypeRecord to text/plain;charset=US-ASCII.\n if (mimeTypeRecord === 'failure') {\n mimeTypeRecord = parseMIMEType('text/plain;charset=US-ASCII')\n }\n\n // 15. Return a new data: URL struct whose MIME\n // type is mimeTypeRecord and body is body.\n // https://fetch.spec.whatwg.org/#data-url-struct\n return { mimeType: mimeTypeRecord, body }\n}\n\n// https://url.spec.whatwg.org/#concept-url-serializer\n/**\n * @param {URL} url\n * @param {boolean} excludeFragment\n */\nfunction URLSerializer (url, excludeFragment = false) {\n const href = url.href\n\n if (!excludeFragment) {\n return href\n }\n\n const hash = href.lastIndexOf('#')\n if (hash === -1) {\n return href\n }\n return href.slice(0, hash)\n}\n\n// https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points\n/**\n * @param {(char: string) => boolean} condition\n * @param {string} input\n * @param {{ position: number }} position\n */\nfunction collectASequenceOfCodePoints (condition, input, position) {\n // 1. Let result be the empty string.\n let result = ''\n\n // 2. While position doesn\u2019t point past the end of input and the\n // code point at position within input meets the condition condition:\n while (position.position < input.length && condition(input[position.position])) {\n // 1. Append that code point to the end of result.\n result += input[position.position]\n\n // 2. Advance position by 1.\n position.position++\n }\n\n // 3. Return result.\n return result\n}\n\n/**\n * A faster collectASequenceOfCodePoints that only works when comparing a single character.\n * @param {string} char\n * @param {string} input\n * @param {{ position: number }} position\n */\nfunction collectASequenceOfCodePointsFast (char, input, position) {\n const idx = input.indexOf(char, position.position)\n const start = position.position\n\n if (idx === -1) {\n position.position = input.length\n return input.slice(start)\n }\n\n position.position = idx\n return input.slice(start, position.position)\n}\n\n// https://url.spec.whatwg.org/#string-percent-decode\n/** @param {string} input */\nfunction stringPercentDecode (input) {\n // 1. Let bytes be the UTF-8 encoding of input.\n const bytes = encoder.encode(input)\n\n // 2. Return the percent-decoding of bytes.\n return percentDecode(bytes)\n}\n\n// https://url.spec.whatwg.org/#percent-decode\n/** @param {Uint8Array} input */\nfunction percentDecode (input) {\n // 1. Let output be an empty byte sequence.\n /** @type {number[]} */\n const output = []\n\n // 2. For each byte byte in input:\n for (let i = 0; i < input.length; i++) {\n const byte = input[i]\n\n // 1. If byte is not 0x25 (%), then append byte to output.\n if (byte !== 0x25) {\n output.push(byte)\n\n // 2. Otherwise, if byte is 0x25 (%) and the next two bytes\n // after byte in input are not in the ranges\n // 0x30 (0) to 0x39 (9), 0x41 (A) to 0x46 (F),\n // and 0x61 (a) to 0x66 (f), all inclusive, append byte\n // to output.\n } else if (\n byte === 0x25 &&\n !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))\n ) {\n output.push(0x25)\n\n // 3. Otherwise:\n } else {\n // 1. Let bytePoint be the two bytes after byte in input,\n // decoded, and then interpreted as hexadecimal number.\n const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2])\n const bytePoint = Number.parseInt(nextTwoBytes, 16)\n\n // 2. Append a byte whose value is bytePoint to output.\n output.push(bytePoint)\n\n // 3. Skip the next two bytes in input.\n i += 2\n }\n }\n\n // 3. Return output.\n return Uint8Array.from(output)\n}\n\n// https://mimesniff.spec.whatwg.org/#parse-a-mime-type\n/** @param {string} input */\nfunction parseMIMEType (input) {\n // 1. Remove any leading and trailing HTTP whitespace\n // from input.\n input = removeHTTPWhitespace(input, true, true)\n\n // 2. Let position be a position variable for input,\n // initially pointing at the start of input.\n const position = { position: 0 }\n\n // 3. Let type be the result of collecting a sequence\n // of code points that are not U+002F (/) from\n // input, given position.\n const type = collectASequenceOfCodePointsFast(\n '/',\n input,\n position\n )\n\n // 4. If type is the empty string or does not solely\n // contain HTTP token code points, then return failure.\n // https://mimesniff.spec.whatwg.org/#http-token-code-point\n if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) {\n return 'failure'\n }\n\n // 5. If position is past the end of input, then return\n // failure\n if (position.position > input.length) {\n return 'failure'\n }\n\n // 6. Advance position by 1. (This skips past U+002F (/).)\n position.position++\n\n // 7. Let subtype be the result of collecting a sequence of\n // code points that are not U+003B (;) from input, given\n // position.\n let subtype = collectASequenceOfCodePointsFast(\n ';',\n input,\n position\n )\n\n // 8. Remove any trailing HTTP whitespace from subtype.\n subtype = removeHTTPWhitespace(subtype, false, true)\n\n // 9. If subtype is the empty string or does not solely\n // contain HTTP token code points, then return failure.\n if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {\n return 'failure'\n }\n\n const typeLowercase = type.toLowerCase()\n const subtypeLowercase = subtype.toLowerCase()\n\n // 10. Let mimeType be a new MIME type record whose type\n // is type, in ASCII lowercase, and subtype is subtype,\n // in ASCII lowercase.\n // https://mimesniff.spec.whatwg.org/#mime-type\n const mimeType = {\n type: typeLowercase,\n subtype: subtypeLowercase,\n /** @type {Map<string, string>} */\n parameters: new Map(),\n // https://mimesniff.spec.whatwg.org/#mime-type-essence\n essence: `${typeLowercase}/${subtypeLowercase}`\n }\n\n // 11. While position is not past the end of input:\n while (position.position < input.length) {\n // 1. Advance position by 1. (This skips past U+003B (;).)\n position.position++\n\n // 2. Collect a sequence of code points that are HTTP\n // whitespace from input given position.\n collectASequenceOfCodePoints(\n // https://fetch.spec.whatwg.org/#http-whitespace\n char => HTTP_WHITESPACE_REGEX.test(char),\n input,\n position\n )\n\n // 3. Let parameterName be the result of collecting a\n // sequence of code points that are not U+003B (;)\n // or U+003D (=) from input, given position.\n let parameterName = collectASequenceOfCodePoints(\n (char) => char !== ';' && char !== '=',\n input,\n position\n )\n\n // 4. Set parameterName to parameterName, in ASCII\n // lowercase.\n parameterName = parameterName.toLowerCase()\n\n // 5. If position is not past the end of input, then:\n if (position.position < input.length) {\n // 1. If the code point at position within input is\n // U+003B (;), then continue.\n if (input[position.position] === ';') {\n continue\n }\n\n // 2. Advance position by 1. (This skips past U+003D (=).)\n position.position++\n }\n\n // 6. If position is past the end of input, then break.\n if (position.position > input.length) {\n break\n }\n\n // 7. Let parameterValue be null.\n let parameterValue = null\n\n // 8. If the code point at position within input is\n // U+0022 (\"), then:\n if (input[position.position] === '\"') {\n // 1. Set parameterValue to the result of collecting\n // an HTTP quoted string from input, given position\n // and the extract-value flag.\n parameterValue = collectAnHTTPQuotedString(input, position, true)\n\n // 2. Collect a sequence of code points that are not\n // U+003B (;) from input, given position.\n collectASequenceOfCodePointsFast(\n ';',\n input,\n position\n )\n\n // 9. Otherwise:\n } else {\n // 1. Set parameterValue to the result of collecting\n // a sequence of code points that are not U+003B (;)\n // from input, given position.\n parameterValue = collectASequenceOfCodePointsFast(\n ';',\n input,\n position\n )\n\n // 2. Remove any trailing HTTP whitespace from parameterValue.\n parameterValue = removeHTTPWhitespace(parameterValue, false, true)\n\n // 3. If parameterValue is the empty string, then continue.\n if (parameterValue.length === 0) {\n continue\n }\n }\n\n // 10. If all of the following are true\n // - parameterName is not the empty string\n // - parameterName solely contains HTTP token code points\n // - parameterValue solely contains HTTP quoted-string token code points\n // - mimeType\u2019s parameters[parameterName] does not exist\n // then set mimeType\u2019s parameters[parameterName] to parameterValue.\n if (\n parameterName.length !== 0 &&\n HTTP_TOKEN_CODEPOINTS.test(parameterName) &&\n (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) &&\n !mimeType.parameters.has(parameterName)\n ) {\n mimeType.parameters.set(parameterName, parameterValue)\n }\n }\n\n // 12. Return mimeType.\n return mimeType\n}\n\n// https://infra.spec.whatwg.org/#forgiving-base64-decode\n/** @param {string} data */\nfunction forgivingBase64 (data) {\n // 1. Remove all ASCII whitespace from data.\n data = data.replace(/[\\u0009\\u000A\\u000C\\u000D\\u0020]/g, '') // eslint-disable-line\n\n // 2. If data\u2019s code point length divides by 4 leaving\n // no remainder, then:\n if (data.length % 4 === 0) {\n // 1. If data ends with one or two U+003D (=) code points,\n // then remove them from data.\n data = data.replace(/=?=$/, '')\n }\n\n // 3. If data\u2019s code point length divides by 4 leaving\n // a remainder of 1, then return failure.\n if (data.length % 4 === 1) {\n return 'failure'\n }\n\n // 4. If data contains a code point that is not one of\n // U+002B (+)\n // U+002F (/)\n // ASCII alphanumeric\n // then return failure.\n if (/[^+/0-9A-Za-z]/.test(data)) {\n return 'failure'\n }\n\n const binary = atob(data)\n const bytes = new Uint8Array(binary.length)\n\n for (let byte = 0; byte < binary.length; byte++) {\n bytes[byte] = binary.charCodeAt(byte)\n }\n\n return bytes\n}\n\n// https://fetch.spec.whatwg.org/#collect-an-http-quoted-string\n// tests: https://fetch.spec.whatwg.org/#example-http-quoted-string\n/**\n * @param {string} input\n * @param {{ position: number }} position\n * @param {boolean?} extractValue\n */\nfunction collectAnHTTPQuotedString (input, position, extractValue) {\n // 1. Let positionStart be position.\n const positionStart = position.position\n\n // 2. Let value be the empty string.\n let value = ''\n\n // 3. Assert: the code point at position within input\n // is U+0022 (\").\n assert(input[position.position] === '\"')\n\n // 4. Advance position by 1.\n position.position++\n\n // 5. While true:\n while (true) {\n // 1. Append the result of collecting a sequence of code points\n // that are not U+0022 (\") or U+005C (\\) from input, given\n // position, to value.\n value += collectASequenceOfCodePoints(\n (char) => char !== '\"' && char !== '\\\\',\n input,\n position\n )\n\n // 2. If position is past the end of input, then break.\n if (position.position >= input.length) {\n break\n }\n\n // 3. Let quoteOrBackslash be the code point at position within\n // input.\n const quoteOrBackslash = input[position.position]\n\n // 4. Advance position by 1.\n position.position++\n\n // 5. If quoteOrBackslash is U+005C (\\), then:\n if (quoteOrBackslash === '\\\\') {\n // 1. If position is past the end of input, then append\n // U+005C (\\) to value and break.\n if (position.position >= input.length) {\n value += '\\\\'\n break\n }\n\n // 2. Append the code point at position within input to value.\n value += input[position.position]\n\n // 3. Advance position by 1.\n position.position++\n\n // 6. Otherwise:\n } else {\n // 1. Assert: quoteOrBackslash is U+0022 (\").\n assert(quoteOrBackslash === '\"')\n\n // 2. Break.\n break\n }\n }\n\n // 6. If the extract-value flag is set, then return value.\n if (extractValue) {\n return value\n }\n\n // 7. Return the code points from positionStart to position,\n // inclusive, within input.\n return input.slice(positionStart, position.position)\n}\n\n/**\n * @see https://mimesniff.spec.whatwg.org/#serialize-a-mime-type\n */\nfunction serializeAMimeType (mimeType) {\n assert(mimeType !== 'failure')\n const { parameters, essence } = mimeType\n\n // 1. Let serialization be the concatenation of mimeType\u2019s\n // type, U+002F (/), and mimeType\u2019s subtype.\n let serialization = essence\n\n // 2. For each name \u2192 value of mimeType\u2019s parameters:\n for (let [name, value] of parameters.entries()) {\n // 1. Append U+003B (;) to serialization.\n serialization += ';'\n\n // 2. Append name to serialization.\n serialization += name\n\n // 3. Append U+003D (=) to serialization.\n serialization += '='\n\n // 4. If value does not solely contain HTTP token code\n // points or value is the empty string, then:\n if (!HTTP_TOKEN_CODEPOINTS.test(value)) {\n // 1. Precede each occurence of U+0022 (\") or\n // U+005C (\\) in value with U+005C (\\).\n value = value.replace(/(\\\\|\")/g, '\\\\$1')\n\n // 2. Prepend U+0022 (\") to value.\n value = '\"' + value\n\n // 3. Append U+0022 (\") to value.\n value += '\"'\n }\n\n // 5. Append value to serialization.\n serialization += value\n }\n\n // 3. Return serialization.\n return serialization\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#http-whitespace\n * @param {string} char\n */\nfunction isHTTPWhiteSpace (char) {\n return char === '\\r' || char === '\\n' || char === '\\t' || char === ' '\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#http-whitespace\n * @param {string} str\n */\nfunction removeHTTPWhitespace (str, leading = true, trailing = true) {\n let lead = 0\n let trail = str.length - 1\n\n if (leading) {\n for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++);\n }\n\n if (trailing) {\n for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--);\n }\n\n return str.slice(lead, trail + 1)\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#ascii-whitespace\n * @param {string} char\n */\nfunction isASCIIWhitespace (char) {\n return char === '\\r' || char === '\\n' || char === '\\t' || char === '\\f' || char === ' '\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace\n */\nfunction removeASCIIWhitespace (str, leading = true, trailing = true) {\n let lead = 0\n let trail = str.length - 1\n\n if (leading) {\n for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++);\n }\n\n if (trailing) {\n for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--);\n }\n\n return str.slice(lead, trail + 1)\n}\n\nmodule.exports = {\n dataURLProcessor,\n URLSerializer,\n collectASequenceOfCodePoints,\n collectASequenceOfCodePointsFast,\n stringPercentDecode,\n parseMIMEType,\n collectAnHTTPQuotedString,\n serializeAMimeType\n}\n", "'use strict'\n\nconst { Blob, File: NativeFile } = require('buffer')\nconst { types } = require('util')\nconst { kState } = require('./symbols')\nconst { isBlobLike } = require('./util')\nconst { webidl } = require('./webidl')\nconst { parseMIMEType, serializeAMimeType } = require('./dataURL')\nconst { kEnumerableProperty } = require('../core/util')\n\nclass File extends Blob {\n constructor (fileBits, fileName, options = {}) {\n // The File constructor is invoked with two or three parameters, depending\n // on whether the optional dictionary parameter is used. When the File()\n // constructor is invoked, user agents must run the following steps:\n webidl.argumentLengthCheck(arguments, 2, { header: 'File constructor' })\n\n fileBits = webidl.converters['sequence<BlobPart>'](fileBits)\n fileName = webidl.converters.USVString(fileName)\n options = webidl.converters.FilePropertyBag(options)\n\n // 1. Let bytes be the result of processing blob parts given fileBits and\n // options.\n // Note: Blob handles this for us\n\n // 2. Let n be the fileName argument to the constructor.\n const n = fileName\n\n // 3. Process FilePropertyBag dictionary argument by running the following\n // substeps:\n\n // 1. If the type member is provided and is not the empty string, let t\n // be set to the type dictionary member. If t contains any characters\n // outside the range U+0020 to U+007E, then set t to the empty string\n // and return from these substeps.\n // 2. Convert every character in t to ASCII lowercase.\n let t = options.type\n let d\n\n // eslint-disable-next-line no-labels\n substep: {\n if (t) {\n t = parseMIMEType(t)\n\n if (t === 'failure') {\n t = ''\n // eslint-disable-next-line no-labels\n break substep\n }\n\n t = serializeAMimeType(t).toLowerCase()\n }\n\n // 3. If the lastModified member is provided, let d be set to the\n // lastModified dictionary member. If it is not provided, set d to the\n // current date and time represented as the number of milliseconds since\n // the Unix Epoch (which is the equivalent of Date.now() [ECMA-262]).\n d = options.lastModified\n }\n\n // 4. Return a new File object F such that:\n // F refers to the bytes byte sequence.\n // F.size is set to the number of total bytes in bytes.\n // F.name is set to n.\n // F.type is set to t.\n // F.lastModified is set to d.\n\n super(processBlobParts(fileBits, options), { type: t })\n this[kState] = {\n name: n,\n lastModified: d,\n type: t\n }\n }\n\n get name () {\n webidl.brandCheck(this, File)\n\n return this[kState].name\n }\n\n get lastModified () {\n webidl.brandCheck(this, File)\n\n return this[kState].lastModified\n }\n\n get type () {\n webidl.brandCheck(this, File)\n\n return this[kState].type\n }\n}\n\nclass FileLike {\n constructor (blobLike, fileName, options = {}) {\n // TODO: argument idl type check\n\n // The File constructor is invoked with two or three parameters, depending\n // on whether the optional dictionary parameter is used. When the File()\n // constructor is invoked, user agents must run the following steps:\n\n // 1. Let bytes be the result of processing blob parts given fileBits and\n // options.\n\n // 2. Let n be the fileName argument to the constructor.\n const n = fileName\n\n // 3. Process FilePropertyBag dictionary argument by running the following\n // substeps:\n\n // 1. If the type member is provided and is not the empty string, let t\n // be set to the type dictionary member. If t contains any characters\n // outside the range U+0020 to U+007E, then set t to the empty string\n // and return from these substeps.\n // TODO\n const t = options.type\n\n // 2. Convert every character in t to ASCII lowercase.\n // TODO\n\n // 3. If the lastModified member is provided, let d be set to the\n // lastModified dictionary member. If it is not provided, set d to the\n // current date and time represented as the number of milliseconds since\n // the Unix Epoch (which is the equivalent of Date.now() [ECMA-262]).\n const d = options.lastModified ?? Date.now()\n\n // 4. Return a new File object F such that:\n // F refers to the bytes byte sequence.\n // F.size is set to the number of total bytes in bytes.\n // F.name is set to n.\n // F.type is set to t.\n // F.lastModified is set to d.\n\n this[kState] = {\n blobLike,\n name: n,\n type: t,\n lastModified: d\n }\n }\n\n stream (...args) {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.stream(...args)\n }\n\n arrayBuffer (...args) {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.arrayBuffer(...args)\n }\n\n slice (...args) {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.slice(...args)\n }\n\n text (...args) {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.text(...args)\n }\n\n get size () {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.size\n }\n\n get type () {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].blobLike.type\n }\n\n get name () {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].name\n }\n\n get lastModified () {\n webidl.brandCheck(this, FileLike)\n\n return this[kState].lastModified\n }\n\n get [Symbol.toStringTag] () {\n return 'File'\n }\n}\n\nObject.defineProperties(File.prototype, {\n [Symbol.toStringTag]: {\n value: 'File',\n configurable: true\n },\n name: kEnumerableProperty,\n lastModified: kEnumerableProperty\n})\n\nwebidl.converters.Blob = webidl.interfaceConverter(Blob)\n\nwebidl.converters.BlobPart = function (V, opts) {\n if (webidl.util.Type(V) === 'Object') {\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, { strict: false })\n }\n\n if (\n ArrayBuffer.isView(V) ||\n types.isAnyArrayBuffer(V)\n ) {\n return webidl.converters.BufferSource(V, opts)\n }\n }\n\n return webidl.converters.USVString(V, opts)\n}\n\nwebidl.converters['sequence<BlobPart>'] = webidl.sequenceConverter(\n webidl.converters.BlobPart\n)\n\n// https://www.w3.org/TR/FileAPI/#dfn-FilePropertyBag\nwebidl.converters.FilePropertyBag = webidl.dictionaryConverter([\n {\n key: 'lastModified',\n converter: webidl.converters['long long'],\n get defaultValue () {\n return Date.now()\n }\n },\n {\n key: 'type',\n converter: webidl.converters.DOMString,\n defaultValue: ''\n },\n {\n key: 'endings',\n converter: (value) => {\n value = webidl.converters.DOMString(value)\n value = value.toLowerCase()\n\n if (value !== 'native') {\n value = 'transparent'\n }\n\n return value\n },\n defaultValue: 'transparent'\n }\n])\n\n/**\n * @see https://www.w3.org/TR/FileAPI/#process-blob-parts\n * @param {(NodeJS.TypedArray|Blob|string)[]} parts\n * @param {{ type: string, endings: string }} options\n */\nfunction processBlobParts (parts, options) {\n // 1. Let bytes be an empty sequence of bytes.\n /** @type {NodeJS.TypedArray[]} */\n const bytes = []\n\n // 2. For each element in parts:\n for (const element of parts) {\n // 1. If element is a USVString, run the following substeps:\n if (typeof element === 'string') {\n // 1. Let s be element.\n let s = element\n\n // 2. If the endings member of options is \"native\", set s\n // to the result of converting line endings to native\n // of element.\n if (options.endings === 'native') {\n s = convertLineEndingsNative(s)\n }\n\n // 3. Append the result of UTF-8 encoding s to bytes.\n bytes.push(new TextEncoder().encode(s))\n } else if (\n types.isAnyArrayBuffer(element) ||\n types.isTypedArray(element)\n ) {\n // 2. If element is a BufferSource, get a copy of the\n // bytes held by the buffer source, and append those\n // bytes to bytes.\n if (!element.buffer) { // ArrayBuffer\n bytes.push(new Uint8Array(element))\n } else {\n bytes.push(\n new Uint8Array(element.buffer, element.byteOffset, element.byteLength)\n )\n }\n } else if (isBlobLike(element)) {\n // 3. If element is a Blob, append the bytes it represents\n // to bytes.\n bytes.push(element)\n }\n }\n\n // 3. Return bytes.\n return bytes\n}\n\n/**\n * @see https://www.w3.org/TR/FileAPI/#convert-line-endings-to-native\n * @param {string} s\n */\nfunction convertLineEndingsNative (s) {\n // 1. Let native line ending be be the code point U+000A LF.\n let nativeLineEnding = '\\n'\n\n // 2. If the underlying platform\u2019s conventions are to\n // represent newlines as a carriage return and line feed\n // sequence, set native line ending to the code point\n // U+000D CR followed by the code point U+000A LF.\n if (process.platform === 'win32') {\n nativeLineEnding = '\\r\\n'\n }\n\n return s.replace(/\\r?\\n/g, nativeLineEnding)\n}\n\n// If this function is moved to ./util.js, some tools (such as\n// rollup) will warn about circular dependencies. See:\n// https://github.com/nodejs/undici/issues/1629\nfunction isFileLike (object) {\n return (\n (NativeFile && object instanceof NativeFile) ||\n object instanceof File || (\n object &&\n (typeof object.stream === 'function' ||\n typeof object.arrayBuffer === 'function') &&\n object[Symbol.toStringTag] === 'File'\n )\n )\n}\n\nmodule.exports = { File, FileLike, isFileLike }\n", "'use strict'\n\nconst { isBlobLike, toUSVString, makeIterator } = require('./util')\nconst { kState } = require('./symbols')\nconst { File: UndiciFile, FileLike, isFileLike } = require('./file')\nconst { webidl } = require('./webidl')\nconst { Blob, File: NativeFile } = require('buffer')\n\n/** @type {globalThis['File']} */\nconst File = NativeFile ?? UndiciFile\n\n// https://xhr.spec.whatwg.org/#formdata\nclass FormData {\n constructor (form) {\n if (form !== undefined) {\n throw webidl.errors.conversionFailed({\n prefix: 'FormData constructor',\n argument: 'Argument 1',\n types: ['undefined']\n })\n }\n\n this[kState] = []\n }\n\n append (name, value, filename = undefined) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 2, { header: 'FormData.append' })\n\n if (arguments.length === 3 && !isBlobLike(value)) {\n throw new TypeError(\n \"Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'\"\n )\n }\n\n // 1. Let value be value if given; otherwise blobValue.\n\n name = webidl.converters.USVString(name)\n value = isBlobLike(value)\n ? webidl.converters.Blob(value, { strict: false })\n : webidl.converters.USVString(value)\n filename = arguments.length === 3\n ? webidl.converters.USVString(filename)\n : undefined\n\n // 2. Let entry be the result of creating an entry with\n // name, value, and filename if given.\n const entry = makeEntry(name, value, filename)\n\n // 3. Append entry to this\u2019s entry list.\n this[kState].push(entry)\n }\n\n delete (name) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.delete' })\n\n name = webidl.converters.USVString(name)\n\n // The delete(name) method steps are to remove all entries whose name\n // is name from this\u2019s entry list.\n this[kState] = this[kState].filter(entry => entry.name !== name)\n }\n\n get (name) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.get' })\n\n name = webidl.converters.USVString(name)\n\n // 1. If there is no entry whose name is name in this\u2019s entry list,\n // then return null.\n const idx = this[kState].findIndex((entry) => entry.name === name)\n if (idx === -1) {\n return null\n }\n\n // 2. Return the value of the first entry whose name is name from\n // this\u2019s entry list.\n return this[kState][idx].value\n }\n\n getAll (name) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.getAll' })\n\n name = webidl.converters.USVString(name)\n\n // 1. If there is no entry whose name is name in this\u2019s entry list,\n // then return the empty list.\n // 2. Return the values of all entries whose name is name, in order,\n // from this\u2019s entry list.\n return this[kState]\n .filter((entry) => entry.name === name)\n .map((entry) => entry.value)\n }\n\n has (name) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.has' })\n\n name = webidl.converters.USVString(name)\n\n // The has(name) method steps are to return true if there is an entry\n // whose name is name in this\u2019s entry list; otherwise false.\n return this[kState].findIndex((entry) => entry.name === name) !== -1\n }\n\n set (name, value, filename = undefined) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 2, { header: 'FormData.set' })\n\n if (arguments.length === 3 && !isBlobLike(value)) {\n throw new TypeError(\n \"Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'\"\n )\n }\n\n // The set(name, value) and set(name, blobValue, filename) method steps\n // are:\n\n // 1. Let value be value if given; otherwise blobValue.\n\n name = webidl.converters.USVString(name)\n value = isBlobLike(value)\n ? webidl.converters.Blob(value, { strict: false })\n : webidl.converters.USVString(value)\n filename = arguments.length === 3\n ? toUSVString(filename)\n : undefined\n\n // 2. Let entry be the result of creating an entry with name, value, and\n // filename if given.\n const entry = makeEntry(name, value, filename)\n\n // 3. If there are entries in this\u2019s entry list whose name is name, then\n // replace the first such entry with entry and remove the others.\n const idx = this[kState].findIndex((entry) => entry.name === name)\n if (idx !== -1) {\n this[kState] = [\n ...this[kState].slice(0, idx),\n entry,\n ...this[kState].slice(idx + 1).filter((entry) => entry.name !== name)\n ]\n } else {\n // 4. Otherwise, append entry to this\u2019s entry list.\n this[kState].push(entry)\n }\n }\n\n entries () {\n webidl.brandCheck(this, FormData)\n\n return makeIterator(\n () => this[kState].map(pair => [pair.name, pair.value]),\n 'FormData',\n 'key+value'\n )\n }\n\n keys () {\n webidl.brandCheck(this, FormData)\n\n return makeIterator(\n () => this[kState].map(pair => [pair.name, pair.value]),\n 'FormData',\n 'key'\n )\n }\n\n values () {\n webidl.brandCheck(this, FormData)\n\n return makeIterator(\n () => this[kState].map(pair => [pair.name, pair.value]),\n 'FormData',\n 'value'\n )\n }\n\n /**\n * @param {(value: string, key: string, self: FormData) => void} callbackFn\n * @param {unknown} thisArg\n */\n forEach (callbackFn, thisArg = globalThis) {\n webidl.brandCheck(this, FormData)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.forEach' })\n\n if (typeof callbackFn !== 'function') {\n throw new TypeError(\n \"Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.\"\n )\n }\n\n for (const [key, value] of this) {\n callbackFn.apply(thisArg, [value, key, this])\n }\n }\n}\n\nFormData.prototype[Symbol.iterator] = FormData.prototype.entries\n\nObject.defineProperties(FormData.prototype, {\n [Symbol.toStringTag]: {\n value: 'FormData',\n configurable: true\n }\n})\n\n/**\n * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#create-an-entry\n * @param {string} name\n * @param {string|Blob} value\n * @param {?string} filename\n * @returns\n */\nfunction makeEntry (name, value, filename) {\n // 1. Set name to the result of converting name into a scalar value string.\n // \"To convert a string into a scalar value string, replace any surrogates\n // with U+FFFD.\"\n // see: https://nodejs.org/dist/latest-v18.x/docs/api/buffer.html#buftostringencoding-start-end\n name = Buffer.from(name).toString('utf8')\n\n // 2. If value is a string, then set value to the result of converting\n // value into a scalar value string.\n if (typeof value === 'string') {\n value = Buffer.from(value).toString('utf8')\n } else {\n // 3. Otherwise:\n\n // 1. If value is not a File object, then set value to a new File object,\n // representing the same bytes, whose name attribute value is \"blob\"\n if (!isFileLike(value)) {\n value = value instanceof Blob\n ? new File([value], 'blob', { type: value.type })\n : new FileLike(value, 'blob', { type: value.type })\n }\n\n // 2. If filename is given, then set value to a new File object,\n // representing the same bytes, whose name attribute is filename.\n if (filename !== undefined) {\n /** @type {FilePropertyBag} */\n const options = {\n type: value.type,\n lastModified: value.lastModified\n }\n\n value = (NativeFile && value instanceof NativeFile) || value instanceof UndiciFile\n ? new File([value], filename, options)\n : new FileLike(value, filename, options)\n }\n }\n\n // 4. Return an entry whose name is name and whose value is value.\n return { name, value }\n}\n\nmodule.exports = { FormData }\n", "'use strict'\n\nconst Busboy = require('busboy')\nconst util = require('../core/util')\nconst {\n ReadableStreamFrom,\n isBlobLike,\n isReadableStreamLike,\n readableStreamClose,\n createDeferredPromise,\n fullyReadBody\n} = require('./util')\nconst { FormData } = require('./formdata')\nconst { kState } = require('./symbols')\nconst { webidl } = require('./webidl')\nconst { DOMException, structuredClone } = require('./constants')\nconst { Blob, File: NativeFile } = require('buffer')\nconst { kBodyUsed } = require('../core/symbols')\nconst assert = require('assert')\nconst { isErrored } = require('../core/util')\nconst { isUint8Array, isArrayBuffer } = require('util/types')\nconst { File: UndiciFile } = require('./file')\nconst { parseMIMEType, serializeAMimeType } = require('./dataURL')\n\nlet ReadableStream = globalThis.ReadableStream\n\n/** @type {globalThis['File']} */\nconst File = NativeFile ?? UndiciFile\n\n// https://fetch.spec.whatwg.org/#concept-bodyinit-extract\nfunction extractBody (object, keepalive = false) {\n if (!ReadableStream) {\n ReadableStream = require('stream/web').ReadableStream\n }\n\n // 1. Let stream be null.\n let stream = null\n\n // 2. If object is a ReadableStream object, then set stream to object.\n if (object instanceof ReadableStream) {\n stream = object\n } else if (isBlobLike(object)) {\n // 3. Otherwise, if object is a Blob object, set stream to the\n // result of running object\u2019s get stream.\n stream = object.stream()\n } else {\n // 4. Otherwise, set stream to a new ReadableStream object, and set\n // up stream.\n stream = new ReadableStream({\n async pull (controller) {\n controller.enqueue(\n typeof source === 'string' ? new TextEncoder().encode(source) : source\n )\n queueMicrotask(() => readableStreamClose(controller))\n },\n start () {},\n type: undefined\n })\n }\n\n // 5. Assert: stream is a ReadableStream object.\n assert(isReadableStreamLike(stream))\n\n // 6. Let action be null.\n let action = null\n\n // 7. Let source be null.\n let source = null\n\n // 8. Let length be null.\n let length = null\n\n // 9. Let type be null.\n let type = null\n\n // 10. Switch on object:\n if (typeof object === 'string') {\n // Set source to the UTF-8 encoding of object.\n // Note: setting source to a Uint8Array here breaks some mocking assumptions.\n source = object\n\n // Set type to `text/plain;charset=UTF-8`.\n type = 'text/plain;charset=UTF-8'\n } else if (object instanceof URLSearchParams) {\n // URLSearchParams\n\n // spec says to run application/x-www-form-urlencoded on body.list\n // this is implemented in Node.js as apart of an URLSearchParams instance toString method\n // See: https://github.com/nodejs/node/blob/e46c680bf2b211bbd52cf959ca17ee98c7f657f5/lib/internal/url.js#L490\n // and https://github.com/nodejs/node/blob/e46c680bf2b211bbd52cf959ca17ee98c7f657f5/lib/internal/url.js#L1100\n\n // Set source to the result of running the application/x-www-form-urlencoded serializer with object\u2019s list.\n source = object.toString()\n\n // Set type to `application/x-www-form-urlencoded;charset=UTF-8`.\n type = 'application/x-www-form-urlencoded;charset=UTF-8'\n } else if (isArrayBuffer(object)) {\n // BufferSource/ArrayBuffer\n\n // Set source to a copy of the bytes held by object.\n source = new Uint8Array(object.slice())\n } else if (ArrayBuffer.isView(object)) {\n // BufferSource/ArrayBufferView\n\n // Set source to a copy of the bytes held by object.\n source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength))\n } else if (util.isFormDataLike(object)) {\n const boundary = `----formdata-undici-0${`${Math.floor(Math.random() * 1e11)}`.padStart(11, '0')}`\n const prefix = `--${boundary}\\r\\nContent-Disposition: form-data`\n\n /*! formdata-polyfill. MIT License. Jimmy W\u00E4rting <https://jimmy.warting.se/opensource> */\n const escape = (str) =>\n str.replace(/\\n/g, '%0A').replace(/\\r/g, '%0D').replace(/\"/g, '%22')\n const normalizeLinefeeds = (value) => value.replace(/\\r?\\n|\\r/g, '\\r\\n')\n\n // Set action to this step: run the multipart/form-data\n // encoding algorithm, with object\u2019s entry list and UTF-8.\n // - This ensures that the body is immutable and can't be changed afterwords\n // - That the content-length is calculated in advance.\n // - And that all parts are pre-encoded and ready to be sent.\n\n const enc = new TextEncoder()\n const blobParts = []\n const rn = new Uint8Array([13, 10]) // '\\r\\n'\n length = 0\n let hasUnknownSizeValue = false\n\n for (const [name, value] of object) {\n if (typeof value === 'string') {\n const chunk = enc.encode(prefix +\n `; name=\"${escape(normalizeLinefeeds(name))}\"` +\n `\\r\\n\\r\\n${normalizeLinefeeds(value)}\\r\\n`)\n blobParts.push(chunk)\n length += chunk.byteLength\n } else {\n const chunk = enc.encode(`${prefix}; name=\"${escape(normalizeLinefeeds(name))}\"` +\n (value.name ? `; filename=\"${escape(value.name)}\"` : '') + '\\r\\n' +\n `Content-Type: ${\n value.type || 'application/octet-stream'\n }\\r\\n\\r\\n`)\n blobParts.push(chunk, value, rn)\n if (typeof value.size === 'number') {\n length += chunk.byteLength + value.size + rn.byteLength\n } else {\n hasUnknownSizeValue = true\n }\n }\n }\n\n const chunk = enc.encode(`--${boundary}--`)\n blobParts.push(chunk)\n length += chunk.byteLength\n if (hasUnknownSizeValue) {\n length = null\n }\n\n // Set source to object.\n source = object\n\n action = async function * () {\n for (const part of blobParts) {\n if (part.stream) {\n yield * part.stream()\n } else {\n yield part\n }\n }\n }\n\n // Set type to `multipart/form-data; boundary=`,\n // followed by the multipart/form-data boundary string generated\n // by the multipart/form-data encoding algorithm.\n type = 'multipart/form-data; boundary=' + boundary\n } else if (isBlobLike(object)) {\n // Blob\n\n // Set source to object.\n source = object\n\n // Set length to object\u2019s size.\n length = object.size\n\n // If object\u2019s type attribute is not the empty byte sequence, set\n // type to its value.\n if (object.type) {\n type = object.type\n }\n } else if (typeof object[Symbol.asyncIterator] === 'function') {\n // If keepalive is true, then throw a TypeError.\n if (keepalive) {\n throw new TypeError('keepalive')\n }\n\n // If object is disturbed or locked, then throw a TypeError.\n if (util.isDisturbed(object) || object.locked) {\n throw new TypeError(\n 'Response body object should not be disturbed or locked'\n )\n }\n\n stream =\n object instanceof ReadableStream ? object : ReadableStreamFrom(object)\n }\n\n // 11. If source is a byte sequence, then set action to a\n // step that returns source and length to source\u2019s length.\n if (typeof source === 'string' || util.isBuffer(source)) {\n length = Buffer.byteLength(source)\n }\n\n // 12. If action is non-null, then run these steps in in parallel:\n if (action != null) {\n // Run action.\n let iterator\n stream = new ReadableStream({\n async start () {\n iterator = action(object)[Symbol.asyncIterator]()\n },\n async pull (controller) {\n const { value, done } = await iterator.next()\n if (done) {\n // When running action is done, close stream.\n queueMicrotask(() => {\n controller.close()\n })\n } else {\n // Whenever one or more bytes are available and stream is not errored,\n // enqueue a Uint8Array wrapping an ArrayBuffer containing the available\n // bytes into stream.\n if (!isErrored(stream)) {\n controller.enqueue(new Uint8Array(value))\n }\n }\n return controller.desiredSize > 0\n },\n async cancel (reason) {\n await iterator.return()\n },\n type: undefined\n })\n }\n\n // 13. Let body be a body whose stream is stream, source is source,\n // and length is length.\n const body = { stream, source, length }\n\n // 14. Return (body, type).\n return [body, type]\n}\n\n// https://fetch.spec.whatwg.org/#bodyinit-safely-extract\nfunction safelyExtractBody (object, keepalive = false) {\n if (!ReadableStream) {\n // istanbul ignore next\n ReadableStream = require('stream/web').ReadableStream\n }\n\n // To safely extract a body and a `Content-Type` value from\n // a byte sequence or BodyInit object object, run these steps:\n\n // 1. If object is a ReadableStream object, then:\n if (object instanceof ReadableStream) {\n // Assert: object is neither disturbed nor locked.\n // istanbul ignore next\n assert(!util.isDisturbed(object), 'The body has already been consumed.')\n // istanbul ignore next\n assert(!object.locked, 'The stream is locked.')\n }\n\n // 2. Return the results of extracting object.\n return extractBody(object, keepalive)\n}\n\nfunction cloneBody (body) {\n // To clone a body body, run these steps:\n\n // https://fetch.spec.whatwg.org/#concept-body-clone\n\n // 1. Let \u00AB out1, out2 \u00BB be the result of teeing body\u2019s stream.\n const [out1, out2] = body.stream.tee()\n const out2Clone = structuredClone(out2, { transfer: [out2] })\n // This, for whatever reasons, unrefs out2Clone which allows\n // the process to exit by itself.\n const [, finalClone] = out2Clone.tee()\n\n // 2. Set body\u2019s stream to out1.\n body.stream = out1\n\n // 3. Return a body whose stream is out2 and other members are copied from body.\n return {\n stream: finalClone,\n length: body.length,\n source: body.source\n }\n}\n\nasync function * consumeBody (body) {\n if (body) {\n if (isUint8Array(body)) {\n yield body\n } else {\n const stream = body.stream\n\n if (util.isDisturbed(stream)) {\n throw new TypeError('The body has already been consumed.')\n }\n\n if (stream.locked) {\n throw new TypeError('The stream is locked.')\n }\n\n // Compat.\n stream[kBodyUsed] = true\n\n yield * stream\n }\n }\n}\n\nfunction throwIfAborted (state) {\n if (state.aborted) {\n throw new DOMException('The operation was aborted.', 'AbortError')\n }\n}\n\nfunction bodyMixinMethods (instance) {\n const methods = {\n blob () {\n // The blob() method steps are to return the result of\n // running consume body with this and the following step\n // given a byte sequence bytes: return a Blob whose\n // contents are bytes and whose type attribute is this\u2019s\n // MIME type.\n return specConsumeBody(this, (bytes) => {\n let mimeType = bodyMimeType(this)\n\n if (mimeType === 'failure') {\n mimeType = ''\n } else if (mimeType) {\n mimeType = serializeAMimeType(mimeType)\n }\n\n // Return a Blob whose contents are bytes and type attribute\n // is mimeType.\n return new Blob([bytes], { type: mimeType })\n }, instance)\n },\n\n arrayBuffer () {\n // The arrayBuffer() method steps are to return the result\n // of running consume body with this and the following step\n // given a byte sequence bytes: return a new ArrayBuffer\n // whose contents are bytes.\n return specConsumeBody(this, (bytes) => {\n return new Uint8Array(bytes).buffer\n }, instance)\n },\n\n text () {\n // The text() method steps are to return the result of running\n // consume body with this and UTF-8 decode.\n return specConsumeBody(this, utf8DecodeBytes, instance)\n },\n\n json () {\n // The json() method steps are to return the result of running\n // consume body with this and parse JSON from bytes.\n return specConsumeBody(this, parseJSONFromBytes, instance)\n },\n\n async formData () {\n webidl.brandCheck(this, instance)\n\n throwIfAborted(this[kState])\n\n const contentType = this.headers.get('Content-Type')\n\n // If mimeType\u2019s essence is \"multipart/form-data\", then:\n if (/multipart\\/form-data/.test(contentType)) {\n const headers = {}\n for (const [key, value] of this.headers) headers[key.toLowerCase()] = value\n\n const responseFormData = new FormData()\n\n let busboy\n\n try {\n busboy = Busboy({\n headers,\n defParamCharset: 'utf8'\n })\n } catch (err) {\n throw new DOMException(`${err}`, 'AbortError')\n }\n\n busboy.on('field', (name, value) => {\n responseFormData.append(name, value)\n })\n busboy.on('file', (name, value, info) => {\n const { filename, encoding, mimeType } = info\n const chunks = []\n\n if (encoding === 'base64' || encoding.toLowerCase() === 'base64') {\n let base64chunk = ''\n\n value.on('data', (chunk) => {\n base64chunk += chunk.toString().replace(/[\\r\\n]/gm, '')\n\n const end = base64chunk.length - base64chunk.length % 4\n chunks.push(Buffer.from(base64chunk.slice(0, end), 'base64'))\n\n base64chunk = base64chunk.slice(end)\n })\n value.on('end', () => {\n chunks.push(Buffer.from(base64chunk, 'base64'))\n responseFormData.append(name, new File(chunks, filename, { type: mimeType }))\n })\n } else {\n value.on('data', (chunk) => {\n chunks.push(chunk)\n })\n value.on('end', () => {\n responseFormData.append(name, new File(chunks, filename, { type: mimeType }))\n })\n }\n })\n\n const busboyResolve = new Promise((resolve, reject) => {\n busboy.on('finish', resolve)\n busboy.on('error', (err) => reject(new TypeError(err)))\n })\n\n if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk)\n busboy.end()\n await busboyResolve\n\n return responseFormData\n } else if (/application\\/x-www-form-urlencoded/.test(contentType)) {\n // Otherwise, if mimeType\u2019s essence is \"application/x-www-form-urlencoded\", then:\n\n // 1. Let entries be the result of parsing bytes.\n let entries\n try {\n let text = ''\n // application/x-www-form-urlencoded parser will keep the BOM.\n // https://url.spec.whatwg.org/#concept-urlencoded-parser\n const textDecoder = new TextDecoder('utf-8', { ignoreBOM: true })\n for await (const chunk of consumeBody(this[kState].body)) {\n if (!isUint8Array(chunk)) {\n throw new TypeError('Expected Uint8Array chunk')\n }\n text += textDecoder.decode(chunk, { stream: true })\n }\n text += textDecoder.decode()\n entries = new URLSearchParams(text)\n } catch (err) {\n // istanbul ignore next: Unclear when new URLSearchParams can fail on a string.\n // 2. If entries is failure, then throw a TypeError.\n throw Object.assign(new TypeError(), { cause: err })\n }\n\n // 3. Return a new FormData object whose entries are entries.\n const formData = new FormData()\n for (const [name, value] of entries) {\n formData.append(name, value)\n }\n return formData\n } else {\n // Wait a tick before checking if the request has been aborted.\n // Otherwise, a TypeError can be thrown when an AbortError should.\n await Promise.resolve()\n\n throwIfAborted(this[kState])\n\n // Otherwise, throw a TypeError.\n throw webidl.errors.exception({\n header: `${instance.name}.formData`,\n message: 'Could not parse content as FormData.'\n })\n }\n }\n }\n\n return methods\n}\n\nfunction mixinBody (prototype) {\n Object.assign(prototype.prototype, bodyMixinMethods(prototype))\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#concept-body-consume-body\n * @param {Response|Request} object\n * @param {(value: unknown) => unknown} convertBytesToJSValue\n * @param {Response|Request} instance\n */\nasync function specConsumeBody (object, convertBytesToJSValue, instance) {\n webidl.brandCheck(object, instance)\n\n throwIfAborted(object[kState])\n\n // 1. If object is unusable, then return a promise rejected\n // with a TypeError.\n if (bodyUnusable(object[kState].body)) {\n throw new TypeError('Body is unusable')\n }\n\n // 2. Let promise be a new promise.\n const promise = createDeferredPromise()\n\n // 3. Let errorSteps given error be to reject promise with error.\n const errorSteps = (error) => promise.reject(error)\n\n // 4. Let successSteps given a byte sequence data be to resolve\n // promise with the result of running convertBytesToJSValue\n // with data. If that threw an exception, then run errorSteps\n // with that exception.\n const successSteps = (data) => {\n try {\n promise.resolve(convertBytesToJSValue(data))\n } catch (e) {\n errorSteps(e)\n }\n }\n\n // 5. If object\u2019s body is null, then run successSteps with an\n // empty byte sequence.\n if (object[kState].body == null) {\n successSteps(new Uint8Array())\n return promise.promise\n }\n\n // 6. Otherwise, fully read object\u2019s body given successSteps,\n // errorSteps, and object\u2019s relevant global object.\n fullyReadBody(object[kState].body, successSteps, errorSteps)\n\n // 7. Return promise.\n return promise.promise\n}\n\n// https://fetch.spec.whatwg.org/#body-unusable\nfunction bodyUnusable (body) {\n // An object including the Body interface mixin is\n // said to be unusable if its body is non-null and\n // its body\u2019s stream is disturbed or locked.\n return body != null && (body.stream.locked || util.isDisturbed(body.stream))\n}\n\n/**\n * @see https://encoding.spec.whatwg.org/#utf-8-decode\n * @param {Buffer} buffer\n */\nfunction utf8DecodeBytes (buffer) {\n if (buffer.length === 0) {\n return ''\n }\n\n // 1. Let buffer be the result of peeking three bytes from\n // ioQueue, converted to a byte sequence.\n\n // 2. If buffer is 0xEF 0xBB 0xBF, then read three\n // bytes from ioQueue. (Do nothing with those bytes.)\n if (buffer[0] === 0xEF && buffer[1] === 0xBB && buffer[2] === 0xBF) {\n buffer = buffer.subarray(3)\n }\n\n // 3. Process a queue with an instance of UTF-8\u2019s\n // decoder, ioQueue, output, and \"replacement\".\n const output = new TextDecoder().decode(buffer)\n\n // 4. Return output.\n return output\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#parse-json-bytes-to-a-javascript-value\n * @param {Uint8Array} bytes\n */\nfunction parseJSONFromBytes (bytes) {\n return JSON.parse(utf8DecodeBytes(bytes))\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#concept-body-mime-type\n * @param {import('./response').Response|import('./request').Request} object\n */\nfunction bodyMimeType (object) {\n const { headersList } = object[kState]\n const contentType = headersList.get('content-type')\n\n if (contentType === null) {\n return 'failure'\n }\n\n return parseMIMEType(contentType)\n}\n\nmodule.exports = {\n extractBody,\n safelyExtractBody,\n cloneBody,\n mixinBody\n}\n", "'use strict'\n\nconst {\n InvalidArgumentError,\n NotSupportedError\n} = require('./errors')\nconst assert = require('assert')\nconst util = require('./util')\n\n// tokenRegExp and headerCharRegex have been lifted from\n// https://github.com/nodejs/node/blob/main/lib/_http_common.js\n\n/**\n * Verifies that the given val is a valid HTTP token\n * per the rules defined in RFC 7230\n * See https://tools.ietf.org/html/rfc7230#section-3.2.6\n */\nconst tokenRegExp = /^[\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]+$/\n\n/**\n * Matches if val contains an invalid field-vchar\n * field-value = *( field-content / obs-fold )\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n */\nconst headerCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/\n\n// Verifies that a given path is valid does not contain control chars \\x00 to \\x20\nconst invalidPathRegex = /[^\\u0021-\\u00ff]/\n\nconst kHandler = Symbol('handler')\n\nconst channels = {}\n\nlet extractBody\n\ntry {\n const diagnosticsChannel = require('diagnostics_channel')\n channels.create = diagnosticsChannel.channel('undici:request:create')\n channels.bodySent = diagnosticsChannel.channel('undici:request:bodySent')\n channels.headers = diagnosticsChannel.channel('undici:request:headers')\n channels.trailers = diagnosticsChannel.channel('undici:request:trailers')\n channels.error = diagnosticsChannel.channel('undici:request:error')\n} catch {\n channels.create = { hasSubscribers: false }\n channels.bodySent = { hasSubscribers: false }\n channels.headers = { hasSubscribers: false }\n channels.trailers = { hasSubscribers: false }\n channels.error = { hasSubscribers: false }\n}\n\nclass Request {\n constructor (origin, {\n path,\n method,\n body,\n headers,\n query,\n idempotent,\n blocking,\n upgrade,\n headersTimeout,\n bodyTimeout,\n reset,\n throwOnError\n }, handler) {\n if (typeof path !== 'string') {\n throw new InvalidArgumentError('path must be a string')\n } else if (\n path[0] !== '/' &&\n !(path.startsWith('http://') || path.startsWith('https://')) &&\n method !== 'CONNECT'\n ) {\n throw new InvalidArgumentError('path must be an absolute URL or start with a slash')\n } else if (invalidPathRegex.exec(path) !== null) {\n throw new InvalidArgumentError('invalid request path')\n }\n\n if (typeof method !== 'string') {\n throw new InvalidArgumentError('method must be a string')\n } else if (tokenRegExp.exec(method) === null) {\n throw new InvalidArgumentError('invalid request method')\n }\n\n if (upgrade && typeof upgrade !== 'string') {\n throw new InvalidArgumentError('upgrade must be a string')\n }\n\n if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {\n throw new InvalidArgumentError('invalid headersTimeout')\n }\n\n if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {\n throw new InvalidArgumentError('invalid bodyTimeout')\n }\n\n if (reset != null && typeof reset !== 'boolean') {\n throw new InvalidArgumentError('invalid reset')\n }\n\n this.headersTimeout = headersTimeout\n\n this.bodyTimeout = bodyTimeout\n\n this.throwOnError = throwOnError === true\n\n this.method = method\n\n if (body == null) {\n this.body = null\n } else if (util.isStream(body)) {\n this.body = body\n } else if (util.isBuffer(body)) {\n this.body = body.byteLength ? body : null\n } else if (ArrayBuffer.isView(body)) {\n this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null\n } else if (body instanceof ArrayBuffer) {\n this.body = body.byteLength ? Buffer.from(body) : null\n } else if (typeof body === 'string') {\n this.body = body.length ? Buffer.from(body) : null\n } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {\n this.body = body\n } else {\n throw new InvalidArgumentError('body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable')\n }\n\n this.completed = false\n\n this.aborted = false\n\n this.upgrade = upgrade || null\n\n this.path = query ? util.buildURL(path, query) : path\n\n this.origin = origin\n\n this.idempotent = idempotent == null\n ? method === 'HEAD' || method === 'GET'\n : idempotent\n\n this.blocking = blocking == null ? false : blocking\n\n this.reset = reset == null ? null : reset\n\n this.host = null\n\n this.contentLength = null\n\n this.contentType = null\n\n this.headers = ''\n\n if (Array.isArray(headers)) {\n if (headers.length % 2 !== 0) {\n throw new InvalidArgumentError('headers array must be even')\n }\n for (let i = 0; i < headers.length; i += 2) {\n processHeader(this, headers[i], headers[i + 1])\n }\n } else if (headers && typeof headers === 'object') {\n const keys = Object.keys(headers)\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n processHeader(this, key, headers[key])\n }\n } else if (headers != null) {\n throw new InvalidArgumentError('headers must be an object or an array')\n }\n\n if (util.isFormDataLike(this.body)) {\n if (util.nodeMajor < 16 || (util.nodeMajor === 16 && util.nodeMinor < 8)) {\n throw new InvalidArgumentError('Form-Data bodies are only supported in node v16.8 and newer.')\n }\n\n if (!extractBody) {\n extractBody = require('../fetch/body.js').extractBody\n }\n\n const [bodyStream, contentType] = extractBody(body)\n if (this.contentType == null) {\n this.contentType = contentType\n this.headers += `content-type: ${contentType}\\r\\n`\n }\n this.body = bodyStream.stream\n this.contentLength = bodyStream.length\n } else if (util.isBlobLike(body) && this.contentType == null && body.type) {\n this.contentType = body.type\n this.headers += `content-type: ${body.type}\\r\\n`\n }\n\n util.validateHandler(handler, method, upgrade)\n\n this.servername = util.getServerName(this.host)\n\n this[kHandler] = handler\n\n if (channels.create.hasSubscribers) {\n channels.create.publish({ request: this })\n }\n }\n\n onBodySent (chunk) {\n if (this[kHandler].onBodySent) {\n try {\n this[kHandler].onBodySent(chunk)\n } catch (err) {\n this.onError(err)\n }\n }\n }\n\n onRequestSent () {\n if (channels.bodySent.hasSubscribers) {\n channels.bodySent.publish({ request: this })\n }\n }\n\n onConnect (abort) {\n assert(!this.aborted)\n assert(!this.completed)\n\n return this[kHandler].onConnect(abort)\n }\n\n onHeaders (statusCode, headers, resume, statusText) {\n assert(!this.aborted)\n assert(!this.completed)\n\n if (channels.headers.hasSubscribers) {\n channels.headers.publish({ request: this, response: { statusCode, headers, statusText } })\n }\n\n return this[kHandler].onHeaders(statusCode, headers, resume, statusText)\n }\n\n onData (chunk) {\n assert(!this.aborted)\n assert(!this.completed)\n\n return this[kHandler].onData(chunk)\n }\n\n onUpgrade (statusCode, headers, socket) {\n assert(!this.aborted)\n assert(!this.completed)\n\n return this[kHandler].onUpgrade(statusCode, headers, socket)\n }\n\n onComplete (trailers) {\n assert(!this.aborted)\n\n this.completed = true\n if (channels.trailers.hasSubscribers) {\n channels.trailers.publish({ request: this, trailers })\n }\n return this[kHandler].onComplete(trailers)\n }\n\n onError (error) {\n if (channels.error.hasSubscribers) {\n channels.error.publish({ request: this, error })\n }\n\n if (this.aborted) {\n return\n }\n this.aborted = true\n return this[kHandler].onError(error)\n }\n\n addHeader (key, value) {\n processHeader(this, key, value)\n return this\n }\n}\n\nfunction processHeaderValue (key, val) {\n if (val && typeof val === 'object') {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n\n val = val != null ? `${val}` : ''\n\n if (headerCharRegex.exec(val) !== null) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n\n return `${key}: ${val}\\r\\n`\n}\n\nfunction processHeader (request, key, val) {\n if (val && (typeof val === 'object' && !Array.isArray(val))) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n } else if (val === undefined) {\n return\n }\n\n if (\n request.host === null &&\n key.length === 4 &&\n key.toLowerCase() === 'host'\n ) {\n if (headerCharRegex.exec(val) !== null) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n // Consumed by Client\n request.host = val\n } else if (\n request.contentLength === null &&\n key.length === 14 &&\n key.toLowerCase() === 'content-length'\n ) {\n request.contentLength = parseInt(val, 10)\n if (!Number.isFinite(request.contentLength)) {\n throw new InvalidArgumentError('invalid content-length header')\n }\n } else if (\n request.contentType === null &&\n key.length === 12 &&\n key.toLowerCase() === 'content-type'\n ) {\n request.contentType = val\n request.headers += processHeaderValue(key, val)\n } else if (\n key.length === 17 &&\n key.toLowerCase() === 'transfer-encoding'\n ) {\n throw new InvalidArgumentError('invalid transfer-encoding header')\n } else if (\n key.length === 10 &&\n key.toLowerCase() === 'connection'\n ) {\n const value = typeof val === 'string' ? val.toLowerCase() : null\n if (value !== 'close' && value !== 'keep-alive') {\n throw new InvalidArgumentError('invalid connection header')\n } else if (value === 'close') {\n request.reset = true\n }\n } else if (\n key.length === 10 &&\n key.toLowerCase() === 'keep-alive'\n ) {\n throw new InvalidArgumentError('invalid keep-alive header')\n } else if (\n key.length === 7 &&\n key.toLowerCase() === 'upgrade'\n ) {\n throw new InvalidArgumentError('invalid upgrade header')\n } else if (\n key.length === 6 &&\n key.toLowerCase() === 'expect'\n ) {\n throw new NotSupportedError('expect header not supported')\n } else if (tokenRegExp.exec(key) === null) {\n throw new InvalidArgumentError('invalid header key')\n } else {\n if (Array.isArray(val)) {\n for (let i = 0; i < val.length; i++) {\n request.headers += processHeaderValue(key, val[i])\n }\n } else {\n request.headers += processHeaderValue(key, val)\n }\n }\n}\n\nmodule.exports = Request\n", "'use strict'\n\nconst EventEmitter = require('events')\n\nclass Dispatcher extends EventEmitter {\n dispatch () {\n throw new Error('not implemented')\n }\n\n close () {\n throw new Error('not implemented')\n }\n\n destroy () {\n throw new Error('not implemented')\n }\n}\n\nmodule.exports = Dispatcher\n", "'use strict'\n\nconst Dispatcher = require('./dispatcher')\nconst {\n ClientDestroyedError,\n ClientClosedError,\n InvalidArgumentError\n} = require('./core/errors')\nconst { kDestroy, kClose, kDispatch, kInterceptors } = require('./core/symbols')\n\nconst kDestroyed = Symbol('destroyed')\nconst kClosed = Symbol('closed')\nconst kOnDestroyed = Symbol('onDestroyed')\nconst kOnClosed = Symbol('onClosed')\nconst kInterceptedDispatch = Symbol('Intercepted Dispatch')\n\nclass DispatcherBase extends Dispatcher {\n constructor () {\n super()\n\n this[kDestroyed] = false\n this[kOnDestroyed] = null\n this[kClosed] = false\n this[kOnClosed] = []\n }\n\n get destroyed () {\n return this[kDestroyed]\n }\n\n get closed () {\n return this[kClosed]\n }\n\n get interceptors () {\n return this[kInterceptors]\n }\n\n set interceptors (newInterceptors) {\n if (newInterceptors) {\n for (let i = newInterceptors.length - 1; i >= 0; i--) {\n const interceptor = this[kInterceptors][i]\n if (typeof interceptor !== 'function') {\n throw new InvalidArgumentError('interceptor must be an function')\n }\n }\n }\n\n this[kInterceptors] = newInterceptors\n }\n\n close (callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n this.close((err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n if (this[kDestroyed]) {\n queueMicrotask(() => callback(new ClientDestroyedError(), null))\n return\n }\n\n if (this[kClosed]) {\n if (this[kOnClosed]) {\n this[kOnClosed].push(callback)\n } else {\n queueMicrotask(() => callback(null, null))\n }\n return\n }\n\n this[kClosed] = true\n this[kOnClosed].push(callback)\n\n const onClosed = () => {\n const callbacks = this[kOnClosed]\n this[kOnClosed] = null\n for (let i = 0; i < callbacks.length; i++) {\n callbacks[i](null, null)\n }\n }\n\n // Should not error.\n this[kClose]()\n .then(() => this.destroy())\n .then(() => {\n queueMicrotask(onClosed)\n })\n }\n\n destroy (err, callback) {\n if (typeof err === 'function') {\n callback = err\n err = null\n }\n\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n this.destroy(err, (err, data) => {\n return err ? /* istanbul ignore next: should never error */ reject(err) : resolve(data)\n })\n })\n }\n\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n if (this[kDestroyed]) {\n if (this[kOnDestroyed]) {\n this[kOnDestroyed].push(callback)\n } else {\n queueMicrotask(() => callback(null, null))\n }\n return\n }\n\n if (!err) {\n err = new ClientDestroyedError()\n }\n\n this[kDestroyed] = true\n this[kOnDestroyed] = this[kOnDestroyed] || []\n this[kOnDestroyed].push(callback)\n\n const onDestroyed = () => {\n const callbacks = this[kOnDestroyed]\n this[kOnDestroyed] = null\n for (let i = 0; i < callbacks.length; i++) {\n callbacks[i](null, null)\n }\n }\n\n // Should not error.\n this[kDestroy](err).then(() => {\n queueMicrotask(onDestroyed)\n })\n }\n\n [kInterceptedDispatch] (opts, handler) {\n if (!this[kInterceptors] || this[kInterceptors].length === 0) {\n this[kInterceptedDispatch] = this[kDispatch]\n return this[kDispatch](opts, handler)\n }\n\n let dispatch = this[kDispatch].bind(this)\n for (let i = this[kInterceptors].length - 1; i >= 0; i--) {\n dispatch = this[kInterceptors][i](dispatch)\n }\n this[kInterceptedDispatch] = dispatch\n return dispatch(opts, handler)\n }\n\n dispatch (opts, handler) {\n if (!handler || typeof handler !== 'object') {\n throw new InvalidArgumentError('handler must be an object')\n }\n\n try {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('opts must be an object.')\n }\n\n if (this[kDestroyed] || this[kOnDestroyed]) {\n throw new ClientDestroyedError()\n }\n\n if (this[kClosed]) {\n throw new ClientClosedError()\n }\n\n return this[kInterceptedDispatch](opts, handler)\n } catch (err) {\n if (typeof handler.onError !== 'function') {\n throw new InvalidArgumentError('invalid onError method')\n }\n\n handler.onError(err)\n\n return false\n }\n }\n}\n\nmodule.exports = DispatcherBase\n", "'use strict'\n\nconst net = require('net')\nconst assert = require('assert')\nconst util = require('./util')\nconst { InvalidArgumentError, ConnectTimeoutError } = require('./errors')\n\nlet tls // include tls conditionally since it is not always available\n\n// TODO: session re-use does not wait for the first\n// connection to resolve the session and might therefore\n// resolve the same servername multiple times even when\n// re-use is enabled.\n\nlet SessionCache\nif (global.FinalizationRegistry) {\n SessionCache = class WeakSessionCache {\n constructor (maxCachedSessions) {\n this._maxCachedSessions = maxCachedSessions\n this._sessionCache = new Map()\n this._sessionRegistry = new global.FinalizationRegistry((key) => {\n if (this._sessionCache.size < this._maxCachedSessions) {\n return\n }\n\n const ref = this._sessionCache.get(key)\n if (ref !== undefined && ref.deref() === undefined) {\n this._sessionCache.delete(key)\n }\n })\n }\n\n get (sessionKey) {\n const ref = this._sessionCache.get(sessionKey)\n return ref ? ref.deref() : null\n }\n\n set (sessionKey, session) {\n if (this._maxCachedSessions === 0) {\n return\n }\n\n this._sessionCache.set(sessionKey, new WeakRef(session))\n this._sessionRegistry.register(session, sessionKey)\n }\n }\n} else {\n SessionCache = class SimpleSessionCache {\n constructor (maxCachedSessions) {\n this._maxCachedSessions = maxCachedSessions\n this._sessionCache = new Map()\n }\n\n get (sessionKey) {\n return this._sessionCache.get(sessionKey)\n }\n\n set (sessionKey, session) {\n if (this._maxCachedSessions === 0) {\n return\n }\n\n if (this._sessionCache.size >= this._maxCachedSessions) {\n // remove the oldest session\n const { value: oldestKey } = this._sessionCache.keys().next()\n this._sessionCache.delete(oldestKey)\n }\n\n this._sessionCache.set(sessionKey, session)\n }\n }\n}\n\nfunction buildConnector ({ maxCachedSessions, socketPath, timeout, ...opts }) {\n if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {\n throw new InvalidArgumentError('maxCachedSessions must be a positive integer or zero')\n }\n\n const options = { path: socketPath, ...opts }\n const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions)\n timeout = timeout == null ? 10e3 : timeout\n\n return function connect ({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {\n let socket\n if (protocol === 'https:') {\n if (!tls) {\n tls = require('tls')\n }\n servername = servername || options.servername || util.getServerName(host) || null\n\n const sessionKey = servername || hostname\n const session = sessionCache.get(sessionKey) || null\n\n assert(sessionKey)\n\n socket = tls.connect({\n highWaterMark: 16384, // TLS in node can't have bigger HWM anyway...\n ...options,\n servername,\n session,\n localAddress,\n socket: httpSocket, // upgrade socket connection\n port: port || 443,\n host: hostname\n })\n\n socket\n .on('session', function (session) {\n // TODO (fix): Can a session become invalid once established? Don't think so?\n sessionCache.set(sessionKey, session)\n })\n } else {\n assert(!httpSocket, 'httpSocket can only be sent on TLS update')\n socket = net.connect({\n highWaterMark: 64 * 1024, // Same as nodejs fs streams.\n ...options,\n localAddress,\n port: port || 80,\n host: hostname\n })\n }\n\n // Set TCP keep alive options on the socket here instead of in connect() for the case of assigning the socket\n if (options.keepAlive == null || options.keepAlive) {\n const keepAliveInitialDelay = options.keepAliveInitialDelay === undefined ? 60e3 : options.keepAliveInitialDelay\n socket.setKeepAlive(true, keepAliveInitialDelay)\n }\n\n const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout)\n\n socket\n .setNoDelay(true)\n .once(protocol === 'https:' ? 'secureConnect' : 'connect', function () {\n cancelTimeout()\n\n if (callback) {\n const cb = callback\n callback = null\n cb(null, this)\n }\n })\n .on('error', function (err) {\n cancelTimeout()\n\n if (callback) {\n const cb = callback\n callback = null\n cb(err)\n }\n })\n\n return socket\n }\n}\n\nfunction setupTimeout (onConnectTimeout, timeout) {\n if (!timeout) {\n return () => {}\n }\n\n let s1 = null\n let s2 = null\n const timeoutId = setTimeout(() => {\n // setImmediate is added to make sure that we priotorise socket error events over timeouts\n s1 = setImmediate(() => {\n if (process.platform === 'win32') {\n // Windows needs an extra setImmediate probably due to implementation differences in the socket logic\n s2 = setImmediate(() => onConnectTimeout())\n } else {\n onConnectTimeout()\n }\n })\n }, timeout)\n return () => {\n clearTimeout(timeoutId)\n clearImmediate(s1)\n clearImmediate(s2)\n }\n}\n\nfunction onConnectTimeout (socket) {\n util.destroy(socket, new ConnectTimeoutError())\n}\n\nmodule.exports = buildConnector\n", null, null, "'use strict'\n\nconst util = require('../core/util')\nconst { kBodyUsed } = require('../core/symbols')\nconst assert = require('assert')\nconst { InvalidArgumentError } = require('../core/errors')\nconst EE = require('events')\n\nconst redirectableStatusCodes = [300, 301, 302, 303, 307, 308]\n\nconst kBody = Symbol('body')\n\nclass BodyAsyncIterable {\n constructor (body) {\n this[kBody] = body\n this[kBodyUsed] = false\n }\n\n async * [Symbol.asyncIterator] () {\n assert(!this[kBodyUsed], 'disturbed')\n this[kBodyUsed] = true\n yield * this[kBody]\n }\n}\n\nclass RedirectHandler {\n constructor (dispatch, maxRedirections, opts, handler) {\n if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {\n throw new InvalidArgumentError('maxRedirections must be a positive number')\n }\n\n util.validateHandler(handler, opts.method, opts.upgrade)\n\n this.dispatch = dispatch\n this.location = null\n this.abort = null\n this.opts = { ...opts, maxRedirections: 0 } // opts must be a copy\n this.maxRedirections = maxRedirections\n this.handler = handler\n this.history = []\n\n if (util.isStream(this.opts.body)) {\n // TODO (fix): Provide some way for the user to cache the file to e.g. /tmp\n // so that it can be dispatched again?\n // TODO (fix): Do we need 100-expect support to provide a way to do this properly?\n if (util.bodyLength(this.opts.body) === 0) {\n this.opts.body\n .on('data', function () {\n assert(false)\n })\n }\n\n if (typeof this.opts.body.readableDidRead !== 'boolean') {\n this.opts.body[kBodyUsed] = false\n EE.prototype.on.call(this.opts.body, 'data', function () {\n this[kBodyUsed] = true\n })\n }\n } else if (this.opts.body && typeof this.opts.body.pipeTo === 'function') {\n // TODO (fix): We can't access ReadableStream internal state\n // to determine whether or not it has been disturbed. This is just\n // a workaround.\n this.opts.body = new BodyAsyncIterable(this.opts.body)\n } else if (\n this.opts.body &&\n typeof this.opts.body !== 'string' &&\n !ArrayBuffer.isView(this.opts.body) &&\n util.isIterable(this.opts.body)\n ) {\n // TODO: Should we allow re-using iterable if !this.opts.idempotent\n // or through some other flag?\n this.opts.body = new BodyAsyncIterable(this.opts.body)\n }\n }\n\n onConnect (abort) {\n this.abort = abort\n this.handler.onConnect(abort, { history: this.history })\n }\n\n onUpgrade (statusCode, headers, socket) {\n this.handler.onUpgrade(statusCode, headers, socket)\n }\n\n onError (error) {\n this.handler.onError(error)\n }\n\n onHeaders (statusCode, headers, resume, statusText) {\n this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body)\n ? null\n : parseLocation(statusCode, headers)\n\n if (this.opts.origin) {\n this.history.push(new URL(this.opts.path, this.opts.origin))\n }\n\n if (!this.location) {\n return this.handler.onHeaders(statusCode, headers, resume, statusText)\n }\n\n const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)))\n const path = search ? `${pathname}${search}` : pathname\n\n // Remove headers referring to the original URL.\n // By default it is Host only, unless it's a 303 (see below), which removes also all Content-* headers.\n // https://tools.ietf.org/html/rfc7231#section-6.4\n this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin)\n this.opts.path = path\n this.opts.origin = origin\n this.opts.maxRedirections = 0\n this.opts.query = null\n\n // https://tools.ietf.org/html/rfc7231#section-6.4.4\n // In case of HTTP 303, always replace method to be either HEAD or GET\n if (statusCode === 303 && this.opts.method !== 'HEAD') {\n this.opts.method = 'GET'\n this.opts.body = null\n }\n }\n\n onData (chunk) {\n if (this.location) {\n /*\n https://tools.ietf.org/html/rfc7231#section-6.4\n\n TLDR: undici always ignores 3xx response bodies.\n\n Redirection is used to serve the requested resource from another URL, so it is assumes that\n no body is generated (and thus can be ignored). Even though generating a body is not prohibited.\n\n For status 301, 302, 303, 307 and 308 (the latter from RFC 7238), the specs mention that the body usually\n (which means it's optional and not mandated) contain just an hyperlink to the value of\n the Location response header, so the body can be ignored safely.\n\n For status 300, which is \"Multiple Choices\", the spec mentions both generating a Location\n response header AND a response body with the other possible location to follow.\n Since the spec explicitily chooses not to specify a format for such body and leave it to\n servers and browsers implementors, we ignore the body as there is no specified way to eventually parse it.\n */\n } else {\n return this.handler.onData(chunk)\n }\n }\n\n onComplete (trailers) {\n if (this.location) {\n /*\n https://tools.ietf.org/html/rfc7231#section-6.4\n\n TLDR: undici always ignores 3xx response trailers as they are not expected in case of redirections\n and neither are useful if present.\n\n See comment on onData method above for more detailed informations.\n */\n\n this.location = null\n this.abort = null\n\n this.dispatch(this.opts, this)\n } else {\n this.handler.onComplete(trailers)\n }\n }\n\n onBodySent (chunk) {\n if (this.handler.onBodySent) {\n this.handler.onBodySent(chunk)\n }\n }\n}\n\nfunction parseLocation (statusCode, headers) {\n if (redirectableStatusCodes.indexOf(statusCode) === -1) {\n return null\n }\n\n for (let i = 0; i < headers.length; i += 2) {\n if (headers[i].toString().toLowerCase() === 'location') {\n return headers[i + 1]\n }\n }\n}\n\n// https://tools.ietf.org/html/rfc7231#section-6.4.4\nfunction shouldRemoveHeader (header, removeContent, unknownOrigin) {\n return (\n (header.length === 4 && header.toString().toLowerCase() === 'host') ||\n (removeContent && header.toString().toLowerCase().indexOf('content-') === 0) ||\n (unknownOrigin && header.length === 13 && header.toString().toLowerCase() === 'authorization') ||\n (unknownOrigin && header.length === 6 && header.toString().toLowerCase() === 'cookie')\n )\n}\n\n// https://tools.ietf.org/html/rfc7231#section-6.4\nfunction cleanRequestHeaders (headers, removeContent, unknownOrigin) {\n const ret = []\n if (Array.isArray(headers)) {\n for (let i = 0; i < headers.length; i += 2) {\n if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {\n ret.push(headers[i], headers[i + 1])\n }\n }\n } else if (headers && typeof headers === 'object') {\n for (const key of Object.keys(headers)) {\n if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {\n ret.push(key, headers[key])\n }\n }\n } else {\n assert(headers == null, 'headers must be an object or an array')\n }\n return ret\n}\n\nmodule.exports = RedirectHandler\n", "'use strict'\n\nconst RedirectHandler = require('../handler/RedirectHandler')\n\nfunction createRedirectInterceptor ({ maxRedirections: defaultMaxRedirections }) {\n return (dispatch) => {\n return function Intercept (opts, handler) {\n const { maxRedirections = defaultMaxRedirections } = opts\n\n if (!maxRedirections) {\n return dispatch(opts, handler)\n }\n\n const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler)\n opts = { ...opts, maxRedirections: 0 } // Stop sub dispatcher from also redirecting.\n return dispatch(opts, redirectHandler)\n }\n }\n}\n\nmodule.exports = createRedirectInterceptor\n", "module.exports = 'AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8='\n", "module.exports = 'AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=='\n", "// @ts-check\n\n'use strict'\n\n/* global WebAssembly */\n\nconst assert = require('assert')\nconst net = require('net')\nconst util = require('./core/util')\nconst timers = require('./timers')\nconst Request = require('./core/request')\nconst DispatcherBase = require('./dispatcher-base')\nconst {\n RequestContentLengthMismatchError,\n ResponseContentLengthMismatchError,\n InvalidArgumentError,\n RequestAbortedError,\n HeadersTimeoutError,\n HeadersOverflowError,\n SocketError,\n InformationalError,\n BodyTimeoutError,\n HTTPParserError,\n ResponseExceededMaxSizeError,\n ClientDestroyedError\n} = require('./core/errors')\nconst buildConnector = require('./core/connect')\nconst {\n kUrl,\n kReset,\n kServerName,\n kClient,\n kBusy,\n kParser,\n kConnect,\n kBlocking,\n kResuming,\n kRunning,\n kPending,\n kSize,\n kWriting,\n kQueue,\n kConnected,\n kConnecting,\n kNeedDrain,\n kNoRef,\n kKeepAliveDefaultTimeout,\n kHostHeader,\n kPendingIdx,\n kRunningIdx,\n kError,\n kPipelining,\n kSocket,\n kKeepAliveTimeoutValue,\n kMaxHeadersSize,\n kKeepAliveMaxTimeout,\n kKeepAliveTimeoutThreshold,\n kHeadersTimeout,\n kBodyTimeout,\n kStrictContentLength,\n kConnector,\n kMaxRedirections,\n kMaxRequests,\n kCounter,\n kClose,\n kDestroy,\n kDispatch,\n kInterceptors,\n kLocalAddress,\n kMaxResponseSize\n} = require('./core/symbols')\nconst FastBuffer = Buffer[Symbol.species]\n\nconst kClosedResolve = Symbol('kClosedResolve')\n\nconst channels = {}\n\ntry {\n const diagnosticsChannel = require('diagnostics_channel')\n channels.sendHeaders = diagnosticsChannel.channel('undici:client:sendHeaders')\n channels.beforeConnect = diagnosticsChannel.channel('undici:client:beforeConnect')\n channels.connectError = diagnosticsChannel.channel('undici:client:connectError')\n channels.connected = diagnosticsChannel.channel('undici:client:connected')\n} catch {\n channels.sendHeaders = { hasSubscribers: false }\n channels.beforeConnect = { hasSubscribers: false }\n channels.connectError = { hasSubscribers: false }\n channels.connected = { hasSubscribers: false }\n}\n\n/**\n * @type {import('../types/client').default}\n */\nclass Client extends DispatcherBase {\n /**\n *\n * @param {string|URL} url\n * @param {import('../types/client').Client.Options} options\n */\n constructor (url, {\n interceptors,\n maxHeaderSize,\n headersTimeout,\n socketTimeout,\n requestTimeout,\n connectTimeout,\n bodyTimeout,\n idleTimeout,\n keepAlive,\n keepAliveTimeout,\n maxKeepAliveTimeout,\n keepAliveMaxTimeout,\n keepAliveTimeoutThreshold,\n socketPath,\n pipelining,\n tls,\n strictContentLength,\n maxCachedSessions,\n maxRedirections,\n connect,\n maxRequestsPerClient,\n localAddress,\n maxResponseSize,\n autoSelectFamily,\n autoSelectFamilyAttemptTimeout\n } = {}) {\n super()\n\n if (keepAlive !== undefined) {\n throw new InvalidArgumentError('unsupported keepAlive, use pipelining=0 instead')\n }\n\n if (socketTimeout !== undefined) {\n throw new InvalidArgumentError('unsupported socketTimeout, use headersTimeout & bodyTimeout instead')\n }\n\n if (requestTimeout !== undefined) {\n throw new InvalidArgumentError('unsupported requestTimeout, use headersTimeout & bodyTimeout instead')\n }\n\n if (idleTimeout !== undefined) {\n throw new InvalidArgumentError('unsupported idleTimeout, use keepAliveTimeout instead')\n }\n\n if (maxKeepAliveTimeout !== undefined) {\n throw new InvalidArgumentError('unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead')\n }\n\n if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {\n throw new InvalidArgumentError('invalid maxHeaderSize')\n }\n\n if (socketPath != null && typeof socketPath !== 'string') {\n throw new InvalidArgumentError('invalid socketPath')\n }\n\n if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {\n throw new InvalidArgumentError('invalid connectTimeout')\n }\n\n if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {\n throw new InvalidArgumentError('invalid keepAliveTimeout')\n }\n\n if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {\n throw new InvalidArgumentError('invalid keepAliveMaxTimeout')\n }\n\n if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {\n throw new InvalidArgumentError('invalid keepAliveTimeoutThreshold')\n }\n\n if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {\n throw new InvalidArgumentError('headersTimeout must be a positive integer or zero')\n }\n\n if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {\n throw new InvalidArgumentError('bodyTimeout must be a positive integer or zero')\n }\n\n if (connect != null && typeof connect !== 'function' && typeof connect !== 'object') {\n throw new InvalidArgumentError('connect must be a function or an object')\n }\n\n if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {\n throw new InvalidArgumentError('maxRedirections must be a positive number')\n }\n\n if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {\n throw new InvalidArgumentError('maxRequestsPerClient must be a positive number')\n }\n\n if (localAddress != null && (typeof localAddress !== 'string' || net.isIP(localAddress) === 0)) {\n throw new InvalidArgumentError('localAddress must be valid string IP address')\n }\n\n if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {\n throw new InvalidArgumentError('maxResponseSize must be a positive number')\n }\n\n if (\n autoSelectFamilyAttemptTimeout != null &&\n (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)\n ) {\n throw new InvalidArgumentError('autoSelectFamilyAttemptTimeout must be a positive number')\n }\n\n if (typeof connect !== 'function') {\n connect = buildConnector({\n ...tls,\n maxCachedSessions,\n socketPath,\n timeout: connectTimeout,\n ...(util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined),\n ...connect\n })\n }\n\n this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client)\n ? interceptors.Client\n : [createRedirectInterceptor({ maxRedirections })]\n this[kUrl] = util.parseOrigin(url)\n this[kConnector] = connect\n this[kSocket] = null\n this[kPipelining] = pipelining != null ? pipelining : 1\n this[kMaxHeadersSize] = maxHeaderSize || 16384\n this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout\n this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 600e3 : keepAliveMaxTimeout\n this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold\n this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout]\n this[kServerName] = null\n this[kLocalAddress] = localAddress != null ? localAddress : null\n this[kResuming] = 0 // 0, idle, 1, scheduled, 2 resuming\n this[kNeedDrain] = 0 // 0, idle, 1, scheduled, 2 resuming\n this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ''}\\r\\n`\n this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 300e3\n this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 300e3\n this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength\n this[kMaxRedirections] = maxRedirections\n this[kMaxRequests] = maxRequestsPerClient\n this[kClosedResolve] = null\n this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1\n\n // kQueue is built up of 3 sections separated by\n // the kRunningIdx and kPendingIdx indices.\n // | complete | running | pending |\n // ^ kRunningIdx ^ kPendingIdx ^ kQueue.length\n // kRunningIdx points to the first running element.\n // kPendingIdx points to the first pending element.\n // This implements a fast queue with an amortized\n // time of O(1).\n\n this[kQueue] = []\n this[kRunningIdx] = 0\n this[kPendingIdx] = 0\n }\n\n get pipelining () {\n return this[kPipelining]\n }\n\n set pipelining (value) {\n this[kPipelining] = value\n resume(this, true)\n }\n\n get [kPending] () {\n return this[kQueue].length - this[kPendingIdx]\n }\n\n get [kRunning] () {\n return this[kPendingIdx] - this[kRunningIdx]\n }\n\n get [kSize] () {\n return this[kQueue].length - this[kRunningIdx]\n }\n\n get [kConnected] () {\n return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed\n }\n\n get [kBusy] () {\n const socket = this[kSocket]\n return (\n (socket && (socket[kReset] || socket[kWriting] || socket[kBlocking])) ||\n (this[kSize] >= (this[kPipelining] || 1)) ||\n this[kPending] > 0\n )\n }\n\n /* istanbul ignore: only used for test */\n [kConnect] (cb) {\n connect(this)\n this.once('connect', cb)\n }\n\n [kDispatch] (opts, handler) {\n const origin = opts.origin || this[kUrl].origin\n\n const request = new Request(origin, opts, handler)\n\n this[kQueue].push(request)\n if (this[kResuming]) {\n // Do nothing.\n } else if (util.bodyLength(request.body) == null && util.isIterable(request.body)) {\n // Wait a tick in case stream/iterator is ended in the same tick.\n this[kResuming] = 1\n process.nextTick(resume, this)\n } else {\n resume(this, true)\n }\n\n if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {\n this[kNeedDrain] = 2\n }\n\n return this[kNeedDrain] < 2\n }\n\n async [kClose] () {\n return new Promise((resolve) => {\n if (!this[kSize]) {\n resolve(null)\n } else {\n this[kClosedResolve] = resolve\n }\n })\n }\n\n async [kDestroy] (err) {\n return new Promise((resolve) => {\n const requests = this[kQueue].splice(this[kPendingIdx])\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i]\n errorRequest(this, request, err)\n }\n\n const callback = () => {\n if (this[kClosedResolve]) {\n // TODO (fix): Should we error here with ClientDestroyedError?\n this[kClosedResolve]()\n this[kClosedResolve] = null\n }\n resolve()\n }\n\n if (!this[kSocket]) {\n queueMicrotask(callback)\n } else {\n util.destroy(this[kSocket].on('close', callback), err)\n }\n\n resume(this)\n })\n }\n}\n\nconst constants = require('./llhttp/constants')\nconst createRedirectInterceptor = require('./interceptor/redirectInterceptor')\nconst EMPTY_BUF = Buffer.alloc(0)\n\nasync function lazyllhttp () {\n const llhttpWasmData = process.env.JEST_WORKER_ID ? require('./llhttp/llhttp-wasm.js') : undefined\n\n let mod\n try {\n mod = await WebAssembly.compile(Buffer.from(require('./llhttp/llhttp_simd-wasm.js'), 'base64'))\n } catch (e) {\n /* istanbul ignore next */\n\n // We could check if the error was caused by the simd option not\n // being enabled, but the occurring of this other error\n // * https://github.com/emscripten-core/emscripten/issues/11495\n // got me to remove that check to avoid breaking Node 12.\n mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require('./llhttp/llhttp-wasm.js'), 'base64'))\n }\n\n return await WebAssembly.instantiate(mod, {\n env: {\n /* eslint-disable camelcase */\n\n wasm_on_url: (p, at, len) => {\n /* istanbul ignore next */\n return 0\n },\n wasm_on_status: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p)\n const start = at - currentBufferPtr + currentBufferRef.byteOffset\n return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0\n },\n wasm_on_message_begin: (p) => {\n assert.strictEqual(currentParser.ptr, p)\n return currentParser.onMessageBegin() || 0\n },\n wasm_on_header_field: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p)\n const start = at - currentBufferPtr + currentBufferRef.byteOffset\n return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0\n },\n wasm_on_header_value: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p)\n const start = at - currentBufferPtr + currentBufferRef.byteOffset\n return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0\n },\n wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {\n assert.strictEqual(currentParser.ptr, p)\n return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0\n },\n wasm_on_body: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p)\n const start = at - currentBufferPtr + currentBufferRef.byteOffset\n return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0\n },\n wasm_on_message_complete: (p) => {\n assert.strictEqual(currentParser.ptr, p)\n return currentParser.onMessageComplete() || 0\n }\n\n /* eslint-enable camelcase */\n }\n })\n}\n\nlet llhttpInstance = null\nlet llhttpPromise = lazyllhttp()\nllhttpPromise.catch()\n\nlet currentParser = null\nlet currentBufferRef = null\nlet currentBufferSize = 0\nlet currentBufferPtr = null\n\nconst TIMEOUT_HEADERS = 1\nconst TIMEOUT_BODY = 2\nconst TIMEOUT_IDLE = 3\n\nclass Parser {\n constructor (client, socket, { exports }) {\n assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0)\n\n this.llhttp = exports\n this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE)\n this.client = client\n this.socket = socket\n this.timeout = null\n this.timeoutValue = null\n this.timeoutType = null\n this.statusCode = null\n this.statusText = ''\n this.upgrade = false\n this.headers = []\n this.headersSize = 0\n this.headersMaxSize = client[kMaxHeadersSize]\n this.shouldKeepAlive = false\n this.paused = false\n this.resume = this.resume.bind(this)\n\n this.bytesRead = 0\n\n this.keepAlive = ''\n this.contentLength = ''\n this.connection = ''\n this.maxResponseSize = client[kMaxResponseSize]\n }\n\n setTimeout (value, type) {\n this.timeoutType = type\n if (value !== this.timeoutValue) {\n timers.clearTimeout(this.timeout)\n if (value) {\n this.timeout = timers.setTimeout(onParserTimeout, value, this)\n // istanbul ignore else: only for jest\n if (this.timeout.unref) {\n this.timeout.unref()\n }\n } else {\n this.timeout = null\n }\n this.timeoutValue = value\n } else if (this.timeout) {\n // istanbul ignore else: only for jest\n if (this.timeout.refresh) {\n this.timeout.refresh()\n }\n }\n }\n\n resume () {\n if (this.socket.destroyed || !this.paused) {\n return\n }\n\n assert(this.ptr != null)\n assert(currentParser == null)\n\n this.llhttp.llhttp_resume(this.ptr)\n\n assert(this.timeoutType === TIMEOUT_BODY)\n if (this.timeout) {\n // istanbul ignore else: only for jest\n if (this.timeout.refresh) {\n this.timeout.refresh()\n }\n }\n\n this.paused = false\n this.execute(this.socket.read() || EMPTY_BUF) // Flush parser.\n this.readMore()\n }\n\n readMore () {\n while (!this.paused && this.ptr) {\n const chunk = this.socket.read()\n if (chunk === null) {\n break\n }\n this.execute(chunk)\n }\n }\n\n execute (data) {\n assert(this.ptr != null)\n assert(currentParser == null)\n assert(!this.paused)\n\n const { socket, llhttp } = this\n\n if (data.length > currentBufferSize) {\n if (currentBufferPtr) {\n llhttp.free(currentBufferPtr)\n }\n currentBufferSize = Math.ceil(data.length / 4096) * 4096\n currentBufferPtr = llhttp.malloc(currentBufferSize)\n }\n\n new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data)\n\n // Call `execute` on the wasm parser.\n // We pass the `llhttp_parser` pointer address, the pointer address of buffer view data,\n // and finally the length of bytes to parse.\n // The return value is an error code or `constants.ERROR.OK`.\n try {\n let ret\n\n try {\n currentBufferRef = data\n currentParser = this\n ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length)\n /* eslint-disable-next-line no-useless-catch */\n } catch (err) {\n /* istanbul ignore next: difficult to make a test case for */\n throw err\n } finally {\n currentParser = null\n currentBufferRef = null\n }\n\n const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr\n\n if (ret === constants.ERROR.PAUSED_UPGRADE) {\n this.onUpgrade(data.slice(offset))\n } else if (ret === constants.ERROR.PAUSED) {\n this.paused = true\n socket.unshift(data.slice(offset))\n } else if (ret !== constants.ERROR.OK) {\n const ptr = llhttp.llhttp_get_error_reason(this.ptr)\n let message = ''\n /* istanbul ignore else: difficult to make a test case for */\n if (ptr) {\n const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0)\n message =\n 'Response does not match the HTTP/1.1 protocol (' +\n Buffer.from(llhttp.memory.buffer, ptr, len).toString() +\n ')'\n }\n throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset))\n }\n } catch (err) {\n util.destroy(socket, err)\n }\n }\n\n destroy () {\n assert(this.ptr != null)\n assert(currentParser == null)\n\n this.llhttp.llhttp_free(this.ptr)\n this.ptr = null\n\n timers.clearTimeout(this.timeout)\n this.timeout = null\n this.timeoutValue = null\n this.timeoutType = null\n\n this.paused = false\n }\n\n onStatus (buf) {\n this.statusText = buf.toString()\n }\n\n onMessageBegin () {\n const { socket, client } = this\n\n /* istanbul ignore next: difficult to make a test case for */\n if (socket.destroyed) {\n return -1\n }\n\n const request = client[kQueue][client[kRunningIdx]]\n if (!request) {\n return -1\n }\n }\n\n onHeaderField (buf) {\n const len = this.headers.length\n\n if ((len & 1) === 0) {\n this.headers.push(buf)\n } else {\n this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf])\n }\n\n this.trackHeader(buf.length)\n }\n\n onHeaderValue (buf) {\n let len = this.headers.length\n\n if ((len & 1) === 1) {\n this.headers.push(buf)\n len += 1\n } else {\n this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf])\n }\n\n const key = this.headers[len - 2]\n if (key.length === 10 && key.toString().toLowerCase() === 'keep-alive') {\n this.keepAlive += buf.toString()\n } else if (key.length === 10 && key.toString().toLowerCase() === 'connection') {\n this.connection += buf.toString()\n } else if (key.length === 14 && key.toString().toLowerCase() === 'content-length') {\n this.contentLength += buf.toString()\n }\n\n this.trackHeader(buf.length)\n }\n\n trackHeader (len) {\n this.headersSize += len\n if (this.headersSize >= this.headersMaxSize) {\n util.destroy(this.socket, new HeadersOverflowError())\n }\n }\n\n onUpgrade (head) {\n const { upgrade, client, socket, headers, statusCode } = this\n\n assert(upgrade)\n\n const request = client[kQueue][client[kRunningIdx]]\n assert(request)\n\n assert(!socket.destroyed)\n assert(socket === client[kSocket])\n assert(!this.paused)\n assert(request.upgrade || request.method === 'CONNECT')\n\n this.statusCode = null\n this.statusText = ''\n this.shouldKeepAlive = null\n\n assert(this.headers.length % 2 === 0)\n this.headers = []\n this.headersSize = 0\n\n socket.unshift(head)\n\n socket[kParser].destroy()\n socket[kParser] = null\n\n socket[kClient] = null\n socket[kError] = null\n socket\n .removeListener('error', onSocketError)\n .removeListener('readable', onSocketReadable)\n .removeListener('end', onSocketEnd)\n .removeListener('close', onSocketClose)\n\n client[kSocket] = null\n client[kQueue][client[kRunningIdx]++] = null\n client.emit('disconnect', client[kUrl], [client], new InformationalError('upgrade'))\n\n try {\n request.onUpgrade(statusCode, headers, socket)\n } catch (err) {\n util.destroy(socket, err)\n }\n\n resume(client)\n }\n\n onHeadersComplete (statusCode, upgrade, shouldKeepAlive) {\n const { client, socket, headers, statusText } = this\n\n /* istanbul ignore next: difficult to make a test case for */\n if (socket.destroyed) {\n return -1\n }\n\n const request = client[kQueue][client[kRunningIdx]]\n\n /* istanbul ignore next: difficult to make a test case for */\n if (!request) {\n return -1\n }\n\n assert(!this.upgrade)\n assert(this.statusCode < 200)\n\n if (statusCode === 100) {\n util.destroy(socket, new SocketError('bad response', util.getSocketInfo(socket)))\n return -1\n }\n\n /* this can only happen if server is misbehaving */\n if (upgrade && !request.upgrade) {\n util.destroy(socket, new SocketError('bad upgrade', util.getSocketInfo(socket)))\n return -1\n }\n\n assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS)\n\n this.statusCode = statusCode\n this.shouldKeepAlive = (\n shouldKeepAlive ||\n // Override llhttp value which does not allow keepAlive for HEAD.\n (request.method === 'HEAD' && !socket[kReset] && this.connection.toLowerCase() === 'keep-alive')\n )\n\n if (this.statusCode >= 200) {\n const bodyTimeout = request.bodyTimeout != null\n ? request.bodyTimeout\n : client[kBodyTimeout]\n this.setTimeout(bodyTimeout, TIMEOUT_BODY)\n } else if (this.timeout) {\n // istanbul ignore else: only for jest\n if (this.timeout.refresh) {\n this.timeout.refresh()\n }\n }\n\n if (request.method === 'CONNECT') {\n assert(client[kRunning] === 1)\n this.upgrade = true\n return 2\n }\n\n if (upgrade) {\n assert(client[kRunning] === 1)\n this.upgrade = true\n return 2\n }\n\n assert(this.headers.length % 2 === 0)\n this.headers = []\n this.headersSize = 0\n\n if (this.shouldKeepAlive && client[kPipelining]) {\n const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null\n\n if (keepAliveTimeout != null) {\n const timeout = Math.min(\n keepAliveTimeout - client[kKeepAliveTimeoutThreshold],\n client[kKeepAliveMaxTimeout]\n )\n if (timeout <= 0) {\n socket[kReset] = true\n } else {\n client[kKeepAliveTimeoutValue] = timeout\n }\n } else {\n client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]\n }\n } else {\n // Stop more requests from being dispatched.\n socket[kReset] = true\n }\n\n let pause\n try {\n pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false\n } catch (err) {\n util.destroy(socket, err)\n return -1\n }\n\n if (request.method === 'HEAD') {\n return 1\n }\n\n if (statusCode < 200) {\n return 1\n }\n\n if (socket[kBlocking]) {\n socket[kBlocking] = false\n resume(client)\n }\n\n return pause ? constants.ERROR.PAUSED : 0\n }\n\n onBody (buf) {\n const { client, socket, statusCode, maxResponseSize } = this\n\n if (socket.destroyed) {\n return -1\n }\n\n const request = client[kQueue][client[kRunningIdx]]\n assert(request)\n\n assert.strictEqual(this.timeoutType, TIMEOUT_BODY)\n if (this.timeout) {\n // istanbul ignore else: only for jest\n if (this.timeout.refresh) {\n this.timeout.refresh()\n }\n }\n\n assert(statusCode >= 200)\n\n if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {\n util.destroy(socket, new ResponseExceededMaxSizeError())\n return -1\n }\n\n this.bytesRead += buf.length\n\n try {\n if (request.onData(buf) === false) {\n return constants.ERROR.PAUSED\n }\n } catch (err) {\n util.destroy(socket, err)\n return -1\n }\n }\n\n onMessageComplete () {\n const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this\n\n if (socket.destroyed && (!statusCode || shouldKeepAlive)) {\n return -1\n }\n\n if (upgrade) {\n return\n }\n\n const request = client[kQueue][client[kRunningIdx]]\n assert(request)\n\n assert(statusCode >= 100)\n\n this.statusCode = null\n this.statusText = ''\n this.bytesRead = 0\n this.contentLength = ''\n this.keepAlive = ''\n this.connection = ''\n\n assert(this.headers.length % 2 === 0)\n this.headers = []\n this.headersSize = 0\n\n if (statusCode < 200) {\n return\n }\n\n /* istanbul ignore next: should be handled by llhttp? */\n if (request.method !== 'HEAD' && contentLength && bytesRead !== parseInt(contentLength, 10)) {\n util.destroy(socket, new ResponseContentLengthMismatchError())\n return -1\n }\n\n try {\n request.onComplete(headers)\n } catch (err) {\n errorRequest(client, request, err)\n }\n\n client[kQueue][client[kRunningIdx]++] = null\n\n if (socket[kWriting]) {\n assert.strictEqual(client[kRunning], 0)\n // Response completed before request.\n util.destroy(socket, new InformationalError('reset'))\n return constants.ERROR.PAUSED\n } else if (!shouldKeepAlive) {\n util.destroy(socket, new InformationalError('reset'))\n return constants.ERROR.PAUSED\n } else if (socket[kReset] && client[kRunning] === 0) {\n // Destroy socket once all requests have completed.\n // The request at the tail of the pipeline is the one\n // that requested reset and no further requests should\n // have been queued since then.\n util.destroy(socket, new InformationalError('reset'))\n return constants.ERROR.PAUSED\n } else if (client[kPipelining] === 1) {\n // We must wait a full event loop cycle to reuse this socket to make sure\n // that non-spec compliant servers are not closing the connection even if they\n // said they won't.\n setImmediate(resume, client)\n } else {\n resume(client)\n }\n }\n}\n\nfunction onParserTimeout (parser) {\n const { socket, timeoutType, client } = parser\n\n /* istanbul ignore else */\n if (timeoutType === TIMEOUT_HEADERS) {\n if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {\n assert(!parser.paused, 'cannot be paused while waiting for headers')\n util.destroy(socket, new HeadersTimeoutError())\n }\n } else if (timeoutType === TIMEOUT_BODY) {\n if (!parser.paused) {\n util.destroy(socket, new BodyTimeoutError())\n }\n } else if (timeoutType === TIMEOUT_IDLE) {\n assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue])\n util.destroy(socket, new InformationalError('socket idle timeout'))\n }\n}\n\nfunction onSocketReadable () {\n const { [kParser]: parser } = this\n parser.readMore()\n}\n\nfunction onSocketError (err) {\n const { [kParser]: parser } = this\n\n assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')\n\n // On Mac OS, we get an ECONNRESET even if there is a full body to be forwarded\n // to the user.\n if (err.code === 'ECONNRESET' && parser.statusCode && !parser.shouldKeepAlive) {\n // We treat all incoming data so for as a valid response.\n parser.onMessageComplete()\n return\n }\n\n this[kError] = err\n\n onError(this[kClient], err)\n}\n\nfunction onError (client, err) {\n if (\n client[kRunning] === 0 &&\n err.code !== 'UND_ERR_INFO' &&\n err.code !== 'UND_ERR_SOCKET'\n ) {\n // Error is not caused by running request and not a recoverable\n // socket error.\n\n assert(client[kPendingIdx] === client[kRunningIdx])\n\n const requests = client[kQueue].splice(client[kRunningIdx])\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i]\n errorRequest(client, request, err)\n }\n assert(client[kSize] === 0)\n }\n}\n\nfunction onSocketEnd () {\n const { [kParser]: parser } = this\n\n if (parser.statusCode && !parser.shouldKeepAlive) {\n // We treat all incoming data so far as a valid response.\n parser.onMessageComplete()\n return\n }\n\n util.destroy(this, new SocketError('other side closed', util.getSocketInfo(this)))\n}\n\nfunction onSocketClose () {\n const { [kClient]: client } = this\n\n if (!this[kError] && this[kParser].statusCode && !this[kParser].shouldKeepAlive) {\n // We treat all incoming data so far as a valid response.\n this[kParser].onMessageComplete()\n }\n\n this[kParser].destroy()\n this[kParser] = null\n\n const err = this[kError] || new SocketError('closed', util.getSocketInfo(this))\n\n client[kSocket] = null\n\n if (client.destroyed) {\n assert(client[kPending] === 0)\n\n // Fail entire queue.\n const requests = client[kQueue].splice(client[kRunningIdx])\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i]\n errorRequest(client, request, err)\n }\n } else if (client[kRunning] > 0 && err.code !== 'UND_ERR_INFO') {\n // Fail head of pipeline.\n const request = client[kQueue][client[kRunningIdx]]\n client[kQueue][client[kRunningIdx]++] = null\n\n errorRequest(client, request, err)\n }\n\n client[kPendingIdx] = client[kRunningIdx]\n\n assert(client[kRunning] === 0)\n\n client.emit('disconnect', client[kUrl], [client], err)\n\n resume(client)\n}\n\nasync function connect (client) {\n assert(!client[kConnecting])\n assert(!client[kSocket])\n\n let { host, hostname, protocol, port } = client[kUrl]\n\n // Resolve ipv6\n if (hostname[0] === '[') {\n const idx = hostname.indexOf(']')\n\n assert(idx !== -1)\n const ip = hostname.substr(1, idx - 1)\n\n assert(net.isIP(ip))\n hostname = ip\n }\n\n client[kConnecting] = true\n\n if (channels.beforeConnect.hasSubscribers) {\n channels.beforeConnect.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector]\n })\n }\n\n try {\n const socket = await new Promise((resolve, reject) => {\n client[kConnector]({\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n }, (err, socket) => {\n if (err) {\n reject(err)\n } else {\n resolve(socket)\n }\n })\n })\n\n if (client.destroyed) {\n util.destroy(socket.on('error', () => {}), new ClientDestroyedError())\n return\n }\n\n if (!llhttpInstance) {\n llhttpInstance = await llhttpPromise\n llhttpPromise = null\n }\n\n client[kConnecting] = false\n\n assert(socket)\n\n socket[kNoRef] = false\n socket[kWriting] = false\n socket[kReset] = false\n socket[kBlocking] = false\n socket[kError] = null\n socket[kParser] = new Parser(client, socket, llhttpInstance)\n socket[kClient] = client\n socket[kCounter] = 0\n socket[kMaxRequests] = client[kMaxRequests]\n socket\n .on('error', onSocketError)\n .on('readable', onSocketReadable)\n .on('end', onSocketEnd)\n .on('close', onSocketClose)\n\n client[kSocket] = socket\n\n if (channels.connected.hasSubscribers) {\n channels.connected.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector],\n socket\n })\n }\n client.emit('connect', client[kUrl], [client])\n } catch (err) {\n if (client.destroyed) {\n return\n }\n\n client[kConnecting] = false\n\n if (channels.connectError.hasSubscribers) {\n channels.connectError.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector],\n error: err\n })\n }\n\n if (err.code === 'ERR_TLS_CERT_ALTNAME_INVALID') {\n assert(client[kRunning] === 0)\n while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {\n const request = client[kQueue][client[kPendingIdx]++]\n errorRequest(client, request, err)\n }\n } else {\n onError(client, err)\n }\n\n client.emit('connectionError', client[kUrl], [client], err)\n }\n\n resume(client)\n}\n\nfunction emitDrain (client) {\n client[kNeedDrain] = 0\n client.emit('drain', client[kUrl], [client])\n}\n\nfunction resume (client, sync) {\n if (client[kResuming] === 2) {\n return\n }\n\n client[kResuming] = 2\n\n _resume(client, sync)\n client[kResuming] = 0\n\n if (client[kRunningIdx] > 256) {\n client[kQueue].splice(0, client[kRunningIdx])\n client[kPendingIdx] -= client[kRunningIdx]\n client[kRunningIdx] = 0\n }\n}\n\nfunction _resume (client, sync) {\n while (true) {\n if (client.destroyed) {\n assert(client[kPending] === 0)\n return\n }\n\n if (client[kClosedResolve] && !client[kSize]) {\n client[kClosedResolve]()\n client[kClosedResolve] = null\n return\n }\n\n const socket = client[kSocket]\n\n if (socket && !socket.destroyed) {\n if (client[kSize] === 0) {\n if (!socket[kNoRef] && socket.unref) {\n socket.unref()\n socket[kNoRef] = true\n }\n } else if (socket[kNoRef] && socket.ref) {\n socket.ref()\n socket[kNoRef] = false\n }\n\n if (client[kSize] === 0) {\n if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {\n socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE)\n }\n } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {\n if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {\n const request = client[kQueue][client[kRunningIdx]]\n const headersTimeout = request.headersTimeout != null\n ? request.headersTimeout\n : client[kHeadersTimeout]\n socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS)\n }\n }\n }\n\n if (client[kBusy]) {\n client[kNeedDrain] = 2\n } else if (client[kNeedDrain] === 2) {\n if (sync) {\n client[kNeedDrain] = 1\n process.nextTick(emitDrain, client)\n } else {\n emitDrain(client)\n }\n continue\n }\n\n if (client[kPending] === 0) {\n return\n }\n\n if (client[kRunning] >= (client[kPipelining] || 1)) {\n return\n }\n\n const request = client[kQueue][client[kPendingIdx]]\n\n if (client[kUrl].protocol === 'https:' && client[kServerName] !== request.servername) {\n if (client[kRunning] > 0) {\n return\n }\n\n client[kServerName] = request.servername\n\n if (socket && socket.servername !== request.servername) {\n util.destroy(socket, new InformationalError('servername changed'))\n return\n }\n }\n\n if (client[kConnecting]) {\n return\n }\n\n if (!socket) {\n connect(client)\n return\n }\n\n if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {\n return\n }\n\n if (client[kRunning] > 0 && !request.idempotent) {\n // Non-idempotent request cannot be retried.\n // Ensure that no other requests are inflight and\n // could cause failure.\n return\n }\n\n if (client[kRunning] > 0 && (request.upgrade || request.method === 'CONNECT')) {\n // Don't dispatch an upgrade until all preceding requests have completed.\n // A misbehaving server might upgrade the connection before all pipelined\n // request has completed.\n return\n }\n\n if (util.isStream(request.body) && util.bodyLength(request.body) === 0) {\n request.body\n .on('data', /* istanbul ignore next */ function () {\n /* istanbul ignore next */\n assert(false)\n })\n .on('error', function (err) {\n errorRequest(client, request, err)\n })\n .on('end', function () {\n util.destroy(this)\n })\n\n request.body = null\n }\n\n if (client[kRunning] > 0 &&\n (util.isStream(request.body) || util.isAsyncIterable(request.body))) {\n // Request with stream or iterator body can error while other requests\n // are inflight and indirectly error those as well.\n // Ensure this doesn't happen by waiting for inflight\n // to complete before dispatching.\n\n // Request with stream or iterator body cannot be retried.\n // Ensure that no other requests are inflight and\n // could cause failure.\n return\n }\n\n if (!request.aborted && write(client, request)) {\n client[kPendingIdx]++\n } else {\n client[kQueue].splice(client[kPendingIdx], 1)\n }\n }\n}\n\nfunction write (client, request) {\n const { body, method, path, host, upgrade, headers, blocking, reset } = request\n\n // https://tools.ietf.org/html/rfc7231#section-4.3.1\n // https://tools.ietf.org/html/rfc7231#section-4.3.2\n // https://tools.ietf.org/html/rfc7231#section-4.3.5\n\n // Sending a payload body on a request that does not\n // expect it can cause undefined behavior on some\n // servers and corrupt connection state. Do not\n // re-use the connection for further requests.\n\n const expectsPayload = (\n method === 'PUT' ||\n method === 'POST' ||\n method === 'PATCH'\n )\n\n if (body && typeof body.read === 'function') {\n // Try to read EOF in order to get length.\n body.read(0)\n }\n\n let contentLength = util.bodyLength(body)\n\n if (contentLength === null) {\n contentLength = request.contentLength\n }\n\n if (contentLength === 0 && !expectsPayload) {\n // https://tools.ietf.org/html/rfc7230#section-3.3.2\n // A user agent SHOULD NOT send a Content-Length header field when\n // the request message does not contain a payload body and the method\n // semantics do not anticipate such a body.\n\n contentLength = null\n }\n\n if (request.contentLength !== null && request.contentLength !== contentLength) {\n if (client[kStrictContentLength]) {\n errorRequest(client, request, new RequestContentLengthMismatchError())\n return false\n }\n\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n\n const socket = client[kSocket]\n\n try {\n request.onConnect((err) => {\n if (request.aborted || request.completed) {\n return\n }\n\n errorRequest(client, request, err || new RequestAbortedError())\n\n util.destroy(socket, new InformationalError('aborted'))\n })\n } catch (err) {\n errorRequest(client, request, err)\n }\n\n if (request.aborted) {\n return false\n }\n\n if (method === 'HEAD') {\n // https://github.com/mcollina/undici/issues/258\n // Close after a HEAD request to interop with misbehaving servers\n // that may send a body in the response.\n\n socket[kReset] = true\n }\n\n if (upgrade || method === 'CONNECT') {\n // On CONNECT or upgrade, block pipeline from dispatching further\n // requests on this connection.\n\n socket[kReset] = true\n }\n\n if (reset != null) {\n socket[kReset] = reset\n }\n\n if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {\n socket[kReset] = true\n }\n\n if (blocking) {\n socket[kBlocking] = true\n }\n\n let header = `${method} ${path} HTTP/1.1\\r\\n`\n\n if (typeof host === 'string') {\n header += `host: ${host}\\r\\n`\n } else {\n header += client[kHostHeader]\n }\n\n if (upgrade) {\n header += `connection: upgrade\\r\\nupgrade: ${upgrade}\\r\\n`\n } else if (client[kPipelining] && !socket[kReset]) {\n header += 'connection: keep-alive\\r\\n'\n } else {\n header += 'connection: close\\r\\n'\n }\n\n if (headers) {\n header += headers\n }\n\n if (channels.sendHeaders.hasSubscribers) {\n channels.sendHeaders.publish({ request, headers: header, socket })\n }\n\n /* istanbul ignore else: assertion */\n if (!body) {\n if (contentLength === 0) {\n socket.write(`${header}content-length: 0\\r\\n\\r\\n`, 'latin1')\n } else {\n assert(contentLength === null, 'no body must not have content length')\n socket.write(`${header}\\r\\n`, 'latin1')\n }\n request.onRequestSent()\n } else if (util.isBuffer(body)) {\n assert(contentLength === body.byteLength, 'buffer body must have content length')\n\n socket.cork()\n socket.write(`${header}content-length: ${contentLength}\\r\\n\\r\\n`, 'latin1')\n socket.write(body)\n socket.uncork()\n request.onBodySent(body)\n request.onRequestSent()\n if (!expectsPayload) {\n socket[kReset] = true\n }\n } else if (util.isBlobLike(body)) {\n if (typeof body.stream === 'function') {\n writeIterable({ body: body.stream(), client, request, socket, contentLength, header, expectsPayload })\n } else {\n writeBlob({ body, client, request, socket, contentLength, header, expectsPayload })\n }\n } else if (util.isStream(body)) {\n writeStream({ body, client, request, socket, contentLength, header, expectsPayload })\n } else if (util.isIterable(body)) {\n writeIterable({ body, client, request, socket, contentLength, header, expectsPayload })\n } else {\n assert(false)\n }\n\n return true\n}\n\nfunction writeStream ({ body, client, request, socket, contentLength, header, expectsPayload }) {\n assert(contentLength !== 0 || client[kRunning] === 0, 'stream body cannot be pipelined')\n\n let finished = false\n\n const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header })\n\n const onData = function (chunk) {\n if (finished) {\n return\n }\n\n try {\n if (!writer.write(chunk) && this.pause) {\n this.pause()\n }\n } catch (err) {\n util.destroy(this, err)\n }\n }\n const onDrain = function () {\n if (finished) {\n return\n }\n\n if (body.resume) {\n body.resume()\n }\n }\n const onAbort = function () {\n onFinished(new RequestAbortedError())\n }\n const onFinished = function (err) {\n if (finished) {\n return\n }\n\n finished = true\n\n assert(socket.destroyed || (socket[kWriting] && client[kRunning] <= 1))\n\n socket\n .off('drain', onDrain)\n .off('error', onFinished)\n\n body\n .removeListener('data', onData)\n .removeListener('end', onFinished)\n .removeListener('error', onFinished)\n .removeListener('close', onAbort)\n\n if (!err) {\n try {\n writer.end()\n } catch (er) {\n err = er\n }\n }\n\n writer.destroy(err)\n\n if (err && (err.code !== 'UND_ERR_INFO' || err.message !== 'reset')) {\n util.destroy(body, err)\n } else {\n util.destroy(body)\n }\n }\n\n body\n .on('data', onData)\n .on('end', onFinished)\n .on('error', onFinished)\n .on('close', onAbort)\n\n if (body.resume) {\n body.resume()\n }\n\n socket\n .on('drain', onDrain)\n .on('error', onFinished)\n}\n\nasync function writeBlob ({ body, client, request, socket, contentLength, header, expectsPayload }) {\n assert(contentLength === body.size, 'blob body must have content length')\n\n try {\n if (contentLength != null && contentLength !== body.size) {\n throw new RequestContentLengthMismatchError()\n }\n\n const buffer = Buffer.from(await body.arrayBuffer())\n\n socket.cork()\n socket.write(`${header}content-length: ${contentLength}\\r\\n\\r\\n`, 'latin1')\n socket.write(buffer)\n socket.uncork()\n\n request.onBodySent(buffer)\n request.onRequestSent()\n\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n resume(client)\n } catch (err) {\n util.destroy(socket, err)\n }\n}\n\nasync function writeIterable ({ body, client, request, socket, contentLength, header, expectsPayload }) {\n assert(contentLength !== 0 || client[kRunning] === 0, 'iterator body cannot be pipelined')\n\n let callback = null\n function onDrain () {\n if (callback) {\n const cb = callback\n callback = null\n cb()\n }\n }\n\n const waitForDrain = () => new Promise((resolve, reject) => {\n assert(callback === null)\n\n if (socket[kError]) {\n reject(socket[kError])\n } else {\n callback = resolve\n }\n })\n\n socket\n .on('close', onDrain)\n .on('drain', onDrain)\n\n const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header })\n try {\n // It's up to the user to somehow abort the async iterable.\n for await (const chunk of body) {\n if (socket[kError]) {\n throw socket[kError]\n }\n\n if (!writer.write(chunk)) {\n await waitForDrain()\n }\n }\n\n writer.end()\n } catch (err) {\n writer.destroy(err)\n } finally {\n socket\n .off('close', onDrain)\n .off('drain', onDrain)\n }\n}\n\nclass AsyncWriter {\n constructor ({ socket, request, contentLength, client, expectsPayload, header }) {\n this.socket = socket\n this.request = request\n this.contentLength = contentLength\n this.client = client\n this.bytesWritten = 0\n this.expectsPayload = expectsPayload\n this.header = header\n\n socket[kWriting] = true\n }\n\n write (chunk) {\n const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this\n\n if (socket[kError]) {\n throw socket[kError]\n }\n\n if (socket.destroyed) {\n return false\n }\n\n const len = Buffer.byteLength(chunk)\n if (!len) {\n return true\n }\n\n // We should defer writing chunks.\n if (contentLength !== null && bytesWritten + len > contentLength) {\n if (client[kStrictContentLength]) {\n throw new RequestContentLengthMismatchError()\n }\n\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n\n socket.cork()\n\n if (bytesWritten === 0) {\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n if (contentLength === null) {\n socket.write(`${header}transfer-encoding: chunked\\r\\n`, 'latin1')\n } else {\n socket.write(`${header}content-length: ${contentLength}\\r\\n\\r\\n`, 'latin1')\n }\n }\n\n if (contentLength === null) {\n socket.write(`\\r\\n${len.toString(16)}\\r\\n`, 'latin1')\n }\n\n this.bytesWritten += len\n\n const ret = socket.write(chunk)\n\n socket.uncork()\n\n request.onBodySent(chunk)\n\n if (!ret) {\n if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {\n // istanbul ignore else: only for jest\n if (socket[kParser].timeout.refresh) {\n socket[kParser].timeout.refresh()\n }\n }\n }\n\n return ret\n }\n\n end () {\n const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this\n request.onRequestSent()\n\n socket[kWriting] = false\n\n if (socket[kError]) {\n throw socket[kError]\n }\n\n if (socket.destroyed) {\n return\n }\n\n if (bytesWritten === 0) {\n if (expectsPayload) {\n // https://tools.ietf.org/html/rfc7230#section-3.3.2\n // A user agent SHOULD send a Content-Length in a request message when\n // no Transfer-Encoding is sent and the request method defines a meaning\n // for an enclosed payload body.\n\n socket.write(`${header}content-length: 0\\r\\n\\r\\n`, 'latin1')\n } else {\n socket.write(`${header}\\r\\n`, 'latin1')\n }\n } else if (contentLength === null) {\n socket.write('\\r\\n0\\r\\n\\r\\n', 'latin1')\n }\n\n if (contentLength !== null && bytesWritten !== contentLength) {\n if (client[kStrictContentLength]) {\n throw new RequestContentLengthMismatchError()\n } else {\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n }\n\n if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {\n // istanbul ignore else: only for jest\n if (socket[kParser].timeout.refresh) {\n socket[kParser].timeout.refresh()\n }\n }\n\n resume(client)\n }\n\n destroy (err) {\n const { socket, client } = this\n\n socket[kWriting] = false\n\n if (err) {\n assert(client[kRunning] <= 1, 'pipeline should only contain this request')\n util.destroy(socket, err)\n }\n }\n}\n\nfunction errorRequest (client, request, err) {\n try {\n request.onError(err)\n assert(request.aborted)\n } catch (err) {\n client.emit('error', err)\n }\n}\n\nmodule.exports = Client\n", "/* eslint-disable */\n\n'use strict'\n\n// Extracted from node/lib/internal/fixed_queue.js\n\n// Currently optimal queue size, tested on V8 6.0 - 6.6. Must be power of two.\nconst kSize = 2048;\nconst kMask = kSize - 1;\n\n// The FixedQueue is implemented as a singly-linked list of fixed-size\n// circular buffers. It looks something like this:\n//\n// head tail\n// | |\n// v v\n// +-----------+ <-----\\ +-----------+ <------\\ +-----------+\n// | [null] | \\----- | next | \\------- | next |\n// +-----------+ +-----------+ +-----------+\n// | item | <-- bottom | item | <-- bottom | [empty] |\n// | item | | item | | [empty] |\n// | item | | item | | [empty] |\n// | item | | item | | [empty] |\n// | item | | item | bottom --> | item |\n// | item | | item | | item |\n// | ... | | ... | | ... |\n// | item | | item | | item |\n// | item | | item | | item |\n// | [empty] | <-- top | item | | item |\n// | [empty] | | item | | item |\n// | [empty] | | [empty] | <-- top top --> | [empty] |\n// +-----------+ +-----------+ +-----------+\n//\n// Or, if there is only one circular buffer, it looks something\n// like either of these:\n//\n// head tail head tail\n// | | | |\n// v v v v\n// +-----------+ +-----------+\n// | [null] | | [null] |\n// +-----------+ +-----------+\n// | [empty] | | item |\n// | [empty] | | item |\n// | item | <-- bottom top --> | [empty] |\n// | item | | [empty] |\n// | [empty] | <-- top bottom --> | item |\n// | [empty] | | item |\n// +-----------+ +-----------+\n//\n// Adding a value means moving `top` forward by one, removing means\n// moving `bottom` forward by one. After reaching the end, the queue\n// wraps around.\n//\n// When `top === bottom` the current queue is empty and when\n// `top + 1 === bottom` it's full. This wastes a single space of storage\n// but allows much quicker checks.\n\nclass FixedCircularBuffer {\n constructor() {\n this.bottom = 0;\n this.top = 0;\n this.list = new Array(kSize);\n this.next = null;\n }\n\n isEmpty() {\n return this.top === this.bottom;\n }\n\n isFull() {\n return ((this.top + 1) & kMask) === this.bottom;\n }\n\n push(data) {\n this.list[this.top] = data;\n this.top = (this.top + 1) & kMask;\n }\n\n shift() {\n const nextItem = this.list[this.bottom];\n if (nextItem === undefined)\n return null;\n this.list[this.bottom] = undefined;\n this.bottom = (this.bottom + 1) & kMask;\n return nextItem;\n }\n}\n\nmodule.exports = class FixedQueue {\n constructor() {\n this.head = this.tail = new FixedCircularBuffer();\n }\n\n isEmpty() {\n return this.head.isEmpty();\n }\n\n push(data) {\n if (this.head.isFull()) {\n // Head is full: Creates a new queue, sets the old queue's `.next` to it,\n // and sets it as the new main queue.\n this.head = this.head.next = new FixedCircularBuffer();\n }\n this.head.push(data);\n }\n\n shift() {\n const tail = this.tail;\n const next = tail.shift();\n if (tail.isEmpty() && tail.next !== null) {\n // If there is another queue, it forms the new tail.\n this.tail = tail.next;\n }\n return next;\n }\n};\n", "const { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require('./core/symbols')\nconst kPool = Symbol('pool')\n\nclass PoolStats {\n constructor (pool) {\n this[kPool] = pool\n }\n\n get connected () {\n return this[kPool][kConnected]\n }\n\n get free () {\n return this[kPool][kFree]\n }\n\n get pending () {\n return this[kPool][kPending]\n }\n\n get queued () {\n return this[kPool][kQueued]\n }\n\n get running () {\n return this[kPool][kRunning]\n }\n\n get size () {\n return this[kPool][kSize]\n }\n}\n\nmodule.exports = PoolStats\n", "'use strict'\n\nconst DispatcherBase = require('./dispatcher-base')\nconst FixedQueue = require('./node/fixed-queue')\nconst { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require('./core/symbols')\nconst PoolStats = require('./pool-stats')\n\nconst kClients = Symbol('clients')\nconst kNeedDrain = Symbol('needDrain')\nconst kQueue = Symbol('queue')\nconst kClosedResolve = Symbol('closed resolve')\nconst kOnDrain = Symbol('onDrain')\nconst kOnConnect = Symbol('onConnect')\nconst kOnDisconnect = Symbol('onDisconnect')\nconst kOnConnectionError = Symbol('onConnectionError')\nconst kGetDispatcher = Symbol('get dispatcher')\nconst kAddClient = Symbol('add client')\nconst kRemoveClient = Symbol('remove client')\nconst kStats = Symbol('stats')\n\nclass PoolBase extends DispatcherBase {\n constructor () {\n super()\n\n this[kQueue] = new FixedQueue()\n this[kClients] = []\n this[kQueued] = 0\n\n const pool = this\n\n this[kOnDrain] = function onDrain (origin, targets) {\n const queue = pool[kQueue]\n\n let needDrain = false\n\n while (!needDrain) {\n const item = queue.shift()\n if (!item) {\n break\n }\n pool[kQueued]--\n needDrain = !this.dispatch(item.opts, item.handler)\n }\n\n this[kNeedDrain] = needDrain\n\n if (!this[kNeedDrain] && pool[kNeedDrain]) {\n pool[kNeedDrain] = false\n pool.emit('drain', origin, [pool, ...targets])\n }\n\n if (pool[kClosedResolve] && queue.isEmpty()) {\n Promise\n .all(pool[kClients].map(c => c.close()))\n .then(pool[kClosedResolve])\n }\n }\n\n this[kOnConnect] = (origin, targets) => {\n pool.emit('connect', origin, [pool, ...targets])\n }\n\n this[kOnDisconnect] = (origin, targets, err) => {\n pool.emit('disconnect', origin, [pool, ...targets], err)\n }\n\n this[kOnConnectionError] = (origin, targets, err) => {\n pool.emit('connectionError', origin, [pool, ...targets], err)\n }\n\n this[kStats] = new PoolStats(this)\n }\n\n get [kBusy] () {\n return this[kNeedDrain]\n }\n\n get [kConnected] () {\n return this[kClients].filter(client => client[kConnected]).length\n }\n\n get [kFree] () {\n return this[kClients].filter(client => client[kConnected] && !client[kNeedDrain]).length\n }\n\n get [kPending] () {\n let ret = this[kQueued]\n for (const { [kPending]: pending } of this[kClients]) {\n ret += pending\n }\n return ret\n }\n\n get [kRunning] () {\n let ret = 0\n for (const { [kRunning]: running } of this[kClients]) {\n ret += running\n }\n return ret\n }\n\n get [kSize] () {\n let ret = this[kQueued]\n for (const { [kSize]: size } of this[kClients]) {\n ret += size\n }\n return ret\n }\n\n get stats () {\n return this[kStats]\n }\n\n async [kClose] () {\n if (this[kQueue].isEmpty()) {\n return Promise.all(this[kClients].map(c => c.close()))\n } else {\n return new Promise((resolve) => {\n this[kClosedResolve] = resolve\n })\n }\n }\n\n async [kDestroy] (err) {\n while (true) {\n const item = this[kQueue].shift()\n if (!item) {\n break\n }\n item.handler.onError(err)\n }\n\n return Promise.all(this[kClients].map(c => c.destroy(err)))\n }\n\n [kDispatch] (opts, handler) {\n const dispatcher = this[kGetDispatcher]()\n\n if (!dispatcher) {\n this[kNeedDrain] = true\n this[kQueue].push({ opts, handler })\n this[kQueued]++\n } else if (!dispatcher.dispatch(opts, handler)) {\n dispatcher[kNeedDrain] = true\n this[kNeedDrain] = !this[kGetDispatcher]()\n }\n\n return !this[kNeedDrain]\n }\n\n [kAddClient] (client) {\n client\n .on('drain', this[kOnDrain])\n .on('connect', this[kOnConnect])\n .on('disconnect', this[kOnDisconnect])\n .on('connectionError', this[kOnConnectionError])\n\n this[kClients].push(client)\n\n if (this[kNeedDrain]) {\n process.nextTick(() => {\n if (this[kNeedDrain]) {\n this[kOnDrain](client[kUrl], [this, client])\n }\n })\n }\n\n return this\n }\n\n [kRemoveClient] (client) {\n client.close(() => {\n const idx = this[kClients].indexOf(client)\n if (idx !== -1) {\n this[kClients].splice(idx, 1)\n }\n })\n\n this[kNeedDrain] = this[kClients].some(dispatcher => (\n !dispatcher[kNeedDrain] &&\n dispatcher.closed !== true &&\n dispatcher.destroyed !== true\n ))\n }\n}\n\nmodule.exports = {\n PoolBase,\n kClients,\n kNeedDrain,\n kAddClient,\n kRemoveClient,\n kGetDispatcher\n}\n", "'use strict'\n\nconst {\n PoolBase,\n kClients,\n kNeedDrain,\n kAddClient,\n kGetDispatcher\n} = require('./pool-base')\nconst Client = require('./client')\nconst {\n InvalidArgumentError\n} = require('./core/errors')\nconst util = require('./core/util')\nconst { kUrl, kInterceptors } = require('./core/symbols')\nconst buildConnector = require('./core/connect')\n\nconst kOptions = Symbol('options')\nconst kConnections = Symbol('connections')\nconst kFactory = Symbol('factory')\n\nfunction defaultFactory (origin, opts) {\n return new Client(origin, opts)\n}\n\nclass Pool extends PoolBase {\n constructor (origin, {\n connections,\n factory = defaultFactory,\n connect,\n connectTimeout,\n tls,\n maxCachedSessions,\n socketPath,\n autoSelectFamily,\n autoSelectFamilyAttemptTimeout,\n ...options\n } = {}) {\n super()\n\n if (connections != null && (!Number.isFinite(connections) || connections < 0)) {\n throw new InvalidArgumentError('invalid connections')\n }\n\n if (typeof factory !== 'function') {\n throw new InvalidArgumentError('factory must be a function.')\n }\n\n if (connect != null && typeof connect !== 'function' && typeof connect !== 'object') {\n throw new InvalidArgumentError('connect must be a function or an object')\n }\n\n if (typeof connect !== 'function') {\n connect = buildConnector({\n ...tls,\n maxCachedSessions,\n socketPath,\n timeout: connectTimeout == null ? 10e3 : connectTimeout,\n ...(util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined),\n ...connect\n })\n }\n\n this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool)\n ? options.interceptors.Pool\n : []\n this[kConnections] = connections || null\n this[kUrl] = util.parseOrigin(origin)\n this[kOptions] = { ...util.deepClone(options), connect }\n this[kOptions].interceptors = options.interceptors\n ? { ...options.interceptors }\n : undefined\n this[kFactory] = factory\n }\n\n [kGetDispatcher] () {\n let dispatcher = this[kClients].find(dispatcher => !dispatcher[kNeedDrain])\n\n if (dispatcher) {\n return dispatcher\n }\n\n if (!this[kConnections] || this[kClients].length < this[kConnections]) {\n dispatcher = this[kFactory](this[kUrl], this[kOptions])\n this[kAddClient](dispatcher)\n }\n\n return dispatcher\n }\n}\n\nmodule.exports = Pool\n", "'use strict'\n\nconst {\n BalancedPoolMissingUpstreamError,\n InvalidArgumentError\n} = require('./core/errors')\nconst {\n PoolBase,\n kClients,\n kNeedDrain,\n kAddClient,\n kRemoveClient,\n kGetDispatcher\n} = require('./pool-base')\nconst Pool = require('./pool')\nconst { kUrl, kInterceptors } = require('./core/symbols')\nconst { parseOrigin } = require('./core/util')\nconst kFactory = Symbol('factory')\n\nconst kOptions = Symbol('options')\nconst kGreatestCommonDivisor = Symbol('kGreatestCommonDivisor')\nconst kCurrentWeight = Symbol('kCurrentWeight')\nconst kIndex = Symbol('kIndex')\nconst kWeight = Symbol('kWeight')\nconst kMaxWeightPerServer = Symbol('kMaxWeightPerServer')\nconst kErrorPenalty = Symbol('kErrorPenalty')\n\nfunction getGreatestCommonDivisor (a, b) {\n if (b === 0) return a\n return getGreatestCommonDivisor(b, a % b)\n}\n\nfunction defaultFactory (origin, opts) {\n return new Pool(origin, opts)\n}\n\nclass BalancedPool extends PoolBase {\n constructor (upstreams = [], { factory = defaultFactory, ...opts } = {}) {\n super()\n\n this[kOptions] = opts\n this[kIndex] = -1\n this[kCurrentWeight] = 0\n\n this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100\n this[kErrorPenalty] = this[kOptions].errorPenalty || 15\n\n if (!Array.isArray(upstreams)) {\n upstreams = [upstreams]\n }\n\n if (typeof factory !== 'function') {\n throw new InvalidArgumentError('factory must be a function.')\n }\n\n this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool)\n ? opts.interceptors.BalancedPool\n : []\n this[kFactory] = factory\n\n for (const upstream of upstreams) {\n this.addUpstream(upstream)\n }\n this._updateBalancedPoolStats()\n }\n\n addUpstream (upstream) {\n const upstreamOrigin = parseOrigin(upstream).origin\n\n if (this[kClients].find((pool) => (\n pool[kUrl].origin === upstreamOrigin &&\n pool.closed !== true &&\n pool.destroyed !== true\n ))) {\n return this\n }\n const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]))\n\n this[kAddClient](pool)\n pool.on('connect', () => {\n pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty])\n })\n\n pool.on('connectionError', () => {\n pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty])\n this._updateBalancedPoolStats()\n })\n\n pool.on('disconnect', (...args) => {\n const err = args[2]\n if (err && err.code === 'UND_ERR_SOCKET') {\n // decrease the weight of the pool.\n pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty])\n this._updateBalancedPoolStats()\n }\n })\n\n for (const client of this[kClients]) {\n client[kWeight] = this[kMaxWeightPerServer]\n }\n\n this._updateBalancedPoolStats()\n\n return this\n }\n\n _updateBalancedPoolStats () {\n this[kGreatestCommonDivisor] = this[kClients].map(p => p[kWeight]).reduce(getGreatestCommonDivisor, 0)\n }\n\n removeUpstream (upstream) {\n const upstreamOrigin = parseOrigin(upstream).origin\n\n const pool = this[kClients].find((pool) => (\n pool[kUrl].origin === upstreamOrigin &&\n pool.closed !== true &&\n pool.destroyed !== true\n ))\n\n if (pool) {\n this[kRemoveClient](pool)\n }\n\n return this\n }\n\n get upstreams () {\n return this[kClients]\n .filter(dispatcher => dispatcher.closed !== true && dispatcher.destroyed !== true)\n .map((p) => p[kUrl].origin)\n }\n\n [kGetDispatcher] () {\n // We validate that pools is greater than 0,\n // otherwise we would have to wait until an upstream\n // is added, which might never happen.\n if (this[kClients].length === 0) {\n throw new BalancedPoolMissingUpstreamError()\n }\n\n const dispatcher = this[kClients].find(dispatcher => (\n !dispatcher[kNeedDrain] &&\n dispatcher.closed !== true &&\n dispatcher.destroyed !== true\n ))\n\n if (!dispatcher) {\n return\n }\n\n const allClientsBusy = this[kClients].map(pool => pool[kNeedDrain]).reduce((a, b) => a && b, true)\n\n if (allClientsBusy) {\n return\n }\n\n let counter = 0\n\n let maxWeightIndex = this[kClients].findIndex(pool => !pool[kNeedDrain])\n\n while (counter++ < this[kClients].length) {\n this[kIndex] = (this[kIndex] + 1) % this[kClients].length\n const pool = this[kClients][this[kIndex]]\n\n // find pool index with the largest weight\n if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {\n maxWeightIndex = this[kIndex]\n }\n\n // decrease the current weight every `this[kClients].length`.\n if (this[kIndex] === 0) {\n // Set the current weight to the next lower weight.\n this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor]\n\n if (this[kCurrentWeight] <= 0) {\n this[kCurrentWeight] = this[kMaxWeightPerServer]\n }\n }\n if (pool[kWeight] >= this[kCurrentWeight] && (!pool[kNeedDrain])) {\n return pool\n }\n }\n\n this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight]\n this[kIndex] = maxWeightIndex\n return this[kClients][maxWeightIndex]\n }\n}\n\nmodule.exports = BalancedPool\n", "'use strict'\n\n/* istanbul ignore file: only for Node 12 */\n\nconst { kConnected, kSize } = require('../core/symbols')\n\nclass CompatWeakRef {\n constructor (value) {\n this.value = value\n }\n\n deref () {\n return this.value[kConnected] === 0 && this.value[kSize] === 0\n ? undefined\n : this.value\n }\n}\n\nclass CompatFinalizer {\n constructor (finalizer) {\n this.finalizer = finalizer\n }\n\n register (dispatcher, key) {\n dispatcher.on('disconnect', () => {\n if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {\n this.finalizer(key)\n }\n })\n }\n}\n\nmodule.exports = function () {\n return {\n WeakRef: global.WeakRef || CompatWeakRef,\n FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer\n }\n}\n", "'use strict'\n\nconst { InvalidArgumentError } = require('./core/errors')\nconst { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require('./core/symbols')\nconst DispatcherBase = require('./dispatcher-base')\nconst Pool = require('./pool')\nconst Client = require('./client')\nconst util = require('./core/util')\nconst createRedirectInterceptor = require('./interceptor/redirectInterceptor')\nconst { WeakRef, FinalizationRegistry } = require('./compat/dispatcher-weakref')()\n\nconst kOnConnect = Symbol('onConnect')\nconst kOnDisconnect = Symbol('onDisconnect')\nconst kOnConnectionError = Symbol('onConnectionError')\nconst kMaxRedirections = Symbol('maxRedirections')\nconst kOnDrain = Symbol('onDrain')\nconst kFactory = Symbol('factory')\nconst kFinalizer = Symbol('finalizer')\nconst kOptions = Symbol('options')\n\nfunction defaultFactory (origin, opts) {\n return opts && opts.connections === 1\n ? new Client(origin, opts)\n : new Pool(origin, opts)\n}\n\nclass Agent extends DispatcherBase {\n constructor ({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {\n super()\n\n if (typeof factory !== 'function') {\n throw new InvalidArgumentError('factory must be a function.')\n }\n\n if (connect != null && typeof connect !== 'function' && typeof connect !== 'object') {\n throw new InvalidArgumentError('connect must be a function or an object')\n }\n\n if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {\n throw new InvalidArgumentError('maxRedirections must be a positive number')\n }\n\n if (connect && typeof connect !== 'function') {\n connect = { ...connect }\n }\n\n this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent)\n ? options.interceptors.Agent\n : [createRedirectInterceptor({ maxRedirections })]\n\n this[kOptions] = { ...util.deepClone(options), connect }\n this[kOptions].interceptors = options.interceptors\n ? { ...options.interceptors }\n : undefined\n this[kMaxRedirections] = maxRedirections\n this[kFactory] = factory\n this[kClients] = new Map()\n this[kFinalizer] = new FinalizationRegistry(/* istanbul ignore next: gc is undeterministic */ key => {\n const ref = this[kClients].get(key)\n if (ref !== undefined && ref.deref() === undefined) {\n this[kClients].delete(key)\n }\n })\n\n const agent = this\n\n this[kOnDrain] = (origin, targets) => {\n agent.emit('drain', origin, [agent, ...targets])\n }\n\n this[kOnConnect] = (origin, targets) => {\n agent.emit('connect', origin, [agent, ...targets])\n }\n\n this[kOnDisconnect] = (origin, targets, err) => {\n agent.emit('disconnect', origin, [agent, ...targets], err)\n }\n\n this[kOnConnectionError] = (origin, targets, err) => {\n agent.emit('connectionError', origin, [agent, ...targets], err)\n }\n }\n\n get [kRunning] () {\n let ret = 0\n for (const ref of this[kClients].values()) {\n const client = ref.deref()\n /* istanbul ignore next: gc is undeterministic */\n if (client) {\n ret += client[kRunning]\n }\n }\n return ret\n }\n\n [kDispatch] (opts, handler) {\n let key\n if (opts.origin && (typeof opts.origin === 'string' || opts.origin instanceof URL)) {\n key = String(opts.origin)\n } else {\n throw new InvalidArgumentError('opts.origin must be a non-empty string or URL.')\n }\n\n const ref = this[kClients].get(key)\n\n let dispatcher = ref ? ref.deref() : null\n if (!dispatcher) {\n dispatcher = this[kFactory](opts.origin, this[kOptions])\n .on('drain', this[kOnDrain])\n .on('connect', this[kOnConnect])\n .on('disconnect', this[kOnDisconnect])\n .on('connectionError', this[kOnConnectionError])\n\n this[kClients].set(key, new WeakRef(dispatcher))\n this[kFinalizer].register(dispatcher, key)\n }\n\n return dispatcher.dispatch(opts, handler)\n }\n\n async [kClose] () {\n const closePromises = []\n for (const ref of this[kClients].values()) {\n const client = ref.deref()\n /* istanbul ignore else: gc is undeterministic */\n if (client) {\n closePromises.push(client.close())\n }\n }\n\n await Promise.all(closePromises)\n }\n\n async [kDestroy] (err) {\n const destroyPromises = []\n for (const ref of this[kClients].values()) {\n const client = ref.deref()\n /* istanbul ignore else: gc is undeterministic */\n if (client) {\n destroyPromises.push(client.destroy(err))\n }\n }\n\n await Promise.all(destroyPromises)\n }\n}\n\nmodule.exports = Agent\n", "// Ported from https://github.com/nodejs/undici/pull/907\n\n'use strict'\n\nconst assert = require('assert')\nconst { Readable } = require('stream')\nconst { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require('../core/errors')\nconst util = require('../core/util')\nconst { ReadableStreamFrom, toUSVString } = require('../core/util')\n\nlet Blob\n\nconst kConsume = Symbol('kConsume')\nconst kReading = Symbol('kReading')\nconst kBody = Symbol('kBody')\nconst kAbort = Symbol('abort')\nconst kContentType = Symbol('kContentType')\n\nmodule.exports = class BodyReadable extends Readable {\n constructor ({\n resume,\n abort,\n contentType = '',\n highWaterMark = 64 * 1024 // Same as nodejs fs streams.\n }) {\n super({\n autoDestroy: true,\n read: resume,\n highWaterMark\n })\n\n this._readableState.dataEmitted = false\n\n this[kAbort] = abort\n this[kConsume] = null\n this[kBody] = null\n this[kContentType] = contentType\n\n // Is stream being consumed through Readable API?\n // This is an optimization so that we avoid checking\n // for 'data' and 'readable' listeners in the hot path\n // inside push().\n this[kReading] = false\n }\n\n destroy (err) {\n if (this.destroyed) {\n // Node < 16\n return this\n }\n\n if (!err && !this._readableState.endEmitted) {\n err = new RequestAbortedError()\n }\n\n if (err) {\n this[kAbort]()\n }\n\n return super.destroy(err)\n }\n\n emit (ev, ...args) {\n if (ev === 'data') {\n // Node < 16.7\n this._readableState.dataEmitted = true\n } else if (ev === 'error') {\n // Node < 16\n this._readableState.errorEmitted = true\n }\n return super.emit(ev, ...args)\n }\n\n on (ev, ...args) {\n if (ev === 'data' || ev === 'readable') {\n this[kReading] = true\n }\n return super.on(ev, ...args)\n }\n\n addListener (ev, ...args) {\n return this.on(ev, ...args)\n }\n\n off (ev, ...args) {\n const ret = super.off(ev, ...args)\n if (ev === 'data' || ev === 'readable') {\n this[kReading] = (\n this.listenerCount('data') > 0 ||\n this.listenerCount('readable') > 0\n )\n }\n return ret\n }\n\n removeListener (ev, ...args) {\n return this.off(ev, ...args)\n }\n\n push (chunk) {\n if (this[kConsume] && chunk !== null && this.readableLength === 0) {\n consumePush(this[kConsume], chunk)\n return this[kReading] ? super.push(chunk) : true\n }\n return super.push(chunk)\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-text\n async text () {\n return consume(this, 'text')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-json\n async json () {\n return consume(this, 'json')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-blob\n async blob () {\n return consume(this, 'blob')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-arraybuffer\n async arrayBuffer () {\n return consume(this, 'arrayBuffer')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-formdata\n async formData () {\n // TODO: Implement.\n throw new NotSupportedError()\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-bodyused\n get bodyUsed () {\n return util.isDisturbed(this)\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-body\n get body () {\n if (!this[kBody]) {\n this[kBody] = ReadableStreamFrom(this)\n if (this[kConsume]) {\n // TODO: Is this the best way to force a lock?\n this[kBody].getReader() // Ensure stream is locked.\n assert(this[kBody].locked)\n }\n }\n return this[kBody]\n }\n\n async dump (opts) {\n let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144\n const signal = opts && opts.signal\n const abortFn = () => {\n this.destroy()\n }\n let signalListenerCleanup\n if (signal) {\n if (typeof signal !== 'object' || !('aborted' in signal)) {\n throw new InvalidArgumentError('signal must be an AbortSignal')\n }\n util.throwIfAborted(signal)\n signalListenerCleanup = util.addAbortListener(signal, abortFn)\n }\n try {\n for await (const chunk of this) {\n util.throwIfAborted(signal)\n limit -= Buffer.byteLength(chunk)\n if (limit < 0) {\n return\n }\n }\n } catch {\n util.throwIfAborted(signal)\n } finally {\n if (typeof signalListenerCleanup === 'function') {\n signalListenerCleanup()\n } else if (signalListenerCleanup) {\n signalListenerCleanup[Symbol.dispose]()\n }\n }\n }\n}\n\n// https://streams.spec.whatwg.org/#readablestream-locked\nfunction isLocked (self) {\n // Consume is an implicit lock.\n return (self[kBody] && self[kBody].locked === true) || self[kConsume]\n}\n\n// https://fetch.spec.whatwg.org/#body-unusable\nfunction isUnusable (self) {\n return util.isDisturbed(self) || isLocked(self)\n}\n\nasync function consume (stream, type) {\n if (isUnusable(stream)) {\n throw new TypeError('unusable')\n }\n\n assert(!stream[kConsume])\n\n return new Promise((resolve, reject) => {\n stream[kConsume] = {\n type,\n stream,\n resolve,\n reject,\n length: 0,\n body: []\n }\n\n stream\n .on('error', function (err) {\n consumeFinish(this[kConsume], err)\n })\n .on('close', function () {\n if (this[kConsume].body !== null) {\n consumeFinish(this[kConsume], new RequestAbortedError())\n }\n })\n\n process.nextTick(consumeStart, stream[kConsume])\n })\n}\n\nfunction consumeStart (consume) {\n if (consume.body === null) {\n return\n }\n\n const { _readableState: state } = consume.stream\n\n for (const chunk of state.buffer) {\n consumePush(consume, chunk)\n }\n\n if (state.endEmitted) {\n consumeEnd(this[kConsume])\n } else {\n consume.stream.on('end', function () {\n consumeEnd(this[kConsume])\n })\n }\n\n consume.stream.resume()\n\n while (consume.stream.read() != null) {\n // Loop\n }\n}\n\nfunction consumeEnd (consume) {\n const { type, body, resolve, stream, length } = consume\n\n try {\n if (type === 'text') {\n resolve(toUSVString(Buffer.concat(body)))\n } else if (type === 'json') {\n resolve(JSON.parse(Buffer.concat(body)))\n } else if (type === 'arrayBuffer') {\n const dst = new Uint8Array(length)\n\n let pos = 0\n for (const buf of body) {\n dst.set(buf, pos)\n pos += buf.byteLength\n }\n\n resolve(dst)\n } else if (type === 'blob') {\n if (!Blob) {\n Blob = require('buffer').Blob\n }\n resolve(new Blob(body, { type: stream[kContentType] }))\n }\n\n consumeFinish(consume)\n } catch (err) {\n stream.destroy(err)\n }\n}\n\nfunction consumePush (consume, chunk) {\n consume.length += chunk.length\n consume.body.push(chunk)\n}\n\nfunction consumeFinish (consume, err) {\n if (consume.body === null) {\n return\n }\n\n if (err) {\n consume.reject(err)\n } else {\n consume.resolve()\n }\n\n consume.type = null\n consume.stream = null\n consume.resolve = null\n consume.reject = null\n consume.length = 0\n consume.body = null\n}\n", "const assert = require('assert')\nconst {\n ResponseStatusCodeError\n} = require('../core/errors')\nconst { toUSVString } = require('../core/util')\n\nasync function getResolveErrorBodyCallback ({ callback, body, contentType, statusCode, statusMessage, headers }) {\n assert(body)\n\n let chunks = []\n let limit = 0\n\n for await (const chunk of body) {\n chunks.push(chunk)\n limit += chunk.length\n if (limit > 128 * 1024) {\n chunks = null\n break\n }\n }\n\n if (statusCode === 204 || !contentType || !chunks) {\n process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ''}`, statusCode, headers))\n return\n }\n\n try {\n if (contentType.startsWith('application/json')) {\n const payload = JSON.parse(toUSVString(Buffer.concat(chunks)))\n process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ''}`, statusCode, headers, payload))\n return\n }\n\n if (contentType.startsWith('text/')) {\n const payload = toUSVString(Buffer.concat(chunks))\n process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ''}`, statusCode, headers, payload))\n return\n }\n } catch (err) {\n // Process in a fallback if error\n }\n\n process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ''}`, statusCode, headers))\n}\n\nmodule.exports = { getResolveErrorBodyCallback }\n", "const { addAbortListener } = require('../core/util')\nconst { RequestAbortedError } = require('../core/errors')\n\nconst kListener = Symbol('kListener')\nconst kSignal = Symbol('kSignal')\n\nfunction abort (self) {\n if (self.abort) {\n self.abort()\n } else {\n self.onError(new RequestAbortedError())\n }\n}\n\nfunction addSignal (self, signal) {\n self[kSignal] = null\n self[kListener] = null\n\n if (!signal) {\n return\n }\n\n if (signal.aborted) {\n abort(self)\n return\n }\n\n self[kSignal] = signal\n self[kListener] = () => {\n abort(self)\n }\n\n addAbortListener(self[kSignal], self[kListener])\n}\n\nfunction removeSignal (self) {\n if (!self[kSignal]) {\n return\n }\n\n if ('removeEventListener' in self[kSignal]) {\n self[kSignal].removeEventListener('abort', self[kListener])\n } else {\n self[kSignal].removeListener('abort', self[kListener])\n }\n\n self[kSignal] = null\n self[kListener] = null\n}\n\nmodule.exports = {\n addSignal,\n removeSignal\n}\n", "'use strict'\n\nconst Readable = require('./readable')\nconst {\n InvalidArgumentError,\n RequestAbortedError\n} = require('../core/errors')\nconst util = require('../core/util')\nconst { getResolveErrorBodyCallback } = require('./util')\nconst { AsyncResource } = require('async_hooks')\nconst { addSignal, removeSignal } = require('./abort-signal')\n\nclass RequestHandler extends AsyncResource {\n constructor (opts, callback) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts\n\n try {\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n if (highWaterMark && (typeof highWaterMark !== 'number' || highWaterMark < 0)) {\n throw new InvalidArgumentError('invalid highWaterMark')\n }\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n if (method === 'CONNECT') {\n throw new InvalidArgumentError('invalid method')\n }\n\n if (onInfo && typeof onInfo !== 'function') {\n throw new InvalidArgumentError('invalid onInfo callback')\n }\n\n super('UNDICI_REQUEST')\n } catch (err) {\n if (util.isStream(body)) {\n util.destroy(body.on('error', util.nop), err)\n }\n throw err\n }\n\n this.responseHeaders = responseHeaders || null\n this.opaque = opaque || null\n this.callback = callback\n this.res = null\n this.abort = null\n this.body = body\n this.trailers = {}\n this.context = null\n this.onInfo = onInfo || null\n this.throwOnError = throwOnError\n this.highWaterMark = highWaterMark\n\n if (util.isStream(body)) {\n body.on('error', (err) => {\n this.onError(err)\n })\n }\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n if (!this.callback) {\n throw new RequestAbortedError()\n }\n\n this.abort = abort\n this.context = context\n }\n\n onHeaders (statusCode, rawHeaders, resume, statusMessage) {\n const { callback, opaque, abort, context, responseHeaders, highWaterMark } = this\n\n const headers = responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n\n if (statusCode < 200) {\n if (this.onInfo) {\n this.onInfo({ statusCode, headers })\n }\n return\n }\n\n const parsedHeaders = responseHeaders === 'raw' ? util.parseHeaders(rawHeaders) : headers\n const contentType = parsedHeaders['content-type']\n const body = new Readable({ resume, abort, contentType, highWaterMark })\n\n this.callback = null\n this.res = body\n\n if (callback !== null) {\n if (this.throwOnError && statusCode >= 400) {\n this.runInAsyncScope(getResolveErrorBodyCallback, null,\n { callback, body, contentType, statusCode, statusMessage, headers }\n )\n } else {\n this.runInAsyncScope(callback, null, null, {\n statusCode,\n headers,\n trailers: this.trailers,\n opaque,\n body,\n context\n })\n }\n }\n }\n\n onData (chunk) {\n const { res } = this\n return res.push(chunk)\n }\n\n onComplete (trailers) {\n const { res } = this\n\n removeSignal(this)\n\n util.parseHeaders(trailers, this.trailers)\n\n res.push(null)\n }\n\n onError (err) {\n const { res, callback, body, opaque } = this\n\n removeSignal(this)\n\n if (callback) {\n // TODO: Does this need queueMicrotask?\n this.callback = null\n queueMicrotask(() => {\n this.runInAsyncScope(callback, null, err, { opaque })\n })\n }\n\n if (res) {\n this.res = null\n // Ensure all queued handlers are invoked before destroying res.\n queueMicrotask(() => {\n util.destroy(res, err)\n })\n }\n\n if (body) {\n this.body = null\n util.destroy(body, err)\n }\n }\n}\n\nfunction request (opts, callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n request.call(this, opts, (err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n try {\n this.dispatch(opts, new RequestHandler(opts, callback))\n } catch (err) {\n if (typeof callback !== 'function') {\n throw err\n }\n const opaque = opts && opts.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = request\n", "'use strict'\n\nconst { finished, PassThrough } = require('stream')\nconst {\n InvalidArgumentError,\n InvalidReturnValueError,\n RequestAbortedError\n} = require('../core/errors')\nconst util = require('../core/util')\nconst { getResolveErrorBodyCallback } = require('./util')\nconst { AsyncResource } = require('async_hooks')\nconst { addSignal, removeSignal } = require('./abort-signal')\n\nclass StreamHandler extends AsyncResource {\n constructor (opts, factory, callback) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts\n\n try {\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n if (typeof factory !== 'function') {\n throw new InvalidArgumentError('invalid factory')\n }\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n if (method === 'CONNECT') {\n throw new InvalidArgumentError('invalid method')\n }\n\n if (onInfo && typeof onInfo !== 'function') {\n throw new InvalidArgumentError('invalid onInfo callback')\n }\n\n super('UNDICI_STREAM')\n } catch (err) {\n if (util.isStream(body)) {\n util.destroy(body.on('error', util.nop), err)\n }\n throw err\n }\n\n this.responseHeaders = responseHeaders || null\n this.opaque = opaque || null\n this.factory = factory\n this.callback = callback\n this.res = null\n this.abort = null\n this.context = null\n this.trailers = null\n this.body = body\n this.onInfo = onInfo || null\n this.throwOnError = throwOnError || false\n\n if (util.isStream(body)) {\n body.on('error', (err) => {\n this.onError(err)\n })\n }\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n if (!this.callback) {\n throw new RequestAbortedError()\n }\n\n this.abort = abort\n this.context = context\n }\n\n onHeaders (statusCode, rawHeaders, resume, statusMessage) {\n const { factory, opaque, context, callback, responseHeaders } = this\n\n const headers = responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n\n if (statusCode < 200) {\n if (this.onInfo) {\n this.onInfo({ statusCode, headers })\n }\n return\n }\n\n this.factory = null\n\n let res\n\n if (this.throwOnError && statusCode >= 400) {\n const parsedHeaders = responseHeaders === 'raw' ? util.parseHeaders(rawHeaders) : headers\n const contentType = parsedHeaders['content-type']\n res = new PassThrough()\n\n this.callback = null\n this.runInAsyncScope(getResolveErrorBodyCallback, null,\n { callback, body: res, contentType, statusCode, statusMessage, headers }\n )\n } else {\n res = this.runInAsyncScope(factory, null, {\n statusCode,\n headers,\n opaque,\n context\n })\n\n if (\n !res ||\n typeof res.write !== 'function' ||\n typeof res.end !== 'function' ||\n typeof res.on !== 'function'\n ) {\n throw new InvalidReturnValueError('expected Writable')\n }\n\n // TODO: Avoid finished. It registers an unnecessary amount of listeners.\n finished(res, { readable: false }, (err) => {\n const { callback, res, opaque, trailers, abort } = this\n\n this.res = null\n if (err || !res.readable) {\n util.destroy(res, err)\n }\n\n this.callback = null\n this.runInAsyncScope(callback, null, err || null, { opaque, trailers })\n\n if (err) {\n abort()\n }\n })\n }\n\n res.on('drain', resume)\n\n this.res = res\n\n const needDrain = res.writableNeedDrain !== undefined\n ? res.writableNeedDrain\n : res._writableState && res._writableState.needDrain\n\n return needDrain !== true\n }\n\n onData (chunk) {\n const { res } = this\n\n return res.write(chunk)\n }\n\n onComplete (trailers) {\n const { res } = this\n\n removeSignal(this)\n\n this.trailers = util.parseHeaders(trailers)\n\n res.end()\n }\n\n onError (err) {\n const { res, callback, opaque, body } = this\n\n removeSignal(this)\n\n this.factory = null\n\n if (res) {\n this.res = null\n util.destroy(res, err)\n } else if (callback) {\n this.callback = null\n queueMicrotask(() => {\n this.runInAsyncScope(callback, null, err, { opaque })\n })\n }\n\n if (body) {\n this.body = null\n util.destroy(body, err)\n }\n }\n}\n\nfunction stream (opts, factory, callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n stream.call(this, opts, factory, (err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n try {\n this.dispatch(opts, new StreamHandler(opts, factory, callback))\n } catch (err) {\n if (typeof callback !== 'function') {\n throw err\n }\n const opaque = opts && opts.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = stream\n", "'use strict'\n\nconst {\n Readable,\n Duplex,\n PassThrough\n} = require('stream')\nconst {\n InvalidArgumentError,\n InvalidReturnValueError,\n RequestAbortedError\n} = require('../core/errors')\nconst util = require('../core/util')\nconst { AsyncResource } = require('async_hooks')\nconst { addSignal, removeSignal } = require('./abort-signal')\nconst assert = require('assert')\n\nconst kResume = Symbol('resume')\n\nclass PipelineRequest extends Readable {\n constructor () {\n super({ autoDestroy: true })\n\n this[kResume] = null\n }\n\n _read () {\n const { [kResume]: resume } = this\n\n if (resume) {\n this[kResume] = null\n resume()\n }\n }\n\n _destroy (err, callback) {\n this._read()\n\n callback(err)\n }\n}\n\nclass PipelineResponse extends Readable {\n constructor (resume) {\n super({ autoDestroy: true })\n this[kResume] = resume\n }\n\n _read () {\n this[kResume]()\n }\n\n _destroy (err, callback) {\n if (!err && !this._readableState.endEmitted) {\n err = new RequestAbortedError()\n }\n\n callback(err)\n }\n}\n\nclass PipelineHandler extends AsyncResource {\n constructor (opts, handler) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n if (typeof handler !== 'function') {\n throw new InvalidArgumentError('invalid handler')\n }\n\n const { signal, method, opaque, onInfo, responseHeaders } = opts\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n if (method === 'CONNECT') {\n throw new InvalidArgumentError('invalid method')\n }\n\n if (onInfo && typeof onInfo !== 'function') {\n throw new InvalidArgumentError('invalid onInfo callback')\n }\n\n super('UNDICI_PIPELINE')\n\n this.opaque = opaque || null\n this.responseHeaders = responseHeaders || null\n this.handler = handler\n this.abort = null\n this.context = null\n this.onInfo = onInfo || null\n\n this.req = new PipelineRequest().on('error', util.nop)\n\n this.ret = new Duplex({\n readableObjectMode: opts.objectMode,\n autoDestroy: true,\n read: () => {\n const { body } = this\n\n if (body && body.resume) {\n body.resume()\n }\n },\n write: (chunk, encoding, callback) => {\n const { req } = this\n\n if (req.push(chunk, encoding) || req._readableState.destroyed) {\n callback()\n } else {\n req[kResume] = callback\n }\n },\n destroy: (err, callback) => {\n const { body, req, res, ret, abort } = this\n\n if (!err && !ret._readableState.endEmitted) {\n err = new RequestAbortedError()\n }\n\n if (abort && err) {\n abort()\n }\n\n util.destroy(body, err)\n util.destroy(req, err)\n util.destroy(res, err)\n\n removeSignal(this)\n\n callback(err)\n }\n }).on('prefinish', () => {\n const { req } = this\n\n // Node < 15 does not call _final in same tick.\n req.push(null)\n })\n\n this.res = null\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n const { ret, res } = this\n\n assert(!res, 'pipeline cannot be retried')\n\n if (ret.destroyed) {\n throw new RequestAbortedError()\n }\n\n this.abort = abort\n this.context = context\n }\n\n onHeaders (statusCode, rawHeaders, resume) {\n const { opaque, handler, context } = this\n\n if (statusCode < 200) {\n if (this.onInfo) {\n const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n this.onInfo({ statusCode, headers })\n }\n return\n }\n\n this.res = new PipelineResponse(resume)\n\n let body\n try {\n this.handler = null\n const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n body = this.runInAsyncScope(handler, null, {\n statusCode,\n headers,\n opaque,\n body: this.res,\n context\n })\n } catch (err) {\n this.res.on('error', util.nop)\n throw err\n }\n\n if (!body || typeof body.on !== 'function') {\n throw new InvalidReturnValueError('expected Readable')\n }\n\n body\n .on('data', (chunk) => {\n const { ret, body } = this\n\n if (!ret.push(chunk) && body.pause) {\n body.pause()\n }\n })\n .on('error', (err) => {\n const { ret } = this\n\n util.destroy(ret, err)\n })\n .on('end', () => {\n const { ret } = this\n\n ret.push(null)\n })\n .on('close', () => {\n const { ret } = this\n\n if (!ret._readableState.ended) {\n util.destroy(ret, new RequestAbortedError())\n }\n })\n\n this.body = body\n }\n\n onData (chunk) {\n const { res } = this\n return res.push(chunk)\n }\n\n onComplete (trailers) {\n const { res } = this\n res.push(null)\n }\n\n onError (err) {\n const { ret } = this\n this.handler = null\n util.destroy(ret, err)\n }\n}\n\nfunction pipeline (opts, handler) {\n try {\n const pipelineHandler = new PipelineHandler(opts, handler)\n this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler)\n return pipelineHandler.ret\n } catch (err) {\n return new PassThrough().destroy(err)\n }\n}\n\nmodule.exports = pipeline\n", "'use strict'\n\nconst { InvalidArgumentError, RequestAbortedError, SocketError } = require('../core/errors')\nconst { AsyncResource } = require('async_hooks')\nconst util = require('../core/util')\nconst { addSignal, removeSignal } = require('./abort-signal')\nconst assert = require('assert')\n\nclass UpgradeHandler extends AsyncResource {\n constructor (opts, callback) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n const { signal, opaque, responseHeaders } = opts\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n super('UNDICI_UPGRADE')\n\n this.responseHeaders = responseHeaders || null\n this.opaque = opaque || null\n this.callback = callback\n this.abort = null\n this.context = null\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n if (!this.callback) {\n throw new RequestAbortedError()\n }\n\n this.abort = abort\n this.context = null\n }\n\n onHeaders () {\n throw new SocketError('bad upgrade', null)\n }\n\n onUpgrade (statusCode, rawHeaders, socket) {\n const { callback, opaque, context } = this\n\n assert.strictEqual(statusCode, 101)\n\n removeSignal(this)\n\n this.callback = null\n const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n this.runInAsyncScope(callback, null, null, {\n headers,\n socket,\n opaque,\n context\n })\n }\n\n onError (err) {\n const { callback, opaque } = this\n\n removeSignal(this)\n\n if (callback) {\n this.callback = null\n queueMicrotask(() => {\n this.runInAsyncScope(callback, null, err, { opaque })\n })\n }\n }\n}\n\nfunction upgrade (opts, callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n upgrade.call(this, opts, (err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n try {\n const upgradeHandler = new UpgradeHandler(opts, callback)\n this.dispatch({\n ...opts,\n method: opts.method || 'GET',\n upgrade: opts.protocol || 'Websocket'\n }, upgradeHandler)\n } catch (err) {\n if (typeof callback !== 'function') {\n throw err\n }\n const opaque = opts && opts.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = upgrade\n", "'use strict'\n\nconst { InvalidArgumentError, RequestAbortedError, SocketError } = require('../core/errors')\nconst { AsyncResource } = require('async_hooks')\nconst util = require('../core/util')\nconst { addSignal, removeSignal } = require('./abort-signal')\n\nclass ConnectHandler extends AsyncResource {\n constructor (opts, callback) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n const { signal, opaque, responseHeaders } = opts\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n super('UNDICI_CONNECT')\n\n this.opaque = opaque || null\n this.responseHeaders = responseHeaders || null\n this.callback = callback\n this.abort = null\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n if (!this.callback) {\n throw new RequestAbortedError()\n }\n\n this.abort = abort\n this.context = context\n }\n\n onHeaders () {\n throw new SocketError('bad connect', null)\n }\n\n onUpgrade (statusCode, rawHeaders, socket) {\n const { callback, opaque, context } = this\n\n removeSignal(this)\n\n this.callback = null\n const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n this.runInAsyncScope(callback, null, null, {\n statusCode,\n headers,\n socket,\n opaque,\n context\n })\n }\n\n onError (err) {\n const { callback, opaque } = this\n\n removeSignal(this)\n\n if (callback) {\n this.callback = null\n queueMicrotask(() => {\n this.runInAsyncScope(callback, null, err, { opaque })\n })\n }\n }\n}\n\nfunction connect (opts, callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n connect.call(this, opts, (err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n try {\n const connectHandler = new ConnectHandler(opts, callback)\n this.dispatch({ ...opts, method: 'CONNECT' }, connectHandler)\n } catch (err) {\n if (typeof callback !== 'function') {\n throw err\n }\n const opaque = opts && opts.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = connect\n", "'use strict'\n\nmodule.exports.request = require('./api-request')\nmodule.exports.stream = require('./api-stream')\nmodule.exports.pipeline = require('./api-pipeline')\nmodule.exports.upgrade = require('./api-upgrade')\nmodule.exports.connect = require('./api-connect')\n", "'use strict'\n\nconst { UndiciError } = require('../core/errors')\n\nclass MockNotMatchedError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, MockNotMatchedError)\n this.name = 'MockNotMatchedError'\n this.message = message || 'The request does not match any registered mock dispatches'\n this.code = 'UND_MOCK_ERR_MOCK_NOT_MATCHED'\n }\n}\n\nmodule.exports = {\n MockNotMatchedError\n}\n", "'use strict'\n\nmodule.exports = {\n kAgent: Symbol('agent'),\n kOptions: Symbol('options'),\n kFactory: Symbol('factory'),\n kDispatches: Symbol('dispatches'),\n kDispatchKey: Symbol('dispatch key'),\n kDefaultHeaders: Symbol('default headers'),\n kDefaultTrailers: Symbol('default trailers'),\n kContentLength: Symbol('content length'),\n kMockAgent: Symbol('mock agent'),\n kMockAgentSet: Symbol('mock agent set'),\n kMockAgentGet: Symbol('mock agent get'),\n kMockDispatch: Symbol('mock dispatch'),\n kClose: Symbol('close'),\n kOriginalClose: Symbol('original agent close'),\n kOrigin: Symbol('origin'),\n kIsMockActive: Symbol('is mock active'),\n kNetConnect: Symbol('net connect'),\n kGetNetConnect: Symbol('get net connect'),\n kConnected: Symbol('connected')\n}\n", "'use strict'\n\nconst { MockNotMatchedError } = require('./mock-errors')\nconst {\n kDispatches,\n kMockAgent,\n kOriginalDispatch,\n kOrigin,\n kGetNetConnect\n} = require('./mock-symbols')\nconst { buildURL, nop } = require('../core/util')\nconst { STATUS_CODES } = require('http')\nconst {\n types: {\n isPromise\n }\n} = require('util')\n\nfunction matchValue (match, value) {\n if (typeof match === 'string') {\n return match === value\n }\n if (match instanceof RegExp) {\n return match.test(value)\n }\n if (typeof match === 'function') {\n return match(value) === true\n }\n return false\n}\n\nfunction lowerCaseEntries (headers) {\n return Object.fromEntries(\n Object.entries(headers).map(([headerName, headerValue]) => {\n return [headerName.toLocaleLowerCase(), headerValue]\n })\n )\n}\n\n/**\n * @param {import('../../index').Headers|string[]|Record<string, string>} headers\n * @param {string} key\n */\nfunction getHeaderByName (headers, key) {\n if (Array.isArray(headers)) {\n for (let i = 0; i < headers.length; i += 2) {\n if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {\n return headers[i + 1]\n }\n }\n\n return undefined\n } else if (typeof headers.get === 'function') {\n return headers.get(key)\n } else {\n return lowerCaseEntries(headers)[key.toLocaleLowerCase()]\n }\n}\n\n/** @param {string[]} headers */\nfunction buildHeadersFromArray (headers) { // fetch HeadersList\n const clone = headers.slice()\n const entries = []\n for (let index = 0; index < clone.length; index += 2) {\n entries.push([clone[index], clone[index + 1]])\n }\n return Object.fromEntries(entries)\n}\n\nfunction matchHeaders (mockDispatch, headers) {\n if (typeof mockDispatch.headers === 'function') {\n if (Array.isArray(headers)) { // fetch HeadersList\n headers = buildHeadersFromArray(headers)\n }\n return mockDispatch.headers(headers ? lowerCaseEntries(headers) : {})\n }\n if (typeof mockDispatch.headers === 'undefined') {\n return true\n }\n if (typeof headers !== 'object' || typeof mockDispatch.headers !== 'object') {\n return false\n }\n\n for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch.headers)) {\n const headerValue = getHeaderByName(headers, matchHeaderName)\n\n if (!matchValue(matchHeaderValue, headerValue)) {\n return false\n }\n }\n return true\n}\n\nfunction safeUrl (path) {\n if (typeof path !== 'string') {\n return path\n }\n\n const pathSegments = path.split('?')\n\n if (pathSegments.length !== 2) {\n return path\n }\n\n const qp = new URLSearchParams(pathSegments.pop())\n qp.sort()\n return [...pathSegments, qp.toString()].join('?')\n}\n\nfunction matchKey (mockDispatch, { path, method, body, headers }) {\n const pathMatch = matchValue(mockDispatch.path, path)\n const methodMatch = matchValue(mockDispatch.method, method)\n const bodyMatch = typeof mockDispatch.body !== 'undefined' ? matchValue(mockDispatch.body, body) : true\n const headersMatch = matchHeaders(mockDispatch, headers)\n return pathMatch && methodMatch && bodyMatch && headersMatch\n}\n\nfunction getResponseData (data) {\n if (Buffer.isBuffer(data)) {\n return data\n } else if (typeof data === 'object') {\n return JSON.stringify(data)\n } else {\n return data.toString()\n }\n}\n\nfunction getMockDispatch (mockDispatches, key) {\n const basePath = key.query ? buildURL(key.path, key.query) : key.path\n const resolvedPath = typeof basePath === 'string' ? safeUrl(basePath) : basePath\n\n // Match path\n let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path }) => matchValue(safeUrl(path), resolvedPath))\n if (matchedMockDispatches.length === 0) {\n throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`)\n }\n\n // Match method\n matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method))\n if (matchedMockDispatches.length === 0) {\n throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`)\n }\n\n // Match body\n matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== 'undefined' ? matchValue(body, key.body) : true)\n if (matchedMockDispatches.length === 0) {\n throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`)\n }\n\n // Match headers\n matchedMockDispatches = matchedMockDispatches.filter((mockDispatch) => matchHeaders(mockDispatch, key.headers))\n if (matchedMockDispatches.length === 0) {\n throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === 'object' ? JSON.stringify(key.headers) : key.headers}'`)\n }\n\n return matchedMockDispatches[0]\n}\n\nfunction addMockDispatch (mockDispatches, key, data) {\n const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false }\n const replyData = typeof data === 'function' ? { callback: data } : { ...data }\n const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } }\n mockDispatches.push(newMockDispatch)\n return newMockDispatch\n}\n\nfunction deleteMockDispatch (mockDispatches, key) {\n const index = mockDispatches.findIndex(dispatch => {\n if (!dispatch.consumed) {\n return false\n }\n return matchKey(dispatch, key)\n })\n if (index !== -1) {\n mockDispatches.splice(index, 1)\n }\n}\n\nfunction buildKey (opts) {\n const { path, method, body, headers, query } = opts\n return {\n path,\n method,\n body,\n headers,\n query\n }\n}\n\nfunction generateKeyValues (data) {\n return Object.entries(data).reduce((keyValuePairs, [key, value]) => [\n ...keyValuePairs,\n Buffer.from(`${key}`),\n Array.isArray(value) ? value.map(x => Buffer.from(`${x}`)) : Buffer.from(`${value}`)\n ], [])\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status\n * @param {number} statusCode\n */\nfunction getStatusText (statusCode) {\n return STATUS_CODES[statusCode] || 'unknown'\n}\n\nasync function getResponse (body) {\n const buffers = []\n for await (const data of body) {\n buffers.push(data)\n }\n return Buffer.concat(buffers).toString('utf8')\n}\n\n/**\n * Mock dispatch function used to simulate undici dispatches\n */\nfunction mockDispatch (opts, handler) {\n // Get mock dispatch from built key\n const key = buildKey(opts)\n const mockDispatch = getMockDispatch(this[kDispatches], key)\n\n mockDispatch.timesInvoked++\n\n // Here's where we resolve a callback if a callback is present for the dispatch data.\n if (mockDispatch.data.callback) {\n mockDispatch.data = { ...mockDispatch.data, ...mockDispatch.data.callback(opts) }\n }\n\n // Parse mockDispatch data\n const { data: { statusCode, data, headers, trailers, error }, delay, persist } = mockDispatch\n const { timesInvoked, times } = mockDispatch\n\n // If it's used up and not persistent, mark as consumed\n mockDispatch.consumed = !persist && timesInvoked >= times\n mockDispatch.pending = timesInvoked < times\n\n // If specified, trigger dispatch error\n if (error !== null) {\n deleteMockDispatch(this[kDispatches], key)\n handler.onError(error)\n return true\n }\n\n // Handle the request with a delay if necessary\n if (typeof delay === 'number' && delay > 0) {\n setTimeout(() => {\n handleReply(this[kDispatches])\n }, delay)\n } else {\n handleReply(this[kDispatches])\n }\n\n function handleReply (mockDispatches, _data = data) {\n // fetch's HeadersList is a 1D string array\n const optsHeaders = Array.isArray(opts.headers)\n ? buildHeadersFromArray(opts.headers)\n : opts.headers\n const body = typeof _data === 'function'\n ? _data({ ...opts, headers: optsHeaders })\n : _data\n\n // util.types.isPromise is likely needed for jest.\n if (isPromise(body)) {\n // If handleReply is asynchronous, throwing an error\n // in the callback will reject the promise, rather than\n // synchronously throw the error, which breaks some tests.\n // Rather, we wait for the callback to resolve if it is a\n // promise, and then re-run handleReply with the new body.\n body.then((newData) => handleReply(mockDispatches, newData))\n return\n }\n\n const responseData = getResponseData(body)\n const responseHeaders = generateKeyValues(headers)\n const responseTrailers = generateKeyValues(trailers)\n\n handler.abort = nop\n handler.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode))\n handler.onData(Buffer.from(responseData))\n handler.onComplete(responseTrailers)\n deleteMockDispatch(mockDispatches, key)\n }\n\n function resume () {}\n\n return true\n}\n\nfunction buildMockDispatch () {\n const agent = this[kMockAgent]\n const origin = this[kOrigin]\n const originalDispatch = this[kOriginalDispatch]\n\n return function dispatch (opts, handler) {\n if (agent.isMockActive) {\n try {\n mockDispatch.call(this, opts, handler)\n } catch (error) {\n if (error instanceof MockNotMatchedError) {\n const netConnect = agent[kGetNetConnect]()\n if (netConnect === false) {\n throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`)\n }\n if (checkNetConnect(netConnect, origin)) {\n originalDispatch.call(this, opts, handler)\n } else {\n throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`)\n }\n } else {\n throw error\n }\n }\n } else {\n originalDispatch.call(this, opts, handler)\n }\n }\n}\n\nfunction checkNetConnect (netConnect, origin) {\n const url = new URL(origin)\n if (netConnect === true) {\n return true\n } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {\n return true\n }\n return false\n}\n\nfunction buildMockOptions (opts) {\n if (opts) {\n const { agent, ...mockOptions } = opts\n return mockOptions\n }\n}\n\nmodule.exports = {\n getResponseData,\n getMockDispatch,\n addMockDispatch,\n deleteMockDispatch,\n buildKey,\n generateKeyValues,\n matchValue,\n getResponse,\n getStatusText,\n mockDispatch,\n buildMockDispatch,\n checkNetConnect,\n buildMockOptions,\n getHeaderByName\n}\n", "'use strict'\n\nconst { getResponseData, buildKey, addMockDispatch } = require('./mock-utils')\nconst {\n kDispatches,\n kDispatchKey,\n kDefaultHeaders,\n kDefaultTrailers,\n kContentLength,\n kMockDispatch\n} = require('./mock-symbols')\nconst { InvalidArgumentError } = require('../core/errors')\nconst { buildURL } = require('../core/util')\n\n/**\n * Defines the scope API for an interceptor reply\n */\nclass MockScope {\n constructor (mockDispatch) {\n this[kMockDispatch] = mockDispatch\n }\n\n /**\n * Delay a reply by a set amount in ms.\n */\n delay (waitInMs) {\n if (typeof waitInMs !== 'number' || !Number.isInteger(waitInMs) || waitInMs <= 0) {\n throw new InvalidArgumentError('waitInMs must be a valid integer > 0')\n }\n\n this[kMockDispatch].delay = waitInMs\n return this\n }\n\n /**\n * For a defined reply, never mark as consumed.\n */\n persist () {\n this[kMockDispatch].persist = true\n return this\n }\n\n /**\n * Allow one to define a reply for a set amount of matching requests.\n */\n times (repeatTimes) {\n if (typeof repeatTimes !== 'number' || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {\n throw new InvalidArgumentError('repeatTimes must be a valid integer > 0')\n }\n\n this[kMockDispatch].times = repeatTimes\n return this\n }\n}\n\n/**\n * Defines an interceptor for a Mock\n */\nclass MockInterceptor {\n constructor (opts, mockDispatches) {\n if (typeof opts !== 'object') {\n throw new InvalidArgumentError('opts must be an object')\n }\n if (typeof opts.path === 'undefined') {\n throw new InvalidArgumentError('opts.path must be defined')\n }\n if (typeof opts.method === 'undefined') {\n opts.method = 'GET'\n }\n // See https://github.com/nodejs/undici/issues/1245\n // As per RFC 3986, clients are not supposed to send URI\n // fragments to servers when they retrieve a document,\n if (typeof opts.path === 'string') {\n if (opts.query) {\n opts.path = buildURL(opts.path, opts.query)\n } else {\n // Matches https://github.com/nodejs/undici/blob/main/lib/fetch/index.js#L1811\n const parsedURL = new URL(opts.path, 'data://')\n opts.path = parsedURL.pathname + parsedURL.search\n }\n }\n if (typeof opts.method === 'string') {\n opts.method = opts.method.toUpperCase()\n }\n\n this[kDispatchKey] = buildKey(opts)\n this[kDispatches] = mockDispatches\n this[kDefaultHeaders] = {}\n this[kDefaultTrailers] = {}\n this[kContentLength] = false\n }\n\n createMockScopeDispatchData (statusCode, data, responseOptions = {}) {\n const responseData = getResponseData(data)\n const contentLength = this[kContentLength] ? { 'content-length': responseData.length } : {}\n const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers }\n const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers }\n\n return { statusCode, data, headers, trailers }\n }\n\n validateReplyParameters (statusCode, data, responseOptions) {\n if (typeof statusCode === 'undefined') {\n throw new InvalidArgumentError('statusCode must be defined')\n }\n if (typeof data === 'undefined') {\n throw new InvalidArgumentError('data must be defined')\n }\n if (typeof responseOptions !== 'object') {\n throw new InvalidArgumentError('responseOptions must be an object')\n }\n }\n\n /**\n * Mock an undici request with a defined reply.\n */\n reply (replyData) {\n // Values of reply aren't available right now as they\n // can only be available when the reply callback is invoked.\n if (typeof replyData === 'function') {\n // We'll first wrap the provided callback in another function,\n // this function will properly resolve the data from the callback\n // when invoked.\n const wrappedDefaultsCallback = (opts) => {\n // Our reply options callback contains the parameter for statusCode, data and options.\n const resolvedData = replyData(opts)\n\n // Check if it is in the right format\n if (typeof resolvedData !== 'object') {\n throw new InvalidArgumentError('reply options callback must return an object')\n }\n\n const { statusCode, data = '', responseOptions = {} } = resolvedData\n this.validateReplyParameters(statusCode, data, responseOptions)\n // Since the values can be obtained immediately we return them\n // from this higher order function that will be resolved later.\n return {\n ...this.createMockScopeDispatchData(statusCode, data, responseOptions)\n }\n }\n\n // Add usual dispatch data, but this time set the data parameter to function that will eventually provide data.\n const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback)\n return new MockScope(newMockDispatch)\n }\n\n // We can have either one or three parameters, if we get here,\n // we should have 1-3 parameters. So we spread the arguments of\n // this function to obtain the parameters, since replyData will always\n // just be the statusCode.\n const [statusCode, data = '', responseOptions = {}] = [...arguments]\n this.validateReplyParameters(statusCode, data, responseOptions)\n\n // Send in-already provided data like usual\n const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions)\n const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData)\n return new MockScope(newMockDispatch)\n }\n\n /**\n * Mock an undici request with a defined error.\n */\n replyWithError (error) {\n if (typeof error === 'undefined') {\n throw new InvalidArgumentError('error must be defined')\n }\n\n const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error })\n return new MockScope(newMockDispatch)\n }\n\n /**\n * Set default reply headers on the interceptor for subsequent replies\n */\n defaultReplyHeaders (headers) {\n if (typeof headers === 'undefined') {\n throw new InvalidArgumentError('headers must be defined')\n }\n\n this[kDefaultHeaders] = headers\n return this\n }\n\n /**\n * Set default reply trailers on the interceptor for subsequent replies\n */\n defaultReplyTrailers (trailers) {\n if (typeof trailers === 'undefined') {\n throw new InvalidArgumentError('trailers must be defined')\n }\n\n this[kDefaultTrailers] = trailers\n return this\n }\n\n /**\n * Set reply content length header for replies on the interceptor\n */\n replyContentLength () {\n this[kContentLength] = true\n return this\n }\n}\n\nmodule.exports.MockInterceptor = MockInterceptor\nmodule.exports.MockScope = MockScope\n", "'use strict'\n\nconst { promisify } = require('util')\nconst Client = require('../client')\nconst { buildMockDispatch } = require('./mock-utils')\nconst {\n kDispatches,\n kMockAgent,\n kClose,\n kOriginalClose,\n kOrigin,\n kOriginalDispatch,\n kConnected\n} = require('./mock-symbols')\nconst { MockInterceptor } = require('./mock-interceptor')\nconst Symbols = require('../core/symbols')\nconst { InvalidArgumentError } = require('../core/errors')\n\n/**\n * MockClient provides an API that extends the Client to influence the mockDispatches.\n */\nclass MockClient extends Client {\n constructor (origin, opts) {\n super(origin, opts)\n\n if (!opts || !opts.agent || typeof opts.agent.dispatch !== 'function') {\n throw new InvalidArgumentError('Argument opts.agent must implement Agent')\n }\n\n this[kMockAgent] = opts.agent\n this[kOrigin] = origin\n this[kDispatches] = []\n this[kConnected] = 1\n this[kOriginalDispatch] = this.dispatch\n this[kOriginalClose] = this.close.bind(this)\n\n this.dispatch = buildMockDispatch.call(this)\n this.close = this[kClose]\n }\n\n get [Symbols.kConnected] () {\n return this[kConnected]\n }\n\n /**\n * Sets up the base interceptor for mocking replies from undici.\n */\n intercept (opts) {\n return new MockInterceptor(opts, this[kDispatches])\n }\n\n async [kClose] () {\n await promisify(this[kOriginalClose])()\n this[kConnected] = 0\n this[kMockAgent][Symbols.kClients].delete(this[kOrigin])\n }\n}\n\nmodule.exports = MockClient\n", "'use strict'\n\nconst { promisify } = require('util')\nconst Pool = require('../pool')\nconst { buildMockDispatch } = require('./mock-utils')\nconst {\n kDispatches,\n kMockAgent,\n kClose,\n kOriginalClose,\n kOrigin,\n kOriginalDispatch,\n kConnected\n} = require('./mock-symbols')\nconst { MockInterceptor } = require('./mock-interceptor')\nconst Symbols = require('../core/symbols')\nconst { InvalidArgumentError } = require('../core/errors')\n\n/**\n * MockPool provides an API that extends the Pool to influence the mockDispatches.\n */\nclass MockPool extends Pool {\n constructor (origin, opts) {\n super(origin, opts)\n\n if (!opts || !opts.agent || typeof opts.agent.dispatch !== 'function') {\n throw new InvalidArgumentError('Argument opts.agent must implement Agent')\n }\n\n this[kMockAgent] = opts.agent\n this[kOrigin] = origin\n this[kDispatches] = []\n this[kConnected] = 1\n this[kOriginalDispatch] = this.dispatch\n this[kOriginalClose] = this.close.bind(this)\n\n this.dispatch = buildMockDispatch.call(this)\n this.close = this[kClose]\n }\n\n get [Symbols.kConnected] () {\n return this[kConnected]\n }\n\n /**\n * Sets up the base interceptor for mocking replies from undici.\n */\n intercept (opts) {\n return new MockInterceptor(opts, this[kDispatches])\n }\n\n async [kClose] () {\n await promisify(this[kOriginalClose])()\n this[kConnected] = 0\n this[kMockAgent][Symbols.kClients].delete(this[kOrigin])\n }\n}\n\nmodule.exports = MockPool\n", "'use strict'\n\nconst singulars = {\n pronoun: 'it',\n is: 'is',\n was: 'was',\n this: 'this'\n}\n\nconst plurals = {\n pronoun: 'they',\n is: 'are',\n was: 'were',\n this: 'these'\n}\n\nmodule.exports = class Pluralizer {\n constructor (singular, plural) {\n this.singular = singular\n this.plural = plural\n }\n\n pluralize (count) {\n const one = count === 1\n const keys = one ? singulars : plurals\n const noun = one ? this.singular : this.plural\n return { ...keys, count, noun }\n }\n}\n", "'use strict'\n\nconst { Transform } = require('stream')\nconst { Console } = require('console')\n\n/**\n * Gets the output of `console.table(\u2026)` as a string.\n */\nmodule.exports = class PendingInterceptorsFormatter {\n constructor ({ disableColors } = {}) {\n this.transform = new Transform({\n transform (chunk, _enc, cb) {\n cb(null, chunk)\n }\n })\n\n this.logger = new Console({\n stdout: this.transform,\n inspectOptions: {\n colors: !disableColors && !process.env.CI\n }\n })\n }\n\n format (pendingInterceptors) {\n const withPrettyHeaders = pendingInterceptors.map(\n ({ method, path, data: { statusCode }, persist, times, timesInvoked, origin }) => ({\n Method: method,\n Origin: origin,\n Path: path,\n 'Status code': statusCode,\n Persistent: persist ? '\u2705' : '\u274C',\n Invocations: timesInvoked,\n Remaining: persist ? Infinity : times - timesInvoked\n }))\n\n this.logger.table(withPrettyHeaders)\n return this.transform.read().toString()\n }\n}\n", "'use strict'\n\nconst { kClients } = require('../core/symbols')\nconst Agent = require('../agent')\nconst {\n kAgent,\n kMockAgentSet,\n kMockAgentGet,\n kDispatches,\n kIsMockActive,\n kNetConnect,\n kGetNetConnect,\n kOptions,\n kFactory\n} = require('./mock-symbols')\nconst MockClient = require('./mock-client')\nconst MockPool = require('./mock-pool')\nconst { matchValue, buildMockOptions } = require('./mock-utils')\nconst { InvalidArgumentError, UndiciError } = require('../core/errors')\nconst Dispatcher = require('../dispatcher')\nconst Pluralizer = require('./pluralizer')\nconst PendingInterceptorsFormatter = require('./pending-interceptors-formatter')\n\nclass FakeWeakRef {\n constructor (value) {\n this.value = value\n }\n\n deref () {\n return this.value\n }\n}\n\nclass MockAgent extends Dispatcher {\n constructor (opts) {\n super(opts)\n\n this[kNetConnect] = true\n this[kIsMockActive] = true\n\n // Instantiate Agent and encapsulate\n if ((opts && opts.agent && typeof opts.agent.dispatch !== 'function')) {\n throw new InvalidArgumentError('Argument opts.agent must implement Agent')\n }\n const agent = opts && opts.agent ? opts.agent : new Agent(opts)\n this[kAgent] = agent\n\n this[kClients] = agent[kClients]\n this[kOptions] = buildMockOptions(opts)\n }\n\n get (origin) {\n let dispatcher = this[kMockAgentGet](origin)\n\n if (!dispatcher) {\n dispatcher = this[kFactory](origin)\n this[kMockAgentSet](origin, dispatcher)\n }\n return dispatcher\n }\n\n dispatch (opts, handler) {\n // Call MockAgent.get to perform additional setup before dispatching as normal\n this.get(opts.origin)\n return this[kAgent].dispatch(opts, handler)\n }\n\n async close () {\n await this[kAgent].close()\n this[kClients].clear()\n }\n\n deactivate () {\n this[kIsMockActive] = false\n }\n\n activate () {\n this[kIsMockActive] = true\n }\n\n enableNetConnect (matcher) {\n if (typeof matcher === 'string' || typeof matcher === 'function' || matcher instanceof RegExp) {\n if (Array.isArray(this[kNetConnect])) {\n this[kNetConnect].push(matcher)\n } else {\n this[kNetConnect] = [matcher]\n }\n } else if (typeof matcher === 'undefined') {\n this[kNetConnect] = true\n } else {\n throw new InvalidArgumentError('Unsupported matcher. Must be one of String|Function|RegExp.')\n }\n }\n\n disableNetConnect () {\n this[kNetConnect] = false\n }\n\n // This is required to bypass issues caused by using global symbols - see:\n // https://github.com/nodejs/undici/issues/1447\n get isMockActive () {\n return this[kIsMockActive]\n }\n\n [kMockAgentSet] (origin, dispatcher) {\n this[kClients].set(origin, new FakeWeakRef(dispatcher))\n }\n\n [kFactory] (origin) {\n const mockOptions = Object.assign({ agent: this }, this[kOptions])\n return this[kOptions] && this[kOptions].connections === 1\n ? new MockClient(origin, mockOptions)\n : new MockPool(origin, mockOptions)\n }\n\n [kMockAgentGet] (origin) {\n // First check if we can immediately find it\n const ref = this[kClients].get(origin)\n if (ref) {\n return ref.deref()\n }\n\n // If the origin is not a string create a dummy parent pool and return to user\n if (typeof origin !== 'string') {\n const dispatcher = this[kFactory]('http://localhost:9999')\n this[kMockAgentSet](origin, dispatcher)\n return dispatcher\n }\n\n // If we match, create a pool and assign the same dispatches\n for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {\n const nonExplicitDispatcher = nonExplicitRef.deref()\n if (nonExplicitDispatcher && typeof keyMatcher !== 'string' && matchValue(keyMatcher, origin)) {\n const dispatcher = this[kFactory](origin)\n this[kMockAgentSet](origin, dispatcher)\n dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches]\n return dispatcher\n }\n }\n }\n\n [kGetNetConnect] () {\n return this[kNetConnect]\n }\n\n pendingInterceptors () {\n const mockAgentClients = this[kClients]\n\n return Array.from(mockAgentClients.entries())\n .flatMap(([origin, scope]) => scope.deref()[kDispatches].map(dispatch => ({ ...dispatch, origin })))\n .filter(({ pending }) => pending)\n }\n\n assertNoPendingInterceptors ({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {\n const pending = this.pendingInterceptors()\n\n if (pending.length === 0) {\n return\n }\n\n const pluralizer = new Pluralizer('interceptor', 'interceptors').pluralize(pending.length)\n\n throw new UndiciError(`\n${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:\n\n${pendingInterceptorsFormatter.format(pending)}\n`.trim())\n }\n}\n\nmodule.exports = MockAgent\n", "'use strict'\n\nconst { kProxy, kClose, kDestroy, kInterceptors } = require('./core/symbols')\nconst { URL } = require('url')\nconst Agent = require('./agent')\nconst Pool = require('./pool')\nconst DispatcherBase = require('./dispatcher-base')\nconst { InvalidArgumentError, RequestAbortedError } = require('./core/errors')\nconst buildConnector = require('./core/connect')\n\nconst kAgent = Symbol('proxy agent')\nconst kClient = Symbol('proxy client')\nconst kProxyHeaders = Symbol('proxy headers')\nconst kRequestTls = Symbol('request tls settings')\nconst kProxyTls = Symbol('proxy tls settings')\nconst kConnectEndpoint = Symbol('connect endpoint function')\n\nfunction defaultProtocolPort (protocol) {\n return protocol === 'https:' ? 443 : 80\n}\n\nfunction buildProxyOptions (opts) {\n if (typeof opts === 'string') {\n opts = { uri: opts }\n }\n\n if (!opts || !opts.uri) {\n throw new InvalidArgumentError('Proxy opts.uri is mandatory')\n }\n\n return {\n uri: opts.uri,\n protocol: opts.protocol || 'https'\n }\n}\n\nfunction defaultFactory (origin, opts) {\n return new Pool(origin, opts)\n}\n\nclass ProxyAgent extends DispatcherBase {\n constructor (opts) {\n super(opts)\n this[kProxy] = buildProxyOptions(opts)\n this[kAgent] = new Agent(opts)\n this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent)\n ? opts.interceptors.ProxyAgent\n : []\n\n if (typeof opts === 'string') {\n opts = { uri: opts }\n }\n\n if (!opts || !opts.uri) {\n throw new InvalidArgumentError('Proxy opts.uri is mandatory')\n }\n\n const { clientFactory = defaultFactory } = opts\n\n if (typeof clientFactory !== 'function') {\n throw new InvalidArgumentError('Proxy opts.clientFactory must be a function.')\n }\n\n this[kRequestTls] = opts.requestTls\n this[kProxyTls] = opts.proxyTls\n this[kProxyHeaders] = opts.headers || {}\n\n if (opts.auth && opts.token) {\n throw new InvalidArgumentError('opts.auth cannot be used in combination with opts.token')\n } else if (opts.auth) {\n /* @deprecated in favour of opts.token */\n this[kProxyHeaders]['proxy-authorization'] = `Basic ${opts.auth}`\n } else if (opts.token) {\n this[kProxyHeaders]['proxy-authorization'] = opts.token\n }\n\n const resolvedUrl = new URL(opts.uri)\n const { origin, port, host } = resolvedUrl\n\n const connect = buildConnector({ ...opts.proxyTls })\n this[kConnectEndpoint] = buildConnector({ ...opts.requestTls })\n this[kClient] = clientFactory(resolvedUrl, { connect })\n this[kAgent] = new Agent({\n ...opts,\n connect: async (opts, callback) => {\n let requestedHost = opts.host\n if (!opts.port) {\n requestedHost += `:${defaultProtocolPort(opts.protocol)}`\n }\n try {\n const { socket, statusCode } = await this[kClient].connect({\n origin,\n port,\n path: requestedHost,\n signal: opts.signal,\n headers: {\n ...this[kProxyHeaders],\n host\n }\n })\n if (statusCode !== 200) {\n socket.on('error', () => {}).destroy()\n callback(new RequestAbortedError('Proxy response !== 200 when HTTP Tunneling'))\n }\n if (opts.protocol !== 'https:') {\n callback(null, socket)\n return\n }\n let servername\n if (this[kRequestTls]) {\n servername = this[kRequestTls].servername\n } else {\n servername = opts.servername\n }\n this[kConnectEndpoint]({ ...opts, servername, httpSocket: socket }, callback)\n } catch (err) {\n callback(err)\n }\n }\n })\n }\n\n dispatch (opts, handler) {\n const { host } = new URL(opts.origin)\n const headers = buildHeaders(opts.headers)\n throwIfProxyAuthIsSent(headers)\n return this[kAgent].dispatch(\n {\n ...opts,\n headers: {\n ...headers,\n host\n }\n },\n handler\n )\n }\n\n async [kClose] () {\n await this[kAgent].close()\n await this[kClient].close()\n }\n\n async [kDestroy] () {\n await this[kAgent].destroy()\n await this[kClient].destroy()\n }\n}\n\n/**\n * @param {string[] | Record<string, string>} headers\n * @returns {Record<string, string>}\n */\nfunction buildHeaders (headers) {\n // When using undici.fetch, the headers list is stored\n // as an array.\n if (Array.isArray(headers)) {\n /** @type {Record<string, string>} */\n const headersPair = {}\n\n for (let i = 0; i < headers.length; i += 2) {\n headersPair[headers[i]] = headers[i + 1]\n }\n\n return headersPair\n }\n\n return headers\n}\n\n/**\n * @param {Record<string, string>} headers\n *\n * Previous versions of ProxyAgent suggests the Proxy-Authorization in request headers\n * Nevertheless, it was changed and to avoid a security vulnerability by end users\n * this check was created.\n * It should be removed in the next major version for performance reasons\n */\nfunction throwIfProxyAuthIsSent (headers) {\n const existProxyAuth = headers && Object.keys(headers)\n .find((key) => key.toLowerCase() === 'proxy-authorization')\n if (existProxyAuth) {\n throw new InvalidArgumentError('Proxy-Authorization should be sent in ProxyAgent constructor')\n }\n}\n\nmodule.exports = ProxyAgent\n", "'use strict'\n\n// We include a version number for the Dispatcher API. In case of breaking changes,\n// this version number must be increased to avoid conflicts.\nconst globalDispatcher = Symbol.for('undici.globalDispatcher.1')\nconst { InvalidArgumentError } = require('./core/errors')\nconst Agent = require('./agent')\n\nif (getGlobalDispatcher() === undefined) {\n setGlobalDispatcher(new Agent())\n}\n\nfunction setGlobalDispatcher (agent) {\n if (!agent || typeof agent.dispatch !== 'function') {\n throw new InvalidArgumentError('Argument agent must implement Agent')\n }\n Object.defineProperty(globalThis, globalDispatcher, {\n value: agent,\n writable: true,\n enumerable: false,\n configurable: false\n })\n}\n\nfunction getGlobalDispatcher () {\n return globalThis[globalDispatcher]\n}\n\nmodule.exports = {\n setGlobalDispatcher,\n getGlobalDispatcher\n}\n", "'use strict'\n\nmodule.exports = class DecoratorHandler {\n constructor (handler) {\n this.handler = handler\n }\n\n onConnect (...args) {\n return this.handler.onConnect(...args)\n }\n\n onError (...args) {\n return this.handler.onError(...args)\n }\n\n onUpgrade (...args) {\n return this.handler.onUpgrade(...args)\n }\n\n onHeaders (...args) {\n return this.handler.onHeaders(...args)\n }\n\n onData (...args) {\n return this.handler.onData(...args)\n }\n\n onComplete (...args) {\n return this.handler.onComplete(...args)\n }\n\n onBodySent (...args) {\n return this.handler.onBodySent(...args)\n }\n}\n", "// https://github.com/Ethan-Arrowood/undici-fetch\n\n'use strict'\n\nconst { kHeadersList } = require('../core/symbols')\nconst { kGuard } = require('./symbols')\nconst { kEnumerableProperty } = require('../core/util')\nconst {\n makeIterator,\n isValidHeaderName,\n isValidHeaderValue\n} = require('./util')\nconst { webidl } = require('./webidl')\nconst assert = require('assert')\n\nconst kHeadersMap = Symbol('headers map')\nconst kHeadersSortedMap = Symbol('headers map sorted')\n\n/**\n * @see https://fetch.spec.whatwg.org/#concept-header-value-normalize\n * @param {string} potentialValue\n */\nfunction headerValueNormalize (potentialValue) {\n // To normalize a byte sequence potentialValue, remove\n // any leading and trailing HTTP whitespace bytes from\n // potentialValue.\n\n // Trimming the end with `.replace()` and a RegExp is typically subject to\n // ReDoS. This is safer and faster.\n let i = potentialValue.length\n while (/[\\r\\n\\t ]/.test(potentialValue.charAt(--i)));\n return potentialValue.slice(0, i + 1).replace(/^[\\r\\n\\t ]+/, '')\n}\n\nfunction fill (headers, object) {\n // To fill a Headers object headers with a given object object, run these steps:\n\n // 1. If object is a sequence, then for each header in object:\n // Note: webidl conversion to array has already been done.\n if (Array.isArray(object)) {\n for (const header of object) {\n // 1. If header does not contain exactly two items, then throw a TypeError.\n if (header.length !== 2) {\n throw webidl.errors.exception({\n header: 'Headers constructor',\n message: `expected name/value pair to be length 2, found ${header.length}.`\n })\n }\n\n // 2. Append (header\u2019s first item, header\u2019s second item) to headers.\n headers.append(header[0], header[1])\n }\n } else if (typeof object === 'object' && object !== null) {\n // Note: null should throw\n\n // 2. Otherwise, object is a record, then for each key \u2192 value in object,\n // append (key, value) to headers\n for (const [key, value] of Object.entries(object)) {\n headers.append(key, value)\n }\n } else {\n throw webidl.errors.conversionFailed({\n prefix: 'Headers constructor',\n argument: 'Argument 1',\n types: ['sequence<sequence<ByteString>>', 'record<ByteString, ByteString>']\n })\n }\n}\n\nclass HeadersList {\n /** @type {[string, string][]|null} */\n cookies = null\n\n constructor (init) {\n if (init instanceof HeadersList) {\n this[kHeadersMap] = new Map(init[kHeadersMap])\n this[kHeadersSortedMap] = init[kHeadersSortedMap]\n this.cookies = init.cookies\n } else {\n this[kHeadersMap] = new Map(init)\n this[kHeadersSortedMap] = null\n }\n }\n\n // https://fetch.spec.whatwg.org/#header-list-contains\n contains (name) {\n // A header list list contains a header name name if list\n // contains a header whose name is a byte-case-insensitive\n // match for name.\n name = name.toLowerCase()\n\n return this[kHeadersMap].has(name)\n }\n\n clear () {\n this[kHeadersMap].clear()\n this[kHeadersSortedMap] = null\n this.cookies = null\n }\n\n // https://fetch.spec.whatwg.org/#concept-header-list-append\n append (name, value) {\n this[kHeadersSortedMap] = null\n\n // 1. If list contains name, then set name to the first such\n // header\u2019s name.\n const lowercaseName = name.toLowerCase()\n const exists = this[kHeadersMap].get(lowercaseName)\n\n // 2. Append (name, value) to list.\n if (exists) {\n const delimiter = lowercaseName === 'cookie' ? '; ' : ', '\n this[kHeadersMap].set(lowercaseName, {\n name: exists.name,\n value: `${exists.value}${delimiter}${value}`\n })\n } else {\n this[kHeadersMap].set(lowercaseName, { name, value })\n }\n\n if (lowercaseName === 'set-cookie') {\n this.cookies ??= []\n this.cookies.push(value)\n }\n }\n\n // https://fetch.spec.whatwg.org/#concept-header-list-set\n set (name, value) {\n this[kHeadersSortedMap] = null\n const lowercaseName = name.toLowerCase()\n\n if (lowercaseName === 'set-cookie') {\n this.cookies = [value]\n }\n\n // 1. If list contains name, then set the value of\n // the first such header to value and remove the\n // others.\n // 2. Otherwise, append header (name, value) to list.\n return this[kHeadersMap].set(lowercaseName, { name, value })\n }\n\n // https://fetch.spec.whatwg.org/#concept-header-list-delete\n delete (name) {\n this[kHeadersSortedMap] = null\n\n name = name.toLowerCase()\n\n if (name === 'set-cookie') {\n this.cookies = null\n }\n\n return this[kHeadersMap].delete(name)\n }\n\n // https://fetch.spec.whatwg.org/#concept-header-list-get\n get (name) {\n // 1. If list does not contain name, then return null.\n if (!this.contains(name)) {\n return null\n }\n\n // 2. Return the values of all headers in list whose name\n // is a byte-case-insensitive match for name,\n // separated from each other by 0x2C 0x20, in order.\n return this[kHeadersMap].get(name.toLowerCase())?.value ?? null\n }\n\n * [Symbol.iterator] () {\n // use the lowercased name\n for (const [name, { value }] of this[kHeadersMap]) {\n yield [name, value]\n }\n }\n\n get entries () {\n const headers = {}\n\n if (this[kHeadersMap].size) {\n for (const { name, value } of this[kHeadersMap].values()) {\n headers[name] = value\n }\n }\n\n return headers\n }\n}\n\n// https://fetch.spec.whatwg.org/#headers-class\nclass Headers {\n constructor (init = undefined) {\n this[kHeadersList] = new HeadersList()\n\n // The new Headers(init) constructor steps are:\n\n // 1. Set this\u2019s guard to \"none\".\n this[kGuard] = 'none'\n\n // 2. If init is given, then fill this with init.\n if (init !== undefined) {\n init = webidl.converters.HeadersInit(init)\n fill(this, init)\n }\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-append\n append (name, value) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 2, { header: 'Headers.append' })\n\n name = webidl.converters.ByteString(name)\n value = webidl.converters.ByteString(value)\n\n // 1. Normalize value.\n value = headerValueNormalize(value)\n\n // 2. If name is not a header name or value is not a\n // header value, then throw a TypeError.\n if (!isValidHeaderName(name)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.append',\n value: name,\n type: 'header name'\n })\n } else if (!isValidHeaderValue(value)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.append',\n value,\n type: 'header value'\n })\n }\n\n // 3. If headers\u2019s guard is \"immutable\", then throw a TypeError.\n // 4. Otherwise, if headers\u2019s guard is \"request\" and name is a\n // forbidden header name, return.\n // Note: undici does not implement forbidden header names\n if (this[kGuard] === 'immutable') {\n throw new TypeError('immutable')\n } else if (this[kGuard] === 'request-no-cors') {\n // 5. Otherwise, if headers\u2019s guard is \"request-no-cors\":\n // TODO\n }\n\n // 6. Otherwise, if headers\u2019s guard is \"response\" and name is a\n // forbidden response-header name, return.\n\n // 7. Append (name, value) to headers\u2019s header list.\n // 8. If headers\u2019s guard is \"request-no-cors\", then remove\n // privileged no-CORS request headers from headers\n return this[kHeadersList].append(name, value)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-delete\n delete (name) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.delete' })\n\n name = webidl.converters.ByteString(name)\n\n // 1. If name is not a header name, then throw a TypeError.\n if (!isValidHeaderName(name)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.delete',\n value: name,\n type: 'header name'\n })\n }\n\n // 2. If this\u2019s guard is \"immutable\", then throw a TypeError.\n // 3. Otherwise, if this\u2019s guard is \"request\" and name is a\n // forbidden header name, return.\n // 4. Otherwise, if this\u2019s guard is \"request-no-cors\", name\n // is not a no-CORS-safelisted request-header name, and\n // name is not a privileged no-CORS request-header name,\n // return.\n // 5. Otherwise, if this\u2019s guard is \"response\" and name is\n // a forbidden response-header name, return.\n // Note: undici does not implement forbidden header names\n if (this[kGuard] === 'immutable') {\n throw new TypeError('immutable')\n } else if (this[kGuard] === 'request-no-cors') {\n // TODO\n }\n\n // 6. If this\u2019s header list does not contain name, then\n // return.\n if (!this[kHeadersList].contains(name)) {\n return\n }\n\n // 7. Delete name from this\u2019s header list.\n // 8. If this\u2019s guard is \"request-no-cors\", then remove\n // privileged no-CORS request headers from this.\n return this[kHeadersList].delete(name)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-get\n get (name) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.get' })\n\n name = webidl.converters.ByteString(name)\n\n // 1. If name is not a header name, then throw a TypeError.\n if (!isValidHeaderName(name)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.get',\n value: name,\n type: 'header name'\n })\n }\n\n // 2. Return the result of getting name from this\u2019s header\n // list.\n return this[kHeadersList].get(name)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-has\n has (name) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.has' })\n\n name = webidl.converters.ByteString(name)\n\n // 1. If name is not a header name, then throw a TypeError.\n if (!isValidHeaderName(name)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.has',\n value: name,\n type: 'header name'\n })\n }\n\n // 2. Return true if this\u2019s header list contains name;\n // otherwise false.\n return this[kHeadersList].contains(name)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-set\n set (name, value) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 2, { header: 'Headers.set' })\n\n name = webidl.converters.ByteString(name)\n value = webidl.converters.ByteString(value)\n\n // 1. Normalize value.\n value = headerValueNormalize(value)\n\n // 2. If name is not a header name or value is not a\n // header value, then throw a TypeError.\n if (!isValidHeaderName(name)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.set',\n value: name,\n type: 'header name'\n })\n } else if (!isValidHeaderValue(value)) {\n throw webidl.errors.invalidArgument({\n prefix: 'Headers.set',\n value,\n type: 'header value'\n })\n }\n\n // 3. If this\u2019s guard is \"immutable\", then throw a TypeError.\n // 4. Otherwise, if this\u2019s guard is \"request\" and name is a\n // forbidden header name, return.\n // 5. Otherwise, if this\u2019s guard is \"request-no-cors\" and\n // name/value is not a no-CORS-safelisted request-header,\n // return.\n // 6. Otherwise, if this\u2019s guard is \"response\" and name is a\n // forbidden response-header name, return.\n // Note: undici does not implement forbidden header names\n if (this[kGuard] === 'immutable') {\n throw new TypeError('immutable')\n } else if (this[kGuard] === 'request-no-cors') {\n // TODO\n }\n\n // 7. Set (name, value) in this\u2019s header list.\n // 8. If this\u2019s guard is \"request-no-cors\", then remove\n // privileged no-CORS request headers from this\n return this[kHeadersList].set(name, value)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie\n getSetCookie () {\n webidl.brandCheck(this, Headers)\n\n // 1. If this\u2019s header list does not contain `Set-Cookie`, then return \u00AB \u00BB.\n // 2. Return the values of all headers in this\u2019s header list whose name is\n // a byte-case-insensitive match for `Set-Cookie`, in order.\n\n const list = this[kHeadersList].cookies\n\n if (list) {\n return [...list]\n }\n\n return []\n }\n\n // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine\n get [kHeadersSortedMap] () {\n if (this[kHeadersList][kHeadersSortedMap]) {\n return this[kHeadersList][kHeadersSortedMap]\n }\n\n // 1. Let headers be an empty list of headers with the key being the name\n // and value the value.\n const headers = []\n\n // 2. Let names be the result of convert header names to a sorted-lowercase\n // set with all the names of the headers in list.\n const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1)\n const cookies = this[kHeadersList].cookies\n\n // 3. For each name of names:\n for (const [name, value] of names) {\n // 1. If name is `set-cookie`, then:\n if (name === 'set-cookie') {\n // 1. Let values be a list of all values of headers in list whose name\n // is a byte-case-insensitive match for name, in order.\n\n // 2. For each value of values:\n // 1. Append (name, value) to headers.\n for (const value of cookies) {\n headers.push([name, value])\n }\n } else {\n // 2. Otherwise:\n\n // 1. Let value be the result of getting name from list.\n\n // 2. Assert: value is non-null.\n assert(value !== null)\n\n // 3. Append (name, value) to headers.\n headers.push([name, value])\n }\n }\n\n this[kHeadersList][kHeadersSortedMap] = headers\n\n // 4. Return headers.\n return headers\n }\n\n keys () {\n webidl.brandCheck(this, Headers)\n\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n 'Headers',\n 'key'\n )\n }\n\n values () {\n webidl.brandCheck(this, Headers)\n\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n 'Headers',\n 'value'\n )\n }\n\n entries () {\n webidl.brandCheck(this, Headers)\n\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n 'Headers',\n 'key+value'\n )\n }\n\n /**\n * @param {(value: string, key: string, self: Headers) => void} callbackFn\n * @param {unknown} thisArg\n */\n forEach (callbackFn, thisArg = globalThis) {\n webidl.brandCheck(this, Headers)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.forEach' })\n\n if (typeof callbackFn !== 'function') {\n throw new TypeError(\n \"Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.\"\n )\n }\n\n for (const [key, value] of this) {\n callbackFn.apply(thisArg, [value, key, this])\n }\n }\n\n [Symbol.for('nodejs.util.inspect.custom')] () {\n webidl.brandCheck(this, Headers)\n\n return this[kHeadersList]\n }\n}\n\nHeaders.prototype[Symbol.iterator] = Headers.prototype.entries\n\nObject.defineProperties(Headers.prototype, {\n append: kEnumerableProperty,\n delete: kEnumerableProperty,\n get: kEnumerableProperty,\n has: kEnumerableProperty,\n set: kEnumerableProperty,\n getSetCookie: kEnumerableProperty,\n keys: kEnumerableProperty,\n values: kEnumerableProperty,\n entries: kEnumerableProperty,\n forEach: kEnumerableProperty,\n [Symbol.iterator]: { enumerable: false },\n [Symbol.toStringTag]: {\n value: 'Headers',\n configurable: true\n }\n})\n\nwebidl.converters.HeadersInit = function (V) {\n if (webidl.util.Type(V) === 'Object') {\n if (V[Symbol.iterator]) {\n return webidl.converters['sequence<sequence<ByteString>>'](V)\n }\n\n return webidl.converters['record<ByteString, ByteString>'](V)\n }\n\n throw webidl.errors.conversionFailed({\n prefix: 'Headers constructor',\n argument: 'Argument 1',\n types: ['sequence<sequence<ByteString>>', 'record<ByteString, ByteString>']\n })\n}\n\nmodule.exports = {\n fill,\n Headers,\n HeadersList\n}\n", "'use strict'\n\nconst { Headers, HeadersList, fill } = require('./headers')\nconst { extractBody, cloneBody, mixinBody } = require('./body')\nconst util = require('../core/util')\nconst { kEnumerableProperty } = util\nconst {\n isValidReasonPhrase,\n isCancelled,\n isAborted,\n isBlobLike,\n serializeJavascriptValueToJSONString,\n isErrorLike,\n isomorphicEncode\n} = require('./util')\nconst {\n redirectStatus,\n nullBodyStatus,\n DOMException\n} = require('./constants')\nconst { kState, kHeaders, kGuard, kRealm } = require('./symbols')\nconst { webidl } = require('./webidl')\nconst { FormData } = require('./formdata')\nconst { getGlobalOrigin } = require('./global')\nconst { URLSerializer } = require('./dataURL')\nconst { kHeadersList } = require('../core/symbols')\nconst assert = require('assert')\nconst { types } = require('util')\n\nconst ReadableStream = globalThis.ReadableStream || require('stream/web').ReadableStream\n\n// https://fetch.spec.whatwg.org/#response-class\nclass Response {\n // Creates network error Response.\n static error () {\n // TODO\n const relevantRealm = { settingsObject: {} }\n\n // The static error() method steps are to return the result of creating a\n // Response object, given a new network error, \"immutable\", and this\u2019s\n // relevant Realm.\n const responseObject = new Response()\n responseObject[kState] = makeNetworkError()\n responseObject[kRealm] = relevantRealm\n responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList\n responseObject[kHeaders][kGuard] = 'immutable'\n responseObject[kHeaders][kRealm] = relevantRealm\n return responseObject\n }\n\n // https://fetch.spec.whatwg.org/#dom-response-json\n static json (data = undefined, init = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'Response.json' })\n\n if (init !== null) {\n init = webidl.converters.ResponseInit(init)\n }\n\n // 1. Let bytes the result of running serialize a JavaScript value to JSON bytes on data.\n const bytes = new TextEncoder('utf-8').encode(\n serializeJavascriptValueToJSONString(data)\n )\n\n // 2. Let body be the result of extracting bytes.\n const body = extractBody(bytes)\n\n // 3. Let responseObject be the result of creating a Response object, given a new response,\n // \"response\", and this\u2019s relevant Realm.\n const relevantRealm = { settingsObject: {} }\n const responseObject = new Response()\n responseObject[kRealm] = relevantRealm\n responseObject[kHeaders][kGuard] = 'response'\n responseObject[kHeaders][kRealm] = relevantRealm\n\n // 4. Perform initialize a response given responseObject, init, and (body, \"application/json\").\n initializeResponse(responseObject, init, { body: body[0], type: 'application/json' })\n\n // 5. Return responseObject.\n return responseObject\n }\n\n // Creates a redirect Response that redirects to url with status status.\n static redirect (url, status = 302) {\n const relevantRealm = { settingsObject: {} }\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Response.redirect' })\n\n url = webidl.converters.USVString(url)\n status = webidl.converters['unsigned short'](status)\n\n // 1. Let parsedURL be the result of parsing url with current settings\n // object\u2019s API base URL.\n // 2. If parsedURL is failure, then throw a TypeError.\n // TODO: base-URL?\n let parsedURL\n try {\n parsedURL = new URL(url, getGlobalOrigin())\n } catch (err) {\n throw Object.assign(new TypeError('Failed to parse URL from ' + url), {\n cause: err\n })\n }\n\n // 3. If status is not a redirect status, then throw a RangeError.\n if (!redirectStatus.includes(status)) {\n throw new RangeError('Invalid status code ' + status)\n }\n\n // 4. Let responseObject be the result of creating a Response object,\n // given a new response, \"immutable\", and this\u2019s relevant Realm.\n const responseObject = new Response()\n responseObject[kRealm] = relevantRealm\n responseObject[kHeaders][kGuard] = 'immutable'\n responseObject[kHeaders][kRealm] = relevantRealm\n\n // 5. Set responseObject\u2019s response\u2019s status to status.\n responseObject[kState].status = status\n\n // 6. Let value be parsedURL, serialized and isomorphic encoded.\n const value = isomorphicEncode(URLSerializer(parsedURL))\n\n // 7. Append `Location`/value to responseObject\u2019s response\u2019s header list.\n responseObject[kState].headersList.append('location', value)\n\n // 8. Return responseObject.\n return responseObject\n }\n\n // https://fetch.spec.whatwg.org/#dom-response\n constructor (body = null, init = {}) {\n if (body !== null) {\n body = webidl.converters.BodyInit(body)\n }\n\n init = webidl.converters.ResponseInit(init)\n\n // TODO\n this[kRealm] = { settingsObject: {} }\n\n // 1. Set this\u2019s response to a new response.\n this[kState] = makeResponse({})\n\n // 2. Set this\u2019s headers to a new Headers object with this\u2019s relevant\n // Realm, whose header list is this\u2019s response\u2019s header list and guard\n // is \"response\".\n this[kHeaders] = new Headers()\n this[kHeaders][kGuard] = 'response'\n this[kHeaders][kHeadersList] = this[kState].headersList\n this[kHeaders][kRealm] = this[kRealm]\n\n // 3. Let bodyWithType be null.\n let bodyWithType = null\n\n // 4. If body is non-null, then set bodyWithType to the result of extracting body.\n if (body != null) {\n const [extractedBody, type] = extractBody(body)\n bodyWithType = { body: extractedBody, type }\n }\n\n // 5. Perform initialize a response given this, init, and bodyWithType.\n initializeResponse(this, init, bodyWithType)\n }\n\n // Returns response\u2019s type, e.g., \"cors\".\n get type () {\n webidl.brandCheck(this, Response)\n\n // The type getter steps are to return this\u2019s response\u2019s type.\n return this[kState].type\n }\n\n // Returns response\u2019s URL, if it has one; otherwise the empty string.\n get url () {\n webidl.brandCheck(this, Response)\n\n const urlList = this[kState].urlList\n\n // The url getter steps are to return the empty string if this\u2019s\n // response\u2019s URL is null; otherwise this\u2019s response\u2019s URL,\n // serialized with exclude fragment set to true.\n const url = urlList[urlList.length - 1] ?? null\n\n if (url === null) {\n return ''\n }\n\n return URLSerializer(url, true)\n }\n\n // Returns whether response was obtained through a redirect.\n get redirected () {\n webidl.brandCheck(this, Response)\n\n // The redirected getter steps are to return true if this\u2019s response\u2019s URL\n // list has more than one item; otherwise false.\n return this[kState].urlList.length > 1\n }\n\n // Returns response\u2019s status.\n get status () {\n webidl.brandCheck(this, Response)\n\n // The status getter steps are to return this\u2019s response\u2019s status.\n return this[kState].status\n }\n\n // Returns whether response\u2019s status is an ok status.\n get ok () {\n webidl.brandCheck(this, Response)\n\n // The ok getter steps are to return true if this\u2019s response\u2019s status is an\n // ok status; otherwise false.\n return this[kState].status >= 200 && this[kState].status <= 299\n }\n\n // Returns response\u2019s status message.\n get statusText () {\n webidl.brandCheck(this, Response)\n\n // The statusText getter steps are to return this\u2019s response\u2019s status\n // message.\n return this[kState].statusText\n }\n\n // Returns response\u2019s headers as Headers.\n get headers () {\n webidl.brandCheck(this, Response)\n\n // The headers getter steps are to return this\u2019s headers.\n return this[kHeaders]\n }\n\n get body () {\n webidl.brandCheck(this, Response)\n\n return this[kState].body ? this[kState].body.stream : null\n }\n\n get bodyUsed () {\n webidl.brandCheck(this, Response)\n\n return !!this[kState].body && util.isDisturbed(this[kState].body.stream)\n }\n\n // Returns a clone of response.\n clone () {\n webidl.brandCheck(this, Response)\n\n // 1. If this is unusable, then throw a TypeError.\n if (this.bodyUsed || (this.body && this.body.locked)) {\n throw webidl.errors.exception({\n header: 'Response.clone',\n message: 'Body has already been consumed.'\n })\n }\n\n // 2. Let clonedResponse be the result of cloning this\u2019s response.\n const clonedResponse = cloneResponse(this[kState])\n\n // 3. Return the result of creating a Response object, given\n // clonedResponse, this\u2019s headers\u2019s guard, and this\u2019s relevant Realm.\n const clonedResponseObject = new Response()\n clonedResponseObject[kState] = clonedResponse\n clonedResponseObject[kRealm] = this[kRealm]\n clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList\n clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard]\n clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm]\n\n return clonedResponseObject\n }\n}\n\nmixinBody(Response)\n\nObject.defineProperties(Response.prototype, {\n type: kEnumerableProperty,\n url: kEnumerableProperty,\n status: kEnumerableProperty,\n ok: kEnumerableProperty,\n redirected: kEnumerableProperty,\n statusText: kEnumerableProperty,\n headers: kEnumerableProperty,\n clone: kEnumerableProperty,\n body: kEnumerableProperty,\n bodyUsed: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: 'Response',\n configurable: true\n }\n})\n\nObject.defineProperties(Response, {\n json: kEnumerableProperty,\n redirect: kEnumerableProperty,\n error: kEnumerableProperty\n})\n\n// https://fetch.spec.whatwg.org/#concept-response-clone\nfunction cloneResponse (response) {\n // To clone a response response, run these steps:\n\n // 1. If response is a filtered response, then return a new identical\n // filtered response whose internal response is a clone of response\u2019s\n // internal response.\n if (response.internalResponse) {\n return filterResponse(\n cloneResponse(response.internalResponse),\n response.type\n )\n }\n\n // 2. Let newResponse be a copy of response, except for its body.\n const newResponse = makeResponse({ ...response, body: null })\n\n // 3. If response\u2019s body is non-null, then set newResponse\u2019s body to the\n // result of cloning response\u2019s body.\n if (response.body != null) {\n newResponse.body = cloneBody(response.body)\n }\n\n // 4. Return newResponse.\n return newResponse\n}\n\nfunction makeResponse (init) {\n return {\n aborted: false,\n rangeRequested: false,\n timingAllowPassed: false,\n requestIncludesCredentials: false,\n type: 'default',\n status: 200,\n timingInfo: null,\n cacheState: '',\n statusText: '',\n ...init,\n headersList: init.headersList\n ? new HeadersList(init.headersList)\n : new HeadersList(),\n urlList: init.urlList ? [...init.urlList] : []\n }\n}\n\nfunction makeNetworkError (reason) {\n const isError = isErrorLike(reason)\n return makeResponse({\n type: 'error',\n status: 0,\n error: isError\n ? reason\n : new Error(reason ? String(reason) : reason),\n aborted: reason && reason.name === 'AbortError'\n })\n}\n\nfunction makeFilteredResponse (response, state) {\n state = {\n internalResponse: response,\n ...state\n }\n\n return new Proxy(response, {\n get (target, p) {\n return p in state ? state[p] : target[p]\n },\n set (target, p, value) {\n assert(!(p in state))\n target[p] = value\n return true\n }\n })\n}\n\n// https://fetch.spec.whatwg.org/#concept-filtered-response\nfunction filterResponse (response, type) {\n // Set response to the following filtered response with response as its\n // internal response, depending on request\u2019s response tainting:\n if (type === 'basic') {\n // A basic filtered response is a filtered response whose type is \"basic\"\n // and header list excludes any headers in internal response\u2019s header list\n // whose name is a forbidden response-header name.\n\n // Note: undici does not implement forbidden response-header names\n return makeFilteredResponse(response, {\n type: 'basic',\n headersList: response.headersList\n })\n } else if (type === 'cors') {\n // A CORS filtered response is a filtered response whose type is \"cors\"\n // and header list excludes any headers in internal response\u2019s header\n // list whose name is not a CORS-safelisted response-header name, given\n // internal response\u2019s CORS-exposed header-name list.\n\n // Note: undici does not implement CORS-safelisted response-header names\n return makeFilteredResponse(response, {\n type: 'cors',\n headersList: response.headersList\n })\n } else if (type === 'opaque') {\n // An opaque filtered response is a filtered response whose type is\n // \"opaque\", URL list is the empty list, status is 0, status message\n // is the empty byte sequence, header list is empty, and body is null.\n\n return makeFilteredResponse(response, {\n type: 'opaque',\n urlList: Object.freeze([]),\n status: 0,\n statusText: '',\n body: null\n })\n } else if (type === 'opaqueredirect') {\n // An opaque-redirect filtered response is a filtered response whose type\n // is \"opaqueredirect\", status is 0, status message is the empty byte\n // sequence, header list is empty, and body is null.\n\n return makeFilteredResponse(response, {\n type: 'opaqueredirect',\n status: 0,\n statusText: '',\n headersList: [],\n body: null\n })\n } else {\n assert(false)\n }\n}\n\n// https://fetch.spec.whatwg.org/#appropriate-network-error\nfunction makeAppropriateNetworkError (fetchParams) {\n // 1. Assert: fetchParams is canceled.\n assert(isCancelled(fetchParams))\n\n // 2. Return an aborted network error if fetchParams is aborted;\n // otherwise return a network error.\n return isAborted(fetchParams)\n ? makeNetworkError(new DOMException('The operation was aborted.', 'AbortError'))\n : makeNetworkError('Request was cancelled.')\n}\n\n// https://whatpr.org/fetch/1392.html#initialize-a-response\nfunction initializeResponse (response, init, body) {\n // 1. If init[\"status\"] is not in the range 200 to 599, inclusive, then\n // throw a RangeError.\n if (init.status !== null && (init.status < 200 || init.status > 599)) {\n throw new RangeError('init[\"status\"] must be in the range of 200 to 599, inclusive.')\n }\n\n // 2. If init[\"statusText\"] does not match the reason-phrase token production,\n // then throw a TypeError.\n if ('statusText' in init && init.statusText != null) {\n // See, https://datatracker.ietf.org/doc/html/rfc7230#section-3.1.2:\n // reason-phrase = *( HTAB / SP / VCHAR / obs-text )\n if (!isValidReasonPhrase(String(init.statusText))) {\n throw new TypeError('Invalid statusText')\n }\n }\n\n // 3. Set response\u2019s response\u2019s status to init[\"status\"].\n if ('status' in init && init.status != null) {\n response[kState].status = init.status\n }\n\n // 4. Set response\u2019s response\u2019s status message to init[\"statusText\"].\n if ('statusText' in init && init.statusText != null) {\n response[kState].statusText = init.statusText\n }\n\n // 5. If init[\"headers\"] exists, then fill response\u2019s headers with init[\"headers\"].\n if ('headers' in init && init.headers != null) {\n fill(response[kHeaders], init.headers)\n }\n\n // 6. If body was given, then:\n if (body) {\n // 1. If response's status is a null body status, then throw a TypeError.\n if (nullBodyStatus.includes(response.status)) {\n throw webidl.errors.exception({\n header: 'Response constructor',\n message: 'Invalid response status code ' + response.status\n })\n }\n\n // 2. Set response's body to body's body.\n response[kState].body = body.body\n\n // 3. If body's type is non-null and response's header list does not contain\n // `Content-Type`, then append (`Content-Type`, body's type) to response's header list.\n if (body.type != null && !response[kState].headersList.contains('Content-Type')) {\n response[kState].headersList.append('content-type', body.type)\n }\n }\n}\n\nwebidl.converters.ReadableStream = webidl.interfaceConverter(\n ReadableStream\n)\n\nwebidl.converters.FormData = webidl.interfaceConverter(\n FormData\n)\n\nwebidl.converters.URLSearchParams = webidl.interfaceConverter(\n URLSearchParams\n)\n\n// https://fetch.spec.whatwg.org/#typedefdef-xmlhttprequestbodyinit\nwebidl.converters.XMLHttpRequestBodyInit = function (V) {\n if (typeof V === 'string') {\n return webidl.converters.USVString(V)\n }\n\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, { strict: false })\n }\n\n if (\n types.isAnyArrayBuffer(V) ||\n types.isTypedArray(V) ||\n types.isDataView(V)\n ) {\n return webidl.converters.BufferSource(V)\n }\n\n if (util.isFormDataLike(V)) {\n return webidl.converters.FormData(V, { strict: false })\n }\n\n if (V instanceof URLSearchParams) {\n return webidl.converters.URLSearchParams(V)\n }\n\n return webidl.converters.DOMString(V)\n}\n\n// https://fetch.spec.whatwg.org/#bodyinit\nwebidl.converters.BodyInit = function (V) {\n if (V instanceof ReadableStream) {\n return webidl.converters.ReadableStream(V)\n }\n\n // Note: the spec doesn't include async iterables,\n // this is an undici extension.\n if (V?.[Symbol.asyncIterator]) {\n return V\n }\n\n return webidl.converters.XMLHttpRequestBodyInit(V)\n}\n\nwebidl.converters.ResponseInit = webidl.dictionaryConverter([\n {\n key: 'status',\n converter: webidl.converters['unsigned short'],\n defaultValue: 200\n },\n {\n key: 'statusText',\n converter: webidl.converters.ByteString,\n defaultValue: ''\n },\n {\n key: 'headers',\n converter: webidl.converters.HeadersInit\n }\n])\n\nmodule.exports = {\n makeNetworkError,\n makeResponse,\n makeAppropriateNetworkError,\n filterResponse,\n Response,\n cloneResponse\n}\n", "/* globals AbortController */\n\n'use strict'\n\nconst { extractBody, mixinBody, cloneBody } = require('./body')\nconst { Headers, fill: fillHeaders, HeadersList } = require('./headers')\nconst { FinalizationRegistry } = require('../compat/dispatcher-weakref')()\nconst util = require('../core/util')\nconst {\n isValidHTTPToken,\n sameOrigin,\n normalizeMethod,\n makePolicyContainer\n} = require('./util')\nconst {\n forbiddenMethods,\n corsSafeListedMethods,\n referrerPolicy,\n requestRedirect,\n requestMode,\n requestCredentials,\n requestCache,\n requestDuplex\n} = require('./constants')\nconst { kEnumerableProperty } = util\nconst { kHeaders, kSignal, kState, kGuard, kRealm } = require('./symbols')\nconst { webidl } = require('./webidl')\nconst { getGlobalOrigin } = require('./global')\nconst { URLSerializer } = require('./dataURL')\nconst { kHeadersList } = require('../core/symbols')\nconst assert = require('assert')\nconst { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require('events')\n\nlet TransformStream = globalThis.TransformStream\n\nconst kInit = Symbol('init')\nconst kAbortController = Symbol('abortController')\n\nconst requestFinalizer = new FinalizationRegistry(({ signal, abort }) => {\n signal.removeEventListener('abort', abort)\n})\n\n// https://fetch.spec.whatwg.org/#request-class\nclass Request {\n // https://fetch.spec.whatwg.org/#dom-request\n constructor (input, init = {}) {\n if (input === kInit) {\n return\n }\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'Request constructor' })\n\n input = webidl.converters.RequestInfo(input)\n init = webidl.converters.RequestInit(init)\n\n // https://html.spec.whatwg.org/multipage/webappapis.html#environment-settings-object\n this[kRealm] = {\n settingsObject: {\n baseUrl: getGlobalOrigin(),\n get origin () {\n return this.baseUrl?.origin\n },\n policyContainer: makePolicyContainer()\n }\n }\n\n // 1. Let request be null.\n let request = null\n\n // 2. Let fallbackMode be null.\n let fallbackMode = null\n\n // 3. Let baseURL be this\u2019s relevant settings object\u2019s API base URL.\n const baseUrl = this[kRealm].settingsObject.baseUrl\n\n // 4. Let signal be null.\n let signal = null\n\n // 5. If input is a string, then:\n if (typeof input === 'string') {\n // 1. Let parsedURL be the result of parsing input with baseURL.\n // 2. If parsedURL is failure, then throw a TypeError.\n let parsedURL\n try {\n parsedURL = new URL(input, baseUrl)\n } catch (err) {\n throw new TypeError('Failed to parse URL from ' + input, { cause: err })\n }\n\n // 3. If parsedURL includes credentials, then throw a TypeError.\n if (parsedURL.username || parsedURL.password) {\n throw new TypeError(\n 'Request cannot be constructed from a URL that includes credentials: ' +\n input\n )\n }\n\n // 4. Set request to a new request whose URL is parsedURL.\n request = makeRequest({ urlList: [parsedURL] })\n\n // 5. Set fallbackMode to \"cors\".\n fallbackMode = 'cors'\n } else {\n // 6. Otherwise:\n\n // 7. Assert: input is a Request object.\n assert(input instanceof Request)\n\n // 8. Set request to input\u2019s request.\n request = input[kState]\n\n // 9. Set signal to input\u2019s signal.\n signal = input[kSignal]\n }\n\n // 7. Let origin be this\u2019s relevant settings object\u2019s origin.\n const origin = this[kRealm].settingsObject.origin\n\n // 8. Let window be \"client\".\n let window = 'client'\n\n // 9. If request\u2019s window is an environment settings object and its origin\n // is same origin with origin, then set window to request\u2019s window.\n if (\n request.window?.constructor?.name === 'EnvironmentSettingsObject' &&\n sameOrigin(request.window, origin)\n ) {\n window = request.window\n }\n\n // 10. If init[\"window\"] exists and is non-null, then throw a TypeError.\n if (init.window != null) {\n throw new TypeError(`'window' option '${window}' must be null`)\n }\n\n // 11. If init[\"window\"] exists, then set window to \"no-window\".\n if ('window' in init) {\n window = 'no-window'\n }\n\n // 12. Set request to a new request with the following properties:\n request = makeRequest({\n // URL request\u2019s URL.\n // undici implementation note: this is set as the first item in request's urlList in makeRequest\n // method request\u2019s method.\n method: request.method,\n // header list A copy of request\u2019s header list.\n // undici implementation note: headersList is cloned in makeRequest\n headersList: request.headersList,\n // unsafe-request flag Set.\n unsafeRequest: request.unsafeRequest,\n // client This\u2019s relevant settings object.\n client: this[kRealm].settingsObject,\n // window window.\n window,\n // priority request\u2019s priority.\n priority: request.priority,\n // origin request\u2019s origin. The propagation of the origin is only significant for navigation requests\n // being handled by a service worker. In this scenario a request can have an origin that is different\n // from the current client.\n origin: request.origin,\n // referrer request\u2019s referrer.\n referrer: request.referrer,\n // referrer policy request\u2019s referrer policy.\n referrerPolicy: request.referrerPolicy,\n // mode request\u2019s mode.\n mode: request.mode,\n // credentials mode request\u2019s credentials mode.\n credentials: request.credentials,\n // cache mode request\u2019s cache mode.\n cache: request.cache,\n // redirect mode request\u2019s redirect mode.\n redirect: request.redirect,\n // integrity metadata request\u2019s integrity metadata.\n integrity: request.integrity,\n // keepalive request\u2019s keepalive.\n keepalive: request.keepalive,\n // reload-navigation flag request\u2019s reload-navigation flag.\n reloadNavigation: request.reloadNavigation,\n // history-navigation flag request\u2019s history-navigation flag.\n historyNavigation: request.historyNavigation,\n // URL list A clone of request\u2019s URL list.\n urlList: [...request.urlList]\n })\n\n // 13. If init is not empty, then:\n if (Object.keys(init).length > 0) {\n // 1. If request\u2019s mode is \"navigate\", then set it to \"same-origin\".\n if (request.mode === 'navigate') {\n request.mode = 'same-origin'\n }\n\n // 2. Unset request\u2019s reload-navigation flag.\n request.reloadNavigation = false\n\n // 3. Unset request\u2019s history-navigation flag.\n request.historyNavigation = false\n\n // 4. Set request\u2019s origin to \"client\".\n request.origin = 'client'\n\n // 5. Set request\u2019s referrer to \"client\"\n request.referrer = 'client'\n\n // 6. Set request\u2019s referrer policy to the empty string.\n request.referrerPolicy = ''\n\n // 7. Set request\u2019s URL to request\u2019s current URL.\n request.url = request.urlList[request.urlList.length - 1]\n\n // 8. Set request\u2019s URL list to \u00AB request\u2019s URL \u00BB.\n request.urlList = [request.url]\n }\n\n // 14. If init[\"referrer\"] exists, then:\n if (init.referrer !== undefined) {\n // 1. Let referrer be init[\"referrer\"].\n const referrer = init.referrer\n\n // 2. If referrer is the empty string, then set request\u2019s referrer to \"no-referrer\".\n if (referrer === '') {\n request.referrer = 'no-referrer'\n } else {\n // 1. Let parsedReferrer be the result of parsing referrer with\n // baseURL.\n // 2. If parsedReferrer is failure, then throw a TypeError.\n let parsedReferrer\n try {\n parsedReferrer = new URL(referrer, baseUrl)\n } catch (err) {\n throw new TypeError(`Referrer \"${referrer}\" is not a valid URL.`, { cause: err })\n }\n\n // 3. If one of the following is true\n // - parsedReferrer\u2019s scheme is \"about\" and path is the string \"client\"\n // - parsedReferrer\u2019s origin is not same origin with origin\n // then set request\u2019s referrer to \"client\".\n if (\n (parsedReferrer.protocol === 'about:' && parsedReferrer.hostname === 'client') ||\n (origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl))\n ) {\n request.referrer = 'client'\n } else {\n // 4. Otherwise, set request\u2019s referrer to parsedReferrer.\n request.referrer = parsedReferrer\n }\n }\n }\n\n // 15. If init[\"referrerPolicy\"] exists, then set request\u2019s referrer policy\n // to it.\n if (init.referrerPolicy !== undefined) {\n request.referrerPolicy = init.referrerPolicy\n }\n\n // 16. Let mode be init[\"mode\"] if it exists, and fallbackMode otherwise.\n let mode\n if (init.mode !== undefined) {\n mode = init.mode\n } else {\n mode = fallbackMode\n }\n\n // 17. If mode is \"navigate\", then throw a TypeError.\n if (mode === 'navigate') {\n throw webidl.errors.exception({\n header: 'Request constructor',\n message: 'invalid request mode navigate.'\n })\n }\n\n // 18. If mode is non-null, set request\u2019s mode to mode.\n if (mode != null) {\n request.mode = mode\n }\n\n // 19. If init[\"credentials\"] exists, then set request\u2019s credentials mode\n // to it.\n if (init.credentials !== undefined) {\n request.credentials = init.credentials\n }\n\n // 18. If init[\"cache\"] exists, then set request\u2019s cache mode to it.\n if (init.cache !== undefined) {\n request.cache = init.cache\n }\n\n // 21. If request\u2019s cache mode is \"only-if-cached\" and request\u2019s mode is\n // not \"same-origin\", then throw a TypeError.\n if (request.cache === 'only-if-cached' && request.mode !== 'same-origin') {\n throw new TypeError(\n \"'only-if-cached' can be set only with 'same-origin' mode\"\n )\n }\n\n // 22. If init[\"redirect\"] exists, then set request\u2019s redirect mode to it.\n if (init.redirect !== undefined) {\n request.redirect = init.redirect\n }\n\n // 23. If init[\"integrity\"] exists, then set request\u2019s integrity metadata to it.\n if (init.integrity !== undefined && init.integrity != null) {\n request.integrity = String(init.integrity)\n }\n\n // 24. If init[\"keepalive\"] exists, then set request\u2019s keepalive to it.\n if (init.keepalive !== undefined) {\n request.keepalive = Boolean(init.keepalive)\n }\n\n // 25. If init[\"method\"] exists, then:\n if (init.method !== undefined) {\n // 1. Let method be init[\"method\"].\n let method = init.method\n\n // 2. If method is not a method or method is a forbidden method, then\n // throw a TypeError.\n if (!isValidHTTPToken(init.method)) {\n throw TypeError(`'${init.method}' is not a valid HTTP method.`)\n }\n\n if (forbiddenMethods.indexOf(method.toUpperCase()) !== -1) {\n throw TypeError(`'${init.method}' HTTP method is unsupported.`)\n }\n\n // 3. Normalize method.\n method = normalizeMethod(init.method)\n\n // 4. Set request\u2019s method to method.\n request.method = method\n }\n\n // 26. If init[\"signal\"] exists, then set signal to it.\n if (init.signal !== undefined) {\n signal = init.signal\n }\n\n // 27. Set this\u2019s request to request.\n this[kState] = request\n\n // 28. Set this\u2019s signal to a new AbortSignal object with this\u2019s relevant\n // Realm.\n // TODO: could this be simplified with AbortSignal.any\n // (https://dom.spec.whatwg.org/#dom-abortsignal-any)\n const ac = new AbortController()\n this[kSignal] = ac.signal\n this[kSignal][kRealm] = this[kRealm]\n\n // 29. If signal is not null, then make this\u2019s signal follow signal.\n if (signal != null) {\n if (\n !signal ||\n typeof signal.aborted !== 'boolean' ||\n typeof signal.addEventListener !== 'function'\n ) {\n throw new TypeError(\n \"Failed to construct 'Request': member signal is not of type AbortSignal.\"\n )\n }\n\n if (signal.aborted) {\n ac.abort(signal.reason)\n } else {\n // Keep a strong ref to ac while request object\n // is alive. This is needed to prevent AbortController\n // from being prematurely garbage collected.\n // See, https://github.com/nodejs/undici/issues/1926.\n this[kAbortController] = ac\n\n const acRef = new WeakRef(ac)\n const abort = function () {\n const ac = acRef.deref()\n if (ac !== undefined) {\n ac.abort(this.reason)\n }\n }\n\n // Third-party AbortControllers may not work with these.\n // See, https://github.com/nodejs/undici/pull/1910#issuecomment-1464495619.\n try {\n // If the max amount of listeners is equal to the default, increase it\n // This is only available in node >= v19.9.0\n if (typeof getMaxListeners === 'function' && getMaxListeners(signal) === defaultMaxListeners) {\n setMaxListeners(100, signal)\n } else if (getEventListeners(signal, 'abort').length >= defaultMaxListeners) {\n setMaxListeners(100, signal)\n }\n } catch {}\n\n util.addAbortListener(signal, abort)\n requestFinalizer.register(ac, { signal, abort })\n }\n }\n\n // 30. Set this\u2019s headers to a new Headers object with this\u2019s relevant\n // Realm, whose header list is request\u2019s header list and guard is\n // \"request\".\n this[kHeaders] = new Headers()\n this[kHeaders][kHeadersList] = request.headersList\n this[kHeaders][kGuard] = 'request'\n this[kHeaders][kRealm] = this[kRealm]\n\n // 31. If this\u2019s request\u2019s mode is \"no-cors\", then:\n if (mode === 'no-cors') {\n // 1. If this\u2019s request\u2019s method is not a CORS-safelisted method,\n // then throw a TypeError.\n if (!corsSafeListedMethods.includes(request.method)) {\n throw new TypeError(\n `'${request.method} is unsupported in no-cors mode.`\n )\n }\n\n // 2. Set this\u2019s headers\u2019s guard to \"request-no-cors\".\n this[kHeaders][kGuard] = 'request-no-cors'\n }\n\n // 32. If init is not empty, then:\n if (Object.keys(init).length !== 0) {\n // 1. Let headers be a copy of this\u2019s headers and its associated header\n // list.\n let headers = new Headers(this[kHeaders])\n\n // 2. If init[\"headers\"] exists, then set headers to init[\"headers\"].\n if (init.headers !== undefined) {\n headers = init.headers\n }\n\n // 3. Empty this\u2019s headers\u2019s header list.\n this[kHeaders][kHeadersList].clear()\n\n // 4. If headers is a Headers object, then for each header in its header\n // list, append header\u2019s name/header\u2019s value to this\u2019s headers.\n if (headers.constructor.name === 'Headers') {\n for (const [key, val] of headers) {\n this[kHeaders].append(key, val)\n }\n } else {\n // 5. Otherwise, fill this\u2019s headers with headers.\n fillHeaders(this[kHeaders], headers)\n }\n }\n\n // 33. Let inputBody be input\u2019s request\u2019s body if input is a Request\n // object; otherwise null.\n const inputBody = input instanceof Request ? input[kState].body : null\n\n // 34. If either init[\"body\"] exists and is non-null or inputBody is\n // non-null, and request\u2019s method is `GET` or `HEAD`, then throw a\n // TypeError.\n if (\n (init.body != null || inputBody != null) &&\n (request.method === 'GET' || request.method === 'HEAD')\n ) {\n throw new TypeError('Request with GET/HEAD method cannot have body.')\n }\n\n // 35. Let initBody be null.\n let initBody = null\n\n // 36. If init[\"body\"] exists and is non-null, then:\n if (init.body != null) {\n // 1. Let Content-Type be null.\n // 2. Set initBody and Content-Type to the result of extracting\n // init[\"body\"], with keepalive set to request\u2019s keepalive.\n const [extractedBody, contentType] = extractBody(\n init.body,\n request.keepalive\n )\n initBody = extractedBody\n\n // 3, If Content-Type is non-null and this\u2019s headers\u2019s header list does\n // not contain `Content-Type`, then append `Content-Type`/Content-Type to\n // this\u2019s headers.\n if (contentType && !this[kHeaders][kHeadersList].contains('content-type')) {\n this[kHeaders].append('content-type', contentType)\n }\n }\n\n // 37. Let inputOrInitBody be initBody if it is non-null; otherwise\n // inputBody.\n const inputOrInitBody = initBody ?? inputBody\n\n // 38. If inputOrInitBody is non-null and inputOrInitBody\u2019s source is\n // null, then:\n if (inputOrInitBody != null && inputOrInitBody.source == null) {\n // 1. If initBody is non-null and init[\"duplex\"] does not exist,\n // then throw a TypeError.\n if (initBody != null && init.duplex == null) {\n throw new TypeError('RequestInit: duplex option is required when sending a body.')\n }\n\n // 2. If this\u2019s request\u2019s mode is neither \"same-origin\" nor \"cors\",\n // then throw a TypeError.\n if (request.mode !== 'same-origin' && request.mode !== 'cors') {\n throw new TypeError(\n 'If request is made from ReadableStream, mode should be \"same-origin\" or \"cors\"'\n )\n }\n\n // 3. Set this\u2019s request\u2019s use-CORS-preflight flag.\n request.useCORSPreflightFlag = true\n }\n\n // 39. Let finalBody be inputOrInitBody.\n let finalBody = inputOrInitBody\n\n // 40. If initBody is null and inputBody is non-null, then:\n if (initBody == null && inputBody != null) {\n // 1. If input is unusable, then throw a TypeError.\n if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {\n throw new TypeError(\n 'Cannot construct a Request with a Request object that has already been used.'\n )\n }\n\n // 2. Set finalBody to the result of creating a proxy for inputBody.\n if (!TransformStream) {\n TransformStream = require('stream/web').TransformStream\n }\n\n // https://streams.spec.whatwg.org/#readablestream-create-a-proxy\n const identityTransform = new TransformStream()\n inputBody.stream.pipeThrough(identityTransform)\n finalBody = {\n source: inputBody.source,\n length: inputBody.length,\n stream: identityTransform.readable\n }\n }\n\n // 41. Set this\u2019s request\u2019s body to finalBody.\n this[kState].body = finalBody\n }\n\n // Returns request\u2019s HTTP method, which is \"GET\" by default.\n get method () {\n webidl.brandCheck(this, Request)\n\n // The method getter steps are to return this\u2019s request\u2019s method.\n return this[kState].method\n }\n\n // Returns the URL of request as a string.\n get url () {\n webidl.brandCheck(this, Request)\n\n // The url getter steps are to return this\u2019s request\u2019s URL, serialized.\n return URLSerializer(this[kState].url)\n }\n\n // Returns a Headers object consisting of the headers associated with request.\n // Note that headers added in the network layer by the user agent will not\n // be accounted for in this object, e.g., the \"Host\" header.\n get headers () {\n webidl.brandCheck(this, Request)\n\n // The headers getter steps are to return this\u2019s headers.\n return this[kHeaders]\n }\n\n // Returns the kind of resource requested by request, e.g., \"document\"\n // or \"script\".\n get destination () {\n webidl.brandCheck(this, Request)\n\n // The destination getter are to return this\u2019s request\u2019s destination.\n return this[kState].destination\n }\n\n // Returns the referrer of request. Its value can be a same-origin URL if\n // explicitly set in init, the empty string to indicate no referrer, and\n // \"about:client\" when defaulting to the global\u2019s default. This is used\n // during fetching to determine the value of the `Referer` header of the\n // request being made.\n get referrer () {\n webidl.brandCheck(this, Request)\n\n // 1. If this\u2019s request\u2019s referrer is \"no-referrer\", then return the\n // empty string.\n if (this[kState].referrer === 'no-referrer') {\n return ''\n }\n\n // 2. If this\u2019s request\u2019s referrer is \"client\", then return\n // \"about:client\".\n if (this[kState].referrer === 'client') {\n return 'about:client'\n }\n\n // Return this\u2019s request\u2019s referrer, serialized.\n return this[kState].referrer.toString()\n }\n\n // Returns the referrer policy associated with request.\n // This is used during fetching to compute the value of the request\u2019s\n // referrer.\n get referrerPolicy () {\n webidl.brandCheck(this, Request)\n\n // The referrerPolicy getter steps are to return this\u2019s request\u2019s referrer policy.\n return this[kState].referrerPolicy\n }\n\n // Returns the mode associated with request, which is a string indicating\n // whether the request will use CORS, or will be restricted to same-origin\n // URLs.\n get mode () {\n webidl.brandCheck(this, Request)\n\n // The mode getter steps are to return this\u2019s request\u2019s mode.\n return this[kState].mode\n }\n\n // Returns the credentials mode associated with request,\n // which is a string indicating whether credentials will be sent with the\n // request always, never, or only when sent to a same-origin URL.\n get credentials () {\n // The credentials getter steps are to return this\u2019s request\u2019s credentials mode.\n return this[kState].credentials\n }\n\n // Returns the cache mode associated with request,\n // which is a string indicating how the request will\n // interact with the browser\u2019s cache when fetching.\n get cache () {\n webidl.brandCheck(this, Request)\n\n // The cache getter steps are to return this\u2019s request\u2019s cache mode.\n return this[kState].cache\n }\n\n // Returns the redirect mode associated with request,\n // which is a string indicating how redirects for the\n // request will be handled during fetching. A request\n // will follow redirects by default.\n get redirect () {\n webidl.brandCheck(this, Request)\n\n // The redirect getter steps are to return this\u2019s request\u2019s redirect mode.\n return this[kState].redirect\n }\n\n // Returns request\u2019s subresource integrity metadata, which is a\n // cryptographic hash of the resource being fetched. Its value\n // consists of multiple hashes separated by whitespace. [SRI]\n get integrity () {\n webidl.brandCheck(this, Request)\n\n // The integrity getter steps are to return this\u2019s request\u2019s integrity\n // metadata.\n return this[kState].integrity\n }\n\n // Returns a boolean indicating whether or not request can outlive the\n // global in which it was created.\n get keepalive () {\n webidl.brandCheck(this, Request)\n\n // The keepalive getter steps are to return this\u2019s request\u2019s keepalive.\n return this[kState].keepalive\n }\n\n // Returns a boolean indicating whether or not request is for a reload\n // navigation.\n get isReloadNavigation () {\n webidl.brandCheck(this, Request)\n\n // The isReloadNavigation getter steps are to return true if this\u2019s\n // request\u2019s reload-navigation flag is set; otherwise false.\n return this[kState].reloadNavigation\n }\n\n // Returns a boolean indicating whether or not request is for a history\n // navigation (a.k.a. back-foward navigation).\n get isHistoryNavigation () {\n webidl.brandCheck(this, Request)\n\n // The isHistoryNavigation getter steps are to return true if this\u2019s request\u2019s\n // history-navigation flag is set; otherwise false.\n return this[kState].historyNavigation\n }\n\n // Returns the signal associated with request, which is an AbortSignal\n // object indicating whether or not request has been aborted, and its\n // abort event handler.\n get signal () {\n webidl.brandCheck(this, Request)\n\n // The signal getter steps are to return this\u2019s signal.\n return this[kSignal]\n }\n\n get body () {\n webidl.brandCheck(this, Request)\n\n return this[kState].body ? this[kState].body.stream : null\n }\n\n get bodyUsed () {\n webidl.brandCheck(this, Request)\n\n return !!this[kState].body && util.isDisturbed(this[kState].body.stream)\n }\n\n get duplex () {\n webidl.brandCheck(this, Request)\n\n return 'half'\n }\n\n // Returns a clone of request.\n clone () {\n webidl.brandCheck(this, Request)\n\n // 1. If this is unusable, then throw a TypeError.\n if (this.bodyUsed || this.body?.locked) {\n throw new TypeError('unusable')\n }\n\n // 2. Let clonedRequest be the result of cloning this\u2019s request.\n const clonedRequest = cloneRequest(this[kState])\n\n // 3. Let clonedRequestObject be the result of creating a Request object,\n // given clonedRequest, this\u2019s headers\u2019s guard, and this\u2019s relevant Realm.\n const clonedRequestObject = new Request(kInit)\n clonedRequestObject[kState] = clonedRequest\n clonedRequestObject[kRealm] = this[kRealm]\n clonedRequestObject[kHeaders] = new Headers()\n clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList\n clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard]\n clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm]\n\n // 4. Make clonedRequestObject\u2019s signal follow this\u2019s signal.\n const ac = new AbortController()\n if (this.signal.aborted) {\n ac.abort(this.signal.reason)\n } else {\n util.addAbortListener(\n this.signal,\n () => {\n ac.abort(this.signal.reason)\n }\n )\n }\n clonedRequestObject[kSignal] = ac.signal\n\n // 4. Return clonedRequestObject.\n return clonedRequestObject\n }\n}\n\nmixinBody(Request)\n\nfunction makeRequest (init) {\n // https://fetch.spec.whatwg.org/#requests\n const request = {\n method: 'GET',\n localURLsOnly: false,\n unsafeRequest: false,\n body: null,\n client: null,\n reservedClient: null,\n replacesClientId: '',\n window: 'client',\n keepalive: false,\n serviceWorkers: 'all',\n initiator: '',\n destination: '',\n priority: null,\n origin: 'client',\n policyContainer: 'client',\n referrer: 'client',\n referrerPolicy: '',\n mode: 'no-cors',\n useCORSPreflightFlag: false,\n credentials: 'same-origin',\n useCredentials: false,\n cache: 'default',\n redirect: 'follow',\n integrity: '',\n cryptoGraphicsNonceMetadata: '',\n parserMetadata: '',\n reloadNavigation: false,\n historyNavigation: false,\n userActivation: false,\n taintedOrigin: false,\n redirectCount: 0,\n responseTainting: 'basic',\n preventNoCacheCacheControlHeaderModification: false,\n done: false,\n timingAllowFailed: false,\n ...init,\n headersList: init.headersList\n ? new HeadersList(init.headersList)\n : new HeadersList()\n }\n request.url = request.urlList[0]\n return request\n}\n\n// https://fetch.spec.whatwg.org/#concept-request-clone\nfunction cloneRequest (request) {\n // To clone a request request, run these steps:\n\n // 1. Let newRequest be a copy of request, except for its body.\n const newRequest = makeRequest({ ...request, body: null })\n\n // 2. If request\u2019s body is non-null, set newRequest\u2019s body to the\n // result of cloning request\u2019s body.\n if (request.body != null) {\n newRequest.body = cloneBody(request.body)\n }\n\n // 3. Return newRequest.\n return newRequest\n}\n\nObject.defineProperties(Request.prototype, {\n method: kEnumerableProperty,\n url: kEnumerableProperty,\n headers: kEnumerableProperty,\n redirect: kEnumerableProperty,\n clone: kEnumerableProperty,\n signal: kEnumerableProperty,\n duplex: kEnumerableProperty,\n destination: kEnumerableProperty,\n body: kEnumerableProperty,\n bodyUsed: kEnumerableProperty,\n isHistoryNavigation: kEnumerableProperty,\n isReloadNavigation: kEnumerableProperty,\n keepalive: kEnumerableProperty,\n integrity: kEnumerableProperty,\n cache: kEnumerableProperty,\n credentials: kEnumerableProperty,\n attribute: kEnumerableProperty,\n referrerPolicy: kEnumerableProperty,\n referrer: kEnumerableProperty,\n mode: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: 'Request',\n configurable: true\n }\n})\n\nwebidl.converters.Request = webidl.interfaceConverter(\n Request\n)\n\n// https://fetch.spec.whatwg.org/#requestinfo\nwebidl.converters.RequestInfo = function (V) {\n if (typeof V === 'string') {\n return webidl.converters.USVString(V)\n }\n\n if (V instanceof Request) {\n return webidl.converters.Request(V)\n }\n\n return webidl.converters.USVString(V)\n}\n\nwebidl.converters.AbortSignal = webidl.interfaceConverter(\n AbortSignal\n)\n\n// https://fetch.spec.whatwg.org/#requestinit\nwebidl.converters.RequestInit = webidl.dictionaryConverter([\n {\n key: 'method',\n converter: webidl.converters.ByteString\n },\n {\n key: 'headers',\n converter: webidl.converters.HeadersInit\n },\n {\n key: 'body',\n converter: webidl.nullableConverter(\n webidl.converters.BodyInit\n )\n },\n {\n key: 'referrer',\n converter: webidl.converters.USVString\n },\n {\n key: 'referrerPolicy',\n converter: webidl.converters.DOMString,\n // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy\n allowedValues: referrerPolicy\n },\n {\n key: 'mode',\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#concept-request-mode\n allowedValues: requestMode\n },\n {\n key: 'credentials',\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#requestcredentials\n allowedValues: requestCredentials\n },\n {\n key: 'cache',\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#requestcache\n allowedValues: requestCache\n },\n {\n key: 'redirect',\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#requestredirect\n allowedValues: requestRedirect\n },\n {\n key: 'integrity',\n converter: webidl.converters.DOMString\n },\n {\n key: 'keepalive',\n converter: webidl.converters.boolean\n },\n {\n key: 'signal',\n converter: webidl.nullableConverter(\n (signal) => webidl.converters.AbortSignal(\n signal,\n { strict: false }\n )\n )\n },\n {\n key: 'window',\n converter: webidl.converters.any\n },\n {\n key: 'duplex',\n converter: webidl.converters.DOMString,\n allowedValues: requestDuplex\n }\n])\n\nmodule.exports = { Request, makeRequest }\n", "// https://github.com/Ethan-Arrowood/undici-fetch\n\n'use strict'\n\nconst {\n Response,\n makeNetworkError,\n makeAppropriateNetworkError,\n filterResponse,\n makeResponse\n} = require('./response')\nconst { Headers } = require('./headers')\nconst { Request, makeRequest } = require('./request')\nconst zlib = require('zlib')\nconst {\n bytesMatch,\n makePolicyContainer,\n clonePolicyContainer,\n requestBadPort,\n TAOCheck,\n appendRequestOriginHeader,\n responseLocationURL,\n requestCurrentURL,\n setRequestReferrerPolicyOnRedirect,\n tryUpgradeRequestToAPotentiallyTrustworthyURL,\n createOpaqueTimingInfo,\n appendFetchMetadata,\n corsCheck,\n crossOriginResourcePolicyCheck,\n determineRequestsReferrer,\n coarsenedSharedCurrentTime,\n createDeferredPromise,\n isBlobLike,\n sameOrigin,\n isCancelled,\n isAborted,\n isErrorLike,\n fullyReadBody,\n readableStreamClose,\n isomorphicEncode,\n urlIsLocal,\n urlIsHttpHttpsScheme,\n urlHasHttpsScheme\n} = require('./util')\nconst { kState, kHeaders, kGuard, kRealm } = require('./symbols')\nconst assert = require('assert')\nconst { safelyExtractBody } = require('./body')\nconst {\n redirectStatus,\n nullBodyStatus,\n safeMethods,\n requestBodyHeader,\n subresource,\n DOMException\n} = require('./constants')\nconst { kHeadersList } = require('../core/symbols')\nconst EE = require('events')\nconst { Readable, pipeline } = require('stream')\nconst { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require('../core/util')\nconst { dataURLProcessor, serializeAMimeType } = require('./dataURL')\nconst { TransformStream } = require('stream/web')\nconst { getGlobalDispatcher } = require('../global')\nconst { webidl } = require('./webidl')\nconst { STATUS_CODES } = require('http')\n\n/** @type {import('buffer').resolveObjectURL} */\nlet resolveObjectURL\nlet ReadableStream = globalThis.ReadableStream\n\nclass Fetch extends EE {\n constructor (dispatcher) {\n super()\n\n this.dispatcher = dispatcher\n this.connection = null\n this.dump = false\n this.state = 'ongoing'\n // 2 terminated listeners get added per request,\n // but only 1 gets removed. If there are 20 redirects,\n // 21 listeners will be added.\n // See https://github.com/nodejs/undici/issues/1711\n // TODO (fix): Find and fix root cause for leaked listener.\n this.setMaxListeners(21)\n }\n\n terminate (reason) {\n if (this.state !== 'ongoing') {\n return\n }\n\n this.state = 'terminated'\n this.connection?.destroy(reason)\n this.emit('terminated', reason)\n }\n\n // https://fetch.spec.whatwg.org/#fetch-controller-abort\n abort (error) {\n if (this.state !== 'ongoing') {\n return\n }\n\n // 1. Set controller\u2019s state to \"aborted\".\n this.state = 'aborted'\n\n // 2. Let fallbackError be an \"AbortError\" DOMException.\n // 3. Set error to fallbackError if it is not given.\n if (!error) {\n error = new DOMException('The operation was aborted.', 'AbortError')\n }\n\n // 4. Let serializedError be StructuredSerialize(error).\n // If that threw an exception, catch it, and let\n // serializedError be StructuredSerialize(fallbackError).\n\n // 5. Set controller\u2019s serialized abort reason to serializedError.\n this.serializedAbortReason = error\n\n this.connection?.destroy(error)\n this.emit('terminated', error)\n }\n}\n\n// https://fetch.spec.whatwg.org/#fetch-method\nasync function fetch (input, init = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'globalThis.fetch' })\n\n // 1. Let p be a new promise.\n const p = createDeferredPromise()\n\n // 2. Let requestObject be the result of invoking the initial value of\n // Request as constructor with input and init as arguments. If this throws\n // an exception, reject p with it and return p.\n let requestObject\n\n try {\n requestObject = new Request(input, init)\n } catch (e) {\n p.reject(e)\n return p.promise\n }\n\n // 3. Let request be requestObject\u2019s request.\n const request = requestObject[kState]\n\n // 4. If requestObject\u2019s signal\u2019s aborted flag is set, then:\n if (requestObject.signal.aborted) {\n // 1. Abort the fetch() call with p, request, null, and\n // requestObject\u2019s signal\u2019s abort reason.\n abortFetch(p, request, null, requestObject.signal.reason)\n\n // 2. Return p.\n return p.promise\n }\n\n // 5. Let globalObject be request\u2019s client\u2019s global object.\n const globalObject = request.client.globalObject\n\n // 6. If globalObject is a ServiceWorkerGlobalScope object, then set\n // request\u2019s service-workers mode to \"none\".\n if (globalObject?.constructor?.name === 'ServiceWorkerGlobalScope') {\n request.serviceWorkers = 'none'\n }\n\n // 7. Let responseObject be null.\n let responseObject = null\n\n // 8. Let relevantRealm be this\u2019s relevant Realm.\n const relevantRealm = null\n\n // 9. Let locallyAborted be false.\n let locallyAborted = false\n\n // 10. Let controller be null.\n let controller = null\n\n // 11. Add the following abort steps to requestObject\u2019s signal:\n addAbortListener(\n requestObject.signal,\n () => {\n // 1. Set locallyAborted to true.\n locallyAborted = true\n\n // 2. Assert: controller is non-null.\n assert(controller != null)\n\n // 3. Abort controller with requestObject\u2019s signal\u2019s abort reason.\n controller.abort(requestObject.signal.reason)\n\n // 4. Abort the fetch() call with p, request, responseObject,\n // and requestObject\u2019s signal\u2019s abort reason.\n abortFetch(p, request, responseObject, requestObject.signal.reason)\n }\n )\n\n // 12. Let handleFetchDone given response response be to finalize and\n // report timing with response, globalObject, and \"fetch\".\n const handleFetchDone = (response) =>\n finalizeAndReportTiming(response, 'fetch')\n\n // 13. Set controller to the result of calling fetch given request,\n // with processResponseEndOfBody set to handleFetchDone, and processResponse\n // given response being these substeps:\n\n const processResponse = (response) => {\n // 1. If locallyAborted is true, terminate these substeps.\n if (locallyAborted) {\n return\n }\n\n // 2. If response\u2019s aborted flag is set, then:\n if (response.aborted) {\n // 1. Let deserializedError be the result of deserialize a serialized\n // abort reason given controller\u2019s serialized abort reason and\n // relevantRealm.\n\n // 2. Abort the fetch() call with p, request, responseObject, and\n // deserializedError.\n\n abortFetch(p, request, responseObject, controller.serializedAbortReason)\n return\n }\n\n // 3. If response is a network error, then reject p with a TypeError\n // and terminate these substeps.\n if (response.type === 'error') {\n p.reject(\n Object.assign(new TypeError('fetch failed'), { cause: response.error })\n )\n return\n }\n\n // 4. Set responseObject to the result of creating a Response object,\n // given response, \"immutable\", and relevantRealm.\n responseObject = new Response()\n responseObject[kState] = response\n responseObject[kRealm] = relevantRealm\n responseObject[kHeaders][kHeadersList] = response.headersList\n responseObject[kHeaders][kGuard] = 'immutable'\n responseObject[kHeaders][kRealm] = relevantRealm\n\n // 5. Resolve p with responseObject.\n p.resolve(responseObject)\n }\n\n controller = fetching({\n request,\n processResponseEndOfBody: handleFetchDone,\n processResponse,\n dispatcher: init.dispatcher ?? getGlobalDispatcher() // undici\n })\n\n // 14. Return p.\n return p.promise\n}\n\n// https://fetch.spec.whatwg.org/#finalize-and-report-timing\nfunction finalizeAndReportTiming (response, initiatorType = 'other') {\n // 1. If response is an aborted network error, then return.\n if (response.type === 'error' && response.aborted) {\n return\n }\n\n // 2. If response\u2019s URL list is null or empty, then return.\n if (!response.urlList?.length) {\n return\n }\n\n // 3. Let originalURL be response\u2019s URL list[0].\n const originalURL = response.urlList[0]\n\n // 4. Let timingInfo be response\u2019s timing info.\n let timingInfo = response.timingInfo\n\n // 5. Let cacheState be response\u2019s cache state.\n let cacheState = response.cacheState\n\n // 6. If originalURL\u2019s scheme is not an HTTP(S) scheme, then return.\n if (!urlIsHttpHttpsScheme(originalURL)) {\n return\n }\n\n // 7. If timingInfo is null, then return.\n if (timingInfo === null) {\n return\n }\n\n // 8. If response\u2019s timing allow passed flag is not set, then:\n if (!timingInfo.timingAllowPassed) {\n // 1. Set timingInfo to a the result of creating an opaque timing info for timingInfo.\n timingInfo = createOpaqueTimingInfo({\n startTime: timingInfo.startTime\n })\n\n // 2. Set cacheState to the empty string.\n cacheState = ''\n }\n\n // 9. Set timingInfo\u2019s end time to the coarsened shared current time\n // given global\u2019s relevant settings object\u2019s cross-origin isolated\n // capability.\n // TODO: given global\u2019s relevant settings object\u2019s cross-origin isolated\n // capability?\n timingInfo.endTime = coarsenedSharedCurrentTime()\n\n // 10. Set response\u2019s timing info to timingInfo.\n response.timingInfo = timingInfo\n\n // 11. Mark resource timing for timingInfo, originalURL, initiatorType,\n // global, and cacheState.\n markResourceTiming(\n timingInfo,\n originalURL,\n initiatorType,\n globalThis,\n cacheState\n )\n}\n\n// https://w3c.github.io/resource-timing/#dfn-mark-resource-timing\nfunction markResourceTiming (timingInfo, originalURL, initiatorType, globalThis, cacheState) {\n if (nodeMajor > 18 || (nodeMajor === 18 && nodeMinor >= 2)) {\n performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis, cacheState)\n }\n}\n\n// https://fetch.spec.whatwg.org/#abort-fetch\nfunction abortFetch (p, request, responseObject, error) {\n // Note: AbortSignal.reason was added in node v17.2.0\n // which would give us an undefined error to reject with.\n // Remove this once node v16 is no longer supported.\n if (!error) {\n error = new DOMException('The operation was aborted.', 'AbortError')\n }\n\n // 1. Reject promise with error.\n p.reject(error)\n\n // 2. If request\u2019s body is not null and is readable, then cancel request\u2019s\n // body with error.\n if (request.body != null && isReadable(request.body?.stream)) {\n request.body.stream.cancel(error).catch((err) => {\n if (err.code === 'ERR_INVALID_STATE') {\n // Node bug?\n return\n }\n throw err\n })\n }\n\n // 3. If responseObject is null, then return.\n if (responseObject == null) {\n return\n }\n\n // 4. Let response be responseObject\u2019s response.\n const response = responseObject[kState]\n\n // 5. If response\u2019s body is not null and is readable, then error response\u2019s\n // body with error.\n if (response.body != null && isReadable(response.body?.stream)) {\n response.body.stream.cancel(error).catch((err) => {\n if (err.code === 'ERR_INVALID_STATE') {\n // Node bug?\n return\n }\n throw err\n })\n }\n}\n\n// https://fetch.spec.whatwg.org/#fetching\nfunction fetching ({\n request,\n processRequestBodyChunkLength,\n processRequestEndOfBody,\n processResponse,\n processResponseEndOfBody,\n processResponseConsumeBody,\n useParallelQueue = false,\n dispatcher // undici\n}) {\n // 1. Let taskDestination be null.\n let taskDestination = null\n\n // 2. Let crossOriginIsolatedCapability be false.\n let crossOriginIsolatedCapability = false\n\n // 3. If request\u2019s client is non-null, then:\n if (request.client != null) {\n // 1. Set taskDestination to request\u2019s client\u2019s global object.\n taskDestination = request.client.globalObject\n\n // 2. Set crossOriginIsolatedCapability to request\u2019s client\u2019s cross-origin\n // isolated capability.\n crossOriginIsolatedCapability =\n request.client.crossOriginIsolatedCapability\n }\n\n // 4. If useParallelQueue is true, then set taskDestination to the result of\n // starting a new parallel queue.\n // TODO\n\n // 5. Let timingInfo be a new fetch timing info whose start time and\n // post-redirect start time are the coarsened shared current time given\n // crossOriginIsolatedCapability.\n const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability)\n const timingInfo = createOpaqueTimingInfo({\n startTime: currenTime\n })\n\n // 6. Let fetchParams be a new fetch params whose\n // request is request,\n // timing info is timingInfo,\n // process request body chunk length is processRequestBodyChunkLength,\n // process request end-of-body is processRequestEndOfBody,\n // process response is processResponse,\n // process response consume body is processResponseConsumeBody,\n // process response end-of-body is processResponseEndOfBody,\n // task destination is taskDestination,\n // and cross-origin isolated capability is crossOriginIsolatedCapability.\n const fetchParams = {\n controller: new Fetch(dispatcher),\n request,\n timingInfo,\n processRequestBodyChunkLength,\n processRequestEndOfBody,\n processResponse,\n processResponseConsumeBody,\n processResponseEndOfBody,\n taskDestination,\n crossOriginIsolatedCapability\n }\n\n // 7. If request\u2019s body is a byte sequence, then set request\u2019s body to\n // request\u2019s body as a body.\n // NOTE: Since fetching is only called from fetch, body should already be\n // extracted.\n assert(!request.body || request.body.stream)\n\n // 8. If request\u2019s window is \"client\", then set request\u2019s window to request\u2019s\n // client, if request\u2019s client\u2019s global object is a Window object; otherwise\n // \"no-window\".\n if (request.window === 'client') {\n // TODO: What if request.client is null?\n request.window =\n request.client?.globalObject?.constructor?.name === 'Window'\n ? request.client\n : 'no-window'\n }\n\n // 9. If request\u2019s origin is \"client\", then set request\u2019s origin to request\u2019s\n // client\u2019s origin.\n if (request.origin === 'client') {\n // TODO: What if request.client is null?\n request.origin = request.client?.origin\n }\n\n // 10. If all of the following conditions are true:\n // TODO\n\n // 11. If request\u2019s policy container is \"client\", then:\n if (request.policyContainer === 'client') {\n // 1. If request\u2019s client is non-null, then set request\u2019s policy\n // container to a clone of request\u2019s client\u2019s policy container. [HTML]\n if (request.client != null) {\n request.policyContainer = clonePolicyContainer(\n request.client.policyContainer\n )\n } else {\n // 2. Otherwise, set request\u2019s policy container to a new policy\n // container.\n request.policyContainer = makePolicyContainer()\n }\n }\n\n // 12. If request\u2019s header list does not contain `Accept`, then:\n if (!request.headersList.contains('accept')) {\n // 1. Let value be `*/*`.\n const value = '*/*'\n\n // 2. A user agent should set value to the first matching statement, if\n // any, switching on request\u2019s destination:\n // \"document\"\n // \"frame\"\n // \"iframe\"\n // `text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8`\n // \"image\"\n // `image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5`\n // \"style\"\n // `text/css,*/*;q=0.1`\n // TODO\n\n // 3. Append `Accept`/value to request\u2019s header list.\n request.headersList.append('accept', value)\n }\n\n // 13. If request\u2019s header list does not contain `Accept-Language`, then\n // user agents should append `Accept-Language`/an appropriate value to\n // request\u2019s header list.\n if (!request.headersList.contains('accept-language')) {\n request.headersList.append('accept-language', '*')\n }\n\n // 14. If request\u2019s priority is null, then use request\u2019s initiator and\n // destination appropriately in setting request\u2019s priority to a\n // user-agent-defined object.\n if (request.priority === null) {\n // TODO\n }\n\n // 15. If request is a subresource request, then:\n if (subresource.includes(request.destination)) {\n // TODO\n }\n\n // 16. Run main fetch given fetchParams.\n mainFetch(fetchParams)\n .catch(err => {\n fetchParams.controller.terminate(err)\n })\n\n // 17. Return fetchParam's controller\n return fetchParams.controller\n}\n\n// https://fetch.spec.whatwg.org/#concept-main-fetch\nasync function mainFetch (fetchParams, recursive = false) {\n // 1. Let request be fetchParams\u2019s request.\n const request = fetchParams.request\n\n // 2. Let response be null.\n let response = null\n\n // 3. If request\u2019s local-URLs-only flag is set and request\u2019s current URL is\n // not local, then set response to a network error.\n if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) {\n response = makeNetworkError('local URLs only')\n }\n\n // 4. Run report Content Security Policy violations for request.\n // TODO\n\n // 5. Upgrade request to a potentially trustworthy URL, if appropriate.\n tryUpgradeRequestToAPotentiallyTrustworthyURL(request)\n\n // 6. If should request be blocked due to a bad port, should fetching request\n // be blocked as mixed content, or should request be blocked by Content\n // Security Policy returns blocked, then set response to a network error.\n if (requestBadPort(request) === 'blocked') {\n response = makeNetworkError('bad port')\n }\n // TODO: should fetching request be blocked as mixed content?\n // TODO: should request be blocked by Content Security Policy?\n\n // 7. If request\u2019s referrer policy is the empty string, then set request\u2019s\n // referrer policy to request\u2019s policy container\u2019s referrer policy.\n if (request.referrerPolicy === '') {\n request.referrerPolicy = request.policyContainer.referrerPolicy\n }\n\n // 8. If request\u2019s referrer is not \"no-referrer\", then set request\u2019s\n // referrer to the result of invoking determine request\u2019s referrer.\n if (request.referrer !== 'no-referrer') {\n request.referrer = determineRequestsReferrer(request)\n }\n\n // 9. Set request\u2019s current URL\u2019s scheme to \"https\" if all of the following\n // conditions are true:\n // - request\u2019s current URL\u2019s scheme is \"http\"\n // - request\u2019s current URL\u2019s host is a domain\n // - Matching request\u2019s current URL\u2019s host per Known HSTS Host Domain Name\n // Matching results in either a superdomain match with an asserted\n // includeSubDomains directive or a congruent match (with or without an\n // asserted includeSubDomains directive). [HSTS]\n // TODO\n\n // 10. If recursive is false, then run the remaining steps in parallel.\n // TODO\n\n // 11. If response is null, then set response to the result of running\n // the steps corresponding to the first matching statement:\n if (response === null) {\n response = await (async () => {\n const currentURL = requestCurrentURL(request)\n\n if (\n // - request\u2019s current URL\u2019s origin is same origin with request\u2019s origin,\n // and request\u2019s response tainting is \"basic\"\n (sameOrigin(currentURL, request.url) && request.responseTainting === 'basic') ||\n // request\u2019s current URL\u2019s scheme is \"data\"\n (currentURL.protocol === 'data:') ||\n // - request\u2019s mode is \"navigate\" or \"websocket\"\n (request.mode === 'navigate' || request.mode === 'websocket')\n ) {\n // 1. Set request\u2019s response tainting to \"basic\".\n request.responseTainting = 'basic'\n\n // 2. Return the result of running scheme fetch given fetchParams.\n return await schemeFetch(fetchParams)\n }\n\n // request\u2019s mode is \"same-origin\"\n if (request.mode === 'same-origin') {\n // 1. Return a network error.\n return makeNetworkError('request mode cannot be \"same-origin\"')\n }\n\n // request\u2019s mode is \"no-cors\"\n if (request.mode === 'no-cors') {\n // 1. If request\u2019s redirect mode is not \"follow\", then return a network\n // error.\n if (request.redirect !== 'follow') {\n return makeNetworkError(\n 'redirect mode cannot be \"follow\" for \"no-cors\" request'\n )\n }\n\n // 2. Set request\u2019s response tainting to \"opaque\".\n request.responseTainting = 'opaque'\n\n // 3. Return the result of running scheme fetch given fetchParams.\n return await schemeFetch(fetchParams)\n }\n\n // request\u2019s current URL\u2019s scheme is not an HTTP(S) scheme\n if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) {\n // Return a network error.\n return makeNetworkError('URL scheme must be a HTTP(S) scheme')\n }\n\n // - request\u2019s use-CORS-preflight flag is set\n // - request\u2019s unsafe-request flag is set and either request\u2019s method is\n // not a CORS-safelisted method or CORS-unsafe request-header names with\n // request\u2019s header list is not empty\n // 1. Set request\u2019s response tainting to \"cors\".\n // 2. Let corsWithPreflightResponse be the result of running HTTP fetch\n // given fetchParams and true.\n // 3. If corsWithPreflightResponse is a network error, then clear cache\n // entries using request.\n // 4. Return corsWithPreflightResponse.\n // TODO\n\n // Otherwise\n // 1. Set request\u2019s response tainting to \"cors\".\n request.responseTainting = 'cors'\n\n // 2. Return the result of running HTTP fetch given fetchParams.\n return await httpFetch(fetchParams)\n })()\n }\n\n // 12. If recursive is true, then return response.\n if (recursive) {\n return response\n }\n\n // 13. If response is not a network error and response is not a filtered\n // response, then:\n if (response.status !== 0 && !response.internalResponse) {\n // If request\u2019s response tainting is \"cors\", then:\n if (request.responseTainting === 'cors') {\n // 1. Let headerNames be the result of extracting header list values\n // given `Access-Control-Expose-Headers` and response\u2019s header list.\n // TODO\n // 2. If request\u2019s credentials mode is not \"include\" and headerNames\n // contains `*`, then set response\u2019s CORS-exposed header-name list to\n // all unique header names in response\u2019s header list.\n // TODO\n // 3. Otherwise, if headerNames is not null or failure, then set\n // response\u2019s CORS-exposed header-name list to headerNames.\n // TODO\n }\n\n // Set response to the following filtered response with response as its\n // internal response, depending on request\u2019s response tainting:\n if (request.responseTainting === 'basic') {\n response = filterResponse(response, 'basic')\n } else if (request.responseTainting === 'cors') {\n response = filterResponse(response, 'cors')\n } else if (request.responseTainting === 'opaque') {\n response = filterResponse(response, 'opaque')\n } else {\n assert(false)\n }\n }\n\n // 14. Let internalResponse be response, if response is a network error,\n // and response\u2019s internal response otherwise.\n let internalResponse =\n response.status === 0 ? response : response.internalResponse\n\n // 15. If internalResponse\u2019s URL list is empty, then set it to a clone of\n // request\u2019s URL list.\n if (internalResponse.urlList.length === 0) {\n internalResponse.urlList.push(...request.urlList)\n }\n\n // 16. If request\u2019s timing allow failed flag is unset, then set\n // internalResponse\u2019s timing allow passed flag.\n if (!request.timingAllowFailed) {\n response.timingAllowPassed = true\n }\n\n // 17. If response is not a network error and any of the following returns\n // blocked\n // - should internalResponse to request be blocked as mixed content\n // - should internalResponse to request be blocked by Content Security Policy\n // - should internalResponse to request be blocked due to its MIME type\n // - should internalResponse to request be blocked due to nosniff\n // TODO\n\n // 18. If response\u2019s type is \"opaque\", internalResponse\u2019s status is 206,\n // internalResponse\u2019s range-requested flag is set, and request\u2019s header\n // list does not contain `Range`, then set response and internalResponse\n // to a network error.\n if (\n response.type === 'opaque' &&\n internalResponse.status === 206 &&\n internalResponse.rangeRequested &&\n !request.headers.contains('range')\n ) {\n response = internalResponse = makeNetworkError()\n }\n\n // 19. If response is not a network error and either request\u2019s method is\n // `HEAD` or `CONNECT`, or internalResponse\u2019s status is a null body status,\n // set internalResponse\u2019s body to null and disregard any enqueuing toward\n // it (if any).\n if (\n response.status !== 0 &&\n (request.method === 'HEAD' ||\n request.method === 'CONNECT' ||\n nullBodyStatus.includes(internalResponse.status))\n ) {\n internalResponse.body = null\n fetchParams.controller.dump = true\n }\n\n // 20. If request\u2019s integrity metadata is not the empty string, then:\n if (request.integrity) {\n // 1. Let processBodyError be this step: run fetch finale given fetchParams\n // and a network error.\n const processBodyError = (reason) =>\n fetchFinale(fetchParams, makeNetworkError(reason))\n\n // 2. If request\u2019s response tainting is \"opaque\", or response\u2019s body is null,\n // then run processBodyError and abort these steps.\n if (request.responseTainting === 'opaque' || response.body == null) {\n processBodyError(response.error)\n return\n }\n\n // 3. Let processBody given bytes be these steps:\n const processBody = (bytes) => {\n // 1. If bytes do not match request\u2019s integrity metadata,\n // then run processBodyError and abort these steps. [SRI]\n if (!bytesMatch(bytes, request.integrity)) {\n processBodyError('integrity mismatch')\n return\n }\n\n // 2. Set response\u2019s body to bytes as a body.\n response.body = safelyExtractBody(bytes)[0]\n\n // 3. Run fetch finale given fetchParams and response.\n fetchFinale(fetchParams, response)\n }\n\n // 4. Fully read response\u2019s body given processBody and processBodyError.\n await fullyReadBody(response.body, processBody, processBodyError)\n } else {\n // 21. Otherwise, run fetch finale given fetchParams and response.\n fetchFinale(fetchParams, response)\n }\n}\n\n// https://fetch.spec.whatwg.org/#concept-scheme-fetch\n// given a fetch params fetchParams\nasync function schemeFetch (fetchParams) {\n // Note: since the connection is destroyed on redirect, which sets fetchParams to a\n // cancelled state, we do not want this condition to trigger *unless* there have been\n // no redirects. See https://github.com/nodejs/undici/issues/1776\n // 1. If fetchParams is canceled, then return the appropriate network error for fetchParams.\n if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {\n return makeAppropriateNetworkError(fetchParams)\n }\n\n // 2. Let request be fetchParams\u2019s request.\n const { request } = fetchParams\n\n const { protocol: scheme } = requestCurrentURL(request)\n\n // 3. Switch on request\u2019s current URL\u2019s scheme and run the associated steps:\n switch (scheme) {\n case 'about:': {\n // If request\u2019s current URL\u2019s path is the string \"blank\", then return a new response\n // whose status message is `OK`, header list is \u00AB (`Content-Type`, `text/html;charset=utf-8`) \u00BB,\n // and body is the empty byte sequence as a body.\n\n // Otherwise, return a network error.\n return makeNetworkError('about scheme is not supported')\n }\n case 'blob:': {\n if (!resolveObjectURL) {\n resolveObjectURL = require('buffer').resolveObjectURL\n }\n\n // 1. Let blobURLEntry be request\u2019s current URL\u2019s blob URL entry.\n const blobURLEntry = requestCurrentURL(request)\n\n // https://github.com/web-platform-tests/wpt/blob/7b0ebaccc62b566a1965396e5be7bb2bc06f841f/FileAPI/url/resources/fetch-tests.js#L52-L56\n // Buffer.resolveObjectURL does not ignore URL queries.\n if (blobURLEntry.search.length !== 0) {\n return makeNetworkError('NetworkError when attempting to fetch resource.')\n }\n\n const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString())\n\n // 2. If request\u2019s method is not `GET`, blobURLEntry is null, or blobURLEntry\u2019s\n // object is not a Blob object, then return a network error.\n if (request.method !== 'GET' || !isBlobLike(blobURLEntryObject)) {\n return makeNetworkError('invalid method')\n }\n\n // 3. Let bodyWithType be the result of safely extracting blobURLEntry\u2019s object.\n const bodyWithType = safelyExtractBody(blobURLEntryObject)\n\n // 4. Let body be bodyWithType\u2019s body.\n const body = bodyWithType[0]\n\n // 5. Let length be body\u2019s length, serialized and isomorphic encoded.\n const length = isomorphicEncode(`${body.length}`)\n\n // 6. Let type be bodyWithType\u2019s type if it is non-null; otherwise the empty byte sequence.\n const type = bodyWithType[1] ?? ''\n\n // 7. Return a new response whose status message is `OK`, header list is\n // \u00AB (`Content-Length`, length), (`Content-Type`, type) \u00BB, and body is body.\n const response = makeResponse({\n statusText: 'OK',\n headersList: [\n ['content-length', { name: 'Content-Length', value: length }],\n ['content-type', { name: 'Content-Type', value: type }]\n ]\n })\n\n response.body = body\n\n return response\n }\n case 'data:': {\n // 1. Let dataURLStruct be the result of running the\n // data: URL processor on request\u2019s current URL.\n const currentURL = requestCurrentURL(request)\n const dataURLStruct = dataURLProcessor(currentURL)\n\n // 2. If dataURLStruct is failure, then return a\n // network error.\n if (dataURLStruct === 'failure') {\n return makeNetworkError('failed to fetch the data URL')\n }\n\n // 3. Let mimeType be dataURLStruct\u2019s MIME type, serialized.\n const mimeType = serializeAMimeType(dataURLStruct.mimeType)\n\n // 4. Return a response whose status message is `OK`,\n // header list is \u00AB (`Content-Type`, mimeType) \u00BB,\n // and body is dataURLStruct\u2019s body as a body.\n return makeResponse({\n statusText: 'OK',\n headersList: [\n ['content-type', { name: 'Content-Type', value: mimeType }]\n ],\n body: safelyExtractBody(dataURLStruct.body)[0]\n })\n }\n case 'file:': {\n // For now, unfortunate as it is, file URLs are left as an exercise for the reader.\n // When in doubt, return a network error.\n return makeNetworkError('not implemented... yet...')\n }\n case 'http:':\n case 'https:': {\n // Return the result of running HTTP fetch given fetchParams.\n\n return await httpFetch(fetchParams)\n .catch((err) => makeNetworkError(err))\n }\n default: {\n return makeNetworkError('unknown scheme')\n }\n }\n}\n\n// https://fetch.spec.whatwg.org/#finalize-response\nfunction finalizeResponse (fetchParams, response) {\n // 1. Set fetchParams\u2019s request\u2019s done flag.\n fetchParams.request.done = true\n\n // 2, If fetchParams\u2019s process response done is not null, then queue a fetch\n // task to run fetchParams\u2019s process response done given response, with\n // fetchParams\u2019s task destination.\n if (fetchParams.processResponseDone != null) {\n queueMicrotask(() => fetchParams.processResponseDone(response))\n }\n}\n\n// https://fetch.spec.whatwg.org/#fetch-finale\nasync function fetchFinale (fetchParams, response) {\n // 1. If response is a network error, then:\n if (response.type === 'error') {\n // 1. Set response\u2019s URL list to \u00AB fetchParams\u2019s request\u2019s URL list[0] \u00BB.\n response.urlList = [fetchParams.request.urlList[0]]\n\n // 2. Set response\u2019s timing info to the result of creating an opaque timing\n // info for fetchParams\u2019s timing info.\n response.timingInfo = createOpaqueTimingInfo({\n startTime: fetchParams.timingInfo.startTime\n })\n }\n\n // 2. Let processResponseEndOfBody be the following steps:\n const processResponseEndOfBody = () => {\n // 1. Set fetchParams\u2019s request\u2019s done flag.\n fetchParams.request.done = true\n\n // If fetchParams\u2019s process response end-of-body is not null,\n // then queue a fetch task to run fetchParams\u2019s process response\n // end-of-body given response with fetchParams\u2019s task destination.\n if (fetchParams.processResponseEndOfBody != null) {\n queueMicrotask(() => fetchParams.processResponseEndOfBody(response))\n }\n }\n\n // 3. If fetchParams\u2019s process response is non-null, then queue a fetch task\n // to run fetchParams\u2019s process response given response, with fetchParams\u2019s\n // task destination.\n if (fetchParams.processResponse != null) {\n queueMicrotask(() => fetchParams.processResponse(response))\n }\n\n // 4. If response\u2019s body is null, then run processResponseEndOfBody.\n if (response.body == null) {\n processResponseEndOfBody()\n } else {\n // 5. Otherwise:\n\n // 1. Let transformStream be a new a TransformStream.\n\n // 2. Let identityTransformAlgorithm be an algorithm which, given chunk,\n // enqueues chunk in transformStream.\n const identityTransformAlgorithm = (chunk, controller) => {\n controller.enqueue(chunk)\n }\n\n // 3. Set up transformStream with transformAlgorithm set to identityTransformAlgorithm\n // and flushAlgorithm set to processResponseEndOfBody.\n const transformStream = new TransformStream({\n start () {},\n transform: identityTransformAlgorithm,\n flush: processResponseEndOfBody\n }, {\n size () {\n return 1\n }\n }, {\n size () {\n return 1\n }\n })\n\n // 4. Set response\u2019s body to the result of piping response\u2019s body through transformStream.\n response.body = { stream: response.body.stream.pipeThrough(transformStream) }\n }\n\n // 6. If fetchParams\u2019s process response consume body is non-null, then:\n if (fetchParams.processResponseConsumeBody != null) {\n // 1. Let processBody given nullOrBytes be this step: run fetchParams\u2019s\n // process response consume body given response and nullOrBytes.\n const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes)\n\n // 2. Let processBodyError be this step: run fetchParams\u2019s process\n // response consume body given response and failure.\n const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure)\n\n // 3. If response\u2019s body is null, then queue a fetch task to run processBody\n // given null, with fetchParams\u2019s task destination.\n if (response.body == null) {\n queueMicrotask(() => processBody(null))\n } else {\n // 4. Otherwise, fully read response\u2019s body given processBody, processBodyError,\n // and fetchParams\u2019s task destination.\n await fullyReadBody(response.body, processBody, processBodyError)\n }\n }\n}\n\n// https://fetch.spec.whatwg.org/#http-fetch\nasync function httpFetch (fetchParams) {\n // 1. Let request be fetchParams\u2019s request.\n const request = fetchParams.request\n\n // 2. Let response be null.\n let response = null\n\n // 3. Let actualResponse be null.\n let actualResponse = null\n\n // 4. Let timingInfo be fetchParams\u2019s timing info.\n const timingInfo = fetchParams.timingInfo\n\n // 5. If request\u2019s service-workers mode is \"all\", then:\n if (request.serviceWorkers === 'all') {\n // TODO\n }\n\n // 6. If response is null, then:\n if (response === null) {\n // 1. If makeCORSPreflight is true and one of these conditions is true:\n // TODO\n\n // 2. If request\u2019s redirect mode is \"follow\", then set request\u2019s\n // service-workers mode to \"none\".\n if (request.redirect === 'follow') {\n request.serviceWorkers = 'none'\n }\n\n // 3. Set response and actualResponse to the result of running\n // HTTP-network-or-cache fetch given fetchParams.\n actualResponse = response = await httpNetworkOrCacheFetch(fetchParams)\n\n // 4. If request\u2019s response tainting is \"cors\" and a CORS check\n // for request and response returns failure, then return a network error.\n if (\n request.responseTainting === 'cors' &&\n corsCheck(request, response) === 'failure'\n ) {\n return makeNetworkError('cors failure')\n }\n\n // 5. If the TAO check for request and response returns failure, then set\n // request\u2019s timing allow failed flag.\n if (TAOCheck(request, response) === 'failure') {\n request.timingAllowFailed = true\n }\n }\n\n // 7. If either request\u2019s response tainting or response\u2019s type\n // is \"opaque\", and the cross-origin resource policy check with\n // request\u2019s origin, request\u2019s client, request\u2019s destination,\n // and actualResponse returns blocked, then return a network error.\n if (\n (request.responseTainting === 'opaque' || response.type === 'opaque') &&\n crossOriginResourcePolicyCheck(\n request.origin,\n request.client,\n request.destination,\n actualResponse\n ) === 'blocked'\n ) {\n return makeNetworkError('blocked')\n }\n\n // 8. If actualResponse\u2019s status is a redirect status, then:\n if (redirectStatus.includes(actualResponse.status)) {\n // 1. If actualResponse\u2019s status is not 303, request\u2019s body is not null,\n // and the connection uses HTTP/2, then user agents may, and are even\n // encouraged to, transmit an RST_STREAM frame.\n // See, https://github.com/whatwg/fetch/issues/1288\n if (request.redirect !== 'manual') {\n fetchParams.controller.connection.destroy()\n }\n\n // 2. Switch on request\u2019s redirect mode:\n if (request.redirect === 'error') {\n // Set response to a network error.\n response = makeNetworkError('unexpected redirect')\n } else if (request.redirect === 'manual') {\n // Set response to an opaque-redirect filtered response whose internal\n // response is actualResponse.\n // NOTE(spec): On the web this would return an `opaqueredirect` response,\n // but that doesn't make sense server side.\n // See https://github.com/nodejs/undici/issues/1193.\n response = actualResponse\n } else if (request.redirect === 'follow') {\n // Set response to the result of running HTTP-redirect fetch given\n // fetchParams and response.\n response = await httpRedirectFetch(fetchParams, response)\n } else {\n assert(false)\n }\n }\n\n // 9. Set response\u2019s timing info to timingInfo.\n response.timingInfo = timingInfo\n\n // 10. Return response.\n return response\n}\n\n// https://fetch.spec.whatwg.org/#http-redirect-fetch\nasync function httpRedirectFetch (fetchParams, response) {\n // 1. Let request be fetchParams\u2019s request.\n const request = fetchParams.request\n\n // 2. Let actualResponse be response, if response is not a filtered response,\n // and response\u2019s internal response otherwise.\n const actualResponse = response.internalResponse\n ? response.internalResponse\n : response\n\n // 3. Let locationURL be actualResponse\u2019s location URL given request\u2019s current\n // URL\u2019s fragment.\n let locationURL\n\n try {\n locationURL = responseLocationURL(\n actualResponse,\n requestCurrentURL(request).hash\n )\n\n // 4. If locationURL is null, then return response.\n if (locationURL == null) {\n return response\n }\n } catch (err) {\n // 5. If locationURL is failure, then return a network error.\n return makeNetworkError(err)\n }\n\n // 6. If locationURL\u2019s scheme is not an HTTP(S) scheme, then return a network\n // error.\n if (!urlIsHttpHttpsScheme(locationURL)) {\n return makeNetworkError('URL scheme must be a HTTP(S) scheme')\n }\n\n // 7. If request\u2019s redirect count is 20, then return a network error.\n if (request.redirectCount === 20) {\n return makeNetworkError('redirect count exceeded')\n }\n\n // 8. Increase request\u2019s redirect count by 1.\n request.redirectCount += 1\n\n // 9. If request\u2019s mode is \"cors\", locationURL includes credentials, and\n // request\u2019s origin is not same origin with locationURL\u2019s origin, then return\n // a network error.\n if (\n request.mode === 'cors' &&\n (locationURL.username || locationURL.password) &&\n !sameOrigin(request, locationURL)\n ) {\n return makeNetworkError('cross origin not allowed for request mode \"cors\"')\n }\n\n // 10. If request\u2019s response tainting is \"cors\" and locationURL includes\n // credentials, then return a network error.\n if (\n request.responseTainting === 'cors' &&\n (locationURL.username || locationURL.password)\n ) {\n return makeNetworkError(\n 'URL cannot contain credentials for request mode \"cors\"'\n )\n }\n\n // 11. If actualResponse\u2019s status is not 303, request\u2019s body is non-null,\n // and request\u2019s body\u2019s source is null, then return a network error.\n if (\n actualResponse.status !== 303 &&\n request.body != null &&\n request.body.source == null\n ) {\n return makeNetworkError()\n }\n\n // 12. If one of the following is true\n // - actualResponse\u2019s status is 301 or 302 and request\u2019s method is `POST`\n // - actualResponse\u2019s status is 303 and request\u2019s method is not `GET` or `HEAD`\n if (\n ([301, 302].includes(actualResponse.status) && request.method === 'POST') ||\n (actualResponse.status === 303 &&\n !['GET', 'HEAD'].includes(request.method))\n ) {\n // then:\n // 1. Set request\u2019s method to `GET` and request\u2019s body to null.\n request.method = 'GET'\n request.body = null\n\n // 2. For each headerName of request-body-header name, delete headerName from\n // request\u2019s header list.\n for (const headerName of requestBodyHeader) {\n request.headersList.delete(headerName)\n }\n }\n\n // 13. If request\u2019s current URL\u2019s origin is not same origin with locationURL\u2019s\n // origin, then for each headerName of CORS non-wildcard request-header name,\n // delete headerName from request\u2019s header list.\n if (!sameOrigin(requestCurrentURL(request), locationURL)) {\n // https://fetch.spec.whatwg.org/#cors-non-wildcard-request-header-name\n request.headersList.delete('authorization')\n }\n\n // 14. If request\u2019s body is non-null, then set request\u2019s body to the first return\n // value of safely extracting request\u2019s body\u2019s source.\n if (request.body != null) {\n assert(request.body.source != null)\n request.body = safelyExtractBody(request.body.source)[0]\n }\n\n // 15. Let timingInfo be fetchParams\u2019s timing info.\n const timingInfo = fetchParams.timingInfo\n\n // 16. Set timingInfo\u2019s redirect end time and post-redirect start time to the\n // coarsened shared current time given fetchParams\u2019s cross-origin isolated\n // capability.\n timingInfo.redirectEndTime = timingInfo.postRedirectStartTime =\n coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability)\n\n // 17. If timingInfo\u2019s redirect start time is 0, then set timingInfo\u2019s\n // redirect start time to timingInfo\u2019s start time.\n if (timingInfo.redirectStartTime === 0) {\n timingInfo.redirectStartTime = timingInfo.startTime\n }\n\n // 18. Append locationURL to request\u2019s URL list.\n request.urlList.push(locationURL)\n\n // 19. Invoke set request\u2019s referrer policy on redirect on request and\n // actualResponse.\n setRequestReferrerPolicyOnRedirect(request, actualResponse)\n\n // 20. Return the result of running main fetch given fetchParams and true.\n return mainFetch(fetchParams, true)\n}\n\n// https://fetch.spec.whatwg.org/#http-network-or-cache-fetch\nasync function httpNetworkOrCacheFetch (\n fetchParams,\n isAuthenticationFetch = false,\n isNewConnectionFetch = false\n) {\n // 1. Let request be fetchParams\u2019s request.\n const request = fetchParams.request\n\n // 2. Let httpFetchParams be null.\n let httpFetchParams = null\n\n // 3. Let httpRequest be null.\n let httpRequest = null\n\n // 4. Let response be null.\n let response = null\n\n // 5. Let storedResponse be null.\n // TODO: cache\n\n // 6. Let httpCache be null.\n const httpCache = null\n\n // 7. Let the revalidatingFlag be unset.\n const revalidatingFlag = false\n\n // 8. Run these steps, but abort when the ongoing fetch is terminated:\n\n // 1. If request\u2019s window is \"no-window\" and request\u2019s redirect mode is\n // \"error\", then set httpFetchParams to fetchParams and httpRequest to\n // request.\n if (request.window === 'no-window' && request.redirect === 'error') {\n httpFetchParams = fetchParams\n httpRequest = request\n } else {\n // Otherwise:\n\n // 1. Set httpRequest to a clone of request.\n httpRequest = makeRequest(request)\n\n // 2. Set httpFetchParams to a copy of fetchParams.\n httpFetchParams = { ...fetchParams }\n\n // 3. Set httpFetchParams\u2019s request to httpRequest.\n httpFetchParams.request = httpRequest\n }\n\n // 3. Let includeCredentials be true if one of\n const includeCredentials =\n request.credentials === 'include' ||\n (request.credentials === 'same-origin' &&\n request.responseTainting === 'basic')\n\n // 4. Let contentLength be httpRequest\u2019s body\u2019s length, if httpRequest\u2019s\n // body is non-null; otherwise null.\n const contentLength = httpRequest.body ? httpRequest.body.length : null\n\n // 5. Let contentLengthHeaderValue be null.\n let contentLengthHeaderValue = null\n\n // 6. If httpRequest\u2019s body is null and httpRequest\u2019s method is `POST` or\n // `PUT`, then set contentLengthHeaderValue to `0`.\n if (\n httpRequest.body == null &&\n ['POST', 'PUT'].includes(httpRequest.method)\n ) {\n contentLengthHeaderValue = '0'\n }\n\n // 7. If contentLength is non-null, then set contentLengthHeaderValue to\n // contentLength, serialized and isomorphic encoded.\n if (contentLength != null) {\n contentLengthHeaderValue = isomorphicEncode(`${contentLength}`)\n }\n\n // 8. If contentLengthHeaderValue is non-null, then append\n // `Content-Length`/contentLengthHeaderValue to httpRequest\u2019s header\n // list.\n if (contentLengthHeaderValue != null) {\n httpRequest.headersList.append('content-length', contentLengthHeaderValue)\n }\n\n // 9. If contentLengthHeaderValue is non-null, then append (`Content-Length`,\n // contentLengthHeaderValue) to httpRequest\u2019s header list.\n\n // 10. If contentLength is non-null and httpRequest\u2019s keepalive is true,\n // then:\n if (contentLength != null && httpRequest.keepalive) {\n // NOTE: keepalive is a noop outside of browser context.\n }\n\n // 11. If httpRequest\u2019s referrer is a URL, then append\n // `Referer`/httpRequest\u2019s referrer, serialized and isomorphic encoded,\n // to httpRequest\u2019s header list.\n if (httpRequest.referrer instanceof URL) {\n httpRequest.headersList.append('referer', isomorphicEncode(httpRequest.referrer.href))\n }\n\n // 12. Append a request `Origin` header for httpRequest.\n appendRequestOriginHeader(httpRequest)\n\n // 13. Append the Fetch metadata headers for httpRequest. [FETCH-METADATA]\n appendFetchMetadata(httpRequest)\n\n // 14. If httpRequest\u2019s header list does not contain `User-Agent`, then\n // user agents should append `User-Agent`/default `User-Agent` value to\n // httpRequest\u2019s header list.\n if (!httpRequest.headersList.contains('user-agent')) {\n httpRequest.headersList.append('user-agent', 'undici')\n }\n\n // 15. If httpRequest\u2019s cache mode is \"default\" and httpRequest\u2019s header\n // list contains `If-Modified-Since`, `If-None-Match`,\n // `If-Unmodified-Since`, `If-Match`, or `If-Range`, then set\n // httpRequest\u2019s cache mode to \"no-store\".\n if (\n httpRequest.cache === 'default' &&\n (httpRequest.headersList.contains('if-modified-since') ||\n httpRequest.headersList.contains('if-none-match') ||\n httpRequest.headersList.contains('if-unmodified-since') ||\n httpRequest.headersList.contains('if-match') ||\n httpRequest.headersList.contains('if-range'))\n ) {\n httpRequest.cache = 'no-store'\n }\n\n // 16. If httpRequest\u2019s cache mode is \"no-cache\", httpRequest\u2019s prevent\n // no-cache cache-control header modification flag is unset, and\n // httpRequest\u2019s header list does not contain `Cache-Control`, then append\n // `Cache-Control`/`max-age=0` to httpRequest\u2019s header list.\n if (\n httpRequest.cache === 'no-cache' &&\n !httpRequest.preventNoCacheCacheControlHeaderModification &&\n !httpRequest.headersList.contains('cache-control')\n ) {\n httpRequest.headersList.append('cache-control', 'max-age=0')\n }\n\n // 17. If httpRequest\u2019s cache mode is \"no-store\" or \"reload\", then:\n if (httpRequest.cache === 'no-store' || httpRequest.cache === 'reload') {\n // 1. If httpRequest\u2019s header list does not contain `Pragma`, then append\n // `Pragma`/`no-cache` to httpRequest\u2019s header list.\n if (!httpRequest.headersList.contains('pragma')) {\n httpRequest.headersList.append('pragma', 'no-cache')\n }\n\n // 2. If httpRequest\u2019s header list does not contain `Cache-Control`,\n // then append `Cache-Control`/`no-cache` to httpRequest\u2019s header list.\n if (!httpRequest.headersList.contains('cache-control')) {\n httpRequest.headersList.append('cache-control', 'no-cache')\n }\n }\n\n // 18. If httpRequest\u2019s header list contains `Range`, then append\n // `Accept-Encoding`/`identity` to httpRequest\u2019s header list.\n if (httpRequest.headersList.contains('range')) {\n httpRequest.headersList.append('accept-encoding', 'identity')\n }\n\n // 19. Modify httpRequest\u2019s header list per HTTP. Do not append a given\n // header if httpRequest\u2019s header list contains that header\u2019s name.\n // TODO: https://github.com/whatwg/fetch/issues/1285#issuecomment-896560129\n if (!httpRequest.headersList.contains('accept-encoding')) {\n if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {\n httpRequest.headersList.append('accept-encoding', 'br, gzip, deflate')\n } else {\n httpRequest.headersList.append('accept-encoding', 'gzip, deflate')\n }\n }\n\n // 20. If includeCredentials is true, then:\n if (includeCredentials) {\n // 1. If the user agent is not configured to block cookies for httpRequest\n // (see section 7 of [COOKIES]), then:\n // TODO: credentials\n // 2. If httpRequest\u2019s header list does not contain `Authorization`, then:\n // TODO: credentials\n }\n\n // 21. If there\u2019s a proxy-authentication entry, use it as appropriate.\n // TODO: proxy-authentication\n\n // 22. Set httpCache to the result of determining the HTTP cache\n // partition, given httpRequest.\n // TODO: cache\n\n // 23. If httpCache is null, then set httpRequest\u2019s cache mode to\n // \"no-store\".\n if (httpCache == null) {\n httpRequest.cache = 'no-store'\n }\n\n // 24. If httpRequest\u2019s cache mode is neither \"no-store\" nor \"reload\",\n // then:\n if (httpRequest.mode !== 'no-store' && httpRequest.mode !== 'reload') {\n // TODO: cache\n }\n\n // 9. If aborted, then return the appropriate network error for fetchParams.\n // TODO\n\n // 10. If response is null, then:\n if (response == null) {\n // 1. If httpRequest\u2019s cache mode is \"only-if-cached\", then return a\n // network error.\n if (httpRequest.mode === 'only-if-cached') {\n return makeNetworkError('only if cached')\n }\n\n // 2. Let forwardResponse be the result of running HTTP-network fetch\n // given httpFetchParams, includeCredentials, and isNewConnectionFetch.\n const forwardResponse = await httpNetworkFetch(\n httpFetchParams,\n includeCredentials,\n isNewConnectionFetch\n )\n\n // 3. If httpRequest\u2019s method is unsafe and forwardResponse\u2019s status is\n // in the range 200 to 399, inclusive, invalidate appropriate stored\n // responses in httpCache, as per the \"Invalidation\" chapter of HTTP\n // Caching, and set storedResponse to null. [HTTP-CACHING]\n if (\n !safeMethods.includes(httpRequest.method) &&\n forwardResponse.status >= 200 &&\n forwardResponse.status <= 399\n ) {\n // TODO: cache\n }\n\n // 4. If the revalidatingFlag is set and forwardResponse\u2019s status is 304,\n // then:\n if (revalidatingFlag && forwardResponse.status === 304) {\n // TODO: cache\n }\n\n // 5. If response is null, then:\n if (response == null) {\n // 1. Set response to forwardResponse.\n response = forwardResponse\n\n // 2. Store httpRequest and forwardResponse in httpCache, as per the\n // \"Storing Responses in Caches\" chapter of HTTP Caching. [HTTP-CACHING]\n // TODO: cache\n }\n }\n\n // 11. Set response\u2019s URL list to a clone of httpRequest\u2019s URL list.\n response.urlList = [...httpRequest.urlList]\n\n // 12. If httpRequest\u2019s header list contains `Range`, then set response\u2019s\n // range-requested flag.\n if (httpRequest.headersList.contains('range')) {\n response.rangeRequested = true\n }\n\n // 13. Set response\u2019s request-includes-credentials to includeCredentials.\n response.requestIncludesCredentials = includeCredentials\n\n // 14. If response\u2019s status is 401, httpRequest\u2019s response tainting is not\n // \"cors\", includeCredentials is true, and request\u2019s window is an environment\n // settings object, then:\n // TODO\n\n // 15. If response\u2019s status is 407, then:\n if (response.status === 407) {\n // 1. If request\u2019s window is \"no-window\", then return a network error.\n if (request.window === 'no-window') {\n return makeNetworkError()\n }\n\n // 2. ???\n\n // 3. If fetchParams is canceled, then return the appropriate network error for fetchParams.\n if (isCancelled(fetchParams)) {\n return makeAppropriateNetworkError(fetchParams)\n }\n\n // 4. Prompt the end user as appropriate in request\u2019s window and store\n // the result as a proxy-authentication entry. [HTTP-AUTH]\n // TODO: Invoke some kind of callback?\n\n // 5. Set response to the result of running HTTP-network-or-cache fetch given\n // fetchParams.\n // TODO\n return makeNetworkError('proxy authentication required')\n }\n\n // 16. If all of the following are true\n if (\n // response\u2019s status is 421\n response.status === 421 &&\n // isNewConnectionFetch is false\n !isNewConnectionFetch &&\n // request\u2019s body is null, or request\u2019s body is non-null and request\u2019s body\u2019s source is non-null\n (request.body == null || request.body.source != null)\n ) {\n // then:\n\n // 1. If fetchParams is canceled, then return the appropriate network error for fetchParams.\n if (isCancelled(fetchParams)) {\n return makeAppropriateNetworkError(fetchParams)\n }\n\n // 2. Set response to the result of running HTTP-network-or-cache\n // fetch given fetchParams, isAuthenticationFetch, and true.\n\n // TODO (spec): The spec doesn't specify this but we need to cancel\n // the active response before we can start a new one.\n // https://github.com/whatwg/fetch/issues/1293\n fetchParams.controller.connection.destroy()\n\n response = await httpNetworkOrCacheFetch(\n fetchParams,\n isAuthenticationFetch,\n true\n )\n }\n\n // 17. If isAuthenticationFetch is true, then create an authentication entry\n if (isAuthenticationFetch) {\n // TODO\n }\n\n // 18. Return response.\n return response\n}\n\n// https://fetch.spec.whatwg.org/#http-network-fetch\nasync function httpNetworkFetch (\n fetchParams,\n includeCredentials = false,\n forceNewConnection = false\n) {\n assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed)\n\n fetchParams.controller.connection = {\n abort: null,\n destroyed: false,\n destroy (err) {\n if (!this.destroyed) {\n this.destroyed = true\n this.abort?.(err ?? new DOMException('The operation was aborted.', 'AbortError'))\n }\n }\n }\n\n // 1. Let request be fetchParams\u2019s request.\n const request = fetchParams.request\n\n // 2. Let response be null.\n let response = null\n\n // 3. Let timingInfo be fetchParams\u2019s timing info.\n const timingInfo = fetchParams.timingInfo\n\n // 4. Let httpCache be the result of determining the HTTP cache partition,\n // given request.\n // TODO: cache\n const httpCache = null\n\n // 5. If httpCache is null, then set request\u2019s cache mode to \"no-store\".\n if (httpCache == null) {\n request.cache = 'no-store'\n }\n\n // 6. Let networkPartitionKey be the result of determining the network\n // partition key given request.\n // TODO\n\n // 7. Let newConnection be \"yes\" if forceNewConnection is true; otherwise\n // \"no\".\n const newConnection = forceNewConnection ? 'yes' : 'no' // eslint-disable-line no-unused-vars\n\n // 8. Switch on request\u2019s mode:\n if (request.mode === 'websocket') {\n // Let connection be the result of obtaining a WebSocket connection,\n // given request\u2019s current URL.\n // TODO\n } else {\n // Let connection be the result of obtaining a connection, given\n // networkPartitionKey, request\u2019s current URL\u2019s origin,\n // includeCredentials, and forceNewConnection.\n // TODO\n }\n\n // 9. Run these steps, but abort when the ongoing fetch is terminated:\n\n // 1. If connection is failure, then return a network error.\n\n // 2. Set timingInfo\u2019s final connection timing info to the result of\n // calling clamp and coarsen connection timing info with connection\u2019s\n // timing info, timingInfo\u2019s post-redirect start time, and fetchParams\u2019s\n // cross-origin isolated capability.\n\n // 3. If connection is not an HTTP/2 connection, request\u2019s body is non-null,\n // and request\u2019s body\u2019s source is null, then append (`Transfer-Encoding`,\n // `chunked`) to request\u2019s header list.\n\n // 4. Set timingInfo\u2019s final network-request start time to the coarsened\n // shared current time given fetchParams\u2019s cross-origin isolated\n // capability.\n\n // 5. Set response to the result of making an HTTP request over connection\n // using request with the following caveats:\n\n // - Follow the relevant requirements from HTTP. [HTTP] [HTTP-SEMANTICS]\n // [HTTP-COND] [HTTP-CACHING] [HTTP-AUTH]\n\n // - If request\u2019s body is non-null, and request\u2019s body\u2019s source is null,\n // then the user agent may have a buffer of up to 64 kibibytes and store\n // a part of request\u2019s body in that buffer. If the user agent reads from\n // request\u2019s body beyond that buffer\u2019s size and the user agent needs to\n // resend request, then instead return a network error.\n\n // - Set timingInfo\u2019s final network-response start time to the coarsened\n // shared current time given fetchParams\u2019s cross-origin isolated capability,\n // immediately after the user agent\u2019s HTTP parser receives the first byte\n // of the response (e.g., frame header bytes for HTTP/2 or response status\n // line for HTTP/1.x).\n\n // - Wait until all the headers are transmitted.\n\n // - Any responses whose status is in the range 100 to 199, inclusive,\n // and is not 101, are to be ignored, except for the purposes of setting\n // timingInfo\u2019s final network-response start time above.\n\n // - If request\u2019s header list contains `Transfer-Encoding`/`chunked` and\n // response is transferred via HTTP/1.0 or older, then return a network\n // error.\n\n // - If the HTTP request results in a TLS client certificate dialog, then:\n\n // 1. If request\u2019s window is an environment settings object, make the\n // dialog available in request\u2019s window.\n\n // 2. Otherwise, return a network error.\n\n // To transmit request\u2019s body body, run these steps:\n let requestBody = null\n // 1. If body is null and fetchParams\u2019s process request end-of-body is\n // non-null, then queue a fetch task given fetchParams\u2019s process request\n // end-of-body and fetchParams\u2019s task destination.\n if (request.body == null && fetchParams.processRequestEndOfBody) {\n queueMicrotask(() => fetchParams.processRequestEndOfBody())\n } else if (request.body != null) {\n // 2. Otherwise, if body is non-null:\n\n // 1. Let processBodyChunk given bytes be these steps:\n const processBodyChunk = async function * (bytes) {\n // 1. If the ongoing fetch is terminated, then abort these steps.\n if (isCancelled(fetchParams)) {\n return\n }\n\n // 2. Run this step in parallel: transmit bytes.\n yield bytes\n\n // 3. If fetchParams\u2019s process request body is non-null, then run\n // fetchParams\u2019s process request body given bytes\u2019s length.\n fetchParams.processRequestBodyChunkLength?.(bytes.byteLength)\n }\n\n // 2. Let processEndOfBody be these steps:\n const processEndOfBody = () => {\n // 1. If fetchParams is canceled, then abort these steps.\n if (isCancelled(fetchParams)) {\n return\n }\n\n // 2. If fetchParams\u2019s process request end-of-body is non-null,\n // then run fetchParams\u2019s process request end-of-body.\n if (fetchParams.processRequestEndOfBody) {\n fetchParams.processRequestEndOfBody()\n }\n }\n\n // 3. Let processBodyError given e be these steps:\n const processBodyError = (e) => {\n // 1. If fetchParams is canceled, then abort these steps.\n if (isCancelled(fetchParams)) {\n return\n }\n\n // 2. If e is an \"AbortError\" DOMException, then abort fetchParams\u2019s controller.\n if (e.name === 'AbortError') {\n fetchParams.controller.abort()\n } else {\n fetchParams.controller.terminate(e)\n }\n }\n\n // 4. Incrementally read request\u2019s body given processBodyChunk, processEndOfBody,\n // processBodyError, and fetchParams\u2019s task destination.\n requestBody = (async function * () {\n try {\n for await (const bytes of request.body.stream) {\n yield * processBodyChunk(bytes)\n }\n processEndOfBody()\n } catch (err) {\n processBodyError(err)\n }\n })()\n }\n\n try {\n // socket is only provided for websockets\n const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody })\n\n if (socket) {\n response = makeResponse({ status, statusText, headersList, socket })\n } else {\n const iterator = body[Symbol.asyncIterator]()\n fetchParams.controller.next = () => iterator.next()\n\n response = makeResponse({ status, statusText, headersList })\n }\n } catch (err) {\n // 10. If aborted, then:\n if (err.name === 'AbortError') {\n // 1. If connection uses HTTP/2, then transmit an RST_STREAM frame.\n fetchParams.controller.connection.destroy()\n\n // 2. Return the appropriate network error for fetchParams.\n return makeAppropriateNetworkError(fetchParams)\n }\n\n return makeNetworkError(err)\n }\n\n // 11. Let pullAlgorithm be an action that resumes the ongoing fetch\n // if it is suspended.\n const pullAlgorithm = () => {\n fetchParams.controller.resume()\n }\n\n // 12. Let cancelAlgorithm be an algorithm that aborts fetchParams\u2019s\n // controller with reason, given reason.\n const cancelAlgorithm = (reason) => {\n fetchParams.controller.abort(reason)\n }\n\n // 13. Let highWaterMark be a non-negative, non-NaN number, chosen by\n // the user agent.\n // TODO\n\n // 14. Let sizeAlgorithm be an algorithm that accepts a chunk object\n // and returns a non-negative, non-NaN, non-infinite number, chosen by the user agent.\n // TODO\n\n // 15. Let stream be a new ReadableStream.\n // 16. Set up stream with pullAlgorithm set to pullAlgorithm,\n // cancelAlgorithm set to cancelAlgorithm, highWaterMark set to\n // highWaterMark, and sizeAlgorithm set to sizeAlgorithm.\n if (!ReadableStream) {\n ReadableStream = require('stream/web').ReadableStream\n }\n\n const stream = new ReadableStream(\n {\n async start (controller) {\n fetchParams.controller.controller = controller\n },\n async pull (controller) {\n await pullAlgorithm(controller)\n },\n async cancel (reason) {\n await cancelAlgorithm(reason)\n }\n },\n {\n highWaterMark: 0,\n size () {\n return 1\n }\n }\n )\n\n // 17. Run these steps, but abort when the ongoing fetch is terminated:\n\n // 1. Set response\u2019s body to a new body whose stream is stream.\n response.body = { stream }\n\n // 2. If response is not a network error and request\u2019s cache mode is\n // not \"no-store\", then update response in httpCache for request.\n // TODO\n\n // 3. If includeCredentials is true and the user agent is not configured\n // to block cookies for request (see section 7 of [COOKIES]), then run the\n // \"set-cookie-string\" parsing algorithm (see section 5.2 of [COOKIES]) on\n // the value of each header whose name is a byte-case-insensitive match for\n // `Set-Cookie` in response\u2019s header list, if any, and request\u2019s current URL.\n // TODO\n\n // 18. If aborted, then:\n // TODO\n\n // 19. Run these steps in parallel:\n\n // 1. Run these steps, but abort when fetchParams is canceled:\n fetchParams.controller.on('terminated', onAborted)\n fetchParams.controller.resume = async () => {\n // 1. While true\n while (true) {\n // 1-3. See onData...\n\n // 4. Set bytes to the result of handling content codings given\n // codings and bytes.\n let bytes\n let isFailure\n try {\n const { done, value } = await fetchParams.controller.next()\n\n if (isAborted(fetchParams)) {\n break\n }\n\n bytes = done ? undefined : value\n } catch (err) {\n if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {\n // zlib doesn't like empty streams.\n bytes = undefined\n } else {\n bytes = err\n\n // err may be propagated from the result of calling readablestream.cancel,\n // which might not be an error. https://github.com/nodejs/undici/issues/2009\n isFailure = true\n }\n }\n\n if (bytes === undefined) {\n // 2. Otherwise, if the bytes transmission for response\u2019s message\n // body is done normally and stream is readable, then close\n // stream, finalize response for fetchParams and response, and\n // abort these in-parallel steps.\n readableStreamClose(fetchParams.controller.controller)\n\n finalizeResponse(fetchParams, response)\n\n return\n }\n\n // 5. Increase timingInfo\u2019s decoded body size by bytes\u2019s length.\n timingInfo.decodedBodySize += bytes?.byteLength ?? 0\n\n // 6. If bytes is failure, then terminate fetchParams\u2019s controller.\n if (isFailure) {\n fetchParams.controller.terminate(bytes)\n return\n }\n\n // 7. Enqueue a Uint8Array wrapping an ArrayBuffer containing bytes\n // into stream.\n fetchParams.controller.controller.enqueue(new Uint8Array(bytes))\n\n // 8. If stream is errored, then terminate the ongoing fetch.\n if (isErrored(stream)) {\n fetchParams.controller.terminate()\n return\n }\n\n // 9. If stream doesn\u2019t need more data ask the user agent to suspend\n // the ongoing fetch.\n if (!fetchParams.controller.controller.desiredSize) {\n return\n }\n }\n }\n\n // 2. If aborted, then:\n function onAborted (reason) {\n // 2. If fetchParams is aborted, then:\n if (isAborted(fetchParams)) {\n // 1. Set response\u2019s aborted flag.\n response.aborted = true\n\n // 2. If stream is readable, then error stream with the result of\n // deserialize a serialized abort reason given fetchParams\u2019s\n // controller\u2019s serialized abort reason and an\n // implementation-defined realm.\n if (isReadable(stream)) {\n fetchParams.controller.controller.error(\n fetchParams.controller.serializedAbortReason\n )\n }\n } else {\n // 3. Otherwise, if stream is readable, error stream with a TypeError.\n if (isReadable(stream)) {\n fetchParams.controller.controller.error(new TypeError('terminated', {\n cause: isErrorLike(reason) ? reason : undefined\n }))\n }\n }\n\n // 4. If connection uses HTTP/2, then transmit an RST_STREAM frame.\n // 5. Otherwise, the user agent should close connection unless it would be bad for performance to do so.\n fetchParams.controller.connection.destroy()\n }\n\n // 20. Return response.\n return response\n\n async function dispatch ({ body }) {\n const url = requestCurrentURL(request)\n /** @type {import('../..').Agent} */\n const agent = fetchParams.controller.dispatcher\n\n return new Promise((resolve, reject) => agent.dispatch(\n {\n path: url.pathname + url.search,\n origin: url.origin,\n method: request.method,\n body: fetchParams.controller.dispatcher.isMockActive ? request.body && request.body.source : body,\n headers: request.headersList.entries,\n maxRedirections: 0,\n upgrade: request.mode === 'websocket' ? 'websocket' : undefined\n },\n {\n body: null,\n abort: null,\n\n onConnect (abort) {\n // TODO (fix): Do we need connection here?\n const { connection } = fetchParams.controller\n\n if (connection.destroyed) {\n abort(new DOMException('The operation was aborted.', 'AbortError'))\n } else {\n fetchParams.controller.on('terminated', abort)\n this.abort = connection.abort = abort\n }\n },\n\n onHeaders (status, headersList, resume, statusText) {\n if (status < 200) {\n return\n }\n\n let codings = []\n let location = ''\n\n const headers = new Headers()\n for (let n = 0; n < headersList.length; n += 2) {\n const key = headersList[n + 0].toString('latin1')\n const val = headersList[n + 1].toString('latin1')\n\n if (key.toLowerCase() === 'content-encoding') {\n // https://www.rfc-editor.org/rfc/rfc7231#section-3.1.2.1\n // \"All content-coding values are case-insensitive...\"\n codings = val.toLowerCase().split(',').map((x) => x.trim()).reverse()\n } else if (key.toLowerCase() === 'location') {\n location = val\n }\n\n headers.append(key, val)\n }\n\n this.body = new Readable({ read: resume })\n\n const decoders = []\n\n const willFollow = request.redirect === 'follow' &&\n location &&\n redirectStatus.includes(status)\n\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding\n if (request.method !== 'HEAD' && request.method !== 'CONNECT' && !nullBodyStatus.includes(status) && !willFollow) {\n for (const coding of codings) {\n // https://www.rfc-editor.org/rfc/rfc9112.html#section-7.2\n if (coding === 'x-gzip' || coding === 'gzip') {\n decoders.push(zlib.createGunzip({\n // Be less strict when decoding compressed responses, since sometimes\n // servers send slightly invalid responses that are still accepted\n // by common browsers.\n // Always using Z_SYNC_FLUSH is what cURL does.\n flush: zlib.constants.Z_SYNC_FLUSH,\n finishFlush: zlib.constants.Z_SYNC_FLUSH\n }))\n } else if (coding === 'deflate') {\n decoders.push(zlib.createInflate())\n } else if (coding === 'br') {\n decoders.push(zlib.createBrotliDecompress())\n } else {\n decoders.length = 0\n break\n }\n }\n }\n\n resolve({\n status,\n statusText,\n headersList: headers[kHeadersList],\n body: decoders.length\n ? pipeline(this.body, ...decoders, () => { })\n : this.body.on('error', () => {})\n })\n\n return true\n },\n\n onData (chunk) {\n if (fetchParams.controller.dump) {\n return\n }\n\n // 1. If one or more bytes have been transmitted from response\u2019s\n // message body, then:\n\n // 1. Let bytes be the transmitted bytes.\n const bytes = chunk\n\n // 2. Let codings be the result of extracting header list values\n // given `Content-Encoding` and response\u2019s header list.\n // See pullAlgorithm.\n\n // 3. Increase timingInfo\u2019s encoded body size by bytes\u2019s length.\n timingInfo.encodedBodySize += bytes.byteLength\n\n // 4. See pullAlgorithm...\n\n return this.body.push(bytes)\n },\n\n onComplete () {\n if (this.abort) {\n fetchParams.controller.off('terminated', this.abort)\n }\n\n fetchParams.controller.ended = true\n\n this.body.push(null)\n },\n\n onError (error) {\n if (this.abort) {\n fetchParams.controller.off('terminated', this.abort)\n }\n\n this.body?.destroy(error)\n\n fetchParams.controller.terminate(error)\n\n reject(error)\n },\n\n onUpgrade (status, headersList, socket) {\n if (status !== 101) {\n return\n }\n\n const headers = new Headers()\n\n for (let n = 0; n < headersList.length; n += 2) {\n const key = headersList[n + 0].toString('latin1')\n const val = headersList[n + 1].toString('latin1')\n\n headers.append(key, val)\n }\n\n resolve({\n status,\n statusText: STATUS_CODES[status],\n headersList: headers[kHeadersList],\n socket\n })\n\n return true\n }\n }\n ))\n }\n}\n\nmodule.exports = {\n fetch,\n Fetch,\n fetching,\n finalizeAndReportTiming\n}\n", "'use strict'\n\nmodule.exports = {\n kState: Symbol('FileReader state'),\n kResult: Symbol('FileReader result'),\n kError: Symbol('FileReader error'),\n kLastProgressEventFired: Symbol('FileReader last progress event fired timestamp'),\n kEvents: Symbol('FileReader events'),\n kAborted: Symbol('FileReader aborted')\n}\n", "'use strict'\n\nconst { webidl } = require('../fetch/webidl')\n\nconst kState = Symbol('ProgressEvent state')\n\n/**\n * @see https://xhr.spec.whatwg.org/#progressevent\n */\nclass ProgressEvent extends Event {\n constructor (type, eventInitDict = {}) {\n type = webidl.converters.DOMString(type)\n eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {})\n\n super(type, eventInitDict)\n\n this[kState] = {\n lengthComputable: eventInitDict.lengthComputable,\n loaded: eventInitDict.loaded,\n total: eventInitDict.total\n }\n }\n\n get lengthComputable () {\n webidl.brandCheck(this, ProgressEvent)\n\n return this[kState].lengthComputable\n }\n\n get loaded () {\n webidl.brandCheck(this, ProgressEvent)\n\n return this[kState].loaded\n }\n\n get total () {\n webidl.brandCheck(this, ProgressEvent)\n\n return this[kState].total\n }\n}\n\nwebidl.converters.ProgressEventInit = webidl.dictionaryConverter([\n {\n key: 'lengthComputable',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'loaded',\n converter: webidl.converters['unsigned long long'],\n defaultValue: 0\n },\n {\n key: 'total',\n converter: webidl.converters['unsigned long long'],\n defaultValue: 0\n },\n {\n key: 'bubbles',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'cancelable',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'composed',\n converter: webidl.converters.boolean,\n defaultValue: false\n }\n])\n\nmodule.exports = {\n ProgressEvent\n}\n", "'use strict'\n\n/**\n * @see https://encoding.spec.whatwg.org/#concept-encoding-get\n * @param {string|undefined} label\n */\nfunction getEncoding (label) {\n if (!label) {\n return 'failure'\n }\n\n // 1. Remove any leading and trailing ASCII whitespace from label.\n // 2. If label is an ASCII case-insensitive match for any of the\n // labels listed in the table below, then return the\n // corresponding encoding; otherwise return failure.\n switch (label.trim().toLowerCase()) {\n case 'unicode-1-1-utf-8':\n case 'unicode11utf8':\n case 'unicode20utf8':\n case 'utf-8':\n case 'utf8':\n case 'x-unicode20utf8':\n return 'UTF-8'\n case '866':\n case 'cp866':\n case 'csibm866':\n case 'ibm866':\n return 'IBM866'\n case 'csisolatin2':\n case 'iso-8859-2':\n case 'iso-ir-101':\n case 'iso8859-2':\n case 'iso88592':\n case 'iso_8859-2':\n case 'iso_8859-2:1987':\n case 'l2':\n case 'latin2':\n return 'ISO-8859-2'\n case 'csisolatin3':\n case 'iso-8859-3':\n case 'iso-ir-109':\n case 'iso8859-3':\n case 'iso88593':\n case 'iso_8859-3':\n case 'iso_8859-3:1988':\n case 'l3':\n case 'latin3':\n return 'ISO-8859-3'\n case 'csisolatin4':\n case 'iso-8859-4':\n case 'iso-ir-110':\n case 'iso8859-4':\n case 'iso88594':\n case 'iso_8859-4':\n case 'iso_8859-4:1988':\n case 'l4':\n case 'latin4':\n return 'ISO-8859-4'\n case 'csisolatincyrillic':\n case 'cyrillic':\n case 'iso-8859-5':\n case 'iso-ir-144':\n case 'iso8859-5':\n case 'iso88595':\n case 'iso_8859-5':\n case 'iso_8859-5:1988':\n return 'ISO-8859-5'\n case 'arabic':\n case 'asmo-708':\n case 'csiso88596e':\n case 'csiso88596i':\n case 'csisolatinarabic':\n case 'ecma-114':\n case 'iso-8859-6':\n case 'iso-8859-6-e':\n case 'iso-8859-6-i':\n case 'iso-ir-127':\n case 'iso8859-6':\n case 'iso88596':\n case 'iso_8859-6':\n case 'iso_8859-6:1987':\n return 'ISO-8859-6'\n case 'csisolatingreek':\n case 'ecma-118':\n case 'elot_928':\n case 'greek':\n case 'greek8':\n case 'iso-8859-7':\n case 'iso-ir-126':\n case 'iso8859-7':\n case 'iso88597':\n case 'iso_8859-7':\n case 'iso_8859-7:1987':\n case 'sun_eu_greek':\n return 'ISO-8859-7'\n case 'csiso88598e':\n case 'csisolatinhebrew':\n case 'hebrew':\n case 'iso-8859-8':\n case 'iso-8859-8-e':\n case 'iso-ir-138':\n case 'iso8859-8':\n case 'iso88598':\n case 'iso_8859-8':\n case 'iso_8859-8:1988':\n case 'visual':\n return 'ISO-8859-8'\n case 'csiso88598i':\n case 'iso-8859-8-i':\n case 'logical':\n return 'ISO-8859-8-I'\n case 'csisolatin6':\n case 'iso-8859-10':\n case 'iso-ir-157':\n case 'iso8859-10':\n case 'iso885910':\n case 'l6':\n case 'latin6':\n return 'ISO-8859-10'\n case 'iso-8859-13':\n case 'iso8859-13':\n case 'iso885913':\n return 'ISO-8859-13'\n case 'iso-8859-14':\n case 'iso8859-14':\n case 'iso885914':\n return 'ISO-8859-14'\n case 'csisolatin9':\n case 'iso-8859-15':\n case 'iso8859-15':\n case 'iso885915':\n case 'iso_8859-15':\n case 'l9':\n return 'ISO-8859-15'\n case 'iso-8859-16':\n return 'ISO-8859-16'\n case 'cskoi8r':\n case 'koi':\n case 'koi8':\n case 'koi8-r':\n case 'koi8_r':\n return 'KOI8-R'\n case 'koi8-ru':\n case 'koi8-u':\n return 'KOI8-U'\n case 'csmacintosh':\n case 'mac':\n case 'macintosh':\n case 'x-mac-roman':\n return 'macintosh'\n case 'iso-8859-11':\n case 'iso8859-11':\n case 'iso885911':\n case 'tis-620':\n case 'windows-874':\n return 'windows-874'\n case 'cp1250':\n case 'windows-1250':\n case 'x-cp1250':\n return 'windows-1250'\n case 'cp1251':\n case 'windows-1251':\n case 'x-cp1251':\n return 'windows-1251'\n case 'ansi_x3.4-1968':\n case 'ascii':\n case 'cp1252':\n case 'cp819':\n case 'csisolatin1':\n case 'ibm819':\n case 'iso-8859-1':\n case 'iso-ir-100':\n case 'iso8859-1':\n case 'iso88591':\n case 'iso_8859-1':\n case 'iso_8859-1:1987':\n case 'l1':\n case 'latin1':\n case 'us-ascii':\n case 'windows-1252':\n case 'x-cp1252':\n return 'windows-1252'\n case 'cp1253':\n case 'windows-1253':\n case 'x-cp1253':\n return 'windows-1253'\n case 'cp1254':\n case 'csisolatin5':\n case 'iso-8859-9':\n case 'iso-ir-148':\n case 'iso8859-9':\n case 'iso88599':\n case 'iso_8859-9':\n case 'iso_8859-9:1989':\n case 'l5':\n case 'latin5':\n case 'windows-1254':\n case 'x-cp1254':\n return 'windows-1254'\n case 'cp1255':\n case 'windows-1255':\n case 'x-cp1255':\n return 'windows-1255'\n case 'cp1256':\n case 'windows-1256':\n case 'x-cp1256':\n return 'windows-1256'\n case 'cp1257':\n case 'windows-1257':\n case 'x-cp1257':\n return 'windows-1257'\n case 'cp1258':\n case 'windows-1258':\n case 'x-cp1258':\n return 'windows-1258'\n case 'x-mac-cyrillic':\n case 'x-mac-ukrainian':\n return 'x-mac-cyrillic'\n case 'chinese':\n case 'csgb2312':\n case 'csiso58gb231280':\n case 'gb2312':\n case 'gb_2312':\n case 'gb_2312-80':\n case 'gbk':\n case 'iso-ir-58':\n case 'x-gbk':\n return 'GBK'\n case 'gb18030':\n return 'gb18030'\n case 'big5':\n case 'big5-hkscs':\n case 'cn-big5':\n case 'csbig5':\n case 'x-x-big5':\n return 'Big5'\n case 'cseucpkdfmtjapanese':\n case 'euc-jp':\n case 'x-euc-jp':\n return 'EUC-JP'\n case 'csiso2022jp':\n case 'iso-2022-jp':\n return 'ISO-2022-JP'\n case 'csshiftjis':\n case 'ms932':\n case 'ms_kanji':\n case 'shift-jis':\n case 'shift_jis':\n case 'sjis':\n case 'windows-31j':\n case 'x-sjis':\n return 'Shift_JIS'\n case 'cseuckr':\n case 'csksc56011987':\n case 'euc-kr':\n case 'iso-ir-149':\n case 'korean':\n case 'ks_c_5601-1987':\n case 'ks_c_5601-1989':\n case 'ksc5601':\n case 'ksc_5601':\n case 'windows-949':\n return 'EUC-KR'\n case 'csiso2022kr':\n case 'hz-gb-2312':\n case 'iso-2022-cn':\n case 'iso-2022-cn-ext':\n case 'iso-2022-kr':\n case 'replacement':\n return 'replacement'\n case 'unicodefffe':\n case 'utf-16be':\n return 'UTF-16BE'\n case 'csunicode':\n case 'iso-10646-ucs-2':\n case 'ucs-2':\n case 'unicode':\n case 'unicodefeff':\n case 'utf-16':\n case 'utf-16le':\n return 'UTF-16LE'\n case 'x-user-defined':\n return 'x-user-defined'\n default: return 'failure'\n }\n}\n\nmodule.exports = {\n getEncoding\n}\n", "'use strict'\n\nconst {\n kState,\n kError,\n kResult,\n kAborted,\n kLastProgressEventFired\n} = require('./symbols')\nconst { ProgressEvent } = require('./progressevent')\nconst { getEncoding } = require('./encoding')\nconst { DOMException } = require('../fetch/constants')\nconst { serializeAMimeType, parseMIMEType } = require('../fetch/dataURL')\nconst { types } = require('util')\nconst { StringDecoder } = require('string_decoder')\nconst { btoa } = require('buffer')\n\n/** @type {PropertyDescriptor} */\nconst staticPropertyDescriptors = {\n enumerable: true,\n writable: false,\n configurable: false\n}\n\n/**\n * @see https://w3c.github.io/FileAPI/#readOperation\n * @param {import('./filereader').FileReader} fr\n * @param {import('buffer').Blob} blob\n * @param {string} type\n * @param {string?} encodingName\n */\nfunction readOperation (fr, blob, type, encodingName) {\n // 1. If fr\u2019s state is \"loading\", throw an InvalidStateError\n // DOMException.\n if (fr[kState] === 'loading') {\n throw new DOMException('Invalid state', 'InvalidStateError')\n }\n\n // 2. Set fr\u2019s state to \"loading\".\n fr[kState] = 'loading'\n\n // 3. Set fr\u2019s result to null.\n fr[kResult] = null\n\n // 4. Set fr\u2019s error to null.\n fr[kError] = null\n\n // 5. Let stream be the result of calling get stream on blob.\n /** @type {import('stream/web').ReadableStream} */\n const stream = blob.stream()\n\n // 6. Let reader be the result of getting a reader from stream.\n const reader = stream.getReader()\n\n // 7. Let bytes be an empty byte sequence.\n /** @type {Uint8Array[]} */\n const bytes = []\n\n // 8. Let chunkPromise be the result of reading a chunk from\n // stream with reader.\n let chunkPromise = reader.read()\n\n // 9. Let isFirstChunk be true.\n let isFirstChunk = true\n\n // 10. In parallel, while true:\n // Note: \"In parallel\" just means non-blocking\n // Note 2: readOperation itself cannot be async as double\n // reading the body would then reject the promise, instead\n // of throwing an error.\n ;(async () => {\n while (!fr[kAborted]) {\n // 1. Wait for chunkPromise to be fulfilled or rejected.\n try {\n const { done, value } = await chunkPromise\n\n // 2. If chunkPromise is fulfilled, and isFirstChunk is\n // true, queue a task to fire a progress event called\n // loadstart at fr.\n if (isFirstChunk && !fr[kAborted]) {\n queueMicrotask(() => {\n fireAProgressEvent('loadstart', fr)\n })\n }\n\n // 3. Set isFirstChunk to false.\n isFirstChunk = false\n\n // 4. If chunkPromise is fulfilled with an object whose\n // done property is false and whose value property is\n // a Uint8Array object, run these steps:\n if (!done && types.isUint8Array(value)) {\n // 1. Let bs be the byte sequence represented by the\n // Uint8Array object.\n\n // 2. Append bs to bytes.\n bytes.push(value)\n\n // 3. If roughly 50ms have passed since these steps\n // were last invoked, queue a task to fire a\n // progress event called progress at fr.\n if (\n (\n fr[kLastProgressEventFired] === undefined ||\n Date.now() - fr[kLastProgressEventFired] >= 50\n ) &&\n !fr[kAborted]\n ) {\n fr[kLastProgressEventFired] = Date.now()\n queueMicrotask(() => {\n fireAProgressEvent('progress', fr)\n })\n }\n\n // 4. Set chunkPromise to the result of reading a\n // chunk from stream with reader.\n chunkPromise = reader.read()\n } else if (done) {\n // 5. Otherwise, if chunkPromise is fulfilled with an\n // object whose done property is true, queue a task\n // to run the following steps and abort this algorithm:\n queueMicrotask(() => {\n // 1. Set fr\u2019s state to \"done\".\n fr[kState] = 'done'\n\n // 2. Let result be the result of package data given\n // bytes, type, blob\u2019s type, and encodingName.\n try {\n const result = packageData(bytes, type, blob.type, encodingName)\n\n // 4. Else:\n\n if (fr[kAborted]) {\n return\n }\n\n // 1. Set fr\u2019s result to result.\n fr[kResult] = result\n\n // 2. Fire a progress event called load at the fr.\n fireAProgressEvent('load', fr)\n } catch (error) {\n // 3. If package data threw an exception error:\n\n // 1. Set fr\u2019s error to error.\n fr[kError] = error\n\n // 2. Fire a progress event called error at fr.\n fireAProgressEvent('error', fr)\n }\n\n // 5. If fr\u2019s state is not \"loading\", fire a progress\n // event called loadend at the fr.\n if (fr[kState] !== 'loading') {\n fireAProgressEvent('loadend', fr)\n }\n })\n\n break\n }\n } catch (error) {\n if (fr[kAborted]) {\n return\n }\n\n // 6. Otherwise, if chunkPromise is rejected with an\n // error error, queue a task to run the following\n // steps and abort this algorithm:\n queueMicrotask(() => {\n // 1. Set fr\u2019s state to \"done\".\n fr[kState] = 'done'\n\n // 2. Set fr\u2019s error to error.\n fr[kError] = error\n\n // 3. Fire a progress event called error at fr.\n fireAProgressEvent('error', fr)\n\n // 4. If fr\u2019s state is not \"loading\", fire a progress\n // event called loadend at fr.\n if (fr[kState] !== 'loading') {\n fireAProgressEvent('loadend', fr)\n }\n })\n\n break\n }\n }\n })()\n}\n\n/**\n * @see https://w3c.github.io/FileAPI/#fire-a-progress-event\n * @see https://dom.spec.whatwg.org/#concept-event-fire\n * @param {string} e The name of the event\n * @param {import('./filereader').FileReader} reader\n */\nfunction fireAProgressEvent (e, reader) {\n // The progress event e does not bubble. e.bubbles must be false\n // The progress event e is NOT cancelable. e.cancelable must be false\n const event = new ProgressEvent(e, {\n bubbles: false,\n cancelable: false\n })\n\n reader.dispatchEvent(event)\n}\n\n/**\n * @see https://w3c.github.io/FileAPI/#blob-package-data\n * @param {Uint8Array[]} bytes\n * @param {string} type\n * @param {string?} mimeType\n * @param {string?} encodingName\n */\nfunction packageData (bytes, type, mimeType, encodingName) {\n // 1. A Blob has an associated package data algorithm, given\n // bytes, a type, a optional mimeType, and a optional\n // encodingName, which switches on type and runs the\n // associated steps:\n\n switch (type) {\n case 'DataURL': {\n // 1. Return bytes as a DataURL [RFC2397] subject to\n // the considerations below:\n // * Use mimeType as part of the Data URL if it is\n // available in keeping with the Data URL\n // specification [RFC2397].\n // * If mimeType is not available return a Data URL\n // without a media-type. [RFC2397].\n\n // https://datatracker.ietf.org/doc/html/rfc2397#section-3\n // dataurl := \"data:\" [ mediatype ] [ \";base64\" ] \",\" data\n // mediatype := [ type \"/\" subtype ] *( \";\" parameter )\n // data := *urlchar\n // parameter := attribute \"=\" value\n let dataURL = 'data:'\n\n const parsed = parseMIMEType(mimeType || 'application/octet-stream')\n\n if (parsed !== 'failure') {\n dataURL += serializeAMimeType(parsed)\n }\n\n dataURL += ';base64,'\n\n const decoder = new StringDecoder('latin1')\n\n for (const chunk of bytes) {\n dataURL += btoa(decoder.write(chunk))\n }\n\n dataURL += btoa(decoder.end())\n\n return dataURL\n }\n case 'Text': {\n // 1. Let encoding be failure\n let encoding = 'failure'\n\n // 2. If the encodingName is present, set encoding to the\n // result of getting an encoding from encodingName.\n if (encodingName) {\n encoding = getEncoding(encodingName)\n }\n\n // 3. If encoding is failure, and mimeType is present:\n if (encoding === 'failure' && mimeType) {\n // 1. Let type be the result of parse a MIME type\n // given mimeType.\n const type = parseMIMEType(mimeType)\n\n // 2. If type is not failure, set encoding to the result\n // of getting an encoding from type\u2019s parameters[\"charset\"].\n if (type !== 'failure') {\n encoding = getEncoding(type.parameters.get('charset'))\n }\n }\n\n // 4. If encoding is failure, then set encoding to UTF-8.\n if (encoding === 'failure') {\n encoding = 'UTF-8'\n }\n\n // 5. Decode bytes using fallback encoding encoding, and\n // return the result.\n return decode(bytes, encoding)\n }\n case 'ArrayBuffer': {\n // Return a new ArrayBuffer whose contents are bytes.\n const sequence = combineByteSequences(bytes)\n\n return sequence.buffer\n }\n case 'BinaryString': {\n // Return bytes as a binary string, in which every byte\n // is represented by a code unit of equal value [0..255].\n let binaryString = ''\n\n const decoder = new StringDecoder('latin1')\n\n for (const chunk of bytes) {\n binaryString += decoder.write(chunk)\n }\n\n binaryString += decoder.end()\n\n return binaryString\n }\n }\n}\n\n/**\n * @see https://encoding.spec.whatwg.org/#decode\n * @param {Uint8Array[]} ioQueue\n * @param {string} encoding\n */\nfunction decode (ioQueue, encoding) {\n const bytes = combineByteSequences(ioQueue)\n\n // 1. Let BOMEncoding be the result of BOM sniffing ioQueue.\n const BOMEncoding = BOMSniffing(bytes)\n\n let slice = 0\n\n // 2. If BOMEncoding is non-null:\n if (BOMEncoding !== null) {\n // 1. Set encoding to BOMEncoding.\n encoding = BOMEncoding\n\n // 2. Read three bytes from ioQueue, if BOMEncoding is\n // UTF-8; otherwise read two bytes.\n // (Do nothing with those bytes.)\n slice = BOMEncoding === 'UTF-8' ? 3 : 2\n }\n\n // 3. Process a queue with an instance of encoding\u2019s\n // decoder, ioQueue, output, and \"replacement\".\n\n // 4. Return output.\n\n const sliced = bytes.slice(slice)\n return new TextDecoder(encoding).decode(sliced)\n}\n\n/**\n * @see https://encoding.spec.whatwg.org/#bom-sniff\n * @param {Uint8Array} ioQueue\n */\nfunction BOMSniffing (ioQueue) {\n // 1. Let BOM be the result of peeking 3 bytes from ioQueue,\n // converted to a byte sequence.\n const [a, b, c] = ioQueue\n\n // 2. For each of the rows in the table below, starting with\n // the first one and going down, if BOM starts with the\n // bytes given in the first column, then return the\n // encoding given in the cell in the second column of that\n // row. Otherwise, return null.\n if (a === 0xEF && b === 0xBB && c === 0xBF) {\n return 'UTF-8'\n } else if (a === 0xFE && b === 0xFF) {\n return 'UTF-16BE'\n } else if (a === 0xFF && b === 0xFE) {\n return 'UTF-16LE'\n }\n\n return null\n}\n\n/**\n * @param {Uint8Array[]} sequences\n */\nfunction combineByteSequences (sequences) {\n const size = sequences.reduce((a, b) => {\n return a + b.byteLength\n }, 0)\n\n let offset = 0\n\n return sequences.reduce((a, b) => {\n a.set(b, offset)\n offset += b.byteLength\n return a\n }, new Uint8Array(size))\n}\n\nmodule.exports = {\n staticPropertyDescriptors,\n readOperation,\n fireAProgressEvent\n}\n", "'use strict'\n\nconst {\n staticPropertyDescriptors,\n readOperation,\n fireAProgressEvent\n} = require('./util')\nconst {\n kState,\n kError,\n kResult,\n kEvents,\n kAborted\n} = require('./symbols')\nconst { webidl } = require('../fetch/webidl')\nconst { kEnumerableProperty } = require('../core/util')\n\nclass FileReader extends EventTarget {\n constructor () {\n super()\n\n this[kState] = 'empty'\n this[kResult] = null\n this[kError] = null\n this[kEvents] = {\n loadend: null,\n error: null,\n abort: null,\n load: null,\n progress: null,\n loadstart: null\n }\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer\n * @param {import('buffer').Blob} blob\n */\n readAsArrayBuffer (blob) {\n webidl.brandCheck(this, FileReader)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FileReader.readAsArrayBuffer' })\n\n blob = webidl.converters.Blob(blob, { strict: false })\n\n // The readAsArrayBuffer(blob) method, when invoked,\n // must initiate a read operation for blob with ArrayBuffer.\n readOperation(this, blob, 'ArrayBuffer')\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#readAsBinaryString\n * @param {import('buffer').Blob} blob\n */\n readAsBinaryString (blob) {\n webidl.brandCheck(this, FileReader)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FileReader.readAsBinaryString' })\n\n blob = webidl.converters.Blob(blob, { strict: false })\n\n // The readAsBinaryString(blob) method, when invoked,\n // must initiate a read operation for blob with BinaryString.\n readOperation(this, blob, 'BinaryString')\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#readAsDataText\n * @param {import('buffer').Blob} blob\n * @param {string?} encoding\n */\n readAsText (blob, encoding = undefined) {\n webidl.brandCheck(this, FileReader)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FileReader.readAsText' })\n\n blob = webidl.converters.Blob(blob, { strict: false })\n\n if (encoding !== undefined) {\n encoding = webidl.converters.DOMString(encoding)\n }\n\n // The readAsText(blob, encoding) method, when invoked,\n // must initiate a read operation for blob with Text and encoding.\n readOperation(this, blob, 'Text', encoding)\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL\n * @param {import('buffer').Blob} blob\n */\n readAsDataURL (blob) {\n webidl.brandCheck(this, FileReader)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'FileReader.readAsDataURL' })\n\n blob = webidl.converters.Blob(blob, { strict: false })\n\n // The readAsDataURL(blob) method, when invoked, must\n // initiate a read operation for blob with DataURL.\n readOperation(this, blob, 'DataURL')\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dfn-abort\n */\n abort () {\n // 1. If this's state is \"empty\" or if this's state is\n // \"done\" set this's result to null and terminate\n // this algorithm.\n if (this[kState] === 'empty' || this[kState] === 'done') {\n this[kResult] = null\n return\n }\n\n // 2. If this's state is \"loading\" set this's state to\n // \"done\" and set this's result to null.\n if (this[kState] === 'loading') {\n this[kState] = 'done'\n this[kResult] = null\n }\n\n // 3. If there are any tasks from this on the file reading\n // task source in an affiliated task queue, then remove\n // those tasks from that task queue.\n this[kAborted] = true\n\n // 4. Terminate the algorithm for the read method being processed.\n // TODO\n\n // 5. Fire a progress event called abort at this.\n fireAProgressEvent('abort', this)\n\n // 6. If this's state is not \"loading\", fire a progress\n // event called loadend at this.\n if (this[kState] !== 'loading') {\n fireAProgressEvent('loadend', this)\n }\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate\n */\n get readyState () {\n webidl.brandCheck(this, FileReader)\n\n switch (this[kState]) {\n case 'empty': return this.EMPTY\n case 'loading': return this.LOADING\n case 'done': return this.DONE\n }\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dom-filereader-result\n */\n get result () {\n webidl.brandCheck(this, FileReader)\n\n // The result attribute\u2019s getter, when invoked, must return\n // this's result.\n return this[kResult]\n }\n\n /**\n * @see https://w3c.github.io/FileAPI/#dom-filereader-error\n */\n get error () {\n webidl.brandCheck(this, FileReader)\n\n // The error attribute\u2019s getter, when invoked, must return\n // this's error.\n return this[kError]\n }\n\n get onloadend () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].loadend\n }\n\n set onloadend (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].loadend) {\n this.removeEventListener('loadend', this[kEvents].loadend)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].loadend = fn\n this.addEventListener('loadend', fn)\n } else {\n this[kEvents].loadend = null\n }\n }\n\n get onerror () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].error\n }\n\n set onerror (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].error) {\n this.removeEventListener('error', this[kEvents].error)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].error = fn\n this.addEventListener('error', fn)\n } else {\n this[kEvents].error = null\n }\n }\n\n get onloadstart () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].loadstart\n }\n\n set onloadstart (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].loadstart) {\n this.removeEventListener('loadstart', this[kEvents].loadstart)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].loadstart = fn\n this.addEventListener('loadstart', fn)\n } else {\n this[kEvents].loadstart = null\n }\n }\n\n get onprogress () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].progress\n }\n\n set onprogress (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].progress) {\n this.removeEventListener('progress', this[kEvents].progress)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].progress = fn\n this.addEventListener('progress', fn)\n } else {\n this[kEvents].progress = null\n }\n }\n\n get onload () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].load\n }\n\n set onload (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].load) {\n this.removeEventListener('load', this[kEvents].load)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].load = fn\n this.addEventListener('load', fn)\n } else {\n this[kEvents].load = null\n }\n }\n\n get onabort () {\n webidl.brandCheck(this, FileReader)\n\n return this[kEvents].abort\n }\n\n set onabort (fn) {\n webidl.brandCheck(this, FileReader)\n\n if (this[kEvents].abort) {\n this.removeEventListener('abort', this[kEvents].abort)\n }\n\n if (typeof fn === 'function') {\n this[kEvents].abort = fn\n this.addEventListener('abort', fn)\n } else {\n this[kEvents].abort = null\n }\n }\n}\n\n// https://w3c.github.io/FileAPI/#dom-filereader-empty\nFileReader.EMPTY = FileReader.prototype.EMPTY = 0\n// https://w3c.github.io/FileAPI/#dom-filereader-loading\nFileReader.LOADING = FileReader.prototype.LOADING = 1\n// https://w3c.github.io/FileAPI/#dom-filereader-done\nFileReader.DONE = FileReader.prototype.DONE = 2\n\nObject.defineProperties(FileReader.prototype, {\n EMPTY: staticPropertyDescriptors,\n LOADING: staticPropertyDescriptors,\n DONE: staticPropertyDescriptors,\n readAsArrayBuffer: kEnumerableProperty,\n readAsBinaryString: kEnumerableProperty,\n readAsText: kEnumerableProperty,\n readAsDataURL: kEnumerableProperty,\n abort: kEnumerableProperty,\n readyState: kEnumerableProperty,\n result: kEnumerableProperty,\n error: kEnumerableProperty,\n onloadstart: kEnumerableProperty,\n onprogress: kEnumerableProperty,\n onload: kEnumerableProperty,\n onabort: kEnumerableProperty,\n onerror: kEnumerableProperty,\n onloadend: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: 'FileReader',\n writable: false,\n enumerable: false,\n configurable: true\n }\n})\n\nObject.defineProperties(FileReader, {\n EMPTY: staticPropertyDescriptors,\n LOADING: staticPropertyDescriptors,\n DONE: staticPropertyDescriptors\n})\n\nmodule.exports = {\n FileReader\n}\n", "'use strict'\n\nmodule.exports = {\n kConstruct: Symbol('constructable')\n}\n", "'use strict'\n\nconst assert = require('assert')\nconst { URLSerializer } = require('../fetch/dataURL')\nconst { isValidHeaderName } = require('../fetch/util')\n\n/**\n * @see https://url.spec.whatwg.org/#concept-url-equals\n * @param {URL} A\n * @param {URL} B\n * @param {boolean | undefined} excludeFragment\n * @returns {boolean}\n */\nfunction urlEquals (A, B, excludeFragment = false) {\n const serializedA = URLSerializer(A, excludeFragment)\n\n const serializedB = URLSerializer(B, excludeFragment)\n\n return serializedA === serializedB\n}\n\n/**\n * @see https://github.com/chromium/chromium/blob/694d20d134cb553d8d89e5500b9148012b1ba299/content/browser/cache_storage/cache_storage_cache.cc#L260-L262\n * @param {string} header\n */\nfunction fieldValues (header) {\n assert(header !== null)\n\n const values = []\n\n for (let value of header.split(',')) {\n value = value.trim()\n\n if (!value.length) {\n continue\n } else if (!isValidHeaderName(value)) {\n continue\n }\n\n values.push(value)\n }\n\n return values\n}\n\nmodule.exports = {\n urlEquals,\n fieldValues\n}\n", "'use strict'\n\nconst { kConstruct } = require('./symbols')\nconst { urlEquals, fieldValues: getFieldValues } = require('./util')\nconst { kEnumerableProperty, isDisturbed } = require('../core/util')\nconst { kHeadersList } = require('../core/symbols')\nconst { webidl } = require('../fetch/webidl')\nconst { Response, cloneResponse } = require('../fetch/response')\nconst { Request } = require('../fetch/request')\nconst { kState, kHeaders, kGuard, kRealm } = require('../fetch/symbols')\nconst { fetching } = require('../fetch/index')\nconst { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require('../fetch/util')\nconst assert = require('assert')\nconst { getGlobalDispatcher } = require('../global')\n\n/**\n * @see https://w3c.github.io/ServiceWorker/#dfn-cache-batch-operation\n * @typedef {Object} CacheBatchOperation\n * @property {'delete' | 'put'} type\n * @property {any} request\n * @property {any} response\n * @property {import('../../types/cache').CacheQueryOptions} options\n */\n\n/**\n * @see https://w3c.github.io/ServiceWorker/#dfn-request-response-list\n * @typedef {[any, any][]} requestResponseList\n */\n\nclass Cache {\n /**\n * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list\n * @type {requestResponseList}\n */\n #relevantRequestResponseList\n\n constructor () {\n if (arguments[0] !== kConstruct) {\n webidl.illegalConstructor()\n }\n\n this.#relevantRequestResponseList = arguments[1]\n }\n\n async match (request, options = {}) {\n webidl.brandCheck(this, Cache)\n webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.match' })\n\n request = webidl.converters.RequestInfo(request)\n options = webidl.converters.CacheQueryOptions(options)\n\n const p = await this.matchAll(request, options)\n\n if (p.length === 0) {\n return\n }\n\n return p[0]\n }\n\n async matchAll (request = undefined, options = {}) {\n webidl.brandCheck(this, Cache)\n\n if (request !== undefined) request = webidl.converters.RequestInfo(request)\n options = webidl.converters.CacheQueryOptions(options)\n\n // 1.\n let r = null\n\n // 2.\n if (request !== undefined) {\n if (request instanceof Request) {\n // 2.1.1\n r = request[kState]\n\n // 2.1.2\n if (r.method !== 'GET' && !options.ignoreMethod) {\n return []\n }\n } else if (typeof request === 'string') {\n // 2.2.1\n r = new Request(request)[kState]\n }\n }\n\n // 5.\n // 5.1\n const responses = []\n\n // 5.2\n if (request === undefined) {\n // 5.2.1\n for (const requestResponse of this.#relevantRequestResponseList) {\n responses.push(requestResponse[1])\n }\n } else { // 5.3\n // 5.3.1\n const requestResponses = this.#queryCache(r, options)\n\n // 5.3.2\n for (const requestResponse of requestResponses) {\n responses.push(requestResponse[1])\n }\n }\n\n // 5.4\n // We don't implement CORs so we don't need to loop over the responses, yay!\n\n // 5.5.1\n const responseList = []\n\n // 5.5.2\n for (const response of responses) {\n // 5.5.2.1\n const responseObject = new Response(response.body?.source ?? null)\n const body = responseObject[kState].body\n responseObject[kState] = response\n responseObject[kState].body = body\n responseObject[kHeaders][kHeadersList] = response.headersList\n responseObject[kHeaders][kGuard] = 'immutable'\n\n responseList.push(responseObject)\n }\n\n // 6.\n return Object.freeze(responseList)\n }\n\n async add (request) {\n webidl.brandCheck(this, Cache)\n webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.add' })\n\n request = webidl.converters.RequestInfo(request)\n\n // 1.\n const requests = [request]\n\n // 2.\n const responseArrayPromise = this.addAll(requests)\n\n // 3.\n return await responseArrayPromise\n }\n\n async addAll (requests) {\n webidl.brandCheck(this, Cache)\n webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.addAll' })\n\n requests = webidl.converters['sequence<RequestInfo>'](requests)\n\n // 1.\n const responsePromises = []\n\n // 2.\n const requestList = []\n\n // 3.\n for (const request of requests) {\n if (typeof request === 'string') {\n continue\n }\n\n // 3.1\n const r = request[kState]\n\n // 3.2\n if (!urlIsHttpHttpsScheme(r.url) || r.method !== 'GET') {\n throw webidl.errors.exception({\n header: 'Cache.addAll',\n message: 'Expected http/s scheme when method is not GET.'\n })\n }\n }\n\n // 4.\n /** @type {ReturnType<typeof fetching>[]} */\n const fetchControllers = []\n\n // 5.\n for (const request of requests) {\n // 5.1\n const r = new Request(request)[kState]\n\n // 5.2\n if (!urlIsHttpHttpsScheme(r.url)) {\n throw webidl.errors.exception({\n header: 'Cache.addAll',\n message: 'Expected http/s scheme.'\n })\n }\n\n // 5.4\n r.initiator = 'fetch'\n r.destination = 'subresource'\n\n // 5.5\n requestList.push(r)\n\n // 5.6\n const responsePromise = createDeferredPromise()\n\n // 5.7\n fetchControllers.push(fetching({\n request: r,\n dispatcher: getGlobalDispatcher(),\n processResponse (response) {\n // 1.\n if (response.type === 'error' || response.status === 206 || response.status < 200 || response.status > 299) {\n responsePromise.reject(webidl.errors.exception({\n header: 'Cache.addAll',\n message: 'Received an invalid status code or the request failed.'\n }))\n } else if (response.headersList.contains('vary')) { // 2.\n // 2.1\n const fieldValues = getFieldValues(response.headersList.get('vary'))\n\n // 2.2\n for (const fieldValue of fieldValues) {\n // 2.2.1\n if (fieldValue === '*') {\n responsePromise.reject(webidl.errors.exception({\n header: 'Cache.addAll',\n message: 'invalid vary field value'\n }))\n\n for (const controller of fetchControllers) {\n controller.abort()\n }\n\n return\n }\n }\n }\n },\n processResponseEndOfBody (response) {\n // 1.\n if (response.aborted) {\n responsePromise.reject(new DOMException('aborted', 'AbortError'))\n return\n }\n\n // 2.\n responsePromise.resolve(response)\n }\n }))\n\n // 5.8\n responsePromises.push(responsePromise.promise)\n }\n\n // 6.\n const p = Promise.all(responsePromises)\n\n // 7.\n const responses = await p\n\n // 7.1\n const operations = []\n\n // 7.2\n let index = 0\n\n // 7.3\n for (const response of responses) {\n // 7.3.1\n /** @type {CacheBatchOperation} */\n const operation = {\n type: 'put', // 7.3.2\n request: requestList[index], // 7.3.3\n response // 7.3.4\n }\n\n operations.push(operation) // 7.3.5\n\n index++ // 7.3.6\n }\n\n // 7.5\n const cacheJobPromise = createDeferredPromise()\n\n // 7.6.1\n let errorData = null\n\n // 7.6.2\n try {\n this.#batchCacheOperations(operations)\n } catch (e) {\n errorData = e\n }\n\n // 7.6.3\n queueMicrotask(() => {\n // 7.6.3.1\n if (errorData === null) {\n cacheJobPromise.resolve(undefined)\n } else {\n // 7.6.3.2\n cacheJobPromise.reject(errorData)\n }\n })\n\n // 7.7\n return cacheJobPromise.promise\n }\n\n async put (request, response) {\n webidl.brandCheck(this, Cache)\n webidl.argumentLengthCheck(arguments, 2, { header: 'Cache.put' })\n\n request = webidl.converters.RequestInfo(request)\n response = webidl.converters.Response(response)\n\n // 1.\n let innerRequest = null\n\n // 2.\n if (request instanceof Request) {\n innerRequest = request[kState]\n } else { // 3.\n innerRequest = new Request(request)[kState]\n }\n\n // 4.\n if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== 'GET') {\n throw webidl.errors.exception({\n header: 'Cache.put',\n message: 'Expected an http/s scheme when method is not GET'\n })\n }\n\n // 5.\n const innerResponse = response[kState]\n\n // 6.\n if (innerResponse.status === 206) {\n throw webidl.errors.exception({\n header: 'Cache.put',\n message: 'Got 206 status'\n })\n }\n\n // 7.\n if (innerResponse.headersList.contains('vary')) {\n // 7.1.\n const fieldValues = getFieldValues(innerResponse.headersList.get('vary'))\n\n // 7.2.\n for (const fieldValue of fieldValues) {\n // 7.2.1\n if (fieldValue === '*') {\n throw webidl.errors.exception({\n header: 'Cache.put',\n message: 'Got * vary field value'\n })\n }\n }\n }\n\n // 8.\n if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {\n throw webidl.errors.exception({\n header: 'Cache.put',\n message: 'Response body is locked or disturbed'\n })\n }\n\n // 9.\n const clonedResponse = cloneResponse(innerResponse)\n\n // 10.\n const bodyReadPromise = createDeferredPromise()\n\n // 11.\n if (innerResponse.body != null) {\n // 11.1\n const stream = innerResponse.body.stream\n\n // 11.2\n const reader = stream.getReader()\n\n // 11.3\n readAllBytes(\n reader,\n (bytes) => bodyReadPromise.resolve(bytes),\n (error) => bodyReadPromise.reject(error)\n )\n } else {\n bodyReadPromise.resolve(undefined)\n }\n\n // 12.\n /** @type {CacheBatchOperation[]} */\n const operations = []\n\n // 13.\n /** @type {CacheBatchOperation} */\n const operation = {\n type: 'put', // 14.\n request: innerRequest, // 15.\n response: clonedResponse // 16.\n }\n\n // 17.\n operations.push(operation)\n\n // 19.\n const bytes = await bodyReadPromise.promise\n\n if (clonedResponse.body != null) {\n clonedResponse.body.source = bytes\n }\n\n // 19.1\n const cacheJobPromise = createDeferredPromise()\n\n // 19.2.1\n let errorData = null\n\n // 19.2.2\n try {\n this.#batchCacheOperations(operations)\n } catch (e) {\n errorData = e\n }\n\n // 19.2.3\n queueMicrotask(() => {\n // 19.2.3.1\n if (errorData === null) {\n cacheJobPromise.resolve()\n } else { // 19.2.3.2\n cacheJobPromise.reject(errorData)\n }\n })\n\n return cacheJobPromise.promise\n }\n\n async delete (request, options = {}) {\n webidl.brandCheck(this, Cache)\n webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.delete' })\n\n request = webidl.converters.RequestInfo(request)\n options = webidl.converters.CacheQueryOptions(options)\n\n /**\n * @type {Request}\n */\n let r = null\n\n if (request instanceof Request) {\n r = request[kState]\n\n if (r.method !== 'GET' && !options.ignoreMethod) {\n return false\n }\n } else {\n assert(typeof request === 'string')\n\n r = new Request(request)[kState]\n }\n\n /** @type {CacheBatchOperation[]} */\n const operations = []\n\n /** @type {CacheBatchOperation} */\n const operation = {\n type: 'delete',\n request: r,\n options\n }\n\n operations.push(operation)\n\n const cacheJobPromise = createDeferredPromise()\n\n let errorData = null\n let requestResponses\n\n try {\n requestResponses = this.#batchCacheOperations(operations)\n } catch (e) {\n errorData = e\n }\n\n queueMicrotask(() => {\n if (errorData === null) {\n cacheJobPromise.resolve(!!requestResponses?.length)\n } else {\n cacheJobPromise.reject(errorData)\n }\n })\n\n return cacheJobPromise.promise\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys\n * @param {any} request\n * @param {import('../../types/cache').CacheQueryOptions} options\n * @returns {readonly Request[]}\n */\n async keys (request = undefined, options = {}) {\n webidl.brandCheck(this, Cache)\n\n if (request !== undefined) request = webidl.converters.RequestInfo(request)\n options = webidl.converters.CacheQueryOptions(options)\n\n // 1.\n let r = null\n\n // 2.\n if (request !== undefined) {\n // 2.1\n if (request instanceof Request) {\n // 2.1.1\n r = request[kState]\n\n // 2.1.2\n if (r.method !== 'GET' && !options.ignoreMethod) {\n return []\n }\n } else if (typeof request === 'string') { // 2.2\n r = new Request(request)[kState]\n }\n }\n\n // 4.\n const promise = createDeferredPromise()\n\n // 5.\n // 5.1\n const requests = []\n\n // 5.2\n if (request === undefined) {\n // 5.2.1\n for (const requestResponse of this.#relevantRequestResponseList) {\n // 5.2.1.1\n requests.push(requestResponse[0])\n }\n } else { // 5.3\n // 5.3.1\n const requestResponses = this.#queryCache(r, options)\n\n // 5.3.2\n for (const requestResponse of requestResponses) {\n // 5.3.2.1\n requests.push(requestResponse[0])\n }\n }\n\n // 5.4\n queueMicrotask(() => {\n // 5.4.1\n const requestList = []\n\n // 5.4.2\n for (const request of requests) {\n const requestObject = new Request('https://a')\n requestObject[kState] = request\n requestObject[kHeaders][kHeadersList] = request.headersList\n requestObject[kHeaders][kGuard] = 'immutable'\n requestObject[kRealm] = request.client\n\n // 5.4.2.1\n requestList.push(requestObject)\n }\n\n // 5.4.3\n promise.resolve(Object.freeze(requestList))\n })\n\n return promise.promise\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm\n * @param {CacheBatchOperation[]} operations\n * @returns {requestResponseList}\n */\n #batchCacheOperations (operations) {\n // 1.\n const cache = this.#relevantRequestResponseList\n\n // 2.\n const backupCache = [...cache]\n\n // 3.\n const addedItems = []\n\n // 4.1\n const resultList = []\n\n try {\n // 4.2\n for (const operation of operations) {\n // 4.2.1\n if (operation.type !== 'delete' && operation.type !== 'put') {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'operation type does not match \"delete\" or \"put\"'\n })\n }\n\n // 4.2.2\n if (operation.type === 'delete' && operation.response != null) {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'delete operation should not have an associated response'\n })\n }\n\n // 4.2.3\n if (this.#queryCache(operation.request, operation.options, addedItems).length) {\n throw new DOMException('???', 'InvalidStateError')\n }\n\n // 4.2.4\n let requestResponses\n\n // 4.2.5\n if (operation.type === 'delete') {\n // 4.2.5.1\n requestResponses = this.#queryCache(operation.request, operation.options)\n\n // TODO: the spec is wrong, this is needed to pass WPTs\n if (requestResponses.length === 0) {\n return []\n }\n\n // 4.2.5.2\n for (const requestResponse of requestResponses) {\n const idx = cache.indexOf(requestResponse)\n assert(idx !== -1)\n\n // 4.2.5.2.1\n cache.splice(idx, 1)\n }\n } else if (operation.type === 'put') { // 4.2.6\n // 4.2.6.1\n if (operation.response == null) {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'put operation should have an associated response'\n })\n }\n\n // 4.2.6.2\n const r = operation.request\n\n // 4.2.6.3\n if (!urlIsHttpHttpsScheme(r.url)) {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'expected http or https scheme'\n })\n }\n\n // 4.2.6.4\n if (r.method !== 'GET') {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'not get method'\n })\n }\n\n // 4.2.6.5\n if (operation.options != null) {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'options must not be defined'\n })\n }\n\n // 4.2.6.6\n requestResponses = this.#queryCache(operation.request)\n\n // 4.2.6.7\n for (const requestResponse of requestResponses) {\n const idx = cache.indexOf(requestResponse)\n assert(idx !== -1)\n\n // 4.2.6.7.1\n cache.splice(idx, 1)\n }\n\n // 4.2.6.8\n cache.push([operation.request, operation.response])\n\n // 4.2.6.10\n addedItems.push([operation.request, operation.response])\n }\n\n // 4.2.7\n resultList.push([operation.request, operation.response])\n }\n\n // 4.3\n return resultList\n } catch (e) { // 5.\n // 5.1\n this.#relevantRequestResponseList.length = 0\n\n // 5.2\n this.#relevantRequestResponseList = backupCache\n\n // 5.3\n throw e\n }\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#query-cache\n * @param {any} requestQuery\n * @param {import('../../types/cache').CacheQueryOptions} options\n * @param {requestResponseList} targetStorage\n * @returns {requestResponseList}\n */\n #queryCache (requestQuery, options, targetStorage) {\n /** @type {requestResponseList} */\n const resultList = []\n\n const storage = targetStorage ?? this.#relevantRequestResponseList\n\n for (const requestResponse of storage) {\n const [cachedRequest, cachedResponse] = requestResponse\n if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {\n resultList.push(requestResponse)\n }\n }\n\n return resultList\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm\n * @param {any} requestQuery\n * @param {any} request\n * @param {any | null} response\n * @param {import('../../types/cache').CacheQueryOptions | undefined} options\n * @returns {boolean}\n */\n #requestMatchesCachedItem (requestQuery, request, response = null, options) {\n // if (options?.ignoreMethod === false && request.method === 'GET') {\n // return false\n // }\n\n const queryURL = new URL(requestQuery.url)\n\n const cachedURL = new URL(request.url)\n\n if (options?.ignoreSearch) {\n cachedURL.search = ''\n\n queryURL.search = ''\n }\n\n if (!urlEquals(queryURL, cachedURL, true)) {\n return false\n }\n\n if (\n response == null ||\n options?.ignoreVary ||\n !response.headersList.contains('vary')\n ) {\n return true\n }\n\n const fieldValues = getFieldValues(response.headersList.get('vary'))\n\n for (const fieldValue of fieldValues) {\n if (fieldValue === '*') {\n return false\n }\n\n const requestValue = request.headersList.get(fieldValue)\n const queryValue = requestQuery.headersList.get(fieldValue)\n\n // If one has the header and the other doesn't, or one has\n // a different value than the other, return false\n if (requestValue !== queryValue) {\n return false\n }\n }\n\n return true\n }\n}\n\nObject.defineProperties(Cache.prototype, {\n [Symbol.toStringTag]: {\n value: 'Cache',\n configurable: true\n },\n match: kEnumerableProperty,\n matchAll: kEnumerableProperty,\n add: kEnumerableProperty,\n addAll: kEnumerableProperty,\n put: kEnumerableProperty,\n delete: kEnumerableProperty,\n keys: kEnumerableProperty\n})\n\nconst cacheQueryOptionConverters = [\n {\n key: 'ignoreSearch',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'ignoreMethod',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'ignoreVary',\n converter: webidl.converters.boolean,\n defaultValue: false\n }\n]\n\nwebidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters)\n\nwebidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([\n ...cacheQueryOptionConverters,\n {\n key: 'cacheName',\n converter: webidl.converters.DOMString\n }\n])\n\nwebidl.converters.Response = webidl.interfaceConverter(Response)\n\nwebidl.converters['sequence<RequestInfo>'] = webidl.sequenceConverter(\n webidl.converters.RequestInfo\n)\n\nmodule.exports = {\n Cache\n}\n", "'use strict'\n\nconst { kConstruct } = require('./symbols')\nconst { Cache } = require('./cache')\nconst { webidl } = require('../fetch/webidl')\nconst { kEnumerableProperty } = require('../core/util')\n\nclass CacheStorage {\n /**\n * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map\n * @type {Map<string, import('./cache').requestResponseList}\n */\n #caches = new Map()\n\n constructor () {\n if (arguments[0] !== kConstruct) {\n webidl.illegalConstructor()\n }\n }\n\n async match (request, options = {}) {\n webidl.brandCheck(this, CacheStorage)\n webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.match' })\n\n request = webidl.converters.RequestInfo(request)\n options = webidl.converters.MultiCacheQueryOptions(options)\n\n // 1.\n if (options.cacheName != null) {\n // 1.1.1.1\n if (this.#caches.has(options.cacheName)) {\n // 1.1.1.1.1\n const cacheList = this.#caches.get(options.cacheName)\n const cache = new Cache(kConstruct, cacheList)\n\n return await cache.match(request, options)\n }\n } else { // 2.\n // 2.2\n for (const cacheList of this.#caches.values()) {\n const cache = new Cache(kConstruct, cacheList)\n\n // 2.2.1.2\n const response = await cache.match(request, options)\n\n if (response !== undefined) {\n return response\n }\n }\n }\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#cache-storage-has\n * @param {string} cacheName\n * @returns {Promise<boolean>}\n */\n async has (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.has' })\n\n cacheName = webidl.converters.DOMString(cacheName)\n\n // 2.1.1\n // 2.2\n return this.#caches.has(cacheName)\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open\n * @param {string} cacheName\n * @returns {Promise<Cache>}\n */\n async open (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.open' })\n\n cacheName = webidl.converters.DOMString(cacheName)\n\n // 2.1\n if (this.#caches.has(cacheName)) {\n // await caches.open('v1') !== await caches.open('v1')\n\n // 2.1.1\n const cache = this.#caches.get(cacheName)\n\n // 2.1.1.1\n return new Cache(kConstruct, cache)\n }\n\n // 2.2\n const cache = []\n\n // 2.3\n this.#caches.set(cacheName, cache)\n\n // 2.4\n return new Cache(kConstruct, cache)\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete\n * @param {string} cacheName\n * @returns {Promise<boolean>}\n */\n async delete (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.delete' })\n\n cacheName = webidl.converters.DOMString(cacheName)\n\n return this.#caches.delete(cacheName)\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys\n * @returns {string[]}\n */\n async keys () {\n webidl.brandCheck(this, CacheStorage)\n\n // 2.1\n const keys = this.#caches.keys()\n\n // 2.2\n return [...keys]\n }\n}\n\nObject.defineProperties(CacheStorage.prototype, {\n [Symbol.toStringTag]: {\n value: 'CacheStorage',\n configurable: true\n },\n match: kEnumerableProperty,\n has: kEnumerableProperty,\n open: kEnumerableProperty,\n delete: kEnumerableProperty,\n keys: kEnumerableProperty\n})\n\nmodule.exports = {\n CacheStorage\n}\n", "'use strict'\n\n// https://wicg.github.io/cookie-store/#cookie-maximum-attribute-value-size\nconst maxAttributeValueSize = 1024\n\n// https://wicg.github.io/cookie-store/#cookie-maximum-name-value-pair-size\nconst maxNameValuePairSize = 4096\n\nmodule.exports = {\n maxAttributeValueSize,\n maxNameValuePairSize\n}\n", "'use strict'\n\nconst assert = require('assert')\nconst { kHeadersList } = require('../core/symbols')\n\nfunction isCTLExcludingHtab (value) {\n if (value.length === 0) {\n return false\n }\n\n for (const char of value) {\n const code = char.charCodeAt(0)\n\n if (\n (code >= 0x00 || code <= 0x08) ||\n (code >= 0x0A || code <= 0x1F) ||\n code === 0x7F\n ) {\n return false\n }\n }\n}\n\n/**\n CHAR = <any US-ASCII character (octets 0 - 127)>\n token = 1*<any CHAR except CTLs or separators>\n separators = \"(\" | \")\" | \"<\" | \">\" | \"@\"\n | \",\" | \";\" | \":\" | \"\\\" | <\">\n | \"/\" | \"[\" | \"]\" | \"?\" | \"=\"\n | \"{\" | \"}\" | SP | HT\n * @param {string} name\n */\nfunction validateCookieName (name) {\n for (const char of name) {\n const code = char.charCodeAt(0)\n\n if (\n (code <= 0x20 || code > 0x7F) ||\n char === '(' ||\n char === ')' ||\n char === '>' ||\n char === '<' ||\n char === '@' ||\n char === ',' ||\n char === ';' ||\n char === ':' ||\n char === '\\\\' ||\n char === '\"' ||\n char === '/' ||\n char === '[' ||\n char === ']' ||\n char === '?' ||\n char === '=' ||\n char === '{' ||\n char === '}'\n ) {\n throw new Error('Invalid cookie name')\n }\n }\n}\n\n/**\n cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )\n cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E\n ; US-ASCII characters excluding CTLs,\n ; whitespace DQUOTE, comma, semicolon,\n ; and backslash\n * @param {string} value\n */\nfunction validateCookieValue (value) {\n for (const char of value) {\n const code = char.charCodeAt(0)\n\n if (\n code < 0x21 || // exclude CTLs (0-31)\n code === 0x22 ||\n code === 0x2C ||\n code === 0x3B ||\n code === 0x5C ||\n code > 0x7E // non-ascii\n ) {\n throw new Error('Invalid header value')\n }\n }\n}\n\n/**\n * path-value = <any CHAR except CTLs or \";\">\n * @param {string} path\n */\nfunction validateCookiePath (path) {\n for (const char of path) {\n const code = char.charCodeAt(0)\n\n if (code < 0x21 || char === ';') {\n throw new Error('Invalid cookie path')\n }\n }\n}\n\n/**\n * I have no idea why these values aren't allowed to be honest,\n * but Deno tests these. - Khafra\n * @param {string} domain\n */\nfunction validateCookieDomain (domain) {\n if (\n domain.startsWith('-') ||\n domain.endsWith('.') ||\n domain.endsWith('-')\n ) {\n throw new Error('Invalid cookie domain')\n }\n}\n\n/**\n * @see https://www.rfc-editor.org/rfc/rfc7231#section-7.1.1.1\n * @param {number|Date} date\n IMF-fixdate = day-name \",\" SP date1 SP time-of-day SP GMT\n ; fixed length/zone/capitalization subset of the format\n ; see Section 3.3 of [RFC5322]\n\n day-name = %x4D.6F.6E ; \"Mon\", case-sensitive\n / %x54.75.65 ; \"Tue\", case-sensitive\n / %x57.65.64 ; \"Wed\", case-sensitive\n / %x54.68.75 ; \"Thu\", case-sensitive\n / %x46.72.69 ; \"Fri\", case-sensitive\n / %x53.61.74 ; \"Sat\", case-sensitive\n / %x53.75.6E ; \"Sun\", case-sensitive\n date1 = day SP month SP year\n ; e.g., 02 Jun 1982\n\n day = 2DIGIT\n month = %x4A.61.6E ; \"Jan\", case-sensitive\n / %x46.65.62 ; \"Feb\", case-sensitive\n / %x4D.61.72 ; \"Mar\", case-sensitive\n / %x41.70.72 ; \"Apr\", case-sensitive\n / %x4D.61.79 ; \"May\", case-sensitive\n / %x4A.75.6E ; \"Jun\", case-sensitive\n / %x4A.75.6C ; \"Jul\", case-sensitive\n / %x41.75.67 ; \"Aug\", case-sensitive\n / %x53.65.70 ; \"Sep\", case-sensitive\n / %x4F.63.74 ; \"Oct\", case-sensitive\n / %x4E.6F.76 ; \"Nov\", case-sensitive\n / %x44.65.63 ; \"Dec\", case-sensitive\n year = 4DIGIT\n\n GMT = %x47.4D.54 ; \"GMT\", case-sensitive\n\n time-of-day = hour \":\" minute \":\" second\n ; 00:00:00 - 23:59:60 (leap second)\n\n hour = 2DIGIT\n minute = 2DIGIT\n second = 2DIGIT\n */\nfunction toIMFDate (date) {\n if (typeof date === 'number') {\n date = new Date(date)\n }\n\n const days = [\n 'Sun', 'Mon', 'Tue', 'Wed',\n 'Thu', 'Fri', 'Sat'\n ]\n\n const months = [\n 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',\n 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'\n ]\n\n const dayName = days[date.getUTCDay()]\n const day = date.getUTCDate().toString().padStart(2, '0')\n const month = months[date.getUTCMonth()]\n const year = date.getUTCFullYear()\n const hour = date.getUTCHours().toString().padStart(2, '0')\n const minute = date.getUTCMinutes().toString().padStart(2, '0')\n const second = date.getUTCSeconds().toString().padStart(2, '0')\n\n return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`\n}\n\n/**\n max-age-av = \"Max-Age=\" non-zero-digit *DIGIT\n ; In practice, both expires-av and max-age-av\n ; are limited to dates representable by the\n ; user agent.\n * @param {number} maxAge\n */\nfunction validateCookieMaxAge (maxAge) {\n if (maxAge < 0) {\n throw new Error('Invalid cookie max-age')\n }\n}\n\n/**\n * @see https://www.rfc-editor.org/rfc/rfc6265#section-4.1.1\n * @param {import('./index').Cookie} cookie\n */\nfunction stringify (cookie) {\n if (cookie.name.length === 0) {\n return null\n }\n\n validateCookieName(cookie.name)\n validateCookieValue(cookie.value)\n\n const out = [`${cookie.name}=${cookie.value}`]\n\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-cookie-prefixes-00#section-3.1\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-cookie-prefixes-00#section-3.2\n if (cookie.name.startsWith('__Secure-')) {\n cookie.secure = true\n }\n\n if (cookie.name.startsWith('__Host-')) {\n cookie.secure = true\n cookie.domain = null\n cookie.path = '/'\n }\n\n if (cookie.secure) {\n out.push('Secure')\n }\n\n if (cookie.httpOnly) {\n out.push('HttpOnly')\n }\n\n if (typeof cookie.maxAge === 'number') {\n validateCookieMaxAge(cookie.maxAge)\n out.push(`Max-Age=${cookie.maxAge}`)\n }\n\n if (cookie.domain) {\n validateCookieDomain(cookie.domain)\n out.push(`Domain=${cookie.domain}`)\n }\n\n if (cookie.path) {\n validateCookiePath(cookie.path)\n out.push(`Path=${cookie.path}`)\n }\n\n if (cookie.expires && cookie.expires.toString() !== 'Invalid Date') {\n out.push(`Expires=${toIMFDate(cookie.expires)}`)\n }\n\n if (cookie.sameSite) {\n out.push(`SameSite=${cookie.sameSite}`)\n }\n\n for (const part of cookie.unparsed) {\n if (!part.includes('=')) {\n throw new Error('Invalid unparsed')\n }\n\n const [key, ...value] = part.split('=')\n\n out.push(`${key.trim()}=${value.join('=')}`)\n }\n\n return out.join('; ')\n}\n\nlet kHeadersListNode\n\nfunction getHeadersList (headers) {\n if (headers[kHeadersList]) {\n return headers[kHeadersList]\n }\n\n if (!kHeadersListNode) {\n kHeadersListNode = Object.getOwnPropertySymbols(headers).find(\n (symbol) => symbol.description === 'headers list'\n )\n\n assert(kHeadersListNode, 'Headers cannot be parsed')\n }\n\n const headersList = headers[kHeadersListNode]\n assert(headersList)\n\n return headersList\n}\n\nmodule.exports = {\n isCTLExcludingHtab,\n stringify,\n getHeadersList\n}\n", "'use strict'\n\nconst { maxNameValuePairSize, maxAttributeValueSize } = require('./constants')\nconst { isCTLExcludingHtab } = require('./util')\nconst { collectASequenceOfCodePointsFast } = require('../fetch/dataURL')\nconst assert = require('assert')\n\n/**\n * @description Parses the field-value attributes of a set-cookie header string.\n * @see https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4\n * @param {string} header\n * @returns if the header is invalid, null will be returned\n */\nfunction parseSetCookie (header) {\n // 1. If the set-cookie-string contains a %x00-08 / %x0A-1F / %x7F\n // character (CTL characters excluding HTAB): Abort these steps and\n // ignore the set-cookie-string entirely.\n if (isCTLExcludingHtab(header)) {\n return null\n }\n\n let nameValuePair = ''\n let unparsedAttributes = ''\n let name = ''\n let value = ''\n\n // 2. If the set-cookie-string contains a %x3B (\";\") character:\n if (header.includes(';')) {\n // 1. The name-value-pair string consists of the characters up to,\n // but not including, the first %x3B (\";\"), and the unparsed-\n // attributes consist of the remainder of the set-cookie-string\n // (including the %x3B (\";\") in question).\n const position = { position: 0 }\n\n nameValuePair = collectASequenceOfCodePointsFast(';', header, position)\n unparsedAttributes = header.slice(position.position)\n } else {\n // Otherwise:\n\n // 1. The name-value-pair string consists of all the characters\n // contained in the set-cookie-string, and the unparsed-\n // attributes is the empty string.\n nameValuePair = header\n }\n\n // 3. If the name-value-pair string lacks a %x3D (\"=\") character, then\n // the name string is empty, and the value string is the value of\n // name-value-pair.\n if (!nameValuePair.includes('=')) {\n value = nameValuePair\n } else {\n // Otherwise, the name string consists of the characters up to, but\n // not including, the first %x3D (\"=\") character, and the (possibly\n // empty) value string consists of the characters after the first\n // %x3D (\"=\") character.\n const position = { position: 0 }\n name = collectASequenceOfCodePointsFast(\n '=',\n nameValuePair,\n position\n )\n value = nameValuePair.slice(position.position + 1)\n }\n\n // 4. Remove any leading or trailing WSP characters from the name\n // string and the value string.\n name = name.trim()\n value = value.trim()\n\n // 5. If the sum of the lengths of the name string and the value string\n // is more than 4096 octets, abort these steps and ignore the set-\n // cookie-string entirely.\n if (name.length + value.length > maxNameValuePairSize) {\n return null\n }\n\n // 6. The cookie-name is the name string, and the cookie-value is the\n // value string.\n return {\n name, value, ...parseUnparsedAttributes(unparsedAttributes)\n }\n}\n\n/**\n * Parses the remaining attributes of a set-cookie header\n * @see https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4\n * @param {string} unparsedAttributes\n * @param {[Object.<string, unknown>]={}} cookieAttributeList\n */\nfunction parseUnparsedAttributes (unparsedAttributes, cookieAttributeList = {}) {\n // 1. If the unparsed-attributes string is empty, skip the rest of\n // these steps.\n if (unparsedAttributes.length === 0) {\n return cookieAttributeList\n }\n\n // 2. Discard the first character of the unparsed-attributes (which\n // will be a %x3B (\";\") character).\n assert(unparsedAttributes[0] === ';')\n unparsedAttributes = unparsedAttributes.slice(1)\n\n let cookieAv = ''\n\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n if (unparsedAttributes.includes(';')) {\n // 1. Consume the characters of the unparsed-attributes up to, but\n // not including, the first %x3B (\";\") character.\n cookieAv = collectASequenceOfCodePointsFast(\n ';',\n unparsedAttributes,\n { position: 0 }\n )\n unparsedAttributes = unparsedAttributes.slice(cookieAv.length)\n } else {\n // Otherwise:\n\n // 1. Consume the remainder of the unparsed-attributes.\n cookieAv = unparsedAttributes\n unparsedAttributes = ''\n }\n\n // Let the cookie-av string be the characters consumed in this step.\n\n let attributeName = ''\n let attributeValue = ''\n\n // 4. If the cookie-av string contains a %x3D (\"=\") character:\n if (cookieAv.includes('=')) {\n // 1. The (possibly empty) attribute-name string consists of the\n // characters up to, but not including, the first %x3D (\"=\")\n // character, and the (possibly empty) attribute-value string\n // consists of the characters after the first %x3D (\"=\")\n // character.\n const position = { position: 0 }\n\n attributeName = collectASequenceOfCodePointsFast(\n '=',\n cookieAv,\n position\n )\n attributeValue = cookieAv.slice(position.position + 1)\n } else {\n // Otherwise:\n\n // 1. The attribute-name string consists of the entire cookie-av\n // string, and the attribute-value string is empty.\n attributeName = cookieAv\n }\n\n // 5. Remove any leading or trailing WSP characters from the attribute-\n // name string and the attribute-value string.\n attributeName = attributeName.trim()\n attributeValue = attributeValue.trim()\n\n // 6. If the attribute-value is longer than 1024 octets, ignore the\n // cookie-av string and return to Step 1 of this algorithm.\n if (attributeValue.length > maxAttributeValueSize) {\n return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList)\n }\n\n // 7. Process the attribute-name and attribute-value according to the\n // requirements in the following subsections. (Notice that\n // attributes with unrecognized attribute-names are ignored.)\n const attributeNameLowercase = attributeName.toLowerCase()\n\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.1\n // If the attribute-name case-insensitively matches the string\n // \"Expires\", the user agent MUST process the cookie-av as follows.\n if (attributeNameLowercase === 'expires') {\n // 1. Let the expiry-time be the result of parsing the attribute-value\n // as cookie-date (see Section 5.1.1).\n const expiryTime = new Date(attributeValue)\n\n // 2. If the attribute-value failed to parse as a cookie date, ignore\n // the cookie-av.\n\n cookieAttributeList.expires = expiryTime\n } else if (attributeNameLowercase === 'max-age') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.2\n // If the attribute-name case-insensitively matches the string \"Max-\n // Age\", the user agent MUST process the cookie-av as follows.\n\n // 1. If the first character of the attribute-value is not a DIGIT or a\n // \"-\" character, ignore the cookie-av.\n const charCode = attributeValue.charCodeAt(0)\n\n if ((charCode < 48 || charCode > 57) && attributeValue[0] !== '-') {\n return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList)\n }\n\n // 2. If the remainder of attribute-value contains a non-DIGIT\n // character, ignore the cookie-av.\n if (!/^\\d+$/.test(attributeValue)) {\n return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList)\n }\n\n // 3. Let delta-seconds be the attribute-value converted to an integer.\n const deltaSeconds = Number(attributeValue)\n\n // 4. Let cookie-age-limit be the maximum age of the cookie (which\n // SHOULD be 400 days or less, see Section 4.1.2.2).\n\n // 5. Set delta-seconds to the smaller of its present value and cookie-\n // age-limit.\n // deltaSeconds = Math.min(deltaSeconds * 1000, maxExpiresMs)\n\n // 6. If delta-seconds is less than or equal to zero (0), let expiry-\n // time be the earliest representable date and time. Otherwise, let\n // the expiry-time be the current date and time plus delta-seconds\n // seconds.\n // const expiryTime = deltaSeconds <= 0 ? Date.now() : Date.now() + deltaSeconds\n\n // 7. Append an attribute to the cookie-attribute-list with an\n // attribute-name of Max-Age and an attribute-value of expiry-time.\n cookieAttributeList.maxAge = deltaSeconds\n } else if (attributeNameLowercase === 'domain') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.3\n // If the attribute-name case-insensitively matches the string \"Domain\",\n // the user agent MUST process the cookie-av as follows.\n\n // 1. Let cookie-domain be the attribute-value.\n let cookieDomain = attributeValue\n\n // 2. If cookie-domain starts with %x2E (\".\"), let cookie-domain be\n // cookie-domain without its leading %x2E (\".\").\n if (cookieDomain[0] === '.') {\n cookieDomain = cookieDomain.slice(1)\n }\n\n // 3. Convert the cookie-domain to lower case.\n cookieDomain = cookieDomain.toLowerCase()\n\n // 4. Append an attribute to the cookie-attribute-list with an\n // attribute-name of Domain and an attribute-value of cookie-domain.\n cookieAttributeList.domain = cookieDomain\n } else if (attributeNameLowercase === 'path') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.4\n // If the attribute-name case-insensitively matches the string \"Path\",\n // the user agent MUST process the cookie-av as follows.\n\n // 1. If the attribute-value is empty or if the first character of the\n // attribute-value is not %x2F (\"/\"):\n let cookiePath = ''\n if (attributeValue.length === 0 || attributeValue[0] !== '/') {\n // 1. Let cookie-path be the default-path.\n cookiePath = '/'\n } else {\n // Otherwise:\n\n // 1. Let cookie-path be the attribute-value.\n cookiePath = attributeValue\n }\n\n // 2. Append an attribute to the cookie-attribute-list with an\n // attribute-name of Path and an attribute-value of cookie-path.\n cookieAttributeList.path = cookiePath\n } else if (attributeNameLowercase === 'secure') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.5\n // If the attribute-name case-insensitively matches the string \"Secure\",\n // the user agent MUST append an attribute to the cookie-attribute-list\n // with an attribute-name of Secure and an empty attribute-value.\n\n cookieAttributeList.secure = true\n } else if (attributeNameLowercase === 'httponly') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.6\n // If the attribute-name case-insensitively matches the string\n // \"HttpOnly\", the user agent MUST append an attribute to the cookie-\n // attribute-list with an attribute-name of HttpOnly and an empty\n // attribute-value.\n\n cookieAttributeList.httpOnly = true\n } else if (attributeNameLowercase === 'samesite') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.7\n // If the attribute-name case-insensitively matches the string\n // \"SameSite\", the user agent MUST process the cookie-av as follows:\n\n // 1. Let enforcement be \"Default\".\n let enforcement = 'Default'\n\n const attributeValueLowercase = attributeValue.toLowerCase()\n // 2. If cookie-av's attribute-value is a case-insensitive match for\n // \"None\", set enforcement to \"None\".\n if (attributeValueLowercase.includes('none')) {\n enforcement = 'None'\n }\n\n // 3. If cookie-av's attribute-value is a case-insensitive match for\n // \"Strict\", set enforcement to \"Strict\".\n if (attributeValueLowercase.includes('strict')) {\n enforcement = 'Strict'\n }\n\n // 4. If cookie-av's attribute-value is a case-insensitive match for\n // \"Lax\", set enforcement to \"Lax\".\n if (attributeValueLowercase.includes('lax')) {\n enforcement = 'Lax'\n }\n\n // 5. Append an attribute to the cookie-attribute-list with an\n // attribute-name of \"SameSite\" and an attribute-value of\n // enforcement.\n cookieAttributeList.sameSite = enforcement\n } else {\n cookieAttributeList.unparsed ??= []\n\n cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`)\n }\n\n // 8. Return to Step 1 of this algorithm.\n return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList)\n}\n\nmodule.exports = {\n parseSetCookie,\n parseUnparsedAttributes\n}\n", "'use strict'\n\nconst { parseSetCookie } = require('./parse')\nconst { stringify, getHeadersList } = require('./util')\nconst { webidl } = require('../fetch/webidl')\nconst { Headers } = require('../fetch/headers')\n\n/**\n * @typedef {Object} Cookie\n * @property {string} name\n * @property {string} value\n * @property {Date|number|undefined} expires\n * @property {number|undefined} maxAge\n * @property {string|undefined} domain\n * @property {string|undefined} path\n * @property {boolean|undefined} secure\n * @property {boolean|undefined} httpOnly\n * @property {'Strict'|'Lax'|'None'} sameSite\n * @property {string[]} unparsed\n */\n\n/**\n * @param {Headers} headers\n * @returns {Record<string, string>}\n */\nfunction getCookies (headers) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'getCookies' })\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n const cookie = headers.get('cookie')\n const out = {}\n\n if (!cookie) {\n return out\n }\n\n for (const piece of cookie.split(';')) {\n const [name, ...value] = piece.split('=')\n\n out[name.trim()] = value.join('=')\n }\n\n return out\n}\n\n/**\n * @param {Headers} headers\n * @param {string} name\n * @param {{ path?: string, domain?: string }|undefined} attributes\n * @returns {void}\n */\nfunction deleteCookie (headers, name, attributes) {\n webidl.argumentLengthCheck(arguments, 2, { header: 'deleteCookie' })\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n name = webidl.converters.DOMString(name)\n attributes = webidl.converters.DeleteCookieAttributes(attributes)\n\n // Matches behavior of\n // https://github.com/denoland/deno_std/blob/63827b16330b82489a04614027c33b7904e08be5/http/cookie.ts#L278\n setCookie(headers, {\n name,\n value: '',\n expires: new Date(0),\n ...attributes\n })\n}\n\n/**\n * @param {Headers} headers\n * @returns {Cookie[]}\n */\nfunction getSetCookies (headers) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'getSetCookies' })\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n const cookies = getHeadersList(headers).cookies\n\n if (!cookies) {\n return []\n }\n\n // In older versions of undici, cookies is a list of name:value.\n return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair))\n}\n\n/**\n * @param {Headers} headers\n * @param {Cookie} cookie\n * @returns {void}\n */\nfunction setCookie (headers, cookie) {\n webidl.argumentLengthCheck(arguments, 2, { header: 'setCookie' })\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n cookie = webidl.converters.Cookie(cookie)\n\n const str = stringify(cookie)\n\n if (str) {\n headers.append('Set-Cookie', stringify(cookie))\n }\n}\n\nwebidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([\n {\n converter: webidl.nullableConverter(webidl.converters.DOMString),\n key: 'path',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.DOMString),\n key: 'domain',\n defaultValue: null\n }\n])\n\nwebidl.converters.Cookie = webidl.dictionaryConverter([\n {\n converter: webidl.converters.DOMString,\n key: 'name'\n },\n {\n converter: webidl.converters.DOMString,\n key: 'value'\n },\n {\n converter: webidl.nullableConverter((value) => {\n if (typeof value === 'number') {\n return webidl.converters['unsigned long long'](value)\n }\n\n return new Date(value)\n }),\n key: 'expires',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters['long long']),\n key: 'maxAge',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.DOMString),\n key: 'domain',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.DOMString),\n key: 'path',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.boolean),\n key: 'secure',\n defaultValue: null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.boolean),\n key: 'httpOnly',\n defaultValue: null\n },\n {\n converter: webidl.converters.USVString,\n key: 'sameSite',\n allowedValues: ['Strict', 'Lax', 'None']\n },\n {\n converter: webidl.sequenceConverter(webidl.converters.DOMString),\n key: 'unparsed',\n defaultValue: []\n }\n])\n\nmodule.exports = {\n getCookies,\n deleteCookie,\n getSetCookies,\n setCookie\n}\n", "'use strict'\n\n// This is a Globally Unique Identifier unique used\n// to validate that the endpoint accepts websocket\n// connections.\n// See https://www.rfc-editor.org/rfc/rfc6455.html#section-1.3\nconst uid = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11'\n\n/** @type {PropertyDescriptor} */\nconst staticPropertyDescriptors = {\n enumerable: true,\n writable: false,\n configurable: false\n}\n\nconst states = {\n CONNECTING: 0,\n OPEN: 1,\n CLOSING: 2,\n CLOSED: 3\n}\n\nconst opcodes = {\n CONTINUATION: 0x0,\n TEXT: 0x1,\n BINARY: 0x2,\n CLOSE: 0x8,\n PING: 0x9,\n PONG: 0xA\n}\n\nconst maxUnsigned16Bit = 2 ** 16 - 1 // 65535\n\nconst parserStates = {\n INFO: 0,\n PAYLOADLENGTH_16: 2,\n PAYLOADLENGTH_64: 3,\n READ_DATA: 4\n}\n\nconst emptyBuffer = Buffer.allocUnsafe(0)\n\nmodule.exports = {\n uid,\n staticPropertyDescriptors,\n states,\n opcodes,\n maxUnsigned16Bit,\n parserStates,\n emptyBuffer\n}\n", "'use strict'\n\nmodule.exports = {\n kWebSocketURL: Symbol('url'),\n kReadyState: Symbol('ready state'),\n kController: Symbol('controller'),\n kResponse: Symbol('response'),\n kBinaryType: Symbol('binary type'),\n kSentClose: Symbol('sent close'),\n kReceivedClose: Symbol('received close'),\n kByteParser: Symbol('byte parser')\n}\n", "'use strict'\n\nconst { webidl } = require('../fetch/webidl')\nconst { kEnumerableProperty } = require('../core/util')\nconst { MessagePort } = require('worker_threads')\n\n/**\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageevent\n */\nclass MessageEvent extends Event {\n #eventInit\n\n constructor (type, eventInitDict = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'MessageEvent constructor' })\n\n type = webidl.converters.DOMString(type)\n eventInitDict = webidl.converters.MessageEventInit(eventInitDict)\n\n super(type, eventInitDict)\n\n this.#eventInit = eventInitDict\n }\n\n get data () {\n webidl.brandCheck(this, MessageEvent)\n\n return this.#eventInit.data\n }\n\n get origin () {\n webidl.brandCheck(this, MessageEvent)\n\n return this.#eventInit.origin\n }\n\n get lastEventId () {\n webidl.brandCheck(this, MessageEvent)\n\n return this.#eventInit.lastEventId\n }\n\n get source () {\n webidl.brandCheck(this, MessageEvent)\n\n return this.#eventInit.source\n }\n\n get ports () {\n webidl.brandCheck(this, MessageEvent)\n\n if (!Object.isFrozen(this.#eventInit.ports)) {\n Object.freeze(this.#eventInit.ports)\n }\n\n return this.#eventInit.ports\n }\n\n initMessageEvent (\n type,\n bubbles = false,\n cancelable = false,\n data = null,\n origin = '',\n lastEventId = '',\n source = null,\n ports = []\n ) {\n webidl.brandCheck(this, MessageEvent)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'MessageEvent.initMessageEvent' })\n\n return new MessageEvent(type, {\n bubbles, cancelable, data, origin, lastEventId, source, ports\n })\n }\n}\n\n/**\n * @see https://websockets.spec.whatwg.org/#the-closeevent-interface\n */\nclass CloseEvent extends Event {\n #eventInit\n\n constructor (type, eventInitDict = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'CloseEvent constructor' })\n\n type = webidl.converters.DOMString(type)\n eventInitDict = webidl.converters.CloseEventInit(eventInitDict)\n\n super(type, eventInitDict)\n\n this.#eventInit = eventInitDict\n }\n\n get wasClean () {\n webidl.brandCheck(this, CloseEvent)\n\n return this.#eventInit.wasClean\n }\n\n get code () {\n webidl.brandCheck(this, CloseEvent)\n\n return this.#eventInit.code\n }\n\n get reason () {\n webidl.brandCheck(this, CloseEvent)\n\n return this.#eventInit.reason\n }\n}\n\n// https://html.spec.whatwg.org/multipage/webappapis.html#the-errorevent-interface\nclass ErrorEvent extends Event {\n #eventInit\n\n constructor (type, eventInitDict) {\n webidl.argumentLengthCheck(arguments, 1, { header: 'ErrorEvent constructor' })\n\n super(type, eventInitDict)\n\n type = webidl.converters.DOMString(type)\n eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {})\n\n this.#eventInit = eventInitDict\n }\n\n get message () {\n webidl.brandCheck(this, ErrorEvent)\n\n return this.#eventInit.message\n }\n\n get filename () {\n webidl.brandCheck(this, ErrorEvent)\n\n return this.#eventInit.filename\n }\n\n get lineno () {\n webidl.brandCheck(this, ErrorEvent)\n\n return this.#eventInit.lineno\n }\n\n get colno () {\n webidl.brandCheck(this, ErrorEvent)\n\n return this.#eventInit.colno\n }\n\n get error () {\n webidl.brandCheck(this, ErrorEvent)\n\n return this.#eventInit.error\n }\n}\n\nObject.defineProperties(MessageEvent.prototype, {\n [Symbol.toStringTag]: {\n value: 'MessageEvent',\n configurable: true\n },\n data: kEnumerableProperty,\n origin: kEnumerableProperty,\n lastEventId: kEnumerableProperty,\n source: kEnumerableProperty,\n ports: kEnumerableProperty,\n initMessageEvent: kEnumerableProperty\n})\n\nObject.defineProperties(CloseEvent.prototype, {\n [Symbol.toStringTag]: {\n value: 'CloseEvent',\n configurable: true\n },\n reason: kEnumerableProperty,\n code: kEnumerableProperty,\n wasClean: kEnumerableProperty\n})\n\nObject.defineProperties(ErrorEvent.prototype, {\n [Symbol.toStringTag]: {\n value: 'ErrorEvent',\n configurable: true\n },\n message: kEnumerableProperty,\n filename: kEnumerableProperty,\n lineno: kEnumerableProperty,\n colno: kEnumerableProperty,\n error: kEnumerableProperty\n})\n\nwebidl.converters.MessagePort = webidl.interfaceConverter(MessagePort)\n\nwebidl.converters['sequence<MessagePort>'] = webidl.sequenceConverter(\n webidl.converters.MessagePort\n)\n\nconst eventInit = [\n {\n key: 'bubbles',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'cancelable',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'composed',\n converter: webidl.converters.boolean,\n defaultValue: false\n }\n]\n\nwebidl.converters.MessageEventInit = webidl.dictionaryConverter([\n ...eventInit,\n {\n key: 'data',\n converter: webidl.converters.any,\n defaultValue: null\n },\n {\n key: 'origin',\n converter: webidl.converters.USVString,\n defaultValue: ''\n },\n {\n key: 'lastEventId',\n converter: webidl.converters.DOMString,\n defaultValue: ''\n },\n {\n key: 'source',\n // Node doesn't implement WindowProxy or ServiceWorker, so the only\n // valid value for source is a MessagePort.\n converter: webidl.nullableConverter(webidl.converters.MessagePort),\n defaultValue: null\n },\n {\n key: 'ports',\n converter: webidl.converters['sequence<MessagePort>'],\n get defaultValue () {\n return []\n }\n }\n])\n\nwebidl.converters.CloseEventInit = webidl.dictionaryConverter([\n ...eventInit,\n {\n key: 'wasClean',\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: 'code',\n converter: webidl.converters['unsigned short'],\n defaultValue: 0\n },\n {\n key: 'reason',\n converter: webidl.converters.USVString,\n defaultValue: ''\n }\n])\n\nwebidl.converters.ErrorEventInit = webidl.dictionaryConverter([\n ...eventInit,\n {\n key: 'message',\n converter: webidl.converters.DOMString,\n defaultValue: ''\n },\n {\n key: 'filename',\n converter: webidl.converters.USVString,\n defaultValue: ''\n },\n {\n key: 'lineno',\n converter: webidl.converters['unsigned long'],\n defaultValue: 0\n },\n {\n key: 'colno',\n converter: webidl.converters['unsigned long'],\n defaultValue: 0\n },\n {\n key: 'error',\n converter: webidl.converters.any\n }\n])\n\nmodule.exports = {\n MessageEvent,\n CloseEvent,\n ErrorEvent\n}\n", "'use strict'\n\nconst { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require('./symbols')\nconst { states, opcodes } = require('./constants')\nconst { MessageEvent, ErrorEvent } = require('./events')\n\n/* globals Blob */\n\n/**\n * @param {import('./websocket').WebSocket} ws\n */\nfunction isEstablished (ws) {\n // If the server's response is validated as provided for above, it is\n // said that _The WebSocket Connection is Established_ and that the\n // WebSocket Connection is in the OPEN state.\n return ws[kReadyState] === states.OPEN\n}\n\n/**\n * @param {import('./websocket').WebSocket} ws\n */\nfunction isClosing (ws) {\n // Upon either sending or receiving a Close control frame, it is said\n // that _The WebSocket Closing Handshake is Started_ and that the\n // WebSocket connection is in the CLOSING state.\n return ws[kReadyState] === states.CLOSING\n}\n\n/**\n * @param {import('./websocket').WebSocket} ws\n */\nfunction isClosed (ws) {\n return ws[kReadyState] === states.CLOSED\n}\n\n/**\n * @see https://dom.spec.whatwg.org/#concept-event-fire\n * @param {string} e\n * @param {EventTarget} target\n * @param {EventInit | undefined} eventInitDict\n */\nfunction fireEvent (e, target, eventConstructor = Event, eventInitDict) {\n // 1. If eventConstructor is not given, then let eventConstructor be Event.\n\n // 2. Let event be the result of creating an event given eventConstructor,\n // in the relevant realm of target.\n // 3. Initialize event\u2019s type attribute to e.\n const event = new eventConstructor(e, eventInitDict) // eslint-disable-line new-cap\n\n // 4. Initialize any other IDL attributes of event as described in the\n // invocation of this algorithm.\n\n // 5. Return the result of dispatching event at target, with legacy target\n // override flag set if set.\n target.dispatchEvent(event)\n}\n\n/**\n * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol\n * @param {import('./websocket').WebSocket} ws\n * @param {number} type Opcode\n * @param {Buffer} data application data\n */\nfunction websocketMessageReceived (ws, type, data) {\n // 1. If ready state is not OPEN (1), then return.\n if (ws[kReadyState] !== states.OPEN) {\n return\n }\n\n // 2. Let dataForEvent be determined by switching on type and binary type:\n let dataForEvent\n\n if (type === opcodes.TEXT) {\n // -> type indicates that the data is Text\n // a new DOMString containing data\n try {\n dataForEvent = new TextDecoder('utf-8', { fatal: true }).decode(data)\n } catch {\n failWebsocketConnection(ws, 'Received invalid UTF-8 in text frame.')\n return\n }\n } else if (type === opcodes.BINARY) {\n if (ws[kBinaryType] === 'blob') {\n // -> type indicates that the data is Binary and binary type is \"blob\"\n // a new Blob object, created in the relevant Realm of the WebSocket\n // object, that represents data as its raw data\n dataForEvent = new Blob([data])\n } else {\n // -> type indicates that the data is Binary and binary type is \"arraybuffer\"\n // a new ArrayBuffer object, created in the relevant Realm of the\n // WebSocket object, whose contents are data\n dataForEvent = new Uint8Array(data).buffer\n }\n }\n\n // 3. Fire an event named message at the WebSocket object, using MessageEvent,\n // with the origin attribute initialized to the serialization of the WebSocket\n // object\u2019s url's origin, and the data attribute initialized to dataForEvent.\n fireEvent('message', ws, MessageEvent, {\n origin: ws[kWebSocketURL].origin,\n data: dataForEvent\n })\n}\n\n/**\n * @see https://datatracker.ietf.org/doc/html/rfc6455\n * @see https://datatracker.ietf.org/doc/html/rfc2616\n * @see https://bugs.chromium.org/p/chromium/issues/detail?id=398407\n * @param {string} protocol\n */\nfunction isValidSubprotocol (protocol) {\n // If present, this value indicates one\n // or more comma-separated subprotocol the client wishes to speak,\n // ordered by preference. The elements that comprise this value\n // MUST be non-empty strings with characters in the range U+0021 to\n // U+007E not including separator characters as defined in\n // [RFC2616] and MUST all be unique strings.\n if (protocol.length === 0) {\n return false\n }\n\n for (const char of protocol) {\n const code = char.charCodeAt(0)\n\n if (\n code < 0x21 ||\n code > 0x7E ||\n char === '(' ||\n char === ')' ||\n char === '<' ||\n char === '>' ||\n char === '@' ||\n char === ',' ||\n char === ';' ||\n char === ':' ||\n char === '\\\\' ||\n char === '\"' ||\n char === '/' ||\n char === '[' ||\n char === ']' ||\n char === '?' ||\n char === '=' ||\n char === '{' ||\n char === '}' ||\n code === 32 || // SP\n code === 9 // HT\n ) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * @see https://datatracker.ietf.org/doc/html/rfc6455#section-7-4\n * @param {number} code\n */\nfunction isValidStatusCode (code) {\n if (code >= 1000 && code < 1015) {\n return (\n code !== 1004 && // reserved\n code !== 1005 && // \"MUST NOT be set as a status code\"\n code !== 1006 // \"MUST NOT be set as a status code\"\n )\n }\n\n return code >= 3000 && code <= 4999\n}\n\n/**\n * @param {import('./websocket').WebSocket} ws\n * @param {string|undefined} reason\n */\nfunction failWebsocketConnection (ws, reason) {\n const { [kController]: controller, [kResponse]: response } = ws\n\n controller.abort()\n\n if (response?.socket && !response.socket.destroyed) {\n response.socket.destroy()\n }\n\n if (reason) {\n fireEvent('error', ws, ErrorEvent, {\n error: new Error(reason)\n })\n }\n}\n\nmodule.exports = {\n isEstablished,\n isClosing,\n isClosed,\n fireEvent,\n isValidSubprotocol,\n isValidStatusCode,\n failWebsocketConnection,\n websocketMessageReceived\n}\n", "'use strict'\n\nconst { randomBytes, createHash } = require('crypto')\nconst diagnosticsChannel = require('diagnostics_channel')\nconst { uid, states } = require('./constants')\nconst {\n kReadyState,\n kSentClose,\n kByteParser,\n kReceivedClose\n} = require('./symbols')\nconst { fireEvent, failWebsocketConnection } = require('./util')\nconst { CloseEvent } = require('./events')\nconst { makeRequest } = require('../fetch/request')\nconst { fetching } = require('../fetch/index')\nconst { Headers } = require('../fetch/headers')\nconst { getGlobalDispatcher } = require('../global')\nconst { kHeadersList } = require('../core/symbols')\n\nconst channels = {}\nchannels.open = diagnosticsChannel.channel('undici:websocket:open')\nchannels.close = diagnosticsChannel.channel('undici:websocket:close')\nchannels.socketError = diagnosticsChannel.channel('undici:websocket:socket_error')\n\n/**\n * @see https://websockets.spec.whatwg.org/#concept-websocket-establish\n * @param {URL} url\n * @param {string|string[]} protocols\n * @param {import('./websocket').WebSocket} ws\n * @param {(response: any) => void} onEstablish\n * @param {Partial<import('../../types/websocket').WebSocketInit>} options\n */\nfunction establishWebSocketConnection (url, protocols, ws, onEstablish, options) {\n // 1. Let requestURL be a copy of url, with its scheme set to \"http\", if url\u2019s\n // scheme is \"ws\", and to \"https\" otherwise.\n const requestURL = url\n\n requestURL.protocol = url.protocol === 'ws:' ? 'http:' : 'https:'\n\n // 2. Let request be a new request, whose URL is requestURL, client is client,\n // service-workers mode is \"none\", referrer is \"no-referrer\", mode is\n // \"websocket\", credentials mode is \"include\", cache mode is \"no-store\" ,\n // and redirect mode is \"error\".\n const request = makeRequest({\n urlList: [requestURL],\n serviceWorkers: 'none',\n referrer: 'no-referrer',\n mode: 'websocket',\n credentials: 'include',\n cache: 'no-store',\n redirect: 'error'\n })\n\n // Note: undici extension, allow setting custom headers.\n if (options.headers) {\n const headersList = new Headers(options.headers)[kHeadersList]\n\n request.headersList = headersList\n }\n\n // 3. Append (`Upgrade`, `websocket`) to request\u2019s header list.\n // 4. Append (`Connection`, `Upgrade`) to request\u2019s header list.\n // Note: both of these are handled by undici currently.\n // https://github.com/nodejs/undici/blob/68c269c4144c446f3f1220951338daef4a6b5ec4/lib/client.js#L1397\n\n // 5. Let keyValue be a nonce consisting of a randomly selected\n // 16-byte value that has been forgiving-base64-encoded and\n // isomorphic encoded.\n const keyValue = randomBytes(16).toString('base64')\n\n // 6. Append (`Sec-WebSocket-Key`, keyValue) to request\u2019s\n // header list.\n request.headersList.append('sec-websocket-key', keyValue)\n\n // 7. Append (`Sec-WebSocket-Version`, `13`) to request\u2019s\n // header list.\n request.headersList.append('sec-websocket-version', '13')\n\n // 8. For each protocol in protocols, combine\n // (`Sec-WebSocket-Protocol`, protocol) in request\u2019s header\n // list.\n for (const protocol of protocols) {\n request.headersList.append('sec-websocket-protocol', protocol)\n }\n\n // 9. Let permessageDeflate be a user-agent defined\n // \"permessage-deflate\" extension header value.\n // https://github.com/mozilla/gecko-dev/blob/ce78234f5e653a5d3916813ff990f053510227bc/netwerk/protocol/websocket/WebSocketChannel.cpp#L2673\n // TODO: enable once permessage-deflate is supported\n const permessageDeflate = '' // 'permessage-deflate; 15'\n\n // 10. Append (`Sec-WebSocket-Extensions`, permessageDeflate) to\n // request\u2019s header list.\n // request.headersList.append('sec-websocket-extensions', permessageDeflate)\n\n // 11. Fetch request with useParallelQueue set to true, and\n // processResponse given response being these steps:\n const controller = fetching({\n request,\n useParallelQueue: true,\n dispatcher: options.dispatcher ?? getGlobalDispatcher(),\n processResponse (response) {\n // 1. If response is a network error or its status is not 101,\n // fail the WebSocket connection.\n if (response.type === 'error' || response.status !== 101) {\n failWebsocketConnection(ws, 'Received network error or non-101 status code.')\n return\n }\n\n // 2. If protocols is not the empty list and extracting header\n // list values given `Sec-WebSocket-Protocol` and response\u2019s\n // header list results in null, failure, or the empty byte\n // sequence, then fail the WebSocket connection.\n if (protocols.length !== 0 && !response.headersList.get('Sec-WebSocket-Protocol')) {\n failWebsocketConnection(ws, 'Server did not respond with sent protocols.')\n return\n }\n\n // 3. Follow the requirements stated step 2 to step 6, inclusive,\n // of the last set of steps in section 4.1 of The WebSocket\n // Protocol to validate response. This either results in fail\n // the WebSocket connection or the WebSocket connection is\n // established.\n\n // 2. If the response lacks an |Upgrade| header field or the |Upgrade|\n // header field contains a value that is not an ASCII case-\n // insensitive match for the value \"websocket\", the client MUST\n // _Fail the WebSocket Connection_.\n if (response.headersList.get('Upgrade')?.toLowerCase() !== 'websocket') {\n failWebsocketConnection(ws, 'Server did not set Upgrade header to \"websocket\".')\n return\n }\n\n // 3. If the response lacks a |Connection| header field or the\n // |Connection| header field doesn't contain a token that is an\n // ASCII case-insensitive match for the value \"Upgrade\", the client\n // MUST _Fail the WebSocket Connection_.\n if (response.headersList.get('Connection')?.toLowerCase() !== 'upgrade') {\n failWebsocketConnection(ws, 'Server did not set Connection header to \"upgrade\".')\n return\n }\n\n // 4. If the response lacks a |Sec-WebSocket-Accept| header field or\n // the |Sec-WebSocket-Accept| contains a value other than the\n // base64-encoded SHA-1 of the concatenation of the |Sec-WebSocket-\n // Key| (as a string, not base64-decoded) with the string \"258EAFA5-\n // E914-47DA-95CA-C5AB0DC85B11\" but ignoring any leading and\n // trailing whitespace, the client MUST _Fail the WebSocket\n // Connection_.\n const secWSAccept = response.headersList.get('Sec-WebSocket-Accept')\n const digest = createHash('sha1').update(keyValue + uid).digest('base64')\n if (secWSAccept !== digest) {\n failWebsocketConnection(ws, 'Incorrect hash received in Sec-WebSocket-Accept header.')\n return\n }\n\n // 5. If the response includes a |Sec-WebSocket-Extensions| header\n // field and this header field indicates the use of an extension\n // that was not present in the client's handshake (the server has\n // indicated an extension not requested by the client), the client\n // MUST _Fail the WebSocket Connection_. (The parsing of this\n // header field to determine which extensions are requested is\n // discussed in Section 9.1.)\n const secExtension = response.headersList.get('Sec-WebSocket-Extensions')\n\n if (secExtension !== null && secExtension !== permessageDeflate) {\n failWebsocketConnection(ws, 'Received different permessage-deflate than the one set.')\n return\n }\n\n // 6. If the response includes a |Sec-WebSocket-Protocol| header field\n // and this header field indicates the use of a subprotocol that was\n // not present in the client's handshake (the server has indicated a\n // subprotocol not requested by the client), the client MUST _Fail\n // the WebSocket Connection_.\n const secProtocol = response.headersList.get('Sec-WebSocket-Protocol')\n\n if (secProtocol !== null && secProtocol !== request.headersList.get('Sec-WebSocket-Protocol')) {\n failWebsocketConnection(ws, 'Protocol was not set in the opening handshake.')\n return\n }\n\n response.socket.on('data', onSocketData)\n response.socket.on('close', onSocketClose)\n response.socket.on('error', onSocketError)\n\n if (channels.open.hasSubscribers) {\n channels.open.publish({\n address: response.socket.address(),\n protocol: secProtocol,\n extensions: secExtension\n })\n }\n\n onEstablish(response)\n }\n })\n\n return controller\n}\n\n/**\n * @param {Buffer} chunk\n */\nfunction onSocketData (chunk) {\n if (!this.ws[kByteParser].write(chunk)) {\n this.pause()\n }\n}\n\n/**\n * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol\n * @see https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.4\n */\nfunction onSocketClose () {\n const { ws } = this\n\n // If the TCP connection was closed after the\n // WebSocket closing handshake was completed, the WebSocket connection\n // is said to have been closed _cleanly_.\n const wasClean = ws[kSentClose] && ws[kReceivedClose]\n\n let code = 1005\n let reason = ''\n\n const result = ws[kByteParser].closingInfo\n\n if (result) {\n code = result.code ?? 1005\n reason = result.reason\n } else if (!ws[kSentClose]) {\n // If _The WebSocket\n // Connection is Closed_ and no Close control frame was received by the\n // endpoint (such as could occur if the underlying transport connection\n // is lost), _The WebSocket Connection Close Code_ is considered to be\n // 1006.\n code = 1006\n }\n\n // 1. Change the ready state to CLOSED (3).\n ws[kReadyState] = states.CLOSED\n\n // 2. If the user agent was required to fail the WebSocket\n // connection, or if the WebSocket connection was closed\n // after being flagged as full, fire an event named error\n // at the WebSocket object.\n // TODO\n\n // 3. Fire an event named close at the WebSocket object,\n // using CloseEvent, with the wasClean attribute\n // initialized to true if the connection closed cleanly\n // and false otherwise, the code attribute initialized to\n // the WebSocket connection close code, and the reason\n // attribute initialized to the result of applying UTF-8\n // decode without BOM to the WebSocket connection close\n // reason.\n fireEvent('close', ws, CloseEvent, {\n wasClean, code, reason\n })\n\n if (channels.close.hasSubscribers) {\n channels.close.publish({\n websocket: ws,\n code,\n reason\n })\n }\n}\n\nfunction onSocketError (error) {\n const { ws } = this\n\n ws[kReadyState] = states.CLOSING\n\n if (channels.socketError.hasSubscribers) {\n channels.socketError.publish(error)\n }\n\n this.destroy()\n}\n\nmodule.exports = {\n establishWebSocketConnection\n}\n", "'use strict'\n\nconst { randomBytes } = require('crypto')\nconst { maxUnsigned16Bit } = require('./constants')\n\nclass WebsocketFrameSend {\n /**\n * @param {Buffer|undefined} data\n */\n constructor (data) {\n this.frameData = data\n this.maskKey = randomBytes(4)\n }\n\n createFrame (opcode) {\n const bodyLength = this.frameData?.byteLength ?? 0\n\n /** @type {number} */\n let payloadLength = bodyLength // 0-125\n let offset = 6\n\n if (bodyLength > maxUnsigned16Bit) {\n offset += 8 // payload length is next 8 bytes\n payloadLength = 127\n } else if (bodyLength > 125) {\n offset += 2 // payload length is next 2 bytes\n payloadLength = 126\n }\n\n const buffer = Buffer.allocUnsafe(bodyLength + offset)\n\n // Clear first 2 bytes, everything else is overwritten\n buffer[0] = buffer[1] = 0\n buffer[0] |= 0x80 // FIN\n buffer[0] = (buffer[0] & 0xF0) + opcode // opcode\n\n /*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */\n buffer[offset - 4] = this.maskKey[0]\n buffer[offset - 3] = this.maskKey[1]\n buffer[offset - 2] = this.maskKey[2]\n buffer[offset - 1] = this.maskKey[3]\n\n buffer[1] = payloadLength\n\n if (payloadLength === 126) {\n buffer.writeUInt16BE(bodyLength, 2)\n } else if (payloadLength === 127) {\n // Clear extended payload length\n buffer[2] = buffer[3] = 0\n buffer.writeUIntBE(bodyLength, 4, 6)\n }\n\n buffer[1] |= 0x80 // MASK\n\n // mask body\n for (let i = 0; i < bodyLength; i++) {\n buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4]\n }\n\n return buffer\n }\n}\n\nmodule.exports = {\n WebsocketFrameSend\n}\n", "'use strict'\n\nconst { Writable } = require('stream')\nconst diagnosticsChannel = require('diagnostics_channel')\nconst { parserStates, opcodes, states, emptyBuffer } = require('./constants')\nconst { kReadyState, kSentClose, kResponse, kReceivedClose } = require('./symbols')\nconst { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require('./util')\nconst { WebsocketFrameSend } = require('./frame')\n\n// This code was influenced by ws released under the MIT license.\n// Copyright (c) 2011 Einar Otto Stangvik <einaros@gmail.com>\n// Copyright (c) 2013 Arnout Kazemier and contributors\n// Copyright (c) 2016 Luigi Pinca and contributors\n\nconst channels = {}\nchannels.ping = diagnosticsChannel.channel('undici:websocket:ping')\nchannels.pong = diagnosticsChannel.channel('undici:websocket:pong')\n\nclass ByteParser extends Writable {\n #buffers = []\n #byteOffset = 0\n\n #state = parserStates.INFO\n\n #info = {}\n #fragments = []\n\n constructor (ws) {\n super()\n\n this.ws = ws\n }\n\n /**\n * @param {Buffer} chunk\n * @param {() => void} callback\n */\n _write (chunk, _, callback) {\n this.#buffers.push(chunk)\n this.#byteOffset += chunk.length\n\n this.run(callback)\n }\n\n /**\n * Runs whenever a new chunk is received.\n * Callback is called whenever there are no more chunks buffering,\n * or not enough bytes are buffered to parse.\n */\n run (callback) {\n while (true) {\n if (this.#state === parserStates.INFO) {\n // If there aren't enough bytes to parse the payload length, etc.\n if (this.#byteOffset < 2) {\n return callback()\n }\n\n const buffer = this.consume(2)\n\n this.#info.fin = (buffer[0] & 0x80) !== 0\n this.#info.opcode = buffer[0] & 0x0F\n\n // If we receive a fragmented message, we use the type of the first\n // frame to parse the full message as binary/text, when it's terminated\n this.#info.originalOpcode ??= this.#info.opcode\n\n this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION\n\n if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {\n // Only text and binary frames can be fragmented\n failWebsocketConnection(this.ws, 'Invalid frame type was fragmented.')\n return\n }\n\n const payloadLength = buffer[1] & 0x7F\n\n if (payloadLength <= 125) {\n this.#info.payloadLength = payloadLength\n this.#state = parserStates.READ_DATA\n } else if (payloadLength === 126) {\n this.#state = parserStates.PAYLOADLENGTH_16\n } else if (payloadLength === 127) {\n this.#state = parserStates.PAYLOADLENGTH_64\n }\n\n if (this.#info.fragmented && payloadLength > 125) {\n // A fragmented frame can't be fragmented itself\n failWebsocketConnection(this.ws, 'Fragmented frame exceeded 125 bytes.')\n return\n } else if (\n (this.#info.opcode === opcodes.PING ||\n this.#info.opcode === opcodes.PONG ||\n this.#info.opcode === opcodes.CLOSE) &&\n payloadLength > 125\n ) {\n // Control frames can have a payload length of 125 bytes MAX\n failWebsocketConnection(this.ws, 'Payload length for control frame exceeded 125 bytes.')\n return\n } else if (this.#info.opcode === opcodes.CLOSE) {\n if (payloadLength === 1) {\n failWebsocketConnection(this.ws, 'Received close frame with a 1-byte body.')\n return\n }\n\n const body = this.consume(payloadLength)\n\n this.#info.closeInfo = this.parseCloseBody(false, body)\n\n if (!this.ws[kSentClose]) {\n // If an endpoint receives a Close frame and did not previously send a\n // Close frame, the endpoint MUST send a Close frame in response. (When\n // sending a Close frame in response, the endpoint typically echos the\n // status code it received.)\n const body = Buffer.allocUnsafe(2)\n body.writeUInt16BE(this.#info.closeInfo.code, 0)\n const closeFrame = new WebsocketFrameSend(body)\n\n this.ws[kResponse].socket.write(\n closeFrame.createFrame(opcodes.CLOSE),\n (err) => {\n if (!err) {\n this.ws[kSentClose] = true\n }\n }\n )\n }\n\n // Upon either sending or receiving a Close control frame, it is said\n // that _The WebSocket Closing Handshake is Started_ and that the\n // WebSocket connection is in the CLOSING state.\n this.ws[kReadyState] = states.CLOSING\n this.ws[kReceivedClose] = true\n\n this.end()\n\n return\n } else if (this.#info.opcode === opcodes.PING) {\n // Upon receipt of a Ping frame, an endpoint MUST send a Pong frame in\n // response, unless it already received a Close frame.\n // A Pong frame sent in response to a Ping frame must have identical\n // \"Application data\"\n\n const body = this.consume(payloadLength)\n\n if (!this.ws[kReceivedClose]) {\n const frame = new WebsocketFrameSend(body)\n\n this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG))\n\n if (channels.ping.hasSubscribers) {\n channels.ping.publish({\n payload: body\n })\n }\n }\n\n this.#state = parserStates.INFO\n\n if (this.#byteOffset > 0) {\n continue\n } else {\n callback()\n return\n }\n } else if (this.#info.opcode === opcodes.PONG) {\n // A Pong frame MAY be sent unsolicited. This serves as a\n // unidirectional heartbeat. A response to an unsolicited Pong frame is\n // not expected.\n\n const body = this.consume(payloadLength)\n\n if (channels.pong.hasSubscribers) {\n channels.pong.publish({\n payload: body\n })\n }\n\n if (this.#byteOffset > 0) {\n continue\n } else {\n callback()\n return\n }\n }\n } else if (this.#state === parserStates.PAYLOADLENGTH_16) {\n if (this.#byteOffset < 2) {\n return callback()\n }\n\n const buffer = this.consume(2)\n\n this.#info.payloadLength = buffer.readUInt16BE(0)\n this.#state = parserStates.READ_DATA\n } else if (this.#state === parserStates.PAYLOADLENGTH_64) {\n if (this.#byteOffset < 8) {\n return callback()\n }\n\n const buffer = this.consume(8)\n const upper = buffer.readUInt32BE(0)\n\n // 2^31 is the maxinimum bytes an arraybuffer can contain\n // on 32-bit systems. Although, on 64-bit systems, this is\n // 2^53-1 bytes.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Invalid_array_length\n // https://source.chromium.org/chromium/chromium/src/+/main:v8/src/common/globals.h;drc=1946212ac0100668f14eb9e2843bdd846e510a1e;bpv=1;bpt=1;l=1275\n // https://source.chromium.org/chromium/chromium/src/+/main:v8/src/objects/js-array-buffer.h;l=34;drc=1946212ac0100668f14eb9e2843bdd846e510a1e\n if (upper > 2 ** 31 - 1) {\n failWebsocketConnection(this.ws, 'Received payload length > 2^31 bytes.')\n return\n }\n\n const lower = buffer.readUInt32BE(4)\n\n this.#info.payloadLength = (upper << 8) + lower\n this.#state = parserStates.READ_DATA\n } else if (this.#state === parserStates.READ_DATA) {\n if (this.#byteOffset < this.#info.payloadLength) {\n // If there is still more data in this chunk that needs to be read\n return callback()\n } else if (this.#byteOffset >= this.#info.payloadLength) {\n // If the server sent multiple frames in a single chunk\n\n const body = this.consume(this.#info.payloadLength)\n\n this.#fragments.push(body)\n\n // If the frame is unfragmented, or a fragmented frame was terminated,\n // a message was received\n if (!this.#info.fragmented || (this.#info.fin && this.#info.opcode === opcodes.CONTINUATION)) {\n const fullMessage = Buffer.concat(this.#fragments)\n\n websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage)\n\n this.#info = {}\n this.#fragments.length = 0\n }\n\n this.#state = parserStates.INFO\n }\n }\n\n if (this.#byteOffset > 0) {\n continue\n } else {\n callback()\n break\n }\n }\n }\n\n /**\n * Take n bytes from the buffered Buffers\n * @param {number} n\n * @returns {Buffer|null}\n */\n consume (n) {\n if (n > this.#byteOffset) {\n return null\n } else if (n === 0) {\n return emptyBuffer\n }\n\n if (this.#buffers[0].length === n) {\n this.#byteOffset -= this.#buffers[0].length\n return this.#buffers.shift()\n }\n\n const buffer = Buffer.allocUnsafe(n)\n let offset = 0\n\n while (offset !== n) {\n const next = this.#buffers[0]\n const { length } = next\n\n if (length + offset === n) {\n buffer.set(this.#buffers.shift(), offset)\n break\n } else if (length + offset > n) {\n buffer.set(next.subarray(0, n - offset), offset)\n this.#buffers[0] = next.subarray(n - offset)\n break\n } else {\n buffer.set(this.#buffers.shift(), offset)\n offset += next.length\n }\n }\n\n this.#byteOffset -= n\n\n return buffer\n }\n\n parseCloseBody (onlyCode, data) {\n // https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.5\n /** @type {number|undefined} */\n let code\n\n if (data.length >= 2) {\n // _The WebSocket Connection Close Code_ is\n // defined as the status code (Section 7.4) contained in the first Close\n // control frame received by the application\n code = data.readUInt16BE(0)\n }\n\n if (onlyCode) {\n if (!isValidStatusCode(code)) {\n return null\n }\n\n return { code }\n }\n\n // https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.6\n /** @type {Buffer} */\n let reason = data.subarray(2)\n\n // Remove BOM\n if (reason[0] === 0xEF && reason[1] === 0xBB && reason[2] === 0xBF) {\n reason = reason.subarray(3)\n }\n\n if (code !== undefined && !isValidStatusCode(code)) {\n return null\n }\n\n try {\n // TODO: optimize this\n reason = new TextDecoder('utf-8', { fatal: true }).decode(reason)\n } catch {\n return null\n }\n\n return { code, reason }\n }\n\n get closingInfo () {\n return this.#info.closeInfo\n }\n}\n\nmodule.exports = {\n ByteParser\n}\n", "'use strict'\n\nconst { webidl } = require('../fetch/webidl')\nconst { DOMException } = require('../fetch/constants')\nconst { URLSerializer } = require('../fetch/dataURL')\nconst { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require('./constants')\nconst {\n kWebSocketURL,\n kReadyState,\n kController,\n kBinaryType,\n kResponse,\n kSentClose,\n kByteParser\n} = require('./symbols')\nconst { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require('./util')\nconst { establishWebSocketConnection } = require('./connection')\nconst { WebsocketFrameSend } = require('./frame')\nconst { ByteParser } = require('./receiver')\nconst { kEnumerableProperty, isBlobLike } = require('../core/util')\nconst { getGlobalDispatcher } = require('../global')\nconst { types } = require('util')\n\nlet experimentalWarned = false\n\n// https://websockets.spec.whatwg.org/#interface-definition\nclass WebSocket extends EventTarget {\n #events = {\n open: null,\n error: null,\n close: null,\n message: null\n }\n\n #bufferedAmount = 0\n #protocol = ''\n #extensions = ''\n\n /**\n * @param {string} url\n * @param {string|string[]} protocols\n */\n constructor (url, protocols = []) {\n super()\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'WebSocket constructor' })\n\n if (!experimentalWarned) {\n experimentalWarned = true\n process.emitWarning('WebSockets are experimental, expect them to change at any time.', {\n code: 'UNDICI-WS'\n })\n }\n\n const options = webidl.converters['DOMString or sequence<DOMString> or WebSocketInit'](protocols)\n\n url = webidl.converters.USVString(url)\n protocols = options.protocols\n\n // 1. Let urlRecord be the result of applying the URL parser to url.\n let urlRecord\n\n try {\n urlRecord = new URL(url)\n } catch (e) {\n // 2. If urlRecord is failure, then throw a \"SyntaxError\" DOMException.\n throw new DOMException(e, 'SyntaxError')\n }\n\n // 3. If urlRecord\u2019s scheme is not \"ws\" or \"wss\", then throw a\n // \"SyntaxError\" DOMException.\n if (urlRecord.protocol !== 'ws:' && urlRecord.protocol !== 'wss:') {\n throw new DOMException(\n `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,\n 'SyntaxError'\n )\n }\n\n // 4. If urlRecord\u2019s fragment is non-null, then throw a \"SyntaxError\"\n // DOMException.\n if (urlRecord.hash) {\n throw new DOMException('Got fragment', 'SyntaxError')\n }\n\n // 5. If protocols is a string, set protocols to a sequence consisting\n // of just that string.\n if (typeof protocols === 'string') {\n protocols = [protocols]\n }\n\n // 6. If any of the values in protocols occur more than once or otherwise\n // fail to match the requirements for elements that comprise the value\n // of `Sec-WebSocket-Protocol` fields as defined by The WebSocket\n // protocol, then throw a \"SyntaxError\" DOMException.\n if (protocols.length !== new Set(protocols.map(p => p.toLowerCase())).size) {\n throw new DOMException('Invalid Sec-WebSocket-Protocol value', 'SyntaxError')\n }\n\n if (protocols.length > 0 && !protocols.every(p => isValidSubprotocol(p))) {\n throw new DOMException('Invalid Sec-WebSocket-Protocol value', 'SyntaxError')\n }\n\n // 7. Set this's url to urlRecord.\n this[kWebSocketURL] = urlRecord\n\n // 8. Let client be this's relevant settings object.\n\n // 9. Run this step in parallel:\n\n // 1. Establish a WebSocket connection given urlRecord, protocols,\n // and client.\n this[kController] = establishWebSocketConnection(\n urlRecord,\n protocols,\n this,\n (response) => this.#onConnectionEstablished(response),\n options\n )\n\n // Each WebSocket object has an associated ready state, which is a\n // number representing the state of the connection. Initially it must\n // be CONNECTING (0).\n this[kReadyState] = WebSocket.CONNECTING\n\n // The extensions attribute must initially return the empty string.\n\n // The protocol attribute must initially return the empty string.\n\n // Each WebSocket object has an associated binary type, which is a\n // BinaryType. Initially it must be \"blob\".\n this[kBinaryType] = 'blob'\n }\n\n /**\n * @see https://websockets.spec.whatwg.org/#dom-websocket-close\n * @param {number|undefined} code\n * @param {string|undefined} reason\n */\n close (code = undefined, reason = undefined) {\n webidl.brandCheck(this, WebSocket)\n\n if (code !== undefined) {\n code = webidl.converters['unsigned short'](code, { clamp: true })\n }\n\n if (reason !== undefined) {\n reason = webidl.converters.USVString(reason)\n }\n\n // 1. If code is present, but is neither an integer equal to 1000 nor an\n // integer in the range 3000 to 4999, inclusive, throw an\n // \"InvalidAccessError\" DOMException.\n if (code !== undefined) {\n if (code !== 1000 && (code < 3000 || code > 4999)) {\n throw new DOMException('invalid code', 'InvalidAccessError')\n }\n }\n\n let reasonByteLength = 0\n\n // 2. If reason is present, then run these substeps:\n if (reason !== undefined) {\n // 1. Let reasonBytes be the result of encoding reason.\n // 2. If reasonBytes is longer than 123 bytes, then throw a\n // \"SyntaxError\" DOMException.\n reasonByteLength = Buffer.byteLength(reason)\n\n if (reasonByteLength > 123) {\n throw new DOMException(\n `Reason must be less than 123 bytes; received ${reasonByteLength}`,\n 'SyntaxError'\n )\n }\n }\n\n // 3. Run the first matching steps from the following list:\n if (this[kReadyState] === WebSocket.CLOSING || this[kReadyState] === WebSocket.CLOSED) {\n // If this's ready state is CLOSING (2) or CLOSED (3)\n // Do nothing.\n } else if (!isEstablished(this)) {\n // If the WebSocket connection is not yet established\n // Fail the WebSocket connection and set this's ready state\n // to CLOSING (2).\n failWebsocketConnection(this, 'Connection was closed before it was established.')\n this[kReadyState] = WebSocket.CLOSING\n } else if (!isClosing(this)) {\n // If the WebSocket closing handshake has not yet been started\n // Start the WebSocket closing handshake and set this's ready\n // state to CLOSING (2).\n // - If neither code nor reason is present, the WebSocket Close\n // message must not have a body.\n // - If code is present, then the status code to use in the\n // WebSocket Close message must be the integer given by code.\n // - If reason is also present, then reasonBytes must be\n // provided in the Close message after the status code.\n\n const frame = new WebsocketFrameSend()\n\n // If neither code nor reason is present, the WebSocket Close\n // message must not have a body.\n\n // If code is present, then the status code to use in the\n // WebSocket Close message must be the integer given by code.\n if (code !== undefined && reason === undefined) {\n frame.frameData = Buffer.allocUnsafe(2)\n frame.frameData.writeUInt16BE(code, 0)\n } else if (code !== undefined && reason !== undefined) {\n // If reason is also present, then reasonBytes must be\n // provided in the Close message after the status code.\n frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength)\n frame.frameData.writeUInt16BE(code, 0)\n // the body MAY contain UTF-8-encoded data with value /reason/\n frame.frameData.write(reason, 2, 'utf-8')\n } else {\n frame.frameData = emptyBuffer\n }\n\n /** @type {import('stream').Duplex} */\n const socket = this[kResponse].socket\n\n socket.write(frame.createFrame(opcodes.CLOSE), (err) => {\n if (!err) {\n this[kSentClose] = true\n }\n })\n\n // Upon either sending or receiving a Close control frame, it is said\n // that _The WebSocket Closing Handshake is Started_ and that the\n // WebSocket connection is in the CLOSING state.\n this[kReadyState] = states.CLOSING\n } else {\n // Otherwise\n // Set this's ready state to CLOSING (2).\n this[kReadyState] = WebSocket.CLOSING\n }\n }\n\n /**\n * @see https://websockets.spec.whatwg.org/#dom-websocket-send\n * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data\n */\n send (data) {\n webidl.brandCheck(this, WebSocket)\n\n webidl.argumentLengthCheck(arguments, 1, { header: 'WebSocket.send' })\n\n data = webidl.converters.WebSocketSendData(data)\n\n // 1. If this's ready state is CONNECTING, then throw an\n // \"InvalidStateError\" DOMException.\n if (this[kReadyState] === WebSocket.CONNECTING) {\n throw new DOMException('Sent before connected.', 'InvalidStateError')\n }\n\n // 2. Run the appropriate set of steps from the following list:\n // https://datatracker.ietf.org/doc/html/rfc6455#section-6.1\n // https://datatracker.ietf.org/doc/html/rfc6455#section-5.2\n\n if (!isEstablished(this) || isClosing(this)) {\n return\n }\n\n /** @type {import('stream').Duplex} */\n const socket = this[kResponse].socket\n\n // If data is a string\n if (typeof data === 'string') {\n // If the WebSocket connection is established and the WebSocket\n // closing handshake has not yet started, then the user agent\n // must send a WebSocket Message comprised of the data argument\n // using a text frame opcode; if the data cannot be sent, e.g.\n // because it would need to be buffered but the buffer is full,\n // the user agent must flag the WebSocket as full and then close\n // the WebSocket connection. Any invocation of this method with a\n // string argument that does not throw an exception must increase\n // the bufferedAmount attribute by the number of bytes needed to\n // express the argument as UTF-8.\n\n const value = Buffer.from(data)\n const frame = new WebsocketFrameSend(value)\n const buffer = frame.createFrame(opcodes.TEXT)\n\n this.#bufferedAmount += value.byteLength\n socket.write(buffer, () => {\n this.#bufferedAmount -= value.byteLength\n })\n } else if (types.isArrayBuffer(data)) {\n // If the WebSocket connection is established, and the WebSocket\n // closing handshake has not yet started, then the user agent must\n // send a WebSocket Message comprised of data using a binary frame\n // opcode; if the data cannot be sent, e.g. because it would need\n // to be buffered but the buffer is full, the user agent must flag\n // the WebSocket as full and then close the WebSocket connection.\n // The data to be sent is the data stored in the buffer described\n // by the ArrayBuffer object. Any invocation of this method with an\n // ArrayBuffer argument that does not throw an exception must\n // increase the bufferedAmount attribute by the length of the\n // ArrayBuffer in bytes.\n\n const value = Buffer.from(data)\n const frame = new WebsocketFrameSend(value)\n const buffer = frame.createFrame(opcodes.BINARY)\n\n this.#bufferedAmount += value.byteLength\n socket.write(buffer, () => {\n this.#bufferedAmount -= value.byteLength\n })\n } else if (ArrayBuffer.isView(data)) {\n // If the WebSocket connection is established, and the WebSocket\n // closing handshake has not yet started, then the user agent must\n // send a WebSocket Message comprised of data using a binary frame\n // opcode; if the data cannot be sent, e.g. because it would need to\n // be buffered but the buffer is full, the user agent must flag the\n // WebSocket as full and then close the WebSocket connection. The\n // data to be sent is the data stored in the section of the buffer\n // described by the ArrayBuffer object that data references. Any\n // invocation of this method with this kind of argument that does\n // not throw an exception must increase the bufferedAmount attribute\n // by the length of data\u2019s buffer in bytes.\n\n const ab = Buffer.from(data, data.byteOffset, data.byteLength)\n\n const frame = new WebsocketFrameSend(ab)\n const buffer = frame.createFrame(opcodes.BINARY)\n\n this.#bufferedAmount += ab.byteLength\n socket.write(buffer, () => {\n this.#bufferedAmount -= ab.byteLength\n })\n } else if (isBlobLike(data)) {\n // If the WebSocket connection is established, and the WebSocket\n // closing handshake has not yet started, then the user agent must\n // send a WebSocket Message comprised of data using a binary frame\n // opcode; if the data cannot be sent, e.g. because it would need to\n // be buffered but the buffer is full, the user agent must flag the\n // WebSocket as full and then close the WebSocket connection. The data\n // to be sent is the raw data represented by the Blob object. Any\n // invocation of this method with a Blob argument that does not throw\n // an exception must increase the bufferedAmount attribute by the size\n // of the Blob object\u2019s raw data, in bytes.\n\n const frame = new WebsocketFrameSend()\n\n data.arrayBuffer().then((ab) => {\n const value = Buffer.from(ab)\n frame.frameData = value\n const buffer = frame.createFrame(opcodes.BINARY)\n\n this.#bufferedAmount += value.byteLength\n socket.write(buffer, () => {\n this.#bufferedAmount -= value.byteLength\n })\n })\n }\n }\n\n get readyState () {\n webidl.brandCheck(this, WebSocket)\n\n // The readyState getter steps are to return this's ready state.\n return this[kReadyState]\n }\n\n get bufferedAmount () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#bufferedAmount\n }\n\n get url () {\n webidl.brandCheck(this, WebSocket)\n\n // The url getter steps are to return this's url, serialized.\n return URLSerializer(this[kWebSocketURL])\n }\n\n get extensions () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#extensions\n }\n\n get protocol () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#protocol\n }\n\n get onopen () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#events.open\n }\n\n set onopen (fn) {\n webidl.brandCheck(this, WebSocket)\n\n if (this.#events.open) {\n this.removeEventListener('open', this.#events.open)\n }\n\n if (typeof fn === 'function') {\n this.#events.open = fn\n this.addEventListener('open', fn)\n } else {\n this.#events.open = null\n }\n }\n\n get onerror () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#events.error\n }\n\n set onerror (fn) {\n webidl.brandCheck(this, WebSocket)\n\n if (this.#events.error) {\n this.removeEventListener('error', this.#events.error)\n }\n\n if (typeof fn === 'function') {\n this.#events.error = fn\n this.addEventListener('error', fn)\n } else {\n this.#events.error = null\n }\n }\n\n get onclose () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#events.close\n }\n\n set onclose (fn) {\n webidl.brandCheck(this, WebSocket)\n\n if (this.#events.close) {\n this.removeEventListener('close', this.#events.close)\n }\n\n if (typeof fn === 'function') {\n this.#events.close = fn\n this.addEventListener('close', fn)\n } else {\n this.#events.close = null\n }\n }\n\n get onmessage () {\n webidl.brandCheck(this, WebSocket)\n\n return this.#events.message\n }\n\n set onmessage (fn) {\n webidl.brandCheck(this, WebSocket)\n\n if (this.#events.message) {\n this.removeEventListener('message', this.#events.message)\n }\n\n if (typeof fn === 'function') {\n this.#events.message = fn\n this.addEventListener('message', fn)\n } else {\n this.#events.message = null\n }\n }\n\n get binaryType () {\n webidl.brandCheck(this, WebSocket)\n\n return this[kBinaryType]\n }\n\n set binaryType (type) {\n webidl.brandCheck(this, WebSocket)\n\n if (type !== 'blob' && type !== 'arraybuffer') {\n this[kBinaryType] = 'blob'\n } else {\n this[kBinaryType] = type\n }\n }\n\n /**\n * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol\n */\n #onConnectionEstablished (response) {\n // processResponse is called when the \"response\u2019s header list has been received and initialized.\"\n // once this happens, the connection is open\n this[kResponse] = response\n\n const parser = new ByteParser(this)\n parser.on('drain', function onParserDrain () {\n this.ws[kResponse].socket.resume()\n })\n\n response.socket.ws = this\n this[kByteParser] = parser\n\n // 1. Change the ready state to OPEN (1).\n this[kReadyState] = states.OPEN\n\n // 2. Change the extensions attribute\u2019s value to the extensions in use, if\n // it is not the null value.\n // https://datatracker.ietf.org/doc/html/rfc6455#section-9.1\n const extensions = response.headersList.get('sec-websocket-extensions')\n\n if (extensions !== null) {\n this.#extensions = extensions\n }\n\n // 3. Change the protocol attribute\u2019s value to the subprotocol in use, if\n // it is not the null value.\n // https://datatracker.ietf.org/doc/html/rfc6455#section-1.9\n const protocol = response.headersList.get('sec-websocket-protocol')\n\n if (protocol !== null) {\n this.#protocol = protocol\n }\n\n // 4. Fire an event named open at the WebSocket object.\n fireEvent('open', this)\n }\n}\n\n// https://websockets.spec.whatwg.org/#dom-websocket-connecting\nWebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING\n// https://websockets.spec.whatwg.org/#dom-websocket-open\nWebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN\n// https://websockets.spec.whatwg.org/#dom-websocket-closing\nWebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING\n// https://websockets.spec.whatwg.org/#dom-websocket-closed\nWebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED\n\nObject.defineProperties(WebSocket.prototype, {\n CONNECTING: staticPropertyDescriptors,\n OPEN: staticPropertyDescriptors,\n CLOSING: staticPropertyDescriptors,\n CLOSED: staticPropertyDescriptors,\n url: kEnumerableProperty,\n readyState: kEnumerableProperty,\n bufferedAmount: kEnumerableProperty,\n onopen: kEnumerableProperty,\n onerror: kEnumerableProperty,\n onclose: kEnumerableProperty,\n close: kEnumerableProperty,\n onmessage: kEnumerableProperty,\n binaryType: kEnumerableProperty,\n send: kEnumerableProperty,\n extensions: kEnumerableProperty,\n protocol: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: 'WebSocket',\n writable: false,\n enumerable: false,\n configurable: true\n }\n})\n\nObject.defineProperties(WebSocket, {\n CONNECTING: staticPropertyDescriptors,\n OPEN: staticPropertyDescriptors,\n CLOSING: staticPropertyDescriptors,\n CLOSED: staticPropertyDescriptors\n})\n\nwebidl.converters['sequence<DOMString>'] = webidl.sequenceConverter(\n webidl.converters.DOMString\n)\n\nwebidl.converters['DOMString or sequence<DOMString>'] = function (V) {\n if (webidl.util.Type(V) === 'Object' && Symbol.iterator in V) {\n return webidl.converters['sequence<DOMString>'](V)\n }\n\n return webidl.converters.DOMString(V)\n}\n\n// This implements the propsal made in https://github.com/whatwg/websockets/issues/42\nwebidl.converters.WebSocketInit = webidl.dictionaryConverter([\n {\n key: 'protocols',\n converter: webidl.converters['DOMString or sequence<DOMString>'],\n get defaultValue () {\n return []\n }\n },\n {\n key: 'dispatcher',\n converter: (V) => V,\n get defaultValue () {\n return getGlobalDispatcher()\n }\n },\n {\n key: 'headers',\n converter: webidl.nullableConverter(webidl.converters.HeadersInit)\n }\n])\n\nwebidl.converters['DOMString or sequence<DOMString> or WebSocketInit'] = function (V) {\n if (webidl.util.Type(V) === 'Object' && !(Symbol.iterator in V)) {\n return webidl.converters.WebSocketInit(V)\n }\n\n return { protocols: webidl.converters['DOMString or sequence<DOMString>'](V) }\n}\n\nwebidl.converters.WebSocketSendData = function (V) {\n if (webidl.util.Type(V) === 'Object') {\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, { strict: false })\n }\n\n if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {\n return webidl.converters.BufferSource(V)\n }\n }\n\n return webidl.converters.USVString(V)\n}\n\nmodule.exports = {\n WebSocket\n}\n", "'use strict'\n\nconst Client = require('./lib/client')\nconst Dispatcher = require('./lib/dispatcher')\nconst errors = require('./lib/core/errors')\nconst Pool = require('./lib/pool')\nconst BalancedPool = require('./lib/balanced-pool')\nconst Agent = require('./lib/agent')\nconst util = require('./lib/core/util')\nconst { InvalidArgumentError } = errors\nconst api = require('./lib/api')\nconst buildConnector = require('./lib/core/connect')\nconst MockClient = require('./lib/mock/mock-client')\nconst MockAgent = require('./lib/mock/mock-agent')\nconst MockPool = require('./lib/mock/mock-pool')\nconst mockErrors = require('./lib/mock/mock-errors')\nconst ProxyAgent = require('./lib/proxy-agent')\nconst { getGlobalDispatcher, setGlobalDispatcher } = require('./lib/global')\nconst DecoratorHandler = require('./lib/handler/DecoratorHandler')\nconst RedirectHandler = require('./lib/handler/RedirectHandler')\nconst createRedirectInterceptor = require('./lib/interceptor/redirectInterceptor')\n\nlet hasCrypto\ntry {\n require('crypto')\n hasCrypto = true\n} catch {\n hasCrypto = false\n}\n\nObject.assign(Dispatcher.prototype, api)\n\nmodule.exports.Dispatcher = Dispatcher\nmodule.exports.Client = Client\nmodule.exports.Pool = Pool\nmodule.exports.BalancedPool = BalancedPool\nmodule.exports.Agent = Agent\nmodule.exports.ProxyAgent = ProxyAgent\n\nmodule.exports.DecoratorHandler = DecoratorHandler\nmodule.exports.RedirectHandler = RedirectHandler\nmodule.exports.createRedirectInterceptor = createRedirectInterceptor\n\nmodule.exports.buildConnector = buildConnector\nmodule.exports.errors = errors\n\nfunction makeDispatcher (fn) {\n return (url, opts, handler) => {\n if (typeof opts === 'function') {\n handler = opts\n opts = null\n }\n\n if (!url || (typeof url !== 'string' && typeof url !== 'object' && !(url instanceof URL))) {\n throw new InvalidArgumentError('invalid url')\n }\n\n if (opts != null && typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n if (opts && opts.path != null) {\n if (typeof opts.path !== 'string') {\n throw new InvalidArgumentError('invalid opts.path')\n }\n\n let path = opts.path\n if (!opts.path.startsWith('/')) {\n path = `/${path}`\n }\n\n url = new URL(util.parseOrigin(url).origin + path)\n } else {\n if (!opts) {\n opts = typeof url === 'object' ? url : {}\n }\n\n url = util.parseURL(url)\n }\n\n const { agent, dispatcher = getGlobalDispatcher() } = opts\n\n if (agent) {\n throw new InvalidArgumentError('unsupported opts.agent. Did you mean opts.client?')\n }\n\n return fn.call(dispatcher, {\n ...opts,\n origin: url.origin,\n path: url.search ? `${url.pathname}${url.search}` : url.pathname,\n method: opts.method || (opts.body ? 'PUT' : 'GET')\n }, handler)\n }\n}\n\nmodule.exports.setGlobalDispatcher = setGlobalDispatcher\nmodule.exports.getGlobalDispatcher = getGlobalDispatcher\n\nif (util.nodeMajor > 16 || (util.nodeMajor === 16 && util.nodeMinor >= 8)) {\n let fetchImpl = null\n module.exports.fetch = async function fetch (resource) {\n if (!fetchImpl) {\n fetchImpl = require('./lib/fetch').fetch\n }\n\n try {\n return await fetchImpl(...arguments)\n } catch (err) {\n Error.captureStackTrace(err, this)\n throw err\n }\n }\n module.exports.Headers = require('./lib/fetch/headers').Headers\n module.exports.Response = require('./lib/fetch/response').Response\n module.exports.Request = require('./lib/fetch/request').Request\n module.exports.FormData = require('./lib/fetch/formdata').FormData\n module.exports.File = require('./lib/fetch/file').File\n module.exports.FileReader = require('./lib/fileapi/filereader').FileReader\n\n const { setGlobalOrigin, getGlobalOrigin } = require('./lib/fetch/global')\n\n module.exports.setGlobalOrigin = setGlobalOrigin\n module.exports.getGlobalOrigin = getGlobalOrigin\n\n const { CacheStorage } = require('./lib/cache/cachestorage')\n const { kConstruct } = require('./lib/cache/symbols')\n\n // Cache & CacheStorage are tightly coupled with fetch. Even if it may run\n // in an older version of Node, it doesn't have any use without fetch.\n module.exports.caches = new CacheStorage(kConstruct)\n}\n\nif (util.nodeMajor >= 16) {\n const { deleteCookie, getCookies, getSetCookies, setCookie } = require('./lib/cookies')\n\n module.exports.deleteCookie = deleteCookie\n module.exports.getCookies = getCookies\n module.exports.getSetCookies = getSetCookies\n module.exports.setCookie = setCookie\n\n const { parseMIMEType, serializeAMimeType } = require('./lib/fetch/dataURL')\n\n module.exports.parseMIMEType = parseMIMEType\n module.exports.serializeAMimeType = serializeAMimeType\n}\n\nif (util.nodeMajor >= 18 && hasCrypto) {\n const { WebSocket } = require('./lib/websocket/websocket')\n\n module.exports.WebSocket = WebSocket\n}\n\nmodule.exports.request = makeDispatcher(api.request)\nmodule.exports.stream = makeDispatcher(api.stream)\nmodule.exports.pipeline = makeDispatcher(api.pipeline)\nmodule.exports.connect = makeDispatcher(api.connect)\nmodule.exports.upgrade = makeDispatcher(api.upgrade)\n\nmodule.exports.MockClient = MockClient\nmodule.exports.MockPool = MockPool\nmodule.exports.MockAgent = MockAgent\nmodule.exports.mockErrors = mockErrors\n", null, null, null, "'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n", "'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n", "'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n", "'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n", "'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n", "'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n", "'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n", "'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n", "'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n", "'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n", "/**\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", "\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n", "/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n", "'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n", "'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tforceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = 1;\n}\n\nif ('FORCE_COLOR' in env) {\n\tif (env.FORCE_COLOR === 'true') {\n\t\tforceColor = 1;\n\t} else if (env.FORCE_COLOR === 'false') {\n\t\tforceColor = 0;\n\t} else {\n\t\tforceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(haveStream, streamIsTTY) {\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream, stream && stream.isTTY);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: translateLevel(supportsColor(true, tty.isatty(1))),\n\tstderr: translateLevel(supportsColor(true, tty.isatty(2)))\n};\n", "/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.format(...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n", "/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n", "var debug;\n\nmodule.exports = function () {\n if (!debug) {\n try {\n /* eslint global-require: off */\n debug = require(\"debug\")(\"follow-redirects\");\n }\n catch (error) { /* */ }\n if (typeof debug !== \"function\") {\n debug = function () { /* */ };\n }\n }\n debug.apply(null, arguments);\n};\n", "var url = require(\"url\");\nvar URL = url.URL;\nvar http = require(\"http\");\nvar https = require(\"https\");\nvar Writable = require(\"stream\").Writable;\nvar assert = require(\"assert\");\nvar debug = require(\"./debug\");\n\n// Whether to use the native URL object or the legacy url module\nvar useNativeURL = false;\ntry {\n assert(new URL());\n}\ncatch (error) {\n useNativeURL = error.code === \"ERR_INVALID_URL\";\n}\n\n// URL fields to preserve in copy operations\nvar preservedUrlFields = [\n \"auth\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"hash\",\n];\n\n// Create handlers that pass events from native requests\nvar events = [\"abort\", \"aborted\", \"connect\", \"error\", \"socket\", \"timeout\"];\nvar eventHandlers = Object.create(null);\nevents.forEach(function (event) {\n eventHandlers[event] = function (arg1, arg2, arg3) {\n this._redirectable.emit(event, arg1, arg2, arg3);\n };\n});\n\n// Error types with codes\nvar InvalidUrlError = createErrorType(\n \"ERR_INVALID_URL\",\n \"Invalid URL\",\n TypeError\n);\nvar RedirectionError = createErrorType(\n \"ERR_FR_REDIRECTION_FAILURE\",\n \"Redirected request failed\"\n);\nvar TooManyRedirectsError = createErrorType(\n \"ERR_FR_TOO_MANY_REDIRECTS\",\n \"Maximum number of redirects exceeded\",\n RedirectionError\n);\nvar MaxBodyLengthExceededError = createErrorType(\n \"ERR_FR_MAX_BODY_LENGTH_EXCEEDED\",\n \"Request body larger than maxBodyLength limit\"\n);\nvar WriteAfterEndError = createErrorType(\n \"ERR_STREAM_WRITE_AFTER_END\",\n \"write after end\"\n);\n\n// istanbul ignore next\nvar destroy = Writable.prototype.destroy || noop;\n\n// An HTTP(S) request that can be redirected\nfunction RedirectableRequest(options, responseCallback) {\n // Initialize the request\n Writable.call(this);\n this._sanitizeOptions(options);\n this._options = options;\n this._ended = false;\n this._ending = false;\n this._redirectCount = 0;\n this._redirects = [];\n this._requestBodyLength = 0;\n this._requestBodyBuffers = [];\n\n // Attach a callback if passed\n if (responseCallback) {\n this.on(\"response\", responseCallback);\n }\n\n // React to responses of native requests\n var self = this;\n this._onNativeResponse = function (response) {\n try {\n self._processResponse(response);\n }\n catch (cause) {\n self.emit(\"error\", cause instanceof RedirectionError ?\n cause : new RedirectionError({ cause: cause }));\n }\n };\n\n // Perform the first request\n this._performRequest();\n}\nRedirectableRequest.prototype = Object.create(Writable.prototype);\n\nRedirectableRequest.prototype.abort = function () {\n destroyRequest(this._currentRequest);\n this._currentRequest.abort();\n this.emit(\"abort\");\n};\n\nRedirectableRequest.prototype.destroy = function (error) {\n destroyRequest(this._currentRequest, error);\n destroy.call(this, error);\n return this;\n};\n\n// Writes buffered data to the current native request\nRedirectableRequest.prototype.write = function (data, encoding, callback) {\n // Writing is not allowed if end has been called\n if (this._ending) {\n throw new WriteAfterEndError();\n }\n\n // Validate input and shift parameters if necessary\n if (!isString(data) && !isBuffer(data)) {\n throw new TypeError(\"data should be a string, Buffer or Uint8Array\");\n }\n if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Ignore empty buffers, since writing them doesn't invoke the callback\n // https://github.com/nodejs/node/issues/22066\n if (data.length === 0) {\n if (callback) {\n callback();\n }\n return;\n }\n // Only write when we don't exceed the maximum body length\n if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {\n this._requestBodyLength += data.length;\n this._requestBodyBuffers.push({ data: data, encoding: encoding });\n this._currentRequest.write(data, encoding, callback);\n }\n // Error when we exceed the maximum body length\n else {\n this.emit(\"error\", new MaxBodyLengthExceededError());\n this.abort();\n }\n};\n\n// Ends the current native request\nRedirectableRequest.prototype.end = function (data, encoding, callback) {\n // Shift parameters if necessary\n if (isFunction(data)) {\n callback = data;\n data = encoding = null;\n }\n else if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Write data if needed and end\n if (!data) {\n this._ended = this._ending = true;\n this._currentRequest.end(null, null, callback);\n }\n else {\n var self = this;\n var currentRequest = this._currentRequest;\n this.write(data, encoding, function () {\n self._ended = true;\n currentRequest.end(null, null, callback);\n });\n this._ending = true;\n }\n};\n\n// Sets a header value on the current native request\nRedirectableRequest.prototype.setHeader = function (name, value) {\n this._options.headers[name] = value;\n this._currentRequest.setHeader(name, value);\n};\n\n// Clears a header value on the current native request\nRedirectableRequest.prototype.removeHeader = function (name) {\n delete this._options.headers[name];\n this._currentRequest.removeHeader(name);\n};\n\n// Global timeout for all underlying requests\nRedirectableRequest.prototype.setTimeout = function (msecs, callback) {\n var self = this;\n\n // Destroys the socket on timeout\n function destroyOnTimeout(socket) {\n socket.setTimeout(msecs);\n socket.removeListener(\"timeout\", socket.destroy);\n socket.addListener(\"timeout\", socket.destroy);\n }\n\n // Sets up a timer to trigger a timeout event\n function startTimer(socket) {\n if (self._timeout) {\n clearTimeout(self._timeout);\n }\n self._timeout = setTimeout(function () {\n self.emit(\"timeout\");\n clearTimer();\n }, msecs);\n destroyOnTimeout(socket);\n }\n\n // Stops a timeout from triggering\n function clearTimer() {\n // Clear the timeout\n if (self._timeout) {\n clearTimeout(self._timeout);\n self._timeout = null;\n }\n\n // Clean up all attached listeners\n self.removeListener(\"abort\", clearTimer);\n self.removeListener(\"error\", clearTimer);\n self.removeListener(\"response\", clearTimer);\n self.removeListener(\"close\", clearTimer);\n if (callback) {\n self.removeListener(\"timeout\", callback);\n }\n if (!self.socket) {\n self._currentRequest.removeListener(\"socket\", startTimer);\n }\n }\n\n // Attach callback if passed\n if (callback) {\n this.on(\"timeout\", callback);\n }\n\n // Start the timer if or when the socket is opened\n if (this.socket) {\n startTimer(this.socket);\n }\n else {\n this._currentRequest.once(\"socket\", startTimer);\n }\n\n // Clean up on events\n this.on(\"socket\", destroyOnTimeout);\n this.on(\"abort\", clearTimer);\n this.on(\"error\", clearTimer);\n this.on(\"response\", clearTimer);\n this.on(\"close\", clearTimer);\n\n return this;\n};\n\n// Proxy all other public ClientRequest methods\n[\n \"flushHeaders\", \"getHeader\",\n \"setNoDelay\", \"setSocketKeepAlive\",\n].forEach(function (method) {\n RedirectableRequest.prototype[method] = function (a, b) {\n return this._currentRequest[method](a, b);\n };\n});\n\n// Proxy all public ClientRequest properties\n[\"aborted\", \"connection\", \"socket\"].forEach(function (property) {\n Object.defineProperty(RedirectableRequest.prototype, property, {\n get: function () { return this._currentRequest[property]; },\n });\n});\n\nRedirectableRequest.prototype._sanitizeOptions = function (options) {\n // Ensure headers are always present\n if (!options.headers) {\n options.headers = {};\n }\n\n // Since http.request treats host as an alias of hostname,\n // but the url module interprets host as hostname plus port,\n // eliminate the host property to avoid confusion.\n if (options.host) {\n // Use hostname if set, because it has precedence\n if (!options.hostname) {\n options.hostname = options.host;\n }\n delete options.host;\n }\n\n // Complete the URL object when necessary\n if (!options.pathname && options.path) {\n var searchPos = options.path.indexOf(\"?\");\n if (searchPos < 0) {\n options.pathname = options.path;\n }\n else {\n options.pathname = options.path.substring(0, searchPos);\n options.search = options.path.substring(searchPos);\n }\n }\n};\n\n\n// Executes the next native request (initial or redirect)\nRedirectableRequest.prototype._performRequest = function () {\n // Load the native protocol\n var protocol = this._options.protocol;\n var nativeProtocol = this._options.nativeProtocols[protocol];\n if (!nativeProtocol) {\n throw new TypeError(\"Unsupported protocol \" + protocol);\n }\n\n // If specified, use the agent corresponding to the protocol\n // (HTTP and HTTPS use different types of agents)\n if (this._options.agents) {\n var scheme = protocol.slice(0, -1);\n this._options.agent = this._options.agents[scheme];\n }\n\n // Create the native request and set up its event handlers\n var request = this._currentRequest =\n nativeProtocol.request(this._options, this._onNativeResponse);\n request._redirectable = this;\n for (var event of events) {\n request.on(event, eventHandlers[event]);\n }\n\n // RFC7230\u00A75.3.1: When making a request directly to an origin server, [\u2026]\n // a client MUST send only the absolute path [\u2026] as the request-target.\n this._currentUrl = /^\\//.test(this._options.path) ?\n url.format(this._options) :\n // When making a request to a proxy, [\u2026]\n // a client MUST send the target URI in absolute-form [\u2026].\n this._options.path;\n\n // End a redirected request\n // (The first request must be ended explicitly with RedirectableRequest#end)\n if (this._isRedirect) {\n // Write the request entity and end\n var i = 0;\n var self = this;\n var buffers = this._requestBodyBuffers;\n (function writeNext(error) {\n // Only write if this request has not been redirected yet\n /* istanbul ignore else */\n if (request === self._currentRequest) {\n // Report any write errors\n /* istanbul ignore if */\n if (error) {\n self.emit(\"error\", error);\n }\n // Write the next buffer if there are still left\n else if (i < buffers.length) {\n var buffer = buffers[i++];\n /* istanbul ignore else */\n if (!request.finished) {\n request.write(buffer.data, buffer.encoding, writeNext);\n }\n }\n // End the request if `end` has been called on us\n else if (self._ended) {\n request.end();\n }\n }\n }());\n }\n};\n\n// Processes a response from the current native request\nRedirectableRequest.prototype._processResponse = function (response) {\n // Store the redirected response\n var statusCode = response.statusCode;\n if (this._options.trackRedirects) {\n this._redirects.push({\n url: this._currentUrl,\n headers: response.headers,\n statusCode: statusCode,\n });\n }\n\n // RFC7231\u00A76.4: The 3xx (Redirection) class of status code indicates\n // that further action needs to be taken by the user agent in order to\n // fulfill the request. If a Location header field is provided,\n // the user agent MAY automatically redirect its request to the URI\n // referenced by the Location field value,\n // even if the specific status code is not understood.\n\n // If the response is not a redirect; return it as-is\n var location = response.headers.location;\n if (!location || this._options.followRedirects === false ||\n statusCode < 300 || statusCode >= 400) {\n response.responseUrl = this._currentUrl;\n response.redirects = this._redirects;\n this.emit(\"response\", response);\n\n // Clean up\n this._requestBodyBuffers = [];\n return;\n }\n\n // The response is a redirect, so abort the current request\n destroyRequest(this._currentRequest);\n // Discard the remainder of the response to avoid waiting for data\n response.destroy();\n\n // RFC7231\u00A76.4: A client SHOULD detect and intervene\n // in cyclical redirections (i.e., \"infinite\" redirection loops).\n if (++this._redirectCount > this._options.maxRedirects) {\n throw new TooManyRedirectsError();\n }\n\n // Store the request headers if applicable\n var requestHeaders;\n var beforeRedirect = this._options.beforeRedirect;\n if (beforeRedirect) {\n requestHeaders = Object.assign({\n // The Host header was set by nativeProtocol.request\n Host: response.req.getHeader(\"host\"),\n }, this._options.headers);\n }\n\n // RFC7231\u00A76.4: Automatic redirection needs to done with\n // care for methods not known to be safe, [\u2026]\n // RFC7231\u00A76.4.2\u20133: For historical reasons, a user agent MAY change\n // the request method from POST to GET for the subsequent request.\n var method = this._options.method;\n if ((statusCode === 301 || statusCode === 302) && this._options.method === \"POST\" ||\n // RFC7231\u00A76.4.4: The 303 (See Other) status code indicates that\n // the server is redirecting the user agent to a different resource [\u2026]\n // A user agent can perform a retrieval request targeting that URI\n // (a GET or HEAD request if using HTTP) [\u2026]\n (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) {\n this._options.method = \"GET\";\n // Drop a possible entity and headers related to it\n this._requestBodyBuffers = [];\n removeMatchingHeaders(/^content-/i, this._options.headers);\n }\n\n // Drop the Host header, as the redirect might lead to a different host\n var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);\n\n // If the redirect is relative, carry over the host of the last request\n var currentUrlParts = parseUrl(this._currentUrl);\n var currentHost = currentHostHeader || currentUrlParts.host;\n var currentUrl = /^\\w+:/.test(location) ? this._currentUrl :\n url.format(Object.assign(currentUrlParts, { host: currentHost }));\n\n // Create the redirected request\n var redirectUrl = resolveUrl(location, currentUrl);\n debug(\"redirecting to\", redirectUrl.href);\n this._isRedirect = true;\n spreadUrlObject(redirectUrl, this._options);\n\n // Drop confidential headers when redirecting to a less secure protocol\n // or to a different domain that is not a superdomain\n if (redirectUrl.protocol !== currentUrlParts.protocol &&\n redirectUrl.protocol !== \"https:\" ||\n redirectUrl.host !== currentHost &&\n !isSubdomain(redirectUrl.host, currentHost)) {\n removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers);\n }\n\n // Evaluate the beforeRedirect callback\n if (isFunction(beforeRedirect)) {\n var responseDetails = {\n headers: response.headers,\n statusCode: statusCode,\n };\n var requestDetails = {\n url: currentUrl,\n method: method,\n headers: requestHeaders,\n };\n beforeRedirect(this._options, responseDetails, requestDetails);\n this._sanitizeOptions(this._options);\n }\n\n // Perform the redirected request\n this._performRequest();\n};\n\n// Wraps the key/value object of protocols with redirect functionality\nfunction wrap(protocols) {\n // Default settings\n var exports = {\n maxRedirects: 21,\n maxBodyLength: 10 * 1024 * 1024,\n };\n\n // Wrap each protocol\n var nativeProtocols = {};\n Object.keys(protocols).forEach(function (scheme) {\n var protocol = scheme + \":\";\n var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];\n var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol);\n\n // Executes a request, following redirects\n function request(input, options, callback) {\n // Parse parameters, ensuring that input is an object\n if (isURL(input)) {\n input = spreadUrlObject(input);\n }\n else if (isString(input)) {\n input = spreadUrlObject(parseUrl(input));\n }\n else {\n callback = options;\n options = validateUrl(input);\n input = { protocol: protocol };\n }\n if (isFunction(options)) {\n callback = options;\n options = null;\n }\n\n // Set defaults\n options = Object.assign({\n maxRedirects: exports.maxRedirects,\n maxBodyLength: exports.maxBodyLength,\n }, input, options);\n options.nativeProtocols = nativeProtocols;\n if (!isString(options.host) && !isString(options.hostname)) {\n options.hostname = \"::1\";\n }\n\n assert.equal(options.protocol, protocol, \"protocol mismatch\");\n debug(\"options\", options);\n return new RedirectableRequest(options, callback);\n }\n\n // Executes a GET request, following redirects\n function get(input, options, callback) {\n var wrappedRequest = wrappedProtocol.request(input, options, callback);\n wrappedRequest.end();\n return wrappedRequest;\n }\n\n // Expose the properties on the wrapped protocol\n Object.defineProperties(wrappedProtocol, {\n request: { value: request, configurable: true, enumerable: true, writable: true },\n get: { value: get, configurable: true, enumerable: true, writable: true },\n });\n });\n return exports;\n}\n\nfunction noop() { /* empty */ }\n\nfunction parseUrl(input) {\n var parsed;\n /* istanbul ignore else */\n if (useNativeURL) {\n parsed = new URL(input);\n }\n else {\n // Ensure the URL is valid and absolute\n parsed = validateUrl(url.parse(input));\n if (!isString(parsed.protocol)) {\n throw new InvalidUrlError({ input });\n }\n }\n return parsed;\n}\n\nfunction resolveUrl(relative, base) {\n /* istanbul ignore next */\n return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative));\n}\n\nfunction validateUrl(input) {\n if (/^\\[/.test(input.hostname) && !/^\\[[:0-9a-f]+\\]$/i.test(input.hostname)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n if (/^\\[/.test(input.host) && !/^\\[[:0-9a-f]+\\](:\\d+)?$/i.test(input.host)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n return input;\n}\n\nfunction spreadUrlObject(urlObject, target) {\n var spread = target || {};\n for (var key of preservedUrlFields) {\n spread[key] = urlObject[key];\n }\n\n // Fix IPv6 hostname\n if (spread.hostname.startsWith(\"[\")) {\n spread.hostname = spread.hostname.slice(1, -1);\n }\n // Ensure port is a number\n if (spread.port !== \"\") {\n spread.port = Number(spread.port);\n }\n // Concatenate path\n spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;\n\n return spread;\n}\n\nfunction removeMatchingHeaders(regex, headers) {\n var lastValue;\n for (var header in headers) {\n if (regex.test(header)) {\n lastValue = headers[header];\n delete headers[header];\n }\n }\n return (lastValue === null || typeof lastValue === \"undefined\") ?\n undefined : String(lastValue).trim();\n}\n\nfunction createErrorType(code, message, baseClass) {\n // Create constructor\n function CustomError(properties) {\n Error.captureStackTrace(this, this.constructor);\n Object.assign(this, properties || {});\n this.code = code;\n this.message = this.cause ? message + \": \" + this.cause.message : message;\n }\n\n // Attach constructor and set default properties\n CustomError.prototype = new (baseClass || Error)();\n Object.defineProperties(CustomError.prototype, {\n constructor: {\n value: CustomError,\n enumerable: false,\n },\n name: {\n value: \"Error [\" + code + \"]\",\n enumerable: false,\n },\n });\n return CustomError;\n}\n\nfunction destroyRequest(request, error) {\n for (var event of events) {\n request.removeListener(event, eventHandlers[event]);\n }\n request.on(\"error\", noop);\n request.destroy(error);\n}\n\nfunction isSubdomain(subdomain, domain) {\n assert(isString(subdomain) && isString(domain));\n var dot = subdomain.length - domain.length - 1;\n return dot > 0 && subdomain[dot] === \".\" && subdomain.endsWith(domain);\n}\n\nfunction isString(value) {\n return typeof value === \"string\" || value instanceof String;\n}\n\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\nfunction isBuffer(value) {\n return typeof value === \"object\" && (\"length\" in value);\n}\n\nfunction isURL(value) {\n return URL && value instanceof URL;\n}\n\n// Exports\nmodule.exports = wrap({ http: http, https: https });\nmodule.exports.wrap = wrap;\n", "{\n \"name\": \"axios\",\n \"version\": \"0.21.4\",\n \"description\": \"Promise based HTTP client for the browser and node.js\",\n \"main\": \"index.js\",\n \"scripts\": {\n \"test\": \"grunt test\",\n \"start\": \"node ./sandbox/server.js\",\n \"build\": \"NODE_ENV=production grunt build\",\n \"preversion\": \"npm test\",\n \"version\": \"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json\",\n \"postversion\": \"git push && git push --tags\",\n \"examples\": \"node ./examples/server.js\",\n \"coveralls\": \"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js\",\n \"fix\": \"eslint --fix lib/**/*.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/axios/axios.git\"\n },\n \"keywords\": [\n \"xhr\",\n \"http\",\n \"ajax\",\n \"promise\",\n \"node\"\n ],\n \"author\": \"Matt Zabriskie\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/axios/axios/issues\"\n },\n \"homepage\": \"https://axios-http.com\",\n \"devDependencies\": {\n \"coveralls\": \"^3.0.0\",\n \"es6-promise\": \"^4.2.4\",\n \"grunt\": \"^1.3.0\",\n \"grunt-banner\": \"^0.6.0\",\n \"grunt-cli\": \"^1.2.0\",\n \"grunt-contrib-clean\": \"^1.1.0\",\n \"grunt-contrib-watch\": \"^1.0.0\",\n \"grunt-eslint\": \"^23.0.0\",\n \"grunt-karma\": \"^4.0.0\",\n \"grunt-mocha-test\": \"^0.13.3\",\n \"grunt-ts\": \"^6.0.0-beta.19\",\n \"grunt-webpack\": \"^4.0.2\",\n \"istanbul-instrumenter-loader\": \"^1.0.0\",\n \"jasmine-core\": \"^2.4.1\",\n \"karma\": \"^6.3.2\",\n \"karma-chrome-launcher\": \"^3.1.0\",\n \"karma-firefox-launcher\": \"^2.1.0\",\n \"karma-jasmine\": \"^1.1.1\",\n \"karma-jasmine-ajax\": \"^0.1.13\",\n \"karma-safari-launcher\": \"^1.0.0\",\n \"karma-sauce-launcher\": \"^4.3.6\",\n \"karma-sinon\": \"^1.0.5\",\n \"karma-sourcemap-loader\": \"^0.3.8\",\n \"karma-webpack\": \"^4.0.2\",\n \"load-grunt-tasks\": \"^3.5.2\",\n \"minimist\": \"^1.2.0\",\n \"mocha\": \"^8.2.1\",\n \"sinon\": \"^4.5.0\",\n \"terser-webpack-plugin\": \"^4.2.3\",\n \"typescript\": \"^4.0.5\",\n \"url-search-params\": \"^0.10.0\",\n \"webpack\": \"^4.44.2\",\n \"webpack-dev-server\": \"^3.11.0\"\n },\n \"browser\": {\n \"./lib/adapters/http.js\": \"./lib/adapters/xhr.js\"\n },\n \"jsdelivr\": \"dist/axios.min.js\",\n \"unpkg\": \"dist/axios.min.js\",\n \"typings\": \"./index.d.ts\",\n \"dependencies\": {\n \"follow-redirects\": \"^1.14.0\"\n },\n \"bundlesize\": [\n {\n \"path\": \"./dist/axios.min.js\",\n \"threshold\": \"5kB\"\n }\n ]\n}\n", "'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildFullPath = require('../core/buildFullPath');\nvar buildURL = require('./../helpers/buildURL');\nvar http = require('http');\nvar https = require('https');\nvar httpFollow = require('follow-redirects').http;\nvar httpsFollow = require('follow-redirects').https;\nvar url = require('url');\nvar zlib = require('zlib');\nvar pkg = require('./../../package.json');\nvar createError = require('../core/createError');\nvar enhanceError = require('../core/enhanceError');\n\nvar isHttps = /https:?/;\n\n/**\n *\n * @param {http.ClientRequestArgs} options\n * @param {AxiosProxyConfig} proxy\n * @param {string} location\n */\nfunction setProxy(options, proxy, location) {\n options.hostname = proxy.host;\n options.host = proxy.host;\n options.port = proxy.port;\n options.path = location;\n\n // Basic proxy authorization\n if (proxy.auth) {\n var base64 = Buffer.from(proxy.auth.username + ':' + proxy.auth.password, 'utf8').toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n\n // If a proxy is used, any redirects must also pass through the proxy\n options.beforeRedirect = function beforeRedirect(redirection) {\n redirection.headers.host = redirection.host;\n setProxy(redirection, proxy, redirection.href);\n };\n}\n\n/*eslint consistent-return:0*/\nmodule.exports = function httpAdapter(config) {\n return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) {\n var resolve = function resolve(value) {\n resolvePromise(value);\n };\n var reject = function reject(value) {\n rejectPromise(value);\n };\n var data = config.data;\n var headers = config.headers;\n\n // Set User-Agent (required by some servers)\n // See https://github.com/axios/axios/issues/69\n if ('User-Agent' in headers || 'user-agent' in headers) {\n // User-Agent is specified; handle case where no UA header is desired\n if (!headers['User-Agent'] && !headers['user-agent']) {\n delete headers['User-Agent'];\n delete headers['user-agent'];\n }\n // Otherwise, use specified value\n } else {\n // Only set header if it hasn't been set in config\n headers['User-Agent'] = 'axios/' + pkg.version;\n }\n\n if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(createError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n config\n ));\n }\n\n // Add Content-Length header if data exists\n headers['Content-Length'] = data.length;\n }\n\n // HTTP basic authentication\n var auth = undefined;\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n // Parse url\n var fullPath = buildFullPath(config.baseURL, config.url);\n var parsed = url.parse(fullPath);\n var protocol = parsed.protocol || 'http:';\n\n if (!auth && parsed.auth) {\n var urlAuth = parsed.auth.split(':');\n var urlUsername = urlAuth[0] || '';\n var urlPassword = urlAuth[1] || '';\n auth = urlUsername + ':' + urlPassword;\n }\n\n if (auth) {\n delete headers.Authorization;\n }\n\n var isHttpsRequest = isHttps.test(protocol);\n var agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n\n var options = {\n path: buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\\?/, ''),\n method: config.method.toUpperCase(),\n headers: headers,\n agent: agent,\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth: auth\n };\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname;\n options.port = parsed.port;\n }\n\n var proxy = config.proxy;\n if (!proxy && proxy !== false) {\n var proxyEnv = protocol.slice(0, -1) + '_proxy';\n var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()];\n if (proxyUrl) {\n var parsedProxyUrl = url.parse(proxyUrl);\n var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY;\n var shouldProxy = true;\n\n if (noProxyEnv) {\n var noProxy = noProxyEnv.split(',').map(function trim(s) {\n return s.trim();\n });\n\n shouldProxy = !noProxy.some(function proxyMatch(proxyElement) {\n if (!proxyElement) {\n return false;\n }\n if (proxyElement === '*') {\n return true;\n }\n if (proxyElement[0] === '.' &&\n parsed.hostname.substr(parsed.hostname.length - proxyElement.length) === proxyElement) {\n return true;\n }\n\n return parsed.hostname === proxyElement;\n });\n }\n\n if (shouldProxy) {\n proxy = {\n host: parsedProxyUrl.hostname,\n port: parsedProxyUrl.port,\n protocol: parsedProxyUrl.protocol\n };\n\n if (parsedProxyUrl.auth) {\n var proxyUrlAuth = parsedProxyUrl.auth.split(':');\n proxy.auth = {\n username: proxyUrlAuth[0],\n password: proxyUrlAuth[1]\n };\n }\n }\n }\n }\n\n if (proxy) {\n options.headers.host = parsed.hostname + (parsed.port ? ':' + parsed.port : '');\n setProxy(options, proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path);\n }\n\n var transport;\n var isHttpsProxy = isHttpsRequest && (proxy ? isHttps.test(proxy.protocol) : true);\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsProxy ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n transport = isHttpsProxy ? httpsFollow : httpFollow;\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n }\n\n // Create the request\n var req = transport.request(options, function handleResponse(res) {\n if (req.aborted) return;\n\n // uncompress the response body transparently if required\n var stream = res;\n\n // return the last request in case of redirects\n var lastRequest = res.req || req;\n\n\n // if no content, is HEAD request or decompress disabled we should not decompress\n if (res.statusCode !== 204 && lastRequest.method !== 'HEAD' && config.decompress !== false) {\n switch (res.headers['content-encoding']) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'compress':\n case 'deflate':\n // add the unzipper to the body stream processing pipeline\n stream = stream.pipe(zlib.createUnzip());\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n }\n }\n\n var response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: res.headers,\n config: config,\n request: lastRequest\n };\n\n if (config.responseType === 'stream') {\n response.data = stream;\n settle(resolve, reject, response);\n } else {\n var responseBuffer = [];\n var totalResponseBytes = 0;\n stream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n totalResponseBytes += chunk.length;\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {\n stream.destroy();\n reject(createError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n config, null, lastRequest));\n }\n });\n\n stream.on('error', function handleStreamError(err) {\n if (req.aborted) return;\n reject(enhanceError(err, config, null, lastRequest));\n });\n\n stream.on('end', function handleStreamEnd() {\n var responseData = Buffer.concat(responseBuffer);\n if (config.responseType !== 'arraybuffer') {\n responseData = responseData.toString(config.responseEncoding);\n if (!config.responseEncoding || config.responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n\n response.data = responseData;\n settle(resolve, reject, response);\n });\n }\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n if (req.aborted && err.code !== 'ERR_FR_TOO_MANY_REDIRECTS') return;\n reject(enhanceError(err, config, null, req));\n });\n\n // Handle request timeout\n if (config.timeout) {\n // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.\n var timeout = parseInt(config.timeout, 10);\n\n if (isNaN(timeout)) {\n reject(createError(\n 'error trying to parse `config.timeout` to int',\n config,\n 'ERR_PARSE_TIMEOUT',\n req\n ));\n\n return;\n }\n\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devoring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(timeout, function handleRequestTimeout() {\n req.abort();\n reject(createError(\n 'timeout of ' + timeout + 'ms exceeded',\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n req\n ));\n });\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (req.aborted) return;\n\n req.abort();\n reject(cancel);\n });\n }\n\n // Send the request\n if (utils.isStream(data)) {\n data.on('error', function handleStreamError(err) {\n reject(enhanceError(err, config, null, req));\n }).pipe(req);\n } else {\n req.end(data);\n }\n });\n};\n", "'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n", "'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n", "'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n", "'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n", "'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n", "'use strict';\n\nvar pkg = require('./../../package.json');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.version + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed in ' + version));\n }\n\n if (isDeprecated && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n isOlderVersion: isOlderVersion,\n assertOptions: assertOptions,\n validators: validators\n};\n", "'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n", "'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n", "'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n", "'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n", "'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n", "'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n", "module.exports = require('./lib/axios');", null, null, "import React, { ReactElement, useState } from \"react\";\nimport { List, showToast, Toast, Action, Icon, ActionPanel } from \"@raycast/api\";\nimport { usePromise } from \"@raycast/utils\";\nimport { useDebouncedValue, usePreferences, useSelectedLanguagesSet, useTextState } from \"./hooks\";\nimport { getLanguageFlag, supportedLanguagesByCode } from \"./languages\";\nimport { LanguageManagerListDropdown } from \"./LanguagesManager\";\nimport { doubleWayTranslate, simpleTranslate, playTTS } from \"./simple-translate\";\nimport { ConfigurableCopyPasteActions, OpenOnGoogleTranslateWebsiteAction, ToggleFullTextAction } from \"./actions\";\nimport { LanguageCodeSet } from \"./types\";\n\nconst DoubleWayTranslateItem: React.FC<{\n value: string;\n selectedLanguageSet: LanguageCodeSet;\n toggleShowingDetail: () => void;\n}> = ({ toggleShowingDetail, value, selectedLanguageSet }) => {\n const { data: results } = usePromise(doubleWayTranslate, [value, selectedLanguageSet], {\n onError(error) {\n showToast({\n style: Toast.Style.Failure,\n title: \"Could not translate\",\n message: error.toString(),\n });\n },\n });\n\n return (\n <>\n {results?.map((r, index) => {\n const langFrom = supportedLanguagesByCode[r.langFrom];\n const langTo = supportedLanguagesByCode[r.langTo];\n const languages = `${getLanguageFlag(langFrom, langFrom?.code)} -> ${getLanguageFlag(langTo, langTo?.code)}`;\n const tooltip = `${langFrom?.name ?? langFrom?.code} -> ${langTo?.name ?? langTo?.code}`;\n return (\n <React.Fragment key={index}>\n <List.Item\n title={r.translatedText}\n accessories={[{ text: languages, tooltip: tooltip }]}\n detail={<List.Item.Detail markdown={r.translatedText} />}\n actions={\n <ActionPanel>\n <ActionPanel.Section>\n <ConfigurableCopyPasteActions defaultActionsPrefix=\"Translation\" value={r.translatedText} />\n <ToggleFullTextAction onAction={() => toggleShowingDetail()} />\n <Action\n title=\"Play Text-To-Speech\"\n icon={Icon.Play}\n shortcut={{ modifiers: [\"cmd\"], key: \"t\" }}\n onAction={() => playTTS(r.translatedText, r.langTo)}\n />\n <OpenOnGoogleTranslateWebsiteAction translationText={value} translation={r} />\n </ActionPanel.Section>\n </ActionPanel>\n }\n />\n {r.pronunciationText && (\n <List.Item\n title={r.pronunciationText}\n accessories={[{ text: languages, tooltip: tooltip }]}\n detail={<List.Item.Detail markdown={r.pronunciationText} />}\n actions={\n <ActionPanel>\n <ActionPanel.Section>\n <ConfigurableCopyPasteActions value={r.pronunciationText} />\n <ToggleFullTextAction onAction={() => toggleShowingDetail()} />\n <OpenOnGoogleTranslateWebsiteAction translationText={value} translation={r} />\n </ActionPanel.Section>\n </ActionPanel>\n }\n />\n )}\n </React.Fragment>\n );\n })}\n </>\n );\n};\n\nconst TranslateItem: React.FC<{\n value: string;\n selectedLanguageSet: LanguageCodeSet;\n toggleShowingDetail: () => void;\n}> = ({ toggleShowingDetail, value, selectedLanguageSet }) => {\n const { data: result, isLoading } = usePromise(simpleTranslate, [value, selectedLanguageSet], {\n onError(error) {\n showToast({\n style: Toast.Style.Failure,\n title: \"Could not translate\",\n message: error.toString(),\n });\n },\n });\n\n const langFromCode = result?.langFrom ?? selectedLanguageSet.langFrom;\n const langToCode = result?.langTo ?? selectedLanguageSet.langTo[0];\n\n const langFrom = supportedLanguagesByCode[langFromCode];\n const langTo = supportedLanguagesByCode[langToCode];\n const languages = `${getLanguageFlag(langFrom, langFrom?.code)} -> ${getLanguageFlag(langTo, langTo?.code)}`;\n const tooltip = `${langFrom?.name ?? langFrom?.code} -> ${langTo?.name ?? langTo?.code}`;\n\n return (\n <List.Item\n title={result?.translatedText ?? \"\"}\n subtitle={isLoading ? \"Translating...\" : undefined}\n accessories={[{ text: languages, tooltip: tooltip }]}\n detail={<List.Item.Detail markdown={result?.translatedText ?? \"\"} />}\n actions={\n <ActionPanel>\n <ActionPanel.Section>\n <ConfigurableCopyPasteActions defaultActionsPrefix=\"Translation\" value={result?.translatedText ?? \"\"} />\n <ToggleFullTextAction onAction={() => toggleShowingDetail()} />\n {result && (\n <Action\n title=\"Play Text-To-Speech\"\n icon={Icon.Play}\n shortcut={{ modifiers: [\"cmd\"], key: \"t\" }}\n onAction={() => playTTS(result.translatedText, langToCode)}\n />\n )}\n {result && <OpenOnGoogleTranslateWebsiteAction translationText={value} translation={result} />}\n </ActionPanel.Section>\n </ActionPanel>\n }\n />\n );\n};\n\nexport default function Translate(): ReactElement {\n const [selectedLanguageSet] = useSelectedLanguagesSet();\n const { proxy } = usePreferences();\n const [isShowingDetail, setIsShowingDetail] = useState(false);\n const [text, setText] = useTextState();\n const debouncedValue = useDebouncedValue(text, 500);\n\n return (\n <List\n searchBarPlaceholder=\"Enter text to translate\"\n searchText={text}\n onSearchTextChange={setText}\n isShowingDetail={isShowingDetail}\n searchBarAccessory={<LanguageManagerListDropdown />}\n >\n {selectedLanguageSet.langTo.length === 1 ? (\n <DoubleWayTranslateItem\n value={debouncedValue}\n selectedLanguageSet={selectedLanguageSet}\n toggleShowingDetail={() => setIsShowingDetail(!isShowingDetail)}\n />\n ) : (\n selectedLanguageSet.langTo.map((langTo, index) => (\n <TranslateItem\n key={`${index} ${langTo}`}\n value={debouncedValue}\n selectedLanguageSet={{ langFrom: selectedLanguageSet.langFrom, langTo: [langTo], proxy }}\n toggleShowingDetail={() => setIsShowingDetail(!isShowingDetail)}\n />\n ))\n )}\n </List>\n );\n}\n", "import { getPreferenceValues, getSelectedText } from \"@raycast/api\";\nimport { useCachedState } from \"@raycast/utils\";\nimport React from \"react\";\nimport { LanguageCode } from \"./languages\";\nimport { LanguageCodeSet, TranslatePreferences } from \"./types\";\nimport { AUTO_DETECT } from \"./simple-translate\";\n\ntype _LegacySingleLanguageCodeSet = {\n langFrom: LanguageCode;\n langTo: LanguageCode;\n};\n\ntype _StoredLanguageCodeSet = _LegacySingleLanguageCodeSet | LanguageCodeSet;\n\nconst unifyLegacyLanguageSet = (legacy: _StoredLanguageCodeSet): LanguageCodeSet => {\n return {\n langFrom: legacy.langFrom,\n langTo: Array.isArray(legacy.langTo) ? legacy.langTo : [legacy.langTo],\n };\n};\n\nexport const usePreferences = () => {\n return React.useMemo(() => getPreferenceValues<TranslatePreferences>(), []);\n};\n\nexport const useTextState = () => {\n const preferences = usePreferences();\n const [text, setText] = React.useState(\"\");\n const textRef = React.useRef(text);\n textRef.current = text;\n\n React.useEffect(() => {\n if (preferences.autoInput) {\n getSelectedText()\n .then((cbText) => {\n if (!textRef.current) {\n setText(cbText ?? \"\");\n }\n })\n .catch((err) => {\n console.log(\"Error:\", err);\n });\n }\n }, []);\n\n return [text, setText] as const;\n};\n\nexport const useSelectedLanguagesSet = () => {\n const preferences = usePreferences();\n const [selectedLanguageSet, setSelectedLanguageSet] = useCachedState<_StoredLanguageCodeSet>(\n \"selectedLanguageSet\",\n unifyLegacyLanguageSet({\n langFrom: preferences.lang1,\n langTo: preferences.lang2,\n }),\n );\n\n return [unifyLegacyLanguageSet(selectedLanguageSet), setSelectedLanguageSet] as const;\n};\n\nexport const usePreferencesLanguageSet = () => {\n const preferences = usePreferences();\n const preferencesLanguageSet: LanguageCodeSet = { langFrom: preferences.lang1, langTo: [preferences.lang2] };\n return preferencesLanguageSet;\n};\n\nexport const useDebouncedValue = <T>(value: T, delay: number) => {\n const [debouncedValue, setDebouncedValue] = React.useState<T>(value);\n\n React.useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n};\n\nexport const useAllLanguageSets = () => {\n const [languages, setLanguages] = useCachedState<_StoredLanguageCodeSet[]>(\"languages\", []);\n\n return [languages.map(unifyLegacyLanguageSet), setLanguages] as const;\n};\n\nexport const useSourceLanguage = () => {\n const [sourceLanguage, setSourceLanguage] = useCachedState<LanguageCode>(\"sourceLanguage\", AUTO_DETECT);\n\n return [sourceLanguage, setSourceLanguage] as const;\n};\n\nexport const useTargetLanguages = () => {\n const preferences = usePreferences();\n const [targetLanguages, setTargetLanguages] = useCachedState<LanguageCode[]>(\n \"targetLanguages\",\n [preferences.lang1, preferences.lang2].filter((lang) => lang !== AUTO_DETECT),\n );\n\n return [targetLanguages, setTargetLanguages] as const;\n};\n", "/**\n * Source https://github.com/iamtraction/google-translate\n * MIT License\n */\nimport querystring from \"querystring\";\nimport { request, ProxyAgent } from \"undici\";\nimport { TranslateOption, TranslateResponse } from \"./types\";\nimport { isSupported, getISOCode } from \"./languages\";\nimport { tokenGenerator } from \"./tokenGenerator\";\n\n/**\n * @function translate\n * @param {String} text The text to be translated.\n * @param {TranslateOption} options The options object for the translator.\n * @returns {TranslateResponse} The result containing the translation.\n */\nexport async function translate(text: string, options?: TranslateOption): Promise<TranslateResponse> {\n if (typeof options !== \"object\") options = {};\n text = String(text);\n\n // Check if a lanugage is in supported; if not, throw an error object.\n let error: Error | null = null;\n [ options.from, options.to ].forEach((lang) => {\n if (lang && !isSupported(lang)) {\n error = new Error();\n error.message = `The language '${lang}' is not supported.`;\n }\n });\n if (error) throw error;\n\n // If options object doesn\"t have \"from\" language, set it to \"auto\".\n if (!Object.prototype.hasOwnProperty.call(options, \"from\")) options.from = \"auto\";\n // If options object doesn\"t have \"to\" language, set it to \"en\".\n if (!Object.prototype.hasOwnProperty.call(options, \"to\")) options.to = \"en\";\n // If options object has a \"raw\" property evaluating to true, set it to true.\n options.raw = Boolean(options.raw);\n\n // Get ISO 639-1 codes for the languages.\n options.from = getISOCode(options.from);\n options.to = getISOCode(options.to);\n\n // Generate Google Translate token for the text to be translated.\n let token: any = await tokenGenerator(text);\n\n // URL & query string required by Google Translate.\n let baseUrl = \"https://translate.google.com/translate_a/single\";\n let data: any = {\n client: \"gtx\",\n sl: options.from,\n tl: options.to,\n hl: options.to,\n dt: [ \"at\", \"bd\", \"ex\", \"ld\", \"md\", \"qca\", \"rw\", \"rm\", \"ss\", \"t\" ],\n ie: \"UTF-8\",\n oe: \"UTF-8\",\n otf: 1,\n ssel: 0,\n tsel: 0,\n kc: 7,\n q: text,\n [token.name]: token.value\n };\n\n // Append query string to the request URL.\n let url = `${baseUrl}?${querystring.stringify(data)}`;\n\n let requestOptions: any;\n let requestUrl = url;\n // If request URL is greater than 2048 characters, use POST method.\n if (url.length > 2048) {\n delete data.q;\n requestUrl = `${baseUrl}?${querystring.stringify(data)}`;\n requestOptions = {\n method: \"POST\",\n body: new URLSearchParams({ q: text }).toString(),\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded;charset=UTF-8\",\n },\n };\n if (options.proxy) {\n requestOptions.dispatcher = new ProxyAgent(options.proxy);\n }\n }\n else {\n if (options.proxy) {\n requestOptions = { dispatcher: new ProxyAgent(options.proxy) };\n }\n }\n\n // Request translation from Google Translate.\n let response = await request(requestUrl, requestOptions);\n let body: any = await response.body.json();\n\n let result: TranslateResponse = {\n text: \"\",\n from: {\n language: {\n didYouMean: false,\n iso: \"\"\n },\n text: {\n autoCorrected: false,\n value: \"\",\n didYouMean: false\n }\n },\n raw: \"\"\n };\n\n // If user requested a raw output, add the raw response to the result\n if (options.raw) {\n result.raw = body;\n }\n\n // Parse body and add it to the result object.\n body[0].forEach((obj: any) => {\n if (obj[0]) {\n result.text += obj[0];\n }\n });\n\n if (body[2] === body[8][0][0]) {\n result.from.language.iso = body[2];\n }\n else {\n result.from.language.didYouMean = true;\n result.from.language.iso = body[8][0][0];\n }\n\n if (body[7] && body[7][0]) {\n let str = body[7][0];\n\n str = str.replace(/<b><i>/g, \"[\");\n str = str.replace(/<\\/i><\\/b>/g, \"]\");\n\n result.from.text.value = str;\n\n if (body[7][5] === true) {\n result.from.text.autoCorrected = true;\n }\n else {\n result.from.text.didYouMean = true;\n }\n }\n\n return result;\n}\n", "/**\n * Generated from https://translate.google.com\n *\n * The languages that Google Translate supports (as of 7/5/2020) alongside\n * their ISO 639-1 codes\n * @see https://cloud.google.com/translate/docs/languages\n * @see https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\n */\n\nexport const languages: any = {\n \"auto\": \"Automatic\",\n \"af\": \"Afrikaans\",\n \"sq\": \"Albanian\",\n \"am\": \"Amharic\",\n \"ar\": \"Arabic\",\n \"hy\": \"Armenian\",\n \"az\": \"Azerbaijani\",\n \"eu\": \"Basque\",\n \"be\": \"Belarusian\",\n \"bn\": \"Bengali\",\n \"bs\": \"Bosnian\",\n \"bg\": \"Bulgarian\",\n \"ca\": \"Catalan\",\n \"ceb\": \"Cebuano\",\n \"ny\": \"Chichewa\",\n \"zh-cn\": \"Chinese Simplified\",\n \"zh-tw\": \"Chinese Traditional\",\n \"co\": \"Corsican\",\n \"hr\": \"Croatian\",\n \"cs\": \"Czech\",\n \"da\": \"Danish\",\n \"nl\": \"Dutch\",\n \"en\": \"English\",\n \"eo\": \"Esperanto\",\n \"et\": \"Estonian\",\n \"tl\": \"Filipino\",\n \"fi\": \"Finnish\",\n \"fr\": \"French\",\n \"fy\": \"Frisian\",\n \"gl\": \"Galician\",\n \"ka\": \"Georgian\",\n \"de\": \"German\",\n \"el\": \"Greek\",\n \"gu\": \"Gujarati\",\n \"ht\": \"Haitian Creole\",\n \"ha\": \"Hausa\",\n \"haw\": \"Hawaiian\",\n \"iw\": \"Hebrew\",\n \"hi\": \"Hindi\",\n \"hmn\": \"Hmong\",\n \"hu\": \"Hungarian\",\n \"is\": \"Icelandic\",\n \"ig\": \"Igbo\",\n \"id\": \"Indonesian\",\n \"ga\": \"Irish\",\n \"it\": \"Italian\",\n \"ja\": \"Japanese\",\n \"jw\": \"Javanese\",\n \"kn\": \"Kannada\",\n \"kk\": \"Kazakh\",\n \"km\": \"Khmer\",\n \"ko\": \"Korean\",\n \"ku\": \"Kurdish (Kurmanji)\",\n \"ky\": \"Kyrgyz\",\n \"lo\": \"Lao\",\n \"la\": \"Latin\",\n \"lv\": \"Latvian\",\n \"lt\": \"Lithuanian\",\n \"lb\": \"Luxembourgish\",\n \"mk\": \"Macedonian\",\n \"mg\": \"Malagasy\",\n \"ms\": \"Malay\",\n \"ml\": \"Malayalam\",\n \"mt\": \"Maltese\",\n \"mi\": \"Maori\",\n \"mr\": \"Marathi\",\n \"mn\": \"Mongolian\",\n \"my\": \"Myanmar (Burmese)\",\n \"ne\": \"Nepali\",\n \"no\": \"Norwegian\",\n \"ps\": \"Pashto\",\n \"fa\": \"Persian\",\n \"pl\": \"Polish\",\n \"pt\": \"Portuguese\",\n \"pa\": \"Punjabi\",\n \"ro\": \"Romanian\",\n \"ru\": \"Russian\",\n \"sm\": \"Samoan\",\n \"gd\": \"Scots Gaelic\",\n \"sr\": \"Serbian\",\n \"st\": \"Sesotho\",\n \"sn\": \"Shona\",\n \"sd\": \"Sindhi\",\n \"si\": \"Sinhala\",\n \"sk\": \"Slovak\",\n \"sl\": \"Slovenian\",\n \"so\": \"Somali\",\n \"es\": \"Spanish\",\n \"su\": \"Sundanese\",\n \"sw\": \"Swahili\",\n \"sv\": \"Swedish\",\n \"tg\": \"Tajik\",\n \"ta\": \"Tamil\",\n \"te\": \"Telugu\",\n \"th\": \"Thai\",\n \"tr\": \"Turkish\",\n \"uk\": \"Ukrainian\",\n \"ur\": \"Urdu\",\n \"uz\": \"Uzbek\",\n \"vi\": \"Vietnamese\",\n \"cy\": \"Welsh\",\n \"xh\": \"Xhosa\",\n \"yi\": \"Yiddish\",\n \"yo\": \"Yoruba\",\n \"zu\": \"Zulu\"\n};\n\n/**\n * Returns the ISO 639-1 code of the desiredLang \u2013 if it is supported by\n * Google Translate\n * @param {string} language The name or the code of the desired language\n * @returns {string|undefined} The ISO 639-1 code of the language or null if the\n * language is not supported\n */\nexport function getISOCode(language: string | undefined) {\n if (!language) return undefined;\n language = language.toLowerCase();\n if (language in languages) return language;\n\n let keys = Object.keys(languages).filter((key) => {\n if (typeof languages[key] !== \"string\") return false;\n\n return languages[key].toLowerCase() === language;\n });\n\n return keys[0] || undefined;\n}\n\n/**\n * Returns true if the desiredLang is supported by Google Translate and false otherwise\n * @param {string} language The ISO 639-1 code or the name of the desired language.\n * @returns {boolean} If the language is supported or not.\n */\nexport function isSupported(language: string | undefined) {\n return Boolean(getISOCode(language));\n}\n", "/**\n * Source https://github.com/iamtraction/google-translate\n * MIT License\n */\n\nimport { request } from \"undici\";\n\nfunction zr(a: string) {\n let b: any;\n if (null !== yr) b = yr;\n else {\n b = wr(String.fromCharCode(84));\n let c = wr(String.fromCharCode(75));\n b = [ b(), b() ];\n b[1] = c();\n b = (yr = window[b.join(c())] || \"\") || \"\";\n }\n let d: any = wr(String.fromCharCode(116));\n let c: any = wr(String.fromCharCode(107));\n d = [ d(), d() ];\n d[1] = c();\n c = \"&\" + d.join(\"\") + \"=\";\n d = b.split(\".\");\n b = Number(d[0]) || 0;\n\n for (var e: any[] = [], f = 0, g = 0; g < a.length; g++) {\n let l = a.charCodeAt(g);\n 128 > l ? e[f++] = l : (2048 > l ? e[f++] = l >> 6 | 192 : ((l & 64512) == 55296 && g + 1 < a.length && (a.charCodeAt(g + 1) & 64512) == 56320 ? (l = 65536 + ((l & 1023) << 10) + (a.charCodeAt(++g) & 1023), e[f++] = l >> 18 | 240, e[f++] = l >> 12 & 63 | 128) : e[f++] = l >> 12 | 224, e[f++] = l >> 6 & 63 | 128), e[f++] = l & 63 | 128);\n }\n let h: number = Number(b);\n for (let f = 0; f < e.length; f++) a += e[f], h = xr(h, \"+-a^+6\");\n h = xr(h, \"+-3^+b+-f\");\n h ^= Number(d[1]) || 0;\n 0 > h && (h = (h & 2147483647) + 2147483648);\n h %= 1E6;\n return c + (a.toString() + \".\" + (h ^ b));\n}\n\nlet yr: string | null = null;\nlet wr = function(a: string) {\n return function() {\n return a;\n };\n};\nlet xr = function(a: number, b: string) {\n for (let c = 0; c < b.length - 2; c += 3) {\n let d = b.charAt(c + 2);\n let e = d >= \"a\" ? d.charCodeAt(0) - 87 : Number(d);\n e = b.charAt(c + 1) == \"+\" ? a >>> e : a << e;\n a = b.charAt(c) == \"+\" ? a + e & 4294967295 : a ^ e;\n }\n return a;\n};\n\nconst config = new Map();\n\nconst window: any = {\n TKK: config.get(\"TKK\") || \"0\"\n};\n\nasync function updateTKK() {\n let now = Math.floor(Date.now() / 3600000);\n\n if (Number(window.TKK.split(\".\")[0]) !== now) {\n const response = await request(\"https://translate.google.com\");\n const body = await response.body.text();\n\n // code will extract something like tkk:'1232135.131231321312', we need only value\n const code = body.match(/tkk:'\\d+.\\d+'/g);\n\n if (code && code.length > 0) {\n // extracting value tkk:'1232135.131231321312', this will extract only token: 1232135.131231321312\n const xt = code[0].split(\":\")[1].replace(/'/g, \"\");\n\n window.TKK = xt;\n config.set(\"TKK\", xt);\n }\n }\n}\n\nexport async function tokenGenerator(text: string) {\n try {\n await updateTKK();\n\n let tk = zr(text);\n tk = tk.replace(\"&tk=\", \"\");\n return { name: \"tk\", value: tk };\n }\n catch (error) {\n return error;\n }\n}\n", "import { translate } from \"../vendor/@iamtraction-translate/src\";\nimport * as googleTTS from \"google-tts-api\";\nimport * as os from \"os\";\nimport * as path from \"path\";\nimport * as https from \"https\";\nimport * as child_process from \"child_process\";\nimport { existsSync, writeFileSync, unlinkSync } from \"fs\";\nimport { LanguageCode } from \"./languages\";\nimport { LanguageCodeSet } from \"./types\";\n\nexport const AUTO_DETECT = \"auto\";\n\nexport type SimpleTranslateResult = {\n originalText: string;\n translatedText: string;\n pronunciationText?: string;\n langFrom: LanguageCode;\n langTo: LanguageCode;\n};\n\nexport class TranslateError extends Error {}\n\nconst extractPronounceTextFromRaw = (raw: string) => {\n return raw?.[0]?.[1]?.[2];\n};\n\nexport async function simpleTranslate(text: string, options: LanguageCodeSet): Promise<SimpleTranslateResult> {\n try {\n if (!text) {\n return {\n originalText: text,\n translatedText: \"\",\n pronunciationText: \"\",\n langFrom: options.langFrom,\n langTo: options.langTo[0],\n };\n }\n\n const translated = await translate(text, {\n from: options.langFrom,\n to: options.langTo[0],\n raw: true,\n proxy: options.proxy,\n });\n\n return {\n originalText: text,\n translatedText: translated.text,\n pronunciationText: extractPronounceTextFromRaw(translated?.raw),\n langFrom: translated?.from?.language?.iso as LanguageCode,\n langTo: options.langTo[0],\n };\n } catch (err) {\n if (err instanceof Error) {\n if (err.name === \"TooManyRequestsError\") {\n const error = new TranslateError();\n error.name = \"Too many requests\";\n error.message = \"please try again later\";\n throw error;\n }\n\n const error = new TranslateError();\n error.name = err.name;\n error.message = err.message;\n throw error;\n }\n\n throw err;\n }\n}\n\nexport async function doubleWayTranslate(text: string, options: LanguageCodeSet) {\n if (!text) {\n return [];\n }\n\n if (options.langFrom === AUTO_DETECT) {\n const translated1 = await simpleTranslate(text, {\n langFrom: options.langFrom,\n langTo: options.langTo,\n });\n\n if (translated1?.langFrom) {\n const translated2 = await simpleTranslate(translated1.translatedText, {\n langFrom: options.langTo[0],\n langTo: [translated1.langFrom],\n });\n\n return [translated1, translated2];\n }\n\n return [];\n } else {\n return await Promise.all([\n simpleTranslate(text, {\n langFrom: options.langFrom,\n langTo: options.langTo,\n }),\n simpleTranslate(text, {\n langFrom: options.langTo[0],\n langTo: [options.langFrom],\n }),\n ]);\n }\n}\n\nexport async function playTTS(text: string, langTo: string) {\n const audioUrl = googleTTS.getAudioUrl(text, {\n lang: langTo,\n slow: false,\n host: \"https://translate.google.com\",\n });\n https.get(audioUrl, (response) => {\n const chunks: Uint8Array[] = [];\n\n response.on(\"data\", (chunk) => {\n chunks.push(chunk);\n });\n\n response.on(\"end\", () => {\n const audioData = Buffer.concat(chunks);\n\n const tempFilePath = path.join(os.tmpdir(), \"translation.mp3\");\n writeFileSync(tempFilePath, audioData);\n\n // Play the audio file using afplay\n const afplayProcess = child_process.spawn(\"afplay\", [tempFilePath]);\n\n afplayProcess.on(\"exit\", (code) => {\n if (code !== 0) {\n console.error(\"Error playing audio\");\n }\n if (existsSync(tempFilePath)) {\n unlinkSync(tempFilePath);\n }\n });\n });\n });\n}\n", "{\n \"Auto-detect\": {\n \"code\": \"auto\",\n \"name\": \"Auto-detect\",\n \"flag\": \"\uD83C\uDF10\"\n },\n \"Afrikaans\": {\n \"code\": \"af\",\n \"name\": \"Afrikaans\",\n \"flag\": \"\uD83C\uDDFF\uD83C\uDDE6\"\n },\n \"Albanian\": {\n \"code\": \"sq\",\n \"name\": \"Albanian\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDF1\"\n },\n \"Amharic\": {\n \"code\": \"am\",\n \"name\": \"Amharic\"\n },\n \"Arabic\": {\n \"code\": \"ar\",\n \"name\": \"Arabic\"\n },\n \"Armenian\": {\n \"code\": \"hy\",\n \"name\": \"Armenian\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDF2\"\n },\n \"Azerbaijani\": {\n \"code\": \"az\",\n \"name\": \"Azerbaijani\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDFF\"\n },\n \"Basque\": {\n \"code\": \"eu\",\n \"name\": \"Basque\"\n },\n \"Belarusian\": {\n \"code\": \"be\",\n \"name\": \"Belarusian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDFE\"\n },\n \"Bengali\": {\n \"code\": \"bn\",\n \"name\": \"Bengali\"\n },\n \"Bosnian\": {\n \"code\": \"bs\",\n \"name\": \"Bosnian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDE6\"\n },\n \"Bulgarian\": {\n \"code\": \"bg\",\n \"name\": \"Bulgarian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDEC\"\n },\n \"Catalan\": {\n \"code\": \"ca\",\n \"name\": \"Catalan\"\n },\n \"Cebuano\": {\n \"code\": \"ceb\",\n \"name\": \"Cebuano\"\n },\n \"Chinese Simplified\": {\n \"code\": \"zh-CN\",\n \"name\": \"Chinese Simplified\",\n \"flag\": \"\uD83C\uDDE8\uD83C\uDDF3\"\n },\n \"Mandarin\": {\n \"code\": \"zh-TW\",\n \"name\": \"Chinese Traditional\"\n },\n \"Corsican\": {\n \"code\": \"co\",\n \"name\": \"Corsican\"\n },\n \"Croatian\": {\n \"code\": \"hr\",\n \"name\": \"Croatian\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDF7\"\n },\n \"Czech\": {\n \"code\": \"cs\",\n \"name\": \"Czech\",\n \"flag\": \"\uD83C\uDDE8\uD83C\uDDFF\"\n },\n \"Danish\": {\n \"code\": \"da\",\n \"name\": \"Danish\",\n \"flag\": \"\uD83C\uDDE9\uD83C\uDDF0\"\n },\n \"Dutch\": {\n \"code\": \"nl\",\n \"name\": \"Dutch\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF1\"\n },\n \"English\": {\n \"code\": \"en\",\n \"name\": \"English\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDE7\"\n },\n \"Esperanto\": {\n \"code\": \"eo\",\n \"name\": \"Esperanto\"\n },\n \"Estonian\": {\n \"code\": \"et\",\n \"name\": \"Estonian\",\n \"flag\": \"\uD83C\uDDEA\uD83C\uDDEA\"\n },\n \"Finnish\": {\n \"code\": \"fi\",\n \"name\": \"Finnish\",\n \"flag\": \"\uD83C\uDDEB\uD83C\uDDEE\"\n },\n \"French\": {\n \"code\": \"fr\",\n \"name\": \"French\",\n \"flag\": \"\uD83C\uDDEB\uD83C\uDDF7\"\n },\n \"Frisian\": {\n \"code\": \"fy\",\n \"name\": \"Frisian\"\n },\n \"Galician\": {\n \"code\": \"gl\",\n \"name\": \"Galician\"\n },\n \"Georgian\": {\n \"code\": \"ka\",\n \"name\": \"Georgian\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDEA\"\n },\n \"German\": {\n \"code\": \"de\",\n \"name\": \"German\",\n \"flag\": \"\uD83C\uDDE9\uD83C\uDDEA\"\n },\n \"Greek\": {\n \"code\": \"el\",\n \"name\": \"Greek\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDF7\"\n },\n \"Gujarati\": {\n \"code\": \"gu\",\n \"name\": \"Gujarati\"\n },\n \"Haitian Creole\": {\n \"code\": \"ht\",\n \"name\": \"Haitian Creole\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDF9\"\n },\n \"Hausa\": {\n \"code\": \"ha\",\n \"name\": \"Hausa\"\n },\n \"Hawaiian\": {\n \"code\": \"haw\",\n \"name\": \"Hawaiian\",\n \"flag\": \"\uD83C\uDF3A\"\n },\n \"Hebrew\": {\n \"code\": \"iw\",\n \"name\": \"Hebrew\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF1\"\n },\n \"Hindi\": {\n \"code\": \"hi\",\n \"name\": \"Hindi\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF3\"\n },\n \"Hmong\": {\n \"code\": \"hmn\",\n \"name\": \"Hmong\"\n },\n \"Hungarian\": {\n \"code\": \"hu\",\n \"name\": \"Hungarian\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDFA\"\n },\n \"Icelandic\": {\n \"code\": \"is\",\n \"name\": \"Icelandic\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF8\"\n },\n \"Igbo\": {\n \"code\": \"ig\",\n \"name\": \"Igbo\"\n },\n \"Indonesian\": {\n \"code\": \"id\",\n \"name\": \"Indonesian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDE9\"\n },\n \"Irish\": {\n \"code\": \"ga\",\n \"name\": \"Irish\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDEA\"\n },\n \"Italian\": {\n \"code\": \"it\",\n \"name\": \"Italian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF9\"\n },\n \"Japanese\": {\n \"code\": \"ja\",\n \"name\": \"Japanese\",\n \"flag\": \"\uD83C\uDDEF\uD83C\uDDF5\"\n },\n \"Javanese\": {\n \"code\": \"jv\",\n \"name\": \"Javanese\"\n },\n \"Kannada\": {\n \"code\": \"kn\",\n \"name\": \"Kannada\"\n },\n \"Kazakh\": {\n \"code\": \"kk\",\n \"name\": \"Kazakh\",\n \"flag\": \"\uD83C\uDDF0\uD83C\uDDFF\"\n },\n \"Khmer\": {\n \"code\": \"km\",\n \"name\": \"Khmer\"\n },\n \"Kinyarwanda\": {\n \"code\": \"rw\",\n \"name\": \"Kinyarwanda\"\n },\n \"Korean\": {\n \"code\": \"ko\",\n \"name\": \"Korean\",\n \"flag\": \"\uD83C\uDDF0\uD83C\uDDF7\"\n },\n \"Kurdish\": {\n \"code\": \"ku\",\n \"name\": \"Kurdish\"\n },\n \"Kyrgyz\": {\n \"code\": \"ky\",\n \"name\": \"Kyrgyz\"\n },\n \"Lao\": {\n \"code\": \"lo\",\n \"name\": \"Lao\"\n },\n \"Latvian\": {\n \"code\": \"lv\",\n \"name\": \"Latvian\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDFB\"\n },\n \"Lithuanian\": {\n \"code\": \"lt\",\n \"name\": \"Lithuanian\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDF9\"\n },\n \"Luxembourgish\": {\n \"code\": \"lb\",\n \"name\": \"Luxembourgish\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDFA\"\n },\n \"Latin\": {\n \"code\": \"la\",\n \"name\": \"Latin\",\n \"flag\": \"\uD83C\uDFDB\"\n },\n \"Macedonian\": {\n \"code\": \"mk\",\n \"name\": \"Macedonian\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF0\"\n },\n \"Malagasy\": {\n \"code\": \"mg\",\n \"name\": \"Malagasy\"\n },\n \"Malay\": {\n \"code\": \"ms\",\n \"name\": \"Malay\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDFE\"\n },\n \"Malayalam\": {\n \"code\": \"ml\",\n \"name\": \"Malayalam\"\n },\n \"Maltese\": {\n \"code\": \"mt\",\n \"name\": \"Maltese\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF9\"\n },\n \"Maori\": {\n \"code\": \"mi\",\n \"name\": \"Maori\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDFF\"\n },\n \"Marathi\": {\n \"code\": \"mr\",\n \"name\": \"Marathi\"\n },\n \"Mongolian\": {\n \"code\": \"mn\",\n \"name\": \"Mongolian\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF3\"\n },\n \"Myanmar (Burmese)\": {\n \"code\": \"my\",\n \"name\": \"Myanmar (Burmese)\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF2\"\n },\n \"Nepali\": {\n \"code\": \"ne\",\n \"name\": \"Nepali\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF5\"\n },\n \"Norwegian\": {\n \"code\": \"no\",\n \"name\": \"Norwegian\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF4\"\n },\n \"Nyanja (Chichewa)\": {\n \"code\": \"ny\",\n \"name\": \"Nyanja (Chichewa)\"\n },\n \"Odia (Oriya)\": {\n \"code\": \"or\",\n \"name\": \"Odia (Oriya)\"\n },\n \"Pashto\": {\n \"code\": \"ps\",\n \"name\": \"Pashto\"\n },\n \"Persian\": {\n \"code\": \"fa\",\n \"name\": \"Persian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF7\"\n },\n \"Polish\": {\n \"code\": \"pl\",\n \"name\": \"Polish\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDF1\"\n },\n \"Portuguese\": {\n \"code\": \"pt\",\n \"name\": \"Portuguese\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDF9\"\n },\n \"Punjabi\": {\n \"code\": \"pa\",\n \"name\": \"Punjabi\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF3\"\n },\n \"Romanian\": {\n \"code\": \"ro\",\n \"name\": \"Romanian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDF4\"\n },\n \"Russian\": {\n \"code\": \"ru\",\n \"name\": \"Russian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDFA\"\n },\n \"Samoan\": {\n \"code\": \"sm\",\n \"name\": \"Samoan\"\n },\n \"Scots Gaelic\": {\n \"code\": \"gd\",\n \"name\": \"Scots Gaelic\",\n \"flag\": \"\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74\uDB40\uDC7F\"\n },\n \"Serbian\": {\n \"code\": \"sr\",\n \"name\": \"Serbian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDF8\"\n },\n \"Sesotho\": {\n \"code\": \"st\",\n \"name\": \"Sesotho\"\n },\n \"Shona\": {\n \"code\": \"sn\",\n \"name\": \"Shona\"\n },\n \"Sindhi\": {\n \"code\": \"sd\",\n \"name\": \"Sindhi\"\n },\n \"Sinhala (Sinhalese)\": {\n \"code\": \"si\",\n \"name\": \"Sinhala (Sinhalese)\"\n },\n \"Slovak\": {\n \"code\": \"sk\",\n \"name\": \"Slovak\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDF0\"\n },\n \"Slovenian\": {\n \"code\": \"sl\",\n \"name\": \"Slovenian\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDEE\"\n },\n \"Somali\": {\n \"code\": \"so\",\n \"name\": \"Somali\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDF4\"\n },\n \"Spanish\": {\n \"code\": \"es\",\n \"name\": \"Spanish\",\n \"flag\": \"\uD83C\uDDEA\uD83C\uDDF8\"\n },\n \"Sundanese\": {\n \"code\": \"su\",\n \"name\": \"Sundanese\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDE9\"\n },\n \"Swahili\": {\n \"code\": \"sw\",\n \"name\": \"Swahili\"\n },\n \"Swedish\": {\n \"code\": \"sv\",\n \"name\": \"Swedish\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDEA\"\n },\n \"Tagalog (Filipino)\": {\n \"code\": \"tl\",\n \"name\": \"Tagalog (Filipino)\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDED\"\n },\n \"Tajik\": {\n \"code\": \"tg\",\n \"name\": \"Tajik\"\n },\n \"Tamil\": {\n \"code\": \"ta\",\n \"name\": \"Tamil\"\n },\n \"Tatar\": {\n \"code\": \"tt\",\n \"name\": \"Tatar\"\n },\n \"Telugu\": {\n \"code\": \"te\",\n \"name\": \"Telugu\"\n },\n \"Thai\": {\n \"code\": \"th\",\n \"name\": \"Thai\"\n },\n \"Turkish\": {\n \"code\": \"tr\",\n \"name\": \"Turkish\",\n \"flag\": \"\uD83C\uDDF9\uD83C\uDDF7\"\n },\n \"Turkmen\": {\n \"code\": \"tk\",\n \"name\": \"Turkmen\",\n \"flag\": \"\uD83C\uDDF9\uD83C\uDDF2\"\n },\n \"Ukrainian\": {\n \"code\": \"uk\",\n \"name\": \"Ukrainian\",\n \"flag\": \"\uD83C\uDDFA\uD83C\uDDE6\"\n },\n \"Urdu\": {\n \"code\": \"ur\",\n \"name\": \"Urdu\"\n },\n \"Uyghur\": {\n \"code\": \"ug\",\n \"name\": \"Uyghur\"\n },\n \"Uzbek\": {\n \"code\": \"uz\",\n \"name\": \"Uzbek\"\n },\n \"Vietnamese\": {\n \"code\": \"vi\",\n \"name\": \"Vietnamese\",\n \"flag\": \"\uD83C\uDDFB\uD83C\uDDF3\"\n },\n \"Welsh\": {\n \"code\": \"cy\",\n \"name\": \"Welsh\",\n \"flag\": \"\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73\uDB40\uDC7F\"\n },\n \"Xhosa\": {\n \"code\": \"xh\",\n \"name\": \"Xhosa\"\n },\n \"Yiddish\": {\n \"code\": \"yi\",\n \"name\": \"Yiddish\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF1\"\n },\n \"Yoruba\": {\n \"code\": \"yo\",\n \"name\": \"Yoruba\"\n },\n \"Zulu\": {\n \"code\": \"zu\",\n \"name\": \"Zulu\"\n }\n}\n", "{\n \"auto\": {\n \"code\": \"auto\",\n \"name\": \"Auto-detect\",\n \"flag\": \"\uD83C\uDF10\"\n },\n \"af\": {\n \"code\": \"af\",\n \"name\": \"Afrikaans\",\n \"flag\": \"\uD83C\uDDFF\uD83C\uDDE6\"\n },\n \"sq\": {\n \"code\": \"sq\",\n \"name\": \"Albanian\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDF1\"\n },\n \"am\": {\n \"code\": \"am\",\n \"name\": \"Amharic\"\n },\n \"ar\": {\n \"code\": \"ar\",\n \"name\": \"Arabic\"\n },\n \"hy\": {\n \"code\": \"hy\",\n \"name\": \"Armenian\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDF2\"\n },\n \"az\": {\n \"code\": \"az\",\n \"name\": \"Azerbaijani\",\n \"flag\": \"\uD83C\uDDE6\uD83C\uDDFF\"\n },\n \"eu\": {\n \"code\": \"eu\",\n \"name\": \"Basque\"\n },\n \"be\": {\n \"code\": \"be\",\n \"name\": \"Belarusian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDFE\"\n },\n \"bn\": {\n \"code\": \"bn\",\n \"name\": \"Bengali\"\n },\n \"bs\": {\n \"code\": \"bs\",\n \"name\": \"Bosnian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDE6\"\n },\n \"bg\": {\n \"code\": \"bg\",\n \"name\": \"Bulgarian\",\n \"flag\": \"\uD83C\uDDE7\uD83C\uDDEC\"\n },\n \"ca\": {\n \"code\": \"ca\",\n \"name\": \"Catalan\"\n },\n \"ceb\": {\n \"code\": \"ceb\",\n \"name\": \"Cebuano\"\n },\n \"zh-CN\": {\n \"code\": \"zh-CN\",\n \"name\": \"Chinese Simplified\",\n \"flag\": \"\uD83C\uDDE8\uD83C\uDDF3\"\n },\n \"zh-TW\": {\n \"code\": \"zh-TW\",\n \"name\": \"Chinese Traditional\"\n },\n \"co\": {\n \"code\": \"co\",\n \"name\": \"Corsican\"\n },\n \"hr\": {\n \"code\": \"hr\",\n \"name\": \"Croatian\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDF7\"\n },\n \"cs\": {\n \"code\": \"cs\",\n \"name\": \"Czech\",\n \"flag\": \"\uD83C\uDDE8\uD83C\uDDFF\"\n },\n \"da\": {\n \"code\": \"da\",\n \"name\": \"Danish\",\n \"flag\": \"\uD83C\uDDE9\uD83C\uDDF0\"\n },\n \"nl\": {\n \"code\": \"nl\",\n \"name\": \"Dutch\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF1\"\n },\n \"en\": {\n \"code\": \"en\",\n \"name\": \"English\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDE7\"\n },\n \"eo\": {\n \"code\": \"eo\",\n \"name\": \"Esperanto\"\n },\n \"et\": {\n \"code\": \"et\",\n \"name\": \"Estonian\",\n \"flag\": \"\uD83C\uDDEA\uD83C\uDDEA\"\n },\n \"fi\": {\n \"code\": \"fi\",\n \"name\": \"Finnish\",\n \"flag\": \"\uD83C\uDDEB\uD83C\uDDEE\"\n },\n \"fr\": {\n \"code\": \"fr\",\n \"name\": \"French\",\n \"flag\": \"\uD83C\uDDEB\uD83C\uDDF7\"\n },\n \"fy\": {\n \"code\": \"fy\",\n \"name\": \"Frisian\"\n },\n \"gl\": {\n \"code\": \"gl\",\n \"name\": \"Galician\"\n },\n \"ka\": {\n \"code\": \"ka\",\n \"name\": \"Georgian\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDEA\"\n },\n \"de\": {\n \"code\": \"de\",\n \"name\": \"German\",\n \"flag\": \"\uD83C\uDDE9\uD83C\uDDEA\"\n },\n \"el\": {\n \"code\": \"el\",\n \"name\": \"Greek\",\n \"flag\": \"\uD83C\uDDEC\uD83C\uDDF7\"\n },\n \"gu\": {\n \"code\": \"gu\",\n \"name\": \"Gujarati\"\n },\n \"ht\": {\n \"code\": \"ht\",\n \"name\": \"Haitian Creole\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDF9\"\n },\n \"ha\": {\n \"code\": \"ha\",\n \"name\": \"Hausa\"\n },\n \"haw\": {\n \"code\": \"haw\",\n \"name\": \"Hawaiian\",\n \"flag\": \"\uD83C\uDF3A\"\n },\n \"iw\": {\n \"code\": \"iw\",\n \"name\": \"Hebrew\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF1\"\n },\n \"hi\": {\n \"code\": \"hi\",\n \"name\": \"Hindi\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF3\"\n },\n \"hmn\": {\n \"code\": \"hmn\",\n \"name\": \"Hmong\"\n },\n \"hu\": {\n \"code\": \"hu\",\n \"name\": \"Hungarian\",\n \"flag\": \"\uD83C\uDDED\uD83C\uDDFA\"\n },\n \"is\": {\n \"code\": \"is\",\n \"name\": \"Icelandic\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF8\"\n },\n \"ig\": {\n \"code\": \"ig\",\n \"name\": \"Igbo\"\n },\n \"id\": {\n \"code\": \"id\",\n \"name\": \"Indonesian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDE9\"\n },\n \"ga\": {\n \"code\": \"ga\",\n \"name\": \"Irish\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDEA\"\n },\n \"it\": {\n \"code\": \"it\",\n \"name\": \"Italian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF9\"\n },\n \"ja\": {\n \"code\": \"ja\",\n \"name\": \"Japanese\",\n \"flag\": \"\uD83C\uDDEF\uD83C\uDDF5\"\n },\n \"jv\": {\n \"code\": \"jv\",\n \"name\": \"Javanese\"\n },\n \"kn\": {\n \"code\": \"kn\",\n \"name\": \"Kannada\"\n },\n \"kk\": {\n \"code\": \"kk\",\n \"name\": \"Kazakh\",\n \"flag\": \"\uD83C\uDDF0\uD83C\uDDFF\"\n },\n \"km\": {\n \"code\": \"km\",\n \"name\": \"Khmer\"\n },\n \"rw\": {\n \"code\": \"rw\",\n \"name\": \"Kinyarwanda\"\n },\n \"ko\": {\n \"code\": \"ko\",\n \"name\": \"Korean\",\n \"flag\": \"\uD83C\uDDF0\uD83C\uDDF7\"\n },\n \"ku\": {\n \"code\": \"ku\",\n \"name\": \"Kurdish\"\n },\n \"ky\": {\n \"code\": \"ky\",\n \"name\": \"Kyrgyz\"\n },\n \"lo\": {\n \"code\": \"lo\",\n \"name\": \"Lao\"\n },\n \"lv\": {\n \"code\": \"lv\",\n \"name\": \"Latvian\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDFB\"\n },\n \"lt\": {\n \"code\": \"lt\",\n \"name\": \"Lithuanian\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDF9\"\n },\n \"lb\": {\n \"code\": \"lb\",\n \"name\": \"Luxembourgish\",\n \"flag\": \"\uD83C\uDDF1\uD83C\uDDFA\"\n },\n \"la\": {\n \"code\": \"la\",\n \"name\": \"Latin\",\n \"flag\": \"\uD83C\uDFDB\"\n },\n \"mk\": {\n \"code\": \"mk\",\n \"name\": \"Macedonian\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF0\"\n },\n \"mg\": {\n \"code\": \"mg\",\n \"name\": \"Malagasy\"\n },\n \"ms\": {\n \"code\": \"ms\",\n \"name\": \"Malay\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDFE\"\n },\n \"ml\": {\n \"code\": \"ml\",\n \"name\": \"Malayalam\"\n },\n \"mt\": {\n \"code\": \"mt\",\n \"name\": \"Maltese\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF9\"\n },\n \"mi\": {\n \"code\": \"mi\",\n \"name\": \"Maori\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDFF\"\n },\n \"mr\": {\n \"code\": \"mr\",\n \"name\": \"Marathi\"\n },\n \"mn\": {\n \"code\": \"mn\",\n \"name\": \"Mongolian\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF3\"\n },\n \"my\": {\n \"code\": \"my\",\n \"name\": \"Myanmar (Burmese)\",\n \"flag\": \"\uD83C\uDDF2\uD83C\uDDF2\"\n },\n \"ne\": {\n \"code\": \"ne\",\n \"name\": \"Nepali\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF5\"\n },\n \"no\": {\n \"code\": \"no\",\n \"name\": \"Norwegian\",\n \"flag\": \"\uD83C\uDDF3\uD83C\uDDF4\"\n },\n \"ny\": {\n \"code\": \"ny\",\n \"name\": \"Nyanja (Chichewa)\"\n },\n \"or\": {\n \"code\": \"or\",\n \"name\": \"Odia (Oriya)\"\n },\n \"ps\": {\n \"code\": \"ps\",\n \"name\": \"Pashto\"\n },\n \"fa\": {\n \"code\": \"fa\",\n \"name\": \"Persian\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF7\"\n },\n \"pl\": {\n \"code\": \"pl\",\n \"name\": \"Polish\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDF1\"\n },\n \"pt\": {\n \"code\": \"pt\",\n \"name\": \"Portuguese\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDF9\"\n },\n \"pa\": {\n \"code\": \"pa\",\n \"name\": \"Punjabi\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF3\"\n },\n \"ro\": {\n \"code\": \"ro\",\n \"name\": \"Romanian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDF4\"\n },\n \"ru\": {\n \"code\": \"ru\",\n \"name\": \"Russian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDFA\"\n },\n \"sm\": {\n \"code\": \"sm\",\n \"name\": \"Samoan\"\n },\n \"gd\": {\n \"code\": \"gd\",\n \"name\": \"Scots Gaelic\",\n \"flag\": \"\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74\uDB40\uDC7F\"\n },\n \"sr\": {\n \"code\": \"sr\",\n \"name\": \"Serbian\",\n \"flag\": \"\uD83C\uDDF7\uD83C\uDDF8\"\n },\n \"st\": {\n \"code\": \"st\",\n \"name\": \"Sesotho\"\n },\n \"sn\": {\n \"code\": \"sn\",\n \"name\": \"Shona\"\n },\n \"sd\": {\n \"code\": \"sd\",\n \"name\": \"Sindhi\"\n },\n \"si\": {\n \"code\": \"si\",\n \"name\": \"Sinhala (Sinhalese)\"\n },\n \"sk\": {\n \"code\": \"sk\",\n \"name\": \"Slovak\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDF0\"\n },\n \"sl\": {\n \"code\": \"sl\",\n \"name\": \"Slovenian\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDEE\"\n },\n \"so\": {\n \"code\": \"so\",\n \"name\": \"Somali\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDF4\"\n },\n \"es\": {\n \"code\": \"es\",\n \"name\": \"Spanish\",\n \"flag\": \"\uD83C\uDDEA\uD83C\uDDF8\"\n },\n \"su\": {\n \"code\": \"su\",\n \"name\": \"Sundanese\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDE9\"\n },\n \"sw\": {\n \"code\": \"sw\",\n \"name\": \"Swahili\"\n },\n \"sv\": {\n \"code\": \"sv\",\n \"name\": \"Swedish\",\n \"flag\": \"\uD83C\uDDF8\uD83C\uDDEA\"\n },\n \"tl\": {\n \"code\": \"tl\",\n \"name\": \"Tagalog (Filipino)\",\n \"flag\": \"\uD83C\uDDF5\uD83C\uDDED\"\n },\n \"tg\": {\n \"code\": \"tg\",\n \"name\": \"Tajik\"\n },\n \"ta\": {\n \"code\": \"ta\",\n \"name\": \"Tamil\"\n },\n \"tt\": {\n \"code\": \"tt\",\n \"name\": \"Tatar\"\n },\n \"te\": {\n \"code\": \"te\",\n \"name\": \"Telugu\"\n },\n \"th\": {\n \"code\": \"th\",\n \"name\": \"Thai\"\n },\n \"tr\": {\n \"code\": \"tr\",\n \"name\": \"Turkish\",\n \"flag\": \"\uD83C\uDDF9\uD83C\uDDF7\"\n },\n \"tk\": {\n \"code\": \"tk\",\n \"name\": \"Turkmen\",\n \"flag\": \"\uD83C\uDDF9\uD83C\uDDF2\"\n },\n \"uk\": {\n \"code\": \"uk\",\n \"name\": \"Ukrainian\",\n \"flag\": \"\uD83C\uDDFA\uD83C\uDDE6\"\n },\n \"ur\": {\n \"code\": \"ur\",\n \"name\": \"Urdu\"\n },\n \"ug\": {\n \"code\": \"ug\",\n \"name\": \"Uyghur\"\n },\n \"uz\": {\n \"code\": \"uz\",\n \"name\": \"Uzbek\"\n },\n \"vi\": {\n \"code\": \"vi\",\n \"name\": \"Vietnamese\",\n \"flag\": \"\uD83C\uDDFB\uD83C\uDDF3\"\n },\n \"cy\": {\n \"code\": \"cy\",\n \"name\": \"Welsh\",\n \"flag\": \"\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73\uDB40\uDC7F\"\n },\n \"xh\": {\n \"code\": \"xh\",\n \"name\": \"Xhosa\"\n },\n \"yi\": {\n \"code\": \"yi\",\n \"name\": \"Yiddish\",\n \"flag\": \"\uD83C\uDDEE\uD83C\uDDF1\"\n },\n \"yo\": {\n \"code\": \"yo\",\n \"name\": \"Yoruba\"\n },\n \"zu\": {\n \"code\": \"zu\",\n \"name\": \"Zulu\"\n }\n}\n", "import _supportedLanguagesByCountry from \"./supportedLanguages.json\";\nimport _supportedLanguagesByCode from \"./supportedLanguagesByCode.json\";\n\nexport type LanguagesMapByCountry = typeof _supportedLanguagesByCountry;\nexport type LanguageCountries = keyof LanguagesMapByCountry;\n\nexport type LanguagesMapByCode = typeof _supportedLanguagesByCode;\nexport type LanguageCode = keyof LanguagesMapByCode;\n\nexport type LanguagesItem = {\n code: LanguageCode;\n name: string;\n flag?: string;\n};\n\nexport const getLanguageFlag = (language?: LanguagesItem, fallback = \"\uD83C\uDFF3\uFE0F\") => {\n return language?.flag ?? fallback;\n};\n\nexport const getLanguageFlagByCode = (lang: LanguageCode) => {\n return getLanguageFlag(supportedLanguagesByCode[lang]);\n};\n\nexport const supportedLanguagesByCode = _supportedLanguagesByCode as Record<LanguageCode, LanguagesItem>;\nexport const supportedLanguagesByCountry = _supportedLanguagesByCountry as Record<LanguageCountries, LanguagesItem>;\n\nexport const languages: LanguagesItem[] = Object.values(supportedLanguagesByCountry);\n", "import React from \"react\";\nimport { Action, ActionPanel, Color, Icon, List, showToast, Toast, useNavigation } from \"@raycast/api\";\nimport { useCachedState } from \"@raycast/utils\";\nimport { LanguageCodeSet } from \"../types\";\nimport { useAllLanguageSets, usePreferencesLanguageSet, useSelectedLanguagesSet } from \"../hooks\";\nimport { AddLanguageForm } from \"./AddLanguageForm\";\nimport { isSameLanguageSet, formatLanguageSet, getLanguageSetObjects } from \"../utils\";\nimport { getLanguageFlag } from \"../languages\";\n\nexport function LanguagesManagerItem({\n languageSet,\n onSelect,\n onDelete,\n selected,\n}: {\n languageSet: LanguageCodeSet;\n onSelect: () => void;\n onDelete?: () => void;\n selected?: boolean;\n}) {\n const { langFrom, langTo } = getLanguageSetObjects(languageSet);\n\n const langsTo = Array.isArray(langTo) ? langTo : [langTo];\n const langsToFlags = langsTo.map((l) => getLanguageFlag(l)).join(\" \");\n const langsToLabel = langsTo.map((l) => l.name).join(\", \");\n\n return (\n <List.Item\n subtitle={`${getLanguageFlag(langFrom)} -> ${langsToFlags}`}\n title={`${langFrom.name} -> ${langsToLabel}`}\n keywords={[langFrom.name, langFrom.code, ...langsTo.flatMap((l) => [l.name, l.code])]}\n icon={selected ? { tintColor: Color.Green, source: Icon.Checkmark } : undefined}\n actions={\n <ActionPanel>\n <Action title=\"Select\" onAction={onSelect} icon={{ tintColor: Color.Green, source: Icon.Checkmark }} />\n {onDelete && <Action style={Action.Style.Destructive} title=\"Delete\" onAction={onDelete} icon={Icon.Trash} />}\n </ActionPanel>\n }\n />\n );\n}\n\nexport const SaveCurrentLanguageSet: React.FC<{ languageSet: LanguageCodeSet; onSelect: () => void }> = ({\n languageSet,\n onSelect,\n}) => {\n return (\n <List.Item\n icon={Icon.SaveDocument}\n title=\"Save current set\"\n subtitle={formatLanguageSet(languageSet)}\n actions={\n <ActionPanel>\n <Action title=\"Save current set\" onAction={onSelect} />\n </ActionPanel>\n }\n />\n );\n};\n\nexport const LanguagesManagerList: React.VFC = () => {\n const navigation = useNavigation();\n const preferencesLanguageSet = usePreferencesLanguageSet();\n const [selectedLanguageSet, setSelectedLanguageSet] = useSelectedLanguagesSet();\n const [languages, setLanguages] = useAllLanguageSets();\n\n return (\n <List\n actions={\n <ActionPanel>\n <Action title=\"Remove all\" onAction={() => setLanguages([])} />\n </ActionPanel>\n }\n >\n <List.Item\n icon={{ source: Icon.Plus }}\n title=\"Add new language set...\"\n actions={\n <ActionPanel>\n <Action.Push\n title=\"Add new language set...\"\n target={\n <AddLanguageForm\n onAddLanguage={(langSet) => {\n setLanguages([...languages, langSet]);\n navigation.pop();\n showToast(Toast.Style.Success, \"Language set was saved!\", formatLanguageSet(langSet));\n }}\n />\n }\n />\n </ActionPanel>\n }\n />\n {!languages.some((l) => isSameLanguageSet(l, selectedLanguageSet)) &&\n !isSameLanguageSet(preferencesLanguageSet, selectedLanguageSet) && (\n <SaveCurrentLanguageSet\n languageSet={selectedLanguageSet}\n onSelect={() => setLanguages([...languages, selectedLanguageSet])}\n />\n )}\n <LanguagesManagerItem\n languageSet={preferencesLanguageSet}\n onSelect={() => {\n setSelectedLanguageSet(preferencesLanguageSet);\n navigation.pop();\n }}\n selected={isSameLanguageSet(selectedLanguageSet, preferencesLanguageSet)}\n />\n {languages.map((langSet) => (\n <LanguagesManagerItem\n key={`${langSet.langFrom} ${langSet.langTo}`}\n selected={isSameLanguageSet(selectedLanguageSet, langSet)}\n languageSet={langSet}\n onSelect={() => {\n setSelectedLanguageSet(langSet);\n navigation.pop();\n }}\n onDelete={() => {\n setLanguages(languages.filter((l) => !isSameLanguageSet(l, langSet)));\n showToast(Toast.Style.Success, \"Language set was deleted!\", formatLanguageSet(langSet));\n }}\n />\n ))}\n </List>\n );\n};\n", "import React from \"react\";\nimport { Action, ActionPanel, Toast, Form, showToast } from \"@raycast/api\";\nimport { getLanguageFlag, LanguageCode, languages } from \"../languages\";\nimport { AUTO_DETECT } from \"../simple-translate\";\nimport { LanguageCodeSet } from \"../types\";\n\nexport const AddLanguageForm: React.VFC<{\n onAddLanguage: (data: LanguageCodeSet) => void;\n}> = ({ onAddLanguage }) => {\n const [targetLanguages, setTargetLanguages] = React.useState<LanguageCode[]>([\"en\"]);\n\n return (\n <Form\n actions={\n <ActionPanel>\n <Action.SubmitForm\n title=\"Add language set\"\n onSubmit={(values: LanguageCodeSet) => {\n const filteredTargetLanguages = targetLanguages.filter((lang) => !!lang);\n if (!filteredTargetLanguages.length) {\n showToast({\n style: Toast.Style.Failure,\n title: \"No target languages\",\n message: \"Please select at least one target language\",\n });\n return;\n }\n onAddLanguage({\n langFrom: values.langFrom,\n langTo: filteredTargetLanguages,\n });\n }}\n />\n </ActionPanel>\n }\n >\n <Form.Dropdown id=\"langFrom\" title=\"Source Language\">\n {languages.map((lang) => (\n <Form.Dropdown.Item key={lang.code} value={lang.code} title={lang.name} icon={getLanguageFlag(lang)} />\n ))}\n </Form.Dropdown>\n {targetLanguages.map((_, index) => {\n const value = targetLanguages[index];\n return (\n <Form.Dropdown\n id={`langTo.${index}`}\n title={`Target Language ${index + 1}`}\n key={index}\n value={value}\n onChange={(value) => {\n const newTargetLanguages = [...targetLanguages];\n newTargetLanguages[index] = value as LanguageCode;\n setTargetLanguages(newTargetLanguages);\n }}\n >\n {!value && <Form.Dropdown.Item value=\"\" title=\"\" />}\n {languages\n .filter((lang) => lang.code !== AUTO_DETECT)\n .map((lang) => (\n <Form.Dropdown.Item key={lang.code} value={lang.code} title={lang.name} icon={getLanguageFlag(lang)} />\n ))}\n </Form.Dropdown>\n );\n })}\n {(!!targetLanguages[targetLanguages.length - 1] || targetLanguages.length === 0) && (\n <Form.Dropdown\n id={`langTo.${targetLanguages.length}`}\n title={`Target Language ${targetLanguages.length}`}\n key={targetLanguages.length}\n value={\"\"}\n onChange={(value) => {\n const newTargetLanguages = [...targetLanguages];\n newTargetLanguages.push(value as LanguageCode);\n setTargetLanguages(newTargetLanguages);\n }}\n >\n <Form.Dropdown.Item value=\"\" title=\"\" />\n {languages\n .filter((lang) => lang.code !== AUTO_DETECT)\n .map((lang) => (\n <Form.Dropdown.Item key={lang.code} value={lang.code} title={lang.name} icon={getLanguageFlag(lang)} />\n ))}\n </Form.Dropdown>\n )}\n </Form>\n );\n};\n", "import { getLanguageFlag, supportedLanguagesByCode } from \"./languages\";\nimport { LanguageCodeSet } from \"./types\";\n\nexport const isSameLanguageSet = (langSet1: LanguageCodeSet, langSet2: LanguageCodeSet) => {\n return langSet1.langFrom === langSet2.langFrom && langSet1.langTo.join() === langSet2.langTo.join();\n};\n\nexport const getLanguageSetObjects = (languageSet: LanguageCodeSet) => {\n return {\n langFrom: supportedLanguagesByCode[languageSet.langFrom],\n langTo: languageSet.langTo.map((l) => supportedLanguagesByCode[l]),\n };\n};\n\nexport const formatLanguageSet = (languageSet: LanguageCodeSet) => {\n const { langFrom, langTo } = getLanguageSetObjects(languageSet);\n const langToArr = Array.isArray(langTo) ? langTo : [langTo];\n const languageLabels = langToArr.map((l) => `${getLanguageFlag(l)} ${l.name}`);\n return `${langFrom.name} ${getLanguageFlag(langFrom)} -> ${languageLabels.join(\", \")}`;\n};\n", "import React from \"react\";\nimport { Icon, List, useNavigation } from \"@raycast/api\";\nimport { LanguageCodeSet } from \"../types\";\nimport { useAllLanguageSets, usePreferencesLanguageSet, useSelectedLanguagesSet } from \"../hooks\";\nimport { LanguagesManagerList } from \"./LanguagesManagerList\";\nimport { formatLanguageSet } from \"../utils\";\n\nexport function LanguageManagerListDropdown() {\n const navigation = useNavigation();\n const preferencesLanguageSet = usePreferencesLanguageSet();\n const [selectedLanguageSet, setSelectedLanguageSet] = useSelectedLanguagesSet();\n const [languages] = useAllLanguageSets();\n\n return (\n <List.Dropdown\n value={JSON.stringify(selectedLanguageSet)}\n tooltip=\"Language Set\"\n onChange={(value) => {\n if (value === \"manage\") {\n navigation.push(<LanguagesManagerList />);\n } else {\n const langSet: LanguageCodeSet = JSON.parse(value);\n setSelectedLanguageSet(langSet);\n }\n }}\n >\n <List.Dropdown.Item icon={Icon.Pencil} title=\"Manage language sets...\" value=\"manage\" />\n <List.Dropdown.Item\n title={formatLanguageSet(preferencesLanguageSet)}\n value={JSON.stringify(preferencesLanguageSet)}\n />\n {languages.map((langSet) => (\n <List.Dropdown.Item\n key={`${langSet.langFrom} ${langSet.langTo.toString()}`}\n title={formatLanguageSet(langSet)}\n value={JSON.stringify(langSet)}\n />\n ))}\n </List.Dropdown>\n );\n}\n", "import React from \"react\";\nimport { Action, Icon, getPreferenceValues } from \"@raycast/api\";\nimport { SimpleTranslateResult } from \"./simple-translate\";\n\ninterface ActionsOpts {\n value: string;\n defaultActionsPrefix?: string;\n}\n\nexport const ConfigurableCopyPasteActions = ({ defaultActionsPrefix, value }: ActionsOpts) => {\n const defaultPreference = getPreferenceValues<ExtensionPreferences>().defaultAction;\n\n const pasteAction = (\n <Action.Paste title={defaultActionsPrefix ? `Paste ${defaultActionsPrefix}` : `Paste`} content={value} />\n );\n const copyAction = (\n <Action.CopyToClipboard title={defaultActionsPrefix ? `Copy ${defaultActionsPrefix}` : `Copy`} content={value} />\n );\n\n if (defaultPreference === \"paste\") {\n return (\n <>\n {pasteAction}\n {copyAction}\n </>\n );\n }\n\n return (\n <>\n {copyAction}\n {pasteAction}\n </>\n );\n};\n\nexport const ToggleFullTextAction: React.VFC<{\n onAction: () => void;\n}> = ({ onAction }) => {\n return (\n <Action title=\"Toggle Full Text\" icon={Icon.Text} onAction={onAction} shortcut={{ modifiers: [\"cmd\"], key: \"f\" }} />\n );\n};\n\nexport const OpenOnGoogleTranslateWebsiteAction: React.VFC<{\n translation: Pick<SimpleTranslateResult, \"langFrom\" | \"langTo\">;\n translationText: string;\n}> = ({ translationText, translation }) => {\n return (\n <Action.OpenInBrowser\n title=\"Open in Google Translate\"\n shortcut={{ modifiers: [\"opt\"], key: \"enter\" }}\n url={\n \"https://translate.google.com/?sl=\" +\n translation.langFrom +\n \"&tl=\" +\n translation.langTo +\n \"&text=\" +\n encodeURIComponent(translationText) +\n \"&op=translate\"\n }\n />\n );\n};\n"], + "mappings": "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AAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,uBAAuB,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAK,GAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,GAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,KAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAO,IAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI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AC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAO,KAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OA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,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAC/C,EAEMU,GAAS,CACb,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAC/C,EAEMM,GAAU,CACd,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAC/C,EAEME,GAAiB,CACrB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,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,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAC/C,EAEMC,GAAc,CAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAA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L,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,KACL,IAAK,SACH,MAAO,aACT,IAAK,cACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,KACL,IAAK,SACH,MAAO,aACT,IAAK,qBACL,IAAK,WACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACH,MAAO,aACT,IAAK,SACL,IAAK,WACL,IAAK,cACL,IAAK,cACL,IAAK,mBACL,IAAK,WACL,IAAK,aACL,IAAK,eACL,IAAK,eACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACH,MAAO,aACT,IAAK,kBACL,IAAK,WACL,IAAK,WACL,IAAK,QACL,IAAK,SACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,eACH,MAAO,aACT,IAAK,cACL,IAAK,mBACL,IAAK,SACL,IAAK,aACL,IAAK,eACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,SACH,MAAO,aACT,IAAK,cACL,IAAK,eACL,IAAK,UACH,MAAO,eACT,IAAK,cACL,IAAK,cACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,KACL,IAAK,SACH,MAAO,cACT,IAAK,cACL,IAAK,aACL,IAAK,YACH,MAAO,cACT,IAAK,cACL,IAAK,aACL,IAAK,YACH,MAAO,cACT,IAAK,cACL,IAAK,cACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,KACH,MAAO,cACT,IAAK,cACH,MAAO,cACT,IAAK,UACL,IAAK,MACL,IAAK,OACL,IAAK,SACL,IAAK,SACH,MAAO,SACT,IAAK,UACL,IAAK,SACH,MAAO,SACT,IAAK,cACL,IAAK,MACL,IAAK,YACL,IAAK,cACH,MAAO,YACT,IAAK,cACL,IAAK,aACL,IAAK,YACL,IAAK,UACL,IAAK,cACH,MAAO,cACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,iBACL,IAAK,QACL,IAAK,SACL,IAAK,QACL,IAAK,cACL,IAAK,SACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,KACL,IAAK,SACL,IAAK,WACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,cACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,kBACL,IAAK,KACL,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,SACL,IAAK,eACL,IAAK,WACH,MAAO,eACT,IAAK,iBACL,IAAK,kBACH,MAAO,iBACT,IAAK,UACL,IAAK,WACL,IAAK,kBACL,IAAK,SACL,IAAK,UACL,IAAK,aACL,IAAK,MACL,IAAK,YACL,IAAK,QACH,MAAO,MACT,IAAK,UACH,MAAO,UACT,IAAK,OACL,IAAK,aACL,IAAK,UACL,IAAK,SACL,IAAK,WACH,MAAO,OACT,IAAK,sBACL,IAAK,SACL,IAAK,WACH,MAAO,SACT,IAAK,cACL,IAAK,cACH,MAAO,cACT,IAAK,aACL,IAAK,QACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,OACL,IAAK,cACL,IAAK,SACH,MAAO,YACT,IAAK,UACL,IAAK,gBACL,IAAK,SACL,IAAK,aACL,IAAK,SACL,IAAK,iBACL,IAAK,iBACL,IAAK,UACL,IAAK,WACL,IAAK,cACH,MAAO,SACT,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,kBACL,IAAK,cACL,IAAK,cACH,MAAO,cACT,IAAK,cACL,IAAK,WACH,MAAO,WACT,IAAK,YACL,IAAK,kBACL,IAAK,QACL,IAAK,UACL,IAAK,cACL,IAAK,SACL,IAAK,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", + "names": ["require_lite", "__commonJSMin", "exports", "has", "dequal", "foo", "bar", "ctor", "len", "require_useDeepMemo", "__commonJSMin", "exports", "react_1", "lite_1", "useDeepMemo", "value", "ref", "signalRef", "require_useLatest", "__commonJSMin", "exports", "react_1", "useLatest", "value", "ref", "require_handle_error_toast_action", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__setModuleDefault", "v", "__importStar", "mod", "result", "fs", "path", "api_1", "handleErrorToastAction", "error", "privateExtension", "title", "extensionURL", "packageJSON", "fallback", "toast", "require_usePromise", "__commonJSMin", "exports", "react_1", "api_1", "useDeepMemo_1", "useLatest_1", "handle_error_toast_action_1", "usePromise", "fn", "args", "options", "lastCallId", "state", "set", "fnRef", "latestAbortable", "latestArgs", "latestOnError", "latestOnData", "latestOnWillExecute", "latestValue", "latestCallback", "callback", "callId", "prevState", "bindPromiseIfNeeded", "data", "error", "toast", "revalidate", "mutate", "asyncUpdate", "dataBeforeOptimisticUpdate", "update", "err", "isLoading", "require_useCachedState", "__commonJSMin", "exports", "react_1", "api_1", "useLatest_1", "replacer", "key", "_value", "value", "reviver", "_key", "rootCache", "cacheMap", "useCachedState", "initialState", "config", "cacheKey", "cache", "keyRef", "initialValueRef", "cachedState", "error", "state", "err", "stateRef", "setStateAndCache", "updater", "newValue", "stringifiedValue", "require_object_hash", "__commonJSMin", "exports", "module", "crypto", "objectHash", "object", "options", "applyDefaults", "hash", "hashes", "encodings", "sourceOptions", "i", "isNativeFunction", "f", "exp", "hashingStream", "PassThrough", "hasher", "typeHasher", "buf", "stream", "writeTo", "context", "write", "str", "value", "type", "pattern", "objString", "objType", "objectNumber", "keys", "key", "self", "arr", "unordered", "entry", "contextAdditions", "entries", "strm", "localContext", "date", "sym", "err", "bool", "string", "fn", "number", "xml", "regex", "url", "map", "set", "file", "b", "require_useCachedPromise", "__commonJSMin", "exports", "__importDefault", "mod", "react_1", "object_hash_1", "useCachedState_1", "usePromise_1", "useLatest_1", "emptyCache", "useCachedPromise", "fn", "args", "options", "initialData", "keepPreviousData", "usePromiseOptions", "lastUpdateFrom", "cachedData", "mutateCache", "laggyDataRef", "_mutate", "revalidate", "state", "data", "returnedData", "latestData", "mutate", "asyncUpdate", "dataBeforeOptimisticUpdate", "err", "require_media_typer", "__commonJSMin", "exports", "SUBTYPE_NAME_REGEXP", "TYPE_NAME_REGEXP", "TYPE_REGEXP", "format", "parse", "test", "obj", "subtype", "suffix", "type", "string", "match", "index", "MediaType", "require_content_type", "__commonJSMin", "exports", "PARAM_REGEXP", "TEXT_REGEXP", "TOKEN_REGEXP", "QESC_REGEXP", "QUOTE_REGEXP", "TYPE_REGEXP", "format", "parse", "obj", "parameters", "type", "string", "param", "params", "i", "qstring", "header", "getcontenttype", "index", "ContentType", "key", "match", "value", "val", "str", "require_lib", "__commonJSMin", "exports", "module", "conversions", "sign", "x", "evenRound", "createNumberConversion", "bitLength", "typeOpts", "lowerBound", "upperBound", "moduloVal", "moduloBound", "V", "opts", "val", "c", "i", "S", "n", "U", "d", "a", "b", "require_utils", "__commonJSMin", "exports", "module", "target", "source", "keys", "i", "impl", "wrapper", "require_mappingTable", "__commonJSMin", "exports", "module", "require_tr46", "__commonJSMin", "exports", "module", "punycode", "mappingTable", "PROCESSING_OPTIONS", "normalize", "str", "s", "findStatus", "val", "start", "end", "mid", "target", "regexAstralSymbols", "countSymbols", "string", "mapChars", "domain_name", "useSTD3", "processing_option", "hasError", "processed", "len", "i", "codePoint", "status", "combiningMarksRegex", "validateLabel", "label", "error", "processing", "result", "labels", "validation", "verifyDnsLength", "l", "total", "require_url_state_machine", "__commonJSMin", "exports", "module", "punycode", "tr46", "specialSchemes", "failure", "countSymbols", "str", "at", "input", "idx", "c", "isASCIIDigit", "isASCIIAlpha", "isASCIIAlphanumeric", "isASCIIHex", "isSingleDot", "buffer", "isDoubleDot", "isWindowsDriveLetterCodePoints", "cp1", "cp2", "isWindowsDriveLetterString", "string", "isNormalizedWindowsDriveLetterString", "containsForbiddenHostCodePoint", "containsForbiddenHostCodePointExcludingPercent", "isSpecialScheme", "scheme", "isSpecial", "url", "defaultPort", "percentEncode", "hex", "utf8PercentEncode", "buf", "i", "utf8PercentDecode", "output", "isC0ControlPercentEncode", "extraPathPercentEncodeSet", "isPathPercentEncode", "extraUserinfoPercentEncodeSet", "isUserinfoPercentEncode", "percentEncodeChar", "encodeSetPredicate", "cStr", "parseIPv4Number", "R", "parseIPv4", "parts", "numbers", "part", "n", "ipv4", "counter", "serializeIPv4", "address", "parseIPv6", "pieceIndex", "compress", "pointer", "value", "length", "numbersSeen", "ipv4Piece", "number", "swaps", "temp", "serializeIPv6", "findLongestZeroSequence", "ignore0", "parseHost", "isSpecialArg", "parseOpaqueHost", "domain", "asciiDomain", "ipv4Host", "decoded", "arr", "maxIdx", "maxLen", "currStart", "currLen", "serializeHost", "host", "trimControlChars", "trimTabAndNewline", "shortenPath", "path", "isNormalizedWindowsDriveLetter", "includesCredentials", "cannotHaveAUsernamePasswordPort", "URLStateMachine", "base", "encodingOverride", "stateOverride", "res", "ret", "len", "codePoint", "encodedCodePoints", "port", "fileOtherwiseCodePoints", "serializeURL", "excludeFragment", "serializeOrigin", "tuple", "result", "options", "usm", "username", "password", "integer", "require_URL_impl", "__commonJSMin", "exports", "usm", "constructorArgs", "url", "base", "parsedBase", "parsedURL", "v", "input", "require_URL", "__commonJSMin", "exports", "module", "conversions", "utils", "Impl", "impl", "URL", "url", "args", "i", "V", "obj", "constructorArgs", "privateData", "require_public_api", "__commonJSMin", "exports", "require_lib", "__commonJSMin", "exports", "module", "_interopDefault", "ex", "Stream", "http", "Url", "whatwgUrl", "https", "zlib", "Readable", "BUFFER", "TYPE", "Blob", "_Blob", "blobParts", "options", "buffers", "size", "a", "length", "i", "element", "buffer", "type", "buf", "ab", "readable", "start", "end", "relativeStart", "relativeEnd", "span", "slicedBuffer", "blob", "FetchError", "message", "systemError", "convert", "INTERNALS", "PassThrough", "Body", "body", "_this", "_ref", "_ref$size", "_ref$timeout", "timeout", "isURLSearchParams", "isBlob", "err", "error", "consumeBody", "ct", "_this2", "_this3", "convertBody", "proto", "name", "desc", "_this4", "accum", "accumBytes", "abort", "resolve", "reject", "resTimeout", "chunk", "headers", "charset", "res", "str", "obj", "clone", "instance", "p1", "p2", "extractContentType", "getTotalBytes", "writeToStream", "dest", "invalidTokenRegex", "invalidHeaderCharRegex", "validateName", "validateValue", "value", "find", "map", "key", "MAP", "Headers", "_Headers", "init", "rawHeaders", "headerNames", "headerName", "method", "pairs", "pair", "callback", "thisArg", "getHeaders", "_pairs$i", "createHeadersIterator", "kind", "k", "INTERNAL", "target", "iterator", "HeadersIteratorPrototype", "_INTERNAL", "index", "values", "len", "exportNodeCompatibleHeaders", "hostHeaderKey", "createHeadersLenient", "val", "INTERNALS$1", "STATUS_CODES", "Response", "_Response", "opts", "status", "contentType", "INTERNALS$2", "URL", "parse_url", "format_url", "parseURL", "urlStr", "streamDestructionSupported", "isRequest", "input", "isAbortSignal", "signal", "Request", "_Request", "parsedURL", "inputBody", "getNodeRequestOptions", "request", "contentLengthValue", "totalBytes", "agent", "AbortError", "URL$1", "PassThrough$1", "isDomainOrSubdomain", "destination", "original", "orig", "isSameProtocol", "fetch", "url", "send", "response", "destroyStream", "abortAndFinalize", "finalize", "req", "reqTimeout", "socket", "fixResponseChunkedTransferBadEnding", "s", "hadError", "hasDataListener", "location", "locationURL", "requestOpts", "response_options", "codings", "zlibOptions", "raw", "errorCallback", "stream", "code", "require_node_ponyfill", "__commonJSMin", "exports", "module", "nodeFetch", "realFetch", "fetch", "url", "options", "require_useFetch", "__commonJSMin", "exports", "__importDefault", "mod", "react_1", "media_typer_1", "content_type_1", "useCachedPromise_1", "useLatest_1", "cross_fetch_1", "isJSON", "contentTypeHeader", "ct", "mediaType", "defaultParsing", "response", "useFetch", "url", "options", "parseResponse", "initialData", "execute", "keepPreviousData", "onError", "onData", "onWillExecute", "fetchOptions", "useCachedPromiseOptions", "parseResponseRef", "abortable", "fn", "res", "exports", "signals_js_1", "exports", "processOk", "process", "kExitEmitter", "global", "ObjectDefineProperty", "Emitter", "ev", "fn", "list", "i", "code", "signal", "ret", "SignalExitBase", "signalExitWrap", "handler", "cb", "opts", "SignalExitFallback", "SignalExit", "#hupSig", "#emitter", "#process", "#originalProcessEmit", "#originalProcessReallyExit", "#sigListeners", "#loaded", "sig", "listeners", "count", "p", "s", "a", "#processEmit", "#processReallyExit", "listener", "args", "og", "_a", "require_exec_utils", "__commonJSMin", "exports", "__importDefault", "mod", "node_buffer_1", "node_stream_1", "node_util_1", "signal_exit_1", "getSpawnedPromise", "spawned", "timeout", "spawnedPromise", "resolve", "reject", "exitCode", "signal", "error", "timeoutId", "timeoutPromise", "_resolve", "safeSpawnedPromise", "removeExitHandler", "MaxBufferError", "streamPipelinePromisified", "bufferStream", "options", "encoding", "isBuffer", "stream", "length", "chunks", "chunk", "getStream", "inputStream", "rejectPromise", "getBufferedData", "streamPromise", "getSpawnedResult", "stdout", "stderr", "processDone", "stdoutPromise", "stderrPromise", "stripFinalNewline", "input", "LF", "CR", "handleOutput", "value", "getErrorPrefix", "timedOut", "makeError", "command", "parentError", "execaMessage", "shortMessage", "message", "defaultParsing", "require_useExec", "__commonJSMin", "exports", "__importDefault", "mod", "node_child_process_1", "react_1", "useCachedPromise_1", "useLatest_1", "exec_utils_1", "SPACES_REGEXP", "parseCommand", "command", "args", "tokens", "token", "previousToken", "useExec", "optionsOrArgs", "options", "parseOutput", "input", "onData", "onWillExecute", "initialData", "execute", "keepPreviousData", "onError", "execOptions", "useCachedPromiseOptions", "abortable", "parseOutputRef", "fn", "_command", "_args", "_options", "file", "spawned", "spawnedPromise", "error", "exitCode", "signal", "timedOut", "stdoutResult", "stderrResult", "stdout", "stderr", "require_useSQL", "__commonJSMin", "exports", "__importDefault", "mod", "jsx_runtime_1", "api_1", "node_fs_1", "promises_1", "node_os_1", "node_child_process_1", "node_path_1", "object_hash_1", "react_1", "usePromise_1", "useLatest_1", "exec_utils_1", "handle_error_toast_action_1", "useSQL", "databasePath", "query", "options", "permissionPriming", "usePromiseOptions", "permissionView", "setPermissionView", "latestOptions", "abortable", "handleError", "_error", "error", "PermissionError", "isPermissionError", "PermissionErrorScreen", "fn", "workaroundCopiedDb", "abortSignal", "spawned", "spawnedPromise", "exitCode", "signal", "stdoutResult", "stderrResult", "checkAborted", "tempFolder", "message", "macosVenturaAndLater", "preferencesString", "props", "action", "require_useForm", "__commonJSMin", "exports", "react_1", "useLatest_1", "FormValidation", "validationError", "validation", "value", "valueIsValid", "useForm", "props", "_onSubmit", "initialValues", "values", "setValues", "errors", "setErrors", "refs", "latestValidation", "latestOnSubmit", "focus", "id", "handleSubmit", "validationErrors", "error", "result", "setValidationError", "setValue", "itemProps", "target", "event", "instance", "reset", "require_useAI", "__commonJSMin", "exports", "react_1", "api_1", "usePromise_1", "useAI", "prompt", "options", "creativity", "stream", "model", "usePromiseOptions", "data", "setData", "abortable", "isLoading", "error", "revalidate", "shouldStream", "x", "require_useFrecencySorting", "__commonJSMin", "exports", "react_1", "useLatest_1", "useCachedState_1", "HALF_LIFE_DAYS", "MS_PER_DAY", "DECAY_RATE_CONSTANT", "VISIT_TYPE_POINTS", "getNewFrecency", "item", "now", "lastVisited", "frecency", "visitAgeInDays", "currentVisitValue", "totalVisitValue", "defaultKey", "useFrecencySorting", "data", "options", "keyRef", "sortUnvisitedRef", "storedFrecencies", "setStoredFrecencies", "visitItem", "itemKey", "newFrecency", "resetRanking", "newFrencencies", "a", "b", "frecencyA", "frecencyB", "require_color", "__commonJSMin", "exports", "hexToRGB", "hex", "r", "g", "b", "rgbToHex", "rString", "gString", "bString", "rgbToHSL", "cmin", "cmax", "delta", "h", "s", "l", "hslToRGB", "c", "x", "m", "hexToHSL", "hslToHex", "hsl", "clamp", "value", "min", "max", "offset", "slightlyDarkerColor", "slightlyLighterColor", "require_avatar", "__commonJSMin", "exports", "color_1", "getWholeCharAndI", "str", "i", "code", "next", "prev", "avatarColorSet", "getAvatarIcon", "name", "options", "words", "initials", "firstWordFirstLetter", "lastWordFirstLetter", "backgroundColor", "initialsCharIndex", "char", "colorIndex", "radius", "require_favicon", "__commonJSMin", "exports", "api_1", "url_1", "getFavicon", "url", "options", "hostname", "e", "require_progress", "__commonJSMin", "exports", "api_1", "polarToCartesian", "centerX", "centerY", "radius", "angleInDegrees", "angleInRadians", "describeArc", "x", "y", "startAngle", "endAngle", "start", "end", "largeArcFlag", "getProgressIcon", "progress", "color", "options", "background", "backgroundOpacity", "stroke", "require_icon", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "p", "require_run_applescript", "__commonJSMin", "exports", "__importDefault", "mod", "node_child_process_1", "exec_utils_1", "runAppleScript", "script", "optionsOrArgs", "options", "humanReadableOutput", "language", "timeout", "execOptions", "outputArguments", "spawned", "spawnedPromise", "error", "exitCode", "signal", "timedOut", "stdoutResult", "stderrResult", "stdout", "stderr", "require_dist", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "p", "require_symbols", "__commonJSMin", "exports", "module", "require_errors", "__commonJSMin", "exports", "module", "UndiciError", "message", "ConnectTimeoutError", "_ConnectTimeoutError", "HeadersTimeoutError", "_HeadersTimeoutError", "HeadersOverflowError", "_HeadersOverflowError", "BodyTimeoutError", "_BodyTimeoutError", "ResponseStatusCodeError", "_ResponseStatusCodeError", "statusCode", "headers", "body", "InvalidArgumentError", "_InvalidArgumentError", "InvalidReturnValueError", "_InvalidReturnValueError", "RequestAbortedError", "_RequestAbortedError", "InformationalError", "_InformationalError", "RequestContentLengthMismatchError", "_RequestContentLengthMismatchError", "ResponseContentLengthMismatchError", "_ResponseContentLengthMismatchError", "ClientDestroyedError", "_ClientDestroyedError", "ClientClosedError", "_ClientClosedError", "SocketError", "_SocketError", "socket", "NotSupportedError", "_NotSupportedError", "BalancedPoolMissingUpstreamError", "HTTPParserError", "_HTTPParserError", "code", "data", "ResponseExceededMaxSizeError", "_ResponseExceededMaxSizeError", "require_util", "__commonJSMin", "exports", "module", "assert", "kDestroyed", "kBodyUsed", "IncomingMessage", "stream", "net", "InvalidArgumentError", "Blob", "nodeUtil", "stringify", "nodeMajor", "nodeMinor", "v", "nop", "isStream", "obj", "isBlobLike", "object", "buildURL", "url", "queryParams", "stringified", "parseURL", "port", "origin", "path", "parseOrigin", "getHostname", "host", "idx", "getServerName", "servername", "deepClone", "isAsyncIterable", "isIterable", "bodyLength", "body", "state", "isBuffer", "isDestroyed", "isReadableAborted", "destroy", "err", "KEEPALIVE_TIMEOUT_EXPR", "parseKeepAliveTimeout", "val", "m", "parseHeaders", "headers", "i", "key", "parseRawHeaders", "ret", "hasContentLength", "contentDispositionIdx", "n", "buffer", "validateHandler", "handler", "method", "upgrade", "isDisturbed", "isErrored", "isReadable", "getSocketInfo", "socket", "ReadableStream", "ReadableStreamFrom", "iterable", "iterator", "controller", "done", "value", "buf", "reason", "isFormDataLike", "throwIfAborted", "signal", "events", "addAbortListener", "listener", "hasToWellFormed", "toUSVString", "kEnumerableProperty", "require_timers", "__commonJSMin", "exports", "module", "fastNow", "fastNowTimeout", "fastTimers", "onTimeout", "len", "idx", "timer", "refreshTimeout", "Timeout", "callback", "delay", "opaque", "timeout", "require_utils", "__commonJSMin", "exports", "module", "parseContentType", "str", "params", "i", "code", "TOKEN", "type", "subtypeStart", "parseContentTypeParams", "subtype", "name", "nameStart", "value", "valueStart", "escaping", "QDTEXT", "parseDisposition", "defDecoder", "parseDispositionParams", "charset", "charsetStart", "CHARSET", "encode", "EXTENDED_VALUE", "hexUpper", "hexLower", "HEX_VALUES", "byteVal", "convertToUTF8", "getDecoder", "lc", "decoders", "data", "hint", "decode", "basename", "path", "require_sbmh", "__commonJSMin", "exports", "module", "memcmp", "buf1", "pos1", "buf2", "pos2", "num", "SBMH", "needle", "cb", "needleLen", "i", "chunk", "pos", "result", "chunkLen", "feed", "lbSize", "self", "data", "len", "lastNeedleCharPos", "lastNeedleChar", "end", "occ", "lookbehind", "nextPos", "ch", "matchNeedle", "bytesToCutOff", "firstNeedleChar", "lb", "require_multipart", "__commonJSMin", "exports", "module", "Readable", "Writable", "StreamSearch", "basename", "convertToUTF8", "getDecoder", "parseContentType", "parseDisposition", "BUF_CRLF", "BUF_CR", "BUF_DASH", "noop", "MAX_HEADER_PAIRS", "MAX_HEADER_SIZE", "HPARSER_NAME", "HPARSER_PRE_OWS", "HPARSER_VALUE", "HeaderParser", "cb", "chunk", "pos", "end", "start", "done", "code", "TOKEN", "FIELD_VCHAR", "header", "FileStream", "opts", "owner", "n", "ignoreData", "callAndUnsetCb", "self", "err", "nullDecoder", "val", "hint", "Multipart", "cfg", "streamOpts", "boundary", "paramDecoder", "defCharset", "preservePath", "fileOpts", "limits", "fieldSizeLimit", "fileSizeLimit", "filesLimit", "fieldsLimit", "partsLimit", "parts", "fields", "files", "skipPart", "fileSize", "field", "fieldSize", "partCharset", "partEncoding", "partType", "partName", "partTruncated", "hitFilesLimit", "hitFieldsLimit", "hparser", "filename", "disp", "conType", "matchPostBoundary", "ssCb", "isMatch", "data", "isDataSafe", "retrydata", "ret", "writecb", "actualLen", "enc", "checkEndState", "fileStream", "finalcb", "require_urlencoded", "__commonJSMin", "exports", "module", "Writable", "getDecoder", "URLEncoded", "cfg", "streamOpts", "charset", "limits", "conType", "chunk", "enc", "cb", "i", "len", "readPctEnc", "main", "skipKeyBytes", "skipValBytes", "self", "pos", "hexUpper", "HEX_VALUES", "hexLower", "code", "require_lib", "__commonJSMin", "exports", "module", "parseContentType", "getInstance", "cfg", "headers", "conType", "type", "TYPES", "instanceCfg", "typemod", "require_constants", "__commonJSMin", "exports", "module", "MessageChannel", "receiveMessageOnPort", "corsSafeListedMethods", "nullBodyStatus", "redirectStatus", "badPorts", "referrerPolicy", "requestRedirect", "safeMethods", "requestMode", "requestCredentials", "requestCache", "requestBodyHeader", "requestDuplex", "forbiddenMethods", "subresource", "DOMException", "err", "channel", "structuredClone", "value", "options", "require_global", "__commonJSMin", "exports", "module", "globalOrigin", "getGlobalOrigin", "setGlobalOrigin", "newOrigin", "parsedURL", "require_util", "__commonJSMin", "exports", "module", "redirectStatus", "badPorts", "referrerPolicyTokens", "getGlobalOrigin", "performance", "isBlobLike", "toUSVString", "ReadableStreamFrom", "assert", "isUint8Array", "crypto", "responseURL", "response", "urlList", "length", "responseLocationURL", "requestFragment", "location", "isValidHeaderValue", "requestCurrentURL", "request", "requestBadPort", "url", "urlIsHttpHttpsScheme", "isErrorLike", "object", "isValidReasonPhrase", "statusText", "i", "c", "isTokenChar", "isValidHTTPToken", "characters", "isValidHeaderName", "potentialValue", "setRequestReferrerPolicyOnRedirect", "actualResponse", "headersList", "policyHeader", "policy", "token", "crossOriginResourcePolicyCheck", "corsCheck", "TAOCheck", "appendFetchMetadata", "httpRequest", "header", "appendRequestOriginHeader", "serializedOrigin", "urlHasHttpsScheme", "sameOrigin", "coarsenedSharedCurrentTime", "crossOriginIsolatedCapability", "createOpaqueTimingInfo", "timingInfo", "makePolicyContainer", "clonePolicyContainer", "policyContainer", "determineRequestsReferrer", "referrerSource", "globalOrigin", "referrerURL", "stripURLForReferrer", "referrerOrigin", "areSameOrigin", "isNonPotentiallyTrustWorthy", "isURLPotentiallyTrustworthy", "currentURL", "originOnly", "isOriginPotentiallyTrustworthy", "origin", "originAsURL", "bytesMatch", "bytes", "metadataList", "parsedMetadata", "parseMetadata", "list", "d", "strongest", "metadata", "item", "algorithm", "expectedValue", "parseHashWithOptions", "result", "empty", "supportedHashes", "parsedToken", "tryUpgradeRequestToAPotentiallyTrustworthyURL", "A", "B", "createDeferredPromise", "res", "rej", "resolve", "reject", "isAborted", "fetchParams", "isCancelled", "normalizeMethod", "method", "serializeJavascriptValueToJSONString", "value", "esIteratorPrototype", "makeIterator", "iterator", "name", "kind", "index", "target", "values", "len", "pair", "iteratorResult", "fullyReadBody", "body", "processBody", "processBodyError", "successSteps", "errorSteps", "error", "reader", "e", "readAllBytes", "ReadableStream", "isReadableStreamLike", "stream", "MAXIMUM_ARGUMENT_LENGTH", "isomorphicDecode", "input", "previous", "current", "readableStreamClose", "controller", "err", "isomorphicEncode", "failureSteps", "byteLength", "done", "chunk", "urlIsLocal", "protocol", "hasOwn", "dict", "key", "require_symbols", "__commonJSMin", "exports", "module", "require_webidl", "__commonJSMin", "exports", "module", "types", "hasOwn", "toUSVString", "webidl", "message", "context", "plural", "V", "I", "opts", "length", "min", "ctx", "bitLength", "signedness", "upperBound", "lowerBound", "x", "n", "r", "converter", "method", "seq", "done", "value", "keyConverter", "valueConverter", "O", "result", "keys", "key", "typedKey", "typedValue", "i", "converters", "dictionary", "type", "dict", "options", "defaultValue", "required", "hasDefault", "index", "charCode", "T", "require_dataURL", "__commonJSMin", "exports", "module", "assert", "atob", "isomorphicDecode", "encoder", "HTTP_TOKEN_CODEPOINTS", "HTTP_WHITESPACE_REGEX", "HTTP_QUOTED_STRING_TOKENS", "dataURLProcessor", "dataURL", "input", "URLSerializer", "position", "mimeType", "collectASequenceOfCodePointsFast", "mimeTypeLength", "removeASCIIWhitespace", "encodedBody", "body", "stringPercentDecode", "stringBody", "forgivingBase64", "mimeTypeRecord", "parseMIMEType", "url", "excludeFragment", "href", "hash", "collectASequenceOfCodePoints", "condition", "result", "char", "idx", "start", "bytes", "percentDecode", "output", "i", "byte", "nextTwoBytes", "bytePoint", "removeHTTPWhitespace", "type", "subtype", "typeLowercase", "subtypeLowercase", "parameterName", "parameterValue", "collectAnHTTPQuotedString", "data", "binary", "extractValue", "positionStart", "value", "quoteOrBackslash", "serializeAMimeType", "parameters", "essence", "serialization", "name", "isHTTPWhiteSpace", "str", "leading", "trailing", "lead", "trail", "isASCIIWhitespace", "require_file", "__commonJSMin", "exports", "module", "Blob", "NativeFile", "types", "kState", "isBlobLike", "webidl", "parseMIMEType", "serializeAMimeType", "kEnumerableProperty", "File", "_File", "fileBits", "fileName", "options", "n", "t", "d", "substep", "processBlobParts", "FileLike", "_FileLike", "blobLike", "args", "V", "opts", "value", "parts", "bytes", "element", "s", "convertLineEndingsNative", "nativeLineEnding", "isFileLike", "object", "require_formdata", "__commonJSMin", "exports", "module", "isBlobLike", "toUSVString", "makeIterator", "kState", "UndiciFile", "FileLike", "isFileLike", "webidl", "Blob", "NativeFile", "File", "FormData", "_FormData", "form", "name", "value", "filename", "entry", "makeEntry", "idx", "pair", "callbackFn", "thisArg", "key", "options", "require_body", "__commonJSMin", "exports", "module", "Busboy", "util", "ReadableStreamFrom", "isBlobLike", "isReadableStreamLike", "readableStreamClose", "createDeferredPromise", "fullyReadBody", "FormData", "kState", "webidl", "DOMException", "structuredClone", "Blob", "NativeFile", "kBodyUsed", "assert", "isErrored", "isUint8Array", "isArrayBuffer", "UndiciFile", "parseMIMEType", "serializeAMimeType", "ReadableStream", "File", "extractBody", "object", "keepalive", "stream", "controller", "source", "action", "length", "type", "boundary", "prefix", "escape", "str", "normalizeLinefeeds", "value", "enc", "blobParts", "rn", "hasUnknownSizeValue", "name", "chunk", "part", "iterator", "done", "reason", "safelyExtractBody", "cloneBody", "body", "out1", "out2", "out2Clone", "finalClone", "consumeBody", "throwIfAborted", "state", "bodyMixinMethods", "instance", "specConsumeBody", "bytes", "mimeType", "bodyMimeType", "utf8DecodeBytes", "parseJSONFromBytes", "contentType", "headers", "key", "responseFormData", "busboy", "err", "info", "filename", "encoding", "chunks", "base64chunk", "end", "busboyResolve", "resolve", "reject", "entries", "text", "textDecoder", "formData", "mixinBody", "prototype", "convertBytesToJSValue", "bodyUnusable", "promise", "errorSteps", "error", "successSteps", "data", "e", "buffer", "headersList", "require_request", "__commonJSMin", "exports", "module", "InvalidArgumentError", "NotSupportedError", "assert", "util", "tokenRegExp", "headerCharRegex", "invalidPathRegex", "kHandler", "channels", "extractBody", "diagnosticsChannel", "Request", "origin", "path", "method", "body", "headers", "query", "idempotent", "blocking", "upgrade", "headersTimeout", "bodyTimeout", "reset", "throwOnError", "handler", "i", "processHeader", "keys", "key", "bodyStream", "contentType", "chunk", "err", "abort", "statusCode", "resume", "statusText", "socket", "trailers", "error", "value", "processHeaderValue", "val", "request", "require_dispatcher", "__commonJSMin", "exports", "module", "EventEmitter", "Dispatcher", "require_dispatcher_base", "__commonJSMin", "exports", "module", "Dispatcher", "ClientDestroyedError", "ClientClosedError", "InvalidArgumentError", "kDestroy", "kClose", "kDispatch", "kInterceptors", "kDestroyed", "kClosed", "kOnDestroyed", "kOnClosed", "kInterceptedDispatch", "DispatcherBase", "newInterceptors", "i", "callback", "resolve", "reject", "err", "data", "onClosed", "callbacks", "onDestroyed", "opts", "handler", "dispatch", "require_connect", "__commonJSMin", "exports", "module", "net", "assert", "util", "InvalidArgumentError", "ConnectTimeoutError", "tls", "SessionCache", "maxCachedSessions", "key", "ref", "sessionKey", "session", "oldestKey", "buildConnector", "socketPath", "timeout", "opts", "options", "sessionCache", "hostname", "host", "protocol", "port", "servername", "localAddress", "httpSocket", "callback", "socket", "keepAliveInitialDelay", "cancelTimeout", "setupTimeout", "onConnectTimeout", "cb", "err", "s1", "s2", "timeoutId", "enumToMap", "obj", "res", "key", "value", "exports", "utils_1", "ERROR", "exports", "TYPE", "FLAGS", "LENIENT_FLAGS", "METHODS", "key", "FINISH", "i", "c", "HEADER_STATE", "require_RedirectHandler", "__commonJSMin", "exports", "module", "util", "kBodyUsed", "assert", "InvalidArgumentError", "EE", "redirectableStatusCodes", "kBody", "BodyAsyncIterable", "body", "RedirectHandler", "dispatch", "maxRedirections", "opts", "handler", "abort", "statusCode", "headers", "socket", "error", "resume", "statusText", "parseLocation", "origin", "pathname", "search", "path", "cleanRequestHeaders", "chunk", "trailers", "i", "shouldRemoveHeader", "header", "removeContent", "unknownOrigin", "ret", "key", "require_redirectInterceptor", "__commonJSMin", "exports", "module", "RedirectHandler", "createRedirectInterceptor", "defaultMaxRedirections", "dispatch", "opts", "handler", "maxRedirections", "redirectHandler", "require_llhttp_wasm", "__commonJSMin", "exports", "module", "require_llhttp_simd_wasm", "__commonJSMin", "exports", "module", "require_client", "__commonJSMin", "exports", "module", "assert", "net", "util", "timers", "Request", "DispatcherBase", "RequestContentLengthMismatchError", "ResponseContentLengthMismatchError", "InvalidArgumentError", "RequestAbortedError", "HeadersTimeoutError", "HeadersOverflowError", "SocketError", "InformationalError", "BodyTimeoutError", "HTTPParserError", "ResponseExceededMaxSizeError", "ClientDestroyedError", "buildConnector", "kUrl", "kReset", "kServerName", "kClient", "kBusy", "kParser", "kConnect", "kBlocking", "kResuming", "kRunning", "kPending", "kSize", "kWriting", "kQueue", "kConnected", "kConnecting", "kNeedDrain", "kNoRef", "kKeepAliveDefaultTimeout", "kHostHeader", "kPendingIdx", "kRunningIdx", "kError", "kPipelining", "kSocket", "kKeepAliveTimeoutValue", "kMaxHeadersSize", "kKeepAliveMaxTimeout", "kKeepAliveTimeoutThreshold", "kHeadersTimeout", "kBodyTimeout", "kStrictContentLength", "kConnector", "kMaxRedirections", "kMaxRequests", "kCounter", "kClose", "kDestroy", "kDispatch", "kInterceptors", "kLocalAddress", "kMaxResponseSize", "FastBuffer", "kClosedResolve", "channels", "diagnosticsChannel", "Client", "url", "interceptors", "maxHeaderSize", "headersTimeout", "socketTimeout", "requestTimeout", "connectTimeout", "bodyTimeout", "idleTimeout", "keepAlive", "keepAliveTimeout", "maxKeepAliveTimeout", "keepAliveMaxTimeout", "keepAliveTimeoutThreshold", "socketPath", "pipelining", "tls", "strictContentLength", "maxCachedSessions", "maxRedirections", "connect", "maxRequestsPerClient", "localAddress", "maxResponseSize", "autoSelectFamily", "autoSelectFamilyAttemptTimeout", "createRedirectInterceptor", "value", "resume", "socket", "cb", "opts", "handler", "origin", "request", "resolve", "err", "requests", "errorRequest", "callback", "constants", "EMPTY_BUF", "lazyllhttp", "llhttpWasmData", "mod", "p", "at", "len", "currentParser", "start", "currentBufferPtr", "currentBufferRef", "statusCode", "upgrade", "shouldKeepAlive", "llhttpInstance", "llhttpPromise", "currentBufferSize", "TIMEOUT_HEADERS", "TIMEOUT_BODY", "TIMEOUT_IDLE", "Parser", "client", "type", "onParserTimeout", "chunk", "data", "llhttp", "ret", "offset", "ptr", "message", "buf", "key", "head", "headers", "onSocketError", "onSocketReadable", "onSocketEnd", "onSocketClose", "statusText", "timeout", "pause", "contentLength", "bytesRead", "parser", "timeoutType", "onError", "i", "host", "hostname", "protocol", "port", "idx", "ip", "reject", "emitDrain", "sync", "_resume", "write", "body", "method", "path", "blocking", "reset", "expectsPayload", "header", "writeIterable", "writeBlob", "writeStream", "finished", "writer", "AsyncWriter", "onData", "onDrain", "onAbort", "onFinished", "er", "buffer", "waitForDrain", "bytesWritten", "require_fixed_queue", "__commonJSMin", "exports", "module", "FixedCircularBuffer", "data", "nextItem", "tail", "next", "require_pool_stats", "__commonJSMin", "exports", "module", "kFree", "kConnected", "kPending", "kQueued", "kRunning", "kSize", "kPool", "PoolStats", "pool", "require_pool_base", "__commonJSMin", "exports", "module", "DispatcherBase", "FixedQueue", "kConnected", "kSize", "kRunning", "kPending", "kQueued", "kBusy", "kFree", "kUrl", "kClose", "kDestroy", "kDispatch", "PoolStats", "kClients", "kNeedDrain", "kQueue", "kClosedResolve", "kOnDrain", "kOnConnect", "kOnDisconnect", "kOnConnectionError", "kGetDispatcher", "kAddClient", "kRemoveClient", "kStats", "PoolBase", "pool", "origin", "targets", "queue", "needDrain", "item", "c", "err", "client", "ret", "pending", "running", "size", "resolve", "opts", "handler", "dispatcher", "idx", "require_pool", "__commonJSMin", "exports", "module", "PoolBase", "kClients", "kNeedDrain", "kAddClient", "kGetDispatcher", "Client", "InvalidArgumentError", "util", "kUrl", "kInterceptors", "buildConnector", "kOptions", "kConnections", "kFactory", "defaultFactory", "origin", "opts", "Pool", "connections", "factory", "connect", "connectTimeout", "tls", "maxCachedSessions", "socketPath", "autoSelectFamily", "autoSelectFamilyAttemptTimeout", "options", "dispatcher", "require_balanced_pool", "__commonJSMin", "exports", "module", "BalancedPoolMissingUpstreamError", "InvalidArgumentError", "PoolBase", "kClients", "kNeedDrain", "kAddClient", "kRemoveClient", "kGetDispatcher", "Pool", "kUrl", "kInterceptors", "parseOrigin", "kFactory", "kOptions", "kGreatestCommonDivisor", "kCurrentWeight", "kIndex", "kWeight", "kMaxWeightPerServer", "kErrorPenalty", "getGreatestCommonDivisor", "a", "b", "defaultFactory", "origin", "opts", "BalancedPool", "upstreams", "factory", "upstream", "upstreamOrigin", "pool", "args", "err", "client", "p", "dispatcher", "counter", "maxWeightIndex", "require_dispatcher_weakref", "__commonJSMin", "exports", "module", "kConnected", "kSize", "CompatWeakRef", "value", "CompatFinalizer", "finalizer", "dispatcher", "key", "require_agent", "__commonJSMin", "exports", "module", "InvalidArgumentError", "kClients", "kRunning", "kClose", "kDestroy", "kDispatch", "kInterceptors", "DispatcherBase", "Pool", "Client", "util", "createRedirectInterceptor", "WeakRef", "FinalizationRegistry", "kOnConnect", "kOnDisconnect", "kOnConnectionError", "kMaxRedirections", "kOnDrain", "kFactory", "kFinalizer", "kOptions", "defaultFactory", "origin", "opts", "Agent", "factory", "maxRedirections", "connect", "options", "key", "ref", "agent", "targets", "err", "ret", "client", "handler", "dispatcher", "closePromises", "destroyPromises", "require_readable", "__commonJSMin", "exports", "module", "assert", "Readable", "RequestAbortedError", "NotSupportedError", "InvalidArgumentError", "util", "ReadableStreamFrom", "toUSVString", "Blob", "kConsume", "kReading", "kBody", "kAbort", "kContentType", "resume", "abort", "contentType", "highWaterMark", "err", "ev", "args", "ret", "chunk", "consumePush", "consume", "opts", "limit", "signal", "abortFn", "signalListenerCleanup", "isLocked", "self", "isUnusable", "stream", "type", "resolve", "reject", "consumeFinish", "consumeStart", "state", "consumeEnd", "body", "length", "dst", "pos", "buf", "require_util", "__commonJSMin", "exports", "module", "assert", "ResponseStatusCodeError", "toUSVString", "getResolveErrorBodyCallback", "callback", "body", "contentType", "statusCode", "statusMessage", "headers", "chunks", "limit", "chunk", "payload", "require_abort_signal", "__commonJSMin", "exports", "module", "addAbortListener", "RequestAbortedError", "kListener", "kSignal", "abort", "self", "addSignal", "signal", "removeSignal", "require_api_request", "__commonJSMin", "exports", "module", "Readable", "InvalidArgumentError", "RequestAbortedError", "util", "getResolveErrorBodyCallback", "AsyncResource", "addSignal", "removeSignal", "RequestHandler", "opts", "callback", "signal", "method", "opaque", "body", "onInfo", "responseHeaders", "throwOnError", "highWaterMark", "err", "abort", "context", "statusCode", "rawHeaders", "resume", "statusMessage", "headers", "contentType", "chunk", "res", "trailers", "request", "resolve", "reject", "data", "require_api_stream", "__commonJSMin", "exports", "module", "finished", "PassThrough", "InvalidArgumentError", "InvalidReturnValueError", "RequestAbortedError", "util", "getResolveErrorBodyCallback", "AsyncResource", "addSignal", "removeSignal", "StreamHandler", "opts", "factory", "callback", "signal", "method", "opaque", "body", "onInfo", "responseHeaders", "throwOnError", "err", "abort", "context", "statusCode", "rawHeaders", "resume", "statusMessage", "headers", "res", "contentType", "trailers", "chunk", "stream", "resolve", "reject", "data", "require_api_pipeline", "__commonJSMin", "exports", "module", "Readable", "Duplex", "PassThrough", "InvalidArgumentError", "InvalidReturnValueError", "RequestAbortedError", "util", "AsyncResource", "addSignal", "removeSignal", "assert", "kResume", "PipelineRequest", "resume", "err", "callback", "PipelineResponse", "PipelineHandler", "opts", "handler", "signal", "method", "opaque", "onInfo", "responseHeaders", "body", "chunk", "encoding", "req", "res", "ret", "abort", "context", "statusCode", "rawHeaders", "headers", "trailers", "pipeline", "pipelineHandler", "require_api_upgrade", "__commonJSMin", "exports", "module", "InvalidArgumentError", "RequestAbortedError", "SocketError", "AsyncResource", "util", "addSignal", "removeSignal", "assert", "UpgradeHandler", "opts", "callback", "signal", "opaque", "responseHeaders", "abort", "context", "statusCode", "rawHeaders", "socket", "headers", "err", "upgrade", "resolve", "reject", "data", "upgradeHandler", "require_api_connect", "__commonJSMin", "exports", "module", "InvalidArgumentError", "RequestAbortedError", "SocketError", "AsyncResource", "util", "addSignal", "removeSignal", "ConnectHandler", "opts", "callback", "signal", "opaque", "responseHeaders", "abort", "context", "statusCode", "rawHeaders", "socket", "headers", "err", "connect", "resolve", "reject", "data", "connectHandler", "require_api", "__commonJSMin", "exports", "module", "require_mock_errors", "__commonJSMin", "exports", "module", "UndiciError", "MockNotMatchedError", "_MockNotMatchedError", "message", "require_mock_symbols", "__commonJSMin", "exports", "module", "require_mock_utils", "__commonJSMin", "exports", "module", "MockNotMatchedError", "kDispatches", "kMockAgent", "kOriginalDispatch", "kOrigin", "kGetNetConnect", "buildURL", "nop", "STATUS_CODES", "isPromise", "matchValue", "match", "value", "lowerCaseEntries", "headers", "headerName", "headerValue", "getHeaderByName", "key", "i", "buildHeadersFromArray", "clone", "entries", "index", "matchHeaders", "mockDispatch", "matchHeaderName", "matchHeaderValue", "safeUrl", "path", "pathSegments", "qp", "matchKey", "method", "body", "pathMatch", "methodMatch", "bodyMatch", "headersMatch", "getResponseData", "data", "getMockDispatch", "mockDispatches", "basePath", "resolvedPath", "matchedMockDispatches", "consumed", "addMockDispatch", "baseData", "replyData", "newMockDispatch", "deleteMockDispatch", "dispatch", "buildKey", "opts", "query", "generateKeyValues", "keyValuePairs", "x", "getStatusText", "statusCode", "getResponse", "buffers", "handler", "trailers", "error", "delay", "persist", "timesInvoked", "times", "handleReply", "_data", "optsHeaders", "newData", "responseData", "responseHeaders", "responseTrailers", "resume", "buildMockDispatch", "agent", "origin", "originalDispatch", "netConnect", "checkNetConnect", "url", "matcher", "buildMockOptions", "mockOptions", "require_mock_interceptor", "__commonJSMin", "exports", "module", "getResponseData", "buildKey", "addMockDispatch", "kDispatches", "kDispatchKey", "kDefaultHeaders", "kDefaultTrailers", "kContentLength", "kMockDispatch", "InvalidArgumentError", "buildURL", "MockScope", "mockDispatch", "waitInMs", "repeatTimes", "MockInterceptor", "opts", "mockDispatches", "parsedURL", "statusCode", "data", "responseOptions", "responseData", "contentLength", "headers", "trailers", "replyData", "wrappedDefaultsCallback", "resolvedData", "newMockDispatch", "dispatchData", "error", "require_mock_client", "__commonJSMin", "exports", "module", "promisify", "Client", "buildMockDispatch", "kDispatches", "kMockAgent", "kClose", "kOriginalClose", "kOrigin", "kOriginalDispatch", "kConnected", "MockInterceptor", "Symbols", "InvalidArgumentError", "MockClient", "origin", "opts", "require_mock_pool", "__commonJSMin", "exports", "module", "promisify", "Pool", "buildMockDispatch", "kDispatches", "kMockAgent", "kClose", "kOriginalClose", "kOrigin", "kOriginalDispatch", "kConnected", "MockInterceptor", "Symbols", "InvalidArgumentError", "MockPool", "origin", "opts", "require_pluralizer", "__commonJSMin", "exports", "module", "singulars", "plurals", "singular", "plural", "count", "one", "keys", "noun", "require_pending_interceptors_formatter", "__commonJSMin", "exports", "module", "Transform", "Console", "disableColors", "chunk", "_enc", "cb", "pendingInterceptors", "withPrettyHeaders", "method", "path", "statusCode", "persist", "times", "timesInvoked", "origin", "require_mock_agent", "__commonJSMin", "exports", "module", "kClients", "Agent", "kAgent", "kMockAgentSet", "kMockAgentGet", "kDispatches", "kIsMockActive", "kNetConnect", "kGetNetConnect", "kOptions", "kFactory", "MockClient", "MockPool", "matchValue", "buildMockOptions", "InvalidArgumentError", "UndiciError", "Dispatcher", "Pluralizer", "PendingInterceptorsFormatter", "FakeWeakRef", "value", "MockAgent", "opts", "agent", "origin", "dispatcher", "handler", "matcher", "mockOptions", "ref", "keyMatcher", "nonExplicitRef", "nonExplicitDispatcher", "mockAgentClients", "scope", "dispatch", "pending", "pendingInterceptorsFormatter", "pluralizer", "require_proxy_agent", "__commonJSMin", "exports", "module", "kProxy", "kClose", "kDestroy", "kInterceptors", "URL", "Agent", "Pool", "DispatcherBase", "InvalidArgumentError", "RequestAbortedError", "buildConnector", "kAgent", "kClient", "kProxyHeaders", "kRequestTls", "kProxyTls", "kConnectEndpoint", "defaultProtocolPort", "protocol", "buildProxyOptions", "opts", "defaultFactory", "origin", "ProxyAgent", "clientFactory", "resolvedUrl", "port", "host", "connect", "callback", "requestedHost", "socket", "statusCode", "servername", "err", "handler", "headers", "buildHeaders", "throwIfProxyAuthIsSent", "headersPair", "i", "key", "require_global", "__commonJSMin", "exports", "module", "globalDispatcher", "InvalidArgumentError", "Agent", "getGlobalDispatcher", "setGlobalDispatcher", "agent", "require_DecoratorHandler", "__commonJSMin", "exports", "module", "handler", "args", "require_headers", "__commonJSMin", "exports", "module", "kHeadersList", "kGuard", "kEnumerableProperty", "makeIterator", "isValidHeaderName", "isValidHeaderValue", "webidl", "assert", "kHeadersMap", "kHeadersSortedMap", "headerValueNormalize", "potentialValue", "i", "fill", "headers", "object", "header", "key", "value", "HeadersList", "_HeadersList", "init", "name", "lowercaseName", "exists", "delimiter", "Headers", "_Headers", "list", "names", "a", "b", "cookies", "callbackFn", "thisArg", "V", "require_response", "__commonJSMin", "exports", "module", "Headers", "HeadersList", "fill", "extractBody", "cloneBody", "mixinBody", "util", "kEnumerableProperty", "isValidReasonPhrase", "isCancelled", "isAborted", "isBlobLike", "serializeJavascriptValueToJSONString", "isErrorLike", "isomorphicEncode", "redirectStatus", "nullBodyStatus", "DOMException", "kState", "kHeaders", "kGuard", "kRealm", "webidl", "FormData", "getGlobalOrigin", "URLSerializer", "kHeadersList", "assert", "types", "ReadableStream", "Response", "_Response", "relevantRealm", "responseObject", "makeNetworkError", "data", "init", "bytes", "body", "initializeResponse", "url", "status", "parsedURL", "err", "value", "makeResponse", "bodyWithType", "extractedBody", "type", "urlList", "clonedResponse", "cloneResponse", "clonedResponseObject", "response", "filterResponse", "newResponse", "reason", "isError", "makeFilteredResponse", "state", "target", "p", "makeAppropriateNetworkError", "fetchParams", "V", "require_request", "__commonJSMin", "exports", "module", "extractBody", "mixinBody", "cloneBody", "Headers", "fillHeaders", "HeadersList", "FinalizationRegistry", "util", "isValidHTTPToken", "sameOrigin", "normalizeMethod", "makePolicyContainer", "forbiddenMethods", "corsSafeListedMethods", "referrerPolicy", "requestRedirect", "requestMode", "requestCredentials", "requestCache", "requestDuplex", "kEnumerableProperty", "kHeaders", "kSignal", "kState", "kGuard", "kRealm", "webidl", "getGlobalOrigin", "URLSerializer", "kHeadersList", "assert", "getMaxListeners", "setMaxListeners", "getEventListeners", "defaultMaxListeners", "TransformStream", "kInit", "kAbortController", "requestFinalizer", "signal", "abort", "Request", "_Request", "input", "init", "request", "fallbackMode", "baseUrl", "parsedURL", "err", "makeRequest", "origin", "window", "referrer", "parsedReferrer", "mode", "method", "ac", "acRef", "headers", "key", "val", "inputBody", "initBody", "extractedBody", "contentType", "inputOrInitBody", "finalBody", "identityTransform", "clonedRequest", "cloneRequest", "clonedRequestObject", "newRequest", "V", "require_fetch", "__commonJSMin", "exports", "module", "Response", "makeNetworkError", "makeAppropriateNetworkError", "filterResponse", "makeResponse", "Headers", "Request", "makeRequest", "zlib", "bytesMatch", "makePolicyContainer", "clonePolicyContainer", "requestBadPort", "TAOCheck", "appendRequestOriginHeader", "responseLocationURL", "requestCurrentURL", "setRequestReferrerPolicyOnRedirect", "tryUpgradeRequestToAPotentiallyTrustworthyURL", "createOpaqueTimingInfo", "appendFetchMetadata", "corsCheck", "crossOriginResourcePolicyCheck", "determineRequestsReferrer", "coarsenedSharedCurrentTime", "createDeferredPromise", "isBlobLike", "sameOrigin", "isCancelled", "isAborted", "isErrorLike", "fullyReadBody", "readableStreamClose", "isomorphicEncode", "urlIsLocal", "urlIsHttpHttpsScheme", "urlHasHttpsScheme", "kState", "kHeaders", "kGuard", "kRealm", "assert", "safelyExtractBody", "redirectStatus", "nullBodyStatus", "safeMethods", "requestBodyHeader", "subresource", "DOMException", "kHeadersList", "EE", "Readable", "pipeline", "addAbortListener", "isErrored", "isReadable", "nodeMajor", "nodeMinor", "dataURLProcessor", "serializeAMimeType", "TransformStream", "getGlobalDispatcher", "webidl", "STATUS_CODES", "resolveObjectURL", "ReadableStream", "Fetch", "dispatcher", "reason", "error", "fetch", "input", "init", "p", "requestObject", "e", "request", "abortFetch", "responseObject", "relevantRealm", "locallyAborted", "controller", "fetching", "response", "finalizeAndReportTiming", "initiatorType", "originalURL", "timingInfo", "cacheState", "markResourceTiming", "globalThis", "err", "processRequestBodyChunkLength", "processRequestEndOfBody", "processResponse", "processResponseEndOfBody", "processResponseConsumeBody", "useParallelQueue", "taskDestination", "crossOriginIsolatedCapability", "currenTime", "fetchParams", "mainFetch", "recursive", "currentURL", "schemeFetch", "httpFetch", "internalResponse", "processBodyError", "fetchFinale", "processBody", "bytes", "scheme", "blobURLEntry", "blobURLEntryObject", "bodyWithType", "body", "length", "type", "dataURLStruct", "mimeType", "finalizeResponse", "identityTransformAlgorithm", "chunk", "transformStream", "nullOrBytes", "failure", "actualResponse", "httpNetworkOrCacheFetch", "httpRedirectFetch", "locationURL", "headerName", "isAuthenticationFetch", "isNewConnectionFetch", "httpFetchParams", "httpRequest", "httpCache", "revalidatingFlag", "includeCredentials", "contentLength", "contentLengthHeaderValue", "forwardResponse", "httpNetworkFetch", "forceNewConnection", "newConnection", "requestBody", "processBodyChunk", "processEndOfBody", "status", "statusText", "headersList", "socket", "dispatch", "iterator", "pullAlgorithm", "cancelAlgorithm", "stream", "onAborted", "isFailure", "done", "value", "url", "agent", "resolve", "reject", "abort", "connection", "resume", "codings", "location", "headers", "n", "key", "val", "x", "decoders", "willFollow", "coding", "require_symbols", "__commonJSMin", "exports", "module", "require_progressevent", "__commonJSMin", "exports", "module", "webidl", "kState", "ProgressEvent", "_ProgressEvent", "type", "eventInitDict", "require_encoding", "__commonJSMin", "exports", "module", "getEncoding", "label", "require_util", "__commonJSMin", "exports", "module", "kState", "kError", "kResult", "kAborted", "kLastProgressEventFired", "ProgressEvent", "getEncoding", "DOMException", "serializeAMimeType", "parseMIMEType", "types", "StringDecoder", "btoa", "staticPropertyDescriptors", "readOperation", "fr", "blob", "type", "encodingName", "reader", "bytes", "chunkPromise", "isFirstChunk", "done", "value", "fireAProgressEvent", "result", "packageData", "error", "event", "mimeType", "dataURL", "parsed", "decoder", "chunk", "encoding", "decode", "combineByteSequences", "binaryString", "ioQueue", "BOMEncoding", "BOMSniffing", "slice", "sliced", "a", "b", "c", "sequences", "size", "offset", "require_filereader", "__commonJSMin", "exports", "module", "staticPropertyDescriptors", "readOperation", "fireAProgressEvent", "kState", "kError", "kResult", "kEvents", "kAborted", "webidl", "kEnumerableProperty", "FileReader", "_FileReader", "blob", "encoding", "fn", "require_symbols", "__commonJSMin", "exports", "module", "require_util", "__commonJSMin", "exports", "module", "assert", "URLSerializer", "isValidHeaderName", "urlEquals", "A", "B", "excludeFragment", "serializedA", "serializedB", "fieldValues", "header", "values", "value", "require_cache", "__commonJSMin", "exports", "module", "kConstruct", "urlEquals", "getFieldValues", "kEnumerableProperty", "isDisturbed", "kHeadersList", "webidl", "Response", "cloneResponse", "Request", "kState", "kHeaders", "kGuard", "kRealm", "fetching", "urlIsHttpHttpsScheme", "createDeferredPromise", "readAllBytes", "assert", "getGlobalDispatcher", "Cache", "_Cache", "#relevantRequestResponseList", "request", "options", "p", "r", "responses", "requestResponse", "requestResponses", "#queryCache", "responseList", "response", "responseObject", "body", "requests", "responsePromises", "requestList", "fetchControllers", "responsePromise", "fieldValues", "fieldValue", "controller", "operations", "index", "operation", "cacheJobPromise", "errorData", "#batchCacheOperations", "e", "innerRequest", "innerResponse", "clonedResponse", "bodyReadPromise", "reader", "bytes", "error", "promise", "requestObject", "cache", "backupCache", "addedItems", "resultList", "idx", "requestQuery", "targetStorage", "storage", "cachedRequest", "cachedResponse", "#requestMatchesCachedItem", "queryURL", "cachedURL", "requestValue", "queryValue", "cacheQueryOptionConverters", "require_cachestorage", "__commonJSMin", "exports", "module", "kConstruct", "Cache", "webidl", "kEnumerableProperty", "CacheStorage", "_CacheStorage", "#caches", "request", "options", "cacheList", "response", "cacheName", "cache", "require_constants", "__commonJSMin", "exports", "module", "require_util", "__commonJSMin", "exports", "module", "assert", "kHeadersList", "isCTLExcludingHtab", "value", "char", "code", "validateCookieName", "name", "validateCookieValue", "validateCookiePath", "path", "validateCookieDomain", "domain", "toIMFDate", "date", "days", "months", "dayName", "day", "month", "year", "hour", "minute", "second", "validateCookieMaxAge", "maxAge", "stringify", "cookie", "out", "part", "key", "kHeadersListNode", "getHeadersList", "headers", "symbol", "headersList", "require_parse", "__commonJSMin", "exports", "module", "maxNameValuePairSize", "maxAttributeValueSize", "isCTLExcludingHtab", "collectASequenceOfCodePointsFast", "assert", "parseSetCookie", "header", "nameValuePair", "unparsedAttributes", "name", "value", "position", "parseUnparsedAttributes", "cookieAttributeList", "cookieAv", "attributeName", "attributeValue", "attributeNameLowercase", "expiryTime", "charCode", "deltaSeconds", "cookieDomain", "cookiePath", "enforcement", "attributeValueLowercase", "require_cookies", "__commonJSMin", "exports", "module", "parseSetCookie", "stringify", "getHeadersList", "webidl", "Headers", "getCookies", "headers", "cookie", "out", "piece", "name", "value", "deleteCookie", "attributes", "setCookie", "getSetCookies", "cookies", "pair", "require_constants", "__commonJSMin", "exports", "module", "uid", "staticPropertyDescriptors", "states", "opcodes", "maxUnsigned16Bit", "parserStates", "emptyBuffer", "require_symbols", "__commonJSMin", "exports", "module", "require_events", "__commonJSMin", "exports", "module", "webidl", "kEnumerableProperty", "MessagePort", "MessageEvent", "_MessageEvent", "#eventInit", "type", "eventInitDict", "bubbles", "cancelable", "data", "origin", "lastEventId", "source", "ports", "CloseEvent", "_CloseEvent", "ErrorEvent", "_ErrorEvent", "eventInit", "require_util", "__commonJSMin", "exports", "module", "kReadyState", "kController", "kResponse", "kBinaryType", "kWebSocketURL", "states", "opcodes", "MessageEvent", "ErrorEvent", "isEstablished", "ws", "isClosing", "isClosed", "fireEvent", "target", "eventConstructor", "eventInitDict", "event", "websocketMessageReceived", "type", "data", "dataForEvent", "failWebsocketConnection", "isValidSubprotocol", "protocol", "char", "code", "isValidStatusCode", "reason", "controller", "response", "require_connection", "__commonJSMin", "exports", "module", "randomBytes", "createHash", "diagnosticsChannel", "uid", "states", "kReadyState", "kSentClose", "kByteParser", "kReceivedClose", "fireEvent", "failWebsocketConnection", "CloseEvent", "makeRequest", "fetching", "Headers", "getGlobalDispatcher", "kHeadersList", "channels", "establishWebSocketConnection", "url", "protocols", "ws", "onEstablish", "options", "requestURL", "request", "headersList", "keyValue", "protocol", "permessageDeflate", "response", "secWSAccept", "digest", "secExtension", "secProtocol", "onSocketData", "onSocketClose", "onSocketError", "chunk", "wasClean", "code", "reason", "result", "error", "require_frame", "__commonJSMin", "exports", "module", "randomBytes", "maxUnsigned16Bit", "WebsocketFrameSend", "data", "opcode", "bodyLength", "payloadLength", "offset", "buffer", "i", "require_receiver", "__commonJSMin", "exports", "module", "Writable", "diagnosticsChannel", "parserStates", "opcodes", "states", "emptyBuffer", "kReadyState", "kSentClose", "kResponse", "kReceivedClose", "isValidStatusCode", "failWebsocketConnection", "websocketMessageReceived", "WebsocketFrameSend", "channels", "ByteParser", "#buffers", "#byteOffset", "#state", "#info", "#fragments", "ws", "chunk", "_", "callback", "buffer", "payloadLength", "body", "closeFrame", "err", "frame", "upper", "lower", "fullMessage", "n", "offset", "next", "length", "onlyCode", "data", "code", "reason", "require_websocket", "__commonJSMin", "exports", "module", "webidl", "DOMException", "URLSerializer", "staticPropertyDescriptors", "states", "opcodes", "emptyBuffer", "kWebSocketURL", "kReadyState", "kController", "kBinaryType", "kResponse", "kSentClose", "kByteParser", "isEstablished", "isClosing", "isValidSubprotocol", "failWebsocketConnection", "fireEvent", "establishWebSocketConnection", "WebsocketFrameSend", "ByteParser", "kEnumerableProperty", "isBlobLike", "getGlobalDispatcher", "types", "experimentalWarned", "WebSocket", "_WebSocket", "#events", "#bufferedAmount", "#protocol", "#extensions", "url", "protocols", "options", "urlRecord", "e", "p", "response", "#onConnectionEstablished", "code", "reason", "reasonByteLength", "frame", "err", "data", "socket", "value", "buffer", "ab", "fn", "type", "parser", "extensions", "protocol", "V", "require_undici", "__commonJSMin", "exports", "module", "Client", "Dispatcher", "errors", "Pool", "BalancedPool", "Agent", "util", "InvalidArgumentError", "api", "buildConnector", "MockClient", "MockAgent", "MockPool", "mockErrors", "ProxyAgent", "getGlobalDispatcher", "setGlobalDispatcher", "DecoratorHandler", "RedirectHandler", "createRedirectInterceptor", "hasCrypto", "makeDispatcher", "fn", "url", "opts", "handler", "path", "agent", "dispatcher", "fetchImpl", "resource", "err", "setGlobalOrigin", "getGlobalOrigin", "CacheStorage", "kConstruct", "deleteCookie", "getCookies", "getSetCookies", "setCookie", "parseMIMEType", "serializeAMimeType", "WebSocket", "assertInputTypes", "text", "lang", "slow", "host", "exports", "SPACE_REGEX", "DEFAULT_PUNCTUATION_REGEX", "splitLongText", "text", "_a", "_b", "_c", "maxLength", "_d", "splitPunct", "isSpaceOrPunct", "s", "i", "regex", "lastIndexOfSpaceOrPunct", "left", "right", "result", "addResult", "start", "end", "str", "exports", "assertInputTypes_1", "__importDefault", "splitLongText_1", "url_1", "getAudioUrl", "text", "_a", "_b", "_c", "lang", "_d", "slow", "_e", "host", "exports", "getAllAudioUrls", "_f", "splitPunct", "shortText", "require_bind", "__commonJSMin", "exports", "module", "fn", "thisArg", "args", "require_utils", "__commonJSMin", "exports", "module", "bind", "toString", "isArray", "val", "isUndefined", "isBuffer", "isArrayBuffer", "isFormData", "isArrayBufferView", "result", "isString", "isNumber", "isObject", "isPlainObject", "prototype", "isDate", "isFile", "isBlob", "isFunction", "isStream", "isURLSearchParams", "trim", "str", "isStandardBrowserEnv", "forEach", "obj", "fn", "i", "l", "key", "merge", "assignValue", "extend", "a", "b", "thisArg", "stripBOM", "content", "require_buildURL", "__commonJSMin", "exports", "module", "utils", "encode", "val", "url", "params", "paramsSerializer", "serializedParams", "parts", "key", "v", "hashmarkIndex", "require_InterceptorManager", "__commonJSMin", "exports", "module", "utils", "InterceptorManager", "fulfilled", "rejected", "options", "id", "fn", "h", "require_normalizeHeaderName", "__commonJSMin", "exports", "module", "utils", "headers", "normalizedName", "value", "name", "require_enhanceError", "__commonJSMin", "exports", "module", "error", "config", "code", "request", "response", "require_createError", "__commonJSMin", "exports", "module", "enhanceError", "message", "config", "code", "request", "response", "error", "require_settle", "__commonJSMin", "exports", "module", "createError", "resolve", "reject", "response", "validateStatus", "require_cookies", "__commonJSMin", "exports", "module", "utils", "name", "value", "expires", "path", "domain", "secure", "cookie", "match", "require_isAbsoluteURL", "__commonJSMin", "exports", "module", "url", "require_combineURLs", "__commonJSMin", "exports", "module", "baseURL", "relativeURL", "require_buildFullPath", "__commonJSMin", "exports", "module", "isAbsoluteURL", "combineURLs", "baseURL", "requestedURL", "require_parseHeaders", "__commonJSMin", "exports", "module", "utils", "ignoreDuplicateOf", "headers", "parsed", "key", "val", "line", "require_isURLSameOrigin", "__commonJSMin", "exports", "module", "utils", "msie", "urlParsingNode", "originURL", "resolveURL", "url", "href", "requestURL", "parsed", "require_xhr", "__commonJSMin", "exports", "module", "utils", "settle", "cookies", "buildURL", "buildFullPath", "parseHeaders", "isURLSameOrigin", "createError", "config", "resolve", "reject", "requestData", "requestHeaders", "responseType", "request", "username", "password", "fullPath", "onloadend", "responseHeaders", "responseData", "response", "timeoutErrorMessage", "xsrfValue", "val", "key", "cancel", "require_ms", "__commonJSMin", "exports", "module", "s", "m", "h", "d", "w", "y", "val", "options", "type", "parse", "fmtLong", "fmtShort", "str", "match", "n", "ms", "msAbs", "plural", "name", "isPlural", "require_common", "__commonJSMin", "exports", "module", "setup", "env", "createDebug", "coerce", "disable", "enable", "enabled", "destroy", "key", "selectColor", "namespace", "hash", "i", "prevTime", "enableOverride", "namespacesCache", "enabledCache", "debug", "args", "self", "curr", "ms", "index", "match", "format", "formatter", "val", "extend", "v", "delimiter", "newDebug", "namespaces", "split", "len", "toNamespace", "name", "regexp", "require_browser", "__commonJSMin", "exports", "module", "formatArgs", "save", "load", "useColors", "localstorage", "warned", "args", "c", "index", "lastC", "match", "namespaces", "r", "formatters", "v", "error", "require_has_flag", "__commonJSMin", "exports", "module", "flag", "argv", "prefix", "position", "terminatorPosition", "require_supports_color", "__commonJSMin", "exports", "module", "os", "tty", "hasFlag", "env", "forceColor", "translateLevel", "level", "supportsColor", "haveStream", "streamIsTTY", "min", "osRelease", "sign", "version", "getSupportLevel", "stream", "require_node", "__commonJSMin", "exports", "module", "tty", "util", "init", "log", "formatArgs", "save", "load", "useColors", "supportsColor", "key", "obj", "prop", "_", "k", "val", "args", "name", "c", "colorCode", "prefix", "getDate", "namespaces", "debug", "keys", "i", "formatters", "v", "str", "require_src", "__commonJSMin", "exports", "module", "require_debug", "__commonJSMin", "exports", "module", "debug", "require_follow_redirects", "__commonJSMin", "exports", "module", "url", "URL", "http", "https", "Writable", "assert", "debug", "useNativeURL", "error", "preservedUrlFields", "events", "eventHandlers", "event", "arg1", "arg2", "arg3", "InvalidUrlError", "createErrorType", "RedirectionError", "TooManyRedirectsError", "MaxBodyLengthExceededError", "WriteAfterEndError", "destroy", "noop", "RedirectableRequest", "options", "responseCallback", "self", "response", "cause", "destroyRequest", "data", "encoding", "callback", "isString", "isBuffer", "isFunction", "currentRequest", "name", "value", "msecs", "destroyOnTimeout", "socket", "startTimer", "clearTimer", "method", "a", "b", "property", "searchPos", "protocol", "nativeProtocol", "scheme", "request", "buffers", "writeNext", "buffer", "statusCode", "location", "requestHeaders", "beforeRedirect", "removeMatchingHeaders", "currentHostHeader", "currentUrlParts", "parseUrl", "currentHost", "currentUrl", "redirectUrl", "resolveUrl", "spreadUrlObject", "isSubdomain", "responseDetails", "requestDetails", "wrap", "protocols", "nativeProtocols", "wrappedProtocol", "input", "isURL", "validateUrl", "get", "wrappedRequest", "parsed", "relative", "base", "urlObject", "target", "spread", "key", "regex", "headers", "lastValue", "header", "code", "message", "baseClass", "CustomError", "properties", "subdomain", "domain", "dot", "require_package", "__commonJSMin", "exports", "module", "require_http", "__commonJSMin", "exports", "module", "utils", "settle", "buildFullPath", "buildURL", "http", "https", "httpFollow", "httpsFollow", "url", "zlib", "pkg", "createError", "enhanceError", "isHttps", "setProxy", "options", "proxy", "location", "base64", "redirection", "config", "resolvePromise", "rejectPromise", "resolve", "value", "reject", "data", "headers", "auth", "username", "password", "fullPath", "parsed", "protocol", "urlAuth", "urlUsername", "urlPassword", "isHttpsRequest", "agent", "proxyEnv", "proxyUrl", "parsedProxyUrl", "noProxyEnv", "shouldProxy", "noProxy", "s", "proxyElement", "proxyUrlAuth", "transport", "isHttpsProxy", "req", "res", "stream", "lastRequest", "response", "responseBuffer", "totalResponseBytes", "chunk", "err", "responseData", "timeout", "cancel", "require_defaults", "__commonJSMin", "exports", "module", "utils", "normalizeHeaderName", "enhanceError", "DEFAULT_CONTENT_TYPE", "setContentTypeIfUnset", "headers", "value", "getDefaultAdapter", "adapter", "stringifySafely", "rawValue", "parser", "encoder", "e", "defaults", "data", "transitional", "silentJSONParsing", "forcedJSONParsing", "strictJSONParsing", "status", "method", "require_transformData", "__commonJSMin", "exports", "module", "utils", "defaults", "data", "headers", "fns", "context", "fn", "require_isCancel", "__commonJSMin", "exports", "module", "value", "require_dispatchRequest", "__commonJSMin", "exports", "module", "utils", "transformData", "isCancel", "defaults", "throwIfCancellationRequested", "config", "method", "adapter", "response", "reason", "require_mergeConfig", "__commonJSMin", "exports", "module", "utils", "config1", "config2", "config", "valueFromConfig2Keys", "mergeDeepPropertiesKeys", "defaultToConfig2Keys", "directMergeKeys", "getMergedValue", "target", "source", "mergeDeepProperties", "prop", "axiosKeys", "otherKeys", "key", "require_validator", "__commonJSMin", "exports", "module", "pkg", "validators", "type", "i", "thing", "deprecatedWarnings", "currentVerArr", "isOlderVersion", "version", "thanVersion", "pkgVersionArr", "destVer", "validator", "message", "isDeprecated", "formatMessage", "opt", "desc", "value", "opts", "assertOptions", "options", "schema", "allowUnknown", "keys", "result", "require_Axios", "__commonJSMin", "exports", "module", "utils", "buildURL", "InterceptorManager", "dispatchRequest", "mergeConfig", "validator", "validators", "Axios", "instanceConfig", "config", "transitional", "requestInterceptorChain", "synchronousRequestInterceptors", "interceptor", "responseInterceptorChain", "promise", "chain", "newConfig", "onFulfilled", "onRejected", "error", "method", "url", "data", "require_Cancel", "__commonJSMin", "exports", "module", "Cancel", "message", "require_CancelToken", "__commonJSMin", "exports", "module", "Cancel", "CancelToken", "executor", "resolvePromise", "resolve", "token", "message", "cancel", "c", "require_spread", "__commonJSMin", "exports", "module", "callback", "arr", "require_isAxiosError", "__commonJSMin", "exports", "module", "payload", "require_axios", "__commonJSMin", "exports", "module", "utils", "bind", "Axios", "mergeConfig", "defaults", "createInstance", "defaultConfig", "context", "instance", "axios", "instanceConfig", "promises", "require_axios", "__commonJSMin", "exports", "module", "text", "_a", "_b", "_c", "lang", "_d", "slow", "_e", "host", "_f", "splitPunct", "_g", "timeout", "shortTextList", "shortText", "base64List", "_h", "result", "i", "base64", "getAudioUrl_1", "exports", "getAudioBase64_1", "translate_exports", "__export", "Translate", "__toCommonJS", "import_react", "import_api", "import_utils", "import_api", "import_utils", "import_react", "import_querystring", "import_undici", "languages", "getISOCode", "language", "key", "isSupported", "import_undici", "zr", "a", "b", "yr", "wr", "c", "window", "d", "e", "f", "g", "l", "h", "xr", "config", "updateTKK", "now", "code", "xt", "tokenGenerator", "text", "tk", "error", "translate", "text", "options", "error", "lang", "isSupported", "getISOCode", "token", "tokenGenerator", "baseUrl", "data", "url", "querystring", "requestOptions", "requestUrl", "body", "result", "obj", "str", "googleTTS", "os", "path", "https", "child_process", "import_fs", "AUTO_DETECT", "TranslateError", "extractPronounceTextFromRaw", "raw", "simpleTranslate", "text", "options", "translated", "translate", "err", "error", "doubleWayTranslate", "translated1", "translated2", "playTTS", "langTo", "audioUrl", "response", "chunks", "chunk", "audioData", "tempFilePath", "code", "unifyLegacyLanguageSet", "legacy", "usePreferences", "React", "useTextState", "preferences", "text", "setText", "textRef", "cbText", "err", "useSelectedLanguagesSet", "selectedLanguageSet", "setSelectedLanguageSet", "usePreferencesLanguageSet", "useDebouncedValue", "value", "delay", "debouncedValue", "setDebouncedValue", "handler", "useAllLanguageSets", "languages", "setLanguages", "supportedLanguages_default", "supportedLanguagesByCode_default", "getLanguageFlag", "language", "fallback", "supportedLanguagesByCode", "supportedLanguagesByCode_default", "supportedLanguagesByCountry", "supportedLanguages_default", "languages", "import_api", "import_react", "import_api", "import_jsx_runtime", "AddLanguageForm", "onAddLanguage", "targetLanguages", "setTargetLanguages", "React", "values", "filteredTargetLanguages", "lang", "languages", "getLanguageFlag", "_", "index", "value", "newTargetLanguages", "AUTO_DETECT", "isSameLanguageSet", "langSet1", "langSet2", "getLanguageSetObjects", "languageSet", "supportedLanguagesByCode", "l", "formatLanguageSet", "langFrom", "langTo", "languageLabels", "getLanguageFlag", "import_jsx_runtime", "LanguagesManagerItem", "languageSet", "onSelect", "onDelete", "selected", "langFrom", "langTo", "getLanguageSetObjects", "langsTo", "langsToFlags", "l", "getLanguageFlag", "langsToLabel", "SaveCurrentLanguageSet", "formatLanguageSet", "LanguagesManagerList", "navigation", "preferencesLanguageSet", "usePreferencesLanguageSet", "selectedLanguageSet", "setSelectedLanguageSet", "useSelectedLanguagesSet", "languages", "setLanguages", "useAllLanguageSets", "AddLanguageForm", "langSet", "isSameLanguageSet", "import_api", "import_jsx_runtime", "LanguageManagerListDropdown", "navigation", "preferencesLanguageSet", "usePreferencesLanguageSet", "selectedLanguageSet", "setSelectedLanguageSet", "useSelectedLanguagesSet", "languages", "useAllLanguageSets", "value", "LanguagesManagerList", "langSet", "formatLanguageSet", "import_api", "import_jsx_runtime", "ConfigurableCopyPasteActions", "defaultActionsPrefix", "value", "defaultPreference", "pasteAction", "copyAction", "ToggleFullTextAction", "onAction", "OpenOnGoogleTranslateWebsiteAction", "translationText", "translation", "import_jsx_runtime", "DoubleWayTranslateItem", "toggleShowingDetail", "value", "selectedLanguageSet", "results", "doubleWayTranslate", "error", "index", "langFrom", "supportedLanguagesByCode", "langTo", "languages", "getLanguageFlag", "tooltip", "React", "ConfigurableCopyPasteActions", "ToggleFullTextAction", "playTTS", "OpenOnGoogleTranslateWebsiteAction", "TranslateItem", "result", "isLoading", "simpleTranslate", "langFromCode", "langToCode", "Translate", "useSelectedLanguagesSet", "proxy", "usePreferences", "isShowingDetail", "setIsShowingDetail", "text", "setText", "useTextState", "debouncedValue", "useDebouncedValue", "LanguageManagerListDropdown"] +} diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/assets/compiled_raycast_swift/color-picker b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/assets/compiled_raycast_swift/color-picker Binary files differ. diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/assets/compiled_raycast_swift/extract-color b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/assets/compiled_raycast_swift/extract-color Binary files differ. diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/assets/icon.png b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/assets/icon.png Binary files differ. diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/assets/rgb-color-wheel.webp b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/assets/rgb-color-wheel.webp Binary files differ. diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/color-names.js b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/color-names.js @@ -0,0 +1,57 @@ +"use strict";var ax=Object.create;var Zn=Object.defineProperty;var tx=Object.getOwnPropertyDescriptor;var ix=Object.getOwnPropertyNames;var hx=Object.getPrototypeOf,ox=Object.prototype.hasOwnProperty;var s=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),ux=(e,r)=>{for(var i in r)Zn(e,i,{get:r[i],enumerable:!0})},mt=(e,r,i,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(let f of ix(r))!ox.call(e,f)&&f!==i&&Zn(e,f,{get:()=>r[f],enumerable:!(l=tx(r,f))||l.enumerable});return e};var lt=(e,r,i)=>(i=e!=null?ax(hx(e)):{},mt(r||!e||!e.__esModule?Zn(i,"default",{value:e,enumerable:!0}):i,e)),mx=e=>mt(Zn({},"__esModule",{value:!0}),e);var st=s((An,Dn)=>{(function(){var e,r,i,l,f,F,p,A,w,P,v,O,k,ne,Z,U,Q,se,de,b,pe,Oe,nx,ue,Sa,qa,Pa,ye,an,ka,tn,Ta,Oa,Nn,Ma,In,Ga,Ra,ja,La,za,Na,pr,Wn,Ia,gr,Wa,Hn,Me,Vn,Ha,L,Va,Ka,Ya,Ja,re,Ua,$a,Za,Xa,Qa,et,nt,Cr,br,Br,rt,at,tt,Kn,Yn,it,me,ht,hn,xe,yr,K,Y,Se,Jn,Un,fe=[].slice;K=function(){var n,a,t,h,o;for(n={},o="Boolean Number String Function Array Date RegExp Undefined Null".split(" "),h=0,a=o.length;h<a;h++)t=o[h],n["[object "+t+"]"]=t.toLowerCase();return function(u){var m;return m=Object.prototype.toString.call(u),n[m]||"object"}}(),Hn=function(n,a,t){return a==null&&(a=0),t==null&&(t=1),n<a&&(n=a),n>t&&(n=t),n},Y=function(n){return n.length>=3?Array.prototype.slice.call(n):n[0]},pe=function(n){var a,t;for(n._clipped=!1,n._unclipped=n.slice(0),a=t=0;t<3;a=++t)a<3?((n[a]<0||n[a]>255)&&(n._clipped=!0),n[a]<0&&(n[a]=0),n[a]>255&&(n[a]=255)):a===3&&(n[a]<0&&(n[a]=0),n[a]>1&&(n[a]=1));return n._clipped||delete n._unclipped,n},l=Math.PI,me=Math.round,ue=Math.cos,an=Math.floor,re=Math.pow,Me=Math.log,hn=Math.sin,xe=Math.sqrt,ne=Math.atan2,L=Math.max,k=Math.abs,p=l*2,f=l/3,r=l/180,F=180/l,b=function(){return arguments[0]instanceof e?arguments[0]:function(n,a,t){t.prototype=n.prototype;var h=new t,o=n.apply(h,a);return Object(o)===o?o:h}(e,arguments,function(){})},b.default=b,O=[],typeof Dn<"u"&&Dn!==null&&Dn.exports!=null&&(Dn.exports=b),typeof define=="function"&&define.amd?define([],function(){return b}):(it=typeof An<"u"&&An!==null?An:this,it.chroma=b),b.version="1.4.1",v={},w=[],P=!1,e=function(){function n(){var a,t,h,o,u,m,x,c,g;for(m=this,t=[],c=0,o=arguments.length;c<o;c++)a=arguments[c],a!=null&&t.push(a);if(t.length>1&&(x=t[t.length-1]),v[x]!=null)m._rgb=pe(v[x](Y(t.slice(0,-1))));else{for(P||(w=w.sort(function(B,S){return S.p-B.p}),P=!0),g=0,u=w.length;g<u&&(h=w[g],x=h.test.apply(h,t),!x);g++);x&&(m._rgb=pe(v[x].apply(v,t)))}m._rgb==null&&console.warn("unknown format: "+t),m._rgb==null&&(m._rgb=[0,0,0]),m._rgb.length===3&&m._rgb.push(1)}return n.prototype.toString=function(){return this.hex()},n}(),b._input=v;b.brewer=se={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},function(){var n,a;a=[];for(n in se)a.push(se[n.toLowerCase()]=se[n]);return a}(),Se={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},b.colors=nx=Se,pr=function(){var n,a,t,h,o,u,m,x,c;return a=Y(arguments),o=a[0],n=a[1],t=a[2],x=(o+16)/116,m=isNaN(n)?x:x+n/500,c=isNaN(t)?x:x-t/200,x=i.Yn*Wn(x),m=i.Xn*Wn(m),c=i.Zn*Wn(c),u=Un(3.2404542*m-1.5371385*x-.4985314*c),h=Un(-.969266*m+1.8760108*x+.041556*c),t=Un(.0556434*m-.2040259*x+1.0572252*c),[u,h,t,a.length>3?a[3]:1]},Un=function(n){return 255*(n<=.00304?12.92*n:1.055*re(n,1/2.4)-.055)},Wn=function(n){return n>i.t1?n*n*n:i.t2*(n-i.t0)},i={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},Cr=function(){var n,a,t,h,o,u,m,x;return h=Y(arguments),t=h[0],a=h[1],n=h[2],o=tt(t,a,n),u=o[0],m=o[1],x=o[2],[116*m-16,500*(u-m),200*(m-x)]},Kn=function(n){return(n/=255)<=.04045?n/12.92:re((n+.055)/1.055,2.4)},Jn=function(n){return n>i.t3?re(n,1/3):n/i.t2+i.t0},tt=function(){var n,a,t,h,o,u,m;return h=Y(arguments),t=h[0],a=h[1],n=h[2],t=Kn(t),a=Kn(a),n=Kn(n),o=Jn((.4124564*t+.3575761*a+.1804375*n)/i.Xn),u=Jn((.2126729*t+.7151522*a+.072175*n)/i.Yn),m=Jn((.0193339*t+.119192*a+.9503041*n)/i.Zn),[o,u,m]},b.lab=function(){return function(n,a,t){t.prototype=n.prototype;var h=new t,o=n.apply(h,a);return Object(o)===o?o:h}(e,fe.call(arguments).concat(["lab"]),function(){})},v.lab=pr,e.prototype.lab=function(){return Cr(this._rgb)},Z=function(n){var a,t,h,o,u,m,x,c,g,B,S;return n=function(){var y,C,D;for(D=[],C=0,y=n.length;C<y;C++)o=n[C],D.push(b(o));return D}(),n.length===2?(g=function(){var y,C,D;for(D=[],C=0,y=n.length;C<y;C++)o=n[C],D.push(o.lab());return D}(),u=g[0],m=g[1],a=function(y){var C,D;return D=function(){var _,T;for(T=[],C=_=0;_<=2;C=++_)T.push(u[C]+y*(m[C]-u[C]));return T}(),b.lab.apply(b,D)}):n.length===3?(B=function(){var y,C,D;for(D=[],C=0,y=n.length;C<y;C++)o=n[C],D.push(o.lab());return D}(),u=B[0],m=B[1],x=B[2],a=function(y){var C,D;return D=function(){var _,T;for(T=[],C=_=0;_<=2;C=++_)T.push((1-y)*(1-y)*u[C]+2*(1-y)*y*m[C]+y*y*x[C]);return T}(),b.lab.apply(b,D)}):n.length===4?(S=function(){var y,C,D;for(D=[],C=0,y=n.length;C<y;C++)o=n[C],D.push(o.lab());return D}(),u=S[0],m=S[1],x=S[2],c=S[3],a=function(y){var C,D;return D=function(){var _,T;for(T=[],C=_=0;_<=2;C=++_)T.push((1-y)*(1-y)*(1-y)*u[C]+3*(1-y)*(1-y)*y*m[C]+3*(1-y)*y*y*x[C]+y*y*y*c[C]);return T}(),b.lab.apply(b,D)}):n.length===5&&(t=Z(n.slice(0,3)),h=Z(n.slice(2,5)),a=function(y){return y<.5?t(y*2):h((y-.5)*2)}),a},b.bezier=function(n){var a;return a=Z(n),a.scale=function(){return b.scale(a)},a},b.cubehelix=function(n,a,t,h,o){var u,m,x;return n==null&&(n=300),a==null&&(a=-1.5),t==null&&(t=1),h==null&&(h=1),o==null&&(o=[0,1]),u=0,K(o)==="array"?m=o[1]-o[0]:(m=0,o=[o,o]),x=function(c){var g,B,S,y,C,D,_,T,I;return g=p*((n+120)/360+a*c),_=re(o[0]+m*c,h),D=u!==0?t[0]+c*u:t,B=D*_*(1-_)/2,y=ue(g),I=hn(g),T=_+B*(-.14861*y+1.78277*I),C=_+B*(-.29227*y-.90649*I),S=_+B*(1.97294*y),b(pe([T*255,C*255,S*255,1]))},x.start=function(c){return c==null?n:(n=c,x)},x.rotations=function(c){return c==null?a:(a=c,x)},x.gamma=function(c){return c==null?h:(h=c,x)},x.hue=function(c){return c==null?t:(t=c,K(t)==="array"?(u=t[1]-t[0],u===0&&(t=t[1])):u=0,x)},x.lightness=function(c){return c==null?o:(K(c)==="array"?(o=c,m=c[1]-c[0]):(o=[c,c],m=0),x)},x.scale=function(){return b.scale(x)},x.hue(t),x},b.random=function(){var n,a,t,h;for(a="0123456789abcdef",n="#",t=h=0;h<6;t=++h)n+=a.charAt(an(Math.random()*16));return new e(n)},O=[],In=function(n,a,t,h){var o,u,m,x;for(t==null&&(t=.5),h==null&&(h="rgb"),K(n)!=="object"&&(n=b(n)),K(a)!=="object"&&(a=b(a)),m=0,u=O.length;m<u;m++)if(o=O[m],h===o[0]){x=o[1](n,a,t,h);break}if(x==null)throw"color mode "+h+" is not supported";return x.alpha(n.alpha()+t*(a.alpha()-n.alpha()))},b.interpolate=In,e.prototype.interpolate=function(n,a,t){return In(this,n,a,t)},b.mix=In,e.prototype.mix=e.prototype.interpolate,v.rgb=function(){var n,a,t,h;a=Y(arguments),t=[];for(n in a)h=a[n],t.push(h);return t},b.rgb=function(){return function(n,a,t){t.prototype=n.prototype;var h=new t,o=n.apply(h,a);return Object(o)===o?o:h}(e,fe.call(arguments).concat(["rgb"]),function(){})},e.prototype.rgb=function(n){return n==null&&(n=!0),n?this._rgb.map(Math.round).slice(0,3):this._rgb.slice(0,3)},e.prototype.rgba=function(n){return n==null&&(n=!0),n?[Math.round(this._rgb[0]),Math.round(this._rgb[1]),Math.round(this._rgb[2]),this._rgb[3]]:this._rgb.slice(0)},w.push({p:3,test:function(n){var a;if(a=Y(arguments),K(a)==="array"&&a.length===3||a.length===4&&K(a[3])==="number"&&a[3]>=0&&a[3]<=1)return"rgb"}}),v.lrgb=v.rgb,ja=function(n,a,t,h){var o,u;return o=n._rgb,u=a._rgb,new e(xe(re(o[0],2)*(1-t)+re(u[0],2)*t),xe(re(o[1],2)*(1-t)+re(u[1],2)*t),xe(re(o[2],2)*(1-t)+re(u[2],2)*t),h)},A=function(n){var a,t,h,o,u,m;for(t=1/n.length,m=[0,0,0,0],o=0,h=n.length;o<h;o++)a=n[o],u=a._rgb,m[0]+=re(u[0],2)*t,m[1]+=re(u[1],2)*t,m[2]+=re(u[2],2)*t,m[3]+=u[3]*t;return m[0]=xe(m[0]),m[1]=xe(m[1]),m[2]=xe(m[2]),m[3]>1&&(m[3]=1),new e(pe(m))},O.push(["lrgb",ja]),b.average=function(n,a){var t,h,o,u,m,x,c,g,B,S,y,C,D;if(a==null&&(a="rgb"),B=n.length,n=n.map(function(_){return b(_)}),c=n.splice(0,1)[0],a==="lrgb")return A(n);C=c.get(a),u=[],m=0,x=0;for(g in C)C[g]=C[g]||0,u.push(isNaN(C[g])?0:1),a.charAt(g)==="h"&&!isNaN(C[g])&&(t=C[g]/180*l,m+=ue(t),x+=hn(t));for(h=c.alpha(),y=0,S=n.length;y<S;y++){o=n[y],D=o.get(a),h+=o.alpha();for(g in C)isNaN(D[g])||(u[g]+=1,a.charAt(g)==="h"?(t=D[g]/180*l,m+=ue(t),x+=hn(t)):C[g]+=D[g])}for(g in C)if(a.charAt(g)==="h"){for(t=ne(x/u[g],m/u[g])/l*180;t<0;)t+=360;for(;t>=360;)t-=360;C[g]=t}else C[g]=C[g]/u[g];return b(C,a).alpha(h/B)},tn=function(n){var a,t,h,o,u,m;if(n.match(/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/))return(n.length===4||n.length===7)&&(n=n.substr(1)),n.length===3&&(n=n.split(""),n=n[0]+n[0]+n[1]+n[1]+n[2]+n[2]),m=parseInt(n,16),o=m>>16,h=m>>8&255,t=m&255,[o,h,t,1];if(n.match(/^#?([A-Fa-f0-9]{8})$/))return n.length===9&&(n=n.substr(1)),m=parseInt(n,16),o=m>>24&255,h=m>>16&255,t=m>>8&255,a=me((m&255)/255*100)/100,[o,h,t,a];if(v.css!=null&&(u=v.css(n)))return u;throw"unknown color: "+n},Xa=function(n,a){var t,h,o,u,m,x,c;return a==null&&(a="auto"),m=n[0],o=n[1],h=n[2],t=n[3],a==="auto"&&(a=t<1?"rgba":"rgb"),m=Math.round(m),o=Math.round(o),h=Math.round(h),c=m<<16|o<<8|h,x="000000"+c.toString(16),x=x.substr(x.length-6),u="0"+me(t*255).toString(16),u=u.substr(u.length-2),"#"+function(){switch(a.toLowerCase()){case"rgba":return x+u;case"argb":return u+x;default:return x}}()},v.hex=function(n){return tn(n)},b.hex=function(){return function(n,a,t){t.prototype=n.prototype;var h=new t,o=n.apply(h,a);return Object(o)===o?o:h}(e,fe.call(arguments).concat(["hex"]),function(){})},e.prototype.hex=function(n){return n==null&&(n="auto"),Xa(this._rgb,n)},w.push({p:4,test:function(n){if(arguments.length===1&&K(n)==="string")return"hex"}}),Nn=function(){var n,a,t,h,o,u,m,x,c,g,B,S,y,C;if(n=Y(arguments),o=n[0],B=n[1],m=n[2],B===0)c=h=a=m*255;else{for(C=[0,0,0],t=[0,0,0],y=m<.5?m*(1+B):m+B-m*B,S=2*m-y,o/=360,C[0]=o+1/3,C[1]=o,C[2]=o-1/3,u=x=0;x<=2;u=++x)C[u]<0&&(C[u]+=1),C[u]>1&&(C[u]-=1),6*C[u]<1?t[u]=S+(y-S)*6*C[u]:2*C[u]<1?t[u]=y:3*C[u]<2?t[u]=S+(y-S)*(2/3-C[u])*6:t[u]=S;g=[me(t[0]*255),me(t[1]*255),me(t[2]*255)],c=g[0],h=g[1],a=g[2]}return n.length>3?[c,h,a,n[3]]:[c,h,a]},et=function(n,a,t){var h,o,u,m,x;return n!==void 0&&n.length>=3&&(m=n,n=m[0],a=m[1],t=m[2]),n/=255,a/=255,t/=255,u=Math.min(n,a,t),L=Math.max(n,a,t),o=(L+u)/2,L===u?(x=0,h=Number.NaN):x=o<.5?(L-u)/(L+u):(L-u)/(2-L-u),n===L?h=(a-t)/(L-u):a===L?h=2+(t-n)/(L-u):t===L&&(h=4+(n-a)/(L-u)),h*=60,h<0&&(h+=360),[h,x,o]},b.hsl=function(){return function(n,a,t){t.prototype=n.prototype;var h=new t,o=n.apply(h,a);return Object(o)===o?o:h}(e,fe.call(arguments).concat(["hsl"]),function(){})},v.hsl=Nn,e.prototype.hsl=function(){return et(this._rgb)},Ma=function(){var n,a,t,h,o,u,m,x,c,g,B,S,y,C,D,_,T,I;if(n=Y(arguments),o=n[0],_=n[1],I=n[2],I*=255,_===0)c=h=a=I;else switch(o===360&&(o=0),o>360&&(o-=360),o<0&&(o+=360),o/=60,u=an(o),t=o-u,m=I*(1-_),x=I*(1-_*t),T=I*(1-_*(1-t)),u){case 0:g=[I,T,m],c=g[0],h=g[1],a=g[2];break;case 1:B=[x,I,m],c=B[0],h=B[1],a=B[2];break;case 2:S=[m,I,T],c=S[0],h=S[1],a=S[2];break;case 3:y=[m,x,I],c=y[0],h=y[1],a=y[2];break;case 4:C=[T,m,I],c=C[0],h=C[1],a=C[2];break;case 5:D=[I,m,x],c=D[0],h=D[1],a=D[2]}return[c,h,a,n.length>3?n[3]:1]},nt=function(){var n,a,t,h,o,u,m,x,c;return m=Y(arguments),u=m[0],t=m[1],n=m[2],o=Math.min(u,t,n),L=Math.max(u,t,n),a=L-o,c=L/255,L===0?(h=Number.NaN,x=0):(x=a/L,u===L&&(h=(t-n)/a),t===L&&(h=2+(n-u)/a),n===L&&(h=4+(u-t)/a),h*=60,h<0&&(h+=360)),[h,x,c]},b.hsv=function(){return function(n,a,t){t.prototype=n.prototype;var h=new t,o=n.apply(h,a);return Object(o)===o?o:h}(e,fe.call(arguments).concat(["hsv"]),function(){})},v.hsv=Ma,e.prototype.hsv=function(){return nt(this._rgb)},Ya=function(n){var a,t,h;return K(n)==="number"&&n>=0&&n<=16777215?(h=n>>16,t=n>>8&255,a=n&255,[h,t,a,1]):(console.warn("unknown num color: "+n),[0,0,0,1])},rt=function(){var n,a,t,h;return h=Y(arguments),t=h[0],a=h[1],n=h[2],(t<<16)+(a<<8)+n},b.num=function(n){return new e(n,"num")},e.prototype.num=function(n){return n==null&&(n="rgb"),rt(this._rgb,n)},v.num=Ya,w.push({p:1,test:function(n){if(arguments.length===1&&K(n)==="number"&&n>=0&&n<=16777215)return"num"}}),ka=function(){var n,a,t,h,o,u,m,x,c,g,B,S,y,C,D,_,T,I,X,q;if(t=Y(arguments),x=t[0],o=t[1],a=t[2],o=o/100,m=m/100*255,n=o*255,o===0)S=m=h=a;else switch(x===360&&(x=0),x>360&&(x-=360),x<0&&(x+=360),x/=60,c=an(x),u=x-c,g=a*(1-o),B=g+n*(1-u),X=g+n*u,q=g+n,c){case 0:y=[q,X,g],S=y[0],m=y[1],h=y[2];break;case 1:C=[B,q,g],S=C[0],m=C[1],h=C[2];break;case 2:D=[g,q,X],S=D[0],m=D[1],h=D[2];break;case 3:_=[g,B,q],S=_[0],m=_[1],h=_[2];break;case 4:T=[X,g,q],S=T[0],m=T[1],h=T[2];break;case 5:I=[q,g,B],S=I[0],m=I[1],h=I[2]}return[S,m,h,t.length>3?t[3]:1]},Za=function(){var n,a,t,h,o,u,m,x,c;return c=Y(arguments),x=c[0],o=c[1],a=c[2],m=Math.min(x,o,a),L=Math.max(x,o,a),h=L-m,t=h*100/255,n=m/(255-h)*100,h===0?u=Number.NaN:(x===L&&(u=(o-a)/h),o===L&&(u=2+(a-x)/h),a===L&&(u=4+(x-o)/h),u*=60,u<0&&(u+=360)),[u,t,n]},b.hcg=function(){return function(n,a,t){t.prototype=n.prototype;var h=new t,o=n.apply(h,a);return Object(o)===o?o:h}(e,fe.call(arguments).concat(["hcg"]),function(){})},v.hcg=ka,e.prototype.hcg=function(){return Za(this._rgb)},Sa=function(n){var a,t,h,o,u,m,x,c;if(n=n.toLowerCase(),b.colors!=null&&b.colors[n])return tn(b.colors[n]);if(u=n.match(/rgb\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*\)/)){for(x=u.slice(1,4),o=m=0;m<=2;o=++m)x[o]=+x[o];x[3]=1}else if(u=n.match(/rgba\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*,\s*([01]|[01]?\.\d+)\)/))for(x=u.slice(1,5),o=c=0;c<=3;o=++c)x[o]=+x[o];else if(u=n.match(/rgb\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/)){for(x=u.slice(1,4),o=a=0;a<=2;o=++a)x[o]=me(x[o]*2.55);x[3]=1}else if(u=n.match(/rgba\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/)){for(x=u.slice(1,5),o=t=0;t<=2;o=++t)x[o]=me(x[o]*2.55);x[3]=+x[3]}else(u=n.match(/hsl\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/))?(h=u.slice(1,4),h[1]*=.01,h[2]*=.01,x=Nn(h),x[3]=1):(u=n.match(/hsla\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/))&&(h=u.slice(1,4),h[1]*=.01,h[2]*=.01,x=Nn(h),x[3]=+u[4]);return x},$a=function(n){var a;if(a=n[3]<1?"rgba":"rgb",a==="rgb")return a+"("+n.slice(0,3).map(me).join(",")+")";if(a==="rgba")return a+"("+n.slice(0,3).map(me).join(",")+","+n[3]+")"},Yn=function(n){return me(n*100)/100},Oa=function(n,a){var t;return t=a<1?"hsla":"hsl",n[0]=Yn(n[0]||0),n[1]=Yn(n[1]*100)+"%",n[2]=Yn(n[2]*100)+"%",t==="hsla"&&(n[3]=a),t+"("+n.join(",")+")"},v.css=function(n){return Sa(n)},b.css=function(){return function(n,a,t){t.prototype=n.prototype;var h=new t,o=n.apply(h,a);return Object(o)===o?o:h}(e,fe.call(arguments).concat(["css"]),function(){})},e.prototype.css=function(n){if(n==null&&(n="rgb"),n.slice(0,3)==="rgb")return $a(this._rgb);if(n.slice(0,3)==="hsl")return Oa(this.hsl(),this.alpha())},v.named=function(n){return tn(Se[n])},w.push({p:5,test:function(n){if(arguments.length===1&&Se[n]!=null)return"named"}}),e.prototype.name=function(n){var a,t;arguments.length&&(Se[n]&&(this._rgb=tn(Se[n])),this._rgb[3]=1),a=this.hex("rgb");for(t in Se)if(a===Se[t])return t;return a},Ia=function(){var n,a,t,h;return h=Y(arguments),t=h[0],n=h[1],a=h[2],a=a*r,[t,ue(a)*n,hn(a)*n]},gr=function(){var n,a,t,h,o,u,m,x,c,g,B;return t=Y(arguments),x=t[0],o=t[1],m=t[2],g=Ia(x,o,m),n=g[0],a=g[1],h=g[2],B=pr(n,a,h),c=B[0],u=B[1],h=B[2],[c,u,h,t.length>3?t[3]:1]},Na=function(){var n,a,t,h,o,u;return u=Y(arguments),o=u[0],n=u[1],a=u[2],t=xe(n*n+a*a),h=(ne(a,n)*F+360)%360,me(t*1e4)===0&&(h=Number.NaN),[o,t,h]},br=function(){var n,a,t,h,o,u,m;return u=Y(arguments),o=u[0],t=u[1],a=u[2],m=Cr(o,t,a),h=m[0],n=m[1],a=m[2],Na(h,n,a)},b.lch=function(){var n;return n=Y(arguments),new e(n,"lch")},b.hcl=function(){var n;return n=Y(arguments),new e(n,"hcl")},v.lch=gr,v.hcl=function(){var n,a,t,h;return h=Y(arguments),a=h[0],n=h[1],t=h[2],gr([t,n,a])},e.prototype.lch=function(){return br(this._rgb)},e.prototype.hcl=function(){return br(this._rgb).reverse()},Ua=function(n){var a,t,h,o,u,m,x,c,g;return n==null&&(n="rgb"),c=Y(arguments),x=c[0],o=c[1],a=c[2],x=x/255,o=o/255,a=a/255,u=1-Math.max(x,Math.max(o,a)),h=u<1?1/(1-u):0,t=(1-x-u)*h,m=(1-o-u)*h,g=(1-a-u)*h,[t,m,g,u]},Oe=function(){var n,a,t,h,o,u,m,x,c;return a=Y(arguments),h=a[0],m=a[1],c=a[2],u=a[3],n=a.length>4?a[4]:1,u===1?[0,0,0,n]:(x=h>=1?0:255*(1-h)*(1-u),o=m>=1?0:255*(1-m)*(1-u),t=c>=1?0:255*(1-c)*(1-u),[x,o,t,n])},v.cmyk=function(){return Oe(Y(arguments))},b.cmyk=function(){return function(n,a,t){t.prototype=n.prototype;var h=new t,o=n.apply(h,a);return Object(o)===o?o:h}(e,fe.call(arguments).concat(["cmyk"]),function(){})},e.prototype.cmyk=function(){return Ua(this._rgb)},v.gl=function(){var n,a,t,h,o;for(h=function(){var u,m;u=Y(arguments),m=[];for(a in u)o=u[a],m.push(o);return m}.apply(this,arguments),n=t=0;t<=2;n=++t)h[n]*=255;return h},b.gl=function(){return function(n,a,t){t.prototype=n.prototype;var h=new t,o=n.apply(h,a);return Object(o)===o?o:h}(e,fe.call(arguments).concat(["gl"]),function(){})},e.prototype.gl=function(){var n;return n=this._rgb,[n[0]/255,n[1]/255,n[2]/255,n[3]]},Br=function(n,a,t){var h;return h=Y(arguments),n=h[0],a=h[1],t=h[2],n=Vn(n),a=Vn(a),t=Vn(t),.2126*n+.7152*a+.0722*t},Vn=function(n){return n/=255,n<=.03928?n/12.92:re((n+.055)/1.055,2.4)},za=function(n,a,t,h){var o,u;return o=n._rgb,u=a._rgb,new e(o[0]+t*(u[0]-o[0]),o[1]+t*(u[1]-o[1]),o[2]+t*(u[2]-o[2]),h)},O.push(["rgb",za]),e.prototype.luminance=function(n,a){var t,h,o,u,m;return a==null&&(a="rgb"),arguments.length?(u=this._rgb,n===0?u=[0,0,0,this._rgb[3]]:n===1?u=[255,255,255,this[3]]:(t=Br(this._rgb),h=1e-7,o=20,m=function(x,c){var g,B;return B=x.interpolate(c,.5,a),g=B.luminance(),Math.abs(n-g)<h||!o--?B:g>n?m(x,B):m(B,c)},t>n?u=m(b("black"),this).rgba():u=m(this,b("white")).rgba()),b(u).alpha(this.alpha())):Br(this._rgb)},yr=function(n){var a,t,h,o;return o=n/100,o<66?(h=255,t=-155.25485562709179-.44596950469579133*(t=o-2)+104.49216199393888*Me(t),a=o<20?0:-254.76935184120902+.8274096064007395*(a=o-10)+115.67994401066147*Me(a)):(h=351.97690566805693+.114206453784165*(h=o-55)-40.25366309332127*Me(h),t=325.4494125711974+.07943456536662342*(t=o-50)-28.0852963507957*Me(t),a=255),[h,t,a]},at=function(){var n,a,t,h,o,u,m,x,c;for(m=Y(arguments),u=m[0],t=m[1],n=m[2],o=1e3,h=4e4,a=.4;h-o>a;)c=(h+o)*.5,x=yr(c),x[2]/x[0]>=n/u?h=c:o=c;return me(c)},b.temperature=b.kelvin=function(){return function(n,a,t){t.prototype=n.prototype;var h=new t,o=n.apply(h,a);return Object(o)===o?o:h}(e,fe.call(arguments).concat(["temperature"]),function(){})},v.temperature=v.kelvin=v.K=yr,e.prototype.temperature=function(){return at(this._rgb)},e.prototype.kelvin=e.prototype.temperature,b.contrast=function(n,a){var t,h,o,u;return((o=K(n))==="string"||o==="number")&&(n=new e(n)),((u=K(a))==="string"||u==="number")&&(a=new e(a)),t=n.luminance(),h=a.luminance(),t>h?(t+.05)/(h+.05):(h+.05)/(t+.05)},b.distance=function(n,a,t){var h,o,u,m,x,c,g;t==null&&(t="lab"),((x=K(n))==="string"||x==="number")&&(n=new e(n)),((c=K(a))==="string"||c==="number")&&(a=new e(a)),u=n.get(t),m=a.get(t),g=0;for(o in u)h=(u[o]||0)-(m[o]||0),g+=h*h;return Math.sqrt(g)},b.deltaE=function(n,a,t,h){var o,u,m,x,c,g,B,S,y,C,D,_,T,I,X,q,ce,le,R,W,ie,d,E,G,j,M,z;for(t==null&&(t=1),h==null&&(h=1),((ce=K(n))==="string"||ce==="number")&&(n=new e(n)),((le=K(a))==="string"||le==="number")&&(a=new e(a)),R=n.lab(),o=R[0],m=R[1],c=R[2],W=a.lab(),u=W[0],x=W[1],g=W[2],B=xe(m*m+c*c),S=xe(x*x+g*g),E=o<16?.511:.040975*o/(1+.01765*o),ie=.0638*B/(1+.0131*B)+.638,q=B<1e-6?0:ne(c,m)*180/l;q<0;)q+=360;for(;q>=360;)q-=360;return G=q>=164&&q<=345?.56+k(.2*ue(l*(q+168)/180)):.36+k(.4*ue(l*(q+35)/180)),y=B*B*B*B,X=xe(y/(y+1900)),d=ie*(X*G+1-X),I=o-u,T=B-S,D=m-x,_=c-g,C=D*D+_*_-T*T,j=I/(t*E),M=T/(h*ie),z=d,xe(j*j+M*M+C/(z*z))},e.prototype.get=function(n){var a,t,h,o,u,m;return h=this,u=n.split("."),o=u[0],a=u[1],m=h[o](),a?(t=o.indexOf(a),t>-1?m[t]:console.warn("unknown channel "+a+" in mode "+o)):m},e.prototype.set=function(n,a){var t,h,o,u,m,x;if(o=this,m=n.split("."),u=m[0],t=m[1],t)if(x=o[u](),h=u.indexOf(t),h>-1)if(K(a)==="string")switch(a.charAt(0)){case"+":x[h]+=+a;break;case"-":x[h]+=+a;break;case"*":x[h]*=+a.substr(1);break;case"/":x[h]/=+a.substr(1);break;default:x[h]=+a}else x[h]=a;else console.warn("unknown channel "+t+" in mode "+u);else x=a;return b(x,u).alpha(o.alpha())},e.prototype.clipped=function(){return this._rgb._clipped||!1},e.prototype.alpha=function(n){return arguments.length?b.rgb([this._rgb[0],this._rgb[1],this._rgb[2],n]):this._rgb[3]},e.prototype.darken=function(n){var a,t;return n==null&&(n=1),t=this,a=t.lab(),a[0]-=i.Kn*n,b.lab(a).alpha(t.alpha())},e.prototype.brighten=function(n){return n==null&&(n=1),this.darken(-n)},e.prototype.darker=e.prototype.darken,e.prototype.brighter=e.prototype.brighten,e.prototype.saturate=function(n){var a,t;return n==null&&(n=1),t=this,a=t.lch(),a[1]+=n*i.Kn,a[1]<0&&(a[1]=0),b.lch(a).alpha(t.alpha())},e.prototype.desaturate=function(n){return n==null&&(n=1),this.saturate(-n)},e.prototype.premultiply=function(){var n,a;return a=this.rgb(),n=this.alpha(),b(a[0]*n,a[1]*n,a[2]*n,n)},U=function(n,a,t){if(!U[t])throw"unknown blend mode "+t;return U[t](n,a)},Q=function(n){return function(a,t){var h,o;return h=b(t).rgb(),o=b(a).rgb(),b(n(h,o),"rgb")}},ye=function(n){return function(a,t){var h,o,u;for(u=[],h=o=0;o<=3;h=++o)u[h]=n(a[h],t[h]);return u}},Ka=function(n,a){return n},Va=function(n,a){return n*a/255},qa=function(n,a){return n>a?a:n},Wa=function(n,a){return n>a?n:a},ht=function(n,a){return 255*(1-(1-n/255)*(1-a/255))},Ja=function(n,a){return a<128?2*n*a/255:255*(1-2*(1-n/255)*(1-a/255))},de=function(n,a){return 255*(1-(1-a/255)/(n/255))},Pa=function(n,a){return n===255||(n=255*(a/255)/(1-n/255),n>255)?255:n},U.normal=Q(ye(Ka)),U.multiply=Q(ye(Va)),U.screen=Q(ye(ht)),U.overlay=Q(ye(Ja)),U.darken=Q(ye(qa)),U.lighten=Q(ye(Wa)),U.dodge=Q(ye(Pa)),U.burn=Q(ye(de)),b.blend=U,b.analyze=function(n){var a,t,h,o;for(h={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0},t=0,a=n.length;t<a;t++)o=n[t],o!=null&&!isNaN(o)&&(h.values.push(o),h.sum+=o,o<h.min&&(h.min=o),o>h.max&&(h.max=o),h.count+=1);return h.domain=[h.min,h.max],h.limits=function(u,m){return b.limits(h,u,m)},h},b.scale=function(n,a){var t,h,o,u,m,x,c,g,B,S,y,C,D,_,T,I,X,q,ce,le,R,W,ie;return S="rgb",y=b("#ccc"),T=0,x=!1,m=[0,1],_=[],D=[0,0],t=!1,o=[],C=!1,B=0,g=1,u=!1,h={},I=!0,c=1,W=function(d){var E,G,j,M,z,V;if(d==null&&(d=["#fff","#000"]),d!=null&&K(d)==="string"&&b.brewer!=null&&(d=b.brewer[d]||b.brewer[d.toLowerCase()]||d),K(d)==="array"){for(d.length===1&&(d=[d[0],d[0]]),d=d.slice(0),E=j=0,M=d.length-1;0<=M?j<=M:j>=M;E=0<=M?++j:--j)G=d[E],K(G)==="string"&&(d[E]=b(G));for(_.length=0,E=V=0,z=d.length-1;0<=z?V<=z:V>=z;E=0<=z?++V:--V)_.push(E/(d.length-1))}return R(),o=d},ce=function(d){var E,G;if(t!=null){for(G=t.length-1,E=0;E<G&&d>=t[E];)E++;return E-1}return 0},ie=function(d){return d},X=function(d){var E,G,j,M,z;return z=d,t.length>2&&(M=t.length-1,E=ce(d),j=t[0]+(t[1]-t[0])*(0+T*.5),G=t[M-1]+(t[M]-t[M-1])*(1-T*.5),z=B+(t[E]+(t[E+1]-t[E])*.5-j)/(G-j)*(g-B)),z},le=function(d,E){var G,j,M,z,V,H,ee,N;if(E==null&&(E=!1),isNaN(d)||d===null)return y;if(E?N=d:t&&t.length>2?(G=ce(d),N=G/(t.length-2)):g!==B?N=(d-B)/(g-B):N=1,E||(N=ie(N)),c!==1&&(N=re(N,c)),N=D[0]+N*(1-D[0]-D[1]),N=Math.min(1,Math.max(0,N)),z=Math.floor(N*1e4),I&&h[z])j=h[z];else{if(K(o)==="array")for(M=V=0,ee=_.length-1;0<=ee?V<=ee:V>=ee;M=0<=ee?++V:--V){if(H=_[M],N<=H){j=o[M];break}if(N>=H&&M===_.length-1){j=o[M];break}if(N>H&&N<_[M+1]){N=(N-H)/(_[M+1]-H),j=b.interpolate(o[M],o[M+1],N,S);break}}else K(o)==="function"&&(j=o(N));I&&(h[z]=j)}return j},R=function(){return h={}},W(n),q=function(d){var E;return E=b(le(d)),C&&E[C]?E[C]():E},q.classes=function(d){var E;return d!=null?(K(d)==="array"?(t=d,m=[d[0],d[d.length-1]]):(E=b.analyze(m),d===0?t=[E.min,E.max]:t=b.limits(E,"e",d)),q):t},q.domain=function(d){var E,G,j,M,z,V,H;if(!arguments.length)return m;if(B=d[0],g=d[d.length-1],_=[],j=o.length,d.length===j&&B!==g)for(z=0,M=d.length;z<M;z++)G=d[z],_.push((G-B)/(g-B));else for(E=H=0,V=j-1;0<=V?H<=V:H>=V;E=0<=V?++H:--H)_.push(E/(j-1));return m=[B,g],q},q.mode=function(d){return arguments.length?(S=d,R(),q):S},q.range=function(d,E){return W(d,E),q},q.out=function(d){return C=d,q},q.spread=function(d){return arguments.length?(T=d,q):T},q.correctLightness=function(d){return d==null&&(d=!0),u=d,R(),u?ie=function(E){var G,j,M,z,V,H,ee,N,ae;for(G=le(0,!0).lab()[0],j=le(1,!0).lab()[0],ee=G>j,M=le(E,!0).lab()[0],V=G+(j-G)*E,z=M-V,N=0,ae=1,H=20;Math.abs(z)>.01&&H-- >0;)(function(){return ee&&(z*=-1),z<0?(N=E,E+=(ae-E)*.5):(ae=E,E+=(N-E)*.5),M=le(E,!0).lab()[0],z=M-V})();return E}:ie=function(E){return E},q},q.padding=function(d){return d!=null?(K(d)==="number"&&(d=[d,d]),D=d,q):D},q.colors=function(d,E){var G,j,M,z,V,H,ee,N,ae;if(arguments.length<2&&(E="hex"),H=[],arguments.length===0)H=o.slice(0);else if(d===1)H=[q(.5)];else if(d>1)j=m[0],G=m[1]-j,H=function(){ee=[];for(var he=0;0<=d?he<d:he>d;0<=d?he++:he--)ee.push(he);return ee}.apply(this).map(function(he){return q(j+he/(d-1)*G)});else{if(n=[],N=[],t&&t.length>2)for(M=ae=1,V=t.length;1<=V?ae<V:ae>V;M=1<=V?++ae:--ae)N.push((t[M-1]+t[M])*.5);else N=m;H=N.map(function(he){return q(he)})}return b[E]&&(H=H.map(function(he){return he[E]()})),H},q.cache=function(d){return d!=null?(I=d,q):I},q.gamma=function(d){return d!=null?(c=d,q):c},q.nodata=function(d){return d!=null?(y=b(d),q):y},q},b.scales==null&&(b.scales={}),b.scales.cool=function(){return b.scale([b.hsl(180,1,.9),b.hsl(250,.7,.4)])},b.scales.hot=function(){return b.scale(["#000","#f00","#ff0","#fff"],[0,.25,.75,1]).mode("rgb")},b.analyze=function(n,a,t){var h,o,u,m,x,c,g;if(x={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0},t==null&&(t=function(){return!0}),h=function(B){B!=null&&!isNaN(B)&&(x.values.push(B),x.sum+=B,B<x.min&&(x.min=B),B>x.max&&(x.max=B),x.count+=1)},g=function(B,S){if(t(B,S))return a!=null&&K(a)==="function"?h(a(B)):a!=null&&K(a)==="string"||K(a)==="number"?h(B[a]):h(B)},K(n)==="array")for(m=0,u=n.length;m<u;m++)c=n[m],g(c);else for(o in n)c=n[o],g(c,o);return x.domain=[x.min,x.max],x.limits=function(B,S){return b.limits(x,B,S)},x},b.limits=function(n,a,t){var h,o,u,m,x,c,g,B,S,y,C,D,_,T,I,X,q,ce,le,R,W,ie,d,E,G,j,M,z,V,H,ee,N,ae,he,on,un,mn,ln,sn,xn,ot,fn,cn,Fn,dn,pn,gn,Cn,bn,Bn,rx,qe,$n,ut,ge,yn;if(a==null&&(a="equal"),t==null&&(t=7),K(n)==="array"&&(n=b.analyze(n)),G=n.min,L=n.max,rx=n.sum,ge=n.values.sort(function(Ar,Dr){return Ar-Dr}),t===1)return[G,L];if(d=[],a.substr(0,1)==="c"&&(d.push(G),d.push(L)),a.substr(0,1)==="e"){for(d.push(G),R=ee=1,on=t-1;1<=on?ee<=on:ee>=on;R=1<=on?++ee:--ee)d.push(G+R/t*(L-G));d.push(L)}else if(a.substr(0,1)==="l"){if(G<=0)throw"Logarithmic scales are only possible for values > 0";for(j=Math.LOG10E*Me(G),E=Math.LOG10E*Me(L),d.push(G),R=yn=1,un=t-1;1<=un?yn<=un:yn>=un;R=1<=un?++yn:--yn)d.push(re(10,j+R/t*(E-j)));d.push(L)}else if(a.substr(0,1)==="q"){for(d.push(G),R=h=1,fn=t-1;1<=fn?h<=fn:h>=fn;R=1<=fn?++h:--h)N=(ge.length-1)*R/t,ae=an(N),ae===N?d.push(ge[ae]):(he=N-ae,d.push(ge[ae]*(1-he)+ge[ae+1]*he));d.push(L)}else if(a.substr(0,1)==="k"){for(z=ge.length,T=new Array(z),ce=new Array(t),Bn=!0,V=0,X=null,X=[],X.push(G),R=o=1,cn=t-1;1<=cn?o<=cn:o>=cn;R=1<=cn?++o:--o)X.push(G+R/t*(L-G));for(X.push(L);Bn;){for(W=u=0,Fn=t-1;0<=Fn?u<=Fn:u>=Fn;W=0<=Fn?++u:--u)ce[W]=0;for(R=m=0,dn=z-1;0<=dn?m<=dn:m>=dn;R=0<=dn?++m:--m){for(ut=ge[R],M=Number.MAX_VALUE,W=x=0,pn=t-1;0<=pn?x<=pn:x>=pn;W=0<=pn?++x:--x)le=k(X[W]-ut),le<M&&(M=le,I=W);ce[I]++,T[R]=I}for(H=new Array(t),W=c=0,gn=t-1;0<=gn?c<=gn:c>=gn;W=0<=gn?++c:--c)H[W]=null;for(R=g=0,Cn=z-1;0<=Cn?g<=Cn:g>=Cn;R=0<=Cn?++g:--g)q=T[R],H[q]===null?H[q]=ge[R]:H[q]+=ge[R];for(W=B=0,bn=t-1;0<=bn?B<=bn:B>=bn;W=0<=bn?++B:--B)H[W]*=1/ce[W];for(Bn=!1,W=S=0,mn=t-1;0<=mn?S<=mn:S>=mn;W=0<=mn?++S:--S)if(H[W]!==X[R]){Bn=!0;break}X=H,V++,V>200&&(Bn=!1)}for(ie={},W=y=0,ln=t-1;0<=ln?y<=ln:y>=ln;W=0<=ln?++y:--y)ie[W]=[];for(R=C=0,sn=z-1;0<=sn?C<=sn:C>=sn;R=0<=sn?++C:--C)q=T[R],ie[q].push(ge[R]);for(qe=[],W=D=0,xn=t-1;0<=xn?D<=xn:D>=xn;W=0<=xn?++D:--D)qe.push(ie[W][0]),qe.push(ie[W][ie[W].length-1]);for(qe=qe.sort(function(Ar,Dr){return Ar-Dr}),d.push(qe[0]),R=_=1,ot=qe.length-1;_<=ot;R=_+=2)$n=qe[R],!isNaN($n)&&d.indexOf($n)===-1&&d.push($n)}return d},Ta=function(n,a,t){var h,o,u,m;return h=Y(arguments),n=h[0],a=h[1],t=h[2],isNaN(n)&&(n=0),n/=360,n<1/3?(o=(1-a)/3,m=(1+a*ue(p*n)/ue(f-p*n))/3,u=1-(o+m)):n<2/3?(n-=1/3,m=(1-a)/3,u=(1+a*ue(p*n)/ue(f-p*n))/3,o=1-(m+u)):(n-=2/3,u=(1-a)/3,o=(1+a*ue(p*n)/ue(f-p*n))/3,m=1-(u+o)),m=Hn(t*m*3),u=Hn(t*u*3),o=Hn(t*o*3),[m*255,u*255,o*255,h.length>3?h[3]:1]},Qa=function(){var n,a,t,h,o,u,m,x;return m=Y(arguments),u=m[0],a=m[1],n=m[2],p=Math.PI*2,u/=255,a/=255,n/=255,o=Math.min(u,a,n),h=(u+a+n)/3,x=1-o/h,x===0?t=0:(t=(u-a+(u-n))/2,t/=Math.sqrt((u-a)*(u-a)+(u-n)*(a-n)),t=Math.acos(t),n>a&&(t=p-t),t/=p),[t*360,x,h]},b.hsi=function(){return function(n,a,t){t.prototype=n.prototype;var h=new t,o=n.apply(h,a);return Object(o)===o?o:h}(e,fe.call(arguments).concat(["hsi"]),function(){})},v.hsi=Ta,e.prototype.hsi=function(){return Qa(this._rgb)},Ga=function(n,a,t,h){var o,u,m,x,c,g,B,S,y,C,D,_,T;return h==="hsl"?(_=n.hsl(),T=a.hsl()):h==="hsv"?(_=n.hsv(),T=a.hsv()):h==="hcg"?(_=n.hcg(),T=a.hcg()):h==="hsi"?(_=n.hsi(),T=a.hsi()):(h==="lch"||h==="hcl")&&(h="hcl",_=n.hcl(),T=a.hcl()),h.substr(0,1)==="h"&&(m=_[0],C=_[1],g=_[2],x=T[0],D=T[1],B=T[2]),!isNaN(m)&&!isNaN(x)?(x>m&&x-m>180?o=x-(m+360):x<m&&m-x>180?o=x+360-m:o=x-m,u=m+t*o):isNaN(m)?isNaN(x)?u=Number.NaN:(u=x,(g===1||g===0)&&h!=="hsv"&&(y=D)):(u=m,(B===1||B===0)&&h!=="hsv"&&(y=C)),y==null&&(y=C+t*(D-C)),c=g+t*(B-g),S=b[h](u,y,c)},O=O.concat(function(){var n,a,t,h;for(t=["hsv","hsl","hsi","hcl","lch","hcg"],h=[],a=0,n=t.length;a<n;a++)Ha=t[a],h.push([Ha,Ga]);return h}()),La=function(n,a,t,h){var o,u;return o=n.num(),u=a.num(),b.num(o+(u-o)*t,"num")},O.push(["num",La]),Ra=function(n,a,t,h){var o,u,m;return u=n.lab(),m=a.lab(),o=new e(u[0]+t*(m[0]-u[0]),u[1]+t*(m[1]-u[1]),u[2]+t*(m[2]-u[2]),h)},O.push(["lab",Ra])}).call(An)});var ft=s((QC,xt)=>{"use strict";xt.exports=function(){var e,r;if(typeof WeakMap!="function")return!1;try{e=new WeakMap([[r={},"one"],[{},"two"],[{},"three"]])}catch{return!1}return!(String(e)!=="[object WeakMap]"||typeof e.set!="function"||e.set({},1)!==e||typeof e.delete!="function"||typeof e.has!="function"||e.get(r)!=="one")}});var Ft=s((e2,ct)=>{"use strict";ct.exports=function(){}});var Pe=s((n2,dt)=>{"use strict";var lx=Ft()();dt.exports=function(e){return e!==lx&&e!==null}});var Er=s((r2,gt)=>{"use strict";var sx=Object.create,xx=Object.getPrototypeOf,pt={};gt.exports=function(){var e=Object.setPrototypeOf,r=arguments[0]||sx;return typeof e!="function"?!1:xx(e(r(null),pt))===pt}});var vr=s((a2,Ct)=>{"use strict";var fx=Pe(),cx={function:!0,object:!0};Ct.exports=function(e){return fx(e)&&cx[typeof e]||!1}});var Ae=s((t2,bt)=>{"use strict";var Fx=Pe();bt.exports=function(e){if(!Fx(e))throw new TypeError("Cannot use null or undefined");return e}});var yt=s((i2,Bt)=>{"use strict";var _r=Object.create,Xn;Er()()||(Xn=wr());Bt.exports=function(){var e,r,i;return!Xn||Xn.level!==1?_r:(e={},r={},i={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(l){if(l==="__proto__"){r[l]={configurable:!0,enumerable:!1,writable:!0,value:void 0};return}r[l]=i}),Object.defineProperties(e,r),Object.defineProperty(Xn,"nullPolyfill",{configurable:!1,enumerable:!1,writable:!1,value:e}),function(l,f){return _r(l===null?e:l,f)})}()});var wr=s((h2,At)=>{"use strict";var dx=vr(),px=Ae(),gx=Object.prototype.isPrototypeOf,Cx=Object.defineProperty,bx={configurable:!0,enumerable:!1,writable:!0,value:void 0},Qn;Qn=function(e,r){if(px(e),r===null||dx(r))return e;throw new TypeError("Prototype must be null or an object")};At.exports=function(e){var r,i;return e?(e.level===2?e.set?(i=e.set,r=function(l,f){return i.call(Qn(l,f),f),l}):r=function(l,f){return Qn(l,f).__proto__=f,l}:r=function l(f,F){var p;return Qn(f,F),p=gx.call(l.nullPolyfill,f),p&&delete l.nullPolyfill.__proto__,F===null&&(F=l.nullPolyfill),f.__proto__=F,p&&Cx(l.nullPolyfill,"__proto__",bx),f},Object.defineProperty(r,"level",{configurable:!1,enumerable:!1,writable:!1,value:e.level})):null}(function(){var e=Object.create(null),r={},i,l=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__");if(l){try{i=l.set,i.call(e,r)}catch{}if(Object.getPrototypeOf(e)===r)return{set:i,level:2}}return e.__proto__=r,Object.getPrototypeOf(e)===r?{level:2}:(e={},e.__proto__=r,Object.getPrototypeOf(e)===r?{level:1}:!1)}());yt()});var er=s((o2,Dt)=>{"use strict";Dt.exports=Er()()?Object.setPrototypeOf:wr()});var vt=s((u2,Et)=>{"use strict";var Bx=vr();Et.exports=function(e){if(!Bx(e))throw new TypeError(e+" is not an Object");return e}});var wt=s((m2,_t)=>{"use strict";var yx=Object.create(null),Ax=Math.random;_t.exports=function(){var e;do e=Ax().toString(36).slice(2);while(yx[e]);return e}});var Ge=s((l2,St)=>{"use strict";var Dx=void 0;St.exports=function(e){return e!==Dx&&e!==null}});var Sr=s((s2,qt)=>{"use strict";var Ex=Ge(),vx={object:!0,function:!0,undefined:!0};qt.exports=function(e){return Ex(e)?hasOwnProperty.call(vx,typeof e):!1}});var kt=s((x2,Pt)=>{"use strict";var _x=Sr();Pt.exports=function(e){if(!_x(e))return!1;try{return e.constructor?e.constructor.prototype===e:!1}catch{return!1}}});var Ot=s((f2,Tt)=>{"use strict";var wx=kt();Tt.exports=function(e){if(typeof e!="function"||!hasOwnProperty.call(e,"length"))return!1;try{if(typeof e.length!="number"||typeof e.call!="function"||typeof e.apply!="function")return!1}catch{return!1}return!wx(e)}});var qr=s((c2,Mt)=>{"use strict";var Sx=Ot(),qx=/^\s*class[\s{/}]/,Px=Function.prototype.toString;Mt.exports=function(e){return!(!Sx(e)||qx.test(Px.call(e)))}});var Rt=s((F2,Gt)=>{"use strict";Gt.exports=function(){var e=Object.assign,r;return typeof e!="function"?!1:(r={foo:"raz"},e(r,{bar:"dwa"},{trzy:"trzy"}),r.foo+r.bar+r.trzy==="razdwatrzy")}});var Lt=s((d2,jt)=>{"use strict";jt.exports=function(){try{return Object.keys("primitive"),!0}catch{return!1}}});var Nt=s((p2,zt)=>{"use strict";var kx=Pe(),Tx=Object.keys;zt.exports=function(e){return Tx(kx(e)?Object(e):e)}});var Wt=s((g2,It)=>{"use strict";It.exports=Lt()()?Object.keys:Nt()});var Vt=s((C2,Ht)=>{"use strict";var Ox=Wt(),Mx=Ae(),Gx=Math.max;Ht.exports=function(e,r){var i,l,f=Gx(arguments.length,2),F;for(e=Object(Mx(e)),F=function(p){try{e[p]=r[p]}catch(A){i||(i=A)}},l=1;l<f;++l)r=arguments[l],Ox(r).forEach(F);if(i!==void 0)throw i;return e}});var nr=s((b2,Kt)=>{"use strict";Kt.exports=Rt()()?Object.assign:Vt()});var Pr=s((B2,Yt)=>{"use strict";var Rx=Pe(),jx=Array.prototype.forEach,Lx=Object.create,zx=function(e,r){var i;for(i in e)r[i]=e[i]};Yt.exports=function(e){var r=Lx(null);return jx.call(arguments,function(i){Rx(i)&&zx(Object(i),r)}),r}});var Ut=s((y2,Jt)=>{"use strict";var kr="razdwatrzy";Jt.exports=function(){return typeof kr.contains!="function"?!1:kr.contains("dwa")===!0&&kr.contains("foo")===!1}});var Zt=s((A2,$t)=>{"use strict";var Nx=String.prototype.indexOf;$t.exports=function(e){return Nx.call(this,e,arguments[1])>-1}});var Tr=s((D2,Xt)=>{"use strict";Xt.exports=Ut()()?String.prototype.contains:Zt()});var De=s((E2,ri)=>{"use strict";var rr=Ge(),Qt=qr(),ei=nr(),ni=Pr(),En=Tr(),Ix=ri.exports=function(e,r){var i,l,f,F,p;return arguments.length<2||typeof e!="string"?(F=r,r=e,e=null):F=arguments[2],rr(e)?(i=En.call(e,"c"),l=En.call(e,"e"),f=En.call(e,"w")):(i=f=!0,l=!1),p={value:r,configurable:i,enumerable:l,writable:f},F?ei(ni(F),p):p};Ix.gs=function(e,r,i){var l,f,F,p;return typeof e!="string"?(F=i,i=r,r=e,e=null):F=arguments[3],rr(r)?Qt(r)?rr(i)?Qt(i)||(F=i,i=void 0):i=void 0:(F=r,r=i=void 0):r=void 0,rr(e)?(l=En.call(e,"c"),f=En.call(e,"e")):(l=!0,f=!1),p={get:r,set:i,configurable:l,enumerable:f},F?ei(ni(F),p):p}});var vn=s((v2,ti)=>{"use strict";var ai=Object.prototype.toString,Wx=ai.call(function(){return arguments}());ti.exports=function(e){return ai.call(e)===Wx}});var _n=s((_2,hi)=>{"use strict";var ii=Object.prototype.toString,Hx=ii.call("");hi.exports=function(e){return typeof e=="string"||e&&typeof e=="object"&&(e instanceof String||ii.call(e)===Hx)||!1}});var ui=s((w2,oi)=>{"use strict";oi.exports=function(){return typeof globalThis!="object"||!globalThis?!1:globalThis.Array===Array}});var si=s((S2,li)=>{var mi=function(){if(typeof self=="object"&&self)return self;if(typeof window=="object"&&window)return window;throw new Error("Unable to resolve global `this`")};li.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch{return mi()}try{return __global__||mi()}finally{delete Object.prototype.__global__}}()});var wn=s((q2,xi)=>{"use strict";xi.exports=ui()()?globalThis:si()});var ci=s((P2,fi)=>{"use strict";var Vx=wn(),Or={object:!0,symbol:!0};fi.exports=function(){var e=Vx.Symbol,r;if(typeof e!="function")return!1;r=e("test symbol");try{String(r)}catch{return!1}return!(!Or[typeof e.iterator]||!Or[typeof e.toPrimitive]||!Or[typeof e.toStringTag])}});var di=s((k2,Fi)=>{"use strict";Fi.exports=function(e){return e?typeof e=="symbol"?!0:!e.constructor||e.constructor.name!=="Symbol"?!1:e[e.constructor.toStringTag]==="Symbol":!1}});var Mr=s((T2,pi)=>{"use strict";var Kx=di();pi.exports=function(e){if(!Kx(e))throw new TypeError(e+" is not a symbol");return e}});var yi=s((O2,Bi)=>{"use strict";var gi=De(),Yx=Object.create,Ci=Object.defineProperty,Jx=Object.prototype,bi=Yx(null);Bi.exports=function(e){for(var r=0,i,l;bi[e+(r||"")];)++r;return e+=r||"",bi[e]=!0,i="@@"+e,Ci(Jx,i,gi.gs(null,function(f){l||(l=!0,Ci(this,i,gi(f)),l=!1)})),i}});var Di=s((M2,Ai)=>{"use strict";var Fe=De(),$=wn().Symbol;Ai.exports=function(e){return Object.defineProperties(e,{hasInstance:Fe("",$&&$.hasInstance||e("hasInstance")),isConcatSpreadable:Fe("",$&&$.isConcatSpreadable||e("isConcatSpreadable")),iterator:Fe("",$&&$.iterator||e("iterator")),match:Fe("",$&&$.match||e("match")),replace:Fe("",$&&$.replace||e("replace")),search:Fe("",$&&$.search||e("search")),species:Fe("",$&&$.species||e("species")),split:Fe("",$&&$.split||e("split")),toPrimitive:Fe("",$&&$.toPrimitive||e("toPrimitive")),toStringTag:Fe("",$&&$.toStringTag||e("toStringTag")),unscopables:Fe("",$&&$.unscopables||e("unscopables"))})}});var _i=s((G2,vi)=>{"use strict";var Ei=De(),Ux=Mr(),Sn=Object.create(null);vi.exports=function(e){return Object.defineProperties(e,{for:Ei(function(r){return Sn[r]?Sn[r]:Sn[r]=e(String(r))}),keyFor:Ei(function(r){var i;Ux(r);for(i in Sn)if(Sn[i]===r)return i})})}});var qi=s((R2,Si)=>{"use strict";var Ce=De(),Gr=Mr(),ar=wn().Symbol,$x=yi(),Zx=Di(),Xx=_i(),Qx=Object.create,Rr=Object.defineProperties,tr=Object.defineProperty,te,Ie,wi;if(typeof ar=="function")try{String(ar()),wi=!0}catch{}else ar=null;Ie=function(r){if(this instanceof Ie)throw new TypeError("Symbol is not a constructor");return te(r)};Si.exports=te=function e(r){var i;if(this instanceof e)throw new TypeError("Symbol is not a constructor");return wi?ar(r):(i=Qx(Ie.prototype),r=r===void 0?"":String(r),Rr(i,{__description__:Ce("",r),__name__:Ce("",$x(r))}))};Zx(te);Xx(te);Rr(Ie.prototype,{constructor:Ce(te),toString:Ce("",function(){return this.__name__})});Rr(te.prototype,{toString:Ce(function(){return"Symbol ("+Gr(this).__description__+")"}),valueOf:Ce(function(){return Gr(this)})});tr(te.prototype,te.toPrimitive,Ce("",function(){var e=Gr(this);return typeof e=="symbol"?e:e.toString()}));tr(te.prototype,te.toStringTag,Ce("c","Symbol"));tr(Ie.prototype,te.toStringTag,Ce("c",te.prototype[te.toStringTag]));tr(Ie.prototype,te.toPrimitive,Ce("c",te.prototype[te.toPrimitive]))});var ke=s((j2,Pi)=>{"use strict";Pi.exports=ci()()?wn().Symbol:qi()});var Ti=s((L2,ki)=>{"use strict";var ef=Ae();ki.exports=function(){return ef(this).length=0,this}});var We=s((z2,Oi)=>{"use strict";Oi.exports=function(e){if(typeof e!="function")throw new TypeError(e+" is not a function");return e}});var Gi=s((N2,Mi)=>{"use strict";var nf=Ge(),rf=Sr(),af=Object.prototype.toString;Mi.exports=function(e){if(!nf(e))return null;if(rf(e)){var r=e.toString;if(typeof r!="function"||r===af)return null}try{return""+e}catch{return null}}});var ji=s((I2,Ri)=>{"use strict";Ri.exports=function(e){try{return e.toString()}catch{try{return String(e)}catch{return null}}}});var zi=s((W2,Li)=>{"use strict";var tf=ji(),hf=/[\n\r\u2028\u2029]/g;Li.exports=function(e){var r=tf(e);return r===null?"<Non-coercible to string value>":(r.length>100&&(r=r.slice(0,99)+"\u2026"),r=r.replace(hf,function(i){switch(i){case` +`:return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}}),r)}});var Ii=s((H2,Ni)=>{"use strict";var of=Gi(),uf=zi();Ni.exports=function(e,r,i){i&&i.errorMessage&&(e=of(i.errorMessage));var l=e.indexOf("%v"),f=l>-1?uf(r):null;if(i&&i.name){var F=e.indexOf("%n");if(F>-1){if(l>-1){var p,A,w,P;return F>l?(p=f,w=l,A=i.name,P=F):(p=i.name,w=F,A=f,P=l),e.slice(0,w)+p+e.slice(w+2,P)+A+e.slice(P+2)}return e.slice(0,F)+i.name+e.slice(F+2)}}return l>-1?e.slice(0,l)+f+e.slice(l+2):e}});var jr=s((V2,Wi)=>{"use strict";var mf=Ge(),lf=Ii();Wi.exports=function(e,r,i){if(i&&!mf(e)){if("default"in i)return i.default;if(i.isOptional)return null}var l=i&&i.Error||TypeError,f=new l(lf(r,e,i));throw i&&i.errorCode&&(f.code=i.errorCode),f}});var Vi=s((K2,Hi)=>{"use strict";var sf=jr(),xf=Ge();Hi.exports=function(e){if(xf(e))return e;var r=arguments[1],i=r&&r.name?"Expected a value for %n, received %v":"Cannot use %v";return sf(e,i,r)}});var Yi=s((Y2,Ki)=>{"use strict";var ff=jr(),cf=qr();Ki.exports=function(e){if(cf(e))return e;var r=arguments[1],i=r&&r.name?"Expected a plain function for %n, received %v":"%v is not a plain function";return ff(e,i,r)}});var Ui=s((J2,Ji)=>{"use strict";Ji.exports=function(){var e=Array.from,r,i;return typeof e!="function"?!1:(r=["raz","dwa"],i=e(r),!!(i&&i!==r&&i[1]==="dwa"))}});var Zi=s((U2,$i)=>{"use strict";var Ff=Object.prototype.toString,df=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);$i.exports=function(e){return typeof e=="function"&&df(Ff.call(e))}});var Qi=s(($2,Xi)=>{"use strict";Xi.exports=function(){var e=Math.sign;return typeof e!="function"?!1:e(10)===1&&e(-20)===-1}});var nh=s((Z2,eh)=>{"use strict";eh.exports=function(e){return e=Number(e),isNaN(e)||e===0?e:e>0?1:-1}});var ah=s((X2,rh)=>{"use strict";rh.exports=Qi()()?Math.sign:nh()});var ih=s((Q2,th)=>{"use strict";var pf=ah(),gf=Math.abs,Cf=Math.floor;th.exports=function(e){return isNaN(e)?0:(e=Number(e),e===0||!isFinite(e)?e:pf(e)*Cf(gf(e)))}});var oh=s((eb,hh)=>{"use strict";var bf=ih(),Bf=Math.max;hh.exports=function(e){return Bf(0,bf(e))}});var sh=s((nb,lh)=>{"use strict";var yf=ke().iterator,Af=vn(),Df=Zi(),Ef=oh(),uh=We(),vf=Ae(),_f=Pe(),wf=_n(),mh=Array.isArray,Lr=Function.prototype.call,Re={configurable:!0,enumerable:!0,writable:!0,value:null},zr=Object.defineProperty;lh.exports=function(e){var r=arguments[1],i=arguments[2],l,f,F,p,A,w,P,v,O,k;if(e=Object(vf(e)),_f(r)&&uh(r),!this||this===Array||!Df(this)){if(!r){if(Af(e))return A=e.length,A!==1?Array.apply(null,e):(p=new Array(1),p[0]=e[0],p);if(mh(e)){for(p=new Array(A=e.length),f=0;f<A;++f)p[f]=e[f];return p}}p=[]}else l=this;if(!mh(e)){if((O=e[yf])!==void 0){for(P=uh(O).call(e),l&&(p=new l),v=P.next(),f=0;!v.done;)k=r?Lr.call(r,i,v.value,f):v.value,l?(Re.value=k,zr(p,f,Re)):p[f]=k,v=P.next(),++f;A=f}else if(wf(e)){for(A=e.length,l&&(p=new l),f=0,F=0;f<A;++f)k=e[f],f+1<A&&(w=k.charCodeAt(0),w>=55296&&w<=56319&&(k+=e[++f])),k=r?Lr.call(r,i,k,F):k,l?(Re.value=k,zr(p,F,Re)):p[F]=k,++F;A=F}}if(A===void 0)for(A=Ef(e.length),l&&(p=new l(A)),f=0;f<A;++f)k=r?Lr.call(r,i,e[f],f):e[f],l?(Re.value=k,zr(p,f,Re)):p[f]=k;return l&&(Re.value=null,p.length=A),p}});var fh=s((rb,xh)=>{"use strict";xh.exports=Ui()()?Array.from:sh()});var Fh=s((ab,ch)=>{"use strict";var Sf=fh(),qf=nr(),Pf=Ae();ch.exports=function(e){var r=Object(Pf(e)),i=arguments[1],l=Object(arguments[2]);if(r!==e&&!i)return r;var f={};return i?Sf(i,function(F){(l.ensure||F in e)&&(f[F]=e[F])}):qf(f,e),f}});var gh=s((tb,ph)=>{"use strict";var kf=We(),Tf=Ae(),Of=Function.prototype.bind,dh=Function.prototype.call,Mf=Object.keys,Gf=Object.prototype.propertyIsEnumerable;ph.exports=function(e,r){return function(i,l){var f,F=arguments[2],p=arguments[3];return i=Object(Tf(i)),kf(l),f=Mf(i),p&&f.sort(typeof p=="function"?Of.call(p,i):void 0),typeof e!="function"&&(e=f[e]),dh.call(e,f,function(A,w){return Gf.call(i,A)?dh.call(l,F,i[A],A,i,w):r})}}});var bh=s((ib,Ch)=>{"use strict";Ch.exports=gh()("forEach")});var yh=s((hb,Bh)=>{"use strict";var Rf=We(),jf=bh(),Lf=Function.prototype.call;Bh.exports=function(e,r){var i={},l=arguments[2];return Rf(r),jf(e,function(f,F,p,A){i[F]=Lf.call(r,l,f,F,p,A)}),i}});var vh=s((ob,Eh)=>{"use strict";var zf=Ge(),Nf=Vi(),Ah=Yi(),If=Fh(),Wf=Pr(),Hf=yh(),Vf=Function.prototype.bind,Kf=Object.defineProperty,Yf=Object.prototype.hasOwnProperty,Dh;Dh=function(e,r,i){var l=Nf(r)&&Ah(r.value),f;return f=If(r),delete f.writable,delete f.value,f.get=function(){return!i.overwriteDefinition&&Yf.call(this,e)?l:(r.value=Vf.call(l,i.resolveContext?i.resolveContext(this):this),Kf(this,e,r),this[e])},f};Eh.exports=function(e){var r=Wf(arguments[1]);return zf(r.resolveContext)&&Ah(r.resolveContext),Hf(e,function(i,l){return Dh(l,i,r)})}});var Nr=s((ub,qh)=>{"use strict";var Jf=Ti(),Uf=nr(),$f=We(),Zf=Ae(),oe=De(),Xf=vh(),_h=ke(),wh=Object.defineProperty,Sh=Object.defineProperties,qn;qh.exports=qn=function(e,r){if(!(this instanceof qn))throw new TypeError("Constructor requires 'new'");Sh(this,{__list__:oe("w",Zf(e)),__context__:oe("w",r),__nextIndex__:oe("w",0)}),r&&($f(r.on),r.on("_add",this._onAdd),r.on("_delete",this._onDelete),r.on("_clear",this._onClear))};delete qn.prototype.constructor;Sh(qn.prototype,Uf({_next:oe(function(){var e;if(this.__list__){if(this.__redo__&&(e=this.__redo__.shift(),e!==void 0))return e;if(this.__nextIndex__<this.__list__.length)return this.__nextIndex__++;this._unBind()}}),next:oe(function(){return this._createResult(this._next())}),_createResult:oe(function(e){return e===void 0?{done:!0,value:void 0}:{done:!1,value:this._resolve(e)}}),_resolve:oe(function(e){return this.__list__[e]}),_unBind:oe(function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off("_add",this._onAdd),this.__context__.off("_delete",this._onDelete),this.__context__.off("_clear",this._onClear),this.__context__=null)}),toString:oe(function(){return"[object "+(this[_h.toStringTag]||"Object")+"]"})},Xf({_onAdd:oe(function(e){if(!(e>=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){wh(this,"__redo__",oe("c",[e]));return}this.__redo__.forEach(function(r,i){r>=e&&(this.__redo__[i]=++r)},this),this.__redo__.push(e)}}),_onDelete:oe(function(e){var r;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(r=this.__redo__.indexOf(e),r!==-1&&this.__redo__.splice(r,1),this.__redo__.forEach(function(i,l){i>e&&(this.__redo__[l]=--i)},this)))}),_onClear:oe(function(){this.__redo__&&Jf.call(this.__redo__),this.__nextIndex__=0})})));wh(qn.prototype,_h.iterator,oe(function(){return this}))});var Mh=s((mb,Oh)=>{"use strict";var Ph=er(),kh=Tr(),Ir=De(),Qf=ke(),Wr=Nr(),Th=Object.defineProperty,He;He=Oh.exports=function(e,r){if(!(this instanceof He))throw new TypeError("Constructor requires 'new'");Wr.call(this,e),r?kh.call(r,"key+value")?r="key+value":kh.call(r,"key")?r="key":r="value":r="value",Th(this,"__kind__",Ir("",r))};Ph&&Ph(He,Wr);delete He.prototype.constructor;He.prototype=Object.create(Wr.prototype,{_resolve:Ir(function(e){return this.__kind__==="value"?this.__list__[e]:this.__kind__==="key+value"?[e,this.__list__[e]]:e})});Th(He.prototype,Qf.toStringTag,Ir("c","Array Iterator"))});var Lh=s((lb,jh)=>{"use strict";var Gh=er(),ir=De(),e0=ke(),Hr=Nr(),Rh=Object.defineProperty,Ve;Ve=jh.exports=function(e){if(!(this instanceof Ve))throw new TypeError("Constructor requires 'new'");e=String(e),Hr.call(this,e),Rh(this,"__length__",ir("",e.length))};Gh&&Gh(Ve,Hr);delete Ve.prototype.constructor;Ve.prototype=Object.create(Hr.prototype,{_next:ir(function(){if(this.__list__){if(this.__nextIndex__<this.__length__)return this.__nextIndex__++;this._unBind()}}),_resolve:ir(function(e){var r=this.__list__[e],i;return this.__nextIndex__===this.__length__?r:(i=r.charCodeAt(0),i>=55296&&i<=56319?r+this.__list__[this.__nextIndex__++]:r)})});Rh(Ve.prototype,e0.toStringTag,ir("c","String Iterator"))});var Nh=s((sb,zh)=>{"use strict";var n0=vn(),r0=Pe(),a0=_n(),t0=ke().iterator,i0=Array.isArray;zh.exports=function(e){return r0(e)?i0(e)||a0(e)||n0(e)?!0:typeof e[t0]=="function":!1}});var Wh=s((xb,Ih)=>{"use strict";var h0=Nh();Ih.exports=function(e){if(!h0(e))throw new TypeError(e+" is not iterable");return e}});var Vr=s((fb,Kh)=>{"use strict";var o0=vn(),u0=_n(),Hh=Mh(),m0=Lh(),l0=Wh(),Vh=ke().iterator;Kh.exports=function(e){return typeof l0(e)[Vh]=="function"?e[Vh]():o0(e)?new Hh(e):u0(e)?new m0(e):new Hh(e)}});var Jh=s((cb,Yh)=>{"use strict";var s0=vn(),x0=We(),f0=_n(),c0=Vr(),F0=Array.isArray,Kr=Function.prototype.call,d0=Array.prototype.some;Yh.exports=function(e,r){var i,l=arguments[2],f,F,p,A,w,P,v;if(F0(e)||s0(e)?i="array":f0(e)?i="string":e=c0(e),x0(r),F=function(){p=!0},i==="array"){d0.call(e,function(O){return Kr.call(r,l,O,F),p});return}if(i==="string"){for(w=e.length,A=0;A<w&&(P=e[A],A+1<w&&(v=P.charCodeAt(0),v>=55296&&v<=56319&&(P+=e[++A])),Kr.call(r,l,P,F),!p);++A);return}for(f=e.next();!f.done;){if(Kr.call(r,l,f.value,F),p)return;f=e.next()}}});var $h=s((Fb,Uh)=>{"use strict";Uh.exports=function(){return typeof WeakMap!="function"?!1:Object.prototype.toString.call(new WeakMap)==="[object WeakMap]"}()});var Qh=s((db,Xh)=>{"use strict";var p0=Pe(),or=er(),hr=vt(),g0=Ae(),C0=wt(),Ee=De(),b0=Vr(),B0=Jh(),y0=ke().toStringTag,Zh=$h(),A0=Array.isArray,Jr=Object.defineProperty,Yr=Object.prototype.hasOwnProperty,D0=Object.getPrototypeOf,Te;Xh.exports=Te=function(){var e=arguments[0],r;if(!(this instanceof Te))throw new TypeError("Constructor requires 'new'");return r=Zh&&or&&WeakMap!==Te?or(new WeakMap,D0(this)):this,p0(e)&&(A0(e)||(e=b0(e))),Jr(r,"__weakMapData__",Ee("c","$weakMap$"+C0())),e&&B0(e,function(i){g0(i),r.set(i[0],i[1])}),r};Zh&&(or&&or(Te,WeakMap),Te.prototype=Object.create(WeakMap.prototype,{constructor:Ee(Te)}));Object.defineProperties(Te.prototype,{delete:Ee(function(e){return Yr.call(hr(e),this.__weakMapData__)?(delete e[this.__weakMapData__],!0):!1}),get:Ee(function(e){if(Yr.call(hr(e),this.__weakMapData__))return e[this.__weakMapData__]}),has:Ee(function(e){return Yr.call(hr(e),this.__weakMapData__)}),set:Ee(function(e,r){return Jr(hr(e),this.__weakMapData__,Ee("c",r)),this}),toString:Ee(function(){return"[object WeakMap]"})});Jr(Te.prototype,y0,Ee("c","WeakMap"))});var no=s((pb,eo)=>{"use strict";eo.exports=ft()()?WeakMap:Qh()});var ao=s((gb,ro)=>{ro.exports=[{name:"black",hex:"#000000"},{name:"blue",hex:"#0000FF"},{name:"cyan",hex:"#00FFFF"},{name:"green",hex:"#008000"},{name:"teal",hex:"#008080"},{name:"turquoise",hex:"#40E0D0"},{name:"indigo",hex:"#4B0082"},{name:"gray",hex:"#808080"},{name:"purple",hex:"#800080"},{name:"brown",hex:"#A52A2A"},{name:"tan",hex:"#D2B48C"},{name:"violet",hex:"#EE82EE"},{name:"beige",hex:"#F5F5DC"},{name:"fuchsia",hex:"#FF00FF"},{name:"gold",hex:"#FFD700"},{name:"magenta",hex:"#FF00FF"},{name:"orange",hex:"#FFA500"},{name:"pink",hex:"#FFC0CB"},{name:"red",hex:"#FF0000"},{name:"white",hex:"#FFFFFF"},{name:"yellow",hex:"#FFFF00"}]});var io=s((Cb,to)=>{to.exports=[{name:"aqua",hex:"#00FFFF"},{name:"aliceblue",hex:"#F0F8FF"},{name:"antiquewhite",hex:"#FAEBD7"},{name:"black",hex:"#000000"},{name:"blue",hex:"#0000FF"},{name:"cyan",hex:"#00FFFF"},{name:"darkblue",hex:"#00008B"},{name:"darkcyan",hex:"#008B8B"},{name:"darkgreen",hex:"#006400"},{name:"darkturquoise",hex:"#00CED1"},{name:"deepskyblue",hex:"#00BFFF"},{name:"green",hex:"#008000"},{name:"lime",hex:"#00FF00"},{name:"mediumblue",hex:"#0000CD"},{name:"mediumspringgreen",hex:"#00FA9A"},{name:"navy",hex:"#000080"},{name:"springgreen",hex:"#00FF7F"},{name:"teal",hex:"#008080"},{name:"midnightblue",hex:"#191970"},{name:"dodgerblue",hex:"#1E90FF"},{name:"lightseagreen",hex:"#20B2AA"},{name:"forestgreen",hex:"#228B22"},{name:"seagreen",hex:"#2E8B57"},{name:"darkslategray",hex:"#2F4F4F"},{name:"darkslategrey",hex:"#2F4F4F"},{name:"limegreen",hex:"#32CD32"},{name:"mediumseagreen",hex:"#3CB371"},{name:"turquoise",hex:"#40E0D0"},{name:"royalblue",hex:"#4169E1"},{name:"steelblue",hex:"#4682B4"},{name:"darkslateblue",hex:"#483D8B"},{name:"mediumturquoise",hex:"#48D1CC"},{name:"indigo",hex:"#4B0082"},{name:"darkolivegreen",hex:"#556B2F"},{name:"cadetblue",hex:"#5F9EA0"},{name:"cornflowerblue",hex:"#6495ED"},{name:"mediumaquamarine",hex:"#66CDAA"},{name:"dimgray",hex:"#696969"},{name:"dimgrey",hex:"#696969"},{name:"slateblue",hex:"#6A5ACD"},{name:"olivedrab",hex:"#6B8E23"},{name:"slategray",hex:"#708090"},{name:"slategrey",hex:"#708090"},{name:"lightslategray",hex:"#778899"},{name:"lightslategrey",hex:"#778899"},{name:"mediumslateblue",hex:"#7B68EE"},{name:"lawngreen",hex:"#7CFC00"},{name:"aquamarine",hex:"#7FFFD4"},{name:"chartreuse",hex:"#7FFF00"},{name:"gray",hex:"#808080"},{name:"grey",hex:"#808080"},{name:"maroon",hex:"#800000"},{name:"olive",hex:"#808000"},{name:"purple",hex:"#800080"},{name:"lightskyblue",hex:"#87CEFA"},{name:"skyblue",hex:"#87CEEB"},{name:"blueviolet",hex:"#8A2BE2"},{name:"darkmagenta",hex:"#8B008B"},{name:"darkred",hex:"#8B0000"},{name:"saddlebrown",hex:"#8B4513"},{name:"darkseagreen",hex:"#8FBC8F"},{name:"lightgreen",hex:"#90EE90"},{name:"mediumpurple",hex:"#9370DB"},{name:"darkviolet",hex:"#9400D3"},{name:"palegreen",hex:"#98FB98"},{name:"darkorchid",hex:"#9932CC"},{name:"yellowgreen",hex:"#9ACD32"},{name:"sienna",hex:"#A0522D"},{name:"brown",hex:"#A52A2A"},{name:"darkgray",hex:"#A9A9A9"},{name:"darkgrey",hex:"#A9A9A9"},{name:"greenyellow",hex:"#ADFF2F"},{name:"lightblue",hex:"#ADD8E6"},{name:"paleturquoise",hex:"#AFEEEE"},{name:"lightsteelblue",hex:"#B0C4DE"},{name:"powderblue",hex:"#B0E0E6"},{name:"firebrick",hex:"#B22222"},{name:"darkgoldenrod",hex:"#B8860B"},{name:"mediumorchid",hex:"#BA55D3"},{name:"rosybrown",hex:"#BC8F8F"},{name:"darkkhaki",hex:"#BDB76B"},{name:"silver",hex:"#C0C0C0"},{name:"mediumvioletred",hex:"#C71585"},{name:"indianred",hex:"#CD5C5C"},{name:"peru",hex:"#CD853F"},{name:"chocolate",hex:"#D2691E"},{name:"tan",hex:"#D2B48C"},{name:"lightgray",hex:"#D3D3D3"},{name:"lightgrey",hex:"#D3D3D3"},{name:"thistle",hex:"#D8BFD8"},{name:"goldenrod",hex:"#DAA520"},{name:"orchid",hex:"#DA70D6"},{name:"palevioletred",hex:"#DB7093"},{name:"crimson",hex:"#DC143C"},{name:"gainsboro",hex:"#DCDCDC"},{name:"plum",hex:"#DDA0DD"},{name:"burlywood",hex:"#DEB887"},{name:"lightcyan",hex:"#E0FFFF"},{name:"lavender",hex:"#E6E6FA"},{name:"darksalmon",hex:"#E9967A"},{name:"palegoldenrod",hex:"#EEE8AA"},{name:"violet",hex:"#EE82EE"},{name:"azure",hex:"#F0FFFF"},{name:"honeydew",hex:"#F0FFF0"},{name:"khaki",hex:"#F0E68C"},{name:"lightcoral",hex:"#F08080"},{name:"sandybrown",hex:"#F4A460"},{name:"beige",hex:"#F5F5DC"},{name:"mintcream",hex:"#F5FFFA"},{name:"wheat",hex:"#F5DEB3"},{name:"whitesmoke",hex:"#F5F5F5"},{name:"ghostwhite",hex:"#F8F8FF"},{name:"lightgoldenrodyellow",hex:"#FAFAD2"},{name:"linen",hex:"#FAF0E6"},{name:"salmon",hex:"#FA8072"},{name:"oldlace",hex:"#FDF5E6"},{name:"bisque",hex:"#FFE4C4"},{name:"blanchedalmond",hex:"#FFEBCD"},{name:"coral",hex:"#FF7F50"},{name:"cornsilk",hex:"#FFF8DC"},{name:"darkorange",hex:"#FF8C00"},{name:"deeppink",hex:"#FF1493"},{name:"floralwhite",hex:"#FFFAF0"},{name:"fuchsia",hex:"#FF00FF"},{name:"gold",hex:"#FFD700"},{name:"hotpink",hex:"#FF69B4"},{name:"ivory",hex:"#FFFFF0"},{name:"lavenderblush",hex:"#FFF0F5"},{name:"lemonchiffon",hex:"#FFFACD"},{name:"lightpink",hex:"#FFB6C1"},{name:"lightsalmon",hex:"#FFA07A"},{name:"lightyellow",hex:"#FFFFE0"},{name:"magenta",hex:"#FF00FF"},{name:"mistyrose",hex:"#FFE4E1"},{name:"moccasin",hex:"#FFE4B5"},{name:"navajowhite",hex:"#FFDEAD"},{name:"orange",hex:"#FFA500"},{name:"orangered",hex:"#FF4500"},{name:"papayawhip",hex:"#FFEFD5"},{name:"peachpuff",hex:"#FFDAB9"},{name:"pink",hex:"#FFC0CB"},{name:"red",hex:"#FF0000"},{name:"seashell",hex:"#FFF5EE"},{name:"snow",hex:"#FFFAFA"},{name:"tomato",hex:"#FF6347"},{name:"white",hex:"#FFFFFF"},{name:"yellow",hex:"#FFFF00"}]});var oo=s((bb,ho)=>{ho.exports=[{name:"Black",hex:"000000"},{name:"Navy Blue",hex:"000080"},{name:"Dark Blue",hex:"0000C8"},{name:"Blue",hex:"0000FF"},{name:"Stratos",hex:"000741"},{name:"Swamp",hex:"001B1C"},{name:"Resolution Blue",hex:"002387"},{name:"Deep Fir",hex:"002900"},{name:"Burnham",hex:"002E20"},{name:"International Klein Blue",hex:"002FA7"},{name:"Prussian Blue",hex:"003153"},{name:"Midnight Blue",hex:"003366"},{name:"Smalt",hex:"003399"},{name:"Deep Teal",hex:"003532"},{name:"Cyprus",hex:"003E40"},{name:"Kaitoke Green",hex:"004620"},{name:"Cobalt",hex:"0047AB"},{name:"Crusoe",hex:"004816"},{name:"Sherpa Blue",hex:"004950"},{name:"Endeavour",hex:"0056A7"},{name:"Camarone",hex:"00581A"},{name:"Science Blue",hex:"0066CC"},{name:"Blue Ribbon",hex:"0066FF"},{name:"Tropical Rain Forest",hex:"00755E"},{name:"Allports",hex:"0076A3"},{name:"Deep Cerulean",hex:"007BA7"},{name:"Lochmara",hex:"007EC7"},{name:"Azure Radiance",hex:"007FFF"},{name:"Teal",hex:"008080"},{name:"Bondi Blue",hex:"0095B6"},{name:"Pacific Blue",hex:"009DC4"},{name:"Persian Green",hex:"00A693"},{name:"Jade",hex:"00A86B"},{name:"Caribbean Green",hex:"00CC99"},{name:"Robin's Egg Blue",hex:"00CCCC"},{name:"Green",hex:"00FF00"},{name:"Spring Green",hex:"00FF7F"},{name:"Cyan / Aqua",hex:"00FFFF"},{name:"Blue Charcoal",hex:"010D1A"},{name:"Midnight",hex:"011635"},{name:"Holly",hex:"011D13"},{name:"Daintree",hex:"012731"},{name:"Cardin Green",hex:"01361C"},{name:"County Green",hex:"01371A"},{name:"Astronaut Blue",hex:"013E62"},{name:"Regal Blue",hex:"013F6A"},{name:"Aqua Deep",hex:"014B43"},{name:"Orient",hex:"015E85"},{name:"Blue Stone",hex:"016162"},{name:"Fun Green",hex:"016D39"},{name:"Pine Green",hex:"01796F"},{name:"Blue Lagoon",hex:"017987"},{name:"Deep Sea",hex:"01826B"},{name:"Green Haze",hex:"01A368"},{name:"English Holly",hex:"022D15"},{name:"Sherwood Green",hex:"02402C"},{name:"Congress Blue",hex:"02478E"},{name:"Evening Sea",hex:"024E46"},{name:"Bahama Blue",hex:"026395"},{name:"Observatory",hex:"02866F"},{name:"Cerulean",hex:"02A4D3"},{name:"Tangaroa",hex:"03163C"},{name:"Green Vogue",hex:"032B52"},{name:"Mosque",hex:"036A6E"},{name:"Midnight Moss",hex:"041004"},{name:"Black Pearl",hex:"041322"},{name:"Blue Whale",hex:"042E4C"},{name:"Zuccini",hex:"044022"},{name:"Teal Blue",hex:"044259"},{name:"Deep Cove",hex:"051040"},{name:"Gulf Blue",hex:"051657"},{name:"Venice Blue",hex:"055989"},{name:"Watercourse",hex:"056F57"},{name:"Catalina Blue",hex:"062A78"},{name:"Tiber",hex:"063537"},{name:"Gossamer",hex:"069B81"},{name:"Niagara",hex:"06A189"},{name:"Tarawera",hex:"073A50"},{name:"Jaguar",hex:"080110"},{name:"Black Bean",hex:"081910"},{name:"Deep Sapphire",hex:"082567"},{name:"Elf Green",hex:"088370"},{name:"Bright Turquoise",hex:"08E8DE"},{name:"Downriver",hex:"092256"},{name:"Palm Green",hex:"09230F"},{name:"Madison",hex:"09255D"},{name:"Bottle Green",hex:"093624"},{name:"Deep Sea Green",hex:"095859"},{name:"Salem",hex:"097F4B"},{name:"Black Russian",hex:"0A001C"},{name:"Dark Fern",hex:"0A480D"},{name:"Japanese Laurel",hex:"0A6906"},{name:"Atoll",hex:"0A6F75"},{name:"Cod Gray",hex:"0B0B0B"},{name:"Marshland",hex:"0B0F08"},{name:"Gordons Green",hex:"0B1107"},{name:"Black Forest",hex:"0B1304"},{name:"San Felix",hex:"0B6207"},{name:"Malachite",hex:"0BDA51"},{name:"Ebony",hex:"0C0B1D"},{name:"Woodsmoke",hex:"0C0D0F"},{name:"Racing Green",hex:"0C1911"},{name:"Surfie Green",hex:"0C7A79"},{name:"Blue Chill",hex:"0C8990"},{name:"Black Rock",hex:"0D0332"},{name:"Bunker",hex:"0D1117"},{name:"Aztec",hex:"0D1C19"},{name:"Bush",hex:"0D2E1C"},{name:"Cinder",hex:"0E0E18"},{name:"Firefly",hex:"0E2A30"},{name:"Torea Bay",hex:"0F2D9E"},{name:"Vulcan",hex:"10121D"},{name:"Green Waterloo",hex:"101405"},{name:"Eden",hex:"105852"},{name:"Arapawa",hex:"110C6C"},{name:"Ultramarine",hex:"120A8F"},{name:"Elephant",hex:"123447"},{name:"Jewel",hex:"126B40"},{name:"Diesel",hex:"130000"},{name:"Asphalt",hex:"130A06"},{name:"Blue Zodiac",hex:"13264D"},{name:"Parsley",hex:"134F19"},{name:"Nero",hex:"140600"},{name:"Tory Blue",hex:"1450AA"},{name:"Bunting",hex:"151F4C"},{name:"Denim",hex:"1560BD"},{name:"Genoa",hex:"15736B"},{name:"Mirage",hex:"161928"},{name:"Hunter Green",hex:"161D10"},{name:"Big Stone",hex:"162A40"},{name:"Celtic",hex:"163222"},{name:"Timber Green",hex:"16322C"},{name:"Gable Green",hex:"163531"},{name:"Pine Tree",hex:"171F04"},{name:"Chathams Blue",hex:"175579"},{name:"Deep Forest Green",hex:"182D09"},{name:"Blumine",hex:"18587A"},{name:"Palm Leaf",hex:"19330E"},{name:"Nile Blue",hex:"193751"},{name:"Fun Blue",hex:"1959A8"},{name:"Lucky Point",hex:"1A1A68"},{name:"Mountain Meadow",hex:"1AB385"},{name:"Tolopea",hex:"1B0245"},{name:"Haiti",hex:"1B1035"},{name:"Deep Koamaru",hex:"1B127B"},{name:"Acadia",hex:"1B1404"},{name:"Seaweed",hex:"1B2F11"},{name:"Biscay",hex:"1B3162"},{name:"Matisse",hex:"1B659D"},{name:"Crowshead",hex:"1C1208"},{name:"Rangoon Green",hex:"1C1E13"},{name:"Persian Blue",hex:"1C39BB"},{name:"Everglade",hex:"1C402E"},{name:"Elm",hex:"1C7C7D"},{name:"Green Pea",hex:"1D6142"},{name:"Creole",hex:"1E0F04"},{name:"Karaka",hex:"1E1609"},{name:"El Paso",hex:"1E1708"},{name:"Cello",hex:"1E385B"},{name:"Te Papa Green",hex:"1E433C"},{name:"Dodger Blue",hex:"1E90FF"},{name:"Eastern Blue",hex:"1E9AB0"},{name:"Night Rider",hex:"1F120F"},{name:"Java",hex:"1FC2C2"},{name:"Jacksons Purple",hex:"20208D"},{name:"Cloud Burst",hex:"202E54"},{name:"Blue Dianne",hex:"204852"},{name:"Eternity",hex:"211A0E"},{name:"Deep Blue",hex:"220878"},{name:"Forest Green",hex:"228B22"},{name:"Mallard",hex:"233418"},{name:"Violet",hex:"240A40"},{name:"Kilamanjaro",hex:"240C02"},{name:"Log Cabin",hex:"242A1D"},{name:"Black Olive",hex:"242E16"},{name:"Green House",hex:"24500F"},{name:"Graphite",hex:"251607"},{name:"Cannon Black",hex:"251706"},{name:"Port Gore",hex:"251F4F"},{name:"Shark",hex:"25272C"},{name:"Green Kelp",hex:"25311C"},{name:"Curious Blue",hex:"2596D1"},{name:"Paua",hex:"260368"},{name:"Paris M",hex:"26056A"},{name:"Wood Bark",hex:"261105"},{name:"Gondola",hex:"261414"},{name:"Steel Gray",hex:"262335"},{name:"Ebony Clay",hex:"26283B"},{name:"Bay of Many",hex:"273A81"},{name:"Plantation",hex:"27504B"},{name:"Eucalyptus",hex:"278A5B"},{name:"Oil",hex:"281E15"},{name:"Astronaut",hex:"283A77"},{name:"Mariner",hex:"286ACD"},{name:"Violent Violet",hex:"290C5E"},{name:"Bastille",hex:"292130"},{name:"Zeus",hex:"292319"},{name:"Charade",hex:"292937"},{name:"Jelly Bean",hex:"297B9A"},{name:"Jungle Green",hex:"29AB87"},{name:"Cherry Pie",hex:"2A0359"},{name:"Coffee Bean",hex:"2A140E"},{name:"Baltic Sea",hex:"2A2630"},{name:"Turtle Green",hex:"2A380B"},{name:"Cerulean Blue",hex:"2A52BE"},{name:"Sepia Black",hex:"2B0202"},{name:"Valhalla",hex:"2B194F"},{name:"Heavy Metal",hex:"2B3228"},{name:"Blue Gem",hex:"2C0E8C"},{name:"Revolver",hex:"2C1632"},{name:"Bleached Cedar",hex:"2C2133"},{name:"Lochinvar",hex:"2C8C84"},{name:"Mikado",hex:"2D2510"},{name:"Outer Space",hex:"2D383A"},{name:"St Tropaz",hex:"2D569B"},{name:"Jacaranda",hex:"2E0329"},{name:"Jacko Bean",hex:"2E1905"},{name:"Rangitoto",hex:"2E3222"},{name:"Rhino",hex:"2E3F62"},{name:"Sea Green",hex:"2E8B57"},{name:"Scooter",hex:"2EBFD4"},{name:"Onion",hex:"2F270E"},{name:"Governor Bay",hex:"2F3CB3"},{name:"Sapphire",hex:"2F519E"},{name:"Spectra",hex:"2F5A57"},{name:"Casal",hex:"2F6168"},{name:"Melanzane",hex:"300529"},{name:"Cocoa Brown",hex:"301F1E"},{name:"Woodrush",hex:"302A0F"},{name:"San Juan",hex:"304B6A"},{name:"Turquoise",hex:"30D5C8"},{name:"Eclipse",hex:"311C17"},{name:"Pickled Bluewood",hex:"314459"},{name:"Azure",hex:"315BA1"},{name:"Calypso",hex:"31728D"},{name:"Paradiso",hex:"317D82"},{name:"Persian Indigo",hex:"32127A"},{name:"Blackcurrant",hex:"32293A"},{name:"Mine Shaft",hex:"323232"},{name:"Stromboli",hex:"325D52"},{name:"Bilbao",hex:"327C14"},{name:"Astral",hex:"327DA0"},{name:"Christalle",hex:"33036B"},{name:"Thunder",hex:"33292F"},{name:"Shamrock",hex:"33CC99"},{name:"Tamarind",hex:"341515"},{name:"Mardi Gras",hex:"350036"},{name:"Valentino",hex:"350E42"},{name:"Jagger",hex:"350E57"},{name:"Tuna",hex:"353542"},{name:"Chambray",hex:"354E8C"},{name:"Martinique",hex:"363050"},{name:"Tuatara",hex:"363534"},{name:"Waiouru",hex:"363C0D"},{name:"Ming",hex:"36747D"},{name:"La Palma",hex:"368716"},{name:"Chocolate",hex:"370202"},{name:"Clinker",hex:"371D09"},{name:"Brown Tumbleweed",hex:"37290E"},{name:"Birch",hex:"373021"},{name:"Oracle",hex:"377475"},{name:"Blue Diamond",hex:"380474"},{name:"Grape",hex:"381A51"},{name:"Dune",hex:"383533"},{name:"Oxford Blue",hex:"384555"},{name:"Clover",hex:"384910"},{name:"Limed Spruce",hex:"394851"},{name:"Dell",hex:"396413"},{name:"Toledo",hex:"3A0020"},{name:"Sambuca",hex:"3A2010"},{name:"Jacarta",hex:"3A2A6A"},{name:"William",hex:"3A686C"},{name:"Killarney",hex:"3A6A47"},{name:"Keppel",hex:"3AB09E"},{name:"Temptress",hex:"3B000B"},{name:"Aubergine",hex:"3B0910"},{name:"Jon",hex:"3B1F1F"},{name:"Treehouse",hex:"3B2820"},{name:"Amazon",hex:"3B7A57"},{name:"Boston Blue",hex:"3B91B4"},{name:"Windsor",hex:"3C0878"},{name:"Rebel",hex:"3C1206"},{name:"Meteorite",hex:"3C1F76"},{name:"Dark Ebony",hex:"3C2005"},{name:"Camouflage",hex:"3C3910"},{name:"Bright Gray",hex:"3C4151"},{name:"Cape Cod",hex:"3C4443"},{name:"Lunar Green",hex:"3C493A"},{name:"Bean ",hex:"3D0C02"},{name:"Bistre",hex:"3D2B1F"},{name:"Goblin",hex:"3D7D52"},{name:"Kingfisher Daisy",hex:"3E0480"},{name:"Cedar",hex:"3E1C14"},{name:"English Walnut",hex:"3E2B23"},{name:"Black Marlin",hex:"3E2C1C"},{name:"Ship Gray",hex:"3E3A44"},{name:"Pelorous",hex:"3EABBF"},{name:"Bronze",hex:"3F2109"},{name:"Cola",hex:"3F2500"},{name:"Madras",hex:"3F3002"},{name:"Minsk",hex:"3F307F"},{name:"Cabbage Pont",hex:"3F4C3A"},{name:"Tom Thumb",hex:"3F583B"},{name:"Mineral Green",hex:"3F5D53"},{name:"Puerto Rico",hex:"3FC1AA"},{name:"Harlequin",hex:"3FFF00"},{name:"Brown Pod",hex:"401801"},{name:"Cork",hex:"40291D"},{name:"Masala",hex:"403B38"},{name:"Thatch Green",hex:"403D19"},{name:"Fiord",hex:"405169"},{name:"Viridian",hex:"40826D"},{name:"Chateau Green",hex:"40A860"},{name:"Ripe Plum",hex:"410056"},{name:"Paco",hex:"411F10"},{name:"Deep Oak",hex:"412010"},{name:"Merlin",hex:"413C37"},{name:"Gun Powder",hex:"414257"},{name:"East Bay",hex:"414C7D"},{name:"Royal Blue",hex:"4169E1"},{name:"Ocean Green",hex:"41AA78"},{name:"Burnt Maroon",hex:"420303"},{name:"Lisbon Brown",hex:"423921"},{name:"Faded Jade",hex:"427977"},{name:"Scarlet Gum",hex:"431560"},{name:"Iroko",hex:"433120"},{name:"Armadillo",hex:"433E37"},{name:"River Bed",hex:"434C59"},{name:"Green Leaf",hex:"436A0D"},{name:"Barossa",hex:"44012D"},{name:"Morocco Brown",hex:"441D00"},{name:"Mako",hex:"444954"},{name:"Kelp",hex:"454936"},{name:"San Marino",hex:"456CAC"},{name:"Picton Blue",hex:"45B1E8"},{name:"Loulou",hex:"460B41"},{name:"Crater Brown",hex:"462425"},{name:"Gray Asparagus",hex:"465945"},{name:"Steel Blue",hex:"4682B4"},{name:"Rustic Red",hex:"480404"},{name:"Bulgarian Rose",hex:"480607"},{name:"Clairvoyant",hex:"480656"},{name:"Cocoa Bean",hex:"481C1C"},{name:"Woody Brown",hex:"483131"},{name:"Taupe",hex:"483C32"},{name:"Van Cleef",hex:"49170C"},{name:"Brown Derby",hex:"492615"},{name:"Metallic Bronze",hex:"49371B"},{name:"Verdun Green",hex:"495400"},{name:"Blue Bayoux",hex:"496679"},{name:"Bismark",hex:"497183"},{name:"Bracken",hex:"4A2A04"},{name:"Deep Bronze",hex:"4A3004"},{name:"Mondo",hex:"4A3C30"},{name:"Tundora",hex:"4A4244"},{name:"Gravel",hex:"4A444B"},{name:"Trout",hex:"4A4E5A"},{name:"Pigment Indigo",hex:"4B0082"},{name:"Nandor",hex:"4B5D52"},{name:"Saddle",hex:"4C3024"},{name:"Abbey",hex:"4C4F56"},{name:"Blackberry",hex:"4D0135"},{name:"Cab Sav",hex:"4D0A18"},{name:"Indian Tan",hex:"4D1E01"},{name:"Cowboy",hex:"4D282D"},{name:"Livid Brown",hex:"4D282E"},{name:"Rock",hex:"4D3833"},{name:"Punga",hex:"4D3D14"},{name:"Bronzetone",hex:"4D400F"},{name:"Woodland",hex:"4D5328"},{name:"Mahogany",hex:"4E0606"},{name:"Bossanova",hex:"4E2A5A"},{name:"Matterhorn",hex:"4E3B41"},{name:"Bronze Olive",hex:"4E420C"},{name:"Mulled Wine",hex:"4E4562"},{name:"Axolotl",hex:"4E6649"},{name:"Wedgewood",hex:"4E7F9E"},{name:"Shakespeare",hex:"4EABD1"},{name:"Honey Flower",hex:"4F1C70"},{name:"Daisy Bush",hex:"4F2398"},{name:"Indigo",hex:"4F69C6"},{name:"Fern Green",hex:"4F7942"},{name:"Fruit Salad",hex:"4F9D5D"},{name:"Apple",hex:"4FA83D"},{name:"Mortar",hex:"504351"},{name:"Kashmir Blue",hex:"507096"},{name:"Cutty Sark",hex:"507672"},{name:"Emerald",hex:"50C878"},{name:"Emperor",hex:"514649"},{name:"Chalet Green",hex:"516E3D"},{name:"Como",hex:"517C66"},{name:"Smalt Blue",hex:"51808F"},{name:"Castro",hex:"52001F"},{name:"Maroon Oak",hex:"520C17"},{name:"Gigas",hex:"523C94"},{name:"Voodoo",hex:"533455"},{name:"Victoria",hex:"534491"},{name:"Hippie Green",hex:"53824B"},{name:"Heath",hex:"541012"},{name:"Judge Gray",hex:"544333"},{name:"Fuscous Gray",hex:"54534D"},{name:"Vida Loca",hex:"549019"},{name:"Cioccolato",hex:"55280C"},{name:"Saratoga",hex:"555B10"},{name:"Finlandia",hex:"556D56"},{name:"Havelock Blue",hex:"5590D9"},{name:"Fountain Blue",hex:"56B4BE"},{name:"Spring Leaves",hex:"578363"},{name:"Saddle Brown",hex:"583401"},{name:"Scarpa Flow",hex:"585562"},{name:"Cactus",hex:"587156"},{name:"Hippie Blue",hex:"589AAF"},{name:"Wine Berry",hex:"591D35"},{name:"Brown Bramble",hex:"592804"},{name:"Congo Brown",hex:"593737"},{name:"Millbrook",hex:"594433"},{name:"Waikawa Gray",hex:"5A6E9C"},{name:"Horizon",hex:"5A87A0"},{name:"Jambalaya",hex:"5B3013"},{name:"Bordeaux",hex:"5C0120"},{name:"Mulberry Wood",hex:"5C0536"},{name:"Carnaby Tan",hex:"5C2E01"},{name:"Comet",hex:"5C5D75"},{name:"Redwood",hex:"5D1E0F"},{name:"Don Juan",hex:"5D4C51"},{name:"Chicago",hex:"5D5C58"},{name:"Verdigris",hex:"5D5E37"},{name:"Dingley",hex:"5D7747"},{name:"Breaker Bay",hex:"5DA19F"},{name:"Kabul",hex:"5E483E"},{name:"Hemlock",hex:"5E5D3B"},{name:"Irish Coffee",hex:"5F3D26"},{name:"Mid Gray",hex:"5F5F6E"},{name:"Shuttle Gray",hex:"5F6672"},{name:"Aqua Forest",hex:"5FA777"},{name:"Tradewind",hex:"5FB3AC"},{name:"Horses Neck",hex:"604913"},{name:"Smoky",hex:"605B73"},{name:"Corduroy",hex:"606E68"},{name:"Danube",hex:"6093D1"},{name:"Espresso",hex:"612718"},{name:"Eggplant",hex:"614051"},{name:"Costa Del Sol",hex:"615D30"},{name:"Glade Green",hex:"61845F"},{name:"Buccaneer",hex:"622F30"},{name:"Quincy",hex:"623F2D"},{name:"Butterfly Bush",hex:"624E9A"},{name:"West Coast",hex:"625119"},{name:"Finch",hex:"626649"},{name:"Patina",hex:"639A8F"},{name:"Fern",hex:"63B76C"},{name:"Blue Violet",hex:"6456B7"},{name:"Dolphin",hex:"646077"},{name:"Storm Dust",hex:"646463"},{name:"Siam",hex:"646A54"},{name:"Nevada",hex:"646E75"},{name:"Cornflower Blue",hex:"6495ED"},{name:"Viking",hex:"64CCDB"},{name:"Rosewood",hex:"65000B"},{name:"Cherrywood",hex:"651A14"},{name:"Purple Heart",hex:"652DC1"},{name:"Fern Frond",hex:"657220"},{name:"Willow Grove",hex:"65745D"},{name:"Hoki",hex:"65869F"},{name:"Pompadour",hex:"660045"},{name:"Purple",hex:"660099"},{name:"Tyrian Purple",hex:"66023C"},{name:"Dark Tan",hex:"661010"},{name:"Silver Tree",hex:"66B58F"},{name:"Bright Green",hex:"66FF00"},{name:"Screamin' Green",hex:"66FF66"},{name:"Black Rose",hex:"67032D"},{name:"Scampi",hex:"675FA6"},{name:"Ironside Gray",hex:"676662"},{name:"Viridian Green",hex:"678975"},{name:"Christi",hex:"67A712"},{name:"Nutmeg Wood Finish",hex:"683600"},{name:"Zambezi",hex:"685558"},{name:"Salt Box",hex:"685E6E"},{name:"Tawny Port",hex:"692545"},{name:"Finn",hex:"692D54"},{name:"Scorpion",hex:"695F62"},{name:"Lynch",hex:"697E9A"},{name:"Spice",hex:"6A442E"},{name:"Himalaya",hex:"6A5D1B"},{name:"Soya Bean",hex:"6A6051"},{name:"Hairy Heath",hex:"6B2A14"},{name:"Royal Purple",hex:"6B3FA0"},{name:"Shingle Fawn",hex:"6B4E31"},{name:"Dorado",hex:"6B5755"},{name:"Bermuda Gray",hex:"6B8BA2"},{name:"Olive Drab",hex:"6B8E23"},{name:"Eminence",hex:"6C3082"},{name:"Turquoise Blue",hex:"6CDAE7"},{name:"Lonestar",hex:"6D0101"},{name:"Pine Cone",hex:"6D5E54"},{name:"Dove Gray",hex:"6D6C6C"},{name:"Juniper",hex:"6D9292"},{name:"Gothic",hex:"6D92A1"},{name:"Red Oxide",hex:"6E0902"},{name:"Moccaccino",hex:"6E1D14"},{name:"Pickled Bean",hex:"6E4826"},{name:"Dallas",hex:"6E4B26"},{name:"Kokoda",hex:"6E6D57"},{name:"Pale Sky",hex:"6E7783"},{name:"Cafe Royale",hex:"6F440C"},{name:"Flint",hex:"6F6A61"},{name:"Highland",hex:"6F8E63"},{name:"Limeade",hex:"6F9D02"},{name:"Downy",hex:"6FD0C5"},{name:"Persian Plum",hex:"701C1C"},{name:"Sepia",hex:"704214"},{name:"Antique Bronze",hex:"704A07"},{name:"Ferra",hex:"704F50"},{name:"Coffee",hex:"706555"},{name:"Slate Gray",hex:"708090"},{name:"Cedar Wood Finish",hex:"711A00"},{name:"Metallic Copper",hex:"71291D"},{name:"Affair",hex:"714693"},{name:"Studio",hex:"714AB2"},{name:"Tobacco Brown",hex:"715D47"},{name:"Yellow Metal",hex:"716338"},{name:"Peat",hex:"716B56"},{name:"Olivetone",hex:"716E10"},{name:"Storm Gray",hex:"717486"},{name:"Sirocco",hex:"718080"},{name:"Aquamarine Blue",hex:"71D9E2"},{name:"Venetian Red",hex:"72010F"},{name:"Old Copper",hex:"724A2F"},{name:"Go Ben",hex:"726D4E"},{name:"Raven",hex:"727B89"},{name:"Seance",hex:"731E8F"},{name:"Raw Umber",hex:"734A12"},{name:"Kimberly",hex:"736C9F"},{name:"Crocodile",hex:"736D58"},{name:"Crete",hex:"737829"},{name:"Xanadu",hex:"738678"},{name:"Spicy Mustard",hex:"74640D"},{name:"Limed Ash",hex:"747D63"},{name:"Rolling Stone",hex:"747D83"},{name:"Blue Smoke",hex:"748881"},{name:"Laurel",hex:"749378"},{name:"Mantis",hex:"74C365"},{name:"Russett",hex:"755A57"},{name:"Deluge",hex:"7563A8"},{name:"Cosmic",hex:"76395D"},{name:"Blue Marguerite",hex:"7666C6"},{name:"Lima",hex:"76BD17"},{name:"Sky Blue",hex:"76D7EA"},{name:"Dark Burgundy",hex:"770F05"},{name:"Crown of Thorns",hex:"771F1F"},{name:"Walnut",hex:"773F1A"},{name:"Pablo",hex:"776F61"},{name:"Pacifika",hex:"778120"},{name:"Oxley",hex:"779E86"},{name:"Pastel Green",hex:"77DD77"},{name:"Japanese Maple",hex:"780109"},{name:"Mocha",hex:"782D19"},{name:"Peanut",hex:"782F16"},{name:"Camouflage Green",hex:"78866B"},{name:"Wasabi",hex:"788A25"},{name:"Ship Cove",hex:"788BBA"},{name:"Sea Nymph",hex:"78A39C"},{name:"Roman Coffee",hex:"795D4C"},{name:"Old Lavender",hex:"796878"},{name:"Rum",hex:"796989"},{name:"Fedora",hex:"796A78"},{name:"Sandstone",hex:"796D62"},{name:"Spray",hex:"79DEEC"},{name:"Siren",hex:"7A013A"},{name:"Fuchsia Blue",hex:"7A58C1"},{name:"Boulder",hex:"7A7A7A"},{name:"Wild Blue Yonder",hex:"7A89B8"},{name:"De York",hex:"7AC488"},{name:"Red Beech",hex:"7B3801"},{name:"Cinnamon",hex:"7B3F00"},{name:"Yukon Gold",hex:"7B6608"},{name:"Tapa",hex:"7B7874"},{name:"Waterloo ",hex:"7B7C94"},{name:"Flax Smoke",hex:"7B8265"},{name:"Amulet",hex:"7B9F80"},{name:"Asparagus",hex:"7BA05B"},{name:"Kenyan Copper",hex:"7C1C05"},{name:"Pesto",hex:"7C7631"},{name:"Topaz",hex:"7C778A"},{name:"Concord",hex:"7C7B7A"},{name:"Jumbo",hex:"7C7B82"},{name:"Trendy Green",hex:"7C881A"},{name:"Gumbo",hex:"7CA1A6"},{name:"Acapulco",hex:"7CB0A1"},{name:"Neptune",hex:"7CB7BB"},{name:"Pueblo",hex:"7D2C14"},{name:"Bay Leaf",hex:"7DA98D"},{name:"Malibu",hex:"7DC8F7"},{name:"Bermuda",hex:"7DD8C6"},{name:"Copper Canyon",hex:"7E3A15"},{name:"Claret",hex:"7F1734"},{name:"Peru Tan",hex:"7F3A02"},{name:"Falcon",hex:"7F626D"},{name:"Mobster",hex:"7F7589"},{name:"Moody Blue",hex:"7F76D3"},{name:"Chartreuse",hex:"7FFF00"},{name:"Aquamarine",hex:"7FFFD4"},{name:"Maroon",hex:"800000"},{name:"Rose Bud Cherry",hex:"800B47"},{name:"Falu Red",hex:"801818"},{name:"Red Robin",hex:"80341F"},{name:"Vivid Violet",hex:"803790"},{name:"Russet",hex:"80461B"},{name:"Friar Gray",hex:"807E79"},{name:"Olive",hex:"808000"},{name:"Gray",hex:"808080"},{name:"Gulf Stream",hex:"80B3AE"},{name:"Glacier",hex:"80B3C4"},{name:"Seagull",hex:"80CCEA"},{name:"Nutmeg",hex:"81422C"},{name:"Spicy Pink",hex:"816E71"},{name:"Empress",hex:"817377"},{name:"Spanish Green",hex:"819885"},{name:"Sand Dune",hex:"826F65"},{name:"Gunsmoke",hex:"828685"},{name:"Battleship Gray",hex:"828F72"},{name:"Merlot",hex:"831923"},{name:"Shadow",hex:"837050"},{name:"Chelsea Cucumber",hex:"83AA5D"},{name:"Monte Carlo",hex:"83D0C6"},{name:"Plum",hex:"843179"},{name:"Granny Smith",hex:"84A0A0"},{name:"Chetwode Blue",hex:"8581D9"},{name:"Bandicoot",hex:"858470"},{name:"Bali Hai",hex:"859FAF"},{name:"Half Baked",hex:"85C4CC"},{name:"Red Devil",hex:"860111"},{name:"Lotus",hex:"863C3C"},{name:"Ironstone",hex:"86483C"},{name:"Bull Shot",hex:"864D1E"},{name:"Rusty Nail",hex:"86560A"},{name:"Bitter",hex:"868974"},{name:"Regent Gray",hex:"86949F"},{name:"Disco",hex:"871550"},{name:"Americano",hex:"87756E"},{name:"Hurricane",hex:"877C7B"},{name:"Oslo Gray",hex:"878D91"},{name:"Sushi",hex:"87AB39"},{name:"Spicy Mix",hex:"885342"},{name:"Kumera",hex:"886221"},{name:"Suva Gray",hex:"888387"},{name:"Avocado",hex:"888D65"},{name:"Camelot",hex:"893456"},{name:"Solid Pink",hex:"893843"},{name:"Cannon Pink",hex:"894367"},{name:"Makara",hex:"897D6D"},{name:"Burnt Umber",hex:"8A3324"},{name:"True V",hex:"8A73D6"},{name:"Clay Creek",hex:"8A8360"},{name:"Monsoon",hex:"8A8389"},{name:"Stack",hex:"8A8F8A"},{name:"Jordy Blue",hex:"8AB9F1"},{name:"Electric Violet",hex:"8B00FF"},{name:"Monarch",hex:"8B0723"},{name:"Corn Harvest",hex:"8B6B0B"},{name:"Olive Haze",hex:"8B8470"},{name:"Schooner",hex:"8B847E"},{name:"Natural Gray",hex:"8B8680"},{name:"Mantle",hex:"8B9C90"},{name:"Portage",hex:"8B9FEE"},{name:"Envy",hex:"8BA690"},{name:"Cascade",hex:"8BA9A5"},{name:"Riptide",hex:"8BE6D8"},{name:"Cardinal Pink",hex:"8C055E"},{name:"Mule Fawn",hex:"8C472F"},{name:"Potters Clay",hex:"8C5738"},{name:"Trendy Pink",hex:"8C6495"},{name:"Paprika",hex:"8D0226"},{name:"Sanguine Brown",hex:"8D3D38"},{name:"Tosca",hex:"8D3F3F"},{name:"Cement",hex:"8D7662"},{name:"Granite Green",hex:"8D8974"},{name:"Manatee",hex:"8D90A1"},{name:"Polo Blue",hex:"8DA8CC"},{name:"Red Berry",hex:"8E0000"},{name:"Rope",hex:"8E4D1E"},{name:"Opium",hex:"8E6F70"},{name:"Domino",hex:"8E775E"},{name:"Mamba",hex:"8E8190"},{name:"Nepal",hex:"8EABC1"},{name:"Pohutukawa",hex:"8F021C"},{name:"El Salva",hex:"8F3E33"},{name:"Korma",hex:"8F4B0E"},{name:"Squirrel",hex:"8F8176"},{name:"Vista Blue",hex:"8FD6B4"},{name:"Burgundy",hex:"900020"},{name:"Old Brick",hex:"901E1E"},{name:"Hemp",hex:"907874"},{name:"Almond Frost",hex:"907B71"},{name:"Sycamore",hex:"908D39"},{name:"Sangria",hex:"92000A"},{name:"Cumin",hex:"924321"},{name:"Beaver",hex:"926F5B"},{name:"Stonewall",hex:"928573"},{name:"Venus",hex:"928590"},{name:"Medium Purple",hex:"9370DB"},{name:"Cornflower",hex:"93CCEA"},{name:"Algae Green",hex:"93DFB8"},{name:"Copper Rust",hex:"944747"},{name:"Arrowtown",hex:"948771"},{name:"Scarlett",hex:"950015"},{name:"Strikemaster",hex:"956387"},{name:"Mountain Mist",hex:"959396"},{name:"Carmine",hex:"960018"},{name:"Brown",hex:"964B00"},{name:"Leather",hex:"967059"},{name:"Purple Mountain's Majesty",hex:"9678B6"},{name:"Lavender Purple",hex:"967BB6"},{name:"Pewter",hex:"96A8A1"},{name:"Summer Green",hex:"96BBAB"},{name:"Au Chico",hex:"97605D"},{name:"Wisteria",hex:"9771B5"},{name:"Atlantis",hex:"97CD2D"},{name:"Vin Rouge",hex:"983D61"},{name:"Lilac Bush",hex:"9874D3"},{name:"Bazaar",hex:"98777B"},{name:"Hacienda",hex:"98811B"},{name:"Pale Oyster",hex:"988D77"},{name:"Mint Green",hex:"98FF98"},{name:"Fresh Eggplant",hex:"990066"},{name:"Violet Eggplant",hex:"991199"},{name:"Tamarillo",hex:"991613"},{name:"Totem Pole",hex:"991B07"},{name:"Copper Rose",hex:"996666"},{name:"Amethyst",hex:"9966CC"},{name:"Mountbatten Pink",hex:"997A8D"},{name:"Blue Bell",hex:"9999CC"},{name:"Prairie Sand",hex:"9A3820"},{name:"Toast",hex:"9A6E61"},{name:"Gurkha",hex:"9A9577"},{name:"Olivine",hex:"9AB973"},{name:"Shadow Green",hex:"9AC2B8"},{name:"Oregon",hex:"9B4703"},{name:"Lemon Grass",hex:"9B9E8F"},{name:"Stiletto",hex:"9C3336"},{name:"Hawaiian Tan",hex:"9D5616"},{name:"Gull Gray",hex:"9DACB7"},{name:"Pistachio",hex:"9DC209"},{name:"Granny Smith Apple",hex:"9DE093"},{name:"Anakiwa",hex:"9DE5FF"},{name:"Chelsea Gem",hex:"9E5302"},{name:"Sepia Skin",hex:"9E5B40"},{name:"Sage",hex:"9EA587"},{name:"Citron",hex:"9EA91F"},{name:"Rock Blue",hex:"9EB1CD"},{name:"Morning Glory",hex:"9EDEE0"},{name:"Cognac",hex:"9F381D"},{name:"Reef Gold",hex:"9F821C"},{name:"Star Dust",hex:"9F9F9C"},{name:"Santas Gray",hex:"9FA0B1"},{name:"Sinbad",hex:"9FD7D3"},{name:"Feijoa",hex:"9FDD8C"},{name:"Tabasco",hex:"A02712"},{name:"Buttered Rum",hex:"A1750D"},{name:"Hit Gray",hex:"A1ADB5"},{name:"Citrus",hex:"A1C50A"},{name:"Aqua Island",hex:"A1DAD7"},{name:"Water Leaf",hex:"A1E9DE"},{name:"Flirt",hex:"A2006D"},{name:"Rouge",hex:"A23B6C"},{name:"Cape Palliser",hex:"A26645"},{name:"Gray Chateau",hex:"A2AAB3"},{name:"Edward",hex:"A2AEAB"},{name:"Pharlap",hex:"A3807B"},{name:"Amethyst Smoke",hex:"A397B4"},{name:"Blizzard Blue",hex:"A3E3ED"},{name:"Delta",hex:"A4A49D"},{name:"Wistful",hex:"A4A6D3"},{name:"Green Smoke",hex:"A4AF6E"},{name:"Jazzberry Jam",hex:"A50B5E"},{name:"Zorba",hex:"A59B91"},{name:"Bahia",hex:"A5CB0C"},{name:"Roof Terracotta",hex:"A62F20"},{name:"Paarl",hex:"A65529"},{name:"Barley Corn",hex:"A68B5B"},{name:"Donkey Brown",hex:"A69279"},{name:"Dawn",hex:"A6A29A"},{name:"Mexican Red",hex:"A72525"},{name:"Luxor Gold",hex:"A7882C"},{name:"Rich Gold",hex:"A85307"},{name:"Reno Sand",hex:"A86515"},{name:"Coral Tree",hex:"A86B6B"},{name:"Dusty Gray",hex:"A8989B"},{name:"Dull Lavender",hex:"A899E6"},{name:"Tallow",hex:"A8A589"},{name:"Bud",hex:"A8AE9C"},{name:"Locust",hex:"A8AF8E"},{name:"Norway",hex:"A8BD9F"},{name:"Chinook",hex:"A8E3BD"},{name:"Gray Olive",hex:"A9A491"},{name:"Aluminium",hex:"A9ACB6"},{name:"Cadet Blue",hex:"A9B2C3"},{name:"Schist",hex:"A9B497"},{name:"Tower Gray",hex:"A9BDBF"},{name:"Perano",hex:"A9BEF2"},{name:"Opal",hex:"A9C6C2"},{name:"Night Shadz",hex:"AA375A"},{name:"Fire",hex:"AA4203"},{name:"Muesli",hex:"AA8B5B"},{name:"Sandal",hex:"AA8D6F"},{name:"Shady Lady",hex:"AAA5A9"},{name:"Logan",hex:"AAA9CD"},{name:"Spun Pearl",hex:"AAABB7"},{name:"Regent St Blue",hex:"AAD6E6"},{name:"Magic Mint",hex:"AAF0D1"},{name:"Lipstick",hex:"AB0563"},{name:"Royal Heath",hex:"AB3472"},{name:"Sandrift",hex:"AB917A"},{name:"Cold Purple",hex:"ABA0D9"},{name:"Bronco",hex:"ABA196"},{name:"Limed Oak",hex:"AC8A56"},{name:"East Side",hex:"AC91CE"},{name:"Lemon Ginger",hex:"AC9E22"},{name:"Napa",hex:"ACA494"},{name:"Hillary",hex:"ACA586"},{name:"Cloudy",hex:"ACA59F"},{name:"Silver Chalice",hex:"ACACAC"},{name:"Swamp Green",hex:"ACB78E"},{name:"Spring Rain",hex:"ACCBB1"},{name:"Conifer",hex:"ACDD4D"},{name:"Celadon",hex:"ACE1AF"},{name:"Mandalay",hex:"AD781B"},{name:"Casper",hex:"ADBED1"},{name:"Moss Green",hex:"ADDFAD"},{name:"Padua",hex:"ADE6C4"},{name:"Green Yellow",hex:"ADFF2F"},{name:"Hippie Pink",hex:"AE4560"},{name:"Desert",hex:"AE6020"},{name:"Bouquet",hex:"AE809E"},{name:"Medium Carmine",hex:"AF4035"},{name:"Apple Blossom",hex:"AF4D43"},{name:"Brown Rust",hex:"AF593E"},{name:"Driftwood",hex:"AF8751"},{name:"Alpine",hex:"AF8F2C"},{name:"Lucky",hex:"AF9F1C"},{name:"Martini",hex:"AFA09E"},{name:"Bombay",hex:"AFB1B8"},{name:"Pigeon Post",hex:"AFBDD9"},{name:"Cadillac",hex:"B04C6A"},{name:"Matrix",hex:"B05D54"},{name:"Tapestry",hex:"B05E81"},{name:"Mai Tai",hex:"B06608"},{name:"Del Rio",hex:"B09A95"},{name:"Powder Blue",hex:"B0E0E6"},{name:"Inch Worm",hex:"B0E313"},{name:"Bright Red",hex:"B10000"},{name:"Vesuvius",hex:"B14A0B"},{name:"Pumpkin Skin",hex:"B1610B"},{name:"Santa Fe",hex:"B16D52"},{name:"Teak",hex:"B19461"},{name:"Fringy Flower",hex:"B1E2C1"},{name:"Ice Cold",hex:"B1F4E7"},{name:"Shiraz",hex:"B20931"},{name:"Biloba Flower",hex:"B2A1EA"},{name:"Tall Poppy",hex:"B32D29"},{name:"Fiery Orange",hex:"B35213"},{name:"Hot Toddy",hex:"B38007"},{name:"Taupe Gray",hex:"B3AF95"},{name:"La Rioja",hex:"B3C110"},{name:"Well Read",hex:"B43332"},{name:"Blush",hex:"B44668"},{name:"Jungle Mist",hex:"B4CFD3"},{name:"Turkish Rose",hex:"B57281"},{name:"Lavender",hex:"B57EDC"},{name:"Mongoose",hex:"B5A27F"},{name:"Olive Green",hex:"B5B35C"},{name:"Jet Stream",hex:"B5D2CE"},{name:"Cruise",hex:"B5ECDF"},{name:"Hibiscus",hex:"B6316C"},{name:"Thatch",hex:"B69D98"},{name:"Heathered Gray",hex:"B6B095"},{name:"Eagle",hex:"B6BAA4"},{name:"Spindle",hex:"B6D1EA"},{name:"Gum Leaf",hex:"B6D3BF"},{name:"Rust",hex:"B7410E"},{name:"Muddy Waters",hex:"B78E5C"},{name:"Sahara",hex:"B7A214"},{name:"Husk",hex:"B7A458"},{name:"Nobel",hex:"B7B1B1"},{name:"Heather",hex:"B7C3D0"},{name:"Madang",hex:"B7F0BE"},{name:"Milano Red",hex:"B81104"},{name:"Copper",hex:"B87333"},{name:"Gimblet",hex:"B8B56A"},{name:"Green Spring",hex:"B8C1B1"},{name:"Celery",hex:"B8C25D"},{name:"Sail",hex:"B8E0F9"},{name:"Chestnut",hex:"B94E48"},{name:"Crail",hex:"B95140"},{name:"Marigold",hex:"B98D28"},{name:"Wild Willow",hex:"B9C46A"},{name:"Rainee",hex:"B9C8AC"},{name:"Guardsman Red",hex:"BA0101"},{name:"Rock Spray",hex:"BA450C"},{name:"Bourbon",hex:"BA6F1E"},{name:"Pirate Gold",hex:"BA7F03"},{name:"Nomad",hex:"BAB1A2"},{name:"Submarine",hex:"BAC7C9"},{name:"Charlotte",hex:"BAEEF9"},{name:"Medium Red Violet",hex:"BB3385"},{name:"Brandy Rose",hex:"BB8983"},{name:"Rio Grande",hex:"BBD009"},{name:"Surf",hex:"BBD7C1"},{name:"Powder Ash",hex:"BCC9C2"},{name:"Tuscany",hex:"BD5E2E"},{name:"Quicksand",hex:"BD978E"},{name:"Silk",hex:"BDB1A8"},{name:"Malta",hex:"BDB2A1"},{name:"Chatelle",hex:"BDB3C7"},{name:"Lavender Gray",hex:"BDBBD7"},{name:"French Gray",hex:"BDBDC6"},{name:"Clay Ash",hex:"BDC8B3"},{name:"Loblolly",hex:"BDC9CE"},{name:"French Pass",hex:"BDEDFD"},{name:"London Hue",hex:"BEA6C3"},{name:"Pink Swan",hex:"BEB5B7"},{name:"Fuego",hex:"BEDE0D"},{name:"Rose of Sharon",hex:"BF5500"},{name:"Tide",hex:"BFB8B0"},{name:"Blue Haze",hex:"BFBED8"},{name:"Silver Sand",hex:"BFC1C2"},{name:"Key Lime Pie",hex:"BFC921"},{name:"Ziggurat",hex:"BFDBE2"},{name:"Lime",hex:"BFFF00"},{name:"Thunderbird",hex:"C02B18"},{name:"Mojo",hex:"C04737"},{name:"Old Rose",hex:"C08081"},{name:"Silver",hex:"C0C0C0"},{name:"Pale Leaf",hex:"C0D3B9"},{name:"Pixie Green",hex:"C0D8B6"},{name:"Tia Maria",hex:"C1440E"},{name:"Fuchsia Pink",hex:"C154C1"},{name:"Buddha Gold",hex:"C1A004"},{name:"Bison Hide",hex:"C1B7A4"},{name:"Tea",hex:"C1BAB0"},{name:"Gray Suit",hex:"C1BECD"},{name:"Sprout",hex:"C1D7B0"},{name:"Sulu",hex:"C1F07C"},{name:"Indochine",hex:"C26B03"},{name:"Twine",hex:"C2955D"},{name:"Cotton Seed",hex:"C2BDB6"},{name:"Pumice",hex:"C2CAC4"},{name:"Jagged Ice",hex:"C2E8E5"},{name:"Maroon Flush",hex:"C32148"},{name:"Indian Khaki",hex:"C3B091"},{name:"Pale Slate",hex:"C3BFC1"},{name:"Gray Nickel",hex:"C3C3BD"},{name:"Periwinkle Gray",hex:"C3CDE6"},{name:"Tiara",hex:"C3D1D1"},{name:"Tropical Blue",hex:"C3DDF9"},{name:"Cardinal",hex:"C41E3A"},{name:"Fuzzy Wuzzy Brown",hex:"C45655"},{name:"Orange Roughy",hex:"C45719"},{name:"Mist Gray",hex:"C4C4BC"},{name:"Coriander",hex:"C4D0B0"},{name:"Mint Tulip",hex:"C4F4EB"},{name:"Mulberry",hex:"C54B8C"},{name:"Nugget",hex:"C59922"},{name:"Tussock",hex:"C5994B"},{name:"Sea Mist",hex:"C5DBCA"},{name:"Yellow Green",hex:"C5E17A"},{name:"Brick Red",hex:"C62D42"},{name:"Contessa",hex:"C6726B"},{name:"Oriental Pink",hex:"C69191"},{name:"Roti",hex:"C6A84B"},{name:"Ash",hex:"C6C3B5"},{name:"Kangaroo",hex:"C6C8BD"},{name:"Las Palmas",hex:"C6E610"},{name:"Monza",hex:"C7031E"},{name:"Red Violet",hex:"C71585"},{name:"Coral Reef",hex:"C7BCA2"},{name:"Melrose",hex:"C7C1FF"},{name:"Cloud",hex:"C7C4BF"},{name:"Ghost",hex:"C7C9D5"},{name:"Pine Glade",hex:"C7CD90"},{name:"Botticelli",hex:"C7DDE5"},{name:"Antique Brass",hex:"C88A65"},{name:"Lilac",hex:"C8A2C8"},{name:"Hokey Pokey",hex:"C8A528"},{name:"Lily",hex:"C8AABF"},{name:"Laser",hex:"C8B568"},{name:"Edgewater",hex:"C8E3D7"},{name:"Piper",hex:"C96323"},{name:"Pizza",hex:"C99415"},{name:"Light Wisteria",hex:"C9A0DC"},{name:"Rodeo Dust",hex:"C9B29B"},{name:"Sundance",hex:"C9B35B"},{name:"Earls Green",hex:"C9B93B"},{name:"Silver Rust",hex:"C9C0BB"},{name:"Conch",hex:"C9D9D2"},{name:"Reef",hex:"C9FFA2"},{name:"Aero Blue",hex:"C9FFE5"},{name:"Flush Mahogany",hex:"CA3435"},{name:"Turmeric",hex:"CABB48"},{name:"Paris White",hex:"CADCD4"},{name:"Bitter Lemon",hex:"CAE00D"},{name:"Skeptic",hex:"CAE6DA"},{name:"Viola",hex:"CB8FA9"},{name:"Foggy Gray",hex:"CBCAB6"},{name:"Green Mist",hex:"CBD3B0"},{name:"Nebula",hex:"CBDBD6"},{name:"Persian Red",hex:"CC3333"},{name:"Burnt Orange",hex:"CC5500"},{name:"Ochre",hex:"CC7722"},{name:"Puce",hex:"CC8899"},{name:"Thistle Green",hex:"CCCAA8"},{name:"Periwinkle",hex:"CCCCFF"},{name:"Electric Lime",hex:"CCFF00"},{name:"Tenn",hex:"CD5700"},{name:"Chestnut Rose",hex:"CD5C5C"},{name:"Brandy Punch",hex:"CD8429"},{name:"Onahau",hex:"CDF4FF"},{name:"Sorrell Brown",hex:"CEB98F"},{name:"Cold Turkey",hex:"CEBABA"},{name:"Yuma",hex:"CEC291"},{name:"Chino",hex:"CEC7A7"},{name:"Eunry",hex:"CFA39D"},{name:"Old Gold",hex:"CFB53B"},{name:"Tasman",hex:"CFDCCF"},{name:"Surf Crest",hex:"CFE5D2"},{name:"Humming Bird",hex:"CFF9F3"},{name:"Scandal",hex:"CFFAF4"},{name:"Red Stage",hex:"D05F04"},{name:"Hopbush",hex:"D06DA1"},{name:"Meteor",hex:"D07D12"},{name:"Perfume",hex:"D0BEF8"},{name:"Prelude",hex:"D0C0E5"},{name:"Tea Green",hex:"D0F0C0"},{name:"Geebung",hex:"D18F1B"},{name:"Vanilla",hex:"D1BEA8"},{name:"Soft Amber",hex:"D1C6B4"},{name:"Celeste",hex:"D1D2CA"},{name:"Mischka",hex:"D1D2DD"},{name:"Pear",hex:"D1E231"},{name:"Hot Cinnamon",hex:"D2691E"},{name:"Raw Sienna",hex:"D27D46"},{name:"Careys Pink",hex:"D29EAA"},{name:"Tan",hex:"D2B48C"},{name:"Deco",hex:"D2DA97"},{name:"Blue Romance",hex:"D2F6DE"},{name:"Gossip",hex:"D2F8B0"},{name:"Sisal",hex:"D3CBBA"},{name:"Swirl",hex:"D3CDC5"},{name:"Charm",hex:"D47494"},{name:"Clam Shell",hex:"D4B6AF"},{name:"Straw",hex:"D4BF8D"},{name:"Akaroa",hex:"D4C4A8"},{name:"Bird Flower",hex:"D4CD16"},{name:"Iron",hex:"D4D7D9"},{name:"Geyser",hex:"D4DFE2"},{name:"Hawkes Blue",hex:"D4E2FC"},{name:"Grenadier",hex:"D54600"},{name:"Can Can",hex:"D591A4"},{name:"Whiskey",hex:"D59A6F"},{name:"Winter Hazel",hex:"D5D195"},{name:"Granny Apple",hex:"D5F6E3"},{name:"My Pink",hex:"D69188"},{name:"Tacha",hex:"D6C562"},{name:"Moon Raker",hex:"D6CEF6"},{name:"Quill Gray",hex:"D6D6D1"},{name:"Snowy Mint",hex:"D6FFDB"},{name:"New York Pink",hex:"D7837F"},{name:"Pavlova",hex:"D7C498"},{name:"Fog",hex:"D7D0FF"},{name:"Valencia",hex:"D84437"},{name:"Japonica",hex:"D87C63"},{name:"Thistle",hex:"D8BFD8"},{name:"Maverick",hex:"D8C2D5"},{name:"Foam",hex:"D8FCFA"},{name:"Cabaret",hex:"D94972"},{name:"Burning Sand",hex:"D99376"},{name:"Cameo",hex:"D9B99B"},{name:"Timberwolf",hex:"D9D6CF"},{name:"Tana",hex:"D9DCC1"},{name:"Link Water",hex:"D9E4F5"},{name:"Mabel",hex:"D9F7FF"},{name:"Cerise",hex:"DA3287"},{name:"Flame Pea",hex:"DA5B38"},{name:"Bamboo",hex:"DA6304"},{name:"Red Damask",hex:"DA6A41"},{name:"Orchid",hex:"DA70D6"},{name:"Copperfield",hex:"DA8A67"},{name:"Golden Grass",hex:"DAA520"},{name:"Zanah",hex:"DAECD6"},{name:"Iceberg",hex:"DAF4F0"},{name:"Oyster Bay",hex:"DAFAFF"},{name:"Cranberry",hex:"DB5079"},{name:"Petite Orchid",hex:"DB9690"},{name:"Di Serria",hex:"DB995E"},{name:"Alto",hex:"DBDBDB"},{name:"Frosted Mint",hex:"DBFFF8"},{name:"Crimson",hex:"DC143C"},{name:"Punch",hex:"DC4333"},{name:"Galliano",hex:"DCB20C"},{name:"Blossom",hex:"DCB4BC"},{name:"Wattle",hex:"DCD747"},{name:"Westar",hex:"DCD9D2"},{name:"Moon Mist",hex:"DCDDCC"},{name:"Caper",hex:"DCEDB4"},{name:"Swans Down",hex:"DCF0EA"},{name:"Swiss Coffee",hex:"DDD6D5"},{name:"White Ice",hex:"DDF9F1"},{name:"Cerise Red",hex:"DE3163"},{name:"Roman",hex:"DE6360"},{name:"Tumbleweed",hex:"DEA681"},{name:"Gold Tips",hex:"DEBA13"},{name:"Brandy",hex:"DEC196"},{name:"Wafer",hex:"DECBC6"},{name:"Sapling",hex:"DED4A4"},{name:"Barberry",hex:"DED717"},{name:"Beryl Green",hex:"DEE5C0"},{name:"Pattens Blue",hex:"DEF5FF"},{name:"Heliotrope",hex:"DF73FF"},{name:"Apache",hex:"DFBE6F"},{name:"Chenin",hex:"DFCD6F"},{name:"Lola",hex:"DFCFDB"},{name:"Willow Brook",hex:"DFECDA"},{name:"Chartreuse Yellow",hex:"DFFF00"},{name:"Mauve",hex:"E0B0FF"},{name:"Anzac",hex:"E0B646"},{name:"Harvest Gold",hex:"E0B974"},{name:"Calico",hex:"E0C095"},{name:"Baby Blue",hex:"E0FFFF"},{name:"Sunglo",hex:"E16865"},{name:"Equator",hex:"E1BC64"},{name:"Pink Flare",hex:"E1C0C8"},{name:"Periglacial Blue",hex:"E1E6D6"},{name:"Kidnapper",hex:"E1EAD4"},{name:"Tara",hex:"E1F6E8"},{name:"Mandy",hex:"E25465"},{name:"Terracotta",hex:"E2725B"},{name:"Golden Bell",hex:"E28913"},{name:"Shocking",hex:"E292C0"},{name:"Dixie",hex:"E29418"},{name:"Light Orchid",hex:"E29CD2"},{name:"Snuff",hex:"E2D8ED"},{name:"Mystic",hex:"E2EBED"},{name:"Apple Green",hex:"E2F3EC"},{name:"Razzmatazz",hex:"E30B5C"},{name:"Alizarin Crimson",hex:"E32636"},{name:"Cinnabar",hex:"E34234"},{name:"Cavern Pink",hex:"E3BEBE"},{name:"Peppermint",hex:"E3F5E1"},{name:"Mindaro",hex:"E3F988"},{name:"Deep Blush",hex:"E47698"},{name:"Gamboge",hex:"E49B0F"},{name:"Melanie",hex:"E4C2D5"},{name:"Twilight",hex:"E4CFDE"},{name:"Bone",hex:"E4D1C0"},{name:"Sunflower",hex:"E4D422"},{name:"Grain Brown",hex:"E4D5B7"},{name:"Zombie",hex:"E4D69B"},{name:"Frostee",hex:"E4F6E7"},{name:"Snow Flurry",hex:"E4FFD1"},{name:"Amaranth",hex:"E52B50"},{name:"Zest",hex:"E5841B"},{name:"Dust Storm",hex:"E5CCC9"},{name:"Stark White",hex:"E5D7BD"},{name:"Hampton",hex:"E5D8AF"},{name:"Bon Jour",hex:"E5E0E1"},{name:"Mercury",hex:"E5E5E5"},{name:"Polar",hex:"E5F9F6"},{name:"Trinidad",hex:"E64E03"},{name:"Gold Sand",hex:"E6BE8A"},{name:"Cashmere",hex:"E6BEA5"},{name:"Double Spanish White",hex:"E6D7B9"},{name:"Satin Linen",hex:"E6E4D4"},{name:"Harp",hex:"E6F2EA"},{name:"Off Green",hex:"E6F8F3"},{name:"Hint of Green",hex:"E6FFE9"},{name:"Tranquil",hex:"E6FFFF"},{name:"Mango Tango",hex:"E77200"},{name:"Christine",hex:"E7730A"},{name:"Tonys Pink",hex:"E79F8C"},{name:"Kobi",hex:"E79FC4"},{name:"Rose Fog",hex:"E7BCB4"},{name:"Corn",hex:"E7BF05"},{name:"Putty",hex:"E7CD8C"},{name:"Gray Nurse",hex:"E7ECE6"},{name:"Lily White",hex:"E7F8FF"},{name:"Bubbles",hex:"E7FEFF"},{name:"Fire Bush",hex:"E89928"},{name:"Shilo",hex:"E8B9B3"},{name:"Pearl Bush",hex:"E8E0D5"},{name:"Green White",hex:"E8EBE0"},{name:"Chrome White",hex:"E8F1D4"},{name:"Gin",hex:"E8F2EB"},{name:"Aqua Squeeze",hex:"E8F5F2"},{name:"Clementine",hex:"E96E00"},{name:"Burnt Sienna",hex:"E97451"},{name:"Tahiti Gold",hex:"E97C07"},{name:"Oyster Pink",hex:"E9CECD"},{name:"Confetti",hex:"E9D75A"},{name:"Ebb",hex:"E9E3E3"},{name:"Ottoman",hex:"E9F8ED"},{name:"Clear Day",hex:"E9FFFD"},{name:"Carissma",hex:"EA88A8"},{name:"Porsche",hex:"EAAE69"},{name:"Tulip Tree",hex:"EAB33B"},{name:"Rob Roy",hex:"EAC674"},{name:"Raffia",hex:"EADAB8"},{name:"White Rock",hex:"EAE8D4"},{name:"Panache",hex:"EAF6EE"},{name:"Solitude",hex:"EAF6FF"},{name:"Aqua Spring",hex:"EAF9F5"},{name:"Dew",hex:"EAFFFE"},{name:"Apricot",hex:"EB9373"},{name:"Zinnwaldite",hex:"EBC2AF"},{name:"Fuel Yellow",hex:"ECA927"},{name:"Ronchi",hex:"ECC54E"},{name:"French Lilac",hex:"ECC7EE"},{name:"Just Right",hex:"ECCDB9"},{name:"Wild Rice",hex:"ECE090"},{name:"Fall Green",hex:"ECEBBD"},{name:"Aths Special",hex:"ECEBCE"},{name:"Starship",hex:"ECF245"},{name:"Red Ribbon",hex:"ED0A3F"},{name:"Tango",hex:"ED7A1C"},{name:"Carrot Orange",hex:"ED9121"},{name:"Sea Pink",hex:"ED989E"},{name:"Tacao",hex:"EDB381"},{name:"Desert Sand",hex:"EDC9AF"},{name:"Pancho",hex:"EDCDAB"},{name:"Chamois",hex:"EDDCB1"},{name:"Primrose",hex:"EDEA99"},{name:"Frost",hex:"EDF5DD"},{name:"Aqua Haze",hex:"EDF5F5"},{name:"Zumthor",hex:"EDF6FF"},{name:"Narvik",hex:"EDF9F1"},{name:"Honeysuckle",hex:"EDFC84"},{name:"Lavender Magenta",hex:"EE82EE"},{name:"Beauty Bush",hex:"EEC1BE"},{name:"Chalky",hex:"EED794"},{name:"Almond",hex:"EED9C4"},{name:"Flax",hex:"EEDC82"},{name:"Bizarre",hex:"EEDEDA"},{name:"Double Colonial White",hex:"EEE3AD"},{name:"Cararra",hex:"EEEEE8"},{name:"Manz",hex:"EEEF78"},{name:"Tahuna Sands",hex:"EEF0C8"},{name:"Athens Gray",hex:"EEF0F3"},{name:"Tusk",hex:"EEF3C3"},{name:"Loafer",hex:"EEF4DE"},{name:"Catskill White",hex:"EEF6F7"},{name:"Twilight Blue",hex:"EEFDFF"},{name:"Jonquil",hex:"EEFF9A"},{name:"Rice Flower",hex:"EEFFE2"},{name:"Jaffa",hex:"EF863F"},{name:"Gallery",hex:"EFEFEF"},{name:"Porcelain",hex:"EFF2F3"},{name:"Mauvelous",hex:"F091A9"},{name:"Golden Dream",hex:"F0D52D"},{name:"Golden Sand",hex:"F0DB7D"},{name:"Buff",hex:"F0DC82"},{name:"Prim",hex:"F0E2EC"},{name:"Khaki",hex:"F0E68C"},{name:"Selago",hex:"F0EEFD"},{name:"Titan White",hex:"F0EEFF"},{name:"Alice Blue",hex:"F0F8FF"},{name:"Feta",hex:"F0FCEA"},{name:"Gold Drop",hex:"F18200"},{name:"Wewak",hex:"F19BAB"},{name:"Sahara Sand",hex:"F1E788"},{name:"Parchment",hex:"F1E9D2"},{name:"Blue Chalk",hex:"F1E9FF"},{name:"Mint Julep",hex:"F1EEC1"},{name:"Seashell",hex:"F1F1F1"},{name:"Saltpan",hex:"F1F7F2"},{name:"Tidal",hex:"F1FFAD"},{name:"Chiffon",hex:"F1FFC8"},{name:"Flamingo",hex:"F2552A"},{name:"Tangerine",hex:"F28500"},{name:"Mandys Pink",hex:"F2C3B2"},{name:"Concrete",hex:"F2F2F2"},{name:"Black Squeeze",hex:"F2FAFA"},{name:"Pomegranate",hex:"F34723"},{name:"Buttercup",hex:"F3AD16"},{name:"New Orleans",hex:"F3D69D"},{name:"Vanilla Ice",hex:"F3D9DF"},{name:"Sidecar",hex:"F3E7BB"},{name:"Dawn Pink",hex:"F3E9E5"},{name:"Wheatfield",hex:"F3EDCF"},{name:"Canary",hex:"F3FB62"},{name:"Orinoco",hex:"F3FBD4"},{name:"Carla",hex:"F3FFD8"},{name:"Hollywood Cerise",hex:"F400A1"},{name:"Sandy brown",hex:"F4A460"},{name:"Saffron",hex:"F4C430"},{name:"Ripe Lemon",hex:"F4D81C"},{name:"Janna",hex:"F4EBD3"},{name:"Pampas",hex:"F4F2EE"},{name:"Wild Sand",hex:"F4F4F4"},{name:"Zircon",hex:"F4F8FF"},{name:"Froly",hex:"F57584"},{name:"Cream Can",hex:"F5C85C"},{name:"Manhattan",hex:"F5C999"},{name:"Maize",hex:"F5D5A0"},{name:"Wheat",hex:"F5DEB3"},{name:"Sandwisp",hex:"F5E7A2"},{name:"Pot Pourri",hex:"F5E7E2"},{name:"Albescent White",hex:"F5E9D3"},{name:"Soft Peach",hex:"F5EDEF"},{name:"Ecru White",hex:"F5F3E5"},{name:"Beige",hex:"F5F5DC"},{name:"Golden Fizz",hex:"F5FB3D"},{name:"Australian Mint",hex:"F5FFBE"},{name:"French Rose",hex:"F64A8A"},{name:"Brilliant Rose",hex:"F653A6"},{name:"Illusion",hex:"F6A4C9"},{name:"Merino",hex:"F6F0E6"},{name:"Black Haze",hex:"F6F7F7"},{name:"Spring Sun",hex:"F6FFDC"},{name:"Violet Red",hex:"F7468A"},{name:"Chilean Fire",hex:"F77703"},{name:"Persian Pink",hex:"F77FBE"},{name:"Rajah",hex:"F7B668"},{name:"Azalea",hex:"F7C8DA"},{name:"We Peep",hex:"F7DBE6"},{name:"Quarter Spanish White",hex:"F7F2E1"},{name:"Whisper",hex:"F7F5FA"},{name:"Snow Drift",hex:"F7FAF7"},{name:"Casablanca",hex:"F8B853"},{name:"Chantilly",hex:"F8C3DF"},{name:"Cherub",hex:"F8D9E9"},{name:"Marzipan",hex:"F8DB9D"},{name:"Energy Yellow",hex:"F8DD5C"},{name:"Givry",hex:"F8E4BF"},{name:"White Linen",hex:"F8F0E8"},{name:"Magnolia",hex:"F8F4FF"},{name:"Spring Wood",hex:"F8F6F1"},{name:"Coconut Cream",hex:"F8F7DC"},{name:"White Lilac",hex:"F8F7FC"},{name:"Desert Storm",hex:"F8F8F7"},{name:"Texas",hex:"F8F99C"},{name:"Corn Field",hex:"F8FACD"},{name:"Mimosa",hex:"F8FDD3"},{name:"Carnation",hex:"F95A61"},{name:"Saffron Mango",hex:"F9BF58"},{name:"Carousel Pink",hex:"F9E0ED"},{name:"Dairy Cream",hex:"F9E4BC"},{name:"Portica",hex:"F9E663"},{name:"Amour",hex:"F9EAF3"},{name:"Rum Swizzle",hex:"F9F8E4"},{name:"Dolly",hex:"F9FF8B"},{name:"Sugar Cane",hex:"F9FFF6"},{name:"Ecstasy",hex:"FA7814"},{name:"Tan Hide",hex:"FA9D5A"},{name:"Corvette",hex:"FAD3A2"},{name:"Peach Yellow",hex:"FADFAD"},{name:"Turbo",hex:"FAE600"},{name:"Astra",hex:"FAEAB9"},{name:"Champagne",hex:"FAECCC"},{name:"Linen",hex:"FAF0E6"},{name:"Fantasy",hex:"FAF3F0"},{name:"Citrine White",hex:"FAF7D6"},{name:"Alabaster",hex:"FAFAFA"},{name:"Hint of Yellow",hex:"FAFDE4"},{name:"Milan",hex:"FAFFA4"},{name:"Brink Pink",hex:"FB607F"},{name:"Geraldine",hex:"FB8989"},{name:"Lavender Rose",hex:"FBA0E3"},{name:"Sea Buckthorn",hex:"FBA129"},{name:"Sun",hex:"FBAC13"},{name:"Lavender Pink",hex:"FBAED2"},{name:"Rose Bud",hex:"FBB2A3"},{name:"Cupid",hex:"FBBEDA"},{name:"Classic Rose",hex:"FBCCE7"},{name:"Apricot Peach",hex:"FBCEB1"},{name:"Banana Mania",hex:"FBE7B2"},{name:"Marigold Yellow",hex:"FBE870"},{name:"Festival",hex:"FBE96C"},{name:"Sweet Corn",hex:"FBEA8C"},{name:"Candy Corn",hex:"FBEC5D"},{name:"Hint of Red",hex:"FBF9F9"},{name:"Shalimar",hex:"FBFFBA"},{name:"Shocking Pink",hex:"FC0FC0"},{name:"Tickle Me Pink",hex:"FC80A5"},{name:"Tree Poppy",hex:"FC9C1D"},{name:"Lightning Yellow",hex:"FCC01E"},{name:"Goldenrod",hex:"FCD667"},{name:"Candlelight",hex:"FCD917"},{name:"Cherokee",hex:"FCDA98"},{name:"Double Pearl Lusta",hex:"FCF4D0"},{name:"Pearl Lusta",hex:"FCF4DC"},{name:"Vista White",hex:"FCF8F7"},{name:"Bianca",hex:"FCFBF3"},{name:"Moon Glow",hex:"FCFEDA"},{name:"China Ivory",hex:"FCFFE7"},{name:"Ceramic",hex:"FCFFF9"},{name:"Torch Red",hex:"FD0E35"},{name:"Wild Watermelon",hex:"FD5B78"},{name:"Crusta",hex:"FD7B33"},{name:"Sorbus",hex:"FD7C07"},{name:"Sweet Pink",hex:"FD9FA2"},{name:"Light Apricot",hex:"FDD5B1"},{name:"Pig Pink",hex:"FDD7E4"},{name:"Cinderella",hex:"FDE1DC"},{name:"Golden Glow",hex:"FDE295"},{name:"Lemon",hex:"FDE910"},{name:"Old Lace",hex:"FDF5E6"},{name:"Half Colonial White",hex:"FDF6D3"},{name:"Drover",hex:"FDF7AD"},{name:"Pale Prim",hex:"FDFEB8"},{name:"Cumulus",hex:"FDFFD5"},{name:"Persian Rose",hex:"FE28A2"},{name:"Sunset Orange",hex:"FE4C40"},{name:"Bittersweet",hex:"FE6F5E"},{name:"California",hex:"FE9D04"},{name:"Yellow Sea",hex:"FEA904"},{name:"Melon",hex:"FEBAAD"},{name:"Bright Sun",hex:"FED33C"},{name:"Dandelion",hex:"FED85D"},{name:"Salomie",hex:"FEDB8D"},{name:"Cape Honey",hex:"FEE5AC"},{name:"Remy",hex:"FEEBF3"},{name:"Oasis",hex:"FEEFCE"},{name:"Bridesmaid",hex:"FEF0EC"},{name:"Beeswax",hex:"FEF2C7"},{name:"Bleach White",hex:"FEF3D8"},{name:"Pipi",hex:"FEF4CC"},{name:"Half Spanish White",hex:"FEF4DB"},{name:"Wisp Pink",hex:"FEF4F8"},{name:"Provincial Pink",hex:"FEF5F1"},{name:"Half Dutch White",hex:"FEF7DE"},{name:"Solitaire",hex:"FEF8E2"},{name:"White Pointer",hex:"FEF8FF"},{name:"Off Yellow",hex:"FEF9E3"},{name:"Orange White",hex:"FEFCED"},{name:"Red",hex:"FF0000"},{name:"Rose",hex:"FF007F"},{name:"Purple Pizzazz",hex:"FF00CC"},{name:"Magenta / Fuchsia",hex:"FF00FF"},{name:"Scarlet",hex:"FF2400"},{name:"Wild Strawberry",hex:"FF3399"},{name:"Razzle Dazzle Rose",hex:"FF33CC"},{name:"Radical Red",hex:"FF355E"},{name:"Red Orange",hex:"FF3F34"},{name:"Coral Red",hex:"FF4040"},{name:"Vermilion",hex:"FF4D00"},{name:"International Orange",hex:"FF4F00"},{name:"Outrageous Orange",hex:"FF6037"},{name:"Blaze Orange",hex:"FF6600"},{name:"Pink Flamingo",hex:"FF66FF"},{name:"Orange",hex:"FF681F"},{name:"Hot Pink",hex:"FF69B4"},{name:"Persimmon",hex:"FF6B53"},{name:"Blush Pink",hex:"FF6FFF"},{name:"Burning Orange",hex:"FF7034"},{name:"Pumpkin",hex:"FF7518"},{name:"Flamenco",hex:"FF7D07"},{name:"Flush Orange",hex:"FF7F00"},{name:"Coral",hex:"FF7F50"},{name:"Salmon",hex:"FF8C69"},{name:"Pizazz",hex:"FF9000"},{name:"West Side",hex:"FF910F"},{name:"Pink Salmon",hex:"FF91A4"},{name:"Neon Carrot",hex:"FF9933"},{name:"Atomic Tangerine",hex:"FF9966"},{name:"Vivid Tangerine",hex:"FF9980"},{name:"Sunshade",hex:"FF9E2C"},{name:"Orange Peel",hex:"FFA000"},{name:"Mona Lisa",hex:"FFA194"},{name:"Web Orange",hex:"FFA500"},{name:"Carnation Pink",hex:"FFA6C9"},{name:"Hit Pink",hex:"FFAB81"},{name:"Yellow Orange",hex:"FFAE42"},{name:"Cornflower Lilac",hex:"FFB0AC"},{name:"Sundown",hex:"FFB1B3"},{name:"My Sin",hex:"FFB31F"},{name:"Texas Rose",hex:"FFB555"},{name:"Cotton Candy",hex:"FFB7D5"},{name:"Macaroni and Cheese",hex:"FFB97B"},{name:"Selective Yellow",hex:"FFBA00"},{name:"Koromiko",hex:"FFBD5F"},{name:"Amber",hex:"FFBF00"},{name:"Wax Flower",hex:"FFC0A8"},{name:"Pink",hex:"FFC0CB"},{name:"Your Pink",hex:"FFC3C0"},{name:"Supernova",hex:"FFC901"},{name:"Flesh",hex:"FFCBA4"},{name:"Sunglow",hex:"FFCC33"},{name:"Golden Tainoi",hex:"FFCC5C"},{name:"Peach Orange",hex:"FFCC99"},{name:"Chardonnay",hex:"FFCD8C"},{name:"Pastel Pink",hex:"FFD1DC"},{name:"Romantic",hex:"FFD2B7"},{name:"Grandis",hex:"FFD38C"},{name:"Gold",hex:"FFD700"},{name:"School bus Yellow",hex:"FFD800"},{name:"Cosmos",hex:"FFD8D9"},{name:"Mustard",hex:"FFDB58"},{name:"Peach Schnapps",hex:"FFDCD6"},{name:"Caramel",hex:"FFDDAF"},{name:"Tuft Bush",hex:"FFDDCD"},{name:"Watusi",hex:"FFDDCF"},{name:"Pink Lace",hex:"FFDDF4"},{name:"Navajo White",hex:"FFDEAD"},{name:"Frangipani",hex:"FFDEB3"},{name:"Pippin",hex:"FFE1DF"},{name:"Pale Rose",hex:"FFE1F2"},{name:"Negroni",hex:"FFE2C5"},{name:"Cream Brulee",hex:"FFE5A0"},{name:"Peach",hex:"FFE5B4"},{name:"Tequila",hex:"FFE6C7"},{name:"Kournikova",hex:"FFE772"},{name:"Sandy Beach",hex:"FFEAC8"},{name:"Karry",hex:"FFEAD4"},{name:"Broom",hex:"FFEC13"},{name:"Colonial White",hex:"FFEDBC"},{name:"Derby",hex:"FFEED8"},{name:"Vis Vis",hex:"FFEFA1"},{name:"Egg White",hex:"FFEFC1"},{name:"Papaya Whip",hex:"FFEFD5"},{name:"Fair Pink",hex:"FFEFEC"},{name:"Peach Cream",hex:"FFF0DB"},{name:"Lavender blush",hex:"FFF0F5"},{name:"Gorse",hex:"FFF14F"},{name:"Buttermilk",hex:"FFF1B5"},{name:"Pink Lady",hex:"FFF1D8"},{name:"Forget Me Not",hex:"FFF1EE"},{name:"Tutu",hex:"FFF1F9"},{name:"Picasso",hex:"FFF39D"},{name:"Chardon",hex:"FFF3F1"},{name:"Paris Daisy",hex:"FFF46E"},{name:"Barley White",hex:"FFF4CE"},{name:"Egg Sour",hex:"FFF4DD"},{name:"Sazerac",hex:"FFF4E0"},{name:"Serenade",hex:"FFF4E8"},{name:"Chablis",hex:"FFF4F3"},{name:"Seashell Peach",hex:"FFF5EE"},{name:"Sauvignon",hex:"FFF5F3"},{name:"Milk Punch",hex:"FFF6D4"},{name:"Varden",hex:"FFF6DF"},{name:"Rose White",hex:"FFF6F5"},{name:"Baja White",hex:"FFF8D1"},{name:"Gin Fizz",hex:"FFF9E2"},{name:"Early Dawn",hex:"FFF9E6"},{name:"Lemon Chiffon",hex:"FFFACD"},{name:"Bridal Heath",hex:"FFFAF4"},{name:"Scotch Mist",hex:"FFFBDC"},{name:"Soapstone",hex:"FFFBF9"},{name:"Witch Haze",hex:"FFFC99"},{name:"Buttery White",hex:"FFFCEA"},{name:"Island Spice",hex:"FFFCEE"},{name:"Cream",hex:"FFFDD0"},{name:"Chilean Heath",hex:"FFFDE6"},{name:"Travertine",hex:"FFFDE8"},{name:"Orchid White",hex:"FFFDF3"},{name:"Quarter Pearl Lusta",hex:"FFFDF4"},{name:"Half and Half",hex:"FFFEE1"},{name:"Apricot White",hex:"FFFEEC"},{name:"Rice Cake",hex:"FFFEF0"},{name:"Black White",hex:"FFFEF6"},{name:"Romance",hex:"FFFEFD"},{name:"Yellow",hex:"FFFF00"},{name:"Laser Lemon",hex:"FFFF66"},{name:"Pale Canary",hex:"FFFF99"},{name:"Portafino",hex:"FFFFB4"},{name:"Ivory",hex:"FFFFF0"},{name:"White",hex:"FFFFFF"}]});var mo=s((Bb,uo)=>{uo.exports=[{name:"Mahogany",hex:"#CD4A4A"},{name:"Fuzzy Wuzzy Brown",hex:"#CC6666"},{name:"Chestnut",hex:"#BC5D58"},{name:"Red Orange",hex:"#FF5349"},{name:"Sunset Orange",hex:"#FD5E53"},{name:"Bittersweet",hex:"#FD7C6E"},{name:"Melon",hex:"#FDBCB4"},{name:"Outrageous Orange",hex:"#FF6E4A"},{name:"Vivid Tangerine",hex:"#FFA089"},{name:"Burnt Sienna",hex:"#EA7E5D"},{name:"Brown",hex:"#B4674D"},{name:"Sepia",hex:"#A5694F"},{name:"Orange",hex:"#FF7538"},{name:"Burnt Orange",hex:"#FF7F49"},{name:"Copper",hex:"#DD9475"},{name:"Mango Tango",hex:"#FF8243"},{name:"Atomic Tangerine",hex:"#FFA474"},{name:"Beaver",hex:"#9F8170"},{name:"Antique Brass",hex:"#CD9575"},{name:"Desert Sand",hex:"#EFCDB8"},{name:"Raw Sienna",hex:"#D68A59"},{name:"Tumbleweed",hex:"#DEAA88"},{name:"Tan",hex:"#FAA76C"},{name:"Peach",hex:"#FFCFAB"},{name:"Macaroni and Cheese",hex:"#FFBD88"},{name:"Apricot",hex:"#FDD9B5"},{name:"Neon Carrot",hex:"#FFA343"},{name:"Almond",hex:"#EFDBC5"},{name:"Yellow Orange",hex:"#FFB653"},{name:"Gold",hex:"#E7C697"},{name:"Shadow",hex:"#8A795D"},{name:"Banana Mania",hex:"#FAE7B5"},{name:"Sunglow",hex:"#FFCF48"},{name:"Goldenrod",hex:"#FCD975"},{name:"Dandelion",hex:"#FDDB6D"},{name:"Yellow",hex:"#FCE883"},{name:"Green Yellow",hex:"#F0E891"},{name:"Spring Green",hex:"#ECEABE"},{name:"Olive Green",hex:"#BAB86C"},{name:"Laser Lemon",hex:"#FDFC74"},{name:"Unmellow Yellow",hex:"#FDFC74"},{name:"Canary",hex:"#FFFF99"},{name:"Yellow Green",hex:"#C5E384"},{name:"Inch Worm",hex:"#B2EC5D"},{name:"Asparagus",hex:"#87A96B"},{name:"Granny Smith Apple",hex:"#A8E4A0"},{name:"Electric Lime",hex:"#1DF914"},{name:"Screamin Green",hex:"#76FF7A"},{name:"Fern",hex:"#71BC78"},{name:"Forest Green",hex:"#6DAE81"},{name:"Sea Green",hex:"#9FE2BF"},{name:"Green",hex:"#1CAC78"},{name:"Mountain Meadow",hex:"#30BA8F"},{name:"Shamrock",hex:"#45CEA2"},{name:"Jungle Green",hex:"#3BB08F"},{name:"Caribbean Green",hex:"#1CD3A2"},{name:"Tropical Rain Forest",hex:"#17806D"},{name:"Pine Green",hex:"#158078"},{name:"Robin Egg Blue",hex:"#1FCECB"},{name:"Aquamarine",hex:"#78DBE2"},{name:"Turquoise Blue",hex:"#77DDE7"},{name:"Sky Blue",hex:"#80DAEB"},{name:"Outer Space",hex:"#414A4C"},{name:"Blue Green",hex:"#199EBD"},{name:"Pacific Blue",hex:"#1CA9C9"},{name:"Cerulean",hex:"#1DACD6"},{name:"Cornflower",hex:"#9ACEEB"},{name:"Midnight Blue",hex:"#1A4876"},{name:"Navy Blue",hex:"#1974D2"},{name:"Denim",hex:"#2B6CC4"},{name:"Blue",hex:"#1F75FE"},{name:"Periwinkle",hex:"#C5D0E6"},{name:"Cadet Blue",hex:"#B0B7C6"},{name:"Indigo",hex:"#5D76CB"},{name:"Wild Blue Yonder",hex:"#A2ADD0"},{name:"Manatee",hex:"#979AAA"},{name:"Blue Bell",hex:"#ADADD6"},{name:"Blue Violet",hex:"#7366BD"},{name:"Purple Heart",hex:"#7442C8"},{name:"Royal Purple",hex:"#7851A9"},{name:"Purple Mountains\u2019 Majesty",hex:"#9D81BA"},{name:"Violet (Purple)",hex:"#926EAE"},{name:"Wisteria",hex:"#CDA4DE"},{name:"Vivid Violet",hex:"#8F509D"},{name:"Fuchsia",hex:"#C364C5"},{name:"Shocking Pink",hex:"#FB7EFD"},{name:"Pink Flamingo",hex:"#FC74FD"},{name:"Plum",hex:"#8E4585"},{name:"Hot Magenta",hex:"#FF1DCE"},{name:"Purple Pizzazz",hex:"#FF1DCE"},{name:"Razzle Dazzle Rose",hex:"#FF48D0"},{name:"Orchid",hex:"#E6A8D7"},{name:"Red Violet",hex:"#C0448F"},{name:"Eggplant",hex:"#6E5160"},{name:"Cerise",hex:"#DD4492"},{name:"Wild Strawberry",hex:"#FF43A4"},{name:"Magenta",hex:"#F664AF"},{name:"Lavender",hex:"#FCB4D5"},{name:"Cotton Candy",hex:"#FFBCD9"},{name:"Violet Red",hex:"#F75394"},{name:"Carnation Pink",hex:"#FFAACC"},{name:"Razzmatazz",hex:"#E3256B"},{name:"Piggy Pink",hex:"#FDD7E4"},{name:"Jazzberry Jam",hex:"#CA3767"},{name:"Blush",hex:"#DE5D83"},{name:"Tickle Me Pink",hex:"#FC89AC"},{name:"Pink Sherbet",hex:"#F780A1"},{name:"Maroon",hex:"#C8385A"},{name:"Red",hex:"#EE204D"},{name:"Radical Red",hex:"#FF496C"},{name:"Mauvelous",hex:"#EF98AA"},{name:"Wild Watermelon",hex:"#FC6C85"},{name:"Scarlet",hex:"#FC2847"},{name:"Salmon",hex:"#FF9BAA"},{name:"Brick Red",hex:"#CB4154"},{name:"White",hex:"#EDEDED"},{name:"Timberwolf",hex:"#DBD7D2"},{name:"Silver",hex:"#CDC5C2"},{name:"Gray",hex:"#95918C"},{name:"Black",hex:"#232323"}]});var so=s((yb,lo)=>{lo.exports=[{name:"red",hex:"#FF0000"},{name:"orange",hex:"#FFA500"},{name:"yellow",hex:"#FFFF00"},{name:"green",hex:"#008000"},{name:"blue",hex:"#0000FF"},{name:"indigo",hex:"#4B0082"},{name:"violet",hex:"#EE82EE"}]});var fo=s((Ab,xo)=>{xo.exports=[{name:"indigo",hex:"#4b0082"},{name:"gold",hex:"#ffd700"},{name:"hotpink",hex:"#ff69b4"},{name:"firebrick",hex:"#b22222"},{name:"indianred",hex:"#cd5c5c"},{name:"yellow",hex:"#ffff00"},{name:"mistyrose",hex:"#ffe4e1"},{name:"darkolivegreen",hex:"#556b2f"},{name:"olive",hex:"#808000"},{name:"darkseagreen",hex:"#8fbc8f"},{name:"pink",hex:"#ffc0cb"},{name:"tomato",hex:"#ff6347"},{name:"lightcoral",hex:"#f08080"},{name:"orangered",hex:"#ff4500"},{name:"navajowhite",hex:"#ffdead"},{name:"lime",hex:"#00ff00"},{name:"palegreen",hex:"#98fb98"},{name:"darkslategrey",hex:"#2f4f4f"},{name:"greenyellow",hex:"#adff2f"},{name:"burlywood",hex:"#deb887"},{name:"seashell",hex:"#fff5ee"},{name:"mediumspringgreen",hex:"#00fa9a"},{name:"fuchsia",hex:"#ff00ff"},{name:"papayawhip",hex:"#ffefd5"},{name:"blanchedalmond",hex:"#ffebcd"},{name:"chartreuse",hex:"#7fff00"},{name:"dimgray",hex:"#696969"},{name:"black",hex:"#000000"},{name:"peachpuff",hex:"#ffdab9"},{name:"springgreen",hex:"#00ff7f"},{name:"aquamarine",hex:"#7fffd4"},{name:"white",hex:"#ffffff"},{name:"orange",hex:"#ffa500"},{name:"lightsalmon",hex:"#ffa07a"},{name:"darkslategray",hex:"#2f4f4f"},{name:"brown",hex:"#a52a2a"},{name:"ivory",hex:"#fffff0"},{name:"dodgerblue",hex:"#1e90ff"},{name:"peru",hex:"#cd853f"},{name:"lawngreen",hex:"#7cfc00"},{name:"chocolate",hex:"#d2691e"},{name:"crimson",hex:"#dc143c"},{name:"forestgreen",hex:"#228b22"},{name:"darkgrey",hex:"#a9a9a9"},{name:"lightseagreen",hex:"#20b2aa"},{name:"cyan",hex:"#00ffff"},{name:"mintcream",hex:"#f5fffa"},{name:"silver",hex:"#c0c0c0"},{name:"antiquewhite",hex:"#faebd7"},{name:"mediumorchid",hex:"#ba55d3"},{name:"skyblue",hex:"#87ceeb"},{name:"gray",hex:"#808080"},{name:"darkturquoise",hex:"#00ced1"},{name:"goldenrod",hex:"#daa520"},{name:"darkgreen",hex:"#006400"},{name:"floralwhite",hex:"#fffaf0"},{name:"darkviolet",hex:"#9400d3"},{name:"darkgray",hex:"#a9a9a9"},{name:"moccasin",hex:"#ffe4b5"},{name:"saddlebrown",hex:"#8b4513"},{name:"grey",hex:"#808080"},{name:"darkslateblue",hex:"#483d8b"},{name:"lightskyblue",hex:"#87cefa"},{name:"lightpink",hex:"#ffb6c1"},{name:"mediumvioletred",hex:"#c71585"},{name:"slategrey",hex:"#708090"},{name:"red",hex:"#ff0000"},{name:"deeppink",hex:"#ff1493"},{name:"limegreen",hex:"#32cd32"},{name:"darkmagenta",hex:"#8b008b"},{name:"palegoldenrod",hex:"#eee8aa"},{name:"plum",hex:"#dda0dd"},{name:"turquoise",hex:"#40e0d0"},{name:"lightgrey",hex:"#d3d3d3"},{name:"lightgoldenrodyellow",hex:"#fafad2"},{name:"darkgoldenrod",hex:"#b8860b"},{name:"lavender",hex:"#e6e6fa"},{name:"maroon",hex:"#800000"},{name:"yellowgreen",hex:"#9acd32"},{name:"sandybrown",hex:"#f4a460"},{name:"thistle",hex:"#d8bfd8"},{name:"violet",hex:"#ee82ee"},{name:"navy",hex:"#000080"},{name:"magenta",hex:"#ff00ff"},{name:"dimgrey",hex:"#696969"},{name:"tan",hex:"#d2b48c"},{name:"rosybrown",hex:"#bc8f8f"},{name:"olivedrab",hex:"#6b8e23"},{name:"blue",hex:"#0000ff"},{name:"lightblue",hex:"#add8e6"},{name:"ghostwhite",hex:"#f8f8ff"},{name:"honeydew",hex:"#f0fff0"},{name:"cornflowerblue",hex:"#6495ed"},{name:"slateblue",hex:"#6a5acd"},{name:"linen",hex:"#faf0e6"},{name:"darkblue",hex:"#00008b"},{name:"powderblue",hex:"#b0e0e6"},{name:"seagreen",hex:"#2e8b57"},{name:"darkkhaki",hex:"#bdb76b"},{name:"snow",hex:"#fffafa"},{name:"sienna",hex:"#a0522d"},{name:"mediumblue",hex:"#0000cd"},{name:"royalblue",hex:"#4169e1"},{name:"lightcyan",hex:"#e0ffff"},{name:"green",hex:"#008000"},{name:"mediumpurple",hex:"#9370db"},{name:"midnightblue",hex:"#191970"},{name:"cornsilk",hex:"#fff8dc"},{name:"paleturquoise",hex:"#afeeee"},{name:"bisque",hex:"#ffe4c4"},{name:"slategray",hex:"#708090"},{name:"darkcyan",hex:"#008b8b"},{name:"khaki",hex:"#f0e68c"},{name:"wheat",hex:"#f5deb3"},{name:"teal",hex:"#008080"},{name:"darkorchid",hex:"#9932cc"},{name:"deepskyblue",hex:"#00bfff"},{name:"salmon",hex:"#fa8072"},{name:"darkred",hex:"#8b0000"},{name:"steelblue",hex:"#4682b4"},{name:"palevioletred",hex:"#db7093"},{name:"lightslategray",hex:"#778899"},{name:"aliceblue",hex:"#f0f8ff"},{name:"lightslategrey",hex:"#778899"},{name:"lightgreen",hex:"#90ee90"},{name:"orchid",hex:"#da70d6"},{name:"gainsboro",hex:"#dcdcdc"},{name:"mediumseagreen",hex:"#3cb371"},{name:"lightgray",hex:"#d3d3d3"},{name:"mediumturquoise",hex:"#48d1cc"},{name:"lemonchiffon",hex:"#fffacd"},{name:"cadetblue",hex:"#5f9ea0"},{name:"lightyellow",hex:"#ffffe0"},{name:"lavenderblush",hex:"#fff0f5"},{name:"coral",hex:"#ff7f50"},{name:"purple",hex:"#800080"},{name:"aqua",hex:"#00ffff"},{name:"whitesmoke",hex:"#f5f5f5"},{name:"mediumslateblue",hex:"#7b68ee"},{name:"darkorange",hex:"#ff8c00"},{name:"mediumaquamarine",hex:"#66cdaa"},{name:"darksalmon",hex:"#e9967a"},{name:"beige",hex:"#f5f5dc"},{name:"blueviolet",hex:"#8a2be2"},{name:"azure",hex:"#f0ffff"},{name:"lightsteelblue",hex:"#b0c4de"},{name:"oldlace",hex:"#fdf5e6"}]});var po=s((Db,Fo)=>{"use strict";var Ke=st(),E0=no(),$r={basic:ao(),html:io(),ntc:oo(),pantone:mo(),roygbiv:so(),x11:fo()},Ur=new E0,co=Fo.exports=function(e,r){r=r||{};var i={color:e,options:r};if(Ur.has(i))return Ur.get(i);var l=String(r.distance).toLowerCase()==="deltae";e=Ke(e);var f={};for(var F in $r)r.pick&&r.pick.indexOf(F)===-1||r.omit&&r.omit.indexOf(F)!==-1||(f[F]=$r[F].map(function(p){return p.distance=l?Ke.deltaE(e,Ke(p.hex)):Ke.distance(e,Ke(p.hex)),p}).sort(function(p,A){return p.distance-A.distance}));return Ur.set(i,f),f};co.chroma=Ke;co.lists=$r});var Co=s((Eb,go)=>{function v0(){this.__data__=[],this.size=0}go.exports=v0});var Zr=s((vb,bo)=>{function _0(e,r){return e===r||e!==e&&r!==r}bo.exports=_0});var Pn=s((_b,Bo)=>{var w0=Zr();function S0(e,r){for(var i=e.length;i--;)if(w0(e[i][0],r))return i;return-1}Bo.exports=S0});var Ao=s((wb,yo)=>{var q0=Pn(),P0=Array.prototype,k0=P0.splice;function T0(e){var r=this.__data__,i=q0(r,e);if(i<0)return!1;var l=r.length-1;return i==l?r.pop():k0.call(r,i,1),--this.size,!0}yo.exports=T0});var Eo=s((Sb,Do)=>{var O0=Pn();function M0(e){var r=this.__data__,i=O0(r,e);return i<0?void 0:r[i][1]}Do.exports=M0});var _o=s((qb,vo)=>{var G0=Pn();function R0(e){return G0(this.__data__,e)>-1}vo.exports=R0});var So=s((Pb,wo)=>{var j0=Pn();function L0(e,r){var i=this.__data__,l=j0(i,e);return l<0?(++this.size,i.push([e,r])):i[l][1]=r,this}wo.exports=L0});var kn=s((kb,qo)=>{var z0=Co(),N0=Ao(),I0=Eo(),W0=_o(),H0=So();function Ye(e){var r=-1,i=e==null?0:e.length;for(this.clear();++r<i;){var l=e[r];this.set(l[0],l[1])}}Ye.prototype.clear=z0;Ye.prototype.delete=N0;Ye.prototype.get=I0;Ye.prototype.has=W0;Ye.prototype.set=H0;qo.exports=Ye});var ko=s((Tb,Po)=>{var V0=kn();function K0(){this.__data__=new V0,this.size=0}Po.exports=K0});var Oo=s((Ob,To)=>{function Y0(e){var r=this.__data__,i=r.delete(e);return this.size=r.size,i}To.exports=Y0});var Go=s((Mb,Mo)=>{function J0(e){return this.__data__.get(e)}Mo.exports=J0});var jo=s((Gb,Ro)=>{function U0(e){return this.__data__.has(e)}Ro.exports=U0});var Xr=s((Rb,Lo)=>{var $0=typeof global=="object"&&global&&global.Object===Object&&global;Lo.exports=$0});var be=s((jb,zo)=>{var Z0=Xr(),X0=typeof self=="object"&&self&&self.Object===Object&&self,Q0=Z0||X0||Function("return this")();zo.exports=Q0});var Tn=s((Lb,No)=>{var ec=be(),nc=ec.Symbol;No.exports=nc});var Vo=s((zb,Ho)=>{var Io=Tn(),Wo=Object.prototype,rc=Wo.hasOwnProperty,ac=Wo.toString,On=Io?Io.toStringTag:void 0;function tc(e){var r=rc.call(e,On),i=e[On];try{e[On]=void 0;var l=!0}catch{}var f=ac.call(e);return l&&(r?e[On]=i:delete e[On]),f}Ho.exports=tc});var Yo=s((Nb,Ko)=>{var ic=Object.prototype,hc=ic.toString;function oc(e){return hc.call(e)}Ko.exports=oc});var Je=s((Ib,$o)=>{var Jo=Tn(),uc=Vo(),mc=Yo(),lc="[object Null]",sc="[object Undefined]",Uo=Jo?Jo.toStringTag:void 0;function xc(e){return e==null?e===void 0?sc:lc:Uo&&Uo in Object(e)?uc(e):mc(e)}$o.exports=xc});var ur=s((Wb,Zo)=>{function fc(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}Zo.exports=fc});var Qr=s((Hb,Xo)=>{var cc=Je(),Fc=ur(),dc="[object AsyncFunction]",pc="[object Function]",gc="[object GeneratorFunction]",Cc="[object Proxy]";function bc(e){if(!Fc(e))return!1;var r=cc(e);return r==pc||r==gc||r==dc||r==Cc}Xo.exports=bc});var eu=s((Vb,Qo)=>{var Bc=be(),yc=Bc["__core-js_shared__"];Qo.exports=yc});var au=s((Kb,ru)=>{var ea=eu(),nu=function(){var e=/[^.]+$/.exec(ea&&ea.keys&&ea.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Ac(e){return!!nu&&nu in e}ru.exports=Ac});var na=s((Yb,tu)=>{var Dc=Function.prototype,Ec=Dc.toString;function vc(e){if(e!=null){try{return Ec.call(e)}catch{}try{return e+""}catch{}}return""}tu.exports=vc});var hu=s((Jb,iu)=>{var _c=Qr(),wc=au(),Sc=ur(),qc=na(),Pc=/[\\^$.*+?()[\]{}|]/g,kc=/^\[object .+?Constructor\]$/,Tc=Function.prototype,Oc=Object.prototype,Mc=Tc.toString,Gc=Oc.hasOwnProperty,Rc=RegExp("^"+Mc.call(Gc).replace(Pc,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function jc(e){if(!Sc(e)||wc(e))return!1;var r=_c(e)?Rc:kc;return r.test(qc(e))}iu.exports=jc});var uu=s((Ub,ou)=>{function Lc(e,r){return e?.[r]}ou.exports=Lc});var je=s(($b,mu)=>{var zc=hu(),Nc=uu();function Ic(e,r){var i=Nc(e,r);return zc(i)?i:void 0}mu.exports=Ic});var mr=s((Zb,lu)=>{var Wc=je(),Hc=be(),Vc=Wc(Hc,"Map");lu.exports=Vc});var Mn=s((Xb,su)=>{var Kc=je(),Yc=Kc(Object,"create");su.exports=Yc});var cu=s((Qb,fu)=>{var xu=Mn();function Jc(){this.__data__=xu?xu(null):{},this.size=0}fu.exports=Jc});var du=s((e8,Fu)=>{function Uc(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}Fu.exports=Uc});var gu=s((n8,pu)=>{var $c=Mn(),Zc="__lodash_hash_undefined__",Xc=Object.prototype,Qc=Xc.hasOwnProperty;function eF(e){var r=this.__data__;if($c){var i=r[e];return i===Zc?void 0:i}return Qc.call(r,e)?r[e]:void 0}pu.exports=eF});var bu=s((r8,Cu)=>{var nF=Mn(),rF=Object.prototype,aF=rF.hasOwnProperty;function tF(e){var r=this.__data__;return nF?r[e]!==void 0:aF.call(r,e)}Cu.exports=tF});var yu=s((a8,Bu)=>{var iF=Mn(),hF="__lodash_hash_undefined__";function oF(e,r){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=iF&&r===void 0?hF:r,this}Bu.exports=oF});var Du=s((t8,Au)=>{var uF=cu(),mF=du(),lF=gu(),sF=bu(),xF=yu();function Ue(e){var r=-1,i=e==null?0:e.length;for(this.clear();++r<i;){var l=e[r];this.set(l[0],l[1])}}Ue.prototype.clear=uF;Ue.prototype.delete=mF;Ue.prototype.get=lF;Ue.prototype.has=sF;Ue.prototype.set=xF;Au.exports=Ue});var _u=s((i8,vu)=>{var Eu=Du(),fF=kn(),cF=mr();function FF(){this.size=0,this.__data__={hash:new Eu,map:new(cF||fF),string:new Eu}}vu.exports=FF});var Su=s((h8,wu)=>{function dF(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}wu.exports=dF});var Gn=s((o8,qu)=>{var pF=Su();function gF(e,r){var i=e.__data__;return pF(r)?i[typeof r=="string"?"string":"hash"]:i.map}qu.exports=gF});var ku=s((u8,Pu)=>{var CF=Gn();function bF(e){var r=CF(this,e).delete(e);return this.size-=r?1:0,r}Pu.exports=bF});var Ou=s((m8,Tu)=>{var BF=Gn();function yF(e){return BF(this,e).get(e)}Tu.exports=yF});var Gu=s((l8,Mu)=>{var AF=Gn();function DF(e){return AF(this,e).has(e)}Mu.exports=DF});var ju=s((s8,Ru)=>{var EF=Gn();function vF(e,r){var i=EF(this,e),l=i.size;return i.set(e,r),this.size+=i.size==l?0:1,this}Ru.exports=vF});var lr=s((x8,Lu)=>{var _F=_u(),wF=ku(),SF=Ou(),qF=Gu(),PF=ju();function $e(e){var r=-1,i=e==null?0:e.length;for(this.clear();++r<i;){var l=e[r];this.set(l[0],l[1])}}$e.prototype.clear=_F;$e.prototype.delete=wF;$e.prototype.get=SF;$e.prototype.has=qF;$e.prototype.set=PF;Lu.exports=$e});var Nu=s((f8,zu)=>{var kF=kn(),TF=mr(),OF=lr(),MF=200;function GF(e,r){var i=this.__data__;if(i instanceof kF){var l=i.__data__;if(!TF||l.length<MF-1)return l.push([e,r]),this.size=++i.size,this;i=this.__data__=new OF(l)}return i.set(e,r),this.size=i.size,this}zu.exports=GF});var ra=s((c8,Iu)=>{var RF=kn(),jF=ko(),LF=Oo(),zF=Go(),NF=jo(),IF=Nu();function Ze(e){var r=this.__data__=new RF(e);this.size=r.size}Ze.prototype.clear=jF;Ze.prototype.delete=LF;Ze.prototype.get=zF;Ze.prototype.has=NF;Ze.prototype.set=IF;Iu.exports=Ze});var Hu=s((F8,Wu)=>{var WF="__lodash_hash_undefined__";function HF(e){return this.__data__.set(e,WF),this}Wu.exports=HF});var Ku=s((d8,Vu)=>{function VF(e){return this.__data__.has(e)}Vu.exports=VF});var aa=s((p8,Yu)=>{var KF=lr(),YF=Hu(),JF=Ku();function sr(e){var r=-1,i=e==null?0:e.length;for(this.__data__=new KF;++r<i;)this.add(e[r])}sr.prototype.add=sr.prototype.push=YF;sr.prototype.has=JF;Yu.exports=sr});var Uu=s((g8,Ju)=>{function UF(e,r){for(var i=-1,l=e==null?0:e.length;++i<l;)if(r(e[i],i,e))return!0;return!1}Ju.exports=UF});var ta=s((C8,$u)=>{function $F(e,r){return e.has(r)}$u.exports=$F});var ia=s((b8,Zu)=>{var ZF=aa(),XF=Uu(),QF=ta(),ed=1,nd=2;function rd(e,r,i,l,f,F){var p=i&ed,A=e.length,w=r.length;if(A!=w&&!(p&&w>A))return!1;var P=F.get(e),v=F.get(r);if(P&&v)return P==r&&v==e;var O=-1,k=!0,ne=i&nd?new ZF:void 0;for(F.set(e,r),F.set(r,e);++O<A;){var Z=e[O],U=r[O];if(l)var Q=p?l(U,Z,O,r,e,F):l(Z,U,O,e,r,F);if(Q!==void 0){if(Q)continue;k=!1;break}if(ne){if(!XF(r,function(se,de){if(!QF(ne,de)&&(Z===se||f(Z,se,i,l,F)))return ne.push(de)})){k=!1;break}}else if(!(Z===U||f(Z,U,i,l,F))){k=!1;break}}return F.delete(e),F.delete(r),k}Zu.exports=rd});var Qu=s((B8,Xu)=>{var ad=be(),td=ad.Uint8Array;Xu.exports=td});var nm=s((y8,em)=>{function id(e){var r=-1,i=Array(e.size);return e.forEach(function(l,f){i[++r]=[f,l]}),i}em.exports=id});var xr=s((A8,rm)=>{function hd(e){var r=-1,i=Array(e.size);return e.forEach(function(l){i[++r]=l}),i}rm.exports=hd});var om=s((D8,hm)=>{var am=Tn(),tm=Qu(),od=Zr(),ud=ia(),md=nm(),ld=xr(),sd=1,xd=2,fd="[object Boolean]",cd="[object Date]",Fd="[object Error]",dd="[object Map]",pd="[object Number]",gd="[object RegExp]",Cd="[object Set]",bd="[object String]",Bd="[object Symbol]",yd="[object ArrayBuffer]",Ad="[object DataView]",im=am?am.prototype:void 0,ha=im?im.valueOf:void 0;function Dd(e,r,i,l,f,F,p){switch(i){case Ad:if(e.byteLength!=r.byteLength||e.byteOffset!=r.byteOffset)return!1;e=e.buffer,r=r.buffer;case yd:return!(e.byteLength!=r.byteLength||!F(new tm(e),new tm(r)));case fd:case cd:case pd:return od(+e,+r);case Fd:return e.name==r.name&&e.message==r.message;case gd:case bd:return e==r+"";case dd:var A=md;case Cd:var w=l&sd;if(A||(A=ld),e.size!=r.size&&!w)return!1;var P=p.get(e);if(P)return P==r;l|=xd,p.set(e,r);var v=ud(A(e),A(r),l,f,F,p);return p.delete(e),v;case Bd:if(ha)return ha.call(e)==ha.call(r)}return!1}hm.exports=Dd});var mm=s((E8,um)=>{function Ed(e,r){for(var i=-1,l=r.length,f=e.length;++i<l;)e[f+i]=r[i];return e}um.exports=Ed});var ve=s((v8,lm)=>{var vd=Array.isArray;lm.exports=vd});var xm=s((_8,sm)=>{var _d=mm(),wd=ve();function Sd(e,r,i){var l=r(e);return wd(e)?l:_d(l,i(e))}sm.exports=Sd});var cm=s((w8,fm)=>{function qd(e,r){for(var i=-1,l=e==null?0:e.length,f=0,F=[];++i<l;){var p=e[i];r(p,i,e)&&(F[f++]=p)}return F}fm.exports=qd});var dm=s((S8,Fm)=>{function Pd(){return[]}Fm.exports=Pd});var Cm=s((q8,gm)=>{var kd=cm(),Td=dm(),Od=Object.prototype,Md=Od.propertyIsEnumerable,pm=Object.getOwnPropertySymbols,Gd=pm?function(e){return e==null?[]:(e=Object(e),kd(pm(e),function(r){return Md.call(e,r)}))}:Td;gm.exports=Gd});var Bm=s((P8,bm)=>{function Rd(e,r){for(var i=-1,l=Array(e);++i<e;)l[i]=r(i);return l}bm.exports=Rd});var Xe=s((k8,ym)=>{function jd(e){return e!=null&&typeof e=="object"}ym.exports=jd});var Dm=s((T8,Am)=>{var Ld=Je(),zd=Xe(),Nd="[object Arguments]";function Id(e){return zd(e)&&Ld(e)==Nd}Am.exports=Id});var oa=s((O8,_m)=>{var Em=Dm(),Wd=Xe(),vm=Object.prototype,Hd=vm.hasOwnProperty,Vd=vm.propertyIsEnumerable,Kd=Em(function(){return arguments}())?Em:function(e){return Wd(e)&&Hd.call(e,"callee")&&!Vd.call(e,"callee")};_m.exports=Kd});var Sm=s((M8,wm)=>{function Yd(){return!1}wm.exports=Yd});var ua=s((Rn,Qe)=>{var Jd=be(),Ud=Sm(),km=typeof Rn=="object"&&Rn&&!Rn.nodeType&&Rn,qm=km&&typeof Qe=="object"&&Qe&&!Qe.nodeType&&Qe,$d=qm&&qm.exports===km,Pm=$d?Jd.Buffer:void 0,Zd=Pm?Pm.isBuffer:void 0,Xd=Zd||Ud;Qe.exports=Xd});var ma=s((G8,Tm)=>{var Qd=9007199254740991,ep=/^(?:0|[1-9]\d*)$/;function np(e,r){var i=typeof e;return r=r??Qd,!!r&&(i=="number"||i!="symbol"&&ep.test(e))&&e>-1&&e%1==0&&e<r}Tm.exports=np});var fr=s((R8,Om)=>{var rp=9007199254740991;function ap(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=rp}Om.exports=ap});var Gm=s((j8,Mm)=>{var tp=Je(),ip=fr(),hp=Xe(),op="[object Arguments]",up="[object Array]",mp="[object Boolean]",lp="[object Date]",sp="[object Error]",xp="[object Function]",fp="[object Map]",cp="[object Number]",Fp="[object Object]",dp="[object RegExp]",pp="[object Set]",gp="[object String]",Cp="[object WeakMap]",bp="[object ArrayBuffer]",Bp="[object DataView]",yp="[object Float32Array]",Ap="[object Float64Array]",Dp="[object Int8Array]",Ep="[object Int16Array]",vp="[object Int32Array]",_p="[object Uint8Array]",wp="[object Uint8ClampedArray]",Sp="[object Uint16Array]",qp="[object Uint32Array]",J={};J[yp]=J[Ap]=J[Dp]=J[Ep]=J[vp]=J[_p]=J[wp]=J[Sp]=J[qp]=!0;J[op]=J[up]=J[bp]=J[mp]=J[Bp]=J[lp]=J[sp]=J[xp]=J[fp]=J[cp]=J[Fp]=J[dp]=J[pp]=J[gp]=J[Cp]=!1;function Pp(e){return hp(e)&&ip(e.length)&&!!J[tp(e)]}Mm.exports=Pp});var jm=s((L8,Rm)=>{function kp(e){return function(r){return e(r)}}Rm.exports=kp});var zm=s((jn,en)=>{var Tp=Xr(),Lm=typeof jn=="object"&&jn&&!jn.nodeType&&jn,Ln=Lm&&typeof en=="object"&&en&&!en.nodeType&&en,Op=Ln&&Ln.exports===Lm,la=Op&&Tp.process,Mp=function(){try{var e=Ln&&Ln.require&&Ln.require("util").types;return e||la&&la.binding&&la.binding("util")}catch{}}();en.exports=Mp});var sa=s((z8,Wm)=>{var Gp=Gm(),Rp=jm(),Nm=zm(),Im=Nm&&Nm.isTypedArray,jp=Im?Rp(Im):Gp;Wm.exports=jp});var Vm=s((N8,Hm)=>{var Lp=Bm(),zp=oa(),Np=ve(),Ip=ua(),Wp=ma(),Hp=sa(),Vp=Object.prototype,Kp=Vp.hasOwnProperty;function Yp(e,r){var i=Np(e),l=!i&&zp(e),f=!i&&!l&&Ip(e),F=!i&&!l&&!f&&Hp(e),p=i||l||f||F,A=p?Lp(e.length,String):[],w=A.length;for(var P in e)(r||Kp.call(e,P))&&!(p&&(P=="length"||f&&(P=="offset"||P=="parent")||F&&(P=="buffer"||P=="byteLength"||P=="byteOffset")||Wp(P,w)))&&A.push(P);return A}Hm.exports=Yp});var Ym=s((I8,Km)=>{var Jp=Object.prototype;function Up(e){var r=e&&e.constructor,i=typeof r=="function"&&r.prototype||Jp;return e===i}Km.exports=Up});var Um=s((W8,Jm)=>{function $p(e,r){return function(i){return e(r(i))}}Jm.exports=$p});var Zm=s((H8,$m)=>{var Zp=Um(),Xp=Zp(Object.keys,Object);$m.exports=Xp});var Qm=s((V8,Xm)=>{var Qp=Ym(),e1=Zm(),n1=Object.prototype,r1=n1.hasOwnProperty;function a1(e){if(!Qp(e))return e1(e);var r=[];for(var i in Object(e))r1.call(e,i)&&i!="constructor"&&r.push(i);return r}Xm.exports=a1});var nl=s((K8,el)=>{var t1=Qr(),i1=fr();function h1(e){return e!=null&&i1(e.length)&&!t1(e)}el.exports=h1});var xa=s((Y8,rl)=>{var o1=Vm(),u1=Qm(),m1=nl();function l1(e){return m1(e)?o1(e):u1(e)}rl.exports=l1});var tl=s((J8,al)=>{var s1=xm(),x1=Cm(),f1=xa();function c1(e){return s1(e,f1,x1)}al.exports=c1});var ol=s((U8,hl)=>{var il=tl(),F1=1,d1=Object.prototype,p1=d1.hasOwnProperty;function g1(e,r,i,l,f,F){var p=i&F1,A=il(e),w=A.length,P=il(r),v=P.length;if(w!=v&&!p)return!1;for(var O=w;O--;){var k=A[O];if(!(p?k in r:p1.call(r,k)))return!1}var ne=F.get(e),Z=F.get(r);if(ne&&Z)return ne==r&&Z==e;var U=!0;F.set(e,r),F.set(r,e);for(var Q=p;++O<w;){k=A[O];var se=e[k],de=r[k];if(l)var b=p?l(de,se,k,r,e,F):l(se,de,k,e,r,F);if(!(b===void 0?se===de||f(se,de,i,l,F):b)){U=!1;break}Q||(Q=k=="constructor")}if(U&&!Q){var pe=e.constructor,Oe=r.constructor;pe!=Oe&&"constructor"in e&&"constructor"in r&&!(typeof pe=="function"&&pe instanceof pe&&typeof Oe=="function"&&Oe instanceof Oe)&&(U=!1)}return F.delete(e),F.delete(r),U}hl.exports=g1});var ml=s(($8,ul)=>{var C1=je(),b1=be(),B1=C1(b1,"DataView");ul.exports=B1});var sl=s((Z8,ll)=>{var y1=je(),A1=be(),D1=y1(A1,"Promise");ll.exports=D1});var fa=s((X8,xl)=>{var E1=je(),v1=be(),_1=E1(v1,"Set");xl.exports=_1});var cl=s((Q8,fl)=>{var w1=je(),S1=be(),q1=w1(S1,"WeakMap");fl.exports=q1});var yl=s((e5,Bl)=>{var ca=ml(),Fa=mr(),da=sl(),pa=fa(),ga=cl(),bl=Je(),nn=na(),Fl="[object Map]",P1="[object Object]",dl="[object Promise]",pl="[object Set]",gl="[object WeakMap]",Cl="[object DataView]",k1=nn(ca),T1=nn(Fa),O1=nn(da),M1=nn(pa),G1=nn(ga),Le=bl;(ca&&Le(new ca(new ArrayBuffer(1)))!=Cl||Fa&&Le(new Fa)!=Fl||da&&Le(da.resolve())!=dl||pa&&Le(new pa)!=pl||ga&&Le(new ga)!=gl)&&(Le=function(e){var r=bl(e),i=r==P1?e.constructor:void 0,l=i?nn(i):"";if(l)switch(l){case k1:return Cl;case T1:return Fl;case O1:return dl;case M1:return pl;case G1:return gl}return r});Bl.exports=Le});var ql=s((n5,Sl)=>{var Ca=ra(),R1=ia(),j1=om(),L1=ol(),Al=yl(),Dl=ve(),El=ua(),z1=sa(),N1=1,vl="[object Arguments]",_l="[object Array]",cr="[object Object]",I1=Object.prototype,wl=I1.hasOwnProperty;function W1(e,r,i,l,f,F){var p=Dl(e),A=Dl(r),w=p?_l:Al(e),P=A?_l:Al(r);w=w==vl?cr:w,P=P==vl?cr:P;var v=w==cr,O=P==cr,k=w==P;if(k&&El(e)){if(!El(r))return!1;p=!0,v=!1}if(k&&!v)return F||(F=new Ca),p||z1(e)?R1(e,r,i,l,f,F):j1(e,r,w,i,l,f,F);if(!(i&N1)){var ne=v&&wl.call(e,"__wrapped__"),Z=O&&wl.call(r,"__wrapped__");if(ne||Z){var U=ne?e.value():e,Q=Z?r.value():r;return F||(F=new Ca),f(U,Q,i,l,F)}}return k?(F||(F=new Ca),L1(e,r,i,l,f,F)):!1}Sl.exports=W1});var ba=s((r5,Tl)=>{var H1=ql(),Pl=Xe();function kl(e,r,i,l,f){return e===r?!0:e==null||r==null||!Pl(e)&&!Pl(r)?e!==e&&r!==r:H1(e,r,i,l,kl,f)}Tl.exports=kl});var Ml=s((a5,Ol)=>{var V1=ra(),K1=ba(),Y1=1,J1=2;function U1(e,r,i,l){var f=i.length,F=f,p=!l;if(e==null)return!F;for(e=Object(e);f--;){var A=i[f];if(p&&A[2]?A[1]!==e[A[0]]:!(A[0]in e))return!1}for(;++f<F;){A=i[f];var w=A[0],P=e[w],v=A[1];if(p&&A[2]){if(P===void 0&&!(w in e))return!1}else{var O=new V1;if(l)var k=l(P,v,w,e,r,O);if(!(k===void 0?K1(v,P,Y1|J1,l,O):k))return!1}}return!0}Ol.exports=U1});var Ba=s((t5,Gl)=>{var $1=ur();function Z1(e){return e===e&&!$1(e)}Gl.exports=Z1});var jl=s((i5,Rl)=>{var X1=Ba(),Q1=xa();function eg(e){for(var r=Q1(e),i=r.length;i--;){var l=r[i],f=e[l];r[i]=[l,f,X1(f)]}return r}Rl.exports=eg});var ya=s((h5,Ll)=>{function ng(e,r){return function(i){return i==null?!1:i[e]===r&&(r!==void 0||e in Object(i))}}Ll.exports=ng});var Nl=s((o5,zl)=>{var rg=Ml(),ag=jl(),tg=ya();function ig(e){var r=ag(e);return r.length==1&&r[0][2]?tg(r[0][0],r[0][1]):function(i){return i===e||rg(i,e,r)}}zl.exports=ig});var Fr=s((u5,Il)=>{var hg=Je(),og=Xe(),ug="[object Symbol]";function mg(e){return typeof e=="symbol"||og(e)&&hg(e)==ug}Il.exports=mg});var dr=s((m5,Wl)=>{var lg=ve(),sg=Fr(),xg=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,fg=/^\w*$/;function cg(e,r){if(lg(e))return!1;var i=typeof e;return i=="number"||i=="symbol"||i=="boolean"||e==null||sg(e)?!0:fg.test(e)||!xg.test(e)||r!=null&&e in Object(r)}Wl.exports=cg});var Kl=s((l5,Vl)=>{var Hl=lr(),Fg="Expected a function";function Aa(e,r){if(typeof e!="function"||r!=null&&typeof r!="function")throw new TypeError(Fg);var i=function(){var l=arguments,f=r?r.apply(this,l):l[0],F=i.cache;if(F.has(f))return F.get(f);var p=e.apply(this,l);return i.cache=F.set(f,p)||F,p};return i.cache=new(Aa.Cache||Hl),i}Aa.Cache=Hl;Vl.exports=Aa});var Jl=s((s5,Yl)=>{var dg=Kl(),pg=500;function gg(e){var r=dg(e,function(l){return i.size===pg&&i.clear(),l}),i=r.cache;return r}Yl.exports=gg});var $l=s((x5,Ul)=>{var Cg=Jl(),bg=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Bg=/\\(\\)?/g,yg=Cg(function(e){var r=[];return e.charCodeAt(0)===46&&r.push(""),e.replace(bg,function(i,l,f,F){r.push(f?F.replace(Bg,"$1"):l||i)}),r});Ul.exports=yg});var Xl=s((f5,Zl)=>{function Ag(e,r){for(var i=-1,l=e==null?0:e.length,f=Array(l);++i<l;)f[i]=r(e[i],i,e);return f}Zl.exports=Ag});var ts=s((c5,as)=>{var Ql=Tn(),Dg=Xl(),Eg=ve(),vg=Fr(),_g=1/0,es=Ql?Ql.prototype:void 0,ns=es?es.toString:void 0;function rs(e){if(typeof e=="string")return e;if(Eg(e))return Dg(e,rs)+"";if(vg(e))return ns?ns.call(e):"";var r=e+"";return r=="0"&&1/e==-_g?"-0":r}as.exports=rs});var hs=s((F5,is)=>{var wg=ts();function Sg(e){return e==null?"":wg(e)}is.exports=Sg});var Da=s((d5,os)=>{var qg=ve(),Pg=dr(),kg=$l(),Tg=hs();function Og(e,r){return qg(e)?e:Pg(e,r)?[e]:kg(Tg(e))}os.exports=Og});var zn=s((p5,us)=>{var Mg=Fr(),Gg=1/0;function Rg(e){if(typeof e=="string"||Mg(e))return e;var r=e+"";return r=="0"&&1/e==-Gg?"-0":r}us.exports=Rg});var Ea=s((g5,ms)=>{var jg=Da(),Lg=zn();function zg(e,r){r=jg(r,e);for(var i=0,l=r.length;e!=null&&i<l;)e=e[Lg(r[i++])];return i&&i==l?e:void 0}ms.exports=zg});var ss=s((C5,ls)=>{var Ng=Ea();function Ig(e,r,i){var l=e==null?void 0:Ng(e,r);return l===void 0?i:l}ls.exports=Ig});var fs=s((b5,xs)=>{function Wg(e,r){return e!=null&&r in Object(e)}xs.exports=Wg});var Fs=s((B5,cs)=>{var Hg=Da(),Vg=oa(),Kg=ve(),Yg=ma(),Jg=fr(),Ug=zn();function $g(e,r,i){r=Hg(r,e);for(var l=-1,f=r.length,F=!1;++l<f;){var p=Ug(r[l]);if(!(F=e!=null&&i(e,p)))break;e=e[p]}return F||++l!=f?F:(f=e==null?0:e.length,!!f&&Jg(f)&&Yg(p,f)&&(Kg(e)||Vg(e)))}cs.exports=$g});var ps=s((y5,ds)=>{var Zg=fs(),Xg=Fs();function Qg(e,r){return e!=null&&Xg(e,r,Zg)}ds.exports=Qg});var Cs=s((A5,gs)=>{var eC=ba(),nC=ss(),rC=ps(),aC=dr(),tC=Ba(),iC=ya(),hC=zn(),oC=1,uC=2;function mC(e,r){return aC(e)&&tC(r)?iC(hC(e),r):function(i){var l=nC(i,e);return l===void 0&&l===r?rC(i,e):eC(r,l,oC|uC)}}gs.exports=mC});var Bs=s((D5,bs)=>{function lC(e){return e}bs.exports=lC});var As=s((E5,ys)=>{function sC(e){return function(r){return r?.[e]}}ys.exports=sC});var Es=s((v5,Ds)=>{var xC=Ea();function fC(e){return function(r){return xC(r,e)}}Ds.exports=fC});var _s=s((_5,vs)=>{var cC=As(),FC=Es(),dC=dr(),pC=zn();function gC(e){return dC(e)?cC(pC(e)):FC(e)}vs.exports=gC});var Ss=s((w5,ws)=>{var CC=Nl(),bC=Cs(),BC=Bs(),yC=ve(),AC=_s();function DC(e){return typeof e=="function"?e:e==null?BC:typeof e=="object"?yC(e)?bC(e[0],e[1]):CC(e):AC(e)}ws.exports=DC});var Ps=s((S5,qs)=>{function EC(e,r,i,l){for(var f=e.length,F=i+(l?1:-1);l?F--:++F<f;)if(r(e[F],F,e))return F;return-1}qs.exports=EC});var Ts=s((q5,ks)=>{function vC(e){return e!==e}ks.exports=vC});var Ms=s((P5,Os)=>{function _C(e,r,i){for(var l=i-1,f=e.length;++l<f;)if(e[l]===r)return l;return-1}Os.exports=_C});var Rs=s((k5,Gs)=>{var wC=Ps(),SC=Ts(),qC=Ms();function PC(e,r,i){return r===r?qC(e,r,i):wC(e,SC,i)}Gs.exports=PC});var Ls=s((T5,js)=>{var kC=Rs();function TC(e,r){var i=e==null?0:e.length;return!!i&&kC(e,r,0)>-1}js.exports=TC});var Ns=s((O5,zs)=>{function OC(e,r,i){for(var l=-1,f=e==null?0:e.length;++l<f;)if(i(r,e[l]))return!0;return!1}zs.exports=OC});var Ws=s((M5,Is)=>{function MC(){}Is.exports=MC});var Vs=s((G5,Hs)=>{var va=fa(),GC=Ws(),RC=xr(),jC=1/0,LC=va&&1/RC(new va([,-0]))[1]==jC?function(e){return new va(e)}:GC;Hs.exports=LC});var Ys=s((R5,Ks)=>{var zC=aa(),NC=Ls(),IC=Ns(),WC=ta(),HC=Vs(),VC=xr(),KC=200;function YC(e,r,i){var l=-1,f=NC,F=e.length,p=!0,A=[],w=A;if(i)p=!1,f=IC;else if(F>=KC){var P=r?null:HC(e);if(P)return VC(P);p=!1,f=WC,w=new zC}else w=r?[]:A;e:for(;++l<F;){var v=e[l],O=r?r(v):v;if(v=i||v!==0?v:0,p&&O===O){for(var k=w.length;k--;)if(w[k]===O)continue e;r&&w.push(O),A.push(v)}else f(w,O,i)||(w!==A&&w.push(O),A.push(v))}return A}Ks.exports=YC});var Us=s((j5,Js)=>{var JC=Ss(),UC=Ys();function $C(e,r){return e&&e.length?UC(e,JC(r,2)):[]}Js.exports=$C});var ZC={};ux(ZC,{default:()=>ex});module.exports=mx(ZC);var Ne=require("react"),we=require("@raycast/api"),Qs=lt(po());var _e=require("@raycast/api");var _a=require("@raycast/api");var $s=lt(Us()),I5=(0,_a.getPreferenceValues)();function ze(e){let r=e.replace(/^#/,"");if(/^([a-f\d]{3,4}|[a-f\d]{6}|[a-f]\d{8})$/i.test(r))switch(r.length){case 3:case 4:r=r.slice(0,3).split("").map(l=>l.repeat(2)).join("");break;case 8:r=r.slice(0,6);break}return"#"+r.toUpperCase()}function Zs(e,r){return Object.entries(r??{}).sort(([,i],[,l])=>ze(i[0].hex)===ze(l[0].hex)?0:e===ze(i[0].hex)?-1:1)}function Xs(e){return(0,$s.default)(Object.values(e??{}).flat(),r=>r.name.toLowerCase()).sort((r,i)=>r.distance-i.distance)}var rn=require("react/jsx-runtime"),wa=({color:e})=>{let r=e.hex.replace(/^#/,"");return(0,rn.jsx)(_e.List.Item,{icon:{source:_e.Icon.CircleFilled,tintColor:{light:r,dark:r,adjustContrast:!1}},title:e.name,accessories:[{tag:{value:ze(e.hex),color:r}}],actions:(0,rn.jsxs)(_e.ActionPanel,{children:[(0,rn.jsx)(_e.Action.CopyToClipboard,{content:e.name,title:"Copy Name"}),(0,rn.jsx)(_e.Action.CopyToClipboard,{content:e.hex,title:"Copy Hex"})]})})};var Be=require("react/jsx-runtime");function ex(){let[e,r]=(0,Ne.useState)(!1),[i,l]=(0,Ne.useState)(""),[f,F]=(0,Ne.useState)(),[p,A]=(0,Ne.useState)("platform"),w=ze(i),{colorNamesPerGroup:P="5"}=(0,we.getPreferenceValues)(),v=O=>{r(!0);try{let k=(0,Qs.default)(O);F(k)}catch{F(void 0)}r(!1)};return(0,Ne.useEffect)(()=>{v(w)},[w]),(0,Be.jsx)(we.List,{isLoading:e,onSearchTextChange:l,searchBarPlaceholder:"Search HEX (#00ff00)",searchBarAccessory:(0,Be.jsxs)(we.List.Dropdown,{tooltip:"Sort colors by",storeValue:!0,onChange:O=>{A(O)},children:[(0,Be.jsx)(we.List.Dropdown.Item,{value:"platform",title:"Sort by Platform"}),(0,Be.jsx)(we.List.Dropdown.Item,{value:"proximity",title:"Sort by Proximity"})]}),children:f?p==="platform"?Zs(w,f).map(([O,k])=>(0,Be.jsx)(we.List.Section,{title:O,children:k.slice(0,Number(P)).map((ne,Z)=>(0,Be.jsx)(wa,{color:ne},`color-name-${ne.name}-${Z}`))},O)):Xs(f).map((O,k)=>(0,Be.jsx)(wa,{color:O},`color-name-${O.name}-${k}`)):(0,Be.jsx)(we.List.EmptyView,{title:i?"No colors found":"Search for a color to see"})})} +/*! Bundled license information: + +chroma-js/chroma.js: + (** + * @license + * + * chroma.js - JavaScript library for color conversions + * + * Copyright (c) 2011-2017, Gregor Aisch + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name Gregor Aisch may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + *) + (** + ColorBrewer colors for chroma.js + + Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The + Pennsylvania State University. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software distributed + under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + CONDITIONS OF ANY KIND, either express or implied. See the License for the + specific language governing permissions and limitations under the License. + + @preserve + *) +*/ diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/color-names.js.map b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/color-names.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/chroma-js/chroma.js", "../node_modules/es6-weak-map/is-implemented.js", "../node_modules/es5-ext/function/noop.js", "../node_modules/es5-ext/object/is-value.js", "../node_modules/es5-ext/object/set-prototype-of/is-implemented.js", "../node_modules/es5-ext/object/is-object.js", "../node_modules/es5-ext/object/valid-value.js", "../node_modules/es5-ext/object/create.js", "../node_modules/es5-ext/object/set-prototype-of/shim.js", "../node_modules/es5-ext/object/set-prototype-of/index.js", "../node_modules/es5-ext/object/valid-object.js", "../node_modules/es5-ext/string/random-uniq.js", "../node_modules/type/value/is.js", "../node_modules/type/object/is.js", "../node_modules/type/prototype/is.js", "../node_modules/type/function/is.js", "../node_modules/type/plain-function/is.js", "../node_modules/es5-ext/object/assign/is-implemented.js", "../node_modules/es5-ext/object/keys/is-implemented.js", "../node_modules/es5-ext/object/keys/shim.js", "../node_modules/es5-ext/object/keys/index.js", "../node_modules/es5-ext/object/assign/shim.js", "../node_modules/es5-ext/object/assign/index.js", "../node_modules/es5-ext/object/normalize-options.js", "../node_modules/es5-ext/string/%23/contains/is-implemented.js", "../node_modules/es5-ext/string/%23/contains/shim.js", "../node_modules/es5-ext/string/%23/contains/index.js", "../node_modules/d/index.js", "../node_modules/es5-ext/function/is-arguments.js", "../node_modules/es5-ext/string/is-string.js", "../node_modules/ext/global-this/is-implemented.js", "../node_modules/ext/global-this/implementation.js", "../node_modules/ext/global-this/index.js", "../node_modules/es6-symbol/is-implemented.js", "../node_modules/es6-symbol/is-symbol.js", "../node_modules/es6-symbol/validate-symbol.js", "../node_modules/es6-symbol/lib/private/generate-name.js", "../node_modules/es6-symbol/lib/private/setup/standard-symbols.js", "../node_modules/es6-symbol/lib/private/setup/symbol-registry.js", "../node_modules/es6-symbol/polyfill.js", "../node_modules/es6-symbol/index.js", "../node_modules/es5-ext/array/%23/clear.js", "../node_modules/es5-ext/object/valid-callable.js", "../node_modules/type/string/coerce.js", "../node_modules/type/lib/safe-to-string.js", "../node_modules/type/lib/to-short-string.js", "../node_modules/type/lib/resolve-error-message.js", "../node_modules/type/lib/resolve-exception.js", "../node_modules/type/value/ensure.js", "../node_modules/type/plain-function/ensure.js", "../node_modules/es5-ext/array/from/is-implemented.js", "../node_modules/es5-ext/function/is-function.js", "../node_modules/es5-ext/math/sign/is-implemented.js", "../node_modules/es5-ext/math/sign/shim.js", "../node_modules/es5-ext/math/sign/index.js", "../node_modules/es5-ext/number/to-integer.js", "../node_modules/es5-ext/number/to-pos-integer.js", "../node_modules/es5-ext/array/from/shim.js", "../node_modules/es5-ext/array/from/index.js", "../node_modules/es5-ext/object/copy.js", "../node_modules/es5-ext/object/_iterate.js", "../node_modules/es5-ext/object/for-each.js", "../node_modules/es5-ext/object/map.js", "../node_modules/d/auto-bind.js", "../node_modules/es6-iterator/index.js", "../node_modules/es6-iterator/array.js", "../node_modules/es6-iterator/string.js", "../node_modules/es6-iterator/is-iterable.js", "../node_modules/es6-iterator/valid-iterable.js", "../node_modules/es6-iterator/get.js", "../node_modules/es6-iterator/for-of.js", "../node_modules/es6-weak-map/is-native-implemented.js", "../node_modules/es6-weak-map/polyfill.js", "../node_modules/es6-weak-map/index.js", "../node_modules/color-namer/lib/colors/basic.js", "../node_modules/color-namer/lib/colors/html.js", "../node_modules/color-namer/lib/colors/ntc.js", "../node_modules/color-namer/lib/colors/pantone.js", "../node_modules/color-namer/lib/colors/roygbiv.js", "../node_modules/color-namer/lib/colors/x11.js", "../node_modules/color-namer/index.js", "../node_modules/lodash/_listCacheClear.js", "../node_modules/lodash/eq.js", "../node_modules/lodash/_assocIndexOf.js", "../node_modules/lodash/_listCacheDelete.js", "../node_modules/lodash/_listCacheGet.js", "../node_modules/lodash/_listCacheHas.js", "../node_modules/lodash/_listCacheSet.js", "../node_modules/lodash/_ListCache.js", "../node_modules/lodash/_stackClear.js", "../node_modules/lodash/_stackDelete.js", "../node_modules/lodash/_stackGet.js", "../node_modules/lodash/_stackHas.js", "../node_modules/lodash/_freeGlobal.js", "../node_modules/lodash/_root.js", "../node_modules/lodash/_Symbol.js", "../node_modules/lodash/_getRawTag.js", "../node_modules/lodash/_objectToString.js", "../node_modules/lodash/_baseGetTag.js", "../node_modules/lodash/isObject.js", "../node_modules/lodash/isFunction.js", "../node_modules/lodash/_coreJsData.js", "../node_modules/lodash/_isMasked.js", "../node_modules/lodash/_toSource.js", "../node_modules/lodash/_baseIsNative.js", "../node_modules/lodash/_getValue.js", "../node_modules/lodash/_getNative.js", "../node_modules/lodash/_Map.js", "../node_modules/lodash/_nativeCreate.js", "../node_modules/lodash/_hashClear.js", "../node_modules/lodash/_hashDelete.js", "../node_modules/lodash/_hashGet.js", "../node_modules/lodash/_hashHas.js", "../node_modules/lodash/_hashSet.js", "../node_modules/lodash/_Hash.js", "../node_modules/lodash/_mapCacheClear.js", "../node_modules/lodash/_isKeyable.js", "../node_modules/lodash/_getMapData.js", "../node_modules/lodash/_mapCacheDelete.js", "../node_modules/lodash/_mapCacheGet.js", "../node_modules/lodash/_mapCacheHas.js", "../node_modules/lodash/_mapCacheSet.js", "../node_modules/lodash/_MapCache.js", "../node_modules/lodash/_stackSet.js", "../node_modules/lodash/_Stack.js", "../node_modules/lodash/_setCacheAdd.js", "../node_modules/lodash/_setCacheHas.js", "../node_modules/lodash/_SetCache.js", "../node_modules/lodash/_arraySome.js", "../node_modules/lodash/_cacheHas.js", "../node_modules/lodash/_equalArrays.js", "../node_modules/lodash/_Uint8Array.js", "../node_modules/lodash/_mapToArray.js", "../node_modules/lodash/_setToArray.js", "../node_modules/lodash/_equalByTag.js", "../node_modules/lodash/_arrayPush.js", "../node_modules/lodash/isArray.js", "../node_modules/lodash/_baseGetAllKeys.js", "../node_modules/lodash/_arrayFilter.js", "../node_modules/lodash/stubArray.js", "../node_modules/lodash/_getSymbols.js", "../node_modules/lodash/_baseTimes.js", "../node_modules/lodash/isObjectLike.js", "../node_modules/lodash/_baseIsArguments.js", "../node_modules/lodash/isArguments.js", "../node_modules/lodash/stubFalse.js", "../node_modules/lodash/isBuffer.js", "../node_modules/lodash/_isIndex.js", "../node_modules/lodash/isLength.js", "../node_modules/lodash/_baseIsTypedArray.js", "../node_modules/lodash/_baseUnary.js", "../node_modules/lodash/_nodeUtil.js", "../node_modules/lodash/isTypedArray.js", "../node_modules/lodash/_arrayLikeKeys.js", "../node_modules/lodash/_isPrototype.js", "../node_modules/lodash/_overArg.js", "../node_modules/lodash/_nativeKeys.js", "../node_modules/lodash/_baseKeys.js", "../node_modules/lodash/isArrayLike.js", "../node_modules/lodash/keys.js", "../node_modules/lodash/_getAllKeys.js", "../node_modules/lodash/_equalObjects.js", "../node_modules/lodash/_DataView.js", "../node_modules/lodash/_Promise.js", "../node_modules/lodash/_Set.js", "../node_modules/lodash/_WeakMap.js", "../node_modules/lodash/_getTag.js", "../node_modules/lodash/_baseIsEqualDeep.js", "../node_modules/lodash/_baseIsEqual.js", "../node_modules/lodash/_baseIsMatch.js", "../node_modules/lodash/_isStrictComparable.js", "../node_modules/lodash/_getMatchData.js", "../node_modules/lodash/_matchesStrictComparable.js", "../node_modules/lodash/_baseMatches.js", "../node_modules/lodash/isSymbol.js", "../node_modules/lodash/_isKey.js", "../node_modules/lodash/memoize.js", "../node_modules/lodash/_memoizeCapped.js", "../node_modules/lodash/_stringToPath.js", "../node_modules/lodash/_arrayMap.js", "../node_modules/lodash/_baseToString.js", "../node_modules/lodash/toString.js", "../node_modules/lodash/_castPath.js", "../node_modules/lodash/_toKey.js", "../node_modules/lodash/_baseGet.js", "../node_modules/lodash/get.js", "../node_modules/lodash/_baseHasIn.js", "../node_modules/lodash/_hasPath.js", "../node_modules/lodash/hasIn.js", "../node_modules/lodash/_baseMatchesProperty.js", "../node_modules/lodash/identity.js", "../node_modules/lodash/_baseProperty.js", "../node_modules/lodash/_basePropertyDeep.js", "../node_modules/lodash/property.js", "../node_modules/lodash/_baseIteratee.js", "../node_modules/lodash/_baseFindIndex.js", "../node_modules/lodash/_baseIsNaN.js", "../node_modules/lodash/_strictIndexOf.js", "../node_modules/lodash/_baseIndexOf.js", "../node_modules/lodash/_arrayIncludes.js", "../node_modules/lodash/_arrayIncludesWith.js", "../node_modules/lodash/noop.js", "../node_modules/lodash/_createSet.js", "../node_modules/lodash/_baseUniq.js", "../node_modules/lodash/uniqBy.js", "../src/color-names.tsx", "../src/components/ColorNames.tsx", "../src/utils.ts"], + "sourcesContent": ["\n/**\n * @license\n *\n * chroma.js - JavaScript library for color conversions\n * \n * Copyright (c) 2011-2017, Gregor Aisch\n * All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * \n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n * \n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n * \n * 3. The name Gregor Aisch may not be used to endorse or promote products\n * derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n */\n\n(function() {\n var Color, DEG2RAD, LAB_CONSTANTS, PI, PITHIRD, RAD2DEG, TWOPI, _average_lrgb, _guess_formats, _guess_formats_sorted, _input, _interpolators, abs, atan2, bezier, blend, blend_f, brewer, burn, chroma, clip_rgb, cmyk2rgb, colors, cos, css2rgb, darken, dodge, each, floor, hcg2rgb, hex2rgb, hsi2rgb, hsl2css, hsl2rgb, hsv2rgb, interpolate, interpolate_hsx, interpolate_lab, interpolate_lrgb, interpolate_num, interpolate_rgb, lab2lch, lab2rgb, lab_xyz, lch2lab, lch2rgb, lighten, limit, log, luminance_x, m, max, multiply, normal, num2rgb, overlay, pow, rgb2cmyk, rgb2css, rgb2hcg, rgb2hex, rgb2hsi, rgb2hsl, rgb2hsv, rgb2lab, rgb2lch, rgb2luminance, rgb2num, rgb2temperature, rgb2xyz, rgb_xyz, rnd, root, round, screen, sin, sqrt, temperature2rgb, type, unpack, w3cx11, xyz_lab, xyz_rgb,\n slice = [].slice;\n\n type = (function() {\n\n /*\n for browser-safe type checking+\n ported from jQuery's $.type\n */\n var classToType, len, name, o, ref;\n classToType = {};\n ref = \"Boolean Number String Function Array Date RegExp Undefined Null\".split(\" \");\n for (o = 0, len = ref.length; o < len; o++) {\n name = ref[o];\n classToType[\"[object \" + name + \"]\"] = name.toLowerCase();\n }\n return function(obj) {\n var strType;\n strType = Object.prototype.toString.call(obj);\n return classToType[strType] || \"object\";\n };\n })();\n\n limit = function(x, min, max) {\n if (min == null) {\n min = 0;\n }\n if (max == null) {\n max = 1;\n }\n if (x < min) {\n x = min;\n }\n if (x > max) {\n x = max;\n }\n return x;\n };\n\n unpack = function(args) {\n if (args.length >= 3) {\n return Array.prototype.slice.call(args);\n } else {\n return args[0];\n }\n };\n\n clip_rgb = function(rgb) {\n var i, o;\n rgb._clipped = false;\n rgb._unclipped = rgb.slice(0);\n for (i = o = 0; o < 3; i = ++o) {\n if (i < 3) {\n if (rgb[i] < 0 || rgb[i] > 255) {\n rgb._clipped = true;\n }\n if (rgb[i] < 0) {\n rgb[i] = 0;\n }\n if (rgb[i] > 255) {\n rgb[i] = 255;\n }\n } else if (i === 3) {\n if (rgb[i] < 0) {\n rgb[i] = 0;\n }\n if (rgb[i] > 1) {\n rgb[i] = 1;\n }\n }\n }\n if (!rgb._clipped) {\n delete rgb._unclipped;\n }\n return rgb;\n };\n\n PI = Math.PI, round = Math.round, cos = Math.cos, floor = Math.floor, pow = Math.pow, log = Math.log, sin = Math.sin, sqrt = Math.sqrt, atan2 = Math.atan2, max = Math.max, abs = Math.abs;\n\n TWOPI = PI * 2;\n\n PITHIRD = PI / 3;\n\n DEG2RAD = PI / 180;\n\n RAD2DEG = 180 / PI;\n\n chroma = function() {\n if (arguments[0] instanceof Color) {\n return arguments[0];\n }\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, arguments, function(){});\n };\n\n chroma[\"default\"] = chroma;\n\n _interpolators = [];\n\n if ((typeof module !== \"undefined\" && module !== null) && (module.exports != null)) {\n module.exports = chroma;\n }\n\n if (typeof define === 'function' && define.amd) {\n define([], function() {\n return chroma;\n });\n } else {\n root = typeof exports !== \"undefined\" && exports !== null ? exports : this;\n root.chroma = chroma;\n }\n\n chroma.version = '1.4.1';\n\n _input = {};\n\n _guess_formats = [];\n\n _guess_formats_sorted = false;\n\n Color = (function() {\n function Color() {\n var arg, args, chk, len, len1, me, mode, o, w;\n me = this;\n args = [];\n for (o = 0, len = arguments.length; o < len; o++) {\n arg = arguments[o];\n if (arg != null) {\n args.push(arg);\n }\n }\n if (args.length > 1) {\n mode = args[args.length - 1];\n }\n if (_input[mode] != null) {\n me._rgb = clip_rgb(_input[mode](unpack(args.slice(0, -1))));\n } else {\n if (!_guess_formats_sorted) {\n _guess_formats = _guess_formats.sort(function(a, b) {\n return b.p - a.p;\n });\n _guess_formats_sorted = true;\n }\n for (w = 0, len1 = _guess_formats.length; w < len1; w++) {\n chk = _guess_formats[w];\n mode = chk.test.apply(chk, args);\n if (mode) {\n break;\n }\n }\n if (mode) {\n me._rgb = clip_rgb(_input[mode].apply(_input, args));\n }\n }\n if (me._rgb == null) {\n console.warn('unknown format: ' + args);\n }\n if (me._rgb == null) {\n me._rgb = [0, 0, 0];\n }\n if (me._rgb.length === 3) {\n me._rgb.push(1);\n }\n }\n\n Color.prototype.toString = function() {\n return this.hex();\n };\n\n return Color;\n\n })();\n\n chroma._input = _input;\n\n\n /**\n \tColorBrewer colors for chroma.js\n \n \tCopyright (c) 2002 Cynthia Brewer, Mark Harrower, and The \n \tPennsylvania State University.\n \n \tLicensed under the Apache License, Version 2.0 (the \"License\"); \n \tyou may not use this file except in compliance with the License.\n \tYou may obtain a copy of the License at\t\n \thttp://www.apache.org/licenses/LICENSE-2.0\n \n \tUnless required by applicable law or agreed to in writing, software distributed\n \tunder the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n \tCONDITIONS OF ANY KIND, either express or implied. See the License for the\n \tspecific language governing permissions and limitations under the License.\n \n @preserve\n */\n\n chroma.brewer = brewer = {\n OrRd: ['#fff7ec', '#fee8c8', '#fdd49e', '#fdbb84', '#fc8d59', '#ef6548', '#d7301f', '#b30000', '#7f0000'],\n PuBu: ['#fff7fb', '#ece7f2', '#d0d1e6', '#a6bddb', '#74a9cf', '#3690c0', '#0570b0', '#045a8d', '#023858'],\n BuPu: ['#f7fcfd', '#e0ecf4', '#bfd3e6', '#9ebcda', '#8c96c6', '#8c6bb1', '#88419d', '#810f7c', '#4d004b'],\n Oranges: ['#fff5eb', '#fee6ce', '#fdd0a2', '#fdae6b', '#fd8d3c', '#f16913', '#d94801', '#a63603', '#7f2704'],\n BuGn: ['#f7fcfd', '#e5f5f9', '#ccece6', '#99d8c9', '#66c2a4', '#41ae76', '#238b45', '#006d2c', '#00441b'],\n YlOrBr: ['#ffffe5', '#fff7bc', '#fee391', '#fec44f', '#fe9929', '#ec7014', '#cc4c02', '#993404', '#662506'],\n YlGn: ['#ffffe5', '#f7fcb9', '#d9f0a3', '#addd8e', '#78c679', '#41ab5d', '#238443', '#006837', '#004529'],\n Reds: ['#fff5f0', '#fee0d2', '#fcbba1', '#fc9272', '#fb6a4a', '#ef3b2c', '#cb181d', '#a50f15', '#67000d'],\n RdPu: ['#fff7f3', '#fde0dd', '#fcc5c0', '#fa9fb5', '#f768a1', '#dd3497', '#ae017e', '#7a0177', '#49006a'],\n Greens: ['#f7fcf5', '#e5f5e0', '#c7e9c0', '#a1d99b', '#74c476', '#41ab5d', '#238b45', '#006d2c', '#00441b'],\n YlGnBu: ['#ffffd9', '#edf8b1', '#c7e9b4', '#7fcdbb', '#41b6c4', '#1d91c0', '#225ea8', '#253494', '#081d58'],\n Purples: ['#fcfbfd', '#efedf5', '#dadaeb', '#bcbddc', '#9e9ac8', '#807dba', '#6a51a3', '#54278f', '#3f007d'],\n GnBu: ['#f7fcf0', '#e0f3db', '#ccebc5', '#a8ddb5', '#7bccc4', '#4eb3d3', '#2b8cbe', '#0868ac', '#084081'],\n Greys: ['#ffffff', '#f0f0f0', '#d9d9d9', '#bdbdbd', '#969696', '#737373', '#525252', '#252525', '#000000'],\n YlOrRd: ['#ffffcc', '#ffeda0', '#fed976', '#feb24c', '#fd8d3c', '#fc4e2a', '#e31a1c', '#bd0026', '#800026'],\n PuRd: ['#f7f4f9', '#e7e1ef', '#d4b9da', '#c994c7', '#df65b0', '#e7298a', '#ce1256', '#980043', '#67001f'],\n Blues: ['#f7fbff', '#deebf7', '#c6dbef', '#9ecae1', '#6baed6', '#4292c6', '#2171b5', '#08519c', '#08306b'],\n PuBuGn: ['#fff7fb', '#ece2f0', '#d0d1e6', '#a6bddb', '#67a9cf', '#3690c0', '#02818a', '#016c59', '#014636'],\n Viridis: ['#440154', '#482777', '#3f4a8a', '#31678e', '#26838f', '#1f9d8a', '#6cce5a', '#b6de2b', '#fee825'],\n Spectral: ['#9e0142', '#d53e4f', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#e6f598', '#abdda4', '#66c2a5', '#3288bd', '#5e4fa2'],\n RdYlGn: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#d9ef8b', '#a6d96a', '#66bd63', '#1a9850', '#006837'],\n RdBu: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#f7f7f7', '#d1e5f0', '#92c5de', '#4393c3', '#2166ac', '#053061'],\n PiYG: ['#8e0152', '#c51b7d', '#de77ae', '#f1b6da', '#fde0ef', '#f7f7f7', '#e6f5d0', '#b8e186', '#7fbc41', '#4d9221', '#276419'],\n PRGn: ['#40004b', '#762a83', '#9970ab', '#c2a5cf', '#e7d4e8', '#f7f7f7', '#d9f0d3', '#a6dba0', '#5aae61', '#1b7837', '#00441b'],\n RdYlBu: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee090', '#ffffbf', '#e0f3f8', '#abd9e9', '#74add1', '#4575b4', '#313695'],\n BrBG: ['#543005', '#8c510a', '#bf812d', '#dfc27d', '#f6e8c3', '#f5f5f5', '#c7eae5', '#80cdc1', '#35978f', '#01665e', '#003c30'],\n RdGy: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#ffffff', '#e0e0e0', '#bababa', '#878787', '#4d4d4d', '#1a1a1a'],\n PuOr: ['#7f3b08', '#b35806', '#e08214', '#fdb863', '#fee0b6', '#f7f7f7', '#d8daeb', '#b2abd2', '#8073ac', '#542788', '#2d004b'],\n Set2: ['#66c2a5', '#fc8d62', '#8da0cb', '#e78ac3', '#a6d854', '#ffd92f', '#e5c494', '#b3b3b3'],\n Accent: ['#7fc97f', '#beaed4', '#fdc086', '#ffff99', '#386cb0', '#f0027f', '#bf5b17', '#666666'],\n Set1: ['#e41a1c', '#377eb8', '#4daf4a', '#984ea3', '#ff7f00', '#ffff33', '#a65628', '#f781bf', '#999999'],\n Set3: ['#8dd3c7', '#ffffb3', '#bebada', '#fb8072', '#80b1d3', '#fdb462', '#b3de69', '#fccde5', '#d9d9d9', '#bc80bd', '#ccebc5', '#ffed6f'],\n Dark2: ['#1b9e77', '#d95f02', '#7570b3', '#e7298a', '#66a61e', '#e6ab02', '#a6761d', '#666666'],\n Paired: ['#a6cee3', '#1f78b4', '#b2df8a', '#33a02c', '#fb9a99', '#e31a1c', '#fdbf6f', '#ff7f00', '#cab2d6', '#6a3d9a', '#ffff99', '#b15928'],\n Pastel2: ['#b3e2cd', '#fdcdac', '#cbd5e8', '#f4cae4', '#e6f5c9', '#fff2ae', '#f1e2cc', '#cccccc'],\n Pastel1: ['#fbb4ae', '#b3cde3', '#ccebc5', '#decbe4', '#fed9a6', '#ffffcc', '#e5d8bd', '#fddaec', '#f2f2f2']\n };\n\n (function() {\n var key, results;\n results = [];\n for (key in brewer) {\n results.push(brewer[key.toLowerCase()] = brewer[key]);\n }\n return results;\n })();\n\n\n /**\n \tX11 color names\n \n \thttp://www.w3.org/TR/css3-color/#svg-color\n */\n\n w3cx11 = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflower: '#6495ed',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n gold: '#ffd700',\n goldenrod: '#daa520',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n laserlemon: '#ffff54',\n lavender: '#e6e6fa',\n lavenderblush: '#fff0f5',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrod: '#fafad2',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n maroon2: '#7f0000',\n maroon3: '#b03060',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n purple2: '#7f007f',\n purple3: '#a020f0',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32'\n };\n\n chroma.colors = colors = w3cx11;\n\n lab2rgb = function() {\n var a, args, b, g, l, r, x, y, z;\n args = unpack(arguments);\n l = args[0], a = args[1], b = args[2];\n y = (l + 16) / 116;\n x = isNaN(a) ? y : y + a / 500;\n z = isNaN(b) ? y : y - b / 200;\n y = LAB_CONSTANTS.Yn * lab_xyz(y);\n x = LAB_CONSTANTS.Xn * lab_xyz(x);\n z = LAB_CONSTANTS.Zn * lab_xyz(z);\n r = xyz_rgb(3.2404542 * x - 1.5371385 * y - 0.4985314 * z);\n g = xyz_rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z);\n b = xyz_rgb(0.0556434 * x - 0.2040259 * y + 1.0572252 * z);\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n xyz_rgb = function(r) {\n return 255 * (r <= 0.00304 ? 12.92 * r : 1.055 * pow(r, 1 / 2.4) - 0.055);\n };\n\n lab_xyz = function(t) {\n if (t > LAB_CONSTANTS.t1) {\n return t * t * t;\n } else {\n return LAB_CONSTANTS.t2 * (t - LAB_CONSTANTS.t0);\n }\n };\n\n LAB_CONSTANTS = {\n Kn: 18,\n Xn: 0.950470,\n Yn: 1,\n Zn: 1.088830,\n t0: 0.137931034,\n t1: 0.206896552,\n t2: 0.12841855,\n t3: 0.008856452\n };\n\n rgb2lab = function() {\n var b, g, r, ref, ref1, x, y, z;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n ref1 = rgb2xyz(r, g, b), x = ref1[0], y = ref1[1], z = ref1[2];\n return [116 * y - 16, 500 * (x - y), 200 * (y - z)];\n };\n\n rgb_xyz = function(r) {\n if ((r /= 255) <= 0.04045) {\n return r / 12.92;\n } else {\n return pow((r + 0.055) / 1.055, 2.4);\n }\n };\n\n xyz_lab = function(t) {\n if (t > LAB_CONSTANTS.t3) {\n return pow(t, 1 / 3);\n } else {\n return t / LAB_CONSTANTS.t2 + LAB_CONSTANTS.t0;\n }\n };\n\n rgb2xyz = function() {\n var b, g, r, ref, x, y, z;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n r = rgb_xyz(r);\n g = rgb_xyz(g);\n b = rgb_xyz(b);\n x = xyz_lab((0.4124564 * r + 0.3575761 * g + 0.1804375 * b) / LAB_CONSTANTS.Xn);\n y = xyz_lab((0.2126729 * r + 0.7151522 * g + 0.0721750 * b) / LAB_CONSTANTS.Yn);\n z = xyz_lab((0.0193339 * r + 0.1191920 * g + 0.9503041 * b) / LAB_CONSTANTS.Zn);\n return [x, y, z];\n };\n\n chroma.lab = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['lab']), function(){});\n };\n\n _input.lab = lab2rgb;\n\n Color.prototype.lab = function() {\n return rgb2lab(this._rgb);\n };\n\n bezier = function(colors) {\n var I, I0, I1, c, lab0, lab1, lab2, lab3, ref, ref1, ref2;\n colors = (function() {\n var len, o, results;\n results = [];\n for (o = 0, len = colors.length; o < len; o++) {\n c = colors[o];\n results.push(chroma(c));\n }\n return results;\n })();\n if (colors.length === 2) {\n ref = (function() {\n var len, o, results;\n results = [];\n for (o = 0, len = colors.length; o < len; o++) {\n c = colors[o];\n results.push(c.lab());\n }\n return results;\n })(), lab0 = ref[0], lab1 = ref[1];\n I = function(t) {\n var i, lab;\n lab = (function() {\n var o, results;\n results = [];\n for (i = o = 0; o <= 2; i = ++o) {\n results.push(lab0[i] + t * (lab1[i] - lab0[i]));\n }\n return results;\n })();\n return chroma.lab.apply(chroma, lab);\n };\n } else if (colors.length === 3) {\n ref1 = (function() {\n var len, o, results;\n results = [];\n for (o = 0, len = colors.length; o < len; o++) {\n c = colors[o];\n results.push(c.lab());\n }\n return results;\n })(), lab0 = ref1[0], lab1 = ref1[1], lab2 = ref1[2];\n I = function(t) {\n var i, lab;\n lab = (function() {\n var o, results;\n results = [];\n for (i = o = 0; o <= 2; i = ++o) {\n results.push((1 - t) * (1 - t) * lab0[i] + 2 * (1 - t) * t * lab1[i] + t * t * lab2[i]);\n }\n return results;\n })();\n return chroma.lab.apply(chroma, lab);\n };\n } else if (colors.length === 4) {\n ref2 = (function() {\n var len, o, results;\n results = [];\n for (o = 0, len = colors.length; o < len; o++) {\n c = colors[o];\n results.push(c.lab());\n }\n return results;\n })(), lab0 = ref2[0], lab1 = ref2[1], lab2 = ref2[2], lab3 = ref2[3];\n I = function(t) {\n var i, lab;\n lab = (function() {\n var o, results;\n results = [];\n for (i = o = 0; o <= 2; i = ++o) {\n results.push((1 - t) * (1 - t) * (1 - t) * lab0[i] + 3 * (1 - t) * (1 - t) * t * lab1[i] + 3 * (1 - t) * t * t * lab2[i] + t * t * t * lab3[i]);\n }\n return results;\n })();\n return chroma.lab.apply(chroma, lab);\n };\n } else if (colors.length === 5) {\n I0 = bezier(colors.slice(0, 3));\n I1 = bezier(colors.slice(2, 5));\n I = function(t) {\n if (t < 0.5) {\n return I0(t * 2);\n } else {\n return I1((t - 0.5) * 2);\n }\n };\n }\n return I;\n };\n\n chroma.bezier = function(colors) {\n var f;\n f = bezier(colors);\n f.scale = function() {\n return chroma.scale(f);\n };\n return f;\n };\n\n chroma.cubehelix = function(start, rotations, hue, gamma, lightness) {\n var dh, dl, f;\n if (start == null) {\n start = 300;\n }\n if (rotations == null) {\n rotations = -1.5;\n }\n if (hue == null) {\n hue = 1;\n }\n if (gamma == null) {\n gamma = 1;\n }\n if (lightness == null) {\n lightness = [0, 1];\n }\n dh = 0;\n if (type(lightness) === 'array') {\n dl = lightness[1] - lightness[0];\n } else {\n dl = 0;\n lightness = [lightness, lightness];\n }\n f = function(fract) {\n var a, amp, b, cos_a, g, h, l, r, sin_a;\n a = TWOPI * ((start + 120) / 360 + rotations * fract);\n l = pow(lightness[0] + dl * fract, gamma);\n h = dh !== 0 ? hue[0] + fract * dh : hue;\n amp = h * l * (1 - l) / 2;\n cos_a = cos(a);\n sin_a = sin(a);\n r = l + amp * (-0.14861 * cos_a + 1.78277 * sin_a);\n g = l + amp * (-0.29227 * cos_a - 0.90649 * sin_a);\n b = l + amp * (+1.97294 * cos_a);\n return chroma(clip_rgb([r * 255, g * 255, b * 255, 1]));\n };\n f.start = function(s) {\n if (s == null) {\n return start;\n }\n start = s;\n return f;\n };\n f.rotations = function(r) {\n if (r == null) {\n return rotations;\n }\n rotations = r;\n return f;\n };\n f.gamma = function(g) {\n if (g == null) {\n return gamma;\n }\n gamma = g;\n return f;\n };\n f.hue = function(h) {\n if (h == null) {\n return hue;\n }\n hue = h;\n if (type(hue) === 'array') {\n dh = hue[1] - hue[0];\n if (dh === 0) {\n hue = hue[1];\n }\n } else {\n dh = 0;\n }\n return f;\n };\n f.lightness = function(h) {\n if (h == null) {\n return lightness;\n }\n if (type(h) === 'array') {\n lightness = h;\n dl = h[1] - h[0];\n } else {\n lightness = [h, h];\n dl = 0;\n }\n return f;\n };\n f.scale = function() {\n return chroma.scale(f);\n };\n f.hue(hue);\n return f;\n };\n\n chroma.random = function() {\n var code, digits, i, o;\n digits = '0123456789abcdef';\n code = '#';\n for (i = o = 0; o < 6; i = ++o) {\n code += digits.charAt(floor(Math.random() * 16));\n }\n return new Color(code);\n };\n\n _interpolators = [];\n\n interpolate = function(col1, col2, f, m) {\n var interpol, len, o, res;\n if (f == null) {\n f = 0.5;\n }\n if (m == null) {\n m = 'rgb';\n }\n\n /*\n interpolates between colors\n f = 0 --> me\n f = 1 --> col\n */\n if (type(col1) !== 'object') {\n col1 = chroma(col1);\n }\n if (type(col2) !== 'object') {\n col2 = chroma(col2);\n }\n for (o = 0, len = _interpolators.length; o < len; o++) {\n interpol = _interpolators[o];\n if (m === interpol[0]) {\n res = interpol[1](col1, col2, f, m);\n break;\n }\n }\n if (res == null) {\n throw \"color mode \" + m + \" is not supported\";\n }\n return res.alpha(col1.alpha() + f * (col2.alpha() - col1.alpha()));\n };\n\n chroma.interpolate = interpolate;\n\n Color.prototype.interpolate = function(col2, f, m) {\n return interpolate(this, col2, f, m);\n };\n\n chroma.mix = interpolate;\n\n Color.prototype.mix = Color.prototype.interpolate;\n\n _input.rgb = function() {\n var k, ref, results, v;\n ref = unpack(arguments);\n results = [];\n for (k in ref) {\n v = ref[k];\n results.push(v);\n }\n return results;\n };\n\n chroma.rgb = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['rgb']), function(){});\n };\n\n Color.prototype.rgb = function(round) {\n if (round == null) {\n round = true;\n }\n if (round) {\n return this._rgb.map(Math.round).slice(0, 3);\n } else {\n return this._rgb.slice(0, 3);\n }\n };\n\n Color.prototype.rgba = function(round) {\n if (round == null) {\n round = true;\n }\n if (!round) {\n return this._rgb.slice(0);\n }\n return [Math.round(this._rgb[0]), Math.round(this._rgb[1]), Math.round(this._rgb[2]), this._rgb[3]];\n };\n\n _guess_formats.push({\n p: 3,\n test: function(n) {\n var a;\n a = unpack(arguments);\n if (type(a) === 'array' && a.length === 3) {\n return 'rgb';\n }\n if (a.length === 4 && type(a[3]) === \"number\" && a[3] >= 0 && a[3] <= 1) {\n return 'rgb';\n }\n }\n });\n\n _input.lrgb = _input.rgb;\n\n interpolate_lrgb = function(col1, col2, f, m) {\n var xyz0, xyz1;\n xyz0 = col1._rgb;\n xyz1 = col2._rgb;\n return new Color(sqrt(pow(xyz0[0], 2) * (1 - f) + pow(xyz1[0], 2) * f), sqrt(pow(xyz0[1], 2) * (1 - f) + pow(xyz1[1], 2) * f), sqrt(pow(xyz0[2], 2) * (1 - f) + pow(xyz1[2], 2) * f), m);\n };\n\n _average_lrgb = function(colors) {\n var col, f, len, o, rgb, xyz;\n f = 1 / colors.length;\n xyz = [0, 0, 0, 0];\n for (o = 0, len = colors.length; o < len; o++) {\n col = colors[o];\n rgb = col._rgb;\n xyz[0] += pow(rgb[0], 2) * f;\n xyz[1] += pow(rgb[1], 2) * f;\n xyz[2] += pow(rgb[2], 2) * f;\n xyz[3] += rgb[3] * f;\n }\n xyz[0] = sqrt(xyz[0]);\n xyz[1] = sqrt(xyz[1]);\n xyz[2] = sqrt(xyz[2]);\n if (xyz[3] > 1) {\n xyz[3] = 1;\n }\n return new Color(clip_rgb(xyz));\n };\n\n _interpolators.push(['lrgb', interpolate_lrgb]);\n\n chroma.average = function(colors, mode) {\n var A, alpha, c, cnt, dx, dy, first, i, l, len, o, xyz, xyz2;\n if (mode == null) {\n mode = 'rgb';\n }\n l = colors.length;\n colors = colors.map(function(c) {\n return chroma(c);\n });\n first = colors.splice(0, 1)[0];\n if (mode === 'lrgb') {\n return _average_lrgb(colors);\n }\n xyz = first.get(mode);\n cnt = [];\n dx = 0;\n dy = 0;\n for (i in xyz) {\n xyz[i] = xyz[i] || 0;\n cnt.push(isNaN(xyz[i]) ? 0 : 1);\n if (mode.charAt(i) === 'h' && !isNaN(xyz[i])) {\n A = xyz[i] / 180 * PI;\n dx += cos(A);\n dy += sin(A);\n }\n }\n alpha = first.alpha();\n for (o = 0, len = colors.length; o < len; o++) {\n c = colors[o];\n xyz2 = c.get(mode);\n alpha += c.alpha();\n for (i in xyz) {\n if (!isNaN(xyz2[i])) {\n cnt[i] += 1;\n if (mode.charAt(i) === 'h') {\n A = xyz2[i] / 180 * PI;\n dx += cos(A);\n dy += sin(A);\n } else {\n xyz[i] += xyz2[i];\n }\n }\n }\n }\n for (i in xyz) {\n if (mode.charAt(i) === 'h') {\n A = atan2(dy / cnt[i], dx / cnt[i]) / PI * 180;\n while (A < 0) {\n A += 360;\n }\n while (A >= 360) {\n A -= 360;\n }\n xyz[i] = A;\n } else {\n xyz[i] = xyz[i] / cnt[i];\n }\n }\n return chroma(xyz, mode).alpha(alpha / l);\n };\n\n hex2rgb = function(hex) {\n var a, b, g, r, rgb, u;\n if (hex.match(/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/)) {\n if (hex.length === 4 || hex.length === 7) {\n hex = hex.substr(1);\n }\n if (hex.length === 3) {\n hex = hex.split(\"\");\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n }\n u = parseInt(hex, 16);\n r = u >> 16;\n g = u >> 8 & 0xFF;\n b = u & 0xFF;\n return [r, g, b, 1];\n }\n if (hex.match(/^#?([A-Fa-f0-9]{8})$/)) {\n if (hex.length === 9) {\n hex = hex.substr(1);\n }\n u = parseInt(hex, 16);\n r = u >> 24 & 0xFF;\n g = u >> 16 & 0xFF;\n b = u >> 8 & 0xFF;\n a = round((u & 0xFF) / 0xFF * 100) / 100;\n return [r, g, b, a];\n }\n if ((_input.css != null) && (rgb = _input.css(hex))) {\n return rgb;\n }\n throw \"unknown color: \" + hex;\n };\n\n rgb2hex = function(channels, mode) {\n var a, b, g, hxa, r, str, u;\n if (mode == null) {\n mode = 'auto';\n }\n r = channels[0], g = channels[1], b = channels[2], a = channels[3];\n if (mode === 'auto') {\n mode = a < 1 ? 'rgba' : 'rgb';\n }\n r = Math.round(r);\n g = Math.round(g);\n b = Math.round(b);\n u = r << 16 | g << 8 | b;\n str = \"000000\" + u.toString(16);\n str = str.substr(str.length - 6);\n hxa = '0' + round(a * 255).toString(16);\n hxa = hxa.substr(hxa.length - 2);\n return \"#\" + (function() {\n switch (mode.toLowerCase()) {\n case 'rgba':\n return str + hxa;\n case 'argb':\n return hxa + str;\n default:\n return str;\n }\n })();\n };\n\n _input.hex = function(h) {\n return hex2rgb(h);\n };\n\n chroma.hex = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['hex']), function(){});\n };\n\n Color.prototype.hex = function(mode) {\n if (mode == null) {\n mode = 'auto';\n }\n return rgb2hex(this._rgb, mode);\n };\n\n _guess_formats.push({\n p: 4,\n test: function(n) {\n if (arguments.length === 1 && type(n) === \"string\") {\n return 'hex';\n }\n }\n });\n\n hsl2rgb = function() {\n var args, b, c, g, h, i, l, o, r, ref, s, t1, t2, t3;\n args = unpack(arguments);\n h = args[0], s = args[1], l = args[2];\n if (s === 0) {\n r = g = b = l * 255;\n } else {\n t3 = [0, 0, 0];\n c = [0, 0, 0];\n t2 = l < 0.5 ? l * (1 + s) : l + s - l * s;\n t1 = 2 * l - t2;\n h /= 360;\n t3[0] = h + 1 / 3;\n t3[1] = h;\n t3[2] = h - 1 / 3;\n for (i = o = 0; o <= 2; i = ++o) {\n if (t3[i] < 0) {\n t3[i] += 1;\n }\n if (t3[i] > 1) {\n t3[i] -= 1;\n }\n if (6 * t3[i] < 1) {\n c[i] = t1 + (t2 - t1) * 6 * t3[i];\n } else if (2 * t3[i] < 1) {\n c[i] = t2;\n } else if (3 * t3[i] < 2) {\n c[i] = t1 + (t2 - t1) * ((2 / 3) - t3[i]) * 6;\n } else {\n c[i] = t1;\n }\n }\n ref = [round(c[0] * 255), round(c[1] * 255), round(c[2] * 255)], r = ref[0], g = ref[1], b = ref[2];\n }\n if (args.length > 3) {\n return [r, g, b, args[3]];\n } else {\n return [r, g, b];\n }\n };\n\n rgb2hsl = function(r, g, b) {\n var h, l, min, ref, s;\n if (r !== void 0 && r.length >= 3) {\n ref = r, r = ref[0], g = ref[1], b = ref[2];\n }\n r /= 255;\n g /= 255;\n b /= 255;\n min = Math.min(r, g, b);\n max = Math.max(r, g, b);\n l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = Number.NaN;\n } else {\n s = l < 0.5 ? (max - min) / (max + min) : (max - min) / (2 - max - min);\n }\n if (r === max) {\n h = (g - b) / (max - min);\n } else if (g === max) {\n h = 2 + (b - r) / (max - min);\n } else if (b === max) {\n h = 4 + (r - g) / (max - min);\n }\n h *= 60;\n if (h < 0) {\n h += 360;\n }\n return [h, s, l];\n };\n\n chroma.hsl = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['hsl']), function(){});\n };\n\n _input.hsl = hsl2rgb;\n\n Color.prototype.hsl = function() {\n return rgb2hsl(this._rgb);\n };\n\n hsv2rgb = function() {\n var args, b, f, g, h, i, p, q, r, ref, ref1, ref2, ref3, ref4, ref5, s, t, v;\n args = unpack(arguments);\n h = args[0], s = args[1], v = args[2];\n v *= 255;\n if (s === 0) {\n r = g = b = v;\n } else {\n if (h === 360) {\n h = 0;\n }\n if (h > 360) {\n h -= 360;\n }\n if (h < 0) {\n h += 360;\n }\n h /= 60;\n i = floor(h);\n f = h - i;\n p = v * (1 - s);\n q = v * (1 - s * f);\n t = v * (1 - s * (1 - f));\n switch (i) {\n case 0:\n ref = [v, t, p], r = ref[0], g = ref[1], b = ref[2];\n break;\n case 1:\n ref1 = [q, v, p], r = ref1[0], g = ref1[1], b = ref1[2];\n break;\n case 2:\n ref2 = [p, v, t], r = ref2[0], g = ref2[1], b = ref2[2];\n break;\n case 3:\n ref3 = [p, q, v], r = ref3[0], g = ref3[1], b = ref3[2];\n break;\n case 4:\n ref4 = [t, p, v], r = ref4[0], g = ref4[1], b = ref4[2];\n break;\n case 5:\n ref5 = [v, p, q], r = ref5[0], g = ref5[1], b = ref5[2];\n }\n }\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n rgb2hsv = function() {\n var b, delta, g, h, min, r, ref, s, v;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n min = Math.min(r, g, b);\n max = Math.max(r, g, b);\n delta = max - min;\n v = max / 255.0;\n if (max === 0) {\n h = Number.NaN;\n s = 0;\n } else {\n s = delta / max;\n if (r === max) {\n h = (g - b) / delta;\n }\n if (g === max) {\n h = 2 + (b - r) / delta;\n }\n if (b === max) {\n h = 4 + (r - g) / delta;\n }\n h *= 60;\n if (h < 0) {\n h += 360;\n }\n }\n return [h, s, v];\n };\n\n chroma.hsv = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['hsv']), function(){});\n };\n\n _input.hsv = hsv2rgb;\n\n Color.prototype.hsv = function() {\n return rgb2hsv(this._rgb);\n };\n\n num2rgb = function(num) {\n var b, g, r;\n if (type(num) === \"number\" && num >= 0 && num <= 0xFFFFFF) {\n r = num >> 16;\n g = (num >> 8) & 0xFF;\n b = num & 0xFF;\n return [r, g, b, 1];\n }\n console.warn(\"unknown num color: \" + num);\n return [0, 0, 0, 1];\n };\n\n rgb2num = function() {\n var b, g, r, ref;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n return (r << 16) + (g << 8) + b;\n };\n\n chroma.num = function(num) {\n return new Color(num, 'num');\n };\n\n Color.prototype.num = function(mode) {\n if (mode == null) {\n mode = 'rgb';\n }\n return rgb2num(this._rgb, mode);\n };\n\n _input.num = num2rgb;\n\n _guess_formats.push({\n p: 1,\n test: function(n) {\n if (arguments.length === 1 && type(n) === \"number\" && n >= 0 && n <= 0xFFFFFF) {\n return 'num';\n }\n }\n });\n\n hcg2rgb = function() {\n var _c, _g, args, b, c, f, g, h, i, p, q, r, ref, ref1, ref2, ref3, ref4, ref5, t, v;\n args = unpack(arguments);\n h = args[0], c = args[1], _g = args[2];\n c = c / 100;\n g = g / 100 * 255;\n _c = c * 255;\n if (c === 0) {\n r = g = b = _g;\n } else {\n if (h === 360) {\n h = 0;\n }\n if (h > 360) {\n h -= 360;\n }\n if (h < 0) {\n h += 360;\n }\n h /= 60;\n i = floor(h);\n f = h - i;\n p = _g * (1 - c);\n q = p + _c * (1 - f);\n t = p + _c * f;\n v = p + _c;\n switch (i) {\n case 0:\n ref = [v, t, p], r = ref[0], g = ref[1], b = ref[2];\n break;\n case 1:\n ref1 = [q, v, p], r = ref1[0], g = ref1[1], b = ref1[2];\n break;\n case 2:\n ref2 = [p, v, t], r = ref2[0], g = ref2[1], b = ref2[2];\n break;\n case 3:\n ref3 = [p, q, v], r = ref3[0], g = ref3[1], b = ref3[2];\n break;\n case 4:\n ref4 = [t, p, v], r = ref4[0], g = ref4[1], b = ref4[2];\n break;\n case 5:\n ref5 = [v, p, q], r = ref5[0], g = ref5[1], b = ref5[2];\n }\n }\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n rgb2hcg = function() {\n var _g, b, c, delta, g, h, min, r, ref;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n min = Math.min(r, g, b);\n max = Math.max(r, g, b);\n delta = max - min;\n c = delta * 100 / 255;\n _g = min / (255 - delta) * 100;\n if (delta === 0) {\n h = Number.NaN;\n } else {\n if (r === max) {\n h = (g - b) / delta;\n }\n if (g === max) {\n h = 2 + (b - r) / delta;\n }\n if (b === max) {\n h = 4 + (r - g) / delta;\n }\n h *= 60;\n if (h < 0) {\n h += 360;\n }\n }\n return [h, c, _g];\n };\n\n chroma.hcg = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['hcg']), function(){});\n };\n\n _input.hcg = hcg2rgb;\n\n Color.prototype.hcg = function() {\n return rgb2hcg(this._rgb);\n };\n\n css2rgb = function(css) {\n var aa, ab, hsl, i, m, o, rgb, w;\n css = css.toLowerCase();\n if ((chroma.colors != null) && chroma.colors[css]) {\n return hex2rgb(chroma.colors[css]);\n }\n if (m = css.match(/rgb\\(\\s*(\\-?\\d+),\\s*(\\-?\\d+)\\s*,\\s*(\\-?\\d+)\\s*\\)/)) {\n rgb = m.slice(1, 4);\n for (i = o = 0; o <= 2; i = ++o) {\n rgb[i] = +rgb[i];\n }\n rgb[3] = 1;\n } else if (m = css.match(/rgba\\(\\s*(\\-?\\d+),\\s*(\\-?\\d+)\\s*,\\s*(\\-?\\d+)\\s*,\\s*([01]|[01]?\\.\\d+)\\)/)) {\n rgb = m.slice(1, 5);\n for (i = w = 0; w <= 3; i = ++w) {\n rgb[i] = +rgb[i];\n }\n } else if (m = css.match(/rgb\\(\\s*(\\-?\\d+(?:\\.\\d+)?)%,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*\\)/)) {\n rgb = m.slice(1, 4);\n for (i = aa = 0; aa <= 2; i = ++aa) {\n rgb[i] = round(rgb[i] * 2.55);\n }\n rgb[3] = 1;\n } else if (m = css.match(/rgba\\(\\s*(\\-?\\d+(?:\\.\\d+)?)%,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)/)) {\n rgb = m.slice(1, 5);\n for (i = ab = 0; ab <= 2; i = ++ab) {\n rgb[i] = round(rgb[i] * 2.55);\n }\n rgb[3] = +rgb[3];\n } else if (m = css.match(/hsl\\(\\s*(\\-?\\d+(?:\\.\\d+)?),\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*\\)/)) {\n hsl = m.slice(1, 4);\n hsl[1] *= 0.01;\n hsl[2] *= 0.01;\n rgb = hsl2rgb(hsl);\n rgb[3] = 1;\n } else if (m = css.match(/hsla\\(\\s*(\\-?\\d+(?:\\.\\d+)?),\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)/)) {\n hsl = m.slice(1, 4);\n hsl[1] *= 0.01;\n hsl[2] *= 0.01;\n rgb = hsl2rgb(hsl);\n rgb[3] = +m[4];\n }\n return rgb;\n };\n\n rgb2css = function(rgba) {\n var mode;\n mode = rgba[3] < 1 ? 'rgba' : 'rgb';\n if (mode === 'rgb') {\n return mode + '(' + rgba.slice(0, 3).map(round).join(',') + ')';\n } else if (mode === 'rgba') {\n return mode + '(' + rgba.slice(0, 3).map(round).join(',') + ',' + rgba[3] + ')';\n } else {\n\n }\n };\n\n rnd = function(a) {\n return round(a * 100) / 100;\n };\n\n hsl2css = function(hsl, alpha) {\n var mode;\n mode = alpha < 1 ? 'hsla' : 'hsl';\n hsl[0] = rnd(hsl[0] || 0);\n hsl[1] = rnd(hsl[1] * 100) + '%';\n hsl[2] = rnd(hsl[2] * 100) + '%';\n if (mode === 'hsla') {\n hsl[3] = alpha;\n }\n return mode + '(' + hsl.join(',') + ')';\n };\n\n _input.css = function(h) {\n return css2rgb(h);\n };\n\n chroma.css = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['css']), function(){});\n };\n\n Color.prototype.css = function(mode) {\n if (mode == null) {\n mode = 'rgb';\n }\n if (mode.slice(0, 3) === 'rgb') {\n return rgb2css(this._rgb);\n } else if (mode.slice(0, 3) === 'hsl') {\n return hsl2css(this.hsl(), this.alpha());\n }\n };\n\n _input.named = function(name) {\n return hex2rgb(w3cx11[name]);\n };\n\n _guess_formats.push({\n p: 5,\n test: function(n) {\n if (arguments.length === 1 && (w3cx11[n] != null)) {\n return 'named';\n }\n }\n });\n\n Color.prototype.name = function(n) {\n var h, k;\n if (arguments.length) {\n if (w3cx11[n]) {\n this._rgb = hex2rgb(w3cx11[n]);\n }\n this._rgb[3] = 1;\n this;\n }\n h = this.hex('rgb');\n for (k in w3cx11) {\n if (h === w3cx11[k]) {\n return k;\n }\n }\n return h;\n };\n\n lch2lab = function() {\n\n /*\n Convert from a qualitative parameter h and a quantitative parameter l to a 24-bit pixel.\n These formulas were invented by David Dalrymple to obtain maximum contrast without going\n out of gamut if the parameters are in the range 0-1.\n \n A saturation multiplier was added by Gregor Aisch\n */\n var c, h, l, ref;\n ref = unpack(arguments), l = ref[0], c = ref[1], h = ref[2];\n h = h * DEG2RAD;\n return [l, cos(h) * c, sin(h) * c];\n };\n\n lch2rgb = function() {\n var L, a, args, b, c, g, h, l, r, ref, ref1;\n args = unpack(arguments);\n l = args[0], c = args[1], h = args[2];\n ref = lch2lab(l, c, h), L = ref[0], a = ref[1], b = ref[2];\n ref1 = lab2rgb(L, a, b), r = ref1[0], g = ref1[1], b = ref1[2];\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n lab2lch = function() {\n var a, b, c, h, l, ref;\n ref = unpack(arguments), l = ref[0], a = ref[1], b = ref[2];\n c = sqrt(a * a + b * b);\n h = (atan2(b, a) * RAD2DEG + 360) % 360;\n if (round(c * 10000) === 0) {\n h = Number.NaN;\n }\n return [l, c, h];\n };\n\n rgb2lch = function() {\n var a, b, g, l, r, ref, ref1;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n ref1 = rgb2lab(r, g, b), l = ref1[0], a = ref1[1], b = ref1[2];\n return lab2lch(l, a, b);\n };\n\n chroma.lch = function() {\n var args;\n args = unpack(arguments);\n return new Color(args, 'lch');\n };\n\n chroma.hcl = function() {\n var args;\n args = unpack(arguments);\n return new Color(args, 'hcl');\n };\n\n _input.lch = lch2rgb;\n\n _input.hcl = function() {\n var c, h, l, ref;\n ref = unpack(arguments), h = ref[0], c = ref[1], l = ref[2];\n return lch2rgb([l, c, h]);\n };\n\n Color.prototype.lch = function() {\n return rgb2lch(this._rgb);\n };\n\n Color.prototype.hcl = function() {\n return rgb2lch(this._rgb).reverse();\n };\n\n rgb2cmyk = function(mode) {\n var b, c, f, g, k, m, r, ref, y;\n if (mode == null) {\n mode = 'rgb';\n }\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n r = r / 255;\n g = g / 255;\n b = b / 255;\n k = 1 - Math.max(r, Math.max(g, b));\n f = k < 1 ? 1 / (1 - k) : 0;\n c = (1 - r - k) * f;\n m = (1 - g - k) * f;\n y = (1 - b - k) * f;\n return [c, m, y, k];\n };\n\n cmyk2rgb = function() {\n var alpha, args, b, c, g, k, m, r, y;\n args = unpack(arguments);\n c = args[0], m = args[1], y = args[2], k = args[3];\n alpha = args.length > 4 ? args[4] : 1;\n if (k === 1) {\n return [0, 0, 0, alpha];\n }\n r = c >= 1 ? 0 : 255 * (1 - c) * (1 - k);\n g = m >= 1 ? 0 : 255 * (1 - m) * (1 - k);\n b = y >= 1 ? 0 : 255 * (1 - y) * (1 - k);\n return [r, g, b, alpha];\n };\n\n _input.cmyk = function() {\n return cmyk2rgb(unpack(arguments));\n };\n\n chroma.cmyk = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['cmyk']), function(){});\n };\n\n Color.prototype.cmyk = function() {\n return rgb2cmyk(this._rgb);\n };\n\n _input.gl = function() {\n var i, k, o, rgb, v;\n rgb = (function() {\n var ref, results;\n ref = unpack(arguments);\n results = [];\n for (k in ref) {\n v = ref[k];\n results.push(v);\n }\n return results;\n }).apply(this, arguments);\n for (i = o = 0; o <= 2; i = ++o) {\n rgb[i] *= 255;\n }\n return rgb;\n };\n\n chroma.gl = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['gl']), function(){});\n };\n\n Color.prototype.gl = function() {\n var rgb;\n rgb = this._rgb;\n return [rgb[0] / 255, rgb[1] / 255, rgb[2] / 255, rgb[3]];\n };\n\n rgb2luminance = function(r, g, b) {\n var ref;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n r = luminance_x(r);\n g = luminance_x(g);\n b = luminance_x(b);\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n };\n\n luminance_x = function(x) {\n x /= 255;\n if (x <= 0.03928) {\n return x / 12.92;\n } else {\n return pow((x + 0.055) / 1.055, 2.4);\n }\n };\n\n interpolate_rgb = function(col1, col2, f, m) {\n var xyz0, xyz1;\n xyz0 = col1._rgb;\n xyz1 = col2._rgb;\n return new Color(xyz0[0] + f * (xyz1[0] - xyz0[0]), xyz0[1] + f * (xyz1[1] - xyz0[1]), xyz0[2] + f * (xyz1[2] - xyz0[2]), m);\n };\n\n _interpolators.push(['rgb', interpolate_rgb]);\n\n Color.prototype.luminance = function(lum, mode) {\n var cur_lum, eps, max_iter, rgba, test;\n if (mode == null) {\n mode = 'rgb';\n }\n if (!arguments.length) {\n return rgb2luminance(this._rgb);\n }\n rgba = this._rgb;\n if (lum === 0) {\n rgba = [0, 0, 0, this._rgb[3]];\n } else if (lum === 1) {\n rgba = [255, 255, 255, this[3]];\n } else {\n cur_lum = rgb2luminance(this._rgb);\n eps = 1e-7;\n max_iter = 20;\n test = function(l, h) {\n var lm, m;\n m = l.interpolate(h, 0.5, mode);\n lm = m.luminance();\n if (Math.abs(lum - lm) < eps || !max_iter--) {\n return m;\n }\n if (lm > lum) {\n return test(l, m);\n }\n return test(m, h);\n };\n if (cur_lum > lum) {\n rgba = test(chroma('black'), this).rgba();\n } else {\n rgba = test(this, chroma('white')).rgba();\n }\n }\n return chroma(rgba).alpha(this.alpha());\n };\n\n temperature2rgb = function(kelvin) {\n var b, g, r, temp;\n temp = kelvin / 100;\n if (temp < 66) {\n r = 255;\n g = -155.25485562709179 - 0.44596950469579133 * (g = temp - 2) + 104.49216199393888 * log(g);\n b = temp < 20 ? 0 : -254.76935184120902 + 0.8274096064007395 * (b = temp - 10) + 115.67994401066147 * log(b);\n } else {\n r = 351.97690566805693 + 0.114206453784165 * (r = temp - 55) - 40.25366309332127 * log(r);\n g = 325.4494125711974 + 0.07943456536662342 * (g = temp - 50) - 28.0852963507957 * log(g);\n b = 255;\n }\n return [r, g, b];\n };\n\n rgb2temperature = function() {\n var b, eps, g, maxTemp, minTemp, r, ref, rgb, temp;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n minTemp = 1000;\n maxTemp = 40000;\n eps = 0.4;\n while (maxTemp - minTemp > eps) {\n temp = (maxTemp + minTemp) * 0.5;\n rgb = temperature2rgb(temp);\n if ((rgb[2] / rgb[0]) >= (b / r)) {\n maxTemp = temp;\n } else {\n minTemp = temp;\n }\n }\n return round(temp);\n };\n\n chroma.temperature = chroma.kelvin = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['temperature']), function(){});\n };\n\n _input.temperature = _input.kelvin = _input.K = temperature2rgb;\n\n Color.prototype.temperature = function() {\n return rgb2temperature(this._rgb);\n };\n\n Color.prototype.kelvin = Color.prototype.temperature;\n\n chroma.contrast = function(a, b) {\n var l1, l2, ref, ref1;\n if ((ref = type(a)) === 'string' || ref === 'number') {\n a = new Color(a);\n }\n if ((ref1 = type(b)) === 'string' || ref1 === 'number') {\n b = new Color(b);\n }\n l1 = a.luminance();\n l2 = b.luminance();\n if (l1 > l2) {\n return (l1 + 0.05) / (l2 + 0.05);\n } else {\n return (l2 + 0.05) / (l1 + 0.05);\n }\n };\n\n chroma.distance = function(a, b, mode) {\n var d, i, l1, l2, ref, ref1, sum_sq;\n if (mode == null) {\n mode = 'lab';\n }\n if ((ref = type(a)) === 'string' || ref === 'number') {\n a = new Color(a);\n }\n if ((ref1 = type(b)) === 'string' || ref1 === 'number') {\n b = new Color(b);\n }\n l1 = a.get(mode);\n l2 = b.get(mode);\n sum_sq = 0;\n for (i in l1) {\n d = (l1[i] || 0) - (l2[i] || 0);\n sum_sq += d * d;\n }\n return Math.sqrt(sum_sq);\n };\n\n chroma.deltaE = function(a, b, L, C) {\n var L1, L2, a1, a2, b1, b2, c1, c2, c4, dH2, delA, delB, delC, delL, f, h1, ref, ref1, ref2, ref3, sc, sh, sl, t, v1, v2, v3;\n if (L == null) {\n L = 1;\n }\n if (C == null) {\n C = 1;\n }\n if ((ref = type(a)) === 'string' || ref === 'number') {\n a = new Color(a);\n }\n if ((ref1 = type(b)) === 'string' || ref1 === 'number') {\n b = new Color(b);\n }\n ref2 = a.lab(), L1 = ref2[0], a1 = ref2[1], b1 = ref2[2];\n ref3 = b.lab(), L2 = ref3[0], a2 = ref3[1], b2 = ref3[2];\n c1 = sqrt(a1 * a1 + b1 * b1);\n c2 = sqrt(a2 * a2 + b2 * b2);\n sl = L1 < 16.0 ? 0.511 : (0.040975 * L1) / (1.0 + 0.01765 * L1);\n sc = (0.0638 * c1) / (1.0 + 0.0131 * c1) + 0.638;\n h1 = c1 < 0.000001 ? 0.0 : (atan2(b1, a1) * 180.0) / PI;\n while (h1 < 0) {\n h1 += 360;\n }\n while (h1 >= 360) {\n h1 -= 360;\n }\n t = (h1 >= 164.0) && (h1 <= 345.0) ? 0.56 + abs(0.2 * cos((PI * (h1 + 168.0)) / 180.0)) : 0.36 + abs(0.4 * cos((PI * (h1 + 35.0)) / 180.0));\n c4 = c1 * c1 * c1 * c1;\n f = sqrt(c4 / (c4 + 1900.0));\n sh = sc * (f * t + 1.0 - f);\n delL = L1 - L2;\n delC = c1 - c2;\n delA = a1 - a2;\n delB = b1 - b2;\n dH2 = delA * delA + delB * delB - delC * delC;\n v1 = delL / (L * sl);\n v2 = delC / (C * sc);\n v3 = sh;\n return sqrt(v1 * v1 + v2 * v2 + (dH2 / (v3 * v3)));\n };\n\n Color.prototype.get = function(modechan) {\n var channel, i, me, mode, ref, src;\n me = this;\n ref = modechan.split('.'), mode = ref[0], channel = ref[1];\n src = me[mode]();\n if (channel) {\n i = mode.indexOf(channel);\n if (i > -1) {\n return src[i];\n } else {\n return console.warn('unknown channel ' + channel + ' in mode ' + mode);\n }\n } else {\n return src;\n }\n };\n\n Color.prototype.set = function(modechan, value) {\n var channel, i, me, mode, ref, src;\n me = this;\n ref = modechan.split('.'), mode = ref[0], channel = ref[1];\n if (channel) {\n src = me[mode]();\n i = mode.indexOf(channel);\n if (i > -1) {\n if (type(value) === 'string') {\n switch (value.charAt(0)) {\n case '+':\n src[i] += +value;\n break;\n case '-':\n src[i] += +value;\n break;\n case '*':\n src[i] *= +(value.substr(1));\n break;\n case '/':\n src[i] /= +(value.substr(1));\n break;\n default:\n src[i] = +value;\n }\n } else {\n src[i] = value;\n }\n } else {\n console.warn('unknown channel ' + channel + ' in mode ' + mode);\n }\n } else {\n src = value;\n }\n return chroma(src, mode).alpha(me.alpha());\n };\n\n Color.prototype.clipped = function() {\n return this._rgb._clipped || false;\n };\n\n Color.prototype.alpha = function(a) {\n if (arguments.length) {\n return chroma.rgb([this._rgb[0], this._rgb[1], this._rgb[2], a]);\n }\n return this._rgb[3];\n };\n\n Color.prototype.darken = function(amount) {\n var lab, me;\n if (amount == null) {\n amount = 1;\n }\n me = this;\n lab = me.lab();\n lab[0] -= LAB_CONSTANTS.Kn * amount;\n return chroma.lab(lab).alpha(me.alpha());\n };\n\n Color.prototype.brighten = function(amount) {\n if (amount == null) {\n amount = 1;\n }\n return this.darken(-amount);\n };\n\n Color.prototype.darker = Color.prototype.darken;\n\n Color.prototype.brighter = Color.prototype.brighten;\n\n Color.prototype.saturate = function(amount) {\n var lch, me;\n if (amount == null) {\n amount = 1;\n }\n me = this;\n lch = me.lch();\n lch[1] += amount * LAB_CONSTANTS.Kn;\n if (lch[1] < 0) {\n lch[1] = 0;\n }\n return chroma.lch(lch).alpha(me.alpha());\n };\n\n Color.prototype.desaturate = function(amount) {\n if (amount == null) {\n amount = 1;\n }\n return this.saturate(-amount);\n };\n\n Color.prototype.premultiply = function() {\n var a, rgb;\n rgb = this.rgb();\n a = this.alpha();\n return chroma(rgb[0] * a, rgb[1] * a, rgb[2] * a, a);\n };\n\n blend = function(bottom, top, mode) {\n if (!blend[mode]) {\n throw 'unknown blend mode ' + mode;\n }\n return blend[mode](bottom, top);\n };\n\n blend_f = function(f) {\n return function(bottom, top) {\n var c0, c1;\n c0 = chroma(top).rgb();\n c1 = chroma(bottom).rgb();\n return chroma(f(c0, c1), 'rgb');\n };\n };\n\n each = function(f) {\n return function(c0, c1) {\n var i, o, out;\n out = [];\n for (i = o = 0; o <= 3; i = ++o) {\n out[i] = f(c0[i], c1[i]);\n }\n return out;\n };\n };\n\n normal = function(a, b) {\n return a;\n };\n\n multiply = function(a, b) {\n return a * b / 255;\n };\n\n darken = function(a, b) {\n if (a > b) {\n return b;\n } else {\n return a;\n }\n };\n\n lighten = function(a, b) {\n if (a > b) {\n return a;\n } else {\n return b;\n }\n };\n\n screen = function(a, b) {\n return 255 * (1 - (1 - a / 255) * (1 - b / 255));\n };\n\n overlay = function(a, b) {\n if (b < 128) {\n return 2 * a * b / 255;\n } else {\n return 255 * (1 - 2 * (1 - a / 255) * (1 - b / 255));\n }\n };\n\n burn = function(a, b) {\n return 255 * (1 - (1 - b / 255) / (a / 255));\n };\n\n dodge = function(a, b) {\n if (a === 255) {\n return 255;\n }\n a = 255 * (b / 255) / (1 - a / 255);\n if (a > 255) {\n return 255;\n } else {\n return a;\n }\n };\n\n blend.normal = blend_f(each(normal));\n\n blend.multiply = blend_f(each(multiply));\n\n blend.screen = blend_f(each(screen));\n\n blend.overlay = blend_f(each(overlay));\n\n blend.darken = blend_f(each(darken));\n\n blend.lighten = blend_f(each(lighten));\n\n blend.dodge = blend_f(each(dodge));\n\n blend.burn = blend_f(each(burn));\n\n chroma.blend = blend;\n\n chroma.analyze = function(data) {\n var len, o, r, val;\n r = {\n min: Number.MAX_VALUE,\n max: Number.MAX_VALUE * -1,\n sum: 0,\n values: [],\n count: 0\n };\n for (o = 0, len = data.length; o < len; o++) {\n val = data[o];\n if ((val != null) && !isNaN(val)) {\n r.values.push(val);\n r.sum += val;\n if (val < r.min) {\n r.min = val;\n }\n if (val > r.max) {\n r.max = val;\n }\n r.count += 1;\n }\n }\n r.domain = [r.min, r.max];\n r.limits = function(mode, num) {\n return chroma.limits(r, mode, num);\n };\n return r;\n };\n\n chroma.scale = function(colors, positions) {\n var _classes, _colorCache, _colors, _correctLightness, _domain, _fixed, _gamma, _max, _min, _mode, _nacol, _out, _padding, _pos, _spread, _useCache, classifyValue, f, getClass, getColor, resetCache, setColors, tmap;\n _mode = 'rgb';\n _nacol = chroma('#ccc');\n _spread = 0;\n _fixed = false;\n _domain = [0, 1];\n _pos = [];\n _padding = [0, 0];\n _classes = false;\n _colors = [];\n _out = false;\n _min = 0;\n _max = 1;\n _correctLightness = false;\n _colorCache = {};\n _useCache = true;\n _gamma = 1;\n setColors = function(colors) {\n var c, col, o, ref, ref1, w;\n if (colors == null) {\n colors = ['#fff', '#000'];\n }\n if ((colors != null) && type(colors) === 'string' && (chroma.brewer != null)) {\n colors = chroma.brewer[colors] || chroma.brewer[colors.toLowerCase()] || colors;\n }\n if (type(colors) === 'array') {\n if (colors.length === 1) {\n colors = [colors[0], colors[0]];\n }\n colors = colors.slice(0);\n for (c = o = 0, ref = colors.length - 1; 0 <= ref ? o <= ref : o >= ref; c = 0 <= ref ? ++o : --o) {\n col = colors[c];\n if (type(col) === \"string\") {\n colors[c] = chroma(col);\n }\n }\n _pos.length = 0;\n for (c = w = 0, ref1 = colors.length - 1; 0 <= ref1 ? w <= ref1 : w >= ref1; c = 0 <= ref1 ? ++w : --w) {\n _pos.push(c / (colors.length - 1));\n }\n }\n resetCache();\n return _colors = colors;\n };\n getClass = function(value) {\n var i, n;\n if (_classes != null) {\n n = _classes.length - 1;\n i = 0;\n while (i < n && value >= _classes[i]) {\n i++;\n }\n return i - 1;\n }\n return 0;\n };\n tmap = function(t) {\n return t;\n };\n classifyValue = function(value) {\n var i, maxc, minc, n, val;\n val = value;\n if (_classes.length > 2) {\n n = _classes.length - 1;\n i = getClass(value);\n minc = _classes[0] + (_classes[1] - _classes[0]) * (0 + _spread * 0.5);\n maxc = _classes[n - 1] + (_classes[n] - _classes[n - 1]) * (1 - _spread * 0.5);\n val = _min + ((_classes[i] + (_classes[i + 1] - _classes[i]) * 0.5 - minc) / (maxc - minc)) * (_max - _min);\n }\n return val;\n };\n getColor = function(val, bypassMap) {\n var c, col, i, k, o, p, ref, t;\n if (bypassMap == null) {\n bypassMap = false;\n }\n if (isNaN(val) || val === null) {\n return _nacol;\n }\n if (!bypassMap) {\n if (_classes && _classes.length > 2) {\n c = getClass(val);\n t = c / (_classes.length - 2);\n } else if (_max !== _min) {\n t = (val - _min) / (_max - _min);\n } else {\n t = 1;\n }\n } else {\n t = val;\n }\n if (!bypassMap) {\n t = tmap(t);\n }\n if (_gamma !== 1) {\n t = pow(t, _gamma);\n }\n t = _padding[0] + (t * (1 - _padding[0] - _padding[1]));\n t = Math.min(1, Math.max(0, t));\n k = Math.floor(t * 10000);\n if (_useCache && _colorCache[k]) {\n col = _colorCache[k];\n } else {\n if (type(_colors) === 'array') {\n for (i = o = 0, ref = _pos.length - 1; 0 <= ref ? o <= ref : o >= ref; i = 0 <= ref ? ++o : --o) {\n p = _pos[i];\n if (t <= p) {\n col = _colors[i];\n break;\n }\n if (t >= p && i === _pos.length - 1) {\n col = _colors[i];\n break;\n }\n if (t > p && t < _pos[i + 1]) {\n t = (t - p) / (_pos[i + 1] - p);\n col = chroma.interpolate(_colors[i], _colors[i + 1], t, _mode);\n break;\n }\n }\n } else if (type(_colors) === 'function') {\n col = _colors(t);\n }\n if (_useCache) {\n _colorCache[k] = col;\n }\n }\n return col;\n };\n resetCache = function() {\n return _colorCache = {};\n };\n setColors(colors);\n f = function(v) {\n var c;\n c = chroma(getColor(v));\n if (_out && c[_out]) {\n return c[_out]();\n } else {\n return c;\n }\n };\n f.classes = function(classes) {\n var d;\n if (classes != null) {\n if (type(classes) === 'array') {\n _classes = classes;\n _domain = [classes[0], classes[classes.length - 1]];\n } else {\n d = chroma.analyze(_domain);\n if (classes === 0) {\n _classes = [d.min, d.max];\n } else {\n _classes = chroma.limits(d, 'e', classes);\n }\n }\n return f;\n }\n return _classes;\n };\n f.domain = function(domain) {\n var c, d, k, len, o, ref, w;\n if (!arguments.length) {\n return _domain;\n }\n _min = domain[0];\n _max = domain[domain.length - 1];\n _pos = [];\n k = _colors.length;\n if (domain.length === k && _min !== _max) {\n for (o = 0, len = domain.length; o < len; o++) {\n d = domain[o];\n _pos.push((d - _min) / (_max - _min));\n }\n } else {\n for (c = w = 0, ref = k - 1; 0 <= ref ? w <= ref : w >= ref; c = 0 <= ref ? ++w : --w) {\n _pos.push(c / (k - 1));\n }\n }\n _domain = [_min, _max];\n return f;\n };\n f.mode = function(_m) {\n if (!arguments.length) {\n return _mode;\n }\n _mode = _m;\n resetCache();\n return f;\n };\n f.range = function(colors, _pos) {\n setColors(colors, _pos);\n return f;\n };\n f.out = function(_o) {\n _out = _o;\n return f;\n };\n f.spread = function(val) {\n if (!arguments.length) {\n return _spread;\n }\n _spread = val;\n return f;\n };\n f.correctLightness = function(v) {\n if (v == null) {\n v = true;\n }\n _correctLightness = v;\n resetCache();\n if (_correctLightness) {\n tmap = function(t) {\n var L0, L1, L_actual, L_diff, L_ideal, max_iter, pol, t0, t1;\n L0 = getColor(0, true).lab()[0];\n L1 = getColor(1, true).lab()[0];\n pol = L0 > L1;\n L_actual = getColor(t, true).lab()[0];\n L_ideal = L0 + (L1 - L0) * t;\n L_diff = L_actual - L_ideal;\n t0 = 0;\n t1 = 1;\n max_iter = 20;\n while (Math.abs(L_diff) > 1e-2 && max_iter-- > 0) {\n (function() {\n if (pol) {\n L_diff *= -1;\n }\n if (L_diff < 0) {\n t0 = t;\n t += (t1 - t) * 0.5;\n } else {\n t1 = t;\n t += (t0 - t) * 0.5;\n }\n L_actual = getColor(t, true).lab()[0];\n return L_diff = L_actual - L_ideal;\n })();\n }\n return t;\n };\n } else {\n tmap = function(t) {\n return t;\n };\n }\n return f;\n };\n f.padding = function(p) {\n if (p != null) {\n if (type(p) === 'number') {\n p = [p, p];\n }\n _padding = p;\n return f;\n } else {\n return _padding;\n }\n };\n f.colors = function(numColors, out) {\n var dd, dm, i, o, ref, result, results, samples, w;\n if (arguments.length < 2) {\n out = 'hex';\n }\n result = [];\n if (arguments.length === 0) {\n result = _colors.slice(0);\n } else if (numColors === 1) {\n result = [f(0.5)];\n } else if (numColors > 1) {\n dm = _domain[0];\n dd = _domain[1] - dm;\n result = (function() {\n results = [];\n for (var o = 0; 0 <= numColors ? o < numColors : o > numColors; 0 <= numColors ? o++ : o--){ results.push(o); }\n return results;\n }).apply(this).map(function(i) {\n return f(dm + i / (numColors - 1) * dd);\n });\n } else {\n colors = [];\n samples = [];\n if (_classes && _classes.length > 2) {\n for (i = w = 1, ref = _classes.length; 1 <= ref ? w < ref : w > ref; i = 1 <= ref ? ++w : --w) {\n samples.push((_classes[i - 1] + _classes[i]) * 0.5);\n }\n } else {\n samples = _domain;\n }\n result = samples.map(function(v) {\n return f(v);\n });\n }\n if (chroma[out]) {\n result = result.map(function(c) {\n return c[out]();\n });\n }\n return result;\n };\n f.cache = function(c) {\n if (c != null) {\n _useCache = c;\n return f;\n } else {\n return _useCache;\n }\n };\n f.gamma = function(g) {\n if (g != null) {\n _gamma = g;\n return f;\n } else {\n return _gamma;\n }\n };\n f.nodata = function(d) {\n if (d != null) {\n _nacol = chroma(d);\n return f;\n } else {\n return _nacol;\n }\n };\n return f;\n };\n\n if (chroma.scales == null) {\n chroma.scales = {};\n }\n\n chroma.scales.cool = function() {\n return chroma.scale([chroma.hsl(180, 1, .9), chroma.hsl(250, .7, .4)]);\n };\n\n chroma.scales.hot = function() {\n return chroma.scale(['#000', '#f00', '#ff0', '#fff'], [0, .25, .75, 1]).mode('rgb');\n };\n\n chroma.analyze = function(data, key, filter) {\n var add, k, len, o, r, val, visit;\n r = {\n min: Number.MAX_VALUE,\n max: Number.MAX_VALUE * -1,\n sum: 0,\n values: [],\n count: 0\n };\n if (filter == null) {\n filter = function() {\n return true;\n };\n }\n add = function(val) {\n if ((val != null) && !isNaN(val)) {\n r.values.push(val);\n r.sum += val;\n if (val < r.min) {\n r.min = val;\n }\n if (val > r.max) {\n r.max = val;\n }\n r.count += 1;\n }\n };\n visit = function(val, k) {\n if (filter(val, k)) {\n if ((key != null) && type(key) === 'function') {\n return add(key(val));\n } else if ((key != null) && type(key) === 'string' || type(key) === 'number') {\n return add(val[key]);\n } else {\n return add(val);\n }\n }\n };\n if (type(data) === 'array') {\n for (o = 0, len = data.length; o < len; o++) {\n val = data[o];\n visit(val);\n }\n } else {\n for (k in data) {\n val = data[k];\n visit(val, k);\n }\n }\n r.domain = [r.min, r.max];\n r.limits = function(mode, num) {\n return chroma.limits(r, mode, num);\n };\n return r;\n };\n\n chroma.limits = function(data, mode, num) {\n var aa, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, al, am, assignments, best, centroids, cluster, clusterSizes, dist, i, j, kClusters, limits, max_log, min, min_log, mindist, n, nb_iters, newCentroids, o, p, pb, pr, ref, ref1, ref10, ref11, ref12, ref13, ref14, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9, repeat, sum, tmpKMeansBreaks, v, value, values, w;\n if (mode == null) {\n mode = 'equal';\n }\n if (num == null) {\n num = 7;\n }\n if (type(data) === 'array') {\n data = chroma.analyze(data);\n }\n min = data.min;\n max = data.max;\n sum = data.sum;\n values = data.values.sort(function(a, b) {\n return a - b;\n });\n if (num === 1) {\n return [min, max];\n }\n limits = [];\n if (mode.substr(0, 1) === 'c') {\n limits.push(min);\n limits.push(max);\n }\n if (mode.substr(0, 1) === 'e') {\n limits.push(min);\n for (i = o = 1, ref = num - 1; 1 <= ref ? o <= ref : o >= ref; i = 1 <= ref ? ++o : --o) {\n limits.push(min + (i / num) * (max - min));\n }\n limits.push(max);\n } else if (mode.substr(0, 1) === 'l') {\n if (min <= 0) {\n throw 'Logarithmic scales are only possible for values > 0';\n }\n min_log = Math.LOG10E * log(min);\n max_log = Math.LOG10E * log(max);\n limits.push(min);\n for (i = w = 1, ref1 = num - 1; 1 <= ref1 ? w <= ref1 : w >= ref1; i = 1 <= ref1 ? ++w : --w) {\n limits.push(pow(10, min_log + (i / num) * (max_log - min_log)));\n }\n limits.push(max);\n } else if (mode.substr(0, 1) === 'q') {\n limits.push(min);\n for (i = aa = 1, ref2 = num - 1; 1 <= ref2 ? aa <= ref2 : aa >= ref2; i = 1 <= ref2 ? ++aa : --aa) {\n p = (values.length - 1) * i / num;\n pb = floor(p);\n if (pb === p) {\n limits.push(values[pb]);\n } else {\n pr = p - pb;\n limits.push(values[pb] * (1 - pr) + values[pb + 1] * pr);\n }\n }\n limits.push(max);\n } else if (mode.substr(0, 1) === 'k') {\n\n /*\n implementation based on\n http://code.google.com/p/figue/source/browse/trunk/figue.js#336\n simplified for 1-d input values\n */\n n = values.length;\n assignments = new Array(n);\n clusterSizes = new Array(num);\n repeat = true;\n nb_iters = 0;\n centroids = null;\n centroids = [];\n centroids.push(min);\n for (i = ab = 1, ref3 = num - 1; 1 <= ref3 ? ab <= ref3 : ab >= ref3; i = 1 <= ref3 ? ++ab : --ab) {\n centroids.push(min + (i / num) * (max - min));\n }\n centroids.push(max);\n while (repeat) {\n for (j = ac = 0, ref4 = num - 1; 0 <= ref4 ? ac <= ref4 : ac >= ref4; j = 0 <= ref4 ? ++ac : --ac) {\n clusterSizes[j] = 0;\n }\n for (i = ad = 0, ref5 = n - 1; 0 <= ref5 ? ad <= ref5 : ad >= ref5; i = 0 <= ref5 ? ++ad : --ad) {\n value = values[i];\n mindist = Number.MAX_VALUE;\n for (j = ae = 0, ref6 = num - 1; 0 <= ref6 ? ae <= ref6 : ae >= ref6; j = 0 <= ref6 ? ++ae : --ae) {\n dist = abs(centroids[j] - value);\n if (dist < mindist) {\n mindist = dist;\n best = j;\n }\n }\n clusterSizes[best]++;\n assignments[i] = best;\n }\n newCentroids = new Array(num);\n for (j = af = 0, ref7 = num - 1; 0 <= ref7 ? af <= ref7 : af >= ref7; j = 0 <= ref7 ? ++af : --af) {\n newCentroids[j] = null;\n }\n for (i = ag = 0, ref8 = n - 1; 0 <= ref8 ? ag <= ref8 : ag >= ref8; i = 0 <= ref8 ? ++ag : --ag) {\n cluster = assignments[i];\n if (newCentroids[cluster] === null) {\n newCentroids[cluster] = values[i];\n } else {\n newCentroids[cluster] += values[i];\n }\n }\n for (j = ah = 0, ref9 = num - 1; 0 <= ref9 ? ah <= ref9 : ah >= ref9; j = 0 <= ref9 ? ++ah : --ah) {\n newCentroids[j] *= 1 / clusterSizes[j];\n }\n repeat = false;\n for (j = ai = 0, ref10 = num - 1; 0 <= ref10 ? ai <= ref10 : ai >= ref10; j = 0 <= ref10 ? ++ai : --ai) {\n if (newCentroids[j] !== centroids[i]) {\n repeat = true;\n break;\n }\n }\n centroids = newCentroids;\n nb_iters++;\n if (nb_iters > 200) {\n repeat = false;\n }\n }\n kClusters = {};\n for (j = aj = 0, ref11 = num - 1; 0 <= ref11 ? aj <= ref11 : aj >= ref11; j = 0 <= ref11 ? ++aj : --aj) {\n kClusters[j] = [];\n }\n for (i = ak = 0, ref12 = n - 1; 0 <= ref12 ? ak <= ref12 : ak >= ref12; i = 0 <= ref12 ? ++ak : --ak) {\n cluster = assignments[i];\n kClusters[cluster].push(values[i]);\n }\n tmpKMeansBreaks = [];\n for (j = al = 0, ref13 = num - 1; 0 <= ref13 ? al <= ref13 : al >= ref13; j = 0 <= ref13 ? ++al : --al) {\n tmpKMeansBreaks.push(kClusters[j][0]);\n tmpKMeansBreaks.push(kClusters[j][kClusters[j].length - 1]);\n }\n tmpKMeansBreaks = tmpKMeansBreaks.sort(function(a, b) {\n return a - b;\n });\n limits.push(tmpKMeansBreaks[0]);\n for (i = am = 1, ref14 = tmpKMeansBreaks.length - 1; am <= ref14; i = am += 2) {\n v = tmpKMeansBreaks[i];\n if (!isNaN(v) && limits.indexOf(v) === -1) {\n limits.push(v);\n }\n }\n }\n return limits;\n };\n\n hsi2rgb = function(h, s, i) {\n\n /*\n borrowed from here:\n http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/hsi2rgb.cpp\n */\n var args, b, g, r;\n args = unpack(arguments);\n h = args[0], s = args[1], i = args[2];\n if (isNaN(h)) {\n h = 0;\n }\n h /= 360;\n if (h < 1 / 3) {\n b = (1 - s) / 3;\n r = (1 + s * cos(TWOPI * h) / cos(PITHIRD - TWOPI * h)) / 3;\n g = 1 - (b + r);\n } else if (h < 2 / 3) {\n h -= 1 / 3;\n r = (1 - s) / 3;\n g = (1 + s * cos(TWOPI * h) / cos(PITHIRD - TWOPI * h)) / 3;\n b = 1 - (r + g);\n } else {\n h -= 2 / 3;\n g = (1 - s) / 3;\n b = (1 + s * cos(TWOPI * h) / cos(PITHIRD - TWOPI * h)) / 3;\n r = 1 - (g + b);\n }\n r = limit(i * r * 3);\n g = limit(i * g * 3);\n b = limit(i * b * 3);\n return [r * 255, g * 255, b * 255, args.length > 3 ? args[3] : 1];\n };\n\n rgb2hsi = function() {\n\n /*\n borrowed from here:\n http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/rgb2hsi.cpp\n */\n var b, g, h, i, min, r, ref, s;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n TWOPI = Math.PI * 2;\n r /= 255;\n g /= 255;\n b /= 255;\n min = Math.min(r, g, b);\n i = (r + g + b) / 3;\n s = 1 - min / i;\n if (s === 0) {\n h = 0;\n } else {\n h = ((r - g) + (r - b)) / 2;\n h /= Math.sqrt((r - g) * (r - g) + (r - b) * (g - b));\n h = Math.acos(h);\n if (b > g) {\n h = TWOPI - h;\n }\n h /= TWOPI;\n }\n return [h * 360, s, i];\n };\n\n chroma.hsi = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['hsi']), function(){});\n };\n\n _input.hsi = hsi2rgb;\n\n Color.prototype.hsi = function() {\n return rgb2hsi(this._rgb);\n };\n\n interpolate_hsx = function(col1, col2, f, m) {\n var dh, hue, hue0, hue1, lbv, lbv0, lbv1, res, sat, sat0, sat1, xyz0, xyz1;\n if (m === 'hsl') {\n xyz0 = col1.hsl();\n xyz1 = col2.hsl();\n } else if (m === 'hsv') {\n xyz0 = col1.hsv();\n xyz1 = col2.hsv();\n } else if (m === 'hcg') {\n xyz0 = col1.hcg();\n xyz1 = col2.hcg();\n } else if (m === 'hsi') {\n xyz0 = col1.hsi();\n xyz1 = col2.hsi();\n } else if (m === 'lch' || m === 'hcl') {\n m = 'hcl';\n xyz0 = col1.hcl();\n xyz1 = col2.hcl();\n }\n if (m.substr(0, 1) === 'h') {\n hue0 = xyz0[0], sat0 = xyz0[1], lbv0 = xyz0[2];\n hue1 = xyz1[0], sat1 = xyz1[1], lbv1 = xyz1[2];\n }\n if (!isNaN(hue0) && !isNaN(hue1)) {\n if (hue1 > hue0 && hue1 - hue0 > 180) {\n dh = hue1 - (hue0 + 360);\n } else if (hue1 < hue0 && hue0 - hue1 > 180) {\n dh = hue1 + 360 - hue0;\n } else {\n dh = hue1 - hue0;\n }\n hue = hue0 + f * dh;\n } else if (!isNaN(hue0)) {\n hue = hue0;\n if ((lbv1 === 1 || lbv1 === 0) && m !== 'hsv') {\n sat = sat0;\n }\n } else if (!isNaN(hue1)) {\n hue = hue1;\n if ((lbv0 === 1 || lbv0 === 0) && m !== 'hsv') {\n sat = sat1;\n }\n } else {\n hue = Number.NaN;\n }\n if (sat == null) {\n sat = sat0 + f * (sat1 - sat0);\n }\n lbv = lbv0 + f * (lbv1 - lbv0);\n return res = chroma[m](hue, sat, lbv);\n };\n\n _interpolators = _interpolators.concat((function() {\n var len, o, ref, results;\n ref = ['hsv', 'hsl', 'hsi', 'hcl', 'lch', 'hcg'];\n results = [];\n for (o = 0, len = ref.length; o < len; o++) {\n m = ref[o];\n results.push([m, interpolate_hsx]);\n }\n return results;\n })());\n\n interpolate_num = function(col1, col2, f, m) {\n var n1, n2;\n n1 = col1.num();\n n2 = col2.num();\n return chroma.num(n1 + (n2 - n1) * f, 'num');\n };\n\n _interpolators.push(['num', interpolate_num]);\n\n interpolate_lab = function(col1, col2, f, m) {\n var res, xyz0, xyz1;\n xyz0 = col1.lab();\n xyz1 = col2.lab();\n return res = new Color(xyz0[0] + f * (xyz1[0] - xyz0[0]), xyz0[1] + f * (xyz1[1] - xyz0[1]), xyz0[2] + f * (xyz1[2] - xyz0[2]), m);\n };\n\n _interpolators.push(['lab', interpolate_lab]);\n\n}).call(this);\n", "\"use strict\";\n\nmodule.exports = function () {\n\tvar weakMap, obj;\n\n\tif (typeof WeakMap !== \"function\") return false;\n\ttry {\n\t\t// WebKit doesn't support arguments and crashes\n\t\tweakMap = new WeakMap([[obj = {}, \"one\"], [{}, \"two\"], [{}, \"three\"]]);\n\t} catch (e) {\n\t\treturn false;\n\t}\n\tif (String(weakMap) !== \"[object WeakMap]\") return false;\n\tif (typeof weakMap.set !== \"function\") return false;\n\tif (weakMap.set({}, 1) !== weakMap) return false;\n\tif (typeof weakMap.delete !== \"function\") return false;\n\tif (typeof weakMap.has !== \"function\") return false;\n\tif (weakMap.get(obj) !== \"one\") return false;\n\n\treturn true;\n};\n", "\"use strict\";\n\n// eslint-disable-next-line no-empty-function\nmodule.exports = function () {};\n", "\"use strict\";\n\nvar _undefined = require(\"../function/noop\")(); // Support ES3 engines\n\nmodule.exports = function (val) { return val !== _undefined && val !== null; };\n", "\"use strict\";\n\nvar create = Object.create, getPrototypeOf = Object.getPrototypeOf, plainObject = {};\n\nmodule.exports = function (/* CustomCreate*/) {\n\tvar setPrototypeOf = Object.setPrototypeOf, customCreate = arguments[0] || create;\n\tif (typeof setPrototypeOf !== \"function\") return false;\n\treturn getPrototypeOf(setPrototypeOf(customCreate(null), plainObject)) === plainObject;\n};\n", "\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar map = { function: true, object: true };\n\nmodule.exports = function (value) { return (isValue(value) && map[typeof value]) || false; };\n", "\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) throw new TypeError(\"Cannot use null or undefined\");\n\treturn value;\n};\n", "// Workaround for http://code.google.com/p/v8/issues/detail?id=2804\n\n\"use strict\";\n\nvar create = Object.create, shim;\n\nif (!require(\"./set-prototype-of/is-implemented\")()) {\n\tshim = require(\"./set-prototype-of/shim\");\n}\n\nmodule.exports = (function () {\n\tvar nullObject, polyProps, desc;\n\tif (!shim) return create;\n\tif (shim.level !== 1) return create;\n\n\tnullObject = {};\n\tpolyProps = {};\n\tdesc = { configurable: false, enumerable: false, writable: true, value: undefined };\n\tObject.getOwnPropertyNames(Object.prototype).forEach(function (name) {\n\t\tif (name === \"__proto__\") {\n\t\t\tpolyProps[name] = {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: false,\n\t\t\t\twritable: true,\n\t\t\t\tvalue: undefined\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\t\tpolyProps[name] = desc;\n\t});\n\tObject.defineProperties(nullObject, polyProps);\n\n\tObject.defineProperty(shim, \"nullPolyfill\", {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\twritable: false,\n\t\tvalue: nullObject\n\t});\n\n\treturn function (prototype, props) {\n\t\treturn create(prototype === null ? nullObject : prototype, props);\n\t};\n})();\n", "/* eslint no-proto: \"off\" */\n\n// Big thanks to @WebReflection for sorting this out\n// https://gist.github.com/WebReflection/5593554\n\n\"use strict\";\n\nvar isObject = require(\"../is-object\")\n , value = require(\"../valid-value\")\n , objIsPrototypeOf = Object.prototype.isPrototypeOf\n , defineProperty = Object.defineProperty\n , nullDesc = { configurable: true, enumerable: false, writable: true, value: undefined }\n , validate;\n\nvalidate = function (obj, prototype) {\n\tvalue(obj);\n\tif (prototype === null || isObject(prototype)) return obj;\n\tthrow new TypeError(\"Prototype must be null or an object\");\n};\n\nmodule.exports = (function (status) {\n\tvar fn, set;\n\tif (!status) return null;\n\tif (status.level === 2) {\n\t\tif (status.set) {\n\t\t\tset = status.set;\n\t\t\tfn = function (obj, prototype) {\n\t\t\t\tset.call(validate(obj, prototype), prototype);\n\t\t\t\treturn obj;\n\t\t\t};\n\t\t} else {\n\t\t\tfn = function (obj, prototype) {\n\t\t\t\tvalidate(obj, prototype).__proto__ = prototype;\n\t\t\t\treturn obj;\n\t\t\t};\n\t\t}\n\t} else {\n\t\tfn = function self(obj, prototype) {\n\t\t\tvar isNullBase;\n\t\t\tvalidate(obj, prototype);\n\t\t\tisNullBase = objIsPrototypeOf.call(self.nullPolyfill, obj);\n\t\t\tif (isNullBase) delete self.nullPolyfill.__proto__;\n\t\t\tif (prototype === null) prototype = self.nullPolyfill;\n\t\t\tobj.__proto__ = prototype;\n\t\t\tif (isNullBase) defineProperty(self.nullPolyfill, \"__proto__\", nullDesc);\n\t\t\treturn obj;\n\t\t};\n\t}\n\treturn Object.defineProperty(fn, \"level\", {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\twritable: false,\n\t\tvalue: status.level\n\t});\n})(\n\t(function () {\n\t\tvar tmpObj1 = Object.create(null)\n\t\t , tmpObj2 = {}\n\t\t , set\n\t\t , desc = Object.getOwnPropertyDescriptor(Object.prototype, \"__proto__\");\n\n\t\tif (desc) {\n\t\t\ttry {\n\t\t\t\tset = desc.set; // Opera crashes at this point\n\t\t\t\tset.call(tmpObj1, tmpObj2);\n\t\t\t} catch (ignore) {}\n\t\t\tif (Object.getPrototypeOf(tmpObj1) === tmpObj2) return { set: set, level: 2 };\n\t\t}\n\n\t\ttmpObj1.__proto__ = tmpObj2;\n\t\tif (Object.getPrototypeOf(tmpObj1) === tmpObj2) return { level: 2 };\n\n\t\ttmpObj1 = {};\n\t\ttmpObj1.__proto__ = tmpObj2;\n\t\tif (Object.getPrototypeOf(tmpObj1) === tmpObj2) return { level: 1 };\n\n\t\treturn false;\n\t})()\n);\n\nrequire(\"../create\");\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.setPrototypeOf : require(\"./shim\");\n", "\"use strict\";\n\nvar isObject = require(\"./is-object\");\n\nmodule.exports = function (value) {\n\tif (!isObject(value)) throw new TypeError(value + \" is not an Object\");\n\treturn value;\n};\n", "\"use strict\";\n\nvar generated = Object.create(null), random = Math.random;\n\nmodule.exports = function () {\n\tvar str;\n\tdo {\n\t\tstr = random().toString(36).slice(2);\n\t} while (generated[str]);\n\treturn str;\n};\n", "\"use strict\";\n\n// ES3 safe\nvar _undefined = void 0;\n\nmodule.exports = function (value) { return value !== _undefined && value !== null; };\n", "\"use strict\";\n\nvar isValue = require(\"../value/is\");\n\n// prettier-ignore\nvar possibleTypes = { \"object\": true, \"function\": true, \"undefined\": true /* document.all */ };\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) return false;\n\treturn hasOwnProperty.call(possibleTypes, typeof value);\n};\n", "\"use strict\";\n\nvar isObject = require(\"../object/is\");\n\nmodule.exports = function (value) {\n\tif (!isObject(value)) return false;\n\ttry {\n\t\tif (!value.constructor) return false;\n\t\treturn value.constructor.prototype === value;\n\t} catch (error) {\n\t\treturn false;\n\t}\n};\n", "\"use strict\";\n\nvar isPrototype = require(\"../prototype/is\");\n\nmodule.exports = function (value) {\n\tif (typeof value !== \"function\") return false;\n\n\tif (!hasOwnProperty.call(value, \"length\")) return false;\n\n\ttry {\n\t\tif (typeof value.length !== \"number\") return false;\n\t\tif (typeof value.call !== \"function\") return false;\n\t\tif (typeof value.apply !== \"function\") return false;\n\t} catch (error) {\n\t\treturn false;\n\t}\n\n\treturn !isPrototype(value);\n};\n", "\"use strict\";\n\nvar isFunction = require(\"../function/is\");\n\nvar classRe = /^\\s*class[\\s{/}]/, functionToString = Function.prototype.toString;\n\nmodule.exports = function (value) {\n\tif (!isFunction(value)) return false;\n\tif (classRe.test(functionToString.call(value))) return false;\n\treturn true;\n};\n", "\"use strict\";\n\nmodule.exports = function () {\n\tvar assign = Object.assign, obj;\n\tif (typeof assign !== \"function\") return false;\n\tobj = { foo: \"raz\" };\n\tassign(obj, { bar: \"dwa\" }, { trzy: \"trzy\" });\n\treturn obj.foo + obj.bar + obj.trzy === \"razdwatrzy\";\n};\n", "\"use strict\";\n\nmodule.exports = function () {\n\ttry {\n\t\tObject.keys(\"primitive\");\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n", "\"use strict\";\n\nvar isValue = require(\"../is-value\");\n\nvar keys = Object.keys;\n\nmodule.exports = function (object) { return keys(isValue(object) ? Object(object) : object); };\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.keys : require(\"./shim\");\n", "\"use strict\";\n\nvar keys = require(\"../keys\")\n , value = require(\"../valid-value\")\n , max = Math.max;\n\nmodule.exports = function (dest, src /*, \u2026srcn*/) {\n\tvar error, i, length = max(arguments.length, 2), assign;\n\tdest = Object(value(dest));\n\tassign = function (key) {\n\t\ttry {\n\t\t\tdest[key] = src[key];\n\t\t} catch (e) {\n\t\t\tif (!error) error = e;\n\t\t}\n\t};\n\tfor (i = 1; i < length; ++i) {\n\t\tsrc = arguments[i];\n\t\tkeys(src).forEach(assign);\n\t}\n\tif (error !== undefined) throw error;\n\treturn dest;\n};\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.assign : require(\"./shim\");\n", "\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar forEach = Array.prototype.forEach, create = Object.create;\n\nvar process = function (src, obj) {\n\tvar key;\n\tfor (key in src) obj[key] = src[key];\n};\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function (opts1 /*, \u2026options*/) {\n\tvar result = create(null);\n\tforEach.call(arguments, function (options) {\n\t\tif (!isValue(options)) return;\n\t\tprocess(Object(options), result);\n\t});\n\treturn result;\n};\n", "\"use strict\";\n\nvar str = \"razdwatrzy\";\n\nmodule.exports = function () {\n\tif (typeof str.contains !== \"function\") return false;\n\treturn str.contains(\"dwa\") === true && str.contains(\"foo\") === false;\n};\n", "\"use strict\";\n\nvar indexOf = String.prototype.indexOf;\n\nmodule.exports = function (searchString /*, position*/) {\n\treturn indexOf.call(this, searchString, arguments[1]) > -1;\n};\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? String.prototype.contains : require(\"./shim\");\n", "\"use strict\";\n\nvar isValue = require(\"type/value/is\")\n , isPlainFunction = require(\"type/plain-function/is\")\n , assign = require(\"es5-ext/object/assign\")\n , normalizeOpts = require(\"es5-ext/object/normalize-options\")\n , contains = require(\"es5-ext/string/#/contains\");\n\nvar d = (module.exports = function (dscr, value/*, options*/) {\n\tvar c, e, w, options, desc;\n\tif (arguments.length < 2 || typeof dscr !== \"string\") {\n\t\toptions = value;\n\t\tvalue = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[2];\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t\tw = contains.call(dscr, \"w\");\n\t} else {\n\t\tc = w = true;\n\t\te = false;\n\t}\n\n\tdesc = { value: value, configurable: c, enumerable: e, writable: w };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n});\n\nd.gs = function (dscr, get, set/*, options*/) {\n\tvar c, e, options, desc;\n\tif (typeof dscr !== \"string\") {\n\t\toptions = set;\n\t\tset = get;\n\t\tget = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[3];\n\t}\n\tif (!isValue(get)) {\n\t\tget = undefined;\n\t} else if (!isPlainFunction(get)) {\n\t\toptions = get;\n\t\tget = set = undefined;\n\t} else if (!isValue(set)) {\n\t\tset = undefined;\n\t} else if (!isPlainFunction(set)) {\n\t\toptions = set;\n\t\tset = undefined;\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t} else {\n\t\tc = true;\n\t\te = false;\n\t}\n\n\tdesc = { get: get, set: set, configurable: c, enumerable: e };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};\n", "\"use strict\";\n\nvar objToString = Object.prototype.toString\n , id = objToString.call((function () { return arguments; })());\n\nmodule.exports = function (value) { return objToString.call(value) === id; };\n", "\"use strict\";\n\nvar objToString = Object.prototype.toString, id = objToString.call(\"\");\n\nmodule.exports = function (value) {\n\treturn (\n\t\ttypeof value === \"string\" ||\n\t\t(value &&\n\t\t\ttypeof value === \"object\" &&\n\t\t\t(value instanceof String || objToString.call(value) === id)) ||\n\t\tfalse\n\t);\n};\n", "\"use strict\";\n\nmodule.exports = function () {\n\tif (typeof globalThis !== \"object\") return false;\n\tif (!globalThis) return false;\n\treturn globalThis.Array === Array;\n};\n", "var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of Object.prototype being sealed (via preventExtensions, seal or freeze)\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ is resolved with global context, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? globalThis : require(\"./implementation\");\n", "\"use strict\";\n\nvar global = require(\"ext/global-this\")\n , validTypes = { object: true, symbol: true };\n\nmodule.exports = function () {\n\tvar Symbol = global.Symbol;\n\tvar symbol;\n\tif (typeof Symbol !== \"function\") return false;\n\tsymbol = Symbol(\"test symbol\");\n\ttry { String(symbol); }\n\tcatch (e) { return false; }\n\n\t// Return 'true' also for polyfills\n\tif (!validTypes[typeof Symbol.iterator]) return false;\n\tif (!validTypes[typeof Symbol.toPrimitive]) return false;\n\tif (!validTypes[typeof Symbol.toStringTag]) return false;\n\n\treturn true;\n};\n", "\"use strict\";\n\nmodule.exports = function (value) {\n\tif (!value) return false;\n\tif (typeof value === \"symbol\") return true;\n\tif (!value.constructor) return false;\n\tif (value.constructor.name !== \"Symbol\") return false;\n\treturn value[value.constructor.toStringTag] === \"Symbol\";\n};\n", "\"use strict\";\n\nvar isSymbol = require(\"./is-symbol\");\n\nmodule.exports = function (value) {\n\tif (!isSymbol(value)) throw new TypeError(value + \" is not a symbol\");\n\treturn value;\n};\n", "\"use strict\";\n\nvar d = require(\"d\");\n\nvar create = Object.create, defineProperty = Object.defineProperty, objPrototype = Object.prototype;\n\nvar created = create(null);\nmodule.exports = function (desc) {\n\tvar postfix = 0, name, ie11BugWorkaround;\n\twhile (created[desc + (postfix || \"\")]) ++postfix;\n\tdesc += postfix || \"\";\n\tcreated[desc] = true;\n\tname = \"@@\" + desc;\n\tdefineProperty(\n\t\tobjPrototype, name,\n\t\td.gs(null, function (value) {\n\t\t\t// For IE11 issue see:\n\t\t\t// https://connect.microsoft.com/IE/feedbackdetail/view/1928508/\n\t\t\t// ie11-broken-getters-on-dom-objects\n\t\t\t// https://github.com/medikoo/es6-symbol/issues/12\n\t\t\tif (ie11BugWorkaround) return;\n\t\t\tie11BugWorkaround = true;\n\t\t\tdefineProperty(this, name, d(value));\n\t\t\tie11BugWorkaround = false;\n\t\t})\n\t);\n\treturn name;\n};\n", "\"use strict\";\n\nvar d = require(\"d\")\n , NativeSymbol = require(\"ext/global-this\").Symbol;\n\nmodule.exports = function (SymbolPolyfill) {\n\treturn Object.defineProperties(SymbolPolyfill, {\n\t\t// To ensure proper interoperability with other native functions (e.g. Array.from)\n\t\t// fallback to eventual native implementation of given symbol\n\t\thasInstance: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.hasInstance) || SymbolPolyfill(\"hasInstance\")\n\t\t),\n\t\tisConcatSpreadable: d(\n\t\t\t\"\",\n\t\t\t(NativeSymbol && NativeSymbol.isConcatSpreadable) ||\n\t\t\t\tSymbolPolyfill(\"isConcatSpreadable\")\n\t\t),\n\t\titerator: d(\"\", (NativeSymbol && NativeSymbol.iterator) || SymbolPolyfill(\"iterator\")),\n\t\tmatch: d(\"\", (NativeSymbol && NativeSymbol.match) || SymbolPolyfill(\"match\")),\n\t\treplace: d(\"\", (NativeSymbol && NativeSymbol.replace) || SymbolPolyfill(\"replace\")),\n\t\tsearch: d(\"\", (NativeSymbol && NativeSymbol.search) || SymbolPolyfill(\"search\")),\n\t\tspecies: d(\"\", (NativeSymbol && NativeSymbol.species) || SymbolPolyfill(\"species\")),\n\t\tsplit: d(\"\", (NativeSymbol && NativeSymbol.split) || SymbolPolyfill(\"split\")),\n\t\ttoPrimitive: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.toPrimitive) || SymbolPolyfill(\"toPrimitive\")\n\t\t),\n\t\ttoStringTag: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.toStringTag) || SymbolPolyfill(\"toStringTag\")\n\t\t),\n\t\tunscopables: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.unscopables) || SymbolPolyfill(\"unscopables\")\n\t\t)\n\t});\n};\n", "\"use strict\";\n\nvar d = require(\"d\")\n , validateSymbol = require(\"../../../validate-symbol\");\n\nvar registry = Object.create(null);\n\nmodule.exports = function (SymbolPolyfill) {\n\treturn Object.defineProperties(SymbolPolyfill, {\n\t\tfor: d(function (key) {\n\t\t\tif (registry[key]) return registry[key];\n\t\t\treturn (registry[key] = SymbolPolyfill(String(key)));\n\t\t}),\n\t\tkeyFor: d(function (symbol) {\n\t\t\tvar key;\n\t\t\tvalidateSymbol(symbol);\n\t\t\tfor (key in registry) {\n\t\t\t\tif (registry[key] === symbol) return key;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t})\n\t});\n};\n", "// ES2015 Symbol polyfill for environments that do not (or partially) support it\n\n\"use strict\";\n\nvar d = require(\"d\")\n , validateSymbol = require(\"./validate-symbol\")\n , NativeSymbol = require(\"ext/global-this\").Symbol\n , generateName = require(\"./lib/private/generate-name\")\n , setupStandardSymbols = require(\"./lib/private/setup/standard-symbols\")\n , setupSymbolRegistry = require(\"./lib/private/setup/symbol-registry\");\n\nvar create = Object.create\n , defineProperties = Object.defineProperties\n , defineProperty = Object.defineProperty;\n\nvar SymbolPolyfill, HiddenSymbol, isNativeSafe;\n\nif (typeof NativeSymbol === \"function\") {\n\ttry {\n\t\tString(NativeSymbol());\n\t\tisNativeSafe = true;\n\t} catch (ignore) {}\n} else {\n\tNativeSymbol = null;\n}\n\n// Internal constructor (not one exposed) for creating Symbol instances.\n// This one is used to ensure that `someSymbol instanceof Symbol` always return false\nHiddenSymbol = function Symbol(description) {\n\tif (this instanceof HiddenSymbol) throw new TypeError(\"Symbol is not a constructor\");\n\treturn SymbolPolyfill(description);\n};\n\n// Exposed `Symbol` constructor\n// (returns instances of HiddenSymbol)\nmodule.exports = SymbolPolyfill = function Symbol(description) {\n\tvar symbol;\n\tif (this instanceof Symbol) throw new TypeError(\"Symbol is not a constructor\");\n\tif (isNativeSafe) return NativeSymbol(description);\n\tsymbol = create(HiddenSymbol.prototype);\n\tdescription = description === undefined ? \"\" : String(description);\n\treturn defineProperties(symbol, {\n\t\t__description__: d(\"\", description),\n\t\t__name__: d(\"\", generateName(description))\n\t});\n};\n\nsetupStandardSymbols(SymbolPolyfill);\nsetupSymbolRegistry(SymbolPolyfill);\n\n// Internal tweaks for real symbol producer\ndefineProperties(HiddenSymbol.prototype, {\n\tconstructor: d(SymbolPolyfill),\n\ttoString: d(\"\", function () { return this.__name__; })\n});\n\n// Proper implementation of methods exposed on Symbol.prototype\n// They won't be accessible on produced symbol instances as they derive from HiddenSymbol.prototype\ndefineProperties(SymbolPolyfill.prototype, {\n\ttoString: d(function () { return \"Symbol (\" + validateSymbol(this).__description__ + \")\"; }),\n\tvalueOf: d(function () { return validateSymbol(this); })\n});\ndefineProperty(\n\tSymbolPolyfill.prototype, SymbolPolyfill.toPrimitive,\n\td(\"\", function () {\n\t\tvar symbol = validateSymbol(this);\n\t\tif (typeof symbol === \"symbol\") return symbol;\n\t\treturn symbol.toString();\n\t})\n);\ndefineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toStringTag, d(\"c\", \"Symbol\"));\n\n// Proper implementaton of toPrimitive and toStringTag for returned symbol instances\ndefineProperty(\n\tHiddenSymbol.prototype, SymbolPolyfill.toStringTag,\n\td(\"c\", SymbolPolyfill.prototype[SymbolPolyfill.toStringTag])\n);\n\n// Note: It's important to define `toPrimitive` as last one, as some implementations\n// implement `toPrimitive` natively without implementing `toStringTag` (or other specified symbols)\n// And that may invoke error in definition flow:\n// See: https://github.com/medikoo/es6-symbol/issues/13#issuecomment-164146149\ndefineProperty(\n\tHiddenSymbol.prototype, SymbolPolyfill.toPrimitive,\n\td(\"c\", SymbolPolyfill.prototype[SymbolPolyfill.toPrimitive])\n);\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")()\n\t? require(\"ext/global-this\").Symbol\n\t: require(\"./polyfill\");\n", "// Inspired by Google Closure:\n// http://closure-library.googlecode.com/svn/docs/\n// closure_goog_array_array.js.html#goog.array.clear\n\n\"use strict\";\n\nvar value = require(\"../../object/valid-value\");\n\nmodule.exports = function () {\n\tvalue(this).length = 0;\n\treturn this;\n};\n", "\"use strict\";\n\nmodule.exports = function (fn) {\n\tif (typeof fn !== \"function\") throw new TypeError(fn + \" is not a function\");\n\treturn fn;\n};\n", "\"use strict\";\n\nvar isValue = require(\"../value/is\")\n , isObject = require(\"../object/is\");\n\nvar objectToString = Object.prototype.toString;\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) return null;\n\tif (isObject(value)) {\n\t\t// Reject Object.prototype.toString coercion\n\t\tvar valueToString = value.toString;\n\t\tif (typeof valueToString !== \"function\") return null;\n\t\tif (valueToString === objectToString) return null;\n\t\t// Note: It can be object coming from other realm, still as there's no ES3 and CSP compliant\n\t\t// way to resolve its realm's Object.prototype.toString it's left as not addressed edge case\n\t}\n\ttry {\n\t\treturn \"\" + value; // Ensure implicit coercion\n\t} catch (error) {\n\t\treturn null;\n\t}\n};\n", "\"use strict\";\n\nmodule.exports = function (value) {\n\ttry {\n\t\treturn value.toString();\n\t} catch (error) {\n\t\ttry { return String(value); }\n\t\tcatch (error2) { return null; }\n\t}\n};\n", "\"use strict\";\n\nvar safeToString = require(\"./safe-to-string\");\n\nvar reNewLine = /[\\n\\r\\u2028\\u2029]/g;\n\nmodule.exports = function (value) {\n\tvar string = safeToString(value);\n\tif (string === null) return \"<Non-coercible to string value>\";\n\t// Trim if too long\n\tif (string.length > 100) string = string.slice(0, 99) + \"\u2026\";\n\t// Replace eventual new lines\n\tstring = string.replace(reNewLine, function (char) {\n\t\tswitch (char) {\n\t\t\tcase \"\\n\":\n\t\t\t\treturn \"\\\\n\";\n\t\t\tcase \"\\r\":\n\t\t\t\treturn \"\\\\r\";\n\t\t\tcase \"\\u2028\":\n\t\t\t\treturn \"\\\\u2028\";\n\t\t\tcase \"\\u2029\":\n\t\t\t\treturn \"\\\\u2029\";\n\t\t\t/* istanbul ignore next */\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"Unexpected character\");\n\t\t}\n\t});\n\treturn string;\n};\n", "\"use strict\";\n\nvar stringCoerce = require(\"../string/coerce\")\n , toShortString = require(\"./to-short-string\");\n\nmodule.exports = function (errorMessage, value, inputOptions) {\n\tif (inputOptions && inputOptions.errorMessage) {\n\t\terrorMessage = stringCoerce(inputOptions.errorMessage);\n\t}\n\n\tvar valueInsertIndex = errorMessage.indexOf(\"%v\");\n\tvar valueToken = valueInsertIndex > -1 ? toShortString(value) : null;\n\tif (inputOptions && inputOptions.name) {\n\t\tvar nameInsertIndex = errorMessage.indexOf(\"%n\");\n\t\tif (nameInsertIndex > -1) {\n\t\t\tif (valueInsertIndex > -1) {\n\t\t\t\tvar firstToken, secondToken, firstInsertIndex, secondInsertIndex;\n\t\t\t\tif (nameInsertIndex > valueInsertIndex) {\n\t\t\t\t\tfirstToken = valueToken;\n\t\t\t\t\tfirstInsertIndex = valueInsertIndex;\n\t\t\t\t\tsecondToken = inputOptions.name;\n\t\t\t\t\tsecondInsertIndex = nameInsertIndex;\n\t\t\t\t} else {\n\t\t\t\t\tfirstToken = inputOptions.name;\n\t\t\t\t\tfirstInsertIndex = nameInsertIndex;\n\t\t\t\t\tsecondToken = valueToken;\n\t\t\t\t\tsecondInsertIndex = valueInsertIndex;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\terrorMessage.slice(0, firstInsertIndex) +\n\t\t\t\t\tfirstToken +\n\t\t\t\t\terrorMessage.slice(firstInsertIndex + 2, secondInsertIndex) +\n\t\t\t\t\tsecondToken +\n\t\t\t\t\terrorMessage.slice(secondInsertIndex + 2)\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn (\n\t\t\t\terrorMessage.slice(0, nameInsertIndex) +\n\t\t\t\tinputOptions.name +\n\t\t\t\terrorMessage.slice(nameInsertIndex + 2)\n\t\t\t);\n\t\t}\n\t}\n\tif (valueInsertIndex > -1) {\n\t\treturn (\n\t\t\terrorMessage.slice(0, valueInsertIndex) +\n\t\t\tvalueToken +\n\t\t\terrorMessage.slice(valueInsertIndex + 2)\n\t\t);\n\t}\n\treturn errorMessage;\n};\n", "\"use strict\";\n\nvar isValue = require(\"../value/is\")\n , resolveErrorMessage = require(\"./resolve-error-message\");\n\nmodule.exports = function (value, defaultMessage, inputOptions) {\n\tif (inputOptions && !isValue(value)) {\n\t\tif (\"default\" in inputOptions) return inputOptions[\"default\"];\n\t\tif (inputOptions.isOptional) return null;\n\t}\n\tvar ErrorConstructor = (inputOptions && inputOptions.Error) || TypeError;\n\tvar error = new ErrorConstructor(resolveErrorMessage(defaultMessage, value, inputOptions));\n\tif (inputOptions && inputOptions.errorCode) error.code = inputOptions.errorCode;\n\tthrow error;\n};\n", "\"use strict\";\n\nvar resolveException = require(\"../lib/resolve-exception\")\n , is = require(\"./is\");\n\nmodule.exports = function (value/*, options*/) {\n\tif (is(value)) return value;\n\tvar options = arguments[1];\n\tvar errorMessage =\n\t\toptions && options.name ? \"Expected a value for %n, received %v\" : \"Cannot use %v\";\n\treturn resolveException(value, errorMessage, options);\n};\n", "\"use strict\";\n\nvar resolveException = require(\"../lib/resolve-exception\")\n , is = require(\"./is\");\n\nmodule.exports = function (value/*, options*/) {\n\tif (is(value)) return value;\n\tvar options = arguments[1];\n\tvar errorMessage =\n\t\toptions && options.name\n\t\t\t? \"Expected a plain function for %n, received %v\"\n\t\t\t: \"%v is not a plain function\";\n\treturn resolveException(value, errorMessage, options);\n};\n", "\"use strict\";\n\nmodule.exports = function () {\n\tvar from = Array.from, arr, result;\n\tif (typeof from !== \"function\") return false;\n\tarr = [\"raz\", \"dwa\"];\n\tresult = from(arr);\n\treturn Boolean(result && result !== arr && result[1] === \"dwa\");\n};\n", "\"use strict\";\n\nvar objToString = Object.prototype.toString\n , isFunctionStringTag = RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);\n\nmodule.exports = function (value) {\n\treturn typeof value === \"function\" && isFunctionStringTag(objToString.call(value));\n};\n", "\"use strict\";\n\nmodule.exports = function () {\n\tvar sign = Math.sign;\n\tif (typeof sign !== \"function\") return false;\n\treturn sign(10) === 1 && sign(-20) === -1;\n};\n", "\"use strict\";\n\nmodule.exports = function (value) {\n\tvalue = Number(value);\n\tif (isNaN(value) || value === 0) return value;\n\treturn value > 0 ? 1 : -1;\n};\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Math.sign : require(\"./shim\");\n", "\"use strict\";\n\nvar sign = require(\"../math/sign\")\n , abs = Math.abs\n , floor = Math.floor;\n\nmodule.exports = function (value) {\n\tif (isNaN(value)) return 0;\n\tvalue = Number(value);\n\tif (value === 0 || !isFinite(value)) return value;\n\treturn sign(value) * floor(abs(value));\n};\n", "\"use strict\";\n\nvar toInteger = require(\"./to-integer\")\n , max = Math.max;\n\nmodule.exports = function (value) { return max(0, toInteger(value)); };\n", "\"use strict\";\n\nvar iteratorSymbol = require(\"es6-symbol\").iterator\n , isArguments = require(\"../../function/is-arguments\")\n , isFunction = require(\"../../function/is-function\")\n , toPosInt = require(\"../../number/to-pos-integer\")\n , callable = require(\"../../object/valid-callable\")\n , validValue = require(\"../../object/valid-value\")\n , isValue = require(\"../../object/is-value\")\n , isString = require(\"../../string/is-string\")\n , isArray = Array.isArray\n , call = Function.prototype.call\n , desc = { configurable: true, enumerable: true, writable: true, value: null }\n , defineProperty = Object.defineProperty;\n\n// eslint-disable-next-line complexity, max-lines-per-function\nmodule.exports = function (arrayLike /*, mapFn, thisArg*/) {\n\tvar mapFn = arguments[1]\n\t , thisArg = arguments[2]\n\t , Context\n\t , i\n\t , j\n\t , arr\n\t , length\n\t , code\n\t , iterator\n\t , result\n\t , getIterator\n\t , value;\n\n\tarrayLike = Object(validValue(arrayLike));\n\n\tif (isValue(mapFn)) callable(mapFn);\n\tif (!this || this === Array || !isFunction(this)) {\n\t\t// Result: Plain array\n\t\tif (!mapFn) {\n\t\t\tif (isArguments(arrayLike)) {\n\t\t\t\t// Source: Arguments\n\t\t\t\tlength = arrayLike.length;\n\t\t\t\tif (length !== 1) return Array.apply(null, arrayLike);\n\t\t\t\tarr = new Array(1);\n\t\t\t\tarr[0] = arrayLike[0];\n\t\t\t\treturn arr;\n\t\t\t}\n\t\t\tif (isArray(arrayLike)) {\n\t\t\t\t// Source: Array\n\t\t\t\tarr = new Array((length = arrayLike.length));\n\t\t\t\tfor (i = 0; i < length; ++i) arr[i] = arrayLike[i];\n\t\t\t\treturn arr;\n\t\t\t}\n\t\t}\n\t\tarr = [];\n\t} else {\n\t\t// Result: Non plain array\n\t\tContext = this;\n\t}\n\n\tif (!isArray(arrayLike)) {\n\t\tif ((getIterator = arrayLike[iteratorSymbol]) !== undefined) {\n\t\t\t// Source: Iterator\n\t\t\titerator = callable(getIterator).call(arrayLike);\n\t\t\tif (Context) arr = new Context();\n\t\t\tresult = iterator.next();\n\t\t\ti = 0;\n\t\t\twhile (!result.done) {\n\t\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, result.value, i) : result.value;\n\t\t\t\tif (Context) {\n\t\t\t\t\tdesc.value = value;\n\t\t\t\t\tdefineProperty(arr, i, desc);\n\t\t\t\t} else {\n\t\t\t\t\tarr[i] = value;\n\t\t\t\t}\n\t\t\t\tresult = iterator.next();\n\t\t\t\t++i;\n\t\t\t}\n\t\t\tlength = i;\n\t\t} else if (isString(arrayLike)) {\n\t\t\t// Source: String\n\t\t\tlength = arrayLike.length;\n\t\t\tif (Context) arr = new Context();\n\t\t\tfor (i = 0, j = 0; i < length; ++i) {\n\t\t\t\tvalue = arrayLike[i];\n\t\t\t\tif (i + 1 < length) {\n\t\t\t\t\tcode = value.charCodeAt(0);\n\t\t\t\t\t// eslint-disable-next-line max-depth\n\t\t\t\t\tif (code >= 0xd800 && code <= 0xdbff) value += arrayLike[++i];\n\t\t\t\t}\n\t\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, value, j) : value;\n\t\t\t\tif (Context) {\n\t\t\t\t\tdesc.value = value;\n\t\t\t\t\tdefineProperty(arr, j, desc);\n\t\t\t\t} else {\n\t\t\t\t\tarr[j] = value;\n\t\t\t\t}\n\t\t\t\t++j;\n\t\t\t}\n\t\t\tlength = j;\n\t\t}\n\t}\n\tif (length === undefined) {\n\t\t// Source: array or array-like\n\t\tlength = toPosInt(arrayLike.length);\n\t\tif (Context) arr = new Context(length);\n\t\tfor (i = 0; i < length; ++i) {\n\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, arrayLike[i], i) : arrayLike[i];\n\t\t\tif (Context) {\n\t\t\t\tdesc.value = value;\n\t\t\t\tdefineProperty(arr, i, desc);\n\t\t\t} else {\n\t\t\t\tarr[i] = value;\n\t\t\t}\n\t\t}\n\t}\n\tif (Context) {\n\t\tdesc.value = null;\n\t\tarr.length = length;\n\t}\n\treturn arr;\n};\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Array.from : require(\"./shim\");\n", "\"use strict\";\n\nvar aFrom = require(\"../array/from\")\n , assign = require(\"./assign\")\n , value = require(\"./valid-value\");\n\nmodule.exports = function (obj /*, propertyNames, options*/) {\n\tvar copy = Object(value(obj)), propertyNames = arguments[1], options = Object(arguments[2]);\n\tif (copy !== obj && !propertyNames) return copy;\n\tvar result = {};\n\tif (propertyNames) {\n\t\taFrom(propertyNames, function (propertyName) {\n\t\t\tif (options.ensure || propertyName in obj) result[propertyName] = obj[propertyName];\n\t\t});\n\t} else {\n\t\tassign(result, obj);\n\t}\n\treturn result;\n};\n", "// Internal method, used by iteration functions.\n// Calls a function for each key-value pair found in object\n// Optionally takes compareFn to iterate object in specific order\n\n\"use strict\";\n\nvar callable = require(\"./valid-callable\")\n , value = require(\"./valid-value\")\n , bind = Function.prototype.bind\n , call = Function.prototype.call\n , keys = Object.keys\n , objPropertyIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nmodule.exports = function (method, defVal) {\n\treturn function (obj, cb /*, thisArg, compareFn*/) {\n\t\tvar list, thisArg = arguments[2], compareFn = arguments[3];\n\t\tobj = Object(value(obj));\n\t\tcallable(cb);\n\n\t\tlist = keys(obj);\n\t\tif (compareFn) {\n\t\t\tlist.sort(typeof compareFn === \"function\" ? bind.call(compareFn, obj) : undefined);\n\t\t}\n\t\tif (typeof method !== \"function\") method = list[method];\n\t\treturn call.call(method, list, function (key, index) {\n\t\t\tif (!objPropertyIsEnumerable.call(obj, key)) return defVal;\n\t\t\treturn call.call(cb, thisArg, obj[key], key, obj, index);\n\t\t});\n\t};\n};\n", "\"use strict\";\n\nmodule.exports = require(\"./_iterate\")(\"forEach\");\n", "\"use strict\";\n\nvar callable = require(\"./valid-callable\")\n , forEach = require(\"./for-each\")\n , call = Function.prototype.call;\n\nmodule.exports = function (obj, cb /*, thisArg*/) {\n\tvar result = {}, thisArg = arguments[2];\n\tcallable(cb);\n\tforEach(obj, function (value, key, targetObj, index) {\n\t\tresult[key] = call.call(cb, thisArg, value, key, targetObj, index);\n\t});\n\treturn result;\n};\n", "\"use strict\";\n\nvar isValue = require(\"type/value/is\")\n , ensureValue = require(\"type/value/ensure\")\n , ensurePlainFunction = require(\"type/plain-function/ensure\")\n , copy = require(\"es5-ext/object/copy\")\n , normalizeOptions = require(\"es5-ext/object/normalize-options\")\n , map = require(\"es5-ext/object/map\");\n\nvar bind = Function.prototype.bind\n , defineProperty = Object.defineProperty\n , hasOwnProperty = Object.prototype.hasOwnProperty\n , define;\n\ndefine = function (name, desc, options) {\n\tvar value = ensureValue(desc) && ensurePlainFunction(desc.value), dgs;\n\tdgs = copy(desc);\n\tdelete dgs.writable;\n\tdelete dgs.value;\n\tdgs.get = function () {\n\t\tif (!options.overwriteDefinition && hasOwnProperty.call(this, name)) return value;\n\t\tdesc.value = bind.call(value, options.resolveContext ? options.resolveContext(this) : this);\n\t\tdefineProperty(this, name, desc);\n\t\treturn this[name];\n\t};\n\treturn dgs;\n};\n\nmodule.exports = function (props/*, options*/) {\n\tvar options = normalizeOptions(arguments[1]);\n\tif (isValue(options.resolveContext)) ensurePlainFunction(options.resolveContext);\n\treturn map(props, function (desc, name) { return define(name, desc, options); });\n};\n", "\"use strict\";\n\nvar clear = require(\"es5-ext/array/#/clear\")\n , assign = require(\"es5-ext/object/assign\")\n , callable = require(\"es5-ext/object/valid-callable\")\n , value = require(\"es5-ext/object/valid-value\")\n , d = require(\"d\")\n , autoBind = require(\"d/auto-bind\")\n , Symbol = require(\"es6-symbol\");\n\nvar defineProperty = Object.defineProperty, defineProperties = Object.defineProperties, Iterator;\n\nmodule.exports = Iterator = function (list, context) {\n\tif (!(this instanceof Iterator)) throw new TypeError(\"Constructor requires 'new'\");\n\tdefineProperties(this, {\n\t\t__list__: d(\"w\", value(list)),\n\t\t__context__: d(\"w\", context),\n\t\t__nextIndex__: d(\"w\", 0)\n\t});\n\tif (!context) return;\n\tcallable(context.on);\n\tcontext.on(\"_add\", this._onAdd);\n\tcontext.on(\"_delete\", this._onDelete);\n\tcontext.on(\"_clear\", this._onClear);\n};\n\n// Internal %IteratorPrototype% doesn't expose its constructor\ndelete Iterator.prototype.constructor;\n\ndefineProperties(\n\tIterator.prototype,\n\tassign(\n\t\t{\n\t\t\t_next: d(function () {\n\t\t\t\tvar i;\n\t\t\t\tif (!this.__list__) return undefined;\n\t\t\t\tif (this.__redo__) {\n\t\t\t\t\ti = this.__redo__.shift();\n\t\t\t\t\tif (i !== undefined) return i;\n\t\t\t\t}\n\t\t\t\tif (this.__nextIndex__ < this.__list__.length) return this.__nextIndex__++;\n\t\t\t\tthis._unBind();\n\t\t\t\treturn undefined;\n\t\t\t}),\n\t\t\tnext: d(function () {\n\t\t\t\treturn this._createResult(this._next());\n\t\t\t}),\n\t\t\t_createResult: d(function (i) {\n\t\t\t\tif (i === undefined) return { done: true, value: undefined };\n\t\t\t\treturn { done: false, value: this._resolve(i) };\n\t\t\t}),\n\t\t\t_resolve: d(function (i) {\n\t\t\t\treturn this.__list__[i];\n\t\t\t}),\n\t\t\t_unBind: d(function () {\n\t\t\t\tthis.__list__ = null;\n\t\t\t\tdelete this.__redo__;\n\t\t\t\tif (!this.__context__) return;\n\t\t\t\tthis.__context__.off(\"_add\", this._onAdd);\n\t\t\t\tthis.__context__.off(\"_delete\", this._onDelete);\n\t\t\t\tthis.__context__.off(\"_clear\", this._onClear);\n\t\t\t\tthis.__context__ = null;\n\t\t\t}),\n\t\t\ttoString: d(function () {\n\t\t\t\treturn \"[object \" + (this[Symbol.toStringTag] || \"Object\") + \"]\";\n\t\t\t})\n\t\t},\n\t\tautoBind({\n\t\t\t_onAdd: d(function (index) {\n\t\t\t\tif (index >= this.__nextIndex__) return;\n\t\t\t\t++this.__nextIndex__;\n\t\t\t\tif (!this.__redo__) {\n\t\t\t\t\tdefineProperty(this, \"__redo__\", d(\"c\", [index]));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.__redo__.forEach(function (redo, i) {\n\t\t\t\t\tif (redo >= index) this.__redo__[i] = ++redo;\n\t\t\t\t}, this);\n\t\t\t\tthis.__redo__.push(index);\n\t\t\t}),\n\t\t\t_onDelete: d(function (index) {\n\t\t\t\tvar i;\n\t\t\t\tif (index >= this.__nextIndex__) return;\n\t\t\t\t--this.__nextIndex__;\n\t\t\t\tif (!this.__redo__) return;\n\t\t\t\ti = this.__redo__.indexOf(index);\n\t\t\t\tif (i !== -1) this.__redo__.splice(i, 1);\n\t\t\t\tthis.__redo__.forEach(function (redo, j) {\n\t\t\t\t\tif (redo > index) this.__redo__[j] = --redo;\n\t\t\t\t}, this);\n\t\t\t}),\n\t\t\t_onClear: d(function () {\n\t\t\t\tif (this.__redo__) clear.call(this.__redo__);\n\t\t\t\tthis.__nextIndex__ = 0;\n\t\t\t})\n\t\t})\n\t)\n);\n\ndefineProperty(\n\tIterator.prototype,\n\tSymbol.iterator,\n\td(function () {\n\t\treturn this;\n\t})\n);\n", "\"use strict\";\n\nvar setPrototypeOf = require(\"es5-ext/object/set-prototype-of\")\n , contains = require(\"es5-ext/string/#/contains\")\n , d = require(\"d\")\n , Symbol = require(\"es6-symbol\")\n , Iterator = require(\"./\");\n\nvar defineProperty = Object.defineProperty, ArrayIterator;\n\nArrayIterator = module.exports = function (arr, kind) {\n\tif (!(this instanceof ArrayIterator)) throw new TypeError(\"Constructor requires 'new'\");\n\tIterator.call(this, arr);\n\tif (!kind) kind = \"value\";\n\telse if (contains.call(kind, \"key+value\")) kind = \"key+value\";\n\telse if (contains.call(kind, \"key\")) kind = \"key\";\n\telse kind = \"value\";\n\tdefineProperty(this, \"__kind__\", d(\"\", kind));\n};\nif (setPrototypeOf) setPrototypeOf(ArrayIterator, Iterator);\n\n// Internal %ArrayIteratorPrototype% doesn't expose its constructor\ndelete ArrayIterator.prototype.constructor;\n\nArrayIterator.prototype = Object.create(Iterator.prototype, {\n\t_resolve: d(function (i) {\n\t\tif (this.__kind__ === \"value\") return this.__list__[i];\n\t\tif (this.__kind__ === \"key+value\") return [i, this.__list__[i]];\n\t\treturn i;\n\t})\n});\ndefineProperty(ArrayIterator.prototype, Symbol.toStringTag, d(\"c\", \"Array Iterator\"));\n", "// Thanks @mathiasbynens\n// http://mathiasbynens.be/notes/javascript-unicode#iterating-over-symbols\n\n\"use strict\";\n\nvar setPrototypeOf = require(\"es5-ext/object/set-prototype-of\")\n , d = require(\"d\")\n , Symbol = require(\"es6-symbol\")\n , Iterator = require(\"./\");\n\nvar defineProperty = Object.defineProperty, StringIterator;\n\nStringIterator = module.exports = function (str) {\n\tif (!(this instanceof StringIterator)) throw new TypeError(\"Constructor requires 'new'\");\n\tstr = String(str);\n\tIterator.call(this, str);\n\tdefineProperty(this, \"__length__\", d(\"\", str.length));\n};\nif (setPrototypeOf) setPrototypeOf(StringIterator, Iterator);\n\n// Internal %ArrayIteratorPrototype% doesn't expose its constructor\ndelete StringIterator.prototype.constructor;\n\nStringIterator.prototype = Object.create(Iterator.prototype, {\n\t_next: d(function () {\n\t\tif (!this.__list__) return undefined;\n\t\tif (this.__nextIndex__ < this.__length__) return this.__nextIndex__++;\n\t\tthis._unBind();\n\t\treturn undefined;\n\t}),\n\t_resolve: d(function (i) {\n\t\tvar char = this.__list__[i], code;\n\t\tif (this.__nextIndex__ === this.__length__) return char;\n\t\tcode = char.charCodeAt(0);\n\t\tif (code >= 0xd800 && code <= 0xdbff) return char + this.__list__[this.__nextIndex__++];\n\t\treturn char;\n\t})\n});\ndefineProperty(StringIterator.prototype, Symbol.toStringTag, d(\"c\", \"String Iterator\"));\n", "\"use strict\";\n\nvar isArguments = require(\"es5-ext/function/is-arguments\")\n , isValue = require(\"es5-ext/object/is-value\")\n , isString = require(\"es5-ext/string/is-string\");\n\nvar iteratorSymbol = require(\"es6-symbol\").iterator\n , isArray = Array.isArray;\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) return false;\n\tif (isArray(value)) return true;\n\tif (isString(value)) return true;\n\tif (isArguments(value)) return true;\n\treturn typeof value[iteratorSymbol] === \"function\";\n};\n", "\"use strict\";\n\nvar isIterable = require(\"./is-iterable\");\n\nmodule.exports = function (value) {\n\tif (!isIterable(value)) throw new TypeError(value + \" is not iterable\");\n\treturn value;\n};\n", "\"use strict\";\n\nvar isArguments = require(\"es5-ext/function/is-arguments\")\n , isString = require(\"es5-ext/string/is-string\")\n , ArrayIterator = require(\"./array\")\n , StringIterator = require(\"./string\")\n , iterable = require(\"./valid-iterable\")\n , iteratorSymbol = require(\"es6-symbol\").iterator;\n\nmodule.exports = function (obj) {\n\tif (typeof iterable(obj)[iteratorSymbol] === \"function\") return obj[iteratorSymbol]();\n\tif (isArguments(obj)) return new ArrayIterator(obj);\n\tif (isString(obj)) return new StringIterator(obj);\n\treturn new ArrayIterator(obj);\n};\n", "\"use strict\";\n\nvar isArguments = require(\"es5-ext/function/is-arguments\")\n , callable = require(\"es5-ext/object/valid-callable\")\n , isString = require(\"es5-ext/string/is-string\")\n , get = require(\"./get\");\n\nvar isArray = Array.isArray, call = Function.prototype.call, some = Array.prototype.some;\n\nmodule.exports = function (iterable, cb /*, thisArg*/) {\n\tvar mode, thisArg = arguments[2], result, doBreak, broken, i, length, char, code;\n\tif (isArray(iterable) || isArguments(iterable)) mode = \"array\";\n\telse if (isString(iterable)) mode = \"string\";\n\telse iterable = get(iterable);\n\n\tcallable(cb);\n\tdoBreak = function () {\n\t\tbroken = true;\n\t};\n\tif (mode === \"array\") {\n\t\tsome.call(iterable, function (value) {\n\t\t\tcall.call(cb, thisArg, value, doBreak);\n\t\t\treturn broken;\n\t\t});\n\t\treturn;\n\t}\n\tif (mode === \"string\") {\n\t\tlength = iterable.length;\n\t\tfor (i = 0; i < length; ++i) {\n\t\t\tchar = iterable[i];\n\t\t\tif (i + 1 < length) {\n\t\t\t\tcode = char.charCodeAt(0);\n\t\t\t\tif (code >= 0xd800 && code <= 0xdbff) char += iterable[++i];\n\t\t\t}\n\t\t\tcall.call(cb, thisArg, char, doBreak);\n\t\t\tif (broken) break;\n\t\t}\n\t\treturn;\n\t}\n\tresult = iterable.next();\n\n\twhile (!result.done) {\n\t\tcall.call(cb, thisArg, result.value, doBreak);\n\t\tif (broken) return;\n\t\tresult = iterable.next();\n\t}\n};\n", "// Exports true if environment provides native `WeakMap` implementation, whatever that is.\n\n\"use strict\";\n\nmodule.exports = (function () {\n\tif (typeof WeakMap !== \"function\") return false;\n\treturn Object.prototype.toString.call(new WeakMap()) === \"[object WeakMap]\";\n}());\n", "\"use strict\";\n\nvar isValue = require(\"es5-ext/object/is-value\")\n , setPrototypeOf = require(\"es5-ext/object/set-prototype-of\")\n , object = require(\"es5-ext/object/valid-object\")\n , ensureValue = require(\"es5-ext/object/valid-value\")\n , randomUniq = require(\"es5-ext/string/random-uniq\")\n , d = require(\"d\")\n , getIterator = require(\"es6-iterator/get\")\n , forOf = require(\"es6-iterator/for-of\")\n , toStringTagSymbol = require(\"es6-symbol\").toStringTag\n , isNative = require(\"./is-native-implemented\")\n\n , isArray = Array.isArray, defineProperty = Object.defineProperty\n , objHasOwnProperty = Object.prototype.hasOwnProperty, getPrototypeOf = Object.getPrototypeOf\n , WeakMapPoly;\n\nmodule.exports = WeakMapPoly = function (/* Iterable*/) {\n\tvar iterable = arguments[0], self;\n\n\tif (!(this instanceof WeakMapPoly)) throw new TypeError(\"Constructor requires 'new'\");\n\tself = isNative && setPrototypeOf && (WeakMap !== WeakMapPoly)\n\t\t? setPrototypeOf(new WeakMap(), getPrototypeOf(this)) : this;\n\n\tif (isValue(iterable)) {\n\t\tif (!isArray(iterable)) iterable = getIterator(iterable);\n\t}\n\tdefineProperty(self, \"__weakMapData__\", d(\"c\", \"$weakMap$\" + randomUniq()));\n\tif (!iterable) return self;\n\tforOf(iterable, function (val) {\n\t\tensureValue(val);\n\t\tself.set(val[0], val[1]);\n\t});\n\treturn self;\n};\n\nif (isNative) {\n\tif (setPrototypeOf) setPrototypeOf(WeakMapPoly, WeakMap);\n\tWeakMapPoly.prototype = Object.create(WeakMap.prototype, { constructor: d(WeakMapPoly) });\n}\n\nObject.defineProperties(WeakMapPoly.prototype, {\n\tdelete: d(function (key) {\n\t\tif (objHasOwnProperty.call(object(key), this.__weakMapData__)) {\n\t\t\tdelete key[this.__weakMapData__];\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}),\n\tget: d(function (key) {\n\t\tif (!objHasOwnProperty.call(object(key), this.__weakMapData__)) return undefined;\n\t\treturn key[this.__weakMapData__];\n\t}),\n\thas: d(function (key) {\n\t\treturn objHasOwnProperty.call(object(key), this.__weakMapData__);\n\t}),\n\tset: d(function (key, value) {\n\t\tdefineProperty(object(key), this.__weakMapData__, d(\"c\", value));\n\t\treturn this;\n\t}),\n\ttoString: d(function () {\n\t\treturn \"[object WeakMap]\";\n\t})\n});\ndefineProperty(WeakMapPoly.prototype, toStringTagSymbol, d(\"c\", \"WeakMap\"));\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? WeakMap : require(\"./polyfill\");\n", "module.exports = [\n { name: 'black', hex: '#000000' },\n { name: 'blue', hex: '#0000FF' },\n { name: 'cyan', hex: '#00FFFF' },\n { name: 'green', hex: '#008000' },\n { name: 'teal', hex: '#008080' },\n { name: 'turquoise', hex: '#40E0D0' },\n { name: 'indigo', hex: '#4B0082' },\n { name: 'gray', hex: '#808080' },\n { name: 'purple', hex: '#800080' },\n { name: 'brown', hex: '#A52A2A' },\n { name: 'tan', hex: '#D2B48C' },\n { name: 'violet', hex: '#EE82EE' },\n { name: 'beige', hex: '#F5F5DC' },\n { name: 'fuchsia', hex: '#FF00FF' },\n { name: 'gold', hex: '#FFD700' },\n { name: 'magenta', hex: '#FF00FF' },\n { name: 'orange', hex: '#FFA500' },\n { name: 'pink', hex: '#FFC0CB' },\n { name: 'red', hex: '#FF0000' },\n { name: 'white', hex: '#FFFFFF' },\n { name: 'yellow', hex: '#FFFF00' }\n]\n", "module.exports = [\n { name: 'aqua', hex: '#00FFFF' },\n { name: 'aliceblue', hex: '#F0F8FF' },\n { name: 'antiquewhite', hex: '#FAEBD7' },\n { name: 'black', hex: '#000000' },\n { name: 'blue', hex: '#0000FF' },\n { name: 'cyan', hex: '#00FFFF' },\n { name: 'darkblue', hex: '#00008B' },\n { name: 'darkcyan', hex: '#008B8B' },\n { name: 'darkgreen', hex: '#006400' },\n { name: 'darkturquoise', hex: '#00CED1' },\n { name: 'deepskyblue', hex: '#00BFFF' },\n { name: 'green', hex: '#008000' },\n { name: 'lime', hex: '#00FF00' },\n { name: 'mediumblue', hex: '#0000CD' },\n { name: 'mediumspringgreen', hex: '#00FA9A' },\n { name: 'navy', hex: '#000080' },\n { name: 'springgreen', hex: '#00FF7F' },\n { name: 'teal', hex: '#008080' },\n { name: 'midnightblue', hex: '#191970' },\n { name: 'dodgerblue', hex: '#1E90FF' },\n { name: 'lightseagreen', hex: '#20B2AA' },\n { name: 'forestgreen', hex: '#228B22' },\n { name: 'seagreen', hex: '#2E8B57' },\n { name: 'darkslategray', hex: '#2F4F4F' },\n { name: 'darkslategrey', hex: '#2F4F4F' },\n { name: 'limegreen', hex: '#32CD32' },\n { name: 'mediumseagreen', hex: '#3CB371' },\n { name: 'turquoise', hex: '#40E0D0' },\n { name: 'royalblue', hex: '#4169E1' },\n { name: 'steelblue', hex: '#4682B4' },\n { name: 'darkslateblue', hex: '#483D8B' },\n { name: 'mediumturquoise', hex: '#48D1CC' },\n { name: 'indigo', hex: '#4B0082' },\n { name: 'darkolivegreen', hex: '#556B2F' },\n { name: 'cadetblue', hex: '#5F9EA0' },\n { name: 'cornflowerblue', hex: '#6495ED' },\n { name: 'mediumaquamarine', hex: '#66CDAA' },\n { name: 'dimgray', hex: '#696969' },\n { name: 'dimgrey', hex: '#696969' },\n { name: 'slateblue', hex: '#6A5ACD' },\n { name: 'olivedrab', hex: '#6B8E23' },\n { name: 'slategray', hex: '#708090' },\n { name: 'slategrey', hex: '#708090' },\n { name: 'lightslategray', hex: '#778899' },\n { name: 'lightslategrey', hex: '#778899' },\n { name: 'mediumslateblue', hex: '#7B68EE' },\n { name: 'lawngreen', hex: '#7CFC00' },\n { name: 'aquamarine', hex: '#7FFFD4' },\n { name: 'chartreuse', hex: '#7FFF00' },\n { name: 'gray', hex: '#808080' },\n { name: 'grey', hex: '#808080' },\n { name: 'maroon', hex: '#800000' },\n { name: 'olive', hex: '#808000' },\n { name: 'purple', hex: '#800080' },\n { name: 'lightskyblue', hex: '#87CEFA' },\n { name: 'skyblue', hex: '#87CEEB' },\n { name: 'blueviolet', hex: '#8A2BE2' },\n { name: 'darkmagenta', hex: '#8B008B' },\n { name: 'darkred', hex: '#8B0000' },\n { name: 'saddlebrown', hex: '#8B4513' },\n { name: 'darkseagreen', hex: '#8FBC8F' },\n { name: 'lightgreen', hex: '#90EE90' },\n { name: 'mediumpurple', hex: '#9370DB' },\n { name: 'darkviolet', hex: '#9400D3' },\n { name: 'palegreen', hex: '#98FB98' },\n { name: 'darkorchid', hex: '#9932CC' },\n { name: 'yellowgreen', hex: '#9ACD32' },\n { name: 'sienna', hex: '#A0522D' },\n { name: 'brown', hex: '#A52A2A' },\n { name: 'darkgray', hex: '#A9A9A9' },\n { name: 'darkgrey', hex: '#A9A9A9' },\n { name: 'greenyellow', hex: '#ADFF2F' },\n { name: 'lightblue', hex: '#ADD8E6' },\n { name: 'paleturquoise', hex: '#AFEEEE' },\n { name: 'lightsteelblue', hex: '#B0C4DE' },\n { name: 'powderblue', hex: '#B0E0E6' },\n { name: 'firebrick', hex: '#B22222' },\n { name: 'darkgoldenrod', hex: '#B8860B' },\n { name: 'mediumorchid', hex: '#BA55D3' },\n { name: 'rosybrown', hex: '#BC8F8F' },\n { name: 'darkkhaki', hex: '#BDB76B' },\n { name: 'silver', hex: '#C0C0C0' },\n { name: 'mediumvioletred', hex: '#C71585' },\n { name: 'indianred', hex: '#CD5C5C' },\n { name: 'peru', hex: '#CD853F' },\n { name: 'chocolate', hex: '#D2691E' },\n { name: 'tan', hex: '#D2B48C' },\n { name: 'lightgray', hex: '#D3D3D3' },\n { name: 'lightgrey', hex: '#D3D3D3' },\n { name: 'thistle', hex: '#D8BFD8' },\n { name: 'goldenrod', hex: '#DAA520' },\n { name: 'orchid', hex: '#DA70D6' },\n { name: 'palevioletred', hex: '#DB7093' },\n { name: 'crimson', hex: '#DC143C' },\n { name: 'gainsboro', hex: '#DCDCDC' },\n { name: 'plum', hex: '#DDA0DD' },\n { name: 'burlywood', hex: '#DEB887' },\n { name: 'lightcyan', hex: '#E0FFFF' },\n { name: 'lavender', hex: '#E6E6FA' },\n { name: 'darksalmon', hex: '#E9967A' },\n { name: 'palegoldenrod', hex: '#EEE8AA' },\n { name: 'violet', hex: '#EE82EE' },\n { name: 'azure', hex: '#F0FFFF' },\n { name: 'honeydew', hex: '#F0FFF0' },\n { name: 'khaki', hex: '#F0E68C' },\n { name: 'lightcoral', hex: '#F08080' },\n { name: 'sandybrown', hex: '#F4A460' },\n { name: 'beige', hex: '#F5F5DC' },\n { name: 'mintcream', hex: '#F5FFFA' },\n { name: 'wheat', hex: '#F5DEB3' },\n { name: 'whitesmoke', hex: '#F5F5F5' },\n { name: 'ghostwhite', hex: '#F8F8FF' },\n { name: 'lightgoldenrodyellow',\n hex: '#FAFAD2' },\n { name: 'linen', hex: '#FAF0E6' },\n { name: 'salmon', hex: '#FA8072' },\n { name: 'oldlace', hex: '#FDF5E6' },\n { name: 'bisque', hex: '#FFE4C4' },\n { name: 'blanchedalmond', hex: '#FFEBCD' },\n { name: 'coral', hex: '#FF7F50' },\n { name: 'cornsilk', hex: '#FFF8DC' },\n { name: 'darkorange', hex: '#FF8C00' },\n { name: 'deeppink', hex: '#FF1493' },\n { name: 'floralwhite', hex: '#FFFAF0' },\n { name: 'fuchsia', hex: '#FF00FF' },\n { name: 'gold', hex: '#FFD700' },\n { name: 'hotpink', hex: '#FF69B4' },\n { name: 'ivory', hex: '#FFFFF0' },\n { name: 'lavenderblush', hex: '#FFF0F5' },\n { name: 'lemonchiffon', hex: '#FFFACD' },\n { name: 'lightpink', hex: '#FFB6C1' },\n { name: 'lightsalmon', hex: '#FFA07A' },\n { name: 'lightyellow', hex: '#FFFFE0' },\n { name: 'magenta', hex: '#FF00FF' },\n { name: 'mistyrose', hex: '#FFE4E1' },\n { name: 'moccasin', hex: '#FFE4B5' },\n { name: 'navajowhite', hex: '#FFDEAD' },\n { name: 'orange', hex: '#FFA500' },\n { name: 'orangered', hex: '#FF4500' },\n { name: 'papayawhip', hex: '#FFEFD5' },\n { name: 'peachpuff', hex: '#FFDAB9' },\n { name: 'pink', hex: '#FFC0CB' },\n { name: 'red', hex: '#FF0000' },\n { name: 'seashell', hex: '#FFF5EE' },\n { name: 'snow', hex: '#FFFAFA' },\n { name: 'tomato', hex: '#FF6347' },\n { name: 'white', hex: '#FFFFFF' },\n { name: 'yellow', hex: '#FFFF00' }\n]\n", "module.exports = [\n {\n \"name\": \"Black\",\n \"hex\": \"000000\"\n },\n {\n \"name\": \"Navy Blue\",\n \"hex\": \"000080\"\n },\n {\n \"name\": \"Dark Blue\",\n \"hex\": \"0000C8\"\n },\n {\n \"name\": \"Blue\",\n \"hex\": \"0000FF\"\n },\n {\n \"name\": \"Stratos\",\n \"hex\": \"000741\"\n },\n {\n \"name\": \"Swamp\",\n \"hex\": \"001B1C\"\n },\n {\n \"name\": \"Resolution Blue\",\n \"hex\": \"002387\"\n },\n {\n \"name\": \"Deep Fir\",\n \"hex\": \"002900\"\n },\n {\n \"name\": \"Burnham\",\n \"hex\": \"002E20\"\n },\n {\n \"name\": \"International Klein Blue\",\n \"hex\": \"002FA7\"\n },\n {\n \"name\": \"Prussian Blue\",\n \"hex\": \"003153\"\n },\n {\n \"name\": \"Midnight Blue\",\n \"hex\": \"003366\"\n },\n {\n \"name\": \"Smalt\",\n \"hex\": \"003399\"\n },\n {\n \"name\": \"Deep Teal\",\n \"hex\": \"003532\"\n },\n {\n \"name\": \"Cyprus\",\n \"hex\": \"003E40\"\n },\n {\n \"name\": \"Kaitoke Green\",\n \"hex\": \"004620\"\n },\n {\n \"name\": \"Cobalt\",\n \"hex\": \"0047AB\"\n },\n {\n \"name\": \"Crusoe\",\n \"hex\": \"004816\"\n },\n {\n \"name\": \"Sherpa Blue\",\n \"hex\": \"004950\"\n },\n {\n \"name\": \"Endeavour\",\n \"hex\": \"0056A7\"\n },\n {\n \"name\": \"Camarone\",\n \"hex\": \"00581A\"\n },\n {\n \"name\": \"Science Blue\",\n \"hex\": \"0066CC\"\n },\n {\n \"name\": \"Blue Ribbon\",\n \"hex\": \"0066FF\"\n },\n {\n \"name\": \"Tropical Rain Forest\",\n \"hex\": \"00755E\"\n },\n {\n \"name\": \"Allports\",\n \"hex\": \"0076A3\"\n },\n {\n \"name\": \"Deep Cerulean\",\n \"hex\": \"007BA7\"\n },\n {\n \"name\": \"Lochmara\",\n \"hex\": \"007EC7\"\n },\n {\n \"name\": \"Azure Radiance\",\n \"hex\": \"007FFF\"\n },\n {\n \"name\": \"Teal\",\n \"hex\": \"008080\"\n },\n {\n \"name\": \"Bondi Blue\",\n \"hex\": \"0095B6\"\n },\n {\n \"name\": \"Pacific Blue\",\n \"hex\": \"009DC4\"\n },\n {\n \"name\": \"Persian Green\",\n \"hex\": \"00A693\"\n },\n {\n \"name\": \"Jade\",\n \"hex\": \"00A86B\"\n },\n {\n \"name\": \"Caribbean Green\",\n \"hex\": \"00CC99\"\n },\n {\n \"name\": \"Robin's Egg Blue\",\n \"hex\": \"00CCCC\"\n },\n {\n \"name\": \"Green\",\n \"hex\": \"00FF00\"\n },\n {\n \"name\": \"Spring Green\",\n \"hex\": \"00FF7F\"\n },\n {\n \"name\": \"Cyan / Aqua\",\n \"hex\": \"00FFFF\"\n },\n {\n \"name\": \"Blue Charcoal\",\n \"hex\": \"010D1A\"\n },\n {\n \"name\": \"Midnight\",\n \"hex\": \"011635\"\n },\n {\n \"name\": \"Holly\",\n \"hex\": \"011D13\"\n },\n {\n \"name\": \"Daintree\",\n \"hex\": \"012731\"\n },\n {\n \"name\": \"Cardin Green\",\n \"hex\": \"01361C\"\n },\n {\n \"name\": \"County Green\",\n \"hex\": \"01371A\"\n },\n {\n \"name\": \"Astronaut Blue\",\n \"hex\": \"013E62\"\n },\n {\n \"name\": \"Regal Blue\",\n \"hex\": \"013F6A\"\n },\n {\n \"name\": \"Aqua Deep\",\n \"hex\": \"014B43\"\n },\n {\n \"name\": \"Orient\",\n \"hex\": \"015E85\"\n },\n {\n \"name\": \"Blue Stone\",\n \"hex\": \"016162\"\n },\n {\n \"name\": \"Fun Green\",\n \"hex\": \"016D39\"\n },\n {\n \"name\": \"Pine Green\",\n \"hex\": \"01796F\"\n },\n {\n \"name\": \"Blue Lagoon\",\n \"hex\": \"017987\"\n },\n {\n \"name\": \"Deep Sea\",\n \"hex\": \"01826B\"\n },\n {\n \"name\": \"Green Haze\",\n \"hex\": \"01A368\"\n },\n {\n \"name\": \"English Holly\",\n \"hex\": \"022D15\"\n },\n {\n \"name\": \"Sherwood Green\",\n \"hex\": \"02402C\"\n },\n {\n \"name\": \"Congress Blue\",\n \"hex\": \"02478E\"\n },\n {\n \"name\": \"Evening Sea\",\n \"hex\": \"024E46\"\n },\n {\n \"name\": \"Bahama Blue\",\n \"hex\": \"026395\"\n },\n {\n \"name\": \"Observatory\",\n \"hex\": \"02866F\"\n },\n {\n \"name\": \"Cerulean\",\n \"hex\": \"02A4D3\"\n },\n {\n \"name\": \"Tangaroa\",\n \"hex\": \"03163C\"\n },\n {\n \"name\": \"Green Vogue\",\n \"hex\": \"032B52\"\n },\n {\n \"name\": \"Mosque\",\n \"hex\": \"036A6E\"\n },\n {\n \"name\": \"Midnight Moss\",\n \"hex\": \"041004\"\n },\n {\n \"name\": \"Black Pearl\",\n \"hex\": \"041322\"\n },\n {\n \"name\": \"Blue Whale\",\n \"hex\": \"042E4C\"\n },\n {\n \"name\": \"Zuccini\",\n \"hex\": \"044022\"\n },\n {\n \"name\": \"Teal Blue\",\n \"hex\": \"044259\"\n },\n {\n \"name\": \"Deep Cove\",\n \"hex\": \"051040\"\n },\n {\n \"name\": \"Gulf Blue\",\n \"hex\": \"051657\"\n },\n {\n \"name\": \"Venice Blue\",\n \"hex\": \"055989\"\n },\n {\n \"name\": \"Watercourse\",\n \"hex\": \"056F57\"\n },\n {\n \"name\": \"Catalina Blue\",\n \"hex\": \"062A78\"\n },\n {\n \"name\": \"Tiber\",\n \"hex\": \"063537\"\n },\n {\n \"name\": \"Gossamer\",\n \"hex\": \"069B81\"\n },\n {\n \"name\": \"Niagara\",\n \"hex\": \"06A189\"\n },\n {\n \"name\": \"Tarawera\",\n \"hex\": \"073A50\"\n },\n {\n \"name\": \"Jaguar\",\n \"hex\": \"080110\"\n },\n {\n \"name\": \"Black Bean\",\n \"hex\": \"081910\"\n },\n {\n \"name\": \"Deep Sapphire\",\n \"hex\": \"082567\"\n },\n {\n \"name\": \"Elf Green\",\n \"hex\": \"088370\"\n },\n {\n \"name\": \"Bright Turquoise\",\n \"hex\": \"08E8DE\"\n },\n {\n \"name\": \"Downriver\",\n \"hex\": \"092256\"\n },\n {\n \"name\": \"Palm Green\",\n \"hex\": \"09230F\"\n },\n {\n \"name\": \"Madison\",\n \"hex\": \"09255D\"\n },\n {\n \"name\": \"Bottle Green\",\n \"hex\": \"093624\"\n },\n {\n \"name\": \"Deep Sea Green\",\n \"hex\": \"095859\"\n },\n {\n \"name\": \"Salem\",\n \"hex\": \"097F4B\"\n },\n {\n \"name\": \"Black Russian\",\n \"hex\": \"0A001C\"\n },\n {\n \"name\": \"Dark Fern\",\n \"hex\": \"0A480D\"\n },\n {\n \"name\": \"Japanese Laurel\",\n \"hex\": \"0A6906\"\n },\n {\n \"name\": \"Atoll\",\n \"hex\": \"0A6F75\"\n },\n {\n \"name\": \"Cod Gray\",\n \"hex\": \"0B0B0B\"\n },\n {\n \"name\": \"Marshland\",\n \"hex\": \"0B0F08\"\n },\n {\n \"name\": \"Gordons Green\",\n \"hex\": \"0B1107\"\n },\n {\n \"name\": \"Black Forest\",\n \"hex\": \"0B1304\"\n },\n {\n \"name\": \"San Felix\",\n \"hex\": \"0B6207\"\n },\n {\n \"name\": \"Malachite\",\n \"hex\": \"0BDA51\"\n },\n {\n \"name\": \"Ebony\",\n \"hex\": \"0C0B1D\"\n },\n {\n \"name\": \"Woodsmoke\",\n \"hex\": \"0C0D0F\"\n },\n {\n \"name\": \"Racing Green\",\n \"hex\": \"0C1911\"\n },\n {\n \"name\": \"Surfie Green\",\n \"hex\": \"0C7A79\"\n },\n {\n \"name\": \"Blue Chill\",\n \"hex\": \"0C8990\"\n },\n {\n \"name\": \"Black Rock\",\n \"hex\": \"0D0332\"\n },\n {\n \"name\": \"Bunker\",\n \"hex\": \"0D1117\"\n },\n {\n \"name\": \"Aztec\",\n \"hex\": \"0D1C19\"\n },\n {\n \"name\": \"Bush\",\n \"hex\": \"0D2E1C\"\n },\n {\n \"name\": \"Cinder\",\n \"hex\": \"0E0E18\"\n },\n {\n \"name\": \"Firefly\",\n \"hex\": \"0E2A30\"\n },\n {\n \"name\": \"Torea Bay\",\n \"hex\": \"0F2D9E\"\n },\n {\n \"name\": \"Vulcan\",\n \"hex\": \"10121D\"\n },\n {\n \"name\": \"Green Waterloo\",\n \"hex\": \"101405\"\n },\n {\n \"name\": \"Eden\",\n \"hex\": \"105852\"\n },\n {\n \"name\": \"Arapawa\",\n \"hex\": \"110C6C\"\n },\n {\n \"name\": \"Ultramarine\",\n \"hex\": \"120A8F\"\n },\n {\n \"name\": \"Elephant\",\n \"hex\": \"123447\"\n },\n {\n \"name\": \"Jewel\",\n \"hex\": \"126B40\"\n },\n {\n \"name\": \"Diesel\",\n \"hex\": \"130000\"\n },\n {\n \"name\": \"Asphalt\",\n \"hex\": \"130A06\"\n },\n {\n \"name\": \"Blue Zodiac\",\n \"hex\": \"13264D\"\n },\n {\n \"name\": \"Parsley\",\n \"hex\": \"134F19\"\n },\n {\n \"name\": \"Nero\",\n \"hex\": \"140600\"\n },\n {\n \"name\": \"Tory Blue\",\n \"hex\": \"1450AA\"\n },\n {\n \"name\": \"Bunting\",\n \"hex\": \"151F4C\"\n },\n {\n \"name\": \"Denim\",\n \"hex\": \"1560BD\"\n },\n {\n \"name\": \"Genoa\",\n \"hex\": \"15736B\"\n },\n {\n \"name\": \"Mirage\",\n \"hex\": \"161928\"\n },\n {\n \"name\": \"Hunter Green\",\n \"hex\": \"161D10\"\n },\n {\n \"name\": \"Big Stone\",\n \"hex\": \"162A40\"\n },\n {\n \"name\": \"Celtic\",\n \"hex\": \"163222\"\n },\n {\n \"name\": \"Timber Green\",\n \"hex\": \"16322C\"\n },\n {\n \"name\": \"Gable Green\",\n \"hex\": \"163531\"\n },\n {\n \"name\": \"Pine Tree\",\n \"hex\": \"171F04\"\n },\n {\n \"name\": \"Chathams Blue\",\n \"hex\": \"175579\"\n },\n {\n \"name\": \"Deep Forest Green\",\n \"hex\": \"182D09\"\n },\n {\n \"name\": \"Blumine\",\n \"hex\": \"18587A\"\n },\n {\n \"name\": \"Palm Leaf\",\n \"hex\": \"19330E\"\n },\n {\n \"name\": \"Nile Blue\",\n \"hex\": \"193751\"\n },\n {\n \"name\": \"Fun Blue\",\n \"hex\": \"1959A8\"\n },\n {\n \"name\": \"Lucky Point\",\n \"hex\": \"1A1A68\"\n },\n {\n \"name\": \"Mountain Meadow\",\n \"hex\": \"1AB385\"\n },\n {\n \"name\": \"Tolopea\",\n \"hex\": \"1B0245\"\n },\n {\n \"name\": \"Haiti\",\n \"hex\": \"1B1035\"\n },\n {\n \"name\": \"Deep Koamaru\",\n \"hex\": \"1B127B\"\n },\n {\n \"name\": \"Acadia\",\n \"hex\": \"1B1404\"\n },\n {\n \"name\": \"Seaweed\",\n \"hex\": \"1B2F11\"\n },\n {\n \"name\": \"Biscay\",\n \"hex\": \"1B3162\"\n },\n {\n \"name\": \"Matisse\",\n \"hex\": \"1B659D\"\n },\n {\n \"name\": \"Crowshead\",\n \"hex\": \"1C1208\"\n },\n {\n \"name\": \"Rangoon Green\",\n \"hex\": \"1C1E13\"\n },\n {\n \"name\": \"Persian Blue\",\n \"hex\": \"1C39BB\"\n },\n {\n \"name\": \"Everglade\",\n \"hex\": \"1C402E\"\n },\n {\n \"name\": \"Elm\",\n \"hex\": \"1C7C7D\"\n },\n {\n \"name\": \"Green Pea\",\n \"hex\": \"1D6142\"\n },\n {\n \"name\": \"Creole\",\n \"hex\": \"1E0F04\"\n },\n {\n \"name\": \"Karaka\",\n \"hex\": \"1E1609\"\n },\n {\n \"name\": \"El Paso\",\n \"hex\": \"1E1708\"\n },\n {\n \"name\": \"Cello\",\n \"hex\": \"1E385B\"\n },\n {\n \"name\": \"Te Papa Green\",\n \"hex\": \"1E433C\"\n },\n {\n \"name\": \"Dodger Blue\",\n \"hex\": \"1E90FF\"\n },\n {\n \"name\": \"Eastern Blue\",\n \"hex\": \"1E9AB0\"\n },\n {\n \"name\": \"Night Rider\",\n \"hex\": \"1F120F\"\n },\n {\n \"name\": \"Java\",\n \"hex\": \"1FC2C2\"\n },\n {\n \"name\": \"Jacksons Purple\",\n \"hex\": \"20208D\"\n },\n {\n \"name\": \"Cloud Burst\",\n \"hex\": \"202E54\"\n },\n {\n \"name\": \"Blue Dianne\",\n \"hex\": \"204852\"\n },\n {\n \"name\": \"Eternity\",\n \"hex\": \"211A0E\"\n },\n {\n \"name\": \"Deep Blue\",\n \"hex\": \"220878\"\n },\n {\n \"name\": \"Forest Green\",\n \"hex\": \"228B22\"\n },\n {\n \"name\": \"Mallard\",\n \"hex\": \"233418\"\n },\n {\n \"name\": \"Violet\",\n \"hex\": \"240A40\"\n },\n {\n \"name\": \"Kilamanjaro\",\n \"hex\": \"240C02\"\n },\n {\n \"name\": \"Log Cabin\",\n \"hex\": \"242A1D\"\n },\n {\n \"name\": \"Black Olive\",\n \"hex\": \"242E16\"\n },\n {\n \"name\": \"Green House\",\n \"hex\": \"24500F\"\n },\n {\n \"name\": \"Graphite\",\n \"hex\": \"251607\"\n },\n {\n \"name\": \"Cannon Black\",\n \"hex\": \"251706\"\n },\n {\n \"name\": \"Port Gore\",\n \"hex\": \"251F4F\"\n },\n {\n \"name\": \"Shark\",\n \"hex\": \"25272C\"\n },\n {\n \"name\": \"Green Kelp\",\n \"hex\": \"25311C\"\n },\n {\n \"name\": \"Curious Blue\",\n \"hex\": \"2596D1\"\n },\n {\n \"name\": \"Paua\",\n \"hex\": \"260368\"\n },\n {\n \"name\": \"Paris M\",\n \"hex\": \"26056A\"\n },\n {\n \"name\": \"Wood Bark\",\n \"hex\": \"261105\"\n },\n {\n \"name\": \"Gondola\",\n \"hex\": \"261414\"\n },\n {\n \"name\": \"Steel Gray\",\n \"hex\": \"262335\"\n },\n {\n \"name\": \"Ebony Clay\",\n \"hex\": \"26283B\"\n },\n {\n \"name\": \"Bay of Many\",\n \"hex\": \"273A81\"\n },\n {\n \"name\": \"Plantation\",\n \"hex\": \"27504B\"\n },\n {\n \"name\": \"Eucalyptus\",\n \"hex\": \"278A5B\"\n },\n {\n \"name\": \"Oil\",\n \"hex\": \"281E15\"\n },\n {\n \"name\": \"Astronaut\",\n \"hex\": \"283A77\"\n },\n {\n \"name\": \"Mariner\",\n \"hex\": \"286ACD\"\n },\n {\n \"name\": \"Violent Violet\",\n \"hex\": \"290C5E\"\n },\n {\n \"name\": \"Bastille\",\n \"hex\": \"292130\"\n },\n {\n \"name\": \"Zeus\",\n \"hex\": \"292319\"\n },\n {\n \"name\": \"Charade\",\n \"hex\": \"292937\"\n },\n {\n \"name\": \"Jelly Bean\",\n \"hex\": \"297B9A\"\n },\n {\n \"name\": \"Jungle Green\",\n \"hex\": \"29AB87\"\n },\n {\n \"name\": \"Cherry Pie\",\n \"hex\": \"2A0359\"\n },\n {\n \"name\": \"Coffee Bean\",\n \"hex\": \"2A140E\"\n },\n {\n \"name\": \"Baltic Sea\",\n \"hex\": \"2A2630\"\n },\n {\n \"name\": \"Turtle Green\",\n \"hex\": \"2A380B\"\n },\n {\n \"name\": \"Cerulean Blue\",\n \"hex\": \"2A52BE\"\n },\n {\n \"name\": \"Sepia Black\",\n \"hex\": \"2B0202\"\n },\n {\n \"name\": \"Valhalla\",\n \"hex\": \"2B194F\"\n },\n {\n \"name\": \"Heavy Metal\",\n \"hex\": \"2B3228\"\n },\n {\n \"name\": \"Blue Gem\",\n \"hex\": \"2C0E8C\"\n },\n {\n \"name\": \"Revolver\",\n \"hex\": \"2C1632\"\n },\n {\n \"name\": \"Bleached Cedar\",\n \"hex\": \"2C2133\"\n },\n {\n \"name\": \"Lochinvar\",\n \"hex\": \"2C8C84\"\n },\n {\n \"name\": \"Mikado\",\n \"hex\": \"2D2510\"\n },\n {\n \"name\": \"Outer Space\",\n \"hex\": \"2D383A\"\n },\n {\n \"name\": \"St Tropaz\",\n \"hex\": \"2D569B\"\n },\n {\n \"name\": \"Jacaranda\",\n \"hex\": \"2E0329\"\n },\n {\n \"name\": \"Jacko Bean\",\n \"hex\": \"2E1905\"\n },\n {\n \"name\": \"Rangitoto\",\n \"hex\": \"2E3222\"\n },\n {\n \"name\": \"Rhino\",\n \"hex\": \"2E3F62\"\n },\n {\n \"name\": \"Sea Green\",\n \"hex\": \"2E8B57\"\n },\n {\n \"name\": \"Scooter\",\n \"hex\": \"2EBFD4\"\n },\n {\n \"name\": \"Onion\",\n \"hex\": \"2F270E\"\n },\n {\n \"name\": \"Governor Bay\",\n \"hex\": \"2F3CB3\"\n },\n {\n \"name\": \"Sapphire\",\n \"hex\": \"2F519E\"\n },\n {\n \"name\": \"Spectra\",\n \"hex\": \"2F5A57\"\n },\n {\n \"name\": \"Casal\",\n \"hex\": \"2F6168\"\n },\n {\n \"name\": \"Melanzane\",\n \"hex\": \"300529\"\n },\n {\n \"name\": \"Cocoa Brown\",\n \"hex\": \"301F1E\"\n },\n {\n \"name\": \"Woodrush\",\n \"hex\": \"302A0F\"\n },\n {\n \"name\": \"San Juan\",\n \"hex\": \"304B6A\"\n },\n {\n \"name\": \"Turquoise\",\n \"hex\": \"30D5C8\"\n },\n {\n \"name\": \"Eclipse\",\n \"hex\": \"311C17\"\n },\n {\n \"name\": \"Pickled Bluewood\",\n \"hex\": \"314459\"\n },\n {\n \"name\": \"Azure\",\n \"hex\": \"315BA1\"\n },\n {\n \"name\": \"Calypso\",\n \"hex\": \"31728D\"\n },\n {\n \"name\": \"Paradiso\",\n \"hex\": \"317D82\"\n },\n {\n \"name\": \"Persian Indigo\",\n \"hex\": \"32127A\"\n },\n {\n \"name\": \"Blackcurrant\",\n \"hex\": \"32293A\"\n },\n {\n \"name\": \"Mine Shaft\",\n \"hex\": \"323232\"\n },\n {\n \"name\": \"Stromboli\",\n \"hex\": \"325D52\"\n },\n {\n \"name\": \"Bilbao\",\n \"hex\": \"327C14\"\n },\n {\n \"name\": \"Astral\",\n \"hex\": \"327DA0\"\n },\n {\n \"name\": \"Christalle\",\n \"hex\": \"33036B\"\n },\n {\n \"name\": \"Thunder\",\n \"hex\": \"33292F\"\n },\n {\n \"name\": \"Shamrock\",\n \"hex\": \"33CC99\"\n },\n {\n \"name\": \"Tamarind\",\n \"hex\": \"341515\"\n },\n {\n \"name\": \"Mardi Gras\",\n \"hex\": \"350036\"\n },\n {\n \"name\": \"Valentino\",\n \"hex\": \"350E42\"\n },\n {\n \"name\": \"Jagger\",\n \"hex\": \"350E57\"\n },\n {\n \"name\": \"Tuna\",\n \"hex\": \"353542\"\n },\n {\n \"name\": \"Chambray\",\n \"hex\": \"354E8C\"\n },\n {\n \"name\": \"Martinique\",\n \"hex\": \"363050\"\n },\n {\n \"name\": \"Tuatara\",\n \"hex\": \"363534\"\n },\n {\n \"name\": \"Waiouru\",\n \"hex\": \"363C0D\"\n },\n {\n \"name\": \"Ming\",\n \"hex\": \"36747D\"\n },\n {\n \"name\": \"La Palma\",\n \"hex\": \"368716\"\n },\n {\n \"name\": \"Chocolate\",\n \"hex\": \"370202\"\n },\n {\n \"name\": \"Clinker\",\n \"hex\": \"371D09\"\n },\n {\n \"name\": \"Brown Tumbleweed\",\n \"hex\": \"37290E\"\n },\n {\n \"name\": \"Birch\",\n \"hex\": \"373021\"\n },\n {\n \"name\": \"Oracle\",\n \"hex\": \"377475\"\n },\n {\n \"name\": \"Blue Diamond\",\n \"hex\": \"380474\"\n },\n {\n \"name\": \"Grape\",\n \"hex\": \"381A51\"\n },\n {\n \"name\": \"Dune\",\n \"hex\": \"383533\"\n },\n {\n \"name\": \"Oxford Blue\",\n \"hex\": \"384555\"\n },\n {\n \"name\": \"Clover\",\n \"hex\": \"384910\"\n },\n {\n \"name\": \"Limed Spruce\",\n \"hex\": \"394851\"\n },\n {\n \"name\": \"Dell\",\n \"hex\": \"396413\"\n },\n {\n \"name\": \"Toledo\",\n \"hex\": \"3A0020\"\n },\n {\n \"name\": \"Sambuca\",\n \"hex\": \"3A2010\"\n },\n {\n \"name\": \"Jacarta\",\n \"hex\": \"3A2A6A\"\n },\n {\n \"name\": \"William\",\n \"hex\": \"3A686C\"\n },\n {\n \"name\": \"Killarney\",\n \"hex\": \"3A6A47\"\n },\n {\n \"name\": \"Keppel\",\n \"hex\": \"3AB09E\"\n },\n {\n \"name\": \"Temptress\",\n \"hex\": \"3B000B\"\n },\n {\n \"name\": \"Aubergine\",\n \"hex\": \"3B0910\"\n },\n {\n \"name\": \"Jon\",\n \"hex\": \"3B1F1F\"\n },\n {\n \"name\": \"Treehouse\",\n \"hex\": \"3B2820\"\n },\n {\n \"name\": \"Amazon\",\n \"hex\": \"3B7A57\"\n },\n {\n \"name\": \"Boston Blue\",\n \"hex\": \"3B91B4\"\n },\n {\n \"name\": \"Windsor\",\n \"hex\": \"3C0878\"\n },\n {\n \"name\": \"Rebel\",\n \"hex\": \"3C1206\"\n },\n {\n \"name\": \"Meteorite\",\n \"hex\": \"3C1F76\"\n },\n {\n \"name\": \"Dark Ebony\",\n \"hex\": \"3C2005\"\n },\n {\n \"name\": \"Camouflage\",\n \"hex\": \"3C3910\"\n },\n {\n \"name\": \"Bright Gray\",\n \"hex\": \"3C4151\"\n },\n {\n \"name\": \"Cape Cod\",\n \"hex\": \"3C4443\"\n },\n {\n \"name\": \"Lunar Green\",\n \"hex\": \"3C493A\"\n },\n {\n \"name\": \"Bean \",\n \"hex\": \"3D0C02\"\n },\n {\n \"name\": \"Bistre\",\n \"hex\": \"3D2B1F\"\n },\n {\n \"name\": \"Goblin\",\n \"hex\": \"3D7D52\"\n },\n {\n \"name\": \"Kingfisher Daisy\",\n \"hex\": \"3E0480\"\n },\n {\n \"name\": \"Cedar\",\n \"hex\": \"3E1C14\"\n },\n {\n \"name\": \"English Walnut\",\n \"hex\": \"3E2B23\"\n },\n {\n \"name\": \"Black Marlin\",\n \"hex\": \"3E2C1C\"\n },\n {\n \"name\": \"Ship Gray\",\n \"hex\": \"3E3A44\"\n },\n {\n \"name\": \"Pelorous\",\n \"hex\": \"3EABBF\"\n },\n {\n \"name\": \"Bronze\",\n \"hex\": \"3F2109\"\n },\n {\n \"name\": \"Cola\",\n \"hex\": \"3F2500\"\n },\n {\n \"name\": \"Madras\",\n \"hex\": \"3F3002\"\n },\n {\n \"name\": \"Minsk\",\n \"hex\": \"3F307F\"\n },\n {\n \"name\": \"Cabbage Pont\",\n \"hex\": \"3F4C3A\"\n },\n {\n \"name\": \"Tom Thumb\",\n \"hex\": \"3F583B\"\n },\n {\n \"name\": \"Mineral Green\",\n \"hex\": \"3F5D53\"\n },\n {\n \"name\": \"Puerto Rico\",\n \"hex\": \"3FC1AA\"\n },\n {\n \"name\": \"Harlequin\",\n \"hex\": \"3FFF00\"\n },\n {\n \"name\": \"Brown Pod\",\n \"hex\": \"401801\"\n },\n {\n \"name\": \"Cork\",\n \"hex\": \"40291D\"\n },\n {\n \"name\": \"Masala\",\n \"hex\": \"403B38\"\n },\n {\n \"name\": \"Thatch Green\",\n \"hex\": \"403D19\"\n },\n {\n \"name\": \"Fiord\",\n \"hex\": \"405169\"\n },\n {\n \"name\": \"Viridian\",\n \"hex\": \"40826D\"\n },\n {\n \"name\": \"Chateau Green\",\n \"hex\": \"40A860\"\n },\n {\n \"name\": \"Ripe Plum\",\n \"hex\": \"410056\"\n },\n {\n \"name\": \"Paco\",\n \"hex\": \"411F10\"\n },\n {\n \"name\": \"Deep Oak\",\n \"hex\": \"412010\"\n },\n {\n \"name\": \"Merlin\",\n \"hex\": \"413C37\"\n },\n {\n \"name\": \"Gun Powder\",\n \"hex\": \"414257\"\n },\n {\n \"name\": \"East Bay\",\n \"hex\": \"414C7D\"\n },\n {\n \"name\": \"Royal Blue\",\n \"hex\": \"4169E1\"\n },\n {\n \"name\": \"Ocean Green\",\n \"hex\": \"41AA78\"\n },\n {\n \"name\": \"Burnt Maroon\",\n \"hex\": \"420303\"\n },\n {\n \"name\": \"Lisbon Brown\",\n \"hex\": \"423921\"\n },\n {\n \"name\": \"Faded Jade\",\n \"hex\": \"427977\"\n },\n {\n \"name\": \"Scarlet Gum\",\n \"hex\": \"431560\"\n },\n {\n \"name\": \"Iroko\",\n \"hex\": \"433120\"\n },\n {\n \"name\": \"Armadillo\",\n \"hex\": \"433E37\"\n },\n {\n \"name\": \"River Bed\",\n \"hex\": \"434C59\"\n },\n {\n \"name\": \"Green Leaf\",\n \"hex\": \"436A0D\"\n },\n {\n \"name\": \"Barossa\",\n \"hex\": \"44012D\"\n },\n {\n \"name\": \"Morocco Brown\",\n \"hex\": \"441D00\"\n },\n {\n \"name\": \"Mako\",\n \"hex\": \"444954\"\n },\n {\n \"name\": \"Kelp\",\n \"hex\": \"454936\"\n },\n {\n \"name\": \"San Marino\",\n \"hex\": \"456CAC\"\n },\n {\n \"name\": \"Picton Blue\",\n \"hex\": \"45B1E8\"\n },\n {\n \"name\": \"Loulou\",\n \"hex\": \"460B41\"\n },\n {\n \"name\": \"Crater Brown\",\n \"hex\": \"462425\"\n },\n {\n \"name\": \"Gray Asparagus\",\n \"hex\": \"465945\"\n },\n {\n \"name\": \"Steel Blue\",\n \"hex\": \"4682B4\"\n },\n {\n \"name\": \"Rustic Red\",\n \"hex\": \"480404\"\n },\n {\n \"name\": \"Bulgarian Rose\",\n \"hex\": \"480607\"\n },\n {\n \"name\": \"Clairvoyant\",\n \"hex\": \"480656\"\n },\n {\n \"name\": \"Cocoa Bean\",\n \"hex\": \"481C1C\"\n },\n {\n \"name\": \"Woody Brown\",\n \"hex\": \"483131\"\n },\n {\n \"name\": \"Taupe\",\n \"hex\": \"483C32\"\n },\n {\n \"name\": \"Van Cleef\",\n \"hex\": \"49170C\"\n },\n {\n \"name\": \"Brown Derby\",\n \"hex\": \"492615\"\n },\n {\n \"name\": \"Metallic Bronze\",\n \"hex\": \"49371B\"\n },\n {\n \"name\": \"Verdun Green\",\n \"hex\": \"495400\"\n },\n {\n \"name\": \"Blue Bayoux\",\n \"hex\": \"496679\"\n },\n {\n \"name\": \"Bismark\",\n \"hex\": \"497183\"\n },\n {\n \"name\": \"Bracken\",\n \"hex\": \"4A2A04\"\n },\n {\n \"name\": \"Deep Bronze\",\n \"hex\": \"4A3004\"\n },\n {\n \"name\": \"Mondo\",\n \"hex\": \"4A3C30\"\n },\n {\n \"name\": \"Tundora\",\n \"hex\": \"4A4244\"\n },\n {\n \"name\": \"Gravel\",\n \"hex\": \"4A444B\"\n },\n {\n \"name\": \"Trout\",\n \"hex\": \"4A4E5A\"\n },\n {\n \"name\": \"Pigment Indigo\",\n \"hex\": \"4B0082\"\n },\n {\n \"name\": \"Nandor\",\n \"hex\": \"4B5D52\"\n },\n {\n \"name\": \"Saddle\",\n \"hex\": \"4C3024\"\n },\n {\n \"name\": \"Abbey\",\n \"hex\": \"4C4F56\"\n },\n {\n \"name\": \"Blackberry\",\n \"hex\": \"4D0135\"\n },\n {\n \"name\": \"Cab Sav\",\n \"hex\": \"4D0A18\"\n },\n {\n \"name\": \"Indian Tan\",\n \"hex\": \"4D1E01\"\n },\n {\n \"name\": \"Cowboy\",\n \"hex\": \"4D282D\"\n },\n {\n \"name\": \"Livid Brown\",\n \"hex\": \"4D282E\"\n },\n {\n \"name\": \"Rock\",\n \"hex\": \"4D3833\"\n },\n {\n \"name\": \"Punga\",\n \"hex\": \"4D3D14\"\n },\n {\n \"name\": \"Bronzetone\",\n \"hex\": \"4D400F\"\n },\n {\n \"name\": \"Woodland\",\n \"hex\": \"4D5328\"\n },\n {\n \"name\": \"Mahogany\",\n \"hex\": \"4E0606\"\n },\n {\n \"name\": \"Bossanova\",\n \"hex\": \"4E2A5A\"\n },\n {\n \"name\": \"Matterhorn\",\n \"hex\": \"4E3B41\"\n },\n {\n \"name\": \"Bronze Olive\",\n \"hex\": \"4E420C\"\n },\n {\n \"name\": \"Mulled Wine\",\n \"hex\": \"4E4562\"\n },\n {\n \"name\": \"Axolotl\",\n \"hex\": \"4E6649\"\n },\n {\n \"name\": \"Wedgewood\",\n \"hex\": \"4E7F9E\"\n },\n {\n \"name\": \"Shakespeare\",\n \"hex\": \"4EABD1\"\n },\n {\n \"name\": \"Honey Flower\",\n \"hex\": \"4F1C70\"\n },\n {\n \"name\": \"Daisy Bush\",\n \"hex\": \"4F2398\"\n },\n {\n \"name\": \"Indigo\",\n \"hex\": \"4F69C6\"\n },\n {\n \"name\": \"Fern Green\",\n \"hex\": \"4F7942\"\n },\n {\n \"name\": \"Fruit Salad\",\n \"hex\": \"4F9D5D\"\n },\n {\n \"name\": \"Apple\",\n \"hex\": \"4FA83D\"\n },\n {\n \"name\": \"Mortar\",\n \"hex\": \"504351\"\n },\n {\n \"name\": \"Kashmir Blue\",\n \"hex\": \"507096\"\n },\n {\n \"name\": \"Cutty Sark\",\n \"hex\": \"507672\"\n },\n {\n \"name\": \"Emerald\",\n \"hex\": \"50C878\"\n },\n {\n \"name\": \"Emperor\",\n \"hex\": \"514649\"\n },\n {\n \"name\": \"Chalet Green\",\n \"hex\": \"516E3D\"\n },\n {\n \"name\": \"Como\",\n \"hex\": \"517C66\"\n },\n {\n \"name\": \"Smalt Blue\",\n \"hex\": \"51808F\"\n },\n {\n \"name\": \"Castro\",\n \"hex\": \"52001F\"\n },\n {\n \"name\": \"Maroon Oak\",\n \"hex\": \"520C17\"\n },\n {\n \"name\": \"Gigas\",\n \"hex\": \"523C94\"\n },\n {\n \"name\": \"Voodoo\",\n \"hex\": \"533455\"\n },\n {\n \"name\": \"Victoria\",\n \"hex\": \"534491\"\n },\n {\n \"name\": \"Hippie Green\",\n \"hex\": \"53824B\"\n },\n {\n \"name\": \"Heath\",\n \"hex\": \"541012\"\n },\n {\n \"name\": \"Judge Gray\",\n \"hex\": \"544333\"\n },\n {\n \"name\": \"Fuscous Gray\",\n \"hex\": \"54534D\"\n },\n {\n \"name\": \"Vida Loca\",\n \"hex\": \"549019\"\n },\n {\n \"name\": \"Cioccolato\",\n \"hex\": \"55280C\"\n },\n {\n \"name\": \"Saratoga\",\n \"hex\": \"555B10\"\n },\n {\n \"name\": \"Finlandia\",\n \"hex\": \"556D56\"\n },\n {\n \"name\": \"Havelock Blue\",\n \"hex\": \"5590D9\"\n },\n {\n \"name\": \"Fountain Blue\",\n \"hex\": \"56B4BE\"\n },\n {\n \"name\": \"Spring Leaves\",\n \"hex\": \"578363\"\n },\n {\n \"name\": \"Saddle Brown\",\n \"hex\": \"583401\"\n },\n {\n \"name\": \"Scarpa Flow\",\n \"hex\": \"585562\"\n },\n {\n \"name\": \"Cactus\",\n \"hex\": \"587156\"\n },\n {\n \"name\": \"Hippie Blue\",\n \"hex\": \"589AAF\"\n },\n {\n \"name\": \"Wine Berry\",\n \"hex\": \"591D35\"\n },\n {\n \"name\": \"Brown Bramble\",\n \"hex\": \"592804\"\n },\n {\n \"name\": \"Congo Brown\",\n \"hex\": \"593737\"\n },\n {\n \"name\": \"Millbrook\",\n \"hex\": \"594433\"\n },\n {\n \"name\": \"Waikawa Gray\",\n \"hex\": \"5A6E9C\"\n },\n {\n \"name\": \"Horizon\",\n \"hex\": \"5A87A0\"\n },\n {\n \"name\": \"Jambalaya\",\n \"hex\": \"5B3013\"\n },\n {\n \"name\": \"Bordeaux\",\n \"hex\": \"5C0120\"\n },\n {\n \"name\": \"Mulberry Wood\",\n \"hex\": \"5C0536\"\n },\n {\n \"name\": \"Carnaby Tan\",\n \"hex\": \"5C2E01\"\n },\n {\n \"name\": \"Comet\",\n \"hex\": \"5C5D75\"\n },\n {\n \"name\": \"Redwood\",\n \"hex\": \"5D1E0F\"\n },\n {\n \"name\": \"Don Juan\",\n \"hex\": \"5D4C51\"\n },\n {\n \"name\": \"Chicago\",\n \"hex\": \"5D5C58\"\n },\n {\n \"name\": \"Verdigris\",\n \"hex\": \"5D5E37\"\n },\n {\n \"name\": \"Dingley\",\n \"hex\": \"5D7747\"\n },\n {\n \"name\": \"Breaker Bay\",\n \"hex\": \"5DA19F\"\n },\n {\n \"name\": \"Kabul\",\n \"hex\": \"5E483E\"\n },\n {\n \"name\": \"Hemlock\",\n \"hex\": \"5E5D3B\"\n },\n {\n \"name\": \"Irish Coffee\",\n \"hex\": \"5F3D26\"\n },\n {\n \"name\": \"Mid Gray\",\n \"hex\": \"5F5F6E\"\n },\n {\n \"name\": \"Shuttle Gray\",\n \"hex\": \"5F6672\"\n },\n {\n \"name\": \"Aqua Forest\",\n \"hex\": \"5FA777\"\n },\n {\n \"name\": \"Tradewind\",\n \"hex\": \"5FB3AC\"\n },\n {\n \"name\": \"Horses Neck\",\n \"hex\": \"604913\"\n },\n {\n \"name\": \"Smoky\",\n \"hex\": \"605B73\"\n },\n {\n \"name\": \"Corduroy\",\n \"hex\": \"606E68\"\n },\n {\n \"name\": \"Danube\",\n \"hex\": \"6093D1\"\n },\n {\n \"name\": \"Espresso\",\n \"hex\": \"612718\"\n },\n {\n \"name\": \"Eggplant\",\n \"hex\": \"614051\"\n },\n {\n \"name\": \"Costa Del Sol\",\n \"hex\": \"615D30\"\n },\n {\n \"name\": \"Glade Green\",\n \"hex\": \"61845F\"\n },\n {\n \"name\": \"Buccaneer\",\n \"hex\": \"622F30\"\n },\n {\n \"name\": \"Quincy\",\n \"hex\": \"623F2D\"\n },\n {\n \"name\": \"Butterfly Bush\",\n \"hex\": \"624E9A\"\n },\n {\n \"name\": \"West Coast\",\n \"hex\": \"625119\"\n },\n {\n \"name\": \"Finch\",\n \"hex\": \"626649\"\n },\n {\n \"name\": \"Patina\",\n \"hex\": \"639A8F\"\n },\n {\n \"name\": \"Fern\",\n \"hex\": \"63B76C\"\n },\n {\n \"name\": \"Blue Violet\",\n \"hex\": \"6456B7\"\n },\n {\n \"name\": \"Dolphin\",\n \"hex\": \"646077\"\n },\n {\n \"name\": \"Storm Dust\",\n \"hex\": \"646463\"\n },\n {\n \"name\": \"Siam\",\n \"hex\": \"646A54\"\n },\n {\n \"name\": \"Nevada\",\n \"hex\": \"646E75\"\n },\n {\n \"name\": \"Cornflower Blue\",\n \"hex\": \"6495ED\"\n },\n {\n \"name\": \"Viking\",\n \"hex\": \"64CCDB\"\n },\n {\n \"name\": \"Rosewood\",\n \"hex\": \"65000B\"\n },\n {\n \"name\": \"Cherrywood\",\n \"hex\": \"651A14\"\n },\n {\n \"name\": \"Purple Heart\",\n \"hex\": \"652DC1\"\n },\n {\n \"name\": \"Fern Frond\",\n \"hex\": \"657220\"\n },\n {\n \"name\": \"Willow Grove\",\n \"hex\": \"65745D\"\n },\n {\n \"name\": \"Hoki\",\n \"hex\": \"65869F\"\n },\n {\n \"name\": \"Pompadour\",\n \"hex\": \"660045\"\n },\n {\n \"name\": \"Purple\",\n \"hex\": \"660099\"\n },\n {\n \"name\": \"Tyrian Purple\",\n \"hex\": \"66023C\"\n },\n {\n \"name\": \"Dark Tan\",\n \"hex\": \"661010\"\n },\n {\n \"name\": \"Silver Tree\",\n \"hex\": \"66B58F\"\n },\n {\n \"name\": \"Bright Green\",\n \"hex\": \"66FF00\"\n },\n {\n \"name\": \"Screamin' Green\",\n \"hex\": \"66FF66\"\n },\n {\n \"name\": \"Black Rose\",\n \"hex\": \"67032D\"\n },\n {\n \"name\": \"Scampi\",\n \"hex\": \"675FA6\"\n },\n {\n \"name\": \"Ironside Gray\",\n \"hex\": \"676662\"\n },\n {\n \"name\": \"Viridian Green\",\n \"hex\": \"678975\"\n },\n {\n \"name\": \"Christi\",\n \"hex\": \"67A712\"\n },\n {\n \"name\": \"Nutmeg Wood Finish\",\n \"hex\": \"683600\"\n },\n {\n \"name\": \"Zambezi\",\n \"hex\": \"685558\"\n },\n {\n \"name\": \"Salt Box\",\n \"hex\": \"685E6E\"\n },\n {\n \"name\": \"Tawny Port\",\n \"hex\": \"692545\"\n },\n {\n \"name\": \"Finn\",\n \"hex\": \"692D54\"\n },\n {\n \"name\": \"Scorpion\",\n \"hex\": \"695F62\"\n },\n {\n \"name\": \"Lynch\",\n \"hex\": \"697E9A\"\n },\n {\n \"name\": \"Spice\",\n \"hex\": \"6A442E\"\n },\n {\n \"name\": \"Himalaya\",\n \"hex\": \"6A5D1B\"\n },\n {\n \"name\": \"Soya Bean\",\n \"hex\": \"6A6051\"\n },\n {\n \"name\": \"Hairy Heath\",\n \"hex\": \"6B2A14\"\n },\n {\n \"name\": \"Royal Purple\",\n \"hex\": \"6B3FA0\"\n },\n {\n \"name\": \"Shingle Fawn\",\n \"hex\": \"6B4E31\"\n },\n {\n \"name\": \"Dorado\",\n \"hex\": \"6B5755\"\n },\n {\n \"name\": \"Bermuda Gray\",\n \"hex\": \"6B8BA2\"\n },\n {\n \"name\": \"Olive Drab\",\n \"hex\": \"6B8E23\"\n },\n {\n \"name\": \"Eminence\",\n \"hex\": \"6C3082\"\n },\n {\n \"name\": \"Turquoise Blue\",\n \"hex\": \"6CDAE7\"\n },\n {\n \"name\": \"Lonestar\",\n \"hex\": \"6D0101\"\n },\n {\n \"name\": \"Pine Cone\",\n \"hex\": \"6D5E54\"\n },\n {\n \"name\": \"Dove Gray\",\n \"hex\": \"6D6C6C\"\n },\n {\n \"name\": \"Juniper\",\n \"hex\": \"6D9292\"\n },\n {\n \"name\": \"Gothic\",\n \"hex\": \"6D92A1\"\n },\n {\n \"name\": \"Red Oxide\",\n \"hex\": \"6E0902\"\n },\n {\n \"name\": \"Moccaccino\",\n \"hex\": \"6E1D14\"\n },\n {\n \"name\": \"Pickled Bean\",\n \"hex\": \"6E4826\"\n },\n {\n \"name\": \"Dallas\",\n \"hex\": \"6E4B26\"\n },\n {\n \"name\": \"Kokoda\",\n \"hex\": \"6E6D57\"\n },\n {\n \"name\": \"Pale Sky\",\n \"hex\": \"6E7783\"\n },\n {\n \"name\": \"Cafe Royale\",\n \"hex\": \"6F440C\"\n },\n {\n \"name\": \"Flint\",\n \"hex\": \"6F6A61\"\n },\n {\n \"name\": \"Highland\",\n \"hex\": \"6F8E63\"\n },\n {\n \"name\": \"Limeade\",\n \"hex\": \"6F9D02\"\n },\n {\n \"name\": \"Downy\",\n \"hex\": \"6FD0C5\"\n },\n {\n \"name\": \"Persian Plum\",\n \"hex\": \"701C1C\"\n },\n {\n \"name\": \"Sepia\",\n \"hex\": \"704214\"\n },\n {\n \"name\": \"Antique Bronze\",\n \"hex\": \"704A07\"\n },\n {\n \"name\": \"Ferra\",\n \"hex\": \"704F50\"\n },\n {\n \"name\": \"Coffee\",\n \"hex\": \"706555\"\n },\n {\n \"name\": \"Slate Gray\",\n \"hex\": \"708090\"\n },\n {\n \"name\": \"Cedar Wood Finish\",\n \"hex\": \"711A00\"\n },\n {\n \"name\": \"Metallic Copper\",\n \"hex\": \"71291D\"\n },\n {\n \"name\": \"Affair\",\n \"hex\": \"714693\"\n },\n {\n \"name\": \"Studio\",\n \"hex\": \"714AB2\"\n },\n {\n \"name\": \"Tobacco Brown\",\n \"hex\": \"715D47\"\n },\n {\n \"name\": \"Yellow Metal\",\n \"hex\": \"716338\"\n },\n {\n \"name\": \"Peat\",\n \"hex\": \"716B56\"\n },\n {\n \"name\": \"Olivetone\",\n \"hex\": \"716E10\"\n },\n {\n \"name\": \"Storm Gray\",\n \"hex\": \"717486\"\n },\n {\n \"name\": \"Sirocco\",\n \"hex\": \"718080\"\n },\n {\n \"name\": \"Aquamarine Blue\",\n \"hex\": \"71D9E2\"\n },\n {\n \"name\": \"Venetian Red\",\n \"hex\": \"72010F\"\n },\n {\n \"name\": \"Old Copper\",\n \"hex\": \"724A2F\"\n },\n {\n \"name\": \"Go Ben\",\n \"hex\": \"726D4E\"\n },\n {\n \"name\": \"Raven\",\n \"hex\": \"727B89\"\n },\n {\n \"name\": \"Seance\",\n \"hex\": \"731E8F\"\n },\n {\n \"name\": \"Raw Umber\",\n \"hex\": \"734A12\"\n },\n {\n \"name\": \"Kimberly\",\n \"hex\": \"736C9F\"\n },\n {\n \"name\": \"Crocodile\",\n \"hex\": \"736D58\"\n },\n {\n \"name\": \"Crete\",\n \"hex\": \"737829\"\n },\n {\n \"name\": \"Xanadu\",\n \"hex\": \"738678\"\n },\n {\n \"name\": \"Spicy Mustard\",\n \"hex\": \"74640D\"\n },\n {\n \"name\": \"Limed Ash\",\n \"hex\": \"747D63\"\n },\n {\n \"name\": \"Rolling Stone\",\n \"hex\": \"747D83\"\n },\n {\n \"name\": \"Blue Smoke\",\n \"hex\": \"748881\"\n },\n {\n \"name\": \"Laurel\",\n \"hex\": \"749378\"\n },\n {\n \"name\": \"Mantis\",\n \"hex\": \"74C365\"\n },\n {\n \"name\": \"Russett\",\n \"hex\": \"755A57\"\n },\n {\n \"name\": \"Deluge\",\n \"hex\": \"7563A8\"\n },\n {\n \"name\": \"Cosmic\",\n \"hex\": \"76395D\"\n },\n {\n \"name\": \"Blue Marguerite\",\n \"hex\": \"7666C6\"\n },\n {\n \"name\": \"Lima\",\n \"hex\": \"76BD17\"\n },\n {\n \"name\": \"Sky Blue\",\n \"hex\": \"76D7EA\"\n },\n {\n \"name\": \"Dark Burgundy\",\n \"hex\": \"770F05\"\n },\n {\n \"name\": \"Crown of Thorns\",\n \"hex\": \"771F1F\"\n },\n {\n \"name\": \"Walnut\",\n \"hex\": \"773F1A\"\n },\n {\n \"name\": \"Pablo\",\n \"hex\": \"776F61\"\n },\n {\n \"name\": \"Pacifika\",\n \"hex\": \"778120\"\n },\n {\n \"name\": \"Oxley\",\n \"hex\": \"779E86\"\n },\n {\n \"name\": \"Pastel Green\",\n \"hex\": \"77DD77\"\n },\n {\n \"name\": \"Japanese Maple\",\n \"hex\": \"780109\"\n },\n {\n \"name\": \"Mocha\",\n \"hex\": \"782D19\"\n },\n {\n \"name\": \"Peanut\",\n \"hex\": \"782F16\"\n },\n {\n \"name\": \"Camouflage Green\",\n \"hex\": \"78866B\"\n },\n {\n \"name\": \"Wasabi\",\n \"hex\": \"788A25\"\n },\n {\n \"name\": \"Ship Cove\",\n \"hex\": \"788BBA\"\n },\n {\n \"name\": \"Sea Nymph\",\n \"hex\": \"78A39C\"\n },\n {\n \"name\": \"Roman Coffee\",\n \"hex\": \"795D4C\"\n },\n {\n \"name\": \"Old Lavender\",\n \"hex\": \"796878\"\n },\n {\n \"name\": \"Rum\",\n \"hex\": \"796989\"\n },\n {\n \"name\": \"Fedora\",\n \"hex\": \"796A78\"\n },\n {\n \"name\": \"Sandstone\",\n \"hex\": \"796D62\"\n },\n {\n \"name\": \"Spray\",\n \"hex\": \"79DEEC\"\n },\n {\n \"name\": \"Siren\",\n \"hex\": \"7A013A\"\n },\n {\n \"name\": \"Fuchsia Blue\",\n \"hex\": \"7A58C1\"\n },\n {\n \"name\": \"Boulder\",\n \"hex\": \"7A7A7A\"\n },\n {\n \"name\": \"Wild Blue Yonder\",\n \"hex\": \"7A89B8\"\n },\n {\n \"name\": \"De York\",\n \"hex\": \"7AC488\"\n },\n {\n \"name\": \"Red Beech\",\n \"hex\": \"7B3801\"\n },\n {\n \"name\": \"Cinnamon\",\n \"hex\": \"7B3F00\"\n },\n {\n \"name\": \"Yukon Gold\",\n \"hex\": \"7B6608\"\n },\n {\n \"name\": \"Tapa\",\n \"hex\": \"7B7874\"\n },\n {\n \"name\": \"Waterloo \",\n \"hex\": \"7B7C94\"\n },\n {\n \"name\": \"Flax Smoke\",\n \"hex\": \"7B8265\"\n },\n {\n \"name\": \"Amulet\",\n \"hex\": \"7B9F80\"\n },\n {\n \"name\": \"Asparagus\",\n \"hex\": \"7BA05B\"\n },\n {\n \"name\": \"Kenyan Copper\",\n \"hex\": \"7C1C05\"\n },\n {\n \"name\": \"Pesto\",\n \"hex\": \"7C7631\"\n },\n {\n \"name\": \"Topaz\",\n \"hex\": \"7C778A\"\n },\n {\n \"name\": \"Concord\",\n \"hex\": \"7C7B7A\"\n },\n {\n \"name\": \"Jumbo\",\n \"hex\": \"7C7B82\"\n },\n {\n \"name\": \"Trendy Green\",\n \"hex\": \"7C881A\"\n },\n {\n \"name\": \"Gumbo\",\n \"hex\": \"7CA1A6\"\n },\n {\n \"name\": \"Acapulco\",\n \"hex\": \"7CB0A1\"\n },\n {\n \"name\": \"Neptune\",\n \"hex\": \"7CB7BB\"\n },\n {\n \"name\": \"Pueblo\",\n \"hex\": \"7D2C14\"\n },\n {\n \"name\": \"Bay Leaf\",\n \"hex\": \"7DA98D\"\n },\n {\n \"name\": \"Malibu\",\n \"hex\": \"7DC8F7\"\n },\n {\n \"name\": \"Bermuda\",\n \"hex\": \"7DD8C6\"\n },\n {\n \"name\": \"Copper Canyon\",\n \"hex\": \"7E3A15\"\n },\n {\n \"name\": \"Claret\",\n \"hex\": \"7F1734\"\n },\n {\n \"name\": \"Peru Tan\",\n \"hex\": \"7F3A02\"\n },\n {\n \"name\": \"Falcon\",\n \"hex\": \"7F626D\"\n },\n {\n \"name\": \"Mobster\",\n \"hex\": \"7F7589\"\n },\n {\n \"name\": \"Moody Blue\",\n \"hex\": \"7F76D3\"\n },\n {\n \"name\": \"Chartreuse\",\n \"hex\": \"7FFF00\"\n },\n {\n \"name\": \"Aquamarine\",\n \"hex\": \"7FFFD4\"\n },\n {\n \"name\": \"Maroon\",\n \"hex\": \"800000\"\n },\n {\n \"name\": \"Rose Bud Cherry\",\n \"hex\": \"800B47\"\n },\n {\n \"name\": \"Falu Red\",\n \"hex\": \"801818\"\n },\n {\n \"name\": \"Red Robin\",\n \"hex\": \"80341F\"\n },\n {\n \"name\": \"Vivid Violet\",\n \"hex\": \"803790\"\n },\n {\n \"name\": \"Russet\",\n \"hex\": \"80461B\"\n },\n {\n \"name\": \"Friar Gray\",\n \"hex\": \"807E79\"\n },\n {\n \"name\": \"Olive\",\n \"hex\": \"808000\"\n },\n {\n \"name\": \"Gray\",\n \"hex\": \"808080\"\n },\n {\n \"name\": \"Gulf Stream\",\n \"hex\": \"80B3AE\"\n },\n {\n \"name\": \"Glacier\",\n \"hex\": \"80B3C4\"\n },\n {\n \"name\": \"Seagull\",\n \"hex\": \"80CCEA\"\n },\n {\n \"name\": \"Nutmeg\",\n \"hex\": \"81422C\"\n },\n {\n \"name\": \"Spicy Pink\",\n \"hex\": \"816E71\"\n },\n {\n \"name\": \"Empress\",\n \"hex\": \"817377\"\n },\n {\n \"name\": \"Spanish Green\",\n \"hex\": \"819885\"\n },\n {\n \"name\": \"Sand Dune\",\n \"hex\": \"826F65\"\n },\n {\n \"name\": \"Gunsmoke\",\n \"hex\": \"828685\"\n },\n {\n \"name\": \"Battleship Gray\",\n \"hex\": \"828F72\"\n },\n {\n \"name\": \"Merlot\",\n \"hex\": \"831923\"\n },\n {\n \"name\": \"Shadow\",\n \"hex\": \"837050\"\n },\n {\n \"name\": \"Chelsea Cucumber\",\n \"hex\": \"83AA5D\"\n },\n {\n \"name\": \"Monte Carlo\",\n \"hex\": \"83D0C6\"\n },\n {\n \"name\": \"Plum\",\n \"hex\": \"843179\"\n },\n {\n \"name\": \"Granny Smith\",\n \"hex\": \"84A0A0\"\n },\n {\n \"name\": \"Chetwode Blue\",\n \"hex\": \"8581D9\"\n },\n {\n \"name\": \"Bandicoot\",\n \"hex\": \"858470\"\n },\n {\n \"name\": \"Bali Hai\",\n \"hex\": \"859FAF\"\n },\n {\n \"name\": \"Half Baked\",\n \"hex\": \"85C4CC\"\n },\n {\n \"name\": \"Red Devil\",\n \"hex\": \"860111\"\n },\n {\n \"name\": \"Lotus\",\n \"hex\": \"863C3C\"\n },\n {\n \"name\": \"Ironstone\",\n \"hex\": \"86483C\"\n },\n {\n \"name\": \"Bull Shot\",\n \"hex\": \"864D1E\"\n },\n {\n \"name\": \"Rusty Nail\",\n \"hex\": \"86560A\"\n },\n {\n \"name\": \"Bitter\",\n \"hex\": \"868974\"\n },\n {\n \"name\": \"Regent Gray\",\n \"hex\": \"86949F\"\n },\n {\n \"name\": \"Disco\",\n \"hex\": \"871550\"\n },\n {\n \"name\": \"Americano\",\n \"hex\": \"87756E\"\n },\n {\n \"name\": \"Hurricane\",\n \"hex\": \"877C7B\"\n },\n {\n \"name\": \"Oslo Gray\",\n \"hex\": \"878D91\"\n },\n {\n \"name\": \"Sushi\",\n \"hex\": \"87AB39\"\n },\n {\n \"name\": \"Spicy Mix\",\n \"hex\": \"885342\"\n },\n {\n \"name\": \"Kumera\",\n \"hex\": \"886221\"\n },\n {\n \"name\": \"Suva Gray\",\n \"hex\": \"888387\"\n },\n {\n \"name\": \"Avocado\",\n \"hex\": \"888D65\"\n },\n {\n \"name\": \"Camelot\",\n \"hex\": \"893456\"\n },\n {\n \"name\": \"Solid Pink\",\n \"hex\": \"893843\"\n },\n {\n \"name\": \"Cannon Pink\",\n \"hex\": \"894367\"\n },\n {\n \"name\": \"Makara\",\n \"hex\": \"897D6D\"\n },\n {\n \"name\": \"Burnt Umber\",\n \"hex\": \"8A3324\"\n },\n {\n \"name\": \"True V\",\n \"hex\": \"8A73D6\"\n },\n {\n \"name\": \"Clay Creek\",\n \"hex\": \"8A8360\"\n },\n {\n \"name\": \"Monsoon\",\n \"hex\": \"8A8389\"\n },\n {\n \"name\": \"Stack\",\n \"hex\": \"8A8F8A\"\n },\n {\n \"name\": \"Jordy Blue\",\n \"hex\": \"8AB9F1\"\n },\n {\n \"name\": \"Electric Violet\",\n \"hex\": \"8B00FF\"\n },\n {\n \"name\": \"Monarch\",\n \"hex\": \"8B0723\"\n },\n {\n \"name\": \"Corn Harvest\",\n \"hex\": \"8B6B0B\"\n },\n {\n \"name\": \"Olive Haze\",\n \"hex\": \"8B8470\"\n },\n {\n \"name\": \"Schooner\",\n \"hex\": \"8B847E\"\n },\n {\n \"name\": \"Natural Gray\",\n \"hex\": \"8B8680\"\n },\n {\n \"name\": \"Mantle\",\n \"hex\": \"8B9C90\"\n },\n {\n \"name\": \"Portage\",\n \"hex\": \"8B9FEE\"\n },\n {\n \"name\": \"Envy\",\n \"hex\": \"8BA690\"\n },\n {\n \"name\": \"Cascade\",\n \"hex\": \"8BA9A5\"\n },\n {\n \"name\": \"Riptide\",\n \"hex\": \"8BE6D8\"\n },\n {\n \"name\": \"Cardinal Pink\",\n \"hex\": \"8C055E\"\n },\n {\n \"name\": \"Mule Fawn\",\n \"hex\": \"8C472F\"\n },\n {\n \"name\": \"Potters Clay\",\n \"hex\": \"8C5738\"\n },\n {\n \"name\": \"Trendy Pink\",\n \"hex\": \"8C6495\"\n },\n {\n \"name\": \"Paprika\",\n \"hex\": \"8D0226\"\n },\n {\n \"name\": \"Sanguine Brown\",\n \"hex\": \"8D3D38\"\n },\n {\n \"name\": \"Tosca\",\n \"hex\": \"8D3F3F\"\n },\n {\n \"name\": \"Cement\",\n \"hex\": \"8D7662\"\n },\n {\n \"name\": \"Granite Green\",\n \"hex\": \"8D8974\"\n },\n {\n \"name\": \"Manatee\",\n \"hex\": \"8D90A1\"\n },\n {\n \"name\": \"Polo Blue\",\n \"hex\": \"8DA8CC\"\n },\n {\n \"name\": \"Red Berry\",\n \"hex\": \"8E0000\"\n },\n {\n \"name\": \"Rope\",\n \"hex\": \"8E4D1E\"\n },\n {\n \"name\": \"Opium\",\n \"hex\": \"8E6F70\"\n },\n {\n \"name\": \"Domino\",\n \"hex\": \"8E775E\"\n },\n {\n \"name\": \"Mamba\",\n \"hex\": \"8E8190\"\n },\n {\n \"name\": \"Nepal\",\n \"hex\": \"8EABC1\"\n },\n {\n \"name\": \"Pohutukawa\",\n \"hex\": \"8F021C\"\n },\n {\n \"name\": \"El Salva\",\n \"hex\": \"8F3E33\"\n },\n {\n \"name\": \"Korma\",\n \"hex\": \"8F4B0E\"\n },\n {\n \"name\": \"Squirrel\",\n \"hex\": \"8F8176\"\n },\n {\n \"name\": \"Vista Blue\",\n \"hex\": \"8FD6B4\"\n },\n {\n \"name\": \"Burgundy\",\n \"hex\": \"900020\"\n },\n {\n \"name\": \"Old Brick\",\n \"hex\": \"901E1E\"\n },\n {\n \"name\": \"Hemp\",\n \"hex\": \"907874\"\n },\n {\n \"name\": \"Almond Frost\",\n \"hex\": \"907B71\"\n },\n {\n \"name\": \"Sycamore\",\n \"hex\": \"908D39\"\n },\n {\n \"name\": \"Sangria\",\n \"hex\": \"92000A\"\n },\n {\n \"name\": \"Cumin\",\n \"hex\": \"924321\"\n },\n {\n \"name\": \"Beaver\",\n \"hex\": \"926F5B\"\n },\n {\n \"name\": \"Stonewall\",\n \"hex\": \"928573\"\n },\n {\n \"name\": \"Venus\",\n \"hex\": \"928590\"\n },\n {\n \"name\": \"Medium Purple\",\n \"hex\": \"9370DB\"\n },\n {\n \"name\": \"Cornflower\",\n \"hex\": \"93CCEA\"\n },\n {\n \"name\": \"Algae Green\",\n \"hex\": \"93DFB8\"\n },\n {\n \"name\": \"Copper Rust\",\n \"hex\": \"944747\"\n },\n {\n \"name\": \"Arrowtown\",\n \"hex\": \"948771\"\n },\n {\n \"name\": \"Scarlett\",\n \"hex\": \"950015\"\n },\n {\n \"name\": \"Strikemaster\",\n \"hex\": \"956387\"\n },\n {\n \"name\": \"Mountain Mist\",\n \"hex\": \"959396\"\n },\n {\n \"name\": \"Carmine\",\n \"hex\": \"960018\"\n },\n {\n \"name\": \"Brown\",\n \"hex\": \"964B00\"\n },\n {\n \"name\": \"Leather\",\n \"hex\": \"967059\"\n },\n {\n \"name\": \"Purple Mountain's Majesty\",\n \"hex\": \"9678B6\"\n },\n {\n \"name\": \"Lavender Purple\",\n \"hex\": \"967BB6\"\n },\n {\n \"name\": \"Pewter\",\n \"hex\": \"96A8A1\"\n },\n {\n \"name\": \"Summer Green\",\n \"hex\": \"96BBAB\"\n },\n {\n \"name\": \"Au Chico\",\n \"hex\": \"97605D\"\n },\n {\n \"name\": \"Wisteria\",\n \"hex\": \"9771B5\"\n },\n {\n \"name\": \"Atlantis\",\n \"hex\": \"97CD2D\"\n },\n {\n \"name\": \"Vin Rouge\",\n \"hex\": \"983D61\"\n },\n {\n \"name\": \"Lilac Bush\",\n \"hex\": \"9874D3\"\n },\n {\n \"name\": \"Bazaar\",\n \"hex\": \"98777B\"\n },\n {\n \"name\": \"Hacienda\",\n \"hex\": \"98811B\"\n },\n {\n \"name\": \"Pale Oyster\",\n \"hex\": \"988D77\"\n },\n {\n \"name\": \"Mint Green\",\n \"hex\": \"98FF98\"\n },\n {\n \"name\": \"Fresh Eggplant\",\n \"hex\": \"990066\"\n },\n {\n \"name\": \"Violet Eggplant\",\n \"hex\": \"991199\"\n },\n {\n \"name\": \"Tamarillo\",\n \"hex\": \"991613\"\n },\n {\n \"name\": \"Totem Pole\",\n \"hex\": \"991B07\"\n },\n {\n \"name\": \"Copper Rose\",\n \"hex\": \"996666\"\n },\n {\n \"name\": \"Amethyst\",\n \"hex\": \"9966CC\"\n },\n {\n \"name\": \"Mountbatten Pink\",\n \"hex\": \"997A8D\"\n },\n {\n \"name\": \"Blue Bell\",\n \"hex\": \"9999CC\"\n },\n {\n \"name\": \"Prairie Sand\",\n \"hex\": \"9A3820\"\n },\n {\n \"name\": \"Toast\",\n \"hex\": \"9A6E61\"\n },\n {\n \"name\": \"Gurkha\",\n \"hex\": \"9A9577\"\n },\n {\n \"name\": \"Olivine\",\n \"hex\": \"9AB973\"\n },\n {\n \"name\": \"Shadow Green\",\n \"hex\": \"9AC2B8\"\n },\n {\n \"name\": \"Oregon\",\n \"hex\": \"9B4703\"\n },\n {\n \"name\": \"Lemon Grass\",\n \"hex\": \"9B9E8F\"\n },\n {\n \"name\": \"Stiletto\",\n \"hex\": \"9C3336\"\n },\n {\n \"name\": \"Hawaiian Tan\",\n \"hex\": \"9D5616\"\n },\n {\n \"name\": \"Gull Gray\",\n \"hex\": \"9DACB7\"\n },\n {\n \"name\": \"Pistachio\",\n \"hex\": \"9DC209\"\n },\n {\n \"name\": \"Granny Smith Apple\",\n \"hex\": \"9DE093\"\n },\n {\n \"name\": \"Anakiwa\",\n \"hex\": \"9DE5FF\"\n },\n {\n \"name\": \"Chelsea Gem\",\n \"hex\": \"9E5302\"\n },\n {\n \"name\": \"Sepia Skin\",\n \"hex\": \"9E5B40\"\n },\n {\n \"name\": \"Sage\",\n \"hex\": \"9EA587\"\n },\n {\n \"name\": \"Citron\",\n \"hex\": \"9EA91F\"\n },\n {\n \"name\": \"Rock Blue\",\n \"hex\": \"9EB1CD\"\n },\n {\n \"name\": \"Morning Glory\",\n \"hex\": \"9EDEE0\"\n },\n {\n \"name\": \"Cognac\",\n \"hex\": \"9F381D\"\n },\n {\n \"name\": \"Reef Gold\",\n \"hex\": \"9F821C\"\n },\n {\n \"name\": \"Star Dust\",\n \"hex\": \"9F9F9C\"\n },\n {\n \"name\": \"Santas Gray\",\n \"hex\": \"9FA0B1\"\n },\n {\n \"name\": \"Sinbad\",\n \"hex\": \"9FD7D3\"\n },\n {\n \"name\": \"Feijoa\",\n \"hex\": \"9FDD8C\"\n },\n {\n \"name\": \"Tabasco\",\n \"hex\": \"A02712\"\n },\n {\n \"name\": \"Buttered Rum\",\n \"hex\": \"A1750D\"\n },\n {\n \"name\": \"Hit Gray\",\n \"hex\": \"A1ADB5\"\n },\n {\n \"name\": \"Citrus\",\n \"hex\": \"A1C50A\"\n },\n {\n \"name\": \"Aqua Island\",\n \"hex\": \"A1DAD7\"\n },\n {\n \"name\": \"Water Leaf\",\n \"hex\": \"A1E9DE\"\n },\n {\n \"name\": \"Flirt\",\n \"hex\": \"A2006D\"\n },\n {\n \"name\": \"Rouge\",\n \"hex\": \"A23B6C\"\n },\n {\n \"name\": \"Cape Palliser\",\n \"hex\": \"A26645\"\n },\n {\n \"name\": \"Gray Chateau\",\n \"hex\": \"A2AAB3\"\n },\n {\n \"name\": \"Edward\",\n \"hex\": \"A2AEAB\"\n },\n {\n \"name\": \"Pharlap\",\n \"hex\": \"A3807B\"\n },\n {\n \"name\": \"Amethyst Smoke\",\n \"hex\": \"A397B4\"\n },\n {\n \"name\": \"Blizzard Blue\",\n \"hex\": \"A3E3ED\"\n },\n {\n \"name\": \"Delta\",\n \"hex\": \"A4A49D\"\n },\n {\n \"name\": \"Wistful\",\n \"hex\": \"A4A6D3\"\n },\n {\n \"name\": \"Green Smoke\",\n \"hex\": \"A4AF6E\"\n },\n {\n \"name\": \"Jazzberry Jam\",\n \"hex\": \"A50B5E\"\n },\n {\n \"name\": \"Zorba\",\n \"hex\": \"A59B91\"\n },\n {\n \"name\": \"Bahia\",\n \"hex\": \"A5CB0C\"\n },\n {\n \"name\": \"Roof Terracotta\",\n \"hex\": \"A62F20\"\n },\n {\n \"name\": \"Paarl\",\n \"hex\": \"A65529\"\n },\n {\n \"name\": \"Barley Corn\",\n \"hex\": \"A68B5B\"\n },\n {\n \"name\": \"Donkey Brown\",\n \"hex\": \"A69279\"\n },\n {\n \"name\": \"Dawn\",\n \"hex\": \"A6A29A\"\n },\n {\n \"name\": \"Mexican Red\",\n \"hex\": \"A72525\"\n },\n {\n \"name\": \"Luxor Gold\",\n \"hex\": \"A7882C\"\n },\n {\n \"name\": \"Rich Gold\",\n \"hex\": \"A85307\"\n },\n {\n \"name\": \"Reno Sand\",\n \"hex\": \"A86515\"\n },\n {\n \"name\": \"Coral Tree\",\n \"hex\": \"A86B6B\"\n },\n {\n \"name\": \"Dusty Gray\",\n \"hex\": \"A8989B\"\n },\n {\n \"name\": \"Dull Lavender\",\n \"hex\": \"A899E6\"\n },\n {\n \"name\": \"Tallow\",\n \"hex\": \"A8A589\"\n },\n {\n \"name\": \"Bud\",\n \"hex\": \"A8AE9C\"\n },\n {\n \"name\": \"Locust\",\n \"hex\": \"A8AF8E\"\n },\n {\n \"name\": \"Norway\",\n \"hex\": \"A8BD9F\"\n },\n {\n \"name\": \"Chinook\",\n \"hex\": \"A8E3BD\"\n },\n {\n \"name\": \"Gray Olive\",\n \"hex\": \"A9A491\"\n },\n {\n \"name\": \"Aluminium\",\n \"hex\": \"A9ACB6\"\n },\n {\n \"name\": \"Cadet Blue\",\n \"hex\": \"A9B2C3\"\n },\n {\n \"name\": \"Schist\",\n \"hex\": \"A9B497\"\n },\n {\n \"name\": \"Tower Gray\",\n \"hex\": \"A9BDBF\"\n },\n {\n \"name\": \"Perano\",\n \"hex\": \"A9BEF2\"\n },\n {\n \"name\": \"Opal\",\n \"hex\": \"A9C6C2\"\n },\n {\n \"name\": \"Night Shadz\",\n \"hex\": \"AA375A\"\n },\n {\n \"name\": \"Fire\",\n \"hex\": \"AA4203\"\n },\n {\n \"name\": \"Muesli\",\n \"hex\": \"AA8B5B\"\n },\n {\n \"name\": \"Sandal\",\n \"hex\": \"AA8D6F\"\n },\n {\n \"name\": \"Shady Lady\",\n \"hex\": \"AAA5A9\"\n },\n {\n \"name\": \"Logan\",\n \"hex\": \"AAA9CD\"\n },\n {\n \"name\": \"Spun Pearl\",\n \"hex\": \"AAABB7\"\n },\n {\n \"name\": \"Regent St Blue\",\n \"hex\": \"AAD6E6\"\n },\n {\n \"name\": \"Magic Mint\",\n \"hex\": \"AAF0D1\"\n },\n {\n \"name\": \"Lipstick\",\n \"hex\": \"AB0563\"\n },\n {\n \"name\": \"Royal Heath\",\n \"hex\": \"AB3472\"\n },\n {\n \"name\": \"Sandrift\",\n \"hex\": \"AB917A\"\n },\n {\n \"name\": \"Cold Purple\",\n \"hex\": \"ABA0D9\"\n },\n {\n \"name\": \"Bronco\",\n \"hex\": \"ABA196\"\n },\n {\n \"name\": \"Limed Oak\",\n \"hex\": \"AC8A56\"\n },\n {\n \"name\": \"East Side\",\n \"hex\": \"AC91CE\"\n },\n {\n \"name\": \"Lemon Ginger\",\n \"hex\": \"AC9E22\"\n },\n {\n \"name\": \"Napa\",\n \"hex\": \"ACA494\"\n },\n {\n \"name\": \"Hillary\",\n \"hex\": \"ACA586\"\n },\n {\n \"name\": \"Cloudy\",\n \"hex\": \"ACA59F\"\n },\n {\n \"name\": \"Silver Chalice\",\n \"hex\": \"ACACAC\"\n },\n {\n \"name\": \"Swamp Green\",\n \"hex\": \"ACB78E\"\n },\n {\n \"name\": \"Spring Rain\",\n \"hex\": \"ACCBB1\"\n },\n {\n \"name\": \"Conifer\",\n \"hex\": \"ACDD4D\"\n },\n {\n \"name\": \"Celadon\",\n \"hex\": \"ACE1AF\"\n },\n {\n \"name\": \"Mandalay\",\n \"hex\": \"AD781B\"\n },\n {\n \"name\": \"Casper\",\n \"hex\": \"ADBED1\"\n },\n {\n \"name\": \"Moss Green\",\n \"hex\": \"ADDFAD\"\n },\n {\n \"name\": \"Padua\",\n \"hex\": \"ADE6C4\"\n },\n {\n \"name\": \"Green Yellow\",\n \"hex\": \"ADFF2F\"\n },\n {\n \"name\": \"Hippie Pink\",\n \"hex\": \"AE4560\"\n },\n {\n \"name\": \"Desert\",\n \"hex\": \"AE6020\"\n },\n {\n \"name\": \"Bouquet\",\n \"hex\": \"AE809E\"\n },\n {\n \"name\": \"Medium Carmine\",\n \"hex\": \"AF4035\"\n },\n {\n \"name\": \"Apple Blossom\",\n \"hex\": \"AF4D43\"\n },\n {\n \"name\": \"Brown Rust\",\n \"hex\": \"AF593E\"\n },\n {\n \"name\": \"Driftwood\",\n \"hex\": \"AF8751\"\n },\n {\n \"name\": \"Alpine\",\n \"hex\": \"AF8F2C\"\n },\n {\n \"name\": \"Lucky\",\n \"hex\": \"AF9F1C\"\n },\n {\n \"name\": \"Martini\",\n \"hex\": \"AFA09E\"\n },\n {\n \"name\": \"Bombay\",\n \"hex\": \"AFB1B8\"\n },\n {\n \"name\": \"Pigeon Post\",\n \"hex\": \"AFBDD9\"\n },\n {\n \"name\": \"Cadillac\",\n \"hex\": \"B04C6A\"\n },\n {\n \"name\": \"Matrix\",\n \"hex\": \"B05D54\"\n },\n {\n \"name\": \"Tapestry\",\n \"hex\": \"B05E81\"\n },\n {\n \"name\": \"Mai Tai\",\n \"hex\": \"B06608\"\n },\n {\n \"name\": \"Del Rio\",\n \"hex\": \"B09A95\"\n },\n {\n \"name\": \"Powder Blue\",\n \"hex\": \"B0E0E6\"\n },\n {\n \"name\": \"Inch Worm\",\n \"hex\": \"B0E313\"\n },\n {\n \"name\": \"Bright Red\",\n \"hex\": \"B10000\"\n },\n {\n \"name\": \"Vesuvius\",\n \"hex\": \"B14A0B\"\n },\n {\n \"name\": \"Pumpkin Skin\",\n \"hex\": \"B1610B\"\n },\n {\n \"name\": \"Santa Fe\",\n \"hex\": \"B16D52\"\n },\n {\n \"name\": \"Teak\",\n \"hex\": \"B19461\"\n },\n {\n \"name\": \"Fringy Flower\",\n \"hex\": \"B1E2C1\"\n },\n {\n \"name\": \"Ice Cold\",\n \"hex\": \"B1F4E7\"\n },\n {\n \"name\": \"Shiraz\",\n \"hex\": \"B20931\"\n },\n {\n \"name\": \"Biloba Flower\",\n \"hex\": \"B2A1EA\"\n },\n {\n \"name\": \"Tall Poppy\",\n \"hex\": \"B32D29\"\n },\n {\n \"name\": \"Fiery Orange\",\n \"hex\": \"B35213\"\n },\n {\n \"name\": \"Hot Toddy\",\n \"hex\": \"B38007\"\n },\n {\n \"name\": \"Taupe Gray\",\n \"hex\": \"B3AF95\"\n },\n {\n \"name\": \"La Rioja\",\n \"hex\": \"B3C110\"\n },\n {\n \"name\": \"Well Read\",\n \"hex\": \"B43332\"\n },\n {\n \"name\": \"Blush\",\n \"hex\": \"B44668\"\n },\n {\n \"name\": \"Jungle Mist\",\n \"hex\": \"B4CFD3\"\n },\n {\n \"name\": \"Turkish Rose\",\n \"hex\": \"B57281\"\n },\n {\n \"name\": \"Lavender\",\n \"hex\": \"B57EDC\"\n },\n {\n \"name\": \"Mongoose\",\n \"hex\": \"B5A27F\"\n },\n {\n \"name\": \"Olive Green\",\n \"hex\": \"B5B35C\"\n },\n {\n \"name\": \"Jet Stream\",\n \"hex\": \"B5D2CE\"\n },\n {\n \"name\": \"Cruise\",\n \"hex\": \"B5ECDF\"\n },\n {\n \"name\": \"Hibiscus\",\n \"hex\": \"B6316C\"\n },\n {\n \"name\": \"Thatch\",\n \"hex\": \"B69D98\"\n },\n {\n \"name\": \"Heathered Gray\",\n \"hex\": \"B6B095\"\n },\n {\n \"name\": \"Eagle\",\n \"hex\": \"B6BAA4\"\n },\n {\n \"name\": \"Spindle\",\n \"hex\": \"B6D1EA\"\n },\n {\n \"name\": \"Gum Leaf\",\n \"hex\": \"B6D3BF\"\n },\n {\n \"name\": \"Rust\",\n \"hex\": \"B7410E\"\n },\n {\n \"name\": \"Muddy Waters\",\n \"hex\": \"B78E5C\"\n },\n {\n \"name\": \"Sahara\",\n \"hex\": \"B7A214\"\n },\n {\n \"name\": \"Husk\",\n \"hex\": \"B7A458\"\n },\n {\n \"name\": \"Nobel\",\n \"hex\": \"B7B1B1\"\n },\n {\n \"name\": \"Heather\",\n \"hex\": \"B7C3D0\"\n },\n {\n \"name\": \"Madang\",\n \"hex\": \"B7F0BE\"\n },\n {\n \"name\": \"Milano Red\",\n \"hex\": \"B81104\"\n },\n {\n \"name\": \"Copper\",\n \"hex\": \"B87333\"\n },\n {\n \"name\": \"Gimblet\",\n \"hex\": \"B8B56A\"\n },\n {\n \"name\": \"Green Spring\",\n \"hex\": \"B8C1B1\"\n },\n {\n \"name\": \"Celery\",\n \"hex\": \"B8C25D\"\n },\n {\n \"name\": \"Sail\",\n \"hex\": \"B8E0F9\"\n },\n {\n \"name\": \"Chestnut\",\n \"hex\": \"B94E48\"\n },\n {\n \"name\": \"Crail\",\n \"hex\": \"B95140\"\n },\n {\n \"name\": \"Marigold\",\n \"hex\": \"B98D28\"\n },\n {\n \"name\": \"Wild Willow\",\n \"hex\": \"B9C46A\"\n },\n {\n \"name\": \"Rainee\",\n \"hex\": \"B9C8AC\"\n },\n {\n \"name\": \"Guardsman Red\",\n \"hex\": \"BA0101\"\n },\n {\n \"name\": \"Rock Spray\",\n \"hex\": \"BA450C\"\n },\n {\n \"name\": \"Bourbon\",\n \"hex\": \"BA6F1E\"\n },\n {\n \"name\": \"Pirate Gold\",\n \"hex\": \"BA7F03\"\n },\n {\n \"name\": \"Nomad\",\n \"hex\": \"BAB1A2\"\n },\n {\n \"name\": \"Submarine\",\n \"hex\": \"BAC7C9\"\n },\n {\n \"name\": \"Charlotte\",\n \"hex\": \"BAEEF9\"\n },\n {\n \"name\": \"Medium Red Violet\",\n \"hex\": \"BB3385\"\n },\n {\n \"name\": \"Brandy Rose\",\n \"hex\": \"BB8983\"\n },\n {\n \"name\": \"Rio Grande\",\n \"hex\": \"BBD009\"\n },\n {\n \"name\": \"Surf\",\n \"hex\": \"BBD7C1\"\n },\n {\n \"name\": \"Powder Ash\",\n \"hex\": \"BCC9C2\"\n },\n {\n \"name\": \"Tuscany\",\n \"hex\": \"BD5E2E\"\n },\n {\n \"name\": \"Quicksand\",\n \"hex\": \"BD978E\"\n },\n {\n \"name\": \"Silk\",\n \"hex\": \"BDB1A8\"\n },\n {\n \"name\": \"Malta\",\n \"hex\": \"BDB2A1\"\n },\n {\n \"name\": \"Chatelle\",\n \"hex\": \"BDB3C7\"\n },\n {\n \"name\": \"Lavender Gray\",\n \"hex\": \"BDBBD7\"\n },\n {\n \"name\": \"French Gray\",\n \"hex\": \"BDBDC6\"\n },\n {\n \"name\": \"Clay Ash\",\n \"hex\": \"BDC8B3\"\n },\n {\n \"name\": \"Loblolly\",\n \"hex\": \"BDC9CE\"\n },\n {\n \"name\": \"French Pass\",\n \"hex\": \"BDEDFD\"\n },\n {\n \"name\": \"London Hue\",\n \"hex\": \"BEA6C3\"\n },\n {\n \"name\": \"Pink Swan\",\n \"hex\": \"BEB5B7\"\n },\n {\n \"name\": \"Fuego\",\n \"hex\": \"BEDE0D\"\n },\n {\n \"name\": \"Rose of Sharon\",\n \"hex\": \"BF5500\"\n },\n {\n \"name\": \"Tide\",\n \"hex\": \"BFB8B0\"\n },\n {\n \"name\": \"Blue Haze\",\n \"hex\": \"BFBED8\"\n },\n {\n \"name\": \"Silver Sand\",\n \"hex\": \"BFC1C2\"\n },\n {\n \"name\": \"Key Lime Pie\",\n \"hex\": \"BFC921\"\n },\n {\n \"name\": \"Ziggurat\",\n \"hex\": \"BFDBE2\"\n },\n {\n \"name\": \"Lime\",\n \"hex\": \"BFFF00\"\n },\n {\n \"name\": \"Thunderbird\",\n \"hex\": \"C02B18\"\n },\n {\n \"name\": \"Mojo\",\n \"hex\": \"C04737\"\n },\n {\n \"name\": \"Old Rose\",\n \"hex\": \"C08081\"\n },\n {\n \"name\": \"Silver\",\n \"hex\": \"C0C0C0\"\n },\n {\n \"name\": \"Pale Leaf\",\n \"hex\": \"C0D3B9\"\n },\n {\n \"name\": \"Pixie Green\",\n \"hex\": \"C0D8B6\"\n },\n {\n \"name\": \"Tia Maria\",\n \"hex\": \"C1440E\"\n },\n {\n \"name\": \"Fuchsia Pink\",\n \"hex\": \"C154C1\"\n },\n {\n \"name\": \"Buddha Gold\",\n \"hex\": \"C1A004\"\n },\n {\n \"name\": \"Bison Hide\",\n \"hex\": \"C1B7A4\"\n },\n {\n \"name\": \"Tea\",\n \"hex\": \"C1BAB0\"\n },\n {\n \"name\": \"Gray Suit\",\n \"hex\": \"C1BECD\"\n },\n {\n \"name\": \"Sprout\",\n \"hex\": \"C1D7B0\"\n },\n {\n \"name\": \"Sulu\",\n \"hex\": \"C1F07C\"\n },\n {\n \"name\": \"Indochine\",\n \"hex\": \"C26B03\"\n },\n {\n \"name\": \"Twine\",\n \"hex\": \"C2955D\"\n },\n {\n \"name\": \"Cotton Seed\",\n \"hex\": \"C2BDB6\"\n },\n {\n \"name\": \"Pumice\",\n \"hex\": \"C2CAC4\"\n },\n {\n \"name\": \"Jagged Ice\",\n \"hex\": \"C2E8E5\"\n },\n {\n \"name\": \"Maroon Flush\",\n \"hex\": \"C32148\"\n },\n {\n \"name\": \"Indian Khaki\",\n \"hex\": \"C3B091\"\n },\n {\n \"name\": \"Pale Slate\",\n \"hex\": \"C3BFC1\"\n },\n {\n \"name\": \"Gray Nickel\",\n \"hex\": \"C3C3BD\"\n },\n {\n \"name\": \"Periwinkle Gray\",\n \"hex\": \"C3CDE6\"\n },\n {\n \"name\": \"Tiara\",\n \"hex\": \"C3D1D1\"\n },\n {\n \"name\": \"Tropical Blue\",\n \"hex\": \"C3DDF9\"\n },\n {\n \"name\": \"Cardinal\",\n \"hex\": \"C41E3A\"\n },\n {\n \"name\": \"Fuzzy Wuzzy Brown\",\n \"hex\": \"C45655\"\n },\n {\n \"name\": \"Orange Roughy\",\n \"hex\": \"C45719\"\n },\n {\n \"name\": \"Mist Gray\",\n \"hex\": \"C4C4BC\"\n },\n {\n \"name\": \"Coriander\",\n \"hex\": \"C4D0B0\"\n },\n {\n \"name\": \"Mint Tulip\",\n \"hex\": \"C4F4EB\"\n },\n {\n \"name\": \"Mulberry\",\n \"hex\": \"C54B8C\"\n },\n {\n \"name\": \"Nugget\",\n \"hex\": \"C59922\"\n },\n {\n \"name\": \"Tussock\",\n \"hex\": \"C5994B\"\n },\n {\n \"name\": \"Sea Mist\",\n \"hex\": \"C5DBCA\"\n },\n {\n \"name\": \"Yellow Green\",\n \"hex\": \"C5E17A\"\n },\n {\n \"name\": \"Brick Red\",\n \"hex\": \"C62D42\"\n },\n {\n \"name\": \"Contessa\",\n \"hex\": \"C6726B\"\n },\n {\n \"name\": \"Oriental Pink\",\n \"hex\": \"C69191\"\n },\n {\n \"name\": \"Roti\",\n \"hex\": \"C6A84B\"\n },\n {\n \"name\": \"Ash\",\n \"hex\": \"C6C3B5\"\n },\n {\n \"name\": \"Kangaroo\",\n \"hex\": \"C6C8BD\"\n },\n {\n \"name\": \"Las Palmas\",\n \"hex\": \"C6E610\"\n },\n {\n \"name\": \"Monza\",\n \"hex\": \"C7031E\"\n },\n {\n \"name\": \"Red Violet\",\n \"hex\": \"C71585\"\n },\n {\n \"name\": \"Coral Reef\",\n \"hex\": \"C7BCA2\"\n },\n {\n \"name\": \"Melrose\",\n \"hex\": \"C7C1FF\"\n },\n {\n \"name\": \"Cloud\",\n \"hex\": \"C7C4BF\"\n },\n {\n \"name\": \"Ghost\",\n \"hex\": \"C7C9D5\"\n },\n {\n \"name\": \"Pine Glade\",\n \"hex\": \"C7CD90\"\n },\n {\n \"name\": \"Botticelli\",\n \"hex\": \"C7DDE5\"\n },\n {\n \"name\": \"Antique Brass\",\n \"hex\": \"C88A65\"\n },\n {\n \"name\": \"Lilac\",\n \"hex\": \"C8A2C8\"\n },\n {\n \"name\": \"Hokey Pokey\",\n \"hex\": \"C8A528\"\n },\n {\n \"name\": \"Lily\",\n \"hex\": \"C8AABF\"\n },\n {\n \"name\": \"Laser\",\n \"hex\": \"C8B568\"\n },\n {\n \"name\": \"Edgewater\",\n \"hex\": \"C8E3D7\"\n },\n {\n \"name\": \"Piper\",\n \"hex\": \"C96323\"\n },\n {\n \"name\": \"Pizza\",\n \"hex\": \"C99415\"\n },\n {\n \"name\": \"Light Wisteria\",\n \"hex\": \"C9A0DC\"\n },\n {\n \"name\": \"Rodeo Dust\",\n \"hex\": \"C9B29B\"\n },\n {\n \"name\": \"Sundance\",\n \"hex\": \"C9B35B\"\n },\n {\n \"name\": \"Earls Green\",\n \"hex\": \"C9B93B\"\n },\n {\n \"name\": \"Silver Rust\",\n \"hex\": \"C9C0BB\"\n },\n {\n \"name\": \"Conch\",\n \"hex\": \"C9D9D2\"\n },\n {\n \"name\": \"Reef\",\n \"hex\": \"C9FFA2\"\n },\n {\n \"name\": \"Aero Blue\",\n \"hex\": \"C9FFE5\"\n },\n {\n \"name\": \"Flush Mahogany\",\n \"hex\": \"CA3435\"\n },\n {\n \"name\": \"Turmeric\",\n \"hex\": \"CABB48\"\n },\n {\n \"name\": \"Paris White\",\n \"hex\": \"CADCD4\"\n },\n {\n \"name\": \"Bitter Lemon\",\n \"hex\": \"CAE00D\"\n },\n {\n \"name\": \"Skeptic\",\n \"hex\": \"CAE6DA\"\n },\n {\n \"name\": \"Viola\",\n \"hex\": \"CB8FA9\"\n },\n {\n \"name\": \"Foggy Gray\",\n \"hex\": \"CBCAB6\"\n },\n {\n \"name\": \"Green Mist\",\n \"hex\": \"CBD3B0\"\n },\n {\n \"name\": \"Nebula\",\n \"hex\": \"CBDBD6\"\n },\n {\n \"name\": \"Persian Red\",\n \"hex\": \"CC3333\"\n },\n {\n \"name\": \"Burnt Orange\",\n \"hex\": \"CC5500\"\n },\n {\n \"name\": \"Ochre\",\n \"hex\": \"CC7722\"\n },\n {\n \"name\": \"Puce\",\n \"hex\": \"CC8899\"\n },\n {\n \"name\": \"Thistle Green\",\n \"hex\": \"CCCAA8\"\n },\n {\n \"name\": \"Periwinkle\",\n \"hex\": \"CCCCFF\"\n },\n {\n \"name\": \"Electric Lime\",\n \"hex\": \"CCFF00\"\n },\n {\n \"name\": \"Tenn\",\n \"hex\": \"CD5700\"\n },\n {\n \"name\": \"Chestnut Rose\",\n \"hex\": \"CD5C5C\"\n },\n {\n \"name\": \"Brandy Punch\",\n \"hex\": \"CD8429\"\n },\n {\n \"name\": \"Onahau\",\n \"hex\": \"CDF4FF\"\n },\n {\n \"name\": \"Sorrell Brown\",\n \"hex\": \"CEB98F\"\n },\n {\n \"name\": \"Cold Turkey\",\n \"hex\": \"CEBABA\"\n },\n {\n \"name\": \"Yuma\",\n \"hex\": \"CEC291\"\n },\n {\n \"name\": \"Chino\",\n \"hex\": \"CEC7A7\"\n },\n {\n \"name\": \"Eunry\",\n \"hex\": \"CFA39D\"\n },\n {\n \"name\": \"Old Gold\",\n \"hex\": \"CFB53B\"\n },\n {\n \"name\": \"Tasman\",\n \"hex\": \"CFDCCF\"\n },\n {\n \"name\": \"Surf Crest\",\n \"hex\": \"CFE5D2\"\n },\n {\n \"name\": \"Humming Bird\",\n \"hex\": \"CFF9F3\"\n },\n {\n \"name\": \"Scandal\",\n \"hex\": \"CFFAF4\"\n },\n {\n \"name\": \"Red Stage\",\n \"hex\": \"D05F04\"\n },\n {\n \"name\": \"Hopbush\",\n \"hex\": \"D06DA1\"\n },\n {\n \"name\": \"Meteor\",\n \"hex\": \"D07D12\"\n },\n {\n \"name\": \"Perfume\",\n \"hex\": \"D0BEF8\"\n },\n {\n \"name\": \"Prelude\",\n \"hex\": \"D0C0E5\"\n },\n {\n \"name\": \"Tea Green\",\n \"hex\": \"D0F0C0\"\n },\n {\n \"name\": \"Geebung\",\n \"hex\": \"D18F1B\"\n },\n {\n \"name\": \"Vanilla\",\n \"hex\": \"D1BEA8\"\n },\n {\n \"name\": \"Soft Amber\",\n \"hex\": \"D1C6B4\"\n },\n {\n \"name\": \"Celeste\",\n \"hex\": \"D1D2CA\"\n },\n {\n \"name\": \"Mischka\",\n \"hex\": \"D1D2DD\"\n },\n {\n \"name\": \"Pear\",\n \"hex\": \"D1E231\"\n },\n {\n \"name\": \"Hot Cinnamon\",\n \"hex\": \"D2691E\"\n },\n {\n \"name\": \"Raw Sienna\",\n \"hex\": \"D27D46\"\n },\n {\n \"name\": \"Careys Pink\",\n \"hex\": \"D29EAA\"\n },\n {\n \"name\": \"Tan\",\n \"hex\": \"D2B48C\"\n },\n {\n \"name\": \"Deco\",\n \"hex\": \"D2DA97\"\n },\n {\n \"name\": \"Blue Romance\",\n \"hex\": \"D2F6DE\"\n },\n {\n \"name\": \"Gossip\",\n \"hex\": \"D2F8B0\"\n },\n {\n \"name\": \"Sisal\",\n \"hex\": \"D3CBBA\"\n },\n {\n \"name\": \"Swirl\",\n \"hex\": \"D3CDC5\"\n },\n {\n \"name\": \"Charm\",\n \"hex\": \"D47494\"\n },\n {\n \"name\": \"Clam Shell\",\n \"hex\": \"D4B6AF\"\n },\n {\n \"name\": \"Straw\",\n \"hex\": \"D4BF8D\"\n },\n {\n \"name\": \"Akaroa\",\n \"hex\": \"D4C4A8\"\n },\n {\n \"name\": \"Bird Flower\",\n \"hex\": \"D4CD16\"\n },\n {\n \"name\": \"Iron\",\n \"hex\": \"D4D7D9\"\n },\n {\n \"name\": \"Geyser\",\n \"hex\": \"D4DFE2\"\n },\n {\n \"name\": \"Hawkes Blue\",\n \"hex\": \"D4E2FC\"\n },\n {\n \"name\": \"Grenadier\",\n \"hex\": \"D54600\"\n },\n {\n \"name\": \"Can Can\",\n \"hex\": \"D591A4\"\n },\n {\n \"name\": \"Whiskey\",\n \"hex\": \"D59A6F\"\n },\n {\n \"name\": \"Winter Hazel\",\n \"hex\": \"D5D195\"\n },\n {\n \"name\": \"Granny Apple\",\n \"hex\": \"D5F6E3\"\n },\n {\n \"name\": \"My Pink\",\n \"hex\": \"D69188\"\n },\n {\n \"name\": \"Tacha\",\n \"hex\": \"D6C562\"\n },\n {\n \"name\": \"Moon Raker\",\n \"hex\": \"D6CEF6\"\n },\n {\n \"name\": \"Quill Gray\",\n \"hex\": \"D6D6D1\"\n },\n {\n \"name\": \"Snowy Mint\",\n \"hex\": \"D6FFDB\"\n },\n {\n \"name\": \"New York Pink\",\n \"hex\": \"D7837F\"\n },\n {\n \"name\": \"Pavlova\",\n \"hex\": \"D7C498\"\n },\n {\n \"name\": \"Fog\",\n \"hex\": \"D7D0FF\"\n },\n {\n \"name\": \"Valencia\",\n \"hex\": \"D84437\"\n },\n {\n \"name\": \"Japonica\",\n \"hex\": \"D87C63\"\n },\n {\n \"name\": \"Thistle\",\n \"hex\": \"D8BFD8\"\n },\n {\n \"name\": \"Maverick\",\n \"hex\": \"D8C2D5\"\n },\n {\n \"name\": \"Foam\",\n \"hex\": \"D8FCFA\"\n },\n {\n \"name\": \"Cabaret\",\n \"hex\": \"D94972\"\n },\n {\n \"name\": \"Burning Sand\",\n \"hex\": \"D99376\"\n },\n {\n \"name\": \"Cameo\",\n \"hex\": \"D9B99B\"\n },\n {\n \"name\": \"Timberwolf\",\n \"hex\": \"D9D6CF\"\n },\n {\n \"name\": \"Tana\",\n \"hex\": \"D9DCC1\"\n },\n {\n \"name\": \"Link Water\",\n \"hex\": \"D9E4F5\"\n },\n {\n \"name\": \"Mabel\",\n \"hex\": \"D9F7FF\"\n },\n {\n \"name\": \"Cerise\",\n \"hex\": \"DA3287\"\n },\n {\n \"name\": \"Flame Pea\",\n \"hex\": \"DA5B38\"\n },\n {\n \"name\": \"Bamboo\",\n \"hex\": \"DA6304\"\n },\n {\n \"name\": \"Red Damask\",\n \"hex\": \"DA6A41\"\n },\n {\n \"name\": \"Orchid\",\n \"hex\": \"DA70D6\"\n },\n {\n \"name\": \"Copperfield\",\n \"hex\": \"DA8A67\"\n },\n {\n \"name\": \"Golden Grass\",\n \"hex\": \"DAA520\"\n },\n {\n \"name\": \"Zanah\",\n \"hex\": \"DAECD6\"\n },\n {\n \"name\": \"Iceberg\",\n \"hex\": \"DAF4F0\"\n },\n {\n \"name\": \"Oyster Bay\",\n \"hex\": \"DAFAFF\"\n },\n {\n \"name\": \"Cranberry\",\n \"hex\": \"DB5079\"\n },\n {\n \"name\": \"Petite Orchid\",\n \"hex\": \"DB9690\"\n },\n {\n \"name\": \"Di Serria\",\n \"hex\": \"DB995E\"\n },\n {\n \"name\": \"Alto\",\n \"hex\": \"DBDBDB\"\n },\n {\n \"name\": \"Frosted Mint\",\n \"hex\": \"DBFFF8\"\n },\n {\n \"name\": \"Crimson\",\n \"hex\": \"DC143C\"\n },\n {\n \"name\": \"Punch\",\n \"hex\": \"DC4333\"\n },\n {\n \"name\": \"Galliano\",\n \"hex\": \"DCB20C\"\n },\n {\n \"name\": \"Blossom\",\n \"hex\": \"DCB4BC\"\n },\n {\n \"name\": \"Wattle\",\n \"hex\": \"DCD747\"\n },\n {\n \"name\": \"Westar\",\n \"hex\": \"DCD9D2\"\n },\n {\n \"name\": \"Moon Mist\",\n \"hex\": \"DCDDCC\"\n },\n {\n \"name\": \"Caper\",\n \"hex\": \"DCEDB4\"\n },\n {\n \"name\": \"Swans Down\",\n \"hex\": \"DCF0EA\"\n },\n {\n \"name\": \"Swiss Coffee\",\n \"hex\": \"DDD6D5\"\n },\n {\n \"name\": \"White Ice\",\n \"hex\": \"DDF9F1\"\n },\n {\n \"name\": \"Cerise Red\",\n \"hex\": \"DE3163\"\n },\n {\n \"name\": \"Roman\",\n \"hex\": \"DE6360\"\n },\n {\n \"name\": \"Tumbleweed\",\n \"hex\": \"DEA681\"\n },\n {\n \"name\": \"Gold Tips\",\n \"hex\": \"DEBA13\"\n },\n {\n \"name\": \"Brandy\",\n \"hex\": \"DEC196\"\n },\n {\n \"name\": \"Wafer\",\n \"hex\": \"DECBC6\"\n },\n {\n \"name\": \"Sapling\",\n \"hex\": \"DED4A4\"\n },\n {\n \"name\": \"Barberry\",\n \"hex\": \"DED717\"\n },\n {\n \"name\": \"Beryl Green\",\n \"hex\": \"DEE5C0\"\n },\n {\n \"name\": \"Pattens Blue\",\n \"hex\": \"DEF5FF\"\n },\n {\n \"name\": \"Heliotrope\",\n \"hex\": \"DF73FF\"\n },\n {\n \"name\": \"Apache\",\n \"hex\": \"DFBE6F\"\n },\n {\n \"name\": \"Chenin\",\n \"hex\": \"DFCD6F\"\n },\n {\n \"name\": \"Lola\",\n \"hex\": \"DFCFDB\"\n },\n {\n \"name\": \"Willow Brook\",\n \"hex\": \"DFECDA\"\n },\n {\n \"name\": \"Chartreuse Yellow\",\n \"hex\": \"DFFF00\"\n },\n {\n \"name\": \"Mauve\",\n \"hex\": \"E0B0FF\"\n },\n {\n \"name\": \"Anzac\",\n \"hex\": \"E0B646\"\n },\n {\n \"name\": \"Harvest Gold\",\n \"hex\": \"E0B974\"\n },\n {\n \"name\": \"Calico\",\n \"hex\": \"E0C095\"\n },\n {\n \"name\": \"Baby Blue\",\n \"hex\": \"E0FFFF\"\n },\n {\n \"name\": \"Sunglo\",\n \"hex\": \"E16865\"\n },\n {\n \"name\": \"Equator\",\n \"hex\": \"E1BC64\"\n },\n {\n \"name\": \"Pink Flare\",\n \"hex\": \"E1C0C8\"\n },\n {\n \"name\": \"Periglacial Blue\",\n \"hex\": \"E1E6D6\"\n },\n {\n \"name\": \"Kidnapper\",\n \"hex\": \"E1EAD4\"\n },\n {\n \"name\": \"Tara\",\n \"hex\": \"E1F6E8\"\n },\n {\n \"name\": \"Mandy\",\n \"hex\": \"E25465\"\n },\n {\n \"name\": \"Terracotta\",\n \"hex\": \"E2725B\"\n },\n {\n \"name\": \"Golden Bell\",\n \"hex\": \"E28913\"\n },\n {\n \"name\": \"Shocking\",\n \"hex\": \"E292C0\"\n },\n {\n \"name\": \"Dixie\",\n \"hex\": \"E29418\"\n },\n {\n \"name\": \"Light Orchid\",\n \"hex\": \"E29CD2\"\n },\n {\n \"name\": \"Snuff\",\n \"hex\": \"E2D8ED\"\n },\n {\n \"name\": \"Mystic\",\n \"hex\": \"E2EBED\"\n },\n {\n \"name\": \"Apple Green\",\n \"hex\": \"E2F3EC\"\n },\n {\n \"name\": \"Razzmatazz\",\n \"hex\": \"E30B5C\"\n },\n {\n \"name\": \"Alizarin Crimson\",\n \"hex\": \"E32636\"\n },\n {\n \"name\": \"Cinnabar\",\n \"hex\": \"E34234\"\n },\n {\n \"name\": \"Cavern Pink\",\n \"hex\": \"E3BEBE\"\n },\n {\n \"name\": \"Peppermint\",\n \"hex\": \"E3F5E1\"\n },\n {\n \"name\": \"Mindaro\",\n \"hex\": \"E3F988\"\n },\n {\n \"name\": \"Deep Blush\",\n \"hex\": \"E47698\"\n },\n {\n \"name\": \"Gamboge\",\n \"hex\": \"E49B0F\"\n },\n {\n \"name\": \"Melanie\",\n \"hex\": \"E4C2D5\"\n },\n {\n \"name\": \"Twilight\",\n \"hex\": \"E4CFDE\"\n },\n {\n \"name\": \"Bone\",\n \"hex\": \"E4D1C0\"\n },\n {\n \"name\": \"Sunflower\",\n \"hex\": \"E4D422\"\n },\n {\n \"name\": \"Grain Brown\",\n \"hex\": \"E4D5B7\"\n },\n {\n \"name\": \"Zombie\",\n \"hex\": \"E4D69B\"\n },\n {\n \"name\": \"Frostee\",\n \"hex\": \"E4F6E7\"\n },\n {\n \"name\": \"Snow Flurry\",\n \"hex\": \"E4FFD1\"\n },\n {\n \"name\": \"Amaranth\",\n \"hex\": \"E52B50\"\n },\n {\n \"name\": \"Zest\",\n \"hex\": \"E5841B\"\n },\n {\n \"name\": \"Dust Storm\",\n \"hex\": \"E5CCC9\"\n },\n {\n \"name\": \"Stark White\",\n \"hex\": \"E5D7BD\"\n },\n {\n \"name\": \"Hampton\",\n \"hex\": \"E5D8AF\"\n },\n {\n \"name\": \"Bon Jour\",\n \"hex\": \"E5E0E1\"\n },\n {\n \"name\": \"Mercury\",\n \"hex\": \"E5E5E5\"\n },\n {\n \"name\": \"Polar\",\n \"hex\": \"E5F9F6\"\n },\n {\n \"name\": \"Trinidad\",\n \"hex\": \"E64E03\"\n },\n {\n \"name\": \"Gold Sand\",\n \"hex\": \"E6BE8A\"\n },\n {\n \"name\": \"Cashmere\",\n \"hex\": \"E6BEA5\"\n },\n {\n \"name\": \"Double Spanish White\",\n \"hex\": \"E6D7B9\"\n },\n {\n \"name\": \"Satin Linen\",\n \"hex\": \"E6E4D4\"\n },\n {\n \"name\": \"Harp\",\n \"hex\": \"E6F2EA\"\n },\n {\n \"name\": \"Off Green\",\n \"hex\": \"E6F8F3\"\n },\n {\n \"name\": \"Hint of Green\",\n \"hex\": \"E6FFE9\"\n },\n {\n \"name\": \"Tranquil\",\n \"hex\": \"E6FFFF\"\n },\n {\n \"name\": \"Mango Tango\",\n \"hex\": \"E77200\"\n },\n {\n \"name\": \"Christine\",\n \"hex\": \"E7730A\"\n },\n {\n \"name\": \"Tonys Pink\",\n \"hex\": \"E79F8C\"\n },\n {\n \"name\": \"Kobi\",\n \"hex\": \"E79FC4\"\n },\n {\n \"name\": \"Rose Fog\",\n \"hex\": \"E7BCB4\"\n },\n {\n \"name\": \"Corn\",\n \"hex\": \"E7BF05\"\n },\n {\n \"name\": \"Putty\",\n \"hex\": \"E7CD8C\"\n },\n {\n \"name\": \"Gray Nurse\",\n \"hex\": \"E7ECE6\"\n },\n {\n \"name\": \"Lily White\",\n \"hex\": \"E7F8FF\"\n },\n {\n \"name\": \"Bubbles\",\n \"hex\": \"E7FEFF\"\n },\n {\n \"name\": \"Fire Bush\",\n \"hex\": \"E89928\"\n },\n {\n \"name\": \"Shilo\",\n \"hex\": \"E8B9B3\"\n },\n {\n \"name\": \"Pearl Bush\",\n \"hex\": \"E8E0D5\"\n },\n {\n \"name\": \"Green White\",\n \"hex\": \"E8EBE0\"\n },\n {\n \"name\": \"Chrome White\",\n \"hex\": \"E8F1D4\"\n },\n {\n \"name\": \"Gin\",\n \"hex\": \"E8F2EB\"\n },\n {\n \"name\": \"Aqua Squeeze\",\n \"hex\": \"E8F5F2\"\n },\n {\n \"name\": \"Clementine\",\n \"hex\": \"E96E00\"\n },\n {\n \"name\": \"Burnt Sienna\",\n \"hex\": \"E97451\"\n },\n {\n \"name\": \"Tahiti Gold\",\n \"hex\": \"E97C07\"\n },\n {\n \"name\": \"Oyster Pink\",\n \"hex\": \"E9CECD\"\n },\n {\n \"name\": \"Confetti\",\n \"hex\": \"E9D75A\"\n },\n {\n \"name\": \"Ebb\",\n \"hex\": \"E9E3E3\"\n },\n {\n \"name\": \"Ottoman\",\n \"hex\": \"E9F8ED\"\n },\n {\n \"name\": \"Clear Day\",\n \"hex\": \"E9FFFD\"\n },\n {\n \"name\": \"Carissma\",\n \"hex\": \"EA88A8\"\n },\n {\n \"name\": \"Porsche\",\n \"hex\": \"EAAE69\"\n },\n {\n \"name\": \"Tulip Tree\",\n \"hex\": \"EAB33B\"\n },\n {\n \"name\": \"Rob Roy\",\n \"hex\": \"EAC674\"\n },\n {\n \"name\": \"Raffia\",\n \"hex\": \"EADAB8\"\n },\n {\n \"name\": \"White Rock\",\n \"hex\": \"EAE8D4\"\n },\n {\n \"name\": \"Panache\",\n \"hex\": \"EAF6EE\"\n },\n {\n \"name\": \"Solitude\",\n \"hex\": \"EAF6FF\"\n },\n {\n \"name\": \"Aqua Spring\",\n \"hex\": \"EAF9F5\"\n },\n {\n \"name\": \"Dew\",\n \"hex\": \"EAFFFE\"\n },\n {\n \"name\": \"Apricot\",\n \"hex\": \"EB9373\"\n },\n {\n \"name\": \"Zinnwaldite\",\n \"hex\": \"EBC2AF\"\n },\n {\n \"name\": \"Fuel Yellow\",\n \"hex\": \"ECA927\"\n },\n {\n \"name\": \"Ronchi\",\n \"hex\": \"ECC54E\"\n },\n {\n \"name\": \"French Lilac\",\n \"hex\": \"ECC7EE\"\n },\n {\n \"name\": \"Just Right\",\n \"hex\": \"ECCDB9\"\n },\n {\n \"name\": \"Wild Rice\",\n \"hex\": \"ECE090\"\n },\n {\n \"name\": \"Fall Green\",\n \"hex\": \"ECEBBD\"\n },\n {\n \"name\": \"Aths Special\",\n \"hex\": \"ECEBCE\"\n },\n {\n \"name\": \"Starship\",\n \"hex\": \"ECF245\"\n },\n {\n \"name\": \"Red Ribbon\",\n \"hex\": \"ED0A3F\"\n },\n {\n \"name\": \"Tango\",\n \"hex\": \"ED7A1C\"\n },\n {\n \"name\": \"Carrot Orange\",\n \"hex\": \"ED9121\"\n },\n {\n \"name\": \"Sea Pink\",\n \"hex\": \"ED989E\"\n },\n {\n \"name\": \"Tacao\",\n \"hex\": \"EDB381\"\n },\n {\n \"name\": \"Desert Sand\",\n \"hex\": \"EDC9AF\"\n },\n {\n \"name\": \"Pancho\",\n \"hex\": \"EDCDAB\"\n },\n {\n \"name\": \"Chamois\",\n \"hex\": \"EDDCB1\"\n },\n {\n \"name\": \"Primrose\",\n \"hex\": \"EDEA99\"\n },\n {\n \"name\": \"Frost\",\n \"hex\": \"EDF5DD\"\n },\n {\n \"name\": \"Aqua Haze\",\n \"hex\": \"EDF5F5\"\n },\n {\n \"name\": \"Zumthor\",\n \"hex\": \"EDF6FF\"\n },\n {\n \"name\": \"Narvik\",\n \"hex\": \"EDF9F1\"\n },\n {\n \"name\": \"Honeysuckle\",\n \"hex\": \"EDFC84\"\n },\n {\n \"name\": \"Lavender Magenta\",\n \"hex\": \"EE82EE\"\n },\n {\n \"name\": \"Beauty Bush\",\n \"hex\": \"EEC1BE\"\n },\n {\n \"name\": \"Chalky\",\n \"hex\": \"EED794\"\n },\n {\n \"name\": \"Almond\",\n \"hex\": \"EED9C4\"\n },\n {\n \"name\": \"Flax\",\n \"hex\": \"EEDC82\"\n },\n {\n \"name\": \"Bizarre\",\n \"hex\": \"EEDEDA\"\n },\n {\n \"name\": \"Double Colonial White\",\n \"hex\": \"EEE3AD\"\n },\n {\n \"name\": \"Cararra\",\n \"hex\": \"EEEEE8\"\n },\n {\n \"name\": \"Manz\",\n \"hex\": \"EEEF78\"\n },\n {\n \"name\": \"Tahuna Sands\",\n \"hex\": \"EEF0C8\"\n },\n {\n \"name\": \"Athens Gray\",\n \"hex\": \"EEF0F3\"\n },\n {\n \"name\": \"Tusk\",\n \"hex\": \"EEF3C3\"\n },\n {\n \"name\": \"Loafer\",\n \"hex\": \"EEF4DE\"\n },\n {\n \"name\": \"Catskill White\",\n \"hex\": \"EEF6F7\"\n },\n {\n \"name\": \"Twilight Blue\",\n \"hex\": \"EEFDFF\"\n },\n {\n \"name\": \"Jonquil\",\n \"hex\": \"EEFF9A\"\n },\n {\n \"name\": \"Rice Flower\",\n \"hex\": \"EEFFE2\"\n },\n {\n \"name\": \"Jaffa\",\n \"hex\": \"EF863F\"\n },\n {\n \"name\": \"Gallery\",\n \"hex\": \"EFEFEF\"\n },\n {\n \"name\": \"Porcelain\",\n \"hex\": \"EFF2F3\"\n },\n {\n \"name\": \"Mauvelous\",\n \"hex\": \"F091A9\"\n },\n {\n \"name\": \"Golden Dream\",\n \"hex\": \"F0D52D\"\n },\n {\n \"name\": \"Golden Sand\",\n \"hex\": \"F0DB7D\"\n },\n {\n \"name\": \"Buff\",\n \"hex\": \"F0DC82\"\n },\n {\n \"name\": \"Prim\",\n \"hex\": \"F0E2EC\"\n },\n {\n \"name\": \"Khaki\",\n \"hex\": \"F0E68C\"\n },\n {\n \"name\": \"Selago\",\n \"hex\": \"F0EEFD\"\n },\n {\n \"name\": \"Titan White\",\n \"hex\": \"F0EEFF\"\n },\n {\n \"name\": \"Alice Blue\",\n \"hex\": \"F0F8FF\"\n },\n {\n \"name\": \"Feta\",\n \"hex\": \"F0FCEA\"\n },\n {\n \"name\": \"Gold Drop\",\n \"hex\": \"F18200\"\n },\n {\n \"name\": \"Wewak\",\n \"hex\": \"F19BAB\"\n },\n {\n \"name\": \"Sahara Sand\",\n \"hex\": \"F1E788\"\n },\n {\n \"name\": \"Parchment\",\n \"hex\": \"F1E9D2\"\n },\n {\n \"name\": \"Blue Chalk\",\n \"hex\": \"F1E9FF\"\n },\n {\n \"name\": \"Mint Julep\",\n \"hex\": \"F1EEC1\"\n },\n {\n \"name\": \"Seashell\",\n \"hex\": \"F1F1F1\"\n },\n {\n \"name\": \"Saltpan\",\n \"hex\": \"F1F7F2\"\n },\n {\n \"name\": \"Tidal\",\n \"hex\": \"F1FFAD\"\n },\n {\n \"name\": \"Chiffon\",\n \"hex\": \"F1FFC8\"\n },\n {\n \"name\": \"Flamingo\",\n \"hex\": \"F2552A\"\n },\n {\n \"name\": \"Tangerine\",\n \"hex\": \"F28500\"\n },\n {\n \"name\": \"Mandys Pink\",\n \"hex\": \"F2C3B2\"\n },\n {\n \"name\": \"Concrete\",\n \"hex\": \"F2F2F2\"\n },\n {\n \"name\": \"Black Squeeze\",\n \"hex\": \"F2FAFA\"\n },\n {\n \"name\": \"Pomegranate\",\n \"hex\": \"F34723\"\n },\n {\n \"name\": \"Buttercup\",\n \"hex\": \"F3AD16\"\n },\n {\n \"name\": \"New Orleans\",\n \"hex\": \"F3D69D\"\n },\n {\n \"name\": \"Vanilla Ice\",\n \"hex\": \"F3D9DF\"\n },\n {\n \"name\": \"Sidecar\",\n \"hex\": \"F3E7BB\"\n },\n {\n \"name\": \"Dawn Pink\",\n \"hex\": \"F3E9E5\"\n },\n {\n \"name\": \"Wheatfield\",\n \"hex\": \"F3EDCF\"\n },\n {\n \"name\": \"Canary\",\n \"hex\": \"F3FB62\"\n },\n {\n \"name\": \"Orinoco\",\n \"hex\": \"F3FBD4\"\n },\n {\n \"name\": \"Carla\",\n \"hex\": \"F3FFD8\"\n },\n {\n \"name\": \"Hollywood Cerise\",\n \"hex\": \"F400A1\"\n },\n {\n \"name\": \"Sandy brown\",\n \"hex\": \"F4A460\"\n },\n {\n \"name\": \"Saffron\",\n \"hex\": \"F4C430\"\n },\n {\n \"name\": \"Ripe Lemon\",\n \"hex\": \"F4D81C\"\n },\n {\n \"name\": \"Janna\",\n \"hex\": \"F4EBD3\"\n },\n {\n \"name\": \"Pampas\",\n \"hex\": \"F4F2EE\"\n },\n {\n \"name\": \"Wild Sand\",\n \"hex\": \"F4F4F4\"\n },\n {\n \"name\": \"Zircon\",\n \"hex\": \"F4F8FF\"\n },\n {\n \"name\": \"Froly\",\n \"hex\": \"F57584\"\n },\n {\n \"name\": \"Cream Can\",\n \"hex\": \"F5C85C\"\n },\n {\n \"name\": \"Manhattan\",\n \"hex\": \"F5C999\"\n },\n {\n \"name\": \"Maize\",\n \"hex\": \"F5D5A0\"\n },\n {\n \"name\": \"Wheat\",\n \"hex\": \"F5DEB3\"\n },\n {\n \"name\": \"Sandwisp\",\n \"hex\": \"F5E7A2\"\n },\n {\n \"name\": \"Pot Pourri\",\n \"hex\": \"F5E7E2\"\n },\n {\n \"name\": \"Albescent White\",\n \"hex\": \"F5E9D3\"\n },\n {\n \"name\": \"Soft Peach\",\n \"hex\": \"F5EDEF\"\n },\n {\n \"name\": \"Ecru White\",\n \"hex\": \"F5F3E5\"\n },\n {\n \"name\": \"Beige\",\n \"hex\": \"F5F5DC\"\n },\n {\n \"name\": \"Golden Fizz\",\n \"hex\": \"F5FB3D\"\n },\n {\n \"name\": \"Australian Mint\",\n \"hex\": \"F5FFBE\"\n },\n {\n \"name\": \"French Rose\",\n \"hex\": \"F64A8A\"\n },\n {\n \"name\": \"Brilliant Rose\",\n \"hex\": \"F653A6\"\n },\n {\n \"name\": \"Illusion\",\n \"hex\": \"F6A4C9\"\n },\n {\n \"name\": \"Merino\",\n \"hex\": \"F6F0E6\"\n },\n {\n \"name\": \"Black Haze\",\n \"hex\": \"F6F7F7\"\n },\n {\n \"name\": \"Spring Sun\",\n \"hex\": \"F6FFDC\"\n },\n {\n \"name\": \"Violet Red\",\n \"hex\": \"F7468A\"\n },\n {\n \"name\": \"Chilean Fire\",\n \"hex\": \"F77703\"\n },\n {\n \"name\": \"Persian Pink\",\n \"hex\": \"F77FBE\"\n },\n {\n \"name\": \"Rajah\",\n \"hex\": \"F7B668\"\n },\n {\n \"name\": \"Azalea\",\n \"hex\": \"F7C8DA\"\n },\n {\n \"name\": \"We Peep\",\n \"hex\": \"F7DBE6\"\n },\n {\n \"name\": \"Quarter Spanish White\",\n \"hex\": \"F7F2E1\"\n },\n {\n \"name\": \"Whisper\",\n \"hex\": \"F7F5FA\"\n },\n {\n \"name\": \"Snow Drift\",\n \"hex\": \"F7FAF7\"\n },\n {\n \"name\": \"Casablanca\",\n \"hex\": \"F8B853\"\n },\n {\n \"name\": \"Chantilly\",\n \"hex\": \"F8C3DF\"\n },\n {\n \"name\": \"Cherub\",\n \"hex\": \"F8D9E9\"\n },\n {\n \"name\": \"Marzipan\",\n \"hex\": \"F8DB9D\"\n },\n {\n \"name\": \"Energy Yellow\",\n \"hex\": \"F8DD5C\"\n },\n {\n \"name\": \"Givry\",\n \"hex\": \"F8E4BF\"\n },\n {\n \"name\": \"White Linen\",\n \"hex\": \"F8F0E8\"\n },\n {\n \"name\": \"Magnolia\",\n \"hex\": \"F8F4FF\"\n },\n {\n \"name\": \"Spring Wood\",\n \"hex\": \"F8F6F1\"\n },\n {\n \"name\": \"Coconut Cream\",\n \"hex\": \"F8F7DC\"\n },\n {\n \"name\": \"White Lilac\",\n \"hex\": \"F8F7FC\"\n },\n {\n \"name\": \"Desert Storm\",\n \"hex\": \"F8F8F7\"\n },\n {\n \"name\": \"Texas\",\n \"hex\": \"F8F99C\"\n },\n {\n \"name\": \"Corn Field\",\n \"hex\": \"F8FACD\"\n },\n {\n \"name\": \"Mimosa\",\n \"hex\": \"F8FDD3\"\n },\n {\n \"name\": \"Carnation\",\n \"hex\": \"F95A61\"\n },\n {\n \"name\": \"Saffron Mango\",\n \"hex\": \"F9BF58\"\n },\n {\n \"name\": \"Carousel Pink\",\n \"hex\": \"F9E0ED\"\n },\n {\n \"name\": \"Dairy Cream\",\n \"hex\": \"F9E4BC\"\n },\n {\n \"name\": \"Portica\",\n \"hex\": \"F9E663\"\n },\n {\n \"name\": \"Amour\",\n \"hex\": \"F9EAF3\"\n },\n {\n \"name\": \"Rum Swizzle\",\n \"hex\": \"F9F8E4\"\n },\n {\n \"name\": \"Dolly\",\n \"hex\": \"F9FF8B\"\n },\n {\n \"name\": \"Sugar Cane\",\n \"hex\": \"F9FFF6\"\n },\n {\n \"name\": \"Ecstasy\",\n \"hex\": \"FA7814\"\n },\n {\n \"name\": \"Tan Hide\",\n \"hex\": \"FA9D5A\"\n },\n {\n \"name\": \"Corvette\",\n \"hex\": \"FAD3A2\"\n },\n {\n \"name\": \"Peach Yellow\",\n \"hex\": \"FADFAD\"\n },\n {\n \"name\": \"Turbo\",\n \"hex\": \"FAE600\"\n },\n {\n \"name\": \"Astra\",\n \"hex\": \"FAEAB9\"\n },\n {\n \"name\": \"Champagne\",\n \"hex\": \"FAECCC\"\n },\n {\n \"name\": \"Linen\",\n \"hex\": \"FAF0E6\"\n },\n {\n \"name\": \"Fantasy\",\n \"hex\": \"FAF3F0\"\n },\n {\n \"name\": \"Citrine White\",\n \"hex\": \"FAF7D6\"\n },\n {\n \"name\": \"Alabaster\",\n \"hex\": \"FAFAFA\"\n },\n {\n \"name\": \"Hint of Yellow\",\n \"hex\": \"FAFDE4\"\n },\n {\n \"name\": \"Milan\",\n \"hex\": \"FAFFA4\"\n },\n {\n \"name\": \"Brink Pink\",\n \"hex\": \"FB607F\"\n },\n {\n \"name\": \"Geraldine\",\n \"hex\": \"FB8989\"\n },\n {\n \"name\": \"Lavender Rose\",\n \"hex\": \"FBA0E3\"\n },\n {\n \"name\": \"Sea Buckthorn\",\n \"hex\": \"FBA129\"\n },\n {\n \"name\": \"Sun\",\n \"hex\": \"FBAC13\"\n },\n {\n \"name\": \"Lavender Pink\",\n \"hex\": \"FBAED2\"\n },\n {\n \"name\": \"Rose Bud\",\n \"hex\": \"FBB2A3\"\n },\n {\n \"name\": \"Cupid\",\n \"hex\": \"FBBEDA\"\n },\n {\n \"name\": \"Classic Rose\",\n \"hex\": \"FBCCE7\"\n },\n {\n \"name\": \"Apricot Peach\",\n \"hex\": \"FBCEB1\"\n },\n {\n \"name\": \"Banana Mania\",\n \"hex\": \"FBE7B2\"\n },\n {\n \"name\": \"Marigold Yellow\",\n \"hex\": \"FBE870\"\n },\n {\n \"name\": \"Festival\",\n \"hex\": \"FBE96C\"\n },\n {\n \"name\": \"Sweet Corn\",\n \"hex\": \"FBEA8C\"\n },\n {\n \"name\": \"Candy Corn\",\n \"hex\": \"FBEC5D\"\n },\n {\n \"name\": \"Hint of Red\",\n \"hex\": \"FBF9F9\"\n },\n {\n \"name\": \"Shalimar\",\n \"hex\": \"FBFFBA\"\n },\n {\n \"name\": \"Shocking Pink\",\n \"hex\": \"FC0FC0\"\n },\n {\n \"name\": \"Tickle Me Pink\",\n \"hex\": \"FC80A5\"\n },\n {\n \"name\": \"Tree Poppy\",\n \"hex\": \"FC9C1D\"\n },\n {\n \"name\": \"Lightning Yellow\",\n \"hex\": \"FCC01E\"\n },\n {\n \"name\": \"Goldenrod\",\n \"hex\": \"FCD667\"\n },\n {\n \"name\": \"Candlelight\",\n \"hex\": \"FCD917\"\n },\n {\n \"name\": \"Cherokee\",\n \"hex\": \"FCDA98\"\n },\n {\n \"name\": \"Double Pearl Lusta\",\n \"hex\": \"FCF4D0\"\n },\n {\n \"name\": \"Pearl Lusta\",\n \"hex\": \"FCF4DC\"\n },\n {\n \"name\": \"Vista White\",\n \"hex\": \"FCF8F7\"\n },\n {\n \"name\": \"Bianca\",\n \"hex\": \"FCFBF3\"\n },\n {\n \"name\": \"Moon Glow\",\n \"hex\": \"FCFEDA\"\n },\n {\n \"name\": \"China Ivory\",\n \"hex\": \"FCFFE7\"\n },\n {\n \"name\": \"Ceramic\",\n \"hex\": \"FCFFF9\"\n },\n {\n \"name\": \"Torch Red\",\n \"hex\": \"FD0E35\"\n },\n {\n \"name\": \"Wild Watermelon\",\n \"hex\": \"FD5B78\"\n },\n {\n \"name\": \"Crusta\",\n \"hex\": \"FD7B33\"\n },\n {\n \"name\": \"Sorbus\",\n \"hex\": \"FD7C07\"\n },\n {\n \"name\": \"Sweet Pink\",\n \"hex\": \"FD9FA2\"\n },\n {\n \"name\": \"Light Apricot\",\n \"hex\": \"FDD5B1\"\n },\n {\n \"name\": \"Pig Pink\",\n \"hex\": \"FDD7E4\"\n },\n {\n \"name\": \"Cinderella\",\n \"hex\": \"FDE1DC\"\n },\n {\n \"name\": \"Golden Glow\",\n \"hex\": \"FDE295\"\n },\n {\n \"name\": \"Lemon\",\n \"hex\": \"FDE910\"\n },\n {\n \"name\": \"Old Lace\",\n \"hex\": \"FDF5E6\"\n },\n {\n \"name\": \"Half Colonial White\",\n \"hex\": \"FDF6D3\"\n },\n {\n \"name\": \"Drover\",\n \"hex\": \"FDF7AD\"\n },\n {\n \"name\": \"Pale Prim\",\n \"hex\": \"FDFEB8\"\n },\n {\n \"name\": \"Cumulus\",\n \"hex\": \"FDFFD5\"\n },\n {\n \"name\": \"Persian Rose\",\n \"hex\": \"FE28A2\"\n },\n {\n \"name\": \"Sunset Orange\",\n \"hex\": \"FE4C40\"\n },\n {\n \"name\": \"Bittersweet\",\n \"hex\": \"FE6F5E\"\n },\n {\n \"name\": \"California\",\n \"hex\": \"FE9D04\"\n },\n {\n \"name\": \"Yellow Sea\",\n \"hex\": \"FEA904\"\n },\n {\n \"name\": \"Melon\",\n \"hex\": \"FEBAAD\"\n },\n {\n \"name\": \"Bright Sun\",\n \"hex\": \"FED33C\"\n },\n {\n \"name\": \"Dandelion\",\n \"hex\": \"FED85D\"\n },\n {\n \"name\": \"Salomie\",\n \"hex\": \"FEDB8D\"\n },\n {\n \"name\": \"Cape Honey\",\n \"hex\": \"FEE5AC\"\n },\n {\n \"name\": \"Remy\",\n \"hex\": \"FEEBF3\"\n },\n {\n \"name\": \"Oasis\",\n \"hex\": \"FEEFCE\"\n },\n {\n \"name\": \"Bridesmaid\",\n \"hex\": \"FEF0EC\"\n },\n {\n \"name\": \"Beeswax\",\n \"hex\": \"FEF2C7\"\n },\n {\n \"name\": \"Bleach White\",\n \"hex\": \"FEF3D8\"\n },\n {\n \"name\": \"Pipi\",\n \"hex\": \"FEF4CC\"\n },\n {\n \"name\": \"Half Spanish White\",\n \"hex\": \"FEF4DB\"\n },\n {\n \"name\": \"Wisp Pink\",\n \"hex\": \"FEF4F8\"\n },\n {\n \"name\": \"Provincial Pink\",\n \"hex\": \"FEF5F1\"\n },\n {\n \"name\": \"Half Dutch White\",\n \"hex\": \"FEF7DE\"\n },\n {\n \"name\": \"Solitaire\",\n \"hex\": \"FEF8E2\"\n },\n {\n \"name\": \"White Pointer\",\n \"hex\": \"FEF8FF\"\n },\n {\n \"name\": \"Off Yellow\",\n \"hex\": \"FEF9E3\"\n },\n {\n \"name\": \"Orange White\",\n \"hex\": \"FEFCED\"\n },\n {\n \"name\": \"Red\",\n \"hex\": \"FF0000\"\n },\n {\n \"name\": \"Rose\",\n \"hex\": \"FF007F\"\n },\n {\n \"name\": \"Purple Pizzazz\",\n \"hex\": \"FF00CC\"\n },\n {\n \"name\": \"Magenta / Fuchsia\",\n \"hex\": \"FF00FF\"\n },\n {\n \"name\": \"Scarlet\",\n \"hex\": \"FF2400\"\n },\n {\n \"name\": \"Wild Strawberry\",\n \"hex\": \"FF3399\"\n },\n {\n \"name\": \"Razzle Dazzle Rose\",\n \"hex\": \"FF33CC\"\n },\n {\n \"name\": \"Radical Red\",\n \"hex\": \"FF355E\"\n },\n {\n \"name\": \"Red Orange\",\n \"hex\": \"FF3F34\"\n },\n {\n \"name\": \"Coral Red\",\n \"hex\": \"FF4040\"\n },\n {\n \"name\": \"Vermilion\",\n \"hex\": \"FF4D00\"\n },\n {\n \"name\": \"International Orange\",\n \"hex\": \"FF4F00\"\n },\n {\n \"name\": \"Outrageous Orange\",\n \"hex\": \"FF6037\"\n },\n {\n \"name\": \"Blaze Orange\",\n \"hex\": \"FF6600\"\n },\n {\n \"name\": \"Pink Flamingo\",\n \"hex\": \"FF66FF\"\n },\n {\n \"name\": \"Orange\",\n \"hex\": \"FF681F\"\n },\n {\n \"name\": \"Hot Pink\",\n \"hex\": \"FF69B4\"\n },\n {\n \"name\": \"Persimmon\",\n \"hex\": \"FF6B53\"\n },\n {\n \"name\": \"Blush Pink\",\n \"hex\": \"FF6FFF\"\n },\n {\n \"name\": \"Burning Orange\",\n \"hex\": \"FF7034\"\n },\n {\n \"name\": \"Pumpkin\",\n \"hex\": \"FF7518\"\n },\n {\n \"name\": \"Flamenco\",\n \"hex\": \"FF7D07\"\n },\n {\n \"name\": \"Flush Orange\",\n \"hex\": \"FF7F00\"\n },\n {\n \"name\": \"Coral\",\n \"hex\": \"FF7F50\"\n },\n {\n \"name\": \"Salmon\",\n \"hex\": \"FF8C69\"\n },\n {\n \"name\": \"Pizazz\",\n \"hex\": \"FF9000\"\n },\n {\n \"name\": \"West Side\",\n \"hex\": \"FF910F\"\n },\n {\n \"name\": \"Pink Salmon\",\n \"hex\": \"FF91A4\"\n },\n {\n \"name\": \"Neon Carrot\",\n \"hex\": \"FF9933\"\n },\n {\n \"name\": \"Atomic Tangerine\",\n \"hex\": \"FF9966\"\n },\n {\n \"name\": \"Vivid Tangerine\",\n \"hex\": \"FF9980\"\n },\n {\n \"name\": \"Sunshade\",\n \"hex\": \"FF9E2C\"\n },\n {\n \"name\": \"Orange Peel\",\n \"hex\": \"FFA000\"\n },\n {\n \"name\": \"Mona Lisa\",\n \"hex\": \"FFA194\"\n },\n {\n \"name\": \"Web Orange\",\n \"hex\": \"FFA500\"\n },\n {\n \"name\": \"Carnation Pink\",\n \"hex\": \"FFA6C9\"\n },\n {\n \"name\": \"Hit Pink\",\n \"hex\": \"FFAB81\"\n },\n {\n \"name\": \"Yellow Orange\",\n \"hex\": \"FFAE42\"\n },\n {\n \"name\": \"Cornflower Lilac\",\n \"hex\": \"FFB0AC\"\n },\n {\n \"name\": \"Sundown\",\n \"hex\": \"FFB1B3\"\n },\n {\n \"name\": \"My Sin\",\n \"hex\": \"FFB31F\"\n },\n {\n \"name\": \"Texas Rose\",\n \"hex\": \"FFB555\"\n },\n {\n \"name\": \"Cotton Candy\",\n \"hex\": \"FFB7D5\"\n },\n {\n \"name\": \"Macaroni and Cheese\",\n \"hex\": \"FFB97B\"\n },\n {\n \"name\": \"Selective Yellow\",\n \"hex\": \"FFBA00\"\n },\n {\n \"name\": \"Koromiko\",\n \"hex\": \"FFBD5F\"\n },\n {\n \"name\": \"Amber\",\n \"hex\": \"FFBF00\"\n },\n {\n \"name\": \"Wax Flower\",\n \"hex\": \"FFC0A8\"\n },\n {\n \"name\": \"Pink\",\n \"hex\": \"FFC0CB\"\n },\n {\n \"name\": \"Your Pink\",\n \"hex\": \"FFC3C0\"\n },\n {\n \"name\": \"Supernova\",\n \"hex\": \"FFC901\"\n },\n {\n \"name\": \"Flesh\",\n \"hex\": \"FFCBA4\"\n },\n {\n \"name\": \"Sunglow\",\n \"hex\": \"FFCC33\"\n },\n {\n \"name\": \"Golden Tainoi\",\n \"hex\": \"FFCC5C\"\n },\n {\n \"name\": \"Peach Orange\",\n \"hex\": \"FFCC99\"\n },\n {\n \"name\": \"Chardonnay\",\n \"hex\": \"FFCD8C\"\n },\n {\n \"name\": \"Pastel Pink\",\n \"hex\": \"FFD1DC\"\n },\n {\n \"name\": \"Romantic\",\n \"hex\": \"FFD2B7\"\n },\n {\n \"name\": \"Grandis\",\n \"hex\": \"FFD38C\"\n },\n {\n \"name\": \"Gold\",\n \"hex\": \"FFD700\"\n },\n {\n \"name\": \"School bus Yellow\",\n \"hex\": \"FFD800\"\n },\n {\n \"name\": \"Cosmos\",\n \"hex\": \"FFD8D9\"\n },\n {\n \"name\": \"Mustard\",\n \"hex\": \"FFDB58\"\n },\n {\n \"name\": \"Peach Schnapps\",\n \"hex\": \"FFDCD6\"\n },\n {\n \"name\": \"Caramel\",\n \"hex\": \"FFDDAF\"\n },\n {\n \"name\": \"Tuft Bush\",\n \"hex\": \"FFDDCD\"\n },\n {\n \"name\": \"Watusi\",\n \"hex\": \"FFDDCF\"\n },\n {\n \"name\": \"Pink Lace\",\n \"hex\": \"FFDDF4\"\n },\n {\n \"name\": \"Navajo White\",\n \"hex\": \"FFDEAD\"\n },\n {\n \"name\": \"Frangipani\",\n \"hex\": \"FFDEB3\"\n },\n {\n \"name\": \"Pippin\",\n \"hex\": \"FFE1DF\"\n },\n {\n \"name\": \"Pale Rose\",\n \"hex\": \"FFE1F2\"\n },\n {\n \"name\": \"Negroni\",\n \"hex\": \"FFE2C5\"\n },\n {\n \"name\": \"Cream Brulee\",\n \"hex\": \"FFE5A0\"\n },\n {\n \"name\": \"Peach\",\n \"hex\": \"FFE5B4\"\n },\n {\n \"name\": \"Tequila\",\n \"hex\": \"FFE6C7\"\n },\n {\n \"name\": \"Kournikova\",\n \"hex\": \"FFE772\"\n },\n {\n \"name\": \"Sandy Beach\",\n \"hex\": \"FFEAC8\"\n },\n {\n \"name\": \"Karry\",\n \"hex\": \"FFEAD4\"\n },\n {\n \"name\": \"Broom\",\n \"hex\": \"FFEC13\"\n },\n {\n \"name\": \"Colonial White\",\n \"hex\": \"FFEDBC\"\n },\n {\n \"name\": \"Derby\",\n \"hex\": \"FFEED8\"\n },\n {\n \"name\": \"Vis Vis\",\n \"hex\": \"FFEFA1\"\n },\n {\n \"name\": \"Egg White\",\n \"hex\": \"FFEFC1\"\n },\n {\n \"name\": \"Papaya Whip\",\n \"hex\": \"FFEFD5\"\n },\n {\n \"name\": \"Fair Pink\",\n \"hex\": \"FFEFEC\"\n },\n {\n \"name\": \"Peach Cream\",\n \"hex\": \"FFF0DB\"\n },\n {\n \"name\": \"Lavender blush\",\n \"hex\": \"FFF0F5\"\n },\n {\n \"name\": \"Gorse\",\n \"hex\": \"FFF14F\"\n },\n {\n \"name\": \"Buttermilk\",\n \"hex\": \"FFF1B5\"\n },\n {\n \"name\": \"Pink Lady\",\n \"hex\": \"FFF1D8\"\n },\n {\n \"name\": \"Forget Me Not\",\n \"hex\": \"FFF1EE\"\n },\n {\n \"name\": \"Tutu\",\n \"hex\": \"FFF1F9\"\n },\n {\n \"name\": \"Picasso\",\n \"hex\": \"FFF39D\"\n },\n {\n \"name\": \"Chardon\",\n \"hex\": \"FFF3F1\"\n },\n {\n \"name\": \"Paris Daisy\",\n \"hex\": \"FFF46E\"\n },\n {\n \"name\": \"Barley White\",\n \"hex\": \"FFF4CE\"\n },\n {\n \"name\": \"Egg Sour\",\n \"hex\": \"FFF4DD\"\n },\n {\n \"name\": \"Sazerac\",\n \"hex\": \"FFF4E0\"\n },\n {\n \"name\": \"Serenade\",\n \"hex\": \"FFF4E8\"\n },\n {\n \"name\": \"Chablis\",\n \"hex\": \"FFF4F3\"\n },\n {\n \"name\": \"Seashell Peach\",\n \"hex\": \"FFF5EE\"\n },\n {\n \"name\": \"Sauvignon\",\n \"hex\": \"FFF5F3\"\n },\n {\n \"name\": \"Milk Punch\",\n \"hex\": \"FFF6D4\"\n },\n {\n \"name\": \"Varden\",\n \"hex\": \"FFF6DF\"\n },\n {\n \"name\": \"Rose White\",\n \"hex\": \"FFF6F5\"\n },\n {\n \"name\": \"Baja White\",\n \"hex\": \"FFF8D1\"\n },\n {\n \"name\": \"Gin Fizz\",\n \"hex\": \"FFF9E2\"\n },\n {\n \"name\": \"Early Dawn\",\n \"hex\": \"FFF9E6\"\n },\n {\n \"name\": \"Lemon Chiffon\",\n \"hex\": \"FFFACD\"\n },\n {\n \"name\": \"Bridal Heath\",\n \"hex\": \"FFFAF4\"\n },\n {\n \"name\": \"Scotch Mist\",\n \"hex\": \"FFFBDC\"\n },\n {\n \"name\": \"Soapstone\",\n \"hex\": \"FFFBF9\"\n },\n {\n \"name\": \"Witch Haze\",\n \"hex\": \"FFFC99\"\n },\n {\n \"name\": \"Buttery White\",\n \"hex\": \"FFFCEA\"\n },\n {\n \"name\": \"Island Spice\",\n \"hex\": \"FFFCEE\"\n },\n {\n \"name\": \"Cream\",\n \"hex\": \"FFFDD0\"\n },\n {\n \"name\": \"Chilean Heath\",\n \"hex\": \"FFFDE6\"\n },\n {\n \"name\": \"Travertine\",\n \"hex\": \"FFFDE8\"\n },\n {\n \"name\": \"Orchid White\",\n \"hex\": \"FFFDF3\"\n },\n {\n \"name\": \"Quarter Pearl Lusta\",\n \"hex\": \"FFFDF4\"\n },\n {\n \"name\": \"Half and Half\",\n \"hex\": \"FFFEE1\"\n },\n {\n \"name\": \"Apricot White\",\n \"hex\": \"FFFEEC\"\n },\n {\n \"name\": \"Rice Cake\",\n \"hex\": \"FFFEF0\"\n },\n {\n \"name\": \"Black White\",\n \"hex\": \"FFFEF6\"\n },\n {\n \"name\": \"Romance\",\n \"hex\": \"FFFEFD\"\n },\n {\n \"name\": \"Yellow\",\n \"hex\": \"FFFF00\"\n },\n {\n \"name\": \"Laser Lemon\",\n \"hex\": \"FFFF66\"\n },\n {\n \"name\": \"Pale Canary\",\n \"hex\": \"FFFF99\"\n },\n {\n \"name\": \"Portafino\",\n \"hex\": \"FFFFB4\"\n },\n {\n \"name\": \"Ivory\",\n \"hex\": \"FFFFF0\"\n },\n {\n \"name\": \"White\",\n \"hex\": \"FFFFFF\"\n }\n]\n", "module.exports = [{\n \"name\": \"Mahogany\",\n \"hex\": \"#CD4A4A\"\n},{\n \"name\": \"Fuzzy Wuzzy Brown\",\n \"hex\": \"#CC6666\"\n},{\n \"name\": \"Chestnut\",\n \"hex\": \"#BC5D58\"\n},{\n \"name\": \"Red Orange\",\n \"hex\": \"#FF5349\"\n},{\n \"name\": \"Sunset Orange\",\n \"hex\": \"#FD5E53\"\n},{\n \"name\": \"Bittersweet\",\n \"hex\": \"#FD7C6E\"\n},{\n \"name\": \"Melon\",\n \"hex\": \"#FDBCB4\"\n},{\n \"name\": \"Outrageous Orange\",\n \"hex\": \"#FF6E4A\"\n},{\n \"name\": \"Vivid Tangerine\",\n \"hex\": \"#FFA089\"\n},{\n \"name\": \"Burnt Sienna\",\n \"hex\": \"#EA7E5D\"\n},{\n \"name\": \"Brown\",\n \"hex\": \"#B4674D\"\n},{\n \"name\": \"Sepia\",\n \"hex\": \"#A5694F\"\n},{\n \"name\": \"Orange\",\n \"hex\": \"#FF7538\"\n},{\n \"name\": \"Burnt Orange\",\n \"hex\": \"#FF7F49\"\n},{\n \"name\": \"Copper\",\n \"hex\": \"#DD9475\"\n},{\n \"name\": \"Mango Tango\",\n \"hex\": \"#FF8243\"\n},{\n \"name\": \"Atomic Tangerine\",\n \"hex\": \"#FFA474\"\n},{\n \"name\": \"Beaver\",\n \"hex\": \"#9F8170\"\n},{\n \"name\": \"Antique Brass\",\n \"hex\": \"#CD9575\"\n},{\n \"name\": \"Desert Sand\",\n \"hex\": \"#EFCDB8\"\n},{\n \"name\": \"Raw Sienna\",\n \"hex\": \"#D68A59\"\n},{\n \"name\": \"Tumbleweed\",\n \"hex\": \"#DEAA88\"\n},{\n \"name\": \"Tan\",\n \"hex\": \"#FAA76C\"\n},{\n \"name\": \"Peach\",\n \"hex\": \"#FFCFAB\"\n},{\n \"name\": \"Macaroni and Cheese\",\n \"hex\": \"#FFBD88\"\n},{\n \"name\": \"Apricot\",\n \"hex\": \"#FDD9B5\"\n},{\n \"name\": \"Neon Carrot\",\n \"hex\": \"#FFA343\"\n},{\n \"name\": \"Almond\",\n \"hex\": \"#EFDBC5\"\n},{\n \"name\": \"Yellow Orange\",\n \"hex\": \"#FFB653\"\n},{\n \"name\": \"Gold\",\n \"hex\": \"#E7C697\"\n},{\n \"name\": \"Shadow\",\n \"hex\": \"#8A795D\"\n},{\n \"name\": \"Banana Mania\",\n \"hex\": \"#FAE7B5\"\n},{\n \"name\": \"Sunglow\",\n \"hex\": \"#FFCF48\"\n},{\n \"name\": \"Goldenrod\",\n \"hex\": \"#FCD975\"\n},{\n \"name\": \"Dandelion\",\n \"hex\": \"#FDDB6D\"\n},{\n \"name\": \"Yellow\",\n \"hex\": \"#FCE883\"\n},{\n \"name\": \"Green Yellow\",\n \"hex\": \"#F0E891\"\n},{\n \"name\": \"Spring Green\",\n \"hex\": \"#ECEABE\"\n},{\n \"name\": \"Olive Green\",\n \"hex\": \"#BAB86C\"\n},{\n \"name\": \"Laser Lemon\",\n \"hex\": \"#FDFC74\"\n},{\n \"name\": \"Unmellow Yellow\",\n \"hex\": \"#FDFC74\"\n},{\n \"name\": \"Canary\",\n \"hex\": \"#FFFF99\"\n},{\n \"name\": \"Yellow Green\",\n \"hex\": \"#C5E384\"\n},{\n \"name\": \"Inch Worm\",\n \"hex\": \"#B2EC5D\"\n},{\n \"name\": \"Asparagus\",\n \"hex\": \"#87A96B\"\n},{\n \"name\": \"Granny Smith Apple\",\n \"hex\": \"#A8E4A0\"\n},{\n \"name\": \"Electric Lime\",\n \"hex\": \"#1DF914\"\n},{\n \"name\": \"Screamin Green\",\n \"hex\": \"#76FF7A\"\n},{\n \"name\": \"Fern\",\n \"hex\": \"#71BC78\"\n},{\n \"name\": \"Forest Green\",\n \"hex\": \"#6DAE81\"\n},{\n \"name\": \"Sea Green\",\n \"hex\": \"#9FE2BF\"\n},{\n \"name\": \"Green\",\n \"hex\": \"#1CAC78\"\n},{\n \"name\": \"Mountain Meadow\",\n \"hex\": \"#30BA8F\"\n},{\n \"name\": \"Shamrock\",\n \"hex\": \"#45CEA2\"\n},{\n \"name\": \"Jungle Green\",\n \"hex\": \"#3BB08F\"\n},{\n \"name\": \"Caribbean Green\",\n \"hex\": \"#1CD3A2\"\n},{\n \"name\": \"Tropical Rain Forest\",\n \"hex\": \"#17806D\"\n},{\n \"name\": \"Pine Green\",\n \"hex\": \"#158078\"\n},{\n \"name\": \"Robin Egg Blue\",\n \"hex\": \"#1FCECB\"\n},{\n \"name\": \"Aquamarine\",\n \"hex\": \"#78DBE2\"\n},{\n \"name\": \"Turquoise Blue\",\n \"hex\": \"#77DDE7\"\n},{\n \"name\": \"Sky Blue\",\n \"hex\": \"#80DAEB\"\n},{\n \"name\": \"Outer Space\",\n \"hex\": \"#414A4C\"\n},{\n \"name\": \"Blue Green\",\n \"hex\": \"#199EBD\"\n},{\n \"name\": \"Pacific Blue\",\n \"hex\": \"#1CA9C9\"\n},{\n \"name\": \"Cerulean\",\n \"hex\": \"#1DACD6\"\n},{\n \"name\": \"Cornflower\",\n \"hex\": \"#9ACEEB\"\n},{\n \"name\": \"Midnight Blue\",\n \"hex\": \"#1A4876\"\n},{\n \"name\": \"Navy Blue\",\n \"hex\": \"#1974D2\"\n},{\n \"name\": \"Denim\",\n \"hex\": \"#2B6CC4\"\n},{\n \"name\": \"Blue\",\n \"hex\": \"#1F75FE\"\n},{\n \"name\": \"Periwinkle\",\n \"hex\": \"#C5D0E6\"\n},{\n \"name\": \"Cadet Blue\",\n \"hex\": \"#B0B7C6\"\n},{\n \"name\": \"Indigo\",\n \"hex\": \"#5D76CB\"\n},{\n \"name\": \"Wild Blue Yonder\",\n \"hex\": \"#A2ADD0\"\n},{\n \"name\": \"Manatee\",\n \"hex\": \"#979AAA\"\n},{\n \"name\": \"Blue Bell\",\n \"hex\": \"#ADADD6\"\n},{\n \"name\": \"Blue Violet\",\n \"hex\": \"#7366BD\"\n},{\n \"name\": \"Purple Heart\",\n \"hex\": \"#7442C8\"\n},{\n \"name\": \"Royal Purple\",\n \"hex\": \"#7851A9\"\n},{\n \"name\": \"Purple Mountains\u2019 Majesty\",\n \"hex\": \"#9D81BA\"\n},{\n \"name\": \"Violet (Purple)\",\n \"hex\": \"#926EAE\"\n},{\n \"name\": \"Wisteria\",\n \"hex\": \"#CDA4DE\"\n},{\n \"name\": \"Vivid Violet\",\n \"hex\": \"#8F509D\"\n},{\n \"name\": \"Fuchsia\",\n \"hex\": \"#C364C5\"\n},{\n \"name\": \"Shocking Pink\",\n \"hex\": \"#FB7EFD\"\n},{\n \"name\": \"Pink Flamingo\",\n \"hex\": \"#FC74FD\"\n},{\n \"name\": \"Plum\",\n \"hex\": \"#8E4585\"\n},{\n \"name\": \"Hot Magenta\",\n \"hex\": \"#FF1DCE\"\n},{\n \"name\": \"Purple Pizzazz\",\n \"hex\": \"#FF1DCE\"\n},{\n \"name\": \"Razzle Dazzle Rose\",\n \"hex\": \"#FF48D0\"\n},{\n \"name\": \"Orchid\",\n \"hex\": \"#E6A8D7\"\n},{\n \"name\": \"Red Violet\",\n \"hex\": \"#C0448F\"\n},{\n \"name\": \"Eggplant\",\n \"hex\": \"#6E5160\"\n},{\n \"name\": \"Cerise\",\n \"hex\": \"#DD4492\"\n},{\n \"name\": \"Wild Strawberry\",\n \"hex\": \"#FF43A4\"\n},{\n \"name\": \"Magenta\",\n \"hex\": \"#F664AF\"\n},{\n \"name\": \"Lavender\",\n \"hex\": \"#FCB4D5\"\n},{\n \"name\": \"Cotton Candy\",\n \"hex\": \"#FFBCD9\"\n},{\n \"name\": \"Violet Red\",\n \"hex\": \"#F75394\"\n},{\n \"name\": \"Carnation Pink\",\n \"hex\": \"#FFAACC\"\n},{\n \"name\": \"Razzmatazz\",\n \"hex\": \"#E3256B\"\n},{\n \"name\": \"Piggy Pink\",\n \"hex\": \"#FDD7E4\"\n},{\n \"name\": \"Jazzberry Jam\",\n \"hex\": \"#CA3767\"\n},{\n \"name\": \"Blush\",\n \"hex\": \"#DE5D83\"\n},{\n \"name\": \"Tickle Me Pink\",\n \"hex\": \"#FC89AC\"\n},{\n \"name\": \"Pink Sherbet\",\n \"hex\": \"#F780A1\"\n},{\n \"name\": \"Maroon\",\n \"hex\": \"#C8385A\"\n},{\n \"name\": \"Red\",\n \"hex\": \"#EE204D\"\n},{\n \"name\": \"Radical Red\",\n \"hex\": \"#FF496C\"\n},{\n \"name\": \"Mauvelous\",\n \"hex\": \"#EF98AA\"\n},{\n \"name\": \"Wild Watermelon\",\n \"hex\": \"#FC6C85\"\n},{\n \"name\": \"Scarlet\",\n \"hex\": \"#FC2847\"\n},{\n \"name\": \"Salmon\",\n \"hex\": \"#FF9BAA\"\n},{\n \"name\": \"Brick Red\",\n \"hex\": \"#CB4154\"\n},{\n \"name\": \"White\",\n \"hex\": \"#EDEDED\"\n},{\n \"name\": \"Timberwolf\",\n \"hex\": \"#DBD7D2\"\n},{\n \"name\": \"Silver\",\n \"hex\": \"#CDC5C2\"\n},{\n \"name\": \"Gray\",\n \"hex\": \"#95918C\"\n},{\n \"name\": \"Black\",\n \"hex\": \"#232323\"\n}]\n", "module.exports = [\n { name: 'red', hex: '#FF0000' },\n { name: 'orange', hex: '#FFA500' },\n { name: 'yellow', hex: '#FFFF00' },\n { name: 'green', hex: '#008000' },\n { name: 'blue', hex: '#0000FF' },\n { name: 'indigo', hex: '#4B0082' },\n { name: 'violet', hex: '#EE82EE' }\n]\n", "module.exports = [{\n name: 'indigo',\n hex: '#4b0082'\n}, {\n name: 'gold',\n hex: '#ffd700'\n}, {\n name: 'hotpink',\n hex: '#ff69b4'\n}, {\n name: 'firebrick',\n hex: '#b22222'\n}, {\n name: 'indianred',\n hex: '#cd5c5c'\n}, {\n name: 'yellow',\n hex: '#ffff00'\n}, {\n name: 'mistyrose',\n hex: '#ffe4e1'\n}, {\n name: 'darkolivegreen',\n hex: '#556b2f'\n}, {\n name: 'olive',\n hex: '#808000'\n}, {\n name: 'darkseagreen',\n hex: '#8fbc8f'\n}, {\n name: 'pink',\n hex: '#ffc0cb'\n}, {\n name: 'tomato',\n hex: '#ff6347'\n}, {\n name: 'lightcoral',\n hex: '#f08080'\n}, {\n name: 'orangered',\n hex: '#ff4500'\n}, {\n name: 'navajowhite',\n hex: '#ffdead'\n}, {\n name: 'lime',\n hex: '#00ff00'\n}, {\n name: 'palegreen',\n hex: '#98fb98'\n}, {\n name: 'darkslategrey',\n hex: '#2f4f4f'\n}, {\n name: 'greenyellow',\n hex: '#adff2f'\n}, {\n name: 'burlywood',\n hex: '#deb887'\n}, {\n name: 'seashell',\n hex: '#fff5ee'\n}, {\n name: 'mediumspringgreen',\n hex: '#00fa9a'\n}, {\n name: 'fuchsia',\n hex: '#ff00ff'\n}, {\n name: 'papayawhip',\n hex: '#ffefd5'\n}, {\n name: 'blanchedalmond',\n hex: '#ffebcd'\n}, {\n name: 'chartreuse',\n hex: '#7fff00'\n}, {\n name: 'dimgray',\n hex: '#696969'\n}, {\n name: 'black',\n hex: '#000000'\n}, {\n name: 'peachpuff',\n hex: '#ffdab9'\n}, {\n name: 'springgreen',\n hex: '#00ff7f'\n}, {\n name: 'aquamarine',\n hex: '#7fffd4'\n}, {\n name: 'white',\n hex: '#ffffff'\n}, {\n name: 'orange',\n hex: '#ffa500'\n}, {\n name: 'lightsalmon',\n hex: '#ffa07a'\n}, {\n name: 'darkslategray',\n hex: '#2f4f4f'\n}, {\n name: 'brown',\n hex: '#a52a2a'\n}, {\n name: 'ivory',\n hex: '#fffff0'\n}, {\n name: 'dodgerblue',\n hex: '#1e90ff'\n}, {\n name: 'peru',\n hex: '#cd853f'\n}, {\n name: 'lawngreen',\n hex: '#7cfc00'\n}, {\n name: 'chocolate',\n hex: '#d2691e'\n}, {\n name: 'crimson',\n hex: '#dc143c'\n}, {\n name: 'forestgreen',\n hex: '#228b22'\n}, {\n name: 'darkgrey',\n hex: '#a9a9a9'\n}, {\n name: 'lightseagreen',\n hex: '#20b2aa'\n}, {\n name: 'cyan',\n hex: '#00ffff'\n}, {\n name: 'mintcream',\n hex: '#f5fffa'\n}, {\n name: 'silver',\n hex: '#c0c0c0'\n}, {\n name: 'antiquewhite',\n hex: '#faebd7'\n}, {\n name: 'mediumorchid',\n hex: '#ba55d3'\n}, {\n name: 'skyblue',\n hex: '#87ceeb'\n}, {\n name: 'gray',\n hex: '#808080'\n}, {\n name: 'darkturquoise',\n hex: '#00ced1'\n}, {\n name: 'goldenrod',\n hex: '#daa520'\n}, {\n name: 'darkgreen',\n hex: '#006400'\n}, {\n name: 'floralwhite',\n hex: '#fffaf0'\n}, {\n name: 'darkviolet',\n hex: '#9400d3'\n}, {\n name: 'darkgray',\n hex: '#a9a9a9'\n}, {\n name: 'moccasin',\n hex: '#ffe4b5'\n}, {\n name: 'saddlebrown',\n hex: '#8b4513'\n}, {\n name: 'grey',\n hex: '#808080'\n}, {\n name: 'darkslateblue',\n hex: '#483d8b'\n}, {\n name: 'lightskyblue',\n hex: '#87cefa'\n}, {\n name: 'lightpink',\n hex: '#ffb6c1'\n}, {\n name: 'mediumvioletred',\n hex: '#c71585'\n}, {\n name: 'slategrey',\n hex: '#708090'\n}, {\n name: 'red',\n hex: '#ff0000'\n}, {\n name: 'deeppink',\n hex: '#ff1493'\n}, {\n name: 'limegreen',\n hex: '#32cd32'\n}, {\n name: 'darkmagenta',\n hex: '#8b008b'\n}, {\n name: 'palegoldenrod',\n hex: '#eee8aa'\n}, {\n name: 'plum',\n hex: '#dda0dd'\n}, {\n name: 'turquoise',\n hex: '#40e0d0'\n}, {\n name: 'lightgrey',\n hex: '#d3d3d3'\n}, {\n name: 'lightgoldenrodyellow',\n hex: '#fafad2'\n}, {\n name: 'darkgoldenrod',\n hex: '#b8860b'\n}, {\n name: 'lavender',\n hex: '#e6e6fa'\n}, {\n name: 'maroon',\n hex: '#800000'\n}, {\n name: 'yellowgreen',\n hex: '#9acd32'\n}, {\n name: 'sandybrown',\n hex: '#f4a460'\n}, {\n name: 'thistle',\n hex: '#d8bfd8'\n}, {\n name: 'violet',\n hex: '#ee82ee'\n}, {\n name: 'navy',\n hex: '#000080'\n}, {\n name: 'magenta',\n hex: '#ff00ff'\n}, {\n name: 'dimgrey',\n hex: '#696969'\n}, {\n name: 'tan',\n hex: '#d2b48c'\n}, {\n name: 'rosybrown',\n hex: '#bc8f8f'\n}, {\n name: 'olivedrab',\n hex: '#6b8e23'\n}, {\n name: 'blue',\n hex: '#0000ff'\n}, {\n name: 'lightblue',\n hex: '#add8e6'\n}, {\n name: 'ghostwhite',\n hex: '#f8f8ff'\n}, {\n name: 'honeydew',\n hex: '#f0fff0'\n}, {\n name: 'cornflowerblue',\n hex: '#6495ed'\n}, {\n name: 'slateblue',\n hex: '#6a5acd'\n}, {\n name: 'linen',\n hex: '#faf0e6'\n}, {\n name: 'darkblue',\n hex: '#00008b'\n}, {\n name: 'powderblue',\n hex: '#b0e0e6'\n}, {\n name: 'seagreen',\n hex: '#2e8b57'\n}, {\n name: 'darkkhaki',\n hex: '#bdb76b'\n}, {\n name: 'snow',\n hex: '#fffafa'\n}, {\n name: 'sienna',\n hex: '#a0522d'\n}, {\n name: 'mediumblue',\n hex: '#0000cd'\n}, {\n name: 'royalblue',\n hex: '#4169e1'\n}, {\n name: 'lightcyan',\n hex: '#e0ffff'\n}, {\n name: 'green',\n hex: '#008000'\n}, {\n name: 'mediumpurple',\n hex: '#9370db'\n}, {\n name: 'midnightblue',\n hex: '#191970'\n}, {\n name: 'cornsilk',\n hex: '#fff8dc'\n}, {\n name: 'paleturquoise',\n hex: '#afeeee'\n}, {\n name: 'bisque',\n hex: '#ffe4c4'\n}, {\n name: 'slategray',\n hex: '#708090'\n}, {\n name: 'darkcyan',\n hex: '#008b8b'\n}, {\n name: 'khaki',\n hex: '#f0e68c'\n}, {\n name: 'wheat',\n hex: '#f5deb3'\n}, {\n name: 'teal',\n hex: '#008080'\n}, {\n name: 'darkorchid',\n hex: '#9932cc'\n}, {\n name: 'deepskyblue',\n hex: '#00bfff'\n}, {\n name: 'salmon',\n hex: '#fa8072'\n}, {\n name: 'darkred',\n hex: '#8b0000'\n}, {\n name: 'steelblue',\n hex: '#4682b4'\n}, {\n name: 'palevioletred',\n hex: '#db7093'\n}, {\n name: 'lightslategray',\n hex: '#778899'\n}, {\n name: 'aliceblue',\n hex: '#f0f8ff'\n}, {\n name: 'lightslategrey',\n hex: '#778899'\n}, {\n name: 'lightgreen',\n hex: '#90ee90'\n}, {\n name: 'orchid',\n hex: '#da70d6'\n}, {\n name: 'gainsboro',\n hex: '#dcdcdc'\n}, {\n name: 'mediumseagreen',\n hex: '#3cb371'\n}, {\n name: 'lightgray',\n hex: '#d3d3d3'\n}, {\n name: 'mediumturquoise',\n hex: '#48d1cc'\n}, {\n name: 'lemonchiffon',\n hex: '#fffacd'\n}, {\n name: 'cadetblue',\n hex: '#5f9ea0'\n}, {\n name: 'lightyellow',\n hex: '#ffffe0'\n}, {\n name: 'lavenderblush',\n hex: '#fff0f5'\n}, {\n name: 'coral',\n hex: '#ff7f50'\n}, {\n name: 'purple',\n hex: '#800080'\n}, {\n name: 'aqua',\n hex: '#00ffff'\n}, {\n name: 'whitesmoke',\n hex: '#f5f5f5'\n}, {\n name: 'mediumslateblue',\n hex: '#7b68ee'\n}, {\n name: 'darkorange',\n hex: '#ff8c00'\n}, {\n name: 'mediumaquamarine',\n hex: '#66cdaa'\n}, {\n name: 'darksalmon',\n hex: '#e9967a'\n}, {\n name: 'beige',\n hex: '#f5f5dc'\n}, {\n name: 'blueviolet',\n hex: '#8a2be2'\n}, {\n name: 'azure',\n hex: '#f0ffff'\n}, {\n name: 'lightsteelblue',\n hex: '#b0c4de'\n}, {\n name: 'oldlace',\n hex: '#fdf5e6'\n}]\n", "\"use strict\";\n\nvar chroma = require('chroma-js')\nvar WeakMap = require(\"es6-weak-map\")\n\n// These `require` statements are all explicit\n// to keep the browserify build from breaking\nvar lists = {\n basic: require('./lib/colors/basic'),\n html: require('./lib/colors/html'),\n ntc: require('./lib/colors/ntc'),\n pantone: require('./lib/colors/pantone'),\n roygbiv: require('./lib/colors/roygbiv'),\n x11: require('./lib/colors/x11')\n}\n\nvar cache = new WeakMap()\nvar namer = module.exports = function(color, options) {\n options = options || {}\n\n var cacheKey = {color, options}\n if (cache.has(cacheKey)) {\n return cache.get(cacheKey)\n }\n\n var deltaE = String(options.distance).toLowerCase() === 'deltae';\n color = chroma(color)\n var results = {}\n for (var key in lists) {\n if (options.pick && options.pick.indexOf(key) === -1) {\n continue\n }\n if (options.omit && options.omit.indexOf(key) !== -1) {\n continue\n }\n results[key] = lists[key]\n .map (function(name) {\n name.distance = deltaE ? chroma.deltaE(color, chroma(name.hex)) : chroma.distance(color, chroma(name.hex))\n return name\n })\n .sort (function(a, b) {\n return a.distance - b.distance\n })\n }\n cache.set(cacheKey, results)\n return results\n}\n\nnamer.chroma = chroma\nnamer.lists = lists\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 this.size = 0;\n}\n\nmodule.exports = listCacheClear;\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\nmodule.exports = eq;\n", "var eq = require('./eq');\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\nmodule.exports = assocIndexOf;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\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 --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n", "var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheGet;\n", "var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheHas;\n", "var assocIndexOf = require('./_assocIndexOf');\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 ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n", "var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = ListCache;\n", "var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n", "/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\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 stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n", "/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n", "/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\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 stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n", "/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\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 root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\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 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", "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", "/**\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", "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", "var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n", "var coreJsData = require('./_coreJsData');\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/**\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\nmodule.exports = isMasked;\n", "/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\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\nmodule.exports = toSource;\n", "var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\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 for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\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/** 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/**\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) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\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\nmodule.exports = getValue;\n", "var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\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\nmodule.exports = getNative;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n", "var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n", "var nativeCreate = require('./_nativeCreate');\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 this.size = 0;\n}\n\nmodule.exports = hashClear;\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 var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 * 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\nmodule.exports = hashGet;\n", "var nativeCreate = require('./_nativeCreate');\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 * 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\nmodule.exports = hashHas;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n", "var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = Hash;\n", "var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\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.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\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\nmodule.exports = isKeyable;\n", "var isKeyable = require('./_isKeyable');\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\nmodule.exports = getMapData;\n", "var getMapData = require('./_getMapData');\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 var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n", "var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheGet;\n", "var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheHas;\n", "var getMapData = require('./_getMapData');\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 var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n", "var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = MapCache;\n", "var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n", "var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n", "/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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\nmodule.exports = setCacheAdd;\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\nmodule.exports = setCacheHas;\n", "var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\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 == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n", "/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\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\nmodule.exports = cacheHas;\n", "var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n", "var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n", "/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n", "/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n", "var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\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\nmodule.exports = arrayPush;\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 arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\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\nmodule.exports = baseGetAllKeys;\n", "/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\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 = stubArray;\n", "var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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 nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols 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 ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\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 * 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 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 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 * 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", "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", "/** 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 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", "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", "/**\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", "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", "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 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", "/** 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", "/**\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 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 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", "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 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", "var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and 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 getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n", "var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\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 * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n", "var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n", "var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\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 * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n", "var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n", "var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n", "var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n", "var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n", "/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n", "var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n", "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\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\nmodule.exports = isSymbol;\n", "var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n", "var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n", "var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n", "var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\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 == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n", "var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n", "var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n", "var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n", "var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\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\nmodule.exports = toKey;\n", "var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n", "var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n", "/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n", "var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n", "var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n", "var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n", "/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n", "/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n", "var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n", "var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n", "var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\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\nmodule.exports = baseFindIndex;\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\nmodule.exports = baseIsNaN;\n", "/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\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 strictIndexOf(array, value, fromIndex) {\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\nmodule.exports = strictIndexOf;\n", "var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\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 return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n", "var baseIndexOf = require('./_baseIndexOf');\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 == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\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 == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\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", "var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n", "var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\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 seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n", "var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n", "import { useEffect, useState } from \"react\";\nimport { List, getPreferenceValues } from \"@raycast/api\";\nimport colorNamer from \"color-namer\";\nimport { ColorNameListItem } from \"./components/ColorNames\";\nimport { getColorByPlatform, getColorByProximity, normalizeColorHex } from \"./utils\";\nimport { SortType } from \"./types\";\n\nexport default function ColorNames() {\n const [isSearching, setIsSearching] = useState(false);\n const [searchString, setSearchString] = useState<string>(\"\");\n const [colors, setColors] = useState<colorNamer.Colors<colorNamer.Palette>>();\n const [sortBy, setSortBy] = useState<SortType>(\"platform\");\n const normalizedSearchString = normalizeColorHex(searchString);\n const { colorNamesPerGroup = \"5\" } = getPreferenceValues<Preferences.ColorNames>();\n\n const loadColors = (searchString: string) => {\n setIsSearching(true);\n try {\n const colors = colorNamer(searchString);\n setColors(colors);\n } catch (error) {\n setColors(undefined);\n }\n setIsSearching(false);\n };\n\n useEffect(() => {\n loadColors(normalizedSearchString);\n }, [normalizedSearchString]);\n\n return (\n <List\n isLoading={isSearching}\n onSearchTextChange={setSearchString}\n searchBarPlaceholder=\"Search HEX (#00ff00)\"\n searchBarAccessory={\n <List.Dropdown\n tooltip=\"Sort colors by\"\n storeValue\n onChange={(v) => {\n setSortBy(v as SortType);\n }}\n >\n <List.Dropdown.Item value=\"platform\" title=\"Sort by Platform\" />\n <List.Dropdown.Item value=\"proximity\" title=\"Sort by Proximity\" />\n </List.Dropdown>\n }\n >\n {colors ? (\n sortBy === \"platform\" ? (\n getColorByPlatform(normalizedSearchString, colors).map(([palette, colorList]) => (\n <List.Section key={palette} title={palette}>\n {colorList.slice(0, Number(colorNamesPerGroup)).map((color, index) => (\n <ColorNameListItem key={`color-name-${color.name}-${index}`} color={color} />\n ))}\n </List.Section>\n ))\n ) : (\n getColorByProximity(colors).map((color, index) => (\n <ColorNameListItem key={`color-name-${color.name}-${index}`} color={color} />\n ))\n )\n ) : (\n <List.EmptyView title={searchString ? \"No colors found\" : \"Search for a color to see\"} />\n )}\n </List>\n );\n}\n", "import { Action, ActionPanel, Icon, List } from \"@raycast/api\";\nimport { Color } from \"color-namer\";\nimport { normalizeColorHex } from \"../utils\";\n\nexport const ColorNameListItem = ({ color }: { color: Color }) => {\n const hexCode = color.hex.replace(/^#/, \"\");\n return (\n <List.Item\n icon={{\n source: Icon.CircleFilled,\n tintColor: {\n light: hexCode,\n dark: hexCode,\n adjustContrast: false,\n },\n }}\n title={color.name}\n accessories={[\n {\n tag: {\n value: normalizeColorHex(color.hex),\n color: hexCode,\n },\n },\n ]}\n actions={\n <ActionPanel>\n <Action.CopyToClipboard content={color.name} title=\"Copy Name\" />\n <Action.CopyToClipboard content={color.hex} title=\"Copy Hex\" />\n </ActionPanel>\n }\n />\n );\n};\n", "import { getPreferenceValues, Icon, Image, Keyboard, List } from \"@raycast/api\";\nimport ColorJS from \"colorjs.io\";\nimport { Colors, Palette } from \"color-namer\";\nimport uniqBy from \"lodash/uniqBy\";\nimport { HistoryColor, HistoryItem } from \"./types\";\nimport { ColorFormatType } from \"./types\";\n\nconst preferences = getPreferenceValues<ExtensionPreferences>();\n\nexport function getFormattedColor(_color: HistoryColor, format?: ColorFormatType) {\n let color;\n if (typeof _color === \"string\") {\n color = new ColorJS(_color);\n } else if (\"colorSpace\" in _color) {\n color = new ColorJS(_color.colorSpace, [_color.red, _color.green, _color.blue], _color.alpha);\n } else {\n color = new ColorJS(\"srgb\", [_color.red / 255, _color.green / 255, _color.blue / 255], _color.alpha);\n }\n\n switch (format || preferences.colorFormat) {\n default:\n case \"hex\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).toUpperCase();\n }\n case \"hex-lower-case\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).toLowerCase();\n }\n case \"hex-no-prefix\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).replace(\"#\", \"\");\n }\n case \"rgb\": {\n return color.to(\"srgb\").toString({ format: \"rgb_number\" });\n }\n case \"rgb-percentage\": {\n return color.to(\"srgb\").toString({ format: \"rgb\" });\n }\n case \"rgba\": {\n return color.to(\"srgb\").toString({ format: \"rgba_number\" });\n }\n case \"rgba-percentage\": {\n return color.to(\"srgb\").toString({ format: \"rgba\" });\n }\n case \"hsla\": {\n return color.to(\"hsl\").toString({ format: \"hsla\" });\n }\n case \"hsva\": {\n return color.to(\"hsv\").toString({ format: \"color\" });\n }\n case \"oklch\": {\n const oklchColor = color.to(\"oklch\");\n const [l, c, h] = oklchColor.coords;\n const lPercentage = (l * 100).toFixed(2);\n return `oklch(${lPercentage}% ${c} ${h})`;\n }\n case \"lch\": {\n const lchColor = color.to(\"lch\");\n const [l, c, h] = lchColor.coords;\n return `lch(${l.toFixed(2)}% ${c} ${h})`;\n }\n case \"p3\": {\n return color.to(\"p3\").toString({ format: \"p3\" });\n }\n }\n}\n\nconst unsupportedPreviewFormats = [\"p3\", \"rgb\", \"rgb-percentage\"];\nexport function getPreviewColor(color: HistoryColor) {\n const formattedColor = getFormattedColor(\n color,\n unsupportedPreviewFormats.includes(preferences.colorFormat) ? \"oklch\" : undefined,\n );\n return formattedColor;\n}\n\nexport function getShortcut(index: number) {\n const key = index + 1;\n\n let shortcut: Keyboard.Shortcut | undefined;\n if (key >= 1 && key <= 9) {\n shortcut = { modifiers: [\"cmd\"], key: String(key) as Keyboard.KeyEquivalent };\n }\n\n return shortcut;\n}\n\nexport function getIcon(color: HistoryColor) {\n const previewColor = typeof color === \"string\" ? color : getFormattedColor(color, \"hex\");\n if (!previewColor) {\n return undefined;\n }\n\n const icon: Image.ImageLike = {\n source: Icon.CircleFilled,\n tintColor: { light: previewColor, dark: previewColor, adjustContrast: false },\n };\n\n return icon;\n}\n\nexport function getAccessories(historyItem: HistoryItem) {\n const accessories = new Array<List.Item.Accessory>();\n accessories.push({ date: new Date(historyItem.date), tooltip: new Date(historyItem.date).toLocaleString() });\n return accessories;\n}\n\nexport function normalizeColorHex(colorInput: string) {\n let hex = colorInput.replace(/^#/, \"\");\n const validHexPattern = /^([a-f\\d]{3,4}|[a-f\\d]{6}|[a-f]\\d{8})$/i;\n if (validHexPattern.test(hex)) {\n switch (hex.length) {\n case 3:\n case 4:\n hex = hex\n .slice(0, 3)\n .split(\"\")\n .map((x) => x.repeat(2))\n .join(\"\");\n break;\n case 8:\n hex = hex.slice(0, 6);\n break;\n }\n }\n return \"#\" + hex.toUpperCase();\n}\n\nexport function getColorByPlatform(normalizedSearchString: string, colors?: Colors<Palette>) {\n return Object.entries(colors ?? {}).sort(([, a], [, b]) => {\n if (normalizeColorHex(a[0].hex) === normalizeColorHex(b[0].hex)) return 0;\n if (normalizedSearchString === normalizeColorHex(a[0].hex)) return -1;\n return 1;\n });\n}\n\nexport function getColorByProximity(colors?: Colors<Palette>) {\n return uniqBy(Object.values(colors ?? {}).flat(), (x) => x.name.toLowerCase()).sort(\n (a, b) => a.distance - b.distance,\n );\n}\n"], + "mappings": "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AAK,SAAU,CACnC,ICrJA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAU,CACf,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,2BACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,uBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,oBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,qBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,oBACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,4BACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,qBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,oBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,oBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,oBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,uBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,wBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,wBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,qBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,sBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,qBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,oBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,qBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,uBACR,IAAO,QACT,EACA,CACE,KAAQ,oBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,sBACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,oBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,sBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,CACF,ICznMA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAU,CAAC,CAChB,KAAQ,WACR,IAAO,SACT,EAAE,CACA,KAAQ,oBACR,IAAO,SACT,EAAE,CACA,KAAQ,WACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,gBACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,EAAE,CACA,KAAQ,oBACR,IAAO,SACT,EAAE,CACA,KAAQ,kBACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,mBACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,gBACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,MACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,EAAE,CACA,KAAQ,sBACR,IAAO,SACT,EAAE,CACA,KAAQ,UACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,gBACR,IAAO,SACT,EAAE,CACA,KAAQ,OACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,UACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,kBACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,qBACR,IAAO,SACT,EAAE,CACA,KAAQ,gBACR,IAAO,SACT,EAAE,CACA,KAAQ,iBACR,IAAO,SACT,EAAE,CACA,KAAQ,OACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,EAAE,CACA,KAAQ,kBACR,IAAO,SACT,EAAE,CACA,KAAQ,WACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,kBACR,IAAO,SACT,EAAE,CACA,KAAQ,uBACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,iBACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,iBACR,IAAO,SACT,EAAE,CACA,KAAQ,WACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,WACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,gBACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,EAAE,CACA,KAAQ,OACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,mBACR,IAAO,SACT,EAAE,CACA,KAAQ,UACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,iCACR,IAAO,SACT,EAAE,CACA,KAAQ,kBACR,IAAO,SACT,EAAE,CACA,KAAQ,WACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,UACR,IAAO,SACT,EAAE,CACA,KAAQ,gBACR,IAAO,SACT,EAAE,CACA,KAAQ,gBACR,IAAO,SACT,EAAE,CACA,KAAQ,OACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,iBACR,IAAO,SACT,EAAE,CACA,KAAQ,qBACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,WACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,kBACR,IAAO,SACT,EAAE,CACA,KAAQ,UACR,IAAO,SACT,EAAE,CACA,KAAQ,WACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,iBACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,gBACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,EAAE,CACA,KAAQ,iBACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,MACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,kBACR,IAAO,SACT,EAAE,CACA,KAAQ,UACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,OACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,CAAC,ICxWD,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAU,CACf,CAAE,KAAM,MAAO,IAAK,SAAU,EAC9B,CAAE,KAAM,SAAU,IAAK,SAAU,EACjC,CAAE,KAAM,SAAU,IAAK,SAAU,EACjC,CAAE,KAAM,QAAS,IAAK,SAAU,EAChC,CAAE,KAAM,OAAQ,IAAK,SAAU,EAC/B,CAAE,KAAM,SAAU,IAAK,SAAU,EACjC,CAAE,KAAM,SAAU,IAAK,SAAU,CACnC,ICRA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAU,CAAC,CAChB,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,iBACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,eACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,oBACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,iBACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,eACN,IAAK,SACP,EAAG,CACD,KAAM,eACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,eACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,kBACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,MACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,uBACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,MACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,iBACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,eACN,IAAK,SACP,EAAG,CACD,KAAM,eACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,iBACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,iBACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,iBACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,kBACN,IAAK,SACP,EAAG,CA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", + "names": ["require_chroma", "__commonJSMin", "exports", "module", "Color", "DEG2RAD", "LAB_CONSTANTS", "PI", "PITHIRD", "RAD2DEG", "TWOPI", "_average_lrgb", "_guess_formats", "_guess_formats_sorted", "_input", "_interpolators", "abs", "atan2", "bezier", "blend", "blend_f", "brewer", "burn", "chroma", "clip_rgb", "cmyk2rgb", "colors", "cos", "css2rgb", "darken", "dodge", "each", "floor", "hcg2rgb", "hex2rgb", "hsi2rgb", "hsl2css", "hsl2rgb", "hsv2rgb", "interpolate", "interpolate_hsx", "interpolate_lab", "interpolate_lrgb", "interpolate_num", "interpolate_rgb", "lab2lch", "lab2rgb", "lab_xyz", "lch2lab", "lch2rgb", "lighten", "limit", "log", "luminance_x", "m", "max", "multiply", "normal", "num2rgb", "overlay", "pow", "rgb2cmyk", "rgb2css", "rgb2hcg", "rgb2hex", "rgb2hsi", "rgb2hsl", "rgb2hsv", "rgb2lab", "rgb2lch", "rgb2luminance", "rgb2num", "rgb2temperature", "rgb2xyz", "rgb_xyz", "rnd", "root", "round", "screen", "sin", "sqrt", "temperature2rgb", "type", "unpack", "w3cx11", "xyz_lab", "xyz_rgb", "slice", "classToType", "len", "name", "o", "ref", "obj", "strType", "x", "min", "args", "rgb", "i", "func", "ctor", "child", "result", "arg", "chk", "len1", "me", "mode", "w", "a", "b", "key", "results", "g", "l", "r", "y", "z", "t", "ref1", "I", "I0", "I1", "c", "lab0", "lab1", "lab2", "lab3", "ref2", "lab", "f", "start", "rotations", "hue", "gamma", "lightness", "dh", "dl", "fract", "amp", "cos_a", "h", "sin_a", "s", "code", "digits", "col1", "col2", "interpol", "res", "k", "v", "xyz0", "xyz1", "col", "xyz", "A", "alpha", "cnt", "dx", "dy", "first", "xyz2", "hex", "u", "channels", "hxa", "str", "t1", "t2", "t3", "p", "q", "ref3", "ref4", "ref5", "delta", "num", "_c", "_g", "css", "aa", "ab", "hsl", "rgba", "L", "lum", "cur_lum", "eps", "max_iter", "test", "lm", "kelvin", "temp", "maxTemp", "minTemp", "l1", "l2", "d", "sum_sq", "C", "L1", "L2", "a1", "a2", "b1", "b2", "c1", "c2", "c4", "dH2", "delA", "delB", "delC", "delL", "h1", "sc", "sh", "sl", "v1", "v2", "v3", "modechan", "channel", "src", "value", "amount", "lch", "bottom", "top", "c0", "out", "data", "val", "positions", "_classes", "_colorCache", "_colors", "_correctLightness", "_domain", "_fixed", "_gamma", "_max", "_min", "_mode", "_nacol", "_out", "_padding", "_pos", "_spread", "_useCache", "classifyValue", "getClass", "getColor", "resetCache", "setColors", "tmap", "n", "maxc", "minc", "bypassMap", "classes", "domain", "_m", "_o", "L0", "L_actual", "L_diff", "L_ideal", "pol", "t0", "numColors", "dd", "dm", "samples", "filter", "add", "visit", "ac", "ad", "ae", "af", "ag", "ah", "ai", "aj", "ak", "al", "am", "assignments", "best", "centroids", "cluster", "clusterSizes", "dist", "j", "kClusters", "limits", "max_log", "min_log", "mindist", "nb_iters", "newCentroids", "pb", "pr", "ref10", "ref11", "ref12", "ref13", "ref14", "ref6", "ref7", "ref8", "ref9", "repeat", "sum", "tmpKMeansBreaks", "values", "hue0", "hue1", "lbv", "lbv0", "lbv1", "sat", "sat0", "sat1", "n1", "n2", "require_is_implemented", "__commonJSMin", "exports", "module", "weakMap", "obj", "require_noop", "__commonJSMin", "exports", "module", "require_is_value", "__commonJSMin", "exports", "module", "_undefined", "val", "require_is_implemented", "__commonJSMin", "exports", "module", "create", "getPrototypeOf", "plainObject", "setPrototypeOf", "customCreate", "require_is_object", "__commonJSMin", "exports", "module", "isValue", "map", "value", "require_valid_value", "__commonJSMin", "exports", "module", "isValue", "value", "require_create", "__commonJSMin", "exports", "module", "create", "shim", "nullObject", "polyProps", "desc", "name", "prototype", "props", "require_shim", "__commonJSMin", "exports", "module", "isObject", "value", "objIsPrototypeOf", "defineProperty", "nullDesc", "validate", "obj", "prototype", "status", "fn", "set", "self", "isNullBase", "tmpObj1", "tmpObj2", "desc", "require_set_prototype_of", "__commonJSMin", "exports", "module", "require_valid_object", "__commonJSMin", "exports", "module", "isObject", "value", "require_random_uniq", "__commonJSMin", "exports", "module", "generated", "random", "str", "require_is", "__commonJSMin", "exports", "module", "_undefined", "value", "require_is", "__commonJSMin", "exports", "module", "isValue", "possibleTypes", "value", "require_is", "__commonJSMin", "exports", "module", "isObject", "value", "require_is", "__commonJSMin", "exports", "module", "isPrototype", "value", "require_is", "__commonJSMin", "exports", "module", "isFunction", "classRe", "functionToString", "value", "require_is_implemented", "__commonJSMin", "exports", "module", "assign", "obj", "require_is_implemented", "__commonJSMin", "exports", "module", "require_shim", "__commonJSMin", "exports", "module", "isValue", "keys", "object", "require_keys", "__commonJSMin", "exports", "module", "require_shim", "__commonJSMin", "exports", "module", "keys", "value", "max", "dest", "src", "error", "i", "length", "assign", "key", "e", "require_assign", "__commonJSMin", "exports", "module", "require_normalize_options", "__commonJSMin", "exports", "module", "isValue", "forEach", "create", "process", "src", "obj", "key", "opts1", "result", "options", "require_is_implemented", "__commonJSMin", "exports", "module", "str", "require_shim", "__commonJSMin", "exports", "module", "indexOf", "searchString", "require_contains", "__commonJSMin", "exports", "module", "require_d", "__commonJSMin", "exports", "module", "isValue", "isPlainFunction", "assign", "normalizeOpts", "contains", "d", "dscr", "value", "c", "e", "w", "options", "desc", "get", "set", "require_is_arguments", "__commonJSMin", "exports", "module", "objToString", "id", "value", "require_is_string", "__commonJSMin", "exports", "module", "objToString", "id", "value", "require_is_implemented", "__commonJSMin", "exports", "module", "require_implementation", "__commonJSMin", "exports", "module", "naiveFallback", "require_global_this", "__commonJSMin", "exports", "module", "require_is_implemented", "__commonJSMin", "exports", "module", "global", "validTypes", "Symbol", "symbol", "require_is_symbol", "__commonJSMin", "exports", "module", "value", "require_validate_symbol", "__commonJSMin", "exports", "module", "isSymbol", "value", "require_generate_name", "__commonJSMin", "exports", "module", "d", "create", "defineProperty", "objPrototype", "created", "desc", "postfix", "name", "ie11BugWorkaround", "value", "require_standard_symbols", "__commonJSMin", "exports", "module", "d", "NativeSymbol", "SymbolPolyfill", "require_symbol_registry", "__commonJSMin", "exports", "module", "d", "validateSymbol", "registry", "SymbolPolyfill", "key", "symbol", "require_polyfill", "__commonJSMin", "exports", "module", "d", "validateSymbol", "NativeSymbol", "generateName", "setupStandardSymbols", "setupSymbolRegistry", "create", "defineProperties", "defineProperty", "SymbolPolyfill", "HiddenSymbol", "isNativeSafe", "description", "Symbol", "symbol", "require_es6_symbol", "__commonJSMin", "exports", "module", "require_clear", "__commonJSMin", "exports", "module", "value", "require_valid_callable", "__commonJSMin", "exports", "module", "fn", "require_coerce", "__commonJSMin", "exports", "module", "isValue", "isObject", "objectToString", "value", "valueToString", "require_safe_to_string", "__commonJSMin", "exports", "module", "value", "require_to_short_string", "__commonJSMin", "exports", "module", "safeToString", "reNewLine", "value", "string", "char", "require_resolve_error_message", "__commonJSMin", "exports", "module", "stringCoerce", "toShortString", "errorMessage", "value", "inputOptions", "valueInsertIndex", "valueToken", "nameInsertIndex", "firstToken", "secondToken", "firstInsertIndex", "secondInsertIndex", "require_resolve_exception", "__commonJSMin", "exports", "module", "isValue", "resolveErrorMessage", "value", "defaultMessage", "inputOptions", "ErrorConstructor", "error", "require_ensure", "__commonJSMin", "exports", "module", "resolveException", "is", "value", "options", "errorMessage", "require_ensure", "__commonJSMin", "exports", "module", "resolveException", "is", "value", "options", "errorMessage", "require_is_implemented", "__commonJSMin", "exports", "module", "from", "arr", "result", "require_is_function", "__commonJSMin", "exports", "module", "objToString", "isFunctionStringTag", "value", "require_is_implemented", "__commonJSMin", "exports", "module", "sign", "require_shim", "__commonJSMin", "exports", "module", "value", "require_sign", "__commonJSMin", "exports", "module", "require_to_integer", "__commonJSMin", "exports", "module", "sign", "abs", "floor", "value", "require_to_pos_integer", "__commonJSMin", "exports", "module", "toInteger", "max", "value", "require_shim", "__commonJSMin", "exports", "module", "iteratorSymbol", "isArguments", "isFunction", "toPosInt", "callable", "validValue", "isValue", "isString", "isArray", "call", "desc", "defineProperty", "arrayLike", "mapFn", "thisArg", "Context", "i", "j", "arr", "length", "code", "iterator", "result", "getIterator", "value", "require_from", "__commonJSMin", "exports", "module", "require_copy", "__commonJSMin", "exports", "module", "aFrom", "assign", "value", "obj", "copy", "propertyNames", "options", "result", "propertyName", "require_iterate", "__commonJSMin", "exports", "module", "callable", "value", "bind", "call", "keys", "objPropertyIsEnumerable", "method", "defVal", "obj", "cb", "list", "thisArg", "compareFn", "key", "index", "require_for_each", "__commonJSMin", "exports", "module", "require_map", "__commonJSMin", "exports", "module", "callable", "forEach", "call", "obj", "cb", "result", "thisArg", "value", "key", "targetObj", "index", "require_auto_bind", "__commonJSMin", "exports", "module", "isValue", "ensureValue", "ensurePlainFunction", "copy", "normalizeOptions", "map", "bind", "defineProperty", "hasOwnProperty", "define", "name", "desc", "options", "value", "dgs", "props", "require_es6_iterator", "__commonJSMin", "exports", "module", "clear", "assign", "callable", "value", "d", "autoBind", "Symbol", "defineProperty", "defineProperties", "Iterator", "list", "context", "i", "index", "redo", "j", "require_array", "__commonJSMin", "exports", "module", "setPrototypeOf", "contains", "d", "Symbol", "Iterator", "defineProperty", "ArrayIterator", "arr", "kind", "i", "require_string", "__commonJSMin", "exports", "module", "setPrototypeOf", "d", "Symbol", "Iterator", "defineProperty", "StringIterator", "str", "i", "char", "code", "require_is_iterable", "__commonJSMin", "exports", "module", "isArguments", "isValue", "isString", "iteratorSymbol", "isArray", "value", "require_valid_iterable", "__commonJSMin", "exports", "module", "isIterable", "value", "require_get", "__commonJSMin", "exports", "module", "isArguments", "isString", "ArrayIterator", "StringIterator", "iterable", "iteratorSymbol", "obj", "require_for_of", "__commonJSMin", "exports", "module", "isArguments", "callable", "isString", "get", "isArray", "call", "some", "iterable", "cb", "mode", "thisArg", "result", "doBreak", "broken", "i", "length", "char", "code", "value", "require_is_native_implemented", "__commonJSMin", "exports", "module", "require_polyfill", "__commonJSMin", "exports", "module", "isValue", "setPrototypeOf", "object", "ensureValue", "randomUniq", "d", "getIterator", "forOf", "toStringTagSymbol", "isNative", "isArray", "defineProperty", "objHasOwnProperty", "getPrototypeOf", "WeakMapPoly", "iterable", "self", "val", "key", "value", "require_es6_weak_map", "__commonJSMin", "exports", "module", "require_basic", "__commonJSMin", "exports", "module", "require_html", "__commonJSMin", "exports", "module", "require_ntc", "__commonJSMin", "exports", "module", "require_pantone", "__commonJSMin", "exports", "module", "require_roygbiv", "__commonJSMin", "exports", "module", "require_x11", "__commonJSMin", "exports", "module", "require_color_namer", "__commonJSMin", "exports", "module", "chroma", "WeakMap", "lists", "cache", "namer", "color", "options", "cacheKey", "deltaE", "results", "key", "name", "a", "b", "require_listCacheClear", "__commonJSMin", "exports", "module", "listCacheClear", "require_eq", "__commonJSMin", "exports", "module", "eq", "value", "other", "require_assocIndexOf", "__commonJSMin", "exports", "module", "eq", "assocIndexOf", "array", "key", "length", "require_listCacheDelete", "__commonJSMin", "exports", "module", "assocIndexOf", "arrayProto", "splice", "listCacheDelete", "key", "data", "index", "lastIndex", "require_listCacheGet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheGet", "key", "data", "index", "require_listCacheHas", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheHas", "key", "require_listCacheSet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheSet", "key", "value", "data", "index", "require_ListCache", "__commonJSMin", "exports", "module", "listCacheClear", "listCacheDelete", "listCacheGet", "listCacheHas", "listCacheSet", "ListCache", "entries", "index", "length", "entry", "require_stackClear", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "require_stackDelete", "__commonJSMin", "exports", "module", "stackDelete", "key", "data", "result", "require_stackGet", "__commonJSMin", "exports", "module", "stackGet", "key", "require_stackHas", "__commonJSMin", "exports", "module", "stackHas", "key", "require_freeGlobal", "__commonJSMin", "exports", "module", "freeGlobal", "require_root", "__commonJSMin", "exports", "module", "freeGlobal", "freeSelf", "root", "require_Symbol", "__commonJSMin", "exports", "module", "root", "Symbol", "require_getRawTag", "__commonJSMin", "exports", "module", "Symbol", "objectProto", "hasOwnProperty", "nativeObjectToString", "symToStringTag", "getRawTag", "value", "isOwn", "tag", "unmasked", "result", "require_objectToString", "__commonJSMin", "exports", "module", "objectProto", "nativeObjectToString", "objectToString", "value", "require_baseGetTag", "__commonJSMin", "exports", "module", "Symbol", "getRawTag", "objectToString", "nullTag", "undefinedTag", "symToStringTag", "baseGetTag", "value", "require_isObject", "__commonJSMin", "exports", "module", "isObject", "value", "type", "require_isFunction", "__commonJSMin", "exports", "module", "baseGetTag", "isObject", "asyncTag", "funcTag", "genTag", "proxyTag", "isFunction", "value", "tag", "require_coreJsData", "__commonJSMin", "exports", "module", "root", "coreJsData", "require_isMasked", "__commonJSMin", "exports", "module", "coreJsData", "maskSrcKey", "uid", "isMasked", "func", "require_toSource", "__commonJSMin", "exports", "module", "funcProto", "funcToString", "toSource", "func", "require_baseIsNative", "__commonJSMin", "exports", "module", "isFunction", "isMasked", "isObject", "toSource", "reRegExpChar", "reIsHostCtor", "funcProto", "objectProto", "funcToString", "hasOwnProperty", "reIsNative", "baseIsNative", "value", "pattern", "require_getValue", "__commonJSMin", "exports", "module", "getValue", "object", "key", "require_getNative", "__commonJSMin", "exports", "module", "baseIsNative", "getValue", "getNative", "object", "key", "value", "require_Map", "__commonJSMin", "exports", "module", "getNative", "root", "Map", "require_nativeCreate", "__commonJSMin", "exports", "module", "getNative", "nativeCreate", "require_hashClear", "__commonJSMin", "exports", "module", "nativeCreate", "hashClear", "require_hashDelete", "__commonJSMin", "exports", "module", "hashDelete", "key", "result", "require_hashGet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "objectProto", "hasOwnProperty", "hashGet", "key", "data", "result", "require_hashHas", "__commonJSMin", "exports", "module", "nativeCreate", "objectProto", "hasOwnProperty", "hashHas", "key", "data", "require_hashSet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "hashSet", "key", "value", "data", "require_Hash", "__commonJSMin", "exports", "module", "hashClear", "hashDelete", "hashGet", "hashHas", "hashSet", "Hash", "entries", "index", "length", "entry", "require_mapCacheClear", "__commonJSMin", "exports", "module", "Hash", "ListCache", "Map", "mapCacheClear", "require_isKeyable", "__commonJSMin", "exports", "module", "isKeyable", "value", "type", "require_getMapData", "__commonJSMin", "exports", "module", "isKeyable", "getMapData", "map", "key", "data", "require_mapCacheDelete", "__commonJSMin", "exports", "module", "getMapData", "mapCacheDelete", "key", "result", "require_mapCacheGet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheGet", "key", "require_mapCacheHas", "__commonJSMin", "exports", "module", "getMapData", "mapCacheHas", "key", "require_mapCacheSet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheSet", "key", "value", "data", "size", "require_MapCache", "__commonJSMin", "exports", "module", "mapCacheClear", "mapCacheDelete", "mapCacheGet", "mapCacheHas", "mapCacheSet", "MapCache", "entries", "index", "length", "entry", "require_stackSet", "__commonJSMin", "exports", "module", "ListCache", "Map", "MapCache", "LARGE_ARRAY_SIZE", "stackSet", "key", "value", "data", "pairs", "require_Stack", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "stackDelete", "stackGet", "stackHas", "stackSet", "Stack", "entries", "data", "require_setCacheAdd", "__commonJSMin", "exports", "module", "HASH_UNDEFINED", "setCacheAdd", "value", "require_setCacheHas", "__commonJSMin", "exports", "module", "setCacheHas", "value", "require_SetCache", "__commonJSMin", "exports", "module", "MapCache", "setCacheAdd", "setCacheHas", "SetCache", "values", "index", "length", "require_arraySome", "__commonJSMin", "exports", "module", "arraySome", "array", "predicate", "index", "length", "require_cacheHas", "__commonJSMin", "exports", "module", "cacheHas", "cache", "key", "require_equalArrays", "__commonJSMin", "exports", "module", "SetCache", "arraySome", "cacheHas", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "equalArrays", "array", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "arrLength", "othLength", "arrStacked", "othStacked", "index", "result", "seen", "arrValue", "othValue", "compared", "othIndex", "require_Uint8Array", "__commonJSMin", "exports", "module", "root", "Uint8Array", "require_mapToArray", "__commonJSMin", "exports", "module", "mapToArray", "map", "index", "result", "value", "key", "require_setToArray", "__commonJSMin", "exports", "module", "setToArray", "set", "index", "result", "value", "require_equalByTag", "__commonJSMin", "exports", "module", "Symbol", "Uint8Array", "eq", "equalArrays", "mapToArray", "setToArray", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "boolTag", "dateTag", "errorTag", "mapTag", "numberTag", "regexpTag", "setTag", "stringTag", "symbolTag", "arrayBufferTag", "dataViewTag", "symbolProto", "symbolValueOf", "equalByTag", "object", "other", "tag", "bitmask", "customizer", "equalFunc", "stack", "convert", "isPartial", "stacked", "result", "require_arrayPush", "__commonJSMin", "exports", "module", "arrayPush", "array", "values", "index", "length", "offset", "require_isArray", "__commonJSMin", "exports", "module", "isArray", "require_baseGetAllKeys", "__commonJSMin", "exports", "module", "arrayPush", "isArray", "baseGetAllKeys", "object", "keysFunc", "symbolsFunc", "result", "require_arrayFilter", "__commonJSMin", "exports", "module", "arrayFilter", "array", "predicate", "index", "length", "resIndex", "result", "value", "require_stubArray", "__commonJSMin", "exports", "module", "stubArray", "require_getSymbols", "__commonJSMin", "exports", "module", "arrayFilter", "stubArray", "objectProto", "propertyIsEnumerable", "nativeGetSymbols", "getSymbols", "object", "symbol", "require_baseTimes", "__commonJSMin", "exports", "module", "baseTimes", "n", "iteratee", "index", "result", "require_isObjectLike", "__commonJSMin", "exports", "module", "isObjectLike", "value", "require_baseIsArguments", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "argsTag", "baseIsArguments", "value", "require_isArguments", "__commonJSMin", "exports", "module", "baseIsArguments", "isObjectLike", "objectProto", "hasOwnProperty", "propertyIsEnumerable", "isArguments", "value", "require_stubFalse", "__commonJSMin", "exports", "module", "stubFalse", "require_isBuffer", "__commonJSMin", "exports", "module", "root", "stubFalse", "freeExports", "freeModule", "moduleExports", "Buffer", "nativeIsBuffer", "isBuffer", "require_isIndex", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "reIsUint", "isIndex", "value", "length", "type", "require_isLength", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "isLength", "value", "require_baseIsTypedArray", "__commonJSMin", "exports", "module", "baseGetTag", "isLength", "isObjectLike", "argsTag", "arrayTag", "boolTag", "dateTag", "errorTag", "funcTag", "mapTag", "numberTag", "objectTag", "regexpTag", "setTag", "stringTag", "weakMapTag", "arrayBufferTag", "dataViewTag", "float32Tag", "float64Tag", "int8Tag", "int16Tag", "int32Tag", "uint8Tag", "uint8ClampedTag", "uint16Tag", "uint32Tag", "typedArrayTags", "baseIsTypedArray", "value", "require_baseUnary", "__commonJSMin", "exports", "module", "baseUnary", "func", "value", "require_nodeUtil", "__commonJSMin", "exports", "module", "freeGlobal", "freeExports", "freeModule", "moduleExports", "freeProcess", "nodeUtil", "types", "require_isTypedArray", "__commonJSMin", "exports", "module", "baseIsTypedArray", "baseUnary", "nodeUtil", "nodeIsTypedArray", "isTypedArray", "require_arrayLikeKeys", "__commonJSMin", "exports", "module", "baseTimes", "isArguments", "isArray", "isBuffer", "isIndex", "isTypedArray", "objectProto", "hasOwnProperty", "arrayLikeKeys", "value", "inherited", "isArr", "isArg", "isBuff", "isType", "skipIndexes", "result", "length", "key", "require_isPrototype", "__commonJSMin", "exports", "module", "objectProto", "isPrototype", "value", "Ctor", "proto", "require_overArg", "__commonJSMin", "exports", "module", "overArg", "func", "transform", "arg", "require_nativeKeys", "__commonJSMin", "exports", "module", "overArg", "nativeKeys", "require_baseKeys", "__commonJSMin", "exports", "module", "isPrototype", "nativeKeys", "objectProto", "hasOwnProperty", "baseKeys", "object", "result", "key", "require_isArrayLike", "__commonJSMin", "exports", "module", "isFunction", "isLength", "isArrayLike", "value", "require_keys", "__commonJSMin", "exports", "module", "arrayLikeKeys", "baseKeys", "isArrayLike", "keys", "object", "require_getAllKeys", "__commonJSMin", "exports", "module", "baseGetAllKeys", "getSymbols", "keys", "getAllKeys", "object", "require_equalObjects", "__commonJSMin", "exports", "module", "getAllKeys", "COMPARE_PARTIAL_FLAG", "objectProto", "hasOwnProperty", "equalObjects", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "objProps", "objLength", "othProps", "othLength", "index", "key", "objStacked", "othStacked", "result", "skipCtor", "objValue", "othValue", "compared", "objCtor", "othCtor", "require_DataView", "__commonJSMin", "exports", "module", "getNative", "root", "DataView", "require_Promise", "__commonJSMin", "exports", "module", "getNative", "root", "Promise", "require_Set", "__commonJSMin", "exports", "module", "getNative", "root", "Set", "require_WeakMap", "__commonJSMin", "exports", "module", "getNative", "root", "WeakMap", "require_getTag", "__commonJSMin", "exports", "module", "DataView", "Map", "Promise", "Set", "WeakMap", "baseGetTag", "toSource", "mapTag", "objectTag", "promiseTag", "setTag", "weakMapTag", "dataViewTag", "dataViewCtorString", "mapCtorString", "promiseCtorString", "setCtorString", "weakMapCtorString", "getTag", "value", "result", "Ctor", "ctorString", "require_baseIsEqualDeep", "__commonJSMin", "exports", "module", "Stack", "equalArrays", "equalByTag", "equalObjects", "getTag", "isArray", "isBuffer", "isTypedArray", "COMPARE_PARTIAL_FLAG", "argsTag", "arrayTag", "objectTag", "objectProto", "hasOwnProperty", "baseIsEqualDeep", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "objIsArr", "othIsArr", "objTag", "othTag", "objIsObj", "othIsObj", "isSameTag", "objIsWrapped", "othIsWrapped", "objUnwrapped", "othUnwrapped", "require_baseIsEqual", "__commonJSMin", "exports", "module", "baseIsEqualDeep", "isObjectLike", "baseIsEqual", "value", "other", "bitmask", "customizer", "stack", "require_baseIsMatch", "__commonJSMin", "exports", "module", "Stack", "baseIsEqual", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseIsMatch", "object", "source", "matchData", "customizer", "index", "length", "noCustomizer", "data", "key", "objValue", "srcValue", "stack", "result", "require_isStrictComparable", "__commonJSMin", "exports", "module", "isObject", "isStrictComparable", "value", "require_getMatchData", "__commonJSMin", "exports", "module", "isStrictComparable", "keys", "getMatchData", "object", "result", "length", "key", "value", "require_matchesStrictComparable", "__commonJSMin", "exports", "module", "matchesStrictComparable", "key", "srcValue", "object", "require_baseMatches", "__commonJSMin", "exports", "module", "baseIsMatch", "getMatchData", "matchesStrictComparable", "baseMatches", "source", "matchData", "object", "require_isSymbol", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "symbolTag", "isSymbol", "value", "require_isKey", "__commonJSMin", "exports", "module", "isArray", "isSymbol", "reIsDeepProp", "reIsPlainProp", "isKey", "value", "object", "type", "require_memoize", "__commonJSMin", "exports", "module", "MapCache", "FUNC_ERROR_TEXT", "memoize", "func", "resolver", "memoized", "args", "key", "cache", "result", "require_memoizeCapped", "__commonJSMin", "exports", "module", "memoize", "MAX_MEMOIZE_SIZE", "memoizeCapped", "func", "result", "key", "cache", "require_stringToPath", "__commonJSMin", "exports", "module", "memoizeCapped", "rePropName", "reEscapeChar", "stringToPath", "string", "result", "match", "number", "quote", "subString", "require_arrayMap", "__commonJSMin", "exports", "module", "arrayMap", "array", "iteratee", "index", "length", "result", "require_baseToString", "__commonJSMin", "exports", "module", "Symbol", "arrayMap", "isArray", "isSymbol", "INFINITY", "symbolProto", "symbolToString", "baseToString", "value", "result", "require_toString", "__commonJSMin", "exports", "module", "baseToString", "toString", "value", "require_castPath", "__commonJSMin", "exports", "module", "isArray", "isKey", "stringToPath", "toString", "castPath", "value", "object", "require_toKey", "__commonJSMin", "exports", "module", "isSymbol", "INFINITY", "toKey", "value", "result", "require_baseGet", "__commonJSMin", "exports", "module", "castPath", "toKey", "baseGet", "object", "path", "index", "length", "require_get", "__commonJSMin", "exports", "module", "baseGet", "get", "object", "path", "defaultValue", "result", "require_baseHasIn", "__commonJSMin", "exports", "module", "baseHasIn", "object", "key", "require_hasPath", "__commonJSMin", "exports", "module", "castPath", "isArguments", "isArray", "isIndex", "isLength", "toKey", "hasPath", "object", "path", "hasFunc", "index", "length", "result", "key", "require_hasIn", "__commonJSMin", "exports", "module", "baseHasIn", "hasPath", "hasIn", "object", "path", "require_baseMatchesProperty", "__commonJSMin", "exports", "module", "baseIsEqual", "get", "hasIn", "isKey", "isStrictComparable", "matchesStrictComparable", "toKey", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseMatchesProperty", "path", "srcValue", "object", "objValue", "require_identity", "__commonJSMin", "exports", "module", "identity", "value", "require_baseProperty", "__commonJSMin", "exports", "module", "baseProperty", "key", "object", "require_basePropertyDeep", "__commonJSMin", "exports", "module", "baseGet", "basePropertyDeep", "path", "object", "require_property", "__commonJSMin", "exports", "module", "baseProperty", "basePropertyDeep", "isKey", "toKey", "property", "path", "require_baseIteratee", "__commonJSMin", "exports", "module", "baseMatches", "baseMatchesProperty", "identity", "isArray", "property", "baseIteratee", "value", "require_baseFindIndex", "__commonJSMin", "exports", "module", "baseFindIndex", "array", "predicate", "fromIndex", "fromRight", "length", "index", "require_baseIsNaN", "__commonJSMin", "exports", "module", "baseIsNaN", "value", "require_strictIndexOf", "__commonJSMin", "exports", "module", "strictIndexOf", "array", "value", "fromIndex", "index", "length", "require_baseIndexOf", "__commonJSMin", "exports", "module", "baseFindIndex", "baseIsNaN", "strictIndexOf", "baseIndexOf", "array", "value", "fromIndex", "require_arrayIncludes", "__commonJSMin", "exports", "module", "baseIndexOf", "arrayIncludes", "array", "value", "length", "require_arrayIncludesWith", "__commonJSMin", "exports", "module", "arrayIncludesWith", "array", "value", "comparator", "index", "length", "require_noop", "__commonJSMin", "exports", "module", "noop", "require_createSet", "__commonJSMin", "exports", "module", "Set", "noop", "setToArray", "INFINITY", "createSet", "values", "require_baseUniq", "__commonJSMin", "exports", "module", "SetCache", "arrayIncludes", "arrayIncludesWith", "cacheHas", "createSet", "setToArray", "LARGE_ARRAY_SIZE", "baseUniq", "array", "iteratee", "comparator", "index", "includes", "length", "isCommon", "result", "seen", "set", "outer", "value", "computed", "seenIndex", "require_uniqBy", "__commonJSMin", "exports", "module", "baseIteratee", "baseUniq", "uniqBy", "array", "iteratee", "color_names_exports", "__export", "ColorNames", "__toCommonJS", "import_react", "import_api", "import_color_namer", "import_api", "import_api", "import_uniqBy", "preferences", "normalizeColorHex", "colorInput", "hex", "x", "getColorByPlatform", "normalizedSearchString", "colors", "a", "b", "getColorByProximity", "uniqBy", "import_jsx_runtime", "ColorNameListItem", "color", "hexCode", "normalizeColorHex", "import_jsx_runtime", "ColorNames", "isSearching", "setIsSearching", "searchString", "setSearchString", "colors", "setColors", "sortBy", "setSortBy", "normalizedSearchString", "normalizeColorHex", "colorNamesPerGroup", "loadColors", "colorNamer", "v", "getColorByPlatform", "palette", "colorList", "color", "index", "ColorNameListItem", "getColorByProximity"] +} diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/color-wheel.js b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/color-wheel.js @@ -0,0 +1,44 @@ +"use strict";var Lu=Object.create;var sr=Object.defineProperty;var Tu=Object.getOwnPropertyDescriptor;var Au=Object.getOwnPropertyNames;var Ou=Object.getPrototypeOf,ku=Object.prototype.hasOwnProperty;var m=(e,a)=>()=>(a||e((a={exports:{}}).exports,a),a.exports),Ru=(e,a)=>{for(var t in a)sr(e,t,{get:a[t],enumerable:!0})},pd=(e,a,t,r)=>{if(a&&typeof a=="object"||typeof a=="function")for(let p of Au(a))!ku.call(e,p)&&p!==t&&sr(e,p,{get:()=>a[p],enumerable:!(r=Tu(a,p))||r.enumerable});return e};var or=(e,a,t)=>(t=e!=null?Lu(Ou(e)):{},pd(a||!e||!e.__esModule?sr(t,"default",{value:e,enumerable:!0}):t,e)),Mu=e=>pd(sr({},"__esModule",{value:!0}),e);var nd=m(dd=>{var id=Object.prototype.hasOwnProperty;function $2(e,a){var t,r;if(e===a)return!0;if(e&&a&&(t=e.constructor)===a.constructor){if(t===Date)return e.getTime()===a.getTime();if(t===RegExp)return e.toString()===a.toString();if(t===Array){if((r=e.length)===a.length)for(;r--&&$2(e[r],a[r]););return r===-1}if(!t||typeof e=="object"){r=0;for(t in e)if(id.call(e,t)&&++r&&!id.call(a,t)||!(t in a)||!$2(e[t],a[t]))return!1;return Object.keys(a).length===r}}return e!==e&&a!==a}dd.dequal=$2});var sd=m(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.useDeepMemo=void 0;var z2=require("react"),Iu=nd();function Vu(e){let a=(0,z2.useRef)(e),t=(0,z2.useRef)(0);return(0,Iu.dequal)(e,a.current)||(a.current=e,t.current+=1),(0,z2.useMemo)(()=>a.current,[t.current])}lr.useDeepMemo=Vu});var o1=m(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.useLatest=void 0;var Fu=require("react");function qu(e){let a=(0,Fu.useRef)(e);return a.current=e,a}ur.useLatest=qu});var dt=m(Ye=>{"use strict";var Bu=Ye&&Ye.__createBinding||(Object.create?function(e,a,t,r){r===void 0&&(r=t);var p=Object.getOwnPropertyDescriptor(a,t);(!p||("get"in p?!a.__esModule:p.writable||p.configurable))&&(p={enumerable:!0,get:function(){return a[t]}}),Object.defineProperty(e,r,p)}:function(e,a,t,r){r===void 0&&(r=t),e[r]=a[t]}),ju=Ye&&Ye.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:!0,value:a})}:function(e,a){e.default=a}),ld=Ye&&Ye.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var t in e)t!=="default"&&Object.prototype.hasOwnProperty.call(e,t)&&Bu(a,e,t);return ju(a,e),a};Object.defineProperty(Ye,"__esModule",{value:!0});Ye.showFailureToast=void 0;var Uu=ld(require("fs")),Gu=ld(require("path")),sa=require("@raycast/api");function $u(e,a){let t=e instanceof Error?e.message:String(e);return(0,sa.showToast)({style:sa.Toast.Style.Failure,title:a?.title??"Something went wrong",message:a?.message??t,primaryAction:a?.primaryAction??od(e),secondaryAction:a?.primaryAction?od(e):void 0})}Ye.showFailureToast=$u;var od=e=>{let a=!0,t="[Extension Name]...",r="";try{let d=JSON.parse(Uu.readFileSync(Gu.join(sa.environment.assetsPath,"..","package.json"),"utf8"));t=`[${d.title}]...`,r=`https://raycast.com/${d.owner||d.author}/${d.name}`,(!d.owner||d.access==="public")&&(a=!1)}catch{}let p=sa.environment.isDevelopment||a,i=e instanceof Error?e?.stack||e?.message||"":String(e);return{title:p?"Copy Logs":"Report Error",onAction(d){d.hide(),p?sa.Clipboard.copy(i):(0,sa.open)(`https://github.com/raycast/extensions/issues/new?&labels=extension%2Cbug&template=extension_bug_report.yml&title=${encodeURIComponent(t)}&extension-url=${encodeURI(r)}&description=${encodeURIComponent(`#### Error: +\`\`\` +${i} +\`\`\` +`)}`)}}}});var oa=m(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.usePromise=void 0;var Te=require("react"),nt=require("@raycast/api"),zu=sd(),b1=o1(),Hu=dt();function Wu(e,a,t){let r=(0,Te.useRef)(0),[p,i]=(0,Te.useState)({isLoading:!0}),d=(0,b1.useLatest)(e),n=(0,b1.useLatest)(t?.abortable),s=(0,b1.useLatest)(a||[]),o=(0,b1.useLatest)(t?.onError),l=(0,b1.useLatest)(t?.onData),u=(0,b1.useLatest)(t?.onWillExecute),c=(0,b1.useLatest)(t?.failureToastOptions),g=(0,b1.useLatest)(p.data),f=(0,Te.useRef)(),h=(0,Te.useRef)({page:0}),v=(0,Te.useRef)(!1),w=(0,Te.useRef)(!0),y=(0,Te.useRef)(50),_=(0,Te.useCallback)((...j)=>{let N=++r.current;n.current&&(n.current.current?.abort(),n.current.current=new AbortController),u.current?.(j),i(C=>({...C,isLoading:!0}));let L=Yu(d.current)(...j);function B(C){return C.name=="AbortError"||N===r.current&&(o.current?o.current(C):nt.environment.launchType!==nt.LaunchType.Background&&(0,Hu.showFailureToast)(C,{title:"Failed to fetch latest data",primaryAction:{title:"Retry",onAction(M){M.hide(),f.current?.(...s.current||[])}},...c.current}),i({error:C,isLoading:!1})),C}return typeof L=="function"?(v.current=!0,L(h.current).then(({data:C,hasMore:M,cursor:G})=>(N===r.current&&(h.current&&(h.current.cursor=G,h.current.lastItem=C?.[C.length-1]),l.current&&l.current(C,h.current),M&&(y.current=C.length),w.current=M,i($=>h.current.page===0?{data:C,isLoading:!1}:{data:($.data||[])?.concat(C),isLoading:!1})),C),C=>(w.current=!1,B(C)))):(v.current=!1,L.then(C=>(N===r.current&&(l.current&&l.current(C),i({data:C,isLoading:!1})),C),B))},[n,l,o,s,d,i,f,u,h,c]);f.current=_;let S=(0,Te.useCallback)(()=>{h.current={page:0};let j=s.current||[];return _(...j)},[_,s]),D=(0,Te.useCallback)(async(j,N)=>{let L;try{if(N?.optimisticUpdate){typeof N?.rollbackOnError!="function"&&N?.rollbackOnError!==!1&&(L=structuredClone(g.current?.value));let B=N.optimisticUpdate;i(C=>({...C,data:B(C.data)}))}return await j}catch(B){if(typeof N?.rollbackOnError=="function"){let C=N.rollbackOnError;i(M=>({...M,data:C(M.data)}))}else N?.optimisticUpdate&&N?.rollbackOnError!==!1&&i(C=>({...C,data:L}));throw B}finally{N?.shouldRevalidateAfter!==!1&&(nt.environment.launchType===nt.LaunchType.Background||nt.environment.commandMode==="menu-bar"?await S():S())}},[S,g,i]),T=(0,Te.useCallback)(()=>{h.current.page+=1;let j=s.current||[];_(...j)},[h,s,_]);(0,Te.useEffect)(()=>{h.current={page:0},t?.execute!==!1?_(...a||[]):n.current&&n.current.current?.abort()},[(0,zu.useDeepMemo)([a,t?.execute,_]),n,h]),(0,Te.useEffect)(()=>()=>{n.current&&n.current.current?.abort()},[n]);let E=t?.execute!==!1?p.isLoading:!1,A={...p,isLoading:E},k=v.current?{pageSize:y.current,hasMore:w.current,onLoadMore:T}:void 0;return{...A,revalidate:S,mutate:D,pagination:k}}mr.usePromise=Wu;function Yu(e){return e===Promise.all||e===Promise.race||e===Promise.resolve||e===Promise.reject?e.bind(Promise):e}});var vd=m((M1,hd)=>{"use strict";var H2=require("crypto");M1=hd.exports=st;function st(e,a){return a=cd(e,a),Ku(e,a)}M1.sha1=function(e){return st(e)};M1.keys=function(e){return st(e,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})};M1.MD5=function(e){return st(e,{algorithm:"md5",encoding:"hex"})};M1.keysMD5=function(e){return st(e,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var la=H2.getHashes?H2.getHashes().slice():["sha1","md5"];la.push("passthrough");var ud=["buffer","hex","binary","base64"];function cd(e,a){a=a||{};var t={};if(t.algorithm=a.algorithm||"sha1",t.encoding=a.encoding||"hex",t.excludeValues=!!a.excludeValues,t.algorithm=t.algorithm.toLowerCase(),t.encoding=t.encoding.toLowerCase(),t.ignoreUnknown=a.ignoreUnknown===!0,t.respectType=a.respectType!==!1,t.respectFunctionNames=a.respectFunctionNames!==!1,t.respectFunctionProperties=a.respectFunctionProperties!==!1,t.unorderedArrays=a.unorderedArrays===!0,t.unorderedSets=a.unorderedSets!==!1,t.unorderedObjects=a.unorderedObjects!==!1,t.replacer=a.replacer||void 0,t.excludeKeys=a.excludeKeys||void 0,typeof e>"u")throw new Error("Object argument required.");for(var r=0;r<la.length;++r)la[r].toLowerCase()===t.algorithm.toLowerCase()&&(t.algorithm=la[r]);if(la.indexOf(t.algorithm)===-1)throw new Error('Algorithm "'+t.algorithm+'" not supported. supported values: '+la.join(", "));if(ud.indexOf(t.encoding)===-1&&t.algorithm!=="passthrough")throw new Error('Encoding "'+t.encoding+'" not supported. supported values: '+ud.join(", "));return t}function md(e){if(typeof e!="function")return!1;var a=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;return a.exec(Function.prototype.toString.call(e))!=null}function Ku(e,a){var t;a.algorithm!=="passthrough"?t=H2.createHash(a.algorithm):t=new fd,typeof t.write>"u"&&(t.write=t.update,t.end=t.update);var r=W2(a,t);if(r.dispatch(e),t.update||t.end(""),t.digest)return t.digest(a.encoding==="buffer"?void 0:a.encoding);var p=t.read();return a.encoding==="buffer"?p:p.toString(a.encoding)}M1.writeToStream=function(e,a,t){return typeof t>"u"&&(t=a,a={}),a=cd(e,a),W2(a,t).dispatch(e)};function W2(e,a,t){t=t||[];var r=function(p){return a.update?a.update(p,"utf8"):a.write(p,"utf8")};return{dispatch:function(p){e.replacer&&(p=e.replacer(p));var i=typeof p;return p===null&&(i="null"),this["_"+i](p)},_object:function(p){var i=/\[object (.*)\]/i,d=Object.prototype.toString.call(p),n=i.exec(d);n?n=n[1]:n="unknown:["+d+"]",n=n.toLowerCase();var s=null;if((s=t.indexOf(p))>=0)return this.dispatch("[CIRCULAR:"+s+"]");if(t.push(p),typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(p))return r("buffer:"),r(p);if(n!=="object"&&n!=="function"&&n!=="asyncfunction")if(this["_"+n])this["_"+n](p);else{if(e.ignoreUnknown)return r("["+n+"]");throw new Error('Unknown object type "'+n+'"')}else{var o=Object.keys(p);e.unorderedObjects&&(o=o.sort()),e.respectType!==!1&&!md(p)&&o.splice(0,0,"prototype","__proto__","constructor"),e.excludeKeys&&(o=o.filter(function(u){return!e.excludeKeys(u)})),r("object:"+o.length+":");var l=this;return o.forEach(function(u){l.dispatch(u),r(":"),e.excludeValues||l.dispatch(p[u]),r(",")})}},_array:function(p,i){i=typeof i<"u"?i:e.unorderedArrays!==!1;var d=this;if(r("array:"+p.length+":"),!i||p.length<=1)return p.forEach(function(o){return d.dispatch(o)});var n=[],s=p.map(function(o){var l=new fd,u=t.slice(),c=W2(e,l,u);return c.dispatch(o),n=n.concat(u.slice(t.length)),l.read().toString()});return t=t.concat(n),s.sort(),this._array(s,!1)},_date:function(p){return r("date:"+p.toJSON())},_symbol:function(p){return r("symbol:"+p.toString())},_error:function(p){return r("error:"+p.toString())},_boolean:function(p){return r("bool:"+p.toString())},_string:function(p){r("string:"+p.length+":"),r(p.toString())},_function:function(p){r("fn:"),md(p)?this.dispatch("[native]"):this.dispatch(p.toString()),e.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(p.name)),e.respectFunctionProperties&&this._object(p)},_number:function(p){return r("number:"+p.toString())},_xml:function(p){return r("xml:"+p.toString())},_null:function(){return r("Null")},_undefined:function(){return r("Undefined")},_regexp:function(p){return r("regex:"+p.toString())},_uint8array:function(p){return r("uint8array:"),this.dispatch(Array.prototype.slice.call(p))},_uint8clampedarray:function(p){return r("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(p))},_int8array:function(p){return r("int8array:"),this.dispatch(Array.prototype.slice.call(p))},_uint16array:function(p){return r("uint16array:"),this.dispatch(Array.prototype.slice.call(p))},_int16array:function(p){return r("int16array:"),this.dispatch(Array.prototype.slice.call(p))},_uint32array:function(p){return r("uint32array:"),this.dispatch(Array.prototype.slice.call(p))},_int32array:function(p){return r("int32array:"),this.dispatch(Array.prototype.slice.call(p))},_float32array:function(p){return r("float32array:"),this.dispatch(Array.prototype.slice.call(p))},_float64array:function(p){return r("float64array:"),this.dispatch(Array.prototype.slice.call(p))},_arraybuffer:function(p){return r("arraybuffer:"),this.dispatch(new Uint8Array(p))},_url:function(p){return r("url:"+p.toString(),"utf8")},_map:function(p){r("map:");var i=Array.from(p);return this._array(i,e.unorderedSets!==!1)},_set:function(p){r("set:");var i=Array.from(p);return this._array(i,e.unorderedSets!==!1)},_file:function(p){return r("file:"),this.dispatch([p.name,p.size,p.type,p.lastModfied])},_blob:function(){if(e.ignoreUnknown)return r("[blob]");throw Error(`Hashing Blob objects is currently not supported +(see https://github.com/puleos/object-hash/issues/26) +Use "options.replacer" or "options.ignoreUnknown" +`)},_domwindow:function(){return r("domwindow")},_bigint:function(p){return r("bigint:"+p.toString())},_process:function(){return r("process")},_timer:function(){return r("timer")},_pipe:function(){return r("pipe")},_tcp:function(){return r("tcp")},_udp:function(){return r("udp")},_tty:function(){return r("tty")},_statwatcher:function(){return r("statwatcher")},_securecontext:function(){return r("securecontext")},_connection:function(){return r("connection")},_zlib:function(){return r("zlib")},_context:function(){return r("context")},_nodescript:function(){return r("nodescript")},_httpparser:function(){return r("httpparser")},_dataview:function(){return r("dataview")},_signal:function(){return r("signal")},_fsevent:function(){return r("fsevent")},_tlswrap:function(){return r("tlswrap")}}}function fd(){return{buf:"",write:function(e){this.buf+=e},end:function(e){this.buf+=e},read:function(){return this.buf}}}});var I1=m(Ke=>{"use strict";var Ju=Ke&&Ke.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ke,"__esModule",{value:!0});Ke.hash=Ke.reviver=Ke.replacer=void 0;var Xu=Ju(vd());function Zu(e,a){let t=this[e];return t instanceof Date?`__raycast_cached_date__${t.toString()}`:Buffer.isBuffer(t)?`__raycast_cached_buffer__${t.toString("base64")}`:a}Ke.replacer=Zu;function Qu(e,a){return typeof a=="string"&&a.startsWith("__raycast_cached_date__")?new Date(a.replace("__raycast_cached_date__","")):typeof a=="string"&&a.startsWith("__raycast_cached_buffer__")?Buffer.from(a.replace("__raycast_cached_buffer__",""),"base64"):a}Ke.reviver=Qu;function em(e,a){return(0,Xu.default)(e,{replacer:t=>t instanceof URLSearchParams?t.toString():t,...a})}Ke.hash=em});var fr=m(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.useCachedState=void 0;var Y2=require("react"),am=require("@raycast/api"),K2=o1(),gd=I1(),tm=Symbol("cache without namespace"),wd=new Map;function rm(e,a,t){let r=t?.cacheNamespace||tm,p=wd.get(r)||wd.set(r,new am.Cache({namespace:t?.cacheNamespace})).get(r);if(!p)throw new Error("Missing cache");let i=(0,K2.useLatest)(e),d=(0,K2.useLatest)(a),n=(0,Y2.useSyncExternalStore)(p.subscribe,()=>{try{return p.get(i.current)}catch(u){console.error("Could not get Cache data:",u);return}}),s=(0,Y2.useMemo)(()=>{if(typeof n<"u"){if(n==="undefined")return;try{return JSON.parse(n,gd.reviver)}catch(u){return console.warn("The cached data is corrupted",u),d.current}}else return d.current},[n,d]),o=(0,K2.useLatest)(s),l=(0,Y2.useCallback)(u=>{let c=typeof u=="function"?u(o.current):u;if(typeof c>"u")p.set(i.current,"undefined");else{let g=JSON.stringify(c,gd.replacer);p.set(i.current,g)}return c},[p,i,o]);return[s,l]}cr.useCachedState=rm});var lt=m(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.useCachedPromise=void 0;var ot=require("react"),pm=fr(),im=oa(),dm=o1(),bd=I1(),ua=Symbol();function nm(e,a,t){let{initialData:r,keepPreviousData:p,internal_cacheKeySuffix:i,...d}=t||{},n=(0,ot.useRef)(),[s,o]=(0,pm.useCachedState)((0,bd.hash)(a||[])+i,ua,{cacheNamespace:(0,bd.hash)(e)}),l=(0,ot.useRef)(s!==ua?s:r),u=(0,ot.useRef)(void 0),{mutate:c,revalidate:g,...f}=(0,im.usePromise)(e,a||[],{...d,onData(_,S){u.current=S,d.onData&&d.onData(_,S),!(S&&S.page>0)&&(n.current="promise",l.current=_,o(_))}}),h,v=f.pagination;u.current&&u.current.page>0&&f.data?h=f.data:n.current==="promise"?h=l.current:p&&s!==ua?(h=s,v&&(v.hasMore=!0,v.pageSize=s.length)):p&&s===ua?h=l.current:s!==ua?(h=s,v&&(v.hasMore=!0,v.pageSize=s.length)):h=r;let w=(0,dm.useLatest)(h),y=(0,ot.useCallback)(async(_,S)=>{let D;try{if(S?.optimisticUpdate){typeof S?.rollbackOnError!="function"&&S?.rollbackOnError!==!1&&(D=structuredClone(w.current));let T=S.optimisticUpdate(w.current);n.current="cache",l.current=T,o(T)}return await c(_,{shouldRevalidateAfter:S?.shouldRevalidateAfter})}catch(T){if(typeof S?.rollbackOnError=="function"){let E=S.rollbackOnError(w.current);n.current="cache",l.current=E,o(E)}else S?.optimisticUpdate&&S?.rollbackOnError!==!1&&(n.current="cache",l.current=D,o(D));throw T}},[o,c,w,l,n]);return(0,ot.useEffect)(()=>{s!==ua&&(n.current="cache",l.current=s)},[s]),{data:h,isLoading:f.isLoading,error:f.error,mutate:u.current&&u.current.page>0?c:y,pagination:v,revalidate:g}}hr.useCachedPromise=nm});var Sd=m((YE,_d)=>{"use strict";var Z={};_d.exports=Z;function yd(e){return e<0?-1:1}function sm(e){return e%1===.5&&(e&1)===0?Math.floor(e):Math.round(e)}function y1(e,a){a.unsigned||--e;let t=a.unsigned?0:-Math.pow(2,e),r=Math.pow(2,e)-1,p=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e),i=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(d,n){n||(n={});let s=+d;if(n.enforceRange){if(!Number.isFinite(s))throw new TypeError("Argument is not a finite number");if(s=yd(s)*Math.floor(Math.abs(s)),s<t||s>r)throw new TypeError("Argument is not in byte range");return s}if(!isNaN(s)&&n.clamp)return s=sm(s),s<t&&(s=t),s>r&&(s=r),s;if(!Number.isFinite(s)||s===0)return 0;if(s=yd(s)*Math.floor(Math.abs(s)),s=s%p,!a.unsigned&&s>=i)return s-p;if(a.unsigned){if(s<0)s+=p;else if(s===-0)return 0}return s}}Z.void=function(){};Z.boolean=function(e){return!!e};Z.byte=y1(8,{unsigned:!1});Z.octet=y1(8,{unsigned:!0});Z.short=y1(16,{unsigned:!1});Z["unsigned short"]=y1(16,{unsigned:!0});Z.long=y1(32,{unsigned:!1});Z["unsigned long"]=y1(32,{unsigned:!0});Z["long long"]=y1(32,{unsigned:!1,moduloBitLength:64});Z["unsigned long long"]=y1(32,{unsigned:!0,moduloBitLength:64});Z.double=function(e){let a=+e;if(!Number.isFinite(a))throw new TypeError("Argument is not a finite floating-point value");return a};Z["unrestricted double"]=function(e){let a=+e;if(isNaN(a))throw new TypeError("Argument is NaN");return a};Z.float=Z.double;Z["unrestricted float"]=Z["unrestricted double"];Z.DOMString=function(e,a){return a||(a={}),a.treatNullAsEmptyString&&e===null?"":String(e)};Z.ByteString=function(e,a){let t=String(e),r;for(let p=0;(r=t.codePointAt(p))!==void 0;++p)if(r>255)throw new TypeError("Argument is not a valid bytestring");return t};Z.USVString=function(e){let a=String(e),t=a.length,r=[];for(let p=0;p<t;++p){let i=a.charCodeAt(p);if(i<55296||i>57343)r.push(String.fromCodePoint(i));else if(56320<=i&&i<=57343)r.push(String.fromCodePoint(65533));else if(p===t-1)r.push(String.fromCodePoint(65533));else{let d=a.charCodeAt(p+1);if(56320<=d&&d<=57343){let n=i&1023,s=d&1023;r.push(String.fromCodePoint(65536+1024*n+s)),++p}else r.push(String.fromCodePoint(65533))}}return r.join("")};Z.Date=function(e,a){if(!(e instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(e))return e};Z.RegExp=function(e,a){return e instanceof RegExp||(e=new RegExp(e)),e}});var Nd=m((KE,_1)=>{"use strict";_1.exports.mixin=function(a,t){let r=Object.getOwnPropertyNames(t);for(let p=0;p<r.length;++p)Object.defineProperty(a,r[p],Object.getOwnPropertyDescriptor(t,r[p]))};_1.exports.wrapperSymbol=Symbol("wrapper");_1.exports.implSymbol=Symbol("impl");_1.exports.wrapperForImpl=function(e){return e[_1.exports.wrapperSymbol]};_1.exports.implForWrapper=function(e){return e[_1.exports.implSymbol]}});var Cd=m((JE,om)=>{om.exports=[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1e3,1e3],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6e3],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8e3,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8e3]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9e3],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[3e4]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13e3,13e3],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43e3,43e3],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64e3,64e3],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66e3,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[12e4,12e4],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128e3,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23e3]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149e3]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32e3]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195e3,195e3],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[4e4]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918e3,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]});var Td=m((XE,gr)=>{"use strict";var Dd=require("punycode"),xd=Cd(),ma={TRANSITIONAL:0,NONTRANSITIONAL:1};function Pd(e){return e.split("\0").map(function(a){return a.normalize("NFC")}).join("\0")}function Ed(e){for(var a=0,t=xd.length-1;a<=t;){var r=Math.floor((a+t)/2),p=xd[r];if(p[0][0]<=e&&p[0][1]>=e)return p;p[0][0]>e?t=r-1:a=r+1}return null}var lm=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function Ld(e){return e.replace(lm,"_").length}function um(e,a,t){for(var r=!1,p="",i=Ld(e),d=0;d<i;++d){var n=e.codePointAt(d),s=Ed(n);switch(s[1]){case"disallowed":r=!0,p+=String.fromCodePoint(n);break;case"ignored":break;case"mapped":p+=String.fromCodePoint.apply(String,s[2]);break;case"deviation":t===ma.TRANSITIONAL?p+=String.fromCodePoint.apply(String,s[2]):p+=String.fromCodePoint(n);break;case"valid":p+=String.fromCodePoint(n);break;case"disallowed_STD3_mapped":a?(r=!0,p+=String.fromCodePoint(n)):p+=String.fromCodePoint.apply(String,s[2]);break;case"disallowed_STD3_valid":a&&(r=!0),p+=String.fromCodePoint(n);break}}return{string:p,error:r}}var mm=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;function cm(e,a){e.substr(0,4)==="xn--"&&(e=Dd.toUnicode(e),a=ma.NONTRANSITIONAL);var t=!1;(Pd(e)!==e||e[3]==="-"&&e[4]==="-"||e[0]==="-"||e[e.length-1]==="-"||e.indexOf(".")!==-1||e.search(mm)===0)&&(t=!0);for(var r=Ld(e),p=0;p<r;++p){var i=Ed(e.codePointAt(p));if(vr===ma.TRANSITIONAL&&i[1]!=="valid"||vr===ma.NONTRANSITIONAL&&i[1]!=="valid"&&i[1]!=="deviation"){t=!0;break}}return{label:e,error:t}}function vr(e,a,t){var r=um(e,a,t);r.string=Pd(r.string);for(var p=r.string.split("."),i=0;i<p.length;++i)try{var d=cm(p[i]);p[i]=d.label,r.error=r.error||d.error}catch{r.error=!0}return{string:p.join("."),error:r.error}}gr.exports.toASCII=function(e,a,t,r){var p=vr(e,a,t),i=p.string.split(".");if(i=i.map(function(s){try{return Dd.toASCII(s)}catch{return p.error=!0,s}}),r){var d=i.slice(0,i.length-1).join(".").length;(d.length>253||d.length===0)&&(p.error=!0);for(var n=0;n<i.length;++n)if(i.length>63||i.length===0){p.error=!0;break}}return p.error?null:i.join(".")};gr.exports.toUnicode=function(e,a){var t=vr(e,a,ma.NONTRANSITIONAL);return{domain:t.string,error:t.error}};gr.exports.PROCESSING_OPTIONS=ma});var Je=m((ZE,Ae)=>{"use strict";var ca=require("punycode"),Ad=Td(),Md={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443},V=Symbol("failure");function Od(e){return ca.ucs2.decode(e).length}function kd(e,a){let t=e[a];return isNaN(t)?void 0:String.fromCodePoint(t)}function ut(e){return e>=48&&e<=57}function mt(e){return e>=65&&e<=90||e>=97&&e<=122}function fm(e){return mt(e)||ut(e)}function Ge(e){return ut(e)||e>=65&&e<=70||e>=97&&e<=102}function Rd(e){return e==="."||e.toLowerCase()==="%2e"}function hm(e){return e=e.toLowerCase(),e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function vm(e,a){return mt(e)&&(a===58||a===124)}function Id(e){return e.length===2&&mt(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function gm(e){return e.length===2&&mt(e.codePointAt(0))&&e[1]===":"}function wm(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function bm(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function J2(e){return Md[e]!==void 0}function ne(e){return J2(e.scheme)}function ym(e){return Md[e]}function Vd(e){let a=e.toString(16).toUpperCase();return a.length===1&&(a="0"+a),"%"+a}function _m(e){let a=new Buffer(e),t="";for(let r=0;r<a.length;++r)t+=Vd(a[r]);return t}function Sm(e){let a=new Buffer(e),t=[];for(let r=0;r<a.length;++r)a[r]!==37?t.push(a[r]):a[r]===37&&Ge(a[r+1])&&Ge(a[r+2])?(t.push(parseInt(a.slice(r+1,r+3).toString(),16)),r+=2):t.push(a[r]);return new Buffer(t).toString()}function wr(e){return e<=31||e>126}var Nm=new Set([32,34,35,60,62,63,96,123,125]);function Fd(e){return wr(e)||Nm.has(e)}var Cm=new Set([47,58,59,61,64,91,92,93,94,124]);function Z2(e){return Fd(e)||Cm.has(e)}function V1(e,a){let t=String.fromCodePoint(e);return a(e)?_m(t):t}function xm(e){let a=10;return e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"?(e=e.substring(2),a=16):e.length>=2&&e.charAt(0)==="0"&&(e=e.substring(1),a=8),e===""?0:(a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/).test(e)?V:parseInt(e,a)}function Dm(e){let a=e.split(".");if(a[a.length-1]===""&&a.length>1&&a.pop(),a.length>4)return e;let t=[];for(let i of a){if(i==="")return e;let d=xm(i);if(d===V)return e;t.push(d)}for(let i=0;i<t.length-1;++i)if(t[i]>255)return V;if(t[t.length-1]>=Math.pow(256,5-t.length))return V;let r=t.pop(),p=0;for(let i of t)r+=i*Math.pow(256,3-p),++p;return r}function Pm(e){let a="",t=e;for(let r=1;r<=4;++r)a=String(t%256)+a,r!==4&&(a="."+a),t=Math.floor(t/256);return a}function Em(e){let a=[0,0,0,0,0,0,0,0],t=0,r=null,p=0;if(e=ca.ucs2.decode(e),e[p]===58){if(e[p+1]!==58)return V;p+=2,++t,r=t}for(;p<e.length;){if(t===8)return V;if(e[p]===58){if(r!==null)return V;++p,++t,r=t;continue}let i=0,d=0;for(;d<4&&Ge(e[p]);)i=i*16+parseInt(kd(e,p),16),++p,++d;if(e[p]===46){if(d===0||(p-=d,t>6))return V;let n=0;for(;e[p]!==void 0;){let s=null;if(n>0)if(e[p]===46&&n<4)++p;else return V;if(!ut(e[p]))return V;for(;ut(e[p]);){let o=parseInt(kd(e,p));if(s===null)s=o;else{if(s===0)return V;s=s*10+o}if(s>255)return V;++p}a[t]=a[t]*256+s,++n,(n===2||n===4)&&++t}if(n!==4)return V;break}else if(e[p]===58){if(++p,e[p]===void 0)return V}else if(e[p]!==void 0)return V;a[t]=i,++t}if(r!==null){let i=t-r;for(t=7;t!==0&&i>0;){let d=a[r+i-1];a[r+i-1]=a[t],a[t]=d,--t,--i}}else if(r===null&&t!==8)return V;return a}function Lm(e){let a="",r=Am(e).idx,p=!1;for(let i=0;i<=7;++i)if(!(p&&e[i]===0)){if(p&&(p=!1),r===i){a+=i===0?"::":":",p=!0;continue}a+=e[i].toString(16),i!==7&&(a+=":")}return a}function X2(e,a){if(e[0]==="[")return e[e.length-1]!=="]"?V:Em(e.substring(1,e.length-1));if(!a)return Tm(e);let t=Sm(e),r=Ad.toASCII(t,!1,Ad.PROCESSING_OPTIONS.NONTRANSITIONAL,!1);if(r===null||wm(r))return V;let p=Dm(r);return typeof p=="number"||p===V?p:r}function Tm(e){if(bm(e))return V;let a="",t=ca.ucs2.decode(e);for(let r=0;r<t.length;++r)a+=V1(t[r],wr);return a}function Am(e){let a=null,t=1,r=null,p=0;for(let i=0;i<e.length;++i)e[i]!==0?(p>t&&(a=r,t=p),r=null,p=0):(r===null&&(r=i),++p);return p>t&&(a=r,t=p),{idx:a,len:t}}function Q2(e){return typeof e=="number"?Pm(e):e instanceof Array?"["+Lm(e)+"]":e}function Om(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function km(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function qd(e){let a=e.path;a.length!==0&&(e.scheme==="file"&&a.length===1&&Mm(a[0])||a.pop())}function Bd(e){return e.username!==""||e.password!==""}function Rm(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function Mm(e){return/^[A-Za-z]:$/.test(e)}function Q(e,a,t,r,p){if(this.pointer=0,this.input=e,this.base=a||null,this.encodingOverride=t||"utf-8",this.stateOverride=p,this.url=r,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:!1};let d=Om(this.input);d!==this.input&&(this.parseError=!0),this.input=d}let i=km(this.input);for(i!==this.input&&(this.parseError=!0),this.input=i,this.state=p||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=ca.ucs2.decode(this.input);this.pointer<=this.input.length;++this.pointer){let d=this.input[this.pointer],n=isNaN(d)?void 0:String.fromCodePoint(d),s=this["parse "+this.state](d,n);if(s){if(s===V){this.failure=!0;break}}else break}}Q.prototype["parse scheme start"]=function(a,t){if(mt(a))this.buffer+=t.toLowerCase(),this.state="scheme";else if(!this.stateOverride)this.state="no scheme",--this.pointer;else return this.parseError=!0,V;return!0};Q.prototype["parse scheme"]=function(a,t){if(fm(a)||a===43||a===45||a===46)this.buffer+=t.toLowerCase();else if(a===58){if(this.stateOverride&&(ne(this.url)&&!J2(this.buffer)||!ne(this.url)&&J2(this.buffer)||(Bd(this.url)||this.url.port!==null)&&this.buffer==="file"||this.url.scheme==="file"&&(this.url.host===""||this.url.host===null))||(this.url.scheme=this.buffer,this.buffer="",this.stateOverride))return!1;this.url.scheme==="file"?((this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47)&&(this.parseError=!0),this.state="file"):ne(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme?this.state="special relative or authority":ne(this.url)?this.state="special authority slashes":this.input[this.pointer+1]===47?(this.state="path or authority",++this.pointer):(this.url.cannotBeABaseURL=!0,this.url.path.push(""),this.state="cannot-be-a-base-URL path")}else if(!this.stateOverride)this.buffer="",this.state="no scheme",this.pointer=-1;else return this.parseError=!0,V;return!0};Q.prototype["parse no scheme"]=function(a){return this.base===null||this.base.cannotBeABaseURL&&a!==35?V:(this.base.cannotBeABaseURL&&a===35?(this.url.scheme=this.base.scheme,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.url.cannotBeABaseURL=!0,this.state="fragment"):this.base.scheme==="file"?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)};Q.prototype["parse special relative or authority"]=function(a){return a===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0};Q.prototype["parse path or authority"]=function(a){return a===47?this.state="authority":(this.state="path",--this.pointer),!0};Q.prototype["parse relative"]=function(a){return this.url.scheme=this.base.scheme,isNaN(a)?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query):a===47?this.state="relative slash":a===63?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):a===35?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):ne(this.url)&&a===92?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(0,this.base.path.length-1),this.state="path",--this.pointer),!0};Q.prototype["parse relative slash"]=function(a){return ne(this.url)&&(a===47||a===92)?(a===92&&(this.parseError=!0),this.state="special authority ignore slashes"):a===47?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer),!0};Q.prototype["parse special authority slashes"]=function(a){return a===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0};Q.prototype["parse special authority ignore slashes"]=function(a){return a!==47&&a!==92?(this.state="authority",--this.pointer):this.parseError=!0,!0};Q.prototype["parse authority"]=function(a,t){if(a===64){this.parseError=!0,this.atFlag&&(this.buffer="%40"+this.buffer),this.atFlag=!0;let r=Od(this.buffer);for(let p=0;p<r;++p){let i=this.buffer.codePointAt(p);if(i===58&&!this.passwordTokenSeenFlag){this.passwordTokenSeenFlag=!0;continue}let d=V1(i,Z2);this.passwordTokenSeenFlag?this.url.password+=d:this.url.username+=d}this.buffer=""}else if(isNaN(a)||a===47||a===63||a===35||ne(this.url)&&a===92){if(this.atFlag&&this.buffer==="")return this.parseError=!0,V;this.pointer-=Od(this.buffer)+1,this.buffer="",this.state="host"}else this.buffer+=t;return!0};Q.prototype["parse hostname"]=Q.prototype["parse host"]=function(a,t){if(this.stateOverride&&this.url.scheme==="file")--this.pointer,this.state="file host";else if(a===58&&!this.arrFlag){if(this.buffer==="")return this.parseError=!0,V;let r=X2(this.buffer,ne(this.url));if(r===V)return V;if(this.url.host=r,this.buffer="",this.state="port",this.stateOverride==="hostname")return!1}else if(isNaN(a)||a===47||a===63||a===35||ne(this.url)&&a===92){if(--this.pointer,ne(this.url)&&this.buffer==="")return this.parseError=!0,V;if(this.stateOverride&&this.buffer===""&&(Bd(this.url)||this.url.port!==null))return this.parseError=!0,!1;let r=X2(this.buffer,ne(this.url));if(r===V)return V;if(this.url.host=r,this.buffer="",this.state="path start",this.stateOverride)return!1}else a===91?this.arrFlag=!0:a===93&&(this.arrFlag=!1),this.buffer+=t;return!0};Q.prototype["parse port"]=function(a,t){if(ut(a))this.buffer+=t;else if(isNaN(a)||a===47||a===63||a===35||ne(this.url)&&a===92||this.stateOverride){if(this.buffer!==""){let r=parseInt(this.buffer);if(r>Math.pow(2,16)-1)return this.parseError=!0,V;this.url.port=r===ym(this.url.scheme)?null:r,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}else return this.parseError=!0,V;return!0};var Im=new Set([47,92,63,35]);Q.prototype["parse file"]=function(a){return this.url.scheme="file",a===47||a===92?(a===92&&(this.parseError=!0),this.state="file slash"):this.base!==null&&this.base.scheme==="file"?isNaN(a)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):a===63?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):a===35?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1===0||!vm(a,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!Im.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),qd(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0};Q.prototype["parse file slash"]=function(a){return a===47||a===92?(a===92&&(this.parseError=!0),this.state="file host"):(this.base!==null&&this.base.scheme==="file"&&(gm(this.base.path[0])?this.url.path.push(this.base.path[0]):this.url.host=this.base.host),this.state="path",--this.pointer),!0};Q.prototype["parse file host"]=function(a,t){if(isNaN(a)||a===47||a===92||a===63||a===35)if(--this.pointer,!this.stateOverride&&Id(this.buffer))this.parseError=!0,this.state="path";else if(this.buffer===""){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let r=X2(this.buffer,ne(this.url));if(r===V)return V;if(r==="localhost"&&(r=""),this.url.host=r,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=t;return!0};Q.prototype["parse path start"]=function(a){return ne(this.url)?(a===92&&(this.parseError=!0),this.state="path",a!==47&&a!==92&&--this.pointer):!this.stateOverride&&a===63?(this.url.query="",this.state="query"):!this.stateOverride&&a===35?(this.url.fragment="",this.state="fragment"):a!==void 0&&(this.state="path",a!==47&&--this.pointer),!0};Q.prototype["parse path"]=function(a){if(isNaN(a)||a===47||ne(this.url)&&a===92||!this.stateOverride&&(a===63||a===35)){if(ne(this.url)&&a===92&&(this.parseError=!0),hm(this.buffer)?(qd(this.url),a!==47&&!(ne(this.url)&&a===92)&&this.url.path.push("")):Rd(this.buffer)&&a!==47&&!(ne(this.url)&&a===92)?this.url.path.push(""):Rd(this.buffer)||(this.url.scheme==="file"&&this.url.path.length===0&&Id(this.buffer)&&(this.url.host!==""&&this.url.host!==null&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)),this.buffer="",this.url.scheme==="file"&&(a===void 0||a===63||a===35))for(;this.url.path.length>1&&this.url.path[0]==="";)this.parseError=!0,this.url.path.shift();a===63&&(this.url.query="",this.state="query"),a===35&&(this.url.fragment="",this.state="fragment")}else a===37&&(!Ge(this.input[this.pointer+1])||!Ge(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=V1(a,Fd);return!0};Q.prototype["parse cannot-be-a-base-URL path"]=function(a){return a===63?(this.url.query="",this.state="query"):a===35?(this.url.fragment="",this.state="fragment"):(!isNaN(a)&&a!==37&&(this.parseError=!0),a===37&&(!Ge(this.input[this.pointer+1])||!Ge(this.input[this.pointer+2]))&&(this.parseError=!0),isNaN(a)||(this.url.path[0]=this.url.path[0]+V1(a,wr))),!0};Q.prototype["parse query"]=function(a,t){if(isNaN(a)||!this.stateOverride&&a===35){(!ne(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss")&&(this.encodingOverride="utf-8");let r=new Buffer(this.buffer);for(let p=0;p<r.length;++p)r[p]<33||r[p]>126||r[p]===34||r[p]===35||r[p]===60||r[p]===62?this.url.query+=Vd(r[p]):this.url.query+=String.fromCodePoint(r[p]);this.buffer="",a===35&&(this.url.fragment="",this.state="fragment")}else a===37&&(!Ge(this.input[this.pointer+1])||!Ge(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=t;return!0};Q.prototype["parse fragment"]=function(a){return isNaN(a)||(a===0?this.parseError=!0:(a===37&&(!Ge(this.input[this.pointer+1])||!Ge(this.input[this.pointer+2]))&&(this.parseError=!0),this.url.fragment+=V1(a,wr))),!0};function Vm(e,a){let t=e.scheme+":";if(e.host!==null?(t+="//",(e.username!==""||e.password!=="")&&(t+=e.username,e.password!==""&&(t+=":"+e.password),t+="@"),t+=Q2(e.host),e.port!==null&&(t+=":"+e.port)):e.host===null&&e.scheme==="file"&&(t+="//"),e.cannotBeABaseURL)t+=e.path[0];else for(let r of e.path)t+="/"+r;return e.query!==null&&(t+="?"+e.query),!a&&e.fragment!==null&&(t+="#"+e.fragment),t}function Fm(e){let a=e.scheme+"://";return a+=Q2(e.host),e.port!==null&&(a+=":"+e.port),a}Ae.exports.serializeURL=Vm;Ae.exports.serializeURLOrigin=function(e){switch(e.scheme){case"blob":try{return Ae.exports.serializeURLOrigin(Ae.exports.parseURL(e.path[0]))}catch{return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return Fm({scheme:e.scheme,host:e.host,port:e.port});case"file":return"file://";default:return"null"}};Ae.exports.basicURLParse=function(e,a){a===void 0&&(a={});let t=new Q(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);return t.failure?"failure":t.url};Ae.exports.setTheUsername=function(e,a){e.username="";let t=ca.ucs2.decode(a);for(let r=0;r<t.length;++r)e.username+=V1(t[r],Z2)};Ae.exports.setThePassword=function(e,a){e.password="";let t=ca.ucs2.decode(a);for(let r=0;r<t.length;++r)e.password+=V1(t[r],Z2)};Ae.exports.serializeHost=Q2;Ae.exports.cannotHaveAUsernamePasswordPort=Rm;Ae.exports.serializeInteger=function(e){return String(e)};Ae.exports.parseURL=function(e,a){return a===void 0&&(a={}),Ae.exports.basicURLParse(e,{baseURL:a.baseURL,encodingOverride:a.encodingOverride})}});var Ud=m(jd=>{"use strict";var ee=Je();jd.implementation=class{constructor(a){let t=a[0],r=a[1],p=null;if(r!==void 0&&(p=ee.basicURLParse(r),p==="failure"))throw new TypeError("Invalid base URL");let i=ee.basicURLParse(t,{baseURL:p});if(i==="failure")throw new TypeError("Invalid URL");this._url=i}get href(){return ee.serializeURL(this._url)}set href(a){let t=ee.basicURLParse(a);if(t==="failure")throw new TypeError("Invalid URL");this._url=t}get origin(){return ee.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(a){ee.basicURLParse(a+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(a){ee.cannotHaveAUsernamePasswordPort(this._url)||ee.setTheUsername(this._url,a)}get password(){return this._url.password}set password(a){ee.cannotHaveAUsernamePasswordPort(this._url)||ee.setThePassword(this._url,a)}get host(){let a=this._url;return a.host===null?"":a.port===null?ee.serializeHost(a.host):ee.serializeHost(a.host)+":"+ee.serializeInteger(a.port)}set host(a){this._url.cannotBeABaseURL||ee.basicURLParse(a,{url:this._url,stateOverride:"host"})}get hostname(){return this._url.host===null?"":ee.serializeHost(this._url.host)}set hostname(a){this._url.cannotBeABaseURL||ee.basicURLParse(a,{url:this._url,stateOverride:"hostname"})}get port(){return this._url.port===null?"":ee.serializeInteger(this._url.port)}set port(a){ee.cannotHaveAUsernamePasswordPort(this._url)||(a===""?this._url.port=null:ee.basicURLParse(a,{url:this._url,stateOverride:"port"}))}get pathname(){return this._url.cannotBeABaseURL?this._url.path[0]:this._url.path.length===0?"":"/"+this._url.path.join("/")}set pathname(a){this._url.cannotBeABaseURL||(this._url.path=[],ee.basicURLParse(a,{url:this._url,stateOverride:"path start"}))}get search(){return this._url.query===null||this._url.query===""?"":"?"+this._url.query}set search(a){let t=this._url;if(a===""){t.query=null;return}let r=a[0]==="?"?a.substring(1):a;t.query="",ee.basicURLParse(r,{url:t,stateOverride:"query"})}get hash(){return this._url.fragment===null||this._url.fragment===""?"":"#"+this._url.fragment}set hash(a){if(a===""){this._url.fragment=null;return}let t=a[0]==="#"?a.substring(1):a;this._url.fragment="",ee.basicURLParse(t,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}});var zd=m((aL,ct)=>{"use strict";var Ie=Sd(),$d=Nd(),Gd=Ud(),z=$d.implSymbol;function le(e){if(!this||this[z]||!(this instanceof le))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");let a=[];for(let t=0;t<arguments.length&&t<2;++t)a[t]=arguments[t];a[0]=Ie.USVString(a[0]),a[1]!==void 0&&(a[1]=Ie.USVString(a[1])),ct.exports.setup(this,a)}le.prototype.toJSON=function(){if(!this||!ct.exports.is(this))throw new TypeError("Illegal invocation");let a=[];for(let t=0;t<arguments.length&&t<0;++t)a[t]=arguments[t];return this[z].toJSON.apply(this[z],a)};Object.defineProperty(le.prototype,"href",{get(){return this[z].href},set(e){e=Ie.USVString(e),this[z].href=e},enumerable:!0,configurable:!0});le.prototype.toString=function(){if(!this||!ct.exports.is(this))throw new TypeError("Illegal invocation");return this.href};Object.defineProperty(le.prototype,"origin",{get(){return this[z].origin},enumerable:!0,configurable:!0});Object.defineProperty(le.prototype,"protocol",{get(){return this[z].protocol},set(e){e=Ie.USVString(e),this[z].protocol=e},enumerable:!0,configurable:!0});Object.defineProperty(le.prototype,"username",{get(){return this[z].username},set(e){e=Ie.USVString(e),this[z].username=e},enumerable:!0,configurable:!0});Object.defineProperty(le.prototype,"password",{get(){return this[z].password},set(e){e=Ie.USVString(e),this[z].password=e},enumerable:!0,configurable:!0});Object.defineProperty(le.prototype,"host",{get(){return this[z].host},set(e){e=Ie.USVString(e),this[z].host=e},enumerable:!0,configurable:!0});Object.defineProperty(le.prototype,"hostname",{get(){return this[z].hostname},set(e){e=Ie.USVString(e),this[z].hostname=e},enumerable:!0,configurable:!0});Object.defineProperty(le.prototype,"port",{get(){return this[z].port},set(e){e=Ie.USVString(e),this[z].port=e},enumerable:!0,configurable:!0});Object.defineProperty(le.prototype,"pathname",{get(){return this[z].pathname},set(e){e=Ie.USVString(e),this[z].pathname=e},enumerable:!0,configurable:!0});Object.defineProperty(le.prototype,"search",{get(){return this[z].search},set(e){e=Ie.USVString(e),this[z].search=e},enumerable:!0,configurable:!0});Object.defineProperty(le.prototype,"hash",{get(){return this[z].hash},set(e){e=Ie.USVString(e),this[z].hash=e},enumerable:!0,configurable:!0});ct.exports={is(e){return!!e&&e[z]instanceof Gd.implementation},create(e,a){let t=Object.create(le.prototype);return this.setup(t,e,a),t},setup(e,a,t){t||(t={}),t.wrapper=e,e[z]=new Gd.implementation(a,t),e[z][$d.wrapperSymbol]=e},interface:le,expose:{Window:{URL:le},Worker:{URL:le}}}});var Hd=m(Xe=>{"use strict";Xe.URL=zd().interface;Xe.serializeURL=Je().serializeURL;Xe.serializeURLOrigin=Je().serializeURLOrigin;Xe.basicURLParse=Je().basicURLParse;Xe.setTheUsername=Je().setTheUsername;Xe.setThePassword=Je().setThePassword;Xe.serializeHost=Je().serializeHost;Xe.serializeInteger=Je().serializeInteger;Xe.parseURL=Je().parseURL});var pn=m((ze,rn)=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});function ga(e){return e&&typeof e=="object"&&"default"in e?e.default:e}var $e=ga(require("stream")),Jd=ga(require("http")),yr=ga(require("url")),Xd=ga(Hd()),qm=ga(require("https")),F1=ga(require("zlib")),Bm=$e.Readable,l1=Symbol("buffer"),e0=Symbol("type"),ht=class e{constructor(){this[e0]="";let a=arguments[0],t=arguments[1],r=[],p=0;if(a){let d=a,n=Number(d.length);for(let s=0;s<n;s++){let o=d[s],l;o instanceof Buffer?l=o:ArrayBuffer.isView(o)?l=Buffer.from(o.buffer,o.byteOffset,o.byteLength):o instanceof ArrayBuffer?l=Buffer.from(o):o instanceof e?l=o[l1]:l=Buffer.from(typeof o=="string"?o:String(o)),p+=l.length,r.push(l)}}this[l1]=Buffer.concat(r);let i=t&&t.type!==void 0&&String(t.type).toLowerCase();i&&!/[^\u0020-\u007E]/.test(i)&&(this[e0]=i)}get size(){return this[l1].length}get type(){return this[e0]}text(){return Promise.resolve(this[l1].toString())}arrayBuffer(){let a=this[l1],t=a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength);return Promise.resolve(t)}stream(){let a=new Bm;return a._read=function(){},a.push(this[l1]),a.push(null),a}toString(){return"[object Blob]"}slice(){let a=this.size,t=arguments[0],r=arguments[1],p,i;t===void 0?p=0:t<0?p=Math.max(a+t,0):p=Math.min(t,a),r===void 0?i=a:r<0?i=Math.max(a+r,0):i=Math.min(r,a);let d=Math.max(i-p,0),s=this[l1].slice(p,p+d),o=new e([],{type:arguments[2]});return o[l1]=s,o}};Object.defineProperties(ht.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Object.defineProperty(ht.prototype,Symbol.toStringTag,{value:"Blob",writable:!1,enumerable:!1,configurable:!0});function he(e,a,t){Error.call(this,e),this.message=e,this.type=a,t&&(this.code=this.errno=t.code),Error.captureStackTrace(this,this.constructor)}he.prototype=Object.create(Error.prototype);he.prototype.constructor=he;he.prototype.name="FetchError";var p0;try{p0=require("encoding").convert}catch{}var m1=Symbol("Body internals"),Wd=$e.PassThrough;function ue(e){var a=this,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.size;let p=r===void 0?0:r;var i=t.timeout;let d=i===void 0?0:i;e==null?e=null:Zd(e)?e=Buffer.from(e.toString()):gt(e)||Buffer.isBuffer(e)||(Object.prototype.toString.call(e)==="[object ArrayBuffer]"?e=Buffer.from(e):ArrayBuffer.isView(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof $e||(e=Buffer.from(String(e)))),this[m1]={body:e,disturbed:!1,error:null},this.size=p,this.timeout=d,e instanceof $e&&e.on("error",function(n){let s=n.name==="AbortError"?n:new he(`Invalid response body while trying to fetch ${a.url}: ${n.message}`,"system",n);a[m1].error=s})}ue.prototype={get body(){return this[m1].body},get bodyUsed(){return this[m1].disturbed},arrayBuffer(){return fa.call(this).then(function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)})},blob(){let e=this.headers&&this.headers.get("content-type")||"";return fa.call(this).then(function(a){return Object.assign(new ht([],{type:e.toLowerCase()}),{[l1]:a})})},json(){var e=this;return fa.call(this).then(function(a){try{return JSON.parse(a.toString())}catch(t){return ue.Promise.reject(new he(`invalid json response body at ${e.url} reason: ${t.message}`,"invalid-json"))}})},text(){return fa.call(this).then(function(e){return e.toString()})},buffer(){return fa.call(this)},textConverted(){var e=this;return fa.call(this).then(function(a){return jm(a,e.headers)})}};Object.defineProperties(ue.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}});ue.mixIn=function(e){for(let a of Object.getOwnPropertyNames(ue.prototype))if(!(a in e)){let t=Object.getOwnPropertyDescriptor(ue.prototype,a);Object.defineProperty(e,a,t)}};function fa(){var e=this;if(this[m1].disturbed)return ue.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[m1].disturbed=!0,this[m1].error)return ue.Promise.reject(this[m1].error);let a=this.body;if(a===null)return ue.Promise.resolve(Buffer.alloc(0));if(gt(a)&&(a=a.stream()),Buffer.isBuffer(a))return ue.Promise.resolve(a);if(!(a instanceof $e))return ue.Promise.resolve(Buffer.alloc(0));let t=[],r=0,p=!1;return new ue.Promise(function(i,d){let n;e.timeout&&(n=setTimeout(function(){p=!0,d(new he(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))},e.timeout)),a.on("error",function(s){s.name==="AbortError"?(p=!0,d(s)):d(new he(`Invalid response body while trying to fetch ${e.url}: ${s.message}`,"system",s))}),a.on("data",function(s){if(!(p||s===null)){if(e.size&&r+s.length>e.size){p=!0,d(new he(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}r+=s.length,t.push(s)}}),a.on("end",function(){if(!p){clearTimeout(n);try{i(Buffer.concat(t,r))}catch(s){d(new he(`Could not create Buffer from response body for ${e.url}: ${s.message}`,"system",s))}}})})}function jm(e,a){if(typeof p0!="function")throw new Error("The package `encoding` must be installed to use the textConverted() function");let t=a.get("content-type"),r="utf-8",p,i;return t&&(p=/charset=([^;]*)/i.exec(t)),i=e.slice(0,1024).toString(),!p&&i&&(p=/<meta.+?charset=(['"])(.+?)\1/i.exec(i)),!p&&i&&(p=/<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(i),p||(p=/<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(i),p&&p.pop()),p&&(p=/charset=(.*)/i.exec(p.pop()))),!p&&i&&(p=/<\?xml.+?encoding=(['"])(.+?)\1/i.exec(i)),p&&(r=p.pop(),(r==="gb2312"||r==="gbk")&&(r="gb18030")),p0(e,"UTF-8",r).toString()}function Zd(e){return typeof e!="object"||typeof e.append!="function"||typeof e.delete!="function"||typeof e.get!="function"||typeof e.getAll!="function"||typeof e.has!="function"||typeof e.set!="function"?!1:e.constructor.name==="URLSearchParams"||Object.prototype.toString.call(e)==="[object URLSearchParams]"||typeof e.sort=="function"}function gt(e){return typeof e=="object"&&typeof e.arrayBuffer=="function"&&typeof e.type=="string"&&typeof e.stream=="function"&&typeof e.constructor=="function"&&typeof e.constructor.name=="string"&&/^(Blob|File)$/.test(e.constructor.name)&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function Qd(e){let a,t,r=e.body;if(e.bodyUsed)throw new Error("cannot clone body after it is used");return r instanceof $e&&typeof r.getBoundary!="function"&&(a=new Wd,t=new Wd,r.pipe(a),r.pipe(t),e[m1].body=a,r=t),r}function en(e){return e===null?null:typeof e=="string"?"text/plain;charset=UTF-8":Zd(e)?"application/x-www-form-urlencoded;charset=UTF-8":gt(e)?e.type||null:Buffer.isBuffer(e)||Object.prototype.toString.call(e)==="[object ArrayBuffer]"||ArrayBuffer.isView(e)?null:typeof e.getBoundary=="function"?`multipart/form-data;boundary=${e.getBoundary()}`:e instanceof $e?null:"text/plain;charset=UTF-8"}function an(e){let a=e.body;return a===null?0:gt(a)?a.size:Buffer.isBuffer(a)?a.length:a&&typeof a.getLengthSync=="function"&&(a._lengthRetrievers&&a._lengthRetrievers.length==0||a.hasKnownLength&&a.hasKnownLength())?a.getLengthSync():null}function Um(e,a){let t=a.body;t===null?e.end():gt(t)?t.stream().pipe(e):Buffer.isBuffer(t)?(e.write(t),e.end()):t.pipe(e)}ue.Promise=global.Promise;var tn=/[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/,i0=/[^\t\x20-\x7e\x80-\xff]/;function ft(e){if(e=`${e}`,tn.test(e)||e==="")throw new TypeError(`${e} is not a legal HTTP header name`)}function Yd(e){if(e=`${e}`,i0.test(e))throw new TypeError(`${e} is not a legal HTTP header value`)}function ha(e,a){a=a.toLowerCase();for(let t in e)if(t.toLowerCase()===a)return t}var te=Symbol("map"),Fe=class e{constructor(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0;if(this[te]=Object.create(null),a instanceof e){let t=a.raw(),r=Object.keys(t);for(let p of r)for(let i of t[p])this.append(p,i);return}if(a!=null)if(typeof a=="object"){let t=a[Symbol.iterator];if(t!=null){if(typeof t!="function")throw new TypeError("Header pairs must be iterable");let r=[];for(let p of a){if(typeof p!="object"||typeof p[Symbol.iterator]!="function")throw new TypeError("Each header pair must be iterable");r.push(Array.from(p))}for(let p of r){if(p.length!==2)throw new TypeError("Each header pair must be a name/value tuple");this.append(p[0],p[1])}}else for(let r of Object.keys(a)){let p=a[r];this.append(r,p)}}else throw new TypeError("Provided initializer must be an object")}get(a){a=`${a}`,ft(a);let t=ha(this[te],a);return t===void 0?null:this[te][t].join(", ")}forEach(a){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,r=d0(this),p=0;for(;p<r.length;){var i=r[p];let d=i[0],n=i[1];a.call(t,n,d,this),r=d0(this),p++}}set(a,t){a=`${a}`,t=`${t}`,ft(a),Yd(t);let r=ha(this[te],a);this[te][r!==void 0?r:a]=[t]}append(a,t){a=`${a}`,t=`${t}`,ft(a),Yd(t);let r=ha(this[te],a);r!==void 0?this[te][r].push(t):this[te][a]=[t]}has(a){return a=`${a}`,ft(a),ha(this[te],a)!==void 0}delete(a){a=`${a}`,ft(a);let t=ha(this[te],a);t!==void 0&&delete this[te][t]}raw(){return this[te]}keys(){return a0(this,"key")}values(){return a0(this,"value")}[Symbol.iterator](){return a0(this,"key+value")}};Fe.prototype.entries=Fe.prototype[Symbol.iterator];Object.defineProperty(Fe.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(Fe.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});function d0(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key+value";return Object.keys(e[te]).sort().map(a==="key"?function(r){return r.toLowerCase()}:a==="value"?function(r){return e[te][r].join(", ")}:function(r){return[r.toLowerCase(),e[te][r].join(", ")]})}var n0=Symbol("internal");function a0(e,a){let t=Object.create(s0);return t[n0]={target:e,kind:a,index:0},t}var s0=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==s0)throw new TypeError("Value of `this` is not a HeadersIterator");var e=this[n0];let a=e.target,t=e.kind,r=e.index,p=d0(a,t),i=p.length;return r>=i?{value:void 0,done:!0}:(this[n0].index=r+1,{value:p[r],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(s0,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});function Gm(e){let a=Object.assign({__proto__:null},e[te]),t=ha(e[te],"Host");return t!==void 0&&(a[t]=a[t][0]),a}function $m(e){let a=new Fe;for(let t of Object.keys(e))if(!tn.test(t))if(Array.isArray(e[t]))for(let r of e[t])i0.test(r)||(a[te][t]===void 0?a[te][t]=[r]:a[te][t].push(r));else i0.test(e[t])||(a[te][t]=[e[t]]);return a}var S1=Symbol("Response internals"),zm=Jd.STATUS_CODES,Ve=class e{constructor(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};ue.call(this,a,t);let r=t.status||200,p=new Fe(t.headers);if(a!=null&&!p.has("Content-Type")){let i=en(a);i&&p.append("Content-Type",i)}this[S1]={url:t.url,status:r,statusText:t.statusText||zm[r],headers:p,counter:t.counter}}get url(){return this[S1].url||""}get status(){return this[S1].status}get ok(){return this[S1].status>=200&&this[S1].status<300}get redirected(){return this[S1].counter>0}get statusText(){return this[S1].statusText}get headers(){return this[S1].headers}clone(){return new e(Qd(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}};ue.mixIn(Ve.prototype);Object.defineProperties(Ve.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});Object.defineProperty(Ve.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});var u1=Symbol("Request internals"),Hm=yr.URL||Xd.URL,Wm=yr.parse,Ym=yr.format;function t0(e){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)&&(e=new Hm(e).toString()),Wm(e)}var Km="destroy"in $e.Readable.prototype;function br(e){return typeof e=="object"&&typeof e[u1]=="object"}function Jm(e){let a=e&&typeof e=="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}var C1=class e{constructor(a){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r;br(a)?r=t0(a.url):(a&&a.href?r=t0(a.href):r=t0(`${a}`),a={});let p=t.method||a.method||"GET";if(p=p.toUpperCase(),(t.body!=null||br(a)&&a.body!==null)&&(p==="GET"||p==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let i=t.body!=null?t.body:br(a)&&a.body!==null?Qd(a):null;ue.call(this,i,{timeout:t.timeout||a.timeout||0,size:t.size||a.size||0});let d=new Fe(t.headers||a.headers||{});if(i!=null&&!d.has("Content-Type")){let s=en(i);s&&d.append("Content-Type",s)}let n=br(a)?a.signal:null;if("signal"in t&&(n=t.signal),n!=null&&!Jm(n))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[u1]={method:p,redirect:t.redirect||a.redirect||"follow",headers:d,parsedURL:r,signal:n},this.follow=t.follow!==void 0?t.follow:a.follow!==void 0?a.follow:20,this.compress=t.compress!==void 0?t.compress:a.compress!==void 0?a.compress:!0,this.counter=t.counter||a.counter||0,this.agent=t.agent||a.agent}get method(){return this[u1].method}get url(){return Ym(this[u1].parsedURL)}get headers(){return this[u1].headers}get redirect(){return this[u1].redirect}get signal(){return this[u1].signal}clone(){return new e(this)}};ue.mixIn(C1.prototype);Object.defineProperty(C1.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(C1.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}});function Xm(e){let a=e[u1].parsedURL,t=new Fe(e[u1].headers);if(t.has("Accept")||t.set("Accept","*/*"),!a.protocol||!a.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(a.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(e.signal&&e.body instanceof $e.Readable&&!Km)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let r=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)&&(r="0"),e.body!=null){let i=an(e);typeof i=="number"&&(r=String(i))}r&&t.set("Content-Length",r),t.has("User-Agent")||t.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),e.compress&&!t.has("Accept-Encoding")&&t.set("Accept-Encoding","gzip,deflate");let p=e.agent;return typeof p=="function"&&(p=p(a)),Object.assign({},a,{method:e.method,headers:Gm(t),agent:p})}function va(e){Error.call(this,e),this.type="aborted",this.message=e,Error.captureStackTrace(this,this.constructor)}va.prototype=Object.create(Error.prototype);va.prototype.constructor=va;va.prototype.name="AbortError";var vt=yr.URL||Xd.URL,Kd=$e.PassThrough,Zm=function(a,t){let r=new vt(t).hostname,p=new vt(a).hostname;return r===p||r[r.length-p.length-1]==="."&&r.endsWith(p)},Qm=function(a,t){let r=new vt(t).protocol,p=new vt(a).protocol;return r===p};function N1(e,a){if(!N1.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return ue.Promise=N1.Promise,new N1.Promise(function(t,r){let p=new C1(e,a),i=Xm(p),d=(i.protocol==="https:"?qm:Jd).request,n=p.signal,s=null,o=function(){let h=new va("The user aborted a request.");r(h),p.body&&p.body instanceof $e.Readable&&r0(p.body,h),!(!s||!s.body)&&s.body.emit("error",h)};if(n&&n.aborted){o();return}let l=function(){o(),g()},u=d(i),c;n&&n.addEventListener("abort",l);function g(){u.abort(),n&&n.removeEventListener("abort",l),clearTimeout(c)}p.timeout&&u.once("socket",function(f){c=setTimeout(function(){r(new he(`network timeout at: ${p.url}`,"request-timeout")),g()},p.timeout)}),u.on("error",function(f){r(new he(`request to ${p.url} failed, reason: ${f.message}`,"system",f)),s&&s.body&&r0(s.body,f),g()}),ec(u,function(f){n&&n.aborted||s&&s.body&&r0(s.body,f)}),parseInt(process.version.substring(1))<14&&u.on("socket",function(f){f.addListener("close",function(h){let v=f.listenerCount("data")>0;if(s&&v&&!h&&!(n&&n.aborted)){let w=new Error("Premature close");w.code="ERR_STREAM_PREMATURE_CLOSE",s.body.emit("error",w)}})}),u.on("response",function(f){clearTimeout(c);let h=$m(f.headers);if(N1.isRedirect(f.statusCode)){let S=h.get("Location"),D=null;try{D=S===null?null:new vt(S,p.url).toString()}catch{if(p.redirect!=="manual"){r(new he(`uri requested responds with an invalid redirect URL: ${S}`,"invalid-redirect")),g();return}}switch(p.redirect){case"error":r(new he(`uri requested responds with a redirect, redirect mode is set to error: ${p.url}`,"no-redirect")),g();return;case"manual":if(D!==null)try{h.set("Location",D)}catch(E){r(E)}break;case"follow":if(D===null)break;if(p.counter>=p.follow){r(new he(`maximum redirect reached at: ${p.url}`,"max-redirect")),g();return}let T={headers:new Fe(p.headers),follow:p.follow,counter:p.counter+1,agent:p.agent,compress:p.compress,method:p.method,body:p.body,signal:p.signal,timeout:p.timeout,size:p.size};if(!Zm(p.url,D)||!Qm(p.url,D))for(let E of["authorization","www-authenticate","cookie","cookie2"])T.headers.delete(E);if(f.statusCode!==303&&p.body&&an(p)===null){r(new he("Cannot follow redirect with body being a readable stream","unsupported-redirect")),g();return}(f.statusCode===303||(f.statusCode===301||f.statusCode===302)&&p.method==="POST")&&(T.method="GET",T.body=void 0,T.headers.delete("content-length")),t(N1(new C1(D,T))),g();return}}f.once("end",function(){n&&n.removeEventListener("abort",l)});let v=f.pipe(new Kd),w={url:p.url,status:f.statusCode,statusText:f.statusMessage,headers:h,size:p.size,timeout:p.timeout,counter:p.counter},y=h.get("Content-Encoding");if(!p.compress||p.method==="HEAD"||y===null||f.statusCode===204||f.statusCode===304){s=new Ve(v,w),t(s);return}let _={flush:F1.Z_SYNC_FLUSH,finishFlush:F1.Z_SYNC_FLUSH};if(y=="gzip"||y=="x-gzip"){v=v.pipe(F1.createGunzip(_)),s=new Ve(v,w),t(s);return}if(y=="deflate"||y=="x-deflate"){let S=f.pipe(new Kd);S.once("data",function(D){(D[0]&15)===8?v=v.pipe(F1.createInflate()):v=v.pipe(F1.createInflateRaw()),s=new Ve(v,w),t(s)}),S.on("end",function(){s||(s=new Ve(v,w),t(s))});return}if(y=="br"&&typeof F1.createBrotliDecompress=="function"){v=v.pipe(F1.createBrotliDecompress()),s=new Ve(v,w),t(s);return}s=new Ve(v,w),t(s)}),Um(u,p)})}function ec(e,a){let t;e.on("socket",function(r){t=r}),e.on("response",function(r){let p=r.headers;p["transfer-encoding"]==="chunked"&&!p["content-length"]&&r.once("close",function(i){if(t&&t.listenerCount("data")>0&&!i){let n=new Error("Premature close");n.code="ERR_STREAM_PREMATURE_CLOSE",a(n)}})})}function r0(e,a){e.destroy?e.destroy(a):(e.emit("error",a),e.end())}N1.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};N1.Promise=global.Promise;rn.exports=ze=N1;Object.defineProperty(ze,"__esModule",{value:!0});ze.default=ze;ze.Headers=Fe;ze.Request=C1;ze.Response=Ve;ze.FetchError=he;ze.AbortError=va});var Sr=m((q1,dn)=>{var wt=pn(),ac=wt.default||wt,_r=function(e,a){return/^\/\//.test(e)&&(e="https:"+e),ac.call(this,e,a)};_r.ponyfill=!0;dn.exports=q1=_r;q1.fetch=_r;q1.Headers=wt.Headers;q1.Request=wt.Request;q1.Response=wt.Response;q1.default=_r});var o0=m(Nr=>{"use strict";Object.defineProperty(Nr,"__esModule",{value:!0});Nr.isJSON=void 0;function tc(e){if(e){let a=pc(e);if(!a)return!1;if(a.subtype==="json"||a.suffix==="json"||a.suffix&&/\bjson\b/i.test(a.suffix)||a.subtype&&/\bjson\b/i.test(a.subtype))return!0}return!1}Nr.isJSON=tc;var rc=/^([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126});?$/;function pc(e){let a=e.indexOf(";"),t=a!==-1?e.slice(0,a).trim():e.trim(),r=rc.exec(t.toLowerCase().toLowerCase());if(!r)return;let p=r[1],i=r[2],d,n=i.lastIndexOf("+");return n!==-1&&(d=i.substring(n+1),i=i.substring(0,n)),{type:p,subtype:i,suffix:d}}});var ln=m(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.useFetch=void 0;var wa=require("react"),ic=lt(),nn=o1(),sn=Sr(),dc=o0(),on=I1();async function nc(e){if(!e.ok)throw new Error(e.statusText);let a=e.headers.get("content-type");return a&&(0,dc.isJSON)(a)?await e.json():await e.text()}function sc(e){return{data:e,hasMore:!1}}function oc(e,a){let{parseResponse:t,mapResult:r,initialData:p,execute:i,keepPreviousData:d,onError:n,onData:s,onWillExecute:o,failureToastOptions:l,...u}=a||{},c={initialData:p,execute:i,keepPreviousData:d,onError:n,onData:s,onWillExecute:o,failureToastOptions:l},g=(0,nn.useLatest)(t||nc),f=(0,nn.useLatest)(r||sc),h=(0,wa.useRef)(),v=(0,wa.useRef)(),w=typeof e=="function"?e({page:0}):void 0;(!h.current||typeof v.current>"u"||v.current!==w)&&(h.current=e),v.current=w;let y=(0,wa.useRef)(),_=(0,wa.useCallback)((T,E)=>async A=>{let k=await(0,sn.fetch)(T(A),{signal:y.current?.signal,...E}),j=await g.current(k);return f.current?.(j)},[g,f]),S=(0,wa.useCallback)(async(T,E)=>{let A=await(0,sn.fetch)(T,{signal:y.current?.signal,...E}),k=await g.current(A);return f.current(k)?.data},[g,f]),D=(0,wa.useMemo)(()=>v.current?_:S,[v,S,_]);return(0,ic.useCachedPromise)(D,[h.current,u],{...c,internal_cacheKeySuffix:v.current+(0,on.hash)(f.current)+(0,on.hash)(g.current),abortable:y})}Cr.useFetch=oc});var un=m(B1=>{"use strict";Object.defineProperty(B1,"__esModule",{value:!0});B1.signals=void 0;B1.signals=[];B1.signals.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&B1.signals.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&B1.signals.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});var mn=m(Ze=>{"use strict";var xr;Object.defineProperty(Ze,"__esModule",{value:!0});Ze.unload=Ze.load=Ze.onExit=Ze.signals=void 0;var Dr=un();Object.defineProperty(Ze,"signals",{enumerable:!0,get:function(){return Dr.signals}});var Pr=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",l0=Symbol.for("signal-exit emitter"),u0=globalThis,lc=Object.defineProperty.bind(Object),m0=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(u0[l0])return u0[l0];lc(u0,l0,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(a,t){this.listeners[a].push(t)}removeListener(a,t){let r=this.listeners[a],p=r.indexOf(t);p!==-1&&(p===0&&r.length===1?r.length=0:r.splice(p,1))}emit(a,t,r){if(this.emitted[a])return!1;this.emitted[a]=!0;let p=!1;for(let i of this.listeners[a])p=i(t,r)===!0||p;return a==="exit"&&(p=this.emit("afterExit",t,r)||p),p}},Er=class{},uc=e=>({onExit(a,t){return e.onExit(a,t)},load(){return e.load()},unload(){return e.unload()}}),c0=class extends Er{onExit(){return()=>{}}load(){}unload(){}},f0=class extends Er{#d=h0.platform==="win32"?"SIGINT":"SIGHUP";#a=new m0;#e;#p;#i;#r={};#t=!1;constructor(a){super(),this.#e=a,this.#r={};for(let t of Dr.signals)this.#r[t]=()=>{let r=this.#e.listeners(t),{count:p}=this.#a,i=a;if(typeof i.__signal_exit_emitter__=="object"&&typeof i.__signal_exit_emitter__.count=="number"&&(p+=i.__signal_exit_emitter__.count),r.length===p){this.unload();let d=this.#a.emit("exit",null,t),n=t==="SIGHUP"?this.#d:t;d||a.kill(a.pid,n)}};this.#i=a.reallyExit,this.#p=a.emit}onExit(a,t){if(!Pr(this.#e))return()=>{};this.#t===!1&&this.load();let r=t?.alwaysLast?"afterExit":"exit";return this.#a.on(r,a),()=>{this.#a.removeListener(r,a),this.#a.listeners.exit.length===0&&this.#a.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#t){this.#t=!0,this.#a.count+=1;for(let a of Dr.signals)try{let t=this.#r[a];t&&this.#e.on(a,t)}catch{}this.#e.emit=(a,...t)=>this.#s(a,...t),this.#e.reallyExit=a=>this.#n(a)}}unload(){this.#t&&(this.#t=!1,Dr.signals.forEach(a=>{let t=this.#r[a];if(!t)throw new Error("Listener not defined for signal: "+a);try{this.#e.removeListener(a,t)}catch{}}),this.#e.emit=this.#p,this.#e.reallyExit=this.#i,this.#a.count-=1)}#n(a){return Pr(this.#e)?(this.#e.exitCode=a||0,this.#a.emit("exit",this.#e.exitCode,null),this.#i.call(this.#e,this.#e.exitCode)):0}#s(a,...t){let r=this.#p;if(a==="exit"&&Pr(this.#e)){typeof t[0]=="number"&&(this.#e.exitCode=t[0]);let p=r.call(this.#e,a,...t);return this.#a.emit("exit",this.#e.exitCode,null),p}else return r.call(this.#e,a,...t)}},h0=globalThis.process;xr=uc(Pr(h0)?new f0(h0):new c0),Ze.onExit=xr.onExit,Ze.load=xr.load,Ze.unload=xr.unload});var Lr=m(qe=>{"use strict";var mc=qe&&qe.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(qe,"__esModule",{value:!0});qe.defaultParsing=qe.handleOutput=qe.getSpawnedResult=qe.getSpawnedPromise=void 0;var cc=require("node:buffer"),hn=mc(require("node:stream")),fc=require("node:util"),hc=mn();function vc(e,{timeout:a}={}){let t=new Promise((n,s)=>{e.on("exit",(o,l)=>{n({exitCode:o,signal:l,timedOut:!1})}),e.on("error",o=>{s(o)}),e.stdin&&e.stdin.on("error",o=>{s(o)})});if(a===0||a===void 0)return t;let r,p=new Promise((n,s)=>{r=setTimeout(()=>{e.kill("SIGTERM"),s(Object.assign(new Error("Timed out"),{timedOut:!0,signal:"SIGTERM"}))},a)}),i=t.finally(()=>{clearTimeout(r)}),d=(0,hc.onExit)(()=>{e.kill()});return Promise.race([p,i]).finally(()=>d())}qe.getSpawnedPromise=vc;var v0=class extends Error{constructor(){super("The output is too big"),this.name="MaxBufferError"}},gc=(0,fc.promisify)(hn.default.pipeline);function wc(e){let{encoding:a}=e,t=a==="buffer",r=new hn.default.PassThrough({objectMode:!1});a&&a!=="buffer"&&r.setEncoding(a);let p=0,i=[];return r.on("data",d=>{i.push(d),p+=d.length}),r.getBufferedValue=()=>t?Buffer.concat(i,p):i.join(""),r.getBufferedLength=()=>p,r}async function cn(e,a){let t=wc(a);return await new Promise((r,p)=>{let i=d=>{d&&t.getBufferedLength()<=cc.constants.MAX_LENGTH&&(d.bufferedData=t.getBufferedValue()),p(d)};(async()=>{try{await gc(e,t),r()}catch(d){i(d)}})(),t.on("data",()=>{t.getBufferedLength()>1e3*1e3*80&&i(new v0)})}),t.getBufferedValue()}async function fn(e,a){e.destroy();try{return await a}catch(t){return t.bufferedData}}async function bc({stdout:e,stderr:a},{encoding:t},r){let p=cn(e,{encoding:t}),i=cn(a,{encoding:t});try{return await Promise.all([r,p,i])}catch(d){return Promise.all([{error:d,exitCode:null,signal:d.signal,timedOut:d.timedOut||!1},fn(e,p),fn(a,i)])}}qe.getSpawnedResult=bc;function yc(e){let a=typeof e=="string"?` +`:10,t=typeof e=="string"?"\r":13;return e[e.length-1]===a&&(e=e.slice(0,-1)),e[e.length-1]===t&&(e=e.slice(0,-1)),e}function _c(e,a){return e.stripFinalNewline?yc(a):a}qe.handleOutput=_c;var Sc=({timedOut:e,timeout:a,signal:t,exitCode:r})=>e?`timed out after ${a} milliseconds`:t!=null?`was killed with ${t}`:r!=null?`failed with exit code ${r}`:"failed",Nc=({stdout:e,stderr:a,error:t,signal:r,exitCode:p,command:i,timedOut:d,options:n,parentError:s})=>{let l=`Command ${Sc({timedOut:d,timeout:n?.timeout,signal:r,exitCode:p})}: ${i}`,u=t?`${l} +${t.message}`:l,c=[u,a,e].filter(Boolean).join(` +`);return t?t.originalMessage=t.message:t=s,t.message=c,t.shortMessage=u,t.command=i,t.exitCode=p,t.signal=r,t.stdout=e,t.stderr=a,"bufferedData"in t&&delete t.bufferedData,t};function Cc({stdout:e,stderr:a,error:t,exitCode:r,signal:p,timedOut:i,command:d,options:n,parentError:s}){if(t||r!==0||p!==null)throw Nc({error:t,exitCode:r,signal:p,stdout:e,stderr:a,command:d,timedOut:i,options:n,parentError:s});return e}qe.defaultParsing=Cc});var gn=m(ba=>{"use strict";var xc=ba&&ba.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ba,"__esModule",{value:!0});ba.useExec=void 0;var Dc=xc(require("node:child_process")),vn=require("react"),Pc=lt(),Ec=o1(),bt=Lr(),Lc=/ +/g;function Tc(e,a){if(a)return[e,...a];let t=[];for(let r of e.trim().split(Lc)){let p=t[t.length-1];p&&p.endsWith("\\")?t[t.length-1]=`${p.slice(0,-1)} ${r}`:t.push(r)}return t}function Ac(e,a,t){let{parseOutput:r,input:p,onData:i,onWillExecute:d,initialData:n,execute:s,keepPreviousData:o,onError:l,failureToastOptions:u,...c}=Array.isArray(a)?t||{}:a||{},g={initialData:n,execute:s,keepPreviousData:o,onError:l,onData:i,onWillExecute:d,failureToastOptions:u},f=(0,vn.useRef)(),h=(0,Ec.useLatest)(r||bt.defaultParsing),v=(0,vn.useCallback)(async(w,y,_,S)=>{let[D,...T]=Tc(w,y),E=[D,...T].join(" "),A={stripFinalNewline:!0,..._,timeout:_?.timeout||1e4,signal:f.current?.signal,encoding:_?.encoding===null?"buffer":_?.encoding||"utf8",env:{PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",...process.env,..._?.env}},k=Dc.default.spawn(D,T,A),j=(0,bt.getSpawnedPromise)(k,A);S&&k.stdin.end(S);let[{error:N,exitCode:L,signal:B,timedOut:C},M,G]=await(0,bt.getSpawnedResult)(k,A,j),$=(0,bt.handleOutput)(A,M),H=(0,bt.handleOutput)(A,G);return h.current({stdout:$,stderr:H,error:N,exitCode:L,signal:B,timedOut:C,command:E,options:A,parentError:new Error})},[h]);return(0,Pc.useCachedPromise)(v,[e,Array.isArray(a)?a:[],c,p],{...g,abortable:f})}ba.useExec=Ac});var b0=m((uL,_n)=>{"use strict";var{Readable:oL,Writable:lL,Duplex:Oc,Transform:yn}=require("stream"),kc=Symbol.for("object-stream.none"),g0=Symbol.for("object-stream.final"),w0=Symbol.for("object-stream.many"),Rc=e=>({[g0]:e}),Mc=e=>({[w0]:e}),Ic=e=>e&&typeof e=="object"&&g0 in e,Vc=e=>e&&typeof e=="object"&&w0 in e,Fc=e=>e[g0],qc=e=>e[w0],Bc=async(e,a)=>{for(;;){let t=e.next();if(t&&typeof t.then=="function"&&(t=await t),t.done)break;let r=t.value;r&&typeof r.then=="function"&&(r=await r),re.sanitize(r,a)}},jc=e=>new yn({writableObjectMode:!0,readableObjectMode:!0,transform(a,t,r){try{let p=e.call(this,a,t);if(p&&typeof p.then=="function"){p.then(i=>(re.sanitize(i,this),r(null)),i=>r(i));return}if(p&&typeof p.next=="function"){Bc(p,this).then(()=>r(null),i=>r(i));return}re.sanitize(p,this),r(null)}catch(p){r(p)}}}),Uc=e=>new yn({writableObjectMode:!0,readableObjectMode:!0,transform(a,t,r){try{let p=a;for(let i=0;i<e.length;++i){let d=e[i].call(this,p,t);if(d===re.none){r(null);return}if(re.isFinal(d)){p=re.getFinalValue(d);break}p=d}re.sanitize(p,this),r(null)}catch(p){r(p)}}}),wn=e=>e&&typeof e.pipe=="function"&&typeof e.on=="function"&&(!e._writableState||(typeof e._readableState=="object"?e._readableState.readable:null)!==!1)&&(!e._writableState||e._readableState),bn=e=>e&&typeof e.write=="function"&&typeof e.on=="function"&&(!e._readableState||(typeof e._writableState=="object"?e._writableState.writable:null)!==!1),Gc=e=>e&&typeof e.pipe=="function"&&e._readableState&&typeof e.on=="function"&&typeof e.write=="function",re=class e extends Oc{constructor(a,t){if(super(t||{writableObjectMode:!0,readableObjectMode:!0}),!(a instanceof Array)||!a.length)throw Error("Chain's argument should be a non-empty array.");this.streams=a.filter(r=>r).map((r,p,i)=>{if(typeof r=="function"||r instanceof Array)return e.convertToTransform(r);if(Gc(r)||!p&&wn(r)||p===i.length-1&&bn(r))return r;throw Error("Arguments should be functions, arrays or streams.")}).filter(r=>r),this.input=this.streams[0],this.output=this.streams.reduce((r,p)=>r&&r.pipe(p)||p),bn(this.input)||(this._write=(r,p,i)=>i(null),this._final=r=>r(null),this.input.on("end",()=>this.end())),wn(this.output)?(this.output.on("data",r=>!this.push(r)&&this.output.pause()),this.output.on("end",()=>this.push(null))):(this._read=()=>{},this.resume(),this.output.on("finish",()=>this.push(null))),(!t||!t.skipEvents)&&this.streams.forEach(r=>r.on("error",p=>this.emit("error",p)))}_write(a,t,r){let p=null;try{this.input.write(a,t,i=>r(i||p))}catch(i){p=i}}_final(a){let t=null;try{this.input.end(null,null,r=>a(r||t))}catch(r){t=r}}_read(){this.output.resume()}static make(a,t){return new e(a,t)}static sanitize(a,t){e.isFinal(a)?a=e.getFinalValue(a):e.isMany(a)&&(a=e.getManyValues(a)),a!=null&&a!==e.none&&(a instanceof Array?a.forEach(r=>r!=null&&t.push(r)):t.push(a))}static convertToTransform(a){return typeof a=="function"?jc(a):a instanceof Array&&a.length?Uc(a):null}};re.none=kc;re.final=Rc;re.isFinal=Ic;re.getFinalValue=Fc;re.many=Mc;re.isMany=Vc;re.getManyValues=qc;re.chain=re.make;re.make.Constructor=re;_n.exports=re});var Nn=m((mL,Sn)=>{"use strict";var{Transform:$c}=require("stream"),{StringDecoder:zc}=require("string_decoder"),y0=class extends $c{constructor(a){super(Object.assign({},a,{writableObjectMode:!1})),this._buffer=""}_transform(a,t,r){typeof a=="string"?this._transform=this._transformString:(this._stringDecoder=new zc,this._transform=this._transformBuffer),this._transform(a,t,r)}_transformBuffer(a,t,r){this._buffer+=this._stringDecoder.write(a),this._processBuffer(r)}_transformString(a,t,r){this._buffer+=a.toString(),this._processBuffer(r)}_processBuffer(a){this._buffer&&(this.push(this._buffer,"utf8"),this._buffer=""),a(null)}_flushInput(){this._stringDecoder&&(this._buffer+=this._stringDecoder.end())}_flush(a){this._flushInput(),this._processBuffer(a)}};Sn.exports=y0});var _0=m((cL,Cn)=>{"use strict";var Hc=Nn(),I={value1:/^(?:[\"\{\[\]\-\d]|true\b|false\b|null\b|\s{1,256})/,string:/^(?:[^\"\\]{1,256}|\\[bfnrt\"\\\/]|\\u[\da-fA-F]{4}|\")/,key1:/^(?:[\"\}]|\s{1,256})/,colon:/^(?:\:|\s{1,256})/,comma:/^(?:[\,\]\}]|\s{1,256})/,ws:/^\s{1,256}/,numberStart:/^\d/,numberDigit:/^\d{0,256}/,numberFraction:/^[\.eE]/,numberExponent:/^[eE]/,numberExpSign:/^[-+]/},Wc=16,me=!0;try{new RegExp(".","y"),me=!1}catch{}!me&&Object.keys(I).forEach(e=>{let a=I[e].source.slice(1);a.slice(0,3)==="(?:"&&a.slice(-1)===")"&&(a=a.slice(3,-1)),I[e]=new RegExp(a,"y")});I.numberFracStart=I.numberExpStart=I.numberStart;I.numberFracDigit=I.numberExpDigit=I.numberDigit;var Yc={true:!0,false:!1,null:null},Qe={object:"objectStop",array:"arrayStop","":"done"},Kc=e=>String.fromCharCode(parseInt(e.slice(2),16)),Jc={b:"\b",f:"\f",n:` +`,r:"\r",t:" ",'"':'"',"\\":"\\","/":"/"},j1=class e extends Hc{static make(a){return new e(a)}constructor(a){super(Object.assign({},a,{readableObjectMode:!0})),this._packKeys=this._packStrings=this._packNumbers=this._streamKeys=this._streamStrings=this._streamNumbers=!0,a&&("packValues"in a&&(this._packKeys=this._packStrings=this._packNumbers=a.packValues),"packKeys"in a&&(this._packKeys=a.packKeys),"packStrings"in a&&(this._packStrings=a.packStrings),"packNumbers"in a&&(this._packNumbers=a.packNumbers),"streamValues"in a&&(this._streamKeys=this._streamStrings=this._streamNumbers=a.streamValues),"streamKeys"in a&&(this._streamKeys=a.streamKeys),"streamStrings"in a&&(this._streamStrings=a.streamStrings),"streamNumbers"in a&&(this._streamNumbers=a.streamNumbers),this._jsonStreaming=a.jsonStreaming),!this._packKeys&&(this._streamKeys=!0),!this._packStrings&&(this._streamStrings=!0),!this._packNumbers&&(this._streamNumbers=!0),this._done=!1,this._expect=this._jsonStreaming?"done":"value",this._stack=[],this._parent="",this._open_number=!1,this._accumulator=""}_flush(a){this._done=!0,super._flush(t=>{if(t)return a(t);this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),a(null)})}_processBuffer(a){let t,r,p=0;e:for(;;)switch(this._expect){case"value1":case"value":if(I.value1.lastIndex=p,t=I.value1.exec(this._buffer),!t){if(this._done||p+Wc<this._buffer.length)return p<this._buffer.length?a(new Error("Parser cannot parse input: expected a value")):a(new Error("Parser has expected a value"));break e}switch(r=t[0],r){case'"':this._streamStrings&&this.push({name:"startString"}),this._expect="string";break;case"{":this.push({name:"startObject"}),this._stack.push(this._parent),this._parent="object",this._expect="key1";break;case"[":this.push({name:"startArray"}),this._stack.push(this._parent),this._parent="array",this._expect="value1";break;case"]":if(this._expect!=="value1")return a(new Error("Parser cannot parse input: unexpected token ']'"));this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),this.push({name:"endArray"}),this._parent=this._stack.pop(),this._expect=Qe[this._parent];break;case"-":this._open_number=!0,this._streamNumbers&&(this.push({name:"startNumber"}),this.push({name:"numberChunk",value:"-"})),this._packNumbers&&(this._accumulator="-"),this._expect="numberStart";break;case"0":this._open_number=!0,this._streamNumbers&&(this.push({name:"startNumber"}),this.push({name:"numberChunk",value:"0"})),this._packNumbers&&(this._accumulator="0"),this._expect="numberFraction";break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":this._open_number=!0,this._streamNumbers&&(this.push({name:"startNumber"}),this.push({name:"numberChunk",value:r})),this._packNumbers&&(this._accumulator=r),this._expect="numberDigit";break;case"true":case"false":case"null":if(this._buffer.length-p===r.length&&!this._done)break e;this.push({name:r+"Value",value:Yc[r]}),this._expect=Qe[this._parent];break}me?this._buffer=this._buffer.slice(r.length):p+=r.length;break;case"keyVal":case"string":if(I.string.lastIndex=p,t=I.string.exec(this._buffer),!t){if(p<this._buffer.length&&(this._done||this._buffer.length-p>=6))return a(new Error("Parser cannot parse input: escaped characters"));if(this._done)return a(new Error("Parser has expected a string value"));break e}if(r=t[0],r==='"')this._expect==="keyVal"?(this._streamKeys&&this.push({name:"endKey"}),this._packKeys&&(this.push({name:"keyValue",value:this._accumulator}),this._accumulator=""),this._expect="colon"):(this._streamStrings&&this.push({name:"endString"}),this._packStrings&&(this.push({name:"stringValue",value:this._accumulator}),this._accumulator=""),this._expect=Qe[this._parent]);else if(r.length>1&&r.charAt(0)==="\\"){let i=r.length==2?Jc[r.charAt(1)]:Kc(r);(this._expect==="keyVal"?this._streamKeys:this._streamStrings)&&this.push({name:"stringChunk",value:i}),(this._expect==="keyVal"?this._packKeys:this._packStrings)&&(this._accumulator+=i)}else(this._expect==="keyVal"?this._streamKeys:this._streamStrings)&&this.push({name:"stringChunk",value:r}),(this._expect==="keyVal"?this._packKeys:this._packStrings)&&(this._accumulator+=r);me?this._buffer=this._buffer.slice(r.length):p+=r.length;break;case"key1":case"key":if(I.key1.lastIndex=p,t=I.key1.exec(this._buffer),!t){if(p<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected an object key"));break e}if(r=t[0],r==='"')this._streamKeys&&this.push({name:"startKey"}),this._expect="keyVal";else if(r==="}"){if(this._expect!=="key1")return a(new Error("Parser cannot parse input: unexpected token '}'"));this.push({name:"endObject"}),this._parent=this._stack.pop(),this._expect=Qe[this._parent]}me?this._buffer=this._buffer.slice(r.length):p+=r.length;break;case"colon":if(I.colon.lastIndex=p,t=I.colon.exec(this._buffer),!t){if(p<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected ':'"));break e}r=t[0],r===":"&&(this._expect="value"),me?this._buffer=this._buffer.slice(r.length):p+=r.length;break;case"arrayStop":case"objectStop":if(I.comma.lastIndex=p,t=I.comma.exec(this._buffer),!t){if(p<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected ','"));break e}if(this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),r=t[0],r===",")this._expect=this._expect==="arrayStop"?"value":"key";else if(r==="}"||r==="]"){if(r==="}"?this._expect==="arrayStop":this._expect!=="arrayStop")return a(new Error("Parser cannot parse input: expected '"+(this._expect==="arrayStop"?"]":"}")+"'"));this.push({name:r==="}"?"endObject":"endArray"}),this._parent=this._stack.pop(),this._expect=Qe[this._parent]}me?this._buffer=this._buffer.slice(r.length):p+=r.length;break;case"numberStart":if(I.numberStart.lastIndex=p,t=I.numberStart.exec(this._buffer),!t){if(p<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected a starting digit"));break e}r=t[0],this._streamNumbers&&this.push({name:"numberChunk",value:r}),this._packNumbers&&(this._accumulator+=r),this._expect=r==="0"?"numberFraction":"numberDigit",me?this._buffer=this._buffer.slice(r.length):p+=r.length;break;case"numberDigit":if(I.numberDigit.lastIndex=p,t=I.numberDigit.exec(this._buffer),!t){if(p<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected a digit"));break e}if(r=t[0],r)this._streamNumbers&&this.push({name:"numberChunk",value:r}),this._packNumbers&&(this._accumulator+=r),me?this._buffer=this._buffer.slice(r.length):p+=r.length;else{if(p<this._buffer.length){this._expect="numberFraction";break}if(this._done){this._expect=Qe[this._parent];break}break e}break;case"numberFraction":if(I.numberFraction.lastIndex=p,t=I.numberFraction.exec(this._buffer),!t){if(p<this._buffer.length||this._done){this._expect=Qe[this._parent];break}break e}r=t[0],this._streamNumbers&&this.push({name:"numberChunk",value:r}),this._packNumbers&&(this._accumulator+=r),this._expect=r==="."?"numberFracStart":"numberExpSign",me?this._buffer=this._buffer.slice(r.length):p+=r.length;break;case"numberFracStart":if(I.numberFracStart.lastIndex=p,t=I.numberFracStart.exec(this._buffer),!t){if(p<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected a fractional part of a number"));break e}r=t[0],this._streamNumbers&&this.push({name:"numberChunk",value:r}),this._packNumbers&&(this._accumulator+=r),this._expect="numberFracDigit",me?this._buffer=this._buffer.slice(r.length):p+=r.length;break;case"numberFracDigit":if(I.numberFracDigit.lastIndex=p,t=I.numberFracDigit.exec(this._buffer),r=t[0],r)this._streamNumbers&&this.push({name:"numberChunk",value:r}),this._packNumbers&&(this._accumulator+=r),me?this._buffer=this._buffer.slice(r.length):p+=r.length;else{if(p<this._buffer.length){this._expect="numberExponent";break}if(this._done){this._expect=Qe[this._parent];break}break e}break;case"numberExponent":if(I.numberExponent.lastIndex=p,t=I.numberExponent.exec(this._buffer),!t){if(p<this._buffer.length){this._expect=Qe[this._parent];break}if(this._done){this._expect="done";break}break e}r=t[0],this._streamNumbers&&this.push({name:"numberChunk",value:r}),this._packNumbers&&(this._accumulator+=r),this._expect="numberExpSign",me?this._buffer=this._buffer.slice(r.length):p+=r.length;break;case"numberExpSign":if(I.numberExpSign.lastIndex=p,t=I.numberExpSign.exec(this._buffer),!t){if(p<this._buffer.length){this._expect="numberExpStart";break}if(this._done)return a(new Error("Parser has expected an exponent value of a number"));break e}r=t[0],this._streamNumbers&&this.push({name:"numberChunk",value:r}),this._packNumbers&&(this._accumulator+=r),this._expect="numberExpStart",me?this._buffer=this._buffer.slice(r.length):p+=r.length;break;case"numberExpStart":if(I.numberExpStart.lastIndex=p,t=I.numberExpStart.exec(this._buffer),!t){if(p<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected an exponent part of a number"));break e}r=t[0],this._streamNumbers&&this.push({name:"numberChunk",value:r}),this._packNumbers&&(this._accumulator+=r),this._expect="numberExpDigit",me?this._buffer=this._buffer.slice(r.length):p+=r.length;break;case"numberExpDigit":if(I.numberExpDigit.lastIndex=p,t=I.numberExpDigit.exec(this._buffer),r=t[0],r)this._streamNumbers&&this.push({name:"numberChunk",value:r}),this._packNumbers&&(this._accumulator+=r),me?this._buffer=this._buffer.slice(r.length):p+=r.length;else{if(p<this._buffer.length||this._done){this._expect=Qe[this._parent];break}break e}break;case"done":if(I.ws.lastIndex=p,t=I.ws.exec(this._buffer),!t){if(p<this._buffer.length){if(this._jsonStreaming){this._expect="value";break}return a(new Error("Parser cannot parse input: unexpected characters"))}break e}r=t[0],this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),me?this._buffer=this._buffer.slice(r.length):p+=r.length;break}!me&&(this._buffer=this._buffer.slice(p)),a(null)}};j1.parser=j1.make;j1.make.Constructor=j1;Cn.exports=j1});var Dn=m((fL,xn)=>{"use strict";var Xc=e=>e.on("data",a=>e.emit(a.name,a.value));xn.exports=Xc});var En=m((hL,Pn)=>{"use strict";var S0=_0(),Zc=Dn(),N0=e=>Zc(new S0(e));N0.Parser=S0;N0.parser=S0.parser;Pn.exports=N0});var Tn=m((vL,Ln)=>{"use strict";var{Transform:Qc}=require("stream"),e1=class e extends Qc{static stringFilter(a,t){return r=>{let p=r.join(t);return p.length===a.length&&p===a||p.length>a.length&&p.substr(0,a.length)===a&&p.substr(a.length,t.length)===t}}static regExpFilter(a,t){return r=>a.test(r.join(t))}static arrayReplacement(a){return()=>a}constructor(a){super(Object.assign({},a,{writableObjectMode:!0,readableObjectMode:!0})),this._transform=this._check,this._stack=[];let t=a&&a.filter,r=a&&a.pathSeparator||".";typeof t=="string"?this._filter=e.stringFilter(t,r):typeof t=="function"?this._filter=t:t instanceof RegExp&&(this._filter=e.regExpFilter(t,r));let p=a&&a.replacement;typeof p=="function"?this._replacement=p:this._replacement=e.arrayReplacement(p||e.defaultReplacement),this._allowEmptyReplacement=a&&a.allowEmptyReplacement,this._streamKeys=!0,a&&("streamValues"in a&&(this._streamKeys=a.streamValues),"streamKeys"in a&&(this._streamKeys=a.streamKeys)),this._once=a&&a.once,this._previousToken=""}_check(a,t,r){switch(a.name){case"startObject":case"startArray":case"startString":case"startNumber":case"nullValue":case"trueValue":case"falseValue":typeof this._stack[this._stack.length-1]=="number"&&++this._stack[this._stack.length-1];break;case"keyValue":this._stack[this._stack.length-1]=a.value;break;case"numberValue":this._previousToken!=="endNumber"&&typeof this._stack[this._stack.length-1]=="number"&&++this._stack[this._stack.length-1];break;case"stringValue":this._previousToken!=="endString"&&typeof this._stack[this._stack.length-1]=="number"&&++this._stack[this._stack.length-1];break}if(this._previousToken=a.name,this._checkChunk(a))return r(null);switch(a.name){case"startObject":this._stack.push(null);break;case"startArray":this._stack.push(-1);break;case"endObject":case"endArray":this._stack.pop();break}r(null)}_passObject(a,t,r){switch(this.push(a),a.name){case"startObject":case"startArray":++this._depth;break;case"endObject":case"endArray":--this._depth;break}this._depth||(this._transform=this._once?this._skip:this._check),r(null)}_pass(a,t,r){this.push(a),r(null)}_skipObject(a,t,r){switch(a.name){case"startObject":case"startArray":++this._depth;break;case"endObject":case"endArray":--this._depth;break}this._depth||(this._transform=this._once?this._pass:this._check),r(null)}_skip(a,t,r){r(null)}};e1.defaultReplacement=[{name:"nullValue",value:null}];var C0=(e,a)=>function(t,r,p){if(this._expected){let i=this._expected;if(this._expected="",this._transform=this._once?this._skip:this._check,i===t.name)this.push(t);else return this._transform(t,r,p)}else this.push(t),t.name===e&&(this._expected=a);p(null)};e1.prototype._passNumber=C0("endNumber","numberValue");e1.prototype._passString=C0("endString","stringValue");e1.prototype._passKey=C0("endKey","keyValue");var x0=(e,a)=>function(t,r,p){if(this._expected){let i=this._expected;if(this._expected="",this._transform=this._once?this._pass:this._check,i!==t.name)return this._transform(t,r,p)}else t.name===e&&(this._expected=a);p(null)};e1.prototype._skipNumber=x0("endNumber","numberValue");e1.prototype._skipString=x0("endString","stringValue");e1.prototype._skipKey=x0("endKey","keyValue");Ln.exports=e1});var D0=m((gL,An)=>{"use strict";var ef=b0(),af=_0(),tf=(e,a)=>new ef([new af(a),e(a)],Object.assign({},a,{writableObjectMode:!1,readableObjectMode:!0}));An.exports=tf});var kn=m((wL,On)=>{"use strict";var rf=Tn(),pf=D0(),U1=class e extends rf{static make(a){return new e(a)}static withParser(a){return pf(e.make,a)}_checkChunk(a){switch(a.name){case"startObject":case"startArray":if(this._filter(this._stack,a))return this.push(a),this._transform=this._passObject,this._depth=1,!0;break;case"startString":if(this._filter(this._stack,a))return this.push(a),this._transform=this._passString,!0;break;case"startNumber":if(this._filter(this._stack,a))return this.push(a),this._transform=this._passNumber,!0;break;case"nullValue":case"trueValue":case"falseValue":case"stringValue":case"numberValue":if(this._filter(this._stack,a))return this.push(a),this._transform=this._once?this._skip:this._check,!0;break}return!1}};U1.pick=U1.make;U1.make.Constructor=U1;On.exports=U1});var In=m((bL,Mn)=>{"use strict";var df=require("events"),Rn=e=>function(){this.done?this.done=!1:this.stack.push(this.current,this.key),this.current=new e,this.key=null},c1=class e extends df{static connectTo(a,t){return new e(t).connectTo(a)}constructor(a){super(),this.stack=[],this.current=this.key=null,this.done=!0,a&&(this.reviver=typeof a.reviver=="function"&&a.reviver,this.reviver&&(this.stringValue=this._saveValue=this._saveValueWithReviver),a.numberAsString&&(this.numberValue=this.stringValue))}connectTo(a){return a.on("data",t=>{this[t.name]&&(this[t.name](t.value),this.done&&this.emit("done",this))}),this}get depth(){return(this.stack.length>>1)+(this.done?0:1)}get path(){let a=[];for(let t=0;t<this.stack.length;t+=2){let r=this.stack[t+1];a.push(r===null?this.stack[t].length:r)}return a}dropToLevel(a){if(a<this.depth)if(a){let t=a-1<<1;this.current=this.stack[t],this.key=this.stack[t+1],this.stack.splice(t)}else this.stack=[],this.current=this.key=null,this.done=!0;return this}consume(a){return this[a.name]&&this[a.name](a.value),this}keyValue(a){this.key=a}numberValue(a){this._saveValue(parseFloat(a))}nullValue(){this._saveValue(null)}trueValue(){this._saveValue(!0)}falseValue(){this._saveValue(!1)}endObject(){if(this.stack.length){let a=this.current;this.key=this.stack.pop(),this.current=this.stack.pop(),this._saveValue(a)}else this.done=!0}_saveValue(a){this.done?this.current=a:this.current instanceof Array?this.current.push(a):(this.current[this.key]=a,this.key=null)}_saveValueWithReviver(a){this.done?this.current=this.reviver("",a):this.current instanceof Array?(a=this.reviver(""+this.current.length,a),this.current.push(a),a===void 0&&delete this.current[this.current.length-1]):(a=this.reviver(this.key,a),a!==void 0&&(this.current[this.key]=a),this.key=null)}};c1.prototype.stringValue=c1.prototype._saveValue;c1.prototype.startObject=Rn(Object);c1.prototype.startArray=Rn(Array);c1.prototype.endArray=c1.prototype.endObject;Mn.exports=c1});var Fn=m((yL,Vn)=>{"use strict";var{Transform:nf}=require("stream"),sf=In(),P0=class{constructor(a){this.depth=a}startObject(){++this.depth}endObject(){--this.depth}startArray(){++this.depth}endArray(){--this.depth}},E0=class extends nf{constructor(a){super(Object.assign({},a,{writableObjectMode:!0,readableObjectMode:!0})),a&&(this.objectFilter=a.objectFilter,this.includeUndecided=a.includeUndecided),typeof this.objectFilter!="function"&&(this._filter=this._transform),this._transform=this._wait||this._filter,this._assembler=new sf(a)}_transform(a,t,r){this._assembler[a.name]&&(this._assembler[a.name](a.value),this._assembler.depth===this._level&&this._push()),r(null)}_filter(a,t,r){if(this._assembler[a.name]){this._assembler[a.name](a.value);let p=this.objectFilter(this._assembler);if(p)return this._assembler.depth===this._level&&(this._push(),this._transform=this._filter),this._transform=this._accept,r(null);if(p===!1)return this._saved_assembler=this._assembler,this._assembler=new P0(this._saved_assembler.depth),this._saved_assembler.dropToLevel(this._level),this._assembler.depth===this._level&&(this._assembler=this._saved_assembler,this._transform=this._filter),this._transform=this._reject,r(null);this._assembler.depth===this._level&&this._push(!this.includeUndecided)}r(null)}_accept(a,t,r){this._assembler[a.name]&&(this._assembler[a.name](a.value),this._assembler.depth===this._level&&(this._push(),this._transform=this._filter)),r(null)}_reject(a,t,r){this._assembler[a.name]&&(this._assembler[a.name](a.value),this._assembler.depth===this._level&&(this._assembler=this._saved_assembler,this._transform=this._filter)),r(null)}};Vn.exports=E0});var Bn=m((_L,qn)=>{"use strict";var of=Fn(),lf=D0(),G1=class e extends of{static make(a){return new e(a)}static withParser(a){return lf(e.make,a)}constructor(a){super(a),this._level=1,this._counter=0}_wait(a,t,r){return a.name!=="startArray"?r(new Error("Top-level object should be an array.")):(this._transform=this._filter,this._transform(a,t,r))}_push(a){this._assembler.current.length&&(a?(++this._counter,this._assembler.current.pop()):this.push({key:this._counter++,value:this._assembler.current.pop()}))}};G1.streamArray=G1.make;G1.make.Constructor=G1;qn.exports=G1});var $n=m(ya=>{"use strict";var Ar=ya&&ya.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ya,"__esModule",{value:!0});ya.useStreamJSON=void 0;var uf=require("@raycast/api"),jn=Ar(Sr()),St=require("node:fs"),L0=require("node:fs/promises"),Tr=require("node:path"),Un=require("node:stream/promises"),yt=require("react"),mf=Ar(b0()),cf=En(),ff=Ar(kn()),hf=Ar(Bn()),Gn=o0(),vf=lt(),gf=I1();async function _t(e,a,t){if(typeof e=="object"||e.startsWith("http://")||e.startsWith("https://"))return await wf(e,a,t);if(e.startsWith("file://"))return await bf((0,Tr.normalize)(decodeURIComponent(new URL(e).pathname)),a,t?.signal?t.signal:void 0);throw new Error("Only HTTP(S) or file URLs are supported")}async function wf(e,a,t){let r=await(0,jn.default)(e,t);if(!r.ok)throw new Error("Failed to fetch URL");if(!(0,Gn.isJSON)(r.headers.get("content-type")))throw new Error("URL does not return JSON");if(!r.body)throw new Error("Failed to retrieve expected JSON content: Response body is missing or inaccessible.");await(0,Un.pipeline)(r.body,(0,St.createWriteStream)(a),t?.signal?{signal:t.signal}:void 0)}async function bf(e,a,t){await(0,Un.pipeline)((0,St.createReadStream)(e),(0,St.createWriteStream)(a),t?{signal:t}:void 0)}async function yf(e,a,t,r,p){let i=(0,Tr.join)(a,t);try{await(0,L0.stat)(a)}catch{(0,St.mkdirSync)(a,{recursive:!0}),await _t(e,i,p);return}if(r){await _t(e,i,p);return}let d;try{d=await(0,L0.stat)(i)}catch{await _t(e,i,p);return}if(typeof e=="object"||e.startsWith("http://")||e.startsWith("https://")){let n=await(0,jn.default)(e,{...p,method:"HEAD"});if(!n.ok)throw new Error("Could not fetch URL");if(!(0,Gn.isJSON)(n.headers.get("content-type")))throw new Error("URL does not return JSON");let s=Date.parse(n.headers.get("last-modified")??"");if(d.size===0||Number.isNaN(s)||s>d.mtimeMs){await _t(e,i,p);return}}else if(e.startsWith("file://"))try{(await(0,L0.stat)((0,Tr.normalize)(decodeURIComponent(new URL(e).pathname)))).mtimeMs>d.mtimeMs&&await _t(e,i,p)}catch{throw new Error("Source file could not be read")}else throw new Error("Only HTTP(S) or file URLs are supported")}async function*_f(e,a,t,r,p,i){let d=[],n=new mf.default([(0,St.createReadStream)(e),r?ff.default.withParser({filter:r}):(0,cf.parser)(),new hf.default,s=>i?.(s.value)??s.value]);t?.addEventListener("abort",()=>{n.destroy()});try{for await(let s of n){if(t?.aborted)return[];(!p||p(s))&&d.push(s),d.length>=a&&(yield d,d=[])}}catch(s){throw n.destroy(),s}return d.length>0&&(yield d),[]}function Sf(e,a){let{initialData:t,execute:r,keepPreviousData:p,onError:i,onData:d,onWillExecute:n,failureToastOptions:s,dataPath:o,filter:l,transform:u,pageSize:c=20,...g}=a??{},f=(0,yt.useRef)(),h=(0,yt.useRef)(),v={initialData:t,execute:r,keepPreviousData:p,onError:i,onData:d,onWillExecute:n,failureToastOptions:s},w=(0,yt.useRef)(null),y=(0,yt.useRef)(null),_=(0,yt.useRef)(!1);return(0,vf.useCachedPromise)((S,D,T,E,A,k)=>async({page:j})=>{let N=(0,gf.hash)(S)+".json",L=uf.environment.supportPath;if(j===0){y.current?.abort(),y.current=new AbortController;let M=(0,Tr.join)(L,N),G=!!(f.current&&f.current!==S&&h.current&&h.current===M);f.current=S,h.current=M,await yf(S,L,N,G,{...T,signal:y.current?.signal}),w.current=_f(M,D,y.current?.signal,E,A,k)}if(!w.current)return{hasMore:_.current,data:[]};let{value:B,done:C}=await w.current.next();return _.current=!C,{hasMore:_.current,data:B??[]}},[e,c,g,o,l,u],v)}ya.useStreamJSON=Sf});var Kn=m(_a=>{"use strict";var O0=_a&&_a.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(_a,"__esModule",{value:!0});_a.useSQL=void 0;var a1=require("react/jsx-runtime"),Ce=require("@raycast/api"),Nf=require("node:fs"),Or=require("node:fs/promises"),Wn=O0(require("node:os")),zn=O0(require("node:child_process")),Hn=O0(require("node:path")),kr=require("react"),Cf=oa(),xf=o1(),Rr=Lr(),Df=dt(),Pf=I1();function Ef(e,a,t){let{permissionPriming:r,...p}=t||{},[i,d]=(0,kr.useState)(),n=(0,xf.useLatest)(t||{}),s=(0,kr.useRef)(),o=(0,kr.useCallback)(u=>{console.error(u);let c=u instanceof Error&&u.message.includes("authorization denied")?new A0("You do not have permission to access the database."):u;Lf(c)?d((0,a1.jsx)(Tf,{priming:n.current.permissionPriming})):n.current.onError?n.current.onError(c):Ce.environment.launchType!==Ce.LaunchType.Background&&(0,Df.showFailureToast)(c,{title:"Cannot query the data"})},[n]),l=(0,kr.useMemo)(()=>{if(!(0,Nf.existsSync)(e))throw new Error("The database does not exist");let u;return async(c,g)=>{let f=s.current?.signal,h=zn.default.spawn("sqlite3",["--json","--readonly",c,g],{signal:f}),v=(0,Rr.getSpawnedPromise)(h),[{error:w,exitCode:y,signal:_},S,D]=await(0,Rr.getSpawnedResult)(h,{encoding:"utf-8"},v);if(Mr(f),D.match("(5)")||D.match("(14)")){if(!u){let A=Hn.default.join(Wn.default.tmpdir(),"useSQL",(0,Pf.hash)(c));await(0,Or.mkdir)(A,{recursive:!0}),Mr(f),u=Hn.default.join(A,"db.db"),await(0,Or.copyFile)(c,u),await(0,Or.writeFile)(u+"-shm",""),await(0,Or.writeFile)(u+"-wal",""),Mr(f)}let T=zn.default.spawn("sqlite3",["--json","--readonly","--vfs","unix-none",u,g],{signal:f}),E=(0,Rr.getSpawnedPromise)(T);[{error:w,exitCode:y,signal:_},S,D]=await(0,Rr.getSpawnedResult)(T,{encoding:"utf-8"},E),Mr(f)}if(w||y!==0||_!==null)throw new Error(D);return JSON.parse(S.trim()||"[]")}},[e]);return{...(0,Cf.usePromise)(l,[e,a],{...p,onError:o}),permissionView:i}}_a.useSQL=Ef;var A0=class extends Error{constructor(a){super(a),this.name="PermissionError"}};function Lf(e){return e instanceof Error&&e.name==="PermissionError"}var Yn=parseInt(Wn.default.release().split(".")[0])>=22,T0=Yn?"Settings":"Preferences";function Tf(e){let a=Yn?{title:"Open System Settings -> Privacy",target:"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"}:{title:"Open System Preferences -> Security",target:"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"};return Ce.environment.commandMode==="menu-bar"?(0,a1.jsxs)(Ce.MenuBarExtra,{icon:Ce.Icon.Warning,title:Ce.environment.commandName,children:[(0,a1.jsx)(Ce.MenuBarExtra.Item,{title:"Raycast needs full disk access",tooltip:`You can revert this access in ${T0} whenever you want`}),e.priming?(0,a1.jsx)(Ce.MenuBarExtra.Item,{title:e.priming,tooltip:`You can revert this access in ${T0} whenever you want`}):null,(0,a1.jsx)(Ce.MenuBarExtra.Separator,{}),(0,a1.jsx)(Ce.MenuBarExtra.Item,{title:a.title,onAction:()=>(0,Ce.open)(a.target)})]}):(0,a1.jsx)(Ce.List,{children:(0,a1.jsx)(Ce.List.EmptyView,{icon:{source:{light:"https://raycast.com/uploads/extensions-utils-security-permissions-light.png",dark:"https://raycast.com/uploads/extensions-utils-security-permissions-dark.png"}},title:"Raycast needs full disk access.",description:`${e.priming?e.priming+` +`:""}You can revert this access in ${T0} whenever you want.`,actions:(0,a1.jsx)(Ce.ActionPanel,{children:(0,a1.jsx)(Ce.Action.Open,{...a})})})})}function Mr(e){if(e?.aborted){let a=new Error("aborted");throw a.name="AbortError",a}}});var Xn=m(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.useForm=Sa.FormValidation=void 0;var f1=require("react"),Jn=o1(),R0;(function(e){e.Required="required"})(R0||(Sa.FormValidation=R0={}));function k0(e,a){if(e){if(typeof e=="function")return e(a);if(e===R0.Required){let t=typeof a<"u"&&a!==null;if(t)switch(typeof a){case"string":t=a.length>0;break;case"object":Array.isArray(a)?t=a.length>0:a instanceof Date&&(t=a.getTime()>0);break;default:break}if(!t)return"The item is required"}}}function Af(e){let{onSubmit:a,validation:t,initialValues:r={}}=e,[p,i]=(0,f1.useState)(r),[d,n]=(0,f1.useState)({}),s=(0,f1.useRef)({}),o=(0,Jn.useLatest)(t||{}),l=(0,Jn.useLatest)(a),u=(0,f1.useCallback)(w=>{s.current[w]?.focus()},[s]),c=(0,f1.useCallback)(async w=>{let y=!1;for(let[S,D]of Object.entries(o.current)){let T=k0(D,w[S]);T&&(y||(y={},u(S)),y[S]=T)}if(y)return n(y),!1;let _=await l.current(w);return typeof _=="boolean"?_:!0},[o,l,u]),g=(0,f1.useCallback)((w,y)=>{n(_=>({..._,[w]:y}))},[n]),f=(0,f1.useCallback)(function(w,y){i(_=>({..._,[w]:typeof y=="function"?y(_[w]):y}))},[i]),h=(0,f1.useMemo)(()=>new Proxy({},{get(w,y){let _=o.current[y],S=p[y];return{onChange(D){d[y]&&(k0(_,D)||g(y,void 0)),f(y,D)},onBlur(D){let T=k0(_,D.target.value);T&&g(y,T)},error:d[y],id:y,value:typeof S>"u"?null:S,ref:D=>{s.current[y]=D}}}}),[d,o,g,p,s,f]),v=(0,f1.useCallback)(w=>{n({}),Object.entries(s.current).forEach(([y,_])=>{w?.[y]||_?.reset()}),w&&i(w)},[i,n,s]);return{handleSubmit:c,setValidationError:g,setValue:f,values:p,itemProps:h,focus:u,reset:v}}Sa.useForm=Af});var Qn=m(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.useAI=void 0;var Zn=require("react"),Of=require("@raycast/api"),kf=oa();function Rf(e,a={}){let{creativity:t,stream:r,model:p,...i}=a,[d,n]=(0,Zn.useState)(""),s=(0,Zn.useRef)(),{isLoading:o,error:l,revalidate:u}=(0,kf.usePromise)(async(c,g,f)=>{n("");let h=Of.AI.ask(c,{creativity:g,model:p,signal:s.current?.signal});f===!1?n(await h):(h.on("data",v=>{n(w=>w+v)}),await h)},[e,t,r],{...i,abortable:s});return{isLoading:o,data:d,error:l,revalidate:u}}Ir.useAI=Rf});var ts=m(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.useFrecencySorting=void 0;var M0=require("react"),es=o1(),Mf=fr(),If=10,as=24*60*60*1e3,Vf=Math.log(2)/(If*as),Ff={Default:100,Embed:0,Bookmark:140};function qf(e){let a=Date.now(),t=e?e.lastVisited:0,r=e?e.frecency:0,p=(a-t)/as,i=Ff.Default*Math.exp(-Vf*p),d=r+i;return{lastVisited:a,frecency:d}}var Bf=e=>{if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||!e||!("id"in e)||typeof e.id!="string"))throw new Error("Specify a key function or make sure your items have an 'id' property");return e.id};function jf(e,a){let t=(0,es.useLatest)(a?.key||Bf),r=(0,es.useLatest)(a?.sortUnvisited),[p,i]=(0,Mf.useCachedState)(`raycast_frecency_${a?.namespace}`,{}),d=(0,M0.useCallback)(async function(l){let u=t.current(l);i(c=>{let g=c[u],f=qf(g);return{...c,[u]:f}})},[t,i]),n=(0,M0.useCallback)(async function(l){let u=t.current(l);i(c=>{let g={...c};return delete g[u],g})},[t,i]);return{data:(0,M0.useMemo)(()=>e?e.sort((o,l)=>{let u=p[t.current(o)],c=p[t.current(l)];return u&&!c?-1:!u&&c?1:u&&c?c.frecency-u.frecency:r.current?r.current(o,l):0}):[],[p,e,t,r]),visitItem:d,resetRanking:n}}Vr.useFrecencySorting=jf});var is=m(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.useLocalStorage=void 0;var I0=require("@raycast/api"),rs=dt(),ps=I1(),Uf=oa();function Gf(e,a){let{data:t,isLoading:r,mutate:p}=(0,Uf.usePromise)(async n=>{let s=await I0.LocalStorage.getItem(n);return typeof s<"u"?JSON.parse(s,ps.reviver):a},[e]);async function i(n){try{await p(I0.LocalStorage.setItem(e,JSON.stringify(n,ps.replacer)),{optimisticUpdate(s){return s}})}catch(s){await(0,rs.showFailureToast)(s,{title:"Failed to set value in local storage"})}}async function d(){try{await p(I0.LocalStorage.removeItem(e),{optimisticUpdate(){}})}catch(n){await(0,rs.showFailureToast)(n,{title:"Failed to remove value from local storage"})}}return{value:t,setValue:i,removeValue:d,isLoading:r}}Fr.useLocalStorage=Gf});var ls=m(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.slightlyLighterColor=Na.slightlyDarkerColor=void 0;function $f(e){let a=0,t=0,r=0;if(e.length===4)a=parseInt(`${e[1]}${e[1]}`,16),t=parseInt(`${e[2]}${e[2]}`,16),r=parseInt(`${e[3]}${e[3]}`,16);else if(e.length===7)a=parseInt(`${e[1]}${e[2]}`,16),t=parseInt(`${e[3]}${e[4]}`,16),r=parseInt(`${e[5]}${e[6]}`,16);else throw new Error(`Malformed hex color: ${e}`);return{r:a,g:t,b:r}}function zf({r:e,g:a,b:t}){let r=e.toString(16),p=a.toString(16),i=t.toString(16);return r.length===1&&(r=`0${r}`),p.length===1&&(p=`0${p}`),i.length===1&&(i=`0${i}`),`#${r}${p}${i}`}function Hf({r:e,g:a,b:t}){e/=255,a/=255,t/=255;let r=Math.min(e,a,t),p=Math.max(e,a,t),i=p-r,d=0,n=0,s=0;return i===0?d=0:p===e?d=(a-t)/i%6:p===a?d=(t-e)/i+2:d=(e-a)/i+4,d=Math.round(d*60),d<0&&(d+=360),s=(p+r)/2,n=i===0?0:i/(1-Math.abs(2*s-1)),n=+(n*100).toFixed(1),s=+(s*100).toFixed(1),{h:d,s:n,l:s}}function Wf({h:e,s:a,l:t}){a/=100,t/=100;let r=(1-Math.abs(2*t-1))*a,p=r*(1-Math.abs(e/60%2-1)),i=t-r/2,d=0,n=0,s=0;return e>=0&&e<60?(d=r,n=p,s=0):e>=60&&e<120?(d=p,n=r,s=0):e>=120&&e<180?(d=0,n=r,s=p):e>=180&&e<240?(d=0,n=p,s=r):e>=240&&e<300?(d=p,n=0,s=r):e>=300&&e<360&&(d=r,n=0,s=p),d=Math.round((d+i)*255),n=Math.round((n+i)*255),s=Math.round((s+i)*255),{r:d,g:n,b:s}}function ds(e){return Hf($f(e))}function ns(e){return zf(Wf(e))}function ss(e,a,t){return a<t?e<a?a:e>t?t:e:e<t?t:e>a?a:e}var os=12;function Yf(e){let a=ds(e);return ns({h:a.h,s:a.s,l:ss(a.l-os,0,100)})}Na.slightlyDarkerColor=Yf;function Kf(e){let a=ds(e);return ns({h:a.h,s:a.s,l:ss(a.l+os,0,100)})}Na.slightlyLighterColor=Kf});var cs=m(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.getAvatarIcon=void 0;var us=ls();function Ca(e,a){let t=e.charCodeAt(a);if(Number.isNaN(t))return["",a];if(t<55296||t>57343)return[e.charAt(a),a];if(55296<=t&&t<=56319){if(e.length<=a+1)throw new Error("High surrogate without following low surrogate");let p=e.charCodeAt(a+1);if(56320>p||p>57343)throw new Error("High surrogate without following low surrogate");return[e.charAt(a)+e.charAt(a+1),a+1]}if(a===0)throw new Error("Low surrogate without preceding high surrogate");let r=e.charCodeAt(a-1);if(55296>r||r>56319)throw new Error("Low surrogate without preceding high surrogate");return[e.charAt(a+1),a+1]}var ms=["#DC829A","#D64854","#D47600","#D36CDD","#52A9E4","#7871E8","#70920F","#43B93A","#EB6B3E","#26B795","#D85A9B","#A067DC","#BD9500","#5385D9"];function Jf(e,a){let t=e.trim().split(" "),r;if(t.length==1&&Ca(t[0],0)[0])r=Ca(t[0],0)[0];else if(t.length>1){let s=Ca(t[0],0)[0]||"",o=Ca(t[t.length-1],0)[0]??"";r=s+o}else r="";let p;if(a?.background)p=a?.background;else{let s=0,[o,l]=Ca(r,0);for(;o;)s+=o.charCodeAt(0),[o,l]=Ca(r,l+1);let u=s%ms.length;p=ms[u]}let d=50-0;return`data:image/svg+xml,${`<svg width="100px" height="100px"> + ${a?.gradient!==!1?`<defs> + <linearGradient id="Gradient" x1="0.25" x2="0.75" y1="0" y2="1"> + <stop offset="0%" stop-color="${(0,us.slightlyLighterColor)(p)}"/> + <stop offset="50%" stop-color="${p}"/> + <stop offset="100%" stop-color="${(0,us.slightlyDarkerColor)(p)}"/> + </linearGradient> + </defs>`:""} + <circle cx="50" cy="50" r="${d}" fill="${a?.gradient!==!1?"url(#Gradient)":p}" /> + ${r?`<text x="50" y="80" font-size="${d-1}" font-family="Inter, sans-serif" text-anchor="middle" fill="white">${r.toUpperCase()}</text>`:""} + </svg> + `.replaceAll(` +`,"")}`}qr.getAvatarIcon=Jf});var hs=m(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.getFavicon=void 0;var fs=require("@raycast/api"),Xf=require("url");function Zf(e,a){try{let r=(typeof e=="string"?new Xf.URL(e):e).hostname;return{source:`https://www.google.com/s2/favicons?sz=${a?.size??64}&domain=${r}`,fallback:a?.fallback??fs.Icon.Link,mask:a?.mask}}catch(t){return console.error(t),fs.Icon.Link}}Br.getFavicon=Zf});var ws=m(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.getProgressIcon=void 0;var vs=require("@raycast/api");function gs(e,a,t,r){let p=(r-90)*Math.PI/180;return{x:e+t*Math.cos(p),y:a+t*Math.sin(p)}}function Qf(e,a,t,r,p){let i=gs(e,a,t,p),d=gs(e,a,t,r),n=p-r<=180?"0":"1";return["M",i.x,i.y,"A",t,t,0,n,0,d.x,d.y].join(" ")}function eh(e,a=vs.Color.Red,t){let r=t?.background||(vs.environment.appearance==="light"?"black":"white"),p=t?.backgroundOpacity||.1,i=10,n=50-5-i/2;return`data:image/svg+xml,${`<svg width="100px" height="100px"> + <circle cx="50" cy="50" r="${n}" stroke-width="${i}" stroke="${e<1?r:a}" opacity="${e<1?p:"1"}" fill="none" /> + ${e>0&&e<1?`<path d="${Qf(50,50,n,0,e*360)}" stroke="${a}" stroke-width="${i}" fill="none" />`:""} + </svg> + `.replaceAll(` +`,"")}`}jr.getProgressIcon=eh});var bs=m(h1=>{"use strict";var ah=h1&&h1.__createBinding||(Object.create?function(e,a,t,r){r===void 0&&(r=t);var p=Object.getOwnPropertyDescriptor(a,t);(!p||("get"in p?!a.__esModule:p.writable||p.configurable))&&(p={enumerable:!0,get:function(){return a[t]}}),Object.defineProperty(e,r,p)}:function(e,a,t,r){r===void 0&&(r=t),e[r]=a[t]}),V0=h1&&h1.__exportStar||function(e,a){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(a,t)&&ah(a,e,t)};Object.defineProperty(h1,"__esModule",{value:!0});V0(cs(),h1);V0(hs(),h1);V0(ws(),h1)});var ys=m(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.zoomService=ge.slackService=ge.linearService=ge.jiraService=ge.googleService=ge.githubService=ge.asanaService=void 0;var xe=require("@raycast/api"),$1=F0(),Ur={asana:"1191201745684312",github:"7235fe8d42157f1f38c0",linear:"c8ff37b9225c3c9aefd7d66ea0e5b6f1",slack:"851756884692.5546927290212"},x1=e=>`data:image/svg+xml,${e}`,z1={asana:x1('<svg xmlns="http://www.w3.org/2000/svg" width="251" height="232" fill="none"><path fill="#F06A6A" d="M179.383 54.373c0 30.017-24.337 54.374-54.354 54.374-30.035 0-54.373-24.338-54.373-54.374C70.656 24.338 94.993 0 125.029 0c30.017 0 54.354 24.338 54.354 54.373ZM54.393 122.33C24.376 122.33.02 146.668.02 176.685c0 30.017 24.337 54.373 54.373 54.373 30.035 0 54.373-24.338 54.373-54.373 0-30.017-24.338-54.355-54.373-54.355Zm141.253 0c-30.035 0-54.373 24.338-54.373 54.374 0 30.035 24.338 54.373 54.373 54.373 30.017 0 54.374-24.338 54.374-54.373 0-30.036-24.338-54.374-54.374-54.374Z"/></svg>'),github:{source:x1('<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>'),tintColor:xe.Color.PrimaryText},google:x1('<svg xmlns="http://www.w3.org/2000/svg" style="display:block" viewBox="0 0 48 48"><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"/><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"/><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"/><path fill="none" d="M0 0h48v48H0z"/></svg>'),jira:x1('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="2361" height="2500" viewBox="2.59 0 214.091 224"><linearGradient id="a" x1="102.4" x2="56.15" y1="218.63" y2="172.39" gradientTransform="matrix(1 0 0 -1 0 264)" gradientUnits="userSpaceOnUse"><stop offset=".18" stop-color="#0052cc"/><stop offset="1" stop-color="#2684ff"/></linearGradient><linearGradient xlink:href="#a" id="b" x1="114.65" x2="160.81" y1="85.77" y2="131.92"/><path fill="#2684ff" d="M214.06 105.73 117.67 9.34 108.33 0 35.77 72.56 2.59 105.73a8.89 8.89 0 0 0 0 12.54l66.29 66.29L108.33 224l72.55-72.56 1.13-1.12 32.05-32a8.87 8.87 0 0 0 0-12.59zm-105.73 39.39L75.21 112l33.12-33.12L141.44 112z"/><path fill="url(#a)" d="M108.33 78.88a55.75 55.75 0 0 1-.24-78.61L35.62 72.71l39.44 39.44z"/><path fill="url(#b)" d="m141.53 111.91-33.2 33.21a55.77 55.77 0 0 1 0 78.86L181 151.35z"/></svg>'),linear:{source:{light:x1('<svg xmlns="http://www.w3.org/2000/svg" fill="#222326" width="200" height="200" viewBox="0 0 100 100"><path d="M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z"/></svg>'),dark:x1('<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" width="200" height="200" viewBox="0 0 100 100"><path d="M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z" /></svg>')}},slack:x1('<svg xmlns="http://www.w3.org/2000/svg" viewBox="73 73 124 124"><style>.st0{fill:#e01e5a}.st1{fill:#36c5f0}.st2{fill:#2eb67d}.st3{fill:#ecb22e}</style><path d="M99.4 151.2c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h12.9v12.9zM105.9 151.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9v-32.3z" class="st0"/><path d="M118.8 99.4c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v12.9h-12.9zM118.8 105.9c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H86.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3z" class="st1"/><path d="M170.6 118.8c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9h-12.9v-12.9zM164.1 118.8c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9V86.5c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9v32.3z" class="st2"/><path d="M151.2 170.6c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9v-12.9h12.9zM151.2 164.1c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9h-32.3z" class="st3"/></svg>'),zoom:x1('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 351.845 80"><path d="M73.786 78.835H10.88A10.842 10.842 0 0 1 .833 72.122a10.841 10.841 0 0 1 2.357-11.85L46.764 16.7h-31.23C6.954 16.699 0 9.744 0 1.165h58.014c4.414 0 8.357 2.634 10.046 6.712a10.843 10.843 0 0 1-2.356 11.85L22.13 63.302h36.122c8.58 0 15.534 6.955 15.534 15.534Zm278.059-48.544C351.845 13.588 338.256 0 321.553 0c-8.934 0-16.975 3.89-22.524 10.063C293.48 3.89 285.44 0 276.505 0c-16.703 0-30.291 13.588-30.291 30.291v48.544c8.579 0 15.534-6.955 15.534-15.534v-33.01c0-8.137 6.62-14.757 14.757-14.757s14.757 6.62 14.757 14.757v33.01c0 8.58 6.955 15.534 15.534 15.534V30.291c0-8.137 6.62-14.757 14.757-14.757s14.758 6.62 14.758 14.757v33.01c0 8.58 6.954 15.534 15.534 15.534V30.291ZM238.447 40c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.908-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S173.98 26.488 173.98 40s10.953 24.466 24.466 24.466S222.913 53.512 222.913 40Zm-70.68 0c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S87.767 26.488 87.767 40s10.954 24.466 24.466 24.466S136.699 53.512 136.699 40Z" style="fill:#0b5cff"/></svg>')},th=e=>new $1.OAuthService({client:new xe.OAuth.PKCEClient({redirectMethod:xe.OAuth.RedirectMethod.Web,providerName:"Asana",providerIcon:z1.asana,providerId:"asana",description:"Connect your Asana account"}),clientId:e.clientId??Ur.asana,authorizeUrl:e.authorizeUrl??"https://asana.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://asana.oauth.raycast.com/token",refreshTokenUrl:e.refreshTokenUrl??"https://asana.oauth.raycast.com/refresh-token",scope:e.scope,personalAccessToken:e.personalAccessToken,onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});ge.asanaService=th;var rh=e=>new $1.OAuthService({client:new xe.OAuth.PKCEClient({redirectMethod:xe.OAuth.RedirectMethod.Web,providerName:"GitHub",providerIcon:z1.github,providerId:"github",description:"Connect your GitHub account"}),clientId:e.clientId??Ur.github,authorizeUrl:e.authorizeUrl??"https://github.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://github.oauth.raycast.com/token",refreshTokenUrl:e.refreshTokenUrl??"https://github.oauth.raycast.com/refresh-token",scope:e.scope,personalAccessToken:e.personalAccessToken,onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});ge.githubService=rh;var ph=e=>new $1.OAuthService({client:new xe.OAuth.PKCEClient({redirectMethod:xe.OAuth.RedirectMethod.AppURI,providerName:"Google",providerIcon:z1.google,providerId:"google",description:"Connect your Google account"}),clientId:e.clientId,authorizeUrl:e.authorizeUrl??"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:e.tokenUrl??"https://oauth2.googleapis.com/token",refreshTokenUrl:e.tokenUrl,scope:e.scope,personalAccessToken:e.personalAccessToken,bodyEncoding:e.bodyEncoding??"url-encoded",onAuthorize:e.onAuthorize,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});ge.googleService=ph;var ih=e=>new $1.OAuthService({client:new xe.OAuth.PKCEClient({redirectMethod:xe.OAuth.RedirectMethod.Web,providerName:"Jira",providerIcon:z1.jira,providerId:"jira",description:"Connect your Jira account"}),clientId:e.clientId,authorizeUrl:e.authorizeUrl??"https://auth.atlassian.com/authorize",tokenUrl:e.tokenUrl??"https://auth.atlassian.com/oauth/token",refreshTokenUrl:e.refreshTokenUrl,scope:e.scope,personalAccessToken:e.personalAccessToken,onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});ge.jiraService=ih;var dh=e=>new $1.OAuthService({client:new xe.OAuth.PKCEClient({redirectMethod:xe.OAuth.RedirectMethod.Web,providerName:"Linear",providerIcon:z1.linear,providerId:"linear",description:"Connect your Linear account"}),clientId:e.clientId??Ur.linear,authorizeUrl:e.authorizeUrl??"https://linear.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://linear.oauth.raycast.com/token",refreshTokenUrl:e.refreshTokenUrl??"https://linear.oauth.raycast.com/refresh-token",scope:e.scope,extraParameters:{actor:"user"},onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});ge.linearService=dh;var nh=e=>new $1.OAuthService({client:new xe.OAuth.PKCEClient({redirectMethod:xe.OAuth.RedirectMethod.Web,providerName:"Slack",providerIcon:z1.slack,providerId:"slack",description:"Connect your Slack account"}),clientId:e.clientId??Ur.slack,authorizeUrl:e.authorizeUrl??"https://slack.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://slack.oauth.raycast.com/token",refreshTokenUrl:e.tokenUrl??"https://slack.oauth.raycast.com/refresh-token",scope:"",extraParameters:{user_scope:e.scope},personalAccessToken:e.personalAccessToken,bodyEncoding:e.tokenUrl?e.bodyEncoding??"url-encoded":"json",onAuthorize:e.onAuthorize,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser??(a=>({access_token:a.authed_user.access_token,scope:a.authed_user.scope}))});ge.slackService=nh;var sh=e=>new $1.OAuthService({client:new xe.OAuth.PKCEClient({redirectMethod:xe.OAuth.RedirectMethod.Web,providerName:"Zoom",providerIcon:z1.zoom,providerId:"zoom",description:"Connect your Zoom account"}),clientId:e.clientId,authorizeUrl:e.authorizeUrl??"https://zoom.us/oauth/authorize",tokenUrl:e.tokenUrl??"https://zoom.us/oauth/token",refreshTokenUrl:e.refreshTokenUrl,scope:e.scope,personalAccessToken:e.personalAccessToken,bodyEncoding:e.bodyEncoding??"url-encoded",onAuthorize:e.onAuthorize,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});ge.zoomService=sh});var F0=m(xa=>{"use strict";var oh=xa&&xa.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(xa,"__esModule",{value:!0});xa.OAuthService=void 0;var _s=oh(Sr()),H1=ys(),t1=class{constructor(a){this.clientId=a.clientId,this.scope=Array.isArray(a.scope)?a.scope.join(" "):a.scope,this.personalAccessToken=a.personalAccessToken,this.bodyEncoding=a.bodyEncoding,this.client=a.client,this.extraParameters=a.extraParameters,this.authorizeUrl=a.authorizeUrl,this.tokenUrl=a.tokenUrl,this.refreshTokenUrl=a.refreshTokenUrl,this.onAuthorize=a.onAuthorize,this.tokenResponseParser=a.tokenResponseParser??(t=>t),this.tokenRefreshResponseParser=a.tokenRefreshResponseParser??(t=>t),this.authorize=this.authorize.bind(this)}async authorize(){let a=await this.client.getTokens();if(a?.accessToken){if(a.refreshToken&&a.isExpired()){let i=await this.refreshTokens({token:a.refreshToken});if(i)return await this.client.setTokens(i),i.access_token}return a.accessToken}let t=await this.client.authorizationRequest({endpoint:this.authorizeUrl,clientId:this.clientId,scope:this.scope,extraParameters:this.extraParameters}),{authorizationCode:r}=await this.client.authorize(t),p=await this.fetchTokens({authRequest:t,authorizationCode:r});return await this.client.setTokens(p),p.access_token}async fetchTokens({authRequest:a,authorizationCode:t}){let r;if(this.bodyEncoding==="url-encoded"){let d=new URLSearchParams;d.append("client_id",this.clientId),d.append("code",t),d.append("code_verifier",a.codeVerifier),d.append("grant_type","authorization_code"),d.append("redirect_uri",a.redirectURI),r={body:d}}else r={body:JSON.stringify({client_id:this.clientId,code:t,code_verifier:a.codeVerifier,grant_type:"authorization_code",redirect_uri:a.redirectURI}),headers:{"Content-Type":"application/json"}};let p=await(0,_s.default)(this.tokenUrl,{method:"POST",...r});if(!p.ok){let d=await p.text();throw console.error("fetch tokens error:",d),new Error(`Error while fetching tokens: ${p.status} (${p.statusText}) +${d}`)}let i=this.tokenResponseParser(await p.json());return Array.isArray(i.scope)?{...i,scope:i.scope.join(" ")}:i}async refreshTokens({token:a}){let t;if(this.bodyEncoding==="url-encoded"){let p=new URLSearchParams;p.append("client_id",this.clientId),p.append("refresh_token",a),p.append("grant_type","refresh_token"),t={body:p}}else t={body:JSON.stringify({client_id:this.clientId,refresh_token:a,grant_type:"refresh_token"}),headers:{"Content-Type":"application/json"}};let r=await(0,_s.default)(this.refreshTokenUrl??this.tokenUrl,{method:"POST",...t});if(r.ok){let p=this.tokenRefreshResponseParser(await r.json());return p.refresh_token=p.refresh_token??a,p}else{let p=await r.text();console.error("refresh tokens error:",p),this.client.description=`${this.client.providerName} needs you to sign-in again. Press \u23CE or click the button below to continue.`,await this.client.removeTokens(),await this.authorize()}}};xa.OAuthService=t1;t1.asana=H1.asanaService;t1.github=H1.githubService;t1.google=H1.googleService;t1.jira=H1.jiraService;t1.linear=H1.linearService;t1.slack=H1.slackService;t1.zoom=H1.zoomService});var Ss=m(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.getAccessToken=Da.withAccessToken=void 0;var lh=require("react/jsx-runtime"),uh=require("@raycast/api"),D1=null,W1=null,q0=null,B0=null,j0=null;function mh(e){return uh.environment.commandMode==="no-view"?a=>async r=>{if(!D1){D1=e.personalAccessToken??await e.authorize(),W1=e.personalAccessToken?"personal":"oauth";let p=(await e.client?.getTokens())?.idToken;e.onAuthorize&&await Promise.resolve(e.onAuthorize({token:D1,type:W1,idToken:p}))}return a(r)}:a=>{let t=r=>{e.personalAccessToken?(D1=e.personalAccessToken,W1="personal"):(q0||(q0=U0(e.authorize())),D1=q0.read(),W1="oauth");let p;return e.client&&(B0||(B0=U0(e.client.getTokens())),p=B0.read()?.idToken),!j0&&e.onAuthorize&&(j0=U0(Promise.resolve(e.onAuthorize({token:D1,type:W1,idToken:p})))),j0?.read(),(0,lh.jsx)(a,{...r})};return t.displayName=`withAccessToken(${a.displayName||a.name})`,t}}Da.withAccessToken=mh;function ch(){if(!D1||!W1)throw new Error("getAccessToken must be used when authenticated (eg. used inside `withAccessToken`)");return{token:D1,type:W1}}Da.getAccessToken=ch;function U0(e){let a="pending",t,r=e.then(i=>{a="success",t=i},i=>{a="error",t=i});return{read:()=>{switch(a){case"pending":throw r;case"error":throw t;default:return t}}}}});var Cs=m(P1=>{"use strict";var fh=P1&&P1.__createBinding||(Object.create?function(e,a,t,r){r===void 0&&(r=t);var p=Object.getOwnPropertyDescriptor(a,t);(!p||("get"in p?!a.__esModule:p.writable||p.configurable))&&(p={enumerable:!0,get:function(){return a[t]}}),Object.defineProperty(e,r,p)}:function(e,a,t,r){r===void 0&&(r=t),e[r]=a[t]}),Ns=P1&&P1.__exportStar||function(e,a){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(a,t)&&fh(a,e,t)};Object.defineProperty(P1,"__esModule",{value:!0});Ns(F0(),P1);Ns(Ss(),P1)});var xs=m(Pa=>{"use strict";var hh=Pa&&Pa.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Pa,"__esModule",{value:!0});Pa.runAppleScript=void 0;var vh=hh(require("node:child_process")),Nt=Lr();async function gh(e,a,t){let{humanReadableOutput:r,language:p,timeout:i,...d}=Array.isArray(a)?t||{}:a||{},n=r!==!1?[]:["-ss"];p==="JavaScript"&&n.push("-l","JavaScript"),Array.isArray(a)&&n.push("-",...a);let s=vh.default.spawn("osascript",n,{...d,env:{PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"}}),o=(0,Nt.getSpawnedPromise)(s,{timeout:i||1e4});s.stdin.end(e);let[{error:l,exitCode:u,signal:c,timedOut:g},f,h]=await(0,Nt.getSpawnedResult)(s,{encoding:"utf8"},o),v=(0,Nt.handleOutput)({stripFinalNewline:!0},f),w=(0,Nt.handleOutput)({stripFinalNewline:!0},h);return(0,Nt.defaultParsing)({stdout:v,stderr:w,error:l,exitCode:u,signal:c,timedOut:g,command:"osascript",options:t,parentError:new Error})}Pa.runAppleScript=gh});var Ts=m(Be=>{"use strict";var Ds=Be&&Be.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Be,"__esModule",{value:!0});Be.createDeeplink=Be.createExtensionDeeplink=Be.createScriptCommandDeeplink=Be.DeeplinkType=void 0;var $0=require("@raycast/api"),wh=Ds(require("node:fs")),bh=Ds(require("node:path")),G0;(function(e){e.ScriptCommand="script-command",e.Extension="extension"})(G0||(Be.DeeplinkType=G0={}));function Ps(){return $0.environment.raycastVersion.includes("alpha")?"raycastinternal://":"raycast://"}function yh(){let e=JSON.parse(wh.default.readFileSync(bh.default.join($0.environment.assetsPath,"..","package.json"),"utf8"));return e.owner||e.author}function Es(e){let a=`${Ps()}script-commands/${e.command}`;if(e.arguments){let t="";for(let r of e.arguments)t+="&arguments="+encodeURIComponent(r);a+="?"+t.substring(1)}return a}Be.createScriptCommandDeeplink=Es;function Ls(e){let a=yh(),t=$0.environment.extensionName;"ownerOrAuthorName"in e&&"extensionName"in e&&(a=e.ownerOrAuthorName,t=e.extensionName);let r=`${Ps()}extensions/${a}/${t}/${e.command}`,p="";return e.launchType&&(p+="&launchType="+encodeURIComponent(e.launchType)),e.arguments&&(p+="&arguments="+encodeURIComponent(JSON.stringify(e.arguments))),e.context&&(p+="&context="+encodeURIComponent(JSON.stringify(e.context))),e.fallbackText&&(p+="&fallbackText="+encodeURIComponent(e.fallbackText)),p&&(r+="?"+p.substring(1)),r}Be.createExtensionDeeplink=Ls;function _h(e){return e.type===G0.ScriptCommand?Es(e):Ls(e)}Be.createDeeplink=_h});var z0=m(ae=>{"use strict";var Sh=ae&&ae.__createBinding||(Object.create?function(e,a,t,r){r===void 0&&(r=t);var p=Object.getOwnPropertyDescriptor(a,t);(!p||("get"in p?!a.__esModule:p.writable||p.configurable))&&(p={enumerable:!0,get:function(){return a[t]}}),Object.defineProperty(e,r,p)}:function(e,a,t,r){r===void 0&&(r=t),e[r]=a[t]}),we=ae&&ae.__exportStar||function(e,a){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(a,t)&&Sh(a,e,t)};Object.defineProperty(ae,"__esModule",{value:!0});we(oa(),ae);we(fr(),ae);we(lt(),ae);we(ln(),ae);we(gn(),ae);we($n(),ae);we(Kn(),ae);we(Xn(),ae);we(Qn(),ae);we(ts(),ae);we(is(),ae);we(bs(),ae);we(Cs(),ae);we(xs(),ae);we(dt(),ae);we(Ts(),ae)});var Os=m((BL,H0)=>{"use strict";var As=(e,...a)=>new Promise(t=>{t(e(...a))});H0.exports=As;H0.exports.default=As});var Rs=m((jL,W0)=>{"use strict";var Nh=Os(),ks=e=>{if(!((Number.isInteger(e)||e===1/0)&&e>0))return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up"));let a=[],t=0,r=()=>{t--,a.length>0&&a.shift()()},p=(n,s,...o)=>{t++;let l=Nh(n,...o);s(l),l.then(r,r)},i=(n,s,...o)=>{t<e?p(n,s,...o):a.push(p.bind(null,n,s,...o))},d=(n,...s)=>new Promise(o=>i(n,o,...s));return Object.defineProperties(d,{activeCount:{get:()=>t},pendingCount:{get:()=>a.length},clearQueue:{value:()=>{a.length=0}}}),d};W0.exports=ks;W0.exports.default=ks});var Vs=m((UL,Y0)=>{"use strict";var Ms=Rs(),Gr=class extends Error{constructor(a){super(),this.value=a}},Ch=async(e,a)=>a(await e),xh=async e=>{let a=await Promise.all(e);if(a[1]===!0)throw new Gr(a[0]);return!1},Is=async(e,a,t)=>{t={concurrency:1/0,preserveOrder:!0,...t};let r=Ms(t.concurrency),p=[...e].map(d=>[d,r(Ch,d,a)]),i=Ms(t.preserveOrder?1:1/0);try{await Promise.all(p.map(d=>i(xh,d)))}catch(d){if(d instanceof Gr)return d.value;throw d}};Y0.exports=Is;Y0.exports.default=Is});var Gs=m((GL,K0)=>{"use strict";var Fs=require("path"),$r=require("fs"),{promisify:qs}=require("util"),Dh=Vs(),Ph=qs($r.stat),Eh=qs($r.lstat),Bs={directory:"isDirectory",file:"isFile"};function js({type:e}){if(!(e in Bs))throw new Error(`Invalid type specified: ${e}`)}var Us=(e,a)=>e===void 0||a[Bs[e]]();K0.exports=async(e,a)=>{a={cwd:process.cwd(),type:"file",allowSymlinks:!0,...a},js(a);let t=a.allowSymlinks?Ph:Eh;return Dh(e,async r=>{try{let p=await t(Fs.resolve(a.cwd,r));return Us(a.type,p)}catch{return!1}},a)};K0.exports.sync=(e,a)=>{a={cwd:process.cwd(),allowSymlinks:!0,type:"file",...a},js(a);let t=a.allowSymlinks?$r.statSync:$r.lstatSync;for(let r of e)try{let p=t(Fs.resolve(a.cwd,r));if(Us(a.type,p))return r}catch{}}});var zs=m(($L,J0)=>{"use strict";var $s=require("fs"),{promisify:Lh}=require("util"),Th=Lh($s.access);J0.exports=async e=>{try{return await Th(e),!0}catch{return!1}};J0.exports.sync=e=>{try{return $s.accessSync(e),!0}catch{return!1}}});var Ws=m((zL,Ea)=>{"use strict";var E1=require("path"),zr=Gs(),Hs=zs(),X0=Symbol("findUp.stop");Ea.exports=async(e,a={})=>{let t=E1.resolve(a.cwd||""),{root:r}=E1.parse(t),p=[].concat(e),i=async d=>{if(typeof e!="function")return zr(p,d);let n=await e(d.cwd);return typeof n=="string"?zr([n],d):n};for(;;){let d=await i({...a,cwd:t});if(d===X0)return;if(d)return E1.resolve(t,d);if(t===r)return;t=E1.dirname(t)}};Ea.exports.sync=(e,a={})=>{let t=E1.resolve(a.cwd||""),{root:r}=E1.parse(t),p=[].concat(e),i=d=>{if(typeof e!="function")return zr.sync(p,d);let n=e(d.cwd);return typeof n=="string"?zr.sync([n],d):n};for(;;){let d=i({...a,cwd:t});if(d===X0)return;if(d)return E1.resolve(t,d);if(t===r)return;t=E1.dirname(t)}};Ea.exports.exists=Hs;Ea.exports.sync.exists=Hs.sync;Ea.exports.stop=X0});var Ks=m((HL,Ys)=>{"use strict";Ys.exports=function(a){return a?a instanceof Array||Array.isArray(a)||a.length>=0&&a.splice instanceof Function:!1}});var Xs=m((WL,Js)=>{"use strict";var Ah=require("util"),Oh=Ks(),Z0=function(a,t){(!a||a.constructor!==String)&&(t=a||{},a=Error.name);var r=function p(i){if(!this)return new p(i);i=i instanceof Error?i.message:i||this.message,Error.call(this,i),Error.captureStackTrace(this,r),this.name=a,Object.defineProperty(this,"message",{configurable:!0,enumerable:!1,get:function(){var l=i.split(/\r?\n/g);for(var u in t)if(t.hasOwnProperty(u)){var c=t[u];"message"in c&&(l=c.message(this[u],l)||l,Oh(l)||(l=[l]))}return l.join(` +`)},set:function(l){i=l}});var d=null,n=Object.getOwnPropertyDescriptor(this,"stack"),s=n.get,o=n.value;delete n.value,delete n.writable,n.set=function(l){d=l},n.get=function(){var l=(d||(s?s.call(this):o)).split(/\r?\n+/g);d||(l[0]=this.name+": "+this.message);var u=1;for(var c in t)if(t.hasOwnProperty(c)){var g=t[c];if("line"in g){var f=g.line(this[c]);f&&l.splice(u++,0," "+f)}"stack"in g&&g.stack(this[c],l)}return l.join(` +`)},Object.defineProperty(this,"stack",n)};return Object.setPrototypeOf?(Object.setPrototypeOf(r.prototype,Error.prototype),Object.setPrototypeOf(r,Error)):Ah.inherits(r,Error),r};Z0.append=function(e,a){return{message:function(t,r){return t=t||a,t&&(r[0]+=" "+e.replace("%s",t.toString())),r}}};Z0.line=function(e,a){return{line:function(t){return t=t||a,t?e.replace("%s",t.toString()):null}}};Js.exports=Z0});var e6=m((YL,Qs)=>{"use strict";var kh=e=>{let a=e.charCodeAt(0).toString(16).toUpperCase();return"0x"+(a.length%2?"0":"")+a},Rh=(e,a,t)=>{if(!a)return{message:e.message+" while parsing empty string",position:0};let r=e.message.match(/^Unexpected token (.) .*position\s+(\d+)/i),p=r?+r[2]:e.message.match(/^Unexpected end of JSON.*/i)?a.length-1:null,i=r?e.message.replace(/^Unexpected token ./,`Unexpected token ${JSON.stringify(r[1])} (${kh(r[1])})`):e.message;if(p!=null){let d=p<=t?0:p-t,n=p+t>=a.length?a.length:p+t,s=(d===0?"":"...")+a.slice(d,n)+(n===a.length?"":"...");return{message:i+` while parsing ${a===s?"":"near "}${JSON.stringify(s)}`,position:p}}else return{message:i+` while parsing '${a.slice(0,t*2)}'`,position:0}},Hr=class extends SyntaxError{constructor(a,t,r,p){r=r||20;let i=Rh(a,t,r);super(i.message),Object.assign(this,i),this.code="EJSONPARSE",this.systemError=a,Error.captureStackTrace(this,p||this.constructor)}get name(){return this.constructor.name}set name(a){}get[Symbol.toStringTag](){return this.constructor.name}},Mh=Symbol.for("indent"),Ih=Symbol.for("newline"),Vh=/^\s*[{\[]((?:\r?\n)+)([\s\t]*)/,Fh=/^(?:\{\}|\[\])((?:\r?\n)+)?$/,Wr=(e,a,t)=>{let r=Zs(e);t=t||20;try{let[,p=` +`,i=" "]=r.match(Fh)||r.match(Vh)||[,"",""],d=JSON.parse(r,a);return d&&typeof d=="object"&&(d[Ih]=p,d[Mh]=i),d}catch(p){if(typeof e!="string"&&!Buffer.isBuffer(e)){let i=Array.isArray(e)&&e.length===0;throw Object.assign(new TypeError(`Cannot parse ${i?"an empty array":String(e)}`),{code:"EJSONPARSE",systemError:p})}throw new Hr(p,r,t,Wr)}},Zs=e=>String(e).replace(/^\uFEFF/,"");Qs.exports=Wr;Wr.JSONParseError=Hr;Wr.noExceptions=(e,a)=>{try{return JSON.parse(Zs(e),a)}catch{}}});var r6=m(Ct=>{"use strict";Ct.__esModule=!0;Ct.LinesAndColumns=void 0;var Yr=` +`,a6="\r",t6=function(){function e(a){this.string=a;for(var t=[0],r=0;r<a.length;)switch(a[r]){case Yr:r+=Yr.length,t.push(r);break;case a6:r+=a6.length,a[r]===Yr&&(r+=Yr.length),t.push(r);break;default:r++;break}this.offsets=t}return e.prototype.locationForIndex=function(a){if(a<0||a>this.string.length)return null;for(var t=0,r=this.offsets;r[t+1]<=a;)t++;var p=a-r[t];return{line:t,column:p}},e.prototype.indexForLocation=function(a){var t=a.line,r=a.column;return t<0||t>=this.offsets.length||r<0||r>this.lengthOfLine(t)?null:this.offsets[t]+r},e.prototype.lengthOfLine=function(a){var t=this.offsets[a],r=a===this.offsets.length-1?this.string.length:this.offsets[a+1];return r-t},e}();Ct.LinesAndColumns=t6;Ct.default=t6});var p6=m(Kr=>{Object.defineProperty(Kr,"__esModule",{value:!0});Kr.default=/((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;Kr.matchToToken=function(e){var a={type:"invalid",value:e[0],closed:void 0};return e[1]?(a.type="string",a.closed=!!(e[3]||e[4])):e[5]?a.type="comment":e[6]?(a.type="comment",a.closed=!!e[7]):e[8]?a.type="regex":e[9]?a.type="number":e[10]?a.type="name":e[11]?a.type="punctuator":e[12]&&(a.type="whitespace"),a}});var o6=m(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.isIdentifierChar=s6;xt.isIdentifierName=Uh;xt.isIdentifierStart=n6;var ep="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",i6="\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65",qh=new RegExp("["+ep+"]"),Bh=new RegExp("["+ep+i6+"]");ep=i6=null;var d6=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],jh=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239];function Q0(e,a){let t=65536;for(let r=0,p=a.length;r<p;r+=2){if(t+=a[r],t>e)return!1;if(t+=a[r+1],t>=e)return!0}return!1}function n6(e){return e<65?e===36:e<=90?!0:e<97?e===95:e<=122?!0:e<=65535?e>=170&&qh.test(String.fromCharCode(e)):Q0(e,d6)}function s6(e){return e<48?e===36:e<58?!0:e<65?!1:e<=90?!0:e<97?e===95:e<=122?!0:e<=65535?e>=170&&Bh.test(String.fromCharCode(e)):Q0(e,d6)||Q0(e,jh)}function Uh(e){let a=!0;for(let t=0;t<e.length;t++){let r=e.charCodeAt(t);if((r&64512)===55296&&t+1<e.length){let p=e.charCodeAt(++t);(p&64512)===56320&&(r=65536+((r&1023)<<10)+(p&1023))}if(a){if(a=!1,!n6(r))return!1}else if(!s6(r))return!1}return!a}});var c6=m(Y1=>{"use strict";Object.defineProperty(Y1,"__esModule",{value:!0});Y1.isKeyword=Wh;Y1.isReservedWord=l6;Y1.isStrictBindOnlyReservedWord=m6;Y1.isStrictBindReservedWord=Hh;Y1.isStrictReservedWord=u6;var ap={keyword:["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"],strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]},Gh=new Set(ap.keyword),$h=new Set(ap.strict),zh=new Set(ap.strictBind);function l6(e,a){return a&&e==="await"||e==="enum"}function u6(e,a){return l6(e,a)||$h.has(e)}function m6(e){return zh.has(e)}function Hh(e,a){return u6(e,a)||m6(e)}function Wh(e){return Gh.has(e)}});var f6=m(r1=>{"use strict";Object.defineProperty(r1,"__esModule",{value:!0});Object.defineProperty(r1,"isIdentifierChar",{enumerable:!0,get:function(){return tp.isIdentifierChar}});Object.defineProperty(r1,"isIdentifierName",{enumerable:!0,get:function(){return tp.isIdentifierName}});Object.defineProperty(r1,"isIdentifierStart",{enumerable:!0,get:function(){return tp.isIdentifierStart}});Object.defineProperty(r1,"isKeyword",{enumerable:!0,get:function(){return Dt.isKeyword}});Object.defineProperty(r1,"isReservedWord",{enumerable:!0,get:function(){return Dt.isReservedWord}});Object.defineProperty(r1,"isStrictBindOnlyReservedWord",{enumerable:!0,get:function(){return Dt.isStrictBindOnlyReservedWord}});Object.defineProperty(r1,"isStrictBindReservedWord",{enumerable:!0,get:function(){return Dt.isStrictBindReservedWord}});Object.defineProperty(r1,"isStrictReservedWord",{enumerable:!0,get:function(){return Dt.isStrictReservedWord}});var tp=o6(),Dt=c6()});var pp=m((eT,rp)=>{var h6=process.argv||[],Jr=process.env,Yh=!("NO_COLOR"in Jr||h6.includes("--no-color"))&&("FORCE_COLOR"in Jr||h6.includes("--color")||process.platform==="win32"||require!=null&&require("tty").isatty(1)&&Jr.TERM!=="dumb"||"CI"in Jr),Kh=(e,a,t=e)=>r=>{let p=""+r,i=p.indexOf(a,e.length);return~i?e+Jh(p,a,t,i)+a:e+p+a},Jh=(e,a,t,r)=>{let p="",i=0;do p+=e.substring(i,r)+t,i=r+a.length,r=e.indexOf(a,i);while(~r);return p+e.substring(i)},v6=(e=Yh)=>{let a=e?Kh:()=>String;return{isColorSupported:e,reset:a("\x1B[0m","\x1B[0m"),bold:a("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:a("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:a("\x1B[3m","\x1B[23m"),underline:a("\x1B[4m","\x1B[24m"),inverse:a("\x1B[7m","\x1B[27m"),hidden:a("\x1B[8m","\x1B[28m"),strikethrough:a("\x1B[9m","\x1B[29m"),black:a("\x1B[30m","\x1B[39m"),red:a("\x1B[31m","\x1B[39m"),green:a("\x1B[32m","\x1B[39m"),yellow:a("\x1B[33m","\x1B[39m"),blue:a("\x1B[34m","\x1B[39m"),magenta:a("\x1B[35m","\x1B[39m"),cyan:a("\x1B[36m","\x1B[39m"),white:a("\x1B[37m","\x1B[39m"),gray:a("\x1B[90m","\x1B[39m"),bgBlack:a("\x1B[40m","\x1B[49m"),bgRed:a("\x1B[41m","\x1B[49m"),bgGreen:a("\x1B[42m","\x1B[49m"),bgYellow:a("\x1B[43m","\x1B[49m"),bgBlue:a("\x1B[44m","\x1B[49m"),bgMagenta:a("\x1B[45m","\x1B[49m"),bgCyan:a("\x1B[46m","\x1B[49m"),bgWhite:a("\x1B[47m","\x1B[49m")}};rp.exports=v6();rp.exports.createColors=v6});var w6=m((aT,g6)=>{"use strict";var Xh=/[|\\{}()[\]^$+*?.]/g;g6.exports=function(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(Xh,"\\$&")}});var y6=m((tT,b6)=>{"use strict";b6.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]}});var ip=m((rT,C6)=>{var K1=y6(),N6={};for(Xr in K1)K1.hasOwnProperty(Xr)&&(N6[K1[Xr]]=Xr);var Xr,x=C6.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(De in x)if(x.hasOwnProperty(De)){if(!("channels"in x[De]))throw new Error("missing channels property: "+De);if(!("labels"in x[De]))throw new Error("missing channel labels property: "+De);if(x[De].labels.length!==x[De].channels)throw new Error("channel and label counts mismatch: "+De);_6=x[De].channels,S6=x[De].labels,delete x[De].channels,delete x[De].labels,Object.defineProperty(x[De],"channels",{value:_6}),Object.defineProperty(x[De],"labels",{value:S6})}var _6,S6,De;x.rgb.hsl=function(e){var a=e[0]/255,t=e[1]/255,r=e[2]/255,p=Math.min(a,t,r),i=Math.max(a,t,r),d=i-p,n,s,o;return i===p?n=0:a===i?n=(t-r)/d:t===i?n=2+(r-a)/d:r===i&&(n=4+(a-t)/d),n=Math.min(n*60,360),n<0&&(n+=360),o=(p+i)/2,i===p?s=0:o<=.5?s=d/(i+p):s=d/(2-i-p),[n,s*100,o*100]};x.rgb.hsv=function(e){var a,t,r,p,i,d=e[0]/255,n=e[1]/255,s=e[2]/255,o=Math.max(d,n,s),l=o-Math.min(d,n,s),u=function(c){return(o-c)/6/l+1/2};return l===0?p=i=0:(i=l/o,a=u(d),t=u(n),r=u(s),d===o?p=r-t:n===o?p=1/3+a-r:s===o&&(p=2/3+t-a),p<0?p+=1:p>1&&(p-=1)),[p*360,i*100,o*100]};x.rgb.hwb=function(e){var a=e[0],t=e[1],r=e[2],p=x.rgb.hsl(e)[0],i=1/255*Math.min(a,Math.min(t,r));return r=1-1/255*Math.max(a,Math.max(t,r)),[p,i*100,r*100]};x.rgb.cmyk=function(e){var a=e[0]/255,t=e[1]/255,r=e[2]/255,p,i,d,n;return n=Math.min(1-a,1-t,1-r),p=(1-a-n)/(1-n)||0,i=(1-t-n)/(1-n)||0,d=(1-r-n)/(1-n)||0,[p*100,i*100,d*100,n*100]};function Zh(e,a){return Math.pow(e[0]-a[0],2)+Math.pow(e[1]-a[1],2)+Math.pow(e[2]-a[2],2)}x.rgb.keyword=function(e){var a=N6[e];if(a)return a;var t=1/0,r;for(var p in K1)if(K1.hasOwnProperty(p)){var i=K1[p],d=Zh(e,i);d<t&&(t=d,r=p)}return r};x.keyword.rgb=function(e){return K1[e]};x.rgb.xyz=function(e){var a=e[0]/255,t=e[1]/255,r=e[2]/255;a=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92,t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92;var p=a*.4124+t*.3576+r*.1805,i=a*.2126+t*.7152+r*.0722,d=a*.0193+t*.1192+r*.9505;return[p*100,i*100,d*100]};x.rgb.lab=function(e){var a=x.rgb.xyz(e),t=a[0],r=a[1],p=a[2],i,d,n;return t/=95.047,r/=100,p/=108.883,t=t>.008856?Math.pow(t,1/3):7.787*t+16/116,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,p=p>.008856?Math.pow(p,1/3):7.787*p+16/116,i=116*r-16,d=500*(t-r),n=200*(r-p),[i,d,n]};x.hsl.rgb=function(e){var a=e[0]/360,t=e[1]/100,r=e[2]/100,p,i,d,n,s;if(t===0)return s=r*255,[s,s,s];r<.5?i=r*(1+t):i=r+t-r*t,p=2*r-i,n=[0,0,0];for(var o=0;o<3;o++)d=a+1/3*-(o-1),d<0&&d++,d>1&&d--,6*d<1?s=p+(i-p)*6*d:2*d<1?s=i:3*d<2?s=p+(i-p)*(2/3-d)*6:s=p,n[o]=s*255;return n};x.hsl.hsv=function(e){var a=e[0],t=e[1]/100,r=e[2]/100,p=t,i=Math.max(r,.01),d,n;return r*=2,t*=r<=1?r:2-r,p*=i<=1?i:2-i,n=(r+t)/2,d=r===0?2*p/(i+p):2*t/(r+t),[a,d*100,n*100]};x.hsv.rgb=function(e){var a=e[0]/60,t=e[1]/100,r=e[2]/100,p=Math.floor(a)%6,i=a-Math.floor(a),d=255*r*(1-t),n=255*r*(1-t*i),s=255*r*(1-t*(1-i));switch(r*=255,p){case 0:return[r,s,d];case 1:return[n,r,d];case 2:return[d,r,s];case 3:return[d,n,r];case 4:return[s,d,r];case 5:return[r,d,n]}};x.hsv.hsl=function(e){var a=e[0],t=e[1]/100,r=e[2]/100,p=Math.max(r,.01),i,d,n;return n=(2-t)*r,i=(2-t)*p,d=t*p,d/=i<=1?i:2-i,d=d||0,n/=2,[a,d*100,n*100]};x.hwb.rgb=function(e){var a=e[0]/360,t=e[1]/100,r=e[2]/100,p=t+r,i,d,n,s;p>1&&(t/=p,r/=p),i=Math.floor(6*a),d=1-r,n=6*a-i,(i&1)!==0&&(n=1-n),s=t+n*(d-t);var o,l,u;switch(i){default:case 6:case 0:o=d,l=s,u=t;break;case 1:o=s,l=d,u=t;break;case 2:o=t,l=d,u=s;break;case 3:o=t,l=s,u=d;break;case 4:o=s,l=t,u=d;break;case 5:o=d,l=t,u=s;break}return[o*255,l*255,u*255]};x.cmyk.rgb=function(e){var a=e[0]/100,t=e[1]/100,r=e[2]/100,p=e[3]/100,i,d,n;return i=1-Math.min(1,a*(1-p)+p),d=1-Math.min(1,t*(1-p)+p),n=1-Math.min(1,r*(1-p)+p),[i*255,d*255,n*255]};x.xyz.rgb=function(e){var a=e[0]/100,t=e[1]/100,r=e[2]/100,p,i,d;return p=a*3.2406+t*-1.5372+r*-.4986,i=a*-.9689+t*1.8758+r*.0415,d=a*.0557+t*-.204+r*1.057,p=p>.0031308?1.055*Math.pow(p,1/2.4)-.055:p*12.92,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*12.92,d=d>.0031308?1.055*Math.pow(d,1/2.4)-.055:d*12.92,p=Math.min(Math.max(0,p),1),i=Math.min(Math.max(0,i),1),d=Math.min(Math.max(0,d),1),[p*255,i*255,d*255]};x.xyz.lab=function(e){var a=e[0],t=e[1],r=e[2],p,i,d;return a/=95.047,t/=100,r/=108.883,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,t=t>.008856?Math.pow(t,1/3):7.787*t+16/116,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,p=116*t-16,i=500*(a-t),d=200*(t-r),[p,i,d]};x.lab.xyz=function(e){var a=e[0],t=e[1],r=e[2],p,i,d;i=(a+16)/116,p=t/500+i,d=i-r/200;var n=Math.pow(i,3),s=Math.pow(p,3),o=Math.pow(d,3);return i=n>.008856?n:(i-16/116)/7.787,p=s>.008856?s:(p-16/116)/7.787,d=o>.008856?o:(d-16/116)/7.787,p*=95.047,i*=100,d*=108.883,[p,i,d]};x.lab.lch=function(e){var a=e[0],t=e[1],r=e[2],p,i,d;return p=Math.atan2(r,t),i=p*360/2/Math.PI,i<0&&(i+=360),d=Math.sqrt(t*t+r*r),[a,d,i]};x.lch.lab=function(e){var a=e[0],t=e[1],r=e[2],p,i,d;return d=r/360*2*Math.PI,p=t*Math.cos(d),i=t*Math.sin(d),[a,p,i]};x.rgb.ansi16=function(e){var a=e[0],t=e[1],r=e[2],p=1 in arguments?arguments[1]:x.rgb.hsv(e)[2];if(p=Math.round(p/50),p===0)return 30;var i=30+(Math.round(r/255)<<2|Math.round(t/255)<<1|Math.round(a/255));return p===2&&(i+=60),i};x.hsv.ansi16=function(e){return x.rgb.ansi16(x.hsv.rgb(e),e[2])};x.rgb.ansi256=function(e){var a=e[0],t=e[1],r=e[2];if(a===t&&t===r)return a<8?16:a>248?231:Math.round((a-8)/247*24)+232;var p=16+36*Math.round(a/255*5)+6*Math.round(t/255*5)+Math.round(r/255*5);return p};x.ansi16.rgb=function(e){var a=e%10;if(a===0||a===7)return e>50&&(a+=3.5),a=a/10.5*255,[a,a,a];var t=(~~(e>50)+1)*.5,r=(a&1)*t*255,p=(a>>1&1)*t*255,i=(a>>2&1)*t*255;return[r,p,i]};x.ansi256.rgb=function(e){if(e>=232){var a=(e-232)*10+8;return[a,a,a]}e-=16;var t,r=Math.floor(e/36)/5*255,p=Math.floor((t=e%36)/6)/5*255,i=t%6/5*255;return[r,p,i]};x.rgb.hex=function(e){var a=((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255),t=a.toString(16).toUpperCase();return"000000".substring(t.length)+t};x.hex.rgb=function(e){var a=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!a)return[0,0,0];var t=a[0];a[0].length===3&&(t=t.split("").map(function(n){return n+n}).join(""));var r=parseInt(t,16),p=r>>16&255,i=r>>8&255,d=r&255;return[p,i,d]};x.rgb.hcg=function(e){var a=e[0]/255,t=e[1]/255,r=e[2]/255,p=Math.max(Math.max(a,t),r),i=Math.min(Math.min(a,t),r),d=p-i,n,s;return d<1?n=i/(1-d):n=0,d<=0?s=0:p===a?s=(t-r)/d%6:p===t?s=2+(r-a)/d:s=4+(a-t)/d+4,s/=6,s%=1,[s*360,d*100,n*100]};x.hsl.hcg=function(e){var a=e[1]/100,t=e[2]/100,r=1,p=0;return t<.5?r=2*a*t:r=2*a*(1-t),r<1&&(p=(t-.5*r)/(1-r)),[e[0],r*100,p*100]};x.hsv.hcg=function(e){var a=e[1]/100,t=e[2]/100,r=a*t,p=0;return r<1&&(p=(t-r)/(1-r)),[e[0],r*100,p*100]};x.hcg.rgb=function(e){var a=e[0]/360,t=e[1]/100,r=e[2]/100;if(t===0)return[r*255,r*255,r*255];var p=[0,0,0],i=a%1*6,d=i%1,n=1-d,s=0;switch(Math.floor(i)){case 0:p[0]=1,p[1]=d,p[2]=0;break;case 1:p[0]=n,p[1]=1,p[2]=0;break;case 2:p[0]=0,p[1]=1,p[2]=d;break;case 3:p[0]=0,p[1]=n,p[2]=1;break;case 4:p[0]=d,p[1]=0,p[2]=1;break;default:p[0]=1,p[1]=0,p[2]=n}return s=(1-t)*r,[(t*p[0]+s)*255,(t*p[1]+s)*255,(t*p[2]+s)*255]};x.hcg.hsv=function(e){var a=e[1]/100,t=e[2]/100,r=a+t*(1-a),p=0;return r>0&&(p=a/r),[e[0],p*100,r*100]};x.hcg.hsl=function(e){var a=e[1]/100,t=e[2]/100,r=t*(1-a)+.5*a,p=0;return r>0&&r<.5?p=a/(2*r):r>=.5&&r<1&&(p=a/(2*(1-r))),[e[0],p*100,r*100]};x.hcg.hwb=function(e){var a=e[1]/100,t=e[2]/100,r=a+t*(1-a);return[e[0],(r-a)*100,(1-r)*100]};x.hwb.hcg=function(e){var a=e[1]/100,t=e[2]/100,r=1-t,p=r-a,i=0;return p<1&&(i=(r-p)/(1-p)),[e[0],p*100,i*100]};x.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};x.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};x.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};x.gray.hsl=x.gray.hsv=function(e){return[0,0,e[0]]};x.gray.hwb=function(e){return[0,100,e[0]]};x.gray.cmyk=function(e){return[0,0,0,e[0]]};x.gray.lab=function(e){return[e[0],0,0]};x.gray.hex=function(e){var a=Math.round(e[0]/100*255)&255,t=(a<<16)+(a<<8)+a,r=t.toString(16).toUpperCase();return"000000".substring(r.length)+r};x.rgb.gray=function(e){var a=(e[0]+e[1]+e[2])/3;return[a/255*100]}});var D6=m((pT,x6)=>{var Zr=ip();function Qh(){for(var e={},a=Object.keys(Zr),t=a.length,r=0;r<t;r++)e[a[r]]={distance:-1,parent:null};return e}function ev(e){var a=Qh(),t=[e];for(a[e].distance=0;t.length;)for(var r=t.pop(),p=Object.keys(Zr[r]),i=p.length,d=0;d<i;d++){var n=p[d],s=a[n];s.distance===-1&&(s.distance=a[r].distance+1,s.parent=r,t.unshift(n))}return a}function av(e,a){return function(t){return a(e(t))}}function tv(e,a){for(var t=[a[e].parent,e],r=Zr[a[e].parent][e],p=a[e].parent;a[p].parent;)t.unshift(a[p].parent),r=av(Zr[a[p].parent][p],r),p=a[p].parent;return r.conversion=t,r}x6.exports=function(e){for(var a=ev(e),t={},r=Object.keys(a),p=r.length,i=0;i<p;i++){var d=r[i],n=a[d];n.parent!==null&&(t[d]=tv(d,a))}return t}});var E6=m((iT,P6)=>{var dp=ip(),rv=D6(),La={},pv=Object.keys(dp);function iv(e){var a=function(t){return t==null?t:(arguments.length>1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(a.conversion=e.conversion),a}function dv(e){var a=function(t){if(t==null)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var r=e(t);if(typeof r=="object")for(var p=r.length,i=0;i<p;i++)r[i]=Math.round(r[i]);return r};return"conversion"in e&&(a.conversion=e.conversion),a}pv.forEach(function(e){La[e]={},Object.defineProperty(La[e],"channels",{value:dp[e].channels}),Object.defineProperty(La[e],"labels",{value:dp[e].labels});var a=rv(e),t=Object.keys(a);t.forEach(function(r){var p=a[r];La[e][r]=dv(p),La[e][r].raw=iv(p)})});P6.exports=La});var T6=m((dT,L6)=>{"use strict";var Ta=E6(),Qr=(e,a)=>function(){return`\x1B[${e.apply(Ta,arguments)+a}m`},e2=(e,a)=>function(){let t=e.apply(Ta,arguments);return`\x1B[${38+a};5;${t}m`},a2=(e,a)=>function(){let t=e.apply(Ta,arguments);return`\x1B[${38+a};2;${t[0]};${t[1]};${t[2]}m`};function nv(){let e=new Map,a={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{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],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};a.color.grey=a.color.gray;for(let p of Object.keys(a)){let i=a[p];for(let d of Object.keys(i)){let n=i[d];a[d]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},i[d]=a[d],e.set(n[0],n[1])}Object.defineProperty(a,p,{value:i,enumerable:!1}),Object.defineProperty(a,"codes",{value:e,enumerable:!1})}let t=p=>p,r=(p,i,d)=>[p,i,d];a.color.close="\x1B[39m",a.bgColor.close="\x1B[49m",a.color.ansi={ansi:Qr(t,0)},a.color.ansi256={ansi256:e2(t,0)},a.color.ansi16m={rgb:a2(r,0)},a.bgColor.ansi={ansi:Qr(t,10)},a.bgColor.ansi256={ansi256:e2(t,10)},a.bgColor.ansi16m={rgb:a2(r,10)};for(let p of Object.keys(Ta)){if(typeof Ta[p]!="object")continue;let i=Ta[p];p==="ansi16"&&(p="ansi"),"ansi16"in i&&(a.color.ansi[p]=Qr(i.ansi16,0),a.bgColor.ansi[p]=Qr(i.ansi16,10)),"ansi256"in i&&(a.color.ansi256[p]=e2(i.ansi256,0),a.bgColor.ansi256[p]=e2(i.ansi256,10)),"rgb"in i&&(a.color.ansi16m[p]=a2(i.rgb,0),a.bgColor.ansi16m[p]=a2(i.rgb,10))}return a}Object.defineProperty(L6,"exports",{enumerable:!0,get:nv})});var O6=m((nT,A6)=>{"use strict";A6.exports=(e,a)=>{a=a||process.argv;let t=e.startsWith("-")?"":e.length===1?"-":"--",r=a.indexOf(t+e),p=a.indexOf("--");return r!==-1&&(p===-1?!0:r<p)}});var R6=m((sT,k6)=>{"use strict";var sv=require("os"),He=O6(),be=process.env,Aa;He("no-color")||He("no-colors")||He("color=false")?Aa=!1:(He("color")||He("colors")||He("color=true")||He("color=always"))&&(Aa=!0);"FORCE_COLOR"in be&&(Aa=be.FORCE_COLOR.length===0||parseInt(be.FORCE_COLOR,10)!==0);function ov(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function lv(e){if(Aa===!1)return 0;if(He("color=16m")||He("color=full")||He("color=truecolor"))return 3;if(He("color=256"))return 2;if(e&&!e.isTTY&&Aa!==!0)return 0;let a=Aa?1:0;if(process.platform==="win32"){let t=sv.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(t[0])>=10&&Number(t[2])>=10586?Number(t[2])>=14931?3:2:1}if("CI"in be)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(t=>t in be)||be.CI_NAME==="codeship"?1:a;if("TEAMCITY_VERSION"in be)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(be.TEAMCITY_VERSION)?1:0;if(be.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in be){let t=parseInt((be.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(be.TERM_PROGRAM){case"iTerm.app":return t>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(be.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(be.TERM)||"COLORTERM"in be?1:(be.TERM==="dumb",a)}function np(e){let a=lv(e);return ov(a)}k6.exports={supportsColor:np,stdout:np(process.stdout),stderr:np(process.stderr)}});var q6=m((oT,F6)=>{"use strict";var uv=/(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,M6=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,mv=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,cv=/\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi,fv=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function V6(e){return e[0]==="u"&&e.length===5||e[0]==="x"&&e.length===3?String.fromCharCode(parseInt(e.slice(1),16)):fv.get(e)||e}function hv(e,a){let t=[],r=a.trim().split(/\s*,\s*/g),p;for(let i of r)if(!isNaN(i))t.push(Number(i));else if(p=i.match(mv))t.push(p[2].replace(cv,(d,n,s)=>n?V6(n):s));else throw new Error(`Invalid Chalk template style argument: ${i} (in style '${e}')`);return t}function vv(e){M6.lastIndex=0;let a=[],t;for(;(t=M6.exec(e))!==null;){let r=t[1];if(t[2]){let p=hv(r,t[2]);a.push([r].concat(p))}else a.push([r])}return a}function I6(e,a){let t={};for(let p of a)for(let i of p.styles)t[i[0]]=p.inverse?null:i.slice(1);let r=e;for(let p of Object.keys(t))if(Array.isArray(t[p])){if(!(p in r))throw new Error(`Unknown Chalk style: ${p}`);t[p].length>0?r=r[p].apply(r,t[p]):r=r[p]}return r}F6.exports=(e,a)=>{let t=[],r=[],p=[];if(a.replace(uv,(i,d,n,s,o,l)=>{if(d)p.push(V6(d));else if(s){let u=p.join("");p=[],r.push(t.length===0?u:I6(e,t)(u)),t.push({inverse:n,styles:vv(s)})}else if(o){if(t.length===0)throw new Error("Found extraneous } in Chalk template literal");r.push(I6(e,t)(p.join(""))),p=[],t.pop()}else p.push(l)}),r.push(p.join("")),t.length>0){let i=`Chalk template literal is missing ${t.length} closing bracket${t.length===1?"":"s"} (\`}\`)`;throw new Error(i)}return r.join("")}});var $6=m((lT,Et)=>{"use strict";var op=w6(),pe=T6(),sp=R6().stdout,gv=q6(),j6=process.platform==="win32"&&!(process.env.TERM||"").toLowerCase().startsWith("xterm"),U6=["ansi","ansi","ansi256","ansi16m"],G6=new Set(["gray"]),Oa=Object.create(null);function B6(e,a){a=a||{};let t=sp?sp.level:0;e.level=a.level===void 0?t:a.level,e.enabled="enabled"in a?a.enabled:e.level>0}function Pt(e){if(!this||!(this instanceof Pt)||this.template){let a={};return B6(a,e),a.template=function(){let t=[].slice.call(arguments);return yv.apply(null,[a.template].concat(t))},Object.setPrototypeOf(a,Pt.prototype),Object.setPrototypeOf(a.template,a),a.template.constructor=Pt,a.template}B6(this,e)}j6&&(pe.blue.open="\x1B[94m");for(let e of Object.keys(pe))pe[e].closeRe=new RegExp(op(pe[e].close),"g"),Oa[e]={get(){let a=pe[e];return t2.call(this,this._styles?this._styles.concat(a):[a],this._empty,e)}};Oa.visible={get(){return t2.call(this,this._styles||[],!0,"visible")}};pe.color.closeRe=new RegExp(op(pe.color.close),"g");for(let e of Object.keys(pe.color.ansi))G6.has(e)||(Oa[e]={get(){let a=this.level;return function(){let r={open:pe.color[U6[a]][e].apply(null,arguments),close:pe.color.close,closeRe:pe.color.closeRe};return t2.call(this,this._styles?this._styles.concat(r):[r],this._empty,e)}}});pe.bgColor.closeRe=new RegExp(op(pe.bgColor.close),"g");for(let e of Object.keys(pe.bgColor.ansi)){if(G6.has(e))continue;let a="bg"+e[0].toUpperCase()+e.slice(1);Oa[a]={get(){let t=this.level;return function(){let p={open:pe.bgColor[U6[t]][e].apply(null,arguments),close:pe.bgColor.close,closeRe:pe.bgColor.closeRe};return t2.call(this,this._styles?this._styles.concat(p):[p],this._empty,e)}}}}var wv=Object.defineProperties(()=>{},Oa);function t2(e,a,t){let r=function(){return bv.apply(r,arguments)};r._styles=e,r._empty=a;let p=this;return Object.defineProperty(r,"level",{enumerable:!0,get(){return p.level},set(i){p.level=i}}),Object.defineProperty(r,"enabled",{enumerable:!0,get(){return p.enabled},set(i){p.enabled=i}}),r.hasGrey=this.hasGrey||t==="gray"||t==="grey",r.__proto__=wv,r}function bv(){let e=arguments,a=e.length,t=String(arguments[0]);if(a===0)return"";if(a>1)for(let p=1;p<a;p++)t+=" "+e[p];if(!this.enabled||this.level<=0||!t)return this._empty?"":t;let r=pe.dim.open;j6&&this.hasGrey&&(pe.dim.open="");for(let p of this._styles.slice().reverse())t=p.open+t.replace(p.closeRe,p.open)+p.close,t=t.replace(/\r?\n/g,`${p.close}$&${p.open}`);return pe.dim.open=r,t}function yv(e,a){if(!Array.isArray(a))return[].slice.call(arguments,1).join(" ");let t=[].slice.call(arguments,2),r=[a.raw[0]];for(let p=1;p<a.length;p++)r.push(String(t[p-1]).replace(/[{}\\]/g,"\\$&")),r.push(String(a.raw[p]));return gv(e,r.join(""))}Object.defineProperties(Pt.prototype,Oa);Et.exports=Pt();Et.exports.supportsColor=sp;Et.exports.default=Et.exports});var Z6=m(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.default=Ev;Lt.shouldHighlight=X6;var z6=p6(),H6=f6(),up=_v(pp(),!0);function Y6(e){if(typeof WeakMap!="function")return null;var a=new WeakMap,t=new WeakMap;return(Y6=function(r){return r?t:a})(e)}function _v(e,a){if(!a&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var t=Y6(a);if(t&&t.has(e))return t.get(e);var r={__proto__:null},p=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(i!=="default"&&{}.hasOwnProperty.call(e,i)){var d=p?Object.getOwnPropertyDescriptor(e,i):null;d&&(d.get||d.set)?Object.defineProperty(r,i,d):r[i]=e[i]}return r.default=e,t&&t.set(e,r),r}var K6=typeof process=="object"&&(process.env.FORCE_COLOR==="0"||process.env.FORCE_COLOR==="false")?(0,up.createColors)(!1):up.default,W6=(e,a)=>t=>e(a(t)),Sv=new Set(["as","async","from","get","of","set"]);function Nv(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.gray,invalid:W6(W6(e.white,e.bgRed),e.bold)}}var Cv=/\r\n|[\n\r\u2028\u2029]/,xv=/^[()[\]{}]$/,J6;{let e=/^[a-z][\w-]*$/i,a=function(t,r,p){if(t.type==="name"){if((0,H6.isKeyword)(t.value)||(0,H6.isStrictReservedWord)(t.value,!0)||Sv.has(t.value))return"keyword";if(e.test(t.value)&&(p[r-1]==="<"||p.slice(r-2,r)==="</"))return"jsxIdentifier";if(t.value[0]!==t.value[0].toLowerCase())return"capitalized"}return t.type==="punctuator"&&xv.test(t.value)?"bracket":t.type==="invalid"&&(t.value==="@"||t.value==="#")?"punctuator":t.type};J6=function*(t){let r;for(;r=z6.default.exec(t);){let p=z6.matchToToken(r);yield{type:a(p,r.index,t),value:p.value}}}}function Dv(e,a){let t="";for(let{type:r,value:p}of J6(a)){let i=e[r];i?t+=p.split(Cv).map(d=>i(d)).join(` +`):t+=p}return t}function X6(e){return K6.isColorSupported||e.forceColor}var lp;function Pv(e){if(e){var a;return(a=lp)!=null||(lp=(0,up.createColors)(!0)),lp}return K6}function Ev(e,a={}){if(e!==""&&X6(a)){let t=Nv(Pv(a.forceColor));return Dv(t,e)}else return e}{let e,a;Lt.getChalk=({forceColor:t})=>{var r;if((r=e)!=null||(e=$6()),t){var p;return(p=a)!=null||(a=new e.constructor({enabled:!0,level:1})),a}return e}}});var i4=m(r2=>{"use strict";Object.defineProperty(r2,"__esModule",{value:!0});r2.codeFrameColumns=p4;r2.default=Rv;var Q6=Z6(),cp=Lv(pp(),!0);function r4(e){if(typeof WeakMap!="function")return null;var a=new WeakMap,t=new WeakMap;return(r4=function(r){return r?t:a})(e)}function Lv(e,a){if(!a&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var t=r4(a);if(t&&t.has(e))return t.get(e);var r={__proto__:null},p=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(i!=="default"&&{}.hasOwnProperty.call(e,i)){var d=p?Object.getOwnPropertyDescriptor(e,i):null;d&&(d.get||d.set)?Object.defineProperty(r,i,d):r[i]=e[i]}return r.default=e,t&&t.set(e,r),r}var Tv=typeof process=="object"&&(process.env.FORCE_COLOR==="0"||process.env.FORCE_COLOR==="false")?(0,cp.createColors)(!1):cp.default,e4=(e,a)=>t=>e(a(t)),mp;function Av(e){if(e){var a;return(a=mp)!=null||(mp=(0,cp.createColors)(!0)),mp}return Tv}var a4=!1;function Ov(e){return{gutter:e.gray,marker:e4(e.red,e.bold),message:e4(e.red,e.bold)}}var t4=/\r\n|[\n\r\u2028\u2029]/;function kv(e,a,t){let r=Object.assign({column:0,line:-1},e.start),p=Object.assign({},r,e.end),{linesAbove:i=2,linesBelow:d=3}=t||{},n=r.line,s=r.column,o=p.line,l=p.column,u=Math.max(n-(i+1),0),c=Math.min(a.length,o+d);n===-1&&(u=0),o===-1&&(c=a.length);let g=o-n,f={};if(g)for(let h=0;h<=g;h++){let v=h+n;if(!s)f[v]=!0;else if(h===0){let w=a[v-1].length;f[v]=[s,w-s+1]}else if(h===g)f[v]=[0,l];else{let w=a[v-h].length;f[v]=[0,w]}}else s===l?s?f[n]=[s,0]:f[n]=!0:f[n]=[s,l-s];return{start:u,end:c,markerLines:f}}function p4(e,a,t={}){let r=(t.highlightCode||t.forceColor)&&(0,Q6.shouldHighlight)(t),p=Av(t.forceColor),i=Ov(p),d=(h,v)=>r?h(v):v,n=e.split(t4),{start:s,end:o,markerLines:l}=kv(a,n,t),u=a.start&&typeof a.start.column=="number",c=String(o).length,f=(r?(0,Q6.default)(e,t):e).split(t4,o).slice(s,o).map((h,v)=>{let w=s+1+v,_=` ${` ${w}`.slice(-c)} |`,S=l[w],D=!l[w+1];if(S){let T="";if(Array.isArray(S)){let E=h.slice(0,Math.max(S[0]-1,0)).replace(/[^\t]/g," "),A=S[1]||1;T=[` + `,d(i.gutter,_.replace(/\d/g," "))," ",E,d(i.marker,"^").repeat(A)].join(""),D&&t.message&&(T+=" "+d(i.message,t.message))}return[d(i.marker,">"),d(i.gutter,_),h.length>0?` ${h}`:"",T].join("")}else return` ${d(i.gutter,_)}${h.length>0?` ${h}`:""}`}).join(` +`);return t.message&&!u&&(f=`${" ".repeat(c+1)}${t.message} +${f}`),r?p.reset(f):f}function Rv(e,a,t,r={}){if(!a4){a4=!0;let i="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";if(process.emitWarning)process.emitWarning(i,"DeprecationWarning");else{let d=new Error(i);d.name="DeprecationWarning",console.warn(new Error(i))}}return t=Math.max(t,0),p4(e,{start:{column:t,line:a}},r)}});var o4=m((cT,s4)=>{"use strict";var fp=Xs(),Mv=e6(),{default:Iv}=r6(),{codeFrameColumns:Vv}=i4(),d4=fp("JSONError",{fileName:fp.append("in %s"),codeFrame:fp.append(` + +%s +`)}),n4=(e,a,t)=>{typeof a=="string"&&(t=a,a=null);try{try{return JSON.parse(e,a)}catch(r){throw Mv(e,a),r}}catch(r){r.message=r.message.replace(/\n/g,"");let p=r.message.match(/in JSON at position (\d+) while parsing/),i=new d4(r);if(t&&(i.fileName=t),p&&p.length>0){let d=new Iv(e),n=Number(p[1]),s=d.locationForIndex(n),o=Vv(e,{start:{line:s.line+1,column:s.column+1}},{highlightCode:!0});i.codeFrame=o}throw i}};n4.JSONError=d4;s4.exports=n4});var D4=m((O,x4)=>{O=x4.exports=q;var U;typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?U=function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER"),console.log.apply(console,e)}:U=function(){};O.SEMVER_SPEC_VERSION="2.0.0";var Tt=256,p2=Number.MAX_SAFE_INTEGER||9007199254740991,hp=16,Fv=Tt-6,At=O.re=[],W=O.safeRe=[],b=O.src=[],F=0,yp="[a-zA-Z0-9-]",vp=[["\\s",1],["\\d",Tt],[yp,Fv]];function l2(e){for(var a=0;a<vp.length;a++){var t=vp[a][0],r=vp[a][1];e=e.split(t+"*").join(t+"{0,"+r+"}").split(t+"+").join(t+"{1,"+r+"}")}return e}var ka=F++;b[ka]="0|[1-9]\\d*";var Ra=F++;b[Ra]="\\d+";var _p=F++;b[_p]="\\d*[a-zA-Z-]"+yp+"*";var u4=F++;b[u4]="("+b[ka]+")\\.("+b[ka]+")\\.("+b[ka]+")";var m4=F++;b[m4]="("+b[Ra]+")\\.("+b[Ra]+")\\.("+b[Ra]+")";var gp=F++;b[gp]="(?:"+b[ka]+"|"+b[_p]+")";var wp=F++;b[wp]="(?:"+b[Ra]+"|"+b[_p]+")";var Sp=F++;b[Sp]="(?:-("+b[gp]+"(?:\\."+b[gp]+")*))";var Np=F++;b[Np]="(?:-?("+b[wp]+"(?:\\."+b[wp]+")*))";var bp=F++;b[bp]=yp+"+";var kt=F++;b[kt]="(?:\\+("+b[bp]+"(?:\\."+b[bp]+")*))";var Cp=F++,c4="v?"+b[u4]+b[Sp]+"?"+b[kt]+"?";b[Cp]="^"+c4+"$";var xp="[v=\\s]*"+b[m4]+b[Np]+"?"+b[kt]+"?",Dp=F++;b[Dp]="^"+xp+"$";var qa=F++;b[qa]="((?:<|>)?=?)";var i2=F++;b[i2]=b[Ra]+"|x|X|\\*";var d2=F++;b[d2]=b[ka]+"|x|X|\\*";var J1=F++;b[J1]="[v=\\s]*("+b[d2]+")(?:\\.("+b[d2]+")(?:\\.("+b[d2]+")(?:"+b[Sp]+")?"+b[kt]+"?)?)?";var Ia=F++;b[Ia]="[v=\\s]*("+b[i2]+")(?:\\.("+b[i2]+")(?:\\.("+b[i2]+")(?:"+b[Np]+")?"+b[kt]+"?)?)?";var f4=F++;b[f4]="^"+b[qa]+"\\s*"+b[J1]+"$";var h4=F++;b[h4]="^"+b[qa]+"\\s*"+b[Ia]+"$";var v4=F++;b[v4]="(?:^|[^\\d])(\\d{1,"+hp+"})(?:\\.(\\d{1,"+hp+"}))?(?:\\.(\\d{1,"+hp+"}))?(?:$|[^\\d])";var u2=F++;b[u2]="(?:~>?)";var Va=F++;b[Va]="(\\s*)"+b[u2]+"\\s+";At[Va]=new RegExp(b[Va],"g");W[Va]=new RegExp(l2(b[Va]),"g");var qv="$1~",g4=F++;b[g4]="^"+b[u2]+b[J1]+"$";var w4=F++;b[w4]="^"+b[u2]+b[Ia]+"$";var m2=F++;b[m2]="(?:\\^)";var Fa=F++;b[Fa]="(\\s*)"+b[m2]+"\\s+";At[Fa]=new RegExp(b[Fa],"g");W[Fa]=new RegExp(l2(b[Fa]),"g");var Bv="$1^",b4=F++;b[b4]="^"+b[m2]+b[J1]+"$";var y4=F++;b[y4]="^"+b[m2]+b[Ia]+"$";var Pp=F++;b[Pp]="^"+b[qa]+"\\s*("+xp+")$|^$";var Ep=F++;b[Ep]="^"+b[qa]+"\\s*("+c4+")$|^$";var X1=F++;b[X1]="(\\s*)"+b[qa]+"\\s*("+xp+"|"+b[J1]+")";At[X1]=new RegExp(b[X1],"g");W[X1]=new RegExp(l2(b[X1]),"g");var jv="$1$2$3",_4=F++;b[_4]="^\\s*("+b[J1]+")\\s+-\\s+("+b[J1]+")\\s*$";var S4=F++;b[S4]="^\\s*("+b[Ia]+")\\s+-\\s+("+b[Ia]+")\\s*$";var N4=F++;b[N4]="(<|>)?=?\\s*\\*";for(p1=0;p1<F;p1++)U(p1,b[p1]),At[p1]||(At[p1]=new RegExp(b[p1]),W[p1]=new RegExp(l2(b[p1])));var p1;O.parse=Z1;function Z1(e,a){if((!a||typeof a!="object")&&(a={loose:!!a,includePrerelease:!1}),e instanceof q)return e;if(typeof e!="string"||e.length>Tt)return null;var t=a.loose?W[Dp]:W[Cp];if(!t.test(e))return null;try{return new q(e,a)}catch{return null}}O.valid=Uv;function Uv(e,a){var t=Z1(e,a);return t?t.version:null}O.clean=Gv;function Gv(e,a){var t=Z1(e.trim().replace(/^[=v]+/,""),a);return t?t.version:null}O.SemVer=q;function q(e,a){if((!a||typeof a!="object")&&(a={loose:!!a,includePrerelease:!1}),e instanceof q){if(e.loose===a.loose)return e;e=e.version}else if(typeof e!="string")throw new TypeError("Invalid Version: "+e);if(e.length>Tt)throw new TypeError("version is longer than "+Tt+" characters");if(!(this instanceof q))return new q(e,a);U("SemVer",e,a),this.options=a,this.loose=!!a.loose;var t=e.trim().match(a.loose?W[Dp]:W[Cp]);if(!t)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>p2||this.major<0)throw new TypeError("Invalid major version");if(this.minor>p2||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>p2||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map(function(r){if(/^[0-9]+$/.test(r)){var p=+r;if(p>=0&&p<p2)return p}return r}):this.prerelease=[],this.build=t[5]?t[5].split("."):[],this.format()}q.prototype.format=function(){return this.version=this.major+"."+this.minor+"."+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version};q.prototype.toString=function(){return this.version};q.prototype.compare=function(e){return U("SemVer.compare",this.version,this.options,e),e instanceof q||(e=new q(e,this.options)),this.compareMain(e)||this.comparePre(e)};q.prototype.compareMain=function(e){return e instanceof q||(e=new q(e,this.options)),Ma(this.major,e.major)||Ma(this.minor,e.minor)||Ma(this.patch,e.patch)};q.prototype.comparePre=function(e){if(e instanceof q||(e=new q(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;var a=0;do{var t=this.prerelease[a],r=e.prerelease[a];if(U("prerelease compare",a,t,r),t===void 0&&r===void 0)return 0;if(r===void 0)return 1;if(t===void 0)return-1;if(t===r)continue;return Ma(t,r)}while(++a)};q.prototype.inc=function(e,a){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",a);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",a);break;case"prepatch":this.prerelease.length=0,this.inc("patch",a),this.inc("pre",a);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",a),this.inc("pre",a);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{for(var t=this.prerelease.length;--t>=0;)typeof this.prerelease[t]=="number"&&(this.prerelease[t]++,t=-2);t===-1&&this.prerelease.push(0)}a&&(this.prerelease[0]===a?isNaN(this.prerelease[1])&&(this.prerelease=[a,0]):this.prerelease=[a,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this};O.inc=$v;function $v(e,a,t,r){typeof t=="string"&&(r=t,t=void 0);try{return new q(e,t).inc(a,r).version}catch{return null}}O.diff=zv;function zv(e,a){if(Lp(e,a))return null;var t=Z1(e),r=Z1(a),p="";if(t.prerelease.length||r.prerelease.length){p="pre";var i="prerelease"}for(var d in t)if((d==="major"||d==="minor"||d==="patch")&&t[d]!==r[d])return p+d;return i}O.compareIdentifiers=Ma;var l4=/^[0-9]+$/;function Ma(e,a){var t=l4.test(e),r=l4.test(a);return t&&r&&(e=+e,a=+a),e===a?0:t&&!r?-1:r&&!t?1:e<a?-1:1}O.rcompareIdentifiers=Hv;function Hv(e,a){return Ma(a,e)}O.major=Wv;function Wv(e,a){return new q(e,a).major}O.minor=Yv;function Yv(e,a){return new q(e,a).minor}O.patch=Kv;function Kv(e,a){return new q(e,a).patch}O.compare=v1;function v1(e,a,t){return new q(e,t).compare(new q(a,t))}O.compareLoose=Jv;function Jv(e,a){return v1(e,a,!0)}O.rcompare=Xv;function Xv(e,a,t){return v1(a,e,t)}O.sort=Zv;function Zv(e,a){return e.sort(function(t,r){return O.compare(t,r,a)})}O.rsort=Qv;function Qv(e,a){return e.sort(function(t,r){return O.rcompare(t,r,a)})}O.gt=Ot;function Ot(e,a,t){return v1(e,a,t)>0}O.lt=n2;function n2(e,a,t){return v1(e,a,t)<0}O.eq=Lp;function Lp(e,a,t){return v1(e,a,t)===0}O.neq=C4;function C4(e,a,t){return v1(e,a,t)!==0}O.gte=Tp;function Tp(e,a,t){return v1(e,a,t)>=0}O.lte=Ap;function Ap(e,a,t){return v1(e,a,t)<=0}O.cmp=s2;function s2(e,a,t,r){switch(a){case"===":return typeof e=="object"&&(e=e.version),typeof t=="object"&&(t=t.version),e===t;case"!==":return typeof e=="object"&&(e=e.version),typeof t=="object"&&(t=t.version),e!==t;case"":case"=":case"==":return Lp(e,t,r);case"!=":return C4(e,t,r);case">":return Ot(e,t,r);case">=":return Tp(e,t,r);case"<":return n2(e,t,r);case"<=":return Ap(e,t,r);default:throw new TypeError("Invalid operator: "+a)}}O.Comparator=je;function je(e,a){if((!a||typeof a!="object")&&(a={loose:!!a,includePrerelease:!1}),e instanceof je){if(e.loose===!!a.loose)return e;e=e.value}if(!(this instanceof je))return new je(e,a);e=e.trim().split(/\s+/).join(" "),U("comparator",e,a),this.options=a,this.loose=!!a.loose,this.parse(e),this.semver===Rt?this.value="":this.value=this.operator+this.semver.version,U("comp",this)}var Rt={};je.prototype.parse=function(e){var a=this.options.loose?W[Pp]:W[Ep],t=e.match(a);if(!t)throw new TypeError("Invalid comparator: "+e);this.operator=t[1],this.operator==="="&&(this.operator=""),t[2]?this.semver=new q(t[2],this.options.loose):this.semver=Rt};je.prototype.toString=function(){return this.value};je.prototype.test=function(e){return U("Comparator.test",e,this.options.loose),this.semver===Rt?!0:(typeof e=="string"&&(e=new q(e,this.options)),s2(e,this.operator,this.semver,this.options))};je.prototype.intersects=function(e,a){if(!(e instanceof je))throw new TypeError("a Comparator is required");(!a||typeof a!="object")&&(a={loose:!!a,includePrerelease:!1});var t;if(this.operator==="")return t=new X(e.value,a),o2(this.value,t,a);if(e.operator==="")return t=new X(this.value,a),o2(e.semver,t,a);var r=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),p=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),i=this.semver.version===e.semver.version,d=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),n=s2(this.semver,"<",e.semver,a)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),s=s2(this.semver,">",e.semver,a)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return r||p||i&&d||n||s};O.Range=X;function X(e,a){if((!a||typeof a!="object")&&(a={loose:!!a,includePrerelease:!1}),e instanceof X)return e.loose===!!a.loose&&e.includePrerelease===!!a.includePrerelease?e:new X(e.raw,a);if(e instanceof je)return new X(e.value,a);if(!(this instanceof X))return new X(e,a);if(this.options=a,this.loose=!!a.loose,this.includePrerelease=!!a.includePrerelease,this.raw=e.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(function(t){return this.parseRange(t.trim())},this).filter(function(t){return t.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+this.raw);this.format()}X.prototype.format=function(){return this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim(),this.range};X.prototype.toString=function(){return this.range};X.prototype.parseRange=function(e){var a=this.options.loose,t=a?W[S4]:W[_4];e=e.replace(t,og),U("hyphen replace",e),e=e.replace(W[X1],jv),U("comparator trim",e,W[X1]),e=e.replace(W[Va],qv),e=e.replace(W[Fa],Bv);var r=a?W[Pp]:W[Ep],p=e.split(" ").map(function(i){return ag(i,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(p=p.filter(function(i){return!!i.match(r)})),p=p.map(function(i){return new je(i,this.options)},this),p};X.prototype.intersects=function(e,a){if(!(e instanceof X))throw new TypeError("a Range is required");return this.set.some(function(t){return t.every(function(r){return e.set.some(function(p){return p.every(function(i){return r.intersects(i,a)})})})})};O.toComparators=eg;function eg(e,a){return new X(e,a).set.map(function(t){return t.map(function(r){return r.value}).join(" ").trim().split(" ")})}function ag(e,a){return U("comp",e,a),e=pg(e,a),U("caret",e),e=tg(e,a),U("tildes",e),e=dg(e,a),U("xrange",e),e=sg(e,a),U("stars",e),e}function Pe(e){return!e||e.toLowerCase()==="x"||e==="*"}function tg(e,a){return e.trim().split(/\s+/).map(function(t){return rg(t,a)}).join(" ")}function rg(e,a){var t=a.loose?W[w4]:W[g4];return e.replace(t,function(r,p,i,d,n){U("tilde",e,r,p,i,d,n);var s;return Pe(p)?s="":Pe(i)?s=">="+p+".0.0 <"+(+p+1)+".0.0":Pe(d)?s=">="+p+"."+i+".0 <"+p+"."+(+i+1)+".0":n?(U("replaceTilde pr",n),s=">="+p+"."+i+"."+d+"-"+n+" <"+p+"."+(+i+1)+".0"):s=">="+p+"."+i+"."+d+" <"+p+"."+(+i+1)+".0",U("tilde return",s),s})}function pg(e,a){return e.trim().split(/\s+/).map(function(t){return ig(t,a)}).join(" ")}function ig(e,a){U("caret",e,a);var t=a.loose?W[y4]:W[b4];return e.replace(t,function(r,p,i,d,n){U("caret",e,r,p,i,d,n);var s;return Pe(p)?s="":Pe(i)?s=">="+p+".0.0 <"+(+p+1)+".0.0":Pe(d)?p==="0"?s=">="+p+"."+i+".0 <"+p+"."+(+i+1)+".0":s=">="+p+"."+i+".0 <"+(+p+1)+".0.0":n?(U("replaceCaret pr",n),p==="0"?i==="0"?s=">="+p+"."+i+"."+d+"-"+n+" <"+p+"."+i+"."+(+d+1):s=">="+p+"."+i+"."+d+"-"+n+" <"+p+"."+(+i+1)+".0":s=">="+p+"."+i+"."+d+"-"+n+" <"+(+p+1)+".0.0"):(U("no pr"),p==="0"?i==="0"?s=">="+p+"."+i+"."+d+" <"+p+"."+i+"."+(+d+1):s=">="+p+"."+i+"."+d+" <"+p+"."+(+i+1)+".0":s=">="+p+"."+i+"."+d+" <"+(+p+1)+".0.0"),U("caret return",s),s})}function dg(e,a){return U("replaceXRanges",e,a),e.split(/\s+/).map(function(t){return ng(t,a)}).join(" ")}function ng(e,a){e=e.trim();var t=a.loose?W[h4]:W[f4];return e.replace(t,function(r,p,i,d,n,s){U("xRange",e,r,p,i,d,n,s);var o=Pe(i),l=o||Pe(d),u=l||Pe(n),c=u;return p==="="&&c&&(p=""),o?p===">"||p==="<"?r="<0.0.0":r="*":p&&c?(l&&(d=0),n=0,p===">"?(p=">=",l?(i=+i+1,d=0,n=0):(d=+d+1,n=0)):p==="<="&&(p="<",l?i=+i+1:d=+d+1),r=p+i+"."+d+"."+n):l?r=">="+i+".0.0 <"+(+i+1)+".0.0":u&&(r=">="+i+"."+d+".0 <"+i+"."+(+d+1)+".0"),U("xRange return",r),r})}function sg(e,a){return U("replaceStars",e,a),e.trim().replace(W[N4],"")}function og(e,a,t,r,p,i,d,n,s,o,l,u,c){return Pe(t)?a="":Pe(r)?a=">="+t+".0.0":Pe(p)?a=">="+t+"."+r+".0":a=">="+a,Pe(s)?n="":Pe(o)?n="<"+(+s+1)+".0.0":Pe(l)?n="<"+s+"."+(+o+1)+".0":u?n="<="+s+"."+o+"."+l+"-"+u:n="<="+n,(a+" "+n).trim()}X.prototype.test=function(e){if(!e)return!1;typeof e=="string"&&(e=new q(e,this.options));for(var a=0;a<this.set.length;a++)if(lg(this.set[a],e,this.options))return!0;return!1};function lg(e,a,t){for(var r=0;r<e.length;r++)if(!e[r].test(a))return!1;if(a.prerelease.length&&!t.includePrerelease){for(r=0;r<e.length;r++)if(U(e[r].semver),e[r].semver!==Rt&&e[r].semver.prerelease.length>0){var p=e[r].semver;if(p.major===a.major&&p.minor===a.minor&&p.patch===a.patch)return!0}return!1}return!0}O.satisfies=o2;function o2(e,a,t){try{a=new X(a,t)}catch{return!1}return a.test(e)}O.maxSatisfying=ug;function ug(e,a,t){var r=null,p=null;try{var i=new X(a,t)}catch{return null}return e.forEach(function(d){i.test(d)&&(!r||p.compare(d)===-1)&&(r=d,p=new q(r,t))}),r}O.minSatisfying=mg;function mg(e,a,t){var r=null,p=null;try{var i=new X(a,t)}catch{return null}return e.forEach(function(d){i.test(d)&&(!r||p.compare(d)===1)&&(r=d,p=new q(r,t))}),r}O.minVersion=cg;function cg(e,a){e=new X(e,a);var t=new q("0.0.0");if(e.test(t)||(t=new q("0.0.0-0"),e.test(t)))return t;t=null;for(var r=0;r<e.set.length;++r){var p=e.set[r];p.forEach(function(i){var d=new q(i.semver.version);switch(i.operator){case">":d.prerelease.length===0?d.patch++:d.prerelease.push(0),d.raw=d.format();case"":case">=":(!t||Ot(t,d))&&(t=d);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+i.operator)}})}return t&&e.test(t)?t:null}O.validRange=fg;function fg(e,a){try{return new X(e,a).range||"*"}catch{return null}}O.ltr=hg;function hg(e,a,t){return Op(e,a,"<",t)}O.gtr=vg;function vg(e,a,t){return Op(e,a,">",t)}O.outside=Op;function Op(e,a,t,r){e=new q(e,r),a=new X(a,r);var p,i,d,n,s;switch(t){case">":p=Ot,i=Ap,d=n2,n=">",s=">=";break;case"<":p=n2,i=Tp,d=Ot,n="<",s="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(o2(e,a,r))return!1;for(var o=0;o<a.set.length;++o){var l=a.set[o],u=null,c=null;if(l.forEach(function(g){g.semver===Rt&&(g=new je(">=0.0.0")),u=u||g,c=c||g,p(g.semver,u.semver,r)?u=g:d(g.semver,c.semver,r)&&(c=g)}),u.operator===n||u.operator===s||(!c.operator||c.operator===n)&&i(e,c.semver))return!1;if(c.operator===s&&d(e,c.semver))return!1}return!0}O.prerelease=gg;function gg(e,a){var t=Z1(e,a);return t&&t.prerelease.length?t.prerelease:null}O.intersects=wg;function wg(e,a,t){return e=new X(e,t),a=new X(a,t),e.intersects(a)}O.coerce=bg;function bg(e){if(e instanceof q)return e;if(typeof e!="string")return null;var a=e.match(W[v4]);return a==null?null:Z1(a[1]+"."+(a[2]||"0")+"."+(a[3]||"0"))}});var kp=m((fT,yg)=>{yg.exports=["0BSD","3D-Slicer-1.0","AAL","ADSL","AFL-1.1","AFL-1.2","AFL-2.0","AFL-2.1","AFL-3.0","AGPL-1.0-only","AGPL-1.0-or-later","AGPL-3.0-only","AGPL-3.0-or-later","AMD-newlib","AMDPLPA","AML","AML-glslang","AMPAS","ANTLR-PD","ANTLR-PD-fallback","APAFML","APL-1.0","APSL-1.0","APSL-1.1","APSL-1.2","APSL-2.0","ASWF-Digital-Assets-1.0","ASWF-Digital-Assets-1.1","Abstyles","AdaCore-doc","Adobe-2006","Adobe-Display-PostScript","Adobe-Glyph","Adobe-Utopia","Afmparse","Aladdin","Apache-1.0","Apache-1.1","Apache-2.0","App-s2p","Arphic-1999","Artistic-1.0","Artistic-1.0-Perl","Artistic-1.0-cl8","Artistic-2.0","BSD-1-Clause","BSD-2-Clause","BSD-2-Clause-Darwin","BSD-2-Clause-Patent","BSD-2-Clause-Views","BSD-2-Clause-first-lines","BSD-3-Clause","BSD-3-Clause-Attribution","BSD-3-Clause-Clear","BSD-3-Clause-HP","BSD-3-Clause-LBNL","BSD-3-Clause-Modification","BSD-3-Clause-No-Military-License","BSD-3-Clause-No-Nuclear-License","BSD-3-Clause-No-Nuclear-License-2014","BSD-3-Clause-No-Nuclear-Warranty","BSD-3-Clause-Open-MPI","BSD-3-Clause-Sun","BSD-3-Clause-acpica","BSD-3-Clause-flex","BSD-4-Clause","BSD-4-Clause-Shortened","BSD-4-Clause-UC","BSD-4.3RENO","BSD-4.3TAHOE","BSD-Advertising-Acknowledgement","BSD-Attribution-HPND-disclaimer","BSD-Inferno-Nettverk","BSD-Protection","BSD-Source-Code","BSD-Source-beginning-file","BSD-Systemics","BSD-Systemics-W3Works","BSL-1.0","BUSL-1.1","Baekmuk","Bahyph","Barr","Beerware","BitTorrent-1.0","BitTorrent-1.1","Bitstream-Charter","Bitstream-Vera","BlueOak-1.0.0","Boehm-GC","Borceux","Brian-Gladman-2-Clause","Brian-Gladman-3-Clause","C-UDA-1.0","CAL-1.0","CAL-1.0-Combined-Work-Exception","CATOSL-1.1","CC-BY-1.0","CC-BY-2.0","CC-BY-2.5","CC-BY-2.5-AU","CC-BY-3.0","CC-BY-3.0-AT","CC-BY-3.0-AU","CC-BY-3.0-DE","CC-BY-3.0-IGO","CC-BY-3.0-NL","CC-BY-3.0-US","CC-BY-4.0","CC-BY-NC-1.0","CC-BY-NC-2.0","CC-BY-NC-2.5","CC-BY-NC-3.0","CC-BY-NC-3.0-DE","CC-BY-NC-4.0","CC-BY-NC-ND-1.0","CC-BY-NC-ND-2.0","CC-BY-NC-ND-2.5","CC-BY-NC-ND-3.0","CC-BY-NC-ND-3.0-DE","CC-BY-NC-ND-3.0-IGO","CC-BY-NC-ND-4.0","CC-BY-NC-SA-1.0","CC-BY-NC-SA-2.0","CC-BY-NC-SA-2.0-DE","CC-BY-NC-SA-2.0-FR","CC-BY-NC-SA-2.0-UK","CC-BY-NC-SA-2.5","CC-BY-NC-SA-3.0","CC-BY-NC-SA-3.0-DE","CC-BY-NC-SA-3.0-IGO","CC-BY-NC-SA-4.0","CC-BY-ND-1.0","CC-BY-ND-2.0","CC-BY-ND-2.5","CC-BY-ND-3.0","CC-BY-ND-3.0-DE","CC-BY-ND-4.0","CC-BY-SA-1.0","CC-BY-SA-2.0","CC-BY-SA-2.0-UK","CC-BY-SA-2.1-JP","CC-BY-SA-2.5","CC-BY-SA-3.0","CC-BY-SA-3.0-AT","CC-BY-SA-3.0-DE","CC-BY-SA-3.0-IGO","CC-BY-SA-4.0","CC-PDDC","CC0-1.0","CDDL-1.0","CDDL-1.1","CDL-1.0","CDLA-Permissive-1.0","CDLA-Permissive-2.0","CDLA-Sharing-1.0","CECILL-1.0","CECILL-1.1","CECILL-2.0","CECILL-2.1","CECILL-B","CECILL-C","CERN-OHL-1.1","CERN-OHL-1.2","CERN-OHL-P-2.0","CERN-OHL-S-2.0","CERN-OHL-W-2.0","CFITSIO","CMU-Mach","CMU-Mach-nodoc","CNRI-Jython","CNRI-Python","CNRI-Python-GPL-Compatible","COIL-1.0","CPAL-1.0","CPL-1.0","CPOL-1.02","CUA-OPL-1.0","Caldera","Caldera-no-preamble","Catharon","ClArtistic","Clips","Community-Spec-1.0","Condor-1.1","Cornell-Lossless-JPEG","Cronyx","Crossword","CrystalStacker","Cube","D-FSL-1.0","DEC-3-Clause","DL-DE-BY-2.0","DL-DE-ZERO-2.0","DOC","DRL-1.0","DRL-1.1","DSDP","DocBook-Schema","DocBook-XML","Dotseqn","ECL-1.0","ECL-2.0","EFL-1.0","EFL-2.0","EPICS","EPL-1.0","EPL-2.0","EUDatagrid","EUPL-1.0","EUPL-1.1","EUPL-1.2","Elastic-2.0","Entessa","ErlPL-1.1","Eurosym","FBM","FDK-AAC","FSFAP","FSFAP-no-warranty-disclaimer","FSFUL","FSFULLR","FSFULLRWD","FTL","Fair","Ferguson-Twofish","Frameworx-1.0","FreeBSD-DOC","FreeImage","Furuseth","GCR-docs","GD","GFDL-1.1-invariants-only","GFDL-1.1-invariants-or-later","GFDL-1.1-no-invariants-only","GFDL-1.1-no-invariants-or-later","GFDL-1.1-only","GFDL-1.1-or-later","GFDL-1.2-invariants-only","GFDL-1.2-invariants-or-later","GFDL-1.2-no-invariants-only","GFDL-1.2-no-invariants-or-later","GFDL-1.2-only","GFDL-1.2-or-later","GFDL-1.3-invariants-only","GFDL-1.3-invariants-or-later","GFDL-1.3-no-invariants-only","GFDL-1.3-no-invariants-or-later","GFDL-1.3-only","GFDL-1.3-or-later","GL2PS","GLWTPL","GPL-1.0-only","GPL-1.0-or-later","GPL-2.0-only","GPL-2.0-or-later","GPL-3.0-only","GPL-3.0-or-later","Giftware","Glide","Glulxe","Graphics-Gems","Gutmann","HIDAPI","HP-1986","HP-1989","HPND","HPND-DEC","HPND-Fenneberg-Livingston","HPND-INRIA-IMAG","HPND-Intel","HPND-Kevlin-Henney","HPND-MIT-disclaimer","HPND-Markus-Kuhn","HPND-Netrek","HPND-Pbmplus","HPND-UC","HPND-UC-export-US","HPND-doc","HPND-doc-sell","HPND-export-US","HPND-export-US-acknowledgement","HPND-export-US-modify","HPND-export2-US","HPND-merchantability-variant","HPND-sell-MIT-disclaimer-xserver","HPND-sell-regexpr","HPND-sell-variant","HPND-sell-variant-MIT-disclaimer","HPND-sell-variant-MIT-disclaimer-rev","HTMLTIDY","HaskellReport","Hippocratic-2.1","IBM-pibs","ICU","IEC-Code-Components-EULA","IJG","IJG-short","IPA","IPL-1.0","ISC","ISC-Veillard","ImageMagick","Imlib2","Info-ZIP","Inner-Net-2.0","Intel","Intel-ACPI","Interbase-1.0","JPL-image","JPNIC","JSON","Jam","JasPer-2.0","Kastrup","Kazlib","Knuth-CTAN","LAL-1.2","LAL-1.3","LGPL-2.0-only","LGPL-2.0-or-later","LGPL-2.1-only","LGPL-2.1-or-later","LGPL-3.0-only","LGPL-3.0-or-later","LGPLLR","LOOP","LPD-document","LPL-1.0","LPL-1.02","LPPL-1.0","LPPL-1.1","LPPL-1.2","LPPL-1.3a","LPPL-1.3c","LZMA-SDK-9.11-to-9.20","LZMA-SDK-9.22","Latex2e","Latex2e-translated-notice","Leptonica","LiLiQ-P-1.1","LiLiQ-R-1.1","LiLiQ-Rplus-1.1","Libpng","Linux-OpenIB","Linux-man-pages-1-para","Linux-man-pages-copyleft","Linux-man-pages-copyleft-2-para","Linux-man-pages-copyleft-var","Lucida-Bitmap-Fonts","MIT","MIT-0","MIT-CMU","MIT-Festival","MIT-Khronos-old","MIT-Modern-Variant","MIT-Wu","MIT-advertising","MIT-enna","MIT-feh","MIT-open-group","MIT-testregex","MITNFA","MMIXware","MPEG-SSG","MPL-1.0","MPL-1.1","MPL-2.0","MPL-2.0-no-copyleft-exception","MS-LPL","MS-PL","MS-RL","MTLL","Mackerras-3-Clause","Mackerras-3-Clause-acknowledgment","MakeIndex","Martin-Birgmeier","McPhee-slideshow","Minpack","MirOS","Motosoto","MulanPSL-1.0","MulanPSL-2.0","Multics","Mup","NAIST-2003","NASA-1.3","NBPL-1.0","NCBI-PD","NCGL-UK-2.0","NCL","NCSA","NGPL","NICTA-1.0","NIST-PD","NIST-PD-fallback","NIST-Software","NLOD-1.0","NLOD-2.0","NLPL","NOSL","NPL-1.0","NPL-1.1","NPOSL-3.0","NRL","NTP","NTP-0","Naumen","NetCDF","Newsletr","Nokia","Noweb","O-UDA-1.0","OAR","OCCT-PL","OCLC-2.0","ODC-By-1.0","ODbL-1.0","OFFIS","OFL-1.0","OFL-1.0-RFN","OFL-1.0-no-RFN","OFL-1.1","OFL-1.1-RFN","OFL-1.1-no-RFN","OGC-1.0","OGDL-Taiwan-1.0","OGL-Canada-2.0","OGL-UK-1.0","OGL-UK-2.0","OGL-UK-3.0","OGTSL","OLDAP-1.1","OLDAP-1.2","OLDAP-1.3","OLDAP-1.4","OLDAP-2.0","OLDAP-2.0.1","OLDAP-2.1","OLDAP-2.2","OLDAP-2.2.1","OLDAP-2.2.2","OLDAP-2.3","OLDAP-2.4","OLDAP-2.5","OLDAP-2.6","OLDAP-2.7","OLDAP-2.8","OLFL-1.3","OML","OPL-1.0","OPL-UK-3.0","OPUBL-1.0","OSET-PL-2.1","OSL-1.0","OSL-1.1","OSL-2.0","OSL-2.1","OSL-3.0","OpenPBS-2.3","OpenSSL","OpenSSL-standalone","OpenVision","PADL","PDDL-1.0","PHP-3.0","PHP-3.01","PPL","PSF-2.0","Parity-6.0.0","Parity-7.0.0","Pixar","Plexus","PolyForm-Noncommercial-1.0.0","PolyForm-Small-Business-1.0.0","PostgreSQL","Python-2.0","Python-2.0.1","QPL-1.0","QPL-1.0-INRIA-2004","Qhull","RHeCos-1.1","RPL-1.1","RPL-1.5","RPSL-1.0","RSA-MD","RSCPL","Rdisc","Ruby","Ruby-pty","SAX-PD","SAX-PD-2.0","SCEA","SGI-B-1.0","SGI-B-1.1","SGI-B-2.0","SGI-OpenGL","SGP4","SHL-0.5","SHL-0.51","SISSL","SISSL-1.2","SL","SMLNJ","SMPPL","SNIA","SPL-1.0","SSH-OpenSSH","SSH-short","SSLeay-standalone","SSPL-1.0","SWL","Saxpath","SchemeReport","Sendmail","Sendmail-8.23","SimPL-2.0","Sleepycat","Soundex","Spencer-86","Spencer-94","Spencer-99","SugarCRM-1.1.3","Sun-PPP","Sun-PPP-2000","SunPro","Symlinks","TAPR-OHL-1.0","TCL","TCP-wrappers","TGPPL-1.0","TMate","TORQUE-1.1","TOSL","TPDL","TPL-1.0","TTWL","TTYP0","TU-Berlin-1.0","TU-Berlin-2.0","TermReadKey","UCAR","UCL-1.0","UMich-Merit","UPL-1.0","URT-RLE","Ubuntu-font-1.0","Unicode-3.0","Unicode-DFS-2015","Unicode-DFS-2016","Unicode-TOU","UnixCrypt","Unlicense","VOSTROM","VSL-1.0","Vim","W3C","W3C-19980720","W3C-20150513","WTFPL","Watcom-1.0","Widget-Workshop","Wsuipa","X11","X11-distribute-modifications-variant","X11-swapped","XFree86-1.1","XSkat","Xdebug-1.03","Xerox","Xfig","Xnet","YPL-1.0","YPL-1.1","ZPL-1.1","ZPL-2.0","ZPL-2.1","Zed","Zeeff","Zend-2.0","Zimbra-1.3","Zimbra-1.4","Zlib","any-OSI","bcrypt-Solar-Designer","blessing","bzip2-1.0.6","check-cvs","checkmk","copyleft-next-0.3.0","copyleft-next-0.3.1","curl","cve-tou","diffmark","dtoa","dvipdfm","eGenix","etalab-2.0","fwlw","gSOAP-1.3b","gnuplot","gtkbook","hdparm","iMatix","libpng-2.0","libselinux-1.0","libtiff","libutil-David-Nugent","lsof","magaz","mailprio","metamail","mpi-permissive","mpich2","mplus","pkgconf","pnmstitch","psfrag","psutils","python-ldap","radvd","snprintf","softSurfer","ssh-keyscan","swrule","threeparttable","ulem","w3m","xinetd","xkeyboard-config-Zinoviev","xlock","xpp","xzoom","zlib-acknowledgement"]});var P4=m((hT,_g)=>{_g.exports=["AGPL-1.0","AGPL-3.0","BSD-2-Clause-FreeBSD","BSD-2-Clause-NetBSD","GFDL-1.1","GFDL-1.2","GFDL-1.3","GPL-1.0","GPL-2.0","GPL-2.0-with-GCC-exception","GPL-2.0-with-autoconf-exception","GPL-2.0-with-bison-exception","GPL-2.0-with-classpath-exception","GPL-2.0-with-font-exception","GPL-3.0","GPL-3.0-with-GCC-exception","GPL-3.0-with-autoconf-exception","LGPL-2.0","LGPL-2.1","LGPL-3.0","Net-SNMP","Nunit","StandardML-NJ","bzip2-1.0.5","eCos-2.0","wxWindows"]});var E4=m((vT,Sg)=>{Sg.exports=["389-exception","Asterisk-exception","Autoconf-exception-2.0","Autoconf-exception-3.0","Autoconf-exception-generic","Autoconf-exception-generic-3.0","Autoconf-exception-macro","Bison-exception-1.24","Bison-exception-2.2","Bootloader-exception","Classpath-exception-2.0","CLISP-exception-2.0","cryptsetup-OpenSSL-exception","DigiRule-FOSS-exception","eCos-exception-2.0","Fawkes-Runtime-exception","FLTK-exception","fmt-exception","Font-exception-2.0","freertos-exception-2.0","GCC-exception-2.0","GCC-exception-2.0-note","GCC-exception-3.1","Gmsh-exception","GNAT-exception","GNOME-examples-exception","GNU-compiler-exception","gnu-javamail-exception","GPL-3.0-interface-exception","GPL-3.0-linking-exception","GPL-3.0-linking-source-exception","GPL-CC-1.0","GStreamer-exception-2005","GStreamer-exception-2008","i2p-gpl-java-exception","KiCad-libraries-exception","LGPL-3.0-linking-exception","libpri-OpenH323-exception","Libtool-exception","Linux-syscall-note","LLGPL","LLVM-exception","LZMA-exception","mif-exception","OCaml-LGPL-linking-exception","OCCT-exception-1.0","OpenJDK-assembly-exception-1.0","openvpn-openssl-exception","PS-or-PDF-font-exception-20170817","QPL-1.0-INRIA-2004-exception","Qt-GPL-exception-1.0","Qt-LGPL-exception-1.1","Qwt-exception-1.0","SANE-exception","SHL-2.0","SHL-2.1","stunnel-exception","SWI-exception","Swift-exception","Texinfo-exception","u-boot-exception-2.0","UBDL-exception","Universal-FOSS-exception-1.0","vsftpd-openssl-exception","WxWindows-exception-3.1","x11vnc-openssl-exception"]});var T4=m((gT,L4)=>{"use strict";var Ng=[].concat(kp()).concat(P4()),Cg=E4();L4.exports=function(e){var a=0;function t(){return a<e.length}function r(f){if(f instanceof RegExp){var h=e.slice(a),v=h.match(f);if(v)return a+=v[0].length,v[0]}else if(e.indexOf(f,a)===a)return a+=f.length,f}function p(){r(/[ ]*/)}function i(){for(var f,h=["WITH","AND","OR","(",")",":","+"],v=0;v<h.length&&(f=r(h[v]),!f);v++);if(f==="+"&&a>1&&e[a-2]===" ")throw new Error("Space before `+`");return f&&{type:"OPERATOR",string:f}}function d(){return r(/[A-Za-z0-9-.]+/)}function n(){var f=d();if(!f)throw new Error("Expected idstring at offset "+a);return f}function s(){if(r("DocumentRef-")){var f=n();return{type:"DOCUMENTREF",string:f}}}function o(){if(r("LicenseRef-")){var f=n();return{type:"LICENSEREF",string:f}}}function l(){var f=a,h=d();if(Ng.indexOf(h)!==-1)return{type:"LICENSE",string:h};if(Cg.indexOf(h)!==-1)return{type:"EXCEPTION",string:h};a=f}function u(){return i()||s()||o()||l()}for(var c=[];t()&&(p(),!!t());){var g=u();if(!g)throw new Error("Unexpected `"+e[a]+"` at offset "+a);c.push(g)}return c}});var O4=m((wT,A4)=>{"use strict";A4.exports=function(e){var a=0;function t(){return a<e.length}function r(){return t()?e[a]:null}function p(){if(!t())throw new Error;a++}function i(h){var v=r();if(v&&v.type==="OPERATOR"&&h===v.string)return p(),v.string}function d(){if(i("WITH")){var h=r();if(h&&h.type==="EXCEPTION")return p(),h.string;throw new Error("Expected exception after `WITH`")}}function n(){var h=a,v="",w=r();if(w.type==="DOCUMENTREF"&&(p(),v+="DocumentRef-"+w.string+":",!i(":")))throw new Error("Expected `:` after `DocumentRef-...`");if(w=r(),w.type==="LICENSEREF")return p(),v+="LicenseRef-"+w.string,{license:v};a=h}function s(){var h=r();if(h&&h.type==="LICENSE"){p();var v={license:h.string};i("+")&&(v.plus=!0);var w=d();return w&&(v.exception=w),v}}function o(){var h=i("(");if(h){var v=g();if(!i(")"))throw new Error("Expected `)`");return v}}function l(){return o()||n()||s()}function u(h,v){return function w(){var y=v();if(y){if(!i(h))return y;var _=w();if(!_)throw new Error("Expected expression");return{left:y,conjunction:h.toLowerCase(),right:_}}}}var c=u("AND",l),g=u("OR",c),f=g();if(!f||t())throw new Error("Syntax error");return f}});var Rp=m((bT,k4)=>{"use strict";var xg=T4(),Dg=O4();k4.exports=function(e){return Dg(xg(e))}});var U4=m((yT,j4)=>{var Pg=Rp(),Eg=kp();function c2(e){try{return Pg(e),!0}catch{return!1}}function B4(e,a){var t=a[0].length-e[0].length;return t!==0?t:e[0].toUpperCase().localeCompare(a[0].toUpperCase())}var R4=[["APGL","AGPL"],["Gpl","GPL"],["GLP","GPL"],["APL","Apache"],["ISD","ISC"],["GLP","GPL"],["IST","ISC"],["Claude","Clause"],[" or later","+"],[" International",""],["GNU","GPL"],["GUN","GPL"],["+",""],["GNU GPL","GPL"],["GNU LGPL","LGPL"],["GNU/GPL","GPL"],["GNU GLP","GPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL"],["GNU Lesser General Public License","LGPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["GNU Lesser General Public License","LGPL-2.1"],["LESSER GENERAL PUBLIC LICENSE","LGPL"],["Lesser General Public License","LGPL"],["LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["Lesser General Public License","LGPL-2.1"],["GNU General Public License","GPL"],["Gnu public license","GPL"],["GNU Public License","GPL"],["GNU GENERAL PUBLIC LICENSE","GPL"],["MTI","MIT"],["Mozilla Public License","MPL"],["Universal Permissive License","UPL"],["WTH","WTF"],["WTFGPL","WTFPL"],["-License",""]].sort(B4),Lg=0,Tg=1,M4=[function(e){return e.toUpperCase()},function(e){return e.trim()},function(e){return e.replace(/\./g,"")},function(e){return e.replace(/\s+/g,"")},function(e){return e.replace(/\s+/g,"-")},function(e){return e.replace("v","-")},function(e){return e.replace(/,?\s*(\d)/,"-$1")},function(e){return e.replace(/,?\s*(\d)/,"-$1.0")},function(e){return e.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2")},function(e){return e.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2.0")},function(e){return e[0].toUpperCase()+e.slice(1)},function(e){return e.replace("/","-")},function(e){return e.replace(/\s*V\s*(\d)/,"-$1").replace(/(\d)$/,"$1.0")},function(e){return e.indexOf("3.0")!==-1?e+"-or-later":e+"-only"},function(e){return e+"only"},function(e){return e.replace(/(\d)$/,"-$1.0")},function(e){return e.replace(/(-| )?(\d)$/,"-$2-Clause")},function(e){return e.replace(/(-| )clause(-| )(\d)/,"-$3-Clause")},function(e){return e.replace(/\b(Modified|New|Revised)(-| )?BSD((-| )License)?/i,"BSD-3-Clause")},function(e){return e.replace(/\bSimplified(-| )?BSD((-| )License)?/i,"BSD-2-Clause")},function(e){return e.replace(/\b(Free|Net)(-| )?BSD((-| )License)?/i,"BSD-2-Clause-$1BSD")},function(e){return e.replace(/\bClear(-| )?BSD((-| )License)?/i,"BSD-3-Clause-Clear")},function(e){return e.replace(/\b(Old|Original)(-| )?BSD((-| )License)?/i,"BSD-4-Clause")},function(e){return"CC-"+e},function(e){return"CC-"+e+"-4.0"},function(e){return e.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")},function(e){return"CC-"+e.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")+"-4.0"}],Mp=Eg.map(function(e){var a=/^(.*)-\d+\.\d+$/.exec(e);return a?[a[0],a[1]]:[e,null]}).reduce(function(e,a){var t=a[1];return e[t]=e[t]||[],e[t].push(a[0]),e},{}),Ag=Object.keys(Mp).map(function(a){return[a,Mp[a]]}).filter(function(a){return a[1].length===1&&a[0]!==null&&a[0]!=="APL"}).map(function(a){return[a[0],a[1][0]]});Mp=void 0;var I4=[["UNLI","Unlicense"],["WTF","WTFPL"],["2 CLAUSE","BSD-2-Clause"],["2-CLAUSE","BSD-2-Clause"],["3 CLAUSE","BSD-3-Clause"],["3-CLAUSE","BSD-3-Clause"],["AFFERO","AGPL-3.0-or-later"],["AGPL","AGPL-3.0-or-later"],["APACHE","Apache-2.0"],["ARTISTIC","Artistic-2.0"],["Affero","AGPL-3.0-or-later"],["BEER","Beerware"],["BOOST","BSL-1.0"],["BSD","BSD-2-Clause"],["CDDL","CDDL-1.1"],["ECLIPSE","EPL-1.0"],["FUCK","WTFPL"],["GNU","GPL-3.0-or-later"],["LGPL","LGPL-3.0-or-later"],["GPLV1","GPL-1.0-only"],["GPL-1","GPL-1.0-only"],["GPLV2","GPL-2.0-only"],["GPL-2","GPL-2.0-only"],["GPL","GPL-3.0-or-later"],["MIT +NO-FALSE-ATTRIBS","MITNFA"],["MIT","MIT"],["MPL","MPL-2.0"],["X11","X11"],["ZLIB","Zlib"]].concat(Ag).sort(B4),Og=0,kg=1,V4=function(e){for(var a=0;a<M4.length;a++){var t=M4[a](e).trim();if(t!==e&&c2(t))return t}return null},F4=function(e){for(var a=e.toUpperCase(),t=0;t<I4.length;t++){var r=I4[t];if(a.indexOf(r[Og])>-1)return r[kg]}return null},q4=function(e,a){for(var t=0;t<R4.length;t++){var r=R4[t],p=r[Lg];if(e.indexOf(p)>-1){var i=e.replace(p,r[Tg]),d=a(i);if(d!==null)return d}}return null};j4.exports=function(e,a){a=a||{};var t=a.upgrade===void 0?!0:!!a.upgrade;function r(n){return t?Rg(n):n}var p=typeof e=="string"&&e.trim().length!==0;if(!p)throw Error("Invalid argument. Expected non-empty string.");if(e=e.trim(),c2(e))return r(e);var i=e.replace(/\+$/,"").trim();if(c2(i))return r(i);var d=V4(e);return d!==null||(d=q4(e,function(n){return c2(n)?n:V4(n)}),d!==null)||(d=F4(e),d!==null)||(d=q4(e,F4),d!==null)?r(d):null};function Rg(e){return["GPL-1.0","LGPL-1.0","AGPL-1.0","GPL-2.0","LGPL-2.0","AGPL-2.0","LGPL-2.1"].indexOf(e)!==-1?e+"-only":["GPL-1.0+","GPL-2.0+","GPL-3.0+","LGPL-2.0+","LGPL-2.1+","LGPL-3.0+","AGPL-1.0+","AGPL-3.0+"].indexOf(e)!==-1?e.replace(/\+$/,"-or-later"):["GPL-3.0","LGPL-3.0","AGPL-3.0"].indexOf(e)!==-1?e+"-or-later":e}});var H4=m((_T,z4)=>{var Mg=Rp(),Ig=U4(),G4='license should be a valid SPDX license expression (without "LicenseRef"), "UNLICENSED", or "SEE LICENSE IN <filename>"',Vg=/^SEE LICEN[CS]E IN (.+)$/;function $4(e,a){return a.slice(0,e.length)===e}function Ip(e){if(e.hasOwnProperty("license")){var a=e.license;return $4("LicenseRef",a)||$4("DocumentRef",a)}else return Ip(e.left)||Ip(e.right)}z4.exports=function(e){var a;try{a=Mg(e)}catch{var t;if(e==="UNLICENSED"||e==="UNLICENCED")return{validForOldPackages:!0,validForNewPackages:!0,unlicensed:!0};if(t=Vg.exec(e))return{validForOldPackages:!0,validForNewPackages:!0,inFile:t[1]};var r={validForOldPackages:!1,validForNewPackages:!1,warnings:[G4]};if(e.trim().length!==0){var p=Ig(e);p&&r.warnings.push('license is similar to the valid expression "'+p+'"')}return r}return Ip(a)?{validForNewPackages:!1,validForOldPackages:!1,spdx:!0,warnings:[G4]}:{validForNewPackages:!0,validForOldPackages:!0,spdx:!0}}});var Vp=m((ST,K4)=>{"use strict";var Mt=K4.exports={github:{protocols:["git","http","git+ssh","git+https","ssh","https"],domain:"github.com",treepath:"tree",filetemplate:"https://{auth@}raw.githubusercontent.com/{user}/{project}/{committish}/{path}",bugstemplate:"https://{domain}/{user}/{project}/issues",gittemplate:"git://{auth@}{domain}/{user}/{project}.git{#committish}",tarballtemplate:"https://codeload.{domain}/{user}/{project}/tar.gz/{committish}"},bitbucket:{protocols:["git+ssh","git+https","ssh","https"],domain:"bitbucket.org",treepath:"src",tarballtemplate:"https://{domain}/{user}/{project}/get/{committish}.tar.gz"},gitlab:{protocols:["git+ssh","git+https","ssh","https"],domain:"gitlab.com",treepath:"tree",bugstemplate:"https://{domain}/{user}/{project}/issues",httpstemplate:"git+https://{auth@}{domain}/{user}/{projectPath}.git{#committish}",tarballtemplate:"https://{domain}/{user}/{project}/repository/archive.tar.gz?ref={committish}",pathmatch:/^[/]([^/]+)[/]((?!.*(\/-\/|\/repository\/archive\.tar\.gz\?=.*|\/repository\/[^/]+\/archive.tar.gz$)).*?)(?:[.]git|[/])?$/},gist:{protocols:["git","git+ssh","git+https","ssh","https"],domain:"gist.github.com",pathmatch:/^[/](?:([^/]+)[/])?([a-z0-9]{32,})(?:[.]git)?$/,filetemplate:"https://gist.githubusercontent.com/{user}/{project}/raw{/committish}/{path}",bugstemplate:"https://{domain}/{project}",gittemplate:"git://{domain}/{project}.git{#committish}",sshtemplate:"git@{domain}:/{project}.git{#committish}",sshurltemplate:"git+ssh://git@{domain}/{project}.git{#committish}",browsetemplate:"https://{domain}/{project}{/committish}",browsefiletemplate:"https://{domain}/{project}{/committish}{#path}",docstemplate:"https://{domain}/{project}{/committish}",httpstemplate:"git+https://{domain}/{project}.git{#committish}",shortcuttemplate:"{type}:{project}{#committish}",pathtemplate:"{project}{#committish}",tarballtemplate:"https://codeload.github.com/gist/{project}/tar.gz/{committish}",hashformat:function(e){return"file-"+Y4(e)}}},W4={sshtemplate:"git@{domain}:{user}/{project}.git{#committish}",sshurltemplate:"git+ssh://git@{domain}/{user}/{project}.git{#committish}",browsetemplate:"https://{domain}/{user}/{project}{/tree/committish}",browsefiletemplate:"https://{domain}/{user}/{project}/{treepath}/{committish}/{path}{#fragment}",docstemplate:"https://{domain}/{user}/{project}{/tree/committish}#readme",httpstemplate:"git+https://{auth@}{domain}/{user}/{project}.git{#committish}",filetemplate:"https://{domain}/{user}/{project}/raw/{committish}/{path}",shortcuttemplate:"{type}:{user}/{project}{#committish}",pathtemplate:"{user}/{project}{#committish}",pathmatch:/^[/]([^/]+)[/]([^/]+?)(?:[.]git|[/])?$/,hashformat:Y4};Object.keys(Mt).forEach(function(e){Object.keys(W4).forEach(function(a){Mt[e][a]||(Mt[e][a]=W4[a])}),Mt[e].protocols_re=RegExp("^("+Mt[e].protocols.map(function(a){return a.replace(/([\\+*{}()[\]$^|])/g,"\\$1")}).join("|")+"):$")});function Y4(e){return e.toLowerCase().replace(/^\W+|\/|\W+$/g,"").replace(/\W+/g,"-")}});var Z4=m((NT,X4)=>{"use strict";var J4=Vp(),Ba=Object.assign||function(a,t){if(t===null||typeof t!="object")return a;for(var r=Object.keys(t),p=r.length;p--;)a[r[p]]=t[r[p]];return a};X4.exports=ye;function ye(e,a,t,r,p,i,d){var n=this;n.type=e,Object.keys(J4[e]).forEach(function(s){n[s]=J4[e][s]}),n.user=a,n.auth=t,n.project=r,n.committish=p,n.default=i,n.opts=d||{}}ye.prototype.hash=function(){return this.committish?"#"+this.committish:""};ye.prototype._fill=function(e,a){if(e){var t=Ba({},a);t.path=t.path?t.path.replace(/^[/]+/g,""):"",a=Ba(Ba({},this.opts),a);var r=this;Object.keys(this).forEach(function(l){r[l]!=null&&t[l]==null&&(t[l]=r[l])});var p=t.auth,i=t.committish,d=t.fragment,n=t.path,s=t.project;Object.keys(t).forEach(function(l){var u=t[l];(l==="path"||l==="project")&&typeof u=="string"?t[l]=u.split("/").map(function(c){return encodeURIComponent(c)}).join("/"):t[l]=encodeURIComponent(u)}),t["auth@"]=p?p+"@":"",t["#fragment"]=d?"#"+this.hashformat(d):"",t.fragment=t.fragment?t.fragment:"",t["#path"]=n?"#"+this.hashformat(n):"",t["/path"]=t.path?"/"+t.path:"",t.projectPath=s.split("/").map(encodeURIComponent).join("/"),a.noCommittish?(t["#committish"]="",t["/tree/committish"]="",t["/committish"]="",t.committish=""):(t["#committish"]=i?"#"+i:"",t["/tree/committish"]=t.committish?"/"+t.treepath+"/"+t.committish:"",t["/committish"]=t.committish?"/"+t.committish:"",t.committish=t.committish||"master");var o=e;return Object.keys(t).forEach(function(l){o=o.replace(new RegExp("[{]"+l+"[}]","g"),t[l])}),a.noGitPlus?o.replace(/^git[+]/,""):o}};ye.prototype.ssh=function(e){return this._fill(this.sshtemplate,e)};ye.prototype.sshurl=function(e){return this._fill(this.sshurltemplate,e)};ye.prototype.browse=function(e,a,t){return typeof e=="string"?(typeof a!="string"&&(t=a,a=null),this._fill(this.browsefiletemplate,Ba({fragment:a,path:e},t))):this._fill(this.browsetemplate,e)};ye.prototype.docs=function(e){return this._fill(this.docstemplate,e)};ye.prototype.bugs=function(e){return this._fill(this.bugstemplate,e)};ye.prototype.https=function(e){return this._fill(this.httpstemplate,e)};ye.prototype.git=function(e){return this._fill(this.gittemplate,e)};ye.prototype.shortcut=function(e){return this._fill(this.shortcuttemplate,e)};ye.prototype.path=function(e){return this._fill(this.pathtemplate,e)};ye.prototype.tarball=function(e){var a=Ba({},e,{noCommittish:!1});return this._fill(this.tarballtemplate,a)};ye.prototype.file=function(e,a){return this._fill(this.filetemplate,Ba({path:e},a))};ye.prototype.getDefaultRepresentation=function(){return this.default};ye.prototype.toString=function(e){return this.default&&typeof this[this.default]=="function"?this[this.default](e):this.sshurl(e)}});var e5=m((CT,qp)=>{"use strict";var f2=require("url"),Q4=Vp(),Fg=qp.exports=Z4(),qg={"git+ssh:":"sshurl","git+https:":"https","ssh:":"sshurl","git:":"git"};function Bg(e){return qg[e]||e.slice(0,-1)}var jg={"git:":!0,"https:":!0,"git+https:":!0,"http:":!0,"git+http:":!0},Fp={};qp.exports.fromUrl=function(e,a){if(typeof e=="string"){var t=e+JSON.stringify(a||{});return t in Fp||(Fp[t]=Ug(e,a)),Fp[t]}};function Ug(e,a){if(!(e==null||e==="")){var t=$g(Gg(e)?"github:"+e:e),r=zg(t),p=t.match(/^([^:]+):(?:[^@]+@)?(?:([^/]*)\/)?([^#]+)/),i=Object.keys(Q4).map(function(d){try{var n=Q4[d],s=null;r.auth&&jg[r.protocol]&&(s=r.auth);var o=r.hash?decodeURIComponent(r.hash.substr(1)):null,l=null,u=null,c=null;if(p&&p[1]===d)l=p[2]&&decodeURIComponent(p[2]),u=decodeURIComponent(p[3].replace(/\.git$/,"")),c="shortcut";else{if(r.host&&r.host!==n.domain&&r.host.replace(/^www[.]/,"")!==n.domain||!n.protocols_re.test(r.protocol)||!r.path)return;var g=n.pathmatch,f=r.path.match(g);if(!f)return;f[1]!==null&&f[1]!==void 0&&(l=decodeURIComponent(f[1].replace(/^:/,""))),u=decodeURIComponent(f[2]),c=Bg(r.protocol)}return new Fg(d,l,s,u,o,c,a)}catch(h){if(!(h instanceof URIError))throw h}}).filter(function(d){return d});if(i.length===1)return i[0]}}function Gg(e){return/^[^:@%/\s.-][^:@%/\s]*[/][^:@\s/%]+(?:#.*)?$/.test(e)}function $g(e){var a=f2.parse(e);return a.protocol==="gist:"&&a.host&&!a.path?a.protocol+"/"+a.host:e}function zg(e){var a=e.match(/^([^@]+)@([^:/]+):[/]?((?:[^/]+[/])?[^/]+?)(?:[.]git)?(#.*)?$/);if(!a){var t=f2.parse(e);if(t.auth&&typeof f2.URL=="function"){var r=e.match(/[^@]+@[^:/]+/);if(r){var p=new f2.URL(r[0]);t.auth=p.username||"",p.password&&(t.auth+=":"+p.password)}}return t}return{protocol:"git+ssh:",slashes:!0,auth:a[1],host:a[2],port:null,hostname:a[2],hash:a[4],search:null,query:null,pathname:"/"+a[3],path:"/"+a[3],href:"git+ssh://"+a[1]+"@"+a[2]+"/"+a[3]+(a[4]||"")}}});var Bp=m((xT,a5)=>{"use strict";var Hg=require("os");a5.exports=Hg.homedir||function(){var a=process.env.HOME,t=process.env.LOGNAME||process.env.USER||process.env.LNAME||process.env.USERNAME;return process.platform==="win32"?process.env.USERPROFILE||process.env.HOMEDRIVE+process.env.HOMEPATH||a||null:process.platform==="darwin"?a||(t?"/Users/"+t:null):process.platform==="linux"?a||(process.getuid()===0?"/root":t?"/home/"+t:null):a||null}});var jp=m((DT,t5)=>{t5.exports=function(){var e=Error.prepareStackTrace;Error.prepareStackTrace=function(t,r){return r};var a=new Error().stack;return Error.prepareStackTrace=e,a[2].getFileName()}});var r5=m((PT,It)=>{"use strict";var Wg=process.platform==="win32",Yg=/^(((?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?[\\\/]?)(?:[^\\\/]*[\\\/])*)((\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))[\\\/]*$/,Up={};function Kg(e){return Yg.exec(e).slice(1)}Up.parse=function(e){if(typeof e!="string")throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var a=Kg(e);if(!a||a.length!==5)throw new TypeError("Invalid path '"+e+"'");return{root:a[1],dir:a[0]===a[1]?a[0]:a[0].slice(0,-1),base:a[2],ext:a[4],name:a[3]}};var Jg=/^((\/?)(?:[^\/]*\/)*)((\.{1,2}|[^\/]+?|)(\.[^.\/]*|))[\/]*$/,Gp={};function Xg(e){return Jg.exec(e).slice(1)}Gp.parse=function(e){if(typeof e!="string")throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var a=Xg(e);if(!a||a.length!==5)throw new TypeError("Invalid path '"+e+"'");return{root:a[1],dir:a[0].slice(0,-1),base:a[2],ext:a[4],name:a[3]}};Wg?It.exports=Up.parse:It.exports=Gp.parse;It.exports.posix=Gp.parse;It.exports.win32=Up.parse});var $p=m((ET,n5)=>{var d5=require("path"),p5=d5.parse||r5(),i5=function(a,t){var r="/";/^([A-Za-z]:)/.test(a)?r="":/^\\\\/.test(a)&&(r="\\\\");for(var p=[a],i=p5(a);i.dir!==p[p.length-1];)p.push(i.dir),i=p5(i.dir);return p.reduce(function(d,n){return d.concat(t.map(function(s){return d5.resolve(r,n,s)}))},[])};n5.exports=function(a,t,r){var p=t&&t.moduleDirectory?[].concat(t.moduleDirectory):["node_modules"];if(t&&typeof t.paths=="function")return t.paths(r,a,function(){return i5(a,p)},t);var i=i5(a,p);return t&&t.paths?i.concat(t.paths):i}});var zp=m((LT,s5)=>{s5.exports=function(e,a){return a||{}}});var u5=m((TT,l5)=>{"use strict";var Zg="Function.prototype.bind called on incompatible ",Qg=Object.prototype.toString,ew=Math.max,aw="[object Function]",o5=function(a,t){for(var r=[],p=0;p<a.length;p+=1)r[p]=a[p];for(var i=0;i<t.length;i+=1)r[i+a.length]=t[i];return r},tw=function(a,t){for(var r=[],p=t||0,i=0;p<a.length;p+=1,i+=1)r[i]=a[p];return r},rw=function(e,a){for(var t="",r=0;r<e.length;r+=1)t+=e[r],r+1<e.length&&(t+=a);return t};l5.exports=function(a){var t=this;if(typeof t!="function"||Qg.apply(t)!==aw)throw new TypeError(Zg+t);for(var r=tw(arguments,1),p,i=function(){if(this instanceof p){var l=t.apply(this,o5(r,arguments));return Object(l)===l?l:this}return t.apply(a,o5(r,arguments))},d=ew(0,t.length-r.length),n=[],s=0;s<d;s++)n[s]="$"+s;if(p=Function("binder","return function ("+rw(n,",")+"){ return binder.apply(this,arguments); }")(i),t.prototype){var o=function(){};o.prototype=t.prototype,p.prototype=new o,o.prototype=null}return p}});var c5=m((AT,m5)=>{"use strict";var pw=u5();m5.exports=Function.prototype.bind||pw});var h5=m((OT,f5)=>{"use strict";var iw=Function.prototype.call,dw=Object.prototype.hasOwnProperty,nw=c5();f5.exports=nw.call(iw,dw)});var v5=m((kT,sw)=>{sw.exports={assert:!0,"node:assert":[">= 14.18 && < 15",">= 16"],"assert/strict":">= 15","node:assert/strict":">= 16",async_hooks:">= 8","node:async_hooks":[">= 14.18 && < 15",">= 16"],buffer_ieee754:">= 0.5 && < 0.9.7",buffer:!0,"node:buffer":[">= 14.18 && < 15",">= 16"],child_process:!0,"node:child_process":[">= 14.18 && < 15",">= 16"],cluster:">= 0.5","node:cluster":[">= 14.18 && < 15",">= 16"],console:!0,"node:console":[">= 14.18 && < 15",">= 16"],constants:!0,"node:constants":[">= 14.18 && < 15",">= 16"],crypto:!0,"node:crypto":[">= 14.18 && < 15",">= 16"],_debug_agent:">= 1 && < 8",_debugger:"< 8",dgram:!0,"node:dgram":[">= 14.18 && < 15",">= 16"],diagnostics_channel:[">= 14.17 && < 15",">= 15.1"],"node:diagnostics_channel":[">= 14.18 && < 15",">= 16"],dns:!0,"node:dns":[">= 14.18 && < 15",">= 16"],"dns/promises":">= 15","node:dns/promises":">= 16",domain:">= 0.7.12","node:domain":[">= 14.18 && < 15",">= 16"],events:!0,"node:events":[">= 14.18 && < 15",">= 16"],freelist:"< 6",fs:!0,"node:fs":[">= 14.18 && < 15",">= 16"],"fs/promises":[">= 10 && < 10.1",">= 14"],"node:fs/promises":[">= 14.18 && < 15",">= 16"],_http_agent:">= 0.11.1","node:_http_agent":[">= 14.18 && < 15",">= 16"],_http_client:">= 0.11.1","node:_http_client":[">= 14.18 && < 15",">= 16"],_http_common:">= 0.11.1","node:_http_common":[">= 14.18 && < 15",">= 16"],_http_incoming:">= 0.11.1","node:_http_incoming":[">= 14.18 && < 15",">= 16"],_http_outgoing:">= 0.11.1","node:_http_outgoing":[">= 14.18 && < 15",">= 16"],_http_server:">= 0.11.1","node:_http_server":[">= 14.18 && < 15",">= 16"],http:!0,"node:http":[">= 14.18 && < 15",">= 16"],http2:">= 8.8","node:http2":[">= 14.18 && < 15",">= 16"],https:!0,"node:https":[">= 14.18 && < 15",">= 16"],inspector:">= 8","node:inspector":[">= 14.18 && < 15",">= 16"],"inspector/promises":[">= 19"],"node:inspector/promises":[">= 19"],_linklist:"< 8",module:!0,"node:module":[">= 14.18 && < 15",">= 16"],net:!0,"node:net":[">= 14.18 && < 15",">= 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:!0,"node:os":[">= 14.18 && < 15",">= 16"],path:!0,"node:path":[">= 14.18 && < 15",">= 16"],"path/posix":">= 15.3","node:path/posix":">= 16","path/win32":">= 15.3","node:path/win32":">= 16",perf_hooks:">= 8.5","node:perf_hooks":[">= 14.18 && < 15",">= 16"],process:">= 1","node:process":[">= 14.18 && < 15",">= 16"],punycode:">= 0.5","node:punycode":[">= 14.18 && < 15",">= 16"],querystring:!0,"node:querystring":[">= 14.18 && < 15",">= 16"],readline:!0,"node:readline":[">= 14.18 && < 15",">= 16"],"readline/promises":">= 17","node:readline/promises":">= 17",repl:!0,"node:repl":[">= 14.18 && < 15",">= 16"],"node:sea":[">= 20.12 && < 21",">= 21.7"],smalloc:">= 0.11.5 && < 3",_stream_duplex:">= 0.9.4","node:_stream_duplex":[">= 14.18 && < 15",">= 16"],_stream_transform:">= 0.9.4","node:_stream_transform":[">= 14.18 && < 15",">= 16"],_stream_wrap:">= 1.4.1","node:_stream_wrap":[">= 14.18 && < 15",">= 16"],_stream_passthrough:">= 0.9.4","node:_stream_passthrough":[">= 14.18 && < 15",">= 16"],_stream_readable:">= 0.9.4","node:_stream_readable":[">= 14.18 && < 15",">= 16"],_stream_writable:">= 0.9.4","node:_stream_writable":[">= 14.18 && < 15",">= 16"],stream:!0,"node:stream":[">= 14.18 && < 15",">= 16"],"stream/consumers":">= 16.7","node:stream/consumers":">= 16.7","stream/promises":">= 15","node:stream/promises":">= 16","stream/web":">= 16.5","node:stream/web":">= 16.5",string_decoder:!0,"node:string_decoder":[">= 14.18 && < 15",">= 16"],sys:[">= 0.4 && < 0.7",">= 0.8"],"node:sys":[">= 14.18 && < 15",">= 16"],"test/reporters":">= 19.9 && < 20.2","node:test/reporters":[">= 18.17 && < 19",">= 19.9",">= 20"],"test/mock_loader":">= 22.3 && < 22.7","node:test/mock_loader":">= 22.3 && < 22.7","node:test":[">= 16.17 && < 17",">= 18"],timers:!0,"node:timers":[">= 14.18 && < 15",">= 16"],"timers/promises":">= 15","node:timers/promises":">= 16",_tls_common:">= 0.11.13","node:_tls_common":[">= 14.18 && < 15",">= 16"],_tls_legacy:">= 0.11.3 && < 10",_tls_wrap:">= 0.11.3","node:_tls_wrap":[">= 14.18 && < 15",">= 16"],tls:!0,"node:tls":[">= 14.18 && < 15",">= 16"],trace_events:">= 10","node:trace_events":[">= 14.18 && < 15",">= 16"],tty:!0,"node:tty":[">= 14.18 && < 15",">= 16"],url:!0,"node:url":[">= 14.18 && < 15",">= 16"],util:!0,"node:util":[">= 14.18 && < 15",">= 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":[">= 14.18 && < 15",">= 16"],vm:!0,"node:vm":[">= 14.18 && < 15",">= 16"],wasi:[">= 13.4 && < 13.5",">= 18.17 && < 19",">= 20"],"node:wasi":[">= 18.17 && < 19",">= 20"],worker_threads:">= 11.7","node:worker_threads":[">= 14.18 && < 15",">= 16"],zlib:">= 0.5","node:zlib":[">= 14.18 && < 15",">= 16"]}});var Vt=m((RT,b5)=>{"use strict";var ow=h5();function lw(e,a){for(var t=e.split("."),r=a.split(" "),p=r.length>1?r[0]:"=",i=(r.length>1?r[1]:r[0]).split("."),d=0;d<3;++d){var n=parseInt(t[d]||0,10),s=parseInt(i[d]||0,10);if(n!==s)return p==="<"?n<s:p===">="?n>=s:!1}return p===">="}function g5(e,a){var t=a.split(/ ?&& ?/);if(t.length===0)return!1;for(var r=0;r<t.length;++r)if(!lw(e,t[r]))return!1;return!0}function uw(e,a){if(typeof a=="boolean")return a;var t=typeof e>"u"?process.versions&&process.versions.node:e;if(typeof t!="string")throw new TypeError(typeof e>"u"?"Unable to determine current node version":"If provided, a valid node version is required");if(a&&typeof a=="object"){for(var r=0;r<a.length;++r)if(g5(t,a[r]))return!0;return!1}return g5(t,a)}var w5=v5();b5.exports=function(a,t){return ow(w5,a)&&uw(t,w5[a])}});var S5=m((MT,_5)=>{var Q1=require("fs"),mw=Bp(),ie=require("path"),cw=jp(),fw=$p(),hw=zp(),vw=Vt(),gw=process.platform!=="win32"&&Q1.realpath&&typeof Q1.realpath.native=="function"?Q1.realpath.native:Q1.realpath,y5=mw(),ww=function(){return[ie.join(y5,".node_modules"),ie.join(y5,".node_libraries")]},bw=function(a,t){Q1.stat(a,function(r,p){return r?r.code==="ENOENT"||r.code==="ENOTDIR"?t(null,!1):t(r):t(null,p.isFile()||p.isFIFO())})},yw=function(a,t){Q1.stat(a,function(r,p){return r?r.code==="ENOENT"||r.code==="ENOTDIR"?t(null,!1):t(r):t(null,p.isDirectory())})},_w=function(a,t){gw(a,function(r,p){r&&r.code!=="ENOENT"?t(r):t(null,r?a:p)})},Ft=function(a,t,r,p){r&&r.preserveSymlinks===!1?a(t,p):p(null,t)},Sw=function(a,t,r){a(t,function(p,i){if(p)r(p);else try{var d=JSON.parse(i);r(null,d)}catch{r(null)}})},Nw=function(a,t,r){for(var p=fw(t,r,a),i=0;i<p.length;i++)p[i]=ie.join(p[i],a);return p};_5.exports=function(a,t,r){var p=r,i=t;if(typeof t=="function"&&(p=i,i={}),typeof a!="string"){var d=new TypeError("Path must be a string.");return process.nextTick(function(){p(d)})}i=hw(a,i);var n=i.isFile||bw,s=i.isDirectory||yw,o=i.readFile||Q1.readFile,l=i.realpath||_w,u=i.readPackage||Sw;if(i.readFile&&i.readPackage){var c=new TypeError("`readFile` and `readPackage` are mutually exclusive.");return process.nextTick(function(){p(c)})}var g=i.packageIterator,f=i.extensions||[".js"],h=i.includeCoreModules!==!1,v=i.basedir||ie.dirname(cw()),w=i.filename||v;i.paths=i.paths||ww();var y=ie.resolve(v);Ft(l,y,i,function(N,L){N?p(N):S(L)});var _;function S(N){if(/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(a))_=ie.resolve(N,a),(a==="."||a===".."||a.slice(-1)==="/")&&(_+="/"),/\/$/.test(a)&&_===N?A(_,i.package,D):T(_,i.package,D);else{if(h&&vw(a))return p(null,a);j(a,N,function(L,B,C){if(L)p(L);else{if(B)return Ft(l,B,i,function(G,$){G?p(G):p(null,$,C)});var M=new Error("Cannot find module '"+a+"' from '"+w+"'");M.code="MODULE_NOT_FOUND",p(M)}})}}function D(N,L,B){N?p(N):L?p(null,L,B):A(_,function(C,M,G){if(C)p(C);else if(M)Ft(l,M,i,function(H,fe){H?p(H):p(null,fe,G)});else{var $=new Error("Cannot find module '"+a+"' from '"+w+"'");$.code="MODULE_NOT_FOUND",p($)}})}function T(N,L,B){var C=L,M=B;typeof C=="function"&&(M=C,C=void 0);var G=[""].concat(f);$(G,N,C);function $(H,fe,Ne){if(H.length===0)return M(null,void 0,Ne);var We=fe+H[0],Me=Ne;Me?oe(null,Me):E(ie.dirname(We),oe);function oe(Le,na,s1){if(Me=na,Le)return M(Le);if(s1&&Me&&i.pathFilter){var dr=ie.relative(s1,We),nr=dr.slice(0,dr.length-H[0].length),it=i.pathFilter(Me,fe,nr);if(it)return $([""].concat(f.slice()),ie.resolve(s1,it),Me)}n(We,da)}function da(Le,na){if(Le)return M(Le);if(na)return M(null,We,Me);$(H.slice(1),fe,Me)}}}function E(N,L){if(N===""||N==="/"||process.platform==="win32"&&/^\w:[/\\]*$/.test(N)||/[/\\]node_modules[/\\]*$/.test(N))return L(null);Ft(l,N,i,function(B,C){if(B)return E(ie.dirname(N),L);var M=ie.join(C,"package.json");n(M,function(G,$){if(!$)return E(ie.dirname(N),L);u(o,M,function(H,fe){H&&L(H);var Ne=fe;Ne&&i.packageFilter&&(Ne=i.packageFilter(Ne,M)),L(null,Ne,N)})})})}function A(N,L,B){var C=B,M=L;typeof M=="function"&&(C=M,M=i.package),Ft(l,N,i,function(G,$){if(G)return C(G);var H=ie.join($,"package.json");n(H,function(fe,Ne){if(fe)return C(fe);if(!Ne)return T(ie.join(N,"index"),M,C);u(o,H,function(We,Me){if(We)return C(We);var oe=Me;if(oe&&i.packageFilter&&(oe=i.packageFilter(oe,H)),oe&&oe.main){if(typeof oe.main!="string"){var da=new TypeError("package \u201C"+oe.name+"\u201D `main` must be a string");return da.code="INVALID_PACKAGE_MAIN",C(da)}(oe.main==="."||oe.main==="./")&&(oe.main="index"),T(ie.resolve(N,oe.main),oe,function(Le,na,s1){if(Le)return C(Le);if(na)return C(null,na,s1);if(!s1)return T(ie.join(N,"index"),s1,C);var dr=ie.resolve(N,s1.main);A(dr,s1,function(nr,it,rd){if(nr)return C(nr);if(it)return C(null,it,rd);T(ie.join(N,"index"),rd,C)})});return}T(ie.join(N,"/index"),oe,C)})})})}function k(N,L){if(L.length===0)return N(null,void 0);var B=L[0];s(ie.dirname(B),C);function C($,H){if($)return N($);if(!H)return k(N,L.slice(1));T(B,i.package,M)}function M($,H,fe){if($)return N($);if(H)return N(null,H,fe);A(B,i.package,G)}function G($,H,fe){if($)return N($);if(H)return N(null,H,fe);k(N,L.slice(1))}}function j(N,L,B){var C=function(){return Nw(N,L,i)};k(B,g?g(N,L,C,i):C())}}});var N5=m((IT,Cw)=>{Cw.exports={assert:!0,"node:assert":[">= 14.18 && < 15",">= 16"],"assert/strict":">= 15","node:assert/strict":">= 16",async_hooks:">= 8","node:async_hooks":[">= 14.18 && < 15",">= 16"],buffer_ieee754:">= 0.5 && < 0.9.7",buffer:!0,"node:buffer":[">= 14.18 && < 15",">= 16"],child_process:!0,"node:child_process":[">= 14.18 && < 15",">= 16"],cluster:">= 0.5","node:cluster":[">= 14.18 && < 15",">= 16"],console:!0,"node:console":[">= 14.18 && < 15",">= 16"],constants:!0,"node:constants":[">= 14.18 && < 15",">= 16"],crypto:!0,"node:crypto":[">= 14.18 && < 15",">= 16"],_debug_agent:">= 1 && < 8",_debugger:"< 8",dgram:!0,"node:dgram":[">= 14.18 && < 15",">= 16"],diagnostics_channel:[">= 14.17 && < 15",">= 15.1"],"node:diagnostics_channel":[">= 14.18 && < 15",">= 16"],dns:!0,"node:dns":[">= 14.18 && < 15",">= 16"],"dns/promises":">= 15","node:dns/promises":">= 16",domain:">= 0.7.12","node:domain":[">= 14.18 && < 15",">= 16"],events:!0,"node:events":[">= 14.18 && < 15",">= 16"],freelist:"< 6",fs:!0,"node:fs":[">= 14.18 && < 15",">= 16"],"fs/promises":[">= 10 && < 10.1",">= 14"],"node:fs/promises":[">= 14.18 && < 15",">= 16"],_http_agent:">= 0.11.1","node:_http_agent":[">= 14.18 && < 15",">= 16"],_http_client:">= 0.11.1","node:_http_client":[">= 14.18 && < 15",">= 16"],_http_common:">= 0.11.1","node:_http_common":[">= 14.18 && < 15",">= 16"],_http_incoming:">= 0.11.1","node:_http_incoming":[">= 14.18 && < 15",">= 16"],_http_outgoing:">= 0.11.1","node:_http_outgoing":[">= 14.18 && < 15",">= 16"],_http_server:">= 0.11.1","node:_http_server":[">= 14.18 && < 15",">= 16"],http:!0,"node:http":[">= 14.18 && < 15",">= 16"],http2:">= 8.8","node:http2":[">= 14.18 && < 15",">= 16"],https:!0,"node:https":[">= 14.18 && < 15",">= 16"],inspector:">= 8","node:inspector":[">= 14.18 && < 15",">= 16"],"inspector/promises":[">= 19"],"node:inspector/promises":[">= 19"],_linklist:"< 8",module:!0,"node:module":[">= 14.18 && < 15",">= 16"],net:!0,"node:net":[">= 14.18 && < 15",">= 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:!0,"node:os":[">= 14.18 && < 15",">= 16"],path:!0,"node:path":[">= 14.18 && < 15",">= 16"],"path/posix":">= 15.3","node:path/posix":">= 16","path/win32":">= 15.3","node:path/win32":">= 16",perf_hooks:">= 8.5","node:perf_hooks":[">= 14.18 && < 15",">= 16"],process:">= 1","node:process":[">= 14.18 && < 15",">= 16"],punycode:">= 0.5","node:punycode":[">= 14.18 && < 15",">= 16"],querystring:!0,"node:querystring":[">= 14.18 && < 15",">= 16"],readline:!0,"node:readline":[">= 14.18 && < 15",">= 16"],"readline/promises":">= 17","node:readline/promises":">= 17",repl:!0,"node:repl":[">= 14.18 && < 15",">= 16"],smalloc:">= 0.11.5 && < 3",_stream_duplex:">= 0.9.4","node:_stream_duplex":[">= 14.18 && < 15",">= 16"],_stream_transform:">= 0.9.4","node:_stream_transform":[">= 14.18 && < 15",">= 16"],_stream_wrap:">= 1.4.1","node:_stream_wrap":[">= 14.18 && < 15",">= 16"],_stream_passthrough:">= 0.9.4","node:_stream_passthrough":[">= 14.18 && < 15",">= 16"],_stream_readable:">= 0.9.4","node:_stream_readable":[">= 14.18 && < 15",">= 16"],_stream_writable:">= 0.9.4","node:_stream_writable":[">= 14.18 && < 15",">= 16"],stream:!0,"node:stream":[">= 14.18 && < 15",">= 16"],"stream/consumers":">= 16.7","node:stream/consumers":">= 16.7","stream/promises":">= 15","node:stream/promises":">= 16","stream/web":">= 16.5","node:stream/web":">= 16.5",string_decoder:!0,"node:string_decoder":[">= 14.18 && < 15",">= 16"],sys:[">= 0.4 && < 0.7",">= 0.8"],"node:sys":[">= 14.18 && < 15",">= 16"],"test/reporters":">= 19.9 && < 20.2","node:test/reporters":[">= 18.17 && < 19",">= 19.9",">= 20"],"node:test":[">= 16.17 && < 17",">= 18"],timers:!0,"node:timers":[">= 14.18 && < 15",">= 16"],"timers/promises":">= 15","node:timers/promises":">= 16",_tls_common:">= 0.11.13","node:_tls_common":[">= 14.18 && < 15",">= 16"],_tls_legacy:">= 0.11.3 && < 10",_tls_wrap:">= 0.11.3","node:_tls_wrap":[">= 14.18 && < 15",">= 16"],tls:!0,"node:tls":[">= 14.18 && < 15",">= 16"],trace_events:">= 10","node:trace_events":[">= 14.18 && < 15",">= 16"],tty:!0,"node:tty":[">= 14.18 && < 15",">= 16"],url:!0,"node:url":[">= 14.18 && < 15",">= 16"],util:!0,"node:util":[">= 14.18 && < 15",">= 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":[">= 14.18 && < 15",">= 16"],vm:!0,"node:vm":[">= 14.18 && < 15",">= 16"],wasi:[">= 13.4 && < 13.5",">= 18.17 && < 19",">= 20"],"node:wasi":[">= 18.17 && < 19",">= 20"],worker_threads:">= 11.7","node:worker_threads":[">= 14.18 && < 15",">= 16"],zlib:">= 0.5","node:zlib":[">= 14.18 && < 15",">= 16"]}});var P5=m((VT,D5)=>{"use strict";var xw=Vt(),C5=N5(),x5={};for(h2 in C5)Object.prototype.hasOwnProperty.call(C5,h2)&&(x5[h2]=xw(h2));var h2;D5.exports=x5});var L5=m((FT,E5)=>{var Dw=Vt();E5.exports=function(a){return Dw(a)}});var O5=m((qT,A5)=>{var Pw=Vt(),ea=require("fs"),_e=require("path"),Ew=Bp(),Lw=jp(),Tw=$p(),Aw=zp(),Ow=process.platform!=="win32"&&ea.realpathSync&&typeof ea.realpathSync.native=="function"?ea.realpathSync.native:ea.realpathSync,T5=Ew(),kw=function(){return[_e.join(T5,".node_modules"),_e.join(T5,".node_libraries")]},Rw=function(a){try{var t=ea.statSync(a,{throwIfNoEntry:!1})}catch(r){if(r&&(r.code==="ENOENT"||r.code==="ENOTDIR"))return!1;throw r}return!!t&&(t.isFile()||t.isFIFO())},Mw=function(a){try{var t=ea.statSync(a,{throwIfNoEntry:!1})}catch(r){if(r&&(r.code==="ENOENT"||r.code==="ENOTDIR"))return!1;throw r}return!!t&&t.isDirectory()},Iw=function(a){try{return Ow(a)}catch(t){if(t.code!=="ENOENT")throw t}return a},qt=function(a,t,r){return r&&r.preserveSymlinks===!1?a(t):t},Vw=function(a,t){var r=a(t);try{var p=JSON.parse(r);return p}catch{}},Fw=function(a,t,r){for(var p=Tw(t,r,a),i=0;i<p.length;i++)p[i]=_e.join(p[i],a);return p};A5.exports=function(a,t){if(typeof a!="string")throw new TypeError("Path must be a string.");var r=Aw(a,t),p=r.isFile||Rw,i=r.readFileSync||ea.readFileSync,d=r.isDirectory||Mw,n=r.realpathSync||Iw,s=r.readPackageSync||Vw;if(r.readFileSync&&r.readPackageSync)throw new TypeError("`readFileSync` and `readPackageSync` are mutually exclusive.");var o=r.packageIterator,l=r.extensions||[".js"],u=r.includeCoreModules!==!1,c=r.basedir||_e.dirname(Lw()),g=r.filename||c;r.paths=r.paths||kw();var f=qt(n,_e.resolve(c),r);if(/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(a)){var h=_e.resolve(f,a);(a==="."||a===".."||a.slice(-1)==="/")&&(h+="/");var v=_(h)||D(h);if(v)return qt(n,v,r)}else{if(u&&Pw(a))return a;var w=T(a,f);if(w)return qt(n,w,r)}var y=new Error("Cannot find module '"+a+"' from '"+g+"'");throw y.code="MODULE_NOT_FOUND",y;function _(E){var A=S(_e.dirname(E));if(A&&A.dir&&A.pkg&&r.pathFilter){var k=_e.relative(A.dir,E),j=r.pathFilter(A.pkg,E,k);j&&(E=_e.resolve(A.dir,j))}if(p(E))return E;for(var N=0;N<l.length;N++){var L=E+l[N];if(p(L))return L}}function S(E){if(!(E===""||E==="/")&&!(process.platform==="win32"&&/^\w:[/\\]*$/.test(E))&&!/[/\\]node_modules[/\\]*$/.test(E)){var A=_e.join(qt(n,E,r),"package.json");if(!p(A))return S(_e.dirname(E));var k=s(i,A);return k&&r.packageFilter&&(k=r.packageFilter(k,E)),{pkg:k,dir:E}}}function D(E){var A=_e.join(qt(n,E,r),"/package.json");if(p(A)){try{var k=s(i,A)}catch{}if(k&&r.packageFilter&&(k=r.packageFilter(k,E)),k&&k.main){if(typeof k.main!="string"){var j=new TypeError("package \u201C"+k.name+"\u201D `main` must be a string");throw j.code="INVALID_PACKAGE_MAIN",j}(k.main==="."||k.main==="./")&&(k.main="index");try{var N=_(_e.resolve(E,k.main));if(N)return N;var L=D(_e.resolve(E,k.main));if(L)return L}catch{}}}return _(_e.join(E,"/index"))}function T(E,A){for(var k=function(){return Fw(E,A,r)},j=o?o(E,A,k,r):k(),N=0;N<j.length;N++){var L=j[N];if(d(_e.dirname(L))){var B=_(L);if(B)return B;var C=D(L);if(C)return C}}}}});var R5=m((BT,k5)=>{var v2=S5();v2.core=P5();v2.isCore=L5();v2.sync=O5();k5.exports=v2});var I5=m((jT,M5)=>{M5.exports=qw;function qw(e){if(e&&e!=="ERROR: No README data found!"){e=e.trim().split(` +`);for(var a=0;e[a]&&e[a].trim().match(/^(#|$)/);a++);for(var t=e.length,r=a+1;r<t&&e[r].trim();r++);return e.slice(a,r).join(" ").trim()}}});var V5=m((UT,Bw)=>{Bw.exports={topLevel:{dependancies:"dependencies",dependecies:"dependencies",depdenencies:"dependencies",devEependencies:"devDependencies",depends:"dependencies","dev-dependencies":"devDependencies",devDependences:"devDependencies",devDepenencies:"devDependencies",devdependencies:"devDependencies",repostitory:"repository",repo:"repository",prefereGlobal:"preferGlobal",hompage:"homepage",hampage:"homepage",autohr:"author",autor:"author",contributers:"contributors",publicationConfig:"publishConfig",script:"scripts"},bugs:{web:"url",name:"url"},script:{server:"start",tests:"test"}}});var j5=m(($T,B5)=>{var F5=D4(),jw=H4(),g2=e5(),Uw=R5().isCore,Gw=["dependencies","devDependencies","optionalDependencies"],$w=I5(),Hp=require("url"),L1=V5(),GT=B5.exports={warn:function(){},fixRepositoryField:function(e){if(e.repositories&&(this.warn("repositories"),e.repository=e.repositories[0]),!e.repository)return this.warn("missingRepository");typeof e.repository=="string"&&(e.repository={type:"git",url:e.repository});var a=e.repository.url||"";if(a){var t=g2.fromUrl(a);t&&(a=e.repository.url=t.getDefaultRepresentation()=="shortcut"?t.https():t.toString())}a.match(/github.com\/[^\/]+\/[^\/]+\.git\.git$/)&&this.warn("brokenGitUrl",a)},fixTypos:function(e){Object.keys(L1.topLevel).forEach(function(a){e.hasOwnProperty(a)&&this.warn("typo",a,L1.topLevel[a])},this)},fixScriptsField:function(e){if(e.scripts){if(typeof e.scripts!="object"){this.warn("nonObjectScripts"),delete e.scripts;return}Object.keys(e.scripts).forEach(function(a){typeof e.scripts[a]!="string"?(this.warn("nonStringScript"),delete e.scripts[a]):L1.script[a]&&!e.scripts[L1.script[a]]&&this.warn("typo",a,L1.script[a],"scripts")},this)}},fixFilesField:function(e){var a=e.files;a&&!Array.isArray(a)?(this.warn("nonArrayFiles"),delete e.files):e.files&&(e.files=e.files.filter(function(t){return!t||typeof t!="string"?(this.warn("invalidFilename",t),!1):!0},this))},fixBinField:function(e){if(e.bin&&typeof e.bin=="string"){var a={},t;(t=e.name.match(/^@[^/]+[/](.*)$/))?a[t[1]]=e.bin:a[e.name]=e.bin,e.bin=a}},fixManField:function(e){e.man&&typeof e.man=="string"&&(e.man=[e.man])},fixBundleDependenciesField:function(e){var a="bundledDependencies",t="bundleDependencies";e[a]&&!e[t]&&(e[t]=e[a],delete e[a]),e[t]&&!Array.isArray(e[t])?(this.warn("nonArrayBundleDependencies"),delete e[t]):e[t]&&(e[t]=e[t].filter(function(r){return!r||typeof r!="string"?(this.warn("nonStringBundleDependency",r),!1):(e.dependencies||(e.dependencies={}),e.dependencies.hasOwnProperty(r)||(this.warn("nonDependencyBundleDependency",r),e.dependencies[r]="*"),!0)},this))},fixDependencies:function(e,a){var t=!a;Zw(e,this.warn),Jw(e,this.warn),this.fixBundleDependenciesField(e),["dependencies","devDependencies"].forEach(function(r){if(r in e){if(!e[r]||typeof e[r]!="object"){this.warn("nonObjectDependencies",r),delete e[r];return}Object.keys(e[r]).forEach(function(p){var i=e[r][p];typeof i!="string"&&(this.warn("nonStringDependency",p,JSON.stringify(i)),delete e[r][p]);var d=g2.fromUrl(e[r][p]);d&&(e[r][p]=d.toString())},this)}},this)},fixModulesField:function(e){e.modules&&(this.warn("deprecatedModules"),delete e.modules)},fixKeywordsField:function(e){typeof e.keywords=="string"&&(e.keywords=e.keywords.split(/,\s+/)),e.keywords&&!Array.isArray(e.keywords)?(delete e.keywords,this.warn("nonArrayKeywords")):e.keywords&&(e.keywords=e.keywords.filter(function(a){return typeof a!="string"||!a?(this.warn("nonStringKeyword"),!1):!0},this))},fixVersionField:function(e,a){var t=!a;if(!e.version)return e.version="",!0;if(!F5.valid(e.version,t))throw new Error('Invalid version: "'+e.version+'"');return e.version=F5.clean(e.version,t),!0},fixPeople:function(e){q5(e,Yw),q5(e,Kw)},fixNameField:function(e,a){typeof a=="boolean"?a={strict:a}:typeof a>"u"&&(a={});var t=a.strict;if(!e.name&&!t){e.name="";return}if(typeof e.name!="string")throw new Error("name field must be a string.");t||(e.name=e.name.trim()),Ww(e.name,t,a.allowLegacyCase),Uw(e.name)&&this.warn("conflictingName",e.name)},fixDescriptionField:function(e){e.description&&typeof e.description!="string"&&(this.warn("nonStringDescription"),delete e.description),e.readme&&!e.description&&(e.description=$w(e.readme)),e.description===void 0&&delete e.description,e.description||this.warn("missingDescription")},fixReadmeField:function(e){e.readme||(this.warn("missingReadme"),e.readme="ERROR: No README data found!")},fixBugsField:function(e){if(!e.bugs&&e.repository&&e.repository.url){var a=g2.fromUrl(e.repository.url);a&&a.bugs()&&(e.bugs={url:a.bugs()})}else if(e.bugs){var t=/^.+@.*\..+$/;if(typeof e.bugs=="string")t.test(e.bugs)?e.bugs={email:e.bugs}:Hp.parse(e.bugs).protocol?e.bugs={url:e.bugs}:this.warn("nonEmailUrlBugsString");else{Qw(e.bugs,this.warn);var r=e.bugs;e.bugs={},r.url&&(typeof r.url=="string"&&Hp.parse(r.url).protocol?e.bugs.url=r.url:this.warn("nonUrlBugsUrlField")),r.email&&(typeof r.email=="string"&&t.test(r.email)?e.bugs.email=r.email:this.warn("nonEmailBugsEmailField"))}!e.bugs.email&&!e.bugs.url&&(delete e.bugs,this.warn("emptyNormalizedBugs"))}},fixHomepageField:function(e){if(!e.homepage&&e.repository&&e.repository.url){var a=g2.fromUrl(e.repository.url);a&&a.docs()&&(e.homepage=a.docs())}if(e.homepage){if(typeof e.homepage!="string")return this.warn("nonUrlHomepage"),delete e.homepage;Hp.parse(e.homepage).protocol||(e.homepage="http://"+e.homepage)}},fixLicenseField:function(e){if(e.license)typeof e.license!="string"||e.license.length<1||e.license.trim()===""?this.warn("invalidLicense"):jw(e.license).validForNewPackages||this.warn("invalidLicense");else return this.warn("missingLicense")}};function zw(e){if(e.charAt(0)!=="@")return!1;var a=e.slice(1).split("/");return a.length!==2?!1:a[0]&&a[1]&&a[0]===encodeURIComponent(a[0])&&a[1]===encodeURIComponent(a[1])}function Hw(e){return!e.match(/[\/@\s\+%:]/)&&e===encodeURIComponent(e)}function Ww(e,a,t){if(e.charAt(0)==="."||!(zw(e)||Hw(e))||a&&!t&&e!==e.toLowerCase()||e.toLowerCase()==="node_modules"||e.toLowerCase()==="favicon.ico")throw new Error("Invalid name: "+JSON.stringify(e))}function q5(e,a){return e.author&&(e.author=a(e.author)),["maintainers","contributors"].forEach(function(t){Array.isArray(e[t])&&(e[t]=e[t].map(a))}),e}function Yw(e){if(typeof e=="string")return e;var a=e.name||"",t=e.url||e.web,r=t?" ("+t+")":"",p=e.email||e.mail,i=p?" <"+p+">":"";return a+i+r}function Kw(e){if(typeof e!="string")return e;var a=e.match(/^([^\(<]+)/),t=e.match(/\(([^\)]+)\)/),r=e.match(/<([^>]+)>/),p={};return a&&a[0].trim()&&(p.name=a[0].trim()),r&&(p.email=r[1]),t&&(p.url=t[1]),p}function Jw(e,a){var t=e.optionalDependencies;if(t){var r=e.dependencies||{};Object.keys(t).forEach(function(p){r[p]=t[p]}),e.dependencies=r}}function Xw(e,a,t){if(!e)return{};if(typeof e=="string"&&(e=e.trim().split(/[\n\r\s\t ,]+/)),!Array.isArray(e))return e;t("deprecatedArrayDependencies",a);var r={};return e.filter(function(p){return typeof p=="string"}).forEach(function(p){p=p.trim().split(/(:?[@\s><=])/);var i=p.shift(),d=p.join("");d=d.trim(),d=d.replace(/^@/,""),r[i]=d}),r}function Zw(e,a){Gw.forEach(function(t){e[t]&&(e[t]=Xw(e[t],t,a))})}function Qw(e,a){e&&Object.keys(e).forEach(function(t){L1.bugs[t]&&(a("typo",t,L1.bugs[t],"bugs"),e[L1.bugs[t]]=e[t],delete e[t])})}});var U5=m((zT,eb)=>{eb.exports={repositories:"'repositories' (plural) Not supported. Please pick one as the 'repository' field",missingRepository:"No repository field.",brokenGitUrl:"Probably broken git url: %s",nonObjectScripts:"scripts must be an object",nonStringScript:"script values must be string commands",nonArrayFiles:"Invalid 'files' member",invalidFilename:"Invalid filename in 'files' list: %s",nonArrayBundleDependencies:"Invalid 'bundleDependencies' list. Must be array of package names",nonStringBundleDependency:"Invalid bundleDependencies member: %s",nonDependencyBundleDependency:"Non-dependency in bundleDependencies: %s",nonObjectDependencies:"%s field must be an object",nonStringDependency:"Invalid dependency: %s %s",deprecatedArrayDependencies:"specifying %s as array is deprecated",deprecatedModules:"modules field is deprecated",nonArrayKeywords:"keywords should be an array of strings",nonStringKeyword:"keywords should be an array of strings",conflictingName:"%s is also the name of a node core module.",nonStringDescription:"'description' field should be a string",missingDescription:"No description",missingReadme:"No README data",missingLicense:"No license field.",nonEmailUrlBugsString:"Bug string field must be url, email, or {email,url}",nonUrlBugsUrlField:"bugs.url field must be a string url. Deleted.",nonEmailBugsEmailField:"bugs.email field must be a string email. Deleted.",emptyNormalizedBugs:"Normalized value of bugs field is an empty object. Deleted.",nonUrlHomepage:"homepage field must be a string url. Deleted.",invalidLicense:"license should be a valid SPDX license expression",typo:"%s should probably be %s."}});var z5=m((HT,$5)=>{var G5=require("util"),Wp=U5();$5.exports=function(){var e=Array.prototype.slice.call(arguments,0),a=e.shift();if(a=="typo")return ab.apply(null,e);var t=Wp[a]?Wp[a]:a+": '%s'";return e.unshift(t),G5.format.apply(null,e)};function ab(e,a,t){return t&&(e=t+"['"+e+"']",a=t+"['"+a+"']"),G5.format(Wp.typo,e,a)}});var Jp=m((WT,Y5)=>{Y5.exports=H5;var Yp=j5();H5.fixer=Yp;var tb=z5(),rb=["name","version","description","repository","modules","scripts","files","bin","man","bugs","keywords","readme","homepage","license"],pb=["dependencies","people","typos"],Kp=rb.map(function(e){return W5(e)+"Field"});Kp=Kp.concat(pb);function H5(e,a,t){a===!0&&(a=null,t=!0),t||(t=!1),(!a||e.private)&&(a=function(r){}),e.scripts&&e.scripts.install==="node-gyp rebuild"&&!e.scripts.preinstall&&(e.gypfile=!0),Yp.warn=function(){a(tb.apply(null,arguments))},Kp.forEach(function(r){Yp["fix"+W5(r)](e,t)}),e._id=e.name+"@"+e.version}function W5(e){return e.charAt(0).toUpperCase()+e.slice(1)}});var Z5=m((YT,Xp)=>{"use strict";var{promisify:ib}=require("util"),K5=require("fs"),J5=require("path"),X5=o4(),db=ib(K5.readFile);Xp.exports=async e=>{e={cwd:process.cwd(),normalize:!0,...e};let a=J5.resolve(e.cwd,"package.json"),t=X5(await db(a,"utf8"));return e.normalize&&Jp()(t),t};Xp.exports.sync=e=>{e={cwd:process.cwd(),normalize:!0,...e};let a=J5.resolve(e.cwd,"package.json"),t=X5(K5.readFileSync(a,"utf8"));return e.normalize&&Jp()(t),t}});var t3=m((KT,Zp)=>{"use strict";var Q5=require("path"),e3=Ws(),a3=Z5();Zp.exports=async e=>{let a=await e3("package.json",e);if(a)return{packageJson:await a3({...e,cwd:Q5.dirname(a)}),path:a}};Zp.exports.sync=e=>{let a=e3.sync("package.json",e);if(a)return{packageJson:a3.sync({...e,cwd:Q5.dirname(a)}),path:a}}});var r3=m(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.crossLaunchCommand=ja.callbackLaunchCommand=void 0;var aa=require("@raycast/api"),nb=t3(),sb=async(e,a)=>(0,aa.launchCommand)({...e,context:{...e.context,...a}});ja.callbackLaunchCommand=sb;var ob=async(e,a)=>{if(a===!1)return(0,aa.launchCommand)(e);let t=(0,nb.sync)({cwd:__dirname,normalize:!1}),r=aa.environment.ownerOrAuthorName??t?.packageJson?.owner??t?.packageJson?.author;if("ownerOrAuthorName"in e){let p=`${e.ownerOrAuthorName}/${e.extensionName}`;if(!t?.packageJson?.crossExtensions?.includes(p)){let i=`Target extension '${p}' should be listed in 'crossExtensions' of package.json.`;console.error(i);return}}return(0,aa.launchCommand)({...e,context:{...e.context,callbackLaunchOptions:{name:aa.environment.commandName,extensionName:aa.environment.extensionName,ownerOrAuthorName:r,type:aa.LaunchType.UserInitiated,...a}}})};ja.crossLaunchCommand=ob});var $9=m((QT,G9)=>{function o_(){this.__data__=[],this.size=0}G9.exports=o_});var Di=m((eA,z9)=>{function l_(e,a){return e===a||e!==e&&a!==a}z9.exports=l_});var Kt=m((aA,H9)=>{var u_=Di();function m_(e,a){for(var t=e.length;t--;)if(u_(e[t][0],a))return t;return-1}H9.exports=m_});var Y9=m((tA,W9)=>{var c_=Kt(),f_=Array.prototype,h_=f_.splice;function v_(e){var a=this.__data__,t=c_(a,e);if(t<0)return!1;var r=a.length-1;return t==r?a.pop():h_.call(a,t,1),--this.size,!0}W9.exports=v_});var J9=m((rA,K9)=>{var g_=Kt();function w_(e){var a=this.__data__,t=g_(a,e);return t<0?void 0:a[t][1]}K9.exports=w_});var Z9=m((pA,X9)=>{var b_=Kt();function y_(e){return b_(this.__data__,e)>-1}X9.exports=y_});var eo=m((iA,Q9)=>{var __=Kt();function S_(e,a){var t=this.__data__,r=__(t,e);return r<0?(++this.size,t.push([e,a])):t[r][1]=a,this}Q9.exports=S_});var Jt=m((dA,ao)=>{var N_=$9(),C_=Y9(),x_=J9(),D_=Z9(),P_=eo();function Ja(e){var a=-1,t=e==null?0:e.length;for(this.clear();++a<t;){var r=e[a];this.set(r[0],r[1])}}Ja.prototype.clear=N_;Ja.prototype.delete=C_;Ja.prototype.get=x_;Ja.prototype.has=D_;Ja.prototype.set=P_;ao.exports=Ja});var ro=m((nA,to)=>{var E_=Jt();function L_(){this.__data__=new E_,this.size=0}to.exports=L_});var io=m((sA,po)=>{function T_(e){var a=this.__data__,t=a.delete(e);return this.size=a.size,t}po.exports=T_});var so=m((oA,no)=>{function A_(e){return this.__data__.get(e)}no.exports=A_});var lo=m((lA,oo)=>{function O_(e){return this.__data__.has(e)}oo.exports=O_});var Pi=m((uA,uo)=>{var k_=typeof global=="object"&&global&&global.Object===Object&&global;uo.exports=k_});var n1=m((mA,mo)=>{var R_=Pi(),M_=typeof self=="object"&&self&&self.Object===Object&&self,I_=R_||M_||Function("return this")();mo.exports=I_});var Xt=m((cA,co)=>{var V_=n1(),F_=V_.Symbol;co.exports=F_});var go=m((fA,vo)=>{var fo=Xt(),ho=Object.prototype,q_=ho.hasOwnProperty,B_=ho.toString,Zt=fo?fo.toStringTag:void 0;function j_(e){var a=q_.call(e,Zt),t=e[Zt];try{e[Zt]=void 0;var r=!0}catch{}var p=B_.call(e);return r&&(a?e[Zt]=t:delete e[Zt]),p}vo.exports=j_});var bo=m((hA,wo)=>{var U_=Object.prototype,G_=U_.toString;function $_(e){return G_.call(e)}wo.exports=$_});var Xa=m((vA,So)=>{var yo=Xt(),z_=go(),H_=bo(),W_="[object Null]",Y_="[object Undefined]",_o=yo?yo.toStringTag:void 0;function K_(e){return e==null?e===void 0?Y_:W_:_o&&_o in Object(e)?z_(e):H_(e)}So.exports=K_});var M2=m((gA,No)=>{function J_(e){var a=typeof e;return e!=null&&(a=="object"||a=="function")}No.exports=J_});var Ei=m((wA,Co)=>{var X_=Xa(),Z_=M2(),Q_="[object AsyncFunction]",eS="[object Function]",aS="[object GeneratorFunction]",tS="[object Proxy]";function rS(e){if(!Z_(e))return!1;var a=X_(e);return a==eS||a==aS||a==Q_||a==tS}Co.exports=rS});var Do=m((bA,xo)=>{var pS=n1(),iS=pS["__core-js_shared__"];xo.exports=iS});var Lo=m((yA,Eo)=>{var Li=Do(),Po=function(){var e=/[^.]+$/.exec(Li&&Li.keys&&Li.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function dS(e){return!!Po&&Po in e}Eo.exports=dS});var Ti=m((_A,To)=>{var nS=Function.prototype,sS=nS.toString;function oS(e){if(e!=null){try{return sS.call(e)}catch{}try{return e+""}catch{}}return""}To.exports=oS});var Oo=m((SA,Ao)=>{var lS=Ei(),uS=Lo(),mS=M2(),cS=Ti(),fS=/[\\^$.*+?()[\]{}|]/g,hS=/^\[object .+?Constructor\]$/,vS=Function.prototype,gS=Object.prototype,wS=vS.toString,bS=gS.hasOwnProperty,yS=RegExp("^"+wS.call(bS).replace(fS,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function _S(e){if(!mS(e)||uS(e))return!1;var a=lS(e)?yS:hS;return a.test(cS(e))}Ao.exports=_S});var Ro=m((NA,ko)=>{function SS(e,a){return e?.[a]}ko.exports=SS});var pa=m((CA,Mo)=>{var NS=Oo(),CS=Ro();function xS(e,a){var t=CS(e,a);return NS(t)?t:void 0}Mo.exports=xS});var I2=m((xA,Io)=>{var DS=pa(),PS=n1(),ES=DS(PS,"Map");Io.exports=ES});var Qt=m((DA,Vo)=>{var LS=pa(),TS=LS(Object,"create");Vo.exports=TS});var Bo=m((PA,qo)=>{var Fo=Qt();function AS(){this.__data__=Fo?Fo(null):{},this.size=0}qo.exports=AS});var Uo=m((EA,jo)=>{function OS(e){var a=this.has(e)&&delete this.__data__[e];return this.size-=a?1:0,a}jo.exports=OS});var $o=m((LA,Go)=>{var kS=Qt(),RS="__lodash_hash_undefined__",MS=Object.prototype,IS=MS.hasOwnProperty;function VS(e){var a=this.__data__;if(kS){var t=a[e];return t===RS?void 0:t}return IS.call(a,e)?a[e]:void 0}Go.exports=VS});var Ho=m((TA,zo)=>{var FS=Qt(),qS=Object.prototype,BS=qS.hasOwnProperty;function jS(e){var a=this.__data__;return FS?a[e]!==void 0:BS.call(a,e)}zo.exports=jS});var Yo=m((AA,Wo)=>{var US=Qt(),GS="__lodash_hash_undefined__";function $S(e,a){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=US&&a===void 0?GS:a,this}Wo.exports=$S});var Jo=m((OA,Ko)=>{var zS=Bo(),HS=Uo(),WS=$o(),YS=Ho(),KS=Yo();function Za(e){var a=-1,t=e==null?0:e.length;for(this.clear();++a<t;){var r=e[a];this.set(r[0],r[1])}}Za.prototype.clear=zS;Za.prototype.delete=HS;Za.prototype.get=WS;Za.prototype.has=YS;Za.prototype.set=KS;Ko.exports=Za});var Qo=m((kA,Zo)=>{var Xo=Jo(),JS=Jt(),XS=I2();function ZS(){this.size=0,this.__data__={hash:new Xo,map:new(XS||JS),string:new Xo}}Zo.exports=ZS});var al=m((RA,el)=>{function QS(e){var a=typeof e;return a=="string"||a=="number"||a=="symbol"||a=="boolean"?e!=="__proto__":e===null}el.exports=QS});var er=m((MA,tl)=>{var eN=al();function aN(e,a){var t=e.__data__;return eN(a)?t[typeof a=="string"?"string":"hash"]:t.map}tl.exports=aN});var pl=m((IA,rl)=>{var tN=er();function rN(e){var a=tN(this,e).delete(e);return this.size-=a?1:0,a}rl.exports=rN});var dl=m((VA,il)=>{var pN=er();function iN(e){return pN(this,e).get(e)}il.exports=iN});var sl=m((FA,nl)=>{var dN=er();function nN(e){return dN(this,e).has(e)}nl.exports=nN});var ll=m((qA,ol)=>{var sN=er();function oN(e,a){var t=sN(this,e),r=t.size;return t.set(e,a),this.size+=t.size==r?0:1,this}ol.exports=oN});var V2=m((BA,ul)=>{var lN=Qo(),uN=pl(),mN=dl(),cN=sl(),fN=ll();function Qa(e){var a=-1,t=e==null?0:e.length;for(this.clear();++a<t;){var r=e[a];this.set(r[0],r[1])}}Qa.prototype.clear=lN;Qa.prototype.delete=uN;Qa.prototype.get=mN;Qa.prototype.has=cN;Qa.prototype.set=fN;ul.exports=Qa});var cl=m((jA,ml)=>{var hN=Jt(),vN=I2(),gN=V2(),wN=200;function bN(e,a){var t=this.__data__;if(t instanceof hN){var r=t.__data__;if(!vN||r.length<wN-1)return r.push([e,a]),this.size=++t.size,this;t=this.__data__=new gN(r)}return t.set(e,a),this.size=t.size,this}ml.exports=bN});var Ai=m((UA,fl)=>{var yN=Jt(),_N=ro(),SN=io(),NN=so(),CN=lo(),xN=cl();function et(e){var a=this.__data__=new yN(e);this.size=a.size}et.prototype.clear=_N;et.prototype.delete=SN;et.prototype.get=NN;et.prototype.has=CN;et.prototype.set=xN;fl.exports=et});var vl=m((GA,hl)=>{var DN="__lodash_hash_undefined__";function PN(e){return this.__data__.set(e,DN),this}hl.exports=PN});var wl=m(($A,gl)=>{function EN(e){return this.__data__.has(e)}gl.exports=EN});var Oi=m((zA,bl)=>{var LN=V2(),TN=vl(),AN=wl();function F2(e){var a=-1,t=e==null?0:e.length;for(this.__data__=new LN;++a<t;)this.add(e[a])}F2.prototype.add=F2.prototype.push=TN;F2.prototype.has=AN;bl.exports=F2});var _l=m((HA,yl)=>{function ON(e,a){for(var t=-1,r=e==null?0:e.length;++t<r;)if(a(e[t],t,e))return!0;return!1}yl.exports=ON});var ki=m((WA,Sl)=>{function kN(e,a){return e.has(a)}Sl.exports=kN});var Ri=m((YA,Nl)=>{var RN=Oi(),MN=_l(),IN=ki(),VN=1,FN=2;function qN(e,a,t,r,p,i){var d=t&VN,n=e.length,s=a.length;if(n!=s&&!(d&&s>n))return!1;var o=i.get(e),l=i.get(a);if(o&&l)return o==a&&l==e;var u=-1,c=!0,g=t&FN?new RN:void 0;for(i.set(e,a),i.set(a,e);++u<n;){var f=e[u],h=a[u];if(r)var v=d?r(h,f,u,a,e,i):r(f,h,u,e,a,i);if(v!==void 0){if(v)continue;c=!1;break}if(g){if(!MN(a,function(w,y){if(!IN(g,y)&&(f===w||p(f,w,t,r,i)))return g.push(y)})){c=!1;break}}else if(!(f===h||p(f,h,t,r,i))){c=!1;break}}return i.delete(e),i.delete(a),c}Nl.exports=qN});var xl=m((KA,Cl)=>{var BN=n1(),jN=BN.Uint8Array;Cl.exports=jN});var Pl=m((JA,Dl)=>{function UN(e){var a=-1,t=Array(e.size);return e.forEach(function(r,p){t[++a]=[p,r]}),t}Dl.exports=UN});var q2=m((XA,El)=>{function GN(e){var a=-1,t=Array(e.size);return e.forEach(function(r){t[++a]=r}),t}El.exports=GN});var kl=m((ZA,Ol)=>{var Ll=Xt(),Tl=xl(),$N=Di(),zN=Ri(),HN=Pl(),WN=q2(),YN=1,KN=2,JN="[object Boolean]",XN="[object Date]",ZN="[object Error]",QN="[object Map]",eC="[object Number]",aC="[object RegExp]",tC="[object Set]",rC="[object String]",pC="[object Symbol]",iC="[object ArrayBuffer]",dC="[object DataView]",Al=Ll?Ll.prototype:void 0,Mi=Al?Al.valueOf:void 0;function nC(e,a,t,r,p,i,d){switch(t){case dC:if(e.byteLength!=a.byteLength||e.byteOffset!=a.byteOffset)return!1;e=e.buffer,a=a.buffer;case iC:return!(e.byteLength!=a.byteLength||!i(new Tl(e),new Tl(a)));case JN:case XN:case eC:return $N(+e,+a);case ZN:return e.name==a.name&&e.message==a.message;case aC:case rC:return e==a+"";case QN:var n=HN;case tC:var s=r&YN;if(n||(n=WN),e.size!=a.size&&!s)return!1;var o=d.get(e);if(o)return o==a;r|=KN,d.set(e,a);var l=zN(n(e),n(a),r,p,i,d);return d.delete(e),l;case pC:if(Mi)return Mi.call(e)==Mi.call(a)}return!1}Ol.exports=nC});var Ml=m((QA,Rl)=>{function sC(e,a){for(var t=-1,r=a.length,p=e.length;++t<r;)e[p+t]=a[t];return e}Rl.exports=sC});var w1=m((eO,Il)=>{var oC=Array.isArray;Il.exports=oC});var Fl=m((aO,Vl)=>{var lC=Ml(),uC=w1();function mC(e,a,t){var r=a(e);return uC(e)?r:lC(r,t(e))}Vl.exports=mC});var Bl=m((tO,ql)=>{function cC(e,a){for(var t=-1,r=e==null?0:e.length,p=0,i=[];++t<r;){var d=e[t];a(d,t,e)&&(i[p++]=d)}return i}ql.exports=cC});var Ul=m((rO,jl)=>{function fC(){return[]}jl.exports=fC});var zl=m((pO,$l)=>{var hC=Bl(),vC=Ul(),gC=Object.prototype,wC=gC.propertyIsEnumerable,Gl=Object.getOwnPropertySymbols,bC=Gl?function(e){return e==null?[]:(e=Object(e),hC(Gl(e),function(a){return wC.call(e,a)}))}:vC;$l.exports=bC});var Wl=m((iO,Hl)=>{function yC(e,a){for(var t=-1,r=Array(e);++t<e;)r[t]=a(t);return r}Hl.exports=yC});var at=m((dO,Yl)=>{function _C(e){return e!=null&&typeof e=="object"}Yl.exports=_C});var Jl=m((nO,Kl)=>{var SC=Xa(),NC=at(),CC="[object Arguments]";function xC(e){return NC(e)&&SC(e)==CC}Kl.exports=xC});var Ii=m((sO,Ql)=>{var Xl=Jl(),DC=at(),Zl=Object.prototype,PC=Zl.hasOwnProperty,EC=Zl.propertyIsEnumerable,LC=Xl(function(){return arguments}())?Xl:function(e){return DC(e)&&PC.call(e,"callee")&&!EC.call(e,"callee")};Ql.exports=LC});var a8=m((oO,e8)=>{function TC(){return!1}e8.exports=TC});var Vi=m((ar,tt)=>{var AC=n1(),OC=a8(),p8=typeof ar=="object"&&ar&&!ar.nodeType&&ar,t8=p8&&typeof tt=="object"&&tt&&!tt.nodeType&&tt,kC=t8&&t8.exports===p8,r8=kC?AC.Buffer:void 0,RC=r8?r8.isBuffer:void 0,MC=RC||OC;tt.exports=MC});var Fi=m((lO,i8)=>{var IC=9007199254740991,VC=/^(?:0|[1-9]\d*)$/;function FC(e,a){var t=typeof e;return a=a??IC,!!a&&(t=="number"||t!="symbol"&&VC.test(e))&&e>-1&&e%1==0&&e<a}i8.exports=FC});var B2=m((uO,d8)=>{var qC=9007199254740991;function BC(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=qC}d8.exports=BC});var s8=m((mO,n8)=>{var jC=Xa(),UC=B2(),GC=at(),$C="[object Arguments]",zC="[object Array]",HC="[object Boolean]",WC="[object Date]",YC="[object Error]",KC="[object Function]",JC="[object Map]",XC="[object Number]",ZC="[object Object]",QC="[object RegExp]",ex="[object Set]",ax="[object String]",tx="[object WeakMap]",rx="[object ArrayBuffer]",px="[object DataView]",ix="[object Float32Array]",dx="[object Float64Array]",nx="[object Int8Array]",sx="[object Int16Array]",ox="[object Int32Array]",lx="[object Uint8Array]",ux="[object Uint8ClampedArray]",mx="[object Uint16Array]",cx="[object Uint32Array]",Y={};Y[ix]=Y[dx]=Y[nx]=Y[sx]=Y[ox]=Y[lx]=Y[ux]=Y[mx]=Y[cx]=!0;Y[$C]=Y[zC]=Y[rx]=Y[HC]=Y[px]=Y[WC]=Y[YC]=Y[KC]=Y[JC]=Y[XC]=Y[ZC]=Y[QC]=Y[ex]=Y[ax]=Y[tx]=!1;function fx(e){return GC(e)&&UC(e.length)&&!!Y[jC(e)]}n8.exports=fx});var l8=m((cO,o8)=>{function hx(e){return function(a){return e(a)}}o8.exports=hx});var m8=m((tr,rt)=>{var vx=Pi(),u8=typeof tr=="object"&&tr&&!tr.nodeType&&tr,rr=u8&&typeof rt=="object"&&rt&&!rt.nodeType&&rt,gx=rr&&rr.exports===u8,qi=gx&&vx.process,wx=function(){try{var e=rr&&rr.require&&rr.require("util").types;return e||qi&&qi.binding&&qi.binding("util")}catch{}}();rt.exports=wx});var Bi=m((fO,h8)=>{var bx=s8(),yx=l8(),c8=m8(),f8=c8&&c8.isTypedArray,_x=f8?yx(f8):bx;h8.exports=_x});var g8=m((hO,v8)=>{var Sx=Wl(),Nx=Ii(),Cx=w1(),xx=Vi(),Dx=Fi(),Px=Bi(),Ex=Object.prototype,Lx=Ex.hasOwnProperty;function Tx(e,a){var t=Cx(e),r=!t&&Nx(e),p=!t&&!r&&xx(e),i=!t&&!r&&!p&&Px(e),d=t||r||p||i,n=d?Sx(e.length,String):[],s=n.length;for(var o in e)(a||Lx.call(e,o))&&!(d&&(o=="length"||p&&(o=="offset"||o=="parent")||i&&(o=="buffer"||o=="byteLength"||o=="byteOffset")||Dx(o,s)))&&n.push(o);return n}v8.exports=Tx});var b8=m((vO,w8)=>{var Ax=Object.prototype;function Ox(e){var a=e&&e.constructor,t=typeof a=="function"&&a.prototype||Ax;return e===t}w8.exports=Ox});var _8=m((gO,y8)=>{function kx(e,a){return function(t){return e(a(t))}}y8.exports=kx});var N8=m((wO,S8)=>{var Rx=_8(),Mx=Rx(Object.keys,Object);S8.exports=Mx});var x8=m((bO,C8)=>{var Ix=b8(),Vx=N8(),Fx=Object.prototype,qx=Fx.hasOwnProperty;function Bx(e){if(!Ix(e))return Vx(e);var a=[];for(var t in Object(e))qx.call(e,t)&&t!="constructor"&&a.push(t);return a}C8.exports=Bx});var P8=m((yO,D8)=>{var jx=Ei(),Ux=B2();function Gx(e){return e!=null&&Ux(e.length)&&!jx(e)}D8.exports=Gx});var ji=m((_O,E8)=>{var $x=g8(),zx=x8(),Hx=P8();function Wx(e){return Hx(e)?$x(e):zx(e)}E8.exports=Wx});var T8=m((SO,L8)=>{var Yx=Fl(),Kx=zl(),Jx=ji();function Xx(e){return Yx(e,Jx,Kx)}L8.exports=Xx});var k8=m((NO,O8)=>{var A8=T8(),Zx=1,Qx=Object.prototype,eD=Qx.hasOwnProperty;function aD(e,a,t,r,p,i){var d=t&Zx,n=A8(e),s=n.length,o=A8(a),l=o.length;if(s!=l&&!d)return!1;for(var u=s;u--;){var c=n[u];if(!(d?c in a:eD.call(a,c)))return!1}var g=i.get(e),f=i.get(a);if(g&&f)return g==a&&f==e;var h=!0;i.set(e,a),i.set(a,e);for(var v=d;++u<s;){c=n[u];var w=e[c],y=a[c];if(r)var _=d?r(y,w,c,a,e,i):r(w,y,c,e,a,i);if(!(_===void 0?w===y||p(w,y,t,r,i):_)){h=!1;break}v||(v=c=="constructor")}if(h&&!v){var S=e.constructor,D=a.constructor;S!=D&&"constructor"in e&&"constructor"in a&&!(typeof S=="function"&&S instanceof S&&typeof D=="function"&&D instanceof D)&&(h=!1)}return i.delete(e),i.delete(a),h}O8.exports=aD});var M8=m((CO,R8)=>{var tD=pa(),rD=n1(),pD=tD(rD,"DataView");R8.exports=pD});var V8=m((xO,I8)=>{var iD=pa(),dD=n1(),nD=iD(dD,"Promise");I8.exports=nD});var Ui=m((DO,F8)=>{var sD=pa(),oD=n1(),lD=sD(oD,"Set");F8.exports=lD});var B8=m((PO,q8)=>{var uD=pa(),mD=n1(),cD=uD(mD,"WeakMap");q8.exports=cD});var Y8=m((EO,W8)=>{var Gi=M8(),$i=I2(),zi=V8(),Hi=Ui(),Wi=B8(),H8=Xa(),pt=Ti(),j8="[object Map]",fD="[object Object]",U8="[object Promise]",G8="[object Set]",$8="[object WeakMap]",z8="[object DataView]",hD=pt(Gi),vD=pt($i),gD=pt(zi),wD=pt(Hi),bD=pt(Wi),ia=H8;(Gi&&ia(new Gi(new ArrayBuffer(1)))!=z8||$i&&ia(new $i)!=j8||zi&&ia(zi.resolve())!=U8||Hi&&ia(new Hi)!=G8||Wi&&ia(new Wi)!=$8)&&(ia=function(e){var a=H8(e),t=a==fD?e.constructor:void 0,r=t?pt(t):"";if(r)switch(r){case hD:return z8;case vD:return j8;case gD:return U8;case wD:return G8;case bD:return $8}return a});W8.exports=ia});var t7=m((LO,a7)=>{var Yi=Ai(),yD=Ri(),_D=kl(),SD=k8(),K8=Y8(),J8=w1(),X8=Vi(),ND=Bi(),CD=1,Z8="[object Arguments]",Q8="[object Array]",j2="[object Object]",xD=Object.prototype,e7=xD.hasOwnProperty;function DD(e,a,t,r,p,i){var d=J8(e),n=J8(a),s=d?Q8:K8(e),o=n?Q8:K8(a);s=s==Z8?j2:s,o=o==Z8?j2:o;var l=s==j2,u=o==j2,c=s==o;if(c&&X8(e)){if(!X8(a))return!1;d=!0,l=!1}if(c&&!l)return i||(i=new Yi),d||ND(e)?yD(e,a,t,r,p,i):_D(e,a,s,t,r,p,i);if(!(t&CD)){var g=l&&e7.call(e,"__wrapped__"),f=u&&e7.call(a,"__wrapped__");if(g||f){var h=g?e.value():e,v=f?a.value():a;return i||(i=new Yi),p(h,v,t,r,i)}}return c?(i||(i=new Yi),SD(e,a,t,r,p,i)):!1}a7.exports=DD});var Ki=m((TO,i7)=>{var PD=t7(),r7=at();function p7(e,a,t,r,p){return e===a?!0:e==null||a==null||!r7(e)&&!r7(a)?e!==e&&a!==a:PD(e,a,t,r,p7,p)}i7.exports=p7});var n7=m((AO,d7)=>{var ED=Ai(),LD=Ki(),TD=1,AD=2;function OD(e,a,t,r){var p=t.length,i=p,d=!r;if(e==null)return!i;for(e=Object(e);p--;){var n=t[p];if(d&&n[2]?n[1]!==e[n[0]]:!(n[0]in e))return!1}for(;++p<i;){n=t[p];var s=n[0],o=e[s],l=n[1];if(d&&n[2]){if(o===void 0&&!(s in e))return!1}else{var u=new ED;if(r)var c=r(o,l,s,e,a,u);if(!(c===void 0?LD(l,o,TD|AD,r,u):c))return!1}}return!0}d7.exports=OD});var Ji=m((OO,s7)=>{var kD=M2();function RD(e){return e===e&&!kD(e)}s7.exports=RD});var l7=m((kO,o7)=>{var MD=Ji(),ID=ji();function VD(e){for(var a=ID(e),t=a.length;t--;){var r=a[t],p=e[r];a[t]=[r,p,MD(p)]}return a}o7.exports=VD});var Xi=m((RO,u7)=>{function FD(e,a){return function(t){return t==null?!1:t[e]===a&&(a!==void 0||e in Object(t))}}u7.exports=FD});var c7=m((MO,m7)=>{var qD=n7(),BD=l7(),jD=Xi();function UD(e){var a=BD(e);return a.length==1&&a[0][2]?jD(a[0][0],a[0][1]):function(t){return t===e||qD(t,e,a)}}m7.exports=UD});var U2=m((IO,f7)=>{var GD=Xa(),$D=at(),zD="[object Symbol]";function HD(e){return typeof e=="symbol"||$D(e)&&GD(e)==zD}f7.exports=HD});var G2=m((VO,h7)=>{var WD=w1(),YD=U2(),KD=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,JD=/^\w*$/;function XD(e,a){if(WD(e))return!1;var t=typeof e;return t=="number"||t=="symbol"||t=="boolean"||e==null||YD(e)?!0:JD.test(e)||!KD.test(e)||a!=null&&e in Object(a)}h7.exports=XD});var w7=m((FO,g7)=>{var v7=V2(),ZD="Expected a function";function Zi(e,a){if(typeof e!="function"||a!=null&&typeof a!="function")throw new TypeError(ZD);var t=function(){var r=arguments,p=a?a.apply(this,r):r[0],i=t.cache;if(i.has(p))return i.get(p);var d=e.apply(this,r);return t.cache=i.set(p,d)||i,d};return t.cache=new(Zi.Cache||v7),t}Zi.Cache=v7;g7.exports=Zi});var y7=m((qO,b7)=>{var QD=w7(),eP=500;function aP(e){var a=QD(e,function(r){return t.size===eP&&t.clear(),r}),t=a.cache;return a}b7.exports=aP});var S7=m((BO,_7)=>{var tP=y7(),rP=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,pP=/\\(\\)?/g,iP=tP(function(e){var a=[];return e.charCodeAt(0)===46&&a.push(""),e.replace(rP,function(t,r,p,i){a.push(p?i.replace(pP,"$1"):r||t)}),a});_7.exports=iP});var C7=m((jO,N7)=>{function dP(e,a){for(var t=-1,r=e==null?0:e.length,p=Array(r);++t<r;)p[t]=a(e[t],t,e);return p}N7.exports=dP});var T7=m((UO,L7)=>{var x7=Xt(),nP=C7(),sP=w1(),oP=U2(),lP=1/0,D7=x7?x7.prototype:void 0,P7=D7?D7.toString:void 0;function E7(e){if(typeof e=="string")return e;if(sP(e))return nP(e,E7)+"";if(oP(e))return P7?P7.call(e):"";var a=e+"";return a=="0"&&1/e==-lP?"-0":a}L7.exports=E7});var O7=m((GO,A7)=>{var uP=T7();function mP(e){return e==null?"":uP(e)}A7.exports=mP});var Qi=m(($O,k7)=>{var cP=w1(),fP=G2(),hP=S7(),vP=O7();function gP(e,a){return cP(e)?e:fP(e,a)?[e]:hP(vP(e))}k7.exports=gP});var pr=m((zO,R7)=>{var wP=U2(),bP=1/0;function yP(e){if(typeof e=="string"||wP(e))return e;var a=e+"";return a=="0"&&1/e==-bP?"-0":a}R7.exports=yP});var ed=m((HO,M7)=>{var _P=Qi(),SP=pr();function NP(e,a){a=_P(a,e);for(var t=0,r=a.length;e!=null&&t<r;)e=e[SP(a[t++])];return t&&t==r?e:void 0}M7.exports=NP});var V7=m((WO,I7)=>{var CP=ed();function xP(e,a,t){var r=e==null?void 0:CP(e,a);return r===void 0?t:r}I7.exports=xP});var q7=m((YO,F7)=>{function DP(e,a){return e!=null&&a in Object(e)}F7.exports=DP});var j7=m((KO,B7)=>{var PP=Qi(),EP=Ii(),LP=w1(),TP=Fi(),AP=B2(),OP=pr();function kP(e,a,t){a=PP(a,e);for(var r=-1,p=a.length,i=!1;++r<p;){var d=OP(a[r]);if(!(i=e!=null&&t(e,d)))break;e=e[d]}return i||++r!=p?i:(p=e==null?0:e.length,!!p&&AP(p)&&TP(d,p)&&(LP(e)||EP(e)))}B7.exports=kP});var G7=m((JO,U7)=>{var RP=q7(),MP=j7();function IP(e,a){return e!=null&&MP(e,a,RP)}U7.exports=IP});var z7=m((XO,$7)=>{var VP=Ki(),FP=V7(),qP=G7(),BP=G2(),jP=Ji(),UP=Xi(),GP=pr(),$P=1,zP=2;function HP(e,a){return BP(e)&&jP(a)?UP(GP(e),a):function(t){var r=FP(t,e);return r===void 0&&r===a?qP(t,e):VP(a,r,$P|zP)}}$7.exports=HP});var W7=m((ZO,H7)=>{function WP(e){return e}H7.exports=WP});var K7=m((QO,Y7)=>{function YP(e){return function(a){return a?.[e]}}Y7.exports=YP});var X7=m((ek,J7)=>{var KP=ed();function JP(e){return function(a){return KP(a,e)}}J7.exports=JP});var Q7=m((ak,Z7)=>{var XP=K7(),ZP=X7(),QP=G2(),eE=pr();function aE(e){return QP(e)?XP(eE(e)):ZP(e)}Z7.exports=aE});var au=m((tk,eu)=>{var tE=c7(),rE=z7(),pE=W7(),iE=w1(),dE=Q7();function nE(e){return typeof e=="function"?e:e==null?pE:typeof e=="object"?iE(e)?rE(e[0],e[1]):tE(e):dE(e)}eu.exports=nE});var ru=m((rk,tu)=>{function sE(e,a,t,r){for(var p=e.length,i=t+(r?1:-1);r?i--:++i<p;)if(a(e[i],i,e))return i;return-1}tu.exports=sE});var iu=m((pk,pu)=>{function oE(e){return e!==e}pu.exports=oE});var nu=m((ik,du)=>{function lE(e,a,t){for(var r=t-1,p=e.length;++r<p;)if(e[r]===a)return r;return-1}du.exports=lE});var ou=m((dk,su)=>{var uE=ru(),mE=iu(),cE=nu();function fE(e,a,t){return a===a?cE(e,a,t):uE(e,mE,t)}su.exports=fE});var uu=m((nk,lu)=>{var hE=ou();function vE(e,a){var t=e==null?0:e.length;return!!t&&hE(e,a,0)>-1}lu.exports=vE});var cu=m((sk,mu)=>{function gE(e,a,t){for(var r=-1,p=e==null?0:e.length;++r<p;)if(t(a,e[r]))return!0;return!1}mu.exports=gE});var hu=m((ok,fu)=>{function wE(){}fu.exports=wE});var gu=m((lk,vu)=>{var ad=Ui(),bE=hu(),yE=q2(),_E=1/0,SE=ad&&1/yE(new ad([,-0]))[1]==_E?function(e){return new ad(e)}:bE;vu.exports=SE});var bu=m((uk,wu)=>{var NE=Oi(),CE=uu(),xE=cu(),DE=ki(),PE=gu(),EE=q2(),LE=200;function TE(e,a,t){var r=-1,p=CE,i=e.length,d=!0,n=[],s=n;if(t)d=!1,p=xE;else if(i>=LE){var o=a?null:PE(e);if(o)return EE(o);d=!1,p=DE,s=new NE}else s=a?[]:n;e:for(;++r<i;){var l=e[r],u=a?a(l):l;if(l=t||l!==0?l:0,d&&u===u){for(var c=s.length;c--;)if(s[c]===u)continue e;a&&s.push(u),n.push(l)}else p(s,u,t)||(s!==n&&s.push(u),n.push(l))}return n}wu.exports=TE});var _u=m((mk,yu)=>{var AE=au(),OE=bu();function kE(e,a){return e&&e.length?OE(e,AE(a,2)):[]}yu.exports=kE});var FE={};Ru(FE,{default:()=>Pu});module.exports=Mu(FE);var Ue=require("@raycast/api"),Cu=or(z0()),xu=or(r3()),Du=require("react");var p3=require("@raycast/api"),i3=require("path"),d3=require("fs/promises"),n3=require("child_process");async function lb(e,...a){let t=(0,i3.join)(p3.environment.assetsPath,"compiled_raycast_swift/color-picker");return await(0,d3.chmod)(t,"755"),new Promise((r,p)=>{let i=[e];for(let o of a)try{i.push(JSON.stringify(o,(l,u)=>u===void 0?null:u))}catch(l){p(new Bt("Failed to serialize input to JSON: "+l.message));return}let d=(0,n3.spawn)(t,i),n=[],s=[];d.stdout?.on("data",o=>{n.push(o.toString())}),d.stderr?.on("data",o=>{s.push(o.toString())}),d.on("exit",o=>{if(o===0)try{let l=n.join("").trim();l.length!=0?r(JSON.parse(l)):r(null)}catch(l){let u=new Bt("Failed to deserialize result from JSON: "+l.message);u.stdout=n.join("").trim(),u.stderr=s.join("").trim(),p(u)}else{let l=new Bt(s.join("").trim()||n.join("").trim()||"Could not get any data");l.stdout=n.join("").trim(),l.stderr=s.join("").trim(),p(l)}}),d.on("error",o=>{p(o)})})}async function s3(){return await lb("pickColor")}var Bt=class extends Error{constructor(a){super(a),this.name="SwiftError"}};var Su=require("@raycast/api"),IE=or(z0());var td=require("@raycast/api");function J(e,a){let t=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(a[0])||(a=a.map(d=>[d]));let r=a[0].length,p=a[0].map((d,n)=>a.map(s=>s[n])),i=e.map(d=>p.map(n=>{let s=0;if(!Array.isArray(d)){for(let o of n)s+=d*o;return s}for(let o=0;o<d.length;o++)s+=d[o]*(n[o]||0);return s}));return t===1&&(i=i[0]),r===1?i.map(d=>d[0]):i}function Ht(e){return T1(e)==="string"}function T1(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||"").toLowerCase()}function P2(e,{precision:a,unit:t}){return A1(e)?"none":d9(e,a)+(t??"")}function A1(e){return Number.isNaN(e)||e instanceof Number&&e?.none}function de(e){return A1(e)?0:e}function d9(e,a){if(e===0)return 0;let t=~~e,r=0;t&&a&&(r=~~Math.log10(Math.abs(t))+1);let p=10**(a-r);return Math.floor(e*p+.5)/p}var ub={deg:1,grad:.9,rad:180/Math.PI,turn:360};function n9(e){if(!e)return;e=e.trim();let a=/^([a-z]+)\((.+?)\)$/i,t=/^-?[\d.]+$/,r=/%|deg|g?rad|turn$/,p=/\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g,i=e.match(a);if(i){let d=[];return i[2].replace(p,(n,s)=>{let o=s.match(r),l=s;if(o){let u=o[0],c=l.slice(0,-u.length);u==="%"?(l=new Number(c/100),l.type="<percentage>"):(l=new Number(c*ub[u]),l.type="<angle>",l.unit=u)}else t.test(l)?(l=new Number(l),l.type="<number>"):l==="none"&&(l=new Number(NaN),l.none=!0);n.startsWith("/")&&(l=l instanceof Number?l:new Number(l),l.alpha=!0),typeof l=="object"&&l instanceof Number&&(l.raw=s),d.push(l)}),{name:i[1].toLowerCase(),rawName:i[1],rawArgs:i[2],args:d}}}function s9(e){return e[e.length-1]}function Gt(e,a,t){return isNaN(e)?a:isNaN(a)?e:e+(a-e)*t}function o9(e,a,t){return(t-e)/(a-e)}function wi(e,a,t){return Gt(a[0],a[1],o9(e[0],e[1],t))}function l9(e){return e.map(a=>a.split("|").map(t=>{t=t.trim();let r=t.match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);if(r){let p=new String(r[1]);return p.range=[+r[2],+r[3]],p}return t}))}function u9(e,a,t){return Math.max(Math.min(t,a),e)}function A2(e,a){return Math.sign(e)===Math.sign(a)?e:-e}function i1(e,a){return A2(Math.abs(e)**a,e)}function bi(e,a){return a===0?0:e/a}function m9(e,a,t=0,r=e.length){for(;t<r;){let p=t+r>>1;e[p]<a?t=p+1:r=p}return t}var mb=Object.freeze({__proto__:null,bisectLeft:m9,clamp:u9,copySign:A2,interpolate:Gt,interpolateInv:o9,isNone:A1,isString:Ht,last:s9,mapRange:wi,multiplyMatrices:J,parseCoordGrammar:l9,parseFunction:n9,serializeNumber:P2,skipNone:de,spow:i1,toPrecision:d9,type:T1,zdiv:bi}),oi=class{add(a,t,r){if(typeof arguments[0]!="string"){for(var a in arguments[0])this.add(a,arguments[0][a],arguments[1]);return}(Array.isArray(a)?a:[a]).forEach(function(p){this[p]=this[p]||[],t&&this[p][r?"unshift":"push"](t)},this)}run(a,t){this[a]=this[a]||[],this[a].forEach(function(r){r.call(t&&t.context?t.context:t,t)})}},O1=new oi,Re={gamut_mapping:"css",precision:5,deltaE:"76",verbose:globalThis?.process?.env?.NODE_ENV?.toLowerCase()!=="test",warn:function(a){this.verbose&&globalThis?.console?.warn?.(a)}},Ee={D50:[.3457/.3585,1,(1-.3457-.3585)/.3585],D65:[.3127/.329,1,(1-.3127-.329)/.329]};function li(e){return Array.isArray(e)?e:Ee[e]}function E2(e,a,t,r={}){if(e=li(e),a=li(a),!e||!a)throw new TypeError(`Missing white point to convert ${e?"":"from"}${!e&&!a?"/":""}${a?"":"to"}`);if(e===a)return t;let p={W1:e,W2:a,XYZ:t,options:r};if(O1.run("chromatic-adaptation-start",p),p.M||(p.W1===Ee.D65&&p.W2===Ee.D50?p.M=[[1.0479297925449969,.022946870601609652,-.05019226628920524],[.02962780877005599,.9904344267538799,-.017073799063418826],[-.009243040646204504,.015055191490298152,.7518742814281371]]:p.W1===Ee.D50&&p.W2===Ee.D65&&(p.M=[[.955473421488075,-.02309845494876471,.06325924320057072],[-.0283697093338637,1.0099953980813041,.021041441191917323],[.012314014864481998,-.020507649298898964,1.330365926242124]])),O1.run("chromatic-adaptation-end",p),p.M)return J(p.M,p.XYZ);throw new TypeError("Only Bradford CAT with white points D50 and D65 supported for now.")}var cb=new Set(["<number>","<percentage>","<angle>"]);function o3(e,a,t,r){return Object.entries(e.coords).map(([i,d],n)=>{let s=a.coordGrammar[n],o=r[n],l=o?.type,u;if(o.none?u=s.find(f=>cb.has(f)):u=s.find(f=>f==l),!u){let f=d.name||i;throw new TypeError(`${l??o.raw} not allowed for ${f} in ${t}()`)}let c=u.range;l==="<percentage>"&&(c||=[0,1]);let g=d.range||d.refRange;return c&&g&&(r[n]=wi(c,g,r[n])),u})}function c9(e,{meta:a}={}){let t={str:String(e)?.trim()};if(O1.run("parse-start",t),t.color)return t.color;if(t.parsed=n9(t.str),t.parsed){let r=t.parsed.name;if(r==="color"){let p=t.parsed.args.shift(),i=p.startsWith("--")?p.substring(2):`--${p}`,d=[p,i],n=t.parsed.rawArgs.indexOf("/")>0?t.parsed.args.pop():1;for(let l of P.all){let u=l.getFormat("color");if(u&&(d.includes(u.id)||u.ids?.filter(c=>d.includes(c)).length)){let c=Object.keys(l.coords).map((f,h)=>t.parsed.args[h]||0),g;return u.coordGrammar&&(g=o3(l,u,"color",c)),a&&Object.assign(a,{formatId:"color",types:g}),u.id.startsWith("--")&&!p.startsWith("--")&&Re.warn(`${l.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${u.id}) instead of color(${p}).`),p.startsWith("--")&&!u.id.startsWith("--")&&Re.warn(`${l.name} is a standard space and supported in the CSS spec. Use color(${u.id}) instead of prefixed color(${p}).`),{spaceId:l.id,coords:c,alpha:n}}}let s="",o=p in P.registry?p:i;if(o in P.registry){let l=P.registry[o].formats?.color?.id;l&&(s=`Did you mean color(${l})?`)}throw new TypeError(`Cannot parse color(${p}). `+(s||"Missing a plugin?"))}else for(let p of P.all){let i=p.getFormat(r);if(i&&i.type==="function"){let d=1;(i.lastAlpha||s9(t.parsed.args).alpha)&&(d=t.parsed.args.pop());let n=t.parsed.args,s;return i.coordGrammar&&(s=o3(p,i,r,n)),a&&Object.assign(a,{formatId:i.name,types:s}),{spaceId:p.id,coords:n,alpha:d}}}}else for(let r of P.all)for(let p in r.formats){let i=r.formats[p];if(i.type!=="custom"||i.test&&!i.test(t.str))continue;let d=i.parse(t.str);if(d)return d.alpha??=1,a&&(a.formatId=p),d}throw new TypeError(`Could not parse ${e} as a color. Missing a plugin?`)}function R(e){if(Array.isArray(e))return e.map(R);if(!e)throw new TypeError("Empty color reference");Ht(e)&&(e=c9(e));let a=e.space||e.spaceId;return a instanceof P||(e.space=P.get(a)),e.alpha===void 0&&(e.alpha=1),e}var fb=75e-6,P=class e{constructor(a){this.id=a.id,this.name=a.name,this.base=a.base?e.get(a.base):null,this.aliases=a.aliases,this.base&&(this.fromBase=a.fromBase,this.toBase=a.toBase);let t=a.coords??this.base.coords;for(let p in t)"name"in t[p]||(t[p].name=p);this.coords=t;let r=a.white??this.base.white??"D65";this.white=li(r),this.formats=a.formats??{};for(let p in this.formats){let i=this.formats[p];i.type||="function",i.name||=p}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:a.cssId||this.id}),a.gamutSpace?this.gamutSpace=a.gamutSpace==="self"?this:e.get(a.gamutSpace):this.isPolar?this.gamutSpace=this.base:this.gamutSpace=this,this.gamutSpace.isUnbounded&&(this.inGamut=(p,i)=>!0),this.referred=a.referred,Object.defineProperty(this,"path",{value:hb(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),O1.run("colorspace-init-end",this)}inGamut(a,{epsilon:t=fb}={}){if(!this.equals(this.gamutSpace))return a=this.to(this.gamutSpace,a),this.gamutSpace.inGamut(a,{epsilon:t});let r=Object.values(this.coords);return a.every((p,i)=>{let d=r[i];if(d.type!=="angle"&&d.range){if(Number.isNaN(p))return!0;let[n,s]=d.range;return(n===void 0||p>=n-t)&&(s===void 0||p<=s+t)}return!0})}get isUnbounded(){return Object.values(this.coords).every(a=>!("range"in a))}get cssId(){return this.formats?.color?.id||this.id}get isPolar(){for(let a in this.coords)if(this.coords[a].type==="angle")return!0;return!1}getFormat(a){if(typeof a=="object")return a=l3(a,this),a;let t;return a==="default"?t=Object.values(this.formats)[0]:t=this.formats[a],t?(t=l3(t,this),t):null}equals(a){return a?this===a||this.id===a||this.id===a.id:!1}to(a,t){if(arguments.length===1){let n=R(a);[a,t]=[n.space,n.coords]}if(a=e.get(a),this.equals(a))return t;t=t.map(n=>Number.isNaN(n)?0:n);let r=this.path,p=a.path,i,d;for(let n=0;n<r.length&&r[n].equals(p[n]);n++)i=r[n],d=n;if(!i)throw new Error(`Cannot convert between color spaces ${this} and ${a}: no connection space was found`);for(let n=r.length-1;n>d;n--)t=r[n].toBase(t);for(let n=d+1;n<p.length;n++)t=p[n].fromBase(t);return t}from(a,t){if(arguments.length===1){let r=R(a);[a,t]=[r.space,r.coords]}return a=e.get(a),a.to(this,t)}toString(){return`${this.name} (${this.id})`}getMinCoords(){let a=[];for(let t in this.coords){let r=this.coords[t],p=r.range||r.refRange;a.push(p?.min??0)}return a}static registry={};static get all(){return[...new Set(Object.values(e.registry))]}static register(a,t){if(arguments.length===1&&(t=arguments[0],a=t.id),t=this.get(t),this.registry[a]&&this.registry[a]!==t)throw new Error(`Duplicate color space registration: '${a}'`);if(this.registry[a]=t,arguments.length===1&&t.aliases)for(let r of t.aliases)this.register(r,t);return t}static get(a,...t){if(!a||a instanceof e)return a;if(T1(a)==="string"){let p=e.registry[a.toLowerCase()];if(!p)throw new TypeError(`No color space found with id = "${a}"`);return p}if(t.length)return e.get(...t);throw new TypeError(`${a} is not a valid color space`)}static resolveCoord(a,t){let r=T1(a),p,i;if(r==="string"?a.includes(".")?[p,i]=a.split("."):[p,i]=[,a]:Array.isArray(a)?[p,i]=a:(p=a.space,i=a.coordId),p=e.get(p),p||(p=t),!p)throw new TypeError(`Cannot resolve coordinate reference ${a}: No color space specified and relative references are not allowed here`);if(r=T1(i),r==="number"||r==="string"&&i>=0){let s=Object.entries(p.coords)[i];if(s)return{space:p,id:s[0],index:i,...s[1]}}p=e.get(p);let d=i.toLowerCase(),n=0;for(let s in p.coords){let o=p.coords[s];if(s.toLowerCase()===d||o.name?.toLowerCase()===d)return{space:p,id:s,index:n,...o};n++}throw new TypeError(`No "${i}" coordinate found in ${p.name}. Its coordinates are: ${Object.keys(p.coords).join(", ")}`)}static DEFAULT_FORMAT={type:"functions",name:"color"}};function hb(e){let a=[e];for(let t=e;t=t.base;)a.push(t);return a}function l3(e,{coords:a}={}){if(e.coords&&!e.coordGrammar){e.type||="function",e.name||="color",e.coordGrammar=l9(e.coords);let t=Object.entries(a).map(([r,p],i)=>{let d=e.coordGrammar[i][0],n=p.range||p.refRange,s=d.range,o="";return d=="<percentage>"?(s=[0,100],o="%"):d=="<angle>"&&(o="deg"),{fromRange:n,toRange:s,suffix:o}});e.serializeCoords=(r,p)=>r.map((i,d)=>{let{fromRange:n,toRange:s,suffix:o}=t[d];return n&&s&&(i=wi(n,s,i)),i=P2(i,{precision:p,unit:o}),i})}return e}var ve=new P({id:"xyz-d65",name:"XYZ D65",coords:{x:{name:"X"},y:{name:"Y"},z:{name:"Z"}},white:"D65",formats:{color:{ids:["xyz-d65","xyz"]}},aliases:["xyz"]}),Se=class extends P{constructor(a){a.coords||(a.coords={r:{range:[0,1],name:"Red"},g:{range:[0,1],name:"Green"},b:{range:[0,1],name:"Blue"}}),a.base||(a.base=ve),a.toXYZ_M&&a.fromXYZ_M&&(a.toBase??=t=>{let r=J(a.toXYZ_M,t);return this.white!==this.base.white&&(r=E2(this.white,this.base.white,r)),r},a.fromBase??=t=>(t=E2(this.base.white,this.white,t),J(a.fromXYZ_M,t))),a.referred??="display",super(a)}};function Wt(e,a){return e=R(e),!a||e.space.equals(a)?e.coords.slice():(a=P.get(a),a.from(e))}function Oe(e,a){e=R(e);let{space:t,index:r}=P.resolveCoord(a,e.space);return Wt(e,t)[r]}function yi(e,a,t){return e=R(e),a=P.get(a),e.coords=a.to(e.space,t),e}yi.returns="color";function g1(e,a,t){if(e=R(e),arguments.length===2&&T1(arguments[1])==="object"){let r=arguments[1];for(let p in r)g1(e,p,r[p])}else{typeof t=="function"&&(t=t(Oe(e,a)));let{space:r,index:p}=P.resolveCoord(a,e.space),i=Wt(e,r);i[p]=t,yi(e,r,i)}return e}g1.returns="color";var _i=new P({id:"xyz-d50",name:"XYZ D50",white:"D50",base:ve,fromBase:e=>E2(ve.white,"D50",e),toBase:e=>E2("D50",ve.white,e)}),vb=216/24389,u3=24/116,w2=24389/27,Qp=Ee.D50,ke=new P({id:"lab",name:"Lab",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:Qp,base:_i,fromBase(e){let t=e.map((r,p)=>r/Qp[p]).map(r=>r>vb?Math.cbrt(r):(w2*r+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let a=[];return a[1]=(e[0]+16)/116,a[0]=e[1]/500+a[1],a[2]=a[1]-e[2]/200,[a[0]>u3?Math.pow(a[0],3):(116*a[0]-16)/w2,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/w2,a[2]>u3?Math.pow(a[2],3):(116*a[2]-16)/w2].map((r,p)=>r*Qp[p])},formats:{lab:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function d1(e){return(e%360+360)%360}function gb(e,a){if(e==="raw")return a;let[t,r]=a.map(d1),p=r-t;return e==="increasing"?p<0&&(r+=360):e==="decreasing"?p>0&&(t+=360):e==="longer"?-180<p&&p<180&&(p>0?t+=360:r+=360):e==="shorter"&&(p>180?t+=360:p<-180&&(r+=360)),[t,r]}var $t=new P({id:"lch",name:"LCH",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,150],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:ke,fromBase(e){let[a,t,r]=e,p,i=.02;return Math.abs(t)<i&&Math.abs(r)<i?p=NaN:p=Math.atan2(r,t)*180/Math.PI,[a,Math.sqrt(t**2+r**2),d1(p)]},toBase(e){let[a,t,r]=e;return t<0&&(t=0),isNaN(r)&&(r=0),[a,t*Math.cos(r*Math.PI/180),t*Math.sin(r*Math.PI/180)]},formats:{lch:{coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}}),m3=25**7,L2=Math.PI,c3=180/L2,Ua=L2/180;function f3(e){let a=e*e;return a*a*a*e}function f9(e,a,{kL:t=1,kC:r=1,kH:p=1}={}){[e,a]=R([e,a]);let[i,d,n]=ke.from(e),s=$t.from(ke,[i,d,n])[1],[o,l,u]=ke.from(a),c=$t.from(ke,[o,l,u])[1];s<0&&(s=0),c<0&&(c=0);let g=(s+c)/2,f=f3(g),h=.5*(1-Math.sqrt(f/(f+m3))),v=(1+h)*d,w=(1+h)*l,y=Math.sqrt(v**2+n**2),_=Math.sqrt(w**2+u**2),S=v===0&&n===0?0:Math.atan2(n,v),D=w===0&&u===0?0:Math.atan2(u,w);S<0&&(S+=2*L2),D<0&&(D+=2*L2),S*=c3,D*=c3;let T=o-i,E=_-y,A=D-S,k=S+D,j=Math.abs(A),N;y*_===0?N=0:j<=180?N=A:A>180?N=A-360:A<-180?N=A+360:Re.warn("the unthinkable has happened");let L=2*Math.sqrt(_*y)*Math.sin(N*Ua/2),B=(i+o)/2,C=(y+_)/2,M=f3(C),G;y*_===0?G=k:j<=180?G=k/2:k<360?G=(k+360)/2:G=(k-360)/2;let $=(B-50)**2,H=1+.015*$/Math.sqrt(20+$),fe=1+.045*C,Ne=1;Ne-=.17*Math.cos((G-30)*Ua),Ne+=.24*Math.cos(2*G*Ua),Ne+=.32*Math.cos((3*G+6)*Ua),Ne-=.2*Math.cos((4*G-63)*Ua);let We=1+.015*C*Ne,Me=30*Math.exp(-1*((G-275)/25)**2),oe=2*Math.sqrt(M/(M+m3)),da=-1*Math.sin(2*Me*Ua)*oe,Le=(T/(t*H))**2;return Le+=(E/(r*fe))**2,Le+=(L/(p*We))**2,Le+=da*(E/(r*fe))*(L/(p*We)),Math.sqrt(Le)}var wb=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],bb=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],yb=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],_b=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],Ha=new P({id:"oklab",name:"Oklab",coords:{l:{refRange:[0,1],name:"Lightness"},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:"D65",base:ve,fromBase(e){let t=J(wb,e).map(r=>Math.cbrt(r));return J(yb,t)},toBase(e){let t=J(_b,e).map(r=>r**3);return J(bb,t)},formats:{oklab:{coords:["<percentage> | <number>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function ui(e,a){[e,a]=R([e,a]);let[t,r,p]=Ha.from(e),[i,d,n]=Ha.from(a),s=t-i,o=r-d,l=p-n;return Math.sqrt(s**2+o**2+l**2)}var Sb=75e-6;function ra(e,a,{epsilon:t=Sb}={}){e=R(e),a||(a=e.space),a=P.get(a);let r=e.coords;return a!==e.space&&(r=a.from(e)),a.inGamut(r,{epsilon:t})}function Wa(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function h9(e,a,t="lab"){t=P.get(t);let r=t.from(e),p=t.from(a);return Math.sqrt(r.reduce((i,d,n)=>{let s=p[n];return isNaN(d)||isNaN(s)?i:i+(s-d)**2},0))}function Nb(e,a){return h9(e,a,"lab")}var Cb=Math.PI,h3=Cb/180;function xb(e,a,{l:t=2,c:r=1}={}){[e,a]=R([e,a]);let[p,i,d]=ke.from(e),[,n,s]=$t.from(ke,[p,i,d]),[o,l,u]=ke.from(a),c=$t.from(ke,[o,l,u])[1];n<0&&(n=0),c<0&&(c=0);let g=p-o,f=n-c,h=i-l,v=d-u,w=h**2+v**2-f**2,y=.511;p>=16&&(y=.040975*p/(1+.01765*p));let _=.0638*n/(1+.0131*n)+.638,S;Number.isNaN(s)&&(s=0),s>=164&&s<=345?S=.56+Math.abs(.2*Math.cos((s+168)*h3)):S=.36+Math.abs(.4*Math.cos((s+35)*h3));let D=Math.pow(n,4),T=Math.sqrt(D/(D+1900)),E=_*(T*S+1-T),A=(g/(t*y))**2;return A+=(f/(r*_))**2,A+=w/E**2,Math.sqrt(A)}var v3=203,Si=new P({id:"xyz-abs-d65",cssId:"--xyz-abs-d65",name:"Absolute XYZ D65",coords:{x:{refRange:[0,9504.7],name:"Xa"},y:{refRange:[0,1e4],name:"Ya"},z:{refRange:[0,10888.3],name:"Za"}},base:ve,fromBase(e){return e.map(a=>Math.max(a*v3,0))},toBase(e){return e.map(a=>Math.max(a/v3,0))}}),b2=1.15,y2=.66,g3=2610/2**14,Db=2**14/2610,w3=3424/2**12,b3=2413/2**7,y3=2392/2**7,Pb=1.7*2523/2**5,_3=2**5/(1.7*2523),_2=-.56,ei=16295499532821565e-27,Eb=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],Lb=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],Tb=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],Ab=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]],v9=new P({id:"jzazbz",name:"Jzazbz",coords:{jz:{refRange:[0,1],name:"Jz"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:Si,fromBase(e){let[a,t,r]=e,p=b2*a-(b2-1)*r,i=y2*t-(y2-1)*a,n=J(Eb,[p,i,r]).map(function(c){let g=w3+b3*(c/1e4)**g3,f=1+y3*(c/1e4)**g3;return(g/f)**Pb}),[s,o,l]=J(Tb,n);return[(1+_2)*s/(1+_2*s)-ei,o,l]},toBase(e){let[a,t,r]=e,p=(a+ei)/(1+_2-_2*(a+ei)),d=J(Ab,[p,t,r]).map(function(c){let g=w3-c**_3,f=y3*c**_3-b3;return 1e4*(g/f)**Db}),[n,s,o]=J(Lb,d),l=(n+(b2-1)*o)/b2,u=(s+(y2-1)*l)/y2;return[l,u,o]},formats:{color:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),mi=new P({id:"jzczhz",name:"JzCzHz",coords:{jz:{refRange:[0,1],name:"Jz"},cz:{refRange:[0,1],name:"Chroma"},hz:{refRange:[0,360],type:"angle",name:"Hue"}},base:v9,fromBase(e){let[a,t,r]=e,p,i=2e-4;return Math.abs(t)<i&&Math.abs(r)<i?p=NaN:p=Math.atan2(r,t)*180/Math.PI,[a,Math.sqrt(t**2+r**2),d1(p)]},toBase(e){return[e[0],e[1]*Math.cos(e[2]*Math.PI/180),e[1]*Math.sin(e[2]*Math.PI/180)]}});function Ob(e,a){[e,a]=R([e,a]);let[t,r,p]=mi.from(e),[i,d,n]=mi.from(a),s=t-i,o=r-d;Number.isNaN(p)&&Number.isNaN(n)?(p=0,n=0):Number.isNaN(p)?p=n:Number.isNaN(n)&&(n=p);let l=p-n,u=2*Math.sqrt(r*d)*Math.sin(l/2*(Math.PI/180));return Math.sqrt(s**2+o**2+u**2)}var g9=3424/4096,w9=2413/128,b9=2392/128,S3=2610/16384,kb=2523/32,Rb=16384/2610,N3=32/2523,Mb=[[.3592832590121217,.6976051147779502,-.035891593232029],[-.1920808463704993,1.100476797037432,.0753748658519118],[.0070797844607479,.0748396662186362,.8433265453898765]],Ib=[[2048/4096,2048/4096,0],[6610/4096,-13613/4096,7003/4096],[17933/4096,-17390/4096,-543/4096]],Vb=[[.9999999999999998,.0086090370379328,.111029625003026],[.9999999999999998,-.0086090370379328,-.1110296250030259],[.9999999999999998,.5600313357106791,-.3206271749873188]],Fb=[[2.0701522183894223,-1.3263473389671563,.2066510476294053],[.3647385209748072,.6805660249472273,-.0453045459220347],[-.0497472075358123,-.0492609666966131,1.1880659249923042]],ci=new P({id:"ictcp",name:"ICTCP",coords:{i:{refRange:[0,1],name:"I"},ct:{refRange:[-.5,.5],name:"CT"},cp:{refRange:[-.5,.5],name:"CP"}},base:Si,fromBase(e){let a=J(Mb,e);return qb(a)},toBase(e){let a=Bb(e);return J(Fb,a)}});function qb(e){let a=e.map(function(t){let r=g9+w9*(t/1e4)**S3,p=1+b9*(t/1e4)**S3;return(r/p)**kb});return J(Ib,a)}function Bb(e){return J(Vb,e).map(function(r){let p=Math.max(r**N3-g9,0),i=w9-b9*r**N3;return 1e4*(p/i)**Rb})}function jb(e,a){[e,a]=R([e,a]);let[t,r,p]=ci.from(e),[i,d,n]=ci.from(a);return 720*Math.sqrt((t-i)**2+.25*(r-d)**2+(p-n)**2)}var Ub=Ee.D65,y9=.42,C3=1/y9,ai=2*Math.PI,_9=[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],Gb=[[1.8620678550872327,-1.0112546305316843,.14918677544445175],[.38752654323613717,.6214474419314753,-.008973985167612518],[-.015841498849333856,-.03412293802851557,1.0499644368778496]],$b=[[460,451,288],[460,-891,-261],[460,-220,-6300]],zb={dark:[.8,.525,.8],dim:[.9,.59,.9],average:[1,.69,1]},ta={h:[20.14,90,164.25,237.53,380.14],e:[.8,.7,1,1.2,.8],H:[0,100,200,300,400]},Hb=180/Math.PI,x3=Math.PI/180;function S9(e,a){return e.map(r=>{let p=i1(a*Math.abs(r)*.01,y9);return 400*A2(p,r)/(p+27.13)})}function Wb(e,a){let t=100/a*27.13**C3;return e.map(r=>{let p=Math.abs(r);return A2(t*i1(p/(400-p),C3),r)})}function Yb(e){let a=d1(e);a<=ta.h[0]&&(a+=360);let t=m9(ta.h,a)-1,[r,p]=ta.h.slice(t,t+2),[i,d]=ta.e.slice(t,t+2),n=ta.H[t],s=(a-r)/i;return n+100*s/(s+(p-a)/d)}function Kb(e){let a=(e%400+400)%400,t=Math.floor(.01*a);a=a%100;let[r,p]=ta.h.slice(t,t+2),[i,d]=ta.e.slice(t,t+2);return d1((a*(d*r-i*p)-100*r*d)/(a*(d-i)-100*d))}function N9(e,a,t,r,p){let i={};i.discounting=p,i.refWhite=e,i.surround=r;let d=e.map(h=>h*100);i.la=a,i.yb=t;let n=d[1],s=J(_9,d);r=zb[i.surround];let o=r[0];i.c=r[1],i.nc=r[2];let u=(1/(5*i.la+1))**4;i.fl=u*i.la+.1*(1-u)*(1-u)*Math.cbrt(5*i.la),i.flRoot=i.fl**.25,i.n=i.yb/n,i.z=1.48+Math.sqrt(i.n),i.nbb=.725*i.n**-.2,i.ncb=i.nbb;let c=p?1:Math.max(Math.min(o*(1-1/3.6*Math.exp((-i.la-42)/92)),1),0);i.dRgb=s.map(h=>Gt(1,n/h,c)),i.dRgbInv=i.dRgb.map(h=>1/h);let g=s.map((h,v)=>h*i.dRgb[v]),f=S9(g,i.fl);return i.aW=i.nbb*(2*f[0]+f[1]+.05*f[2]),i}var D3=N9(Ub,64/Math.PI*.2,20,"average",!1);function fi(e,a){if(!(e.J!==void 0^e.Q!==void 0))throw new Error("Conversion requires one and only one: 'J' or 'Q'");if(!(e.C!==void 0^e.M!==void 0^e.s!==void 0))throw new Error("Conversion requires one and only one: 'C', 'M' or 's'");if(!(e.h!==void 0^e.H!==void 0))throw new Error("Conversion requires one and only one: 'h' or 'H'");if(e.J===0||e.Q===0)return[0,0,0];let t=0;e.h!==void 0?t=d1(e.h)*x3:t=Kb(e.H)*x3;let r=Math.cos(t),p=Math.sin(t),i=0;e.J!==void 0?i=i1(e.J,1/2)*.1:e.Q!==void 0&&(i=.25*a.c*e.Q/((a.aW+4)*a.flRoot));let d=0;e.C!==void 0?d=e.C/i:e.M!==void 0?d=e.M/a.flRoot/i:e.s!==void 0&&(d=4e-4*e.s**2*(a.aW+4)/a.c);let n=i1(d*Math.pow(1.64-Math.pow(.29,a.n),-.73),10/9),s=.25*(Math.cos(t+2)+3.8),o=a.aW*i1(i,2/a.c/a.z),l=5e4/13*a.nc*a.ncb*s,u=o/a.nbb,c=23*(u+.305)*bi(n,23*l+n*(11*r+108*p)),g=c*r,f=c*p,h=Wb(J($b,[u,g,f]).map(v=>v*1/1403),a.fl);return J(Gb,h.map((v,w)=>v*a.dRgbInv[w])).map(v=>v/100)}function C9(e,a){let t=e.map(_=>_*100),r=S9(J(_9,t).map((_,S)=>_*a.dRgb[S]),a.fl),p=r[0]+(-12*r[1]+r[2])/11,i=(r[0]+r[1]-2*r[2])/9,d=(Math.atan2(i,p)%ai+ai)%ai,n=.25*(Math.cos(d+2)+3.8),s=5e4/13*a.nc*a.ncb*bi(n*Math.sqrt(p**2+i**2),r[0]+r[1]+1.05*r[2]+.305),o=i1(s,.9)*Math.pow(1.64-Math.pow(.29,a.n),.73),l=a.nbb*(2*r[0]+r[1]+.05*r[2]),u=i1(l/a.aW,.5*a.c*a.z),c=100*i1(u,2),g=4/a.c*u*(a.aW+4)*a.flRoot,f=o*u,h=f*a.flRoot,v=d1(d*Hb),w=Yb(v),y=50*i1(a.c*o/(a.aW+4),1/2);return{J:c,C:f,h:v,s:y,Q:g,M:h,H:w}}var Jb=new P({id:"cam16-jmh",cssId:"--cam16-jmh",name:"CAM16-JMh",coords:{j:{refRange:[0,100],name:"J"},m:{refRange:[0,105],name:"Colorfulness"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:ve,fromBase(e){let a=C9(e,D3);return[a.J,a.M,a.h]},toBase(e){return fi({J:e[0],M:e[1],h:e[2]},D3)}}),Xb=Ee.D65,Zb=216/24389,x9=24389/27;function Qb(e){return 116*(e>Zb?Math.cbrt(e):(x9*e+16)/116)-16}function hi(e){return e>8?Math.pow((e+16)/116,3):e/x9}function ey(e,a){let[t,r,p]=e,i=[],d=0;if(p===0)return[0,0,0];let n=hi(p);p>0?d=.00379058511492914*p**2+.608983189401032*p+.9155088574762233:d=9514440756550361e-21*p**2+.08693057439788597*p-21.928975842194614;let s=2e-12,o=15,l=0,u=1/0;for(;l<=o;){i=fi({J:d,C:r,h:t},a);let c=Math.abs(i[1]-n);if(c<u){if(c<=s)return i;u=c}d=d-(i[1]-n)*d/(2*i[1]),l+=1}return fi({J:d,C:r,h:t},a)}function ay(e,a){let t=Qb(e[1]);if(t===0)return[0,0,0];let r=C9(e,Ni);return[d1(r.h),r.C,t]}var Ni=N9(Xb,200/Math.PI*hi(50),hi(50)*100,"average",!1),zt=new P({id:"hct",name:"HCT",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},c:{refRange:[0,145],name:"Colorfulness"},t:{refRange:[0,100],name:"Tone"}},base:ve,fromBase(e){return ay(e)},toBase(e){return ey(e,Ni)},formats:{color:{id:"--hct",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),ty=Math.PI/180,P3=[1,.007,.0228];function E3(e){e[1]<0&&(e=zt.fromBase(zt.toBase(e)));let a=Math.log(Math.max(1+P3[2]*e[1]*Ni.flRoot,1))/P3[2],t=e[0]*ty,r=a*Math.cos(t),p=a*Math.sin(t);return[e[2],r,p]}function ry(e,a){[e,a]=R([e,a]);let[t,r,p]=E3(zt.from(e)),[i,d,n]=E3(zt.from(a));return Math.sqrt((t-i)**2+(r-d)**2+(p-n)**2)}var Ya={deltaE76:Nb,deltaECMC:xb,deltaE2000:f9,deltaEJz:Ob,deltaEITP:jb,deltaEOK:ui,deltaEHCT:ry};function py(e){let a=e?Math.floor(Math.log10(Math.abs(e))):0;return Math.max(parseFloat(`1e${a-2}`),1e-6)}var L3={hct:{method:"hct.c",jnd:2,deltaEMethod:"hct",blackWhiteClamp:{}},"hct-tonal":{method:"hct.c",jnd:0,deltaEMethod:"hct",blackWhiteClamp:{channel:"hct.t",min:0,max:100}}};function k1(e,{method:a=Re.gamut_mapping,space:t=void 0,deltaEMethod:r="",jnd:p=2,blackWhiteClamp:i={}}={}){if(e=R(e),Ht(arguments[1])?t=arguments[1]:t||(t=e.space),t=P.get(t),ra(e,t,{epsilon:0}))return e;let d;if(a==="css")d=iy(e,{space:t});else{if(a!=="clip"&&!ra(e,t)){Object.prototype.hasOwnProperty.call(L3,a)&&({method:a,jnd:p,deltaEMethod:r,blackWhiteClamp:i}=L3[a]);let n=f9;if(r!==""){for(let o in Ya)if("deltae"+r.toLowerCase()===o.toLowerCase()){n=Ya[o];break}}let s=k1(K(e,t),{method:"clip",space:t});if(n(e,s)>p){if(Object.keys(i).length===3){let y=P.resolveCoord(i.channel),_=Oe(K(e,y.space),y.id);if(A1(_)&&(_=0),_>=i.max)return K({space:"xyz-d65",coords:Ee.D65},e.space);if(_<=i.min)return K({space:"xyz-d65",coords:[0,0,0]},e.space)}let o=P.resolveCoord(a),l=o.space,u=o.id,c=K(e,l);c.coords.forEach((y,_)=>{A1(y)&&(c.coords[_]=0)});let f=(o.range||o.refRange)[0],h=py(p),v=f,w=Oe(c,u);for(;w-v>h;){let y=Wa(c);y=k1(y,{space:t,method:"clip"}),n(c,y)-p<h?v=Oe(c,u):w=Oe(c,u),g1(c,u,(v+w)/2)}d=K(c,t)}else d=s}else d=K(e,t);if(a==="clip"||!ra(d,t,{epsilon:0})){let n=Object.values(t.coords).map(s=>s.range||[]);d.coords=d.coords.map((s,o)=>{let[l,u]=n[o];return l!==void 0&&(s=Math.max(l,s)),u!==void 0&&(s=Math.min(s,u)),s})}}return t!==e.space&&(d=K(d,e.space)),e.coords=d.coords,e}k1.returns="color";var T3={WHITE:{space:Ha,coords:[1,0,0]},BLACK:{space:Ha,coords:[0,0,0]}};function iy(e,{space:a}={}){e=R(e),a||(a=e.space),a=P.get(a);let p=P.get("oklch");if(a.isUnbounded)return K(e,a);let i=K(e,p),d=i.coords[0];if(d>=1){let f=K(T3.WHITE,a);return f.alpha=e.alpha,K(f,a)}if(d<=0){let f=K(T3.BLACK,a);return f.alpha=e.alpha,K(f,a)}if(ra(i,a,{epsilon:0}))return K(i,a);function n(f){let h=K(f,a),v=Object.values(a.coords);return h.coords=h.coords.map((w,y)=>{if("range"in v[y]){let[_,S]=v[y].range;return u9(_,w,S)}return w}),h}let s=0,o=i.coords[1],l=!0,u=Wa(i),c=n(u),g=ui(c,u);if(g<.02)return c;for(;o-s>1e-4;){let f=(s+o)/2;if(u.coords[1]=f,l&&ra(u,a,{epsilon:0}))s=f;else if(c=n(u),g=ui(c,u),g<.02){if(.02-g<1e-4)break;l=!1,s=f}else o=f}return c}function K(e,a,{inGamut:t}={}){e=R(e),a=P.get(a);let r=a.from(e),p={space:a,coords:r,alpha:e.alpha};return t&&(p=k1(p,t===!0?void 0:t)),p}K.returns="color";function Ut(e,{precision:a=Re.precision,format:t="default",inGamut:r=!0,...p}={}){let i;e=R(e);let d=t;t=e.space.getFormat(t)??e.space.getFormat("default")??P.DEFAULT_FORMAT;let n=e.coords.slice();if(r||=t.toGamut,r&&!ra(e)&&(n=k1(Wa(e),r===!0?void 0:r).coords),t.type==="custom")if(p.precision=a,t.serialize)i=t.serialize(n,e.alpha,p);else throw new TypeError(`format ${d} can only be used to parse colors, not for serialization`);else{let s=t.name||"color";t.serializeCoords?n=t.serializeCoords(n,a):a!==null&&(n=n.map(c=>P2(c,{precision:a})));let o=[...n];if(s==="color"){let c=t.id||t.ids?.[0]||e.space.id;o.unshift(c)}let l=e.alpha;a!==null&&(l=P2(l,{precision:a}));let u=e.alpha>=1||t.noAlpha?"":`${t.commas?",":" /"} ${l}`;i=`${s}(${o.join(t.commas?", ":" ")}${u})`}return i}var dy=[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],ny=[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]],O2=new Se({id:"rec2020-linear",cssId:"--rec2020-linear",name:"Linear REC.2020",white:"D65",toXYZ_M:dy,fromXYZ_M:ny}),S2=1.09929682680944,A3=.018053968510807,D9=new Se({id:"rec2020",name:"REC.2020",base:O2,toBase(e){return e.map(function(a){return a<A3*4.5?a/4.5:Math.pow((a+S2-1)/S2,1/.45)})},fromBase(e){return e.map(function(a){return a>=A3?S2*Math.pow(a,.45)-(S2-1):4.5*a})}}),sy=[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],oy=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]],P9=new Se({id:"p3-linear",cssId:"--display-p3-linear",name:"Linear P3",white:"D65",toXYZ_M:sy,fromXYZ_M:oy}),ly=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],se=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],E9=new Se({id:"srgb-linear",name:"Linear sRGB",white:"D65",toXYZ_M:ly,fromXYZ_M:se}),O3={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[153/255,50/255,204/255],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,153/255],lightslategrey:[119/255,136/255,153/255],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[102/255,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,204/255],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[102/255,51/255,153/255],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]},k3=Array(3).fill("<percentage> | <number>[0, 255]"),R3=Array(3).fill("<number>[0, 255]"),Ka=new Se({id:"srgb",name:"sRGB",base:E9,fromBase:e=>e.map(a=>{let t=a<0?-1:1,r=a*t;return r>.0031308?t*(1.055*r**(1/2.4)-.055):12.92*a}),toBase:e=>e.map(a=>{let t=a<0?-1:1,r=a*t;return r<=.04045?a/12.92:t*((r+.055)/1.055)**2.4}),formats:{rgb:{coords:k3},rgb_number:{name:"rgb",commas:!0,coords:R3,noAlpha:!0},color:{},rgba:{coords:k3,commas:!0,lastAlpha:!0},rgba_number:{name:"rgba",commas:!0,coords:R3},hex:{type:"custom",toGamut:!0,test:e=>/^#([a-f0-9]{3,4}){1,2}$/i.test(e),parse(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,"$&$&"));let a=[];return e.replace(/[a-f0-9]{2}/gi,t=>{a.push(parseInt(t,16)/255)}),{spaceId:"srgb",coords:a.slice(0,3),alpha:a.slice(3)[0]}},serialize:(e,a,{collapse:t=!0}={})=>{a<1&&e.push(a),e=e.map(i=>Math.round(i*255));let r=t&&e.every(i=>i%17===0);return"#"+e.map(i=>r?(i/17).toString(16):i.toString(16).padStart(2,"0")).join("")}},keyword:{type:"custom",test:e=>/^[a-z]+$/i.test(e),parse(e){e=e.toLowerCase();let a={spaceId:"srgb",coords:null,alpha:1};if(e==="transparent"?(a.coords=O3.black,a.alpha=0):a.coords=O3[e],a.coords)return a}}}}),L9=new Se({id:"p3",cssId:"display-p3",name:"P3",base:P9,fromBase:Ka.fromBase,toBase:Ka.toBase});Re.display_space=Ka;var uy;if(typeof CSS<"u"&&CSS.supports)for(let e of[ke,D9,L9]){let a=e.getMinCoords(),r=Ut({space:e,coords:a,alpha:1});if(CSS.supports("color",r)){Re.display_space=e;break}}function my(e,{space:a=Re.display_space,...t}={}){let r=Ut(e,t);if(typeof CSS>"u"||CSS.supports("color",r)||!Re.display_space)r=new String(r),r.color=e;else{let p=e;if((e.coords.some(A1)||A1(e.alpha))&&!(uy??=CSS.supports("color","hsl(none 50% 50%)"))&&(p=Wa(e),p.coords=p.coords.map(de),p.alpha=de(p.alpha),r=Ut(p,t),CSS.supports("color",r)))return r=new String(r),r.color=p,r;p=K(p,a),r=new String(Ut(p,t)),r.color=p}return r}function cy(e,a){return e=R(e),a=R(a),e.space===a.space&&e.alpha===a.alpha&&e.coords.every((t,r)=>t===a.coords[r])}function R1(e){return Oe(e,[ve,"y"])}function T9(e,a){g1(e,[ve,"y"],a)}function fy(e){Object.defineProperty(e.prototype,"luminance",{get(){return R1(this)},set(a){T9(this,a)}})}var hy=Object.freeze({__proto__:null,getLuminance:R1,register:fy,setLuminance:T9});function vy(e,a){e=R(e),a=R(a);let t=Math.max(R1(e),0),r=Math.max(R1(a),0);return r>t&&([t,r]=[r,t]),(t+.05)/(r+.05)}var gy=.56,wy=.57,by=.62,yy=.65,M3=.022,_y=1.414,Sy=.1,Ny=5e-4,Cy=1.14,I3=.027,xy=1.14;function V3(e){return e>=M3?e:e+(M3-e)**_y}function Ga(e){let a=e<0?-1:1,t=Math.abs(e);return a*Math.pow(t,2.4)}function Dy(e,a){a=R(a),e=R(e);let t,r,p,i,d,n;a=K(a,"srgb"),[i,d,n]=a.coords;let s=Ga(i)*.2126729+Ga(d)*.7151522+Ga(n)*.072175;e=K(e,"srgb"),[i,d,n]=e.coords;let o=Ga(i)*.2126729+Ga(d)*.7151522+Ga(n)*.072175,l=V3(s),u=V3(o),c=u>l;return Math.abs(u-l)<Ny?r=0:c?(t=u**gy-l**wy,r=t*Cy):(t=u**yy-l**by,r=t*xy),Math.abs(r)<Sy?p=0:r>0?p=r-I3:p=r+I3,p*100}function Py(e,a){e=R(e),a=R(a);let t=Math.max(R1(e),0),r=Math.max(R1(a),0);r>t&&([t,r]=[r,t]);let p=t+r;return p===0?0:(t-r)/p}var Ey=5e4;function Ly(e,a){e=R(e),a=R(a);let t=Math.max(R1(e),0),r=Math.max(R1(a),0);return r>t&&([t,r]=[r,t]),r===0?Ey:(t-r)/r}function Ty(e,a){e=R(e),a=R(a);let t=Oe(e,[ke,"l"]),r=Oe(a,[ke,"l"]);return Math.abs(t-r)}var Ay=216/24389,F3=24/116,N2=24389/27,ti=Ee.D65,vi=new P({id:"lab-d65",name:"Lab D65",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:ti,base:ve,fromBase(e){let t=e.map((r,p)=>r/ti[p]).map(r=>r>Ay?Math.cbrt(r):(N2*r+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let a=[];return a[1]=(e[0]+16)/116,a[0]=e[1]/500+a[1],a[2]=a[1]-e[2]/200,[a[0]>F3?Math.pow(a[0],3):(116*a[0]-16)/N2,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/N2,a[2]>F3?Math.pow(a[2],3):(116*a[2]-16)/N2].map((r,p)=>r*ti[p])},formats:{"lab-d65":{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),ri=Math.pow(5,.5)*.5+.5;function Oy(e,a){e=R(e),a=R(a);let t=Oe(e,[vi,"l"]),r=Oe(a,[vi,"l"]),p=Math.abs(Math.pow(t,ri)-Math.pow(r,ri)),i=Math.pow(p,1/ri)*Math.SQRT2-40;return i<7.5?0:i}var D2=Object.freeze({__proto__:null,contrastAPCA:Dy,contrastDeltaPhi:Oy,contrastLstar:Ty,contrastMichelson:Py,contrastWCAG21:vy,contrastWeber:Ly});function ky(e,a,t={}){Ht(t)&&(t={algorithm:t});let{algorithm:r,...p}=t;if(!r){let i=Object.keys(D2).map(d=>d.replace(/^contrast/,"")).join(", ");throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${i}`)}e=R(e),a=R(a);for(let i in D2)if("contrast"+r.toLowerCase()===i.toLowerCase())return D2[i](e,a,p);throw new TypeError(`Unknown contrast algorithm: ${r}`)}function k2(e){let[a,t,r]=Wt(e,ve),p=a+15*t+3*r;return[4*a/p,9*t/p]}function A9(e){let[a,t,r]=Wt(e,ve),p=a+t+r;return[a/p,t/p]}function Ry(e){Object.defineProperty(e.prototype,"uv",{get(){return k2(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return A9(this)}})}var My=Object.freeze({__proto__:null,register:Ry,uv:k2,xy:A9});function jt(e,a,t={}){Ht(t)&&(t={method:t});let{method:r=Re.deltaE,...p}=t;for(let i in Ya)if("deltae"+r.toLowerCase()===i.toLowerCase())return Ya[i](e,a,p);throw new TypeError(`Unknown deltaE method: ${r}`)}function Iy(e,a=.25){let r=[P.get("oklch","lch"),"l"];return g1(e,r,p=>p*(1+a))}function Vy(e,a=.25){let r=[P.get("oklch","lch"),"l"];return g1(e,r,p=>p*(1-a))}var Fy=Object.freeze({__proto__:null,darken:Vy,lighten:Iy});function O9(e,a,t=.5,r={}){return[e,a]=[R(e),R(a)],T1(t)==="object"&&([t,r]=[.5,t]),Yt(e,a,r)(t)}function k9(e,a,t={}){let r;Ci(e)&&([r,t]=[e,a],[e,a]=r.rangeArgs.colors);let{maxDeltaE:p,deltaEMethod:i,steps:d=2,maxSteps:n=1e3,...s}=t;r||([e,a]=[R(e),R(a)],r=Yt(e,a,s));let o=jt(e,a),l=p>0?Math.max(d,Math.ceil(o/p)+1):d,u=[];if(n!==void 0&&(l=Math.min(l,n)),l===1)u=[{p:.5,color:r(.5)}];else{let c=1/(l-1);u=Array.from({length:l},(g,f)=>{let h=f*c;return{p:h,color:r(h)}})}if(p>0){let c=u.reduce((g,f,h)=>{if(h===0)return 0;let v=jt(f.color,u[h-1].color,i);return Math.max(g,v)},0);for(;c>p;){c=0;for(let g=1;g<u.length&&u.length<n;g++){let f=u[g-1],h=u[g],v=(h.p+f.p)/2,w=r(v);c=Math.max(c,jt(w,f.color),jt(w,h.color)),u.splice(g,0,{p:v,color:r(v)}),g++}}}return u=u.map(c=>c.color),u}function Yt(e,a,t={}){if(Ci(e)){let[s,o]=[e,a];return Yt(...s.rangeArgs.colors,{...s.rangeArgs.options,...o})}let{space:r,outputSpace:p,progression:i,premultiplied:d}=t;e=R(e),a=R(a),e=Wa(e),a=Wa(a);let n={colors:[e,a],options:t};if(r?r=P.get(r):r=P.registry[Re.interpolationSpace]||e.space,p=p?P.get(p):r,e=K(e,r),a=K(a,r),e=k1(e),a=k1(a),r.coords.h&&r.coords.h.type==="angle"){let s=t.hue=t.hue||"shorter",o=[r,"h"],[l,u]=[Oe(e,o),Oe(a,o)];isNaN(l)&&!isNaN(u)?l=u:isNaN(u)&&!isNaN(l)&&(u=l),[l,u]=gb(s,[l,u]),g1(e,o,l),g1(a,o,u)}return d&&(e.coords=e.coords.map(s=>s*e.alpha),a.coords=a.coords.map(s=>s*a.alpha)),Object.assign(s=>{s=i?i(s):s;let o=e.coords.map((c,g)=>{let f=a.coords[g];return Gt(c,f,s)}),l=Gt(e.alpha,a.alpha,s),u={space:r,coords:o,alpha:l};return d&&(u.coords=u.coords.map(c=>c/l)),p!==r&&(u=K(u,p)),u},{rangeArgs:n})}function Ci(e){return T1(e)==="function"&&!!e.rangeArgs}Re.interpolationSpace="lab";function qy(e){e.defineFunction("mix",O9,{returns:"color"}),e.defineFunction("range",Yt,{returns:"function<color>"}),e.defineFunction("steps",k9,{returns:"array<color>"})}var By=Object.freeze({__proto__:null,isRange:Ci,mix:O9,range:Yt,register:qy,steps:k9}),R9=new P({id:"hsl",name:"HSL",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:Ka,fromBase:e=>{let a=Math.max(...e),t=Math.min(...e),[r,p,i]=e,[d,n,s]=[NaN,0,(t+a)/2],o=a-t;if(o!==0){switch(n=s===0||s===1?0:(a-s)/Math.min(s,1-s),a){case r:d=(p-i)/o+(p<i?6:0);break;case p:d=(i-r)/o+2;break;case i:d=(r-p)/o+4}d=d*60}return n<0&&(d+=180,n=Math.abs(n)),d>=360&&(d-=360),[d,n*100,s*100]},toBase:e=>{let[a,t,r]=e;a=a%360,a<0&&(a+=360),t/=100,r/=100;function p(i){let d=(i+a/30)%12,n=t*Math.min(r,1-r);return r-n*Math.max(-1,Math.min(d-3,9-d,1))}return[p(0),p(8),p(4)]},formats:{hsl:{coords:["<number> | <angle>","<percentage>","<percentage>"]},hsla:{coords:["<number> | <angle>","<percentage>","<percentage>"],commas:!0,lastAlpha:!0}}}),M9=new P({id:"hsv",name:"HSV",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},v:{range:[0,100],name:"Value"}},base:R9,fromBase(e){let[a,t,r]=e;t/=100,r/=100;let p=r+t*Math.min(r,1-r);return[a,p===0?0:200*(1-r/p),100*p]},toBase(e){let[a,t,r]=e;t/=100,r/=100;let p=r*(1-t/2);return[a,p===0||p===1?0:(r-p)/Math.min(p,1-p)*100,p*100]},formats:{color:{id:"--hsv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),jy=new P({id:"hwb",name:"HWB",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},w:{range:[0,100],name:"Whiteness"},b:{range:[0,100],name:"Blackness"}},base:M9,fromBase(e){let[a,t,r]=e;return[a,r*(100-t)/100,100-r]},toBase(e){let[a,t,r]=e;t/=100,r/=100;let p=t+r;if(p>=1){let n=t/p;return[a,0,n*100]}let i=1-r,d=i===0?0:1-t/i;return[a,d*100,i*100]},formats:{hwb:{coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),Uy=[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],Gy=[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]],I9=new Se({id:"a98rgb-linear",cssId:"--a98-rgb-linear",name:"Linear Adobe\xAE 98 RGB compatible",white:"D65",toXYZ_M:Uy,fromXYZ_M:Gy}),$y=new Se({id:"a98rgb",cssId:"a98-rgb",name:"Adobe\xAE 98 RGB compatible",base:I9,toBase:e=>e.map(a=>Math.pow(Math.abs(a),563/256)*Math.sign(a)),fromBase:e=>e.map(a=>Math.pow(Math.abs(a),256/563)*Math.sign(a))}),zy=[[.7977666449006423,.13518129740053308,.0313477341283922],[.2880748288194013,.711835234241873,8993693872564e-17],[0,0,.8251046025104602]],Hy=[[1.3457868816471583,-.25557208737979464,-.05110186497554526],[-.5446307051249019,1.5082477428451468,.02052744743642139],[0,0,1.2119675456389452]],V9=new Se({id:"prophoto-linear",cssId:"--prophoto-rgb-linear",name:"Linear ProPhoto",white:"D50",base:_i,toXYZ_M:zy,fromXYZ_M:Hy}),Wy=1/512,Yy=16/512,Ky=new Se({id:"prophoto",cssId:"prophoto-rgb",name:"ProPhoto",base:V9,toBase(e){return e.map(a=>a<Yy?a/16:a**1.8)},fromBase(e){return e.map(a=>a>=Wy?a**(1/1.8):16*a)}}),Jy=new P({id:"oklch",name:"Oklch",coords:{l:{refRange:[0,1],name:"Lightness"},c:{refRange:[0,.4],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},white:"D65",base:Ha,fromBase(e){let[a,t,r]=e,p,i=2e-4;return Math.abs(t)<i&&Math.abs(r)<i?p=NaN:p=Math.atan2(r,t)*180/Math.PI,[a,Math.sqrt(t**2+r**2),d1(p)]},toBase(e){let[a,t,r]=e,p,i;return isNaN(r)?(p=0,i=0):(p=t*Math.cos(r*Math.PI/180),i=t*Math.sin(r*Math.PI/180)),[a,p,i]},formats:{oklch:{coords:["<percentage> | <number>","<number> | <percentage>[0,1]","<number> | <angle>"]}}}),F9=Ee.D65,Xy=216/24389,q3=24389/27,[B3,j3]=k2({space:ve,coords:F9}),q9=new P({id:"luv",name:"Luv",coords:{l:{refRange:[0,100],name:"Lightness"},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:F9,base:ve,fromBase(e){let a=[de(e[0]),de(e[1]),de(e[2])],t=a[1],[r,p]=k2({space:ve,coords:a});if(!Number.isFinite(r)||!Number.isFinite(p))return[0,0,0];let i=t<=Xy?q3*t:116*Math.cbrt(t)-16;return[i,13*i*(r-B3),13*i*(p-j3)]},toBase(e){let[a,t,r]=e;if(a===0||A1(a))return[0,0,0];t=de(t),r=de(r);let p=t/(13*a)+B3,i=r/(13*a)+j3,d=a<=8?a/q3:Math.pow((a+16)/116,3);return[d*(9*p/(4*i)),d,d*((12-3*p-20*i)/(4*i))]},formats:{color:{id:"--luv",coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),xi=new P({id:"lchuv",name:"LChuv",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,220],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:q9,fromBase(e){let[a,t,r]=e,p,i=.02;return Math.abs(t)<i&&Math.abs(r)<i?p=NaN:p=Math.atan2(r,t)*180/Math.PI,[a,Math.sqrt(t**2+r**2),d1(p)]},toBase(e){let[a,t,r]=e;return t<0&&(t=0),isNaN(r)&&(r=0),[a,t*Math.cos(r*Math.PI/180),t*Math.sin(r*Math.PI/180)]},formats:{color:{id:"--lchuv",coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}}),Zy=216/24389,Qy=24389/27,U3=se[0][0],G3=se[0][1],pi=se[0][2],$3=se[1][0],z3=se[1][1],ii=se[1][2],H3=se[2][0],W3=se[2][1],di=se[2][2];function $a(e,a,t){let r=a/(Math.sin(t)-e*Math.cos(t));return r<0?1/0:r}function T2(e){let a=Math.pow(e+16,3)/1560896,t=a>Zy?a:e/Qy,r=t*(284517*U3-94839*pi),p=t*(838422*pi+769860*G3+731718*U3),i=t*(632260*pi-126452*G3),d=t*(284517*$3-94839*ii),n=t*(838422*ii+769860*z3+731718*$3),s=t*(632260*ii-126452*z3),o=t*(284517*H3-94839*di),l=t*(838422*di+769860*W3+731718*H3),u=t*(632260*di-126452*W3);return{r0s:r/i,r0i:p*e/i,r1s:r/(i+126452),r1i:(p-769860)*e/(i+126452),g0s:d/s,g0i:n*e/s,g1s:d/(s+126452),g1i:(n-769860)*e/(s+126452),b0s:o/u,b0i:l*e/u,b1s:o/(u+126452),b1i:(l-769860)*e/(u+126452)}}function Y3(e,a){let t=a/360*Math.PI*2,r=$a(e.r0s,e.r0i,t),p=$a(e.r1s,e.r1i,t),i=$a(e.g0s,e.g0i,t),d=$a(e.g1s,e.g1i,t),n=$a(e.b0s,e.b0i,t),s=$a(e.b1s,e.b1i,t);return Math.min(r,p,i,d,n,s)}var e_=new P({id:"hsluv",name:"HSLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:xi,gamutSpace:Ka,fromBase(e){let[a,t,r]=[de(e[0]),de(e[1]),de(e[2])],p;if(a>99.9999999)p=0,a=100;else if(a<1e-8)p=0,a=0;else{let i=T2(a),d=Y3(i,r);p=t/d*100}return[r,p,a]},toBase(e){let[a,t,r]=[de(e[0]),de(e[1]),de(e[2])],p;if(r>99.9999999)r=100,p=0;else if(r<1e-8)r=0,p=0;else{let i=T2(r);p=Y3(i,a)/100*t}return[r,p,a]},formats:{color:{id:"--hsluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});se[0][0];se[0][1];se[0][2];se[1][0];se[1][1];se[1][2];se[2][0];se[2][1];se[2][2];function za(e,a){return Math.abs(a)/Math.sqrt(Math.pow(e,2)+1)}function K3(e){let a=za(e.r0s,e.r0i),t=za(e.r1s,e.r1i),r=za(e.g0s,e.g0i),p=za(e.g1s,e.g1i),i=za(e.b0s,e.b0i),d=za(e.b1s,e.b1i);return Math.min(a,t,r,p,i,d)}var a_=new P({id:"hpluv",name:"HPLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:xi,gamutSpace:"self",fromBase(e){let[a,t,r]=[de(e[0]),de(e[1]),de(e[2])],p;if(a>99.9999999)p=0,a=100;else if(a<1e-8)p=0,a=0;else{let i=T2(a),d=K3(i);p=t/d*100}return[r,p,a]},toBase(e){let[a,t,r]=[de(e[0]),de(e[1]),de(e[2])],p;if(r>99.9999999)r=100,p=0;else if(r<1e-8)r=0,p=0;else{let i=T2(r);p=K3(i)/100*t}return[r,p,a]},formats:{color:{id:"--hpluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),J3=203,X3=2610/2**14,t_=2**14/2610,r_=2523/2**5,Z3=2**5/2523,Q3=3424/2**12,e9=2413/2**7,a9=2392/2**7,p_=new Se({id:"rec2100pq",cssId:"rec2100-pq",name:"REC.2100-PQ",base:O2,toBase(e){return e.map(function(a){return(Math.max(a**Z3-Q3,0)/(e9-a9*a**Z3))**t_*1e4/J3})},fromBase(e){return e.map(function(a){let t=Math.max(a*J3/1e4,0),r=Q3+e9*t**X3,p=1+a9*t**X3;return(r/p)**r_})}}),t9=.17883277,r9=.28466892,p9=.55991073,ni=3.7743,i_=new Se({id:"rec2100hlg",cssId:"rec2100-hlg",name:"REC.2100-HLG",referred:"scene",base:O2,toBase(e){return e.map(function(a){return a<=.5?a**2/3*ni:(Math.exp((a-p9)/t9)+r9)/12*ni})},fromBase(e){return e.map(function(a){return a/=ni,a<=1/12?Math.sqrt(3*a):t9*Math.log(12*a-r9)+p9})}}),B9={};O1.add("chromatic-adaptation-start",e=>{e.options.method&&(e.M=j9(e.W1,e.W2,e.options.method))});O1.add("chromatic-adaptation-end",e=>{e.M||(e.M=j9(e.W1,e.W2,e.options.method))});function R2({id:e,toCone_M:a,fromCone_M:t}){B9[e]=arguments[0]}function j9(e,a,t="Bradford"){let r=B9[t],[p,i,d]=J(r.toCone_M,e),[n,s,o]=J(r.toCone_M,a),l=[[n/p,0,0],[0,s/i,0],[0,0,o/d]],u=J(l,r.toCone_M);return J(r.fromCone_M,u)}R2({id:"von Kries",toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599363874558397,-1.1293816185800916,.21989740959619328],[.3611914362417676,.6388124632850422,-6370596838649899e-21],[0,0,1.0890636230968613]]});R2({id:"Bradford",toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929054667121,-.14705425642099013,.15996265166373122],[.4323052697233945,.5183602715367774,.049291228212855594],[-.00852866457517732,.04004282165408486,.96848669578755]]});R2({id:"CAT02",toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238208355142,-.27886900021828726,.18274517938277307],[.4543690419753592,.4735331543074117,.07209780371722911],[-.009627608738429355,-.00569803121611342,1.0153256399545427]]});R2({id:"CAT16",toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.0112546305316845,.14918677544445172],[.3875265432361372,.6214474419314753,-.008973985167612521],[-.01584149884933386,-.03412293802851557,1.0499644368778496]]});Object.assign(Ee,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]});Ee.ACES=[.32168/.33767,1,(1-.32168-.33767)/.33767];var d_=[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],n_=[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]],U9=new Se({id:"acescg",cssId:"--acescg",name:"ACEScg",coords:{r:{range:[0,65504],name:"Red"},g:{range:[0,65504],name:"Green"},b:{range:[0,65504],name:"Blue"}},referred:"scene",white:Ee.ACES,toXYZ_M:d_,fromXYZ_M:n_}),C2=2**-16,si=-.35828683,x2=(Math.log2(65504)+9.72)/17.52,s_=new Se({id:"acescc",cssId:"--acescc",name:"ACEScc",coords:{r:{range:[si,x2],name:"Red"},g:{range:[si,x2],name:"Green"},b:{range:[si,x2],name:"Blue"}},referred:"scene",base:U9,toBase(e){let a=-.3013698630136986;return e.map(function(t){return t<=a?(2**(t*17.52-9.72)-C2)*2:t<x2?2**(t*17.52-9.72):65504})},fromBase(e){return e.map(function(a){return a<=0?(Math.log2(C2)+9.72)/17.52:a<C2?(Math.log2(C2+a*.5)+9.72)/17.52:(Math.log2(a)+9.72)/17.52})}}),i9=Object.freeze({__proto__:null,A98RGB:$y,A98RGB_Linear:I9,ACEScc:s_,ACEScg:U9,CAM16_JMh:Jb,HCT:zt,HPLuv:a_,HSL:R9,HSLuv:e_,HSV:M9,HWB:jy,ICTCP:ci,JzCzHz:mi,Jzazbz:v9,LCH:$t,LCHuv:xi,Lab:ke,Lab_D65:vi,Luv:q9,OKLCH:Jy,OKLab:Ha,P3:L9,P3_Linear:P9,ProPhoto:Ky,ProPhoto_Linear:V9,REC_2020:D9,REC_2020_Linear:O2,REC_2100_HLG:i_,REC_2100_PQ:p_,XYZ_ABS_D65:Si,XYZ_D50:_i,XYZ_D65:ve,sRGB:Ka,sRGB_Linear:E9}),ce=class e{constructor(...a){let t;a.length===1&&(t=R(a[0]));let r,p,i;t?(r=t.space||t.spaceId,p=t.coords,i=t.alpha):[r,p,i]=a,Object.defineProperty(this,"space",{value:P.get(r),writable:!1,enumerable:!0,configurable:!0}),this.coords=p?p.slice():[0,0,0],this.alpha=i>1||i===void 0?1:i<0?0:i;for(let d=0;d<this.coords.length;d++)this.coords[d]==="NaN"&&(this.coords[d]=NaN);for(let d in this.space.coords)Object.defineProperty(this,d,{get:()=>this.get(d),set:n=>this.set(d,n)})}get spaceId(){return this.space.id}clone(){return new e(this.space,this.coords,this.alpha)}toJSON(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}display(...a){let t=my(this,...a);return t.color=new e(t.color),t}static get(a,...t){return a instanceof e?a:new e(a,...t)}static defineFunction(a,t,r=t){let{instance:p=!0,returns:i}=r,d=function(...n){let s=t(...n);if(i==="color")s=e.get(s);else if(i==="function<color>"){let o=s;s=function(...l){let u=o(...l);return e.get(u)},Object.assign(s,o)}else i==="array<color>"&&(s=s.map(o=>e.get(o)));return s};a in e||(e[a]=d),p&&(e.prototype[a]=function(...n){return d(this,...n)})}static defineFunctions(a){for(let t in a)e.defineFunction(t,a[t],a[t])}static extend(a){if(a.register)a.register(e);else for(let t in a)e.defineFunction(t,a[t])}};ce.defineFunctions({get:Oe,getAll:Wt,set:g1,setAll:yi,to:K,equals:cy,inGamut:ra,toGamut:k1,distance:h9,toString:Ut});Object.assign(ce,{util:mb,hooks:O1,WHITES:Ee,Space:P,spaces:P.registry,parse:c9,defaults:Re});for(let e of Object.keys(i9))P.register(i9[e]);for(let e in P.registry)gi(e,P.registry[e]);O1.add("colorspace-init-end",e=>{gi(e.id,e),e.aliases?.forEach(a=>{gi(a,e)})});function gi(e,a){let t=e.replace(/-/g,"_");Object.defineProperty(ce.prototype,t,{get(){let r=this.getAll(e);return typeof Proxy>"u"?r:new Proxy(r,{has:(p,i)=>{try{return P.resolveCoord([a,i]),!0}catch{}return Reflect.has(p,i)},get:(p,i,d)=>{if(i&&typeof i!="symbol"&&!(i in p)){let{index:n}=P.resolveCoord([a,i]);if(n>=0)return p[n]}return Reflect.get(p,i,d)},set:(p,i,d,n)=>{if(i&&typeof i!="symbol"&&!(i in p)||i>=0){let{index:s}=P.resolveCoord([a,i]);if(s>=0)return p[s]=d,this.setAll(e,p),!0}return Reflect.set(p,i,d,n)}})},set(r){this.setAll(e,r)},configurable:!0,enumerable:!0})}ce.extend(Ya);ce.extend({deltaE:jt});Object.assign(ce,{deltaEMethods:Ya});ce.extend(Fy);ce.extend({contrast:ky});ce.extend(My);ce.extend(hy);ce.extend(By);ce.extend(D2);var RE=or(_u()),ME=(0,td.getPreferenceValues)();function ir(e,a){let t;switch(typeof e=="string"?t=new ce(e):"colorSpace"in e?t=new ce(e.colorSpace,[e.red,e.green,e.blue],e.alpha):t=new ce("srgb",[e.red/255,e.green/255,e.blue/255],e.alpha),a||ME.colorFormat){default:case"hex":return t.to("srgb").toString({format:"hex"}).toUpperCase();case"hex-lower-case":return t.to("srgb").toString({format:"hex"}).toLowerCase();case"hex-no-prefix":return t.to("srgb").toString({format:"hex"}).replace("#","");case"rgb":return t.to("srgb").toString({format:"rgb_number"});case"rgb-percentage":return t.to("srgb").toString({format:"rgb"});case"rgba":return t.to("srgb").toString({format:"rgba_number"});case"rgba-percentage":return t.to("srgb").toString({format:"rgba"});case"hsla":return t.to("hsl").toString({format:"hsla"});case"hsva":return t.to("hsv").toString({format:"color"});case"oklch":{let r=t.to("oklch"),[p,i,d]=r.coords;return`oklch(${(p*100).toFixed(2)}% ${i} ${d})`}case"lch":{let r=t.to("lch"),[p,i,d]=r.coords;return`lch(${p.toFixed(2)}% ${i} ${d})`}case"p3":return t.to("p3").toString({format:"p3"})}}var VE=200;function Nu(e){let a=new Su.Cache,t=a.get("history"),r=t?JSON.parse(t):[],i=[{date:new Date().toISOString(),color:e},...r.filter(d=>ir(d.color)!==ir(e))].slice(0,VE);a.set("history",JSON.stringify(i))}var Eu=require("react/jsx-runtime");function Pu({launchContext:e={}}){return(0,Du.useEffect)(()=>{async function a(){try{let t=await s3();if(!t)return;Nu(t);let r=ir(t);if(!r)throw new Error("Failed to format color");if(e?.callbackLaunchOptions){e.copyToClipboard&&await Ue.Clipboard.copy(r);try{await(0,xu.callbackLaunchCommand)(e.callbackLaunchOptions,{hex:r})}catch(p){await(0,Cu.showFailureToast)(p)}}else await Ue.Clipboard.copy(r),await(0,Ue.showHUD)(`Copied color ${r} to clipboard`),await(0,Ue.closeMainWindow)(),await(0,Ue.popToRoot)()}catch(t){console.error(t),await(0,Ue.showHUD)("\u274C Failed picking color")}}a()},[]),(0,Eu.jsx)(Ue.Detail,{markdown:"![RGB Color Wheel](rgb-color-wheel.webp?&raycast-height=350)"})} diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/color-wheel.js.map b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/color-wheel.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/dequal/lite/index.js", "../node_modules/@raycast/utils/dist/useDeepMemo.js", "../node_modules/@raycast/utils/dist/useLatest.js", "../node_modules/@raycast/utils/dist/showFailureToast.js", "../node_modules/@raycast/utils/dist/usePromise.js", "../node_modules/object-hash/index.js", "../node_modules/@raycast/utils/dist/helpers.js", "../node_modules/@raycast/utils/dist/useCachedState.js", "../node_modules/@raycast/utils/dist/useCachedPromise.js", "../node_modules/webidl-conversions/lib/index.js", "../node_modules/whatwg-url/lib/utils.js", "../node_modules/tr46/lib/mappingTable.json", "../node_modules/tr46/index.js", "../node_modules/whatwg-url/lib/url-state-machine.js", "../node_modules/whatwg-url/lib/URL-impl.js", "../node_modules/whatwg-url/lib/URL.js", "../node_modules/whatwg-url/lib/public-api.js", "../node_modules/node-fetch/lib/index.js", "../node_modules/cross-fetch/dist/node-ponyfill.js", "../node_modules/@raycast/utils/dist/fetch-utils.js", "../node_modules/@raycast/utils/dist/useFetch.js", "../node_modules/signal-exit/src/signals.ts", "../node_modules/signal-exit/src/index.ts", "../node_modules/@raycast/utils/dist/exec-utils.js", "../node_modules/@raycast/utils/dist/useExec.js", "../node_modules/stream-chain/index.js", "../node_modules/stream-json/utils/Utf8Stream.js", "../node_modules/stream-json/Parser.js", "../node_modules/stream-json/utils/emit.js", "../node_modules/stream-json/index.js", "../node_modules/stream-json/filters/FilterBase.js", "../node_modules/stream-json/utils/withParser.js", "../node_modules/stream-json/filters/Pick.js", "../node_modules/stream-json/Assembler.js", "../node_modules/stream-json/streamers/StreamBase.js", "../node_modules/stream-json/streamers/StreamArray.js", "../node_modules/@raycast/utils/dist/useStreamJSON.js", "../node_modules/@raycast/utils/dist/useSQL.js", "../node_modules/@raycast/utils/dist/useForm.js", "../node_modules/@raycast/utils/dist/useAI.js", "../node_modules/@raycast/utils/dist/useFrecencySorting.js", "../node_modules/@raycast/utils/dist/useLocalStorage.js", "../node_modules/@raycast/utils/dist/icon/color.js", "../node_modules/@raycast/utils/dist/icon/avatar.js", "../node_modules/@raycast/utils/dist/icon/favicon.js", "../node_modules/@raycast/utils/dist/icon/progress.js", "../node_modules/@raycast/utils/dist/icon/index.js", "../node_modules/@raycast/utils/dist/oauth/providers.js", "../node_modules/@raycast/utils/dist/oauth/OAuthService.js", "../node_modules/@raycast/utils/dist/oauth/withAccessToken.js", "../node_modules/@raycast/utils/dist/oauth/index.js", "../node_modules/@raycast/utils/dist/run-applescript.js", "../node_modules/@raycast/utils/dist/createDeeplink.js", "../node_modules/@raycast/utils/dist/index.js", "../node_modules/p-try/index.js", "../node_modules/read-pkg-up/node_modules/p-limit/index.js", "../node_modules/read-pkg-up/node_modules/p-locate/index.js", "../node_modules/read-pkg-up/node_modules/locate-path/index.js", "../node_modules/path-exists/index.js", "../node_modules/read-pkg-up/node_modules/find-up/index.js", "../node_modules/is-arrayish/index.js", "../node_modules/error-ex/index.js", "../node_modules/json-parse-even-better-errors/index.js", "../node_modules/lines-and-columns/build/index.js", "../node_modules/js-tokens/index.js", "../node_modules/@babel/helper-validator-identifier/src/identifier.ts", "../node_modules/@babel/helper-validator-identifier/src/keyword.ts", "../node_modules/@babel/helper-validator-identifier/src/index.ts", "../node_modules/picocolors/picocolors.js", "../node_modules/@babel/highlight/node_modules/escape-string-regexp/index.js", "../node_modules/@babel/highlight/node_modules/color-name/index.js", "../node_modules/@babel/highlight/node_modules/color-convert/conversions.js", "../node_modules/@babel/highlight/node_modules/color-convert/route.js", "../node_modules/@babel/highlight/node_modules/color-convert/index.js", "../node_modules/@babel/highlight/node_modules/ansi-styles/index.js", "../node_modules/@babel/highlight/node_modules/has-flag/index.js", "../node_modules/@babel/highlight/node_modules/supports-color/index.js", "../node_modules/@babel/highlight/node_modules/chalk/templates.js", "../node_modules/@babel/highlight/node_modules/chalk/index.js", "../node_modules/@babel/highlight/src/index.ts", "../node_modules/@babel/code-frame/src/index.ts", "../node_modules/parse-json/index.js", "../node_modules/normalize-package-data/node_modules/semver/semver.js", "../node_modules/spdx-license-ids/index.json", "../node_modules/spdx-license-ids/deprecated.json", "../node_modules/spdx-exceptions/index.json", "../node_modules/spdx-expression-parse/scan.js", "../node_modules/spdx-expression-parse/parse.js", "../node_modules/spdx-expression-parse/index.js", "../node_modules/spdx-correct/index.js", "../node_modules/validate-npm-package-license/index.js", "../node_modules/hosted-git-info/git-host-info.js", "../node_modules/hosted-git-info/git-host.js", "../node_modules/hosted-git-info/index.js", "../node_modules/resolve/lib/homedir.js", "../node_modules/resolve/lib/caller.js", "../node_modules/path-parse/index.js", "../node_modules/resolve/lib/node-modules-paths.js", "../node_modules/resolve/lib/normalize-options.js", "../node_modules/function-bind/implementation.js", "../node_modules/function-bind/index.js", "../node_modules/hasown/index.js", "../node_modules/is-core-module/core.json", "../node_modules/is-core-module/index.js", "../node_modules/resolve/lib/async.js", "../node_modules/resolve/lib/core.json", "../node_modules/resolve/lib/core.js", "../node_modules/resolve/lib/is-core.js", "../node_modules/resolve/lib/sync.js", "../node_modules/resolve/index.js", "../node_modules/normalize-package-data/lib/extract_description.js", "../node_modules/normalize-package-data/lib/typos.json", "../node_modules/normalize-package-data/lib/fixer.js", "../node_modules/normalize-package-data/lib/warning_messages.json", "../node_modules/normalize-package-data/lib/make_warning.js", "../node_modules/normalize-package-data/lib/normalize.js", "../node_modules/read-pkg/index.js", "../node_modules/read-pkg-up/index.js", "../node_modules/raycast-cross-extension/distribution/index.js", "../node_modules/lodash/_listCacheClear.js", "../node_modules/lodash/eq.js", "../node_modules/lodash/_assocIndexOf.js", "../node_modules/lodash/_listCacheDelete.js", "../node_modules/lodash/_listCacheGet.js", "../node_modules/lodash/_listCacheHas.js", "../node_modules/lodash/_listCacheSet.js", "../node_modules/lodash/_ListCache.js", "../node_modules/lodash/_stackClear.js", "../node_modules/lodash/_stackDelete.js", "../node_modules/lodash/_stackGet.js", "../node_modules/lodash/_stackHas.js", "../node_modules/lodash/_freeGlobal.js", "../node_modules/lodash/_root.js", "../node_modules/lodash/_Symbol.js", "../node_modules/lodash/_getRawTag.js", "../node_modules/lodash/_objectToString.js", "../node_modules/lodash/_baseGetTag.js", "../node_modules/lodash/isObject.js", "../node_modules/lodash/isFunction.js", "../node_modules/lodash/_coreJsData.js", "../node_modules/lodash/_isMasked.js", "../node_modules/lodash/_toSource.js", "../node_modules/lodash/_baseIsNative.js", "../node_modules/lodash/_getValue.js", "../node_modules/lodash/_getNative.js", "../node_modules/lodash/_Map.js", "../node_modules/lodash/_nativeCreate.js", "../node_modules/lodash/_hashClear.js", "../node_modules/lodash/_hashDelete.js", "../node_modules/lodash/_hashGet.js", "../node_modules/lodash/_hashHas.js", "../node_modules/lodash/_hashSet.js", "../node_modules/lodash/_Hash.js", "../node_modules/lodash/_mapCacheClear.js", "../node_modules/lodash/_isKeyable.js", "../node_modules/lodash/_getMapData.js", "../node_modules/lodash/_mapCacheDelete.js", "../node_modules/lodash/_mapCacheGet.js", "../node_modules/lodash/_mapCacheHas.js", "../node_modules/lodash/_mapCacheSet.js", "../node_modules/lodash/_MapCache.js", "../node_modules/lodash/_stackSet.js", "../node_modules/lodash/_Stack.js", "../node_modules/lodash/_setCacheAdd.js", "../node_modules/lodash/_setCacheHas.js", "../node_modules/lodash/_SetCache.js", "../node_modules/lodash/_arraySome.js", "../node_modules/lodash/_cacheHas.js", "../node_modules/lodash/_equalArrays.js", "../node_modules/lodash/_Uint8Array.js", "../node_modules/lodash/_mapToArray.js", "../node_modules/lodash/_setToArray.js", "../node_modules/lodash/_equalByTag.js", "../node_modules/lodash/_arrayPush.js", "../node_modules/lodash/isArray.js", "../node_modules/lodash/_baseGetAllKeys.js", "../node_modules/lodash/_arrayFilter.js", "../node_modules/lodash/stubArray.js", "../node_modules/lodash/_getSymbols.js", "../node_modules/lodash/_baseTimes.js", "../node_modules/lodash/isObjectLike.js", "../node_modules/lodash/_baseIsArguments.js", "../node_modules/lodash/isArguments.js", "../node_modules/lodash/stubFalse.js", "../node_modules/lodash/isBuffer.js", "../node_modules/lodash/_isIndex.js", "../node_modules/lodash/isLength.js", "../node_modules/lodash/_baseIsTypedArray.js", "../node_modules/lodash/_baseUnary.js", "../node_modules/lodash/_nodeUtil.js", "../node_modules/lodash/isTypedArray.js", "../node_modules/lodash/_arrayLikeKeys.js", "../node_modules/lodash/_isPrototype.js", "../node_modules/lodash/_overArg.js", "../node_modules/lodash/_nativeKeys.js", "../node_modules/lodash/_baseKeys.js", "../node_modules/lodash/isArrayLike.js", "../node_modules/lodash/keys.js", "../node_modules/lodash/_getAllKeys.js", "../node_modules/lodash/_equalObjects.js", "../node_modules/lodash/_DataView.js", "../node_modules/lodash/_Promise.js", "../node_modules/lodash/_Set.js", "../node_modules/lodash/_WeakMap.js", "../node_modules/lodash/_getTag.js", "../node_modules/lodash/_baseIsEqualDeep.js", "../node_modules/lodash/_baseIsEqual.js", "../node_modules/lodash/_baseIsMatch.js", "../node_modules/lodash/_isStrictComparable.js", "../node_modules/lodash/_getMatchData.js", "../node_modules/lodash/_matchesStrictComparable.js", "../node_modules/lodash/_baseMatches.js", "../node_modules/lodash/isSymbol.js", "../node_modules/lodash/_isKey.js", "../node_modules/lodash/memoize.js", "../node_modules/lodash/_memoizeCapped.js", "../node_modules/lodash/_stringToPath.js", "../node_modules/lodash/_arrayMap.js", "../node_modules/lodash/_baseToString.js", "../node_modules/lodash/toString.js", "../node_modules/lodash/_castPath.js", "../node_modules/lodash/_toKey.js", "../node_modules/lodash/_baseGet.js", "../node_modules/lodash/get.js", "../node_modules/lodash/_baseHasIn.js", "../node_modules/lodash/_hasPath.js", "../node_modules/lodash/hasIn.js", "../node_modules/lodash/_baseMatchesProperty.js", "../node_modules/lodash/identity.js", "../node_modules/lodash/_baseProperty.js", "../node_modules/lodash/_basePropertyDeep.js", "../node_modules/lodash/property.js", "../node_modules/lodash/_baseIteratee.js", "../node_modules/lodash/_baseFindIndex.js", "../node_modules/lodash/_baseIsNaN.js", "../node_modules/lodash/_strictIndexOf.js", "../node_modules/lodash/_baseIndexOf.js", "../node_modules/lodash/_arrayIncludes.js", "../node_modules/lodash/_arrayIncludesWith.js", "../node_modules/lodash/noop.js", "../node_modules/lodash/_createSet.js", "../node_modules/lodash/_baseUniq.js", "../node_modules/lodash/uniqBy.js", "../src/color-wheel.tsx", "swift:/Users/runner/work/extensions/extensions/extensions/color-picker/swift/color-picker", "../src/history.ts", "../src/utils.ts", "../node_modules/colorjs.io/src/multiply-matrices.js", "../node_modules/colorjs.io/src/util.js", "../node_modules/colorjs.io/src/hooks.js", "../node_modules/colorjs.io/src/defaults.js", "../node_modules/colorjs.io/src/adapt.js", "../node_modules/colorjs.io/src/parse.js", "../node_modules/colorjs.io/src/getColor.js", "../node_modules/colorjs.io/src/space.js", "../node_modules/colorjs.io/src/spaces/xyz-d65.js", "../node_modules/colorjs.io/src/rgbspace.js", "../node_modules/colorjs.io/src/getAll.js", "../node_modules/colorjs.io/src/get.js", "../node_modules/colorjs.io/src/setAll.js", "../node_modules/colorjs.io/src/set.js", "../node_modules/colorjs.io/src/spaces/xyz-d50.js", "../node_modules/colorjs.io/src/spaces/lab.js", "../node_modules/colorjs.io/src/angles.js", "../node_modules/colorjs.io/src/spaces/lch.js", "../node_modules/colorjs.io/src/deltaE/deltaE2000.js", "../node_modules/colorjs.io/src/spaces/oklab.js", "../node_modules/colorjs.io/src/deltaE/deltaEOK.js", "../node_modules/colorjs.io/src/inGamut.js", "../node_modules/colorjs.io/src/clone.js", "../node_modules/colorjs.io/src/distance.js", "../node_modules/colorjs.io/src/deltaE/deltaE76.js", "../node_modules/colorjs.io/src/deltaE/deltaECMC.js", "../node_modules/colorjs.io/src/spaces/xyz-abs-d65.js", "../node_modules/colorjs.io/src/spaces/jzazbz.js", "../node_modules/colorjs.io/src/spaces/jzczhz.js", "../node_modules/colorjs.io/src/deltaE/deltaEJz.js", "../node_modules/colorjs.io/src/spaces/ictcp.js", "../node_modules/colorjs.io/src/deltaE/deltaEITP.js", "../node_modules/colorjs.io/src/spaces/cam16.js", "../node_modules/colorjs.io/src/spaces/hct.js", "../node_modules/colorjs.io/src/deltaE/deltaEHCT.js", "../node_modules/colorjs.io/src/deltaE/index.js", "../node_modules/colorjs.io/src/toGamut.js", "../node_modules/colorjs.io/src/to.js", "../node_modules/colorjs.io/src/serialize.js", "../node_modules/colorjs.io/src/spaces/rec2020-linear.js", "../node_modules/colorjs.io/src/spaces/rec2020.js", "../node_modules/colorjs.io/src/spaces/p3-linear.js", "../node_modules/colorjs.io/src/spaces/srgb-linear.js", "../node_modules/colorjs.io/src/keywords.js", "../node_modules/colorjs.io/src/spaces/srgb.js", "../node_modules/colorjs.io/src/spaces/p3.js", "../node_modules/colorjs.io/src/display.js", "../node_modules/colorjs.io/src/equals.js", "../node_modules/colorjs.io/src/luminance.js", "../node_modules/colorjs.io/src/contrast/WCAG21.js", "../node_modules/colorjs.io/src/contrast/APCA.js", "../node_modules/colorjs.io/src/contrast/Michelson.js", "../node_modules/colorjs.io/src/contrast/Weber.js", "../node_modules/colorjs.io/src/contrast/Lstar.js", "../node_modules/colorjs.io/src/spaces/lab-d65.js", "../node_modules/colorjs.io/src/contrast/deltaPhi.js", "../node_modules/colorjs.io/src/contrast.js", "../node_modules/colorjs.io/src/chromaticity.js", "../node_modules/colorjs.io/src/deltaE.js", "../node_modules/colorjs.io/src/variations.js", "../node_modules/colorjs.io/src/interpolation.js", "../node_modules/colorjs.io/src/spaces/hsl.js", "../node_modules/colorjs.io/src/spaces/hsv.js", "../node_modules/colorjs.io/src/spaces/hwb.js", "../node_modules/colorjs.io/src/spaces/a98rgb-linear.js", "../node_modules/colorjs.io/src/spaces/a98rgb.js", "../node_modules/colorjs.io/src/spaces/prophoto-linear.js", "../node_modules/colorjs.io/src/spaces/prophoto.js", "../node_modules/colorjs.io/src/spaces/oklch.js", "../node_modules/colorjs.io/src/spaces/luv.js", "../node_modules/colorjs.io/src/spaces/lchuv.js", "../node_modules/colorjs.io/src/spaces/hsluv.js", "../node_modules/colorjs.io/src/spaces/hpluv.js", "../node_modules/colorjs.io/src/spaces/rec2100-pq.js", "../node_modules/colorjs.io/src/spaces/rec2100-hlg.js", "../node_modules/colorjs.io/src/CATs.js", "../node_modules/colorjs.io/src/spaces/acescg.js", "../node_modules/colorjs.io/src/spaces/acescc.js", "../node_modules/colorjs.io/src/color.js", "../node_modules/colorjs.io/src/spaces/index.js", "../node_modules/colorjs.io/src/space-accessors.js", "../node_modules/colorjs.io/src/index.js"], + "sourcesContent": ["var has = Object.prototype.hasOwnProperty;\n\nfunction dequal(foo, bar) {\n\tvar ctor, len;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n\nexports.dequal = dequal;", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useDeepMemo = void 0;\nconst react_1 = require(\"react\");\nconst lite_1 = require(\"dequal/lite\");\n/**\n * @param value the value to be memoized (usually a dependency list)\n * @returns a memoized version of the value as long as it remains deeply equal\n */\nfunction useDeepMemo(value) {\n const ref = (0, react_1.useRef)(value);\n const signalRef = (0, react_1.useRef)(0);\n if (!(0, lite_1.dequal)(value, ref.current)) {\n ref.current = value;\n signalRef.current += 1;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return (0, react_1.useMemo)(() => ref.current, [signalRef.current]);\n}\nexports.useDeepMemo = useDeepMemo;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLatest = void 0;\nconst react_1 = require(\"react\");\n/**\n * Returns the latest state.\n *\n * This is mostly useful to get access to the latest value of some props or state inside an asynchronous callback, instead of that value at the time the callback was created from.\n */\nfunction useLatest(value) {\n const ref = (0, react_1.useRef)(value);\n ref.current = value;\n return ref;\n}\nexports.useLatest = useLatest;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.showFailureToast = void 0;\nconst fs = __importStar(require(\"fs\"));\nconst path = __importStar(require(\"path\"));\nconst api_1 = require(\"@raycast/api\");\n/**\n * Shows a failure Toast for a given Error.\n *\n * @example\n * ```typescript\n * import { showHUD } from \"@raycast/api\";\n * import { runAppleScript, showFailureToast } from \"@raycast/utils\";\n *\n * export default async function () {\n * try {\n * const res = await runAppleScript(\n * `\n * on run argv\n * return \"hello, \" & item 1 of argv & \".\"\n * end run\n * `,\n * [\"world\"]\n * );\n * await showHUD(res);\n * } catch (error) {\n * showFailureToast(error, { title: \"Could not run AppleScript\" });\n * }\n * }\n * ```\n */\nfunction showFailureToast(error, options) {\n const message = error instanceof Error ? error.message : String(error);\n return (0, api_1.showToast)({\n style: api_1.Toast.Style.Failure,\n title: options?.title ?? \"Something went wrong\",\n message: options?.message ?? message,\n primaryAction: options?.primaryAction ?? handleErrorToastAction(error),\n secondaryAction: options?.primaryAction ? handleErrorToastAction(error) : undefined,\n });\n}\nexports.showFailureToast = showFailureToast;\nconst handleErrorToastAction = (error) => {\n let privateExtension = true;\n let title = \"[Extension Name]...\";\n let extensionURL = \"\";\n try {\n const packageJSON = JSON.parse(fs.readFileSync(path.join(api_1.environment.assetsPath, \"..\", \"package.json\"), \"utf8\"));\n title = `[${packageJSON.title}]...`;\n extensionURL = `https://raycast.com/${packageJSON.owner || packageJSON.author}/${packageJSON.name}`;\n if (!packageJSON.owner || packageJSON.access === \"public\") {\n privateExtension = false;\n }\n }\n catch (err) {\n // no-op\n }\n // if it's a private extension, we can't construct the URL to report the error\n // so we fallback to copying the error to the clipboard\n const fallback = api_1.environment.isDevelopment || privateExtension;\n const stack = error instanceof Error ? error?.stack || error?.message || \"\" : String(error);\n return {\n title: fallback ? \"Copy Logs\" : \"Report Error\",\n onAction(toast) {\n toast.hide();\n if (fallback) {\n api_1.Clipboard.copy(stack);\n }\n else {\n (0, api_1.open)(`https://github.com/raycast/extensions/issues/new?&labels=extension%2Cbug&template=extension_bug_report.yml&title=${encodeURIComponent(title)}&extension-url=${encodeURI(extensionURL)}&description=${encodeURIComponent(`#### Error:\n\\`\\`\\`\n${stack}\n\\`\\`\\`\n`)}`);\n }\n },\n };\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePromise = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst useDeepMemo_1 = require(\"./useDeepMemo\");\nconst useLatest_1 = require(\"./useLatest\");\nconst showFailureToast_1 = require(\"./showFailureToast\");\nfunction usePromise(fn, args, options) {\n const lastCallId = (0, react_1.useRef)(0);\n const [state, set] = (0, react_1.useState)({ isLoading: true });\n const fnRef = (0, useLatest_1.useLatest)(fn);\n const latestAbortable = (0, useLatest_1.useLatest)(options?.abortable);\n const latestArgs = (0, useLatest_1.useLatest)(args || []);\n const latestOnError = (0, useLatest_1.useLatest)(options?.onError);\n const latestOnData = (0, useLatest_1.useLatest)(options?.onData);\n const latestOnWillExecute = (0, useLatest_1.useLatest)(options?.onWillExecute);\n const latestFailureToast = (0, useLatest_1.useLatest)(options?.failureToastOptions);\n const latestValue = (0, useLatest_1.useLatest)(state.data);\n const latestCallback = (0, react_1.useRef)();\n const paginationArgsRef = (0, react_1.useRef)({ page: 0 });\n const usePaginationRef = (0, react_1.useRef)(false);\n const hasMoreRef = (0, react_1.useRef)(true);\n const pageSizeRef = (0, react_1.useRef)(50);\n const callback = (0, react_1.useCallback)((...args) => {\n const callId = ++lastCallId.current;\n if (latestAbortable.current) {\n latestAbortable.current.current?.abort();\n latestAbortable.current.current = new AbortController();\n }\n latestOnWillExecute.current?.(args);\n set((prevState) => ({ ...prevState, isLoading: true }));\n const promiseOrPaginatedPromise = bindPromiseIfNeeded(fnRef.current)(...args);\n function handleError(error) {\n if (error.name == \"AbortError\") {\n return error;\n }\n if (callId === lastCallId.current) {\n // handle errors\n if (latestOnError.current) {\n latestOnError.current(error);\n }\n else {\n if (api_1.environment.launchType !== api_1.LaunchType.Background) {\n (0, showFailureToast_1.showFailureToast)(error, {\n title: \"Failed to fetch latest data\",\n primaryAction: {\n title: \"Retry\",\n onAction(toast) {\n toast.hide();\n latestCallback.current?.(...(latestArgs.current || []));\n },\n },\n ...latestFailureToast.current,\n });\n }\n }\n set({ error, isLoading: false });\n }\n return error;\n }\n if (typeof promiseOrPaginatedPromise === \"function\") {\n usePaginationRef.current = true;\n return promiseOrPaginatedPromise(paginationArgsRef.current).then(\n // @ts-expect-error too complicated for TS\n ({ data, hasMore, cursor }) => {\n if (callId === lastCallId.current) {\n if (paginationArgsRef.current) {\n paginationArgsRef.current.cursor = cursor;\n paginationArgsRef.current.lastItem = data?.[data.length - 1];\n }\n if (latestOnData.current) {\n latestOnData.current(data, paginationArgsRef.current);\n }\n if (hasMore) {\n pageSizeRef.current = data.length;\n }\n hasMoreRef.current = hasMore;\n set((previousData) => {\n if (paginationArgsRef.current.page === 0) {\n return { data, isLoading: false };\n }\n // @ts-expect-error we know it's an array here\n return { data: (previousData.data || [])?.concat(data), isLoading: false };\n });\n }\n return data;\n }, (error) => {\n hasMoreRef.current = false;\n return handleError(error);\n });\n }\n usePaginationRef.current = false;\n return promiseOrPaginatedPromise.then((data) => {\n if (callId === lastCallId.current) {\n if (latestOnData.current) {\n latestOnData.current(data);\n }\n set({ data, isLoading: false });\n }\n return data;\n }, handleError);\n }, [\n latestAbortable,\n latestOnData,\n latestOnError,\n latestArgs,\n fnRef,\n set,\n latestCallback,\n latestOnWillExecute,\n paginationArgsRef,\n latestFailureToast,\n ]);\n latestCallback.current = callback;\n const revalidate = (0, react_1.useCallback)(() => {\n // reset the pagination\n paginationArgsRef.current = { page: 0 };\n const args = (latestArgs.current || []);\n return callback(...args);\n }, [callback, latestArgs]);\n const mutate = (0, react_1.useCallback)(async (asyncUpdate, options) => {\n let dataBeforeOptimisticUpdate;\n try {\n if (options?.optimisticUpdate) {\n if (typeof options?.rollbackOnError !== \"function\" && options?.rollbackOnError !== false) {\n // keep track of the data before the optimistic update,\n // but only if we need it (eg. only when we want to automatically rollback after)\n dataBeforeOptimisticUpdate = structuredClone(latestValue.current?.value);\n }\n const update = options.optimisticUpdate;\n set((prevState) => ({ ...prevState, data: update(prevState.data) }));\n }\n return await asyncUpdate;\n }\n catch (err) {\n if (typeof options?.rollbackOnError === \"function\") {\n const update = options.rollbackOnError;\n set((prevState) => ({ ...prevState, data: update(prevState.data) }));\n }\n else if (options?.optimisticUpdate && options?.rollbackOnError !== false) {\n set((prevState) => ({ ...prevState, data: dataBeforeOptimisticUpdate }));\n }\n throw err;\n }\n finally {\n if (options?.shouldRevalidateAfter !== false) {\n if (api_1.environment.launchType === api_1.LaunchType.Background || api_1.environment.commandMode === \"menu-bar\") {\n // when in the background or in a menu bar, we are going to await the revalidation\n // to make sure we get the right data at the end of the mutation\n await revalidate();\n }\n else {\n revalidate();\n }\n }\n }\n }, [revalidate, latestValue, set]);\n const onLoadMore = (0, react_1.useCallback)(() => {\n paginationArgsRef.current.page += 1;\n const args = (latestArgs.current || []);\n callback(...args);\n }, [paginationArgsRef, latestArgs, callback]);\n // revalidate when the args change\n (0, react_1.useEffect)(() => {\n // reset the pagination\n paginationArgsRef.current = { page: 0 };\n if (options?.execute !== false) {\n callback(...(args || []));\n }\n else {\n // cancel the previous request if we don't want to execute anymore\n if (latestAbortable.current) {\n latestAbortable.current.current?.abort();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [(0, useDeepMemo_1.useDeepMemo)([args, options?.execute, callback]), latestAbortable, paginationArgsRef]);\n // abort request when unmounting\n (0, react_1.useEffect)(() => {\n return () => {\n if (latestAbortable.current) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n latestAbortable.current.current?.abort();\n }\n };\n }, [latestAbortable]);\n // we only want to show the loading indicator if the promise is executing\n const isLoading = options?.execute !== false ? state.isLoading : false;\n // @ts-expect-error loading is has some fixed value in the enum which\n const stateWithLoadingFixed = { ...state, isLoading };\n const pagination = usePaginationRef.current\n ? {\n pageSize: pageSizeRef.current,\n hasMore: hasMoreRef.current,\n onLoadMore,\n }\n : undefined;\n return { ...stateWithLoadingFixed, revalidate, mutate, pagination };\n}\nexports.usePromise = usePromise;\n/** Bind the fn if it's a Promise method */\nfunction bindPromiseIfNeeded(fn) {\n if (fn === Promise.all) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.race) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.resolve) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.reject) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n return fn;\n}\n", "'use strict';\n\nvar crypto = require('crypto');\n\n/**\n * Exported function\n *\n * Options:\n *\n * - `algorithm` hash algo to be used by this instance: *'sha1', 'md5'\n * - `excludeValues` {true|*false} hash object keys, values ignored\n * - `encoding` hash encoding, supports 'buffer', '*hex', 'binary', 'base64'\n * - `ignoreUnknown` {true|*false} ignore unknown object types\n * - `replacer` optional function that replaces values before hashing\n * - `respectFunctionProperties` {*true|false} consider function properties when hashing\n * - `respectFunctionNames` {*true|false} consider 'name' property of functions for hashing\n * - `respectType` {*true|false} Respect special properties (prototype, constructor)\n * when hashing to distinguish between types\n * - `unorderedArrays` {true|*false} Sort all arrays before hashing\n * - `unorderedSets` {*true|false} Sort `Set` and `Map` instances before hashing\n * * = default\n *\n * @param {object} object value to hash\n * @param {object} options hashing options\n * @return {string} hash value\n * @api public\n */\nexports = module.exports = objectHash;\n\nfunction objectHash(object, options){\n options = applyDefaults(object, options);\n\n return hash(object, options);\n}\n\n/**\n * Exported sugar methods\n *\n * @param {object} object value to hash\n * @return {string} hash value\n * @api public\n */\nexports.sha1 = function(object){\n return objectHash(object);\n};\nexports.keys = function(object){\n return objectHash(object, {excludeValues: true, algorithm: 'sha1', encoding: 'hex'});\n};\nexports.MD5 = function(object){\n return objectHash(object, {algorithm: 'md5', encoding: 'hex'});\n};\nexports.keysMD5 = function(object){\n return objectHash(object, {algorithm: 'md5', encoding: 'hex', excludeValues: true});\n};\n\n// Internals\nvar hashes = crypto.getHashes ? crypto.getHashes().slice() : ['sha1', 'md5'];\nhashes.push('passthrough');\nvar encodings = ['buffer', 'hex', 'binary', 'base64'];\n\nfunction applyDefaults(object, sourceOptions){\n sourceOptions = sourceOptions || {};\n\n // create a copy rather than mutating\n var options = {};\n options.algorithm = sourceOptions.algorithm || 'sha1';\n options.encoding = sourceOptions.encoding || 'hex';\n options.excludeValues = sourceOptions.excludeValues ? true : false;\n options.algorithm = options.algorithm.toLowerCase();\n options.encoding = options.encoding.toLowerCase();\n options.ignoreUnknown = sourceOptions.ignoreUnknown !== true ? false : true; // default to false\n options.respectType = sourceOptions.respectType === false ? false : true; // default to true\n options.respectFunctionNames = sourceOptions.respectFunctionNames === false ? false : true;\n options.respectFunctionProperties = sourceOptions.respectFunctionProperties === false ? false : true;\n options.unorderedArrays = sourceOptions.unorderedArrays !== true ? false : true; // default to false\n options.unorderedSets = sourceOptions.unorderedSets === false ? false : true; // default to false\n options.unorderedObjects = sourceOptions.unorderedObjects === false ? false : true; // default to true\n options.replacer = sourceOptions.replacer || undefined;\n options.excludeKeys = sourceOptions.excludeKeys || undefined;\n\n if(typeof object === 'undefined') {\n throw new Error('Object argument required.');\n }\n\n // if there is a case-insensitive match in the hashes list, accept it\n // (i.e. SHA256 for sha256)\n for (var i = 0; i < hashes.length; ++i) {\n if (hashes[i].toLowerCase() === options.algorithm.toLowerCase()) {\n options.algorithm = hashes[i];\n }\n }\n\n if(hashes.indexOf(options.algorithm) === -1){\n throw new Error('Algorithm \"' + options.algorithm + '\" not supported. ' +\n 'supported values: ' + hashes.join(', '));\n }\n\n if(encodings.indexOf(options.encoding) === -1 &&\n options.algorithm !== 'passthrough'){\n throw new Error('Encoding \"' + options.encoding + '\" not supported. ' +\n 'supported values: ' + encodings.join(', '));\n }\n\n return options;\n}\n\n/** Check if the given function is a native function */\nfunction isNativeFunction(f) {\n if ((typeof f) !== 'function') {\n return false;\n }\n var exp = /^function\\s+\\w*\\s*\\(\\s*\\)\\s*{\\s+\\[native code\\]\\s+}$/i;\n return exp.exec(Function.prototype.toString.call(f)) != null;\n}\n\nfunction hash(object, options) {\n var hashingStream;\n\n if (options.algorithm !== 'passthrough') {\n hashingStream = crypto.createHash(options.algorithm);\n } else {\n hashingStream = new PassThrough();\n }\n\n if (typeof hashingStream.write === 'undefined') {\n hashingStream.write = hashingStream.update;\n hashingStream.end = hashingStream.update;\n }\n\n var hasher = typeHasher(options, hashingStream);\n hasher.dispatch(object);\n if (!hashingStream.update) {\n hashingStream.end('');\n }\n\n if (hashingStream.digest) {\n return hashingStream.digest(options.encoding === 'buffer' ? undefined : options.encoding);\n }\n\n var buf = hashingStream.read();\n if (options.encoding === 'buffer') {\n return buf;\n }\n\n return buf.toString(options.encoding);\n}\n\n/**\n * Expose streaming API\n *\n * @param {object} object Value to serialize\n * @param {object} options Options, as for hash()\n * @param {object} stream A stream to write the serializiation to\n * @api public\n */\nexports.writeToStream = function(object, options, stream) {\n if (typeof stream === 'undefined') {\n stream = options;\n options = {};\n }\n\n options = applyDefaults(object, options);\n\n return typeHasher(options, stream).dispatch(object);\n};\n\nfunction typeHasher(options, writeTo, context){\n context = context || [];\n var write = function(str) {\n if (writeTo.update) {\n return writeTo.update(str, 'utf8');\n } else {\n return writeTo.write(str, 'utf8');\n }\n };\n\n return {\n dispatch: function(value){\n if (options.replacer) {\n value = options.replacer(value);\n }\n\n var type = typeof value;\n if (value === null) {\n type = 'null';\n }\n\n //console.log(\"[DEBUG] Dispatch: \", value, \"->\", type, \" -> \", \"_\" + type);\n\n return this['_' + type](value);\n },\n _object: function(object) {\n var pattern = (/\\[object (.*)\\]/i);\n var objString = Object.prototype.toString.call(object);\n var objType = pattern.exec(objString);\n if (!objType) { // object type did not match [object ...]\n objType = 'unknown:[' + objString + ']';\n } else {\n objType = objType[1]; // take only the class name\n }\n\n objType = objType.toLowerCase();\n\n var objectNumber = null;\n\n if ((objectNumber = context.indexOf(object)) >= 0) {\n return this.dispatch('[CIRCULAR:' + objectNumber + ']');\n } else {\n context.push(object);\n }\n\n if (typeof Buffer !== 'undefined' && Buffer.isBuffer && Buffer.isBuffer(object)) {\n write('buffer:');\n return write(object);\n }\n\n if(objType !== 'object' && objType !== 'function' && objType !== 'asyncfunction') {\n if(this['_' + objType]) {\n this['_' + objType](object);\n } else if (options.ignoreUnknown) {\n return write('[' + objType + ']');\n } else {\n throw new Error('Unknown object type \"' + objType + '\"');\n }\n }else{\n var keys = Object.keys(object);\n if (options.unorderedObjects) {\n keys = keys.sort();\n }\n // Make sure to incorporate special properties, so\n // Types with different prototypes will produce\n // a different hash and objects derived from\n // different functions (`new Foo`, `new Bar`) will\n // produce different hashes.\n // We never do this for native functions since some\n // seem to break because of that.\n if (options.respectType !== false && !isNativeFunction(object)) {\n keys.splice(0, 0, 'prototype', '__proto__', 'constructor');\n }\n\n if (options.excludeKeys) {\n keys = keys.filter(function(key) { return !options.excludeKeys(key); });\n }\n\n write('object:' + keys.length + ':');\n var self = this;\n return keys.forEach(function(key){\n self.dispatch(key);\n write(':');\n if(!options.excludeValues) {\n self.dispatch(object[key]);\n }\n write(',');\n });\n }\n },\n _array: function(arr, unordered){\n unordered = typeof unordered !== 'undefined' ? unordered :\n options.unorderedArrays !== false; // default to options.unorderedArrays\n\n var self = this;\n write('array:' + arr.length + ':');\n if (!unordered || arr.length <= 1) {\n return arr.forEach(function(entry) {\n return self.dispatch(entry);\n });\n }\n\n // the unordered case is a little more complicated:\n // since there is no canonical ordering on objects,\n // i.e. {a:1} < {a:2} and {a:1} > {a:2} are both false,\n // we first serialize each entry using a PassThrough stream\n // before sorting.\n // also: we can\u2019t use the same context array for all entries\n // since the order of hashing should *not* matter. instead,\n // we keep track of the additions to a copy of the context array\n // and add all of them to the global context array when we\u2019re done\n var contextAdditions = [];\n var entries = arr.map(function(entry) {\n var strm = new PassThrough();\n var localContext = context.slice(); // make copy\n var hasher = typeHasher(options, strm, localContext);\n hasher.dispatch(entry);\n // take only what was added to localContext and append it to contextAdditions\n contextAdditions = contextAdditions.concat(localContext.slice(context.length));\n return strm.read().toString();\n });\n context = context.concat(contextAdditions);\n entries.sort();\n return this._array(entries, false);\n },\n _date: function(date){\n return write('date:' + date.toJSON());\n },\n _symbol: function(sym){\n return write('symbol:' + sym.toString());\n },\n _error: function(err){\n return write('error:' + err.toString());\n },\n _boolean: function(bool){\n return write('bool:' + bool.toString());\n },\n _string: function(string){\n write('string:' + string.length + ':');\n write(string.toString());\n },\n _function: function(fn){\n write('fn:');\n if (isNativeFunction(fn)) {\n this.dispatch('[native]');\n } else {\n this.dispatch(fn.toString());\n }\n\n if (options.respectFunctionNames !== false) {\n // Make sure we can still distinguish native functions\n // by their name, otherwise String and Function will\n // have the same hash\n this.dispatch(\"function-name:\" + String(fn.name));\n }\n\n if (options.respectFunctionProperties) {\n this._object(fn);\n }\n },\n _number: function(number){\n return write('number:' + number.toString());\n },\n _xml: function(xml){\n return write('xml:' + xml.toString());\n },\n _null: function() {\n return write('Null');\n },\n _undefined: function() {\n return write('Undefined');\n },\n _regexp: function(regex){\n return write('regex:' + regex.toString());\n },\n _uint8array: function(arr){\n write('uint8array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint8clampedarray: function(arr){\n write('uint8clampedarray:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int8array: function(arr){\n write('int8array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint16array: function(arr){\n write('uint16array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int16array: function(arr){\n write('int16array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint32array: function(arr){\n write('uint32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int32array: function(arr){\n write('int32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _float32array: function(arr){\n write('float32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _float64array: function(arr){\n write('float64array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _arraybuffer: function(arr){\n write('arraybuffer:');\n return this.dispatch(new Uint8Array(arr));\n },\n _url: function(url) {\n return write('url:' + url.toString(), 'utf8');\n },\n _map: function(map) {\n write('map:');\n var arr = Array.from(map);\n return this._array(arr, options.unorderedSets !== false);\n },\n _set: function(set) {\n write('set:');\n var arr = Array.from(set);\n return this._array(arr, options.unorderedSets !== false);\n },\n _file: function(file) {\n write('file:');\n return this.dispatch([file.name, file.size, file.type, file.lastModfied]);\n },\n _blob: function() {\n if (options.ignoreUnknown) {\n return write('[blob]');\n }\n\n throw Error('Hashing Blob objects is currently not supported\\n' +\n '(see https://github.com/puleos/object-hash/issues/26)\\n' +\n 'Use \"options.replacer\" or \"options.ignoreUnknown\"\\n');\n },\n _domwindow: function() { return write('domwindow'); },\n _bigint: function(number){\n return write('bigint:' + number.toString());\n },\n /* Node.js standard native objects */\n _process: function() { return write('process'); },\n _timer: function() { return write('timer'); },\n _pipe: function() { return write('pipe'); },\n _tcp: function() { return write('tcp'); },\n _udp: function() { return write('udp'); },\n _tty: function() { return write('tty'); },\n _statwatcher: function() { return write('statwatcher'); },\n _securecontext: function() { return write('securecontext'); },\n _connection: function() { return write('connection'); },\n _zlib: function() { return write('zlib'); },\n _context: function() { return write('context'); },\n _nodescript: function() { return write('nodescript'); },\n _httpparser: function() { return write('httpparser'); },\n _dataview: function() { return write('dataview'); },\n _signal: function() { return write('signal'); },\n _fsevent: function() { return write('fsevent'); },\n _tlswrap: function() { return write('tlswrap'); },\n };\n}\n\n// Mini-implementation of stream.PassThrough\n// We are far from having need for the full implementation, and we can\n// make assumptions like \"many writes, then only one final read\"\n// and we can ignore encoding specifics\nfunction PassThrough() {\n return {\n buf: '',\n\n write: function(b) {\n this.buf += b;\n },\n\n end: function(b) {\n this.buf += b;\n },\n\n read: function() {\n return this.buf;\n }\n };\n}\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hash = exports.reviver = exports.replacer = void 0;\nconst object_hash_1 = __importDefault(require(\"object-hash\"));\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction replacer(key, _value) {\n const value = this[key];\n if (value instanceof Date) {\n return `__raycast_cached_date__${value.toString()}`;\n }\n if (Buffer.isBuffer(value)) {\n return `__raycast_cached_buffer__${value.toString(\"base64\")}`;\n }\n return _value;\n}\nexports.replacer = replacer;\nfunction reviver(_key, value) {\n if (typeof value === \"string\" && value.startsWith(\"__raycast_cached_date__\")) {\n return new Date(value.replace(\"__raycast_cached_date__\", \"\"));\n }\n if (typeof value === \"string\" && value.startsWith(\"__raycast_cached_buffer__\")) {\n return Buffer.from(value.replace(\"__raycast_cached_buffer__\", \"\"), \"base64\");\n }\n return value;\n}\nexports.reviver = reviver;\nfunction hash(object, options) {\n return (0, object_hash_1.default)(object, {\n replacer: (value) => {\n if (value instanceof URLSearchParams) {\n return value.toString();\n }\n return value;\n },\n ...options,\n });\n}\nexports.hash = hash;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useCachedState = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst useLatest_1 = require(\"./useLatest\");\nconst helpers_1 = require(\"./helpers\");\nconst rootCache = Symbol(\"cache without namespace\");\nconst cacheMap = new Map();\nfunction useCachedState(key, initialState, config) {\n const cacheKey = config?.cacheNamespace || rootCache;\n const cache = cacheMap.get(cacheKey) || cacheMap.set(cacheKey, new api_1.Cache({ namespace: config?.cacheNamespace })).get(cacheKey);\n if (!cache) {\n throw new Error(\"Missing cache\");\n }\n const keyRef = (0, useLatest_1.useLatest)(key);\n const initialValueRef = (0, useLatest_1.useLatest)(initialState);\n const cachedState = (0, react_1.useSyncExternalStore)(cache.subscribe, () => {\n try {\n return cache.get(keyRef.current);\n }\n catch (error) {\n console.error(\"Could not get Cache data:\", error);\n return undefined;\n }\n });\n const state = (0, react_1.useMemo)(() => {\n if (typeof cachedState !== \"undefined\") {\n if (cachedState === \"undefined\") {\n return undefined;\n }\n try {\n return JSON.parse(cachedState, helpers_1.reviver);\n }\n catch (err) {\n // the data got corrupted somehow\n console.warn(\"The cached data is corrupted\", err);\n return initialValueRef.current;\n }\n }\n else {\n return initialValueRef.current;\n }\n }, [cachedState, initialValueRef]);\n const stateRef = (0, useLatest_1.useLatest)(state);\n const setStateAndCache = (0, react_1.useCallback)((updater) => {\n // @ts-expect-error TS struggles to infer the types as T could potentially be a function\n const newValue = typeof updater === \"function\" ? updater(stateRef.current) : updater;\n if (typeof newValue === \"undefined\") {\n cache.set(keyRef.current, \"undefined\");\n }\n else {\n const stringifiedValue = JSON.stringify(newValue, helpers_1.replacer);\n cache.set(keyRef.current, stringifiedValue);\n }\n return newValue;\n }, [cache, keyRef, stateRef]);\n return [state, setStateAndCache];\n}\nexports.useCachedState = useCachedState;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useCachedPromise = void 0;\nconst react_1 = require(\"react\");\nconst useCachedState_1 = require(\"./useCachedState\");\nconst usePromise_1 = require(\"./usePromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst helpers_1 = require(\"./helpers\");\n// Symbol to differentiate an empty cache from `undefined`\nconst emptyCache = Symbol();\nfunction useCachedPromise(fn, args, options) {\n /**\n * The hook generates a cache key from the promise it receives & its arguments.\n * Sometimes that's not enough to guarantee uniqueness, so hooks that build on top of `useCachedPromise` can\n * use an `internal_cacheKeySuffix` to help it.\n *\n * @remark For internal use only.\n */\n const { initialData, keepPreviousData, internal_cacheKeySuffix, ...usePromiseOptions } = options || {};\n const lastUpdateFrom = (0, react_1.useRef)();\n const [cachedData, mutateCache] = (0, useCachedState_1.useCachedState)((0, helpers_1.hash)(args || []) + internal_cacheKeySuffix ?? \"\", emptyCache, {\n cacheNamespace: (0, helpers_1.hash)(fn),\n });\n // Use a ref to store previous returned data. Use the inital data as its inital value from the cache.\n const laggyDataRef = (0, react_1.useRef)(cachedData !== emptyCache ? cachedData : initialData);\n const paginationArgsRef = (0, react_1.useRef)(undefined);\n const { mutate: _mutate, revalidate, ...state\n // @ts-expect-error fn has the same signature in both usePromise and useCachedPromise\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } = (0, usePromise_1.usePromise)(fn, args || [], {\n ...usePromiseOptions,\n onData(data, pagination) {\n paginationArgsRef.current = pagination;\n if (usePromiseOptions.onData) {\n usePromiseOptions.onData(data, pagination);\n }\n if (pagination && pagination.page > 0) {\n // don't cache beyond the first page\n return;\n }\n lastUpdateFrom.current = \"promise\";\n laggyDataRef.current = data;\n mutateCache(data);\n },\n });\n let returnedData;\n const pagination = state.pagination;\n // when paginating, only the first page gets cached, so we return the data we get from `usePromise`, because\n // it will be accumulated.\n if (paginationArgsRef.current && paginationArgsRef.current.page > 0 && state.data) {\n returnedData = state.data;\n // if the latest update if from the Promise, we keep it\n }\n else if (lastUpdateFrom.current === \"promise\") {\n returnedData = laggyDataRef.current;\n }\n else if (keepPreviousData && cachedData !== emptyCache) {\n // if we want to keep the latest data, we pick the cache but only if it's not empty\n returnedData = cachedData;\n if (pagination) {\n pagination.hasMore = true;\n pagination.pageSize = cachedData.length;\n }\n }\n else if (keepPreviousData && cachedData === emptyCache) {\n // if the cache is empty, we will return the previous data\n returnedData = laggyDataRef.current;\n // there are no special cases, so either return the cache or initial data\n }\n else if (cachedData !== emptyCache) {\n returnedData = cachedData;\n if (pagination) {\n pagination.hasMore = true;\n pagination.pageSize = cachedData.length;\n }\n }\n else {\n returnedData = initialData;\n }\n const latestData = (0, useLatest_1.useLatest)(returnedData);\n // we rewrite the mutate function to update the cache instead\n const mutate = (0, react_1.useCallback)(async (asyncUpdate, options) => {\n let dataBeforeOptimisticUpdate;\n try {\n if (options?.optimisticUpdate) {\n if (typeof options?.rollbackOnError !== \"function\" && options?.rollbackOnError !== false) {\n // keep track of the data before the optimistic update,\n // but only if we need it (eg. only when we want to automatically rollback after)\n dataBeforeOptimisticUpdate = structuredClone(latestData.current);\n }\n const data = options.optimisticUpdate(latestData.current);\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = data;\n mutateCache(data);\n }\n return await _mutate(asyncUpdate, { shouldRevalidateAfter: options?.shouldRevalidateAfter });\n }\n catch (err) {\n if (typeof options?.rollbackOnError === \"function\") {\n const data = options.rollbackOnError(latestData.current);\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = data;\n mutateCache(data);\n }\n else if (options?.optimisticUpdate && options?.rollbackOnError !== false) {\n lastUpdateFrom.current = \"cache\";\n // @ts-expect-error when undefined, it's expected\n laggyDataRef.current = dataBeforeOptimisticUpdate;\n // @ts-expect-error when undefined, it's expected\n mutateCache(dataBeforeOptimisticUpdate);\n }\n throw err;\n }\n }, [mutateCache, _mutate, latestData, laggyDataRef, lastUpdateFrom]);\n (0, react_1.useEffect)(() => {\n if (cachedData !== emptyCache) {\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = cachedData;\n }\n }, [cachedData]);\n return {\n data: returnedData,\n isLoading: state.isLoading,\n error: state.error,\n mutate: paginationArgsRef.current && paginationArgsRef.current.page > 0 ? _mutate : mutate,\n pagination,\n revalidate,\n };\n}\nexports.useCachedPromise = useCachedPromise;\n", "\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n", "\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n", "[[[0,44],\"disallowed_STD3_valid\"],[[45,46],\"valid\"],[[47,47],\"disallowed_STD3_valid\"],[[48,57],\"valid\"],[[58,64],\"disallowed_STD3_valid\"],[[65,65],\"mapped\",[97]],[[66,66],\"mapped\",[98]],[[67,67],\"mapped\",[99]],[[68,68],\"mapped\",[100]],[[69,69],\"mapped\",[101]],[[70,70],\"mapped\",[102]],[[71,71],\"mapped\",[103]],[[72,72],\"mapped\",[104]],[[73,73],\"mapped\",[105]],[[74,74],\"mapped\",[106]],[[75,75],\"mapped\",[107]],[[76,76],\"mapped\",[108]],[[77,77],\"mapped\",[109]],[[78,78],\"mapped\",[110]],[[79,79],\"mapped\",[111]],[[80,80],\"mapped\",[112]],[[81,81],\"mapped\",[113]],[[82,82],\"mapped\",[114]],[[83,83],\"mapped\",[115]],[[84,84],\"mapped\",[116]],[[85,85],\"mapped\",[117]],[[86,86],\"mapped\",[118]],[[87,87],\"mapped\",[119]],[[88,88],\"mapped\",[120]],[[89,89],\"mapped\",[121]],[[90,90],\"mapped\",[122]],[[91,96],\"disallowed_STD3_valid\"],[[97,122],\"valid\"],[[123,127],\"disallowed_STD3_valid\"],[[128,159],\"disallowed\"],[[160,160],\"disallowed_STD3_mapped\",[32]],[[161,167],\"valid\",[],\"NV8\"],[[168,168],\"disallowed_STD3_mapped\",[32,776]],[[169,169],\"valid\",[],\"NV8\"],[[170,170],\"mapped\",[97]],[[171,172],\"valid\",[],\"NV8\"],[[173,173],\"ignored\"],[[174,174],\"valid\",[],\"NV8\"],[[175,175],\"disallowed_STD3_mapped\",[32,772]],[[176,177],\"valid\",[],\"NV8\"],[[178,178],\"mapped\",[50]],[[179,179],\"mapped\",[51]],[[180,180],\"disallowed_STD3_mapped\",[32,769]],[[181,181],\"mapped\",[956]],[[182,182],\"valid\",[],\"NV8\"],[[183,183],\"valid\"],[[184,184],\"disallowed_STD3_mapped\",[32,807]],[[185,185],\"mapped\",[49]],[[186,186],\"mapped\",[111]],[[187,187],\"valid\",[],\"NV8\"],[[188,188],\"mapped\",[49,8260,52]],[[189,189],\"mapped\",[49,8260,50]],[[190,190],\"mapped\",[51,8260,52]],[[191,191],\"valid\",[],\"NV8\"],[[192,192],\"mapped\",[224]],[[193,193],\"mapped\",[225]],[[194,194],\"mapped\",[226]],[[195,195],\"mapped\",[227]],[[196,196],\"mapped\",[228]],[[197,197],\"mapped\",[229]],[[198,198],\"mapped\",[230]],[[199,199],\"mapped\",[231]],[[200,200],\"mapped\",[232]],[[201,201],\"mapped\",[233]],[[202,202],\"mapped\",[234]],[[203,203],\"mapped\",[235]],[[204,204],\"mapped\",[236]],[[205,205],\"mapped\",[237]],[[206,206],\"mapped\",[238]],[[207,207],\"mapped\",[239]],[[208,208],\"mapped\",[240]],[[209,209],\"mapped\",[241]],[[210,210],\"mapped\",[242]],[[211,211],\"mapped\",[243]],[[212,212],\"mapped\",[244]],[[213,213],\"mapped\",[245]],[[214,214],\"mapped\",[246]],[[215,215],\"valid\",[],\"NV8\"],[[216,216],\"mapped\",[248]],[[217,217],\"mapped\",[249]],[[218,218],\"mapped\",[250]],[[219,219],\"mapped\",[251]],[[220,220],\"mapped\",[252]],[[221,221],\"mapped\",[253]],[[222,222],\"mapped\",[254]],[[223,223],\"deviation\",[115,115]],[[224,246],\"valid\"],[[247,247],\"valid\",[],\"NV8\"],[[248,255],\"valid\"],[[256,256],\"mapped\",[257]],[[257,257],\"valid\"],[[258,258],\"mapped\",[259]],[[259,259],\"valid\"],[[260,260],\"mapped\",[261]],[[261,261],\"valid\"],[[262,262],\"mapped\",[263]],[[263,263],\"valid\"],[[264,264],\"mapped\",[265]],[[265,265],\"valid\"],[[266,266],\"mapped\",[267]],[[267,267],\"valid\"],[[268,268],\"mapped\",[269]],[[269,269],\"valid\"],[[270,270],\"mapped\",[271]],[[271,271],\"valid\"],[[272,272],\"mapped\",[273]],[[273,273],\"valid\"],[[274,274],\"mapped\",[275]],[[275,275],\"valid\"],[[276,276],\"mapped\",[277]],[[277,277],\"valid\"],[[278,278],\"mapped\",[279]],[[279,279],\"valid\"],[[280,280],\"mapped\",[281]],[[281,281],\"valid\"],[[282,282],\"mapped\",[283]],[[283,283],\"valid\"],[[284,284],\"mapped\",[285]],[[285,285],\"valid\"],[[286,286],\"mapped\",[287]],[[287,287],\"valid\"],[[288,288],\"mapped\",[289]],[[289,289],\"valid\"],[[290,290],\"mapped\",[291]],[[291,291],\"valid\"],[[292,292],\"mapped\",[293]],[[293,293],\"valid\"],[[294,294],\"mapped\",[295]],[[295,295],\"valid\"],[[296,296],\"mapped\",[297]],[[297,297],\"valid\"],[[298,298],\"mapped\",[299]],[[299,299],\"valid\"],[[300,300],\"mapped\",[301]],[[301,301],\"valid\"],[[302,302],\"mapped\",[303]],[[303,303],\"valid\"],[[304,304],\"mapped\",[105,775]],[[305,305],\"valid\"],[[306,307],\"mapped\",[105,106]],[[308,308],\"mapped\",[309]],[[309,309],\"valid\"],[[310,310],\"mapped\",[311]],[[311,312],\"valid\"],[[313,313],\"mapped\",[314]],[[314,314],\"valid\"],[[315,315],\"mapped\",[316]],[[316,316],\"valid\"],[[317,317],\"mapped\",[318]],[[318,318],\"valid\"],[[319,320],\"mapped\",[108,183]],[[321,321],\"mapped\",[322]],[[322,322],\"valid\"],[[323,323],\"mapped\",[324]],[[324,324],\"valid\"],[[325,325],\"mapped\",[326]],[[326,326],\"valid\"],[[327,327],\"mapped\",[328]],[[328,328],\"valid\"],[[329,329],\"mapped\",[700,110]],[[330,330],\"mapped\",[331]],[[331,331],\"valid\"],[[332,332],\"mapped\",[333]],[[333,333],\"valid\"],[[334,334],\"mapped\",[335]],[[335,335],\"valid\"],[[336,336],\"mapped\",[337]],[[337,337],\"valid\"],[[338,338],\"mapped\",[339]],[[339,339],\"valid\"],[[340,340],\"mapped\",[341]],[[341,341],\"valid\"],[[342,342],\"mapped\",[343]],[[343,343],\"valid\"],[[344,344],\"mapped\",[345]],[[345,345],\"valid\"],[[346,346],\"mapped\",[347]],[[347,347],\"valid\"],[[348,348],\"mapped\",[349]],[[349,349],\"valid\"],[[350,350],\"mapped\",[351]],[[351,351],\"valid\"],[[352,352],\"mapped\",[353]],[[353,353],\"valid\"],[[354,354],\"mapped\",[355]],[[355,355],\"valid\"],[[356,356],\"mapped\",[357]],[[357,357],\"valid\"],[[358,358],\"mapped\",[359]],[[359,359],\"valid\"],[[360,360],\"mapped\",[361]],[[361,361],\"valid\"],[[362,362],\"mapped\",[363]],[[363,363],\"valid\"],[[364,364],\"mapped\",[365]],[[365,365],\"valid\"],[[366,366],\"mapped\",[367]],[[367,367],\"valid\"],[[368,368],\"mapped\",[369]],[[369,369],\"valid\"],[[370,370],\"mapped\",[371]],[[371,371],\"valid\"],[[372,372],\"mapped\",[373]],[[373,373],\"valid\"],[[374,374],\"mapped\",[375]],[[375,375],\"valid\"],[[376,376],\"mapped\",[255]],[[377,377],\"mapped\",[378]],[[378,378],\"valid\"],[[379,379],\"mapped\",[380]],[[380,380],\"valid\"],[[381,381],\"mapped\",[382]],[[382,382],\"valid\"],[[383,383],\"mapped\",[115]],[[384,384],\"valid\"],[[385,385],\"mapped\",[595]],[[386,386],\"mapped\",[387]],[[387,387],\"valid\"],[[388,388],\"mapped\",[389]],[[389,389],\"valid\"],[[390,390],\"mapped\",[596]],[[391,391],\"mapped\",[392]],[[392,392],\"valid\"],[[393,393],\"mapped\",[598]],[[394,394],\"mapped\",[599]],[[395,395],\"mapped\",[396]],[[396,397],\"valid\"],[[398,398],\"mapped\",[477]],[[399,399],\"mapped\",[601]],[[400,400],\"mapped\",[603]],[[401,401],\"mapped\",[402]],[[402,402],\"valid\"],[[403,403],\"mapped\",[608]],[[404,404],\"mapped\",[611]],[[405,405],\"valid\"],[[406,406],\"mapped\",[617]],[[407,407],\"mapped\",[616]],[[408,408],\"mapped\",[409]],[[409,411],\"valid\"],[[412,412],\"mapped\",[623]],[[413,413],\"mapped\",[626]],[[414,414],\"valid\"],[[415,415],\"mapped\",[629]],[[416,416],\"mapped\",[417]],[[417,417],\"valid\"],[[418,418],\"mapped\",[419]],[[419,419],\"valid\"],[[420,420],\"mapped\",[421]],[[421,421],\"valid\"],[[422,422],\"mapped\",[640]],[[423,423],\"mapped\",[424]],[[424,424],\"valid\"],[[425,425],\"mapped\",[643]],[[426,427],\"valid\"],[[428,428],\"mapped\",[429]],[[429,429],\"valid\"],[[430,430],\"mapped\",[648]],[[431,431],\"mapped\",[432]],[[432,432],\"valid\"],[[433,433],\"mapped\",[650]],[[434,434],\"mapped\",[651]],[[435,435],\"mapped\",[436]],[[436,436],\"valid\"],[[437,437],\"mapped\",[438]],[[438,438],\"valid\"],[[439,439],\"mapped\",[658]],[[440,440],\"mapped\",[441]],[[441,443],\"valid\"],[[444,444],\"mapped\",[445]],[[445,451],\"valid\"],[[452,454],\"mapped\",[100,382]],[[455,457],\"mapped\",[108,106]],[[458,460],\"mapped\",[110,106]],[[461,461],\"mapped\",[462]],[[462,462],\"valid\"],[[463,463],\"mapped\",[464]],[[464,464],\"valid\"],[[465,465],\"mapped\",[466]],[[466,466],\"valid\"],[[467,467],\"mapped\",[468]],[[468,468],\"valid\"],[[469,469],\"mapped\",[470]],[[470,470],\"valid\"],[[471,471],\"mapped\",[472]],[[472,472],\"valid\"],[[473,473],\"mapped\",[474]],[[474,474],\"valid\"],[[475,475],\"mapped\",[476]],[[476,477],\"valid\"],[[478,478],\"mapped\",[479]],[[479,479],\"valid\"],[[480,480],\"mapped\",[481]],[[481,481],\"valid\"],[[482,482],\"mapped\",[483]],[[483,483],\"valid\"],[[484,484],\"mapped\",[485]],[[485,485],\"valid\"],[[486,486],\"mapped\",[487]],[[487,487],\"valid\"],[[488,488],\"mapped\",[489]],[[489,489],\"valid\"],[[490,490],\"mapped\",[491]],[[491,491],\"valid\"],[[492,492],\"mapped\",[493]],[[493,493],\"valid\"],[[494,494],\"mapped\",[495]],[[495,496],\"valid\"],[[497,499],\"mapped\",[100,122]],[[500,500],\"mapped\",[501]],[[501,501],\"valid\"],[[502,502],\"mapped\",[405]],[[503,503],\"mapped\",[447]],[[504,504],\"mapped\",[505]],[[505,505],\"valid\"],[[506,506],\"mapped\",[507]],[[507,507],\"valid\"],[[508,508],\"mapped\",[509]],[[509,509],\"valid\"],[[510,510],\"mapped\",[511]],[[511,511],\"valid\"],[[512,512],\"mapped\",[513]],[[513,513],\"valid\"],[[514,514],\"mapped\",[515]],[[515,515],\"valid\"],[[516,516],\"mapped\",[517]],[[517,517],\"valid\"],[[518,518],\"mapped\",[519]],[[519,519],\"valid\"],[[520,520],\"mapped\",[521]],[[521,521],\"valid\"],[[522,522],\"mapped\",[523]],[[523,523],\"valid\"],[[524,524],\"mapped\",[525]],[[525,525],\"valid\"],[[526,526],\"mapped\",[527]],[[527,527],\"valid\"],[[528,528],\"mapped\",[529]],[[529,529],\"valid\"],[[530,530],\"mapped\",[531]],[[531,531],\"valid\"],[[532,532],\"mapped\",[533]],[[533,533],\"valid\"],[[534,534],\"mapped\",[535]],[[535,535],\"valid\"],[[536,536],\"mapped\",[537]],[[537,537],\"valid\"],[[538,538],\"mapped\",[539]],[[539,539],\"valid\"],[[540,540],\"mapped\",[541]],[[541,541],\"valid\"],[[542,542],\"mapped\",[543]],[[543,543],\"valid\"],[[544,544],\"mapped\",[414]],[[545,545],\"valid\"],[[546,546],\"mapped\",[547]],[[547,547],\"valid\"],[[548,548],\"mapped\",[549]],[[549,549],\"valid\"],[[550,550],\"mapped\",[551]],[[551,551],\"valid\"],[[552,552],\"mapped\",[553]],[[553,553],\"valid\"],[[554,554],\"mapped\",[555]],[[555,555],\"valid\"],[[556,556],\"mapped\",[557]],[[557,557],\"valid\"],[[558,558],\"mapped\",[559]],[[559,559],\"valid\"],[[560,560],\"mapped\",[561]],[[561,561],\"valid\"],[[562,562],\"mapped\",[563]],[[563,563],\"valid\"],[[564,566],\"valid\"],[[567,569],\"valid\"],[[570,570],\"mapped\",[11365]],[[571,571],\"mapped\",[572]],[[572,572],\"valid\"],[[573,573],\"mapped\",[410]],[[574,574],\"mapped\",[11366]],[[575,576],\"valid\"],[[577,577],\"mapped\",[578]],[[578,578],\"valid\"],[[579,579],\"mapped\",[384]],[[580,580],\"mapped\",[649]],[[581,581],\"mapped\",[652]],[[582,582],\"mapped\",[583]],[[583,583],\"valid\"],[[584,584],\"mapped\",[585]],[[585,585],\"valid\"],[[586,586],\"mapped\",[587]],[[587,587],\"valid\"],[[588,588],\"mapped\",[589]],[[589,589],\"valid\"],[[590,590],\"mapped\",[591]],[[591,591],\"valid\"],[[592,680],\"valid\"],[[681,685],\"valid\"],[[686,687],\"valid\"],[[688,688],\"mapped\",[104]],[[689,689],\"mapped\",[614]],[[690,690],\"mapped\",[106]],[[691,691],\"mapped\",[114]],[[692,692],\"mapped\",[633]],[[693,693],\"mapped\",[635]],[[694,694],\"mapped\",[641]],[[695,695],\"mapped\",[119]],[[696,696],\"mapped\",[121]],[[697,705],\"valid\"],[[706,709],\"valid\",[],\"NV8\"],[[710,721],\"valid\"],[[722,727],\"valid\",[],\"NV8\"],[[728,728],\"disallowed_STD3_mapped\",[32,774]],[[729,729],\"disallowed_STD3_mapped\",[32,775]],[[730,730],\"disallowed_STD3_mapped\",[32,778]],[[731,731],\"disallowed_STD3_mapped\",[32,808]],[[732,732],\"disallowed_STD3_mapped\",[32,771]],[[733,733],\"disallowed_STD3_mapped\",[32,779]],[[734,734],\"valid\",[],\"NV8\"],[[735,735],\"valid\",[],\"NV8\"],[[736,736],\"mapped\",[611]],[[737,737],\"mapped\",[108]],[[738,738],\"mapped\",[115]],[[739,739],\"mapped\",[120]],[[740,740],\"mapped\",[661]],[[741,745],\"valid\",[],\"NV8\"],[[746,747],\"valid\",[],\"NV8\"],[[748,748],\"valid\"],[[749,749],\"valid\",[],\"NV8\"],[[750,750],\"valid\"],[[751,767],\"valid\",[],\"NV8\"],[[768,831],\"valid\"],[[832,832],\"mapped\",[768]],[[833,833],\"mapped\",[769]],[[834,834],\"valid\"],[[835,835],\"mapped\",[787]],[[836,836],\"mapped\",[776,769]],[[837,837],\"mapped\",[953]],[[838,846],\"valid\"],[[847,847],\"ignored\"],[[848,855],\"valid\"],[[856,860],\"valid\"],[[861,863],\"valid\"],[[864,865],\"valid\"],[[866,866],\"valid\"],[[867,879],\"valid\"],[[880,880],\"mapped\",[881]],[[881,881],\"valid\"],[[882,882],\"mapped\",[883]],[[883,883],\"valid\"],[[884,884],\"mapped\",[697]],[[885,885],\"valid\"],[[886,886],\"mapped\",[887]],[[887,887],\"valid\"],[[888,889],\"disallowed\"],[[890,890],\"disallowed_STD3_mapped\",[32,953]],[[891,893],\"valid\"],[[894,894],\"disallowed_STD3_mapped\",[59]],[[895,895],\"mapped\",[1011]],[[896,899],\"disallowed\"],[[900,900],\"disallowed_STD3_mapped\",[32,769]],[[901,901],\"disallowed_STD3_mapped\",[32,776,769]],[[902,902],\"mapped\",[940]],[[903,903],\"mapped\",[183]],[[904,904],\"mapped\",[941]],[[905,905],\"mapped\",[942]],[[906,906],\"mapped\",[943]],[[907,907],\"disallowed\"],[[908,908],\"mapped\",[972]],[[909,909],\"disallowed\"],[[910,910],\"mapped\",[973]],[[911,911],\"mapped\",[974]],[[912,912],\"valid\"],[[913,913],\"mapped\",[945]],[[914,914],\"mapped\",[946]],[[915,915],\"mapped\",[947]],[[916,916],\"mapped\",[948]],[[917,917],\"mapped\",[949]],[[918,918],\"mapped\",[950]],[[919,919],\"mapped\",[951]],[[920,920],\"mapped\",[952]],[[921,921],\"mapped\",[953]],[[922,922],\"mapped\",[954]],[[923,923],\"mapped\",[955]],[[924,924],\"mapped\",[956]],[[925,925],\"mapped\",[957]],[[926,926],\"mapped\",[958]],[[927,927],\"mapped\",[959]],[[928,928],\"mapped\",[960]],[[929,929],\"mapped\",[961]],[[930,930],\"disallowed\"],[[931,931],\"mapped\",[963]],[[932,932],\"mapped\",[964]],[[933,933],\"mapped\",[965]],[[934,934],\"mapped\",[966]],[[935,935],\"mapped\",[967]],[[936,936],\"mapped\",[968]],[[937,937],\"mapped\",[969]],[[938,938],\"mapped\",[970]],[[939,939],\"mapped\",[971]],[[940,961],\"valid\"],[[962,962],\"deviation\",[963]],[[963,974],\"valid\"],[[975,975],\"mapped\",[983]],[[976,976],\"mapped\",[946]],[[977,977],\"mapped\",[952]],[[978,978],\"mapped\",[965]],[[979,979],\"mapped\",[973]],[[980,980],\"mapped\",[971]],[[981,981],\"mapped\",[966]],[[982,982],\"mapped\",[960]],[[983,983],\"valid\"],[[984,984],\"mapped\",[985]],[[985,985],\"valid\"],[[986,986],\"mapped\",[987]],[[987,987],\"valid\"],[[988,988],\"mapped\",[989]],[[989,989],\"valid\"],[[990,990],\"mapped\",[991]],[[991,991],\"valid\"],[[992,992],\"mapped\",[993]],[[993,993],\"valid\"],[[994,994],\"mapped\",[995]],[[995,995],\"valid\"],[[996,996],\"mapped\",[997]],[[997,997],\"valid\"],[[998,998],\"mapped\",[999]],[[999,999],\"valid\"],[[1000,1000],\"mapped\",[1001]],[[1001,1001],\"valid\"],[[1002,1002],\"mapped\",[1003]],[[1003,1003],\"valid\"],[[1004,1004],\"mapped\",[1005]],[[1005,1005],\"valid\"],[[1006,1006],\"mapped\",[1007]],[[1007,1007],\"valid\"],[[1008,1008],\"mapped\",[954]],[[1009,1009],\"mapped\",[961]],[[1010,1010],\"mapped\",[963]],[[1011,1011],\"valid\"],[[1012,1012],\"mapped\",[952]],[[1013,1013],\"mapped\",[949]],[[1014,1014],\"valid\",[],\"NV8\"],[[1015,1015],\"mapped\",[1016]],[[1016,1016],\"valid\"],[[1017,1017],\"mapped\",[963]],[[1018,1018],\"mapped\",[1019]],[[1019,1019],\"valid\"],[[1020,1020],\"valid\"],[[1021,1021],\"mapped\",[891]],[[1022,1022],\"mapped\",[892]],[[1023,1023],\"mapped\",[893]],[[1024,1024],\"mapped\",[1104]],[[1025,1025],\"mapped\",[1105]],[[1026,1026],\"mapped\",[1106]],[[1027,1027],\"mapped\",[1107]],[[1028,1028],\"mapped\",[1108]],[[1029,1029],\"mapped\",[1109]],[[1030,1030],\"mapped\",[1110]],[[1031,1031],\"mapped\",[1111]],[[1032,1032],\"mapped\",[1112]],[[1033,1033],\"mapped\",[1113]],[[1034,1034],\"mapped\",[1114]],[[1035,1035],\"mapped\",[1115]],[[1036,1036],\"mapped\",[1116]],[[1037,1037],\"mapped\",[1117]],[[1038,1038],\"mapped\",[1118]],[[1039,1039],\"mapped\",[1119]],[[1040,1040],\"mapped\",[1072]],[[1041,1041],\"mapped\",[1073]],[[1042,1042],\"mapped\",[1074]],[[1043,1043],\"mapped\",[1075]],[[1044,1044],\"mapped\",[1076]],[[1045,1045],\"mapped\",[1077]],[[1046,1046],\"mapped\",[1078]],[[1047,1047],\"mapped\",[1079]],[[1048,1048],\"mapped\",[1080]],[[1049,1049],\"mapped\",[1081]],[[1050,1050],\"mapped\",[1082]],[[1051,1051],\"mapped\",[1083]],[[1052,1052],\"mapped\",[1084]],[[1053,1053],\"mapped\",[1085]],[[1054,1054],\"mapped\",[1086]],[[1055,1055],\"mapped\",[1087]],[[1056,1056],\"mapped\",[1088]],[[1057,1057],\"mapped\",[1089]],[[1058,1058],\"mapped\",[1090]],[[1059,1059],\"mapped\",[1091]],[[1060,1060],\"mapped\",[1092]],[[1061,1061],\"mapped\",[1093]],[[1062,1062],\"mapped\",[1094]],[[1063,1063],\"mapped\",[1095]],[[1064,1064],\"mapped\",[1096]],[[1065,1065],\"mapped\",[1097]],[[1066,1066],\"mapped\",[1098]],[[1067,1067],\"mapped\",[1099]],[[1068,1068],\"mapped\",[1100]],[[1069,1069],\"mapped\",[1101]],[[1070,1070],\"mapped\",[1102]],[[1071,1071],\"mapped\",[1103]],[[1072,1103],\"valid\"],[[1104,1104],\"valid\"],[[1105,1116],\"valid\"],[[1117,1117],\"valid\"],[[1118,1119],\"valid\"],[[1120,1120],\"mapped\",[1121]],[[1121,1121],\"valid\"],[[1122,1122],\"mapped\",[1123]],[[1123,1123],\"valid\"],[[1124,1124],\"mapped\",[1125]],[[1125,1125],\"valid\"],[[1126,1126],\"mapped\",[1127]],[[1127,1127],\"valid\"],[[1128,1128],\"mapped\",[1129]],[[1129,1129],\"valid\"],[[1130,1130],\"mapped\",[1131]],[[1131,1131],\"valid\"],[[1132,1132],\"mapped\",[1133]],[[1133,1133],\"valid\"],[[1134,1134],\"mapped\",[1135]],[[1135,1135],\"valid\"],[[1136,1136],\"mapped\",[1137]],[[1137,1137],\"valid\"],[[1138,1138],\"mapped\",[1139]],[[1139,1139],\"valid\"],[[1140,1140],\"mapped\",[1141]],[[1141,1141],\"valid\"],[[1142,1142],\"mapped\",[1143]],[[1143,1143],\"valid\"],[[1144,1144],\"mapped\",[1145]],[[1145,1145],\"valid\"],[[1146,1146],\"mapped\",[1147]],[[1147,1147],\"valid\"],[[1148,1148],\"mapped\",[1149]],[[1149,1149],\"valid\"],[[1150,1150],\"mapped\",[1151]],[[1151,1151],\"valid\"],[[1152,1152],\"mapped\",[1153]],[[1153,1153],\"valid\"],[[1154,1154],\"valid\",[],\"NV8\"],[[1155,1158],\"valid\"],[[1159,1159],\"valid\"],[[1160,1161],\"valid\",[],\"NV8\"],[[1162,1162],\"mapped\",[1163]],[[1163,1163],\"valid\"],[[1164,1164],\"mapped\",[1165]],[[1165,1165],\"valid\"],[[1166,1166],\"mapped\",[1167]],[[1167,1167],\"valid\"],[[1168,1168],\"mapped\",[1169]],[[1169,1169],\"valid\"],[[1170,1170],\"mapped\",[1171]],[[1171,1171],\"valid\"],[[1172,1172],\"mapped\",[1173]],[[1173,1173],\"valid\"],[[1174,1174],\"mapped\",[1175]],[[1175,1175],\"valid\"],[[1176,1176],\"mapped\",[1177]],[[1177,1177],\"valid\"],[[1178,1178],\"mapped\",[1179]],[[1179,1179],\"valid\"],[[1180,1180],\"mapped\",[1181]],[[1181,1181],\"valid\"],[[1182,1182],\"mapped\",[1183]],[[1183,1183],\"valid\"],[[1184,1184],\"mapped\",[1185]],[[1185,1185],\"valid\"],[[1186,1186],\"mapped\",[1187]],[[1187,1187],\"valid\"],[[1188,1188],\"mapped\",[1189]],[[1189,1189],\"valid\"],[[1190,1190],\"mapped\",[1191]],[[1191,1191],\"valid\"],[[1192,1192],\"mapped\",[1193]],[[1193,1193],\"valid\"],[[1194,1194],\"mapped\",[1195]],[[1195,1195],\"valid\"],[[1196,1196],\"mapped\",[1197]],[[1197,1197],\"valid\"],[[1198,1198],\"mapped\",[1199]],[[1199,1199],\"valid\"],[[1200,1200],\"mapped\",[1201]],[[1201,1201],\"valid\"],[[1202,1202],\"mapped\",[1203]],[[1203,1203],\"valid\"],[[1204,1204],\"mapped\",[1205]],[[1205,1205],\"valid\"],[[1206,1206],\"mapped\",[1207]],[[1207,1207],\"valid\"],[[1208,1208],\"mapped\",[1209]],[[1209,1209],\"valid\"],[[1210,1210],\"mapped\",[1211]],[[1211,1211],\"valid\"],[[1212,1212],\"mapped\",[1213]],[[1213,1213],\"valid\"],[[1214,1214],\"mapped\",[1215]],[[1215,1215],\"valid\"],[[1216,1216],\"disallowed\"],[[1217,1217],\"mapped\",[1218]],[[1218,1218],\"valid\"],[[1219,1219],\"mapped\",[1220]],[[1220,1220],\"valid\"],[[1221,1221],\"mapped\",[1222]],[[1222,1222],\"valid\"],[[1223,1223],\"mapped\",[1224]],[[1224,1224],\"valid\"],[[1225,1225],\"mapped\",[1226]],[[1226,1226],\"valid\"],[[1227,1227],\"mapped\",[1228]],[[1228,1228],\"valid\"],[[1229,1229],\"mapped\",[1230]],[[1230,1230],\"valid\"],[[1231,1231],\"valid\"],[[1232,1232],\"mapped\",[1233]],[[1233,1233],\"valid\"],[[1234,1234],\"mapped\",[1235]],[[1235,1235],\"valid\"],[[1236,1236],\"mapped\",[1237]],[[1237,1237],\"valid\"],[[1238,1238],\"mapped\",[1239]],[[1239,1239],\"valid\"],[[1240,1240],\"mapped\",[1241]],[[1241,1241],\"valid\"],[[1242,1242],\"mapped\",[1243]],[[1243,1243],\"valid\"],[[1244,1244],\"mapped\",[1245]],[[1245,1245],\"valid\"],[[1246,1246],\"mapped\",[1247]],[[1247,1247],\"valid\"],[[1248,1248],\"mapped\",[1249]],[[1249,1249],\"valid\"],[[1250,1250],\"mapped\",[1251]],[[1251,1251],\"valid\"],[[1252,1252],\"mapped\",[1253]],[[1253,1253],\"valid\"],[[1254,1254],\"mapped\",[1255]],[[1255,1255],\"valid\"],[[1256,1256],\"mapped\",[1257]],[[1257,1257],\"valid\"],[[1258,1258],\"mapped\",[1259]],[[1259,1259],\"valid\"],[[1260,1260],\"mapped\",[1261]],[[1261,1261],\"valid\"],[[1262,1262],\"mapped\",[1263]],[[1263,1263],\"valid\"],[[1264,1264],\"mapped\",[1265]],[[1265,1265],\"valid\"],[[1266,1266],\"mapped\",[1267]],[[1267,1267],\"valid\"],[[1268,1268],\"mapped\",[1269]],[[1269,1269],\"valid\"],[[1270,1270],\"mapped\",[1271]],[[1271,1271],\"valid\"],[[1272,1272],\"mapped\",[1273]],[[1273,1273],\"valid\"],[[1274,1274],\"mapped\",[1275]],[[1275,1275],\"valid\"],[[1276,1276],\"mapped\",[1277]],[[1277,1277],\"valid\"],[[1278,1278],\"mapped\",[1279]],[[1279,1279],\"valid\"],[[1280,1280],\"mapped\",[1281]],[[1281,1281],\"valid\"],[[1282,1282],\"mapped\",[1283]],[[1283,1283],\"valid\"],[[1284,1284],\"mapped\",[1285]],[[1285,1285],\"valid\"],[[1286,1286],\"mapped\",[1287]],[[1287,1287],\"valid\"],[[1288,1288],\"mapped\",[1289]],[[1289,1289],\"valid\"],[[1290,1290],\"mapped\",[1291]],[[1291,1291],\"valid\"],[[1292,1292],\"mapped\",[1293]],[[1293,1293],\"valid\"],[[1294,1294],\"mapped\",[1295]],[[1295,1295],\"valid\"],[[1296,1296],\"mapped\",[1297]],[[1297,1297],\"valid\"],[[1298,1298],\"mapped\",[1299]],[[1299,1299],\"valid\"],[[1300,1300],\"mapped\",[1301]],[[1301,1301],\"valid\"],[[1302,1302],\"mapped\",[1303]],[[1303,1303],\"valid\"],[[1304,1304],\"mapped\",[1305]],[[1305,1305],\"valid\"],[[1306,1306],\"mapped\",[1307]],[[1307,1307],\"valid\"],[[1308,1308],\"mapped\",[1309]],[[1309,1309],\"valid\"],[[1310,1310],\"mapped\",[1311]],[[1311,1311],\"valid\"],[[1312,1312],\"mapped\",[1313]],[[1313,1313],\"valid\"],[[1314,1314],\"mapped\",[1315]],[[1315,1315],\"valid\"],[[1316,1316],\"mapped\",[1317]],[[1317,1317],\"valid\"],[[1318,1318],\"mapped\",[1319]],[[1319,1319],\"valid\"],[[1320,1320],\"mapped\",[1321]],[[1321,1321],\"valid\"],[[1322,1322],\"mapped\",[1323]],[[1323,1323],\"valid\"],[[1324,1324],\"mapped\",[1325]],[[1325,1325],\"valid\"],[[1326,1326],\"mapped\",[1327]],[[1327,1327],\"valid\"],[[1328,1328],\"disallowed\"],[[1329,1329],\"mapped\",[1377]],[[1330,1330],\"mapped\",[1378]],[[1331,1331],\"mapped\",[1379]],[[1332,1332],\"mapped\",[1380]],[[1333,1333],\"mapped\",[1381]],[[1334,1334],\"mapped\",[1382]],[[1335,1335],\"mapped\",[1383]],[[1336,1336],\"mapped\",[1384]],[[1337,1337],\"mapped\",[1385]],[[1338,1338],\"mapped\",[1386]],[[1339,1339],\"mapped\",[1387]],[[1340,1340],\"mapped\",[1388]],[[1341,1341],\"mapped\",[1389]],[[1342,1342],\"mapped\",[1390]],[[1343,1343],\"mapped\",[1391]],[[1344,1344],\"mapped\",[1392]],[[1345,1345],\"mapped\",[1393]],[[1346,1346],\"mapped\",[1394]],[[1347,1347],\"mapped\",[1395]],[[1348,1348],\"mapped\",[1396]],[[1349,1349],\"mapped\",[1397]],[[1350,1350],\"mapped\",[1398]],[[1351,1351],\"mapped\",[1399]],[[1352,1352],\"mapped\",[1400]],[[1353,1353],\"mapped\",[1401]],[[1354,1354],\"mapped\",[1402]],[[1355,1355],\"mapped\",[1403]],[[1356,1356],\"mapped\",[1404]],[[1357,1357],\"mapped\",[1405]],[[1358,1358],\"mapped\",[1406]],[[1359,1359],\"mapped\",[1407]],[[1360,1360],\"mapped\",[1408]],[[1361,1361],\"mapped\",[1409]],[[1362,1362],\"mapped\",[1410]],[[1363,1363],\"mapped\",[1411]],[[1364,1364],\"mapped\",[1412]],[[1365,1365],\"mapped\",[1413]],[[1366,1366],\"mapped\",[1414]],[[1367,1368],\"disallowed\"],[[1369,1369],\"valid\"],[[1370,1375],\"valid\",[],\"NV8\"],[[1376,1376],\"disallowed\"],[[1377,1414],\"valid\"],[[1415,1415],\"mapped\",[1381,1410]],[[1416,1416],\"disallowed\"],[[1417,1417],\"valid\",[],\"NV8\"],[[1418,1418],\"valid\",[],\"NV8\"],[[1419,1420],\"disallowed\"],[[1421,1422],\"valid\",[],\"NV8\"],[[1423,1423],\"valid\",[],\"NV8\"],[[1424,1424],\"disallowed\"],[[1425,1441],\"valid\"],[[1442,1442],\"valid\"],[[1443,1455],\"valid\"],[[1456,1465],\"valid\"],[[1466,1466],\"valid\"],[[1467,1469],\"valid\"],[[1470,1470],\"valid\",[],\"NV8\"],[[1471,1471],\"valid\"],[[1472,1472],\"valid\",[],\"NV8\"],[[1473,1474],\"valid\"],[[1475,1475],\"valid\",[],\"NV8\"],[[1476,1476],\"valid\"],[[1477,1477],\"valid\"],[[1478,1478],\"valid\",[],\"NV8\"],[[1479,1479],\"valid\"],[[1480,1487],\"disallowed\"],[[1488,1514],\"valid\"],[[1515,1519],\"disallowed\"],[[1520,1524],\"valid\"],[[1525,1535],\"disallowed\"],[[1536,1539],\"disallowed\"],[[1540,1540],\"disallowed\"],[[1541,1541],\"disallowed\"],[[1542,1546],\"valid\",[],\"NV8\"],[[1547,1547],\"valid\",[],\"NV8\"],[[1548,1548],\"valid\",[],\"NV8\"],[[1549,1551],\"valid\",[],\"NV8\"],[[1552,1557],\"valid\"],[[1558,1562],\"valid\"],[[1563,1563],\"valid\",[],\"NV8\"],[[1564,1564],\"disallowed\"],[[1565,1565],\"disallowed\"],[[1566,1566],\"valid\",[],\"NV8\"],[[1567,1567],\"valid\",[],\"NV8\"],[[1568,1568],\"valid\"],[[1569,1594],\"valid\"],[[1595,1599],\"valid\"],[[1600,1600],\"valid\",[],\"NV8\"],[[1601,1618],\"valid\"],[[1619,1621],\"valid\"],[[1622,1624],\"valid\"],[[1625,1630],\"valid\"],[[1631,1631],\"valid\"],[[1632,1641],\"valid\"],[[1642,1645],\"valid\",[],\"NV8\"],[[1646,1647],\"valid\"],[[1648,1652],\"valid\"],[[1653,1653],\"mapped\",[1575,1652]],[[1654,1654],\"mapped\",[1608,1652]],[[1655,1655],\"mapped\",[1735,1652]],[[1656,1656],\"mapped\",[1610,1652]],[[1657,1719],\"valid\"],[[1720,1721],\"valid\"],[[1722,1726],\"valid\"],[[1727,1727],\"valid\"],[[1728,1742],\"valid\"],[[1743,1743],\"valid\"],[[1744,1747],\"valid\"],[[1748,1748],\"valid\",[],\"NV8\"],[[1749,1756],\"valid\"],[[1757,1757],\"disallowed\"],[[1758,1758],\"valid\",[],\"NV8\"],[[1759,1768],\"valid\"],[[1769,1769],\"valid\",[],\"NV8\"],[[1770,1773],\"valid\"],[[1774,1775],\"valid\"],[[1776,1785],\"valid\"],[[1786,1790],\"valid\"],[[1791,1791],\"valid\"],[[1792,1805],\"valid\",[],\"NV8\"],[[1806,1806],\"disallowed\"],[[1807,1807],\"disallowed\"],[[1808,1836],\"valid\"],[[1837,1839],\"valid\"],[[1840,1866],\"valid\"],[[1867,1868],\"disallowed\"],[[1869,1871],\"valid\"],[[1872,1901],\"valid\"],[[1902,1919],\"valid\"],[[1920,1968],\"valid\"],[[1969,1969],\"valid\"],[[1970,1983],\"disallowed\"],[[1984,2037],\"valid\"],[[2038,2042],\"valid\",[],\"NV8\"],[[2043,2047],\"disallowed\"],[[2048,2093],\"valid\"],[[2094,2095],\"disallowed\"],[[2096,2110],\"valid\",[],\"NV8\"],[[2111,2111],\"disallowed\"],[[2112,2139],\"valid\"],[[2140,2141],\"disallowed\"],[[2142,2142],\"valid\",[],\"NV8\"],[[2143,2207],\"disallowed\"],[[2208,2208],\"valid\"],[[2209,2209],\"valid\"],[[2210,2220],\"valid\"],[[2221,2226],\"valid\"],[[2227,2228],\"valid\"],[[2229,2274],\"disallowed\"],[[2275,2275],\"valid\"],[[2276,2302],\"valid\"],[[2303,2303],\"valid\"],[[2304,2304],\"valid\"],[[2305,2307],\"valid\"],[[2308,2308],\"valid\"],[[2309,2361],\"valid\"],[[2362,2363],\"valid\"],[[2364,2381],\"valid\"],[[2382,2382],\"valid\"],[[2383,2383],\"valid\"],[[2384,2388],\"valid\"],[[2389,2389],\"valid\"],[[2390,2391],\"valid\"],[[2392,2392],\"mapped\",[2325,2364]],[[2393,2393],\"mapped\",[2326,2364]],[[2394,2394],\"mapped\",[2327,2364]],[[2395,2395],\"mapped\",[2332,2364]],[[2396,2396],\"mapped\",[2337,2364]],[[2397,2397],\"mapped\",[2338,2364]],[[2398,2398],\"mapped\",[2347,2364]],[[2399,2399],\"mapped\",[2351,2364]],[[2400,2403],\"valid\"],[[2404,2405],\"valid\",[],\"NV8\"],[[2406,2415],\"valid\"],[[2416,2416],\"valid\",[],\"NV8\"],[[2417,2418],\"valid\"],[[2419,2423],\"valid\"],[[2424,2424],\"valid\"],[[2425,2426],\"valid\"],[[2427,2428],\"valid\"],[[2429,2429],\"valid\"],[[2430,2431],\"valid\"],[[2432,2432],\"valid\"],[[2433,2435],\"valid\"],[[2436,2436],\"disallowed\"],[[2437,2444],\"valid\"],[[2445,2446],\"disallowed\"],[[2447,2448],\"valid\"],[[2449,2450],\"disallowed\"],[[2451,2472],\"valid\"],[[2473,2473],\"disallowed\"],[[2474,2480],\"valid\"],[[2481,2481],\"disallowed\"],[[2482,2482],\"valid\"],[[2483,2485],\"disallowed\"],[[2486,2489],\"valid\"],[[2490,2491],\"disallowed\"],[[2492,2492],\"valid\"],[[2493,2493],\"valid\"],[[2494,2500],\"valid\"],[[2501,2502],\"disallowed\"],[[2503,2504],\"valid\"],[[2505,2506],\"disallowed\"],[[2507,2509],\"valid\"],[[2510,2510],\"valid\"],[[2511,2518],\"disallowed\"],[[2519,2519],\"valid\"],[[2520,2523],\"disallowed\"],[[2524,2524],\"mapped\",[2465,2492]],[[2525,2525],\"mapped\",[2466,2492]],[[2526,2526],\"disallowed\"],[[2527,2527],\"mapped\",[2479,2492]],[[2528,2531],\"valid\"],[[2532,2533],\"disallowed\"],[[2534,2545],\"valid\"],[[2546,2554],\"valid\",[],\"NV8\"],[[2555,2555],\"valid\",[],\"NV8\"],[[2556,2560],\"disallowed\"],[[2561,2561],\"valid\"],[[2562,2562],\"valid\"],[[2563,2563],\"valid\"],[[2564,2564],\"disallowed\"],[[2565,2570],\"valid\"],[[2571,2574],\"disallowed\"],[[2575,2576],\"valid\"],[[2577,2578],\"disallowed\"],[[2579,2600],\"valid\"],[[2601,2601],\"disallowed\"],[[2602,2608],\"valid\"],[[2609,2609],\"disallowed\"],[[2610,2610],\"valid\"],[[2611,2611],\"mapped\",[2610,2620]],[[2612,2612],\"disallowed\"],[[2613,2613],\"valid\"],[[2614,2614],\"mapped\",[2616,2620]],[[2615,2615],\"disallowed\"],[[2616,2617],\"valid\"],[[2618,2619],\"disallowed\"],[[2620,2620],\"valid\"],[[2621,2621],\"disallowed\"],[[2622,2626],\"valid\"],[[2627,2630],\"disallowed\"],[[2631,2632],\"valid\"],[[2633,2634],\"disallowed\"],[[2635,2637],\"valid\"],[[2638,2640],\"disallowed\"],[[2641,2641],\"valid\"],[[2642,2648],\"disallowed\"],[[2649,2649],\"mapped\",[2582,2620]],[[2650,2650],\"mapped\",[2583,2620]],[[2651,2651],\"mapped\",[2588,2620]],[[2652,2652],\"valid\"],[[2653,2653],\"disallowed\"],[[2654,2654],\"mapped\",[2603,2620]],[[2655,2661],\"disallowed\"],[[2662,2676],\"valid\"],[[2677,2677],\"valid\"],[[2678,2688],\"disallowed\"],[[2689,2691],\"valid\"],[[2692,2692],\"disallowed\"],[[2693,2699],\"valid\"],[[2700,2700],\"valid\"],[[2701,2701],\"valid\"],[[2702,2702],\"disallowed\"],[[2703,2705],\"valid\"],[[2706,2706],\"disallowed\"],[[2707,2728],\"valid\"],[[2729,2729],\"disallowed\"],[[2730,2736],\"valid\"],[[2737,2737],\"disallowed\"],[[2738,2739],\"valid\"],[[2740,2740],\"disallowed\"],[[2741,2745],\"valid\"],[[2746,2747],\"disallowed\"],[[2748,2757],\"valid\"],[[2758,2758],\"disallowed\"],[[2759,2761],\"valid\"],[[2762,2762],\"disallowed\"],[[2763,2765],\"valid\"],[[2766,2767],\"disallowed\"],[[2768,2768],\"valid\"],[[2769,2783],\"disallowed\"],[[2784,2784],\"valid\"],[[2785,2787],\"valid\"],[[2788,2789],\"disallowed\"],[[2790,2799],\"valid\"],[[2800,2800],\"valid\",[],\"NV8\"],[[2801,2801],\"valid\",[],\"NV8\"],[[2802,2808],\"disallowed\"],[[2809,2809],\"valid\"],[[2810,2816],\"disallowed\"],[[2817,2819],\"valid\"],[[2820,2820],\"disallowed\"],[[2821,2828],\"valid\"],[[2829,2830],\"disallowed\"],[[2831,2832],\"valid\"],[[2833,2834],\"disallowed\"],[[2835,2856],\"valid\"],[[2857,2857],\"disallowed\"],[[2858,2864],\"valid\"],[[2865,2865],\"disallowed\"],[[2866,2867],\"valid\"],[[2868,2868],\"disallowed\"],[[2869,2869],\"valid\"],[[2870,2873],\"valid\"],[[2874,2875],\"disallowed\"],[[2876,2883],\"valid\"],[[2884,2884],\"valid\"],[[2885,2886],\"disallowed\"],[[2887,2888],\"valid\"],[[2889,2890],\"disallowed\"],[[2891,2893],\"valid\"],[[2894,2901],\"disallowed\"],[[2902,2903],\"valid\"],[[2904,2907],\"disallowed\"],[[2908,2908],\"mapped\",[2849,2876]],[[2909,2909],\"mapped\",[2850,2876]],[[2910,2910],\"disallowed\"],[[2911,2913],\"valid\"],[[2914,2915],\"valid\"],[[2916,2917],\"disallowed\"],[[2918,2927],\"valid\"],[[2928,2928],\"valid\",[],\"NV8\"],[[2929,2929],\"valid\"],[[2930,2935],\"valid\",[],\"NV8\"],[[2936,2945],\"disallowed\"],[[2946,2947],\"valid\"],[[2948,2948],\"disallowed\"],[[2949,2954],\"valid\"],[[2955,2957],\"disallowed\"],[[2958,2960],\"valid\"],[[2961,2961],\"disallowed\"],[[2962,2965],\"valid\"],[[2966,2968],\"disallowed\"],[[2969,2970],\"valid\"],[[2971,2971],\"disallowed\"],[[2972,2972],\"valid\"],[[2973,2973],\"disallowed\"],[[2974,2975],\"valid\"],[[2976,2978],\"disallowed\"],[[2979,2980],\"valid\"],[[2981,2983],\"disallowed\"],[[2984,2986],\"valid\"],[[2987,2989],\"disallowed\"],[[2990,2997],\"valid\"],[[2998,2998],\"valid\"],[[2999,3001],\"valid\"],[[3002,3005],\"disallowed\"],[[3006,3010],\"valid\"],[[3011,3013],\"disallowed\"],[[3014,3016],\"valid\"],[[3017,3017],\"disallowed\"],[[3018,3021],\"valid\"],[[3022,3023],\"disallowed\"],[[3024,3024],\"valid\"],[[3025,3030],\"disallowed\"],[[3031,3031],\"valid\"],[[3032,3045],\"disallowed\"],[[3046,3046],\"valid\"],[[3047,3055],\"valid\"],[[3056,3058],\"valid\",[],\"NV8\"],[[3059,3066],\"valid\",[],\"NV8\"],[[3067,3071],\"disallowed\"],[[3072,3072],\"valid\"],[[3073,3075],\"valid\"],[[3076,3076],\"disallowed\"],[[3077,3084],\"valid\"],[[3085,3085],\"disallowed\"],[[3086,3088],\"valid\"],[[3089,3089],\"disallowed\"],[[3090,3112],\"valid\"],[[3113,3113],\"disallowed\"],[[3114,3123],\"valid\"],[[3124,3124],\"valid\"],[[3125,3129],\"valid\"],[[3130,3132],\"disallowed\"],[[3133,3133],\"valid\"],[[3134,3140],\"valid\"],[[3141,3141],\"disallowed\"],[[3142,3144],\"valid\"],[[3145,3145],\"disallowed\"],[[3146,3149],\"valid\"],[[3150,3156],\"disallowed\"],[[3157,3158],\"valid\"],[[3159,3159],\"disallowed\"],[[3160,3161],\"valid\"],[[3162,3162],\"valid\"],[[3163,3167],\"disallowed\"],[[3168,3169],\"valid\"],[[3170,3171],\"valid\"],[[3172,3173],\"disallowed\"],[[3174,3183],\"valid\"],[[3184,3191],\"disallowed\"],[[3192,3199],\"valid\",[],\"NV8\"],[[3200,3200],\"disallowed\"],[[3201,3201],\"valid\"],[[3202,3203],\"valid\"],[[3204,3204],\"disallowed\"],[[3205,3212],\"valid\"],[[3213,3213],\"disallowed\"],[[3214,3216],\"valid\"],[[3217,3217],\"disallowed\"],[[3218,3240],\"valid\"],[[3241,3241],\"disallowed\"],[[3242,3251],\"valid\"],[[3252,3252],\"disallowed\"],[[3253,3257],\"valid\"],[[3258,3259],\"disallowed\"],[[3260,3261],\"valid\"],[[3262,3268],\"valid\"],[[3269,3269],\"disallowed\"],[[3270,3272],\"valid\"],[[3273,3273],\"disallowed\"],[[3274,3277],\"valid\"],[[3278,3284],\"disallowed\"],[[3285,3286],\"valid\"],[[3287,3293],\"disallowed\"],[[3294,3294],\"valid\"],[[3295,3295],\"disallowed\"],[[3296,3297],\"valid\"],[[3298,3299],\"valid\"],[[3300,3301],\"disallowed\"],[[3302,3311],\"valid\"],[[3312,3312],\"disallowed\"],[[3313,3314],\"valid\"],[[3315,3328],\"disallowed\"],[[3329,3329],\"valid\"],[[3330,3331],\"valid\"],[[3332,3332],\"disallowed\"],[[3333,3340],\"valid\"],[[3341,3341],\"disallowed\"],[[3342,3344],\"valid\"],[[3345,3345],\"disallowed\"],[[3346,3368],\"valid\"],[[3369,3369],\"valid\"],[[3370,3385],\"valid\"],[[3386,3386],\"valid\"],[[3387,3388],\"disallowed\"],[[3389,3389],\"valid\"],[[3390,3395],\"valid\"],[[3396,3396],\"valid\"],[[3397,3397],\"disallowed\"],[[3398,3400],\"valid\"],[[3401,3401],\"disallowed\"],[[3402,3405],\"valid\"],[[3406,3406],\"valid\"],[[3407,3414],\"disallowed\"],[[3415,3415],\"valid\"],[[3416,3422],\"disallowed\"],[[3423,3423],\"valid\"],[[3424,3425],\"valid\"],[[3426,3427],\"valid\"],[[3428,3429],\"disallowed\"],[[3430,3439],\"valid\"],[[3440,3445],\"valid\",[],\"NV8\"],[[3446,3448],\"disallowed\"],[[3449,3449],\"valid\",[],\"NV8\"],[[3450,3455],\"valid\"],[[3456,3457],\"disallowed\"],[[3458,3459],\"valid\"],[[3460,3460],\"disallowed\"],[[3461,3478],\"valid\"],[[3479,3481],\"disallowed\"],[[3482,3505],\"valid\"],[[3506,3506],\"disallowed\"],[[3507,3515],\"valid\"],[[3516,3516],\"disallowed\"],[[3517,3517],\"valid\"],[[3518,3519],\"disallowed\"],[[3520,3526],\"valid\"],[[3527,3529],\"disallowed\"],[[3530,3530],\"valid\"],[[3531,3534],\"disallowed\"],[[3535,3540],\"valid\"],[[3541,3541],\"disallowed\"],[[3542,3542],\"valid\"],[[3543,3543],\"disallowed\"],[[3544,3551],\"valid\"],[[3552,3557],\"disallowed\"],[[3558,3567],\"valid\"],[[3568,3569],\"disallowed\"],[[3570,3571],\"valid\"],[[3572,3572],\"valid\",[],\"NV8\"],[[3573,3584],\"disallowed\"],[[3585,3634],\"valid\"],[[3635,3635],\"mapped\",[3661,3634]],[[3636,3642],\"valid\"],[[3643,3646],\"disallowed\"],[[3647,3647],\"valid\",[],\"NV8\"],[[3648,3662],\"valid\"],[[3663,3663],\"valid\",[],\"NV8\"],[[3664,3673],\"valid\"],[[3674,3675],\"valid\",[],\"NV8\"],[[3676,3712],\"disallowed\"],[[3713,3714],\"valid\"],[[3715,3715],\"disallowed\"],[[3716,3716],\"valid\"],[[3717,3718],\"disallowed\"],[[3719,3720],\"valid\"],[[3721,3721],\"disallowed\"],[[3722,3722],\"valid\"],[[3723,3724],\"disallowed\"],[[3725,3725],\"valid\"],[[3726,3731],\"disallowed\"],[[3732,3735],\"valid\"],[[3736,3736],\"disallowed\"],[[3737,3743],\"valid\"],[[3744,3744],\"disallowed\"],[[3745,3747],\"valid\"],[[3748,3748],\"disallowed\"],[[3749,3749],\"valid\"],[[3750,3750],\"disallowed\"],[[3751,3751],\"valid\"],[[3752,3753],\"disallowed\"],[[3754,3755],\"valid\"],[[3756,3756],\"disallowed\"],[[3757,3762],\"valid\"],[[3763,3763],\"mapped\",[3789,3762]],[[3764,3769],\"valid\"],[[3770,3770],\"disallowed\"],[[3771,3773],\"valid\"],[[3774,3775],\"disallowed\"],[[3776,3780],\"valid\"],[[3781,3781],\"disallowed\"],[[3782,3782],\"valid\"],[[3783,3783],\"disallowed\"],[[3784,3789],\"valid\"],[[3790,3791],\"disallowed\"],[[3792,3801],\"valid\"],[[3802,3803],\"disallowed\"],[[3804,3804],\"mapped\",[3755,3737]],[[3805,3805],\"mapped\",[3755,3745]],[[3806,3807],\"valid\"],[[3808,3839],\"disallowed\"],[[3840,3840],\"valid\"],[[3841,3850],\"valid\",[],\"NV8\"],[[3851,3851],\"valid\"],[[3852,3852],\"mapped\",[3851]],[[3853,3863],\"valid\",[],\"NV8\"],[[3864,3865],\"valid\"],[[3866,3871],\"valid\",[],\"NV8\"],[[3872,3881],\"valid\"],[[3882,3892],\"valid\",[],\"NV8\"],[[3893,3893],\"valid\"],[[3894,3894],\"valid\",[],\"NV8\"],[[3895,3895],\"valid\"],[[3896,3896],\"valid\",[],\"NV8\"],[[3897,3897],\"valid\"],[[3898,3901],\"valid\",[],\"NV8\"],[[3902,3906],\"valid\"],[[3907,3907],\"mapped\",[3906,4023]],[[3908,3911],\"valid\"],[[3912,3912],\"disallowed\"],[[3913,3916],\"valid\"],[[3917,3917],\"mapped\",[3916,4023]],[[3918,3921],\"valid\"],[[3922,3922],\"mapped\",[3921,4023]],[[3923,3926],\"valid\"],[[3927,3927],\"mapped\",[3926,4023]],[[3928,3931],\"valid\"],[[3932,3932],\"mapped\",[3931,4023]],[[3933,3944],\"valid\"],[[3945,3945],\"mapped\",[3904,4021]],[[3946,3946],\"valid\"],[[3947,3948],\"valid\"],[[3949,3952],\"disallowed\"],[[3953,3954],\"valid\"],[[3955,3955],\"mapped\",[3953,3954]],[[3956,3956],\"valid\"],[[3957,3957],\"mapped\",[3953,3956]],[[3958,3958],\"mapped\",[4018,3968]],[[3959,3959],\"mapped\",[4018,3953,3968]],[[3960,3960],\"mapped\",[4019,3968]],[[3961,3961],\"mapped\",[4019,3953,3968]],[[3962,3968],\"valid\"],[[3969,3969],\"mapped\",[3953,3968]],[[3970,3972],\"valid\"],[[3973,3973],\"valid\",[],\"NV8\"],[[3974,3979],\"valid\"],[[3980,3983],\"valid\"],[[3984,3986],\"valid\"],[[3987,3987],\"mapped\",[3986,4023]],[[3988,3989],\"valid\"],[[3990,3990],\"valid\"],[[3991,3991],\"valid\"],[[3992,3992],\"disallowed\"],[[3993,3996],\"valid\"],[[3997,3997],\"mapped\",[3996,4023]],[[3998,4001],\"valid\"],[[4002,4002],\"mapped\",[4001,4023]],[[4003,4006],\"valid\"],[[4007,4007],\"mapped\",[4006,4023]],[[4008,4011],\"valid\"],[[4012,4012],\"mapped\",[4011,4023]],[[4013,4013],\"valid\"],[[4014,4016],\"valid\"],[[4017,4023],\"valid\"],[[4024,4024],\"valid\"],[[4025,4025],\"mapped\",[3984,4021]],[[4026,4028],\"valid\"],[[4029,4029],\"disallowed\"],[[4030,4037],\"valid\",[],\"NV8\"],[[4038,4038],\"valid\"],[[4039,4044],\"valid\",[],\"NV8\"],[[4045,4045],\"disallowed\"],[[4046,4046],\"valid\",[],\"NV8\"],[[4047,4047],\"valid\",[],\"NV8\"],[[4048,4049],\"valid\",[],\"NV8\"],[[4050,4052],\"valid\",[],\"NV8\"],[[4053,4056],\"valid\",[],\"NV8\"],[[4057,4058],\"valid\",[],\"NV8\"],[[4059,4095],\"disallowed\"],[[4096,4129],\"valid\"],[[4130,4130],\"valid\"],[[4131,4135],\"valid\"],[[4136,4136],\"valid\"],[[4137,4138],\"valid\"],[[4139,4139],\"valid\"],[[4140,4146],\"valid\"],[[4147,4149],\"valid\"],[[4150,4153],\"valid\"],[[4154,4159],\"valid\"],[[4160,4169],\"valid\"],[[4170,4175],\"valid\",[],\"NV8\"],[[4176,4185],\"valid\"],[[4186,4249],\"valid\"],[[4250,4253],\"valid\"],[[4254,4255],\"valid\",[],\"NV8\"],[[4256,4293],\"disallowed\"],[[4294,4294],\"disallowed\"],[[4295,4295],\"mapped\",[11559]],[[4296,4300],\"disallowed\"],[[4301,4301],\"mapped\",[11565]],[[4302,4303],\"disallowed\"],[[4304,4342],\"valid\"],[[4343,4344],\"valid\"],[[4345,4346],\"valid\"],[[4347,4347],\"valid\",[],\"NV8\"],[[4348,4348],\"mapped\",[4316]],[[4349,4351],\"valid\"],[[4352,4441],\"valid\",[],\"NV8\"],[[4442,4446],\"valid\",[],\"NV8\"],[[4447,4448],\"disallowed\"],[[4449,4514],\"valid\",[],\"NV8\"],[[4515,4519],\"valid\",[],\"NV8\"],[[4520,4601],\"valid\",[],\"NV8\"],[[4602,4607],\"valid\",[],\"NV8\"],[[4608,4614],\"valid\"],[[4615,4615],\"valid\"],[[4616,4678],\"valid\"],[[4679,4679],\"valid\"],[[4680,4680],\"valid\"],[[4681,4681],\"disallowed\"],[[4682,4685],\"valid\"],[[4686,4687],\"disallowed\"],[[4688,4694],\"valid\"],[[4695,4695],\"disallowed\"],[[4696,4696],\"valid\"],[[4697,4697],\"disallowed\"],[[4698,4701],\"valid\"],[[4702,4703],\"disallowed\"],[[4704,4742],\"valid\"],[[4743,4743],\"valid\"],[[4744,4744],\"valid\"],[[4745,4745],\"disallowed\"],[[4746,4749],\"valid\"],[[4750,4751],\"disallowed\"],[[4752,4782],\"valid\"],[[4783,4783],\"valid\"],[[4784,4784],\"valid\"],[[4785,4785],\"disallowed\"],[[4786,4789],\"valid\"],[[4790,4791],\"disallowed\"],[[4792,4798],\"valid\"],[[4799,4799],\"disallowed\"],[[4800,4800],\"valid\"],[[4801,4801],\"disallowed\"],[[4802,4805],\"valid\"],[[4806,4807],\"disallowed\"],[[4808,4814],\"valid\"],[[4815,4815],\"valid\"],[[4816,4822],\"valid\"],[[4823,4823],\"disallowed\"],[[4824,4846],\"valid\"],[[4847,4847],\"valid\"],[[4848,4878],\"valid\"],[[4879,4879],\"valid\"],[[4880,4880],\"valid\"],[[4881,4881],\"disallowed\"],[[4882,4885],\"valid\"],[[4886,4887],\"disallowed\"],[[4888,4894],\"valid\"],[[4895,4895],\"valid\"],[[4896,4934],\"valid\"],[[4935,4935],\"valid\"],[[4936,4954],\"valid\"],[[4955,4956],\"disallowed\"],[[4957,4958],\"valid\"],[[4959,4959],\"valid\"],[[4960,4960],\"valid\",[],\"NV8\"],[[4961,4988],\"valid\",[],\"NV8\"],[[4989,4991],\"disallowed\"],[[4992,5007],\"valid\"],[[5008,5017],\"valid\",[],\"NV8\"],[[5018,5023],\"disallowed\"],[[5024,5108],\"valid\"],[[5109,5109],\"valid\"],[[5110,5111],\"disallowed\"],[[5112,5112],\"mapped\",[5104]],[[5113,5113],\"mapped\",[5105]],[[5114,5114],\"mapped\",[5106]],[[5115,5115],\"mapped\",[5107]],[[5116,5116],\"mapped\",[5108]],[[5117,5117],\"mapped\",[5109]],[[5118,5119],\"disallowed\"],[[5120,5120],\"valid\",[],\"NV8\"],[[5121,5740],\"valid\"],[[5741,5742],\"valid\",[],\"NV8\"],[[5743,5750],\"valid\"],[[5751,5759],\"valid\"],[[5760,5760],\"disallowed\"],[[5761,5786],\"valid\"],[[5787,5788],\"valid\",[],\"NV8\"],[[5789,5791],\"disallowed\"],[[5792,5866],\"valid\"],[[5867,5872],\"valid\",[],\"NV8\"],[[5873,5880],\"valid\"],[[5881,5887],\"disallowed\"],[[5888,5900],\"valid\"],[[5901,5901],\"disallowed\"],[[5902,5908],\"valid\"],[[5909,5919],\"disallowed\"],[[5920,5940],\"valid\"],[[5941,5942],\"valid\",[],\"NV8\"],[[5943,5951],\"disallowed\"],[[5952,5971],\"valid\"],[[5972,5983],\"disallowed\"],[[5984,5996],\"valid\"],[[5997,5997],\"disallowed\"],[[5998,6000],\"valid\"],[[6001,6001],\"disallowed\"],[[6002,6003],\"valid\"],[[6004,6015],\"disallowed\"],[[6016,6067],\"valid\"],[[6068,6069],\"disallowed\"],[[6070,6099],\"valid\"],[[6100,6102],\"valid\",[],\"NV8\"],[[6103,6103],\"valid\"],[[6104,6107],\"valid\",[],\"NV8\"],[[6108,6108],\"valid\"],[[6109,6109],\"valid\"],[[6110,6111],\"disallowed\"],[[6112,6121],\"valid\"],[[6122,6127],\"disallowed\"],[[6128,6137],\"valid\",[],\"NV8\"],[[6138,6143],\"disallowed\"],[[6144,6149],\"valid\",[],\"NV8\"],[[6150,6150],\"disallowed\"],[[6151,6154],\"valid\",[],\"NV8\"],[[6155,6157],\"ignored\"],[[6158,6158],\"disallowed\"],[[6159,6159],\"disallowed\"],[[6160,6169],\"valid\"],[[6170,6175],\"disallowed\"],[[6176,6263],\"valid\"],[[6264,6271],\"disallowed\"],[[6272,6313],\"valid\"],[[6314,6314],\"valid\"],[[6315,6319],\"disallowed\"],[[6320,6389],\"valid\"],[[6390,6399],\"disallowed\"],[[6400,6428],\"valid\"],[[6429,6430],\"valid\"],[[6431,6431],\"disallowed\"],[[6432,6443],\"valid\"],[[6444,6447],\"disallowed\"],[[6448,6459],\"valid\"],[[6460,6463],\"disallowed\"],[[6464,6464],\"valid\",[],\"NV8\"],[[6465,6467],\"disallowed\"],[[6468,6469],\"valid\",[],\"NV8\"],[[6470,6509],\"valid\"],[[6510,6511],\"disallowed\"],[[6512,6516],\"valid\"],[[6517,6527],\"disallowed\"],[[6528,6569],\"valid\"],[[6570,6571],\"valid\"],[[6572,6575],\"disallowed\"],[[6576,6601],\"valid\"],[[6602,6607],\"disallowed\"],[[6608,6617],\"valid\"],[[6618,6618],\"valid\",[],\"XV8\"],[[6619,6621],\"disallowed\"],[[6622,6623],\"valid\",[],\"NV8\"],[[6624,6655],\"valid\",[],\"NV8\"],[[6656,6683],\"valid\"],[[6684,6685],\"disallowed\"],[[6686,6687],\"valid\",[],\"NV8\"],[[6688,6750],\"valid\"],[[6751,6751],\"disallowed\"],[[6752,6780],\"valid\"],[[6781,6782],\"disallowed\"],[[6783,6793],\"valid\"],[[6794,6799],\"disallowed\"],[[6800,6809],\"valid\"],[[6810,6815],\"disallowed\"],[[6816,6822],\"valid\",[],\"NV8\"],[[6823,6823],\"valid\"],[[6824,6829],\"valid\",[],\"NV8\"],[[6830,6831],\"disallowed\"],[[6832,6845],\"valid\"],[[6846,6846],\"valid\",[],\"NV8\"],[[6847,6911],\"disallowed\"],[[6912,6987],\"valid\"],[[6988,6991],\"disallowed\"],[[6992,7001],\"valid\"],[[7002,7018],\"valid\",[],\"NV8\"],[[7019,7027],\"valid\"],[[7028,7036],\"valid\",[],\"NV8\"],[[7037,7039],\"disallowed\"],[[7040,7082],\"valid\"],[[7083,7085],\"valid\"],[[7086,7097],\"valid\"],[[7098,7103],\"valid\"],[[7104,7155],\"valid\"],[[7156,7163],\"disallowed\"],[[7164,7167],\"valid\",[],\"NV8\"],[[7168,7223],\"valid\"],[[7224,7226],\"disallowed\"],[[7227,7231],\"valid\",[],\"NV8\"],[[7232,7241],\"valid\"],[[7242,7244],\"disallowed\"],[[7245,7293],\"valid\"],[[7294,7295],\"valid\",[],\"NV8\"],[[7296,7359],\"disallowed\"],[[7360,7367],\"valid\",[],\"NV8\"],[[7368,7375],\"disallowed\"],[[7376,7378],\"valid\"],[[7379,7379],\"valid\",[],\"NV8\"],[[7380,7410],\"valid\"],[[7411,7414],\"valid\"],[[7415,7415],\"disallowed\"],[[7416,7417],\"valid\"],[[7418,7423],\"disallowed\"],[[7424,7467],\"valid\"],[[7468,7468],\"mapped\",[97]],[[7469,7469],\"mapped\",[230]],[[7470,7470],\"mapped\",[98]],[[7471,7471],\"valid\"],[[7472,7472],\"mapped\",[100]],[[7473,7473],\"mapped\",[101]],[[7474,7474],\"mapped\",[477]],[[7475,7475],\"mapped\",[103]],[[7476,7476],\"mapped\",[104]],[[7477,7477],\"mapped\",[105]],[[7478,7478],\"mapped\",[106]],[[7479,7479],\"mapped\",[107]],[[7480,7480],\"mapped\",[108]],[[7481,7481],\"mapped\",[109]],[[7482,7482],\"mapped\",[110]],[[7483,7483],\"valid\"],[[7484,7484],\"mapped\",[111]],[[7485,7485],\"mapped\",[547]],[[7486,7486],\"mapped\",[112]],[[7487,7487],\"mapped\",[114]],[[7488,7488],\"mapped\",[116]],[[7489,7489],\"mapped\",[117]],[[7490,7490],\"mapped\",[119]],[[7491,7491],\"mapped\",[97]],[[7492,7492],\"mapped\",[592]],[[7493,7493],\"mapped\",[593]],[[7494,7494],\"mapped\",[7426]],[[7495,7495],\"mapped\",[98]],[[7496,7496],\"mapped\",[100]],[[7497,7497],\"mapped\",[101]],[[7498,7498],\"mapped\",[601]],[[7499,7499],\"mapped\",[603]],[[7500,7500],\"mapped\",[604]],[[7501,7501],\"mapped\",[103]],[[7502,7502],\"valid\"],[[7503,7503],\"mapped\",[107]],[[7504,7504],\"mapped\",[109]],[[7505,7505],\"mapped\",[331]],[[7506,7506],\"mapped\",[111]],[[7507,7507],\"mapped\",[596]],[[7508,7508],\"mapped\",[7446]],[[7509,7509],\"mapped\",[7447]],[[7510,7510],\"mapped\",[112]],[[7511,7511],\"mapped\",[116]],[[7512,7512],\"mapped\",[117]],[[7513,7513],\"mapped\",[7453]],[[7514,7514],\"mapped\",[623]],[[7515,7515],\"mapped\",[118]],[[7516,7516],\"mapped\",[7461]],[[7517,7517],\"mapped\",[946]],[[7518,7518],\"mapped\",[947]],[[7519,7519],\"mapped\",[948]],[[7520,7520],\"mapped\",[966]],[[7521,7521],\"mapped\",[967]],[[7522,7522],\"mapped\",[105]],[[7523,7523],\"mapped\",[114]],[[7524,7524],\"mapped\",[117]],[[7525,7525],\"mapped\",[118]],[[7526,7526],\"mapped\",[946]],[[7527,7527],\"mapped\",[947]],[[7528,7528],\"mapped\",[961]],[[7529,7529],\"mapped\",[966]],[[7530,7530],\"mapped\",[967]],[[7531,7531],\"valid\"],[[7532,7543],\"valid\"],[[7544,7544],\"mapped\",[1085]],[[7545,7578],\"valid\"],[[7579,7579],\"mapped\",[594]],[[7580,7580],\"mapped\",[99]],[[7581,7581],\"mapped\",[597]],[[7582,7582],\"mapped\",[240]],[[7583,7583],\"mapped\",[604]],[[7584,7584],\"mapped\",[102]],[[7585,7585],\"mapped\",[607]],[[7586,7586],\"mapped\",[609]],[[7587,7587],\"mapped\",[613]],[[7588,7588],\"mapped\",[616]],[[7589,7589],\"mapped\",[617]],[[7590,7590],\"mapped\",[618]],[[7591,7591],\"mapped\",[7547]],[[7592,7592],\"mapped\",[669]],[[7593,7593],\"mapped\",[621]],[[7594,7594],\"mapped\",[7557]],[[7595,7595],\"mapped\",[671]],[[7596,7596],\"mapped\",[625]],[[7597,7597],\"mapped\",[624]],[[7598,7598],\"mapped\",[626]],[[7599,7599],\"mapped\",[627]],[[7600,7600],\"mapped\",[628]],[[7601,7601],\"mapped\",[629]],[[7602,7602],\"mapped\",[632]],[[7603,7603],\"mapped\",[642]],[[7604,7604],\"mapped\",[643]],[[7605,7605],\"mapped\",[427]],[[7606,7606],\"mapped\",[649]],[[7607,7607],\"mapped\",[650]],[[7608,7608],\"mapped\",[7452]],[[7609,7609],\"mapped\",[651]],[[7610,7610],\"mapped\",[652]],[[7611,7611],\"mapped\",[122]],[[7612,7612],\"mapped\",[656]],[[7613,7613],\"mapped\",[657]],[[7614,7614],\"mapped\",[658]],[[7615,7615],\"mapped\",[952]],[[7616,7619],\"valid\"],[[7620,7626],\"valid\"],[[7627,7654],\"valid\"],[[7655,7669],\"valid\"],[[7670,7675],\"disallowed\"],[[7676,7676],\"valid\"],[[7677,7677],\"valid\"],[[7678,7679],\"valid\"],[[7680,7680],\"mapped\",[7681]],[[7681,7681],\"valid\"],[[7682,7682],\"mapped\",[7683]],[[7683,7683],\"valid\"],[[7684,7684],\"mapped\",[7685]],[[7685,7685],\"valid\"],[[7686,7686],\"mapped\",[7687]],[[7687,7687],\"valid\"],[[7688,7688],\"mapped\",[7689]],[[7689,7689],\"valid\"],[[7690,7690],\"mapped\",[7691]],[[7691,7691],\"valid\"],[[7692,7692],\"mapped\",[7693]],[[7693,7693],\"valid\"],[[7694,7694],\"mapped\",[7695]],[[7695,7695],\"valid\"],[[7696,7696],\"mapped\",[7697]],[[7697,7697],\"valid\"],[[7698,7698],\"mapped\",[7699]],[[7699,7699],\"valid\"],[[7700,7700],\"mapped\",[7701]],[[7701,7701],\"valid\"],[[7702,7702],\"mapped\",[7703]],[[7703,7703],\"valid\"],[[7704,7704],\"mapped\",[7705]],[[7705,7705],\"valid\"],[[7706,7706],\"mapped\",[7707]],[[7707,7707],\"valid\"],[[7708,7708],\"mapped\",[7709]],[[7709,7709],\"valid\"],[[7710,7710],\"mapped\",[7711]],[[7711,7711],\"valid\"],[[7712,7712],\"mapped\",[7713]],[[7713,7713],\"valid\"],[[7714,7714],\"mapped\",[7715]],[[7715,7715],\"valid\"],[[7716,7716],\"mapped\",[7717]],[[7717,7717],\"valid\"],[[7718,7718],\"mapped\",[7719]],[[7719,7719],\"valid\"],[[7720,7720],\"mapped\",[7721]],[[7721,7721],\"valid\"],[[7722,7722],\"mapped\",[7723]],[[7723,7723],\"valid\"],[[7724,7724],\"mapped\",[7725]],[[7725,7725],\"valid\"],[[7726,7726],\"mapped\",[7727]],[[7727,7727],\"valid\"],[[7728,7728],\"mapped\",[7729]],[[7729,7729],\"valid\"],[[7730,7730],\"mapped\",[7731]],[[7731,7731],\"valid\"],[[7732,7732],\"mapped\",[7733]],[[7733,7733],\"valid\"],[[7734,7734],\"mapped\",[7735]],[[7735,7735],\"valid\"],[[7736,7736],\"mapped\",[7737]],[[7737,7737],\"valid\"],[[7738,7738],\"mapped\",[7739]],[[7739,7739],\"valid\"],[[7740,7740],\"mapped\",[7741]],[[7741,7741],\"valid\"],[[7742,7742],\"mapped\",[7743]],[[7743,7743],\"valid\"],[[7744,7744],\"mapped\",[7745]],[[7745,7745],\"valid\"],[[7746,7746],\"mapped\",[7747]],[[7747,7747],\"valid\"],[[7748,7748],\"mapped\",[7749]],[[7749,7749],\"valid\"],[[7750,7750],\"mapped\",[7751]],[[7751,7751],\"valid\"],[[7752,7752],\"mapped\",[7753]],[[7753,7753],\"valid\"],[[7754,7754],\"mapped\",[7755]],[[7755,7755],\"valid\"],[[7756,7756],\"mapped\",[7757]],[[7757,7757],\"valid\"],[[7758,7758],\"mapped\",[7759]],[[7759,7759],\"valid\"],[[7760,7760],\"mapped\",[7761]],[[7761,7761],\"valid\"],[[7762,7762],\"mapped\",[7763]],[[7763,7763],\"valid\"],[[7764,7764],\"mapped\",[7765]],[[7765,7765],\"valid\"],[[7766,7766],\"mapped\",[7767]],[[7767,7767],\"valid\"],[[7768,7768],\"mapped\",[7769]],[[7769,7769],\"valid\"],[[7770,7770],\"mapped\",[7771]],[[7771,7771],\"valid\"],[[7772,7772],\"mapped\",[7773]],[[7773,7773],\"valid\"],[[7774,7774],\"mapped\",[7775]],[[7775,7775],\"valid\"],[[7776,7776],\"mapped\",[7777]],[[7777,7777],\"valid\"],[[7778,7778],\"mapped\",[7779]],[[7779,7779],\"valid\"],[[7780,7780],\"mapped\",[7781]],[[7781,7781],\"valid\"],[[7782,7782],\"mapped\",[7783]],[[7783,7783],\"valid\"],[[7784,7784],\"mapped\",[7785]],[[7785,7785],\"valid\"],[[7786,7786],\"mapped\",[7787]],[[7787,7787],\"valid\"],[[7788,7788],\"mapped\",[7789]],[[7789,7789],\"valid\"],[[7790,7790],\"mapped\",[7791]],[[7791,7791],\"valid\"],[[7792,7792],\"mapped\",[7793]],[[7793,7793],\"valid\"],[[7794,7794],\"mapped\",[7795]],[[7795,7795],\"valid\"],[[7796,7796],\"mapped\",[7797]],[[7797,7797],\"valid\"],[[7798,7798],\"mapped\",[7799]],[[7799,7799],\"valid\"],[[7800,7800],\"mapped\",[7801]],[[7801,7801],\"valid\"],[[7802,7802],\"mapped\",[7803]],[[7803,7803],\"valid\"],[[7804,7804],\"mapped\",[7805]],[[7805,7805],\"valid\"],[[7806,7806],\"mapped\",[7807]],[[7807,7807],\"valid\"],[[7808,7808],\"mapped\",[7809]],[[7809,7809],\"valid\"],[[7810,7810],\"mapped\",[7811]],[[7811,7811],\"valid\"],[[7812,7812],\"mapped\",[7813]],[[7813,7813],\"valid\"],[[7814,7814],\"mapped\",[7815]],[[7815,7815],\"valid\"],[[7816,7816],\"mapped\",[7817]],[[7817,7817],\"valid\"],[[7818,7818],\"mapped\",[7819]],[[7819,7819],\"valid\"],[[7820,7820],\"mapped\",[7821]],[[7821,7821],\"valid\"],[[7822,7822],\"mapped\",[7823]],[[7823,7823],\"valid\"],[[7824,7824],\"mapped\",[7825]],[[7825,7825],\"valid\"],[[7826,7826],\"mapped\",[7827]],[[7827,7827],\"valid\"],[[7828,7828],\"mapped\",[7829]],[[7829,7833],\"valid\"],[[7834,7834],\"mapped\",[97,702]],[[7835,7835],\"mapped\",[7777]],[[7836,7837],\"valid\"],[[7838,7838],\"mapped\",[115,115]],[[7839,7839],\"valid\"],[[7840,7840],\"mapped\",[7841]],[[7841,7841],\"valid\"],[[7842,7842],\"mapped\",[7843]],[[7843,7843],\"valid\"],[[7844,7844],\"mapped\",[7845]],[[7845,7845],\"valid\"],[[7846,7846],\"mapped\",[7847]],[[7847,7847],\"valid\"],[[7848,7848],\"mapped\",[7849]],[[7849,7849],\"valid\"],[[7850,7850],\"mapped\",[7851]],[[7851,7851],\"valid\"],[[7852,7852],\"mapped\",[7853]],[[7853,7853],\"valid\"],[[7854,7854],\"mapped\",[7855]],[[7855,7855],\"valid\"],[[7856,7856],\"mapped\",[7857]],[[7857,7857],\"valid\"],[[7858,7858],\"mapped\",[7859]],[[7859,7859],\"valid\"],[[7860,7860],\"mapped\",[7861]],[[7861,7861],\"valid\"],[[7862,7862],\"mapped\",[7863]],[[7863,7863],\"valid\"],[[7864,7864],\"mapped\",[7865]],[[7865,7865],\"valid\"],[[7866,7866],\"mapped\",[7867]],[[7867,7867],\"valid\"],[[7868,7868],\"mapped\",[7869]],[[7869,7869],\"valid\"],[[7870,7870],\"mapped\",[7871]],[[7871,7871],\"valid\"],[[7872,7872],\"mapped\",[7873]],[[7873,7873],\"valid\"],[[7874,7874],\"mapped\",[7875]],[[7875,7875],\"valid\"],[[7876,7876],\"mapped\",[7877]],[[7877,7877],\"valid\"],[[7878,7878],\"mapped\",[7879]],[[7879,7879],\"valid\"],[[7880,7880],\"mapped\",[7881]],[[7881,7881],\"valid\"],[[7882,7882],\"mapped\",[7883]],[[7883,7883],\"valid\"],[[7884,7884],\"mapped\",[7885]],[[7885,7885],\"valid\"],[[7886,7886],\"mapped\",[7887]],[[7887,7887],\"valid\"],[[7888,7888],\"mapped\",[7889]],[[7889,7889],\"valid\"],[[7890,7890],\"mapped\",[7891]],[[7891,7891],\"valid\"],[[7892,7892],\"mapped\",[7893]],[[7893,7893],\"valid\"],[[7894,7894],\"mapped\",[7895]],[[7895,7895],\"valid\"],[[7896,7896],\"mapped\",[7897]],[[7897,7897],\"valid\"],[[7898,7898],\"mapped\",[7899]],[[7899,7899],\"valid\"],[[7900,7900],\"mapped\",[7901]],[[7901,7901],\"valid\"],[[7902,7902],\"mapped\",[7903]],[[7903,7903],\"valid\"],[[7904,7904],\"mapped\",[7905]],[[7905,7905],\"valid\"],[[7906,7906],\"mapped\",[7907]],[[7907,7907],\"valid\"],[[7908,7908],\"mapped\",[7909]],[[7909,7909],\"valid\"],[[7910,7910],\"mapped\",[7911]],[[7911,7911],\"valid\"],[[7912,7912],\"mapped\",[7913]],[[7913,7913],\"valid\"],[[7914,7914],\"mapped\",[7915]],[[7915,7915],\"valid\"],[[7916,7916],\"mapped\",[7917]],[[7917,7917],\"valid\"],[[7918,7918],\"mapped\",[7919]],[[7919,7919],\"valid\"],[[7920,7920],\"mapped\",[7921]],[[7921,7921],\"valid\"],[[7922,7922],\"mapped\",[7923]],[[7923,7923],\"valid\"],[[7924,7924],\"mapped\",[7925]],[[7925,7925],\"valid\"],[[7926,7926],\"mapped\",[7927]],[[7927,7927],\"valid\"],[[7928,7928],\"mapped\",[7929]],[[7929,7929],\"valid\"],[[7930,7930],\"mapped\",[7931]],[[7931,7931],\"valid\"],[[7932,7932],\"mapped\",[7933]],[[7933,7933],\"valid\"],[[7934,7934],\"mapped\",[7935]],[[7935,7935],\"valid\"],[[7936,7943],\"valid\"],[[7944,7944],\"mapped\",[7936]],[[7945,7945],\"mapped\",[7937]],[[7946,7946],\"mapped\",[7938]],[[7947,7947],\"mapped\",[7939]],[[7948,7948],\"mapped\",[7940]],[[7949,7949],\"mapped\",[7941]],[[7950,7950],\"mapped\",[7942]],[[7951,7951],\"mapped\",[7943]],[[7952,7957],\"valid\"],[[7958,7959],\"disallowed\"],[[7960,7960],\"mapped\",[7952]],[[7961,7961],\"mapped\",[7953]],[[7962,7962],\"mapped\",[7954]],[[7963,7963],\"mapped\",[7955]],[[7964,7964],\"mapped\",[7956]],[[7965,7965],\"mapped\",[7957]],[[7966,7967],\"disallowed\"],[[7968,7975],\"valid\"],[[7976,7976],\"mapped\",[7968]],[[7977,7977],\"mapped\",[7969]],[[7978,7978],\"mapped\",[7970]],[[7979,7979],\"mapped\",[7971]],[[7980,7980],\"mapped\",[7972]],[[7981,7981],\"mapped\",[7973]],[[7982,7982],\"mapped\",[7974]],[[7983,7983],\"mapped\",[7975]],[[7984,7991],\"valid\"],[[7992,7992],\"mapped\",[7984]],[[7993,7993],\"mapped\",[7985]],[[7994,7994],\"mapped\",[7986]],[[7995,7995],\"mapped\",[7987]],[[7996,7996],\"mapped\",[7988]],[[7997,7997],\"mapped\",[7989]],[[7998,7998],\"mapped\",[7990]],[[7999,7999],\"mapped\",[7991]],[[8000,8005],\"valid\"],[[8006,8007],\"disallowed\"],[[8008,8008],\"mapped\",[8000]],[[8009,8009],\"mapped\",[8001]],[[8010,8010],\"mapped\",[8002]],[[8011,8011],\"mapped\",[8003]],[[8012,8012],\"mapped\",[8004]],[[8013,8013],\"mapped\",[8005]],[[8014,8015],\"disallowed\"],[[8016,8023],\"valid\"],[[8024,8024],\"disallowed\"],[[8025,8025],\"mapped\",[8017]],[[8026,8026],\"disallowed\"],[[8027,8027],\"mapped\",[8019]],[[8028,8028],\"disallowed\"],[[8029,8029],\"mapped\",[8021]],[[8030,8030],\"disallowed\"],[[8031,8031],\"mapped\",[8023]],[[8032,8039],\"valid\"],[[8040,8040],\"mapped\",[8032]],[[8041,8041],\"mapped\",[8033]],[[8042,8042],\"mapped\",[8034]],[[8043,8043],\"mapped\",[8035]],[[8044,8044],\"mapped\",[8036]],[[8045,8045],\"mapped\",[8037]],[[8046,8046],\"mapped\",[8038]],[[8047,8047],\"mapped\",[8039]],[[8048,8048],\"valid\"],[[8049,8049],\"mapped\",[940]],[[8050,8050],\"valid\"],[[8051,8051],\"mapped\",[941]],[[8052,8052],\"valid\"],[[8053,8053],\"mapped\",[942]],[[8054,8054],\"valid\"],[[8055,8055],\"mapped\",[943]],[[8056,8056],\"valid\"],[[8057,8057],\"mapped\",[972]],[[8058,8058],\"valid\"],[[8059,8059],\"mapped\",[973]],[[8060,8060],\"valid\"],[[8061,8061],\"mapped\",[974]],[[8062,8063],\"disallowed\"],[[8064,8064],\"mapped\",[7936,953]],[[8065,8065],\"mapped\",[7937,953]],[[8066,8066],\"mapped\",[7938,953]],[[8067,8067],\"mapped\",[7939,953]],[[8068,8068],\"mapped\",[7940,953]],[[8069,8069],\"mapped\",[7941,953]],[[8070,8070],\"mapped\",[7942,953]],[[8071,8071],\"mapped\",[7943,953]],[[8072,8072],\"mapped\",[7936,953]],[[8073,8073],\"mapped\",[7937,953]],[[8074,8074],\"mapped\",[7938,953]],[[8075,8075],\"mapped\",[7939,953]],[[8076,8076],\"mapped\",[7940,953]],[[8077,8077],\"mapped\",[7941,953]],[[8078,8078],\"mapped\",[7942,953]],[[8079,8079],\"mapped\",[7943,953]],[[8080,8080],\"mapped\",[7968,953]],[[8081,8081],\"mapped\",[7969,953]],[[8082,8082],\"mapped\",[7970,953]],[[8083,8083],\"mapped\",[7971,953]],[[8084,8084],\"mapped\",[7972,953]],[[8085,8085],\"mapped\",[7973,953]],[[8086,8086],\"mapped\",[7974,953]],[[8087,8087],\"mapped\",[7975,953]],[[8088,8088],\"mapped\",[7968,953]],[[8089,8089],\"mapped\",[7969,953]],[[8090,8090],\"mapped\",[7970,953]],[[8091,8091],\"mapped\",[7971,953]],[[8092,8092],\"mapped\",[7972,953]],[[8093,8093],\"mapped\",[7973,953]],[[8094,8094],\"mapped\",[7974,953]],[[8095,8095],\"mapped\",[7975,953]],[[8096,8096],\"mapped\",[8032,953]],[[8097,8097],\"mapped\",[8033,953]],[[8098,8098],\"mapped\",[8034,953]],[[8099,8099],\"mapped\",[8035,953]],[[8100,8100],\"mapped\",[8036,953]],[[8101,8101],\"mapped\",[8037,953]],[[8102,8102],\"mapped\",[8038,953]],[[8103,8103],\"mapped\",[8039,953]],[[8104,8104],\"mapped\",[8032,953]],[[8105,8105],\"mapped\",[8033,953]],[[8106,8106],\"mapped\",[8034,953]],[[8107,8107],\"mapped\",[8035,953]],[[8108,8108],\"mapped\",[8036,953]],[[8109,8109],\"mapped\",[8037,953]],[[8110,8110],\"mapped\",[8038,953]],[[8111,8111],\"mapped\",[8039,953]],[[8112,8113],\"valid\"],[[8114,8114],\"mapped\",[8048,953]],[[8115,8115],\"mapped\",[945,953]],[[8116,8116],\"mapped\",[940,953]],[[8117,8117],\"disallowed\"],[[8118,8118],\"valid\"],[[8119,8119],\"mapped\",[8118,953]],[[8120,8120],\"mapped\",[8112]],[[8121,8121],\"mapped\",[8113]],[[8122,8122],\"mapped\",[8048]],[[8123,8123],\"mapped\",[940]],[[8124,8124],\"mapped\",[945,953]],[[8125,8125],\"disallowed_STD3_mapped\",[32,787]],[[8126,8126],\"mapped\",[953]],[[8127,8127],\"disallowed_STD3_mapped\",[32,787]],[[8128,8128],\"disallowed_STD3_mapped\",[32,834]],[[8129,8129],\"disallowed_STD3_mapped\",[32,776,834]],[[8130,8130],\"mapped\",[8052,953]],[[8131,8131],\"mapped\",[951,953]],[[8132,8132],\"mapped\",[942,953]],[[8133,8133],\"disallowed\"],[[8134,8134],\"valid\"],[[8135,8135],\"mapped\",[8134,953]],[[8136,8136],\"mapped\",[8050]],[[8137,8137],\"mapped\",[941]],[[8138,8138],\"mapped\",[8052]],[[8139,8139],\"mapped\",[942]],[[8140,8140],\"mapped\",[951,953]],[[8141,8141],\"disallowed_STD3_mapped\",[32,787,768]],[[8142,8142],\"disallowed_STD3_mapped\",[32,787,769]],[[8143,8143],\"disallowed_STD3_mapped\",[32,787,834]],[[8144,8146],\"valid\"],[[8147,8147],\"mapped\",[912]],[[8148,8149],\"disallowed\"],[[8150,8151],\"valid\"],[[8152,8152],\"mapped\",[8144]],[[8153,8153],\"mapped\",[8145]],[[8154,8154],\"mapped\",[8054]],[[8155,8155],\"mapped\",[943]],[[8156,8156],\"disallowed\"],[[8157,8157],\"disallowed_STD3_mapped\",[32,788,768]],[[8158,8158],\"disallowed_STD3_mapped\",[32,788,769]],[[8159,8159],\"disallowed_STD3_mapped\",[32,788,834]],[[8160,8162],\"valid\"],[[8163,8163],\"mapped\",[944]],[[8164,8167],\"valid\"],[[8168,8168],\"mapped\",[8160]],[[8169,8169],\"mapped\",[8161]],[[8170,8170],\"mapped\",[8058]],[[8171,8171],\"mapped\",[973]],[[8172,8172],\"mapped\",[8165]],[[8173,8173],\"disallowed_STD3_mapped\",[32,776,768]],[[8174,8174],\"disallowed_STD3_mapped\",[32,776,769]],[[8175,8175],\"disallowed_STD3_mapped\",[96]],[[8176,8177],\"disallowed\"],[[8178,8178],\"mapped\",[8060,953]],[[8179,8179],\"mapped\",[969,953]],[[8180,8180],\"mapped\",[974,953]],[[8181,8181],\"disallowed\"],[[8182,8182],\"valid\"],[[8183,8183],\"mapped\",[8182,953]],[[8184,8184],\"mapped\",[8056]],[[8185,8185],\"mapped\",[972]],[[8186,8186],\"mapped\",[8060]],[[8187,8187],\"mapped\",[974]],[[8188,8188],\"mapped\",[969,953]],[[8189,8189],\"disallowed_STD3_mapped\",[32,769]],[[8190,8190],\"disallowed_STD3_mapped\",[32,788]],[[8191,8191],\"disallowed\"],[[8192,8202],\"disallowed_STD3_mapped\",[32]],[[8203,8203],\"ignored\"],[[8204,8205],\"deviation\",[]],[[8206,8207],\"disallowed\"],[[8208,8208],\"valid\",[],\"NV8\"],[[8209,8209],\"mapped\",[8208]],[[8210,8214],\"valid\",[],\"NV8\"],[[8215,8215],\"disallowed_STD3_mapped\",[32,819]],[[8216,8227],\"valid\",[],\"NV8\"],[[8228,8230],\"disallowed\"],[[8231,8231],\"valid\",[],\"NV8\"],[[8232,8238],\"disallowed\"],[[8239,8239],\"disallowed_STD3_mapped\",[32]],[[8240,8242],\"valid\",[],\"NV8\"],[[8243,8243],\"mapped\",[8242,8242]],[[8244,8244],\"mapped\",[8242,8242,8242]],[[8245,8245],\"valid\",[],\"NV8\"],[[8246,8246],\"mapped\",[8245,8245]],[[8247,8247],\"mapped\",[8245,8245,8245]],[[8248,8251],\"valid\",[],\"NV8\"],[[8252,8252],\"disallowed_STD3_mapped\",[33,33]],[[8253,8253],\"valid\",[],\"NV8\"],[[8254,8254],\"disallowed_STD3_mapped\",[32,773]],[[8255,8262],\"valid\",[],\"NV8\"],[[8263,8263],\"disallowed_STD3_mapped\",[63,63]],[[8264,8264],\"disallowed_STD3_mapped\",[63,33]],[[8265,8265],\"disallowed_STD3_mapped\",[33,63]],[[8266,8269],\"valid\",[],\"NV8\"],[[8270,8274],\"valid\",[],\"NV8\"],[[8275,8276],\"valid\",[],\"NV8\"],[[8277,8278],\"valid\",[],\"NV8\"],[[8279,8279],\"mapped\",[8242,8242,8242,8242]],[[8280,8286],\"valid\",[],\"NV8\"],[[8287,8287],\"disallowed_STD3_mapped\",[32]],[[8288,8288],\"ignored\"],[[8289,8291],\"disallowed\"],[[8292,8292],\"ignored\"],[[8293,8293],\"disallowed\"],[[8294,8297],\"disallowed\"],[[8298,8303],\"disallowed\"],[[8304,8304],\"mapped\",[48]],[[8305,8305],\"mapped\",[105]],[[8306,8307],\"disallowed\"],[[8308,8308],\"mapped\",[52]],[[8309,8309],\"mapped\",[53]],[[8310,8310],\"mapped\",[54]],[[8311,8311],\"mapped\",[55]],[[8312,8312],\"mapped\",[56]],[[8313,8313],\"mapped\",[57]],[[8314,8314],\"disallowed_STD3_mapped\",[43]],[[8315,8315],\"mapped\",[8722]],[[8316,8316],\"disallowed_STD3_mapped\",[61]],[[8317,8317],\"disallowed_STD3_mapped\",[40]],[[8318,8318],\"disallowed_STD3_mapped\",[41]],[[8319,8319],\"mapped\",[110]],[[8320,8320],\"mapped\",[48]],[[8321,8321],\"mapped\",[49]],[[8322,8322],\"mapped\",[50]],[[8323,8323],\"mapped\",[51]],[[8324,8324],\"mapped\",[52]],[[8325,8325],\"mapped\",[53]],[[8326,8326],\"mapped\",[54]],[[8327,8327],\"mapped\",[55]],[[8328,8328],\"mapped\",[56]],[[8329,8329],\"mapped\",[57]],[[8330,8330],\"disallowed_STD3_mapped\",[43]],[[8331,8331],\"mapped\",[8722]],[[8332,8332],\"disallowed_STD3_mapped\",[61]],[[8333,8333],\"disallowed_STD3_mapped\",[40]],[[8334,8334],\"disallowed_STD3_mapped\",[41]],[[8335,8335],\"disallowed\"],[[8336,8336],\"mapped\",[97]],[[8337,8337],\"mapped\",[101]],[[8338,8338],\"mapped\",[111]],[[8339,8339],\"mapped\",[120]],[[8340,8340],\"mapped\",[601]],[[8341,8341],\"mapped\",[104]],[[8342,8342],\"mapped\",[107]],[[8343,8343],\"mapped\",[108]],[[8344,8344],\"mapped\",[109]],[[8345,8345],\"mapped\",[110]],[[8346,8346],\"mapped\",[112]],[[8347,8347],\"mapped\",[115]],[[8348,8348],\"mapped\",[116]],[[8349,8351],\"disallowed\"],[[8352,8359],\"valid\",[],\"NV8\"],[[8360,8360],\"mapped\",[114,115]],[[8361,8362],\"valid\",[],\"NV8\"],[[8363,8363],\"valid\",[],\"NV8\"],[[8364,8364],\"valid\",[],\"NV8\"],[[8365,8367],\"valid\",[],\"NV8\"],[[8368,8369],\"valid\",[],\"NV8\"],[[8370,8373],\"valid\",[],\"NV8\"],[[8374,8376],\"valid\",[],\"NV8\"],[[8377,8377],\"valid\",[],\"NV8\"],[[8378,8378],\"valid\",[],\"NV8\"],[[8379,8381],\"valid\",[],\"NV8\"],[[8382,8382],\"valid\",[],\"NV8\"],[[8383,8399],\"disallowed\"],[[8400,8417],\"valid\",[],\"NV8\"],[[8418,8419],\"valid\",[],\"NV8\"],[[8420,8426],\"valid\",[],\"NV8\"],[[8427,8427],\"valid\",[],\"NV8\"],[[8428,8431],\"valid\",[],\"NV8\"],[[8432,8432],\"valid\",[],\"NV8\"],[[8433,8447],\"disallowed\"],[[8448,8448],\"disallowed_STD3_mapped\",[97,47,99]],[[8449,8449],\"disallowed_STD3_mapped\",[97,47,115]],[[8450,8450],\"mapped\",[99]],[[8451,8451],\"mapped\",[176,99]],[[8452,8452],\"valid\",[],\"NV8\"],[[8453,8453],\"disallowed_STD3_mapped\",[99,47,111]],[[8454,8454],\"disallowed_STD3_mapped\",[99,47,117]],[[8455,8455],\"mapped\",[603]],[[8456,8456],\"valid\",[],\"NV8\"],[[8457,8457],\"mapped\",[176,102]],[[8458,8458],\"mapped\",[103]],[[8459,8462],\"mapped\",[104]],[[8463,8463],\"mapped\",[295]],[[8464,8465],\"mapped\",[105]],[[8466,8467],\"mapped\",[108]],[[8468,8468],\"valid\",[],\"NV8\"],[[8469,8469],\"mapped\",[110]],[[8470,8470],\"mapped\",[110,111]],[[8471,8472],\"valid\",[],\"NV8\"],[[8473,8473],\"mapped\",[112]],[[8474,8474],\"mapped\",[113]],[[8475,8477],\"mapped\",[114]],[[8478,8479],\"valid\",[],\"NV8\"],[[8480,8480],\"mapped\",[115,109]],[[8481,8481],\"mapped\",[116,101,108]],[[8482,8482],\"mapped\",[116,109]],[[8483,8483],\"valid\",[],\"NV8\"],[[8484,8484],\"mapped\",[122]],[[8485,8485],\"valid\",[],\"NV8\"],[[8486,8486],\"mapped\",[969]],[[8487,8487],\"valid\",[],\"NV8\"],[[8488,8488],\"mapped\",[122]],[[8489,8489],\"valid\",[],\"NV8\"],[[8490,8490],\"mapped\",[107]],[[8491,8491],\"mapped\",[229]],[[8492,8492],\"mapped\",[98]],[[8493,8493],\"mapped\",[99]],[[8494,8494],\"valid\",[],\"NV8\"],[[8495,8496],\"mapped\",[101]],[[8497,8497],\"mapped\",[102]],[[8498,8498],\"disallowed\"],[[8499,8499],\"mapped\",[109]],[[8500,8500],\"mapped\",[111]],[[8501,8501],\"mapped\",[1488]],[[8502,8502],\"mapped\",[1489]],[[8503,8503],\"mapped\",[1490]],[[8504,8504],\"mapped\",[1491]],[[8505,8505],\"mapped\",[105]],[[8506,8506],\"valid\",[],\"NV8\"],[[8507,8507],\"mapped\",[102,97,120]],[[8508,8508],\"mapped\",[960]],[[8509,8510],\"mapped\",[947]],[[8511,8511],\"mapped\",[960]],[[8512,8512],\"mapped\",[8721]],[[8513,8516],\"valid\",[],\"NV8\"],[[8517,8518],\"mapped\",[100]],[[8519,8519],\"mapped\",[101]],[[8520,8520],\"mapped\",[105]],[[8521,8521],\"mapped\",[106]],[[8522,8523],\"valid\",[],\"NV8\"],[[8524,8524],\"valid\",[],\"NV8\"],[[8525,8525],\"valid\",[],\"NV8\"],[[8526,8526],\"valid\"],[[8527,8527],\"valid\",[],\"NV8\"],[[8528,8528],\"mapped\",[49,8260,55]],[[8529,8529],\"mapped\",[49,8260,57]],[[8530,8530],\"mapped\",[49,8260,49,48]],[[8531,8531],\"mapped\",[49,8260,51]],[[8532,8532],\"mapped\",[50,8260,51]],[[8533,8533],\"mapped\",[49,8260,53]],[[8534,8534],\"mapped\",[50,8260,53]],[[8535,8535],\"mapped\",[51,8260,53]],[[8536,8536],\"mapped\",[52,8260,53]],[[8537,8537],\"mapped\",[49,8260,54]],[[8538,8538],\"mapped\",[53,8260,54]],[[8539,8539],\"mapped\",[49,8260,56]],[[8540,8540],\"mapped\",[51,8260,56]],[[8541,8541],\"mapped\",[53,8260,56]],[[8542,8542],\"mapped\",[55,8260,56]],[[8543,8543],\"mapped\",[49,8260]],[[8544,8544],\"mapped\",[105]],[[8545,8545],\"mapped\",[105,105]],[[8546,8546],\"mapped\",[105,105,105]],[[8547,8547],\"mapped\",[105,118]],[[8548,8548],\"mapped\",[118]],[[8549,8549],\"mapped\",[118,105]],[[8550,8550],\"mapped\",[118,105,105]],[[8551,8551],\"mapped\",[118,105,105,105]],[[8552,8552],\"mapped\",[105,120]],[[8553,8553],\"mapped\",[120]],[[8554,8554],\"mapped\",[120,105]],[[8555,8555],\"mapped\",[120,105,105]],[[8556,8556],\"mapped\",[108]],[[8557,8557],\"mapped\",[99]],[[8558,8558],\"mapped\",[100]],[[8559,8559],\"mapped\",[109]],[[8560,8560],\"mapped\",[105]],[[8561,8561],\"mapped\",[105,105]],[[8562,8562],\"mapped\",[105,105,105]],[[8563,8563],\"mapped\",[105,118]],[[8564,8564],\"mapped\",[118]],[[8565,8565],\"mapped\",[118,105]],[[8566,8566],\"mapped\",[118,105,105]],[[8567,8567],\"mapped\",[118,105,105,105]],[[8568,8568],\"mapped\",[105,120]],[[8569,8569],\"mapped\",[120]],[[8570,8570],\"mapped\",[120,105]],[[8571,8571],\"mapped\",[120,105,105]],[[8572,8572],\"mapped\",[108]],[[8573,8573],\"mapped\",[99]],[[8574,8574],\"mapped\",[100]],[[8575,8575],\"mapped\",[109]],[[8576,8578],\"valid\",[],\"NV8\"],[[8579,8579],\"disallowed\"],[[8580,8580],\"valid\"],[[8581,8584],\"valid\",[],\"NV8\"],[[8585,8585],\"mapped\",[48,8260,51]],[[8586,8587],\"valid\",[],\"NV8\"],[[8588,8591],\"disallowed\"],[[8592,8682],\"valid\",[],\"NV8\"],[[8683,8691],\"valid\",[],\"NV8\"],[[8692,8703],\"valid\",[],\"NV8\"],[[8704,8747],\"valid\",[],\"NV8\"],[[8748,8748],\"mapped\",[8747,8747]],[[8749,8749],\"mapped\",[8747,8747,8747]],[[8750,8750],\"valid\",[],\"NV8\"],[[8751,8751],\"mapped\",[8750,8750]],[[8752,8752],\"mapped\",[8750,8750,8750]],[[8753,8799],\"valid\",[],\"NV8\"],[[8800,8800],\"disallowed_STD3_valid\"],[[8801,8813],\"valid\",[],\"NV8\"],[[8814,8815],\"disallowed_STD3_valid\"],[[8816,8945],\"valid\",[],\"NV8\"],[[8946,8959],\"valid\",[],\"NV8\"],[[8960,8960],\"valid\",[],\"NV8\"],[[8961,8961],\"valid\",[],\"NV8\"],[[8962,9000],\"valid\",[],\"NV8\"],[[9001,9001],\"mapped\",[12296]],[[9002,9002],\"mapped\",[12297]],[[9003,9082],\"valid\",[],\"NV8\"],[[9083,9083],\"valid\",[],\"NV8\"],[[9084,9084],\"valid\",[],\"NV8\"],[[9085,9114],\"valid\",[],\"NV8\"],[[9115,9166],\"valid\",[],\"NV8\"],[[9167,9168],\"valid\",[],\"NV8\"],[[9169,9179],\"valid\",[],\"NV8\"],[[9180,9191],\"valid\",[],\"NV8\"],[[9192,9192],\"valid\",[],\"NV8\"],[[9193,9203],\"valid\",[],\"NV8\"],[[9204,9210],\"valid\",[],\"NV8\"],[[9211,9215],\"disallowed\"],[[9216,9252],\"valid\",[],\"NV8\"],[[9253,9254],\"valid\",[],\"NV8\"],[[9255,9279],\"disallowed\"],[[9280,9290],\"valid\",[],\"NV8\"],[[9291,9311],\"disallowed\"],[[9312,9312],\"mapped\",[49]],[[9313,9313],\"mapped\",[50]],[[9314,9314],\"mapped\",[51]],[[9315,9315],\"mapped\",[52]],[[9316,9316],\"mapped\",[53]],[[9317,9317],\"mapped\",[54]],[[9318,9318],\"mapped\",[55]],[[9319,9319],\"mapped\",[56]],[[9320,9320],\"mapped\",[57]],[[9321,9321],\"mapped\",[49,48]],[[9322,9322],\"mapped\",[49,49]],[[9323,9323],\"mapped\",[49,50]],[[9324,9324],\"mapped\",[49,51]],[[9325,9325],\"mapped\",[49,52]],[[9326,9326],\"mapped\",[49,53]],[[9327,9327],\"mapped\",[49,54]],[[9328,9328],\"mapped\",[49,55]],[[9329,9329],\"mapped\",[49,56]],[[9330,9330],\"mapped\",[49,57]],[[9331,9331],\"mapped\",[50,48]],[[9332,9332],\"disallowed_STD3_mapped\",[40,49,41]],[[9333,9333],\"disallowed_STD3_mapped\",[40,50,41]],[[9334,9334],\"disallowed_STD3_mapped\",[40,51,41]],[[9335,9335],\"disallowed_STD3_mapped\",[40,52,41]],[[9336,9336],\"disallowed_STD3_mapped\",[40,53,41]],[[9337,9337],\"disallowed_STD3_mapped\",[40,54,41]],[[9338,9338],\"disallowed_STD3_mapped\",[40,55,41]],[[9339,9339],\"disallowed_STD3_mapped\",[40,56,41]],[[9340,9340],\"disallowed_STD3_mapped\",[40,57,41]],[[9341,9341],\"disallowed_STD3_mapped\",[40,49,48,41]],[[9342,9342],\"disallowed_STD3_mapped\",[40,49,49,41]],[[9343,9343],\"disallowed_STD3_mapped\",[40,49,50,41]],[[9344,9344],\"disallowed_STD3_mapped\",[40,49,51,41]],[[9345,9345],\"disallowed_STD3_mapped\",[40,49,52,41]],[[9346,9346],\"disallowed_STD3_mapped\",[40,49,53,41]],[[9347,9347],\"disallowed_STD3_mapped\",[40,49,54,41]],[[9348,9348],\"disallowed_STD3_mapped\",[40,49,55,41]],[[9349,9349],\"disallowed_STD3_mapped\",[40,49,56,41]],[[9350,9350],\"disallowed_STD3_mapped\",[40,49,57,41]],[[9351,9351],\"disallowed_STD3_mapped\",[40,50,48,41]],[[9352,9371],\"disallowed\"],[[9372,9372],\"disallowed_STD3_mapped\",[40,97,41]],[[9373,9373],\"disallowed_STD3_mapped\",[40,98,41]],[[9374,9374],\"disallowed_STD3_mapped\",[40,99,41]],[[9375,9375],\"disallowed_STD3_mapped\",[40,100,41]],[[9376,9376],\"disallowed_STD3_mapped\",[40,101,41]],[[9377,9377],\"disallowed_STD3_mapped\",[40,102,41]],[[9378,9378],\"disallowed_STD3_mapped\",[40,103,41]],[[9379,9379],\"disallowed_STD3_mapped\",[40,104,41]],[[9380,9380],\"disallowed_STD3_mapped\",[40,105,41]],[[9381,9381],\"disallowed_STD3_mapped\",[40,106,41]],[[9382,9382],\"disallowed_STD3_mapped\",[40,107,41]],[[9383,9383],\"disallowed_STD3_mapped\",[40,108,41]],[[9384,9384],\"disallowed_STD3_mapped\",[40,109,41]],[[9385,9385],\"disallowed_STD3_mapped\",[40,110,41]],[[9386,9386],\"disallowed_STD3_mapped\",[40,111,41]],[[9387,9387],\"disallowed_STD3_mapped\",[40,112,41]],[[9388,9388],\"disallowed_STD3_mapped\",[40,113,41]],[[9389,9389],\"disallowed_STD3_mapped\",[40,114,41]],[[9390,9390],\"disallowed_STD3_mapped\",[40,115,41]],[[9391,9391],\"disallowed_STD3_mapped\",[40,116,41]],[[9392,9392],\"disallowed_STD3_mapped\",[40,117,41]],[[9393,9393],\"disallowed_STD3_mapped\",[40,118,41]],[[9394,9394],\"disallowed_STD3_mapped\",[40,119,41]],[[9395,9395],\"disallowed_STD3_mapped\",[40,120,41]],[[9396,9396],\"disallowed_STD3_mapped\",[40,121,41]],[[9397,9397],\"disallowed_STD3_mapped\",[40,122,41]],[[9398,9398],\"mapped\",[97]],[[9399,9399],\"mapped\",[98]],[[9400,9400],\"mapped\",[99]],[[9401,9401],\"mapped\",[100]],[[9402,9402],\"mapped\",[101]],[[9403,9403],\"mapped\",[102]],[[9404,9404],\"mapped\",[103]],[[9405,9405],\"mapped\",[104]],[[9406,9406],\"mapped\",[105]],[[9407,9407],\"mapped\",[106]],[[9408,9408],\"mapped\",[107]],[[9409,9409],\"mapped\",[108]],[[9410,9410],\"mapped\",[109]],[[9411,9411],\"mapped\",[110]],[[9412,9412],\"mapped\",[111]],[[9413,9413],\"mapped\",[112]],[[9414,9414],\"mapped\",[113]],[[9415,9415],\"mapped\",[114]],[[9416,9416],\"mapped\",[115]],[[9417,9417],\"mapped\",[116]],[[9418,9418],\"mapped\",[117]],[[9419,9419],\"mapped\",[118]],[[9420,9420],\"mapped\",[119]],[[9421,9421],\"mapped\",[120]],[[9422,9422],\"mapped\",[121]],[[9423,9423],\"mapped\",[122]],[[9424,9424],\"mapped\",[97]],[[9425,9425],\"mapped\",[98]],[[9426,9426],\"mapped\",[99]],[[9427,9427],\"mapped\",[100]],[[9428,9428],\"mapped\",[101]],[[9429,9429],\"mapped\",[102]],[[9430,9430],\"mapped\",[103]],[[9431,9431],\"mapped\",[104]],[[9432,9432],\"mapped\",[105]],[[9433,9433],\"mapped\",[106]],[[9434,9434],\"mapped\",[107]],[[9435,9435],\"mapped\",[108]],[[9436,9436],\"mapped\",[109]],[[9437,9437],\"mapped\",[110]],[[9438,9438],\"mapped\",[111]],[[9439,9439],\"mapped\",[112]],[[9440,9440],\"mapped\",[113]],[[9441,9441],\"mapped\",[114]],[[9442,9442],\"mapped\",[115]],[[9443,9443],\"mapped\",[116]],[[9444,9444],\"mapped\",[117]],[[9445,9445],\"mapped\",[118]],[[9446,9446],\"mapped\",[119]],[[9447,9447],\"mapped\",[120]],[[9448,9448],\"mapped\",[121]],[[9449,9449],\"mapped\",[122]],[[9450,9450],\"mapped\",[48]],[[9451,9470],\"valid\",[],\"NV8\"],[[9471,9471],\"valid\",[],\"NV8\"],[[9472,9621],\"valid\",[],\"NV8\"],[[9622,9631],\"valid\",[],\"NV8\"],[[9632,9711],\"valid\",[],\"NV8\"],[[9712,9719],\"valid\",[],\"NV8\"],[[9720,9727],\"valid\",[],\"NV8\"],[[9728,9747],\"valid\",[],\"NV8\"],[[9748,9749],\"valid\",[],\"NV8\"],[[9750,9751],\"valid\",[],\"NV8\"],[[9752,9752],\"valid\",[],\"NV8\"],[[9753,9753],\"valid\",[],\"NV8\"],[[9754,9839],\"valid\",[],\"NV8\"],[[9840,9841],\"valid\",[],\"NV8\"],[[9842,9853],\"valid\",[],\"NV8\"],[[9854,9855],\"valid\",[],\"NV8\"],[[9856,9865],\"valid\",[],\"NV8\"],[[9866,9873],\"valid\",[],\"NV8\"],[[9874,9884],\"valid\",[],\"NV8\"],[[9885,9885],\"valid\",[],\"NV8\"],[[9886,9887],\"valid\",[],\"NV8\"],[[9888,9889],\"valid\",[],\"NV8\"],[[9890,9905],\"valid\",[],\"NV8\"],[[9906,9906],\"valid\",[],\"NV8\"],[[9907,9916],\"valid\",[],\"NV8\"],[[9917,9919],\"valid\",[],\"NV8\"],[[9920,9923],\"valid\",[],\"NV8\"],[[9924,9933],\"valid\",[],\"NV8\"],[[9934,9934],\"valid\",[],\"NV8\"],[[9935,9953],\"valid\",[],\"NV8\"],[[9954,9954],\"valid\",[],\"NV8\"],[[9955,9955],\"valid\",[],\"NV8\"],[[9956,9959],\"valid\",[],\"NV8\"],[[9960,9983],\"valid\",[],\"NV8\"],[[9984,9984],\"valid\",[],\"NV8\"],[[9985,9988],\"valid\",[],\"NV8\"],[[9989,9989],\"valid\",[],\"NV8\"],[[9990,9993],\"valid\",[],\"NV8\"],[[9994,9995],\"valid\",[],\"NV8\"],[[9996,10023],\"valid\",[],\"NV8\"],[[10024,10024],\"valid\",[],\"NV8\"],[[10025,10059],\"valid\",[],\"NV8\"],[[10060,10060],\"valid\",[],\"NV8\"],[[10061,10061],\"valid\",[],\"NV8\"],[[10062,10062],\"valid\",[],\"NV8\"],[[10063,10066],\"valid\",[],\"NV8\"],[[10067,10069],\"valid\",[],\"NV8\"],[[10070,10070],\"valid\",[],\"NV8\"],[[10071,10071],\"valid\",[],\"NV8\"],[[10072,10078],\"valid\",[],\"NV8\"],[[10079,10080],\"valid\",[],\"NV8\"],[[10081,10087],\"valid\",[],\"NV8\"],[[10088,10101],\"valid\",[],\"NV8\"],[[10102,10132],\"valid\",[],\"NV8\"],[[10133,10135],\"valid\",[],\"NV8\"],[[10136,10159],\"valid\",[],\"NV8\"],[[10160,10160],\"valid\",[],\"NV8\"],[[10161,10174],\"valid\",[],\"NV8\"],[[10175,10175],\"valid\",[],\"NV8\"],[[10176,10182],\"valid\",[],\"NV8\"],[[10183,10186],\"valid\",[],\"NV8\"],[[10187,10187],\"valid\",[],\"NV8\"],[[10188,10188],\"valid\",[],\"NV8\"],[[10189,10189],\"valid\",[],\"NV8\"],[[10190,10191],\"valid\",[],\"NV8\"],[[10192,10219],\"valid\",[],\"NV8\"],[[10220,10223],\"valid\",[],\"NV8\"],[[10224,10239],\"valid\",[],\"NV8\"],[[10240,10495],\"valid\",[],\"NV8\"],[[10496,10763],\"valid\",[],\"NV8\"],[[10764,10764],\"mapped\",[8747,8747,8747,8747]],[[10765,10867],\"valid\",[],\"NV8\"],[[10868,10868],\"disallowed_STD3_mapped\",[58,58,61]],[[10869,10869],\"disallowed_STD3_mapped\",[61,61]],[[10870,10870],\"disallowed_STD3_mapped\",[61,61,61]],[[10871,10971],\"valid\",[],\"NV8\"],[[10972,10972],\"mapped\",[10973,824]],[[10973,11007],\"valid\",[],\"NV8\"],[[11008,11021],\"valid\",[],\"NV8\"],[[11022,11027],\"valid\",[],\"NV8\"],[[11028,11034],\"valid\",[],\"NV8\"],[[11035,11039],\"valid\",[],\"NV8\"],[[11040,11043],\"valid\",[],\"NV8\"],[[11044,11084],\"valid\",[],\"NV8\"],[[11085,11087],\"valid\",[],\"NV8\"],[[11088,11092],\"valid\",[],\"NV8\"],[[11093,11097],\"valid\",[],\"NV8\"],[[11098,11123],\"valid\",[],\"NV8\"],[[11124,11125],\"disallowed\"],[[11126,11157],\"valid\",[],\"NV8\"],[[11158,11159],\"disallowed\"],[[11160,11193],\"valid\",[],\"NV8\"],[[11194,11196],\"disallowed\"],[[11197,11208],\"valid\",[],\"NV8\"],[[11209,11209],\"disallowed\"],[[11210,11217],\"valid\",[],\"NV8\"],[[11218,11243],\"disallowed\"],[[11244,11247],\"valid\",[],\"NV8\"],[[11248,11263],\"disallowed\"],[[11264,11264],\"mapped\",[11312]],[[11265,11265],\"mapped\",[11313]],[[11266,11266],\"mapped\",[11314]],[[11267,11267],\"mapped\",[11315]],[[11268,11268],\"mapped\",[11316]],[[11269,11269],\"mapped\",[11317]],[[11270,11270],\"mapped\",[11318]],[[11271,11271],\"mapped\",[11319]],[[11272,11272],\"mapped\",[11320]],[[11273,11273],\"mapped\",[11321]],[[11274,11274],\"mapped\",[11322]],[[11275,11275],\"mapped\",[11323]],[[11276,11276],\"mapped\",[11324]],[[11277,11277],\"mapped\",[11325]],[[11278,11278],\"mapped\",[11326]],[[11279,11279],\"mapped\",[11327]],[[11280,11280],\"mapped\",[11328]],[[11281,11281],\"mapped\",[11329]],[[11282,11282],\"mapped\",[11330]],[[11283,11283],\"mapped\",[11331]],[[11284,11284],\"mapped\",[11332]],[[11285,11285],\"mapped\",[11333]],[[11286,11286],\"mapped\",[11334]],[[11287,11287],\"mapped\",[11335]],[[11288,11288],\"mapped\",[11336]],[[11289,11289],\"mapped\",[11337]],[[11290,11290],\"mapped\",[11338]],[[11291,11291],\"mapped\",[11339]],[[11292,11292],\"mapped\",[11340]],[[11293,11293],\"mapped\",[11341]],[[11294,11294],\"mapped\",[11342]],[[11295,11295],\"mapped\",[11343]],[[11296,11296],\"mapped\",[11344]],[[11297,11297],\"mapped\",[11345]],[[11298,11298],\"mapped\",[11346]],[[11299,11299],\"mapped\",[11347]],[[11300,11300],\"mapped\",[11348]],[[11301,11301],\"mapped\",[11349]],[[11302,11302],\"mapped\",[11350]],[[11303,11303],\"mapped\",[11351]],[[11304,11304],\"mapped\",[11352]],[[11305,11305],\"mapped\",[11353]],[[11306,11306],\"mapped\",[11354]],[[11307,11307],\"mapped\",[11355]],[[11308,11308],\"mapped\",[11356]],[[11309,11309],\"mapped\",[11357]],[[11310,11310],\"mapped\",[11358]],[[11311,11311],\"disallowed\"],[[11312,11358],\"valid\"],[[11359,11359],\"disallowed\"],[[11360,11360],\"mapped\",[11361]],[[11361,11361],\"valid\"],[[11362,11362],\"mapped\",[619]],[[11363,11363],\"mapped\",[7549]],[[11364,11364],\"mapped\",[637]],[[11365,11366],\"valid\"],[[11367,11367],\"mapped\",[11368]],[[11368,11368],\"valid\"],[[11369,11369],\"mapped\",[11370]],[[11370,11370],\"valid\"],[[11371,11371],\"mapped\",[11372]],[[11372,11372],\"valid\"],[[11373,11373],\"mapped\",[593]],[[11374,11374],\"mapped\",[625]],[[11375,11375],\"mapped\",[592]],[[11376,11376],\"mapped\",[594]],[[11377,11377],\"valid\"],[[11378,11378],\"mapped\",[11379]],[[11379,11379],\"valid\"],[[11380,11380],\"valid\"],[[11381,11381],\"mapped\",[11382]],[[11382,11383],\"valid\"],[[11384,11387],\"valid\"],[[11388,11388],\"mapped\",[106]],[[11389,11389],\"mapped\",[118]],[[11390,11390],\"mapped\",[575]],[[11391,11391],\"mapped\",[576]],[[11392,11392],\"mapped\",[11393]],[[11393,11393],\"valid\"],[[11394,11394],\"mapped\",[11395]],[[11395,11395],\"valid\"],[[11396,11396],\"mapped\",[11397]],[[11397,11397],\"valid\"],[[11398,11398],\"mapped\",[11399]],[[11399,11399],\"valid\"],[[11400,11400],\"mapped\",[11401]],[[11401,11401],\"valid\"],[[11402,11402],\"mapped\",[11403]],[[11403,11403],\"valid\"],[[11404,11404],\"mapped\",[11405]],[[11405,11405],\"valid\"],[[11406,11406],\"mapped\",[11407]],[[11407,11407],\"valid\"],[[11408,11408],\"mapped\",[11409]],[[11409,11409],\"valid\"],[[11410,11410],\"mapped\",[11411]],[[11411,11411],\"valid\"],[[11412,11412],\"mapped\",[11413]],[[11413,11413],\"valid\"],[[11414,11414],\"mapped\",[11415]],[[11415,11415],\"valid\"],[[11416,11416],\"mapped\",[11417]],[[11417,11417],\"valid\"],[[11418,11418],\"mapped\",[11419]],[[11419,11419],\"valid\"],[[11420,11420],\"mapped\",[11421]],[[11421,11421],\"valid\"],[[11422,11422],\"mapped\",[11423]],[[11423,11423],\"valid\"],[[11424,11424],\"mapped\",[11425]],[[11425,11425],\"valid\"],[[11426,11426],\"mapped\",[11427]],[[11427,11427],\"valid\"],[[11428,11428],\"mapped\",[11429]],[[11429,11429],\"valid\"],[[11430,11430],\"mapped\",[11431]],[[11431,11431],\"valid\"],[[11432,11432],\"mapped\",[11433]],[[11433,11433],\"valid\"],[[11434,11434],\"mapped\",[11435]],[[11435,11435],\"valid\"],[[11436,11436],\"mapped\",[11437]],[[11437,11437],\"valid\"],[[11438,11438],\"mapped\",[11439]],[[11439,11439],\"valid\"],[[11440,11440],\"mapped\",[11441]],[[11441,11441],\"valid\"],[[11442,11442],\"mapped\",[11443]],[[11443,11443],\"valid\"],[[11444,11444],\"mapped\",[11445]],[[11445,11445],\"valid\"],[[11446,11446],\"mapped\",[11447]],[[11447,11447],\"valid\"],[[11448,11448],\"mapped\",[11449]],[[11449,11449],\"valid\"],[[11450,11450],\"mapped\",[11451]],[[11451,11451],\"valid\"],[[11452,11452],\"mapped\",[11453]],[[11453,11453],\"valid\"],[[11454,11454],\"mapped\",[11455]],[[11455,11455],\"valid\"],[[11456,11456],\"mapped\",[11457]],[[11457,11457],\"valid\"],[[11458,11458],\"mapped\",[11459]],[[11459,11459],\"valid\"],[[11460,11460],\"mapped\",[11461]],[[11461,11461],\"valid\"],[[11462,11462],\"mapped\",[11463]],[[11463,11463],\"valid\"],[[11464,11464],\"mapped\",[11465]],[[11465,11465],\"valid\"],[[11466,11466],\"mapped\",[11467]],[[11467,11467],\"valid\"],[[11468,11468],\"mapped\",[11469]],[[11469,11469],\"valid\"],[[11470,11470],\"mapped\",[11471]],[[11471,11471],\"valid\"],[[11472,11472],\"mapped\",[11473]],[[11473,11473],\"valid\"],[[11474,11474],\"mapped\",[11475]],[[11475,11475],\"valid\"],[[11476,11476],\"mapped\",[11477]],[[11477,11477],\"valid\"],[[11478,11478],\"mapped\",[11479]],[[11479,11479],\"valid\"],[[11480,11480],\"mapped\",[11481]],[[11481,11481],\"valid\"],[[11482,11482],\"mapped\",[11483]],[[11483,11483],\"valid\"],[[11484,11484],\"mapped\",[11485]],[[11485,11485],\"valid\"],[[11486,11486],\"mapped\",[11487]],[[11487,11487],\"valid\"],[[11488,11488],\"mapped\",[11489]],[[11489,11489],\"valid\"],[[11490,11490],\"mapped\",[11491]],[[11491,11492],\"valid\"],[[11493,11498],\"valid\",[],\"NV8\"],[[11499,11499],\"mapped\",[11500]],[[11500,11500],\"valid\"],[[11501,11501],\"mapped\",[11502]],[[11502,11505],\"valid\"],[[11506,11506],\"mapped\",[11507]],[[11507,11507],\"valid\"],[[11508,11512],\"disallowed\"],[[11513,11519],\"valid\",[],\"NV8\"],[[11520,11557],\"valid\"],[[11558,11558],\"disallowed\"],[[11559,11559],\"valid\"],[[11560,11564],\"disallowed\"],[[11565,11565],\"valid\"],[[11566,11567],\"disallowed\"],[[11568,11621],\"valid\"],[[11622,11623],\"valid\"],[[11624,11630],\"disallowed\"],[[11631,11631],\"mapped\",[11617]],[[11632,11632],\"valid\",[],\"NV8\"],[[11633,11646],\"disallowed\"],[[11647,11647],\"valid\"],[[11648,11670],\"valid\"],[[11671,11679],\"disallowed\"],[[11680,11686],\"valid\"],[[11687,11687],\"disallowed\"],[[11688,11694],\"valid\"],[[11695,11695],\"disallowed\"],[[11696,11702],\"valid\"],[[11703,11703],\"disallowed\"],[[11704,11710],\"valid\"],[[11711,11711],\"disallowed\"],[[11712,11718],\"valid\"],[[11719,11719],\"disallowed\"],[[11720,11726],\"valid\"],[[11727,11727],\"disallowed\"],[[11728,11734],\"valid\"],[[11735,11735],\"disallowed\"],[[11736,11742],\"valid\"],[[11743,11743],\"disallowed\"],[[11744,11775],\"valid\"],[[11776,11799],\"valid\",[],\"NV8\"],[[11800,11803],\"valid\",[],\"NV8\"],[[11804,11805],\"valid\",[],\"NV8\"],[[11806,11822],\"valid\",[],\"NV8\"],[[11823,11823],\"valid\"],[[11824,11824],\"valid\",[],\"NV8\"],[[11825,11825],\"valid\",[],\"NV8\"],[[11826,11835],\"valid\",[],\"NV8\"],[[11836,11842],\"valid\",[],\"NV8\"],[[11843,11903],\"disallowed\"],[[11904,11929],\"valid\",[],\"NV8\"],[[11930,11930],\"disallowed\"],[[11931,11934],\"valid\",[],\"NV8\"],[[11935,11935],\"mapped\",[27597]],[[11936,12018],\"valid\",[],\"NV8\"],[[12019,12019],\"mapped\",[40863]],[[12020,12031],\"disallowed\"],[[12032,12032],\"mapped\",[19968]],[[12033,12033],\"mapped\",[20008]],[[12034,12034],\"mapped\",[20022]],[[12035,12035],\"mapped\",[20031]],[[12036,12036],\"mapped\",[20057]],[[12037,12037],\"mapped\",[20101]],[[12038,12038],\"mapped\",[20108]],[[12039,12039],\"mapped\",[20128]],[[12040,12040],\"mapped\",[20154]],[[12041,12041],\"mapped\",[20799]],[[12042,12042],\"mapped\",[20837]],[[12043,12043],\"mapped\",[20843]],[[12044,12044],\"mapped\",[20866]],[[12045,12045],\"mapped\",[20886]],[[12046,12046],\"mapped\",[20907]],[[12047,12047],\"mapped\",[20960]],[[12048,12048],\"mapped\",[20981]],[[12049,12049],\"mapped\",[20992]],[[12050,12050],\"mapped\",[21147]],[[12051,12051],\"mapped\",[21241]],[[12052,12052],\"mapped\",[21269]],[[12053,12053],\"mapped\",[21274]],[[12054,12054],\"mapped\",[21304]],[[12055,12055],\"mapped\",[21313]],[[12056,12056],\"mapped\",[21340]],[[12057,12057],\"mapped\",[21353]],[[12058,12058],\"mapped\",[21378]],[[12059,12059],\"mapped\",[21430]],[[12060,12060],\"mapped\",[21448]],[[12061,12061],\"mapped\",[21475]],[[12062,12062],\"mapped\",[22231]],[[12063,12063],\"mapped\",[22303]],[[12064,12064],\"mapped\",[22763]],[[12065,12065],\"mapped\",[22786]],[[12066,12066],\"mapped\",[22794]],[[12067,12067],\"mapped\",[22805]],[[12068,12068],\"mapped\",[22823]],[[12069,12069],\"mapped\",[22899]],[[12070,12070],\"mapped\",[23376]],[[12071,12071],\"mapped\",[23424]],[[12072,12072],\"mapped\",[23544]],[[12073,12073],\"mapped\",[23567]],[[12074,12074],\"mapped\",[23586]],[[12075,12075],\"mapped\",[23608]],[[12076,12076],\"mapped\",[23662]],[[12077,12077],\"mapped\",[23665]],[[12078,12078],\"mapped\",[24027]],[[12079,12079],\"mapped\",[24037]],[[12080,12080],\"mapped\",[24049]],[[12081,12081],\"mapped\",[24062]],[[12082,12082],\"mapped\",[24178]],[[12083,12083],\"mapped\",[24186]],[[12084,12084],\"mapped\",[24191]],[[12085,12085],\"mapped\",[24308]],[[12086,12086],\"mapped\",[24318]],[[12087,12087],\"mapped\",[24331]],[[12088,12088],\"mapped\",[24339]],[[12089,12089],\"mapped\",[24400]],[[12090,12090],\"mapped\",[24417]],[[12091,12091],\"mapped\",[24435]],[[12092,12092],\"mapped\",[24515]],[[12093,12093],\"mapped\",[25096]],[[12094,12094],\"mapped\",[25142]],[[12095,12095],\"mapped\",[25163]],[[12096,12096],\"mapped\",[25903]],[[12097,12097],\"mapped\",[25908]],[[12098,12098],\"mapped\",[25991]],[[12099,12099],\"mapped\",[26007]],[[12100,12100],\"mapped\",[26020]],[[12101,12101],\"mapped\",[26041]],[[12102,12102],\"mapped\",[26080]],[[12103,12103],\"mapped\",[26085]],[[12104,12104],\"mapped\",[26352]],[[12105,12105],\"mapped\",[26376]],[[12106,12106],\"mapped\",[26408]],[[12107,12107],\"mapped\",[27424]],[[12108,12108],\"mapped\",[27490]],[[12109,12109],\"mapped\",[27513]],[[12110,12110],\"mapped\",[27571]],[[12111,12111],\"mapped\",[27595]],[[12112,12112],\"mapped\",[27604]],[[12113,12113],\"mapped\",[27611]],[[12114,12114],\"mapped\",[27663]],[[12115,12115],\"mapped\",[27668]],[[12116,12116],\"mapped\",[27700]],[[12117,12117],\"mapped\",[28779]],[[12118,12118],\"mapped\",[29226]],[[12119,12119],\"mapped\",[29238]],[[12120,12120],\"mapped\",[29243]],[[12121,12121],\"mapped\",[29247]],[[12122,12122],\"mapped\",[29255]],[[12123,12123],\"mapped\",[29273]],[[12124,12124],\"mapped\",[29275]],[[12125,12125],\"mapped\",[29356]],[[12126,12126],\"mapped\",[29572]],[[12127,12127],\"mapped\",[29577]],[[12128,12128],\"mapped\",[29916]],[[12129,12129],\"mapped\",[29926]],[[12130,12130],\"mapped\",[29976]],[[12131,12131],\"mapped\",[29983]],[[12132,12132],\"mapped\",[29992]],[[12133,12133],\"mapped\",[30000]],[[12134,12134],\"mapped\",[30091]],[[12135,12135],\"mapped\",[30098]],[[12136,12136],\"mapped\",[30326]],[[12137,12137],\"mapped\",[30333]],[[12138,12138],\"mapped\",[30382]],[[12139,12139],\"mapped\",[30399]],[[12140,12140],\"mapped\",[30446]],[[12141,12141],\"mapped\",[30683]],[[12142,12142],\"mapped\",[30690]],[[12143,12143],\"mapped\",[30707]],[[12144,12144],\"mapped\",[31034]],[[12145,12145],\"mapped\",[31160]],[[12146,12146],\"mapped\",[31166]],[[12147,12147],\"mapped\",[31348]],[[12148,12148],\"mapped\",[31435]],[[12149,12149],\"mapped\",[31481]],[[12150,12150],\"mapped\",[31859]],[[12151,12151],\"mapped\",[31992]],[[12152,12152],\"mapped\",[32566]],[[12153,12153],\"mapped\",[32593]],[[12154,12154],\"mapped\",[32650]],[[12155,12155],\"mapped\",[32701]],[[12156,12156],\"mapped\",[32769]],[[12157,12157],\"mapped\",[32780]],[[12158,12158],\"mapped\",[32786]],[[12159,12159],\"mapped\",[32819]],[[12160,12160],\"mapped\",[32895]],[[12161,12161],\"mapped\",[32905]],[[12162,12162],\"mapped\",[33251]],[[12163,12163],\"mapped\",[33258]],[[12164,12164],\"mapped\",[33267]],[[12165,12165],\"mapped\",[33276]],[[12166,12166],\"mapped\",[33292]],[[12167,12167],\"mapped\",[33307]],[[12168,12168],\"mapped\",[33311]],[[12169,12169],\"mapped\",[33390]],[[12170,12170],\"mapped\",[33394]],[[12171,12171],\"mapped\",[33400]],[[12172,12172],\"mapped\",[34381]],[[12173,12173],\"mapped\",[34411]],[[12174,12174],\"mapped\",[34880]],[[12175,12175],\"mapped\",[34892]],[[12176,12176],\"mapped\",[34915]],[[12177,12177],\"mapped\",[35198]],[[12178,12178],\"mapped\",[35211]],[[12179,12179],\"mapped\",[35282]],[[12180,12180],\"mapped\",[35328]],[[12181,12181],\"mapped\",[35895]],[[12182,12182],\"mapped\",[35910]],[[12183,12183],\"mapped\",[35925]],[[12184,12184],\"mapped\",[35960]],[[12185,12185],\"mapped\",[35997]],[[12186,12186],\"mapped\",[36196]],[[12187,12187],\"mapped\",[36208]],[[12188,12188],\"mapped\",[36275]],[[12189,12189],\"mapped\",[36523]],[[12190,12190],\"mapped\",[36554]],[[12191,12191],\"mapped\",[36763]],[[12192,12192],\"mapped\",[36784]],[[12193,12193],\"mapped\",[36789]],[[12194,12194],\"mapped\",[37009]],[[12195,12195],\"mapped\",[37193]],[[12196,12196],\"mapped\",[37318]],[[12197,12197],\"mapped\",[37324]],[[12198,12198],\"mapped\",[37329]],[[12199,12199],\"mapped\",[38263]],[[12200,12200],\"mapped\",[38272]],[[12201,12201],\"mapped\",[38428]],[[12202,12202],\"mapped\",[38582]],[[12203,12203],\"mapped\",[38585]],[[12204,12204],\"mapped\",[38632]],[[12205,12205],\"mapped\",[38737]],[[12206,12206],\"mapped\",[38750]],[[12207,12207],\"mapped\",[38754]],[[12208,12208],\"mapped\",[38761]],[[12209,12209],\"mapped\",[38859]],[[12210,12210],\"mapped\",[38893]],[[12211,12211],\"mapped\",[38899]],[[12212,12212],\"mapped\",[38913]],[[12213,12213],\"mapped\",[39080]],[[12214,12214],\"mapped\",[39131]],[[12215,12215],\"mapped\",[39135]],[[12216,12216],\"mapped\",[39318]],[[12217,12217],\"mapped\",[39321]],[[12218,12218],\"mapped\",[39340]],[[12219,12219],\"mapped\",[39592]],[[12220,12220],\"mapped\",[39640]],[[12221,12221],\"mapped\",[39647]],[[12222,12222],\"mapped\",[39717]],[[12223,12223],\"mapped\",[39727]],[[12224,12224],\"mapped\",[39730]],[[12225,12225],\"mapped\",[39740]],[[12226,12226],\"mapped\",[39770]],[[12227,12227],\"mapped\",[40165]],[[12228,12228],\"mapped\",[40565]],[[12229,12229],\"mapped\",[40575]],[[12230,12230],\"mapped\",[40613]],[[12231,12231],\"mapped\",[40635]],[[12232,12232],\"mapped\",[40643]],[[12233,12233],\"mapped\",[40653]],[[12234,12234],\"mapped\",[40657]],[[12235,12235],\"mapped\",[40697]],[[12236,12236],\"mapped\",[40701]],[[12237,12237],\"mapped\",[40718]],[[12238,12238],\"mapped\",[40723]],[[12239,12239],\"mapped\",[40736]],[[12240,12240],\"mapped\",[40763]],[[12241,12241],\"mapped\",[40778]],[[12242,12242],\"mapped\",[40786]],[[12243,12243],\"mapped\",[40845]],[[12244,12244],\"mapped\",[40860]],[[12245,12245],\"mapped\",[40864]],[[12246,12271],\"disallowed\"],[[12272,12283],\"disallowed\"],[[12284,12287],\"disallowed\"],[[12288,12288],\"disallowed_STD3_mapped\",[32]],[[12289,12289],\"valid\",[],\"NV8\"],[[12290,12290],\"mapped\",[46]],[[12291,12292],\"valid\",[],\"NV8\"],[[12293,12295],\"valid\"],[[12296,12329],\"valid\",[],\"NV8\"],[[12330,12333],\"valid\"],[[12334,12341],\"valid\",[],\"NV8\"],[[12342,12342],\"mapped\",[12306]],[[12343,12343],\"valid\",[],\"NV8\"],[[12344,12344],\"mapped\",[21313]],[[12345,12345],\"mapped\",[21316]],[[12346,12346],\"mapped\",[21317]],[[12347,12347],\"valid\",[],\"NV8\"],[[12348,12348],\"valid\"],[[12349,12349],\"valid\",[],\"NV8\"],[[12350,12350],\"valid\",[],\"NV8\"],[[12351,12351],\"valid\",[],\"NV8\"],[[12352,12352],\"disallowed\"],[[12353,12436],\"valid\"],[[12437,12438],\"valid\"],[[12439,12440],\"disallowed\"],[[12441,12442],\"valid\"],[[12443,12443],\"disallowed_STD3_mapped\",[32,12441]],[[12444,12444],\"disallowed_STD3_mapped\",[32,12442]],[[12445,12446],\"valid\"],[[12447,12447],\"mapped\",[12424,12426]],[[12448,12448],\"valid\",[],\"NV8\"],[[12449,12542],\"valid\"],[[12543,12543],\"mapped\",[12467,12488]],[[12544,12548],\"disallowed\"],[[12549,12588],\"valid\"],[[12589,12589],\"valid\"],[[12590,12592],\"disallowed\"],[[12593,12593],\"mapped\",[4352]],[[12594,12594],\"mapped\",[4353]],[[12595,12595],\"mapped\",[4522]],[[12596,12596],\"mapped\",[4354]],[[12597,12597],\"mapped\",[4524]],[[12598,12598],\"mapped\",[4525]],[[12599,12599],\"mapped\",[4355]],[[12600,12600],\"mapped\",[4356]],[[12601,12601],\"mapped\",[4357]],[[12602,12602],\"mapped\",[4528]],[[12603,12603],\"mapped\",[4529]],[[12604,12604],\"mapped\",[4530]],[[12605,12605],\"mapped\",[4531]],[[12606,12606],\"mapped\",[4532]],[[12607,12607],\"mapped\",[4533]],[[12608,12608],\"mapped\",[4378]],[[12609,12609],\"mapped\",[4358]],[[12610,12610],\"mapped\",[4359]],[[12611,12611],\"mapped\",[4360]],[[12612,12612],\"mapped\",[4385]],[[12613,12613],\"mapped\",[4361]],[[12614,12614],\"mapped\",[4362]],[[12615,12615],\"mapped\",[4363]],[[12616,12616],\"mapped\",[4364]],[[12617,12617],\"mapped\",[4365]],[[12618,12618],\"mapped\",[4366]],[[12619,12619],\"mapped\",[4367]],[[12620,12620],\"mapped\",[4368]],[[12621,12621],\"mapped\",[4369]],[[12622,12622],\"mapped\",[4370]],[[12623,12623],\"mapped\",[4449]],[[12624,12624],\"mapped\",[4450]],[[12625,12625],\"mapped\",[4451]],[[12626,12626],\"mapped\",[4452]],[[12627,12627],\"mapped\",[4453]],[[12628,12628],\"mapped\",[4454]],[[12629,12629],\"mapped\",[4455]],[[12630,12630],\"mapped\",[4456]],[[12631,12631],\"mapped\",[4457]],[[12632,12632],\"mapped\",[4458]],[[12633,12633],\"mapped\",[4459]],[[12634,12634],\"mapped\",[4460]],[[12635,12635],\"mapped\",[4461]],[[12636,12636],\"mapped\",[4462]],[[12637,12637],\"mapped\",[4463]],[[12638,12638],\"mapped\",[4464]],[[12639,12639],\"mapped\",[4465]],[[12640,12640],\"mapped\",[4466]],[[12641,12641],\"mapped\",[4467]],[[12642,12642],\"mapped\",[4468]],[[12643,12643],\"mapped\",[4469]],[[12644,12644],\"disallowed\"],[[12645,12645],\"mapped\",[4372]],[[12646,12646],\"mapped\",[4373]],[[12647,12647],\"mapped\",[4551]],[[12648,12648],\"mapped\",[4552]],[[12649,12649],\"mapped\",[4556]],[[12650,12650],\"mapped\",[4558]],[[12651,12651],\"mapped\",[4563]],[[12652,12652],\"mapped\",[4567]],[[12653,12653],\"mapped\",[4569]],[[12654,12654],\"mapped\",[4380]],[[12655,12655],\"mapped\",[4573]],[[12656,12656],\"mapped\",[4575]],[[12657,12657],\"mapped\",[4381]],[[12658,12658],\"mapped\",[4382]],[[12659,12659],\"mapped\",[4384]],[[12660,12660],\"mapped\",[4386]],[[12661,12661],\"mapped\",[4387]],[[12662,12662],\"mapped\",[4391]],[[12663,12663],\"mapped\",[4393]],[[12664,12664],\"mapped\",[4395]],[[12665,12665],\"mapped\",[4396]],[[12666,12666],\"mapped\",[4397]],[[12667,12667],\"mapped\",[4398]],[[12668,12668],\"mapped\",[4399]],[[12669,12669],\"mapped\",[4402]],[[12670,12670],\"mapped\",[4406]],[[12671,12671],\"mapped\",[4416]],[[12672,12672],\"mapped\",[4423]],[[12673,12673],\"mapped\",[4428]],[[12674,12674],\"mapped\",[4593]],[[12675,12675],\"mapped\",[4594]],[[12676,12676],\"mapped\",[4439]],[[12677,12677],\"mapped\",[4440]],[[12678,12678],\"mapped\",[4441]],[[12679,12679],\"mapped\",[4484]],[[12680,12680],\"mapped\",[4485]],[[12681,12681],\"mapped\",[4488]],[[12682,12682],\"mapped\",[4497]],[[12683,12683],\"mapped\",[4498]],[[12684,12684],\"mapped\",[4500]],[[12685,12685],\"mapped\",[4510]],[[12686,12686],\"mapped\",[4513]],[[12687,12687],\"disallowed\"],[[12688,12689],\"valid\",[],\"NV8\"],[[12690,12690],\"mapped\",[19968]],[[12691,12691],\"mapped\",[20108]],[[12692,12692],\"mapped\",[19977]],[[12693,12693],\"mapped\",[22235]],[[12694,12694],\"mapped\",[19978]],[[12695,12695],\"mapped\",[20013]],[[12696,12696],\"mapped\",[19979]],[[12697,12697],\"mapped\",[30002]],[[12698,12698],\"mapped\",[20057]],[[12699,12699],\"mapped\",[19993]],[[12700,12700],\"mapped\",[19969]],[[12701,12701],\"mapped\",[22825]],[[12702,12702],\"mapped\",[22320]],[[12703,12703],\"mapped\",[20154]],[[12704,12727],\"valid\"],[[12728,12730],\"valid\"],[[12731,12735],\"disallowed\"],[[12736,12751],\"valid\",[],\"NV8\"],[[12752,12771],\"valid\",[],\"NV8\"],[[12772,12783],\"disallowed\"],[[12784,12799],\"valid\"],[[12800,12800],\"disallowed_STD3_mapped\",[40,4352,41]],[[12801,12801],\"disallowed_STD3_mapped\",[40,4354,41]],[[12802,12802],\"disallowed_STD3_mapped\",[40,4355,41]],[[12803,12803],\"disallowed_STD3_mapped\",[40,4357,41]],[[12804,12804],\"disallowed_STD3_mapped\",[40,4358,41]],[[12805,12805],\"disallowed_STD3_mapped\",[40,4359,41]],[[12806,12806],\"disallowed_STD3_mapped\",[40,4361,41]],[[12807,12807],\"disallowed_STD3_mapped\",[40,4363,41]],[[12808,12808],\"disallowed_STD3_mapped\",[40,4364,41]],[[12809,12809],\"disallowed_STD3_mapped\",[40,4366,41]],[[12810,12810],\"disallowed_STD3_mapped\",[40,4367,41]],[[12811,12811],\"disallowed_STD3_mapped\",[40,4368,41]],[[12812,12812],\"disallowed_STD3_mapped\",[40,4369,41]],[[12813,12813],\"disallowed_STD3_mapped\",[40,4370,41]],[[12814,12814],\"disallowed_STD3_mapped\",[40,44032,41]],[[12815,12815],\"disallowed_STD3_mapped\",[40,45208,41]],[[12816,12816],\"disallowed_STD3_mapped\",[40,45796,41]],[[12817,12817],\"disallowed_STD3_mapped\",[40,46972,41]],[[12818,12818],\"disallowed_STD3_mapped\",[40,47560,41]],[[12819,12819],\"disallowed_STD3_mapped\",[40,48148,41]],[[12820,12820],\"disallowed_STD3_mapped\",[40,49324,41]],[[12821,12821],\"disallowed_STD3_mapped\",[40,50500,41]],[[12822,12822],\"disallowed_STD3_mapped\",[40,51088,41]],[[12823,12823],\"disallowed_STD3_mapped\",[40,52264,41]],[[12824,12824],\"disallowed_STD3_mapped\",[40,52852,41]],[[12825,12825],\"disallowed_STD3_mapped\",[40,53440,41]],[[12826,12826],\"disallowed_STD3_mapped\",[40,54028,41]],[[12827,12827],\"disallowed_STD3_mapped\",[40,54616,41]],[[12828,12828],\"disallowed_STD3_mapped\",[40,51452,41]],[[12829,12829],\"disallowed_STD3_mapped\",[40,50724,51204,41]],[[12830,12830],\"disallowed_STD3_mapped\",[40,50724,54980,41]],[[12831,12831],\"disallowed\"],[[12832,12832],\"disallowed_STD3_mapped\",[40,19968,41]],[[12833,12833],\"disallowed_STD3_mapped\",[40,20108,41]],[[12834,12834],\"disallowed_STD3_mapped\",[40,19977,41]],[[12835,12835],\"disallowed_STD3_mapped\",[40,22235,41]],[[12836,12836],\"disallowed_STD3_mapped\",[40,20116,41]],[[12837,12837],\"disallowed_STD3_mapped\",[40,20845,41]],[[12838,12838],\"disallowed_STD3_mapped\",[40,19971,41]],[[12839,12839],\"disallowed_STD3_mapped\",[40,20843,41]],[[12840,12840],\"disallowed_STD3_mapped\",[40,20061,41]],[[12841,12841],\"disallowed_STD3_mapped\",[40,21313,41]],[[12842,12842],\"disallowed_STD3_mapped\",[40,26376,41]],[[12843,12843],\"disallowed_STD3_mapped\",[40,28779,41]],[[12844,12844],\"disallowed_STD3_mapped\",[40,27700,41]],[[12845,12845],\"disallowed_STD3_mapped\",[40,26408,41]],[[12846,12846],\"disallowed_STD3_mapped\",[40,37329,41]],[[12847,12847],\"disallowed_STD3_mapped\",[40,22303,41]],[[12848,12848],\"disallowed_STD3_mapped\",[40,26085,41]],[[12849,12849],\"disallowed_STD3_mapped\",[40,26666,41]],[[12850,12850],\"disallowed_STD3_mapped\",[40,26377,41]],[[12851,12851],\"disallowed_STD3_mapped\",[40,31038,41]],[[12852,12852],\"disallowed_STD3_mapped\",[40,21517,41]],[[12853,12853],\"disallowed_STD3_mapped\",[40,29305,41]],[[12854,12854],\"disallowed_STD3_mapped\",[40,36001,41]],[[12855,12855],\"disallowed_STD3_mapped\",[40,31069,41]],[[12856,12856],\"disallowed_STD3_mapped\",[40,21172,41]],[[12857,12857],\"disallowed_STD3_mapped\",[40,20195,41]],[[12858,12858],\"disallowed_STD3_mapped\",[40,21628,41]],[[12859,12859],\"disallowed_STD3_mapped\",[40,23398,41]],[[12860,12860],\"disallowed_STD3_mapped\",[40,30435,41]],[[12861,12861],\"disallowed_STD3_mapped\",[40,20225,41]],[[12862,12862],\"disallowed_STD3_mapped\",[40,36039,41]],[[12863,12863],\"disallowed_STD3_mapped\",[40,21332,41]],[[12864,12864],\"disallowed_STD3_mapped\",[40,31085,41]],[[12865,12865],\"disallowed_STD3_mapped\",[40,20241,41]],[[12866,12866],\"disallowed_STD3_mapped\",[40,33258,41]],[[12867,12867],\"disallowed_STD3_mapped\",[40,33267,41]],[[12868,12868],\"mapped\",[21839]],[[12869,12869],\"mapped\",[24188]],[[12870,12870],\"mapped\",[25991]],[[12871,12871],\"mapped\",[31631]],[[12872,12879],\"valid\",[],\"NV8\"],[[12880,12880],\"mapped\",[112,116,101]],[[12881,12881],\"mapped\",[50,49]],[[12882,12882],\"mapped\",[50,50]],[[12883,12883],\"mapped\",[50,51]],[[12884,12884],\"mapped\",[50,52]],[[12885,12885],\"mapped\",[50,53]],[[12886,12886],\"mapped\",[50,54]],[[12887,12887],\"mapped\",[50,55]],[[12888,12888],\"mapped\",[50,56]],[[12889,12889],\"mapped\",[50,57]],[[12890,12890],\"mapped\",[51,48]],[[12891,12891],\"mapped\",[51,49]],[[12892,12892],\"mapped\",[51,50]],[[12893,12893],\"mapped\",[51,51]],[[12894,12894],\"mapped\",[51,52]],[[12895,12895],\"mapped\",[51,53]],[[12896,12896],\"mapped\",[4352]],[[12897,12897],\"mapped\",[4354]],[[12898,12898],\"mapped\",[4355]],[[12899,12899],\"mapped\",[4357]],[[12900,12900],\"mapped\",[4358]],[[12901,12901],\"mapped\",[4359]],[[12902,12902],\"mapped\",[4361]],[[12903,12903],\"mapped\",[4363]],[[12904,12904],\"mapped\",[4364]],[[12905,12905],\"mapped\",[4366]],[[12906,12906],\"mapped\",[4367]],[[12907,12907],\"mapped\",[4368]],[[12908,12908],\"mapped\",[4369]],[[12909,12909],\"mapped\",[4370]],[[12910,12910],\"mapped\",[44032]],[[12911,12911],\"mapped\",[45208]],[[12912,12912],\"mapped\",[45796]],[[12913,12913],\"mapped\",[46972]],[[12914,12914],\"mapped\",[47560]],[[12915,12915],\"mapped\",[48148]],[[12916,12916],\"mapped\",[49324]],[[12917,12917],\"mapped\",[50500]],[[12918,12918],\"mapped\",[51088]],[[12919,12919],\"mapped\",[52264]],[[12920,12920],\"mapped\",[52852]],[[12921,12921],\"mapped\",[53440]],[[12922,12922],\"mapped\",[54028]],[[12923,12923],\"mapped\",[54616]],[[12924,12924],\"mapped\",[52280,44256]],[[12925,12925],\"mapped\",[51452,51032]],[[12926,12926],\"mapped\",[50864]],[[12927,12927],\"valid\",[],\"NV8\"],[[12928,12928],\"mapped\",[19968]],[[12929,12929],\"mapped\",[20108]],[[12930,12930],\"mapped\",[19977]],[[12931,12931],\"mapped\",[22235]],[[12932,12932],\"mapped\",[20116]],[[12933,12933],\"mapped\",[20845]],[[12934,12934],\"mapped\",[19971]],[[12935,12935],\"mapped\",[20843]],[[12936,12936],\"mapped\",[20061]],[[12937,12937],\"mapped\",[21313]],[[12938,12938],\"mapped\",[26376]],[[12939,12939],\"mapped\",[28779]],[[12940,12940],\"mapped\",[27700]],[[12941,12941],\"mapped\",[26408]],[[12942,12942],\"mapped\",[37329]],[[12943,12943],\"mapped\",[22303]],[[12944,12944],\"mapped\",[26085]],[[12945,12945],\"mapped\",[26666]],[[12946,12946],\"mapped\",[26377]],[[12947,12947],\"mapped\",[31038]],[[12948,12948],\"mapped\",[21517]],[[12949,12949],\"mapped\",[29305]],[[12950,12950],\"mapped\",[36001]],[[12951,12951],\"mapped\",[31069]],[[12952,12952],\"mapped\",[21172]],[[12953,12953],\"mapped\",[31192]],[[12954,12954],\"mapped\",[30007]],[[12955,12955],\"mapped\",[22899]],[[12956,12956],\"mapped\",[36969]],[[12957,12957],\"mapped\",[20778]],[[12958,12958],\"mapped\",[21360]],[[12959,12959],\"mapped\",[27880]],[[12960,12960],\"mapped\",[38917]],[[12961,12961],\"mapped\",[20241]],[[12962,12962],\"mapped\",[20889]],[[12963,12963],\"mapped\",[27491]],[[12964,12964],\"mapped\",[19978]],[[12965,12965],\"mapped\",[20013]],[[12966,12966],\"mapped\",[19979]],[[12967,12967],\"mapped\",[24038]],[[12968,12968],\"mapped\",[21491]],[[12969,12969],\"mapped\",[21307]],[[12970,12970],\"mapped\",[23447]],[[12971,12971],\"mapped\",[23398]],[[12972,12972],\"mapped\",[30435]],[[12973,12973],\"mapped\",[20225]],[[12974,12974],\"mapped\",[36039]],[[12975,12975],\"mapped\",[21332]],[[12976,12976],\"mapped\",[22812]],[[12977,12977],\"mapped\",[51,54]],[[12978,12978],\"mapped\",[51,55]],[[12979,12979],\"mapped\",[51,56]],[[12980,12980],\"mapped\",[51,57]],[[12981,12981],\"mapped\",[52,48]],[[12982,12982],\"mapped\",[52,49]],[[12983,12983],\"mapped\",[52,50]],[[12984,12984],\"mapped\",[52,51]],[[12985,12985],\"mapped\",[52,52]],[[12986,12986],\"mapped\",[52,53]],[[12987,12987],\"mapped\",[52,54]],[[12988,12988],\"mapped\",[52,55]],[[12989,12989],\"mapped\",[52,56]],[[12990,12990],\"mapped\",[52,57]],[[12991,12991],\"mapped\",[53,48]],[[12992,12992],\"mapped\",[49,26376]],[[12993,12993],\"mapped\",[50,26376]],[[12994,12994],\"mapped\",[51,26376]],[[12995,12995],\"mapped\",[52,26376]],[[12996,12996],\"mapped\",[53,26376]],[[12997,12997],\"mapped\",[54,26376]],[[12998,12998],\"mapped\",[55,26376]],[[12999,12999],\"mapped\",[56,26376]],[[13000,13000],\"mapped\",[57,26376]],[[13001,13001],\"mapped\",[49,48,26376]],[[13002,13002],\"mapped\",[49,49,26376]],[[13003,13003],\"mapped\",[49,50,26376]],[[13004,13004],\"mapped\",[104,103]],[[13005,13005],\"mapped\",[101,114,103]],[[13006,13006],\"mapped\",[101,118]],[[13007,13007],\"mapped\",[108,116,100]],[[13008,13008],\"mapped\",[12450]],[[13009,13009],\"mapped\",[12452]],[[13010,13010],\"mapped\",[12454]],[[13011,13011],\"mapped\",[12456]],[[13012,13012],\"mapped\",[12458]],[[13013,13013],\"mapped\",[12459]],[[13014,13014],\"mapped\",[12461]],[[13015,13015],\"mapped\",[12463]],[[13016,13016],\"mapped\",[12465]],[[13017,13017],\"mapped\",[12467]],[[13018,13018],\"mapped\",[12469]],[[13019,13019],\"mapped\",[12471]],[[13020,13020],\"mapped\",[12473]],[[13021,13021],\"mapped\",[12475]],[[13022,13022],\"mapped\",[12477]],[[13023,13023],\"mapped\",[12479]],[[13024,13024],\"mapped\",[12481]],[[13025,13025],\"mapped\",[12484]],[[13026,13026],\"mapped\",[12486]],[[13027,13027],\"mapped\",[12488]],[[13028,13028],\"mapped\",[12490]],[[13029,13029],\"mapped\",[12491]],[[13030,13030],\"mapped\",[12492]],[[13031,13031],\"mapped\",[12493]],[[13032,13032],\"mapped\",[12494]],[[13033,13033],\"mapped\",[12495]],[[13034,13034],\"mapped\",[12498]],[[13035,13035],\"mapped\",[12501]],[[13036,13036],\"mapped\",[12504]],[[13037,13037],\"mapped\",[12507]],[[13038,13038],\"mapped\",[12510]],[[13039,13039],\"mapped\",[12511]],[[13040,13040],\"mapped\",[12512]],[[13041,13041],\"mapped\",[12513]],[[13042,13042],\"mapped\",[12514]],[[13043,13043],\"mapped\",[12516]],[[13044,13044],\"mapped\",[12518]],[[13045,13045],\"mapped\",[12520]],[[13046,13046],\"mapped\",[12521]],[[13047,13047],\"mapped\",[12522]],[[13048,13048],\"mapped\",[12523]],[[13049,13049],\"mapped\",[12524]],[[13050,13050],\"mapped\",[12525]],[[13051,13051],\"mapped\",[12527]],[[13052,13052],\"mapped\",[12528]],[[13053,13053],\"mapped\",[12529]],[[13054,13054],\"mapped\",[12530]],[[13055,13055],\"disallowed\"],[[13056,13056],\"mapped\",[12450,12497,12540,12488]],[[13057,13057],\"mapped\",[12450,12523,12501,12449]],[[13058,13058],\"mapped\",[12450,12531,12506,12450]],[[13059,13059],\"mapped\",[12450,12540,12523]],[[13060,13060],\"mapped\",[12452,12491,12531,12464]],[[13061,13061],\"mapped\",[12452,12531,12481]],[[13062,13062],\"mapped\",[12454,12457,12531]],[[13063,13063],\"mapped\",[12456,12473,12463,12540,12489]],[[13064,13064],\"mapped\",[12456,12540,12459,12540]],[[13065,13065],\"mapped\",[12458,12531,12473]],[[13066,13066],\"mapped\",[12458,12540,12512]],[[13067,13067],\"mapped\",[12459,12452,12522]],[[13068,13068],\"mapped\",[12459,12521,12483,12488]],[[13069,13069],\"mapped\",[12459,12525,12522,12540]],[[13070,13070],\"mapped\",[12460,12525,12531]],[[13071,13071],\"mapped\",[12460,12531,12510]],[[13072,13072],\"mapped\",[12462,12460]],[[13073,13073],\"mapped\",[12462,12491,12540]],[[13074,13074],\"mapped\",[12461,12517,12522,12540]],[[13075,13075],\"mapped\",[12462,12523,12480,12540]],[[13076,13076],\"mapped\",[12461,12525]],[[13077,13077],\"mapped\",[12461,12525,12464,12521,12512]],[[13078,13078],\"mapped\",[12461,12525,12513,12540,12488,12523]],[[13079,13079],\"mapped\",[12461,12525,12527,12483,12488]],[[13080,13080],\"mapped\",[12464,12521,12512]],[[13081,13081],\"mapped\",[12464,12521,12512,12488,12531]],[[13082,13082],\"mapped\",[12463,12523,12476,12452,12525]],[[13083,13083],\"mapped\",[12463,12525,12540,12493]],[[13084,13084],\"mapped\",[12465,12540,12473]],[[13085,13085],\"mapped\",[12467,12523,12490]],[[13086,13086],\"mapped\",[12467,12540,12509]],[[13087,13087],\"mapped\",[12469,12452,12463,12523]],[[13088,13088],\"mapped\",[12469,12531,12481,12540,12512]],[[13089,13089],\"mapped\",[12471,12522,12531,12464]],[[13090,13090],\"mapped\",[12475,12531,12481]],[[13091,13091],\"mapped\",[12475,12531,12488]],[[13092,13092],\"mapped\",[12480,12540,12473]],[[13093,13093],\"mapped\",[12487,12471]],[[13094,13094],\"mapped\",[12489,12523]],[[13095,13095],\"mapped\",[12488,12531]],[[13096,13096],\"mapped\",[12490,12494]],[[13097,13097],\"mapped\",[12494,12483,12488]],[[13098,13098],\"mapped\",[12495,12452,12484]],[[13099,13099],\"mapped\",[12497,12540,12475,12531,12488]],[[13100,13100],\"mapped\",[12497,12540,12484]],[[13101,13101],\"mapped\",[12496,12540,12524,12523]],[[13102,13102],\"mapped\",[12500,12450,12473,12488,12523]],[[13103,13103],\"mapped\",[12500,12463,12523]],[[13104,13104],\"mapped\",[12500,12467]],[[13105,13105],\"mapped\",[12499,12523]],[[13106,13106],\"mapped\",[12501,12449,12521,12483,12489]],[[13107,13107],\"mapped\",[12501,12451,12540,12488]],[[13108,13108],\"mapped\",[12502,12483,12471,12455,12523]],[[13109,13109],\"mapped\",[12501,12521,12531]],[[13110,13110],\"mapped\",[12504,12463,12479,12540,12523]],[[13111,13111],\"mapped\",[12506,12477]],[[13112,13112],\"mapped\",[12506,12491,12498]],[[13113,13113],\"mapped\",[12504,12523,12484]],[[13114,13114],\"mapped\",[12506,12531,12473]],[[13115,13115],\"mapped\",[12506,12540,12472]],[[13116,13116],\"mapped\",[12505,12540,12479]],[[13117,13117],\"mapped\",[12509,12452,12531,12488]],[[13118,13118],\"mapped\",[12508,12523,12488]],[[13119,13119],\"mapped\",[12507,12531]],[[13120,13120],\"mapped\",[12509,12531,12489]],[[13121,13121],\"mapped\",[12507,12540,12523]],[[13122,13122],\"mapped\",[12507,12540,12531]],[[13123,13123],\"mapped\",[12510,12452,12463,12525]],[[13124,13124],\"mapped\",[12510,12452,12523]],[[13125,13125],\"mapped\",[12510,12483,12495]],[[13126,13126],\"mapped\",[12510,12523,12463]],[[13127,13127],\"mapped\",[12510,12531,12471,12519,12531]],[[13128,13128],\"mapped\",[12511,12463,12525,12531]],[[13129,13129],\"mapped\",[12511,12522]],[[13130,13130],\"mapped\",[12511,12522,12496,12540,12523]],[[13131,13131],\"mapped\",[12513,12460]],[[13132,13132],\"mapped\",[12513,12460,12488,12531]],[[13133,13133],\"mapped\",[12513,12540,12488,12523]],[[13134,13134],\"mapped\",[12516,12540,12489]],[[13135,13135],\"mapped\",[12516,12540,12523]],[[13136,13136],\"mapped\",[12518,12450,12531]],[[13137,13137],\"mapped\",[12522,12483,12488,12523]],[[13138,13138],\"mapped\",[12522,12521]],[[13139,13139],\"mapped\",[12523,12500,12540]],[[13140,13140],\"mapped\",[12523,12540,12502,12523]],[[13141,13141],\"mapped\",[12524,12512]],[[13142,13142],\"mapped\",[12524,12531,12488,12466,12531]],[[13143,13143],\"mapped\",[12527,12483,12488]],[[13144,13144],\"mapped\",[48,28857]],[[13145,13145],\"mapped\",[49,28857]],[[13146,13146],\"mapped\",[50,28857]],[[13147,13147],\"mapped\",[51,28857]],[[13148,13148],\"mapped\",[52,28857]],[[13149,13149],\"mapped\",[53,28857]],[[13150,13150],\"mapped\",[54,28857]],[[13151,13151],\"mapped\",[55,28857]],[[13152,13152],\"mapped\",[56,28857]],[[13153,13153],\"mapped\",[57,28857]],[[13154,13154],\"mapped\",[49,48,28857]],[[13155,13155],\"mapped\",[49,49,28857]],[[13156,13156],\"mapped\",[49,50,28857]],[[13157,13157],\"mapped\",[49,51,28857]],[[13158,13158],\"mapped\",[49,52,28857]],[[13159,13159],\"mapped\",[49,53,28857]],[[13160,13160],\"mapped\",[49,54,28857]],[[13161,13161],\"mapped\",[49,55,28857]],[[13162,13162],\"mapped\",[49,56,28857]],[[13163,13163],\"mapped\",[49,57,28857]],[[13164,13164],\"mapped\",[50,48,28857]],[[13165,13165],\"mapped\",[50,49,28857]],[[13166,13166],\"mapped\",[50,50,28857]],[[13167,13167],\"mapped\",[50,51,28857]],[[13168,13168],\"mapped\",[50,52,28857]],[[13169,13169],\"mapped\",[104,112,97]],[[13170,13170],\"mapped\",[100,97]],[[13171,13171],\"mapped\",[97,117]],[[13172,13172],\"mapped\",[98,97,114]],[[13173,13173],\"mapped\",[111,118]],[[13174,13174],\"mapped\",[112,99]],[[13175,13175],\"mapped\",[100,109]],[[13176,13176],\"mapped\",[100,109,50]],[[13177,13177],\"mapped\",[100,109,51]],[[13178,13178],\"mapped\",[105,117]],[[13179,13179],\"mapped\",[24179,25104]],[[13180,13180],\"mapped\",[26157,21644]],[[13181,13181],\"mapped\",[22823,27491]],[[13182,13182],\"mapped\",[26126,27835]],[[13183,13183],\"mapped\",[26666,24335,20250,31038]],[[13184,13184],\"mapped\",[112,97]],[[13185,13185],\"mapped\",[110,97]],[[13186,13186],\"mapped\",[956,97]],[[13187,13187],\"mapped\",[109,97]],[[13188,13188],\"mapped\",[107,97]],[[13189,13189],\"mapped\",[107,98]],[[13190,13190],\"mapped\",[109,98]],[[13191,13191],\"mapped\",[103,98]],[[13192,13192],\"mapped\",[99,97,108]],[[13193,13193],\"mapped\",[107,99,97,108]],[[13194,13194],\"mapped\",[112,102]],[[13195,13195],\"mapped\",[110,102]],[[13196,13196],\"mapped\",[956,102]],[[13197,13197],\"mapped\",[956,103]],[[13198,13198],\"mapped\",[109,103]],[[13199,13199],\"mapped\",[107,103]],[[13200,13200],\"mapped\",[104,122]],[[13201,13201],\"mapped\",[107,104,122]],[[13202,13202],\"mapped\",[109,104,122]],[[13203,13203],\"mapped\",[103,104,122]],[[13204,13204],\"mapped\",[116,104,122]],[[13205,13205],\"mapped\",[956,108]],[[13206,13206],\"mapped\",[109,108]],[[13207,13207],\"mapped\",[100,108]],[[13208,13208],\"mapped\",[107,108]],[[13209,13209],\"mapped\",[102,109]],[[13210,13210],\"mapped\",[110,109]],[[13211,13211],\"mapped\",[956,109]],[[13212,13212],\"mapped\",[109,109]],[[13213,13213],\"mapped\",[99,109]],[[13214,13214],\"mapped\",[107,109]],[[13215,13215],\"mapped\",[109,109,50]],[[13216,13216],\"mapped\",[99,109,50]],[[13217,13217],\"mapped\",[109,50]],[[13218,13218],\"mapped\",[107,109,50]],[[13219,13219],\"mapped\",[109,109,51]],[[13220,13220],\"mapped\",[99,109,51]],[[13221,13221],\"mapped\",[109,51]],[[13222,13222],\"mapped\",[107,109,51]],[[13223,13223],\"mapped\",[109,8725,115]],[[13224,13224],\"mapped\",[109,8725,115,50]],[[13225,13225],\"mapped\",[112,97]],[[13226,13226],\"mapped\",[107,112,97]],[[13227,13227],\"mapped\",[109,112,97]],[[13228,13228],\"mapped\",[103,112,97]],[[13229,13229],\"mapped\",[114,97,100]],[[13230,13230],\"mapped\",[114,97,100,8725,115]],[[13231,13231],\"mapped\",[114,97,100,8725,115,50]],[[13232,13232],\"mapped\",[112,115]],[[13233,13233],\"mapped\",[110,115]],[[13234,13234],\"mapped\",[956,115]],[[13235,13235],\"mapped\",[109,115]],[[13236,13236],\"mapped\",[112,118]],[[13237,13237],\"mapped\",[110,118]],[[13238,13238],\"mapped\",[956,118]],[[13239,13239],\"mapped\",[109,118]],[[13240,13240],\"mapped\",[107,118]],[[13241,13241],\"mapped\",[109,118]],[[13242,13242],\"mapped\",[112,119]],[[13243,13243],\"mapped\",[110,119]],[[13244,13244],\"mapped\",[956,119]],[[13245,13245],\"mapped\",[109,119]],[[13246,13246],\"mapped\",[107,119]],[[13247,13247],\"mapped\",[109,119]],[[13248,13248],\"mapped\",[107,969]],[[13249,13249],\"mapped\",[109,969]],[[13250,13250],\"disallowed\"],[[13251,13251],\"mapped\",[98,113]],[[13252,13252],\"mapped\",[99,99]],[[13253,13253],\"mapped\",[99,100]],[[13254,13254],\"mapped\",[99,8725,107,103]],[[13255,13255],\"disallowed\"],[[13256,13256],\"mapped\",[100,98]],[[13257,13257],\"mapped\",[103,121]],[[13258,13258],\"mapped\",[104,97]],[[13259,13259],\"mapped\",[104,112]],[[13260,13260],\"mapped\",[105,110]],[[13261,13261],\"mapped\",[107,107]],[[13262,13262],\"mapped\",[107,109]],[[13263,13263],\"mapped\",[107,116]],[[13264,13264],\"mapped\",[108,109]],[[13265,13265],\"mapped\",[108,110]],[[13266,13266],\"mapped\",[108,111,103]],[[13267,13267],\"mapped\",[108,120]],[[13268,13268],\"mapped\",[109,98]],[[13269,13269],\"mapped\",[109,105,108]],[[13270,13270],\"mapped\",[109,111,108]],[[13271,13271],\"mapped\",[112,104]],[[13272,13272],\"disallowed\"],[[13273,13273],\"mapped\",[112,112,109]],[[13274,13274],\"mapped\",[112,114]],[[13275,13275],\"mapped\",[115,114]],[[13276,13276],\"mapped\",[115,118]],[[13277,13277],\"mapped\",[119,98]],[[13278,13278],\"mapped\",[118,8725,109]],[[13279,13279],\"mapped\",[97,8725,109]],[[13280,13280],\"mapped\",[49,26085]],[[13281,13281],\"mapped\",[50,26085]],[[13282,13282],\"mapped\",[51,26085]],[[13283,13283],\"mapped\",[52,26085]],[[13284,13284],\"mapped\",[53,26085]],[[13285,13285],\"mapped\",[54,26085]],[[13286,13286],\"mapped\",[55,26085]],[[13287,13287],\"mapped\",[56,26085]],[[13288,13288],\"mapped\",[57,26085]],[[13289,13289],\"mapped\",[49,48,26085]],[[13290,13290],\"mapped\",[49,49,26085]],[[13291,13291],\"mapped\",[49,50,26085]],[[13292,13292],\"mapped\",[49,51,26085]],[[13293,13293],\"mapped\",[49,52,26085]],[[13294,13294],\"mapped\",[49,53,26085]],[[13295,13295],\"mapped\",[49,54,26085]],[[13296,13296],\"mapped\",[49,55,26085]],[[13297,13297],\"mapped\",[49,56,26085]],[[13298,13298],\"mapped\",[49,57,26085]],[[13299,13299],\"mapped\",[50,48,26085]],[[13300,13300],\"mapped\",[50,49,26085]],[[13301,13301],\"mapped\",[50,50,26085]],[[13302,13302],\"mapped\",[50,51,26085]],[[13303,13303],\"mapped\",[50,52,26085]],[[13304,13304],\"mapped\",[50,53,26085]],[[13305,13305],\"mapped\",[50,54,26085]],[[13306,13306],\"mapped\",[50,55,26085]],[[13307,13307],\"mapped\",[50,56,26085]],[[13308,13308],\"mapped\",[50,57,26085]],[[13309,13309],\"mapped\",[51,48,26085]],[[13310,13310],\"mapped\",[51,49,26085]],[[13311,13311],\"mapped\",[103,97,108]],[[13312,19893],\"valid\"],[[19894,19903],\"disallowed\"],[[19904,19967],\"valid\",[],\"NV8\"],[[19968,40869],\"valid\"],[[40870,40891],\"valid\"],[[40892,40899],\"valid\"],[[40900,40907],\"valid\"],[[40908,40908],\"valid\"],[[40909,40917],\"valid\"],[[40918,40959],\"disallowed\"],[[40960,42124],\"valid\"],[[42125,42127],\"disallowed\"],[[42128,42145],\"valid\",[],\"NV8\"],[[42146,42147],\"valid\",[],\"NV8\"],[[42148,42163],\"valid\",[],\"NV8\"],[[42164,42164],\"valid\",[],\"NV8\"],[[42165,42176],\"valid\",[],\"NV8\"],[[42177,42177],\"valid\",[],\"NV8\"],[[42178,42180],\"valid\",[],\"NV8\"],[[42181,42181],\"valid\",[],\"NV8\"],[[42182,42182],\"valid\",[],\"NV8\"],[[42183,42191],\"disallowed\"],[[42192,42237],\"valid\"],[[42238,42239],\"valid\",[],\"NV8\"],[[42240,42508],\"valid\"],[[42509,42511],\"valid\",[],\"NV8\"],[[42512,42539],\"valid\"],[[42540,42559],\"disallowed\"],[[42560,42560],\"mapped\",[42561]],[[42561,42561],\"valid\"],[[42562,42562],\"mapped\",[42563]],[[42563,42563],\"valid\"],[[42564,42564],\"mapped\",[42565]],[[42565,42565],\"valid\"],[[42566,42566],\"mapped\",[42567]],[[42567,42567],\"valid\"],[[42568,42568],\"mapped\",[42569]],[[42569,42569],\"valid\"],[[42570,42570],\"mapped\",[42571]],[[42571,42571],\"valid\"],[[42572,42572],\"mapped\",[42573]],[[42573,42573],\"valid\"],[[42574,42574],\"mapped\",[42575]],[[42575,42575],\"valid\"],[[42576,42576],\"mapped\",[42577]],[[42577,42577],\"valid\"],[[42578,42578],\"mapped\",[42579]],[[42579,42579],\"valid\"],[[42580,42580],\"mapped\",[42581]],[[42581,42581],\"valid\"],[[42582,42582],\"mapped\",[42583]],[[42583,42583],\"valid\"],[[42584,42584],\"mapped\",[42585]],[[42585,42585],\"valid\"],[[42586,42586],\"mapped\",[42587]],[[42587,42587],\"valid\"],[[42588,42588],\"mapped\",[42589]],[[42589,42589],\"valid\"],[[42590,42590],\"mapped\",[42591]],[[42591,42591],\"valid\"],[[42592,42592],\"mapped\",[42593]],[[42593,42593],\"valid\"],[[42594,42594],\"mapped\",[42595]],[[42595,42595],\"valid\"],[[42596,42596],\"mapped\",[42597]],[[42597,42597],\"valid\"],[[42598,42598],\"mapped\",[42599]],[[42599,42599],\"valid\"],[[42600,42600],\"mapped\",[42601]],[[42601,42601],\"valid\"],[[42602,42602],\"mapped\",[42603]],[[42603,42603],\"valid\"],[[42604,42604],\"mapped\",[42605]],[[42605,42607],\"valid\"],[[42608,42611],\"valid\",[],\"NV8\"],[[42612,42619],\"valid\"],[[42620,42621],\"valid\"],[[42622,42622],\"valid\",[],\"NV8\"],[[42623,42623],\"valid\"],[[42624,42624],\"mapped\",[42625]],[[42625,42625],\"valid\"],[[42626,42626],\"mapped\",[42627]],[[42627,42627],\"valid\"],[[42628,42628],\"mapped\",[42629]],[[42629,42629],\"valid\"],[[42630,42630],\"mapped\",[42631]],[[42631,42631],\"valid\"],[[42632,42632],\"mapped\",[42633]],[[42633,42633],\"valid\"],[[42634,42634],\"mapped\",[42635]],[[42635,42635],\"valid\"],[[42636,42636],\"mapped\",[42637]],[[42637,42637],\"valid\"],[[42638,42638],\"mapped\",[42639]],[[42639,42639],\"valid\"],[[42640,42640],\"mapped\",[42641]],[[42641,42641],\"valid\"],[[42642,42642],\"mapped\",[42643]],[[42643,42643],\"valid\"],[[42644,42644],\"mapped\",[42645]],[[42645,42645],\"valid\"],[[42646,42646],\"mapped\",[42647]],[[42647,42647],\"valid\"],[[42648,42648],\"mapped\",[42649]],[[42649,42649],\"valid\"],[[42650,42650],\"mapped\",[42651]],[[42651,42651],\"valid\"],[[42652,42652],\"mapped\",[1098]],[[42653,42653],\"mapped\",[1100]],[[42654,42654],\"valid\"],[[42655,42655],\"valid\"],[[42656,42725],\"valid\"],[[42726,42735],\"valid\",[],\"NV8\"],[[42736,42737],\"valid\"],[[42738,42743],\"valid\",[],\"NV8\"],[[42744,42751],\"disallowed\"],[[42752,42774],\"valid\",[],\"NV8\"],[[42775,42778],\"valid\"],[[42779,42783],\"valid\"],[[42784,42785],\"valid\",[],\"NV8\"],[[42786,42786],\"mapped\",[42787]],[[42787,42787],\"valid\"],[[42788,42788],\"mapped\",[42789]],[[42789,42789],\"valid\"],[[42790,42790],\"mapped\",[42791]],[[42791,42791],\"valid\"],[[42792,42792],\"mapped\",[42793]],[[42793,42793],\"valid\"],[[42794,42794],\"mapped\",[42795]],[[42795,42795],\"valid\"],[[42796,42796],\"mapped\",[42797]],[[42797,42797],\"valid\"],[[42798,42798],\"mapped\",[42799]],[[42799,42801],\"valid\"],[[42802,42802],\"mapped\",[42803]],[[42803,42803],\"valid\"],[[42804,42804],\"mapped\",[42805]],[[42805,42805],\"valid\"],[[42806,42806],\"mapped\",[42807]],[[42807,42807],\"valid\"],[[42808,42808],\"mapped\",[42809]],[[42809,42809],\"valid\"],[[42810,42810],\"mapped\",[42811]],[[42811,42811],\"valid\"],[[42812,42812],\"mapped\",[42813]],[[42813,42813],\"valid\"],[[42814,42814],\"mapped\",[42815]],[[42815,42815],\"valid\"],[[42816,42816],\"mapped\",[42817]],[[42817,42817],\"valid\"],[[42818,42818],\"mapped\",[42819]],[[42819,42819],\"valid\"],[[42820,42820],\"mapped\",[42821]],[[42821,42821],\"valid\"],[[42822,42822],\"mapped\",[42823]],[[42823,42823],\"valid\"],[[42824,42824],\"mapped\",[42825]],[[42825,42825],\"valid\"],[[42826,42826],\"mapped\",[42827]],[[42827,42827],\"valid\"],[[42828,42828],\"mapped\",[42829]],[[42829,42829],\"valid\"],[[42830,42830],\"mapped\",[42831]],[[42831,42831],\"valid\"],[[42832,42832],\"mapped\",[42833]],[[42833,42833],\"valid\"],[[42834,42834],\"mapped\",[42835]],[[42835,42835],\"valid\"],[[42836,42836],\"mapped\",[42837]],[[42837,42837],\"valid\"],[[42838,42838],\"mapped\",[42839]],[[42839,42839],\"valid\"],[[42840,42840],\"mapped\",[42841]],[[42841,42841],\"valid\"],[[42842,42842],\"mapped\",[42843]],[[42843,42843],\"valid\"],[[42844,42844],\"mapped\",[42845]],[[42845,42845],\"valid\"],[[42846,42846],\"mapped\",[42847]],[[42847,42847],\"valid\"],[[42848,42848],\"mapped\",[42849]],[[42849,42849],\"valid\"],[[42850,42850],\"mapped\",[42851]],[[42851,42851],\"valid\"],[[42852,42852],\"mapped\",[42853]],[[42853,42853],\"valid\"],[[42854,42854],\"mapped\",[42855]],[[42855,42855],\"valid\"],[[42856,42856],\"mapped\",[42857]],[[42857,42857],\"valid\"],[[42858,42858],\"mapped\",[42859]],[[42859,42859],\"valid\"],[[42860,42860],\"mapped\",[42861]],[[42861,42861],\"valid\"],[[42862,42862],\"mapped\",[42863]],[[42863,42863],\"valid\"],[[42864,42864],\"mapped\",[42863]],[[42865,42872],\"valid\"],[[42873,42873],\"mapped\",[42874]],[[42874,42874],\"valid\"],[[42875,42875],\"mapped\",[42876]],[[42876,42876],\"valid\"],[[42877,42877],\"mapped\",[7545]],[[42878,42878],\"mapped\",[42879]],[[42879,42879],\"valid\"],[[42880,42880],\"mapped\",[42881]],[[42881,42881],\"valid\"],[[42882,42882],\"mapped\",[42883]],[[42883,42883],\"valid\"],[[42884,42884],\"mapped\",[42885]],[[42885,42885],\"valid\"],[[42886,42886],\"mapped\",[42887]],[[42887,42888],\"valid\"],[[42889,42890],\"valid\",[],\"NV8\"],[[42891,42891],\"mapped\",[42892]],[[42892,42892],\"valid\"],[[42893,42893],\"mapped\",[613]],[[42894,42894],\"valid\"],[[42895,42895],\"valid\"],[[42896,42896],\"mapped\",[42897]],[[42897,42897],\"valid\"],[[42898,42898],\"mapped\",[42899]],[[42899,42899],\"valid\"],[[42900,42901],\"valid\"],[[42902,42902],\"mapped\",[42903]],[[42903,42903],\"valid\"],[[42904,42904],\"mapped\",[42905]],[[42905,42905],\"valid\"],[[42906,42906],\"mapped\",[42907]],[[42907,42907],\"valid\"],[[42908,42908],\"mapped\",[42909]],[[42909,42909],\"valid\"],[[42910,42910],\"mapped\",[42911]],[[42911,42911],\"valid\"],[[42912,42912],\"mapped\",[42913]],[[42913,42913],\"valid\"],[[42914,42914],\"mapped\",[42915]],[[42915,42915],\"valid\"],[[42916,42916],\"mapped\",[42917]],[[42917,42917],\"valid\"],[[42918,42918],\"mapped\",[42919]],[[42919,42919],\"valid\"],[[42920,42920],\"mapped\",[42921]],[[42921,42921],\"valid\"],[[42922,42922],\"mapped\",[614]],[[42923,42923],\"mapped\",[604]],[[42924,42924],\"mapped\",[609]],[[42925,42925],\"mapped\",[620]],[[42926,42927],\"disallowed\"],[[42928,42928],\"mapped\",[670]],[[42929,42929],\"mapped\",[647]],[[42930,42930],\"mapped\",[669]],[[42931,42931],\"mapped\",[43859]],[[42932,42932],\"mapped\",[42933]],[[42933,42933],\"valid\"],[[42934,42934],\"mapped\",[42935]],[[42935,42935],\"valid\"],[[42936,42998],\"disallowed\"],[[42999,42999],\"valid\"],[[43000,43000],\"mapped\",[295]],[[43001,43001],\"mapped\",[339]],[[43002,43002],\"valid\"],[[43003,43007],\"valid\"],[[43008,43047],\"valid\"],[[43048,43051],\"valid\",[],\"NV8\"],[[43052,43055],\"disallowed\"],[[43056,43065],\"valid\",[],\"NV8\"],[[43066,43071],\"disallowed\"],[[43072,43123],\"valid\"],[[43124,43127],\"valid\",[],\"NV8\"],[[43128,43135],\"disallowed\"],[[43136,43204],\"valid\"],[[43205,43213],\"disallowed\"],[[43214,43215],\"valid\",[],\"NV8\"],[[43216,43225],\"valid\"],[[43226,43231],\"disallowed\"],[[43232,43255],\"valid\"],[[43256,43258],\"valid\",[],\"NV8\"],[[43259,43259],\"valid\"],[[43260,43260],\"valid\",[],\"NV8\"],[[43261,43261],\"valid\"],[[43262,43263],\"disallowed\"],[[43264,43309],\"valid\"],[[43310,43311],\"valid\",[],\"NV8\"],[[43312,43347],\"valid\"],[[43348,43358],\"disallowed\"],[[43359,43359],\"valid\",[],\"NV8\"],[[43360,43388],\"valid\",[],\"NV8\"],[[43389,43391],\"disallowed\"],[[43392,43456],\"valid\"],[[43457,43469],\"valid\",[],\"NV8\"],[[43470,43470],\"disallowed\"],[[43471,43481],\"valid\"],[[43482,43485],\"disallowed\"],[[43486,43487],\"valid\",[],\"NV8\"],[[43488,43518],\"valid\"],[[43519,43519],\"disallowed\"],[[43520,43574],\"valid\"],[[43575,43583],\"disallowed\"],[[43584,43597],\"valid\"],[[43598,43599],\"disallowed\"],[[43600,43609],\"valid\"],[[43610,43611],\"disallowed\"],[[43612,43615],\"valid\",[],\"NV8\"],[[43616,43638],\"valid\"],[[43639,43641],\"valid\",[],\"NV8\"],[[43642,43643],\"valid\"],[[43644,43647],\"valid\"],[[43648,43714],\"valid\"],[[43715,43738],\"disallowed\"],[[43739,43741],\"valid\"],[[43742,43743],\"valid\",[],\"NV8\"],[[43744,43759],\"valid\"],[[43760,43761],\"valid\",[],\"NV8\"],[[43762,43766],\"valid\"],[[43767,43776],\"disallowed\"],[[43777,43782],\"valid\"],[[43783,43784],\"disallowed\"],[[43785,43790],\"valid\"],[[43791,43792],\"disallowed\"],[[43793,43798],\"valid\"],[[43799,43807],\"disallowed\"],[[43808,43814],\"valid\"],[[43815,43815],\"disallowed\"],[[43816,43822],\"valid\"],[[43823,43823],\"disallowed\"],[[43824,43866],\"valid\"],[[43867,43867],\"valid\",[],\"NV8\"],[[43868,43868],\"mapped\",[42791]],[[43869,43869],\"mapped\",[43831]],[[43870,43870],\"mapped\",[619]],[[43871,43871],\"mapped\",[43858]],[[43872,43875],\"valid\"],[[43876,43877],\"valid\"],[[43878,43887],\"disallowed\"],[[43888,43888],\"mapped\",[5024]],[[43889,43889],\"mapped\",[5025]],[[43890,43890],\"mapped\",[5026]],[[43891,43891],\"mapped\",[5027]],[[43892,43892],\"mapped\",[5028]],[[43893,43893],\"mapped\",[5029]],[[43894,43894],\"mapped\",[5030]],[[43895,43895],\"mapped\",[5031]],[[43896,43896],\"mapped\",[5032]],[[43897,43897],\"mapped\",[5033]],[[43898,43898],\"mapped\",[5034]],[[43899,43899],\"mapped\",[5035]],[[43900,43900],\"mapped\",[5036]],[[43901,43901],\"mapped\",[5037]],[[43902,43902],\"mapped\",[5038]],[[43903,43903],\"mapped\",[5039]],[[43904,43904],\"mapped\",[5040]],[[43905,43905],\"mapped\",[5041]],[[43906,43906],\"mapped\",[5042]],[[43907,43907],\"mapped\",[5043]],[[43908,43908],\"mapped\",[5044]],[[43909,43909],\"mapped\",[5045]],[[43910,43910],\"mapped\",[5046]],[[43911,43911],\"mapped\",[5047]],[[43912,43912],\"mapped\",[5048]],[[43913,43913],\"mapped\",[5049]],[[43914,43914],\"mapped\",[5050]],[[43915,43915],\"mapped\",[5051]],[[43916,43916],\"mapped\",[5052]],[[43917,43917],\"mapped\",[5053]],[[43918,43918],\"mapped\",[5054]],[[43919,43919],\"mapped\",[5055]],[[43920,43920],\"mapped\",[5056]],[[43921,43921],\"mapped\",[5057]],[[43922,43922],\"mapped\",[5058]],[[43923,43923],\"mapped\",[5059]],[[43924,43924],\"mapped\",[5060]],[[43925,43925],\"mapped\",[5061]],[[43926,43926],\"mapped\",[5062]],[[43927,43927],\"mapped\",[5063]],[[43928,43928],\"mapped\",[5064]],[[43929,43929],\"mapped\",[5065]],[[43930,43930],\"mapped\",[5066]],[[43931,43931],\"mapped\",[5067]],[[43932,43932],\"mapped\",[5068]],[[43933,43933],\"mapped\",[5069]],[[43934,43934],\"mapped\",[5070]],[[43935,43935],\"mapped\",[5071]],[[43936,43936],\"mapped\",[5072]],[[43937,43937],\"mapped\",[5073]],[[43938,43938],\"mapped\",[5074]],[[43939,43939],\"mapped\",[5075]],[[43940,43940],\"mapped\",[5076]],[[43941,43941],\"mapped\",[5077]],[[43942,43942],\"mapped\",[5078]],[[43943,43943],\"mapped\",[5079]],[[43944,43944],\"mapped\",[5080]],[[43945,43945],\"mapped\",[5081]],[[43946,43946],\"mapped\",[5082]],[[43947,43947],\"mapped\",[5083]],[[43948,43948],\"mapped\",[5084]],[[43949,43949],\"mapped\",[5085]],[[43950,43950],\"mapped\",[5086]],[[43951,43951],\"mapped\",[5087]],[[43952,43952],\"mapped\",[5088]],[[43953,43953],\"mapped\",[5089]],[[43954,43954],\"mapped\",[5090]],[[43955,43955],\"mapped\",[5091]],[[43956,43956],\"mapped\",[5092]],[[43957,43957],\"mapped\",[5093]],[[43958,43958],\"mapped\",[5094]],[[43959,43959],\"mapped\",[5095]],[[43960,43960],\"mapped\",[5096]],[[43961,43961],\"mapped\",[5097]],[[43962,43962],\"mapped\",[5098]],[[43963,43963],\"mapped\",[5099]],[[43964,43964],\"mapped\",[5100]],[[43965,43965],\"mapped\",[5101]],[[43966,43966],\"mapped\",[5102]],[[43967,43967],\"mapped\",[5103]],[[43968,44010],\"valid\"],[[44011,44011],\"valid\",[],\"NV8\"],[[44012,44013],\"valid\"],[[44014,44015],\"disallowed\"],[[44016,44025],\"valid\"],[[44026,44031],\"disallowed\"],[[44032,55203],\"valid\"],[[55204,55215],\"disallowed\"],[[55216,55238],\"valid\",[],\"NV8\"],[[55239,55242],\"disallowed\"],[[55243,55291],\"valid\",[],\"NV8\"],[[55292,55295],\"disallowed\"],[[55296,57343],\"disallowed\"],[[57344,63743],\"disallowed\"],[[63744,63744],\"mapped\",[35912]],[[63745,63745],\"mapped\",[26356]],[[63746,63746],\"mapped\",[36554]],[[63747,63747],\"mapped\",[36040]],[[63748,63748],\"mapped\",[28369]],[[63749,63749],\"mapped\",[20018]],[[63750,63750],\"mapped\",[21477]],[[63751,63752],\"mapped\",[40860]],[[63753,63753],\"mapped\",[22865]],[[63754,63754],\"mapped\",[37329]],[[63755,63755],\"mapped\",[21895]],[[63756,63756],\"mapped\",[22856]],[[63757,63757],\"mapped\",[25078]],[[63758,63758],\"mapped\",[30313]],[[63759,63759],\"mapped\",[32645]],[[63760,63760],\"mapped\",[34367]],[[63761,63761],\"mapped\",[34746]],[[63762,63762],\"mapped\",[35064]],[[63763,63763],\"mapped\",[37007]],[[63764,63764],\"mapped\",[27138]],[[63765,63765],\"mapped\",[27931]],[[63766,63766],\"mapped\",[28889]],[[63767,63767],\"mapped\",[29662]],[[63768,63768],\"mapped\",[33853]],[[63769,63769],\"mapped\",[37226]],[[63770,63770],\"mapped\",[39409]],[[63771,63771],\"mapped\",[20098]],[[63772,63772],\"mapped\",[21365]],[[63773,63773],\"mapped\",[27396]],[[63774,63774],\"mapped\",[29211]],[[63775,63775],\"mapped\",[34349]],[[63776,63776],\"mapped\",[40478]],[[63777,63777],\"mapped\",[23888]],[[63778,63778],\"mapped\",[28651]],[[63779,63779],\"mapped\",[34253]],[[63780,63780],\"mapped\",[35172]],[[63781,63781],\"mapped\",[25289]],[[63782,63782],\"mapped\",[33240]],[[63783,63783],\"mapped\",[34847]],[[63784,63784],\"mapped\",[24266]],[[63785,63785],\"mapped\",[26391]],[[63786,63786],\"mapped\",[28010]],[[63787,63787],\"mapped\",[29436]],[[63788,63788],\"mapped\",[37070]],[[63789,63789],\"mapped\",[20358]],[[63790,63790],\"mapped\",[20919]],[[63791,63791],\"mapped\",[21214]],[[63792,63792],\"mapped\",[25796]],[[63793,63793],\"mapped\",[27347]],[[63794,63794],\"mapped\",[29200]],[[63795,63795],\"mapped\",[30439]],[[63796,63796],\"mapped\",[32769]],[[63797,63797],\"mapped\",[34310]],[[63798,63798],\"mapped\",[34396]],[[63799,63799],\"mapped\",[36335]],[[63800,63800],\"mapped\",[38706]],[[63801,63801],\"mapped\",[39791]],[[63802,63802],\"mapped\",[40442]],[[63803,63803],\"mapped\",[30860]],[[63804,63804],\"mapped\",[31103]],[[63805,63805],\"mapped\",[32160]],[[63806,63806],\"mapped\",[33737]],[[63807,63807],\"mapped\",[37636]],[[63808,63808],\"mapped\",[40575]],[[63809,63809],\"mapped\",[35542]],[[63810,63810],\"mapped\",[22751]],[[63811,63811],\"mapped\",[24324]],[[63812,63812],\"mapped\",[31840]],[[63813,63813],\"mapped\",[32894]],[[63814,63814],\"mapped\",[29282]],[[63815,63815],\"mapped\",[30922]],[[63816,63816],\"mapped\",[36034]],[[63817,63817],\"mapped\",[38647]],[[63818,63818],\"mapped\",[22744]],[[63819,63819],\"mapped\",[23650]],[[63820,63820],\"mapped\",[27155]],[[63821,63821],\"mapped\",[28122]],[[63822,63822],\"mapped\",[28431]],[[63823,63823],\"mapped\",[32047]],[[63824,63824],\"mapped\",[32311]],[[63825,63825],\"mapped\",[38475]],[[63826,63826],\"mapped\",[21202]],[[63827,63827],\"mapped\",[32907]],[[63828,63828],\"mapped\",[20956]],[[63829,63829],\"mapped\",[20940]],[[63830,63830],\"mapped\",[31260]],[[63831,63831],\"mapped\",[32190]],[[63832,63832],\"mapped\",[33777]],[[63833,63833],\"mapped\",[38517]],[[63834,63834],\"mapped\",[35712]],[[63835,63835],\"mapped\",[25295]],[[63836,63836],\"mapped\",[27138]],[[63837,63837],\"mapped\",[35582]],[[63838,63838],\"mapped\",[20025]],[[63839,63839],\"mapped\",[23527]],[[63840,63840],\"mapped\",[24594]],[[63841,63841],\"mapped\",[29575]],[[63842,63842],\"mapped\",[30064]],[[63843,63843],\"mapped\",[21271]],[[63844,63844],\"mapped\",[30971]],[[63845,63845],\"mapped\",[20415]],[[63846,63846],\"mapped\",[24489]],[[63847,63847],\"mapped\",[19981]],[[63848,63848],\"mapped\",[27852]],[[63849,63849],\"mapped\",[25976]],[[63850,63850],\"mapped\",[32034]],[[63851,63851],\"mapped\",[21443]],[[63852,63852],\"mapped\",[22622]],[[63853,63853],\"mapped\",[30465]],[[63854,63854],\"mapped\",[33865]],[[63855,63855],\"mapped\",[35498]],[[63856,63856],\"mapped\",[27578]],[[63857,63857],\"mapped\",[36784]],[[63858,63858],\"mapped\",[27784]],[[63859,63859],\"mapped\",[25342]],[[63860,63860],\"mapped\",[33509]],[[63861,63861],\"mapped\",[25504]],[[63862,63862],\"mapped\",[30053]],[[63863,63863],\"mapped\",[20142]],[[63864,63864],\"mapped\",[20841]],[[63865,63865],\"mapped\",[20937]],[[63866,63866],\"mapped\",[26753]],[[63867,63867],\"mapped\",[31975]],[[63868,63868],\"mapped\",[33391]],[[63869,63869],\"mapped\",[35538]],[[63870,63870],\"mapped\",[37327]],[[63871,63871],\"mapped\",[21237]],[[63872,63872],\"mapped\",[21570]],[[63873,63873],\"mapped\",[22899]],[[63874,63874],\"mapped\",[24300]],[[63875,63875],\"mapped\",[26053]],[[63876,63876],\"mapped\",[28670]],[[63877,63877],\"mapped\",[31018]],[[63878,63878],\"mapped\",[38317]],[[63879,63879],\"mapped\",[39530]],[[63880,63880],\"mapped\",[40599]],[[63881,63881],\"mapped\",[40654]],[[63882,63882],\"mapped\",[21147]],[[63883,63883],\"mapped\",[26310]],[[63884,63884],\"mapped\",[27511]],[[63885,63885],\"mapped\",[36706]],[[63886,63886],\"mapped\",[24180]],[[63887,63887],\"mapped\",[24976]],[[63888,63888],\"mapped\",[25088]],[[63889,63889],\"mapped\",[25754]],[[63890,63890],\"mapped\",[28451]],[[63891,63891],\"mapped\",[29001]],[[63892,63892],\"mapped\",[29833]],[[63893,63893],\"mapped\",[31178]],[[63894,63894],\"mapped\",[32244]],[[63895,63895],\"mapped\",[32879]],[[63896,63896],\"mapped\",[36646]],[[63897,63897],\"mapped\",[34030]],[[63898,63898],\"mapped\",[36899]],[[63899,63899],\"mapped\",[37706]],[[63900,63900],\"mapped\",[21015]],[[63901,63901],\"mapped\",[21155]],[[63902,63902],\"mapped\",[21693]],[[63903,63903],\"mapped\",[28872]],[[63904,63904],\"mapped\",[35010]],[[63905,63905],\"mapped\",[35498]],[[63906,63906],\"mapped\",[24265]],[[63907,63907],\"mapped\",[24565]],[[63908,63908],\"mapped\",[25467]],[[63909,63909],\"mapped\",[27566]],[[63910,63910],\"mapped\",[31806]],[[63911,63911],\"mapped\",[29557]],[[63912,63912],\"mapped\",[20196]],[[63913,63913],\"mapped\",[22265]],[[63914,63914],\"mapped\",[23527]],[[63915,63915],\"mapped\",[23994]],[[63916,63916],\"mapped\",[24604]],[[63917,63917],\"mapped\",[29618]],[[63918,63918],\"mapped\",[29801]],[[63919,63919],\"mapped\",[32666]],[[63920,63920],\"mapped\",[32838]],[[63921,63921],\"mapped\",[37428]],[[63922,63922],\"mapped\",[38646]],[[63923,63923],\"mapped\",[38728]],[[63924,63924],\"mapped\",[38936]],[[63925,63925],\"mapped\",[20363]],[[63926,63926],\"mapped\",[31150]],[[63927,63927],\"mapped\",[37300]],[[63928,63928],\"mapped\",[38584]],[[63929,63929],\"mapped\",[24801]],[[63930,63930],\"mapped\",[20102]],[[63931,63931],\"mapped\",[20698]],[[63932,63932],\"mapped\",[23534]],[[63933,63933],\"mapped\",[23615]],[[63934,63934],\"mapped\",[26009]],[[63935,63935],\"mapped\",[27138]],[[63936,63936],\"mapped\",[29134]],[[63937,63937],\"mapped\",[30274]],[[63938,63938],\"mapped\",[34044]],[[63939,63939],\"mapped\",[36988]],[[63940,63940],\"mapped\",[40845]],[[63941,63941],\"mapped\",[26248]],[[63942,63942],\"mapped\",[38446]],[[63943,63943],\"mapped\",[21129]],[[63944,63944],\"mapped\",[26491]],[[63945,63945],\"mapped\",[26611]],[[63946,63946],\"mapped\",[27969]],[[63947,63947],\"mapped\",[28316]],[[63948,63948],\"mapped\",[29705]],[[63949,63949],\"mapped\",[30041]],[[63950,63950],\"mapped\",[30827]],[[63951,63951],\"mapped\",[32016]],[[63952,63952],\"mapped\",[39006]],[[63953,63953],\"mapped\",[20845]],[[63954,63954],\"mapped\",[25134]],[[63955,63955],\"mapped\",[38520]],[[63956,63956],\"mapped\",[20523]],[[63957,63957],\"mapped\",[23833]],[[63958,63958],\"mapped\",[28138]],[[63959,63959],\"mapped\",[36650]],[[63960,63960],\"mapped\",[24459]],[[63961,63961],\"mapped\",[24900]],[[63962,63962],\"mapped\",[26647]],[[63963,63963],\"mapped\",[29575]],[[63964,63964],\"mapped\",[38534]],[[63965,63965],\"mapped\",[21033]],[[63966,63966],\"mapped\",[21519]],[[63967,63967],\"mapped\",[23653]],[[63968,63968],\"mapped\",[26131]],[[63969,63969],\"mapped\",[26446]],[[63970,63970],\"mapped\",[26792]],[[63971,63971],\"mapped\",[27877]],[[63972,63972],\"mapped\",[29702]],[[63973,63973],\"mapped\",[30178]],[[63974,63974],\"mapped\",[32633]],[[63975,63975],\"mapped\",[35023]],[[63976,63976],\"mapped\",[35041]],[[63977,63977],\"mapped\",[37324]],[[63978,63978],\"mapped\",[38626]],[[63979,63979],\"mapped\",[21311]],[[63980,63980],\"mapped\",[28346]],[[63981,63981],\"mapped\",[21533]],[[63982,63982],\"mapped\",[29136]],[[63983,63983],\"mapped\",[29848]],[[63984,63984],\"mapped\",[34298]],[[63985,63985],\"mapped\",[38563]],[[63986,63986],\"mapped\",[40023]],[[63987,63987],\"mapped\",[40607]],[[63988,63988],\"mapped\",[26519]],[[63989,63989],\"mapped\",[28107]],[[63990,63990],\"mapped\",[33256]],[[63991,63991],\"mapped\",[31435]],[[63992,63992],\"mapped\",[31520]],[[63993,63993],\"mapped\",[31890]],[[63994,63994],\"mapped\",[29376]],[[63995,63995],\"mapped\",[28825]],[[63996,63996],\"mapped\",[35672]],[[63997,63997],\"mapped\",[20160]],[[63998,63998],\"mapped\",[33590]],[[63999,63999],\"mapped\",[21050]],[[64000,64000],\"mapped\",[20999]],[[64001,64001],\"mapped\",[24230]],[[64002,64002],\"mapped\",[25299]],[[64003,64003],\"mapped\",[31958]],[[64004,64004],\"mapped\",[23429]],[[64005,64005],\"mapped\",[27934]],[[64006,64006],\"mapped\",[26292]],[[64007,64007],\"mapped\",[36667]],[[64008,64008],\"mapped\",[34892]],[[64009,64009],\"mapped\",[38477]],[[64010,64010],\"mapped\",[35211]],[[64011,64011],\"mapped\",[24275]],[[64012,64012],\"mapped\",[20800]],[[64013,64013],\"mapped\",[21952]],[[64014,64015],\"valid\"],[[64016,64016],\"mapped\",[22618]],[[64017,64017],\"valid\"],[[64018,64018],\"mapped\",[26228]],[[64019,64020],\"valid\"],[[64021,64021],\"mapped\",[20958]],[[64022,64022],\"mapped\",[29482]],[[64023,64023],\"mapped\",[30410]],[[64024,64024],\"mapped\",[31036]],[[64025,64025],\"mapped\",[31070]],[[64026,64026],\"mapped\",[31077]],[[64027,64027],\"mapped\",[31119]],[[64028,64028],\"mapped\",[38742]],[[64029,64029],\"mapped\",[31934]],[[64030,64030],\"mapped\",[32701]],[[64031,64031],\"valid\"],[[64032,64032],\"mapped\",[34322]],[[64033,64033],\"valid\"],[[64034,64034],\"mapped\",[35576]],[[64035,64036],\"valid\"],[[64037,64037],\"mapped\",[36920]],[[64038,64038],\"mapped\",[37117]],[[64039,64041],\"valid\"],[[64042,64042],\"mapped\",[39151]],[[64043,64043],\"mapped\",[39164]],[[64044,64044],\"mapped\",[39208]],[[64045,64045],\"mapped\",[40372]],[[64046,64046],\"mapped\",[37086]],[[64047,64047],\"mapped\",[38583]],[[64048,64048],\"mapped\",[20398]],[[64049,64049],\"mapped\",[20711]],[[64050,64050],\"mapped\",[20813]],[[64051,64051],\"mapped\",[21193]],[[64052,64052],\"mapped\",[21220]],[[64053,64053],\"mapped\",[21329]],[[64054,64054],\"mapped\",[21917]],[[64055,64055],\"mapped\",[22022]],[[64056,64056],\"mapped\",[22120]],[[64057,64057],\"mapped\",[22592]],[[64058,64058],\"mapped\",[22696]],[[64059,64059],\"mapped\",[23652]],[[64060,64060],\"mapped\",[23662]],[[64061,64061],\"mapped\",[24724]],[[64062,64062],\"mapped\",[24936]],[[64063,64063],\"mapped\",[24974]],[[64064,64064],\"mapped\",[25074]],[[64065,64065],\"mapped\",[25935]],[[64066,64066],\"mapped\",[26082]],[[64067,64067],\"mapped\",[26257]],[[64068,64068],\"mapped\",[26757]],[[64069,64069],\"mapped\",[28023]],[[64070,64070],\"mapped\",[28186]],[[64071,64071],\"mapped\",[28450]],[[64072,64072],\"mapped\",[29038]],[[64073,64073],\"mapped\",[29227]],[[64074,64074],\"mapped\",[29730]],[[64075,64075],\"mapped\",[30865]],[[64076,64076],\"mapped\",[31038]],[[64077,64077],\"mapped\",[31049]],[[64078,64078],\"mapped\",[31048]],[[64079,64079],\"mapped\",[31056]],[[64080,64080],\"mapped\",[31062]],[[64081,64081],\"mapped\",[31069]],[[64082,64082],\"mapped\",[31117]],[[64083,64083],\"mapped\",[31118]],[[64084,64084],\"mapped\",[31296]],[[64085,64085],\"mapped\",[31361]],[[64086,64086],\"mapped\",[31680]],[[64087,64087],\"mapped\",[32244]],[[64088,64088],\"mapped\",[32265]],[[64089,64089],\"mapped\",[32321]],[[64090,64090],\"mapped\",[32626]],[[64091,64091],\"mapped\",[32773]],[[64092,64092],\"mapped\",[33261]],[[64093,64094],\"mapped\",[33401]],[[64095,64095],\"mapped\",[33879]],[[64096,64096],\"mapped\",[35088]],[[64097,64097],\"mapped\",[35222]],[[64098,64098],\"mapped\",[35585]],[[64099,64099],\"mapped\",[35641]],[[64100,64100],\"mapped\",[36051]],[[64101,64101],\"mapped\",[36104]],[[64102,64102],\"mapped\",[36790]],[[64103,64103],\"mapped\",[36920]],[[64104,64104],\"mapped\",[38627]],[[64105,64105],\"mapped\",[38911]],[[64106,64106],\"mapped\",[38971]],[[64107,64107],\"mapped\",[24693]],[[64108,64108],\"mapped\",[148206]],[[64109,64109],\"mapped\",[33304]],[[64110,64111],\"disallowed\"],[[64112,64112],\"mapped\",[20006]],[[64113,64113],\"mapped\",[20917]],[[64114,64114],\"mapped\",[20840]],[[64115,64115],\"mapped\",[20352]],[[64116,64116],\"mapped\",[20805]],[[64117,64117],\"mapped\",[20864]],[[64118,64118],\"mapped\",[21191]],[[64119,64119],\"mapped\",[21242]],[[64120,64120],\"mapped\",[21917]],[[64121,64121],\"mapped\",[21845]],[[64122,64122],\"mapped\",[21913]],[[64123,64123],\"mapped\",[21986]],[[64124,64124],\"mapped\",[22618]],[[64125,64125],\"mapped\",[22707]],[[64126,64126],\"mapped\",[22852]],[[64127,64127],\"mapped\",[22868]],[[64128,64128],\"mapped\",[23138]],[[64129,64129],\"mapped\",[23336]],[[64130,64130],\"mapped\",[24274]],[[64131,64131],\"mapped\",[24281]],[[64132,64132],\"mapped\",[24425]],[[64133,64133],\"mapped\",[24493]],[[64134,64134],\"mapped\",[24792]],[[64135,64135],\"mapped\",[24910]],[[64136,64136],\"mapped\",[24840]],[[64137,64137],\"mapped\",[24974]],[[64138,64138],\"mapped\",[24928]],[[64139,64139],\"mapped\",[25074]],[[64140,64140],\"mapped\",[25140]],[[64141,64141],\"mapped\",[25540]],[[64142,64142],\"mapped\",[25628]],[[64143,64143],\"mapped\",[25682]],[[64144,64144],\"mapped\",[25942]],[[64145,64145],\"mapped\",[26228]],[[64146,64146],\"mapped\",[26391]],[[64147,64147],\"mapped\",[26395]],[[64148,64148],\"mapped\",[26454]],[[64149,64149],\"mapped\",[27513]],[[64150,64150],\"mapped\",[27578]],[[64151,64151],\"mapped\",[27969]],[[64152,64152],\"mapped\",[28379]],[[64153,64153],\"mapped\",[28363]],[[64154,64154],\"mapped\",[28450]],[[64155,64155],\"mapped\",[28702]],[[64156,64156],\"mapped\",[29038]],[[64157,64157],\"mapped\",[30631]],[[64158,64158],\"mapped\",[29237]],[[64159,64159],\"mapped\",[29359]],[[64160,64160],\"mapped\",[29482]],[[64161,64161],\"mapped\",[29809]],[[64162,64162],\"mapped\",[29958]],[[64163,64163],\"mapped\",[30011]],[[64164,64164],\"mapped\",[30237]],[[64165,64165],\"mapped\",[30239]],[[64166,64166],\"mapped\",[30410]],[[64167,64167],\"mapped\",[30427]],[[64168,64168],\"mapped\",[30452]],[[64169,64169],\"mapped\",[30538]],[[64170,64170],\"mapped\",[30528]],[[64171,64171],\"mapped\",[30924]],[[64172,64172],\"mapped\",[31409]],[[64173,64173],\"mapped\",[31680]],[[64174,64174],\"mapped\",[31867]],[[64175,64175],\"mapped\",[32091]],[[64176,64176],\"mapped\",[32244]],[[64177,64177],\"mapped\",[32574]],[[64178,64178],\"mapped\",[32773]],[[64179,64179],\"mapped\",[33618]],[[64180,64180],\"mapped\",[33775]],[[64181,64181],\"mapped\",[34681]],[[64182,64182],\"mapped\",[35137]],[[64183,64183],\"mapped\",[35206]],[[64184,64184],\"mapped\",[35222]],[[64185,64185],\"mapped\",[35519]],[[64186,64186],\"mapped\",[35576]],[[64187,64187],\"mapped\",[35531]],[[64188,64188],\"mapped\",[35585]],[[64189,64189],\"mapped\",[35582]],[[64190,64190],\"mapped\",[35565]],[[64191,64191],\"mapped\",[35641]],[[64192,64192],\"mapped\",[35722]],[[64193,64193],\"mapped\",[36104]],[[64194,64194],\"mapped\",[36664]],[[64195,64195],\"mapped\",[36978]],[[64196,64196],\"mapped\",[37273]],[[64197,64197],\"mapped\",[37494]],[[64198,64198],\"mapped\",[38524]],[[64199,64199],\"mapped\",[38627]],[[64200,64200],\"mapped\",[38742]],[[64201,64201],\"mapped\",[38875]],[[64202,64202],\"mapped\",[38911]],[[64203,64203],\"mapped\",[38923]],[[64204,64204],\"mapped\",[38971]],[[64205,64205],\"mapped\",[39698]],[[64206,64206],\"mapped\",[40860]],[[64207,64207],\"mapped\",[141386]],[[64208,64208],\"mapped\",[141380]],[[64209,64209],\"mapped\",[144341]],[[64210,64210],\"mapped\",[15261]],[[64211,64211],\"mapped\",[16408]],[[64212,64212],\"mapped\",[16441]],[[64213,64213],\"mapped\",[152137]],[[64214,64214],\"mapped\",[154832]],[[64215,64215],\"mapped\",[163539]],[[64216,64216],\"mapped\",[40771]],[[64217,64217],\"mapped\",[40846]],[[64218,64255],\"disallowed\"],[[64256,64256],\"mapped\",[102,102]],[[64257,64257],\"mapped\",[102,105]],[[64258,64258],\"mapped\",[102,108]],[[64259,64259],\"mapped\",[102,102,105]],[[64260,64260],\"mapped\",[102,102,108]],[[64261,64262],\"mapped\",[115,116]],[[64263,64274],\"disallowed\"],[[64275,64275],\"mapped\",[1396,1398]],[[64276,64276],\"mapped\",[1396,1381]],[[64277,64277],\"mapped\",[1396,1387]],[[64278,64278],\"mapped\",[1406,1398]],[[64279,64279],\"mapped\",[1396,1389]],[[64280,64284],\"disallowed\"],[[64285,64285],\"mapped\",[1497,1460]],[[64286,64286],\"valid\"],[[64287,64287],\"mapped\",[1522,1463]],[[64288,64288],\"mapped\",[1506]],[[64289,64289],\"mapped\",[1488]],[[64290,64290],\"mapped\",[1491]],[[64291,64291],\"mapped\",[1492]],[[64292,64292],\"mapped\",[1499]],[[64293,64293],\"mapped\",[1500]],[[64294,64294],\"mapped\",[1501]],[[64295,64295],\"mapped\",[1512]],[[64296,64296],\"mapped\",[1514]],[[64297,64297],\"disallowed_STD3_mapped\",[43]],[[64298,64298],\"mapped\",[1513,1473]],[[64299,64299],\"mapped\",[1513,1474]],[[64300,64300],\"mapped\",[1513,1468,1473]],[[64301,64301],\"mapped\",[1513,1468,1474]],[[64302,64302],\"mapped\",[1488,1463]],[[64303,64303],\"mapped\",[1488,1464]],[[64304,64304],\"mapped\",[1488,1468]],[[64305,64305],\"mapped\",[1489,1468]],[[64306,64306],\"mapped\",[1490,1468]],[[64307,64307],\"mapped\",[1491,1468]],[[64308,64308],\"mapped\",[1492,1468]],[[64309,64309],\"mapped\",[1493,1468]],[[64310,64310],\"mapped\",[1494,1468]],[[64311,64311],\"disallowed\"],[[64312,64312],\"mapped\",[1496,1468]],[[64313,64313],\"mapped\",[1497,1468]],[[64314,64314],\"mapped\",[1498,1468]],[[64315,64315],\"mapped\",[1499,1468]],[[64316,64316],\"mapped\",[1500,1468]],[[64317,64317],\"disallowed\"],[[64318,64318],\"mapped\",[1502,1468]],[[64319,64319],\"disallowed\"],[[64320,64320],\"mapped\",[1504,1468]],[[64321,64321],\"mapped\",[1505,1468]],[[64322,64322],\"disallowed\"],[[64323,64323],\"mapped\",[1507,1468]],[[64324,64324],\"mapped\",[1508,1468]],[[64325,64325],\"disallowed\"],[[64326,64326],\"mapped\",[1510,1468]],[[64327,64327],\"mapped\",[1511,1468]],[[64328,64328],\"mapped\",[1512,1468]],[[64329,64329],\"mapped\",[1513,1468]],[[64330,64330],\"mapped\",[1514,1468]],[[64331,64331],\"mapped\",[1493,1465]],[[64332,64332],\"mapped\",[1489,1471]],[[64333,64333],\"mapped\",[1499,1471]],[[64334,64334],\"mapped\",[1508,1471]],[[64335,64335],\"mapped\",[1488,1500]],[[64336,64337],\"mapped\",[1649]],[[64338,64341],\"mapped\",[1659]],[[64342,64345],\"mapped\",[1662]],[[64346,64349],\"mapped\",[1664]],[[64350,64353],\"mapped\",[1658]],[[64354,64357],\"mapped\",[1663]],[[64358,64361],\"mapped\",[1657]],[[64362,64365],\"mapped\",[1700]],[[64366,64369],\"mapped\",[1702]],[[64370,64373],\"mapped\",[1668]],[[64374,64377],\"mapped\",[1667]],[[64378,64381],\"mapped\",[1670]],[[64382,64385],\"mapped\",[1671]],[[64386,64387],\"mapped\",[1677]],[[64388,64389],\"mapped\",[1676]],[[64390,64391],\"mapped\",[1678]],[[64392,64393],\"mapped\",[1672]],[[64394,64395],\"mapped\",[1688]],[[64396,64397],\"mapped\",[1681]],[[64398,64401],\"mapped\",[1705]],[[64402,64405],\"mapped\",[1711]],[[64406,64409],\"mapped\",[1715]],[[64410,64413],\"mapped\",[1713]],[[64414,64415],\"mapped\",[1722]],[[64416,64419],\"mapped\",[1723]],[[64420,64421],\"mapped\",[1728]],[[64422,64425],\"mapped\",[1729]],[[64426,64429],\"mapped\",[1726]],[[64430,64431],\"mapped\",[1746]],[[64432,64433],\"mapped\",[1747]],[[64434,64449],\"valid\",[],\"NV8\"],[[64450,64466],\"disallowed\"],[[64467,64470],\"mapped\",[1709]],[[64471,64472],\"mapped\",[1735]],[[64473,64474],\"mapped\",[1734]],[[64475,64476],\"mapped\",[1736]],[[64477,64477],\"mapped\",[1735,1652]],[[64478,64479],\"mapped\",[1739]],[[64480,64481],\"mapped\",[1733]],[[64482,64483],\"mapped\",[1737]],[[64484,64487],\"mapped\",[1744]],[[64488,64489],\"mapped\",[1609]],[[64490,64491],\"mapped\",[1574,1575]],[[64492,64493],\"mapped\",[1574,1749]],[[64494,64495],\"mapped\",[1574,1608]],[[64496,64497],\"mapped\",[1574,1735]],[[64498,64499],\"mapped\",[1574,1734]],[[64500,64501],\"mapped\",[1574,1736]],[[64502,64504],\"mapped\",[1574,1744]],[[64505,64507],\"mapped\",[1574,1609]],[[64508,64511],\"mapped\",[1740]],[[64512,64512],\"mapped\",[1574,1580]],[[64513,64513],\"mapped\",[1574,1581]],[[64514,64514],\"mapped\",[1574,1605]],[[64515,64515],\"mapped\",[1574,1609]],[[64516,64516],\"mapped\",[1574,1610]],[[64517,64517],\"mapped\",[1576,1580]],[[64518,64518],\"mapped\",[1576,1581]],[[64519,64519],\"mapped\",[1576,1582]],[[64520,64520],\"mapped\",[1576,1605]],[[64521,64521],\"mapped\",[1576,1609]],[[64522,64522],\"mapped\",[1576,1610]],[[64523,64523],\"mapped\",[1578,1580]],[[64524,64524],\"mapped\",[1578,1581]],[[64525,64525],\"mapped\",[1578,1582]],[[64526,64526],\"mapped\",[1578,1605]],[[64527,64527],\"mapped\",[1578,1609]],[[64528,64528],\"mapped\",[1578,1610]],[[64529,64529],\"mapped\",[1579,1580]],[[64530,64530],\"mapped\",[1579,1605]],[[64531,64531],\"mapped\",[1579,1609]],[[64532,64532],\"mapped\",[1579,1610]],[[64533,64533],\"mapped\",[1580,1581]],[[64534,64534],\"mapped\",[1580,1605]],[[64535,64535],\"mapped\",[1581,1580]],[[64536,64536],\"mapped\",[1581,1605]],[[64537,64537],\"mapped\",[1582,1580]],[[64538,64538],\"mapped\",[1582,1581]],[[64539,64539],\"mapped\",[1582,1605]],[[64540,64540],\"mapped\",[1587,1580]],[[64541,64541],\"mapped\",[1587,1581]],[[64542,64542],\"mapped\",[1587,1582]],[[64543,64543],\"mapped\",[1587,1605]],[[64544,64544],\"mapped\",[1589,1581]],[[64545,64545],\"mapped\",[1589,1605]],[[64546,64546],\"mapped\",[1590,1580]],[[64547,64547],\"mapped\",[1590,1581]],[[64548,64548],\"mapped\",[1590,1582]],[[64549,64549],\"mapped\",[1590,1605]],[[64550,64550],\"mapped\",[1591,1581]],[[64551,64551],\"mapped\",[1591,1605]],[[64552,64552],\"mapped\",[1592,1605]],[[64553,64553],\"mapped\",[1593,1580]],[[64554,64554],\"mapped\",[1593,1605]],[[64555,64555],\"mapped\",[1594,1580]],[[64556,64556],\"mapped\",[1594,1605]],[[64557,64557],\"mapped\",[1601,1580]],[[64558,64558],\"mapped\",[1601,1581]],[[64559,64559],\"mapped\",[1601,1582]],[[64560,64560],\"mapped\",[1601,1605]],[[64561,64561],\"mapped\",[1601,1609]],[[64562,64562],\"mapped\",[1601,1610]],[[64563,64563],\"mapped\",[1602,1581]],[[64564,64564],\"mapped\",[1602,1605]],[[64565,64565],\"mapped\",[1602,1609]],[[64566,64566],\"mapped\",[1602,1610]],[[64567,64567],\"mapped\",[1603,1575]],[[64568,64568],\"mapped\",[1603,1580]],[[64569,64569],\"mapped\",[1603,1581]],[[64570,64570],\"mapped\",[1603,1582]],[[64571,64571],\"mapped\",[1603,1604]],[[64572,64572],\"mapped\",[1603,1605]],[[64573,64573],\"mapped\",[1603,1609]],[[64574,64574],\"mapped\",[1603,1610]],[[64575,64575],\"mapped\",[1604,1580]],[[64576,64576],\"mapped\",[1604,1581]],[[64577,64577],\"mapped\",[1604,1582]],[[64578,64578],\"mapped\",[1604,1605]],[[64579,64579],\"mapped\",[1604,1609]],[[64580,64580],\"mapped\",[1604,1610]],[[64581,64581],\"mapped\",[1605,1580]],[[64582,64582],\"mapped\",[1605,1581]],[[64583,64583],\"mapped\",[1605,1582]],[[64584,64584],\"mapped\",[1605,1605]],[[64585,64585],\"mapped\",[1605,1609]],[[64586,64586],\"mapped\",[1605,1610]],[[64587,64587],\"mapped\",[1606,1580]],[[64588,64588],\"mapped\",[1606,1581]],[[64589,64589],\"mapped\",[1606,1582]],[[64590,64590],\"mapped\",[1606,1605]],[[64591,64591],\"mapped\",[1606,1609]],[[64592,64592],\"mapped\",[1606,1610]],[[64593,64593],\"mapped\",[1607,1580]],[[64594,64594],\"mapped\",[1607,1605]],[[64595,64595],\"mapped\",[1607,1609]],[[64596,64596],\"mapped\",[1607,1610]],[[64597,64597],\"mapped\",[1610,1580]],[[64598,64598],\"mapped\",[1610,1581]],[[64599,64599],\"mapped\",[1610,1582]],[[64600,64600],\"mapped\",[1610,1605]],[[64601,64601],\"mapped\",[1610,1609]],[[64602,64602],\"mapped\",[1610,1610]],[[64603,64603],\"mapped\",[1584,1648]],[[64604,64604],\"mapped\",[1585,1648]],[[64605,64605],\"mapped\",[1609,1648]],[[64606,64606],\"disallowed_STD3_mapped\",[32,1612,1617]],[[64607,64607],\"disallowed_STD3_mapped\",[32,1613,1617]],[[64608,64608],\"disallowed_STD3_mapped\",[32,1614,1617]],[[64609,64609],\"disallowed_STD3_mapped\",[32,1615,1617]],[[64610,64610],\"disallowed_STD3_mapped\",[32,1616,1617]],[[64611,64611],\"disallowed_STD3_mapped\",[32,1617,1648]],[[64612,64612],\"mapped\",[1574,1585]],[[64613,64613],\"mapped\",[1574,1586]],[[64614,64614],\"mapped\",[1574,1605]],[[64615,64615],\"mapped\",[1574,1606]],[[64616,64616],\"mapped\",[1574,1609]],[[64617,64617],\"mapped\",[1574,1610]],[[64618,64618],\"mapped\",[1576,1585]],[[64619,64619],\"mapped\",[1576,1586]],[[64620,64620],\"mapped\",[1576,1605]],[[64621,64621],\"mapped\",[1576,1606]],[[64622,64622],\"mapped\",[1576,1609]],[[64623,64623],\"mapped\",[1576,1610]],[[64624,64624],\"mapped\",[1578,1585]],[[64625,64625],\"mapped\",[1578,1586]],[[64626,64626],\"mapped\",[1578,1605]],[[64627,64627],\"mapped\",[1578,1606]],[[64628,64628],\"mapped\",[1578,1609]],[[64629,64629],\"mapped\",[1578,1610]],[[64630,64630],\"mapped\",[1579,1585]],[[64631,64631],\"mapped\",[1579,1586]],[[64632,64632],\"mapped\",[1579,1605]],[[64633,64633],\"mapped\",[1579,1606]],[[64634,64634],\"mapped\",[1579,1609]],[[64635,64635],\"mapped\",[1579,1610]],[[64636,64636],\"mapped\",[1601,1609]],[[64637,64637],\"mapped\",[1601,1610]],[[64638,64638],\"mapped\",[1602,1609]],[[64639,64639],\"mapped\",[1602,1610]],[[64640,64640],\"mapped\",[1603,1575]],[[64641,64641],\"mapped\",[1603,1604]],[[64642,64642],\"mapped\",[1603,1605]],[[64643,64643],\"mapped\",[1603,1609]],[[64644,64644],\"mapped\",[1603,1610]],[[64645,64645],\"mapped\",[1604,1605]],[[64646,64646],\"mapped\",[1604,1609]],[[64647,64647],\"mapped\",[1604,1610]],[[64648,64648],\"mapped\",[1605,1575]],[[64649,64649],\"mapped\",[1605,1605]],[[64650,64650],\"mapped\",[1606,1585]],[[64651,64651],\"mapped\",[1606,1586]],[[64652,64652],\"mapped\",[1606,1605]],[[64653,64653],\"mapped\",[1606,1606]],[[64654,64654],\"mapped\",[1606,1609]],[[64655,64655],\"mapped\",[1606,1610]],[[64656,64656],\"mapped\",[1609,1648]],[[64657,64657],\"mapped\",[1610,1585]],[[64658,64658],\"mapped\",[1610,1586]],[[64659,64659],\"mapped\",[1610,1605]],[[64660,64660],\"mapped\",[1610,1606]],[[64661,64661],\"mapped\",[1610,1609]],[[64662,64662],\"mapped\",[1610,1610]],[[64663,64663],\"mapped\",[1574,1580]],[[64664,64664],\"mapped\",[1574,1581]],[[64665,64665],\"mapped\",[1574,1582]],[[64666,64666],\"mapped\",[1574,1605]],[[64667,64667],\"mapped\",[1574,1607]],[[64668,64668],\"mapped\",[1576,1580]],[[64669,64669],\"mapped\",[1576,1581]],[[64670,64670],\"mapped\",[1576,1582]],[[64671,64671],\"mapped\",[1576,1605]],[[64672,64672],\"mapped\",[1576,1607]],[[64673,64673],\"mapped\",[1578,1580]],[[64674,64674],\"mapped\",[1578,1581]],[[64675,64675],\"mapped\",[1578,1582]],[[64676,64676],\"mapped\",[1578,1605]],[[64677,64677],\"mapped\",[1578,1607]],[[64678,64678],\"mapped\",[1579,1605]],[[64679,64679],\"mapped\",[1580,1581]],[[64680,64680],\"mapped\",[1580,1605]],[[64681,64681],\"mapped\",[1581,1580]],[[64682,64682],\"mapped\",[1581,1605]],[[64683,64683],\"mapped\",[1582,1580]],[[64684,64684],\"mapped\",[1582,1605]],[[64685,64685],\"mapped\",[1587,1580]],[[64686,64686],\"mapped\",[1587,1581]],[[64687,64687],\"mapped\",[1587,1582]],[[64688,64688],\"mapped\",[1587,1605]],[[64689,64689],\"mapped\",[1589,1581]],[[64690,64690],\"mapped\",[1589,1582]],[[64691,64691],\"mapped\",[1589,1605]],[[64692,64692],\"mapped\",[1590,1580]],[[64693,64693],\"mapped\",[1590,1581]],[[64694,64694],\"mapped\",[1590,1582]],[[64695,64695],\"mapped\",[1590,1605]],[[64696,64696],\"mapped\",[1591,1581]],[[64697,64697],\"mapped\",[1592,1605]],[[64698,64698],\"mapped\",[1593,1580]],[[64699,64699],\"mapped\",[1593,1605]],[[64700,64700],\"mapped\",[1594,1580]],[[64701,64701],\"mapped\",[1594,1605]],[[64702,64702],\"mapped\",[1601,1580]],[[64703,64703],\"mapped\",[1601,1581]],[[64704,64704],\"mapped\",[1601,1582]],[[64705,64705],\"mapped\",[1601,1605]],[[64706,64706],\"mapped\",[1602,1581]],[[64707,64707],\"mapped\",[1602,1605]],[[64708,64708],\"mapped\",[1603,1580]],[[64709,64709],\"mapped\",[1603,1581]],[[64710,64710],\"mapped\",[1603,1582]],[[64711,64711],\"mapped\",[1603,1604]],[[64712,64712],\"mapped\",[1603,1605]],[[64713,64713],\"mapped\",[1604,1580]],[[64714,64714],\"mapped\",[1604,1581]],[[64715,64715],\"mapped\",[1604,1582]],[[64716,64716],\"mapped\",[1604,1605]],[[64717,64717],\"mapped\",[1604,1607]],[[64718,64718],\"mapped\",[1605,1580]],[[64719,64719],\"mapped\",[1605,1581]],[[64720,64720],\"mapped\",[1605,1582]],[[64721,64721],\"mapped\",[1605,1605]],[[64722,64722],\"mapped\",[1606,1580]],[[64723,64723],\"mapped\",[1606,1581]],[[64724,64724],\"mapped\",[1606,1582]],[[64725,64725],\"mapped\",[1606,1605]],[[64726,64726],\"mapped\",[1606,1607]],[[64727,64727],\"mapped\",[1607,1580]],[[64728,64728],\"mapped\",[1607,1605]],[[64729,64729],\"mapped\",[1607,1648]],[[64730,64730],\"mapped\",[1610,1580]],[[64731,64731],\"mapped\",[1610,1581]],[[64732,64732],\"mapped\",[1610,1582]],[[64733,64733],\"mapped\",[1610,1605]],[[64734,64734],\"mapped\",[1610,1607]],[[64735,64735],\"mapped\",[1574,1605]],[[64736,64736],\"mapped\",[1574,1607]],[[64737,64737],\"mapped\",[1576,1605]],[[64738,64738],\"mapped\",[1576,1607]],[[64739,64739],\"mapped\",[1578,1605]],[[64740,64740],\"mapped\",[1578,1607]],[[64741,64741],\"mapped\",[1579,1605]],[[64742,64742],\"mapped\",[1579,1607]],[[64743,64743],\"mapped\",[1587,1605]],[[64744,64744],\"mapped\",[1587,1607]],[[64745,64745],\"mapped\",[1588,1605]],[[64746,64746],\"mapped\",[1588,1607]],[[64747,64747],\"mapped\",[1603,1604]],[[64748,64748],\"mapped\",[1603,1605]],[[64749,64749],\"mapped\",[1604,1605]],[[64750,64750],\"mapped\",[1606,1605]],[[64751,64751],\"mapped\",[1606,1607]],[[64752,64752],\"mapped\",[1610,1605]],[[64753,64753],\"mapped\",[1610,1607]],[[64754,64754],\"mapped\",[1600,1614,1617]],[[64755,64755],\"mapped\",[1600,1615,1617]],[[64756,64756],\"mapped\",[1600,1616,1617]],[[64757,64757],\"mapped\",[1591,1609]],[[64758,64758],\"mapped\",[1591,1610]],[[64759,64759],\"mapped\",[1593,1609]],[[64760,64760],\"mapped\",[1593,1610]],[[64761,64761],\"mapped\",[1594,1609]],[[64762,64762],\"mapped\",[1594,1610]],[[64763,64763],\"mapped\",[1587,1609]],[[64764,64764],\"mapped\",[1587,1610]],[[64765,64765],\"mapped\",[1588,1609]],[[64766,64766],\"mapped\",[1588,1610]],[[64767,64767],\"mapped\",[1581,1609]],[[64768,64768],\"mapped\",[1581,1610]],[[64769,64769],\"mapped\",[1580,1609]],[[64770,64770],\"mapped\",[1580,1610]],[[64771,64771],\"mapped\",[1582,1609]],[[64772,64772],\"mapped\",[1582,1610]],[[64773,64773],\"mapped\",[1589,1609]],[[64774,64774],\"mapped\",[1589,1610]],[[64775,64775],\"mapped\",[1590,1609]],[[64776,64776],\"mapped\",[1590,1610]],[[64777,64777],\"mapped\",[1588,1580]],[[64778,64778],\"mapped\",[1588,1581]],[[64779,64779],\"mapped\",[1588,1582]],[[64780,64780],\"mapped\",[1588,1605]],[[64781,64781],\"mapped\",[1588,1585]],[[64782,64782],\"mapped\",[1587,1585]],[[64783,64783],\"mapped\",[1589,1585]],[[64784,64784],\"mapped\",[1590,1585]],[[64785,64785],\"mapped\",[1591,1609]],[[64786,64786],\"mapped\",[1591,1610]],[[64787,64787],\"mapped\",[1593,1609]],[[64788,64788],\"mapped\",[1593,1610]],[[64789,64789],\"mapped\",[1594,1609]],[[64790,64790],\"mapped\",[1594,1610]],[[64791,64791],\"mapped\",[1587,1609]],[[64792,64792],\"mapped\",[1587,1610]],[[64793,64793],\"mapped\",[1588,1609]],[[64794,64794],\"mapped\",[1588,1610]],[[64795,64795],\"mapped\",[1581,1609]],[[64796,64796],\"mapped\",[1581,1610]],[[64797,64797],\"mapped\",[1580,1609]],[[64798,64798],\"mapped\",[1580,1610]],[[64799,64799],\"mapped\",[1582,1609]],[[64800,64800],\"mapped\",[1582,1610]],[[64801,64801],\"mapped\",[1589,1609]],[[64802,64802],\"mapped\",[1589,1610]],[[64803,64803],\"mapped\",[1590,1609]],[[64804,64804],\"mapped\",[1590,1610]],[[64805,64805],\"mapped\",[1588,1580]],[[64806,64806],\"mapped\",[1588,1581]],[[64807,64807],\"mapped\",[1588,1582]],[[64808,64808],\"mapped\",[1588,1605]],[[64809,64809],\"mapped\",[1588,1585]],[[64810,64810],\"mapped\",[1587,1585]],[[64811,64811],\"mapped\",[1589,1585]],[[64812,64812],\"mapped\",[1590,1585]],[[64813,64813],\"mapped\",[1588,1580]],[[64814,64814],\"mapped\",[1588,1581]],[[64815,64815],\"mapped\",[1588,1582]],[[64816,64816],\"mapped\",[1588,1605]],[[64817,64817],\"mapped\",[1587,1607]],[[64818,64818],\"mapped\",[1588,1607]],[[64819,64819],\"mapped\",[1591,1605]],[[64820,64820],\"mapped\",[1587,1580]],[[64821,64821],\"mapped\",[1587,1581]],[[64822,64822],\"mapped\",[1587,1582]],[[64823,64823],\"mapped\",[1588,1580]],[[64824,64824],\"mapped\",[1588,1581]],[[64825,64825],\"mapped\",[1588,1582]],[[64826,64826],\"mapped\",[1591,1605]],[[64827,64827],\"mapped\",[1592,1605]],[[64828,64829],\"mapped\",[1575,1611]],[[64830,64831],\"valid\",[],\"NV8\"],[[64832,64847],\"disallowed\"],[[64848,64848],\"mapped\",[1578,1580,1605]],[[64849,64850],\"mapped\",[1578,1581,1580]],[[64851,64851],\"mapped\",[1578,1581,1605]],[[64852,64852],\"mapped\",[1578,1582,1605]],[[64853,64853],\"mapped\",[1578,1605,1580]],[[64854,64854],\"mapped\",[1578,1605,1581]],[[64855,64855],\"mapped\",[1578,1605,1582]],[[64856,64857],\"mapped\",[1580,1605,1581]],[[64858,64858],\"mapped\",[1581,1605,1610]],[[64859,64859],\"mapped\",[1581,1605,1609]],[[64860,64860],\"mapped\",[1587,1581,1580]],[[64861,64861],\"mapped\",[1587,1580,1581]],[[64862,64862],\"mapped\",[1587,1580,1609]],[[64863,64864],\"mapped\",[1587,1605,1581]],[[64865,64865],\"mapped\",[1587,1605,1580]],[[64866,64867],\"mapped\",[1587,1605,1605]],[[64868,64869],\"mapped\",[1589,1581,1581]],[[64870,64870],\"mapped\",[1589,1605,1605]],[[64871,64872],\"mapped\",[1588,1581,1605]],[[64873,64873],\"mapped\",[1588,1580,1610]],[[64874,64875],\"mapped\",[1588,1605,1582]],[[64876,64877],\"mapped\",[1588,1605,1605]],[[64878,64878],\"mapped\",[1590,1581,1609]],[[64879,64880],\"mapped\",[1590,1582,1605]],[[64881,64882],\"mapped\",[1591,1605,1581]],[[64883,64883],\"mapped\",[1591,1605,1605]],[[64884,64884],\"mapped\",[1591,1605,1610]],[[64885,64885],\"mapped\",[1593,1580,1605]],[[64886,64887],\"mapped\",[1593,1605,1605]],[[64888,64888],\"mapped\",[1593,1605,1609]],[[64889,64889],\"mapped\",[1594,1605,1605]],[[64890,64890],\"mapped\",[1594,1605,1610]],[[64891,64891],\"mapped\",[1594,1605,1609]],[[64892,64893],\"mapped\",[1601,1582,1605]],[[64894,64894],\"mapped\",[1602,1605,1581]],[[64895,64895],\"mapped\",[1602,1605,1605]],[[64896,64896],\"mapped\",[1604,1581,1605]],[[64897,64897],\"mapped\",[1604,1581,1610]],[[64898,64898],\"mapped\",[1604,1581,1609]],[[64899,64900],\"mapped\",[1604,1580,1580]],[[64901,64902],\"mapped\",[1604,1582,1605]],[[64903,64904],\"mapped\",[1604,1605,1581]],[[64905,64905],\"mapped\",[1605,1581,1580]],[[64906,64906],\"mapped\",[1605,1581,1605]],[[64907,64907],\"mapped\",[1605,1581,1610]],[[64908,64908],\"mapped\",[1605,1580,1581]],[[64909,64909],\"mapped\",[1605,1580,1605]],[[64910,64910],\"mapped\",[1605,1582,1580]],[[64911,64911],\"mapped\",[1605,1582,1605]],[[64912,64913],\"disallowed\"],[[64914,64914],\"mapped\",[1605,1580,1582]],[[64915,64915],\"mapped\",[1607,1605,1580]],[[64916,64916],\"mapped\",[1607,1605,1605]],[[64917,64917],\"mapped\",[1606,1581,1605]],[[64918,64918],\"mapped\",[1606,1581,1609]],[[64919,64920],\"mapped\",[1606,1580,1605]],[[64921,64921],\"mapped\",[1606,1580,1609]],[[64922,64922],\"mapped\",[1606,1605,1610]],[[64923,64923],\"mapped\",[1606,1605,1609]],[[64924,64925],\"mapped\",[1610,1605,1605]],[[64926,64926],\"mapped\",[1576,1582,1610]],[[64927,64927],\"mapped\",[1578,1580,1610]],[[64928,64928],\"mapped\",[1578,1580,1609]],[[64929,64929],\"mapped\",[1578,1582,1610]],[[64930,64930],\"mapped\",[1578,1582,1609]],[[64931,64931],\"mapped\",[1578,1605,1610]],[[64932,64932],\"mapped\",[1578,1605,1609]],[[64933,64933],\"mapped\",[1580,1605,1610]],[[64934,64934],\"mapped\",[1580,1581,1609]],[[64935,64935],\"mapped\",[1580,1605,1609]],[[64936,64936],\"mapped\",[1587,1582,1609]],[[64937,64937],\"mapped\",[1589,1581,1610]],[[64938,64938],\"mapped\",[1588,1581,1610]],[[64939,64939],\"mapped\",[1590,1581,1610]],[[64940,64940],\"mapped\",[1604,1580,1610]],[[64941,64941],\"mapped\",[1604,1605,1610]],[[64942,64942],\"mapped\",[1610,1581,1610]],[[64943,64943],\"mapped\",[1610,1580,1610]],[[64944,64944],\"mapped\",[1610,1605,1610]],[[64945,64945],\"mapped\",[1605,1605,1610]],[[64946,64946],\"mapped\",[1602,1605,1610]],[[64947,64947],\"mapped\",[1606,1581,1610]],[[64948,64948],\"mapped\",[1602,1605,1581]],[[64949,64949],\"mapped\",[1604,1581,1605]],[[64950,64950],\"mapped\",[1593,1605,1610]],[[64951,64951],\"mapped\",[1603,1605,1610]],[[64952,64952],\"mapped\",[1606,1580,1581]],[[64953,64953],\"mapped\",[1605,1582,1610]],[[64954,64954],\"mapped\",[1604,1580,1605]],[[64955,64955],\"mapped\",[1603,1605,1605]],[[64956,64956],\"mapped\",[1604,1580,1605]],[[64957,64957],\"mapped\",[1606,1580,1581]],[[64958,64958],\"mapped\",[1580,1581,1610]],[[64959,64959],\"mapped\",[1581,1580,1610]],[[64960,64960],\"mapped\",[1605,1580,1610]],[[64961,64961],\"mapped\",[1601,1605,1610]],[[64962,64962],\"mapped\",[1576,1581,1610]],[[64963,64963],\"mapped\",[1603,1605,1605]],[[64964,64964],\"mapped\",[1593,1580,1605]],[[64965,64965],\"mapped\",[1589,1605,1605]],[[64966,64966],\"mapped\",[1587,1582,1610]],[[64967,64967],\"mapped\",[1606,1580,1610]],[[64968,64975],\"disallowed\"],[[64976,65007],\"disallowed\"],[[65008,65008],\"mapped\",[1589,1604,1746]],[[65009,65009],\"mapped\",[1602,1604,1746]],[[65010,65010],\"mapped\",[1575,1604,1604,1607]],[[65011,65011],\"mapped\",[1575,1603,1576,1585]],[[65012,65012],\"mapped\",[1605,1581,1605,1583]],[[65013,65013],\"mapped\",[1589,1604,1593,1605]],[[65014,65014],\"mapped\",[1585,1587,1608,1604]],[[65015,65015],\"mapped\",[1593,1604,1610,1607]],[[65016,65016],\"mapped\",[1608,1587,1604,1605]],[[65017,65017],\"mapped\",[1589,1604,1609]],[[65018,65018],\"disallowed_STD3_mapped\",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],\"disallowed_STD3_mapped\",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],\"mapped\",[1585,1740,1575,1604]],[[65021,65021],\"valid\",[],\"NV8\"],[[65022,65023],\"disallowed\"],[[65024,65039],\"ignored\"],[[65040,65040],\"disallowed_STD3_mapped\",[44]],[[65041,65041],\"mapped\",[12289]],[[65042,65042],\"disallowed\"],[[65043,65043],\"disallowed_STD3_mapped\",[58]],[[65044,65044],\"disallowed_STD3_mapped\",[59]],[[65045,65045],\"disallowed_STD3_mapped\",[33]],[[65046,65046],\"disallowed_STD3_mapped\",[63]],[[65047,65047],\"mapped\",[12310]],[[65048,65048],\"mapped\",[12311]],[[65049,65049],\"disallowed\"],[[65050,65055],\"disallowed\"],[[65056,65059],\"valid\"],[[65060,65062],\"valid\"],[[65063,65069],\"valid\"],[[65070,65071],\"valid\"],[[65072,65072],\"disallowed\"],[[65073,65073],\"mapped\",[8212]],[[65074,65074],\"mapped\",[8211]],[[65075,65076],\"disallowed_STD3_mapped\",[95]],[[65077,65077],\"disallowed_STD3_mapped\",[40]],[[65078,65078],\"disallowed_STD3_mapped\",[41]],[[65079,65079],\"disallowed_STD3_mapped\",[123]],[[65080,65080],\"disallowed_STD3_mapped\",[125]],[[65081,65081],\"mapped\",[12308]],[[65082,65082],\"mapped\",[12309]],[[65083,65083],\"mapped\",[12304]],[[65084,65084],\"mapped\",[12305]],[[65085,65085],\"mapped\",[12298]],[[65086,65086],\"mapped\",[12299]],[[65087,65087],\"mapped\",[12296]],[[65088,65088],\"mapped\",[12297]],[[65089,65089],\"mapped\",[12300]],[[65090,65090],\"mapped\",[12301]],[[65091,65091],\"mapped\",[12302]],[[65092,65092],\"mapped\",[12303]],[[65093,65094],\"valid\",[],\"NV8\"],[[65095,65095],\"disallowed_STD3_mapped\",[91]],[[65096,65096],\"disallowed_STD3_mapped\",[93]],[[65097,65100],\"disallowed_STD3_mapped\",[32,773]],[[65101,65103],\"disallowed_STD3_mapped\",[95]],[[65104,65104],\"disallowed_STD3_mapped\",[44]],[[65105,65105],\"mapped\",[12289]],[[65106,65106],\"disallowed\"],[[65107,65107],\"disallowed\"],[[65108,65108],\"disallowed_STD3_mapped\",[59]],[[65109,65109],\"disallowed_STD3_mapped\",[58]],[[65110,65110],\"disallowed_STD3_mapped\",[63]],[[65111,65111],\"disallowed_STD3_mapped\",[33]],[[65112,65112],\"mapped\",[8212]],[[65113,65113],\"disallowed_STD3_mapped\",[40]],[[65114,65114],\"disallowed_STD3_mapped\",[41]],[[65115,65115],\"disallowed_STD3_mapped\",[123]],[[65116,65116],\"disallowed_STD3_mapped\",[125]],[[65117,65117],\"mapped\",[12308]],[[65118,65118],\"mapped\",[12309]],[[65119,65119],\"disallowed_STD3_mapped\",[35]],[[65120,65120],\"disallowed_STD3_mapped\",[38]],[[65121,65121],\"disallowed_STD3_mapped\",[42]],[[65122,65122],\"disallowed_STD3_mapped\",[43]],[[65123,65123],\"mapped\",[45]],[[65124,65124],\"disallowed_STD3_mapped\",[60]],[[65125,65125],\"disallowed_STD3_mapped\",[62]],[[65126,65126],\"disallowed_STD3_mapped\",[61]],[[65127,65127],\"disallowed\"],[[65128,65128],\"disallowed_STD3_mapped\",[92]],[[65129,65129],\"disallowed_STD3_mapped\",[36]],[[65130,65130],\"disallowed_STD3_mapped\",[37]],[[65131,65131],\"disallowed_STD3_mapped\",[64]],[[65132,65135],\"disallowed\"],[[65136,65136],\"disallowed_STD3_mapped\",[32,1611]],[[65137,65137],\"mapped\",[1600,1611]],[[65138,65138],\"disallowed_STD3_mapped\",[32,1612]],[[65139,65139],\"valid\"],[[65140,65140],\"disallowed_STD3_mapped\",[32,1613]],[[65141,65141],\"disallowed\"],[[65142,65142],\"disallowed_STD3_mapped\",[32,1614]],[[65143,65143],\"mapped\",[1600,1614]],[[65144,65144],\"disallowed_STD3_mapped\",[32,1615]],[[65145,65145],\"mapped\",[1600,1615]],[[65146,65146],\"disallowed_STD3_mapped\",[32,1616]],[[65147,65147],\"mapped\",[1600,1616]],[[65148,65148],\"disallowed_STD3_mapped\",[32,1617]],[[65149,65149],\"mapped\",[1600,1617]],[[65150,65150],\"disallowed_STD3_mapped\",[32,1618]],[[65151,65151],\"mapped\",[1600,1618]],[[65152,65152],\"mapped\",[1569]],[[65153,65154],\"mapped\",[1570]],[[65155,65156],\"mapped\",[1571]],[[65157,65158],\"mapped\",[1572]],[[65159,65160],\"mapped\",[1573]],[[65161,65164],\"mapped\",[1574]],[[65165,65166],\"mapped\",[1575]],[[65167,65170],\"mapped\",[1576]],[[65171,65172],\"mapped\",[1577]],[[65173,65176],\"mapped\",[1578]],[[65177,65180],\"mapped\",[1579]],[[65181,65184],\"mapped\",[1580]],[[65185,65188],\"mapped\",[1581]],[[65189,65192],\"mapped\",[1582]],[[65193,65194],\"mapped\",[1583]],[[65195,65196],\"mapped\",[1584]],[[65197,65198],\"mapped\",[1585]],[[65199,65200],\"mapped\",[1586]],[[65201,65204],\"mapped\",[1587]],[[65205,65208],\"mapped\",[1588]],[[65209,65212],\"mapped\",[1589]],[[65213,65216],\"mapped\",[1590]],[[65217,65220],\"mapped\",[1591]],[[65221,65224],\"mapped\",[1592]],[[65225,65228],\"mapped\",[1593]],[[65229,65232],\"mapped\",[1594]],[[65233,65236],\"mapped\",[1601]],[[65237,65240],\"mapped\",[1602]],[[65241,65244],\"mapped\",[1603]],[[65245,65248],\"mapped\",[1604]],[[65249,65252],\"mapped\",[1605]],[[65253,65256],\"mapped\",[1606]],[[65257,65260],\"mapped\",[1607]],[[65261,65262],\"mapped\",[1608]],[[65263,65264],\"mapped\",[1609]],[[65265,65268],\"mapped\",[1610]],[[65269,65270],\"mapped\",[1604,1570]],[[65271,65272],\"mapped\",[1604,1571]],[[65273,65274],\"mapped\",[1604,1573]],[[65275,65276],\"mapped\",[1604,1575]],[[65277,65278],\"disallowed\"],[[65279,65279],\"ignored\"],[[65280,65280],\"disallowed\"],[[65281,65281],\"disallowed_STD3_mapped\",[33]],[[65282,65282],\"disallowed_STD3_mapped\",[34]],[[65283,65283],\"disallowed_STD3_mapped\",[35]],[[65284,65284],\"disallowed_STD3_mapped\",[36]],[[65285,65285],\"disallowed_STD3_mapped\",[37]],[[65286,65286],\"disallowed_STD3_mapped\",[38]],[[65287,65287],\"disallowed_STD3_mapped\",[39]],[[65288,65288],\"disallowed_STD3_mapped\",[40]],[[65289,65289],\"disallowed_STD3_mapped\",[41]],[[65290,65290],\"disallowed_STD3_mapped\",[42]],[[65291,65291],\"disallowed_STD3_mapped\",[43]],[[65292,65292],\"disallowed_STD3_mapped\",[44]],[[65293,65293],\"mapped\",[45]],[[65294,65294],\"mapped\",[46]],[[65295,65295],\"disallowed_STD3_mapped\",[47]],[[65296,65296],\"mapped\",[48]],[[65297,65297],\"mapped\",[49]],[[65298,65298],\"mapped\",[50]],[[65299,65299],\"mapped\",[51]],[[65300,65300],\"mapped\",[52]],[[65301,65301],\"mapped\",[53]],[[65302,65302],\"mapped\",[54]],[[65303,65303],\"mapped\",[55]],[[65304,65304],\"mapped\",[56]],[[65305,65305],\"mapped\",[57]],[[65306,65306],\"disallowed_STD3_mapped\",[58]],[[65307,65307],\"disallowed_STD3_mapped\",[59]],[[65308,65308],\"disallowed_STD3_mapped\",[60]],[[65309,65309],\"disallowed_STD3_mapped\",[61]],[[65310,65310],\"disallowed_STD3_mapped\",[62]],[[65311,65311],\"disallowed_STD3_mapped\",[63]],[[65312,65312],\"disallowed_STD3_mapped\",[64]],[[65313,65313],\"mapped\",[97]],[[65314,65314],\"mapped\",[98]],[[65315,65315],\"mapped\",[99]],[[65316,65316],\"mapped\",[100]],[[65317,65317],\"mapped\",[101]],[[65318,65318],\"mapped\",[102]],[[65319,65319],\"mapped\",[103]],[[65320,65320],\"mapped\",[104]],[[65321,65321],\"mapped\",[105]],[[65322,65322],\"mapped\",[106]],[[65323,65323],\"mapped\",[107]],[[65324,65324],\"mapped\",[108]],[[65325,65325],\"mapped\",[109]],[[65326,65326],\"mapped\",[110]],[[65327,65327],\"mapped\",[111]],[[65328,65328],\"mapped\",[112]],[[65329,65329],\"mapped\",[113]],[[65330,65330],\"mapped\",[114]],[[65331,65331],\"mapped\",[115]],[[65332,65332],\"mapped\",[116]],[[65333,65333],\"mapped\",[117]],[[65334,65334],\"mapped\",[118]],[[65335,65335],\"mapped\",[119]],[[65336,65336],\"mapped\",[120]],[[65337,65337],\"mapped\",[121]],[[65338,65338],\"mapped\",[122]],[[65339,65339],\"disallowed_STD3_mapped\",[91]],[[65340,65340],\"disallowed_STD3_mapped\",[92]],[[65341,65341],\"disallowed_STD3_mapped\",[93]],[[65342,65342],\"disallowed_STD3_mapped\",[94]],[[65343,65343],\"disallowed_STD3_mapped\",[95]],[[65344,65344],\"disallowed_STD3_mapped\",[96]],[[65345,65345],\"mapped\",[97]],[[65346,65346],\"mapped\",[98]],[[65347,65347],\"mapped\",[99]],[[65348,65348],\"mapped\",[100]],[[65349,65349],\"mapped\",[101]],[[65350,65350],\"mapped\",[102]],[[65351,65351],\"mapped\",[103]],[[65352,65352],\"mapped\",[104]],[[65353,65353],\"mapped\",[105]],[[65354,65354],\"mapped\",[106]],[[65355,65355],\"mapped\",[107]],[[65356,65356],\"mapped\",[108]],[[65357,65357],\"mapped\",[109]],[[65358,65358],\"mapped\",[110]],[[65359,65359],\"mapped\",[111]],[[65360,65360],\"mapped\",[112]],[[65361,65361],\"mapped\",[113]],[[65362,65362],\"mapped\",[114]],[[65363,65363],\"mapped\",[115]],[[65364,65364],\"mapped\",[116]],[[65365,65365],\"mapped\",[117]],[[65366,65366],\"mapped\",[118]],[[65367,65367],\"mapped\",[119]],[[65368,65368],\"mapped\",[120]],[[65369,65369],\"mapped\",[121]],[[65370,65370],\"mapped\",[122]],[[65371,65371],\"disallowed_STD3_mapped\",[123]],[[65372,65372],\"disallowed_STD3_mapped\",[124]],[[65373,65373],\"disallowed_STD3_mapped\",[125]],[[65374,65374],\"disallowed_STD3_mapped\",[126]],[[65375,65375],\"mapped\",[10629]],[[65376,65376],\"mapped\",[10630]],[[65377,65377],\"mapped\",[46]],[[65378,65378],\"mapped\",[12300]],[[65379,65379],\"mapped\",[12301]],[[65380,65380],\"mapped\",[12289]],[[65381,65381],\"mapped\",[12539]],[[65382,65382],\"mapped\",[12530]],[[65383,65383],\"mapped\",[12449]],[[65384,65384],\"mapped\",[12451]],[[65385,65385],\"mapped\",[12453]],[[65386,65386],\"mapped\",[12455]],[[65387,65387],\"mapped\",[12457]],[[65388,65388],\"mapped\",[12515]],[[65389,65389],\"mapped\",[12517]],[[65390,65390],\"mapped\",[12519]],[[65391,65391],\"mapped\",[12483]],[[65392,65392],\"mapped\",[12540]],[[65393,65393],\"mapped\",[12450]],[[65394,65394],\"mapped\",[12452]],[[65395,65395],\"mapped\",[12454]],[[65396,65396],\"mapped\",[12456]],[[65397,65397],\"mapped\",[12458]],[[65398,65398],\"mapped\",[12459]],[[65399,65399],\"mapped\",[12461]],[[65400,65400],\"mapped\",[12463]],[[65401,65401],\"mapped\",[12465]],[[65402,65402],\"mapped\",[12467]],[[65403,65403],\"mapped\",[12469]],[[65404,65404],\"mapped\",[12471]],[[65405,65405],\"mapped\",[12473]],[[65406,65406],\"mapped\",[12475]],[[65407,65407],\"mapped\",[12477]],[[65408,65408],\"mapped\",[12479]],[[65409,65409],\"mapped\",[12481]],[[65410,65410],\"mapped\",[12484]],[[65411,65411],\"mapped\",[12486]],[[65412,65412],\"mapped\",[12488]],[[65413,65413],\"mapped\",[12490]],[[65414,65414],\"mapped\",[12491]],[[65415,65415],\"mapped\",[12492]],[[65416,65416],\"mapped\",[12493]],[[65417,65417],\"mapped\",[12494]],[[65418,65418],\"mapped\",[12495]],[[65419,65419],\"mapped\",[12498]],[[65420,65420],\"mapped\",[12501]],[[65421,65421],\"mapped\",[12504]],[[65422,65422],\"mapped\",[12507]],[[65423,65423],\"mapped\",[12510]],[[65424,65424],\"mapped\",[12511]],[[65425,65425],\"mapped\",[12512]],[[65426,65426],\"mapped\",[12513]],[[65427,65427],\"mapped\",[12514]],[[65428,65428],\"mapped\",[12516]],[[65429,65429],\"mapped\",[12518]],[[65430,65430],\"mapped\",[12520]],[[65431,65431],\"mapped\",[12521]],[[65432,65432],\"mapped\",[12522]],[[65433,65433],\"mapped\",[12523]],[[65434,65434],\"mapped\",[12524]],[[65435,65435],\"mapped\",[12525]],[[65436,65436],\"mapped\",[12527]],[[65437,65437],\"mapped\",[12531]],[[65438,65438],\"mapped\",[12441]],[[65439,65439],\"mapped\",[12442]],[[65440,65440],\"disallowed\"],[[65441,65441],\"mapped\",[4352]],[[65442,65442],\"mapped\",[4353]],[[65443,65443],\"mapped\",[4522]],[[65444,65444],\"mapped\",[4354]],[[65445,65445],\"mapped\",[4524]],[[65446,65446],\"mapped\",[4525]],[[65447,65447],\"mapped\",[4355]],[[65448,65448],\"mapped\",[4356]],[[65449,65449],\"mapped\",[4357]],[[65450,65450],\"mapped\",[4528]],[[65451,65451],\"mapped\",[4529]],[[65452,65452],\"mapped\",[4530]],[[65453,65453],\"mapped\",[4531]],[[65454,65454],\"mapped\",[4532]],[[65455,65455],\"mapped\",[4533]],[[65456,65456],\"mapped\",[4378]],[[65457,65457],\"mapped\",[4358]],[[65458,65458],\"mapped\",[4359]],[[65459,65459],\"mapped\",[4360]],[[65460,65460],\"mapped\",[4385]],[[65461,65461],\"mapped\",[4361]],[[65462,65462],\"mapped\",[4362]],[[65463,65463],\"mapped\",[4363]],[[65464,65464],\"mapped\",[4364]],[[65465,65465],\"mapped\",[4365]],[[65466,65466],\"mapped\",[4366]],[[65467,65467],\"mapped\",[4367]],[[65468,65468],\"mapped\",[4368]],[[65469,65469],\"mapped\",[4369]],[[65470,65470],\"mapped\",[4370]],[[65471,65473],\"disallowed\"],[[65474,65474],\"mapped\",[4449]],[[65475,65475],\"mapped\",[4450]],[[65476,65476],\"mapped\",[4451]],[[65477,65477],\"mapped\",[4452]],[[65478,65478],\"mapped\",[4453]],[[65479,65479],\"mapped\",[4454]],[[65480,65481],\"disallowed\"],[[65482,65482],\"mapped\",[4455]],[[65483,65483],\"mapped\",[4456]],[[65484,65484],\"mapped\",[4457]],[[65485,65485],\"mapped\",[4458]],[[65486,65486],\"mapped\",[4459]],[[65487,65487],\"mapped\",[4460]],[[65488,65489],\"disallowed\"],[[65490,65490],\"mapped\",[4461]],[[65491,65491],\"mapped\",[4462]],[[65492,65492],\"mapped\",[4463]],[[65493,65493],\"mapped\",[4464]],[[65494,65494],\"mapped\",[4465]],[[65495,65495],\"mapped\",[4466]],[[65496,65497],\"disallowed\"],[[65498,65498],\"mapped\",[4467]],[[65499,65499],\"mapped\",[4468]],[[65500,65500],\"mapped\",[4469]],[[65501,65503],\"disallowed\"],[[65504,65504],\"mapped\",[162]],[[65505,65505],\"mapped\",[163]],[[65506,65506],\"mapped\",[172]],[[65507,65507],\"disallowed_STD3_mapped\",[32,772]],[[65508,65508],\"mapped\",[166]],[[65509,65509],\"mapped\",[165]],[[65510,65510],\"mapped\",[8361]],[[65511,65511],\"disallowed\"],[[65512,65512],\"mapped\",[9474]],[[65513,65513],\"mapped\",[8592]],[[65514,65514],\"mapped\",[8593]],[[65515,65515],\"mapped\",[8594]],[[65516,65516],\"mapped\",[8595]],[[65517,65517],\"mapped\",[9632]],[[65518,65518],\"mapped\",[9675]],[[65519,65528],\"disallowed\"],[[65529,65531],\"disallowed\"],[[65532,65532],\"disallowed\"],[[65533,65533],\"disallowed\"],[[65534,65535],\"disallowed\"],[[65536,65547],\"valid\"],[[65548,65548],\"disallowed\"],[[65549,65574],\"valid\"],[[65575,65575],\"disallowed\"],[[65576,65594],\"valid\"],[[65595,65595],\"disallowed\"],[[65596,65597],\"valid\"],[[65598,65598],\"disallowed\"],[[65599,65613],\"valid\"],[[65614,65615],\"disallowed\"],[[65616,65629],\"valid\"],[[65630,65663],\"disallowed\"],[[65664,65786],\"valid\"],[[65787,65791],\"disallowed\"],[[65792,65794],\"valid\",[],\"NV8\"],[[65795,65798],\"disallowed\"],[[65799,65843],\"valid\",[],\"NV8\"],[[65844,65846],\"disallowed\"],[[65847,65855],\"valid\",[],\"NV8\"],[[65856,65930],\"valid\",[],\"NV8\"],[[65931,65932],\"valid\",[],\"NV8\"],[[65933,65935],\"disallowed\"],[[65936,65947],\"valid\",[],\"NV8\"],[[65948,65951],\"disallowed\"],[[65952,65952],\"valid\",[],\"NV8\"],[[65953,65999],\"disallowed\"],[[66000,66044],\"valid\",[],\"NV8\"],[[66045,66045],\"valid\"],[[66046,66175],\"disallowed\"],[[66176,66204],\"valid\"],[[66205,66207],\"disallowed\"],[[66208,66256],\"valid\"],[[66257,66271],\"disallowed\"],[[66272,66272],\"valid\"],[[66273,66299],\"valid\",[],\"NV8\"],[[66300,66303],\"disallowed\"],[[66304,66334],\"valid\"],[[66335,66335],\"valid\"],[[66336,66339],\"valid\",[],\"NV8\"],[[66340,66351],\"disallowed\"],[[66352,66368],\"valid\"],[[66369,66369],\"valid\",[],\"NV8\"],[[66370,66377],\"valid\"],[[66378,66378],\"valid\",[],\"NV8\"],[[66379,66383],\"disallowed\"],[[66384,66426],\"valid\"],[[66427,66431],\"disallowed\"],[[66432,66461],\"valid\"],[[66462,66462],\"disallowed\"],[[66463,66463],\"valid\",[],\"NV8\"],[[66464,66499],\"valid\"],[[66500,66503],\"disallowed\"],[[66504,66511],\"valid\"],[[66512,66517],\"valid\",[],\"NV8\"],[[66518,66559],\"disallowed\"],[[66560,66560],\"mapped\",[66600]],[[66561,66561],\"mapped\",[66601]],[[66562,66562],\"mapped\",[66602]],[[66563,66563],\"mapped\",[66603]],[[66564,66564],\"mapped\",[66604]],[[66565,66565],\"mapped\",[66605]],[[66566,66566],\"mapped\",[66606]],[[66567,66567],\"mapped\",[66607]],[[66568,66568],\"mapped\",[66608]],[[66569,66569],\"mapped\",[66609]],[[66570,66570],\"mapped\",[66610]],[[66571,66571],\"mapped\",[66611]],[[66572,66572],\"mapped\",[66612]],[[66573,66573],\"mapped\",[66613]],[[66574,66574],\"mapped\",[66614]],[[66575,66575],\"mapped\",[66615]],[[66576,66576],\"mapped\",[66616]],[[66577,66577],\"mapped\",[66617]],[[66578,66578],\"mapped\",[66618]],[[66579,66579],\"mapped\",[66619]],[[66580,66580],\"mapped\",[66620]],[[66581,66581],\"mapped\",[66621]],[[66582,66582],\"mapped\",[66622]],[[66583,66583],\"mapped\",[66623]],[[66584,66584],\"mapped\",[66624]],[[66585,66585],\"mapped\",[66625]],[[66586,66586],\"mapped\",[66626]],[[66587,66587],\"mapped\",[66627]],[[66588,66588],\"mapped\",[66628]],[[66589,66589],\"mapped\",[66629]],[[66590,66590],\"mapped\",[66630]],[[66591,66591],\"mapped\",[66631]],[[66592,66592],\"mapped\",[66632]],[[66593,66593],\"mapped\",[66633]],[[66594,66594],\"mapped\",[66634]],[[66595,66595],\"mapped\",[66635]],[[66596,66596],\"mapped\",[66636]],[[66597,66597],\"mapped\",[66637]],[[66598,66598],\"mapped\",[66638]],[[66599,66599],\"mapped\",[66639]],[[66600,66637],\"valid\"],[[66638,66717],\"valid\"],[[66718,66719],\"disallowed\"],[[66720,66729],\"valid\"],[[66730,66815],\"disallowed\"],[[66816,66855],\"valid\"],[[66856,66863],\"disallowed\"],[[66864,66915],\"valid\"],[[66916,66926],\"disallowed\"],[[66927,66927],\"valid\",[],\"NV8\"],[[66928,67071],\"disallowed\"],[[67072,67382],\"valid\"],[[67383,67391],\"disallowed\"],[[67392,67413],\"valid\"],[[67414,67423],\"disallowed\"],[[67424,67431],\"valid\"],[[67432,67583],\"disallowed\"],[[67584,67589],\"valid\"],[[67590,67591],\"disallowed\"],[[67592,67592],\"valid\"],[[67593,67593],\"disallowed\"],[[67594,67637],\"valid\"],[[67638,67638],\"disallowed\"],[[67639,67640],\"valid\"],[[67641,67643],\"disallowed\"],[[67644,67644],\"valid\"],[[67645,67646],\"disallowed\"],[[67647,67647],\"valid\"],[[67648,67669],\"valid\"],[[67670,67670],\"disallowed\"],[[67671,67679],\"valid\",[],\"NV8\"],[[67680,67702],\"valid\"],[[67703,67711],\"valid\",[],\"NV8\"],[[67712,67742],\"valid\"],[[67743,67750],\"disallowed\"],[[67751,67759],\"valid\",[],\"NV8\"],[[67760,67807],\"disallowed\"],[[67808,67826],\"valid\"],[[67827,67827],\"disallowed\"],[[67828,67829],\"valid\"],[[67830,67834],\"disallowed\"],[[67835,67839],\"valid\",[],\"NV8\"],[[67840,67861],\"valid\"],[[67862,67865],\"valid\",[],\"NV8\"],[[67866,67867],\"valid\",[],\"NV8\"],[[67868,67870],\"disallowed\"],[[67871,67871],\"valid\",[],\"NV8\"],[[67872,67897],\"valid\"],[[67898,67902],\"disallowed\"],[[67903,67903],\"valid\",[],\"NV8\"],[[67904,67967],\"disallowed\"],[[67968,68023],\"valid\"],[[68024,68027],\"disallowed\"],[[68028,68029],\"valid\",[],\"NV8\"],[[68030,68031],\"valid\"],[[68032,68047],\"valid\",[],\"NV8\"],[[68048,68049],\"disallowed\"],[[68050,68095],\"valid\",[],\"NV8\"],[[68096,68099],\"valid\"],[[68100,68100],\"disallowed\"],[[68101,68102],\"valid\"],[[68103,68107],\"disallowed\"],[[68108,68115],\"valid\"],[[68116,68116],\"disallowed\"],[[68117,68119],\"valid\"],[[68120,68120],\"disallowed\"],[[68121,68147],\"valid\"],[[68148,68151],\"disallowed\"],[[68152,68154],\"valid\"],[[68155,68158],\"disallowed\"],[[68159,68159],\"valid\"],[[68160,68167],\"valid\",[],\"NV8\"],[[68168,68175],\"disallowed\"],[[68176,68184],\"valid\",[],\"NV8\"],[[68185,68191],\"disallowed\"],[[68192,68220],\"valid\"],[[68221,68223],\"valid\",[],\"NV8\"],[[68224,68252],\"valid\"],[[68253,68255],\"valid\",[],\"NV8\"],[[68256,68287],\"disallowed\"],[[68288,68295],\"valid\"],[[68296,68296],\"valid\",[],\"NV8\"],[[68297,68326],\"valid\"],[[68327,68330],\"disallowed\"],[[68331,68342],\"valid\",[],\"NV8\"],[[68343,68351],\"disallowed\"],[[68352,68405],\"valid\"],[[68406,68408],\"disallowed\"],[[68409,68415],\"valid\",[],\"NV8\"],[[68416,68437],\"valid\"],[[68438,68439],\"disallowed\"],[[68440,68447],\"valid\",[],\"NV8\"],[[68448,68466],\"valid\"],[[68467,68471],\"disallowed\"],[[68472,68479],\"valid\",[],\"NV8\"],[[68480,68497],\"valid\"],[[68498,68504],\"disallowed\"],[[68505,68508],\"valid\",[],\"NV8\"],[[68509,68520],\"disallowed\"],[[68521,68527],\"valid\",[],\"NV8\"],[[68528,68607],\"disallowed\"],[[68608,68680],\"valid\"],[[68681,68735],\"disallowed\"],[[68736,68736],\"mapped\",[68800]],[[68737,68737],\"mapped\",[68801]],[[68738,68738],\"mapped\",[68802]],[[68739,68739],\"mapped\",[68803]],[[68740,68740],\"mapped\",[68804]],[[68741,68741],\"mapped\",[68805]],[[68742,68742],\"mapped\",[68806]],[[68743,68743],\"mapped\",[68807]],[[68744,68744],\"mapped\",[68808]],[[68745,68745],\"mapped\",[68809]],[[68746,68746],\"mapped\",[68810]],[[68747,68747],\"mapped\",[68811]],[[68748,68748],\"mapped\",[68812]],[[68749,68749],\"mapped\",[68813]],[[68750,68750],\"mapped\",[68814]],[[68751,68751],\"mapped\",[68815]],[[68752,68752],\"mapped\",[68816]],[[68753,68753],\"mapped\",[68817]],[[68754,68754],\"mapped\",[68818]],[[68755,68755],\"mapped\",[68819]],[[68756,68756],\"mapped\",[68820]],[[68757,68757],\"mapped\",[68821]],[[68758,68758],\"mapped\",[68822]],[[68759,68759],\"mapped\",[68823]],[[68760,68760],\"mapped\",[68824]],[[68761,68761],\"mapped\",[68825]],[[68762,68762],\"mapped\",[68826]],[[68763,68763],\"mapped\",[68827]],[[68764,68764],\"mapped\",[68828]],[[68765,68765],\"mapped\",[68829]],[[68766,68766],\"mapped\",[68830]],[[68767,68767],\"mapped\",[68831]],[[68768,68768],\"mapped\",[68832]],[[68769,68769],\"mapped\",[68833]],[[68770,68770],\"mapped\",[68834]],[[68771,68771],\"mapped\",[68835]],[[68772,68772],\"mapped\",[68836]],[[68773,68773],\"mapped\",[68837]],[[68774,68774],\"mapped\",[68838]],[[68775,68775],\"mapped\",[68839]],[[68776,68776],\"mapped\",[68840]],[[68777,68777],\"mapped\",[68841]],[[68778,68778],\"mapped\",[68842]],[[68779,68779],\"mapped\",[68843]],[[68780,68780],\"mapped\",[68844]],[[68781,68781],\"mapped\",[68845]],[[68782,68782],\"mapped\",[68846]],[[68783,68783],\"mapped\",[68847]],[[68784,68784],\"mapped\",[68848]],[[68785,68785],\"mapped\",[68849]],[[68786,68786],\"mapped\",[68850]],[[68787,68799],\"disallowed\"],[[68800,68850],\"valid\"],[[68851,68857],\"disallowed\"],[[68858,68863],\"valid\",[],\"NV8\"],[[68864,69215],\"disallowed\"],[[69216,69246],\"valid\",[],\"NV8\"],[[69247,69631],\"disallowed\"],[[69632,69702],\"valid\"],[[69703,69709],\"valid\",[],\"NV8\"],[[69710,69713],\"disallowed\"],[[69714,69733],\"valid\",[],\"NV8\"],[[69734,69743],\"valid\"],[[69744,69758],\"disallowed\"],[[69759,69759],\"valid\"],[[69760,69818],\"valid\"],[[69819,69820],\"valid\",[],\"NV8\"],[[69821,69821],\"disallowed\"],[[69822,69825],\"valid\",[],\"NV8\"],[[69826,69839],\"disallowed\"],[[69840,69864],\"valid\"],[[69865,69871],\"disallowed\"],[[69872,69881],\"valid\"],[[69882,69887],\"disallowed\"],[[69888,69940],\"valid\"],[[69941,69941],\"disallowed\"],[[69942,69951],\"valid\"],[[69952,69955],\"valid\",[],\"NV8\"],[[69956,69967],\"disallowed\"],[[69968,70003],\"valid\"],[[70004,70005],\"valid\",[],\"NV8\"],[[70006,70006],\"valid\"],[[70007,70015],\"disallowed\"],[[70016,70084],\"valid\"],[[70085,70088],\"valid\",[],\"NV8\"],[[70089,70089],\"valid\",[],\"NV8\"],[[70090,70092],\"valid\"],[[70093,70093],\"valid\",[],\"NV8\"],[[70094,70095],\"disallowed\"],[[70096,70105],\"valid\"],[[70106,70106],\"valid\"],[[70107,70107],\"valid\",[],\"NV8\"],[[70108,70108],\"valid\"],[[70109,70111],\"valid\",[],\"NV8\"],[[70112,70112],\"disallowed\"],[[70113,70132],\"valid\",[],\"NV8\"],[[70133,70143],\"disallowed\"],[[70144,70161],\"valid\"],[[70162,70162],\"disallowed\"],[[70163,70199],\"valid\"],[[70200,70205],\"valid\",[],\"NV8\"],[[70206,70271],\"disallowed\"],[[70272,70278],\"valid\"],[[70279,70279],\"disallowed\"],[[70280,70280],\"valid\"],[[70281,70281],\"disallowed\"],[[70282,70285],\"valid\"],[[70286,70286],\"disallowed\"],[[70287,70301],\"valid\"],[[70302,70302],\"disallowed\"],[[70303,70312],\"valid\"],[[70313,70313],\"valid\",[],\"NV8\"],[[70314,70319],\"disallowed\"],[[70320,70378],\"valid\"],[[70379,70383],\"disallowed\"],[[70384,70393],\"valid\"],[[70394,70399],\"disallowed\"],[[70400,70400],\"valid\"],[[70401,70403],\"valid\"],[[70404,70404],\"disallowed\"],[[70405,70412],\"valid\"],[[70413,70414],\"disallowed\"],[[70415,70416],\"valid\"],[[70417,70418],\"disallowed\"],[[70419,70440],\"valid\"],[[70441,70441],\"disallowed\"],[[70442,70448],\"valid\"],[[70449,70449],\"disallowed\"],[[70450,70451],\"valid\"],[[70452,70452],\"disallowed\"],[[70453,70457],\"valid\"],[[70458,70459],\"disallowed\"],[[70460,70468],\"valid\"],[[70469,70470],\"disallowed\"],[[70471,70472],\"valid\"],[[70473,70474],\"disallowed\"],[[70475,70477],\"valid\"],[[70478,70479],\"disallowed\"],[[70480,70480],\"valid\"],[[70481,70486],\"disallowed\"],[[70487,70487],\"valid\"],[[70488,70492],\"disallowed\"],[[70493,70499],\"valid\"],[[70500,70501],\"disallowed\"],[[70502,70508],\"valid\"],[[70509,70511],\"disallowed\"],[[70512,70516],\"valid\"],[[70517,70783],\"disallowed\"],[[70784,70853],\"valid\"],[[70854,70854],\"valid\",[],\"NV8\"],[[70855,70855],\"valid\"],[[70856,70863],\"disallowed\"],[[70864,70873],\"valid\"],[[70874,71039],\"disallowed\"],[[71040,71093],\"valid\"],[[71094,71095],\"disallowed\"],[[71096,71104],\"valid\"],[[71105,71113],\"valid\",[],\"NV8\"],[[71114,71127],\"valid\",[],\"NV8\"],[[71128,71133],\"valid\"],[[71134,71167],\"disallowed\"],[[71168,71232],\"valid\"],[[71233,71235],\"valid\",[],\"NV8\"],[[71236,71236],\"valid\"],[[71237,71247],\"disallowed\"],[[71248,71257],\"valid\"],[[71258,71295],\"disallowed\"],[[71296,71351],\"valid\"],[[71352,71359],\"disallowed\"],[[71360,71369],\"valid\"],[[71370,71423],\"disallowed\"],[[71424,71449],\"valid\"],[[71450,71452],\"disallowed\"],[[71453,71467],\"valid\"],[[71468,71471],\"disallowed\"],[[71472,71481],\"valid\"],[[71482,71487],\"valid\",[],\"NV8\"],[[71488,71839],\"disallowed\"],[[71840,71840],\"mapped\",[71872]],[[71841,71841],\"mapped\",[71873]],[[71842,71842],\"mapped\",[71874]],[[71843,71843],\"mapped\",[71875]],[[71844,71844],\"mapped\",[71876]],[[71845,71845],\"mapped\",[71877]],[[71846,71846],\"mapped\",[71878]],[[71847,71847],\"mapped\",[71879]],[[71848,71848],\"mapped\",[71880]],[[71849,71849],\"mapped\",[71881]],[[71850,71850],\"mapped\",[71882]],[[71851,71851],\"mapped\",[71883]],[[71852,71852],\"mapped\",[71884]],[[71853,71853],\"mapped\",[71885]],[[71854,71854],\"mapped\",[71886]],[[71855,71855],\"mapped\",[71887]],[[71856,71856],\"mapped\",[71888]],[[71857,71857],\"mapped\",[71889]],[[71858,71858],\"mapped\",[71890]],[[71859,71859],\"mapped\",[71891]],[[71860,71860],\"mapped\",[71892]],[[71861,71861],\"mapped\",[71893]],[[71862,71862],\"mapped\",[71894]],[[71863,71863],\"mapped\",[71895]],[[71864,71864],\"mapped\",[71896]],[[71865,71865],\"mapped\",[71897]],[[71866,71866],\"mapped\",[71898]],[[71867,71867],\"mapped\",[71899]],[[71868,71868],\"mapped\",[71900]],[[71869,71869],\"mapped\",[71901]],[[71870,71870],\"mapped\",[71902]],[[71871,71871],\"mapped\",[71903]],[[71872,71913],\"valid\"],[[71914,71922],\"valid\",[],\"NV8\"],[[71923,71934],\"disallowed\"],[[71935,71935],\"valid\"],[[71936,72383],\"disallowed\"],[[72384,72440],\"valid\"],[[72441,73727],\"disallowed\"],[[73728,74606],\"valid\"],[[74607,74648],\"valid\"],[[74649,74649],\"valid\"],[[74650,74751],\"disallowed\"],[[74752,74850],\"valid\",[],\"NV8\"],[[74851,74862],\"valid\",[],\"NV8\"],[[74863,74863],\"disallowed\"],[[74864,74867],\"valid\",[],\"NV8\"],[[74868,74868],\"valid\",[],\"NV8\"],[[74869,74879],\"disallowed\"],[[74880,75075],\"valid\"],[[75076,77823],\"disallowed\"],[[77824,78894],\"valid\"],[[78895,82943],\"disallowed\"],[[82944,83526],\"valid\"],[[83527,92159],\"disallowed\"],[[92160,92728],\"valid\"],[[92729,92735],\"disallowed\"],[[92736,92766],\"valid\"],[[92767,92767],\"disallowed\"],[[92768,92777],\"valid\"],[[92778,92781],\"disallowed\"],[[92782,92783],\"valid\",[],\"NV8\"],[[92784,92879],\"disallowed\"],[[92880,92909],\"valid\"],[[92910,92911],\"disallowed\"],[[92912,92916],\"valid\"],[[92917,92917],\"valid\",[],\"NV8\"],[[92918,92927],\"disallowed\"],[[92928,92982],\"valid\"],[[92983,92991],\"valid\",[],\"NV8\"],[[92992,92995],\"valid\"],[[92996,92997],\"valid\",[],\"NV8\"],[[92998,93007],\"disallowed\"],[[93008,93017],\"valid\"],[[93018,93018],\"disallowed\"],[[93019,93025],\"valid\",[],\"NV8\"],[[93026,93026],\"disallowed\"],[[93027,93047],\"valid\"],[[93048,93052],\"disallowed\"],[[93053,93071],\"valid\"],[[93072,93951],\"disallowed\"],[[93952,94020],\"valid\"],[[94021,94031],\"disallowed\"],[[94032,94078],\"valid\"],[[94079,94094],\"disallowed\"],[[94095,94111],\"valid\"],[[94112,110591],\"disallowed\"],[[110592,110593],\"valid\"],[[110594,113663],\"disallowed\"],[[113664,113770],\"valid\"],[[113771,113775],\"disallowed\"],[[113776,113788],\"valid\"],[[113789,113791],\"disallowed\"],[[113792,113800],\"valid\"],[[113801,113807],\"disallowed\"],[[113808,113817],\"valid\"],[[113818,113819],\"disallowed\"],[[113820,113820],\"valid\",[],\"NV8\"],[[113821,113822],\"valid\"],[[113823,113823],\"valid\",[],\"NV8\"],[[113824,113827],\"ignored\"],[[113828,118783],\"disallowed\"],[[118784,119029],\"valid\",[],\"NV8\"],[[119030,119039],\"disallowed\"],[[119040,119078],\"valid\",[],\"NV8\"],[[119079,119080],\"disallowed\"],[[119081,119081],\"valid\",[],\"NV8\"],[[119082,119133],\"valid\",[],\"NV8\"],[[119134,119134],\"mapped\",[119127,119141]],[[119135,119135],\"mapped\",[119128,119141]],[[119136,119136],\"mapped\",[119128,119141,119150]],[[119137,119137],\"mapped\",[119128,119141,119151]],[[119138,119138],\"mapped\",[119128,119141,119152]],[[119139,119139],\"mapped\",[119128,119141,119153]],[[119140,119140],\"mapped\",[119128,119141,119154]],[[119141,119154],\"valid\",[],\"NV8\"],[[119155,119162],\"disallowed\"],[[119163,119226],\"valid\",[],\"NV8\"],[[119227,119227],\"mapped\",[119225,119141]],[[119228,119228],\"mapped\",[119226,119141]],[[119229,119229],\"mapped\",[119225,119141,119150]],[[119230,119230],\"mapped\",[119226,119141,119150]],[[119231,119231],\"mapped\",[119225,119141,119151]],[[119232,119232],\"mapped\",[119226,119141,119151]],[[119233,119261],\"valid\",[],\"NV8\"],[[119262,119272],\"valid\",[],\"NV8\"],[[119273,119295],\"disallowed\"],[[119296,119365],\"valid\",[],\"NV8\"],[[119366,119551],\"disallowed\"],[[119552,119638],\"valid\",[],\"NV8\"],[[119639,119647],\"disallowed\"],[[119648,119665],\"valid\",[],\"NV8\"],[[119666,119807],\"disallowed\"],[[119808,119808],\"mapped\",[97]],[[119809,119809],\"mapped\",[98]],[[119810,119810],\"mapped\",[99]],[[119811,119811],\"mapped\",[100]],[[119812,119812],\"mapped\",[101]],[[119813,119813],\"mapped\",[102]],[[119814,119814],\"mapped\",[103]],[[119815,119815],\"mapped\",[104]],[[119816,119816],\"mapped\",[105]],[[119817,119817],\"mapped\",[106]],[[119818,119818],\"mapped\",[107]],[[119819,119819],\"mapped\",[108]],[[119820,119820],\"mapped\",[109]],[[119821,119821],\"mapped\",[110]],[[119822,119822],\"mapped\",[111]],[[119823,119823],\"mapped\",[112]],[[119824,119824],\"mapped\",[113]],[[119825,119825],\"mapped\",[114]],[[119826,119826],\"mapped\",[115]],[[119827,119827],\"mapped\",[116]],[[119828,119828],\"mapped\",[117]],[[119829,119829],\"mapped\",[118]],[[119830,119830],\"mapped\",[119]],[[119831,119831],\"mapped\",[120]],[[119832,119832],\"mapped\",[121]],[[119833,119833],\"mapped\",[122]],[[119834,119834],\"mapped\",[97]],[[119835,119835],\"mapped\",[98]],[[119836,119836],\"mapped\",[99]],[[119837,119837],\"mapped\",[100]],[[119838,119838],\"mapped\",[101]],[[119839,119839],\"mapped\",[102]],[[119840,119840],\"mapped\",[103]],[[119841,119841],\"mapped\",[104]],[[119842,119842],\"mapped\",[105]],[[119843,119843],\"mapped\",[106]],[[119844,119844],\"mapped\",[107]],[[119845,119845],\"mapped\",[108]],[[119846,119846],\"mapped\",[109]],[[119847,119847],\"mapped\",[110]],[[119848,119848],\"mapped\",[111]],[[119849,119849],\"mapped\",[112]],[[119850,119850],\"mapped\",[113]],[[119851,119851],\"mapped\",[114]],[[119852,119852],\"mapped\",[115]],[[119853,119853],\"mapped\",[116]],[[119854,119854],\"mapped\",[117]],[[119855,119855],\"mapped\",[118]],[[119856,119856],\"mapped\",[119]],[[119857,119857],\"mapped\",[120]],[[119858,119858],\"mapped\",[121]],[[119859,119859],\"mapped\",[122]],[[119860,119860],\"mapped\",[97]],[[119861,119861],\"mapped\",[98]],[[119862,119862],\"mapped\",[99]],[[119863,119863],\"mapped\",[100]],[[119864,119864],\"mapped\",[101]],[[119865,119865],\"mapped\",[102]],[[119866,119866],\"mapped\",[103]],[[119867,119867],\"mapped\",[104]],[[119868,119868],\"mapped\",[105]],[[119869,119869],\"mapped\",[106]],[[119870,119870],\"mapped\",[107]],[[119871,119871],\"mapped\",[108]],[[119872,119872],\"mapped\",[109]],[[119873,119873],\"mapped\",[110]],[[119874,119874],\"mapped\",[111]],[[119875,119875],\"mapped\",[112]],[[119876,119876],\"mapped\",[113]],[[119877,119877],\"mapped\",[114]],[[119878,119878],\"mapped\",[115]],[[119879,119879],\"mapped\",[116]],[[119880,119880],\"mapped\",[117]],[[119881,119881],\"mapped\",[118]],[[119882,119882],\"mapped\",[119]],[[119883,119883],\"mapped\",[120]],[[119884,119884],\"mapped\",[121]],[[119885,119885],\"mapped\",[122]],[[119886,119886],\"mapped\",[97]],[[119887,119887],\"mapped\",[98]],[[119888,119888],\"mapped\",[99]],[[119889,119889],\"mapped\",[100]],[[119890,119890],\"mapped\",[101]],[[119891,119891],\"mapped\",[102]],[[119892,119892],\"mapped\",[103]],[[119893,119893],\"disallowed\"],[[119894,119894],\"mapped\",[105]],[[119895,119895],\"mapped\",[106]],[[119896,119896],\"mapped\",[107]],[[119897,119897],\"mapped\",[108]],[[119898,119898],\"mapped\",[109]],[[119899,119899],\"mapped\",[110]],[[119900,119900],\"mapped\",[111]],[[119901,119901],\"mapped\",[112]],[[119902,119902],\"mapped\",[113]],[[119903,119903],\"mapped\",[114]],[[119904,119904],\"mapped\",[115]],[[119905,119905],\"mapped\",[116]],[[119906,119906],\"mapped\",[117]],[[119907,119907],\"mapped\",[118]],[[119908,119908],\"mapped\",[119]],[[119909,119909],\"mapped\",[120]],[[119910,119910],\"mapped\",[121]],[[119911,119911],\"mapped\",[122]],[[119912,119912],\"mapped\",[97]],[[119913,119913],\"mapped\",[98]],[[119914,119914],\"mapped\",[99]],[[119915,119915],\"mapped\",[100]],[[119916,119916],\"mapped\",[101]],[[119917,119917],\"mapped\",[102]],[[119918,119918],\"mapped\",[103]],[[119919,119919],\"mapped\",[104]],[[119920,119920],\"mapped\",[105]],[[119921,119921],\"mapped\",[106]],[[119922,119922],\"mapped\",[107]],[[119923,119923],\"mapped\",[108]],[[119924,119924],\"mapped\",[109]],[[119925,119925],\"mapped\",[110]],[[119926,119926],\"mapped\",[111]],[[119927,119927],\"mapped\",[112]],[[119928,119928],\"mapped\",[113]],[[119929,119929],\"mapped\",[114]],[[119930,119930],\"mapped\",[115]],[[119931,119931],\"mapped\",[116]],[[119932,119932],\"mapped\",[117]],[[119933,119933],\"mapped\",[118]],[[119934,119934],\"mapped\",[119]],[[119935,119935],\"mapped\",[120]],[[119936,119936],\"mapped\",[121]],[[119937,119937],\"mapped\",[122]],[[119938,119938],\"mapped\",[97]],[[119939,119939],\"mapped\",[98]],[[119940,119940],\"mapped\",[99]],[[119941,119941],\"mapped\",[100]],[[119942,119942],\"mapped\",[101]],[[119943,119943],\"mapped\",[102]],[[119944,119944],\"mapped\",[103]],[[119945,119945],\"mapped\",[104]],[[119946,119946],\"mapped\",[105]],[[119947,119947],\"mapped\",[106]],[[119948,119948],\"mapped\",[107]],[[119949,119949],\"mapped\",[108]],[[119950,119950],\"mapped\",[109]],[[119951,119951],\"mapped\",[110]],[[119952,119952],\"mapped\",[111]],[[119953,119953],\"mapped\",[112]],[[119954,119954],\"mapped\",[113]],[[119955,119955],\"mapped\",[114]],[[119956,119956],\"mapped\",[115]],[[119957,119957],\"mapped\",[116]],[[119958,119958],\"mapped\",[117]],[[119959,119959],\"mapped\",[118]],[[119960,119960],\"mapped\",[119]],[[119961,119961],\"mapped\",[120]],[[119962,119962],\"mapped\",[121]],[[119963,119963],\"mapped\",[122]],[[119964,119964],\"mapped\",[97]],[[119965,119965],\"disallowed\"],[[119966,119966],\"mapped\",[99]],[[119967,119967],\"mapped\",[100]],[[119968,119969],\"disallowed\"],[[119970,119970],\"mapped\",[103]],[[119971,119972],\"disallowed\"],[[119973,119973],\"mapped\",[106]],[[119974,119974],\"mapped\",[107]],[[119975,119976],\"disallowed\"],[[119977,119977],\"mapped\",[110]],[[119978,119978],\"mapped\",[111]],[[119979,119979],\"mapped\",[112]],[[119980,119980],\"mapped\",[113]],[[119981,119981],\"disallowed\"],[[119982,119982],\"mapped\",[115]],[[119983,119983],\"mapped\",[116]],[[119984,119984],\"mapped\",[117]],[[119985,119985],\"mapped\",[118]],[[119986,119986],\"mapped\",[119]],[[119987,119987],\"mapped\",[120]],[[119988,119988],\"mapped\",[121]],[[119989,119989],\"mapped\",[122]],[[119990,119990],\"mapped\",[97]],[[119991,119991],\"mapped\",[98]],[[119992,119992],\"mapped\",[99]],[[119993,119993],\"mapped\",[100]],[[119994,119994],\"disallowed\"],[[119995,119995],\"mapped\",[102]],[[119996,119996],\"disallowed\"],[[119997,119997],\"mapped\",[104]],[[119998,119998],\"mapped\",[105]],[[119999,119999],\"mapped\",[106]],[[120000,120000],\"mapped\",[107]],[[120001,120001],\"mapped\",[108]],[[120002,120002],\"mapped\",[109]],[[120003,120003],\"mapped\",[110]],[[120004,120004],\"disallowed\"],[[120005,120005],\"mapped\",[112]],[[120006,120006],\"mapped\",[113]],[[120007,120007],\"mapped\",[114]],[[120008,120008],\"mapped\",[115]],[[120009,120009],\"mapped\",[116]],[[120010,120010],\"mapped\",[117]],[[120011,120011],\"mapped\",[118]],[[120012,120012],\"mapped\",[119]],[[120013,120013],\"mapped\",[120]],[[120014,120014],\"mapped\",[121]],[[120015,120015],\"mapped\",[122]],[[120016,120016],\"mapped\",[97]],[[120017,120017],\"mapped\",[98]],[[120018,120018],\"mapped\",[99]],[[120019,120019],\"mapped\",[100]],[[120020,120020],\"mapped\",[101]],[[120021,120021],\"mapped\",[102]],[[120022,120022],\"mapped\",[103]],[[120023,120023],\"mapped\",[104]],[[120024,120024],\"mapped\",[105]],[[120025,120025],\"mapped\",[106]],[[120026,120026],\"mapped\",[107]],[[120027,120027],\"mapped\",[108]],[[120028,120028],\"mapped\",[109]],[[120029,120029],\"mapped\",[110]],[[120030,120030],\"mapped\",[111]],[[120031,120031],\"mapped\",[112]],[[120032,120032],\"mapped\",[113]],[[120033,120033],\"mapped\",[114]],[[120034,120034],\"mapped\",[115]],[[120035,120035],\"mapped\",[116]],[[120036,120036],\"mapped\",[117]],[[120037,120037],\"mapped\",[118]],[[120038,120038],\"mapped\",[119]],[[120039,120039],\"mapped\",[120]],[[120040,120040],\"mapped\",[121]],[[120041,120041],\"mapped\",[122]],[[120042,120042],\"mapped\",[97]],[[120043,120043],\"mapped\",[98]],[[120044,120044],\"mapped\",[99]],[[120045,120045],\"mapped\",[100]],[[120046,120046],\"mapped\",[101]],[[120047,120047],\"mapped\",[102]],[[120048,120048],\"mapped\",[103]],[[120049,120049],\"mapped\",[104]],[[120050,120050],\"mapped\",[105]],[[120051,120051],\"mapped\",[106]],[[120052,120052],\"mapped\",[107]],[[120053,120053],\"mapped\",[108]],[[120054,120054],\"mapped\",[109]],[[120055,120055],\"mapped\",[110]],[[120056,120056],\"mapped\",[111]],[[120057,120057],\"mapped\",[112]],[[120058,120058],\"mapped\",[113]],[[120059,120059],\"mapped\",[114]],[[120060,120060],\"mapped\",[115]],[[120061,120061],\"mapped\",[116]],[[120062,120062],\"mapped\",[117]],[[120063,120063],\"mapped\",[118]],[[120064,120064],\"mapped\",[119]],[[120065,120065],\"mapped\",[120]],[[120066,120066],\"mapped\",[121]],[[120067,120067],\"mapped\",[122]],[[120068,120068],\"mapped\",[97]],[[120069,120069],\"mapped\",[98]],[[120070,120070],\"disallowed\"],[[120071,120071],\"mapped\",[100]],[[120072,120072],\"mapped\",[101]],[[120073,120073],\"mapped\",[102]],[[120074,120074],\"mapped\",[103]],[[120075,120076],\"disallowed\"],[[120077,120077],\"mapped\",[106]],[[120078,120078],\"mapped\",[107]],[[120079,120079],\"mapped\",[108]],[[120080,120080],\"mapped\",[109]],[[120081,120081],\"mapped\",[110]],[[120082,120082],\"mapped\",[111]],[[120083,120083],\"mapped\",[112]],[[120084,120084],\"mapped\",[113]],[[120085,120085],\"disallowed\"],[[120086,120086],\"mapped\",[115]],[[120087,120087],\"mapped\",[116]],[[120088,120088],\"mapped\",[117]],[[120089,120089],\"mapped\",[118]],[[120090,120090],\"mapped\",[119]],[[120091,120091],\"mapped\",[120]],[[120092,120092],\"mapped\",[121]],[[120093,120093],\"disallowed\"],[[120094,120094],\"mapped\",[97]],[[120095,120095],\"mapped\",[98]],[[120096,120096],\"mapped\",[99]],[[120097,120097],\"mapped\",[100]],[[120098,120098],\"mapped\",[101]],[[120099,120099],\"mapped\",[102]],[[120100,120100],\"mapped\",[103]],[[120101,120101],\"mapped\",[104]],[[120102,120102],\"mapped\",[105]],[[120103,120103],\"mapped\",[106]],[[120104,120104],\"mapped\",[107]],[[120105,120105],\"mapped\",[108]],[[120106,120106],\"mapped\",[109]],[[120107,120107],\"mapped\",[110]],[[120108,120108],\"mapped\",[111]],[[120109,120109],\"mapped\",[112]],[[120110,120110],\"mapped\",[113]],[[120111,120111],\"mapped\",[114]],[[120112,120112],\"mapped\",[115]],[[120113,120113],\"mapped\",[116]],[[120114,120114],\"mapped\",[117]],[[120115,120115],\"mapped\",[118]],[[120116,120116],\"mapped\",[119]],[[120117,120117],\"mapped\",[120]],[[120118,120118],\"mapped\",[121]],[[120119,120119],\"mapped\",[122]],[[120120,120120],\"mapped\",[97]],[[120121,120121],\"mapped\",[98]],[[120122,120122],\"disallowed\"],[[120123,120123],\"mapped\",[100]],[[120124,120124],\"mapped\",[101]],[[120125,120125],\"mapped\",[102]],[[120126,120126],\"mapped\",[103]],[[120127,120127],\"disallowed\"],[[120128,120128],\"mapped\",[105]],[[120129,120129],\"mapped\",[106]],[[120130,120130],\"mapped\",[107]],[[120131,120131],\"mapped\",[108]],[[120132,120132],\"mapped\",[109]],[[120133,120133],\"disallowed\"],[[120134,120134],\"mapped\",[111]],[[120135,120137],\"disallowed\"],[[120138,120138],\"mapped\",[115]],[[120139,120139],\"mapped\",[116]],[[120140,120140],\"mapped\",[117]],[[120141,120141],\"mapped\",[118]],[[120142,120142],\"mapped\",[119]],[[120143,120143],\"mapped\",[120]],[[120144,120144],\"mapped\",[121]],[[120145,120145],\"disallowed\"],[[120146,120146],\"mapped\",[97]],[[120147,120147],\"mapped\",[98]],[[120148,120148],\"mapped\",[99]],[[120149,120149],\"mapped\",[100]],[[120150,120150],\"mapped\",[101]],[[120151,120151],\"mapped\",[102]],[[120152,120152],\"mapped\",[103]],[[120153,120153],\"mapped\",[104]],[[120154,120154],\"mapped\",[105]],[[120155,120155],\"mapped\",[106]],[[120156,120156],\"mapped\",[107]],[[120157,120157],\"mapped\",[108]],[[120158,120158],\"mapped\",[109]],[[120159,120159],\"mapped\",[110]],[[120160,120160],\"mapped\",[111]],[[120161,120161],\"mapped\",[112]],[[120162,120162],\"mapped\",[113]],[[120163,120163],\"mapped\",[114]],[[120164,120164],\"mapped\",[115]],[[120165,120165],\"mapped\",[116]],[[120166,120166],\"mapped\",[117]],[[120167,120167],\"mapped\",[118]],[[120168,120168],\"mapped\",[119]],[[120169,120169],\"mapped\",[120]],[[120170,120170],\"mapped\",[121]],[[120171,120171],\"mapped\",[122]],[[120172,120172],\"mapped\",[97]],[[120173,120173],\"mapped\",[98]],[[120174,120174],\"mapped\",[99]],[[120175,120175],\"mapped\",[100]],[[120176,120176],\"mapped\",[101]],[[120177,120177],\"mapped\",[102]],[[120178,120178],\"mapped\",[103]],[[120179,120179],\"mapped\",[104]],[[120180,120180],\"mapped\",[105]],[[120181,120181],\"mapped\",[106]],[[120182,120182],\"mapped\",[107]],[[120183,120183],\"mapped\",[108]],[[120184,120184],\"mapped\",[109]],[[120185,120185],\"mapped\",[110]],[[120186,120186],\"mapped\",[111]],[[120187,120187],\"mapped\",[112]],[[120188,120188],\"mapped\",[113]],[[120189,120189],\"mapped\",[114]],[[120190,120190],\"mapped\",[115]],[[120191,120191],\"mapped\",[116]],[[120192,120192],\"mapped\",[117]],[[120193,120193],\"mapped\",[118]],[[120194,120194],\"mapped\",[119]],[[120195,120195],\"mapped\",[120]],[[120196,120196],\"mapped\",[121]],[[120197,120197],\"mapped\",[122]],[[120198,120198],\"mapped\",[97]],[[120199,120199],\"mapped\",[98]],[[120200,120200],\"mapped\",[99]],[[120201,120201],\"mapped\",[100]],[[120202,120202],\"mapped\",[101]],[[120203,120203],\"mapped\",[102]],[[120204,120204],\"mapped\",[103]],[[120205,120205],\"mapped\",[104]],[[120206,120206],\"mapped\",[105]],[[120207,120207],\"mapped\",[106]],[[120208,120208],\"mapped\",[107]],[[120209,120209],\"mapped\",[108]],[[120210,120210],\"mapped\",[109]],[[120211,120211],\"mapped\",[110]],[[120212,120212],\"mapped\",[111]],[[120213,120213],\"mapped\",[112]],[[120214,120214],\"mapped\",[113]],[[120215,120215],\"mapped\",[114]],[[120216,120216],\"mapped\",[115]],[[120217,120217],\"mapped\",[116]],[[120218,120218],\"mapped\",[117]],[[120219,120219],\"mapped\",[118]],[[120220,120220],\"mapped\",[119]],[[120221,120221],\"mapped\",[120]],[[120222,120222],\"mapped\",[121]],[[120223,120223],\"mapped\",[122]],[[120224,120224],\"mapped\",[97]],[[120225,120225],\"mapped\",[98]],[[120226,120226],\"mapped\",[99]],[[120227,120227],\"mapped\",[100]],[[120228,120228],\"mapped\",[101]],[[120229,120229],\"mapped\",[102]],[[120230,120230],\"mapped\",[103]],[[120231,120231],\"mapped\",[104]],[[120232,120232],\"mapped\",[105]],[[120233,120233],\"mapped\",[106]],[[120234,120234],\"mapped\",[107]],[[120235,120235],\"mapped\",[108]],[[120236,120236],\"mapped\",[109]],[[120237,120237],\"mapped\",[110]],[[120238,120238],\"mapped\",[111]],[[120239,120239],\"mapped\",[112]],[[120240,120240],\"mapped\",[113]],[[120241,120241],\"mapped\",[114]],[[120242,120242],\"mapped\",[115]],[[120243,120243],\"mapped\",[116]],[[120244,120244],\"mapped\",[117]],[[120245,120245],\"mapped\",[118]],[[120246,120246],\"mapped\",[119]],[[120247,120247],\"mapped\",[120]],[[120248,120248],\"mapped\",[121]],[[120249,120249],\"mapped\",[122]],[[120250,120250],\"mapped\",[97]],[[120251,120251],\"mapped\",[98]],[[120252,120252],\"mapped\",[99]],[[120253,120253],\"mapped\",[100]],[[120254,120254],\"mapped\",[101]],[[120255,120255],\"mapped\",[102]],[[120256,120256],\"mapped\",[103]],[[120257,120257],\"mapped\",[104]],[[120258,120258],\"mapped\",[105]],[[120259,120259],\"mapped\",[106]],[[120260,120260],\"mapped\",[107]],[[120261,120261],\"mapped\",[108]],[[120262,120262],\"mapped\",[109]],[[120263,120263],\"mapped\",[110]],[[120264,120264],\"mapped\",[111]],[[120265,120265],\"mapped\",[112]],[[120266,120266],\"mapped\",[113]],[[120267,120267],\"mapped\",[114]],[[120268,120268],\"mapped\",[115]],[[120269,120269],\"mapped\",[116]],[[120270,120270],\"mapped\",[117]],[[120271,120271],\"mapped\",[118]],[[120272,120272],\"mapped\",[119]],[[120273,120273],\"mapped\",[120]],[[120274,120274],\"mapped\",[121]],[[120275,120275],\"mapped\",[122]],[[120276,120276],\"mapped\",[97]],[[120277,120277],\"mapped\",[98]],[[120278,120278],\"mapped\",[99]],[[120279,120279],\"mapped\",[100]],[[120280,120280],\"mapped\",[101]],[[120281,120281],\"mapped\",[102]],[[120282,120282],\"mapped\",[103]],[[120283,120283],\"mapped\",[104]],[[120284,120284],\"mapped\",[105]],[[120285,120285],\"mapped\",[106]],[[120286,120286],\"mapped\",[107]],[[120287,120287],\"mapped\",[108]],[[120288,120288],\"mapped\",[109]],[[120289,120289],\"mapped\",[110]],[[120290,120290],\"mapped\",[111]],[[120291,120291],\"mapped\",[112]],[[120292,120292],\"mapped\",[113]],[[120293,120293],\"mapped\",[114]],[[120294,120294],\"mapped\",[115]],[[120295,120295],\"mapped\",[116]],[[120296,120296],\"mapped\",[117]],[[120297,120297],\"mapped\",[118]],[[120298,120298],\"mapped\",[119]],[[120299,120299],\"mapped\",[120]],[[120300,120300],\"mapped\",[121]],[[120301,120301],\"mapped\",[122]],[[120302,120302],\"mapped\",[97]],[[120303,120303],\"mapped\",[98]],[[120304,120304],\"mapped\",[99]],[[120305,120305],\"mapped\",[100]],[[120306,120306],\"mapped\",[101]],[[120307,120307],\"mapped\",[102]],[[120308,120308],\"mapped\",[103]],[[120309,120309],\"mapped\",[104]],[[120310,120310],\"mapped\",[105]],[[120311,120311],\"mapped\",[106]],[[120312,120312],\"mapped\",[107]],[[120313,120313],\"mapped\",[108]],[[120314,120314],\"mapped\",[109]],[[120315,120315],\"mapped\",[110]],[[120316,120316],\"mapped\",[111]],[[120317,120317],\"mapped\",[112]],[[120318,120318],\"mapped\",[113]],[[120319,120319],\"mapped\",[114]],[[120320,120320],\"mapped\",[115]],[[120321,120321],\"mapped\",[116]],[[120322,120322],\"mapped\",[117]],[[120323,120323],\"mapped\",[118]],[[120324,120324],\"mapped\",[119]],[[120325,120325],\"mapped\",[120]],[[120326,120326],\"mapped\",[121]],[[120327,120327],\"mapped\",[122]],[[120328,120328],\"mapped\",[97]],[[120329,120329],\"mapped\",[98]],[[120330,120330],\"mapped\",[99]],[[120331,120331],\"mapped\",[100]],[[120332,120332],\"mapped\",[101]],[[120333,120333],\"mapped\",[102]],[[120334,120334],\"mapped\",[103]],[[120335,120335],\"mapped\",[104]],[[120336,120336],\"mapped\",[105]],[[120337,120337],\"mapped\",[106]],[[120338,120338],\"mapped\",[107]],[[120339,120339],\"mapped\",[108]],[[120340,120340],\"mapped\",[109]],[[120341,120341],\"mapped\",[110]],[[120342,120342],\"mapped\",[111]],[[120343,120343],\"mapped\",[112]],[[120344,120344],\"mapped\",[113]],[[120345,120345],\"mapped\",[114]],[[120346,120346],\"mapped\",[115]],[[120347,120347],\"mapped\",[116]],[[120348,120348],\"mapped\",[117]],[[120349,120349],\"mapped\",[118]],[[120350,120350],\"mapped\",[119]],[[120351,120351],\"mapped\",[120]],[[120352,120352],\"mapped\",[121]],[[120353,120353],\"mapped\",[122]],[[120354,120354],\"mapped\",[97]],[[120355,120355],\"mapped\",[98]],[[120356,120356],\"mapped\",[99]],[[120357,120357],\"mapped\",[100]],[[120358,120358],\"mapped\",[101]],[[120359,120359],\"mapped\",[102]],[[120360,120360],\"mapped\",[103]],[[120361,120361],\"mapped\",[104]],[[120362,120362],\"mapped\",[105]],[[120363,120363],\"mapped\",[106]],[[120364,120364],\"mapped\",[107]],[[120365,120365],\"mapped\",[108]],[[120366,120366],\"mapped\",[109]],[[120367,120367],\"mapped\",[110]],[[120368,120368],\"mapped\",[111]],[[120369,120369],\"mapped\",[112]],[[120370,120370],\"mapped\",[113]],[[120371,120371],\"mapped\",[114]],[[120372,120372],\"mapped\",[115]],[[120373,120373],\"mapped\",[116]],[[120374,120374],\"mapped\",[117]],[[120375,120375],\"mapped\",[118]],[[120376,120376],\"mapped\",[119]],[[120377,120377],\"mapped\",[120]],[[120378,120378],\"mapped\",[121]],[[120379,120379],\"mapped\",[122]],[[120380,120380],\"mapped\",[97]],[[120381,120381],\"mapped\",[98]],[[120382,120382],\"mapped\",[99]],[[120383,120383],\"mapped\",[100]],[[120384,120384],\"mapped\",[101]],[[120385,120385],\"mapped\",[102]],[[120386,120386],\"mapped\",[103]],[[120387,120387],\"mapped\",[104]],[[120388,120388],\"mapped\",[105]],[[120389,120389],\"mapped\",[106]],[[120390,120390],\"mapped\",[107]],[[120391,120391],\"mapped\",[108]],[[120392,120392],\"mapped\",[109]],[[120393,120393],\"mapped\",[110]],[[120394,120394],\"mapped\",[111]],[[120395,120395],\"mapped\",[112]],[[120396,120396],\"mapped\",[113]],[[120397,120397],\"mapped\",[114]],[[120398,120398],\"mapped\",[115]],[[120399,120399],\"mapped\",[116]],[[120400,120400],\"mapped\",[117]],[[120401,120401],\"mapped\",[118]],[[120402,120402],\"mapped\",[119]],[[120403,120403],\"mapped\",[120]],[[120404,120404],\"mapped\",[121]],[[120405,120405],\"mapped\",[122]],[[120406,120406],\"mapped\",[97]],[[120407,120407],\"mapped\",[98]],[[120408,120408],\"mapped\",[99]],[[120409,120409],\"mapped\",[100]],[[120410,120410],\"mapped\",[101]],[[120411,120411],\"mapped\",[102]],[[120412,120412],\"mapped\",[103]],[[120413,120413],\"mapped\",[104]],[[120414,120414],\"mapped\",[105]],[[120415,120415],\"mapped\",[106]],[[120416,120416],\"mapped\",[107]],[[120417,120417],\"mapped\",[108]],[[120418,120418],\"mapped\",[109]],[[120419,120419],\"mapped\",[110]],[[120420,120420],\"mapped\",[111]],[[120421,120421],\"mapped\",[112]],[[120422,120422],\"mapped\",[113]],[[120423,120423],\"mapped\",[114]],[[120424,120424],\"mapped\",[115]],[[120425,120425],\"mapped\",[116]],[[120426,120426],\"mapped\",[117]],[[120427,120427],\"mapped\",[118]],[[120428,120428],\"mapped\",[119]],[[120429,120429],\"mapped\",[120]],[[120430,120430],\"mapped\",[121]],[[120431,120431],\"mapped\",[122]],[[120432,120432],\"mapped\",[97]],[[120433,120433],\"mapped\",[98]],[[120434,120434],\"mapped\",[99]],[[120435,120435],\"mapped\",[100]],[[120436,120436],\"mapped\",[101]],[[120437,120437],\"mapped\",[102]],[[120438,120438],\"mapped\",[103]],[[120439,120439],\"mapped\",[104]],[[120440,120440],\"mapped\",[105]],[[120441,120441],\"mapped\",[106]],[[120442,120442],\"mapped\",[107]],[[120443,120443],\"mapped\",[108]],[[120444,120444],\"mapped\",[109]],[[120445,120445],\"mapped\",[110]],[[120446,120446],\"mapped\",[111]],[[120447,120447],\"mapped\",[112]],[[120448,120448],\"mapped\",[113]],[[120449,120449],\"mapped\",[114]],[[120450,120450],\"mapped\",[115]],[[120451,120451],\"mapped\",[116]],[[120452,120452],\"mapped\",[117]],[[120453,120453],\"mapped\",[118]],[[120454,120454],\"mapped\",[119]],[[120455,120455],\"mapped\",[120]],[[120456,120456],\"mapped\",[121]],[[120457,120457],\"mapped\",[122]],[[120458,120458],\"mapped\",[97]],[[120459,120459],\"mapped\",[98]],[[120460,120460],\"mapped\",[99]],[[120461,120461],\"mapped\",[100]],[[120462,120462],\"mapped\",[101]],[[120463,120463],\"mapped\",[102]],[[120464,120464],\"mapped\",[103]],[[120465,120465],\"mapped\",[104]],[[120466,120466],\"mapped\",[105]],[[120467,120467],\"mapped\",[106]],[[120468,120468],\"mapped\",[107]],[[120469,120469],\"mapped\",[108]],[[120470,120470],\"mapped\",[109]],[[120471,120471],\"mapped\",[110]],[[120472,120472],\"mapped\",[111]],[[120473,120473],\"mapped\",[112]],[[120474,120474],\"mapped\",[113]],[[120475,120475],\"mapped\",[114]],[[120476,120476],\"mapped\",[115]],[[120477,120477],\"mapped\",[116]],[[120478,120478],\"mapped\",[117]],[[120479,120479],\"mapped\",[118]],[[120480,120480],\"mapped\",[119]],[[120481,120481],\"mapped\",[120]],[[120482,120482],\"mapped\",[121]],[[120483,120483],\"mapped\",[122]],[[120484,120484],\"mapped\",[305]],[[120485,120485],\"mapped\",[567]],[[120486,120487],\"disallowed\"],[[120488,120488],\"mapped\",[945]],[[120489,120489],\"mapped\",[946]],[[120490,120490],\"mapped\",[947]],[[120491,120491],\"mapped\",[948]],[[120492,120492],\"mapped\",[949]],[[120493,120493],\"mapped\",[950]],[[120494,120494],\"mapped\",[951]],[[120495,120495],\"mapped\",[952]],[[120496,120496],\"mapped\",[953]],[[120497,120497],\"mapped\",[954]],[[120498,120498],\"mapped\",[955]],[[120499,120499],\"mapped\",[956]],[[120500,120500],\"mapped\",[957]],[[120501,120501],\"mapped\",[958]],[[120502,120502],\"mapped\",[959]],[[120503,120503],\"mapped\",[960]],[[120504,120504],\"mapped\",[961]],[[120505,120505],\"mapped\",[952]],[[120506,120506],\"mapped\",[963]],[[120507,120507],\"mapped\",[964]],[[120508,120508],\"mapped\",[965]],[[120509,120509],\"mapped\",[966]],[[120510,120510],\"mapped\",[967]],[[120511,120511],\"mapped\",[968]],[[120512,120512],\"mapped\",[969]],[[120513,120513],\"mapped\",[8711]],[[120514,120514],\"mapped\",[945]],[[120515,120515],\"mapped\",[946]],[[120516,120516],\"mapped\",[947]],[[120517,120517],\"mapped\",[948]],[[120518,120518],\"mapped\",[949]],[[120519,120519],\"mapped\",[950]],[[120520,120520],\"mapped\",[951]],[[120521,120521],\"mapped\",[952]],[[120522,120522],\"mapped\",[953]],[[120523,120523],\"mapped\",[954]],[[120524,120524],\"mapped\",[955]],[[120525,120525],\"mapped\",[956]],[[120526,120526],\"mapped\",[957]],[[120527,120527],\"mapped\",[958]],[[120528,120528],\"mapped\",[959]],[[120529,120529],\"mapped\",[960]],[[120530,120530],\"mapped\",[961]],[[120531,120532],\"mapped\",[963]],[[120533,120533],\"mapped\",[964]],[[120534,120534],\"mapped\",[965]],[[120535,120535],\"mapped\",[966]],[[120536,120536],\"mapped\",[967]],[[120537,120537],\"mapped\",[968]],[[120538,120538],\"mapped\",[969]],[[120539,120539],\"mapped\",[8706]],[[120540,120540],\"mapped\",[949]],[[120541,120541],\"mapped\",[952]],[[120542,120542],\"mapped\",[954]],[[120543,120543],\"mapped\",[966]],[[120544,120544],\"mapped\",[961]],[[120545,120545],\"mapped\",[960]],[[120546,120546],\"mapped\",[945]],[[120547,120547],\"mapped\",[946]],[[120548,120548],\"mapped\",[947]],[[120549,120549],\"mapped\",[948]],[[120550,120550],\"mapped\",[949]],[[120551,120551],\"mapped\",[950]],[[120552,120552],\"mapped\",[951]],[[120553,120553],\"mapped\",[952]],[[120554,120554],\"mapped\",[953]],[[120555,120555],\"mapped\",[954]],[[120556,120556],\"mapped\",[955]],[[120557,120557],\"mapped\",[956]],[[120558,120558],\"mapped\",[957]],[[120559,120559],\"mapped\",[958]],[[120560,120560],\"mapped\",[959]],[[120561,120561],\"mapped\",[960]],[[120562,120562],\"mapped\",[961]],[[120563,120563],\"mapped\",[952]],[[120564,120564],\"mapped\",[963]],[[120565,120565],\"mapped\",[964]],[[120566,120566],\"mapped\",[965]],[[120567,120567],\"mapped\",[966]],[[120568,120568],\"mapped\",[967]],[[120569,120569],\"mapped\",[968]],[[120570,120570],\"mapped\",[969]],[[120571,120571],\"mapped\",[8711]],[[120572,120572],\"mapped\",[945]],[[120573,120573],\"mapped\",[946]],[[120574,120574],\"mapped\",[947]],[[120575,120575],\"mapped\",[948]],[[120576,120576],\"mapped\",[949]],[[120577,120577],\"mapped\",[950]],[[120578,120578],\"mapped\",[951]],[[120579,120579],\"mapped\",[952]],[[120580,120580],\"mapped\",[953]],[[120581,120581],\"mapped\",[954]],[[120582,120582],\"mapped\",[955]],[[120583,120583],\"mapped\",[956]],[[120584,120584],\"mapped\",[957]],[[120585,120585],\"mapped\",[958]],[[120586,120586],\"mapped\",[959]],[[120587,120587],\"mapped\",[960]],[[120588,120588],\"mapped\",[961]],[[120589,120590],\"mapped\",[963]],[[120591,120591],\"mapped\",[964]],[[120592,120592],\"mapped\",[965]],[[120593,120593],\"mapped\",[966]],[[120594,120594],\"mapped\",[967]],[[120595,120595],\"mapped\",[968]],[[120596,120596],\"mapped\",[969]],[[120597,120597],\"mapped\",[8706]],[[120598,120598],\"mapped\",[949]],[[120599,120599],\"mapped\",[952]],[[120600,120600],\"mapped\",[954]],[[120601,120601],\"mapped\",[966]],[[120602,120602],\"mapped\",[961]],[[120603,120603],\"mapped\",[960]],[[120604,120604],\"mapped\",[945]],[[120605,120605],\"mapped\",[946]],[[120606,120606],\"mapped\",[947]],[[120607,120607],\"mapped\",[948]],[[120608,120608],\"mapped\",[949]],[[120609,120609],\"mapped\",[950]],[[120610,120610],\"mapped\",[951]],[[120611,120611],\"mapped\",[952]],[[120612,120612],\"mapped\",[953]],[[120613,120613],\"mapped\",[954]],[[120614,120614],\"mapped\",[955]],[[120615,120615],\"mapped\",[956]],[[120616,120616],\"mapped\",[957]],[[120617,120617],\"mapped\",[958]],[[120618,120618],\"mapped\",[959]],[[120619,120619],\"mapped\",[960]],[[120620,120620],\"mapped\",[961]],[[120621,120621],\"mapped\",[952]],[[120622,120622],\"mapped\",[963]],[[120623,120623],\"mapped\",[964]],[[120624,120624],\"mapped\",[965]],[[120625,120625],\"mapped\",[966]],[[120626,120626],\"mapped\",[967]],[[120627,120627],\"mapped\",[968]],[[120628,120628],\"mapped\",[969]],[[120629,120629],\"mapped\",[8711]],[[120630,120630],\"mapped\",[945]],[[120631,120631],\"mapped\",[946]],[[120632,120632],\"mapped\",[947]],[[120633,120633],\"mapped\",[948]],[[120634,120634],\"mapped\",[949]],[[120635,120635],\"mapped\",[950]],[[120636,120636],\"mapped\",[951]],[[120637,120637],\"mapped\",[952]],[[120638,120638],\"mapped\",[953]],[[120639,120639],\"mapped\",[954]],[[120640,120640],\"mapped\",[955]],[[120641,120641],\"mapped\",[956]],[[120642,120642],\"mapped\",[957]],[[120643,120643],\"mapped\",[958]],[[120644,120644],\"mapped\",[959]],[[120645,120645],\"mapped\",[960]],[[120646,120646],\"mapped\",[961]],[[120647,120648],\"mapped\",[963]],[[120649,120649],\"mapped\",[964]],[[120650,120650],\"mapped\",[965]],[[120651,120651],\"mapped\",[966]],[[120652,120652],\"mapped\",[967]],[[120653,120653],\"mapped\",[968]],[[120654,120654],\"mapped\",[969]],[[120655,120655],\"mapped\",[8706]],[[120656,120656],\"mapped\",[949]],[[120657,120657],\"mapped\",[952]],[[120658,120658],\"mapped\",[954]],[[120659,120659],\"mapped\",[966]],[[120660,120660],\"mapped\",[961]],[[120661,120661],\"mapped\",[960]],[[120662,120662],\"mapped\",[945]],[[120663,120663],\"mapped\",[946]],[[120664,120664],\"mapped\",[947]],[[120665,120665],\"mapped\",[948]],[[120666,120666],\"mapped\",[949]],[[120667,120667],\"mapped\",[950]],[[120668,120668],\"mapped\",[951]],[[120669,120669],\"mapped\",[952]],[[120670,120670],\"mapped\",[953]],[[120671,120671],\"mapped\",[954]],[[120672,120672],\"mapped\",[955]],[[120673,120673],\"mapped\",[956]],[[120674,120674],\"mapped\",[957]],[[120675,120675],\"mapped\",[958]],[[120676,120676],\"mapped\",[959]],[[120677,120677],\"mapped\",[960]],[[120678,120678],\"mapped\",[961]],[[120679,120679],\"mapped\",[952]],[[120680,120680],\"mapped\",[963]],[[120681,120681],\"mapped\",[964]],[[120682,120682],\"mapped\",[965]],[[120683,120683],\"mapped\",[966]],[[120684,120684],\"mapped\",[967]],[[120685,120685],\"mapped\",[968]],[[120686,120686],\"mapped\",[969]],[[120687,120687],\"mapped\",[8711]],[[120688,120688],\"mapped\",[945]],[[120689,120689],\"mapped\",[946]],[[120690,120690],\"mapped\",[947]],[[120691,120691],\"mapped\",[948]],[[120692,120692],\"mapped\",[949]],[[120693,120693],\"mapped\",[950]],[[120694,120694],\"mapped\",[951]],[[120695,120695],\"mapped\",[952]],[[120696,120696],\"mapped\",[953]],[[120697,120697],\"mapped\",[954]],[[120698,120698],\"mapped\",[955]],[[120699,120699],\"mapped\",[956]],[[120700,120700],\"mapped\",[957]],[[120701,120701],\"mapped\",[958]],[[120702,120702],\"mapped\",[959]],[[120703,120703],\"mapped\",[960]],[[120704,120704],\"mapped\",[961]],[[120705,120706],\"mapped\",[963]],[[120707,120707],\"mapped\",[964]],[[120708,120708],\"mapped\",[965]],[[120709,120709],\"mapped\",[966]],[[120710,120710],\"mapped\",[967]],[[120711,120711],\"mapped\",[968]],[[120712,120712],\"mapped\",[969]],[[120713,120713],\"mapped\",[8706]],[[120714,120714],\"mapped\",[949]],[[120715,120715],\"mapped\",[952]],[[120716,120716],\"mapped\",[954]],[[120717,120717],\"mapped\",[966]],[[120718,120718],\"mapped\",[961]],[[120719,120719],\"mapped\",[960]],[[120720,120720],\"mapped\",[945]],[[120721,120721],\"mapped\",[946]],[[120722,120722],\"mapped\",[947]],[[120723,120723],\"mapped\",[948]],[[120724,120724],\"mapped\",[949]],[[120725,120725],\"mapped\",[950]],[[120726,120726],\"mapped\",[951]],[[120727,120727],\"mapped\",[952]],[[120728,120728],\"mapped\",[953]],[[120729,120729],\"mapped\",[954]],[[120730,120730],\"mapped\",[955]],[[120731,120731],\"mapped\",[956]],[[120732,120732],\"mapped\",[957]],[[120733,120733],\"mapped\",[958]],[[120734,120734],\"mapped\",[959]],[[120735,120735],\"mapped\",[960]],[[120736,120736],\"mapped\",[961]],[[120737,120737],\"mapped\",[952]],[[120738,120738],\"mapped\",[963]],[[120739,120739],\"mapped\",[964]],[[120740,120740],\"mapped\",[965]],[[120741,120741],\"mapped\",[966]],[[120742,120742],\"mapped\",[967]],[[120743,120743],\"mapped\",[968]],[[120744,120744],\"mapped\",[969]],[[120745,120745],\"mapped\",[8711]],[[120746,120746],\"mapped\",[945]],[[120747,120747],\"mapped\",[946]],[[120748,120748],\"mapped\",[947]],[[120749,120749],\"mapped\",[948]],[[120750,120750],\"mapped\",[949]],[[120751,120751],\"mapped\",[950]],[[120752,120752],\"mapped\",[951]],[[120753,120753],\"mapped\",[952]],[[120754,120754],\"mapped\",[953]],[[120755,120755],\"mapped\",[954]],[[120756,120756],\"mapped\",[955]],[[120757,120757],\"mapped\",[956]],[[120758,120758],\"mapped\",[957]],[[120759,120759],\"mapped\",[958]],[[120760,120760],\"mapped\",[959]],[[120761,120761],\"mapped\",[960]],[[120762,120762],\"mapped\",[961]],[[120763,120764],\"mapped\",[963]],[[120765,120765],\"mapped\",[964]],[[120766,120766],\"mapped\",[965]],[[120767,120767],\"mapped\",[966]],[[120768,120768],\"mapped\",[967]],[[120769,120769],\"mapped\",[968]],[[120770,120770],\"mapped\",[969]],[[120771,120771],\"mapped\",[8706]],[[120772,120772],\"mapped\",[949]],[[120773,120773],\"mapped\",[952]],[[120774,120774],\"mapped\",[954]],[[120775,120775],\"mapped\",[966]],[[120776,120776],\"mapped\",[961]],[[120777,120777],\"mapped\",[960]],[[120778,120779],\"mapped\",[989]],[[120780,120781],\"disallowed\"],[[120782,120782],\"mapped\",[48]],[[120783,120783],\"mapped\",[49]],[[120784,120784],\"mapped\",[50]],[[120785,120785],\"mapped\",[51]],[[120786,120786],\"mapped\",[52]],[[120787,120787],\"mapped\",[53]],[[120788,120788],\"mapped\",[54]],[[120789,120789],\"mapped\",[55]],[[120790,120790],\"mapped\",[56]],[[120791,120791],\"mapped\",[57]],[[120792,120792],\"mapped\",[48]],[[120793,120793],\"mapped\",[49]],[[120794,120794],\"mapped\",[50]],[[120795,120795],\"mapped\",[51]],[[120796,120796],\"mapped\",[52]],[[120797,120797],\"mapped\",[53]],[[120798,120798],\"mapped\",[54]],[[120799,120799],\"mapped\",[55]],[[120800,120800],\"mapped\",[56]],[[120801,120801],\"mapped\",[57]],[[120802,120802],\"mapped\",[48]],[[120803,120803],\"mapped\",[49]],[[120804,120804],\"mapped\",[50]],[[120805,120805],\"mapped\",[51]],[[120806,120806],\"mapped\",[52]],[[120807,120807],\"mapped\",[53]],[[120808,120808],\"mapped\",[54]],[[120809,120809],\"mapped\",[55]],[[120810,120810],\"mapped\",[56]],[[120811,120811],\"mapped\",[57]],[[120812,120812],\"mapped\",[48]],[[120813,120813],\"mapped\",[49]],[[120814,120814],\"mapped\",[50]],[[120815,120815],\"mapped\",[51]],[[120816,120816],\"mapped\",[52]],[[120817,120817],\"mapped\",[53]],[[120818,120818],\"mapped\",[54]],[[120819,120819],\"mapped\",[55]],[[120820,120820],\"mapped\",[56]],[[120821,120821],\"mapped\",[57]],[[120822,120822],\"mapped\",[48]],[[120823,120823],\"mapped\",[49]],[[120824,120824],\"mapped\",[50]],[[120825,120825],\"mapped\",[51]],[[120826,120826],\"mapped\",[52]],[[120827,120827],\"mapped\",[53]],[[120828,120828],\"mapped\",[54]],[[120829,120829],\"mapped\",[55]],[[120830,120830],\"mapped\",[56]],[[120831,120831],\"mapped\",[57]],[[120832,121343],\"valid\",[],\"NV8\"],[[121344,121398],\"valid\"],[[121399,121402],\"valid\",[],\"NV8\"],[[121403,121452],\"valid\"],[[121453,121460],\"valid\",[],\"NV8\"],[[121461,121461],\"valid\"],[[121462,121475],\"valid\",[],\"NV8\"],[[121476,121476],\"valid\"],[[121477,121483],\"valid\",[],\"NV8\"],[[121484,121498],\"disallowed\"],[[121499,121503],\"valid\"],[[121504,121504],\"disallowed\"],[[121505,121519],\"valid\"],[[121520,124927],\"disallowed\"],[[124928,125124],\"valid\"],[[125125,125126],\"disallowed\"],[[125127,125135],\"valid\",[],\"NV8\"],[[125136,125142],\"valid\"],[[125143,126463],\"disallowed\"],[[126464,126464],\"mapped\",[1575]],[[126465,126465],\"mapped\",[1576]],[[126466,126466],\"mapped\",[1580]],[[126467,126467],\"mapped\",[1583]],[[126468,126468],\"disallowed\"],[[126469,126469],\"mapped\",[1608]],[[126470,126470],\"mapped\",[1586]],[[126471,126471],\"mapped\",[1581]],[[126472,126472],\"mapped\",[1591]],[[126473,126473],\"mapped\",[1610]],[[126474,126474],\"mapped\",[1603]],[[126475,126475],\"mapped\",[1604]],[[126476,126476],\"mapped\",[1605]],[[126477,126477],\"mapped\",[1606]],[[126478,126478],\"mapped\",[1587]],[[126479,126479],\"mapped\",[1593]],[[126480,126480],\"mapped\",[1601]],[[126481,126481],\"mapped\",[1589]],[[126482,126482],\"mapped\",[1602]],[[126483,126483],\"mapped\",[1585]],[[126484,126484],\"mapped\",[1588]],[[126485,126485],\"mapped\",[1578]],[[126486,126486],\"mapped\",[1579]],[[126487,126487],\"mapped\",[1582]],[[126488,126488],\"mapped\",[1584]],[[126489,126489],\"mapped\",[1590]],[[126490,126490],\"mapped\",[1592]],[[126491,126491],\"mapped\",[1594]],[[126492,126492],\"mapped\",[1646]],[[126493,126493],\"mapped\",[1722]],[[126494,126494],\"mapped\",[1697]],[[126495,126495],\"mapped\",[1647]],[[126496,126496],\"disallowed\"],[[126497,126497],\"mapped\",[1576]],[[126498,126498],\"mapped\",[1580]],[[126499,126499],\"disallowed\"],[[126500,126500],\"mapped\",[1607]],[[126501,126502],\"disallowed\"],[[126503,126503],\"mapped\",[1581]],[[126504,126504],\"disallowed\"],[[126505,126505],\"mapped\",[1610]],[[126506,126506],\"mapped\",[1603]],[[126507,126507],\"mapped\",[1604]],[[126508,126508],\"mapped\",[1605]],[[126509,126509],\"mapped\",[1606]],[[126510,126510],\"mapped\",[1587]],[[126511,126511],\"mapped\",[1593]],[[126512,126512],\"mapped\",[1601]],[[126513,126513],\"mapped\",[1589]],[[126514,126514],\"mapped\",[1602]],[[126515,126515],\"disallowed\"],[[126516,126516],\"mapped\",[1588]],[[126517,126517],\"mapped\",[1578]],[[126518,126518],\"mapped\",[1579]],[[126519,126519],\"mapped\",[1582]],[[126520,126520],\"disallowed\"],[[126521,126521],\"mapped\",[1590]],[[126522,126522],\"disallowed\"],[[126523,126523],\"mapped\",[1594]],[[126524,126529],\"disallowed\"],[[126530,126530],\"mapped\",[1580]],[[126531,126534],\"disallowed\"],[[126535,126535],\"mapped\",[1581]],[[126536,126536],\"disallowed\"],[[126537,126537],\"mapped\",[1610]],[[126538,126538],\"disallowed\"],[[126539,126539],\"mapped\",[1604]],[[126540,126540],\"disallowed\"],[[126541,126541],\"mapped\",[1606]],[[126542,126542],\"mapped\",[1587]],[[126543,126543],\"mapped\",[1593]],[[126544,126544],\"disallowed\"],[[126545,126545],\"mapped\",[1589]],[[126546,126546],\"mapped\",[1602]],[[126547,126547],\"disallowed\"],[[126548,126548],\"mapped\",[1588]],[[126549,126550],\"disallowed\"],[[126551,126551],\"mapped\",[1582]],[[126552,126552],\"disallowed\"],[[126553,126553],\"mapped\",[1590]],[[126554,126554],\"disallowed\"],[[126555,126555],\"mapped\",[1594]],[[126556,126556],\"disallowed\"],[[126557,126557],\"mapped\",[1722]],[[126558,126558],\"disallowed\"],[[126559,126559],\"mapped\",[1647]],[[126560,126560],\"disallowed\"],[[126561,126561],\"mapped\",[1576]],[[126562,126562],\"mapped\",[1580]],[[126563,126563],\"disallowed\"],[[126564,126564],\"mapped\",[1607]],[[126565,126566],\"disallowed\"],[[126567,126567],\"mapped\",[1581]],[[126568,126568],\"mapped\",[1591]],[[126569,126569],\"mapped\",[1610]],[[126570,126570],\"mapped\",[1603]],[[126571,126571],\"disallowed\"],[[126572,126572],\"mapped\",[1605]],[[126573,126573],\"mapped\",[1606]],[[126574,126574],\"mapped\",[1587]],[[126575,126575],\"mapped\",[1593]],[[126576,126576],\"mapped\",[1601]],[[126577,126577],\"mapped\",[1589]],[[126578,126578],\"mapped\",[1602]],[[126579,126579],\"disallowed\"],[[126580,126580],\"mapped\",[1588]],[[126581,126581],\"mapped\",[1578]],[[126582,126582],\"mapped\",[1579]],[[126583,126583],\"mapped\",[1582]],[[126584,126584],\"disallowed\"],[[126585,126585],\"mapped\",[1590]],[[126586,126586],\"mapped\",[1592]],[[126587,126587],\"mapped\",[1594]],[[126588,126588],\"mapped\",[1646]],[[126589,126589],\"disallowed\"],[[126590,126590],\"mapped\",[1697]],[[126591,126591],\"disallowed\"],[[126592,126592],\"mapped\",[1575]],[[126593,126593],\"mapped\",[1576]],[[126594,126594],\"mapped\",[1580]],[[126595,126595],\"mapped\",[1583]],[[126596,126596],\"mapped\",[1607]],[[126597,126597],\"mapped\",[1608]],[[126598,126598],\"mapped\",[1586]],[[126599,126599],\"mapped\",[1581]],[[126600,126600],\"mapped\",[1591]],[[126601,126601],\"mapped\",[1610]],[[126602,126602],\"disallowed\"],[[126603,126603],\"mapped\",[1604]],[[126604,126604],\"mapped\",[1605]],[[126605,126605],\"mapped\",[1606]],[[126606,126606],\"mapped\",[1587]],[[126607,126607],\"mapped\",[1593]],[[126608,126608],\"mapped\",[1601]],[[126609,126609],\"mapped\",[1589]],[[126610,126610],\"mapped\",[1602]],[[126611,126611],\"mapped\",[1585]],[[126612,126612],\"mapped\",[1588]],[[126613,126613],\"mapped\",[1578]],[[126614,126614],\"mapped\",[1579]],[[126615,126615],\"mapped\",[1582]],[[126616,126616],\"mapped\",[1584]],[[126617,126617],\"mapped\",[1590]],[[126618,126618],\"mapped\",[1592]],[[126619,126619],\"mapped\",[1594]],[[126620,126624],\"disallowed\"],[[126625,126625],\"mapped\",[1576]],[[126626,126626],\"mapped\",[1580]],[[126627,126627],\"mapped\",[1583]],[[126628,126628],\"disallowed\"],[[126629,126629],\"mapped\",[1608]],[[126630,126630],\"mapped\",[1586]],[[126631,126631],\"mapped\",[1581]],[[126632,126632],\"mapped\",[1591]],[[126633,126633],\"mapped\",[1610]],[[126634,126634],\"disallowed\"],[[126635,126635],\"mapped\",[1604]],[[126636,126636],\"mapped\",[1605]],[[126637,126637],\"mapped\",[1606]],[[126638,126638],\"mapped\",[1587]],[[126639,126639],\"mapped\",[1593]],[[126640,126640],\"mapped\",[1601]],[[126641,126641],\"mapped\",[1589]],[[126642,126642],\"mapped\",[1602]],[[126643,126643],\"mapped\",[1585]],[[126644,126644],\"mapped\",[1588]],[[126645,126645],\"mapped\",[1578]],[[126646,126646],\"mapped\",[1579]],[[126647,126647],\"mapped\",[1582]],[[126648,126648],\"mapped\",[1584]],[[126649,126649],\"mapped\",[1590]],[[126650,126650],\"mapped\",[1592]],[[126651,126651],\"mapped\",[1594]],[[126652,126703],\"disallowed\"],[[126704,126705],\"valid\",[],\"NV8\"],[[126706,126975],\"disallowed\"],[[126976,127019],\"valid\",[],\"NV8\"],[[127020,127023],\"disallowed\"],[[127024,127123],\"valid\",[],\"NV8\"],[[127124,127135],\"disallowed\"],[[127136,127150],\"valid\",[],\"NV8\"],[[127151,127152],\"disallowed\"],[[127153,127166],\"valid\",[],\"NV8\"],[[127167,127167],\"valid\",[],\"NV8\"],[[127168,127168],\"disallowed\"],[[127169,127183],\"valid\",[],\"NV8\"],[[127184,127184],\"disallowed\"],[[127185,127199],\"valid\",[],\"NV8\"],[[127200,127221],\"valid\",[],\"NV8\"],[[127222,127231],\"disallowed\"],[[127232,127232],\"disallowed\"],[[127233,127233],\"disallowed_STD3_mapped\",[48,44]],[[127234,127234],\"disallowed_STD3_mapped\",[49,44]],[[127235,127235],\"disallowed_STD3_mapped\",[50,44]],[[127236,127236],\"disallowed_STD3_mapped\",[51,44]],[[127237,127237],\"disallowed_STD3_mapped\",[52,44]],[[127238,127238],\"disallowed_STD3_mapped\",[53,44]],[[127239,127239],\"disallowed_STD3_mapped\",[54,44]],[[127240,127240],\"disallowed_STD3_mapped\",[55,44]],[[127241,127241],\"disallowed_STD3_mapped\",[56,44]],[[127242,127242],\"disallowed_STD3_mapped\",[57,44]],[[127243,127244],\"valid\",[],\"NV8\"],[[127245,127247],\"disallowed\"],[[127248,127248],\"disallowed_STD3_mapped\",[40,97,41]],[[127249,127249],\"disallowed_STD3_mapped\",[40,98,41]],[[127250,127250],\"disallowed_STD3_mapped\",[40,99,41]],[[127251,127251],\"disallowed_STD3_mapped\",[40,100,41]],[[127252,127252],\"disallowed_STD3_mapped\",[40,101,41]],[[127253,127253],\"disallowed_STD3_mapped\",[40,102,41]],[[127254,127254],\"disallowed_STD3_mapped\",[40,103,41]],[[127255,127255],\"disallowed_STD3_mapped\",[40,104,41]],[[127256,127256],\"disallowed_STD3_mapped\",[40,105,41]],[[127257,127257],\"disallowed_STD3_mapped\",[40,106,41]],[[127258,127258],\"disallowed_STD3_mapped\",[40,107,41]],[[127259,127259],\"disallowed_STD3_mapped\",[40,108,41]],[[127260,127260],\"disallowed_STD3_mapped\",[40,109,41]],[[127261,127261],\"disallowed_STD3_mapped\",[40,110,41]],[[127262,127262],\"disallowed_STD3_mapped\",[40,111,41]],[[127263,127263],\"disallowed_STD3_mapped\",[40,112,41]],[[127264,127264],\"disallowed_STD3_mapped\",[40,113,41]],[[127265,127265],\"disallowed_STD3_mapped\",[40,114,41]],[[127266,127266],\"disallowed_STD3_mapped\",[40,115,41]],[[127267,127267],\"disallowed_STD3_mapped\",[40,116,41]],[[127268,127268],\"disallowed_STD3_mapped\",[40,117,41]],[[127269,127269],\"disallowed_STD3_mapped\",[40,118,41]],[[127270,127270],\"disallowed_STD3_mapped\",[40,119,41]],[[127271,127271],\"disallowed_STD3_mapped\",[40,120,41]],[[127272,127272],\"disallowed_STD3_mapped\",[40,121,41]],[[127273,127273],\"disallowed_STD3_mapped\",[40,122,41]],[[127274,127274],\"mapped\",[12308,115,12309]],[[127275,127275],\"mapped\",[99]],[[127276,127276],\"mapped\",[114]],[[127277,127277],\"mapped\",[99,100]],[[127278,127278],\"mapped\",[119,122]],[[127279,127279],\"disallowed\"],[[127280,127280],\"mapped\",[97]],[[127281,127281],\"mapped\",[98]],[[127282,127282],\"mapped\",[99]],[[127283,127283],\"mapped\",[100]],[[127284,127284],\"mapped\",[101]],[[127285,127285],\"mapped\",[102]],[[127286,127286],\"mapped\",[103]],[[127287,127287],\"mapped\",[104]],[[127288,127288],\"mapped\",[105]],[[127289,127289],\"mapped\",[106]],[[127290,127290],\"mapped\",[107]],[[127291,127291],\"mapped\",[108]],[[127292,127292],\"mapped\",[109]],[[127293,127293],\"mapped\",[110]],[[127294,127294],\"mapped\",[111]],[[127295,127295],\"mapped\",[112]],[[127296,127296],\"mapped\",[113]],[[127297,127297],\"mapped\",[114]],[[127298,127298],\"mapped\",[115]],[[127299,127299],\"mapped\",[116]],[[127300,127300],\"mapped\",[117]],[[127301,127301],\"mapped\",[118]],[[127302,127302],\"mapped\",[119]],[[127303,127303],\"mapped\",[120]],[[127304,127304],\"mapped\",[121]],[[127305,127305],\"mapped\",[122]],[[127306,127306],\"mapped\",[104,118]],[[127307,127307],\"mapped\",[109,118]],[[127308,127308],\"mapped\",[115,100]],[[127309,127309],\"mapped\",[115,115]],[[127310,127310],\"mapped\",[112,112,118]],[[127311,127311],\"mapped\",[119,99]],[[127312,127318],\"valid\",[],\"NV8\"],[[127319,127319],\"valid\",[],\"NV8\"],[[127320,127326],\"valid\",[],\"NV8\"],[[127327,127327],\"valid\",[],\"NV8\"],[[127328,127337],\"valid\",[],\"NV8\"],[[127338,127338],\"mapped\",[109,99]],[[127339,127339],\"mapped\",[109,100]],[[127340,127343],\"disallowed\"],[[127344,127352],\"valid\",[],\"NV8\"],[[127353,127353],\"valid\",[],\"NV8\"],[[127354,127354],\"valid\",[],\"NV8\"],[[127355,127356],\"valid\",[],\"NV8\"],[[127357,127358],\"valid\",[],\"NV8\"],[[127359,127359],\"valid\",[],\"NV8\"],[[127360,127369],\"valid\",[],\"NV8\"],[[127370,127373],\"valid\",[],\"NV8\"],[[127374,127375],\"valid\",[],\"NV8\"],[[127376,127376],\"mapped\",[100,106]],[[127377,127386],\"valid\",[],\"NV8\"],[[127387,127461],\"disallowed\"],[[127462,127487],\"valid\",[],\"NV8\"],[[127488,127488],\"mapped\",[12411,12363]],[[127489,127489],\"mapped\",[12467,12467]],[[127490,127490],\"mapped\",[12469]],[[127491,127503],\"disallowed\"],[[127504,127504],\"mapped\",[25163]],[[127505,127505],\"mapped\",[23383]],[[127506,127506],\"mapped\",[21452]],[[127507,127507],\"mapped\",[12487]],[[127508,127508],\"mapped\",[20108]],[[127509,127509],\"mapped\",[22810]],[[127510,127510],\"mapped\",[35299]],[[127511,127511],\"mapped\",[22825]],[[127512,127512],\"mapped\",[20132]],[[127513,127513],\"mapped\",[26144]],[[127514,127514],\"mapped\",[28961]],[[127515,127515],\"mapped\",[26009]],[[127516,127516],\"mapped\",[21069]],[[127517,127517],\"mapped\",[24460]],[[127518,127518],\"mapped\",[20877]],[[127519,127519],\"mapped\",[26032]],[[127520,127520],\"mapped\",[21021]],[[127521,127521],\"mapped\",[32066]],[[127522,127522],\"mapped\",[29983]],[[127523,127523],\"mapped\",[36009]],[[127524,127524],\"mapped\",[22768]],[[127525,127525],\"mapped\",[21561]],[[127526,127526],\"mapped\",[28436]],[[127527,127527],\"mapped\",[25237]],[[127528,127528],\"mapped\",[25429]],[[127529,127529],\"mapped\",[19968]],[[127530,127530],\"mapped\",[19977]],[[127531,127531],\"mapped\",[36938]],[[127532,127532],\"mapped\",[24038]],[[127533,127533],\"mapped\",[20013]],[[127534,127534],\"mapped\",[21491]],[[127535,127535],\"mapped\",[25351]],[[127536,127536],\"mapped\",[36208]],[[127537,127537],\"mapped\",[25171]],[[127538,127538],\"mapped\",[31105]],[[127539,127539],\"mapped\",[31354]],[[127540,127540],\"mapped\",[21512]],[[127541,127541],\"mapped\",[28288]],[[127542,127542],\"mapped\",[26377]],[[127543,127543],\"mapped\",[26376]],[[127544,127544],\"mapped\",[30003]],[[127545,127545],\"mapped\",[21106]],[[127546,127546],\"mapped\",[21942]],[[127547,127551],\"disallowed\"],[[127552,127552],\"mapped\",[12308,26412,12309]],[[127553,127553],\"mapped\",[12308,19977,12309]],[[127554,127554],\"mapped\",[12308,20108,12309]],[[127555,127555],\"mapped\",[12308,23433,12309]],[[127556,127556],\"mapped\",[12308,28857,12309]],[[127557,127557],\"mapped\",[12308,25171,12309]],[[127558,127558],\"mapped\",[12308,30423,12309]],[[127559,127559],\"mapped\",[12308,21213,12309]],[[127560,127560],\"mapped\",[12308,25943,12309]],[[127561,127567],\"disallowed\"],[[127568,127568],\"mapped\",[24471]],[[127569,127569],\"mapped\",[21487]],[[127570,127743],\"disallowed\"],[[127744,127776],\"valid\",[],\"NV8\"],[[127777,127788],\"valid\",[],\"NV8\"],[[127789,127791],\"valid\",[],\"NV8\"],[[127792,127797],\"valid\",[],\"NV8\"],[[127798,127798],\"valid\",[],\"NV8\"],[[127799,127868],\"valid\",[],\"NV8\"],[[127869,127869],\"valid\",[],\"NV8\"],[[127870,127871],\"valid\",[],\"NV8\"],[[127872,127891],\"valid\",[],\"NV8\"],[[127892,127903],\"valid\",[],\"NV8\"],[[127904,127940],\"valid\",[],\"NV8\"],[[127941,127941],\"valid\",[],\"NV8\"],[[127942,127946],\"valid\",[],\"NV8\"],[[127947,127950],\"valid\",[],\"NV8\"],[[127951,127955],\"valid\",[],\"NV8\"],[[127956,127967],\"valid\",[],\"NV8\"],[[127968,127984],\"valid\",[],\"NV8\"],[[127985,127991],\"valid\",[],\"NV8\"],[[127992,127999],\"valid\",[],\"NV8\"],[[128000,128062],\"valid\",[],\"NV8\"],[[128063,128063],\"valid\",[],\"NV8\"],[[128064,128064],\"valid\",[],\"NV8\"],[[128065,128065],\"valid\",[],\"NV8\"],[[128066,128247],\"valid\",[],\"NV8\"],[[128248,128248],\"valid\",[],\"NV8\"],[[128249,128252],\"valid\",[],\"NV8\"],[[128253,128254],\"valid\",[],\"NV8\"],[[128255,128255],\"valid\",[],\"NV8\"],[[128256,128317],\"valid\",[],\"NV8\"],[[128318,128319],\"valid\",[],\"NV8\"],[[128320,128323],\"valid\",[],\"NV8\"],[[128324,128330],\"valid\",[],\"NV8\"],[[128331,128335],\"valid\",[],\"NV8\"],[[128336,128359],\"valid\",[],\"NV8\"],[[128360,128377],\"valid\",[],\"NV8\"],[[128378,128378],\"disallowed\"],[[128379,128419],\"valid\",[],\"NV8\"],[[128420,128420],\"disallowed\"],[[128421,128506],\"valid\",[],\"NV8\"],[[128507,128511],\"valid\",[],\"NV8\"],[[128512,128512],\"valid\",[],\"NV8\"],[[128513,128528],\"valid\",[],\"NV8\"],[[128529,128529],\"valid\",[],\"NV8\"],[[128530,128532],\"valid\",[],\"NV8\"],[[128533,128533],\"valid\",[],\"NV8\"],[[128534,128534],\"valid\",[],\"NV8\"],[[128535,128535],\"valid\",[],\"NV8\"],[[128536,128536],\"valid\",[],\"NV8\"],[[128537,128537],\"valid\",[],\"NV8\"],[[128538,128538],\"valid\",[],\"NV8\"],[[128539,128539],\"valid\",[],\"NV8\"],[[128540,128542],\"valid\",[],\"NV8\"],[[128543,128543],\"valid\",[],\"NV8\"],[[128544,128549],\"valid\",[],\"NV8\"],[[128550,128551],\"valid\",[],\"NV8\"],[[128552,128555],\"valid\",[],\"NV8\"],[[128556,128556],\"valid\",[],\"NV8\"],[[128557,128557],\"valid\",[],\"NV8\"],[[128558,128559],\"valid\",[],\"NV8\"],[[128560,128563],\"valid\",[],\"NV8\"],[[128564,128564],\"valid\",[],\"NV8\"],[[128565,128576],\"valid\",[],\"NV8\"],[[128577,128578],\"valid\",[],\"NV8\"],[[128579,128580],\"valid\",[],\"NV8\"],[[128581,128591],\"valid\",[],\"NV8\"],[[128592,128639],\"valid\",[],\"NV8\"],[[128640,128709],\"valid\",[],\"NV8\"],[[128710,128719],\"valid\",[],\"NV8\"],[[128720,128720],\"valid\",[],\"NV8\"],[[128721,128735],\"disallowed\"],[[128736,128748],\"valid\",[],\"NV8\"],[[128749,128751],\"disallowed\"],[[128752,128755],\"valid\",[],\"NV8\"],[[128756,128767],\"disallowed\"],[[128768,128883],\"valid\",[],\"NV8\"],[[128884,128895],\"disallowed\"],[[128896,128980],\"valid\",[],\"NV8\"],[[128981,129023],\"disallowed\"],[[129024,129035],\"valid\",[],\"NV8\"],[[129036,129039],\"disallowed\"],[[129040,129095],\"valid\",[],\"NV8\"],[[129096,129103],\"disallowed\"],[[129104,129113],\"valid\",[],\"NV8\"],[[129114,129119],\"disallowed\"],[[129120,129159],\"valid\",[],\"NV8\"],[[129160,129167],\"disallowed\"],[[129168,129197],\"valid\",[],\"NV8\"],[[129198,129295],\"disallowed\"],[[129296,129304],\"valid\",[],\"NV8\"],[[129305,129407],\"disallowed\"],[[129408,129412],\"valid\",[],\"NV8\"],[[129413,129471],\"disallowed\"],[[129472,129472],\"valid\",[],\"NV8\"],[[129473,131069],\"disallowed\"],[[131070,131071],\"disallowed\"],[[131072,173782],\"valid\"],[[173783,173823],\"disallowed\"],[[173824,177972],\"valid\"],[[177973,177983],\"disallowed\"],[[177984,178205],\"valid\"],[[178206,178207],\"disallowed\"],[[178208,183969],\"valid\"],[[183970,194559],\"disallowed\"],[[194560,194560],\"mapped\",[20029]],[[194561,194561],\"mapped\",[20024]],[[194562,194562],\"mapped\",[20033]],[[194563,194563],\"mapped\",[131362]],[[194564,194564],\"mapped\",[20320]],[[194565,194565],\"mapped\",[20398]],[[194566,194566],\"mapped\",[20411]],[[194567,194567],\"mapped\",[20482]],[[194568,194568],\"mapped\",[20602]],[[194569,194569],\"mapped\",[20633]],[[194570,194570],\"mapped\",[20711]],[[194571,194571],\"mapped\",[20687]],[[194572,194572],\"mapped\",[13470]],[[194573,194573],\"mapped\",[132666]],[[194574,194574],\"mapped\",[20813]],[[194575,194575],\"mapped\",[20820]],[[194576,194576],\"mapped\",[20836]],[[194577,194577],\"mapped\",[20855]],[[194578,194578],\"mapped\",[132380]],[[194579,194579],\"mapped\",[13497]],[[194580,194580],\"mapped\",[20839]],[[194581,194581],\"mapped\",[20877]],[[194582,194582],\"mapped\",[132427]],[[194583,194583],\"mapped\",[20887]],[[194584,194584],\"mapped\",[20900]],[[194585,194585],\"mapped\",[20172]],[[194586,194586],\"mapped\",[20908]],[[194587,194587],\"mapped\",[20917]],[[194588,194588],\"mapped\",[168415]],[[194589,194589],\"mapped\",[20981]],[[194590,194590],\"mapped\",[20995]],[[194591,194591],\"mapped\",[13535]],[[194592,194592],\"mapped\",[21051]],[[194593,194593],\"mapped\",[21062]],[[194594,194594],\"mapped\",[21106]],[[194595,194595],\"mapped\",[21111]],[[194596,194596],\"mapped\",[13589]],[[194597,194597],\"mapped\",[21191]],[[194598,194598],\"mapped\",[21193]],[[194599,194599],\"mapped\",[21220]],[[194600,194600],\"mapped\",[21242]],[[194601,194601],\"mapped\",[21253]],[[194602,194602],\"mapped\",[21254]],[[194603,194603],\"mapped\",[21271]],[[194604,194604],\"mapped\",[21321]],[[194605,194605],\"mapped\",[21329]],[[194606,194606],\"mapped\",[21338]],[[194607,194607],\"mapped\",[21363]],[[194608,194608],\"mapped\",[21373]],[[194609,194611],\"mapped\",[21375]],[[194612,194612],\"mapped\",[133676]],[[194613,194613],\"mapped\",[28784]],[[194614,194614],\"mapped\",[21450]],[[194615,194615],\"mapped\",[21471]],[[194616,194616],\"mapped\",[133987]],[[194617,194617],\"mapped\",[21483]],[[194618,194618],\"mapped\",[21489]],[[194619,194619],\"mapped\",[21510]],[[194620,194620],\"mapped\",[21662]],[[194621,194621],\"mapped\",[21560]],[[194622,194622],\"mapped\",[21576]],[[194623,194623],\"mapped\",[21608]],[[194624,194624],\"mapped\",[21666]],[[194625,194625],\"mapped\",[21750]],[[194626,194626],\"mapped\",[21776]],[[194627,194627],\"mapped\",[21843]],[[194628,194628],\"mapped\",[21859]],[[194629,194630],\"mapped\",[21892]],[[194631,194631],\"mapped\",[21913]],[[194632,194632],\"mapped\",[21931]],[[194633,194633],\"mapped\",[21939]],[[194634,194634],\"mapped\",[21954]],[[194635,194635],\"mapped\",[22294]],[[194636,194636],\"mapped\",[22022]],[[194637,194637],\"mapped\",[22295]],[[194638,194638],\"mapped\",[22097]],[[194639,194639],\"mapped\",[22132]],[[194640,194640],\"mapped\",[20999]],[[194641,194641],\"mapped\",[22766]],[[194642,194642],\"mapped\",[22478]],[[194643,194643],\"mapped\",[22516]],[[194644,194644],\"mapped\",[22541]],[[194645,194645],\"mapped\",[22411]],[[194646,194646],\"mapped\",[22578]],[[194647,194647],\"mapped\",[22577]],[[194648,194648],\"mapped\",[22700]],[[194649,194649],\"mapped\",[136420]],[[194650,194650],\"mapped\",[22770]],[[194651,194651],\"mapped\",[22775]],[[194652,194652],\"mapped\",[22790]],[[194653,194653],\"mapped\",[22810]],[[194654,194654],\"mapped\",[22818]],[[194655,194655],\"mapped\",[22882]],[[194656,194656],\"mapped\",[136872]],[[194657,194657],\"mapped\",[136938]],[[194658,194658],\"mapped\",[23020]],[[194659,194659],\"mapped\",[23067]],[[194660,194660],\"mapped\",[23079]],[[194661,194661],\"mapped\",[23000]],[[194662,194662],\"mapped\",[23142]],[[194663,194663],\"mapped\",[14062]],[[194664,194664],\"disallowed\"],[[194665,194665],\"mapped\",[23304]],[[194666,194667],\"mapped\",[23358]],[[194668,194668],\"mapped\",[137672]],[[194669,194669],\"mapped\",[23491]],[[194670,194670],\"mapped\",[23512]],[[194671,194671],\"mapped\",[23527]],[[194672,194672],\"mapped\",[23539]],[[194673,194673],\"mapped\",[138008]],[[194674,194674],\"mapped\",[23551]],[[194675,194675],\"mapped\",[23558]],[[194676,194676],\"disallowed\"],[[194677,194677],\"mapped\",[23586]],[[194678,194678],\"mapped\",[14209]],[[194679,194679],\"mapped\",[23648]],[[194680,194680],\"mapped\",[23662]],[[194681,194681],\"mapped\",[23744]],[[194682,194682],\"mapped\",[23693]],[[194683,194683],\"mapped\",[138724]],[[194684,194684],\"mapped\",[23875]],[[194685,194685],\"mapped\",[138726]],[[194686,194686],\"mapped\",[23918]],[[194687,194687],\"mapped\",[23915]],[[194688,194688],\"mapped\",[23932]],[[194689,194689],\"mapped\",[24033]],[[194690,194690],\"mapped\",[24034]],[[194691,194691],\"mapped\",[14383]],[[194692,194692],\"mapped\",[24061]],[[194693,194693],\"mapped\",[24104]],[[194694,194694],\"mapped\",[24125]],[[194695,194695],\"mapped\",[24169]],[[194696,194696],\"mapped\",[14434]],[[194697,194697],\"mapped\",[139651]],[[194698,194698],\"mapped\",[14460]],[[194699,194699],\"mapped\",[24240]],[[194700,194700],\"mapped\",[24243]],[[194701,194701],\"mapped\",[24246]],[[194702,194702],\"mapped\",[24266]],[[194703,194703],\"mapped\",[172946]],[[194704,194704],\"mapped\",[24318]],[[194705,194706],\"mapped\",[140081]],[[194707,194707],\"mapped\",[33281]],[[194708,194709],\"mapped\",[24354]],[[194710,194710],\"mapped\",[14535]],[[194711,194711],\"mapped\",[144056]],[[194712,194712],\"mapped\",[156122]],[[194713,194713],\"mapped\",[24418]],[[194714,194714],\"mapped\",[24427]],[[194715,194715],\"mapped\",[14563]],[[194716,194716],\"mapped\",[24474]],[[194717,194717],\"mapped\",[24525]],[[194718,194718],\"mapped\",[24535]],[[194719,194719],\"mapped\",[24569]],[[194720,194720],\"mapped\",[24705]],[[194721,194721],\"mapped\",[14650]],[[194722,194722],\"mapped\",[14620]],[[194723,194723],\"mapped\",[24724]],[[194724,194724],\"mapped\",[141012]],[[194725,194725],\"mapped\",[24775]],[[194726,194726],\"mapped\",[24904]],[[194727,194727],\"mapped\",[24908]],[[194728,194728],\"mapped\",[24910]],[[194729,194729],\"mapped\",[24908]],[[194730,194730],\"mapped\",[24954]],[[194731,194731],\"mapped\",[24974]],[[194732,194732],\"mapped\",[25010]],[[194733,194733],\"mapped\",[24996]],[[194734,194734],\"mapped\",[25007]],[[194735,194735],\"mapped\",[25054]],[[194736,194736],\"mapped\",[25074]],[[194737,194737],\"mapped\",[25078]],[[194738,194738],\"mapped\",[25104]],[[194739,194739],\"mapped\",[25115]],[[194740,194740],\"mapped\",[25181]],[[194741,194741],\"mapped\",[25265]],[[194742,194742],\"mapped\",[25300]],[[194743,194743],\"mapped\",[25424]],[[194744,194744],\"mapped\",[142092]],[[194745,194745],\"mapped\",[25405]],[[194746,194746],\"mapped\",[25340]],[[194747,194747],\"mapped\",[25448]],[[194748,194748],\"mapped\",[25475]],[[194749,194749],\"mapped\",[25572]],[[194750,194750],\"mapped\",[142321]],[[194751,194751],\"mapped\",[25634]],[[194752,194752],\"mapped\",[25541]],[[194753,194753],\"mapped\",[25513]],[[194754,194754],\"mapped\",[14894]],[[194755,194755],\"mapped\",[25705]],[[194756,194756],\"mapped\",[25726]],[[194757,194757],\"mapped\",[25757]],[[194758,194758],\"mapped\",[25719]],[[194759,194759],\"mapped\",[14956]],[[194760,194760],\"mapped\",[25935]],[[194761,194761],\"mapped\",[25964]],[[194762,194762],\"mapped\",[143370]],[[194763,194763],\"mapped\",[26083]],[[194764,194764],\"mapped\",[26360]],[[194765,194765],\"mapped\",[26185]],[[194766,194766],\"mapped\",[15129]],[[194767,194767],\"mapped\",[26257]],[[194768,194768],\"mapped\",[15112]],[[194769,194769],\"mapped\",[15076]],[[194770,194770],\"mapped\",[20882]],[[194771,194771],\"mapped\",[20885]],[[194772,194772],\"mapped\",[26368]],[[194773,194773],\"mapped\",[26268]],[[194774,194774],\"mapped\",[32941]],[[194775,194775],\"mapped\",[17369]],[[194776,194776],\"mapped\",[26391]],[[194777,194777],\"mapped\",[26395]],[[194778,194778],\"mapped\",[26401]],[[194779,194779],\"mapped\",[26462]],[[194780,194780],\"mapped\",[26451]],[[194781,194781],\"mapped\",[144323]],[[194782,194782],\"mapped\",[15177]],[[194783,194783],\"mapped\",[26618]],[[194784,194784],\"mapped\",[26501]],[[194785,194785],\"mapped\",[26706]],[[194786,194786],\"mapped\",[26757]],[[194787,194787],\"mapped\",[144493]],[[194788,194788],\"mapped\",[26766]],[[194789,194789],\"mapped\",[26655]],[[194790,194790],\"mapped\",[26900]],[[194791,194791],\"mapped\",[15261]],[[194792,194792],\"mapped\",[26946]],[[194793,194793],\"mapped\",[27043]],[[194794,194794],\"mapped\",[27114]],[[194795,194795],\"mapped\",[27304]],[[194796,194796],\"mapped\",[145059]],[[194797,194797],\"mapped\",[27355]],[[194798,194798],\"mapped\",[15384]],[[194799,194799],\"mapped\",[27425]],[[194800,194800],\"mapped\",[145575]],[[194801,194801],\"mapped\",[27476]],[[194802,194802],\"mapped\",[15438]],[[194803,194803],\"mapped\",[27506]],[[194804,194804],\"mapped\",[27551]],[[194805,194805],\"mapped\",[27578]],[[194806,194806],\"mapped\",[27579]],[[194807,194807],\"mapped\",[146061]],[[194808,194808],\"mapped\",[138507]],[[194809,194809],\"mapped\",[146170]],[[194810,194810],\"mapped\",[27726]],[[194811,194811],\"mapped\",[146620]],[[194812,194812],\"mapped\",[27839]],[[194813,194813],\"mapped\",[27853]],[[194814,194814],\"mapped\",[27751]],[[194815,194815],\"mapped\",[27926]],[[194816,194816],\"mapped\",[27966]],[[194817,194817],\"mapped\",[28023]],[[194818,194818],\"mapped\",[27969]],[[194819,194819],\"mapped\",[28009]],[[194820,194820],\"mapped\",[28024]],[[194821,194821],\"mapped\",[28037]],[[194822,194822],\"mapped\",[146718]],[[194823,194823],\"mapped\",[27956]],[[194824,194824],\"mapped\",[28207]],[[194825,194825],\"mapped\",[28270]],[[194826,194826],\"mapped\",[15667]],[[194827,194827],\"mapped\",[28363]],[[194828,194828],\"mapped\",[28359]],[[194829,194829],\"mapped\",[147153]],[[194830,194830],\"mapped\",[28153]],[[194831,194831],\"mapped\",[28526]],[[194832,194832],\"mapped\",[147294]],[[194833,194833],\"mapped\",[147342]],[[194834,194834],\"mapped\",[28614]],[[194835,194835],\"mapped\",[28729]],[[194836,194836],\"mapped\",[28702]],[[194837,194837],\"mapped\",[28699]],[[194838,194838],\"mapped\",[15766]],[[194839,194839],\"mapped\",[28746]],[[194840,194840],\"mapped\",[28797]],[[194841,194841],\"mapped\",[28791]],[[194842,194842],\"mapped\",[28845]],[[194843,194843],\"mapped\",[132389]],[[194844,194844],\"mapped\",[28997]],[[194845,194845],\"mapped\",[148067]],[[194846,194846],\"mapped\",[29084]],[[194847,194847],\"disallowed\"],[[194848,194848],\"mapped\",[29224]],[[194849,194849],\"mapped\",[29237]],[[194850,194850],\"mapped\",[29264]],[[194851,194851],\"mapped\",[149000]],[[194852,194852],\"mapped\",[29312]],[[194853,194853],\"mapped\",[29333]],[[194854,194854],\"mapped\",[149301]],[[194855,194855],\"mapped\",[149524]],[[194856,194856],\"mapped\",[29562]],[[194857,194857],\"mapped\",[29579]],[[194858,194858],\"mapped\",[16044]],[[194859,194859],\"mapped\",[29605]],[[194860,194861],\"mapped\",[16056]],[[194862,194862],\"mapped\",[29767]],[[194863,194863],\"mapped\",[29788]],[[194864,194864],\"mapped\",[29809]],[[194865,194865],\"mapped\",[29829]],[[194866,194866],\"mapped\",[29898]],[[194867,194867],\"mapped\",[16155]],[[194868,194868],\"mapped\",[29988]],[[194869,194869],\"mapped\",[150582]],[[194870,194870],\"mapped\",[30014]],[[194871,194871],\"mapped\",[150674]],[[194872,194872],\"mapped\",[30064]],[[194873,194873],\"mapped\",[139679]],[[194874,194874],\"mapped\",[30224]],[[194875,194875],\"mapped\",[151457]],[[194876,194876],\"mapped\",[151480]],[[194877,194877],\"mapped\",[151620]],[[194878,194878],\"mapped\",[16380]],[[194879,194879],\"mapped\",[16392]],[[194880,194880],\"mapped\",[30452]],[[194881,194881],\"mapped\",[151795]],[[194882,194882],\"mapped\",[151794]],[[194883,194883],\"mapped\",[151833]],[[194884,194884],\"mapped\",[151859]],[[194885,194885],\"mapped\",[30494]],[[194886,194887],\"mapped\",[30495]],[[194888,194888],\"mapped\",[30538]],[[194889,194889],\"mapped\",[16441]],[[194890,194890],\"mapped\",[30603]],[[194891,194891],\"mapped\",[16454]],[[194892,194892],\"mapped\",[16534]],[[194893,194893],\"mapped\",[152605]],[[194894,194894],\"mapped\",[30798]],[[194895,194895],\"mapped\",[30860]],[[194896,194896],\"mapped\",[30924]],[[194897,194897],\"mapped\",[16611]],[[194898,194898],\"mapped\",[153126]],[[194899,194899],\"mapped\",[31062]],[[194900,194900],\"mapped\",[153242]],[[194901,194901],\"mapped\",[153285]],[[194902,194902],\"mapped\",[31119]],[[194903,194903],\"mapped\",[31211]],[[194904,194904],\"mapped\",[16687]],[[194905,194905],\"mapped\",[31296]],[[194906,194906],\"mapped\",[31306]],[[194907,194907],\"mapped\",[31311]],[[194908,194908],\"mapped\",[153980]],[[194909,194910],\"mapped\",[154279]],[[194911,194911],\"disallowed\"],[[194912,194912],\"mapped\",[16898]],[[194913,194913],\"mapped\",[154539]],[[194914,194914],\"mapped\",[31686]],[[194915,194915],\"mapped\",[31689]],[[194916,194916],\"mapped\",[16935]],[[194917,194917],\"mapped\",[154752]],[[194918,194918],\"mapped\",[31954]],[[194919,194919],\"mapped\",[17056]],[[194920,194920],\"mapped\",[31976]],[[194921,194921],\"mapped\",[31971]],[[194922,194922],\"mapped\",[32000]],[[194923,194923],\"mapped\",[155526]],[[194924,194924],\"mapped\",[32099]],[[194925,194925],\"mapped\",[17153]],[[194926,194926],\"mapped\",[32199]],[[194927,194927],\"mapped\",[32258]],[[194928,194928],\"mapped\",[32325]],[[194929,194929],\"mapped\",[17204]],[[194930,194930],\"mapped\",[156200]],[[194931,194931],\"mapped\",[156231]],[[194932,194932],\"mapped\",[17241]],[[194933,194933],\"mapped\",[156377]],[[194934,194934],\"mapped\",[32634]],[[194935,194935],\"mapped\",[156478]],[[194936,194936],\"mapped\",[32661]],[[194937,194937],\"mapped\",[32762]],[[194938,194938],\"mapped\",[32773]],[[194939,194939],\"mapped\",[156890]],[[194940,194940],\"mapped\",[156963]],[[194941,194941],\"mapped\",[32864]],[[194942,194942],\"mapped\",[157096]],[[194943,194943],\"mapped\",[32880]],[[194944,194944],\"mapped\",[144223]],[[194945,194945],\"mapped\",[17365]],[[194946,194946],\"mapped\",[32946]],[[194947,194947],\"mapped\",[33027]],[[194948,194948],\"mapped\",[17419]],[[194949,194949],\"mapped\",[33086]],[[194950,194950],\"mapped\",[23221]],[[194951,194951],\"mapped\",[157607]],[[194952,194952],\"mapped\",[157621]],[[194953,194953],\"mapped\",[144275]],[[194954,194954],\"mapped\",[144284]],[[194955,194955],\"mapped\",[33281]],[[194956,194956],\"mapped\",[33284]],[[194957,194957],\"mapped\",[36766]],[[194958,194958],\"mapped\",[17515]],[[194959,194959],\"mapped\",[33425]],[[194960,194960],\"mapped\",[33419]],[[194961,194961],\"mapped\",[33437]],[[194962,194962],\"mapped\",[21171]],[[194963,194963],\"mapped\",[33457]],[[194964,194964],\"mapped\",[33459]],[[194965,194965],\"mapped\",[33469]],[[194966,194966],\"mapped\",[33510]],[[194967,194967],\"mapped\",[158524]],[[194968,194968],\"mapped\",[33509]],[[194969,194969],\"mapped\",[33565]],[[194970,194970],\"mapped\",[33635]],[[194971,194971],\"mapped\",[33709]],[[194972,194972],\"mapped\",[33571]],[[194973,194973],\"mapped\",[33725]],[[194974,194974],\"mapped\",[33767]],[[194975,194975],\"mapped\",[33879]],[[194976,194976],\"mapped\",[33619]],[[194977,194977],\"mapped\",[33738]],[[194978,194978],\"mapped\",[33740]],[[194979,194979],\"mapped\",[33756]],[[194980,194980],\"mapped\",[158774]],[[194981,194981],\"mapped\",[159083]],[[194982,194982],\"mapped\",[158933]],[[194983,194983],\"mapped\",[17707]],[[194984,194984],\"mapped\",[34033]],[[194985,194985],\"mapped\",[34035]],[[194986,194986],\"mapped\",[34070]],[[194987,194987],\"mapped\",[160714]],[[194988,194988],\"mapped\",[34148]],[[194989,194989],\"mapped\",[159532]],[[194990,194990],\"mapped\",[17757]],[[194991,194991],\"mapped\",[17761]],[[194992,194992],\"mapped\",[159665]],[[194993,194993],\"mapped\",[159954]],[[194994,194994],\"mapped\",[17771]],[[194995,194995],\"mapped\",[34384]],[[194996,194996],\"mapped\",[34396]],[[194997,194997],\"mapped\",[34407]],[[194998,194998],\"mapped\",[34409]],[[194999,194999],\"mapped\",[34473]],[[195000,195000],\"mapped\",[34440]],[[195001,195001],\"mapped\",[34574]],[[195002,195002],\"mapped\",[34530]],[[195003,195003],\"mapped\",[34681]],[[195004,195004],\"mapped\",[34600]],[[195005,195005],\"mapped\",[34667]],[[195006,195006],\"mapped\",[34694]],[[195007,195007],\"disallowed\"],[[195008,195008],\"mapped\",[34785]],[[195009,195009],\"mapped\",[34817]],[[195010,195010],\"mapped\",[17913]],[[195011,195011],\"mapped\",[34912]],[[195012,195012],\"mapped\",[34915]],[[195013,195013],\"mapped\",[161383]],[[195014,195014],\"mapped\",[35031]],[[195015,195015],\"mapped\",[35038]],[[195016,195016],\"mapped\",[17973]],[[195017,195017],\"mapped\",[35066]],[[195018,195018],\"mapped\",[13499]],[[195019,195019],\"mapped\",[161966]],[[195020,195020],\"mapped\",[162150]],[[195021,195021],\"mapped\",[18110]],[[195022,195022],\"mapped\",[18119]],[[195023,195023],\"mapped\",[35488]],[[195024,195024],\"mapped\",[35565]],[[195025,195025],\"mapped\",[35722]],[[195026,195026],\"mapped\",[35925]],[[195027,195027],\"mapped\",[162984]],[[195028,195028],\"mapped\",[36011]],[[195029,195029],\"mapped\",[36033]],[[195030,195030],\"mapped\",[36123]],[[195031,195031],\"mapped\",[36215]],[[195032,195032],\"mapped\",[163631]],[[195033,195033],\"mapped\",[133124]],[[195034,195034],\"mapped\",[36299]],[[195035,195035],\"mapped\",[36284]],[[195036,195036],\"mapped\",[36336]],[[195037,195037],\"mapped\",[133342]],[[195038,195038],\"mapped\",[36564]],[[195039,195039],\"mapped\",[36664]],[[195040,195040],\"mapped\",[165330]],[[195041,195041],\"mapped\",[165357]],[[195042,195042],\"mapped\",[37012]],[[195043,195043],\"mapped\",[37105]],[[195044,195044],\"mapped\",[37137]],[[195045,195045],\"mapped\",[165678]],[[195046,195046],\"mapped\",[37147]],[[195047,195047],\"mapped\",[37432]],[[195048,195048],\"mapped\",[37591]],[[195049,195049],\"mapped\",[37592]],[[195050,195050],\"mapped\",[37500]],[[195051,195051],\"mapped\",[37881]],[[195052,195052],\"mapped\",[37909]],[[195053,195053],\"mapped\",[166906]],[[195054,195054],\"mapped\",[38283]],[[195055,195055],\"mapped\",[18837]],[[195056,195056],\"mapped\",[38327]],[[195057,195057],\"mapped\",[167287]],[[195058,195058],\"mapped\",[18918]],[[195059,195059],\"mapped\",[38595]],[[195060,195060],\"mapped\",[23986]],[[195061,195061],\"mapped\",[38691]],[[195062,195062],\"mapped\",[168261]],[[195063,195063],\"mapped\",[168474]],[[195064,195064],\"mapped\",[19054]],[[195065,195065],\"mapped\",[19062]],[[195066,195066],\"mapped\",[38880]],[[195067,195067],\"mapped\",[168970]],[[195068,195068],\"mapped\",[19122]],[[195069,195069],\"mapped\",[169110]],[[195070,195071],\"mapped\",[38923]],[[195072,195072],\"mapped\",[38953]],[[195073,195073],\"mapped\",[169398]],[[195074,195074],\"mapped\",[39138]],[[195075,195075],\"mapped\",[19251]],[[195076,195076],\"mapped\",[39209]],[[195077,195077],\"mapped\",[39335]],[[195078,195078],\"mapped\",[39362]],[[195079,195079],\"mapped\",[39422]],[[195080,195080],\"mapped\",[19406]],[[195081,195081],\"mapped\",[170800]],[[195082,195082],\"mapped\",[39698]],[[195083,195083],\"mapped\",[40000]],[[195084,195084],\"mapped\",[40189]],[[195085,195085],\"mapped\",[19662]],[[195086,195086],\"mapped\",[19693]],[[195087,195087],\"mapped\",[40295]],[[195088,195088],\"mapped\",[172238]],[[195089,195089],\"mapped\",[19704]],[[195090,195090],\"mapped\",[172293]],[[195091,195091],\"mapped\",[172558]],[[195092,195092],\"mapped\",[172689]],[[195093,195093],\"mapped\",[40635]],[[195094,195094],\"mapped\",[19798]],[[195095,195095],\"mapped\",[40697]],[[195096,195096],\"mapped\",[40702]],[[195097,195097],\"mapped\",[40709]],[[195098,195098],\"mapped\",[40719]],[[195099,195099],\"mapped\",[40726]],[[195100,195100],\"mapped\",[40763]],[[195101,195101],\"mapped\",[173568]],[[195102,196605],\"disallowed\"],[[196606,196607],\"disallowed\"],[[196608,262141],\"disallowed\"],[[262142,262143],\"disallowed\"],[[262144,327677],\"disallowed\"],[[327678,327679],\"disallowed\"],[[327680,393213],\"disallowed\"],[[393214,393215],\"disallowed\"],[[393216,458749],\"disallowed\"],[[458750,458751],\"disallowed\"],[[458752,524285],\"disallowed\"],[[524286,524287],\"disallowed\"],[[524288,589821],\"disallowed\"],[[589822,589823],\"disallowed\"],[[589824,655357],\"disallowed\"],[[655358,655359],\"disallowed\"],[[655360,720893],\"disallowed\"],[[720894,720895],\"disallowed\"],[[720896,786429],\"disallowed\"],[[786430,786431],\"disallowed\"],[[786432,851965],\"disallowed\"],[[851966,851967],\"disallowed\"],[[851968,917501],\"disallowed\"],[[917502,917503],\"disallowed\"],[[917504,917504],\"disallowed\"],[[917505,917505],\"disallowed\"],[[917506,917535],\"disallowed\"],[[917536,917631],\"disallowed\"],[[917632,917759],\"disallowed\"],[[917760,917999],\"ignored\"],[[918000,983037],\"disallowed\"],[[983038,983039],\"disallowed\"],[[983040,1048573],\"disallowed\"],[[1048574,1048575],\"disallowed\"],[[1048576,1114109],\"disallowed\"],[[1114110,1114111],\"disallowed\"]]", "\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n", "\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n", "\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n", "\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n", "\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n", "'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = /<meta.+?charset=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// html4\n\tif (!res && str) {\n\t\tres = /<meta[\\s]+?http-equiv=(['\"])content-type\\1[\\s]+?content=(['\"])(.+?)\\2/i.exec(str);\n\t\tif (!res) {\n\t\t\tres = /<meta[\\s]+?content=(['\"])(.+?)\\1[\\s]+?http-equiv=(['\"])content-type\\3/i.exec(str);\n\t\t\tif (res) {\n\t\t\t\tres.pop(); // drop last quote\n\t\t\t}\n\t\t}\n\n\t\tif (res) {\n\t\t\tres = /charset=(.*)/i.exec(res.pop());\n\t\t}\n\t}\n\n\t// xml\n\tif (!res && str) {\n\t\tres = /<\\?xml.+?encoding=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// found charset\n\tif (res) {\n\t\tcharset = res.pop();\n\n\t\t// prevent decode issues when sites use incorrect encoding\n\t\t// ref: https://hsivonen.fi/encoding-menu/\n\t\tif (charset === 'gb2312' || charset === 'gbk') {\n\t\t\tcharset = 'gb18030';\n\t\t}\n\t}\n\n\t// turn raw buffers into a single utf-8 buffer\n\treturn convert(buffer, 'UTF-8', charset).toString();\n}\n\n/**\n * Detect a URLSearchParams object\n * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143\n *\n * @param Object obj Object to detect by type or brand\n * @return String\n */\nfunction isURLSearchParams(obj) {\n\t// Duck-typing as a necessary condition.\n\tif (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') {\n\t\treturn false;\n\t}\n\n\t// Brand-checking and more duck-typing as optional condition.\n\treturn obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function';\n}\n\n/**\n * Check if `obj` is a W3C `Blob` object (which `File` inherits from)\n * @param {*} obj\n * @return {boolean}\n */\nfunction isBlob(obj) {\n\treturn typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]);\n}\n\n/**\n * Clone body given Res/Req instance\n *\n * @param Mixed instance Response or Request instance\n * @return Mixed\n */\nfunction clone(instance) {\n\tlet p1, p2;\n\tlet body = instance.body;\n\n\t// don't allow cloning a used body\n\tif (instance.bodyUsed) {\n\t\tthrow new Error('cannot clone body after it is used');\n\t}\n\n\t// check that body is a stream and not form-data object\n\t// note: we can't clone the form-data object without having it as a dependency\n\tif (body instanceof Stream && typeof body.getBoundary !== 'function') {\n\t\t// tee instance body\n\t\tp1 = new PassThrough();\n\t\tp2 = new PassThrough();\n\t\tbody.pipe(p1);\n\t\tbody.pipe(p2);\n\t\t// set instance body to teed body and return the other teed body\n\t\tinstance[INTERNALS].body = p1;\n\t\tbody = p2;\n\t}\n\n\treturn body;\n}\n\n/**\n * Performs the operation \"extract a `Content-Type` value from |object|\" as\n * specified in the specification:\n * https://fetch.spec.whatwg.org/#concept-bodyinit-extract\n *\n * This function assumes that instance.body is present.\n *\n * @param Mixed instance Any options.body input\n */\nfunction extractContentType(body) {\n\tif (body === null) {\n\t\t// body is null\n\t\treturn null;\n\t} else if (typeof body === 'string') {\n\t\t// body is string\n\t\treturn 'text/plain;charset=UTF-8';\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\treturn 'application/x-www-form-urlencoded;charset=UTF-8';\n\t} else if (isBlob(body)) {\n\t\t// body is blob\n\t\treturn body.type || null;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn null;\n\t} else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\treturn null;\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\treturn null;\n\t} else if (typeof body.getBoundary === 'function') {\n\t\t// detect form data input from form-data module\n\t\treturn `multipart/form-data;boundary=${body.getBoundary()}`;\n\t} else if (body instanceof Stream) {\n\t\t// body is stream\n\t\t// can't really do much about this\n\t\treturn null;\n\t} else {\n\t\t// Body constructor defaults other things to string\n\t\treturn 'text/plain;charset=UTF-8';\n\t}\n}\n\n/**\n * The Fetch Standard treats this as if \"total bytes\" is a property on the body.\n * For us, we have to explicitly get it with a function.\n *\n * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes\n *\n * @param Body instance Instance of Body\n * @return Number? Number of bytes, or null if not possible\n */\nfunction getTotalBytes(instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\treturn 0;\n\t} else if (isBlob(body)) {\n\t\treturn body.size;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn body.length;\n\t} else if (body && typeof body.getLengthSync === 'function') {\n\t\t// detect form data input from form-data module\n\t\tif (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x\n\t\tbody.hasKnownLength && body.hasKnownLength()) {\n\t\t\t// 2.x\n\t\t\treturn body.getLengthSync();\n\t\t}\n\t\treturn null;\n\t} else {\n\t\t// body is stream\n\t\treturn null;\n\t}\n}\n\n/**\n * Write a Body to a Node.js WritableStream (e.g. http.Request) object.\n *\n * @param Body instance Instance of Body\n * @return Void\n */\nfunction writeToStream(dest, instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\tdest.end();\n\t} else if (isBlob(body)) {\n\t\tbody.stream().pipe(dest);\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\tdest.write(body);\n\t\tdest.end();\n\t} else {\n\t\t// body is stream\n\t\tbody.pipe(dest);\n\t}\n}\n\n// expose Promise\nBody.Promise = global.Promise;\n\n/**\n * headers.js\n *\n * Headers class offers convenient helpers\n */\n\nconst invalidTokenRegex = /[^\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]/;\nconst invalidHeaderCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/;\n\nfunction validateName(name) {\n\tname = `${name}`;\n\tif (invalidTokenRegex.test(name) || name === '') {\n\t\tthrow new TypeError(`${name} is not a legal HTTP header name`);\n\t}\n}\n\nfunction validateValue(value) {\n\tvalue = `${value}`;\n\tif (invalidHeaderCharRegex.test(value)) {\n\t\tthrow new TypeError(`${value} is not a legal HTTP header value`);\n\t}\n}\n\n/**\n * Find the key in the map object given a header name.\n *\n * Returns undefined if not found.\n *\n * @param String name Header name\n * @return String|Undefined\n */\nfunction find(map, name) {\n\tname = name.toLowerCase();\n\tfor (const key in map) {\n\t\tif (key.toLowerCase() === name) {\n\t\t\treturn key;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nconst MAP = Symbol('map');\nclass Headers {\n\t/**\n * Headers class\n *\n * @param Object headers Response headers\n * @return Void\n */\n\tconstructor() {\n\t\tlet init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence<sequence<ByteString>>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record<ByteString, ByteString>\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// tests for socket presence, as in some situations the\n\t\t\t\t// the 'socket' event is not triggered for the request\n\t\t\t\t// (happens in deno), avoids `TypeError`\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket && socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\nexports.AbortError = AbortError;\n", "const nodeFetch = require('node-fetch')\nconst realFetch = nodeFetch.default || nodeFetch\n\nconst fetch = function (url, options) {\n // Support schemaless URIs on the server for parity with the browser.\n // Ex: //github.com/ -> https://github.com/\n if (/^\\/\\//.test(url)) {\n url = 'https:' + url\n }\n return realFetch.call(this, url, options)\n}\n\nfetch.ponyfill = true\n\nmodule.exports = exports = fetch\nexports.fetch = fetch\nexports.Headers = nodeFetch.Headers\nexports.Request = nodeFetch.Request\nexports.Response = nodeFetch.Response\n\n// Needed for TypeScript consumers without esModuleInterop.\nexports.default = fetch\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isJSON = void 0;\nfunction isJSON(contentTypeHeader) {\n if (contentTypeHeader) {\n const mediaType = parseContentType(contentTypeHeader);\n if (!mediaType) {\n return false;\n }\n if (mediaType.subtype === \"json\") {\n return true;\n }\n if (mediaType.suffix === \"json\") {\n return true;\n }\n if (mediaType.suffix && /\\bjson\\b/i.test(mediaType.suffix)) {\n return true;\n }\n if (mediaType.subtype && /\\bjson\\b/i.test(mediaType.subtype)) {\n return true;\n }\n }\n return false;\n}\nexports.isJSON = isJSON;\n/**\n * RegExp to match type in RFC 6838 with an optional trailing `;` because some Apple APIs returns one...\n *\n * type-name = restricted-name\n * subtype-name = restricted-name\n * restricted-name = restricted-name-first *126restricted-name-chars\n * restricted-name-first = ALPHA / DIGIT\n * restricted-name-chars = ALPHA / DIGIT / \"!\" / \"#\" /\n * \"$\" / \"&\" / \"-\" / \"^\" / \"_\"\n * restricted-name-chars =/ \".\" ; Characters before first dot always\n * ; specify a facet name\n * restricted-name-chars =/ \"+\" ; Characters after last plus always\n * ; specify a structured syntax suffix\n * ALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n * DIGIT = %x30-39 ; 0-9\n */\nconst MEDIA_TYPE_REGEXP = /^([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126});?$/;\nfunction parseContentType(header) {\n const headerDelimitationindex = header.indexOf(\";\");\n const contentType = headerDelimitationindex !== -1 ? header.slice(0, headerDelimitationindex).trim() : header.trim();\n const match = MEDIA_TYPE_REGEXP.exec(contentType.toLowerCase().toLowerCase());\n if (!match) {\n return;\n }\n const type = match[1];\n let subtype = match[2];\n let suffix;\n // suffix after last +\n const index = subtype.lastIndexOf(\"+\");\n if (index !== -1) {\n suffix = subtype.substring(index + 1);\n subtype = subtype.substring(0, index);\n }\n return { type, subtype, suffix };\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFetch = void 0;\nconst react_1 = require(\"react\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst cross_fetch_1 = require(\"cross-fetch\");\nconst fetch_utils_1 = require(\"./fetch-utils\");\nconst helpers_1 = require(\"./helpers\");\nasync function defaultParsing(response) {\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n const contentTypeHeader = response.headers.get(\"content-type\");\n if (contentTypeHeader && (0, fetch_utils_1.isJSON)(contentTypeHeader)) {\n return await response.json();\n }\n return await response.text();\n}\nfunction defaultMapping(result) {\n return { data: result, hasMore: false };\n}\nfunction useFetch(url, options) {\n const { parseResponse, mapResult, initialData, execute, keepPreviousData, onError, onData, onWillExecute, failureToastOptions, ...fetchOptions } = options || {};\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n failureToastOptions,\n };\n const parseResponseRef = (0, useLatest_1.useLatest)(parseResponse || defaultParsing);\n const mapResultRef = (0, useLatest_1.useLatest)(mapResult || defaultMapping);\n const urlRef = (0, react_1.useRef)();\n const firstPageUrlRef = (0, react_1.useRef)();\n const firstPageUrl = typeof url === \"function\" ? url({ page: 0 }) : undefined;\n /**\n * When paginating, `url` is a `PaginatedRequestInfo`, so we only want to update the ref when the `firstPageUrl` changes.\n * When not paginating, `url` is a `RequestInfo`, so we want to update the ref whenever `url` changes.\n */\n if (!urlRef.current || typeof firstPageUrlRef.current === \"undefined\" || firstPageUrlRef.current !== firstPageUrl) {\n urlRef.current = url;\n }\n firstPageUrlRef.current = firstPageUrl;\n const abortable = (0, react_1.useRef)();\n const paginatedFn = (0, react_1.useCallback)((url, options) => async (pagination) => {\n const res = await (0, cross_fetch_1.fetch)(url(pagination), { signal: abortable.current?.signal, ...options });\n const parsed = (await parseResponseRef.current(res));\n return mapResultRef.current?.(parsed);\n }, [parseResponseRef, mapResultRef]);\n const fn = (0, react_1.useCallback)(async (url, options) => {\n const res = await (0, cross_fetch_1.fetch)(url, { signal: abortable.current?.signal, ...options });\n const parsed = (await parseResponseRef.current(res));\n const mapped = mapResultRef.current(parsed);\n return mapped?.data;\n }, [parseResponseRef, mapResultRef]);\n const promise = (0, react_1.useMemo)(() => {\n if (firstPageUrlRef.current) {\n return paginatedFn;\n }\n return fn;\n }, [firstPageUrlRef, fn, paginatedFn]);\n // @ts-expect-error lastItem can't be inferred properly\n return (0, useCachedPromise_1.useCachedPromise)(promise, [urlRef.current, fetchOptions], {\n ...useCachedPromiseOptions,\n internal_cacheKeySuffix: firstPageUrlRef.current + (0, helpers_1.hash)(mapResultRef.current) + (0, helpers_1.hash)(parseResponseRef.current),\n abortable,\n });\n}\nexports.useFetch = useFetch;\n", "/**\n * This is not the set of all possible signals.\n *\n * It IS, however, the set of all signals that trigger\n * an exit on either Linux or BSD systems. Linux is a\n * superset of the signal names supported on BSD, and\n * the unknown signals just fail to register, so we can\n * catch that easily enough.\n *\n * Windows signals are a different set, since there are\n * signals that terminate Windows processes, but don't\n * terminate (or don't even exist) on Posix systems.\n *\n * Don't bother with SIGKILL. It's uncatchable, which\n * means that we can't fire any callbacks anyway.\n *\n * If a user does happen to register a handler on a non-\n * fatal signal like SIGWINCH or something, and then\n * exit, it'll end up firing `process.emit('exit')`, so\n * the handler will be fired anyway.\n *\n * SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n * artificially, inherently leave the process in a\n * state from which it is not safe to try and enter JS\n * listeners.\n */\nexport const signals: NodeJS.Signals[] = []\nsignals.push('SIGHUP', 'SIGINT', 'SIGTERM')\n\nif (process.platform !== 'win32') {\n signals.push(\n 'SIGALRM',\n 'SIGABRT',\n 'SIGVTALRM',\n 'SIGXCPU',\n 'SIGXFSZ',\n 'SIGUSR2',\n 'SIGTRAP',\n 'SIGSYS',\n 'SIGQUIT',\n 'SIGIOT'\n // should detect profiler and enable/disable accordingly.\n // see #21\n // 'SIGPROF'\n )\n}\n\nif (process.platform === 'linux') {\n signals.push('SIGIO', 'SIGPOLL', 'SIGPWR', 'SIGSTKFLT')\n}\n", "// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nimport { signals } from './signals.js'\nexport { signals }\n\n// just a loosened process type so we can do some evil things\ntype ProcessRE = NodeJS.Process & {\n reallyExit: (code?: number | undefined | null) => any\n emit: (ev: string, ...a: any[]) => any\n}\n\nconst processOk = (process: any): process is ProcessRE =>\n !!process &&\n typeof process === 'object' &&\n typeof process.removeListener === 'function' &&\n typeof process.emit === 'function' &&\n typeof process.reallyExit === 'function' &&\n typeof process.listeners === 'function' &&\n typeof process.kill === 'function' &&\n typeof process.pid === 'number' &&\n typeof process.on === 'function'\n\nconst kExitEmitter = Symbol.for('signal-exit emitter')\nconst global: typeof globalThis & { [kExitEmitter]?: Emitter } = globalThis\nconst ObjectDefineProperty = Object.defineProperty.bind(Object)\n\n/**\n * A function that takes an exit code and signal as arguments\n *\n * In the case of signal exits *only*, a return value of true\n * will indicate that the signal is being handled, and we should\n * not synthetically exit with the signal we received. Regardless\n * of the handler return value, the handler is unloaded when an\n * otherwise fatal signal is received, so you get exactly 1 shot\n * at it, unless you add another onExit handler at that point.\n *\n * In the case of numeric code exits, we may already have committed\n * to exiting the process, for example via a fatal exception or\n * unhandled promise rejection, so it is impossible to stop safely.\n */\nexport type Handler = (\n code: number | null | undefined,\n signal: NodeJS.Signals | null\n) => true | void\ntype ExitEvent = 'afterExit' | 'exit'\ntype Emitted = { [k in ExitEvent]: boolean }\ntype Listeners = { [k in ExitEvent]: Handler[] }\n\n// teeny special purpose ee\nclass Emitter {\n emitted: Emitted = {\n afterExit: false,\n exit: false,\n }\n\n listeners: Listeners = {\n afterExit: [],\n exit: [],\n }\n\n count: number = 0\n id: number = Math.random()\n\n constructor() {\n if (global[kExitEmitter]) {\n return global[kExitEmitter]\n }\n ObjectDefineProperty(global, kExitEmitter, {\n value: this,\n writable: false,\n enumerable: false,\n configurable: false,\n })\n }\n\n on(ev: ExitEvent, fn: Handler) {\n this.listeners[ev].push(fn)\n }\n\n removeListener(ev: ExitEvent, fn: Handler) {\n const list = this.listeners[ev]\n const i = list.indexOf(fn)\n /* c8 ignore start */\n if (i === -1) {\n return\n }\n /* c8 ignore stop */\n if (i === 0 && list.length === 1) {\n list.length = 0\n } else {\n list.splice(i, 1)\n }\n }\n\n emit(\n ev: ExitEvent,\n code: number | null | undefined,\n signal: NodeJS.Signals | null\n ): boolean {\n if (this.emitted[ev]) {\n return false\n }\n this.emitted[ev] = true\n let ret: boolean = false\n for (const fn of this.listeners[ev]) {\n ret = fn(code, signal) === true || ret\n }\n if (ev === 'exit') {\n ret = this.emit('afterExit', code, signal) || ret\n }\n return ret\n }\n}\n\nabstract class SignalExitBase {\n abstract onExit(cb: Handler, opts?: { alwaysLast?: boolean }): () => void\n abstract load(): void\n abstract unload(): void\n}\n\nconst signalExitWrap = <T extends SignalExitBase>(handler: T) => {\n return {\n onExit(cb: Handler, opts?: { alwaysLast?: boolean }) {\n return handler.onExit(cb, opts)\n },\n load() {\n return handler.load()\n },\n unload() {\n return handler.unload()\n },\n }\n}\n\nclass SignalExitFallback extends SignalExitBase {\n onExit() {\n return () => {}\n }\n load() {}\n unload() {}\n}\n\nclass SignalExit extends SignalExitBase {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n /* c8 ignore start */\n #hupSig = process.platform === 'win32' ? 'SIGINT' : 'SIGHUP'\n /* c8 ignore stop */\n #emitter = new Emitter()\n #process: ProcessRE\n #originalProcessEmit: ProcessRE['emit']\n #originalProcessReallyExit: ProcessRE['reallyExit']\n\n #sigListeners: { [k in NodeJS.Signals]?: () => void } = {}\n #loaded: boolean = false\n\n constructor(process: ProcessRE) {\n super()\n this.#process = process\n // { <signal>: <listener fn>, ... }\n this.#sigListeners = {}\n for (const sig of signals) {\n this.#sigListeners[sig] = () => {\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n const listeners = this.#process.listeners(sig)\n let { count } = this.#emitter\n // This is a workaround for the fact that signal-exit v3 and signal\n // exit v4 are not aware of each other, and each will attempt to let\n // the other handle it, so neither of them do. To correct this, we\n // detect if we're the only handler *except* for previous versions\n // of signal-exit, and increment by the count of listeners it has\n // created.\n /* c8 ignore start */\n const p = process as unknown as {\n __signal_exit_emitter__?: { count: number }\n }\n if (\n typeof p.__signal_exit_emitter__ === 'object' &&\n typeof p.__signal_exit_emitter__.count === 'number'\n ) {\n count += p.__signal_exit_emitter__.count\n }\n /* c8 ignore stop */\n if (listeners.length === count) {\n this.unload()\n const ret = this.#emitter.emit('exit', null, sig)\n /* c8 ignore start */\n const s = sig === 'SIGHUP' ? this.#hupSig : sig\n if (!ret) process.kill(process.pid, s)\n /* c8 ignore stop */\n }\n }\n }\n\n this.#originalProcessReallyExit = process.reallyExit\n this.#originalProcessEmit = process.emit\n }\n\n onExit(cb: Handler, opts?: { alwaysLast?: boolean }) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return () => {}\n }\n /* c8 ignore stop */\n\n if (this.#loaded === false) {\n this.load()\n }\n\n const ev = opts?.alwaysLast ? 'afterExit' : 'exit'\n this.#emitter.on(ev, cb)\n return () => {\n this.#emitter.removeListener(ev, cb)\n if (\n this.#emitter.listeners['exit'].length === 0 &&\n this.#emitter.listeners['afterExit'].length === 0\n ) {\n this.unload()\n }\n }\n }\n\n load() {\n if (this.#loaded) {\n return\n }\n this.#loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n this.#emitter.count += 1\n\n for (const sig of signals) {\n try {\n const fn = this.#sigListeners[sig]\n if (fn) this.#process.on(sig, fn)\n } catch (_) {}\n }\n\n this.#process.emit = (ev: string, ...a: any[]) => {\n return this.#processEmit(ev, ...a)\n }\n this.#process.reallyExit = (code?: number | null | undefined) => {\n return this.#processReallyExit(code)\n }\n }\n\n unload() {\n if (!this.#loaded) {\n return\n }\n this.#loaded = false\n\n signals.forEach(sig => {\n const listener = this.#sigListeners[sig]\n /* c8 ignore start */\n if (!listener) {\n throw new Error('Listener not defined for signal: ' + sig)\n }\n /* c8 ignore stop */\n try {\n this.#process.removeListener(sig, listener)\n /* c8 ignore start */\n } catch (_) {}\n /* c8 ignore stop */\n })\n this.#process.emit = this.#originalProcessEmit\n this.#process.reallyExit = this.#originalProcessReallyExit\n this.#emitter.count -= 1\n }\n\n #processReallyExit(code?: number | null | undefined) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return 0\n }\n this.#process.exitCode = code || 0\n /* c8 ignore stop */\n\n this.#emitter.emit('exit', this.#process.exitCode, null)\n return this.#originalProcessReallyExit.call(\n this.#process,\n this.#process.exitCode\n )\n }\n\n #processEmit(ev: string, ...args: any[]): any {\n const og = this.#originalProcessEmit\n if (ev === 'exit' && processOk(this.#process)) {\n if (typeof args[0] === 'number') {\n this.#process.exitCode = args[0]\n /* c8 ignore start */\n }\n /* c8 ignore start */\n const ret = og.call(this.#process, ev, ...args)\n /* c8 ignore start */\n this.#emitter.emit('exit', this.#process.exitCode, null)\n /* c8 ignore stop */\n return ret\n } else {\n return og.call(this.#process, ev, ...args)\n }\n }\n}\n\nconst process = globalThis.process\n// wrap so that we call the method on the actual handler, without\n// exporting it directly.\nexport const {\n /**\n * Called when the process is exiting, whether via signal, explicit\n * exit, or running out of stuff to do.\n *\n * If the global process object is not suitable for instrumentation,\n * then this will be a no-op.\n *\n * Returns a function that may be used to unload signal-exit.\n */\n onExit,\n\n /**\n * Load the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\n load,\n\n /**\n * Unload the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\n unload,\n} = signalExitWrap(\n processOk(process) ? new SignalExit(process) : new SignalExitFallback()\n)\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultParsing = exports.handleOutput = exports.getSpawnedResult = exports.getSpawnedPromise = void 0;\nconst node_buffer_1 = require(\"node:buffer\");\nconst node_stream_1 = __importDefault(require(\"node:stream\"));\nconst node_util_1 = require(\"node:util\");\nconst signal_exit_1 = require(\"signal-exit\");\nfunction getSpawnedPromise(spawned, { timeout } = {}) {\n const spawnedPromise = new Promise((resolve, reject) => {\n spawned.on(\"exit\", (exitCode, signal) => {\n resolve({ exitCode, signal, timedOut: false });\n });\n spawned.on(\"error\", (error) => {\n reject(error);\n });\n if (spawned.stdin) {\n spawned.stdin.on(\"error\", (error) => {\n reject(error);\n });\n }\n });\n if (timeout === 0 || timeout === undefined) {\n return spawnedPromise;\n }\n let timeoutId;\n const timeoutPromise = new Promise((_resolve, reject) => {\n timeoutId = setTimeout(() => {\n spawned.kill(\"SIGTERM\");\n reject(Object.assign(new Error(\"Timed out\"), { timedOut: true, signal: \"SIGTERM\" }));\n }, timeout);\n });\n const safeSpawnedPromise = spawnedPromise.finally(() => {\n clearTimeout(timeoutId);\n });\n const removeExitHandler = (0, signal_exit_1.onExit)(() => {\n spawned.kill();\n });\n return Promise.race([timeoutPromise, safeSpawnedPromise]).finally(() => removeExitHandler());\n}\nexports.getSpawnedPromise = getSpawnedPromise;\nclass MaxBufferError extends Error {\n constructor() {\n super(\"The output is too big\");\n this.name = \"MaxBufferError\";\n }\n}\nconst streamPipelinePromisified = (0, node_util_1.promisify)(node_stream_1.default.pipeline);\nfunction bufferStream(options) {\n const { encoding } = options;\n const isBuffer = encoding === \"buffer\";\n // @ts-expect-error missing the methods we are adding below\n const stream = new node_stream_1.default.PassThrough({ objectMode: false });\n if (encoding && encoding !== \"buffer\") {\n stream.setEncoding(encoding);\n }\n let length = 0;\n const chunks = [];\n stream.on(\"data\", (chunk) => {\n chunks.push(chunk);\n length += chunk.length;\n });\n stream.getBufferedValue = () => {\n return (isBuffer ? Buffer.concat(chunks, length) : chunks.join(\"\"));\n };\n stream.getBufferedLength = () => length;\n return stream;\n}\nasync function getStream(inputStream, options) {\n const stream = bufferStream(options);\n await new Promise((resolve, reject) => {\n const rejectPromise = (error) => {\n // Don't retrieve an oversized buffer.\n if (error && stream.getBufferedLength() <= node_buffer_1.constants.MAX_LENGTH) {\n error.bufferedData = stream.getBufferedValue();\n }\n reject(error);\n };\n (async () => {\n try {\n await streamPipelinePromisified(inputStream, stream);\n resolve();\n }\n catch (error) {\n rejectPromise(error);\n }\n })();\n stream.on(\"data\", () => {\n // 80mb\n if (stream.getBufferedLength() > 1000 * 1000 * 80) {\n rejectPromise(new MaxBufferError());\n }\n });\n });\n return stream.getBufferedValue();\n}\n// On failure, `result.stdout|stderr` should contain the currently buffered stream\nasync function getBufferedData(stream, streamPromise) {\n stream.destroy();\n try {\n return await streamPromise;\n }\n catch (error) {\n return error.bufferedData;\n }\n}\nasync function getSpawnedResult({ stdout, stderr }, { encoding }, processDone) {\n const stdoutPromise = getStream(stdout, { encoding });\n const stderrPromise = getStream(stderr, { encoding });\n try {\n return await Promise.all([processDone, stdoutPromise, stderrPromise]);\n }\n catch (error) {\n return Promise.all([\n {\n error: error,\n exitCode: null,\n signal: error.signal,\n timedOut: error.timedOut || false,\n },\n getBufferedData(stdout, stdoutPromise),\n getBufferedData(stderr, stderrPromise),\n ]);\n }\n}\nexports.getSpawnedResult = getSpawnedResult;\nfunction stripFinalNewline(input) {\n const LF = typeof input === \"string\" ? \"\\n\" : \"\\n\".charCodeAt(0);\n const CR = typeof input === \"string\" ? \"\\r\" : \"\\r\".charCodeAt(0);\n if (input[input.length - 1] === LF) {\n // @ts-expect-error we are doing some nasty stuff here\n input = input.slice(0, -1);\n }\n if (input[input.length - 1] === CR) {\n // @ts-expect-error we are doing some nasty stuff here\n input = input.slice(0, -1);\n }\n return input;\n}\nfunction handleOutput(options, value) {\n if (options.stripFinalNewline) {\n return stripFinalNewline(value);\n }\n return value;\n}\nexports.handleOutput = handleOutput;\nconst getErrorPrefix = ({ timedOut, timeout, signal, exitCode, }) => {\n if (timedOut) {\n return `timed out after ${timeout} milliseconds`;\n }\n if (signal !== undefined && signal !== null) {\n return `was killed with ${signal}`;\n }\n if (exitCode !== undefined && exitCode !== null) {\n return `failed with exit code ${exitCode}`;\n }\n return \"failed\";\n};\nconst makeError = ({ stdout, stderr, error, signal, exitCode, command, timedOut, options, parentError, }) => {\n const prefix = getErrorPrefix({ timedOut, timeout: options?.timeout, signal, exitCode });\n const execaMessage = `Command ${prefix}: ${command}`;\n const shortMessage = error ? `${execaMessage}\\n${error.message}` : execaMessage;\n const message = [shortMessage, stderr, stdout].filter(Boolean).join(\"\\n\");\n if (error) {\n // @ts-expect-error not on Error\n error.originalMessage = error.message;\n }\n else {\n error = parentError;\n }\n error.message = message;\n // @ts-expect-error not on Error\n error.shortMessage = shortMessage;\n // @ts-expect-error not on Error\n error.command = command;\n // @ts-expect-error not on Error\n error.exitCode = exitCode;\n // @ts-expect-error not on Error\n error.signal = signal;\n // @ts-expect-error not on Error\n error.stdout = stdout;\n // @ts-expect-error not on Error\n error.stderr = stderr;\n if (\"bufferedData\" in error) {\n delete error[\"bufferedData\"];\n }\n return error;\n};\nfunction defaultParsing({ stdout, stderr, error, exitCode, signal, timedOut, command, options, parentError, }) {\n if (error || exitCode !== 0 || signal !== null) {\n const returnedError = makeError({\n error,\n exitCode,\n signal,\n stdout,\n stderr,\n command,\n timedOut,\n options,\n parentError,\n });\n throw returnedError;\n }\n return stdout;\n}\nexports.defaultParsing = defaultParsing;\n", "\"use strict\";\n/*\n * Inspired by Execa\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useExec = void 0;\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst react_1 = require(\"react\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst exec_utils_1 = require(\"./exec-utils\");\nconst SPACES_REGEXP = / +/g;\nfunction parseCommand(command, args) {\n if (args) {\n return [command, ...args];\n }\n const tokens = [];\n for (const token of command.trim().split(SPACES_REGEXP)) {\n // Allow spaces to be escaped by a backslash if not meant as a delimiter\n const previousToken = tokens[tokens.length - 1];\n if (previousToken && previousToken.endsWith(\"\\\\\")) {\n // Merge previous token with current one\n tokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`;\n }\n else {\n tokens.push(token);\n }\n }\n return tokens;\n}\nfunction useExec(command, optionsOrArgs, options) {\n const { parseOutput, input, onData, onWillExecute, initialData, execute, keepPreviousData, onError, failureToastOptions, ...execOptions } = Array.isArray(optionsOrArgs) ? options || {} : optionsOrArgs || {};\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n failureToastOptions,\n };\n const abortable = (0, react_1.useRef)();\n const parseOutputRef = (0, useLatest_1.useLatest)(parseOutput || exec_utils_1.defaultParsing);\n const fn = (0, react_1.useCallback)(async (_command, _args, _options, input) => {\n const [file, ...args] = parseCommand(_command, _args);\n const command = [file, ...args].join(\" \");\n const options = {\n stripFinalNewline: true,\n ..._options,\n timeout: _options?.timeout || 10000,\n signal: abortable.current?.signal,\n encoding: _options?.encoding === null ? \"buffer\" : _options?.encoding || \"utf8\",\n env: { PATH: \"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\", ...process.env, ..._options?.env },\n };\n const spawned = node_child_process_1.default.spawn(file, args, options);\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned, options);\n if (input) {\n spawned.stdin.end(input);\n }\n const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, options, spawnedPromise);\n const stdout = (0, exec_utils_1.handleOutput)(options, stdoutResult);\n const stderr = (0, exec_utils_1.handleOutput)(options, stderrResult);\n return parseOutputRef.current({\n // @ts-expect-error too many generics, I give up\n stdout,\n // @ts-expect-error too many generics, I give up\n stderr,\n error,\n exitCode,\n signal,\n timedOut,\n command,\n options,\n parentError: new Error(),\n });\n }, [parseOutputRef]);\n // @ts-expect-error T can't be a Promise so it's actually the same\n return (0, useCachedPromise_1.useCachedPromise)(fn, [command, Array.isArray(optionsOrArgs) ? optionsOrArgs : [], execOptions, input], {\n ...useCachedPromiseOptions,\n abortable,\n });\n}\nexports.useExec = useExec;\n", "'use strict';\n\nconst {Readable, Writable, Duplex, Transform} = require('stream');\n\nconst none = Symbol.for('object-stream.none');\nconst finalSymbol = Symbol.for('object-stream.final');\nconst manySymbol = Symbol.for('object-stream.many');\n\nconst final = value => ({[finalSymbol]: value});\nconst many = values => ({[manySymbol]: values});\n\nconst isFinal = o => o && typeof o == 'object' && finalSymbol in o;\nconst isMany = o => o && typeof o == 'object' && manySymbol in o;\n\nconst getFinalValue = o => o[finalSymbol];\nconst getManyValues = o => o[manySymbol];\n\nconst runAsyncGenerator = async (gen, stream) => {\n for (;;) {\n let data = gen.next();\n if (data && typeof data.then == 'function') {\n data = await data;\n }\n if (data.done) break;\n let value = data.value;\n if (value && typeof value.then == 'function') {\n value = await value;\n }\n Chain.sanitize(value, stream);\n }\n};\n\nconst wrapFunction = fn =>\n new Transform({\n writableObjectMode: true,\n readableObjectMode: true,\n transform(chunk, encoding, callback) {\n try {\n const result = fn.call(this, chunk, encoding);\n if (result && typeof result.then == 'function') {\n // thenable\n result.then(\n result => (Chain.sanitize(result, this), callback(null)),\n error => callback(error)\n );\n return;\n }\n if (result && typeof result.next == 'function') {\n // generator\n runAsyncGenerator(result, this).then(\n () => callback(null),\n error => callback(error)\n );\n return;\n }\n Chain.sanitize(result, this);\n callback(null);\n } catch (error) {\n callback(error);\n }\n }\n });\n\nconst wrapArray = fns =>\n new Transform({\n writableObjectMode: true,\n readableObjectMode: true,\n transform(chunk, encoding, callback) {\n try {\n let value = chunk;\n for (let i = 0; i < fns.length; ++i) {\n const result = fns[i].call(this, value, encoding);\n if (result === Chain.none) {\n callback(null);\n return;\n }\n if (Chain.isFinal(result)) {\n value = Chain.getFinalValue(result);\n break;\n }\n value = result;\n }\n Chain.sanitize(value, this);\n callback(null);\n } catch (error) {\n callback(error);\n }\n }\n });\n\n// is*NodeStream functions taken from https://github.com/nodejs/node/blob/master/lib/internal/streams/utils.js\nconst isReadableNodeStream = obj =>\n obj &&\n typeof obj.pipe === 'function' &&\n typeof obj.on === 'function' &&\n (!obj._writableState || (typeof obj._readableState === 'object' ? obj._readableState.readable : null) !== false) && // Duplex\n (!obj._writableState || obj._readableState); // Writable has .pipe.\n\nconst isWritableNodeStream = obj =>\n obj &&\n typeof obj.write === 'function' &&\n typeof obj.on === 'function' &&\n (!obj._readableState || (typeof obj._writableState === 'object' ? obj._writableState.writable : null) !== false); // Duplex\n\nconst isDuplexNodeStream = obj =>\n obj && typeof obj.pipe === 'function' && obj._readableState && typeof obj.on === 'function' && typeof obj.write === 'function';\n\nclass Chain extends Duplex {\n constructor(fns, options) {\n super(options || {writableObjectMode: true, readableObjectMode: true});\n\n if (!(fns instanceof Array) || !fns.length) {\n throw Error(\"Chain's argument should be a non-empty array.\");\n }\n\n this.streams = fns\n .filter(fn => fn)\n .map((fn, index, fns) => {\n if (typeof fn === 'function' || fn instanceof Array) return Chain.convertToTransform(fn);\n if (isDuplexNodeStream(fn) || (!index && isReadableNodeStream(fn)) || (index === fns.length - 1 && isWritableNodeStream(fn))) {\n return fn;\n }\n throw Error('Arguments should be functions, arrays or streams.');\n })\n .filter(s => s);\n this.input = this.streams[0];\n this.output = this.streams.reduce((output, stream) => (output && output.pipe(stream)) || stream);\n\n if (!isWritableNodeStream(this.input)) {\n this._write = (_1, _2, callback) => callback(null);\n this._final = callback => callback(null); // unavailable in Node 6\n this.input.on('end', () => this.end());\n }\n\n if (isReadableNodeStream(this.output)) {\n this.output.on('data', chunk => !this.push(chunk) && this.output.pause());\n this.output.on('end', () => this.push(null));\n } else {\n this._read = () => {}; // nop\n this.resume();\n this.output.on('finish', () => this.push(null));\n }\n\n // connect events\n if (!options || !options.skipEvents) {\n this.streams.forEach(stream => stream.on('error', error => this.emit('error', error)));\n }\n }\n _write(chunk, encoding, callback) {\n let error = null;\n try {\n this.input.write(chunk, encoding, e => callback(e || error));\n } catch (e) {\n error = e;\n }\n }\n _final(callback) {\n let error = null;\n try {\n this.input.end(null, null, e => callback(e || error));\n } catch (e) {\n error = e;\n }\n }\n _read() {\n this.output.resume();\n }\n static make(fns, options) {\n return new Chain(fns, options);\n }\n static sanitize(result, stream) {\n if (Chain.isFinal(result)) {\n result = Chain.getFinalValue(result);\n } else if (Chain.isMany(result)) {\n result = Chain.getManyValues(result);\n }\n if (result !== undefined && result !== null && result !== Chain.none) {\n if (result instanceof Array) {\n result.forEach(value => value !== undefined && value !== null && stream.push(value));\n } else {\n stream.push(result);\n }\n }\n }\n static convertToTransform(fn) {\n if (typeof fn === 'function') return wrapFunction(fn);\n if (fn instanceof Array) return fn.length ? wrapArray(fn) : null;\n return null;\n }\n}\n\nChain.none = none;\nChain.final = final;\nChain.isFinal = isFinal;\nChain.getFinalValue = getFinalValue;\nChain.many = many;\nChain.isMany = isMany;\nChain.getManyValues = getManyValues;\n\nChain.chain = Chain.make;\nChain.make.Constructor = Chain;\n\nmodule.exports = Chain;\n", "'use strict';\n\nconst {Transform} = require('stream');\nconst {StringDecoder} = require('string_decoder');\n\nclass Utf8Stream extends Transform {\n constructor(options) {\n super(Object.assign({}, options, {writableObjectMode: false}));\n this._buffer = '';\n }\n\n _transform(chunk, encoding, callback) {\n if (typeof chunk == 'string') {\n this._transform = this._transformString;\n } else {\n this._stringDecoder = new StringDecoder();\n this._transform = this._transformBuffer;\n }\n this._transform(chunk, encoding, callback);\n }\n\n _transformBuffer(chunk, _, callback) {\n this._buffer += this._stringDecoder.write(chunk);\n this._processBuffer(callback);\n }\n\n _transformString(chunk, _, callback) {\n this._buffer += chunk.toString();\n this._processBuffer(callback);\n }\n\n _processBuffer(callback) {\n if (this._buffer) {\n this.push(this._buffer, 'utf8');\n this._buffer = '';\n }\n callback(null);\n }\n\n _flushInput() {\n // meant to be called from _flush()\n if (this._stringDecoder) {\n this._buffer += this._stringDecoder.end();\n }\n }\n\n _flush(callback) {\n this._flushInput();\n this._processBuffer(callback);\n }\n}\n\nmodule.exports = Utf8Stream;\n", "'use strict';\n\nconst Utf8Stream = require('./utils/Utf8Stream');\n\nconst patterns = {\n value1: /^(?:[\\\"\\{\\[\\]\\-\\d]|true\\b|false\\b|null\\b|\\s{1,256})/,\n string: /^(?:[^\\\"\\\\]{1,256}|\\\\[bfnrt\\\"\\\\\\/]|\\\\u[\\da-fA-F]{4}|\\\")/,\n key1: /^(?:[\\\"\\}]|\\s{1,256})/,\n colon: /^(?:\\:|\\s{1,256})/,\n comma: /^(?:[\\,\\]\\}]|\\s{1,256})/,\n ws: /^\\s{1,256}/,\n numberStart: /^\\d/,\n numberDigit: /^\\d{0,256}/,\n numberFraction: /^[\\.eE]/,\n numberExponent: /^[eE]/,\n numberExpSign: /^[-+]/\n};\nconst MAX_PATTERN_SIZE = 16;\n\nlet noSticky = true;\ntry {\n new RegExp('.', 'y');\n noSticky = false;\n} catch (e) {\n // suppress\n}\n\n!noSticky &&\n Object.keys(patterns).forEach(key => {\n let src = patterns[key].source.slice(1); // lop off ^\n if (src.slice(0, 3) === '(?:' && src.slice(-1) === ')') {\n src = src.slice(3, -1);\n }\n patterns[key] = new RegExp(src, 'y');\n });\n\npatterns.numberFracStart = patterns.numberExpStart = patterns.numberStart;\npatterns.numberFracDigit = patterns.numberExpDigit = patterns.numberDigit;\n\nconst values = {true: true, false: false, null: null},\n expected = {object: 'objectStop', array: 'arrayStop', '': 'done'};\n\n// long hexadecimal codes: \\uXXXX\nconst fromHex = s => String.fromCharCode(parseInt(s.slice(2), 16));\n\n// short codes: \\b \\f \\n \\r \\t \\\" \\\\ \\/\nconst codes = {b: '\\b', f: '\\f', n: '\\n', r: '\\r', t: '\\t', '\"': '\"', '\\\\': '\\\\', '/': '/'};\n\nclass Parser extends Utf8Stream {\n static make(options) {\n return new Parser(options);\n }\n\n constructor(options) {\n super(Object.assign({}, options, {readableObjectMode: true}));\n\n this._packKeys = this._packStrings = this._packNumbers = this._streamKeys = this._streamStrings = this._streamNumbers = true;\n if (options) {\n 'packValues' in options && (this._packKeys = this._packStrings = this._packNumbers = options.packValues);\n 'packKeys' in options && (this._packKeys = options.packKeys);\n 'packStrings' in options && (this._packStrings = options.packStrings);\n 'packNumbers' in options && (this._packNumbers = options.packNumbers);\n 'streamValues' in options && (this._streamKeys = this._streamStrings = this._streamNumbers = options.streamValues);\n 'streamKeys' in options && (this._streamKeys = options.streamKeys);\n 'streamStrings' in options && (this._streamStrings = options.streamStrings);\n 'streamNumbers' in options && (this._streamNumbers = options.streamNumbers);\n this._jsonStreaming = options.jsonStreaming;\n }\n !this._packKeys && (this._streamKeys = true);\n !this._packStrings && (this._streamStrings = true);\n !this._packNumbers && (this._streamNumbers = true);\n\n this._done = false;\n this._expect = this._jsonStreaming ? 'done' : 'value';\n this._stack = [];\n this._parent = '';\n this._open_number = false;\n this._accumulator = '';\n }\n\n _flush(callback) {\n this._done = true;\n super._flush(error => {\n if (error) return callback(error);\n if (this._open_number) {\n if (this._streamNumbers) {\n this.push({name: 'endNumber'});\n }\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n callback(null);\n });\n }\n\n _processBuffer(callback) {\n let match,\n value,\n index = 0;\n main: for (;;) {\n switch (this._expect) {\n case 'value1':\n case 'value':\n patterns.value1.lastIndex = index;\n match = patterns.value1.exec(this._buffer);\n if (!match) {\n if (this._done || index + MAX_PATTERN_SIZE < this._buffer.length) {\n if (index < this._buffer.length) return callback(new Error('Parser cannot parse input: expected a value'));\n return callback(new Error('Parser has expected a value'));\n }\n break main; // wait for more input\n }\n value = match[0];\n switch (value) {\n case '\"':\n this._streamStrings && this.push({name: 'startString'});\n this._expect = 'string';\n break;\n case '{':\n this.push({name: 'startObject'});\n this._stack.push(this._parent);\n this._parent = 'object';\n this._expect = 'key1';\n break;\n case '[':\n this.push({name: 'startArray'});\n this._stack.push(this._parent);\n this._parent = 'array';\n this._expect = 'value1';\n break;\n case ']':\n if (this._expect !== 'value1') return callback(new Error(\"Parser cannot parse input: unexpected token ']'\"));\n if (this._open_number) {\n this._streamNumbers && this.push({name: 'endNumber'});\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n this.push({name: 'endArray'});\n this._parent = this._stack.pop();\n this._expect = expected[this._parent];\n break;\n case '-':\n this._open_number = true;\n if (this._streamNumbers) {\n this.push({name: 'startNumber'});\n this.push({name: 'numberChunk', value: '-'});\n }\n this._packNumbers && (this._accumulator = '-');\n this._expect = 'numberStart';\n break;\n case '0':\n this._open_number = true;\n if (this._streamNumbers) {\n this.push({name: 'startNumber'});\n this.push({name: 'numberChunk', value: '0'});\n }\n this._packNumbers && (this._accumulator = '0');\n this._expect = 'numberFraction';\n break;\n case '1':\n case '2':\n case '3':\n case '4':\n case '5':\n case '6':\n case '7':\n case '8':\n case '9':\n this._open_number = true;\n if (this._streamNumbers) {\n this.push({name: 'startNumber'});\n this.push({name: 'numberChunk', value: value});\n }\n this._packNumbers && (this._accumulator = value);\n this._expect = 'numberDigit';\n break;\n case 'true':\n case 'false':\n case 'null':\n if (this._buffer.length - index === value.length && !this._done) break main; // wait for more input\n this.push({name: value + 'Value', value: values[value]});\n this._expect = expected[this._parent];\n break;\n // default: // ws\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'keyVal':\n case 'string':\n patterns.string.lastIndex = index;\n match = patterns.string.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length && (this._done || this._buffer.length - index >= 6))\n return callback(new Error('Parser cannot parse input: escaped characters'));\n if (this._done) return callback(new Error('Parser has expected a string value'));\n break main; // wait for more input\n }\n value = match[0];\n if (value === '\"') {\n if (this._expect === 'keyVal') {\n this._streamKeys && this.push({name: 'endKey'});\n if (this._packKeys) {\n this.push({name: 'keyValue', value: this._accumulator});\n this._accumulator = '';\n }\n this._expect = 'colon';\n } else {\n this._streamStrings && this.push({name: 'endString'});\n if (this._packStrings) {\n this.push({name: 'stringValue', value: this._accumulator});\n this._accumulator = '';\n }\n this._expect = expected[this._parent];\n }\n } else if (value.length > 1 && value.charAt(0) === '\\\\') {\n const t = value.length == 2 ? codes[value.charAt(1)] : fromHex(value);\n if (this._expect === 'keyVal' ? this._streamKeys : this._streamStrings) {\n this.push({name: 'stringChunk', value: t});\n }\n if (this._expect === 'keyVal' ? this._packKeys : this._packStrings) {\n this._accumulator += t;\n }\n } else {\n if (this._expect === 'keyVal' ? this._streamKeys : this._streamStrings) {\n this.push({name: 'stringChunk', value: value});\n }\n if (this._expect === 'keyVal' ? this._packKeys : this._packStrings) {\n this._accumulator += value;\n }\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'key1':\n case 'key':\n patterns.key1.lastIndex = index;\n match = patterns.key1.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected an object key'));\n break main; // wait for more input\n }\n value = match[0];\n if (value === '\"') {\n this._streamKeys && this.push({name: 'startKey'});\n this._expect = 'keyVal';\n } else if (value === '}') {\n if (this._expect !== 'key1') return callback(new Error(\"Parser cannot parse input: unexpected token '}'\"));\n this.push({name: 'endObject'});\n this._parent = this._stack.pop();\n this._expect = expected[this._parent];\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'colon':\n patterns.colon.lastIndex = index;\n match = patterns.colon.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error(\"Parser cannot parse input: expected ':'\"));\n break main; // wait for more input\n }\n value = match[0];\n value === ':' && (this._expect = 'value');\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'arrayStop':\n case 'objectStop':\n patterns.comma.lastIndex = index;\n match = patterns.comma.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error(\"Parser cannot parse input: expected ','\"));\n break main; // wait for more input\n }\n if (this._open_number) {\n this._streamNumbers && this.push({name: 'endNumber'});\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n value = match[0];\n if (value === ',') {\n this._expect = this._expect === 'arrayStop' ? 'value' : 'key';\n } else if (value === '}' || value === ']') {\n if (value === '}' ? this._expect === 'arrayStop' : this._expect !== 'arrayStop') {\n return callback(new Error(\"Parser cannot parse input: expected '\" + (this._expect === 'arrayStop' ? ']' : '}') + \"'\"));\n }\n this.push({name: value === '}' ? 'endObject' : 'endArray'});\n this._parent = this._stack.pop();\n this._expect = expected[this._parent];\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n // number chunks\n case 'numberStart': // [0-9]\n patterns.numberStart.lastIndex = index;\n match = patterns.numberStart.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected a starting digit'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = value === '0' ? 'numberFraction' : 'numberDigit';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberDigit': // [0-9]*\n patterns.numberDigit.lastIndex = index;\n match = patterns.numberDigit.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected a digit'));\n break main; // wait for more input\n }\n value = match[0];\n if (value) {\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n } else {\n if (index < this._buffer.length) {\n this._expect = 'numberFraction';\n break;\n }\n if (this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n break;\n case 'numberFraction': // [\\.eE]?\n patterns.numberFraction.lastIndex = index;\n match = patterns.numberFraction.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = value === '.' ? 'numberFracStart' : 'numberExpSign';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberFracStart': // [0-9]\n patterns.numberFracStart.lastIndex = index;\n match = patterns.numberFracStart.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected a fractional part of a number'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberFracDigit';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberFracDigit': // [0-9]*\n patterns.numberFracDigit.lastIndex = index;\n match = patterns.numberFracDigit.exec(this._buffer);\n value = match[0];\n if (value) {\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n } else {\n if (index < this._buffer.length) {\n this._expect = 'numberExponent';\n break;\n }\n if (this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n break;\n case 'numberExponent': // [eE]?\n patterns.numberExponent.lastIndex = index;\n match = patterns.numberExponent.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length) {\n this._expect = expected[this._parent];\n break;\n }\n if (this._done) {\n this._expect = 'done';\n break;\n }\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberExpSign';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberExpSign': // [-+]?\n patterns.numberExpSign.lastIndex = index;\n match = patterns.numberExpSign.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length) {\n this._expect = 'numberExpStart';\n break;\n }\n if (this._done) return callback(new Error('Parser has expected an exponent value of a number'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberExpStart';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberExpStart': // [0-9]\n patterns.numberExpStart.lastIndex = index;\n match = patterns.numberExpStart.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected an exponent part of a number'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberExpDigit';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberExpDigit': // [0-9]*\n patterns.numberExpDigit.lastIndex = index;\n match = patterns.numberExpDigit.exec(this._buffer);\n value = match[0];\n if (value) {\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n } else {\n if (index < this._buffer.length || this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n break;\n case 'done':\n patterns.ws.lastIndex = index;\n match = patterns.ws.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length) {\n if (this._jsonStreaming) {\n this._expect = 'value';\n break;\n }\n return callback(new Error('Parser cannot parse input: unexpected characters'));\n }\n break main; // wait for more input\n }\n value = match[0];\n if (this._open_number) {\n this._streamNumbers && this.push({name: 'endNumber'});\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n }\n }\n !noSticky && (this._buffer = this._buffer.slice(index));\n callback(null);\n }\n}\nParser.parser = Parser.make;\nParser.make.Constructor = Parser;\n\nmodule.exports = Parser;\n", "'use strict';\n\nconst emit = stream => stream.on('data', item => stream.emit(item.name, item.value));\n\nmodule.exports = emit;\n", "'use strict';\n\nconst Parser = require('./Parser');\nconst emit = require('./utils/emit');\n\nconst make = options => emit(new Parser(options));\n\nmake.Parser = Parser;\nmake.parser = Parser.parser;\n\nmodule.exports = make;\n", "'use strict';\n\nconst {Transform} = require('stream');\n\nclass FilterBase extends Transform {\n static stringFilter(string, separator) {\n return stack => {\n const path = stack.join(separator);\n return (\n (path.length === string.length && path === string) ||\n (path.length > string.length && path.substr(0, string.length) === string && path.substr(string.length, separator.length) === separator)\n );\n };\n }\n\n static regExpFilter(regExp, separator) {\n return stack => regExp.test(stack.join(separator));\n }\n\n static arrayReplacement(array) {\n return () => array;\n }\n\n constructor(options) {\n super(Object.assign({}, options, {writableObjectMode: true, readableObjectMode: true}));\n this._transform = this._check;\n this._stack = [];\n\n const filter = options && options.filter,\n separator = (options && options.pathSeparator) || '.';\n if (typeof filter == 'string') {\n this._filter = FilterBase.stringFilter(filter, separator);\n } else if (typeof filter == 'function') {\n this._filter = filter;\n } else if (filter instanceof RegExp) {\n this._filter = FilterBase.regExpFilter(filter, separator);\n }\n\n const replacement = options && options.replacement;\n if (typeof replacement == 'function') {\n this._replacement = replacement;\n } else {\n this._replacement = FilterBase.arrayReplacement(replacement || FilterBase.defaultReplacement);\n }\n this._allowEmptyReplacement = options && options.allowEmptyReplacement;\n\n this._streamKeys = true;\n if (options) {\n 'streamValues' in options && (this._streamKeys = options.streamValues);\n 'streamKeys' in options && (this._streamKeys = options.streamKeys);\n }\n\n this._once = options && options.once;\n this._previousToken = '';\n }\n\n _check(chunk, _, callback) {\n // update the last stack key\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n case 'startString':\n case 'startNumber':\n case 'nullValue':\n case 'trueValue':\n case 'falseValue':\n if (typeof this._stack[this._stack.length - 1] == 'number') {\n // array\n ++this._stack[this._stack.length - 1];\n }\n break;\n case 'keyValue':\n this._stack[this._stack.length - 1] = chunk.value;\n break;\n case 'numberValue':\n if (this._previousToken !== 'endNumber' && typeof this._stack[this._stack.length - 1] == 'number') {\n // array\n ++this._stack[this._stack.length - 1];\n }\n break;\n case 'stringValue':\n if (this._previousToken !== 'endString' && typeof this._stack[this._stack.length - 1] == 'number') {\n // array\n ++this._stack[this._stack.length - 1];\n }\n break;\n }\n this._previousToken = chunk.name;\n // check, if we allow a chunk\n if (this._checkChunk(chunk)) {\n return callback(null);\n }\n // update the stack\n switch (chunk.name) {\n case 'startObject':\n this._stack.push(null);\n break;\n case 'startArray':\n this._stack.push(-1);\n break;\n case 'endObject':\n case 'endArray':\n this._stack.pop();\n break;\n }\n callback(null);\n }\n\n _passObject(chunk, _, callback) {\n this.push(chunk);\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n ++this._depth;\n break;\n case 'endObject':\n case 'endArray':\n --this._depth;\n break;\n }\n if (!this._depth) {\n this._transform = this._once ? this._skip : this._check;\n }\n callback(null);\n }\n\n _pass(chunk, _, callback) {\n this.push(chunk);\n callback(null);\n }\n\n _skipObject(chunk, _, callback) {\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n ++this._depth;\n break;\n case 'endObject':\n case 'endArray':\n --this._depth;\n break;\n }\n if (!this._depth) {\n this._transform = this._once ? this._pass : this._check;\n }\n callback(null);\n }\n\n _skip(chunk, _, callback) {\n callback(null);\n }\n}\n\nFilterBase.defaultReplacement = [{name: 'nullValue', value: null}];\n\nconst passValue = (last, post) =>\n function(chunk, _, callback) {\n if (this._expected) {\n const expected = this._expected;\n this._expected = '';\n this._transform = this._once ? this._skip : this._check;\n if (expected === chunk.name) {\n this.push(chunk);\n } else {\n return this._transform(chunk, _, callback);\n }\n } else {\n this.push(chunk);\n if (chunk.name === last) {\n this._expected = post;\n }\n }\n callback(null);\n };\n\nFilterBase.prototype._passNumber = passValue('endNumber', 'numberValue');\nFilterBase.prototype._passString = passValue('endString', 'stringValue');\nFilterBase.prototype._passKey = passValue('endKey', 'keyValue');\n\nconst skipValue = (last, post) =>\n function(chunk, _, callback) {\n if (this._expected) {\n const expected = this._expected;\n this._expected = '';\n this._transform = this._once ? this._pass : this._check;\n if (expected !== chunk.name) {\n return this._transform(chunk, _, callback);\n }\n } else {\n if (chunk.name === last) {\n this._expected = post;\n }\n }\n callback(null);\n };\n\nFilterBase.prototype._skipNumber = skipValue('endNumber', 'numberValue');\nFilterBase.prototype._skipString = skipValue('endString', 'stringValue');\nFilterBase.prototype._skipKey = skipValue('endKey', 'keyValue');\n\nmodule.exports = FilterBase;\n", "'use strict';\n\nconst Chain = require('stream-chain');\n\nconst Parser = require('../Parser');\n\nconst withParser = (fn, options) =>\n new Chain([new Parser(options), fn(options)], Object.assign({}, options, {writableObjectMode: false, readableObjectMode: true}));\n\nmodule.exports = withParser;\n", "'use strict';\n\nconst FilterBase = require('./FilterBase');\nconst withParser = require('../utils/withParser');\n\nclass Pick extends FilterBase {\n static make(options) {\n return new Pick(options);\n }\n\n static withParser(options) {\n return withParser(Pick.make, options);\n }\n\n _checkChunk(chunk) {\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._passObject;\n this._depth = 1;\n return true;\n }\n break;\n case 'startString':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._passString;\n return true;\n }\n break;\n case 'startNumber':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._passNumber;\n return true;\n }\n break;\n case 'nullValue':\n case 'trueValue':\n case 'falseValue':\n case 'stringValue':\n case 'numberValue':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._once ? this._skip : this._check;\n return true;\n }\n break;\n }\n return false;\n }\n}\nPick.pick = Pick.make;\nPick.make.Constructor = Pick;\n\nmodule.exports = Pick;\n", "'use strict';\n\nconst EventEmitter = require('events');\n\nconst startObject = Ctr =>\n function () {\n if (this.done) {\n this.done = false;\n } else {\n this.stack.push(this.current, this.key);\n }\n this.current = new Ctr();\n this.key = null;\n };\n\nclass Assembler extends EventEmitter {\n static connectTo(stream, options) {\n return new Assembler(options).connectTo(stream);\n }\n\n constructor(options) {\n super();\n this.stack = [];\n this.current = this.key = null;\n this.done = true;\n if (options) {\n this.reviver = typeof options.reviver == 'function' && options.reviver;\n if (this.reviver) {\n this.stringValue = this._saveValue = this._saveValueWithReviver;\n }\n if (options.numberAsString) {\n this.numberValue = this.stringValue;\n }\n }\n }\n\n connectTo(stream) {\n stream.on('data', chunk => {\n if (this[chunk.name]) {\n this[chunk.name](chunk.value);\n if (this.done) this.emit('done', this);\n }\n });\n return this;\n }\n\n get depth() {\n return (this.stack.length >> 1) + (this.done ? 0 : 1);\n }\n\n get path() {\n const path = [];\n for (let i = 0; i < this.stack.length; i += 2) {\n const key = this.stack[i + 1];\n path.push(key === null ? this.stack[i].length : key);\n }\n return path;\n }\n\n dropToLevel(level) {\n if (level < this.depth) {\n if (level) {\n const index = (level - 1) << 1;\n this.current = this.stack[index];\n this.key = this.stack[index + 1];\n this.stack.splice(index);\n } else {\n this.stack = [];\n this.current = this.key = null;\n this.done = true;\n }\n }\n return this;\n }\n\n consume(chunk) {\n this[chunk.name] && this[chunk.name](chunk.value);\n return this;\n }\n\n keyValue(value) {\n this.key = value;\n }\n\n //stringValue() - aliased below to _saveValue()\n\n numberValue(value) {\n this._saveValue(parseFloat(value));\n }\n nullValue() {\n this._saveValue(null);\n }\n trueValue() {\n this._saveValue(true);\n }\n falseValue() {\n this._saveValue(false);\n }\n\n //startObject() - assigned below\n\n endObject() {\n if (this.stack.length) {\n const value = this.current;\n this.key = this.stack.pop();\n this.current = this.stack.pop();\n this._saveValue(value);\n } else {\n this.done = true;\n }\n }\n\n //startArray() - assigned below\n //endArray() - aliased below to endObject()\n\n _saveValue(value) {\n if (this.done) {\n this.current = value;\n } else {\n if (this.current instanceof Array) {\n this.current.push(value);\n } else {\n this.current[this.key] = value;\n this.key = null;\n }\n }\n }\n _saveValueWithReviver(value) {\n if (this.done) {\n this.current = this.reviver('', value);\n } else {\n if (this.current instanceof Array) {\n value = this.reviver('' + this.current.length, value);\n this.current.push(value);\n if (value === undefined) {\n delete this.current[this.current.length - 1];\n }\n } else {\n value = this.reviver(this.key, value);\n if (value !== undefined) {\n this.current[this.key] = value;\n }\n this.key = null;\n }\n }\n }\n}\n\nAssembler.prototype.stringValue = Assembler.prototype._saveValue;\nAssembler.prototype.startObject = startObject(Object);\nAssembler.prototype.startArray = startObject(Array);\nAssembler.prototype.endArray = Assembler.prototype.endObject;\n\nmodule.exports = Assembler;\n", "'use strict';\n\nconst {Transform} = require('stream');\nconst Assembler = require('../Assembler');\n\nclass Counter {\n constructor(initialDepth) {\n this.depth = initialDepth;\n }\n startObject() {\n ++this.depth;\n }\n endObject() {\n --this.depth;\n }\n startArray() {\n ++this.depth;\n }\n endArray() {\n --this.depth;\n }\n}\n\nclass StreamBase extends Transform {\n constructor(options) {\n super(Object.assign({}, options, {writableObjectMode: true, readableObjectMode: true}));\n if (options) {\n this.objectFilter = options.objectFilter;\n this.includeUndecided = options.includeUndecided;\n }\n if (typeof this.objectFilter != 'function') {\n this._filter = this._transform;\n }\n this._transform = this._wait || this._filter;\n this._assembler = new Assembler(options);\n }\n\n _transform(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n if (this._assembler.depth === this._level) {\n this._push();\n }\n }\n callback(null);\n }\n\n _filter(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n const result = this.objectFilter(this._assembler);\n if (result) {\n if (this._assembler.depth === this._level) {\n this._push();\n this._transform = this._filter;\n }\n this._transform = this._accept;\n return callback(null);\n }\n if (result === false) {\n this._saved_assembler = this._assembler;\n this._assembler = new Counter(this._saved_assembler.depth);\n this._saved_assembler.dropToLevel(this._level);\n if (this._assembler.depth === this._level) {\n this._assembler = this._saved_assembler;\n this._transform = this._filter;\n }\n this._transform = this._reject;\n return callback(null);\n }\n if (this._assembler.depth === this._level) {\n this._push(!this.includeUndecided);\n }\n }\n callback(null);\n }\n\n _accept(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n if (this._assembler.depth === this._level) {\n this._push();\n this._transform = this._filter;\n }\n }\n callback(null);\n }\n\n _reject(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n if (this._assembler.depth === this._level) {\n this._assembler = this._saved_assembler;\n this._transform = this._filter;\n }\n }\n callback(null);\n }\n}\n\nmodule.exports = StreamBase;\n", "'use strict';\n\nconst StreamBase = require('./StreamBase');\nconst withParser = require('../utils/withParser');\n\nclass StreamArray extends StreamBase {\n static make(options) {\n return new StreamArray(options);\n }\n\n static withParser(options) {\n return withParser(StreamArray.make, options);\n }\n\n constructor(options) {\n super(options);\n this._level = 1;\n this._counter = 0;\n }\n\n _wait(chunk, _, callback) {\n // first chunk should open an array\n if (chunk.name !== 'startArray') {\n return callback(new Error('Top-level object should be an array.'));\n }\n this._transform = this._filter;\n return this._transform(chunk, _, callback);\n }\n\n _push(discard) {\n if (this._assembler.current.length) {\n if (discard) {\n ++this._counter;\n this._assembler.current.pop();\n } else {\n this.push({key: this._counter++, value: this._assembler.current.pop()});\n }\n }\n }\n}\nStreamArray.streamArray = StreamArray.make;\nStreamArray.make.Constructor = StreamArray;\n\nmodule.exports = StreamArray;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useStreamJSON = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst cross_fetch_1 = __importDefault(require(\"cross-fetch\"));\nconst node_fs_1 = require(\"node:fs\");\nconst promises_1 = require(\"node:fs/promises\");\nconst node_path_1 = require(\"node:path\");\nconst promises_2 = require(\"node:stream/promises\");\nconst react_1 = require(\"react\");\nconst stream_chain_1 = __importDefault(require(\"stream-chain\"));\nconst stream_json_1 = require(\"stream-json\");\nconst Pick_1 = __importDefault(require(\"stream-json/filters/Pick\"));\nconst StreamArray_1 = __importDefault(require(\"stream-json/streamers/StreamArray\"));\nconst fetch_utils_1 = require(\"./fetch-utils\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst helpers_1 = require(\"./helpers\");\nasync function cache(url, destination, fetchOptions) {\n if (typeof url === \"object\" || url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\n return await cacheURL(url, destination, fetchOptions);\n }\n else if (url.startsWith(\"file://\")) {\n return await cacheFile((0, node_path_1.normalize)(decodeURIComponent(new URL(url).pathname)), destination, fetchOptions?.signal ? fetchOptions.signal : undefined);\n }\n else {\n throw new Error(\"Only HTTP(S) or file URLs are supported\");\n }\n}\nasync function cacheURL(url, destination, fetchOptions) {\n const response = await (0, cross_fetch_1.default)(url, fetchOptions);\n if (!response.ok) {\n throw new Error(\"Failed to fetch URL\");\n }\n if (!(0, fetch_utils_1.isJSON)(response.headers.get(\"content-type\"))) {\n throw new Error(\"URL does not return JSON\");\n }\n if (!response.body) {\n throw new Error(\"Failed to retrieve expected JSON content: Response body is missing or inaccessible.\");\n }\n await (0, promises_2.pipeline)(response.body, (0, node_fs_1.createWriteStream)(destination), fetchOptions?.signal ? { signal: fetchOptions.signal } : undefined);\n}\nasync function cacheFile(source, destination, abortSignal) {\n await (0, promises_2.pipeline)((0, node_fs_1.createReadStream)(source), (0, node_fs_1.createWriteStream)(destination), abortSignal ? { signal: abortSignal } : undefined);\n}\nasync function cacheURLIfNecessary(url, folder, fileName, forceUpdate, fetchOptions) {\n const destination = (0, node_path_1.join)(folder, fileName);\n try {\n await (0, promises_1.stat)(folder);\n }\n catch (e) {\n (0, node_fs_1.mkdirSync)(folder, { recursive: true });\n await cache(url, destination, fetchOptions);\n return;\n }\n if (forceUpdate) {\n await cache(url, destination, fetchOptions);\n return;\n }\n let stats = undefined;\n try {\n stats = await (0, promises_1.stat)(destination);\n }\n catch (e) {\n await cache(url, destination, fetchOptions);\n return;\n }\n if (typeof url === \"object\" || url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\n const headResponse = await (0, cross_fetch_1.default)(url, { ...fetchOptions, method: \"HEAD\" });\n if (!headResponse.ok) {\n throw new Error(\"Could not fetch URL\");\n }\n if (!(0, fetch_utils_1.isJSON)(headResponse.headers.get(\"content-type\"))) {\n throw new Error(\"URL does not return JSON\");\n }\n const lastModified = Date.parse(headResponse.headers.get(\"last-modified\") ?? \"\");\n if (stats.size === 0 || Number.isNaN(lastModified) || lastModified > stats.mtimeMs) {\n await cache(url, destination, fetchOptions);\n return;\n }\n }\n else if (url.startsWith(\"file://\")) {\n try {\n const sourceStats = await (0, promises_1.stat)((0, node_path_1.normalize)(decodeURIComponent(new URL(url).pathname)));\n if (sourceStats.mtimeMs > stats.mtimeMs) {\n await cache(url, destination, fetchOptions);\n }\n }\n catch (e) {\n throw new Error(\"Source file could not be read\");\n }\n }\n else {\n throw new Error(\"Only HTTP(S) or file URLs are supported\");\n }\n}\nasync function* streamJsonFile(filePath, pageSize, abortSignal, dataPath, filterFn, transformFn) {\n let page = [];\n const pipeline = new stream_chain_1.default([\n (0, node_fs_1.createReadStream)(filePath),\n dataPath ? Pick_1.default.withParser({ filter: dataPath }) : (0, stream_json_1.parser)(),\n new StreamArray_1.default(),\n (data) => transformFn?.(data.value) ?? data.value,\n ]);\n abortSignal?.addEventListener(\"abort\", () => {\n pipeline.destroy();\n });\n try {\n for await (const data of pipeline) {\n if (abortSignal?.aborted) {\n return [];\n }\n if (!filterFn || filterFn(data)) {\n page.push(data);\n }\n if (page.length >= pageSize) {\n yield page;\n page = [];\n }\n }\n }\n catch (e) {\n pipeline.destroy();\n throw e;\n }\n if (page.length > 0) {\n yield page;\n }\n return [];\n}\nfunction useStreamJSON(url, options) {\n const { initialData, execute, keepPreviousData, onError, onData, onWillExecute, failureToastOptions, dataPath, filter, transform, pageSize = 20, ...fetchOptions } = options ?? {};\n const previousUrl = (0, react_1.useRef)();\n const previousDestination = (0, react_1.useRef)();\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n failureToastOptions,\n };\n const generatorRef = (0, react_1.useRef)(null);\n const controllerRef = (0, react_1.useRef)(null);\n const hasMoreRef = (0, react_1.useRef)(false);\n return (0, useCachedPromise_1.useCachedPromise)((url, pageSize, fetchOptions, dataPath, filter, transform) => async ({ page }) => {\n const fileName = (0, helpers_1.hash)(url) + \".json\";\n const folder = api_1.environment.supportPath;\n if (page === 0) {\n controllerRef.current?.abort();\n controllerRef.current = new AbortController();\n const destination = (0, node_path_1.join)(folder, fileName);\n /**\n * Force update the cache when the URL changes but the cache destination does not.\n */\n const forceCacheUpdate = Boolean(previousUrl.current &&\n previousUrl.current !== url &&\n previousDestination.current &&\n previousDestination.current === destination);\n previousUrl.current = url;\n previousDestination.current = destination;\n await cacheURLIfNecessary(url, folder, fileName, forceCacheUpdate, {\n ...fetchOptions,\n signal: controllerRef.current?.signal,\n });\n generatorRef.current = streamJsonFile(destination, pageSize, controllerRef.current?.signal, dataPath, filter, transform);\n }\n if (!generatorRef.current) {\n return { hasMore: hasMoreRef.current, data: [] };\n }\n const { value: newData, done } = await generatorRef.current.next();\n hasMoreRef.current = !done;\n return { hasMore: hasMoreRef.current, data: (newData ?? []) };\n }, [url, pageSize, fetchOptions, dataPath, filter, transform], useCachedPromiseOptions);\n}\nexports.useStreamJSON = useStreamJSON;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useSQL = void 0;\nconst jsx_runtime_1 = require(\"react/jsx-runtime\");\nconst api_1 = require(\"@raycast/api\");\nconst node_fs_1 = require(\"node:fs\");\nconst promises_1 = require(\"node:fs/promises\");\nconst node_os_1 = __importDefault(require(\"node:os\"));\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst node_path_1 = __importDefault(require(\"node:path\"));\nconst react_1 = require(\"react\");\nconst usePromise_1 = require(\"./usePromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst exec_utils_1 = require(\"./exec-utils\");\nconst showFailureToast_1 = require(\"./showFailureToast\");\nconst helpers_1 = require(\"./helpers\");\n/**\n * Executes a query on a local SQL database and returns the {@link AsyncState} corresponding to the query of the command. The last value will be kept between command runs.\n *\n * @example\n * ```\n * import { useSQL } from \"@raycast/utils\";\n * import { resolve } from \"path\";\n * import { homedir } from \"os\";\n *\n * const NOTES_DB = resolve(homedir(), \"Library/Group Containers/group.com.apple.notes/NoteStore.sqlite\");\n * const notesQuery = `SELECT id, title FROM ...`;\n * type NoteItem = {\n * id: string;\n * title: string;\n * };\n *\n * export default function Command() {\n * const { isLoading, data, permissionView } = useSQL<NoteItem>(NOTES_DB, notesQuery);\n *\n * if (permissionView) {\n * return permissionView;\n * }\n *\n * return (\n * <List isLoading={isLoading}>\n * {(data || []).map((item) => (\n * <List.Item key={item.id} title={item.title} />\n * ))}\n * </List>\n * );\n * };\n * ```\n */\nfunction useSQL(databasePath, query, options) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { permissionPriming, ...usePromiseOptions } = options || {};\n const [permissionView, setPermissionView] = (0, react_1.useState)();\n const latestOptions = (0, useLatest_1.useLatest)(options || {});\n const abortable = (0, react_1.useRef)();\n const handleError = (0, react_1.useCallback)((_error) => {\n console.error(_error);\n const error = _error instanceof Error && _error.message.includes(\"authorization denied\")\n ? new PermissionError(\"You do not have permission to access the database.\")\n : _error;\n if (isPermissionError(error)) {\n setPermissionView((0, jsx_runtime_1.jsx)(PermissionErrorScreen, { priming: latestOptions.current.permissionPriming }));\n }\n else {\n if (latestOptions.current.onError) {\n latestOptions.current.onError(error);\n }\n else {\n if (api_1.environment.launchType !== api_1.LaunchType.Background) {\n (0, showFailureToast_1.showFailureToast)(error, {\n title: \"Cannot query the data\",\n });\n }\n }\n }\n }, [latestOptions]);\n const fn = (0, react_1.useMemo)(() => {\n if (!(0, node_fs_1.existsSync)(databasePath)) {\n throw new Error(\"The database does not exist\");\n }\n let workaroundCopiedDb = undefined;\n return async (databasePath, query) => {\n const abortSignal = abortable.current?.signal;\n const spawned = node_child_process_1.default.spawn(\"sqlite3\", [\"--json\", \"--readonly\", databasePath, query], {\n signal: abortSignal,\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned);\n let [{ error, exitCode, signal }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf-8\" }, spawnedPromise);\n checkAborted(abortSignal);\n if (stderrResult.match(\"(5)\") || stderrResult.match(\"(14)\")) {\n // That means that the DB is busy because of another app is locking it\n // This happens when Chrome or Arc is opened: they lock the History db.\n // As an ugly workaround, we duplicate the file and read that instead\n // (with vfs unix - none to just not care about locks)\n if (!workaroundCopiedDb) {\n const tempFolder = node_path_1.default.join(node_os_1.default.tmpdir(), \"useSQL\", (0, helpers_1.hash)(databasePath));\n await (0, promises_1.mkdir)(tempFolder, { recursive: true });\n checkAborted(abortSignal);\n workaroundCopiedDb = node_path_1.default.join(tempFolder, \"db.db\");\n await (0, promises_1.copyFile)(databasePath, workaroundCopiedDb);\n // needed for certain db\n await (0, promises_1.writeFile)(workaroundCopiedDb + \"-shm\", \"\");\n await (0, promises_1.writeFile)(workaroundCopiedDb + \"-wal\", \"\");\n checkAborted(abortSignal);\n }\n const spawned = node_child_process_1.default.spawn(\"sqlite3\", [\"--json\", \"--readonly\", \"--vfs\", \"unix-none\", workaroundCopiedDb, query], {\n signal: abortSignal,\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned);\n [{ error, exitCode, signal }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf-8\" }, spawnedPromise);\n checkAborted(abortSignal);\n }\n if (error || exitCode !== 0 || signal !== null) {\n throw new Error(stderrResult);\n }\n return JSON.parse(stdoutResult.trim() || \"[]\");\n };\n }, [databasePath]);\n return {\n ...(0, usePromise_1.usePromise)(fn, [databasePath, query], { ...usePromiseOptions, onError: handleError }),\n permissionView,\n };\n}\nexports.useSQL = useSQL;\nclass PermissionError extends Error {\n constructor(message) {\n super(message);\n this.name = \"PermissionError\";\n }\n}\nfunction isPermissionError(error) {\n return error instanceof Error && error.name === \"PermissionError\";\n}\nconst macosVenturaAndLater = parseInt(node_os_1.default.release().split(\".\")[0]) >= 22;\nconst preferencesString = macosVenturaAndLater ? \"Settings\" : \"Preferences\";\nfunction PermissionErrorScreen(props) {\n const action = macosVenturaAndLater\n ? {\n title: \"Open System Settings -> Privacy\",\n target: \"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles\",\n }\n : {\n title: \"Open System Preferences -> Security\",\n target: \"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles\",\n };\n if (api_1.environment.commandMode === \"menu-bar\") {\n return ((0, jsx_runtime_1.jsxs)(api_1.MenuBarExtra, { icon: api_1.Icon.Warning, title: api_1.environment.commandName, children: [(0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: \"Raycast needs full disk access\", tooltip: `You can revert this access in ${preferencesString} whenever you want` }), props.priming ? ((0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: props.priming, tooltip: `You can revert this access in ${preferencesString} whenever you want` })) : null, (0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Separator, {}), (0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: action.title, onAction: () => (0, api_1.open)(action.target) })] }));\n }\n return ((0, jsx_runtime_1.jsx)(api_1.List, { children: (0, jsx_runtime_1.jsx)(api_1.List.EmptyView, { icon: {\n source: {\n light: \"https://raycast.com/uploads/extensions-utils-security-permissions-light.png\",\n dark: \"https://raycast.com/uploads/extensions-utils-security-permissions-dark.png\",\n },\n }, title: \"Raycast needs full disk access.\", description: `${props.priming ? props.priming + \"\\n\" : \"\"}You can revert this access in ${preferencesString} whenever you want.`, actions: (0, jsx_runtime_1.jsx)(api_1.ActionPanel, { children: (0, jsx_runtime_1.jsx)(api_1.Action.Open, { ...action }) }) }) }));\n}\nfunction checkAborted(signal) {\n if (signal?.aborted) {\n const error = new Error(\"aborted\");\n error.name = \"AbortError\";\n throw error;\n }\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useForm = exports.FormValidation = void 0;\nconst react_1 = require(\"react\");\nconst useLatest_1 = require(\"./useLatest\");\n/**\n * Shorthands for common validation cases\n */\nvar FormValidation;\n(function (FormValidation) {\n /** Show an error when the value of the item is empty */\n FormValidation[\"Required\"] = \"required\";\n})(FormValidation || (exports.FormValidation = FormValidation = {}));\nfunction validationError(validation, value) {\n if (validation) {\n if (typeof validation === \"function\") {\n return validation(value);\n }\n else if (validation === FormValidation.Required) {\n let valueIsValid = typeof value !== \"undefined\" && value !== null;\n if (valueIsValid) {\n switch (typeof value) {\n case \"string\":\n valueIsValid = value.length > 0;\n break;\n case \"object\":\n if (Array.isArray(value)) {\n valueIsValid = value.length > 0;\n }\n else if (value instanceof Date) {\n valueIsValid = value.getTime() > 0;\n }\n break;\n default:\n break;\n }\n }\n if (!valueIsValid) {\n return \"The item is required\";\n }\n }\n }\n}\n/**\n * Hook that provides a high-level interface to work with Forms, and more particularly, with Form validations. It incorporates all the good practices to provide a great User Experience for your Forms.\n *\n * @returns an object which contains the necessary methods and props to provide a good User Experience in your Form.\n *\n * @example\n * ```\n * import { Action, ActionPanel, Form, showToast, Toast } from \"@raycast/api\";\n * import { useForm, FormValidation } from \"@raycast/utils\";\n *\n * interface SignUpFormValues {\n * nickname: string;\n * password: string;\n * }\n *\n * export default function Command() {\n * const { handleSubmit, itemProps } = useForm<SignUpFormValues>({\n * onSubmit(values) {\n * showToast(Toast.Style.Success, \"Yay!\", `${values.nickname} account created`);\n * },\n * validation: {\n * nickname: FormValidation.Required,\n * password: (value) => {\n * if (value && value.length < 8) {\n * return \"Password must be at least 8 symbols\";\n * } else if (!value) {\n * return \"The item is required\";\n * }\n * },\n * },\n * });\n *\n * return (\n * <Form\n * actions={\n * <ActionPanel>\n * <Action.SubmitForm title=\"Submit\" onSubmit={handleSubmit} />\n * </ActionPanel>\n * }\n * >\n * <Form.TextField title=\"Nickname\" placeholder=\"Enter your nickname\" {...itemProps.nickname} />\n * <Form.PasswordField\n * title=\"Password\"\n * placeholder=\"Enter password at least 8 characters long\"\n * {...itemProps.password}\n * />\n * </Form>\n * );\n * }\n * ```\n */\nfunction useForm(props) {\n const { onSubmit: _onSubmit, validation, initialValues = {} } = props;\n // @ts-expect-error it's fine if we don't specify all the values\n const [values, setValues] = (0, react_1.useState)(initialValues);\n const [errors, setErrors] = (0, react_1.useState)({});\n const refs = (0, react_1.useRef)({});\n const latestValidation = (0, useLatest_1.useLatest)(validation || {});\n const latestOnSubmit = (0, useLatest_1.useLatest)(_onSubmit);\n const focus = (0, react_1.useCallback)((id) => {\n refs.current[id]?.focus();\n }, [refs]);\n const handleSubmit = (0, react_1.useCallback)(async (values) => {\n let validationErrors = false;\n for (const [id, validation] of Object.entries(latestValidation.current)) {\n const error = validationError(validation, values[id]);\n if (error) {\n if (!validationErrors) {\n validationErrors = {};\n // we focus the first item that has an error\n focus(id);\n }\n validationErrors[id] = error;\n }\n }\n if (validationErrors) {\n setErrors(validationErrors);\n return false;\n }\n const result = await latestOnSubmit.current(values);\n return typeof result === \"boolean\" ? result : true;\n }, [latestValidation, latestOnSubmit, focus]);\n const setValidationError = (0, react_1.useCallback)((id, error) => {\n setErrors((errors) => ({ ...errors, [id]: error }));\n }, [setErrors]);\n const setValue = (0, react_1.useCallback)(function (id, value) {\n // @ts-expect-error TS is always confused about SetStateAction, but it's fine here\n setValues((values) => ({ ...values, [id]: typeof value === \"function\" ? value(values[id]) : value }));\n }, [setValues]);\n const itemProps = (0, react_1.useMemo)(() => {\n // we have to use a proxy because we don't actually have any object to iterate through\n // so instead we dynamically create the props when required\n return new Proxy(\n // @ts-expect-error the whole point of a proxy...\n {}, {\n get(target, id) {\n const validation = latestValidation.current[id];\n const value = values[id];\n return {\n onChange(value) {\n if (errors[id]) {\n const error = validationError(validation, value);\n if (!error) {\n setValidationError(id, undefined);\n }\n }\n setValue(id, value);\n },\n onBlur(event) {\n const error = validationError(validation, event.target.value);\n if (error) {\n setValidationError(id, error);\n }\n },\n error: errors[id],\n id,\n // we shouldn't return `undefined` otherwise it will be an uncontrolled component\n value: typeof value === \"undefined\" ? null : value,\n ref: (instance) => {\n refs.current[id] = instance;\n },\n };\n },\n });\n }, [errors, latestValidation, setValidationError, values, refs, setValue]);\n const reset = (0, react_1.useCallback)((values) => {\n setErrors({});\n Object.entries(refs.current).forEach(([id, ref]) => {\n if (!values?.[id]) {\n ref?.reset();\n }\n });\n if (values) {\n // @ts-expect-error it's fine if we don't specify all the values\n setValues(values);\n }\n }, [setValues, setErrors, refs]);\n return { handleSubmit, setValidationError, setValue, values, itemProps, focus, reset };\n}\nexports.useForm = useForm;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useAI = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst usePromise_1 = require(\"./usePromise\");\n/**\n * Stream a prompt completion.\n *\n * @example\n * ```typescript\n * import { Detail, LaunchProps } from \"@raycast/api\";\n * import { use AI } from \"@raycast/utils\";\n *\n * export default function Command(props: LaunchProps<{ arguments: { prompt: string } }>) {\n * const { isLoading, data } = useAI(props.arguments.prompt);\n *\n * return <Detail isLoading={isLoading} markdown={data} />;\n * }\n * ```\n */\nfunction useAI(prompt, options = {}) {\n const { creativity, stream, model, ...usePromiseOptions } = options;\n const [data, setData] = (0, react_1.useState)(\"\");\n const abortable = (0, react_1.useRef)();\n const { isLoading, error, revalidate } = (0, usePromise_1.usePromise)(async (prompt, creativity, shouldStream) => {\n setData(\"\");\n const stream = api_1.AI.ask(prompt, { creativity, model, signal: abortable.current?.signal });\n if (shouldStream === false) {\n setData(await stream);\n }\n else {\n stream.on(\"data\", (data) => {\n setData((x) => x + data);\n });\n await stream;\n }\n }, [prompt, creativity, stream], { ...usePromiseOptions, abortable });\n return { isLoading, data, error, revalidate };\n}\nexports.useAI = useAI;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFrecencySorting = void 0;\nconst react_1 = require(\"react\");\nconst useLatest_1 = require(\"./useLatest\");\nconst useCachedState_1 = require(\"./useCachedState\");\nconst HALF_LIFE_DAYS = 10;\nconst MS_PER_DAY = 24 * 60 * 60 * 1000;\nconst DECAY_RATE_CONSTANT = Math.log(2) / (HALF_LIFE_DAYS * MS_PER_DAY);\nconst VISIT_TYPE_POINTS = {\n Default: 100,\n Embed: 0,\n Bookmark: 140,\n};\nfunction getNewFrecency(item) {\n const now = Date.now();\n const lastVisited = item ? item.lastVisited : 0;\n const frecency = item ? item.frecency : 0;\n const visitAgeInDays = (now - lastVisited) / MS_PER_DAY;\n const currentVisitValue = VISIT_TYPE_POINTS.Default * Math.exp(-DECAY_RATE_CONSTANT * visitAgeInDays);\n const totalVisitValue = frecency + currentVisitValue;\n return {\n lastVisited: now,\n frecency: totalVisitValue,\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst defaultKey = (item) => {\n if (process.env.NODE_ENV !== \"production\" &&\n (typeof item !== \"object\" || !item || !(\"id\" in item) || typeof item.id != \"string\")) {\n throw new Error(\"Specify a key function or make sure your items have an 'id' property\");\n }\n return item.id;\n};\nfunction useFrecencySorting(data, options) {\n const keyRef = (0, useLatest_1.useLatest)(options?.key || defaultKey);\n const sortUnvisitedRef = (0, useLatest_1.useLatest)(options?.sortUnvisited);\n const [storedFrecencies, setStoredFrecencies] = (0, useCachedState_1.useCachedState)(`raycast_frecency_${options?.namespace}`, {});\n const visitItem = (0, react_1.useCallback)(async function updateFrecency(item) {\n const itemKey = keyRef.current(item);\n setStoredFrecencies((storedFrecencies) => {\n const frecency = storedFrecencies[itemKey];\n const newFrecency = getNewFrecency(frecency);\n return {\n ...storedFrecencies,\n [itemKey]: newFrecency,\n };\n });\n }, [keyRef, setStoredFrecencies]);\n const resetRanking = (0, react_1.useCallback)(async function removeFrecency(item) {\n const itemKey = keyRef.current(item);\n setStoredFrecencies((storedFrecencies) => {\n const newFrencencies = { ...storedFrecencies };\n delete newFrencencies[itemKey];\n return newFrencencies;\n });\n }, [keyRef, setStoredFrecencies]);\n const sortedData = (0, react_1.useMemo)(() => {\n if (!data) {\n return [];\n }\n return data.sort((a, b) => {\n const frecencyA = storedFrecencies[keyRef.current(a)];\n const frecencyB = storedFrecencies[keyRef.current(b)];\n // If a has a frecency, but b doesn't, a should come first\n if (frecencyA && !frecencyB) {\n return -1;\n }\n // If b has a frecency, but a doesn't, b should come first\n if (!frecencyA && frecencyB) {\n return 1;\n }\n // If both frecencies are defined,put the one with the higher frecency first\n if (frecencyA && frecencyB) {\n return frecencyB.frecency - frecencyA.frecency;\n }\n // If both frecencies are undefined, keep the original order\n return sortUnvisitedRef.current ? sortUnvisitedRef.current(a, b) : 0;\n });\n }, [storedFrecencies, data, keyRef, sortUnvisitedRef]);\n return { data: sortedData, visitItem, resetRanking };\n}\nexports.useFrecencySorting = useFrecencySorting;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLocalStorage = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst showFailureToast_1 = require(\"./showFailureToast\");\nconst helpers_1 = require(\"./helpers\");\nconst usePromise_1 = require(\"./usePromise\");\n/**\n * A hook to manage a value in the local storage.\n *\n * @remark The value is stored as a JSON string in the local storage.\n *\n * @param key - The key to use for the value in the local storage.\n * @param initialValue - The initial value to use if the key doesn't exist in the local storage.\n * @returns An object with the following properties:\n * - `value`: The value from the local storage or the initial value if the key doesn't exist.\n * - `setValue`: A function to update the value in the local storage.\n * - `removeValue`: A function to remove the value from the local storage.\n * - `isLoading`: A boolean indicating if the value is loading.\n *\n * @example\n * ```\n * const { value, setValue } = useLocalStorage<string>(\"my-key\");\n * const { value, setValue } = useLocalStorage<string>(\"my-key\", \"default value\");\n * ```\n */\nfunction useLocalStorage(key, initialValue) {\n const { data: value, isLoading, mutate, } = (0, usePromise_1.usePromise)(async (storageKey) => {\n const item = await api_1.LocalStorage.getItem(storageKey);\n return typeof item !== \"undefined\" ? JSON.parse(item, helpers_1.reviver) : initialValue;\n }, [key]);\n async function setValue(value) {\n try {\n await mutate(api_1.LocalStorage.setItem(key, JSON.stringify(value, helpers_1.replacer)), {\n optimisticUpdate(value) {\n return value;\n },\n });\n }\n catch (error) {\n await (0, showFailureToast_1.showFailureToast)(error, { title: \"Failed to set value in local storage\" });\n }\n }\n async function removeValue() {\n try {\n await mutate(api_1.LocalStorage.removeItem(key), {\n optimisticUpdate() {\n return undefined;\n },\n });\n }\n catch (error) {\n await (0, showFailureToast_1.showFailureToast)(error, { title: \"Failed to remove value from local storage\" });\n }\n }\n return { value, setValue, removeValue, isLoading };\n}\nexports.useLocalStorage = useLocalStorage;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.slightlyLighterColor = exports.slightlyDarkerColor = void 0;\nfunction hexToRGB(hex) {\n let r = 0;\n let g = 0;\n let b = 0;\n // 3 digits\n if (hex.length === 4) {\n r = parseInt(`${hex[1]}${hex[1]}`, 16);\n g = parseInt(`${hex[2]}${hex[2]}`, 16);\n b = parseInt(`${hex[3]}${hex[3]}`, 16);\n // 6 digits\n }\n else if (hex.length === 7) {\n r = parseInt(`${hex[1]}${hex[2]}`, 16);\n g = parseInt(`${hex[3]}${hex[4]}`, 16);\n b = parseInt(`${hex[5]}${hex[6]}`, 16);\n }\n else {\n throw new Error(`Malformed hex color: ${hex}`);\n }\n return { r, g, b };\n}\nfunction rgbToHex({ r, g, b }) {\n let rString = r.toString(16);\n let gString = g.toString(16);\n let bString = b.toString(16);\n if (rString.length === 1) {\n rString = `0${rString}`;\n }\n if (gString.length === 1) {\n gString = `0${gString}`;\n }\n if (bString.length === 1) {\n bString = `0${bString}`;\n }\n return `#${rString}${gString}${bString}`;\n}\nfunction rgbToHSL({ r, g, b }) {\n // Make r, g, and b fractions of 1\n r /= 255;\n g /= 255;\n b /= 255;\n // Find greatest and smallest channel values\n const cmin = Math.min(r, g, b);\n const cmax = Math.max(r, g, b);\n const delta = cmax - cmin;\n let h = 0;\n let s = 0;\n let l = 0;\n // Calculate hue\n // No difference\n if (delta === 0) {\n h = 0;\n }\n // Red is max\n else if (cmax === r) {\n h = ((g - b) / delta) % 6;\n }\n // Green is max\n else if (cmax === g) {\n h = (b - r) / delta + 2;\n }\n // Blue is max\n else {\n h = (r - g) / delta + 4;\n }\n h = Math.round(h * 60);\n // Make negative hues positive behind 360\u00B0\n if (h < 0) {\n h += 360;\n }\n // Calculate lightness\n l = (cmax + cmin) / 2;\n // Calculate saturation\n s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));\n // Multiply l and s by 100\n s = +(s * 100).toFixed(1);\n l = +(l * 100).toFixed(1);\n return { h, s, l };\n}\nfunction hslToRGB({ h, s, l }) {\n // Must be fractions of 1\n s /= 100;\n l /= 100;\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = l - c / 2;\n let r = 0;\n let g = 0;\n let b = 0;\n if (h >= 0 && h < 60) {\n r = c;\n g = x;\n b = 0;\n }\n else if (h >= 60 && h < 120) {\n r = x;\n g = c;\n b = 0;\n }\n else if (h >= 120 && h < 180) {\n r = 0;\n g = c;\n b = x;\n }\n else if (h >= 180 && h < 240) {\n r = 0;\n g = x;\n b = c;\n }\n else if (h >= 240 && h < 300) {\n r = x;\n g = 0;\n b = c;\n }\n else if (h >= 300 && h < 360) {\n r = c;\n g = 0;\n b = x;\n }\n r = Math.round((r + m) * 255);\n g = Math.round((g + m) * 255);\n b = Math.round((b + m) * 255);\n return { r, g, b };\n}\nfunction hexToHSL(hex) {\n return rgbToHSL(hexToRGB(hex));\n}\nfunction hslToHex(hsl) {\n return rgbToHex(hslToRGB(hsl));\n}\nfunction clamp(value, min, max) {\n return min < max ? (value < min ? min : value > max ? max : value) : value < max ? max : value > min ? min : value;\n}\nconst offset = 12;\nfunction slightlyDarkerColor(hex) {\n const hsl = hexToHSL(hex);\n return hslToHex({\n h: hsl.h,\n s: hsl.s,\n l: clamp(hsl.l - offset, 0, 100),\n });\n}\nexports.slightlyDarkerColor = slightlyDarkerColor;\nfunction slightlyLighterColor(hex) {\n const hsl = hexToHSL(hex);\n return hslToHex({\n h: hsl.h,\n s: hsl.s,\n l: clamp(hsl.l + offset, 0, 100),\n });\n}\nexports.slightlyLighterColor = slightlyLighterColor;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAvatarIcon = void 0;\nconst color_1 = require(\"./color\");\nfunction getWholeCharAndI(str, i) {\n const code = str.charCodeAt(i);\n if (Number.isNaN(code)) {\n return [\"\", i];\n }\n if (code < 0xd800 || code > 0xdfff) {\n return [str.charAt(i), i]; // Normal character, keeping 'i' the same\n }\n // High surrogate (could change last hex to 0xDB7F to treat high private\n // surrogates as single characters)\n if (0xd800 <= code && code <= 0xdbff) {\n if (str.length <= i + 1) {\n throw new Error(\"High surrogate without following low surrogate\");\n }\n const next = str.charCodeAt(i + 1);\n if (0xdc00 > next || next > 0xdfff) {\n throw new Error(\"High surrogate without following low surrogate\");\n }\n return [str.charAt(i) + str.charAt(i + 1), i + 1];\n }\n // Low surrogate (0xDC00 <= code && code <= 0xDFFF)\n if (i === 0) {\n throw new Error(\"Low surrogate without preceding high surrogate\");\n }\n const prev = str.charCodeAt(i - 1);\n // (could change last hex to 0xDB7F to treat high private surrogates\n // as single characters)\n if (0xd800 > prev || prev > 0xdbff) {\n throw new Error(\"Low surrogate without preceding high surrogate\");\n }\n // Return the next character instead (and increment)\n return [str.charAt(i + 1), i + 1];\n}\nconst avatarColorSet = [\n \"#DC829A\",\n \"#D64854\",\n \"#D47600\",\n \"#D36CDD\",\n \"#52A9E4\",\n \"#7871E8\",\n \"#70920F\",\n \"#43B93A\",\n \"#EB6B3E\",\n \"#26B795\",\n \"#D85A9B\",\n \"#A067DC\",\n \"#BD9500\",\n \"#5385D9\", // Blue\n];\n/**\n * Icon to represent an avatar when you don't have one. The generated avatar\n * will be generated from the initials of the name and have a colorful but consistent background.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getAvatarIcon('Mathieu Dutour')} title=\"Project\" />\n * ```\n */\nfunction getAvatarIcon(name, options) {\n const words = name.trim().split(\" \");\n let initials;\n if (words.length == 1 && getWholeCharAndI(words[0], 0)[0]) {\n initials = getWholeCharAndI(words[0], 0)[0];\n }\n else if (words.length > 1) {\n const firstWordFirstLetter = getWholeCharAndI(words[0], 0)[0] || \"\";\n const lastWordFirstLetter = getWholeCharAndI(words[words.length - 1], 0)[0] ?? \"\";\n initials = firstWordFirstLetter + lastWordFirstLetter;\n }\n else {\n initials = \"\";\n }\n let backgroundColor;\n if (options?.background) {\n backgroundColor = options?.background;\n }\n else {\n let initialsCharIndex = 0;\n let [char, i] = getWholeCharAndI(initials, 0);\n while (char) {\n initialsCharIndex += char.charCodeAt(0);\n [char, i] = getWholeCharAndI(initials, i + 1);\n }\n const colorIndex = initialsCharIndex % avatarColorSet.length;\n backgroundColor = avatarColorSet[colorIndex];\n }\n const padding = 0;\n const radius = 50 - padding;\n const svg = `<svg width=\"100px\" height=\"100px\">\n ${options?.gradient !== false\n ? `<defs>\n <linearGradient id=\"Gradient\" x1=\"0.25\" x2=\"0.75\" y1=\"0\" y2=\"1\">\n <stop offset=\"0%\" stop-color=\"${(0, color_1.slightlyLighterColor)(backgroundColor)}\"/>\n <stop offset=\"50%\" stop-color=\"${backgroundColor}\"/>\n <stop offset=\"100%\" stop-color=\"${(0, color_1.slightlyDarkerColor)(backgroundColor)}\"/>\n </linearGradient>\n </defs>`\n : \"\"}\n <circle cx=\"50\" cy=\"50\" r=\"${radius}\" fill=\"${options?.gradient !== false ? \"url(#Gradient)\" : backgroundColor}\" />\n ${initials\n ? `<text x=\"50\" y=\"80\" font-size=\"${radius - 1}\" font-family=\"Inter, sans-serif\" text-anchor=\"middle\" fill=\"white\">${initials.toUpperCase()}</text>`\n : \"\"}\n </svg>\n `.replaceAll(\"\\n\", \"\");\n return `data:image/svg+xml,${svg}`;\n}\nexports.getAvatarIcon = getAvatarIcon;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFavicon = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst url_1 = require(\"url\");\n/**\n * Icon showing the favicon of a website.\n *\n * A favicon (favorite icon) is a tiny icon included along with a website, which is displayed in places like the browser's address bar, page tabs, and bookmarks menu.\n *\n * @param url The URL of the website to represent.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getFavicon(\"https://raycast.com\")} title=\"Raycast Website\" />\n * ```\n */\nfunction getFavicon(url, options) {\n try {\n const urlObj = typeof url === \"string\" ? new url_1.URL(url) : url;\n const hostname = urlObj.hostname;\n return {\n source: `https://www.google.com/s2/favicons?sz=${options?.size ?? 64}&domain=${hostname}`,\n fallback: options?.fallback ?? api_1.Icon.Link,\n mask: options?.mask,\n };\n }\n catch (e) {\n console.error(e);\n return api_1.Icon.Link;\n }\n}\nexports.getFavicon = getFavicon;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getProgressIcon = void 0;\nconst api_1 = require(\"@raycast/api\");\nfunction polarToCartesian(centerX, centerY, radius, angleInDegrees) {\n const angleInRadians = ((angleInDegrees - 90) * Math.PI) / 180.0;\n return {\n x: centerX + radius * Math.cos(angleInRadians),\n y: centerY + radius * Math.sin(angleInRadians),\n };\n}\nfunction describeArc(x, y, radius, startAngle, endAngle) {\n const start = polarToCartesian(x, y, radius, endAngle);\n const end = polarToCartesian(x, y, radius, startAngle);\n const largeArcFlag = endAngle - startAngle <= 180 ? \"0\" : \"1\";\n const d = [\"M\", start.x, start.y, \"A\", radius, radius, 0, largeArcFlag, 0, end.x, end.y].join(\" \");\n return d;\n}\n/**\n * Icon to represent the progress of _something_.\n *\n * @param progress Number between 0 and 1.\n * @param color Hex color (default `\"#FF6363\"`) or Color.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getProgressIcon(0.1)} title=\"Project\" />\n * ```\n */\nfunction getProgressIcon(progress, color = api_1.Color.Red, options) {\n const background = options?.background || (api_1.environment.appearance === \"light\" ? \"black\" : \"white\");\n const backgroundOpacity = options?.backgroundOpacity || 0.1;\n const stroke = 10;\n const padding = 5;\n const radius = 50 - padding - stroke / 2;\n const svg = `<svg width=\"100px\" height=\"100px\">\n <circle cx=\"50\" cy=\"50\" r=\"${radius}\" stroke-width=\"${stroke}\" stroke=\"${progress < 1 ? background : color}\" opacity=\"${progress < 1 ? backgroundOpacity : \"1\"}\" fill=\"none\" />\n ${progress > 0 && progress < 1\n ? `<path d=\"${describeArc(50, 50, radius, 0, progress * 360)}\" stroke=\"${color}\" stroke-width=\"${stroke}\" fill=\"none\" />`\n : \"\"}\n </svg>\n `.replaceAll(\"\\n\", \"\");\n return `data:image/svg+xml,${svg}`;\n}\nexports.getProgressIcon = getProgressIcon;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./avatar\"), exports);\n__exportStar(require(\"./favicon\"), exports);\n__exportStar(require(\"./progress\"), exports);\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.zoomService = exports.slackService = exports.linearService = exports.jiraService = exports.googleService = exports.githubService = exports.asanaService = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst OAuthService_1 = require(\"./OAuthService\");\nconst PROVIDER_CLIENT_IDS = {\n asana: \"1191201745684312\",\n github: \"7235fe8d42157f1f38c0\",\n linear: \"c8ff37b9225c3c9aefd7d66ea0e5b6f1\",\n slack: \"851756884692.5546927290212\",\n};\nconst getIcon = (markup) => `data:image/svg+xml,${markup}`;\nconst PROVIDERS_ICONS = {\n asana: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"251\" height=\"232\" fill=\"none\"><path fill=\"#F06A6A\" d=\"M179.383 54.373c0 30.017-24.337 54.374-54.354 54.374-30.035 0-54.373-24.338-54.373-54.374C70.656 24.338 94.993 0 125.029 0c30.017 0 54.354 24.338 54.354 54.373ZM54.393 122.33C24.376 122.33.02 146.668.02 176.685c0 30.017 24.337 54.373 54.373 54.373 30.035 0 54.373-24.338 54.373-54.373 0-30.017-24.338-54.355-54.373-54.355Zm141.253 0c-30.035 0-54.373 24.338-54.373 54.374 0 30.035 24.338 54.373 54.373 54.373 30.017 0 54.374-24.338 54.374-54.373 0-30.036-24.338-54.374-54.374-54.374Z\"/></svg>`),\n github: {\n source: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64\" height=\"64\" viewBox=\"0 0 16 16\"><path fill-rule=\"evenodd\" d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z\"/></svg>`),\n tintColor: api_1.Color.PrimaryText,\n },\n google: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"display:block\" viewBox=\"0 0 48 48\"><path fill=\"#EA4335\" d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"/><path fill=\"#4285F4\" d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"/><path fill=\"#FBBC05\" d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"/><path fill=\"#34A853\" d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"/><path fill=\"none\" d=\"M0 0h48v48H0z\"/></svg>`),\n jira: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"2361\" height=\"2500\" viewBox=\"2.59 0 214.091 224\"><linearGradient id=\"a\" x1=\"102.4\" x2=\"56.15\" y1=\"218.63\" y2=\"172.39\" gradientTransform=\"matrix(1 0 0 -1 0 264)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".18\" stop-color=\"#0052cc\"/><stop offset=\"1\" stop-color=\"#2684ff\"/></linearGradient><linearGradient xlink:href=\"#a\" id=\"b\" x1=\"114.65\" x2=\"160.81\" y1=\"85.77\" y2=\"131.92\"/><path fill=\"#2684ff\" d=\"M214.06 105.73 117.67 9.34 108.33 0 35.77 72.56 2.59 105.73a8.89 8.89 0 0 0 0 12.54l66.29 66.29L108.33 224l72.55-72.56 1.13-1.12 32.05-32a8.87 8.87 0 0 0 0-12.59zm-105.73 39.39L75.21 112l33.12-33.12L141.44 112z\"/><path fill=\"url(#a)\" d=\"M108.33 78.88a55.75 55.75 0 0 1-.24-78.61L35.62 72.71l39.44 39.44z\"/><path fill=\"url(#b)\" d=\"m141.53 111.91-33.2 33.21a55.77 55.77 0 0 1 0 78.86L181 151.35z\"/></svg>`),\n linear: {\n source: {\n light: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#222326\" width=\"200\" height=\"200\" viewBox=\"0 0 100 100\"><path d=\"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z\"/></svg>`),\n dark: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#fff\" width=\"200\" height=\"200\" viewBox=\"0 0 100 100\"><path d=\"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z\" /></svg>`),\n },\n },\n slack: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"73 73 124 124\"><style>.st0{fill:#e01e5a}.st1{fill:#36c5f0}.st2{fill:#2eb67d}.st3{fill:#ecb22e}</style><path d=\"M99.4 151.2c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h12.9v12.9zM105.9 151.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9v-32.3z\" class=\"st0\"/><path d=\"M118.8 99.4c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v12.9h-12.9zM118.8 105.9c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H86.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3z\" class=\"st1\"/><path d=\"M170.6 118.8c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9h-12.9v-12.9zM164.1 118.8c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9V86.5c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9v32.3z\" class=\"st2\"/><path d=\"M151.2 170.6c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9v-12.9h12.9zM151.2 164.1c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9h-32.3z\" class=\"st3\"/></svg>`),\n zoom: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 351.845 80\"><path d=\"M73.786 78.835H10.88A10.842 10.842 0 0 1 .833 72.122a10.841 10.841 0 0 1 2.357-11.85L46.764 16.7h-31.23C6.954 16.699 0 9.744 0 1.165h58.014c4.414 0 8.357 2.634 10.046 6.712a10.843 10.843 0 0 1-2.356 11.85L22.13 63.302h36.122c8.58 0 15.534 6.955 15.534 15.534Zm278.059-48.544C351.845 13.588 338.256 0 321.553 0c-8.934 0-16.975 3.89-22.524 10.063C293.48 3.89 285.44 0 276.505 0c-16.703 0-30.291 13.588-30.291 30.291v48.544c8.579 0 15.534-6.955 15.534-15.534v-33.01c0-8.137 6.62-14.757 14.757-14.757s14.757 6.62 14.757 14.757v33.01c0 8.58 6.955 15.534 15.534 15.534V30.291c0-8.137 6.62-14.757 14.757-14.757s14.758 6.62 14.758 14.757v33.01c0 8.58 6.954 15.534 15.534 15.534V30.291ZM238.447 40c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.908-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S173.98 26.488 173.98 40s10.953 24.466 24.466 24.466S222.913 53.512 222.913 40Zm-70.68 0c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S87.767 26.488 87.767 40s10.954 24.466 24.466 24.466S136.699 53.512 136.699 40Z\" style=\"fill:#0b5cff\"/></svg>`),\n};\nconst asanaService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Asana\",\n providerIcon: PROVIDERS_ICONS.asana,\n providerId: \"asana\",\n description: \"Connect your Asana account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.asana,\n authorizeUrl: options.authorizeUrl ?? \"https://asana.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://asana.oauth.raycast.com/token\",\n refreshTokenUrl: options.refreshTokenUrl ?? \"https://asana.oauth.raycast.com/refresh-token\",\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.asanaService = asanaService;\nconst githubService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"GitHub\",\n providerIcon: PROVIDERS_ICONS.github,\n providerId: \"github\",\n description: \"Connect your GitHub account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.github,\n authorizeUrl: options.authorizeUrl ?? \"https://github.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://github.oauth.raycast.com/token\",\n refreshTokenUrl: options.refreshTokenUrl ?? \"https://github.oauth.raycast.com/refresh-token\",\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.githubService = githubService;\nconst googleService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.AppURI,\n providerName: \"Google\",\n providerIcon: PROVIDERS_ICONS.google,\n providerId: \"google\",\n description: \"Connect your Google account\",\n }),\n clientId: options.clientId,\n authorizeUrl: options.authorizeUrl ?? \"https://accounts.google.com/o/oauth2/v2/auth\",\n tokenUrl: options.tokenUrl ?? \"https://oauth2.googleapis.com/token\",\n refreshTokenUrl: options.tokenUrl,\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n bodyEncoding: options.bodyEncoding ?? \"url-encoded\",\n onAuthorize: options.onAuthorize,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.googleService = googleService;\nconst jiraService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Jira\",\n providerIcon: PROVIDERS_ICONS.jira,\n providerId: \"jira\",\n description: \"Connect your Jira account\",\n }),\n clientId: options.clientId,\n authorizeUrl: options.authorizeUrl ?? \"https://auth.atlassian.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://auth.atlassian.com/oauth/token\",\n refreshTokenUrl: options.refreshTokenUrl,\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.jiraService = jiraService;\nconst linearService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Linear\",\n providerIcon: PROVIDERS_ICONS.linear,\n providerId: \"linear\",\n description: \"Connect your Linear account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.linear,\n authorizeUrl: options.authorizeUrl ?? \"https://linear.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://linear.oauth.raycast.com/token\",\n refreshTokenUrl: options.refreshTokenUrl ?? \"https://linear.oauth.raycast.com/refresh-token\",\n scope: options.scope,\n extraParameters: {\n actor: \"user\",\n },\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.linearService = linearService;\nconst slackService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Slack\",\n providerIcon: PROVIDERS_ICONS.slack,\n providerId: \"slack\",\n description: \"Connect your Slack account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.slack,\n authorizeUrl: options.authorizeUrl ?? \"https://slack.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://slack.oauth.raycast.com/token\",\n refreshTokenUrl: options.tokenUrl ?? \"https://slack.oauth.raycast.com/refresh-token\",\n scope: \"\",\n extraParameters: {\n user_scope: options.scope,\n },\n personalAccessToken: options.personalAccessToken,\n bodyEncoding: options.tokenUrl ? options.bodyEncoding ?? \"url-encoded\" : \"json\",\n onAuthorize: options.onAuthorize,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n tokenResponseParser: options.tokenResponseParser ??\n ((response) => {\n return {\n access_token: response.authed_user.access_token,\n scope: response.authed_user.scope,\n };\n }),\n});\nexports.slackService = slackService;\nconst zoomService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Zoom\",\n providerIcon: PROVIDERS_ICONS.zoom,\n providerId: \"zoom\",\n description: \"Connect your Zoom account\",\n }),\n clientId: options.clientId,\n authorizeUrl: options.authorizeUrl ?? \"https://zoom.us/oauth/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://zoom.us/oauth/token\",\n refreshTokenUrl: options.refreshTokenUrl,\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n bodyEncoding: options.bodyEncoding ?? \"url-encoded\",\n onAuthorize: options.onAuthorize,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.zoomService = zoomService;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OAuthService = void 0;\nconst cross_fetch_1 = __importDefault(require(\"cross-fetch\"));\nconst providers_1 = require(\"./providers\");\n/**\n * Class allowing to create an OAuth service using the the PKCE (Proof Key for Code Exchange) flow.\n *\n * This service is capable of starting the authorization process, fetching and refreshing tokens,\n * as well as managing the authentication state.\n *\n * @example\n * ```typescript\n * const oauthClient = new OAuth.PKCEClient({ ... });\n * const oauthService = new OAuthService({\n * client: oauthClient,\n * clientId: 'your-client-id',\n * scope: 'required scopes',\n * authorizeUrl: 'https://provider.com/oauth/authorize',\n * tokenUrl: 'https://provider.com/oauth/token',\n * refreshTokenUrl: 'https://provider.com/oauth/token',\n * extraParameters: { 'additional_param': 'value' }\n * });\n * ```\n */\nclass OAuthService {\n constructor(options) {\n this.clientId = options.clientId;\n this.scope = Array.isArray(options.scope) ? options.scope.join(\" \") : options.scope;\n this.personalAccessToken = options.personalAccessToken;\n this.bodyEncoding = options.bodyEncoding;\n this.client = options.client;\n this.extraParameters = options.extraParameters;\n this.authorizeUrl = options.authorizeUrl;\n this.tokenUrl = options.tokenUrl;\n this.refreshTokenUrl = options.refreshTokenUrl;\n this.onAuthorize = options.onAuthorize;\n this.tokenResponseParser = options.tokenResponseParser ?? ((x) => x);\n this.tokenRefreshResponseParser = options.tokenRefreshResponseParser ?? ((x) => x);\n this.authorize = this.authorize.bind(this);\n }\n /**\n * Initiates the OAuth authorization process or refreshes existing tokens if necessary.\n * If the current token set has a refresh token and it is expired, then the function will refresh the tokens.\n * If no tokens exist, it will initiate the OAuth authorization process and fetch the tokens.\n *\n * @returns {Promise<string>} A promise that resolves with the access token obtained from the authorization flow, or null if the token could not be obtained.\n */\n async authorize() {\n const currentTokenSet = await this.client.getTokens();\n if (currentTokenSet?.accessToken) {\n if (currentTokenSet.refreshToken && currentTokenSet.isExpired()) {\n const tokens = await this.refreshTokens({\n token: currentTokenSet.refreshToken,\n });\n // In the case where the refresh token flows fails, nothing is returned and the authorize function is called again.\n if (tokens) {\n await this.client.setTokens(tokens);\n return tokens.access_token;\n }\n }\n return currentTokenSet.accessToken;\n }\n const authRequest = await this.client.authorizationRequest({\n endpoint: this.authorizeUrl,\n clientId: this.clientId,\n scope: this.scope,\n extraParameters: this.extraParameters,\n });\n const { authorizationCode } = await this.client.authorize(authRequest);\n const tokens = await this.fetchTokens({\n authRequest,\n authorizationCode,\n });\n await this.client.setTokens(tokens);\n return tokens.access_token;\n }\n async fetchTokens({ authRequest, authorizationCode, }) {\n let options;\n if (this.bodyEncoding === \"url-encoded\") {\n const params = new URLSearchParams();\n params.append(\"client_id\", this.clientId);\n params.append(\"code\", authorizationCode);\n params.append(\"code_verifier\", authRequest.codeVerifier);\n params.append(\"grant_type\", \"authorization_code\");\n params.append(\"redirect_uri\", authRequest.redirectURI);\n options = { body: params };\n }\n else {\n options = {\n body: JSON.stringify({\n client_id: this.clientId,\n code: authorizationCode,\n code_verifier: authRequest.codeVerifier,\n grant_type: \"authorization_code\",\n redirect_uri: authRequest.redirectURI,\n }),\n headers: { \"Content-Type\": \"application/json\" },\n };\n }\n const response = await (0, cross_fetch_1.default)(this.tokenUrl, { method: \"POST\", ...options });\n if (!response.ok) {\n const responseText = await response.text();\n console.error(\"fetch tokens error:\", responseText);\n throw new Error(`Error while fetching tokens: ${response.status} (${response.statusText})\\n${responseText}`);\n }\n const tokens = this.tokenResponseParser(await response.json());\n // Some clients such as Linear can return a scope array instead of a string\n return Array.isArray(tokens.scope) ? { ...tokens, scope: tokens.scope.join(\" \") } : tokens;\n }\n async refreshTokens({ token }) {\n let options;\n if (this.bodyEncoding === \"url-encoded\") {\n const params = new URLSearchParams();\n params.append(\"client_id\", this.clientId);\n params.append(\"refresh_token\", token);\n params.append(\"grant_type\", \"refresh_token\");\n options = { body: params };\n }\n else {\n options = {\n body: JSON.stringify({\n client_id: this.clientId,\n refresh_token: token,\n grant_type: \"refresh_token\",\n }),\n headers: { \"Content-Type\": \"application/json\" },\n };\n }\n const response = await (0, cross_fetch_1.default)(this.refreshTokenUrl ?? this.tokenUrl, { method: \"POST\", ...options });\n if (!response.ok) {\n const responseText = await response.text();\n console.error(\"refresh tokens error:\", responseText);\n // If the refresh token is invalid, stop the flow here, log out the user and prompt them to re-authorize.\n this.client.description = `${this.client.providerName} needs you to sign-in again. Press \u23CE or click the button below to continue.`;\n await this.client.removeTokens();\n await this.authorize();\n }\n else {\n const tokenResponse = this.tokenRefreshResponseParser(await response.json());\n tokenResponse.refresh_token = tokenResponse.refresh_token ?? token;\n return tokenResponse;\n }\n }\n}\nexports.OAuthService = OAuthService;\n/**\n * Asana OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const asana = OAuthService.asana({ scope: 'default' })\n * ```\n */\nOAuthService.asana = providers_1.asanaService;\n/**\n * GitHub OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const github = OAuthService.github({ scope: 'repo user' })\n * ```\n */\nOAuthService.github = providers_1.githubService;\n/**\n * Google OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const google = OAuthService.google({\n * clientId: 'custom-client-id',\n * authorizeUrl: 'https://accounts.google.com/o/oauth2/v2/auth',\n * tokenUrl: 'https://oauth2.googleapis.com/token',\n * scope: 'https://www.googleapis.com/auth/drive.readonly',\n * });\n * ```\n */\nOAuthService.google = providers_1.googleService;\n/**\n * Jira OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const jira = OAuthService.jira({\n * clientId: 'custom-client-id',\n * authorizeUrl: 'https://auth.atlassian.com/authorize',\n * tokenUrl: 'https://api.atlassian.com/oauth/token',\n * scope: 'read:jira-user read:jira-work offline_access'\n * });\n * ```\n */\nOAuthService.jira = providers_1.jiraService;\n/**\n * Linear OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const linear = OAuthService.linear({ scope: 'read write' })\n * ```\n */\nOAuthService.linear = providers_1.linearService;\n/**\n * Slack OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const slack = OAuthService.slack({ scope: 'emoji:read' })\n * ```\n */\nOAuthService.slack = providers_1.slackService;\n/**\n * Zoom OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const zoom = OAuthService.zoom({\n * clientId: 'custom-client-id',\n * authorizeUrl: 'https://zoom.us/oauth/authorize',\n * tokenUrl: 'https://zoom.us/oauth/token',\n * scope: 'meeting:write',\n * personalAccessToken: 'personal-access-token',\n * });\n * ```\n */\nOAuthService.zoom = providers_1.zoomService;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAccessToken = exports.withAccessToken = void 0;\nconst jsx_runtime_1 = require(\"react/jsx-runtime\");\nconst api_1 = require(\"@raycast/api\");\nlet token = null;\nlet type = null;\nlet authorize = null;\nlet getIdToken = null;\nlet onAuthorize = null;\nfunction withAccessToken(options) {\n if (api_1.environment.commandMode === \"no-view\") {\n return (fn) => {\n const noViewFn = async (props) => {\n if (!token) {\n token = options.personalAccessToken ?? (await options.authorize());\n type = options.personalAccessToken ? \"personal\" : \"oauth\";\n const idToken = (await options.client?.getTokens())?.idToken;\n if (options.onAuthorize) {\n await Promise.resolve(options.onAuthorize({ token, type, idToken }));\n }\n }\n return fn(props);\n };\n return noViewFn;\n };\n }\n return (Component) => {\n const WrappedComponent = (props) => {\n if (options.personalAccessToken) {\n token = options.personalAccessToken;\n type = \"personal\";\n }\n else {\n if (!authorize) {\n authorize = wrapPromise(options.authorize());\n }\n token = authorize.read();\n type = \"oauth\";\n }\n let idToken;\n if (options.client) {\n if (!getIdToken) {\n getIdToken = wrapPromise(options.client.getTokens());\n }\n idToken = getIdToken.read()?.idToken;\n }\n if (!onAuthorize && options.onAuthorize) {\n onAuthorize = wrapPromise(Promise.resolve(options.onAuthorize({ token, type, idToken })));\n }\n onAuthorize?.read();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore too complicated for TS\n return (0, jsx_runtime_1.jsx)(Component, { ...props });\n };\n WrappedComponent.displayName = `withAccessToken(${Component.displayName || Component.name})`;\n return WrappedComponent;\n };\n}\nexports.withAccessToken = withAccessToken;\n/**\n * Returns the access token and its type. Note that this function must be called in a component wrapped with `withAccessToken`.\n *\n * @throws {Error} If called outside of a component wrapped with `withAccessToken`\n * @returns {{ token: string, type: \"oauth\" | \"personal\" }} An object containing the `token`\n * and its `type`, where type can be either 'oauth' for OAuth tokens or 'personal' for a\n * personal access token.\n */\nfunction getAccessToken() {\n if (!token || !type) {\n throw new Error(\"getAccessToken must be used when authenticated (eg. used inside `withAccessToken`)\");\n }\n return { token, type };\n}\nexports.getAccessToken = getAccessToken;\nfunction wrapPromise(promise) {\n let status = \"pending\";\n let response;\n const suspender = promise.then((res) => {\n status = \"success\";\n response = res;\n }, (err) => {\n status = \"error\";\n response = err;\n });\n const read = () => {\n switch (status) {\n case \"pending\":\n throw suspender;\n case \"error\":\n throw response;\n default:\n return response;\n }\n };\n return { read };\n}\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./OAuthService\"), exports);\n__exportStar(require(\"./withAccessToken\"), exports);\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runAppleScript = void 0;\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst exec_utils_1 = require(\"./exec-utils\");\nasync function runAppleScript(script, optionsOrArgs, options) {\n const { humanReadableOutput, language, timeout, ...execOptions } = Array.isArray(optionsOrArgs)\n ? options || {}\n : optionsOrArgs || {};\n const outputArguments = humanReadableOutput !== false ? [] : [\"-ss\"];\n if (language === \"JavaScript\") {\n outputArguments.push(\"-l\", \"JavaScript\");\n }\n if (Array.isArray(optionsOrArgs)) {\n outputArguments.push(\"-\", ...optionsOrArgs);\n }\n const spawned = node_child_process_1.default.spawn(\"osascript\", outputArguments, {\n ...execOptions,\n env: { PATH: \"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\" },\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned, { timeout: timeout || 10000 });\n spawned.stdin.end(script);\n const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf8\" }, spawnedPromise);\n const stdout = (0, exec_utils_1.handleOutput)({ stripFinalNewline: true }, stdoutResult);\n const stderr = (0, exec_utils_1.handleOutput)({ stripFinalNewline: true }, stderrResult);\n return (0, exec_utils_1.defaultParsing)({\n stdout,\n stderr,\n error,\n exitCode,\n signal,\n timedOut,\n command: \"osascript\",\n options,\n parentError: new Error(),\n });\n}\nexports.runAppleScript = runAppleScript;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDeeplink = exports.createExtensionDeeplink = exports.createScriptCommandDeeplink = exports.DeeplinkType = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst node_fs_1 = __importDefault(require(\"node:fs\"));\nconst node_path_1 = __importDefault(require(\"node:path\"));\nvar DeeplinkType;\n(function (DeeplinkType) {\n /** A script command */\n DeeplinkType[\"ScriptCommand\"] = \"script-command\";\n /** An extension command */\n DeeplinkType[\"Extension\"] = \"extension\";\n})(DeeplinkType || (exports.DeeplinkType = DeeplinkType = {}));\nfunction getProtocol() {\n return api_1.environment.raycastVersion.includes(\"alpha\") ? \"raycastinternal://\" : \"raycast://\";\n}\nfunction getOwnerOrAuthorName() {\n const packageJSON = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(api_1.environment.assetsPath, \"..\", \"package.json\"), \"utf8\"));\n return packageJSON.owner || packageJSON.author;\n}\nfunction createScriptCommandDeeplink(options) {\n let url = `${getProtocol()}script-commands/${options.command}`;\n if (options.arguments) {\n let params = \"\";\n for (const arg of options.arguments) {\n params += \"&arguments=\" + encodeURIComponent(arg);\n }\n url += \"?\" + params.substring(1);\n }\n return url;\n}\nexports.createScriptCommandDeeplink = createScriptCommandDeeplink;\nfunction createExtensionDeeplink(options) {\n let ownerOrAuthorName = getOwnerOrAuthorName();\n let extensionName = api_1.environment.extensionName;\n if (\"ownerOrAuthorName\" in options && \"extensionName\" in options) {\n ownerOrAuthorName = options.ownerOrAuthorName;\n extensionName = options.extensionName;\n }\n let url = `${getProtocol()}extensions/${ownerOrAuthorName}/${extensionName}/${options.command}`;\n let params = \"\";\n if (options.launchType) {\n params += \"&launchType=\" + encodeURIComponent(options.launchType);\n }\n if (options.arguments) {\n params += \"&arguments=\" + encodeURIComponent(JSON.stringify(options.arguments));\n }\n if (options.context) {\n params += \"&context=\" + encodeURIComponent(JSON.stringify(options.context));\n }\n if (options.fallbackText) {\n params += \"&fallbackText=\" + encodeURIComponent(options.fallbackText);\n }\n if (params) {\n url += \"?\" + params.substring(1);\n }\n return url;\n}\nexports.createExtensionDeeplink = createExtensionDeeplink;\n/**\n * Creates a deeplink to a script command or extension.\n */\nfunction createDeeplink(options) {\n if (options.type === DeeplinkType.ScriptCommand) {\n return createScriptCommandDeeplink(options);\n }\n else {\n return createExtensionDeeplink(options);\n }\n}\nexports.createDeeplink = createDeeplink;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./usePromise\"), exports);\n__exportStar(require(\"./useCachedState\"), exports);\n__exportStar(require(\"./useCachedPromise\"), exports);\n__exportStar(require(\"./useFetch\"), exports);\n__exportStar(require(\"./useExec\"), exports);\n__exportStar(require(\"./useStreamJSON\"), exports);\n__exportStar(require(\"./useSQL\"), exports);\n__exportStar(require(\"./useForm\"), exports);\n__exportStar(require(\"./useAI\"), exports);\n__exportStar(require(\"./useFrecencySorting\"), exports);\n__exportStar(require(\"./useLocalStorage\"), exports);\n__exportStar(require(\"./icon\"), exports);\n__exportStar(require(\"./oauth\"), exports);\n__exportStar(require(\"./run-applescript\"), exports);\n__exportStar(require(\"./showFailureToast\"), exports);\n__exportStar(require(\"./createDeeplink\"), exports);\n", "'use strict';\n\nconst pTry = (fn, ...arguments_) => new Promise(resolve => {\n\tresolve(fn(...arguments_));\n});\n\nmodule.exports = pTry;\n// TODO: remove this in the next major version\nmodule.exports.default = pTry;\n", "'use strict';\nconst pTry = require('p-try');\n\nconst pLimit = concurrency => {\n\tif (!((Number.isInteger(concurrency) || concurrency === Infinity) && concurrency > 0)) {\n\t\treturn Promise.reject(new TypeError('Expected `concurrency` to be a number from 1 and up'));\n\t}\n\n\tconst queue = [];\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.length > 0) {\n\t\t\tqueue.shift()();\n\t\t}\n\t};\n\n\tconst run = (fn, resolve, ...args) => {\n\t\tactiveCount++;\n\n\t\tconst result = pTry(fn, ...args);\n\n\t\tresolve(result);\n\n\t\tresult.then(next, next);\n\t};\n\n\tconst enqueue = (fn, resolve, ...args) => {\n\t\tif (activeCount < concurrency) {\n\t\t\trun(fn, resolve, ...args);\n\t\t} else {\n\t\t\tqueue.push(run.bind(null, fn, resolve, ...args));\n\t\t}\n\t};\n\n\tconst generator = (fn, ...args) => new Promise(resolve => enqueue(fn, resolve, ...args));\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.length\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue: () => {\n\t\t\t\tqueue.length = 0;\n\t\t\t}\n\t\t}\n\t});\n\n\treturn generator;\n};\n\nmodule.exports = pLimit;\nmodule.exports.default = pLimit;\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// TODO: Remove this for the next major release\nmodule.exports.default = pLocate;\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\tcheckType(options);\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\tcheckType(options);\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\t}\n\t}\n};\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';\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\nmodule.exports = function isArrayish(obj) {\n\tif (!obj) {\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};\n", "'use strict';\n\nvar util = require('util');\nvar isArrayish = require('is-arrayish');\n\nvar errorEx = function errorEx(name, properties) {\n\tif (!name || name.constructor !== String) {\n\t\tproperties = name || {};\n\t\tname = Error.name;\n\t}\n\n\tvar errorExError = function ErrorEXError(message) {\n\t\tif (!this) {\n\t\t\treturn new ErrorEXError(message);\n\t\t}\n\n\t\tmessage = message instanceof Error\n\t\t\t? message.message\n\t\t\t: (message || this.message);\n\n\t\tError.call(this, message);\n\t\tError.captureStackTrace(this, errorExError);\n\n\t\tthis.name = name;\n\n\t\tObject.defineProperty(this, 'message', {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tget: function () {\n\t\t\t\tvar newMessage = message.split(/\\r?\\n/g);\n\n\t\t\t\tfor (var key in properties) {\n\t\t\t\t\tif (!properties.hasOwnProperty(key)) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar modifier = properties[key];\n\n\t\t\t\t\tif ('message' in modifier) {\n\t\t\t\t\t\tnewMessage = modifier.message(this[key], newMessage) || newMessage;\n\t\t\t\t\t\tif (!isArrayish(newMessage)) {\n\t\t\t\t\t\t\tnewMessage = [newMessage];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn newMessage.join('\\n');\n\t\t\t},\n\t\t\tset: function (v) {\n\t\t\t\tmessage = v;\n\t\t\t}\n\t\t});\n\n\t\tvar overwrittenStack = null;\n\n\t\tvar stackDescriptor = Object.getOwnPropertyDescriptor(this, 'stack');\n\t\tvar stackGetter = stackDescriptor.get;\n\t\tvar stackValue = stackDescriptor.value;\n\t\tdelete stackDescriptor.value;\n\t\tdelete stackDescriptor.writable;\n\n\t\tstackDescriptor.set = function (newstack) {\n\t\t\toverwrittenStack = newstack;\n\t\t};\n\n\t\tstackDescriptor.get = function () {\n\t\t\tvar stack = (overwrittenStack || ((stackGetter)\n\t\t\t\t? stackGetter.call(this)\n\t\t\t\t: stackValue)).split(/\\r?\\n+/g);\n\n\t\t\t// starting in Node 7, the stack builder caches the message.\n\t\t\t// just replace it.\n\t\t\tif (!overwrittenStack) {\n\t\t\t\tstack[0] = this.name + ': ' + this.message;\n\t\t\t}\n\n\t\t\tvar lineCount = 1;\n\t\t\tfor (var key in properties) {\n\t\t\t\tif (!properties.hasOwnProperty(key)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tvar modifier = properties[key];\n\n\t\t\t\tif ('line' in modifier) {\n\t\t\t\t\tvar line = modifier.line(this[key]);\n\t\t\t\t\tif (line) {\n\t\t\t\t\t\tstack.splice(lineCount++, 0, ' ' + line);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ('stack' in modifier) {\n\t\t\t\t\tmodifier.stack(this[key], stack);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn stack.join('\\n');\n\t\t};\n\n\t\tObject.defineProperty(this, 'stack', stackDescriptor);\n\t};\n\n\tif (Object.setPrototypeOf) {\n\t\tObject.setPrototypeOf(errorExError.prototype, Error.prototype);\n\t\tObject.setPrototypeOf(errorExError, Error);\n\t} else {\n\t\tutil.inherits(errorExError, Error);\n\t}\n\n\treturn errorExError;\n};\n\nerrorEx.append = function (str, def) {\n\treturn {\n\t\tmessage: function (v, message) {\n\t\t\tv = v || def;\n\n\t\t\tif (v) {\n\t\t\t\tmessage[0] += ' ' + str.replace('%s', v.toString());\n\t\t\t}\n\n\t\t\treturn message;\n\t\t}\n\t};\n};\n\nerrorEx.line = function (str, def) {\n\treturn {\n\t\tline: function (v) {\n\t\t\tv = v || def;\n\n\t\t\tif (v) {\n\t\t\t\treturn str.replace('%s', v.toString());\n\t\t\t}\n\n\t\t\treturn null;\n\t\t}\n\t};\n};\n\nmodule.exports = errorEx;\n", "'use strict'\n\nconst hexify = char => {\n const h = char.charCodeAt(0).toString(16).toUpperCase()\n return '0x' + (h.length % 2 ? '0' : '') + h\n}\n\nconst parseError = (e, txt, context) => {\n if (!txt) {\n return {\n message: e.message + ' while parsing empty string',\n position: 0,\n }\n }\n const badToken = e.message.match(/^Unexpected token (.) .*position\\s+(\\d+)/i)\n const errIdx = badToken ? +badToken[2]\n : e.message.match(/^Unexpected end of JSON.*/i) ? txt.length - 1\n : null\n\n const msg = badToken ? e.message.replace(/^Unexpected token ./, `Unexpected token ${\n JSON.stringify(badToken[1])\n } (${hexify(badToken[1])})`)\n : e.message\n\n if (errIdx !== null && errIdx !== undefined) {\n const start = errIdx <= context ? 0\n : errIdx - context\n\n const end = errIdx + context >= txt.length ? txt.length\n : errIdx + context\n\n const slice = (start === 0 ? '' : '...') +\n txt.slice(start, end) +\n (end === txt.length ? '' : '...')\n\n const near = txt === slice ? '' : 'near '\n\n return {\n message: msg + ` while parsing ${near}${JSON.stringify(slice)}`,\n position: errIdx,\n }\n } else {\n return {\n message: msg + ` while parsing '${txt.slice(0, context * 2)}'`,\n position: 0,\n }\n }\n}\n\nclass JSONParseError extends SyntaxError {\n constructor (er, txt, context, caller) {\n context = context || 20\n const metadata = parseError(er, txt, context)\n super(metadata.message)\n Object.assign(this, metadata)\n this.code = 'EJSONPARSE'\n this.systemError = er\n Error.captureStackTrace(this, caller || this.constructor)\n }\n get name () { return this.constructor.name }\n set name (n) {}\n get [Symbol.toStringTag] () { return this.constructor.name }\n}\n\nconst kIndent = Symbol.for('indent')\nconst kNewline = Symbol.for('newline')\n// only respect indentation if we got a line break, otherwise squash it\n// things other than objects and arrays aren't indented, so ignore those\n// Important: in both of these regexps, the $1 capture group is the newline\n// or undefined, and the $2 capture group is the indent, or undefined.\nconst formatRE = /^\\s*[{\\[]((?:\\r?\\n)+)([\\s\\t]*)/\nconst emptyRE = /^(?:\\{\\}|\\[\\])((?:\\r?\\n)+)?$/\n\nconst parseJson = (txt, reviver, context) => {\n const parseText = stripBOM(txt)\n context = context || 20\n try {\n // get the indentation so that we can save it back nicely\n // if the file starts with {\" then we have an indent of '', ie, none\n // otherwise, pick the indentation of the next line after the first \\n\n // If the pattern doesn't match, then it means no indentation.\n // JSON.stringify ignores symbols, so this is reasonably safe.\n // if the string is '{}' or '[]', then use the default 2-space indent.\n const [, newline = '\\n', indent = ' '] = parseText.match(emptyRE) ||\n parseText.match(formatRE) ||\n [, '', '']\n\n const result = JSON.parse(parseText, reviver)\n if (result && typeof result === 'object') {\n result[kNewline] = newline\n result[kIndent] = indent\n }\n return result\n } catch (e) {\n if (typeof txt !== 'string' && !Buffer.isBuffer(txt)) {\n const isEmptyArray = Array.isArray(txt) && txt.length === 0\n throw Object.assign(new TypeError(\n `Cannot parse ${isEmptyArray ? 'an empty array' : String(txt)}`\n ), {\n code: 'EJSONPARSE',\n systemError: e,\n })\n }\n\n throw new JSONParseError(e, parseText, context, parseJson)\n }\n}\n\n// Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n// because the buffer-to-string conversion in `fs.readFileSync()`\n// translates it to FEFF, the UTF-16 BOM.\nconst stripBOM = txt => String(txt).replace(/^\\uFEFF/, '')\n\nmodule.exports = parseJson\nparseJson.JSONParseError = JSONParseError\n\nparseJson.noExceptions = (txt, reviver) => {\n try {\n return JSON.parse(stripBOM(txt), reviver)\n } catch (e) {}\n}\n", "\"use strict\";\nexports.__esModule = true;\nexports.LinesAndColumns = void 0;\nvar LF = '\\n';\nvar CR = '\\r';\nvar LinesAndColumns = /** @class */ (function () {\n function LinesAndColumns(string) {\n this.string = string;\n var offsets = [0];\n for (var offset = 0; offset < string.length;) {\n switch (string[offset]) {\n case LF:\n offset += LF.length;\n offsets.push(offset);\n break;\n case CR:\n offset += CR.length;\n if (string[offset] === LF) {\n offset += LF.length;\n }\n offsets.push(offset);\n break;\n default:\n offset++;\n break;\n }\n }\n this.offsets = offsets;\n }\n LinesAndColumns.prototype.locationForIndex = function (index) {\n if (index < 0 || index > this.string.length) {\n return null;\n }\n var line = 0;\n var offsets = this.offsets;\n while (offsets[line + 1] <= index) {\n line++;\n }\n var column = index - offsets[line];\n return { line: line, column: column };\n };\n LinesAndColumns.prototype.indexForLocation = function (location) {\n var line = location.line, column = location.column;\n if (line < 0 || line >= this.offsets.length) {\n return null;\n }\n if (column < 0 || column > this.lengthOfLine(line)) {\n return null;\n }\n return this.offsets[line] + column;\n };\n LinesAndColumns.prototype.lengthOfLine = function (line) {\n var offset = this.offsets[line];\n var nextOffset = line === this.offsets.length - 1\n ? this.string.length\n : this.offsets[line + 1];\n return nextOffset - offset;\n };\n return LinesAndColumns;\n}());\nexports.LinesAndColumns = LinesAndColumns;\nexports[\"default\"] = LinesAndColumns;\n", "// Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell\n// License: MIT. (See LICENSE.)\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n})\n\n// This regex comes from regex.coffee, and is inserted here by generate-index.js\n// (run `npm run build`).\nexports.default = /((['\"])(?:(?!\\2|\\\\).|\\\\(?:\\r\\n|[\\s\\S]))*(\\2)?|`(?:[^`\\\\$]|\\\\[\\s\\S]|\\$(?!\\{)|\\$\\{(?:[^{}]|\\{[^}]*\\}?)*\\}?)*(`)?)|(\\/\\/.*)|(\\/\\*(?:[^*]|\\*(?!\\/))*(\\*\\/)?)|(\\/(?!\\*)(?:\\[(?:(?![\\]\\\\]).|\\\\.)*\\]|(?![\\/\\]\\\\]).|\\\\.)+\\/(?:(?!\\s*(?:\\b|[\\u0080-\\uFFFF$\\\\'\"~({]|[+\\-!](?!=)|\\.?\\d))|[gmiyus]{1,6}\\b(?![\\u0080-\\uFFFF$\\\\]|\\s*(?:[+\\-*%&|^<>!=?({]|\\/(?![\\/*])))))|(0[xX][\\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][+-]?\\d+)?)|((?!\\d)(?:(?!\\s)[$\\w\\u0080-\\uFFFF]|\\\\u[\\da-fA-F]{4}|\\\\u\\{[\\da-fA-F]+\\})+)|(--|\\+\\+|&&|\\|\\||=>|\\.{3}|(?:[+\\-\\/%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\\](){}])|(\\s+)|(^$|[\\s\\S])/g\n\nexports.matchToToken = function(match) {\n var token = {type: \"invalid\", value: match[0], closed: undefined}\n if (match[ 1]) token.type = \"string\" , token.closed = !!(match[3] || match[4])\n else if (match[ 5]) token.type = \"comment\"\n else if (match[ 6]) token.type = \"comment\", token.closed = !!match[7]\n else if (match[ 8]) token.type = \"regex\"\n else if (match[ 9]) token.type = \"number\"\n else if (match[10]) token.type = \"name\"\n else if (match[11]) token.type = \"punctuator\"\n else if (match[12]) token.type = \"whitespace\"\n return token\n}\n", "// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\n\n// ## Character categories\n\n// Big ugly regular expressions that match characters in the\n// whitespace, identifier, and identifier-start categories. These\n// are only applied when a character is found to actually have a\n// code point between 0x80 and 0xffff.\n// Generated by `scripts/generate-identifier-regex.js`.\n\n/* prettier-ignore */\nlet nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u0870-\\u0887\\u0889-\\u088e\\u08a0-\\u08c9\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c5d\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cdd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u1711\\u171f-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4c\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7ca\\ua7d0\\ua7d1\\ua7d3\\ua7d5-\\ua7d9\\ua7f2-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\n/* prettier-ignore */\nlet nonASCIIidentifierChars = \"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0898-\\u089f\\u08ca-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3c\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0cf3\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ece\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u180f-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf-\\u1ace\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1dff\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\u30fb\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\\uff65\";\n\nconst nonASCIIidentifierStart = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + \"]\",\n);\nconst nonASCIIidentifier = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\",\n);\n\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\n\n// These are a run-length and offset-encoded representation of the\n// >0xffff code points that are a valid part of identifiers. The\n// offset starts at 0x10000, and each pair of numbers represents an\n// offset to the next range, and then a size of the range. They were\n// generated by `scripts/generate-identifier-regex.js`.\n/* prettier-ignore */\nconst astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191];\n/* prettier-ignore */\nconst astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239];\n\n// This has a complexity linear to the value of the code. The\n// assumption is that looking up astral identifier characters is\n// rare.\nfunction isInAstralSet(code: number, set: readonly number[]): boolean {\n let pos = 0x10000;\n for (let i = 0, length = set.length; i < length; i += 2) {\n pos += set[i];\n if (pos > code) return false;\n\n pos += set[i + 1];\n if (pos >= code) return true;\n }\n return false;\n}\n\n// Test whether a given character code starts an identifier.\n\nexport function isIdentifierStart(code: number): boolean {\n if (code < charCodes.uppercaseA) return code === charCodes.dollarSign;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return (\n code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code))\n );\n }\n return isInAstralSet(code, astralIdentifierStartCodes);\n}\n\n// Test whether a given character is part of an identifier.\n\nexport function isIdentifierChar(code: number): boolean {\n if (code < charCodes.digit0) return code === charCodes.dollarSign;\n if (code < charCodes.colon) return true;\n if (code < charCodes.uppercaseA) return false;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n }\n return (\n isInAstralSet(code, astralIdentifierStartCodes) ||\n isInAstralSet(code, astralIdentifierCodes)\n );\n}\n\n// Test whether a given string is a valid identifier name\n\nexport function isIdentifierName(name: string): boolean {\n let isFirst = true;\n for (let i = 0; i < name.length; i++) {\n // The implementation is based on\n // https://source.chromium.org/chromium/chromium/src/+/master:v8/src/builtins/builtins-string-gen.cc;l=1455;drc=221e331b49dfefadbc6fa40b0c68e6f97606d0b3;bpv=0;bpt=1\n // We reimplement `codePointAt` because `codePointAt` is a V8 builtin which is not inlined by TurboFan (as of M91)\n // since `name` is mostly ASCII, an inlined `charCodeAt` wins here\n let cp = name.charCodeAt(i);\n if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {\n const trail = name.charCodeAt(++i);\n if ((trail & 0xfc00) === 0xdc00) {\n cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);\n }\n }\n if (isFirst) {\n isFirst = false;\n if (!isIdentifierStart(cp)) {\n return false;\n }\n } else if (!isIdentifierChar(cp)) {\n return false;\n }\n }\n return !isFirst;\n}\n", "const reservedWords = {\n keyword: [\n \"break\",\n \"case\",\n \"catch\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"do\",\n \"else\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"return\",\n \"switch\",\n \"throw\",\n \"try\",\n \"var\",\n \"const\",\n \"while\",\n \"with\",\n \"new\",\n \"this\",\n \"super\",\n \"class\",\n \"extends\",\n \"export\",\n \"import\",\n \"null\",\n \"true\",\n \"false\",\n \"in\",\n \"instanceof\",\n \"typeof\",\n \"void\",\n \"delete\",\n ],\n strict: [\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"yield\",\n ],\n strictBind: [\"eval\", \"arguments\"],\n};\nconst keywords = new Set(reservedWords.keyword);\nconst reservedWordsStrictSet = new Set(reservedWords.strict);\nconst reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\n\n/**\n * Checks if word is a reserved word in non-strict mode\n */\nexport function isReservedWord(word: string, inModule: boolean): boolean {\n return (inModule && word === \"await\") || word === \"enum\";\n}\n\n/**\n * Checks if word is a reserved word in non-binding strict mode\n *\n * Includes non-strict reserved words\n */\nexport function isStrictReservedWord(word: string, inModule: boolean): boolean {\n return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode, but it is allowed as\n * a normal identifier.\n */\nexport function isStrictBindOnlyReservedWord(word: string): boolean {\n return reservedWordsStrictBindSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode\n *\n * Includes non-strict reserved words and non-binding strict reserved words\n */\nexport function isStrictBindReservedWord(\n word: string,\n inModule: boolean,\n): boolean {\n return (\n isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word)\n );\n}\n\nexport function isKeyword(word: string): boolean {\n return keywords.has(word);\n}\n", "export {\n isIdentifierName,\n isIdentifierChar,\n isIdentifierStart,\n} from \"./identifier.ts\";\nexport {\n isReservedWord,\n isStrictBindOnlyReservedWord,\n isStrictBindReservedWord,\n isStrictReservedWord,\n isKeyword,\n} from \"./keyword.ts\";\n", "let argv = process.argv || [],\n\tenv = process.env\nlet isColorSupported =\n\t!(\"NO_COLOR\" in env || argv.includes(\"--no-color\")) &&\n\t(\"FORCE_COLOR\" in env ||\n\t\targv.includes(\"--color\") ||\n\t\tprocess.platform === \"win32\" ||\n\t\t(require != null && require(\"tty\").isatty(1) && env.TERM !== \"dumb\") ||\n\t\t\"CI\" in env)\n\nlet formatter =\n\t(open, close, replace = open) =>\n\tinput => {\n\t\tlet string = \"\" + input\n\t\tlet index = string.indexOf(close, open.length)\n\t\treturn ~index\n\t\t\t? open + replaceClose(string, close, replace, index) + close\n\t\t\t: open + string + close\n\t}\n\nlet replaceClose = (string, close, replace, index) => {\n\tlet result = \"\"\n\tlet cursor = 0\n\tdo {\n\t\tresult += string.substring(cursor, index) + replace\n\t\tcursor = index + close.length\n\t\tindex = string.indexOf(close, cursor)\n\t} while (~index)\n\treturn result + string.substring(cursor)\n}\n\nlet createColors = (enabled = isColorSupported) => {\n\tlet init = enabled ? formatter : () => String\n\treturn {\n\t\tisColorSupported: enabled,\n\t\treset: init(\"\\x1b[0m\", \"\\x1b[0m\"),\n\t\tbold: init(\"\\x1b[1m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[1m\"),\n\t\tdim: init(\"\\x1b[2m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[2m\"),\n\t\titalic: init(\"\\x1b[3m\", \"\\x1b[23m\"),\n\t\tunderline: init(\"\\x1b[4m\", \"\\x1b[24m\"),\n\t\tinverse: init(\"\\x1b[7m\", \"\\x1b[27m\"),\n\t\thidden: init(\"\\x1b[8m\", \"\\x1b[28m\"),\n\t\tstrikethrough: init(\"\\x1b[9m\", \"\\x1b[29m\"),\n\t\tblack: init(\"\\x1b[30m\", \"\\x1b[39m\"),\n\t\tred: init(\"\\x1b[31m\", \"\\x1b[39m\"),\n\t\tgreen: init(\"\\x1b[32m\", \"\\x1b[39m\"),\n\t\tyellow: init(\"\\x1b[33m\", \"\\x1b[39m\"),\n\t\tblue: init(\"\\x1b[34m\", \"\\x1b[39m\"),\n\t\tmagenta: init(\"\\x1b[35m\", \"\\x1b[39m\"),\n\t\tcyan: init(\"\\x1b[36m\", \"\\x1b[39m\"),\n\t\twhite: init(\"\\x1b[37m\", \"\\x1b[39m\"),\n\t\tgray: init(\"\\x1b[90m\", \"\\x1b[39m\"),\n\t\tbgBlack: init(\"\\x1b[40m\", \"\\x1b[49m\"),\n\t\tbgRed: init(\"\\x1b[41m\", \"\\x1b[49m\"),\n\t\tbgGreen: init(\"\\x1b[42m\", \"\\x1b[49m\"),\n\t\tbgYellow: init(\"\\x1b[43m\", \"\\x1b[49m\"),\n\t\tbgBlue: init(\"\\x1b[44m\", \"\\x1b[49m\"),\n\t\tbgMagenta: init(\"\\x1b[45m\", \"\\x1b[49m\"),\n\t\tbgCyan: init(\"\\x1b[46m\", \"\\x1b[49m\"),\n\t\tbgWhite: init(\"\\x1b[47m\", \"\\x1b[49m\"),\n\t}\n}\n\nmodule.exports = createColors()\nmodule.exports.createColors = createColors\n", "'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\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 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');\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", "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';\nconst colorConvert = require('color-convert');\n\nconst wrapAnsi16 = (fn, offset) => function () {\n\tconst code = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${code + offset}m`;\n};\n\nconst wrapAnsi256 = (fn, offset) => function () {\n\tconst code = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${38 + offset};5;${code}m`;\n};\n\nconst wrapAnsi16m = (fn, offset) => function () {\n\tconst rgb = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;\n};\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\tconst styles = {\n\t\tmodifier: {\n\t\t\treset: [0, 0],\n\t\t\t// 21 isn't widely supported and 22 does the same thing\n\t\t\tbold: [1, 22],\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolor: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\t\t\tgray: [90, 39],\n\n\t\t\t// Bright color\n\t\t\tredBright: [91, 39],\n\t\t\tgreenBright: [92, 39],\n\t\t\tyellowBright: [93, 39],\n\t\t\tblueBright: [94, 39],\n\t\t\tmagentaBright: [95, 39],\n\t\t\tcyanBright: [96, 39],\n\t\t\twhiteBright: [97, 39]\n\t\t},\n\t\tbgColor: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49],\n\n\t\t\t// Bright color\n\t\t\tbgBlackBright: [100, 49],\n\t\t\tbgRedBright: [101, 49],\n\t\t\tbgGreenBright: [102, 49],\n\t\t\tbgYellowBright: [103, 49],\n\t\t\tbgBlueBright: [104, 49],\n\t\t\tbgMagentaBright: [105, 49],\n\t\t\tbgCyanBright: [106, 49],\n\t\t\tbgWhiteBright: [107, 49]\n\t\t}\n\t};\n\n\t// Fix humans\n\tstyles.color.grey = styles.color.gray;\n\n\tfor (const groupName of Object.keys(styles)) {\n\t\tconst group = styles[groupName];\n\n\t\tfor (const styleName of Object.keys(group)) {\n\t\t\tconst style = group[styleName];\n\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\n\t\tObject.defineProperty(styles, 'codes', {\n\t\t\tvalue: codes,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tconst ansi2ansi = n => n;\n\tconst rgb2rgb = (r, g, b) => [r, g, b];\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = {\n\t\tansi: wrapAnsi16(ansi2ansi, 0)\n\t};\n\tstyles.color.ansi256 = {\n\t\tansi256: wrapAnsi256(ansi2ansi, 0)\n\t};\n\tstyles.color.ansi16m = {\n\t\trgb: wrapAnsi16m(rgb2rgb, 0)\n\t};\n\n\tstyles.bgColor.ansi = {\n\t\tansi: wrapAnsi16(ansi2ansi, 10)\n\t};\n\tstyles.bgColor.ansi256 = {\n\t\tansi256: wrapAnsi256(ansi2ansi, 10)\n\t};\n\tstyles.bgColor.ansi16m = {\n\t\trgb: wrapAnsi16m(rgb2rgb, 10)\n\t};\n\n\tfor (let key of Object.keys(colorConvert)) {\n\t\tif (typeof colorConvert[key] !== 'object') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst suite = colorConvert[key];\n\n\t\tif (key === 'ansi16') {\n\t\t\tkey = 'ansi';\n\t\t}\n\n\t\tif ('ansi16' in suite) {\n\t\t\tstyles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0);\n\t\t\tstyles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10);\n\t\t}\n\n\t\tif ('ansi256' in suite) {\n\t\t\tstyles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0);\n\t\t\tstyles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10);\n\t\t}\n\n\t\tif ('rgb' in suite) {\n\t\t\tstyles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0);\n\t\t\tstyles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10);\n\t\t}\n\t}\n\n\treturn styles;\n}\n\n// Make the export immutable\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n", "'use strict';\nmodule.exports = (flag, argv) => {\n\targv = argv || process.argv;\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst pos = argv.indexOf(prefix + flag);\n\tconst terminatorPos = argv.indexOf('--');\n\treturn pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n", "'use strict';\nconst os = require('os');\nconst hasFlag = require('has-flag');\n\nconst env = process.env;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false')) {\n\tforceColor = false;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = true;\n}\nif ('FORCE_COLOR' in env) {\n\tforceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(stream) {\n\tif (forceColor === false) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (stream && !stream.isTTY && forceColor !== true) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor ? 1 : 0;\n\n\tif (process.platform === 'win32') {\n\t\t// Node.js 7.5.0 is the first version of Node.js to include a patch to\n\t\t// libuv that enables 256 color output on Windows. Anything earlier and it\n\t\t// won't work. However, here we target Node.js 8 at minimum as it is an LTS\n\t\t// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows\n\t\t// release that supports 256 colors. Windows 10 build 14931 is the first release\n\t\t// that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(process.versions.node.split('.')[0]) >= 8 &&\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: getSupportLevel(process.stdout),\n\tstderr: getSupportLevel(process.stderr)\n};\n", "'use strict';\nconst TEMPLATE_REGEX = /(?:\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi;\nconst STYLE_REGEX = /(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g;\nconst STRING_REGEX = /^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/;\nconst ESCAPE_REGEX = /\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.)|([^\\\\])/gi;\n\nconst ESCAPES = new Map([\n\t['n', '\\n'],\n\t['r', '\\r'],\n\t['t', '\\t'],\n\t['b', '\\b'],\n\t['f', '\\f'],\n\t['v', '\\v'],\n\t['0', '\\0'],\n\t['\\\\', '\\\\'],\n\t['e', '\\u001B'],\n\t['a', '\\u0007']\n]);\n\nfunction unescape(c) {\n\tif ((c[0] === 'u' && c.length === 5) || (c[0] === 'x' && c.length === 3)) {\n\t\treturn String.fromCharCode(parseInt(c.slice(1), 16));\n\t}\n\n\treturn ESCAPES.get(c) || c;\n}\n\nfunction parseArguments(name, args) {\n\tconst results = [];\n\tconst chunks = args.trim().split(/\\s*,\\s*/g);\n\tlet matches;\n\n\tfor (const chunk of chunks) {\n\t\tif (!isNaN(chunk)) {\n\t\t\tresults.push(Number(chunk));\n\t\t} else if ((matches = chunk.match(STRING_REGEX))) {\n\t\t\tresults.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr));\n\t\t} else {\n\t\t\tthrow new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction parseStyle(style) {\n\tSTYLE_REGEX.lastIndex = 0;\n\n\tconst results = [];\n\tlet matches;\n\n\twhile ((matches = STYLE_REGEX.exec(style)) !== null) {\n\t\tconst name = matches[1];\n\n\t\tif (matches[2]) {\n\t\t\tconst args = parseArguments(name, matches[2]);\n\t\t\tresults.push([name].concat(args));\n\t\t} else {\n\t\t\tresults.push([name]);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction buildStyle(chalk, styles) {\n\tconst enabled = {};\n\n\tfor (const layer of styles) {\n\t\tfor (const style of layer.styles) {\n\t\t\tenabled[style[0]] = layer.inverse ? null : style.slice(1);\n\t\t}\n\t}\n\n\tlet current = chalk;\n\tfor (const styleName of Object.keys(enabled)) {\n\t\tif (Array.isArray(enabled[styleName])) {\n\t\t\tif (!(styleName in current)) {\n\t\t\t\tthrow new Error(`Unknown Chalk style: ${styleName}`);\n\t\t\t}\n\n\t\t\tif (enabled[styleName].length > 0) {\n\t\t\t\tcurrent = current[styleName].apply(current, enabled[styleName]);\n\t\t\t} else {\n\t\t\t\tcurrent = current[styleName];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn current;\n}\n\nmodule.exports = (chalk, tmp) => {\n\tconst styles = [];\n\tconst chunks = [];\n\tlet chunk = [];\n\n\t// eslint-disable-next-line max-params\n\ttmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => {\n\t\tif (escapeChar) {\n\t\t\tchunk.push(unescape(escapeChar));\n\t\t} else if (style) {\n\t\t\tconst str = chunk.join('');\n\t\t\tchunk = [];\n\t\t\tchunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str));\n\t\t\tstyles.push({inverse, styles: parseStyle(style)});\n\t\t} else if (close) {\n\t\t\tif (styles.length === 0) {\n\t\t\t\tthrow new Error('Found extraneous } in Chalk template literal');\n\t\t\t}\n\n\t\t\tchunks.push(buildStyle(chalk, styles)(chunk.join('')));\n\t\t\tchunk = [];\n\t\t\tstyles.pop();\n\t\t} else {\n\t\t\tchunk.push(chr);\n\t\t}\n\t});\n\n\tchunks.push(chunk.join(''));\n\n\tif (styles.length > 0) {\n\t\tconst errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\\`}\\`)`;\n\t\tthrow new Error(errMsg);\n\t}\n\n\treturn chunks.join('');\n};\n", "'use strict';\nconst escapeStringRegexp = require('escape-string-regexp');\nconst ansiStyles = require('ansi-styles');\nconst stdoutColor = require('supports-color').stdout;\n\nconst template = require('./templates.js');\n\nconst isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm');\n\n// `supportsColor.level` \u2192 `ansiStyles.color[name]` mapping\nconst levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m'];\n\n// `color-convert` models to exclude from the Chalk API due to conflicts and such\nconst skipModels = new Set(['gray']);\n\nconst styles = Object.create(null);\n\nfunction applyOptions(obj, options) {\n\toptions = options || {};\n\n\t// Detect level if not set manually\n\tconst scLevel = stdoutColor ? stdoutColor.level : 0;\n\tobj.level = options.level === undefined ? scLevel : options.level;\n\tobj.enabled = 'enabled' in options ? options.enabled : obj.level > 0;\n}\n\nfunction Chalk(options) {\n\t// We check for this.template here since calling `chalk.constructor()`\n\t// by itself will have a `this` of a previously constructed chalk object\n\tif (!this || !(this instanceof Chalk) || this.template) {\n\t\tconst chalk = {};\n\t\tapplyOptions(chalk, options);\n\n\t\tchalk.template = function () {\n\t\t\tconst args = [].slice.call(arguments);\n\t\t\treturn chalkTag.apply(null, [chalk.template].concat(args));\n\t\t};\n\n\t\tObject.setPrototypeOf(chalk, Chalk.prototype);\n\t\tObject.setPrototypeOf(chalk.template, chalk);\n\n\t\tchalk.template.constructor = Chalk;\n\n\t\treturn chalk.template;\n\t}\n\n\tapplyOptions(this, options);\n}\n\n// Use bright blue on Windows as the normal blue color is illegible\nif (isSimpleWindowsTerm) {\n\tansiStyles.blue.open = '\\u001B[94m';\n}\n\nfor (const key of Object.keys(ansiStyles)) {\n\tansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');\n\n\tstyles[key] = {\n\t\tget() {\n\t\t\tconst codes = ansiStyles[key];\n\t\t\treturn build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key);\n\t\t}\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\treturn build.call(this, this._styles || [], true, 'visible');\n\t}\n};\n\nansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g');\nfor (const model of Object.keys(ansiStyles.color.ansi)) {\n\tif (skipModels.has(model)) {\n\t\tcontinue;\n\t}\n\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst level = this.level;\n\t\t\treturn function () {\n\t\t\t\tconst open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments);\n\t\t\t\tconst codes = {\n\t\t\t\t\topen,\n\t\t\t\t\tclose: ansiStyles.color.close,\n\t\t\t\t\tcloseRe: ansiStyles.color.closeRe\n\t\t\t\t};\n\t\t\t\treturn build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);\n\t\t\t};\n\t\t}\n\t};\n}\n\nansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g');\nfor (const model of Object.keys(ansiStyles.bgColor.ansi)) {\n\tif (skipModels.has(model)) {\n\t\tcontinue;\n\t}\n\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst level = this.level;\n\t\t\treturn function () {\n\t\t\t\tconst open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments);\n\t\t\t\tconst codes = {\n\t\t\t\t\topen,\n\t\t\t\t\tclose: ansiStyles.bgColor.close,\n\t\t\t\t\tcloseRe: ansiStyles.bgColor.closeRe\n\t\t\t\t};\n\t\t\t\treturn build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);\n\t\t\t};\n\t\t}\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, styles);\n\nfunction build(_styles, _empty, key) {\n\tconst builder = function () {\n\t\treturn applyStyle.apply(builder, arguments);\n\t};\n\n\tbuilder._styles = _styles;\n\tbuilder._empty = _empty;\n\n\tconst self = this;\n\n\tObject.defineProperty(builder, 'level', {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn self.level;\n\t\t},\n\t\tset(level) {\n\t\t\tself.level = level;\n\t\t}\n\t});\n\n\tObject.defineProperty(builder, 'enabled', {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn self.enabled;\n\t\t},\n\t\tset(enabled) {\n\t\t\tself.enabled = enabled;\n\t\t}\n\t});\n\n\t// See below for fix regarding invisible grey/dim combination on Windows\n\tbuilder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey';\n\n\t// `__proto__` is used because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tbuilder.__proto__ = proto; // eslint-disable-line no-proto\n\n\treturn builder;\n}\n\nfunction applyStyle() {\n\t// Support varags, but simply cast to string in case there's only one arg\n\tconst args = arguments;\n\tconst argsLen = args.length;\n\tlet str = String(arguments[0]);\n\n\tif (argsLen === 0) {\n\t\treturn '';\n\t}\n\n\tif (argsLen > 1) {\n\t\t// Don't slice `arguments`, it prevents V8 optimizations\n\t\tfor (let a = 1; a < argsLen; a++) {\n\t\t\tstr += ' ' + args[a];\n\t\t}\n\t}\n\n\tif (!this.enabled || this.level <= 0 || !str) {\n\t\treturn this._empty ? '' : str;\n\t}\n\n\t// Turns out that on Windows dimmed gray text becomes invisible in cmd.exe,\n\t// see https://github.com/chalk/chalk/issues/58\n\t// If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop.\n\tconst originalDim = ansiStyles.dim.open;\n\tif (isSimpleWindowsTerm && this.hasGrey) {\n\t\tansiStyles.dim.open = '';\n\t}\n\n\tfor (const code of this._styles.slice().reverse()) {\n\t\t// Replace any instances already present with a re-opening code\n\t\t// otherwise only the part of the string until said closing code\n\t\t// will be colored, and the rest will simply be 'plain'.\n\t\tstr = code.open + str.replace(code.closeRe, code.open) + code.close;\n\n\t\t// Close the styling before a linebreak and reopen\n\t\t// after next line to fix a bleed issue on macOS\n\t\t// https://github.com/chalk/chalk/pull/92\n\t\tstr = str.replace(/\\r?\\n/g, `${code.close}$&${code.open}`);\n\t}\n\n\t// Reset the original `dim` if we changed it to work around the Windows dimmed gray issue\n\tansiStyles.dim.open = originalDim;\n\n\treturn str;\n}\n\nfunction chalkTag(chalk, strings) {\n\tif (!Array.isArray(strings)) {\n\t\t// If chalk() was called by itself or with a string,\n\t\t// return the string itself as a string.\n\t\treturn [].slice.call(arguments, 1).join(' ');\n\t}\n\n\tconst args = [].slice.call(arguments, 2);\n\tconst parts = [strings.raw[0]];\n\n\tfor (let i = 1; i < strings.length; i++) {\n\t\tparts.push(String(args[i - 1]).replace(/[{}\\\\]/g, '\\\\$&'));\n\t\tparts.push(String(strings.raw[i]));\n\t}\n\n\treturn template(chalk, parts.join(''));\n}\n\nObject.defineProperties(Chalk.prototype, styles);\n\nmodule.exports = Chalk(); // eslint-disable-line new-cap\nmodule.exports.supportsColor = stdoutColor;\nmodule.exports.default = module.exports; // For TypeScript\n", "import type { Token as JSToken, JSXToken } from \"js-tokens\";\nimport jsTokens from \"js-tokens\";\n\nimport {\n isStrictReservedWord,\n isKeyword,\n} from \"@babel/helper-validator-identifier\";\n\nimport _colors, { createColors } from \"picocolors\";\nimport type { Colors, Formatter } from \"picocolors/types\";\n// See https://github.com/alexeyraspopov/picocolors/issues/62\nconst colors =\n typeof process === \"object\" &&\n (process.env.FORCE_COLOR === \"0\" || process.env.FORCE_COLOR === \"false\")\n ? createColors(false)\n : _colors;\n\nconst compose: <T, U, V>(f: (gv: U) => V, g: (v: T) => U) => (v: T) => V =\n (f, g) => v =>\n f(g(v));\n\n/**\n * Names that are always allowed as identifiers, but also appear as keywords\n * within certain syntactic productions.\n *\n * https://tc39.es/ecma262/#sec-keywords-and-reserved-words\n *\n * `target` has been omitted since it is very likely going to be a false\n * positive.\n */\nconst sometimesKeywords = new Set([\"as\", \"async\", \"from\", \"get\", \"of\", \"set\"]);\n\ntype InternalTokenType =\n | \"keyword\"\n | \"capitalized\"\n | \"jsxIdentifier\"\n | \"punctuator\"\n | \"number\"\n | \"string\"\n | \"regex\"\n | \"comment\"\n | \"invalid\";\n\ntype Token = {\n type: InternalTokenType | \"uncolored\";\n value: string;\n};\n/**\n * Styles for token types.\n */\nfunction getDefs(colors: Colors): Record<InternalTokenType, Formatter> {\n return {\n keyword: colors.cyan,\n capitalized: colors.yellow,\n jsxIdentifier: colors.yellow,\n punctuator: colors.yellow,\n number: colors.magenta,\n string: colors.green,\n regex: colors.magenta,\n comment: colors.gray,\n invalid: compose(compose(colors.white, colors.bgRed), colors.bold),\n };\n}\n\n/**\n * RegExp to test for newlines in terminal.\n */\nconst NEWLINE = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\n\n/**\n * RegExp to test for the three types of brackets.\n */\nconst BRACKET = /^[()[\\]{}]$/;\n\nlet tokenize: (\n text: string,\n) => Generator<{ type: InternalTokenType | \"uncolored\"; value: string }>;\n\nif (process.env.BABEL_8_BREAKING) {\n /**\n * Get the type of token, specifying punctuator type.\n */\n const getTokenType = function (\n token: JSToken | JSXToken,\n ): InternalTokenType | \"uncolored\" {\n if (token.type === \"IdentifierName\") {\n if (\n isKeyword(token.value) ||\n isStrictReservedWord(token.value, true) ||\n sometimesKeywords.has(token.value)\n ) {\n return \"keyword\";\n }\n\n if (token.value[0] !== token.value[0].toLowerCase()) {\n return \"capitalized\";\n }\n }\n\n if (token.type === \"Punctuator\" && BRACKET.test(token.value)) {\n return \"uncolored\";\n }\n\n if (token.type === \"Invalid\" && token.value === \"@\") {\n return \"punctuator\";\n }\n\n switch (token.type) {\n case \"NumericLiteral\":\n return \"number\";\n\n case \"StringLiteral\":\n case \"JSXString\":\n case \"NoSubstitutionTemplate\":\n return \"string\";\n\n case \"RegularExpressionLiteral\":\n return \"regex\";\n\n case \"Punctuator\":\n case \"JSXPunctuator\":\n return \"punctuator\";\n\n case \"MultiLineComment\":\n case \"SingleLineComment\":\n return \"comment\";\n\n case \"Invalid\":\n case \"JSXInvalid\":\n return \"invalid\";\n\n case \"JSXIdentifier\":\n return \"jsxIdentifier\";\n\n default:\n return \"uncolored\";\n }\n };\n\n /**\n * Turn a string of JS into an array of objects.\n */\n tokenize = function* (text: string): Generator<Token> {\n for (const token of jsTokens(text, { jsx: true })) {\n switch (token.type) {\n case \"TemplateHead\":\n yield { type: \"string\", value: token.value.slice(0, -2) };\n yield { type: \"punctuator\", value: \"${\" };\n break;\n\n case \"TemplateMiddle\":\n yield { type: \"punctuator\", value: \"}\" };\n yield { type: \"string\", value: token.value.slice(1, -2) };\n yield { type: \"punctuator\", value: \"${\" };\n break;\n\n case \"TemplateTail\":\n yield { type: \"punctuator\", value: \"}\" };\n yield { type: \"string\", value: token.value.slice(1) };\n break;\n\n default:\n yield {\n type: getTokenType(token),\n value: token.value,\n };\n }\n }\n };\n} else {\n /**\n * RegExp to test for what seems to be a JSX tag name.\n */\n const JSX_TAG = /^[a-z][\\w-]*$/i;\n\n // The token here is defined in js-tokens@4. However we don't bother\n // typing it since the whole block will be removed in Babel 8\n const getTokenType = function (token: any, offset: number, text: string) {\n if (token.type === \"name\") {\n if (\n isKeyword(token.value) ||\n isStrictReservedWord(token.value, true) ||\n sometimesKeywords.has(token.value)\n ) {\n return \"keyword\";\n }\n\n if (\n JSX_TAG.test(token.value) &&\n (text[offset - 1] === \"<\" || text.slice(offset - 2, offset) === \"</\")\n ) {\n return \"jsxIdentifier\";\n }\n\n if (token.value[0] !== token.value[0].toLowerCase()) {\n return \"capitalized\";\n }\n }\n\n if (token.type === \"punctuator\" && BRACKET.test(token.value)) {\n return \"bracket\";\n }\n\n if (\n token.type === \"invalid\" &&\n (token.value === \"@\" || token.value === \"#\")\n ) {\n return \"punctuator\";\n }\n\n return token.type;\n };\n\n tokenize = function* (text: string) {\n let match;\n while ((match = (jsTokens as any).default.exec(text))) {\n const token = (jsTokens as any).matchToToken(match);\n\n yield {\n type: getTokenType(token, match.index, text),\n value: token.value,\n };\n }\n };\n}\n\n/**\n * Highlight `text` using the token definitions in `defs`.\n */\nfunction highlightTokens(defs: Record<string, Formatter>, text: string) {\n let highlighted = \"\";\n\n for (const { type, value } of tokenize(text)) {\n const colorize = defs[type];\n if (colorize) {\n highlighted += value\n .split(NEWLINE)\n .map(str => colorize(str))\n .join(\"\\n\");\n } else {\n highlighted += value;\n }\n }\n\n return highlighted;\n}\n\n/**\n * Highlight `text` using the token definitions in `defs`.\n */\n\ntype Options = {\n forceColor?: boolean;\n};\n\n/**\n * Whether the code should be highlighted given the passed options.\n */\nexport function shouldHighlight(options: Options): boolean {\n return colors.isColorSupported || options.forceColor;\n}\n\nlet pcWithForcedColor: Colors = undefined;\nfunction getColors(forceColor: boolean) {\n if (forceColor) {\n pcWithForcedColor ??= createColors(true);\n return pcWithForcedColor;\n }\n return colors;\n}\n\n/**\n * Highlight `code`.\n */\nexport default function highlight(code: string, options: Options = {}): string {\n if (code !== \"\" && shouldHighlight(options)) {\n const defs = getDefs(getColors(options.forceColor));\n return highlightTokens(defs, code);\n } else {\n return code;\n }\n}\n\nif (!process.env.BABEL_8_BREAKING && !USE_ESM && !IS_STANDALONE) {\n let chalk: any, chalkWithForcedColor: any;\n // eslint-disable-next-line no-restricted-globals\n exports.getChalk = ({ forceColor }: Options) => {\n // eslint-disable-next-line no-restricted-globals\n chalk ??= require(\"chalk\");\n if (forceColor) {\n chalkWithForcedColor ??= new chalk.constructor({\n enabled: true,\n level: 1,\n });\n return chalkWithForcedColor;\n }\n return chalk;\n };\n}\n", "import highlight, { shouldHighlight } from \"@babel/highlight\";\n\nimport _colors, { createColors } from \"picocolors\";\nimport type { Colors, Formatter } from \"picocolors/types\";\n// See https://github.com/alexeyraspopov/picocolors/issues/62\nconst colors =\n typeof process === \"object\" &&\n (process.env.FORCE_COLOR === \"0\" || process.env.FORCE_COLOR === \"false\")\n ? createColors(false)\n : _colors;\n\nconst compose: <T, U, V>(f: (gv: U) => V, g: (v: T) => U) => (v: T) => V =\n (f, g) => v =>\n f(g(v));\n\nlet pcWithForcedColor: Colors = undefined;\nfunction getColors(forceColor: boolean) {\n if (forceColor) {\n pcWithForcedColor ??= createColors(true);\n return pcWithForcedColor;\n }\n return colors;\n}\n\nlet deprecationWarningShown = false;\n\ntype Location = {\n column: number;\n line: number;\n};\n\ntype NodeLocation = {\n end?: Location;\n start: Location;\n};\n\nexport interface Options {\n /** Syntax highlight the code as JavaScript for terminals. default: false */\n highlightCode?: boolean;\n /** The number of lines to show above the error. default: 2 */\n linesAbove?: number;\n /** The number of lines to show below the error. default: 3 */\n linesBelow?: number;\n /**\n * Forcibly syntax highlight the code as JavaScript (for non-terminals);\n * overrides highlightCode.\n * default: false\n */\n forceColor?: boolean;\n /**\n * Pass in a string to be displayed inline (if possible) next to the\n * highlighted location in the code. If it can't be positioned inline,\n * it will be placed above the code frame.\n * default: nothing\n */\n message?: string;\n}\n\n/**\n * Styles for code frame token types.\n */\nfunction getDefs(colors: Colors) {\n return {\n gutter: colors.gray,\n marker: compose(colors.red, colors.bold),\n message: compose(colors.red, colors.bold),\n };\n}\n\n/**\n * RegExp to test for newlines in terminal.\n */\n\nconst NEWLINE = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\n\n/**\n * Extract what lines should be marked and highlighted.\n */\n\ntype MarkerLines = Record<number, true | [number, number]>;\n\nfunction getMarkerLines(\n loc: NodeLocation,\n source: Array<string>,\n opts: Options,\n): {\n start: number;\n end: number;\n markerLines: MarkerLines;\n} {\n const startLoc: Location = {\n column: 0,\n line: -1,\n ...loc.start,\n };\n const endLoc: Location = {\n ...startLoc,\n ...loc.end,\n };\n const { linesAbove = 2, linesBelow = 3 } = opts || {};\n const startLine = startLoc.line;\n const startColumn = startLoc.column;\n const endLine = endLoc.line;\n const endColumn = endLoc.column;\n\n let start = Math.max(startLine - (linesAbove + 1), 0);\n let end = Math.min(source.length, endLine + linesBelow);\n\n if (startLine === -1) {\n start = 0;\n }\n\n if (endLine === -1) {\n end = source.length;\n }\n\n const lineDiff = endLine - startLine;\n const markerLines: MarkerLines = {};\n\n if (lineDiff) {\n for (let i = 0; i <= lineDiff; i++) {\n const lineNumber = i + startLine;\n\n if (!startColumn) {\n markerLines[lineNumber] = true;\n } else if (i === 0) {\n const sourceLength = source[lineNumber - 1].length;\n\n markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];\n } else if (i === lineDiff) {\n markerLines[lineNumber] = [0, endColumn];\n } else {\n const sourceLength = source[lineNumber - i].length;\n\n markerLines[lineNumber] = [0, sourceLength];\n }\n }\n } else {\n if (startColumn === endColumn) {\n if (startColumn) {\n markerLines[startLine] = [startColumn, 0];\n } else {\n markerLines[startLine] = true;\n }\n } else {\n markerLines[startLine] = [startColumn, endColumn - startColumn];\n }\n }\n\n return { start, end, markerLines };\n}\n\nexport function codeFrameColumns(\n rawLines: string,\n loc: NodeLocation,\n opts: Options = {},\n): string {\n const highlighted =\n (opts.highlightCode || opts.forceColor) && shouldHighlight(opts);\n const colors = getColors(opts.forceColor);\n const defs = getDefs(colors);\n const maybeHighlight = (fmt: Formatter, string: string) => {\n return highlighted ? fmt(string) : string;\n };\n const lines = rawLines.split(NEWLINE);\n const { start, end, markerLines } = getMarkerLines(loc, lines, opts);\n const hasColumns = loc.start && typeof loc.start.column === \"number\";\n\n const numberMaxWidth = String(end).length;\n\n const highlightedLines = highlighted ? highlight(rawLines, opts) : rawLines;\n\n let frame = highlightedLines\n .split(NEWLINE, end)\n .slice(start, end)\n .map((line, index) => {\n const number = start + 1 + index;\n const paddedNumber = ` ${number}`.slice(-numberMaxWidth);\n const gutter = ` ${paddedNumber} |`;\n const hasMarker = markerLines[number];\n const lastMarkerLine = !markerLines[number + 1];\n if (hasMarker) {\n let markerLine = \"\";\n if (Array.isArray(hasMarker)) {\n const markerSpacing = line\n .slice(0, Math.max(hasMarker[0] - 1, 0))\n .replace(/[^\\t]/g, \" \");\n const numberOfMarkers = hasMarker[1] || 1;\n\n markerLine = [\n \"\\n \",\n maybeHighlight(defs.gutter, gutter.replace(/\\d/g, \" \")),\n \" \",\n markerSpacing,\n maybeHighlight(defs.marker, \"^\").repeat(numberOfMarkers),\n ].join(\"\");\n\n if (lastMarkerLine && opts.message) {\n markerLine += \" \" + maybeHighlight(defs.message, opts.message);\n }\n }\n return [\n maybeHighlight(defs.marker, \">\"),\n maybeHighlight(defs.gutter, gutter),\n line.length > 0 ? ` ${line}` : \"\",\n markerLine,\n ].join(\"\");\n } else {\n return ` ${maybeHighlight(defs.gutter, gutter)}${\n line.length > 0 ? ` ${line}` : \"\"\n }`;\n }\n })\n .join(\"\\n\");\n\n if (opts.message && !hasColumns) {\n frame = `${\" \".repeat(numberMaxWidth + 1)}${opts.message}\\n${frame}`;\n }\n\n if (highlighted) {\n return colors.reset(frame);\n } else {\n return frame;\n }\n}\n\n/**\n * Create a code frame, adding line numbers, code highlighting, and pointing to a given position.\n */\n\nexport default function (\n rawLines: string,\n lineNumber: number,\n colNumber?: number | null,\n opts: Options = {},\n): string {\n if (!deprecationWarningShown) {\n deprecationWarningShown = true;\n\n const message =\n \"Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.\";\n\n if (process.emitWarning) {\n // A string is directly supplied to emitWarning, because when supplying an\n // Error object node throws in the tests because of different contexts\n process.emitWarning(message, \"DeprecationWarning\");\n } else {\n const deprecationError = new Error(message);\n deprecationError.name = \"DeprecationWarning\";\n console.warn(new Error(message));\n }\n }\n\n colNumber = Math.max(colNumber, 0);\n\n const location: NodeLocation = {\n start: { column: colNumber, line: lineNumber },\n };\n\n return codeFrameColumns(rawLines, location, opts);\n}\n", "'use strict';\nconst errorEx = require('error-ex');\nconst fallback = require('json-parse-even-better-errors');\nconst {default: LinesAndColumns} = require('lines-and-columns');\nconst {codeFrameColumns} = require('@babel/code-frame');\n\nconst JSONError = errorEx('JSONError', {\n\tfileName: errorEx.append('in %s'),\n\tcodeFrame: errorEx.append('\\n\\n%s\\n')\n});\n\nconst parseJson = (string, reviver, filename) => {\n\tif (typeof reviver === 'string') {\n\t\tfilename = reviver;\n\t\treviver = null;\n\t}\n\n\ttry {\n\t\ttry {\n\t\t\treturn JSON.parse(string, reviver);\n\t\t} catch (error) {\n\t\t\tfallback(string, reviver);\n\t\t\tthrow error;\n\t\t}\n\t} catch (error) {\n\t\terror.message = error.message.replace(/\\n/g, '');\n\t\tconst indexMatch = error.message.match(/in JSON at position (\\d+) while parsing/);\n\n\t\tconst jsonError = new JSONError(error);\n\t\tif (filename) {\n\t\t\tjsonError.fileName = filename;\n\t\t}\n\n\t\tif (indexMatch && indexMatch.length > 0) {\n\t\t\tconst lines = new LinesAndColumns(string);\n\t\t\tconst index = Number(indexMatch[1]);\n\t\t\tconst location = lines.locationForIndex(index);\n\n\t\t\tconst codeFrame = codeFrameColumns(\n\t\t\t\tstring,\n\t\t\t\t{start: {line: location.line + 1, column: location.column + 1}},\n\t\t\t\t{highlightCode: true}\n\t\t\t);\n\n\t\t\tjsonError.codeFrame = codeFrame;\n\t\t}\n\n\t\tthrow jsonError;\n\t}\n};\n\nparseJson.JSONError = JSONError;\n\nmodule.exports = parseJson;\n", "exports = module.exports = SemVer\n\nvar debug\n/* istanbul ignore next */\nif (typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)) {\n debug = function () {\n var args = Array.prototype.slice.call(arguments, 0)\n args.unshift('SEMVER')\n console.log.apply(console, args)\n }\n} else {\n debug = function () {}\n}\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nexports.SEMVER_SPEC_VERSION = '2.0.0'\n\nvar MAX_LENGTH = 256\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nvar MAX_SAFE_COMPONENT_LENGTH = 16\n\nvar MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\n// The actual regexps go on exports.re\nvar re = exports.re = []\nvar safeRe = exports.safeRe = []\nvar src = exports.src = []\nvar R = 0\n\nvar LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nvar safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nfunction makeSafeRe (value) {\n for (var i = 0; i < safeRegexReplacements.length; i++) {\n var token = safeRegexReplacements[i][0]\n var max = safeRegexReplacements[i][1]\n value = value\n .split(token + '*').join(token + '{0,' + max + '}')\n .split(token + '+').join(token + '{1,' + max + '}')\n }\n return value\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\nvar NUMERICIDENTIFIER = R++\nsrc[NUMERICIDENTIFIER] = '0|[1-9]\\\\d*'\nvar NUMERICIDENTIFIERLOOSE = R++\nsrc[NUMERICIDENTIFIERLOOSE] = '\\\\d+'\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\nvar NONNUMERICIDENTIFIER = R++\nsrc[NONNUMERICIDENTIFIER] = '\\\\d*[a-zA-Z-]' + LETTERDASHNUMBER + '*'\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\nvar MAINVERSION = R++\nsrc[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')'\n\nvar MAINVERSIONLOOSE = R++\nsrc[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')'\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\nvar PRERELEASEIDENTIFIER = R++\nsrc[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +\n '|' + src[NONNUMERICIDENTIFIER] + ')'\n\nvar PRERELEASEIDENTIFIERLOOSE = R++\nsrc[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +\n '|' + src[NONNUMERICIDENTIFIER] + ')'\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\nvar PRERELEASE = R++\nsrc[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIER] + ')*))'\n\nvar PRERELEASELOOSE = R++\nsrc[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\nvar BUILDIDENTIFIER = R++\nsrc[BUILDIDENTIFIER] = LETTERDASHNUMBER + '+'\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\nvar BUILD = R++\nsrc[BUILD] = '(?:\\\\+(' + src[BUILDIDENTIFIER] +\n '(?:\\\\.' + src[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\nvar FULL = R++\nvar FULLPLAIN = 'v?' + src[MAINVERSION] +\n src[PRERELEASE] + '?' +\n src[BUILD] + '?'\n\nsrc[FULL] = '^' + 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.\nvar LOOSEPLAIN = '[v=\\\\s]*' + src[MAINVERSIONLOOSE] +\n src[PRERELEASELOOSE] + '?' +\n src[BUILD] + '?'\n\nvar LOOSE = R++\nsrc[LOOSE] = '^' + LOOSEPLAIN + '$'\n\nvar GTLT = R++\nsrc[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.\nvar XRANGEIDENTIFIERLOOSE = R++\nsrc[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\\\*'\nvar XRANGEIDENTIFIER = R++\nsrc[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\\\*'\n\nvar XRANGEPLAIN = R++\nsrc[XRANGEPLAIN] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:' + src[PRERELEASE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGEPLAINLOOSE = R++\nsrc[XRANGEPLAINLOOSE] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:' + src[PRERELEASELOOSE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGE = R++\nsrc[XRANGE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAIN] + '$'\nvar XRANGELOOSE = R++\nsrc[XRANGELOOSE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAINLOOSE] + '$'\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\nvar COERCE = R++\nsrc[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])'\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\nvar LONETILDE = R++\nsrc[LONETILDE] = '(?:~>?)'\n\nvar TILDETRIM = R++\nsrc[TILDETRIM] = '(\\\\s*)' + src[LONETILDE] + '\\\\s+'\nre[TILDETRIM] = new RegExp(src[TILDETRIM], 'g')\nsafeRe[TILDETRIM] = new RegExp(makeSafeRe(src[TILDETRIM]), 'g')\nvar tildeTrimReplace = '$1~'\n\nvar TILDE = R++\nsrc[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'\nvar TILDELOOSE = R++\nsrc[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\nvar LONECARET = R++\nsrc[LONECARET] = '(?:\\\\^)'\n\nvar CARETTRIM = R++\nsrc[CARETTRIM] = '(\\\\s*)' + src[LONECARET] + '\\\\s+'\nre[CARETTRIM] = new RegExp(src[CARETTRIM], 'g')\nsafeRe[CARETTRIM] = new RegExp(makeSafeRe(src[CARETTRIM]), 'g')\nvar caretTrimReplace = '$1^'\n\nvar CARET = R++\nsrc[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'\nvar CARETLOOSE = R++\nsrc[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\nvar COMPARATORLOOSE = R++\nsrc[COMPARATORLOOSE] = '^' + src[GTLT] + '\\\\s*(' + LOOSEPLAIN + ')$|^$'\nvar COMPARATOR = R++\nsrc[COMPARATOR] = '^' + src[GTLT] + '\\\\s*(' + 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`\nvar COMPARATORTRIM = R++\nsrc[COMPARATORTRIM] = '(\\\\s*)' + src[GTLT] +\n '\\\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'\n\n// this one has to use the /g flag\nre[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g')\nsafeRe[COMPARATORTRIM] = new RegExp(makeSafeRe(src[COMPARATORTRIM]), 'g')\nvar 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.\nvar HYPHENRANGE = R++\nsrc[HYPHENRANGE] = '^\\\\s*(' + src[XRANGEPLAIN] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAIN] + ')' +\n '\\\\s*$'\n\nvar HYPHENRANGELOOSE = R++\nsrc[HYPHENRANGELOOSE] = '^\\\\s*(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s*$'\n\n// Star ranges basically just allow anything at all.\nvar STAR = R++\nsrc[STAR] = '(<|>)?=?\\\\s*\\\\*'\n\n// Compile to actual regexp objects.\n// All are flag-free, unless they were created above with a flag.\nfor (var i = 0; i < R; i++) {\n debug(i, src[i])\n if (!re[i]) {\n re[i] = new RegExp(src[i])\n\n // Replace all greedy whitespace to prevent regex dos issues. These regex are\n // used internally via the safeRe object since all inputs in this library get\n // normalized first to trim and collapse all extra whitespace. The original\n // regexes are exported for userland consumption and lower level usage. A\n // future breaking change could export the safer regex only with a note that\n // all input should have extra whitespace removed.\n safeRe[i] = new RegExp(makeSafeRe(src[i]))\n }\n}\n\nexports.parse = parse\nfunction parse (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\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 var r = options.loose ? safeRe[LOOSE] : safeRe[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\nexports.valid = valid\nfunction valid (version, options) {\n var v = parse(version, options)\n return v ? v.version : null\n}\n\nexports.clean = clean\nfunction clean (version, options) {\n var s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\n\nexports.SemVer = SemVer\n\nfunction SemVer (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n if (version instanceof SemVer) {\n if (version.loose === options.loose) {\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('version is longer than ' + MAX_LENGTH + ' characters')\n }\n\n if (!(this instanceof SemVer)) {\n return new SemVer(version, options)\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n\n var m = version.trim().match(options.loose ? safeRe[LOOSE] : safeRe[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(function (id) {\n if (/^[0-9]+$/.test(id)) {\n var 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\nSemVer.prototype.format = function () {\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\nSemVer.prototype.toString = function () {\n return this.version\n}\n\nSemVer.prototype.compare = function (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return this.compareMain(other) || this.comparePre(other)\n}\n\nSemVer.prototype.compareMain = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n}\n\nSemVer.prototype.comparePre = function (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 var i = 0\n do {\n var a = this.prerelease[i]\n var 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// 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.\nSemVer.prototype.inc = function (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 (this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0) {\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 var 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\nexports.inc = inc\nfunction inc (version, release, loose, identifier) {\n if (typeof (loose) === 'string') {\n identifier = loose\n loose = undefined\n }\n\n try {\n return new SemVer(version, loose).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\n\nexports.diff = diff\nfunction diff (version1, version2) {\n if (eq(version1, version2)) {\n return null\n } else {\n var v1 = parse(version1)\n var v2 = parse(version2)\n var prefix = ''\n if (v1.prerelease.length || v2.prerelease.length) {\n prefix = 'pre'\n var defaultResult = 'prerelease'\n }\n for (var 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}\n\nexports.compareIdentifiers = compareIdentifiers\n\nvar numeric = /^[0-9]+$/\nfunction compareIdentifiers (a, b) {\n var anum = numeric.test(a)\n var 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\nexports.rcompareIdentifiers = rcompareIdentifiers\nfunction rcompareIdentifiers (a, b) {\n return compareIdentifiers(b, a)\n}\n\nexports.major = major\nfunction major (a, loose) {\n return new SemVer(a, loose).major\n}\n\nexports.minor = minor\nfunction minor (a, loose) {\n return new SemVer(a, loose).minor\n}\n\nexports.patch = patch\nfunction patch (a, loose) {\n return new SemVer(a, loose).patch\n}\n\nexports.compare = compare\nfunction compare (a, b, loose) {\n return new SemVer(a, loose).compare(new SemVer(b, loose))\n}\n\nexports.compareLoose = compareLoose\nfunction compareLoose (a, b) {\n return compare(a, b, true)\n}\n\nexports.rcompare = rcompare\nfunction rcompare (a, b, loose) {\n return compare(b, a, loose)\n}\n\nexports.sort = sort\nfunction sort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compare(a, b, loose)\n })\n}\n\nexports.rsort = rsort\nfunction rsort (list, loose) {\n return list.sort(function (a, b) {\n return exports.rcompare(a, b, loose)\n })\n}\n\nexports.gt = gt\nfunction gt (a, b, loose) {\n return compare(a, b, loose) > 0\n}\n\nexports.lt = lt\nfunction lt (a, b, loose) {\n return compare(a, b, loose) < 0\n}\n\nexports.eq = eq\nfunction eq (a, b, loose) {\n return compare(a, b, loose) === 0\n}\n\nexports.neq = neq\nfunction neq (a, b, loose) {\n return compare(a, b, loose) !== 0\n}\n\nexports.gte = gte\nfunction gte (a, b, loose) {\n return compare(a, b, loose) >= 0\n}\n\nexports.lte = lte\nfunction lte (a, b, loose) {\n return compare(a, b, loose) <= 0\n}\n\nexports.cmp = cmp\nfunction 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}\n\nexports.Comparator = Comparator\nfunction Comparator (comp, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\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 if (!(this instanceof Comparator)) {\n return new Comparator(comp, options)\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\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\nvar ANY = {}\nComparator.prototype.parse = function (comp) {\n var r = this.options.loose ? safeRe[COMPARATORLOOSE] : safeRe[COMPARATOR]\n var m = comp.match(r)\n\n if (!m) {\n throw new TypeError('Invalid comparator: ' + comp)\n }\n\n this.operator = 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\nComparator.prototype.toString = function () {\n return this.value\n}\n\nComparator.prototype.test = function (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n}\n\nComparator.prototype.intersects = function (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 var rangeTmp\n\n if (this.operator === '') {\n rangeTmp = new Range(comp.value, options)\n return satisfies(this.value, rangeTmp, options)\n } else if (comp.operator === '') {\n rangeTmp = new Range(this.value, options)\n return satisfies(comp.semver, rangeTmp, options)\n }\n\n var sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n var sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n var sameSemVer = this.semver.version === comp.semver.version\n var differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n var oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n ((this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<'))\n var oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n ((this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>'))\n\n return sameDirectionIncreasing || sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan || oppositeDirectionsGreaterThan\n}\n\nexports.Range = Range\nfunction Range (range, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (range instanceof Range) {\n if (range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n return new Range(range.value, options)\n }\n\n if (!(this instanceof Range)) {\n return new Range(range, options)\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range\n .trim()\n .split(/\\s+/)\n .join(' ')\n\n // First, split based on boolean or ||\n this.set = this.raw.split('||').map(function (range) {\n return this.parseRange(range.trim())\n }, this).filter(function (c) {\n // throw out any that are not relevant for whatever reason\n return c.length\n })\n\n if (!this.set.length) {\n throw new TypeError('Invalid SemVer Range: ' + this.raw)\n }\n\n this.format()\n}\n\nRange.prototype.format = function () {\n this.range = this.set.map(function (comps) {\n return comps.join(' ').trim()\n }).join('||').trim()\n return this.range\n}\n\nRange.prototype.toString = function () {\n return this.range\n}\n\nRange.prototype.parseRange = function (range) {\n var loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n var hr = loose ? safeRe[HYPHENRANGELOOSE] : safeRe[HYPHENRANGE]\n range = range.replace(hr, hyphenReplace)\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(safeRe[COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, safeRe[COMPARATORTRIM])\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(safeRe[TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(safeRe[CARETTRIM], caretTrimReplace)\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n var compRe = loose ? safeRe[COMPARATORLOOSE] : safeRe[COMPARATOR]\n var set = range.split(' ').map(function (comp) {\n return parseComparator(comp, this.options)\n }, this).join(' ').split(/\\s+/)\n if (this.options.loose) {\n // in loose mode, throw out any that are not valid comparators\n set = set.filter(function (comp) {\n return !!comp.match(compRe)\n })\n }\n set = set.map(function (comp) {\n return new Comparator(comp, this.options)\n }, this)\n\n return set\n}\n\nRange.prototype.intersects = function (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some(function (thisComparators) {\n return thisComparators.every(function (thisComparator) {\n return range.set.some(function (rangeComparators) {\n return rangeComparators.every(function (rangeComparator) {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n })\n })\n}\n\n// Mostly just for testing and legacy API reasons\nexports.toComparators = toComparators\nfunction toComparators (range, options) {\n return new Range(range, options).set.map(function (comp) {\n return comp.map(function (c) {\n return c.value\n }).join(' ').trim().split(' ')\n })\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.\nfunction 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\nfunction isX (id) {\n return !id || id.toLowerCase() === 'x' || id === '*'\n}\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0\nfunction replaceTildes (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceTilde(comp, options)\n }).join(' ')\n}\n\nfunction replaceTilde (comp, options) {\n var r = options.loose ? safeRe[TILDELOOSE] : safeRe[TILDE]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.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\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0\n// ^1.2.3 --> >=1.2.3 <2.0.0\n// ^1.2.0 --> >=1.2.0 <2.0.0\nfunction replaceCarets (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceCaret(comp, options)\n }).join(' ')\n}\n\nfunction replaceCaret (comp, options) {\n debug('caret', comp, options)\n var r = options.loose ? safeRe[CARETLOOSE] : safeRe[CARET]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n if (M === '0') {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else {\n ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.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)\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + (+M + 1) + '.0.0'\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + (+M + 1) + '.0.0'\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nfunction replaceXRanges (comp, options) {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map(function (comp) {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nfunction replaceXRange (comp, options) {\n comp = comp.trim()\n var r = options.loose ? safeRe[XRANGELOOSE] : safeRe[XRANGE]\n return comp.replace(r, function (ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n var xM = isX(M)\n var xm = xM || isX(m)\n var xp = xm || isX(p)\n var anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<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 // >1.2.3 => >= 1.2.4\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 ret = gtlt + M + '.' + m + '.' + p\n } else if (xm) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (xp) {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.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.\nfunction 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(safeRe[STAR], '')\n}\n\n// This function is passed to string.replace(safeRe[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 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0\nfunction hyphenReplace ($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'\n } else if (isX(fp)) {\n from = '>=' + fM + '.' + fm + '.0'\n } else {\n from = '>=' + from\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = '<' + (+tM + 1) + '.0.0'\n } else if (isX(tp)) {\n to = '<' + tM + '.' + (+tm + 1) + '.0'\n } else if (tpr) {\n to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr\n } else {\n to = '<=' + to\n }\n\n return (from + ' ' + to).trim()\n}\n\n// if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n for (var 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\nfunction testSet (set, version, options) {\n for (var 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 (i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n var 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\nexports.satisfies = satisfies\nfunction 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}\n\nexports.maxSatisfying = maxSatisfying\nfunction maxSatisfying (versions, range, options) {\n var max = null\n var maxSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (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}\n\nexports.minSatisfying = minSatisfying\nfunction minSatisfying (versions, range, options) {\n var min = null\n var minSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (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}\n\nexports.minVersion = minVersion\nfunction minVersion (range, loose) {\n range = new Range(range, loose)\n\n var 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 (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n comparators.forEach(function (comparator) {\n // Clone to avoid manipulating the comparator's semver object.\n var 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 (!minver || gt(minver, compver)) {\n minver = 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 }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\n\nexports.validRange = validRange\nfunction 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}\n\n// Determine if version is less than all the versions possible in the range\nexports.ltr = ltr\nfunction ltr (version, range, options) {\n return outside(version, range, '<', options)\n}\n\n// Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr\nfunction gtr (version, range, options) {\n return outside(version, range, '>', options)\n}\n\nexports.outside = outside\nfunction outside (version, range, hilo, options) {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n var 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 satisifes 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 (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n var high = null\n var low = null\n\n comparators.forEach(function (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\nexports.prerelease = prerelease\nfunction prerelease (version, options) {\n var parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\n\nexports.intersects = intersects\nfunction intersects (r1, r2, options) {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\n\nexports.coerce = coerce\nfunction coerce (version) {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n var match = version.match(safeRe[COERCE])\n\n if (match == null) {\n return null\n }\n\n return parse(match[1] +\n '.' + (match[2] || '0') +\n '.' + (match[3] || '0'))\n}\n", "[\n\t\"0BSD\",\n\t\"3D-Slicer-1.0\",\n\t\"AAL\",\n\t\"ADSL\",\n\t\"AFL-1.1\",\n\t\"AFL-1.2\",\n\t\"AFL-2.0\",\n\t\"AFL-2.1\",\n\t\"AFL-3.0\",\n\t\"AGPL-1.0-only\",\n\t\"AGPL-1.0-or-later\",\n\t\"AGPL-3.0-only\",\n\t\"AGPL-3.0-or-later\",\n\t\"AMD-newlib\",\n\t\"AMDPLPA\",\n\t\"AML\",\n\t\"AML-glslang\",\n\t\"AMPAS\",\n\t\"ANTLR-PD\",\n\t\"ANTLR-PD-fallback\",\n\t\"APAFML\",\n\t\"APL-1.0\",\n\t\"APSL-1.0\",\n\t\"APSL-1.1\",\n\t\"APSL-1.2\",\n\t\"APSL-2.0\",\n\t\"ASWF-Digital-Assets-1.0\",\n\t\"ASWF-Digital-Assets-1.1\",\n\t\"Abstyles\",\n\t\"AdaCore-doc\",\n\t\"Adobe-2006\",\n\t\"Adobe-Display-PostScript\",\n\t\"Adobe-Glyph\",\n\t\"Adobe-Utopia\",\n\t\"Afmparse\",\n\t\"Aladdin\",\n\t\"Apache-1.0\",\n\t\"Apache-1.1\",\n\t\"Apache-2.0\",\n\t\"App-s2p\",\n\t\"Arphic-1999\",\n\t\"Artistic-1.0\",\n\t\"Artistic-1.0-Perl\",\n\t\"Artistic-1.0-cl8\",\n\t\"Artistic-2.0\",\n\t\"BSD-1-Clause\",\n\t\"BSD-2-Clause\",\n\t\"BSD-2-Clause-Darwin\",\n\t\"BSD-2-Clause-Patent\",\n\t\"BSD-2-Clause-Views\",\n\t\"BSD-2-Clause-first-lines\",\n\t\"BSD-3-Clause\",\n\t\"BSD-3-Clause-Attribution\",\n\t\"BSD-3-Clause-Clear\",\n\t\"BSD-3-Clause-HP\",\n\t\"BSD-3-Clause-LBNL\",\n\t\"BSD-3-Clause-Modification\",\n\t\"BSD-3-Clause-No-Military-License\",\n\t\"BSD-3-Clause-No-Nuclear-License\",\n\t\"BSD-3-Clause-No-Nuclear-License-2014\",\n\t\"BSD-3-Clause-No-Nuclear-Warranty\",\n\t\"BSD-3-Clause-Open-MPI\",\n\t\"BSD-3-Clause-Sun\",\n\t\"BSD-3-Clause-acpica\",\n\t\"BSD-3-Clause-flex\",\n\t\"BSD-4-Clause\",\n\t\"BSD-4-Clause-Shortened\",\n\t\"BSD-4-Clause-UC\",\n\t\"BSD-4.3RENO\",\n\t\"BSD-4.3TAHOE\",\n\t\"BSD-Advertising-Acknowledgement\",\n\t\"BSD-Attribution-HPND-disclaimer\",\n\t\"BSD-Inferno-Nettverk\",\n\t\"BSD-Protection\",\n\t\"BSD-Source-Code\",\n\t\"BSD-Source-beginning-file\",\n\t\"BSD-Systemics\",\n\t\"BSD-Systemics-W3Works\",\n\t\"BSL-1.0\",\n\t\"BUSL-1.1\",\n\t\"Baekmuk\",\n\t\"Bahyph\",\n\t\"Barr\",\n\t\"Beerware\",\n\t\"BitTorrent-1.0\",\n\t\"BitTorrent-1.1\",\n\t\"Bitstream-Charter\",\n\t\"Bitstream-Vera\",\n\t\"BlueOak-1.0.0\",\n\t\"Boehm-GC\",\n\t\"Borceux\",\n\t\"Brian-Gladman-2-Clause\",\n\t\"Brian-Gladman-3-Clause\",\n\t\"C-UDA-1.0\",\n\t\"CAL-1.0\",\n\t\"CAL-1.0-Combined-Work-Exception\",\n\t\"CATOSL-1.1\",\n\t\"CC-BY-1.0\",\n\t\"CC-BY-2.0\",\n\t\"CC-BY-2.5\",\n\t\"CC-BY-2.5-AU\",\n\t\"CC-BY-3.0\",\n\t\"CC-BY-3.0-AT\",\n\t\"CC-BY-3.0-AU\",\n\t\"CC-BY-3.0-DE\",\n\t\"CC-BY-3.0-IGO\",\n\t\"CC-BY-3.0-NL\",\n\t\"CC-BY-3.0-US\",\n\t\"CC-BY-4.0\",\n\t\"CC-BY-NC-1.0\",\n\t\"CC-BY-NC-2.0\",\n\t\"CC-BY-NC-2.5\",\n\t\"CC-BY-NC-3.0\",\n\t\"CC-BY-NC-3.0-DE\",\n\t\"CC-BY-NC-4.0\",\n\t\"CC-BY-NC-ND-1.0\",\n\t\"CC-BY-NC-ND-2.0\",\n\t\"CC-BY-NC-ND-2.5\",\n\t\"CC-BY-NC-ND-3.0\",\n\t\"CC-BY-NC-ND-3.0-DE\",\n\t\"CC-BY-NC-ND-3.0-IGO\",\n\t\"CC-BY-NC-ND-4.0\",\n\t\"CC-BY-NC-SA-1.0\",\n\t\"CC-BY-NC-SA-2.0\",\n\t\"CC-BY-NC-SA-2.0-DE\",\n\t\"CC-BY-NC-SA-2.0-FR\",\n\t\"CC-BY-NC-SA-2.0-UK\",\n\t\"CC-BY-NC-SA-2.5\",\n\t\"CC-BY-NC-SA-3.0\",\n\t\"CC-BY-NC-SA-3.0-DE\",\n\t\"CC-BY-NC-SA-3.0-IGO\",\n\t\"CC-BY-NC-SA-4.0\",\n\t\"CC-BY-ND-1.0\",\n\t\"CC-BY-ND-2.0\",\n\t\"CC-BY-ND-2.5\",\n\t\"CC-BY-ND-3.0\",\n\t\"CC-BY-ND-3.0-DE\",\n\t\"CC-BY-ND-4.0\",\n\t\"CC-BY-SA-1.0\",\n\t\"CC-BY-SA-2.0\",\n\t\"CC-BY-SA-2.0-UK\",\n\t\"CC-BY-SA-2.1-JP\",\n\t\"CC-BY-SA-2.5\",\n\t\"CC-BY-SA-3.0\",\n\t\"CC-BY-SA-3.0-AT\",\n\t\"CC-BY-SA-3.0-DE\",\n\t\"CC-BY-SA-3.0-IGO\",\n\t\"CC-BY-SA-4.0\",\n\t\"CC-PDDC\",\n\t\"CC0-1.0\",\n\t\"CDDL-1.0\",\n\t\"CDDL-1.1\",\n\t\"CDL-1.0\",\n\t\"CDLA-Permissive-1.0\",\n\t\"CDLA-Permissive-2.0\",\n\t\"CDLA-Sharing-1.0\",\n\t\"CECILL-1.0\",\n\t\"CECILL-1.1\",\n\t\"CECILL-2.0\",\n\t\"CECILL-2.1\",\n\t\"CECILL-B\",\n\t\"CECILL-C\",\n\t\"CERN-OHL-1.1\",\n\t\"CERN-OHL-1.2\",\n\t\"CERN-OHL-P-2.0\",\n\t\"CERN-OHL-S-2.0\",\n\t\"CERN-OHL-W-2.0\",\n\t\"CFITSIO\",\n\t\"CMU-Mach\",\n\t\"CMU-Mach-nodoc\",\n\t\"CNRI-Jython\",\n\t\"CNRI-Python\",\n\t\"CNRI-Python-GPL-Compatible\",\n\t\"COIL-1.0\",\n\t\"CPAL-1.0\",\n\t\"CPL-1.0\",\n\t\"CPOL-1.02\",\n\t\"CUA-OPL-1.0\",\n\t\"Caldera\",\n\t\"Caldera-no-preamble\",\n\t\"Catharon\",\n\t\"ClArtistic\",\n\t\"Clips\",\n\t\"Community-Spec-1.0\",\n\t\"Condor-1.1\",\n\t\"Cornell-Lossless-JPEG\",\n\t\"Cronyx\",\n\t\"Crossword\",\n\t\"CrystalStacker\",\n\t\"Cube\",\n\t\"D-FSL-1.0\",\n\t\"DEC-3-Clause\",\n\t\"DL-DE-BY-2.0\",\n\t\"DL-DE-ZERO-2.0\",\n\t\"DOC\",\n\t\"DRL-1.0\",\n\t\"DRL-1.1\",\n\t\"DSDP\",\n\t\"DocBook-Schema\",\n\t\"DocBook-XML\",\n\t\"Dotseqn\",\n\t\"ECL-1.0\",\n\t\"ECL-2.0\",\n\t\"EFL-1.0\",\n\t\"EFL-2.0\",\n\t\"EPICS\",\n\t\"EPL-1.0\",\n\t\"EPL-2.0\",\n\t\"EUDatagrid\",\n\t\"EUPL-1.0\",\n\t\"EUPL-1.1\",\n\t\"EUPL-1.2\",\n\t\"Elastic-2.0\",\n\t\"Entessa\",\n\t\"ErlPL-1.1\",\n\t\"Eurosym\",\n\t\"FBM\",\n\t\"FDK-AAC\",\n\t\"FSFAP\",\n\t\"FSFAP-no-warranty-disclaimer\",\n\t\"FSFUL\",\n\t\"FSFULLR\",\n\t\"FSFULLRWD\",\n\t\"FTL\",\n\t\"Fair\",\n\t\"Ferguson-Twofish\",\n\t\"Frameworx-1.0\",\n\t\"FreeBSD-DOC\",\n\t\"FreeImage\",\n\t\"Furuseth\",\n\t\"GCR-docs\",\n\t\"GD\",\n\t\"GFDL-1.1-invariants-only\",\n\t\"GFDL-1.1-invariants-or-later\",\n\t\"GFDL-1.1-no-invariants-only\",\n\t\"GFDL-1.1-no-invariants-or-later\",\n\t\"GFDL-1.1-only\",\n\t\"GFDL-1.1-or-later\",\n\t\"GFDL-1.2-invariants-only\",\n\t\"GFDL-1.2-invariants-or-later\",\n\t\"GFDL-1.2-no-invariants-only\",\n\t\"GFDL-1.2-no-invariants-or-later\",\n\t\"GFDL-1.2-only\",\n\t\"GFDL-1.2-or-later\",\n\t\"GFDL-1.3-invariants-only\",\n\t\"GFDL-1.3-invariants-or-later\",\n\t\"GFDL-1.3-no-invariants-only\",\n\t\"GFDL-1.3-no-invariants-or-later\",\n\t\"GFDL-1.3-only\",\n\t\"GFDL-1.3-or-later\",\n\t\"GL2PS\",\n\t\"GLWTPL\",\n\t\"GPL-1.0-only\",\n\t\"GPL-1.0-or-later\",\n\t\"GPL-2.0-only\",\n\t\"GPL-2.0-or-later\",\n\t\"GPL-3.0-only\",\n\t\"GPL-3.0-or-later\",\n\t\"Giftware\",\n\t\"Glide\",\n\t\"Glulxe\",\n\t\"Graphics-Gems\",\n\t\"Gutmann\",\n\t\"HIDAPI\",\n\t\"HP-1986\",\n\t\"HP-1989\",\n\t\"HPND\",\n\t\"HPND-DEC\",\n\t\"HPND-Fenneberg-Livingston\",\n\t\"HPND-INRIA-IMAG\",\n\t\"HPND-Intel\",\n\t\"HPND-Kevlin-Henney\",\n\t\"HPND-MIT-disclaimer\",\n\t\"HPND-Markus-Kuhn\",\n\t\"HPND-Netrek\",\n\t\"HPND-Pbmplus\",\n\t\"HPND-UC\",\n\t\"HPND-UC-export-US\",\n\t\"HPND-doc\",\n\t\"HPND-doc-sell\",\n\t\"HPND-export-US\",\n\t\"HPND-export-US-acknowledgement\",\n\t\"HPND-export-US-modify\",\n\t\"HPND-export2-US\",\n\t\"HPND-merchantability-variant\",\n\t\"HPND-sell-MIT-disclaimer-xserver\",\n\t\"HPND-sell-regexpr\",\n\t\"HPND-sell-variant\",\n\t\"HPND-sell-variant-MIT-disclaimer\",\n\t\"HPND-sell-variant-MIT-disclaimer-rev\",\n\t\"HTMLTIDY\",\n\t\"HaskellReport\",\n\t\"Hippocratic-2.1\",\n\t\"IBM-pibs\",\n\t\"ICU\",\n\t\"IEC-Code-Components-EULA\",\n\t\"IJG\",\n\t\"IJG-short\",\n\t\"IPA\",\n\t\"IPL-1.0\",\n\t\"ISC\",\n\t\"ISC-Veillard\",\n\t\"ImageMagick\",\n\t\"Imlib2\",\n\t\"Info-ZIP\",\n\t\"Inner-Net-2.0\",\n\t\"Intel\",\n\t\"Intel-ACPI\",\n\t\"Interbase-1.0\",\n\t\"JPL-image\",\n\t\"JPNIC\",\n\t\"JSON\",\n\t\"Jam\",\n\t\"JasPer-2.0\",\n\t\"Kastrup\",\n\t\"Kazlib\",\n\t\"Knuth-CTAN\",\n\t\"LAL-1.2\",\n\t\"LAL-1.3\",\n\t\"LGPL-2.0-only\",\n\t\"LGPL-2.0-or-later\",\n\t\"LGPL-2.1-only\",\n\t\"LGPL-2.1-or-later\",\n\t\"LGPL-3.0-only\",\n\t\"LGPL-3.0-or-later\",\n\t\"LGPLLR\",\n\t\"LOOP\",\n\t\"LPD-document\",\n\t\"LPL-1.0\",\n\t\"LPL-1.02\",\n\t\"LPPL-1.0\",\n\t\"LPPL-1.1\",\n\t\"LPPL-1.2\",\n\t\"LPPL-1.3a\",\n\t\"LPPL-1.3c\",\n\t\"LZMA-SDK-9.11-to-9.20\",\n\t\"LZMA-SDK-9.22\",\n\t\"Latex2e\",\n\t\"Latex2e-translated-notice\",\n\t\"Leptonica\",\n\t\"LiLiQ-P-1.1\",\n\t\"LiLiQ-R-1.1\",\n\t\"LiLiQ-Rplus-1.1\",\n\t\"Libpng\",\n\t\"Linux-OpenIB\",\n\t\"Linux-man-pages-1-para\",\n\t\"Linux-man-pages-copyleft\",\n\t\"Linux-man-pages-copyleft-2-para\",\n\t\"Linux-man-pages-copyleft-var\",\n\t\"Lucida-Bitmap-Fonts\",\n\t\"MIT\",\n\t\"MIT-0\",\n\t\"MIT-CMU\",\n\t\"MIT-Festival\",\n\t\"MIT-Khronos-old\",\n\t\"MIT-Modern-Variant\",\n\t\"MIT-Wu\",\n\t\"MIT-advertising\",\n\t\"MIT-enna\",\n\t\"MIT-feh\",\n\t\"MIT-open-group\",\n\t\"MIT-testregex\",\n\t\"MITNFA\",\n\t\"MMIXware\",\n\t\"MPEG-SSG\",\n\t\"MPL-1.0\",\n\t\"MPL-1.1\",\n\t\"MPL-2.0\",\n\t\"MPL-2.0-no-copyleft-exception\",\n\t\"MS-LPL\",\n\t\"MS-PL\",\n\t\"MS-RL\",\n\t\"MTLL\",\n\t\"Mackerras-3-Clause\",\n\t\"Mackerras-3-Clause-acknowledgment\",\n\t\"MakeIndex\",\n\t\"Martin-Birgmeier\",\n\t\"McPhee-slideshow\",\n\t\"Minpack\",\n\t\"MirOS\",\n\t\"Motosoto\",\n\t\"MulanPSL-1.0\",\n\t\"MulanPSL-2.0\",\n\t\"Multics\",\n\t\"Mup\",\n\t\"NAIST-2003\",\n\t\"NASA-1.3\",\n\t\"NBPL-1.0\",\n\t\"NCBI-PD\",\n\t\"NCGL-UK-2.0\",\n\t\"NCL\",\n\t\"NCSA\",\n\t\"NGPL\",\n\t\"NICTA-1.0\",\n\t\"NIST-PD\",\n\t\"NIST-PD-fallback\",\n\t\"NIST-Software\",\n\t\"NLOD-1.0\",\n\t\"NLOD-2.0\",\n\t\"NLPL\",\n\t\"NOSL\",\n\t\"NPL-1.0\",\n\t\"NPL-1.1\",\n\t\"NPOSL-3.0\",\n\t\"NRL\",\n\t\"NTP\",\n\t\"NTP-0\",\n\t\"Naumen\",\n\t\"NetCDF\",\n\t\"Newsletr\",\n\t\"Nokia\",\n\t\"Noweb\",\n\t\"O-UDA-1.0\",\n\t\"OAR\",\n\t\"OCCT-PL\",\n\t\"OCLC-2.0\",\n\t\"ODC-By-1.0\",\n\t\"ODbL-1.0\",\n\t\"OFFIS\",\n\t\"OFL-1.0\",\n\t\"OFL-1.0-RFN\",\n\t\"OFL-1.0-no-RFN\",\n\t\"OFL-1.1\",\n\t\"OFL-1.1-RFN\",\n\t\"OFL-1.1-no-RFN\",\n\t\"OGC-1.0\",\n\t\"OGDL-Taiwan-1.0\",\n\t\"OGL-Canada-2.0\",\n\t\"OGL-UK-1.0\",\n\t\"OGL-UK-2.0\",\n\t\"OGL-UK-3.0\",\n\t\"OGTSL\",\n\t\"OLDAP-1.1\",\n\t\"OLDAP-1.2\",\n\t\"OLDAP-1.3\",\n\t\"OLDAP-1.4\",\n\t\"OLDAP-2.0\",\n\t\"OLDAP-2.0.1\",\n\t\"OLDAP-2.1\",\n\t\"OLDAP-2.2\",\n\t\"OLDAP-2.2.1\",\n\t\"OLDAP-2.2.2\",\n\t\"OLDAP-2.3\",\n\t\"OLDAP-2.4\",\n\t\"OLDAP-2.5\",\n\t\"OLDAP-2.6\",\n\t\"OLDAP-2.7\",\n\t\"OLDAP-2.8\",\n\t\"OLFL-1.3\",\n\t\"OML\",\n\t\"OPL-1.0\",\n\t\"OPL-UK-3.0\",\n\t\"OPUBL-1.0\",\n\t\"OSET-PL-2.1\",\n\t\"OSL-1.0\",\n\t\"OSL-1.1\",\n\t\"OSL-2.0\",\n\t\"OSL-2.1\",\n\t\"OSL-3.0\",\n\t\"OpenPBS-2.3\",\n\t\"OpenSSL\",\n\t\"OpenSSL-standalone\",\n\t\"OpenVision\",\n\t\"PADL\",\n\t\"PDDL-1.0\",\n\t\"PHP-3.0\",\n\t\"PHP-3.01\",\n\t\"PPL\",\n\t\"PSF-2.0\",\n\t\"Parity-6.0.0\",\n\t\"Parity-7.0.0\",\n\t\"Pixar\",\n\t\"Plexus\",\n\t\"PolyForm-Noncommercial-1.0.0\",\n\t\"PolyForm-Small-Business-1.0.0\",\n\t\"PostgreSQL\",\n\t\"Python-2.0\",\n\t\"Python-2.0.1\",\n\t\"QPL-1.0\",\n\t\"QPL-1.0-INRIA-2004\",\n\t\"Qhull\",\n\t\"RHeCos-1.1\",\n\t\"RPL-1.1\",\n\t\"RPL-1.5\",\n\t\"RPSL-1.0\",\n\t\"RSA-MD\",\n\t\"RSCPL\",\n\t\"Rdisc\",\n\t\"Ruby\",\n\t\"Ruby-pty\",\n\t\"SAX-PD\",\n\t\"SAX-PD-2.0\",\n\t\"SCEA\",\n\t\"SGI-B-1.0\",\n\t\"SGI-B-1.1\",\n\t\"SGI-B-2.0\",\n\t\"SGI-OpenGL\",\n\t\"SGP4\",\n\t\"SHL-0.5\",\n\t\"SHL-0.51\",\n\t\"SISSL\",\n\t\"SISSL-1.2\",\n\t\"SL\",\n\t\"SMLNJ\",\n\t\"SMPPL\",\n\t\"SNIA\",\n\t\"SPL-1.0\",\n\t\"SSH-OpenSSH\",\n\t\"SSH-short\",\n\t\"SSLeay-standalone\",\n\t\"SSPL-1.0\",\n\t\"SWL\",\n\t\"Saxpath\",\n\t\"SchemeReport\",\n\t\"Sendmail\",\n\t\"Sendmail-8.23\",\n\t\"SimPL-2.0\",\n\t\"Sleepycat\",\n\t\"Soundex\",\n\t\"Spencer-86\",\n\t\"Spencer-94\",\n\t\"Spencer-99\",\n\t\"SugarCRM-1.1.3\",\n\t\"Sun-PPP\",\n\t\"Sun-PPP-2000\",\n\t\"SunPro\",\n\t\"Symlinks\",\n\t\"TAPR-OHL-1.0\",\n\t\"TCL\",\n\t\"TCP-wrappers\",\n\t\"TGPPL-1.0\",\n\t\"TMate\",\n\t\"TORQUE-1.1\",\n\t\"TOSL\",\n\t\"TPDL\",\n\t\"TPL-1.0\",\n\t\"TTWL\",\n\t\"TTYP0\",\n\t\"TU-Berlin-1.0\",\n\t\"TU-Berlin-2.0\",\n\t\"TermReadKey\",\n\t\"UCAR\",\n\t\"UCL-1.0\",\n\t\"UMich-Merit\",\n\t\"UPL-1.0\",\n\t\"URT-RLE\",\n\t\"Ubuntu-font-1.0\",\n\t\"Unicode-3.0\",\n\t\"Unicode-DFS-2015\",\n\t\"Unicode-DFS-2016\",\n\t\"Unicode-TOU\",\n\t\"UnixCrypt\",\n\t\"Unlicense\",\n\t\"VOSTROM\",\n\t\"VSL-1.0\",\n\t\"Vim\",\n\t\"W3C\",\n\t\"W3C-19980720\",\n\t\"W3C-20150513\",\n\t\"WTFPL\",\n\t\"Watcom-1.0\",\n\t\"Widget-Workshop\",\n\t\"Wsuipa\",\n\t\"X11\",\n\t\"X11-distribute-modifications-variant\",\n\t\"X11-swapped\",\n\t\"XFree86-1.1\",\n\t\"XSkat\",\n\t\"Xdebug-1.03\",\n\t\"Xerox\",\n\t\"Xfig\",\n\t\"Xnet\",\n\t\"YPL-1.0\",\n\t\"YPL-1.1\",\n\t\"ZPL-1.1\",\n\t\"ZPL-2.0\",\n\t\"ZPL-2.1\",\n\t\"Zed\",\n\t\"Zeeff\",\n\t\"Zend-2.0\",\n\t\"Zimbra-1.3\",\n\t\"Zimbra-1.4\",\n\t\"Zlib\",\n\t\"any-OSI\",\n\t\"bcrypt-Solar-Designer\",\n\t\"blessing\",\n\t\"bzip2-1.0.6\",\n\t\"check-cvs\",\n\t\"checkmk\",\n\t\"copyleft-next-0.3.0\",\n\t\"copyleft-next-0.3.1\",\n\t\"curl\",\n\t\"cve-tou\",\n\t\"diffmark\",\n\t\"dtoa\",\n\t\"dvipdfm\",\n\t\"eGenix\",\n\t\"etalab-2.0\",\n\t\"fwlw\",\n\t\"gSOAP-1.3b\",\n\t\"gnuplot\",\n\t\"gtkbook\",\n\t\"hdparm\",\n\t\"iMatix\",\n\t\"libpng-2.0\",\n\t\"libselinux-1.0\",\n\t\"libtiff\",\n\t\"libutil-David-Nugent\",\n\t\"lsof\",\n\t\"magaz\",\n\t\"mailprio\",\n\t\"metamail\",\n\t\"mpi-permissive\",\n\t\"mpich2\",\n\t\"mplus\",\n\t\"pkgconf\",\n\t\"pnmstitch\",\n\t\"psfrag\",\n\t\"psutils\",\n\t\"python-ldap\",\n\t\"radvd\",\n\t\"snprintf\",\n\t\"softSurfer\",\n\t\"ssh-keyscan\",\n\t\"swrule\",\n\t\"threeparttable\",\n\t\"ulem\",\n\t\"w3m\",\n\t\"xinetd\",\n\t\"xkeyboard-config-Zinoviev\",\n\t\"xlock\",\n\t\"xpp\",\n\t\"xzoom\",\n\t\"zlib-acknowledgement\"\n]\n", "[\n\t\"AGPL-1.0\",\n\t\"AGPL-3.0\",\n\t\"BSD-2-Clause-FreeBSD\",\n\t\"BSD-2-Clause-NetBSD\",\n\t\"GFDL-1.1\",\n\t\"GFDL-1.2\",\n\t\"GFDL-1.3\",\n\t\"GPL-1.0\",\n\t\"GPL-2.0\",\n\t\"GPL-2.0-with-GCC-exception\",\n\t\"GPL-2.0-with-autoconf-exception\",\n\t\"GPL-2.0-with-bison-exception\",\n\t\"GPL-2.0-with-classpath-exception\",\n\t\"GPL-2.0-with-font-exception\",\n\t\"GPL-3.0\",\n\t\"GPL-3.0-with-GCC-exception\",\n\t\"GPL-3.0-with-autoconf-exception\",\n\t\"LGPL-2.0\",\n\t\"LGPL-2.1\",\n\t\"LGPL-3.0\",\n\t\"Net-SNMP\",\n\t\"Nunit\",\n\t\"StandardML-NJ\",\n\t\"bzip2-1.0.5\",\n\t\"eCos-2.0\",\n\t\"wxWindows\"\n]\n", "[\n \"389-exception\",\n \"Asterisk-exception\",\n \"Autoconf-exception-2.0\",\n \"Autoconf-exception-3.0\",\n \"Autoconf-exception-generic\",\n \"Autoconf-exception-generic-3.0\",\n \"Autoconf-exception-macro\",\n \"Bison-exception-1.24\",\n \"Bison-exception-2.2\",\n \"Bootloader-exception\",\n \"Classpath-exception-2.0\",\n \"CLISP-exception-2.0\",\n \"cryptsetup-OpenSSL-exception\",\n \"DigiRule-FOSS-exception\",\n \"eCos-exception-2.0\",\n \"Fawkes-Runtime-exception\",\n \"FLTK-exception\",\n \"fmt-exception\",\n \"Font-exception-2.0\",\n \"freertos-exception-2.0\",\n \"GCC-exception-2.0\",\n \"GCC-exception-2.0-note\",\n \"GCC-exception-3.1\",\n \"Gmsh-exception\",\n \"GNAT-exception\",\n \"GNOME-examples-exception\",\n \"GNU-compiler-exception\",\n \"gnu-javamail-exception\",\n \"GPL-3.0-interface-exception\",\n \"GPL-3.0-linking-exception\",\n \"GPL-3.0-linking-source-exception\",\n \"GPL-CC-1.0\",\n \"GStreamer-exception-2005\",\n \"GStreamer-exception-2008\",\n \"i2p-gpl-java-exception\",\n \"KiCad-libraries-exception\",\n \"LGPL-3.0-linking-exception\",\n \"libpri-OpenH323-exception\",\n \"Libtool-exception\",\n \"Linux-syscall-note\",\n \"LLGPL\",\n \"LLVM-exception\",\n \"LZMA-exception\",\n \"mif-exception\",\n \"OCaml-LGPL-linking-exception\",\n \"OCCT-exception-1.0\",\n \"OpenJDK-assembly-exception-1.0\",\n \"openvpn-openssl-exception\",\n \"PS-or-PDF-font-exception-20170817\",\n \"QPL-1.0-INRIA-2004-exception\",\n \"Qt-GPL-exception-1.0\",\n \"Qt-LGPL-exception-1.1\",\n \"Qwt-exception-1.0\",\n \"SANE-exception\",\n \"SHL-2.0\",\n \"SHL-2.1\",\n \"stunnel-exception\",\n \"SWI-exception\",\n \"Swift-exception\",\n \"Texinfo-exception\",\n \"u-boot-exception-2.0\",\n \"UBDL-exception\",\n \"Universal-FOSS-exception-1.0\",\n \"vsftpd-openssl-exception\",\n \"WxWindows-exception-3.1\",\n \"x11vnc-openssl-exception\"\n]\n", "'use strict'\n\nvar licenses = []\n .concat(require('spdx-license-ids'))\n .concat(require('spdx-license-ids/deprecated'))\nvar exceptions = require('spdx-exceptions')\n\nmodule.exports = function (source) {\n var index = 0\n\n function hasMore () {\n return index < source.length\n }\n\n // `value` can be a regexp or a string.\n // If it is recognized, the matching source string is returned and\n // the index is incremented. Otherwise `undefined` is returned.\n function read (value) {\n if (value instanceof RegExp) {\n var chars = source.slice(index)\n var match = chars.match(value)\n if (match) {\n index += match[0].length\n return match[0]\n }\n } else {\n if (source.indexOf(value, index) === index) {\n index += value.length\n return value\n }\n }\n }\n\n function skipWhitespace () {\n read(/[ ]*/)\n }\n\n function operator () {\n var string\n var possibilities = ['WITH', 'AND', 'OR', '(', ')', ':', '+']\n for (var i = 0; i < possibilities.length; i++) {\n string = read(possibilities[i])\n if (string) {\n break\n }\n }\n\n if (string === '+' && index > 1 && source[index - 2] === ' ') {\n throw new Error('Space before `+`')\n }\n\n return string && {\n type: 'OPERATOR',\n string: string\n }\n }\n\n function idstring () {\n return read(/[A-Za-z0-9-.]+/)\n }\n\n function expectIdstring () {\n var string = idstring()\n if (!string) {\n throw new Error('Expected idstring at offset ' + index)\n }\n return string\n }\n\n function documentRef () {\n if (read('DocumentRef-')) {\n var string = expectIdstring()\n return { type: 'DOCUMENTREF', string: string }\n }\n }\n\n function licenseRef () {\n if (read('LicenseRef-')) {\n var string = expectIdstring()\n return { type: 'LICENSEREF', string: string }\n }\n }\n\n function identifier () {\n var begin = index\n var string = idstring()\n\n if (licenses.indexOf(string) !== -1) {\n return {\n type: 'LICENSE',\n string: string\n }\n } else if (exceptions.indexOf(string) !== -1) {\n return {\n type: 'EXCEPTION',\n string: string\n }\n }\n\n index = begin\n }\n\n // Tries to read the next token. Returns `undefined` if no token is\n // recognized.\n function parseToken () {\n // Ordering matters\n return (\n operator() ||\n documentRef() ||\n licenseRef() ||\n identifier()\n )\n }\n\n var tokens = []\n while (hasMore()) {\n skipWhitespace()\n if (!hasMore()) {\n break\n }\n\n var token = parseToken()\n if (!token) {\n throw new Error('Unexpected `' + source[index] +\n '` at offset ' + index)\n }\n\n tokens.push(token)\n }\n return tokens\n}\n", "'use strict'\n\n// The ABNF grammar in the spec is totally ambiguous.\n//\n// This parser follows the operator precedence defined in the\n// `Order of Precedence and Parentheses` section.\n\nmodule.exports = function (tokens) {\n var index = 0\n\n function hasMore () {\n return index < tokens.length\n }\n\n function token () {\n return hasMore() ? tokens[index] : null\n }\n\n function next () {\n if (!hasMore()) {\n throw new Error()\n }\n index++\n }\n\n function parseOperator (operator) {\n var t = token()\n if (t && t.type === 'OPERATOR' && operator === t.string) {\n next()\n return t.string\n }\n }\n\n function parseWith () {\n if (parseOperator('WITH')) {\n var t = token()\n if (t && t.type === 'EXCEPTION') {\n next()\n return t.string\n }\n throw new Error('Expected exception after `WITH`')\n }\n }\n\n function parseLicenseRef () {\n // TODO: Actually, everything is concatenated into one string\n // for backward-compatibility but it could be better to return\n // a nice structure.\n var begin = index\n var string = ''\n var t = token()\n if (t.type === 'DOCUMENTREF') {\n next()\n string += 'DocumentRef-' + t.string + ':'\n if (!parseOperator(':')) {\n throw new Error('Expected `:` after `DocumentRef-...`')\n }\n }\n t = token()\n if (t.type === 'LICENSEREF') {\n next()\n string += 'LicenseRef-' + t.string\n return { license: string }\n }\n index = begin\n }\n\n function parseLicense () {\n var t = token()\n if (t && t.type === 'LICENSE') {\n next()\n var node = { license: t.string }\n if (parseOperator('+')) {\n node.plus = true\n }\n var exception = parseWith()\n if (exception) {\n node.exception = exception\n }\n return node\n }\n }\n\n function parseParenthesizedExpression () {\n var left = parseOperator('(')\n if (!left) {\n return\n }\n\n var expr = parseExpression()\n\n if (!parseOperator(')')) {\n throw new Error('Expected `)`')\n }\n\n return expr\n }\n\n function parseAtom () {\n return (\n parseParenthesizedExpression() ||\n parseLicenseRef() ||\n parseLicense()\n )\n }\n\n function makeBinaryOpParser (operator, nextParser) {\n return function parseBinaryOp () {\n var left = nextParser()\n if (!left) {\n return\n }\n\n if (!parseOperator(operator)) {\n return left\n }\n\n var right = parseBinaryOp()\n if (!right) {\n throw new Error('Expected expression')\n }\n return {\n left: left,\n conjunction: operator.toLowerCase(),\n right: right\n }\n }\n }\n\n var parseAnd = makeBinaryOpParser('AND', parseAtom)\n var parseExpression = makeBinaryOpParser('OR', parseAnd)\n\n var node = parseExpression()\n if (!node || hasMore()) {\n throw new Error('Syntax error')\n }\n return node\n}\n", "'use strict'\n\nvar scan = require('./scan')\nvar parse = require('./parse')\n\nmodule.exports = function (source) {\n return parse(scan(source))\n}\n", "/*\nCopyright spdx-correct.js contributors\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nvar parse = require('spdx-expression-parse')\nvar spdxLicenseIds = require('spdx-license-ids')\n\nfunction valid (string) {\n try {\n parse(string)\n return true\n } catch (error) {\n return false\n }\n}\n\n// Sorting function that orders the given array of transpositions such\n// that a transposition with the longer pattern comes before a transposition\n// with a shorter pattern. This is to prevent e.g. the transposition\n// [\"General Public License\", \"GPL\"] from matching to \"Lesser General Public License\"\n// before a longer and more accurate transposition [\"Lesser General Public License\", \"LGPL\"]\n// has a chance to be recognized.\nfunction sortTranspositions(a, b) {\n var length = b[0].length - a[0].length\n if (length !== 0) return length\n return a[0].toUpperCase().localeCompare(b[0].toUpperCase())\n}\n\n// Common transpositions of license identifier acronyms\nvar transpositions = [\n ['APGL', 'AGPL'],\n ['Gpl', 'GPL'],\n ['GLP', 'GPL'],\n ['APL', 'Apache'],\n ['ISD', 'ISC'],\n ['GLP', 'GPL'],\n ['IST', 'ISC'],\n ['Claude', 'Clause'],\n [' or later', '+'],\n [' International', ''],\n ['GNU', 'GPL'],\n ['GUN', 'GPL'],\n ['+', ''],\n ['GNU GPL', 'GPL'],\n ['GNU LGPL', 'LGPL'],\n ['GNU/GPL', 'GPL'],\n ['GNU GLP', 'GPL'],\n ['GNU LESSER GENERAL PUBLIC LICENSE', 'LGPL'],\n ['GNU Lesser General Public License', 'LGPL'],\n ['GNU LESSER GENERAL PUBLIC LICENSE', 'LGPL-2.1'],\n ['GNU Lesser General Public License', 'LGPL-2.1'],\n ['LESSER GENERAL PUBLIC LICENSE', 'LGPL'],\n ['Lesser General Public License', 'LGPL'],\n ['LESSER GENERAL PUBLIC LICENSE', 'LGPL-2.1'],\n ['Lesser General Public License', 'LGPL-2.1'],\n ['GNU General Public License', 'GPL'],\n ['Gnu public license', 'GPL'],\n ['GNU Public License', 'GPL'],\n ['GNU GENERAL PUBLIC LICENSE', 'GPL'],\n ['MTI', 'MIT'],\n ['Mozilla Public License', 'MPL'],\n ['Universal Permissive License', 'UPL'],\n ['WTH', 'WTF'],\n ['WTFGPL', 'WTFPL'],\n ['-License', '']\n].sort(sortTranspositions)\n\nvar TRANSPOSED = 0\nvar CORRECT = 1\n\n// Simple corrections to nearly valid identifiers.\nvar transforms = [\n // e.g. 'mit'\n function (argument) {\n return argument.toUpperCase()\n },\n // e.g. 'MIT '\n function (argument) {\n return argument.trim()\n },\n // e.g. 'M.I.T.'\n function (argument) {\n return argument.replace(/\\./g, '')\n },\n // e.g. 'Apache- 2.0'\n function (argument) {\n return argument.replace(/\\s+/g, '')\n },\n // e.g. 'CC BY 4.0''\n function (argument) {\n return argument.replace(/\\s+/g, '-')\n },\n // e.g. 'LGPLv2.1'\n function (argument) {\n return argument.replace('v', '-')\n },\n // e.g. 'Apache 2.0'\n function (argument) {\n return argument.replace(/,?\\s*(\\d)/, '-$1')\n },\n // e.g. 'GPL 2'\n function (argument) {\n return argument.replace(/,?\\s*(\\d)/, '-$1.0')\n },\n // e.g. 'Apache Version 2.0'\n function (argument) {\n return argument\n .replace(/,?\\s*(V\\.|v\\.|V|v|Version|version)\\s*(\\d)/, '-$2')\n },\n // e.g. 'Apache Version 2'\n function (argument) {\n return argument\n .replace(/,?\\s*(V\\.|v\\.|V|v|Version|version)\\s*(\\d)/, '-$2.0')\n },\n // e.g. 'ZLIB'\n function (argument) {\n return argument[0].toUpperCase() + argument.slice(1)\n },\n // e.g. 'MPL/2.0'\n function (argument) {\n return argument.replace('/', '-')\n },\n // e.g. 'Apache 2'\n function (argument) {\n return argument\n .replace(/\\s*V\\s*(\\d)/, '-$1')\n .replace(/(\\d)$/, '$1.0')\n },\n // e.g. 'GPL-2.0', 'GPL-3.0'\n function (argument) {\n if (argument.indexOf('3.0') !== -1) {\n return argument + '-or-later'\n } else {\n return argument + '-only'\n }\n },\n // e.g. 'GPL-2.0-'\n function (argument) {\n return argument + 'only'\n },\n // e.g. 'GPL2'\n function (argument) {\n return argument.replace(/(\\d)$/, '-$1.0')\n },\n // e.g. 'BSD 3'\n function (argument) {\n return argument.replace(/(-| )?(\\d)$/, '-$2-Clause')\n },\n // e.g. 'BSD clause 3'\n function (argument) {\n return argument.replace(/(-| )clause(-| )(\\d)/, '-$3-Clause')\n },\n // e.g. 'New BSD license'\n function (argument) {\n return argument.replace(/\\b(Modified|New|Revised)(-| )?BSD((-| )License)?/i, 'BSD-3-Clause')\n },\n // e.g. 'Simplified BSD license'\n function (argument) {\n return argument.replace(/\\bSimplified(-| )?BSD((-| )License)?/i, 'BSD-2-Clause')\n },\n // e.g. 'Free BSD license'\n function (argument) {\n return argument.replace(/\\b(Free|Net)(-| )?BSD((-| )License)?/i, 'BSD-2-Clause-$1BSD')\n },\n // e.g. 'Clear BSD license'\n function (argument) {\n return argument.replace(/\\bClear(-| )?BSD((-| )License)?/i, 'BSD-3-Clause-Clear')\n },\n // e.g. 'Old BSD License'\n function (argument) {\n return argument.replace(/\\b(Old|Original)(-| )?BSD((-| )License)?/i, 'BSD-4-Clause')\n },\n // e.g. 'BY-NC-4.0'\n function (argument) {\n return 'CC-' + argument\n },\n // e.g. 'BY-NC'\n function (argument) {\n return 'CC-' + argument + '-4.0'\n },\n // e.g. 'Attribution-NonCommercial'\n function (argument) {\n return argument\n .replace('Attribution', 'BY')\n .replace('NonCommercial', 'NC')\n .replace('NoDerivatives', 'ND')\n .replace(/ (\\d)/, '-$1')\n .replace(/ ?International/, '')\n },\n // e.g. 'Attribution-NonCommercial'\n function (argument) {\n return 'CC-' +\n argument\n .replace('Attribution', 'BY')\n .replace('NonCommercial', 'NC')\n .replace('NoDerivatives', 'ND')\n .replace(/ (\\d)/, '-$1')\n .replace(/ ?International/, '') +\n '-4.0'\n }\n]\n\nvar licensesWithVersions = spdxLicenseIds\n .map(function (id) {\n var match = /^(.*)-\\d+\\.\\d+$/.exec(id)\n return match\n ? [match[0], match[1]]\n : [id, null]\n })\n .reduce(function (objectMap, item) {\n var key = item[1]\n objectMap[key] = objectMap[key] || []\n objectMap[key].push(item[0])\n return objectMap\n }, {})\n\nvar licensesWithOneVersion = Object.keys(licensesWithVersions)\n .map(function makeEntries (key) {\n return [key, licensesWithVersions[key]]\n })\n .filter(function identifySoleVersions (item) {\n return (\n // Licenses has just one valid version suffix.\n item[1].length === 1 &&\n item[0] !== null &&\n // APL will be considered Apache, rather than APL-1.0\n item[0] !== 'APL'\n )\n })\n .map(function createLastResorts (item) {\n return [item[0], item[1][0]]\n })\n\nlicensesWithVersions = undefined\n\n// If all else fails, guess that strings containing certain substrings\n// meant to identify certain licenses.\nvar lastResorts = [\n ['UNLI', 'Unlicense'],\n ['WTF', 'WTFPL'],\n ['2 CLAUSE', 'BSD-2-Clause'],\n ['2-CLAUSE', 'BSD-2-Clause'],\n ['3 CLAUSE', 'BSD-3-Clause'],\n ['3-CLAUSE', 'BSD-3-Clause'],\n ['AFFERO', 'AGPL-3.0-or-later'],\n ['AGPL', 'AGPL-3.0-or-later'],\n ['APACHE', 'Apache-2.0'],\n ['ARTISTIC', 'Artistic-2.0'],\n ['Affero', 'AGPL-3.0-or-later'],\n ['BEER', 'Beerware'],\n ['BOOST', 'BSL-1.0'],\n ['BSD', 'BSD-2-Clause'],\n ['CDDL', 'CDDL-1.1'],\n ['ECLIPSE', 'EPL-1.0'],\n ['FUCK', 'WTFPL'],\n ['GNU', 'GPL-3.0-or-later'],\n ['LGPL', 'LGPL-3.0-or-later'],\n ['GPLV1', 'GPL-1.0-only'],\n ['GPL-1', 'GPL-1.0-only'],\n ['GPLV2', 'GPL-2.0-only'],\n ['GPL-2', 'GPL-2.0-only'],\n ['GPL', 'GPL-3.0-or-later'],\n ['MIT +NO-FALSE-ATTRIBS', 'MITNFA'],\n ['MIT', 'MIT'],\n ['MPL', 'MPL-2.0'],\n ['X11', 'X11'],\n ['ZLIB', 'Zlib']\n].concat(licensesWithOneVersion).sort(sortTranspositions)\n\nvar SUBSTRING = 0\nvar IDENTIFIER = 1\n\nvar validTransformation = function (identifier) {\n for (var i = 0; i < transforms.length; i++) {\n var transformed = transforms[i](identifier).trim()\n if (transformed !== identifier && valid(transformed)) {\n return transformed\n }\n }\n return null\n}\n\nvar validLastResort = function (identifier) {\n var upperCased = identifier.toUpperCase()\n for (var i = 0; i < lastResorts.length; i++) {\n var lastResort = lastResorts[i]\n if (upperCased.indexOf(lastResort[SUBSTRING]) > -1) {\n return lastResort[IDENTIFIER]\n }\n }\n return null\n}\n\nvar anyCorrection = function (identifier, check) {\n for (var i = 0; i < transpositions.length; i++) {\n var transposition = transpositions[i]\n var transposed = transposition[TRANSPOSED]\n if (identifier.indexOf(transposed) > -1) {\n var corrected = identifier.replace(\n transposed,\n transposition[CORRECT]\n )\n var checked = check(corrected)\n if (checked !== null) {\n return checked\n }\n }\n }\n return null\n}\n\nmodule.exports = function (identifier, options) {\n options = options || {}\n var upgrade = options.upgrade === undefined ? true : !!options.upgrade\n function postprocess (value) {\n return upgrade ? upgradeGPLs(value) : value\n }\n var validArugment = (\n typeof identifier === 'string' &&\n identifier.trim().length !== 0\n )\n if (!validArugment) {\n throw Error('Invalid argument. Expected non-empty string.')\n }\n identifier = identifier.trim()\n if (valid(identifier)) {\n return postprocess(identifier)\n }\n var noPlus = identifier.replace(/\\+$/, '').trim()\n if (valid(noPlus)) {\n return postprocess(noPlus)\n }\n var transformed = validTransformation(identifier)\n if (transformed !== null) {\n return postprocess(transformed)\n }\n transformed = anyCorrection(identifier, function (argument) {\n if (valid(argument)) {\n return argument\n }\n return validTransformation(argument)\n })\n if (transformed !== null) {\n return postprocess(transformed)\n }\n transformed = validLastResort(identifier)\n if (transformed !== null) {\n return postprocess(transformed)\n }\n transformed = anyCorrection(identifier, validLastResort)\n if (transformed !== null) {\n return postprocess(transformed)\n }\n return null\n}\n\nfunction upgradeGPLs (value) {\n if ([\n 'GPL-1.0', 'LGPL-1.0', 'AGPL-1.0',\n 'GPL-2.0', 'LGPL-2.0', 'AGPL-2.0',\n 'LGPL-2.1'\n ].indexOf(value) !== -1) {\n return value + '-only'\n } else if ([\n 'GPL-1.0+', 'GPL-2.0+', 'GPL-3.0+',\n 'LGPL-2.0+', 'LGPL-2.1+', 'LGPL-3.0+',\n 'AGPL-1.0+', 'AGPL-3.0+'\n ].indexOf(value) !== -1) {\n return value.replace(/\\+$/, '-or-later')\n } else if (['GPL-3.0', 'LGPL-3.0', 'AGPL-3.0'].indexOf(value) !== -1) {\n return value + '-or-later'\n } else {\n return value\n }\n}\n", "var parse = require('spdx-expression-parse');\nvar correct = require('spdx-correct');\n\nvar genericWarning = (\n 'license should be ' +\n 'a valid SPDX license expression (without \"LicenseRef\"), ' +\n '\"UNLICENSED\", or ' +\n '\"SEE LICENSE IN <filename>\"'\n);\n\nvar fileReferenceRE = /^SEE LICEN[CS]E IN (.+)$/;\n\nfunction startsWith(prefix, string) {\n return string.slice(0, prefix.length) === prefix;\n}\n\nfunction usesLicenseRef(ast) {\n if (ast.hasOwnProperty('license')) {\n var license = ast.license;\n return (\n startsWith('LicenseRef', license) ||\n startsWith('DocumentRef', license)\n );\n } else {\n return (\n usesLicenseRef(ast.left) ||\n usesLicenseRef(ast.right)\n );\n }\n}\n\nmodule.exports = function(argument) {\n var ast;\n\n try {\n ast = parse(argument);\n } catch (e) {\n var match\n if (\n argument === 'UNLICENSED' ||\n argument === 'UNLICENCED'\n ) {\n return {\n validForOldPackages: true,\n validForNewPackages: true,\n unlicensed: true\n };\n } else if (match = fileReferenceRE.exec(argument)) {\n return {\n validForOldPackages: true,\n validForNewPackages: true,\n inFile: match[1]\n };\n } else {\n var result = {\n validForOldPackages: false,\n validForNewPackages: false,\n warnings: [genericWarning]\n };\n if (argument.trim().length !== 0) {\n var corrected = correct(argument);\n if (corrected) {\n result.warnings.push(\n 'license is similar to the valid expression \"' + corrected + '\"'\n );\n }\n }\n return result;\n }\n }\n\n if (usesLicenseRef(ast)) {\n return {\n validForNewPackages: false,\n validForOldPackages: false,\n spdx: true,\n warnings: [genericWarning]\n };\n } else {\n return {\n validForNewPackages: true,\n validForOldPackages: true,\n spdx: true\n };\n }\n};\n", "'use strict'\n\nvar gitHosts = module.exports = {\n github: {\n // First two are insecure and generally shouldn't be used any more, but\n // they are still supported.\n 'protocols': [ 'git', 'http', 'git+ssh', 'git+https', 'ssh', 'https' ],\n 'domain': 'github.com',\n 'treepath': 'tree',\n 'filetemplate': 'https://{auth@}raw.githubusercontent.com/{user}/{project}/{committish}/{path}',\n 'bugstemplate': 'https://{domain}/{user}/{project}/issues',\n 'gittemplate': 'git://{auth@}{domain}/{user}/{project}.git{#committish}',\n 'tarballtemplate': 'https://codeload.{domain}/{user}/{project}/tar.gz/{committish}'\n },\n bitbucket: {\n 'protocols': [ 'git+ssh', 'git+https', 'ssh', 'https' ],\n 'domain': 'bitbucket.org',\n 'treepath': 'src',\n 'tarballtemplate': 'https://{domain}/{user}/{project}/get/{committish}.tar.gz'\n },\n gitlab: {\n 'protocols': [ 'git+ssh', 'git+https', 'ssh', 'https' ],\n 'domain': 'gitlab.com',\n 'treepath': 'tree',\n 'bugstemplate': 'https://{domain}/{user}/{project}/issues',\n 'httpstemplate': 'git+https://{auth@}{domain}/{user}/{projectPath}.git{#committish}',\n 'tarballtemplate': 'https://{domain}/{user}/{project}/repository/archive.tar.gz?ref={committish}',\n 'pathmatch': /^[/]([^/]+)[/]((?!.*(\\/-\\/|\\/repository\\/archive\\.tar\\.gz\\?=.*|\\/repository\\/[^/]+\\/archive.tar.gz$)).*?)(?:[.]git|[/])?$/\n },\n gist: {\n 'protocols': [ 'git', 'git+ssh', 'git+https', 'ssh', 'https' ],\n 'domain': 'gist.github.com',\n 'pathmatch': /^[/](?:([^/]+)[/])?([a-z0-9]{32,})(?:[.]git)?$/,\n 'filetemplate': 'https://gist.githubusercontent.com/{user}/{project}/raw{/committish}/{path}',\n 'bugstemplate': 'https://{domain}/{project}',\n 'gittemplate': 'git://{domain}/{project}.git{#committish}',\n 'sshtemplate': 'git@{domain}:/{project}.git{#committish}',\n 'sshurltemplate': 'git+ssh://git@{domain}/{project}.git{#committish}',\n 'browsetemplate': 'https://{domain}/{project}{/committish}',\n 'browsefiletemplate': 'https://{domain}/{project}{/committish}{#path}',\n 'docstemplate': 'https://{domain}/{project}{/committish}',\n 'httpstemplate': 'git+https://{domain}/{project}.git{#committish}',\n 'shortcuttemplate': '{type}:{project}{#committish}',\n 'pathtemplate': '{project}{#committish}',\n 'tarballtemplate': 'https://codeload.github.com/gist/{project}/tar.gz/{committish}',\n 'hashformat': function (fragment) {\n return 'file-' + formatHashFragment(fragment)\n }\n }\n}\n\nvar gitHostDefaults = {\n 'sshtemplate': 'git@{domain}:{user}/{project}.git{#committish}',\n 'sshurltemplate': 'git+ssh://git@{domain}/{user}/{project}.git{#committish}',\n 'browsetemplate': 'https://{domain}/{user}/{project}{/tree/committish}',\n 'browsefiletemplate': 'https://{domain}/{user}/{project}/{treepath}/{committish}/{path}{#fragment}',\n 'docstemplate': 'https://{domain}/{user}/{project}{/tree/committish}#readme',\n 'httpstemplate': 'git+https://{auth@}{domain}/{user}/{project}.git{#committish}',\n 'filetemplate': 'https://{domain}/{user}/{project}/raw/{committish}/{path}',\n 'shortcuttemplate': '{type}:{user}/{project}{#committish}',\n 'pathtemplate': '{user}/{project}{#committish}',\n 'pathmatch': /^[/]([^/]+)[/]([^/]+?)(?:[.]git|[/])?$/,\n 'hashformat': formatHashFragment\n}\n\nObject.keys(gitHosts).forEach(function (name) {\n Object.keys(gitHostDefaults).forEach(function (key) {\n if (gitHosts[name][key]) return\n gitHosts[name][key] = gitHostDefaults[key]\n })\n gitHosts[name].protocols_re = RegExp('^(' +\n gitHosts[name].protocols.map(function (protocol) {\n return protocol.replace(/([\\\\+*{}()[\\]$^|])/g, '\\\\$1')\n }).join('|') + '):$')\n})\n\nfunction formatHashFragment (fragment) {\n return fragment.toLowerCase().replace(/^\\W+|\\/|\\W+$/g, '').replace(/\\W+/g, '-')\n}\n", "'use strict'\nvar gitHosts = require('./git-host-info.js')\n/* eslint-disable node/no-deprecated-api */\n\n// copy-pasta util._extend from node's source, to avoid pulling\n// the whole util module into peoples' webpack bundles.\n/* istanbul ignore next */\nvar extend = Object.assign || function _extend (target, source) {\n // Don't do anything if source isn't an object\n if (source === null || typeof source !== 'object') return target\n\n var keys = Object.keys(source)\n var i = keys.length\n while (i--) {\n target[keys[i]] = source[keys[i]]\n }\n return target\n}\n\nmodule.exports = GitHost\nfunction GitHost (type, user, auth, project, committish, defaultRepresentation, opts) {\n var gitHostInfo = this\n gitHostInfo.type = type\n Object.keys(gitHosts[type]).forEach(function (key) {\n gitHostInfo[key] = gitHosts[type][key]\n })\n gitHostInfo.user = user\n gitHostInfo.auth = auth\n gitHostInfo.project = project\n gitHostInfo.committish = committish\n gitHostInfo.default = defaultRepresentation\n gitHostInfo.opts = opts || {}\n}\n\nGitHost.prototype.hash = function () {\n return this.committish ? '#' + this.committish : ''\n}\n\nGitHost.prototype._fill = function (template, opts) {\n if (!template) return\n var vars = extend({}, opts)\n vars.path = vars.path ? vars.path.replace(/^[/]+/g, '') : ''\n opts = extend(extend({}, this.opts), opts)\n var self = this\n Object.keys(this).forEach(function (key) {\n if (self[key] != null && vars[key] == null) vars[key] = self[key]\n })\n var rawAuth = vars.auth\n var rawcommittish = vars.committish\n var rawFragment = vars.fragment\n var rawPath = vars.path\n var rawProject = vars.project\n Object.keys(vars).forEach(function (key) {\n var value = vars[key]\n if ((key === 'path' || key === 'project') && typeof value === 'string') {\n vars[key] = value.split('/').map(function (pathComponent) {\n return encodeURIComponent(pathComponent)\n }).join('/')\n } else {\n vars[key] = encodeURIComponent(value)\n }\n })\n vars['auth@'] = rawAuth ? rawAuth + '@' : ''\n vars['#fragment'] = rawFragment ? '#' + this.hashformat(rawFragment) : ''\n vars.fragment = vars.fragment ? vars.fragment : ''\n vars['#path'] = rawPath ? '#' + this.hashformat(rawPath) : ''\n vars['/path'] = vars.path ? '/' + vars.path : ''\n vars.projectPath = rawProject.split('/').map(encodeURIComponent).join('/')\n if (opts.noCommittish) {\n vars['#committish'] = ''\n vars['/tree/committish'] = ''\n vars['/committish'] = ''\n vars.committish = ''\n } else {\n vars['#committish'] = rawcommittish ? '#' + rawcommittish : ''\n vars['/tree/committish'] = vars.committish\n ? '/' + vars.treepath + '/' + vars.committish\n : ''\n vars['/committish'] = vars.committish ? '/' + vars.committish : ''\n vars.committish = vars.committish || 'master'\n }\n var res = template\n Object.keys(vars).forEach(function (key) {\n res = res.replace(new RegExp('[{]' + key + '[}]', 'g'), vars[key])\n })\n if (opts.noGitPlus) {\n return res.replace(/^git[+]/, '')\n } else {\n return res\n }\n}\n\nGitHost.prototype.ssh = function (opts) {\n return this._fill(this.sshtemplate, opts)\n}\n\nGitHost.prototype.sshurl = function (opts) {\n return this._fill(this.sshurltemplate, opts)\n}\n\nGitHost.prototype.browse = function (P, F, opts) {\n if (typeof P === 'string') {\n if (typeof F !== 'string') {\n opts = F\n F = null\n }\n return this._fill(this.browsefiletemplate, extend({\n fragment: F,\n path: P\n }, opts))\n } else {\n return this._fill(this.browsetemplate, P)\n }\n}\n\nGitHost.prototype.docs = function (opts) {\n return this._fill(this.docstemplate, opts)\n}\n\nGitHost.prototype.bugs = function (opts) {\n return this._fill(this.bugstemplate, opts)\n}\n\nGitHost.prototype.https = function (opts) {\n return this._fill(this.httpstemplate, opts)\n}\n\nGitHost.prototype.git = function (opts) {\n return this._fill(this.gittemplate, opts)\n}\n\nGitHost.prototype.shortcut = function (opts) {\n return this._fill(this.shortcuttemplate, opts)\n}\n\nGitHost.prototype.path = function (opts) {\n return this._fill(this.pathtemplate, opts)\n}\n\nGitHost.prototype.tarball = function (opts_) {\n var opts = extend({}, opts_, { noCommittish: false })\n return this._fill(this.tarballtemplate, opts)\n}\n\nGitHost.prototype.file = function (P, opts) {\n return this._fill(this.filetemplate, extend({ path: P }, opts))\n}\n\nGitHost.prototype.getDefaultRepresentation = function () {\n return this.default\n}\n\nGitHost.prototype.toString = function (opts) {\n if (this.default && typeof this[this.default] === 'function') return this[this.default](opts)\n return this.sshurl(opts)\n}\n", "'use strict'\nvar url = require('url')\nvar gitHosts = require('./git-host-info.js')\nvar GitHost = module.exports = require('./git-host.js')\n\nvar protocolToRepresentationMap = {\n 'git+ssh:': 'sshurl',\n 'git+https:': 'https',\n 'ssh:': 'sshurl',\n 'git:': 'git'\n}\n\nfunction protocolToRepresentation (protocol) {\n return protocolToRepresentationMap[protocol] || protocol.slice(0, -1)\n}\n\nvar authProtocols = {\n 'git:': true,\n 'https:': true,\n 'git+https:': true,\n 'http:': true,\n 'git+http:': true\n}\n\nvar cache = {}\n\nmodule.exports.fromUrl = function (giturl, opts) {\n if (typeof giturl !== 'string') return\n var key = giturl + JSON.stringify(opts || {})\n\n if (!(key in cache)) {\n cache[key] = fromUrl(giturl, opts)\n }\n\n return cache[key]\n}\n\nfunction fromUrl (giturl, opts) {\n if (giturl == null || giturl === '') return\n var url = fixupUnqualifiedGist(\n isGitHubShorthand(giturl) ? 'github:' + giturl : giturl\n )\n var parsed = parseGitUrl(url)\n var shortcutMatch = url.match(/^([^:]+):(?:[^@]+@)?(?:([^/]*)\\/)?([^#]+)/)\n var matches = Object.keys(gitHosts).map(function (gitHostName) {\n try {\n var gitHostInfo = gitHosts[gitHostName]\n var auth = null\n if (parsed.auth && authProtocols[parsed.protocol]) {\n auth = parsed.auth\n }\n var committish = parsed.hash ? decodeURIComponent(parsed.hash.substr(1)) : null\n var user = null\n var project = null\n var defaultRepresentation = null\n if (shortcutMatch && shortcutMatch[1] === gitHostName) {\n user = shortcutMatch[2] && decodeURIComponent(shortcutMatch[2])\n project = decodeURIComponent(shortcutMatch[3].replace(/\\.git$/, ''))\n defaultRepresentation = 'shortcut'\n } else {\n if (parsed.host && parsed.host !== gitHostInfo.domain && parsed.host.replace(/^www[.]/, '') !== gitHostInfo.domain) return\n if (!gitHostInfo.protocols_re.test(parsed.protocol)) return\n if (!parsed.path) return\n var pathmatch = gitHostInfo.pathmatch\n var matched = parsed.path.match(pathmatch)\n if (!matched) return\n /* istanbul ignore else */\n if (matched[1] !== null && matched[1] !== undefined) {\n user = decodeURIComponent(matched[1].replace(/^:/, ''))\n }\n project = decodeURIComponent(matched[2])\n defaultRepresentation = protocolToRepresentation(parsed.protocol)\n }\n return new GitHost(gitHostName, user, auth, project, committish, defaultRepresentation, opts)\n } catch (ex) {\n /* istanbul ignore else */\n if (ex instanceof URIError) {\n } else throw ex\n }\n }).filter(function (gitHostInfo) { return gitHostInfo })\n if (matches.length !== 1) return\n return matches[0]\n}\n\nfunction isGitHubShorthand (arg) {\n // Note: This does not fully test the git ref format.\n // See https://www.kernel.org/pub/software/scm/git/docs/git-check-ref-format.html\n //\n // The only way to do this properly would be to shell out to\n // git-check-ref-format, and as this is a fast sync function,\n // we don't want to do that. Just let git fail if it turns\n // out that the commit-ish is invalid.\n // GH usernames cannot start with . or -\n return /^[^:@%/\\s.-][^:@%/\\s]*[/][^:@\\s/%]+(?:#.*)?$/.test(arg)\n}\n\nfunction fixupUnqualifiedGist (giturl) {\n // necessary for round-tripping gists\n var parsed = url.parse(giturl)\n if (parsed.protocol === 'gist:' && parsed.host && !parsed.path) {\n return parsed.protocol + '/' + parsed.host\n } else {\n return giturl\n }\n}\n\nfunction parseGitUrl (giturl) {\n var matched = giturl.match(/^([^@]+)@([^:/]+):[/]?((?:[^/]+[/])?[^/]+?)(?:[.]git)?(#.*)?$/)\n if (!matched) {\n var legacy = url.parse(giturl)\n // If we don't have url.URL, then sorry, this is just not fixable.\n // This affects Node <= 6.12.\n if (legacy.auth && typeof url.URL === 'function') {\n // git urls can be in the form of scp-style/ssh-connect strings, like\n // git+ssh://user@host.com:some/path, which the legacy url parser\n // supports, but WhatWG url.URL class does not. However, the legacy\n // parser de-urlencodes the username and password, so something like\n // https://user%3An%40me:p%40ss%3Aword@x.com/ becomes\n // https://user:n@me:p@ss:word@x.com/ which is all kinds of wrong.\n // Pull off just the auth and host, so we dont' get the confusing\n // scp-style URL, then pass that to the WhatWG parser to get the\n // auth properly escaped.\n var authmatch = giturl.match(/[^@]+@[^:/]+/)\n /* istanbul ignore else - this should be impossible */\n if (authmatch) {\n var whatwg = new url.URL(authmatch[0])\n legacy.auth = whatwg.username || ''\n if (whatwg.password) legacy.auth += ':' + whatwg.password\n }\n }\n return legacy\n }\n return {\n protocol: 'git+ssh:',\n slashes: true,\n auth: matched[1],\n host: matched[2],\n port: null,\n hostname: matched[2],\n hash: matched[4],\n search: null,\n query: null,\n pathname: '/' + matched[3],\n path: '/' + matched[3],\n href: 'git+ssh://' + matched[1] + '@' + matched[2] +\n '/' + matched[3] + (matched[4] || '')\n }\n}\n", "'use strict';\n\nvar os = require('os');\n\n// adapted from https://github.com/sindresorhus/os-homedir/blob/11e089f4754db38bb535e5a8416320c4446e8cfd/index.js\n\nmodule.exports = os.homedir || function homedir() {\n var home = process.env.HOME;\n var user = process.env.LOGNAME || process.env.USER || process.env.LNAME || process.env.USERNAME;\n\n if (process.platform === 'win32') {\n return process.env.USERPROFILE || process.env.HOMEDRIVE + process.env.HOMEPATH || home || null;\n }\n\n if (process.platform === 'darwin') {\n return home || (user ? '/Users/' + user : null);\n }\n\n if (process.platform === 'linux') {\n return home || (process.getuid() === 0 ? '/root' : (user ? '/home/' + user : null)); // eslint-disable-line no-extra-parens\n }\n\n return home || null;\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", "'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 path = require('path');\nvar parse = path.parse || require('path-parse'); // eslint-disable-line global-require\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", "'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ 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 call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n", "{\n\t\"assert\": true,\n\t\"node:assert\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"assert/strict\": \">= 15\",\n\t\"node:assert/strict\": \">= 16\",\n\t\"async_hooks\": \">= 8\",\n\t\"node:async_hooks\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"buffer_ieee754\": \">= 0.5 && < 0.9.7\",\n\t\"buffer\": true,\n\t\"node:buffer\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"child_process\": true,\n\t\"node:child_process\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"cluster\": \">= 0.5\",\n\t\"node:cluster\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"console\": true,\n\t\"node:console\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"constants\": true,\n\t\"node:constants\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"crypto\": true,\n\t\"node:crypto\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_debug_agent\": \">= 1 && < 8\",\n\t\"_debugger\": \"< 8\",\n\t\"dgram\": true,\n\t\"node:dgram\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"diagnostics_channel\": [\">= 14.17 && < 15\", \">= 15.1\"],\n\t\"node:diagnostics_channel\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"dns\": true,\n\t\"node:dns\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"dns/promises\": \">= 15\",\n\t\"node:dns/promises\": \">= 16\",\n\t\"domain\": \">= 0.7.12\",\n\t\"node:domain\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"events\": true,\n\t\"node:events\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"freelist\": \"< 6\",\n\t\"fs\": true,\n\t\"node:fs\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"fs/promises\": [\">= 10 && < 10.1\", \">= 14\"],\n\t\"node:fs/promises\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_agent\": \">= 0.11.1\",\n\t\"node:_http_agent\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_client\": \">= 0.11.1\",\n\t\"node:_http_client\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_common\": \">= 0.11.1\",\n\t\"node:_http_common\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_incoming\": \">= 0.11.1\",\n\t\"node:_http_incoming\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_outgoing\": \">= 0.11.1\",\n\t\"node:_http_outgoing\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_server\": \">= 0.11.1\",\n\t\"node:_http_server\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"http\": true,\n\t\"node:http\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"http2\": \">= 8.8\",\n\t\"node:http2\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"https\": true,\n\t\"node:https\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"inspector\": \">= 8\",\n\t\"node:inspector\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"inspector/promises\": [\">= 19\"],\n\t\"node:inspector/promises\": [\">= 19\"],\n\t\"_linklist\": \"< 8\",\n\t\"module\": true,\n\t\"node:module\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"net\": true,\n\t\"node:net\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"node-inspect/lib/_inspect\": \">= 7.6 && < 12\",\n\t\"node-inspect/lib/internal/inspect_client\": \">= 7.6 && < 12\",\n\t\"node-inspect/lib/internal/inspect_repl\": \">= 7.6 && < 12\",\n\t\"os\": true,\n\t\"node:os\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"path\": true,\n\t\"node:path\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"path/posix\": \">= 15.3\",\n\t\"node:path/posix\": \">= 16\",\n\t\"path/win32\": \">= 15.3\",\n\t\"node:path/win32\": \">= 16\",\n\t\"perf_hooks\": \">= 8.5\",\n\t\"node:perf_hooks\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"process\": \">= 1\",\n\t\"node:process\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"punycode\": \">= 0.5\",\n\t\"node:punycode\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"querystring\": true,\n\t\"node:querystring\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"readline\": true,\n\t\"node:readline\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"readline/promises\": \">= 17\",\n\t\"node:readline/promises\": \">= 17\",\n\t\"repl\": true,\n\t\"node:repl\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"node:sea\": [\">= 20.12 && < 21\", \">= 21.7\"],\n\t\"smalloc\": \">= 0.11.5 && < 3\",\n\t\"_stream_duplex\": \">= 0.9.4\",\n\t\"node:_stream_duplex\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_transform\": \">= 0.9.4\",\n\t\"node:_stream_transform\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_wrap\": \">= 1.4.1\",\n\t\"node:_stream_wrap\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_passthrough\": \">= 0.9.4\",\n\t\"node:_stream_passthrough\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_readable\": \">= 0.9.4\",\n\t\"node:_stream_readable\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_writable\": \">= 0.9.4\",\n\t\"node:_stream_writable\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"stream\": true,\n\t\"node:stream\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"stream/consumers\": \">= 16.7\",\n\t\"node:stream/consumers\": \">= 16.7\",\n\t\"stream/promises\": \">= 15\",\n\t\"node:stream/promises\": \">= 16\",\n\t\"stream/web\": \">= 16.5\",\n\t\"node:stream/web\": \">= 16.5\",\n\t\"string_decoder\": true,\n\t\"node:string_decoder\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"sys\": [\">= 0.4 && < 0.7\", \">= 0.8\"],\n\t\"node:sys\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"test/reporters\": \">= 19.9 && < 20.2\",\n\t\"node:test/reporters\": [\">= 18.17 && < 19\", \">= 19.9\", \">= 20\"],\n\t\"test/mock_loader\": \">= 22.3 && < 22.7\",\n\t\"node:test/mock_loader\": \">= 22.3 && < 22.7\",\n\t\"node:test\": [\">= 16.17 && < 17\", \">= 18\"],\n\t\"timers\": true,\n\t\"node:timers\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"timers/promises\": \">= 15\",\n\t\"node:timers/promises\": \">= 16\",\n\t\"_tls_common\": \">= 0.11.13\",\n\t\"node:_tls_common\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_tls_legacy\": \">= 0.11.3 && < 10\",\n\t\"_tls_wrap\": \">= 0.11.3\",\n\t\"node:_tls_wrap\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"tls\": true,\n\t\"node:tls\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"trace_events\": \">= 10\",\n\t\"node:trace_events\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"tty\": true,\n\t\"node:tty\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"url\": true,\n\t\"node:url\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"util\": true,\n\t\"node:util\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"util/types\": \">= 15.3\",\n\t\"node:util/types\": \">= 16\",\n\t\"v8/tools/arguments\": \">= 10 && < 12\",\n\t\"v8/tools/codemap\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/consarray\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/csvparser\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/logreader\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/profile_view\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/splaytree\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8\": \">= 1\",\n\t\"node:v8\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"vm\": true,\n\t\"node:vm\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"wasi\": [\">= 13.4 && < 13.5\", \">= 18.17 && < 19\", \">= 20\"],\n\t\"node:wasi\": [\">= 18.17 && < 19\", \">= 20\"],\n\t\"worker_threads\": \">= 11.7\",\n\t\"node:worker_threads\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"zlib\": \">= 0.5\",\n\t\"node:zlib\": [\">= 14.18 && < 15\", \">= 16\"]\n}\n", "'use strict';\n\nvar hasOwn = require('hasown');\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\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 hasOwn(data, x) && versionIncluded(nodeVersion, data[x]);\n};\n", "var fs = require('fs');\nvar getHomedir = require('./homedir');\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 = process.platform !== 'win32' && fs.realpath && typeof fs.realpath.native === 'function' ? fs.realpath.native : fs.realpath;\n\nvar homedir = getHomedir();\nvar defaultPaths = function () {\n return [\n path.join(homedir, '.node_modules'),\n path.join(homedir, '.node_libraries')\n ];\n};\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 || defaultPaths();\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 \u201C' + pkg.name + '\u201D `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", "{\n\t\"assert\": true,\n\t\"node:assert\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"assert/strict\": \">= 15\",\n\t\"node:assert/strict\": \">= 16\",\n\t\"async_hooks\": \">= 8\",\n\t\"node:async_hooks\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"buffer_ieee754\": \">= 0.5 && < 0.9.7\",\n\t\"buffer\": true,\n\t\"node:buffer\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"child_process\": true,\n\t\"node:child_process\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"cluster\": \">= 0.5\",\n\t\"node:cluster\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"console\": true,\n\t\"node:console\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"constants\": true,\n\t\"node:constants\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"crypto\": true,\n\t\"node:crypto\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_debug_agent\": \">= 1 && < 8\",\n\t\"_debugger\": \"< 8\",\n\t\"dgram\": true,\n\t\"node:dgram\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"diagnostics_channel\": [\">= 14.17 && < 15\", \">= 15.1\"],\n\t\"node:diagnostics_channel\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"dns\": true,\n\t\"node:dns\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"dns/promises\": \">= 15\",\n\t\"node:dns/promises\": \">= 16\",\n\t\"domain\": \">= 0.7.12\",\n\t\"node:domain\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"events\": true,\n\t\"node:events\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"freelist\": \"< 6\",\n\t\"fs\": true,\n\t\"node:fs\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"fs/promises\": [\">= 10 && < 10.1\", \">= 14\"],\n\t\"node:fs/promises\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_agent\": \">= 0.11.1\",\n\t\"node:_http_agent\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_client\": \">= 0.11.1\",\n\t\"node:_http_client\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_common\": \">= 0.11.1\",\n\t\"node:_http_common\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_incoming\": \">= 0.11.1\",\n\t\"node:_http_incoming\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_outgoing\": \">= 0.11.1\",\n\t\"node:_http_outgoing\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_server\": \">= 0.11.1\",\n\t\"node:_http_server\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"http\": true,\n\t\"node:http\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"http2\": \">= 8.8\",\n\t\"node:http2\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"https\": true,\n\t\"node:https\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"inspector\": \">= 8\",\n\t\"node:inspector\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"inspector/promises\": [\">= 19\"],\n\t\"node:inspector/promises\": [\">= 19\"],\n\t\"_linklist\": \"< 8\",\n\t\"module\": true,\n\t\"node:module\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"net\": true,\n\t\"node:net\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"node-inspect/lib/_inspect\": \">= 7.6 && < 12\",\n\t\"node-inspect/lib/internal/inspect_client\": \">= 7.6 && < 12\",\n\t\"node-inspect/lib/internal/inspect_repl\": \">= 7.6 && < 12\",\n\t\"os\": true,\n\t\"node:os\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"path\": true,\n\t\"node:path\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"path/posix\": \">= 15.3\",\n\t\"node:path/posix\": \">= 16\",\n\t\"path/win32\": \">= 15.3\",\n\t\"node:path/win32\": \">= 16\",\n\t\"perf_hooks\": \">= 8.5\",\n\t\"node:perf_hooks\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"process\": \">= 1\",\n\t\"node:process\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"punycode\": \">= 0.5\",\n\t\"node:punycode\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"querystring\": true,\n\t\"node:querystring\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"readline\": true,\n\t\"node:readline\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"readline/promises\": \">= 17\",\n\t\"node:readline/promises\": \">= 17\",\n\t\"repl\": true,\n\t\"node:repl\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"smalloc\": \">= 0.11.5 && < 3\",\n\t\"_stream_duplex\": \">= 0.9.4\",\n\t\"node:_stream_duplex\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_transform\": \">= 0.9.4\",\n\t\"node:_stream_transform\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_wrap\": \">= 1.4.1\",\n\t\"node:_stream_wrap\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_passthrough\": \">= 0.9.4\",\n\t\"node:_stream_passthrough\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_readable\": \">= 0.9.4\",\n\t\"node:_stream_readable\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_writable\": \">= 0.9.4\",\n\t\"node:_stream_writable\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"stream\": true,\n\t\"node:stream\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"stream/consumers\": \">= 16.7\",\n\t\"node:stream/consumers\": \">= 16.7\",\n\t\"stream/promises\": \">= 15\",\n\t\"node:stream/promises\": \">= 16\",\n\t\"stream/web\": \">= 16.5\",\n\t\"node:stream/web\": \">= 16.5\",\n\t\"string_decoder\": true,\n\t\"node:string_decoder\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"sys\": [\">= 0.4 && < 0.7\", \">= 0.8\"],\n\t\"node:sys\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"test/reporters\": \">= 19.9 && < 20.2\",\n\t\"node:test/reporters\": [\">= 18.17 && < 19\", \">= 19.9\", \">= 20\"],\n\t\"node:test\": [\">= 16.17 && < 17\", \">= 18\"],\n\t\"timers\": true,\n\t\"node:timers\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"timers/promises\": \">= 15\",\n\t\"node:timers/promises\": \">= 16\",\n\t\"_tls_common\": \">= 0.11.13\",\n\t\"node:_tls_common\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_tls_legacy\": \">= 0.11.3 && < 10\",\n\t\"_tls_wrap\": \">= 0.11.3\",\n\t\"node:_tls_wrap\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"tls\": true,\n\t\"node:tls\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"trace_events\": \">= 10\",\n\t\"node:trace_events\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"tty\": true,\n\t\"node:tty\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"url\": true,\n\t\"node:url\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"util\": true,\n\t\"node:util\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"util/types\": \">= 15.3\",\n\t\"node:util/types\": \">= 16\",\n\t\"v8/tools/arguments\": \">= 10 && < 12\",\n\t\"v8/tools/codemap\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/consarray\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/csvparser\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/logreader\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/profile_view\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/splaytree\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8\": \">= 1\",\n\t\"node:v8\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"vm\": true,\n\t\"node:vm\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"wasi\": [\">= 13.4 && < 13.5\", \">= 18.17 && < 19\", \">= 20\"],\n\t\"node:wasi\": [\">= 18.17 && < 19\", \">= 20\"],\n\t\"worker_threads\": \">= 11.7\",\n\t\"node:worker_threads\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"zlib\": \">= 0.5\",\n\t\"node:zlib\": [\">= 14.18 && < 15\", \">= 16\"]\n}\n", "'use strict';\n\nvar isCoreModule = require('is-core-module');\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] = isCoreModule(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 isCore = require('is-core-module');\nvar fs = require('fs');\nvar path = require('path');\nvar getHomedir = require('./homedir');\nvar caller = require('./caller');\nvar nodeModulesPaths = require('./node-modules-paths');\nvar normalizeOptions = require('./normalize-options');\n\nvar realpathFS = process.platform !== 'win32' && fs.realpathSync && typeof fs.realpathSync.native === 'function' ? fs.realpathSync.native : fs.realpathSync;\n\nvar homedir = getHomedir();\nvar defaultPaths = function () {\n return [\n path.join(homedir, '.node_modules'),\n path.join(homedir, '.node_libraries')\n ];\n};\n\nvar defaultIsFile = function isFile(file) {\n try {\n var stat = fs.statSync(file, { throwIfNoEntry: false });\n } catch (e) {\n if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;\n throw e;\n }\n return !!stat && (stat.isFile() || stat.isFIFO());\n};\n\nvar defaultIsDir = function isDirectory(dir) {\n try {\n var stat = fs.statSync(dir, { throwIfNoEntry: false });\n } catch (e) {\n if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;\n throw e;\n }\n return !!stat && 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 || defaultPaths();\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 \u201C' + pkg.name + '\u201D `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", "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", "module.exports = extractDescription\n\n// Extracts description from contents of a readme file in markdown format\nfunction extractDescription (d) {\n if (!d) return;\n if (d === \"ERROR: No README data found!\") return;\n // the first block of text before the first heading\n // that isn't the first line heading\n d = d.trim().split('\\n')\n for (var s = 0; d[s] && d[s].trim().match(/^(#|$)/); s ++);\n var l = d.length\n for (var e = s + 1; e < l && d[e].trim(); e ++);\n return d.slice(s, e).join(' ').trim()\n}\n", "{\n \"topLevel\": {\n \"dependancies\": \"dependencies\"\n ,\"dependecies\": \"dependencies\"\n ,\"depdenencies\": \"dependencies\"\n ,\"devEependencies\": \"devDependencies\"\n ,\"depends\": \"dependencies\"\n ,\"dev-dependencies\": \"devDependencies\"\n ,\"devDependences\": \"devDependencies\"\n ,\"devDepenencies\": \"devDependencies\"\n ,\"devdependencies\": \"devDependencies\"\n ,\"repostitory\": \"repository\"\n ,\"repo\": \"repository\"\n ,\"prefereGlobal\": \"preferGlobal\"\n ,\"hompage\": \"homepage\"\n ,\"hampage\": \"homepage\"\n ,\"autohr\": \"author\"\n ,\"autor\": \"author\"\n ,\"contributers\": \"contributors\"\n ,\"publicationConfig\": \"publishConfig\"\n ,\"script\": \"scripts\"\n },\n \"bugs\": { \"web\": \"url\", \"name\": \"url\" },\n \"script\": { \"server\": \"start\", \"tests\": \"test\" }\n}\n", "var semver = require(\"semver\")\nvar validateLicense = require('validate-npm-package-license');\nvar hostedGitInfo = require(\"hosted-git-info\")\nvar isBuiltinModule = require(\"resolve\").isCore\nvar depTypes = [\"dependencies\",\"devDependencies\",\"optionalDependencies\"]\nvar extractDescription = require(\"./extract_description\")\nvar url = require(\"url\")\nvar typos = require(\"./typos.json\")\n\nvar fixer = module.exports = {\n // default warning function\n warn: function() {},\n\n fixRepositoryField: function(data) {\n if (data.repositories) {\n this.warn(\"repositories\");\n data.repository = data.repositories[0]\n }\n if (!data.repository) return this.warn(\"missingRepository\")\n if (typeof data.repository === \"string\") {\n data.repository = {\n type: \"git\",\n url: data.repository\n }\n }\n var r = data.repository.url || \"\"\n if (r) {\n var hosted = hostedGitInfo.fromUrl(r)\n if (hosted) {\n r = data.repository.url\n = hosted.getDefaultRepresentation() == \"shortcut\" ? hosted.https() : hosted.toString()\n }\n }\n\n if (r.match(/github.com\\/[^\\/]+\\/[^\\/]+\\.git\\.git$/)) {\n this.warn(\"brokenGitUrl\", r)\n }\n }\n\n, fixTypos: function(data) {\n Object.keys(typos.topLevel).forEach(function (d) {\n if (data.hasOwnProperty(d)) {\n this.warn(\"typo\", d, typos.topLevel[d])\n }\n }, this)\n }\n\n, fixScriptsField: function(data) {\n if (!data.scripts) return\n if (typeof data.scripts !== \"object\") {\n this.warn(\"nonObjectScripts\")\n delete data.scripts\n return\n }\n Object.keys(data.scripts).forEach(function (k) {\n if (typeof data.scripts[k] !== \"string\") {\n this.warn(\"nonStringScript\")\n delete data.scripts[k]\n } else if (typos.script[k] && !data.scripts[typos.script[k]]) {\n this.warn(\"typo\", k, typos.script[k], \"scripts\")\n }\n }, this)\n }\n\n, fixFilesField: function(data) {\n var files = data.files\n if (files && !Array.isArray(files)) {\n this.warn(\"nonArrayFiles\")\n delete data.files\n } else if (data.files) {\n data.files = data.files.filter(function(file) {\n if (!file || typeof file !== \"string\") {\n this.warn(\"invalidFilename\", file)\n return false\n } else {\n return true\n }\n }, this)\n }\n }\n\n, fixBinField: function(data) {\n if (!data.bin) return;\n if (typeof data.bin === \"string\") {\n var b = {}\n var match\n if (match = data.name.match(/^@[^/]+[/](.*)$/)) {\n b[match[1]] = data.bin\n } else {\n b[data.name] = data.bin\n }\n data.bin = b\n }\n }\n\n, fixManField: function(data) {\n if (!data.man) return;\n if (typeof data.man === \"string\") {\n data.man = [ data.man ]\n }\n }\n, fixBundleDependenciesField: function(data) {\n var bdd = \"bundledDependencies\"\n var bd = \"bundleDependencies\"\n if (data[bdd] && !data[bd]) {\n data[bd] = data[bdd]\n delete data[bdd]\n }\n if (data[bd] && !Array.isArray(data[bd])) {\n this.warn(\"nonArrayBundleDependencies\")\n delete data[bd]\n } else if (data[bd]) {\n data[bd] = data[bd].filter(function(bd) {\n if (!bd || typeof bd !== 'string') {\n this.warn(\"nonStringBundleDependency\", bd)\n return false\n } else {\n if (!data.dependencies) {\n data.dependencies = {}\n }\n if (!data.dependencies.hasOwnProperty(bd)) {\n this.warn(\"nonDependencyBundleDependency\", bd)\n data.dependencies[bd] = \"*\"\n }\n return true\n }\n }, this)\n }\n }\n\n, fixDependencies: function(data, strict) {\n var loose = !strict\n objectifyDeps(data, this.warn)\n addOptionalDepsToDeps(data, this.warn)\n this.fixBundleDependenciesField(data)\n\n ;['dependencies','devDependencies'].forEach(function(deps) {\n if (!(deps in data)) return\n if (!data[deps] || typeof data[deps] !== \"object\") {\n this.warn(\"nonObjectDependencies\", deps)\n delete data[deps]\n return\n }\n Object.keys(data[deps]).forEach(function (d) {\n var r = data[deps][d]\n if (typeof r !== 'string') {\n this.warn(\"nonStringDependency\", d, JSON.stringify(r))\n delete data[deps][d]\n }\n var hosted = hostedGitInfo.fromUrl(data[deps][d])\n if (hosted) data[deps][d] = hosted.toString()\n }, this)\n }, this)\n }\n\n, fixModulesField: function (data) {\n if (data.modules) {\n this.warn(\"deprecatedModules\")\n delete data.modules\n }\n }\n\n, fixKeywordsField: function (data) {\n if (typeof data.keywords === \"string\") {\n data.keywords = data.keywords.split(/,\\s+/)\n }\n if (data.keywords && !Array.isArray(data.keywords)) {\n delete data.keywords\n this.warn(\"nonArrayKeywords\")\n } else if (data.keywords) {\n data.keywords = data.keywords.filter(function(kw) {\n if (typeof kw !== \"string\" || !kw) {\n this.warn(\"nonStringKeyword\");\n return false\n } else {\n return true\n }\n }, this)\n }\n }\n\n, fixVersionField: function(data, strict) {\n // allow \"loose\" semver 1.0 versions in non-strict mode\n // enforce strict semver 2.0 compliance in strict mode\n var loose = !strict\n if (!data.version) {\n data.version = \"\"\n return true\n }\n if (!semver.valid(data.version, loose)) {\n throw new Error('Invalid version: \"'+ data.version + '\"')\n }\n data.version = semver.clean(data.version, loose)\n return true\n }\n\n, fixPeople: function(data) {\n modifyPeople(data, unParsePerson)\n modifyPeople(data, parsePerson)\n }\n\n, fixNameField: function(data, options) {\n if (typeof options === \"boolean\") options = {strict: options}\n else if (typeof options === \"undefined\") options = {}\n var strict = options.strict\n if (!data.name && !strict) {\n data.name = \"\"\n return\n }\n if (typeof data.name !== \"string\") {\n throw new Error(\"name field must be a string.\")\n }\n if (!strict)\n data.name = data.name.trim()\n ensureValidName(data.name, strict, options.allowLegacyCase)\n if (isBuiltinModule(data.name))\n this.warn(\"conflictingName\", data.name)\n }\n\n\n, fixDescriptionField: function (data) {\n if (data.description && typeof data.description !== 'string') {\n this.warn(\"nonStringDescription\")\n delete data.description\n }\n if (data.readme && !data.description)\n data.description = extractDescription(data.readme)\n if(data.description === undefined) delete data.description;\n if (!data.description) this.warn(\"missingDescription\")\n }\n\n, fixReadmeField: function (data) {\n if (!data.readme) {\n this.warn(\"missingReadme\")\n data.readme = \"ERROR: No README data found!\"\n }\n }\n\n, fixBugsField: function(data) {\n if (!data.bugs && data.repository && data.repository.url) {\n var hosted = hostedGitInfo.fromUrl(data.repository.url)\n if(hosted && hosted.bugs()) {\n data.bugs = {url: hosted.bugs()}\n }\n }\n else if(data.bugs) {\n var emailRe = /^.+@.*\\..+$/\n if(typeof data.bugs == \"string\") {\n if(emailRe.test(data.bugs))\n data.bugs = {email:data.bugs}\n else if(url.parse(data.bugs).protocol)\n data.bugs = {url: data.bugs}\n else\n this.warn(\"nonEmailUrlBugsString\")\n }\n else {\n bugsTypos(data.bugs, this.warn)\n var oldBugs = data.bugs\n data.bugs = {}\n if(oldBugs.url) {\n if(typeof(oldBugs.url) == \"string\" && url.parse(oldBugs.url).protocol)\n data.bugs.url = oldBugs.url\n else\n this.warn(\"nonUrlBugsUrlField\")\n }\n if(oldBugs.email) {\n if(typeof(oldBugs.email) == \"string\" && emailRe.test(oldBugs.email))\n data.bugs.email = oldBugs.email\n else\n this.warn(\"nonEmailBugsEmailField\")\n }\n }\n if(!data.bugs.email && !data.bugs.url) {\n delete data.bugs\n this.warn(\"emptyNormalizedBugs\")\n }\n }\n }\n\n, fixHomepageField: function(data) {\n if (!data.homepage && data.repository && data.repository.url) {\n var hosted = hostedGitInfo.fromUrl(data.repository.url)\n if (hosted && hosted.docs()) data.homepage = hosted.docs()\n }\n if (!data.homepage) return\n\n if(typeof data.homepage !== \"string\") {\n this.warn(\"nonUrlHomepage\")\n return delete data.homepage\n }\n if(!url.parse(data.homepage).protocol) {\n data.homepage = \"http://\" + data.homepage\n }\n }\n\n, fixLicenseField: function(data) {\n if (!data.license) {\n return this.warn(\"missingLicense\")\n } else{\n if (\n typeof(data.license) !== 'string' ||\n data.license.length < 1 ||\n data.license.trim() === ''\n ) {\n this.warn(\"invalidLicense\")\n } else {\n if (!validateLicense(data.license).validForNewPackages)\n this.warn(\"invalidLicense\")\n }\n }\n }\n}\n\nfunction isValidScopedPackageName(spec) {\n if (spec.charAt(0) !== '@') return false\n\n var rest = spec.slice(1).split('/')\n if (rest.length !== 2) return false\n\n return rest[0] && rest[1] &&\n rest[0] === encodeURIComponent(rest[0]) &&\n rest[1] === encodeURIComponent(rest[1])\n}\n\nfunction isCorrectlyEncodedName(spec) {\n return !spec.match(/[\\/@\\s\\+%:]/) &&\n spec === encodeURIComponent(spec)\n}\n\nfunction ensureValidName (name, strict, allowLegacyCase) {\n if (name.charAt(0) === \".\" ||\n !(isValidScopedPackageName(name) || isCorrectlyEncodedName(name)) ||\n (strict && (!allowLegacyCase) && name !== name.toLowerCase()) ||\n name.toLowerCase() === \"node_modules\" ||\n name.toLowerCase() === \"favicon.ico\") {\n throw new Error(\"Invalid name: \" + JSON.stringify(name))\n }\n}\n\nfunction modifyPeople (data, fn) {\n if (data.author) data.author = fn(data.author)\n ;[\"maintainers\", \"contributors\"].forEach(function (set) {\n if (!Array.isArray(data[set])) return;\n data[set] = data[set].map(fn)\n })\n return data\n}\n\nfunction unParsePerson (person) {\n if (typeof person === \"string\") return person\n var name = person.name || \"\"\n var u = person.url || person.web\n var url = u ? (\" (\"+u+\")\") : \"\"\n var e = person.email || person.mail\n var email = e ? (\" <\"+e+\">\") : \"\"\n return name+email+url\n}\n\nfunction parsePerson (person) {\n if (typeof person !== \"string\") return person\n var name = person.match(/^([^\\(<]+)/)\n var url = person.match(/\\(([^\\)]+)\\)/)\n var email = person.match(/<([^>]+)>/)\n var obj = {}\n if (name && name[0].trim()) obj.name = name[0].trim()\n if (email) obj.email = email[1];\n if (url) obj.url = url[1];\n return obj\n}\n\nfunction addOptionalDepsToDeps (data, warn) {\n var o = data.optionalDependencies\n if (!o) return;\n var d = data.dependencies || {}\n Object.keys(o).forEach(function (k) {\n d[k] = o[k]\n })\n data.dependencies = d\n}\n\nfunction depObjectify (deps, type, warn) {\n if (!deps) return {}\n if (typeof deps === \"string\") {\n deps = deps.trim().split(/[\\n\\r\\s\\t ,]+/)\n }\n if (!Array.isArray(deps)) return deps\n warn(\"deprecatedArrayDependencies\", type)\n var o = {}\n deps.filter(function (d) {\n return typeof d === \"string\"\n }).forEach(function(d) {\n d = d.trim().split(/(:?[@\\s><=])/)\n var dn = d.shift()\n var dv = d.join(\"\")\n dv = dv.trim()\n dv = dv.replace(/^@/, \"\")\n o[dn] = dv\n })\n return o\n}\n\nfunction objectifyDeps (data, warn) {\n depTypes.forEach(function (type) {\n if (!data[type]) return;\n data[type] = depObjectify(data[type], type, warn)\n })\n}\n\nfunction bugsTypos(bugs, warn) {\n if (!bugs) return\n Object.keys(bugs).forEach(function (k) {\n if (typos.bugs[k]) {\n warn(\"typo\", k, typos.bugs[k], \"bugs\")\n bugs[typos.bugs[k]] = bugs[k]\n delete bugs[k]\n }\n })\n}\n", "{\n \"repositories\": \"'repositories' (plural) Not supported. Please pick one as the 'repository' field\"\n ,\"missingRepository\": \"No repository field.\"\n ,\"brokenGitUrl\": \"Probably broken git url: %s\"\n ,\"nonObjectScripts\": \"scripts must be an object\"\n ,\"nonStringScript\": \"script values must be string commands\"\n ,\"nonArrayFiles\": \"Invalid 'files' member\"\n ,\"invalidFilename\": \"Invalid filename in 'files' list: %s\"\n ,\"nonArrayBundleDependencies\": \"Invalid 'bundleDependencies' list. Must be array of package names\"\n ,\"nonStringBundleDependency\": \"Invalid bundleDependencies member: %s\"\n ,\"nonDependencyBundleDependency\": \"Non-dependency in bundleDependencies: %s\"\n ,\"nonObjectDependencies\": \"%s field must be an object\"\n ,\"nonStringDependency\": \"Invalid dependency: %s %s\"\n ,\"deprecatedArrayDependencies\": \"specifying %s as array is deprecated\"\n ,\"deprecatedModules\": \"modules field is deprecated\"\n ,\"nonArrayKeywords\": \"keywords should be an array of strings\"\n ,\"nonStringKeyword\": \"keywords should be an array of strings\"\n ,\"conflictingName\": \"%s is also the name of a node core module.\"\n ,\"nonStringDescription\": \"'description' field should be a string\"\n ,\"missingDescription\": \"No description\"\n ,\"missingReadme\": \"No README data\"\n ,\"missingLicense\": \"No license field.\"\n ,\"nonEmailUrlBugsString\": \"Bug string field must be url, email, or {email,url}\"\n ,\"nonUrlBugsUrlField\": \"bugs.url field must be a string url. Deleted.\"\n ,\"nonEmailBugsEmailField\": \"bugs.email field must be a string email. Deleted.\"\n ,\"emptyNormalizedBugs\": \"Normalized value of bugs field is an empty object. Deleted.\"\n ,\"nonUrlHomepage\": \"homepage field must be a string url. Deleted.\"\n ,\"invalidLicense\": \"license should be a valid SPDX license expression\"\n ,\"typo\": \"%s should probably be %s.\"\n}\n", "var util = require(\"util\")\nvar messages = require(\"./warning_messages.json\")\n\nmodule.exports = function() {\n var args = Array.prototype.slice.call(arguments, 0)\n var warningName = args.shift()\n if (warningName == \"typo\") {\n return makeTypoWarning.apply(null,args)\n }\n else {\n var msgTemplate = messages[warningName] ? messages[warningName] : warningName + \": '%s'\"\n args.unshift(msgTemplate)\n return util.format.apply(null, args)\n }\n}\n\nfunction makeTypoWarning (providedName, probableName, field) {\n if (field) {\n providedName = field + \"['\" + providedName + \"']\"\n probableName = field + \"['\" + probableName + \"']\"\n }\n return util.format(messages.typo, providedName, probableName)\n}\n", "module.exports = normalize\n\nvar fixer = require(\"./fixer\")\nnormalize.fixer = fixer\n\nvar makeWarning = require(\"./make_warning\")\n\nvar fieldsToFix = ['name','version','description','repository','modules','scripts'\n ,'files','bin','man','bugs','keywords','readme','homepage','license']\nvar otherThingsToFix = ['dependencies','people', 'typos']\n\nvar thingsToFix = fieldsToFix.map(function(fieldName) {\n return ucFirst(fieldName) + \"Field\"\n})\n// two ways to do this in CoffeeScript on only one line, sub-70 chars:\n// thingsToFix = fieldsToFix.map (name) -> ucFirst(name) + \"Field\"\n// thingsToFix = (ucFirst(name) + \"Field\" for name in fieldsToFix)\nthingsToFix = thingsToFix.concat(otherThingsToFix)\n\nfunction normalize (data, warn, strict) {\n if(warn === true) warn = null, strict = true\n if(!strict) strict = false\n if(!warn || data.private) warn = function(msg) { /* noop */ }\n\n if (data.scripts &&\n data.scripts.install === \"node-gyp rebuild\" &&\n !data.scripts.preinstall) {\n data.gypfile = true\n }\n fixer.warn = function() { warn(makeWarning.apply(null, arguments)) }\n thingsToFix.forEach(function(thingName) {\n fixer[\"fix\" + ucFirst(thingName)](data, strict)\n })\n data._id = data.name + \"@\" + data.version\n}\n\nfunction ucFirst (string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n", "'use strict';\nconst {promisify} = require('util');\nconst fs = require('fs');\nconst path = require('path');\nconst parseJson = require('parse-json');\n\nconst readFileAsync = promisify(fs.readFile);\n\nmodule.exports = async options => {\n\toptions = {\n\t\tcwd: process.cwd(),\n\t\tnormalize: true,\n\t\t...options\n\t};\n\n\tconst filePath = path.resolve(options.cwd, 'package.json');\n\tconst json = parseJson(await readFileAsync(filePath, 'utf8'));\n\n\tif (options.normalize) {\n\t\trequire('normalize-package-data')(json);\n\t}\n\n\treturn json;\n};\n\nmodule.exports.sync = options => {\n\toptions = {\n\t\tcwd: process.cwd(),\n\t\tnormalize: true,\n\t\t...options\n\t};\n\n\tconst filePath = path.resolve(options.cwd, 'package.json');\n\tconst json = parseJson(fs.readFileSync(filePath, 'utf8'));\n\n\tif (options.normalize) {\n\t\trequire('normalize-package-data')(json);\n\t}\n\n\treturn json;\n};\n", "'use strict';\nconst path = require('path');\nconst findUp = require('find-up');\nconst readPkg = require('read-pkg');\n\nmodule.exports = async options => {\n\tconst filePath = await findUp('package.json', options);\n\n\tif (!filePath) {\n\t\treturn;\n\t}\n\n\treturn {\n\t\tpackageJson: await readPkg({...options, cwd: path.dirname(filePath)}),\n\t\tpath: filePath\n\t};\n};\n\nmodule.exports.sync = options => {\n\tconst filePath = findUp.sync('package.json', options);\n\n\tif (!filePath) {\n\t\treturn;\n\t}\n\n\treturn {\n\t\tpackageJson: readPkg.sync({...options, cwd: path.dirname(filePath)}),\n\t\tpath: filePath\n\t};\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.crossLaunchCommand = exports.callbackLaunchCommand = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst read_pkg_up_1 = require(\"read-pkg-up\");\nconst callbackLaunchCommand = async (options, result) => (0, api_1.launchCommand)({\n ...options,\n context: {\n ...options.context,\n ...result,\n },\n});\nexports.callbackLaunchCommand = callbackLaunchCommand;\nconst crossLaunchCommand = async (options, callbackLaunchOptions) => {\n if (callbackLaunchOptions === false) {\n return (0, api_1.launchCommand)(options);\n }\n // eslint-disable-next-line unicorn/prefer-module, @typescript-eslint/no-unsafe-assignment\n const pack = (0, read_pkg_up_1.sync)({ cwd: __dirname, normalize: false });\n const ownerOrAuthorName = \n // The `ownerOrAuthorName` was introduced in @raycast/api@1.78.0. We use a fallback to support older versions.\n api_1.environment.ownerOrAuthorName ??\n (pack?.packageJson?.owner ?? pack?.packageJson?.author);\n if ('ownerOrAuthorName' in options) {\n const targetHandle = `${options.ownerOrAuthorName}/${options.extensionName}`;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n if (!pack?.packageJson?.crossExtensions?.includes(targetHandle)) {\n const message = `Target extension '${targetHandle}' should be listed in 'crossExtensions' of package.json.`;\n console.error(message);\n return;\n }\n }\n return (0, api_1.launchCommand)({\n ...options,\n context: {\n ...options.context,\n callbackLaunchOptions: {\n name: api_1.environment.commandName,\n extensionName: api_1.environment.extensionName,\n ownerOrAuthorName,\n type: api_1.LaunchType.UserInitiated,\n ...callbackLaunchOptions,\n },\n },\n });\n};\nexports.crossLaunchCommand = crossLaunchCommand;\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 this.size = 0;\n}\n\nmodule.exports = listCacheClear;\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\nmodule.exports = eq;\n", "var eq = require('./eq');\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\nmodule.exports = assocIndexOf;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\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 --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n", "var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheGet;\n", "var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheHas;\n", "var assocIndexOf = require('./_assocIndexOf');\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 ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n", "var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = ListCache;\n", "var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n", "/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\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 stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n", "/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n", "/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\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 stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n", "/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\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 root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\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 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", "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", "/**\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", "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", "var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n", "var coreJsData = require('./_coreJsData');\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/**\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\nmodule.exports = isMasked;\n", "/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\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\nmodule.exports = toSource;\n", "var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\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 for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\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/** 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/**\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) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\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\nmodule.exports = getValue;\n", "var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\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\nmodule.exports = getNative;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n", "var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n", "var nativeCreate = require('./_nativeCreate');\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 this.size = 0;\n}\n\nmodule.exports = hashClear;\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 var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 * 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\nmodule.exports = hashGet;\n", "var nativeCreate = require('./_nativeCreate');\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 * 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\nmodule.exports = hashHas;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n", "var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = Hash;\n", "var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\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.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\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\nmodule.exports = isKeyable;\n", "var isKeyable = require('./_isKeyable');\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\nmodule.exports = getMapData;\n", "var getMapData = require('./_getMapData');\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 var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n", "var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheGet;\n", "var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheHas;\n", "var getMapData = require('./_getMapData');\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 var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n", "var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = MapCache;\n", "var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n", "var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n", "/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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\nmodule.exports = setCacheAdd;\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\nmodule.exports = setCacheHas;\n", "var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\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 == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n", "/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\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\nmodule.exports = cacheHas;\n", "var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n", "var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n", "/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n", "/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n", "var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\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\nmodule.exports = arrayPush;\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 arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\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\nmodule.exports = baseGetAllKeys;\n", "/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\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 = stubArray;\n", "var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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 nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols 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 ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\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 * 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 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 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 * 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", "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", "/** 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 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", "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", "/**\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", "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", "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 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", "/** 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", "/**\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 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 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", "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 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", "var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and 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 getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n", "var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\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 * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n", "var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n", "var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\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 * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n", "var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n", "var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n", "var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n", "var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n", "/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n", "var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n", "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\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\nmodule.exports = isSymbol;\n", "var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n", "var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n", "var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n", "var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\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 == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n", "var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n", "var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n", "var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n", "var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\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\nmodule.exports = toKey;\n", "var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n", "var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n", "/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n", "var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n", "var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n", "var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n", "/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n", "/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n", "var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n", "var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n", "var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\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\nmodule.exports = baseFindIndex;\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\nmodule.exports = baseIsNaN;\n", "/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\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 strictIndexOf(array, value, fromIndex) {\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\nmodule.exports = strictIndexOf;\n", "var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\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 return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n", "var baseIndexOf = require('./_baseIndexOf');\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 == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\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 == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\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", "var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n", "var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\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 seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n", "var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n", "import { Clipboard, closeMainWindow, Detail, LaunchProps, popToRoot, showHUD } from \"@raycast/api\";\nimport { showFailureToast } from \"@raycast/utils\";\nimport { callbackLaunchCommand, LaunchOptions } from \"raycast-cross-extension\";\nimport { useEffect } from \"react\";\nimport { pickColor } from \"swift:../swift/color-picker\";\nimport { addToHistory } from \"./history\";\nimport { Color } from \"./types\";\nimport { getFormattedColor } from \"./utils\";\n\nexport default function Command({\n launchContext = {},\n}: LaunchProps<{\n launchContext?: {\n copyToClipboard?: boolean;\n callbackLaunchOptions?: LaunchOptions;\n };\n}>) {\n useEffect(() => {\n async function pickAndHandleColor() {\n try {\n const pickedColor = (await pickColor()) as Color | undefined;\n if (!pickedColor) {\n return;\n }\n\n addToHistory(pickedColor);\n\n const hex = getFormattedColor(pickedColor);\n if (!hex) {\n throw new Error(\"Failed to format color\");\n }\n\n if (launchContext?.callbackLaunchOptions) {\n if (launchContext.copyToClipboard) {\n await Clipboard.copy(hex);\n }\n try {\n await callbackLaunchCommand(launchContext.callbackLaunchOptions, { hex });\n } catch (e) {\n await showFailureToast(e);\n }\n } else {\n await Clipboard.copy(hex);\n await showHUD(`Copied color ${hex} to clipboard`);\n await closeMainWindow();\n await popToRoot();\n }\n } catch (e) {\n console.error(e);\n await showHUD(\"\u274C Failed picking color\");\n }\n }\n\n pickAndHandleColor();\n }, []);\n\n return <Detail markdown=\"![RGB Color Wheel](rgb-color-wheel.webp?&raycast-height=350)\" />;\n}\n", "\nimport { environment } from \"@raycast/api\";\nimport { join } from \"path\";\nimport { chmod } from \"fs/promises\";\nimport { spawn } from \"child_process\";\n\nasync function runSwiftFunction(command, ...args) {\n const swiftPath = join(environment.assetsPath, \"compiled_raycast_swift/color-picker\");\n await chmod(swiftPath, \"755\");\n\n return new Promise((resolve, reject) => {\n const commandArgs = [command];\n for (const arg of args) {\n try {\n commandArgs.push(JSON.stringify(arg, (k, v) => v === undefined ? null : v));\n } catch (err) {\n reject(new SwiftError(\"Failed to serialize input to JSON: \" + err.message));\n return;\n }\n }\n const child = spawn(swiftPath, commandArgs);\n const stdout = [];\n const stderr = [];\n\n child.stdout?.on(\"data\", (data) => {\n stdout.push(data.toString());\n });\n child.stderr?.on(\"data\", (data) => {\n stderr.push(data.toString());\n });\n\n child.on(\"exit\", (code) => {\n if (code === 0) {\n try {\n const result = stdout.join(\"\").trim();\n if (result.length != 0) {\n resolve(JSON.parse(result));\n } else {\n resolve(null);\n }\n } catch (err) {\n const error = new SwiftError(\"Failed to deserialize result from JSON: \" + err.message);\n error.stdout = stdout.join(\"\").trim();\n error.stderr = stderr.join(\"\").trim();\n reject(error);\n }\n } else {\n const error = new SwiftError(stderr.join(\"\").trim() || stdout.join(\"\").trim() || \"Could not get any data\");\n error.stdout = stdout.join(\"\").trim();\n error.stderr = stderr.join(\"\").trim();\n reject(error);\n }\n });\n\n child.on(\"error\", (error) => {\n reject(error);\n });\n });\n}\n\nexport async function pickColor() {\n return await runSwiftFunction(\"pickColor\")\n}\n\nexport class SwiftError extends Error {\n constructor(message) {\n super(message);\n this.name = \"SwiftError\";\n }\n}\n", "import { Cache } from \"@raycast/api\";\nimport { useCachedState } from \"@raycast/utils\";\nimport { HistoryColor, HistoryItem } from \"./types\";\nimport { getFormattedColor } from \"./utils\";\n\nconst MAX_HISTORY_LENGTH = 200;\n\nexport function useHistory() {\n const [history, setHistory] = useCachedState<HistoryItem[]>(\"history\", []);\n return {\n history,\n remove: (color: HistoryColor) =>\n setHistory((previousHistory) => {\n return previousHistory.filter((item) => getFormattedColor(item.color) !== getFormattedColor(color));\n }),\n edit: (historyItem: HistoryItem) =>\n setHistory((previousHistory) => {\n return previousHistory.map((item) =>\n getFormattedColor(item.color) === getFormattedColor(historyItem.color) ? historyItem : item,\n );\n }),\n clear: () => setHistory([]),\n };\n}\n\nexport function addToHistory(color: HistoryColor) {\n const cache = new Cache();\n\n const serializedHistory = cache.get(\"history\");\n const previousHistory = serializedHistory ? (JSON.parse(serializedHistory) as HistoryItem[]) : [];\n\n const historyItem: HistoryItem = { date: new Date().toISOString(), color };\n const newHistory = [\n historyItem,\n ...previousHistory.filter((item) => getFormattedColor(item.color) !== getFormattedColor(color)),\n ].slice(0, MAX_HISTORY_LENGTH);\n\n cache.set(\"history\", JSON.stringify(newHistory));\n}\n", "import { getPreferenceValues, Icon, Image, Keyboard, List } from \"@raycast/api\";\nimport ColorJS from \"colorjs.io\";\nimport { Colors, Palette } from \"color-namer\";\nimport uniqBy from \"lodash/uniqBy\";\nimport { HistoryColor, HistoryItem } from \"./types\";\nimport { ColorFormatType } from \"./types\";\n\nconst preferences = getPreferenceValues<ExtensionPreferences>();\n\nexport function getFormattedColor(_color: HistoryColor, format?: ColorFormatType) {\n let color;\n if (typeof _color === \"string\") {\n color = new ColorJS(_color);\n } else if (\"colorSpace\" in _color) {\n color = new ColorJS(_color.colorSpace, [_color.red, _color.green, _color.blue], _color.alpha);\n } else {\n color = new ColorJS(\"srgb\", [_color.red / 255, _color.green / 255, _color.blue / 255], _color.alpha);\n }\n\n switch (format || preferences.colorFormat) {\n default:\n case \"hex\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).toUpperCase();\n }\n case \"hex-lower-case\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).toLowerCase();\n }\n case \"hex-no-prefix\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).replace(\"#\", \"\");\n }\n case \"rgb\": {\n return color.to(\"srgb\").toString({ format: \"rgb_number\" });\n }\n case \"rgb-percentage\": {\n return color.to(\"srgb\").toString({ format: \"rgb\" });\n }\n case \"rgba\": {\n return color.to(\"srgb\").toString({ format: \"rgba_number\" });\n }\n case \"rgba-percentage\": {\n return color.to(\"srgb\").toString({ format: \"rgba\" });\n }\n case \"hsla\": {\n return color.to(\"hsl\").toString({ format: \"hsla\" });\n }\n case \"hsva\": {\n return color.to(\"hsv\").toString({ format: \"color\" });\n }\n case \"oklch\": {\n const oklchColor = color.to(\"oklch\");\n const [l, c, h] = oklchColor.coords;\n const lPercentage = (l * 100).toFixed(2);\n return `oklch(${lPercentage}% ${c} ${h})`;\n }\n case \"lch\": {\n const lchColor = color.to(\"lch\");\n const [l, c, h] = lchColor.coords;\n return `lch(${l.toFixed(2)}% ${c} ${h})`;\n }\n case \"p3\": {\n return color.to(\"p3\").toString({ format: \"p3\" });\n }\n }\n}\n\nconst unsupportedPreviewFormats = [\"p3\", \"rgb\", \"rgb-percentage\"];\nexport function getPreviewColor(color: HistoryColor) {\n const formattedColor = getFormattedColor(\n color,\n unsupportedPreviewFormats.includes(preferences.colorFormat) ? \"oklch\" : undefined,\n );\n return formattedColor;\n}\n\nexport function getShortcut(index: number) {\n const key = index + 1;\n\n let shortcut: Keyboard.Shortcut | undefined;\n if (key >= 1 && key <= 9) {\n shortcut = { modifiers: [\"cmd\"], key: String(key) as Keyboard.KeyEquivalent };\n }\n\n return shortcut;\n}\n\nexport function getIcon(color: HistoryColor) {\n const previewColor = typeof color === \"string\" ? color : getFormattedColor(color, \"hex\");\n if (!previewColor) {\n return undefined;\n }\n\n const icon: Image.ImageLike = {\n source: Icon.CircleFilled,\n tintColor: { light: previewColor, dark: previewColor, adjustContrast: false },\n };\n\n return icon;\n}\n\nexport function getAccessories(historyItem: HistoryItem) {\n const accessories = new Array<List.Item.Accessory>();\n accessories.push({ date: new Date(historyItem.date), tooltip: new Date(historyItem.date).toLocaleString() });\n return accessories;\n}\n\nexport function normalizeColorHex(colorInput: string) {\n let hex = colorInput.replace(/^#/, \"\");\n const validHexPattern = /^([a-f\\d]{3,4}|[a-f\\d]{6}|[a-f]\\d{8})$/i;\n if (validHexPattern.test(hex)) {\n switch (hex.length) {\n case 3:\n case 4:\n hex = hex\n .slice(0, 3)\n .split(\"\")\n .map((x) => x.repeat(2))\n .join(\"\");\n break;\n case 8:\n hex = hex.slice(0, 6);\n break;\n }\n }\n return \"#\" + hex.toUpperCase();\n}\n\nexport function getColorByPlatform(normalizedSearchString: string, colors?: Colors<Palette>) {\n return Object.entries(colors ?? {}).sort(([, a], [, b]) => {\n if (normalizeColorHex(a[0].hex) === normalizeColorHex(b[0].hex)) return 0;\n if (normalizedSearchString === normalizeColorHex(a[0].hex)) return -1;\n return 1;\n });\n}\n\nexport function getColorByProximity(colors?: Colors<Palette>) {\n return uniqBy(Object.values(colors ?? {}).flat(), (x) => x.name.toLowerCase()).sort(\n (a, b) => a.distance - b.distance,\n );\n}\n", "// A is m x n. B is n x p. product is m x p.\nexport default function multiplyMatrices (A, B) {\n\tlet m = A.length;\n\n\tif (!Array.isArray(A[0])) {\n\t\t// A is vector, convert to [[a, b, c, ...]]\n\t\tA = [A];\n\t}\n\n\tif (!Array.isArray(B[0])) {\n\t\t// B is vector, convert to [[a], [b], [c], ...]]\n\t\tB = B.map(x => [x]);\n\t}\n\n\tlet p = B[0].length;\n\tlet B_cols = B[0].map((_, i) => B.map(x => x[i])); // transpose B\n\tlet product = A.map(row => B_cols.map(col => {\n\t\tlet ret = 0;\n\n\t\tif (!Array.isArray(row)) {\n\t\t\tfor (let c of col) {\n\t\t\t\tret += row * c;\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t}\n\n\t\tfor (let i = 0; i < row.length; i++) {\n\t\t\tret += row[i] * (col[i] || 0);\n\t\t}\n\n\t\treturn ret;\n\t}));\n\n\tif (m === 1) {\n\t\tproduct = product[0]; // Avoid [[a, b, c, ...]]\n\t}\n\n\tif (p === 1) {\n\t\treturn product.map(x => x[0]); // Avoid [[a], [b], [c], ...]]\n\t}\n\n\treturn product;\n}\n", "/**\n * Various utility functions\n */\n\nexport {default as multiplyMatrices} from \"./multiply-matrices.js\";\n\n/**\n * Check if a value is a string (including a String object)\n * @param {*} str - Value to check\n * @returns {boolean}\n */\nexport function isString (str) {\n\treturn type(str) === \"string\";\n}\n\n/**\n * Determine the internal JavaScript [[Class]] of an object.\n * @param {*} o - Value to check\n * @returns {string}\n */\nexport function type (o) {\n\tlet str = Object.prototype.toString.call(o);\n\n\treturn (str.match(/^\\[object\\s+(.*?)\\]$/)[1] || \"\").toLowerCase();\n}\n\nexport function serializeNumber (n, {precision, unit }) {\n\tif (isNone(n)) {\n\t\treturn \"none\";\n\t}\n\n\treturn toPrecision(n, precision) + (unit ?? \"\");\n}\n\n/**\n * Check if a value corresponds to a none argument\n * @param {*} n - Value to check\n * @returns {boolean}\n */\nexport function isNone (n) {\n\treturn Number.isNaN(n) || (n instanceof Number && n?.none);\n}\n\n/**\n * Replace none values with 0\n */\nexport function skipNone (n) {\n\treturn isNone(n) ? 0 : n;\n}\n\n/**\n * Round a number to a certain number of significant digits\n * @param {number} n - The number to round\n * @param {number} precision - Number of significant digits\n */\nexport function toPrecision (n, precision) {\n\tif (n === 0) {\n\t\treturn 0;\n\t}\n\tlet integer = ~~n;\n\tlet digits = 0;\n\tif (integer && precision) {\n\t\tdigits = ~~Math.log10(Math.abs(integer)) + 1;\n\t}\n\tconst multiplier = 10.0 ** (precision - digits);\n\treturn Math.floor(n * multiplier + 0.5) / multiplier;\n}\n\nconst angleFactor = {\n\tdeg: 1,\n\tgrad: 0.9,\n\trad: 180 / Math.PI,\n\tturn: 360,\n};\n\n/**\n* Parse a CSS function, regardless of its name and arguments\n* @param String str String to parse\n* @return {{name, args, rawArgs}}\n*/\nexport function parseFunction (str) {\n\tif (!str) {\n\t\treturn;\n\t}\n\n\tstr = str.trim();\n\n\tconst isFunctionRegex = /^([a-z]+)\\((.+?)\\)$/i;\n\tconst isNumberRegex = /^-?[\\d.]+$/;\n\tconst unitValueRegex = /%|deg|g?rad|turn$/;\n\tconst singleArgument = /\\/?\\s*(none|[-\\w.]+(?:%|deg|g?rad|turn)?)/g;\n\tlet parts = str.match(isFunctionRegex);\n\n\tif (parts) {\n\t\t// It is a function, parse args\n\t\tlet args = [];\n\t\tparts[2].replace(singleArgument, ($0, rawArg) => {\n\t\t\tlet match = rawArg.match(unitValueRegex);\n\t\t\tlet arg = rawArg;\n\n\t\t\tif (match) {\n\t\t\t\tlet unit = match[0];\n\t\t\t\t// Drop unit from value\n\t\t\t\tlet unitlessArg = arg.slice(0, -unit.length);\n\n\t\t\t\tif (unit === \"%\") {\n\t\t\t\t\t// Convert percentages to 0-1 numbers\n\t\t\t\t\targ = new Number(unitlessArg / 100);\n\t\t\t\t\targ.type = \"<percentage>\";\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Multiply angle by appropriate factor for its unit\n\t\t\t\t\targ = new Number(unitlessArg * angleFactor[unit]);\n\t\t\t\t\targ.type = \"<angle>\";\n\t\t\t\t\targ.unit = unit;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (isNumberRegex.test(arg)) {\n\t\t\t\t// Convert numerical args to numbers\n\t\t\t\targ = new Number(arg);\n\t\t\t\targ.type = \"<number>\";\n\t\t\t}\n\t\t\telse if (arg === \"none\") {\n\t\t\t\targ = new Number(NaN);\n\t\t\t\targ.none = true;\n\t\t\t}\n\n\t\t\tif ($0.startsWith(\"/\")) {\n\t\t\t\t// It's alpha\n\t\t\t\targ = arg instanceof Number ? arg : new Number(arg);\n\t\t\t\targ.alpha = true;\n\t\t\t}\n\n\t\t\tif (typeof arg === \"object\" && arg instanceof Number) {\n\t\t\t\targ.raw = rawArg;\n\t\t\t}\n\n\t\t\targs.push(arg);\n\t\t});\n\n\t\treturn {\n\t\t\tname: parts[1].toLowerCase(),\n\t\t\trawName: parts[1],\n\t\t\trawArgs: parts[2],\n\t\t\t// An argument could be (as of css-color-4):\n\t\t\t// a number, percentage, degrees (hue), ident (in color())\n\t\t\targs,\n\t\t};\n\t}\n}\n\nexport function last (arr) {\n\treturn arr[arr.length - 1];\n}\n\nexport function interpolate (start, end, p) {\n\tif (isNaN(start)) {\n\t\treturn end;\n\t}\n\n\tif (isNaN(end)) {\n\t\treturn start;\n\t}\n\n\treturn start + (end - start) * p;\n}\n\nexport function interpolateInv (start, end, value) {\n\treturn (value - start) / (end - start);\n}\n\nexport function mapRange (from, to, value) {\n\treturn interpolate(to[0], to[1], interpolateInv(from[0], from[1], value));\n}\n\nexport function parseCoordGrammar (coordGrammars) {\n\treturn coordGrammars.map(coordGrammar => {\n\t\treturn coordGrammar.split(\"|\").map(type => {\n\t\t\ttype = type.trim();\n\t\t\tlet range = type.match(/^(<[a-z]+>)\\[(-?[.\\d]+),\\s*(-?[.\\d]+)\\]?$/);\n\n\t\t\tif (range) {\n\t\t\t\tlet ret = new String(range[1]);\n\t\t\t\tret.range = [+range[2], +range[3]];\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn type;\n\t\t});\n\t});\n}\n\n/**\n * Clamp value between the minimum and maximum\n * @param {number} min minimum value to return\n * @param {number} val the value to return if it is between min and max\n * @param {number} max maximum value to return\n * @returns number\n */\nexport function clamp (min, val, max) {\n\treturn Math.max(Math.min(max, val), min);\n}\n\n/**\n * Copy sign of one value to another.\n * @param {number} - to number to copy sign to\n * @param {number} - from number to copy sign from\n * @returns number\n */\nexport function copySign (to, from) {\n\treturn Math.sign(to) === Math.sign(from) ? to : -to;\n}\n\n/**\n * Perform pow on a signed number and copy sign to result\n * @param {number} - base the base number\n * @param {number} - exp the exponent\n * @returns number\n */\nexport function spow (base, exp) {\n\treturn copySign(Math.abs(base) ** exp, base);\n}\n\n/**\n * Perform a divide, but return zero if the numerator is zero\n * @param {number} n - the numerator\n * @param {number} d - the denominator\n * @returns number\n */\nexport function zdiv (n, d) {\n\treturn (d === 0) ? 0 : n / d;\n}\n\n/**\n * Perform a bisect on a sorted list and locate the insertion point for\n * a value in arr to maintain sorted order.\n * @param {number[]} arr - array of sorted numbers\n * @param {number} value - value to find insertion point for\n * @param {number} lo - used to specify a the low end of a subset of the list\n * @param {number} hi - used to specify a the high end of a subset of the list\n * @returns number\n */\nexport function bisectLeft (arr, value, lo = 0, hi = arr.length) {\n\twhile (lo < hi) {\n\t\tconst mid = (lo + hi) >> 1;\n\t\tif (arr[mid] < value) {\n\t\t\tlo = mid + 1;\n\t\t}\n\t\telse {\n\t\t\thi = mid;\n\t\t}\n\t}\n\treturn lo;\n}\n", "/**\n * A class for adding deep extensibility to any piece of JS code\n */\nexport class Hooks {\n\tadd (name, callback, first) {\n\t\tif (typeof arguments[0] != \"string\") {\n\t\t\t// Multiple hooks\n\t\t\tfor (var name in arguments[0]) {\n\t\t\t\tthis.add(name, arguments[0][name], arguments[1]);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t(Array.isArray(name) ? name : [name]).forEach(function (name) {\n\t\t\tthis[name] = this[name] || [];\n\n\t\t\tif (callback) {\n\t\t\t\tthis[name][first ? \"unshift\" : \"push\"](callback);\n\t\t\t}\n\t\t}, this);\n\t}\n\n\trun (name, env) {\n\t\tthis[name] = this[name] || [];\n\t\tthis[name].forEach(function (callback) {\n\t\t\tcallback.call(env && env.context ? env.context : env, env);\n\t\t});\n\t}\n}\n\n/**\n * The instance of {@link Hooks} used throughout Color.js\n */\nconst hooks = new Hooks();\n\nexport default hooks;\n", "// Global defaults one may want to configure\nexport default {\n\tgamut_mapping: \"css\",\n\tprecision: 5,\n\tdeltaE: \"76\", // Default deltaE method\n\tverbose: globalThis?.process?.env?.NODE_ENV?.toLowerCase() !== \"test\",\n\twarn: function warn (msg) {\n\t\tif (this.verbose) {\n\t\t\tglobalThis?.console?.warn?.(msg);\n\t\t}\n\t},\n};\n", "import hooks from \"./hooks.js\";\nimport {multiplyMatrices} from \"./util.js\";\n\nexport const WHITES = {\n\t// for compatibility, the four-digit chromaticity-derived ones everyone else uses\n\tD50: [0.3457 / 0.3585, 1.00000, (1.0 - 0.3457 - 0.3585) / 0.3585],\n\tD65: [0.3127 / 0.3290, 1.00000, (1.0 - 0.3127 - 0.3290) / 0.3290],\n};\n\nexport function getWhite (name) {\n\tif (Array.isArray(name)) {\n\t\treturn name;\n\t}\n\n\treturn WHITES[name];\n}\n\n// Adapt XYZ from white point W1 to W2\nexport default function adapt (W1, W2, XYZ, options = {}) {\n\tW1 = getWhite(W1);\n\tW2 = getWhite(W2);\n\n\tif (!W1 || !W2) {\n\t\tthrow new TypeError(`Missing white point to convert ${!W1 ? \"from\" : \"\"}${!W1 && !W2 ? \"/\" : \"\"}${!W2 ? \"to\" : \"\"}`);\n\t}\n\n\tif (W1 === W2) {\n\t\t// Same whitepoints, no conversion needed\n\t\treturn XYZ;\n\t}\n\n\tlet env = {W1, W2, XYZ, options};\n\n\thooks.run(\"chromatic-adaptation-start\", env);\n\n\tif (!env.M) {\n\t\tif (env.W1 === WHITES.D65 && env.W2 === WHITES.D50) {\n\t\t\tenv.M = [\n\t\t\t\t[ 1.0479297925449969, 0.022946870601609652, -0.05019226628920524 ],\n\t\t\t\t[ 0.02962780877005599, 0.9904344267538799, -0.017073799063418826 ],\n\t\t\t\t[ -0.009243040646204504, 0.015055191490298152, 0.7518742814281371 ],\n\t\t\t];\n\t\t}\n\t\telse if (env.W1 === WHITES.D50 && env.W2 === WHITES.D65) {\n\n\t\t\tenv.M = [\n\t\t\t\t[ 0.955473421488075, -0.02309845494876471, 0.06325924320057072 ],\n\t\t\t\t[ -0.0283697093338637, 1.0099953980813041, 0.021041441191917323 ],\n\t\t\t\t[ 0.012314014864481998, -0.020507649298898964, 1.330365926242124 ],\n\t\t\t];\n\t\t}\n\t}\n\n\thooks.run(\"chromatic-adaptation-end\", env);\n\n\tif (env.M) {\n\t\treturn multiplyMatrices(env.M, env.XYZ);\n\t}\n\telse {\n\t\tthrow new TypeError(\"Only Bradford CAT with white points D50 and D65 supported for now.\");\n\t}\n}\n", "import * as util from \"./util.js\";\nimport hooks from \"./hooks.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\n\nconst noneTypes = new Set([\"<number>\", \"<percentage>\", \"<angle>\"]);\n\n/**\n * Validates the coordinates of a color against a format's coord grammar and\n * maps the coordinates to the range or refRange of the coordinates.\n * @param {ColorSpace} space - Colorspace the coords are in\n * @param {object} format - the format object to validate against\n * @param {string} name - the name of the color function. e.g. \"oklab\" or \"color\"\n * @returns {object[]} - an array of type metadata for each coordinate\n */\nfunction coerceCoords (space, format, name, coords) {\n\tlet types = Object.entries(space.coords).map(([id, coordMeta], i) => {\n\t\tlet coordGrammar = format.coordGrammar[i];\n\t\tlet arg = coords[i];\n\t\tlet providedType = arg?.type;\n\n\t\t// Find grammar alternative that matches the provided type\n\t\t// Non-strict equals is intentional because we are comparing w/ string objects\n\t\tlet type;\n\t\tif (arg.none) {\n\t\t\ttype = coordGrammar.find(c => noneTypes.has(c));\n\t\t}\n\t\telse {\n\t\t\ttype = coordGrammar.find(c => c == providedType);\n\t\t}\n\n\t\t// Check that each coord conforms to its grammar\n\t\tif (!type) {\n\t\t\t// Type does not exist in the grammar, throw\n\t\t\tlet coordName = coordMeta.name || id;\n\t\t\tthrow new TypeError(`${providedType ?? arg.raw} not allowed for ${coordName} in ${name}()`);\n\t\t}\n\n\t\tlet fromRange = type.range;\n\n\t\tif (providedType === \"<percentage>\") {\n\t\t\tfromRange ||= [0, 1];\n\t\t}\n\n\t\tlet toRange = coordMeta.range || coordMeta.refRange;\n\n\t\tif (fromRange && toRange) {\n\t\t\tcoords[i] = util.mapRange(fromRange, toRange, coords[i]);\n\t\t}\n\n\t\treturn type;\n\t});\n\n\treturn types;\n}\n\n\n/**\n * Convert a CSS Color string to a color object\n * @param {string} str\n * @param {object} [options]\n * @param {object} [options.meta] - Object for additional information about the parsing\n * @returns {Color}\n */\nexport default function parse (str, {meta} = {}) {\n\tlet env = {\"str\": String(str)?.trim()};\n\thooks.run(\"parse-start\", env);\n\n\tif (env.color) {\n\t\treturn env.color;\n\t}\n\n\tenv.parsed = util.parseFunction(env.str);\n\n\tif (env.parsed) {\n\t\t// Is a functional syntax\n\t\tlet name = env.parsed.name;\n\n\t\tif (name === \"color\") {\n\t\t\t// color() function\n\t\t\tlet id = env.parsed.args.shift();\n\t\t\t// Check against both <dashed-ident> and <ident> versions\n\t\t\tlet alternateId = id.startsWith(\"--\") ? id.substring(2) : `--${id}`;\n\t\t\tlet ids = [id, alternateId];\n\t\t\tlet alpha = env.parsed.rawArgs.indexOf(\"/\") > 0 ? env.parsed.args.pop() : 1;\n\n\t\t\tfor (let space of ColorSpace.all) {\n\t\t\t\tlet colorSpec = space.getFormat(\"color\");\n\n\t\t\t\tif (colorSpec) {\n\t\t\t\t\tif (ids.includes(colorSpec.id) || colorSpec.ids?.filter((specId) => ids.includes(specId)).length) {\n\t\t\t\t\t\t// From https://drafts.csswg.org/css-color-4/#color-function\n\t\t\t\t\t\t// If more <number>s or <percentage>s are provided than parameters that the colorspace takes, the excess <number>s at the end are ignored.\n\t\t\t\t\t\t// If less <number>s or <percentage>s are provided than parameters that the colorspace takes, the missing parameters default to 0. (This is particularly convenient for multichannel printers where the additional inks are spot colors or varnishes that most colors on the page won’t use.)\n\t\t\t\t\t\tconst coords = Object.keys(space.coords).map((_, i) => env.parsed.args[i] || 0);\n\n\t\t\t\t\t\tlet types;\n\n\t\t\t\t\t\tif (colorSpec.coordGrammar) {\n\t\t\t\t\t\t\ttypes = coerceCoords(space, colorSpec, \"color\", coords);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (meta) {\n\t\t\t\t\t\t\tObject.assign(meta, {formatId: \"color\", types});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (colorSpec.id.startsWith(\"--\") && !id.startsWith(\"--\")) {\n\t\t\t\t\t\t\tdefaults.warn(`${space.name} is a non-standard space and not currently supported in the CSS spec. ` +\n\t\t\t\t\t\t\t `Use prefixed color(${colorSpec.id}) instead of color(${id}).`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (id.startsWith(\"--\") && !colorSpec.id.startsWith(\"--\")) {\n\t\t\t\t\t\t\tdefaults.warn(`${space.name} is a standard space and supported in the CSS spec. ` +\n\t\t\t\t\t\t\t `Use color(${colorSpec.id}) instead of prefixed color(${id}).`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {spaceId: space.id, coords, alpha};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Not found\n\t\t\tlet didYouMean = \"\";\n\t\t\tlet registryId = id in ColorSpace.registry ? id : alternateId;\n\t\t\tif (registryId in ColorSpace.registry) {\n\t\t\t\t// Used color space id instead of color() id, these are often different\n\t\t\t\tlet cssId = ColorSpace.registry[registryId].formats?.color?.id;\n\n\t\t\t\tif (cssId) {\n\t\t\t\t\tdidYouMean = `Did you mean color(${cssId})?`;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthrow new TypeError(`Cannot parse color(${id}). ` + (didYouMean || \"Missing a plugin?\"));\n\t\t}\n\t\telse {\n\t\t\tfor (let space of ColorSpace.all) {\n\t\t\t\t// color space specific function\n\t\t\t\tlet format = space.getFormat(name);\n\t\t\t\tif (format && format.type === \"function\") {\n\t\t\t\t\tlet alpha = 1;\n\n\t\t\t\t\tif (format.lastAlpha || util.last(env.parsed.args).alpha) {\n\t\t\t\t\t\talpha = env.parsed.args.pop();\n\t\t\t\t\t}\n\n\t\t\t\t\tlet coords = env.parsed.args;\n\n\t\t\t\t\tlet types;\n\n\t\t\t\t\tif (format.coordGrammar) {\n\t\t\t\t\t\ttypes = coerceCoords(space, format, name, coords);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (meta) {\n\t\t\t\t\t\tObject.assign(meta, {formatId: format.name, types});\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tspaceId: space.id,\n\t\t\t\t\t\tcoords, alpha,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\telse {\n\t\t// Custom, colorspace-specific format\n\t\tfor (let space of ColorSpace.all) {\n\t\t\tfor (let formatId in space.formats) {\n\t\t\t\tlet format = space.formats[formatId];\n\n\t\t\t\tif (format.type !== \"custom\") {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (format.test && !format.test(env.str)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tlet color = format.parse(env.str);\n\n\t\t\t\tif (color) {\n\t\t\t\t\tcolor.alpha ??= 1;\n\n\t\t\t\t\tif (meta) {\n\t\t\t\t\t\tmeta.formatId = formatId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn color;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\n\t// If we're here, we couldn't parse\n\tthrow new TypeError(`Could not parse ${str} as a color. Missing a plugin?`);\n}\n", "import ColorSpace from \"./space.js\";\nimport {isString} from \"./util.js\";\nimport parse from \"./parse.js\";\n\n/**\n * Resolves a color reference (object or string) to a plain color object\n * @param {Color | {space, coords, alpha} | string | Array<Color | {space, coords, alpha} | string> } color\n * @returns {{space, coords, alpha} | Array<{space, coords, alpha}}>\n */\nexport default function getColor (color) {\n\tif (Array.isArray(color)) {\n\t\treturn color.map(getColor);\n\t}\n\n\tif (!color) {\n\t\tthrow new TypeError(\"Empty color reference\");\n\t}\n\n\tif (isString(color)) {\n\t\tcolor = parse(color);\n\t}\n\n\t// Object fixup\n\tlet space = color.space || color.spaceId;\n\n\tif (!(space instanceof ColorSpace)) {\n\t\t// Convert string id to color space object\n\t\tcolor.space = ColorSpace.get(space);\n\t}\n\n\tif (color.alpha === undefined) {\n\t\tcolor.alpha = 1;\n\t}\n\n\treturn color;\n}\n", "import {type, parseCoordGrammar, serializeNumber, mapRange} from \"./util.js\";\nimport {getWhite} from \"./adapt.js\";\nimport hooks from \"./hooks.js\";\nimport getColor from \"./getColor.js\";\n\nconst ε = .000075;\n\n/**\n * Class to represent a color space\n */\nexport default class ColorSpace {\n\tconstructor (options) {\n\t\tthis.id = options.id;\n\t\tthis.name = options.name;\n\t\tthis.base = options.base ? ColorSpace.get(options.base) : null;\n\t\tthis.aliases = options.aliases;\n\n\t\tif (this.base) {\n\t\t\tthis.fromBase = options.fromBase;\n\t\t\tthis.toBase = options.toBase;\n\t\t}\n\n\t\t// Coordinate metadata\n\n\t\tlet coords = options.coords ?? this.base.coords;\n\n\t\tfor (let name in coords) {\n\t\t\tif (!(\"name\" in coords[name])) {\n\t\t\t\tcoords[name].name = name;\n\t\t\t}\n\t\t}\n\t\tthis.coords = coords;\n\n\t\t// White point\n\n\t\tlet white = options.white ?? this.base.white ?? \"D65\";\n\t\tthis.white = getWhite(white);\n\n\t\t// Sort out formats\n\n\t\tthis.formats = options.formats ?? {};\n\n\t\tfor (let name in this.formats) {\n\t\t\tlet format = this.formats[name];\n\t\t\tformat.type ||= \"function\";\n\t\t\tformat.name ||= name;\n\t\t}\n\n\t\tif (!this.formats.color?.id) {\n\t\t\tthis.formats.color = {\n\t\t\t\t...this.formats.color ?? {},\n\t\t\t\tid: options.cssId || this.id,\n\t\t\t};\n\t\t}\n\n\t\t// Gamut space\n\n\t\tif (options.gamutSpace) {\n\t\t\t// Gamut space explicitly specified\n\t\t\tthis.gamutSpace = options.gamutSpace === \"self\" ? this : ColorSpace.get(options.gamutSpace);\n\t\t}\n\t\telse {\n\t\t\t// No gamut space specified, calculate a sensible default\n\t\t\tif (this.isPolar) {\n\t\t\t\t// Do not check gamut through polar coordinates\n\t\t\t\tthis.gamutSpace = this.base;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.gamutSpace = this;\n\t\t\t}\n\t\t}\n\n\t\t// Optimize inGamut for unbounded spaces\n\t\tif (this.gamutSpace.isUnbounded) {\n\t\t\tthis.inGamut = (coords, options) => {\n\t\t\t\treturn true;\n\t\t\t};\n\t\t}\n\n\t\t// Other stuff\n\t\tthis.referred = options.referred;\n\n\t\t// Compute ancestors and store them, since they will never change\n\t\tObject.defineProperty(this, \"path\", {\n\t\t\tvalue: getPath(this).reverse(),\n\t\t\twritable: false,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t});\n\n\t\thooks.run(\"colorspace-init-end\", this);\n\t}\n\n\tinGamut (coords, {epsilon = ε} = {}) {\n\t\tif (!this.equals(this.gamutSpace)) {\n\t\t\tcoords = this.to(this.gamutSpace, coords);\n\t\t\treturn this.gamutSpace.inGamut(coords, {epsilon});\n\t\t}\n\n\t\tlet coordMeta = Object.values(this.coords);\n\n\t\treturn coords.every((c, i) => {\n\t\t\tlet meta = coordMeta[i];\n\n\t\t\tif (meta.type !== \"angle\" && meta.range) {\n\t\t\t\tif (Number.isNaN(c)) {\n\t\t\t\t\t// NaN is always in gamut\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tlet [min, max] = meta.range;\n\t\t\t\treturn (min === undefined || c >= min - epsilon)\n\t\t\t\t && (max === undefined || c <= max + epsilon);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t});\n\t}\n\n\tget isUnbounded () {\n\t\treturn Object.values(this.coords).every(coord => !(\"range\" in coord));\n\t}\n\n\tget cssId () {\n\t\treturn this.formats?.color?.id || this.id;\n\t}\n\n\tget isPolar () {\n\t\tfor (let id in this.coords) {\n\t\t\tif (this.coords[id].type === \"angle\") {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tgetFormat (format) {\n\t\tif (typeof format === \"object\") {\n\t\t\tformat = processFormat(format, this);\n\t\t\treturn format;\n\t\t}\n\n\t\tlet ret;\n\t\tif (format === \"default\") {\n\t\t\t// Get first format\n\t\t\tret = Object.values(this.formats)[0];\n\t\t}\n\t\telse {\n\t\t\tret = this.formats[format];\n\t\t}\n\n\t\tif (ret) {\n\t\t\tret = processFormat(ret, this);\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/**\n\t * Check if this color space is the same as another color space reference.\n\t * Allows proxying color space objects and comparing color spaces with ids.\n\t * @param {string | ColorSpace} space ColorSpace object or id to compare to\n\t * @returns {boolean}\n\t */\n\tequals (space) {\n\t\tif (!space) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this === space || this.id === space || this.id === space.id;\n\t}\n\n\tto (space, coords) {\n\t\tif (arguments.length === 1) {\n\t\t\tconst color = getColor(space);\n\t\t\t[space, coords] = [color.space, color.coords];\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tif (this.equals(space)) {\n\t\t\t// Same space, no change needed\n\t\t\treturn coords;\n\t\t}\n\n\t\t// Convert NaN to 0, which seems to be valid in every coordinate of every color space\n\t\tcoords = coords.map(c => Number.isNaN(c) ? 0 : c);\n\n\t\t// Find connection space = lowest common ancestor in the base tree\n\t\tlet myPath = this.path;\n\t\tlet otherPath = space.path;\n\n\t\tlet connectionSpace, connectionSpaceIndex;\n\n\t\tfor (let i = 0; i < myPath.length; i++) {\n\t\t\tif (myPath[i].equals(otherPath[i])) {\n\t\t\t\tconnectionSpace = myPath[i];\n\t\t\t\tconnectionSpaceIndex = i;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (!connectionSpace) {\n\t\t\t// This should never happen\n\t\t\tthrow new Error(`Cannot convert between color spaces ${this} and ${space}: no connection space was found`);\n\t\t}\n\n\t\t// Go up from current space to connection space\n\t\tfor (let i = myPath.length - 1; i > connectionSpaceIndex; i--) {\n\t\t\tcoords = myPath[i].toBase(coords);\n\t\t}\n\n\t\t// Go down from connection space to target space\n\t\tfor (let i = connectionSpaceIndex + 1; i < otherPath.length; i++) {\n\t\t\tcoords = otherPath[i].fromBase(coords);\n\t\t}\n\n\t\treturn coords;\n\t}\n\n\tfrom (space, coords) {\n\t\tif (arguments.length === 1) {\n\t\t\tconst color = getColor(space);\n\t\t\t[space, coords] = [color.space, color.coords];\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\treturn space.to(this, coords);\n\t}\n\n\ttoString () {\n\t\treturn `${this.name} (${this.id})`;\n\t}\n\n\tgetMinCoords () {\n\t\tlet ret = [];\n\n\t\tfor (let id in this.coords) {\n\t\t\tlet meta = this.coords[id];\n\t\t\tlet range = meta.range || meta.refRange;\n\t\t\tret.push(range?.min ?? 0);\n\t\t}\n\n\t\treturn ret;\n\t}\n\n\tstatic registry = {};\n\n\t// Returns array of unique color spaces\n\tstatic get all () {\n\t\treturn [...new Set(Object.values(ColorSpace.registry))];\n\t}\n\n\tstatic register (id, space) {\n\t\tif (arguments.length === 1) {\n\t\t\tspace = arguments[0];\n\t\t\tid = space.id;\n\t\t}\n\n\t\tspace = this.get(space);\n\n\t\tif (this.registry[id] && this.registry[id] !== space) {\n\t\t\tthrow new Error(`Duplicate color space registration: '${id}'`);\n\t\t}\n\t\tthis.registry[id] = space;\n\n\t\t// Register aliases when called without an explicit ID.\n\t\tif (arguments.length === 1 && space.aliases) {\n\t\t\tfor (let alias of space.aliases) {\n\t\t\t\tthis.register(alias, space);\n\t\t\t}\n\t\t}\n\n\t\treturn space;\n\t}\n\n\t/**\n\t * Lookup ColorSpace object by name\n\t * @param {ColorSpace | string} name\n\t */\n\tstatic get (space, ...alternatives) {\n\t\tif (!space || space instanceof ColorSpace) {\n\t\t\treturn space;\n\t\t}\n\n\t\tlet argType = type(space);\n\n\t\tif (argType === \"string\") {\n\t\t\t// It's a color space id\n\t\t\tlet ret = ColorSpace.registry[space.toLowerCase()];\n\n\t\t\tif (!ret) {\n\t\t\t\tthrow new TypeError(`No color space found with id = \"${space}\"`);\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t}\n\n\t\tif (alternatives.length) {\n\t\t\treturn ColorSpace.get(...alternatives);\n\t\t}\n\n\t\tthrow new TypeError(`${space} is not a valid color space`);\n\t}\n\n\t/**\n\t * Get metadata about a coordinate of a color space\n\t *\n\t * @static\n\t * @param {Array | string} ref\n\t * @param {ColorSpace | string} [workingSpace]\n\t * @return {Object}\n\t */\n\tstatic resolveCoord (ref, workingSpace) {\n\t\tlet coordType = type(ref);\n\t\tlet space, coord;\n\n\t\tif (coordType === \"string\") {\n\t\t\tif (ref.includes(\".\")) {\n\t\t\t\t// Absolute coordinate\n\t\t\t\t[space, coord] = ref.split(\".\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// Relative coordinate\n\t\t\t\t[space, coord] = [, ref];\n\t\t\t}\n\t\t}\n\t\telse if (Array.isArray(ref)) {\n\t\t\t[space, coord] = ref;\n\t\t}\n\t\telse {\n\t\t\t// Object\n\t\t\tspace = ref.space;\n\t\t\tcoord = ref.coordId;\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tif (!space) {\n\t\t\tspace = workingSpace;\n\t\t}\n\n\t\tif (!space) {\n\t\t\tthrow new TypeError(`Cannot resolve coordinate reference ${ref}: No color space specified and relative references are not allowed here`);\n\t\t}\n\n\t\tcoordType = type(coord);\n\n\t\tif (coordType === \"number\" || coordType === \"string\" && coord >= 0) {\n\t\t\t// Resolve numerical coord\n\t\t\tlet meta = Object.entries(space.coords)[coord];\n\n\t\t\tif (meta) {\n\t\t\t\treturn {space, id: meta[0], index: coord, ...meta[1]};\n\t\t\t}\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tlet normalizedCoord = coord.toLowerCase();\n\n\t\tlet i = 0;\n\t\tfor (let id in space.coords) {\n\t\t\tlet meta = space.coords[id];\n\n\t\t\tif (id.toLowerCase() === normalizedCoord || meta.name?.toLowerCase() === normalizedCoord) {\n\t\t\t\treturn {space, id, index: i, ...meta};\n\t\t\t}\n\n\t\t\ti++;\n\t\t}\n\n\t\tthrow new TypeError(`No \"${coord}\" coordinate found in ${space.name}. Its coordinates are: ${Object.keys(space.coords).join(\", \")}`);\n\t}\n\n\tstatic DEFAULT_FORMAT = {\n\t\ttype: \"functions\",\n\t\tname: \"color\",\n\t};\n}\n\nfunction getPath (space) {\n\tlet ret = [space];\n\n\tfor (let s = space; s = s.base;) {\n\t\tret.push(s);\n\t}\n\n\treturn ret;\n}\n\nfunction processFormat (format, {coords} = {}) {\n\tif (format.coords && !format.coordGrammar) {\n\t\tformat.type ||= \"function\";\n\t\tformat.name ||= \"color\";\n\n\t\t// Format has not been processed\n\t\tformat.coordGrammar = parseCoordGrammar(format.coords);\n\n\t\tlet coordFormats = Object.entries(coords).map(([id, coordMeta], i) => {\n\t\t\t// Preferred format for each coord is the first one\n\t\t\tlet outputType = format.coordGrammar[i][0];\n\n\t\t\tlet fromRange = coordMeta.range || coordMeta.refRange;\n\t\t\tlet toRange = outputType.range, suffix = \"\";\n\n\t\t\t// Non-strict equals intentional since outputType could be a string object\n\t\t\tif (outputType == \"<percentage>\") {\n\t\t\t\ttoRange = [0, 100];\n\t\t\t\tsuffix = \"%\";\n\t\t\t}\n\t\t\telse if (outputType == \"<angle>\") {\n\t\t\t\tsuffix = \"deg\";\n\t\t\t}\n\n\t\t\treturn {fromRange, toRange, suffix};\n\t\t});\n\n\t\tformat.serializeCoords = (coords, precision) => {\n\t\t\treturn coords.map((c, i) => {\n\t\t\t\tlet {fromRange, toRange, suffix} = coordFormats[i];\n\n\t\t\t\tif (fromRange && toRange) {\n\t\t\t\t\tc = mapRange(fromRange, toRange, c);\n\t\t\t\t}\n\n\t\t\t\tc = serializeNumber(c, {precision, unit: suffix});\n\n\t\t\t\treturn c;\n\t\t\t});\n\t\t};\n\t}\n\n\treturn format;\n}\n", "import ColorSpace from \"../space.js\";\n\nexport default new ColorSpace({\n\tid: \"xyz-d65\",\n\tname: \"XYZ D65\",\n\tcoords: {\n\t\tx: {name: \"X\"},\n\t\ty: {name: \"Y\"},\n\t\tz: {name: \"Z\"},\n\t},\n\twhite: \"D65\",\n\tformats: {\n\t\tcolor: {\n\t\t\tids: [\"xyz-d65\", \"xyz\"],\n\t\t},\n\t},\n\taliases: [\"xyz\"],\n});\n", "import ColorSpace from \"./space.js\";\nimport {multiplyMatrices} from \"./util.js\";\nimport adapt from \"./adapt.js\";\nimport XYZ_D65 from \"./spaces/xyz-d65.js\";\n\n/**\n * Convenience class for RGB color spaces\n * @extends {ColorSpace}\n */\nexport default class RGBColorSpace extends ColorSpace {\n\t/**\n\t * Creates a new RGB ColorSpace.\n\t * If coords are not specified, they will use the default RGB coords.\n\t * Instead of `fromBase()` and `toBase()` functions,\n\t * you can specify to/from XYZ matrices and have `toBase()` and `fromBase()` automatically generated.\n\t * @param {*} options - Same options as {@link ColorSpace} plus:\n\t * @param {number[][]} options.toXYZ_M - Matrix to convert to XYZ\n\t * @param {number[][]} options.fromXYZ_M - Matrix to convert from XYZ\n\t */\n\tconstructor (options) {\n\t\tif (!options.coords) {\n\t\t\toptions.coords = {\n\t\t\t\tr: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Red\",\n\t\t\t\t},\n\t\t\t\tg: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Green\",\n\t\t\t\t},\n\t\t\t\tb: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Blue\",\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tif (!options.base) {\n\t\t\toptions.base = XYZ_D65;\n\t\t}\n\n\t\tif (options.toXYZ_M && options.fromXYZ_M) {\n\t\t\toptions.toBase ??= rgb => {\n\t\t\t\tlet xyz = multiplyMatrices(options.toXYZ_M, rgb);\n\n\t\t\t\tif (this.white !== this.base.white) {\n\t\t\t\t\t// Perform chromatic adaptation\n\t\t\t\t\txyz = adapt(this.white, this.base.white, xyz);\n\t\t\t\t}\n\n\t\t\t\treturn xyz;\n\t\t\t};\n\n\t\t\toptions.fromBase ??= xyz => {\n\t\t\t\txyz = adapt(this.base.white, this.white, xyz);\n\t\t\t\treturn multiplyMatrices(options.fromXYZ_M, xyz);\n\t\t\t};\n\t\t}\n\n\t\toptions.referred ??= \"display\";\n\n\t\tsuper(options);\n\t}\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\n/**\n * Get the coordinates of a color in any color space\n * @param {Color} color\n * @param {string | ColorSpace} [space = color.space] The color space to convert to. Defaults to the color's current space\n * @returns {number[]} The color coordinates in the given color space\n */\nexport default function getAll (color, space) {\n\tcolor = getColor(color);\n\n\tif (!space || color.space.equals(space)) {\n\t\t// No conversion needed\n\t\treturn color.coords.slice();\n\t}\n\n\tspace = ColorSpace.get(space);\n\treturn space.from(color);\n}\n", "import ColorSpace from \"./space.js\";\nimport getAll from \"./getAll.js\";\nimport getColor from \"./getColor.js\";\n\nexport default function get (color, prop) {\n\tcolor = getColor(color);\n\n\tlet {space, index} = ColorSpace.resolveCoord(prop, color.space);\n\tlet coords = getAll(color, space);\n\treturn coords[index];\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\nexport default function setAll (color, space, coords) {\n\tcolor = getColor(color);\n\n\tspace = ColorSpace.get(space);\n\tcolor.coords = space.to(color.space, coords);\n\treturn color;\n}\n\nsetAll.returns = \"color\";\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\nimport get from \"./get.js\";\nimport getAll from \"./getAll.js\";\nimport setAll from \"./setAll.js\";\nimport {type} from \"./util.js\";\n\n// Set properties and return current instance\nexport default function set (color, prop, value) {\n\tcolor = getColor(color);\n\n\tif (arguments.length === 2 && type(arguments[1]) === \"object\") {\n\t\t// Argument is an object literal\n\t\tlet object = arguments[1];\n\t\tfor (let p in object) {\n\t\t\tset(color, p, object[p]);\n\t\t}\n\t}\n\telse {\n\t\tif (typeof value === \"function\") {\n\t\t\tvalue = value(get(color, prop));\n\t\t}\n\n\t\tlet {space, index} = ColorSpace.resolveCoord(prop, color.space);\n\t\tlet coords = getAll(color, space);\n\t\tcoords[index] = value;\n\t\tsetAll(color, space, coords);\n\t}\n\n\treturn color;\n}\n\nset.returns = \"color\";\n", "import ColorSpace from \"../space.js\";\nimport adapt from \"../adapt.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\nexport default new ColorSpace({\n\tid: \"xyz-d50\",\n\tname: \"XYZ D50\",\n\twhite: \"D50\",\n\tbase: XYZ_D65,\n\tfromBase: coords => adapt(XYZ_D65.white, \"D50\", coords),\n\ttoBase: coords => adapt(\"D50\", XYZ_D65.white, coords),\n});\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d50 from \"./xyz-d50.js\";\n\n// κ * ε = 2^3 = 8\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst ε3 = 24 / 116;\nconst κ = 24389 / 27; // 29^3/3^3\n\nlet white = WHITES.D50;\n\nexport default new ColorSpace({\n\tid: \"lab\",\n\tname: \"Lab\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t},\n\n\t// Assuming XYZ is relative to D50, convert to CIE Lab\n\t// from CIE standard, which now defines these as a rational fraction\n\twhite,\n\n\tbase: xyz_d50,\n\t// Convert D50-adapted XYX to Lab\n\t// CIE 15.3:2004 section 8.2.1.1\n\tfromBase (XYZ) {\n\t\t// compute xyz, which is XYZ scaled relative to reference white\n\t\tlet xyz = XYZ.map((value, i) => value / white[i]);\n\n\t\t// now compute f\n\t\tlet f = xyz.map(value => value > ε ? Math.cbrt(value) : (κ * value + 16) / 116);\n\n\t\treturn [\n\t\t\t(116 * f[1]) - 16, // L\n\t\t\t500 * (f[0] - f[1]), // a\n\t\t\t200 * (f[1] - f[2]), // b\n\t\t];\n\t},\n\t// Convert Lab to D50-adapted XYZ\n\t// Same result as CIE 15.3:2004 Appendix D although the derivation is different\n\t// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n\ttoBase (Lab) {\n\t\t// compute f, starting with the luminance-related term\n\t\tlet f = [];\n\t\tf[1] = (Lab[0] + 16) / 116;\n\t\tf[0] = Lab[1] / 500 + f[1];\n\t\tf[2] = f[1] - Lab[2] / 200;\n\n\t\t// compute xyz\n\t\tlet xyz = [\n\t\t\tf[0] > ε3 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / κ,\n\t\t\tLab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / κ,\n\t\t\tf[2] > ε3 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / κ,\n\t\t];\n\n\t\t// Compute XYZ by scaling xyz by reference white\n\t\treturn xyz.map((value, i) => value * white[i]);\n\t},\n\n\tformats: {\n\t\t\"lab\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "export function constrain (angle) {\n\treturn ((angle % 360) + 360) % 360;\n}\n\nexport function adjust (arc, angles) {\n\tif (arc === \"raw\") {\n\t\treturn angles;\n\t}\n\n\tlet [a1, a2] = angles.map(constrain);\n\n\tlet angleDiff = a2 - a1;\n\n\tif (arc === \"increasing\") {\n\t\tif (angleDiff < 0) {\n\t\t\ta2 += 360;\n\t\t}\n\t}\n\telse if (arc === \"decreasing\") {\n\t\tif (angleDiff > 0) {\n\t\t\ta1 += 360;\n\t\t}\n\t}\n\telse if (arc === \"longer\") {\n\t\tif (-180 < angleDiff && angleDiff < 180) {\n\t\t\tif (angleDiff > 0) {\n\t\t\t\ta1 += 360;\n\t\t\t}\n\t\t\telse {\n\t\t\t\ta2 += 360;\n\t\t\t}\n\t\t}\n\t}\n\telse if (arc === \"shorter\") {\n\t\tif (angleDiff > 180) {\n\t\t\ta1 += 360;\n\t\t}\n\t\telse if (angleDiff < -180) {\n\t\t\ta2 += 360;\n\t\t}\n\t}\n\n\treturn [a1, a2];\n}\n", "import ColorSpace from \"../space.js\";\nimport Lab from \"./lab.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"lch\",\n\tname: \"LCH\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 150],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Lab,\n\tfromBase (Lab) {\n\t\t// Convert to polar form\n\t\tlet [L, a, b] = Lab;\n\t\tlet hue;\n\t\tconst ε = 0.02;\n\n\t\tif (Math.abs(a) < ε && Math.abs(b) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(b, a) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // L is still L\n\t\t\tMath.sqrt(a ** 2 + b ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (LCH) {\n\t\t// Convert from polar form\n\t\tlet [Lightness, Chroma, Hue] = LCH;\n\t\t// Clamp any negative Chroma\n\t\tif (Chroma < 0) {\n\t\t\tChroma = 0;\n\t\t}\n\t\t// Deal with NaN Hue\n\t\tif (isNaN(Hue)) {\n\t\t\tHue = 0;\n\t\t}\n\t\treturn [\n\t\t\tLightness, // L is still L\n\t\t\tChroma * Math.cos(Hue * Math.PI / 180), // a\n\t\t\tChroma * Math.sin(Hue * Math.PI / 180), // b\n\t\t];\n\t},\n\n\tformats: {\n\t\t\"lch\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "import defaults from \"../defaults.js\";\nimport lab from \"../spaces/lab.js\";\nimport lch from \"../spaces/lch.js\";\nimport getColor from \"../getColor.js\";\n\n// deltaE2000 is a statistically significant improvement\n// and is recommended by the CIE and Idealliance\n// especially for color differences less than 10 deltaE76\n// but is wicked complicated\n// and many implementations have small errors!\n// DeltaE2000 is also discontinuous; in case this\n// matters to you, use deltaECMC instead.\n\nconst Gfactor = 25 ** 7;\nconst π = Math.PI;\nconst r2d = 180 / π;\nconst d2r = π / 180;\n\nfunction pow7 (x) {\n\t// Faster than x ** 7 or Math.pow(x, 7)\n\n\tconst x2 = x * x;\n\tconst x7 = x2 * x2 * x2 * x;\n\n\treturn x7;\n}\n\nexport default function (color, sample, {kL = 1, kC = 1, kH = 1} = {}) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and the function parameter as the sample,\n\t// calculate deltaE 2000.\n\n\t// This implementation assumes the parametric\n\t// weighting factors kL, kC and kH\n\t// for the influence of viewing conditions\n\t// are all 1, as sadly seems typical.\n\t// kL should be increased for lightness texture or noise\n\t// and kC increased for chroma noise\n\n\tlet [L1, a1, b1] = lab.from(color);\n\tlet C1 = lch.from(lab, [L1, a1, b1])[1];\n\tlet [L2, a2, b2] = lab.from(sample);\n\tlet C2 = lch.from(lab, [L2, a2, b2])[1];\n\n\t// Check for negative Chroma,\n\t// which might happen through\n\t// direct user input of LCH values\n\n\tif (C1 < 0) {\n\t\tC1 = 0;\n\t}\n\tif (C2 < 0) {\n\t\tC2 = 0;\n\t}\n\n\tlet Cbar = (C1 + C2) / 2; // mean Chroma\n\n\t// calculate a-axis asymmetry factor from mean Chroma\n\t// this turns JND ellipses for near-neutral colors back into circles\n\tlet C7 = pow7(Cbar);\n\n\tlet G = 0.5 * (1 - Math.sqrt(C7 / (C7 + Gfactor)));\n\n\t// scale a axes by asymmetry factor\n\t// this by the way is why there is no Lab2000 colorspace\n\tlet adash1 = (1 + G) * a1;\n\tlet adash2 = (1 + G) * a2;\n\n\t// calculate new Chroma from scaled a and original b axes\n\tlet Cdash1 = Math.sqrt(adash1 ** 2 + b1 ** 2);\n\tlet Cdash2 = Math.sqrt(adash2 ** 2 + b2 ** 2);\n\n\t// calculate new hues, with zero hue for true neutrals\n\t// and in degrees, not radians\n\n\tlet h1 = (adash1 === 0 && b1 === 0) ? 0 : Math.atan2(b1, adash1);\n\tlet h2 = (adash2 === 0 && b2 === 0) ? 0 : Math.atan2(b2, adash2);\n\n\tif (h1 < 0) {\n\t\th1 += 2 * π;\n\t}\n\tif (h2 < 0) {\n\t\th2 += 2 * π;\n\t}\n\n\th1 *= r2d;\n\th2 *= r2d;\n\n\t// Lightness and Chroma differences; sign matters\n\tlet ΔL = L2 - L1;\n\tlet ΔC = Cdash2 - Cdash1;\n\n\t// Hue difference, getting the sign correct\n\tlet hdiff = h2 - h1;\n\tlet hsum = h1 + h2;\n\tlet habs = Math.abs(hdiff);\n\tlet Δh;\n\n\tif (Cdash1 * Cdash2 === 0) {\n\t\tΔh = 0;\n\t}\n\telse if (habs <= 180) {\n\t\tΔh = hdiff;\n\t}\n\telse if (hdiff > 180) {\n\t\tΔh = hdiff - 360;\n\t}\n\telse if (hdiff < -180) {\n\t\tΔh = hdiff + 360;\n\t}\n\telse {\n\t\tdefaults.warn(\"the unthinkable has happened\");\n\t}\n\n\t// weighted Hue difference, more for larger Chroma\n\tlet ΔH = 2 * Math.sqrt(Cdash2 * Cdash1) * Math.sin(Δh * d2r / 2);\n\n\t// calculate mean Lightness and Chroma\n\tlet Ldash = (L1 + L2) / 2;\n\tlet Cdash = (Cdash1 + Cdash2) / 2;\n\tlet Cdash7 = pow7(Cdash);\n\n\t// Compensate for non-linearity in the blue region of Lab.\n\t// Four possibilities for hue weighting factor,\n\t// depending on the angles, to get the correct sign\n\tlet hdash;\n\tif (Cdash1 * Cdash2 === 0) {\n\t\thdash = hsum; // which should be zero\n\t}\n\telse if (habs <= 180) {\n\t\thdash = hsum / 2;\n\t}\n\telse if (hsum < 360) {\n\t\thdash = (hsum + 360) / 2;\n\t}\n\telse {\n\t\thdash = (hsum - 360) / 2;\n\t}\n\n\t// positional corrections to the lack of uniformity of CIELAB\n\t// These are all trying to make JND ellipsoids more like spheres\n\n\t// SL Lightness crispening factor\n\t// a background with L=50 is assumed\n\tlet lsq = (Ldash - 50) ** 2;\n\tlet SL = 1 + ((0.015 * lsq) / Math.sqrt(20 + lsq));\n\n\t// SC Chroma factor, similar to those in CMC and deltaE 94 formulae\n\tlet SC = 1 + 0.045 * Cdash;\n\n\t// Cross term T for blue non-linearity\n\tlet T = 1;\n\tT -= (0.17 * Math.cos(( hdash - 30) * d2r));\n\tT += (0.24 * Math.cos( 2 * hdash * d2r));\n\tT += (0.32 * Math.cos(((3 * hdash) + 6) * d2r));\n\tT -= (0.20 * Math.cos(((4 * hdash) - 63) * d2r));\n\n\t// SH Hue factor depends on Chroma,\n\t// as well as adjusted hue angle like deltaE94.\n\tlet SH = 1 + 0.015 * Cdash * T;\n\n\t// RT Hue rotation term compensates for rotation of JND ellipses\n\t// and Munsell constant hue lines\n\t// in the medium-high Chroma blue region\n\t// (Hue 225 to 315)\n\tlet Δθ = 30 * Math.exp(-1 * (((hdash - 275) / 25) ** 2));\n\tlet RC = 2 * Math.sqrt(Cdash7 / (Cdash7 + Gfactor));\n\tlet RT = -1 * Math.sin(2 * Δθ * d2r) * RC;\n\n\t// Finally calculate the deltaE, term by term as root sume of squares\n\tlet dE = (ΔL / (kL * SL)) ** 2;\n\tdE += (ΔC / (kC * SC)) ** 2;\n\tdE += (ΔH / (kH * SH)) ** 2;\n\tdE += RT * (ΔC / (kC * SC)) * (ΔH / (kH * SH));\n\treturn Math.sqrt(dE);\n\t// Yay!!!\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\n// Recalculated for consistent reference white\n// see https://github.com/w3c/csswg-drafts/issues/6642#issuecomment-943521484\nconst XYZtoLMS_M = [\n\t[ 0.8190224379967030, 0.3619062600528904, -0.1288737815209879 ],\n\t[ 0.0329836539323885, 0.9292868615863434, 0.0361446663506424 ],\n\t[ 0.0481771893596242, 0.2642395317527308, 0.6335478284694309 ],\n];\n// inverse of XYZtoLMS_M\nconst LMStoXYZ_M = [\n\t[ 1.2268798758459243, -0.5578149944602171, 0.2813910456659647 ],\n\t[ -0.0405757452148008, 1.1122868032803170, -0.0717110580655164 ],\n\t[ -0.0763729366746601, -0.4214933324022432, 1.5869240198367816 ],\n];\nconst LMStoLab_M = [\n\t[ 0.2104542683093140, 0.7936177747023054, -0.0040720430116193 ],\n\t[ 1.9779985324311684, -2.4285922420485799, 0.4505937096174110 ],\n\t[ 0.0259040424655478, 0.7827717124575296, -0.8086757549230774 ],\n];\n// LMStoIab_M inverted\nconst LabtoLMS_M = [\n\t[ 1.0000000000000000, 0.3963377773761749, 0.2158037573099136 ],\n\t[ 1.0000000000000000, -0.1055613458156586, -0.0638541728258133 ],\n\t[ 1.0000000000000000, -0.0894841775298119, -1.2914855480194092 ],\n];\n\nexport default new ColorSpace({\n\tid: \"oklab\",\n\tname: \"Oklab\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-0.4, 0.4],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-0.4, 0.4],\n\t\t},\n\t},\n\n\t// Note that XYZ is relative to D65\n\twhite: \"D65\",\n\tbase: XYZ_D65,\n\tfromBase (XYZ) {\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoLMS_M, XYZ);\n\n\t\t// non-linearity\n\t\tlet LMSg = LMS.map(val => Math.cbrt(val));\n\n\t\treturn multiplyMatrices(LMStoLab_M, LMSg);\n\n\t},\n\ttoBase (OKLab) {\n\t\t// move to LMS cone domain\n\t\tlet LMSg = multiplyMatrices(LabtoLMS_M, OKLab);\n\n\t\t// restore linearity\n\t\tlet LMS = LMSg.map(val => val ** 3);\n\n\t\treturn multiplyMatrices(LMStoXYZ_M, LMS);\n\t},\n\n\tformats: {\n\t\t\"oklab\": {\n\t\t\tcoords: [\"<percentage> | <number>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in CIE Lab\n\nimport oklab from \"../spaces/oklab.js\";\nimport getColor from \"../getColor.js\";\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaEOK, term by term as root sum of squares\n\tlet [L1, a1, b1] = oklab.from(color);\n\tlet [L2, a2, b2] = oklab.from(sample);\n\tlet ΔL = L1 - L2;\n\tlet Δa = a1 - a2;\n\tlet Δb = b1 - b2;\n\treturn Math.sqrt(ΔL ** 2 + Δa ** 2 + Δb ** 2);\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\nconst ε = .000075;\n\n/**\n * Check if a color is in gamut of either its own or another color space\n * @return {Boolean} Is the color in gamut?\n */\nexport default function inGamut (color, space, {epsilon = ε} = {}) {\n\tcolor = getColor(color);\n\n\tif (!space) {\n\t\tspace = color.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\tlet coords = color.coords;\n\n\tif (space !== color.space) {\n\t\tcoords = space.from(color);\n\t}\n\n\treturn space.inGamut(coords, {epsilon});\n}\n", "export default function clone (color) {\n\treturn {\n\t\tspace: color.space,\n\t\tcoords: color.coords.slice(),\n\t\talpha: color.alpha,\n\t};\n}\n", "import ColorSpace from \"./space.js\";\n\n/**\n * Euclidean distance of colors in an arbitrary color space\n */\nexport default function distance (color1, color2, space = \"lab\") {\n\tspace = ColorSpace.get(space);\n\n\t// Assume getColor() is called on color in space.from()\n\tlet coords1 = space.from(color1);\n\tlet coords2 = space.from(color2);\n\n\treturn Math.sqrt(coords1.reduce((acc, c1, i) => {\n\t\tlet c2 = coords2[i];\n\t\tif (isNaN(c1) || isNaN(c2)) {\n\t\t\treturn acc;\n\t\t}\n\n\t\treturn acc + (c2 - c1) ** 2;\n\t}, 0));\n}\n", "import distance from \"../distance.js\";\nimport getColor from \"../getColor.js\";\n\nexport default function deltaE76 (color, sample) {\n\t// Assume getColor() is called in the distance function\n\treturn distance(color, sample, \"lab\");\n}\n", "import lab from \"../spaces/lab.js\";\nimport lch from \"../spaces/lch.js\";\nimport getColor from \"../getColor.js\";\n\n// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in Lab\n\n// CMC by the Color Measurement Committee of the\n// Bradford Society of Dyeists and Colorsts, 1994.\n// Uses LCH rather than Lab,\n// with different weights for L, C and H differences\n// A nice increase in accuracy for modest increase in complexity\nconst π = Math.PI;\nconst d2r = π / 180;\n\nexport default function (color, sample, {l = 2, c = 1} = {}) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE CMC.\n\n\t// This implementation assumes the parametric\n\t// weighting factors l:c are 2:1\n\t// which is typical for non-textile uses.\n\n\tlet [L1, a1, b1] = lab.from(color);\n\tlet [, C1, H1] = lch.from(lab, [L1, a1, b1]);\n\tlet [L2, a2, b2] = lab.from(sample);\n\tlet C2 = lch.from(lab, [L2, a2, b2])[1];\n\n\t// let [L1, a1, b1] = color.getAll(lab);\n\t// let C1 = color.get(\"lch.c\");\n\t// let H1 = color.get(\"lch.h\");\n\t// let [L2, a2, b2] = sample.getAll(lab);\n\t// let C2 = sample.get(\"lch.c\");\n\n\t// Check for negative Chroma,\n\t// which might happen through\n\t// direct user input of LCH values\n\n\tif (C1 < 0) {\n\t\tC1 = 0;\n\t}\n\tif (C2 < 0) {\n\t\tC2 = 0;\n\t}\n\n\t// we don't need H2 as ΔH is calculated from Δa, Δb and ΔC\n\n\t// Lightness and Chroma differences\n\t// These are (color - sample), unlike deltaE2000\n\tlet ΔL = L1 - L2;\n\tlet ΔC = C1 - C2;\n\n\tlet Δa = a1 - a2;\n\tlet Δb = b1 - b2;\n\n\t// weighted Hue difference, less for larger Chroma difference\n\n\tlet H2 = (Δa ** 2) + (Δb ** 2) - (ΔC ** 2);\n\t// due to roundoff error it is possible that, for zero a and b,\n\t// ΔC > Δa + Δb is 0, resulting in attempting\n\t// to take the square root of a negative number\n\n\t// trying instead the equation from Industrial Color Physics\n\t// By Georg A. Klein\n\n\t// let ΔH = ((a1 * b2) - (a2 * b1)) / Math.sqrt(0.5 * ((C2 * C1) + (a2 * a1) + (b2 * b1)));\n\t// console.log({ΔH});\n\t// This gives the same result to 12 decimal places\n\t// except it sometimes NaNs when trying to root a negative number\n\n\t// let ΔH = Math.sqrt(H2); we never actually use the root, it gets squared again!!\n\n\t// positional corrections to the lack of uniformity of CIELAB\n\t// These are all trying to make JND ellipsoids more like spheres\n\n\t// SL Lightness crispening factor, depends entirely on L1 not L2\n\tlet SL = 0.511;\t// linear portion of the Y to L transfer function\n\tif (L1 >= 16) {\t// cubic portion\n\t\tSL = (0.040975 * L1) / (1 + 0.01765 * L1);\n\t}\n\n\t// SC Chroma factor\n\tlet SC = ((0.0638 * C1) / (1 + 0.0131 * C1)) + 0.638;\n\n\t// Cross term T for blue non-linearity\n\tlet T;\n\tif (Number.isNaN(H1)) {\n\t\tH1 = 0;\n\t}\n\n\tif (H1 >= 164 && H1 <= 345) {\n\t\tT = 0.56 + Math.abs(0.2 * Math.cos((H1 + 168) * d2r));\n\t}\n\telse {\n\t\tT = 0.36 + Math.abs(0.4 * Math.cos((H1 + 35) * d2r));\n\t}\n\t// console.log({T});\n\n\t// SH Hue factor also depends on C1,\n\tlet C4 = Math.pow(C1, 4);\n\tlet F = Math.sqrt(C4 / (C4 + 1900));\n\tlet SH = SC * ((F * T) + 1 - F);\n\n\t// Finally calculate the deltaE, term by term as root sume of squares\n\tlet dE = (ΔL / (l * SL)) ** 2;\n\tdE += (ΔC / (c * SC)) ** 2;\n\tdE += (H2 / (SH ** 2));\n\t// dE += (ΔH / SH) ** 2;\n\treturn Math.sqrt(dE);\n\t// Yay!!!\n}\n", "import ColorSpace from \"../space.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\nconst Yw = 203;\t// absolute luminance of media white\n\nexport default new ColorSpace({\n// Absolute CIE XYZ, with a D65 whitepoint,\n// as used in most HDR colorspaces as a starting point.\n// SDR spaces are converted per BT.2048\n// so that diffuse, media white is 203 cd/m²\n\tid: \"xyz-abs-d65\",\n\tcssId: \"--xyz-abs-d65\",\n\tname: \"Absolute XYZ D65\",\n\tcoords: {\n\t\tx: {\n\t\t\trefRange: [0, 9504.7],\n\t\t\tname: \"Xa\",\n\t\t},\n\t\ty: {\n\t\t\trefRange: [0, 10000],\n\t\t\tname: \"Ya\",\n\t\t},\n\t\tz: {\n\t\t\trefRange: [0, 10888.3],\n\t\t\tname: \"Za\",\n\t\t},\n\t},\n\n\tbase: XYZ_D65,\n\tfromBase (XYZ) {\n\t\t// Make XYZ absolute, not relative to media white\n\t\t// Maximum luminance in PQ is 10,000 cd/m²\n\t\t// Relative XYZ has Y=1 for media white\n\t\treturn XYZ.map (v => Math.max(v * Yw, 0));\n\t},\n\ttoBase (AbsXYZ) {\n\t\t// Convert to media-white relative XYZ\n\t\treturn AbsXYZ.map(v => Math.max(v / Yw, 0));\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_Abs_D65 from \"./xyz-abs-d65.js\";\n\nconst b = 1.15;\nconst g = 0.66;\nconst n = 2610 / (2 ** 14);\nconst ninv = (2 ** 14) / 2610;\nconst c1 = 3424 / (2 ** 12);\nconst c2 = 2413 / (2 ** 7);\nconst c3 = 2392 / (2 ** 7);\nconst p = 1.7 * 2523 / (2 ** 5);\nconst pinv = (2 ** 5) / (1.7 * 2523);\nconst d = -0.56;\nconst d0 = 1.6295499532821566E-11;\n\nconst XYZtoCone_M = [\n\t[ 0.41478972, 0.579999, 0.0146480 ],\n\t[ -0.2015100, 1.120649, 0.0531008 ],\n\t[ -0.0166008, 0.264800, 0.6684799 ],\n];\n// XYZtoCone_M inverted\nconst ConetoXYZ_M = [\n\t[ 1.9242264357876067, -1.0047923125953657, 0.037651404030618 ],\n\t[ 0.35031676209499907, 0.7264811939316552, -0.06538442294808501 ],\n\t[ -0.09098281098284752, -0.3127282905230739, 1.5227665613052603 ],\n];\nconst ConetoIab_M = [\n\t[ 0.5, 0.5, 0 ],\n\t[ 3.524000, -4.066708, 0.542708 ],\n\t[ 0.199076, 1.096799, -1.295875 ],\n];\n// ConetoIab_M inverted\nconst IabtoCone_M = [\n\t[ 1, 0.1386050432715393, 0.05804731615611886 ],\n\t[ 0.9999999999999999, -0.1386050432715393, -0.05804731615611886 ],\n\t[ 0.9999999999999998, -0.09601924202631895, -0.8118918960560388 ],\n];\n\nexport default new ColorSpace({\n\tid: \"jzazbz\",\n\tname: \"Jzazbz\",\n\tcoords: {\n\t\tjz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Jz\",\n\t\t},\n\t\taz: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t},\n\t\tbz: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t},\n\t},\n\n\tbase: XYZ_Abs_D65,\n\tfromBase (XYZ) {\n\t\t// First make XYZ absolute, not relative to media white\n\t\t// Maximum luminance in PQ is 10,000 cd/m²\n\t\t// Relative XYZ has Y=1 for media white\n\t\t// BT.2048 says media white Y=203 at PQ 58\n\n\t\tlet [ Xa, Ya, Za ] = XYZ;\n\n\t\t// modify X and Y\n\t\tlet Xm = (b * Xa) - ((b - 1) * Za);\n\t\tlet Ym = (g * Ya) - ((g - 1) * Xa);\n\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoCone_M, [ Xm, Ym, Za ]);\n\n\t\t// PQ-encode LMS\n\t\tlet PQLMS = LMS.map (function (val) {\n\t\t\tlet num = c1 + (c2 * ((val / 10000) ** n));\n\t\t\tlet denom = 1 + (c3 * ((val / 10000) ** n));\n\n\t\t\treturn (num / denom) ** p;\n\t\t});\n\n\t\t// almost there, calculate Iz az bz\n\t\tlet [ Iz, az, bz] = multiplyMatrices(ConetoIab_M, PQLMS);\n\t\t// console.log({Iz, az, bz});\n\n\t\tlet Jz = ((1 + d) * Iz) / (1 + (d * Iz)) - d0;\n\t\treturn [Jz, az, bz];\n\t},\n\ttoBase (Jzazbz) {\n\t\tlet [Jz, az, bz] = Jzazbz;\n\t\tlet Iz = (Jz + d0) / (1 + d - d * (Jz + d0));\n\n\t\t// bring into LMS cone domain\n\t\tlet PQLMS = multiplyMatrices(IabtoCone_M, [ Iz, az, bz ]);\n\n\t\t// convert from PQ-coded to linear-light\n\t\tlet LMS = PQLMS.map(function (val) {\n\t\t\tlet num = (c1 - (val ** pinv));\n\t\t\tlet denom = (c3 * (val ** pinv)) - c2;\n\t\t\tlet x = 10000 * ((num / denom) ** ninv);\n\n\t\t\treturn (x); \t// luminance relative to diffuse white, [0, 70 or so].\n\t\t});\n\n\t\t// modified abs XYZ\n\t\tlet [ Xm, Ym, Za ] = multiplyMatrices(ConetoXYZ_M, LMS);\n\n\t\t// restore standard D50 relative XYZ, relative to media white\n\t\tlet Xa = (Xm + ((b - 1) * Za)) / b;\n\t\tlet Ya = (Ym + ((g - 1) * Xa)) / g;\n\t\treturn [ Xa, Ya, Za ];\n\t},\n\n\tformats: {\n\t\t// https://drafts.csswg.org/css-color-hdr/#Jzazbz\n\t\t\"color\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport Jzazbz from \"./jzazbz.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"jzczhz\",\n\tname: \"JzCzHz\",\n\tcoords: {\n\t\tjz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Jz\",\n\t\t},\n\t\tcz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\thz: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Jzazbz,\n\tfromBase (jzazbz) {\n\t\t// Convert to polar form\n\t\tlet [Jz, az, bz] = jzazbz;\n\t\tlet hue;\n\t\tconst ε = 0.0002; // chromatic components much smaller than a,b\n\n\t\tif (Math.abs(az) < ε && Math.abs(bz) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(bz, az) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tJz, // Jz is still Jz\n\t\t\tMath.sqrt(az ** 2 + bz ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (jzczhz) {\n\t\t// Convert from polar form\n\t\t// debugger;\n\t\treturn [\n\t\t\tjzczhz[0], // Jz is still Jz\n\t\t\tjzczhz[1] * Math.cos(jzczhz[2] * Math.PI / 180), // az\n\t\t\tjzczhz[1] * Math.sin(jzczhz[2] * Math.PI / 180), // bz\n\t\t];\n\t},\n});\n", "import jzczhz from \"../spaces/jzczhz.js\";\nimport getColor from \"../getColor.js\";\n\n// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in Lab\n\n// Uses JzCzHz, which has improved perceptual uniformity\n// and thus a simple Euclidean root-sum of ΔL² ΔC² ΔH²\n// gives good results.\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE in JzCzHz.\n\tlet [Jz1, Cz1, Hz1] = jzczhz.from(color);\n\tlet [Jz2, Cz2, Hz2] = jzczhz.from(sample);\n\n\t// Lightness and Chroma differences\n\t// sign does not matter as they are squared.\n\tlet ΔJ = Jz1 - Jz2;\n\tlet ΔC = Cz1 - Cz2;\n\n\t// length of chord for ΔH\n\tif ((Number.isNaN(Hz1)) && (Number.isNaN(Hz2))) {\n\t\t// both undefined hues\n\t\tHz1 = 0;\n\t\tHz2 = 0;\n\t}\n\telse if (Number.isNaN(Hz1)) {\n\t\t// one undefined, set to the defined hue\n\t\tHz1 = Hz2;\n\t}\n\telse if (Number.isNaN(Hz2)) {\n\t\tHz2 = Hz1;\n\t}\n\n\tlet Δh = Hz1 - Hz2;\n\tlet ΔH = 2 * Math.sqrt(Cz1 * Cz2) * Math.sin((Δh / 2) * (Math.PI / 180));\n\n\treturn Math.sqrt(ΔJ ** 2 + ΔC ** 2 + ΔH ** 2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_Abs_D65 from \"./xyz-abs-d65.js\";\n\nconst c1 = 3424 / 4096;\nconst c2 = 2413 / 128;\nconst c3 = 2392 / 128;\nconst m1 = 2610 / 16384;\nconst m2 = 2523 / 32;\nconst im1 = 16384 / 2610;\nconst im2 = 32 / 2523;\n\n// The matrix below includes the 4% crosstalk components\n// and is from the Dolby \"What is ICtCp\" paper\"\nconst XYZtoLMS_M = [\n\t[ 0.3592832590121217, 0.6976051147779502, -0.0358915932320290 ],\n\t[ -0.1920808463704993, 1.1004767970374321, 0.0753748658519118 ],\n\t[ 0.0070797844607479, 0.0748396662186362, 0.8433265453898765 ],\n];\n// linear-light Rec.2020 to LMS, again with crosstalk\n// rational terms from Jan Fröhlich,\n// Encoding High Dynamic Range andWide Color Gamut Imagery, p.97\n// and ITU-R BT.2124-0 p.2\n/*\nconst Rec2020toLMS_M = [\n\t[ 1688 / 4096, 2146 / 4096, 262 / 4096 ],\n\t[ 683 / 4096, 2951 / 4096, 462 / 4096 ],\n\t[ 99 / 4096, 309 / 4096, 3688 / 4096 ]\n];\n*/\n// this includes the Ebner LMS coefficients,\n// the rotation, and the scaling to [-0.5,0.5] range\n// rational terms from Fröhlich p.97\n// and ITU-R BT.2124-0 pp.2-3\nconst LMStoIPT_M = [\n\t[ 2048 / 4096, 2048 / 4096, 0 ],\n\t[ 6610 / 4096, -13613 / 4096, 7003 / 4096 ],\n\t[ 17933 / 4096, -17390 / 4096, -543 / 4096 ],\n];\n\n// inverted matrices, calculated from the above\nconst IPTtoLMS_M = [\n\t[ 0.9999999999999998, 0.0086090370379328, 0.1110296250030260 ],\n\t[ 0.9999999999999998, -0.0086090370379328, -0.1110296250030259 ],\n\t[ 0.9999999999999998, 0.5600313357106791, -0.3206271749873188 ],\n];\n/*\nconst LMStoRec2020_M = [\n\t[ 3.4375568932814012112, -2.5072112125095058195, 0.069654319228104608382],\n\t[-0.79142868665644156125, 1.9838372198740089874, -0.19240853321756742626 ],\n\t[-0.025646662911506476363, -0.099240248643945566751, 1.1248869115554520431 ]\n];\n*/\nconst LMStoXYZ_M = [\n\t[ 2.0701522183894223, -1.3263473389671563, 0.2066510476294053 ],\n\t[ 0.3647385209748072, 0.6805660249472273, -0.0453045459220347 ],\n\t[ -0.0497472075358123, -0.0492609666966131, 1.1880659249923042 ],\n];\n\n// Only the PQ form of ICtCp is implemented here. There is also an HLG form.\n// from Dolby, \"WHAT IS ICTCP?\"\n// https://professional.dolby.com/siteassets/pdfs/ictcp_dolbywhitepaper_v071.pdf\n// and\n// Dolby, \"Perceptual Color Volume\n// Measuring the Distinguishable Colors of HDR and WCG Displays\"\n// https://professional.dolby.com/siteassets/pdfs/dolby-vision-measuring-perceptual-color-volume-v7.1.pdf\nexport default new ColorSpace({\n\tid: \"ictcp\",\n\tname: \"ICTCP\",\n\t// From BT.2100-2 page 7:\n\t// During production, signal values are expected to exceed the\n\t// range E′ = [0.0 : 1.0]. This provides processing headroom and avoids\n\t// signal degradation during cascaded processing. Such values of E′,\n\t// below 0.0 or exceeding 1.0, should not be clipped during production\n\t// and exchange.\n\t// Values below 0.0 should not be clipped in reference displays (even\n\t// though they represent “negative” light) to allow the black level of\n\t// the signal (LB) to be properly set using test signals known as “PLUGE”\n\tcoords: {\n\t\ti: {\n\t\t\trefRange: [0, 1],\t// Constant luminance,\n\t\t\tname: \"I\",\n\t\t},\n\t\tct: {\n\t\t\trefRange: [-0.5, 0.5],\t// Full BT.2020 gamut in range [-0.5, 0.5]\n\t\t\tname: \"CT\",\n\t\t},\n\t\tcp: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t\tname: \"CP\",\n\t\t},\n\t},\n\n\tbase: XYZ_Abs_D65,\n\tfromBase (XYZ) {\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoLMS_M, XYZ);\n\n\t\treturn LMStoICtCp(LMS);\n\t},\n\ttoBase (ICtCp) {\n\t\tlet LMS = ICtCptoLMS(ICtCp);\n\n\t\treturn multiplyMatrices(LMStoXYZ_M, LMS);\n\t},\n});\n\nfunction LMStoICtCp (LMS) {\n\t// apply the PQ EOTF\n\t// we can't ever be dividing by zero because of the \"1 +\" in the denominator\n\tlet PQLMS = LMS.map (function (val) {\n\t\tlet num = c1 + (c2 * ((val / 10000) ** m1));\n\t\tlet denom = 1 + (c3 * ((val / 10000) ** m1));\n\n\t\treturn (num / denom) ** m2;\n\t});\n\n\t// LMS to IPT, with rotation for Y'C'bC'r compatibility\n\treturn multiplyMatrices(LMStoIPT_M, PQLMS);\n}\n\nfunction ICtCptoLMS (ICtCp) {\n\tlet PQLMS = multiplyMatrices(IPTtoLMS_M, ICtCp);\n\n\t// From BT.2124-0 Annex 2 Conversion 3\n\tlet LMS = PQLMS.map (function (val) {\n\t\tlet num = Math.max((val ** im2) - c1, 0);\n\t\tlet denom = (c2 - (c3 * (val ** im2)));\n\t\treturn 10000 * ((num / denom) ** im1);\n\t});\n\n\treturn LMS;\n}\n", "import ictcp from \"../spaces/ictcp.js\";\nimport getColor from \"../getColor.js\";\n\n// Delta E in ICtCp space,\n// which the ITU calls Delta E ITP, which is shorter\n// formulae from ITU Rec. ITU-R BT.2124-0\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE in ICtCp\n\t// which is simply the Euclidean distance\n\n\tlet [ I1, T1, P1 ] = ictcp.from(color);\n\tlet [ I2, T2, P2 ] = ictcp.from(sample);\n\n\t// the 0.25 factor is to undo the encoding scaling in Ct\n\t// the 720 is so that 1 deltaE = 1 JND\n\t// per ITU-R BT.2124-0 p.3\n\n\treturn 720 * Math.sqrt((I1 - I2) ** 2 + (0.25 * (T1 - T2) ** 2) + (P1 - P2) ** 2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices, interpolate, copySign, spow, zdiv, bisectLeft} from \"../util.js\";\nimport {constrain} from \"../angles.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {WHITES} from \"../adapt.js\";\n\nconst white = WHITES.D65;\nconst adaptedCoef = 0.42;\nconst adaptedCoefInv = 1 / adaptedCoef;\nconst tau = 2 * Math.PI;\n\nconst cat16 = [\n\t[ 0.401288, 0.650173, -0.051461 ],\n\t[ -0.250268, 1.204414, 0.045854 ],\n\t[ -0.002079, 0.048952, 0.953127 ],\n];\n\nconst cat16Inv = [\n\t[1.8620678550872327, -1.0112546305316843, 0.14918677544445175],\n\t[0.38752654323613717, 0.6214474419314753, -0.008973985167612518],\n\t[-0.015841498849333856, -0.03412293802851557, 1.0499644368778496],\n];\n\nconst m1 = [\n\t[460.0, 451.0, 288.0],\n\t[460.0, -891.0, -261.0],\n\t[460.0, -220.0, -6300.0],\n];\n\nconst surroundMap = {\n\tdark: [0.8, 0.525, 0.8],\n\tdim: [0.9, 0.59, 0.9],\n\taverage: [1, 0.69, 1],\n};\n\nconst hueQuadMap = {\n\t// Red, Yellow, Green, Blue, Red\n\th: [20.14, 90.00, 164.25, 237.53, 380.14],\n\te: [0.8, 0.7, 1.0, 1.2, 0.8],\n\tH: [0.0, 100.0, 200.0, 300.0, 400.0],\n};\n\nconst rad2deg = 180 / Math.PI;\nconst deg2rad = Math.PI / 180;\n\nexport function adapt (coords, fl) {\n\tconst temp = coords.map(c => {\n\t\tconst x = spow(fl * Math.abs(c) * 0.01, adaptedCoef);\n\t\treturn 400 * copySign(x, c) / (x + 27.13);\n\t});\n\treturn temp;\n}\n\nexport function unadapt (adapted, fl) {\n\tconst constant = 100 / fl * (27.13 ** adaptedCoefInv);\n\treturn adapted.map(c => {\n\t\tconst cabs = Math.abs(c);\n\t\treturn copySign(constant * spow(cabs / (400 - cabs), adaptedCoefInv), c);\n\t});\n}\n\nexport function hueQuadrature (h) {\n\tlet hp = constrain(h);\n\tif (hp <= hueQuadMap.h[0]) {\n\t\thp += 360;\n\t}\n\n\tconst i = bisectLeft(hueQuadMap.h, hp) - 1;\n\tconst [hi, hii] = hueQuadMap.h.slice(i, i + 2);\n\tconst [ei, eii] = hueQuadMap.e.slice(i, i + 2);\n\tconst Hi = hueQuadMap.H[i];\n\n\tconst t = (hp - hi) / ei;\n\treturn Hi + (100 * t) / (t + (hii - hp) / eii);\n}\n\nexport function invHueQuadrature (H) {\n\tlet Hp = ((H % 400 + 400) % 400);\n\tconst i = Math.floor(0.01 * Hp);\n\tHp = Hp % 100;\n\tconst [hi, hii] = hueQuadMap.h.slice(i, i + 2);\n\tconst [ei, eii] = hueQuadMap.e.slice(i, i + 2);\n\n\treturn constrain(\n\t\t(Hp * (eii * hi - ei * hii) - 100 * hi * eii) /\n\t\t(Hp * (eii - ei) - 100 * eii),\n\t);\n}\n\nexport function environment (\n\trefWhite,\n\tadaptingLuminance,\n\tbackgroundLuminance,\n\tsurround,\n\tdiscounting,\n) {\n\n\tconst env = {};\n\n\tenv.discounting = discounting;\n\tenv.refWhite = refWhite;\n\tenv.surround = surround;\n\tconst xyzW = refWhite.map(c => {\n\t\treturn c * 100;\n\t});\n\n\t// The average luminance of the environment in `cd/m^2cd/m` (a.k.a. nits)\n\tenv.la = adaptingLuminance;\n\t// The relative luminance of the nearby background\n\tenv.yb = backgroundLuminance;\n\t// Absolute luminance of the reference white.\n\tconst yw = xyzW[1];\n\n\t// Cone response for reference white\n\tconst rgbW = multiplyMatrices(cat16, xyzW);\n\n\t// Surround: dark, dim, and average\n\tsurround = surroundMap[env.surround];\n\tconst f = surround[0];\n\tenv.c = surround[1];\n\tenv.nc = surround[2];\n\n\tconst k = 1 / (5 * env.la + 1);\n\tconst k4 = k ** 4;\n\n\t// Factor of luminance level adaptation\n\tenv.fl = (k4 * env.la + 0.1 * (1 - k4) * (1 - k4) * Math.cbrt(5 * env.la));\n\tenv.flRoot = env.fl ** 0.25;\n\n\tenv.n = env.yb / yw;\n\tenv.z = 1.48 + Math.sqrt(env.n);\n\tenv.nbb = 0.725 * (env.n ** -0.2);\n\tenv.ncb = env.nbb;\n\n\t// Degree of adaptation calculating if not discounting\n\t// illuminant (assumed eye is fully adapted)\n\tconst d = (discounting) ?\n\t\t1 :\n\t\tMath.max(\n\t\t\tMath.min(f * (1 - 1 / 3.6 * Math.exp((-env.la - 42) / 92)), 1),\n\t\t\t0,\n\t\t);\n\tenv.dRgb = rgbW.map(c => {\n\t\treturn interpolate(1, yw / c, d);\n\t});\n\tenv.dRgbInv = env.dRgb.map(c => {\n\t\treturn 1 / c;\n\t});\n\n\t// Achromatic response\n\tconst rgbCW = rgbW.map((c, i) => {\n\t\treturn c * env.dRgb[i];\n\t});\n\tconst rgbAW = adapt(rgbCW, env.fl);\n\tenv.aW = env.nbb * (2 * rgbAW[0] + rgbAW[1] + 0.05 * rgbAW[2]);\n\n\t// console.log(env);\n\n\treturn env;\n}\n\n// Pre-calculate everything we can with the viewing conditions\nconst viewingConditions = environment(\n\twhite,\n\t64 / Math.PI * 0.2, 20,\n\t\"average\",\n\tfalse,\n);\n\nexport function fromCam16 (cam16, env) {\n\n\t// These check ensure one, and only one attribute for a\n\t// given category is provided.\n\tif (!((cam16.J !== undefined) ^ (cam16.Q !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'J' or 'Q'\");\n\t}\n\n\tif (!((cam16.C !== undefined) ^ (cam16.M !== undefined) ^ (cam16.s !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'C', 'M' or 's'\");\n\t}\n\n\t// Hue is absolutely required\n\tif (!((cam16.h !== undefined) ^ (cam16.H !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'h' or 'H'\");\n\t}\n\n\t// Black\n\tif (cam16.J === 0.0 || cam16.Q === 0.0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\n\t// Break hue into Cartesian components\n\tlet hRad = 0.0;\n\tif (cam16.h !== undefined) {\n\t\thRad = constrain(cam16.h) * deg2rad;\n\t}\n\telse {\n\t\thRad = invHueQuadrature(cam16.H) * deg2rad;\n\t}\n\n\tconst cosh = Math.cos(hRad);\n\tconst sinh = Math.sin(hRad);\n\n\t// Calculate `Jroot` from one of the lightness derived coordinates.\n\tlet Jroot = 0.0;\n\tif (cam16.J !== undefined) {\n\t\tJroot = spow(cam16.J, 1 / 2) * 0.1;\n\t}\n\telse if (cam16.Q !== undefined) {\n\t\tJroot = 0.25 * env.c * cam16.Q / ((env.aW + 4) * env.flRoot);\n\t}\n\n\t// Calculate the `t` value from one of the chroma derived coordinates\n\tlet alpha = 0.0;\n\tif (cam16.C !== undefined) {\n\t\talpha = cam16.C / Jroot;\n\t}\n\telse if (cam16.M !== undefined) {\n\t\talpha = (cam16.M / env.flRoot) / Jroot;\n\t}\n\telse if (cam16.s !== undefined) {\n\t\talpha = 0.0004 * (cam16.s ** 2) * (env.aW + 4) / env.c;\n\t}\n\tconst t = spow(\n\t\talpha * Math.pow(1.64 - Math.pow(0.29, env.n), -0.73),\n\t\t10 / 9,\n\t);\n\n\t// Eccentricity\n\tconst et = 0.25 * (Math.cos(hRad + 2) + 3.8);\n\n\t// Achromatic response\n\tconst A = env.aW * spow(Jroot, 2 / env.c / env.z);\n\n\t// Calculate red-green and yellow-blue components\n\tconst p1 = 5e4 / 13 * env.nc * env.ncb * et;\n\tconst p2 = A / env.nbb;\n\tconst r = (\n\t\t23 * (p2 + 0.305) *\n\t\tzdiv(t, 23 * p1 + t * (11 * cosh + 108 * sinh))\n\t);\n\tconst a = r * cosh;\n\tconst b = r * sinh;\n\n\t// Calculate back from cone response to XYZ\n\tconst rgb_c = unadapt(\n\t\tmultiplyMatrices(m1, [p2, a, b]).map(c => {\n\t\t\treturn c * 1 / 1403;\n\t\t}),\n\t\tenv.fl,\n\t);\n\treturn multiplyMatrices(\n\t\tcat16Inv,\n\t\trgb_c.map((c, i) => {\n\t\t\treturn c * env.dRgbInv[i];\n\t\t}),\n\t).map(c => {\n\t\treturn c / 100;\n\t});\n}\n\n\nexport function toCam16 (xyzd65, env) {\n\t// Cone response\n\tconst xyz100 = xyzd65.map(c => {\n\t\treturn c * 100;\n\t});\n\tconst rgbA = adapt(\n\t\tmultiplyMatrices(cat16, xyz100).map((c, i) => {\n\t\t\treturn c * env.dRgb[i];\n\t\t}),\n\t\tenv.fl,\n\t);\n\n\t// Calculate hue from red-green and yellow-blue components\n\tconst a = rgbA[0] + (-12 * rgbA[1] + rgbA[2]) / 11;\n\tconst b = (rgbA[0] + rgbA[1] - 2 * rgbA[2]) / 9;\n\tconst hRad = ((Math.atan2(b, a) % tau) + tau) % tau;\n\n\t// Eccentricity\n\tconst et = 0.25 * (Math.cos(hRad + 2) + 3.8);\n\n\tconst t = (\n\t\t5e4 / 13 * env.nc * env.ncb *\n\t\tzdiv(\n\t\t\tet * Math.sqrt(a ** 2 + b ** 2),\n\t\t\trgbA[0] + rgbA[1] + 1.05 * rgbA[2] + 0.305,\n\t\t)\n\t);\n\tconst alpha = spow(t, 0.9) * Math.pow(1.64 - Math.pow(0.29, env.n), 0.73);\n\n\t// Achromatic response\n\tconst A = env.nbb * (2 * rgbA[0] + rgbA[1] + 0.05 * rgbA[2]);\n\n\tconst Jroot = spow(A / env.aW, 0.5 * env.c * env.z);\n\n\t// Lightness\n\tconst J = 100 * spow(Jroot, 2);\n\n\t// Brightness\n\tconst Q = (4 / env.c * Jroot * (env.aW + 4) * env.flRoot);\n\n\t// Chroma\n\tconst C = alpha * Jroot;\n\n\t// Colorfulness\n\tconst M = C * env.flRoot;\n\n\t// Hue\n\tconst h = constrain(hRad * rad2deg);\n\n\t// Hue quadrature\n\tconst H = hueQuadrature(h);\n\n\t// Saturation\n\tconst s = 50 * spow(env.c * alpha / (env.aW + 4), 1 / 2);\n\n\t// console.log({J: J, C: C, h: h, s: s, Q: Q, M: M, H: H});\n\n\treturn {J: J, C: C, h: h, s: s, Q: Q, M: M, H: H};\n}\n\n\n// Provided as a way to directly evaluate the CAM16 model\n// https://observablehq.com/@jrus/cam16: reference implementation\n// https://arxiv.org/pdf/1802.06067.pdf: Nico Schlömer\n// https://onlinelibrary.wiley.com/doi/pdf/10.1002/col.22324: hue quadrature\n// https://www.researchgate.net/publication/318152296_Comprehensive_color_solutions_CAM16_CAT16_and_CAM16-UCS\n// Results compared against: https://github.com/colour-science/colour\nexport default new ColorSpace({\n\tid: \"cam16-jmh\",\n\tcssId: \"--cam16-jmh\",\n\tname: \"CAM16-JMh\",\n\tcoords: {\n\t\tj: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"J\",\n\t\t},\n\t\tm: {\n\t\t\trefRange: [0, 105.0],\n\t\t\tname: \"Colorfulness\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: xyz_d65,\n\n\tfromBase (xyz) {\n\t\tconst cam16 = toCam16(xyz, viewingConditions);\n\t\treturn [cam16.J, cam16.M, cam16.h];\n\t},\n\ttoBase (cam16) {\n\t\treturn fromCam16(\n\t\t\t{J: cam16[0], M: cam16[1], h: cam16[2]},\n\t\t\tviewingConditions,\n\t\t);\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {constrain} from \"../angles.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {fromCam16, toCam16, environment} from \"./cam16.js\";\nimport {WHITES} from \"../adapt.js\";\n\nconst white = WHITES.D65;\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nfunction toLstar (y) {\n\t// Convert XYZ Y to L*\n\n\tconst fy = (y > ε) ? Math.cbrt(y) : (κ * y + 16) / 116;\n\treturn (116.0 * fy) - 16.0;\n}\n\nfunction fromLstar (lstar) {\n\t// Convert L* back to XYZ Y\n\n\treturn (lstar > 8) ? Math.pow((lstar + 16) / 116, 3) : lstar / κ;\n}\n\nfunction fromHct (coords, env) {\n\t// Use Newton's method to try and converge as quick as possible or\n\t// converge as close as we can. While the requested precision is achieved\n\t// most of the time, it may not always be achievable. Especially past the\n\t// visible spectrum, the algorithm will likely struggle to get the same\n\t// precision. If, for whatever reason, we cannot achieve the accuracy we\n\t// seek in the allotted iterations, just return the closest we were able to\n\t// get.\n\n\tlet [h, c, t] = coords;\n\tlet xyz = [];\n\tlet j = 0;\n\n\t// Shortcut out for black\n\tif (t === 0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\n\t// Calculate the Y we need to target\n\tlet y = fromLstar(t);\n\n\t// A better initial guess yields better results. Polynomials come from\n\t// curve fitting the T vs J response.\n\tif (t > 0) {\n\t\tj = 0.00379058511492914 * t ** 2 + 0.608983189401032 * t + 0.9155088574762233;\n\t}\n\telse {\n\t\tj = 9.514440756550361e-06 * t ** 2 + 0.08693057439788597 * t - 21.928975842194614;\n\t}\n\n\t// Threshold of how close is close enough, and max number of attempts.\n\t// More precision and more attempts means more time spent iterating. Higher\n\t// required precision gives more accuracy but also increases the chance of\n\t// not hitting the goal. 2e-12 allows us to convert round trip with\n\t// reasonable accuracy of six decimal places or more.\n\tconst threshold = 2e-12;\n\tconst max_attempts = 15;\n\n\tlet attempt = 0;\n\tlet last = Infinity;\n\tlet best = j;\n\n\t// Try to find a J such that the returned y matches the returned y of the L*\n\twhile (attempt <= max_attempts) {\n\t\txyz = fromCam16({J: j, C: c, h: h}, env);\n\n\t\t// If we are within range, return XYZ\n\t\t// If we are closer than last time, save the values\n\t\tconst delta = Math.abs(xyz[1] - y);\n\t\tif (delta < last) {\n\t\t\tif (delta <= threshold) {\n\t\t\t\treturn xyz;\n\t\t\t}\n\t\t\tbest = j;\n\t\t\tlast = delta;\n\t\t}\n\n\t\t// f(j_root) = (j ** (1 / 2)) * 0.1\n\t\t// f(j) = ((f(j_root) * 100) ** 2) / j - 1 = 0\n\t\t// f(j_root) = Y = y / 100\n\t\t// f(j) = (y ** 2) / j - 1\n\t\t// f'(j) = (2 * y) / j\n\t\tj = j - (xyz[1] - y) * j / (2 * xyz[1]);\n\n\t\tattempt += 1;\n\t}\n\n\t// We could not acquire the precision we desired,\n\t// return our closest attempt.\n\treturn fromCam16({J: j, C: c, h: h}, env);\n}\n\nfunction toHct (xyz, env) {\n\t// Calculate HCT by taking the L* of CIE LCh D65 and CAM16 chroma and hue.\n\n\tconst t = toLstar(xyz[1]);\n\tif (t === 0.0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\tconst cam16 = toCam16(xyz, viewingConditions);\n\treturn [constrain(cam16.h), cam16.C, t];\n}\n\n// Pre-calculate everything we can with the viewing conditions\nexport const viewingConditions = environment(\n\twhite, 200 / Math.PI * fromLstar(50.0),\n\tfromLstar(50.0) * 100,\n\t\"average\",\n\tfalse,\n);\n\n// https://material.io/blog/science-of-color-design\n// This is not a port of the material-color-utilities,\n// but instead implements the full color space as described,\n// combining CAM16 JCh and Lab D65. This does not clamp conversion\n// to HCT to specific chroma bands and provides support for wider\n// gamuts than Google currently supports and does so at a greater\n// precision (> 8 bits back to sRGB).\n// This implementation comes from https://github.com/facelessuser/coloraide\n// which is licensed under MIT.\nexport default new ColorSpace({\n\tid: \"hct\",\n\tname: \"HCT\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 145],\n\t\t\tname: \"Colorfulness\",\n\t\t},\n\t\tt: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Tone\",\n\t\t},\n\t},\n\n\tbase: xyz_d65,\n\n\tfromBase (xyz) {\n\t\treturn toHct(xyz, viewingConditions);\n\t},\n\ttoBase (hct) {\n\t\treturn fromHct(hct, viewingConditions);\n\t},\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hct\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import hct from \"../spaces/hct.js\";\nimport {viewingConditions} from \"../spaces/hct.js\";\nimport getColor from \"../getColor.js\";\n\nconst rad2deg = 180 / Math.PI;\nconst deg2rad = Math.PI / 180;\nconst ucsCoeff = [1.00, 0.007, 0.0228];\n\n/**\n* Convert HCT chroma and hue (CAM16 JMh colorfulness and hue) using UCS logic for a and b.\n* @param {number[]} coords - HCT coordinates.\n* @return {number[]}\n*/\nfunction convertUcsAb (coords) {\n\t// We want the distance between the actual color.\n\t// If chroma is negative, it will throw off our calculations.\n\t// Normally, converting back to the base and forward will correct it.\n\t// If we have a negative chroma after this, then we have a color that\n\t// cannot resolve to positive chroma.\n\tif (coords[1] < 0) {\n\t\tcoords = hct.fromBase(hct.toBase(coords));\n\t}\n\n\t// Only in extreme cases (usually outside the visible spectrum)\n\t// can the input value for log become negative.\n\t// Avoid domain error by forcing a zero result via \"max\" if necessary.\n\tconst M = Math.log(Math.max(1 + ucsCoeff[2] * coords[1] * viewingConditions.flRoot, 1.0)) / ucsCoeff[2];\n\tconst hrad = coords[0] * deg2rad;\n\tconst a = M * Math.cos(hrad);\n\tconst b = M * Math.sin(hrad);\n\n\treturn [coords[2], a, b];\n}\n\n\n/**\n* Color distance using HCT.\n* @param {Color} color - Color to compare.\n* @param {Color} sample - Color to compare.\n* @return {number[]}\n*/\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\tlet [ t1, a1, b1 ] = convertUcsAb(hct.from(color));\n\tlet [ t2, a2, b2 ] = convertUcsAb(hct.from(sample));\n\n\t// Use simple euclidean distance with a and b using UCS conversion\n\t// and LCh lightness (HCT tone).\n\treturn Math.sqrt((t1 - t2) ** 2 + (a1 - a2) ** 2 + (b1 - b2) ** 2);\n}\n", "import deltaE76 from \"./deltaE76.js\";\nimport deltaECMC from \"./deltaECMC.js\";\nimport deltaE2000 from \"./deltaE2000.js\";\nimport deltaEJz from \"./deltaEJz.js\";\nimport deltaEITP from \"./deltaEITP.js\";\nimport deltaEOK from \"./deltaEOK.js\";\nimport deltaEHCT from \"./deltaEHCT.js\";\n\nexport {\n\tdeltaE76,\n\tdeltaECMC,\n\tdeltaE2000,\n\tdeltaEJz,\n\tdeltaEITP,\n\tdeltaEOK,\n\tdeltaEHCT,\n};\n\nexport default {\n\tdeltaE76,\n\tdeltaECMC,\n\tdeltaE2000,\n\tdeltaEJz,\n\tdeltaEITP,\n\tdeltaEOK,\n\tdeltaEHCT,\n};\n", "import * as util from \"./util.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\nimport deltaE2000 from \"./deltaE/deltaE2000.js\";\nimport deltaEOK from \"./deltaE/deltaEOK.js\";\nimport inGamut from \"./inGamut.js\";\nimport to from \"./to.js\";\nimport get from \"./get.js\";\nimport oklab from \"./spaces/oklab.js\";\nimport set from \"./set.js\";\nimport clone from \"./clone.js\";\nimport getColor from \"./getColor.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\nimport {WHITES} from \"./adapt.js\";\n\n/**\n * Calculate the epsilon to 2 degrees smaller than the specified JND.\n * @param {Number} jnd - The target \"just noticeable difference\".\n * @returns {Number}\n */\nfunction calcEpsilon (jnd) {\n\t// Calculate the epsilon to 2 degrees smaller than the specified JND.\n\n\tconst order = (!jnd) ? 0 : Math.floor(Math.log10(Math.abs(jnd)));\n\t// Limit to an arbitrary value to ensure value is never too small and causes infinite loops.\n\treturn Math.max(parseFloat(`1e${order - 2}`), 1e-6);\n}\n\nconst GMAPPRESET = {\n\t\"hct\": {\n\t\tmethod: \"hct.c\",\n\t\tjnd: 2,\n\t\tdeltaEMethod: \"hct\",\n\t\tblackWhiteClamp: {},\n\t},\n\t\"hct-tonal\": {\n\t\tmethod: \"hct.c\",\n\t\tjnd: 0,\n\t\tdeltaEMethod: \"hct\",\n\t\tblackWhiteClamp: { channel: \"hct.t\", min: 0, max: 100 },\n\t},\n};\n\n/**\n * Force coordinates to be in gamut of a certain color space.\n * Mutates the color it is passed.\n * @param {Object|string} options object or spaceId string\n * @param {string} options.method - How to force into gamut.\n * If \"clip\", coordinates are just clipped to their reference range.\n * If \"css\", coordinates are reduced according to the CSS 4 Gamut Mapping Algorithm.\n * If in the form [colorSpaceId].[coordName], that coordinate is reduced\n * until the color is in gamut. Please note that this may produce nonsensical\n * results for certain coordinates (e.g. hue) or infinite loops if reducing the coordinate never brings the color in gamut.\n * @param {ColorSpace|string} options.space - The space whose gamut we want to map to\n * @param {string} options.deltaEMethod - The delta E method to use while performing gamut mapping.\n * If no method is specified, delta E 2000 is used.\n * @param {Number} options.jnd - The \"just noticeable difference\" to target.\n * @param {Object} options.blackWhiteClamp - Used to configure SDR black and clamping.\n * \"channel\" indicates the \"space.channel\" to use for determining when to clamp.\n * \"min\" indicates the lower limit for black clamping and \"max\" indicates the upper\n * limit for white clamping.\n */\n\nexport default function toGamut (\n\tcolor,\n\t{\n\t\tmethod = defaults.gamut_mapping,\n\t\tspace = undefined,\n\t\tdeltaEMethod = \"\",\n\t\tjnd = 2,\n\t\tblackWhiteClamp = {},\n\t} = {},\n) {\n\tcolor = getColor(color);\n\n\tif (util.isString(arguments[1])) {\n\t\tspace = arguments[1];\n\t}\n\telse if (!space) {\n\t\tspace = color.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\n\t// 3 spaces:\n\t// color.space: current color space\n\t// space: space whose gamut we are mapping to\n\t// mapSpace: space with the coord we're reducing\n\n\tif (inGamut(color, space, { epsilon: 0 })) {\n\t\treturn color;\n\t}\n\n\tlet spaceColor;\n\tif (method === \"css\") {\n\t\tspaceColor = toGamutCSS(color, { space });\n\t}\n\telse {\n\t\tif (method !== \"clip\" && !inGamut(color, space)) {\n\n\t\t\tif (Object.prototype.hasOwnProperty.call(GMAPPRESET, method)) {\n\t\t\t\t({method, jnd, deltaEMethod, blackWhiteClamp} = GMAPPRESET[method]);\n\t\t\t}\n\n\t\t\t// Get the correct delta E method\n\t\t\tlet de = deltaE2000;\n\t\t\tif (deltaEMethod !== \"\") {\n\t\t\t\tfor (let m in deltaEMethods) {\n\t\t\t\t\tif (\"deltae\" + deltaEMethod.toLowerCase() === m.toLowerCase()) {\n\t\t\t\t\t\tde = deltaEMethods[m];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet clipped = toGamut(to(color, space), { method: \"clip\", space });\n\t\t\tif (de(color, clipped) > jnd) {\n\n\t\t\t\t// Clamp to SDR white and black if required\n\t\t\t\tif (Object.keys(blackWhiteClamp).length === 3) {\n\t\t\t\t\tlet channelMeta = ColorSpace.resolveCoord(blackWhiteClamp.channel);\n\t\t\t\t\tlet channel = get(to(color, channelMeta.space), channelMeta.id);\n\t\t\t\t\tif (util.isNone(channel)) {\n\t\t\t\t\t\tchannel = 0;\n\t\t\t\t\t}\n\t\t\t\t\tif (channel >= blackWhiteClamp.max) {\n\t\t\t\t\t\treturn to({ space: \"xyz-d65\", coords: WHITES[\"D65\"] }, color.space);\n\t\t\t\t\t}\n\t\t\t\t\telse if (channel <= blackWhiteClamp.min) {\n\t\t\t\t\t\treturn to({ space: \"xyz-d65\", coords: [0, 0, 0] }, color.space);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Reduce a coordinate of a certain color space until the color is in gamut\n\t\t\t\tlet coordMeta = ColorSpace.resolveCoord(method);\n\t\t\t\tlet mapSpace = coordMeta.space;\n\t\t\t\tlet coordId = coordMeta.id;\n\n\t\t\t\tlet mappedColor = to(color, mapSpace);\n\t\t\t\t// If we were already in the mapped color space, we need to resolve undefined channels\n\t\t\t\tmappedColor.coords.forEach((c, i) => {\n\t\t\t\t\tif (util.isNone(c)) {\n\t\t\t\t\t\tmappedColor.coords[i] = 0;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tlet bounds = coordMeta.range || coordMeta.refRange;\n\t\t\t\tlet min = bounds[0];\n\t\t\t\tlet ε = calcEpsilon(jnd);\n\t\t\t\tlet low = min;\n\t\t\t\tlet high = get(mappedColor, coordId);\n\n\t\t\t\twhile (high - low > ε) {\n\t\t\t\t\tlet clipped = clone(mappedColor);\n\t\t\t\t\tclipped = toGamut(clipped, { space, method: \"clip\" });\n\t\t\t\t\tlet deltaE = de(mappedColor, clipped);\n\n\t\t\t\t\tif (deltaE - jnd < ε) {\n\t\t\t\t\t\tlow = get(mappedColor, coordId);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\thigh = get(mappedColor, coordId);\n\t\t\t\t\t}\n\n\t\t\t\t\tset(mappedColor, coordId, (low + high) / 2);\n\t\t\t\t}\n\n\t\t\t\tspaceColor = to(mappedColor, space);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tspaceColor = clipped;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tspaceColor = to(color, space);\n\t\t}\n\n\t\tif (method === \"clip\" // Dumb coord clipping\n\t\t\t// finish off smarter gamut mapping with clip to get rid of ε, see #17\n\t\t\t|| !inGamut(spaceColor, space, { epsilon: 0 })\n\t\t) {\n\t\t\tlet bounds = Object.values(space.coords).map(c => c.range || []);\n\n\t\t\tspaceColor.coords = spaceColor.coords.map((c, i) => {\n\t\t\t\tlet [min, max] = bounds[i];\n\n\t\t\t\tif (min !== undefined) {\n\t\t\t\t\tc = Math.max(min, c);\n\t\t\t\t}\n\n\t\t\t\tif (max !== undefined) {\n\t\t\t\t\tc = Math.min(c, max);\n\t\t\t\t}\n\n\t\t\t\treturn c;\n\t\t\t});\n\t\t}\n\t}\n\n\tif (space !== color.space) {\n\t\tspaceColor = to(spaceColor, color.space);\n\t}\n\n\tcolor.coords = spaceColor.coords;\n\treturn color;\n}\n\ntoGamut.returns = \"color\";\n\n// The reference colors to be used if lightness is out of the range 0-1 in the\n// `Oklch` space. These are created in the `Oklab` space, as it is used by the\n// DeltaEOK calculation, so it is guaranteed to be imported.\nconst COLORS = {\n\tWHITE: { space: oklab, coords: [1, 0, 0] },\n\tBLACK: { space: oklab, coords: [0, 0, 0] },\n};\n\n/**\n * Given a color `origin`, returns a new color that is in gamut using\n * the CSS Gamut Mapping Algorithm. If `space` is specified, it will be in gamut\n * in `space`, and returned in `space`. Otherwise, it will be in gamut and\n * returned in the color space of `origin`.\n * @param {Object} origin\n * @param {Object} options\n * @param {ColorSpace|string} options.space\n * @returns {Color}\n */\nexport function toGamutCSS (origin, {space} = {}) {\n\tconst JND = 0.02;\n\tconst ε = 0.0001;\n\n\torigin = getColor(origin);\n\n\tif (!space) {\n\t\tspace = origin.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\tconst oklchSpace = ColorSpace.get(\"oklch\");\n\n\tif (space.isUnbounded) {\n\t\treturn to(origin, space);\n\t}\n\n\tconst origin_OKLCH = to(origin, oklchSpace);\n\tlet L = origin_OKLCH.coords[0];\n\n\t// return media white or black, if lightness is out of range\n\tif (L >= 1) {\n\t\tconst white = to(COLORS.WHITE, space);\n\t\twhite.alpha = origin.alpha;\n\t\treturn to(white, space);\n\t}\n\tif (L <= 0) {\n\t\tconst black = to(COLORS.BLACK, space);\n\t\tblack.alpha = origin.alpha;\n\t\treturn to(black, space);\n\t}\n\n\tif (inGamut(origin_OKLCH, space, {epsilon: 0})) {\n\t\treturn to(origin_OKLCH, space);\n\t}\n\n\tfunction clip (_color) {\n\t\tconst destColor = to(_color, space);\n\t\tconst spaceCoords = Object.values(space.coords);\n\t\tdestColor.coords = destColor.coords.map((coord, index) => {\n\t\t\tif (\"range\" in spaceCoords[index]) {\n\t\t\t\tconst [min, max] = spaceCoords[index].range;\n\t\t\t\treturn util.clamp(min, coord, max);\n\t\t\t}\n\t\t\treturn coord;\n\t\t});\n\t\treturn destColor;\n\t}\n\tlet min = 0;\n\tlet max = origin_OKLCH.coords[1];\n\tlet min_inGamut = true;\n\tlet current = clone(origin_OKLCH);\n\tlet clipped = clip(current);\n\n\tlet E = deltaEOK(clipped, current);\n\tif (E < JND) {\n\t\treturn clipped;\n\t}\n\n\twhile ((max - min) > ε) {\n\t\tconst chroma = (min + max) / 2;\n\t\tcurrent.coords[1] = chroma;\n\t\tif (min_inGamut && inGamut(current, space, {epsilon: 0})) {\n\t\t\tmin = chroma;\n\t\t}\n\t\telse {\n\t\t\tclipped = clip(current);\n\t\t\tE = deltaEOK(clipped, current);\n\t\t\tif (E < JND) {\n\t\t\t\tif ((JND - E < ε)) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tmin_inGamut = false;\n\t\t\t\t\tmin = chroma;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tmax = chroma;\n\t\t\t}\n\t\t}\n\t}\n\treturn clipped;\n}\n", "import getColor from \"./getColor.js\";\nimport ColorSpace from \"./space.js\";\nimport toGamut from \"./toGamut.js\";\n\n/**\n * Convert to color space and return a new color\n * @param {Object|string} space - Color space object or id\n * @param {Object} options\n * @param {boolean} options.inGamut - Whether to force resulting color in gamut\n * @returns {Color}\n */\nexport default function to (color, space, {inGamut} = {}) {\n\tcolor = getColor(color);\n\tspace = ColorSpace.get(space);\n\n\tlet coords = space.from(color);\n\tlet ret = {space, coords, alpha: color.alpha};\n\n\tif (inGamut) {\n\t\tret = toGamut(ret, inGamut === true ? undefined : inGamut);\n\t}\n\n\treturn ret;\n}\n\nto.returns = \"color\";\n", "import * as util from \"./util.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\nimport getColor from \"./getColor.js\";\nimport checkInGamut from \"./inGamut.js\";\nimport toGamut from \"./toGamut.js\";\nimport clone from \"./clone.js\";\n\n/**\n * Generic toString() method, outputs a color(spaceId ...coords) function, a functional syntax, or custom formats defined by the color space\n * @param {Object} options\n * @param {number} options.precision - Significant digits\n * @param {boolean} options.inGamut - Adjust coordinates to fit in gamut first? [default: false]\n */\nexport default function serialize (color, {\n\tprecision = defaults.precision,\n\tformat = \"default\",\n\tinGamut = true,\n\t...customOptions\n} = {}) {\n\tlet ret;\n\n\tcolor = getColor(color);\n\n\tlet formatId = format;\n\tformat = color.space.getFormat(format)\n\t ?? color.space.getFormat(\"default\")\n\t ?? ColorSpace.DEFAULT_FORMAT;\n\n\t// The assignment to coords and inGamut needs to stay in the order they are now\n\t// The order of the assignment was changed as a workaround for a bug in Next.js\n\t// See this issue for details: https://github.com/color-js/color.js/issues/260\n\n\tlet coords = color.coords.slice(); // clone so we can manipulate it\n\n\tinGamut ||= format.toGamut;\n\n\tif (inGamut && !checkInGamut(color)) {\n\t\t// FIXME what happens if the color contains NaNs?\n\t\tcoords = toGamut(clone(color), inGamut === true ? undefined : inGamut).coords;\n\t}\n\n\tif (format.type === \"custom\") {\n\t\tcustomOptions.precision = precision;\n\n\t\tif (format.serialize) {\n\t\t\tret = format.serialize(coords, color.alpha, customOptions);\n\t\t}\n\t\telse {\n\t\t\tthrow new TypeError(`format ${formatId} can only be used to parse colors, not for serialization`);\n\t\t}\n\t}\n\telse {\n\t\t// Functional syntax\n\t\tlet name = format.name || \"color\";\n\n\t\tif (format.serializeCoords) {\n\t\t\tcoords = format.serializeCoords(coords, precision);\n\t\t}\n\t\telse {\n\t\t\tif (precision !== null) {\n\t\t\t\tcoords = coords.map(c => {\n\t\t\t\t\treturn util.serializeNumber(c, {precision});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tlet args = [...coords];\n\n\t\tif (name === \"color\") {\n\t\t\t// If output is a color() function, add colorspace id as first argument\n\t\t\tlet cssId = format.id || format.ids?.[0] || color.space.id;\n\t\t\targs.unshift(cssId);\n\t\t}\n\n\t\tlet alpha = color.alpha;\n\t\tif (precision !== null) {\n\t\t\talpha = util.serializeNumber(alpha, {precision});\n\t\t}\n\n\t\tlet strAlpha = color.alpha >= 1 || format.noAlpha ? \"\" : `${format.commas ? \",\" : \" /\"} ${alpha}`;\n\t\tret = `${name}(${args.join(format.commas ? \", \" : \" \")}${strAlpha})`;\n\t}\n\n\treturn ret;\n}\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// convert an array of linear-light rec2020 values to CIE XYZ\n// using D65 (no chromatic adaptation)\n// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n// 0 is actually calculated as 4.994106574466076e-17\nconst toXYZ_M = [\n\t[ 0.6369580483012914, 0.14461690358620832, 0.1688809751641721 ],\n\t[ 0.2627002120112671, 0.6779980715188708, 0.05930171646986196 ],\n\t[ 0.000000000000000, 0.028072693049087428, 1.060985057710791 ],\n];\n\n// from ITU-R BT.2124-0 Annex 2 p.3\nconst fromXYZ_M = [\n\t[ 1.716651187971268, -0.355670783776392, -0.253366281373660 ],\n\t[ -0.666684351832489, 1.616481236634939, 0.0157685458139111 ],\n\t[ 0.017639857445311, -0.042770613257809, 0.942103121235474 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"rec2020-linear\",\n\tcssId: \"--rec2020-linear\",\n\tname: \"Linear REC.2020\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n// import sRGB from \"./srgb.js\";\n\nconst α = 1.09929682680944;\nconst β = 0.018053968510807;\n\nexport default new RGBColorSpace({\n\tid: \"rec2020\",\n\tname: \"REC.2020\",\n\tbase: REC2020Linear,\n\t// Non-linear transfer function from Rec. ITU-R BT.2020-2 table 4\n\ttoBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val < β * 4.5) {\n\t\t\t\treturn val / 4.5;\n\t\t\t}\n\n\t\t\treturn Math.pow((val + α - 1) / α, 1 / 0.45);\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val >= β) {\n\t\t\t\treturn α * Math.pow(val, 0.45) - (α - 1);\n\t\t\t}\n\n\t\t\treturn 4.5 * val;\n\t\t});\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\nconst toXYZ_M = [\n\t[0.4865709486482162, 0.26566769316909306, 0.1982172852343625],\n\t[0.2289745640697488, 0.6917385218365064, 0.079286914093745],\n\t[0.0000000000000000, 0.04511338185890264, 1.043944368900976],\n];\n\nconst fromXYZ_M = [\n\t[ 2.493496911941425, -0.9313836179191239, -0.40271078445071684],\n\t[-0.8294889695615747, 1.7626640603183463, 0.023624685841943577],\n\t[ 0.03584583024378447, -0.07617238926804182, 0.9568845240076872],\n];\n\nexport default new RGBColorSpace({\n\tid: \"p3-linear\",\n\tcssId: \"--display-p3-linear\",\n\tname: \"Linear P3\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// This is the linear-light version of sRGB\n// as used for example in SVG filters\n// or in Canvas\n\n// This matrix was calculated directly from the RGB and white chromaticities\n// when rounded to 8 decimal places, it agrees completely with the official matrix\n// see https://github.com/w3c/csswg-drafts/issues/5922\nconst toXYZ_M = [\n\t[ 0.41239079926595934, 0.357584339383878, 0.1804807884018343 ],\n\t[ 0.21263900587151027, 0.715168678767756, 0.07219231536073371 ],\n\t[ 0.01933081871559182, 0.11919477979462598, 0.9505321522496607 ],\n];\n\n// This matrix is the inverse of the above;\n// again it agrees with the official definition when rounded to 8 decimal places\nexport const fromXYZ_M = [\n\t[ 3.2409699419045226, -1.537383177570094, -0.4986107602930034 ],\n\t[ -0.9692436362808796, 1.8759675015077202, 0.04155505740717559 ],\n\t[ 0.05563007969699366, -0.20397695888897652, 1.0569715142428786 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"srgb-linear\",\n\tname: \"Linear sRGB\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "/* List of CSS color keywords\n * Note that this does not include currentColor, transparent,\n * or system colors\n */\n\n// To produce: Visit https://www.w3.org/TR/css-color-4/#named-colors\n// and run in the console:\n// copy($$(\"tr\", $(\".named-color-table tbody\")).map(tr => `\"${tr.cells[2].textContent.trim()}\": [${tr.cells[4].textContent.trim().split(/\\s+/).map(c => c === \"0\"? \"0\" : c === \"255\"? \"1\" : c + \" / 255\").join(\", \")}]`).join(\",\\n\"))\nexport default {\n\t\"aliceblue\": [240 / 255, 248 / 255, 1],\n\t\"antiquewhite\": [250 / 255, 235 / 255, 215 / 255],\n\t\"aqua\": [0, 1, 1],\n\t\"aquamarine\": [127 / 255, 1, 212 / 255],\n\t\"azure\": [240 / 255, 1, 1],\n\t\"beige\": [245 / 255, 245 / 255, 220 / 255],\n\t\"bisque\": [1, 228 / 255, 196 / 255],\n\t\"black\": [0, 0, 0],\n\t\"blanchedalmond\": [1, 235 / 255, 205 / 255],\n\t\"blue\": [0, 0, 1],\n\t\"blueviolet\": [138 / 255, 43 / 255, 226 / 255],\n\t\"brown\": [165 / 255, 42 / 255, 42 / 255],\n\t\"burlywood\": [222 / 255, 184 / 255, 135 / 255],\n\t\"cadetblue\": [95 / 255, 158 / 255, 160 / 255],\n\t\"chartreuse\": [127 / 255, 1, 0],\n\t\"chocolate\": [210 / 255, 105 / 255, 30 / 255],\n\t\"coral\": [1, 127 / 255, 80 / 255],\n\t\"cornflowerblue\": [100 / 255, 149 / 255, 237 / 255],\n\t\"cornsilk\": [1, 248 / 255, 220 / 255],\n\t\"crimson\": [220 / 255, 20 / 255, 60 / 255],\n\t\"cyan\": [0, 1, 1],\n\t\"darkblue\": [0, 0, 139 / 255],\n\t\"darkcyan\": [0, 139 / 255, 139 / 255],\n\t\"darkgoldenrod\": [184 / 255, 134 / 255, 11 / 255],\n\t\"darkgray\": [169 / 255, 169 / 255, 169 / 255],\n\t\"darkgreen\": [0, 100 / 255, 0],\n\t\"darkgrey\": [169 / 255, 169 / 255, 169 / 255],\n\t\"darkkhaki\": [189 / 255, 183 / 255, 107 / 255],\n\t\"darkmagenta\": [139 / 255, 0, 139 / 255],\n\t\"darkolivegreen\": [85 / 255, 107 / 255, 47 / 255],\n\t\"darkorange\": [1, 140 / 255, 0],\n\t\"darkorchid\": [153 / 255, 50 / 255, 204 / 255],\n\t\"darkred\": [139 / 255, 0, 0],\n\t\"darksalmon\": [233 / 255, 150 / 255, 122 / 255],\n\t\"darkseagreen\": [143 / 255, 188 / 255, 143 / 255],\n\t\"darkslateblue\": [72 / 255, 61 / 255, 139 / 255],\n\t\"darkslategray\": [47 / 255, 79 / 255, 79 / 255],\n\t\"darkslategrey\": [47 / 255, 79 / 255, 79 / 255],\n\t\"darkturquoise\": [0, 206 / 255, 209 / 255],\n\t\"darkviolet\": [148 / 255, 0, 211 / 255],\n\t\"deeppink\": [1, 20 / 255, 147 / 255],\n\t\"deepskyblue\": [0, 191 / 255, 1],\n\t\"dimgray\": [105 / 255, 105 / 255, 105 / 255],\n\t\"dimgrey\": [105 / 255, 105 / 255, 105 / 255],\n\t\"dodgerblue\": [30 / 255, 144 / 255, 1],\n\t\"firebrick\": [178 / 255, 34 / 255, 34 / 255],\n\t\"floralwhite\": [1, 250 / 255, 240 / 255],\n\t\"forestgreen\": [34 / 255, 139 / 255, 34 / 255],\n\t\"fuchsia\": [1, 0, 1],\n\t\"gainsboro\": [220 / 255, 220 / 255, 220 / 255],\n\t\"ghostwhite\": [248 / 255, 248 / 255, 1],\n\t\"gold\": [1, 215 / 255, 0],\n\t\"goldenrod\": [218 / 255, 165 / 255, 32 / 255],\n\t\"gray\": [128 / 255, 128 / 255, 128 / 255],\n\t\"green\": [0, 128 / 255, 0],\n\t\"greenyellow\": [173 / 255, 1, 47 / 255],\n\t\"grey\": [128 / 255, 128 / 255, 128 / 255],\n\t\"honeydew\": [240 / 255, 1, 240 / 255],\n\t\"hotpink\": [1, 105 / 255, 180 / 255],\n\t\"indianred\": [205 / 255, 92 / 255, 92 / 255],\n\t\"indigo\": [75 / 255, 0, 130 / 255],\n\t\"ivory\": [1, 1, 240 / 255],\n\t\"khaki\": [240 / 255, 230 / 255, 140 / 255],\n\t\"lavender\": [230 / 255, 230 / 255, 250 / 255],\n\t\"lavenderblush\": [1, 240 / 255, 245 / 255],\n\t\"lawngreen\": [124 / 255, 252 / 255, 0],\n\t\"lemonchiffon\": [1, 250 / 255, 205 / 255],\n\t\"lightblue\": [173 / 255, 216 / 255, 230 / 255],\n\t\"lightcoral\": [240 / 255, 128 / 255, 128 / 255],\n\t\"lightcyan\": [224 / 255, 1, 1],\n\t\"lightgoldenrodyellow\": [250 / 255, 250 / 255, 210 / 255],\n\t\"lightgray\": [211 / 255, 211 / 255, 211 / 255],\n\t\"lightgreen\": [144 / 255, 238 / 255, 144 / 255],\n\t\"lightgrey\": [211 / 255, 211 / 255, 211 / 255],\n\t\"lightpink\": [1, 182 / 255, 193 / 255],\n\t\"lightsalmon\": [1, 160 / 255, 122 / 255],\n\t\"lightseagreen\": [32 / 255, 178 / 255, 170 / 255],\n\t\"lightskyblue\": [135 / 255, 206 / 255, 250 / 255],\n\t\"lightslategray\": [119 / 255, 136 / 255, 153 / 255],\n\t\"lightslategrey\": [119 / 255, 136 / 255, 153 / 255],\n\t\"lightsteelblue\": [176 / 255, 196 / 255, 222 / 255],\n\t\"lightyellow\": [1, 1, 224 / 255],\n\t\"lime\": [0, 1, 0],\n\t\"limegreen\": [50 / 255, 205 / 255, 50 / 255],\n\t\"linen\": [250 / 255, 240 / 255, 230 / 255],\n\t\"magenta\": [1, 0, 1],\n\t\"maroon\": [128 / 255, 0, 0],\n\t\"mediumaquamarine\": [102 / 255, 205 / 255, 170 / 255],\n\t\"mediumblue\": [0, 0, 205 / 255],\n\t\"mediumorchid\": [186 / 255, 85 / 255, 211 / 255],\n\t\"mediumpurple\": [147 / 255, 112 / 255, 219 / 255],\n\t\"mediumseagreen\": [60 / 255, 179 / 255, 113 / 255],\n\t\"mediumslateblue\": [123 / 255, 104 / 255, 238 / 255],\n\t\"mediumspringgreen\": [0, 250 / 255, 154 / 255],\n\t\"mediumturquoise\": [72 / 255, 209 / 255, 204 / 255],\n\t\"mediumvioletred\": [199 / 255, 21 / 255, 133 / 255],\n\t\"midnightblue\": [25 / 255, 25 / 255, 112 / 255],\n\t\"mintcream\": [245 / 255, 1, 250 / 255],\n\t\"mistyrose\": [1, 228 / 255, 225 / 255],\n\t\"moccasin\": [1, 228 / 255, 181 / 255],\n\t\"navajowhite\": [1, 222 / 255, 173 / 255],\n\t\"navy\": [0, 0, 128 / 255],\n\t\"oldlace\": [253 / 255, 245 / 255, 230 / 255],\n\t\"olive\": [128 / 255, 128 / 255, 0],\n\t\"olivedrab\": [107 / 255, 142 / 255, 35 / 255],\n\t\"orange\": [1, 165 / 255, 0],\n\t\"orangered\": [1, 69 / 255, 0],\n\t\"orchid\": [218 / 255, 112 / 255, 214 / 255],\n\t\"palegoldenrod\": [238 / 255, 232 / 255, 170 / 255],\n\t\"palegreen\": [152 / 255, 251 / 255, 152 / 255],\n\t\"paleturquoise\": [175 / 255, 238 / 255, 238 / 255],\n\t\"palevioletred\": [219 / 255, 112 / 255, 147 / 255],\n\t\"papayawhip\": [1, 239 / 255, 213 / 255],\n\t\"peachpuff\": [1, 218 / 255, 185 / 255],\n\t\"peru\": [205 / 255, 133 / 255, 63 / 255],\n\t\"pink\": [1, 192 / 255, 203 / 255],\n\t\"plum\": [221 / 255, 160 / 255, 221 / 255],\n\t\"powderblue\": [176 / 255, 224 / 255, 230 / 255],\n\t\"purple\": [128 / 255, 0, 128 / 255],\n\t\"rebeccapurple\": [102 / 255, 51 / 255, 153 / 255],\n\t\"red\": [1, 0, 0],\n\t\"rosybrown\": [188 / 255, 143 / 255, 143 / 255],\n\t\"royalblue\": [65 / 255, 105 / 255, 225 / 255],\n\t\"saddlebrown\": [139 / 255, 69 / 255, 19 / 255],\n\t\"salmon\": [250 / 255, 128 / 255, 114 / 255],\n\t\"sandybrown\": [244 / 255, 164 / 255, 96 / 255],\n\t\"seagreen\": [46 / 255, 139 / 255, 87 / 255],\n\t\"seashell\": [1, 245 / 255, 238 / 255],\n\t\"sienna\": [160 / 255, 82 / 255, 45 / 255],\n\t\"silver\": [192 / 255, 192 / 255, 192 / 255],\n\t\"skyblue\": [135 / 255, 206 / 255, 235 / 255],\n\t\"slateblue\": [106 / 255, 90 / 255, 205 / 255],\n\t\"slategray\": [112 / 255, 128 / 255, 144 / 255],\n\t\"slategrey\": [112 / 255, 128 / 255, 144 / 255],\n\t\"snow\": [1, 250 / 255, 250 / 255],\n\t\"springgreen\": [0, 1, 127 / 255],\n\t\"steelblue\": [70 / 255, 130 / 255, 180 / 255],\n\t\"tan\": [210 / 255, 180 / 255, 140 / 255],\n\t\"teal\": [0, 128 / 255, 128 / 255],\n\t\"thistle\": [216 / 255, 191 / 255, 216 / 255],\n\t\"tomato\": [1, 99 / 255, 71 / 255],\n\t\"turquoise\": [64 / 255, 224 / 255, 208 / 255],\n\t\"violet\": [238 / 255, 130 / 255, 238 / 255],\n\t\"wheat\": [245 / 255, 222 / 255, 179 / 255],\n\t\"white\": [1, 1, 1],\n\t\"whitesmoke\": [245 / 255, 245 / 255, 245 / 255],\n\t\"yellow\": [1, 1, 0],\n\t\"yellowgreen\": [154 / 255, 205 / 255, 50 / 255],\n};\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport sRGBLinear from \"./srgb-linear.js\";\nimport KEYWORDS from \"../keywords.js\";\n\nlet coordGrammar = Array(3).fill(\"<percentage> | <number>[0, 255]\");\nlet coordGrammarNumber = Array(3).fill(\"<number>[0, 255]\");\n\nexport default new RGBColorSpace({\n\tid: \"srgb\",\n\tname: \"sRGB\",\n\tbase: sRGBLinear,\n\tfromBase: rgb => {\n\t\t// convert an array of linear-light sRGB values in the range 0.0-1.0\n\t\t// to gamma corrected form\n\t\t// https://en.wikipedia.org/wiki/SRGB\n\t\treturn rgb.map(val => {\n\t\t\tlet sign = val < 0 ? -1 : 1;\n\t\t\tlet abs = val * sign;\n\n\t\t\tif (abs > 0.0031308) {\n\t\t\t\treturn sign * (1.055 * (abs ** (1 / 2.4)) - 0.055);\n\t\t\t}\n\n\t\t\treturn 12.92 * val;\n\t\t});\n\t},\n\ttoBase: rgb => {\n\t\t// convert an array of sRGB values in the range 0.0 - 1.0\n\t\t// to linear light (un-companded) form.\n\t\t// https://en.wikipedia.org/wiki/SRGB\n\t\treturn rgb.map(val => {\n\t\t\tlet sign = val < 0 ? -1 : 1;\n\t\t\tlet abs = val * sign;\n\n\t\t\tif (abs <= 0.04045) {\n\t\t\t\treturn val / 12.92;\n\t\t\t}\n\n\t\t\treturn sign * (((abs + 0.055) / 1.055) ** 2.4);\n\t\t});\n\t},\n\tformats: {\n\t\t\"rgb\": {\n\t\t\tcoords: coordGrammar,\n\t\t},\n\t\t\"rgb_number\": {\n\t\t\tname: \"rgb\",\n\t\t\tcommas: true,\n\t\t\tcoords: coordGrammarNumber,\n\t\t\tnoAlpha: true,\n\t\t},\n\t\t\"color\": { /* use defaults */ },\n\t\t\"rgba\": {\n\t\t\tcoords: coordGrammar,\n\t\t\tcommas: true,\n\t\t\tlastAlpha: true,\n\t\t},\n\t\t\"rgba_number\": {\n\t\t\tname: \"rgba\",\n\t\t\tcommas: true,\n\t\t\tcoords: coordGrammarNumber,\n\t\t},\n\t\t\"hex\": {\n\t\t\ttype: \"custom\",\n\t\t\ttoGamut: true,\n\t\t\ttest: str => /^#([a-f0-9]{3,4}){1,2}$/i.test(str),\n\t\t\tparse (str) {\n\t\t\t\tif (str.length <= 5) {\n\t\t\t\t\t// #rgb or #rgba, duplicate digits\n\t\t\t\t\tstr = str.replace(/[a-f0-9]/gi, \"$&$&\");\n\t\t\t\t}\n\n\t\t\t\tlet rgba = [];\n\t\t\t\tstr.replace(/[a-f0-9]{2}/gi, component => {\n\t\t\t\t\trgba.push(parseInt(component, 16) / 255);\n\t\t\t\t});\n\n\t\t\t\treturn {\n\t\t\t\t\tspaceId: \"srgb\",\n\t\t\t\t\tcoords: rgba.slice(0, 3),\n\t\t\t\t\talpha: rgba.slice(3)[0],\n\t\t\t\t};\n\t\t\t},\n\t\t\tserialize: (coords, alpha, {\n\t\t\t\tcollapse = true, // collapse to 3-4 digit hex when possible?\n\t\t\t} = {}) => {\n\t\t\t\tif (alpha < 1) {\n\t\t\t\t\tcoords.push(alpha);\n\t\t\t\t}\n\n\t\t\t\tcoords = coords.map(c => Math.round(c * 255));\n\n\t\t\t\tlet collapsible = collapse && coords.every(c => c % 17 === 0);\n\n\t\t\t\tlet hex = coords.map(c => {\n\t\t\t\t\tif (collapsible) {\n\t\t\t\t\t\treturn (c / 17).toString(16);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn c.toString(16).padStart(2, \"0\");\n\t\t\t\t}).join(\"\");\n\n\t\t\t\treturn \"#\" + hex;\n\t\t\t},\n\t\t},\n\t\t\"keyword\": {\n\t\t\ttype: \"custom\",\n\t\t\ttest: str => /^[a-z]+$/i.test(str),\n\t\t\tparse (str) {\n\t\t\t\tstr = str.toLowerCase();\n\t\t\t\tlet ret = {spaceId: \"srgb\", coords: null, alpha: 1};\n\n\t\t\t\tif (str === \"transparent\") {\n\t\t\t\t\tret.coords = KEYWORDS.black;\n\t\t\t\t\tret.alpha = 0;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tret.coords = KEYWORDS[str];\n\t\t\t\t}\n\n\t\t\t\tif (ret.coords) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport P3Linear from \"./p3-linear.js\";\nimport sRGB from \"./srgb.js\";\n\nexport default new RGBColorSpace({\n\tid: \"p3\",\n\tcssId: \"display-p3\",\n\tname: \"P3\",\n\tbase: P3Linear,\n\t// Gamma encoding/decoding is the same as sRGB\n\tfromBase: sRGB.fromBase,\n\ttoBase: sRGB.toBase,\n});\n", "import { isNone, skipNone } from \"./util.js\";\nimport defaults from \"./defaults.js\";\nimport to from \"./to.js\";\nimport serialize from \"./serialize.js\";\nimport clone from \"./clone.js\";\nimport REC2020 from \"./spaces/rec2020.js\";\nimport P3 from \"./spaces/p3.js\";\nimport Lab from \"./spaces/lab.js\";\nimport sRGB from \"./spaces/srgb.js\";\n\n// Default space for CSS output. Code in Color.js makes this wider if there's a DOM available\ndefaults.display_space = sRGB;\n\nlet supportsNone;\n\nif (typeof CSS !== \"undefined\" && CSS.supports) {\n\t// Find widest supported color space for CSS\n\tfor (let space of [Lab, REC2020, P3]) {\n\t\tlet coords = space.getMinCoords();\n\t\tlet color = {space, coords, alpha: 1};\n\t\tlet str = serialize(color);\n\n\t\tif (CSS.supports(\"color\", str)) {\n\t\t\tdefaults.display_space = space;\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\n/**\n * Returns a serialization of the color that can actually be displayed in the browser.\n * If the default serialization can be displayed, it is returned.\n * Otherwise, the color is converted to Lab, REC2020, or P3, whichever is the widest supported.\n * In Node.js, this is basically equivalent to `serialize()` but returns a `String` object instead.\n *\n * @export\n * @param {{space, coords} | Color | string} color\n * @param {*} [options={}] Options to be passed to serialize()\n * @param {ColorSpace | string} [options.space = defaults.display_space] Color space to use for serialization if default is not supported\n * @returns {String} String object containing the serialized color with a color property containing the converted color (or the original, if no conversion was necessary)\n */\nexport default function display (color, {space = defaults.display_space, ...options} = {}) {\n\tlet ret = serialize(color, options);\n\n\tif (typeof CSS === \"undefined\" || CSS.supports(\"color\", ret) || !defaults.display_space) {\n\t\tret = new String(ret);\n\t\tret.color = color;\n\t}\n\telse {\n\t\t// If we're here, what we were about to output is not supported\n\t\tlet fallbackColor = color;\n\n\t\t// First, check if the culprit is none values\n\t\tlet hasNone = color.coords.some(isNone) || isNone(color.alpha);\n\n\t\tif (hasNone) {\n\t\t\t// Does the browser support none values?\n\t\t\tif (!(supportsNone ??= CSS.supports(\"color\", \"hsl(none 50% 50%)\"))) {\n\t\t\t\t// Nope, try again without none\n\t\t\t\tfallbackColor = clone(color);\n\t\t\t\tfallbackColor.coords = fallbackColor.coords.map(skipNone);\n\t\t\t\tfallbackColor.alpha = skipNone(fallbackColor.alpha);\n\n\t\t\t\tret = serialize(fallbackColor, options);\n\n\t\t\t\tif (CSS.supports(\"color\", ret)) {\n\t\t\t\t\t// We're done, now it's supported\n\t\t\t\t\tret = new String(ret);\n\t\t\t\t\tret.color = fallbackColor;\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If we're here, the color function is not supported\n\t\t// Fall back to fallback space\n\t\tfallbackColor = to(fallbackColor, space);\n\t\tret = new String(serialize(fallbackColor, options));\n\t\tret.color = fallbackColor;\n\t}\n\n\treturn ret;\n}\n", "import getColor from \"./getColor.js\";\n\nexport default function equals (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\treturn color1.space === color2.space\n\t && color1.alpha === color2.alpha\n\t && color1.coords.every((c, i) => c === color2.coords[i]);\n}\n", "/**\n * Relative luminance\n */\nimport get from \"./get.js\";\nimport set from \"./set.js\";\nimport xyz_d65 from \"./spaces/xyz-d65.js\";\n\nexport function getLuminance (color) {\n\t// Assume getColor() is called on color in get()\n\treturn get(color, [xyz_d65, \"y\"]);\n}\n\nexport function setLuminance (color, value) {\n\t// Assume getColor() is called on color in set()\n\tset(color, [xyz_d65, \"y\"], value);\n}\n\nexport function register (Color) {\n\tObject.defineProperty(Color.prototype, \"luminance\", {\n\t\tget () {\n\t\t\treturn getLuminance(this);\n\t\t},\n\t\tset (value) {\n\t\t\tsetLuminance(this, value);\n\t\t},\n\t});\n}\n", "// WCAG 2.0 contrast https://www.w3.org/TR/WCAG20-TECHS/G18.html\n// Simple contrast, with fixed 5% viewing flare contribution\n// Symmetric, does not matter which is foreground and which is background\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\nexport default function contrastWCAG21 (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\treturn (Y1 + .05) / (Y2 + .05);\n}\n", "// APCA 0.0.98G\n// https://github.com/Myndex/apca-w3\n// see also https://github.com/w3c/silver/issues/643\n\nimport getColor from \"../getColor.js\";\nimport to from \"../to.js\";\n\n// exponents\nconst normBG = 0.56;\nconst normTXT = 0.57;\nconst revTXT = 0.62;\nconst revBG = 0.65;\n\n// clamps\nconst blkThrs = 0.022;\nconst blkClmp = 1.414;\nconst loClip = 0.1;\nconst deltaYmin = 0.0005;\n\n// scalers\n// see https://github.com/w3c/silver/issues/645\nconst scaleBoW = 1.14;\nconst loBoWoffset = 0.027;\nconst scaleWoB = 1.14;\nconst loWoBoffset = 0.027;\n\nfunction fclamp (Y) {\n\tif (Y >= blkThrs) {\n\t\treturn Y;\n\t}\n\treturn Y + (blkThrs - Y) ** blkClmp;\n}\n\nfunction linearize (val) {\n\tlet sign = val < 0 ? -1 : 1;\n\tlet abs = Math.abs(val);\n\treturn sign * Math.pow(abs, 2.4);\n}\n\n// Not symmetric, requires a foreground (text) color, and a background color\nexport default function contrastAPCA (background, foreground) {\n\tforeground = getColor(foreground);\n\tbackground = getColor(background);\n\n\tlet S;\n\tlet C;\n\tlet Sapc;\n\n\t// Myndex as-published, assumes sRGB inputs\n\tlet R, G, B;\n\n\tforeground = to(foreground, \"srgb\");\n\t// Should these be clamped to in-gamut values?\n\n\t// Calculates \"screen luminance\" with non-standard simple gamma EOTF\n\t// weights should be from CSS Color 4, not the ones here which are via Myndex and copied from Lindbloom\n\t[R, G, B] = foreground.coords;\n\tlet lumTxt = linearize(R) * 0.2126729 + linearize(G) * 0.7151522 + linearize(B) * 0.0721750;\n\n\tbackground = to(background, \"srgb\");\n\t[R, G, B] = background.coords;\n\tlet lumBg = linearize(R) * 0.2126729 + linearize(G) * 0.7151522 + linearize(B) * 0.0721750;\n\n\t// toe clamping of very dark values to account for flare\n\tlet Ytxt = fclamp(lumTxt);\n\tlet Ybg = fclamp(lumBg);\n\n\t// are we \"Black on White\" (dark on light), or light on dark?\n\tlet BoW = Ybg > Ytxt;\n\n\t// why is this a delta, when Y is not perceptually uniform?\n\t// Answer: it is a noise gate, see\n\t// https://github.com/LeaVerou/color.js/issues/208\n\tif (Math.abs(Ybg - Ytxt) < deltaYmin) {\n\t\tC = 0;\n\t}\n\telse {\n\t\tif (BoW) {\n\t\t\t// dark text on light background\n\t\t\tS = Ybg ** normBG - Ytxt ** normTXT;\n\t\t\tC = S * scaleBoW;\n\t\t}\n\t\telse {\n\t\t\t// light text on dark background\n\t\t\tS = Ybg ** revBG - Ytxt ** revTXT;\n\t\t\tC = S * scaleWoB;\n\t\t}\n\t}\n\tif (Math.abs(C) < loClip) {\n\t\tSapc = 0;\n\t}\n\telse if (C > 0) {\n\t\t// not clear whether Woffset is loBoWoffset or loWoBoffset\n\t\t// but they have the same value\n\t\tSapc = C - loBoWoffset;\n\t}\n\telse {\n\t\tSapc = C + loBoWoffset;\n\t}\n\n\treturn Sapc * 100;\n}\n", "// Michelson luminance contrast\n// the relation between the spread and the sum of the two luminances\n// Symmetric, does not matter which is foreground and which is background\n// No black level compensation for flare.\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\nexport default function contrastMichelson (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\tlet denom = (Y1 + Y2);\n\treturn denom === 0 ? 0 : (Y1 - Y2) / denom;\n}\n", "// Weber luminance contrast\n// The difference between the two luminances divided by the lower luminance\n// Symmetric, does not matter which is foreground and which is background\n// No black level compensation for flare.\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\n// the darkest sRGB color above black is #000001 and this produces\n// a plain Weber contrast of ~45647.\n// So, setting the divide-by-zero result at 50000 is a reasonable\n// max clamp for the plain Weber\nconst max = 50000;\n\nexport default function contrastWeber (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\treturn Y2 === 0 ? max : (Y1 - Y2) / Y2;\n}\n", "// CIE Lightness difference, as used by Google Material Design\n// Google HCT Tone is the same as CIE Lightness\n// https://material.io/blog/science-of-color-design\n\nimport getColor from \"../getColor.js\";\nimport get from \"../get.js\";\nimport lab from \"../spaces/lab.js\";\n\nexport default function contrastLstar (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet L1 = get(color1, [lab, \"l\"]);\n\tlet L2 = get(color2, [lab, \"l\"]);\n\n\treturn Math.abs(L1 - L2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\n\n// κ * ε = 2^3 = 8\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst ε3 = 24 / 116;\nconst κ = 24389 / 27; // 29^3/3^3\n\nlet white = WHITES.D65;\n\nexport default new ColorSpace({\n\tid: \"lab-d65\",\n\tname: \"Lab D65\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t},\n\n\t// Assuming XYZ is relative to D65, convert to CIE Lab\n\t// from CIE standard, which now defines these as a rational fraction\n\twhite,\n\n\tbase: xyz_d65,\n\t// Convert D65-adapted XYZ to Lab\n\t// CIE 15.3:2004 section 8.2.1.1\n\tfromBase (XYZ) {\n\t\t// compute xyz, which is XYZ scaled relative to reference white\n\t\tlet xyz = XYZ.map((value, i) => value / white[i]);\n\n\t\t// now compute f\n\t\tlet f = xyz.map(value => value > ε ? Math.cbrt(value) : (κ * value + 16) / 116);\n\n\t\treturn [\n\t\t\t(116 * f[1]) - 16, // L\n\t\t\t500 * (f[0] - f[1]), // a\n\t\t\t200 * (f[1] - f[2]), // b\n\t\t];\n\t},\n\t// Convert Lab to D65-adapted XYZ\n\t// Same result as CIE 15.3:2004 Appendix D although the derivation is different\n\t// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n\ttoBase (Lab) {\n\t\t// compute f, starting with the luminance-related term\n\t\tlet f = [];\n\t\tf[1] = (Lab[0] + 16) / 116;\n\t\tf[0] = Lab[1] / 500 + f[1];\n\t\tf[2] = f[1] - Lab[2] / 200;\n\n\t\t// compute xyz\n\t\tlet xyz = [\n\t\t\tf[0] > ε3 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / κ,\n\t\t\tLab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / κ,\n\t\t\tf[2] > ε3 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / κ,\n\t\t];\n\n\t\t// Compute XYZ by scaling xyz by reference white\n\t\treturn xyz.map((value, i) => value * white[i]);\n\t},\n\n\tformats: {\n\t\t\"lab-d65\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "// Delta Phi Star perceptual lightness contrast\n// See https://github.com/Myndex/deltaphistar\n// The (difference between two Lstars each raised to phi) raised to (1/phi)\n// Symmetric, does not matter which is foreground and which is background\n\n\nimport getColor from \"../getColor.js\";\nimport get from \"../get.js\";\nimport lab_d65 from \"../spaces/lab-d65.js\";\n\nconst phi = Math.pow(5, 0.5) * 0.5 + 0.5; // Math.phi can be used if Math.js\n\nexport default function contrastDeltaPhi (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Lstr1 = get(color1, [lab_d65, \"l\"]);\n\tlet Lstr2 = get(color2, [lab_d65, \"l\"]);\n\n\tlet deltaPhiStar = Math.abs(Math.pow(Lstr1, phi) - Math.pow(Lstr2, phi));\n\n\tlet contrast = Math.pow(deltaPhiStar, (1 / phi)) * Math.SQRT2 - 40;\n\n\treturn (contrast < 7.5) ? 0.0 : contrast ;\n}\n", "import getColor from \"./getColor.js\";\n// import defaults from \"./defaults.js\";\nimport {isString} from \"./util.js\";\nimport * as contrastAlgorithms from \"./contrast/index.js\";\n\nexport default function contrast (background, foreground, o = {}) {\n\tif (isString(o)) {\n\t\to = {algorithm: o};\n\t}\n\n\tlet {algorithm, ...rest} = o;\n\n\tif (!algorithm) {\n\t\tlet algorithms = Object.keys(contrastAlgorithms).map(a => a.replace(/^contrast/, \"\")).join(\", \");\n\t\tthrow new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${algorithms}`);\n\t}\n\n\tbackground = getColor(background);\n\tforeground = getColor(foreground);\n\n\tfor (let a in contrastAlgorithms) {\n\t\tif (\"contrast\" + algorithm.toLowerCase() === a.toLowerCase()) {\n\t\t\treturn contrastAlgorithms[a](background, foreground, rest);\n\t\t}\n\t}\n\n\tthrow new TypeError(`Unknown contrast algorithm: ${algorithm}`);\n}\n", "import xyz_d65 from \"./spaces/xyz-d65.js\";\nimport getAll from \"./getAll.js\";\n\n// Chromaticity coordinates\nexport function uv (color) {\n\t// Assumes getAll() calls getColor() on color\n\tlet [X, Y, Z] = getAll(color, xyz_d65);\n\tlet denom = X + 15 * Y + 3 * Z;\n\treturn [4 * X / denom, 9 * Y / denom];\n}\n\nexport function xy (color) {\n\t// Assumes getAll() calls getColor() on color\n\tlet [X, Y, Z] = getAll(color, xyz_d65);\n\tlet sum = X + Y + Z;\n\treturn [X / sum, Y / sum];\n}\n\nexport function register (Color) {\n\t// no setters, as lightness information is lost\n\t// when converting color to chromaticity\n\tObject.defineProperty(Color.prototype, \"uv\", {\n\t\tget () {\n\t\t\treturn uv(this);\n\t\t},\n\t});\n\n\tObject.defineProperty(Color.prototype, \"xy\", {\n\t\tget () {\n\t\t\treturn xy(this);\n\t\t},\n\t});\n}\n", "import defaults from \"./defaults.js\";\nimport {isString} from \"./util.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\n\nexport default function deltaE (c1, c2, o = {}) {\n\tif (isString(o)) {\n\t\to = {method: o};\n\t}\n\n\tlet {method = defaults.deltaE, ...rest} = o;\n\n\tfor (let m in deltaEMethods) {\n\t\tif (\"deltae\" + method.toLowerCase() === m.toLowerCase()) {\n\t\t\treturn deltaEMethods[m](c1, c2, rest);\n\t\t}\n\t}\n\n\tthrow new TypeError(`Unknown deltaE method: ${method}`);\n}\n", "import ColorSpace from \"./space.js\";\nimport set from \"./set.js\";\n\nexport function lighten (color, amount = .25) {\n\tlet space = ColorSpace.get(\"oklch\", \"lch\");\n\tlet lightness = [space, \"l\"];\n\treturn set(color, lightness, l => l * (1 + amount));\n}\n\nexport function darken (color, amount = .25) {\n\tlet space = ColorSpace.get(\"oklch\", \"lch\");\n\tlet lightness = [space, \"l\"];\n\treturn set(color, lightness, l => l * (1 - amount));\n}\n", "/**\n * Functions related to color interpolation\n */\nimport ColorSpace from \"./space.js\";\nimport {type, interpolate} from \"./util.js\";\nimport getColor from \"./getColor.js\";\nimport clone from \"./clone.js\";\nimport to from \"./to.js\";\nimport toGamut from \"./toGamut.js\";\nimport get from \"./get.js\";\nimport set from \"./set.js\";\nimport defaults from \"./defaults.js\";\nimport * as angles from \"./angles.js\";\nimport deltaE from \"./deltaE.js\";\n\n/**\n * Return an intermediate color between two colors\n * Signatures: mix(c1, c2, p, options)\n * mix(c1, c2, options)\n * mix(color)\n * @param {Color | string} c1 The first color\n * @param {Color | string} [c2] The second color\n * @param {number} [p=.5] A 0-1 percentage where 0 is c1 and 1 is c2\n * @param {Object} [o={}]\n * @return {Color}\n */\nexport function mix (c1, c2, p = .5, o = {}) {\n\t[c1, c2] = [getColor(c1), getColor(c2)];\n\n\tif (type(p) === \"object\") {\n\t\t[p, o] = [.5, p];\n\t}\n\n\tlet r = range(c1, c2, o);\n\treturn r(p);\n}\n\n/**\n *\n * @param {Color | string | Function} c1 The first color or a range\n * @param {Color | string} [c2] The second color if c1 is not a range\n * @param {Object} [options={}]\n * @return {Color[]}\n */\nexport function steps (c1, c2, options = {}) {\n\tlet colorRange;\n\n\tif (isRange(c1)) {\n\t\t// Tweaking existing range\n\t\t[colorRange, options] = [c1, c2];\n\t\t[c1, c2] = colorRange.rangeArgs.colors;\n\t}\n\n\tlet {\n\t\tmaxDeltaE, deltaEMethod,\n\t\tsteps = 2, maxSteps = 1000,\n\t\t...rangeOptions\n\t} = options;\n\n\tif (!colorRange) {\n\t\t[c1, c2] = [getColor(c1), getColor(c2)];\n\t\tcolorRange = range(c1, c2, rangeOptions);\n\t}\n\n\tlet totalDelta = deltaE(c1, c2);\n\tlet actualSteps = maxDeltaE > 0 ? Math.max(steps, Math.ceil(totalDelta / maxDeltaE) + 1) : steps;\n\tlet ret = [];\n\n\tif (maxSteps !== undefined) {\n\t\tactualSteps = Math.min(actualSteps, maxSteps);\n\t}\n\n\tif (actualSteps === 1) {\n\t\tret = [{p: .5, color: colorRange(.5)}];\n\t}\n\telse {\n\t\tlet step = 1 / (actualSteps - 1);\n\t\tret = Array.from({length: actualSteps}, (_, i) => {\n\t\t\tlet p = i * step;\n\t\t\treturn {p, color: colorRange(p)};\n\t\t});\n\t}\n\n\tif (maxDeltaE > 0) {\n\t\t// Iterate over all stops and find max deltaE\n\t\tlet maxDelta = ret.reduce((acc, cur, i) => {\n\t\t\tif (i === 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tlet ΔΕ = deltaE(cur.color, ret[i - 1].color, deltaEMethod);\n\t\t\treturn Math.max(acc, ΔΕ);\n\t\t}, 0);\n\n\t\twhile (maxDelta > maxDeltaE) {\n\t\t\t// Insert intermediate stops and measure maxDelta again\n\t\t\t// We need to do this for all pairs, otherwise the midpoint shifts\n\t\t\tmaxDelta = 0;\n\n\t\t\tfor (let i = 1; (i < ret.length) && (ret.length < maxSteps); i++) {\n\t\t\t\tlet prev = ret[i - 1];\n\t\t\t\tlet cur = ret[i];\n\n\t\t\t\tlet p = (cur.p + prev.p) / 2;\n\t\t\t\tlet color = colorRange(p);\n\t\t\t\tmaxDelta = Math.max(maxDelta, deltaE(color, prev.color), deltaE(color, cur.color));\n\t\t\t\tret.splice(i, 0, {p, color: colorRange(p)});\n\t\t\t\ti++;\n\t\t\t}\n\t\t}\n\t}\n\n\tret = ret.map(a => a.color);\n\n\treturn ret;\n}\n\n/**\n * Interpolate to color2 and return a function that takes a 0-1 percentage\n * @param {Color | string | Function} color1 The first color or an existing range\n * @param {Color | string} [color2] If color1 is a color, this is the second color\n * @param {Object} [options={}]\n * @returns {Function} A function that takes a 0-1 percentage and returns a color\n */\nexport function range (color1, color2, options = {}) {\n\tif (isRange(color1)) {\n\t\t// Tweaking existing range\n\t\tlet [r, options] = [color1, color2];\n\n\t\treturn range(...r.rangeArgs.colors, {...r.rangeArgs.options, ...options});\n\t}\n\n\tlet {space, outputSpace, progression, premultiplied} = options;\n\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\t// Make sure we're working on copies of these colors\n\tcolor1 = clone(color1);\n\tcolor2 = clone(color2);\n\n\tlet rangeArgs = {colors: [color1, color2], options};\n\n\tif (space) {\n\t\tspace = ColorSpace.get(space);\n\t}\n\telse {\n\t\tspace = ColorSpace.registry[defaults.interpolationSpace] || color1.space;\n\t}\n\n\toutputSpace = outputSpace ? ColorSpace.get(outputSpace) : space;\n\n\tcolor1 = to(color1, space);\n\tcolor2 = to(color2, space);\n\n\t// Gamut map to avoid areas of flat color\n\tcolor1 = toGamut(color1);\n\tcolor2 = toGamut(color2);\n\n\t// Handle hue interpolation\n\t// See https://github.com/w3c/csswg-drafts/issues/4735#issuecomment-635741840\n\tif (space.coords.h && space.coords.h.type === \"angle\") {\n\t\tlet arc = options.hue = options.hue || \"shorter\";\n\n\t\tlet hue = [space, \"h\"];\n\t\tlet [θ1, θ2] = [get(color1, hue), get(color2, hue)];\n\t\t// Undefined hues must be evaluated before hue fix-up to properly\n\t\t// calculate hue arcs between undefined and defined hues.\n\t\t// See https://github.com/w3c/csswg-drafts/issues/9436#issuecomment-1746957545\n\t\tif (isNaN(θ1) && !isNaN(θ2)) {\n\t\t\tθ1 = θ2;\n\t\t}\n\t\telse if (isNaN(θ2) && !isNaN(θ1)) {\n\t\t\tθ2 = θ1;\n\t\t}\n\t\t[θ1, θ2] = angles.adjust(arc, [θ1, θ2]);\n\t\tset(color1, hue, θ1);\n\t\tset(color2, hue, θ2);\n\t}\n\n\tif (premultiplied) {\n\t\t// not coping with polar spaces yet\n\t\tcolor1.coords = color1.coords.map(c => c * color1.alpha);\n\t\tcolor2.coords = color2.coords.map(c => c * color2.alpha);\n\t}\n\n\treturn Object.assign(p => {\n\t\tp = progression ? progression(p) : p;\n\t\tlet coords = color1.coords.map((start, i) => {\n\t\t\tlet end = color2.coords[i];\n\t\t\treturn interpolate(start, end, p);\n\t\t});\n\n\t\tlet alpha = interpolate(color1.alpha, color2.alpha, p);\n\t\tlet ret = {space, coords, alpha};\n\n\t\tif (premultiplied) {\n\t\t\t// undo premultiplication\n\t\t\tret.coords = ret.coords.map(c => c / alpha);\n\t\t}\n\n\t\tif (outputSpace !== space) {\n\t\t\tret = to(ret, outputSpace);\n\t\t}\n\n\t\treturn ret;\n\t}, {\n\t\trangeArgs,\n\t});\n}\n\nexport function isRange (val) {\n\treturn type(val) === \"function\" && !!val.rangeArgs;\n}\n\ndefaults.interpolationSpace = \"lab\";\n\nexport function register (Color) {\n\tColor.defineFunction(\"mix\", mix, {returns: \"color\"});\n\tColor.defineFunction(\"range\", range, {returns: \"function<color>\"});\n\tColor.defineFunction(\"steps\", steps, {returns: \"array<color>\"});\n}\n", "import ColorSpace from \"../space.js\";\nimport sRGB from \"./srgb.js\";\n\nexport default new ColorSpace({\n\tid: \"hsl\",\n\tname: \"HSL\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: sRGB,\n\n\t// Adapted from https://drafts.csswg.org/css-color-4/better-rgbToHsl.js\n\tfromBase: rgb => {\n\t\tlet max = Math.max(...rgb);\n\t\tlet min = Math.min(...rgb);\n\t\tlet [r, g, b] = rgb;\n\t\tlet [h, s, l] = [NaN, 0, (min + max) / 2];\n\t\tlet d = max - min;\n\n\t\tif (d !== 0) {\n\t\t\ts = (l === 0 || l === 1) ? 0 : (max - l) / Math.min(l, 1 - l);\n\n\t\t\tswitch (max) {\n\t\t\t\tcase r: h = (g - b) / d + (g < b ? 6 : 0); break;\n\t\t\t\tcase g: h = (b - r) / d + 2; break;\n\t\t\t\tcase b: h = (r - g) / d + 4;\n\t\t\t}\n\n\t\t\th = h * 60;\n\t\t}\n\n\t\t// Very out of gamut colors can produce negative saturation\n\t\t// If so, just rotate the hue by 180 and use a positive saturation\n\t\t// see https://github.com/w3c/csswg-drafts/issues/9222\n\t\tif (s < 0) {\n\t\t\th += 180;\n\t\t\ts = Math.abs(s);\n\t\t}\n\n\t\tif (h >= 360) {\n\t\t\th -= 360;\n\t\t}\n\n\t\treturn [h, s * 100, l * 100];\n\t},\n\n\t// Adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_RGB_alternative\n\ttoBase: hsl => {\n\t\tlet [h, s, l] = hsl;\n\t\th = h % 360;\n\n\t\tif (h < 0) {\n\t\t\th += 360;\n\t\t}\n\n\t\ts /= 100;\n\t\tl /= 100;\n\n\t\tfunction f (n) {\n\t\t\tlet k = (n + h / 30) % 12;\n\t\t\tlet a = s * Math.min(l, 1 - l);\n\t\t\treturn l - a * Math.max(-1, Math.min(k - 3, 9 - k, 1));\n\t\t}\n\n\t\treturn [f(0), f(8), f(4)];\n\t},\n\n\tformats: {\n\t\t\"hsl\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage>\", \"<percentage>\"],\n\t\t},\n\t\t\"hsla\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage>\", \"<percentage>\"],\n\t\t\tcommas: true,\n\t\t\tlastAlpha: true,\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport HSL from \"./hsl.js\";\n\n// The Hue, Whiteness Blackness (HWB) colorspace\n// See https://drafts.csswg.org/css-color-4/#the-hwb-notation\n// Note that, like HSL, calculations are done directly on\n// gamma-corrected sRGB values rather than linearising them first.\n\nexport default new ColorSpace({\n\tid: \"hsv\",\n\tname: \"HSV\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tv: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Value\",\n\t\t},\n\t},\n\n\tbase: HSL,\n\t// https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion\n\tfromBase (hsl) {\n\t\tlet [h, s, l] = hsl;\n\t\ts /= 100;\n\t\tl /= 100;\n\n\t\tlet v = l + s * Math.min(l, 1 - l);\n\n\t\treturn [\n\t\t\th, // h is the same\n\t\t\tv === 0 ? 0 : 200 * (1 - l / v), // s\n\t\t\t100 * v,\n\t\t];\n\t},\n\t// https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion\n\ttoBase (hsv) {\n\t\tlet [h, s, v] = hsv;\n\n\t\ts /= 100;\n\t\tv /= 100;\n\n\t\tlet l = v * (1 - s / 2);\n\n\t\treturn [\n\t\t\th, // h is the same\n\t\t\t(l === 0 || l === 1) ? 0 : ((v - l) / Math.min(l, 1 - l)) * 100,\n\t\t\tl * 100,\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hsv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport HSV from \"./hsv.js\";\n\n// The Hue, Whiteness Blackness (HWB) colorspace\n// See https://drafts.csswg.org/css-color-4/#the-hwb-notation\n// Note that, like HSL, calculations are done directly on\n// gamma-corrected sRGB values rather than linearising them first.\n\nexport default new ColorSpace({\n\tid: \"hwb\",\n\tname: \"HWB\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\tw: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Whiteness\",\n\t\t},\n\t\tb: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Blackness\",\n\t\t},\n\t},\n\n\tbase: HSV,\n\tfromBase (hsv) {\n\t\tlet [h, s, v] = hsv;\n\n\t\treturn [h, v * (100 - s) / 100, 100 - v];\n\t},\n\ttoBase (hwb) {\n\t\tlet [h, w, b] = hwb;\n\n\t\t// Now convert percentages to [0..1]\n\t\tw /= 100;\n\t\tb /= 100;\n\n\t\t// Achromatic check (white plus black >= 1)\n\t\tlet sum = w + b;\n\t\tif (sum >= 1) {\n\t\t\tlet gray = w / sum;\n\t\t\treturn [h, 0, gray * 100];\n\t\t}\n\n\t\tlet v = (1 - b);\n\t\tlet s = (v === 0) ? 0 : 1 - w / v;\n\t\treturn [h, s * 100, v * 100];\n\t},\n\n\tformats: {\n\t\t\"hwb\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// convert an array of linear-light a98-rgb values to CIE XYZ\n// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n// has greater numerical precision than section 4.3.5.3 of\n// https://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf\n// but the values below were calculated from first principles\n// from the chromaticity coordinates of R G B W\nconst toXYZ_M = [\n\t[ 0.5766690429101305, 0.1855582379065463, 0.1882286462349947 ],\n\t[ 0.29734497525053605, 0.6273635662554661, 0.07529145849399788 ],\n\t[ 0.02703136138641234, 0.07068885253582723, 0.9913375368376388 ],\n];\n\nconst fromXYZ_M = [\n\t[ 2.0415879038107465, -0.5650069742788596, -0.34473135077832956 ],\n\t[ -0.9692436362808795, 1.8759675015077202, 0.04155505740717557 ],\n\t[ 0.013444280632031142, -0.11836239223101838, 1.0151749943912054 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"a98rgb-linear\",\n\tcssId: \"--a98-rgb-linear\",\n\tname: \"Linear Adobe® 98 RGB compatible\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport A98Linear from \"./a98rgb-linear.js\";\n\nexport default new RGBColorSpace({\n\tid: \"a98rgb\",\n\tcssId: \"a98-rgb\",\n\tname: \"Adobe® 98 RGB compatible\",\n\tbase: A98Linear,\n\ttoBase: RGB => RGB.map(val => Math.pow(Math.abs(val), 563 / 256) * Math.sign(val)),\n\tfromBase: RGB => RGB.map(val => Math.pow(Math.abs(val), 256 / 563) * Math.sign(val)),\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport XYZ_D50 from \"./xyz-d50.js\";\n\n// convert an array of prophoto-rgb values to CIE XYZ\n// using D50 (so no chromatic adaptation needed afterwards)\n// matrix cannot be expressed in rational form, but is calculated to 64 bit accuracy\n// see https://github.com/w3c/csswg-drafts/issues/7675\nconst toXYZ_M = [\n\t[ 0.79776664490064230, 0.13518129740053308, 0.03134773412839220 ],\n\t[ 0.28807482881940130, 0.71183523424187300, 0.00008993693872564 ],\n\t[ 0.00000000000000000, 0.00000000000000000, 0.82510460251046020 ],\n];\n\nconst fromXYZ_M = [\n\t[ 1.34578688164715830, -0.25557208737979464, -0.05110186497554526 ],\n\t[ -0.54463070512490190, 1.50824774284514680, 0.02052744743642139 ],\n\t[ 0.00000000000000000, 0.00000000000000000, 1.21196754563894520 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"prophoto-linear\",\n\tcssId: \"--prophoto-rgb-linear\",\n\tname: \"Linear ProPhoto\",\n\twhite: \"D50\",\n\tbase: XYZ_D50,\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport ProPhotoLinear from \"./prophoto-linear.js\";\n\nconst Et = 1 / 512;\nconst Et2 = 16 / 512;\n\nexport default new RGBColorSpace({\n\tid: \"prophoto\",\n\tcssId: \"prophoto-rgb\",\n\tname: \"ProPhoto\",\n\tbase: ProPhotoLinear,\n\ttoBase (RGB) {\n\t\t// Transfer curve is gamma 1.8 with a small linear portion\n\t\treturn RGB.map(v => v < Et2 ? v / 16 : v ** 1.8);\n\t},\n\tfromBase (RGB) {\n\t\treturn RGB.map(v => v >= Et ? v ** (1 / 1.8) : 16 * v);\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport OKLab from \"./oklab.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"oklch\",\n\tname: \"Oklch\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 0.4],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\twhite: \"D65\",\n\n\tbase: OKLab,\n\tfromBase (oklab) {\n\t\t// Convert to polar form\n\t\tlet [L, a, b] = oklab;\n\t\tlet h;\n\t\tconst ε = 0.0002; // chromatic components much smaller than a,b\n\n\t\tif (Math.abs(a) < ε && Math.abs(b) < ε) {\n\t\t\th = NaN;\n\t\t}\n\t\telse {\n\t\t\th = Math.atan2(b, a) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // OKLab L is still L\n\t\t\tMath.sqrt(a ** 2 + b ** 2), // Chroma\n\t\t\tconstrainAngle(h), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\t// Convert from polar form\n\ttoBase (oklch) {\n\t\tlet [L, C, h] = oklch;\n\t\tlet a, b;\n\n\t\t// check for NaN hue\n\t\tif (isNaN(h)) {\n\t\t\ta = 0;\n\t\t\tb = 0;\n\t\t}\n\t\telse {\n\t\t\ta = C * Math.cos(h * Math.PI / 180);\n\t\t\tb = C * Math.sin(h * Math.PI / 180);\n\t\t}\n\n\t\treturn [ L, a, b ];\n\t},\n\n\tformats: {\n\t\t\"oklch\": {\n\t\t\tcoords: [\"<percentage> | <number>\", \"<number> | <percentage>[0,1]\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {uv} from \"../chromaticity.js\";\nimport {isNone, skipNone} from \"../util.js\";\n\nlet white = WHITES.D65;\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\nconst [U_PRIME_WHITE, V_PRIME_WHITE] = uv({space: xyz_d65, coords: white});\n\nexport default new ColorSpace({\n\tid: \"luv\",\n\tname: \"Luv\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\t// Reference ranges from https://facelessuser.github.io/coloraide/colors/luv/\n\t\tu: {\n\t\t\trefRange: [-215, 215],\n\t\t},\n\t\tv: {\n\t\t\trefRange: [-215, 215],\n\t\t},\n\t},\n\n\twhite: white,\n\tbase: xyz_d65,\n\n\t// Convert D65-adapted XYZ to Luv\n\t// https://en.wikipedia.org/wiki/CIELUV#The_forward_transformation\n\tfromBase (XYZ) {\n\t\tlet xyz = [skipNone(XYZ[0]), skipNone(XYZ[1]), skipNone(XYZ[2])];\n\t\tlet y = xyz[1];\n\n\t\tlet [up, vp] = uv({space: xyz_d65, coords: xyz});\n\n\t\t// Protect against XYZ of [0, 0, 0]\n\t\tif (!Number.isFinite(up) || !Number.isFinite(vp)) {\n\t\t\treturn [0, 0, 0];\n\t\t}\n\n\t\tlet L = y <= ε ? κ * y : 116 * Math.cbrt(y) - 16;\n\t\treturn [\n\t\t\tL,\n\t\t\t13 * L * (up - U_PRIME_WHITE),\n\t\t\t13 * L * (vp - V_PRIME_WHITE),\n\t\t ];\n\t},\n\n\t// Convert Luv to D65-adapted XYZ\n\t// https://en.wikipedia.org/wiki/CIELUV#The_reverse_transformation\n\ttoBase (Luv) {\n\t\tlet [L, u, v] = Luv;\n\n\t\t// Protect against division by zero and NaN Lightness\n\t\tif (L === 0 || isNone(L)) {\n\t\t\treturn [0, 0, 0];\n\t\t}\n\n\t\tu = skipNone(u);\n\t\tv = skipNone(v);\n\n\t\tlet up = (u / (13 * L)) + U_PRIME_WHITE;\n\t\tlet vp = (v / (13 * L)) + V_PRIME_WHITE;\n\n\t\tlet y = L <= 8 ? L / κ : Math.pow((L + 16) / 116, 3);\n\n\t\treturn [\n\t\t\ty * ((9 * up) / (4 * vp)),\n\t\t\ty,\n\t\t\ty * ((12 - 3 * up - 20 * vp) / (4 * vp)),\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--luv\",\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport Luv from \"./luv.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"lchuv\",\n\tname: \"LChuv\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 220],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Luv,\n\tfromBase (Luv) {\n\t\t// Convert to polar form\n\t\tlet [L, u, v] = Luv;\n\t\tlet hue;\n\t\tconst ε = 0.02;\n\n\t\tif (Math.abs(u) < ε && Math.abs(v) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(v, u) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // L is still L\n\t\t\tMath.sqrt(u ** 2 + v ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (LCH) {\n\t\t// Convert from polar form\n\t\tlet [Lightness, Chroma, Hue] = LCH;\n\t\t// Clamp any negative Chroma\n\t\tif (Chroma < 0) {\n\t\t\tChroma = 0;\n\t\t}\n\t\t// Deal with NaN Hue\n\t\tif (isNaN(Hue)) {\n\t\t\tHue = 0;\n\t\t}\n\t\treturn [\n\t\t\tLightness, // L is still L\n\t\t\tChroma * Math.cos(Hue * Math.PI / 180), // u\n\t\t\tChroma * Math.sin(Hue * Math.PI / 180), // v\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--lchuv\",\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "/*\nAdapted from: https://github.com/hsluv/hsluv-javascript/blob/14b49e6cf9a9137916096b8487a5372626b57ba4/src/hsluv.ts\n\nCopyright (c) 2012-2022 Alexei Boronine\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 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\nimport ColorSpace from \"../space.js\";\nimport LCHuv from \"./lchuv.js\";\nimport sRGB from \"./srgb.js\";\nimport {fromXYZ_M} from \"./srgb-linear.js\";\nimport {skipNone} from \"../util.js\";\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nconst m_r0 = fromXYZ_M[0][0];\nconst m_r1 = fromXYZ_M[0][1];\nconst m_r2 = fromXYZ_M[0][2];\nconst m_g0 = fromXYZ_M[1][0];\nconst m_g1 = fromXYZ_M[1][1];\nconst m_g2 = fromXYZ_M[1][2];\nconst m_b0 = fromXYZ_M[2][0];\nconst m_b1 = fromXYZ_M[2][1];\nconst m_b2 = fromXYZ_M[2][2];\n\nfunction distanceFromOriginAngle (slope, intercept, angle) {\n\tconst d = intercept / (Math.sin(angle) - slope * Math.cos(angle));\n\treturn d < 0 ? Infinity : d;\n}\n\nexport function calculateBoundingLines (l) {\n\tconst sub1 = Math.pow(l + 16, 3) / 1560896;\n\tconst sub2 = sub1 > ε ? sub1 : l / κ;\n\tconst s1r = sub2 * (284517 * m_r0 - 94839 * m_r2);\n\tconst s2r = sub2 * (838422 * m_r2 + 769860 * m_r1 + 731718 * m_r0);\n\tconst s3r = sub2 * (632260 * m_r2 - 126452 * m_r1);\n\tconst s1g = sub2 * (284517 * m_g0 - 94839 * m_g2);\n\tconst s2g = sub2 * (838422 * m_g2 + 769860 * m_g1 + 731718 * m_g0);\n\tconst s3g = sub2 * (632260 * m_g2 - 126452 * m_g1);\n\tconst s1b = sub2 * (284517 * m_b0 - 94839 * m_b2);\n\tconst s2b = sub2 * (838422 * m_b2 + 769860 * m_b1 + 731718 * m_b0);\n\tconst s3b = sub2 * (632260 * m_b2 - 126452 * m_b1);\n\n\treturn {\n\t\tr0s: s1r / s3r,\n\t\tr0i: s2r * l / s3r,\n\t\tr1s: s1r / (s3r + 126452),\n\t\tr1i: (s2r - 769860) * l / (s3r + 126452),\n\t\tg0s: s1g / s3g,\n\t\tg0i: s2g * l / s3g,\n\t\tg1s: s1g / (s3g + 126452),\n\t\tg1i: (s2g - 769860) * l / (s3g + 126452),\n\t\tb0s: s1b / s3b,\n\t\tb0i: s2b * l / s3b,\n\t\tb1s: s1b / (s3b + 126452),\n\t\tb1i: (s2b - 769860) * l / (s3b + 126452),\n\t};\n}\n\nfunction calcMaxChromaHsluv (lines, h) {\n\tconst hueRad = h / 360 * Math.PI * 2;\n\tconst r0 = distanceFromOriginAngle(lines.r0s, lines.r0i, hueRad);\n\tconst r1 = distanceFromOriginAngle(lines.r1s, lines.r1i, hueRad);\n\tconst g0 = distanceFromOriginAngle(lines.g0s, lines.g0i, hueRad);\n\tconst g1 = distanceFromOriginAngle(lines.g1s, lines.g1i, hueRad);\n\tconst b0 = distanceFromOriginAngle(lines.b0s, lines.b0i, hueRad);\n\tconst b1 = distanceFromOriginAngle(lines.b1s, lines.b1i, hueRad);\n\n\treturn Math.min(r0, r1, g0, g1, b0, b1);\n}\n\nexport default new ColorSpace({\n\tid: \"hsluv\",\n\tname: \"HSLuv\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: LCHuv,\n\tgamutSpace: sRGB,\n\n\t// Convert LCHuv to HSLuv\n\tfromBase (lch) {\n\t\tlet [l, c, h] = [skipNone(lch[0]), skipNone(lch[1]), skipNone(lch[2])];\n\t\tlet s;\n\n\t\tif (l > 99.9999999) {\n\t\t\ts = 0;\n\t\t\tl = 100;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\ts = 0;\n\t\t\tl = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHsluv(lines, h);\n\t\t\ts = c / max * 100;\n\t\t}\n\n\t\treturn [h, s, l];\n\t},\n\n\t// Convert HSLuv to LCHuv\n\ttoBase (hsl) {\n\t\tlet [h, s, l] = [skipNone(hsl[0]), skipNone(hsl[1]), skipNone(hsl[2])];\n\t\tlet c;\n\n\t\tif (l > 99.9999999) {\n\t\t\tl = 100;\n\t\t\tc = 0;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\tl = 0;\n\t\t\tc = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHsluv(lines, h);\n\t\t\tc = max / 100 * s;\n\t\t}\n\n\t\treturn [l, c, h];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hsluv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "/*\nAdapted from: https://github.com/hsluv/hsluv-javascript/blob/14b49e6cf9a9137916096b8487a5372626b57ba4/src/hsluv.ts\n\nCopyright (c) 2012-2022 Alexei Boronine\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 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\nimport ColorSpace from \"../space.js\";\nimport LCHuv from \"./lchuv.js\";\nimport {fromXYZ_M} from \"./srgb-linear.js\";\nimport {skipNone} from \"../util.js\";\nimport {calculateBoundingLines} from \"./hsluv.js\";\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nconst m_r0 = fromXYZ_M[0][0];\nconst m_r1 = fromXYZ_M[0][1];\nconst m_r2 = fromXYZ_M[0][2];\nconst m_g0 = fromXYZ_M[1][0];\nconst m_g1 = fromXYZ_M[1][1];\nconst m_g2 = fromXYZ_M[1][2];\nconst m_b0 = fromXYZ_M[2][0];\nconst m_b1 = fromXYZ_M[2][1];\nconst m_b2 = fromXYZ_M[2][2];\n\nfunction distanceFromOrigin (slope, intercept) {\n\treturn Math.abs(intercept) / Math.sqrt(Math.pow(slope, 2) + 1);\n}\n\nfunction calcMaxChromaHpluv (lines) {\n\tlet r0 = distanceFromOrigin(lines.r0s, lines.r0i);\n\tlet r1 = distanceFromOrigin(lines.r1s, lines.r1i);\n\tlet g0 = distanceFromOrigin(lines.g0s, lines.g0i);\n\tlet g1 = distanceFromOrigin(lines.g1s, lines.g1i);\n\tlet b0 = distanceFromOrigin(lines.b0s, lines.b0i);\n\tlet b1 = distanceFromOrigin(lines.b1s, lines.b1i);\n\n\treturn Math.min(r0, r1, g0, g1, b0, b1);\n}\n\nexport default new ColorSpace({\n\tid: \"hpluv\",\n\tname: \"HPLuv\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: LCHuv,\n\tgamutSpace: \"self\",\n\n\t// Convert LCHuv to HPLuv\n\tfromBase (lch) {\n\t\tlet [l, c, h] = [skipNone(lch[0]), skipNone(lch[1]), skipNone(lch[2])];\n\t\tlet s;\n\n\t\tif (l > 99.9999999) {\n\t\t\ts = 0;\n\t\t\tl = 100;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\ts = 0;\n\t\t\tl = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHpluv(lines);\n\t\t\ts = c / max * 100;\n\t\t}\n\t\treturn [h, s, l];\n\t},\n\n\t// Convert HPLuv to LCHuv\n\ttoBase (hsl) {\n\t\tlet [h, s, l] = [skipNone(hsl[0]), skipNone(hsl[1]), skipNone(hsl[2])];\n\t\tlet c;\n\n\t\tif (l > 99.9999999) {\n\t\t\tl = 100;\n\t\t\tc = 0;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\tl = 0;\n\t\t\tc = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHpluv(lines, h);\n\t\t\tc = max / 100 * s;\n\t\t}\n\n\t\treturn [l, c, h];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hpluv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n\nconst Yw = 203;\t// absolute luminance of media white, cd/m²\nconst n = 2610 / (2 ** 14);\nconst ninv = (2 ** 14) / 2610;\nconst m = 2523 / (2 ** 5);\nconst minv = (2 ** 5) / 2523;\nconst c1 = 3424 / (2 ** 12);\nconst c2 = 2413 / (2 ** 7);\nconst c3 = 2392 / (2 ** 7);\n\nexport default new RGBColorSpace({\n\tid: \"rec2100pq\",\n\tcssId: \"rec2100-pq\",\n\tname: \"REC.2100-PQ\",\n\tbase: REC2020Linear,\n\ttoBase (RGB) {\n\t\t// given PQ encoded component in range [0, 1]\n\t\t// return media-white relative linear-light\n\t\treturn RGB.map(function (val) {\n\t\t\tlet x = ((Math.max(((val ** minv) - c1), 0) / (c2 - (c3 * (val ** minv)))) ** ninv);\n\t\t\treturn (x * 10000 / Yw); \t// luminance relative to diffuse white, [0, 70 or so].\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\t// given media-white relative linear-light\n\t\t// returnPQ encoded component in range [0, 1]\n\t\treturn RGB.map(function (val) {\n\t\t\tlet x = Math.max(val * Yw / 10000, 0); \t// absolute luminance of peak white is 10,000 cd/m².\n\t\t\tlet num = (c1 + (c2 * (x ** n)));\n\t\t\tlet denom = (1 + (c3 * (x ** n)));\n\n\t\t\treturn ((num / denom) ** m);\n\t\t});\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n\n// FIXME see https://github.com/LeaVerou/color.js/issues/190\n\nconst a = 0.17883277;\nconst b = 0.28466892; // 1 - (4 * a)\nconst c = 0.55991073; // 0.5 - a * Math.log(4 *a)\n\nconst scale = 3.7743;\t// Place 18% grey at HLG 0.38, so media white at 0.75\n\nexport default new RGBColorSpace({\n\tid: \"rec2100hlg\",\n\tcssId: \"rec2100-hlg\",\n\tname: \"REC.2100-HLG\",\n\treferred: \"scene\",\n\n\tbase: REC2020Linear,\n\ttoBase (RGB) {\n\t\t// given HLG encoded component in range [0, 1]\n\t\t// return media-white relative linear-light\n\t\treturn RGB.map(function (val) {\n\t\t\t// first the HLG EOTF\n\t\t\t// ITU-R BT.2390-10 p.30 section\n\t\t\t// 6.3 The hybrid log-gamma electro-optical transfer function (EOTF)\n\t\t\t// Then scale by 3 so media white is 1.0\n\t\t\tif (val <= 0.5) {\n\t\t\t\treturn (val ** 2) / 3 * scale;\n\t\t\t}\n\t\t\treturn ((Math.exp((val - c) / a) + b) / 12) * scale;\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\t// given media-white relative linear-light\n\t\t// where diffuse white is 1.0,\n\t\t// return HLG encoded component in range [0, 1]\n\t\treturn RGB.map(function (val) {\n\t\t\t// first scale to put linear-light media white at 1/3\n\t\t\tval /= scale;\n\t\t\t// now the HLG OETF\n\t\t\t// ITU-R BT.2390-10 p.23\n\t\t\t// 6.1 The hybrid log-gamma opto-electronic transfer function (OETF)\n\t\t\tif (val <= 1 / 12) {\n\t\t\t\treturn Math.sqrt(3 * val);\n\t\t\t}\n\t\t\treturn a * Math.log(12 * val - b) + c;\n\t\t});\n\t},\n});\n", "import hooks from \"./hooks.js\";\nimport {multiplyMatrices} from \"./util.js\";\nimport {WHITES} from \"./adapt.js\";\n\nexport const CATs = {};\n\nhooks.add(\"chromatic-adaptation-start\", env => {\n\tif (env.options.method) {\n\t\tenv.M = adapt(env.W1, env.W2, env.options.method);\n\t}\n});\n\nhooks.add(\"chromatic-adaptation-end\", env => {\n\tif (!env.M) {\n\t\tenv.M = adapt(env.W1, env.W2, env.options.method);\n\t}\n});\n\nexport function defineCAT ({id, toCone_M, fromCone_M}) {\n\t// Use id, toCone_M, fromCone_M like variables\n\tCATs[id] = arguments[0];\n}\n\nexport function adapt (W1, W2, id = \"Bradford\") {\n\t// adapt from a source whitepoint or illuminant W1\n\t// to a destination whitepoint or illuminant W2,\n\t// using the given chromatic adaptation transform (CAT)\n\t// debugger;\n\tlet method = CATs[id];\n\n\tlet [ρs, γs, βs] = multiplyMatrices(method.toCone_M, W1);\n\tlet [ρd, γd, βd] = multiplyMatrices(method.toCone_M, W2);\n\n\t// all practical illuminants have non-zero XYZ so no division by zero can occur below\n\tlet scale = [\n\t\t[ρd / ρs, 0, 0 ],\n\t\t[0, γd / γs, 0 ],\n\t\t[0, 0, βd / βs],\n\t];\n\t// console.log({scale});\n\n\tlet scaled_cone_M = multiplyMatrices(scale, method.toCone_M);\n\tlet adapt_M\t= multiplyMatrices(method.fromCone_M, scaled_cone_M);\n\t// console.log({scaled_cone_M, adapt_M});\n\treturn adapt_M;\n}\n\ndefineCAT({\n\tid: \"von Kries\",\n\ttoCone_M: [\n\t\t[ 0.4002400, 0.7076000, -0.0808100 ],\n\t\t[ -0.2263000, 1.1653200, 0.0457000 ],\n\t\t[ 0.0000000, 0.0000000, 0.9182200 ],\n\t],\n\tfromCone_M: [\n\t\t[ 1.8599363874558397, -1.1293816185800916, 0.21989740959619328 ],\n\t\t[ 0.3611914362417676, 0.6388124632850422, -0.000006370596838649899 ],\n\t\t[ 0, 0, 1.0890636230968613 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"Bradford\",\n\t// Convert an array of XYZ values in the range 0.0 - 1.0\n\t// to cone fundamentals\n\ttoCone_M: [\n\t\t[ 0.8951000, 0.2664000, -0.1614000 ],\n\t\t[ -0.7502000, 1.7135000, 0.0367000 ],\n\t\t[ 0.0389000, -0.0685000, 1.0296000 ],\n\t],\n\t// and back\n\tfromCone_M: [\n\t\t[ 0.9869929054667121, -0.14705425642099013, 0.15996265166373122 ],\n\t\t[ 0.4323052697233945, 0.5183602715367774, 0.049291228212855594 ],\n\t\t[ -0.00852866457517732, 0.04004282165408486, 0.96848669578755 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"CAT02\",\n\t// with complete chromatic adaptation to W2, so D = 1.0\n\ttoCone_M: [\n\t\t[ 0.7328000, 0.4296000, -0.1624000 ],\n\t\t[ -0.7036000, 1.6975000, 0.0061000 ],\n\t\t[ 0.0030000, 0.0136000, 0.9834000 ],\n\t],\n\tfromCone_M: [\n\t\t[ 1.0961238208355142, -0.27886900021828726, 0.18274517938277307 ],\n\t\t[ 0.4543690419753592, 0.4735331543074117, 0.07209780371722911 ],\n\t\t[ -0.009627608738429355, -0.00569803121611342, 1.0153256399545427 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"CAT16\",\n\ttoCone_M: [\n\t\t[ 0.401288, 0.650173, -0.051461 ],\n\t\t[ -0.250268, 1.204414, 0.045854 ],\n\t\t[ -0.002079, 0.048952, 0.953127 ],\n\t],\n\t// the extra precision is needed to avoid roundtripping errors\n\tfromCone_M: [\n\t\t[ 1.862067855087233, -1.0112546305316845, 0.14918677544445172 ],\n\t\t[ 0.3875265432361372, 0.6214474419314753, -0.008973985167612521 ],\n\t\t[ -0.01584149884933386, -0.03412293802851557, 1.0499644368778496 ],\n\t],\n});\n\nObject.assign(WHITES, {\n\t// whitepoint values from ASTM E308-01 with 10nm spacing, 1931 2 degree observer\n\t// all normalized to Y (luminance) = 1.00000\n\t// Illuminant A is a tungsten electric light, giving a very warm, orange light.\n\tA: [1.09850, 1.00000, 0.35585],\n\n\t// Illuminant C was an early approximation to daylight: illuminant A with a blue filter.\n\tC: [0.98074, 1.000000, 1.18232],\n\n\t// The daylight series of illuminants simulate natural daylight.\n\t// The color temperature (in degrees Kelvin/100) ranges from\n\t// cool, overcast daylight (D50) to bright, direct sunlight (D65).\n\tD55: [0.95682, 1.00000, 0.92149],\n\tD75: [0.94972, 1.00000, 1.22638],\n\n\t// Equal-energy illuminant, used in two-stage CAT16\n\tE: [1.00000, 1.00000, 1.00000],\n\n\t// The F series of illuminants represent fluorescent lights\n\tF2: [0.99186, 1.00000, 0.67393],\n\tF7: [0.95041, 1.00000, 1.08747],\n\tF11: [1.00962, 1.00000, 0.64350],\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport {WHITES} from \"../adapt.js\";\nimport \"../CATs.js\"; // because of the funky whitepoint\n\n// The ACES whitepoint\n// see TB-2018-001 Derivation of the ACES White Point CIE Chromaticity Coordinates\n// also https://github.com/ampas/aces-dev/blob/master/documents/python/TB-2018-001/aces_wp.py\n// Similar to D60\nWHITES.ACES = [0.32168 / 0.33767, 1.00000, (1.00000 - 0.32168 - 0.33767) / 0.33767];\n\n// convert an array of linear-light ACEScc values to CIE XYZ\nconst toXYZ_M = [\n\t[ 0.6624541811085053, 0.13400420645643313, 0.1561876870049078 ],\n\t[ 0.27222871678091454, 0.6740817658111484, 0.05368951740793705 ],\n\t[ -0.005574649490394108, 0.004060733528982826, 1.0103391003129971 ],\n];\nconst fromXYZ_M = [\n\t[ 1.6410233796943257, -0.32480329418479, -0.23642469523761225 ],\n\t[ -0.6636628587229829, 1.6153315916573379, 0.016756347685530137 ],\n\t[ 0.011721894328375376, -0.008284441996237409, 0.9883948585390215 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"acescg\",\n\tcssId: \"--acescg\",\n\tname: \"ACEScg\",\n\n\t// ACEScg – A scene-referred, linear-light encoding of ACES Data\n\t// https://docs.acescentral.com/specifications/acescg/\n\t// uses the AP1 primaries, see section 4.3.1 Color primaries\n\tcoords: {\n\t\tr: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Red\",\n\t\t},\n\t\tg: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Green\",\n\t\t},\n\t\tb: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Blue\",\n\t\t},\n\t},\n\n\treferred: \"scene\",\n\n\twhite: WHITES.ACES,\n\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n\n// export default Color;\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport \"../CATs.js\"; // because of the funky whitepoint\nimport ACEScg from \"./acescg.js\";\n\nconst ε = 2 ** -16;\n\n// the smallest value which, in the 32bit IEEE 754 float encoding,\n// decodes as a non-negative value\nconst ACES_min_nonzero = -0.35828683;\n\n// brightest encoded value, decodes to 65504\nconst ACES_cc_max = (Math.log2(65504) + 9.72) / 17.52; // 1.468\n\nexport default new RGBColorSpace({\n\tid: \"acescc\",\n\tcssId: \"--acescc\",\n\tname: \"ACEScc\",\n\t// see S-2014-003 ACEScc – A Logarithmic Encoding of ACES Data\n\t// https://docs.acescentral.com/specifications/acescc/\n\t// uses the AP1 primaries, see section 4.3.1 Color primaries\n\n\t// Appendix A: \"Very small ACES scene referred values below 7 1/4 stops\n\t// below 18% middle gray are encoded as negative ACEScc values.\n\t// These values should be preserved per the encoding in Section 4.4\n\t// so that all positive ACES values are maintained.\"\n\tcoords: {\n\t\tr: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Red\",\n\t\t},\n\t\tg: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Green\",\n\t\t},\n\t\tb: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Blue\",\n\t\t},\n\t},\n\treferred: \"scene\",\n\n\tbase: ACEScg,\n\t// from section 4.4.2 Decoding Function\n\ttoBase (RGB) {\n\t\tconst low = (9.72 - 15) / 17.52; // -0.3014\n\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val <= low) {\n\t\t\t\treturn (2 ** ((val * 17.52) - 9.72) - ε) * 2; // very low values, below -0.3014\n\t\t\t}\n\t\t\telse if (val < ACES_cc_max) {\n\t\t\t\treturn 2 ** ((val * 17.52) - 9.72);\n\t\t\t}\n\t\t\telse { // val >= ACES_cc_max\n\t\t\t\treturn 65504;\n\t\t\t}\n\t\t});\n\t},\n\n\t// Non-linear encoding function from S-2014-003, section 4.4.1 Encoding Function\n\tfromBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val <= 0) {\n\t\t\t\treturn (Math.log2(ε) + 9.72) / 17.52; // -0.3584\n\t\t\t}\n\t\t\telse if (val < ε) {\n\t\t\t\treturn (Math.log2(ε + val * 0.5) + 9.72) / 17.52;\n\t\t\t}\n\t\t\telse { // val >= ε\n\t\t\t\treturn (Math.log2(val) + 9.72) / 17.52;\n\t\t\t}\n\t\t});\n\t},\n\t// encoded media white (rgb 1,1,1) => linear [ 222.861, 222.861, 222.861 ]\n\t// encoded media black (rgb 0,0,0) => linear [ 0.0011857, 0.0011857, 0.0011857]\n});\n", "import * as util from \"./util.js\";\nimport hooks from \"./hooks.js\";\nimport defaults from \"./defaults.js\";\nimport ColorSpace from \"./space.js\";\nimport {WHITES} from \"./adapt.js\";\nimport {\n\tgetColor,\n\tparse,\n\tto,\n\tserialize,\n\tinGamut,\n\ttoGamut,\n\tdistance,\n\tequals,\n\tget,\n\tgetAll,\n\tset,\n\tsetAll,\n\tdisplay,\n} from \"./index-fn.js\";\n\n\nimport \"./spaces/xyz-d50.js\";\nimport \"./spaces/srgb.js\";\n\n/**\n * Class that represents a color\n */\nexport default class Color {\n\t/**\n\t * Creates an instance of Color.\n\t * Signatures:\n\t * - `new Color(stringToParse)`\n\t * - `new Color(otherColor)`\n\t * - `new Color({space, coords, alpha})`\n\t * - `new Color(space, coords, alpha)`\n\t * - `new Color(spaceId, coords, alpha)`\n\t */\n\tconstructor (...args) {\n\t\tlet color;\n\n\t\tif (args.length === 1) {\n\t\t\tcolor = getColor(args[0]);\n\t\t}\n\n\t\tlet space, coords, alpha;\n\n\t\tif (color) {\n\t\t\tspace = color.space || color.spaceId;\n\t\t\tcoords = color.coords;\n\t\t\talpha = color.alpha;\n\t\t}\n\t\telse {\n\t\t\t// default signature new Color(ColorSpace, array [, alpha])\n\t\t\t[space, coords, alpha] = args;\n\t\t}\n\n\t\tObject.defineProperty(this, \"space\", {\n\t\t\tvalue: ColorSpace.get(space),\n\t\t\twritable: false,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true, // see note in https://262.ecma-international.org/8.0/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver\n\t\t});\n\n\t\tthis.coords = coords ? coords.slice() : [0, 0, 0];\n\n\t\t// Clamp alpha to [0, 1]\n\t\tthis.alpha = alpha > 1 || alpha === undefined ? 1 : (alpha < 0 ? 0 : alpha);\n\n\t\t// Convert \"NaN\" to NaN\n\t\tfor (let i = 0; i < this.coords.length; i++) {\n\t\t\tif (this.coords[i] === \"NaN\") {\n\t\t\t\tthis.coords[i] = NaN;\n\t\t\t}\n\t\t}\n\n\t\t// Define getters and setters for each coordinate\n\t\tfor (let id in this.space.coords) {\n\t\t\tObject.defineProperty(this, id, {\n\t\t\t\tget: () => this.get(id),\n\t\t\t\tset: value => this.set(id, value),\n\t\t\t});\n\t\t}\n\t}\n\n\tget spaceId () {\n\t\treturn this.space.id;\n\t}\n\n\tclone () {\n\t\treturn new Color(this.space, this.coords, this.alpha);\n\t}\n\n\ttoJSON () {\n\t\treturn {\n\t\t\tspaceId: this.spaceId,\n\t\t\tcoords: this.coords,\n\t\t\talpha: this.alpha,\n\t\t};\n\t}\n\n\tdisplay (...args) {\n\t\tlet ret = display(this, ...args);\n\n\t\t// Convert color object to Color instance\n\t\tret.color = new Color(ret.color);\n\n\t\treturn ret;\n\t}\n\n\t/**\n\t * Get a color from the argument passed\n\t * Basically gets us the same result as new Color(color) but doesn't clone an existing color object\n\t */\n\tstatic get (color, ...args) {\n\t\tif (color instanceof Color) {\n\t\t\treturn color;\n\t\t}\n\n\t\treturn new Color(color, ...args);\n\t}\n\n\tstatic defineFunction (name, code, o = code) {\n\t\tlet {instance = true, returns} = o;\n\n\t\tlet func = function (...args) {\n\t\t\tlet ret = code(...args);\n\n\t\t\tif (returns === \"color\") {\n\t\t\t\tret = Color.get(ret);\n\t\t\t}\n\t\t\telse if (returns === \"function<color>\") {\n\t\t\t\tlet f = ret;\n\t\t\t\tret = function (...args) {\n\t\t\t\t\tlet ret = f(...args);\n\t\t\t\t\treturn Color.get(ret);\n\t\t\t\t};\n\t\t\t\t// Copy any function metadata\n\t\t\t\tObject.assign(ret, f);\n\t\t\t}\n\t\t\telse if (returns === \"array<color>\") {\n\t\t\t\tret = ret.map(c => Color.get(c));\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t};\n\n\t\tif (!(name in Color)) {\n\t\t\tColor[name] = func;\n\t\t}\n\n\t\tif (instance) {\n\t\t\tColor.prototype[name] = function (...args) {\n\t\t\t\treturn func(this, ...args);\n\t\t\t};\n\t\t}\n\t}\n\n\tstatic defineFunctions (o) {\n\t\tfor (let name in o) {\n\t\t\tColor.defineFunction(name, o[name], o[name]);\n\t\t}\n\t}\n\n\tstatic extend (exports) {\n\t\tif (exports.register) {\n\t\t\texports.register(Color);\n\t\t}\n\t\telse {\n\t\t\t// No register method, just add the module's functions\n\t\t\tfor (let name in exports) {\n\t\t\t\tColor.defineFunction(name, exports[name]);\n\t\t\t}\n\t\t}\n\t}\n}\n\nColor.defineFunctions({\n\tget,\n\tgetAll,\n\tset,\n\tsetAll,\n\tto,\n\tequals,\n\tinGamut,\n\ttoGamut,\n\tdistance,\n\ttoString: serialize,\n});\n\nObject.assign(Color, {\n\tutil,\n\thooks,\n\tWHITES,\n\tSpace: ColorSpace,\n\tspaces: ColorSpace.registry,\n\tparse,\n\n\t// Global defaults one may want to configure\n\tdefaults,\n});\n", "import ColorSpace from \"../space.js\";\nimport * as spaces from \"./index-fn.js\";\n\nexport * as spaces from \"./index-fn.js\";\n\nfor (let key of Object.keys(spaces)) {\n\tColorSpace.register(spaces[key]);\n}\n", "/**\n * This plugin defines getters and setters for color[spaceId]\n * e.g. color.lch on *any* color gives us the lch coords\n */\nimport ColorSpace from \"./space.js\";\nimport Color from \"./color.js\";\nimport hooks from \"./hooks.js\";\n\n// Add space accessors to existing color spaces\nfor (let id in ColorSpace.registry) {\n\taddSpaceAccessors(id, ColorSpace.registry[id]);\n}\n\n// Add space accessors to color spaces not yet created\nhooks.add(\"colorspace-init-end\", space => {\n\taddSpaceAccessors(space.id, space);\n\tspace.aliases?.forEach(alias => {\n\t\taddSpaceAccessors(alias, space);\n\t});\n});\n\nfunction addSpaceAccessors (id, space) {\n\tlet propId = id.replace(/-/g, \"_\");\n\n\tObject.defineProperty(Color.prototype, propId, {\n\t\t// Convert coords to coords in another colorspace and return them\n\t\t// Source colorspace: this.spaceId\n\t\t// Target colorspace: id\n\t\tget () {\n\t\t\tlet ret = this.getAll(id);\n\n\t\t\tif (typeof Proxy === \"undefined\") {\n\t\t\t\t// If proxies are not supported, just return a static array\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Enable color.spaceId.coordName syntax\n\t\t\treturn new Proxy(ret, {\n\t\t\t\thas: (obj, property) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tColorSpace.resolveCoord([space, property]);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tcatch (e) {}\n\n\t\t\t\t\treturn Reflect.has(obj, property);\n\t\t\t\t},\n\t\t\t\tget: (obj, property, receiver) => {\n\t\t\t\t\tif (property && typeof property !== \"symbol\" && !(property in obj)) {\n\t\t\t\t\t\tlet {index} = ColorSpace.resolveCoord([space, property]);\n\n\t\t\t\t\t\tif (index >= 0) {\n\t\t\t\t\t\t\treturn obj[index];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Reflect.get(obj, property, receiver);\n\t\t\t\t},\n\t\t\t\tset: (obj, property, value, receiver) => {\n\t\t\t\t\tif (property && typeof property !== \"symbol\" && !(property in obj) || property >= 0) {\n\t\t\t\t\t\tlet {index} = ColorSpace.resolveCoord([space, property]);\n\n\t\t\t\t\t\tif (index >= 0) {\n\t\t\t\t\t\t\tobj[index] = value;\n\n\t\t\t\t\t\t\t// Update color.coords\n\t\t\t\t\t\t\tthis.setAll(id, obj);\n\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Reflect.set(obj, property, value, receiver);\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t\t// Convert coords in another colorspace to internal coords and set them\n\t\t// Target colorspace: this.spaceId\n\t\t// Source colorspace: id\n\t\tset (coords) {\n\t\t\tthis.setAll(id, coords);\n\t\t},\n\t\tconfigurable: true,\n\t\tenumerable: true,\n\t});\n}\n", "// Import all modules of Color.js\nimport Color from \"./color.js\";\n\n// Import all color spaces\nimport \"./spaces/index.js\";\n\n// Import all DeltaE methods\nimport deltaE from \"./deltaE.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\n\nColor.extend(deltaEMethods);\nColor.extend({deltaE});\nObject.assign(Color, {deltaEMethods});\n\n// Import optional modules\nimport * as variations from \"./variations.js\";\nColor.extend(variations);\n\nimport contrast from \"./contrast.js\";\nColor.extend({contrast});\n\nimport * as chromaticity from \"./chromaticity.js\";\nColor.extend(chromaticity);\n\nimport * as luminance from \"./luminance.js\";\nColor.extend(luminance);\n\nimport * as interpolation from \"./interpolation.js\";\nColor.extend(interpolation);\n\nimport * as contrastMethods from \"./contrast/index.js\";\nColor.extend(contrastMethods);\n\nimport \"./CATs.js\";\nimport \"./space-accessors.js\";\n\n// Re-export everything\nexport default Color;\n"], + "mappings": "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AC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,uBAAuB,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAK,GAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,GAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,KAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAO,IAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,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M,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAO,KAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAA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AI,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,KAAK,GAAG,GAAG,KAAK,GAAG,EAAE,KAAK,IAAI,KAAK,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,KAAK,IAAI,KAAK,KAAK,EAAE,IAAI,EAEj+CC,GAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAA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,MACA,cACA,QACA,WACA,oBACA,SACA,UACA,WACA,WACA,WACA,WACA,0BACA,0BACA,WACA,cACA,aACA,2BACA,cACA,eACA,WACA,UACA,aACA,aACA,aACA,UACA,cACA,eACA,oBACA,mBACA,eACA,eACA,eACA,sBACA,sBACA,qBACA,2BACA,eACA,2BACA,qBACA,kBACA,oBACA,4BACA,mCACA,kCACA,uCACA,mCACA,wBACA,mBACA,sBACA,oBACA,eACA,yBACA,kBACA,cACA,eACA,kCACA,kCACA,uBACA,iBACA,kBACA,4BACA,gBACA,wBACA,UACA,WACA,UACA,SACA,OACA,WACA,iBACA,iBACA,oBACA,iBACA,gBACA,WACA,UACA,yBACA,yBACA,YACA,UACA,kCACA,aACA,YACA,YACA,YACA,eACA,YACA,eACA,eACA,eACA,gBACA,eACA,eACA,YACA,eACA,eACA,eACA,eACA,kBACA,eACA,kBACA,kBACA,kBACA,kBACA,qBACA,sBACA,kBACA,kBACA,kBACA,qBACA,qBACA,qBACA,kBACA,kBACA,qBACA,sBACA,kBACA,eACA,eACA,eACA,eACA,kBACA,eACA,eACA,eACA,kBACA,kBACA,eACA,eACA,kBACA,kBACA,mBACA,eACA,UACA,UACA,WACA,WACA,UACA,sBACA,sBACA,mBACA,aACA,aACA,aACA,aACA,WACA,WACA,eACA,eACA,iBACA,iBACA,iBACA,UACA,WACA,iBACA,cACA,cACA,6BACA,WACA,WACA,UACA,YACA,cACA,UACA,sBACA,WACA,aACA,QACA,qBACA,aACA,wBACA,SACA,YACA,iBACA,OACA,YACA,eACA,eACA,iBACA,MACA,UACA,UACA,OACA,iBACA,cACA,UACA,UACA,UACA,UACA,UACA,QACA,UACA,UACA,aACA,WACA,WACA,WACA,cACA,UACA,YACA,UACA,MACA,UACA,QACA,+BACA,QACA,UACA,YACA,MACA,OACA,mBACA,gBACA,cACA,YACA,WACA,WACA,KACA,2BACA,+BACA,8BACA,kCACA,gBACA,oBACA,2BACA,+BACA,8BACA,kCACA,gBACA,oBACA,2BACA,+BACA,8BACA,kCACA,gBACA,oBACA,QACA,SACA,eACA,mBACA,eACA,mBACA,eACA,mBACA,WACA,QACA,SACA,gBACA,UACA,SACA,UACA,UACA,OACA,WACA,4BACA,kBACA,aACA,qBACA,sBACA,mBACA,cACA,eACA,UACA,oBACA,WACA,gBACA,iBACA,iCACA,wBACA,kBACA,+BACA,mCACA,oBACA,oBACA,mCACA,uCACA,WACA,gBACA,kBACA,WACA,MACA,2BACA,MACA,YACA,MACA,UACA,MACA,eACA,cACA,SACA,WACA,gBACA,QACA,aACA,gBACA,YACA,QACA,OACA,MACA,aACA,UACA,SACA,aACA,UACA,UACA,gBACA,oBACA,gBACA,oBACA,gBACA,oBACA,SACA,OACA,eACA,UACA,WACA,WACA,WACA,WACA,YACA,YACA,wBACA,gBACA,UACA,4BACA,YACA,cACA,cACA,kBACA,SACA,eACA,yBACA,2BACA,kCACA,+BACA,sBACA,MACA,QACA,UACA,eACA,kBACA,qBACA,SACA,kBACA,WACA,UACA,iBACA,gBACA,SACA,WACA,WACA,UACA,UACA,UACA,gCACA,SACA,QACA,QACA,OACA,qBACA,oCACA,YACA,mBACA,mBACA,UACA,QACA,WACA,eACA,eACA,UACA,MACA,aACA,WACA,WACA,UACA,cACA,MACA,OACA,OACA,YACA,UACA,mBACA,gBACA,WACA,WACA,OACA,OACA,UACA,UACA,YACA,MACA,MACA,QACA,SACA,SACA,WACA,QACA,QACA,YACA,MACA,UACA,WACA,aACA,WACA,QACA,UACA,cACA,iBACA,UACA,cACA,iBACA,UACA,kBACA,iBACA,aACA,aACA,aACA,QACA,YACA,YACA,YACA,YACA,YACA,cACA,YACA,YACA,cACA,cACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,MACA,UACA,aACA,YACA,cACA,UACA,UACA,UACA,UACA,UACA,cACA,UACA,qBACA,aACA,OACA,WACA,UACA,WACA,MACA,UACA,eACA,eACA,QACA,SACA,+BACA,gCACA,aACA,aACA,eACA,UACA,qBACA,QACA,aACA,UACA,UACA,WACA,SACA,QACA,QACA,OACA,WACA,SACA,aACA,OACA,YACA,YACA,YACA,aACA,OACA,UACA,WACA,QACA,YACA,KACA,QACA,QACA,OACA,UACA,cACA,YACA,oBACA,WACA,MACA,UACA,eACA,WACA,gBACA,YACA,YACA,UACA,aACA,aACA,aACA,iBACA,UACA,eACA,SACA,WACA,eACA,MACA,eACA,YACA,QACA,aACA,OACA,OACA,UACA,OACA,QACA,gBACA,gBACA,cACA,OACA,UACA,cACA,UACA,UACA,kBACA,cACA,mBACA,mBACA,cACA,YACA,YACA,UACA,UACA,MACA,MACA,eACA,eACA,QACA,aACA,kBACA,SACA,MACA,uCACA,cACA,cACA,QACA,cACA,QACA,OACA,OACA,UACA,UACA,UACA,UACA,UACA,MACA,QACA,WACA,aACA,aACA,OACA,UACA,wBACA,WACA,cACA,YACA,UACA,sBACA,sBACA,OACA,UACA,WACA,OACA,UACA,SACA,aACA,OACA,aACA,UACA,UACA,SACA,SACA,aACA,iBACA,UACA,uBACA,OACA,QACA,WACA,WACA,iBACA,SACA,QACA,UACA,YACA,SACA,UACA,cACA,QACA,WACA,aACA,cACA,SACA,iBACA,OACA,MACA,SACA,4BACA,QACA,MACA,QACA,sBACD,IC3nBA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAA,SACC,WACA,WACA,uBACA,sBACA,WACA,WACA,WACA,UACA,UACA,6BACA,kCACA,+BACA,mCACA,8BACA,UACA,6BACA,kCACA,WACA,WACA,WACA,WACA,QACA,gBACA,cACA,WACA,WACD,IC3BA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAA,SACE,gBACA,qBACA,yBACA,yBACA,6BACA,iCACA,2BACA,uBACA,sBACA,uBACA,0BACA,sBAC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", + "names": ["require_lite", "__commonJSMin", "exports", "has", "dequal", "foo", "bar", "ctor", "len", "require_useDeepMemo", "__commonJSMin", "exports", "react_1", "lite_1", "useDeepMemo", "value", "ref", "signalRef", "require_useLatest", "__commonJSMin", "exports", "react_1", "useLatest", "value", "ref", "require_showFailureToast", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__setModuleDefault", "v", "__importStar", "mod", "result", "fs", "path", "api_1", "showFailureToast", "error", "options", "message", "handleErrorToastAction", "privateExtension", "title", "extensionURL", "packageJSON", "fallback", "stack", "toast", "require_usePromise", "__commonJSMin", "exports", "react_1", "api_1", "useDeepMemo_1", "useLatest_1", "showFailureToast_1", "usePromise", "fn", "args", "options", "lastCallId", "state", "set", "fnRef", "latestAbortable", "latestArgs", "latestOnError", "latestOnData", "latestOnWillExecute", "latestFailureToast", "latestValue", "latestCallback", "paginationArgsRef", "usePaginationRef", "hasMoreRef", "pageSizeRef", "callback", "callId", "prevState", "promiseOrPaginatedPromise", "bindPromiseIfNeeded", "handleError", "error", "toast", "data", "hasMore", "cursor", "previousData", "revalidate", "mutate", "asyncUpdate", "dataBeforeOptimisticUpdate", "update", "err", "onLoadMore", "isLoading", "stateWithLoadingFixed", "pagination", "require_object_hash", "__commonJSMin", "exports", "module", "crypto", "objectHash", "object", "options", "applyDefaults", "hash", "hashes", "encodings", "sourceOptions", "i", "isNativeFunction", "f", "exp", "hashingStream", "PassThrough", "hasher", "typeHasher", "buf", "stream", "writeTo", "context", "write", "str", "value", "type", "pattern", "objString", "objType", "objectNumber", "keys", "key", "self", "arr", "unordered", "entry", "contextAdditions", "entries", "strm", "localContext", "date", "sym", "err", "bool", "string", "fn", "number", "xml", "regex", "url", "map", "set", "file", "b", "require_helpers", "__commonJSMin", "exports", "__importDefault", "mod", "object_hash_1", "replacer", "key", "_value", "value", "reviver", "_key", "hash", "object", "options", "require_useCachedState", "__commonJSMin", "exports", "react_1", "api_1", "useLatest_1", "helpers_1", "rootCache", "cacheMap", "useCachedState", "key", "initialState", "config", "cacheKey", "cache", "keyRef", "initialValueRef", "cachedState", "error", "state", "err", "stateRef", "setStateAndCache", "updater", "newValue", "stringifiedValue", "require_useCachedPromise", "__commonJSMin", "exports", "react_1", "useCachedState_1", "usePromise_1", "useLatest_1", "helpers_1", "emptyCache", "useCachedPromise", "fn", "args", "options", "initialData", "keepPreviousData", "internal_cacheKeySuffix", "usePromiseOptions", "lastUpdateFrom", "cachedData", "mutateCache", "laggyDataRef", "paginationArgsRef", "_mutate", "revalidate", "state", "data", "pagination", "returnedData", "latestData", "mutate", "asyncUpdate", "dataBeforeOptimisticUpdate", "err", "require_lib", "__commonJSMin", "exports", "module", "conversions", "sign", "x", "evenRound", "createNumberConversion", "bitLength", "typeOpts", "lowerBound", "upperBound", "moduloVal", "moduloBound", "V", "opts", "val", "c", "i", "S", "n", "U", "a", "b", "require_utils", "__commonJSMin", "exports", "module", "target", "source", "keys", "i", "impl", "wrapper", "require_mappingTable", "__commonJSMin", "exports", "module", "require_tr46", "__commonJSMin", "exports", "module", "punycode", "mappingTable", "PROCESSING_OPTIONS", "normalize", "str", "s", "findStatus", "val", "start", "end", "mid", "target", "regexAstralSymbols", "countSymbols", "string", "mapChars", "domain_name", "useSTD3", "processing_option", "hasError", "processed", "len", "i", "codePoint", "status", "combiningMarksRegex", "validateLabel", "label", "error", "processing", "result", "labels", "validation", "verifyDnsLength", "l", "total", "require_url_state_machine", "__commonJSMin", "exports", "module", "punycode", "tr46", "specialSchemes", "failure", "countSymbols", "str", "at", "input", "idx", "c", "isASCIIDigit", "isASCIIAlpha", "isASCIIAlphanumeric", "isASCIIHex", "isSingleDot", "buffer", "isDoubleDot", "isWindowsDriveLetterCodePoints", "cp1", "cp2", "isWindowsDriveLetterString", "string", "isNormalizedWindowsDriveLetterString", "containsForbiddenHostCodePoint", "containsForbiddenHostCodePointExcludingPercent", "isSpecialScheme", "scheme", "isSpecial", "url", "defaultPort", "percentEncode", "hex", "utf8PercentEncode", "buf", "i", "utf8PercentDecode", "output", "isC0ControlPercentEncode", "extraPathPercentEncodeSet", "isPathPercentEncode", "extraUserinfoPercentEncodeSet", "isUserinfoPercentEncode", "percentEncodeChar", "encodeSetPredicate", "cStr", "parseIPv4Number", "R", "parseIPv4", "parts", "numbers", "part", "n", "ipv4", "counter", "serializeIPv4", "address", "parseIPv6", "pieceIndex", "compress", "pointer", "value", "length", "numbersSeen", "ipv4Piece", "number", "swaps", "temp", "serializeIPv6", "findLongestZeroSequence", "ignore0", "parseHost", "isSpecialArg", "parseOpaqueHost", "domain", "asciiDomain", "ipv4Host", "decoded", "arr", "maxIdx", "maxLen", "currStart", "currLen", "serializeHost", "host", "trimControlChars", "trimTabAndNewline", "shortenPath", "path", "isNormalizedWindowsDriveLetter", "includesCredentials", "cannotHaveAUsernamePasswordPort", "URLStateMachine", "base", "encodingOverride", "stateOverride", "res", "ret", "len", "codePoint", "encodedCodePoints", "port", "fileOtherwiseCodePoints", "serializeURL", "excludeFragment", "serializeOrigin", "tuple", "result", "options", "usm", "username", "password", "integer", "require_URL_impl", "__commonJSMin", "exports", "usm", "constructorArgs", "url", "base", "parsedBase", "parsedURL", "v", "input", "require_URL", "__commonJSMin", "exports", "module", "conversions", "utils", "Impl", "impl", "URL", "url", "args", "i", "V", "obj", "constructorArgs", "privateData", "require_public_api", "__commonJSMin", "exports", "require_lib", "__commonJSMin", "exports", "module", "_interopDefault", "ex", "Stream", "http", "Url", "whatwgUrl", "https", "zlib", "Readable", "BUFFER", "TYPE", "Blob", "_Blob", "blobParts", "options", "buffers", "size", "a", "length", "i", "element", "buffer", "type", "buf", "ab", "readable", "start", "end", "relativeStart", "relativeEnd", "span", "slicedBuffer", "blob", "FetchError", "message", "systemError", "convert", "INTERNALS", "PassThrough", "Body", "body", "_this", "_ref", "_ref$size", "_ref$timeout", "timeout", "isURLSearchParams", "isBlob", "err", "error", "consumeBody", "ct", "_this2", "_this3", "convertBody", "proto", "name", "desc", "_this4", "accum", "accumBytes", "abort", "resolve", "reject", "resTimeout", "chunk", "headers", "charset", "res", "str", "obj", "clone", "instance", "p1", "p2", "extractContentType", "getTotalBytes", "writeToStream", "dest", "invalidTokenRegex", "invalidHeaderCharRegex", "validateName", "validateValue", "value", "find", "map", "key", "MAP", "Headers", "_Headers", "init", "rawHeaders", "headerNames", "headerName", "method", "pairs", "pair", "callback", "thisArg", "getHeaders", "_pairs$i", "createHeadersIterator", "kind", "k", "INTERNAL", "target", "iterator", "HeadersIteratorPrototype", "_INTERNAL", "index", "values", "len", "exportNodeCompatibleHeaders", "hostHeaderKey", "createHeadersLenient", "val", "INTERNALS$1", "STATUS_CODES", "Response", "_Response", "opts", "status", "contentType", "INTERNALS$2", "URL", "parse_url", "format_url", "parseURL", "urlStr", "streamDestructionSupported", "isRequest", "input", "isAbortSignal", "signal", "Request", "_Request", "parsedURL", "inputBody", "getNodeRequestOptions", "request", "contentLengthValue", "totalBytes", "agent", "AbortError", "URL$1", "PassThrough$1", "isDomainOrSubdomain", "destination", "original", "orig", "isSameProtocol", "fetch", "url", "send", "response", "destroyStream", "abortAndFinalize", "finalize", "req", "reqTimeout", "socket", "fixResponseChunkedTransferBadEnding", "s", "hadError", "hasDataListener", "location", "locationURL", "requestOpts", "response_options", "codings", "zlibOptions", "raw", "errorCallback", "stream", "code", "require_node_ponyfill", "__commonJSMin", "exports", "module", "nodeFetch", "realFetch", "fetch", "url", "options", "require_fetch_utils", "__commonJSMin", "exports", "isJSON", "contentTypeHeader", "mediaType", "parseContentType", "MEDIA_TYPE_REGEXP", "header", "headerDelimitationindex", "contentType", "match", "type", "subtype", "suffix", "index", "require_useFetch", "__commonJSMin", "exports", "react_1", "useCachedPromise_1", "useLatest_1", "cross_fetch_1", "fetch_utils_1", "helpers_1", "defaultParsing", "response", "contentTypeHeader", "defaultMapping", "result", "useFetch", "url", "options", "parseResponse", "mapResult", "initialData", "execute", "keepPreviousData", "onError", "onData", "onWillExecute", "failureToastOptions", "fetchOptions", "useCachedPromiseOptions", "parseResponseRef", "mapResultRef", "urlRef", "firstPageUrlRef", "firstPageUrl", "abortable", "paginatedFn", "pagination", "res", "parsed", "fn", "promise", "exports", "signals_js_1", "exports", "processOk", "process", "kExitEmitter", "global", "ObjectDefineProperty", "Emitter", "ev", "fn", "list", "i", "code", "signal", "ret", "SignalExitBase", "signalExitWrap", "handler", "cb", "opts", "SignalExitFallback", "SignalExit", "#hupSig", "#emitter", "#process", "#originalProcessEmit", "#originalProcessReallyExit", "#sigListeners", "#loaded", "sig", "listeners", "count", "p", "s", "a", "#processEmit", "#processReallyExit", "listener", "args", "og", "_a", "require_exec_utils", "__commonJSMin", "exports", "__importDefault", "mod", "node_buffer_1", "node_stream_1", "node_util_1", "signal_exit_1", "getSpawnedPromise", "spawned", "timeout", "spawnedPromise", "resolve", "reject", "exitCode", "signal", "error", "timeoutId", "timeoutPromise", "_resolve", "safeSpawnedPromise", "removeExitHandler", "MaxBufferError", "streamPipelinePromisified", "bufferStream", "options", "encoding", "isBuffer", "stream", "length", "chunks", "chunk", "getStream", "inputStream", "rejectPromise", "getBufferedData", "streamPromise", "getSpawnedResult", "stdout", "stderr", "processDone", "stdoutPromise", "stderrPromise", "stripFinalNewline", "input", "LF", "CR", "handleOutput", "value", "getErrorPrefix", "timedOut", "makeError", "command", "parentError", "execaMessage", "shortMessage", "message", "defaultParsing", "require_useExec", "__commonJSMin", "exports", "__importDefault", "mod", "node_child_process_1", "react_1", "useCachedPromise_1", "useLatest_1", "exec_utils_1", "SPACES_REGEXP", "parseCommand", "command", "args", "tokens", "token", "previousToken", "useExec", "optionsOrArgs", "options", "parseOutput", "input", "onData", "onWillExecute", "initialData", "execute", "keepPreviousData", "onError", "failureToastOptions", "execOptions", "useCachedPromiseOptions", "abortable", "parseOutputRef", "fn", "_command", "_args", "_options", "file", "spawned", "spawnedPromise", "error", "exitCode", "signal", "timedOut", "stdoutResult", "stderrResult", "stdout", "stderr", "require_stream_chain", "__commonJSMin", "exports", "module", "Readable", "Writable", "Duplex", "Transform", "none", "finalSymbol", "manySymbol", "final", "value", "many", "values", "isFinal", "o", "isMany", "getFinalValue", "getManyValues", "runAsyncGenerator", "gen", "stream", "data", "Chain", "wrapFunction", "fn", "chunk", "encoding", "callback", "result", "error", "wrapArray", "fns", "isReadableNodeStream", "obj", "isWritableNodeStream", "isDuplexNodeStream", "_Chain", "options", "index", "s", "output", "_1", "_2", "e", "require_Utf8Stream", "__commonJSMin", "exports", "module", "Transform", "StringDecoder", "Utf8Stream", "options", "chunk", "encoding", "callback", "_", "require_Parser", "__commonJSMin", "exports", "module", "Utf8Stream", "patterns", "MAX_PATTERN_SIZE", "noSticky", "key", "src", "values", "expected", "fromHex", "s", "codes", "Parser", "_Parser", "options", "callback", "error", "match", "value", "index", "main", "t", "require_emit", "__commonJSMin", "exports", "module", "emit", "stream", "item", "require_stream_json", "__commonJSMin", "exports", "module", "Parser", "emit", "make", "options", "require_FilterBase", "__commonJSMin", "exports", "module", "Transform", "FilterBase", "_FilterBase", "string", "separator", "stack", "path", "regExp", "array", "options", "filter", "replacement", "chunk", "_", "callback", "passValue", "last", "post", "expected", "skipValue", "require_withParser", "__commonJSMin", "exports", "module", "Chain", "Parser", "withParser", "fn", "options", "require_Pick", "__commonJSMin", "exports", "module", "FilterBase", "withParser", "Pick", "_Pick", "options", "chunk", "require_Assembler", "__commonJSMin", "exports", "module", "EventEmitter", "startObject", "Ctr", "Assembler", "_Assembler", "stream", "options", "chunk", "path", "i", "key", "level", "index", "value", "require_StreamBase", "__commonJSMin", "exports", "module", "Transform", "Assembler", "Counter", "initialDepth", "StreamBase", "options", "chunk", "encoding", "callback", "result", "require_StreamArray", "__commonJSMin", "exports", "module", "StreamBase", "withParser", "StreamArray", "_StreamArray", "options", "chunk", "_", "callback", "discard", "require_useStreamJSON", "__commonJSMin", "exports", "__importDefault", "mod", "api_1", "cross_fetch_1", "node_fs_1", "promises_1", "node_path_1", "promises_2", "react_1", "stream_chain_1", "stream_json_1", "Pick_1", "StreamArray_1", "fetch_utils_1", "useCachedPromise_1", "helpers_1", "cache", "url", "destination", "fetchOptions", "cacheURL", "cacheFile", "response", "source", "abortSignal", "cacheURLIfNecessary", "folder", "fileName", "forceUpdate", "stats", "headResponse", "lastModified", "streamJsonFile", "filePath", "pageSize", "dataPath", "filterFn", "transformFn", "page", "pipeline", "data", "e", "useStreamJSON", "options", "initialData", "execute", "keepPreviousData", "onError", "onData", "onWillExecute", "failureToastOptions", "filter", "transform", "previousUrl", "previousDestination", "useCachedPromiseOptions", "generatorRef", "controllerRef", "hasMoreRef", "forceCacheUpdate", "newData", "done", "require_useSQL", "__commonJSMin", "exports", "__importDefault", "mod", "jsx_runtime_1", "api_1", "node_fs_1", "promises_1", "node_os_1", "node_child_process_1", "node_path_1", "react_1", "usePromise_1", "useLatest_1", "exec_utils_1", "showFailureToast_1", "helpers_1", "useSQL", "databasePath", "query", "options", "permissionPriming", "usePromiseOptions", "permissionView", "setPermissionView", "latestOptions", "abortable", "handleError", "_error", "error", "PermissionError", "isPermissionError", "PermissionErrorScreen", "fn", "workaroundCopiedDb", "abortSignal", "spawned", "spawnedPromise", "exitCode", "signal", "stdoutResult", "stderrResult", "checkAborted", "tempFolder", "message", "macosVenturaAndLater", "preferencesString", "props", "action", "require_useForm", "__commonJSMin", "exports", "react_1", "useLatest_1", "FormValidation", "validationError", "validation", "value", "valueIsValid", "useForm", "props", "_onSubmit", "initialValues", "values", "setValues", "errors", "setErrors", "refs", "latestValidation", "latestOnSubmit", "focus", "id", "handleSubmit", "validationErrors", "error", "result", "setValidationError", "setValue", "itemProps", "target", "event", "instance", "reset", "ref", "require_useAI", "__commonJSMin", "exports", "react_1", "api_1", "usePromise_1", "useAI", "prompt", "options", "creativity", "stream", "model", "usePromiseOptions", "data", "setData", "abortable", "isLoading", "error", "revalidate", "shouldStream", "x", "require_useFrecencySorting", "__commonJSMin", "exports", "react_1", "useLatest_1", "useCachedState_1", "HALF_LIFE_DAYS", "MS_PER_DAY", "DECAY_RATE_CONSTANT", "VISIT_TYPE_POINTS", "getNewFrecency", "item", "now", "lastVisited", "frecency", "visitAgeInDays", "currentVisitValue", "totalVisitValue", "defaultKey", "useFrecencySorting", "data", "options", "keyRef", "sortUnvisitedRef", "storedFrecencies", "setStoredFrecencies", "visitItem", "itemKey", "newFrecency", "resetRanking", "newFrencencies", "a", "b", "frecencyA", "frecencyB", "require_useLocalStorage", "__commonJSMin", "exports", "api_1", "showFailureToast_1", "helpers_1", "usePromise_1", "useLocalStorage", "key", "initialValue", "value", "isLoading", "mutate", "storageKey", "item", "setValue", "error", "removeValue", "require_color", "__commonJSMin", "exports", "hexToRGB", "hex", "r", "g", "b", "rgbToHex", "rString", "gString", "bString", "rgbToHSL", "cmin", "cmax", "delta", "h", "s", "l", "hslToRGB", "c", "x", "m", "hexToHSL", "hslToHex", "hsl", "clamp", "value", "min", "max", "offset", "slightlyDarkerColor", "slightlyLighterColor", "require_avatar", "__commonJSMin", "exports", "color_1", "getWholeCharAndI", "str", "i", "code", "next", "prev", "avatarColorSet", "getAvatarIcon", "name", "options", "words", "initials", "firstWordFirstLetter", "lastWordFirstLetter", "backgroundColor", "initialsCharIndex", "char", "colorIndex", "radius", "require_favicon", "__commonJSMin", "exports", "api_1", "url_1", "getFavicon", "url", "options", "hostname", "e", "require_progress", "__commonJSMin", "exports", "api_1", "polarToCartesian", "centerX", "centerY", "radius", "angleInDegrees", "angleInRadians", "describeArc", "x", "y", "startAngle", "endAngle", "start", "end", "largeArcFlag", "getProgressIcon", "progress", "color", "options", "background", "backgroundOpacity", "stroke", "require_icon", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "p", "require_providers", "__commonJSMin", "exports", "api_1", "OAuthService_1", "PROVIDER_CLIENT_IDS", "getIcon", "markup", "PROVIDERS_ICONS", "asanaService", "options", "githubService", "googleService", "jiraService", "linearService", "slackService", "response", "zoomService", "require_OAuthService", "__commonJSMin", "exports", "__importDefault", "mod", "cross_fetch_1", "providers_1", "OAuthService", "options", "x", "currentTokenSet", "tokens", "authRequest", "authorizationCode", "params", "response", "responseText", "token", "tokenResponse", "require_withAccessToken", "__commonJSMin", "exports", "jsx_runtime_1", "api_1", "token", "type", "authorize", "getIdToken", "onAuthorize", "withAccessToken", "options", "fn", "props", "idToken", "Component", "WrappedComponent", "wrapPromise", "getAccessToken", "promise", "status", "response", "suspender", "res", "err", "require_oauth", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "p", "require_run_applescript", "__commonJSMin", "exports", "__importDefault", "mod", "node_child_process_1", "exec_utils_1", "runAppleScript", "script", "optionsOrArgs", "options", "humanReadableOutput", "language", "timeout", "execOptions", "outputArguments", "spawned", "spawnedPromise", "error", "exitCode", "signal", "timedOut", "stdoutResult", "stderrResult", "stdout", "stderr", "require_createDeeplink", "__commonJSMin", "exports", "__importDefault", "mod", "api_1", "node_fs_1", "node_path_1", "DeeplinkType", "getProtocol", "getOwnerOrAuthorName", "packageJSON", "createScriptCommandDeeplink", "options", "url", "params", "arg", "createExtensionDeeplink", "ownerOrAuthorName", "extensionName", "createDeeplink", "require_dist", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "p", "require_p_try", "__commonJSMin", "exports", "module", "pTry", "fn", "arguments_", "resolve", "require_p_limit", "__commonJSMin", "exports", "module", "pTry", "pLimit", "concurrency", "queue", "activeCount", "next", "run", "fn", "resolve", "args", "result", "enqueue", "generator", "require_p_locate", "__commonJSMin", "exports", "module", "pLimit", "EndError", "value", "testElement", "element", "tester", "finder", "values", "pLocate", "iterable", "options", "limit", "items", "checkLimit", "error", "require_locate_path", "__commonJSMin", "exports", "module", "path", "fs", "promisify", "pLocate", "fsStat", "fsLStat", "typeMappings", "checkType", "type", "matchType", "stat", "paths", "options", "statFn", "path_", "require_path_exists", "__commonJSMin", "exports", "module", "fs", "promisify", "pAccess", "path", "require_find_up", "__commonJSMin", "exports", "module", "path", "locatePath", "pathExists", "stop", "name", "options", "directory", "root", "paths", "runMatcher", "locateOptions", "foundPath", "require_is_arrayish", "__commonJSMin", "exports", "module", "obj", "require_error_ex", "__commonJSMin", "exports", "module", "util", "isArrayish", "errorEx", "name", "properties", "errorExError", "ErrorEXError", "message", "newMessage", "key", "modifier", "v", "overwrittenStack", "stackDescriptor", "stackGetter", "stackValue", "newstack", "stack", "lineCount", "line", "str", "def", "require_json_parse_even_better_errors", "__commonJSMin", "exports", "module", "hexify", "char", "h", "parseError", "txt", "context", "badToken", "errIdx", "msg", "start", "end", "slice", "JSONParseError", "er", "caller", "metadata", "n", "kIndent", "kNewline", "formatRE", "emptyRE", "parseJson", "reviver", "parseText", "stripBOM", "newline", "indent", "result", "e", "isEmptyArray", "require_build", "__commonJSMin", "exports", "LF", "CR", "LinesAndColumns", "string", "offsets", "offset", "index", "line", "column", "location", "nextOffset", "require_js_tokens", "__commonJSMin", "exports", "match", "token", "nonASCIIidentifierStartChars", "nonASCIIidentifierChars", "nonASCIIidentifierStart", "RegExp", "nonASCIIidentifier", "astralIdentifierStartCodes", "astralIdentifierCodes", "isInAstralSet", "code", "set", "pos", "i", "length", "isIdentifierStart", "test", "String", "fromCharCode", "isIdentifierChar", "isIdentifierName", "name", "isFirst", "cp", "charCodeAt", "trail", "reservedWords", "keyword", "strict", "strictBind", "keywords", "Set", "reservedWordsStrictSet", "reservedWordsStrictBindSet", "isReservedWord", "word", "inModule", "isStrictReservedWord", "has", "isStrictBindOnlyReservedWord", "isStrictBindReservedWord", "isKeyword", "_identifier", "require", "_keyword", "require_picocolors", "__commonJSMin", "exports", "module", "argv", "env", "isColorSupported", "formatter", "open", "close", "replace", "input", "string", "index", "replaceClose", "result", "cursor", "createColors", "enabled", "init", "require_escape_string_regexp", "__commonJSMin", "exports", "module", "matchOperatorsRe", "str", "require_color_name", "__commonJSMin", "exports", "module", "require_conversions", "__commonJSMin", "exports", "module", "cssKeywords", "reverseKeywords", "key", "convert", "model", "channels", "labels", "rgb", "r", "g", "b", "min", "max", "delta", "h", "l", "rdif", "gdif", "bdif", "s", "v", "diff", "diffc", "w", "c", "m", "y", "k", "comparativeDistance", "x", "reversed", "currentClosestDistance", "currentClosestKeyword", "keyword", "value", "distance", "z", "xyz", "a", "hsl", "t1", "t2", "t3", "val", "i", "smin", "lmin", "sv", "hsv", "hi", "f", "p", "q", "t", "vmin", "sl", "hwb", "wh", "bl", "ratio", "n", "cmyk", "lab", "y2", "x2", "z2", "hr", "lch", "args", "ansi", "color", "mult", "rem", "integer", "string", "match", "colorString", "char", "chroma", "grayscale", "hue", "hcg", "pure", "mg", "apple", "gray", "require_route", "__commonJSMin", "exports", "module", "conversions", "buildGraph", "graph", "models", "len", "i", "deriveBFS", "fromModel", "queue", "current", "adjacents", "adjacent", "node", "link", "from", "to", "args", "wrapConversion", "toModel", "path", "fn", "cur", "conversion", "require_color_convert", "__commonJSMin", "exports", "module", "conversions", "route", "convert", "models", "wrapRaw", "fn", "wrappedFn", "args", "wrapRounded", "result", "len", "fromModel", "routes", "routeModels", "toModel", "require_ansi_styles", "__commonJSMin", "exports", "module", "colorConvert", "wrapAnsi16", "fn", "offset", "wrapAnsi256", "code", "wrapAnsi16m", "rgb", "assembleStyles", "codes", "styles", "groupName", "group", "styleName", "style", "ansi2ansi", "n", "rgb2rgb", "r", "g", "b", "key", "suite", "require_has_flag", "__commonJSMin", "exports", "module", "flag", "argv", "prefix", "pos", "terminatorPos", "require_supports_color", "__commonJSMin", "exports", "module", "os", "hasFlag", "env", "forceColor", "translateLevel", "level", "supportsColor", "stream", "min", "osRelease", "sign", "version", "getSupportLevel", "require_templates", "__commonJSMin", "exports", "module", "TEMPLATE_REGEX", "STYLE_REGEX", "STRING_REGEX", "ESCAPE_REGEX", "ESCAPES", "unescape", "c", "parseArguments", "name", "args", "results", "chunks", "matches", "chunk", "m", "escape", "chr", "parseStyle", "style", "buildStyle", "chalk", "styles", "enabled", "layer", "current", "styleName", "tmp", "escapeChar", "inverse", "close", "str", "errMsg", "require_chalk", "__commonJSMin", "exports", "module", "escapeStringRegexp", "ansiStyles", "stdoutColor", "template", "isSimpleWindowsTerm", "levelMapping", "skipModels", "styles", "applyOptions", "obj", "options", "scLevel", "Chalk", "chalk", "args", "chalkTag", "key", "codes", "build", "model", "level", "bgModel", "proto", "_styles", "_empty", "builder", "applyStyle", "self", "enabled", "argsLen", "str", "a", "originalDim", "code", "strings", "parts", "i", "_jsTokens", "require", "_helperValidatorIdentifier", "_picocolors", "_interopRequireWildcard", "_getRequireWildcardCache", "e", "WeakMap", "r", "t", "__esModule", "default", "has", "get", "n", "__proto__", "a", "Object", "defineProperty", "getOwnPropertyDescriptor", "u", "hasOwnProperty", "call", "i", "set", "colors", "process", "env", "FORCE_COLOR", "createColors", "_colors", "compose", "f", "g", "v", "sometimesKeywords", "Set", "getDefs", "keyword", "cyan", "capitalized", "yellow", "jsxIdentifier", "punctuator", "number", "magenta", "string", "green", "regex", "comment", "gray", "invalid", "white", "bgRed", "bold", "NEWLINE", "BRACKET", "tokenize", "JSX_TAG", "getTokenType", "token", "offset", "text", "type", "isKeyword", "value", "isStrictReservedWord", "test", "slice", "toLowerCase", "match", "jsTokens", "exec", "matchToToken", "index", "highlightTokens", "defs", "highlighted", "colorize", "split", "map", "str", "join", "shouldHighlight", "options", "isColorSupported", "forceColor", "pcWithForcedColor", "getColors", "_pcWithForcedColor", "highlight", "code", "chalk", "chalkWithForcedColor", "exports", "getChalk", "_chalk", "_chalkWithForcedColor", "constructor", "enabled", "level", "_highlight", "require", "_picocolors", "_interopRequireWildcard", "_getRequireWildcardCache", "e", "WeakMap", "r", "t", "__esModule", "default", "has", "get", "n", "__proto__", "a", "Object", "defineProperty", "getOwnPropertyDescriptor", "u", "hasOwnProperty", "call", "i", "set", "colors", "process", "env", "FORCE_COLOR", "createColors", "_colors", "compose", "f", "g", "v", "pcWithForcedColor", "getColors", "forceColor", "_pcWithForcedColor", "deprecationWarningShown", "getDefs", "gutter", "gray", "marker", "red", "bold", "message", "NEWLINE", "getMarkerLines", "loc", "source", "opts", "startLoc", "assign", "column", "line", "start", "endLoc", "end", "linesAbove", "linesBelow", "startLine", "startColumn", "endLine", "endColumn", "Math", "max", "min", "length", "lineDiff", "markerLines", "lineNumber", "sourceLength", "codeFrameColumns", "rawLines", "highlighted", "highlightCode", "shouldHighlight", "defs", "maybeHighlight", "fmt", "string", "lines", "split", "hasColumns", "numberMaxWidth", "String", "frame", "highlight", "slice", "map", "index", "number", "hasMarker", "lastMarkerLine", "markerLine", "Array", "isArray", "markerSpacing", "replace", "numberOfMarkers", "repeat", "join", "reset", "_default", "colNumber", "emitWarning", "deprecationError", "Error", "name", "console", "warn", "require_parse_json", "__commonJSMin", "exports", "module", "errorEx", "fallback", "LinesAndColumns", "codeFrameColumns", "JSONError", "parseJson", "string", "reviver", "filename", "error", "indexMatch", "jsonError", "lines", "index", "location", "codeFrame", "require_semver", "__commonJSMin", "exports", "module", "SemVer", "debug", "args", "MAX_LENGTH", "MAX_SAFE_INTEGER", "MAX_SAFE_COMPONENT_LENGTH", "MAX_SAFE_BUILD_LENGTH", "re", "safeRe", "src", "R", "LETTERDASHNUMBER", "safeRegexReplacements", "makeSafeRe", "value", "i", "token", "max", "NUMERICIDENTIFIER", "NUMERICIDENTIFIERLOOSE", "NONNUMERICIDENTIFIER", "MAINVERSION", "MAINVERSIONLOOSE", "PRERELEASEIDENTIFIER", "PRERELEASEIDENTIFIERLOOSE", "PRERELEASE", "PRERELEASELOOSE", "BUILDIDENTIFIER", "BUILD", "FULL", "FULLPLAIN", "LOOSEPLAIN", "LOOSE", "GTLT", "XRANGEIDENTIFIERLOOSE", "XRANGEIDENTIFIER", "XRANGEPLAIN", "XRANGEPLAINLOOSE", "XRANGE", "XRANGELOOSE", "COERCE", "LONETILDE", "TILDETRIM", "tildeTrimReplace", "TILDE", "TILDELOOSE", "LONECARET", "CARETTRIM", "caretTrimReplace", "CARET", "CARETLOOSE", "COMPARATORLOOSE", "COMPARATOR", "COMPARATORTRIM", "comparatorTrimReplace", "HYPHENRANGE", "HYPHENRANGELOOSE", "STAR", "parse", "version", "options", "r", "valid", "v", "clean", "s", "m", "id", "num", "other", "compareIdentifiers", "a", "b", "release", "identifier", "inc", "loose", "diff", "version1", "version2", "eq", "v1", "v2", "prefix", "defaultResult", "key", "numeric", "anum", "bnum", "rcompareIdentifiers", "major", "minor", "patch", "compare", "compareLoose", "rcompare", "sort", "list", "rsort", "gt", "lt", "neq", "gte", "lte", "cmp", "op", "Comparator", "comp", "ANY", "rangeTmp", "Range", "satisfies", "sameDirectionIncreasing", "sameDirectionDecreasing", "sameSemVer", "differentDirectionsInclusive", "oppositeDirectionsLessThan", "oppositeDirectionsGreaterThan", "range", "c", "comps", "hr", "hyphenReplace", "compRe", "set", "parseComparator", "thisComparators", "thisComparator", "rangeComparators", "rangeComparator", "toComparators", "replaceCarets", "replaceTildes", "replaceXRanges", "replaceStars", "isX", "replaceTilde", "_", "M", "p", "pr", "ret", "replaceCaret", "replaceXRange", "gtlt", "xM", "xm", "xp", "anyX", "$0", "from", "fM", "fm", "fp", "fpr", "fb", "to", "tM", "tm", "tp", "tpr", "tb", "testSet", "allowed", "maxSatisfying", "versions", "maxSV", "rangeObj", "minSatisfying", "min", "minSV", "minVersion", "minver", "comparators", "comparator", "compver", "validRange", "ltr", "outside", "gtr", "hilo", "gtfn", "ltefn", "ltfn", "ecomp", "high", "low", "prerelease", "parsed", "intersects", "r1", "r2", "coerce", "match", "require_spdx_license_ids", "__commonJSMin", "exports", "module", "require_deprecated", "__commonJSMin", "exports", "module", "require_spdx_exceptions", "__commonJSMin", "exports", "module", "require_scan", "__commonJSMin", "exports", "module", "licenses", "exceptions", "source", "index", "hasMore", "read", "value", "chars", "match", "skipWhitespace", "operator", "string", "possibilities", "i", "idstring", "expectIdstring", "documentRef", "licenseRef", "identifier", "begin", "parseToken", "tokens", "token", "require_parse", "__commonJSMin", "exports", "module", "tokens", "index", "hasMore", "token", "next", "parseOperator", "operator", "t", "parseWith", "parseLicenseRef", "begin", "string", "parseLicense", "node", "exception", "parseParenthesizedExpression", "left", "expr", "parseExpression", "parseAtom", "makeBinaryOpParser", "nextParser", "parseBinaryOp", "right", "parseAnd", "require_spdx_expression_parse", "__commonJSMin", "exports", "module", "scan", "parse", "source", "require_spdx_correct", "__commonJSMin", "exports", "module", "parse", "spdxLicenseIds", "valid", "string", "sortTranspositions", "a", "b", "length", "transpositions", "TRANSPOSED", "CORRECT", "transforms", "argument", "licensesWithVersions", "id", "match", "objectMap", "item", "key", "licensesWithOneVersion", "lastResorts", "SUBSTRING", "IDENTIFIER", "validTransformation", "identifier", "i", "transformed", "validLastResort", "upperCased", "lastResort", "anyCorrection", "check", "transposition", "transposed", "corrected", "checked", "options", "upgrade", "postprocess", "value", "upgradeGPLs", "validArugment", "noPlus", "require_validate_npm_package_license", "__commonJSMin", "exports", "module", "parse", "correct", "genericWarning", "fileReferenceRE", "startsWith", "prefix", "string", "usesLicenseRef", "ast", "license", "argument", "match", "result", "corrected", "require_git_host_info", "__commonJSMin", "exports", "module", "gitHosts", "fragment", "formatHashFragment", "gitHostDefaults", "name", "key", "protocol", "require_git_host", "__commonJSMin", "exports", "module", "gitHosts", "extend", "target", "source", "keys", "i", "GitHost", "type", "user", "auth", "project", "committish", "defaultRepresentation", "opts", "gitHostInfo", "key", "template", "vars", "self", "rawAuth", "rawcommittish", "rawFragment", "rawPath", "rawProject", "value", "pathComponent", "res", "P", "F", "opts_", "require_hosted_git_info", "__commonJSMin", "exports", "module", "url", "gitHosts", "GitHost", "protocolToRepresentationMap", "protocolToRepresentation", "protocol", "authProtocols", "cache", "giturl", "opts", "key", "fromUrl", "fixupUnqualifiedGist", "isGitHubShorthand", "parsed", "parseGitUrl", "shortcutMatch", "matches", "gitHostName", "gitHostInfo", "auth", "committish", "user", "project", "defaultRepresentation", "pathmatch", "matched", "ex", "arg", "legacy", "authmatch", "whatwg", "require_homedir", "__commonJSMin", "exports", "module", "os", "home", "user", "require_caller", "__commonJSMin", "exports", "module", "origPrepareStackTrace", "_", "stack", "require_path_parse", "__commonJSMin", "exports", "module", "isWindows", "splitWindowsRe", "win32", "win32SplitPath", "filename", "pathString", "allParts", "splitPathRe", "posix", "posixSplitPath", "require_node_modules_paths", "__commonJSMin", "exports", "module", "path", "parse", "getNodeModulesDirs", "absoluteStart", "modules", "prefix", "paths", "parsed", "dirs", "aPath", "moduleDir", "start", "opts", "request", "require_normalize_options", "__commonJSMin", "exports", "module", "x", "opts", "require_implementation", "__commonJSMin", "exports", "module", "ERROR_MESSAGE", "toStr", "max", "funcType", "concatty", "b", "arr", "i", "j", "slicy", "arrLike", "offset", "joiny", "joiner", "str", "that", "target", "args", "bound", "binder", "result", "boundLength", "boundArgs", "Empty", "require_function_bind", "__commonJSMin", "exports", "module", "implementation", "require_hasown", "__commonJSMin", "exports", "module", "call", "$hasOwn", "bind", "require_core", "__commonJSMin", "exports", "module", "require_is_core_module", "__commonJSMin", "exports", "module", "hasOwn", "specifierIncluded", "current", "specifier", "nodeParts", "parts", "op", "versionParts", "i", "cur", "ver", "matchesRange", "range", "specifiers", "versionIncluded", "nodeVersion", "specifierValue", "data", "x", "require_async", "__commonJSMin", "exports", "module", "fs", "getHomedir", "path", "caller", "nodeModulesPaths", "normalizeOptions", "isCore", "realpathFS", "homedir", "defaultPaths", "defaultIsFile", "file", "cb", "err", "stat", "defaultIsDir", "dir", "defaultRealpath", "x", "realpathErr", "realPath", "maybeRealpath", "realpath", "opts", "defaultReadPackage", "readFile", "pkgfile", "readFileErr", "body", "pkg", "getPackageCandidates", "start", "dirs", "options", "callback", "isFile", "isDirectory", "readPackage", "conflictErr", "packageIterator", "extensions", "includeCoreModules", "basedir", "parent", "absoluteStart", "realStart", "init", "res", "loadAsDirectory", "onfile", "loadAsFile", "loadNodeModules", "n", "realN", "moduleError", "m", "d", "realD", "thePackage", "loadAsFilePackage", "exts", "load", "loadPackage", "onpkg", "loadpkg", "pkg_", "rfile", "rel", "r", "onex", "ex", "unwrapErr", "pkgdir", "pkgParam", "loadAsDirectoryPackage", "fpkg", "mainError", "processDirs", "isdir", "ondir", "thunk", "require_core", "__commonJSMin", "exports", "module", "require_core", "__commonJSMin", "exports", "module", "isCoreModule", "data", "core", "mod", "require_is_core", "__commonJSMin", "exports", "module", "isCoreModule", "x", "require_sync", "__commonJSMin", "exports", "module", "isCore", "fs", "path", "getHomedir", "caller", "nodeModulesPaths", "normalizeOptions", "realpathFS", "homedir", "defaultPaths", "defaultIsFile", "file", "stat", "e", "defaultIsDir", "dir", "defaultRealpathSync", "x", "realpathErr", "maybeRealpathSync", "realpathSync", "opts", "defaultReadPackageSync", "readFileSync", "pkgfile", "body", "pkg", "getPackageCandidates", "start", "dirs", "options", "isFile", "isDirectory", "readPackageSync", "packageIterator", "extensions", "includeCoreModules", "basedir", "parent", "absoluteStart", "res", "m", "loadAsFileSync", "loadAsDirectorySync", "n", "loadNodeModulesSync", "err", "loadpkg", "rfile", "r", "i", "mainError", "thunk", "require_resolve", "__commonJSMin", "exports", "module", "async", "require_extract_description", "__commonJSMin", "exports", "module", "extractDescription", "d", "s", "l", "e", "require_typos", "__commonJSMin", "exports", "module", "require_fixer", "__commonJSMin", "exports", "module", "semver", "validateLicense", "hostedGitInfo", "isBuiltinModule", "depTypes", "extractDescription", "url", "typos", "fixer", "data", "r", "hosted", "d", "k", "files", "file", "b", "match", "bdd", "bd", "strict", "loose", "objectifyDeps", "addOptionalDepsToDeps", "deps", "kw", "modifyPeople", "unParsePerson", "parsePerson", "options", "ensureValidName", "emailRe", "bugsTypos", "oldBugs", "isValidScopedPackageName", "spec", "rest", "isCorrectlyEncodedName", "name", "allowLegacyCase", "fn", "set", "person", "u", "e", "email", "obj", "warn", "o", "depObjectify", "type", "dn", "dv", "bugs", "require_warning_messages", "__commonJSMin", "exports", "module", "require_make_warning", "__commonJSMin", "exports", "module", "util", "messages", "args", "warningName", "makeTypoWarning", "msgTemplate", "providedName", "probableName", "field", "require_normalize", "__commonJSMin", "exports", "module", "normalize", "fixer", "makeWarning", "fieldsToFix", "otherThingsToFix", "thingsToFix", "fieldName", "ucFirst", "data", "warn", "strict", "msg", "thingName", "string", "require_read_pkg", "__commonJSMin", "exports", "module", "promisify", "fs", "path", "parseJson", "readFileAsync", "options", "filePath", "json", "require_read_pkg_up", "__commonJSMin", "exports", "module", "path", "findUp", "readPkg", "options", "filePath", "require_distribution", "__commonJSMin", "exports", "api_1", "read_pkg_up_1", "callbackLaunchCommand", "options", "result", "crossLaunchCommand", "callbackLaunchOptions", "pack", "ownerOrAuthorName", "targetHandle", "message", "require_listCacheClear", "__commonJSMin", "exports", "module", "listCacheClear", "require_eq", "__commonJSMin", "exports", "module", "eq", "value", "other", "require_assocIndexOf", "__commonJSMin", "exports", "module", "eq", "assocIndexOf", "array", "key", "length", "require_listCacheDelete", "__commonJSMin", "exports", "module", "assocIndexOf", "arrayProto", "splice", "listCacheDelete", "key", "data", "index", "lastIndex", "require_listCacheGet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheGet", "key", "data", "index", "require_listCacheHas", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheHas", "key", "require_listCacheSet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheSet", "key", "value", "data", "index", "require_ListCache", "__commonJSMin", "exports", "module", "listCacheClear", "listCacheDelete", "listCacheGet", "listCacheHas", "listCacheSet", "ListCache", "entries", "index", "length", "entry", "require_stackClear", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "require_stackDelete", "__commonJSMin", "exports", "module", "stackDelete", "key", "data", "result", "require_stackGet", "__commonJSMin", "exports", "module", "stackGet", "key", "require_stackHas", "__commonJSMin", "exports", "module", "stackHas", "key", "require_freeGlobal", "__commonJSMin", "exports", "module", "freeGlobal", "require_root", "__commonJSMin", "exports", "module", "freeGlobal", "freeSelf", "root", "require_Symbol", "__commonJSMin", "exports", "module", "root", "Symbol", "require_getRawTag", "__commonJSMin", "exports", "module", "Symbol", "objectProto", "hasOwnProperty", "nativeObjectToString", "symToStringTag", "getRawTag", "value", "isOwn", "tag", "unmasked", "result", "require_objectToString", "__commonJSMin", "exports", "module", "objectProto", "nativeObjectToString", "objectToString", "value", "require_baseGetTag", "__commonJSMin", "exports", "module", "Symbol", "getRawTag", "objectToString", "nullTag", "undefinedTag", "symToStringTag", "baseGetTag", "value", "require_isObject", "__commonJSMin", "exports", "module", "isObject", "value", "type", "require_isFunction", "__commonJSMin", "exports", "module", "baseGetTag", "isObject", "asyncTag", "funcTag", "genTag", "proxyTag", "isFunction", "value", "tag", "require_coreJsData", "__commonJSMin", "exports", "module", "root", "coreJsData", "require_isMasked", "__commonJSMin", "exports", "module", "coreJsData", "maskSrcKey", "uid", "isMasked", "func", "require_toSource", "__commonJSMin", "exports", "module", "funcProto", "funcToString", "toSource", "func", "require_baseIsNative", "__commonJSMin", "exports", "module", "isFunction", "isMasked", "isObject", "toSource", "reRegExpChar", "reIsHostCtor", "funcProto", "objectProto", "funcToString", "hasOwnProperty", "reIsNative", "baseIsNative", "value", "pattern", "require_getValue", "__commonJSMin", "exports", "module", "getValue", "object", "key", "require_getNative", "__commonJSMin", "exports", "module", "baseIsNative", "getValue", "getNative", "object", "key", "value", "require_Map", "__commonJSMin", "exports", "module", "getNative", "root", "Map", "require_nativeCreate", "__commonJSMin", "exports", "module", "getNative", "nativeCreate", "require_hashClear", "__commonJSMin", "exports", "module", "nativeCreate", "hashClear", "require_hashDelete", "__commonJSMin", "exports", "module", "hashDelete", "key", "result", "require_hashGet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "objectProto", "hasOwnProperty", "hashGet", "key", "data", "result", "require_hashHas", "__commonJSMin", "exports", "module", "nativeCreate", "objectProto", "hasOwnProperty", "hashHas", "key", "data", "require_hashSet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "hashSet", "key", "value", "data", "require_Hash", "__commonJSMin", "exports", "module", "hashClear", "hashDelete", "hashGet", "hashHas", "hashSet", "Hash", "entries", "index", "length", "entry", "require_mapCacheClear", "__commonJSMin", "exports", "module", "Hash", "ListCache", "Map", "mapCacheClear", "require_isKeyable", "__commonJSMin", "exports", "module", "isKeyable", "value", "type", "require_getMapData", "__commonJSMin", "exports", "module", "isKeyable", "getMapData", "map", "key", "data", "require_mapCacheDelete", "__commonJSMin", "exports", "module", "getMapData", "mapCacheDelete", "key", "result", "require_mapCacheGet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheGet", "key", "require_mapCacheHas", "__commonJSMin", "exports", "module", "getMapData", "mapCacheHas", "key", "require_mapCacheSet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheSet", "key", "value", "data", "size", "require_MapCache", "__commonJSMin", "exports", "module", "mapCacheClear", "mapCacheDelete", "mapCacheGet", "mapCacheHas", "mapCacheSet", "MapCache", "entries", "index", "length", "entry", "require_stackSet", "__commonJSMin", "exports", "module", "ListCache", "Map", "MapCache", "LARGE_ARRAY_SIZE", "stackSet", "key", "value", "data", "pairs", "require_Stack", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "stackDelete", "stackGet", "stackHas", "stackSet", "Stack", "entries", "data", "require_setCacheAdd", "__commonJSMin", "exports", "module", "HASH_UNDEFINED", "setCacheAdd", "value", "require_setCacheHas", "__commonJSMin", "exports", "module", "setCacheHas", "value", "require_SetCache", "__commonJSMin", "exports", "module", "MapCache", "setCacheAdd", "setCacheHas", "SetCache", "values", "index", "length", "require_arraySome", "__commonJSMin", "exports", "module", "arraySome", "array", "predicate", "index", "length", "require_cacheHas", "__commonJSMin", "exports", "module", "cacheHas", "cache", "key", "require_equalArrays", "__commonJSMin", "exports", "module", "SetCache", "arraySome", "cacheHas", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "equalArrays", "array", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "arrLength", "othLength", "arrStacked", "othStacked", "index", "result", "seen", "arrValue", "othValue", "compared", "othIndex", "require_Uint8Array", "__commonJSMin", "exports", "module", "root", "Uint8Array", "require_mapToArray", "__commonJSMin", "exports", "module", "mapToArray", "map", "index", "result", "value", "key", "require_setToArray", "__commonJSMin", "exports", "module", "setToArray", "set", "index", "result", "value", "require_equalByTag", "__commonJSMin", "exports", "module", "Symbol", "Uint8Array", "eq", "equalArrays", "mapToArray", "setToArray", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "boolTag", "dateTag", "errorTag", "mapTag", "numberTag", "regexpTag", "setTag", "stringTag", "symbolTag", "arrayBufferTag", "dataViewTag", "symbolProto", "symbolValueOf", "equalByTag", "object", "other", "tag", "bitmask", "customizer", "equalFunc", "stack", "convert", "isPartial", "stacked", "result", "require_arrayPush", "__commonJSMin", "exports", "module", "arrayPush", "array", "values", "index", "length", "offset", "require_isArray", "__commonJSMin", "exports", "module", "isArray", "require_baseGetAllKeys", "__commonJSMin", "exports", "module", "arrayPush", "isArray", "baseGetAllKeys", "object", "keysFunc", "symbolsFunc", "result", "require_arrayFilter", "__commonJSMin", "exports", "module", "arrayFilter", "array", "predicate", "index", "length", "resIndex", "result", "value", "require_stubArray", "__commonJSMin", "exports", "module", "stubArray", "require_getSymbols", "__commonJSMin", "exports", "module", "arrayFilter", "stubArray", "objectProto", "propertyIsEnumerable", "nativeGetSymbols", "getSymbols", "object", "symbol", "require_baseTimes", "__commonJSMin", "exports", "module", "baseTimes", "n", "iteratee", "index", "result", "require_isObjectLike", "__commonJSMin", "exports", "module", "isObjectLike", "value", "require_baseIsArguments", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "argsTag", "baseIsArguments", "value", "require_isArguments", "__commonJSMin", "exports", "module", "baseIsArguments", "isObjectLike", "objectProto", "hasOwnProperty", "propertyIsEnumerable", "isArguments", "value", "require_stubFalse", "__commonJSMin", "exports", "module", "stubFalse", "require_isBuffer", "__commonJSMin", "exports", "module", "root", "stubFalse", "freeExports", "freeModule", "moduleExports", "Buffer", "nativeIsBuffer", "isBuffer", "require_isIndex", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "reIsUint", "isIndex", "value", "length", "type", "require_isLength", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "isLength", "value", "require_baseIsTypedArray", "__commonJSMin", "exports", "module", "baseGetTag", "isLength", "isObjectLike", "argsTag", "arrayTag", "boolTag", "dateTag", "errorTag", "funcTag", "mapTag", "numberTag", "objectTag", "regexpTag", "setTag", "stringTag", "weakMapTag", "arrayBufferTag", "dataViewTag", "float32Tag", "float64Tag", "int8Tag", "int16Tag", "int32Tag", "uint8Tag", "uint8ClampedTag", "uint16Tag", "uint32Tag", "typedArrayTags", "baseIsTypedArray", "value", "require_baseUnary", "__commonJSMin", "exports", "module", "baseUnary", "func", "value", "require_nodeUtil", "__commonJSMin", "exports", "module", "freeGlobal", "freeExports", "freeModule", "moduleExports", "freeProcess", "nodeUtil", "types", "require_isTypedArray", "__commonJSMin", "exports", "module", "baseIsTypedArray", "baseUnary", "nodeUtil", "nodeIsTypedArray", "isTypedArray", "require_arrayLikeKeys", "__commonJSMin", "exports", "module", "baseTimes", "isArguments", "isArray", "isBuffer", "isIndex", "isTypedArray", "objectProto", "hasOwnProperty", "arrayLikeKeys", "value", "inherited", "isArr", "isArg", "isBuff", "isType", "skipIndexes", "result", "length", "key", "require_isPrototype", "__commonJSMin", "exports", "module", "objectProto", "isPrototype", "value", "Ctor", "proto", "require_overArg", "__commonJSMin", "exports", "module", "overArg", "func", "transform", "arg", "require_nativeKeys", "__commonJSMin", "exports", "module", "overArg", "nativeKeys", "require_baseKeys", "__commonJSMin", "exports", "module", "isPrototype", "nativeKeys", "objectProto", "hasOwnProperty", "baseKeys", "object", "result", "key", "require_isArrayLike", "__commonJSMin", "exports", "module", "isFunction", "isLength", "isArrayLike", "value", "require_keys", "__commonJSMin", "exports", "module", "arrayLikeKeys", "baseKeys", "isArrayLike", "keys", "object", "require_getAllKeys", "__commonJSMin", "exports", "module", "baseGetAllKeys", "getSymbols", "keys", "getAllKeys", "object", "require_equalObjects", "__commonJSMin", "exports", "module", "getAllKeys", "COMPARE_PARTIAL_FLAG", "objectProto", "hasOwnProperty", "equalObjects", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "objProps", "objLength", "othProps", "othLength", "index", "key", "objStacked", "othStacked", "result", "skipCtor", "objValue", "othValue", "compared", "objCtor", "othCtor", "require_DataView", "__commonJSMin", "exports", "module", "getNative", "root", "DataView", "require_Promise", "__commonJSMin", "exports", "module", "getNative", "root", "Promise", "require_Set", "__commonJSMin", "exports", "module", "getNative", "root", "Set", "require_WeakMap", "__commonJSMin", "exports", "module", "getNative", "root", "WeakMap", "require_getTag", "__commonJSMin", "exports", "module", "DataView", "Map", "Promise", "Set", "WeakMap", "baseGetTag", "toSource", "mapTag", "objectTag", "promiseTag", "setTag", "weakMapTag", "dataViewTag", "dataViewCtorString", "mapCtorString", "promiseCtorString", "setCtorString", "weakMapCtorString", "getTag", "value", "result", "Ctor", "ctorString", "require_baseIsEqualDeep", "__commonJSMin", "exports", "module", "Stack", "equalArrays", "equalByTag", "equalObjects", "getTag", "isArray", "isBuffer", "isTypedArray", "COMPARE_PARTIAL_FLAG", "argsTag", "arrayTag", "objectTag", "objectProto", "hasOwnProperty", "baseIsEqualDeep", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "objIsArr", "othIsArr", "objTag", "othTag", "objIsObj", "othIsObj", "isSameTag", "objIsWrapped", "othIsWrapped", "objUnwrapped", "othUnwrapped", "require_baseIsEqual", "__commonJSMin", "exports", "module", "baseIsEqualDeep", "isObjectLike", "baseIsEqual", "value", "other", "bitmask", "customizer", "stack", "require_baseIsMatch", "__commonJSMin", "exports", "module", "Stack", "baseIsEqual", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseIsMatch", "object", "source", "matchData", "customizer", "index", "length", "noCustomizer", "data", "key", "objValue", "srcValue", "stack", "result", "require_isStrictComparable", "__commonJSMin", "exports", "module", "isObject", "isStrictComparable", "value", "require_getMatchData", "__commonJSMin", "exports", "module", "isStrictComparable", "keys", "getMatchData", "object", "result", "length", "key", "value", "require_matchesStrictComparable", "__commonJSMin", "exports", "module", "matchesStrictComparable", "key", "srcValue", "object", "require_baseMatches", "__commonJSMin", "exports", "module", "baseIsMatch", "getMatchData", "matchesStrictComparable", "baseMatches", "source", "matchData", "object", "require_isSymbol", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "symbolTag", "isSymbol", "value", "require_isKey", "__commonJSMin", "exports", "module", "isArray", "isSymbol", "reIsDeepProp", "reIsPlainProp", "isKey", "value", "object", "type", "require_memoize", "__commonJSMin", "exports", "module", "MapCache", "FUNC_ERROR_TEXT", "memoize", "func", "resolver", "memoized", "args", "key", "cache", "result", "require_memoizeCapped", "__commonJSMin", "exports", "module", "memoize", "MAX_MEMOIZE_SIZE", "memoizeCapped", "func", "result", "key", "cache", "require_stringToPath", "__commonJSMin", "exports", "module", "memoizeCapped", "rePropName", "reEscapeChar", "stringToPath", "string", "result", "match", "number", "quote", "subString", "require_arrayMap", "__commonJSMin", "exports", "module", "arrayMap", "array", "iteratee", "index", "length", "result", "require_baseToString", "__commonJSMin", "exports", "module", "Symbol", "arrayMap", "isArray", "isSymbol", "INFINITY", "symbolProto", "symbolToString", "baseToString", "value", "result", "require_toString", "__commonJSMin", "exports", "module", "baseToString", "toString", "value", "require_castPath", "__commonJSMin", "exports", "module", "isArray", "isKey", "stringToPath", "toString", "castPath", "value", "object", "require_toKey", "__commonJSMin", "exports", "module", "isSymbol", "INFINITY", "toKey", "value", "result", "require_baseGet", "__commonJSMin", "exports", "module", "castPath", "toKey", "baseGet", "object", "path", "index", "length", "require_get", "__commonJSMin", "exports", "module", "baseGet", "get", "object", "path", "defaultValue", "result", "require_baseHasIn", "__commonJSMin", "exports", "module", "baseHasIn", "object", "key", "require_hasPath", "__commonJSMin", "exports", "module", "castPath", "isArguments", "isArray", "isIndex", "isLength", "toKey", "hasPath", "object", "path", "hasFunc", "index", "length", "result", "key", "require_hasIn", "__commonJSMin", "exports", "module", "baseHasIn", "hasPath", "hasIn", "object", "path", "require_baseMatchesProperty", "__commonJSMin", "exports", "module", "baseIsEqual", "get", "hasIn", "isKey", "isStrictComparable", "matchesStrictComparable", "toKey", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseMatchesProperty", "path", "srcValue", "object", "objValue", "require_identity", "__commonJSMin", "exports", "module", "identity", "value", "require_baseProperty", "__commonJSMin", "exports", "module", "baseProperty", "key", "object", "require_basePropertyDeep", "__commonJSMin", "exports", "module", "baseGet", "basePropertyDeep", "path", "object", "require_property", "__commonJSMin", "exports", "module", "baseProperty", "basePropertyDeep", "isKey", "toKey", "property", "path", "require_baseIteratee", "__commonJSMin", "exports", "module", "baseMatches", "baseMatchesProperty", "identity", "isArray", "property", "baseIteratee", "value", "require_baseFindIndex", "__commonJSMin", "exports", "module", "baseFindIndex", "array", "predicate", "fromIndex", "fromRight", "length", "index", "require_baseIsNaN", "__commonJSMin", "exports", "module", "baseIsNaN", "value", "require_strictIndexOf", "__commonJSMin", "exports", "module", "strictIndexOf", "array", "value", "fromIndex", "index", "length", "require_baseIndexOf", "__commonJSMin", "exports", "module", "baseFindIndex", "baseIsNaN", "strictIndexOf", "baseIndexOf", "array", "value", "fromIndex", "require_arrayIncludes", "__commonJSMin", "exports", "module", "baseIndexOf", "arrayIncludes", "array", "value", "length", "require_arrayIncludesWith", "__commonJSMin", "exports", "module", "arrayIncludesWith", "array", "value", "comparator", "index", "length", "require_noop", "__commonJSMin", "exports", "module", "noop", "require_createSet", "__commonJSMin", "exports", "module", "Set", "noop", "setToArray", "INFINITY", "createSet", "values", "require_baseUniq", "__commonJSMin", "exports", "module", "SetCache", "arrayIncludes", "arrayIncludesWith", "cacheHas", "createSet", "setToArray", "LARGE_ARRAY_SIZE", "baseUniq", "array", "iteratee", "comparator", "index", "includes", "length", "isCommon", "result", "seen", "set", "outer", "value", "computed", "seenIndex", "require_uniqBy", "__commonJSMin", "exports", "module", "baseIteratee", "baseUniq", "uniqBy", "array", "iteratee", "color_wheel_exports", "__export", "Command", "__toCommonJS", "import_api", "import_utils", "import_raycast_cross_extension", "import_react", "import_api", "import_path", "import_promises", "import_child_process", "runSwiftFunction", "command", "args", "swiftPath", "resolve", "reject", "commandArgs", "arg", "k", "v", "err", "SwiftError", "child", "stdout", "stderr", "data", "code", "result", "error", "pickColor", "message", "import_api", "import_utils", "import_api", "multiplyMatrices", "A", "B", "m", "x", "p", "B_cols", "_", "i", "product", "row", "col", "ret", "c", "isString", "str", "type", "o", "serializeNumber", "n", "precision", "unit", "isNone", "toPrecision", "skipNone", "integer", "digits", "multiplier", "angleFactor", "parseFunction", "isFunctionRegex", "isNumberRegex", "unitValueRegex", "singleArgument", "parts", "args", "$0", "rawArg", "match", "arg", "unitlessArg", "last", "arr", "interpolate", "start", "end", "interpolateInv", "value", "mapRange", "from", "to", "parseCoordGrammar", "coordGrammars", "coordGrammar", "range", "clamp", "min", "val", "max", "copySign", "spow", "base", "exp", "zdiv", "d", "bisectLeft", "lo", "hi", "mid", "Hooks", "name", "callback", "first", "env", "hooks", "defaults", "msg", "WHITES", "getWhite", "adapt", "W1", "W2", "XYZ", "options", "noneTypes", "coerceCoords", "space", "format", "coords", "id", "coordMeta", "providedType", "coordName", "fromRange", "toRange", "util.mapRange", "parse", "meta", "util.parseFunction", "alternateId", "ids", "alpha", "ColorSpace", "colorSpec", "specId", "types", "didYouMean", "registryId", "cssId", "util.last", "formatId", "color", "getColor", "\u03B5", "_ColorSpace", "white", "getPath", "epsilon", "coord", "processFormat", "myPath", "otherPath", "connectionSpace", "connectionSpaceIndex", "alias", "alternatives", "ref", "workingSpace", "coordType", "normalizedCoord", "s", "coordFormats", "outputType", "suffix", "xyz_d65", "RGBColorSpace", "XYZ_D65", "rgb", "xyz", "getAll", "get", "prop", "index", "setAll", "set", "object", "XYZ_D50", "\u03B53", "\u03BA", "lab", "xyz_d50", "f", "Lab", "constrain", "angle", "adjust", "arc", "angles", "a1", "a2", "angleDiff", "lch", "L", "a", "b", "hue", "constrainAngle", "LCH", "Lightness", "Chroma", "Hue", "Gfactor", "\u03C0", "r2d", "d2r", "pow7", "x2", "deltaE2000", "sample", "kL", "kC", "kH", "L1", "b1", "C1", "L2", "b2", "C2", "Cbar", "C7", "G", "adash1", "adash2", "Cdash1", "Cdash2", "h1", "h2", "\u0394L", "\u0394C", "hdiff", "hsum", "habs", "\u0394h", "\u0394H", "Ldash", "Cdash", "Cdash7", "hdash", "lsq", "SL", "SC", "T", "SH", "\u0394\u03B8", "RC", "RT", "dE", "XYZtoLMS_M", "LMStoXYZ_M", "LMStoLab_M", "LabtoLMS_M", "OKLab", "LMSg", "LMS", "deltaEOK", "oklab", "\u0394a", "\u0394b", "inGamut", "clone", "distance", "color1", "color2", "coords1", "coords2", "acc", "c1", "c2", "deltaE76", "deltaECMC", "l", "H1", "H2", "C4", "F", "Yw", "XYZ_Abs_D65", "v", "AbsXYZ", "g", "ninv", "c3", "pinv", "d0", "XYZtoCone_M", "ConetoXYZ_M", "ConetoIab_M", "IabtoCone_M", "Jzazbz", "Xa", "Ya", "Za", "Xm", "Ym", "PQLMS", "num", "denom", "Iz", "az", "bz", "Jz", "jzczhz", "jzazbz", "deltaEJz", "Jz1", "Cz1", "Hz1", "Jz2", "Cz2", "Hz2", "\u0394J", "m1", "m2", "im1", "im2", "LMStoIPT_M", "IPTtoLMS_M", "ictcp", "LMStoICtCp", "ICtCp", "ICtCptoLMS", "deltaEITP", "I1", "T1", "P1", "I2", "T2", "P2", "adaptedCoef", "adaptedCoefInv", "tau", "cat16", "cat16Inv", "surroundMap", "hueQuadMap", "rad2deg", "deg2rad", "fl", "unadapt", "adapted", "constant", "cabs", "hueQuadrature", "h", "hp", "hii", "ei", "eii", "Hi", "t", "invHueQuadrature", "H", "Hp", "environment", "refWhite", "adaptingLuminance", "backgroundLuminance", "surround", "discounting", "xyzW", "yw", "rgbW", "k4", "rgbCW", "rgbAW", "viewingConditions", "fromCam16", "cam16", "hRad", "cosh", "sinh", "Jroot", "et", "p1", "p2", "r", "rgb_c", "toCam16", "xyzd65", "xyz100", "rgbA", "J", "Q", "C", "M", "toLstar", "y", "fromLstar", "lstar", "fromHct", "j", "threshold", "max_attempts", "attempt", "delta", "toHct", "hct", "ucsCoeff", "convertUcsAb", "hrad", "deltaEHCT", "t1", "t2", "deltaEMethods", "calcEpsilon", "jnd", "order", "GMAPPRESET", "toGamut", "method", "deltaEMethod", "blackWhiteClamp", "util.isString", "spaceColor", "toGamutCSS", "de", "clipped", "channelMeta", "channel", "util.isNone", "mapSpace", "coordId", "mappedColor", "low", "high", "bounds", "COLORS", "origin", "oklchSpace", "origin_OKLCH", "black", "clip", "_color", "destColor", "spaceCoords", "util.clamp", "min_inGamut", "current", "E", "chroma", "serialize", "customOptions", "checkInGamut", "util.serializeNumber", "strAlpha", "toXYZ_M", "fromXYZ_M", "REC2020Linear", "\u03B1", "\u03B2", "REC2020", "RGB", "P3Linear", "sRGBLinear", "KEYWORDS", "coordGrammarNumber", "sRGB", "sign", "abs", "rgba", "component", "collapse", "collapsible", "P3", "supportsNone", "display", "fallbackColor", "equals", "getLuminance", "setLuminance", "register", "Color", "contrastWCAG21", "Y1", "Y2", "normBG", "normTXT", "revTXT", "revBG", "blkThrs", "blkClmp", "loClip", "deltaYmin", "scaleBoW", "loBoWoffset", "scaleWoB", "fclamp", "Y", "linearize", "contrastAPCA", "background", "foreground", "S", "Sapc", "R", "lumTxt", "lumBg", "Ytxt", "Ybg", "BoW", "contrastMichelson", "contrastWeber", "contrastLstar", "lab_d65", "phi", "contrastDeltaPhi", "Lstr1", "Lstr2", "deltaPhiStar", "contrast", "algorithm", "rest", "algorithms", "contrastAlgorithms", "uv", "X", "Z", "xy", "sum", "deltaE", "lighten", "amount", "lightness", "darken", "mix", "steps", "colorRange", "isRange", "maxDeltaE", "maxSteps", "rangeOptions", "totalDelta", "actualSteps", "step", "maxDelta", "cur", "\u0394\u0395", "prev", "outputSpace", "progression", "premultiplied", "rangeArgs", "\u03B81", "\u03B82", "angles.adjust", "HSL", "hsl", "k", "HSV", "hsv", "hwb", "w", "gray", "A98Linear", "a98rgb", "ProPhotoLinear", "Et", "Et2", "prophoto", "oklch", "U_PRIME_WHITE", "V_PRIME_WHITE", "Luv", "up", "vp", "u", "LCHuv", "m_r0", "m_r1", "m_r2", "m_g0", "m_g1", "m_g2", "m_b0", "m_b1", "m_b2", "distanceFromOriginAngle", "slope", "intercept", "calculateBoundingLines", "sub1", "sub2", "s1r", "s2r", "s3r", "s1g", "s2g", "s3g", "s1b", "s2b", "s3b", "calcMaxChromaHsluv", "lines", "hueRad", "r0", "r1", "g0", "g1", "b0", "hsluv", "distanceFromOrigin", "calcMaxChromaHpluv", "hpluv", "minv", "rec2100Pq", "scale", "rec2100Hlg", "CATs", "defineCAT", "toCone_M", "fromCone_M", "\u03C1s", "\u03B3s", "\u03B2s", "\u03C1d", "\u03B3d", "\u03B2d", "scaled_cone_M", "ACEScg", "ACES_min_nonzero", "ACES_cc_max", "acescc", "_Color", "code", "instance", "returns", "func", "exports", "util", "key", "spaces", "addSpaceAccessors", "propId", "obj", "property", "receiver", "variations", "chromaticity", "luminance", "interpolation", "contrastMethods", "import_uniqBy", "preferences", "getFormattedColor", "_color", "format", "color", "Color", "oklchColor", "l", "c", "h", "lchColor", "MAX_HISTORY_LENGTH", "addToHistory", "color", "cache", "serializedHistory", "previousHistory", "newHistory", "item", "getFormattedColor", "MAX_HISTORY_LENGTH", "import_jsx_runtime", "Command", "launchContext", "pickAndHandleColor", "pickedColor", "pickColor", "addToHistory", "hex", "getFormattedColor", "e"] +} diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/convert-color.js b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/convert-color.js @@ -0,0 +1 @@ +"use strict";var Qo=Object.create;var Ge=Object.defineProperty;var Vo=Object.getOwnPropertyDescriptor;var eu=Object.getOwnPropertyNames;var tu=Object.getPrototypeOf,ru=Object.prototype.hasOwnProperty;var f=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),nu=(e,t)=>{for(var r in t)Ge(e,r,{get:t[r],enumerable:!0})},Tr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of eu(t))!ru.call(e,a)&&a!==r&&Ge(e,a,{get:()=>t[a],enumerable:!(n=Vo(t,a))||n.enumerable});return e};var au=(e,t,r)=>(r=e!=null?Qo(tu(e)):{},Tr(t||!e||!e.__esModule?Ge(r,"default",{value:e,enumerable:!0}):r,e)),su=e=>Tr(Ge({},"__esModule",{value:!0}),e);var ha=f((Bd,fa)=>{function a1(){this.__data__=[],this.size=0}fa.exports=a1});var Xt=f((zd,pa)=>{function s1(e,t){return e===t||e!==e&&t!==t}pa.exports=s1});var Te=f(($d,da)=>{var i1=Xt();function o1(e,t){for(var r=e.length;r--;)if(i1(e[r][0],t))return r;return-1}da.exports=o1});var ma=f((Hd,ga)=>{var u1=Te(),l1=Array.prototype,c1=l1.splice;function f1(e){var t=this.__data__,r=u1(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():c1.call(t,r,1),--this.size,!0}ga.exports=f1});var ya=f((Dd,ba)=>{var h1=Te();function p1(e){var t=this.__data__,r=h1(t,e);return r<0?void 0:t[r][1]}ba.exports=p1});var wa=f((jd,Ma)=>{var d1=Te();function g1(e){return d1(this.__data__,e)>-1}Ma.exports=g1});var xa=f((Fd,va)=>{var m1=Te();function b1(e,t){var r=this.__data__,n=m1(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}va.exports=b1});var Pe=f((Gd,Ca)=>{var y1=ha(),M1=ma(),w1=ya(),v1=wa(),x1=xa();function le(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}le.prototype.clear=y1;le.prototype.delete=M1;le.prototype.get=w1;le.prototype.has=v1;le.prototype.set=x1;Ca.exports=le});var qa=f((Yd,_a)=>{var C1=Pe();function _1(){this.__data__=new C1,this.size=0}_a.exports=_1});var Aa=f((kd,Sa)=>{function q1(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}Sa.exports=q1});var Ta=f((Xd,La)=>{function S1(e){return this.__data__.get(e)}La.exports=S1});var Ia=f((Zd,Pa)=>{function A1(e){return this.__data__.has(e)}Pa.exports=A1});var Zt=f((Jd,Ra)=>{var L1=typeof global=="object"&&global&&global.Object===Object&&global;Ra.exports=L1});var F=f((Ud,Oa)=>{var T1=Zt(),P1=typeof self=="object"&&self&&self.Object===Object&&self,I1=T1||P1||Function("return this")();Oa.exports=I1});var Ie=f((Kd,Ea)=>{var R1=F(),O1=R1.Symbol;Ea.exports=O1});var $a=f((Wd,za)=>{var Na=Ie(),Ba=Object.prototype,E1=Ba.hasOwnProperty,N1=Ba.toString,Re=Na?Na.toStringTag:void 0;function B1(e){var t=E1.call(e,Re),r=e[Re];try{e[Re]=void 0;var n=!0}catch{}var a=N1.call(e);return n&&(t?e[Re]=r:delete e[Re]),a}za.exports=B1});var Da=f((Qd,Ha)=>{var z1=Object.prototype,$1=z1.toString;function H1(e){return $1.call(e)}Ha.exports=H1});var ce=f((Vd,Ga)=>{var ja=Ie(),D1=$a(),j1=Da(),F1="[object Null]",G1="[object Undefined]",Fa=ja?ja.toStringTag:void 0;function Y1(e){return e==null?e===void 0?G1:F1:Fa&&Fa in Object(e)?D1(e):j1(e)}Ga.exports=Y1});var ot=f((eg,Ya)=>{function k1(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}Ya.exports=k1});var Jt=f((tg,ka)=>{var X1=ce(),Z1=ot(),J1="[object AsyncFunction]",U1="[object Function]",K1="[object GeneratorFunction]",W1="[object Proxy]";function Q1(e){if(!Z1(e))return!1;var t=X1(e);return t==U1||t==K1||t==J1||t==W1}ka.exports=Q1});var Za=f((rg,Xa)=>{var V1=F(),el=V1["__core-js_shared__"];Xa.exports=el});var Ka=f((ng,Ua)=>{var Ut=Za(),Ja=function(){var e=/[^.]+$/.exec(Ut&&Ut.keys&&Ut.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function tl(e){return!!Ja&&Ja in e}Ua.exports=tl});var Kt=f((ag,Wa)=>{var rl=Function.prototype,nl=rl.toString;function al(e){if(e!=null){try{return nl.call(e)}catch{}try{return e+""}catch{}}return""}Wa.exports=al});var Va=f((sg,Qa)=>{var sl=Jt(),il=Ka(),ol=ot(),ul=Kt(),ll=/[\\^$.*+?()[\]{}|]/g,cl=/^\[object .+?Constructor\]$/,fl=Function.prototype,hl=Object.prototype,pl=fl.toString,dl=hl.hasOwnProperty,gl=RegExp("^"+pl.call(dl).replace(ll,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ml(e){if(!ol(e)||il(e))return!1;var t=sl(e)?gl:cl;return t.test(ul(e))}Qa.exports=ml});var t0=f((ig,e0)=>{function bl(e,t){return e?.[t]}e0.exports=bl});var V=f((og,r0)=>{var yl=Va(),Ml=t0();function wl(e,t){var r=Ml(e,t);return yl(r)?r:void 0}r0.exports=wl});var ut=f((ug,n0)=>{var vl=V(),xl=F(),Cl=vl(xl,"Map");n0.exports=Cl});var Oe=f((lg,a0)=>{var _l=V(),ql=_l(Object,"create");a0.exports=ql});var o0=f((cg,i0)=>{var s0=Oe();function Sl(){this.__data__=s0?s0(null):{},this.size=0}i0.exports=Sl});var l0=f((fg,u0)=>{function Al(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}u0.exports=Al});var f0=f((hg,c0)=>{var Ll=Oe(),Tl="__lodash_hash_undefined__",Pl=Object.prototype,Il=Pl.hasOwnProperty;function Rl(e){var t=this.__data__;if(Ll){var r=t[e];return r===Tl?void 0:r}return Il.call(t,e)?t[e]:void 0}c0.exports=Rl});var p0=f((pg,h0)=>{var Ol=Oe(),El=Object.prototype,Nl=El.hasOwnProperty;function Bl(e){var t=this.__data__;return Ol?t[e]!==void 0:Nl.call(t,e)}h0.exports=Bl});var g0=f((dg,d0)=>{var zl=Oe(),$l="__lodash_hash_undefined__";function Hl(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=zl&&t===void 0?$l:t,this}d0.exports=Hl});var b0=f((gg,m0)=>{var Dl=o0(),jl=l0(),Fl=f0(),Gl=p0(),Yl=g0();function fe(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}fe.prototype.clear=Dl;fe.prototype.delete=jl;fe.prototype.get=Fl;fe.prototype.has=Gl;fe.prototype.set=Yl;m0.exports=fe});var w0=f((mg,M0)=>{var y0=b0(),kl=Pe(),Xl=ut();function Zl(){this.size=0,this.__data__={hash:new y0,map:new(Xl||kl),string:new y0}}M0.exports=Zl});var x0=f((bg,v0)=>{function Jl(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}v0.exports=Jl});var Ee=f((yg,C0)=>{var Ul=x0();function Kl(e,t){var r=e.__data__;return Ul(t)?r[typeof t=="string"?"string":"hash"]:r.map}C0.exports=Kl});var q0=f((Mg,_0)=>{var Wl=Ee();function Ql(e){var t=Wl(this,e).delete(e);return this.size-=t?1:0,t}_0.exports=Ql});var A0=f((wg,S0)=>{var Vl=Ee();function e5(e){return Vl(this,e).get(e)}S0.exports=e5});var T0=f((vg,L0)=>{var t5=Ee();function r5(e){return t5(this,e).has(e)}L0.exports=r5});var I0=f((xg,P0)=>{var n5=Ee();function a5(e,t){var r=n5(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}P0.exports=a5});var lt=f((Cg,R0)=>{var s5=w0(),i5=q0(),o5=A0(),u5=T0(),l5=I0();function he(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}he.prototype.clear=s5;he.prototype.delete=i5;he.prototype.get=o5;he.prototype.has=u5;he.prototype.set=l5;R0.exports=he});var E0=f((_g,O0)=>{var c5=Pe(),f5=ut(),h5=lt(),p5=200;function d5(e,t){var r=this.__data__;if(r instanceof c5){var n=r.__data__;if(!f5||n.length<p5-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new h5(n)}return r.set(e,t),this.size=r.size,this}O0.exports=d5});var Wt=f((qg,N0)=>{var g5=Pe(),m5=qa(),b5=Aa(),y5=Ta(),M5=Ia(),w5=E0();function pe(e){var t=this.__data__=new g5(e);this.size=t.size}pe.prototype.clear=m5;pe.prototype.delete=b5;pe.prototype.get=y5;pe.prototype.has=M5;pe.prototype.set=w5;N0.exports=pe});var z0=f((Sg,B0)=>{var v5="__lodash_hash_undefined__";function x5(e){return this.__data__.set(e,v5),this}B0.exports=x5});var H0=f((Ag,$0)=>{function C5(e){return this.__data__.has(e)}$0.exports=C5});var Qt=f((Lg,D0)=>{var _5=lt(),q5=z0(),S5=H0();function ct(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new _5;++t<r;)this.add(e[t])}ct.prototype.add=ct.prototype.push=q5;ct.prototype.has=S5;D0.exports=ct});var F0=f((Tg,j0)=>{function A5(e,t){for(var r=-1,n=e==null?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}j0.exports=A5});var Vt=f((Pg,G0)=>{function L5(e,t){return e.has(t)}G0.exports=L5});var er=f((Ig,Y0)=>{var T5=Qt(),P5=F0(),I5=Vt(),R5=1,O5=2;function E5(e,t,r,n,a,s){var i=r&R5,o=e.length,u=t.length;if(o!=u&&!(i&&u>o))return!1;var c=s.get(e),h=s.get(t);if(c&&h)return c==t&&h==e;var l=-1,p=!0,m=r&O5?new T5:void 0;for(s.set(e,t),s.set(t,e);++l<o;){var d=e[l],b=t[l];if(n)var M=i?n(b,d,l,t,e,s):n(d,b,l,e,t,s);if(M!==void 0){if(M)continue;p=!1;break}if(m){if(!P5(t,function(v,w){if(!I5(m,w)&&(d===v||a(d,v,r,n,s)))return m.push(w)})){p=!1;break}}else if(!(d===b||a(d,b,r,n,s))){p=!1;break}}return s.delete(e),s.delete(t),p}Y0.exports=E5});var X0=f((Rg,k0)=>{var N5=F(),B5=N5.Uint8Array;k0.exports=B5});var J0=f((Og,Z0)=>{function z5(e){var t=-1,r=Array(e.size);return e.forEach(function(n,a){r[++t]=[a,n]}),r}Z0.exports=z5});var ft=f((Eg,U0)=>{function $5(e){var t=-1,r=Array(e.size);return e.forEach(function(n){r[++t]=n}),r}U0.exports=$5});var es=f((Ng,V0)=>{var K0=Ie(),W0=X0(),H5=Xt(),D5=er(),j5=J0(),F5=ft(),G5=1,Y5=2,k5="[object Boolean]",X5="[object Date]",Z5="[object Error]",J5="[object Map]",U5="[object Number]",K5="[object RegExp]",W5="[object Set]",Q5="[object String]",V5="[object Symbol]",ec="[object ArrayBuffer]",tc="[object DataView]",Q0=K0?K0.prototype:void 0,tr=Q0?Q0.valueOf:void 0;function rc(e,t,r,n,a,s,i){switch(r){case tc:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case ec:return!(e.byteLength!=t.byteLength||!s(new W0(e),new W0(t)));case k5:case X5:case U5:return H5(+e,+t);case Z5:return e.name==t.name&&e.message==t.message;case K5:case Q5:return e==t+"";case J5:var o=j5;case W5:var u=n&G5;if(o||(o=F5),e.size!=t.size&&!u)return!1;var c=i.get(e);if(c)return c==t;n|=Y5,i.set(e,t);var h=D5(o(e),o(t),n,a,s,i);return i.delete(e),h;case V5:if(tr)return tr.call(e)==tr.call(t)}return!1}V0.exports=rc});var rs=f((Bg,ts)=>{function nc(e,t){for(var r=-1,n=t.length,a=e.length;++r<n;)e[a+r]=t[r];return e}ts.exports=nc});var k=f((zg,ns)=>{var ac=Array.isArray;ns.exports=ac});var ss=f(($g,as)=>{var sc=rs(),ic=k();function oc(e,t,r){var n=t(e);return ic(e)?n:sc(n,r(e))}as.exports=oc});var os=f((Hg,is)=>{function uc(e,t){for(var r=-1,n=e==null?0:e.length,a=0,s=[];++r<n;){var i=e[r];t(i,r,e)&&(s[a++]=i)}return s}is.exports=uc});var ls=f((Dg,us)=>{function lc(){return[]}us.exports=lc});var hs=f((jg,fs)=>{var cc=os(),fc=ls(),hc=Object.prototype,pc=hc.propertyIsEnumerable,cs=Object.getOwnPropertySymbols,dc=cs?function(e){return e==null?[]:(e=Object(e),cc(cs(e),function(t){return pc.call(e,t)}))}:fc;fs.exports=dc});var ds=f((Fg,ps)=>{function gc(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}ps.exports=gc});var de=f((Gg,gs)=>{function mc(e){return e!=null&&typeof e=="object"}gs.exports=mc});var bs=f((Yg,ms)=>{var bc=ce(),yc=de(),Mc="[object Arguments]";function wc(e){return yc(e)&&bc(e)==Mc}ms.exports=wc});var rr=f((kg,ws)=>{var ys=bs(),vc=de(),Ms=Object.prototype,xc=Ms.hasOwnProperty,Cc=Ms.propertyIsEnumerable,_c=ys(function(){return arguments}())?ys:function(e){return vc(e)&&xc.call(e,"callee")&&!Cc.call(e,"callee")};ws.exports=_c});var xs=f((Xg,vs)=>{function qc(){return!1}vs.exports=qc});var nr=f((Ne,ge)=>{var Sc=F(),Ac=xs(),qs=typeof Ne=="object"&&Ne&&!Ne.nodeType&&Ne,Cs=qs&&typeof ge=="object"&&ge&&!ge.nodeType&&ge,Lc=Cs&&Cs.exports===qs,_s=Lc?Sc.Buffer:void 0,Tc=_s?_s.isBuffer:void 0,Pc=Tc||Ac;ge.exports=Pc});var ar=f((Zg,Ss)=>{var Ic=9007199254740991,Rc=/^(?:0|[1-9]\d*)$/;function Oc(e,t){var r=typeof e;return t=t??Ic,!!t&&(r=="number"||r!="symbol"&&Rc.test(e))&&e>-1&&e%1==0&&e<t}Ss.exports=Oc});var ht=f((Jg,As)=>{var Ec=9007199254740991;function Nc(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Ec}As.exports=Nc});var Ts=f((Ug,Ls)=>{var Bc=ce(),zc=ht(),$c=de(),Hc="[object Arguments]",Dc="[object Array]",jc="[object Boolean]",Fc="[object Date]",Gc="[object Error]",Yc="[object Function]",kc="[object Map]",Xc="[object Number]",Zc="[object Object]",Jc="[object RegExp]",Uc="[object Set]",Kc="[object String]",Wc="[object WeakMap]",Qc="[object ArrayBuffer]",Vc="[object DataView]",ef="[object Float32Array]",tf="[object Float64Array]",rf="[object Int8Array]",nf="[object Int16Array]",af="[object Int32Array]",sf="[object Uint8Array]",of="[object Uint8ClampedArray]",uf="[object Uint16Array]",lf="[object Uint32Array]",C={};C[ef]=C[tf]=C[rf]=C[nf]=C[af]=C[sf]=C[of]=C[uf]=C[lf]=!0;C[Hc]=C[Dc]=C[Qc]=C[jc]=C[Vc]=C[Fc]=C[Gc]=C[Yc]=C[kc]=C[Xc]=C[Zc]=C[Jc]=C[Uc]=C[Kc]=C[Wc]=!1;function cf(e){return $c(e)&&zc(e.length)&&!!C[Bc(e)]}Ls.exports=cf});var Is=f((Kg,Ps)=>{function ff(e){return function(t){return e(t)}}Ps.exports=ff});var Os=f((Be,me)=>{var hf=Zt(),Rs=typeof Be=="object"&&Be&&!Be.nodeType&&Be,ze=Rs&&typeof me=="object"&&me&&!me.nodeType&&me,pf=ze&&ze.exports===Rs,sr=pf&&hf.process,df=function(){try{var e=ze&&ze.require&&ze.require("util").types;return e||sr&&sr.binding&&sr.binding("util")}catch{}}();me.exports=df});var ir=f((Wg,Bs)=>{var gf=Ts(),mf=Is(),Es=Os(),Ns=Es&&Es.isTypedArray,bf=Ns?mf(Ns):gf;Bs.exports=bf});var $s=f((Qg,zs)=>{var yf=ds(),Mf=rr(),wf=k(),vf=nr(),xf=ar(),Cf=ir(),_f=Object.prototype,qf=_f.hasOwnProperty;function Sf(e,t){var r=wf(e),n=!r&&Mf(e),a=!r&&!n&&vf(e),s=!r&&!n&&!a&&Cf(e),i=r||n||a||s,o=i?yf(e.length,String):[],u=o.length;for(var c in e)(t||qf.call(e,c))&&!(i&&(c=="length"||a&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||xf(c,u)))&&o.push(c);return o}zs.exports=Sf});var Ds=f((Vg,Hs)=>{var Af=Object.prototype;function Lf(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||Af;return e===r}Hs.exports=Lf});var Fs=f((em,js)=>{function Tf(e,t){return function(r){return e(t(r))}}js.exports=Tf});var Ys=f((tm,Gs)=>{var Pf=Fs(),If=Pf(Object.keys,Object);Gs.exports=If});var Xs=f((rm,ks)=>{var Rf=Ds(),Of=Ys(),Ef=Object.prototype,Nf=Ef.hasOwnProperty;function Bf(e){if(!Rf(e))return Of(e);var t=[];for(var r in Object(e))Nf.call(e,r)&&r!="constructor"&&t.push(r);return t}ks.exports=Bf});var Js=f((nm,Zs)=>{var zf=Jt(),$f=ht();function Hf(e){return e!=null&&$f(e.length)&&!zf(e)}Zs.exports=Hf});var or=f((am,Us)=>{var Df=$s(),jf=Xs(),Ff=Js();function Gf(e){return Ff(e)?Df(e):jf(e)}Us.exports=Gf});var Ws=f((sm,Ks)=>{var Yf=ss(),kf=hs(),Xf=or();function Zf(e){return Yf(e,Xf,kf)}Ks.exports=Zf});var ei=f((im,Vs)=>{var Qs=Ws(),Jf=1,Uf=Object.prototype,Kf=Uf.hasOwnProperty;function Wf(e,t,r,n,a,s){var i=r&Jf,o=Qs(e),u=o.length,c=Qs(t),h=c.length;if(u!=h&&!i)return!1;for(var l=u;l--;){var p=o[l];if(!(i?p in t:Kf.call(t,p)))return!1}var m=s.get(e),d=s.get(t);if(m&&d)return m==t&&d==e;var b=!0;s.set(e,t),s.set(t,e);for(var M=i;++l<u;){p=o[l];var v=e[p],w=t[p];if(n)var x=i?n(w,v,p,t,e,s):n(v,w,p,e,t,s);if(!(x===void 0?v===w||a(v,w,r,n,s):x)){b=!1;break}M||(M=p=="constructor")}if(b&&!M){var L=e.constructor,E=t.constructor;L!=E&&"constructor"in e&&"constructor"in t&&!(typeof L=="function"&&L instanceof L&&typeof E=="function"&&E instanceof E)&&(b=!1)}return s.delete(e),s.delete(t),b}Vs.exports=Wf});var ri=f((om,ti)=>{var Qf=V(),Vf=F(),eh=Qf(Vf,"DataView");ti.exports=eh});var ai=f((um,ni)=>{var th=V(),rh=F(),nh=th(rh,"Promise");ni.exports=nh});var ur=f((lm,si)=>{var ah=V(),sh=F(),ih=ah(sh,"Set");si.exports=ih});var oi=f((cm,ii)=>{var oh=V(),uh=F(),lh=oh(uh,"WeakMap");ii.exports=lh});var gi=f((fm,di)=>{var lr=ri(),cr=ut(),fr=ai(),hr=ur(),pr=oi(),pi=ce(),be=Kt(),ui="[object Map]",ch="[object Object]",li="[object Promise]",ci="[object Set]",fi="[object WeakMap]",hi="[object DataView]",fh=be(lr),hh=be(cr),ph=be(fr),dh=be(hr),gh=be(pr),ee=pi;(lr&&ee(new lr(new ArrayBuffer(1)))!=hi||cr&&ee(new cr)!=ui||fr&&ee(fr.resolve())!=li||hr&&ee(new hr)!=ci||pr&&ee(new pr)!=fi)&&(ee=function(e){var t=pi(e),r=t==ch?e.constructor:void 0,n=r?be(r):"";if(n)switch(n){case fh:return hi;case hh:return ui;case ph:return li;case dh:return ci;case gh:return fi}return t});di.exports=ee});var Ci=f((hm,xi)=>{var dr=Wt(),mh=er(),bh=es(),yh=ei(),mi=gi(),bi=k(),yi=nr(),Mh=ir(),wh=1,Mi="[object Arguments]",wi="[object Array]",pt="[object Object]",vh=Object.prototype,vi=vh.hasOwnProperty;function xh(e,t,r,n,a,s){var i=bi(e),o=bi(t),u=i?wi:mi(e),c=o?wi:mi(t);u=u==Mi?pt:u,c=c==Mi?pt:c;var h=u==pt,l=c==pt,p=u==c;if(p&&yi(e)){if(!yi(t))return!1;i=!0,h=!1}if(p&&!h)return s||(s=new dr),i||Mh(e)?mh(e,t,r,n,a,s):bh(e,t,u,r,n,a,s);if(!(r&wh)){var m=h&&vi.call(e,"__wrapped__"),d=l&&vi.call(t,"__wrapped__");if(m||d){var b=m?e.value():e,M=d?t.value():t;return s||(s=new dr),a(b,M,r,n,s)}}return p?(s||(s=new dr),yh(e,t,r,n,a,s)):!1}xi.exports=xh});var gr=f((pm,Si)=>{var Ch=Ci(),_i=de();function qi(e,t,r,n,a){return e===t?!0:e==null||t==null||!_i(e)&&!_i(t)?e!==e&&t!==t:Ch(e,t,r,n,qi,a)}Si.exports=qi});var Li=f((dm,Ai)=>{var _h=Wt(),qh=gr(),Sh=1,Ah=2;function Lh(e,t,r,n){var a=r.length,s=a,i=!n;if(e==null)return!s;for(e=Object(e);a--;){var o=r[a];if(i&&o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++a<s;){o=r[a];var u=o[0],c=e[u],h=o[1];if(i&&o[2]){if(c===void 0&&!(u in e))return!1}else{var l=new _h;if(n)var p=n(c,h,u,e,t,l);if(!(p===void 0?qh(h,c,Sh|Ah,n,l):p))return!1}}return!0}Ai.exports=Lh});var mr=f((gm,Ti)=>{var Th=ot();function Ph(e){return e===e&&!Th(e)}Ti.exports=Ph});var Ii=f((mm,Pi)=>{var Ih=mr(),Rh=or();function Oh(e){for(var t=Rh(e),r=t.length;r--;){var n=t[r],a=e[n];t[r]=[n,a,Ih(a)]}return t}Pi.exports=Oh});var br=f((bm,Ri)=>{function Eh(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}Ri.exports=Eh});var Ei=f((ym,Oi)=>{var Nh=Li(),Bh=Ii(),zh=br();function $h(e){var t=Bh(e);return t.length==1&&t[0][2]?zh(t[0][0],t[0][1]):function(r){return r===e||Nh(r,e,t)}}Oi.exports=$h});var dt=f((Mm,Ni)=>{var Hh=ce(),Dh=de(),jh="[object Symbol]";function Fh(e){return typeof e=="symbol"||Dh(e)&&Hh(e)==jh}Ni.exports=Fh});var gt=f((wm,Bi)=>{var Gh=k(),Yh=dt(),kh=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Xh=/^\w*$/;function Zh(e,t){if(Gh(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||Yh(e)?!0:Xh.test(e)||!kh.test(e)||t!=null&&e in Object(t)}Bi.exports=Zh});var Hi=f((vm,$i)=>{var zi=lt(),Jh="Expected a function";function yr(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(Jh);var r=function(){var n=arguments,a=t?t.apply(this,n):n[0],s=r.cache;if(s.has(a))return s.get(a);var i=e.apply(this,n);return r.cache=s.set(a,i)||s,i};return r.cache=new(yr.Cache||zi),r}yr.Cache=zi;$i.exports=yr});var ji=f((xm,Di)=>{var Uh=Hi(),Kh=500;function Wh(e){var t=Uh(e,function(n){return r.size===Kh&&r.clear(),n}),r=t.cache;return t}Di.exports=Wh});var Gi=f((Cm,Fi)=>{var Qh=ji(),Vh=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ep=/\\(\\)?/g,tp=Qh(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(Vh,function(r,n,a,s){t.push(a?s.replace(ep,"$1"):n||r)}),t});Fi.exports=tp});var ki=f((_m,Yi)=>{function rp(e,t){for(var r=-1,n=e==null?0:e.length,a=Array(n);++r<n;)a[r]=t(e[r],r,e);return a}Yi.exports=rp});var Wi=f((qm,Ki)=>{var Xi=Ie(),np=ki(),ap=k(),sp=dt(),ip=1/0,Zi=Xi?Xi.prototype:void 0,Ji=Zi?Zi.toString:void 0;function Ui(e){if(typeof e=="string")return e;if(ap(e))return np(e,Ui)+"";if(sp(e))return Ji?Ji.call(e):"";var t=e+"";return t=="0"&&1/e==-ip?"-0":t}Ki.exports=Ui});var Vi=f((Sm,Qi)=>{var op=Wi();function up(e){return e==null?"":op(e)}Qi.exports=up});var Mr=f((Am,eo)=>{var lp=k(),cp=gt(),fp=Gi(),hp=Vi();function pp(e,t){return lp(e)?e:cp(e,t)?[e]:fp(hp(e))}eo.exports=pp});var $e=f((Lm,to)=>{var dp=dt(),gp=1/0;function mp(e){if(typeof e=="string"||dp(e))return e;var t=e+"";return t=="0"&&1/e==-gp?"-0":t}to.exports=mp});var wr=f((Tm,ro)=>{var bp=Mr(),yp=$e();function Mp(e,t){t=bp(t,e);for(var r=0,n=t.length;e!=null&&r<n;)e=e[yp(t[r++])];return r&&r==n?e:void 0}ro.exports=Mp});var ao=f((Pm,no)=>{var wp=wr();function vp(e,t,r){var n=e==null?void 0:wp(e,t);return n===void 0?r:n}no.exports=vp});var io=f((Im,so)=>{function xp(e,t){return e!=null&&t in Object(e)}so.exports=xp});var uo=f((Rm,oo)=>{var Cp=Mr(),_p=rr(),qp=k(),Sp=ar(),Ap=ht(),Lp=$e();function Tp(e,t,r){t=Cp(t,e);for(var n=-1,a=t.length,s=!1;++n<a;){var i=Lp(t[n]);if(!(s=e!=null&&r(e,i)))break;e=e[i]}return s||++n!=a?s:(a=e==null?0:e.length,!!a&&Ap(a)&&Sp(i,a)&&(qp(e)||_p(e)))}oo.exports=Tp});var co=f((Om,lo)=>{var Pp=io(),Ip=uo();function Rp(e,t){return e!=null&&Ip(e,t,Pp)}lo.exports=Rp});var ho=f((Em,fo)=>{var Op=gr(),Ep=ao(),Np=co(),Bp=gt(),zp=mr(),$p=br(),Hp=$e(),Dp=1,jp=2;function Fp(e,t){return Bp(e)&&zp(t)?$p(Hp(e),t):function(r){var n=Ep(r,e);return n===void 0&&n===t?Np(r,e):Op(t,n,Dp|jp)}}fo.exports=Fp});var go=f((Nm,po)=>{function Gp(e){return e}po.exports=Gp});var bo=f((Bm,mo)=>{function Yp(e){return function(t){return t?.[e]}}mo.exports=Yp});var Mo=f((zm,yo)=>{var kp=wr();function Xp(e){return function(t){return kp(t,e)}}yo.exports=Xp});var vo=f(($m,wo)=>{var Zp=bo(),Jp=Mo(),Up=gt(),Kp=$e();function Wp(e){return Up(e)?Zp(Kp(e)):Jp(e)}wo.exports=Wp});var Co=f((Hm,xo)=>{var Qp=Ei(),Vp=ho(),ed=go(),td=k(),rd=vo();function nd(e){return typeof e=="function"?e:e==null?ed:typeof e=="object"?td(e)?Vp(e[0],e[1]):Qp(e):rd(e)}xo.exports=nd});var qo=f((Dm,_o)=>{function ad(e,t,r,n){for(var a=e.length,s=r+(n?1:-1);n?s--:++s<a;)if(t(e[s],s,e))return s;return-1}_o.exports=ad});var Ao=f((jm,So)=>{function sd(e){return e!==e}So.exports=sd});var To=f((Fm,Lo)=>{function id(e,t,r){for(var n=r-1,a=e.length;++n<a;)if(e[n]===t)return n;return-1}Lo.exports=id});var Io=f((Gm,Po)=>{var od=qo(),ud=Ao(),ld=To();function cd(e,t,r){return t===t?ld(e,t,r):od(e,ud,r)}Po.exports=cd});var Oo=f((Ym,Ro)=>{var fd=Io();function hd(e,t){var r=e==null?0:e.length;return!!r&&fd(e,t,0)>-1}Ro.exports=hd});var No=f((km,Eo)=>{function pd(e,t,r){for(var n=-1,a=e==null?0:e.length;++n<a;)if(r(t,e[n]))return!0;return!1}Eo.exports=pd});var zo=f((Xm,Bo)=>{function dd(){}Bo.exports=dd});var Ho=f((Zm,$o)=>{var vr=ur(),gd=zo(),md=ft(),bd=1/0,yd=vr&&1/md(new vr([,-0]))[1]==bd?function(e){return new vr(e)}:gd;$o.exports=yd});var jo=f((Jm,Do)=>{var Md=Qt(),wd=Oo(),vd=No(),xd=Vt(),Cd=Ho(),_d=ft(),qd=200;function Sd(e,t,r){var n=-1,a=wd,s=e.length,i=!0,o=[],u=o;if(r)i=!1,a=vd;else if(s>=qd){var c=t?null:Cd(e);if(c)return _d(c);i=!1,a=xd,u=new Md}else u=t?[]:o;e:for(;++n<s;){var h=e[n],l=t?t(h):h;if(h=r||h!==0?h:0,i&&l===l){for(var p=u.length;p--;)if(u[p]===l)continue e;t&&u.push(l),o.push(h)}else a(u,l,r)||(u!==o&&u.push(l),o.push(h))}return o}Do.exports=Sd});var Go=f((Um,Fo)=>{var Ad=Co(),Ld=jo();function Td(e,t){return e&&e.length?Ld(e,Ad(t,2)):[]}Fo.exports=Td});var Od={};nu(Od,{default:()=>Xo});module.exports=su(Od);var $=require("@raycast/api");var P=require("@raycast/api");var xr=require("@raycast/api");function q(e,t){let r=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(i=>[i]));let n=t[0].length,a=t[0].map((i,o)=>t.map(u=>u[o])),s=e.map(i=>a.map(o=>{let u=0;if(!Array.isArray(i)){for(let c of o)u+=i*c;return u}for(let c=0;c<i.length;c++)u+=i[c]*(o[c]||0);return u}));return r===1&&(s=s[0]),n===1?s.map(i=>i[0]):s}function Se(e){return X(e)==="string"}function X(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||"").toLowerCase()}function Ve(e,{precision:t,unit:r}){return Z(e)?"none":Ln(e,t)+(r??"")}function Z(e){return Number.isNaN(e)||e instanceof Number&&e?.none}function S(e){return Z(e)?0:e}function Ln(e,t){if(e===0)return 0;let r=~~e,n=0;r&&t&&(n=~~Math.log10(Math.abs(r))+1);let a=10**(t-n);return Math.floor(e*a+.5)/a}var iu={deg:1,grad:.9,rad:180/Math.PI,turn:360};function Tn(e){if(!e)return;e=e.trim();let t=/^([a-z]+)\((.+?)\)$/i,r=/^-?[\d.]+$/,n=/%|deg|g?rad|turn$/,a=/\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g,s=e.match(t);if(s){let i=[];return s[2].replace(a,(o,u)=>{let c=u.match(n),h=u;if(c){let l=c[0],p=h.slice(0,-l.length);l==="%"?(h=new Number(p/100),h.type="<percentage>"):(h=new Number(p*iu[l]),h.type="<angle>",h.unit=l)}else r.test(h)?(h=new Number(h),h.type="<number>"):h==="none"&&(h=new Number(NaN),h.none=!0);o.startsWith("/")&&(h=h instanceof Number?h:new Number(h),h.alpha=!0),typeof h=="object"&&h instanceof Number&&(h.raw=u),i.push(h)}),{name:s[1].toLowerCase(),rawName:s[1],rawArgs:s[2],args:i}}}function Pn(e){return e[e.length-1]}function Ce(e,t,r){return isNaN(e)?t:isNaN(t)?e:e+(t-e)*r}function In(e,t,r){return(r-e)/(t-e)}function $t(e,t,r){return Ce(t[0],t[1],In(e[0],e[1],r))}function Rn(e){return e.map(t=>t.split("|").map(r=>{r=r.trim();let n=r.match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);if(n){let a=new String(n[1]);return a.range=[+n[2],+n[3]],a}return r}))}function On(e,t,r){return Math.max(Math.min(r,t),e)}function nt(e,t){return Math.sign(e)===Math.sign(t)?e:-e}function D(e,t){return nt(Math.abs(e)**t,e)}function Ht(e,t){return t===0?0:e/t}function En(e,t,r=0,n=e.length){for(;r<n;){let a=r+n>>1;e[a]<t?r=a+1:n=a}return r}var ou=Object.freeze({__proto__:null,bisectLeft:En,clamp:On,copySign:nt,interpolate:Ce,interpolateInv:In,isNone:Z,isString:Se,last:Pn,mapRange:$t,multiplyMatrices:q,parseCoordGrammar:Rn,parseFunction:Tn,serializeNumber:Ve,skipNone:S,spow:D,toPrecision:Ln,type:X,zdiv:Ht}),Tt=class{add(t,r,n){if(typeof arguments[0]!="string"){for(var t in arguments[0])this.add(t,arguments[0][t],arguments[1]);return}(Array.isArray(t)?t:[t]).forEach(function(a){this[a]=this[a]||[],r&&this[a][n?"unshift":"push"](r)},this)}run(t,r){this[t]=this[t]||[],this[t].forEach(function(n){n.call(r&&r.context?r.context:r,r)})}},J=new Tt,z={gamut_mapping:"css",precision:5,deltaE:"76",verbose:globalThis?.process?.env?.NODE_ENV?.toLowerCase()!=="test",warn:function(t){this.verbose&&globalThis?.console?.warn?.(t)}},O={D50:[.3457/.3585,1,(1-.3457-.3585)/.3585],D65:[.3127/.329,1,(1-.3127-.329)/.329]};function Pt(e){return Array.isArray(e)?e:O[e]}function et(e,t,r,n={}){if(e=Pt(e),t=Pt(t),!e||!t)throw new TypeError(`Missing white point to convert ${e?"":"from"}${!e&&!t?"/":""}${t?"":"to"}`);if(e===t)return r;let a={W1:e,W2:t,XYZ:r,options:n};if(J.run("chromatic-adaptation-start",a),a.M||(a.W1===O.D65&&a.W2===O.D50?a.M=[[1.0479297925449969,.022946870601609652,-.05019226628920524],[.02962780877005599,.9904344267538799,-.017073799063418826],[-.009243040646204504,.015055191490298152,.7518742814281371]]:a.W1===O.D50&&a.W2===O.D65&&(a.M=[[.955473421488075,-.02309845494876471,.06325924320057072],[-.0283697093338637,1.0099953980813041,.021041441191917323],[.012314014864481998,-.020507649298898964,1.330365926242124]])),J.run("chromatic-adaptation-end",a),a.M)return q(a.M,a.XYZ);throw new TypeError("Only Bradford CAT with white points D50 and D65 supported for now.")}var uu=new Set(["<number>","<percentage>","<angle>"]);function Pr(e,t,r,n){return Object.entries(e.coords).map(([s,i],o)=>{let u=t.coordGrammar[o],c=n[o],h=c?.type,l;if(c.none?l=u.find(d=>uu.has(d)):l=u.find(d=>d==h),!l){let d=i.name||s;throw new TypeError(`${h??c.raw} not allowed for ${d} in ${r}()`)}let p=l.range;h==="<percentage>"&&(p||=[0,1]);let m=i.range||i.refRange;return p&&m&&(n[o]=$t(p,m,n[o])),l})}function Nn(e,{meta:t}={}){let r={str:String(e)?.trim()};if(J.run("parse-start",r),r.color)return r.color;if(r.parsed=Tn(r.str),r.parsed){let n=r.parsed.name;if(n==="color"){let a=r.parsed.args.shift(),s=a.startsWith("--")?a.substring(2):`--${a}`,i=[a,s],o=r.parsed.rawArgs.indexOf("/")>0?r.parsed.args.pop():1;for(let h of g.all){let l=h.getFormat("color");if(l&&(i.includes(l.id)||l.ids?.filter(p=>i.includes(p)).length)){let p=Object.keys(h.coords).map((d,b)=>r.parsed.args[b]||0),m;return l.coordGrammar&&(m=Pr(h,l,"color",p)),t&&Object.assign(t,{formatId:"color",types:m}),l.id.startsWith("--")&&!a.startsWith("--")&&z.warn(`${h.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${l.id}) instead of color(${a}).`),a.startsWith("--")&&!l.id.startsWith("--")&&z.warn(`${h.name} is a standard space and supported in the CSS spec. Use color(${l.id}) instead of prefixed color(${a}).`),{spaceId:h.id,coords:p,alpha:o}}}let u="",c=a in g.registry?a:s;if(c in g.registry){let h=g.registry[c].formats?.color?.id;h&&(u=`Did you mean color(${h})?`)}throw new TypeError(`Cannot parse color(${a}). `+(u||"Missing a plugin?"))}else for(let a of g.all){let s=a.getFormat(n);if(s&&s.type==="function"){let i=1;(s.lastAlpha||Pn(r.parsed.args).alpha)&&(i=r.parsed.args.pop());let o=r.parsed.args,u;return s.coordGrammar&&(u=Pr(a,s,n,o)),t&&Object.assign(t,{formatId:s.name,types:u}),{spaceId:a.id,coords:o,alpha:i}}}}else for(let n of g.all)for(let a in n.formats){let s=n.formats[a];if(s.type!=="custom"||s.test&&!s.test(r.str))continue;let i=s.parse(r.str);if(i)return i.alpha??=1,t&&(t.formatId=a),i}throw new TypeError(`Could not parse ${e} as a color. Missing a plugin?`)}function y(e){if(Array.isArray(e))return e.map(y);if(!e)throw new TypeError("Empty color reference");Se(e)&&(e=Nn(e));let t=e.space||e.spaceId;return t instanceof g||(e.space=g.get(t)),e.alpha===void 0&&(e.alpha=1),e}var lu=75e-6,g=class e{constructor(t){this.id=t.id,this.name=t.name,this.base=t.base?e.get(t.base):null,this.aliases=t.aliases,this.base&&(this.fromBase=t.fromBase,this.toBase=t.toBase);let r=t.coords??this.base.coords;for(let a in r)"name"in r[a]||(r[a].name=a);this.coords=r;let n=t.white??this.base.white??"D65";this.white=Pt(n),this.formats=t.formats??{};for(let a in this.formats){let s=this.formats[a];s.type||="function",s.name||=a}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:t.cssId||this.id}),t.gamutSpace?this.gamutSpace=t.gamutSpace==="self"?this:e.get(t.gamutSpace):this.isPolar?this.gamutSpace=this.base:this.gamutSpace=this,this.gamutSpace.isUnbounded&&(this.inGamut=(a,s)=>!0),this.referred=t.referred,Object.defineProperty(this,"path",{value:cu(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),J.run("colorspace-init-end",this)}inGamut(t,{epsilon:r=lu}={}){if(!this.equals(this.gamutSpace))return t=this.to(this.gamutSpace,t),this.gamutSpace.inGamut(t,{epsilon:r});let n=Object.values(this.coords);return t.every((a,s)=>{let i=n[s];if(i.type!=="angle"&&i.range){if(Number.isNaN(a))return!0;let[o,u]=i.range;return(o===void 0||a>=o-r)&&(u===void 0||a<=u+r)}return!0})}get isUnbounded(){return Object.values(this.coords).every(t=>!("range"in t))}get cssId(){return this.formats?.color?.id||this.id}get isPolar(){for(let t in this.coords)if(this.coords[t].type==="angle")return!0;return!1}getFormat(t){if(typeof t=="object")return t=Ir(t,this),t;let r;return t==="default"?r=Object.values(this.formats)[0]:r=this.formats[t],r?(r=Ir(r,this),r):null}equals(t){return t?this===t||this.id===t||this.id===t.id:!1}to(t,r){if(arguments.length===1){let o=y(t);[t,r]=[o.space,o.coords]}if(t=e.get(t),this.equals(t))return r;r=r.map(o=>Number.isNaN(o)?0:o);let n=this.path,a=t.path,s,i;for(let o=0;o<n.length&&n[o].equals(a[o]);o++)s=n[o],i=o;if(!s)throw new Error(`Cannot convert between color spaces ${this} and ${t}: no connection space was found`);for(let o=n.length-1;o>i;o--)r=n[o].toBase(r);for(let o=i+1;o<a.length;o++)r=a[o].fromBase(r);return r}from(t,r){if(arguments.length===1){let n=y(t);[t,r]=[n.space,n.coords]}return t=e.get(t),t.to(this,r)}toString(){return`${this.name} (${this.id})`}getMinCoords(){let t=[];for(let r in this.coords){let n=this.coords[r],a=n.range||n.refRange;t.push(a?.min??0)}return t}static registry={};static get all(){return[...new Set(Object.values(e.registry))]}static register(t,r){if(arguments.length===1&&(r=arguments[0],t=r.id),r=this.get(r),this.registry[t]&&this.registry[t]!==r)throw new Error(`Duplicate color space registration: '${t}'`);if(this.registry[t]=r,arguments.length===1&&r.aliases)for(let n of r.aliases)this.register(n,r);return r}static get(t,...r){if(!t||t instanceof e)return t;if(X(t)==="string"){let a=e.registry[t.toLowerCase()];if(!a)throw new TypeError(`No color space found with id = "${t}"`);return a}if(r.length)return e.get(...r);throw new TypeError(`${t} is not a valid color space`)}static resolveCoord(t,r){let n=X(t),a,s;if(n==="string"?t.includes(".")?[a,s]=t.split("."):[a,s]=[,t]:Array.isArray(t)?[a,s]=t:(a=t.space,s=t.coordId),a=e.get(a),a||(a=r),!a)throw new TypeError(`Cannot resolve coordinate reference ${t}: No color space specified and relative references are not allowed here`);if(n=X(s),n==="number"||n==="string"&&s>=0){let u=Object.entries(a.coords)[s];if(u)return{space:a,id:u[0],index:s,...u[1]}}a=e.get(a);let i=s.toLowerCase(),o=0;for(let u in a.coords){let c=a.coords[u];if(u.toLowerCase()===i||c.name?.toLowerCase()===i)return{space:a,id:u,index:o,...c};o++}throw new TypeError(`No "${s}" coordinate found in ${a.name}. Its coordinates are: ${Object.keys(a.coords).join(", ")}`)}static DEFAULT_FORMAT={type:"functions",name:"color"}};function cu(e){let t=[e];for(let r=e;r=r.base;)t.push(r);return t}function Ir(e,{coords:t}={}){if(e.coords&&!e.coordGrammar){e.type||="function",e.name||="color",e.coordGrammar=Rn(e.coords);let r=Object.entries(t).map(([n,a],s)=>{let i=e.coordGrammar[s][0],o=a.range||a.refRange,u=i.range,c="";return i=="<percentage>"?(u=[0,100],c="%"):i=="<angle>"&&(c="deg"),{fromRange:o,toRange:u,suffix:c}});e.serializeCoords=(n,a)=>n.map((s,i)=>{let{fromRange:o,toRange:u,suffix:c}=r[i];return o&&u&&(s=$t(o,u,s)),s=Ve(s,{precision:a,unit:c}),s})}return e}var I=new g({id:"xyz-d65",name:"XYZ D65",coords:{x:{name:"X"},y:{name:"Y"},z:{name:"Z"}},white:"D65",formats:{color:{ids:["xyz-d65","xyz"]}},aliases:["xyz"]}),R=class extends g{constructor(t){t.coords||(t.coords={r:{range:[0,1],name:"Red"},g:{range:[0,1],name:"Green"},b:{range:[0,1],name:"Blue"}}),t.base||(t.base=I),t.toXYZ_M&&t.fromXYZ_M&&(t.toBase??=r=>{let n=q(t.toXYZ_M,r);return this.white!==this.base.white&&(n=et(this.white,this.base.white,n)),n},t.fromBase??=r=>(r=et(this.base.white,this.white,r),q(t.fromXYZ_M,r))),t.referred??="display",super(t)}};function Ae(e,t){return e=y(e),!t||e.space.equals(t)?e.coords.slice():(t=g.get(t),t.from(e))}function N(e,t){e=y(e);let{space:r,index:n}=g.resolveCoord(t,e.space);return Ae(e,r)[n]}function Dt(e,t,r){return e=y(e),t=g.get(t),e.coords=t.to(e.space,r),e}Dt.returns="color";function Y(e,t,r){if(e=y(e),arguments.length===2&&X(arguments[1])==="object"){let n=arguments[1];for(let a in n)Y(e,a,n[a])}else{typeof r=="function"&&(r=r(N(e,t)));let{space:n,index:a}=g.resolveCoord(t,e.space),s=Ae(e,n);s[a]=r,Dt(e,n,s)}return e}Y.returns="color";var jt=new g({id:"xyz-d50",name:"XYZ D50",white:"D50",base:I,fromBase:e=>et(I.white,"D50",e),toBase:e=>et("D50",I.white,e)}),fu=216/24389,Rr=24/116,Ye=24389/27,Mt=O.D50,B=new g({id:"lab",name:"Lab",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:Mt,base:jt,fromBase(e){let r=e.map((n,a)=>n/Mt[a]).map(n=>n>fu?Math.cbrt(n):(Ye*n+16)/116);return[116*r[1]-16,500*(r[0]-r[1]),200*(r[1]-r[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>Rr?Math.pow(t[0],3):(116*t[0]-16)/Ye,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/Ye,t[2]>Rr?Math.pow(t[2],3):(116*t[2]-16)/Ye].map((n,a)=>n*Mt[a])},formats:{lab:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function j(e){return(e%360+360)%360}function hu(e,t){if(e==="raw")return t;let[r,n]=t.map(j),a=n-r;return e==="increasing"?a<0&&(n+=360):e==="decreasing"?a>0&&(r+=360):e==="longer"?-180<a&&a<180&&(a>0?r+=360:n+=360):e==="shorter"&&(a>180?r+=360:a<-180&&(n+=360)),[r,n]}var _e=new g({id:"lch",name:"LCH",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,150],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:B,fromBase(e){let[t,r,n]=e,a,s=.02;return Math.abs(r)<s&&Math.abs(n)<s?a=NaN:a=Math.atan2(n,r)*180/Math.PI,[t,Math.sqrt(r**2+n**2),j(a)]},toBase(e){let[t,r,n]=e;return r<0&&(r=0),isNaN(n)&&(n=0),[t,r*Math.cos(n*Math.PI/180),r*Math.sin(n*Math.PI/180)]},formats:{lch:{coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}}),Or=25**7,tt=Math.PI,Er=180/tt,te=tt/180;function Nr(e){let t=e*e;return t*t*t*e}function Bn(e,t,{kL:r=1,kC:n=1,kH:a=1}={}){[e,t]=y([e,t]);let[s,i,o]=B.from(e),u=_e.from(B,[s,i,o])[1],[c,h,l]=B.from(t),p=_e.from(B,[c,h,l])[1];u<0&&(u=0),p<0&&(p=0);let m=(u+p)/2,d=Nr(m),b=.5*(1-Math.sqrt(d/(d+Or))),M=(1+b)*i,v=(1+b)*h,w=Math.sqrt(M**2+o**2),x=Math.sqrt(v**2+l**2),L=M===0&&o===0?0:Math.atan2(o,M),E=v===0&&l===0?0:Math.atan2(l,v);L<0&&(L+=2*tt),E<0&&(E+=2*tt),L*=Er,E*=Er;let De=c-s,je=x-w,H=E-L,ye=L+E,Cr=Math.abs(H),Me;w*x===0?Me=0:Cr<=180?Me=H:H>180?Me=H-360:H<-180?Me=H+360:z.warn("the unthinkable has happened");let _r=2*Math.sqrt(x*w)*Math.sin(Me*te/2),Zo=(s+c)/2,yt=(w+x)/2,qr=Nr(yt),G;w*x===0?G=ye:Cr<=180?G=ye/2:ye<360?G=(ye+360)/2:G=(ye-360)/2;let Sr=(Zo-50)**2,Jo=1+.015*Sr/Math.sqrt(20+Sr),Ar=1+.045*yt,we=1;we-=.17*Math.cos((G-30)*te),we+=.24*Math.cos(2*G*te),we+=.32*Math.cos((3*G+6)*te),we-=.2*Math.cos((4*G-63)*te);let Lr=1+.015*yt*we,Uo=30*Math.exp(-1*((G-275)/25)**2),Ko=2*Math.sqrt(qr/(qr+Or)),Wo=-1*Math.sin(2*Uo*te)*Ko,Fe=(De/(r*Jo))**2;return Fe+=(je/(n*Ar))**2,Fe+=(_r/(a*Lr))**2,Fe+=Wo*(je/(n*Ar))*(_r/(a*Lr)),Math.sqrt(Fe)}var pu=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],du=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],gu=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],mu=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],se=new g({id:"oklab",name:"Oklab",coords:{l:{refRange:[0,1],name:"Lightness"},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:"D65",base:I,fromBase(e){let r=q(pu,e).map(n=>Math.cbrt(n));return q(gu,r)},toBase(e){let r=q(mu,e).map(n=>n**3);return q(du,r)},formats:{oklab:{coords:["<percentage> | <number>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function It(e,t){[e,t]=y([e,t]);let[r,n,a]=se.from(e),[s,i,o]=se.from(t),u=r-s,c=n-i,h=a-o;return Math.sqrt(u**2+c**2+h**2)}var bu=75e-6;function Q(e,t,{epsilon:r=bu}={}){e=y(e),t||(t=e.space),t=g.get(t);let n=e.coords;return t!==e.space&&(n=t.from(e)),t.inGamut(n,{epsilon:r})}function ie(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function zn(e,t,r="lab"){r=g.get(r);let n=r.from(e),a=r.from(t);return Math.sqrt(n.reduce((s,i,o)=>{let u=a[o];return isNaN(i)||isNaN(u)?s:s+(u-i)**2},0))}function yu(e,t){return zn(e,t,"lab")}var Mu=Math.PI,Br=Mu/180;function wu(e,t,{l:r=2,c:n=1}={}){[e,t]=y([e,t]);let[a,s,i]=B.from(e),[,o,u]=_e.from(B,[a,s,i]),[c,h,l]=B.from(t),p=_e.from(B,[c,h,l])[1];o<0&&(o=0),p<0&&(p=0);let m=a-c,d=o-p,b=s-h,M=i-l,v=b**2+M**2-d**2,w=.511;a>=16&&(w=.040975*a/(1+.01765*a));let x=.0638*o/(1+.0131*o)+.638,L;Number.isNaN(u)&&(u=0),u>=164&&u<=345?L=.56+Math.abs(.2*Math.cos((u+168)*Br)):L=.36+Math.abs(.4*Math.cos((u+35)*Br));let E=Math.pow(o,4),De=Math.sqrt(E/(E+1900)),je=x*(De*L+1-De),H=(m/(r*w))**2;return H+=(d/(n*x))**2,H+=v/je**2,Math.sqrt(H)}var zr=203,Ft=new g({id:"xyz-abs-d65",cssId:"--xyz-abs-d65",name:"Absolute XYZ D65",coords:{x:{refRange:[0,9504.7],name:"Xa"},y:{refRange:[0,1e4],name:"Ya"},z:{refRange:[0,10888.3],name:"Za"}},base:I,fromBase(e){return e.map(t=>Math.max(t*zr,0))},toBase(e){return e.map(t=>Math.max(t/zr,0))}}),ke=1.15,Xe=.66,$r=2610/2**14,vu=2**14/2610,Hr=3424/2**12,Dr=2413/2**7,jr=2392/2**7,xu=1.7*2523/2**5,Fr=2**5/(1.7*2523),Ze=-.56,wt=16295499532821565e-27,Cu=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],_u=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],qu=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],Su=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]],$n=new g({id:"jzazbz",name:"Jzazbz",coords:{jz:{refRange:[0,1],name:"Jz"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:Ft,fromBase(e){let[t,r,n]=e,a=ke*t-(ke-1)*n,s=Xe*r-(Xe-1)*t,o=q(Cu,[a,s,n]).map(function(p){let m=Hr+Dr*(p/1e4)**$r,d=1+jr*(p/1e4)**$r;return(m/d)**xu}),[u,c,h]=q(qu,o);return[(1+Ze)*u/(1+Ze*u)-wt,c,h]},toBase(e){let[t,r,n]=e,a=(t+wt)/(1+Ze-Ze*(t+wt)),i=q(Su,[a,r,n]).map(function(p){let m=Hr-p**Fr,d=jr*p**Fr-Dr;return 1e4*(m/d)**vu}),[o,u,c]=q(_u,i),h=(o+(ke-1)*c)/ke,l=(u+(Xe-1)*h)/Xe;return[h,l,c]},formats:{color:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),Rt=new g({id:"jzczhz",name:"JzCzHz",coords:{jz:{refRange:[0,1],name:"Jz"},cz:{refRange:[0,1],name:"Chroma"},hz:{refRange:[0,360],type:"angle",name:"Hue"}},base:$n,fromBase(e){let[t,r,n]=e,a,s=2e-4;return Math.abs(r)<s&&Math.abs(n)<s?a=NaN:a=Math.atan2(n,r)*180/Math.PI,[t,Math.sqrt(r**2+n**2),j(a)]},toBase(e){return[e[0],e[1]*Math.cos(e[2]*Math.PI/180),e[1]*Math.sin(e[2]*Math.PI/180)]}});function Au(e,t){[e,t]=y([e,t]);let[r,n,a]=Rt.from(e),[s,i,o]=Rt.from(t),u=r-s,c=n-i;Number.isNaN(a)&&Number.isNaN(o)?(a=0,o=0):Number.isNaN(a)?a=o:Number.isNaN(o)&&(o=a);let h=a-o,l=2*Math.sqrt(n*i)*Math.sin(h/2*(Math.PI/180));return Math.sqrt(u**2+c**2+l**2)}var Hn=3424/4096,Dn=2413/128,jn=2392/128,Gr=2610/16384,Lu=2523/32,Tu=16384/2610,Yr=32/2523,Pu=[[.3592832590121217,.6976051147779502,-.035891593232029],[-.1920808463704993,1.100476797037432,.0753748658519118],[.0070797844607479,.0748396662186362,.8433265453898765]],Iu=[[2048/4096,2048/4096,0],[6610/4096,-13613/4096,7003/4096],[17933/4096,-17390/4096,-543/4096]],Ru=[[.9999999999999998,.0086090370379328,.111029625003026],[.9999999999999998,-.0086090370379328,-.1110296250030259],[.9999999999999998,.5600313357106791,-.3206271749873188]],Ou=[[2.0701522183894223,-1.3263473389671563,.2066510476294053],[.3647385209748072,.6805660249472273,-.0453045459220347],[-.0497472075358123,-.0492609666966131,1.1880659249923042]],Ot=new g({id:"ictcp",name:"ICTCP",coords:{i:{refRange:[0,1],name:"I"},ct:{refRange:[-.5,.5],name:"CT"},cp:{refRange:[-.5,.5],name:"CP"}},base:Ft,fromBase(e){let t=q(Pu,e);return Eu(t)},toBase(e){let t=Nu(e);return q(Ou,t)}});function Eu(e){let t=e.map(function(r){let n=Hn+Dn*(r/1e4)**Gr,a=1+jn*(r/1e4)**Gr;return(n/a)**Lu});return q(Iu,t)}function Nu(e){return q(Ru,e).map(function(n){let a=Math.max(n**Yr-Hn,0),s=Dn-jn*n**Yr;return 1e4*(a/s)**Tu})}function Bu(e,t){[e,t]=y([e,t]);let[r,n,a]=Ot.from(e),[s,i,o]=Ot.from(t);return 720*Math.sqrt((r-s)**2+.25*(n-i)**2+(a-o)**2)}var zu=O.D65,Fn=.42,kr=1/Fn,vt=2*Math.PI,Gn=[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],$u=[[1.8620678550872327,-1.0112546305316843,.14918677544445175],[.38752654323613717,.6214474419314753,-.008973985167612518],[-.015841498849333856,-.03412293802851557,1.0499644368778496]],Hu=[[460,451,288],[460,-891,-261],[460,-220,-6300]],Du={dark:[.8,.525,.8],dim:[.9,.59,.9],average:[1,.69,1]},W={h:[20.14,90,164.25,237.53,380.14],e:[.8,.7,1,1.2,.8],H:[0,100,200,300,400]},ju=180/Math.PI,Xr=Math.PI/180;function Yn(e,t){return e.map(n=>{let a=D(t*Math.abs(n)*.01,Fn);return 400*nt(a,n)/(a+27.13)})}function Fu(e,t){let r=100/t*27.13**kr;return e.map(n=>{let a=Math.abs(n);return nt(r*D(a/(400-a),kr),n)})}function Gu(e){let t=j(e);t<=W.h[0]&&(t+=360);let r=En(W.h,t)-1,[n,a]=W.h.slice(r,r+2),[s,i]=W.e.slice(r,r+2),o=W.H[r],u=(t-n)/s;return o+100*u/(u+(a-t)/i)}function Yu(e){let t=(e%400+400)%400,r=Math.floor(.01*t);t=t%100;let[n,a]=W.h.slice(r,r+2),[s,i]=W.e.slice(r,r+2);return j((t*(i*n-s*a)-100*n*i)/(t*(i-s)-100*i))}function kn(e,t,r,n,a){let s={};s.discounting=a,s.refWhite=e,s.surround=n;let i=e.map(b=>b*100);s.la=t,s.yb=r;let o=i[1],u=q(Gn,i);n=Du[s.surround];let c=n[0];s.c=n[1],s.nc=n[2];let l=(1/(5*s.la+1))**4;s.fl=l*s.la+.1*(1-l)*(1-l)*Math.cbrt(5*s.la),s.flRoot=s.fl**.25,s.n=s.yb/o,s.z=1.48+Math.sqrt(s.n),s.nbb=.725*s.n**-.2,s.ncb=s.nbb;let p=a?1:Math.max(Math.min(c*(1-1/3.6*Math.exp((-s.la-42)/92)),1),0);s.dRgb=u.map(b=>Ce(1,o/b,p)),s.dRgbInv=s.dRgb.map(b=>1/b);let m=u.map((b,M)=>b*s.dRgb[M]),d=Yn(m,s.fl);return s.aW=s.nbb*(2*d[0]+d[1]+.05*d[2]),s}var Zr=kn(zu,64/Math.PI*.2,20,"average",!1);function Et(e,t){if(!(e.J!==void 0^e.Q!==void 0))throw new Error("Conversion requires one and only one: 'J' or 'Q'");if(!(e.C!==void 0^e.M!==void 0^e.s!==void 0))throw new Error("Conversion requires one and only one: 'C', 'M' or 's'");if(!(e.h!==void 0^e.H!==void 0))throw new Error("Conversion requires one and only one: 'h' or 'H'");if(e.J===0||e.Q===0)return[0,0,0];let r=0;e.h!==void 0?r=j(e.h)*Xr:r=Yu(e.H)*Xr;let n=Math.cos(r),a=Math.sin(r),s=0;e.J!==void 0?s=D(e.J,1/2)*.1:e.Q!==void 0&&(s=.25*t.c*e.Q/((t.aW+4)*t.flRoot));let i=0;e.C!==void 0?i=e.C/s:e.M!==void 0?i=e.M/t.flRoot/s:e.s!==void 0&&(i=4e-4*e.s**2*(t.aW+4)/t.c);let o=D(i*Math.pow(1.64-Math.pow(.29,t.n),-.73),10/9),u=.25*(Math.cos(r+2)+3.8),c=t.aW*D(s,2/t.c/t.z),h=5e4/13*t.nc*t.ncb*u,l=c/t.nbb,p=23*(l+.305)*Ht(o,23*h+o*(11*n+108*a)),m=p*n,d=p*a,b=Fu(q(Hu,[l,m,d]).map(M=>M*1/1403),t.fl);return q($u,b.map((M,v)=>M*t.dRgbInv[v])).map(M=>M/100)}function Xn(e,t){let r=e.map(x=>x*100),n=Yn(q(Gn,r).map((x,L)=>x*t.dRgb[L]),t.fl),a=n[0]+(-12*n[1]+n[2])/11,s=(n[0]+n[1]-2*n[2])/9,i=(Math.atan2(s,a)%vt+vt)%vt,o=.25*(Math.cos(i+2)+3.8),u=5e4/13*t.nc*t.ncb*Ht(o*Math.sqrt(a**2+s**2),n[0]+n[1]+1.05*n[2]+.305),c=D(u,.9)*Math.pow(1.64-Math.pow(.29,t.n),.73),h=t.nbb*(2*n[0]+n[1]+.05*n[2]),l=D(h/t.aW,.5*t.c*t.z),p=100*D(l,2),m=4/t.c*l*(t.aW+4)*t.flRoot,d=c*l,b=d*t.flRoot,M=j(i*ju),v=Gu(M),w=50*D(t.c*c/(t.aW+4),1/2);return{J:p,C:d,h:M,s:w,Q:m,M:b,H:v}}var ku=new g({id:"cam16-jmh",cssId:"--cam16-jmh",name:"CAM16-JMh",coords:{j:{refRange:[0,100],name:"J"},m:{refRange:[0,105],name:"Colorfulness"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:I,fromBase(e){let t=Xn(e,Zr);return[t.J,t.M,t.h]},toBase(e){return Et({J:e[0],M:e[1],h:e[2]},Zr)}}),Xu=O.D65,Zu=216/24389,Zn=24389/27;function Ju(e){return 116*(e>Zu?Math.cbrt(e):(Zn*e+16)/116)-16}function Nt(e){return e>8?Math.pow((e+16)/116,3):e/Zn}function Uu(e,t){let[r,n,a]=e,s=[],i=0;if(a===0)return[0,0,0];let o=Nt(a);a>0?i=.00379058511492914*a**2+.608983189401032*a+.9155088574762233:i=9514440756550361e-21*a**2+.08693057439788597*a-21.928975842194614;let u=2e-12,c=15,h=0,l=1/0;for(;h<=c;){s=Et({J:i,C:n,h:r},t);let p=Math.abs(s[1]-o);if(p<l){if(p<=u)return s;l=p}i=i-(s[1]-o)*i/(2*s[1]),h+=1}return Et({J:i,C:n,h:r},t)}function Ku(e,t){let r=Ju(e[1]);if(r===0)return[0,0,0];let n=Xn(e,Gt);return[j(n.h),n.C,r]}var Gt=kn(Xu,200/Math.PI*Nt(50),Nt(50)*100,"average",!1),qe=new g({id:"hct",name:"HCT",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},c:{refRange:[0,145],name:"Colorfulness"},t:{refRange:[0,100],name:"Tone"}},base:I,fromBase(e){return Ku(e)},toBase(e){return Uu(e,Gt)},formats:{color:{id:"--hct",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),Wu=Math.PI/180,Jr=[1,.007,.0228];function Ur(e){e[1]<0&&(e=qe.fromBase(qe.toBase(e)));let t=Math.log(Math.max(1+Jr[2]*e[1]*Gt.flRoot,1))/Jr[2],r=e[0]*Wu,n=t*Math.cos(r),a=t*Math.sin(r);return[e[2],n,a]}function Qu(e,t){[e,t]=y([e,t]);let[r,n,a]=Ur(qe.from(e)),[s,i,o]=Ur(qe.from(t));return Math.sqrt((r-s)**2+(n-i)**2+(a-o)**2)}var oe={deltaE76:yu,deltaECMC:wu,deltaE2000:Bn,deltaEJz:Au,deltaEITP:Bu,deltaEOK:It,deltaEHCT:Qu};function Vu(e){let t=e?Math.floor(Math.log10(Math.abs(e))):0;return Math.max(parseFloat(`1e${t-2}`),1e-6)}var Kr={hct:{method:"hct.c",jnd:2,deltaEMethod:"hct",blackWhiteClamp:{}},"hct-tonal":{method:"hct.c",jnd:0,deltaEMethod:"hct",blackWhiteClamp:{channel:"hct.t",min:0,max:100}}};function U(e,{method:t=z.gamut_mapping,space:r=void 0,deltaEMethod:n="",jnd:a=2,blackWhiteClamp:s={}}={}){if(e=y(e),Se(arguments[1])?r=arguments[1]:r||(r=e.space),r=g.get(r),Q(e,r,{epsilon:0}))return e;let i;if(t==="css")i=e2(e,{space:r});else{if(t!=="clip"&&!Q(e,r)){Object.prototype.hasOwnProperty.call(Kr,t)&&({method:t,jnd:a,deltaEMethod:n,blackWhiteClamp:s}=Kr[t]);let o=Bn;if(n!==""){for(let c in oe)if("deltae"+n.toLowerCase()===c.toLowerCase()){o=oe[c];break}}let u=U(_(e,r),{method:"clip",space:r});if(o(e,u)>a){if(Object.keys(s).length===3){let w=g.resolveCoord(s.channel),x=N(_(e,w.space),w.id);if(Z(x)&&(x=0),x>=s.max)return _({space:"xyz-d65",coords:O.D65},e.space);if(x<=s.min)return _({space:"xyz-d65",coords:[0,0,0]},e.space)}let c=g.resolveCoord(t),h=c.space,l=c.id,p=_(e,h);p.coords.forEach((w,x)=>{Z(w)&&(p.coords[x]=0)});let d=(c.range||c.refRange)[0],b=Vu(a),M=d,v=N(p,l);for(;v-M>b;){let w=ie(p);w=U(w,{space:r,method:"clip"}),o(p,w)-a<b?M=N(p,l):v=N(p,l),Y(p,l,(M+v)/2)}i=_(p,r)}else i=u}else i=_(e,r);if(t==="clip"||!Q(i,r,{epsilon:0})){let o=Object.values(r.coords).map(u=>u.range||[]);i.coords=i.coords.map((u,c)=>{let[h,l]=o[c];return h!==void 0&&(u=Math.max(h,u)),l!==void 0&&(u=Math.min(u,l)),u})}}return r!==e.space&&(i=_(i,e.space)),e.coords=i.coords,e}U.returns="color";var Wr={WHITE:{space:se,coords:[1,0,0]},BLACK:{space:se,coords:[0,0,0]}};function e2(e,{space:t}={}){e=y(e),t||(t=e.space),t=g.get(t);let a=g.get("oklch");if(t.isUnbounded)return _(e,t);let s=_(e,a),i=s.coords[0];if(i>=1){let d=_(Wr.WHITE,t);return d.alpha=e.alpha,_(d,t)}if(i<=0){let d=_(Wr.BLACK,t);return d.alpha=e.alpha,_(d,t)}if(Q(s,t,{epsilon:0}))return _(s,t);function o(d){let b=_(d,t),M=Object.values(t.coords);return b.coords=b.coords.map((v,w)=>{if("range"in M[w]){let[x,L]=M[w].range;return On(x,v,L)}return v}),b}let u=0,c=s.coords[1],h=!0,l=ie(s),p=o(l),m=It(p,l);if(m<.02)return p;for(;c-u>1e-4;){let d=(u+c)/2;if(l.coords[1]=d,h&&Q(l,t,{epsilon:0}))u=d;else if(p=o(l),m=It(p,l),m<.02){if(.02-m<1e-4)break;h=!1,u=d}else c=d}return p}function _(e,t,{inGamut:r}={}){e=y(e),t=g.get(t);let n=t.from(e),a={space:t,coords:n,alpha:e.alpha};return r&&(a=U(a,r===!0?void 0:r)),a}_.returns="color";function xe(e,{precision:t=z.precision,format:r="default",inGamut:n=!0,...a}={}){let s;e=y(e);let i=r;r=e.space.getFormat(r)??e.space.getFormat("default")??g.DEFAULT_FORMAT;let o=e.coords.slice();if(n||=r.toGamut,n&&!Q(e)&&(o=U(ie(e),n===!0?void 0:n).coords),r.type==="custom")if(a.precision=t,r.serialize)s=r.serialize(o,e.alpha,a);else throw new TypeError(`format ${i} can only be used to parse colors, not for serialization`);else{let u=r.name||"color";r.serializeCoords?o=r.serializeCoords(o,t):t!==null&&(o=o.map(p=>Ve(p,{precision:t})));let c=[...o];if(u==="color"){let p=r.id||r.ids?.[0]||e.space.id;c.unshift(p)}let h=e.alpha;t!==null&&(h=Ve(h,{precision:t}));let l=e.alpha>=1||r.noAlpha?"":`${r.commas?",":" /"} ${h}`;s=`${u}(${c.join(r.commas?", ":" ")}${l})`}return s}var t2=[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],r2=[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]],at=new R({id:"rec2020-linear",cssId:"--rec2020-linear",name:"Linear REC.2020",white:"D65",toXYZ_M:t2,fromXYZ_M:r2}),Je=1.09929682680944,Qr=.018053968510807,Jn=new R({id:"rec2020",name:"REC.2020",base:at,toBase(e){return e.map(function(t){return t<Qr*4.5?t/4.5:Math.pow((t+Je-1)/Je,1/.45)})},fromBase(e){return e.map(function(t){return t>=Qr?Je*Math.pow(t,.45)-(Je-1):4.5*t})}}),n2=[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],a2=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]],Un=new R({id:"p3-linear",cssId:"--display-p3-linear",name:"Linear P3",white:"D65",toXYZ_M:n2,fromXYZ_M:a2}),s2=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],A=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],Kn=new R({id:"srgb-linear",name:"Linear sRGB",white:"D65",toXYZ_M:s2,fromXYZ_M:A}),Vr={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[153/255,50/255,204/255],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,153/255],lightslategrey:[119/255,136/255,153/255],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[102/255,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,204/255],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[102/255,51/255,153/255],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]},en=Array(3).fill("<percentage> | <number>[0, 255]"),tn=Array(3).fill("<number>[0, 255]"),ue=new R({id:"srgb",name:"sRGB",base:Kn,fromBase:e=>e.map(t=>{let r=t<0?-1:1,n=t*r;return n>.0031308?r*(1.055*n**(1/2.4)-.055):12.92*t}),toBase:e=>e.map(t=>{let r=t<0?-1:1,n=t*r;return n<=.04045?t/12.92:r*((n+.055)/1.055)**2.4}),formats:{rgb:{coords:en},rgb_number:{name:"rgb",commas:!0,coords:tn,noAlpha:!0},color:{},rgba:{coords:en,commas:!0,lastAlpha:!0},rgba_number:{name:"rgba",commas:!0,coords:tn},hex:{type:"custom",toGamut:!0,test:e=>/^#([a-f0-9]{3,4}){1,2}$/i.test(e),parse(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,"$&$&"));let t=[];return e.replace(/[a-f0-9]{2}/gi,r=>{t.push(parseInt(r,16)/255)}),{spaceId:"srgb",coords:t.slice(0,3),alpha:t.slice(3)[0]}},serialize:(e,t,{collapse:r=!0}={})=>{t<1&&e.push(t),e=e.map(s=>Math.round(s*255));let n=r&&e.every(s=>s%17===0);return"#"+e.map(s=>n?(s/17).toString(16):s.toString(16).padStart(2,"0")).join("")}},keyword:{type:"custom",test:e=>/^[a-z]+$/i.test(e),parse(e){e=e.toLowerCase();let t={spaceId:"srgb",coords:null,alpha:1};if(e==="transparent"?(t.coords=Vr.black,t.alpha=0):t.coords=Vr[e],t.coords)return t}}}}),Wn=new R({id:"p3",cssId:"display-p3",name:"P3",base:Un,fromBase:ue.fromBase,toBase:ue.toBase});z.display_space=ue;var i2;if(typeof CSS<"u"&&CSS.supports)for(let e of[B,Jn,Wn]){let t=e.getMinCoords(),n=xe({space:e,coords:t,alpha:1});if(CSS.supports("color",n)){z.display_space=e;break}}function o2(e,{space:t=z.display_space,...r}={}){let n=xe(e,r);if(typeof CSS>"u"||CSS.supports("color",n)||!z.display_space)n=new String(n),n.color=e;else{let a=e;if((e.coords.some(Z)||Z(e.alpha))&&!(i2??=CSS.supports("color","hsl(none 50% 50%)"))&&(a=ie(e),a.coords=a.coords.map(S),a.alpha=S(a.alpha),n=xe(a,r),CSS.supports("color",n)))return n=new String(n),n.color=a,n;a=_(a,t),n=new String(xe(a,r)),n.color=a}return n}function u2(e,t){return e=y(e),t=y(t),e.space===t.space&&e.alpha===t.alpha&&e.coords.every((r,n)=>r===t.coords[n])}function K(e){return N(e,[I,"y"])}function Qn(e,t){Y(e,[I,"y"],t)}function l2(e){Object.defineProperty(e.prototype,"luminance",{get(){return K(this)},set(t){Qn(this,t)}})}var c2=Object.freeze({__proto__:null,getLuminance:K,register:l2,setLuminance:Qn});function f2(e,t){e=y(e),t=y(t);let r=Math.max(K(e),0),n=Math.max(K(t),0);return n>r&&([r,n]=[n,r]),(r+.05)/(n+.05)}var h2=.56,p2=.57,d2=.62,g2=.65,rn=.022,m2=1.414,b2=.1,y2=5e-4,M2=1.14,nn=.027,w2=1.14;function an(e){return e>=rn?e:e+(rn-e)**m2}function re(e){let t=e<0?-1:1,r=Math.abs(e);return t*Math.pow(r,2.4)}function v2(e,t){t=y(t),e=y(e);let r,n,a,s,i,o;t=_(t,"srgb"),[s,i,o]=t.coords;let u=re(s)*.2126729+re(i)*.7151522+re(o)*.072175;e=_(e,"srgb"),[s,i,o]=e.coords;let c=re(s)*.2126729+re(i)*.7151522+re(o)*.072175,h=an(u),l=an(c),p=l>h;return Math.abs(l-h)<y2?n=0:p?(r=l**h2-h**p2,n=r*M2):(r=l**g2-h**d2,n=r*w2),Math.abs(n)<b2?a=0:n>0?a=n-nn:a=n+nn,a*100}function x2(e,t){e=y(e),t=y(t);let r=Math.max(K(e),0),n=Math.max(K(t),0);n>r&&([r,n]=[n,r]);let a=r+n;return a===0?0:(r-n)/a}var C2=5e4;function _2(e,t){e=y(e),t=y(t);let r=Math.max(K(e),0),n=Math.max(K(t),0);return n>r&&([r,n]=[n,r]),n===0?C2:(r-n)/n}function q2(e,t){e=y(e),t=y(t);let r=N(e,[B,"l"]),n=N(t,[B,"l"]);return Math.abs(r-n)}var S2=216/24389,sn=24/116,Ue=24389/27,xt=O.D65,Bt=new g({id:"lab-d65",name:"Lab D65",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:xt,base:I,fromBase(e){let r=e.map((n,a)=>n/xt[a]).map(n=>n>S2?Math.cbrt(n):(Ue*n+16)/116);return[116*r[1]-16,500*(r[0]-r[1]),200*(r[1]-r[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>sn?Math.pow(t[0],3):(116*t[0]-16)/Ue,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/Ue,t[2]>sn?Math.pow(t[2],3):(116*t[2]-16)/Ue].map((n,a)=>n*xt[a])},formats:{"lab-d65":{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),Ct=Math.pow(5,.5)*.5+.5;function A2(e,t){e=y(e),t=y(t);let r=N(e,[Bt,"l"]),n=N(t,[Bt,"l"]),a=Math.abs(Math.pow(r,Ct)-Math.pow(n,Ct)),s=Math.pow(a,1/Ct)*Math.SQRT2-40;return s<7.5?0:s}var Qe=Object.freeze({__proto__:null,contrastAPCA:v2,contrastDeltaPhi:A2,contrastLstar:q2,contrastMichelson:x2,contrastWCAG21:f2,contrastWeber:_2});function L2(e,t,r={}){Se(r)&&(r={algorithm:r});let{algorithm:n,...a}=r;if(!n){let s=Object.keys(Qe).map(i=>i.replace(/^contrast/,"")).join(", ");throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${s}`)}e=y(e),t=y(t);for(let s in Qe)if("contrast"+n.toLowerCase()===s.toLowerCase())return Qe[s](e,t,a);throw new TypeError(`Unknown contrast algorithm: ${n}`)}function st(e){let[t,r,n]=Ae(e,I),a=t+15*r+3*n;return[4*t/a,9*r/a]}function Vn(e){let[t,r,n]=Ae(e,I),a=t+r+n;return[t/a,r/a]}function T2(e){Object.defineProperty(e.prototype,"uv",{get(){return st(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return Vn(this)}})}var P2=Object.freeze({__proto__:null,register:T2,uv:st,xy:Vn});function ve(e,t,r={}){Se(r)&&(r={method:r});let{method:n=z.deltaE,...a}=r;for(let s in oe)if("deltae"+n.toLowerCase()===s.toLowerCase())return oe[s](e,t,a);throw new TypeError(`Unknown deltaE method: ${n}`)}function I2(e,t=.25){let n=[g.get("oklch","lch"),"l"];return Y(e,n,a=>a*(1+t))}function R2(e,t=.25){let n=[g.get("oklch","lch"),"l"];return Y(e,n,a=>a*(1-t))}var O2=Object.freeze({__proto__:null,darken:R2,lighten:I2});function ea(e,t,r=.5,n={}){return[e,t]=[y(e),y(t)],X(r)==="object"&&([r,n]=[.5,r]),Le(e,t,n)(r)}function ta(e,t,r={}){let n;Yt(e)&&([n,r]=[e,t],[e,t]=n.rangeArgs.colors);let{maxDeltaE:a,deltaEMethod:s,steps:i=2,maxSteps:o=1e3,...u}=r;n||([e,t]=[y(e),y(t)],n=Le(e,t,u));let c=ve(e,t),h=a>0?Math.max(i,Math.ceil(c/a)+1):i,l=[];if(o!==void 0&&(h=Math.min(h,o)),h===1)l=[{p:.5,color:n(.5)}];else{let p=1/(h-1);l=Array.from({length:h},(m,d)=>{let b=d*p;return{p:b,color:n(b)}})}if(a>0){let p=l.reduce((m,d,b)=>{if(b===0)return 0;let M=ve(d.color,l[b-1].color,s);return Math.max(m,M)},0);for(;p>a;){p=0;for(let m=1;m<l.length&&l.length<o;m++){let d=l[m-1],b=l[m],M=(b.p+d.p)/2,v=n(M);p=Math.max(p,ve(v,d.color),ve(v,b.color)),l.splice(m,0,{p:M,color:n(M)}),m++}}}return l=l.map(p=>p.color),l}function Le(e,t,r={}){if(Yt(e)){let[u,c]=[e,t];return Le(...u.rangeArgs.colors,{...u.rangeArgs.options,...c})}let{space:n,outputSpace:a,progression:s,premultiplied:i}=r;e=y(e),t=y(t),e=ie(e),t=ie(t);let o={colors:[e,t],options:r};if(n?n=g.get(n):n=g.registry[z.interpolationSpace]||e.space,a=a?g.get(a):n,e=_(e,n),t=_(t,n),e=U(e),t=U(t),n.coords.h&&n.coords.h.type==="angle"){let u=r.hue=r.hue||"shorter",c=[n,"h"],[h,l]=[N(e,c),N(t,c)];isNaN(h)&&!isNaN(l)?h=l:isNaN(l)&&!isNaN(h)&&(l=h),[h,l]=hu(u,[h,l]),Y(e,c,h),Y(t,c,l)}return i&&(e.coords=e.coords.map(u=>u*e.alpha),t.coords=t.coords.map(u=>u*t.alpha)),Object.assign(u=>{u=s?s(u):u;let c=e.coords.map((p,m)=>{let d=t.coords[m];return Ce(p,d,u)}),h=Ce(e.alpha,t.alpha,u),l={space:n,coords:c,alpha:h};return i&&(l.coords=l.coords.map(p=>p/h)),a!==n&&(l=_(l,a)),l},{rangeArgs:o})}function Yt(e){return X(e)==="function"&&!!e.rangeArgs}z.interpolationSpace="lab";function E2(e){e.defineFunction("mix",ea,{returns:"color"}),e.defineFunction("range",Le,{returns:"function<color>"}),e.defineFunction("steps",ta,{returns:"array<color>"})}var N2=Object.freeze({__proto__:null,isRange:Yt,mix:ea,range:Le,register:E2,steps:ta}),ra=new g({id:"hsl",name:"HSL",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:ue,fromBase:e=>{let t=Math.max(...e),r=Math.min(...e),[n,a,s]=e,[i,o,u]=[NaN,0,(r+t)/2],c=t-r;if(c!==0){switch(o=u===0||u===1?0:(t-u)/Math.min(u,1-u),t){case n:i=(a-s)/c+(a<s?6:0);break;case a:i=(s-n)/c+2;break;case s:i=(n-a)/c+4}i=i*60}return o<0&&(i+=180,o=Math.abs(o)),i>=360&&(i-=360),[i,o*100,u*100]},toBase:e=>{let[t,r,n]=e;t=t%360,t<0&&(t+=360),r/=100,n/=100;function a(s){let i=(s+t/30)%12,o=r*Math.min(n,1-n);return n-o*Math.max(-1,Math.min(i-3,9-i,1))}return[a(0),a(8),a(4)]},formats:{hsl:{coords:["<number> | <angle>","<percentage>","<percentage>"]},hsla:{coords:["<number> | <angle>","<percentage>","<percentage>"],commas:!0,lastAlpha:!0}}}),na=new g({id:"hsv",name:"HSV",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},v:{range:[0,100],name:"Value"}},base:ra,fromBase(e){let[t,r,n]=e;r/=100,n/=100;let a=n+r*Math.min(n,1-n);return[t,a===0?0:200*(1-n/a),100*a]},toBase(e){let[t,r,n]=e;r/=100,n/=100;let a=n*(1-r/2);return[t,a===0||a===1?0:(n-a)/Math.min(a,1-a)*100,a*100]},formats:{color:{id:"--hsv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),B2=new g({id:"hwb",name:"HWB",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},w:{range:[0,100],name:"Whiteness"},b:{range:[0,100],name:"Blackness"}},base:na,fromBase(e){let[t,r,n]=e;return[t,n*(100-r)/100,100-n]},toBase(e){let[t,r,n]=e;r/=100,n/=100;let a=r+n;if(a>=1){let o=r/a;return[t,0,o*100]}let s=1-n,i=s===0?0:1-r/s;return[t,i*100,s*100]},formats:{hwb:{coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),z2=[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],$2=[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]],aa=new R({id:"a98rgb-linear",cssId:"--a98-rgb-linear",name:"Linear Adobe\xAE 98 RGB compatible",white:"D65",toXYZ_M:z2,fromXYZ_M:$2}),H2=new R({id:"a98rgb",cssId:"a98-rgb",name:"Adobe\xAE 98 RGB compatible",base:aa,toBase:e=>e.map(t=>Math.pow(Math.abs(t),563/256)*Math.sign(t)),fromBase:e=>e.map(t=>Math.pow(Math.abs(t),256/563)*Math.sign(t))}),D2=[[.7977666449006423,.13518129740053308,.0313477341283922],[.2880748288194013,.711835234241873,8993693872564e-17],[0,0,.8251046025104602]],j2=[[1.3457868816471583,-.25557208737979464,-.05110186497554526],[-.5446307051249019,1.5082477428451468,.02052744743642139],[0,0,1.2119675456389452]],sa=new R({id:"prophoto-linear",cssId:"--prophoto-rgb-linear",name:"Linear ProPhoto",white:"D50",base:jt,toXYZ_M:D2,fromXYZ_M:j2}),F2=1/512,G2=16/512,Y2=new R({id:"prophoto",cssId:"prophoto-rgb",name:"ProPhoto",base:sa,toBase(e){return e.map(t=>t<G2?t/16:t**1.8)},fromBase(e){return e.map(t=>t>=F2?t**(1/1.8):16*t)}}),k2=new g({id:"oklch",name:"Oklch",coords:{l:{refRange:[0,1],name:"Lightness"},c:{refRange:[0,.4],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},white:"D65",base:se,fromBase(e){let[t,r,n]=e,a,s=2e-4;return Math.abs(r)<s&&Math.abs(n)<s?a=NaN:a=Math.atan2(n,r)*180/Math.PI,[t,Math.sqrt(r**2+n**2),j(a)]},toBase(e){let[t,r,n]=e,a,s;return isNaN(n)?(a=0,s=0):(a=r*Math.cos(n*Math.PI/180),s=r*Math.sin(n*Math.PI/180)),[t,a,s]},formats:{oklch:{coords:["<percentage> | <number>","<number> | <percentage>[0,1]","<number> | <angle>"]}}}),ia=O.D65,X2=216/24389,on=24389/27,[un,ln]=st({space:I,coords:ia}),oa=new g({id:"luv",name:"Luv",coords:{l:{refRange:[0,100],name:"Lightness"},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:ia,base:I,fromBase(e){let t=[S(e[0]),S(e[1]),S(e[2])],r=t[1],[n,a]=st({space:I,coords:t});if(!Number.isFinite(n)||!Number.isFinite(a))return[0,0,0];let s=r<=X2?on*r:116*Math.cbrt(r)-16;return[s,13*s*(n-un),13*s*(a-ln)]},toBase(e){let[t,r,n]=e;if(t===0||Z(t))return[0,0,0];r=S(r),n=S(n);let a=r/(13*t)+un,s=n/(13*t)+ln,i=t<=8?t/on:Math.pow((t+16)/116,3);return[i*(9*a/(4*s)),i,i*((12-3*a-20*s)/(4*s))]},formats:{color:{id:"--luv",coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),kt=new g({id:"lchuv",name:"LChuv",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,220],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:oa,fromBase(e){let[t,r,n]=e,a,s=.02;return Math.abs(r)<s&&Math.abs(n)<s?a=NaN:a=Math.atan2(n,r)*180/Math.PI,[t,Math.sqrt(r**2+n**2),j(a)]},toBase(e){let[t,r,n]=e;return r<0&&(r=0),isNaN(n)&&(n=0),[t,r*Math.cos(n*Math.PI/180),r*Math.sin(n*Math.PI/180)]},formats:{color:{id:"--lchuv",coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}}),Z2=216/24389,J2=24389/27,cn=A[0][0],fn=A[0][1],_t=A[0][2],hn=A[1][0],pn=A[1][1],qt=A[1][2],dn=A[2][0],gn=A[2][1],St=A[2][2];function ne(e,t,r){let n=t/(Math.sin(r)-e*Math.cos(r));return n<0?1/0:n}function rt(e){let t=Math.pow(e+16,3)/1560896,r=t>Z2?t:e/J2,n=r*(284517*cn-94839*_t),a=r*(838422*_t+769860*fn+731718*cn),s=r*(632260*_t-126452*fn),i=r*(284517*hn-94839*qt),o=r*(838422*qt+769860*pn+731718*hn),u=r*(632260*qt-126452*pn),c=r*(284517*dn-94839*St),h=r*(838422*St+769860*gn+731718*dn),l=r*(632260*St-126452*gn);return{r0s:n/s,r0i:a*e/s,r1s:n/(s+126452),r1i:(a-769860)*e/(s+126452),g0s:i/u,g0i:o*e/u,g1s:i/(u+126452),g1i:(o-769860)*e/(u+126452),b0s:c/l,b0i:h*e/l,b1s:c/(l+126452),b1i:(h-769860)*e/(l+126452)}}function mn(e,t){let r=t/360*Math.PI*2,n=ne(e.r0s,e.r0i,r),a=ne(e.r1s,e.r1i,r),s=ne(e.g0s,e.g0i,r),i=ne(e.g1s,e.g1i,r),o=ne(e.b0s,e.b0i,r),u=ne(e.b1s,e.b1i,r);return Math.min(n,a,s,i,o,u)}var U2=new g({id:"hsluv",name:"HSLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:kt,gamutSpace:ue,fromBase(e){let[t,r,n]=[S(e[0]),S(e[1]),S(e[2])],a;if(t>99.9999999)a=0,t=100;else if(t<1e-8)a=0,t=0;else{let s=rt(t),i=mn(s,n);a=r/i*100}return[n,a,t]},toBase(e){let[t,r,n]=[S(e[0]),S(e[1]),S(e[2])],a;if(n>99.9999999)n=100,a=0;else if(n<1e-8)n=0,a=0;else{let s=rt(n);a=mn(s,t)/100*r}return[n,a,t]},formats:{color:{id:"--hsluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});A[0][0];A[0][1];A[0][2];A[1][0];A[1][1];A[1][2];A[2][0];A[2][1];A[2][2];function ae(e,t){return Math.abs(t)/Math.sqrt(Math.pow(e,2)+1)}function bn(e){let t=ae(e.r0s,e.r0i),r=ae(e.r1s,e.r1i),n=ae(e.g0s,e.g0i),a=ae(e.g1s,e.g1i),s=ae(e.b0s,e.b0i),i=ae(e.b1s,e.b1i);return Math.min(t,r,n,a,s,i)}var K2=new g({id:"hpluv",name:"HPLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:kt,gamutSpace:"self",fromBase(e){let[t,r,n]=[S(e[0]),S(e[1]),S(e[2])],a;if(t>99.9999999)a=0,t=100;else if(t<1e-8)a=0,t=0;else{let s=rt(t),i=bn(s);a=r/i*100}return[n,a,t]},toBase(e){let[t,r,n]=[S(e[0]),S(e[1]),S(e[2])],a;if(n>99.9999999)n=100,a=0;else if(n<1e-8)n=0,a=0;else{let s=rt(n);a=bn(s)/100*r}return[n,a,t]},formats:{color:{id:"--hpluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),yn=203,Mn=2610/2**14,W2=2**14/2610,Q2=2523/2**5,wn=2**5/2523,vn=3424/2**12,xn=2413/2**7,Cn=2392/2**7,V2=new R({id:"rec2100pq",cssId:"rec2100-pq",name:"REC.2100-PQ",base:at,toBase(e){return e.map(function(t){return(Math.max(t**wn-vn,0)/(xn-Cn*t**wn))**W2*1e4/yn})},fromBase(e){return e.map(function(t){let r=Math.max(t*yn/1e4,0),n=vn+xn*r**Mn,a=1+Cn*r**Mn;return(n/a)**Q2})}}),_n=.17883277,qn=.28466892,Sn=.55991073,At=3.7743,e1=new R({id:"rec2100hlg",cssId:"rec2100-hlg",name:"REC.2100-HLG",referred:"scene",base:at,toBase(e){return e.map(function(t){return t<=.5?t**2/3*At:(Math.exp((t-Sn)/_n)+qn)/12*At})},fromBase(e){return e.map(function(t){return t/=At,t<=1/12?Math.sqrt(3*t):_n*Math.log(12*t-qn)+Sn})}}),ua={};J.add("chromatic-adaptation-start",e=>{e.options.method&&(e.M=la(e.W1,e.W2,e.options.method))});J.add("chromatic-adaptation-end",e=>{e.M||(e.M=la(e.W1,e.W2,e.options.method))});function it({id:e,toCone_M:t,fromCone_M:r}){ua[e]=arguments[0]}function la(e,t,r="Bradford"){let n=ua[r],[a,s,i]=q(n.toCone_M,e),[o,u,c]=q(n.toCone_M,t),h=[[o/a,0,0],[0,u/s,0],[0,0,c/i]],l=q(h,n.toCone_M);return q(n.fromCone_M,l)}it({id:"von Kries",toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599363874558397,-1.1293816185800916,.21989740959619328],[.3611914362417676,.6388124632850422,-6370596838649899e-21],[0,0,1.0890636230968613]]});it({id:"Bradford",toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929054667121,-.14705425642099013,.15996265166373122],[.4323052697233945,.5183602715367774,.049291228212855594],[-.00852866457517732,.04004282165408486,.96848669578755]]});it({id:"CAT02",toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238208355142,-.27886900021828726,.18274517938277307],[.4543690419753592,.4735331543074117,.07209780371722911],[-.009627608738429355,-.00569803121611342,1.0153256399545427]]});it({id:"CAT16",toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.0112546305316845,.14918677544445172],[.3875265432361372,.6214474419314753,-.008973985167612521],[-.01584149884933386,-.03412293802851557,1.0499644368778496]]});Object.assign(O,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]});O.ACES=[.32168/.33767,1,(1-.32168-.33767)/.33767];var t1=[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],r1=[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]],ca=new R({id:"acescg",cssId:"--acescg",name:"ACEScg",coords:{r:{range:[0,65504],name:"Red"},g:{range:[0,65504],name:"Green"},b:{range:[0,65504],name:"Blue"}},referred:"scene",white:O.ACES,toXYZ_M:t1,fromXYZ_M:r1}),Ke=2**-16,Lt=-.35828683,We=(Math.log2(65504)+9.72)/17.52,n1=new R({id:"acescc",cssId:"--acescc",name:"ACEScc",coords:{r:{range:[Lt,We],name:"Red"},g:{range:[Lt,We],name:"Green"},b:{range:[Lt,We],name:"Blue"}},referred:"scene",base:ca,toBase(e){let t=-.3013698630136986;return e.map(function(r){return r<=t?(2**(r*17.52-9.72)-Ke)*2:r<We?2**(r*17.52-9.72):65504})},fromBase(e){return e.map(function(t){return t<=0?(Math.log2(Ke)+9.72)/17.52:t<Ke?(Math.log2(Ke+t*.5)+9.72)/17.52:(Math.log2(t)+9.72)/17.52})}}),An=Object.freeze({__proto__:null,A98RGB:H2,A98RGB_Linear:aa,ACEScc:n1,ACEScg:ca,CAM16_JMh:ku,HCT:qe,HPLuv:K2,HSL:ra,HSLuv:U2,HSV:na,HWB:B2,ICTCP:Ot,JzCzHz:Rt,Jzazbz:$n,LCH:_e,LCHuv:kt,Lab:B,Lab_D65:Bt,Luv:oa,OKLCH:k2,OKLab:se,P3:Wn,P3_Linear:Un,ProPhoto:Y2,ProPhoto_Linear:sa,REC_2020:Jn,REC_2020_Linear:at,REC_2100_HLG:e1,REC_2100_PQ:V2,XYZ_ABS_D65:Ft,XYZ_D50:jt,XYZ_D65:I,sRGB:ue,sRGB_Linear:Kn}),T=class e{constructor(...t){let r;t.length===1&&(r=y(t[0]));let n,a,s;r?(n=r.space||r.spaceId,a=r.coords,s=r.alpha):[n,a,s]=t,Object.defineProperty(this,"space",{value:g.get(n),writable:!1,enumerable:!0,configurable:!0}),this.coords=a?a.slice():[0,0,0],this.alpha=s>1||s===void 0?1:s<0?0:s;for(let i=0;i<this.coords.length;i++)this.coords[i]==="NaN"&&(this.coords[i]=NaN);for(let i in this.space.coords)Object.defineProperty(this,i,{get:()=>this.get(i),set:o=>this.set(i,o)})}get spaceId(){return this.space.id}clone(){return new e(this.space,this.coords,this.alpha)}toJSON(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}display(...t){let r=o2(this,...t);return r.color=new e(r.color),r}static get(t,...r){return t instanceof e?t:new e(t,...r)}static defineFunction(t,r,n=r){let{instance:a=!0,returns:s}=n,i=function(...o){let u=r(...o);if(s==="color")u=e.get(u);else if(s==="function<color>"){let c=u;u=function(...h){let l=c(...h);return e.get(l)},Object.assign(u,c)}else s==="array<color>"&&(u=u.map(c=>e.get(c)));return u};t in e||(e[t]=i),a&&(e.prototype[t]=function(...o){return i(this,...o)})}static defineFunctions(t){for(let r in t)e.defineFunction(r,t[r],t[r])}static extend(t){if(t.register)t.register(e);else for(let r in t)e.defineFunction(r,t[r])}};T.defineFunctions({get:N,getAll:Ae,set:Y,setAll:Dt,to:_,equals:u2,inGamut:Q,toGamut:U,distance:zn,toString:xe});Object.assign(T,{util:ou,hooks:J,WHITES:O,Space:g,spaces:g.registry,parse:Nn,defaults:z});for(let e of Object.keys(An))g.register(An[e]);for(let e in g.registry)zt(e,g.registry[e]);J.add("colorspace-init-end",e=>{zt(e.id,e),e.aliases?.forEach(t=>{zt(t,e)})});function zt(e,t){let r=e.replace(/-/g,"_");Object.defineProperty(T.prototype,r,{get(){let n=this.getAll(e);return typeof Proxy>"u"?n:new Proxy(n,{has:(a,s)=>{try{return g.resolveCoord([t,s]),!0}catch{}return Reflect.has(a,s)},get:(a,s,i)=>{if(s&&typeof s!="symbol"&&!(s in a)){let{index:o}=g.resolveCoord([t,s]);if(o>=0)return a[o]}return Reflect.get(a,s,i)},set:(a,s,i,o)=>{if(s&&typeof s!="symbol"&&!(s in a)||s>=0){let{index:u}=g.resolveCoord([t,s]);if(u>=0)return a[u]=i,this.setAll(e,a),!0}return Reflect.set(a,s,i,o)}})},set(n){this.setAll(e,n)},configurable:!0,enumerable:!0})}T.extend(oe);T.extend({deltaE:ve});Object.assign(T,{deltaEMethods:oe});T.extend(O2);T.extend({contrast:L2});T.extend(P2);T.extend(c2);T.extend(N2);T.extend(Qe);var Pd=au(Go()),Id=(0,xr.getPreferenceValues)();function Yo(e,t){let r;switch(typeof e=="string"?r=new T(e):"colorSpace"in e?r=new T(e.colorSpace,[e.red,e.green,e.blue],e.alpha):r=new T("srgb",[e.red/255,e.green/255,e.blue/255],e.alpha),t||Id.colorFormat){default:case"hex":return r.to("srgb").toString({format:"hex"}).toUpperCase();case"hex-lower-case":return r.to("srgb").toString({format:"hex"}).toLowerCase();case"hex-no-prefix":return r.to("srgb").toString({format:"hex"}).replace("#","");case"rgb":return r.to("srgb").toString({format:"rgb_number"});case"rgb-percentage":return r.to("srgb").toString({format:"rgb"});case"rgba":return r.to("srgb").toString({format:"rgba_number"});case"rgba-percentage":return r.to("srgb").toString({format:"rgba"});case"hsla":return r.to("hsl").toString({format:"hsla"});case"hsva":return r.to("hsv").toString({format:"color"});case"oklch":{let n=r.to("oklch"),[a,s,i]=n.coords;return`oklch(${(a*100).toFixed(2)}% ${s} ${i})`}case"lch":{let n=r.to("lch"),[a,s,i]=n.coords;return`lch(${a.toFixed(2)}% ${s} ${i})`}case"p3":return r.to("p3").toString({format:"p3"})}}var mt=require("react/jsx-runtime");async function Rd(e,t){try{return Yo(e,t)}catch{await(0,P.showToast)({style:P.Toast.Style.Failure,title:"Conversion failed",message:`"${e}" is not a valid color.`})}}var ko=({text:e,title:t,subtitle:r,value:n})=>(0,mt.jsx)(P.List.Item,{title:t,subtitle:r,actions:(0,mt.jsx)(P.ActionPanel,{children:(0,mt.jsx)(P.Action,{title:"Copy Converted Color",onAction:async()=>{let a=await Rd(e,n);a&&(await P.Clipboard.copy(a),await(0,P.showHUD)("Copied color to clipboard")),P.LocalStorage.setItem("lastConvertedColorFormat",n),(0,P.popToRoot)({clearSearchBar:!0})}})})});var He=require("react"),bt=require("react/jsx-runtime");function Xo(e){let[t,r]=(0,He.useState)(e.arguments.text||null),[n,a]=(0,He.useState)(void 0);(0,He.useEffect)(()=>{async function i(){let o=await $.LocalStorage.getItem("lastConvertedColorFormat");a(o)}i(),t||(0,$.getSelectedText)().then(r).catch(async()=>{await(0,$.showToast)({style:$.Toast.Style.Failure,title:"No text found.",message:"Select a color in any app, or provide it as an argument, then try again."})})},[]);let s=[{title:"HEX",subtitle:"#FF6363",value:"hex"},{title:"HEX Lower Case",subtitle:"#ff6363",value:"hex-lower-case"},{title:"HEX No Prefix",subtitle:"FF6363",value:"hex-no-prefix"},{title:"RGB",subtitle:"rgb(255 99 99 / 100%)",value:"rgb"},{title:"RGB %",subtitle:"rgb(100% 38% 38% / 100%)",value:"rgb-percentage"},{title:"RGBA",subtitle:"rgba(255, 99, 99, 1)",value:"rgba"},{title:"RGBA %",subtitle:"rgba(100%, 39%, 39%, 1)",value:"rgba-percentage"},{title:"HSLA",subtitle:"hsla(0, 100%, 69%, 1)",value:"hsla"},{title:"HSVA",subtitle:"color(hsv 43.082 81.145 100)",value:"hsva"},{title:"OKLCH",subtitle:"oklch(0.6987 0.1902 23.468)",value:"oklch"},{title:"LCH",subtitle:"lch(63.127 68.676 28.723)",value:"lch"},{title:"P3",subtitle:"color(display-p3 0.9248 0.428 0.4078)",value:"p3"}];if(n){let i=s.findIndex(o=>o.value===n);if(i!==-1){let[o]=s.splice(i,1);s.unshift(o)}}return t?(0,bt.jsx)($.List,{children:s.map(i=>(0,bt.jsx)(ko,{text:t,title:i.title,subtitle:i.subtitle,value:i.value},i.value))}):(0,bt.jsx)($.List,{isLoading:!0})} diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/convert-color.js.map b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/convert-color.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/lodash/_listCacheClear.js", "../node_modules/lodash/eq.js", "../node_modules/lodash/_assocIndexOf.js", "../node_modules/lodash/_listCacheDelete.js", "../node_modules/lodash/_listCacheGet.js", "../node_modules/lodash/_listCacheHas.js", "../node_modules/lodash/_listCacheSet.js", "../node_modules/lodash/_ListCache.js", "../node_modules/lodash/_stackClear.js", "../node_modules/lodash/_stackDelete.js", "../node_modules/lodash/_stackGet.js", "../node_modules/lodash/_stackHas.js", "../node_modules/lodash/_freeGlobal.js", "../node_modules/lodash/_root.js", "../node_modules/lodash/_Symbol.js", "../node_modules/lodash/_getRawTag.js", "../node_modules/lodash/_objectToString.js", "../node_modules/lodash/_baseGetTag.js", "../node_modules/lodash/isObject.js", "../node_modules/lodash/isFunction.js", "../node_modules/lodash/_coreJsData.js", "../node_modules/lodash/_isMasked.js", "../node_modules/lodash/_toSource.js", "../node_modules/lodash/_baseIsNative.js", "../node_modules/lodash/_getValue.js", "../node_modules/lodash/_getNative.js", "../node_modules/lodash/_Map.js", "../node_modules/lodash/_nativeCreate.js", "../node_modules/lodash/_hashClear.js", "../node_modules/lodash/_hashDelete.js", "../node_modules/lodash/_hashGet.js", "../node_modules/lodash/_hashHas.js", "../node_modules/lodash/_hashSet.js", "../node_modules/lodash/_Hash.js", "../node_modules/lodash/_mapCacheClear.js", "../node_modules/lodash/_isKeyable.js", "../node_modules/lodash/_getMapData.js", "../node_modules/lodash/_mapCacheDelete.js", "../node_modules/lodash/_mapCacheGet.js", "../node_modules/lodash/_mapCacheHas.js", "../node_modules/lodash/_mapCacheSet.js", "../node_modules/lodash/_MapCache.js", "../node_modules/lodash/_stackSet.js", "../node_modules/lodash/_Stack.js", "../node_modules/lodash/_setCacheAdd.js", "../node_modules/lodash/_setCacheHas.js", "../node_modules/lodash/_SetCache.js", "../node_modules/lodash/_arraySome.js", "../node_modules/lodash/_cacheHas.js", "../node_modules/lodash/_equalArrays.js", "../node_modules/lodash/_Uint8Array.js", "../node_modules/lodash/_mapToArray.js", "../node_modules/lodash/_setToArray.js", "../node_modules/lodash/_equalByTag.js", "../node_modules/lodash/_arrayPush.js", "../node_modules/lodash/isArray.js", "../node_modules/lodash/_baseGetAllKeys.js", "../node_modules/lodash/_arrayFilter.js", "../node_modules/lodash/stubArray.js", "../node_modules/lodash/_getSymbols.js", "../node_modules/lodash/_baseTimes.js", "../node_modules/lodash/isObjectLike.js", "../node_modules/lodash/_baseIsArguments.js", "../node_modules/lodash/isArguments.js", "../node_modules/lodash/stubFalse.js", "../node_modules/lodash/isBuffer.js", "../node_modules/lodash/_isIndex.js", "../node_modules/lodash/isLength.js", "../node_modules/lodash/_baseIsTypedArray.js", "../node_modules/lodash/_baseUnary.js", "../node_modules/lodash/_nodeUtil.js", "../node_modules/lodash/isTypedArray.js", "../node_modules/lodash/_arrayLikeKeys.js", "../node_modules/lodash/_isPrototype.js", "../node_modules/lodash/_overArg.js", "../node_modules/lodash/_nativeKeys.js", "../node_modules/lodash/_baseKeys.js", "../node_modules/lodash/isArrayLike.js", "../node_modules/lodash/keys.js", "../node_modules/lodash/_getAllKeys.js", "../node_modules/lodash/_equalObjects.js", "../node_modules/lodash/_DataView.js", "../node_modules/lodash/_Promise.js", "../node_modules/lodash/_Set.js", "../node_modules/lodash/_WeakMap.js", "../node_modules/lodash/_getTag.js", "../node_modules/lodash/_baseIsEqualDeep.js", "../node_modules/lodash/_baseIsEqual.js", "../node_modules/lodash/_baseIsMatch.js", "../node_modules/lodash/_isStrictComparable.js", "../node_modules/lodash/_getMatchData.js", "../node_modules/lodash/_matchesStrictComparable.js", "../node_modules/lodash/_baseMatches.js", "../node_modules/lodash/isSymbol.js", "../node_modules/lodash/_isKey.js", "../node_modules/lodash/memoize.js", "../node_modules/lodash/_memoizeCapped.js", "../node_modules/lodash/_stringToPath.js", "../node_modules/lodash/_arrayMap.js", "../node_modules/lodash/_baseToString.js", "../node_modules/lodash/toString.js", "../node_modules/lodash/_castPath.js", "../node_modules/lodash/_toKey.js", "../node_modules/lodash/_baseGet.js", "../node_modules/lodash/get.js", "../node_modules/lodash/_baseHasIn.js", "../node_modules/lodash/_hasPath.js", "../node_modules/lodash/hasIn.js", "../node_modules/lodash/_baseMatchesProperty.js", "../node_modules/lodash/identity.js", "../node_modules/lodash/_baseProperty.js", "../node_modules/lodash/_basePropertyDeep.js", "../node_modules/lodash/property.js", "../node_modules/lodash/_baseIteratee.js", "../node_modules/lodash/_baseFindIndex.js", "../node_modules/lodash/_baseIsNaN.js", "../node_modules/lodash/_strictIndexOf.js", "../node_modules/lodash/_baseIndexOf.js", "../node_modules/lodash/_arrayIncludes.js", "../node_modules/lodash/_arrayIncludesWith.js", "../node_modules/lodash/noop.js", "../node_modules/lodash/_createSet.js", "../node_modules/lodash/_baseUniq.js", "../node_modules/lodash/uniqBy.js", "../src/convert-color.tsx", "../src/components/ColorConvert.tsx", "../src/utils.ts", "../node_modules/colorjs.io/src/multiply-matrices.js", "../node_modules/colorjs.io/src/util.js", "../node_modules/colorjs.io/src/hooks.js", "../node_modules/colorjs.io/src/defaults.js", "../node_modules/colorjs.io/src/adapt.js", "../node_modules/colorjs.io/src/parse.js", "../node_modules/colorjs.io/src/getColor.js", "../node_modules/colorjs.io/src/space.js", "../node_modules/colorjs.io/src/spaces/xyz-d65.js", "../node_modules/colorjs.io/src/rgbspace.js", "../node_modules/colorjs.io/src/getAll.js", "../node_modules/colorjs.io/src/get.js", "../node_modules/colorjs.io/src/setAll.js", "../node_modules/colorjs.io/src/set.js", "../node_modules/colorjs.io/src/spaces/xyz-d50.js", "../node_modules/colorjs.io/src/spaces/lab.js", "../node_modules/colorjs.io/src/angles.js", "../node_modules/colorjs.io/src/spaces/lch.js", "../node_modules/colorjs.io/src/deltaE/deltaE2000.js", "../node_modules/colorjs.io/src/spaces/oklab.js", "../node_modules/colorjs.io/src/deltaE/deltaEOK.js", "../node_modules/colorjs.io/src/inGamut.js", "../node_modules/colorjs.io/src/clone.js", "../node_modules/colorjs.io/src/distance.js", "../node_modules/colorjs.io/src/deltaE/deltaE76.js", "../node_modules/colorjs.io/src/deltaE/deltaECMC.js", "../node_modules/colorjs.io/src/spaces/xyz-abs-d65.js", "../node_modules/colorjs.io/src/spaces/jzazbz.js", "../node_modules/colorjs.io/src/spaces/jzczhz.js", "../node_modules/colorjs.io/src/deltaE/deltaEJz.js", "../node_modules/colorjs.io/src/spaces/ictcp.js", "../node_modules/colorjs.io/src/deltaE/deltaEITP.js", "../node_modules/colorjs.io/src/spaces/cam16.js", "../node_modules/colorjs.io/src/spaces/hct.js", "../node_modules/colorjs.io/src/deltaE/deltaEHCT.js", "../node_modules/colorjs.io/src/deltaE/index.js", "../node_modules/colorjs.io/src/toGamut.js", "../node_modules/colorjs.io/src/to.js", "../node_modules/colorjs.io/src/serialize.js", "../node_modules/colorjs.io/src/spaces/rec2020-linear.js", "../node_modules/colorjs.io/src/spaces/rec2020.js", "../node_modules/colorjs.io/src/spaces/p3-linear.js", "../node_modules/colorjs.io/src/spaces/srgb-linear.js", "../node_modules/colorjs.io/src/keywords.js", "../node_modules/colorjs.io/src/spaces/srgb.js", "../node_modules/colorjs.io/src/spaces/p3.js", "../node_modules/colorjs.io/src/display.js", "../node_modules/colorjs.io/src/equals.js", "../node_modules/colorjs.io/src/luminance.js", "../node_modules/colorjs.io/src/contrast/WCAG21.js", "../node_modules/colorjs.io/src/contrast/APCA.js", "../node_modules/colorjs.io/src/contrast/Michelson.js", "../node_modules/colorjs.io/src/contrast/Weber.js", "../node_modules/colorjs.io/src/contrast/Lstar.js", "../node_modules/colorjs.io/src/spaces/lab-d65.js", "../node_modules/colorjs.io/src/contrast/deltaPhi.js", "../node_modules/colorjs.io/src/contrast.js", "../node_modules/colorjs.io/src/chromaticity.js", "../node_modules/colorjs.io/src/deltaE.js", "../node_modules/colorjs.io/src/variations.js", "../node_modules/colorjs.io/src/interpolation.js", "../node_modules/colorjs.io/src/spaces/hsl.js", "../node_modules/colorjs.io/src/spaces/hsv.js", "../node_modules/colorjs.io/src/spaces/hwb.js", "../node_modules/colorjs.io/src/spaces/a98rgb-linear.js", "../node_modules/colorjs.io/src/spaces/a98rgb.js", "../node_modules/colorjs.io/src/spaces/prophoto-linear.js", "../node_modules/colorjs.io/src/spaces/prophoto.js", "../node_modules/colorjs.io/src/spaces/oklch.js", "../node_modules/colorjs.io/src/spaces/luv.js", "../node_modules/colorjs.io/src/spaces/lchuv.js", "../node_modules/colorjs.io/src/spaces/hsluv.js", "../node_modules/colorjs.io/src/spaces/hpluv.js", "../node_modules/colorjs.io/src/spaces/rec2100-pq.js", "../node_modules/colorjs.io/src/spaces/rec2100-hlg.js", "../node_modules/colorjs.io/src/CATs.js", "../node_modules/colorjs.io/src/spaces/acescg.js", "../node_modules/colorjs.io/src/spaces/acescc.js", "../node_modules/colorjs.io/src/color.js", "../node_modules/colorjs.io/src/spaces/index.js", "../node_modules/colorjs.io/src/space-accessors.js", "../node_modules/colorjs.io/src/index.js"], + "sourcesContent": ["/**\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 this.size = 0;\n}\n\nmodule.exports = listCacheClear;\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\nmodule.exports = eq;\n", "var eq = require('./eq');\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\nmodule.exports = assocIndexOf;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\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 --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n", "var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheGet;\n", "var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheHas;\n", "var assocIndexOf = require('./_assocIndexOf');\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 ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n", "var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = ListCache;\n", "var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n", "/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\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 stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n", "/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n", "/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\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 stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n", "/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\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 root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\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 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", "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", "/**\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", "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", "var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n", "var coreJsData = require('./_coreJsData');\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/**\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\nmodule.exports = isMasked;\n", "/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\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\nmodule.exports = toSource;\n", "var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\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 for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\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/** 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/**\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) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\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\nmodule.exports = getValue;\n", "var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\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\nmodule.exports = getNative;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n", "var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n", "var nativeCreate = require('./_nativeCreate');\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 this.size = 0;\n}\n\nmodule.exports = hashClear;\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 var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 * 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\nmodule.exports = hashGet;\n", "var nativeCreate = require('./_nativeCreate');\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 * 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\nmodule.exports = hashHas;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n", "var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = Hash;\n", "var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\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.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\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\nmodule.exports = isKeyable;\n", "var isKeyable = require('./_isKeyable');\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\nmodule.exports = getMapData;\n", "var getMapData = require('./_getMapData');\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 var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n", "var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheGet;\n", "var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheHas;\n", "var getMapData = require('./_getMapData');\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 var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n", "var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = MapCache;\n", "var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n", "var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n", "/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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\nmodule.exports = setCacheAdd;\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\nmodule.exports = setCacheHas;\n", "var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\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 == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n", "/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\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\nmodule.exports = cacheHas;\n", "var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n", "var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n", "/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n", "/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n", "var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\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\nmodule.exports = arrayPush;\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 arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\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\nmodule.exports = baseGetAllKeys;\n", "/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\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 = stubArray;\n", "var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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 nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols 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 ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\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 * 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 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 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 * 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", "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", "/** 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 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", "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", "/**\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", "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", "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 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", "/** 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", "/**\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 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 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", "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 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", "var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and 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 getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n", "var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\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 * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n", "var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n", "var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\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 * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n", "var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n", "var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n", "var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n", "var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n", "/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n", "var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n", "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\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\nmodule.exports = isSymbol;\n", "var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n", "var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n", "var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n", "var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\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 == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n", "var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n", "var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n", "var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n", "var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\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\nmodule.exports = toKey;\n", "var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n", "var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n", "/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n", "var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n", "var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n", "var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n", "/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n", "/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n", "var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n", "var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n", "var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\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\nmodule.exports = baseFindIndex;\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\nmodule.exports = baseIsNaN;\n", "/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\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 strictIndexOf(array, value, fromIndex) {\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\nmodule.exports = strictIndexOf;\n", "var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\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 return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n", "var baseIndexOf = require('./_baseIndexOf');\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 == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\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 == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\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", "var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n", "var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\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 seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n", "var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n", "import { getSelectedText, LaunchProps, showToast, Toast, List, LocalStorage } from \"@raycast/api\";\nimport { ColorConvertListItem } from \"./components/ColorConvert\";\nimport { useEffect, useState } from \"react\";\n\nexport default function ConvertColor(props: LaunchProps) {\n const [colorText, setColorText] = useState<string | null>(props.arguments.text || null);\n const [lastConvertedColorFormat, setLastConvertedColorFormat] = useState<string | undefined>(undefined);\n\n useEffect(() => {\n async function getLastConvertedColorFormat() {\n const lastFormat = await LocalStorage.getItem<string>(\"lastConvertedColorFormat\");\n setLastConvertedColorFormat(lastFormat);\n }\n\n getLastConvertedColorFormat();\n\n if (!colorText) {\n getSelectedText()\n .then(setColorText)\n .catch(async () => {\n await showToast({\n style: Toast.Style.Failure,\n title: \"No text found.\",\n message: \"Select a color in any app, or provide it as an argument, then try again.\",\n });\n });\n }\n }, []);\n\n const format = [\n { title: \"HEX\", subtitle: \"#FF6363\", value: \"hex\" },\n { title: \"HEX Lower Case\", subtitle: \"#ff6363\", value: \"hex-lower-case\" },\n { title: \"HEX No Prefix\", subtitle: \"FF6363\", value: \"hex-no-prefix\" },\n { title: \"RGB\", subtitle: \"rgb(255 99 99 / 100%)\", value: \"rgb\" },\n { title: \"RGB %\", subtitle: \"rgb(100% 38% 38% / 100%)\", value: \"rgb-percentage\" },\n { title: \"RGBA\", subtitle: \"rgba(255, 99, 99, 1)\", value: \"rgba\" },\n { title: \"RGBA %\", subtitle: \"rgba(100%, 39%, 39%, 1)\", value: \"rgba-percentage\" },\n { title: \"HSLA\", subtitle: \"hsla(0, 100%, 69%, 1)\", value: \"hsla\" },\n { title: \"HSVA\", subtitle: \"color(hsv 43.082 81.145 100)\", value: \"hsva\" },\n { title: \"OKLCH\", subtitle: \"oklch(0.6987 0.1902 23.468)\", value: \"oklch\" },\n { title: \"LCH\", subtitle: \"lch(63.127 68.676 28.723)\", value: \"lch\" },\n { title: \"P3\", subtitle: \"color(display-p3 0.9248 0.428 0.4078)\", value: \"p3\" },\n ];\n\n if (lastConvertedColorFormat) {\n const index = format.findIndex((item) => item.value === lastConvertedColorFormat);\n if (index !== -1) {\n const [lastFormat] = format.splice(index, 1);\n format.unshift(lastFormat);\n }\n }\n\n if (!colorText) {\n return <List isLoading={true} />;\n }\n\n return (\n <List>\n {format.map((item) => (\n <ColorConvertListItem\n key={item.value}\n text={colorText}\n title={item.title}\n subtitle={item.subtitle}\n value={item.value}\n />\n ))}\n </List>\n );\n}\n", "import { Action, ActionPanel, List, showToast, Toast, Clipboard, showHUD, popToRoot, LocalStorage } from \"@raycast/api\";\nimport { getFormattedColor } from \"../utils\";\nimport { ColorFormatType } from \"../types\";\n\ninterface ColorFormatProps {\n text: string;\n title: string;\n subtitle: string;\n value: string;\n}\n\nasync function getConvertedColor(text: string, format: ColorFormatType) {\n try {\n const convertedColor = getFormattedColor(text, format);\n return convertedColor;\n } catch (error) {\n await showToast({\n style: Toast.Style.Failure,\n title: \"Conversion failed\",\n message: `\"${text}\" is not a valid color.`,\n });\n }\n}\n\nexport const ColorConvertListItem = ({ text, title, subtitle, value }: ColorFormatProps) => {\n return (\n <List.Item\n title={title}\n subtitle={subtitle}\n actions={\n <ActionPanel>\n <Action\n title=\"Copy Converted Color\"\n onAction={async () => {\n const convertedColor = await getConvertedColor(text, value as ColorFormatType);\n if (convertedColor) {\n await Clipboard.copy(convertedColor);\n await showHUD(\"Copied color to clipboard\");\n }\n LocalStorage.setItem(\"lastConvertedColorFormat\", value);\n popToRoot({ clearSearchBar: true });\n }}\n />\n </ActionPanel>\n }\n />\n );\n};\n", "import { getPreferenceValues, Icon, Image, Keyboard, List } from \"@raycast/api\";\nimport ColorJS from \"colorjs.io\";\nimport { Colors, Palette } from \"color-namer\";\nimport uniqBy from \"lodash/uniqBy\";\nimport { HistoryColor, HistoryItem } from \"./types\";\nimport { ColorFormatType } from \"./types\";\n\nconst preferences = getPreferenceValues<ExtensionPreferences>();\n\nexport function getFormattedColor(_color: HistoryColor, format?: ColorFormatType) {\n let color;\n if (typeof _color === \"string\") {\n color = new ColorJS(_color);\n } else if (\"colorSpace\" in _color) {\n color = new ColorJS(_color.colorSpace, [_color.red, _color.green, _color.blue], _color.alpha);\n } else {\n color = new ColorJS(\"srgb\", [_color.red / 255, _color.green / 255, _color.blue / 255], _color.alpha);\n }\n\n switch (format || preferences.colorFormat) {\n default:\n case \"hex\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).toUpperCase();\n }\n case \"hex-lower-case\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).toLowerCase();\n }\n case \"hex-no-prefix\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).replace(\"#\", \"\");\n }\n case \"rgb\": {\n return color.to(\"srgb\").toString({ format: \"rgb_number\" });\n }\n case \"rgb-percentage\": {\n return color.to(\"srgb\").toString({ format: \"rgb\" });\n }\n case \"rgba\": {\n return color.to(\"srgb\").toString({ format: \"rgba_number\" });\n }\n case \"rgba-percentage\": {\n return color.to(\"srgb\").toString({ format: \"rgba\" });\n }\n case \"hsla\": {\n return color.to(\"hsl\").toString({ format: \"hsla\" });\n }\n case \"hsva\": {\n return color.to(\"hsv\").toString({ format: \"color\" });\n }\n case \"oklch\": {\n const oklchColor = color.to(\"oklch\");\n const [l, c, h] = oklchColor.coords;\n const lPercentage = (l * 100).toFixed(2);\n return `oklch(${lPercentage}% ${c} ${h})`;\n }\n case \"lch\": {\n const lchColor = color.to(\"lch\");\n const [l, c, h] = lchColor.coords;\n return `lch(${l.toFixed(2)}% ${c} ${h})`;\n }\n case \"p3\": {\n return color.to(\"p3\").toString({ format: \"p3\" });\n }\n }\n}\n\nconst unsupportedPreviewFormats = [\"p3\", \"rgb\", \"rgb-percentage\"];\nexport function getPreviewColor(color: HistoryColor) {\n const formattedColor = getFormattedColor(\n color,\n unsupportedPreviewFormats.includes(preferences.colorFormat) ? \"oklch\" : undefined,\n );\n return formattedColor;\n}\n\nexport function getShortcut(index: number) {\n const key = index + 1;\n\n let shortcut: Keyboard.Shortcut | undefined;\n if (key >= 1 && key <= 9) {\n shortcut = { modifiers: [\"cmd\"], key: String(key) as Keyboard.KeyEquivalent };\n }\n\n return shortcut;\n}\n\nexport function getIcon(color: HistoryColor) {\n const previewColor = typeof color === \"string\" ? color : getFormattedColor(color, \"hex\");\n if (!previewColor) {\n return undefined;\n }\n\n const icon: Image.ImageLike = {\n source: Icon.CircleFilled,\n tintColor: { light: previewColor, dark: previewColor, adjustContrast: false },\n };\n\n return icon;\n}\n\nexport function getAccessories(historyItem: HistoryItem) {\n const accessories = new Array<List.Item.Accessory>();\n accessories.push({ date: new Date(historyItem.date), tooltip: new Date(historyItem.date).toLocaleString() });\n return accessories;\n}\n\nexport function normalizeColorHex(colorInput: string) {\n let hex = colorInput.replace(/^#/, \"\");\n const validHexPattern = /^([a-f\\d]{3,4}|[a-f\\d]{6}|[a-f]\\d{8})$/i;\n if (validHexPattern.test(hex)) {\n switch (hex.length) {\n case 3:\n case 4:\n hex = hex\n .slice(0, 3)\n .split(\"\")\n .map((x) => x.repeat(2))\n .join(\"\");\n break;\n case 8:\n hex = hex.slice(0, 6);\n break;\n }\n }\n return \"#\" + hex.toUpperCase();\n}\n\nexport function getColorByPlatform(normalizedSearchString: string, colors?: Colors<Palette>) {\n return Object.entries(colors ?? {}).sort(([, a], [, b]) => {\n if (normalizeColorHex(a[0].hex) === normalizeColorHex(b[0].hex)) return 0;\n if (normalizedSearchString === normalizeColorHex(a[0].hex)) return -1;\n return 1;\n });\n}\n\nexport function getColorByProximity(colors?: Colors<Palette>) {\n return uniqBy(Object.values(colors ?? {}).flat(), (x) => x.name.toLowerCase()).sort(\n (a, b) => a.distance - b.distance,\n );\n}\n", "// A is m x n. B is n x p. product is m x p.\nexport default function multiplyMatrices (A, B) {\n\tlet m = A.length;\n\n\tif (!Array.isArray(A[0])) {\n\t\t// A is vector, convert to [[a, b, c, ...]]\n\t\tA = [A];\n\t}\n\n\tif (!Array.isArray(B[0])) {\n\t\t// B is vector, convert to [[a], [b], [c], ...]]\n\t\tB = B.map(x => [x]);\n\t}\n\n\tlet p = B[0].length;\n\tlet B_cols = B[0].map((_, i) => B.map(x => x[i])); // transpose B\n\tlet product = A.map(row => B_cols.map(col => {\n\t\tlet ret = 0;\n\n\t\tif (!Array.isArray(row)) {\n\t\t\tfor (let c of col) {\n\t\t\t\tret += row * c;\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t}\n\n\t\tfor (let i = 0; i < row.length; i++) {\n\t\t\tret += row[i] * (col[i] || 0);\n\t\t}\n\n\t\treturn ret;\n\t}));\n\n\tif (m === 1) {\n\t\tproduct = product[0]; // Avoid [[a, b, c, ...]]\n\t}\n\n\tif (p === 1) {\n\t\treturn product.map(x => x[0]); // Avoid [[a], [b], [c], ...]]\n\t}\n\n\treturn product;\n}\n", "/**\n * Various utility functions\n */\n\nexport {default as multiplyMatrices} from \"./multiply-matrices.js\";\n\n/**\n * Check if a value is a string (including a String object)\n * @param {*} str - Value to check\n * @returns {boolean}\n */\nexport function isString (str) {\n\treturn type(str) === \"string\";\n}\n\n/**\n * Determine the internal JavaScript [[Class]] of an object.\n * @param {*} o - Value to check\n * @returns {string}\n */\nexport function type (o) {\n\tlet str = Object.prototype.toString.call(o);\n\n\treturn (str.match(/^\\[object\\s+(.*?)\\]$/)[1] || \"\").toLowerCase();\n}\n\nexport function serializeNumber (n, {precision, unit }) {\n\tif (isNone(n)) {\n\t\treturn \"none\";\n\t}\n\n\treturn toPrecision(n, precision) + (unit ?? \"\");\n}\n\n/**\n * Check if a value corresponds to a none argument\n * @param {*} n - Value to check\n * @returns {boolean}\n */\nexport function isNone (n) {\n\treturn Number.isNaN(n) || (n instanceof Number && n?.none);\n}\n\n/**\n * Replace none values with 0\n */\nexport function skipNone (n) {\n\treturn isNone(n) ? 0 : n;\n}\n\n/**\n * Round a number to a certain number of significant digits\n * @param {number} n - The number to round\n * @param {number} precision - Number of significant digits\n */\nexport function toPrecision (n, precision) {\n\tif (n === 0) {\n\t\treturn 0;\n\t}\n\tlet integer = ~~n;\n\tlet digits = 0;\n\tif (integer && precision) {\n\t\tdigits = ~~Math.log10(Math.abs(integer)) + 1;\n\t}\n\tconst multiplier = 10.0 ** (precision - digits);\n\treturn Math.floor(n * multiplier + 0.5) / multiplier;\n}\n\nconst angleFactor = {\n\tdeg: 1,\n\tgrad: 0.9,\n\trad: 180 / Math.PI,\n\tturn: 360,\n};\n\n/**\n* Parse a CSS function, regardless of its name and arguments\n* @param String str String to parse\n* @return {{name, args, rawArgs}}\n*/\nexport function parseFunction (str) {\n\tif (!str) {\n\t\treturn;\n\t}\n\n\tstr = str.trim();\n\n\tconst isFunctionRegex = /^([a-z]+)\\((.+?)\\)$/i;\n\tconst isNumberRegex = /^-?[\\d.]+$/;\n\tconst unitValueRegex = /%|deg|g?rad|turn$/;\n\tconst singleArgument = /\\/?\\s*(none|[-\\w.]+(?:%|deg|g?rad|turn)?)/g;\n\tlet parts = str.match(isFunctionRegex);\n\n\tif (parts) {\n\t\t// It is a function, parse args\n\t\tlet args = [];\n\t\tparts[2].replace(singleArgument, ($0, rawArg) => {\n\t\t\tlet match = rawArg.match(unitValueRegex);\n\t\t\tlet arg = rawArg;\n\n\t\t\tif (match) {\n\t\t\t\tlet unit = match[0];\n\t\t\t\t// Drop unit from value\n\t\t\t\tlet unitlessArg = arg.slice(0, -unit.length);\n\n\t\t\t\tif (unit === \"%\") {\n\t\t\t\t\t// Convert percentages to 0-1 numbers\n\t\t\t\t\targ = new Number(unitlessArg / 100);\n\t\t\t\t\targ.type = \"<percentage>\";\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Multiply angle by appropriate factor for its unit\n\t\t\t\t\targ = new Number(unitlessArg * angleFactor[unit]);\n\t\t\t\t\targ.type = \"<angle>\";\n\t\t\t\t\targ.unit = unit;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (isNumberRegex.test(arg)) {\n\t\t\t\t// Convert numerical args to numbers\n\t\t\t\targ = new Number(arg);\n\t\t\t\targ.type = \"<number>\";\n\t\t\t}\n\t\t\telse if (arg === \"none\") {\n\t\t\t\targ = new Number(NaN);\n\t\t\t\targ.none = true;\n\t\t\t}\n\n\t\t\tif ($0.startsWith(\"/\")) {\n\t\t\t\t// It's alpha\n\t\t\t\targ = arg instanceof Number ? arg : new Number(arg);\n\t\t\t\targ.alpha = true;\n\t\t\t}\n\n\t\t\tif (typeof arg === \"object\" && arg instanceof Number) {\n\t\t\t\targ.raw = rawArg;\n\t\t\t}\n\n\t\t\targs.push(arg);\n\t\t});\n\n\t\treturn {\n\t\t\tname: parts[1].toLowerCase(),\n\t\t\trawName: parts[1],\n\t\t\trawArgs: parts[2],\n\t\t\t// An argument could be (as of css-color-4):\n\t\t\t// a number, percentage, degrees (hue), ident (in color())\n\t\t\targs,\n\t\t};\n\t}\n}\n\nexport function last (arr) {\n\treturn arr[arr.length - 1];\n}\n\nexport function interpolate (start, end, p) {\n\tif (isNaN(start)) {\n\t\treturn end;\n\t}\n\n\tif (isNaN(end)) {\n\t\treturn start;\n\t}\n\n\treturn start + (end - start) * p;\n}\n\nexport function interpolateInv (start, end, value) {\n\treturn (value - start) / (end - start);\n}\n\nexport function mapRange (from, to, value) {\n\treturn interpolate(to[0], to[1], interpolateInv(from[0], from[1], value));\n}\n\nexport function parseCoordGrammar (coordGrammars) {\n\treturn coordGrammars.map(coordGrammar => {\n\t\treturn coordGrammar.split(\"|\").map(type => {\n\t\t\ttype = type.trim();\n\t\t\tlet range = type.match(/^(<[a-z]+>)\\[(-?[.\\d]+),\\s*(-?[.\\d]+)\\]?$/);\n\n\t\t\tif (range) {\n\t\t\t\tlet ret = new String(range[1]);\n\t\t\t\tret.range = [+range[2], +range[3]];\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn type;\n\t\t});\n\t});\n}\n\n/**\n * Clamp value between the minimum and maximum\n * @param {number} min minimum value to return\n * @param {number} val the value to return if it is between min and max\n * @param {number} max maximum value to return\n * @returns number\n */\nexport function clamp (min, val, max) {\n\treturn Math.max(Math.min(max, val), min);\n}\n\n/**\n * Copy sign of one value to another.\n * @param {number} - to number to copy sign to\n * @param {number} - from number to copy sign from\n * @returns number\n */\nexport function copySign (to, from) {\n\treturn Math.sign(to) === Math.sign(from) ? to : -to;\n}\n\n/**\n * Perform pow on a signed number and copy sign to result\n * @param {number} - base the base number\n * @param {number} - exp the exponent\n * @returns number\n */\nexport function spow (base, exp) {\n\treturn copySign(Math.abs(base) ** exp, base);\n}\n\n/**\n * Perform a divide, but return zero if the numerator is zero\n * @param {number} n - the numerator\n * @param {number} d - the denominator\n * @returns number\n */\nexport function zdiv (n, d) {\n\treturn (d === 0) ? 0 : n / d;\n}\n\n/**\n * Perform a bisect on a sorted list and locate the insertion point for\n * a value in arr to maintain sorted order.\n * @param {number[]} arr - array of sorted numbers\n * @param {number} value - value to find insertion point for\n * @param {number} lo - used to specify a the low end of a subset of the list\n * @param {number} hi - used to specify a the high end of a subset of the list\n * @returns number\n */\nexport function bisectLeft (arr, value, lo = 0, hi = arr.length) {\n\twhile (lo < hi) {\n\t\tconst mid = (lo + hi) >> 1;\n\t\tif (arr[mid] < value) {\n\t\t\tlo = mid + 1;\n\t\t}\n\t\telse {\n\t\t\thi = mid;\n\t\t}\n\t}\n\treturn lo;\n}\n", "/**\n * A class for adding deep extensibility to any piece of JS code\n */\nexport class Hooks {\n\tadd (name, callback, first) {\n\t\tif (typeof arguments[0] != \"string\") {\n\t\t\t// Multiple hooks\n\t\t\tfor (var name in arguments[0]) {\n\t\t\t\tthis.add(name, arguments[0][name], arguments[1]);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t(Array.isArray(name) ? name : [name]).forEach(function (name) {\n\t\t\tthis[name] = this[name] || [];\n\n\t\t\tif (callback) {\n\t\t\t\tthis[name][first ? \"unshift\" : \"push\"](callback);\n\t\t\t}\n\t\t}, this);\n\t}\n\n\trun (name, env) {\n\t\tthis[name] = this[name] || [];\n\t\tthis[name].forEach(function (callback) {\n\t\t\tcallback.call(env && env.context ? env.context : env, env);\n\t\t});\n\t}\n}\n\n/**\n * The instance of {@link Hooks} used throughout Color.js\n */\nconst hooks = new Hooks();\n\nexport default hooks;\n", "// Global defaults one may want to configure\nexport default {\n\tgamut_mapping: \"css\",\n\tprecision: 5,\n\tdeltaE: \"76\", // Default deltaE method\n\tverbose: globalThis?.process?.env?.NODE_ENV?.toLowerCase() !== \"test\",\n\twarn: function warn (msg) {\n\t\tif (this.verbose) {\n\t\t\tglobalThis?.console?.warn?.(msg);\n\t\t}\n\t},\n};\n", "import hooks from \"./hooks.js\";\nimport {multiplyMatrices} from \"./util.js\";\n\nexport const WHITES = {\n\t// for compatibility, the four-digit chromaticity-derived ones everyone else uses\n\tD50: [0.3457 / 0.3585, 1.00000, (1.0 - 0.3457 - 0.3585) / 0.3585],\n\tD65: [0.3127 / 0.3290, 1.00000, (1.0 - 0.3127 - 0.3290) / 0.3290],\n};\n\nexport function getWhite (name) {\n\tif (Array.isArray(name)) {\n\t\treturn name;\n\t}\n\n\treturn WHITES[name];\n}\n\n// Adapt XYZ from white point W1 to W2\nexport default function adapt (W1, W2, XYZ, options = {}) {\n\tW1 = getWhite(W1);\n\tW2 = getWhite(W2);\n\n\tif (!W1 || !W2) {\n\t\tthrow new TypeError(`Missing white point to convert ${!W1 ? \"from\" : \"\"}${!W1 && !W2 ? \"/\" : \"\"}${!W2 ? \"to\" : \"\"}`);\n\t}\n\n\tif (W1 === W2) {\n\t\t// Same whitepoints, no conversion needed\n\t\treturn XYZ;\n\t}\n\n\tlet env = {W1, W2, XYZ, options};\n\n\thooks.run(\"chromatic-adaptation-start\", env);\n\n\tif (!env.M) {\n\t\tif (env.W1 === WHITES.D65 && env.W2 === WHITES.D50) {\n\t\t\tenv.M = [\n\t\t\t\t[ 1.0479297925449969, 0.022946870601609652, -0.05019226628920524 ],\n\t\t\t\t[ 0.02962780877005599, 0.9904344267538799, -0.017073799063418826 ],\n\t\t\t\t[ -0.009243040646204504, 0.015055191490298152, 0.7518742814281371 ],\n\t\t\t];\n\t\t}\n\t\telse if (env.W1 === WHITES.D50 && env.W2 === WHITES.D65) {\n\n\t\t\tenv.M = [\n\t\t\t\t[ 0.955473421488075, -0.02309845494876471, 0.06325924320057072 ],\n\t\t\t\t[ -0.0283697093338637, 1.0099953980813041, 0.021041441191917323 ],\n\t\t\t\t[ 0.012314014864481998, -0.020507649298898964, 1.330365926242124 ],\n\t\t\t];\n\t\t}\n\t}\n\n\thooks.run(\"chromatic-adaptation-end\", env);\n\n\tif (env.M) {\n\t\treturn multiplyMatrices(env.M, env.XYZ);\n\t}\n\telse {\n\t\tthrow new TypeError(\"Only Bradford CAT with white points D50 and D65 supported for now.\");\n\t}\n}\n", "import * as util from \"./util.js\";\nimport hooks from \"./hooks.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\n\nconst noneTypes = new Set([\"<number>\", \"<percentage>\", \"<angle>\"]);\n\n/**\n * Validates the coordinates of a color against a format's coord grammar and\n * maps the coordinates to the range or refRange of the coordinates.\n * @param {ColorSpace} space - Colorspace the coords are in\n * @param {object} format - the format object to validate against\n * @param {string} name - the name of the color function. e.g. \"oklab\" or \"color\"\n * @returns {object[]} - an array of type metadata for each coordinate\n */\nfunction coerceCoords (space, format, name, coords) {\n\tlet types = Object.entries(space.coords).map(([id, coordMeta], i) => {\n\t\tlet coordGrammar = format.coordGrammar[i];\n\t\tlet arg = coords[i];\n\t\tlet providedType = arg?.type;\n\n\t\t// Find grammar alternative that matches the provided type\n\t\t// Non-strict equals is intentional because we are comparing w/ string objects\n\t\tlet type;\n\t\tif (arg.none) {\n\t\t\ttype = coordGrammar.find(c => noneTypes.has(c));\n\t\t}\n\t\telse {\n\t\t\ttype = coordGrammar.find(c => c == providedType);\n\t\t}\n\n\t\t// Check that each coord conforms to its grammar\n\t\tif (!type) {\n\t\t\t// Type does not exist in the grammar, throw\n\t\t\tlet coordName = coordMeta.name || id;\n\t\t\tthrow new TypeError(`${providedType ?? arg.raw} not allowed for ${coordName} in ${name}()`);\n\t\t}\n\n\t\tlet fromRange = type.range;\n\n\t\tif (providedType === \"<percentage>\") {\n\t\t\tfromRange ||= [0, 1];\n\t\t}\n\n\t\tlet toRange = coordMeta.range || coordMeta.refRange;\n\n\t\tif (fromRange && toRange) {\n\t\t\tcoords[i] = util.mapRange(fromRange, toRange, coords[i]);\n\t\t}\n\n\t\treturn type;\n\t});\n\n\treturn types;\n}\n\n\n/**\n * Convert a CSS Color string to a color object\n * @param {string} str\n * @param {object} [options]\n * @param {object} [options.meta] - Object for additional information about the parsing\n * @returns {Color}\n */\nexport default function parse (str, {meta} = {}) {\n\tlet env = {\"str\": String(str)?.trim()};\n\thooks.run(\"parse-start\", env);\n\n\tif (env.color) {\n\t\treturn env.color;\n\t}\n\n\tenv.parsed = util.parseFunction(env.str);\n\n\tif (env.parsed) {\n\t\t// Is a functional syntax\n\t\tlet name = env.parsed.name;\n\n\t\tif (name === \"color\") {\n\t\t\t// color() function\n\t\t\tlet id = env.parsed.args.shift();\n\t\t\t// Check against both <dashed-ident> and <ident> versions\n\t\t\tlet alternateId = id.startsWith(\"--\") ? id.substring(2) : `--${id}`;\n\t\t\tlet ids = [id, alternateId];\n\t\t\tlet alpha = env.parsed.rawArgs.indexOf(\"/\") > 0 ? env.parsed.args.pop() : 1;\n\n\t\t\tfor (let space of ColorSpace.all) {\n\t\t\t\tlet colorSpec = space.getFormat(\"color\");\n\n\t\t\t\tif (colorSpec) {\n\t\t\t\t\tif (ids.includes(colorSpec.id) || colorSpec.ids?.filter((specId) => ids.includes(specId)).length) {\n\t\t\t\t\t\t// From https://drafts.csswg.org/css-color-4/#color-function\n\t\t\t\t\t\t// If more <number>s or <percentage>s are provided than parameters that the colorspace takes, the excess <number>s at the end are ignored.\n\t\t\t\t\t\t// If less <number>s or <percentage>s are provided than parameters that the colorspace takes, the missing parameters default to 0. (This is particularly convenient for multichannel printers where the additional inks are spot colors or varnishes that most colors on the page won’t use.)\n\t\t\t\t\t\tconst coords = Object.keys(space.coords).map((_, i) => env.parsed.args[i] || 0);\n\n\t\t\t\t\t\tlet types;\n\n\t\t\t\t\t\tif (colorSpec.coordGrammar) {\n\t\t\t\t\t\t\ttypes = coerceCoords(space, colorSpec, \"color\", coords);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (meta) {\n\t\t\t\t\t\t\tObject.assign(meta, {formatId: \"color\", types});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (colorSpec.id.startsWith(\"--\") && !id.startsWith(\"--\")) {\n\t\t\t\t\t\t\tdefaults.warn(`${space.name} is a non-standard space and not currently supported in the CSS spec. ` +\n\t\t\t\t\t\t\t `Use prefixed color(${colorSpec.id}) instead of color(${id}).`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (id.startsWith(\"--\") && !colorSpec.id.startsWith(\"--\")) {\n\t\t\t\t\t\t\tdefaults.warn(`${space.name} is a standard space and supported in the CSS spec. ` +\n\t\t\t\t\t\t\t `Use color(${colorSpec.id}) instead of prefixed color(${id}).`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {spaceId: space.id, coords, alpha};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Not found\n\t\t\tlet didYouMean = \"\";\n\t\t\tlet registryId = id in ColorSpace.registry ? id : alternateId;\n\t\t\tif (registryId in ColorSpace.registry) {\n\t\t\t\t// Used color space id instead of color() id, these are often different\n\t\t\t\tlet cssId = ColorSpace.registry[registryId].formats?.color?.id;\n\n\t\t\t\tif (cssId) {\n\t\t\t\t\tdidYouMean = `Did you mean color(${cssId})?`;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthrow new TypeError(`Cannot parse color(${id}). ` + (didYouMean || \"Missing a plugin?\"));\n\t\t}\n\t\telse {\n\t\t\tfor (let space of ColorSpace.all) {\n\t\t\t\t// color space specific function\n\t\t\t\tlet format = space.getFormat(name);\n\t\t\t\tif (format && format.type === \"function\") {\n\t\t\t\t\tlet alpha = 1;\n\n\t\t\t\t\tif (format.lastAlpha || util.last(env.parsed.args).alpha) {\n\t\t\t\t\t\talpha = env.parsed.args.pop();\n\t\t\t\t\t}\n\n\t\t\t\t\tlet coords = env.parsed.args;\n\n\t\t\t\t\tlet types;\n\n\t\t\t\t\tif (format.coordGrammar) {\n\t\t\t\t\t\ttypes = coerceCoords(space, format, name, coords);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (meta) {\n\t\t\t\t\t\tObject.assign(meta, {formatId: format.name, types});\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tspaceId: space.id,\n\t\t\t\t\t\tcoords, alpha,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\telse {\n\t\t// Custom, colorspace-specific format\n\t\tfor (let space of ColorSpace.all) {\n\t\t\tfor (let formatId in space.formats) {\n\t\t\t\tlet format = space.formats[formatId];\n\n\t\t\t\tif (format.type !== \"custom\") {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (format.test && !format.test(env.str)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tlet color = format.parse(env.str);\n\n\t\t\t\tif (color) {\n\t\t\t\t\tcolor.alpha ??= 1;\n\n\t\t\t\t\tif (meta) {\n\t\t\t\t\t\tmeta.formatId = formatId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn color;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\n\t// If we're here, we couldn't parse\n\tthrow new TypeError(`Could not parse ${str} as a color. Missing a plugin?`);\n}\n", "import ColorSpace from \"./space.js\";\nimport {isString} from \"./util.js\";\nimport parse from \"./parse.js\";\n\n/**\n * Resolves a color reference (object or string) to a plain color object\n * @param {Color | {space, coords, alpha} | string | Array<Color | {space, coords, alpha} | string> } color\n * @returns {{space, coords, alpha} | Array<{space, coords, alpha}}>\n */\nexport default function getColor (color) {\n\tif (Array.isArray(color)) {\n\t\treturn color.map(getColor);\n\t}\n\n\tif (!color) {\n\t\tthrow new TypeError(\"Empty color reference\");\n\t}\n\n\tif (isString(color)) {\n\t\tcolor = parse(color);\n\t}\n\n\t// Object fixup\n\tlet space = color.space || color.spaceId;\n\n\tif (!(space instanceof ColorSpace)) {\n\t\t// Convert string id to color space object\n\t\tcolor.space = ColorSpace.get(space);\n\t}\n\n\tif (color.alpha === undefined) {\n\t\tcolor.alpha = 1;\n\t}\n\n\treturn color;\n}\n", "import {type, parseCoordGrammar, serializeNumber, mapRange} from \"./util.js\";\nimport {getWhite} from \"./adapt.js\";\nimport hooks from \"./hooks.js\";\nimport getColor from \"./getColor.js\";\n\nconst ε = .000075;\n\n/**\n * Class to represent a color space\n */\nexport default class ColorSpace {\n\tconstructor (options) {\n\t\tthis.id = options.id;\n\t\tthis.name = options.name;\n\t\tthis.base = options.base ? ColorSpace.get(options.base) : null;\n\t\tthis.aliases = options.aliases;\n\n\t\tif (this.base) {\n\t\t\tthis.fromBase = options.fromBase;\n\t\t\tthis.toBase = options.toBase;\n\t\t}\n\n\t\t// Coordinate metadata\n\n\t\tlet coords = options.coords ?? this.base.coords;\n\n\t\tfor (let name in coords) {\n\t\t\tif (!(\"name\" in coords[name])) {\n\t\t\t\tcoords[name].name = name;\n\t\t\t}\n\t\t}\n\t\tthis.coords = coords;\n\n\t\t// White point\n\n\t\tlet white = options.white ?? this.base.white ?? \"D65\";\n\t\tthis.white = getWhite(white);\n\n\t\t// Sort out formats\n\n\t\tthis.formats = options.formats ?? {};\n\n\t\tfor (let name in this.formats) {\n\t\t\tlet format = this.formats[name];\n\t\t\tformat.type ||= \"function\";\n\t\t\tformat.name ||= name;\n\t\t}\n\n\t\tif (!this.formats.color?.id) {\n\t\t\tthis.formats.color = {\n\t\t\t\t...this.formats.color ?? {},\n\t\t\t\tid: options.cssId || this.id,\n\t\t\t};\n\t\t}\n\n\t\t// Gamut space\n\n\t\tif (options.gamutSpace) {\n\t\t\t// Gamut space explicitly specified\n\t\t\tthis.gamutSpace = options.gamutSpace === \"self\" ? this : ColorSpace.get(options.gamutSpace);\n\t\t}\n\t\telse {\n\t\t\t// No gamut space specified, calculate a sensible default\n\t\t\tif (this.isPolar) {\n\t\t\t\t// Do not check gamut through polar coordinates\n\t\t\t\tthis.gamutSpace = this.base;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.gamutSpace = this;\n\t\t\t}\n\t\t}\n\n\t\t// Optimize inGamut for unbounded spaces\n\t\tif (this.gamutSpace.isUnbounded) {\n\t\t\tthis.inGamut = (coords, options) => {\n\t\t\t\treturn true;\n\t\t\t};\n\t\t}\n\n\t\t// Other stuff\n\t\tthis.referred = options.referred;\n\n\t\t// Compute ancestors and store them, since they will never change\n\t\tObject.defineProperty(this, \"path\", {\n\t\t\tvalue: getPath(this).reverse(),\n\t\t\twritable: false,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t});\n\n\t\thooks.run(\"colorspace-init-end\", this);\n\t}\n\n\tinGamut (coords, {epsilon = ε} = {}) {\n\t\tif (!this.equals(this.gamutSpace)) {\n\t\t\tcoords = this.to(this.gamutSpace, coords);\n\t\t\treturn this.gamutSpace.inGamut(coords, {epsilon});\n\t\t}\n\n\t\tlet coordMeta = Object.values(this.coords);\n\n\t\treturn coords.every((c, i) => {\n\t\t\tlet meta = coordMeta[i];\n\n\t\t\tif (meta.type !== \"angle\" && meta.range) {\n\t\t\t\tif (Number.isNaN(c)) {\n\t\t\t\t\t// NaN is always in gamut\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tlet [min, max] = meta.range;\n\t\t\t\treturn (min === undefined || c >= min - epsilon)\n\t\t\t\t && (max === undefined || c <= max + epsilon);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t});\n\t}\n\n\tget isUnbounded () {\n\t\treturn Object.values(this.coords).every(coord => !(\"range\" in coord));\n\t}\n\n\tget cssId () {\n\t\treturn this.formats?.color?.id || this.id;\n\t}\n\n\tget isPolar () {\n\t\tfor (let id in this.coords) {\n\t\t\tif (this.coords[id].type === \"angle\") {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tgetFormat (format) {\n\t\tif (typeof format === \"object\") {\n\t\t\tformat = processFormat(format, this);\n\t\t\treturn format;\n\t\t}\n\n\t\tlet ret;\n\t\tif (format === \"default\") {\n\t\t\t// Get first format\n\t\t\tret = Object.values(this.formats)[0];\n\t\t}\n\t\telse {\n\t\t\tret = this.formats[format];\n\t\t}\n\n\t\tif (ret) {\n\t\t\tret = processFormat(ret, this);\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/**\n\t * Check if this color space is the same as another color space reference.\n\t * Allows proxying color space objects and comparing color spaces with ids.\n\t * @param {string | ColorSpace} space ColorSpace object or id to compare to\n\t * @returns {boolean}\n\t */\n\tequals (space) {\n\t\tif (!space) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this === space || this.id === space || this.id === space.id;\n\t}\n\n\tto (space, coords) {\n\t\tif (arguments.length === 1) {\n\t\t\tconst color = getColor(space);\n\t\t\t[space, coords] = [color.space, color.coords];\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tif (this.equals(space)) {\n\t\t\t// Same space, no change needed\n\t\t\treturn coords;\n\t\t}\n\n\t\t// Convert NaN to 0, which seems to be valid in every coordinate of every color space\n\t\tcoords = coords.map(c => Number.isNaN(c) ? 0 : c);\n\n\t\t// Find connection space = lowest common ancestor in the base tree\n\t\tlet myPath = this.path;\n\t\tlet otherPath = space.path;\n\n\t\tlet connectionSpace, connectionSpaceIndex;\n\n\t\tfor (let i = 0; i < myPath.length; i++) {\n\t\t\tif (myPath[i].equals(otherPath[i])) {\n\t\t\t\tconnectionSpace = myPath[i];\n\t\t\t\tconnectionSpaceIndex = i;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (!connectionSpace) {\n\t\t\t// This should never happen\n\t\t\tthrow new Error(`Cannot convert between color spaces ${this} and ${space}: no connection space was found`);\n\t\t}\n\n\t\t// Go up from current space to connection space\n\t\tfor (let i = myPath.length - 1; i > connectionSpaceIndex; i--) {\n\t\t\tcoords = myPath[i].toBase(coords);\n\t\t}\n\n\t\t// Go down from connection space to target space\n\t\tfor (let i = connectionSpaceIndex + 1; i < otherPath.length; i++) {\n\t\t\tcoords = otherPath[i].fromBase(coords);\n\t\t}\n\n\t\treturn coords;\n\t}\n\n\tfrom (space, coords) {\n\t\tif (arguments.length === 1) {\n\t\t\tconst color = getColor(space);\n\t\t\t[space, coords] = [color.space, color.coords];\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\treturn space.to(this, coords);\n\t}\n\n\ttoString () {\n\t\treturn `${this.name} (${this.id})`;\n\t}\n\n\tgetMinCoords () {\n\t\tlet ret = [];\n\n\t\tfor (let id in this.coords) {\n\t\t\tlet meta = this.coords[id];\n\t\t\tlet range = meta.range || meta.refRange;\n\t\t\tret.push(range?.min ?? 0);\n\t\t}\n\n\t\treturn ret;\n\t}\n\n\tstatic registry = {};\n\n\t// Returns array of unique color spaces\n\tstatic get all () {\n\t\treturn [...new Set(Object.values(ColorSpace.registry))];\n\t}\n\n\tstatic register (id, space) {\n\t\tif (arguments.length === 1) {\n\t\t\tspace = arguments[0];\n\t\t\tid = space.id;\n\t\t}\n\n\t\tspace = this.get(space);\n\n\t\tif (this.registry[id] && this.registry[id] !== space) {\n\t\t\tthrow new Error(`Duplicate color space registration: '${id}'`);\n\t\t}\n\t\tthis.registry[id] = space;\n\n\t\t// Register aliases when called without an explicit ID.\n\t\tif (arguments.length === 1 && space.aliases) {\n\t\t\tfor (let alias of space.aliases) {\n\t\t\t\tthis.register(alias, space);\n\t\t\t}\n\t\t}\n\n\t\treturn space;\n\t}\n\n\t/**\n\t * Lookup ColorSpace object by name\n\t * @param {ColorSpace | string} name\n\t */\n\tstatic get (space, ...alternatives) {\n\t\tif (!space || space instanceof ColorSpace) {\n\t\t\treturn space;\n\t\t}\n\n\t\tlet argType = type(space);\n\n\t\tif (argType === \"string\") {\n\t\t\t// It's a color space id\n\t\t\tlet ret = ColorSpace.registry[space.toLowerCase()];\n\n\t\t\tif (!ret) {\n\t\t\t\tthrow new TypeError(`No color space found with id = \"${space}\"`);\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t}\n\n\t\tif (alternatives.length) {\n\t\t\treturn ColorSpace.get(...alternatives);\n\t\t}\n\n\t\tthrow new TypeError(`${space} is not a valid color space`);\n\t}\n\n\t/**\n\t * Get metadata about a coordinate of a color space\n\t *\n\t * @static\n\t * @param {Array | string} ref\n\t * @param {ColorSpace | string} [workingSpace]\n\t * @return {Object}\n\t */\n\tstatic resolveCoord (ref, workingSpace) {\n\t\tlet coordType = type(ref);\n\t\tlet space, coord;\n\n\t\tif (coordType === \"string\") {\n\t\t\tif (ref.includes(\".\")) {\n\t\t\t\t// Absolute coordinate\n\t\t\t\t[space, coord] = ref.split(\".\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// Relative coordinate\n\t\t\t\t[space, coord] = [, ref];\n\t\t\t}\n\t\t}\n\t\telse if (Array.isArray(ref)) {\n\t\t\t[space, coord] = ref;\n\t\t}\n\t\telse {\n\t\t\t// Object\n\t\t\tspace = ref.space;\n\t\t\tcoord = ref.coordId;\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tif (!space) {\n\t\t\tspace = workingSpace;\n\t\t}\n\n\t\tif (!space) {\n\t\t\tthrow new TypeError(`Cannot resolve coordinate reference ${ref}: No color space specified and relative references are not allowed here`);\n\t\t}\n\n\t\tcoordType = type(coord);\n\n\t\tif (coordType === \"number\" || coordType === \"string\" && coord >= 0) {\n\t\t\t// Resolve numerical coord\n\t\t\tlet meta = Object.entries(space.coords)[coord];\n\n\t\t\tif (meta) {\n\t\t\t\treturn {space, id: meta[0], index: coord, ...meta[1]};\n\t\t\t}\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tlet normalizedCoord = coord.toLowerCase();\n\n\t\tlet i = 0;\n\t\tfor (let id in space.coords) {\n\t\t\tlet meta = space.coords[id];\n\n\t\t\tif (id.toLowerCase() === normalizedCoord || meta.name?.toLowerCase() === normalizedCoord) {\n\t\t\t\treturn {space, id, index: i, ...meta};\n\t\t\t}\n\n\t\t\ti++;\n\t\t}\n\n\t\tthrow new TypeError(`No \"${coord}\" coordinate found in ${space.name}. Its coordinates are: ${Object.keys(space.coords).join(\", \")}`);\n\t}\n\n\tstatic DEFAULT_FORMAT = {\n\t\ttype: \"functions\",\n\t\tname: \"color\",\n\t};\n}\n\nfunction getPath (space) {\n\tlet ret = [space];\n\n\tfor (let s = space; s = s.base;) {\n\t\tret.push(s);\n\t}\n\n\treturn ret;\n}\n\nfunction processFormat (format, {coords} = {}) {\n\tif (format.coords && !format.coordGrammar) {\n\t\tformat.type ||= \"function\";\n\t\tformat.name ||= \"color\";\n\n\t\t// Format has not been processed\n\t\tformat.coordGrammar = parseCoordGrammar(format.coords);\n\n\t\tlet coordFormats = Object.entries(coords).map(([id, coordMeta], i) => {\n\t\t\t// Preferred format for each coord is the first one\n\t\t\tlet outputType = format.coordGrammar[i][0];\n\n\t\t\tlet fromRange = coordMeta.range || coordMeta.refRange;\n\t\t\tlet toRange = outputType.range, suffix = \"\";\n\n\t\t\t// Non-strict equals intentional since outputType could be a string object\n\t\t\tif (outputType == \"<percentage>\") {\n\t\t\t\ttoRange = [0, 100];\n\t\t\t\tsuffix = \"%\";\n\t\t\t}\n\t\t\telse if (outputType == \"<angle>\") {\n\t\t\t\tsuffix = \"deg\";\n\t\t\t}\n\n\t\t\treturn {fromRange, toRange, suffix};\n\t\t});\n\n\t\tformat.serializeCoords = (coords, precision) => {\n\t\t\treturn coords.map((c, i) => {\n\t\t\t\tlet {fromRange, toRange, suffix} = coordFormats[i];\n\n\t\t\t\tif (fromRange && toRange) {\n\t\t\t\t\tc = mapRange(fromRange, toRange, c);\n\t\t\t\t}\n\n\t\t\t\tc = serializeNumber(c, {precision, unit: suffix});\n\n\t\t\t\treturn c;\n\t\t\t});\n\t\t};\n\t}\n\n\treturn format;\n}\n", "import ColorSpace from \"../space.js\";\n\nexport default new ColorSpace({\n\tid: \"xyz-d65\",\n\tname: \"XYZ D65\",\n\tcoords: {\n\t\tx: {name: \"X\"},\n\t\ty: {name: \"Y\"},\n\t\tz: {name: \"Z\"},\n\t},\n\twhite: \"D65\",\n\tformats: {\n\t\tcolor: {\n\t\t\tids: [\"xyz-d65\", \"xyz\"],\n\t\t},\n\t},\n\taliases: [\"xyz\"],\n});\n", "import ColorSpace from \"./space.js\";\nimport {multiplyMatrices} from \"./util.js\";\nimport adapt from \"./adapt.js\";\nimport XYZ_D65 from \"./spaces/xyz-d65.js\";\n\n/**\n * Convenience class for RGB color spaces\n * @extends {ColorSpace}\n */\nexport default class RGBColorSpace extends ColorSpace {\n\t/**\n\t * Creates a new RGB ColorSpace.\n\t * If coords are not specified, they will use the default RGB coords.\n\t * Instead of `fromBase()` and `toBase()` functions,\n\t * you can specify to/from XYZ matrices and have `toBase()` and `fromBase()` automatically generated.\n\t * @param {*} options - Same options as {@link ColorSpace} plus:\n\t * @param {number[][]} options.toXYZ_M - Matrix to convert to XYZ\n\t * @param {number[][]} options.fromXYZ_M - Matrix to convert from XYZ\n\t */\n\tconstructor (options) {\n\t\tif (!options.coords) {\n\t\t\toptions.coords = {\n\t\t\t\tr: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Red\",\n\t\t\t\t},\n\t\t\t\tg: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Green\",\n\t\t\t\t},\n\t\t\t\tb: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Blue\",\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tif (!options.base) {\n\t\t\toptions.base = XYZ_D65;\n\t\t}\n\n\t\tif (options.toXYZ_M && options.fromXYZ_M) {\n\t\t\toptions.toBase ??= rgb => {\n\t\t\t\tlet xyz = multiplyMatrices(options.toXYZ_M, rgb);\n\n\t\t\t\tif (this.white !== this.base.white) {\n\t\t\t\t\t// Perform chromatic adaptation\n\t\t\t\t\txyz = adapt(this.white, this.base.white, xyz);\n\t\t\t\t}\n\n\t\t\t\treturn xyz;\n\t\t\t};\n\n\t\t\toptions.fromBase ??= xyz => {\n\t\t\t\txyz = adapt(this.base.white, this.white, xyz);\n\t\t\t\treturn multiplyMatrices(options.fromXYZ_M, xyz);\n\t\t\t};\n\t\t}\n\n\t\toptions.referred ??= \"display\";\n\n\t\tsuper(options);\n\t}\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\n/**\n * Get the coordinates of a color in any color space\n * @param {Color} color\n * @param {string | ColorSpace} [space = color.space] The color space to convert to. Defaults to the color's current space\n * @returns {number[]} The color coordinates in the given color space\n */\nexport default function getAll (color, space) {\n\tcolor = getColor(color);\n\n\tif (!space || color.space.equals(space)) {\n\t\t// No conversion needed\n\t\treturn color.coords.slice();\n\t}\n\n\tspace = ColorSpace.get(space);\n\treturn space.from(color);\n}\n", "import ColorSpace from \"./space.js\";\nimport getAll from \"./getAll.js\";\nimport getColor from \"./getColor.js\";\n\nexport default function get (color, prop) {\n\tcolor = getColor(color);\n\n\tlet {space, index} = ColorSpace.resolveCoord(prop, color.space);\n\tlet coords = getAll(color, space);\n\treturn coords[index];\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\nexport default function setAll (color, space, coords) {\n\tcolor = getColor(color);\n\n\tspace = ColorSpace.get(space);\n\tcolor.coords = space.to(color.space, coords);\n\treturn color;\n}\n\nsetAll.returns = \"color\";\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\nimport get from \"./get.js\";\nimport getAll from \"./getAll.js\";\nimport setAll from \"./setAll.js\";\nimport {type} from \"./util.js\";\n\n// Set properties and return current instance\nexport default function set (color, prop, value) {\n\tcolor = getColor(color);\n\n\tif (arguments.length === 2 && type(arguments[1]) === \"object\") {\n\t\t// Argument is an object literal\n\t\tlet object = arguments[1];\n\t\tfor (let p in object) {\n\t\t\tset(color, p, object[p]);\n\t\t}\n\t}\n\telse {\n\t\tif (typeof value === \"function\") {\n\t\t\tvalue = value(get(color, prop));\n\t\t}\n\n\t\tlet {space, index} = ColorSpace.resolveCoord(prop, color.space);\n\t\tlet coords = getAll(color, space);\n\t\tcoords[index] = value;\n\t\tsetAll(color, space, coords);\n\t}\n\n\treturn color;\n}\n\nset.returns = \"color\";\n", "import ColorSpace from \"../space.js\";\nimport adapt from \"../adapt.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\nexport default new ColorSpace({\n\tid: \"xyz-d50\",\n\tname: \"XYZ D50\",\n\twhite: \"D50\",\n\tbase: XYZ_D65,\n\tfromBase: coords => adapt(XYZ_D65.white, \"D50\", coords),\n\ttoBase: coords => adapt(\"D50\", XYZ_D65.white, coords),\n});\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d50 from \"./xyz-d50.js\";\n\n// κ * ε = 2^3 = 8\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst ε3 = 24 / 116;\nconst κ = 24389 / 27; // 29^3/3^3\n\nlet white = WHITES.D50;\n\nexport default new ColorSpace({\n\tid: \"lab\",\n\tname: \"Lab\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t},\n\n\t// Assuming XYZ is relative to D50, convert to CIE Lab\n\t// from CIE standard, which now defines these as a rational fraction\n\twhite,\n\n\tbase: xyz_d50,\n\t// Convert D50-adapted XYX to Lab\n\t// CIE 15.3:2004 section 8.2.1.1\n\tfromBase (XYZ) {\n\t\t// compute xyz, which is XYZ scaled relative to reference white\n\t\tlet xyz = XYZ.map((value, i) => value / white[i]);\n\n\t\t// now compute f\n\t\tlet f = xyz.map(value => value > ε ? Math.cbrt(value) : (κ * value + 16) / 116);\n\n\t\treturn [\n\t\t\t(116 * f[1]) - 16, // L\n\t\t\t500 * (f[0] - f[1]), // a\n\t\t\t200 * (f[1] - f[2]), // b\n\t\t];\n\t},\n\t// Convert Lab to D50-adapted XYZ\n\t// Same result as CIE 15.3:2004 Appendix D although the derivation is different\n\t// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n\ttoBase (Lab) {\n\t\t// compute f, starting with the luminance-related term\n\t\tlet f = [];\n\t\tf[1] = (Lab[0] + 16) / 116;\n\t\tf[0] = Lab[1] / 500 + f[1];\n\t\tf[2] = f[1] - Lab[2] / 200;\n\n\t\t// compute xyz\n\t\tlet xyz = [\n\t\t\tf[0] > ε3 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / κ,\n\t\t\tLab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / κ,\n\t\t\tf[2] > ε3 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / κ,\n\t\t];\n\n\t\t// Compute XYZ by scaling xyz by reference white\n\t\treturn xyz.map((value, i) => value * white[i]);\n\t},\n\n\tformats: {\n\t\t\"lab\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "export function constrain (angle) {\n\treturn ((angle % 360) + 360) % 360;\n}\n\nexport function adjust (arc, angles) {\n\tif (arc === \"raw\") {\n\t\treturn angles;\n\t}\n\n\tlet [a1, a2] = angles.map(constrain);\n\n\tlet angleDiff = a2 - a1;\n\n\tif (arc === \"increasing\") {\n\t\tif (angleDiff < 0) {\n\t\t\ta2 += 360;\n\t\t}\n\t}\n\telse if (arc === \"decreasing\") {\n\t\tif (angleDiff > 0) {\n\t\t\ta1 += 360;\n\t\t}\n\t}\n\telse if (arc === \"longer\") {\n\t\tif (-180 < angleDiff && angleDiff < 180) {\n\t\t\tif (angleDiff > 0) {\n\t\t\t\ta1 += 360;\n\t\t\t}\n\t\t\telse {\n\t\t\t\ta2 += 360;\n\t\t\t}\n\t\t}\n\t}\n\telse if (arc === \"shorter\") {\n\t\tif (angleDiff > 180) {\n\t\t\ta1 += 360;\n\t\t}\n\t\telse if (angleDiff < -180) {\n\t\t\ta2 += 360;\n\t\t}\n\t}\n\n\treturn [a1, a2];\n}\n", "import ColorSpace from \"../space.js\";\nimport Lab from \"./lab.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"lch\",\n\tname: \"LCH\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 150],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Lab,\n\tfromBase (Lab) {\n\t\t// Convert to polar form\n\t\tlet [L, a, b] = Lab;\n\t\tlet hue;\n\t\tconst ε = 0.02;\n\n\t\tif (Math.abs(a) < ε && Math.abs(b) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(b, a) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // L is still L\n\t\t\tMath.sqrt(a ** 2 + b ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (LCH) {\n\t\t// Convert from polar form\n\t\tlet [Lightness, Chroma, Hue] = LCH;\n\t\t// Clamp any negative Chroma\n\t\tif (Chroma < 0) {\n\t\t\tChroma = 0;\n\t\t}\n\t\t// Deal with NaN Hue\n\t\tif (isNaN(Hue)) {\n\t\t\tHue = 0;\n\t\t}\n\t\treturn [\n\t\t\tLightness, // L is still L\n\t\t\tChroma * Math.cos(Hue * Math.PI / 180), // a\n\t\t\tChroma * Math.sin(Hue * Math.PI / 180), // b\n\t\t];\n\t},\n\n\tformats: {\n\t\t\"lch\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "import defaults from \"../defaults.js\";\nimport lab from \"../spaces/lab.js\";\nimport lch from \"../spaces/lch.js\";\nimport getColor from \"../getColor.js\";\n\n// deltaE2000 is a statistically significant improvement\n// and is recommended by the CIE and Idealliance\n// especially for color differences less than 10 deltaE76\n// but is wicked complicated\n// and many implementations have small errors!\n// DeltaE2000 is also discontinuous; in case this\n// matters to you, use deltaECMC instead.\n\nconst Gfactor = 25 ** 7;\nconst π = Math.PI;\nconst r2d = 180 / π;\nconst d2r = π / 180;\n\nfunction pow7 (x) {\n\t// Faster than x ** 7 or Math.pow(x, 7)\n\n\tconst x2 = x * x;\n\tconst x7 = x2 * x2 * x2 * x;\n\n\treturn x7;\n}\n\nexport default function (color, sample, {kL = 1, kC = 1, kH = 1} = {}) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and the function parameter as the sample,\n\t// calculate deltaE 2000.\n\n\t// This implementation assumes the parametric\n\t// weighting factors kL, kC and kH\n\t// for the influence of viewing conditions\n\t// are all 1, as sadly seems typical.\n\t// kL should be increased for lightness texture or noise\n\t// and kC increased for chroma noise\n\n\tlet [L1, a1, b1] = lab.from(color);\n\tlet C1 = lch.from(lab, [L1, a1, b1])[1];\n\tlet [L2, a2, b2] = lab.from(sample);\n\tlet C2 = lch.from(lab, [L2, a2, b2])[1];\n\n\t// Check for negative Chroma,\n\t// which might happen through\n\t// direct user input of LCH values\n\n\tif (C1 < 0) {\n\t\tC1 = 0;\n\t}\n\tif (C2 < 0) {\n\t\tC2 = 0;\n\t}\n\n\tlet Cbar = (C1 + C2) / 2; // mean Chroma\n\n\t// calculate a-axis asymmetry factor from mean Chroma\n\t// this turns JND ellipses for near-neutral colors back into circles\n\tlet C7 = pow7(Cbar);\n\n\tlet G = 0.5 * (1 - Math.sqrt(C7 / (C7 + Gfactor)));\n\n\t// scale a axes by asymmetry factor\n\t// this by the way is why there is no Lab2000 colorspace\n\tlet adash1 = (1 + G) * a1;\n\tlet adash2 = (1 + G) * a2;\n\n\t// calculate new Chroma from scaled a and original b axes\n\tlet Cdash1 = Math.sqrt(adash1 ** 2 + b1 ** 2);\n\tlet Cdash2 = Math.sqrt(adash2 ** 2 + b2 ** 2);\n\n\t// calculate new hues, with zero hue for true neutrals\n\t// and in degrees, not radians\n\n\tlet h1 = (adash1 === 0 && b1 === 0) ? 0 : Math.atan2(b1, adash1);\n\tlet h2 = (adash2 === 0 && b2 === 0) ? 0 : Math.atan2(b2, adash2);\n\n\tif (h1 < 0) {\n\t\th1 += 2 * π;\n\t}\n\tif (h2 < 0) {\n\t\th2 += 2 * π;\n\t}\n\n\th1 *= r2d;\n\th2 *= r2d;\n\n\t// Lightness and Chroma differences; sign matters\n\tlet ΔL = L2 - L1;\n\tlet ΔC = Cdash2 - Cdash1;\n\n\t// Hue difference, getting the sign correct\n\tlet hdiff = h2 - h1;\n\tlet hsum = h1 + h2;\n\tlet habs = Math.abs(hdiff);\n\tlet Δh;\n\n\tif (Cdash1 * Cdash2 === 0) {\n\t\tΔh = 0;\n\t}\n\telse if (habs <= 180) {\n\t\tΔh = hdiff;\n\t}\n\telse if (hdiff > 180) {\n\t\tΔh = hdiff - 360;\n\t}\n\telse if (hdiff < -180) {\n\t\tΔh = hdiff + 360;\n\t}\n\telse {\n\t\tdefaults.warn(\"the unthinkable has happened\");\n\t}\n\n\t// weighted Hue difference, more for larger Chroma\n\tlet ΔH = 2 * Math.sqrt(Cdash2 * Cdash1) * Math.sin(Δh * d2r / 2);\n\n\t// calculate mean Lightness and Chroma\n\tlet Ldash = (L1 + L2) / 2;\n\tlet Cdash = (Cdash1 + Cdash2) / 2;\n\tlet Cdash7 = pow7(Cdash);\n\n\t// Compensate for non-linearity in the blue region of Lab.\n\t// Four possibilities for hue weighting factor,\n\t// depending on the angles, to get the correct sign\n\tlet hdash;\n\tif (Cdash1 * Cdash2 === 0) {\n\t\thdash = hsum; // which should be zero\n\t}\n\telse if (habs <= 180) {\n\t\thdash = hsum / 2;\n\t}\n\telse if (hsum < 360) {\n\t\thdash = (hsum + 360) / 2;\n\t}\n\telse {\n\t\thdash = (hsum - 360) / 2;\n\t}\n\n\t// positional corrections to the lack of uniformity of CIELAB\n\t// These are all trying to make JND ellipsoids more like spheres\n\n\t// SL Lightness crispening factor\n\t// a background with L=50 is assumed\n\tlet lsq = (Ldash - 50) ** 2;\n\tlet SL = 1 + ((0.015 * lsq) / Math.sqrt(20 + lsq));\n\n\t// SC Chroma factor, similar to those in CMC and deltaE 94 formulae\n\tlet SC = 1 + 0.045 * Cdash;\n\n\t// Cross term T for blue non-linearity\n\tlet T = 1;\n\tT -= (0.17 * Math.cos(( hdash - 30) * d2r));\n\tT += (0.24 * Math.cos( 2 * hdash * d2r));\n\tT += (0.32 * Math.cos(((3 * hdash) + 6) * d2r));\n\tT -= (0.20 * Math.cos(((4 * hdash) - 63) * d2r));\n\n\t// SH Hue factor depends on Chroma,\n\t// as well as adjusted hue angle like deltaE94.\n\tlet SH = 1 + 0.015 * Cdash * T;\n\n\t// RT Hue rotation term compensates for rotation of JND ellipses\n\t// and Munsell constant hue lines\n\t// in the medium-high Chroma blue region\n\t// (Hue 225 to 315)\n\tlet Δθ = 30 * Math.exp(-1 * (((hdash - 275) / 25) ** 2));\n\tlet RC = 2 * Math.sqrt(Cdash7 / (Cdash7 + Gfactor));\n\tlet RT = -1 * Math.sin(2 * Δθ * d2r) * RC;\n\n\t// Finally calculate the deltaE, term by term as root sume of squares\n\tlet dE = (ΔL / (kL * SL)) ** 2;\n\tdE += (ΔC / (kC * SC)) ** 2;\n\tdE += (ΔH / (kH * SH)) ** 2;\n\tdE += RT * (ΔC / (kC * SC)) * (ΔH / (kH * SH));\n\treturn Math.sqrt(dE);\n\t// Yay!!!\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\n// Recalculated for consistent reference white\n// see https://github.com/w3c/csswg-drafts/issues/6642#issuecomment-943521484\nconst XYZtoLMS_M = [\n\t[ 0.8190224379967030, 0.3619062600528904, -0.1288737815209879 ],\n\t[ 0.0329836539323885, 0.9292868615863434, 0.0361446663506424 ],\n\t[ 0.0481771893596242, 0.2642395317527308, 0.6335478284694309 ],\n];\n// inverse of XYZtoLMS_M\nconst LMStoXYZ_M = [\n\t[ 1.2268798758459243, -0.5578149944602171, 0.2813910456659647 ],\n\t[ -0.0405757452148008, 1.1122868032803170, -0.0717110580655164 ],\n\t[ -0.0763729366746601, -0.4214933324022432, 1.5869240198367816 ],\n];\nconst LMStoLab_M = [\n\t[ 0.2104542683093140, 0.7936177747023054, -0.0040720430116193 ],\n\t[ 1.9779985324311684, -2.4285922420485799, 0.4505937096174110 ],\n\t[ 0.0259040424655478, 0.7827717124575296, -0.8086757549230774 ],\n];\n// LMStoIab_M inverted\nconst LabtoLMS_M = [\n\t[ 1.0000000000000000, 0.3963377773761749, 0.2158037573099136 ],\n\t[ 1.0000000000000000, -0.1055613458156586, -0.0638541728258133 ],\n\t[ 1.0000000000000000, -0.0894841775298119, -1.2914855480194092 ],\n];\n\nexport default new ColorSpace({\n\tid: \"oklab\",\n\tname: \"Oklab\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-0.4, 0.4],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-0.4, 0.4],\n\t\t},\n\t},\n\n\t// Note that XYZ is relative to D65\n\twhite: \"D65\",\n\tbase: XYZ_D65,\n\tfromBase (XYZ) {\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoLMS_M, XYZ);\n\n\t\t// non-linearity\n\t\tlet LMSg = LMS.map(val => Math.cbrt(val));\n\n\t\treturn multiplyMatrices(LMStoLab_M, LMSg);\n\n\t},\n\ttoBase (OKLab) {\n\t\t// move to LMS cone domain\n\t\tlet LMSg = multiplyMatrices(LabtoLMS_M, OKLab);\n\n\t\t// restore linearity\n\t\tlet LMS = LMSg.map(val => val ** 3);\n\n\t\treturn multiplyMatrices(LMStoXYZ_M, LMS);\n\t},\n\n\tformats: {\n\t\t\"oklab\": {\n\t\t\tcoords: [\"<percentage> | <number>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in CIE Lab\n\nimport oklab from \"../spaces/oklab.js\";\nimport getColor from \"../getColor.js\";\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaEOK, term by term as root sum of squares\n\tlet [L1, a1, b1] = oklab.from(color);\n\tlet [L2, a2, b2] = oklab.from(sample);\n\tlet ΔL = L1 - L2;\n\tlet Δa = a1 - a2;\n\tlet Δb = b1 - b2;\n\treturn Math.sqrt(ΔL ** 2 + Δa ** 2 + Δb ** 2);\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\nconst ε = .000075;\n\n/**\n * Check if a color is in gamut of either its own or another color space\n * @return {Boolean} Is the color in gamut?\n */\nexport default function inGamut (color, space, {epsilon = ε} = {}) {\n\tcolor = getColor(color);\n\n\tif (!space) {\n\t\tspace = color.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\tlet coords = color.coords;\n\n\tif (space !== color.space) {\n\t\tcoords = space.from(color);\n\t}\n\n\treturn space.inGamut(coords, {epsilon});\n}\n", "export default function clone (color) {\n\treturn {\n\t\tspace: color.space,\n\t\tcoords: color.coords.slice(),\n\t\talpha: color.alpha,\n\t};\n}\n", "import ColorSpace from \"./space.js\";\n\n/**\n * Euclidean distance of colors in an arbitrary color space\n */\nexport default function distance (color1, color2, space = \"lab\") {\n\tspace = ColorSpace.get(space);\n\n\t// Assume getColor() is called on color in space.from()\n\tlet coords1 = space.from(color1);\n\tlet coords2 = space.from(color2);\n\n\treturn Math.sqrt(coords1.reduce((acc, c1, i) => {\n\t\tlet c2 = coords2[i];\n\t\tif (isNaN(c1) || isNaN(c2)) {\n\t\t\treturn acc;\n\t\t}\n\n\t\treturn acc + (c2 - c1) ** 2;\n\t}, 0));\n}\n", "import distance from \"../distance.js\";\nimport getColor from \"../getColor.js\";\n\nexport default function deltaE76 (color, sample) {\n\t// Assume getColor() is called in the distance function\n\treturn distance(color, sample, \"lab\");\n}\n", "import lab from \"../spaces/lab.js\";\nimport lch from \"../spaces/lch.js\";\nimport getColor from \"../getColor.js\";\n\n// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in Lab\n\n// CMC by the Color Measurement Committee of the\n// Bradford Society of Dyeists and Colorsts, 1994.\n// Uses LCH rather than Lab,\n// with different weights for L, C and H differences\n// A nice increase in accuracy for modest increase in complexity\nconst π = Math.PI;\nconst d2r = π / 180;\n\nexport default function (color, sample, {l = 2, c = 1} = {}) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE CMC.\n\n\t// This implementation assumes the parametric\n\t// weighting factors l:c are 2:1\n\t// which is typical for non-textile uses.\n\n\tlet [L1, a1, b1] = lab.from(color);\n\tlet [, C1, H1] = lch.from(lab, [L1, a1, b1]);\n\tlet [L2, a2, b2] = lab.from(sample);\n\tlet C2 = lch.from(lab, [L2, a2, b2])[1];\n\n\t// let [L1, a1, b1] = color.getAll(lab);\n\t// let C1 = color.get(\"lch.c\");\n\t// let H1 = color.get(\"lch.h\");\n\t// let [L2, a2, b2] = sample.getAll(lab);\n\t// let C2 = sample.get(\"lch.c\");\n\n\t// Check for negative Chroma,\n\t// which might happen through\n\t// direct user input of LCH values\n\n\tif (C1 < 0) {\n\t\tC1 = 0;\n\t}\n\tif (C2 < 0) {\n\t\tC2 = 0;\n\t}\n\n\t// we don't need H2 as ΔH is calculated from Δa, Δb and ΔC\n\n\t// Lightness and Chroma differences\n\t// These are (color - sample), unlike deltaE2000\n\tlet ΔL = L1 - L2;\n\tlet ΔC = C1 - C2;\n\n\tlet Δa = a1 - a2;\n\tlet Δb = b1 - b2;\n\n\t// weighted Hue difference, less for larger Chroma difference\n\n\tlet H2 = (Δa ** 2) + (Δb ** 2) - (ΔC ** 2);\n\t// due to roundoff error it is possible that, for zero a and b,\n\t// ΔC > Δa + Δb is 0, resulting in attempting\n\t// to take the square root of a negative number\n\n\t// trying instead the equation from Industrial Color Physics\n\t// By Georg A. Klein\n\n\t// let ΔH = ((a1 * b2) - (a2 * b1)) / Math.sqrt(0.5 * ((C2 * C1) + (a2 * a1) + (b2 * b1)));\n\t// console.log({ΔH});\n\t// This gives the same result to 12 decimal places\n\t// except it sometimes NaNs when trying to root a negative number\n\n\t// let ΔH = Math.sqrt(H2); we never actually use the root, it gets squared again!!\n\n\t// positional corrections to the lack of uniformity of CIELAB\n\t// These are all trying to make JND ellipsoids more like spheres\n\n\t// SL Lightness crispening factor, depends entirely on L1 not L2\n\tlet SL = 0.511;\t// linear portion of the Y to L transfer function\n\tif (L1 >= 16) {\t// cubic portion\n\t\tSL = (0.040975 * L1) / (1 + 0.01765 * L1);\n\t}\n\n\t// SC Chroma factor\n\tlet SC = ((0.0638 * C1) / (1 + 0.0131 * C1)) + 0.638;\n\n\t// Cross term T for blue non-linearity\n\tlet T;\n\tif (Number.isNaN(H1)) {\n\t\tH1 = 0;\n\t}\n\n\tif (H1 >= 164 && H1 <= 345) {\n\t\tT = 0.56 + Math.abs(0.2 * Math.cos((H1 + 168) * d2r));\n\t}\n\telse {\n\t\tT = 0.36 + Math.abs(0.4 * Math.cos((H1 + 35) * d2r));\n\t}\n\t// console.log({T});\n\n\t// SH Hue factor also depends on C1,\n\tlet C4 = Math.pow(C1, 4);\n\tlet F = Math.sqrt(C4 / (C4 + 1900));\n\tlet SH = SC * ((F * T) + 1 - F);\n\n\t// Finally calculate the deltaE, term by term as root sume of squares\n\tlet dE = (ΔL / (l * SL)) ** 2;\n\tdE += (ΔC / (c * SC)) ** 2;\n\tdE += (H2 / (SH ** 2));\n\t// dE += (ΔH / SH) ** 2;\n\treturn Math.sqrt(dE);\n\t// Yay!!!\n}\n", "import ColorSpace from \"../space.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\nconst Yw = 203;\t// absolute luminance of media white\n\nexport default new ColorSpace({\n// Absolute CIE XYZ, with a D65 whitepoint,\n// as used in most HDR colorspaces as a starting point.\n// SDR spaces are converted per BT.2048\n// so that diffuse, media white is 203 cd/m²\n\tid: \"xyz-abs-d65\",\n\tcssId: \"--xyz-abs-d65\",\n\tname: \"Absolute XYZ D65\",\n\tcoords: {\n\t\tx: {\n\t\t\trefRange: [0, 9504.7],\n\t\t\tname: \"Xa\",\n\t\t},\n\t\ty: {\n\t\t\trefRange: [0, 10000],\n\t\t\tname: \"Ya\",\n\t\t},\n\t\tz: {\n\t\t\trefRange: [0, 10888.3],\n\t\t\tname: \"Za\",\n\t\t},\n\t},\n\n\tbase: XYZ_D65,\n\tfromBase (XYZ) {\n\t\t// Make XYZ absolute, not relative to media white\n\t\t// Maximum luminance in PQ is 10,000 cd/m²\n\t\t// Relative XYZ has Y=1 for media white\n\t\treturn XYZ.map (v => Math.max(v * Yw, 0));\n\t},\n\ttoBase (AbsXYZ) {\n\t\t// Convert to media-white relative XYZ\n\t\treturn AbsXYZ.map(v => Math.max(v / Yw, 0));\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_Abs_D65 from \"./xyz-abs-d65.js\";\n\nconst b = 1.15;\nconst g = 0.66;\nconst n = 2610 / (2 ** 14);\nconst ninv = (2 ** 14) / 2610;\nconst c1 = 3424 / (2 ** 12);\nconst c2 = 2413 / (2 ** 7);\nconst c3 = 2392 / (2 ** 7);\nconst p = 1.7 * 2523 / (2 ** 5);\nconst pinv = (2 ** 5) / (1.7 * 2523);\nconst d = -0.56;\nconst d0 = 1.6295499532821566E-11;\n\nconst XYZtoCone_M = [\n\t[ 0.41478972, 0.579999, 0.0146480 ],\n\t[ -0.2015100, 1.120649, 0.0531008 ],\n\t[ -0.0166008, 0.264800, 0.6684799 ],\n];\n// XYZtoCone_M inverted\nconst ConetoXYZ_M = [\n\t[ 1.9242264357876067, -1.0047923125953657, 0.037651404030618 ],\n\t[ 0.35031676209499907, 0.7264811939316552, -0.06538442294808501 ],\n\t[ -0.09098281098284752, -0.3127282905230739, 1.5227665613052603 ],\n];\nconst ConetoIab_M = [\n\t[ 0.5, 0.5, 0 ],\n\t[ 3.524000, -4.066708, 0.542708 ],\n\t[ 0.199076, 1.096799, -1.295875 ],\n];\n// ConetoIab_M inverted\nconst IabtoCone_M = [\n\t[ 1, 0.1386050432715393, 0.05804731615611886 ],\n\t[ 0.9999999999999999, -0.1386050432715393, -0.05804731615611886 ],\n\t[ 0.9999999999999998, -0.09601924202631895, -0.8118918960560388 ],\n];\n\nexport default new ColorSpace({\n\tid: \"jzazbz\",\n\tname: \"Jzazbz\",\n\tcoords: {\n\t\tjz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Jz\",\n\t\t},\n\t\taz: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t},\n\t\tbz: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t},\n\t},\n\n\tbase: XYZ_Abs_D65,\n\tfromBase (XYZ) {\n\t\t// First make XYZ absolute, not relative to media white\n\t\t// Maximum luminance in PQ is 10,000 cd/m²\n\t\t// Relative XYZ has Y=1 for media white\n\t\t// BT.2048 says media white Y=203 at PQ 58\n\n\t\tlet [ Xa, Ya, Za ] = XYZ;\n\n\t\t// modify X and Y\n\t\tlet Xm = (b * Xa) - ((b - 1) * Za);\n\t\tlet Ym = (g * Ya) - ((g - 1) * Xa);\n\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoCone_M, [ Xm, Ym, Za ]);\n\n\t\t// PQ-encode LMS\n\t\tlet PQLMS = LMS.map (function (val) {\n\t\t\tlet num = c1 + (c2 * ((val / 10000) ** n));\n\t\t\tlet denom = 1 + (c3 * ((val / 10000) ** n));\n\n\t\t\treturn (num / denom) ** p;\n\t\t});\n\n\t\t// almost there, calculate Iz az bz\n\t\tlet [ Iz, az, bz] = multiplyMatrices(ConetoIab_M, PQLMS);\n\t\t// console.log({Iz, az, bz});\n\n\t\tlet Jz = ((1 + d) * Iz) / (1 + (d * Iz)) - d0;\n\t\treturn [Jz, az, bz];\n\t},\n\ttoBase (Jzazbz) {\n\t\tlet [Jz, az, bz] = Jzazbz;\n\t\tlet Iz = (Jz + d0) / (1 + d - d * (Jz + d0));\n\n\t\t// bring into LMS cone domain\n\t\tlet PQLMS = multiplyMatrices(IabtoCone_M, [ Iz, az, bz ]);\n\n\t\t// convert from PQ-coded to linear-light\n\t\tlet LMS = PQLMS.map(function (val) {\n\t\t\tlet num = (c1 - (val ** pinv));\n\t\t\tlet denom = (c3 * (val ** pinv)) - c2;\n\t\t\tlet x = 10000 * ((num / denom) ** ninv);\n\n\t\t\treturn (x); \t// luminance relative to diffuse white, [0, 70 or so].\n\t\t});\n\n\t\t// modified abs XYZ\n\t\tlet [ Xm, Ym, Za ] = multiplyMatrices(ConetoXYZ_M, LMS);\n\n\t\t// restore standard D50 relative XYZ, relative to media white\n\t\tlet Xa = (Xm + ((b - 1) * Za)) / b;\n\t\tlet Ya = (Ym + ((g - 1) * Xa)) / g;\n\t\treturn [ Xa, Ya, Za ];\n\t},\n\n\tformats: {\n\t\t// https://drafts.csswg.org/css-color-hdr/#Jzazbz\n\t\t\"color\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport Jzazbz from \"./jzazbz.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"jzczhz\",\n\tname: \"JzCzHz\",\n\tcoords: {\n\t\tjz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Jz\",\n\t\t},\n\t\tcz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\thz: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Jzazbz,\n\tfromBase (jzazbz) {\n\t\t// Convert to polar form\n\t\tlet [Jz, az, bz] = jzazbz;\n\t\tlet hue;\n\t\tconst ε = 0.0002; // chromatic components much smaller than a,b\n\n\t\tif (Math.abs(az) < ε && Math.abs(bz) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(bz, az) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tJz, // Jz is still Jz\n\t\t\tMath.sqrt(az ** 2 + bz ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (jzczhz) {\n\t\t// Convert from polar form\n\t\t// debugger;\n\t\treturn [\n\t\t\tjzczhz[0], // Jz is still Jz\n\t\t\tjzczhz[1] * Math.cos(jzczhz[2] * Math.PI / 180), // az\n\t\t\tjzczhz[1] * Math.sin(jzczhz[2] * Math.PI / 180), // bz\n\t\t];\n\t},\n});\n", "import jzczhz from \"../spaces/jzczhz.js\";\nimport getColor from \"../getColor.js\";\n\n// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in Lab\n\n// Uses JzCzHz, which has improved perceptual uniformity\n// and thus a simple Euclidean root-sum of ΔL² ΔC² ΔH²\n// gives good results.\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE in JzCzHz.\n\tlet [Jz1, Cz1, Hz1] = jzczhz.from(color);\n\tlet [Jz2, Cz2, Hz2] = jzczhz.from(sample);\n\n\t// Lightness and Chroma differences\n\t// sign does not matter as they are squared.\n\tlet ΔJ = Jz1 - Jz2;\n\tlet ΔC = Cz1 - Cz2;\n\n\t// length of chord for ΔH\n\tif ((Number.isNaN(Hz1)) && (Number.isNaN(Hz2))) {\n\t\t// both undefined hues\n\t\tHz1 = 0;\n\t\tHz2 = 0;\n\t}\n\telse if (Number.isNaN(Hz1)) {\n\t\t// one undefined, set to the defined hue\n\t\tHz1 = Hz2;\n\t}\n\telse if (Number.isNaN(Hz2)) {\n\t\tHz2 = Hz1;\n\t}\n\n\tlet Δh = Hz1 - Hz2;\n\tlet ΔH = 2 * Math.sqrt(Cz1 * Cz2) * Math.sin((Δh / 2) * (Math.PI / 180));\n\n\treturn Math.sqrt(ΔJ ** 2 + ΔC ** 2 + ΔH ** 2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_Abs_D65 from \"./xyz-abs-d65.js\";\n\nconst c1 = 3424 / 4096;\nconst c2 = 2413 / 128;\nconst c3 = 2392 / 128;\nconst m1 = 2610 / 16384;\nconst m2 = 2523 / 32;\nconst im1 = 16384 / 2610;\nconst im2 = 32 / 2523;\n\n// The matrix below includes the 4% crosstalk components\n// and is from the Dolby \"What is ICtCp\" paper\"\nconst XYZtoLMS_M = [\n\t[ 0.3592832590121217, 0.6976051147779502, -0.0358915932320290 ],\n\t[ -0.1920808463704993, 1.1004767970374321, 0.0753748658519118 ],\n\t[ 0.0070797844607479, 0.0748396662186362, 0.8433265453898765 ],\n];\n// linear-light Rec.2020 to LMS, again with crosstalk\n// rational terms from Jan Fröhlich,\n// Encoding High Dynamic Range andWide Color Gamut Imagery, p.97\n// and ITU-R BT.2124-0 p.2\n/*\nconst Rec2020toLMS_M = [\n\t[ 1688 / 4096, 2146 / 4096, 262 / 4096 ],\n\t[ 683 / 4096, 2951 / 4096, 462 / 4096 ],\n\t[ 99 / 4096, 309 / 4096, 3688 / 4096 ]\n];\n*/\n// this includes the Ebner LMS coefficients,\n// the rotation, and the scaling to [-0.5,0.5] range\n// rational terms from Fröhlich p.97\n// and ITU-R BT.2124-0 pp.2-3\nconst LMStoIPT_M = [\n\t[ 2048 / 4096, 2048 / 4096, 0 ],\n\t[ 6610 / 4096, -13613 / 4096, 7003 / 4096 ],\n\t[ 17933 / 4096, -17390 / 4096, -543 / 4096 ],\n];\n\n// inverted matrices, calculated from the above\nconst IPTtoLMS_M = [\n\t[ 0.9999999999999998, 0.0086090370379328, 0.1110296250030260 ],\n\t[ 0.9999999999999998, -0.0086090370379328, -0.1110296250030259 ],\n\t[ 0.9999999999999998, 0.5600313357106791, -0.3206271749873188 ],\n];\n/*\nconst LMStoRec2020_M = [\n\t[ 3.4375568932814012112, -2.5072112125095058195, 0.069654319228104608382],\n\t[-0.79142868665644156125, 1.9838372198740089874, -0.19240853321756742626 ],\n\t[-0.025646662911506476363, -0.099240248643945566751, 1.1248869115554520431 ]\n];\n*/\nconst LMStoXYZ_M = [\n\t[ 2.0701522183894223, -1.3263473389671563, 0.2066510476294053 ],\n\t[ 0.3647385209748072, 0.6805660249472273, -0.0453045459220347 ],\n\t[ -0.0497472075358123, -0.0492609666966131, 1.1880659249923042 ],\n];\n\n// Only the PQ form of ICtCp is implemented here. There is also an HLG form.\n// from Dolby, \"WHAT IS ICTCP?\"\n// https://professional.dolby.com/siteassets/pdfs/ictcp_dolbywhitepaper_v071.pdf\n// and\n// Dolby, \"Perceptual Color Volume\n// Measuring the Distinguishable Colors of HDR and WCG Displays\"\n// https://professional.dolby.com/siteassets/pdfs/dolby-vision-measuring-perceptual-color-volume-v7.1.pdf\nexport default new ColorSpace({\n\tid: \"ictcp\",\n\tname: \"ICTCP\",\n\t// From BT.2100-2 page 7:\n\t// During production, signal values are expected to exceed the\n\t// range E′ = [0.0 : 1.0]. This provides processing headroom and avoids\n\t// signal degradation during cascaded processing. Such values of E′,\n\t// below 0.0 or exceeding 1.0, should not be clipped during production\n\t// and exchange.\n\t// Values below 0.0 should not be clipped in reference displays (even\n\t// though they represent “negative” light) to allow the black level of\n\t// the signal (LB) to be properly set using test signals known as “PLUGE”\n\tcoords: {\n\t\ti: {\n\t\t\trefRange: [0, 1],\t// Constant luminance,\n\t\t\tname: \"I\",\n\t\t},\n\t\tct: {\n\t\t\trefRange: [-0.5, 0.5],\t// Full BT.2020 gamut in range [-0.5, 0.5]\n\t\t\tname: \"CT\",\n\t\t},\n\t\tcp: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t\tname: \"CP\",\n\t\t},\n\t},\n\n\tbase: XYZ_Abs_D65,\n\tfromBase (XYZ) {\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoLMS_M, XYZ);\n\n\t\treturn LMStoICtCp(LMS);\n\t},\n\ttoBase (ICtCp) {\n\t\tlet LMS = ICtCptoLMS(ICtCp);\n\n\t\treturn multiplyMatrices(LMStoXYZ_M, LMS);\n\t},\n});\n\nfunction LMStoICtCp (LMS) {\n\t// apply the PQ EOTF\n\t// we can't ever be dividing by zero because of the \"1 +\" in the denominator\n\tlet PQLMS = LMS.map (function (val) {\n\t\tlet num = c1 + (c2 * ((val / 10000) ** m1));\n\t\tlet denom = 1 + (c3 * ((val / 10000) ** m1));\n\n\t\treturn (num / denom) ** m2;\n\t});\n\n\t// LMS to IPT, with rotation for Y'C'bC'r compatibility\n\treturn multiplyMatrices(LMStoIPT_M, PQLMS);\n}\n\nfunction ICtCptoLMS (ICtCp) {\n\tlet PQLMS = multiplyMatrices(IPTtoLMS_M, ICtCp);\n\n\t// From BT.2124-0 Annex 2 Conversion 3\n\tlet LMS = PQLMS.map (function (val) {\n\t\tlet num = Math.max((val ** im2) - c1, 0);\n\t\tlet denom = (c2 - (c3 * (val ** im2)));\n\t\treturn 10000 * ((num / denom) ** im1);\n\t});\n\n\treturn LMS;\n}\n", "import ictcp from \"../spaces/ictcp.js\";\nimport getColor from \"../getColor.js\";\n\n// Delta E in ICtCp space,\n// which the ITU calls Delta E ITP, which is shorter\n// formulae from ITU Rec. ITU-R BT.2124-0\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE in ICtCp\n\t// which is simply the Euclidean distance\n\n\tlet [ I1, T1, P1 ] = ictcp.from(color);\n\tlet [ I2, T2, P2 ] = ictcp.from(sample);\n\n\t// the 0.25 factor is to undo the encoding scaling in Ct\n\t// the 720 is so that 1 deltaE = 1 JND\n\t// per ITU-R BT.2124-0 p.3\n\n\treturn 720 * Math.sqrt((I1 - I2) ** 2 + (0.25 * (T1 - T2) ** 2) + (P1 - P2) ** 2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices, interpolate, copySign, spow, zdiv, bisectLeft} from \"../util.js\";\nimport {constrain} from \"../angles.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {WHITES} from \"../adapt.js\";\n\nconst white = WHITES.D65;\nconst adaptedCoef = 0.42;\nconst adaptedCoefInv = 1 / adaptedCoef;\nconst tau = 2 * Math.PI;\n\nconst cat16 = [\n\t[ 0.401288, 0.650173, -0.051461 ],\n\t[ -0.250268, 1.204414, 0.045854 ],\n\t[ -0.002079, 0.048952, 0.953127 ],\n];\n\nconst cat16Inv = [\n\t[1.8620678550872327, -1.0112546305316843, 0.14918677544445175],\n\t[0.38752654323613717, 0.6214474419314753, -0.008973985167612518],\n\t[-0.015841498849333856, -0.03412293802851557, 1.0499644368778496],\n];\n\nconst m1 = [\n\t[460.0, 451.0, 288.0],\n\t[460.0, -891.0, -261.0],\n\t[460.0, -220.0, -6300.0],\n];\n\nconst surroundMap = {\n\tdark: [0.8, 0.525, 0.8],\n\tdim: [0.9, 0.59, 0.9],\n\taverage: [1, 0.69, 1],\n};\n\nconst hueQuadMap = {\n\t// Red, Yellow, Green, Blue, Red\n\th: [20.14, 90.00, 164.25, 237.53, 380.14],\n\te: [0.8, 0.7, 1.0, 1.2, 0.8],\n\tH: [0.0, 100.0, 200.0, 300.0, 400.0],\n};\n\nconst rad2deg = 180 / Math.PI;\nconst deg2rad = Math.PI / 180;\n\nexport function adapt (coords, fl) {\n\tconst temp = coords.map(c => {\n\t\tconst x = spow(fl * Math.abs(c) * 0.01, adaptedCoef);\n\t\treturn 400 * copySign(x, c) / (x + 27.13);\n\t});\n\treturn temp;\n}\n\nexport function unadapt (adapted, fl) {\n\tconst constant = 100 / fl * (27.13 ** adaptedCoefInv);\n\treturn adapted.map(c => {\n\t\tconst cabs = Math.abs(c);\n\t\treturn copySign(constant * spow(cabs / (400 - cabs), adaptedCoefInv), c);\n\t});\n}\n\nexport function hueQuadrature (h) {\n\tlet hp = constrain(h);\n\tif (hp <= hueQuadMap.h[0]) {\n\t\thp += 360;\n\t}\n\n\tconst i = bisectLeft(hueQuadMap.h, hp) - 1;\n\tconst [hi, hii] = hueQuadMap.h.slice(i, i + 2);\n\tconst [ei, eii] = hueQuadMap.e.slice(i, i + 2);\n\tconst Hi = hueQuadMap.H[i];\n\n\tconst t = (hp - hi) / ei;\n\treturn Hi + (100 * t) / (t + (hii - hp) / eii);\n}\n\nexport function invHueQuadrature (H) {\n\tlet Hp = ((H % 400 + 400) % 400);\n\tconst i = Math.floor(0.01 * Hp);\n\tHp = Hp % 100;\n\tconst [hi, hii] = hueQuadMap.h.slice(i, i + 2);\n\tconst [ei, eii] = hueQuadMap.e.slice(i, i + 2);\n\n\treturn constrain(\n\t\t(Hp * (eii * hi - ei * hii) - 100 * hi * eii) /\n\t\t(Hp * (eii - ei) - 100 * eii),\n\t);\n}\n\nexport function environment (\n\trefWhite,\n\tadaptingLuminance,\n\tbackgroundLuminance,\n\tsurround,\n\tdiscounting,\n) {\n\n\tconst env = {};\n\n\tenv.discounting = discounting;\n\tenv.refWhite = refWhite;\n\tenv.surround = surround;\n\tconst xyzW = refWhite.map(c => {\n\t\treturn c * 100;\n\t});\n\n\t// The average luminance of the environment in `cd/m^2cd/m` (a.k.a. nits)\n\tenv.la = adaptingLuminance;\n\t// The relative luminance of the nearby background\n\tenv.yb = backgroundLuminance;\n\t// Absolute luminance of the reference white.\n\tconst yw = xyzW[1];\n\n\t// Cone response for reference white\n\tconst rgbW = multiplyMatrices(cat16, xyzW);\n\n\t// Surround: dark, dim, and average\n\tsurround = surroundMap[env.surround];\n\tconst f = surround[0];\n\tenv.c = surround[1];\n\tenv.nc = surround[2];\n\n\tconst k = 1 / (5 * env.la + 1);\n\tconst k4 = k ** 4;\n\n\t// Factor of luminance level adaptation\n\tenv.fl = (k4 * env.la + 0.1 * (1 - k4) * (1 - k4) * Math.cbrt(5 * env.la));\n\tenv.flRoot = env.fl ** 0.25;\n\n\tenv.n = env.yb / yw;\n\tenv.z = 1.48 + Math.sqrt(env.n);\n\tenv.nbb = 0.725 * (env.n ** -0.2);\n\tenv.ncb = env.nbb;\n\n\t// Degree of adaptation calculating if not discounting\n\t// illuminant (assumed eye is fully adapted)\n\tconst d = (discounting) ?\n\t\t1 :\n\t\tMath.max(\n\t\t\tMath.min(f * (1 - 1 / 3.6 * Math.exp((-env.la - 42) / 92)), 1),\n\t\t\t0,\n\t\t);\n\tenv.dRgb = rgbW.map(c => {\n\t\treturn interpolate(1, yw / c, d);\n\t});\n\tenv.dRgbInv = env.dRgb.map(c => {\n\t\treturn 1 / c;\n\t});\n\n\t// Achromatic response\n\tconst rgbCW = rgbW.map((c, i) => {\n\t\treturn c * env.dRgb[i];\n\t});\n\tconst rgbAW = adapt(rgbCW, env.fl);\n\tenv.aW = env.nbb * (2 * rgbAW[0] + rgbAW[1] + 0.05 * rgbAW[2]);\n\n\t// console.log(env);\n\n\treturn env;\n}\n\n// Pre-calculate everything we can with the viewing conditions\nconst viewingConditions = environment(\n\twhite,\n\t64 / Math.PI * 0.2, 20,\n\t\"average\",\n\tfalse,\n);\n\nexport function fromCam16 (cam16, env) {\n\n\t// These check ensure one, and only one attribute for a\n\t// given category is provided.\n\tif (!((cam16.J !== undefined) ^ (cam16.Q !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'J' or 'Q'\");\n\t}\n\n\tif (!((cam16.C !== undefined) ^ (cam16.M !== undefined) ^ (cam16.s !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'C', 'M' or 's'\");\n\t}\n\n\t// Hue is absolutely required\n\tif (!((cam16.h !== undefined) ^ (cam16.H !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'h' or 'H'\");\n\t}\n\n\t// Black\n\tif (cam16.J === 0.0 || cam16.Q === 0.0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\n\t// Break hue into Cartesian components\n\tlet hRad = 0.0;\n\tif (cam16.h !== undefined) {\n\t\thRad = constrain(cam16.h) * deg2rad;\n\t}\n\telse {\n\t\thRad = invHueQuadrature(cam16.H) * deg2rad;\n\t}\n\n\tconst cosh = Math.cos(hRad);\n\tconst sinh = Math.sin(hRad);\n\n\t// Calculate `Jroot` from one of the lightness derived coordinates.\n\tlet Jroot = 0.0;\n\tif (cam16.J !== undefined) {\n\t\tJroot = spow(cam16.J, 1 / 2) * 0.1;\n\t}\n\telse if (cam16.Q !== undefined) {\n\t\tJroot = 0.25 * env.c * cam16.Q / ((env.aW + 4) * env.flRoot);\n\t}\n\n\t// Calculate the `t` value from one of the chroma derived coordinates\n\tlet alpha = 0.0;\n\tif (cam16.C !== undefined) {\n\t\talpha = cam16.C / Jroot;\n\t}\n\telse if (cam16.M !== undefined) {\n\t\talpha = (cam16.M / env.flRoot) / Jroot;\n\t}\n\telse if (cam16.s !== undefined) {\n\t\talpha = 0.0004 * (cam16.s ** 2) * (env.aW + 4) / env.c;\n\t}\n\tconst t = spow(\n\t\talpha * Math.pow(1.64 - Math.pow(0.29, env.n), -0.73),\n\t\t10 / 9,\n\t);\n\n\t// Eccentricity\n\tconst et = 0.25 * (Math.cos(hRad + 2) + 3.8);\n\n\t// Achromatic response\n\tconst A = env.aW * spow(Jroot, 2 / env.c / env.z);\n\n\t// Calculate red-green and yellow-blue components\n\tconst p1 = 5e4 / 13 * env.nc * env.ncb * et;\n\tconst p2 = A / env.nbb;\n\tconst r = (\n\t\t23 * (p2 + 0.305) *\n\t\tzdiv(t, 23 * p1 + t * (11 * cosh + 108 * sinh))\n\t);\n\tconst a = r * cosh;\n\tconst b = r * sinh;\n\n\t// Calculate back from cone response to XYZ\n\tconst rgb_c = unadapt(\n\t\tmultiplyMatrices(m1, [p2, a, b]).map(c => {\n\t\t\treturn c * 1 / 1403;\n\t\t}),\n\t\tenv.fl,\n\t);\n\treturn multiplyMatrices(\n\t\tcat16Inv,\n\t\trgb_c.map((c, i) => {\n\t\t\treturn c * env.dRgbInv[i];\n\t\t}),\n\t).map(c => {\n\t\treturn c / 100;\n\t});\n}\n\n\nexport function toCam16 (xyzd65, env) {\n\t// Cone response\n\tconst xyz100 = xyzd65.map(c => {\n\t\treturn c * 100;\n\t});\n\tconst rgbA = adapt(\n\t\tmultiplyMatrices(cat16, xyz100).map((c, i) => {\n\t\t\treturn c * env.dRgb[i];\n\t\t}),\n\t\tenv.fl,\n\t);\n\n\t// Calculate hue from red-green and yellow-blue components\n\tconst a = rgbA[0] + (-12 * rgbA[1] + rgbA[2]) / 11;\n\tconst b = (rgbA[0] + rgbA[1] - 2 * rgbA[2]) / 9;\n\tconst hRad = ((Math.atan2(b, a) % tau) + tau) % tau;\n\n\t// Eccentricity\n\tconst et = 0.25 * (Math.cos(hRad + 2) + 3.8);\n\n\tconst t = (\n\t\t5e4 / 13 * env.nc * env.ncb *\n\t\tzdiv(\n\t\t\tet * Math.sqrt(a ** 2 + b ** 2),\n\t\t\trgbA[0] + rgbA[1] + 1.05 * rgbA[2] + 0.305,\n\t\t)\n\t);\n\tconst alpha = spow(t, 0.9) * Math.pow(1.64 - Math.pow(0.29, env.n), 0.73);\n\n\t// Achromatic response\n\tconst A = env.nbb * (2 * rgbA[0] + rgbA[1] + 0.05 * rgbA[2]);\n\n\tconst Jroot = spow(A / env.aW, 0.5 * env.c * env.z);\n\n\t// Lightness\n\tconst J = 100 * spow(Jroot, 2);\n\n\t// Brightness\n\tconst Q = (4 / env.c * Jroot * (env.aW + 4) * env.flRoot);\n\n\t// Chroma\n\tconst C = alpha * Jroot;\n\n\t// Colorfulness\n\tconst M = C * env.flRoot;\n\n\t// Hue\n\tconst h = constrain(hRad * rad2deg);\n\n\t// Hue quadrature\n\tconst H = hueQuadrature(h);\n\n\t// Saturation\n\tconst s = 50 * spow(env.c * alpha / (env.aW + 4), 1 / 2);\n\n\t// console.log({J: J, C: C, h: h, s: s, Q: Q, M: M, H: H});\n\n\treturn {J: J, C: C, h: h, s: s, Q: Q, M: M, H: H};\n}\n\n\n// Provided as a way to directly evaluate the CAM16 model\n// https://observablehq.com/@jrus/cam16: reference implementation\n// https://arxiv.org/pdf/1802.06067.pdf: Nico Schlömer\n// https://onlinelibrary.wiley.com/doi/pdf/10.1002/col.22324: hue quadrature\n// https://www.researchgate.net/publication/318152296_Comprehensive_color_solutions_CAM16_CAT16_and_CAM16-UCS\n// Results compared against: https://github.com/colour-science/colour\nexport default new ColorSpace({\n\tid: \"cam16-jmh\",\n\tcssId: \"--cam16-jmh\",\n\tname: \"CAM16-JMh\",\n\tcoords: {\n\t\tj: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"J\",\n\t\t},\n\t\tm: {\n\t\t\trefRange: [0, 105.0],\n\t\t\tname: \"Colorfulness\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: xyz_d65,\n\n\tfromBase (xyz) {\n\t\tconst cam16 = toCam16(xyz, viewingConditions);\n\t\treturn [cam16.J, cam16.M, cam16.h];\n\t},\n\ttoBase (cam16) {\n\t\treturn fromCam16(\n\t\t\t{J: cam16[0], M: cam16[1], h: cam16[2]},\n\t\t\tviewingConditions,\n\t\t);\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {constrain} from \"../angles.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {fromCam16, toCam16, environment} from \"./cam16.js\";\nimport {WHITES} from \"../adapt.js\";\n\nconst white = WHITES.D65;\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nfunction toLstar (y) {\n\t// Convert XYZ Y to L*\n\n\tconst fy = (y > ε) ? Math.cbrt(y) : (κ * y + 16) / 116;\n\treturn (116.0 * fy) - 16.0;\n}\n\nfunction fromLstar (lstar) {\n\t// Convert L* back to XYZ Y\n\n\treturn (lstar > 8) ? Math.pow((lstar + 16) / 116, 3) : lstar / κ;\n}\n\nfunction fromHct (coords, env) {\n\t// Use Newton's method to try and converge as quick as possible or\n\t// converge as close as we can. While the requested precision is achieved\n\t// most of the time, it may not always be achievable. Especially past the\n\t// visible spectrum, the algorithm will likely struggle to get the same\n\t// precision. If, for whatever reason, we cannot achieve the accuracy we\n\t// seek in the allotted iterations, just return the closest we were able to\n\t// get.\n\n\tlet [h, c, t] = coords;\n\tlet xyz = [];\n\tlet j = 0;\n\n\t// Shortcut out for black\n\tif (t === 0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\n\t// Calculate the Y we need to target\n\tlet y = fromLstar(t);\n\n\t// A better initial guess yields better results. Polynomials come from\n\t// curve fitting the T vs J response.\n\tif (t > 0) {\n\t\tj = 0.00379058511492914 * t ** 2 + 0.608983189401032 * t + 0.9155088574762233;\n\t}\n\telse {\n\t\tj = 9.514440756550361e-06 * t ** 2 + 0.08693057439788597 * t - 21.928975842194614;\n\t}\n\n\t// Threshold of how close is close enough, and max number of attempts.\n\t// More precision and more attempts means more time spent iterating. Higher\n\t// required precision gives more accuracy but also increases the chance of\n\t// not hitting the goal. 2e-12 allows us to convert round trip with\n\t// reasonable accuracy of six decimal places or more.\n\tconst threshold = 2e-12;\n\tconst max_attempts = 15;\n\n\tlet attempt = 0;\n\tlet last = Infinity;\n\tlet best = j;\n\n\t// Try to find a J such that the returned y matches the returned y of the L*\n\twhile (attempt <= max_attempts) {\n\t\txyz = fromCam16({J: j, C: c, h: h}, env);\n\n\t\t// If we are within range, return XYZ\n\t\t// If we are closer than last time, save the values\n\t\tconst delta = Math.abs(xyz[1] - y);\n\t\tif (delta < last) {\n\t\t\tif (delta <= threshold) {\n\t\t\t\treturn xyz;\n\t\t\t}\n\t\t\tbest = j;\n\t\t\tlast = delta;\n\t\t}\n\n\t\t// f(j_root) = (j ** (1 / 2)) * 0.1\n\t\t// f(j) = ((f(j_root) * 100) ** 2) / j - 1 = 0\n\t\t// f(j_root) = Y = y / 100\n\t\t// f(j) = (y ** 2) / j - 1\n\t\t// f'(j) = (2 * y) / j\n\t\tj = j - (xyz[1] - y) * j / (2 * xyz[1]);\n\n\t\tattempt += 1;\n\t}\n\n\t// We could not acquire the precision we desired,\n\t// return our closest attempt.\n\treturn fromCam16({J: j, C: c, h: h}, env);\n}\n\nfunction toHct (xyz, env) {\n\t// Calculate HCT by taking the L* of CIE LCh D65 and CAM16 chroma and hue.\n\n\tconst t = toLstar(xyz[1]);\n\tif (t === 0.0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\tconst cam16 = toCam16(xyz, viewingConditions);\n\treturn [constrain(cam16.h), cam16.C, t];\n}\n\n// Pre-calculate everything we can with the viewing conditions\nexport const viewingConditions = environment(\n\twhite, 200 / Math.PI * fromLstar(50.0),\n\tfromLstar(50.0) * 100,\n\t\"average\",\n\tfalse,\n);\n\n// https://material.io/blog/science-of-color-design\n// This is not a port of the material-color-utilities,\n// but instead implements the full color space as described,\n// combining CAM16 JCh and Lab D65. This does not clamp conversion\n// to HCT to specific chroma bands and provides support for wider\n// gamuts than Google currently supports and does so at a greater\n// precision (> 8 bits back to sRGB).\n// This implementation comes from https://github.com/facelessuser/coloraide\n// which is licensed under MIT.\nexport default new ColorSpace({\n\tid: \"hct\",\n\tname: \"HCT\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 145],\n\t\t\tname: \"Colorfulness\",\n\t\t},\n\t\tt: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Tone\",\n\t\t},\n\t},\n\n\tbase: xyz_d65,\n\n\tfromBase (xyz) {\n\t\treturn toHct(xyz, viewingConditions);\n\t},\n\ttoBase (hct) {\n\t\treturn fromHct(hct, viewingConditions);\n\t},\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hct\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import hct from \"../spaces/hct.js\";\nimport {viewingConditions} from \"../spaces/hct.js\";\nimport getColor from \"../getColor.js\";\n\nconst rad2deg = 180 / Math.PI;\nconst deg2rad = Math.PI / 180;\nconst ucsCoeff = [1.00, 0.007, 0.0228];\n\n/**\n* Convert HCT chroma and hue (CAM16 JMh colorfulness and hue) using UCS logic for a and b.\n* @param {number[]} coords - HCT coordinates.\n* @return {number[]}\n*/\nfunction convertUcsAb (coords) {\n\t// We want the distance between the actual color.\n\t// If chroma is negative, it will throw off our calculations.\n\t// Normally, converting back to the base and forward will correct it.\n\t// If we have a negative chroma after this, then we have a color that\n\t// cannot resolve to positive chroma.\n\tif (coords[1] < 0) {\n\t\tcoords = hct.fromBase(hct.toBase(coords));\n\t}\n\n\t// Only in extreme cases (usually outside the visible spectrum)\n\t// can the input value for log become negative.\n\t// Avoid domain error by forcing a zero result via \"max\" if necessary.\n\tconst M = Math.log(Math.max(1 + ucsCoeff[2] * coords[1] * viewingConditions.flRoot, 1.0)) / ucsCoeff[2];\n\tconst hrad = coords[0] * deg2rad;\n\tconst a = M * Math.cos(hrad);\n\tconst b = M * Math.sin(hrad);\n\n\treturn [coords[2], a, b];\n}\n\n\n/**\n* Color distance using HCT.\n* @param {Color} color - Color to compare.\n* @param {Color} sample - Color to compare.\n* @return {number[]}\n*/\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\tlet [ t1, a1, b1 ] = convertUcsAb(hct.from(color));\n\tlet [ t2, a2, b2 ] = convertUcsAb(hct.from(sample));\n\n\t// Use simple euclidean distance with a and b using UCS conversion\n\t// and LCh lightness (HCT tone).\n\treturn Math.sqrt((t1 - t2) ** 2 + (a1 - a2) ** 2 + (b1 - b2) ** 2);\n}\n", "import deltaE76 from \"./deltaE76.js\";\nimport deltaECMC from \"./deltaECMC.js\";\nimport deltaE2000 from \"./deltaE2000.js\";\nimport deltaEJz from \"./deltaEJz.js\";\nimport deltaEITP from \"./deltaEITP.js\";\nimport deltaEOK from \"./deltaEOK.js\";\nimport deltaEHCT from \"./deltaEHCT.js\";\n\nexport {\n\tdeltaE76,\n\tdeltaECMC,\n\tdeltaE2000,\n\tdeltaEJz,\n\tdeltaEITP,\n\tdeltaEOK,\n\tdeltaEHCT,\n};\n\nexport default {\n\tdeltaE76,\n\tdeltaECMC,\n\tdeltaE2000,\n\tdeltaEJz,\n\tdeltaEITP,\n\tdeltaEOK,\n\tdeltaEHCT,\n};\n", "import * as util from \"./util.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\nimport deltaE2000 from \"./deltaE/deltaE2000.js\";\nimport deltaEOK from \"./deltaE/deltaEOK.js\";\nimport inGamut from \"./inGamut.js\";\nimport to from \"./to.js\";\nimport get from \"./get.js\";\nimport oklab from \"./spaces/oklab.js\";\nimport set from \"./set.js\";\nimport clone from \"./clone.js\";\nimport getColor from \"./getColor.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\nimport {WHITES} from \"./adapt.js\";\n\n/**\n * Calculate the epsilon to 2 degrees smaller than the specified JND.\n * @param {Number} jnd - The target \"just noticeable difference\".\n * @returns {Number}\n */\nfunction calcEpsilon (jnd) {\n\t// Calculate the epsilon to 2 degrees smaller than the specified JND.\n\n\tconst order = (!jnd) ? 0 : Math.floor(Math.log10(Math.abs(jnd)));\n\t// Limit to an arbitrary value to ensure value is never too small and causes infinite loops.\n\treturn Math.max(parseFloat(`1e${order - 2}`), 1e-6);\n}\n\nconst GMAPPRESET = {\n\t\"hct\": {\n\t\tmethod: \"hct.c\",\n\t\tjnd: 2,\n\t\tdeltaEMethod: \"hct\",\n\t\tblackWhiteClamp: {},\n\t},\n\t\"hct-tonal\": {\n\t\tmethod: \"hct.c\",\n\t\tjnd: 0,\n\t\tdeltaEMethod: \"hct\",\n\t\tblackWhiteClamp: { channel: \"hct.t\", min: 0, max: 100 },\n\t},\n};\n\n/**\n * Force coordinates to be in gamut of a certain color space.\n * Mutates the color it is passed.\n * @param {Object|string} options object or spaceId string\n * @param {string} options.method - How to force into gamut.\n * If \"clip\", coordinates are just clipped to their reference range.\n * If \"css\", coordinates are reduced according to the CSS 4 Gamut Mapping Algorithm.\n * If in the form [colorSpaceId].[coordName], that coordinate is reduced\n * until the color is in gamut. Please note that this may produce nonsensical\n * results for certain coordinates (e.g. hue) or infinite loops if reducing the coordinate never brings the color in gamut.\n * @param {ColorSpace|string} options.space - The space whose gamut we want to map to\n * @param {string} options.deltaEMethod - The delta E method to use while performing gamut mapping.\n * If no method is specified, delta E 2000 is used.\n * @param {Number} options.jnd - The \"just noticeable difference\" to target.\n * @param {Object} options.blackWhiteClamp - Used to configure SDR black and clamping.\n * \"channel\" indicates the \"space.channel\" to use for determining when to clamp.\n * \"min\" indicates the lower limit for black clamping and \"max\" indicates the upper\n * limit for white clamping.\n */\n\nexport default function toGamut (\n\tcolor,\n\t{\n\t\tmethod = defaults.gamut_mapping,\n\t\tspace = undefined,\n\t\tdeltaEMethod = \"\",\n\t\tjnd = 2,\n\t\tblackWhiteClamp = {},\n\t} = {},\n) {\n\tcolor = getColor(color);\n\n\tif (util.isString(arguments[1])) {\n\t\tspace = arguments[1];\n\t}\n\telse if (!space) {\n\t\tspace = color.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\n\t// 3 spaces:\n\t// color.space: current color space\n\t// space: space whose gamut we are mapping to\n\t// mapSpace: space with the coord we're reducing\n\n\tif (inGamut(color, space, { epsilon: 0 })) {\n\t\treturn color;\n\t}\n\n\tlet spaceColor;\n\tif (method === \"css\") {\n\t\tspaceColor = toGamutCSS(color, { space });\n\t}\n\telse {\n\t\tif (method !== \"clip\" && !inGamut(color, space)) {\n\n\t\t\tif (Object.prototype.hasOwnProperty.call(GMAPPRESET, method)) {\n\t\t\t\t({method, jnd, deltaEMethod, blackWhiteClamp} = GMAPPRESET[method]);\n\t\t\t}\n\n\t\t\t// Get the correct delta E method\n\t\t\tlet de = deltaE2000;\n\t\t\tif (deltaEMethod !== \"\") {\n\t\t\t\tfor (let m in deltaEMethods) {\n\t\t\t\t\tif (\"deltae\" + deltaEMethod.toLowerCase() === m.toLowerCase()) {\n\t\t\t\t\t\tde = deltaEMethods[m];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet clipped = toGamut(to(color, space), { method: \"clip\", space });\n\t\t\tif (de(color, clipped) > jnd) {\n\n\t\t\t\t// Clamp to SDR white and black if required\n\t\t\t\tif (Object.keys(blackWhiteClamp).length === 3) {\n\t\t\t\t\tlet channelMeta = ColorSpace.resolveCoord(blackWhiteClamp.channel);\n\t\t\t\t\tlet channel = get(to(color, channelMeta.space), channelMeta.id);\n\t\t\t\t\tif (util.isNone(channel)) {\n\t\t\t\t\t\tchannel = 0;\n\t\t\t\t\t}\n\t\t\t\t\tif (channel >= blackWhiteClamp.max) {\n\t\t\t\t\t\treturn to({ space: \"xyz-d65\", coords: WHITES[\"D65\"] }, color.space);\n\t\t\t\t\t}\n\t\t\t\t\telse if (channel <= blackWhiteClamp.min) {\n\t\t\t\t\t\treturn to({ space: \"xyz-d65\", coords: [0, 0, 0] }, color.space);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Reduce a coordinate of a certain color space until the color is in gamut\n\t\t\t\tlet coordMeta = ColorSpace.resolveCoord(method);\n\t\t\t\tlet mapSpace = coordMeta.space;\n\t\t\t\tlet coordId = coordMeta.id;\n\n\t\t\t\tlet mappedColor = to(color, mapSpace);\n\t\t\t\t// If we were already in the mapped color space, we need to resolve undefined channels\n\t\t\t\tmappedColor.coords.forEach((c, i) => {\n\t\t\t\t\tif (util.isNone(c)) {\n\t\t\t\t\t\tmappedColor.coords[i] = 0;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tlet bounds = coordMeta.range || coordMeta.refRange;\n\t\t\t\tlet min = bounds[0];\n\t\t\t\tlet ε = calcEpsilon(jnd);\n\t\t\t\tlet low = min;\n\t\t\t\tlet high = get(mappedColor, coordId);\n\n\t\t\t\twhile (high - low > ε) {\n\t\t\t\t\tlet clipped = clone(mappedColor);\n\t\t\t\t\tclipped = toGamut(clipped, { space, method: \"clip\" });\n\t\t\t\t\tlet deltaE = de(mappedColor, clipped);\n\n\t\t\t\t\tif (deltaE - jnd < ε) {\n\t\t\t\t\t\tlow = get(mappedColor, coordId);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\thigh = get(mappedColor, coordId);\n\t\t\t\t\t}\n\n\t\t\t\t\tset(mappedColor, coordId, (low + high) / 2);\n\t\t\t\t}\n\n\t\t\t\tspaceColor = to(mappedColor, space);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tspaceColor = clipped;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tspaceColor = to(color, space);\n\t\t}\n\n\t\tif (method === \"clip\" // Dumb coord clipping\n\t\t\t// finish off smarter gamut mapping with clip to get rid of ε, see #17\n\t\t\t|| !inGamut(spaceColor, space, { epsilon: 0 })\n\t\t) {\n\t\t\tlet bounds = Object.values(space.coords).map(c => c.range || []);\n\n\t\t\tspaceColor.coords = spaceColor.coords.map((c, i) => {\n\t\t\t\tlet [min, max] = bounds[i];\n\n\t\t\t\tif (min !== undefined) {\n\t\t\t\t\tc = Math.max(min, c);\n\t\t\t\t}\n\n\t\t\t\tif (max !== undefined) {\n\t\t\t\t\tc = Math.min(c, max);\n\t\t\t\t}\n\n\t\t\t\treturn c;\n\t\t\t});\n\t\t}\n\t}\n\n\tif (space !== color.space) {\n\t\tspaceColor = to(spaceColor, color.space);\n\t}\n\n\tcolor.coords = spaceColor.coords;\n\treturn color;\n}\n\ntoGamut.returns = \"color\";\n\n// The reference colors to be used if lightness is out of the range 0-1 in the\n// `Oklch` space. These are created in the `Oklab` space, as it is used by the\n// DeltaEOK calculation, so it is guaranteed to be imported.\nconst COLORS = {\n\tWHITE: { space: oklab, coords: [1, 0, 0] },\n\tBLACK: { space: oklab, coords: [0, 0, 0] },\n};\n\n/**\n * Given a color `origin`, returns a new color that is in gamut using\n * the CSS Gamut Mapping Algorithm. If `space` is specified, it will be in gamut\n * in `space`, and returned in `space`. Otherwise, it will be in gamut and\n * returned in the color space of `origin`.\n * @param {Object} origin\n * @param {Object} options\n * @param {ColorSpace|string} options.space\n * @returns {Color}\n */\nexport function toGamutCSS (origin, {space} = {}) {\n\tconst JND = 0.02;\n\tconst ε = 0.0001;\n\n\torigin = getColor(origin);\n\n\tif (!space) {\n\t\tspace = origin.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\tconst oklchSpace = ColorSpace.get(\"oklch\");\n\n\tif (space.isUnbounded) {\n\t\treturn to(origin, space);\n\t}\n\n\tconst origin_OKLCH = to(origin, oklchSpace);\n\tlet L = origin_OKLCH.coords[0];\n\n\t// return media white or black, if lightness is out of range\n\tif (L >= 1) {\n\t\tconst white = to(COLORS.WHITE, space);\n\t\twhite.alpha = origin.alpha;\n\t\treturn to(white, space);\n\t}\n\tif (L <= 0) {\n\t\tconst black = to(COLORS.BLACK, space);\n\t\tblack.alpha = origin.alpha;\n\t\treturn to(black, space);\n\t}\n\n\tif (inGamut(origin_OKLCH, space, {epsilon: 0})) {\n\t\treturn to(origin_OKLCH, space);\n\t}\n\n\tfunction clip (_color) {\n\t\tconst destColor = to(_color, space);\n\t\tconst spaceCoords = Object.values(space.coords);\n\t\tdestColor.coords = destColor.coords.map((coord, index) => {\n\t\t\tif (\"range\" in spaceCoords[index]) {\n\t\t\t\tconst [min, max] = spaceCoords[index].range;\n\t\t\t\treturn util.clamp(min, coord, max);\n\t\t\t}\n\t\t\treturn coord;\n\t\t});\n\t\treturn destColor;\n\t}\n\tlet min = 0;\n\tlet max = origin_OKLCH.coords[1];\n\tlet min_inGamut = true;\n\tlet current = clone(origin_OKLCH);\n\tlet clipped = clip(current);\n\n\tlet E = deltaEOK(clipped, current);\n\tif (E < JND) {\n\t\treturn clipped;\n\t}\n\n\twhile ((max - min) > ε) {\n\t\tconst chroma = (min + max) / 2;\n\t\tcurrent.coords[1] = chroma;\n\t\tif (min_inGamut && inGamut(current, space, {epsilon: 0})) {\n\t\t\tmin = chroma;\n\t\t}\n\t\telse {\n\t\t\tclipped = clip(current);\n\t\t\tE = deltaEOK(clipped, current);\n\t\t\tif (E < JND) {\n\t\t\t\tif ((JND - E < ε)) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tmin_inGamut = false;\n\t\t\t\t\tmin = chroma;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tmax = chroma;\n\t\t\t}\n\t\t}\n\t}\n\treturn clipped;\n}\n", "import getColor from \"./getColor.js\";\nimport ColorSpace from \"./space.js\";\nimport toGamut from \"./toGamut.js\";\n\n/**\n * Convert to color space and return a new color\n * @param {Object|string} space - Color space object or id\n * @param {Object} options\n * @param {boolean} options.inGamut - Whether to force resulting color in gamut\n * @returns {Color}\n */\nexport default function to (color, space, {inGamut} = {}) {\n\tcolor = getColor(color);\n\tspace = ColorSpace.get(space);\n\n\tlet coords = space.from(color);\n\tlet ret = {space, coords, alpha: color.alpha};\n\n\tif (inGamut) {\n\t\tret = toGamut(ret, inGamut === true ? undefined : inGamut);\n\t}\n\n\treturn ret;\n}\n\nto.returns = \"color\";\n", "import * as util from \"./util.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\nimport getColor from \"./getColor.js\";\nimport checkInGamut from \"./inGamut.js\";\nimport toGamut from \"./toGamut.js\";\nimport clone from \"./clone.js\";\n\n/**\n * Generic toString() method, outputs a color(spaceId ...coords) function, a functional syntax, or custom formats defined by the color space\n * @param {Object} options\n * @param {number} options.precision - Significant digits\n * @param {boolean} options.inGamut - Adjust coordinates to fit in gamut first? [default: false]\n */\nexport default function serialize (color, {\n\tprecision = defaults.precision,\n\tformat = \"default\",\n\tinGamut = true,\n\t...customOptions\n} = {}) {\n\tlet ret;\n\n\tcolor = getColor(color);\n\n\tlet formatId = format;\n\tformat = color.space.getFormat(format)\n\t ?? color.space.getFormat(\"default\")\n\t ?? ColorSpace.DEFAULT_FORMAT;\n\n\t// The assignment to coords and inGamut needs to stay in the order they are now\n\t// The order of the assignment was changed as a workaround for a bug in Next.js\n\t// See this issue for details: https://github.com/color-js/color.js/issues/260\n\n\tlet coords = color.coords.slice(); // clone so we can manipulate it\n\n\tinGamut ||= format.toGamut;\n\n\tif (inGamut && !checkInGamut(color)) {\n\t\t// FIXME what happens if the color contains NaNs?\n\t\tcoords = toGamut(clone(color), inGamut === true ? undefined : inGamut).coords;\n\t}\n\n\tif (format.type === \"custom\") {\n\t\tcustomOptions.precision = precision;\n\n\t\tif (format.serialize) {\n\t\t\tret = format.serialize(coords, color.alpha, customOptions);\n\t\t}\n\t\telse {\n\t\t\tthrow new TypeError(`format ${formatId} can only be used to parse colors, not for serialization`);\n\t\t}\n\t}\n\telse {\n\t\t// Functional syntax\n\t\tlet name = format.name || \"color\";\n\n\t\tif (format.serializeCoords) {\n\t\t\tcoords = format.serializeCoords(coords, precision);\n\t\t}\n\t\telse {\n\t\t\tif (precision !== null) {\n\t\t\t\tcoords = coords.map(c => {\n\t\t\t\t\treturn util.serializeNumber(c, {precision});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tlet args = [...coords];\n\n\t\tif (name === \"color\") {\n\t\t\t// If output is a color() function, add colorspace id as first argument\n\t\t\tlet cssId = format.id || format.ids?.[0] || color.space.id;\n\t\t\targs.unshift(cssId);\n\t\t}\n\n\t\tlet alpha = color.alpha;\n\t\tif (precision !== null) {\n\t\t\talpha = util.serializeNumber(alpha, {precision});\n\t\t}\n\n\t\tlet strAlpha = color.alpha >= 1 || format.noAlpha ? \"\" : `${format.commas ? \",\" : \" /\"} ${alpha}`;\n\t\tret = `${name}(${args.join(format.commas ? \", \" : \" \")}${strAlpha})`;\n\t}\n\n\treturn ret;\n}\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// convert an array of linear-light rec2020 values to CIE XYZ\n// using D65 (no chromatic adaptation)\n// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n// 0 is actually calculated as 4.994106574466076e-17\nconst toXYZ_M = [\n\t[ 0.6369580483012914, 0.14461690358620832, 0.1688809751641721 ],\n\t[ 0.2627002120112671, 0.6779980715188708, 0.05930171646986196 ],\n\t[ 0.000000000000000, 0.028072693049087428, 1.060985057710791 ],\n];\n\n// from ITU-R BT.2124-0 Annex 2 p.3\nconst fromXYZ_M = [\n\t[ 1.716651187971268, -0.355670783776392, -0.253366281373660 ],\n\t[ -0.666684351832489, 1.616481236634939, 0.0157685458139111 ],\n\t[ 0.017639857445311, -0.042770613257809, 0.942103121235474 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"rec2020-linear\",\n\tcssId: \"--rec2020-linear\",\n\tname: \"Linear REC.2020\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n// import sRGB from \"./srgb.js\";\n\nconst α = 1.09929682680944;\nconst β = 0.018053968510807;\n\nexport default new RGBColorSpace({\n\tid: \"rec2020\",\n\tname: \"REC.2020\",\n\tbase: REC2020Linear,\n\t// Non-linear transfer function from Rec. ITU-R BT.2020-2 table 4\n\ttoBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val < β * 4.5) {\n\t\t\t\treturn val / 4.5;\n\t\t\t}\n\n\t\t\treturn Math.pow((val + α - 1) / α, 1 / 0.45);\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val >= β) {\n\t\t\t\treturn α * Math.pow(val, 0.45) - (α - 1);\n\t\t\t}\n\n\t\t\treturn 4.5 * val;\n\t\t});\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\nconst toXYZ_M = [\n\t[0.4865709486482162, 0.26566769316909306, 0.1982172852343625],\n\t[0.2289745640697488, 0.6917385218365064, 0.079286914093745],\n\t[0.0000000000000000, 0.04511338185890264, 1.043944368900976],\n];\n\nconst fromXYZ_M = [\n\t[ 2.493496911941425, -0.9313836179191239, -0.40271078445071684],\n\t[-0.8294889695615747, 1.7626640603183463, 0.023624685841943577],\n\t[ 0.03584583024378447, -0.07617238926804182, 0.9568845240076872],\n];\n\nexport default new RGBColorSpace({\n\tid: \"p3-linear\",\n\tcssId: \"--display-p3-linear\",\n\tname: \"Linear P3\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// This is the linear-light version of sRGB\n// as used for example in SVG filters\n// or in Canvas\n\n// This matrix was calculated directly from the RGB and white chromaticities\n// when rounded to 8 decimal places, it agrees completely with the official matrix\n// see https://github.com/w3c/csswg-drafts/issues/5922\nconst toXYZ_M = [\n\t[ 0.41239079926595934, 0.357584339383878, 0.1804807884018343 ],\n\t[ 0.21263900587151027, 0.715168678767756, 0.07219231536073371 ],\n\t[ 0.01933081871559182, 0.11919477979462598, 0.9505321522496607 ],\n];\n\n// This matrix is the inverse of the above;\n// again it agrees with the official definition when rounded to 8 decimal places\nexport const fromXYZ_M = [\n\t[ 3.2409699419045226, -1.537383177570094, -0.4986107602930034 ],\n\t[ -0.9692436362808796, 1.8759675015077202, 0.04155505740717559 ],\n\t[ 0.05563007969699366, -0.20397695888897652, 1.0569715142428786 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"srgb-linear\",\n\tname: \"Linear sRGB\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "/* List of CSS color keywords\n * Note that this does not include currentColor, transparent,\n * or system colors\n */\n\n// To produce: Visit https://www.w3.org/TR/css-color-4/#named-colors\n// and run in the console:\n// copy($$(\"tr\", $(\".named-color-table tbody\")).map(tr => `\"${tr.cells[2].textContent.trim()}\": [${tr.cells[4].textContent.trim().split(/\\s+/).map(c => c === \"0\"? \"0\" : c === \"255\"? \"1\" : c + \" / 255\").join(\", \")}]`).join(\",\\n\"))\nexport default {\n\t\"aliceblue\": [240 / 255, 248 / 255, 1],\n\t\"antiquewhite\": [250 / 255, 235 / 255, 215 / 255],\n\t\"aqua\": [0, 1, 1],\n\t\"aquamarine\": [127 / 255, 1, 212 / 255],\n\t\"azure\": [240 / 255, 1, 1],\n\t\"beige\": [245 / 255, 245 / 255, 220 / 255],\n\t\"bisque\": [1, 228 / 255, 196 / 255],\n\t\"black\": [0, 0, 0],\n\t\"blanchedalmond\": [1, 235 / 255, 205 / 255],\n\t\"blue\": [0, 0, 1],\n\t\"blueviolet\": [138 / 255, 43 / 255, 226 / 255],\n\t\"brown\": [165 / 255, 42 / 255, 42 / 255],\n\t\"burlywood\": [222 / 255, 184 / 255, 135 / 255],\n\t\"cadetblue\": [95 / 255, 158 / 255, 160 / 255],\n\t\"chartreuse\": [127 / 255, 1, 0],\n\t\"chocolate\": [210 / 255, 105 / 255, 30 / 255],\n\t\"coral\": [1, 127 / 255, 80 / 255],\n\t\"cornflowerblue\": [100 / 255, 149 / 255, 237 / 255],\n\t\"cornsilk\": [1, 248 / 255, 220 / 255],\n\t\"crimson\": [220 / 255, 20 / 255, 60 / 255],\n\t\"cyan\": [0, 1, 1],\n\t\"darkblue\": [0, 0, 139 / 255],\n\t\"darkcyan\": [0, 139 / 255, 139 / 255],\n\t\"darkgoldenrod\": [184 / 255, 134 / 255, 11 / 255],\n\t\"darkgray\": [169 / 255, 169 / 255, 169 / 255],\n\t\"darkgreen\": [0, 100 / 255, 0],\n\t\"darkgrey\": [169 / 255, 169 / 255, 169 / 255],\n\t\"darkkhaki\": [189 / 255, 183 / 255, 107 / 255],\n\t\"darkmagenta\": [139 / 255, 0, 139 / 255],\n\t\"darkolivegreen\": [85 / 255, 107 / 255, 47 / 255],\n\t\"darkorange\": [1, 140 / 255, 0],\n\t\"darkorchid\": [153 / 255, 50 / 255, 204 / 255],\n\t\"darkred\": [139 / 255, 0, 0],\n\t\"darksalmon\": [233 / 255, 150 / 255, 122 / 255],\n\t\"darkseagreen\": [143 / 255, 188 / 255, 143 / 255],\n\t\"darkslateblue\": [72 / 255, 61 / 255, 139 / 255],\n\t\"darkslategray\": [47 / 255, 79 / 255, 79 / 255],\n\t\"darkslategrey\": [47 / 255, 79 / 255, 79 / 255],\n\t\"darkturquoise\": [0, 206 / 255, 209 / 255],\n\t\"darkviolet\": [148 / 255, 0, 211 / 255],\n\t\"deeppink\": [1, 20 / 255, 147 / 255],\n\t\"deepskyblue\": [0, 191 / 255, 1],\n\t\"dimgray\": [105 / 255, 105 / 255, 105 / 255],\n\t\"dimgrey\": [105 / 255, 105 / 255, 105 / 255],\n\t\"dodgerblue\": [30 / 255, 144 / 255, 1],\n\t\"firebrick\": [178 / 255, 34 / 255, 34 / 255],\n\t\"floralwhite\": [1, 250 / 255, 240 / 255],\n\t\"forestgreen\": [34 / 255, 139 / 255, 34 / 255],\n\t\"fuchsia\": [1, 0, 1],\n\t\"gainsboro\": [220 / 255, 220 / 255, 220 / 255],\n\t\"ghostwhite\": [248 / 255, 248 / 255, 1],\n\t\"gold\": [1, 215 / 255, 0],\n\t\"goldenrod\": [218 / 255, 165 / 255, 32 / 255],\n\t\"gray\": [128 / 255, 128 / 255, 128 / 255],\n\t\"green\": [0, 128 / 255, 0],\n\t\"greenyellow\": [173 / 255, 1, 47 / 255],\n\t\"grey\": [128 / 255, 128 / 255, 128 / 255],\n\t\"honeydew\": [240 / 255, 1, 240 / 255],\n\t\"hotpink\": [1, 105 / 255, 180 / 255],\n\t\"indianred\": [205 / 255, 92 / 255, 92 / 255],\n\t\"indigo\": [75 / 255, 0, 130 / 255],\n\t\"ivory\": [1, 1, 240 / 255],\n\t\"khaki\": [240 / 255, 230 / 255, 140 / 255],\n\t\"lavender\": [230 / 255, 230 / 255, 250 / 255],\n\t\"lavenderblush\": [1, 240 / 255, 245 / 255],\n\t\"lawngreen\": [124 / 255, 252 / 255, 0],\n\t\"lemonchiffon\": [1, 250 / 255, 205 / 255],\n\t\"lightblue\": [173 / 255, 216 / 255, 230 / 255],\n\t\"lightcoral\": [240 / 255, 128 / 255, 128 / 255],\n\t\"lightcyan\": [224 / 255, 1, 1],\n\t\"lightgoldenrodyellow\": [250 / 255, 250 / 255, 210 / 255],\n\t\"lightgray\": [211 / 255, 211 / 255, 211 / 255],\n\t\"lightgreen\": [144 / 255, 238 / 255, 144 / 255],\n\t\"lightgrey\": [211 / 255, 211 / 255, 211 / 255],\n\t\"lightpink\": [1, 182 / 255, 193 / 255],\n\t\"lightsalmon\": [1, 160 / 255, 122 / 255],\n\t\"lightseagreen\": [32 / 255, 178 / 255, 170 / 255],\n\t\"lightskyblue\": [135 / 255, 206 / 255, 250 / 255],\n\t\"lightslategray\": [119 / 255, 136 / 255, 153 / 255],\n\t\"lightslategrey\": [119 / 255, 136 / 255, 153 / 255],\n\t\"lightsteelblue\": [176 / 255, 196 / 255, 222 / 255],\n\t\"lightyellow\": [1, 1, 224 / 255],\n\t\"lime\": [0, 1, 0],\n\t\"limegreen\": [50 / 255, 205 / 255, 50 / 255],\n\t\"linen\": [250 / 255, 240 / 255, 230 / 255],\n\t\"magenta\": [1, 0, 1],\n\t\"maroon\": [128 / 255, 0, 0],\n\t\"mediumaquamarine\": [102 / 255, 205 / 255, 170 / 255],\n\t\"mediumblue\": [0, 0, 205 / 255],\n\t\"mediumorchid\": [186 / 255, 85 / 255, 211 / 255],\n\t\"mediumpurple\": [147 / 255, 112 / 255, 219 / 255],\n\t\"mediumseagreen\": [60 / 255, 179 / 255, 113 / 255],\n\t\"mediumslateblue\": [123 / 255, 104 / 255, 238 / 255],\n\t\"mediumspringgreen\": [0, 250 / 255, 154 / 255],\n\t\"mediumturquoise\": [72 / 255, 209 / 255, 204 / 255],\n\t\"mediumvioletred\": [199 / 255, 21 / 255, 133 / 255],\n\t\"midnightblue\": [25 / 255, 25 / 255, 112 / 255],\n\t\"mintcream\": [245 / 255, 1, 250 / 255],\n\t\"mistyrose\": [1, 228 / 255, 225 / 255],\n\t\"moccasin\": [1, 228 / 255, 181 / 255],\n\t\"navajowhite\": [1, 222 / 255, 173 / 255],\n\t\"navy\": [0, 0, 128 / 255],\n\t\"oldlace\": [253 / 255, 245 / 255, 230 / 255],\n\t\"olive\": [128 / 255, 128 / 255, 0],\n\t\"olivedrab\": [107 / 255, 142 / 255, 35 / 255],\n\t\"orange\": [1, 165 / 255, 0],\n\t\"orangered\": [1, 69 / 255, 0],\n\t\"orchid\": [218 / 255, 112 / 255, 214 / 255],\n\t\"palegoldenrod\": [238 / 255, 232 / 255, 170 / 255],\n\t\"palegreen\": [152 / 255, 251 / 255, 152 / 255],\n\t\"paleturquoise\": [175 / 255, 238 / 255, 238 / 255],\n\t\"palevioletred\": [219 / 255, 112 / 255, 147 / 255],\n\t\"papayawhip\": [1, 239 / 255, 213 / 255],\n\t\"peachpuff\": [1, 218 / 255, 185 / 255],\n\t\"peru\": [205 / 255, 133 / 255, 63 / 255],\n\t\"pink\": [1, 192 / 255, 203 / 255],\n\t\"plum\": [221 / 255, 160 / 255, 221 / 255],\n\t\"powderblue\": [176 / 255, 224 / 255, 230 / 255],\n\t\"purple\": [128 / 255, 0, 128 / 255],\n\t\"rebeccapurple\": [102 / 255, 51 / 255, 153 / 255],\n\t\"red\": [1, 0, 0],\n\t\"rosybrown\": [188 / 255, 143 / 255, 143 / 255],\n\t\"royalblue\": [65 / 255, 105 / 255, 225 / 255],\n\t\"saddlebrown\": [139 / 255, 69 / 255, 19 / 255],\n\t\"salmon\": [250 / 255, 128 / 255, 114 / 255],\n\t\"sandybrown\": [244 / 255, 164 / 255, 96 / 255],\n\t\"seagreen\": [46 / 255, 139 / 255, 87 / 255],\n\t\"seashell\": [1, 245 / 255, 238 / 255],\n\t\"sienna\": [160 / 255, 82 / 255, 45 / 255],\n\t\"silver\": [192 / 255, 192 / 255, 192 / 255],\n\t\"skyblue\": [135 / 255, 206 / 255, 235 / 255],\n\t\"slateblue\": [106 / 255, 90 / 255, 205 / 255],\n\t\"slategray\": [112 / 255, 128 / 255, 144 / 255],\n\t\"slategrey\": [112 / 255, 128 / 255, 144 / 255],\n\t\"snow\": [1, 250 / 255, 250 / 255],\n\t\"springgreen\": [0, 1, 127 / 255],\n\t\"steelblue\": [70 / 255, 130 / 255, 180 / 255],\n\t\"tan\": [210 / 255, 180 / 255, 140 / 255],\n\t\"teal\": [0, 128 / 255, 128 / 255],\n\t\"thistle\": [216 / 255, 191 / 255, 216 / 255],\n\t\"tomato\": [1, 99 / 255, 71 / 255],\n\t\"turquoise\": [64 / 255, 224 / 255, 208 / 255],\n\t\"violet\": [238 / 255, 130 / 255, 238 / 255],\n\t\"wheat\": [245 / 255, 222 / 255, 179 / 255],\n\t\"white\": [1, 1, 1],\n\t\"whitesmoke\": [245 / 255, 245 / 255, 245 / 255],\n\t\"yellow\": [1, 1, 0],\n\t\"yellowgreen\": [154 / 255, 205 / 255, 50 / 255],\n};\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport sRGBLinear from \"./srgb-linear.js\";\nimport KEYWORDS from \"../keywords.js\";\n\nlet coordGrammar = Array(3).fill(\"<percentage> | <number>[0, 255]\");\nlet coordGrammarNumber = Array(3).fill(\"<number>[0, 255]\");\n\nexport default new RGBColorSpace({\n\tid: \"srgb\",\n\tname: \"sRGB\",\n\tbase: sRGBLinear,\n\tfromBase: rgb => {\n\t\t// convert an array of linear-light sRGB values in the range 0.0-1.0\n\t\t// to gamma corrected form\n\t\t// https://en.wikipedia.org/wiki/SRGB\n\t\treturn rgb.map(val => {\n\t\t\tlet sign = val < 0 ? -1 : 1;\n\t\t\tlet abs = val * sign;\n\n\t\t\tif (abs > 0.0031308) {\n\t\t\t\treturn sign * (1.055 * (abs ** (1 / 2.4)) - 0.055);\n\t\t\t}\n\n\t\t\treturn 12.92 * val;\n\t\t});\n\t},\n\ttoBase: rgb => {\n\t\t// convert an array of sRGB values in the range 0.0 - 1.0\n\t\t// to linear light (un-companded) form.\n\t\t// https://en.wikipedia.org/wiki/SRGB\n\t\treturn rgb.map(val => {\n\t\t\tlet sign = val < 0 ? -1 : 1;\n\t\t\tlet abs = val * sign;\n\n\t\t\tif (abs <= 0.04045) {\n\t\t\t\treturn val / 12.92;\n\t\t\t}\n\n\t\t\treturn sign * (((abs + 0.055) / 1.055) ** 2.4);\n\t\t});\n\t},\n\tformats: {\n\t\t\"rgb\": {\n\t\t\tcoords: coordGrammar,\n\t\t},\n\t\t\"rgb_number\": {\n\t\t\tname: \"rgb\",\n\t\t\tcommas: true,\n\t\t\tcoords: coordGrammarNumber,\n\t\t\tnoAlpha: true,\n\t\t},\n\t\t\"color\": { /* use defaults */ },\n\t\t\"rgba\": {\n\t\t\tcoords: coordGrammar,\n\t\t\tcommas: true,\n\t\t\tlastAlpha: true,\n\t\t},\n\t\t\"rgba_number\": {\n\t\t\tname: \"rgba\",\n\t\t\tcommas: true,\n\t\t\tcoords: coordGrammarNumber,\n\t\t},\n\t\t\"hex\": {\n\t\t\ttype: \"custom\",\n\t\t\ttoGamut: true,\n\t\t\ttest: str => /^#([a-f0-9]{3,4}){1,2}$/i.test(str),\n\t\t\tparse (str) {\n\t\t\t\tif (str.length <= 5) {\n\t\t\t\t\t// #rgb or #rgba, duplicate digits\n\t\t\t\t\tstr = str.replace(/[a-f0-9]/gi, \"$&$&\");\n\t\t\t\t}\n\n\t\t\t\tlet rgba = [];\n\t\t\t\tstr.replace(/[a-f0-9]{2}/gi, component => {\n\t\t\t\t\trgba.push(parseInt(component, 16) / 255);\n\t\t\t\t});\n\n\t\t\t\treturn {\n\t\t\t\t\tspaceId: \"srgb\",\n\t\t\t\t\tcoords: rgba.slice(0, 3),\n\t\t\t\t\talpha: rgba.slice(3)[0],\n\t\t\t\t};\n\t\t\t},\n\t\t\tserialize: (coords, alpha, {\n\t\t\t\tcollapse = true, // collapse to 3-4 digit hex when possible?\n\t\t\t} = {}) => {\n\t\t\t\tif (alpha < 1) {\n\t\t\t\t\tcoords.push(alpha);\n\t\t\t\t}\n\n\t\t\t\tcoords = coords.map(c => Math.round(c * 255));\n\n\t\t\t\tlet collapsible = collapse && coords.every(c => c % 17 === 0);\n\n\t\t\t\tlet hex = coords.map(c => {\n\t\t\t\t\tif (collapsible) {\n\t\t\t\t\t\treturn (c / 17).toString(16);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn c.toString(16).padStart(2, \"0\");\n\t\t\t\t}).join(\"\");\n\n\t\t\t\treturn \"#\" + hex;\n\t\t\t},\n\t\t},\n\t\t\"keyword\": {\n\t\t\ttype: \"custom\",\n\t\t\ttest: str => /^[a-z]+$/i.test(str),\n\t\t\tparse (str) {\n\t\t\t\tstr = str.toLowerCase();\n\t\t\t\tlet ret = {spaceId: \"srgb\", coords: null, alpha: 1};\n\n\t\t\t\tif (str === \"transparent\") {\n\t\t\t\t\tret.coords = KEYWORDS.black;\n\t\t\t\t\tret.alpha = 0;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tret.coords = KEYWORDS[str];\n\t\t\t\t}\n\n\t\t\t\tif (ret.coords) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport P3Linear from \"./p3-linear.js\";\nimport sRGB from \"./srgb.js\";\n\nexport default new RGBColorSpace({\n\tid: \"p3\",\n\tcssId: \"display-p3\",\n\tname: \"P3\",\n\tbase: P3Linear,\n\t// Gamma encoding/decoding is the same as sRGB\n\tfromBase: sRGB.fromBase,\n\ttoBase: sRGB.toBase,\n});\n", "import { isNone, skipNone } from \"./util.js\";\nimport defaults from \"./defaults.js\";\nimport to from \"./to.js\";\nimport serialize from \"./serialize.js\";\nimport clone from \"./clone.js\";\nimport REC2020 from \"./spaces/rec2020.js\";\nimport P3 from \"./spaces/p3.js\";\nimport Lab from \"./spaces/lab.js\";\nimport sRGB from \"./spaces/srgb.js\";\n\n// Default space for CSS output. Code in Color.js makes this wider if there's a DOM available\ndefaults.display_space = sRGB;\n\nlet supportsNone;\n\nif (typeof CSS !== \"undefined\" && CSS.supports) {\n\t// Find widest supported color space for CSS\n\tfor (let space of [Lab, REC2020, P3]) {\n\t\tlet coords = space.getMinCoords();\n\t\tlet color = {space, coords, alpha: 1};\n\t\tlet str = serialize(color);\n\n\t\tif (CSS.supports(\"color\", str)) {\n\t\t\tdefaults.display_space = space;\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\n/**\n * Returns a serialization of the color that can actually be displayed in the browser.\n * If the default serialization can be displayed, it is returned.\n * Otherwise, the color is converted to Lab, REC2020, or P3, whichever is the widest supported.\n * In Node.js, this is basically equivalent to `serialize()` but returns a `String` object instead.\n *\n * @export\n * @param {{space, coords} | Color | string} color\n * @param {*} [options={}] Options to be passed to serialize()\n * @param {ColorSpace | string} [options.space = defaults.display_space] Color space to use for serialization if default is not supported\n * @returns {String} String object containing the serialized color with a color property containing the converted color (or the original, if no conversion was necessary)\n */\nexport default function display (color, {space = defaults.display_space, ...options} = {}) {\n\tlet ret = serialize(color, options);\n\n\tif (typeof CSS === \"undefined\" || CSS.supports(\"color\", ret) || !defaults.display_space) {\n\t\tret = new String(ret);\n\t\tret.color = color;\n\t}\n\telse {\n\t\t// If we're here, what we were about to output is not supported\n\t\tlet fallbackColor = color;\n\n\t\t// First, check if the culprit is none values\n\t\tlet hasNone = color.coords.some(isNone) || isNone(color.alpha);\n\n\t\tif (hasNone) {\n\t\t\t// Does the browser support none values?\n\t\t\tif (!(supportsNone ??= CSS.supports(\"color\", \"hsl(none 50% 50%)\"))) {\n\t\t\t\t// Nope, try again without none\n\t\t\t\tfallbackColor = clone(color);\n\t\t\t\tfallbackColor.coords = fallbackColor.coords.map(skipNone);\n\t\t\t\tfallbackColor.alpha = skipNone(fallbackColor.alpha);\n\n\t\t\t\tret = serialize(fallbackColor, options);\n\n\t\t\t\tif (CSS.supports(\"color\", ret)) {\n\t\t\t\t\t// We're done, now it's supported\n\t\t\t\t\tret = new String(ret);\n\t\t\t\t\tret.color = fallbackColor;\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If we're here, the color function is not supported\n\t\t// Fall back to fallback space\n\t\tfallbackColor = to(fallbackColor, space);\n\t\tret = new String(serialize(fallbackColor, options));\n\t\tret.color = fallbackColor;\n\t}\n\n\treturn ret;\n}\n", "import getColor from \"./getColor.js\";\n\nexport default function equals (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\treturn color1.space === color2.space\n\t && color1.alpha === color2.alpha\n\t && color1.coords.every((c, i) => c === color2.coords[i]);\n}\n", "/**\n * Relative luminance\n */\nimport get from \"./get.js\";\nimport set from \"./set.js\";\nimport xyz_d65 from \"./spaces/xyz-d65.js\";\n\nexport function getLuminance (color) {\n\t// Assume getColor() is called on color in get()\n\treturn get(color, [xyz_d65, \"y\"]);\n}\n\nexport function setLuminance (color, value) {\n\t// Assume getColor() is called on color in set()\n\tset(color, [xyz_d65, \"y\"], value);\n}\n\nexport function register (Color) {\n\tObject.defineProperty(Color.prototype, \"luminance\", {\n\t\tget () {\n\t\t\treturn getLuminance(this);\n\t\t},\n\t\tset (value) {\n\t\t\tsetLuminance(this, value);\n\t\t},\n\t});\n}\n", "// WCAG 2.0 contrast https://www.w3.org/TR/WCAG20-TECHS/G18.html\n// Simple contrast, with fixed 5% viewing flare contribution\n// Symmetric, does not matter which is foreground and which is background\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\nexport default function contrastWCAG21 (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\treturn (Y1 + .05) / (Y2 + .05);\n}\n", "// APCA 0.0.98G\n// https://github.com/Myndex/apca-w3\n// see also https://github.com/w3c/silver/issues/643\n\nimport getColor from \"../getColor.js\";\nimport to from \"../to.js\";\n\n// exponents\nconst normBG = 0.56;\nconst normTXT = 0.57;\nconst revTXT = 0.62;\nconst revBG = 0.65;\n\n// clamps\nconst blkThrs = 0.022;\nconst blkClmp = 1.414;\nconst loClip = 0.1;\nconst deltaYmin = 0.0005;\n\n// scalers\n// see https://github.com/w3c/silver/issues/645\nconst scaleBoW = 1.14;\nconst loBoWoffset = 0.027;\nconst scaleWoB = 1.14;\nconst loWoBoffset = 0.027;\n\nfunction fclamp (Y) {\n\tif (Y >= blkThrs) {\n\t\treturn Y;\n\t}\n\treturn Y + (blkThrs - Y) ** blkClmp;\n}\n\nfunction linearize (val) {\n\tlet sign = val < 0 ? -1 : 1;\n\tlet abs = Math.abs(val);\n\treturn sign * Math.pow(abs, 2.4);\n}\n\n// Not symmetric, requires a foreground (text) color, and a background color\nexport default function contrastAPCA (background, foreground) {\n\tforeground = getColor(foreground);\n\tbackground = getColor(background);\n\n\tlet S;\n\tlet C;\n\tlet Sapc;\n\n\t// Myndex as-published, assumes sRGB inputs\n\tlet R, G, B;\n\n\tforeground = to(foreground, \"srgb\");\n\t// Should these be clamped to in-gamut values?\n\n\t// Calculates \"screen luminance\" with non-standard simple gamma EOTF\n\t// weights should be from CSS Color 4, not the ones here which are via Myndex and copied from Lindbloom\n\t[R, G, B] = foreground.coords;\n\tlet lumTxt = linearize(R) * 0.2126729 + linearize(G) * 0.7151522 + linearize(B) * 0.0721750;\n\n\tbackground = to(background, \"srgb\");\n\t[R, G, B] = background.coords;\n\tlet lumBg = linearize(R) * 0.2126729 + linearize(G) * 0.7151522 + linearize(B) * 0.0721750;\n\n\t// toe clamping of very dark values to account for flare\n\tlet Ytxt = fclamp(lumTxt);\n\tlet Ybg = fclamp(lumBg);\n\n\t// are we \"Black on White\" (dark on light), or light on dark?\n\tlet BoW = Ybg > Ytxt;\n\n\t// why is this a delta, when Y is not perceptually uniform?\n\t// Answer: it is a noise gate, see\n\t// https://github.com/LeaVerou/color.js/issues/208\n\tif (Math.abs(Ybg - Ytxt) < deltaYmin) {\n\t\tC = 0;\n\t}\n\telse {\n\t\tif (BoW) {\n\t\t\t// dark text on light background\n\t\t\tS = Ybg ** normBG - Ytxt ** normTXT;\n\t\t\tC = S * scaleBoW;\n\t\t}\n\t\telse {\n\t\t\t// light text on dark background\n\t\t\tS = Ybg ** revBG - Ytxt ** revTXT;\n\t\t\tC = S * scaleWoB;\n\t\t}\n\t}\n\tif (Math.abs(C) < loClip) {\n\t\tSapc = 0;\n\t}\n\telse if (C > 0) {\n\t\t// not clear whether Woffset is loBoWoffset or loWoBoffset\n\t\t// but they have the same value\n\t\tSapc = C - loBoWoffset;\n\t}\n\telse {\n\t\tSapc = C + loBoWoffset;\n\t}\n\n\treturn Sapc * 100;\n}\n", "// Michelson luminance contrast\n// the relation between the spread and the sum of the two luminances\n// Symmetric, does not matter which is foreground and which is background\n// No black level compensation for flare.\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\nexport default function contrastMichelson (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\tlet denom = (Y1 + Y2);\n\treturn denom === 0 ? 0 : (Y1 - Y2) / denom;\n}\n", "// Weber luminance contrast\n// The difference between the two luminances divided by the lower luminance\n// Symmetric, does not matter which is foreground and which is background\n// No black level compensation for flare.\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\n// the darkest sRGB color above black is #000001 and this produces\n// a plain Weber contrast of ~45647.\n// So, setting the divide-by-zero result at 50000 is a reasonable\n// max clamp for the plain Weber\nconst max = 50000;\n\nexport default function contrastWeber (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\treturn Y2 === 0 ? max : (Y1 - Y2) / Y2;\n}\n", "// CIE Lightness difference, as used by Google Material Design\n// Google HCT Tone is the same as CIE Lightness\n// https://material.io/blog/science-of-color-design\n\nimport getColor from \"../getColor.js\";\nimport get from \"../get.js\";\nimport lab from \"../spaces/lab.js\";\n\nexport default function contrastLstar (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet L1 = get(color1, [lab, \"l\"]);\n\tlet L2 = get(color2, [lab, \"l\"]);\n\n\treturn Math.abs(L1 - L2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\n\n// κ * ε = 2^3 = 8\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst ε3 = 24 / 116;\nconst κ = 24389 / 27; // 29^3/3^3\n\nlet white = WHITES.D65;\n\nexport default new ColorSpace({\n\tid: \"lab-d65\",\n\tname: \"Lab D65\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t},\n\n\t// Assuming XYZ is relative to D65, convert to CIE Lab\n\t// from CIE standard, which now defines these as a rational fraction\n\twhite,\n\n\tbase: xyz_d65,\n\t// Convert D65-adapted XYZ to Lab\n\t// CIE 15.3:2004 section 8.2.1.1\n\tfromBase (XYZ) {\n\t\t// compute xyz, which is XYZ scaled relative to reference white\n\t\tlet xyz = XYZ.map((value, i) => value / white[i]);\n\n\t\t// now compute f\n\t\tlet f = xyz.map(value => value > ε ? Math.cbrt(value) : (κ * value + 16) / 116);\n\n\t\treturn [\n\t\t\t(116 * f[1]) - 16, // L\n\t\t\t500 * (f[0] - f[1]), // a\n\t\t\t200 * (f[1] - f[2]), // b\n\t\t];\n\t},\n\t// Convert Lab to D65-adapted XYZ\n\t// Same result as CIE 15.3:2004 Appendix D although the derivation is different\n\t// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n\ttoBase (Lab) {\n\t\t// compute f, starting with the luminance-related term\n\t\tlet f = [];\n\t\tf[1] = (Lab[0] + 16) / 116;\n\t\tf[0] = Lab[1] / 500 + f[1];\n\t\tf[2] = f[1] - Lab[2] / 200;\n\n\t\t// compute xyz\n\t\tlet xyz = [\n\t\t\tf[0] > ε3 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / κ,\n\t\t\tLab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / κ,\n\t\t\tf[2] > ε3 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / κ,\n\t\t];\n\n\t\t// Compute XYZ by scaling xyz by reference white\n\t\treturn xyz.map((value, i) => value * white[i]);\n\t},\n\n\tformats: {\n\t\t\"lab-d65\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "// Delta Phi Star perceptual lightness contrast\n// See https://github.com/Myndex/deltaphistar\n// The (difference between two Lstars each raised to phi) raised to (1/phi)\n// Symmetric, does not matter which is foreground and which is background\n\n\nimport getColor from \"../getColor.js\";\nimport get from \"../get.js\";\nimport lab_d65 from \"../spaces/lab-d65.js\";\n\nconst phi = Math.pow(5, 0.5) * 0.5 + 0.5; // Math.phi can be used if Math.js\n\nexport default function contrastDeltaPhi (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Lstr1 = get(color1, [lab_d65, \"l\"]);\n\tlet Lstr2 = get(color2, [lab_d65, \"l\"]);\n\n\tlet deltaPhiStar = Math.abs(Math.pow(Lstr1, phi) - Math.pow(Lstr2, phi));\n\n\tlet contrast = Math.pow(deltaPhiStar, (1 / phi)) * Math.SQRT2 - 40;\n\n\treturn (contrast < 7.5) ? 0.0 : contrast ;\n}\n", "import getColor from \"./getColor.js\";\n// import defaults from \"./defaults.js\";\nimport {isString} from \"./util.js\";\nimport * as contrastAlgorithms from \"./contrast/index.js\";\n\nexport default function contrast (background, foreground, o = {}) {\n\tif (isString(o)) {\n\t\to = {algorithm: o};\n\t}\n\n\tlet {algorithm, ...rest} = o;\n\n\tif (!algorithm) {\n\t\tlet algorithms = Object.keys(contrastAlgorithms).map(a => a.replace(/^contrast/, \"\")).join(\", \");\n\t\tthrow new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${algorithms}`);\n\t}\n\n\tbackground = getColor(background);\n\tforeground = getColor(foreground);\n\n\tfor (let a in contrastAlgorithms) {\n\t\tif (\"contrast\" + algorithm.toLowerCase() === a.toLowerCase()) {\n\t\t\treturn contrastAlgorithms[a](background, foreground, rest);\n\t\t}\n\t}\n\n\tthrow new TypeError(`Unknown contrast algorithm: ${algorithm}`);\n}\n", "import xyz_d65 from \"./spaces/xyz-d65.js\";\nimport getAll from \"./getAll.js\";\n\n// Chromaticity coordinates\nexport function uv (color) {\n\t// Assumes getAll() calls getColor() on color\n\tlet [X, Y, Z] = getAll(color, xyz_d65);\n\tlet denom = X + 15 * Y + 3 * Z;\n\treturn [4 * X / denom, 9 * Y / denom];\n}\n\nexport function xy (color) {\n\t// Assumes getAll() calls getColor() on color\n\tlet [X, Y, Z] = getAll(color, xyz_d65);\n\tlet sum = X + Y + Z;\n\treturn [X / sum, Y / sum];\n}\n\nexport function register (Color) {\n\t// no setters, as lightness information is lost\n\t// when converting color to chromaticity\n\tObject.defineProperty(Color.prototype, \"uv\", {\n\t\tget () {\n\t\t\treturn uv(this);\n\t\t},\n\t});\n\n\tObject.defineProperty(Color.prototype, \"xy\", {\n\t\tget () {\n\t\t\treturn xy(this);\n\t\t},\n\t});\n}\n", "import defaults from \"./defaults.js\";\nimport {isString} from \"./util.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\n\nexport default function deltaE (c1, c2, o = {}) {\n\tif (isString(o)) {\n\t\to = {method: o};\n\t}\n\n\tlet {method = defaults.deltaE, ...rest} = o;\n\n\tfor (let m in deltaEMethods) {\n\t\tif (\"deltae\" + method.toLowerCase() === m.toLowerCase()) {\n\t\t\treturn deltaEMethods[m](c1, c2, rest);\n\t\t}\n\t}\n\n\tthrow new TypeError(`Unknown deltaE method: ${method}`);\n}\n", "import ColorSpace from \"./space.js\";\nimport set from \"./set.js\";\n\nexport function lighten (color, amount = .25) {\n\tlet space = ColorSpace.get(\"oklch\", \"lch\");\n\tlet lightness = [space, \"l\"];\n\treturn set(color, lightness, l => l * (1 + amount));\n}\n\nexport function darken (color, amount = .25) {\n\tlet space = ColorSpace.get(\"oklch\", \"lch\");\n\tlet lightness = [space, \"l\"];\n\treturn set(color, lightness, l => l * (1 - amount));\n}\n", "/**\n * Functions related to color interpolation\n */\nimport ColorSpace from \"./space.js\";\nimport {type, interpolate} from \"./util.js\";\nimport getColor from \"./getColor.js\";\nimport clone from \"./clone.js\";\nimport to from \"./to.js\";\nimport toGamut from \"./toGamut.js\";\nimport get from \"./get.js\";\nimport set from \"./set.js\";\nimport defaults from \"./defaults.js\";\nimport * as angles from \"./angles.js\";\nimport deltaE from \"./deltaE.js\";\n\n/**\n * Return an intermediate color between two colors\n * Signatures: mix(c1, c2, p, options)\n * mix(c1, c2, options)\n * mix(color)\n * @param {Color | string} c1 The first color\n * @param {Color | string} [c2] The second color\n * @param {number} [p=.5] A 0-1 percentage where 0 is c1 and 1 is c2\n * @param {Object} [o={}]\n * @return {Color}\n */\nexport function mix (c1, c2, p = .5, o = {}) {\n\t[c1, c2] = [getColor(c1), getColor(c2)];\n\n\tif (type(p) === \"object\") {\n\t\t[p, o] = [.5, p];\n\t}\n\n\tlet r = range(c1, c2, o);\n\treturn r(p);\n}\n\n/**\n *\n * @param {Color | string | Function} c1 The first color or a range\n * @param {Color | string} [c2] The second color if c1 is not a range\n * @param {Object} [options={}]\n * @return {Color[]}\n */\nexport function steps (c1, c2, options = {}) {\n\tlet colorRange;\n\n\tif (isRange(c1)) {\n\t\t// Tweaking existing range\n\t\t[colorRange, options] = [c1, c2];\n\t\t[c1, c2] = colorRange.rangeArgs.colors;\n\t}\n\n\tlet {\n\t\tmaxDeltaE, deltaEMethod,\n\t\tsteps = 2, maxSteps = 1000,\n\t\t...rangeOptions\n\t} = options;\n\n\tif (!colorRange) {\n\t\t[c1, c2] = [getColor(c1), getColor(c2)];\n\t\tcolorRange = range(c1, c2, rangeOptions);\n\t}\n\n\tlet totalDelta = deltaE(c1, c2);\n\tlet actualSteps = maxDeltaE > 0 ? Math.max(steps, Math.ceil(totalDelta / maxDeltaE) + 1) : steps;\n\tlet ret = [];\n\n\tif (maxSteps !== undefined) {\n\t\tactualSteps = Math.min(actualSteps, maxSteps);\n\t}\n\n\tif (actualSteps === 1) {\n\t\tret = [{p: .5, color: colorRange(.5)}];\n\t}\n\telse {\n\t\tlet step = 1 / (actualSteps - 1);\n\t\tret = Array.from({length: actualSteps}, (_, i) => {\n\t\t\tlet p = i * step;\n\t\t\treturn {p, color: colorRange(p)};\n\t\t});\n\t}\n\n\tif (maxDeltaE > 0) {\n\t\t// Iterate over all stops and find max deltaE\n\t\tlet maxDelta = ret.reduce((acc, cur, i) => {\n\t\t\tif (i === 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tlet ΔΕ = deltaE(cur.color, ret[i - 1].color, deltaEMethod);\n\t\t\treturn Math.max(acc, ΔΕ);\n\t\t}, 0);\n\n\t\twhile (maxDelta > maxDeltaE) {\n\t\t\t// Insert intermediate stops and measure maxDelta again\n\t\t\t// We need to do this for all pairs, otherwise the midpoint shifts\n\t\t\tmaxDelta = 0;\n\n\t\t\tfor (let i = 1; (i < ret.length) && (ret.length < maxSteps); i++) {\n\t\t\t\tlet prev = ret[i - 1];\n\t\t\t\tlet cur = ret[i];\n\n\t\t\t\tlet p = (cur.p + prev.p) / 2;\n\t\t\t\tlet color = colorRange(p);\n\t\t\t\tmaxDelta = Math.max(maxDelta, deltaE(color, prev.color), deltaE(color, cur.color));\n\t\t\t\tret.splice(i, 0, {p, color: colorRange(p)});\n\t\t\t\ti++;\n\t\t\t}\n\t\t}\n\t}\n\n\tret = ret.map(a => a.color);\n\n\treturn ret;\n}\n\n/**\n * Interpolate to color2 and return a function that takes a 0-1 percentage\n * @param {Color | string | Function} color1 The first color or an existing range\n * @param {Color | string} [color2] If color1 is a color, this is the second color\n * @param {Object} [options={}]\n * @returns {Function} A function that takes a 0-1 percentage and returns a color\n */\nexport function range (color1, color2, options = {}) {\n\tif (isRange(color1)) {\n\t\t// Tweaking existing range\n\t\tlet [r, options] = [color1, color2];\n\n\t\treturn range(...r.rangeArgs.colors, {...r.rangeArgs.options, ...options});\n\t}\n\n\tlet {space, outputSpace, progression, premultiplied} = options;\n\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\t// Make sure we're working on copies of these colors\n\tcolor1 = clone(color1);\n\tcolor2 = clone(color2);\n\n\tlet rangeArgs = {colors: [color1, color2], options};\n\n\tif (space) {\n\t\tspace = ColorSpace.get(space);\n\t}\n\telse {\n\t\tspace = ColorSpace.registry[defaults.interpolationSpace] || color1.space;\n\t}\n\n\toutputSpace = outputSpace ? ColorSpace.get(outputSpace) : space;\n\n\tcolor1 = to(color1, space);\n\tcolor2 = to(color2, space);\n\n\t// Gamut map to avoid areas of flat color\n\tcolor1 = toGamut(color1);\n\tcolor2 = toGamut(color2);\n\n\t// Handle hue interpolation\n\t// See https://github.com/w3c/csswg-drafts/issues/4735#issuecomment-635741840\n\tif (space.coords.h && space.coords.h.type === \"angle\") {\n\t\tlet arc = options.hue = options.hue || \"shorter\";\n\n\t\tlet hue = [space, \"h\"];\n\t\tlet [θ1, θ2] = [get(color1, hue), get(color2, hue)];\n\t\t// Undefined hues must be evaluated before hue fix-up to properly\n\t\t// calculate hue arcs between undefined and defined hues.\n\t\t// See https://github.com/w3c/csswg-drafts/issues/9436#issuecomment-1746957545\n\t\tif (isNaN(θ1) && !isNaN(θ2)) {\n\t\t\tθ1 = θ2;\n\t\t}\n\t\telse if (isNaN(θ2) && !isNaN(θ1)) {\n\t\t\tθ2 = θ1;\n\t\t}\n\t\t[θ1, θ2] = angles.adjust(arc, [θ1, θ2]);\n\t\tset(color1, hue, θ1);\n\t\tset(color2, hue, θ2);\n\t}\n\n\tif (premultiplied) {\n\t\t// not coping with polar spaces yet\n\t\tcolor1.coords = color1.coords.map(c => c * color1.alpha);\n\t\tcolor2.coords = color2.coords.map(c => c * color2.alpha);\n\t}\n\n\treturn Object.assign(p => {\n\t\tp = progression ? progression(p) : p;\n\t\tlet coords = color1.coords.map((start, i) => {\n\t\t\tlet end = color2.coords[i];\n\t\t\treturn interpolate(start, end, p);\n\t\t});\n\n\t\tlet alpha = interpolate(color1.alpha, color2.alpha, p);\n\t\tlet ret = {space, coords, alpha};\n\n\t\tif (premultiplied) {\n\t\t\t// undo premultiplication\n\t\t\tret.coords = ret.coords.map(c => c / alpha);\n\t\t}\n\n\t\tif (outputSpace !== space) {\n\t\t\tret = to(ret, outputSpace);\n\t\t}\n\n\t\treturn ret;\n\t}, {\n\t\trangeArgs,\n\t});\n}\n\nexport function isRange (val) {\n\treturn type(val) === \"function\" && !!val.rangeArgs;\n}\n\ndefaults.interpolationSpace = \"lab\";\n\nexport function register (Color) {\n\tColor.defineFunction(\"mix\", mix, {returns: \"color\"});\n\tColor.defineFunction(\"range\", range, {returns: \"function<color>\"});\n\tColor.defineFunction(\"steps\", steps, {returns: \"array<color>\"});\n}\n", "import ColorSpace from \"../space.js\";\nimport sRGB from \"./srgb.js\";\n\nexport default new ColorSpace({\n\tid: \"hsl\",\n\tname: \"HSL\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: sRGB,\n\n\t// Adapted from https://drafts.csswg.org/css-color-4/better-rgbToHsl.js\n\tfromBase: rgb => {\n\t\tlet max = Math.max(...rgb);\n\t\tlet min = Math.min(...rgb);\n\t\tlet [r, g, b] = rgb;\n\t\tlet [h, s, l] = [NaN, 0, (min + max) / 2];\n\t\tlet d = max - min;\n\n\t\tif (d !== 0) {\n\t\t\ts = (l === 0 || l === 1) ? 0 : (max - l) / Math.min(l, 1 - l);\n\n\t\t\tswitch (max) {\n\t\t\t\tcase r: h = (g - b) / d + (g < b ? 6 : 0); break;\n\t\t\t\tcase g: h = (b - r) / d + 2; break;\n\t\t\t\tcase b: h = (r - g) / d + 4;\n\t\t\t}\n\n\t\t\th = h * 60;\n\t\t}\n\n\t\t// Very out of gamut colors can produce negative saturation\n\t\t// If so, just rotate the hue by 180 and use a positive saturation\n\t\t// see https://github.com/w3c/csswg-drafts/issues/9222\n\t\tif (s < 0) {\n\t\t\th += 180;\n\t\t\ts = Math.abs(s);\n\t\t}\n\n\t\tif (h >= 360) {\n\t\t\th -= 360;\n\t\t}\n\n\t\treturn [h, s * 100, l * 100];\n\t},\n\n\t// Adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_RGB_alternative\n\ttoBase: hsl => {\n\t\tlet [h, s, l] = hsl;\n\t\th = h % 360;\n\n\t\tif (h < 0) {\n\t\t\th += 360;\n\t\t}\n\n\t\ts /= 100;\n\t\tl /= 100;\n\n\t\tfunction f (n) {\n\t\t\tlet k = (n + h / 30) % 12;\n\t\t\tlet a = s * Math.min(l, 1 - l);\n\t\t\treturn l - a * Math.max(-1, Math.min(k - 3, 9 - k, 1));\n\t\t}\n\n\t\treturn [f(0), f(8), f(4)];\n\t},\n\n\tformats: {\n\t\t\"hsl\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage>\", \"<percentage>\"],\n\t\t},\n\t\t\"hsla\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage>\", \"<percentage>\"],\n\t\t\tcommas: true,\n\t\t\tlastAlpha: true,\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport HSL from \"./hsl.js\";\n\n// The Hue, Whiteness Blackness (HWB) colorspace\n// See https://drafts.csswg.org/css-color-4/#the-hwb-notation\n// Note that, like HSL, calculations are done directly on\n// gamma-corrected sRGB values rather than linearising them first.\n\nexport default new ColorSpace({\n\tid: \"hsv\",\n\tname: \"HSV\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tv: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Value\",\n\t\t},\n\t},\n\n\tbase: HSL,\n\t// https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion\n\tfromBase (hsl) {\n\t\tlet [h, s, l] = hsl;\n\t\ts /= 100;\n\t\tl /= 100;\n\n\t\tlet v = l + s * Math.min(l, 1 - l);\n\n\t\treturn [\n\t\t\th, // h is the same\n\t\t\tv === 0 ? 0 : 200 * (1 - l / v), // s\n\t\t\t100 * v,\n\t\t];\n\t},\n\t// https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion\n\ttoBase (hsv) {\n\t\tlet [h, s, v] = hsv;\n\n\t\ts /= 100;\n\t\tv /= 100;\n\n\t\tlet l = v * (1 - s / 2);\n\n\t\treturn [\n\t\t\th, // h is the same\n\t\t\t(l === 0 || l === 1) ? 0 : ((v - l) / Math.min(l, 1 - l)) * 100,\n\t\t\tl * 100,\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hsv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport HSV from \"./hsv.js\";\n\n// The Hue, Whiteness Blackness (HWB) colorspace\n// See https://drafts.csswg.org/css-color-4/#the-hwb-notation\n// Note that, like HSL, calculations are done directly on\n// gamma-corrected sRGB values rather than linearising them first.\n\nexport default new ColorSpace({\n\tid: \"hwb\",\n\tname: \"HWB\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\tw: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Whiteness\",\n\t\t},\n\t\tb: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Blackness\",\n\t\t},\n\t},\n\n\tbase: HSV,\n\tfromBase (hsv) {\n\t\tlet [h, s, v] = hsv;\n\n\t\treturn [h, v * (100 - s) / 100, 100 - v];\n\t},\n\ttoBase (hwb) {\n\t\tlet [h, w, b] = hwb;\n\n\t\t// Now convert percentages to [0..1]\n\t\tw /= 100;\n\t\tb /= 100;\n\n\t\t// Achromatic check (white plus black >= 1)\n\t\tlet sum = w + b;\n\t\tif (sum >= 1) {\n\t\t\tlet gray = w / sum;\n\t\t\treturn [h, 0, gray * 100];\n\t\t}\n\n\t\tlet v = (1 - b);\n\t\tlet s = (v === 0) ? 0 : 1 - w / v;\n\t\treturn [h, s * 100, v * 100];\n\t},\n\n\tformats: {\n\t\t\"hwb\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// convert an array of linear-light a98-rgb values to CIE XYZ\n// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n// has greater numerical precision than section 4.3.5.3 of\n// https://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf\n// but the values below were calculated from first principles\n// from the chromaticity coordinates of R G B W\nconst toXYZ_M = [\n\t[ 0.5766690429101305, 0.1855582379065463, 0.1882286462349947 ],\n\t[ 0.29734497525053605, 0.6273635662554661, 0.07529145849399788 ],\n\t[ 0.02703136138641234, 0.07068885253582723, 0.9913375368376388 ],\n];\n\nconst fromXYZ_M = [\n\t[ 2.0415879038107465, -0.5650069742788596, -0.34473135077832956 ],\n\t[ -0.9692436362808795, 1.8759675015077202, 0.04155505740717557 ],\n\t[ 0.013444280632031142, -0.11836239223101838, 1.0151749943912054 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"a98rgb-linear\",\n\tcssId: \"--a98-rgb-linear\",\n\tname: \"Linear Adobe® 98 RGB compatible\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport A98Linear from \"./a98rgb-linear.js\";\n\nexport default new RGBColorSpace({\n\tid: \"a98rgb\",\n\tcssId: \"a98-rgb\",\n\tname: \"Adobe® 98 RGB compatible\",\n\tbase: A98Linear,\n\ttoBase: RGB => RGB.map(val => Math.pow(Math.abs(val), 563 / 256) * Math.sign(val)),\n\tfromBase: RGB => RGB.map(val => Math.pow(Math.abs(val), 256 / 563) * Math.sign(val)),\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport XYZ_D50 from \"./xyz-d50.js\";\n\n// convert an array of prophoto-rgb values to CIE XYZ\n// using D50 (so no chromatic adaptation needed afterwards)\n// matrix cannot be expressed in rational form, but is calculated to 64 bit accuracy\n// see https://github.com/w3c/csswg-drafts/issues/7675\nconst toXYZ_M = [\n\t[ 0.79776664490064230, 0.13518129740053308, 0.03134773412839220 ],\n\t[ 0.28807482881940130, 0.71183523424187300, 0.00008993693872564 ],\n\t[ 0.00000000000000000, 0.00000000000000000, 0.82510460251046020 ],\n];\n\nconst fromXYZ_M = [\n\t[ 1.34578688164715830, -0.25557208737979464, -0.05110186497554526 ],\n\t[ -0.54463070512490190, 1.50824774284514680, 0.02052744743642139 ],\n\t[ 0.00000000000000000, 0.00000000000000000, 1.21196754563894520 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"prophoto-linear\",\n\tcssId: \"--prophoto-rgb-linear\",\n\tname: \"Linear ProPhoto\",\n\twhite: \"D50\",\n\tbase: XYZ_D50,\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport ProPhotoLinear from \"./prophoto-linear.js\";\n\nconst Et = 1 / 512;\nconst Et2 = 16 / 512;\n\nexport default new RGBColorSpace({\n\tid: \"prophoto\",\n\tcssId: \"prophoto-rgb\",\n\tname: \"ProPhoto\",\n\tbase: ProPhotoLinear,\n\ttoBase (RGB) {\n\t\t// Transfer curve is gamma 1.8 with a small linear portion\n\t\treturn RGB.map(v => v < Et2 ? v / 16 : v ** 1.8);\n\t},\n\tfromBase (RGB) {\n\t\treturn RGB.map(v => v >= Et ? v ** (1 / 1.8) : 16 * v);\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport OKLab from \"./oklab.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"oklch\",\n\tname: \"Oklch\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 0.4],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\twhite: \"D65\",\n\n\tbase: OKLab,\n\tfromBase (oklab) {\n\t\t// Convert to polar form\n\t\tlet [L, a, b] = oklab;\n\t\tlet h;\n\t\tconst ε = 0.0002; // chromatic components much smaller than a,b\n\n\t\tif (Math.abs(a) < ε && Math.abs(b) < ε) {\n\t\t\th = NaN;\n\t\t}\n\t\telse {\n\t\t\th = Math.atan2(b, a) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // OKLab L is still L\n\t\t\tMath.sqrt(a ** 2 + b ** 2), // Chroma\n\t\t\tconstrainAngle(h), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\t// Convert from polar form\n\ttoBase (oklch) {\n\t\tlet [L, C, h] = oklch;\n\t\tlet a, b;\n\n\t\t// check for NaN hue\n\t\tif (isNaN(h)) {\n\t\t\ta = 0;\n\t\t\tb = 0;\n\t\t}\n\t\telse {\n\t\t\ta = C * Math.cos(h * Math.PI / 180);\n\t\t\tb = C * Math.sin(h * Math.PI / 180);\n\t\t}\n\n\t\treturn [ L, a, b ];\n\t},\n\n\tformats: {\n\t\t\"oklch\": {\n\t\t\tcoords: [\"<percentage> | <number>\", \"<number> | <percentage>[0,1]\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {uv} from \"../chromaticity.js\";\nimport {isNone, skipNone} from \"../util.js\";\n\nlet white = WHITES.D65;\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\nconst [U_PRIME_WHITE, V_PRIME_WHITE] = uv({space: xyz_d65, coords: white});\n\nexport default new ColorSpace({\n\tid: \"luv\",\n\tname: \"Luv\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\t// Reference ranges from https://facelessuser.github.io/coloraide/colors/luv/\n\t\tu: {\n\t\t\trefRange: [-215, 215],\n\t\t},\n\t\tv: {\n\t\t\trefRange: [-215, 215],\n\t\t},\n\t},\n\n\twhite: white,\n\tbase: xyz_d65,\n\n\t// Convert D65-adapted XYZ to Luv\n\t// https://en.wikipedia.org/wiki/CIELUV#The_forward_transformation\n\tfromBase (XYZ) {\n\t\tlet xyz = [skipNone(XYZ[0]), skipNone(XYZ[1]), skipNone(XYZ[2])];\n\t\tlet y = xyz[1];\n\n\t\tlet [up, vp] = uv({space: xyz_d65, coords: xyz});\n\n\t\t// Protect against XYZ of [0, 0, 0]\n\t\tif (!Number.isFinite(up) || !Number.isFinite(vp)) {\n\t\t\treturn [0, 0, 0];\n\t\t}\n\n\t\tlet L = y <= ε ? κ * y : 116 * Math.cbrt(y) - 16;\n\t\treturn [\n\t\t\tL,\n\t\t\t13 * L * (up - U_PRIME_WHITE),\n\t\t\t13 * L * (vp - V_PRIME_WHITE),\n\t\t ];\n\t},\n\n\t// Convert Luv to D65-adapted XYZ\n\t// https://en.wikipedia.org/wiki/CIELUV#The_reverse_transformation\n\ttoBase (Luv) {\n\t\tlet [L, u, v] = Luv;\n\n\t\t// Protect against division by zero and NaN Lightness\n\t\tif (L === 0 || isNone(L)) {\n\t\t\treturn [0, 0, 0];\n\t\t}\n\n\t\tu = skipNone(u);\n\t\tv = skipNone(v);\n\n\t\tlet up = (u / (13 * L)) + U_PRIME_WHITE;\n\t\tlet vp = (v / (13 * L)) + V_PRIME_WHITE;\n\n\t\tlet y = L <= 8 ? L / κ : Math.pow((L + 16) / 116, 3);\n\n\t\treturn [\n\t\t\ty * ((9 * up) / (4 * vp)),\n\t\t\ty,\n\t\t\ty * ((12 - 3 * up - 20 * vp) / (4 * vp)),\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--luv\",\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport Luv from \"./luv.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"lchuv\",\n\tname: \"LChuv\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 220],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Luv,\n\tfromBase (Luv) {\n\t\t// Convert to polar form\n\t\tlet [L, u, v] = Luv;\n\t\tlet hue;\n\t\tconst ε = 0.02;\n\n\t\tif (Math.abs(u) < ε && Math.abs(v) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(v, u) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // L is still L\n\t\t\tMath.sqrt(u ** 2 + v ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (LCH) {\n\t\t// Convert from polar form\n\t\tlet [Lightness, Chroma, Hue] = LCH;\n\t\t// Clamp any negative Chroma\n\t\tif (Chroma < 0) {\n\t\t\tChroma = 0;\n\t\t}\n\t\t// Deal with NaN Hue\n\t\tif (isNaN(Hue)) {\n\t\t\tHue = 0;\n\t\t}\n\t\treturn [\n\t\t\tLightness, // L is still L\n\t\t\tChroma * Math.cos(Hue * Math.PI / 180), // u\n\t\t\tChroma * Math.sin(Hue * Math.PI / 180), // v\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--lchuv\",\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "/*\nAdapted from: https://github.com/hsluv/hsluv-javascript/blob/14b49e6cf9a9137916096b8487a5372626b57ba4/src/hsluv.ts\n\nCopyright (c) 2012-2022 Alexei Boronine\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 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\nimport ColorSpace from \"../space.js\";\nimport LCHuv from \"./lchuv.js\";\nimport sRGB from \"./srgb.js\";\nimport {fromXYZ_M} from \"./srgb-linear.js\";\nimport {skipNone} from \"../util.js\";\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nconst m_r0 = fromXYZ_M[0][0];\nconst m_r1 = fromXYZ_M[0][1];\nconst m_r2 = fromXYZ_M[0][2];\nconst m_g0 = fromXYZ_M[1][0];\nconst m_g1 = fromXYZ_M[1][1];\nconst m_g2 = fromXYZ_M[1][2];\nconst m_b0 = fromXYZ_M[2][0];\nconst m_b1 = fromXYZ_M[2][1];\nconst m_b2 = fromXYZ_M[2][2];\n\nfunction distanceFromOriginAngle (slope, intercept, angle) {\n\tconst d = intercept / (Math.sin(angle) - slope * Math.cos(angle));\n\treturn d < 0 ? Infinity : d;\n}\n\nexport function calculateBoundingLines (l) {\n\tconst sub1 = Math.pow(l + 16, 3) / 1560896;\n\tconst sub2 = sub1 > ε ? sub1 : l / κ;\n\tconst s1r = sub2 * (284517 * m_r0 - 94839 * m_r2);\n\tconst s2r = sub2 * (838422 * m_r2 + 769860 * m_r1 + 731718 * m_r0);\n\tconst s3r = sub2 * (632260 * m_r2 - 126452 * m_r1);\n\tconst s1g = sub2 * (284517 * m_g0 - 94839 * m_g2);\n\tconst s2g = sub2 * (838422 * m_g2 + 769860 * m_g1 + 731718 * m_g0);\n\tconst s3g = sub2 * (632260 * m_g2 - 126452 * m_g1);\n\tconst s1b = sub2 * (284517 * m_b0 - 94839 * m_b2);\n\tconst s2b = sub2 * (838422 * m_b2 + 769860 * m_b1 + 731718 * m_b0);\n\tconst s3b = sub2 * (632260 * m_b2 - 126452 * m_b1);\n\n\treturn {\n\t\tr0s: s1r / s3r,\n\t\tr0i: s2r * l / s3r,\n\t\tr1s: s1r / (s3r + 126452),\n\t\tr1i: (s2r - 769860) * l / (s3r + 126452),\n\t\tg0s: s1g / s3g,\n\t\tg0i: s2g * l / s3g,\n\t\tg1s: s1g / (s3g + 126452),\n\t\tg1i: (s2g - 769860) * l / (s3g + 126452),\n\t\tb0s: s1b / s3b,\n\t\tb0i: s2b * l / s3b,\n\t\tb1s: s1b / (s3b + 126452),\n\t\tb1i: (s2b - 769860) * l / (s3b + 126452),\n\t};\n}\n\nfunction calcMaxChromaHsluv (lines, h) {\n\tconst hueRad = h / 360 * Math.PI * 2;\n\tconst r0 = distanceFromOriginAngle(lines.r0s, lines.r0i, hueRad);\n\tconst r1 = distanceFromOriginAngle(lines.r1s, lines.r1i, hueRad);\n\tconst g0 = distanceFromOriginAngle(lines.g0s, lines.g0i, hueRad);\n\tconst g1 = distanceFromOriginAngle(lines.g1s, lines.g1i, hueRad);\n\tconst b0 = distanceFromOriginAngle(lines.b0s, lines.b0i, hueRad);\n\tconst b1 = distanceFromOriginAngle(lines.b1s, lines.b1i, hueRad);\n\n\treturn Math.min(r0, r1, g0, g1, b0, b1);\n}\n\nexport default new ColorSpace({\n\tid: \"hsluv\",\n\tname: \"HSLuv\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: LCHuv,\n\tgamutSpace: sRGB,\n\n\t// Convert LCHuv to HSLuv\n\tfromBase (lch) {\n\t\tlet [l, c, h] = [skipNone(lch[0]), skipNone(lch[1]), skipNone(lch[2])];\n\t\tlet s;\n\n\t\tif (l > 99.9999999) {\n\t\t\ts = 0;\n\t\t\tl = 100;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\ts = 0;\n\t\t\tl = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHsluv(lines, h);\n\t\t\ts = c / max * 100;\n\t\t}\n\n\t\treturn [h, s, l];\n\t},\n\n\t// Convert HSLuv to LCHuv\n\ttoBase (hsl) {\n\t\tlet [h, s, l] = [skipNone(hsl[0]), skipNone(hsl[1]), skipNone(hsl[2])];\n\t\tlet c;\n\n\t\tif (l > 99.9999999) {\n\t\t\tl = 100;\n\t\t\tc = 0;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\tl = 0;\n\t\t\tc = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHsluv(lines, h);\n\t\t\tc = max / 100 * s;\n\t\t}\n\n\t\treturn [l, c, h];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hsluv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "/*\nAdapted from: https://github.com/hsluv/hsluv-javascript/blob/14b49e6cf9a9137916096b8487a5372626b57ba4/src/hsluv.ts\n\nCopyright (c) 2012-2022 Alexei Boronine\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 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\nimport ColorSpace from \"../space.js\";\nimport LCHuv from \"./lchuv.js\";\nimport {fromXYZ_M} from \"./srgb-linear.js\";\nimport {skipNone} from \"../util.js\";\nimport {calculateBoundingLines} from \"./hsluv.js\";\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nconst m_r0 = fromXYZ_M[0][0];\nconst m_r1 = fromXYZ_M[0][1];\nconst m_r2 = fromXYZ_M[0][2];\nconst m_g0 = fromXYZ_M[1][0];\nconst m_g1 = fromXYZ_M[1][1];\nconst m_g2 = fromXYZ_M[1][2];\nconst m_b0 = fromXYZ_M[2][0];\nconst m_b1 = fromXYZ_M[2][1];\nconst m_b2 = fromXYZ_M[2][2];\n\nfunction distanceFromOrigin (slope, intercept) {\n\treturn Math.abs(intercept) / Math.sqrt(Math.pow(slope, 2) + 1);\n}\n\nfunction calcMaxChromaHpluv (lines) {\n\tlet r0 = distanceFromOrigin(lines.r0s, lines.r0i);\n\tlet r1 = distanceFromOrigin(lines.r1s, lines.r1i);\n\tlet g0 = distanceFromOrigin(lines.g0s, lines.g0i);\n\tlet g1 = distanceFromOrigin(lines.g1s, lines.g1i);\n\tlet b0 = distanceFromOrigin(lines.b0s, lines.b0i);\n\tlet b1 = distanceFromOrigin(lines.b1s, lines.b1i);\n\n\treturn Math.min(r0, r1, g0, g1, b0, b1);\n}\n\nexport default new ColorSpace({\n\tid: \"hpluv\",\n\tname: \"HPLuv\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: LCHuv,\n\tgamutSpace: \"self\",\n\n\t// Convert LCHuv to HPLuv\n\tfromBase (lch) {\n\t\tlet [l, c, h] = [skipNone(lch[0]), skipNone(lch[1]), skipNone(lch[2])];\n\t\tlet s;\n\n\t\tif (l > 99.9999999) {\n\t\t\ts = 0;\n\t\t\tl = 100;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\ts = 0;\n\t\t\tl = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHpluv(lines);\n\t\t\ts = c / max * 100;\n\t\t}\n\t\treturn [h, s, l];\n\t},\n\n\t// Convert HPLuv to LCHuv\n\ttoBase (hsl) {\n\t\tlet [h, s, l] = [skipNone(hsl[0]), skipNone(hsl[1]), skipNone(hsl[2])];\n\t\tlet c;\n\n\t\tif (l > 99.9999999) {\n\t\t\tl = 100;\n\t\t\tc = 0;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\tl = 0;\n\t\t\tc = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHpluv(lines, h);\n\t\t\tc = max / 100 * s;\n\t\t}\n\n\t\treturn [l, c, h];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hpluv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n\nconst Yw = 203;\t// absolute luminance of media white, cd/m²\nconst n = 2610 / (2 ** 14);\nconst ninv = (2 ** 14) / 2610;\nconst m = 2523 / (2 ** 5);\nconst minv = (2 ** 5) / 2523;\nconst c1 = 3424 / (2 ** 12);\nconst c2 = 2413 / (2 ** 7);\nconst c3 = 2392 / (2 ** 7);\n\nexport default new RGBColorSpace({\n\tid: \"rec2100pq\",\n\tcssId: \"rec2100-pq\",\n\tname: \"REC.2100-PQ\",\n\tbase: REC2020Linear,\n\ttoBase (RGB) {\n\t\t// given PQ encoded component in range [0, 1]\n\t\t// return media-white relative linear-light\n\t\treturn RGB.map(function (val) {\n\t\t\tlet x = ((Math.max(((val ** minv) - c1), 0) / (c2 - (c3 * (val ** minv)))) ** ninv);\n\t\t\treturn (x * 10000 / Yw); \t// luminance relative to diffuse white, [0, 70 or so].\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\t// given media-white relative linear-light\n\t\t// returnPQ encoded component in range [0, 1]\n\t\treturn RGB.map(function (val) {\n\t\t\tlet x = Math.max(val * Yw / 10000, 0); \t// absolute luminance of peak white is 10,000 cd/m².\n\t\t\tlet num = (c1 + (c2 * (x ** n)));\n\t\t\tlet denom = (1 + (c3 * (x ** n)));\n\n\t\t\treturn ((num / denom) ** m);\n\t\t});\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n\n// FIXME see https://github.com/LeaVerou/color.js/issues/190\n\nconst a = 0.17883277;\nconst b = 0.28466892; // 1 - (4 * a)\nconst c = 0.55991073; // 0.5 - a * Math.log(4 *a)\n\nconst scale = 3.7743;\t// Place 18% grey at HLG 0.38, so media white at 0.75\n\nexport default new RGBColorSpace({\n\tid: \"rec2100hlg\",\n\tcssId: \"rec2100-hlg\",\n\tname: \"REC.2100-HLG\",\n\treferred: \"scene\",\n\n\tbase: REC2020Linear,\n\ttoBase (RGB) {\n\t\t// given HLG encoded component in range [0, 1]\n\t\t// return media-white relative linear-light\n\t\treturn RGB.map(function (val) {\n\t\t\t// first the HLG EOTF\n\t\t\t// ITU-R BT.2390-10 p.30 section\n\t\t\t// 6.3 The hybrid log-gamma electro-optical transfer function (EOTF)\n\t\t\t// Then scale by 3 so media white is 1.0\n\t\t\tif (val <= 0.5) {\n\t\t\t\treturn (val ** 2) / 3 * scale;\n\t\t\t}\n\t\t\treturn ((Math.exp((val - c) / a) + b) / 12) * scale;\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\t// given media-white relative linear-light\n\t\t// where diffuse white is 1.0,\n\t\t// return HLG encoded component in range [0, 1]\n\t\treturn RGB.map(function (val) {\n\t\t\t// first scale to put linear-light media white at 1/3\n\t\t\tval /= scale;\n\t\t\t// now the HLG OETF\n\t\t\t// ITU-R BT.2390-10 p.23\n\t\t\t// 6.1 The hybrid log-gamma opto-electronic transfer function (OETF)\n\t\t\tif (val <= 1 / 12) {\n\t\t\t\treturn Math.sqrt(3 * val);\n\t\t\t}\n\t\t\treturn a * Math.log(12 * val - b) + c;\n\t\t});\n\t},\n});\n", "import hooks from \"./hooks.js\";\nimport {multiplyMatrices} from \"./util.js\";\nimport {WHITES} from \"./adapt.js\";\n\nexport const CATs = {};\n\nhooks.add(\"chromatic-adaptation-start\", env => {\n\tif (env.options.method) {\n\t\tenv.M = adapt(env.W1, env.W2, env.options.method);\n\t}\n});\n\nhooks.add(\"chromatic-adaptation-end\", env => {\n\tif (!env.M) {\n\t\tenv.M = adapt(env.W1, env.W2, env.options.method);\n\t}\n});\n\nexport function defineCAT ({id, toCone_M, fromCone_M}) {\n\t// Use id, toCone_M, fromCone_M like variables\n\tCATs[id] = arguments[0];\n}\n\nexport function adapt (W1, W2, id = \"Bradford\") {\n\t// adapt from a source whitepoint or illuminant W1\n\t// to a destination whitepoint or illuminant W2,\n\t// using the given chromatic adaptation transform (CAT)\n\t// debugger;\n\tlet method = CATs[id];\n\n\tlet [ρs, γs, βs] = multiplyMatrices(method.toCone_M, W1);\n\tlet [ρd, γd, βd] = multiplyMatrices(method.toCone_M, W2);\n\n\t// all practical illuminants have non-zero XYZ so no division by zero can occur below\n\tlet scale = [\n\t\t[ρd / ρs, 0, 0 ],\n\t\t[0, γd / γs, 0 ],\n\t\t[0, 0, βd / βs],\n\t];\n\t// console.log({scale});\n\n\tlet scaled_cone_M = multiplyMatrices(scale, method.toCone_M);\n\tlet adapt_M\t= multiplyMatrices(method.fromCone_M, scaled_cone_M);\n\t// console.log({scaled_cone_M, adapt_M});\n\treturn adapt_M;\n}\n\ndefineCAT({\n\tid: \"von Kries\",\n\ttoCone_M: [\n\t\t[ 0.4002400, 0.7076000, -0.0808100 ],\n\t\t[ -0.2263000, 1.1653200, 0.0457000 ],\n\t\t[ 0.0000000, 0.0000000, 0.9182200 ],\n\t],\n\tfromCone_M: [\n\t\t[ 1.8599363874558397, -1.1293816185800916, 0.21989740959619328 ],\n\t\t[ 0.3611914362417676, 0.6388124632850422, -0.000006370596838649899 ],\n\t\t[ 0, 0, 1.0890636230968613 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"Bradford\",\n\t// Convert an array of XYZ values in the range 0.0 - 1.0\n\t// to cone fundamentals\n\ttoCone_M: [\n\t\t[ 0.8951000, 0.2664000, -0.1614000 ],\n\t\t[ -0.7502000, 1.7135000, 0.0367000 ],\n\t\t[ 0.0389000, -0.0685000, 1.0296000 ],\n\t],\n\t// and back\n\tfromCone_M: [\n\t\t[ 0.9869929054667121, -0.14705425642099013, 0.15996265166373122 ],\n\t\t[ 0.4323052697233945, 0.5183602715367774, 0.049291228212855594 ],\n\t\t[ -0.00852866457517732, 0.04004282165408486, 0.96848669578755 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"CAT02\",\n\t// with complete chromatic adaptation to W2, so D = 1.0\n\ttoCone_M: [\n\t\t[ 0.7328000, 0.4296000, -0.1624000 ],\n\t\t[ -0.7036000, 1.6975000, 0.0061000 ],\n\t\t[ 0.0030000, 0.0136000, 0.9834000 ],\n\t],\n\tfromCone_M: [\n\t\t[ 1.0961238208355142, -0.27886900021828726, 0.18274517938277307 ],\n\t\t[ 0.4543690419753592, 0.4735331543074117, 0.07209780371722911 ],\n\t\t[ -0.009627608738429355, -0.00569803121611342, 1.0153256399545427 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"CAT16\",\n\ttoCone_M: [\n\t\t[ 0.401288, 0.650173, -0.051461 ],\n\t\t[ -0.250268, 1.204414, 0.045854 ],\n\t\t[ -0.002079, 0.048952, 0.953127 ],\n\t],\n\t// the extra precision is needed to avoid roundtripping errors\n\tfromCone_M: [\n\t\t[ 1.862067855087233, -1.0112546305316845, 0.14918677544445172 ],\n\t\t[ 0.3875265432361372, 0.6214474419314753, -0.008973985167612521 ],\n\t\t[ -0.01584149884933386, -0.03412293802851557, 1.0499644368778496 ],\n\t],\n});\n\nObject.assign(WHITES, {\n\t// whitepoint values from ASTM E308-01 with 10nm spacing, 1931 2 degree observer\n\t// all normalized to Y (luminance) = 1.00000\n\t// Illuminant A is a tungsten electric light, giving a very warm, orange light.\n\tA: [1.09850, 1.00000, 0.35585],\n\n\t// Illuminant C was an early approximation to daylight: illuminant A with a blue filter.\n\tC: [0.98074, 1.000000, 1.18232],\n\n\t// The daylight series of illuminants simulate natural daylight.\n\t// The color temperature (in degrees Kelvin/100) ranges from\n\t// cool, overcast daylight (D50) to bright, direct sunlight (D65).\n\tD55: [0.95682, 1.00000, 0.92149],\n\tD75: [0.94972, 1.00000, 1.22638],\n\n\t// Equal-energy illuminant, used in two-stage CAT16\n\tE: [1.00000, 1.00000, 1.00000],\n\n\t// The F series of illuminants represent fluorescent lights\n\tF2: [0.99186, 1.00000, 0.67393],\n\tF7: [0.95041, 1.00000, 1.08747],\n\tF11: [1.00962, 1.00000, 0.64350],\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport {WHITES} from \"../adapt.js\";\nimport \"../CATs.js\"; // because of the funky whitepoint\n\n// The ACES whitepoint\n// see TB-2018-001 Derivation of the ACES White Point CIE Chromaticity Coordinates\n// also https://github.com/ampas/aces-dev/blob/master/documents/python/TB-2018-001/aces_wp.py\n// Similar to D60\nWHITES.ACES = [0.32168 / 0.33767, 1.00000, (1.00000 - 0.32168 - 0.33767) / 0.33767];\n\n// convert an array of linear-light ACEScc values to CIE XYZ\nconst toXYZ_M = [\n\t[ 0.6624541811085053, 0.13400420645643313, 0.1561876870049078 ],\n\t[ 0.27222871678091454, 0.6740817658111484, 0.05368951740793705 ],\n\t[ -0.005574649490394108, 0.004060733528982826, 1.0103391003129971 ],\n];\nconst fromXYZ_M = [\n\t[ 1.6410233796943257, -0.32480329418479, -0.23642469523761225 ],\n\t[ -0.6636628587229829, 1.6153315916573379, 0.016756347685530137 ],\n\t[ 0.011721894328375376, -0.008284441996237409, 0.9883948585390215 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"acescg\",\n\tcssId: \"--acescg\",\n\tname: \"ACEScg\",\n\n\t// ACEScg – A scene-referred, linear-light encoding of ACES Data\n\t// https://docs.acescentral.com/specifications/acescg/\n\t// uses the AP1 primaries, see section 4.3.1 Color primaries\n\tcoords: {\n\t\tr: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Red\",\n\t\t},\n\t\tg: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Green\",\n\t\t},\n\t\tb: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Blue\",\n\t\t},\n\t},\n\n\treferred: \"scene\",\n\n\twhite: WHITES.ACES,\n\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n\n// export default Color;\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport \"../CATs.js\"; // because of the funky whitepoint\nimport ACEScg from \"./acescg.js\";\n\nconst ε = 2 ** -16;\n\n// the smallest value which, in the 32bit IEEE 754 float encoding,\n// decodes as a non-negative value\nconst ACES_min_nonzero = -0.35828683;\n\n// brightest encoded value, decodes to 65504\nconst ACES_cc_max = (Math.log2(65504) + 9.72) / 17.52; // 1.468\n\nexport default new RGBColorSpace({\n\tid: \"acescc\",\n\tcssId: \"--acescc\",\n\tname: \"ACEScc\",\n\t// see S-2014-003 ACEScc – A Logarithmic Encoding of ACES Data\n\t// https://docs.acescentral.com/specifications/acescc/\n\t// uses the AP1 primaries, see section 4.3.1 Color primaries\n\n\t// Appendix A: \"Very small ACES scene referred values below 7 1/4 stops\n\t// below 18% middle gray are encoded as negative ACEScc values.\n\t// These values should be preserved per the encoding in Section 4.4\n\t// so that all positive ACES values are maintained.\"\n\tcoords: {\n\t\tr: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Red\",\n\t\t},\n\t\tg: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Green\",\n\t\t},\n\t\tb: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Blue\",\n\t\t},\n\t},\n\treferred: \"scene\",\n\n\tbase: ACEScg,\n\t// from section 4.4.2 Decoding Function\n\ttoBase (RGB) {\n\t\tconst low = (9.72 - 15) / 17.52; // -0.3014\n\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val <= low) {\n\t\t\t\treturn (2 ** ((val * 17.52) - 9.72) - ε) * 2; // very low values, below -0.3014\n\t\t\t}\n\t\t\telse if (val < ACES_cc_max) {\n\t\t\t\treturn 2 ** ((val * 17.52) - 9.72);\n\t\t\t}\n\t\t\telse { // val >= ACES_cc_max\n\t\t\t\treturn 65504;\n\t\t\t}\n\t\t});\n\t},\n\n\t// Non-linear encoding function from S-2014-003, section 4.4.1 Encoding Function\n\tfromBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val <= 0) {\n\t\t\t\treturn (Math.log2(ε) + 9.72) / 17.52; // -0.3584\n\t\t\t}\n\t\t\telse if (val < ε) {\n\t\t\t\treturn (Math.log2(ε + val * 0.5) + 9.72) / 17.52;\n\t\t\t}\n\t\t\telse { // val >= ε\n\t\t\t\treturn (Math.log2(val) + 9.72) / 17.52;\n\t\t\t}\n\t\t});\n\t},\n\t// encoded media white (rgb 1,1,1) => linear [ 222.861, 222.861, 222.861 ]\n\t// encoded media black (rgb 0,0,0) => linear [ 0.0011857, 0.0011857, 0.0011857]\n});\n", "import * as util from \"./util.js\";\nimport hooks from \"./hooks.js\";\nimport defaults from \"./defaults.js\";\nimport ColorSpace from \"./space.js\";\nimport {WHITES} from \"./adapt.js\";\nimport {\n\tgetColor,\n\tparse,\n\tto,\n\tserialize,\n\tinGamut,\n\ttoGamut,\n\tdistance,\n\tequals,\n\tget,\n\tgetAll,\n\tset,\n\tsetAll,\n\tdisplay,\n} from \"./index-fn.js\";\n\n\nimport \"./spaces/xyz-d50.js\";\nimport \"./spaces/srgb.js\";\n\n/**\n * Class that represents a color\n */\nexport default class Color {\n\t/**\n\t * Creates an instance of Color.\n\t * Signatures:\n\t * - `new Color(stringToParse)`\n\t * - `new Color(otherColor)`\n\t * - `new Color({space, coords, alpha})`\n\t * - `new Color(space, coords, alpha)`\n\t * - `new Color(spaceId, coords, alpha)`\n\t */\n\tconstructor (...args) {\n\t\tlet color;\n\n\t\tif (args.length === 1) {\n\t\t\tcolor = getColor(args[0]);\n\t\t}\n\n\t\tlet space, coords, alpha;\n\n\t\tif (color) {\n\t\t\tspace = color.space || color.spaceId;\n\t\t\tcoords = color.coords;\n\t\t\talpha = color.alpha;\n\t\t}\n\t\telse {\n\t\t\t// default signature new Color(ColorSpace, array [, alpha])\n\t\t\t[space, coords, alpha] = args;\n\t\t}\n\n\t\tObject.defineProperty(this, \"space\", {\n\t\t\tvalue: ColorSpace.get(space),\n\t\t\twritable: false,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true, // see note in https://262.ecma-international.org/8.0/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver\n\t\t});\n\n\t\tthis.coords = coords ? coords.slice() : [0, 0, 0];\n\n\t\t// Clamp alpha to [0, 1]\n\t\tthis.alpha = alpha > 1 || alpha === undefined ? 1 : (alpha < 0 ? 0 : alpha);\n\n\t\t// Convert \"NaN\" to NaN\n\t\tfor (let i = 0; i < this.coords.length; i++) {\n\t\t\tif (this.coords[i] === \"NaN\") {\n\t\t\t\tthis.coords[i] = NaN;\n\t\t\t}\n\t\t}\n\n\t\t// Define getters and setters for each coordinate\n\t\tfor (let id in this.space.coords) {\n\t\t\tObject.defineProperty(this, id, {\n\t\t\t\tget: () => this.get(id),\n\t\t\t\tset: value => this.set(id, value),\n\t\t\t});\n\t\t}\n\t}\n\n\tget spaceId () {\n\t\treturn this.space.id;\n\t}\n\n\tclone () {\n\t\treturn new Color(this.space, this.coords, this.alpha);\n\t}\n\n\ttoJSON () {\n\t\treturn {\n\t\t\tspaceId: this.spaceId,\n\t\t\tcoords: this.coords,\n\t\t\talpha: this.alpha,\n\t\t};\n\t}\n\n\tdisplay (...args) {\n\t\tlet ret = display(this, ...args);\n\n\t\t// Convert color object to Color instance\n\t\tret.color = new Color(ret.color);\n\n\t\treturn ret;\n\t}\n\n\t/**\n\t * Get a color from the argument passed\n\t * Basically gets us the same result as new Color(color) but doesn't clone an existing color object\n\t */\n\tstatic get (color, ...args) {\n\t\tif (color instanceof Color) {\n\t\t\treturn color;\n\t\t}\n\n\t\treturn new Color(color, ...args);\n\t}\n\n\tstatic defineFunction (name, code, o = code) {\n\t\tlet {instance = true, returns} = o;\n\n\t\tlet func = function (...args) {\n\t\t\tlet ret = code(...args);\n\n\t\t\tif (returns === \"color\") {\n\t\t\t\tret = Color.get(ret);\n\t\t\t}\n\t\t\telse if (returns === \"function<color>\") {\n\t\t\t\tlet f = ret;\n\t\t\t\tret = function (...args) {\n\t\t\t\t\tlet ret = f(...args);\n\t\t\t\t\treturn Color.get(ret);\n\t\t\t\t};\n\t\t\t\t// Copy any function metadata\n\t\t\t\tObject.assign(ret, f);\n\t\t\t}\n\t\t\telse if (returns === \"array<color>\") {\n\t\t\t\tret = ret.map(c => Color.get(c));\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t};\n\n\t\tif (!(name in Color)) {\n\t\t\tColor[name] = func;\n\t\t}\n\n\t\tif (instance) {\n\t\t\tColor.prototype[name] = function (...args) {\n\t\t\t\treturn func(this, ...args);\n\t\t\t};\n\t\t}\n\t}\n\n\tstatic defineFunctions (o) {\n\t\tfor (let name in o) {\n\t\t\tColor.defineFunction(name, o[name], o[name]);\n\t\t}\n\t}\n\n\tstatic extend (exports) {\n\t\tif (exports.register) {\n\t\t\texports.register(Color);\n\t\t}\n\t\telse {\n\t\t\t// No register method, just add the module's functions\n\t\t\tfor (let name in exports) {\n\t\t\t\tColor.defineFunction(name, exports[name]);\n\t\t\t}\n\t\t}\n\t}\n}\n\nColor.defineFunctions({\n\tget,\n\tgetAll,\n\tset,\n\tsetAll,\n\tto,\n\tequals,\n\tinGamut,\n\ttoGamut,\n\tdistance,\n\ttoString: serialize,\n});\n\nObject.assign(Color, {\n\tutil,\n\thooks,\n\tWHITES,\n\tSpace: ColorSpace,\n\tspaces: ColorSpace.registry,\n\tparse,\n\n\t// Global defaults one may want to configure\n\tdefaults,\n});\n", "import ColorSpace from \"../space.js\";\nimport * as spaces from \"./index-fn.js\";\n\nexport * as spaces from \"./index-fn.js\";\n\nfor (let key of Object.keys(spaces)) {\n\tColorSpace.register(spaces[key]);\n}\n", "/**\n * This plugin defines getters and setters for color[spaceId]\n * e.g. color.lch on *any* color gives us the lch coords\n */\nimport ColorSpace from \"./space.js\";\nimport Color from \"./color.js\";\nimport hooks from \"./hooks.js\";\n\n// Add space accessors to existing color spaces\nfor (let id in ColorSpace.registry) {\n\taddSpaceAccessors(id, ColorSpace.registry[id]);\n}\n\n// Add space accessors to color spaces not yet created\nhooks.add(\"colorspace-init-end\", space => {\n\taddSpaceAccessors(space.id, space);\n\tspace.aliases?.forEach(alias => {\n\t\taddSpaceAccessors(alias, space);\n\t});\n});\n\nfunction addSpaceAccessors (id, space) {\n\tlet propId = id.replace(/-/g, \"_\");\n\n\tObject.defineProperty(Color.prototype, propId, {\n\t\t// Convert coords to coords in another colorspace and return them\n\t\t// Source colorspace: this.spaceId\n\t\t// Target colorspace: id\n\t\tget () {\n\t\t\tlet ret = this.getAll(id);\n\n\t\t\tif (typeof Proxy === \"undefined\") {\n\t\t\t\t// If proxies are not supported, just return a static array\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Enable color.spaceId.coordName syntax\n\t\t\treturn new Proxy(ret, {\n\t\t\t\thas: (obj, property) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tColorSpace.resolveCoord([space, property]);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tcatch (e) {}\n\n\t\t\t\t\treturn Reflect.has(obj, property);\n\t\t\t\t},\n\t\t\t\tget: (obj, property, receiver) => {\n\t\t\t\t\tif (property && typeof property !== \"symbol\" && !(property in obj)) {\n\t\t\t\t\t\tlet {index} = ColorSpace.resolveCoord([space, property]);\n\n\t\t\t\t\t\tif (index >= 0) {\n\t\t\t\t\t\t\treturn obj[index];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Reflect.get(obj, property, receiver);\n\t\t\t\t},\n\t\t\t\tset: (obj, property, value, receiver) => {\n\t\t\t\t\tif (property && typeof property !== \"symbol\" && !(property in obj) || property >= 0) {\n\t\t\t\t\t\tlet {index} = ColorSpace.resolveCoord([space, property]);\n\n\t\t\t\t\t\tif (index >= 0) {\n\t\t\t\t\t\t\tobj[index] = value;\n\n\t\t\t\t\t\t\t// Update color.coords\n\t\t\t\t\t\t\tthis.setAll(id, obj);\n\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Reflect.set(obj, property, value, receiver);\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t\t// Convert coords in another colorspace to internal coords and set them\n\t\t// Target colorspace: this.spaceId\n\t\t// Source colorspace: id\n\t\tset (coords) {\n\t\t\tthis.setAll(id, coords);\n\t\t},\n\t\tconfigurable: true,\n\t\tenumerable: true,\n\t});\n}\n", "// Import all modules of Color.js\nimport Color from \"./color.js\";\n\n// Import all color spaces\nimport \"./spaces/index.js\";\n\n// Import all DeltaE methods\nimport deltaE from \"./deltaE.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\n\nColor.extend(deltaEMethods);\nColor.extend({deltaE});\nObject.assign(Color, {deltaEMethods});\n\n// Import optional modules\nimport * as variations from \"./variations.js\";\nColor.extend(variations);\n\nimport contrast from \"./contrast.js\";\nColor.extend({contrast});\n\nimport * as chromaticity from \"./chromaticity.js\";\nColor.extend(chromaticity);\n\nimport * as luminance from \"./luminance.js\";\nColor.extend(luminance);\n\nimport * as interpolation from \"./interpolation.js\";\nColor.extend(interpolation);\n\nimport * as contrastMethods from \"./contrast/index.js\";\nColor.extend(contrastMethods);\n\nimport \"./CATs.js\";\nimport \"./space-accessors.js\";\n\n// Re-export everything\nexport default Color;\n"], + "mappings": "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", + "names": ["require_listCacheClear", "__commonJSMin", "exports", "module", "listCacheClear", "require_eq", "__commonJSMin", "exports", "module", "eq", "value", "other", "require_assocIndexOf", "__commonJSMin", "exports", "module", "eq", "assocIndexOf", "array", "key", "length", "require_listCacheDelete", "__commonJSMin", "exports", "module", "assocIndexOf", "arrayProto", "splice", "listCacheDelete", "key", "data", "index", "lastIndex", "require_listCacheGet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheGet", "key", "data", "index", "require_listCacheHas", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheHas", "key", "require_listCacheSet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheSet", "key", "value", "data", "index", "require_ListCache", "__commonJSMin", "exports", "module", "listCacheClear", "listCacheDelete", "listCacheGet", "listCacheHas", "listCacheSet", "ListCache", "entries", "index", "length", "entry", "require_stackClear", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "require_stackDelete", "__commonJSMin", "exports", "module", "stackDelete", "key", "data", "result", "require_stackGet", "__commonJSMin", "exports", "module", "stackGet", "key", "require_stackHas", "__commonJSMin", "exports", "module", "stackHas", "key", "require_freeGlobal", "__commonJSMin", "exports", "module", "freeGlobal", "require_root", "__commonJSMin", "exports", "module", "freeGlobal", "freeSelf", "root", "require_Symbol", "__commonJSMin", "exports", "module", "root", "Symbol", "require_getRawTag", "__commonJSMin", "exports", "module", "Symbol", "objectProto", "hasOwnProperty", "nativeObjectToString", "symToStringTag", "getRawTag", "value", "isOwn", "tag", "unmasked", "result", "require_objectToString", "__commonJSMin", "exports", "module", "objectProto", "nativeObjectToString", "objectToString", "value", "require_baseGetTag", "__commonJSMin", "exports", "module", "Symbol", "getRawTag", "objectToString", "nullTag", "undefinedTag", "symToStringTag", "baseGetTag", "value", "require_isObject", "__commonJSMin", "exports", "module", "isObject", "value", "type", "require_isFunction", "__commonJSMin", "exports", "module", "baseGetTag", "isObject", "asyncTag", "funcTag", "genTag", "proxyTag", "isFunction", "value", "tag", "require_coreJsData", "__commonJSMin", "exports", "module", "root", "coreJsData", "require_isMasked", "__commonJSMin", "exports", "module", "coreJsData", "maskSrcKey", "uid", "isMasked", "func", "require_toSource", "__commonJSMin", "exports", "module", "funcProto", "funcToString", "toSource", "func", "require_baseIsNative", "__commonJSMin", "exports", "module", "isFunction", "isMasked", "isObject", "toSource", "reRegExpChar", "reIsHostCtor", "funcProto", "objectProto", "funcToString", "hasOwnProperty", "reIsNative", "baseIsNative", "value", "pattern", "require_getValue", "__commonJSMin", "exports", "module", "getValue", "object", "key", "require_getNative", "__commonJSMin", "exports", "module", "baseIsNative", "getValue", "getNative", "object", "key", "value", "require_Map", "__commonJSMin", "exports", "module", "getNative", "root", "Map", "require_nativeCreate", "__commonJSMin", "exports", "module", "getNative", "nativeCreate", "require_hashClear", "__commonJSMin", "exports", "module", "nativeCreate", "hashClear", "require_hashDelete", "__commonJSMin", "exports", "module", "hashDelete", "key", "result", "require_hashGet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "objectProto", "hasOwnProperty", "hashGet", "key", "data", "result", "require_hashHas", "__commonJSMin", "exports", "module", "nativeCreate", "objectProto", "hasOwnProperty", "hashHas", "key", "data", "require_hashSet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "hashSet", "key", "value", "data", "require_Hash", "__commonJSMin", "exports", "module", "hashClear", "hashDelete", "hashGet", "hashHas", "hashSet", "Hash", "entries", "index", "length", "entry", "require_mapCacheClear", "__commonJSMin", "exports", "module", "Hash", "ListCache", "Map", "mapCacheClear", "require_isKeyable", "__commonJSMin", "exports", "module", "isKeyable", "value", "type", "require_getMapData", "__commonJSMin", "exports", "module", "isKeyable", "getMapData", "map", "key", "data", "require_mapCacheDelete", "__commonJSMin", "exports", "module", "getMapData", "mapCacheDelete", "key", "result", "require_mapCacheGet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheGet", "key", "require_mapCacheHas", "__commonJSMin", "exports", "module", "getMapData", "mapCacheHas", "key", "require_mapCacheSet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheSet", "key", "value", "data", "size", "require_MapCache", "__commonJSMin", "exports", "module", "mapCacheClear", "mapCacheDelete", "mapCacheGet", "mapCacheHas", "mapCacheSet", "MapCache", "entries", "index", "length", "entry", "require_stackSet", "__commonJSMin", "exports", "module", "ListCache", "Map", "MapCache", "LARGE_ARRAY_SIZE", "stackSet", "key", "value", "data", "pairs", "require_Stack", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "stackDelete", "stackGet", "stackHas", "stackSet", "Stack", "entries", "data", "require_setCacheAdd", "__commonJSMin", "exports", "module", "HASH_UNDEFINED", "setCacheAdd", "value", "require_setCacheHas", "__commonJSMin", "exports", "module", "setCacheHas", "value", "require_SetCache", "__commonJSMin", "exports", "module", "MapCache", "setCacheAdd", "setCacheHas", "SetCache", "values", "index", "length", "require_arraySome", "__commonJSMin", "exports", "module", "arraySome", "array", "predicate", "index", "length", "require_cacheHas", "__commonJSMin", "exports", "module", "cacheHas", "cache", "key", "require_equalArrays", "__commonJSMin", "exports", "module", "SetCache", "arraySome", "cacheHas", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "equalArrays", "array", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "arrLength", "othLength", "arrStacked", "othStacked", "index", "result", "seen", "arrValue", "othValue", "compared", "othIndex", "require_Uint8Array", "__commonJSMin", "exports", "module", "root", "Uint8Array", "require_mapToArray", "__commonJSMin", "exports", "module", "mapToArray", "map", "index", "result", "value", "key", "require_setToArray", "__commonJSMin", "exports", "module", "setToArray", "set", "index", "result", "value", "require_equalByTag", "__commonJSMin", "exports", "module", "Symbol", "Uint8Array", "eq", "equalArrays", "mapToArray", "setToArray", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "boolTag", "dateTag", "errorTag", "mapTag", "numberTag", "regexpTag", "setTag", "stringTag", "symbolTag", "arrayBufferTag", "dataViewTag", "symbolProto", "symbolValueOf", "equalByTag", "object", "other", "tag", "bitmask", "customizer", "equalFunc", "stack", "convert", "isPartial", "stacked", "result", "require_arrayPush", "__commonJSMin", "exports", "module", "arrayPush", "array", "values", "index", "length", "offset", "require_isArray", "__commonJSMin", "exports", "module", "isArray", "require_baseGetAllKeys", "__commonJSMin", "exports", "module", "arrayPush", "isArray", "baseGetAllKeys", "object", "keysFunc", "symbolsFunc", "result", "require_arrayFilter", "__commonJSMin", "exports", "module", "arrayFilter", "array", "predicate", "index", "length", "resIndex", "result", "value", "require_stubArray", "__commonJSMin", "exports", "module", "stubArray", "require_getSymbols", "__commonJSMin", "exports", "module", "arrayFilter", "stubArray", "objectProto", "propertyIsEnumerable", "nativeGetSymbols", "getSymbols", "object", "symbol", "require_baseTimes", "__commonJSMin", "exports", "module", "baseTimes", "n", "iteratee", "index", "result", "require_isObjectLike", "__commonJSMin", "exports", "module", "isObjectLike", "value", "require_baseIsArguments", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "argsTag", "baseIsArguments", "value", "require_isArguments", "__commonJSMin", "exports", "module", "baseIsArguments", "isObjectLike", "objectProto", "hasOwnProperty", "propertyIsEnumerable", "isArguments", "value", "require_stubFalse", "__commonJSMin", "exports", "module", "stubFalse", "require_isBuffer", "__commonJSMin", "exports", "module", "root", "stubFalse", "freeExports", "freeModule", "moduleExports", "Buffer", "nativeIsBuffer", "isBuffer", "require_isIndex", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "reIsUint", "isIndex", "value", "length", "type", "require_isLength", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "isLength", "value", "require_baseIsTypedArray", "__commonJSMin", "exports", "module", "baseGetTag", "isLength", "isObjectLike", "argsTag", "arrayTag", "boolTag", "dateTag", "errorTag", "funcTag", "mapTag", "numberTag", "objectTag", "regexpTag", "setTag", "stringTag", "weakMapTag", "arrayBufferTag", "dataViewTag", "float32Tag", "float64Tag", "int8Tag", "int16Tag", "int32Tag", "uint8Tag", "uint8ClampedTag", "uint16Tag", "uint32Tag", "typedArrayTags", "baseIsTypedArray", "value", "require_baseUnary", "__commonJSMin", "exports", "module", "baseUnary", "func", "value", "require_nodeUtil", "__commonJSMin", "exports", "module", "freeGlobal", "freeExports", "freeModule", "moduleExports", "freeProcess", "nodeUtil", "types", "require_isTypedArray", "__commonJSMin", "exports", "module", "baseIsTypedArray", "baseUnary", "nodeUtil", "nodeIsTypedArray", "isTypedArray", "require_arrayLikeKeys", "__commonJSMin", "exports", "module", "baseTimes", "isArguments", "isArray", "isBuffer", "isIndex", "isTypedArray", "objectProto", "hasOwnProperty", "arrayLikeKeys", "value", "inherited", "isArr", "isArg", "isBuff", "isType", "skipIndexes", "result", "length", "key", "require_isPrototype", "__commonJSMin", "exports", "module", "objectProto", "isPrototype", "value", "Ctor", "proto", "require_overArg", "__commonJSMin", "exports", "module", "overArg", "func", "transform", "arg", "require_nativeKeys", "__commonJSMin", "exports", "module", "overArg", "nativeKeys", "require_baseKeys", "__commonJSMin", "exports", "module", "isPrototype", "nativeKeys", "objectProto", "hasOwnProperty", "baseKeys", "object", "result", "key", "require_isArrayLike", "__commonJSMin", "exports", "module", "isFunction", "isLength", "isArrayLike", "value", "require_keys", "__commonJSMin", "exports", "module", "arrayLikeKeys", "baseKeys", "isArrayLike", "keys", "object", "require_getAllKeys", "__commonJSMin", "exports", "module", "baseGetAllKeys", "getSymbols", "keys", "getAllKeys", "object", "require_equalObjects", "__commonJSMin", "exports", "module", "getAllKeys", "COMPARE_PARTIAL_FLAG", "objectProto", "hasOwnProperty", "equalObjects", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "objProps", "objLength", "othProps", "othLength", "index", "key", "objStacked", "othStacked", "result", "skipCtor", "objValue", "othValue", "compared", "objCtor", "othCtor", "require_DataView", "__commonJSMin", "exports", "module", "getNative", "root", "DataView", "require_Promise", "__commonJSMin", "exports", "module", "getNative", "root", "Promise", "require_Set", "__commonJSMin", "exports", "module", "getNative", "root", "Set", "require_WeakMap", "__commonJSMin", "exports", "module", "getNative", "root", "WeakMap", "require_getTag", "__commonJSMin", "exports", "module", "DataView", "Map", "Promise", "Set", "WeakMap", "baseGetTag", "toSource", "mapTag", "objectTag", "promiseTag", "setTag", "weakMapTag", "dataViewTag", "dataViewCtorString", "mapCtorString", "promiseCtorString", "setCtorString", "weakMapCtorString", "getTag", "value", "result", "Ctor", "ctorString", "require_baseIsEqualDeep", "__commonJSMin", "exports", "module", "Stack", "equalArrays", "equalByTag", "equalObjects", "getTag", "isArray", "isBuffer", "isTypedArray", "COMPARE_PARTIAL_FLAG", "argsTag", "arrayTag", "objectTag", "objectProto", "hasOwnProperty", "baseIsEqualDeep", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "objIsArr", "othIsArr", "objTag", "othTag", "objIsObj", "othIsObj", "isSameTag", "objIsWrapped", "othIsWrapped", "objUnwrapped", "othUnwrapped", "require_baseIsEqual", "__commonJSMin", "exports", "module", "baseIsEqualDeep", "isObjectLike", "baseIsEqual", "value", "other", "bitmask", "customizer", "stack", "require_baseIsMatch", "__commonJSMin", "exports", "module", "Stack", "baseIsEqual", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseIsMatch", "object", "source", "matchData", "customizer", "index", "length", "noCustomizer", "data", "key", "objValue", "srcValue", "stack", "result", "require_isStrictComparable", "__commonJSMin", "exports", "module", "isObject", "isStrictComparable", "value", "require_getMatchData", "__commonJSMin", "exports", "module", "isStrictComparable", "keys", "getMatchData", "object", "result", "length", "key", "value", "require_matchesStrictComparable", "__commonJSMin", "exports", "module", "matchesStrictComparable", "key", "srcValue", "object", "require_baseMatches", "__commonJSMin", "exports", "module", "baseIsMatch", "getMatchData", "matchesStrictComparable", "baseMatches", "source", "matchData", "object", "require_isSymbol", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "symbolTag", "isSymbol", "value", "require_isKey", "__commonJSMin", "exports", "module", "isArray", "isSymbol", "reIsDeepProp", "reIsPlainProp", "isKey", "value", "object", "type", "require_memoize", "__commonJSMin", "exports", "module", "MapCache", "FUNC_ERROR_TEXT", "memoize", "func", "resolver", "memoized", "args", "key", "cache", "result", "require_memoizeCapped", "__commonJSMin", "exports", "module", "memoize", "MAX_MEMOIZE_SIZE", "memoizeCapped", "func", "result", "key", "cache", "require_stringToPath", "__commonJSMin", "exports", "module", "memoizeCapped", "rePropName", "reEscapeChar", "stringToPath", "string", "result", "match", "number", "quote", "subString", "require_arrayMap", "__commonJSMin", "exports", "module", "arrayMap", "array", "iteratee", "index", "length", "result", "require_baseToString", "__commonJSMin", "exports", "module", "Symbol", "arrayMap", "isArray", "isSymbol", "INFINITY", "symbolProto", "symbolToString", "baseToString", "value", "result", "require_toString", "__commonJSMin", "exports", "module", "baseToString", "toString", "value", "require_castPath", "__commonJSMin", "exports", "module", "isArray", "isKey", "stringToPath", "toString", "castPath", "value", "object", "require_toKey", "__commonJSMin", "exports", "module", "isSymbol", "INFINITY", "toKey", "value", "result", "require_baseGet", "__commonJSMin", "exports", "module", "castPath", "toKey", "baseGet", "object", "path", "index", "length", "require_get", "__commonJSMin", "exports", "module", "baseGet", "get", "object", "path", "defaultValue", "result", "require_baseHasIn", "__commonJSMin", "exports", "module", "baseHasIn", "object", "key", "require_hasPath", "__commonJSMin", "exports", "module", "castPath", "isArguments", "isArray", "isIndex", "isLength", "toKey", "hasPath", "object", "path", "hasFunc", "index", "length", "result", "key", "require_hasIn", "__commonJSMin", "exports", "module", "baseHasIn", "hasPath", "hasIn", "object", "path", "require_baseMatchesProperty", "__commonJSMin", "exports", "module", "baseIsEqual", "get", "hasIn", "isKey", "isStrictComparable", "matchesStrictComparable", "toKey", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseMatchesProperty", "path", "srcValue", "object", "objValue", "require_identity", "__commonJSMin", "exports", "module", "identity", "value", "require_baseProperty", "__commonJSMin", "exports", "module", "baseProperty", "key", "object", "require_basePropertyDeep", "__commonJSMin", "exports", "module", "baseGet", "basePropertyDeep", "path", "object", "require_property", "__commonJSMin", "exports", "module", "baseProperty", "basePropertyDeep", "isKey", "toKey", "property", "path", "require_baseIteratee", "__commonJSMin", "exports", "module", "baseMatches", "baseMatchesProperty", "identity", "isArray", "property", "baseIteratee", "value", "require_baseFindIndex", "__commonJSMin", "exports", "module", "baseFindIndex", "array", "predicate", "fromIndex", "fromRight", "length", "index", "require_baseIsNaN", "__commonJSMin", "exports", "module", "baseIsNaN", "value", "require_strictIndexOf", "__commonJSMin", "exports", "module", "strictIndexOf", "array", "value", "fromIndex", "index", "length", "require_baseIndexOf", "__commonJSMin", "exports", "module", "baseFindIndex", "baseIsNaN", "strictIndexOf", "baseIndexOf", "array", "value", "fromIndex", "require_arrayIncludes", "__commonJSMin", "exports", "module", "baseIndexOf", "arrayIncludes", "array", "value", "length", "require_arrayIncludesWith", "__commonJSMin", "exports", "module", "arrayIncludesWith", "array", "value", "comparator", "index", "length", "require_noop", "__commonJSMin", "exports", "module", "noop", "require_createSet", "__commonJSMin", "exports", "module", "Set", "noop", "setToArray", "INFINITY", "createSet", "values", "require_baseUniq", "__commonJSMin", "exports", "module", "SetCache", "arrayIncludes", "arrayIncludesWith", "cacheHas", "createSet", "setToArray", "LARGE_ARRAY_SIZE", "baseUniq", "array", "iteratee", "comparator", "index", "includes", "length", "isCommon", "result", "seen", "set", "outer", "value", "computed", "seenIndex", "require_uniqBy", "__commonJSMin", "exports", "module", "baseIteratee", "baseUniq", "uniqBy", "array", "iteratee", "convert_color_exports", "__export", "ConvertColor", "__toCommonJS", "import_api", "import_api", "import_api", "multiplyMatrices", "A", "B", "m", "x", "p", "B_cols", "_", "i", "product", "row", "col", "ret", "isString", "str", "type", "o", "serializeNumber", "n", "precision", "unit", "isNone", "toPrecision", "skipNone", "integer", "digits", "multiplier", "angleFactor", "parseFunction", "isFunctionRegex", "isNumberRegex", "unitValueRegex", "singleArgument", "parts", "args", "$0", "rawArg", "match", "arg", "unitlessArg", "last", "arr", "interpolate", "start", "end", "interpolateInv", "value", "mapRange", "from", "to", "parseCoordGrammar", "coordGrammars", "coordGrammar", "range", "clamp", "min", "val", "max", "copySign", "spow", "base", "exp", "zdiv", "d", "bisectLeft", "lo", "hi", "mid", "Hooks", "name", "callback", "first", "env", "hooks", "defaults", "msg", "WHITES", "getWhite", "adapt", "W1", "W2", "XYZ", "options", "noneTypes", "coerceCoords", "space", "format", "coords", "id", "coordMeta", "providedType", "c", "coordName", "fromRange", "toRange", "util.mapRange", "parse", "meta", "util.parseFunction", "alternateId", "ids", "alpha", "ColorSpace", "colorSpec", "specId", "types", "didYouMean", "registryId", "cssId", "util.last", "formatId", "color", "getColor", "\u03B5", "_ColorSpace", "white", "getPath", "epsilon", "coord", "processFormat", "myPath", "otherPath", "connectionSpace", "connectionSpaceIndex", "alias", "alternatives", "ref", "workingSpace", "coordType", "normalizedCoord", "s", "coordFormats", "outputType", "suffix", "xyz_d65", "RGBColorSpace", "XYZ_D65", "rgb", "xyz", "getAll", "get", "prop", "index", "setAll", "set", "object", "XYZ_D50", "\u03B53", "\u03BA", "lab", "xyz_d50", "f", "Lab", "constrain", "angle", "adjust", "arc", "angles", "a1", "a2", "angleDiff", "lch", "L", "a", "b", "hue", "constrainAngle", "LCH", "Lightness", "Chroma", "Hue", "Gfactor", "\u03C0", "r2d", "d2r", "pow7", "x2", "deltaE2000", "sample", "kL", "kC", "kH", "L1", "b1", "C1", "L2", "b2", "C2", "Cbar", "C7", "G", "adash1", "adash2", "Cdash1", "Cdash2", "h1", "h2", "\u0394L", "\u0394C", "hdiff", "hsum", "habs", "\u0394h", "\u0394H", "Ldash", "Cdash", "Cdash7", "hdash", "lsq", "SL", "SC", "T", "SH", "\u0394\u03B8", "RC", "RT", "dE", "XYZtoLMS_M", "LMStoXYZ_M", "LMStoLab_M", "LabtoLMS_M", "OKLab", "LMSg", "LMS", "deltaEOK", "oklab", "\u0394a", "\u0394b", "inGamut", "clone", "distance", "color1", "color2", "coords1", "coords2", "acc", "c1", "c2", "deltaE76", "deltaECMC", "l", "H1", "H2", "C4", "F", "Yw", "XYZ_Abs_D65", "v", "AbsXYZ", "g", "ninv", "c3", "pinv", "d0", "XYZtoCone_M", "ConetoXYZ_M", "ConetoIab_M", "IabtoCone_M", "Jzazbz", "Xa", "Ya", "Za", "Xm", "Ym", "PQLMS", "num", "denom", "Iz", "az", "bz", "Jz", "jzczhz", "jzazbz", "deltaEJz", "Jz1", "Cz1", "Hz1", "Jz2", "Cz2", "Hz2", "\u0394J", "m1", "m2", "im1", "im2", "LMStoIPT_M", "IPTtoLMS_M", "ictcp", "LMStoICtCp", "ICtCp", "ICtCptoLMS", "deltaEITP", "I1", "T1", "P1", "I2", "T2", "P2", "adaptedCoef", "adaptedCoefInv", "tau", "cat16", "cat16Inv", "surroundMap", "hueQuadMap", "rad2deg", "deg2rad", "fl", "unadapt", "adapted", "constant", "cabs", "hueQuadrature", "h", "hp", "hii", "ei", "eii", "Hi", "t", "invHueQuadrature", "H", "Hp", "environment", "refWhite", "adaptingLuminance", "backgroundLuminance", "surround", "discounting", "xyzW", "yw", "rgbW", "k4", "rgbCW", "rgbAW", "viewingConditions", "fromCam16", "cam16", "hRad", "cosh", "sinh", "Jroot", "et", "p1", "p2", "r", "rgb_c", "toCam16", "xyzd65", "xyz100", "rgbA", "J", "Q", "C", "M", "toLstar", "y", "fromLstar", "lstar", "fromHct", "j", "threshold", "max_attempts", "attempt", "delta", "toHct", "hct", "ucsCoeff", "convertUcsAb", "hrad", "deltaEHCT", "t1", "t2", "deltaEMethods", "calcEpsilon", "jnd", "order", "GMAPPRESET", "toGamut", "method", "deltaEMethod", "blackWhiteClamp", "util.isString", "spaceColor", "toGamutCSS", "de", "clipped", "channelMeta", "channel", "util.isNone", "mapSpace", "coordId", "mappedColor", "low", "high", "bounds", "COLORS", "origin", "oklchSpace", "origin_OKLCH", "black", "clip", "_color", "destColor", "spaceCoords", "util.clamp", "min_inGamut", "current", "E", "chroma", "serialize", "customOptions", "checkInGamut", "util.serializeNumber", "strAlpha", "toXYZ_M", "fromXYZ_M", "REC2020Linear", "\u03B1", "\u03B2", "REC2020", "RGB", "P3Linear", "sRGBLinear", "KEYWORDS", "coordGrammarNumber", "sRGB", "sign", "abs", "rgba", "component", "collapse", "collapsible", "P3", "supportsNone", "display", "fallbackColor", "equals", "getLuminance", "setLuminance", "register", "Color", "contrastWCAG21", "Y1", "Y2", "normBG", "normTXT", "revTXT", "revBG", "blkThrs", "blkClmp", "loClip", "deltaYmin", "scaleBoW", "loBoWoffset", "scaleWoB", "fclamp", "Y", "linearize", "contrastAPCA", "background", "foreground", "S", "Sapc", "R", "lumTxt", "lumBg", "Ytxt", "Ybg", "BoW", "contrastMichelson", "contrastWeber", "contrastLstar", "lab_d65", "phi", "contrastDeltaPhi", "Lstr1", "Lstr2", "deltaPhiStar", "contrast", "algorithm", "rest", "algorithms", "contrastAlgorithms", "uv", "X", "Z", "xy", "sum", "deltaE", "lighten", "amount", "lightness", "darken", "mix", "steps", "colorRange", "isRange", "maxDeltaE", "maxSteps", "rangeOptions", "totalDelta", "actualSteps", "step", "maxDelta", "cur", "\u0394\u0395", "prev", "outputSpace", "progression", "premultiplied", "rangeArgs", "\u03B81", "\u03B82", "angles.adjust", "HSL", "hsl", "k", "HSV", "hsv", "hwb", "w", "gray", "A98Linear", "a98rgb", "ProPhotoLinear", "Et", "Et2", "prophoto", "oklch", "U_PRIME_WHITE", "V_PRIME_WHITE", "Luv", "up", "vp", "u", "LCHuv", "m_r0", "m_r1", "m_r2", "m_g0", "m_g1", "m_g2", "m_b0", "m_b1", "m_b2", "distanceFromOriginAngle", "slope", "intercept", "calculateBoundingLines", "sub1", "sub2", "s1r", "s2r", "s3r", "s1g", "s2g", "s3g", "s1b", "s2b", "s3b", "calcMaxChromaHsluv", "lines", "hueRad", "r0", "r1", "g0", "g1", "b0", "hsluv", "distanceFromOrigin", "calcMaxChromaHpluv", "hpluv", "minv", "rec2100Pq", "scale", "rec2100Hlg", "CATs", "defineCAT", "toCone_M", "fromCone_M", "\u03C1s", "\u03B3s", "\u03B2s", "\u03C1d", "\u03B3d", "\u03B2d", "scaled_cone_M", "ACEScg", "ACES_min_nonzero", "ACES_cc_max", "acescc", "_Color", "code", "instance", "returns", "func", "exports", "util", "key", "spaces", "addSpaceAccessors", "propId", "obj", "property", "receiver", "variations", "chromaticity", "luminance", "interpolation", "contrastMethods", "import_uniqBy", "preferences", "getFormattedColor", "_color", "format", "color", "Color", "oklchColor", "l", "c", "h", "lchColor", "import_jsx_runtime", "getConvertedColor", "text", "format", "getFormattedColor", "ColorConvertListItem", "title", "subtitle", "value", "convertedColor", "import_react", "import_jsx_runtime", "ConvertColor", "props", "colorText", "setColorText", "lastConvertedColorFormat", "setLastConvertedColorFormat", "getLastConvertedColorFormat", "lastFormat", "format", "index", "item", "ColorConvertListItem"] +} diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/extract-color.js b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/extract-color.js @@ -0,0 +1 @@ +"use strict";var h=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var N=(n,o)=>{for(var i in o)h(n,i,{get:o[i],enumerable:!0})},A=(n,o,i,l)=>{if(o&&typeof o=="object"||typeof o=="function")for(let s of F(o))!P.call(n,s)&&s!==i&&h(n,s,{get:()=>o[s],enumerable:!(l=b(o,s))||l.enumerable});return n};var E=n=>A(h({},"__esModule",{value:!0}),n);var j={};N(j,{default:()=>I});module.exports=E(j);var e=require("@raycast/api"),u=require("react");var y=require("@raycast/api"),w=require("path"),x=require("fs/promises"),S=require("child_process");async function D(n,...o){let i=(0,w.join)(y.environment.assetsPath,"compiled_raycast_swift/extract-color");return await(0,x.chmod)(i,"755"),new Promise((l,s)=>{let g=[n];for(let t of o)try{g.push(JSON.stringify(t,(r,a)=>a===void 0?null:a))}catch(r){s(new p("Failed to serialize input to JSON: "+r.message));return}let m=(0,S.spawn)(i,g),d=[],f=[];m.stdout?.on("data",t=>{d.push(t.toString())}),m.stderr?.on("data",t=>{f.push(t.toString())}),m.on("exit",t=>{if(t===0)try{let r=d.join("").trim();r.length!=0?l(JSON.parse(r)):l(null)}catch(r){let a=new p("Failed to deserialize result from JSON: "+r.message);a.stdout=d.join("").trim(),a.stderr=f.join("").trim(),s(a)}else{let r=new p(f.join("").trim()||d.join("").trim()||"Could not get any data");r.stdout=d.join("").trim(),r.stderr=f.join("").trim(),s(r)}}),m.on("error",t=>{s(t)})})}async function C(n,o,i){return await D("extractColor",n,o,i)}var p=class extends Error{constructor(o){super(o),this.name="SwiftError"}};var c=require("react/jsx-runtime");function I(){let[n,o]=(0,u.useState)(3),[i,l]=(0,u.useState)(!0),[s,g]=(0,u.useState)([]),[m,d]=(0,u.useState)({title:"No image found",description:"Select an image from finder to extract colors"});async function f(){let t=await(0,e.showToast)({style:e.Toast.Style.Animated,title:"Extracting colors"}),r;try{let a=await(0,e.getSelectedFinderItems)();a.length===0&&l(!1),r=a[0].path}catch{}r?C(r,40,!1).then(a=>{g(a),t.style=e.Toast.Style.Success,t.title="Colors extracted",t.message=`${a.length} colors extracted from the image`,l(!1)}).catch(()=>{l(!1),t.style=e.Toast.Style.Failure,t.title="Error extracting colors",t.message="Please select a valid image file"}):(l(!1),d({title:"No image selected",description:"Please select an image from finder"}),t.style=e.Toast.Style.Failure,t.title="No image selected",t.message="Please select an image from finder")}return(0,u.useEffect)(()=>{f()},[]),(0,c.jsxs)(e.Grid,{columns:n,inset:e.Grid.Inset.Zero,isLoading:i,searchBarAccessory:(0,c.jsxs)(e.Grid.Dropdown,{tooltip:"Grid Item Size",storeValue:!0,onChange:t=>{o(parseInt(t)),l(!1)},children:[(0,c.jsx)(e.Grid.Dropdown.Item,{title:"Large",value:"4"}),(0,c.jsx)(e.Grid.Dropdown.Item,{title:"Medium",value:"6"}),(0,c.jsx)(e.Grid.Dropdown.Item,{title:"Small",value:"8"})]}),children:[(0,c.jsx)(e.Grid.EmptyView,{icon:e.Icon.Eye,title:m.title,description:m.description}),!i&&s.map((t,r)=>(0,c.jsx)(e.Grid.Item,{content:{color:t.hex},title:`${t.hex.toUpperCase()}`,actions:(0,c.jsx)(e.ActionPanel,{children:(0,c.jsx)(e.Action.CopyToClipboard,{content:t.hex})})},t.hex+r))]})} diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/extract-color.js.map b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/extract-color.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../src/extract-color.tsx", "swift:/Users/runner/work/extensions/extensions/extensions/color-picker/swift/extract-color"], + "sourcesContent": ["import { Action, ActionPanel, getSelectedFinderItems, Grid, Icon, showToast, Toast } from \"@raycast/api\";\nimport { useEffect, useState } from \"react\";\nimport { extractColor } from \"swift:../swift/extract-color\";\n\ntype FinalColor = {\n hex: string;\n red: number;\n green: number;\n blue: number;\n area: number;\n hue: number;\n saturation: number;\n lightness: number;\n intensity: number;\n};\n\nexport default function Command() {\n const [columns, setColumns] = useState(3);\n const [isLoading, setIsLoading] = useState(true);\n const [colors, setColors] = useState<FinalColor[]>([]);\n const [info, setInfo] = useState<{\n title: string;\n description: string;\n }>({\n title: \"No image found\",\n description: \"Select an image from finder to extract colors\",\n });\n\n async function loadColors() {\n const toast = await showToast({\n style: Toast.Style.Animated,\n title: \"Extracting colors\",\n });\n let path: string | undefined;\n\n try {\n const items = await getSelectedFinderItems();\n if (items.length === 0) {\n setIsLoading(false);\n }\n path = items[0].path;\n } catch {\n // did not find any selected items\n }\n\n if (path) {\n extractColor(path, 40, false) // Set dominantOnly to true\n .then((colors: FinalColor[]) => {\n setColors(colors);\n toast.style = Toast.Style.Success;\n toast.title = \"Colors extracted\";\n toast.message = `${colors.length} colors extracted from the image`;\n setIsLoading(false);\n })\n .catch(() => {\n setIsLoading(false);\n toast.style = Toast.Style.Failure;\n toast.title = \"Error extracting colors\";\n toast.message = \"Please select a valid image file\";\n });\n } else {\n setIsLoading(false);\n setInfo({\n title: \"No image selected\",\n description: \"Please select an image from finder\",\n });\n toast.style = Toast.Style.Failure;\n toast.title = \"No image selected\";\n toast.message = \"Please select an image from finder\";\n }\n }\n\n useEffect(() => {\n loadColors();\n }, []);\n\n return (\n <Grid\n columns={columns}\n inset={Grid.Inset.Zero}\n isLoading={isLoading}\n searchBarAccessory={\n <Grid.Dropdown\n tooltip=\"Grid Item Size\"\n storeValue\n onChange={(newValue) => {\n setColumns(parseInt(newValue));\n setIsLoading(false);\n }}\n >\n <Grid.Dropdown.Item title=\"Large\" value=\"4\" />\n <Grid.Dropdown.Item title=\"Medium\" value=\"6\" />\n <Grid.Dropdown.Item title=\"Small\" value=\"8\" />\n </Grid.Dropdown>\n }\n >\n <Grid.EmptyView icon={Icon.Eye} title={info.title} description={info.description} />\n\n {!isLoading &&\n colors.map((color, i) => (\n <Grid.Item\n key={color.hex + i}\n content={{ color: color.hex }}\n title={`${color.hex.toUpperCase()}`}\n actions={\n <ActionPanel>\n <Action.CopyToClipboard content={color.hex} />\n </ActionPanel>\n }\n />\n ))}\n </Grid>\n );\n}\n", "\nimport { environment } from \"@raycast/api\";\nimport { join } from \"path\";\nimport { chmod } from \"fs/promises\";\nimport { spawn } from \"child_process\";\n\nasync function runSwiftFunction(command, ...args) {\n const swiftPath = join(environment.assetsPath, \"compiled_raycast_swift/extract-color\");\n await chmod(swiftPath, \"755\");\n\n return new Promise((resolve, reject) => {\n const commandArgs = [command];\n for (const arg of args) {\n try {\n commandArgs.push(JSON.stringify(arg, (k, v) => v === undefined ? null : v));\n } catch (err) {\n reject(new SwiftError(\"Failed to serialize input to JSON: \" + err.message));\n return;\n }\n }\n const child = spawn(swiftPath, commandArgs);\n const stdout = [];\n const stderr = [];\n\n child.stdout?.on(\"data\", (data) => {\n stdout.push(data.toString());\n });\n child.stderr?.on(\"data\", (data) => {\n stderr.push(data.toString());\n });\n\n child.on(\"exit\", (code) => {\n if (code === 0) {\n try {\n const result = stdout.join(\"\").trim();\n if (result.length != 0) {\n resolve(JSON.parse(result));\n } else {\n resolve(null);\n }\n } catch (err) {\n const error = new SwiftError(\"Failed to deserialize result from JSON: \" + err.message);\n error.stdout = stdout.join(\"\").trim();\n error.stderr = stderr.join(\"\").trim();\n reject(error);\n }\n } else {\n const error = new SwiftError(stderr.join(\"\").trim() || stdout.join(\"\").trim() || \"Could not get any data\");\n error.stdout = stdout.join(\"\").trim();\n error.stderr = stderr.join(\"\").trim();\n reject(error);\n }\n });\n\n child.on(\"error\", (error) => {\n reject(error);\n });\n });\n}\n\nexport async function extractColor(filePath, count, dominantOnly) {\n return await runSwiftFunction(\"extractColor\", filePath, count, dominantOnly)\n}\n\nexport class SwiftError extends Error {\n constructor(message) {\n super(message);\n this.name = \"SwiftError\";\n }\n}\n"], + "mappings": "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", + "names": ["extract_color_exports", "__export", "Command", "__toCommonJS", "import_api", "import_react", "import_api", "import_path", "import_promises", "import_child_process", "runSwiftFunction", "command", "args", "swiftPath", "resolve", "reject", "commandArgs", "arg", "k", "v", "err", "SwiftError", "child", "stdout", "stderr", "data", "code", "result", "error", "extractColor", "filePath", "count", "dominantOnly", "message", "import_jsx_runtime", "Command", "columns", "setColumns", "isLoading", "setIsLoading", "colors", "setColors", "info", "setInfo", "loadColors", "toast", "path", "items", "extractColor", "newValue", "color", "i"] +} diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/generate-colors.js b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/generate-colors.js @@ -0,0 +1,43 @@ +"use strict";var t8=Object.create;var Ka=Object.defineProperty;var d8=Object.getOwnPropertyDescriptor;var r8=Object.getOwnPropertyNames;var i8=Object.getPrototypeOf,s8=Object.prototype.hasOwnProperty;var u=(e,a)=>()=>(a||e((a={exports:{}}).exports,a),a.exports),n8=(e,a)=>{for(var p in a)Ka(e,p,{get:a[p],enumerable:!0})},ut=(e,a,p,t)=>{if(a&&typeof a=="object"||typeof a=="function")for(let d of r8(a))!s8.call(e,d)&&d!==p&&Ka(e,d,{get:()=>a[d],enumerable:!(t=d8(a,d))||t.enumerable});return e};var pp=(e,a,p)=>(p=e!=null?t8(i8(e)):{},ut(a||!e||!e.__esModule?Ka(p,"default",{value:e,enumerable:!0}):p,e)),l8=e=>ut(Ka({},"__esModule",{value:!0}),e);var ht=u(ft=>{var ct=Object.prototype.hasOwnProperty;function tp(e,a){var p,t;if(e===a)return!0;if(e&&a&&(p=e.constructor)===a.constructor){if(p===Date)return e.getTime()===a.getTime();if(p===RegExp)return e.toString()===a.toString();if(p===Array){if((t=e.length)===a.length)for(;t--&&tp(e[t],a[t]););return t===-1}if(!p||typeof e=="object"){t=0;for(p in e)if(ct.call(e,p)&&++t&&!ct.call(a,p)||!(p in a)||!tp(e[p],a[p]))return!1;return Object.keys(a).length===t}}return e!==e&&a!==a}ft.dequal=tp});var vt=u(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.useDeepMemo=void 0;var dp=require("react"),m8=ht();function o8(e){let a=(0,dp.useRef)(e),p=(0,dp.useRef)(0);return(0,m8.dequal)(e,a.current)||(a.current=e,p.current+=1),(0,dp.useMemo)(()=>a.current,[p.current])}Ja.useDeepMemo=o8});var I1=u(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.useLatest=void 0;var u8=require("react");function c8(e){let a=(0,u8.useRef)(e);return a.current=e,a}Za.useLatest=c8});var ma=u(x1=>{"use strict";var f8=x1&&x1.__createBinding||(Object.create?function(e,a,p,t){t===void 0&&(t=p);var d=Object.getOwnPropertyDescriptor(a,p);(!d||("get"in d?!a.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return a[p]}}),Object.defineProperty(e,t,d)}:function(e,a,p,t){t===void 0&&(t=p),e[t]=a[p]}),h8=x1&&x1.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:!0,value:a})}:function(e,a){e.default=a}),wt=x1&&x1.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)p!=="default"&&Object.prototype.hasOwnProperty.call(e,p)&&f8(a,e,p);return h8(a,e),a};Object.defineProperty(x1,"__esModule",{value:!0});x1.showFailureToast=void 0;var v8=wt(require("fs")),g8=wt(require("path")),De=require("@raycast/api");function w8(e,a){let p=e instanceof Error?e.message:String(e);return(0,De.showToast)({style:De.Toast.Style.Failure,title:a?.title??"Something went wrong",message:a?.message??p,primaryAction:a?.primaryAction??gt(e),secondaryAction:a?.primaryAction?gt(e):void 0})}x1.showFailureToast=w8;var gt=e=>{let a=!0,p="[Extension Name]...",t="";try{let i=JSON.parse(v8.readFileSync(g8.join(De.environment.assetsPath,"..","package.json"),"utf8"));p=`[${i.title}]...`,t=`https://raycast.com/${i.owner||i.author}/${i.name}`,(!i.owner||i.access==="public")&&(a=!1)}catch{}let d=De.environment.isDevelopment||a,r=e instanceof Error?e?.stack||e?.message||"":String(e);return{title:d?"Copy Logs":"Report Error",onAction(i){i.hide(),d?De.Clipboard.copy(r):(0,De.open)(`https://github.com/raycast/extensions/issues/new?&labels=extension%2Cbug&template=extension_bug_report.yml&title=${encodeURIComponent(p)}&extension-url=${encodeURI(t)}&description=${encodeURIComponent(`#### Error: +\`\`\` +${r} +\`\`\` +`)}`)}}}});var Ce=u(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.usePromise=void 0;var o1=require("react"),oa=require("@raycast/api"),_8=vt(),K1=I1(),b8=ma();function y8(e,a,p){let t=(0,o1.useRef)(0),[d,r]=(0,o1.useState)({isLoading:!0}),i=(0,K1.useLatest)(e),n=(0,K1.useLatest)(p?.abortable),s=(0,K1.useLatest)(a||[]),l=(0,K1.useLatest)(p?.onError),o=(0,K1.useLatest)(p?.onData),m=(0,K1.useLatest)(p?.onWillExecute),c=(0,K1.useLatest)(p?.failureToastOptions),v=(0,K1.useLatest)(d.data),f=(0,o1.useRef)(),h=(0,o1.useRef)({page:0}),g=(0,o1.useRef)(!1),_=(0,o1.useRef)(!0),w=(0,o1.useRef)(50),b=(0,o1.useCallback)((...K)=>{let M=++t.current;n.current&&(n.current.current?.abort(),n.current.current=new AbortController),m.current?.(K),r(C=>({...C,isLoading:!0}));let m1=S8(i.current)(...K);function v1(C){return C.name=="AbortError"||M===t.current&&(l.current?l.current(C):oa.environment.launchType!==oa.LaunchType.Background&&(0,b8.showFailureToast)(C,{title:"Failed to fetch latest data",primaryAction:{title:"Retry",onAction(a1){a1.hide(),f.current?.(...s.current||[])}},...c.current}),r({error:C,isLoading:!1})),C}return typeof m1=="function"?(g.current=!0,m1(h.current).then(({data:C,hasMore:a1,cursor:r1})=>(M===t.current&&(h.current&&(h.current.cursor=r1,h.current.lastItem=C?.[C.length-1]),o.current&&o.current(C,h.current),a1&&(w.current=C.length),_.current=a1,r(xe=>h.current.page===0?{data:C,isLoading:!1}:{data:(xe.data||[])?.concat(C),isLoading:!1})),C),C=>(_.current=!1,v1(C)))):(g.current=!1,m1.then(C=>(M===t.current&&(o.current&&o.current(C),r({data:C,isLoading:!1})),C),v1))},[n,o,l,s,i,r,f,m,h,c]);f.current=b;let y=(0,o1.useCallback)(()=>{h.current={page:0};let K=s.current||[];return b(...K)},[b,s]),N=(0,o1.useCallback)(async(K,M)=>{let m1;try{if(M?.optimisticUpdate){typeof M?.rollbackOnError!="function"&&M?.rollbackOnError!==!1&&(m1=structuredClone(v.current?.value));let v1=M.optimisticUpdate;r(C=>({...C,data:v1(C.data)}))}return await K}catch(v1){if(typeof M?.rollbackOnError=="function"){let C=M.rollbackOnError;r(a1=>({...a1,data:C(a1.data)}))}else M?.optimisticUpdate&&M?.rollbackOnError!==!1&&r(C=>({...C,data:m1}));throw v1}finally{M?.shouldRevalidateAfter!==!1&&(oa.environment.launchType===oa.LaunchType.Background||oa.environment.commandMode==="menu-bar"?await y():y())}},[y,v,r]),D=(0,o1.useCallback)(()=>{h.current.page+=1;let K=s.current||[];b(...K)},[h,s,b]);(0,o1.useEffect)(()=>{h.current={page:0},p?.execute!==!1?b(...a||[]):n.current&&n.current.current?.abort()},[(0,_8.useDeepMemo)([a,p?.execute,b]),n,h]),(0,o1.useEffect)(()=>()=>{n.current&&n.current.current?.abort()},[n]);let R=p?.execute!==!1?d.isLoading:!1,V={...d,isLoading:R},X=g.current?{pageSize:w.current,hasMore:_.current,onLoadMore:D}:void 0;return{...V,revalidate:y,mutate:N,pagination:X}}Wa.usePromise=y8;function S8(e){return e===Promise.all||e===Promise.race||e===Promise.resolve||e===Promise.reject?e.bind(Promise):e}});var Tt=u((ne,Nt)=>{"use strict";var rp=require("crypto");ne=Nt.exports=ua;function ua(e,a){return a=yt(e,a),N8(e,a)}ne.sha1=function(e){return ua(e)};ne.keys=function(e){return ua(e,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})};ne.MD5=function(e){return ua(e,{algorithm:"md5",encoding:"hex"})};ne.keysMD5=function(e){return ua(e,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var Ae=rp.getHashes?rp.getHashes().slice():["sha1","md5"];Ae.push("passthrough");var _t=["buffer","hex","binary","base64"];function yt(e,a){a=a||{};var p={};if(p.algorithm=a.algorithm||"sha1",p.encoding=a.encoding||"hex",p.excludeValues=!!a.excludeValues,p.algorithm=p.algorithm.toLowerCase(),p.encoding=p.encoding.toLowerCase(),p.ignoreUnknown=a.ignoreUnknown===!0,p.respectType=a.respectType!==!1,p.respectFunctionNames=a.respectFunctionNames!==!1,p.respectFunctionProperties=a.respectFunctionProperties!==!1,p.unorderedArrays=a.unorderedArrays===!0,p.unorderedSets=a.unorderedSets!==!1,p.unorderedObjects=a.unorderedObjects!==!1,p.replacer=a.replacer||void 0,p.excludeKeys=a.excludeKeys||void 0,typeof e>"u")throw new Error("Object argument required.");for(var t=0;t<Ae.length;++t)Ae[t].toLowerCase()===p.algorithm.toLowerCase()&&(p.algorithm=Ae[t]);if(Ae.indexOf(p.algorithm)===-1)throw new Error('Algorithm "'+p.algorithm+'" not supported. supported values: '+Ae.join(", "));if(_t.indexOf(p.encoding)===-1&&p.algorithm!=="passthrough")throw new Error('Encoding "'+p.encoding+'" not supported. supported values: '+_t.join(", "));return p}function bt(e){if(typeof e!="function")return!1;var a=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;return a.exec(Function.prototype.toString.call(e))!=null}function N8(e,a){var p;a.algorithm!=="passthrough"?p=rp.createHash(a.algorithm):p=new St,typeof p.write>"u"&&(p.write=p.update,p.end=p.update);var t=ip(a,p);if(t.dispatch(e),p.update||p.end(""),p.digest)return p.digest(a.encoding==="buffer"?void 0:a.encoding);var d=p.read();return a.encoding==="buffer"?d:d.toString(a.encoding)}ne.writeToStream=function(e,a,p){return typeof p>"u"&&(p=a,a={}),a=yt(e,a),ip(a,p).dispatch(e)};function ip(e,a,p){p=p||[];var t=function(d){return a.update?a.update(d,"utf8"):a.write(d,"utf8")};return{dispatch:function(d){e.replacer&&(d=e.replacer(d));var r=typeof d;return d===null&&(r="null"),this["_"+r](d)},_object:function(d){var r=/\[object (.*)\]/i,i=Object.prototype.toString.call(d),n=r.exec(i);n?n=n[1]:n="unknown:["+i+"]",n=n.toLowerCase();var s=null;if((s=p.indexOf(d))>=0)return this.dispatch("[CIRCULAR:"+s+"]");if(p.push(d),typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(d))return t("buffer:"),t(d);if(n!=="object"&&n!=="function"&&n!=="asyncfunction")if(this["_"+n])this["_"+n](d);else{if(e.ignoreUnknown)return t("["+n+"]");throw new Error('Unknown object type "'+n+'"')}else{var l=Object.keys(d);e.unorderedObjects&&(l=l.sort()),e.respectType!==!1&&!bt(d)&&l.splice(0,0,"prototype","__proto__","constructor"),e.excludeKeys&&(l=l.filter(function(m){return!e.excludeKeys(m)})),t("object:"+l.length+":");var o=this;return l.forEach(function(m){o.dispatch(m),t(":"),e.excludeValues||o.dispatch(d[m]),t(",")})}},_array:function(d,r){r=typeof r<"u"?r:e.unorderedArrays!==!1;var i=this;if(t("array:"+d.length+":"),!r||d.length<=1)return d.forEach(function(l){return i.dispatch(l)});var n=[],s=d.map(function(l){var o=new St,m=p.slice(),c=ip(e,o,m);return c.dispatch(l),n=n.concat(m.slice(p.length)),o.read().toString()});return p=p.concat(n),s.sort(),this._array(s,!1)},_date:function(d){return t("date:"+d.toJSON())},_symbol:function(d){return t("symbol:"+d.toString())},_error:function(d){return t("error:"+d.toString())},_boolean:function(d){return t("bool:"+d.toString())},_string:function(d){t("string:"+d.length+":"),t(d.toString())},_function:function(d){t("fn:"),bt(d)?this.dispatch("[native]"):this.dispatch(d.toString()),e.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(d.name)),e.respectFunctionProperties&&this._object(d)},_number:function(d){return t("number:"+d.toString())},_xml:function(d){return t("xml:"+d.toString())},_null:function(){return t("Null")},_undefined:function(){return t("Undefined")},_regexp:function(d){return t("regex:"+d.toString())},_uint8array:function(d){return t("uint8array:"),this.dispatch(Array.prototype.slice.call(d))},_uint8clampedarray:function(d){return t("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(d))},_int8array:function(d){return t("int8array:"),this.dispatch(Array.prototype.slice.call(d))},_uint16array:function(d){return t("uint16array:"),this.dispatch(Array.prototype.slice.call(d))},_int16array:function(d){return t("int16array:"),this.dispatch(Array.prototype.slice.call(d))},_uint32array:function(d){return t("uint32array:"),this.dispatch(Array.prototype.slice.call(d))},_int32array:function(d){return t("int32array:"),this.dispatch(Array.prototype.slice.call(d))},_float32array:function(d){return t("float32array:"),this.dispatch(Array.prototype.slice.call(d))},_float64array:function(d){return t("float64array:"),this.dispatch(Array.prototype.slice.call(d))},_arraybuffer:function(d){return t("arraybuffer:"),this.dispatch(new Uint8Array(d))},_url:function(d){return t("url:"+d.toString(),"utf8")},_map:function(d){t("map:");var r=Array.from(d);return this._array(r,e.unorderedSets!==!1)},_set:function(d){t("set:");var r=Array.from(d);return this._array(r,e.unorderedSets!==!1)},_file:function(d){return t("file:"),this.dispatch([d.name,d.size,d.type,d.lastModfied])},_blob:function(){if(e.ignoreUnknown)return t("[blob]");throw Error(`Hashing Blob objects is currently not supported +(see https://github.com/puleos/object-hash/issues/26) +Use "options.replacer" or "options.ignoreUnknown" +`)},_domwindow:function(){return t("domwindow")},_bigint:function(d){return t("bigint:"+d.toString())},_process:function(){return t("process")},_timer:function(){return t("timer")},_pipe:function(){return t("pipe")},_tcp:function(){return t("tcp")},_udp:function(){return t("udp")},_tty:function(){return t("tty")},_statwatcher:function(){return t("statwatcher")},_securecontext:function(){return t("securecontext")},_connection:function(){return t("connection")},_zlib:function(){return t("zlib")},_context:function(){return t("context")},_nodescript:function(){return t("nodescript")},_httpparser:function(){return t("httpparser")},_dataview:function(){return t("dataview")},_signal:function(){return t("signal")},_fsevent:function(){return t("fsevent")},_tlswrap:function(){return t("tlswrap")}}}function St(){return{buf:"",write:function(e){this.buf+=e},end:function(e){this.buf+=e},read:function(){return this.buf}}}});var le=u(D1=>{"use strict";var T8=D1&&D1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(D1,"__esModule",{value:!0});D1.hash=D1.reviver=D1.replacer=void 0;var x8=T8(Tt());function D8(e,a){let p=this[e];return p instanceof Date?`__raycast_cached_date__${p.toString()}`:Buffer.isBuffer(p)?`__raycast_cached_buffer__${p.toString("base64")}`:a}D1.replacer=D8;function C8(e,a){return typeof a=="string"&&a.startsWith("__raycast_cached_date__")?new Date(a.replace("__raycast_cached_date__","")):typeof a=="string"&&a.startsWith("__raycast_cached_buffer__")?Buffer.from(a.replace("__raycast_cached_buffer__",""),"base64"):a}D1.reviver=C8;function A8(e,a){return(0,x8.default)(e,{replacer:p=>p instanceof URLSearchParams?p.toString():p,...a})}D1.hash=A8});var Xa=u(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.useCachedState=void 0;var sp=require("react"),V8=require("@raycast/api"),np=I1(),xt=le(),E8=Symbol("cache without namespace"),Dt=new Map;function P8(e,a,p){let t=p?.cacheNamespace||E8,d=Dt.get(t)||Dt.set(t,new V8.Cache({namespace:p?.cacheNamespace})).get(t);if(!d)throw new Error("Missing cache");let r=(0,np.useLatest)(e),i=(0,np.useLatest)(a),n=(0,sp.useSyncExternalStore)(d.subscribe,()=>{try{return d.get(r.current)}catch(m){console.error("Could not get Cache data:",m);return}}),s=(0,sp.useMemo)(()=>{if(typeof n<"u"){if(n==="undefined")return;try{return JSON.parse(n,xt.reviver)}catch(m){return console.warn("The cached data is corrupted",m),i.current}}else return i.current},[n,i]),l=(0,np.useLatest)(s),o=(0,sp.useCallback)(m=>{let c=typeof m=="function"?m(l.current):m;if(typeof c>"u")d.set(r.current,"undefined");else{let v=JSON.stringify(c,xt.replacer);d.set(r.current,v)}return c},[d,r,l]);return[s,o]}Ya.useCachedState=P8});var fa=u(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.useCachedPromise=void 0;var ca=require("react"),M8=Xa(),k8=Ce(),O8=I1(),Ct=le(),Ve=Symbol();function R8(e,a,p){let{initialData:t,keepPreviousData:d,internal_cacheKeySuffix:r,...i}=p||{},n=(0,ca.useRef)(),[s,l]=(0,M8.useCachedState)((0,Ct.hash)(a||[])+r,Ve,{cacheNamespace:(0,Ct.hash)(e)}),o=(0,ca.useRef)(s!==Ve?s:t),m=(0,ca.useRef)(void 0),{mutate:c,revalidate:v,...f}=(0,k8.usePromise)(e,a||[],{...i,onData(b,y){m.current=y,i.onData&&i.onData(b,y),!(y&&y.page>0)&&(n.current="promise",o.current=b,l(b))}}),h,g=f.pagination;m.current&&m.current.page>0&&f.data?h=f.data:n.current==="promise"?h=o.current:d&&s!==Ve?(h=s,g&&(g.hasMore=!0,g.pageSize=s.length)):d&&s===Ve?h=o.current:s!==Ve?(h=s,g&&(g.hasMore=!0,g.pageSize=s.length)):h=t;let _=(0,O8.useLatest)(h),w=(0,ca.useCallback)(async(b,y)=>{let N;try{if(y?.optimisticUpdate){typeof y?.rollbackOnError!="function"&&y?.rollbackOnError!==!1&&(N=structuredClone(_.current));let D=y.optimisticUpdate(_.current);n.current="cache",o.current=D,l(D)}return await c(b,{shouldRevalidateAfter:y?.shouldRevalidateAfter})}catch(D){if(typeof y?.rollbackOnError=="function"){let R=y.rollbackOnError(_.current);n.current="cache",o.current=R,l(R)}else y?.optimisticUpdate&&y?.rollbackOnError!==!1&&(n.current="cache",o.current=N,l(N));throw D}},[l,c,_,o,n]);return(0,ca.useEffect)(()=>{s!==Ve&&(n.current="cache",o.current=s)},[s]),{data:h,isLoading:f.isLoading,error:f.error,mutate:m.current&&m.current.page>0?c:w,pagination:g,revalidate:v}}Qa.useCachedPromise=R8});var Et=u((qw,Vt)=>{"use strict";var q={};Vt.exports=q;function At(e){return e<0?-1:1}function q8(e){return e%1===.5&&(e&1)===0?Math.floor(e):Math.round(e)}function J1(e,a){a.unsigned||--e;let p=a.unsigned?0:-Math.pow(2,e),t=Math.pow(2,e)-1,d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e),r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(i,n){n||(n={});let s=+i;if(n.enforceRange){if(!Number.isFinite(s))throw new TypeError("Argument is not a finite number");if(s=At(s)*Math.floor(Math.abs(s)),s<p||s>t)throw new TypeError("Argument is not in byte range");return s}if(!isNaN(s)&&n.clamp)return s=q8(s),s<p&&(s=p),s>t&&(s=t),s;if(!Number.isFinite(s)||s===0)return 0;if(s=At(s)*Math.floor(Math.abs(s)),s=s%d,!a.unsigned&&s>=r)return s-d;if(a.unsigned){if(s<0)s+=d;else if(s===-0)return 0}return s}}q.void=function(){};q.boolean=function(e){return!!e};q.byte=J1(8,{unsigned:!1});q.octet=J1(8,{unsigned:!0});q.short=J1(16,{unsigned:!1});q["unsigned short"]=J1(16,{unsigned:!0});q.long=J1(32,{unsigned:!1});q["unsigned long"]=J1(32,{unsigned:!0});q["long long"]=J1(32,{unsigned:!1,moduloBitLength:64});q["unsigned long long"]=J1(32,{unsigned:!0,moduloBitLength:64});q.double=function(e){let a=+e;if(!Number.isFinite(a))throw new TypeError("Argument is not a finite floating-point value");return a};q["unrestricted double"]=function(e){let a=+e;if(isNaN(a))throw new TypeError("Argument is NaN");return a};q.float=q.double;q["unrestricted float"]=q["unrestricted double"];q.DOMString=function(e,a){return a||(a={}),a.treatNullAsEmptyString&&e===null?"":String(e)};q.ByteString=function(e,a){let p=String(e),t;for(let d=0;(t=p.codePointAt(d))!==void 0;++d)if(t>255)throw new TypeError("Argument is not a valid bytestring");return p};q.USVString=function(e){let a=String(e),p=a.length,t=[];for(let d=0;d<p;++d){let r=a.charCodeAt(d);if(r<55296||r>57343)t.push(String.fromCodePoint(r));else if(56320<=r&&r<=57343)t.push(String.fromCodePoint(65533));else if(d===p-1)t.push(String.fromCodePoint(65533));else{let i=a.charCodeAt(d+1);if(56320<=i&&i<=57343){let n=r&1023,s=i&1023;t.push(String.fromCodePoint(65536+1024*n+s)),++d}else t.push(String.fromCodePoint(65533))}}return t.join("")};q.Date=function(e,a){if(!(e instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(e))return e};q.RegExp=function(e,a){return e instanceof RegExp||(e=new RegExp(e)),e}});var Pt=u((Lw,Z1)=>{"use strict";Z1.exports.mixin=function(a,p){let t=Object.getOwnPropertyNames(p);for(let d=0;d<t.length;++d)Object.defineProperty(a,t[d],Object.getOwnPropertyDescriptor(p,t[d]))};Z1.exports.wrapperSymbol=Symbol("wrapper");Z1.exports.implSymbol=Symbol("impl");Z1.exports.wrapperForImpl=function(e){return e[Z1.exports.wrapperSymbol]};Z1.exports.implForWrapper=function(e){return e[Z1.exports.implSymbol]}});var Mt=u((Iw,L8)=>{L8.exports=[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1e3,1e3],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6e3],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8e3,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8e3]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9e3],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[3e4]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13e3,13e3],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43e3,43e3],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64e3,64e3],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66e3,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[12e4,12e4],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128e3,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23e3]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149e3]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32e3]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195e3,195e3],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[4e4]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918e3,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]});var It=u((Fw,a2)=>{"use strict";var Ot=require("punycode"),kt=Mt(),Ee={TRANSITIONAL:0,NONTRANSITIONAL:1};function Rt(e){return e.split("\0").map(function(a){return a.normalize("NFC")}).join("\0")}function qt(e){for(var a=0,p=kt.length-1;a<=p;){var t=Math.floor((a+p)/2),d=kt[t];if(d[0][0]<=e&&d[0][1]>=e)return d;d[0][0]>e?p=t-1:a=t+1}return null}var I8=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function Lt(e){return e.replace(I8,"_").length}function F8(e,a,p){for(var t=!1,d="",r=Lt(e),i=0;i<r;++i){var n=e.codePointAt(i),s=qt(n);switch(s[1]){case"disallowed":t=!0,d+=String.fromCodePoint(n);break;case"ignored":break;case"mapped":d+=String.fromCodePoint.apply(String,s[2]);break;case"deviation":p===Ee.TRANSITIONAL?d+=String.fromCodePoint.apply(String,s[2]):d+=String.fromCodePoint(n);break;case"valid":d+=String.fromCodePoint(n);break;case"disallowed_STD3_mapped":a?(t=!0,d+=String.fromCodePoint(n)):d+=String.fromCodePoint.apply(String,s[2]);break;case"disallowed_STD3_valid":a&&(t=!0),d+=String.fromCodePoint(n);break}}return{string:d,error:t}}var B8=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;function j8(e,a){e.substr(0,4)==="xn--"&&(e=Ot.toUnicode(e),a=Ee.NONTRANSITIONAL);var p=!1;(Rt(e)!==e||e[3]==="-"&&e[4]==="-"||e[0]==="-"||e[e.length-1]==="-"||e.indexOf(".")!==-1||e.search(B8)===0)&&(p=!0);for(var t=Lt(e),d=0;d<t;++d){var r=qt(e.codePointAt(d));if(e2===Ee.TRANSITIONAL&&r[1]!=="valid"||e2===Ee.NONTRANSITIONAL&&r[1]!=="valid"&&r[1]!=="deviation"){p=!0;break}}return{label:e,error:p}}function e2(e,a,p){var t=F8(e,a,p);t.string=Rt(t.string);for(var d=t.string.split("."),r=0;r<d.length;++r)try{var i=j8(d[r]);d[r]=i.label,t.error=t.error||i.error}catch{t.error=!0}return{string:d.join("."),error:t.error}}a2.exports.toASCII=function(e,a,p,t){var d=e2(e,a,p),r=d.string.split(".");if(r=r.map(function(s){try{return Ot.toASCII(s)}catch{return d.error=!0,s}}),t){var i=r.slice(0,r.length-1).join(".").length;(i.length>253||i.length===0)&&(d.error=!0);for(var n=0;n<r.length;++n)if(r.length>63||r.length===0){d.error=!0;break}}return d.error?null:r.join(".")};a2.exports.toUnicode=function(e,a){var p=e2(e,a,Ee.NONTRANSITIONAL);return{domain:p.string,error:p.error}};a2.exports.PROCESSING_OPTIONS=Ee});var C1=u((Bw,u1)=>{"use strict";var Pe=require("punycode"),Ft=It(),Ut={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443},A=Symbol("failure");function Bt(e){return Pe.ucs2.decode(e).length}function jt(e,a){let p=e[a];return isNaN(p)?void 0:String.fromCodePoint(p)}function ha(e){return e>=48&&e<=57}function va(e){return e>=65&&e<=90||e>=97&&e<=122}function z8(e){return va(e)||ha(e)}function S1(e){return ha(e)||e>=65&&e<=70||e>=97&&e<=102}function zt(e){return e==="."||e.toLowerCase()==="%2e"}function U8(e){return e=e.toLowerCase(),e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function $8(e,a){return va(e)&&(a===58||a===124)}function $t(e){return e.length===2&&va(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function H8(e){return e.length===2&&va(e.codePointAt(0))&&e[1]===":"}function G8(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function K8(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function lp(e){return Ut[e]!==void 0}function U(e){return lp(e.scheme)}function J8(e){return Ut[e]}function Ht(e){let a=e.toString(16).toUpperCase();return a.length===1&&(a="0"+a),"%"+a}function Z8(e){let a=new Buffer(e),p="";for(let t=0;t<a.length;++t)p+=Ht(a[t]);return p}function W8(e){let a=new Buffer(e),p=[];for(let t=0;t<a.length;++t)a[t]!==37?p.push(a[t]):a[t]===37&&S1(a[t+1])&&S1(a[t+2])?(p.push(parseInt(a.slice(t+1,t+3).toString(),16)),t+=2):p.push(a[t]);return new Buffer(p).toString()}function p2(e){return e<=31||e>126}var Y8=new Set([32,34,35,60,62,63,96,123,125]);function Gt(e){return p2(e)||Y8.has(e)}var X8=new Set([47,58,59,61,64,91,92,93,94,124]);function op(e){return Gt(e)||X8.has(e)}function me(e,a){let p=String.fromCodePoint(e);return a(e)?Z8(p):p}function Q8(e){let a=10;return e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"?(e=e.substring(2),a=16):e.length>=2&&e.charAt(0)==="0"&&(e=e.substring(1),a=8),e===""?0:(a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/).test(e)?A:parseInt(e,a)}function es(e){let a=e.split(".");if(a[a.length-1]===""&&a.length>1&&a.pop(),a.length>4)return e;let p=[];for(let r of a){if(r==="")return e;let i=Q8(r);if(i===A)return e;p.push(i)}for(let r=0;r<p.length-1;++r)if(p[r]>255)return A;if(p[p.length-1]>=Math.pow(256,5-p.length))return A;let t=p.pop(),d=0;for(let r of p)t+=r*Math.pow(256,3-d),++d;return t}function as(e){let a="",p=e;for(let t=1;t<=4;++t)a=String(p%256)+a,t!==4&&(a="."+a),p=Math.floor(p/256);return a}function ps(e){let a=[0,0,0,0,0,0,0,0],p=0,t=null,d=0;if(e=Pe.ucs2.decode(e),e[d]===58){if(e[d+1]!==58)return A;d+=2,++p,t=p}for(;d<e.length;){if(p===8)return A;if(e[d]===58){if(t!==null)return A;++d,++p,t=p;continue}let r=0,i=0;for(;i<4&&S1(e[d]);)r=r*16+parseInt(jt(e,d),16),++d,++i;if(e[d]===46){if(i===0||(d-=i,p>6))return A;let n=0;for(;e[d]!==void 0;){let s=null;if(n>0)if(e[d]===46&&n<4)++d;else return A;if(!ha(e[d]))return A;for(;ha(e[d]);){let l=parseInt(jt(e,d));if(s===null)s=l;else{if(s===0)return A;s=s*10+l}if(s>255)return A;++d}a[p]=a[p]*256+s,++n,(n===2||n===4)&&++p}if(n!==4)return A;break}else if(e[d]===58){if(++d,e[d]===void 0)return A}else if(e[d]!==void 0)return A;a[p]=r,++p}if(t!==null){let r=p-t;for(p=7;p!==0&&r>0;){let i=a[t+r-1];a[t+r-1]=a[p],a[p]=i,--p,--r}}else if(t===null&&p!==8)return A;return a}function ts(e){let a="",t=rs(e).idx,d=!1;for(let r=0;r<=7;++r)if(!(d&&e[r]===0)){if(d&&(d=!1),t===r){a+=r===0?"::":":",d=!0;continue}a+=e[r].toString(16),r!==7&&(a+=":")}return a}function mp(e,a){if(e[0]==="[")return e[e.length-1]!=="]"?A:ps(e.substring(1,e.length-1));if(!a)return ds(e);let p=W8(e),t=Ft.toASCII(p,!1,Ft.PROCESSING_OPTIONS.NONTRANSITIONAL,!1);if(t===null||G8(t))return A;let d=es(t);return typeof d=="number"||d===A?d:t}function ds(e){if(K8(e))return A;let a="",p=Pe.ucs2.decode(e);for(let t=0;t<p.length;++t)a+=me(p[t],p2);return a}function rs(e){let a=null,p=1,t=null,d=0;for(let r=0;r<e.length;++r)e[r]!==0?(d>p&&(a=t,p=d),t=null,d=0):(t===null&&(t=r),++d);return d>p&&(a=t,p=d),{idx:a,len:p}}function up(e){return typeof e=="number"?as(e):e instanceof Array?"["+ts(e)+"]":e}function is(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function ss(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function Kt(e){let a=e.path;a.length!==0&&(e.scheme==="file"&&a.length===1&&ls(a[0])||a.pop())}function Jt(e){return e.username!==""||e.password!==""}function ns(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function ls(e){return/^[A-Za-z]:$/.test(e)}function L(e,a,p,t,d){if(this.pointer=0,this.input=e,this.base=a||null,this.encodingOverride=p||"utf-8",this.stateOverride=d,this.url=t,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:!1};let i=is(this.input);i!==this.input&&(this.parseError=!0),this.input=i}let r=ss(this.input);for(r!==this.input&&(this.parseError=!0),this.input=r,this.state=d||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=Pe.ucs2.decode(this.input);this.pointer<=this.input.length;++this.pointer){let i=this.input[this.pointer],n=isNaN(i)?void 0:String.fromCodePoint(i),s=this["parse "+this.state](i,n);if(s){if(s===A){this.failure=!0;break}}else break}}L.prototype["parse scheme start"]=function(a,p){if(va(a))this.buffer+=p.toLowerCase(),this.state="scheme";else if(!this.stateOverride)this.state="no scheme",--this.pointer;else return this.parseError=!0,A;return!0};L.prototype["parse scheme"]=function(a,p){if(z8(a)||a===43||a===45||a===46)this.buffer+=p.toLowerCase();else if(a===58){if(this.stateOverride&&(U(this.url)&&!lp(this.buffer)||!U(this.url)&&lp(this.buffer)||(Jt(this.url)||this.url.port!==null)&&this.buffer==="file"||this.url.scheme==="file"&&(this.url.host===""||this.url.host===null))||(this.url.scheme=this.buffer,this.buffer="",this.stateOverride))return!1;this.url.scheme==="file"?((this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47)&&(this.parseError=!0),this.state="file"):U(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme?this.state="special relative or authority":U(this.url)?this.state="special authority slashes":this.input[this.pointer+1]===47?(this.state="path or authority",++this.pointer):(this.url.cannotBeABaseURL=!0,this.url.path.push(""),this.state="cannot-be-a-base-URL path")}else if(!this.stateOverride)this.buffer="",this.state="no scheme",this.pointer=-1;else return this.parseError=!0,A;return!0};L.prototype["parse no scheme"]=function(a){return this.base===null||this.base.cannotBeABaseURL&&a!==35?A:(this.base.cannotBeABaseURL&&a===35?(this.url.scheme=this.base.scheme,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.url.cannotBeABaseURL=!0,this.state="fragment"):this.base.scheme==="file"?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)};L.prototype["parse special relative or authority"]=function(a){return a===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0};L.prototype["parse path or authority"]=function(a){return a===47?this.state="authority":(this.state="path",--this.pointer),!0};L.prototype["parse relative"]=function(a){return this.url.scheme=this.base.scheme,isNaN(a)?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query):a===47?this.state="relative slash":a===63?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):a===35?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):U(this.url)&&a===92?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(0,this.base.path.length-1),this.state="path",--this.pointer),!0};L.prototype["parse relative slash"]=function(a){return U(this.url)&&(a===47||a===92)?(a===92&&(this.parseError=!0),this.state="special authority ignore slashes"):a===47?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer),!0};L.prototype["parse special authority slashes"]=function(a){return a===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0};L.prototype["parse special authority ignore slashes"]=function(a){return a!==47&&a!==92?(this.state="authority",--this.pointer):this.parseError=!0,!0};L.prototype["parse authority"]=function(a,p){if(a===64){this.parseError=!0,this.atFlag&&(this.buffer="%40"+this.buffer),this.atFlag=!0;let t=Bt(this.buffer);for(let d=0;d<t;++d){let r=this.buffer.codePointAt(d);if(r===58&&!this.passwordTokenSeenFlag){this.passwordTokenSeenFlag=!0;continue}let i=me(r,op);this.passwordTokenSeenFlag?this.url.password+=i:this.url.username+=i}this.buffer=""}else if(isNaN(a)||a===47||a===63||a===35||U(this.url)&&a===92){if(this.atFlag&&this.buffer==="")return this.parseError=!0,A;this.pointer-=Bt(this.buffer)+1,this.buffer="",this.state="host"}else this.buffer+=p;return!0};L.prototype["parse hostname"]=L.prototype["parse host"]=function(a,p){if(this.stateOverride&&this.url.scheme==="file")--this.pointer,this.state="file host";else if(a===58&&!this.arrFlag){if(this.buffer==="")return this.parseError=!0,A;let t=mp(this.buffer,U(this.url));if(t===A)return A;if(this.url.host=t,this.buffer="",this.state="port",this.stateOverride==="hostname")return!1}else if(isNaN(a)||a===47||a===63||a===35||U(this.url)&&a===92){if(--this.pointer,U(this.url)&&this.buffer==="")return this.parseError=!0,A;if(this.stateOverride&&this.buffer===""&&(Jt(this.url)||this.url.port!==null))return this.parseError=!0,!1;let t=mp(this.buffer,U(this.url));if(t===A)return A;if(this.url.host=t,this.buffer="",this.state="path start",this.stateOverride)return!1}else a===91?this.arrFlag=!0:a===93&&(this.arrFlag=!1),this.buffer+=p;return!0};L.prototype["parse port"]=function(a,p){if(ha(a))this.buffer+=p;else if(isNaN(a)||a===47||a===63||a===35||U(this.url)&&a===92||this.stateOverride){if(this.buffer!==""){let t=parseInt(this.buffer);if(t>Math.pow(2,16)-1)return this.parseError=!0,A;this.url.port=t===J8(this.url.scheme)?null:t,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}else return this.parseError=!0,A;return!0};var ms=new Set([47,92,63,35]);L.prototype["parse file"]=function(a){return this.url.scheme="file",a===47||a===92?(a===92&&(this.parseError=!0),this.state="file slash"):this.base!==null&&this.base.scheme==="file"?isNaN(a)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):a===63?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):a===35?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1===0||!$8(a,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!ms.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),Kt(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0};L.prototype["parse file slash"]=function(a){return a===47||a===92?(a===92&&(this.parseError=!0),this.state="file host"):(this.base!==null&&this.base.scheme==="file"&&(H8(this.base.path[0])?this.url.path.push(this.base.path[0]):this.url.host=this.base.host),this.state="path",--this.pointer),!0};L.prototype["parse file host"]=function(a,p){if(isNaN(a)||a===47||a===92||a===63||a===35)if(--this.pointer,!this.stateOverride&&$t(this.buffer))this.parseError=!0,this.state="path";else if(this.buffer===""){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let t=mp(this.buffer,U(this.url));if(t===A)return A;if(t==="localhost"&&(t=""),this.url.host=t,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=p;return!0};L.prototype["parse path start"]=function(a){return U(this.url)?(a===92&&(this.parseError=!0),this.state="path",a!==47&&a!==92&&--this.pointer):!this.stateOverride&&a===63?(this.url.query="",this.state="query"):!this.stateOverride&&a===35?(this.url.fragment="",this.state="fragment"):a!==void 0&&(this.state="path",a!==47&&--this.pointer),!0};L.prototype["parse path"]=function(a){if(isNaN(a)||a===47||U(this.url)&&a===92||!this.stateOverride&&(a===63||a===35)){if(U(this.url)&&a===92&&(this.parseError=!0),U8(this.buffer)?(Kt(this.url),a!==47&&!(U(this.url)&&a===92)&&this.url.path.push("")):zt(this.buffer)&&a!==47&&!(U(this.url)&&a===92)?this.url.path.push(""):zt(this.buffer)||(this.url.scheme==="file"&&this.url.path.length===0&&$t(this.buffer)&&(this.url.host!==""&&this.url.host!==null&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)),this.buffer="",this.url.scheme==="file"&&(a===void 0||a===63||a===35))for(;this.url.path.length>1&&this.url.path[0]==="";)this.parseError=!0,this.url.path.shift();a===63&&(this.url.query="",this.state="query"),a===35&&(this.url.fragment="",this.state="fragment")}else a===37&&(!S1(this.input[this.pointer+1])||!S1(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=me(a,Gt);return!0};L.prototype["parse cannot-be-a-base-URL path"]=function(a){return a===63?(this.url.query="",this.state="query"):a===35?(this.url.fragment="",this.state="fragment"):(!isNaN(a)&&a!==37&&(this.parseError=!0),a===37&&(!S1(this.input[this.pointer+1])||!S1(this.input[this.pointer+2]))&&(this.parseError=!0),isNaN(a)||(this.url.path[0]=this.url.path[0]+me(a,p2))),!0};L.prototype["parse query"]=function(a,p){if(isNaN(a)||!this.stateOverride&&a===35){(!U(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss")&&(this.encodingOverride="utf-8");let t=new Buffer(this.buffer);for(let d=0;d<t.length;++d)t[d]<33||t[d]>126||t[d]===34||t[d]===35||t[d]===60||t[d]===62?this.url.query+=Ht(t[d]):this.url.query+=String.fromCodePoint(t[d]);this.buffer="",a===35&&(this.url.fragment="",this.state="fragment")}else a===37&&(!S1(this.input[this.pointer+1])||!S1(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=p;return!0};L.prototype["parse fragment"]=function(a){return isNaN(a)||(a===0?this.parseError=!0:(a===37&&(!S1(this.input[this.pointer+1])||!S1(this.input[this.pointer+2]))&&(this.parseError=!0),this.url.fragment+=me(a,p2))),!0};function os(e,a){let p=e.scheme+":";if(e.host!==null?(p+="//",(e.username!==""||e.password!=="")&&(p+=e.username,e.password!==""&&(p+=":"+e.password),p+="@"),p+=up(e.host),e.port!==null&&(p+=":"+e.port)):e.host===null&&e.scheme==="file"&&(p+="//"),e.cannotBeABaseURL)p+=e.path[0];else for(let t of e.path)p+="/"+t;return e.query!==null&&(p+="?"+e.query),!a&&e.fragment!==null&&(p+="#"+e.fragment),p}function us(e){let a=e.scheme+"://";return a+=up(e.host),e.port!==null&&(a+=":"+e.port),a}u1.exports.serializeURL=os;u1.exports.serializeURLOrigin=function(e){switch(e.scheme){case"blob":try{return u1.exports.serializeURLOrigin(u1.exports.parseURL(e.path[0]))}catch{return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return us({scheme:e.scheme,host:e.host,port:e.port});case"file":return"file://";default:return"null"}};u1.exports.basicURLParse=function(e,a){a===void 0&&(a={});let p=new L(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);return p.failure?"failure":p.url};u1.exports.setTheUsername=function(e,a){e.username="";let p=Pe.ucs2.decode(a);for(let t=0;t<p.length;++t)e.username+=me(p[t],op)};u1.exports.setThePassword=function(e,a){e.password="";let p=Pe.ucs2.decode(a);for(let t=0;t<p.length;++t)e.password+=me(p[t],op)};u1.exports.serializeHost=up;u1.exports.cannotHaveAUsernamePasswordPort=ns;u1.exports.serializeInteger=function(e){return String(e)};u1.exports.parseURL=function(e,a){return a===void 0&&(a={}),u1.exports.basicURLParse(e,{baseURL:a.baseURL,encodingOverride:a.encodingOverride})}});var Wt=u(Zt=>{"use strict";var I=C1();Zt.implementation=class{constructor(a){let p=a[0],t=a[1],d=null;if(t!==void 0&&(d=I.basicURLParse(t),d==="failure"))throw new TypeError("Invalid base URL");let r=I.basicURLParse(p,{baseURL:d});if(r==="failure")throw new TypeError("Invalid URL");this._url=r}get href(){return I.serializeURL(this._url)}set href(a){let p=I.basicURLParse(a);if(p==="failure")throw new TypeError("Invalid URL");this._url=p}get origin(){return I.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(a){I.basicURLParse(a+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(a){I.cannotHaveAUsernamePasswordPort(this._url)||I.setTheUsername(this._url,a)}get password(){return this._url.password}set password(a){I.cannotHaveAUsernamePasswordPort(this._url)||I.setThePassword(this._url,a)}get host(){let a=this._url;return a.host===null?"":a.port===null?I.serializeHost(a.host):I.serializeHost(a.host)+":"+I.serializeInteger(a.port)}set host(a){this._url.cannotBeABaseURL||I.basicURLParse(a,{url:this._url,stateOverride:"host"})}get hostname(){return this._url.host===null?"":I.serializeHost(this._url.host)}set hostname(a){this._url.cannotBeABaseURL||I.basicURLParse(a,{url:this._url,stateOverride:"hostname"})}get port(){return this._url.port===null?"":I.serializeInteger(this._url.port)}set port(a){I.cannotHaveAUsernamePasswordPort(this._url)||(a===""?this._url.port=null:I.basicURLParse(a,{url:this._url,stateOverride:"port"}))}get pathname(){return this._url.cannotBeABaseURL?this._url.path[0]:this._url.path.length===0?"":"/"+this._url.path.join("/")}set pathname(a){this._url.cannotBeABaseURL||(this._url.path=[],I.basicURLParse(a,{url:this._url,stateOverride:"path start"}))}get search(){return this._url.query===null||this._url.query===""?"":"?"+this._url.query}set search(a){let p=this._url;if(a===""){p.query=null;return}let t=a[0]==="?"?a.substring(1):a;p.query="",I.basicURLParse(t,{url:p,stateOverride:"query"})}get hash(){return this._url.fragment===null||this._url.fragment===""?"":"#"+this._url.fragment}set hash(a){if(a===""){this._url.fragment=null;return}let p=a[0]==="#"?a.substring(1):a;this._url.fragment="",I.basicURLParse(p,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}});var Qt=u((Uw,ga)=>{"use strict";var g1=Et(),Xt=Pt(),Yt=Wt(),E=Xt.implSymbol;function J(e){if(!this||this[E]||!(this instanceof J))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");let a=[];for(let p=0;p<arguments.length&&p<2;++p)a[p]=arguments[p];a[0]=g1.USVString(a[0]),a[1]!==void 0&&(a[1]=g1.USVString(a[1])),ga.exports.setup(this,a)}J.prototype.toJSON=function(){if(!this||!ga.exports.is(this))throw new TypeError("Illegal invocation");let a=[];for(let p=0;p<arguments.length&&p<0;++p)a[p]=arguments[p];return this[E].toJSON.apply(this[E],a)};Object.defineProperty(J.prototype,"href",{get(){return this[E].href},set(e){e=g1.USVString(e),this[E].href=e},enumerable:!0,configurable:!0});J.prototype.toString=function(){if(!this||!ga.exports.is(this))throw new TypeError("Illegal invocation");return this.href};Object.defineProperty(J.prototype,"origin",{get(){return this[E].origin},enumerable:!0,configurable:!0});Object.defineProperty(J.prototype,"protocol",{get(){return this[E].protocol},set(e){e=g1.USVString(e),this[E].protocol=e},enumerable:!0,configurable:!0});Object.defineProperty(J.prototype,"username",{get(){return this[E].username},set(e){e=g1.USVString(e),this[E].username=e},enumerable:!0,configurable:!0});Object.defineProperty(J.prototype,"password",{get(){return this[E].password},set(e){e=g1.USVString(e),this[E].password=e},enumerable:!0,configurable:!0});Object.defineProperty(J.prototype,"host",{get(){return this[E].host},set(e){e=g1.USVString(e),this[E].host=e},enumerable:!0,configurable:!0});Object.defineProperty(J.prototype,"hostname",{get(){return this[E].hostname},set(e){e=g1.USVString(e),this[E].hostname=e},enumerable:!0,configurable:!0});Object.defineProperty(J.prototype,"port",{get(){return this[E].port},set(e){e=g1.USVString(e),this[E].port=e},enumerable:!0,configurable:!0});Object.defineProperty(J.prototype,"pathname",{get(){return this[E].pathname},set(e){e=g1.USVString(e),this[E].pathname=e},enumerable:!0,configurable:!0});Object.defineProperty(J.prototype,"search",{get(){return this[E].search},set(e){e=g1.USVString(e),this[E].search=e},enumerable:!0,configurable:!0});Object.defineProperty(J.prototype,"hash",{get(){return this[E].hash},set(e){e=g1.USVString(e),this[E].hash=e},enumerable:!0,configurable:!0});ga.exports={is(e){return!!e&&e[E]instanceof Yt.implementation},create(e,a){let p=Object.create(J.prototype);return this.setup(p,e,a),p},setup(e,a,p){p||(p={}),p.wrapper=e,e[E]=new Yt.implementation(a,p),e[E][Xt.wrapperSymbol]=e},interface:J,expose:{Window:{URL:J},Worker:{URL:J}}}});var ed=u(A1=>{"use strict";A1.URL=Qt().interface;A1.serializeURL=C1().serializeURL;A1.serializeURLOrigin=C1().serializeURLOrigin;A1.basicURLParse=C1().basicURLParse;A1.setTheUsername=C1().setTheUsername;A1.setThePassword=C1().setThePassword;A1.serializeHost=C1().serializeHost;A1.serializeInteger=C1().serializeInteger;A1.parseURL=C1().parseURL});var ud=u((T1,od)=>{"use strict";Object.defineProperty(T1,"__esModule",{value:!0});function Re(e){return e&&typeof e=="object"&&"default"in e?e.default:e}var N1=Re(require("stream")),dd=Re(require("http")),d2=Re(require("url")),rd=Re(ed()),cs=Re(require("https")),oe=Re(require("zlib")),fs=N1.Readable,F1=Symbol("buffer"),cp=Symbol("type"),_a=class e{constructor(){this[cp]="";let a=arguments[0],p=arguments[1],t=[],d=0;if(a){let i=a,n=Number(i.length);for(let s=0;s<n;s++){let l=i[s],o;l instanceof Buffer?o=l:ArrayBuffer.isView(l)?o=Buffer.from(l.buffer,l.byteOffset,l.byteLength):l instanceof ArrayBuffer?o=Buffer.from(l):l instanceof e?o=l[F1]:o=Buffer.from(typeof l=="string"?l:String(l)),d+=o.length,t.push(o)}}this[F1]=Buffer.concat(t);let r=p&&p.type!==void 0&&String(p.type).toLowerCase();r&&!/[^\u0020-\u007E]/.test(r)&&(this[cp]=r)}get size(){return this[F1].length}get type(){return this[cp]}text(){return Promise.resolve(this[F1].toString())}arrayBuffer(){let a=this[F1],p=a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength);return Promise.resolve(p)}stream(){let a=new fs;return a._read=function(){},a.push(this[F1]),a.push(null),a}toString(){return"[object Blob]"}slice(){let a=this.size,p=arguments[0],t=arguments[1],d,r;p===void 0?d=0:p<0?d=Math.max(a+p,0):d=Math.min(p,a),t===void 0?r=a:t<0?r=Math.max(a+t,0):r=Math.min(t,a);let i=Math.max(r-d,0),s=this[F1].slice(d,d+i),l=new e([],{type:arguments[2]});return l[F1]=s,l}};Object.defineProperties(_a.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Object.defineProperty(_a.prototype,Symbol.toStringTag,{value:"Blob",writable:!1,enumerable:!1,configurable:!0});function Q(e,a,p){Error.call(this,e),this.message=e,this.type=a,p&&(this.code=this.errno=p.code),Error.captureStackTrace(this,this.constructor)}Q.prototype=Object.create(Error.prototype);Q.prototype.constructor=Q;Q.prototype.name="FetchError";var gp;try{gp=require("encoding").convert}catch{}var j1=Symbol("Body internals"),ad=N1.PassThrough;function Z(e){var a=this,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=p.size;let d=t===void 0?0:t;var r=p.timeout;let i=r===void 0?0:r;e==null?e=null:id(e)?e=Buffer.from(e.toString()):ya(e)||Buffer.isBuffer(e)||(Object.prototype.toString.call(e)==="[object ArrayBuffer]"?e=Buffer.from(e):ArrayBuffer.isView(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof N1||(e=Buffer.from(String(e)))),this[j1]={body:e,disturbed:!1,error:null},this.size=d,this.timeout=i,e instanceof N1&&e.on("error",function(n){let s=n.name==="AbortError"?n:new Q(`Invalid response body while trying to fetch ${a.url}: ${n.message}`,"system",n);a[j1].error=s})}Z.prototype={get body(){return this[j1].body},get bodyUsed(){return this[j1].disturbed},arrayBuffer(){return Me.call(this).then(function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)})},blob(){let e=this.headers&&this.headers.get("content-type")||"";return Me.call(this).then(function(a){return Object.assign(new _a([],{type:e.toLowerCase()}),{[F1]:a})})},json(){var e=this;return Me.call(this).then(function(a){try{return JSON.parse(a.toString())}catch(p){return Z.Promise.reject(new Q(`invalid json response body at ${e.url} reason: ${p.message}`,"invalid-json"))}})},text(){return Me.call(this).then(function(e){return e.toString()})},buffer(){return Me.call(this)},textConverted(){var e=this;return Me.call(this).then(function(a){return hs(a,e.headers)})}};Object.defineProperties(Z.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}});Z.mixIn=function(e){for(let a of Object.getOwnPropertyNames(Z.prototype))if(!(a in e)){let p=Object.getOwnPropertyDescriptor(Z.prototype,a);Object.defineProperty(e,a,p)}};function Me(){var e=this;if(this[j1].disturbed)return Z.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[j1].disturbed=!0,this[j1].error)return Z.Promise.reject(this[j1].error);let a=this.body;if(a===null)return Z.Promise.resolve(Buffer.alloc(0));if(ya(a)&&(a=a.stream()),Buffer.isBuffer(a))return Z.Promise.resolve(a);if(!(a instanceof N1))return Z.Promise.resolve(Buffer.alloc(0));let p=[],t=0,d=!1;return new Z.Promise(function(r,i){let n;e.timeout&&(n=setTimeout(function(){d=!0,i(new Q(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))},e.timeout)),a.on("error",function(s){s.name==="AbortError"?(d=!0,i(s)):i(new Q(`Invalid response body while trying to fetch ${e.url}: ${s.message}`,"system",s))}),a.on("data",function(s){if(!(d||s===null)){if(e.size&&t+s.length>e.size){d=!0,i(new Q(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}t+=s.length,p.push(s)}}),a.on("end",function(){if(!d){clearTimeout(n);try{r(Buffer.concat(p,t))}catch(s){i(new Q(`Could not create Buffer from response body for ${e.url}: ${s.message}`,"system",s))}}})})}function hs(e,a){if(typeof gp!="function")throw new Error("The package `encoding` must be installed to use the textConverted() function");let p=a.get("content-type"),t="utf-8",d,r;return p&&(d=/charset=([^;]*)/i.exec(p)),r=e.slice(0,1024).toString(),!d&&r&&(d=/<meta.+?charset=(['"])(.+?)\1/i.exec(r)),!d&&r&&(d=/<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(r),d||(d=/<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(r),d&&d.pop()),d&&(d=/charset=(.*)/i.exec(d.pop()))),!d&&r&&(d=/<\?xml.+?encoding=(['"])(.+?)\1/i.exec(r)),d&&(t=d.pop(),(t==="gb2312"||t==="gbk")&&(t="gb18030")),gp(e,"UTF-8",t).toString()}function id(e){return typeof e!="object"||typeof e.append!="function"||typeof e.delete!="function"||typeof e.get!="function"||typeof e.getAll!="function"||typeof e.has!="function"||typeof e.set!="function"?!1:e.constructor.name==="URLSearchParams"||Object.prototype.toString.call(e)==="[object URLSearchParams]"||typeof e.sort=="function"}function ya(e){return typeof e=="object"&&typeof e.arrayBuffer=="function"&&typeof e.type=="string"&&typeof e.stream=="function"&&typeof e.constructor=="function"&&typeof e.constructor.name=="string"&&/^(Blob|File)$/.test(e.constructor.name)&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function sd(e){let a,p,t=e.body;if(e.bodyUsed)throw new Error("cannot clone body after it is used");return t instanceof N1&&typeof t.getBoundary!="function"&&(a=new ad,p=new ad,t.pipe(a),t.pipe(p),e[j1].body=a,t=p),t}function nd(e){return e===null?null:typeof e=="string"?"text/plain;charset=UTF-8":id(e)?"application/x-www-form-urlencoded;charset=UTF-8":ya(e)?e.type||null:Buffer.isBuffer(e)||Object.prototype.toString.call(e)==="[object ArrayBuffer]"||ArrayBuffer.isView(e)?null:typeof e.getBoundary=="function"?`multipart/form-data;boundary=${e.getBoundary()}`:e instanceof N1?null:"text/plain;charset=UTF-8"}function ld(e){let a=e.body;return a===null?0:ya(a)?a.size:Buffer.isBuffer(a)?a.length:a&&typeof a.getLengthSync=="function"&&(a._lengthRetrievers&&a._lengthRetrievers.length==0||a.hasKnownLength&&a.hasKnownLength())?a.getLengthSync():null}function vs(e,a){let p=a.body;p===null?e.end():ya(p)?p.stream().pipe(e):Buffer.isBuffer(p)?(e.write(p),e.end()):p.pipe(e)}Z.Promise=global.Promise;var md=/[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/,wp=/[^\t\x20-\x7e\x80-\xff]/;function wa(e){if(e=`${e}`,md.test(e)||e==="")throw new TypeError(`${e} is not a legal HTTP header name`)}function pd(e){if(e=`${e}`,wp.test(e))throw new TypeError(`${e} is not a legal HTTP header value`)}function ke(e,a){a=a.toLowerCase();for(let p in e)if(p.toLowerCase()===a)return p}var B=Symbol("map"),_1=class e{constructor(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0;if(this[B]=Object.create(null),a instanceof e){let p=a.raw(),t=Object.keys(p);for(let d of t)for(let r of p[d])this.append(d,r);return}if(a!=null)if(typeof a=="object"){let p=a[Symbol.iterator];if(p!=null){if(typeof p!="function")throw new TypeError("Header pairs must be iterable");let t=[];for(let d of a){if(typeof d!="object"||typeof d[Symbol.iterator]!="function")throw new TypeError("Each header pair must be iterable");t.push(Array.from(d))}for(let d of t){if(d.length!==2)throw new TypeError("Each header pair must be a name/value tuple");this.append(d[0],d[1])}}else for(let t of Object.keys(a)){let d=a[t];this.append(t,d)}}else throw new TypeError("Provided initializer must be an object")}get(a){a=`${a}`,wa(a);let p=ke(this[B],a);return p===void 0?null:this[B][p].join(", ")}forEach(a){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,t=_p(this),d=0;for(;d<t.length;){var r=t[d];let i=r[0],n=r[1];a.call(p,n,i,this),t=_p(this),d++}}set(a,p){a=`${a}`,p=`${p}`,wa(a),pd(p);let t=ke(this[B],a);this[B][t!==void 0?t:a]=[p]}append(a,p){a=`${a}`,p=`${p}`,wa(a),pd(p);let t=ke(this[B],a);t!==void 0?this[B][t].push(p):this[B][a]=[p]}has(a){return a=`${a}`,wa(a),ke(this[B],a)!==void 0}delete(a){a=`${a}`,wa(a);let p=ke(this[B],a);p!==void 0&&delete this[B][p]}raw(){return this[B]}keys(){return fp(this,"key")}values(){return fp(this,"value")}[Symbol.iterator](){return fp(this,"key+value")}};_1.prototype.entries=_1.prototype[Symbol.iterator];Object.defineProperty(_1.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(_1.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});function _p(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key+value";return Object.keys(e[B]).sort().map(a==="key"?function(t){return t.toLowerCase()}:a==="value"?function(t){return e[B][t].join(", ")}:function(t){return[t.toLowerCase(),e[B][t].join(", ")]})}var bp=Symbol("internal");function fp(e,a){let p=Object.create(yp);return p[bp]={target:e,kind:a,index:0},p}var yp=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==yp)throw new TypeError("Value of `this` is not a HeadersIterator");var e=this[bp];let a=e.target,p=e.kind,t=e.index,d=_p(a,p),r=d.length;return t>=r?{value:void 0,done:!0}:(this[bp].index=t+1,{value:d[t],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(yp,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});function gs(e){let a=Object.assign({__proto__:null},e[B]),p=ke(e[B],"Host");return p!==void 0&&(a[p]=a[p][0]),a}function ws(e){let a=new _1;for(let p of Object.keys(e))if(!md.test(p))if(Array.isArray(e[p]))for(let t of e[p])wp.test(t)||(a[B][p]===void 0?a[B][p]=[t]:a[B][p].push(t));else wp.test(e[p])||(a[B][p]=[e[p]]);return a}var W1=Symbol("Response internals"),_s=dd.STATUS_CODES,w1=class e{constructor(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Z.call(this,a,p);let t=p.status||200,d=new _1(p.headers);if(a!=null&&!d.has("Content-Type")){let r=nd(a);r&&d.append("Content-Type",r)}this[W1]={url:p.url,status:t,statusText:p.statusText||_s[t],headers:d,counter:p.counter}}get url(){return this[W1].url||""}get status(){return this[W1].status}get ok(){return this[W1].status>=200&&this[W1].status<300}get redirected(){return this[W1].counter>0}get statusText(){return this[W1].statusText}get headers(){return this[W1].headers}clone(){return new e(sd(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}};Z.mixIn(w1.prototype);Object.defineProperties(w1.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});Object.defineProperty(w1.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});var B1=Symbol("Request internals"),bs=d2.URL||rd.URL,ys=d2.parse,Ss=d2.format;function hp(e){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)&&(e=new bs(e).toString()),ys(e)}var Ns="destroy"in N1.Readable.prototype;function t2(e){return typeof e=="object"&&typeof e[B1]=="object"}function Ts(e){let a=e&&typeof e=="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}var X1=class e{constructor(a){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t;t2(a)?t=hp(a.url):(a&&a.href?t=hp(a.href):t=hp(`${a}`),a={});let d=p.method||a.method||"GET";if(d=d.toUpperCase(),(p.body!=null||t2(a)&&a.body!==null)&&(d==="GET"||d==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let r=p.body!=null?p.body:t2(a)&&a.body!==null?sd(a):null;Z.call(this,r,{timeout:p.timeout||a.timeout||0,size:p.size||a.size||0});let i=new _1(p.headers||a.headers||{});if(r!=null&&!i.has("Content-Type")){let s=nd(r);s&&i.append("Content-Type",s)}let n=t2(a)?a.signal:null;if("signal"in p&&(n=p.signal),n!=null&&!Ts(n))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[B1]={method:d,redirect:p.redirect||a.redirect||"follow",headers:i,parsedURL:t,signal:n},this.follow=p.follow!==void 0?p.follow:a.follow!==void 0?a.follow:20,this.compress=p.compress!==void 0?p.compress:a.compress!==void 0?a.compress:!0,this.counter=p.counter||a.counter||0,this.agent=p.agent||a.agent}get method(){return this[B1].method}get url(){return Ss(this[B1].parsedURL)}get headers(){return this[B1].headers}get redirect(){return this[B1].redirect}get signal(){return this[B1].signal}clone(){return new e(this)}};Z.mixIn(X1.prototype);Object.defineProperty(X1.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(X1.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}});function xs(e){let a=e[B1].parsedURL,p=new _1(e[B1].headers);if(p.has("Accept")||p.set("Accept","*/*"),!a.protocol||!a.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(a.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(e.signal&&e.body instanceof N1.Readable&&!Ns)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let t=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)&&(t="0"),e.body!=null){let r=ld(e);typeof r=="number"&&(t=String(r))}t&&p.set("Content-Length",t),p.has("User-Agent")||p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),e.compress&&!p.has("Accept-Encoding")&&p.set("Accept-Encoding","gzip,deflate");let d=e.agent;return typeof d=="function"&&(d=d(a)),Object.assign({},a,{method:e.method,headers:gs(p),agent:d})}function Oe(e){Error.call(this,e),this.type="aborted",this.message=e,Error.captureStackTrace(this,this.constructor)}Oe.prototype=Object.create(Error.prototype);Oe.prototype.constructor=Oe;Oe.prototype.name="AbortError";var ba=d2.URL||rd.URL,td=N1.PassThrough,Ds=function(a,p){let t=new ba(p).hostname,d=new ba(a).hostname;return t===d||t[t.length-d.length-1]==="."&&t.endsWith(d)},Cs=function(a,p){let t=new ba(p).protocol,d=new ba(a).protocol;return t===d};function Y1(e,a){if(!Y1.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return Z.Promise=Y1.Promise,new Y1.Promise(function(p,t){let d=new X1(e,a),r=xs(d),i=(r.protocol==="https:"?cs:dd).request,n=d.signal,s=null,l=function(){let h=new Oe("The user aborted a request.");t(h),d.body&&d.body instanceof N1.Readable&&vp(d.body,h),!(!s||!s.body)&&s.body.emit("error",h)};if(n&&n.aborted){l();return}let o=function(){l(),v()},m=i(r),c;n&&n.addEventListener("abort",o);function v(){m.abort(),n&&n.removeEventListener("abort",o),clearTimeout(c)}d.timeout&&m.once("socket",function(f){c=setTimeout(function(){t(new Q(`network timeout at: ${d.url}`,"request-timeout")),v()},d.timeout)}),m.on("error",function(f){t(new Q(`request to ${d.url} failed, reason: ${f.message}`,"system",f)),s&&s.body&&vp(s.body,f),v()}),As(m,function(f){n&&n.aborted||s&&s.body&&vp(s.body,f)}),parseInt(process.version.substring(1))<14&&m.on("socket",function(f){f.addListener("close",function(h){let g=f.listenerCount("data")>0;if(s&&g&&!h&&!(n&&n.aborted)){let _=new Error("Premature close");_.code="ERR_STREAM_PREMATURE_CLOSE",s.body.emit("error",_)}})}),m.on("response",function(f){clearTimeout(c);let h=ws(f.headers);if(Y1.isRedirect(f.statusCode)){let y=h.get("Location"),N=null;try{N=y===null?null:new ba(y,d.url).toString()}catch{if(d.redirect!=="manual"){t(new Q(`uri requested responds with an invalid redirect URL: ${y}`,"invalid-redirect")),v();return}}switch(d.redirect){case"error":t(new Q(`uri requested responds with a redirect, redirect mode is set to error: ${d.url}`,"no-redirect")),v();return;case"manual":if(N!==null)try{h.set("Location",N)}catch(R){t(R)}break;case"follow":if(N===null)break;if(d.counter>=d.follow){t(new Q(`maximum redirect reached at: ${d.url}`,"max-redirect")),v();return}let D={headers:new _1(d.headers),follow:d.follow,counter:d.counter+1,agent:d.agent,compress:d.compress,method:d.method,body:d.body,signal:d.signal,timeout:d.timeout,size:d.size};if(!Ds(d.url,N)||!Cs(d.url,N))for(let R of["authorization","www-authenticate","cookie","cookie2"])D.headers.delete(R);if(f.statusCode!==303&&d.body&&ld(d)===null){t(new Q("Cannot follow redirect with body being a readable stream","unsupported-redirect")),v();return}(f.statusCode===303||(f.statusCode===301||f.statusCode===302)&&d.method==="POST")&&(D.method="GET",D.body=void 0,D.headers.delete("content-length")),p(Y1(new X1(N,D))),v();return}}f.once("end",function(){n&&n.removeEventListener("abort",o)});let g=f.pipe(new td),_={url:d.url,status:f.statusCode,statusText:f.statusMessage,headers:h,size:d.size,timeout:d.timeout,counter:d.counter},w=h.get("Content-Encoding");if(!d.compress||d.method==="HEAD"||w===null||f.statusCode===204||f.statusCode===304){s=new w1(g,_),p(s);return}let b={flush:oe.Z_SYNC_FLUSH,finishFlush:oe.Z_SYNC_FLUSH};if(w=="gzip"||w=="x-gzip"){g=g.pipe(oe.createGunzip(b)),s=new w1(g,_),p(s);return}if(w=="deflate"||w=="x-deflate"){let y=f.pipe(new td);y.once("data",function(N){(N[0]&15)===8?g=g.pipe(oe.createInflate()):g=g.pipe(oe.createInflateRaw()),s=new w1(g,_),p(s)}),y.on("end",function(){s||(s=new w1(g,_),p(s))});return}if(w=="br"&&typeof oe.createBrotliDecompress=="function"){g=g.pipe(oe.createBrotliDecompress()),s=new w1(g,_),p(s);return}s=new w1(g,_),p(s)}),vs(m,d)})}function As(e,a){let p;e.on("socket",function(t){p=t}),e.on("response",function(t){let d=t.headers;d["transfer-encoding"]==="chunked"&&!d["content-length"]&&t.once("close",function(r){if(p&&p.listenerCount("data")>0&&!r){let n=new Error("Premature close");n.code="ERR_STREAM_PREMATURE_CLOSE",a(n)}})})}function vp(e,a){e.destroy?e.destroy(a):(e.emit("error",a),e.end())}Y1.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};Y1.Promise=global.Promise;od.exports=T1=Y1;Object.defineProperty(T1,"__esModule",{value:!0});T1.default=T1;T1.Headers=_1;T1.Request=X1;T1.Response=w1;T1.FetchError=Q;T1.AbortError=Oe});var i2=u((ue,cd)=>{var Sa=ud(),Vs=Sa.default||Sa,r2=function(e,a){return/^\/\//.test(e)&&(e="https:"+e),Vs.call(this,e,a)};r2.ponyfill=!0;cd.exports=ue=r2;ue.fetch=r2;ue.Headers=Sa.Headers;ue.Request=Sa.Request;ue.Response=Sa.Response;ue.default=r2});var Sp=u(s2=>{"use strict";Object.defineProperty(s2,"__esModule",{value:!0});s2.isJSON=void 0;function Es(e){if(e){let a=Ms(e);if(!a)return!1;if(a.subtype==="json"||a.suffix==="json"||a.suffix&&/\bjson\b/i.test(a.suffix)||a.subtype&&/\bjson\b/i.test(a.subtype))return!0}return!1}s2.isJSON=Es;var Ps=/^([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126});?$/;function Ms(e){let a=e.indexOf(";"),p=a!==-1?e.slice(0,a).trim():e.trim(),t=Ps.exec(p.toLowerCase().toLowerCase());if(!t)return;let d=t[1],r=t[2],i,n=r.lastIndexOf("+");return n!==-1&&(i=r.substring(n+1),r=r.substring(0,n)),{type:d,subtype:r,suffix:i}}});var gd=u(n2=>{"use strict";Object.defineProperty(n2,"__esModule",{value:!0});n2.useFetch=void 0;var qe=require("react"),ks=fa(),fd=I1(),hd=i2(),Os=Sp(),vd=le();async function Rs(e){if(!e.ok)throw new Error(e.statusText);let a=e.headers.get("content-type");return a&&(0,Os.isJSON)(a)?await e.json():await e.text()}function qs(e){return{data:e,hasMore:!1}}function Ls(e,a){let{parseResponse:p,mapResult:t,initialData:d,execute:r,keepPreviousData:i,onError:n,onData:s,onWillExecute:l,failureToastOptions:o,...m}=a||{},c={initialData:d,execute:r,keepPreviousData:i,onError:n,onData:s,onWillExecute:l,failureToastOptions:o},v=(0,fd.useLatest)(p||Rs),f=(0,fd.useLatest)(t||qs),h=(0,qe.useRef)(),g=(0,qe.useRef)(),_=typeof e=="function"?e({page:0}):void 0;(!h.current||typeof g.current>"u"||g.current!==_)&&(h.current=e),g.current=_;let w=(0,qe.useRef)(),b=(0,qe.useCallback)((D,R)=>async V=>{let X=await(0,hd.fetch)(D(V),{signal:w.current?.signal,...R}),K=await v.current(X);return f.current?.(K)},[v,f]),y=(0,qe.useCallback)(async(D,R)=>{let V=await(0,hd.fetch)(D,{signal:w.current?.signal,...R}),X=await v.current(V);return f.current(X)?.data},[v,f]),N=(0,qe.useMemo)(()=>g.current?b:y,[g,y,b]);return(0,ks.useCachedPromise)(N,[h.current,m],{...c,internal_cacheKeySuffix:g.current+(0,vd.hash)(f.current)+(0,vd.hash)(v.current),abortable:w})}n2.useFetch=Ls});var wd=u(ce=>{"use strict";Object.defineProperty(ce,"__esModule",{value:!0});ce.signals=void 0;ce.signals=[];ce.signals.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&ce.signals.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&ce.signals.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});var _d=u(V1=>{"use strict";var l2;Object.defineProperty(V1,"__esModule",{value:!0});V1.unload=V1.load=V1.onExit=V1.signals=void 0;var m2=wd();Object.defineProperty(V1,"signals",{enumerable:!0,get:function(){return m2.signals}});var o2=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",Np=Symbol.for("signal-exit emitter"),Tp=globalThis,Is=Object.defineProperty.bind(Object),xp=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Tp[Np])return Tp[Np];Is(Tp,Np,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(a,p){this.listeners[a].push(p)}removeListener(a,p){let t=this.listeners[a],d=t.indexOf(p);d!==-1&&(d===0&&t.length===1?t.length=0:t.splice(d,1))}emit(a,p,t){if(this.emitted[a])return!1;this.emitted[a]=!0;let d=!1;for(let r of this.listeners[a])d=r(p,t)===!0||d;return a==="exit"&&(d=this.emit("afterExit",p,t)||d),d}},u2=class{},Fs=e=>({onExit(a,p){return e.onExit(a,p)},load(){return e.load()},unload(){return e.unload()}}),Dp=class extends u2{onExit(){return()=>{}}load(){}unload(){}},Cp=class extends u2{#i=Ap.platform==="win32"?"SIGINT":"SIGHUP";#a=new xp;#e;#d;#r;#t={};#p=!1;constructor(a){super(),this.#e=a,this.#t={};for(let p of m2.signals)this.#t[p]=()=>{let t=this.#e.listeners(p),{count:d}=this.#a,r=a;if(typeof r.__signal_exit_emitter__=="object"&&typeof r.__signal_exit_emitter__.count=="number"&&(d+=r.__signal_exit_emitter__.count),t.length===d){this.unload();let i=this.#a.emit("exit",null,p),n=p==="SIGHUP"?this.#i:p;i||a.kill(a.pid,n)}};this.#r=a.reallyExit,this.#d=a.emit}onExit(a,p){if(!o2(this.#e))return()=>{};this.#p===!1&&this.load();let t=p?.alwaysLast?"afterExit":"exit";return this.#a.on(t,a),()=>{this.#a.removeListener(t,a),this.#a.listeners.exit.length===0&&this.#a.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#p){this.#p=!0,this.#a.count+=1;for(let a of m2.signals)try{let p=this.#t[a];p&&this.#e.on(a,p)}catch{}this.#e.emit=(a,...p)=>this.#n(a,...p),this.#e.reallyExit=a=>this.#s(a)}}unload(){this.#p&&(this.#p=!1,m2.signals.forEach(a=>{let p=this.#t[a];if(!p)throw new Error("Listener not defined for signal: "+a);try{this.#e.removeListener(a,p)}catch{}}),this.#e.emit=this.#d,this.#e.reallyExit=this.#r,this.#a.count-=1)}#s(a){return o2(this.#e)?(this.#e.exitCode=a||0,this.#a.emit("exit",this.#e.exitCode,null),this.#r.call(this.#e,this.#e.exitCode)):0}#n(a,...p){let t=this.#d;if(a==="exit"&&o2(this.#e)){typeof p[0]=="number"&&(this.#e.exitCode=p[0]);let d=t.call(this.#e,a,...p);return this.#a.emit("exit",this.#e.exitCode,null),d}else return t.call(this.#e,a,...p)}},Ap=globalThis.process;l2=Fs(o2(Ap)?new Cp(Ap):new Dp),V1.onExit=l2.onExit,V1.load=l2.load,V1.unload=l2.unload});var c2=u(b1=>{"use strict";var Bs=b1&&b1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(b1,"__esModule",{value:!0});b1.defaultParsing=b1.handleOutput=b1.getSpawnedResult=b1.getSpawnedPromise=void 0;var js=require("node:buffer"),Sd=Bs(require("node:stream")),zs=require("node:util"),Us=_d();function $s(e,{timeout:a}={}){let p=new Promise((n,s)=>{e.on("exit",(l,o)=>{n({exitCode:l,signal:o,timedOut:!1})}),e.on("error",l=>{s(l)}),e.stdin&&e.stdin.on("error",l=>{s(l)})});if(a===0||a===void 0)return p;let t,d=new Promise((n,s)=>{t=setTimeout(()=>{e.kill("SIGTERM"),s(Object.assign(new Error("Timed out"),{timedOut:!0,signal:"SIGTERM"}))},a)}),r=p.finally(()=>{clearTimeout(t)}),i=(0,Us.onExit)(()=>{e.kill()});return Promise.race([d,r]).finally(()=>i())}b1.getSpawnedPromise=$s;var Vp=class extends Error{constructor(){super("The output is too big"),this.name="MaxBufferError"}},Hs=(0,zs.promisify)(Sd.default.pipeline);function Gs(e){let{encoding:a}=e,p=a==="buffer",t=new Sd.default.PassThrough({objectMode:!1});a&&a!=="buffer"&&t.setEncoding(a);let d=0,r=[];return t.on("data",i=>{r.push(i),d+=i.length}),t.getBufferedValue=()=>p?Buffer.concat(r,d):r.join(""),t.getBufferedLength=()=>d,t}async function bd(e,a){let p=Gs(a);return await new Promise((t,d)=>{let r=i=>{i&&p.getBufferedLength()<=js.constants.MAX_LENGTH&&(i.bufferedData=p.getBufferedValue()),d(i)};(async()=>{try{await Hs(e,p),t()}catch(i){r(i)}})(),p.on("data",()=>{p.getBufferedLength()>1e3*1e3*80&&r(new Vp)})}),p.getBufferedValue()}async function yd(e,a){e.destroy();try{return await a}catch(p){return p.bufferedData}}async function Ks({stdout:e,stderr:a},{encoding:p},t){let d=bd(e,{encoding:p}),r=bd(a,{encoding:p});try{return await Promise.all([t,d,r])}catch(i){return Promise.all([{error:i,exitCode:null,signal:i.signal,timedOut:i.timedOut||!1},yd(e,d),yd(a,r)])}}b1.getSpawnedResult=Ks;function Js(e){let a=typeof e=="string"?` +`:10,p=typeof e=="string"?"\r":13;return e[e.length-1]===a&&(e=e.slice(0,-1)),e[e.length-1]===p&&(e=e.slice(0,-1)),e}function Zs(e,a){return e.stripFinalNewline?Js(a):a}b1.handleOutput=Zs;var Ws=({timedOut:e,timeout:a,signal:p,exitCode:t})=>e?`timed out after ${a} milliseconds`:p!=null?`was killed with ${p}`:t!=null?`failed with exit code ${t}`:"failed",Ys=({stdout:e,stderr:a,error:p,signal:t,exitCode:d,command:r,timedOut:i,options:n,parentError:s})=>{let o=`Command ${Ws({timedOut:i,timeout:n?.timeout,signal:t,exitCode:d})}: ${r}`,m=p?`${o} +${p.message}`:o,c=[m,a,e].filter(Boolean).join(` +`);return p?p.originalMessage=p.message:p=s,p.message=c,p.shortMessage=m,p.command=r,p.exitCode=d,p.signal=t,p.stdout=e,p.stderr=a,"bufferedData"in p&&delete p.bufferedData,p};function Xs({stdout:e,stderr:a,error:p,exitCode:t,signal:d,timedOut:r,command:i,options:n,parentError:s}){if(p||t!==0||d!==null)throw Ys({error:p,exitCode:t,signal:d,stdout:e,stderr:a,command:i,timedOut:r,options:n,parentError:s});return e}b1.defaultParsing=Xs});var Td=u(Le=>{"use strict";var Qs=Le&&Le.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Le,"__esModule",{value:!0});Le.useExec=void 0;var e7=Qs(require("node:child_process")),Nd=require("react"),a7=fa(),p7=I1(),Na=c2(),t7=/ +/g;function d7(e,a){if(a)return[e,...a];let p=[];for(let t of e.trim().split(t7)){let d=p[p.length-1];d&&d.endsWith("\\")?p[p.length-1]=`${d.slice(0,-1)} ${t}`:p.push(t)}return p}function r7(e,a,p){let{parseOutput:t,input:d,onData:r,onWillExecute:i,initialData:n,execute:s,keepPreviousData:l,onError:o,failureToastOptions:m,...c}=Array.isArray(a)?p||{}:a||{},v={initialData:n,execute:s,keepPreviousData:l,onError:o,onData:r,onWillExecute:i,failureToastOptions:m},f=(0,Nd.useRef)(),h=(0,p7.useLatest)(t||Na.defaultParsing),g=(0,Nd.useCallback)(async(_,w,b,y)=>{let[N,...D]=d7(_,w),R=[N,...D].join(" "),V={stripFinalNewline:!0,...b,timeout:b?.timeout||1e4,signal:f.current?.signal,encoding:b?.encoding===null?"buffer":b?.encoding||"utf8",env:{PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",...process.env,...b?.env}},X=e7.default.spawn(N,D,V),K=(0,Na.getSpawnedPromise)(X,V);y&&X.stdin.end(y);let[{error:M,exitCode:m1,signal:v1,timedOut:C},a1,r1]=await(0,Na.getSpawnedResult)(X,V,K),xe=(0,Na.handleOutput)(V,a1),ap=(0,Na.handleOutput)(V,r1);return h.current({stdout:xe,stderr:ap,error:M,exitCode:m1,signal:v1,timedOut:C,command:R,options:V,parentError:new Error})},[h]);return(0,a7.useCachedPromise)(g,[e,Array.isArray(a)?a:[],c,d],{...v,abortable:f})}Le.useExec=r7});var Mp=u((Qw,Ad)=>{"use strict";var{Readable:Yw,Writable:Xw,Duplex:i7,Transform:Cd}=require("stream"),s7=Symbol.for("object-stream.none"),Ep=Symbol.for("object-stream.final"),Pp=Symbol.for("object-stream.many"),n7=e=>({[Ep]:e}),l7=e=>({[Pp]:e}),m7=e=>e&&typeof e=="object"&&Ep in e,o7=e=>e&&typeof e=="object"&&Pp in e,u7=e=>e[Ep],c7=e=>e[Pp],f7=async(e,a)=>{for(;;){let p=e.next();if(p&&typeof p.then=="function"&&(p=await p),p.done)break;let t=p.value;t&&typeof t.then=="function"&&(t=await t),j.sanitize(t,a)}},h7=e=>new Cd({writableObjectMode:!0,readableObjectMode:!0,transform(a,p,t){try{let d=e.call(this,a,p);if(d&&typeof d.then=="function"){d.then(r=>(j.sanitize(r,this),t(null)),r=>t(r));return}if(d&&typeof d.next=="function"){f7(d,this).then(()=>t(null),r=>t(r));return}j.sanitize(d,this),t(null)}catch(d){t(d)}}}),v7=e=>new Cd({writableObjectMode:!0,readableObjectMode:!0,transform(a,p,t){try{let d=a;for(let r=0;r<e.length;++r){let i=e[r].call(this,d,p);if(i===j.none){t(null);return}if(j.isFinal(i)){d=j.getFinalValue(i);break}d=i}j.sanitize(d,this),t(null)}catch(d){t(d)}}}),xd=e=>e&&typeof e.pipe=="function"&&typeof e.on=="function"&&(!e._writableState||(typeof e._readableState=="object"?e._readableState.readable:null)!==!1)&&(!e._writableState||e._readableState),Dd=e=>e&&typeof e.write=="function"&&typeof e.on=="function"&&(!e._readableState||(typeof e._writableState=="object"?e._writableState.writable:null)!==!1),g7=e=>e&&typeof e.pipe=="function"&&e._readableState&&typeof e.on=="function"&&typeof e.write=="function",j=class e extends i7{constructor(a,p){if(super(p||{writableObjectMode:!0,readableObjectMode:!0}),!(a instanceof Array)||!a.length)throw Error("Chain's argument should be a non-empty array.");this.streams=a.filter(t=>t).map((t,d,r)=>{if(typeof t=="function"||t instanceof Array)return e.convertToTransform(t);if(g7(t)||!d&&xd(t)||d===r.length-1&&Dd(t))return t;throw Error("Arguments should be functions, arrays or streams.")}).filter(t=>t),this.input=this.streams[0],this.output=this.streams.reduce((t,d)=>t&&t.pipe(d)||d),Dd(this.input)||(this._write=(t,d,r)=>r(null),this._final=t=>t(null),this.input.on("end",()=>this.end())),xd(this.output)?(this.output.on("data",t=>!this.push(t)&&this.output.pause()),this.output.on("end",()=>this.push(null))):(this._read=()=>{},this.resume(),this.output.on("finish",()=>this.push(null))),(!p||!p.skipEvents)&&this.streams.forEach(t=>t.on("error",d=>this.emit("error",d)))}_write(a,p,t){let d=null;try{this.input.write(a,p,r=>t(r||d))}catch(r){d=r}}_final(a){let p=null;try{this.input.end(null,null,t=>a(t||p))}catch(t){p=t}}_read(){this.output.resume()}static make(a,p){return new e(a,p)}static sanitize(a,p){e.isFinal(a)?a=e.getFinalValue(a):e.isMany(a)&&(a=e.getManyValues(a)),a!=null&&a!==e.none&&(a instanceof Array?a.forEach(t=>t!=null&&p.push(t)):p.push(a))}static convertToTransform(a){return typeof a=="function"?h7(a):a instanceof Array&&a.length?v7(a):null}};j.none=s7;j.final=n7;j.isFinal=m7;j.getFinalValue=u7;j.many=l7;j.isMany=o7;j.getManyValues=c7;j.chain=j.make;j.make.Constructor=j;Ad.exports=j});var Ed=u((e_,Vd)=>{"use strict";var{Transform:w7}=require("stream"),{StringDecoder:_7}=require("string_decoder"),kp=class extends w7{constructor(a){super(Object.assign({},a,{writableObjectMode:!1})),this._buffer=""}_transform(a,p,t){typeof a=="string"?this._transform=this._transformString:(this._stringDecoder=new _7,this._transform=this._transformBuffer),this._transform(a,p,t)}_transformBuffer(a,p,t){this._buffer+=this._stringDecoder.write(a),this._processBuffer(t)}_transformString(a,p,t){this._buffer+=a.toString(),this._processBuffer(t)}_processBuffer(a){this._buffer&&(this.push(this._buffer,"utf8"),this._buffer=""),a(null)}_flushInput(){this._stringDecoder&&(this._buffer+=this._stringDecoder.end())}_flush(a){this._flushInput(),this._processBuffer(a)}};Vd.exports=kp});var Op=u((a_,Pd)=>{"use strict";var b7=Ed(),x={value1:/^(?:[\"\{\[\]\-\d]|true\b|false\b|null\b|\s{1,256})/,string:/^(?:[^\"\\]{1,256}|\\[bfnrt\"\\\/]|\\u[\da-fA-F]{4}|\")/,key1:/^(?:[\"\}]|\s{1,256})/,colon:/^(?:\:|\s{1,256})/,comma:/^(?:[\,\]\}]|\s{1,256})/,ws:/^\s{1,256}/,numberStart:/^\d/,numberDigit:/^\d{0,256}/,numberFraction:/^[\.eE]/,numberExponent:/^[eE]/,numberExpSign:/^[-+]/},y7=16,W=!0;try{new RegExp(".","y"),W=!1}catch{}!W&&Object.keys(x).forEach(e=>{let a=x[e].source.slice(1);a.slice(0,3)==="(?:"&&a.slice(-1)===")"&&(a=a.slice(3,-1)),x[e]=new RegExp(a,"y")});x.numberFracStart=x.numberExpStart=x.numberStart;x.numberFracDigit=x.numberExpDigit=x.numberDigit;var S7={true:!0,false:!1,null:null},E1={object:"objectStop",array:"arrayStop","":"done"},N7=e=>String.fromCharCode(parseInt(e.slice(2),16)),T7={b:"\b",f:"\f",n:` +`,r:"\r",t:" ",'"':'"',"\\":"\\","/":"/"},fe=class e extends b7{static make(a){return new e(a)}constructor(a){super(Object.assign({},a,{readableObjectMode:!0})),this._packKeys=this._packStrings=this._packNumbers=this._streamKeys=this._streamStrings=this._streamNumbers=!0,a&&("packValues"in a&&(this._packKeys=this._packStrings=this._packNumbers=a.packValues),"packKeys"in a&&(this._packKeys=a.packKeys),"packStrings"in a&&(this._packStrings=a.packStrings),"packNumbers"in a&&(this._packNumbers=a.packNumbers),"streamValues"in a&&(this._streamKeys=this._streamStrings=this._streamNumbers=a.streamValues),"streamKeys"in a&&(this._streamKeys=a.streamKeys),"streamStrings"in a&&(this._streamStrings=a.streamStrings),"streamNumbers"in a&&(this._streamNumbers=a.streamNumbers),this._jsonStreaming=a.jsonStreaming),!this._packKeys&&(this._streamKeys=!0),!this._packStrings&&(this._streamStrings=!0),!this._packNumbers&&(this._streamNumbers=!0),this._done=!1,this._expect=this._jsonStreaming?"done":"value",this._stack=[],this._parent="",this._open_number=!1,this._accumulator=""}_flush(a){this._done=!0,super._flush(p=>{if(p)return a(p);this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),a(null)})}_processBuffer(a){let p,t,d=0;e:for(;;)switch(this._expect){case"value1":case"value":if(x.value1.lastIndex=d,p=x.value1.exec(this._buffer),!p){if(this._done||d+y7<this._buffer.length)return d<this._buffer.length?a(new Error("Parser cannot parse input: expected a value")):a(new Error("Parser has expected a value"));break e}switch(t=p[0],t){case'"':this._streamStrings&&this.push({name:"startString"}),this._expect="string";break;case"{":this.push({name:"startObject"}),this._stack.push(this._parent),this._parent="object",this._expect="key1";break;case"[":this.push({name:"startArray"}),this._stack.push(this._parent),this._parent="array",this._expect="value1";break;case"]":if(this._expect!=="value1")return a(new Error("Parser cannot parse input: unexpected token ']'"));this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),this.push({name:"endArray"}),this._parent=this._stack.pop(),this._expect=E1[this._parent];break;case"-":this._open_number=!0,this._streamNumbers&&(this.push({name:"startNumber"}),this.push({name:"numberChunk",value:"-"})),this._packNumbers&&(this._accumulator="-"),this._expect="numberStart";break;case"0":this._open_number=!0,this._streamNumbers&&(this.push({name:"startNumber"}),this.push({name:"numberChunk",value:"0"})),this._packNumbers&&(this._accumulator="0"),this._expect="numberFraction";break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":this._open_number=!0,this._streamNumbers&&(this.push({name:"startNumber"}),this.push({name:"numberChunk",value:t})),this._packNumbers&&(this._accumulator=t),this._expect="numberDigit";break;case"true":case"false":case"null":if(this._buffer.length-d===t.length&&!this._done)break e;this.push({name:t+"Value",value:S7[t]}),this._expect=E1[this._parent];break}W?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"keyVal":case"string":if(x.string.lastIndex=d,p=x.string.exec(this._buffer),!p){if(d<this._buffer.length&&(this._done||this._buffer.length-d>=6))return a(new Error("Parser cannot parse input: escaped characters"));if(this._done)return a(new Error("Parser has expected a string value"));break e}if(t=p[0],t==='"')this._expect==="keyVal"?(this._streamKeys&&this.push({name:"endKey"}),this._packKeys&&(this.push({name:"keyValue",value:this._accumulator}),this._accumulator=""),this._expect="colon"):(this._streamStrings&&this.push({name:"endString"}),this._packStrings&&(this.push({name:"stringValue",value:this._accumulator}),this._accumulator=""),this._expect=E1[this._parent]);else if(t.length>1&&t.charAt(0)==="\\"){let r=t.length==2?T7[t.charAt(1)]:N7(t);(this._expect==="keyVal"?this._streamKeys:this._streamStrings)&&this.push({name:"stringChunk",value:r}),(this._expect==="keyVal"?this._packKeys:this._packStrings)&&(this._accumulator+=r)}else(this._expect==="keyVal"?this._streamKeys:this._streamStrings)&&this.push({name:"stringChunk",value:t}),(this._expect==="keyVal"?this._packKeys:this._packStrings)&&(this._accumulator+=t);W?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"key1":case"key":if(x.key1.lastIndex=d,p=x.key1.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected an object key"));break e}if(t=p[0],t==='"')this._streamKeys&&this.push({name:"startKey"}),this._expect="keyVal";else if(t==="}"){if(this._expect!=="key1")return a(new Error("Parser cannot parse input: unexpected token '}'"));this.push({name:"endObject"}),this._parent=this._stack.pop(),this._expect=E1[this._parent]}W?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"colon":if(x.colon.lastIndex=d,p=x.colon.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected ':'"));break e}t=p[0],t===":"&&(this._expect="value"),W?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"arrayStop":case"objectStop":if(x.comma.lastIndex=d,p=x.comma.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected ','"));break e}if(this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),t=p[0],t===",")this._expect=this._expect==="arrayStop"?"value":"key";else if(t==="}"||t==="]"){if(t==="}"?this._expect==="arrayStop":this._expect!=="arrayStop")return a(new Error("Parser cannot parse input: expected '"+(this._expect==="arrayStop"?"]":"}")+"'"));this.push({name:t==="}"?"endObject":"endArray"}),this._parent=this._stack.pop(),this._expect=E1[this._parent]}W?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberStart":if(x.numberStart.lastIndex=d,p=x.numberStart.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected a starting digit"));break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect=t==="0"?"numberFraction":"numberDigit",W?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberDigit":if(x.numberDigit.lastIndex=d,p=x.numberDigit.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected a digit"));break e}if(t=p[0],t)this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),W?this._buffer=this._buffer.slice(t.length):d+=t.length;else{if(d<this._buffer.length){this._expect="numberFraction";break}if(this._done){this._expect=E1[this._parent];break}break e}break;case"numberFraction":if(x.numberFraction.lastIndex=d,p=x.numberFraction.exec(this._buffer),!p){if(d<this._buffer.length||this._done){this._expect=E1[this._parent];break}break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect=t==="."?"numberFracStart":"numberExpSign",W?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberFracStart":if(x.numberFracStart.lastIndex=d,p=x.numberFracStart.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected a fractional part of a number"));break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect="numberFracDigit",W?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberFracDigit":if(x.numberFracDigit.lastIndex=d,p=x.numberFracDigit.exec(this._buffer),t=p[0],t)this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),W?this._buffer=this._buffer.slice(t.length):d+=t.length;else{if(d<this._buffer.length){this._expect="numberExponent";break}if(this._done){this._expect=E1[this._parent];break}break e}break;case"numberExponent":if(x.numberExponent.lastIndex=d,p=x.numberExponent.exec(this._buffer),!p){if(d<this._buffer.length){this._expect=E1[this._parent];break}if(this._done){this._expect="done";break}break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect="numberExpSign",W?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberExpSign":if(x.numberExpSign.lastIndex=d,p=x.numberExpSign.exec(this._buffer),!p){if(d<this._buffer.length){this._expect="numberExpStart";break}if(this._done)return a(new Error("Parser has expected an exponent value of a number"));break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect="numberExpStart",W?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberExpStart":if(x.numberExpStart.lastIndex=d,p=x.numberExpStart.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected an exponent part of a number"));break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect="numberExpDigit",W?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberExpDigit":if(x.numberExpDigit.lastIndex=d,p=x.numberExpDigit.exec(this._buffer),t=p[0],t)this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),W?this._buffer=this._buffer.slice(t.length):d+=t.length;else{if(d<this._buffer.length||this._done){this._expect=E1[this._parent];break}break e}break;case"done":if(x.ws.lastIndex=d,p=x.ws.exec(this._buffer),!p){if(d<this._buffer.length){if(this._jsonStreaming){this._expect="value";break}return a(new Error("Parser cannot parse input: unexpected characters"))}break e}t=p[0],this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),W?this._buffer=this._buffer.slice(t.length):d+=t.length;break}!W&&(this._buffer=this._buffer.slice(d)),a(null)}};fe.parser=fe.make;fe.make.Constructor=fe;Pd.exports=fe});var kd=u((p_,Md)=>{"use strict";var x7=e=>e.on("data",a=>e.emit(a.name,a.value));Md.exports=x7});var Rd=u((t_,Od)=>{"use strict";var Rp=Op(),D7=kd(),qp=e=>D7(new Rp(e));qp.Parser=Rp;qp.parser=Rp.parser;Od.exports=qp});var Ld=u((d_,qd)=>{"use strict";var{Transform:C7}=require("stream"),P1=class e extends C7{static stringFilter(a,p){return t=>{let d=t.join(p);return d.length===a.length&&d===a||d.length>a.length&&d.substr(0,a.length)===a&&d.substr(a.length,p.length)===p}}static regExpFilter(a,p){return t=>a.test(t.join(p))}static arrayReplacement(a){return()=>a}constructor(a){super(Object.assign({},a,{writableObjectMode:!0,readableObjectMode:!0})),this._transform=this._check,this._stack=[];let p=a&&a.filter,t=a&&a.pathSeparator||".";typeof p=="string"?this._filter=e.stringFilter(p,t):typeof p=="function"?this._filter=p:p instanceof RegExp&&(this._filter=e.regExpFilter(p,t));let d=a&&a.replacement;typeof d=="function"?this._replacement=d:this._replacement=e.arrayReplacement(d||e.defaultReplacement),this._allowEmptyReplacement=a&&a.allowEmptyReplacement,this._streamKeys=!0,a&&("streamValues"in a&&(this._streamKeys=a.streamValues),"streamKeys"in a&&(this._streamKeys=a.streamKeys)),this._once=a&&a.once,this._previousToken=""}_check(a,p,t){switch(a.name){case"startObject":case"startArray":case"startString":case"startNumber":case"nullValue":case"trueValue":case"falseValue":typeof this._stack[this._stack.length-1]=="number"&&++this._stack[this._stack.length-1];break;case"keyValue":this._stack[this._stack.length-1]=a.value;break;case"numberValue":this._previousToken!=="endNumber"&&typeof this._stack[this._stack.length-1]=="number"&&++this._stack[this._stack.length-1];break;case"stringValue":this._previousToken!=="endString"&&typeof this._stack[this._stack.length-1]=="number"&&++this._stack[this._stack.length-1];break}if(this._previousToken=a.name,this._checkChunk(a))return t(null);switch(a.name){case"startObject":this._stack.push(null);break;case"startArray":this._stack.push(-1);break;case"endObject":case"endArray":this._stack.pop();break}t(null)}_passObject(a,p,t){switch(this.push(a),a.name){case"startObject":case"startArray":++this._depth;break;case"endObject":case"endArray":--this._depth;break}this._depth||(this._transform=this._once?this._skip:this._check),t(null)}_pass(a,p,t){this.push(a),t(null)}_skipObject(a,p,t){switch(a.name){case"startObject":case"startArray":++this._depth;break;case"endObject":case"endArray":--this._depth;break}this._depth||(this._transform=this._once?this._pass:this._check),t(null)}_skip(a,p,t){t(null)}};P1.defaultReplacement=[{name:"nullValue",value:null}];var Lp=(e,a)=>function(p,t,d){if(this._expected){let r=this._expected;if(this._expected="",this._transform=this._once?this._skip:this._check,r===p.name)this.push(p);else return this._transform(p,t,d)}else this.push(p),p.name===e&&(this._expected=a);d(null)};P1.prototype._passNumber=Lp("endNumber","numberValue");P1.prototype._passString=Lp("endString","stringValue");P1.prototype._passKey=Lp("endKey","keyValue");var Ip=(e,a)=>function(p,t,d){if(this._expected){let r=this._expected;if(this._expected="",this._transform=this._once?this._pass:this._check,r!==p.name)return this._transform(p,t,d)}else p.name===e&&(this._expected=a);d(null)};P1.prototype._skipNumber=Ip("endNumber","numberValue");P1.prototype._skipString=Ip("endString","stringValue");P1.prototype._skipKey=Ip("endKey","keyValue");qd.exports=P1});var Fp=u((r_,Id)=>{"use strict";var A7=Mp(),V7=Op(),E7=(e,a)=>new A7([new V7(a),e(a)],Object.assign({},a,{writableObjectMode:!1,readableObjectMode:!0}));Id.exports=E7});var Bd=u((i_,Fd)=>{"use strict";var P7=Ld(),M7=Fp(),he=class e extends P7{static make(a){return new e(a)}static withParser(a){return M7(e.make,a)}_checkChunk(a){switch(a.name){case"startObject":case"startArray":if(this._filter(this._stack,a))return this.push(a),this._transform=this._passObject,this._depth=1,!0;break;case"startString":if(this._filter(this._stack,a))return this.push(a),this._transform=this._passString,!0;break;case"startNumber":if(this._filter(this._stack,a))return this.push(a),this._transform=this._passNumber,!0;break;case"nullValue":case"trueValue":case"falseValue":case"stringValue":case"numberValue":if(this._filter(this._stack,a))return this.push(a),this._transform=this._once?this._skip:this._check,!0;break}return!1}};he.pick=he.make;he.make.Constructor=he;Fd.exports=he});var Ud=u((s_,zd)=>{"use strict";var k7=require("events"),jd=e=>function(){this.done?this.done=!1:this.stack.push(this.current,this.key),this.current=new e,this.key=null},z1=class e extends k7{static connectTo(a,p){return new e(p).connectTo(a)}constructor(a){super(),this.stack=[],this.current=this.key=null,this.done=!0,a&&(this.reviver=typeof a.reviver=="function"&&a.reviver,this.reviver&&(this.stringValue=this._saveValue=this._saveValueWithReviver),a.numberAsString&&(this.numberValue=this.stringValue))}connectTo(a){return a.on("data",p=>{this[p.name]&&(this[p.name](p.value),this.done&&this.emit("done",this))}),this}get depth(){return(this.stack.length>>1)+(this.done?0:1)}get path(){let a=[];for(let p=0;p<this.stack.length;p+=2){let t=this.stack[p+1];a.push(t===null?this.stack[p].length:t)}return a}dropToLevel(a){if(a<this.depth)if(a){let p=a-1<<1;this.current=this.stack[p],this.key=this.stack[p+1],this.stack.splice(p)}else this.stack=[],this.current=this.key=null,this.done=!0;return this}consume(a){return this[a.name]&&this[a.name](a.value),this}keyValue(a){this.key=a}numberValue(a){this._saveValue(parseFloat(a))}nullValue(){this._saveValue(null)}trueValue(){this._saveValue(!0)}falseValue(){this._saveValue(!1)}endObject(){if(this.stack.length){let a=this.current;this.key=this.stack.pop(),this.current=this.stack.pop(),this._saveValue(a)}else this.done=!0}_saveValue(a){this.done?this.current=a:this.current instanceof Array?this.current.push(a):(this.current[this.key]=a,this.key=null)}_saveValueWithReviver(a){this.done?this.current=this.reviver("",a):this.current instanceof Array?(a=this.reviver(""+this.current.length,a),this.current.push(a),a===void 0&&delete this.current[this.current.length-1]):(a=this.reviver(this.key,a),a!==void 0&&(this.current[this.key]=a),this.key=null)}};z1.prototype.stringValue=z1.prototype._saveValue;z1.prototype.startObject=jd(Object);z1.prototype.startArray=jd(Array);z1.prototype.endArray=z1.prototype.endObject;zd.exports=z1});var Hd=u((n_,$d)=>{"use strict";var{Transform:O7}=require("stream"),R7=Ud(),Bp=class{constructor(a){this.depth=a}startObject(){++this.depth}endObject(){--this.depth}startArray(){++this.depth}endArray(){--this.depth}},jp=class extends O7{constructor(a){super(Object.assign({},a,{writableObjectMode:!0,readableObjectMode:!0})),a&&(this.objectFilter=a.objectFilter,this.includeUndecided=a.includeUndecided),typeof this.objectFilter!="function"&&(this._filter=this._transform),this._transform=this._wait||this._filter,this._assembler=new R7(a)}_transform(a,p,t){this._assembler[a.name]&&(this._assembler[a.name](a.value),this._assembler.depth===this._level&&this._push()),t(null)}_filter(a,p,t){if(this._assembler[a.name]){this._assembler[a.name](a.value);let d=this.objectFilter(this._assembler);if(d)return this._assembler.depth===this._level&&(this._push(),this._transform=this._filter),this._transform=this._accept,t(null);if(d===!1)return this._saved_assembler=this._assembler,this._assembler=new Bp(this._saved_assembler.depth),this._saved_assembler.dropToLevel(this._level),this._assembler.depth===this._level&&(this._assembler=this._saved_assembler,this._transform=this._filter),this._transform=this._reject,t(null);this._assembler.depth===this._level&&this._push(!this.includeUndecided)}t(null)}_accept(a,p,t){this._assembler[a.name]&&(this._assembler[a.name](a.value),this._assembler.depth===this._level&&(this._push(),this._transform=this._filter)),t(null)}_reject(a,p,t){this._assembler[a.name]&&(this._assembler[a.name](a.value),this._assembler.depth===this._level&&(this._assembler=this._saved_assembler,this._transform=this._filter)),t(null)}};$d.exports=jp});var Kd=u((l_,Gd)=>{"use strict";var q7=Hd(),L7=Fp(),ve=class e extends q7{static make(a){return new e(a)}static withParser(a){return L7(e.make,a)}constructor(a){super(a),this._level=1,this._counter=0}_wait(a,p,t){return a.name!=="startArray"?t(new Error("Top-level object should be an array.")):(this._transform=this._filter,this._transform(a,p,t))}_push(a){this._assembler.current.length&&(a?(++this._counter,this._assembler.current.pop()):this.push({key:this._counter++,value:this._assembler.current.pop()}))}};ve.streamArray=ve.make;ve.make.Constructor=ve;Gd.exports=ve});var Yd=u(Ie=>{"use strict";var h2=Ie&&Ie.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ie,"__esModule",{value:!0});Ie.useStreamJSON=void 0;var I7=require("@raycast/api"),Jd=h2(i2()),Da=require("node:fs"),zp=require("node:fs/promises"),f2=require("node:path"),Zd=require("node:stream/promises"),Ta=require("react"),F7=h2(Mp()),B7=Rd(),j7=h2(Bd()),z7=h2(Kd()),Wd=Sp(),U7=fa(),$7=le();async function xa(e,a,p){if(typeof e=="object"||e.startsWith("http://")||e.startsWith("https://"))return await H7(e,a,p);if(e.startsWith("file://"))return await G7((0,f2.normalize)(decodeURIComponent(new URL(e).pathname)),a,p?.signal?p.signal:void 0);throw new Error("Only HTTP(S) or file URLs are supported")}async function H7(e,a,p){let t=await(0,Jd.default)(e,p);if(!t.ok)throw new Error("Failed to fetch URL");if(!(0,Wd.isJSON)(t.headers.get("content-type")))throw new Error("URL does not return JSON");if(!t.body)throw new Error("Failed to retrieve expected JSON content: Response body is missing or inaccessible.");await(0,Zd.pipeline)(t.body,(0,Da.createWriteStream)(a),p?.signal?{signal:p.signal}:void 0)}async function G7(e,a,p){await(0,Zd.pipeline)((0,Da.createReadStream)(e),(0,Da.createWriteStream)(a),p?{signal:p}:void 0)}async function K7(e,a,p,t,d){let r=(0,f2.join)(a,p);try{await(0,zp.stat)(a)}catch{(0,Da.mkdirSync)(a,{recursive:!0}),await xa(e,r,d);return}if(t){await xa(e,r,d);return}let i;try{i=await(0,zp.stat)(r)}catch{await xa(e,r,d);return}if(typeof e=="object"||e.startsWith("http://")||e.startsWith("https://")){let n=await(0,Jd.default)(e,{...d,method:"HEAD"});if(!n.ok)throw new Error("Could not fetch URL");if(!(0,Wd.isJSON)(n.headers.get("content-type")))throw new Error("URL does not return JSON");let s=Date.parse(n.headers.get("last-modified")??"");if(i.size===0||Number.isNaN(s)||s>i.mtimeMs){await xa(e,r,d);return}}else if(e.startsWith("file://"))try{(await(0,zp.stat)((0,f2.normalize)(decodeURIComponent(new URL(e).pathname)))).mtimeMs>i.mtimeMs&&await xa(e,r,d)}catch{throw new Error("Source file could not be read")}else throw new Error("Only HTTP(S) or file URLs are supported")}async function*J7(e,a,p,t,d,r){let i=[],n=new F7.default([(0,Da.createReadStream)(e),t?j7.default.withParser({filter:t}):(0,B7.parser)(),new z7.default,s=>r?.(s.value)??s.value]);p?.addEventListener("abort",()=>{n.destroy()});try{for await(let s of n){if(p?.aborted)return[];(!d||d(s))&&i.push(s),i.length>=a&&(yield i,i=[])}}catch(s){throw n.destroy(),s}return i.length>0&&(yield i),[]}function Z7(e,a){let{initialData:p,execute:t,keepPreviousData:d,onError:r,onData:i,onWillExecute:n,failureToastOptions:s,dataPath:l,filter:o,transform:m,pageSize:c=20,...v}=a??{},f=(0,Ta.useRef)(),h=(0,Ta.useRef)(),g={initialData:p,execute:t,keepPreviousData:d,onError:r,onData:i,onWillExecute:n,failureToastOptions:s},_=(0,Ta.useRef)(null),w=(0,Ta.useRef)(null),b=(0,Ta.useRef)(!1);return(0,U7.useCachedPromise)((y,N,D,R,V,X)=>async({page:K})=>{let M=(0,$7.hash)(y)+".json",m1=I7.environment.supportPath;if(K===0){w.current?.abort(),w.current=new AbortController;let a1=(0,f2.join)(m1,M),r1=!!(f.current&&f.current!==y&&h.current&&h.current===a1);f.current=y,h.current=a1,await K7(y,m1,M,r1,{...D,signal:w.current?.signal}),_.current=J7(a1,N,w.current?.signal,R,V,X)}if(!_.current)return{hasMore:b.current,data:[]};let{value:v1,done:C}=await _.current.next();return b.current=!C,{hasMore:b.current,data:v1??[]}},[e,c,v,l,o,m],g)}Ie.useStreamJSON=Z7});var p6=u(Fe=>{"use strict";var Hp=Fe&&Fe.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.useSQL=void 0;var M1=require("react/jsx-runtime"),i1=require("@raycast/api"),W7=require("node:fs"),v2=require("node:fs/promises"),e6=Hp(require("node:os")),Xd=Hp(require("node:child_process")),Qd=Hp(require("node:path")),g2=require("react"),Y7=Ce(),X7=I1(),w2=c2(),Q7=ma(),en=le();function an(e,a,p){let{permissionPriming:t,...d}=p||{},[r,i]=(0,g2.useState)(),n=(0,X7.useLatest)(p||{}),s=(0,g2.useRef)(),l=(0,g2.useCallback)(m=>{console.error(m);let c=m instanceof Error&&m.message.includes("authorization denied")?new $p("You do not have permission to access the database."):m;pn(c)?i((0,M1.jsx)(tn,{priming:n.current.permissionPriming})):n.current.onError?n.current.onError(c):i1.environment.launchType!==i1.LaunchType.Background&&(0,Q7.showFailureToast)(c,{title:"Cannot query the data"})},[n]),o=(0,g2.useMemo)(()=>{if(!(0,W7.existsSync)(e))throw new Error("The database does not exist");let m;return async(c,v)=>{let f=s.current?.signal,h=Xd.default.spawn("sqlite3",["--json","--readonly",c,v],{signal:f}),g=(0,w2.getSpawnedPromise)(h),[{error:_,exitCode:w,signal:b},y,N]=await(0,w2.getSpawnedResult)(h,{encoding:"utf-8"},g);if(_2(f),N.match("(5)")||N.match("(14)")){if(!m){let V=Qd.default.join(e6.default.tmpdir(),"useSQL",(0,en.hash)(c));await(0,v2.mkdir)(V,{recursive:!0}),_2(f),m=Qd.default.join(V,"db.db"),await(0,v2.copyFile)(c,m),await(0,v2.writeFile)(m+"-shm",""),await(0,v2.writeFile)(m+"-wal",""),_2(f)}let D=Xd.default.spawn("sqlite3",["--json","--readonly","--vfs","unix-none",m,v],{signal:f}),R=(0,w2.getSpawnedPromise)(D);[{error:_,exitCode:w,signal:b},y,N]=await(0,w2.getSpawnedResult)(D,{encoding:"utf-8"},R),_2(f)}if(_||w!==0||b!==null)throw new Error(N);return JSON.parse(y.trim()||"[]")}},[e]);return{...(0,Y7.usePromise)(o,[e,a],{...d,onError:l}),permissionView:r}}Fe.useSQL=an;var $p=class extends Error{constructor(a){super(a),this.name="PermissionError"}};function pn(e){return e instanceof Error&&e.name==="PermissionError"}var a6=parseInt(e6.default.release().split(".")[0])>=22,Up=a6?"Settings":"Preferences";function tn(e){let a=a6?{title:"Open System Settings -> Privacy",target:"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"}:{title:"Open System Preferences -> Security",target:"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"};return i1.environment.commandMode==="menu-bar"?(0,M1.jsxs)(i1.MenuBarExtra,{icon:i1.Icon.Warning,title:i1.environment.commandName,children:[(0,M1.jsx)(i1.MenuBarExtra.Item,{title:"Raycast needs full disk access",tooltip:`You can revert this access in ${Up} whenever you want`}),e.priming?(0,M1.jsx)(i1.MenuBarExtra.Item,{title:e.priming,tooltip:`You can revert this access in ${Up} whenever you want`}):null,(0,M1.jsx)(i1.MenuBarExtra.Separator,{}),(0,M1.jsx)(i1.MenuBarExtra.Item,{title:a.title,onAction:()=>(0,i1.open)(a.target)})]}):(0,M1.jsx)(i1.List,{children:(0,M1.jsx)(i1.List.EmptyView,{icon:{source:{light:"https://raycast.com/uploads/extensions-utils-security-permissions-light.png",dark:"https://raycast.com/uploads/extensions-utils-security-permissions-dark.png"}},title:"Raycast needs full disk access.",description:`${e.priming?e.priming+` +`:""}You can revert this access in ${Up} whenever you want.`,actions:(0,M1.jsx)(i1.ActionPanel,{children:(0,M1.jsx)(i1.Action.Open,{...a})})})})}function _2(e){if(e?.aborted){let a=new Error("aborted");throw a.name="AbortError",a}}});var d6=u(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.useForm=Be.FormValidation=void 0;var U1=require("react"),t6=I1(),Kp;(function(e){e.Required="required"})(Kp||(Be.FormValidation=Kp={}));function Gp(e,a){if(e){if(typeof e=="function")return e(a);if(e===Kp.Required){let p=typeof a<"u"&&a!==null;if(p)switch(typeof a){case"string":p=a.length>0;break;case"object":Array.isArray(a)?p=a.length>0:a instanceof Date&&(p=a.getTime()>0);break;default:break}if(!p)return"The item is required"}}}function dn(e){let{onSubmit:a,validation:p,initialValues:t={}}=e,[d,r]=(0,U1.useState)(t),[i,n]=(0,U1.useState)({}),s=(0,U1.useRef)({}),l=(0,t6.useLatest)(p||{}),o=(0,t6.useLatest)(a),m=(0,U1.useCallback)(_=>{s.current[_]?.focus()},[s]),c=(0,U1.useCallback)(async _=>{let w=!1;for(let[y,N]of Object.entries(l.current)){let D=Gp(N,_[y]);D&&(w||(w={},m(y)),w[y]=D)}if(w)return n(w),!1;let b=await o.current(_);return typeof b=="boolean"?b:!0},[l,o,m]),v=(0,U1.useCallback)((_,w)=>{n(b=>({...b,[_]:w}))},[n]),f=(0,U1.useCallback)(function(_,w){r(b=>({...b,[_]:typeof w=="function"?w(b[_]):w}))},[r]),h=(0,U1.useMemo)(()=>new Proxy({},{get(_,w){let b=l.current[w],y=d[w];return{onChange(N){i[w]&&(Gp(b,N)||v(w,void 0)),f(w,N)},onBlur(N){let D=Gp(b,N.target.value);D&&v(w,D)},error:i[w],id:w,value:typeof y>"u"?null:y,ref:N=>{s.current[w]=N}}}}),[i,l,v,d,s,f]),g=(0,U1.useCallback)(_=>{n({}),Object.entries(s.current).forEach(([w,b])=>{_?.[w]||b?.reset()}),_&&r(_)},[r,n,s]);return{handleSubmit:c,setValidationError:v,setValue:f,values:d,itemProps:h,focus:m,reset:g}}Be.useForm=dn});var i6=u(b2=>{"use strict";Object.defineProperty(b2,"__esModule",{value:!0});b2.useAI=void 0;var r6=require("react"),rn=require("@raycast/api"),sn=Ce();function nn(e,a={}){let{creativity:p,stream:t,model:d,...r}=a,[i,n]=(0,r6.useState)(""),s=(0,r6.useRef)(),{isLoading:l,error:o,revalidate:m}=(0,sn.usePromise)(async(c,v,f)=>{n("");let h=rn.AI.ask(c,{creativity:v,model:d,signal:s.current?.signal});f===!1?n(await h):(h.on("data",g=>{n(_=>_+g)}),await h)},[e,p,t],{...r,abortable:s});return{isLoading:l,data:i,error:o,revalidate:m}}b2.useAI=nn});var l6=u(y2=>{"use strict";Object.defineProperty(y2,"__esModule",{value:!0});y2.useFrecencySorting=void 0;var Jp=require("react"),s6=I1(),ln=Xa(),mn=10,n6=24*60*60*1e3,on=Math.log(2)/(mn*n6),un={Default:100,Embed:0,Bookmark:140};function cn(e){let a=Date.now(),p=e?e.lastVisited:0,t=e?e.frecency:0,d=(a-p)/n6,r=un.Default*Math.exp(-on*d),i=t+r;return{lastVisited:a,frecency:i}}var fn=e=>{if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||!e||!("id"in e)||typeof e.id!="string"))throw new Error("Specify a key function or make sure your items have an 'id' property");return e.id};function hn(e,a){let p=(0,s6.useLatest)(a?.key||fn),t=(0,s6.useLatest)(a?.sortUnvisited),[d,r]=(0,ln.useCachedState)(`raycast_frecency_${a?.namespace}`,{}),i=(0,Jp.useCallback)(async function(o){let m=p.current(o);r(c=>{let v=c[m],f=cn(v);return{...c,[m]:f}})},[p,r]),n=(0,Jp.useCallback)(async function(o){let m=p.current(o);r(c=>{let v={...c};return delete v[m],v})},[p,r]);return{data:(0,Jp.useMemo)(()=>e?e.sort((l,o)=>{let m=d[p.current(l)],c=d[p.current(o)];return m&&!c?-1:!m&&c?1:m&&c?c.frecency-m.frecency:t.current?t.current(l,o):0}):[],[d,e,p,t]),visitItem:i,resetRanking:n}}y2.useFrecencySorting=hn});var u6=u(S2=>{"use strict";Object.defineProperty(S2,"__esModule",{value:!0});S2.useLocalStorage=void 0;var Zp=require("@raycast/api"),m6=ma(),o6=le(),vn=Ce();function gn(e,a){let{data:p,isLoading:t,mutate:d}=(0,vn.usePromise)(async n=>{let s=await Zp.LocalStorage.getItem(n);return typeof s<"u"?JSON.parse(s,o6.reviver):a},[e]);async function r(n){try{await d(Zp.LocalStorage.setItem(e,JSON.stringify(n,o6.replacer)),{optimisticUpdate(s){return s}})}catch(s){await(0,m6.showFailureToast)(s,{title:"Failed to set value in local storage"})}}async function i(){try{await d(Zp.LocalStorage.removeItem(e),{optimisticUpdate(){}})}catch(n){await(0,m6.showFailureToast)(n,{title:"Failed to remove value from local storage"})}}return{value:p,setValue:r,removeValue:i,isLoading:t}}S2.useLocalStorage=gn});var g6=u(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.slightlyLighterColor=je.slightlyDarkerColor=void 0;function wn(e){let a=0,p=0,t=0;if(e.length===4)a=parseInt(`${e[1]}${e[1]}`,16),p=parseInt(`${e[2]}${e[2]}`,16),t=parseInt(`${e[3]}${e[3]}`,16);else if(e.length===7)a=parseInt(`${e[1]}${e[2]}`,16),p=parseInt(`${e[3]}${e[4]}`,16),t=parseInt(`${e[5]}${e[6]}`,16);else throw new Error(`Malformed hex color: ${e}`);return{r:a,g:p,b:t}}function _n({r:e,g:a,b:p}){let t=e.toString(16),d=a.toString(16),r=p.toString(16);return t.length===1&&(t=`0${t}`),d.length===1&&(d=`0${d}`),r.length===1&&(r=`0${r}`),`#${t}${d}${r}`}function bn({r:e,g:a,b:p}){e/=255,a/=255,p/=255;let t=Math.min(e,a,p),d=Math.max(e,a,p),r=d-t,i=0,n=0,s=0;return r===0?i=0:d===e?i=(a-p)/r%6:d===a?i=(p-e)/r+2:i=(e-a)/r+4,i=Math.round(i*60),i<0&&(i+=360),s=(d+t)/2,n=r===0?0:r/(1-Math.abs(2*s-1)),n=+(n*100).toFixed(1),s=+(s*100).toFixed(1),{h:i,s:n,l:s}}function yn({h:e,s:a,l:p}){a/=100,p/=100;let t=(1-Math.abs(2*p-1))*a,d=t*(1-Math.abs(e/60%2-1)),r=p-t/2,i=0,n=0,s=0;return e>=0&&e<60?(i=t,n=d,s=0):e>=60&&e<120?(i=d,n=t,s=0):e>=120&&e<180?(i=0,n=t,s=d):e>=180&&e<240?(i=0,n=d,s=t):e>=240&&e<300?(i=d,n=0,s=t):e>=300&&e<360&&(i=t,n=0,s=d),i=Math.round((i+r)*255),n=Math.round((n+r)*255),s=Math.round((s+r)*255),{r:i,g:n,b:s}}function c6(e){return bn(wn(e))}function f6(e){return _n(yn(e))}function h6(e,a,p){return a<p?e<a?a:e>p?p:e:e<p?p:e>a?a:e}var v6=12;function Sn(e){let a=c6(e);return f6({h:a.h,s:a.s,l:h6(a.l-v6,0,100)})}je.slightlyDarkerColor=Sn;function Nn(e){let a=c6(e);return f6({h:a.h,s:a.s,l:h6(a.l+v6,0,100)})}je.slightlyLighterColor=Nn});var b6=u(N2=>{"use strict";Object.defineProperty(N2,"__esModule",{value:!0});N2.getAvatarIcon=void 0;var w6=g6();function ze(e,a){let p=e.charCodeAt(a);if(Number.isNaN(p))return["",a];if(p<55296||p>57343)return[e.charAt(a),a];if(55296<=p&&p<=56319){if(e.length<=a+1)throw new Error("High surrogate without following low surrogate");let d=e.charCodeAt(a+1);if(56320>d||d>57343)throw new Error("High surrogate without following low surrogate");return[e.charAt(a)+e.charAt(a+1),a+1]}if(a===0)throw new Error("Low surrogate without preceding high surrogate");let t=e.charCodeAt(a-1);if(55296>t||t>56319)throw new Error("Low surrogate without preceding high surrogate");return[e.charAt(a+1),a+1]}var _6=["#DC829A","#D64854","#D47600","#D36CDD","#52A9E4","#7871E8","#70920F","#43B93A","#EB6B3E","#26B795","#D85A9B","#A067DC","#BD9500","#5385D9"];function Tn(e,a){let p=e.trim().split(" "),t;if(p.length==1&&ze(p[0],0)[0])t=ze(p[0],0)[0];else if(p.length>1){let s=ze(p[0],0)[0]||"",l=ze(p[p.length-1],0)[0]??"";t=s+l}else t="";let d;if(a?.background)d=a?.background;else{let s=0,[l,o]=ze(t,0);for(;l;)s+=l.charCodeAt(0),[l,o]=ze(t,o+1);let m=s%_6.length;d=_6[m]}let i=50-0;return`data:image/svg+xml,${`<svg width="100px" height="100px"> + ${a?.gradient!==!1?`<defs> + <linearGradient id="Gradient" x1="0.25" x2="0.75" y1="0" y2="1"> + <stop offset="0%" stop-color="${(0,w6.slightlyLighterColor)(d)}"/> + <stop offset="50%" stop-color="${d}"/> + <stop offset="100%" stop-color="${(0,w6.slightlyDarkerColor)(d)}"/> + </linearGradient> + </defs>`:""} + <circle cx="50" cy="50" r="${i}" fill="${a?.gradient!==!1?"url(#Gradient)":d}" /> + ${t?`<text x="50" y="80" font-size="${i-1}" font-family="Inter, sans-serif" text-anchor="middle" fill="white">${t.toUpperCase()}</text>`:""} + </svg> + `.replaceAll(` +`,"")}`}N2.getAvatarIcon=Tn});var S6=u(T2=>{"use strict";Object.defineProperty(T2,"__esModule",{value:!0});T2.getFavicon=void 0;var y6=require("@raycast/api"),xn=require("url");function Dn(e,a){try{let t=(typeof e=="string"?new xn.URL(e):e).hostname;return{source:`https://www.google.com/s2/favicons?sz=${a?.size??64}&domain=${t}`,fallback:a?.fallback??y6.Icon.Link,mask:a?.mask}}catch(p){return console.error(p),y6.Icon.Link}}T2.getFavicon=Dn});var x6=u(x2=>{"use strict";Object.defineProperty(x2,"__esModule",{value:!0});x2.getProgressIcon=void 0;var N6=require("@raycast/api");function T6(e,a,p,t){let d=(t-90)*Math.PI/180;return{x:e+p*Math.cos(d),y:a+p*Math.sin(d)}}function Cn(e,a,p,t,d){let r=T6(e,a,p,d),i=T6(e,a,p,t),n=d-t<=180?"0":"1";return["M",r.x,r.y,"A",p,p,0,n,0,i.x,i.y].join(" ")}function An(e,a=N6.Color.Red,p){let t=p?.background||(N6.environment.appearance==="light"?"black":"white"),d=p?.backgroundOpacity||.1,r=10,n=50-5-r/2;return`data:image/svg+xml,${`<svg width="100px" height="100px"> + <circle cx="50" cy="50" r="${n}" stroke-width="${r}" stroke="${e<1?t:a}" opacity="${e<1?d:"1"}" fill="none" /> + ${e>0&&e<1?`<path d="${Cn(50,50,n,0,e*360)}" stroke="${a}" stroke-width="${r}" fill="none" />`:""} + </svg> + `.replaceAll(` +`,"")}`}x2.getProgressIcon=An});var D6=u($1=>{"use strict";var Vn=$1&&$1.__createBinding||(Object.create?function(e,a,p,t){t===void 0&&(t=p);var d=Object.getOwnPropertyDescriptor(a,p);(!d||("get"in d?!a.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return a[p]}}),Object.defineProperty(e,t,d)}:function(e,a,p,t){t===void 0&&(t=p),e[t]=a[p]}),Wp=$1&&$1.__exportStar||function(e,a){for(var p in e)p!=="default"&&!Object.prototype.hasOwnProperty.call(a,p)&&Vn(a,e,p)};Object.defineProperty($1,"__esModule",{value:!0});Wp(b6(),$1);Wp(S6(),$1);Wp(x6(),$1)});var C6=u(p1=>{"use strict";Object.defineProperty(p1,"__esModule",{value:!0});p1.zoomService=p1.slackService=p1.linearService=p1.jiraService=p1.googleService=p1.githubService=p1.asanaService=void 0;var s1=require("@raycast/api"),ge=Yp(),D2={asana:"1191201745684312",github:"7235fe8d42157f1f38c0",linear:"c8ff37b9225c3c9aefd7d66ea0e5b6f1",slack:"851756884692.5546927290212"},Q1=e=>`data:image/svg+xml,${e}`,we={asana:Q1('<svg xmlns="http://www.w3.org/2000/svg" width="251" height="232" fill="none"><path fill="#F06A6A" d="M179.383 54.373c0 30.017-24.337 54.374-54.354 54.374-30.035 0-54.373-24.338-54.373-54.374C70.656 24.338 94.993 0 125.029 0c30.017 0 54.354 24.338 54.354 54.373ZM54.393 122.33C24.376 122.33.02 146.668.02 176.685c0 30.017 24.337 54.373 54.373 54.373 30.035 0 54.373-24.338 54.373-54.373 0-30.017-24.338-54.355-54.373-54.355Zm141.253 0c-30.035 0-54.373 24.338-54.373 54.374 0 30.035 24.338 54.373 54.373 54.373 30.017 0 54.374-24.338 54.374-54.373 0-30.036-24.338-54.374-54.374-54.374Z"/></svg>'),github:{source:Q1('<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>'),tintColor:s1.Color.PrimaryText},google:Q1('<svg xmlns="http://www.w3.org/2000/svg" style="display:block" viewBox="0 0 48 48"><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"/><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"/><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"/><path fill="none" d="M0 0h48v48H0z"/></svg>'),jira:Q1('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="2361" height="2500" viewBox="2.59 0 214.091 224"><linearGradient id="a" x1="102.4" x2="56.15" y1="218.63" y2="172.39" gradientTransform="matrix(1 0 0 -1 0 264)" gradientUnits="userSpaceOnUse"><stop offset=".18" stop-color="#0052cc"/><stop offset="1" stop-color="#2684ff"/></linearGradient><linearGradient xlink:href="#a" id="b" x1="114.65" x2="160.81" y1="85.77" y2="131.92"/><path fill="#2684ff" d="M214.06 105.73 117.67 9.34 108.33 0 35.77 72.56 2.59 105.73a8.89 8.89 0 0 0 0 12.54l66.29 66.29L108.33 224l72.55-72.56 1.13-1.12 32.05-32a8.87 8.87 0 0 0 0-12.59zm-105.73 39.39L75.21 112l33.12-33.12L141.44 112z"/><path fill="url(#a)" d="M108.33 78.88a55.75 55.75 0 0 1-.24-78.61L35.62 72.71l39.44 39.44z"/><path fill="url(#b)" d="m141.53 111.91-33.2 33.21a55.77 55.77 0 0 1 0 78.86L181 151.35z"/></svg>'),linear:{source:{light:Q1('<svg xmlns="http://www.w3.org/2000/svg" fill="#222326" width="200" height="200" viewBox="0 0 100 100"><path d="M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z"/></svg>'),dark:Q1('<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" width="200" height="200" viewBox="0 0 100 100"><path d="M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z" /></svg>')}},slack:Q1('<svg xmlns="http://www.w3.org/2000/svg" viewBox="73 73 124 124"><style>.st0{fill:#e01e5a}.st1{fill:#36c5f0}.st2{fill:#2eb67d}.st3{fill:#ecb22e}</style><path d="M99.4 151.2c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h12.9v12.9zM105.9 151.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9v-32.3z" class="st0"/><path d="M118.8 99.4c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v12.9h-12.9zM118.8 105.9c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H86.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3z" class="st1"/><path d="M170.6 118.8c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9h-12.9v-12.9zM164.1 118.8c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9V86.5c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9v32.3z" class="st2"/><path d="M151.2 170.6c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9v-12.9h12.9zM151.2 164.1c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9h-32.3z" class="st3"/></svg>'),zoom:Q1('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 351.845 80"><path d="M73.786 78.835H10.88A10.842 10.842 0 0 1 .833 72.122a10.841 10.841 0 0 1 2.357-11.85L46.764 16.7h-31.23C6.954 16.699 0 9.744 0 1.165h58.014c4.414 0 8.357 2.634 10.046 6.712a10.843 10.843 0 0 1-2.356 11.85L22.13 63.302h36.122c8.58 0 15.534 6.955 15.534 15.534Zm278.059-48.544C351.845 13.588 338.256 0 321.553 0c-8.934 0-16.975 3.89-22.524 10.063C293.48 3.89 285.44 0 276.505 0c-16.703 0-30.291 13.588-30.291 30.291v48.544c8.579 0 15.534-6.955 15.534-15.534v-33.01c0-8.137 6.62-14.757 14.757-14.757s14.757 6.62 14.757 14.757v33.01c0 8.58 6.955 15.534 15.534 15.534V30.291c0-8.137 6.62-14.757 14.757-14.757s14.758 6.62 14.758 14.757v33.01c0 8.58 6.954 15.534 15.534 15.534V30.291ZM238.447 40c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.908-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S173.98 26.488 173.98 40s10.953 24.466 24.466 24.466S222.913 53.512 222.913 40Zm-70.68 0c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S87.767 26.488 87.767 40s10.954 24.466 24.466 24.466S136.699 53.512 136.699 40Z" style="fill:#0b5cff"/></svg>')},En=e=>new ge.OAuthService({client:new s1.OAuth.PKCEClient({redirectMethod:s1.OAuth.RedirectMethod.Web,providerName:"Asana",providerIcon:we.asana,providerId:"asana",description:"Connect your Asana account"}),clientId:e.clientId??D2.asana,authorizeUrl:e.authorizeUrl??"https://asana.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://asana.oauth.raycast.com/token",refreshTokenUrl:e.refreshTokenUrl??"https://asana.oauth.raycast.com/refresh-token",scope:e.scope,personalAccessToken:e.personalAccessToken,onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});p1.asanaService=En;var Pn=e=>new ge.OAuthService({client:new s1.OAuth.PKCEClient({redirectMethod:s1.OAuth.RedirectMethod.Web,providerName:"GitHub",providerIcon:we.github,providerId:"github",description:"Connect your GitHub account"}),clientId:e.clientId??D2.github,authorizeUrl:e.authorizeUrl??"https://github.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://github.oauth.raycast.com/token",refreshTokenUrl:e.refreshTokenUrl??"https://github.oauth.raycast.com/refresh-token",scope:e.scope,personalAccessToken:e.personalAccessToken,onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});p1.githubService=Pn;var Mn=e=>new ge.OAuthService({client:new s1.OAuth.PKCEClient({redirectMethod:s1.OAuth.RedirectMethod.AppURI,providerName:"Google",providerIcon:we.google,providerId:"google",description:"Connect your Google account"}),clientId:e.clientId,authorizeUrl:e.authorizeUrl??"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:e.tokenUrl??"https://oauth2.googleapis.com/token",refreshTokenUrl:e.tokenUrl,scope:e.scope,personalAccessToken:e.personalAccessToken,bodyEncoding:e.bodyEncoding??"url-encoded",onAuthorize:e.onAuthorize,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});p1.googleService=Mn;var kn=e=>new ge.OAuthService({client:new s1.OAuth.PKCEClient({redirectMethod:s1.OAuth.RedirectMethod.Web,providerName:"Jira",providerIcon:we.jira,providerId:"jira",description:"Connect your Jira account"}),clientId:e.clientId,authorizeUrl:e.authorizeUrl??"https://auth.atlassian.com/authorize",tokenUrl:e.tokenUrl??"https://auth.atlassian.com/oauth/token",refreshTokenUrl:e.refreshTokenUrl,scope:e.scope,personalAccessToken:e.personalAccessToken,onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});p1.jiraService=kn;var On=e=>new ge.OAuthService({client:new s1.OAuth.PKCEClient({redirectMethod:s1.OAuth.RedirectMethod.Web,providerName:"Linear",providerIcon:we.linear,providerId:"linear",description:"Connect your Linear account"}),clientId:e.clientId??D2.linear,authorizeUrl:e.authorizeUrl??"https://linear.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://linear.oauth.raycast.com/token",refreshTokenUrl:e.refreshTokenUrl??"https://linear.oauth.raycast.com/refresh-token",scope:e.scope,extraParameters:{actor:"user"},onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});p1.linearService=On;var Rn=e=>new ge.OAuthService({client:new s1.OAuth.PKCEClient({redirectMethod:s1.OAuth.RedirectMethod.Web,providerName:"Slack",providerIcon:we.slack,providerId:"slack",description:"Connect your Slack account"}),clientId:e.clientId??D2.slack,authorizeUrl:e.authorizeUrl??"https://slack.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://slack.oauth.raycast.com/token",refreshTokenUrl:e.tokenUrl??"https://slack.oauth.raycast.com/refresh-token",scope:"",extraParameters:{user_scope:e.scope},personalAccessToken:e.personalAccessToken,bodyEncoding:e.tokenUrl?e.bodyEncoding??"url-encoded":"json",onAuthorize:e.onAuthorize,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser??(a=>({access_token:a.authed_user.access_token,scope:a.authed_user.scope}))});p1.slackService=Rn;var qn=e=>new ge.OAuthService({client:new s1.OAuth.PKCEClient({redirectMethod:s1.OAuth.RedirectMethod.Web,providerName:"Zoom",providerIcon:we.zoom,providerId:"zoom",description:"Connect your Zoom account"}),clientId:e.clientId,authorizeUrl:e.authorizeUrl??"https://zoom.us/oauth/authorize",tokenUrl:e.tokenUrl??"https://zoom.us/oauth/token",refreshTokenUrl:e.refreshTokenUrl,scope:e.scope,personalAccessToken:e.personalAccessToken,bodyEncoding:e.bodyEncoding??"url-encoded",onAuthorize:e.onAuthorize,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});p1.zoomService=qn});var Yp=u(Ue=>{"use strict";var Ln=Ue&&Ue.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ue,"__esModule",{value:!0});Ue.OAuthService=void 0;var A6=Ln(i2()),_e=C6(),k1=class{constructor(a){this.clientId=a.clientId,this.scope=Array.isArray(a.scope)?a.scope.join(" "):a.scope,this.personalAccessToken=a.personalAccessToken,this.bodyEncoding=a.bodyEncoding,this.client=a.client,this.extraParameters=a.extraParameters,this.authorizeUrl=a.authorizeUrl,this.tokenUrl=a.tokenUrl,this.refreshTokenUrl=a.refreshTokenUrl,this.onAuthorize=a.onAuthorize,this.tokenResponseParser=a.tokenResponseParser??(p=>p),this.tokenRefreshResponseParser=a.tokenRefreshResponseParser??(p=>p),this.authorize=this.authorize.bind(this)}async authorize(){let a=await this.client.getTokens();if(a?.accessToken){if(a.refreshToken&&a.isExpired()){let r=await this.refreshTokens({token:a.refreshToken});if(r)return await this.client.setTokens(r),r.access_token}return a.accessToken}let p=await this.client.authorizationRequest({endpoint:this.authorizeUrl,clientId:this.clientId,scope:this.scope,extraParameters:this.extraParameters}),{authorizationCode:t}=await this.client.authorize(p),d=await this.fetchTokens({authRequest:p,authorizationCode:t});return await this.client.setTokens(d),d.access_token}async fetchTokens({authRequest:a,authorizationCode:p}){let t;if(this.bodyEncoding==="url-encoded"){let i=new URLSearchParams;i.append("client_id",this.clientId),i.append("code",p),i.append("code_verifier",a.codeVerifier),i.append("grant_type","authorization_code"),i.append("redirect_uri",a.redirectURI),t={body:i}}else t={body:JSON.stringify({client_id:this.clientId,code:p,code_verifier:a.codeVerifier,grant_type:"authorization_code",redirect_uri:a.redirectURI}),headers:{"Content-Type":"application/json"}};let d=await(0,A6.default)(this.tokenUrl,{method:"POST",...t});if(!d.ok){let i=await d.text();throw console.error("fetch tokens error:",i),new Error(`Error while fetching tokens: ${d.status} (${d.statusText}) +${i}`)}let r=this.tokenResponseParser(await d.json());return Array.isArray(r.scope)?{...r,scope:r.scope.join(" ")}:r}async refreshTokens({token:a}){let p;if(this.bodyEncoding==="url-encoded"){let d=new URLSearchParams;d.append("client_id",this.clientId),d.append("refresh_token",a),d.append("grant_type","refresh_token"),p={body:d}}else p={body:JSON.stringify({client_id:this.clientId,refresh_token:a,grant_type:"refresh_token"}),headers:{"Content-Type":"application/json"}};let t=await(0,A6.default)(this.refreshTokenUrl??this.tokenUrl,{method:"POST",...p});if(t.ok){let d=this.tokenRefreshResponseParser(await t.json());return d.refresh_token=d.refresh_token??a,d}else{let d=await t.text();console.error("refresh tokens error:",d),this.client.description=`${this.client.providerName} needs you to sign-in again. Press \u23CE or click the button below to continue.`,await this.client.removeTokens(),await this.authorize()}}};Ue.OAuthService=k1;k1.asana=_e.asanaService;k1.github=_e.githubService;k1.google=_e.googleService;k1.jira=_e.jiraService;k1.linear=_e.linearService;k1.slack=_e.slackService;k1.zoom=_e.zoomService});var V6=u($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.getAccessToken=$e.withAccessToken=void 0;var In=require("react/jsx-runtime"),Fn=require("@raycast/api"),ee=null,be=null,Xp=null,Qp=null,e0=null;function Bn(e){return Fn.environment.commandMode==="no-view"?a=>async t=>{if(!ee){ee=e.personalAccessToken??await e.authorize(),be=e.personalAccessToken?"personal":"oauth";let d=(await e.client?.getTokens())?.idToken;e.onAuthorize&&await Promise.resolve(e.onAuthorize({token:ee,type:be,idToken:d}))}return a(t)}:a=>{let p=t=>{e.personalAccessToken?(ee=e.personalAccessToken,be="personal"):(Xp||(Xp=a0(e.authorize())),ee=Xp.read(),be="oauth");let d;return e.client&&(Qp||(Qp=a0(e.client.getTokens())),d=Qp.read()?.idToken),!e0&&e.onAuthorize&&(e0=a0(Promise.resolve(e.onAuthorize({token:ee,type:be,idToken:d})))),e0?.read(),(0,In.jsx)(a,{...t})};return p.displayName=`withAccessToken(${a.displayName||a.name})`,p}}$e.withAccessToken=Bn;function jn(){if(!ee||!be)throw new Error("getAccessToken must be used when authenticated (eg. used inside `withAccessToken`)");return{token:ee,type:be}}$e.getAccessToken=jn;function a0(e){let a="pending",p,t=e.then(r=>{a="success",p=r},r=>{a="error",p=r});return{read:()=>{switch(a){case"pending":throw t;case"error":throw p;default:return p}}}}});var P6=u(ae=>{"use strict";var zn=ae&&ae.__createBinding||(Object.create?function(e,a,p,t){t===void 0&&(t=p);var d=Object.getOwnPropertyDescriptor(a,p);(!d||("get"in d?!a.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return a[p]}}),Object.defineProperty(e,t,d)}:function(e,a,p,t){t===void 0&&(t=p),e[t]=a[p]}),E6=ae&&ae.__exportStar||function(e,a){for(var p in e)p!=="default"&&!Object.prototype.hasOwnProperty.call(a,p)&&zn(a,e,p)};Object.defineProperty(ae,"__esModule",{value:!0});E6(Yp(),ae);E6(V6(),ae)});var M6=u(He=>{"use strict";var Un=He&&He.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(He,"__esModule",{value:!0});He.runAppleScript=void 0;var $n=Un(require("node:child_process")),Ca=c2();async function Hn(e,a,p){let{humanReadableOutput:t,language:d,timeout:r,...i}=Array.isArray(a)?p||{}:a||{},n=t!==!1?[]:["-ss"];d==="JavaScript"&&n.push("-l","JavaScript"),Array.isArray(a)&&n.push("-",...a);let s=$n.default.spawn("osascript",n,{...i,env:{PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"}}),l=(0,Ca.getSpawnedPromise)(s,{timeout:r||1e4});s.stdin.end(e);let[{error:o,exitCode:m,signal:c,timedOut:v},f,h]=await(0,Ca.getSpawnedResult)(s,{encoding:"utf8"},l),g=(0,Ca.handleOutput)({stripFinalNewline:!0},f),_=(0,Ca.handleOutput)({stripFinalNewline:!0},h);return(0,Ca.defaultParsing)({stdout:g,stderr:_,error:o,exitCode:m,signal:c,timedOut:v,command:"osascript",options:p,parentError:new Error})}He.runAppleScript=Hn});var L6=u(y1=>{"use strict";var k6=y1&&y1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(y1,"__esModule",{value:!0});y1.createDeeplink=y1.createExtensionDeeplink=y1.createScriptCommandDeeplink=y1.DeeplinkType=void 0;var t0=require("@raycast/api"),Gn=k6(require("node:fs")),Kn=k6(require("node:path")),p0;(function(e){e.ScriptCommand="script-command",e.Extension="extension"})(p0||(y1.DeeplinkType=p0={}));function O6(){return t0.environment.raycastVersion.includes("alpha")?"raycastinternal://":"raycast://"}function Jn(){let e=JSON.parse(Gn.default.readFileSync(Kn.default.join(t0.environment.assetsPath,"..","package.json"),"utf8"));return e.owner||e.author}function R6(e){let a=`${O6()}script-commands/${e.command}`;if(e.arguments){let p="";for(let t of e.arguments)p+="&arguments="+encodeURIComponent(t);a+="?"+p.substring(1)}return a}y1.createScriptCommandDeeplink=R6;function q6(e){let a=Jn(),p=t0.environment.extensionName;"ownerOrAuthorName"in e&&"extensionName"in e&&(a=e.ownerOrAuthorName,p=e.extensionName);let t=`${O6()}extensions/${a}/${p}/${e.command}`,d="";return e.launchType&&(d+="&launchType="+encodeURIComponent(e.launchType)),e.arguments&&(d+="&arguments="+encodeURIComponent(JSON.stringify(e.arguments))),e.context&&(d+="&context="+encodeURIComponent(JSON.stringify(e.context))),e.fallbackText&&(d+="&fallbackText="+encodeURIComponent(e.fallbackText)),d&&(t+="?"+d.substring(1)),t}y1.createExtensionDeeplink=q6;function Zn(e){return e.type===p0.ScriptCommand?R6(e):q6(e)}y1.createDeeplink=Zn});var d0=u(F=>{"use strict";var Wn=F&&F.__createBinding||(Object.create?function(e,a,p,t){t===void 0&&(t=p);var d=Object.getOwnPropertyDescriptor(a,p);(!d||("get"in d?!a.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return a[p]}}),Object.defineProperty(e,t,d)}:function(e,a,p,t){t===void 0&&(t=p),e[t]=a[p]}),t1=F&&F.__exportStar||function(e,a){for(var p in e)p!=="default"&&!Object.prototype.hasOwnProperty.call(a,p)&&Wn(a,e,p)};Object.defineProperty(F,"__esModule",{value:!0});t1(Ce(),F);t1(Xa(),F);t1(fa(),F);t1(gd(),F);t1(Td(),F);t1(Yd(),F);t1(p6(),F);t1(d6(),F);t1(i6(),F);t1(l6(),F);t1(u6(),F);t1(D6(),F);t1(P6(),F);t1(M6(),F);t1(ma(),F);t1(L6(),F)});var _r=u((V_,wr)=>{function Zm(){this.__data__=[],this.size=0}wr.exports=Zm});var M0=u((E_,br)=>{function Wm(e,a){return e===a||e!==e&&a!==a}br.exports=Wm});var qa=u((P_,yr)=>{var Ym=M0();function Xm(e,a){for(var p=e.length;p--;)if(Ym(e[p][0],a))return p;return-1}yr.exports=Xm});var Nr=u((M_,Sr)=>{var Qm=qa(),eo=Array.prototype,ao=eo.splice;function po(e){var a=this.__data__,p=Qm(a,e);if(p<0)return!1;var t=a.length-1;return p==t?a.pop():ao.call(a,p,1),--this.size,!0}Sr.exports=po});var xr=u((k_,Tr)=>{var to=qa();function ro(e){var a=this.__data__,p=to(a,e);return p<0?void 0:a[p][1]}Tr.exports=ro});var Cr=u((O_,Dr)=>{var io=qa();function so(e){return io(this.__data__,e)>-1}Dr.exports=so});var Vr=u((R_,Ar)=>{var no=qa();function lo(e,a){var p=this.__data__,t=no(p,e);return t<0?(++this.size,p.push([e,a])):p[t][1]=a,this}Ar.exports=lo});var La=u((q_,Er)=>{var mo=_r(),oo=Nr(),uo=xr(),co=Cr(),fo=Vr();function ea(e){var a=-1,p=e==null?0:e.length;for(this.clear();++a<p;){var t=e[a];this.set(t[0],t[1])}}ea.prototype.clear=mo;ea.prototype.delete=oo;ea.prototype.get=uo;ea.prototype.has=co;ea.prototype.set=fo;Er.exports=ea});var Mr=u((L_,Pr)=>{var ho=La();function vo(){this.__data__=new ho,this.size=0}Pr.exports=vo});var Or=u((I_,kr)=>{function go(e){var a=this.__data__,p=a.delete(e);return this.size=a.size,p}kr.exports=go});var qr=u((F_,Rr)=>{function wo(e){return this.__data__.get(e)}Rr.exports=wo});var Ir=u((B_,Lr)=>{function _o(e){return this.__data__.has(e)}Lr.exports=_o});var k0=u((j_,Fr)=>{var bo=typeof global=="object"&&global&&global.Object===Object&&global;Fr.exports=bo});var q1=u((z_,Br)=>{var yo=k0(),So=typeof self=="object"&&self&&self.Object===Object&&self,No=yo||So||Function("return this")();Br.exports=No});var Ia=u((U_,jr)=>{var To=q1(),xo=To.Symbol;jr.exports=xo});var Hr=u(($_,$r)=>{var zr=Ia(),Ur=Object.prototype,Do=Ur.hasOwnProperty,Co=Ur.toString,Fa=zr?zr.toStringTag:void 0;function Ao(e){var a=Do.call(e,Fa),p=e[Fa];try{e[Fa]=void 0;var t=!0}catch{}var d=Co.call(e);return t&&(a?e[Fa]=p:delete e[Fa]),d}$r.exports=Ao});var Kr=u((H_,Gr)=>{var Vo=Object.prototype,Eo=Vo.toString;function Po(e){return Eo.call(e)}Gr.exports=Po});var aa=u((G_,Wr)=>{var Jr=Ia(),Mo=Hr(),ko=Kr(),Oo="[object Null]",Ro="[object Undefined]",Zr=Jr?Jr.toStringTag:void 0;function qo(e){return e==null?e===void 0?Ro:Oo:Zr&&Zr in Object(e)?Mo(e):ko(e)}Wr.exports=qo});var $2=u((K_,Yr)=>{function Lo(e){var a=typeof e;return e!=null&&(a=="object"||a=="function")}Yr.exports=Lo});var O0=u((J_,Xr)=>{var Io=aa(),Fo=$2(),Bo="[object AsyncFunction]",jo="[object Function]",zo="[object GeneratorFunction]",Uo="[object Proxy]";function $o(e){if(!Fo(e))return!1;var a=Io(e);return a==jo||a==zo||a==Bo||a==Uo}Xr.exports=$o});var e5=u((Z_,Qr)=>{var Ho=q1(),Go=Ho["__core-js_shared__"];Qr.exports=Go});var t5=u((W_,p5)=>{var R0=e5(),a5=function(){var e=/[^.]+$/.exec(R0&&R0.keys&&R0.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Ko(e){return!!a5&&a5 in e}p5.exports=Ko});var q0=u((Y_,d5)=>{var Jo=Function.prototype,Zo=Jo.toString;function Wo(e){if(e!=null){try{return Zo.call(e)}catch{}try{return e+""}catch{}}return""}d5.exports=Wo});var i5=u((X_,r5)=>{var Yo=O0(),Xo=t5(),Qo=$2(),eu=q0(),au=/[\\^$.*+?()[\]{}|]/g,pu=/^\[object .+?Constructor\]$/,tu=Function.prototype,du=Object.prototype,ru=tu.toString,iu=du.hasOwnProperty,su=RegExp("^"+ru.call(iu).replace(au,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function nu(e){if(!Qo(e)||Xo(e))return!1;var a=Yo(e)?su:pu;return a.test(eu(e))}r5.exports=nu});var n5=u((Q_,s5)=>{function lu(e,a){return e?.[a]}s5.exports=lu});var Ne=u((eb,l5)=>{var mu=i5(),ou=n5();function uu(e,a){var p=ou(e,a);return mu(p)?p:void 0}l5.exports=uu});var H2=u((ab,m5)=>{var cu=Ne(),fu=q1(),hu=cu(fu,"Map");m5.exports=hu});var Ba=u((pb,o5)=>{var vu=Ne(),gu=vu(Object,"create");o5.exports=gu});var f5=u((tb,c5)=>{var u5=Ba();function wu(){this.__data__=u5?u5(null):{},this.size=0}c5.exports=wu});var v5=u((db,h5)=>{function _u(e){var a=this.has(e)&&delete this.__data__[e];return this.size-=a?1:0,a}h5.exports=_u});var w5=u((rb,g5)=>{var bu=Ba(),yu="__lodash_hash_undefined__",Su=Object.prototype,Nu=Su.hasOwnProperty;function Tu(e){var a=this.__data__;if(bu){var p=a[e];return p===yu?void 0:p}return Nu.call(a,e)?a[e]:void 0}g5.exports=Tu});var b5=u((ib,_5)=>{var xu=Ba(),Du=Object.prototype,Cu=Du.hasOwnProperty;function Au(e){var a=this.__data__;return xu?a[e]!==void 0:Cu.call(a,e)}_5.exports=Au});var S5=u((sb,y5)=>{var Vu=Ba(),Eu="__lodash_hash_undefined__";function Pu(e,a){var p=this.__data__;return this.size+=this.has(e)?0:1,p[e]=Vu&&a===void 0?Eu:a,this}y5.exports=Pu});var T5=u((nb,N5)=>{var Mu=f5(),ku=v5(),Ou=w5(),Ru=b5(),qu=S5();function pa(e){var a=-1,p=e==null?0:e.length;for(this.clear();++a<p;){var t=e[a];this.set(t[0],t[1])}}pa.prototype.clear=Mu;pa.prototype.delete=ku;pa.prototype.get=Ou;pa.prototype.has=Ru;pa.prototype.set=qu;N5.exports=pa});var C5=u((lb,D5)=>{var x5=T5(),Lu=La(),Iu=H2();function Fu(){this.size=0,this.__data__={hash:new x5,map:new(Iu||Lu),string:new x5}}D5.exports=Fu});var V5=u((mb,A5)=>{function Bu(e){var a=typeof e;return a=="string"||a=="number"||a=="symbol"||a=="boolean"?e!=="__proto__":e===null}A5.exports=Bu});var ja=u((ob,E5)=>{var ju=V5();function zu(e,a){var p=e.__data__;return ju(a)?p[typeof a=="string"?"string":"hash"]:p.map}E5.exports=zu});var M5=u((ub,P5)=>{var Uu=ja();function $u(e){var a=Uu(this,e).delete(e);return this.size-=a?1:0,a}P5.exports=$u});var O5=u((cb,k5)=>{var Hu=ja();function Gu(e){return Hu(this,e).get(e)}k5.exports=Gu});var q5=u((fb,R5)=>{var Ku=ja();function Ju(e){return Ku(this,e).has(e)}R5.exports=Ju});var I5=u((hb,L5)=>{var Zu=ja();function Wu(e,a){var p=Zu(this,e),t=p.size;return p.set(e,a),this.size+=p.size==t?0:1,this}L5.exports=Wu});var G2=u((vb,F5)=>{var Yu=C5(),Xu=M5(),Qu=O5(),ec=q5(),ac=I5();function ta(e){var a=-1,p=e==null?0:e.length;for(this.clear();++a<p;){var t=e[a];this.set(t[0],t[1])}}ta.prototype.clear=Yu;ta.prototype.delete=Xu;ta.prototype.get=Qu;ta.prototype.has=ec;ta.prototype.set=ac;F5.exports=ta});var j5=u((gb,B5)=>{var pc=La(),tc=H2(),dc=G2(),rc=200;function ic(e,a){var p=this.__data__;if(p instanceof pc){var t=p.__data__;if(!tc||t.length<rc-1)return t.push([e,a]),this.size=++p.size,this;p=this.__data__=new dc(t)}return p.set(e,a),this.size=p.size,this}B5.exports=ic});var L0=u((wb,z5)=>{var sc=La(),nc=Mr(),lc=Or(),mc=qr(),oc=Ir(),uc=j5();function da(e){var a=this.__data__=new sc(e);this.size=a.size}da.prototype.clear=nc;da.prototype.delete=lc;da.prototype.get=mc;da.prototype.has=oc;da.prototype.set=uc;z5.exports=da});var $5=u((_b,U5)=>{var cc="__lodash_hash_undefined__";function fc(e){return this.__data__.set(e,cc),this}U5.exports=fc});var G5=u((bb,H5)=>{function hc(e){return this.__data__.has(e)}H5.exports=hc});var I0=u((yb,K5)=>{var vc=G2(),gc=$5(),wc=G5();function K2(e){var a=-1,p=e==null?0:e.length;for(this.__data__=new vc;++a<p;)this.add(e[a])}K2.prototype.add=K2.prototype.push=gc;K2.prototype.has=wc;K5.exports=K2});var Z5=u((Sb,J5)=>{function _c(e,a){for(var p=-1,t=e==null?0:e.length;++p<t;)if(a(e[p],p,e))return!0;return!1}J5.exports=_c});var F0=u((Nb,W5)=>{function bc(e,a){return e.has(a)}W5.exports=bc});var B0=u((Tb,Y5)=>{var yc=I0(),Sc=Z5(),Nc=F0(),Tc=1,xc=2;function Dc(e,a,p,t,d,r){var i=p&Tc,n=e.length,s=a.length;if(n!=s&&!(i&&s>n))return!1;var l=r.get(e),o=r.get(a);if(l&&o)return l==a&&o==e;var m=-1,c=!0,v=p&xc?new yc:void 0;for(r.set(e,a),r.set(a,e);++m<n;){var f=e[m],h=a[m];if(t)var g=i?t(h,f,m,a,e,r):t(f,h,m,e,a,r);if(g!==void 0){if(g)continue;c=!1;break}if(v){if(!Sc(a,function(_,w){if(!Nc(v,w)&&(f===_||d(f,_,p,t,r)))return v.push(w)})){c=!1;break}}else if(!(f===h||d(f,h,p,t,r))){c=!1;break}}return r.delete(e),r.delete(a),c}Y5.exports=Dc});var Q5=u((xb,X5)=>{var Cc=q1(),Ac=Cc.Uint8Array;X5.exports=Ac});var a9=u((Db,e9)=>{function Vc(e){var a=-1,p=Array(e.size);return e.forEach(function(t,d){p[++a]=[d,t]}),p}e9.exports=Vc});var J2=u((Cb,p9)=>{function Ec(e){var a=-1,p=Array(e.size);return e.forEach(function(t){p[++a]=t}),p}p9.exports=Ec});var s9=u((Ab,i9)=>{var t9=Ia(),d9=Q5(),Pc=M0(),Mc=B0(),kc=a9(),Oc=J2(),Rc=1,qc=2,Lc="[object Boolean]",Ic="[object Date]",Fc="[object Error]",Bc="[object Map]",jc="[object Number]",zc="[object RegExp]",Uc="[object Set]",$c="[object String]",Hc="[object Symbol]",Gc="[object ArrayBuffer]",Kc="[object DataView]",r9=t9?t9.prototype:void 0,j0=r9?r9.valueOf:void 0;function Jc(e,a,p,t,d,r,i){switch(p){case Kc:if(e.byteLength!=a.byteLength||e.byteOffset!=a.byteOffset)return!1;e=e.buffer,a=a.buffer;case Gc:return!(e.byteLength!=a.byteLength||!r(new d9(e),new d9(a)));case Lc:case Ic:case jc:return Pc(+e,+a);case Fc:return e.name==a.name&&e.message==a.message;case zc:case $c:return e==a+"";case Bc:var n=kc;case Uc:var s=t&Rc;if(n||(n=Oc),e.size!=a.size&&!s)return!1;var l=i.get(e);if(l)return l==a;t|=qc,i.set(e,a);var o=Mc(n(e),n(a),t,d,r,i);return i.delete(e),o;case Hc:if(j0)return j0.call(e)==j0.call(a)}return!1}i9.exports=Jc});var l9=u((Vb,n9)=>{function Zc(e,a){for(var p=-1,t=a.length,d=e.length;++p<t;)e[d+p]=a[p];return e}n9.exports=Zc});var G1=u((Eb,m9)=>{var Wc=Array.isArray;m9.exports=Wc});var u9=u((Pb,o9)=>{var Yc=l9(),Xc=G1();function Qc(e,a,p){var t=a(e);return Xc(e)?t:Yc(t,p(e))}o9.exports=Qc});var f9=u((Mb,c9)=>{function ef(e,a){for(var p=-1,t=e==null?0:e.length,d=0,r=[];++p<t;){var i=e[p];a(i,p,e)&&(r[d++]=i)}return r}c9.exports=ef});var v9=u((kb,h9)=>{function af(){return[]}h9.exports=af});var _9=u((Ob,w9)=>{var pf=f9(),tf=v9(),df=Object.prototype,rf=df.propertyIsEnumerable,g9=Object.getOwnPropertySymbols,sf=g9?function(e){return e==null?[]:(e=Object(e),pf(g9(e),function(a){return rf.call(e,a)}))}:tf;w9.exports=sf});var y9=u((Rb,b9)=>{function nf(e,a){for(var p=-1,t=Array(e);++p<e;)t[p]=a(p);return t}b9.exports=nf});var ra=u((qb,S9)=>{function lf(e){return e!=null&&typeof e=="object"}S9.exports=lf});var T9=u((Lb,N9)=>{var mf=aa(),of=ra(),uf="[object Arguments]";function cf(e){return of(e)&&mf(e)==uf}N9.exports=cf});var z0=u((Ib,C9)=>{var x9=T9(),ff=ra(),D9=Object.prototype,hf=D9.hasOwnProperty,vf=D9.propertyIsEnumerable,gf=x9(function(){return arguments}())?x9:function(e){return ff(e)&&hf.call(e,"callee")&&!vf.call(e,"callee")};C9.exports=gf});var V9=u((Fb,A9)=>{function wf(){return!1}A9.exports=wf});var U0=u((za,ia)=>{var _f=q1(),bf=V9(),M9=typeof za=="object"&&za&&!za.nodeType&&za,E9=M9&&typeof ia=="object"&&ia&&!ia.nodeType&&ia,yf=E9&&E9.exports===M9,P9=yf?_f.Buffer:void 0,Sf=P9?P9.isBuffer:void 0,Nf=Sf||bf;ia.exports=Nf});var $0=u((Bb,k9)=>{var Tf=9007199254740991,xf=/^(?:0|[1-9]\d*)$/;function Df(e,a){var p=typeof e;return a=a??Tf,!!a&&(p=="number"||p!="symbol"&&xf.test(e))&&e>-1&&e%1==0&&e<a}k9.exports=Df});var Z2=u((jb,O9)=>{var Cf=9007199254740991;function Af(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Cf}O9.exports=Af});var q9=u((zb,R9)=>{var Vf=aa(),Ef=Z2(),Pf=ra(),Mf="[object Arguments]",kf="[object Array]",Of="[object Boolean]",Rf="[object Date]",qf="[object Error]",Lf="[object Function]",If="[object Map]",Ff="[object Number]",Bf="[object Object]",jf="[object RegExp]",zf="[object Set]",Uf="[object String]",$f="[object WeakMap]",Hf="[object ArrayBuffer]",Gf="[object DataView]",Kf="[object Float32Array]",Jf="[object Float64Array]",Zf="[object Int8Array]",Wf="[object Int16Array]",Yf="[object Int32Array]",Xf="[object Uint8Array]",Qf="[object Uint8ClampedArray]",eh="[object Uint16Array]",ah="[object Uint32Array]",P={};P[Kf]=P[Jf]=P[Zf]=P[Wf]=P[Yf]=P[Xf]=P[Qf]=P[eh]=P[ah]=!0;P[Mf]=P[kf]=P[Hf]=P[Of]=P[Gf]=P[Rf]=P[qf]=P[Lf]=P[If]=P[Ff]=P[Bf]=P[jf]=P[zf]=P[Uf]=P[$f]=!1;function ph(e){return Pf(e)&&Ef(e.length)&&!!P[Vf(e)]}R9.exports=ph});var I9=u((Ub,L9)=>{function th(e){return function(a){return e(a)}}L9.exports=th});var B9=u((Ua,sa)=>{var dh=k0(),F9=typeof Ua=="object"&&Ua&&!Ua.nodeType&&Ua,$a=F9&&typeof sa=="object"&&sa&&!sa.nodeType&&sa,rh=$a&&$a.exports===F9,H0=rh&&dh.process,ih=function(){try{var e=$a&&$a.require&&$a.require("util").types;return e||H0&&H0.binding&&H0.binding("util")}catch{}}();sa.exports=ih});var G0=u(($b,U9)=>{var sh=q9(),nh=I9(),j9=B9(),z9=j9&&j9.isTypedArray,lh=z9?nh(z9):sh;U9.exports=lh});var H9=u((Hb,$9)=>{var mh=y9(),oh=z0(),uh=G1(),ch=U0(),fh=$0(),hh=G0(),vh=Object.prototype,gh=vh.hasOwnProperty;function wh(e,a){var p=uh(e),t=!p&&oh(e),d=!p&&!t&&ch(e),r=!p&&!t&&!d&&hh(e),i=p||t||d||r,n=i?mh(e.length,String):[],s=n.length;for(var l in e)(a||gh.call(e,l))&&!(i&&(l=="length"||d&&(l=="offset"||l=="parent")||r&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||fh(l,s)))&&n.push(l);return n}$9.exports=wh});var K9=u((Gb,G9)=>{var _h=Object.prototype;function bh(e){var a=e&&e.constructor,p=typeof a=="function"&&a.prototype||_h;return e===p}G9.exports=bh});var Z9=u((Kb,J9)=>{function yh(e,a){return function(p){return e(a(p))}}J9.exports=yh});var Y9=u((Jb,W9)=>{var Sh=Z9(),Nh=Sh(Object.keys,Object);W9.exports=Nh});var Q9=u((Zb,X9)=>{var Th=K9(),xh=Y9(),Dh=Object.prototype,Ch=Dh.hasOwnProperty;function Ah(e){if(!Th(e))return xh(e);var a=[];for(var p in Object(e))Ch.call(e,p)&&p!="constructor"&&a.push(p);return a}X9.exports=Ah});var ai=u((Wb,ei)=>{var Vh=O0(),Eh=Z2();function Ph(e){return e!=null&&Eh(e.length)&&!Vh(e)}ei.exports=Ph});var K0=u((Yb,pi)=>{var Mh=H9(),kh=Q9(),Oh=ai();function Rh(e){return Oh(e)?Mh(e):kh(e)}pi.exports=Rh});var di=u((Xb,ti)=>{var qh=u9(),Lh=_9(),Ih=K0();function Fh(e){return qh(e,Ih,Lh)}ti.exports=Fh});var si=u((Qb,ii)=>{var ri=di(),Bh=1,jh=Object.prototype,zh=jh.hasOwnProperty;function Uh(e,a,p,t,d,r){var i=p&Bh,n=ri(e),s=n.length,l=ri(a),o=l.length;if(s!=o&&!i)return!1;for(var m=s;m--;){var c=n[m];if(!(i?c in a:zh.call(a,c)))return!1}var v=r.get(e),f=r.get(a);if(v&&f)return v==a&&f==e;var h=!0;r.set(e,a),r.set(a,e);for(var g=i;++m<s;){c=n[m];var _=e[c],w=a[c];if(t)var b=i?t(w,_,c,a,e,r):t(_,w,c,e,a,r);if(!(b===void 0?_===w||d(_,w,p,t,r):b)){h=!1;break}g||(g=c=="constructor")}if(h&&!g){var y=e.constructor,N=a.constructor;y!=N&&"constructor"in e&&"constructor"in a&&!(typeof y=="function"&&y instanceof y&&typeof N=="function"&&N instanceof N)&&(h=!1)}return r.delete(e),r.delete(a),h}ii.exports=Uh});var li=u((ey,ni)=>{var $h=Ne(),Hh=q1(),Gh=$h(Hh,"DataView");ni.exports=Gh});var oi=u((ay,mi)=>{var Kh=Ne(),Jh=q1(),Zh=Kh(Jh,"Promise");mi.exports=Zh});var J0=u((py,ui)=>{var Wh=Ne(),Yh=q1(),Xh=Wh(Yh,"Set");ui.exports=Xh});var fi=u((ty,ci)=>{var Qh=Ne(),ev=q1(),av=Qh(ev,"WeakMap");ci.exports=av});var Si=u((dy,yi)=>{var Z0=li(),W0=H2(),Y0=oi(),X0=J0(),Q0=fi(),bi=aa(),na=q0(),hi="[object Map]",pv="[object Object]",vi="[object Promise]",gi="[object Set]",wi="[object WeakMap]",_i="[object DataView]",tv=na(Z0),dv=na(W0),rv=na(Y0),iv=na(X0),sv=na(Q0),Te=bi;(Z0&&Te(new Z0(new ArrayBuffer(1)))!=_i||W0&&Te(new W0)!=hi||Y0&&Te(Y0.resolve())!=vi||X0&&Te(new X0)!=gi||Q0&&Te(new Q0)!=wi)&&(Te=function(e){var a=bi(e),p=a==pv?e.constructor:void 0,t=p?na(p):"";if(t)switch(t){case tv:return _i;case dv:return hi;case rv:return vi;case iv:return gi;case sv:return wi}return a});yi.exports=Te});var Ei=u((ry,Vi)=>{var et=L0(),nv=B0(),lv=s9(),mv=si(),Ni=Si(),Ti=G1(),xi=U0(),ov=G0(),uv=1,Di="[object Arguments]",Ci="[object Array]",W2="[object Object]",cv=Object.prototype,Ai=cv.hasOwnProperty;function fv(e,a,p,t,d,r){var i=Ti(e),n=Ti(a),s=i?Ci:Ni(e),l=n?Ci:Ni(a);s=s==Di?W2:s,l=l==Di?W2:l;var o=s==W2,m=l==W2,c=s==l;if(c&&xi(e)){if(!xi(a))return!1;i=!0,o=!1}if(c&&!o)return r||(r=new et),i||ov(e)?nv(e,a,p,t,d,r):lv(e,a,s,p,t,d,r);if(!(p&uv)){var v=o&&Ai.call(e,"__wrapped__"),f=m&&Ai.call(a,"__wrapped__");if(v||f){var h=v?e.value():e,g=f?a.value():a;return r||(r=new et),d(h,g,p,t,r)}}return c?(r||(r=new et),mv(e,a,p,t,d,r)):!1}Vi.exports=fv});var at=u((iy,ki)=>{var hv=Ei(),Pi=ra();function Mi(e,a,p,t,d){return e===a?!0:e==null||a==null||!Pi(e)&&!Pi(a)?e!==e&&a!==a:hv(e,a,p,t,Mi,d)}ki.exports=Mi});var Ri=u((sy,Oi)=>{var vv=L0(),gv=at(),wv=1,_v=2;function bv(e,a,p,t){var d=p.length,r=d,i=!t;if(e==null)return!r;for(e=Object(e);d--;){var n=p[d];if(i&&n[2]?n[1]!==e[n[0]]:!(n[0]in e))return!1}for(;++d<r;){n=p[d];var s=n[0],l=e[s],o=n[1];if(i&&n[2]){if(l===void 0&&!(s in e))return!1}else{var m=new vv;if(t)var c=t(l,o,s,e,a,m);if(!(c===void 0?gv(o,l,wv|_v,t,m):c))return!1}}return!0}Oi.exports=bv});var pt=u((ny,qi)=>{var yv=$2();function Sv(e){return e===e&&!yv(e)}qi.exports=Sv});var Ii=u((ly,Li)=>{var Nv=pt(),Tv=K0();function xv(e){for(var a=Tv(e),p=a.length;p--;){var t=a[p],d=e[t];a[p]=[t,d,Nv(d)]}return a}Li.exports=xv});var tt=u((my,Fi)=>{function Dv(e,a){return function(p){return p==null?!1:p[e]===a&&(a!==void 0||e in Object(p))}}Fi.exports=Dv});var ji=u((oy,Bi)=>{var Cv=Ri(),Av=Ii(),Vv=tt();function Ev(e){var a=Av(e);return a.length==1&&a[0][2]?Vv(a[0][0],a[0][1]):function(p){return p===e||Cv(p,e,a)}}Bi.exports=Ev});var Y2=u((uy,zi)=>{var Pv=aa(),Mv=ra(),kv="[object Symbol]";function Ov(e){return typeof e=="symbol"||Mv(e)&&Pv(e)==kv}zi.exports=Ov});var X2=u((cy,Ui)=>{var Rv=G1(),qv=Y2(),Lv=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Iv=/^\w*$/;function Fv(e,a){if(Rv(e))return!1;var p=typeof e;return p=="number"||p=="symbol"||p=="boolean"||e==null||qv(e)?!0:Iv.test(e)||!Lv.test(e)||a!=null&&e in Object(a)}Ui.exports=Fv});var Gi=u((fy,Hi)=>{var $i=G2(),Bv="Expected a function";function dt(e,a){if(typeof e!="function"||a!=null&&typeof a!="function")throw new TypeError(Bv);var p=function(){var t=arguments,d=a?a.apply(this,t):t[0],r=p.cache;if(r.has(d))return r.get(d);var i=e.apply(this,t);return p.cache=r.set(d,i)||r,i};return p.cache=new(dt.Cache||$i),p}dt.Cache=$i;Hi.exports=dt});var Ji=u((hy,Ki)=>{var jv=Gi(),zv=500;function Uv(e){var a=jv(e,function(t){return p.size===zv&&p.clear(),t}),p=a.cache;return a}Ki.exports=Uv});var Wi=u((vy,Zi)=>{var $v=Ji(),Hv=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Gv=/\\(\\)?/g,Kv=$v(function(e){var a=[];return e.charCodeAt(0)===46&&a.push(""),e.replace(Hv,function(p,t,d,r){a.push(d?r.replace(Gv,"$1"):t||p)}),a});Zi.exports=Kv});var Xi=u((gy,Yi)=>{function Jv(e,a){for(var p=-1,t=e==null?0:e.length,d=Array(t);++p<t;)d[p]=a(e[p],p,e);return d}Yi.exports=Jv});var d3=u((wy,t3)=>{var Qi=Ia(),Zv=Xi(),Wv=G1(),Yv=Y2(),Xv=1/0,e3=Qi?Qi.prototype:void 0,a3=e3?e3.toString:void 0;function p3(e){if(typeof e=="string")return e;if(Wv(e))return Zv(e,p3)+"";if(Yv(e))return a3?a3.call(e):"";var a=e+"";return a=="0"&&1/e==-Xv?"-0":a}t3.exports=p3});var i3=u((_y,r3)=>{var Qv=d3();function eg(e){return e==null?"":Qv(e)}r3.exports=eg});var rt=u((by,s3)=>{var ag=G1(),pg=X2(),tg=Wi(),dg=i3();function rg(e,a){return ag(e)?e:pg(e,a)?[e]:tg(dg(e))}s3.exports=rg});var Ha=u((yy,n3)=>{var ig=Y2(),sg=1/0;function ng(e){if(typeof e=="string"||ig(e))return e;var a=e+"";return a=="0"&&1/e==-sg?"-0":a}n3.exports=ng});var it=u((Sy,l3)=>{var lg=rt(),mg=Ha();function og(e,a){a=lg(a,e);for(var p=0,t=a.length;e!=null&&p<t;)e=e[mg(a[p++])];return p&&p==t?e:void 0}l3.exports=og});var o3=u((Ny,m3)=>{var ug=it();function cg(e,a,p){var t=e==null?void 0:ug(e,a);return t===void 0?p:t}m3.exports=cg});var c3=u((Ty,u3)=>{function fg(e,a){return e!=null&&a in Object(e)}u3.exports=fg});var h3=u((xy,f3)=>{var hg=rt(),vg=z0(),gg=G1(),wg=$0(),_g=Z2(),bg=Ha();function yg(e,a,p){a=hg(a,e);for(var t=-1,d=a.length,r=!1;++t<d;){var i=bg(a[t]);if(!(r=e!=null&&p(e,i)))break;e=e[i]}return r||++t!=d?r:(d=e==null?0:e.length,!!d&&_g(d)&&wg(i,d)&&(gg(e)||vg(e)))}f3.exports=yg});var g3=u((Dy,v3)=>{var Sg=c3(),Ng=h3();function Tg(e,a){return e!=null&&Ng(e,a,Sg)}v3.exports=Tg});var _3=u((Cy,w3)=>{var xg=at(),Dg=o3(),Cg=g3(),Ag=X2(),Vg=pt(),Eg=tt(),Pg=Ha(),Mg=1,kg=2;function Og(e,a){return Ag(e)&&Vg(a)?Eg(Pg(e),a):function(p){var t=Dg(p,e);return t===void 0&&t===a?Cg(p,e):xg(a,t,Mg|kg)}}w3.exports=Og});var y3=u((Ay,b3)=>{function Rg(e){return e}b3.exports=Rg});var N3=u((Vy,S3)=>{function qg(e){return function(a){return a?.[e]}}S3.exports=qg});var x3=u((Ey,T3)=>{var Lg=it();function Ig(e){return function(a){return Lg(a,e)}}T3.exports=Ig});var C3=u((Py,D3)=>{var Fg=N3(),Bg=x3(),jg=X2(),zg=Ha();function Ug(e){return jg(e)?Fg(zg(e)):Bg(e)}D3.exports=Ug});var V3=u((My,A3)=>{var $g=ji(),Hg=_3(),Gg=y3(),Kg=G1(),Jg=C3();function Zg(e){return typeof e=="function"?e:e==null?Gg:typeof e=="object"?Kg(e)?Hg(e[0],e[1]):$g(e):Jg(e)}A3.exports=Zg});var P3=u((ky,E3)=>{function Wg(e,a,p,t){for(var d=e.length,r=p+(t?1:-1);t?r--:++r<d;)if(a(e[r],r,e))return r;return-1}E3.exports=Wg});var k3=u((Oy,M3)=>{function Yg(e){return e!==e}M3.exports=Yg});var R3=u((Ry,O3)=>{function Xg(e,a,p){for(var t=p-1,d=e.length;++t<d;)if(e[t]===a)return t;return-1}O3.exports=Xg});var L3=u((qy,q3)=>{var Qg=P3(),ew=k3(),aw=R3();function pw(e,a,p){return a===a?aw(e,a,p):Qg(e,ew,p)}q3.exports=pw});var F3=u((Ly,I3)=>{var tw=L3();function dw(e,a){var p=e==null?0:e.length;return!!p&&tw(e,a,0)>-1}I3.exports=dw});var j3=u((Iy,B3)=>{function rw(e,a,p){for(var t=-1,d=e==null?0:e.length;++t<d;)if(p(a,e[t]))return!0;return!1}B3.exports=rw});var U3=u((Fy,z3)=>{function iw(){}z3.exports=iw});var H3=u((By,$3)=>{var st=J0(),sw=U3(),nw=J2(),lw=1/0,mw=st&&1/nw(new st([,-0]))[1]==lw?function(e){return new st(e)}:sw;$3.exports=mw});var K3=u((jy,G3)=>{var ow=I0(),uw=F3(),cw=j3(),fw=F0(),hw=H3(),vw=J2(),gw=200;function ww(e,a,p){var t=-1,d=uw,r=e.length,i=!0,n=[],s=n;if(p)i=!1,d=cw;else if(r>=gw){var l=a?null:hw(e);if(l)return vw(l);i=!1,d=fw,s=new ow}else s=a?[]:n;e:for(;++t<r;){var o=e[t],m=a?a(o):o;if(o=p||o!==0?o:0,i&&m===m){for(var c=s.length;c--;)if(s[c]===m)continue e;a&&s.push(m),n.push(o)}else d(s,m,p)||(s!==n&&s.push(m),n.push(o))}return n}G3.exports=ww});var Z3=u((zy,J3)=>{var _w=V3(),bw=K3();function yw(e,a){return e&&e.length?bw(e,_w(a,2)):[]}J3.exports=yw});var Dw={};n8(Dw,{default:()=>Q3});module.exports=l8(Dw);var L1=require("@raycast/api"),ep=pp(d0());var G=require("@raycast/api");var nt=require("@raycast/api");function O(e,a){let p=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(a[0])||(a=a.map(i=>[i]));let t=a[0].length,d=a[0].map((i,n)=>a.map(s=>s[n])),r=e.map(i=>d.map(n=>{let s=0;if(!Array.isArray(i)){for(let l of n)s+=i*l;return s}for(let l=0;l<i.length;l++)s+=i[l]*(n[l]||0);return s}));return p===1&&(r=r[0]),t===1?r.map(i=>i[0]):r}function ka(e){return pe(e)==="string"}function pe(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||"").toLowerCase()}function q2(e,{precision:a,unit:p}){return te(e)?"none":R4(e,a)+(p??"")}function te(e){return Number.isNaN(e)||e instanceof Number&&e?.none}function z(e){return te(e)?0:e}function R4(e,a){if(e===0)return 0;let p=~~e,t=0;p&&a&&(t=~~Math.log10(Math.abs(p))+1);let d=10**(a-t);return Math.floor(e*d+.5)/d}var Yn={deg:1,grad:.9,rad:180/Math.PI,turn:360};function q4(e){if(!e)return;e=e.trim();let a=/^([a-z]+)\((.+?)\)$/i,p=/^-?[\d.]+$/,t=/%|deg|g?rad|turn$/,d=/\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g,r=e.match(a);if(r){let i=[];return r[2].replace(d,(n,s)=>{let l=s.match(t),o=s;if(l){let m=l[0],c=o.slice(0,-m.length);m==="%"?(o=new Number(c/100),o.type="<percentage>"):(o=new Number(c*Yn[m]),o.type="<angle>",o.unit=m)}else p.test(o)?(o=new Number(o),o.type="<number>"):o==="none"&&(o=new Number(NaN),o.none=!0);n.startsWith("/")&&(o=o instanceof Number?o:new Number(o),o.alpha=!0),typeof o=="object"&&o instanceof Number&&(o.raw=s),i.push(o)}),{name:r[1].toLowerCase(),rawName:r[1],rawArgs:r[2],args:i}}}function L4(e){return e[e.length-1]}function Ea(e,a,p){return isNaN(e)?a:isNaN(a)?e:e+(a-e)*p}function I4(e,a,p){return(p-e)/(a-e)}function T0(e,a,p){return Ea(a[0],a[1],I4(e[0],e[1],p))}function F4(e){return e.map(a=>a.split("|").map(p=>{p=p.trim();let t=p.match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);if(t){let d=new String(t[1]);return d.range=[+t[2],+t[3]],d}return p}))}function B4(e,a,p){return Math.max(Math.min(p,a),e)}function B2(e,a){return Math.sign(e)===Math.sign(a)?e:-e}function O1(e,a){return B2(Math.abs(e)**a,e)}function x0(e,a){return a===0?0:e/a}function j4(e,a,p=0,t=e.length){for(;p<t;){let d=p+t>>1;e[d]<a?p=d+1:t=d}return p}var Xn=Object.freeze({__proto__:null,bisectLeft:j4,clamp:B4,copySign:B2,interpolate:Ea,interpolateInv:I4,isNone:te,isString:ka,last:L4,mapRange:T0,multiplyMatrices:O,parseCoordGrammar:F4,parseFunction:q4,serializeNumber:q2,skipNone:z,spow:O1,toPrecision:R4,type:pe,zdiv:x0}),h0=class{add(a,p,t){if(typeof arguments[0]!="string"){for(var a in arguments[0])this.add(a,arguments[0][a],arguments[1]);return}(Array.isArray(a)?a:[a]).forEach(function(d){this[d]=this[d]||[],p&&this[d][t?"unshift":"push"](p)},this)}run(a,p){this[a]=this[a]||[],this[a].forEach(function(t){t.call(p&&p.context?p.context:p,p)})}},de=new h0,h1={gamut_mapping:"css",precision:5,deltaE:"76",verbose:globalThis?.process?.env?.NODE_ENV?.toLowerCase()!=="test",warn:function(a){this.verbose&&globalThis?.console?.warn?.(a)}},n1={D50:[.3457/.3585,1,(1-.3457-.3585)/.3585],D65:[.3127/.329,1,(1-.3127-.329)/.329]};function v0(e){return Array.isArray(e)?e:n1[e]}function L2(e,a,p,t={}){if(e=v0(e),a=v0(a),!e||!a)throw new TypeError(`Missing white point to convert ${e?"":"from"}${!e&&!a?"/":""}${a?"":"to"}`);if(e===a)return p;let d={W1:e,W2:a,XYZ:p,options:t};if(de.run("chromatic-adaptation-start",d),d.M||(d.W1===n1.D65&&d.W2===n1.D50?d.M=[[1.0479297925449969,.022946870601609652,-.05019226628920524],[.02962780877005599,.9904344267538799,-.017073799063418826],[-.009243040646204504,.015055191490298152,.7518742814281371]]:d.W1===n1.D50&&d.W2===n1.D65&&(d.M=[[.955473421488075,-.02309845494876471,.06325924320057072],[-.0283697093338637,1.0099953980813041,.021041441191917323],[.012314014864481998,-.020507649298898964,1.330365926242124]])),de.run("chromatic-adaptation-end",d),d.M)return O(d.M,d.XYZ);throw new TypeError("Only Bradford CAT with white points D50 and D65 supported for now.")}var Qn=new Set(["<number>","<percentage>","<angle>"]);function I6(e,a,p,t){return Object.entries(e.coords).map(([r,i],n)=>{let s=a.coordGrammar[n],l=t[n],o=l?.type,m;if(l.none?m=s.find(f=>Qn.has(f)):m=s.find(f=>f==o),!m){let f=i.name||r;throw new TypeError(`${o??l.raw} not allowed for ${f} in ${p}()`)}let c=m.range;o==="<percentage>"&&(c||=[0,1]);let v=i.range||i.refRange;return c&&v&&(t[n]=T0(c,v,t[n])),m})}function z4(e,{meta:a}={}){let p={str:String(e)?.trim()};if(de.run("parse-start",p),p.color)return p.color;if(p.parsed=q4(p.str),p.parsed){let t=p.parsed.name;if(t==="color"){let d=p.parsed.args.shift(),r=d.startsWith("--")?d.substring(2):`--${d}`,i=[d,r],n=p.parsed.rawArgs.indexOf("/")>0?p.parsed.args.pop():1;for(let o of S.all){let m=o.getFormat("color");if(m&&(i.includes(m.id)||m.ids?.filter(c=>i.includes(c)).length)){let c=Object.keys(o.coords).map((f,h)=>p.parsed.args[h]||0),v;return m.coordGrammar&&(v=I6(o,m,"color",c)),a&&Object.assign(a,{formatId:"color",types:v}),m.id.startsWith("--")&&!d.startsWith("--")&&h1.warn(`${o.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${m.id}) instead of color(${d}).`),d.startsWith("--")&&!m.id.startsWith("--")&&h1.warn(`${o.name} is a standard space and supported in the CSS spec. Use color(${m.id}) instead of prefixed color(${d}).`),{spaceId:o.id,coords:c,alpha:n}}}let s="",l=d in S.registry?d:r;if(l in S.registry){let o=S.registry[l].formats?.color?.id;o&&(s=`Did you mean color(${o})?`)}throw new TypeError(`Cannot parse color(${d}). `+(s||"Missing a plugin?"))}else for(let d of S.all){let r=d.getFormat(t);if(r&&r.type==="function"){let i=1;(r.lastAlpha||L4(p.parsed.args).alpha)&&(i=p.parsed.args.pop());let n=p.parsed.args,s;return r.coordGrammar&&(s=I6(d,r,t,n)),a&&Object.assign(a,{formatId:r.name,types:s}),{spaceId:d.id,coords:n,alpha:i}}}}else for(let t of S.all)for(let d in t.formats){let r=t.formats[d];if(r.type!=="custom"||r.test&&!r.test(p.str))continue;let i=r.parse(p.str);if(i)return i.alpha??=1,a&&(a.formatId=d),i}throw new TypeError(`Could not parse ${e} as a color. Missing a plugin?`)}function T(e){if(Array.isArray(e))return e.map(T);if(!e)throw new TypeError("Empty color reference");ka(e)&&(e=z4(e));let a=e.space||e.spaceId;return a instanceof S||(e.space=S.get(a)),e.alpha===void 0&&(e.alpha=1),e}var el=75e-6,S=class e{constructor(a){this.id=a.id,this.name=a.name,this.base=a.base?e.get(a.base):null,this.aliases=a.aliases,this.base&&(this.fromBase=a.fromBase,this.toBase=a.toBase);let p=a.coords??this.base.coords;for(let d in p)"name"in p[d]||(p[d].name=d);this.coords=p;let t=a.white??this.base.white??"D65";this.white=v0(t),this.formats=a.formats??{};for(let d in this.formats){let r=this.formats[d];r.type||="function",r.name||=d}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:a.cssId||this.id}),a.gamutSpace?this.gamutSpace=a.gamutSpace==="self"?this:e.get(a.gamutSpace):this.isPolar?this.gamutSpace=this.base:this.gamutSpace=this,this.gamutSpace.isUnbounded&&(this.inGamut=(d,r)=>!0),this.referred=a.referred,Object.defineProperty(this,"path",{value:al(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),de.run("colorspace-init-end",this)}inGamut(a,{epsilon:p=el}={}){if(!this.equals(this.gamutSpace))return a=this.to(this.gamutSpace,a),this.gamutSpace.inGamut(a,{epsilon:p});let t=Object.values(this.coords);return a.every((d,r)=>{let i=t[r];if(i.type!=="angle"&&i.range){if(Number.isNaN(d))return!0;let[n,s]=i.range;return(n===void 0||d>=n-p)&&(s===void 0||d<=s+p)}return!0})}get isUnbounded(){return Object.values(this.coords).every(a=>!("range"in a))}get cssId(){return this.formats?.color?.id||this.id}get isPolar(){for(let a in this.coords)if(this.coords[a].type==="angle")return!0;return!1}getFormat(a){if(typeof a=="object")return a=F6(a,this),a;let p;return a==="default"?p=Object.values(this.formats)[0]:p=this.formats[a],p?(p=F6(p,this),p):null}equals(a){return a?this===a||this.id===a||this.id===a.id:!1}to(a,p){if(arguments.length===1){let n=T(a);[a,p]=[n.space,n.coords]}if(a=e.get(a),this.equals(a))return p;p=p.map(n=>Number.isNaN(n)?0:n);let t=this.path,d=a.path,r,i;for(let n=0;n<t.length&&t[n].equals(d[n]);n++)r=t[n],i=n;if(!r)throw new Error(`Cannot convert between color spaces ${this} and ${a}: no connection space was found`);for(let n=t.length-1;n>i;n--)p=t[n].toBase(p);for(let n=i+1;n<d.length;n++)p=d[n].fromBase(p);return p}from(a,p){if(arguments.length===1){let t=T(a);[a,p]=[t.space,t.coords]}return a=e.get(a),a.to(this,p)}toString(){return`${this.name} (${this.id})`}getMinCoords(){let a=[];for(let p in this.coords){let t=this.coords[p],d=t.range||t.refRange;a.push(d?.min??0)}return a}static registry={};static get all(){return[...new Set(Object.values(e.registry))]}static register(a,p){if(arguments.length===1&&(p=arguments[0],a=p.id),p=this.get(p),this.registry[a]&&this.registry[a]!==p)throw new Error(`Duplicate color space registration: '${a}'`);if(this.registry[a]=p,arguments.length===1&&p.aliases)for(let t of p.aliases)this.register(t,p);return p}static get(a,...p){if(!a||a instanceof e)return a;if(pe(a)==="string"){let d=e.registry[a.toLowerCase()];if(!d)throw new TypeError(`No color space found with id = "${a}"`);return d}if(p.length)return e.get(...p);throw new TypeError(`${a} is not a valid color space`)}static resolveCoord(a,p){let t=pe(a),d,r;if(t==="string"?a.includes(".")?[d,r]=a.split("."):[d,r]=[,a]:Array.isArray(a)?[d,r]=a:(d=a.space,r=a.coordId),d=e.get(d),d||(d=p),!d)throw new TypeError(`Cannot resolve coordinate reference ${a}: No color space specified and relative references are not allowed here`);if(t=pe(r),t==="number"||t==="string"&&r>=0){let s=Object.entries(d.coords)[r];if(s)return{space:d,id:s[0],index:r,...s[1]}}d=e.get(d);let i=r.toLowerCase(),n=0;for(let s in d.coords){let l=d.coords[s];if(s.toLowerCase()===i||l.name?.toLowerCase()===i)return{space:d,id:s,index:n,...l};n++}throw new TypeError(`No "${r}" coordinate found in ${d.name}. Its coordinates are: ${Object.keys(d.coords).join(", ")}`)}static DEFAULT_FORMAT={type:"functions",name:"color"}};function al(e){let a=[e];for(let p=e;p=p.base;)a.push(p);return a}function F6(e,{coords:a}={}){if(e.coords&&!e.coordGrammar){e.type||="function",e.name||="color",e.coordGrammar=F4(e.coords);let p=Object.entries(a).map(([t,d],r)=>{let i=e.coordGrammar[r][0],n=d.range||d.refRange,s=i.range,l="";return i=="<percentage>"?(s=[0,100],l="%"):i=="<angle>"&&(l="deg"),{fromRange:n,toRange:s,suffix:l}});e.serializeCoords=(t,d)=>t.map((r,i)=>{let{fromRange:n,toRange:s,suffix:l}=p[i];return n&&s&&(r=T0(n,s,r)),r=q2(r,{precision:d,unit:l}),r})}return e}var e1=new S({id:"xyz-d65",name:"XYZ D65",coords:{x:{name:"X"},y:{name:"Y"},z:{name:"Z"}},white:"D65",formats:{color:{ids:["xyz-d65","xyz"]}},aliases:["xyz"]}),d1=class extends S{constructor(a){a.coords||(a.coords={r:{range:[0,1],name:"Red"},g:{range:[0,1],name:"Green"},b:{range:[0,1],name:"Blue"}}),a.base||(a.base=e1),a.toXYZ_M&&a.fromXYZ_M&&(a.toBase??=p=>{let t=O(a.toXYZ_M,p);return this.white!==this.base.white&&(t=L2(this.white,this.base.white,t)),t},a.fromBase??=p=>(p=L2(this.base.white,this.white,p),O(a.fromXYZ_M,p))),a.referred??="display",super(a)}};function Oa(e,a){return e=T(e),!a||e.space.equals(a)?e.coords.slice():(a=S.get(a),a.from(e))}function c1(e,a){e=T(e);let{space:p,index:t}=S.resolveCoord(a,e.space);return Oa(e,p)[t]}function D0(e,a,p){return e=T(e),a=S.get(a),e.coords=a.to(e.space,p),e}D0.returns="color";function H1(e,a,p){if(e=T(e),arguments.length===2&&pe(arguments[1])==="object"){let t=arguments[1];for(let d in t)H1(e,d,t[d])}else{typeof p=="function"&&(p=p(c1(e,a)));let{space:t,index:d}=S.resolveCoord(a,e.space),r=Oa(e,t);r[d]=p,D0(e,t,r)}return e}H1.returns="color";var C0=new S({id:"xyz-d50",name:"XYZ D50",white:"D50",base:e1,fromBase:e=>L2(e1.white,"D50",e),toBase:e=>L2("D50",e1.white,e)}),pl=216/24389,B6=24/116,C2=24389/27,r0=n1.D50,f1=new S({id:"lab",name:"Lab",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:r0,base:C0,fromBase(e){let p=e.map((t,d)=>t/r0[d]).map(t=>t>pl?Math.cbrt(t):(C2*t+16)/116);return[116*p[1]-16,500*(p[0]-p[1]),200*(p[1]-p[2])]},toBase(e){let a=[];return a[1]=(e[0]+16)/116,a[0]=e[1]/500+a[1],a[2]=a[1]-e[2]/200,[a[0]>B6?Math.pow(a[0],3):(116*a[0]-16)/C2,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/C2,a[2]>B6?Math.pow(a[2],3):(116*a[2]-16)/C2].map((t,d)=>t*r0[d])},formats:{lab:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function R1(e){return(e%360+360)%360}function tl(e,a){if(e==="raw")return a;let[p,t]=a.map(R1),d=t-p;return e==="increasing"?d<0&&(t+=360):e==="decreasing"?d>0&&(p+=360):e==="longer"?-180<d&&d<180&&(d>0?p+=360:t+=360):e==="shorter"&&(d>180?p+=360:d<-180&&(t+=360)),[p,t]}var Pa=new S({id:"lch",name:"LCH",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,150],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:f1,fromBase(e){let[a,p,t]=e,d,r=.02;return Math.abs(p)<r&&Math.abs(t)<r?d=NaN:d=Math.atan2(t,p)*180/Math.PI,[a,Math.sqrt(p**2+t**2),R1(d)]},toBase(e){let[a,p,t]=e;return p<0&&(p=0),isNaN(t)&&(t=0),[a,p*Math.cos(t*Math.PI/180),p*Math.sin(t*Math.PI/180)]},formats:{lch:{coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}}),j6=25**7,I2=Math.PI,z6=180/I2,Ge=I2/180;function U6(e){let a=e*e;return a*a*a*e}function U4(e,a,{kL:p=1,kC:t=1,kH:d=1}={}){[e,a]=T([e,a]);let[r,i,n]=f1.from(e),s=Pa.from(f1,[r,i,n])[1],[l,o,m]=f1.from(a),c=Pa.from(f1,[l,o,m])[1];s<0&&(s=0),c<0&&(c=0);let v=(s+c)/2,f=U6(v),h=.5*(1-Math.sqrt(f/(f+j6))),g=(1+h)*i,_=(1+h)*o,w=Math.sqrt(g**2+n**2),b=Math.sqrt(_**2+m**2),y=g===0&&n===0?0:Math.atan2(n,g),N=_===0&&m===0?0:Math.atan2(m,_);y<0&&(y+=2*I2),N<0&&(N+=2*I2),y*=z6,N*=z6;let D=l-r,R=b-w,V=N-y,X=y+N,K=Math.abs(V),M;w*b===0?M=0:K<=180?M=V:V>180?M=V-360:V<-180?M=V+360:h1.warn("the unthinkable has happened");let m1=2*Math.sqrt(b*w)*Math.sin(M*Ge/2),v1=(r+l)/2,C=(w+b)/2,a1=U6(C),r1;w*b===0?r1=X:K<=180?r1=X/2:X<360?r1=(X+360)/2:r1=(X-360)/2;let xe=(v1-50)**2,ap=1+.015*xe/Math.sqrt(20+xe),mt=1+.045*C,la=1;la-=.17*Math.cos((r1-30)*Ge),la+=.24*Math.cos(2*r1*Ge),la+=.32*Math.cos((3*r1+6)*Ge),la-=.2*Math.cos((4*r1-63)*Ge);let ot=1+.015*C*la,e8=30*Math.exp(-1*((r1-275)/25)**2),a8=2*Math.sqrt(a1/(a1+j6)),p8=-1*Math.sin(2*e8*Ge)*a8,Ga=(D/(p*ap))**2;return Ga+=(R/(t*mt))**2,Ga+=(m1/(d*ot))**2,Ga+=p8*(R/(t*mt))*(m1/(d*ot)),Math.sqrt(Ga)}var dl=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],rl=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],il=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],sl=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],We=new S({id:"oklab",name:"Oklab",coords:{l:{refRange:[0,1],name:"Lightness"},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:"D65",base:e1,fromBase(e){let p=O(dl,e).map(t=>Math.cbrt(t));return O(il,p)},toBase(e){let p=O(sl,e).map(t=>t**3);return O(rl,p)},formats:{oklab:{coords:["<percentage> | <number>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function g0(e,a){[e,a]=T([e,a]);let[p,t,d]=We.from(e),[r,i,n]=We.from(a),s=p-r,l=t-i,o=d-n;return Math.sqrt(s**2+l**2+o**2)}var nl=75e-6;function Se(e,a,{epsilon:p=nl}={}){e=T(e),a||(a=e.space),a=S.get(a);let t=e.coords;return a!==e.space&&(t=a.from(e)),a.inGamut(t,{epsilon:p})}function Ye(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function $4(e,a,p="lab"){p=S.get(p);let t=p.from(e),d=p.from(a);return Math.sqrt(t.reduce((r,i,n)=>{let s=d[n];return isNaN(i)||isNaN(s)?r:r+(s-i)**2},0))}function ll(e,a){return $4(e,a,"lab")}var ml=Math.PI,$6=ml/180;function ol(e,a,{l:p=2,c:t=1}={}){[e,a]=T([e,a]);let[d,r,i]=f1.from(e),[,n,s]=Pa.from(f1,[d,r,i]),[l,o,m]=f1.from(a),c=Pa.from(f1,[l,o,m])[1];n<0&&(n=0),c<0&&(c=0);let v=d-l,f=n-c,h=r-o,g=i-m,_=h**2+g**2-f**2,w=.511;d>=16&&(w=.040975*d/(1+.01765*d));let b=.0638*n/(1+.0131*n)+.638,y;Number.isNaN(s)&&(s=0),s>=164&&s<=345?y=.56+Math.abs(.2*Math.cos((s+168)*$6)):y=.36+Math.abs(.4*Math.cos((s+35)*$6));let N=Math.pow(n,4),D=Math.sqrt(N/(N+1900)),R=b*(D*y+1-D),V=(v/(p*w))**2;return V+=(f/(t*b))**2,V+=_/R**2,Math.sqrt(V)}var H6=203,A0=new S({id:"xyz-abs-d65",cssId:"--xyz-abs-d65",name:"Absolute XYZ D65",coords:{x:{refRange:[0,9504.7],name:"Xa"},y:{refRange:[0,1e4],name:"Ya"},z:{refRange:[0,10888.3],name:"Za"}},base:e1,fromBase(e){return e.map(a=>Math.max(a*H6,0))},toBase(e){return e.map(a=>Math.max(a/H6,0))}}),A2=1.15,V2=.66,G6=2610/2**14,ul=2**14/2610,K6=3424/2**12,J6=2413/2**7,Z6=2392/2**7,cl=1.7*2523/2**5,W6=2**5/(1.7*2523),E2=-.56,i0=16295499532821565e-27,fl=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],hl=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],vl=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],gl=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]],H4=new S({id:"jzazbz",name:"Jzazbz",coords:{jz:{refRange:[0,1],name:"Jz"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:A0,fromBase(e){let[a,p,t]=e,d=A2*a-(A2-1)*t,r=V2*p-(V2-1)*a,n=O(fl,[d,r,t]).map(function(c){let v=K6+J6*(c/1e4)**G6,f=1+Z6*(c/1e4)**G6;return(v/f)**cl}),[s,l,o]=O(vl,n);return[(1+E2)*s/(1+E2*s)-i0,l,o]},toBase(e){let[a,p,t]=e,d=(a+i0)/(1+E2-E2*(a+i0)),i=O(gl,[d,p,t]).map(function(c){let v=K6-c**W6,f=Z6*c**W6-J6;return 1e4*(v/f)**ul}),[n,s,l]=O(hl,i),o=(n+(A2-1)*l)/A2,m=(s+(V2-1)*o)/V2;return[o,m,l]},formats:{color:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),w0=new S({id:"jzczhz",name:"JzCzHz",coords:{jz:{refRange:[0,1],name:"Jz"},cz:{refRange:[0,1],name:"Chroma"},hz:{refRange:[0,360],type:"angle",name:"Hue"}},base:H4,fromBase(e){let[a,p,t]=e,d,r=2e-4;return Math.abs(p)<r&&Math.abs(t)<r?d=NaN:d=Math.atan2(t,p)*180/Math.PI,[a,Math.sqrt(p**2+t**2),R1(d)]},toBase(e){return[e[0],e[1]*Math.cos(e[2]*Math.PI/180),e[1]*Math.sin(e[2]*Math.PI/180)]}});function wl(e,a){[e,a]=T([e,a]);let[p,t,d]=w0.from(e),[r,i,n]=w0.from(a),s=p-r,l=t-i;Number.isNaN(d)&&Number.isNaN(n)?(d=0,n=0):Number.isNaN(d)?d=n:Number.isNaN(n)&&(n=d);let o=d-n,m=2*Math.sqrt(t*i)*Math.sin(o/2*(Math.PI/180));return Math.sqrt(s**2+l**2+m**2)}var G4=3424/4096,K4=2413/128,J4=2392/128,Y6=2610/16384,_l=2523/32,bl=16384/2610,X6=32/2523,yl=[[.3592832590121217,.6976051147779502,-.035891593232029],[-.1920808463704993,1.100476797037432,.0753748658519118],[.0070797844607479,.0748396662186362,.8433265453898765]],Sl=[[2048/4096,2048/4096,0],[6610/4096,-13613/4096,7003/4096],[17933/4096,-17390/4096,-543/4096]],Nl=[[.9999999999999998,.0086090370379328,.111029625003026],[.9999999999999998,-.0086090370379328,-.1110296250030259],[.9999999999999998,.5600313357106791,-.3206271749873188]],Tl=[[2.0701522183894223,-1.3263473389671563,.2066510476294053],[.3647385209748072,.6805660249472273,-.0453045459220347],[-.0497472075358123,-.0492609666966131,1.1880659249923042]],_0=new S({id:"ictcp",name:"ICTCP",coords:{i:{refRange:[0,1],name:"I"},ct:{refRange:[-.5,.5],name:"CT"},cp:{refRange:[-.5,.5],name:"CP"}},base:A0,fromBase(e){let a=O(yl,e);return xl(a)},toBase(e){let a=Dl(e);return O(Tl,a)}});function xl(e){let a=e.map(function(p){let t=G4+K4*(p/1e4)**Y6,d=1+J4*(p/1e4)**Y6;return(t/d)**_l});return O(Sl,a)}function Dl(e){return O(Nl,e).map(function(t){let d=Math.max(t**X6-G4,0),r=K4-J4*t**X6;return 1e4*(d/r)**bl})}function Cl(e,a){[e,a]=T([e,a]);let[p,t,d]=_0.from(e),[r,i,n]=_0.from(a);return 720*Math.sqrt((p-r)**2+.25*(t-i)**2+(d-n)**2)}var Al=n1.D65,Z4=.42,Q6=1/Z4,s0=2*Math.PI,W4=[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],Vl=[[1.8620678550872327,-1.0112546305316843,.14918677544445175],[.38752654323613717,.6214474419314753,-.008973985167612518],[-.015841498849333856,-.03412293802851557,1.0499644368778496]],El=[[460,451,288],[460,-891,-261],[460,-220,-6300]],Pl={dark:[.8,.525,.8],dim:[.9,.59,.9],average:[1,.69,1]},ye={h:[20.14,90,164.25,237.53,380.14],e:[.8,.7,1,1.2,.8],H:[0,100,200,300,400]},Ml=180/Math.PI,e4=Math.PI/180;function Y4(e,a){return e.map(t=>{let d=O1(a*Math.abs(t)*.01,Z4);return 400*B2(d,t)/(d+27.13)})}function kl(e,a){let p=100/a*27.13**Q6;return e.map(t=>{let d=Math.abs(t);return B2(p*O1(d/(400-d),Q6),t)})}function Ol(e){let a=R1(e);a<=ye.h[0]&&(a+=360);let p=j4(ye.h,a)-1,[t,d]=ye.h.slice(p,p+2),[r,i]=ye.e.slice(p,p+2),n=ye.H[p],s=(a-t)/r;return n+100*s/(s+(d-a)/i)}function Rl(e){let a=(e%400+400)%400,p=Math.floor(.01*a);a=a%100;let[t,d]=ye.h.slice(p,p+2),[r,i]=ye.e.slice(p,p+2);return R1((a*(i*t-r*d)-100*t*i)/(a*(i-r)-100*i))}function X4(e,a,p,t,d){let r={};r.discounting=d,r.refWhite=e,r.surround=t;let i=e.map(h=>h*100);r.la=a,r.yb=p;let n=i[1],s=O(W4,i);t=Pl[r.surround];let l=t[0];r.c=t[1],r.nc=t[2];let m=(1/(5*r.la+1))**4;r.fl=m*r.la+.1*(1-m)*(1-m)*Math.cbrt(5*r.la),r.flRoot=r.fl**.25,r.n=r.yb/n,r.z=1.48+Math.sqrt(r.n),r.nbb=.725*r.n**-.2,r.ncb=r.nbb;let c=d?1:Math.max(Math.min(l*(1-1/3.6*Math.exp((-r.la-42)/92)),1),0);r.dRgb=s.map(h=>Ea(1,n/h,c)),r.dRgbInv=r.dRgb.map(h=>1/h);let v=s.map((h,g)=>h*r.dRgb[g]),f=Y4(v,r.fl);return r.aW=r.nbb*(2*f[0]+f[1]+.05*f[2]),r}var a4=X4(Al,64/Math.PI*.2,20,"average",!1);function b0(e,a){if(!(e.J!==void 0^e.Q!==void 0))throw new Error("Conversion requires one and only one: 'J' or 'Q'");if(!(e.C!==void 0^e.M!==void 0^e.s!==void 0))throw new Error("Conversion requires one and only one: 'C', 'M' or 's'");if(!(e.h!==void 0^e.H!==void 0))throw new Error("Conversion requires one and only one: 'h' or 'H'");if(e.J===0||e.Q===0)return[0,0,0];let p=0;e.h!==void 0?p=R1(e.h)*e4:p=Rl(e.H)*e4;let t=Math.cos(p),d=Math.sin(p),r=0;e.J!==void 0?r=O1(e.J,1/2)*.1:e.Q!==void 0&&(r=.25*a.c*e.Q/((a.aW+4)*a.flRoot));let i=0;e.C!==void 0?i=e.C/r:e.M!==void 0?i=e.M/a.flRoot/r:e.s!==void 0&&(i=4e-4*e.s**2*(a.aW+4)/a.c);let n=O1(i*Math.pow(1.64-Math.pow(.29,a.n),-.73),10/9),s=.25*(Math.cos(p+2)+3.8),l=a.aW*O1(r,2/a.c/a.z),o=5e4/13*a.nc*a.ncb*s,m=l/a.nbb,c=23*(m+.305)*x0(n,23*o+n*(11*t+108*d)),v=c*t,f=c*d,h=kl(O(El,[m,v,f]).map(g=>g*1/1403),a.fl);return O(Vl,h.map((g,_)=>g*a.dRgbInv[_])).map(g=>g/100)}function Q4(e,a){let p=e.map(b=>b*100),t=Y4(O(W4,p).map((b,y)=>b*a.dRgb[y]),a.fl),d=t[0]+(-12*t[1]+t[2])/11,r=(t[0]+t[1]-2*t[2])/9,i=(Math.atan2(r,d)%s0+s0)%s0,n=.25*(Math.cos(i+2)+3.8),s=5e4/13*a.nc*a.ncb*x0(n*Math.sqrt(d**2+r**2),t[0]+t[1]+1.05*t[2]+.305),l=O1(s,.9)*Math.pow(1.64-Math.pow(.29,a.n),.73),o=a.nbb*(2*t[0]+t[1]+.05*t[2]),m=O1(o/a.aW,.5*a.c*a.z),c=100*O1(m,2),v=4/a.c*m*(a.aW+4)*a.flRoot,f=l*m,h=f*a.flRoot,g=R1(i*Ml),_=Ol(g),w=50*O1(a.c*l/(a.aW+4),1/2);return{J:c,C:f,h:g,s:w,Q:v,M:h,H:_}}var ql=new S({id:"cam16-jmh",cssId:"--cam16-jmh",name:"CAM16-JMh",coords:{j:{refRange:[0,100],name:"J"},m:{refRange:[0,105],name:"Colorfulness"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:e1,fromBase(e){let a=Q4(e,a4);return[a.J,a.M,a.h]},toBase(e){return b0({J:e[0],M:e[1],h:e[2]},a4)}}),Ll=n1.D65,Il=216/24389,er=24389/27;function Fl(e){return 116*(e>Il?Math.cbrt(e):(er*e+16)/116)-16}function y0(e){return e>8?Math.pow((e+16)/116,3):e/er}function Bl(e,a){let[p,t,d]=e,r=[],i=0;if(d===0)return[0,0,0];let n=y0(d);d>0?i=.00379058511492914*d**2+.608983189401032*d+.9155088574762233:i=9514440756550361e-21*d**2+.08693057439788597*d-21.928975842194614;let s=2e-12,l=15,o=0,m=1/0;for(;o<=l;){r=b0({J:i,C:t,h:p},a);let c=Math.abs(r[1]-n);if(c<m){if(c<=s)return r;m=c}i=i-(r[1]-n)*i/(2*r[1]),o+=1}return b0({J:i,C:t,h:p},a)}function jl(e,a){let p=Fl(e[1]);if(p===0)return[0,0,0];let t=Q4(e,V0);return[R1(t.h),t.C,p]}var V0=X4(Ll,200/Math.PI*y0(50),y0(50)*100,"average",!1),Ma=new S({id:"hct",name:"HCT",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},c:{refRange:[0,145],name:"Colorfulness"},t:{refRange:[0,100],name:"Tone"}},base:e1,fromBase(e){return jl(e)},toBase(e){return Bl(e,V0)},formats:{color:{id:"--hct",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),zl=Math.PI/180,p4=[1,.007,.0228];function t4(e){e[1]<0&&(e=Ma.fromBase(Ma.toBase(e)));let a=Math.log(Math.max(1+p4[2]*e[1]*V0.flRoot,1))/p4[2],p=e[0]*zl,t=a*Math.cos(p),d=a*Math.sin(p);return[e[2],t,d]}function Ul(e,a){[e,a]=T([e,a]);let[p,t,d]=t4(Ma.from(e)),[r,i,n]=t4(Ma.from(a));return Math.sqrt((p-r)**2+(t-i)**2+(d-n)**2)}var Xe={deltaE76:ll,deltaECMC:ol,deltaE2000:U4,deltaEJz:wl,deltaEITP:Cl,deltaEOK:g0,deltaEHCT:Ul};function $l(e){let a=e?Math.floor(Math.log10(Math.abs(e))):0;return Math.max(parseFloat(`1e${a-2}`),1e-6)}var d4={hct:{method:"hct.c",jnd:2,deltaEMethod:"hct",blackWhiteClamp:{}},"hct-tonal":{method:"hct.c",jnd:0,deltaEMethod:"hct",blackWhiteClamp:{channel:"hct.t",min:0,max:100}}};function re(e,{method:a=h1.gamut_mapping,space:p=void 0,deltaEMethod:t="",jnd:d=2,blackWhiteClamp:r={}}={}){if(e=T(e),ka(arguments[1])?p=arguments[1]:p||(p=e.space),p=S.get(p),Se(e,p,{epsilon:0}))return e;let i;if(a==="css")i=Hl(e,{space:p});else{if(a!=="clip"&&!Se(e,p)){Object.prototype.hasOwnProperty.call(d4,a)&&({method:a,jnd:d,deltaEMethod:t,blackWhiteClamp:r}=d4[a]);let n=U4;if(t!==""){for(let l in Xe)if("deltae"+t.toLowerCase()===l.toLowerCase()){n=Xe[l];break}}let s=re(k(e,p),{method:"clip",space:p});if(n(e,s)>d){if(Object.keys(r).length===3){let w=S.resolveCoord(r.channel),b=c1(k(e,w.space),w.id);if(te(b)&&(b=0),b>=r.max)return k({space:"xyz-d65",coords:n1.D65},e.space);if(b<=r.min)return k({space:"xyz-d65",coords:[0,0,0]},e.space)}let l=S.resolveCoord(a),o=l.space,m=l.id,c=k(e,o);c.coords.forEach((w,b)=>{te(w)&&(c.coords[b]=0)});let f=(l.range||l.refRange)[0],h=$l(d),g=f,_=c1(c,m);for(;_-g>h;){let w=Ye(c);w=re(w,{space:p,method:"clip"}),n(c,w)-d<h?g=c1(c,m):_=c1(c,m),H1(c,m,(g+_)/2)}i=k(c,p)}else i=s}else i=k(e,p);if(a==="clip"||!Se(i,p,{epsilon:0})){let n=Object.values(p.coords).map(s=>s.range||[]);i.coords=i.coords.map((s,l)=>{let[o,m]=n[l];return o!==void 0&&(s=Math.max(o,s)),m!==void 0&&(s=Math.min(s,m)),s})}}return p!==e.space&&(i=k(i,e.space)),e.coords=i.coords,e}re.returns="color";var r4={WHITE:{space:We,coords:[1,0,0]},BLACK:{space:We,coords:[0,0,0]}};function Hl(e,{space:a}={}){e=T(e),a||(a=e.space),a=S.get(a);let d=S.get("oklch");if(a.isUnbounded)return k(e,a);let r=k(e,d),i=r.coords[0];if(i>=1){let f=k(r4.WHITE,a);return f.alpha=e.alpha,k(f,a)}if(i<=0){let f=k(r4.BLACK,a);return f.alpha=e.alpha,k(f,a)}if(Se(r,a,{epsilon:0}))return k(r,a);function n(f){let h=k(f,a),g=Object.values(a.coords);return h.coords=h.coords.map((_,w)=>{if("range"in g[w]){let[b,y]=g[w].range;return B4(b,_,y)}return _}),h}let s=0,l=r.coords[1],o=!0,m=Ye(r),c=n(m),v=g0(c,m);if(v<.02)return c;for(;l-s>1e-4;){let f=(s+l)/2;if(m.coords[1]=f,o&&Se(m,a,{epsilon:0}))s=f;else if(c=n(m),v=g0(c,m),v<.02){if(.02-v<1e-4)break;o=!1,s=f}else l=f}return c}function k(e,a,{inGamut:p}={}){e=T(e),a=S.get(a);let t=a.from(e),d={space:a,coords:t,alpha:e.alpha};return p&&(d=re(d,p===!0?void 0:p)),d}k.returns="color";function Va(e,{precision:a=h1.precision,format:p="default",inGamut:t=!0,...d}={}){let r;e=T(e);let i=p;p=e.space.getFormat(p)??e.space.getFormat("default")??S.DEFAULT_FORMAT;let n=e.coords.slice();if(t||=p.toGamut,t&&!Se(e)&&(n=re(Ye(e),t===!0?void 0:t).coords),p.type==="custom")if(d.precision=a,p.serialize)r=p.serialize(n,e.alpha,d);else throw new TypeError(`format ${i} can only be used to parse colors, not for serialization`);else{let s=p.name||"color";p.serializeCoords?n=p.serializeCoords(n,a):a!==null&&(n=n.map(c=>q2(c,{precision:a})));let l=[...n];if(s==="color"){let c=p.id||p.ids?.[0]||e.space.id;l.unshift(c)}let o=e.alpha;a!==null&&(o=q2(o,{precision:a}));let m=e.alpha>=1||p.noAlpha?"":`${p.commas?",":" /"} ${o}`;r=`${s}(${l.join(p.commas?", ":" ")}${m})`}return r}var Gl=[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],Kl=[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]],j2=new d1({id:"rec2020-linear",cssId:"--rec2020-linear",name:"Linear REC.2020",white:"D65",toXYZ_M:Gl,fromXYZ_M:Kl}),P2=1.09929682680944,i4=.018053968510807,ar=new d1({id:"rec2020",name:"REC.2020",base:j2,toBase(e){return e.map(function(a){return a<i4*4.5?a/4.5:Math.pow((a+P2-1)/P2,1/.45)})},fromBase(e){return e.map(function(a){return a>=i4?P2*Math.pow(a,.45)-(P2-1):4.5*a})}}),Jl=[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],Zl=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]],pr=new d1({id:"p3-linear",cssId:"--display-p3-linear",name:"Linear P3",white:"D65",toXYZ_M:Jl,fromXYZ_M:Zl}),Wl=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],$=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],tr=new d1({id:"srgb-linear",name:"Linear sRGB",white:"D65",toXYZ_M:Wl,fromXYZ_M:$}),s4={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[153/255,50/255,204/255],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,153/255],lightslategrey:[119/255,136/255,153/255],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[102/255,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,204/255],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[102/255,51/255,153/255],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]},n4=Array(3).fill("<percentage> | <number>[0, 255]"),l4=Array(3).fill("<number>[0, 255]"),Qe=new d1({id:"srgb",name:"sRGB",base:tr,fromBase:e=>e.map(a=>{let p=a<0?-1:1,t=a*p;return t>.0031308?p*(1.055*t**(1/2.4)-.055):12.92*a}),toBase:e=>e.map(a=>{let p=a<0?-1:1,t=a*p;return t<=.04045?a/12.92:p*((t+.055)/1.055)**2.4}),formats:{rgb:{coords:n4},rgb_number:{name:"rgb",commas:!0,coords:l4,noAlpha:!0},color:{},rgba:{coords:n4,commas:!0,lastAlpha:!0},rgba_number:{name:"rgba",commas:!0,coords:l4},hex:{type:"custom",toGamut:!0,test:e=>/^#([a-f0-9]{3,4}){1,2}$/i.test(e),parse(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,"$&$&"));let a=[];return e.replace(/[a-f0-9]{2}/gi,p=>{a.push(parseInt(p,16)/255)}),{spaceId:"srgb",coords:a.slice(0,3),alpha:a.slice(3)[0]}},serialize:(e,a,{collapse:p=!0}={})=>{a<1&&e.push(a),e=e.map(r=>Math.round(r*255));let t=p&&e.every(r=>r%17===0);return"#"+e.map(r=>t?(r/17).toString(16):r.toString(16).padStart(2,"0")).join("")}},keyword:{type:"custom",test:e=>/^[a-z]+$/i.test(e),parse(e){e=e.toLowerCase();let a={spaceId:"srgb",coords:null,alpha:1};if(e==="transparent"?(a.coords=s4.black,a.alpha=0):a.coords=s4[e],a.coords)return a}}}}),dr=new d1({id:"p3",cssId:"display-p3",name:"P3",base:pr,fromBase:Qe.fromBase,toBase:Qe.toBase});h1.display_space=Qe;var Yl;if(typeof CSS<"u"&&CSS.supports)for(let e of[f1,ar,dr]){let a=e.getMinCoords(),t=Va({space:e,coords:a,alpha:1});if(CSS.supports("color",t)){h1.display_space=e;break}}function Xl(e,{space:a=h1.display_space,...p}={}){let t=Va(e,p);if(typeof CSS>"u"||CSS.supports("color",t)||!h1.display_space)t=new String(t),t.color=e;else{let d=e;if((e.coords.some(te)||te(e.alpha))&&!(Yl??=CSS.supports("color","hsl(none 50% 50%)"))&&(d=Ye(e),d.coords=d.coords.map(z),d.alpha=z(d.alpha),t=Va(d,p),CSS.supports("color",t)))return t=new String(t),t.color=d,t;d=k(d,a),t=new String(Va(d,p)),t.color=d}return t}function Ql(e,a){return e=T(e),a=T(a),e.space===a.space&&e.alpha===a.alpha&&e.coords.every((p,t)=>p===a.coords[t])}function ie(e){return c1(e,[e1,"y"])}function rr(e,a){H1(e,[e1,"y"],a)}function em(e){Object.defineProperty(e.prototype,"luminance",{get(){return ie(this)},set(a){rr(this,a)}})}var am=Object.freeze({__proto__:null,getLuminance:ie,register:em,setLuminance:rr});function pm(e,a){e=T(e),a=T(a);let p=Math.max(ie(e),0),t=Math.max(ie(a),0);return t>p&&([p,t]=[t,p]),(p+.05)/(t+.05)}var tm=.56,dm=.57,rm=.62,im=.65,m4=.022,sm=1.414,nm=.1,lm=5e-4,mm=1.14,o4=.027,om=1.14;function u4(e){return e>=m4?e:e+(m4-e)**sm}function Ke(e){let a=e<0?-1:1,p=Math.abs(e);return a*Math.pow(p,2.4)}function um(e,a){a=T(a),e=T(e);let p,t,d,r,i,n;a=k(a,"srgb"),[r,i,n]=a.coords;let s=Ke(r)*.2126729+Ke(i)*.7151522+Ke(n)*.072175;e=k(e,"srgb"),[r,i,n]=e.coords;let l=Ke(r)*.2126729+Ke(i)*.7151522+Ke(n)*.072175,o=u4(s),m=u4(l),c=m>o;return Math.abs(m-o)<lm?t=0:c?(p=m**tm-o**dm,t=p*mm):(p=m**im-o**rm,t=p*om),Math.abs(t)<nm?d=0:t>0?d=t-o4:d=t+o4,d*100}function cm(e,a){e=T(e),a=T(a);let p=Math.max(ie(e),0),t=Math.max(ie(a),0);t>p&&([p,t]=[t,p]);let d=p+t;return d===0?0:(p-t)/d}var fm=5e4;function hm(e,a){e=T(e),a=T(a);let p=Math.max(ie(e),0),t=Math.max(ie(a),0);return t>p&&([p,t]=[t,p]),t===0?fm:(p-t)/t}function vm(e,a){e=T(e),a=T(a);let p=c1(e,[f1,"l"]),t=c1(a,[f1,"l"]);return Math.abs(p-t)}var gm=216/24389,c4=24/116,M2=24389/27,n0=n1.D65,S0=new S({id:"lab-d65",name:"Lab D65",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:n0,base:e1,fromBase(e){let p=e.map((t,d)=>t/n0[d]).map(t=>t>gm?Math.cbrt(t):(M2*t+16)/116);return[116*p[1]-16,500*(p[0]-p[1]),200*(p[1]-p[2])]},toBase(e){let a=[];return a[1]=(e[0]+16)/116,a[0]=e[1]/500+a[1],a[2]=a[1]-e[2]/200,[a[0]>c4?Math.pow(a[0],3):(116*a[0]-16)/M2,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/M2,a[2]>c4?Math.pow(a[2],3):(116*a[2]-16)/M2].map((t,d)=>t*n0[d])},formats:{"lab-d65":{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),l0=Math.pow(5,.5)*.5+.5;function wm(e,a){e=T(e),a=T(a);let p=c1(e,[S0,"l"]),t=c1(a,[S0,"l"]),d=Math.abs(Math.pow(p,l0)-Math.pow(t,l0)),r=Math.pow(d,1/l0)*Math.SQRT2-40;return r<7.5?0:r}var R2=Object.freeze({__proto__:null,contrastAPCA:um,contrastDeltaPhi:wm,contrastLstar:vm,contrastMichelson:cm,contrastWCAG21:pm,contrastWeber:hm});function _m(e,a,p={}){ka(p)&&(p={algorithm:p});let{algorithm:t,...d}=p;if(!t){let r=Object.keys(R2).map(i=>i.replace(/^contrast/,"")).join(", ");throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${r}`)}e=T(e),a=T(a);for(let r in R2)if("contrast"+t.toLowerCase()===r.toLowerCase())return R2[r](e,a,d);throw new TypeError(`Unknown contrast algorithm: ${t}`)}function z2(e){let[a,p,t]=Oa(e,e1),d=a+15*p+3*t;return[4*a/d,9*p/d]}function ir(e){let[a,p,t]=Oa(e,e1),d=a+p+t;return[a/d,p/d]}function bm(e){Object.defineProperty(e.prototype,"uv",{get(){return z2(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return ir(this)}})}var ym=Object.freeze({__proto__:null,register:bm,uv:z2,xy:ir});function Aa(e,a,p={}){ka(p)&&(p={method:p});let{method:t=h1.deltaE,...d}=p;for(let r in Xe)if("deltae"+t.toLowerCase()===r.toLowerCase())return Xe[r](e,a,d);throw new TypeError(`Unknown deltaE method: ${t}`)}function Sm(e,a=.25){let t=[S.get("oklch","lch"),"l"];return H1(e,t,d=>d*(1+a))}function Nm(e,a=.25){let t=[S.get("oklch","lch"),"l"];return H1(e,t,d=>d*(1-a))}var Tm=Object.freeze({__proto__:null,darken:Nm,lighten:Sm});function sr(e,a,p=.5,t={}){return[e,a]=[T(e),T(a)],pe(p)==="object"&&([p,t]=[.5,p]),Ra(e,a,t)(p)}function nr(e,a,p={}){let t;E0(e)&&([t,p]=[e,a],[e,a]=t.rangeArgs.colors);let{maxDeltaE:d,deltaEMethod:r,steps:i=2,maxSteps:n=1e3,...s}=p;t||([e,a]=[T(e),T(a)],t=Ra(e,a,s));let l=Aa(e,a),o=d>0?Math.max(i,Math.ceil(l/d)+1):i,m=[];if(n!==void 0&&(o=Math.min(o,n)),o===1)m=[{p:.5,color:t(.5)}];else{let c=1/(o-1);m=Array.from({length:o},(v,f)=>{let h=f*c;return{p:h,color:t(h)}})}if(d>0){let c=m.reduce((v,f,h)=>{if(h===0)return 0;let g=Aa(f.color,m[h-1].color,r);return Math.max(v,g)},0);for(;c>d;){c=0;for(let v=1;v<m.length&&m.length<n;v++){let f=m[v-1],h=m[v],g=(h.p+f.p)/2,_=t(g);c=Math.max(c,Aa(_,f.color),Aa(_,h.color)),m.splice(v,0,{p:g,color:t(g)}),v++}}}return m=m.map(c=>c.color),m}function Ra(e,a,p={}){if(E0(e)){let[s,l]=[e,a];return Ra(...s.rangeArgs.colors,{...s.rangeArgs.options,...l})}let{space:t,outputSpace:d,progression:r,premultiplied:i}=p;e=T(e),a=T(a),e=Ye(e),a=Ye(a);let n={colors:[e,a],options:p};if(t?t=S.get(t):t=S.registry[h1.interpolationSpace]||e.space,d=d?S.get(d):t,e=k(e,t),a=k(a,t),e=re(e),a=re(a),t.coords.h&&t.coords.h.type==="angle"){let s=p.hue=p.hue||"shorter",l=[t,"h"],[o,m]=[c1(e,l),c1(a,l)];isNaN(o)&&!isNaN(m)?o=m:isNaN(m)&&!isNaN(o)&&(m=o),[o,m]=tl(s,[o,m]),H1(e,l,o),H1(a,l,m)}return i&&(e.coords=e.coords.map(s=>s*e.alpha),a.coords=a.coords.map(s=>s*a.alpha)),Object.assign(s=>{s=r?r(s):s;let l=e.coords.map((c,v)=>{let f=a.coords[v];return Ea(c,f,s)}),o=Ea(e.alpha,a.alpha,s),m={space:t,coords:l,alpha:o};return i&&(m.coords=m.coords.map(c=>c/o)),d!==t&&(m=k(m,d)),m},{rangeArgs:n})}function E0(e){return pe(e)==="function"&&!!e.rangeArgs}h1.interpolationSpace="lab";function xm(e){e.defineFunction("mix",sr,{returns:"color"}),e.defineFunction("range",Ra,{returns:"function<color>"}),e.defineFunction("steps",nr,{returns:"array<color>"})}var Dm=Object.freeze({__proto__:null,isRange:E0,mix:sr,range:Ra,register:xm,steps:nr}),lr=new S({id:"hsl",name:"HSL",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:Qe,fromBase:e=>{let a=Math.max(...e),p=Math.min(...e),[t,d,r]=e,[i,n,s]=[NaN,0,(p+a)/2],l=a-p;if(l!==0){switch(n=s===0||s===1?0:(a-s)/Math.min(s,1-s),a){case t:i=(d-r)/l+(d<r?6:0);break;case d:i=(r-t)/l+2;break;case r:i=(t-d)/l+4}i=i*60}return n<0&&(i+=180,n=Math.abs(n)),i>=360&&(i-=360),[i,n*100,s*100]},toBase:e=>{let[a,p,t]=e;a=a%360,a<0&&(a+=360),p/=100,t/=100;function d(r){let i=(r+a/30)%12,n=p*Math.min(t,1-t);return t-n*Math.max(-1,Math.min(i-3,9-i,1))}return[d(0),d(8),d(4)]},formats:{hsl:{coords:["<number> | <angle>","<percentage>","<percentage>"]},hsla:{coords:["<number> | <angle>","<percentage>","<percentage>"],commas:!0,lastAlpha:!0}}}),mr=new S({id:"hsv",name:"HSV",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},v:{range:[0,100],name:"Value"}},base:lr,fromBase(e){let[a,p,t]=e;p/=100,t/=100;let d=t+p*Math.min(t,1-t);return[a,d===0?0:200*(1-t/d),100*d]},toBase(e){let[a,p,t]=e;p/=100,t/=100;let d=t*(1-p/2);return[a,d===0||d===1?0:(t-d)/Math.min(d,1-d)*100,d*100]},formats:{color:{id:"--hsv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),Cm=new S({id:"hwb",name:"HWB",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},w:{range:[0,100],name:"Whiteness"},b:{range:[0,100],name:"Blackness"}},base:mr,fromBase(e){let[a,p,t]=e;return[a,t*(100-p)/100,100-t]},toBase(e){let[a,p,t]=e;p/=100,t/=100;let d=p+t;if(d>=1){let n=p/d;return[a,0,n*100]}let r=1-t,i=r===0?0:1-p/r;return[a,i*100,r*100]},formats:{hwb:{coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),Am=[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],Vm=[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]],or=new d1({id:"a98rgb-linear",cssId:"--a98-rgb-linear",name:"Linear Adobe\xAE 98 RGB compatible",white:"D65",toXYZ_M:Am,fromXYZ_M:Vm}),Em=new d1({id:"a98rgb",cssId:"a98-rgb",name:"Adobe\xAE 98 RGB compatible",base:or,toBase:e=>e.map(a=>Math.pow(Math.abs(a),563/256)*Math.sign(a)),fromBase:e=>e.map(a=>Math.pow(Math.abs(a),256/563)*Math.sign(a))}),Pm=[[.7977666449006423,.13518129740053308,.0313477341283922],[.2880748288194013,.711835234241873,8993693872564e-17],[0,0,.8251046025104602]],Mm=[[1.3457868816471583,-.25557208737979464,-.05110186497554526],[-.5446307051249019,1.5082477428451468,.02052744743642139],[0,0,1.2119675456389452]],ur=new d1({id:"prophoto-linear",cssId:"--prophoto-rgb-linear",name:"Linear ProPhoto",white:"D50",base:C0,toXYZ_M:Pm,fromXYZ_M:Mm}),km=1/512,Om=16/512,Rm=new d1({id:"prophoto",cssId:"prophoto-rgb",name:"ProPhoto",base:ur,toBase(e){return e.map(a=>a<Om?a/16:a**1.8)},fromBase(e){return e.map(a=>a>=km?a**(1/1.8):16*a)}}),qm=new S({id:"oklch",name:"Oklch",coords:{l:{refRange:[0,1],name:"Lightness"},c:{refRange:[0,.4],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},white:"D65",base:We,fromBase(e){let[a,p,t]=e,d,r=2e-4;return Math.abs(p)<r&&Math.abs(t)<r?d=NaN:d=Math.atan2(t,p)*180/Math.PI,[a,Math.sqrt(p**2+t**2),R1(d)]},toBase(e){let[a,p,t]=e,d,r;return isNaN(t)?(d=0,r=0):(d=p*Math.cos(t*Math.PI/180),r=p*Math.sin(t*Math.PI/180)),[a,d,r]},formats:{oklch:{coords:["<percentage> | <number>","<number> | <percentage>[0,1]","<number> | <angle>"]}}}),cr=n1.D65,Lm=216/24389,f4=24389/27,[h4,v4]=z2({space:e1,coords:cr}),fr=new S({id:"luv",name:"Luv",coords:{l:{refRange:[0,100],name:"Lightness"},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:cr,base:e1,fromBase(e){let a=[z(e[0]),z(e[1]),z(e[2])],p=a[1],[t,d]=z2({space:e1,coords:a});if(!Number.isFinite(t)||!Number.isFinite(d))return[0,0,0];let r=p<=Lm?f4*p:116*Math.cbrt(p)-16;return[r,13*r*(t-h4),13*r*(d-v4)]},toBase(e){let[a,p,t]=e;if(a===0||te(a))return[0,0,0];p=z(p),t=z(t);let d=p/(13*a)+h4,r=t/(13*a)+v4,i=a<=8?a/f4:Math.pow((a+16)/116,3);return[i*(9*d/(4*r)),i,i*((12-3*d-20*r)/(4*r))]},formats:{color:{id:"--luv",coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),P0=new S({id:"lchuv",name:"LChuv",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,220],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:fr,fromBase(e){let[a,p,t]=e,d,r=.02;return Math.abs(p)<r&&Math.abs(t)<r?d=NaN:d=Math.atan2(t,p)*180/Math.PI,[a,Math.sqrt(p**2+t**2),R1(d)]},toBase(e){let[a,p,t]=e;return p<0&&(p=0),isNaN(t)&&(t=0),[a,p*Math.cos(t*Math.PI/180),p*Math.sin(t*Math.PI/180)]},formats:{color:{id:"--lchuv",coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}}),Im=216/24389,Fm=24389/27,g4=$[0][0],w4=$[0][1],m0=$[0][2],_4=$[1][0],b4=$[1][1],o0=$[1][2],y4=$[2][0],S4=$[2][1],u0=$[2][2];function Je(e,a,p){let t=a/(Math.sin(p)-e*Math.cos(p));return t<0?1/0:t}function F2(e){let a=Math.pow(e+16,3)/1560896,p=a>Im?a:e/Fm,t=p*(284517*g4-94839*m0),d=p*(838422*m0+769860*w4+731718*g4),r=p*(632260*m0-126452*w4),i=p*(284517*_4-94839*o0),n=p*(838422*o0+769860*b4+731718*_4),s=p*(632260*o0-126452*b4),l=p*(284517*y4-94839*u0),o=p*(838422*u0+769860*S4+731718*y4),m=p*(632260*u0-126452*S4);return{r0s:t/r,r0i:d*e/r,r1s:t/(r+126452),r1i:(d-769860)*e/(r+126452),g0s:i/s,g0i:n*e/s,g1s:i/(s+126452),g1i:(n-769860)*e/(s+126452),b0s:l/m,b0i:o*e/m,b1s:l/(m+126452),b1i:(o-769860)*e/(m+126452)}}function N4(e,a){let p=a/360*Math.PI*2,t=Je(e.r0s,e.r0i,p),d=Je(e.r1s,e.r1i,p),r=Je(e.g0s,e.g0i,p),i=Je(e.g1s,e.g1i,p),n=Je(e.b0s,e.b0i,p),s=Je(e.b1s,e.b1i,p);return Math.min(t,d,r,i,n,s)}var Bm=new S({id:"hsluv",name:"HSLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:P0,gamutSpace:Qe,fromBase(e){let[a,p,t]=[z(e[0]),z(e[1]),z(e[2])],d;if(a>99.9999999)d=0,a=100;else if(a<1e-8)d=0,a=0;else{let r=F2(a),i=N4(r,t);d=p/i*100}return[t,d,a]},toBase(e){let[a,p,t]=[z(e[0]),z(e[1]),z(e[2])],d;if(t>99.9999999)t=100,d=0;else if(t<1e-8)t=0,d=0;else{let r=F2(t);d=N4(r,a)/100*p}return[t,d,a]},formats:{color:{id:"--hsluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});$[0][0];$[0][1];$[0][2];$[1][0];$[1][1];$[1][2];$[2][0];$[2][1];$[2][2];function Ze(e,a){return Math.abs(a)/Math.sqrt(Math.pow(e,2)+1)}function T4(e){let a=Ze(e.r0s,e.r0i),p=Ze(e.r1s,e.r1i),t=Ze(e.g0s,e.g0i),d=Ze(e.g1s,e.g1i),r=Ze(e.b0s,e.b0i),i=Ze(e.b1s,e.b1i);return Math.min(a,p,t,d,r,i)}var jm=new S({id:"hpluv",name:"HPLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:P0,gamutSpace:"self",fromBase(e){let[a,p,t]=[z(e[0]),z(e[1]),z(e[2])],d;if(a>99.9999999)d=0,a=100;else if(a<1e-8)d=0,a=0;else{let r=F2(a),i=T4(r);d=p/i*100}return[t,d,a]},toBase(e){let[a,p,t]=[z(e[0]),z(e[1]),z(e[2])],d;if(t>99.9999999)t=100,d=0;else if(t<1e-8)t=0,d=0;else{let r=F2(t);d=T4(r)/100*p}return[t,d,a]},formats:{color:{id:"--hpluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),x4=203,D4=2610/2**14,zm=2**14/2610,Um=2523/2**5,C4=2**5/2523,A4=3424/2**12,V4=2413/2**7,E4=2392/2**7,$m=new d1({id:"rec2100pq",cssId:"rec2100-pq",name:"REC.2100-PQ",base:j2,toBase(e){return e.map(function(a){return(Math.max(a**C4-A4,0)/(V4-E4*a**C4))**zm*1e4/x4})},fromBase(e){return e.map(function(a){let p=Math.max(a*x4/1e4,0),t=A4+V4*p**D4,d=1+E4*p**D4;return(t/d)**Um})}}),P4=.17883277,M4=.28466892,k4=.55991073,c0=3.7743,Hm=new d1({id:"rec2100hlg",cssId:"rec2100-hlg",name:"REC.2100-HLG",referred:"scene",base:j2,toBase(e){return e.map(function(a){return a<=.5?a**2/3*c0:(Math.exp((a-k4)/P4)+M4)/12*c0})},fromBase(e){return e.map(function(a){return a/=c0,a<=1/12?Math.sqrt(3*a):P4*Math.log(12*a-M4)+k4})}}),hr={};de.add("chromatic-adaptation-start",e=>{e.options.method&&(e.M=vr(e.W1,e.W2,e.options.method))});de.add("chromatic-adaptation-end",e=>{e.M||(e.M=vr(e.W1,e.W2,e.options.method))});function U2({id:e,toCone_M:a,fromCone_M:p}){hr[e]=arguments[0]}function vr(e,a,p="Bradford"){let t=hr[p],[d,r,i]=O(t.toCone_M,e),[n,s,l]=O(t.toCone_M,a),o=[[n/d,0,0],[0,s/r,0],[0,0,l/i]],m=O(o,t.toCone_M);return O(t.fromCone_M,m)}U2({id:"von Kries",toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599363874558397,-1.1293816185800916,.21989740959619328],[.3611914362417676,.6388124632850422,-6370596838649899e-21],[0,0,1.0890636230968613]]});U2({id:"Bradford",toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929054667121,-.14705425642099013,.15996265166373122],[.4323052697233945,.5183602715367774,.049291228212855594],[-.00852866457517732,.04004282165408486,.96848669578755]]});U2({id:"CAT02",toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238208355142,-.27886900021828726,.18274517938277307],[.4543690419753592,.4735331543074117,.07209780371722911],[-.009627608738429355,-.00569803121611342,1.0153256399545427]]});U2({id:"CAT16",toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.0112546305316845,.14918677544445172],[.3875265432361372,.6214474419314753,-.008973985167612521],[-.01584149884933386,-.03412293802851557,1.0499644368778496]]});Object.assign(n1,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]});n1.ACES=[.32168/.33767,1,(1-.32168-.33767)/.33767];var Gm=[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],Km=[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]],gr=new d1({id:"acescg",cssId:"--acescg",name:"ACEScg",coords:{r:{range:[0,65504],name:"Red"},g:{range:[0,65504],name:"Green"},b:{range:[0,65504],name:"Blue"}},referred:"scene",white:n1.ACES,toXYZ_M:Gm,fromXYZ_M:Km}),k2=2**-16,f0=-.35828683,O2=(Math.log2(65504)+9.72)/17.52,Jm=new d1({id:"acescc",cssId:"--acescc",name:"ACEScc",coords:{r:{range:[f0,O2],name:"Red"},g:{range:[f0,O2],name:"Green"},b:{range:[f0,O2],name:"Blue"}},referred:"scene",base:gr,toBase(e){let a=-.3013698630136986;return e.map(function(p){return p<=a?(2**(p*17.52-9.72)-k2)*2:p<O2?2**(p*17.52-9.72):65504})},fromBase(e){return e.map(function(a){return a<=0?(Math.log2(k2)+9.72)/17.52:a<k2?(Math.log2(k2+a*.5)+9.72)/17.52:(Math.log2(a)+9.72)/17.52})}}),O4=Object.freeze({__proto__:null,A98RGB:Em,A98RGB_Linear:or,ACEScc:Jm,ACEScg:gr,CAM16_JMh:ql,HCT:Ma,HPLuv:jm,HSL:lr,HSLuv:Bm,HSV:mr,HWB:Cm,ICTCP:_0,JzCzHz:w0,Jzazbz:H4,LCH:Pa,LCHuv:P0,Lab:f1,Lab_D65:S0,Luv:fr,OKLCH:qm,OKLab:We,P3:dr,P3_Linear:pr,ProPhoto:Rm,ProPhoto_Linear:ur,REC_2020:ar,REC_2020_Linear:j2,REC_2100_HLG:Hm,REC_2100_PQ:$m,XYZ_ABS_D65:A0,XYZ_D50:C0,XYZ_D65:e1,sRGB:Qe,sRGB_Linear:tr}),Y=class e{constructor(...a){let p;a.length===1&&(p=T(a[0]));let t,d,r;p?(t=p.space||p.spaceId,d=p.coords,r=p.alpha):[t,d,r]=a,Object.defineProperty(this,"space",{value:S.get(t),writable:!1,enumerable:!0,configurable:!0}),this.coords=d?d.slice():[0,0,0],this.alpha=r>1||r===void 0?1:r<0?0:r;for(let i=0;i<this.coords.length;i++)this.coords[i]==="NaN"&&(this.coords[i]=NaN);for(let i in this.space.coords)Object.defineProperty(this,i,{get:()=>this.get(i),set:n=>this.set(i,n)})}get spaceId(){return this.space.id}clone(){return new e(this.space,this.coords,this.alpha)}toJSON(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}display(...a){let p=Xl(this,...a);return p.color=new e(p.color),p}static get(a,...p){return a instanceof e?a:new e(a,...p)}static defineFunction(a,p,t=p){let{instance:d=!0,returns:r}=t,i=function(...n){let s=p(...n);if(r==="color")s=e.get(s);else if(r==="function<color>"){let l=s;s=function(...o){let m=l(...o);return e.get(m)},Object.assign(s,l)}else r==="array<color>"&&(s=s.map(l=>e.get(l)));return s};a in e||(e[a]=i),d&&(e.prototype[a]=function(...n){return i(this,...n)})}static defineFunctions(a){for(let p in a)e.defineFunction(p,a[p],a[p])}static extend(a){if(a.register)a.register(e);else for(let p in a)e.defineFunction(p,a[p])}};Y.defineFunctions({get:c1,getAll:Oa,set:H1,setAll:D0,to:k,equals:Ql,inGamut:Se,toGamut:re,distance:$4,toString:Va});Object.assign(Y,{util:Xn,hooks:de,WHITES:n1,Space:S,spaces:S.registry,parse:z4,defaults:h1});for(let e of Object.keys(O4))S.register(O4[e]);for(let e in S.registry)N0(e,S.registry[e]);de.add("colorspace-init-end",e=>{N0(e.id,e),e.aliases?.forEach(a=>{N0(a,e)})});function N0(e,a){let p=e.replace(/-/g,"_");Object.defineProperty(Y.prototype,p,{get(){let t=this.getAll(e);return typeof Proxy>"u"?t:new Proxy(t,{has:(d,r)=>{try{return S.resolveCoord([a,r]),!0}catch{}return Reflect.has(d,r)},get:(d,r,i)=>{if(r&&typeof r!="symbol"&&!(r in d)){let{index:n}=S.resolveCoord([a,r]);if(n>=0)return d[n]}return Reflect.get(d,r,i)},set:(d,r,i,n)=>{if(r&&typeof r!="symbol"&&!(r in d)||r>=0){let{index:s}=S.resolveCoord([a,r]);if(s>=0)return d[s]=i,this.setAll(e,d),!0}return Reflect.set(d,r,i,n)}})},set(t){this.setAll(e,t)},configurable:!0,enumerable:!0})}Y.extend(Xe);Y.extend({deltaE:Aa});Object.assign(Y,{deltaEMethods:Xe});Y.extend(Tm);Y.extend({contrast:_m});Y.extend(ym);Y.extend(am);Y.extend(Dm);Y.extend(R2);var Sw=pp(Z3()),W3=(0,nt.getPreferenceValues)();function H(e,a){let p;switch(typeof e=="string"?p=new Y(e):"colorSpace"in e?p=new Y(e.colorSpace,[e.red,e.green,e.blue],e.alpha):p=new Y("srgb",[e.red/255,e.green/255,e.blue/255],e.alpha),a||W3.colorFormat){default:case"hex":return p.to("srgb").toString({format:"hex"}).toUpperCase();case"hex-lower-case":return p.to("srgb").toString({format:"hex"}).toLowerCase();case"hex-no-prefix":return p.to("srgb").toString({format:"hex"}).replace("#","");case"rgb":return p.to("srgb").toString({format:"rgb_number"});case"rgb-percentage":return p.to("srgb").toString({format:"rgb"});case"rgba":return p.to("srgb").toString({format:"rgba_number"});case"rgba-percentage":return p.to("srgb").toString({format:"rgba"});case"hsla":return p.to("hsl").toString({format:"hsla"});case"hsva":return p.to("hsv").toString({format:"color"});case"oklch":{let t=p.to("oklch"),[d,r,i]=t.coords;return`oklch(${(d*100).toFixed(2)}% ${r} ${i})`}case"lch":{let t=p.to("lch"),[d,r,i]=t.coords;return`lch(${d.toFixed(2)}% ${r} ${i})`}case"p3":return p.to("p3").toString({format:"p3"})}}var Nw=["p3","rgb","rgb-percentage"];function Y3(e){return H(e,Nw.includes(W3.colorFormat)?"oklch":void 0)}var l1=require("react/jsx-runtime");function lt({color:e,onCopy:a}){return(0,l1.jsxs)(G.ActionPanel.Submenu,{title:"Copy As",icon:G.Icon.Clipboard,shortcut:G.Keyboard.Shortcut.Common.Copy,children:[(0,l1.jsx)(G.Action.CopyToClipboard,{title:"HEX",content:H(e,"hex"),onCopy:a}),(0,l1.jsx)(G.Action.CopyToClipboard,{title:"Lowercased HEX",content:H(e,"hex-lower-case"),onCopy:a}),(0,l1.jsx)(G.Action.CopyToClipboard,{title:"HEX Without #",content:H(e,"hex-no-prefix"),onCopy:a}),(0,l1.jsx)(G.Action.CopyToClipboard,{title:"RGB",content:H(e,"rgb"),onCopy:a}),(0,l1.jsx)(G.Action.CopyToClipboard,{title:"RGB Percentage",content:H(e,"rgb-percentage"),onCopy:a}),(0,l1.jsx)(G.Action.CopyToClipboard,{title:"RGBA",content:H(e,"rgba"),onCopy:a}),(0,l1.jsx)(G.Action.CopyToClipboard,{title:"RGBA Percentage",content:H(e,"rgba-percentage"),onCopy:a}),(0,l1.jsx)(G.Action.CopyToClipboard,{title:"HSL",content:H(e,"hsla"),onCopy:a}),(0,l1.jsx)(G.Action.CopyToClipboard,{title:"HSV",content:H(e,"hsva"),onCopy:a}),(0,l1.jsx)(G.Action.CopyToClipboard,{title:"OKLCH",content:H(e,"oklch"),onCopy:a}),(0,l1.jsx)(G.Action.CopyToClipboard,{title:"LCH",content:H(e,"lch"),onCopy:a}),(0,l1.jsx)(G.Action.CopyToClipboard,{title:"P3",content:H(e,"p3"),onCopy:a})]})}var X3=require("@raycast/api"),Tw=pp(d0());var xw=200;function Q2(e){let a=new X3.Cache,p=a.get("history"),t=p?JSON.parse(p):[],r=[{date:new Date().toISOString(),color:e},...t.filter(i=>H(i.color)!==H(e))].slice(0,xw);a.set("history",JSON.stringify(r))}var se=require("react/jsx-runtime");function Q3(e){let{data:a,isLoading:p}=(0,ep.useAI)(`Generate colors based on a prompt. + +Please follow these rules: +- You MUST return an JSON array of HEX colors without any other characters. It should be PARSABLE and MINIFIED. +- Return an empty JSON array if it's not possible to generate colors. + +Examples: +- ["#66D3BB","#7EDDC6","#96E7D1","#AEEFDB","#C6F9E6"] +- ["#0000CD","#0000FF","#1E90FF"] +- ["#FF0000","#FF6347","#FF7F50","#FF8C00","#FFA07A","#FFA500","#FFD700","#FFDEAD","#FFE4B5","#FFE4C4"] + +Prompt: ${e.arguments.prompt} +JSON colors:`,{model:L1.AI.Model.OpenAI_GPT4o,stream:!1}),t=[];try{t=a?JSON.parse(a):[]}catch(d){(0,ep.showFailureToast)(d,{title:"Could not generate colors, please try again."})}return(0,se.jsx)(L1.Grid,{columns:5,isLoading:p,children:t.map((d,r)=>{let i=H(d),n=Y3(d),s={light:n,dark:n,adjustContrast:!1};return(0,se.jsx)(L1.Grid.Item,{content:{color:s},title:i,actions:(0,se.jsxs)(L1.ActionPanel,{children:[(0,se.jsx)(L1.Action.CopyToClipboard,{content:i,onCopy:()=>Q2(i)}),(0,se.jsx)(L1.Action.Paste,{content:i,onPaste:()=>Q2(i)}),(0,se.jsx)(lt,{color:i,onCopy:()=>Q2(i)})]})},r)})})} diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/generate-colors.js.map b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/generate-colors.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/dequal/lite/index.js", "../node_modules/@raycast/utils/dist/useDeepMemo.js", "../node_modules/@raycast/utils/dist/useLatest.js", "../node_modules/@raycast/utils/dist/showFailureToast.js", "../node_modules/@raycast/utils/dist/usePromise.js", "../node_modules/object-hash/index.js", "../node_modules/@raycast/utils/dist/helpers.js", "../node_modules/@raycast/utils/dist/useCachedState.js", "../node_modules/@raycast/utils/dist/useCachedPromise.js", "../node_modules/webidl-conversions/lib/index.js", "../node_modules/whatwg-url/lib/utils.js", "../node_modules/tr46/lib/mappingTable.json", "../node_modules/tr46/index.js", "../node_modules/whatwg-url/lib/url-state-machine.js", "../node_modules/whatwg-url/lib/URL-impl.js", "../node_modules/whatwg-url/lib/URL.js", "../node_modules/whatwg-url/lib/public-api.js", "../node_modules/node-fetch/lib/index.js", "../node_modules/cross-fetch/dist/node-ponyfill.js", "../node_modules/@raycast/utils/dist/fetch-utils.js", "../node_modules/@raycast/utils/dist/useFetch.js", "../node_modules/signal-exit/src/signals.ts", "../node_modules/signal-exit/src/index.ts", "../node_modules/@raycast/utils/dist/exec-utils.js", "../node_modules/@raycast/utils/dist/useExec.js", "../node_modules/stream-chain/index.js", "../node_modules/stream-json/utils/Utf8Stream.js", "../node_modules/stream-json/Parser.js", "../node_modules/stream-json/utils/emit.js", "../node_modules/stream-json/index.js", "../node_modules/stream-json/filters/FilterBase.js", "../node_modules/stream-json/utils/withParser.js", "../node_modules/stream-json/filters/Pick.js", "../node_modules/stream-json/Assembler.js", "../node_modules/stream-json/streamers/StreamBase.js", "../node_modules/stream-json/streamers/StreamArray.js", "../node_modules/@raycast/utils/dist/useStreamJSON.js", "../node_modules/@raycast/utils/dist/useSQL.js", "../node_modules/@raycast/utils/dist/useForm.js", "../node_modules/@raycast/utils/dist/useAI.js", "../node_modules/@raycast/utils/dist/useFrecencySorting.js", "../node_modules/@raycast/utils/dist/useLocalStorage.js", "../node_modules/@raycast/utils/dist/icon/color.js", "../node_modules/@raycast/utils/dist/icon/avatar.js", "../node_modules/@raycast/utils/dist/icon/favicon.js", "../node_modules/@raycast/utils/dist/icon/progress.js", "../node_modules/@raycast/utils/dist/icon/index.js", "../node_modules/@raycast/utils/dist/oauth/providers.js", "../node_modules/@raycast/utils/dist/oauth/OAuthService.js", "../node_modules/@raycast/utils/dist/oauth/withAccessToken.js", "../node_modules/@raycast/utils/dist/oauth/index.js", "../node_modules/@raycast/utils/dist/run-applescript.js", "../node_modules/@raycast/utils/dist/createDeeplink.js", "../node_modules/@raycast/utils/dist/index.js", "../node_modules/lodash/_listCacheClear.js", "../node_modules/lodash/eq.js", "../node_modules/lodash/_assocIndexOf.js", "../node_modules/lodash/_listCacheDelete.js", "../node_modules/lodash/_listCacheGet.js", "../node_modules/lodash/_listCacheHas.js", "../node_modules/lodash/_listCacheSet.js", "../node_modules/lodash/_ListCache.js", "../node_modules/lodash/_stackClear.js", "../node_modules/lodash/_stackDelete.js", "../node_modules/lodash/_stackGet.js", "../node_modules/lodash/_stackHas.js", "../node_modules/lodash/_freeGlobal.js", "../node_modules/lodash/_root.js", "../node_modules/lodash/_Symbol.js", "../node_modules/lodash/_getRawTag.js", "../node_modules/lodash/_objectToString.js", "../node_modules/lodash/_baseGetTag.js", "../node_modules/lodash/isObject.js", "../node_modules/lodash/isFunction.js", "../node_modules/lodash/_coreJsData.js", "../node_modules/lodash/_isMasked.js", "../node_modules/lodash/_toSource.js", "../node_modules/lodash/_baseIsNative.js", "../node_modules/lodash/_getValue.js", "../node_modules/lodash/_getNative.js", "../node_modules/lodash/_Map.js", "../node_modules/lodash/_nativeCreate.js", "../node_modules/lodash/_hashClear.js", "../node_modules/lodash/_hashDelete.js", "../node_modules/lodash/_hashGet.js", "../node_modules/lodash/_hashHas.js", "../node_modules/lodash/_hashSet.js", "../node_modules/lodash/_Hash.js", "../node_modules/lodash/_mapCacheClear.js", "../node_modules/lodash/_isKeyable.js", "../node_modules/lodash/_getMapData.js", "../node_modules/lodash/_mapCacheDelete.js", "../node_modules/lodash/_mapCacheGet.js", "../node_modules/lodash/_mapCacheHas.js", "../node_modules/lodash/_mapCacheSet.js", "../node_modules/lodash/_MapCache.js", "../node_modules/lodash/_stackSet.js", "../node_modules/lodash/_Stack.js", "../node_modules/lodash/_setCacheAdd.js", "../node_modules/lodash/_setCacheHas.js", "../node_modules/lodash/_SetCache.js", "../node_modules/lodash/_arraySome.js", "../node_modules/lodash/_cacheHas.js", "../node_modules/lodash/_equalArrays.js", "../node_modules/lodash/_Uint8Array.js", "../node_modules/lodash/_mapToArray.js", "../node_modules/lodash/_setToArray.js", "../node_modules/lodash/_equalByTag.js", "../node_modules/lodash/_arrayPush.js", "../node_modules/lodash/isArray.js", "../node_modules/lodash/_baseGetAllKeys.js", "../node_modules/lodash/_arrayFilter.js", "../node_modules/lodash/stubArray.js", "../node_modules/lodash/_getSymbols.js", "../node_modules/lodash/_baseTimes.js", "../node_modules/lodash/isObjectLike.js", "../node_modules/lodash/_baseIsArguments.js", "../node_modules/lodash/isArguments.js", "../node_modules/lodash/stubFalse.js", "../node_modules/lodash/isBuffer.js", "../node_modules/lodash/_isIndex.js", "../node_modules/lodash/isLength.js", "../node_modules/lodash/_baseIsTypedArray.js", "../node_modules/lodash/_baseUnary.js", "../node_modules/lodash/_nodeUtil.js", "../node_modules/lodash/isTypedArray.js", "../node_modules/lodash/_arrayLikeKeys.js", "../node_modules/lodash/_isPrototype.js", "../node_modules/lodash/_overArg.js", "../node_modules/lodash/_nativeKeys.js", "../node_modules/lodash/_baseKeys.js", "../node_modules/lodash/isArrayLike.js", "../node_modules/lodash/keys.js", "../node_modules/lodash/_getAllKeys.js", "../node_modules/lodash/_equalObjects.js", "../node_modules/lodash/_DataView.js", "../node_modules/lodash/_Promise.js", "../node_modules/lodash/_Set.js", "../node_modules/lodash/_WeakMap.js", "../node_modules/lodash/_getTag.js", "../node_modules/lodash/_baseIsEqualDeep.js", "../node_modules/lodash/_baseIsEqual.js", "../node_modules/lodash/_baseIsMatch.js", "../node_modules/lodash/_isStrictComparable.js", "../node_modules/lodash/_getMatchData.js", "../node_modules/lodash/_matchesStrictComparable.js", "../node_modules/lodash/_baseMatches.js", "../node_modules/lodash/isSymbol.js", "../node_modules/lodash/_isKey.js", "../node_modules/lodash/memoize.js", "../node_modules/lodash/_memoizeCapped.js", "../node_modules/lodash/_stringToPath.js", "../node_modules/lodash/_arrayMap.js", "../node_modules/lodash/_baseToString.js", "../node_modules/lodash/toString.js", "../node_modules/lodash/_castPath.js", "../node_modules/lodash/_toKey.js", "../node_modules/lodash/_baseGet.js", "../node_modules/lodash/get.js", "../node_modules/lodash/_baseHasIn.js", "../node_modules/lodash/_hasPath.js", "../node_modules/lodash/hasIn.js", "../node_modules/lodash/_baseMatchesProperty.js", "../node_modules/lodash/identity.js", "../node_modules/lodash/_baseProperty.js", "../node_modules/lodash/_basePropertyDeep.js", "../node_modules/lodash/property.js", "../node_modules/lodash/_baseIteratee.js", "../node_modules/lodash/_baseFindIndex.js", "../node_modules/lodash/_baseIsNaN.js", "../node_modules/lodash/_strictIndexOf.js", "../node_modules/lodash/_baseIndexOf.js", "../node_modules/lodash/_arrayIncludes.js", "../node_modules/lodash/_arrayIncludesWith.js", "../node_modules/lodash/noop.js", "../node_modules/lodash/_createSet.js", "../node_modules/lodash/_baseUniq.js", "../node_modules/lodash/uniqBy.js", "../src/generate-colors.tsx", "../src/components/CopyAsSubmenu.tsx", "../src/utils.ts", "../node_modules/colorjs.io/src/multiply-matrices.js", "../node_modules/colorjs.io/src/util.js", "../node_modules/colorjs.io/src/hooks.js", "../node_modules/colorjs.io/src/defaults.js", "../node_modules/colorjs.io/src/adapt.js", "../node_modules/colorjs.io/src/parse.js", "../node_modules/colorjs.io/src/getColor.js", "../node_modules/colorjs.io/src/space.js", "../node_modules/colorjs.io/src/spaces/xyz-d65.js", "../node_modules/colorjs.io/src/rgbspace.js", "../node_modules/colorjs.io/src/getAll.js", "../node_modules/colorjs.io/src/get.js", "../node_modules/colorjs.io/src/setAll.js", "../node_modules/colorjs.io/src/set.js", "../node_modules/colorjs.io/src/spaces/xyz-d50.js", "../node_modules/colorjs.io/src/spaces/lab.js", "../node_modules/colorjs.io/src/angles.js", "../node_modules/colorjs.io/src/spaces/lch.js", "../node_modules/colorjs.io/src/deltaE/deltaE2000.js", "../node_modules/colorjs.io/src/spaces/oklab.js", "../node_modules/colorjs.io/src/deltaE/deltaEOK.js", "../node_modules/colorjs.io/src/inGamut.js", "../node_modules/colorjs.io/src/clone.js", "../node_modules/colorjs.io/src/distance.js", "../node_modules/colorjs.io/src/deltaE/deltaE76.js", "../node_modules/colorjs.io/src/deltaE/deltaECMC.js", "../node_modules/colorjs.io/src/spaces/xyz-abs-d65.js", "../node_modules/colorjs.io/src/spaces/jzazbz.js", "../node_modules/colorjs.io/src/spaces/jzczhz.js", "../node_modules/colorjs.io/src/deltaE/deltaEJz.js", "../node_modules/colorjs.io/src/spaces/ictcp.js", "../node_modules/colorjs.io/src/deltaE/deltaEITP.js", "../node_modules/colorjs.io/src/spaces/cam16.js", "../node_modules/colorjs.io/src/spaces/hct.js", "../node_modules/colorjs.io/src/deltaE/deltaEHCT.js", "../node_modules/colorjs.io/src/deltaE/index.js", "../node_modules/colorjs.io/src/toGamut.js", "../node_modules/colorjs.io/src/to.js", "../node_modules/colorjs.io/src/serialize.js", "../node_modules/colorjs.io/src/spaces/rec2020-linear.js", "../node_modules/colorjs.io/src/spaces/rec2020.js", "../node_modules/colorjs.io/src/spaces/p3-linear.js", "../node_modules/colorjs.io/src/spaces/srgb-linear.js", "../node_modules/colorjs.io/src/keywords.js", "../node_modules/colorjs.io/src/spaces/srgb.js", "../node_modules/colorjs.io/src/spaces/p3.js", "../node_modules/colorjs.io/src/display.js", "../node_modules/colorjs.io/src/equals.js", "../node_modules/colorjs.io/src/luminance.js", "../node_modules/colorjs.io/src/contrast/WCAG21.js", "../node_modules/colorjs.io/src/contrast/APCA.js", "../node_modules/colorjs.io/src/contrast/Michelson.js", "../node_modules/colorjs.io/src/contrast/Weber.js", "../node_modules/colorjs.io/src/contrast/Lstar.js", "../node_modules/colorjs.io/src/spaces/lab-d65.js", "../node_modules/colorjs.io/src/contrast/deltaPhi.js", "../node_modules/colorjs.io/src/contrast.js", "../node_modules/colorjs.io/src/chromaticity.js", "../node_modules/colorjs.io/src/deltaE.js", "../node_modules/colorjs.io/src/variations.js", "../node_modules/colorjs.io/src/interpolation.js", "../node_modules/colorjs.io/src/spaces/hsl.js", "../node_modules/colorjs.io/src/spaces/hsv.js", "../node_modules/colorjs.io/src/spaces/hwb.js", "../node_modules/colorjs.io/src/spaces/a98rgb-linear.js", "../node_modules/colorjs.io/src/spaces/a98rgb.js", "../node_modules/colorjs.io/src/spaces/prophoto-linear.js", "../node_modules/colorjs.io/src/spaces/prophoto.js", "../node_modules/colorjs.io/src/spaces/oklch.js", "../node_modules/colorjs.io/src/spaces/luv.js", "../node_modules/colorjs.io/src/spaces/lchuv.js", "../node_modules/colorjs.io/src/spaces/hsluv.js", "../node_modules/colorjs.io/src/spaces/hpluv.js", "../node_modules/colorjs.io/src/spaces/rec2100-pq.js", "../node_modules/colorjs.io/src/spaces/rec2100-hlg.js", "../node_modules/colorjs.io/src/CATs.js", "../node_modules/colorjs.io/src/spaces/acescg.js", "../node_modules/colorjs.io/src/spaces/acescc.js", "../node_modules/colorjs.io/src/color.js", "../node_modules/colorjs.io/src/spaces/index.js", "../node_modules/colorjs.io/src/space-accessors.js", "../node_modules/colorjs.io/src/index.js", "../src/history.ts"], + "sourcesContent": ["var has = Object.prototype.hasOwnProperty;\n\nfunction dequal(foo, bar) {\n\tvar ctor, len;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n\nexports.dequal = dequal;", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useDeepMemo = void 0;\nconst react_1 = require(\"react\");\nconst lite_1 = require(\"dequal/lite\");\n/**\n * @param value the value to be memoized (usually a dependency list)\n * @returns a memoized version of the value as long as it remains deeply equal\n */\nfunction useDeepMemo(value) {\n const ref = (0, react_1.useRef)(value);\n const signalRef = (0, react_1.useRef)(0);\n if (!(0, lite_1.dequal)(value, ref.current)) {\n ref.current = value;\n signalRef.current += 1;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return (0, react_1.useMemo)(() => ref.current, [signalRef.current]);\n}\nexports.useDeepMemo = useDeepMemo;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLatest = void 0;\nconst react_1 = require(\"react\");\n/**\n * Returns the latest state.\n *\n * This is mostly useful to get access to the latest value of some props or state inside an asynchronous callback, instead of that value at the time the callback was created from.\n */\nfunction useLatest(value) {\n const ref = (0, react_1.useRef)(value);\n ref.current = value;\n return ref;\n}\nexports.useLatest = useLatest;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.showFailureToast = void 0;\nconst fs = __importStar(require(\"fs\"));\nconst path = __importStar(require(\"path\"));\nconst api_1 = require(\"@raycast/api\");\n/**\n * Shows a failure Toast for a given Error.\n *\n * @example\n * ```typescript\n * import { showHUD } from \"@raycast/api\";\n * import { runAppleScript, showFailureToast } from \"@raycast/utils\";\n *\n * export default async function () {\n * try {\n * const res = await runAppleScript(\n * `\n * on run argv\n * return \"hello, \" & item 1 of argv & \".\"\n * end run\n * `,\n * [\"world\"]\n * );\n * await showHUD(res);\n * } catch (error) {\n * showFailureToast(error, { title: \"Could not run AppleScript\" });\n * }\n * }\n * ```\n */\nfunction showFailureToast(error, options) {\n const message = error instanceof Error ? error.message : String(error);\n return (0, api_1.showToast)({\n style: api_1.Toast.Style.Failure,\n title: options?.title ?? \"Something went wrong\",\n message: options?.message ?? message,\n primaryAction: options?.primaryAction ?? handleErrorToastAction(error),\n secondaryAction: options?.primaryAction ? handleErrorToastAction(error) : undefined,\n });\n}\nexports.showFailureToast = showFailureToast;\nconst handleErrorToastAction = (error) => {\n let privateExtension = true;\n let title = \"[Extension Name]...\";\n let extensionURL = \"\";\n try {\n const packageJSON = JSON.parse(fs.readFileSync(path.join(api_1.environment.assetsPath, \"..\", \"package.json\"), \"utf8\"));\n title = `[${packageJSON.title}]...`;\n extensionURL = `https://raycast.com/${packageJSON.owner || packageJSON.author}/${packageJSON.name}`;\n if (!packageJSON.owner || packageJSON.access === \"public\") {\n privateExtension = false;\n }\n }\n catch (err) {\n // no-op\n }\n // if it's a private extension, we can't construct the URL to report the error\n // so we fallback to copying the error to the clipboard\n const fallback = api_1.environment.isDevelopment || privateExtension;\n const stack = error instanceof Error ? error?.stack || error?.message || \"\" : String(error);\n return {\n title: fallback ? \"Copy Logs\" : \"Report Error\",\n onAction(toast) {\n toast.hide();\n if (fallback) {\n api_1.Clipboard.copy(stack);\n }\n else {\n (0, api_1.open)(`https://github.com/raycast/extensions/issues/new?&labels=extension%2Cbug&template=extension_bug_report.yml&title=${encodeURIComponent(title)}&extension-url=${encodeURI(extensionURL)}&description=${encodeURIComponent(`#### Error:\n\\`\\`\\`\n${stack}\n\\`\\`\\`\n`)}`);\n }\n },\n };\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePromise = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst useDeepMemo_1 = require(\"./useDeepMemo\");\nconst useLatest_1 = require(\"./useLatest\");\nconst showFailureToast_1 = require(\"./showFailureToast\");\nfunction usePromise(fn, args, options) {\n const lastCallId = (0, react_1.useRef)(0);\n const [state, set] = (0, react_1.useState)({ isLoading: true });\n const fnRef = (0, useLatest_1.useLatest)(fn);\n const latestAbortable = (0, useLatest_1.useLatest)(options?.abortable);\n const latestArgs = (0, useLatest_1.useLatest)(args || []);\n const latestOnError = (0, useLatest_1.useLatest)(options?.onError);\n const latestOnData = (0, useLatest_1.useLatest)(options?.onData);\n const latestOnWillExecute = (0, useLatest_1.useLatest)(options?.onWillExecute);\n const latestFailureToast = (0, useLatest_1.useLatest)(options?.failureToastOptions);\n const latestValue = (0, useLatest_1.useLatest)(state.data);\n const latestCallback = (0, react_1.useRef)();\n const paginationArgsRef = (0, react_1.useRef)({ page: 0 });\n const usePaginationRef = (0, react_1.useRef)(false);\n const hasMoreRef = (0, react_1.useRef)(true);\n const pageSizeRef = (0, react_1.useRef)(50);\n const callback = (0, react_1.useCallback)((...args) => {\n const callId = ++lastCallId.current;\n if (latestAbortable.current) {\n latestAbortable.current.current?.abort();\n latestAbortable.current.current = new AbortController();\n }\n latestOnWillExecute.current?.(args);\n set((prevState) => ({ ...prevState, isLoading: true }));\n const promiseOrPaginatedPromise = bindPromiseIfNeeded(fnRef.current)(...args);\n function handleError(error) {\n if (error.name == \"AbortError\") {\n return error;\n }\n if (callId === lastCallId.current) {\n // handle errors\n if (latestOnError.current) {\n latestOnError.current(error);\n }\n else {\n if (api_1.environment.launchType !== api_1.LaunchType.Background) {\n (0, showFailureToast_1.showFailureToast)(error, {\n title: \"Failed to fetch latest data\",\n primaryAction: {\n title: \"Retry\",\n onAction(toast) {\n toast.hide();\n latestCallback.current?.(...(latestArgs.current || []));\n },\n },\n ...latestFailureToast.current,\n });\n }\n }\n set({ error, isLoading: false });\n }\n return error;\n }\n if (typeof promiseOrPaginatedPromise === \"function\") {\n usePaginationRef.current = true;\n return promiseOrPaginatedPromise(paginationArgsRef.current).then(\n // @ts-expect-error too complicated for TS\n ({ data, hasMore, cursor }) => {\n if (callId === lastCallId.current) {\n if (paginationArgsRef.current) {\n paginationArgsRef.current.cursor = cursor;\n paginationArgsRef.current.lastItem = data?.[data.length - 1];\n }\n if (latestOnData.current) {\n latestOnData.current(data, paginationArgsRef.current);\n }\n if (hasMore) {\n pageSizeRef.current = data.length;\n }\n hasMoreRef.current = hasMore;\n set((previousData) => {\n if (paginationArgsRef.current.page === 0) {\n return { data, isLoading: false };\n }\n // @ts-expect-error we know it's an array here\n return { data: (previousData.data || [])?.concat(data), isLoading: false };\n });\n }\n return data;\n }, (error) => {\n hasMoreRef.current = false;\n return handleError(error);\n });\n }\n usePaginationRef.current = false;\n return promiseOrPaginatedPromise.then((data) => {\n if (callId === lastCallId.current) {\n if (latestOnData.current) {\n latestOnData.current(data);\n }\n set({ data, isLoading: false });\n }\n return data;\n }, handleError);\n }, [\n latestAbortable,\n latestOnData,\n latestOnError,\n latestArgs,\n fnRef,\n set,\n latestCallback,\n latestOnWillExecute,\n paginationArgsRef,\n latestFailureToast,\n ]);\n latestCallback.current = callback;\n const revalidate = (0, react_1.useCallback)(() => {\n // reset the pagination\n paginationArgsRef.current = { page: 0 };\n const args = (latestArgs.current || []);\n return callback(...args);\n }, [callback, latestArgs]);\n const mutate = (0, react_1.useCallback)(async (asyncUpdate, options) => {\n let dataBeforeOptimisticUpdate;\n try {\n if (options?.optimisticUpdate) {\n if (typeof options?.rollbackOnError !== \"function\" && options?.rollbackOnError !== false) {\n // keep track of the data before the optimistic update,\n // but only if we need it (eg. only when we want to automatically rollback after)\n dataBeforeOptimisticUpdate = structuredClone(latestValue.current?.value);\n }\n const update = options.optimisticUpdate;\n set((prevState) => ({ ...prevState, data: update(prevState.data) }));\n }\n return await asyncUpdate;\n }\n catch (err) {\n if (typeof options?.rollbackOnError === \"function\") {\n const update = options.rollbackOnError;\n set((prevState) => ({ ...prevState, data: update(prevState.data) }));\n }\n else if (options?.optimisticUpdate && options?.rollbackOnError !== false) {\n set((prevState) => ({ ...prevState, data: dataBeforeOptimisticUpdate }));\n }\n throw err;\n }\n finally {\n if (options?.shouldRevalidateAfter !== false) {\n if (api_1.environment.launchType === api_1.LaunchType.Background || api_1.environment.commandMode === \"menu-bar\") {\n // when in the background or in a menu bar, we are going to await the revalidation\n // to make sure we get the right data at the end of the mutation\n await revalidate();\n }\n else {\n revalidate();\n }\n }\n }\n }, [revalidate, latestValue, set]);\n const onLoadMore = (0, react_1.useCallback)(() => {\n paginationArgsRef.current.page += 1;\n const args = (latestArgs.current || []);\n callback(...args);\n }, [paginationArgsRef, latestArgs, callback]);\n // revalidate when the args change\n (0, react_1.useEffect)(() => {\n // reset the pagination\n paginationArgsRef.current = { page: 0 };\n if (options?.execute !== false) {\n callback(...(args || []));\n }\n else {\n // cancel the previous request if we don't want to execute anymore\n if (latestAbortable.current) {\n latestAbortable.current.current?.abort();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [(0, useDeepMemo_1.useDeepMemo)([args, options?.execute, callback]), latestAbortable, paginationArgsRef]);\n // abort request when unmounting\n (0, react_1.useEffect)(() => {\n return () => {\n if (latestAbortable.current) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n latestAbortable.current.current?.abort();\n }\n };\n }, [latestAbortable]);\n // we only want to show the loading indicator if the promise is executing\n const isLoading = options?.execute !== false ? state.isLoading : false;\n // @ts-expect-error loading is has some fixed value in the enum which\n const stateWithLoadingFixed = { ...state, isLoading };\n const pagination = usePaginationRef.current\n ? {\n pageSize: pageSizeRef.current,\n hasMore: hasMoreRef.current,\n onLoadMore,\n }\n : undefined;\n return { ...stateWithLoadingFixed, revalidate, mutate, pagination };\n}\nexports.usePromise = usePromise;\n/** Bind the fn if it's a Promise method */\nfunction bindPromiseIfNeeded(fn) {\n if (fn === Promise.all) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.race) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.resolve) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.reject) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n return fn;\n}\n", "'use strict';\n\nvar crypto = require('crypto');\n\n/**\n * Exported function\n *\n * Options:\n *\n * - `algorithm` hash algo to be used by this instance: *'sha1', 'md5'\n * - `excludeValues` {true|*false} hash object keys, values ignored\n * - `encoding` hash encoding, supports 'buffer', '*hex', 'binary', 'base64'\n * - `ignoreUnknown` {true|*false} ignore unknown object types\n * - `replacer` optional function that replaces values before hashing\n * - `respectFunctionProperties` {*true|false} consider function properties when hashing\n * - `respectFunctionNames` {*true|false} consider 'name' property of functions for hashing\n * - `respectType` {*true|false} Respect special properties (prototype, constructor)\n * when hashing to distinguish between types\n * - `unorderedArrays` {true|*false} Sort all arrays before hashing\n * - `unorderedSets` {*true|false} Sort `Set` and `Map` instances before hashing\n * * = default\n *\n * @param {object} object value to hash\n * @param {object} options hashing options\n * @return {string} hash value\n * @api public\n */\nexports = module.exports = objectHash;\n\nfunction objectHash(object, options){\n options = applyDefaults(object, options);\n\n return hash(object, options);\n}\n\n/**\n * Exported sugar methods\n *\n * @param {object} object value to hash\n * @return {string} hash value\n * @api public\n */\nexports.sha1 = function(object){\n return objectHash(object);\n};\nexports.keys = function(object){\n return objectHash(object, {excludeValues: true, algorithm: 'sha1', encoding: 'hex'});\n};\nexports.MD5 = function(object){\n return objectHash(object, {algorithm: 'md5', encoding: 'hex'});\n};\nexports.keysMD5 = function(object){\n return objectHash(object, {algorithm: 'md5', encoding: 'hex', excludeValues: true});\n};\n\n// Internals\nvar hashes = crypto.getHashes ? crypto.getHashes().slice() : ['sha1', 'md5'];\nhashes.push('passthrough');\nvar encodings = ['buffer', 'hex', 'binary', 'base64'];\n\nfunction applyDefaults(object, sourceOptions){\n sourceOptions = sourceOptions || {};\n\n // create a copy rather than mutating\n var options = {};\n options.algorithm = sourceOptions.algorithm || 'sha1';\n options.encoding = sourceOptions.encoding || 'hex';\n options.excludeValues = sourceOptions.excludeValues ? true : false;\n options.algorithm = options.algorithm.toLowerCase();\n options.encoding = options.encoding.toLowerCase();\n options.ignoreUnknown = sourceOptions.ignoreUnknown !== true ? false : true; // default to false\n options.respectType = sourceOptions.respectType === false ? false : true; // default to true\n options.respectFunctionNames = sourceOptions.respectFunctionNames === false ? false : true;\n options.respectFunctionProperties = sourceOptions.respectFunctionProperties === false ? false : true;\n options.unorderedArrays = sourceOptions.unorderedArrays !== true ? false : true; // default to false\n options.unorderedSets = sourceOptions.unorderedSets === false ? false : true; // default to false\n options.unorderedObjects = sourceOptions.unorderedObjects === false ? false : true; // default to true\n options.replacer = sourceOptions.replacer || undefined;\n options.excludeKeys = sourceOptions.excludeKeys || undefined;\n\n if(typeof object === 'undefined') {\n throw new Error('Object argument required.');\n }\n\n // if there is a case-insensitive match in the hashes list, accept it\n // (i.e. SHA256 for sha256)\n for (var i = 0; i < hashes.length; ++i) {\n if (hashes[i].toLowerCase() === options.algorithm.toLowerCase()) {\n options.algorithm = hashes[i];\n }\n }\n\n if(hashes.indexOf(options.algorithm) === -1){\n throw new Error('Algorithm \"' + options.algorithm + '\" not supported. ' +\n 'supported values: ' + hashes.join(', '));\n }\n\n if(encodings.indexOf(options.encoding) === -1 &&\n options.algorithm !== 'passthrough'){\n throw new Error('Encoding \"' + options.encoding + '\" not supported. ' +\n 'supported values: ' + encodings.join(', '));\n }\n\n return options;\n}\n\n/** Check if the given function is a native function */\nfunction isNativeFunction(f) {\n if ((typeof f) !== 'function') {\n return false;\n }\n var exp = /^function\\s+\\w*\\s*\\(\\s*\\)\\s*{\\s+\\[native code\\]\\s+}$/i;\n return exp.exec(Function.prototype.toString.call(f)) != null;\n}\n\nfunction hash(object, options) {\n var hashingStream;\n\n if (options.algorithm !== 'passthrough') {\n hashingStream = crypto.createHash(options.algorithm);\n } else {\n hashingStream = new PassThrough();\n }\n\n if (typeof hashingStream.write === 'undefined') {\n hashingStream.write = hashingStream.update;\n hashingStream.end = hashingStream.update;\n }\n\n var hasher = typeHasher(options, hashingStream);\n hasher.dispatch(object);\n if (!hashingStream.update) {\n hashingStream.end('');\n }\n\n if (hashingStream.digest) {\n return hashingStream.digest(options.encoding === 'buffer' ? undefined : options.encoding);\n }\n\n var buf = hashingStream.read();\n if (options.encoding === 'buffer') {\n return buf;\n }\n\n return buf.toString(options.encoding);\n}\n\n/**\n * Expose streaming API\n *\n * @param {object} object Value to serialize\n * @param {object} options Options, as for hash()\n * @param {object} stream A stream to write the serializiation to\n * @api public\n */\nexports.writeToStream = function(object, options, stream) {\n if (typeof stream === 'undefined') {\n stream = options;\n options = {};\n }\n\n options = applyDefaults(object, options);\n\n return typeHasher(options, stream).dispatch(object);\n};\n\nfunction typeHasher(options, writeTo, context){\n context = context || [];\n var write = function(str) {\n if (writeTo.update) {\n return writeTo.update(str, 'utf8');\n } else {\n return writeTo.write(str, 'utf8');\n }\n };\n\n return {\n dispatch: function(value){\n if (options.replacer) {\n value = options.replacer(value);\n }\n\n var type = typeof value;\n if (value === null) {\n type = 'null';\n }\n\n //console.log(\"[DEBUG] Dispatch: \", value, \"->\", type, \" -> \", \"_\" + type);\n\n return this['_' + type](value);\n },\n _object: function(object) {\n var pattern = (/\\[object (.*)\\]/i);\n var objString = Object.prototype.toString.call(object);\n var objType = pattern.exec(objString);\n if (!objType) { // object type did not match [object ...]\n objType = 'unknown:[' + objString + ']';\n } else {\n objType = objType[1]; // take only the class name\n }\n\n objType = objType.toLowerCase();\n\n var objectNumber = null;\n\n if ((objectNumber = context.indexOf(object)) >= 0) {\n return this.dispatch('[CIRCULAR:' + objectNumber + ']');\n } else {\n context.push(object);\n }\n\n if (typeof Buffer !== 'undefined' && Buffer.isBuffer && Buffer.isBuffer(object)) {\n write('buffer:');\n return write(object);\n }\n\n if(objType !== 'object' && objType !== 'function' && objType !== 'asyncfunction') {\n if(this['_' + objType]) {\n this['_' + objType](object);\n } else if (options.ignoreUnknown) {\n return write('[' + objType + ']');\n } else {\n throw new Error('Unknown object type \"' + objType + '\"');\n }\n }else{\n var keys = Object.keys(object);\n if (options.unorderedObjects) {\n keys = keys.sort();\n }\n // Make sure to incorporate special properties, so\n // Types with different prototypes will produce\n // a different hash and objects derived from\n // different functions (`new Foo`, `new Bar`) will\n // produce different hashes.\n // We never do this for native functions since some\n // seem to break because of that.\n if (options.respectType !== false && !isNativeFunction(object)) {\n keys.splice(0, 0, 'prototype', '__proto__', 'constructor');\n }\n\n if (options.excludeKeys) {\n keys = keys.filter(function(key) { return !options.excludeKeys(key); });\n }\n\n write('object:' + keys.length + ':');\n var self = this;\n return keys.forEach(function(key){\n self.dispatch(key);\n write(':');\n if(!options.excludeValues) {\n self.dispatch(object[key]);\n }\n write(',');\n });\n }\n },\n _array: function(arr, unordered){\n unordered = typeof unordered !== 'undefined' ? unordered :\n options.unorderedArrays !== false; // default to options.unorderedArrays\n\n var self = this;\n write('array:' + arr.length + ':');\n if (!unordered || arr.length <= 1) {\n return arr.forEach(function(entry) {\n return self.dispatch(entry);\n });\n }\n\n // the unordered case is a little more complicated:\n // since there is no canonical ordering on objects,\n // i.e. {a:1} < {a:2} and {a:1} > {a:2} are both false,\n // we first serialize each entry using a PassThrough stream\n // before sorting.\n // also: we can\u2019t use the same context array for all entries\n // since the order of hashing should *not* matter. instead,\n // we keep track of the additions to a copy of the context array\n // and add all of them to the global context array when we\u2019re done\n var contextAdditions = [];\n var entries = arr.map(function(entry) {\n var strm = new PassThrough();\n var localContext = context.slice(); // make copy\n var hasher = typeHasher(options, strm, localContext);\n hasher.dispatch(entry);\n // take only what was added to localContext and append it to contextAdditions\n contextAdditions = contextAdditions.concat(localContext.slice(context.length));\n return strm.read().toString();\n });\n context = context.concat(contextAdditions);\n entries.sort();\n return this._array(entries, false);\n },\n _date: function(date){\n return write('date:' + date.toJSON());\n },\n _symbol: function(sym){\n return write('symbol:' + sym.toString());\n },\n _error: function(err){\n return write('error:' + err.toString());\n },\n _boolean: function(bool){\n return write('bool:' + bool.toString());\n },\n _string: function(string){\n write('string:' + string.length + ':');\n write(string.toString());\n },\n _function: function(fn){\n write('fn:');\n if (isNativeFunction(fn)) {\n this.dispatch('[native]');\n } else {\n this.dispatch(fn.toString());\n }\n\n if (options.respectFunctionNames !== false) {\n // Make sure we can still distinguish native functions\n // by their name, otherwise String and Function will\n // have the same hash\n this.dispatch(\"function-name:\" + String(fn.name));\n }\n\n if (options.respectFunctionProperties) {\n this._object(fn);\n }\n },\n _number: function(number){\n return write('number:' + number.toString());\n },\n _xml: function(xml){\n return write('xml:' + xml.toString());\n },\n _null: function() {\n return write('Null');\n },\n _undefined: function() {\n return write('Undefined');\n },\n _regexp: function(regex){\n return write('regex:' + regex.toString());\n },\n _uint8array: function(arr){\n write('uint8array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint8clampedarray: function(arr){\n write('uint8clampedarray:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int8array: function(arr){\n write('int8array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint16array: function(arr){\n write('uint16array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int16array: function(arr){\n write('int16array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint32array: function(arr){\n write('uint32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int32array: function(arr){\n write('int32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _float32array: function(arr){\n write('float32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _float64array: function(arr){\n write('float64array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _arraybuffer: function(arr){\n write('arraybuffer:');\n return this.dispatch(new Uint8Array(arr));\n },\n _url: function(url) {\n return write('url:' + url.toString(), 'utf8');\n },\n _map: function(map) {\n write('map:');\n var arr = Array.from(map);\n return this._array(arr, options.unorderedSets !== false);\n },\n _set: function(set) {\n write('set:');\n var arr = Array.from(set);\n return this._array(arr, options.unorderedSets !== false);\n },\n _file: function(file) {\n write('file:');\n return this.dispatch([file.name, file.size, file.type, file.lastModfied]);\n },\n _blob: function() {\n if (options.ignoreUnknown) {\n return write('[blob]');\n }\n\n throw Error('Hashing Blob objects is currently not supported\\n' +\n '(see https://github.com/puleos/object-hash/issues/26)\\n' +\n 'Use \"options.replacer\" or \"options.ignoreUnknown\"\\n');\n },\n _domwindow: function() { return write('domwindow'); },\n _bigint: function(number){\n return write('bigint:' + number.toString());\n },\n /* Node.js standard native objects */\n _process: function() { return write('process'); },\n _timer: function() { return write('timer'); },\n _pipe: function() { return write('pipe'); },\n _tcp: function() { return write('tcp'); },\n _udp: function() { return write('udp'); },\n _tty: function() { return write('tty'); },\n _statwatcher: function() { return write('statwatcher'); },\n _securecontext: function() { return write('securecontext'); },\n _connection: function() { return write('connection'); },\n _zlib: function() { return write('zlib'); },\n _context: function() { return write('context'); },\n _nodescript: function() { return write('nodescript'); },\n _httpparser: function() { return write('httpparser'); },\n _dataview: function() { return write('dataview'); },\n _signal: function() { return write('signal'); },\n _fsevent: function() { return write('fsevent'); },\n _tlswrap: function() { return write('tlswrap'); },\n };\n}\n\n// Mini-implementation of stream.PassThrough\n// We are far from having need for the full implementation, and we can\n// make assumptions like \"many writes, then only one final read\"\n// and we can ignore encoding specifics\nfunction PassThrough() {\n return {\n buf: '',\n\n write: function(b) {\n this.buf += b;\n },\n\n end: function(b) {\n this.buf += b;\n },\n\n read: function() {\n return this.buf;\n }\n };\n}\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hash = exports.reviver = exports.replacer = void 0;\nconst object_hash_1 = __importDefault(require(\"object-hash\"));\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction replacer(key, _value) {\n const value = this[key];\n if (value instanceof Date) {\n return `__raycast_cached_date__${value.toString()}`;\n }\n if (Buffer.isBuffer(value)) {\n return `__raycast_cached_buffer__${value.toString(\"base64\")}`;\n }\n return _value;\n}\nexports.replacer = replacer;\nfunction reviver(_key, value) {\n if (typeof value === \"string\" && value.startsWith(\"__raycast_cached_date__\")) {\n return new Date(value.replace(\"__raycast_cached_date__\", \"\"));\n }\n if (typeof value === \"string\" && value.startsWith(\"__raycast_cached_buffer__\")) {\n return Buffer.from(value.replace(\"__raycast_cached_buffer__\", \"\"), \"base64\");\n }\n return value;\n}\nexports.reviver = reviver;\nfunction hash(object, options) {\n return (0, object_hash_1.default)(object, {\n replacer: (value) => {\n if (value instanceof URLSearchParams) {\n return value.toString();\n }\n return value;\n },\n ...options,\n });\n}\nexports.hash = hash;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useCachedState = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst useLatest_1 = require(\"./useLatest\");\nconst helpers_1 = require(\"./helpers\");\nconst rootCache = Symbol(\"cache without namespace\");\nconst cacheMap = new Map();\nfunction useCachedState(key, initialState, config) {\n const cacheKey = config?.cacheNamespace || rootCache;\n const cache = cacheMap.get(cacheKey) || cacheMap.set(cacheKey, new api_1.Cache({ namespace: config?.cacheNamespace })).get(cacheKey);\n if (!cache) {\n throw new Error(\"Missing cache\");\n }\n const keyRef = (0, useLatest_1.useLatest)(key);\n const initialValueRef = (0, useLatest_1.useLatest)(initialState);\n const cachedState = (0, react_1.useSyncExternalStore)(cache.subscribe, () => {\n try {\n return cache.get(keyRef.current);\n }\n catch (error) {\n console.error(\"Could not get Cache data:\", error);\n return undefined;\n }\n });\n const state = (0, react_1.useMemo)(() => {\n if (typeof cachedState !== \"undefined\") {\n if (cachedState === \"undefined\") {\n return undefined;\n }\n try {\n return JSON.parse(cachedState, helpers_1.reviver);\n }\n catch (err) {\n // the data got corrupted somehow\n console.warn(\"The cached data is corrupted\", err);\n return initialValueRef.current;\n }\n }\n else {\n return initialValueRef.current;\n }\n }, [cachedState, initialValueRef]);\n const stateRef = (0, useLatest_1.useLatest)(state);\n const setStateAndCache = (0, react_1.useCallback)((updater) => {\n // @ts-expect-error TS struggles to infer the types as T could potentially be a function\n const newValue = typeof updater === \"function\" ? updater(stateRef.current) : updater;\n if (typeof newValue === \"undefined\") {\n cache.set(keyRef.current, \"undefined\");\n }\n else {\n const stringifiedValue = JSON.stringify(newValue, helpers_1.replacer);\n cache.set(keyRef.current, stringifiedValue);\n }\n return newValue;\n }, [cache, keyRef, stateRef]);\n return [state, setStateAndCache];\n}\nexports.useCachedState = useCachedState;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useCachedPromise = void 0;\nconst react_1 = require(\"react\");\nconst useCachedState_1 = require(\"./useCachedState\");\nconst usePromise_1 = require(\"./usePromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst helpers_1 = require(\"./helpers\");\n// Symbol to differentiate an empty cache from `undefined`\nconst emptyCache = Symbol();\nfunction useCachedPromise(fn, args, options) {\n /**\n * The hook generates a cache key from the promise it receives & its arguments.\n * Sometimes that's not enough to guarantee uniqueness, so hooks that build on top of `useCachedPromise` can\n * use an `internal_cacheKeySuffix` to help it.\n *\n * @remark For internal use only.\n */\n const { initialData, keepPreviousData, internal_cacheKeySuffix, ...usePromiseOptions } = options || {};\n const lastUpdateFrom = (0, react_1.useRef)();\n const [cachedData, mutateCache] = (0, useCachedState_1.useCachedState)((0, helpers_1.hash)(args || []) + internal_cacheKeySuffix ?? \"\", emptyCache, {\n cacheNamespace: (0, helpers_1.hash)(fn),\n });\n // Use a ref to store previous returned data. Use the inital data as its inital value from the cache.\n const laggyDataRef = (0, react_1.useRef)(cachedData !== emptyCache ? cachedData : initialData);\n const paginationArgsRef = (0, react_1.useRef)(undefined);\n const { mutate: _mutate, revalidate, ...state\n // @ts-expect-error fn has the same signature in both usePromise and useCachedPromise\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } = (0, usePromise_1.usePromise)(fn, args || [], {\n ...usePromiseOptions,\n onData(data, pagination) {\n paginationArgsRef.current = pagination;\n if (usePromiseOptions.onData) {\n usePromiseOptions.onData(data, pagination);\n }\n if (pagination && pagination.page > 0) {\n // don't cache beyond the first page\n return;\n }\n lastUpdateFrom.current = \"promise\";\n laggyDataRef.current = data;\n mutateCache(data);\n },\n });\n let returnedData;\n const pagination = state.pagination;\n // when paginating, only the first page gets cached, so we return the data we get from `usePromise`, because\n // it will be accumulated.\n if (paginationArgsRef.current && paginationArgsRef.current.page > 0 && state.data) {\n returnedData = state.data;\n // if the latest update if from the Promise, we keep it\n }\n else if (lastUpdateFrom.current === \"promise\") {\n returnedData = laggyDataRef.current;\n }\n else if (keepPreviousData && cachedData !== emptyCache) {\n // if we want to keep the latest data, we pick the cache but only if it's not empty\n returnedData = cachedData;\n if (pagination) {\n pagination.hasMore = true;\n pagination.pageSize = cachedData.length;\n }\n }\n else if (keepPreviousData && cachedData === emptyCache) {\n // if the cache is empty, we will return the previous data\n returnedData = laggyDataRef.current;\n // there are no special cases, so either return the cache or initial data\n }\n else if (cachedData !== emptyCache) {\n returnedData = cachedData;\n if (pagination) {\n pagination.hasMore = true;\n pagination.pageSize = cachedData.length;\n }\n }\n else {\n returnedData = initialData;\n }\n const latestData = (0, useLatest_1.useLatest)(returnedData);\n // we rewrite the mutate function to update the cache instead\n const mutate = (0, react_1.useCallback)(async (asyncUpdate, options) => {\n let dataBeforeOptimisticUpdate;\n try {\n if (options?.optimisticUpdate) {\n if (typeof options?.rollbackOnError !== \"function\" && options?.rollbackOnError !== false) {\n // keep track of the data before the optimistic update,\n // but only if we need it (eg. only when we want to automatically rollback after)\n dataBeforeOptimisticUpdate = structuredClone(latestData.current);\n }\n const data = options.optimisticUpdate(latestData.current);\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = data;\n mutateCache(data);\n }\n return await _mutate(asyncUpdate, { shouldRevalidateAfter: options?.shouldRevalidateAfter });\n }\n catch (err) {\n if (typeof options?.rollbackOnError === \"function\") {\n const data = options.rollbackOnError(latestData.current);\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = data;\n mutateCache(data);\n }\n else if (options?.optimisticUpdate && options?.rollbackOnError !== false) {\n lastUpdateFrom.current = \"cache\";\n // @ts-expect-error when undefined, it's expected\n laggyDataRef.current = dataBeforeOptimisticUpdate;\n // @ts-expect-error when undefined, it's expected\n mutateCache(dataBeforeOptimisticUpdate);\n }\n throw err;\n }\n }, [mutateCache, _mutate, latestData, laggyDataRef, lastUpdateFrom]);\n (0, react_1.useEffect)(() => {\n if (cachedData !== emptyCache) {\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = cachedData;\n }\n }, [cachedData]);\n return {\n data: returnedData,\n isLoading: state.isLoading,\n error: state.error,\n mutate: paginationArgsRef.current && paginationArgsRef.current.page > 0 ? _mutate : mutate,\n pagination,\n revalidate,\n };\n}\nexports.useCachedPromise = useCachedPromise;\n", "\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n", "\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n", "[[[0,44],\"disallowed_STD3_valid\"],[[45,46],\"valid\"],[[47,47],\"disallowed_STD3_valid\"],[[48,57],\"valid\"],[[58,64],\"disallowed_STD3_valid\"],[[65,65],\"mapped\",[97]],[[66,66],\"mapped\",[98]],[[67,67],\"mapped\",[99]],[[68,68],\"mapped\",[100]],[[69,69],\"mapped\",[101]],[[70,70],\"mapped\",[102]],[[71,71],\"mapped\",[103]],[[72,72],\"mapped\",[104]],[[73,73],\"mapped\",[105]],[[74,74],\"mapped\",[106]],[[75,75],\"mapped\",[107]],[[76,76],\"mapped\",[108]],[[77,77],\"mapped\",[109]],[[78,78],\"mapped\",[110]],[[79,79],\"mapped\",[111]],[[80,80],\"mapped\",[112]],[[81,81],\"mapped\",[113]],[[82,82],\"mapped\",[114]],[[83,83],\"mapped\",[115]],[[84,84],\"mapped\",[116]],[[85,85],\"mapped\",[117]],[[86,86],\"mapped\",[118]],[[87,87],\"mapped\",[119]],[[88,88],\"mapped\",[120]],[[89,89],\"mapped\",[121]],[[90,90],\"mapped\",[122]],[[91,96],\"disallowed_STD3_valid\"],[[97,122],\"valid\"],[[123,127],\"disallowed_STD3_valid\"],[[128,159],\"disallowed\"],[[160,160],\"disallowed_STD3_mapped\",[32]],[[161,167],\"valid\",[],\"NV8\"],[[168,168],\"disallowed_STD3_mapped\",[32,776]],[[169,169],\"valid\",[],\"NV8\"],[[170,170],\"mapped\",[97]],[[171,172],\"valid\",[],\"NV8\"],[[173,173],\"ignored\"],[[174,174],\"valid\",[],\"NV8\"],[[175,175],\"disallowed_STD3_mapped\",[32,772]],[[176,177],\"valid\",[],\"NV8\"],[[178,178],\"mapped\",[50]],[[179,179],\"mapped\",[51]],[[180,180],\"disallowed_STD3_mapped\",[32,769]],[[181,181],\"mapped\",[956]],[[182,182],\"valid\",[],\"NV8\"],[[183,183],\"valid\"],[[184,184],\"disallowed_STD3_mapped\",[32,807]],[[185,185],\"mapped\",[49]],[[186,186],\"mapped\",[111]],[[187,187],\"valid\",[],\"NV8\"],[[188,188],\"mapped\",[49,8260,52]],[[189,189],\"mapped\",[49,8260,50]],[[190,190],\"mapped\",[51,8260,52]],[[191,191],\"valid\",[],\"NV8\"],[[192,192],\"mapped\",[224]],[[193,193],\"mapped\",[225]],[[194,194],\"mapped\",[226]],[[195,195],\"mapped\",[227]],[[196,196],\"mapped\",[228]],[[197,197],\"mapped\",[229]],[[198,198],\"mapped\",[230]],[[199,199],\"mapped\",[231]],[[200,200],\"mapped\",[232]],[[201,201],\"mapped\",[233]],[[202,202],\"mapped\",[234]],[[203,203],\"mapped\",[235]],[[204,204],\"mapped\",[236]],[[205,205],\"mapped\",[237]],[[206,206],\"mapped\",[238]],[[207,207],\"mapped\",[239]],[[208,208],\"mapped\",[240]],[[209,209],\"mapped\",[241]],[[210,210],\"mapped\",[242]],[[211,211],\"mapped\",[243]],[[212,212],\"mapped\",[244]],[[213,213],\"mapped\",[245]],[[214,214],\"mapped\",[246]],[[215,215],\"valid\",[],\"NV8\"],[[216,216],\"mapped\",[248]],[[217,217],\"mapped\",[249]],[[218,218],\"mapped\",[250]],[[219,219],\"mapped\",[251]],[[220,220],\"mapped\",[252]],[[221,221],\"mapped\",[253]],[[222,222],\"mapped\",[254]],[[223,223],\"deviation\",[115,115]],[[224,246],\"valid\"],[[247,247],\"valid\",[],\"NV8\"],[[248,255],\"valid\"],[[256,256],\"mapped\",[257]],[[257,257],\"valid\"],[[258,258],\"mapped\",[259]],[[259,259],\"valid\"],[[260,260],\"mapped\",[261]],[[261,261],\"valid\"],[[262,262],\"mapped\",[263]],[[263,263],\"valid\"],[[264,264],\"mapped\",[265]],[[265,265],\"valid\"],[[266,266],\"mapped\",[267]],[[267,267],\"valid\"],[[268,268],\"mapped\",[269]],[[269,269],\"valid\"],[[270,270],\"mapped\",[271]],[[271,271],\"valid\"],[[272,272],\"mapped\",[273]],[[273,273],\"valid\"],[[274,274],\"mapped\",[275]],[[275,275],\"valid\"],[[276,276],\"mapped\",[277]],[[277,277],\"valid\"],[[278,278],\"mapped\",[279]],[[279,279],\"valid\"],[[280,280],\"mapped\",[281]],[[281,281],\"valid\"],[[282,282],\"mapped\",[283]],[[283,283],\"valid\"],[[284,284],\"mapped\",[285]],[[285,285],\"valid\"],[[286,286],\"mapped\",[287]],[[287,287],\"valid\"],[[288,288],\"mapped\",[289]],[[289,289],\"valid\"],[[290,290],\"mapped\",[291]],[[291,291],\"valid\"],[[292,292],\"mapped\",[293]],[[293,293],\"valid\"],[[294,294],\"mapped\",[295]],[[295,295],\"valid\"],[[296,296],\"mapped\",[297]],[[297,297],\"valid\"],[[298,298],\"mapped\",[299]],[[299,299],\"valid\"],[[300,300],\"mapped\",[301]],[[301,301],\"valid\"],[[302,302],\"mapped\",[303]],[[303,303],\"valid\"],[[304,304],\"mapped\",[105,775]],[[305,305],\"valid\"],[[306,307],\"mapped\",[105,106]],[[308,308],\"mapped\",[309]],[[309,309],\"valid\"],[[310,310],\"mapped\",[311]],[[311,312],\"valid\"],[[313,313],\"mapped\",[314]],[[314,314],\"valid\"],[[315,315],\"mapped\",[316]],[[316,316],\"valid\"],[[317,317],\"mapped\",[318]],[[318,318],\"valid\"],[[319,320],\"mapped\",[108,183]],[[321,321],\"mapped\",[322]],[[322,322],\"valid\"],[[323,323],\"mapped\",[324]],[[324,324],\"valid\"],[[325,325],\"mapped\",[326]],[[326,326],\"valid\"],[[327,327],\"mapped\",[328]],[[328,328],\"valid\"],[[329,329],\"mapped\",[700,110]],[[330,330],\"mapped\",[331]],[[331,331],\"valid\"],[[332,332],\"mapped\",[333]],[[333,333],\"valid\"],[[334,334],\"mapped\",[335]],[[335,335],\"valid\"],[[336,336],\"mapped\",[337]],[[337,337],\"valid\"],[[338,338],\"mapped\",[339]],[[339,339],\"valid\"],[[340,340],\"mapped\",[341]],[[341,341],\"valid\"],[[342,342],\"mapped\",[343]],[[343,343],\"valid\"],[[344,344],\"mapped\",[345]],[[345,345],\"valid\"],[[346,346],\"mapped\",[347]],[[347,347],\"valid\"],[[348,348],\"mapped\",[349]],[[349,349],\"valid\"],[[350,350],\"mapped\",[351]],[[351,351],\"valid\"],[[352,352],\"mapped\",[353]],[[353,353],\"valid\"],[[354,354],\"mapped\",[355]],[[355,355],\"valid\"],[[356,356],\"mapped\",[357]],[[357,357],\"valid\"],[[358,358],\"mapped\",[359]],[[359,359],\"valid\"],[[360,360],\"mapped\",[361]],[[361,361],\"valid\"],[[362,362],\"mapped\",[363]],[[363,363],\"valid\"],[[364,364],\"mapped\",[365]],[[365,365],\"valid\"],[[366,366],\"mapped\",[367]],[[367,367],\"valid\"],[[368,368],\"mapped\",[369]],[[369,369],\"valid\"],[[370,370],\"mapped\",[371]],[[371,371],\"valid\"],[[372,372],\"mapped\",[373]],[[373,373],\"valid\"],[[374,374],\"mapped\",[375]],[[375,375],\"valid\"],[[376,376],\"mapped\",[255]],[[377,377],\"mapped\",[378]],[[378,378],\"valid\"],[[379,379],\"mapped\",[380]],[[380,380],\"valid\"],[[381,381],\"mapped\",[382]],[[382,382],\"valid\"],[[383,383],\"mapped\",[115]],[[384,384],\"valid\"],[[385,385],\"mapped\",[595]],[[386,386],\"mapped\",[387]],[[387,387],\"valid\"],[[388,388],\"mapped\",[389]],[[389,389],\"valid\"],[[390,390],\"mapped\",[596]],[[391,391],\"mapped\",[392]],[[392,392],\"valid\"],[[393,393],\"mapped\",[598]],[[394,394],\"mapped\",[599]],[[395,395],\"mapped\",[396]],[[396,397],\"valid\"],[[398,398],\"mapped\",[477]],[[399,399],\"mapped\",[601]],[[400,400],\"mapped\",[603]],[[401,401],\"mapped\",[402]],[[402,402],\"valid\"],[[403,403],\"mapped\",[608]],[[404,404],\"mapped\",[611]],[[405,405],\"valid\"],[[406,406],\"mapped\",[617]],[[407,407],\"mapped\",[616]],[[408,408],\"mapped\",[409]],[[409,411],\"valid\"],[[412,412],\"mapped\",[623]],[[413,413],\"mapped\",[626]],[[414,414],\"valid\"],[[415,415],\"mapped\",[629]],[[416,416],\"mapped\",[417]],[[417,417],\"valid\"],[[418,418],\"mapped\",[419]],[[419,419],\"valid\"],[[420,420],\"mapped\",[421]],[[421,421],\"valid\"],[[422,422],\"mapped\",[640]],[[423,423],\"mapped\",[424]],[[424,424],\"valid\"],[[425,425],\"mapped\",[643]],[[426,427],\"valid\"],[[428,428],\"mapped\",[429]],[[429,429],\"valid\"],[[430,430],\"mapped\",[648]],[[431,431],\"mapped\",[432]],[[432,432],\"valid\"],[[433,433],\"mapped\",[650]],[[434,434],\"mapped\",[651]],[[435,435],\"mapped\",[436]],[[436,436],\"valid\"],[[437,437],\"mapped\",[438]],[[438,438],\"valid\"],[[439,439],\"mapped\",[658]],[[440,440],\"mapped\",[441]],[[441,443],\"valid\"],[[444,444],\"mapped\",[445]],[[445,451],\"valid\"],[[452,454],\"mapped\",[100,382]],[[455,457],\"mapped\",[108,106]],[[458,460],\"mapped\",[110,106]],[[461,461],\"mapped\",[462]],[[462,462],\"valid\"],[[463,463],\"mapped\",[464]],[[464,464],\"valid\"],[[465,465],\"mapped\",[466]],[[466,466],\"valid\"],[[467,467],\"mapped\",[468]],[[468,468],\"valid\"],[[469,469],\"mapped\",[470]],[[470,470],\"valid\"],[[471,471],\"mapped\",[472]],[[472,472],\"valid\"],[[473,473],\"mapped\",[474]],[[474,474],\"valid\"],[[475,475],\"mapped\",[476]],[[476,477],\"valid\"],[[478,478],\"mapped\",[479]],[[479,479],\"valid\"],[[480,480],\"mapped\",[481]],[[481,481],\"valid\"],[[482,482],\"mapped\",[483]],[[483,483],\"valid\"],[[484,484],\"mapped\",[485]],[[485,485],\"valid\"],[[486,486],\"mapped\",[487]],[[487,487],\"valid\"],[[488,488],\"mapped\",[489]],[[489,489],\"valid\"],[[490,490],\"mapped\",[491]],[[491,491],\"valid\"],[[492,492],\"mapped\",[493]],[[493,493],\"valid\"],[[494,494],\"mapped\",[495]],[[495,496],\"valid\"],[[497,499],\"mapped\",[100,122]],[[500,500],\"mapped\",[501]],[[501,501],\"valid\"],[[502,502],\"mapped\",[405]],[[503,503],\"mapped\",[447]],[[504,504],\"mapped\",[505]],[[505,505],\"valid\"],[[506,506],\"mapped\",[507]],[[507,507],\"valid\"],[[508,508],\"mapped\",[509]],[[509,509],\"valid\"],[[510,510],\"mapped\",[511]],[[511,511],\"valid\"],[[512,512],\"mapped\",[513]],[[513,513],\"valid\"],[[514,514],\"mapped\",[515]],[[515,515],\"valid\"],[[516,516],\"mapped\",[517]],[[517,517],\"valid\"],[[518,518],\"mapped\",[519]],[[519,519],\"valid\"],[[520,520],\"mapped\",[521]],[[521,521],\"valid\"],[[522,522],\"mapped\",[523]],[[523,523],\"valid\"],[[524,524],\"mapped\",[525]],[[525,525],\"valid\"],[[526,526],\"mapped\",[527]],[[527,527],\"valid\"],[[528,528],\"mapped\",[529]],[[529,529],\"valid\"],[[530,530],\"mapped\",[531]],[[531,531],\"valid\"],[[532,532],\"mapped\",[533]],[[533,533],\"valid\"],[[534,534],\"mapped\",[535]],[[535,535],\"valid\"],[[536,536],\"mapped\",[537]],[[537,537],\"valid\"],[[538,538],\"mapped\",[539]],[[539,539],\"valid\"],[[540,540],\"mapped\",[541]],[[541,541],\"valid\"],[[542,542],\"mapped\",[543]],[[543,543],\"valid\"],[[544,544],\"mapped\",[414]],[[545,545],\"valid\"],[[546,546],\"mapped\",[547]],[[547,547],\"valid\"],[[548,548],\"mapped\",[549]],[[549,549],\"valid\"],[[550,550],\"mapped\",[551]],[[551,551],\"valid\"],[[552,552],\"mapped\",[553]],[[553,553],\"valid\"],[[554,554],\"mapped\",[555]],[[555,555],\"valid\"],[[556,556],\"mapped\",[557]],[[557,557],\"valid\"],[[558,558],\"mapped\",[559]],[[559,559],\"valid\"],[[560,560],\"mapped\",[561]],[[561,561],\"valid\"],[[562,562],\"mapped\",[563]],[[563,563],\"valid\"],[[564,566],\"valid\"],[[567,569],\"valid\"],[[570,570],\"mapped\",[11365]],[[571,571],\"mapped\",[572]],[[572,572],\"valid\"],[[573,573],\"mapped\",[410]],[[574,574],\"mapped\",[11366]],[[575,576],\"valid\"],[[577,577],\"mapped\",[578]],[[578,578],\"valid\"],[[579,579],\"mapped\",[384]],[[580,580],\"mapped\",[649]],[[581,581],\"mapped\",[652]],[[582,582],\"mapped\",[583]],[[583,583],\"valid\"],[[584,584],\"mapped\",[585]],[[585,585],\"valid\"],[[586,586],\"mapped\",[587]],[[587,587],\"valid\"],[[588,588],\"mapped\",[589]],[[589,589],\"valid\"],[[590,590],\"mapped\",[591]],[[591,591],\"valid\"],[[592,680],\"valid\"],[[681,685],\"valid\"],[[686,687],\"valid\"],[[688,688],\"mapped\",[104]],[[689,689],\"mapped\",[614]],[[690,690],\"mapped\",[106]],[[691,691],\"mapped\",[114]],[[692,692],\"mapped\",[633]],[[693,693],\"mapped\",[635]],[[694,694],\"mapped\",[641]],[[695,695],\"mapped\",[119]],[[696,696],\"mapped\",[121]],[[697,705],\"valid\"],[[706,709],\"valid\",[],\"NV8\"],[[710,721],\"valid\"],[[722,727],\"valid\",[],\"NV8\"],[[728,728],\"disallowed_STD3_mapped\",[32,774]],[[729,729],\"disallowed_STD3_mapped\",[32,775]],[[730,730],\"disallowed_STD3_mapped\",[32,778]],[[731,731],\"disallowed_STD3_mapped\",[32,808]],[[732,732],\"disallowed_STD3_mapped\",[32,771]],[[733,733],\"disallowed_STD3_mapped\",[32,779]],[[734,734],\"valid\",[],\"NV8\"],[[735,735],\"valid\",[],\"NV8\"],[[736,736],\"mapped\",[611]],[[737,737],\"mapped\",[108]],[[738,738],\"mapped\",[115]],[[739,739],\"mapped\",[120]],[[740,740],\"mapped\",[661]],[[741,745],\"valid\",[],\"NV8\"],[[746,747],\"valid\",[],\"NV8\"],[[748,748],\"valid\"],[[749,749],\"valid\",[],\"NV8\"],[[750,750],\"valid\"],[[751,767],\"valid\",[],\"NV8\"],[[768,831],\"valid\"],[[832,832],\"mapped\",[768]],[[833,833],\"mapped\",[769]],[[834,834],\"valid\"],[[835,835],\"mapped\",[787]],[[836,836],\"mapped\",[776,769]],[[837,837],\"mapped\",[953]],[[838,846],\"valid\"],[[847,847],\"ignored\"],[[848,855],\"valid\"],[[856,860],\"valid\"],[[861,863],\"valid\"],[[864,865],\"valid\"],[[866,866],\"valid\"],[[867,879],\"valid\"],[[880,880],\"mapped\",[881]],[[881,881],\"valid\"],[[882,882],\"mapped\",[883]],[[883,883],\"valid\"],[[884,884],\"mapped\",[697]],[[885,885],\"valid\"],[[886,886],\"mapped\",[887]],[[887,887],\"valid\"],[[888,889],\"disallowed\"],[[890,890],\"disallowed_STD3_mapped\",[32,953]],[[891,893],\"valid\"],[[894,894],\"disallowed_STD3_mapped\",[59]],[[895,895],\"mapped\",[1011]],[[896,899],\"disallowed\"],[[900,900],\"disallowed_STD3_mapped\",[32,769]],[[901,901],\"disallowed_STD3_mapped\",[32,776,769]],[[902,902],\"mapped\",[940]],[[903,903],\"mapped\",[183]],[[904,904],\"mapped\",[941]],[[905,905],\"mapped\",[942]],[[906,906],\"mapped\",[943]],[[907,907],\"disallowed\"],[[908,908],\"mapped\",[972]],[[909,909],\"disallowed\"],[[910,910],\"mapped\",[973]],[[911,911],\"mapped\",[974]],[[912,912],\"valid\"],[[913,913],\"mapped\",[945]],[[914,914],\"mapped\",[946]],[[915,915],\"mapped\",[947]],[[916,916],\"mapped\",[948]],[[917,917],\"mapped\",[949]],[[918,918],\"mapped\",[950]],[[919,919],\"mapped\",[951]],[[920,920],\"mapped\",[952]],[[921,921],\"mapped\",[953]],[[922,922],\"mapped\",[954]],[[923,923],\"mapped\",[955]],[[924,924],\"mapped\",[956]],[[925,925],\"mapped\",[957]],[[926,926],\"mapped\",[958]],[[927,927],\"mapped\",[959]],[[928,928],\"mapped\",[960]],[[929,929],\"mapped\",[961]],[[930,930],\"disallowed\"],[[931,931],\"mapped\",[963]],[[932,932],\"mapped\",[964]],[[933,933],\"mapped\",[965]],[[934,934],\"mapped\",[966]],[[935,935],\"mapped\",[967]],[[936,936],\"mapped\",[968]],[[937,937],\"mapped\",[969]],[[938,938],\"mapped\",[970]],[[939,939],\"mapped\",[971]],[[940,961],\"valid\"],[[962,962],\"deviation\",[963]],[[963,974],\"valid\"],[[975,975],\"mapped\",[983]],[[976,976],\"mapped\",[946]],[[977,977],\"mapped\",[952]],[[978,978],\"mapped\",[965]],[[979,979],\"mapped\",[973]],[[980,980],\"mapped\",[971]],[[981,981],\"mapped\",[966]],[[982,982],\"mapped\",[960]],[[983,983],\"valid\"],[[984,984],\"mapped\",[985]],[[985,985],\"valid\"],[[986,986],\"mapped\",[987]],[[987,987],\"valid\"],[[988,988],\"mapped\",[989]],[[989,989],\"valid\"],[[990,990],\"mapped\",[991]],[[991,991],\"valid\"],[[992,992],\"mapped\",[993]],[[993,993],\"valid\"],[[994,994],\"mapped\",[995]],[[995,995],\"valid\"],[[996,996],\"mapped\",[997]],[[997,997],\"valid\"],[[998,998],\"mapped\",[999]],[[999,999],\"valid\"],[[1000,1000],\"mapped\",[1001]],[[1001,1001],\"valid\"],[[1002,1002],\"mapped\",[1003]],[[1003,1003],\"valid\"],[[1004,1004],\"mapped\",[1005]],[[1005,1005],\"valid\"],[[1006,1006],\"mapped\",[1007]],[[1007,1007],\"valid\"],[[1008,1008],\"mapped\",[954]],[[1009,1009],\"mapped\",[961]],[[1010,1010],\"mapped\",[963]],[[1011,1011],\"valid\"],[[1012,1012],\"mapped\",[952]],[[1013,1013],\"mapped\",[949]],[[1014,1014],\"valid\",[],\"NV8\"],[[1015,1015],\"mapped\",[1016]],[[1016,1016],\"valid\"],[[1017,1017],\"mapped\",[963]],[[1018,1018],\"mapped\",[1019]],[[1019,1019],\"valid\"],[[1020,1020],\"valid\"],[[1021,1021],\"mapped\",[891]],[[1022,1022],\"mapped\",[892]],[[1023,1023],\"mapped\",[893]],[[1024,1024],\"mapped\",[1104]],[[1025,1025],\"mapped\",[1105]],[[1026,1026],\"mapped\",[1106]],[[1027,1027],\"mapped\",[1107]],[[1028,1028],\"mapped\",[1108]],[[1029,1029],\"mapped\",[1109]],[[1030,1030],\"mapped\",[1110]],[[1031,1031],\"mapped\",[1111]],[[1032,1032],\"mapped\",[1112]],[[1033,1033],\"mapped\",[1113]],[[1034,1034],\"mapped\",[1114]],[[1035,1035],\"mapped\",[1115]],[[1036,1036],\"mapped\",[1116]],[[1037,1037],\"mapped\",[1117]],[[1038,1038],\"mapped\",[1118]],[[1039,1039],\"mapped\",[1119]],[[1040,1040],\"mapped\",[1072]],[[1041,1041],\"mapped\",[1073]],[[1042,1042],\"mapped\",[1074]],[[1043,1043],\"mapped\",[1075]],[[1044,1044],\"mapped\",[1076]],[[1045,1045],\"mapped\",[1077]],[[1046,1046],\"mapped\",[1078]],[[1047,1047],\"mapped\",[1079]],[[1048,1048],\"mapped\",[1080]],[[1049,1049],\"mapped\",[1081]],[[1050,1050],\"mapped\",[1082]],[[1051,1051],\"mapped\",[1083]],[[1052,1052],\"mapped\",[1084]],[[1053,1053],\"mapped\",[1085]],[[1054,1054],\"mapped\",[1086]],[[1055,1055],\"mapped\",[1087]],[[1056,1056],\"mapped\",[1088]],[[1057,1057],\"mapped\",[1089]],[[1058,1058],\"mapped\",[1090]],[[1059,1059],\"mapped\",[1091]],[[1060,1060],\"mapped\",[1092]],[[1061,1061],\"mapped\",[1093]],[[1062,1062],\"mapped\",[1094]],[[1063,1063],\"mapped\",[1095]],[[1064,1064],\"mapped\",[1096]],[[1065,1065],\"mapped\",[1097]],[[1066,1066],\"mapped\",[1098]],[[1067,1067],\"mapped\",[1099]],[[1068,1068],\"mapped\",[1100]],[[1069,1069],\"mapped\",[1101]],[[1070,1070],\"mapped\",[1102]],[[1071,1071],\"mapped\",[1103]],[[1072,1103],\"valid\"],[[1104,1104],\"valid\"],[[1105,1116],\"valid\"],[[1117,1117],\"valid\"],[[1118,1119],\"valid\"],[[1120,1120],\"mapped\",[1121]],[[1121,1121],\"valid\"],[[1122,1122],\"mapped\",[1123]],[[1123,1123],\"valid\"],[[1124,1124],\"mapped\",[1125]],[[1125,1125],\"valid\"],[[1126,1126],\"mapped\",[1127]],[[1127,1127],\"valid\"],[[1128,1128],\"mapped\",[1129]],[[1129,1129],\"valid\"],[[1130,1130],\"mapped\",[1131]],[[1131,1131],\"valid\"],[[1132,1132],\"mapped\",[1133]],[[1133,1133],\"valid\"],[[1134,1134],\"mapped\",[1135]],[[1135,1135],\"valid\"],[[1136,1136],\"mapped\",[1137]],[[1137,1137],\"valid\"],[[1138,1138],\"mapped\",[1139]],[[1139,1139],\"valid\"],[[1140,1140],\"mapped\",[1141]],[[1141,1141],\"valid\"],[[1142,1142],\"mapped\",[1143]],[[1143,1143],\"valid\"],[[1144,1144],\"mapped\",[1145]],[[1145,1145],\"valid\"],[[1146,1146],\"mapped\",[1147]],[[1147,1147],\"valid\"],[[1148,1148],\"mapped\",[1149]],[[1149,1149],\"valid\"],[[1150,1150],\"mapped\",[1151]],[[1151,1151],\"valid\"],[[1152,1152],\"mapped\",[1153]],[[1153,1153],\"valid\"],[[1154,1154],\"valid\",[],\"NV8\"],[[1155,1158],\"valid\"],[[1159,1159],\"valid\"],[[1160,1161],\"valid\",[],\"NV8\"],[[1162,1162],\"mapped\",[1163]],[[1163,1163],\"valid\"],[[1164,1164],\"mapped\",[1165]],[[1165,1165],\"valid\"],[[1166,1166],\"mapped\",[1167]],[[1167,1167],\"valid\"],[[1168,1168],\"mapped\",[1169]],[[1169,1169],\"valid\"],[[1170,1170],\"mapped\",[1171]],[[1171,1171],\"valid\"],[[1172,1172],\"mapped\",[1173]],[[1173,1173],\"valid\"],[[1174,1174],\"mapped\",[1175]],[[1175,1175],\"valid\"],[[1176,1176],\"mapped\",[1177]],[[1177,1177],\"valid\"],[[1178,1178],\"mapped\",[1179]],[[1179,1179],\"valid\"],[[1180,1180],\"mapped\",[1181]],[[1181,1181],\"valid\"],[[1182,1182],\"mapped\",[1183]],[[1183,1183],\"valid\"],[[1184,1184],\"mapped\",[1185]],[[1185,1185],\"valid\"],[[1186,1186],\"mapped\",[1187]],[[1187,1187],\"valid\"],[[1188,1188],\"mapped\",[1189]],[[1189,1189],\"valid\"],[[1190,1190],\"mapped\",[1191]],[[1191,1191],\"valid\"],[[1192,1192],\"mapped\",[1193]],[[1193,1193],\"valid\"],[[1194,1194],\"mapped\",[1195]],[[1195,1195],\"valid\"],[[1196,1196],\"mapped\",[1197]],[[1197,1197],\"valid\"],[[1198,1198],\"mapped\",[1199]],[[1199,1199],\"valid\"],[[1200,1200],\"mapped\",[1201]],[[1201,1201],\"valid\"],[[1202,1202],\"mapped\",[1203]],[[1203,1203],\"valid\"],[[1204,1204],\"mapped\",[1205]],[[1205,1205],\"valid\"],[[1206,1206],\"mapped\",[1207]],[[1207,1207],\"valid\"],[[1208,1208],\"mapped\",[1209]],[[1209,1209],\"valid\"],[[1210,1210],\"mapped\",[1211]],[[1211,1211],\"valid\"],[[1212,1212],\"mapped\",[1213]],[[1213,1213],\"valid\"],[[1214,1214],\"mapped\",[1215]],[[1215,1215],\"valid\"],[[1216,1216],\"disallowed\"],[[1217,1217],\"mapped\",[1218]],[[1218,1218],\"valid\"],[[1219,1219],\"mapped\",[1220]],[[1220,1220],\"valid\"],[[1221,1221],\"mapped\",[1222]],[[1222,1222],\"valid\"],[[1223,1223],\"mapped\",[1224]],[[1224,1224],\"valid\"],[[1225,1225],\"mapped\",[1226]],[[1226,1226],\"valid\"],[[1227,1227],\"mapped\",[1228]],[[1228,1228],\"valid\"],[[1229,1229],\"mapped\",[1230]],[[1230,1230],\"valid\"],[[1231,1231],\"valid\"],[[1232,1232],\"mapped\",[1233]],[[1233,1233],\"valid\"],[[1234,1234],\"mapped\",[1235]],[[1235,1235],\"valid\"],[[1236,1236],\"mapped\",[1237]],[[1237,1237],\"valid\"],[[1238,1238],\"mapped\",[1239]],[[1239,1239],\"valid\"],[[1240,1240],\"mapped\",[1241]],[[1241,1241],\"valid\"],[[1242,1242],\"mapped\",[1243]],[[1243,1243],\"valid\"],[[1244,1244],\"mapped\",[1245]],[[1245,1245],\"valid\"],[[1246,1246],\"mapped\",[1247]],[[1247,1247],\"valid\"],[[1248,1248],\"mapped\",[1249]],[[1249,1249],\"valid\"],[[1250,1250],\"mapped\",[1251]],[[1251,1251],\"valid\"],[[1252,1252],\"mapped\",[1253]],[[1253,1253],\"valid\"],[[1254,1254],\"mapped\",[1255]],[[1255,1255],\"valid\"],[[1256,1256],\"mapped\",[1257]],[[1257,1257],\"valid\"],[[1258,1258],\"mapped\",[1259]],[[1259,1259],\"valid\"],[[1260,1260],\"mapped\",[1261]],[[1261,1261],\"valid\"],[[1262,1262],\"mapped\",[1263]],[[1263,1263],\"valid\"],[[1264,1264],\"mapped\",[1265]],[[1265,1265],\"valid\"],[[1266,1266],\"mapped\",[1267]],[[1267,1267],\"valid\"],[[1268,1268],\"mapped\",[1269]],[[1269,1269],\"valid\"],[[1270,1270],\"mapped\",[1271]],[[1271,1271],\"valid\"],[[1272,1272],\"mapped\",[1273]],[[1273,1273],\"valid\"],[[1274,1274],\"mapped\",[1275]],[[1275,1275],\"valid\"],[[1276,1276],\"mapped\",[1277]],[[1277,1277],\"valid\"],[[1278,1278],\"mapped\",[1279]],[[1279,1279],\"valid\"],[[1280,1280],\"mapped\",[1281]],[[1281,1281],\"valid\"],[[1282,1282],\"mapped\",[1283]],[[1283,1283],\"valid\"],[[1284,1284],\"mapped\",[1285]],[[1285,1285],\"valid\"],[[1286,1286],\"mapped\",[1287]],[[1287,1287],\"valid\"],[[1288,1288],\"mapped\",[1289]],[[1289,1289],\"valid\"],[[1290,1290],\"mapped\",[1291]],[[1291,1291],\"valid\"],[[1292,1292],\"mapped\",[1293]],[[1293,1293],\"valid\"],[[1294,1294],\"mapped\",[1295]],[[1295,1295],\"valid\"],[[1296,1296],\"mapped\",[1297]],[[1297,1297],\"valid\"],[[1298,1298],\"mapped\",[1299]],[[1299,1299],\"valid\"],[[1300,1300],\"mapped\",[1301]],[[1301,1301],\"valid\"],[[1302,1302],\"mapped\",[1303]],[[1303,1303],\"valid\"],[[1304,1304],\"mapped\",[1305]],[[1305,1305],\"valid\"],[[1306,1306],\"mapped\",[1307]],[[1307,1307],\"valid\"],[[1308,1308],\"mapped\",[1309]],[[1309,1309],\"valid\"],[[1310,1310],\"mapped\",[1311]],[[1311,1311],\"valid\"],[[1312,1312],\"mapped\",[1313]],[[1313,1313],\"valid\"],[[1314,1314],\"mapped\",[1315]],[[1315,1315],\"valid\"],[[1316,1316],\"mapped\",[1317]],[[1317,1317],\"valid\"],[[1318,1318],\"mapped\",[1319]],[[1319,1319],\"valid\"],[[1320,1320],\"mapped\",[1321]],[[1321,1321],\"valid\"],[[1322,1322],\"mapped\",[1323]],[[1323,1323],\"valid\"],[[1324,1324],\"mapped\",[1325]],[[1325,1325],\"valid\"],[[1326,1326],\"mapped\",[1327]],[[1327,1327],\"valid\"],[[1328,1328],\"disallowed\"],[[1329,1329],\"mapped\",[1377]],[[1330,1330],\"mapped\",[1378]],[[1331,1331],\"mapped\",[1379]],[[1332,1332],\"mapped\",[1380]],[[1333,1333],\"mapped\",[1381]],[[1334,1334],\"mapped\",[1382]],[[1335,1335],\"mapped\",[1383]],[[1336,1336],\"mapped\",[1384]],[[1337,1337],\"mapped\",[1385]],[[1338,1338],\"mapped\",[1386]],[[1339,1339],\"mapped\",[1387]],[[1340,1340],\"mapped\",[1388]],[[1341,1341],\"mapped\",[1389]],[[1342,1342],\"mapped\",[1390]],[[1343,1343],\"mapped\",[1391]],[[1344,1344],\"mapped\",[1392]],[[1345,1345],\"mapped\",[1393]],[[1346,1346],\"mapped\",[1394]],[[1347,1347],\"mapped\",[1395]],[[1348,1348],\"mapped\",[1396]],[[1349,1349],\"mapped\",[1397]],[[1350,1350],\"mapped\",[1398]],[[1351,1351],\"mapped\",[1399]],[[1352,1352],\"mapped\",[1400]],[[1353,1353],\"mapped\",[1401]],[[1354,1354],\"mapped\",[1402]],[[1355,1355],\"mapped\",[1403]],[[1356,1356],\"mapped\",[1404]],[[1357,1357],\"mapped\",[1405]],[[1358,1358],\"mapped\",[1406]],[[1359,1359],\"mapped\",[1407]],[[1360,1360],\"mapped\",[1408]],[[1361,1361],\"mapped\",[1409]],[[1362,1362],\"mapped\",[1410]],[[1363,1363],\"mapped\",[1411]],[[1364,1364],\"mapped\",[1412]],[[1365,1365],\"mapped\",[1413]],[[1366,1366],\"mapped\",[1414]],[[1367,1368],\"disallowed\"],[[1369,1369],\"valid\"],[[1370,1375],\"valid\",[],\"NV8\"],[[1376,1376],\"disallowed\"],[[1377,1414],\"valid\"],[[1415,1415],\"mapped\",[1381,1410]],[[1416,1416],\"disallowed\"],[[1417,1417],\"valid\",[],\"NV8\"],[[1418,1418],\"valid\",[],\"NV8\"],[[1419,1420],\"disallowed\"],[[1421,1422],\"valid\",[],\"NV8\"],[[1423,1423],\"valid\",[],\"NV8\"],[[1424,1424],\"disallowed\"],[[1425,1441],\"valid\"],[[1442,1442],\"valid\"],[[1443,1455],\"valid\"],[[1456,1465],\"valid\"],[[1466,1466],\"valid\"],[[1467,1469],\"valid\"],[[1470,1470],\"valid\",[],\"NV8\"],[[1471,1471],\"valid\"],[[1472,1472],\"valid\",[],\"NV8\"],[[1473,1474],\"valid\"],[[1475,1475],\"valid\",[],\"NV8\"],[[1476,1476],\"valid\"],[[1477,1477],\"valid\"],[[1478,1478],\"valid\",[],\"NV8\"],[[1479,1479],\"valid\"],[[1480,1487],\"disallowed\"],[[1488,1514],\"valid\"],[[1515,1519],\"disallowed\"],[[1520,1524],\"valid\"],[[1525,1535],\"disallowed\"],[[1536,1539],\"disallowed\"],[[1540,1540],\"disallowed\"],[[1541,1541],\"disallowed\"],[[1542,1546],\"valid\",[],\"NV8\"],[[1547,1547],\"valid\",[],\"NV8\"],[[1548,1548],\"valid\",[],\"NV8\"],[[1549,1551],\"valid\",[],\"NV8\"],[[1552,1557],\"valid\"],[[1558,1562],\"valid\"],[[1563,1563],\"valid\",[],\"NV8\"],[[1564,1564],\"disallowed\"],[[1565,1565],\"disallowed\"],[[1566,1566],\"valid\",[],\"NV8\"],[[1567,1567],\"valid\",[],\"NV8\"],[[1568,1568],\"valid\"],[[1569,1594],\"valid\"],[[1595,1599],\"valid\"],[[1600,1600],\"valid\",[],\"NV8\"],[[1601,1618],\"valid\"],[[1619,1621],\"valid\"],[[1622,1624],\"valid\"],[[1625,1630],\"valid\"],[[1631,1631],\"valid\"],[[1632,1641],\"valid\"],[[1642,1645],\"valid\",[],\"NV8\"],[[1646,1647],\"valid\"],[[1648,1652],\"valid\"],[[1653,1653],\"mapped\",[1575,1652]],[[1654,1654],\"mapped\",[1608,1652]],[[1655,1655],\"mapped\",[1735,1652]],[[1656,1656],\"mapped\",[1610,1652]],[[1657,1719],\"valid\"],[[1720,1721],\"valid\"],[[1722,1726],\"valid\"],[[1727,1727],\"valid\"],[[1728,1742],\"valid\"],[[1743,1743],\"valid\"],[[1744,1747],\"valid\"],[[1748,1748],\"valid\",[],\"NV8\"],[[1749,1756],\"valid\"],[[1757,1757],\"disallowed\"],[[1758,1758],\"valid\",[],\"NV8\"],[[1759,1768],\"valid\"],[[1769,1769],\"valid\",[],\"NV8\"],[[1770,1773],\"valid\"],[[1774,1775],\"valid\"],[[1776,1785],\"valid\"],[[1786,1790],\"valid\"],[[1791,1791],\"valid\"],[[1792,1805],\"valid\",[],\"NV8\"],[[1806,1806],\"disallowed\"],[[1807,1807],\"disallowed\"],[[1808,1836],\"valid\"],[[1837,1839],\"valid\"],[[1840,1866],\"valid\"],[[1867,1868],\"disallowed\"],[[1869,1871],\"valid\"],[[1872,1901],\"valid\"],[[1902,1919],\"valid\"],[[1920,1968],\"valid\"],[[1969,1969],\"valid\"],[[1970,1983],\"disallowed\"],[[1984,2037],\"valid\"],[[2038,2042],\"valid\",[],\"NV8\"],[[2043,2047],\"disallowed\"],[[2048,2093],\"valid\"],[[2094,2095],\"disallowed\"],[[2096,2110],\"valid\",[],\"NV8\"],[[2111,2111],\"disallowed\"],[[2112,2139],\"valid\"],[[2140,2141],\"disallowed\"],[[2142,2142],\"valid\",[],\"NV8\"],[[2143,2207],\"disallowed\"],[[2208,2208],\"valid\"],[[2209,2209],\"valid\"],[[2210,2220],\"valid\"],[[2221,2226],\"valid\"],[[2227,2228],\"valid\"],[[2229,2274],\"disallowed\"],[[2275,2275],\"valid\"],[[2276,2302],\"valid\"],[[2303,2303],\"valid\"],[[2304,2304],\"valid\"],[[2305,2307],\"valid\"],[[2308,2308],\"valid\"],[[2309,2361],\"valid\"],[[2362,2363],\"valid\"],[[2364,2381],\"valid\"],[[2382,2382],\"valid\"],[[2383,2383],\"valid\"],[[2384,2388],\"valid\"],[[2389,2389],\"valid\"],[[2390,2391],\"valid\"],[[2392,2392],\"mapped\",[2325,2364]],[[2393,2393],\"mapped\",[2326,2364]],[[2394,2394],\"mapped\",[2327,2364]],[[2395,2395],\"mapped\",[2332,2364]],[[2396,2396],\"mapped\",[2337,2364]],[[2397,2397],\"mapped\",[2338,2364]],[[2398,2398],\"mapped\",[2347,2364]],[[2399,2399],\"mapped\",[2351,2364]],[[2400,2403],\"valid\"],[[2404,2405],\"valid\",[],\"NV8\"],[[2406,2415],\"valid\"],[[2416,2416],\"valid\",[],\"NV8\"],[[2417,2418],\"valid\"],[[2419,2423],\"valid\"],[[2424,2424],\"valid\"],[[2425,2426],\"valid\"],[[2427,2428],\"valid\"],[[2429,2429],\"valid\"],[[2430,2431],\"valid\"],[[2432,2432],\"valid\"],[[2433,2435],\"valid\"],[[2436,2436],\"disallowed\"],[[2437,2444],\"valid\"],[[2445,2446],\"disallowed\"],[[2447,2448],\"valid\"],[[2449,2450],\"disallowed\"],[[2451,2472],\"valid\"],[[2473,2473],\"disallowed\"],[[2474,2480],\"valid\"],[[2481,2481],\"disallowed\"],[[2482,2482],\"valid\"],[[2483,2485],\"disallowed\"],[[2486,2489],\"valid\"],[[2490,2491],\"disallowed\"],[[2492,2492],\"valid\"],[[2493,2493],\"valid\"],[[2494,2500],\"valid\"],[[2501,2502],\"disallowed\"],[[2503,2504],\"valid\"],[[2505,2506],\"disallowed\"],[[2507,2509],\"valid\"],[[2510,2510],\"valid\"],[[2511,2518],\"disallowed\"],[[2519,2519],\"valid\"],[[2520,2523],\"disallowed\"],[[2524,2524],\"mapped\",[2465,2492]],[[2525,2525],\"mapped\",[2466,2492]],[[2526,2526],\"disallowed\"],[[2527,2527],\"mapped\",[2479,2492]],[[2528,2531],\"valid\"],[[2532,2533],\"disallowed\"],[[2534,2545],\"valid\"],[[2546,2554],\"valid\",[],\"NV8\"],[[2555,2555],\"valid\",[],\"NV8\"],[[2556,2560],\"disallowed\"],[[2561,2561],\"valid\"],[[2562,2562],\"valid\"],[[2563,2563],\"valid\"],[[2564,2564],\"disallowed\"],[[2565,2570],\"valid\"],[[2571,2574],\"disallowed\"],[[2575,2576],\"valid\"],[[2577,2578],\"disallowed\"],[[2579,2600],\"valid\"],[[2601,2601],\"disallowed\"],[[2602,2608],\"valid\"],[[2609,2609],\"disallowed\"],[[2610,2610],\"valid\"],[[2611,2611],\"mapped\",[2610,2620]],[[2612,2612],\"disallowed\"],[[2613,2613],\"valid\"],[[2614,2614],\"mapped\",[2616,2620]],[[2615,2615],\"disallowed\"],[[2616,2617],\"valid\"],[[2618,2619],\"disallowed\"],[[2620,2620],\"valid\"],[[2621,2621],\"disallowed\"],[[2622,2626],\"valid\"],[[2627,2630],\"disallowed\"],[[2631,2632],\"valid\"],[[2633,2634],\"disallowed\"],[[2635,2637],\"valid\"],[[2638,2640],\"disallowed\"],[[2641,2641],\"valid\"],[[2642,2648],\"disallowed\"],[[2649,2649],\"mapped\",[2582,2620]],[[2650,2650],\"mapped\",[2583,2620]],[[2651,2651],\"mapped\",[2588,2620]],[[2652,2652],\"valid\"],[[2653,2653],\"disallowed\"],[[2654,2654],\"mapped\",[2603,2620]],[[2655,2661],\"disallowed\"],[[2662,2676],\"valid\"],[[2677,2677],\"valid\"],[[2678,2688],\"disallowed\"],[[2689,2691],\"valid\"],[[2692,2692],\"disallowed\"],[[2693,2699],\"valid\"],[[2700,2700],\"valid\"],[[2701,2701],\"valid\"],[[2702,2702],\"disallowed\"],[[2703,2705],\"valid\"],[[2706,2706],\"disallowed\"],[[2707,2728],\"valid\"],[[2729,2729],\"disallowed\"],[[2730,2736],\"valid\"],[[2737,2737],\"disallowed\"],[[2738,2739],\"valid\"],[[2740,2740],\"disallowed\"],[[2741,2745],\"valid\"],[[2746,2747],\"disallowed\"],[[2748,2757],\"valid\"],[[2758,2758],\"disallowed\"],[[2759,2761],\"valid\"],[[2762,2762],\"disallowed\"],[[2763,2765],\"valid\"],[[2766,2767],\"disallowed\"],[[2768,2768],\"valid\"],[[2769,2783],\"disallowed\"],[[2784,2784],\"valid\"],[[2785,2787],\"valid\"],[[2788,2789],\"disallowed\"],[[2790,2799],\"valid\"],[[2800,2800],\"valid\",[],\"NV8\"],[[2801,2801],\"valid\",[],\"NV8\"],[[2802,2808],\"disallowed\"],[[2809,2809],\"valid\"],[[2810,2816],\"disallowed\"],[[2817,2819],\"valid\"],[[2820,2820],\"disallowed\"],[[2821,2828],\"valid\"],[[2829,2830],\"disallowed\"],[[2831,2832],\"valid\"],[[2833,2834],\"disallowed\"],[[2835,2856],\"valid\"],[[2857,2857],\"disallowed\"],[[2858,2864],\"valid\"],[[2865,2865],\"disallowed\"],[[2866,2867],\"valid\"],[[2868,2868],\"disallowed\"],[[2869,2869],\"valid\"],[[2870,2873],\"valid\"],[[2874,2875],\"disallowed\"],[[2876,2883],\"valid\"],[[2884,2884],\"valid\"],[[2885,2886],\"disallowed\"],[[2887,2888],\"valid\"],[[2889,2890],\"disallowed\"],[[2891,2893],\"valid\"],[[2894,2901],\"disallowed\"],[[2902,2903],\"valid\"],[[2904,2907],\"disallowed\"],[[2908,2908],\"mapped\",[2849,2876]],[[2909,2909],\"mapped\",[2850,2876]],[[2910,2910],\"disallowed\"],[[2911,2913],\"valid\"],[[2914,2915],\"valid\"],[[2916,2917],\"disallowed\"],[[2918,2927],\"valid\"],[[2928,2928],\"valid\",[],\"NV8\"],[[2929,2929],\"valid\"],[[2930,2935],\"valid\",[],\"NV8\"],[[2936,2945],\"disallowed\"],[[2946,2947],\"valid\"],[[2948,2948],\"disallowed\"],[[2949,2954],\"valid\"],[[2955,2957],\"disallowed\"],[[2958,2960],\"valid\"],[[2961,2961],\"disallowed\"],[[2962,2965],\"valid\"],[[2966,2968],\"disallowed\"],[[2969,2970],\"valid\"],[[2971,2971],\"disallowed\"],[[2972,2972],\"valid\"],[[2973,2973],\"disallowed\"],[[2974,2975],\"valid\"],[[2976,2978],\"disallowed\"],[[2979,2980],\"valid\"],[[2981,2983],\"disallowed\"],[[2984,2986],\"valid\"],[[2987,2989],\"disallowed\"],[[2990,2997],\"valid\"],[[2998,2998],\"valid\"],[[2999,3001],\"valid\"],[[3002,3005],\"disallowed\"],[[3006,3010],\"valid\"],[[3011,3013],\"disallowed\"],[[3014,3016],\"valid\"],[[3017,3017],\"disallowed\"],[[3018,3021],\"valid\"],[[3022,3023],\"disallowed\"],[[3024,3024],\"valid\"],[[3025,3030],\"disallowed\"],[[3031,3031],\"valid\"],[[3032,3045],\"disallowed\"],[[3046,3046],\"valid\"],[[3047,3055],\"valid\"],[[3056,3058],\"valid\",[],\"NV8\"],[[3059,3066],\"valid\",[],\"NV8\"],[[3067,3071],\"disallowed\"],[[3072,3072],\"valid\"],[[3073,3075],\"valid\"],[[3076,3076],\"disallowed\"],[[3077,3084],\"valid\"],[[3085,3085],\"disallowed\"],[[3086,3088],\"valid\"],[[3089,3089],\"disallowed\"],[[3090,3112],\"valid\"],[[3113,3113],\"disallowed\"],[[3114,3123],\"valid\"],[[3124,3124],\"valid\"],[[3125,3129],\"valid\"],[[3130,3132],\"disallowed\"],[[3133,3133],\"valid\"],[[3134,3140],\"valid\"],[[3141,3141],\"disallowed\"],[[3142,3144],\"valid\"],[[3145,3145],\"disallowed\"],[[3146,3149],\"valid\"],[[3150,3156],\"disallowed\"],[[3157,3158],\"valid\"],[[3159,3159],\"disallowed\"],[[3160,3161],\"valid\"],[[3162,3162],\"valid\"],[[3163,3167],\"disallowed\"],[[3168,3169],\"valid\"],[[3170,3171],\"valid\"],[[3172,3173],\"disallowed\"],[[3174,3183],\"valid\"],[[3184,3191],\"disallowed\"],[[3192,3199],\"valid\",[],\"NV8\"],[[3200,3200],\"disallowed\"],[[3201,3201],\"valid\"],[[3202,3203],\"valid\"],[[3204,3204],\"disallowed\"],[[3205,3212],\"valid\"],[[3213,3213],\"disallowed\"],[[3214,3216],\"valid\"],[[3217,3217],\"disallowed\"],[[3218,3240],\"valid\"],[[3241,3241],\"disallowed\"],[[3242,3251],\"valid\"],[[3252,3252],\"disallowed\"],[[3253,3257],\"valid\"],[[3258,3259],\"disallowed\"],[[3260,3261],\"valid\"],[[3262,3268],\"valid\"],[[3269,3269],\"disallowed\"],[[3270,3272],\"valid\"],[[3273,3273],\"disallowed\"],[[3274,3277],\"valid\"],[[3278,3284],\"disallowed\"],[[3285,3286],\"valid\"],[[3287,3293],\"disallowed\"],[[3294,3294],\"valid\"],[[3295,3295],\"disallowed\"],[[3296,3297],\"valid\"],[[3298,3299],\"valid\"],[[3300,3301],\"disallowed\"],[[3302,3311],\"valid\"],[[3312,3312],\"disallowed\"],[[3313,3314],\"valid\"],[[3315,3328],\"disallowed\"],[[3329,3329],\"valid\"],[[3330,3331],\"valid\"],[[3332,3332],\"disallowed\"],[[3333,3340],\"valid\"],[[3341,3341],\"disallowed\"],[[3342,3344],\"valid\"],[[3345,3345],\"disallowed\"],[[3346,3368],\"valid\"],[[3369,3369],\"valid\"],[[3370,3385],\"valid\"],[[3386,3386],\"valid\"],[[3387,3388],\"disallowed\"],[[3389,3389],\"valid\"],[[3390,3395],\"valid\"],[[3396,3396],\"valid\"],[[3397,3397],\"disallowed\"],[[3398,3400],\"valid\"],[[3401,3401],\"disallowed\"],[[3402,3405],\"valid\"],[[3406,3406],\"valid\"],[[3407,3414],\"disallowed\"],[[3415,3415],\"valid\"],[[3416,3422],\"disallowed\"],[[3423,3423],\"valid\"],[[3424,3425],\"valid\"],[[3426,3427],\"valid\"],[[3428,3429],\"disallowed\"],[[3430,3439],\"valid\"],[[3440,3445],\"valid\",[],\"NV8\"],[[3446,3448],\"disallowed\"],[[3449,3449],\"valid\",[],\"NV8\"],[[3450,3455],\"valid\"],[[3456,3457],\"disallowed\"],[[3458,3459],\"valid\"],[[3460,3460],\"disallowed\"],[[3461,3478],\"valid\"],[[3479,3481],\"disallowed\"],[[3482,3505],\"valid\"],[[3506,3506],\"disallowed\"],[[3507,3515],\"valid\"],[[3516,3516],\"disallowed\"],[[3517,3517],\"valid\"],[[3518,3519],\"disallowed\"],[[3520,3526],\"valid\"],[[3527,3529],\"disallowed\"],[[3530,3530],\"valid\"],[[3531,3534],\"disallowed\"],[[3535,3540],\"valid\"],[[3541,3541],\"disallowed\"],[[3542,3542],\"valid\"],[[3543,3543],\"disallowed\"],[[3544,3551],\"valid\"],[[3552,3557],\"disallowed\"],[[3558,3567],\"valid\"],[[3568,3569],\"disallowed\"],[[3570,3571],\"valid\"],[[3572,3572],\"valid\",[],\"NV8\"],[[3573,3584],\"disallowed\"],[[3585,3634],\"valid\"],[[3635,3635],\"mapped\",[3661,3634]],[[3636,3642],\"valid\"],[[3643,3646],\"disallowed\"],[[3647,3647],\"valid\",[],\"NV8\"],[[3648,3662],\"valid\"],[[3663,3663],\"valid\",[],\"NV8\"],[[3664,3673],\"valid\"],[[3674,3675],\"valid\",[],\"NV8\"],[[3676,3712],\"disallowed\"],[[3713,3714],\"valid\"],[[3715,3715],\"disallowed\"],[[3716,3716],\"valid\"],[[3717,3718],\"disallowed\"],[[3719,3720],\"valid\"],[[3721,3721],\"disallowed\"],[[3722,3722],\"valid\"],[[3723,3724],\"disallowed\"],[[3725,3725],\"valid\"],[[3726,3731],\"disallowed\"],[[3732,3735],\"valid\"],[[3736,3736],\"disallowed\"],[[3737,3743],\"valid\"],[[3744,3744],\"disallowed\"],[[3745,3747],\"valid\"],[[3748,3748],\"disallowed\"],[[3749,3749],\"valid\"],[[3750,3750],\"disallowed\"],[[3751,3751],\"valid\"],[[3752,3753],\"disallowed\"],[[3754,3755],\"valid\"],[[3756,3756],\"disallowed\"],[[3757,3762],\"valid\"],[[3763,3763],\"mapped\",[3789,3762]],[[3764,3769],\"valid\"],[[3770,3770],\"disallowed\"],[[3771,3773],\"valid\"],[[3774,3775],\"disallowed\"],[[3776,3780],\"valid\"],[[3781,3781],\"disallowed\"],[[3782,3782],\"valid\"],[[3783,3783],\"disallowed\"],[[3784,3789],\"valid\"],[[3790,3791],\"disallowed\"],[[3792,3801],\"valid\"],[[3802,3803],\"disallowed\"],[[3804,3804],\"mapped\",[3755,3737]],[[3805,3805],\"mapped\",[3755,3745]],[[3806,3807],\"valid\"],[[3808,3839],\"disallowed\"],[[3840,3840],\"valid\"],[[3841,3850],\"valid\",[],\"NV8\"],[[3851,3851],\"valid\"],[[3852,3852],\"mapped\",[3851]],[[3853,3863],\"valid\",[],\"NV8\"],[[3864,3865],\"valid\"],[[3866,3871],\"valid\",[],\"NV8\"],[[3872,3881],\"valid\"],[[3882,3892],\"valid\",[],\"NV8\"],[[3893,3893],\"valid\"],[[3894,3894],\"valid\",[],\"NV8\"],[[3895,3895],\"valid\"],[[3896,3896],\"valid\",[],\"NV8\"],[[3897,3897],\"valid\"],[[3898,3901],\"valid\",[],\"NV8\"],[[3902,3906],\"valid\"],[[3907,3907],\"mapped\",[3906,4023]],[[3908,3911],\"valid\"],[[3912,3912],\"disallowed\"],[[3913,3916],\"valid\"],[[3917,3917],\"mapped\",[3916,4023]],[[3918,3921],\"valid\"],[[3922,3922],\"mapped\",[3921,4023]],[[3923,3926],\"valid\"],[[3927,3927],\"mapped\",[3926,4023]],[[3928,3931],\"valid\"],[[3932,3932],\"mapped\",[3931,4023]],[[3933,3944],\"valid\"],[[3945,3945],\"mapped\",[3904,4021]],[[3946,3946],\"valid\"],[[3947,3948],\"valid\"],[[3949,3952],\"disallowed\"],[[3953,3954],\"valid\"],[[3955,3955],\"mapped\",[3953,3954]],[[3956,3956],\"valid\"],[[3957,3957],\"mapped\",[3953,3956]],[[3958,3958],\"mapped\",[4018,3968]],[[3959,3959],\"mapped\",[4018,3953,3968]],[[3960,3960],\"mapped\",[4019,3968]],[[3961,3961],\"mapped\",[4019,3953,3968]],[[3962,3968],\"valid\"],[[3969,3969],\"mapped\",[3953,3968]],[[3970,3972],\"valid\"],[[3973,3973],\"valid\",[],\"NV8\"],[[3974,3979],\"valid\"],[[3980,3983],\"valid\"],[[3984,3986],\"valid\"],[[3987,3987],\"mapped\",[3986,4023]],[[3988,3989],\"valid\"],[[3990,3990],\"valid\"],[[3991,3991],\"valid\"],[[3992,3992],\"disallowed\"],[[3993,3996],\"valid\"],[[3997,3997],\"mapped\",[3996,4023]],[[3998,4001],\"valid\"],[[4002,4002],\"mapped\",[4001,4023]],[[4003,4006],\"valid\"],[[4007,4007],\"mapped\",[4006,4023]],[[4008,4011],\"valid\"],[[4012,4012],\"mapped\",[4011,4023]],[[4013,4013],\"valid\"],[[4014,4016],\"valid\"],[[4017,4023],\"valid\"],[[4024,4024],\"valid\"],[[4025,4025],\"mapped\",[3984,4021]],[[4026,4028],\"valid\"],[[4029,4029],\"disallowed\"],[[4030,4037],\"valid\",[],\"NV8\"],[[4038,4038],\"valid\"],[[4039,4044],\"valid\",[],\"NV8\"],[[4045,4045],\"disallowed\"],[[4046,4046],\"valid\",[],\"NV8\"],[[4047,4047],\"valid\",[],\"NV8\"],[[4048,4049],\"valid\",[],\"NV8\"],[[4050,4052],\"valid\",[],\"NV8\"],[[4053,4056],\"valid\",[],\"NV8\"],[[4057,4058],\"valid\",[],\"NV8\"],[[4059,4095],\"disallowed\"],[[4096,4129],\"valid\"],[[4130,4130],\"valid\"],[[4131,4135],\"valid\"],[[4136,4136],\"valid\"],[[4137,4138],\"valid\"],[[4139,4139],\"valid\"],[[4140,4146],\"valid\"],[[4147,4149],\"valid\"],[[4150,4153],\"valid\"],[[4154,4159],\"valid\"],[[4160,4169],\"valid\"],[[4170,4175],\"valid\",[],\"NV8\"],[[4176,4185],\"valid\"],[[4186,4249],\"valid\"],[[4250,4253],\"valid\"],[[4254,4255],\"valid\",[],\"NV8\"],[[4256,4293],\"disallowed\"],[[4294,4294],\"disallowed\"],[[4295,4295],\"mapped\",[11559]],[[4296,4300],\"disallowed\"],[[4301,4301],\"mapped\",[11565]],[[4302,4303],\"disallowed\"],[[4304,4342],\"valid\"],[[4343,4344],\"valid\"],[[4345,4346],\"valid\"],[[4347,4347],\"valid\",[],\"NV8\"],[[4348,4348],\"mapped\",[4316]],[[4349,4351],\"valid\"],[[4352,4441],\"valid\",[],\"NV8\"],[[4442,4446],\"valid\",[],\"NV8\"],[[4447,4448],\"disallowed\"],[[4449,4514],\"valid\",[],\"NV8\"],[[4515,4519],\"valid\",[],\"NV8\"],[[4520,4601],\"valid\",[],\"NV8\"],[[4602,4607],\"valid\",[],\"NV8\"],[[4608,4614],\"valid\"],[[4615,4615],\"valid\"],[[4616,4678],\"valid\"],[[4679,4679],\"valid\"],[[4680,4680],\"valid\"],[[4681,4681],\"disallowed\"],[[4682,4685],\"valid\"],[[4686,4687],\"disallowed\"],[[4688,4694],\"valid\"],[[4695,4695],\"disallowed\"],[[4696,4696],\"valid\"],[[4697,4697],\"disallowed\"],[[4698,4701],\"valid\"],[[4702,4703],\"disallowed\"],[[4704,4742],\"valid\"],[[4743,4743],\"valid\"],[[4744,4744],\"valid\"],[[4745,4745],\"disallowed\"],[[4746,4749],\"valid\"],[[4750,4751],\"disallowed\"],[[4752,4782],\"valid\"],[[4783,4783],\"valid\"],[[4784,4784],\"valid\"],[[4785,4785],\"disallowed\"],[[4786,4789],\"valid\"],[[4790,4791],\"disallowed\"],[[4792,4798],\"valid\"],[[4799,4799],\"disallowed\"],[[4800,4800],\"valid\"],[[4801,4801],\"disallowed\"],[[4802,4805],\"valid\"],[[4806,4807],\"disallowed\"],[[4808,4814],\"valid\"],[[4815,4815],\"valid\"],[[4816,4822],\"valid\"],[[4823,4823],\"disallowed\"],[[4824,4846],\"valid\"],[[4847,4847],\"valid\"],[[4848,4878],\"valid\"],[[4879,4879],\"valid\"],[[4880,4880],\"valid\"],[[4881,4881],\"disallowed\"],[[4882,4885],\"valid\"],[[4886,4887],\"disallowed\"],[[4888,4894],\"valid\"],[[4895,4895],\"valid\"],[[4896,4934],\"valid\"],[[4935,4935],\"valid\"],[[4936,4954],\"valid\"],[[4955,4956],\"disallowed\"],[[4957,4958],\"valid\"],[[4959,4959],\"valid\"],[[4960,4960],\"valid\",[],\"NV8\"],[[4961,4988],\"valid\",[],\"NV8\"],[[4989,4991],\"disallowed\"],[[4992,5007],\"valid\"],[[5008,5017],\"valid\",[],\"NV8\"],[[5018,5023],\"disallowed\"],[[5024,5108],\"valid\"],[[5109,5109],\"valid\"],[[5110,5111],\"disallowed\"],[[5112,5112],\"mapped\",[5104]],[[5113,5113],\"mapped\",[5105]],[[5114,5114],\"mapped\",[5106]],[[5115,5115],\"mapped\",[5107]],[[5116,5116],\"mapped\",[5108]],[[5117,5117],\"mapped\",[5109]],[[5118,5119],\"disallowed\"],[[5120,5120],\"valid\",[],\"NV8\"],[[5121,5740],\"valid\"],[[5741,5742],\"valid\",[],\"NV8\"],[[5743,5750],\"valid\"],[[5751,5759],\"valid\"],[[5760,5760],\"disallowed\"],[[5761,5786],\"valid\"],[[5787,5788],\"valid\",[],\"NV8\"],[[5789,5791],\"disallowed\"],[[5792,5866],\"valid\"],[[5867,5872],\"valid\",[],\"NV8\"],[[5873,5880],\"valid\"],[[5881,5887],\"disallowed\"],[[5888,5900],\"valid\"],[[5901,5901],\"disallowed\"],[[5902,5908],\"valid\"],[[5909,5919],\"disallowed\"],[[5920,5940],\"valid\"],[[5941,5942],\"valid\",[],\"NV8\"],[[5943,5951],\"disallowed\"],[[5952,5971],\"valid\"],[[5972,5983],\"disallowed\"],[[5984,5996],\"valid\"],[[5997,5997],\"disallowed\"],[[5998,6000],\"valid\"],[[6001,6001],\"disallowed\"],[[6002,6003],\"valid\"],[[6004,6015],\"disallowed\"],[[6016,6067],\"valid\"],[[6068,6069],\"disallowed\"],[[6070,6099],\"valid\"],[[6100,6102],\"valid\",[],\"NV8\"],[[6103,6103],\"valid\"],[[6104,6107],\"valid\",[],\"NV8\"],[[6108,6108],\"valid\"],[[6109,6109],\"valid\"],[[6110,6111],\"disallowed\"],[[6112,6121],\"valid\"],[[6122,6127],\"disallowed\"],[[6128,6137],\"valid\",[],\"NV8\"],[[6138,6143],\"disallowed\"],[[6144,6149],\"valid\",[],\"NV8\"],[[6150,6150],\"disallowed\"],[[6151,6154],\"valid\",[],\"NV8\"],[[6155,6157],\"ignored\"],[[6158,6158],\"disallowed\"],[[6159,6159],\"disallowed\"],[[6160,6169],\"valid\"],[[6170,6175],\"disallowed\"],[[6176,6263],\"valid\"],[[6264,6271],\"disallowed\"],[[6272,6313],\"valid\"],[[6314,6314],\"valid\"],[[6315,6319],\"disallowed\"],[[6320,6389],\"valid\"],[[6390,6399],\"disallowed\"],[[6400,6428],\"valid\"],[[6429,6430],\"valid\"],[[6431,6431],\"disallowed\"],[[6432,6443],\"valid\"],[[6444,6447],\"disallowed\"],[[6448,6459],\"valid\"],[[6460,6463],\"disallowed\"],[[6464,6464],\"valid\",[],\"NV8\"],[[6465,6467],\"disallowed\"],[[6468,6469],\"valid\",[],\"NV8\"],[[6470,6509],\"valid\"],[[6510,6511],\"disallowed\"],[[6512,6516],\"valid\"],[[6517,6527],\"disallowed\"],[[6528,6569],\"valid\"],[[6570,6571],\"valid\"],[[6572,6575],\"disallowed\"],[[6576,6601],\"valid\"],[[6602,6607],\"disallowed\"],[[6608,6617],\"valid\"],[[6618,6618],\"valid\",[],\"XV8\"],[[6619,6621],\"disallowed\"],[[6622,6623],\"valid\",[],\"NV8\"],[[6624,6655],\"valid\",[],\"NV8\"],[[6656,6683],\"valid\"],[[6684,6685],\"disallowed\"],[[6686,6687],\"valid\",[],\"NV8\"],[[6688,6750],\"valid\"],[[6751,6751],\"disallowed\"],[[6752,6780],\"valid\"],[[6781,6782],\"disallowed\"],[[6783,6793],\"valid\"],[[6794,6799],\"disallowed\"],[[6800,6809],\"valid\"],[[6810,6815],\"disallowed\"],[[6816,6822],\"valid\",[],\"NV8\"],[[6823,6823],\"valid\"],[[6824,6829],\"valid\",[],\"NV8\"],[[6830,6831],\"disallowed\"],[[6832,6845],\"valid\"],[[6846,6846],\"valid\",[],\"NV8\"],[[6847,6911],\"disallowed\"],[[6912,6987],\"valid\"],[[6988,6991],\"disallowed\"],[[6992,7001],\"valid\"],[[7002,7018],\"valid\",[],\"NV8\"],[[7019,7027],\"valid\"],[[7028,7036],\"valid\",[],\"NV8\"],[[7037,7039],\"disallowed\"],[[7040,7082],\"valid\"],[[7083,7085],\"valid\"],[[7086,7097],\"valid\"],[[7098,7103],\"valid\"],[[7104,7155],\"valid\"],[[7156,7163],\"disallowed\"],[[7164,7167],\"valid\",[],\"NV8\"],[[7168,7223],\"valid\"],[[7224,7226],\"disallowed\"],[[7227,7231],\"valid\",[],\"NV8\"],[[7232,7241],\"valid\"],[[7242,7244],\"disallowed\"],[[7245,7293],\"valid\"],[[7294,7295],\"valid\",[],\"NV8\"],[[7296,7359],\"disallowed\"],[[7360,7367],\"valid\",[],\"NV8\"],[[7368,7375],\"disallowed\"],[[7376,7378],\"valid\"],[[7379,7379],\"valid\",[],\"NV8\"],[[7380,7410],\"valid\"],[[7411,7414],\"valid\"],[[7415,7415],\"disallowed\"],[[7416,7417],\"valid\"],[[7418,7423],\"disallowed\"],[[7424,7467],\"valid\"],[[7468,7468],\"mapped\",[97]],[[7469,7469],\"mapped\",[230]],[[7470,7470],\"mapped\",[98]],[[7471,7471],\"valid\"],[[7472,7472],\"mapped\",[100]],[[7473,7473],\"mapped\",[101]],[[7474,7474],\"mapped\",[477]],[[7475,7475],\"mapped\",[103]],[[7476,7476],\"mapped\",[104]],[[7477,7477],\"mapped\",[105]],[[7478,7478],\"mapped\",[106]],[[7479,7479],\"mapped\",[107]],[[7480,7480],\"mapped\",[108]],[[7481,7481],\"mapped\",[109]],[[7482,7482],\"mapped\",[110]],[[7483,7483],\"valid\"],[[7484,7484],\"mapped\",[111]],[[7485,7485],\"mapped\",[547]],[[7486,7486],\"mapped\",[112]],[[7487,7487],\"mapped\",[114]],[[7488,7488],\"mapped\",[116]],[[7489,7489],\"mapped\",[117]],[[7490,7490],\"mapped\",[119]],[[7491,7491],\"mapped\",[97]],[[7492,7492],\"mapped\",[592]],[[7493,7493],\"mapped\",[593]],[[7494,7494],\"mapped\",[7426]],[[7495,7495],\"mapped\",[98]],[[7496,7496],\"mapped\",[100]],[[7497,7497],\"mapped\",[101]],[[7498,7498],\"mapped\",[601]],[[7499,7499],\"mapped\",[603]],[[7500,7500],\"mapped\",[604]],[[7501,7501],\"mapped\",[103]],[[7502,7502],\"valid\"],[[7503,7503],\"mapped\",[107]],[[7504,7504],\"mapped\",[109]],[[7505,7505],\"mapped\",[331]],[[7506,7506],\"mapped\",[111]],[[7507,7507],\"mapped\",[596]],[[7508,7508],\"mapped\",[7446]],[[7509,7509],\"mapped\",[7447]],[[7510,7510],\"mapped\",[112]],[[7511,7511],\"mapped\",[116]],[[7512,7512],\"mapped\",[117]],[[7513,7513],\"mapped\",[7453]],[[7514,7514],\"mapped\",[623]],[[7515,7515],\"mapped\",[118]],[[7516,7516],\"mapped\",[7461]],[[7517,7517],\"mapped\",[946]],[[7518,7518],\"mapped\",[947]],[[7519,7519],\"mapped\",[948]],[[7520,7520],\"mapped\",[966]],[[7521,7521],\"mapped\",[967]],[[7522,7522],\"mapped\",[105]],[[7523,7523],\"mapped\",[114]],[[7524,7524],\"mapped\",[117]],[[7525,7525],\"mapped\",[118]],[[7526,7526],\"mapped\",[946]],[[7527,7527],\"mapped\",[947]],[[7528,7528],\"mapped\",[961]],[[7529,7529],\"mapped\",[966]],[[7530,7530],\"mapped\",[967]],[[7531,7531],\"valid\"],[[7532,7543],\"valid\"],[[7544,7544],\"mapped\",[1085]],[[7545,7578],\"valid\"],[[7579,7579],\"mapped\",[594]],[[7580,7580],\"mapped\",[99]],[[7581,7581],\"mapped\",[597]],[[7582,7582],\"mapped\",[240]],[[7583,7583],\"mapped\",[604]],[[7584,7584],\"mapped\",[102]],[[7585,7585],\"mapped\",[607]],[[7586,7586],\"mapped\",[609]],[[7587,7587],\"mapped\",[613]],[[7588,7588],\"mapped\",[616]],[[7589,7589],\"mapped\",[617]],[[7590,7590],\"mapped\",[618]],[[7591,7591],\"mapped\",[7547]],[[7592,7592],\"mapped\",[669]],[[7593,7593],\"mapped\",[621]],[[7594,7594],\"mapped\",[7557]],[[7595,7595],\"mapped\",[671]],[[7596,7596],\"mapped\",[625]],[[7597,7597],\"mapped\",[624]],[[7598,7598],\"mapped\",[626]],[[7599,7599],\"mapped\",[627]],[[7600,7600],\"mapped\",[628]],[[7601,7601],\"mapped\",[629]],[[7602,7602],\"mapped\",[632]],[[7603,7603],\"mapped\",[642]],[[7604,7604],\"mapped\",[643]],[[7605,7605],\"mapped\",[427]],[[7606,7606],\"mapped\",[649]],[[7607,7607],\"mapped\",[650]],[[7608,7608],\"mapped\",[7452]],[[7609,7609],\"mapped\",[651]],[[7610,7610],\"mapped\",[652]],[[7611,7611],\"mapped\",[122]],[[7612,7612],\"mapped\",[656]],[[7613,7613],\"mapped\",[657]],[[7614,7614],\"mapped\",[658]],[[7615,7615],\"mapped\",[952]],[[7616,7619],\"valid\"],[[7620,7626],\"valid\"],[[7627,7654],\"valid\"],[[7655,7669],\"valid\"],[[7670,7675],\"disallowed\"],[[7676,7676],\"valid\"],[[7677,7677],\"valid\"],[[7678,7679],\"valid\"],[[7680,7680],\"mapped\",[7681]],[[7681,7681],\"valid\"],[[7682,7682],\"mapped\",[7683]],[[7683,7683],\"valid\"],[[7684,7684],\"mapped\",[7685]],[[7685,7685],\"valid\"],[[7686,7686],\"mapped\",[7687]],[[7687,7687],\"valid\"],[[7688,7688],\"mapped\",[7689]],[[7689,7689],\"valid\"],[[7690,7690],\"mapped\",[7691]],[[7691,7691],\"valid\"],[[7692,7692],\"mapped\",[7693]],[[7693,7693],\"valid\"],[[7694,7694],\"mapped\",[7695]],[[7695,7695],\"valid\"],[[7696,7696],\"mapped\",[7697]],[[7697,7697],\"valid\"],[[7698,7698],\"mapped\",[7699]],[[7699,7699],\"valid\"],[[7700,7700],\"mapped\",[7701]],[[7701,7701],\"valid\"],[[7702,7702],\"mapped\",[7703]],[[7703,7703],\"valid\"],[[7704,7704],\"mapped\",[7705]],[[7705,7705],\"valid\"],[[7706,7706],\"mapped\",[7707]],[[7707,7707],\"valid\"],[[7708,7708],\"mapped\",[7709]],[[7709,7709],\"valid\"],[[7710,7710],\"mapped\",[7711]],[[7711,7711],\"valid\"],[[7712,7712],\"mapped\",[7713]],[[7713,7713],\"valid\"],[[7714,7714],\"mapped\",[7715]],[[7715,7715],\"valid\"],[[7716,7716],\"mapped\",[7717]],[[7717,7717],\"valid\"],[[7718,7718],\"mapped\",[7719]],[[7719,7719],\"valid\"],[[7720,7720],\"mapped\",[7721]],[[7721,7721],\"valid\"],[[7722,7722],\"mapped\",[7723]],[[7723,7723],\"valid\"],[[7724,7724],\"mapped\",[7725]],[[7725,7725],\"valid\"],[[7726,7726],\"mapped\",[7727]],[[7727,7727],\"valid\"],[[7728,7728],\"mapped\",[7729]],[[7729,7729],\"valid\"],[[7730,7730],\"mapped\",[7731]],[[7731,7731],\"valid\"],[[7732,7732],\"mapped\",[7733]],[[7733,7733],\"valid\"],[[7734,7734],\"mapped\",[7735]],[[7735,7735],\"valid\"],[[7736,7736],\"mapped\",[7737]],[[7737,7737],\"valid\"],[[7738,7738],\"mapped\",[7739]],[[7739,7739],\"valid\"],[[7740,7740],\"mapped\",[7741]],[[7741,7741],\"valid\"],[[7742,7742],\"mapped\",[7743]],[[7743,7743],\"valid\"],[[7744,7744],\"mapped\",[7745]],[[7745,7745],\"valid\"],[[7746,7746],\"mapped\",[7747]],[[7747,7747],\"valid\"],[[7748,7748],\"mapped\",[7749]],[[7749,7749],\"valid\"],[[7750,7750],\"mapped\",[7751]],[[7751,7751],\"valid\"],[[7752,7752],\"mapped\",[7753]],[[7753,7753],\"valid\"],[[7754,7754],\"mapped\",[7755]],[[7755,7755],\"valid\"],[[7756,7756],\"mapped\",[7757]],[[7757,7757],\"valid\"],[[7758,7758],\"mapped\",[7759]],[[7759,7759],\"valid\"],[[7760,7760],\"mapped\",[7761]],[[7761,7761],\"valid\"],[[7762,7762],\"mapped\",[7763]],[[7763,7763],\"valid\"],[[7764,7764],\"mapped\",[7765]],[[7765,7765],\"valid\"],[[7766,7766],\"mapped\",[7767]],[[7767,7767],\"valid\"],[[7768,7768],\"mapped\",[7769]],[[7769,7769],\"valid\"],[[7770,7770],\"mapped\",[7771]],[[7771,7771],\"valid\"],[[7772,7772],\"mapped\",[7773]],[[7773,7773],\"valid\"],[[7774,7774],\"mapped\",[7775]],[[7775,7775],\"valid\"],[[7776,7776],\"mapped\",[7777]],[[7777,7777],\"valid\"],[[7778,7778],\"mapped\",[7779]],[[7779,7779],\"valid\"],[[7780,7780],\"mapped\",[7781]],[[7781,7781],\"valid\"],[[7782,7782],\"mapped\",[7783]],[[7783,7783],\"valid\"],[[7784,7784],\"mapped\",[7785]],[[7785,7785],\"valid\"],[[7786,7786],\"mapped\",[7787]],[[7787,7787],\"valid\"],[[7788,7788],\"mapped\",[7789]],[[7789,7789],\"valid\"],[[7790,7790],\"mapped\",[7791]],[[7791,7791],\"valid\"],[[7792,7792],\"mapped\",[7793]],[[7793,7793],\"valid\"],[[7794,7794],\"mapped\",[7795]],[[7795,7795],\"valid\"],[[7796,7796],\"mapped\",[7797]],[[7797,7797],\"valid\"],[[7798,7798],\"mapped\",[7799]],[[7799,7799],\"valid\"],[[7800,7800],\"mapped\",[7801]],[[7801,7801],\"valid\"],[[7802,7802],\"mapped\",[7803]],[[7803,7803],\"valid\"],[[7804,7804],\"mapped\",[7805]],[[7805,7805],\"valid\"],[[7806,7806],\"mapped\",[7807]],[[7807,7807],\"valid\"],[[7808,7808],\"mapped\",[7809]],[[7809,7809],\"valid\"],[[7810,7810],\"mapped\",[7811]],[[7811,7811],\"valid\"],[[7812,7812],\"mapped\",[7813]],[[7813,7813],\"valid\"],[[7814,7814],\"mapped\",[7815]],[[7815,7815],\"valid\"],[[7816,7816],\"mapped\",[7817]],[[7817,7817],\"valid\"],[[7818,7818],\"mapped\",[7819]],[[7819,7819],\"valid\"],[[7820,7820],\"mapped\",[7821]],[[7821,7821],\"valid\"],[[7822,7822],\"mapped\",[7823]],[[7823,7823],\"valid\"],[[7824,7824],\"mapped\",[7825]],[[7825,7825],\"valid\"],[[7826,7826],\"mapped\",[7827]],[[7827,7827],\"valid\"],[[7828,7828],\"mapped\",[7829]],[[7829,7833],\"valid\"],[[7834,7834],\"mapped\",[97,702]],[[7835,7835],\"mapped\",[7777]],[[7836,7837],\"valid\"],[[7838,7838],\"mapped\",[115,115]],[[7839,7839],\"valid\"],[[7840,7840],\"mapped\",[7841]],[[7841,7841],\"valid\"],[[7842,7842],\"mapped\",[7843]],[[7843,7843],\"valid\"],[[7844,7844],\"mapped\",[7845]],[[7845,7845],\"valid\"],[[7846,7846],\"mapped\",[7847]],[[7847,7847],\"valid\"],[[7848,7848],\"mapped\",[7849]],[[7849,7849],\"valid\"],[[7850,7850],\"mapped\",[7851]],[[7851,7851],\"valid\"],[[7852,7852],\"mapped\",[7853]],[[7853,7853],\"valid\"],[[7854,7854],\"mapped\",[7855]],[[7855,7855],\"valid\"],[[7856,7856],\"mapped\",[7857]],[[7857,7857],\"valid\"],[[7858,7858],\"mapped\",[7859]],[[7859,7859],\"valid\"],[[7860,7860],\"mapped\",[7861]],[[7861,7861],\"valid\"],[[7862,7862],\"mapped\",[7863]],[[7863,7863],\"valid\"],[[7864,7864],\"mapped\",[7865]],[[7865,7865],\"valid\"],[[7866,7866],\"mapped\",[7867]],[[7867,7867],\"valid\"],[[7868,7868],\"mapped\",[7869]],[[7869,7869],\"valid\"],[[7870,7870],\"mapped\",[7871]],[[7871,7871],\"valid\"],[[7872,7872],\"mapped\",[7873]],[[7873,7873],\"valid\"],[[7874,7874],\"mapped\",[7875]],[[7875,7875],\"valid\"],[[7876,7876],\"mapped\",[7877]],[[7877,7877],\"valid\"],[[7878,7878],\"mapped\",[7879]],[[7879,7879],\"valid\"],[[7880,7880],\"mapped\",[7881]],[[7881,7881],\"valid\"],[[7882,7882],\"mapped\",[7883]],[[7883,7883],\"valid\"],[[7884,7884],\"mapped\",[7885]],[[7885,7885],\"valid\"],[[7886,7886],\"mapped\",[7887]],[[7887,7887],\"valid\"],[[7888,7888],\"mapped\",[7889]],[[7889,7889],\"valid\"],[[7890,7890],\"mapped\",[7891]],[[7891,7891],\"valid\"],[[7892,7892],\"mapped\",[7893]],[[7893,7893],\"valid\"],[[7894,7894],\"mapped\",[7895]],[[7895,7895],\"valid\"],[[7896,7896],\"mapped\",[7897]],[[7897,7897],\"valid\"],[[7898,7898],\"mapped\",[7899]],[[7899,7899],\"valid\"],[[7900,7900],\"mapped\",[7901]],[[7901,7901],\"valid\"],[[7902,7902],\"mapped\",[7903]],[[7903,7903],\"valid\"],[[7904,7904],\"mapped\",[7905]],[[7905,7905],\"valid\"],[[7906,7906],\"mapped\",[7907]],[[7907,7907],\"valid\"],[[7908,7908],\"mapped\",[7909]],[[7909,7909],\"valid\"],[[7910,7910],\"mapped\",[7911]],[[7911,7911],\"valid\"],[[7912,7912],\"mapped\",[7913]],[[7913,7913],\"valid\"],[[7914,7914],\"mapped\",[7915]],[[7915,7915],\"valid\"],[[7916,7916],\"mapped\",[7917]],[[7917,7917],\"valid\"],[[7918,7918],\"mapped\",[7919]],[[7919,7919],\"valid\"],[[7920,7920],\"mapped\",[7921]],[[7921,7921],\"valid\"],[[7922,7922],\"mapped\",[7923]],[[7923,7923],\"valid\"],[[7924,7924],\"mapped\",[7925]],[[7925,7925],\"valid\"],[[7926,7926],\"mapped\",[7927]],[[7927,7927],\"valid\"],[[7928,7928],\"mapped\",[7929]],[[7929,7929],\"valid\"],[[7930,7930],\"mapped\",[7931]],[[7931,7931],\"valid\"],[[7932,7932],\"mapped\",[7933]],[[7933,7933],\"valid\"],[[7934,7934],\"mapped\",[7935]],[[7935,7935],\"valid\"],[[7936,7943],\"valid\"],[[7944,7944],\"mapped\",[7936]],[[7945,7945],\"mapped\",[7937]],[[7946,7946],\"mapped\",[7938]],[[7947,7947],\"mapped\",[7939]],[[7948,7948],\"mapped\",[7940]],[[7949,7949],\"mapped\",[7941]],[[7950,7950],\"mapped\",[7942]],[[7951,7951],\"mapped\",[7943]],[[7952,7957],\"valid\"],[[7958,7959],\"disallowed\"],[[7960,7960],\"mapped\",[7952]],[[7961,7961],\"mapped\",[7953]],[[7962,7962],\"mapped\",[7954]],[[7963,7963],\"mapped\",[7955]],[[7964,7964],\"mapped\",[7956]],[[7965,7965],\"mapped\",[7957]],[[7966,7967],\"disallowed\"],[[7968,7975],\"valid\"],[[7976,7976],\"mapped\",[7968]],[[7977,7977],\"mapped\",[7969]],[[7978,7978],\"mapped\",[7970]],[[7979,7979],\"mapped\",[7971]],[[7980,7980],\"mapped\",[7972]],[[7981,7981],\"mapped\",[7973]],[[7982,7982],\"mapped\",[7974]],[[7983,7983],\"mapped\",[7975]],[[7984,7991],\"valid\"],[[7992,7992],\"mapped\",[7984]],[[7993,7993],\"mapped\",[7985]],[[7994,7994],\"mapped\",[7986]],[[7995,7995],\"mapped\",[7987]],[[7996,7996],\"mapped\",[7988]],[[7997,7997],\"mapped\",[7989]],[[7998,7998],\"mapped\",[7990]],[[7999,7999],\"mapped\",[7991]],[[8000,8005],\"valid\"],[[8006,8007],\"disallowed\"],[[8008,8008],\"mapped\",[8000]],[[8009,8009],\"mapped\",[8001]],[[8010,8010],\"mapped\",[8002]],[[8011,8011],\"mapped\",[8003]],[[8012,8012],\"mapped\",[8004]],[[8013,8013],\"mapped\",[8005]],[[8014,8015],\"disallowed\"],[[8016,8023],\"valid\"],[[8024,8024],\"disallowed\"],[[8025,8025],\"mapped\",[8017]],[[8026,8026],\"disallowed\"],[[8027,8027],\"mapped\",[8019]],[[8028,8028],\"disallowed\"],[[8029,8029],\"mapped\",[8021]],[[8030,8030],\"disallowed\"],[[8031,8031],\"mapped\",[8023]],[[8032,8039],\"valid\"],[[8040,8040],\"mapped\",[8032]],[[8041,8041],\"mapped\",[8033]],[[8042,8042],\"mapped\",[8034]],[[8043,8043],\"mapped\",[8035]],[[8044,8044],\"mapped\",[8036]],[[8045,8045],\"mapped\",[8037]],[[8046,8046],\"mapped\",[8038]],[[8047,8047],\"mapped\",[8039]],[[8048,8048],\"valid\"],[[8049,8049],\"mapped\",[940]],[[8050,8050],\"valid\"],[[8051,8051],\"mapped\",[941]],[[8052,8052],\"valid\"],[[8053,8053],\"mapped\",[942]],[[8054,8054],\"valid\"],[[8055,8055],\"mapped\",[943]],[[8056,8056],\"valid\"],[[8057,8057],\"mapped\",[972]],[[8058,8058],\"valid\"],[[8059,8059],\"mapped\",[973]],[[8060,8060],\"valid\"],[[8061,8061],\"mapped\",[974]],[[8062,8063],\"disallowed\"],[[8064,8064],\"mapped\",[7936,953]],[[8065,8065],\"mapped\",[7937,953]],[[8066,8066],\"mapped\",[7938,953]],[[8067,8067],\"mapped\",[7939,953]],[[8068,8068],\"mapped\",[7940,953]],[[8069,8069],\"mapped\",[7941,953]],[[8070,8070],\"mapped\",[7942,953]],[[8071,8071],\"mapped\",[7943,953]],[[8072,8072],\"mapped\",[7936,953]],[[8073,8073],\"mapped\",[7937,953]],[[8074,8074],\"mapped\",[7938,953]],[[8075,8075],\"mapped\",[7939,953]],[[8076,8076],\"mapped\",[7940,953]],[[8077,8077],\"mapped\",[7941,953]],[[8078,8078],\"mapped\",[7942,953]],[[8079,8079],\"mapped\",[7943,953]],[[8080,8080],\"mapped\",[7968,953]],[[8081,8081],\"mapped\",[7969,953]],[[8082,8082],\"mapped\",[7970,953]],[[8083,8083],\"mapped\",[7971,953]],[[8084,8084],\"mapped\",[7972,953]],[[8085,8085],\"mapped\",[7973,953]],[[8086,8086],\"mapped\",[7974,953]],[[8087,8087],\"mapped\",[7975,953]],[[8088,8088],\"mapped\",[7968,953]],[[8089,8089],\"mapped\",[7969,953]],[[8090,8090],\"mapped\",[7970,953]],[[8091,8091],\"mapped\",[7971,953]],[[8092,8092],\"mapped\",[7972,953]],[[8093,8093],\"mapped\",[7973,953]],[[8094,8094],\"mapped\",[7974,953]],[[8095,8095],\"mapped\",[7975,953]],[[8096,8096],\"mapped\",[8032,953]],[[8097,8097],\"mapped\",[8033,953]],[[8098,8098],\"mapped\",[8034,953]],[[8099,8099],\"mapped\",[8035,953]],[[8100,8100],\"mapped\",[8036,953]],[[8101,8101],\"mapped\",[8037,953]],[[8102,8102],\"mapped\",[8038,953]],[[8103,8103],\"mapped\",[8039,953]],[[8104,8104],\"mapped\",[8032,953]],[[8105,8105],\"mapped\",[8033,953]],[[8106,8106],\"mapped\",[8034,953]],[[8107,8107],\"mapped\",[8035,953]],[[8108,8108],\"mapped\",[8036,953]],[[8109,8109],\"mapped\",[8037,953]],[[8110,8110],\"mapped\",[8038,953]],[[8111,8111],\"mapped\",[8039,953]],[[8112,8113],\"valid\"],[[8114,8114],\"mapped\",[8048,953]],[[8115,8115],\"mapped\",[945,953]],[[8116,8116],\"mapped\",[940,953]],[[8117,8117],\"disallowed\"],[[8118,8118],\"valid\"],[[8119,8119],\"mapped\",[8118,953]],[[8120,8120],\"mapped\",[8112]],[[8121,8121],\"mapped\",[8113]],[[8122,8122],\"mapped\",[8048]],[[8123,8123],\"mapped\",[940]],[[8124,8124],\"mapped\",[945,953]],[[8125,8125],\"disallowed_STD3_mapped\",[32,787]],[[8126,8126],\"mapped\",[953]],[[8127,8127],\"disallowed_STD3_mapped\",[32,787]],[[8128,8128],\"disallowed_STD3_mapped\",[32,834]],[[8129,8129],\"disallowed_STD3_mapped\",[32,776,834]],[[8130,8130],\"mapped\",[8052,953]],[[8131,8131],\"mapped\",[951,953]],[[8132,8132],\"mapped\",[942,953]],[[8133,8133],\"disallowed\"],[[8134,8134],\"valid\"],[[8135,8135],\"mapped\",[8134,953]],[[8136,8136],\"mapped\",[8050]],[[8137,8137],\"mapped\",[941]],[[8138,8138],\"mapped\",[8052]],[[8139,8139],\"mapped\",[942]],[[8140,8140],\"mapped\",[951,953]],[[8141,8141],\"disallowed_STD3_mapped\",[32,787,768]],[[8142,8142],\"disallowed_STD3_mapped\",[32,787,769]],[[8143,8143],\"disallowed_STD3_mapped\",[32,787,834]],[[8144,8146],\"valid\"],[[8147,8147],\"mapped\",[912]],[[8148,8149],\"disallowed\"],[[8150,8151],\"valid\"],[[8152,8152],\"mapped\",[8144]],[[8153,8153],\"mapped\",[8145]],[[8154,8154],\"mapped\",[8054]],[[8155,8155],\"mapped\",[943]],[[8156,8156],\"disallowed\"],[[8157,8157],\"disallowed_STD3_mapped\",[32,788,768]],[[8158,8158],\"disallowed_STD3_mapped\",[32,788,769]],[[8159,8159],\"disallowed_STD3_mapped\",[32,788,834]],[[8160,8162],\"valid\"],[[8163,8163],\"mapped\",[944]],[[8164,8167],\"valid\"],[[8168,8168],\"mapped\",[8160]],[[8169,8169],\"mapped\",[8161]],[[8170,8170],\"mapped\",[8058]],[[8171,8171],\"mapped\",[973]],[[8172,8172],\"mapped\",[8165]],[[8173,8173],\"disallowed_STD3_mapped\",[32,776,768]],[[8174,8174],\"disallowed_STD3_mapped\",[32,776,769]],[[8175,8175],\"disallowed_STD3_mapped\",[96]],[[8176,8177],\"disallowed\"],[[8178,8178],\"mapped\",[8060,953]],[[8179,8179],\"mapped\",[969,953]],[[8180,8180],\"mapped\",[974,953]],[[8181,8181],\"disallowed\"],[[8182,8182],\"valid\"],[[8183,8183],\"mapped\",[8182,953]],[[8184,8184],\"mapped\",[8056]],[[8185,8185],\"mapped\",[972]],[[8186,8186],\"mapped\",[8060]],[[8187,8187],\"mapped\",[974]],[[8188,8188],\"mapped\",[969,953]],[[8189,8189],\"disallowed_STD3_mapped\",[32,769]],[[8190,8190],\"disallowed_STD3_mapped\",[32,788]],[[8191,8191],\"disallowed\"],[[8192,8202],\"disallowed_STD3_mapped\",[32]],[[8203,8203],\"ignored\"],[[8204,8205],\"deviation\",[]],[[8206,8207],\"disallowed\"],[[8208,8208],\"valid\",[],\"NV8\"],[[8209,8209],\"mapped\",[8208]],[[8210,8214],\"valid\",[],\"NV8\"],[[8215,8215],\"disallowed_STD3_mapped\",[32,819]],[[8216,8227],\"valid\",[],\"NV8\"],[[8228,8230],\"disallowed\"],[[8231,8231],\"valid\",[],\"NV8\"],[[8232,8238],\"disallowed\"],[[8239,8239],\"disallowed_STD3_mapped\",[32]],[[8240,8242],\"valid\",[],\"NV8\"],[[8243,8243],\"mapped\",[8242,8242]],[[8244,8244],\"mapped\",[8242,8242,8242]],[[8245,8245],\"valid\",[],\"NV8\"],[[8246,8246],\"mapped\",[8245,8245]],[[8247,8247],\"mapped\",[8245,8245,8245]],[[8248,8251],\"valid\",[],\"NV8\"],[[8252,8252],\"disallowed_STD3_mapped\",[33,33]],[[8253,8253],\"valid\",[],\"NV8\"],[[8254,8254],\"disallowed_STD3_mapped\",[32,773]],[[8255,8262],\"valid\",[],\"NV8\"],[[8263,8263],\"disallowed_STD3_mapped\",[63,63]],[[8264,8264],\"disallowed_STD3_mapped\",[63,33]],[[8265,8265],\"disallowed_STD3_mapped\",[33,63]],[[8266,8269],\"valid\",[],\"NV8\"],[[8270,8274],\"valid\",[],\"NV8\"],[[8275,8276],\"valid\",[],\"NV8\"],[[8277,8278],\"valid\",[],\"NV8\"],[[8279,8279],\"mapped\",[8242,8242,8242,8242]],[[8280,8286],\"valid\",[],\"NV8\"],[[8287,8287],\"disallowed_STD3_mapped\",[32]],[[8288,8288],\"ignored\"],[[8289,8291],\"disallowed\"],[[8292,8292],\"ignored\"],[[8293,8293],\"disallowed\"],[[8294,8297],\"disallowed\"],[[8298,8303],\"disallowed\"],[[8304,8304],\"mapped\",[48]],[[8305,8305],\"mapped\",[105]],[[8306,8307],\"disallowed\"],[[8308,8308],\"mapped\",[52]],[[8309,8309],\"mapped\",[53]],[[8310,8310],\"mapped\",[54]],[[8311,8311],\"mapped\",[55]],[[8312,8312],\"mapped\",[56]],[[8313,8313],\"mapped\",[57]],[[8314,8314],\"disallowed_STD3_mapped\",[43]],[[8315,8315],\"mapped\",[8722]],[[8316,8316],\"disallowed_STD3_mapped\",[61]],[[8317,8317],\"disallowed_STD3_mapped\",[40]],[[8318,8318],\"disallowed_STD3_mapped\",[41]],[[8319,8319],\"mapped\",[110]],[[8320,8320],\"mapped\",[48]],[[8321,8321],\"mapped\",[49]],[[8322,8322],\"mapped\",[50]],[[8323,8323],\"mapped\",[51]],[[8324,8324],\"mapped\",[52]],[[8325,8325],\"mapped\",[53]],[[8326,8326],\"mapped\",[54]],[[8327,8327],\"mapped\",[55]],[[8328,8328],\"mapped\",[56]],[[8329,8329],\"mapped\",[57]],[[8330,8330],\"disallowed_STD3_mapped\",[43]],[[8331,8331],\"mapped\",[8722]],[[8332,8332],\"disallowed_STD3_mapped\",[61]],[[8333,8333],\"disallowed_STD3_mapped\",[40]],[[8334,8334],\"disallowed_STD3_mapped\",[41]],[[8335,8335],\"disallowed\"],[[8336,8336],\"mapped\",[97]],[[8337,8337],\"mapped\",[101]],[[8338,8338],\"mapped\",[111]],[[8339,8339],\"mapped\",[120]],[[8340,8340],\"mapped\",[601]],[[8341,8341],\"mapped\",[104]],[[8342,8342],\"mapped\",[107]],[[8343,8343],\"mapped\",[108]],[[8344,8344],\"mapped\",[109]],[[8345,8345],\"mapped\",[110]],[[8346,8346],\"mapped\",[112]],[[8347,8347],\"mapped\",[115]],[[8348,8348],\"mapped\",[116]],[[8349,8351],\"disallowed\"],[[8352,8359],\"valid\",[],\"NV8\"],[[8360,8360],\"mapped\",[114,115]],[[8361,8362],\"valid\",[],\"NV8\"],[[8363,8363],\"valid\",[],\"NV8\"],[[8364,8364],\"valid\",[],\"NV8\"],[[8365,8367],\"valid\",[],\"NV8\"],[[8368,8369],\"valid\",[],\"NV8\"],[[8370,8373],\"valid\",[],\"NV8\"],[[8374,8376],\"valid\",[],\"NV8\"],[[8377,8377],\"valid\",[],\"NV8\"],[[8378,8378],\"valid\",[],\"NV8\"],[[8379,8381],\"valid\",[],\"NV8\"],[[8382,8382],\"valid\",[],\"NV8\"],[[8383,8399],\"disallowed\"],[[8400,8417],\"valid\",[],\"NV8\"],[[8418,8419],\"valid\",[],\"NV8\"],[[8420,8426],\"valid\",[],\"NV8\"],[[8427,8427],\"valid\",[],\"NV8\"],[[8428,8431],\"valid\",[],\"NV8\"],[[8432,8432],\"valid\",[],\"NV8\"],[[8433,8447],\"disallowed\"],[[8448,8448],\"disallowed_STD3_mapped\",[97,47,99]],[[8449,8449],\"disallowed_STD3_mapped\",[97,47,115]],[[8450,8450],\"mapped\",[99]],[[8451,8451],\"mapped\",[176,99]],[[8452,8452],\"valid\",[],\"NV8\"],[[8453,8453],\"disallowed_STD3_mapped\",[99,47,111]],[[8454,8454],\"disallowed_STD3_mapped\",[99,47,117]],[[8455,8455],\"mapped\",[603]],[[8456,8456],\"valid\",[],\"NV8\"],[[8457,8457],\"mapped\",[176,102]],[[8458,8458],\"mapped\",[103]],[[8459,8462],\"mapped\",[104]],[[8463,8463],\"mapped\",[295]],[[8464,8465],\"mapped\",[105]],[[8466,8467],\"mapped\",[108]],[[8468,8468],\"valid\",[],\"NV8\"],[[8469,8469],\"mapped\",[110]],[[8470,8470],\"mapped\",[110,111]],[[8471,8472],\"valid\",[],\"NV8\"],[[8473,8473],\"mapped\",[112]],[[8474,8474],\"mapped\",[113]],[[8475,8477],\"mapped\",[114]],[[8478,8479],\"valid\",[],\"NV8\"],[[8480,8480],\"mapped\",[115,109]],[[8481,8481],\"mapped\",[116,101,108]],[[8482,8482],\"mapped\",[116,109]],[[8483,8483],\"valid\",[],\"NV8\"],[[8484,8484],\"mapped\",[122]],[[8485,8485],\"valid\",[],\"NV8\"],[[8486,8486],\"mapped\",[969]],[[8487,8487],\"valid\",[],\"NV8\"],[[8488,8488],\"mapped\",[122]],[[8489,8489],\"valid\",[],\"NV8\"],[[8490,8490],\"mapped\",[107]],[[8491,8491],\"mapped\",[229]],[[8492,8492],\"mapped\",[98]],[[8493,8493],\"mapped\",[99]],[[8494,8494],\"valid\",[],\"NV8\"],[[8495,8496],\"mapped\",[101]],[[8497,8497],\"mapped\",[102]],[[8498,8498],\"disallowed\"],[[8499,8499],\"mapped\",[109]],[[8500,8500],\"mapped\",[111]],[[8501,8501],\"mapped\",[1488]],[[8502,8502],\"mapped\",[1489]],[[8503,8503],\"mapped\",[1490]],[[8504,8504],\"mapped\",[1491]],[[8505,8505],\"mapped\",[105]],[[8506,8506],\"valid\",[],\"NV8\"],[[8507,8507],\"mapped\",[102,97,120]],[[8508,8508],\"mapped\",[960]],[[8509,8510],\"mapped\",[947]],[[8511,8511],\"mapped\",[960]],[[8512,8512],\"mapped\",[8721]],[[8513,8516],\"valid\",[],\"NV8\"],[[8517,8518],\"mapped\",[100]],[[8519,8519],\"mapped\",[101]],[[8520,8520],\"mapped\",[105]],[[8521,8521],\"mapped\",[106]],[[8522,8523],\"valid\",[],\"NV8\"],[[8524,8524],\"valid\",[],\"NV8\"],[[8525,8525],\"valid\",[],\"NV8\"],[[8526,8526],\"valid\"],[[8527,8527],\"valid\",[],\"NV8\"],[[8528,8528],\"mapped\",[49,8260,55]],[[8529,8529],\"mapped\",[49,8260,57]],[[8530,8530],\"mapped\",[49,8260,49,48]],[[8531,8531],\"mapped\",[49,8260,51]],[[8532,8532],\"mapped\",[50,8260,51]],[[8533,8533],\"mapped\",[49,8260,53]],[[8534,8534],\"mapped\",[50,8260,53]],[[8535,8535],\"mapped\",[51,8260,53]],[[8536,8536],\"mapped\",[52,8260,53]],[[8537,8537],\"mapped\",[49,8260,54]],[[8538,8538],\"mapped\",[53,8260,54]],[[8539,8539],\"mapped\",[49,8260,56]],[[8540,8540],\"mapped\",[51,8260,56]],[[8541,8541],\"mapped\",[53,8260,56]],[[8542,8542],\"mapped\",[55,8260,56]],[[8543,8543],\"mapped\",[49,8260]],[[8544,8544],\"mapped\",[105]],[[8545,8545],\"mapped\",[105,105]],[[8546,8546],\"mapped\",[105,105,105]],[[8547,8547],\"mapped\",[105,118]],[[8548,8548],\"mapped\",[118]],[[8549,8549],\"mapped\",[118,105]],[[8550,8550],\"mapped\",[118,105,105]],[[8551,8551],\"mapped\",[118,105,105,105]],[[8552,8552],\"mapped\",[105,120]],[[8553,8553],\"mapped\",[120]],[[8554,8554],\"mapped\",[120,105]],[[8555,8555],\"mapped\",[120,105,105]],[[8556,8556],\"mapped\",[108]],[[8557,8557],\"mapped\",[99]],[[8558,8558],\"mapped\",[100]],[[8559,8559],\"mapped\",[109]],[[8560,8560],\"mapped\",[105]],[[8561,8561],\"mapped\",[105,105]],[[8562,8562],\"mapped\",[105,105,105]],[[8563,8563],\"mapped\",[105,118]],[[8564,8564],\"mapped\",[118]],[[8565,8565],\"mapped\",[118,105]],[[8566,8566],\"mapped\",[118,105,105]],[[8567,8567],\"mapped\",[118,105,105,105]],[[8568,8568],\"mapped\",[105,120]],[[8569,8569],\"mapped\",[120]],[[8570,8570],\"mapped\",[120,105]],[[8571,8571],\"mapped\",[120,105,105]],[[8572,8572],\"mapped\",[108]],[[8573,8573],\"mapped\",[99]],[[8574,8574],\"mapped\",[100]],[[8575,8575],\"mapped\",[109]],[[8576,8578],\"valid\",[],\"NV8\"],[[8579,8579],\"disallowed\"],[[8580,8580],\"valid\"],[[8581,8584],\"valid\",[],\"NV8\"],[[8585,8585],\"mapped\",[48,8260,51]],[[8586,8587],\"valid\",[],\"NV8\"],[[8588,8591],\"disallowed\"],[[8592,8682],\"valid\",[],\"NV8\"],[[8683,8691],\"valid\",[],\"NV8\"],[[8692,8703],\"valid\",[],\"NV8\"],[[8704,8747],\"valid\",[],\"NV8\"],[[8748,8748],\"mapped\",[8747,8747]],[[8749,8749],\"mapped\",[8747,8747,8747]],[[8750,8750],\"valid\",[],\"NV8\"],[[8751,8751],\"mapped\",[8750,8750]],[[8752,8752],\"mapped\",[8750,8750,8750]],[[8753,8799],\"valid\",[],\"NV8\"],[[8800,8800],\"disallowed_STD3_valid\"],[[8801,8813],\"valid\",[],\"NV8\"],[[8814,8815],\"disallowed_STD3_valid\"],[[8816,8945],\"valid\",[],\"NV8\"],[[8946,8959],\"valid\",[],\"NV8\"],[[8960,8960],\"valid\",[],\"NV8\"],[[8961,8961],\"valid\",[],\"NV8\"],[[8962,9000],\"valid\",[],\"NV8\"],[[9001,9001],\"mapped\",[12296]],[[9002,9002],\"mapped\",[12297]],[[9003,9082],\"valid\",[],\"NV8\"],[[9083,9083],\"valid\",[],\"NV8\"],[[9084,9084],\"valid\",[],\"NV8\"],[[9085,9114],\"valid\",[],\"NV8\"],[[9115,9166],\"valid\",[],\"NV8\"],[[9167,9168],\"valid\",[],\"NV8\"],[[9169,9179],\"valid\",[],\"NV8\"],[[9180,9191],\"valid\",[],\"NV8\"],[[9192,9192],\"valid\",[],\"NV8\"],[[9193,9203],\"valid\",[],\"NV8\"],[[9204,9210],\"valid\",[],\"NV8\"],[[9211,9215],\"disallowed\"],[[9216,9252],\"valid\",[],\"NV8\"],[[9253,9254],\"valid\",[],\"NV8\"],[[9255,9279],\"disallowed\"],[[9280,9290],\"valid\",[],\"NV8\"],[[9291,9311],\"disallowed\"],[[9312,9312],\"mapped\",[49]],[[9313,9313],\"mapped\",[50]],[[9314,9314],\"mapped\",[51]],[[9315,9315],\"mapped\",[52]],[[9316,9316],\"mapped\",[53]],[[9317,9317],\"mapped\",[54]],[[9318,9318],\"mapped\",[55]],[[9319,9319],\"mapped\",[56]],[[9320,9320],\"mapped\",[57]],[[9321,9321],\"mapped\",[49,48]],[[9322,9322],\"mapped\",[49,49]],[[9323,9323],\"mapped\",[49,50]],[[9324,9324],\"mapped\",[49,51]],[[9325,9325],\"mapped\",[49,52]],[[9326,9326],\"mapped\",[49,53]],[[9327,9327],\"mapped\",[49,54]],[[9328,9328],\"mapped\",[49,55]],[[9329,9329],\"mapped\",[49,56]],[[9330,9330],\"mapped\",[49,57]],[[9331,9331],\"mapped\",[50,48]],[[9332,9332],\"disallowed_STD3_mapped\",[40,49,41]],[[9333,9333],\"disallowed_STD3_mapped\",[40,50,41]],[[9334,9334],\"disallowed_STD3_mapped\",[40,51,41]],[[9335,9335],\"disallowed_STD3_mapped\",[40,52,41]],[[9336,9336],\"disallowed_STD3_mapped\",[40,53,41]],[[9337,9337],\"disallowed_STD3_mapped\",[40,54,41]],[[9338,9338],\"disallowed_STD3_mapped\",[40,55,41]],[[9339,9339],\"disallowed_STD3_mapped\",[40,56,41]],[[9340,9340],\"disallowed_STD3_mapped\",[40,57,41]],[[9341,9341],\"disallowed_STD3_mapped\",[40,49,48,41]],[[9342,9342],\"disallowed_STD3_mapped\",[40,49,49,41]],[[9343,9343],\"disallowed_STD3_mapped\",[40,49,50,41]],[[9344,9344],\"disallowed_STD3_mapped\",[40,49,51,41]],[[9345,9345],\"disallowed_STD3_mapped\",[40,49,52,41]],[[9346,9346],\"disallowed_STD3_mapped\",[40,49,53,41]],[[9347,9347],\"disallowed_STD3_mapped\",[40,49,54,41]],[[9348,9348],\"disallowed_STD3_mapped\",[40,49,55,41]],[[9349,9349],\"disallowed_STD3_mapped\",[40,49,56,41]],[[9350,9350],\"disallowed_STD3_mapped\",[40,49,57,41]],[[9351,9351],\"disallowed_STD3_mapped\",[40,50,48,41]],[[9352,9371],\"disallowed\"],[[9372,9372],\"disallowed_STD3_mapped\",[40,97,41]],[[9373,9373],\"disallowed_STD3_mapped\",[40,98,41]],[[9374,9374],\"disallowed_STD3_mapped\",[40,99,41]],[[9375,9375],\"disallowed_STD3_mapped\",[40,100,41]],[[9376,9376],\"disallowed_STD3_mapped\",[40,101,41]],[[9377,9377],\"disallowed_STD3_mapped\",[40,102,41]],[[9378,9378],\"disallowed_STD3_mapped\",[40,103,41]],[[9379,9379],\"disallowed_STD3_mapped\",[40,104,41]],[[9380,9380],\"disallowed_STD3_mapped\",[40,105,41]],[[9381,9381],\"disallowed_STD3_mapped\",[40,106,41]],[[9382,9382],\"disallowed_STD3_mapped\",[40,107,41]],[[9383,9383],\"disallowed_STD3_mapped\",[40,108,41]],[[9384,9384],\"disallowed_STD3_mapped\",[40,109,41]],[[9385,9385],\"disallowed_STD3_mapped\",[40,110,41]],[[9386,9386],\"disallowed_STD3_mapped\",[40,111,41]],[[9387,9387],\"disallowed_STD3_mapped\",[40,112,41]],[[9388,9388],\"disallowed_STD3_mapped\",[40,113,41]],[[9389,9389],\"disallowed_STD3_mapped\",[40,114,41]],[[9390,9390],\"disallowed_STD3_mapped\",[40,115,41]],[[9391,9391],\"disallowed_STD3_mapped\",[40,116,41]],[[9392,9392],\"disallowed_STD3_mapped\",[40,117,41]],[[9393,9393],\"disallowed_STD3_mapped\",[40,118,41]],[[9394,9394],\"disallowed_STD3_mapped\",[40,119,41]],[[9395,9395],\"disallowed_STD3_mapped\",[40,120,41]],[[9396,9396],\"disallowed_STD3_mapped\",[40,121,41]],[[9397,9397],\"disallowed_STD3_mapped\",[40,122,41]],[[9398,9398],\"mapped\",[97]],[[9399,9399],\"mapped\",[98]],[[9400,9400],\"mapped\",[99]],[[9401,9401],\"mapped\",[100]],[[9402,9402],\"mapped\",[101]],[[9403,9403],\"mapped\",[102]],[[9404,9404],\"mapped\",[103]],[[9405,9405],\"mapped\",[104]],[[9406,9406],\"mapped\",[105]],[[9407,9407],\"mapped\",[106]],[[9408,9408],\"mapped\",[107]],[[9409,9409],\"mapped\",[108]],[[9410,9410],\"mapped\",[109]],[[9411,9411],\"mapped\",[110]],[[9412,9412],\"mapped\",[111]],[[9413,9413],\"mapped\",[112]],[[9414,9414],\"mapped\",[113]],[[9415,9415],\"mapped\",[114]],[[9416,9416],\"mapped\",[115]],[[9417,9417],\"mapped\",[116]],[[9418,9418],\"mapped\",[117]],[[9419,9419],\"mapped\",[118]],[[9420,9420],\"mapped\",[119]],[[9421,9421],\"mapped\",[120]],[[9422,9422],\"mapped\",[121]],[[9423,9423],\"mapped\",[122]],[[9424,9424],\"mapped\",[97]],[[9425,9425],\"mapped\",[98]],[[9426,9426],\"mapped\",[99]],[[9427,9427],\"mapped\",[100]],[[9428,9428],\"mapped\",[101]],[[9429,9429],\"mapped\",[102]],[[9430,9430],\"mapped\",[103]],[[9431,9431],\"mapped\",[104]],[[9432,9432],\"mapped\",[105]],[[9433,9433],\"mapped\",[106]],[[9434,9434],\"mapped\",[107]],[[9435,9435],\"mapped\",[108]],[[9436,9436],\"mapped\",[109]],[[9437,9437],\"mapped\",[110]],[[9438,9438],\"mapped\",[111]],[[9439,9439],\"mapped\",[112]],[[9440,9440],\"mapped\",[113]],[[9441,9441],\"mapped\",[114]],[[9442,9442],\"mapped\",[115]],[[9443,9443],\"mapped\",[116]],[[9444,9444],\"mapped\",[117]],[[9445,9445],\"mapped\",[118]],[[9446,9446],\"mapped\",[119]],[[9447,9447],\"mapped\",[120]],[[9448,9448],\"mapped\",[121]],[[9449,9449],\"mapped\",[122]],[[9450,9450],\"mapped\",[48]],[[9451,9470],\"valid\",[],\"NV8\"],[[9471,9471],\"valid\",[],\"NV8\"],[[9472,9621],\"valid\",[],\"NV8\"],[[9622,9631],\"valid\",[],\"NV8\"],[[9632,9711],\"valid\",[],\"NV8\"],[[9712,9719],\"valid\",[],\"NV8\"],[[9720,9727],\"valid\",[],\"NV8\"],[[9728,9747],\"valid\",[],\"NV8\"],[[9748,9749],\"valid\",[],\"NV8\"],[[9750,9751],\"valid\",[],\"NV8\"],[[9752,9752],\"valid\",[],\"NV8\"],[[9753,9753],\"valid\",[],\"NV8\"],[[9754,9839],\"valid\",[],\"NV8\"],[[9840,9841],\"valid\",[],\"NV8\"],[[9842,9853],\"valid\",[],\"NV8\"],[[9854,9855],\"valid\",[],\"NV8\"],[[9856,9865],\"valid\",[],\"NV8\"],[[9866,9873],\"valid\",[],\"NV8\"],[[9874,9884],\"valid\",[],\"NV8\"],[[9885,9885],\"valid\",[],\"NV8\"],[[9886,9887],\"valid\",[],\"NV8\"],[[9888,9889],\"valid\",[],\"NV8\"],[[9890,9905],\"valid\",[],\"NV8\"],[[9906,9906],\"valid\",[],\"NV8\"],[[9907,9916],\"valid\",[],\"NV8\"],[[9917,9919],\"valid\",[],\"NV8\"],[[9920,9923],\"valid\",[],\"NV8\"],[[9924,9933],\"valid\",[],\"NV8\"],[[9934,9934],\"valid\",[],\"NV8\"],[[9935,9953],\"valid\",[],\"NV8\"],[[9954,9954],\"valid\",[],\"NV8\"],[[9955,9955],\"valid\",[],\"NV8\"],[[9956,9959],\"valid\",[],\"NV8\"],[[9960,9983],\"valid\",[],\"NV8\"],[[9984,9984],\"valid\",[],\"NV8\"],[[9985,9988],\"valid\",[],\"NV8\"],[[9989,9989],\"valid\",[],\"NV8\"],[[9990,9993],\"valid\",[],\"NV8\"],[[9994,9995],\"valid\",[],\"NV8\"],[[9996,10023],\"valid\",[],\"NV8\"],[[10024,10024],\"valid\",[],\"NV8\"],[[10025,10059],\"valid\",[],\"NV8\"],[[10060,10060],\"valid\",[],\"NV8\"],[[10061,10061],\"valid\",[],\"NV8\"],[[10062,10062],\"valid\",[],\"NV8\"],[[10063,10066],\"valid\",[],\"NV8\"],[[10067,10069],\"valid\",[],\"NV8\"],[[10070,10070],\"valid\",[],\"NV8\"],[[10071,10071],\"valid\",[],\"NV8\"],[[10072,10078],\"valid\",[],\"NV8\"],[[10079,10080],\"valid\",[],\"NV8\"],[[10081,10087],\"valid\",[],\"NV8\"],[[10088,10101],\"valid\",[],\"NV8\"],[[10102,10132],\"valid\",[],\"NV8\"],[[10133,10135],\"valid\",[],\"NV8\"],[[10136,10159],\"valid\",[],\"NV8\"],[[10160,10160],\"valid\",[],\"NV8\"],[[10161,10174],\"valid\",[],\"NV8\"],[[10175,10175],\"valid\",[],\"NV8\"],[[10176,10182],\"valid\",[],\"NV8\"],[[10183,10186],\"valid\",[],\"NV8\"],[[10187,10187],\"valid\",[],\"NV8\"],[[10188,10188],\"valid\",[],\"NV8\"],[[10189,10189],\"valid\",[],\"NV8\"],[[10190,10191],\"valid\",[],\"NV8\"],[[10192,10219],\"valid\",[],\"NV8\"],[[10220,10223],\"valid\",[],\"NV8\"],[[10224,10239],\"valid\",[],\"NV8\"],[[10240,10495],\"valid\",[],\"NV8\"],[[10496,10763],\"valid\",[],\"NV8\"],[[10764,10764],\"mapped\",[8747,8747,8747,8747]],[[10765,10867],\"valid\",[],\"NV8\"],[[10868,10868],\"disallowed_STD3_mapped\",[58,58,61]],[[10869,10869],\"disallowed_STD3_mapped\",[61,61]],[[10870,10870],\"disallowed_STD3_mapped\",[61,61,61]],[[10871,10971],\"valid\",[],\"NV8\"],[[10972,10972],\"mapped\",[10973,824]],[[10973,11007],\"valid\",[],\"NV8\"],[[11008,11021],\"valid\",[],\"NV8\"],[[11022,11027],\"valid\",[],\"NV8\"],[[11028,11034],\"valid\",[],\"NV8\"],[[11035,11039],\"valid\",[],\"NV8\"],[[11040,11043],\"valid\",[],\"NV8\"],[[11044,11084],\"valid\",[],\"NV8\"],[[11085,11087],\"valid\",[],\"NV8\"],[[11088,11092],\"valid\",[],\"NV8\"],[[11093,11097],\"valid\",[],\"NV8\"],[[11098,11123],\"valid\",[],\"NV8\"],[[11124,11125],\"disallowed\"],[[11126,11157],\"valid\",[],\"NV8\"],[[11158,11159],\"disallowed\"],[[11160,11193],\"valid\",[],\"NV8\"],[[11194,11196],\"disallowed\"],[[11197,11208],\"valid\",[],\"NV8\"],[[11209,11209],\"disallowed\"],[[11210,11217],\"valid\",[],\"NV8\"],[[11218,11243],\"disallowed\"],[[11244,11247],\"valid\",[],\"NV8\"],[[11248,11263],\"disallowed\"],[[11264,11264],\"mapped\",[11312]],[[11265,11265],\"mapped\",[11313]],[[11266,11266],\"mapped\",[11314]],[[11267,11267],\"mapped\",[11315]],[[11268,11268],\"mapped\",[11316]],[[11269,11269],\"mapped\",[11317]],[[11270,11270],\"mapped\",[11318]],[[11271,11271],\"mapped\",[11319]],[[11272,11272],\"mapped\",[11320]],[[11273,11273],\"mapped\",[11321]],[[11274,11274],\"mapped\",[11322]],[[11275,11275],\"mapped\",[11323]],[[11276,11276],\"mapped\",[11324]],[[11277,11277],\"mapped\",[11325]],[[11278,11278],\"mapped\",[11326]],[[11279,11279],\"mapped\",[11327]],[[11280,11280],\"mapped\",[11328]],[[11281,11281],\"mapped\",[11329]],[[11282,11282],\"mapped\",[11330]],[[11283,11283],\"mapped\",[11331]],[[11284,11284],\"mapped\",[11332]],[[11285,11285],\"mapped\",[11333]],[[11286,11286],\"mapped\",[11334]],[[11287,11287],\"mapped\",[11335]],[[11288,11288],\"mapped\",[11336]],[[11289,11289],\"mapped\",[11337]],[[11290,11290],\"mapped\",[11338]],[[11291,11291],\"mapped\",[11339]],[[11292,11292],\"mapped\",[11340]],[[11293,11293],\"mapped\",[11341]],[[11294,11294],\"mapped\",[11342]],[[11295,11295],\"mapped\",[11343]],[[11296,11296],\"mapped\",[11344]],[[11297,11297],\"mapped\",[11345]],[[11298,11298],\"mapped\",[11346]],[[11299,11299],\"mapped\",[11347]],[[11300,11300],\"mapped\",[11348]],[[11301,11301],\"mapped\",[11349]],[[11302,11302],\"mapped\",[11350]],[[11303,11303],\"mapped\",[11351]],[[11304,11304],\"mapped\",[11352]],[[11305,11305],\"mapped\",[11353]],[[11306,11306],\"mapped\",[11354]],[[11307,11307],\"mapped\",[11355]],[[11308,11308],\"mapped\",[11356]],[[11309,11309],\"mapped\",[11357]],[[11310,11310],\"mapped\",[11358]],[[11311,11311],\"disallowed\"],[[11312,11358],\"valid\"],[[11359,11359],\"disallowed\"],[[11360,11360],\"mapped\",[11361]],[[11361,11361],\"valid\"],[[11362,11362],\"mapped\",[619]],[[11363,11363],\"mapped\",[7549]],[[11364,11364],\"mapped\",[637]],[[11365,11366],\"valid\"],[[11367,11367],\"mapped\",[11368]],[[11368,11368],\"valid\"],[[11369,11369],\"mapped\",[11370]],[[11370,11370],\"valid\"],[[11371,11371],\"mapped\",[11372]],[[11372,11372],\"valid\"],[[11373,11373],\"mapped\",[593]],[[11374,11374],\"mapped\",[625]],[[11375,11375],\"mapped\",[592]],[[11376,11376],\"mapped\",[594]],[[11377,11377],\"valid\"],[[11378,11378],\"mapped\",[11379]],[[11379,11379],\"valid\"],[[11380,11380],\"valid\"],[[11381,11381],\"mapped\",[11382]],[[11382,11383],\"valid\"],[[11384,11387],\"valid\"],[[11388,11388],\"mapped\",[106]],[[11389,11389],\"mapped\",[118]],[[11390,11390],\"mapped\",[575]],[[11391,11391],\"mapped\",[576]],[[11392,11392],\"mapped\",[11393]],[[11393,11393],\"valid\"],[[11394,11394],\"mapped\",[11395]],[[11395,11395],\"valid\"],[[11396,11396],\"mapped\",[11397]],[[11397,11397],\"valid\"],[[11398,11398],\"mapped\",[11399]],[[11399,11399],\"valid\"],[[11400,11400],\"mapped\",[11401]],[[11401,11401],\"valid\"],[[11402,11402],\"mapped\",[11403]],[[11403,11403],\"valid\"],[[11404,11404],\"mapped\",[11405]],[[11405,11405],\"valid\"],[[11406,11406],\"mapped\",[11407]],[[11407,11407],\"valid\"],[[11408,11408],\"mapped\",[11409]],[[11409,11409],\"valid\"],[[11410,11410],\"mapped\",[11411]],[[11411,11411],\"valid\"],[[11412,11412],\"mapped\",[11413]],[[11413,11413],\"valid\"],[[11414,11414],\"mapped\",[11415]],[[11415,11415],\"valid\"],[[11416,11416],\"mapped\",[11417]],[[11417,11417],\"valid\"],[[11418,11418],\"mapped\",[11419]],[[11419,11419],\"valid\"],[[11420,11420],\"mapped\",[11421]],[[11421,11421],\"valid\"],[[11422,11422],\"mapped\",[11423]],[[11423,11423],\"valid\"],[[11424,11424],\"mapped\",[11425]],[[11425,11425],\"valid\"],[[11426,11426],\"mapped\",[11427]],[[11427,11427],\"valid\"],[[11428,11428],\"mapped\",[11429]],[[11429,11429],\"valid\"],[[11430,11430],\"mapped\",[11431]],[[11431,11431],\"valid\"],[[11432,11432],\"mapped\",[11433]],[[11433,11433],\"valid\"],[[11434,11434],\"mapped\",[11435]],[[11435,11435],\"valid\"],[[11436,11436],\"mapped\",[11437]],[[11437,11437],\"valid\"],[[11438,11438],\"mapped\",[11439]],[[11439,11439],\"valid\"],[[11440,11440],\"mapped\",[11441]],[[11441,11441],\"valid\"],[[11442,11442],\"mapped\",[11443]],[[11443,11443],\"valid\"],[[11444,11444],\"mapped\",[11445]],[[11445,11445],\"valid\"],[[11446,11446],\"mapped\",[11447]],[[11447,11447],\"valid\"],[[11448,11448],\"mapped\",[11449]],[[11449,11449],\"valid\"],[[11450,11450],\"mapped\",[11451]],[[11451,11451],\"valid\"],[[11452,11452],\"mapped\",[11453]],[[11453,11453],\"valid\"],[[11454,11454],\"mapped\",[11455]],[[11455,11455],\"valid\"],[[11456,11456],\"mapped\",[11457]],[[11457,11457],\"valid\"],[[11458,11458],\"mapped\",[11459]],[[11459,11459],\"valid\"],[[11460,11460],\"mapped\",[11461]],[[11461,11461],\"valid\"],[[11462,11462],\"mapped\",[11463]],[[11463,11463],\"valid\"],[[11464,11464],\"mapped\",[11465]],[[11465,11465],\"valid\"],[[11466,11466],\"mapped\",[11467]],[[11467,11467],\"valid\"],[[11468,11468],\"mapped\",[11469]],[[11469,11469],\"valid\"],[[11470,11470],\"mapped\",[11471]],[[11471,11471],\"valid\"],[[11472,11472],\"mapped\",[11473]],[[11473,11473],\"valid\"],[[11474,11474],\"mapped\",[11475]],[[11475,11475],\"valid\"],[[11476,11476],\"mapped\",[11477]],[[11477,11477],\"valid\"],[[11478,11478],\"mapped\",[11479]],[[11479,11479],\"valid\"],[[11480,11480],\"mapped\",[11481]],[[11481,11481],\"valid\"],[[11482,11482],\"mapped\",[11483]],[[11483,11483],\"valid\"],[[11484,11484],\"mapped\",[11485]],[[11485,11485],\"valid\"],[[11486,11486],\"mapped\",[11487]],[[11487,11487],\"valid\"],[[11488,11488],\"mapped\",[11489]],[[11489,11489],\"valid\"],[[11490,11490],\"mapped\",[11491]],[[11491,11492],\"valid\"],[[11493,11498],\"valid\",[],\"NV8\"],[[11499,11499],\"mapped\",[11500]],[[11500,11500],\"valid\"],[[11501,11501],\"mapped\",[11502]],[[11502,11505],\"valid\"],[[11506,11506],\"mapped\",[11507]],[[11507,11507],\"valid\"],[[11508,11512],\"disallowed\"],[[11513,11519],\"valid\",[],\"NV8\"],[[11520,11557],\"valid\"],[[11558,11558],\"disallowed\"],[[11559,11559],\"valid\"],[[11560,11564],\"disallowed\"],[[11565,11565],\"valid\"],[[11566,11567],\"disallowed\"],[[11568,11621],\"valid\"],[[11622,11623],\"valid\"],[[11624,11630],\"disallowed\"],[[11631,11631],\"mapped\",[11617]],[[11632,11632],\"valid\",[],\"NV8\"],[[11633,11646],\"disallowed\"],[[11647,11647],\"valid\"],[[11648,11670],\"valid\"],[[11671,11679],\"disallowed\"],[[11680,11686],\"valid\"],[[11687,11687],\"disallowed\"],[[11688,11694],\"valid\"],[[11695,11695],\"disallowed\"],[[11696,11702],\"valid\"],[[11703,11703],\"disallowed\"],[[11704,11710],\"valid\"],[[11711,11711],\"disallowed\"],[[11712,11718],\"valid\"],[[11719,11719],\"disallowed\"],[[11720,11726],\"valid\"],[[11727,11727],\"disallowed\"],[[11728,11734],\"valid\"],[[11735,11735],\"disallowed\"],[[11736,11742],\"valid\"],[[11743,11743],\"disallowed\"],[[11744,11775],\"valid\"],[[11776,11799],\"valid\",[],\"NV8\"],[[11800,11803],\"valid\",[],\"NV8\"],[[11804,11805],\"valid\",[],\"NV8\"],[[11806,11822],\"valid\",[],\"NV8\"],[[11823,11823],\"valid\"],[[11824,11824],\"valid\",[],\"NV8\"],[[11825,11825],\"valid\",[],\"NV8\"],[[11826,11835],\"valid\",[],\"NV8\"],[[11836,11842],\"valid\",[],\"NV8\"],[[11843,11903],\"disallowed\"],[[11904,11929],\"valid\",[],\"NV8\"],[[11930,11930],\"disallowed\"],[[11931,11934],\"valid\",[],\"NV8\"],[[11935,11935],\"mapped\",[27597]],[[11936,12018],\"valid\",[],\"NV8\"],[[12019,12019],\"mapped\",[40863]],[[12020,12031],\"disallowed\"],[[12032,12032],\"mapped\",[19968]],[[12033,12033],\"mapped\",[20008]],[[12034,12034],\"mapped\",[20022]],[[12035,12035],\"mapped\",[20031]],[[12036,12036],\"mapped\",[20057]],[[12037,12037],\"mapped\",[20101]],[[12038,12038],\"mapped\",[20108]],[[12039,12039],\"mapped\",[20128]],[[12040,12040],\"mapped\",[20154]],[[12041,12041],\"mapped\",[20799]],[[12042,12042],\"mapped\",[20837]],[[12043,12043],\"mapped\",[20843]],[[12044,12044],\"mapped\",[20866]],[[12045,12045],\"mapped\",[20886]],[[12046,12046],\"mapped\",[20907]],[[12047,12047],\"mapped\",[20960]],[[12048,12048],\"mapped\",[20981]],[[12049,12049],\"mapped\",[20992]],[[12050,12050],\"mapped\",[21147]],[[12051,12051],\"mapped\",[21241]],[[12052,12052],\"mapped\",[21269]],[[12053,12053],\"mapped\",[21274]],[[12054,12054],\"mapped\",[21304]],[[12055,12055],\"mapped\",[21313]],[[12056,12056],\"mapped\",[21340]],[[12057,12057],\"mapped\",[21353]],[[12058,12058],\"mapped\",[21378]],[[12059,12059],\"mapped\",[21430]],[[12060,12060],\"mapped\",[21448]],[[12061,12061],\"mapped\",[21475]],[[12062,12062],\"mapped\",[22231]],[[12063,12063],\"mapped\",[22303]],[[12064,12064],\"mapped\",[22763]],[[12065,12065],\"mapped\",[22786]],[[12066,12066],\"mapped\",[22794]],[[12067,12067],\"mapped\",[22805]],[[12068,12068],\"mapped\",[22823]],[[12069,12069],\"mapped\",[22899]],[[12070,12070],\"mapped\",[23376]],[[12071,12071],\"mapped\",[23424]],[[12072,12072],\"mapped\",[23544]],[[12073,12073],\"mapped\",[23567]],[[12074,12074],\"mapped\",[23586]],[[12075,12075],\"mapped\",[23608]],[[12076,12076],\"mapped\",[23662]],[[12077,12077],\"mapped\",[23665]],[[12078,12078],\"mapped\",[24027]],[[12079,12079],\"mapped\",[24037]],[[12080,12080],\"mapped\",[24049]],[[12081,12081],\"mapped\",[24062]],[[12082,12082],\"mapped\",[24178]],[[12083,12083],\"mapped\",[24186]],[[12084,12084],\"mapped\",[24191]],[[12085,12085],\"mapped\",[24308]],[[12086,12086],\"mapped\",[24318]],[[12087,12087],\"mapped\",[24331]],[[12088,12088],\"mapped\",[24339]],[[12089,12089],\"mapped\",[24400]],[[12090,12090],\"mapped\",[24417]],[[12091,12091],\"mapped\",[24435]],[[12092,12092],\"mapped\",[24515]],[[12093,12093],\"mapped\",[25096]],[[12094,12094],\"mapped\",[25142]],[[12095,12095],\"mapped\",[25163]],[[12096,12096],\"mapped\",[25903]],[[12097,12097],\"mapped\",[25908]],[[12098,12098],\"mapped\",[25991]],[[12099,12099],\"mapped\",[26007]],[[12100,12100],\"mapped\",[26020]],[[12101,12101],\"mapped\",[26041]],[[12102,12102],\"mapped\",[26080]],[[12103,12103],\"mapped\",[26085]],[[12104,12104],\"mapped\",[26352]],[[12105,12105],\"mapped\",[26376]],[[12106,12106],\"mapped\",[26408]],[[12107,12107],\"mapped\",[27424]],[[12108,12108],\"mapped\",[27490]],[[12109,12109],\"mapped\",[27513]],[[12110,12110],\"mapped\",[27571]],[[12111,12111],\"mapped\",[27595]],[[12112,12112],\"mapped\",[27604]],[[12113,12113],\"mapped\",[27611]],[[12114,12114],\"mapped\",[27663]],[[12115,12115],\"mapped\",[27668]],[[12116,12116],\"mapped\",[27700]],[[12117,12117],\"mapped\",[28779]],[[12118,12118],\"mapped\",[29226]],[[12119,12119],\"mapped\",[29238]],[[12120,12120],\"mapped\",[29243]],[[12121,12121],\"mapped\",[29247]],[[12122,12122],\"mapped\",[29255]],[[12123,12123],\"mapped\",[29273]],[[12124,12124],\"mapped\",[29275]],[[12125,12125],\"mapped\",[29356]],[[12126,12126],\"mapped\",[29572]],[[12127,12127],\"mapped\",[29577]],[[12128,12128],\"mapped\",[29916]],[[12129,12129],\"mapped\",[29926]],[[12130,12130],\"mapped\",[29976]],[[12131,12131],\"mapped\",[29983]],[[12132,12132],\"mapped\",[29992]],[[12133,12133],\"mapped\",[30000]],[[12134,12134],\"mapped\",[30091]],[[12135,12135],\"mapped\",[30098]],[[12136,12136],\"mapped\",[30326]],[[12137,12137],\"mapped\",[30333]],[[12138,12138],\"mapped\",[30382]],[[12139,12139],\"mapped\",[30399]],[[12140,12140],\"mapped\",[30446]],[[12141,12141],\"mapped\",[30683]],[[12142,12142],\"mapped\",[30690]],[[12143,12143],\"mapped\",[30707]],[[12144,12144],\"mapped\",[31034]],[[12145,12145],\"mapped\",[31160]],[[12146,12146],\"mapped\",[31166]],[[12147,12147],\"mapped\",[31348]],[[12148,12148],\"mapped\",[31435]],[[12149,12149],\"mapped\",[31481]],[[12150,12150],\"mapped\",[31859]],[[12151,12151],\"mapped\",[31992]],[[12152,12152],\"mapped\",[32566]],[[12153,12153],\"mapped\",[32593]],[[12154,12154],\"mapped\",[32650]],[[12155,12155],\"mapped\",[32701]],[[12156,12156],\"mapped\",[32769]],[[12157,12157],\"mapped\",[32780]],[[12158,12158],\"mapped\",[32786]],[[12159,12159],\"mapped\",[32819]],[[12160,12160],\"mapped\",[32895]],[[12161,12161],\"mapped\",[32905]],[[12162,12162],\"mapped\",[33251]],[[12163,12163],\"mapped\",[33258]],[[12164,12164],\"mapped\",[33267]],[[12165,12165],\"mapped\",[33276]],[[12166,12166],\"mapped\",[33292]],[[12167,12167],\"mapped\",[33307]],[[12168,12168],\"mapped\",[33311]],[[12169,12169],\"mapped\",[33390]],[[12170,12170],\"mapped\",[33394]],[[12171,12171],\"mapped\",[33400]],[[12172,12172],\"mapped\",[34381]],[[12173,12173],\"mapped\",[34411]],[[12174,12174],\"mapped\",[34880]],[[12175,12175],\"mapped\",[34892]],[[12176,12176],\"mapped\",[34915]],[[12177,12177],\"mapped\",[35198]],[[12178,12178],\"mapped\",[35211]],[[12179,12179],\"mapped\",[35282]],[[12180,12180],\"mapped\",[35328]],[[12181,12181],\"mapped\",[35895]],[[12182,12182],\"mapped\",[35910]],[[12183,12183],\"mapped\",[35925]],[[12184,12184],\"mapped\",[35960]],[[12185,12185],\"mapped\",[35997]],[[12186,12186],\"mapped\",[36196]],[[12187,12187],\"mapped\",[36208]],[[12188,12188],\"mapped\",[36275]],[[12189,12189],\"mapped\",[36523]],[[12190,12190],\"mapped\",[36554]],[[12191,12191],\"mapped\",[36763]],[[12192,12192],\"mapped\",[36784]],[[12193,12193],\"mapped\",[36789]],[[12194,12194],\"mapped\",[37009]],[[12195,12195],\"mapped\",[37193]],[[12196,12196],\"mapped\",[37318]],[[12197,12197],\"mapped\",[37324]],[[12198,12198],\"mapped\",[37329]],[[12199,12199],\"mapped\",[38263]],[[12200,12200],\"mapped\",[38272]],[[12201,12201],\"mapped\",[38428]],[[12202,12202],\"mapped\",[38582]],[[12203,12203],\"mapped\",[38585]],[[12204,12204],\"mapped\",[38632]],[[12205,12205],\"mapped\",[38737]],[[12206,12206],\"mapped\",[38750]],[[12207,12207],\"mapped\",[38754]],[[12208,12208],\"mapped\",[38761]],[[12209,12209],\"mapped\",[38859]],[[12210,12210],\"mapped\",[38893]],[[12211,12211],\"mapped\",[38899]],[[12212,12212],\"mapped\",[38913]],[[12213,12213],\"mapped\",[39080]],[[12214,12214],\"mapped\",[39131]],[[12215,12215],\"mapped\",[39135]],[[12216,12216],\"mapped\",[39318]],[[12217,12217],\"mapped\",[39321]],[[12218,12218],\"mapped\",[39340]],[[12219,12219],\"mapped\",[39592]],[[12220,12220],\"mapped\",[39640]],[[12221,12221],\"mapped\",[39647]],[[12222,12222],\"mapped\",[39717]],[[12223,12223],\"mapped\",[39727]],[[12224,12224],\"mapped\",[39730]],[[12225,12225],\"mapped\",[39740]],[[12226,12226],\"mapped\",[39770]],[[12227,12227],\"mapped\",[40165]],[[12228,12228],\"mapped\",[40565]],[[12229,12229],\"mapped\",[40575]],[[12230,12230],\"mapped\",[40613]],[[12231,12231],\"mapped\",[40635]],[[12232,12232],\"mapped\",[40643]],[[12233,12233],\"mapped\",[40653]],[[12234,12234],\"mapped\",[40657]],[[12235,12235],\"mapped\",[40697]],[[12236,12236],\"mapped\",[40701]],[[12237,12237],\"mapped\",[40718]],[[12238,12238],\"mapped\",[40723]],[[12239,12239],\"mapped\",[40736]],[[12240,12240],\"mapped\",[40763]],[[12241,12241],\"mapped\",[40778]],[[12242,12242],\"mapped\",[40786]],[[12243,12243],\"mapped\",[40845]],[[12244,12244],\"mapped\",[40860]],[[12245,12245],\"mapped\",[40864]],[[12246,12271],\"disallowed\"],[[12272,12283],\"disallowed\"],[[12284,12287],\"disallowed\"],[[12288,12288],\"disallowed_STD3_mapped\",[32]],[[12289,12289],\"valid\",[],\"NV8\"],[[12290,12290],\"mapped\",[46]],[[12291,12292],\"valid\",[],\"NV8\"],[[12293,12295],\"valid\"],[[12296,12329],\"valid\",[],\"NV8\"],[[12330,12333],\"valid\"],[[12334,12341],\"valid\",[],\"NV8\"],[[12342,12342],\"mapped\",[12306]],[[12343,12343],\"valid\",[],\"NV8\"],[[12344,12344],\"mapped\",[21313]],[[12345,12345],\"mapped\",[21316]],[[12346,12346],\"mapped\",[21317]],[[12347,12347],\"valid\",[],\"NV8\"],[[12348,12348],\"valid\"],[[12349,12349],\"valid\",[],\"NV8\"],[[12350,12350],\"valid\",[],\"NV8\"],[[12351,12351],\"valid\",[],\"NV8\"],[[12352,12352],\"disallowed\"],[[12353,12436],\"valid\"],[[12437,12438],\"valid\"],[[12439,12440],\"disallowed\"],[[12441,12442],\"valid\"],[[12443,12443],\"disallowed_STD3_mapped\",[32,12441]],[[12444,12444],\"disallowed_STD3_mapped\",[32,12442]],[[12445,12446],\"valid\"],[[12447,12447],\"mapped\",[12424,12426]],[[12448,12448],\"valid\",[],\"NV8\"],[[12449,12542],\"valid\"],[[12543,12543],\"mapped\",[12467,12488]],[[12544,12548],\"disallowed\"],[[12549,12588],\"valid\"],[[12589,12589],\"valid\"],[[12590,12592],\"disallowed\"],[[12593,12593],\"mapped\",[4352]],[[12594,12594],\"mapped\",[4353]],[[12595,12595],\"mapped\",[4522]],[[12596,12596],\"mapped\",[4354]],[[12597,12597],\"mapped\",[4524]],[[12598,12598],\"mapped\",[4525]],[[12599,12599],\"mapped\",[4355]],[[12600,12600],\"mapped\",[4356]],[[12601,12601],\"mapped\",[4357]],[[12602,12602],\"mapped\",[4528]],[[12603,12603],\"mapped\",[4529]],[[12604,12604],\"mapped\",[4530]],[[12605,12605],\"mapped\",[4531]],[[12606,12606],\"mapped\",[4532]],[[12607,12607],\"mapped\",[4533]],[[12608,12608],\"mapped\",[4378]],[[12609,12609],\"mapped\",[4358]],[[12610,12610],\"mapped\",[4359]],[[12611,12611],\"mapped\",[4360]],[[12612,12612],\"mapped\",[4385]],[[12613,12613],\"mapped\",[4361]],[[12614,12614],\"mapped\",[4362]],[[12615,12615],\"mapped\",[4363]],[[12616,12616],\"mapped\",[4364]],[[12617,12617],\"mapped\",[4365]],[[12618,12618],\"mapped\",[4366]],[[12619,12619],\"mapped\",[4367]],[[12620,12620],\"mapped\",[4368]],[[12621,12621],\"mapped\",[4369]],[[12622,12622],\"mapped\",[4370]],[[12623,12623],\"mapped\",[4449]],[[12624,12624],\"mapped\",[4450]],[[12625,12625],\"mapped\",[4451]],[[12626,12626],\"mapped\",[4452]],[[12627,12627],\"mapped\",[4453]],[[12628,12628],\"mapped\",[4454]],[[12629,12629],\"mapped\",[4455]],[[12630,12630],\"mapped\",[4456]],[[12631,12631],\"mapped\",[4457]],[[12632,12632],\"mapped\",[4458]],[[12633,12633],\"mapped\",[4459]],[[12634,12634],\"mapped\",[4460]],[[12635,12635],\"mapped\",[4461]],[[12636,12636],\"mapped\",[4462]],[[12637,12637],\"mapped\",[4463]],[[12638,12638],\"mapped\",[4464]],[[12639,12639],\"mapped\",[4465]],[[12640,12640],\"mapped\",[4466]],[[12641,12641],\"mapped\",[4467]],[[12642,12642],\"mapped\",[4468]],[[12643,12643],\"mapped\",[4469]],[[12644,12644],\"disallowed\"],[[12645,12645],\"mapped\",[4372]],[[12646,12646],\"mapped\",[4373]],[[12647,12647],\"mapped\",[4551]],[[12648,12648],\"mapped\",[4552]],[[12649,12649],\"mapped\",[4556]],[[12650,12650],\"mapped\",[4558]],[[12651,12651],\"mapped\",[4563]],[[12652,12652],\"mapped\",[4567]],[[12653,12653],\"mapped\",[4569]],[[12654,12654],\"mapped\",[4380]],[[12655,12655],\"mapped\",[4573]],[[12656,12656],\"mapped\",[4575]],[[12657,12657],\"mapped\",[4381]],[[12658,12658],\"mapped\",[4382]],[[12659,12659],\"mapped\",[4384]],[[12660,12660],\"mapped\",[4386]],[[12661,12661],\"mapped\",[4387]],[[12662,12662],\"mapped\",[4391]],[[12663,12663],\"mapped\",[4393]],[[12664,12664],\"mapped\",[4395]],[[12665,12665],\"mapped\",[4396]],[[12666,12666],\"mapped\",[4397]],[[12667,12667],\"mapped\",[4398]],[[12668,12668],\"mapped\",[4399]],[[12669,12669],\"mapped\",[4402]],[[12670,12670],\"mapped\",[4406]],[[12671,12671],\"mapped\",[4416]],[[12672,12672],\"mapped\",[4423]],[[12673,12673],\"mapped\",[4428]],[[12674,12674],\"mapped\",[4593]],[[12675,12675],\"mapped\",[4594]],[[12676,12676],\"mapped\",[4439]],[[12677,12677],\"mapped\",[4440]],[[12678,12678],\"mapped\",[4441]],[[12679,12679],\"mapped\",[4484]],[[12680,12680],\"mapped\",[4485]],[[12681,12681],\"mapped\",[4488]],[[12682,12682],\"mapped\",[4497]],[[12683,12683],\"mapped\",[4498]],[[12684,12684],\"mapped\",[4500]],[[12685,12685],\"mapped\",[4510]],[[12686,12686],\"mapped\",[4513]],[[12687,12687],\"disallowed\"],[[12688,12689],\"valid\",[],\"NV8\"],[[12690,12690],\"mapped\",[19968]],[[12691,12691],\"mapped\",[20108]],[[12692,12692],\"mapped\",[19977]],[[12693,12693],\"mapped\",[22235]],[[12694,12694],\"mapped\",[19978]],[[12695,12695],\"mapped\",[20013]],[[12696,12696],\"mapped\",[19979]],[[12697,12697],\"mapped\",[30002]],[[12698,12698],\"mapped\",[20057]],[[12699,12699],\"mapped\",[19993]],[[12700,12700],\"mapped\",[19969]],[[12701,12701],\"mapped\",[22825]],[[12702,12702],\"mapped\",[22320]],[[12703,12703],\"mapped\",[20154]],[[12704,12727],\"valid\"],[[12728,12730],\"valid\"],[[12731,12735],\"disallowed\"],[[12736,12751],\"valid\",[],\"NV8\"],[[12752,12771],\"valid\",[],\"NV8\"],[[12772,12783],\"disallowed\"],[[12784,12799],\"valid\"],[[12800,12800],\"disallowed_STD3_mapped\",[40,4352,41]],[[12801,12801],\"disallowed_STD3_mapped\",[40,4354,41]],[[12802,12802],\"disallowed_STD3_mapped\",[40,4355,41]],[[12803,12803],\"disallowed_STD3_mapped\",[40,4357,41]],[[12804,12804],\"disallowed_STD3_mapped\",[40,4358,41]],[[12805,12805],\"disallowed_STD3_mapped\",[40,4359,41]],[[12806,12806],\"disallowed_STD3_mapped\",[40,4361,41]],[[12807,12807],\"disallowed_STD3_mapped\",[40,4363,41]],[[12808,12808],\"disallowed_STD3_mapped\",[40,4364,41]],[[12809,12809],\"disallowed_STD3_mapped\",[40,4366,41]],[[12810,12810],\"disallowed_STD3_mapped\",[40,4367,41]],[[12811,12811],\"disallowed_STD3_mapped\",[40,4368,41]],[[12812,12812],\"disallowed_STD3_mapped\",[40,4369,41]],[[12813,12813],\"disallowed_STD3_mapped\",[40,4370,41]],[[12814,12814],\"disallowed_STD3_mapped\",[40,44032,41]],[[12815,12815],\"disallowed_STD3_mapped\",[40,45208,41]],[[12816,12816],\"disallowed_STD3_mapped\",[40,45796,41]],[[12817,12817],\"disallowed_STD3_mapped\",[40,46972,41]],[[12818,12818],\"disallowed_STD3_mapped\",[40,47560,41]],[[12819,12819],\"disallowed_STD3_mapped\",[40,48148,41]],[[12820,12820],\"disallowed_STD3_mapped\",[40,49324,41]],[[12821,12821],\"disallowed_STD3_mapped\",[40,50500,41]],[[12822,12822],\"disallowed_STD3_mapped\",[40,51088,41]],[[12823,12823],\"disallowed_STD3_mapped\",[40,52264,41]],[[12824,12824],\"disallowed_STD3_mapped\",[40,52852,41]],[[12825,12825],\"disallowed_STD3_mapped\",[40,53440,41]],[[12826,12826],\"disallowed_STD3_mapped\",[40,54028,41]],[[12827,12827],\"disallowed_STD3_mapped\",[40,54616,41]],[[12828,12828],\"disallowed_STD3_mapped\",[40,51452,41]],[[12829,12829],\"disallowed_STD3_mapped\",[40,50724,51204,41]],[[12830,12830],\"disallowed_STD3_mapped\",[40,50724,54980,41]],[[12831,12831],\"disallowed\"],[[12832,12832],\"disallowed_STD3_mapped\",[40,19968,41]],[[12833,12833],\"disallowed_STD3_mapped\",[40,20108,41]],[[12834,12834],\"disallowed_STD3_mapped\",[40,19977,41]],[[12835,12835],\"disallowed_STD3_mapped\",[40,22235,41]],[[12836,12836],\"disallowed_STD3_mapped\",[40,20116,41]],[[12837,12837],\"disallowed_STD3_mapped\",[40,20845,41]],[[12838,12838],\"disallowed_STD3_mapped\",[40,19971,41]],[[12839,12839],\"disallowed_STD3_mapped\",[40,20843,41]],[[12840,12840],\"disallowed_STD3_mapped\",[40,20061,41]],[[12841,12841],\"disallowed_STD3_mapped\",[40,21313,41]],[[12842,12842],\"disallowed_STD3_mapped\",[40,26376,41]],[[12843,12843],\"disallowed_STD3_mapped\",[40,28779,41]],[[12844,12844],\"disallowed_STD3_mapped\",[40,27700,41]],[[12845,12845],\"disallowed_STD3_mapped\",[40,26408,41]],[[12846,12846],\"disallowed_STD3_mapped\",[40,37329,41]],[[12847,12847],\"disallowed_STD3_mapped\",[40,22303,41]],[[12848,12848],\"disallowed_STD3_mapped\",[40,26085,41]],[[12849,12849],\"disallowed_STD3_mapped\",[40,26666,41]],[[12850,12850],\"disallowed_STD3_mapped\",[40,26377,41]],[[12851,12851],\"disallowed_STD3_mapped\",[40,31038,41]],[[12852,12852],\"disallowed_STD3_mapped\",[40,21517,41]],[[12853,12853],\"disallowed_STD3_mapped\",[40,29305,41]],[[12854,12854],\"disallowed_STD3_mapped\",[40,36001,41]],[[12855,12855],\"disallowed_STD3_mapped\",[40,31069,41]],[[12856,12856],\"disallowed_STD3_mapped\",[40,21172,41]],[[12857,12857],\"disallowed_STD3_mapped\",[40,20195,41]],[[12858,12858],\"disallowed_STD3_mapped\",[40,21628,41]],[[12859,12859],\"disallowed_STD3_mapped\",[40,23398,41]],[[12860,12860],\"disallowed_STD3_mapped\",[40,30435,41]],[[12861,12861],\"disallowed_STD3_mapped\",[40,20225,41]],[[12862,12862],\"disallowed_STD3_mapped\",[40,36039,41]],[[12863,12863],\"disallowed_STD3_mapped\",[40,21332,41]],[[12864,12864],\"disallowed_STD3_mapped\",[40,31085,41]],[[12865,12865],\"disallowed_STD3_mapped\",[40,20241,41]],[[12866,12866],\"disallowed_STD3_mapped\",[40,33258,41]],[[12867,12867],\"disallowed_STD3_mapped\",[40,33267,41]],[[12868,12868],\"mapped\",[21839]],[[12869,12869],\"mapped\",[24188]],[[12870,12870],\"mapped\",[25991]],[[12871,12871],\"mapped\",[31631]],[[12872,12879],\"valid\",[],\"NV8\"],[[12880,12880],\"mapped\",[112,116,101]],[[12881,12881],\"mapped\",[50,49]],[[12882,12882],\"mapped\",[50,50]],[[12883,12883],\"mapped\",[50,51]],[[12884,12884],\"mapped\",[50,52]],[[12885,12885],\"mapped\",[50,53]],[[12886,12886],\"mapped\",[50,54]],[[12887,12887],\"mapped\",[50,55]],[[12888,12888],\"mapped\",[50,56]],[[12889,12889],\"mapped\",[50,57]],[[12890,12890],\"mapped\",[51,48]],[[12891,12891],\"mapped\",[51,49]],[[12892,12892],\"mapped\",[51,50]],[[12893,12893],\"mapped\",[51,51]],[[12894,12894],\"mapped\",[51,52]],[[12895,12895],\"mapped\",[51,53]],[[12896,12896],\"mapped\",[4352]],[[12897,12897],\"mapped\",[4354]],[[12898,12898],\"mapped\",[4355]],[[12899,12899],\"mapped\",[4357]],[[12900,12900],\"mapped\",[4358]],[[12901,12901],\"mapped\",[4359]],[[12902,12902],\"mapped\",[4361]],[[12903,12903],\"mapped\",[4363]],[[12904,12904],\"mapped\",[4364]],[[12905,12905],\"mapped\",[4366]],[[12906,12906],\"mapped\",[4367]],[[12907,12907],\"mapped\",[4368]],[[12908,12908],\"mapped\",[4369]],[[12909,12909],\"mapped\",[4370]],[[12910,12910],\"mapped\",[44032]],[[12911,12911],\"mapped\",[45208]],[[12912,12912],\"mapped\",[45796]],[[12913,12913],\"mapped\",[46972]],[[12914,12914],\"mapped\",[47560]],[[12915,12915],\"mapped\",[48148]],[[12916,12916],\"mapped\",[49324]],[[12917,12917],\"mapped\",[50500]],[[12918,12918],\"mapped\",[51088]],[[12919,12919],\"mapped\",[52264]],[[12920,12920],\"mapped\",[52852]],[[12921,12921],\"mapped\",[53440]],[[12922,12922],\"mapped\",[54028]],[[12923,12923],\"mapped\",[54616]],[[12924,12924],\"mapped\",[52280,44256]],[[12925,12925],\"mapped\",[51452,51032]],[[12926,12926],\"mapped\",[50864]],[[12927,12927],\"valid\",[],\"NV8\"],[[12928,12928],\"mapped\",[19968]],[[12929,12929],\"mapped\",[20108]],[[12930,12930],\"mapped\",[19977]],[[12931,12931],\"mapped\",[22235]],[[12932,12932],\"mapped\",[20116]],[[12933,12933],\"mapped\",[20845]],[[12934,12934],\"mapped\",[19971]],[[12935,12935],\"mapped\",[20843]],[[12936,12936],\"mapped\",[20061]],[[12937,12937],\"mapped\",[21313]],[[12938,12938],\"mapped\",[26376]],[[12939,12939],\"mapped\",[28779]],[[12940,12940],\"mapped\",[27700]],[[12941,12941],\"mapped\",[26408]],[[12942,12942],\"mapped\",[37329]],[[12943,12943],\"mapped\",[22303]],[[12944,12944],\"mapped\",[26085]],[[12945,12945],\"mapped\",[26666]],[[12946,12946],\"mapped\",[26377]],[[12947,12947],\"mapped\",[31038]],[[12948,12948],\"mapped\",[21517]],[[12949,12949],\"mapped\",[29305]],[[12950,12950],\"mapped\",[36001]],[[12951,12951],\"mapped\",[31069]],[[12952,12952],\"mapped\",[21172]],[[12953,12953],\"mapped\",[31192]],[[12954,12954],\"mapped\",[30007]],[[12955,12955],\"mapped\",[22899]],[[12956,12956],\"mapped\",[36969]],[[12957,12957],\"mapped\",[20778]],[[12958,12958],\"mapped\",[21360]],[[12959,12959],\"mapped\",[27880]],[[12960,12960],\"mapped\",[38917]],[[12961,12961],\"mapped\",[20241]],[[12962,12962],\"mapped\",[20889]],[[12963,12963],\"mapped\",[27491]],[[12964,12964],\"mapped\",[19978]],[[12965,12965],\"mapped\",[20013]],[[12966,12966],\"mapped\",[19979]],[[12967,12967],\"mapped\",[24038]],[[12968,12968],\"mapped\",[21491]],[[12969,12969],\"mapped\",[21307]],[[12970,12970],\"mapped\",[23447]],[[12971,12971],\"mapped\",[23398]],[[12972,12972],\"mapped\",[30435]],[[12973,12973],\"mapped\",[20225]],[[12974,12974],\"mapped\",[36039]],[[12975,12975],\"mapped\",[21332]],[[12976,12976],\"mapped\",[22812]],[[12977,12977],\"mapped\",[51,54]],[[12978,12978],\"mapped\",[51,55]],[[12979,12979],\"mapped\",[51,56]],[[12980,12980],\"mapped\",[51,57]],[[12981,12981],\"mapped\",[52,48]],[[12982,12982],\"mapped\",[52,49]],[[12983,12983],\"mapped\",[52,50]],[[12984,12984],\"mapped\",[52,51]],[[12985,12985],\"mapped\",[52,52]],[[12986,12986],\"mapped\",[52,53]],[[12987,12987],\"mapped\",[52,54]],[[12988,12988],\"mapped\",[52,55]],[[12989,12989],\"mapped\",[52,56]],[[12990,12990],\"mapped\",[52,57]],[[12991,12991],\"mapped\",[53,48]],[[12992,12992],\"mapped\",[49,26376]],[[12993,12993],\"mapped\",[50,26376]],[[12994,12994],\"mapped\",[51,26376]],[[12995,12995],\"mapped\",[52,26376]],[[12996,12996],\"mapped\",[53,26376]],[[12997,12997],\"mapped\",[54,26376]],[[12998,12998],\"mapped\",[55,26376]],[[12999,12999],\"mapped\",[56,26376]],[[13000,13000],\"mapped\",[57,26376]],[[13001,13001],\"mapped\",[49,48,26376]],[[13002,13002],\"mapped\",[49,49,26376]],[[13003,13003],\"mapped\",[49,50,26376]],[[13004,13004],\"mapped\",[104,103]],[[13005,13005],\"mapped\",[101,114,103]],[[13006,13006],\"mapped\",[101,118]],[[13007,13007],\"mapped\",[108,116,100]],[[13008,13008],\"mapped\",[12450]],[[13009,13009],\"mapped\",[12452]],[[13010,13010],\"mapped\",[12454]],[[13011,13011],\"mapped\",[12456]],[[13012,13012],\"mapped\",[12458]],[[13013,13013],\"mapped\",[12459]],[[13014,13014],\"mapped\",[12461]],[[13015,13015],\"mapped\",[12463]],[[13016,13016],\"mapped\",[12465]],[[13017,13017],\"mapped\",[12467]],[[13018,13018],\"mapped\",[12469]],[[13019,13019],\"mapped\",[12471]],[[13020,13020],\"mapped\",[12473]],[[13021,13021],\"mapped\",[12475]],[[13022,13022],\"mapped\",[12477]],[[13023,13023],\"mapped\",[12479]],[[13024,13024],\"mapped\",[12481]],[[13025,13025],\"mapped\",[12484]],[[13026,13026],\"mapped\",[12486]],[[13027,13027],\"mapped\",[12488]],[[13028,13028],\"mapped\",[12490]],[[13029,13029],\"mapped\",[12491]],[[13030,13030],\"mapped\",[12492]],[[13031,13031],\"mapped\",[12493]],[[13032,13032],\"mapped\",[12494]],[[13033,13033],\"mapped\",[12495]],[[13034,13034],\"mapped\",[12498]],[[13035,13035],\"mapped\",[12501]],[[13036,13036],\"mapped\",[12504]],[[13037,13037],\"mapped\",[12507]],[[13038,13038],\"mapped\",[12510]],[[13039,13039],\"mapped\",[12511]],[[13040,13040],\"mapped\",[12512]],[[13041,13041],\"mapped\",[12513]],[[13042,13042],\"mapped\",[12514]],[[13043,13043],\"mapped\",[12516]],[[13044,13044],\"mapped\",[12518]],[[13045,13045],\"mapped\",[12520]],[[13046,13046],\"mapped\",[12521]],[[13047,13047],\"mapped\",[12522]],[[13048,13048],\"mapped\",[12523]],[[13049,13049],\"mapped\",[12524]],[[13050,13050],\"mapped\",[12525]],[[13051,13051],\"mapped\",[12527]],[[13052,13052],\"mapped\",[12528]],[[13053,13053],\"mapped\",[12529]],[[13054,13054],\"mapped\",[12530]],[[13055,13055],\"disallowed\"],[[13056,13056],\"mapped\",[12450,12497,12540,12488]],[[13057,13057],\"mapped\",[12450,12523,12501,12449]],[[13058,13058],\"mapped\",[12450,12531,12506,12450]],[[13059,13059],\"mapped\",[12450,12540,12523]],[[13060,13060],\"mapped\",[12452,12491,12531,12464]],[[13061,13061],\"mapped\",[12452,12531,12481]],[[13062,13062],\"mapped\",[12454,12457,12531]],[[13063,13063],\"mapped\",[12456,12473,12463,12540,12489]],[[13064,13064],\"mapped\",[12456,12540,12459,12540]],[[13065,13065],\"mapped\",[12458,12531,12473]],[[13066,13066],\"mapped\",[12458,12540,12512]],[[13067,13067],\"mapped\",[12459,12452,12522]],[[13068,13068],\"mapped\",[12459,12521,12483,12488]],[[13069,13069],\"mapped\",[12459,12525,12522,12540]],[[13070,13070],\"mapped\",[12460,12525,12531]],[[13071,13071],\"mapped\",[12460,12531,12510]],[[13072,13072],\"mapped\",[12462,12460]],[[13073,13073],\"mapped\",[12462,12491,12540]],[[13074,13074],\"mapped\",[12461,12517,12522,12540]],[[13075,13075],\"mapped\",[12462,12523,12480,12540]],[[13076,13076],\"mapped\",[12461,12525]],[[13077,13077],\"mapped\",[12461,12525,12464,12521,12512]],[[13078,13078],\"mapped\",[12461,12525,12513,12540,12488,12523]],[[13079,13079],\"mapped\",[12461,12525,12527,12483,12488]],[[13080,13080],\"mapped\",[12464,12521,12512]],[[13081,13081],\"mapped\",[12464,12521,12512,12488,12531]],[[13082,13082],\"mapped\",[12463,12523,12476,12452,12525]],[[13083,13083],\"mapped\",[12463,12525,12540,12493]],[[13084,13084],\"mapped\",[12465,12540,12473]],[[13085,13085],\"mapped\",[12467,12523,12490]],[[13086,13086],\"mapped\",[12467,12540,12509]],[[13087,13087],\"mapped\",[12469,12452,12463,12523]],[[13088,13088],\"mapped\",[12469,12531,12481,12540,12512]],[[13089,13089],\"mapped\",[12471,12522,12531,12464]],[[13090,13090],\"mapped\",[12475,12531,12481]],[[13091,13091],\"mapped\",[12475,12531,12488]],[[13092,13092],\"mapped\",[12480,12540,12473]],[[13093,13093],\"mapped\",[12487,12471]],[[13094,13094],\"mapped\",[12489,12523]],[[13095,13095],\"mapped\",[12488,12531]],[[13096,13096],\"mapped\",[12490,12494]],[[13097,13097],\"mapped\",[12494,12483,12488]],[[13098,13098],\"mapped\",[12495,12452,12484]],[[13099,13099],\"mapped\",[12497,12540,12475,12531,12488]],[[13100,13100],\"mapped\",[12497,12540,12484]],[[13101,13101],\"mapped\",[12496,12540,12524,12523]],[[13102,13102],\"mapped\",[12500,12450,12473,12488,12523]],[[13103,13103],\"mapped\",[12500,12463,12523]],[[13104,13104],\"mapped\",[12500,12467]],[[13105,13105],\"mapped\",[12499,12523]],[[13106,13106],\"mapped\",[12501,12449,12521,12483,12489]],[[13107,13107],\"mapped\",[12501,12451,12540,12488]],[[13108,13108],\"mapped\",[12502,12483,12471,12455,12523]],[[13109,13109],\"mapped\",[12501,12521,12531]],[[13110,13110],\"mapped\",[12504,12463,12479,12540,12523]],[[13111,13111],\"mapped\",[12506,12477]],[[13112,13112],\"mapped\",[12506,12491,12498]],[[13113,13113],\"mapped\",[12504,12523,12484]],[[13114,13114],\"mapped\",[12506,12531,12473]],[[13115,13115],\"mapped\",[12506,12540,12472]],[[13116,13116],\"mapped\",[12505,12540,12479]],[[13117,13117],\"mapped\",[12509,12452,12531,12488]],[[13118,13118],\"mapped\",[12508,12523,12488]],[[13119,13119],\"mapped\",[12507,12531]],[[13120,13120],\"mapped\",[12509,12531,12489]],[[13121,13121],\"mapped\",[12507,12540,12523]],[[13122,13122],\"mapped\",[12507,12540,12531]],[[13123,13123],\"mapped\",[12510,12452,12463,12525]],[[13124,13124],\"mapped\",[12510,12452,12523]],[[13125,13125],\"mapped\",[12510,12483,12495]],[[13126,13126],\"mapped\",[12510,12523,12463]],[[13127,13127],\"mapped\",[12510,12531,12471,12519,12531]],[[13128,13128],\"mapped\",[12511,12463,12525,12531]],[[13129,13129],\"mapped\",[12511,12522]],[[13130,13130],\"mapped\",[12511,12522,12496,12540,12523]],[[13131,13131],\"mapped\",[12513,12460]],[[13132,13132],\"mapped\",[12513,12460,12488,12531]],[[13133,13133],\"mapped\",[12513,12540,12488,12523]],[[13134,13134],\"mapped\",[12516,12540,12489]],[[13135,13135],\"mapped\",[12516,12540,12523]],[[13136,13136],\"mapped\",[12518,12450,12531]],[[13137,13137],\"mapped\",[12522,12483,12488,12523]],[[13138,13138],\"mapped\",[12522,12521]],[[13139,13139],\"mapped\",[12523,12500,12540]],[[13140,13140],\"mapped\",[12523,12540,12502,12523]],[[13141,13141],\"mapped\",[12524,12512]],[[13142,13142],\"mapped\",[12524,12531,12488,12466,12531]],[[13143,13143],\"mapped\",[12527,12483,12488]],[[13144,13144],\"mapped\",[48,28857]],[[13145,13145],\"mapped\",[49,28857]],[[13146,13146],\"mapped\",[50,28857]],[[13147,13147],\"mapped\",[51,28857]],[[13148,13148],\"mapped\",[52,28857]],[[13149,13149],\"mapped\",[53,28857]],[[13150,13150],\"mapped\",[54,28857]],[[13151,13151],\"mapped\",[55,28857]],[[13152,13152],\"mapped\",[56,28857]],[[13153,13153],\"mapped\",[57,28857]],[[13154,13154],\"mapped\",[49,48,28857]],[[13155,13155],\"mapped\",[49,49,28857]],[[13156,13156],\"mapped\",[49,50,28857]],[[13157,13157],\"mapped\",[49,51,28857]],[[13158,13158],\"mapped\",[49,52,28857]],[[13159,13159],\"mapped\",[49,53,28857]],[[13160,13160],\"mapped\",[49,54,28857]],[[13161,13161],\"mapped\",[49,55,28857]],[[13162,13162],\"mapped\",[49,56,28857]],[[13163,13163],\"mapped\",[49,57,28857]],[[13164,13164],\"mapped\",[50,48,28857]],[[13165,13165],\"mapped\",[50,49,28857]],[[13166,13166],\"mapped\",[50,50,28857]],[[13167,13167],\"mapped\",[50,51,28857]],[[13168,13168],\"mapped\",[50,52,28857]],[[13169,13169],\"mapped\",[104,112,97]],[[13170,13170],\"mapped\",[100,97]],[[13171,13171],\"mapped\",[97,117]],[[13172,13172],\"mapped\",[98,97,114]],[[13173,13173],\"mapped\",[111,118]],[[13174,13174],\"mapped\",[112,99]],[[13175,13175],\"mapped\",[100,109]],[[13176,13176],\"mapped\",[100,109,50]],[[13177,13177],\"mapped\",[100,109,51]],[[13178,13178],\"mapped\",[105,117]],[[13179,13179],\"mapped\",[24179,25104]],[[13180,13180],\"mapped\",[26157,21644]],[[13181,13181],\"mapped\",[22823,27491]],[[13182,13182],\"mapped\",[26126,27835]],[[13183,13183],\"mapped\",[26666,24335,20250,31038]],[[13184,13184],\"mapped\",[112,97]],[[13185,13185],\"mapped\",[110,97]],[[13186,13186],\"mapped\",[956,97]],[[13187,13187],\"mapped\",[109,97]],[[13188,13188],\"mapped\",[107,97]],[[13189,13189],\"mapped\",[107,98]],[[13190,13190],\"mapped\",[109,98]],[[13191,13191],\"mapped\",[103,98]],[[13192,13192],\"mapped\",[99,97,108]],[[13193,13193],\"mapped\",[107,99,97,108]],[[13194,13194],\"mapped\",[112,102]],[[13195,13195],\"mapped\",[110,102]],[[13196,13196],\"mapped\",[956,102]],[[13197,13197],\"mapped\",[956,103]],[[13198,13198],\"mapped\",[109,103]],[[13199,13199],\"mapped\",[107,103]],[[13200,13200],\"mapped\",[104,122]],[[13201,13201],\"mapped\",[107,104,122]],[[13202,13202],\"mapped\",[109,104,122]],[[13203,13203],\"mapped\",[103,104,122]],[[13204,13204],\"mapped\",[116,104,122]],[[13205,13205],\"mapped\",[956,108]],[[13206,13206],\"mapped\",[109,108]],[[13207,13207],\"mapped\",[100,108]],[[13208,13208],\"mapped\",[107,108]],[[13209,13209],\"mapped\",[102,109]],[[13210,13210],\"mapped\",[110,109]],[[13211,13211],\"mapped\",[956,109]],[[13212,13212],\"mapped\",[109,109]],[[13213,13213],\"mapped\",[99,109]],[[13214,13214],\"mapped\",[107,109]],[[13215,13215],\"mapped\",[109,109,50]],[[13216,13216],\"mapped\",[99,109,50]],[[13217,13217],\"mapped\",[109,50]],[[13218,13218],\"mapped\",[107,109,50]],[[13219,13219],\"mapped\",[109,109,51]],[[13220,13220],\"mapped\",[99,109,51]],[[13221,13221],\"mapped\",[109,51]],[[13222,13222],\"mapped\",[107,109,51]],[[13223,13223],\"mapped\",[109,8725,115]],[[13224,13224],\"mapped\",[109,8725,115,50]],[[13225,13225],\"mapped\",[112,97]],[[13226,13226],\"mapped\",[107,112,97]],[[13227,13227],\"mapped\",[109,112,97]],[[13228,13228],\"mapped\",[103,112,97]],[[13229,13229],\"mapped\",[114,97,100]],[[13230,13230],\"mapped\",[114,97,100,8725,115]],[[13231,13231],\"mapped\",[114,97,100,8725,115,50]],[[13232,13232],\"mapped\",[112,115]],[[13233,13233],\"mapped\",[110,115]],[[13234,13234],\"mapped\",[956,115]],[[13235,13235],\"mapped\",[109,115]],[[13236,13236],\"mapped\",[112,118]],[[13237,13237],\"mapped\",[110,118]],[[13238,13238],\"mapped\",[956,118]],[[13239,13239],\"mapped\",[109,118]],[[13240,13240],\"mapped\",[107,118]],[[13241,13241],\"mapped\",[109,118]],[[13242,13242],\"mapped\",[112,119]],[[13243,13243],\"mapped\",[110,119]],[[13244,13244],\"mapped\",[956,119]],[[13245,13245],\"mapped\",[109,119]],[[13246,13246],\"mapped\",[107,119]],[[13247,13247],\"mapped\",[109,119]],[[13248,13248],\"mapped\",[107,969]],[[13249,13249],\"mapped\",[109,969]],[[13250,13250],\"disallowed\"],[[13251,13251],\"mapped\",[98,113]],[[13252,13252],\"mapped\",[99,99]],[[13253,13253],\"mapped\",[99,100]],[[13254,13254],\"mapped\",[99,8725,107,103]],[[13255,13255],\"disallowed\"],[[13256,13256],\"mapped\",[100,98]],[[13257,13257],\"mapped\",[103,121]],[[13258,13258],\"mapped\",[104,97]],[[13259,13259],\"mapped\",[104,112]],[[13260,13260],\"mapped\",[105,110]],[[13261,13261],\"mapped\",[107,107]],[[13262,13262],\"mapped\",[107,109]],[[13263,13263],\"mapped\",[107,116]],[[13264,13264],\"mapped\",[108,109]],[[13265,13265],\"mapped\",[108,110]],[[13266,13266],\"mapped\",[108,111,103]],[[13267,13267],\"mapped\",[108,120]],[[13268,13268],\"mapped\",[109,98]],[[13269,13269],\"mapped\",[109,105,108]],[[13270,13270],\"mapped\",[109,111,108]],[[13271,13271],\"mapped\",[112,104]],[[13272,13272],\"disallowed\"],[[13273,13273],\"mapped\",[112,112,109]],[[13274,13274],\"mapped\",[112,114]],[[13275,13275],\"mapped\",[115,114]],[[13276,13276],\"mapped\",[115,118]],[[13277,13277],\"mapped\",[119,98]],[[13278,13278],\"mapped\",[118,8725,109]],[[13279,13279],\"mapped\",[97,8725,109]],[[13280,13280],\"mapped\",[49,26085]],[[13281,13281],\"mapped\",[50,26085]],[[13282,13282],\"mapped\",[51,26085]],[[13283,13283],\"mapped\",[52,26085]],[[13284,13284],\"mapped\",[53,26085]],[[13285,13285],\"mapped\",[54,26085]],[[13286,13286],\"mapped\",[55,26085]],[[13287,13287],\"mapped\",[56,26085]],[[13288,13288],\"mapped\",[57,26085]],[[13289,13289],\"mapped\",[49,48,26085]],[[13290,13290],\"mapped\",[49,49,26085]],[[13291,13291],\"mapped\",[49,50,26085]],[[13292,13292],\"mapped\",[49,51,26085]],[[13293,13293],\"mapped\",[49,52,26085]],[[13294,13294],\"mapped\",[49,53,26085]],[[13295,13295],\"mapped\",[49,54,26085]],[[13296,13296],\"mapped\",[49,55,26085]],[[13297,13297],\"mapped\",[49,56,26085]],[[13298,13298],\"mapped\",[49,57,26085]],[[13299,13299],\"mapped\",[50,48,26085]],[[13300,13300],\"mapped\",[50,49,26085]],[[13301,13301],\"mapped\",[50,50,26085]],[[13302,13302],\"mapped\",[50,51,26085]],[[13303,13303],\"mapped\",[50,52,26085]],[[13304,13304],\"mapped\",[50,53,26085]],[[13305,13305],\"mapped\",[50,54,26085]],[[13306,13306],\"mapped\",[50,55,26085]],[[13307,13307],\"mapped\",[50,56,26085]],[[13308,13308],\"mapped\",[50,57,26085]],[[13309,13309],\"mapped\",[51,48,26085]],[[13310,13310],\"mapped\",[51,49,26085]],[[13311,13311],\"mapped\",[103,97,108]],[[13312,19893],\"valid\"],[[19894,19903],\"disallowed\"],[[19904,19967],\"valid\",[],\"NV8\"],[[19968,40869],\"valid\"],[[40870,40891],\"valid\"],[[40892,40899],\"valid\"],[[40900,40907],\"valid\"],[[40908,40908],\"valid\"],[[40909,40917],\"valid\"],[[40918,40959],\"disallowed\"],[[40960,42124],\"valid\"],[[42125,42127],\"disallowed\"],[[42128,42145],\"valid\",[],\"NV8\"],[[42146,42147],\"valid\",[],\"NV8\"],[[42148,42163],\"valid\",[],\"NV8\"],[[42164,42164],\"valid\",[],\"NV8\"],[[42165,42176],\"valid\",[],\"NV8\"],[[42177,42177],\"valid\",[],\"NV8\"],[[42178,42180],\"valid\",[],\"NV8\"],[[42181,42181],\"valid\",[],\"NV8\"],[[42182,42182],\"valid\",[],\"NV8\"],[[42183,42191],\"disallowed\"],[[42192,42237],\"valid\"],[[42238,42239],\"valid\",[],\"NV8\"],[[42240,42508],\"valid\"],[[42509,42511],\"valid\",[],\"NV8\"],[[42512,42539],\"valid\"],[[42540,42559],\"disallowed\"],[[42560,42560],\"mapped\",[42561]],[[42561,42561],\"valid\"],[[42562,42562],\"mapped\",[42563]],[[42563,42563],\"valid\"],[[42564,42564],\"mapped\",[42565]],[[42565,42565],\"valid\"],[[42566,42566],\"mapped\",[42567]],[[42567,42567],\"valid\"],[[42568,42568],\"mapped\",[42569]],[[42569,42569],\"valid\"],[[42570,42570],\"mapped\",[42571]],[[42571,42571],\"valid\"],[[42572,42572],\"mapped\",[42573]],[[42573,42573],\"valid\"],[[42574,42574],\"mapped\",[42575]],[[42575,42575],\"valid\"],[[42576,42576],\"mapped\",[42577]],[[42577,42577],\"valid\"],[[42578,42578],\"mapped\",[42579]],[[42579,42579],\"valid\"],[[42580,42580],\"mapped\",[42581]],[[42581,42581],\"valid\"],[[42582,42582],\"mapped\",[42583]],[[42583,42583],\"valid\"],[[42584,42584],\"mapped\",[42585]],[[42585,42585],\"valid\"],[[42586,42586],\"mapped\",[42587]],[[42587,42587],\"valid\"],[[42588,42588],\"mapped\",[42589]],[[42589,42589],\"valid\"],[[42590,42590],\"mapped\",[42591]],[[42591,42591],\"valid\"],[[42592,42592],\"mapped\",[42593]],[[42593,42593],\"valid\"],[[42594,42594],\"mapped\",[42595]],[[42595,42595],\"valid\"],[[42596,42596],\"mapped\",[42597]],[[42597,42597],\"valid\"],[[42598,42598],\"mapped\",[42599]],[[42599,42599],\"valid\"],[[42600,42600],\"mapped\",[42601]],[[42601,42601],\"valid\"],[[42602,42602],\"mapped\",[42603]],[[42603,42603],\"valid\"],[[42604,42604],\"mapped\",[42605]],[[42605,42607],\"valid\"],[[42608,42611],\"valid\",[],\"NV8\"],[[42612,42619],\"valid\"],[[42620,42621],\"valid\"],[[42622,42622],\"valid\",[],\"NV8\"],[[42623,42623],\"valid\"],[[42624,42624],\"mapped\",[42625]],[[42625,42625],\"valid\"],[[42626,42626],\"mapped\",[42627]],[[42627,42627],\"valid\"],[[42628,42628],\"mapped\",[42629]],[[42629,42629],\"valid\"],[[42630,42630],\"mapped\",[42631]],[[42631,42631],\"valid\"],[[42632,42632],\"mapped\",[42633]],[[42633,42633],\"valid\"],[[42634,42634],\"mapped\",[42635]],[[42635,42635],\"valid\"],[[42636,42636],\"mapped\",[42637]],[[42637,42637],\"valid\"],[[42638,42638],\"mapped\",[42639]],[[42639,42639],\"valid\"],[[42640,42640],\"mapped\",[42641]],[[42641,42641],\"valid\"],[[42642,42642],\"mapped\",[42643]],[[42643,42643],\"valid\"],[[42644,42644],\"mapped\",[42645]],[[42645,42645],\"valid\"],[[42646,42646],\"mapped\",[42647]],[[42647,42647],\"valid\"],[[42648,42648],\"mapped\",[42649]],[[42649,42649],\"valid\"],[[42650,42650],\"mapped\",[42651]],[[42651,42651],\"valid\"],[[42652,42652],\"mapped\",[1098]],[[42653,42653],\"mapped\",[1100]],[[42654,42654],\"valid\"],[[42655,42655],\"valid\"],[[42656,42725],\"valid\"],[[42726,42735],\"valid\",[],\"NV8\"],[[42736,42737],\"valid\"],[[42738,42743],\"valid\",[],\"NV8\"],[[42744,42751],\"disallowed\"],[[42752,42774],\"valid\",[],\"NV8\"],[[42775,42778],\"valid\"],[[42779,42783],\"valid\"],[[42784,42785],\"valid\",[],\"NV8\"],[[42786,42786],\"mapped\",[42787]],[[42787,42787],\"valid\"],[[42788,42788],\"mapped\",[42789]],[[42789,42789],\"valid\"],[[42790,42790],\"mapped\",[42791]],[[42791,42791],\"valid\"],[[42792,42792],\"mapped\",[42793]],[[42793,42793],\"valid\"],[[42794,42794],\"mapped\",[42795]],[[42795,42795],\"valid\"],[[42796,42796],\"mapped\",[42797]],[[42797,42797],\"valid\"],[[42798,42798],\"mapped\",[42799]],[[42799,42801],\"valid\"],[[42802,42802],\"mapped\",[42803]],[[42803,42803],\"valid\"],[[42804,42804],\"mapped\",[42805]],[[42805,42805],\"valid\"],[[42806,42806],\"mapped\",[42807]],[[42807,42807],\"valid\"],[[42808,42808],\"mapped\",[42809]],[[42809,42809],\"valid\"],[[42810,42810],\"mapped\",[42811]],[[42811,42811],\"valid\"],[[42812,42812],\"mapped\",[42813]],[[42813,42813],\"valid\"],[[42814,42814],\"mapped\",[42815]],[[42815,42815],\"valid\"],[[42816,42816],\"mapped\",[42817]],[[42817,42817],\"valid\"],[[42818,42818],\"mapped\",[42819]],[[42819,42819],\"valid\"],[[42820,42820],\"mapped\",[42821]],[[42821,42821],\"valid\"],[[42822,42822],\"mapped\",[42823]],[[42823,42823],\"valid\"],[[42824,42824],\"mapped\",[42825]],[[42825,42825],\"valid\"],[[42826,42826],\"mapped\",[42827]],[[42827,42827],\"valid\"],[[42828,42828],\"mapped\",[42829]],[[42829,42829],\"valid\"],[[42830,42830],\"mapped\",[42831]],[[42831,42831],\"valid\"],[[42832,42832],\"mapped\",[42833]],[[42833,42833],\"valid\"],[[42834,42834],\"mapped\",[42835]],[[42835,42835],\"valid\"],[[42836,42836],\"mapped\",[42837]],[[42837,42837],\"valid\"],[[42838,42838],\"mapped\",[42839]],[[42839,42839],\"valid\"],[[42840,42840],\"mapped\",[42841]],[[42841,42841],\"valid\"],[[42842,42842],\"mapped\",[42843]],[[42843,42843],\"valid\"],[[42844,42844],\"mapped\",[42845]],[[42845,42845],\"valid\"],[[42846,42846],\"mapped\",[42847]],[[42847,42847],\"valid\"],[[42848,42848],\"mapped\",[42849]],[[42849,42849],\"valid\"],[[42850,42850],\"mapped\",[42851]],[[42851,42851],\"valid\"],[[42852,42852],\"mapped\",[42853]],[[42853,42853],\"valid\"],[[42854,42854],\"mapped\",[42855]],[[42855,42855],\"valid\"],[[42856,42856],\"mapped\",[42857]],[[42857,42857],\"valid\"],[[42858,42858],\"mapped\",[42859]],[[42859,42859],\"valid\"],[[42860,42860],\"mapped\",[42861]],[[42861,42861],\"valid\"],[[42862,42862],\"mapped\",[42863]],[[42863,42863],\"valid\"],[[42864,42864],\"mapped\",[42863]],[[42865,42872],\"valid\"],[[42873,42873],\"mapped\",[42874]],[[42874,42874],\"valid\"],[[42875,42875],\"mapped\",[42876]],[[42876,42876],\"valid\"],[[42877,42877],\"mapped\",[7545]],[[42878,42878],\"mapped\",[42879]],[[42879,42879],\"valid\"],[[42880,42880],\"mapped\",[42881]],[[42881,42881],\"valid\"],[[42882,42882],\"mapped\",[42883]],[[42883,42883],\"valid\"],[[42884,42884],\"mapped\",[42885]],[[42885,42885],\"valid\"],[[42886,42886],\"mapped\",[42887]],[[42887,42888],\"valid\"],[[42889,42890],\"valid\",[],\"NV8\"],[[42891,42891],\"mapped\",[42892]],[[42892,42892],\"valid\"],[[42893,42893],\"mapped\",[613]],[[42894,42894],\"valid\"],[[42895,42895],\"valid\"],[[42896,42896],\"mapped\",[42897]],[[42897,42897],\"valid\"],[[42898,42898],\"mapped\",[42899]],[[42899,42899],\"valid\"],[[42900,42901],\"valid\"],[[42902,42902],\"mapped\",[42903]],[[42903,42903],\"valid\"],[[42904,42904],\"mapped\",[42905]],[[42905,42905],\"valid\"],[[42906,42906],\"mapped\",[42907]],[[42907,42907],\"valid\"],[[42908,42908],\"mapped\",[42909]],[[42909,42909],\"valid\"],[[42910,42910],\"mapped\",[42911]],[[42911,42911],\"valid\"],[[42912,42912],\"mapped\",[42913]],[[42913,42913],\"valid\"],[[42914,42914],\"mapped\",[42915]],[[42915,42915],\"valid\"],[[42916,42916],\"mapped\",[42917]],[[42917,42917],\"valid\"],[[42918,42918],\"mapped\",[42919]],[[42919,42919],\"valid\"],[[42920,42920],\"mapped\",[42921]],[[42921,42921],\"valid\"],[[42922,42922],\"mapped\",[614]],[[42923,42923],\"mapped\",[604]],[[42924,42924],\"mapped\",[609]],[[42925,42925],\"mapped\",[620]],[[42926,42927],\"disallowed\"],[[42928,42928],\"mapped\",[670]],[[42929,42929],\"mapped\",[647]],[[42930,42930],\"mapped\",[669]],[[42931,42931],\"mapped\",[43859]],[[42932,42932],\"mapped\",[42933]],[[42933,42933],\"valid\"],[[42934,42934],\"mapped\",[42935]],[[42935,42935],\"valid\"],[[42936,42998],\"disallowed\"],[[42999,42999],\"valid\"],[[43000,43000],\"mapped\",[295]],[[43001,43001],\"mapped\",[339]],[[43002,43002],\"valid\"],[[43003,43007],\"valid\"],[[43008,43047],\"valid\"],[[43048,43051],\"valid\",[],\"NV8\"],[[43052,43055],\"disallowed\"],[[43056,43065],\"valid\",[],\"NV8\"],[[43066,43071],\"disallowed\"],[[43072,43123],\"valid\"],[[43124,43127],\"valid\",[],\"NV8\"],[[43128,43135],\"disallowed\"],[[43136,43204],\"valid\"],[[43205,43213],\"disallowed\"],[[43214,43215],\"valid\",[],\"NV8\"],[[43216,43225],\"valid\"],[[43226,43231],\"disallowed\"],[[43232,43255],\"valid\"],[[43256,43258],\"valid\",[],\"NV8\"],[[43259,43259],\"valid\"],[[43260,43260],\"valid\",[],\"NV8\"],[[43261,43261],\"valid\"],[[43262,43263],\"disallowed\"],[[43264,43309],\"valid\"],[[43310,43311],\"valid\",[],\"NV8\"],[[43312,43347],\"valid\"],[[43348,43358],\"disallowed\"],[[43359,43359],\"valid\",[],\"NV8\"],[[43360,43388],\"valid\",[],\"NV8\"],[[43389,43391],\"disallowed\"],[[43392,43456],\"valid\"],[[43457,43469],\"valid\",[],\"NV8\"],[[43470,43470],\"disallowed\"],[[43471,43481],\"valid\"],[[43482,43485],\"disallowed\"],[[43486,43487],\"valid\",[],\"NV8\"],[[43488,43518],\"valid\"],[[43519,43519],\"disallowed\"],[[43520,43574],\"valid\"],[[43575,43583],\"disallowed\"],[[43584,43597],\"valid\"],[[43598,43599],\"disallowed\"],[[43600,43609],\"valid\"],[[43610,43611],\"disallowed\"],[[43612,43615],\"valid\",[],\"NV8\"],[[43616,43638],\"valid\"],[[43639,43641],\"valid\",[],\"NV8\"],[[43642,43643],\"valid\"],[[43644,43647],\"valid\"],[[43648,43714],\"valid\"],[[43715,43738],\"disallowed\"],[[43739,43741],\"valid\"],[[43742,43743],\"valid\",[],\"NV8\"],[[43744,43759],\"valid\"],[[43760,43761],\"valid\",[],\"NV8\"],[[43762,43766],\"valid\"],[[43767,43776],\"disallowed\"],[[43777,43782],\"valid\"],[[43783,43784],\"disallowed\"],[[43785,43790],\"valid\"],[[43791,43792],\"disallowed\"],[[43793,43798],\"valid\"],[[43799,43807],\"disallowed\"],[[43808,43814],\"valid\"],[[43815,43815],\"disallowed\"],[[43816,43822],\"valid\"],[[43823,43823],\"disallowed\"],[[43824,43866],\"valid\"],[[43867,43867],\"valid\",[],\"NV8\"],[[43868,43868],\"mapped\",[42791]],[[43869,43869],\"mapped\",[43831]],[[43870,43870],\"mapped\",[619]],[[43871,43871],\"mapped\",[43858]],[[43872,43875],\"valid\"],[[43876,43877],\"valid\"],[[43878,43887],\"disallowed\"],[[43888,43888],\"mapped\",[5024]],[[43889,43889],\"mapped\",[5025]],[[43890,43890],\"mapped\",[5026]],[[43891,43891],\"mapped\",[5027]],[[43892,43892],\"mapped\",[5028]],[[43893,43893],\"mapped\",[5029]],[[43894,43894],\"mapped\",[5030]],[[43895,43895],\"mapped\",[5031]],[[43896,43896],\"mapped\",[5032]],[[43897,43897],\"mapped\",[5033]],[[43898,43898],\"mapped\",[5034]],[[43899,43899],\"mapped\",[5035]],[[43900,43900],\"mapped\",[5036]],[[43901,43901],\"mapped\",[5037]],[[43902,43902],\"mapped\",[5038]],[[43903,43903],\"mapped\",[5039]],[[43904,43904],\"mapped\",[5040]],[[43905,43905],\"mapped\",[5041]],[[43906,43906],\"mapped\",[5042]],[[43907,43907],\"mapped\",[5043]],[[43908,43908],\"mapped\",[5044]],[[43909,43909],\"mapped\",[5045]],[[43910,43910],\"mapped\",[5046]],[[43911,43911],\"mapped\",[5047]],[[43912,43912],\"mapped\",[5048]],[[43913,43913],\"mapped\",[5049]],[[43914,43914],\"mapped\",[5050]],[[43915,43915],\"mapped\",[5051]],[[43916,43916],\"mapped\",[5052]],[[43917,43917],\"mapped\",[5053]],[[43918,43918],\"mapped\",[5054]],[[43919,43919],\"mapped\",[5055]],[[43920,43920],\"mapped\",[5056]],[[43921,43921],\"mapped\",[5057]],[[43922,43922],\"mapped\",[5058]],[[43923,43923],\"mapped\",[5059]],[[43924,43924],\"mapped\",[5060]],[[43925,43925],\"mapped\",[5061]],[[43926,43926],\"mapped\",[5062]],[[43927,43927],\"mapped\",[5063]],[[43928,43928],\"mapped\",[5064]],[[43929,43929],\"mapped\",[5065]],[[43930,43930],\"mapped\",[5066]],[[43931,43931],\"mapped\",[5067]],[[43932,43932],\"mapped\",[5068]],[[43933,43933],\"mapped\",[5069]],[[43934,43934],\"mapped\",[5070]],[[43935,43935],\"mapped\",[5071]],[[43936,43936],\"mapped\",[5072]],[[43937,43937],\"mapped\",[5073]],[[43938,43938],\"mapped\",[5074]],[[43939,43939],\"mapped\",[5075]],[[43940,43940],\"mapped\",[5076]],[[43941,43941],\"mapped\",[5077]],[[43942,43942],\"mapped\",[5078]],[[43943,43943],\"mapped\",[5079]],[[43944,43944],\"mapped\",[5080]],[[43945,43945],\"mapped\",[5081]],[[43946,43946],\"mapped\",[5082]],[[43947,43947],\"mapped\",[5083]],[[43948,43948],\"mapped\",[5084]],[[43949,43949],\"mapped\",[5085]],[[43950,43950],\"mapped\",[5086]],[[43951,43951],\"mapped\",[5087]],[[43952,43952],\"mapped\",[5088]],[[43953,43953],\"mapped\",[5089]],[[43954,43954],\"mapped\",[5090]],[[43955,43955],\"mapped\",[5091]],[[43956,43956],\"mapped\",[5092]],[[43957,43957],\"mapped\",[5093]],[[43958,43958],\"mapped\",[5094]],[[43959,43959],\"mapped\",[5095]],[[43960,43960],\"mapped\",[5096]],[[43961,43961],\"mapped\",[5097]],[[43962,43962],\"mapped\",[5098]],[[43963,43963],\"mapped\",[5099]],[[43964,43964],\"mapped\",[5100]],[[43965,43965],\"mapped\",[5101]],[[43966,43966],\"mapped\",[5102]],[[43967,43967],\"mapped\",[5103]],[[43968,44010],\"valid\"],[[44011,44011],\"valid\",[],\"NV8\"],[[44012,44013],\"valid\"],[[44014,44015],\"disallowed\"],[[44016,44025],\"valid\"],[[44026,44031],\"disallowed\"],[[44032,55203],\"valid\"],[[55204,55215],\"disallowed\"],[[55216,55238],\"valid\",[],\"NV8\"],[[55239,55242],\"disallowed\"],[[55243,55291],\"valid\",[],\"NV8\"],[[55292,55295],\"disallowed\"],[[55296,57343],\"disallowed\"],[[57344,63743],\"disallowed\"],[[63744,63744],\"mapped\",[35912]],[[63745,63745],\"mapped\",[26356]],[[63746,63746],\"mapped\",[36554]],[[63747,63747],\"mapped\",[36040]],[[63748,63748],\"mapped\",[28369]],[[63749,63749],\"mapped\",[20018]],[[63750,63750],\"mapped\",[21477]],[[63751,63752],\"mapped\",[40860]],[[63753,63753],\"mapped\",[22865]],[[63754,63754],\"mapped\",[37329]],[[63755,63755],\"mapped\",[21895]],[[63756,63756],\"mapped\",[22856]],[[63757,63757],\"mapped\",[25078]],[[63758,63758],\"mapped\",[30313]],[[63759,63759],\"mapped\",[32645]],[[63760,63760],\"mapped\",[34367]],[[63761,63761],\"mapped\",[34746]],[[63762,63762],\"mapped\",[35064]],[[63763,63763],\"mapped\",[37007]],[[63764,63764],\"mapped\",[27138]],[[63765,63765],\"mapped\",[27931]],[[63766,63766],\"mapped\",[28889]],[[63767,63767],\"mapped\",[29662]],[[63768,63768],\"mapped\",[33853]],[[63769,63769],\"mapped\",[37226]],[[63770,63770],\"mapped\",[39409]],[[63771,63771],\"mapped\",[20098]],[[63772,63772],\"mapped\",[21365]],[[63773,63773],\"mapped\",[27396]],[[63774,63774],\"mapped\",[29211]],[[63775,63775],\"mapped\",[34349]],[[63776,63776],\"mapped\",[40478]],[[63777,63777],\"mapped\",[23888]],[[63778,63778],\"mapped\",[28651]],[[63779,63779],\"mapped\",[34253]],[[63780,63780],\"mapped\",[35172]],[[63781,63781],\"mapped\",[25289]],[[63782,63782],\"mapped\",[33240]],[[63783,63783],\"mapped\",[34847]],[[63784,63784],\"mapped\",[24266]],[[63785,63785],\"mapped\",[26391]],[[63786,63786],\"mapped\",[28010]],[[63787,63787],\"mapped\",[29436]],[[63788,63788],\"mapped\",[37070]],[[63789,63789],\"mapped\",[20358]],[[63790,63790],\"mapped\",[20919]],[[63791,63791],\"mapped\",[21214]],[[63792,63792],\"mapped\",[25796]],[[63793,63793],\"mapped\",[27347]],[[63794,63794],\"mapped\",[29200]],[[63795,63795],\"mapped\",[30439]],[[63796,63796],\"mapped\",[32769]],[[63797,63797],\"mapped\",[34310]],[[63798,63798],\"mapped\",[34396]],[[63799,63799],\"mapped\",[36335]],[[63800,63800],\"mapped\",[38706]],[[63801,63801],\"mapped\",[39791]],[[63802,63802],\"mapped\",[40442]],[[63803,63803],\"mapped\",[30860]],[[63804,63804],\"mapped\",[31103]],[[63805,63805],\"mapped\",[32160]],[[63806,63806],\"mapped\",[33737]],[[63807,63807],\"mapped\",[37636]],[[63808,63808],\"mapped\",[40575]],[[63809,63809],\"mapped\",[35542]],[[63810,63810],\"mapped\",[22751]],[[63811,63811],\"mapped\",[24324]],[[63812,63812],\"mapped\",[31840]],[[63813,63813],\"mapped\",[32894]],[[63814,63814],\"mapped\",[29282]],[[63815,63815],\"mapped\",[30922]],[[63816,63816],\"mapped\",[36034]],[[63817,63817],\"mapped\",[38647]],[[63818,63818],\"mapped\",[22744]],[[63819,63819],\"mapped\",[23650]],[[63820,63820],\"mapped\",[27155]],[[63821,63821],\"mapped\",[28122]],[[63822,63822],\"mapped\",[28431]],[[63823,63823],\"mapped\",[32047]],[[63824,63824],\"mapped\",[32311]],[[63825,63825],\"mapped\",[38475]],[[63826,63826],\"mapped\",[21202]],[[63827,63827],\"mapped\",[32907]],[[63828,63828],\"mapped\",[20956]],[[63829,63829],\"mapped\",[20940]],[[63830,63830],\"mapped\",[31260]],[[63831,63831],\"mapped\",[32190]],[[63832,63832],\"mapped\",[33777]],[[63833,63833],\"mapped\",[38517]],[[63834,63834],\"mapped\",[35712]],[[63835,63835],\"mapped\",[25295]],[[63836,63836],\"mapped\",[27138]],[[63837,63837],\"mapped\",[35582]],[[63838,63838],\"mapped\",[20025]],[[63839,63839],\"mapped\",[23527]],[[63840,63840],\"mapped\",[24594]],[[63841,63841],\"mapped\",[29575]],[[63842,63842],\"mapped\",[30064]],[[63843,63843],\"mapped\",[21271]],[[63844,63844],\"mapped\",[30971]],[[63845,63845],\"mapped\",[20415]],[[63846,63846],\"mapped\",[24489]],[[63847,63847],\"mapped\",[19981]],[[63848,63848],\"mapped\",[27852]],[[63849,63849],\"mapped\",[25976]],[[63850,63850],\"mapped\",[32034]],[[63851,63851],\"mapped\",[21443]],[[63852,63852],\"mapped\",[22622]],[[63853,63853],\"mapped\",[30465]],[[63854,63854],\"mapped\",[33865]],[[63855,63855],\"mapped\",[35498]],[[63856,63856],\"mapped\",[27578]],[[63857,63857],\"mapped\",[36784]],[[63858,63858],\"mapped\",[27784]],[[63859,63859],\"mapped\",[25342]],[[63860,63860],\"mapped\",[33509]],[[63861,63861],\"mapped\",[25504]],[[63862,63862],\"mapped\",[30053]],[[63863,63863],\"mapped\",[20142]],[[63864,63864],\"mapped\",[20841]],[[63865,63865],\"mapped\",[20937]],[[63866,63866],\"mapped\",[26753]],[[63867,63867],\"mapped\",[31975]],[[63868,63868],\"mapped\",[33391]],[[63869,63869],\"mapped\",[35538]],[[63870,63870],\"mapped\",[37327]],[[63871,63871],\"mapped\",[21237]],[[63872,63872],\"mapped\",[21570]],[[63873,63873],\"mapped\",[22899]],[[63874,63874],\"mapped\",[24300]],[[63875,63875],\"mapped\",[26053]],[[63876,63876],\"mapped\",[28670]],[[63877,63877],\"mapped\",[31018]],[[63878,63878],\"mapped\",[38317]],[[63879,63879],\"mapped\",[39530]],[[63880,63880],\"mapped\",[40599]],[[63881,63881],\"mapped\",[40654]],[[63882,63882],\"mapped\",[21147]],[[63883,63883],\"mapped\",[26310]],[[63884,63884],\"mapped\",[27511]],[[63885,63885],\"mapped\",[36706]],[[63886,63886],\"mapped\",[24180]],[[63887,63887],\"mapped\",[24976]],[[63888,63888],\"mapped\",[25088]],[[63889,63889],\"mapped\",[25754]],[[63890,63890],\"mapped\",[28451]],[[63891,63891],\"mapped\",[29001]],[[63892,63892],\"mapped\",[29833]],[[63893,63893],\"mapped\",[31178]],[[63894,63894],\"mapped\",[32244]],[[63895,63895],\"mapped\",[32879]],[[63896,63896],\"mapped\",[36646]],[[63897,63897],\"mapped\",[34030]],[[63898,63898],\"mapped\",[36899]],[[63899,63899],\"mapped\",[37706]],[[63900,63900],\"mapped\",[21015]],[[63901,63901],\"mapped\",[21155]],[[63902,63902],\"mapped\",[21693]],[[63903,63903],\"mapped\",[28872]],[[63904,63904],\"mapped\",[35010]],[[63905,63905],\"mapped\",[35498]],[[63906,63906],\"mapped\",[24265]],[[63907,63907],\"mapped\",[24565]],[[63908,63908],\"mapped\",[25467]],[[63909,63909],\"mapped\",[27566]],[[63910,63910],\"mapped\",[31806]],[[63911,63911],\"mapped\",[29557]],[[63912,63912],\"mapped\",[20196]],[[63913,63913],\"mapped\",[22265]],[[63914,63914],\"mapped\",[23527]],[[63915,63915],\"mapped\",[23994]],[[63916,63916],\"mapped\",[24604]],[[63917,63917],\"mapped\",[29618]],[[63918,63918],\"mapped\",[29801]],[[63919,63919],\"mapped\",[32666]],[[63920,63920],\"mapped\",[32838]],[[63921,63921],\"mapped\",[37428]],[[63922,63922],\"mapped\",[38646]],[[63923,63923],\"mapped\",[38728]],[[63924,63924],\"mapped\",[38936]],[[63925,63925],\"mapped\",[20363]],[[63926,63926],\"mapped\",[31150]],[[63927,63927],\"mapped\",[37300]],[[63928,63928],\"mapped\",[38584]],[[63929,63929],\"mapped\",[24801]],[[63930,63930],\"mapped\",[20102]],[[63931,63931],\"mapped\",[20698]],[[63932,63932],\"mapped\",[23534]],[[63933,63933],\"mapped\",[23615]],[[63934,63934],\"mapped\",[26009]],[[63935,63935],\"mapped\",[27138]],[[63936,63936],\"mapped\",[29134]],[[63937,63937],\"mapped\",[30274]],[[63938,63938],\"mapped\",[34044]],[[63939,63939],\"mapped\",[36988]],[[63940,63940],\"mapped\",[40845]],[[63941,63941],\"mapped\",[26248]],[[63942,63942],\"mapped\",[38446]],[[63943,63943],\"mapped\",[21129]],[[63944,63944],\"mapped\",[26491]],[[63945,63945],\"mapped\",[26611]],[[63946,63946],\"mapped\",[27969]],[[63947,63947],\"mapped\",[28316]],[[63948,63948],\"mapped\",[29705]],[[63949,63949],\"mapped\",[30041]],[[63950,63950],\"mapped\",[30827]],[[63951,63951],\"mapped\",[32016]],[[63952,63952],\"mapped\",[39006]],[[63953,63953],\"mapped\",[20845]],[[63954,63954],\"mapped\",[25134]],[[63955,63955],\"mapped\",[38520]],[[63956,63956],\"mapped\",[20523]],[[63957,63957],\"mapped\",[23833]],[[63958,63958],\"mapped\",[28138]],[[63959,63959],\"mapped\",[36650]],[[63960,63960],\"mapped\",[24459]],[[63961,63961],\"mapped\",[24900]],[[63962,63962],\"mapped\",[26647]],[[63963,63963],\"mapped\",[29575]],[[63964,63964],\"mapped\",[38534]],[[63965,63965],\"mapped\",[21033]],[[63966,63966],\"mapped\",[21519]],[[63967,63967],\"mapped\",[23653]],[[63968,63968],\"mapped\",[26131]],[[63969,63969],\"mapped\",[26446]],[[63970,63970],\"mapped\",[26792]],[[63971,63971],\"mapped\",[27877]],[[63972,63972],\"mapped\",[29702]],[[63973,63973],\"mapped\",[30178]],[[63974,63974],\"mapped\",[32633]],[[63975,63975],\"mapped\",[35023]],[[63976,63976],\"mapped\",[35041]],[[63977,63977],\"mapped\",[37324]],[[63978,63978],\"mapped\",[38626]],[[63979,63979],\"mapped\",[21311]],[[63980,63980],\"mapped\",[28346]],[[63981,63981],\"mapped\",[21533]],[[63982,63982],\"mapped\",[29136]],[[63983,63983],\"mapped\",[29848]],[[63984,63984],\"mapped\",[34298]],[[63985,63985],\"mapped\",[38563]],[[63986,63986],\"mapped\",[40023]],[[63987,63987],\"mapped\",[40607]],[[63988,63988],\"mapped\",[26519]],[[63989,63989],\"mapped\",[28107]],[[63990,63990],\"mapped\",[33256]],[[63991,63991],\"mapped\",[31435]],[[63992,63992],\"mapped\",[31520]],[[63993,63993],\"mapped\",[31890]],[[63994,63994],\"mapped\",[29376]],[[63995,63995],\"mapped\",[28825]],[[63996,63996],\"mapped\",[35672]],[[63997,63997],\"mapped\",[20160]],[[63998,63998],\"mapped\",[33590]],[[63999,63999],\"mapped\",[21050]],[[64000,64000],\"mapped\",[20999]],[[64001,64001],\"mapped\",[24230]],[[64002,64002],\"mapped\",[25299]],[[64003,64003],\"mapped\",[31958]],[[64004,64004],\"mapped\",[23429]],[[64005,64005],\"mapped\",[27934]],[[64006,64006],\"mapped\",[26292]],[[64007,64007],\"mapped\",[36667]],[[64008,64008],\"mapped\",[34892]],[[64009,64009],\"mapped\",[38477]],[[64010,64010],\"mapped\",[35211]],[[64011,64011],\"mapped\",[24275]],[[64012,64012],\"mapped\",[20800]],[[64013,64013],\"mapped\",[21952]],[[64014,64015],\"valid\"],[[64016,64016],\"mapped\",[22618]],[[64017,64017],\"valid\"],[[64018,64018],\"mapped\",[26228]],[[64019,64020],\"valid\"],[[64021,64021],\"mapped\",[20958]],[[64022,64022],\"mapped\",[29482]],[[64023,64023],\"mapped\",[30410]],[[64024,64024],\"mapped\",[31036]],[[64025,64025],\"mapped\",[31070]],[[64026,64026],\"mapped\",[31077]],[[64027,64027],\"mapped\",[31119]],[[64028,64028],\"mapped\",[38742]],[[64029,64029],\"mapped\",[31934]],[[64030,64030],\"mapped\",[32701]],[[64031,64031],\"valid\"],[[64032,64032],\"mapped\",[34322]],[[64033,64033],\"valid\"],[[64034,64034],\"mapped\",[35576]],[[64035,64036],\"valid\"],[[64037,64037],\"mapped\",[36920]],[[64038,64038],\"mapped\",[37117]],[[64039,64041],\"valid\"],[[64042,64042],\"mapped\",[39151]],[[64043,64043],\"mapped\",[39164]],[[64044,64044],\"mapped\",[39208]],[[64045,64045],\"mapped\",[40372]],[[64046,64046],\"mapped\",[37086]],[[64047,64047],\"mapped\",[38583]],[[64048,64048],\"mapped\",[20398]],[[64049,64049],\"mapped\",[20711]],[[64050,64050],\"mapped\",[20813]],[[64051,64051],\"mapped\",[21193]],[[64052,64052],\"mapped\",[21220]],[[64053,64053],\"mapped\",[21329]],[[64054,64054],\"mapped\",[21917]],[[64055,64055],\"mapped\",[22022]],[[64056,64056],\"mapped\",[22120]],[[64057,64057],\"mapped\",[22592]],[[64058,64058],\"mapped\",[22696]],[[64059,64059],\"mapped\",[23652]],[[64060,64060],\"mapped\",[23662]],[[64061,64061],\"mapped\",[24724]],[[64062,64062],\"mapped\",[24936]],[[64063,64063],\"mapped\",[24974]],[[64064,64064],\"mapped\",[25074]],[[64065,64065],\"mapped\",[25935]],[[64066,64066],\"mapped\",[26082]],[[64067,64067],\"mapped\",[26257]],[[64068,64068],\"mapped\",[26757]],[[64069,64069],\"mapped\",[28023]],[[64070,64070],\"mapped\",[28186]],[[64071,64071],\"mapped\",[28450]],[[64072,64072],\"mapped\",[29038]],[[64073,64073],\"mapped\",[29227]],[[64074,64074],\"mapped\",[29730]],[[64075,64075],\"mapped\",[30865]],[[64076,64076],\"mapped\",[31038]],[[64077,64077],\"mapped\",[31049]],[[64078,64078],\"mapped\",[31048]],[[64079,64079],\"mapped\",[31056]],[[64080,64080],\"mapped\",[31062]],[[64081,64081],\"mapped\",[31069]],[[64082,64082],\"mapped\",[31117]],[[64083,64083],\"mapped\",[31118]],[[64084,64084],\"mapped\",[31296]],[[64085,64085],\"mapped\",[31361]],[[64086,64086],\"mapped\",[31680]],[[64087,64087],\"mapped\",[32244]],[[64088,64088],\"mapped\",[32265]],[[64089,64089],\"mapped\",[32321]],[[64090,64090],\"mapped\",[32626]],[[64091,64091],\"mapped\",[32773]],[[64092,64092],\"mapped\",[33261]],[[64093,64094],\"mapped\",[33401]],[[64095,64095],\"mapped\",[33879]],[[64096,64096],\"mapped\",[35088]],[[64097,64097],\"mapped\",[35222]],[[64098,64098],\"mapped\",[35585]],[[64099,64099],\"mapped\",[35641]],[[64100,64100],\"mapped\",[36051]],[[64101,64101],\"mapped\",[36104]],[[64102,64102],\"mapped\",[36790]],[[64103,64103],\"mapped\",[36920]],[[64104,64104],\"mapped\",[38627]],[[64105,64105],\"mapped\",[38911]],[[64106,64106],\"mapped\",[38971]],[[64107,64107],\"mapped\",[24693]],[[64108,64108],\"mapped\",[148206]],[[64109,64109],\"mapped\",[33304]],[[64110,64111],\"disallowed\"],[[64112,64112],\"mapped\",[20006]],[[64113,64113],\"mapped\",[20917]],[[64114,64114],\"mapped\",[20840]],[[64115,64115],\"mapped\",[20352]],[[64116,64116],\"mapped\",[20805]],[[64117,64117],\"mapped\",[20864]],[[64118,64118],\"mapped\",[21191]],[[64119,64119],\"mapped\",[21242]],[[64120,64120],\"mapped\",[21917]],[[64121,64121],\"mapped\",[21845]],[[64122,64122],\"mapped\",[21913]],[[64123,64123],\"mapped\",[21986]],[[64124,64124],\"mapped\",[22618]],[[64125,64125],\"mapped\",[22707]],[[64126,64126],\"mapped\",[22852]],[[64127,64127],\"mapped\",[22868]],[[64128,64128],\"mapped\",[23138]],[[64129,64129],\"mapped\",[23336]],[[64130,64130],\"mapped\",[24274]],[[64131,64131],\"mapped\",[24281]],[[64132,64132],\"mapped\",[24425]],[[64133,64133],\"mapped\",[24493]],[[64134,64134],\"mapped\",[24792]],[[64135,64135],\"mapped\",[24910]],[[64136,64136],\"mapped\",[24840]],[[64137,64137],\"mapped\",[24974]],[[64138,64138],\"mapped\",[24928]],[[64139,64139],\"mapped\",[25074]],[[64140,64140],\"mapped\",[25140]],[[64141,64141],\"mapped\",[25540]],[[64142,64142],\"mapped\",[25628]],[[64143,64143],\"mapped\",[25682]],[[64144,64144],\"mapped\",[25942]],[[64145,64145],\"mapped\",[26228]],[[64146,64146],\"mapped\",[26391]],[[64147,64147],\"mapped\",[26395]],[[64148,64148],\"mapped\",[26454]],[[64149,64149],\"mapped\",[27513]],[[64150,64150],\"mapped\",[27578]],[[64151,64151],\"mapped\",[27969]],[[64152,64152],\"mapped\",[28379]],[[64153,64153],\"mapped\",[28363]],[[64154,64154],\"mapped\",[28450]],[[64155,64155],\"mapped\",[28702]],[[64156,64156],\"mapped\",[29038]],[[64157,64157],\"mapped\",[30631]],[[64158,64158],\"mapped\",[29237]],[[64159,64159],\"mapped\",[29359]],[[64160,64160],\"mapped\",[29482]],[[64161,64161],\"mapped\",[29809]],[[64162,64162],\"mapped\",[29958]],[[64163,64163],\"mapped\",[30011]],[[64164,64164],\"mapped\",[30237]],[[64165,64165],\"mapped\",[30239]],[[64166,64166],\"mapped\",[30410]],[[64167,64167],\"mapped\",[30427]],[[64168,64168],\"mapped\",[30452]],[[64169,64169],\"mapped\",[30538]],[[64170,64170],\"mapped\",[30528]],[[64171,64171],\"mapped\",[30924]],[[64172,64172],\"mapped\",[31409]],[[64173,64173],\"mapped\",[31680]],[[64174,64174],\"mapped\",[31867]],[[64175,64175],\"mapped\",[32091]],[[64176,64176],\"mapped\",[32244]],[[64177,64177],\"mapped\",[32574]],[[64178,64178],\"mapped\",[32773]],[[64179,64179],\"mapped\",[33618]],[[64180,64180],\"mapped\",[33775]],[[64181,64181],\"mapped\",[34681]],[[64182,64182],\"mapped\",[35137]],[[64183,64183],\"mapped\",[35206]],[[64184,64184],\"mapped\",[35222]],[[64185,64185],\"mapped\",[35519]],[[64186,64186],\"mapped\",[35576]],[[64187,64187],\"mapped\",[35531]],[[64188,64188],\"mapped\",[35585]],[[64189,64189],\"mapped\",[35582]],[[64190,64190],\"mapped\",[35565]],[[64191,64191],\"mapped\",[35641]],[[64192,64192],\"mapped\",[35722]],[[64193,64193],\"mapped\",[36104]],[[64194,64194],\"mapped\",[36664]],[[64195,64195],\"mapped\",[36978]],[[64196,64196],\"mapped\",[37273]],[[64197,64197],\"mapped\",[37494]],[[64198,64198],\"mapped\",[38524]],[[64199,64199],\"mapped\",[38627]],[[64200,64200],\"mapped\",[38742]],[[64201,64201],\"mapped\",[38875]],[[64202,64202],\"mapped\",[38911]],[[64203,64203],\"mapped\",[38923]],[[64204,64204],\"mapped\",[38971]],[[64205,64205],\"mapped\",[39698]],[[64206,64206],\"mapped\",[40860]],[[64207,64207],\"mapped\",[141386]],[[64208,64208],\"mapped\",[141380]],[[64209,64209],\"mapped\",[144341]],[[64210,64210],\"mapped\",[15261]],[[64211,64211],\"mapped\",[16408]],[[64212,64212],\"mapped\",[16441]],[[64213,64213],\"mapped\",[152137]],[[64214,64214],\"mapped\",[154832]],[[64215,64215],\"mapped\",[163539]],[[64216,64216],\"mapped\",[40771]],[[64217,64217],\"mapped\",[40846]],[[64218,64255],\"disallowed\"],[[64256,64256],\"mapped\",[102,102]],[[64257,64257],\"mapped\",[102,105]],[[64258,64258],\"mapped\",[102,108]],[[64259,64259],\"mapped\",[102,102,105]],[[64260,64260],\"mapped\",[102,102,108]],[[64261,64262],\"mapped\",[115,116]],[[64263,64274],\"disallowed\"],[[64275,64275],\"mapped\",[1396,1398]],[[64276,64276],\"mapped\",[1396,1381]],[[64277,64277],\"mapped\",[1396,1387]],[[64278,64278],\"mapped\",[1406,1398]],[[64279,64279],\"mapped\",[1396,1389]],[[64280,64284],\"disallowed\"],[[64285,64285],\"mapped\",[1497,1460]],[[64286,64286],\"valid\"],[[64287,64287],\"mapped\",[1522,1463]],[[64288,64288],\"mapped\",[1506]],[[64289,64289],\"mapped\",[1488]],[[64290,64290],\"mapped\",[1491]],[[64291,64291],\"mapped\",[1492]],[[64292,64292],\"mapped\",[1499]],[[64293,64293],\"mapped\",[1500]],[[64294,64294],\"mapped\",[1501]],[[64295,64295],\"mapped\",[1512]],[[64296,64296],\"mapped\",[1514]],[[64297,64297],\"disallowed_STD3_mapped\",[43]],[[64298,64298],\"mapped\",[1513,1473]],[[64299,64299],\"mapped\",[1513,1474]],[[64300,64300],\"mapped\",[1513,1468,1473]],[[64301,64301],\"mapped\",[1513,1468,1474]],[[64302,64302],\"mapped\",[1488,1463]],[[64303,64303],\"mapped\",[1488,1464]],[[64304,64304],\"mapped\",[1488,1468]],[[64305,64305],\"mapped\",[1489,1468]],[[64306,64306],\"mapped\",[1490,1468]],[[64307,64307],\"mapped\",[1491,1468]],[[64308,64308],\"mapped\",[1492,1468]],[[64309,64309],\"mapped\",[1493,1468]],[[64310,64310],\"mapped\",[1494,1468]],[[64311,64311],\"disallowed\"],[[64312,64312],\"mapped\",[1496,1468]],[[64313,64313],\"mapped\",[1497,1468]],[[64314,64314],\"mapped\",[1498,1468]],[[64315,64315],\"mapped\",[1499,1468]],[[64316,64316],\"mapped\",[1500,1468]],[[64317,64317],\"disallowed\"],[[64318,64318],\"mapped\",[1502,1468]],[[64319,64319],\"disallowed\"],[[64320,64320],\"mapped\",[1504,1468]],[[64321,64321],\"mapped\",[1505,1468]],[[64322,64322],\"disallowed\"],[[64323,64323],\"mapped\",[1507,1468]],[[64324,64324],\"mapped\",[1508,1468]],[[64325,64325],\"disallowed\"],[[64326,64326],\"mapped\",[1510,1468]],[[64327,64327],\"mapped\",[1511,1468]],[[64328,64328],\"mapped\",[1512,1468]],[[64329,64329],\"mapped\",[1513,1468]],[[64330,64330],\"mapped\",[1514,1468]],[[64331,64331],\"mapped\",[1493,1465]],[[64332,64332],\"mapped\",[1489,1471]],[[64333,64333],\"mapped\",[1499,1471]],[[64334,64334],\"mapped\",[1508,1471]],[[64335,64335],\"mapped\",[1488,1500]],[[64336,64337],\"mapped\",[1649]],[[64338,64341],\"mapped\",[1659]],[[64342,64345],\"mapped\",[1662]],[[64346,64349],\"mapped\",[1664]],[[64350,64353],\"mapped\",[1658]],[[64354,64357],\"mapped\",[1663]],[[64358,64361],\"mapped\",[1657]],[[64362,64365],\"mapped\",[1700]],[[64366,64369],\"mapped\",[1702]],[[64370,64373],\"mapped\",[1668]],[[64374,64377],\"mapped\",[1667]],[[64378,64381],\"mapped\",[1670]],[[64382,64385],\"mapped\",[1671]],[[64386,64387],\"mapped\",[1677]],[[64388,64389],\"mapped\",[1676]],[[64390,64391],\"mapped\",[1678]],[[64392,64393],\"mapped\",[1672]],[[64394,64395],\"mapped\",[1688]],[[64396,64397],\"mapped\",[1681]],[[64398,64401],\"mapped\",[1705]],[[64402,64405],\"mapped\",[1711]],[[64406,64409],\"mapped\",[1715]],[[64410,64413],\"mapped\",[1713]],[[64414,64415],\"mapped\",[1722]],[[64416,64419],\"mapped\",[1723]],[[64420,64421],\"mapped\",[1728]],[[64422,64425],\"mapped\",[1729]],[[64426,64429],\"mapped\",[1726]],[[64430,64431],\"mapped\",[1746]],[[64432,64433],\"mapped\",[1747]],[[64434,64449],\"valid\",[],\"NV8\"],[[64450,64466],\"disallowed\"],[[64467,64470],\"mapped\",[1709]],[[64471,64472],\"mapped\",[1735]],[[64473,64474],\"mapped\",[1734]],[[64475,64476],\"mapped\",[1736]],[[64477,64477],\"mapped\",[1735,1652]],[[64478,64479],\"mapped\",[1739]],[[64480,64481],\"mapped\",[1733]],[[64482,64483],\"mapped\",[1737]],[[64484,64487],\"mapped\",[1744]],[[64488,64489],\"mapped\",[1609]],[[64490,64491],\"mapped\",[1574,1575]],[[64492,64493],\"mapped\",[1574,1749]],[[64494,64495],\"mapped\",[1574,1608]],[[64496,64497],\"mapped\",[1574,1735]],[[64498,64499],\"mapped\",[1574,1734]],[[64500,64501],\"mapped\",[1574,1736]],[[64502,64504],\"mapped\",[1574,1744]],[[64505,64507],\"mapped\",[1574,1609]],[[64508,64511],\"mapped\",[1740]],[[64512,64512],\"mapped\",[1574,1580]],[[64513,64513],\"mapped\",[1574,1581]],[[64514,64514],\"mapped\",[1574,1605]],[[64515,64515],\"mapped\",[1574,1609]],[[64516,64516],\"mapped\",[1574,1610]],[[64517,64517],\"mapped\",[1576,1580]],[[64518,64518],\"mapped\",[1576,1581]],[[64519,64519],\"mapped\",[1576,1582]],[[64520,64520],\"mapped\",[1576,1605]],[[64521,64521],\"mapped\",[1576,1609]],[[64522,64522],\"mapped\",[1576,1610]],[[64523,64523],\"mapped\",[1578,1580]],[[64524,64524],\"mapped\",[1578,1581]],[[64525,64525],\"mapped\",[1578,1582]],[[64526,64526],\"mapped\",[1578,1605]],[[64527,64527],\"mapped\",[1578,1609]],[[64528,64528],\"mapped\",[1578,1610]],[[64529,64529],\"mapped\",[1579,1580]],[[64530,64530],\"mapped\",[1579,1605]],[[64531,64531],\"mapped\",[1579,1609]],[[64532,64532],\"mapped\",[1579,1610]],[[64533,64533],\"mapped\",[1580,1581]],[[64534,64534],\"mapped\",[1580,1605]],[[64535,64535],\"mapped\",[1581,1580]],[[64536,64536],\"mapped\",[1581,1605]],[[64537,64537],\"mapped\",[1582,1580]],[[64538,64538],\"mapped\",[1582,1581]],[[64539,64539],\"mapped\",[1582,1605]],[[64540,64540],\"mapped\",[1587,1580]],[[64541,64541],\"mapped\",[1587,1581]],[[64542,64542],\"mapped\",[1587,1582]],[[64543,64543],\"mapped\",[1587,1605]],[[64544,64544],\"mapped\",[1589,1581]],[[64545,64545],\"mapped\",[1589,1605]],[[64546,64546],\"mapped\",[1590,1580]],[[64547,64547],\"mapped\",[1590,1581]],[[64548,64548],\"mapped\",[1590,1582]],[[64549,64549],\"mapped\",[1590,1605]],[[64550,64550],\"mapped\",[1591,1581]],[[64551,64551],\"mapped\",[1591,1605]],[[64552,64552],\"mapped\",[1592,1605]],[[64553,64553],\"mapped\",[1593,1580]],[[64554,64554],\"mapped\",[1593,1605]],[[64555,64555],\"mapped\",[1594,1580]],[[64556,64556],\"mapped\",[1594,1605]],[[64557,64557],\"mapped\",[1601,1580]],[[64558,64558],\"mapped\",[1601,1581]],[[64559,64559],\"mapped\",[1601,1582]],[[64560,64560],\"mapped\",[1601,1605]],[[64561,64561],\"mapped\",[1601,1609]],[[64562,64562],\"mapped\",[1601,1610]],[[64563,64563],\"mapped\",[1602,1581]],[[64564,64564],\"mapped\",[1602,1605]],[[64565,64565],\"mapped\",[1602,1609]],[[64566,64566],\"mapped\",[1602,1610]],[[64567,64567],\"mapped\",[1603,1575]],[[64568,64568],\"mapped\",[1603,1580]],[[64569,64569],\"mapped\",[1603,1581]],[[64570,64570],\"mapped\",[1603,1582]],[[64571,64571],\"mapped\",[1603,1604]],[[64572,64572],\"mapped\",[1603,1605]],[[64573,64573],\"mapped\",[1603,1609]],[[64574,64574],\"mapped\",[1603,1610]],[[64575,64575],\"mapped\",[1604,1580]],[[64576,64576],\"mapped\",[1604,1581]],[[64577,64577],\"mapped\",[1604,1582]],[[64578,64578],\"mapped\",[1604,1605]],[[64579,64579],\"mapped\",[1604,1609]],[[64580,64580],\"mapped\",[1604,1610]],[[64581,64581],\"mapped\",[1605,1580]],[[64582,64582],\"mapped\",[1605,1581]],[[64583,64583],\"mapped\",[1605,1582]],[[64584,64584],\"mapped\",[1605,1605]],[[64585,64585],\"mapped\",[1605,1609]],[[64586,64586],\"mapped\",[1605,1610]],[[64587,64587],\"mapped\",[1606,1580]],[[64588,64588],\"mapped\",[1606,1581]],[[64589,64589],\"mapped\",[1606,1582]],[[64590,64590],\"mapped\",[1606,1605]],[[64591,64591],\"mapped\",[1606,1609]],[[64592,64592],\"mapped\",[1606,1610]],[[64593,64593],\"mapped\",[1607,1580]],[[64594,64594],\"mapped\",[1607,1605]],[[64595,64595],\"mapped\",[1607,1609]],[[64596,64596],\"mapped\",[1607,1610]],[[64597,64597],\"mapped\",[1610,1580]],[[64598,64598],\"mapped\",[1610,1581]],[[64599,64599],\"mapped\",[1610,1582]],[[64600,64600],\"mapped\",[1610,1605]],[[64601,64601],\"mapped\",[1610,1609]],[[64602,64602],\"mapped\",[1610,1610]],[[64603,64603],\"mapped\",[1584,1648]],[[64604,64604],\"mapped\",[1585,1648]],[[64605,64605],\"mapped\",[1609,1648]],[[64606,64606],\"disallowed_STD3_mapped\",[32,1612,1617]],[[64607,64607],\"disallowed_STD3_mapped\",[32,1613,1617]],[[64608,64608],\"disallowed_STD3_mapped\",[32,1614,1617]],[[64609,64609],\"disallowed_STD3_mapped\",[32,1615,1617]],[[64610,64610],\"disallowed_STD3_mapped\",[32,1616,1617]],[[64611,64611],\"disallowed_STD3_mapped\",[32,1617,1648]],[[64612,64612],\"mapped\",[1574,1585]],[[64613,64613],\"mapped\",[1574,1586]],[[64614,64614],\"mapped\",[1574,1605]],[[64615,64615],\"mapped\",[1574,1606]],[[64616,64616],\"mapped\",[1574,1609]],[[64617,64617],\"mapped\",[1574,1610]],[[64618,64618],\"mapped\",[1576,1585]],[[64619,64619],\"mapped\",[1576,1586]],[[64620,64620],\"mapped\",[1576,1605]],[[64621,64621],\"mapped\",[1576,1606]],[[64622,64622],\"mapped\",[1576,1609]],[[64623,64623],\"mapped\",[1576,1610]],[[64624,64624],\"mapped\",[1578,1585]],[[64625,64625],\"mapped\",[1578,1586]],[[64626,64626],\"mapped\",[1578,1605]],[[64627,64627],\"mapped\",[1578,1606]],[[64628,64628],\"mapped\",[1578,1609]],[[64629,64629],\"mapped\",[1578,1610]],[[64630,64630],\"mapped\",[1579,1585]],[[64631,64631],\"mapped\",[1579,1586]],[[64632,64632],\"mapped\",[1579,1605]],[[64633,64633],\"mapped\",[1579,1606]],[[64634,64634],\"mapped\",[1579,1609]],[[64635,64635],\"mapped\",[1579,1610]],[[64636,64636],\"mapped\",[1601,1609]],[[64637,64637],\"mapped\",[1601,1610]],[[64638,64638],\"mapped\",[1602,1609]],[[64639,64639],\"mapped\",[1602,1610]],[[64640,64640],\"mapped\",[1603,1575]],[[64641,64641],\"mapped\",[1603,1604]],[[64642,64642],\"mapped\",[1603,1605]],[[64643,64643],\"mapped\",[1603,1609]],[[64644,64644],\"mapped\",[1603,1610]],[[64645,64645],\"mapped\",[1604,1605]],[[64646,64646],\"mapped\",[1604,1609]],[[64647,64647],\"mapped\",[1604,1610]],[[64648,64648],\"mapped\",[1605,1575]],[[64649,64649],\"mapped\",[1605,1605]],[[64650,64650],\"mapped\",[1606,1585]],[[64651,64651],\"mapped\",[1606,1586]],[[64652,64652],\"mapped\",[1606,1605]],[[64653,64653],\"mapped\",[1606,1606]],[[64654,64654],\"mapped\",[1606,1609]],[[64655,64655],\"mapped\",[1606,1610]],[[64656,64656],\"mapped\",[1609,1648]],[[64657,64657],\"mapped\",[1610,1585]],[[64658,64658],\"mapped\",[1610,1586]],[[64659,64659],\"mapped\",[1610,1605]],[[64660,64660],\"mapped\",[1610,1606]],[[64661,64661],\"mapped\",[1610,1609]],[[64662,64662],\"mapped\",[1610,1610]],[[64663,64663],\"mapped\",[1574,1580]],[[64664,64664],\"mapped\",[1574,1581]],[[64665,64665],\"mapped\",[1574,1582]],[[64666,64666],\"mapped\",[1574,1605]],[[64667,64667],\"mapped\",[1574,1607]],[[64668,64668],\"mapped\",[1576,1580]],[[64669,64669],\"mapped\",[1576,1581]],[[64670,64670],\"mapped\",[1576,1582]],[[64671,64671],\"mapped\",[1576,1605]],[[64672,64672],\"mapped\",[1576,1607]],[[64673,64673],\"mapped\",[1578,1580]],[[64674,64674],\"mapped\",[1578,1581]],[[64675,64675],\"mapped\",[1578,1582]],[[64676,64676],\"mapped\",[1578,1605]],[[64677,64677],\"mapped\",[1578,1607]],[[64678,64678],\"mapped\",[1579,1605]],[[64679,64679],\"mapped\",[1580,1581]],[[64680,64680],\"mapped\",[1580,1605]],[[64681,64681],\"mapped\",[1581,1580]],[[64682,64682],\"mapped\",[1581,1605]],[[64683,64683],\"mapped\",[1582,1580]],[[64684,64684],\"mapped\",[1582,1605]],[[64685,64685],\"mapped\",[1587,1580]],[[64686,64686],\"mapped\",[1587,1581]],[[64687,64687],\"mapped\",[1587,1582]],[[64688,64688],\"mapped\",[1587,1605]],[[64689,64689],\"mapped\",[1589,1581]],[[64690,64690],\"mapped\",[1589,1582]],[[64691,64691],\"mapped\",[1589,1605]],[[64692,64692],\"mapped\",[1590,1580]],[[64693,64693],\"mapped\",[1590,1581]],[[64694,64694],\"mapped\",[1590,1582]],[[64695,64695],\"mapped\",[1590,1605]],[[64696,64696],\"mapped\",[1591,1581]],[[64697,64697],\"mapped\",[1592,1605]],[[64698,64698],\"mapped\",[1593,1580]],[[64699,64699],\"mapped\",[1593,1605]],[[64700,64700],\"mapped\",[1594,1580]],[[64701,64701],\"mapped\",[1594,1605]],[[64702,64702],\"mapped\",[1601,1580]],[[64703,64703],\"mapped\",[1601,1581]],[[64704,64704],\"mapped\",[1601,1582]],[[64705,64705],\"mapped\",[1601,1605]],[[64706,64706],\"mapped\",[1602,1581]],[[64707,64707],\"mapped\",[1602,1605]],[[64708,64708],\"mapped\",[1603,1580]],[[64709,64709],\"mapped\",[1603,1581]],[[64710,64710],\"mapped\",[1603,1582]],[[64711,64711],\"mapped\",[1603,1604]],[[64712,64712],\"mapped\",[1603,1605]],[[64713,64713],\"mapped\",[1604,1580]],[[64714,64714],\"mapped\",[1604,1581]],[[64715,64715],\"mapped\",[1604,1582]],[[64716,64716],\"mapped\",[1604,1605]],[[64717,64717],\"mapped\",[1604,1607]],[[64718,64718],\"mapped\",[1605,1580]],[[64719,64719],\"mapped\",[1605,1581]],[[64720,64720],\"mapped\",[1605,1582]],[[64721,64721],\"mapped\",[1605,1605]],[[64722,64722],\"mapped\",[1606,1580]],[[64723,64723],\"mapped\",[1606,1581]],[[64724,64724],\"mapped\",[1606,1582]],[[64725,64725],\"mapped\",[1606,1605]],[[64726,64726],\"mapped\",[1606,1607]],[[64727,64727],\"mapped\",[1607,1580]],[[64728,64728],\"mapped\",[1607,1605]],[[64729,64729],\"mapped\",[1607,1648]],[[64730,64730],\"mapped\",[1610,1580]],[[64731,64731],\"mapped\",[1610,1581]],[[64732,64732],\"mapped\",[1610,1582]],[[64733,64733],\"mapped\",[1610,1605]],[[64734,64734],\"mapped\",[1610,1607]],[[64735,64735],\"mapped\",[1574,1605]],[[64736,64736],\"mapped\",[1574,1607]],[[64737,64737],\"mapped\",[1576,1605]],[[64738,64738],\"mapped\",[1576,1607]],[[64739,64739],\"mapped\",[1578,1605]],[[64740,64740],\"mapped\",[1578,1607]],[[64741,64741],\"mapped\",[1579,1605]],[[64742,64742],\"mapped\",[1579,1607]],[[64743,64743],\"mapped\",[1587,1605]],[[64744,64744],\"mapped\",[1587,1607]],[[64745,64745],\"mapped\",[1588,1605]],[[64746,64746],\"mapped\",[1588,1607]],[[64747,64747],\"mapped\",[1603,1604]],[[64748,64748],\"mapped\",[1603,1605]],[[64749,64749],\"mapped\",[1604,1605]],[[64750,64750],\"mapped\",[1606,1605]],[[64751,64751],\"mapped\",[1606,1607]],[[64752,64752],\"mapped\",[1610,1605]],[[64753,64753],\"mapped\",[1610,1607]],[[64754,64754],\"mapped\",[1600,1614,1617]],[[64755,64755],\"mapped\",[1600,1615,1617]],[[64756,64756],\"mapped\",[1600,1616,1617]],[[64757,64757],\"mapped\",[1591,1609]],[[64758,64758],\"mapped\",[1591,1610]],[[64759,64759],\"mapped\",[1593,1609]],[[64760,64760],\"mapped\",[1593,1610]],[[64761,64761],\"mapped\",[1594,1609]],[[64762,64762],\"mapped\",[1594,1610]],[[64763,64763],\"mapped\",[1587,1609]],[[64764,64764],\"mapped\",[1587,1610]],[[64765,64765],\"mapped\",[1588,1609]],[[64766,64766],\"mapped\",[1588,1610]],[[64767,64767],\"mapped\",[1581,1609]],[[64768,64768],\"mapped\",[1581,1610]],[[64769,64769],\"mapped\",[1580,1609]],[[64770,64770],\"mapped\",[1580,1610]],[[64771,64771],\"mapped\",[1582,1609]],[[64772,64772],\"mapped\",[1582,1610]],[[64773,64773],\"mapped\",[1589,1609]],[[64774,64774],\"mapped\",[1589,1610]],[[64775,64775],\"mapped\",[1590,1609]],[[64776,64776],\"mapped\",[1590,1610]],[[64777,64777],\"mapped\",[1588,1580]],[[64778,64778],\"mapped\",[1588,1581]],[[64779,64779],\"mapped\",[1588,1582]],[[64780,64780],\"mapped\",[1588,1605]],[[64781,64781],\"mapped\",[1588,1585]],[[64782,64782],\"mapped\",[1587,1585]],[[64783,64783],\"mapped\",[1589,1585]],[[64784,64784],\"mapped\",[1590,1585]],[[64785,64785],\"mapped\",[1591,1609]],[[64786,64786],\"mapped\",[1591,1610]],[[64787,64787],\"mapped\",[1593,1609]],[[64788,64788],\"mapped\",[1593,1610]],[[64789,64789],\"mapped\",[1594,1609]],[[64790,64790],\"mapped\",[1594,1610]],[[64791,64791],\"mapped\",[1587,1609]],[[64792,64792],\"mapped\",[1587,1610]],[[64793,64793],\"mapped\",[1588,1609]],[[64794,64794],\"mapped\",[1588,1610]],[[64795,64795],\"mapped\",[1581,1609]],[[64796,64796],\"mapped\",[1581,1610]],[[64797,64797],\"mapped\",[1580,1609]],[[64798,64798],\"mapped\",[1580,1610]],[[64799,64799],\"mapped\",[1582,1609]],[[64800,64800],\"mapped\",[1582,1610]],[[64801,64801],\"mapped\",[1589,1609]],[[64802,64802],\"mapped\",[1589,1610]],[[64803,64803],\"mapped\",[1590,1609]],[[64804,64804],\"mapped\",[1590,1610]],[[64805,64805],\"mapped\",[1588,1580]],[[64806,64806],\"mapped\",[1588,1581]],[[64807,64807],\"mapped\",[1588,1582]],[[64808,64808],\"mapped\",[1588,1605]],[[64809,64809],\"mapped\",[1588,1585]],[[64810,64810],\"mapped\",[1587,1585]],[[64811,64811],\"mapped\",[1589,1585]],[[64812,64812],\"mapped\",[1590,1585]],[[64813,64813],\"mapped\",[1588,1580]],[[64814,64814],\"mapped\",[1588,1581]],[[64815,64815],\"mapped\",[1588,1582]],[[64816,64816],\"mapped\",[1588,1605]],[[64817,64817],\"mapped\",[1587,1607]],[[64818,64818],\"mapped\",[1588,1607]],[[64819,64819],\"mapped\",[1591,1605]],[[64820,64820],\"mapped\",[1587,1580]],[[64821,64821],\"mapped\",[1587,1581]],[[64822,64822],\"mapped\",[1587,1582]],[[64823,64823],\"mapped\",[1588,1580]],[[64824,64824],\"mapped\",[1588,1581]],[[64825,64825],\"mapped\",[1588,1582]],[[64826,64826],\"mapped\",[1591,1605]],[[64827,64827],\"mapped\",[1592,1605]],[[64828,64829],\"mapped\",[1575,1611]],[[64830,64831],\"valid\",[],\"NV8\"],[[64832,64847],\"disallowed\"],[[64848,64848],\"mapped\",[1578,1580,1605]],[[64849,64850],\"mapped\",[1578,1581,1580]],[[64851,64851],\"mapped\",[1578,1581,1605]],[[64852,64852],\"mapped\",[1578,1582,1605]],[[64853,64853],\"mapped\",[1578,1605,1580]],[[64854,64854],\"mapped\",[1578,1605,1581]],[[64855,64855],\"mapped\",[1578,1605,1582]],[[64856,64857],\"mapped\",[1580,1605,1581]],[[64858,64858],\"mapped\",[1581,1605,1610]],[[64859,64859],\"mapped\",[1581,1605,1609]],[[64860,64860],\"mapped\",[1587,1581,1580]],[[64861,64861],\"mapped\",[1587,1580,1581]],[[64862,64862],\"mapped\",[1587,1580,1609]],[[64863,64864],\"mapped\",[1587,1605,1581]],[[64865,64865],\"mapped\",[1587,1605,1580]],[[64866,64867],\"mapped\",[1587,1605,1605]],[[64868,64869],\"mapped\",[1589,1581,1581]],[[64870,64870],\"mapped\",[1589,1605,1605]],[[64871,64872],\"mapped\",[1588,1581,1605]],[[64873,64873],\"mapped\",[1588,1580,1610]],[[64874,64875],\"mapped\",[1588,1605,1582]],[[64876,64877],\"mapped\",[1588,1605,1605]],[[64878,64878],\"mapped\",[1590,1581,1609]],[[64879,64880],\"mapped\",[1590,1582,1605]],[[64881,64882],\"mapped\",[1591,1605,1581]],[[64883,64883],\"mapped\",[1591,1605,1605]],[[64884,64884],\"mapped\",[1591,1605,1610]],[[64885,64885],\"mapped\",[1593,1580,1605]],[[64886,64887],\"mapped\",[1593,1605,1605]],[[64888,64888],\"mapped\",[1593,1605,1609]],[[64889,64889],\"mapped\",[1594,1605,1605]],[[64890,64890],\"mapped\",[1594,1605,1610]],[[64891,64891],\"mapped\",[1594,1605,1609]],[[64892,64893],\"mapped\",[1601,1582,1605]],[[64894,64894],\"mapped\",[1602,1605,1581]],[[64895,64895],\"mapped\",[1602,1605,1605]],[[64896,64896],\"mapped\",[1604,1581,1605]],[[64897,64897],\"mapped\",[1604,1581,1610]],[[64898,64898],\"mapped\",[1604,1581,1609]],[[64899,64900],\"mapped\",[1604,1580,1580]],[[64901,64902],\"mapped\",[1604,1582,1605]],[[64903,64904],\"mapped\",[1604,1605,1581]],[[64905,64905],\"mapped\",[1605,1581,1580]],[[64906,64906],\"mapped\",[1605,1581,1605]],[[64907,64907],\"mapped\",[1605,1581,1610]],[[64908,64908],\"mapped\",[1605,1580,1581]],[[64909,64909],\"mapped\",[1605,1580,1605]],[[64910,64910],\"mapped\",[1605,1582,1580]],[[64911,64911],\"mapped\",[1605,1582,1605]],[[64912,64913],\"disallowed\"],[[64914,64914],\"mapped\",[1605,1580,1582]],[[64915,64915],\"mapped\",[1607,1605,1580]],[[64916,64916],\"mapped\",[1607,1605,1605]],[[64917,64917],\"mapped\",[1606,1581,1605]],[[64918,64918],\"mapped\",[1606,1581,1609]],[[64919,64920],\"mapped\",[1606,1580,1605]],[[64921,64921],\"mapped\",[1606,1580,1609]],[[64922,64922],\"mapped\",[1606,1605,1610]],[[64923,64923],\"mapped\",[1606,1605,1609]],[[64924,64925],\"mapped\",[1610,1605,1605]],[[64926,64926],\"mapped\",[1576,1582,1610]],[[64927,64927],\"mapped\",[1578,1580,1610]],[[64928,64928],\"mapped\",[1578,1580,1609]],[[64929,64929],\"mapped\",[1578,1582,1610]],[[64930,64930],\"mapped\",[1578,1582,1609]],[[64931,64931],\"mapped\",[1578,1605,1610]],[[64932,64932],\"mapped\",[1578,1605,1609]],[[64933,64933],\"mapped\",[1580,1605,1610]],[[64934,64934],\"mapped\",[1580,1581,1609]],[[64935,64935],\"mapped\",[1580,1605,1609]],[[64936,64936],\"mapped\",[1587,1582,1609]],[[64937,64937],\"mapped\",[1589,1581,1610]],[[64938,64938],\"mapped\",[1588,1581,1610]],[[64939,64939],\"mapped\",[1590,1581,1610]],[[64940,64940],\"mapped\",[1604,1580,1610]],[[64941,64941],\"mapped\",[1604,1605,1610]],[[64942,64942],\"mapped\",[1610,1581,1610]],[[64943,64943],\"mapped\",[1610,1580,1610]],[[64944,64944],\"mapped\",[1610,1605,1610]],[[64945,64945],\"mapped\",[1605,1605,1610]],[[64946,64946],\"mapped\",[1602,1605,1610]],[[64947,64947],\"mapped\",[1606,1581,1610]],[[64948,64948],\"mapped\",[1602,1605,1581]],[[64949,64949],\"mapped\",[1604,1581,1605]],[[64950,64950],\"mapped\",[1593,1605,1610]],[[64951,64951],\"mapped\",[1603,1605,1610]],[[64952,64952],\"mapped\",[1606,1580,1581]],[[64953,64953],\"mapped\",[1605,1582,1610]],[[64954,64954],\"mapped\",[1604,1580,1605]],[[64955,64955],\"mapped\",[1603,1605,1605]],[[64956,64956],\"mapped\",[1604,1580,1605]],[[64957,64957],\"mapped\",[1606,1580,1581]],[[64958,64958],\"mapped\",[1580,1581,1610]],[[64959,64959],\"mapped\",[1581,1580,1610]],[[64960,64960],\"mapped\",[1605,1580,1610]],[[64961,64961],\"mapped\",[1601,1605,1610]],[[64962,64962],\"mapped\",[1576,1581,1610]],[[64963,64963],\"mapped\",[1603,1605,1605]],[[64964,64964],\"mapped\",[1593,1580,1605]],[[64965,64965],\"mapped\",[1589,1605,1605]],[[64966,64966],\"mapped\",[1587,1582,1610]],[[64967,64967],\"mapped\",[1606,1580,1610]],[[64968,64975],\"disallowed\"],[[64976,65007],\"disallowed\"],[[65008,65008],\"mapped\",[1589,1604,1746]],[[65009,65009],\"mapped\",[1602,1604,1746]],[[65010,65010],\"mapped\",[1575,1604,1604,1607]],[[65011,65011],\"mapped\",[1575,1603,1576,1585]],[[65012,65012],\"mapped\",[1605,1581,1605,1583]],[[65013,65013],\"mapped\",[1589,1604,1593,1605]],[[65014,65014],\"mapped\",[1585,1587,1608,1604]],[[65015,65015],\"mapped\",[1593,1604,1610,1607]],[[65016,65016],\"mapped\",[1608,1587,1604,1605]],[[65017,65017],\"mapped\",[1589,1604,1609]],[[65018,65018],\"disallowed_STD3_mapped\",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],\"disallowed_STD3_mapped\",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],\"mapped\",[1585,1740,1575,1604]],[[65021,65021],\"valid\",[],\"NV8\"],[[65022,65023],\"disallowed\"],[[65024,65039],\"ignored\"],[[65040,65040],\"disallowed_STD3_mapped\",[44]],[[65041,65041],\"mapped\",[12289]],[[65042,65042],\"disallowed\"],[[65043,65043],\"disallowed_STD3_mapped\",[58]],[[65044,65044],\"disallowed_STD3_mapped\",[59]],[[65045,65045],\"disallowed_STD3_mapped\",[33]],[[65046,65046],\"disallowed_STD3_mapped\",[63]],[[65047,65047],\"mapped\",[12310]],[[65048,65048],\"mapped\",[12311]],[[65049,65049],\"disallowed\"],[[65050,65055],\"disallowed\"],[[65056,65059],\"valid\"],[[65060,65062],\"valid\"],[[65063,65069],\"valid\"],[[65070,65071],\"valid\"],[[65072,65072],\"disallowed\"],[[65073,65073],\"mapped\",[8212]],[[65074,65074],\"mapped\",[8211]],[[65075,65076],\"disallowed_STD3_mapped\",[95]],[[65077,65077],\"disallowed_STD3_mapped\",[40]],[[65078,65078],\"disallowed_STD3_mapped\",[41]],[[65079,65079],\"disallowed_STD3_mapped\",[123]],[[65080,65080],\"disallowed_STD3_mapped\",[125]],[[65081,65081],\"mapped\",[12308]],[[65082,65082],\"mapped\",[12309]],[[65083,65083],\"mapped\",[12304]],[[65084,65084],\"mapped\",[12305]],[[65085,65085],\"mapped\",[12298]],[[65086,65086],\"mapped\",[12299]],[[65087,65087],\"mapped\",[12296]],[[65088,65088],\"mapped\",[12297]],[[65089,65089],\"mapped\",[12300]],[[65090,65090],\"mapped\",[12301]],[[65091,65091],\"mapped\",[12302]],[[65092,65092],\"mapped\",[12303]],[[65093,65094],\"valid\",[],\"NV8\"],[[65095,65095],\"disallowed_STD3_mapped\",[91]],[[65096,65096],\"disallowed_STD3_mapped\",[93]],[[65097,65100],\"disallowed_STD3_mapped\",[32,773]],[[65101,65103],\"disallowed_STD3_mapped\",[95]],[[65104,65104],\"disallowed_STD3_mapped\",[44]],[[65105,65105],\"mapped\",[12289]],[[65106,65106],\"disallowed\"],[[65107,65107],\"disallowed\"],[[65108,65108],\"disallowed_STD3_mapped\",[59]],[[65109,65109],\"disallowed_STD3_mapped\",[58]],[[65110,65110],\"disallowed_STD3_mapped\",[63]],[[65111,65111],\"disallowed_STD3_mapped\",[33]],[[65112,65112],\"mapped\",[8212]],[[65113,65113],\"disallowed_STD3_mapped\",[40]],[[65114,65114],\"disallowed_STD3_mapped\",[41]],[[65115,65115],\"disallowed_STD3_mapped\",[123]],[[65116,65116],\"disallowed_STD3_mapped\",[125]],[[65117,65117],\"mapped\",[12308]],[[65118,65118],\"mapped\",[12309]],[[65119,65119],\"disallowed_STD3_mapped\",[35]],[[65120,65120],\"disallowed_STD3_mapped\",[38]],[[65121,65121],\"disallowed_STD3_mapped\",[42]],[[65122,65122],\"disallowed_STD3_mapped\",[43]],[[65123,65123],\"mapped\",[45]],[[65124,65124],\"disallowed_STD3_mapped\",[60]],[[65125,65125],\"disallowed_STD3_mapped\",[62]],[[65126,65126],\"disallowed_STD3_mapped\",[61]],[[65127,65127],\"disallowed\"],[[65128,65128],\"disallowed_STD3_mapped\",[92]],[[65129,65129],\"disallowed_STD3_mapped\",[36]],[[65130,65130],\"disallowed_STD3_mapped\",[37]],[[65131,65131],\"disallowed_STD3_mapped\",[64]],[[65132,65135],\"disallowed\"],[[65136,65136],\"disallowed_STD3_mapped\",[32,1611]],[[65137,65137],\"mapped\",[1600,1611]],[[65138,65138],\"disallowed_STD3_mapped\",[32,1612]],[[65139,65139],\"valid\"],[[65140,65140],\"disallowed_STD3_mapped\",[32,1613]],[[65141,65141],\"disallowed\"],[[65142,65142],\"disallowed_STD3_mapped\",[32,1614]],[[65143,65143],\"mapped\",[1600,1614]],[[65144,65144],\"disallowed_STD3_mapped\",[32,1615]],[[65145,65145],\"mapped\",[1600,1615]],[[65146,65146],\"disallowed_STD3_mapped\",[32,1616]],[[65147,65147],\"mapped\",[1600,1616]],[[65148,65148],\"disallowed_STD3_mapped\",[32,1617]],[[65149,65149],\"mapped\",[1600,1617]],[[65150,65150],\"disallowed_STD3_mapped\",[32,1618]],[[65151,65151],\"mapped\",[1600,1618]],[[65152,65152],\"mapped\",[1569]],[[65153,65154],\"mapped\",[1570]],[[65155,65156],\"mapped\",[1571]],[[65157,65158],\"mapped\",[1572]],[[65159,65160],\"mapped\",[1573]],[[65161,65164],\"mapped\",[1574]],[[65165,65166],\"mapped\",[1575]],[[65167,65170],\"mapped\",[1576]],[[65171,65172],\"mapped\",[1577]],[[65173,65176],\"mapped\",[1578]],[[65177,65180],\"mapped\",[1579]],[[65181,65184],\"mapped\",[1580]],[[65185,65188],\"mapped\",[1581]],[[65189,65192],\"mapped\",[1582]],[[65193,65194],\"mapped\",[1583]],[[65195,65196],\"mapped\",[1584]],[[65197,65198],\"mapped\",[1585]],[[65199,65200],\"mapped\",[1586]],[[65201,65204],\"mapped\",[1587]],[[65205,65208],\"mapped\",[1588]],[[65209,65212],\"mapped\",[1589]],[[65213,65216],\"mapped\",[1590]],[[65217,65220],\"mapped\",[1591]],[[65221,65224],\"mapped\",[1592]],[[65225,65228],\"mapped\",[1593]],[[65229,65232],\"mapped\",[1594]],[[65233,65236],\"mapped\",[1601]],[[65237,65240],\"mapped\",[1602]],[[65241,65244],\"mapped\",[1603]],[[65245,65248],\"mapped\",[1604]],[[65249,65252],\"mapped\",[1605]],[[65253,65256],\"mapped\",[1606]],[[65257,65260],\"mapped\",[1607]],[[65261,65262],\"mapped\",[1608]],[[65263,65264],\"mapped\",[1609]],[[65265,65268],\"mapped\",[1610]],[[65269,65270],\"mapped\",[1604,1570]],[[65271,65272],\"mapped\",[1604,1571]],[[65273,65274],\"mapped\",[1604,1573]],[[65275,65276],\"mapped\",[1604,1575]],[[65277,65278],\"disallowed\"],[[65279,65279],\"ignored\"],[[65280,65280],\"disallowed\"],[[65281,65281],\"disallowed_STD3_mapped\",[33]],[[65282,65282],\"disallowed_STD3_mapped\",[34]],[[65283,65283],\"disallowed_STD3_mapped\",[35]],[[65284,65284],\"disallowed_STD3_mapped\",[36]],[[65285,65285],\"disallowed_STD3_mapped\",[37]],[[65286,65286],\"disallowed_STD3_mapped\",[38]],[[65287,65287],\"disallowed_STD3_mapped\",[39]],[[65288,65288],\"disallowed_STD3_mapped\",[40]],[[65289,65289],\"disallowed_STD3_mapped\",[41]],[[65290,65290],\"disallowed_STD3_mapped\",[42]],[[65291,65291],\"disallowed_STD3_mapped\",[43]],[[65292,65292],\"disallowed_STD3_mapped\",[44]],[[65293,65293],\"mapped\",[45]],[[65294,65294],\"mapped\",[46]],[[65295,65295],\"disallowed_STD3_mapped\",[47]],[[65296,65296],\"mapped\",[48]],[[65297,65297],\"mapped\",[49]],[[65298,65298],\"mapped\",[50]],[[65299,65299],\"mapped\",[51]],[[65300,65300],\"mapped\",[52]],[[65301,65301],\"mapped\",[53]],[[65302,65302],\"mapped\",[54]],[[65303,65303],\"mapped\",[55]],[[65304,65304],\"mapped\",[56]],[[65305,65305],\"mapped\",[57]],[[65306,65306],\"disallowed_STD3_mapped\",[58]],[[65307,65307],\"disallowed_STD3_mapped\",[59]],[[65308,65308],\"disallowed_STD3_mapped\",[60]],[[65309,65309],\"disallowed_STD3_mapped\",[61]],[[65310,65310],\"disallowed_STD3_mapped\",[62]],[[65311,65311],\"disallowed_STD3_mapped\",[63]],[[65312,65312],\"disallowed_STD3_mapped\",[64]],[[65313,65313],\"mapped\",[97]],[[65314,65314],\"mapped\",[98]],[[65315,65315],\"mapped\",[99]],[[65316,65316],\"mapped\",[100]],[[65317,65317],\"mapped\",[101]],[[65318,65318],\"mapped\",[102]],[[65319,65319],\"mapped\",[103]],[[65320,65320],\"mapped\",[104]],[[65321,65321],\"mapped\",[105]],[[65322,65322],\"mapped\",[106]],[[65323,65323],\"mapped\",[107]],[[65324,65324],\"mapped\",[108]],[[65325,65325],\"mapped\",[109]],[[65326,65326],\"mapped\",[110]],[[65327,65327],\"mapped\",[111]],[[65328,65328],\"mapped\",[112]],[[65329,65329],\"mapped\",[113]],[[65330,65330],\"mapped\",[114]],[[65331,65331],\"mapped\",[115]],[[65332,65332],\"mapped\",[116]],[[65333,65333],\"mapped\",[117]],[[65334,65334],\"mapped\",[118]],[[65335,65335],\"mapped\",[119]],[[65336,65336],\"mapped\",[120]],[[65337,65337],\"mapped\",[121]],[[65338,65338],\"mapped\",[122]],[[65339,65339],\"disallowed_STD3_mapped\",[91]],[[65340,65340],\"disallowed_STD3_mapped\",[92]],[[65341,65341],\"disallowed_STD3_mapped\",[93]],[[65342,65342],\"disallowed_STD3_mapped\",[94]],[[65343,65343],\"disallowed_STD3_mapped\",[95]],[[65344,65344],\"disallowed_STD3_mapped\",[96]],[[65345,65345],\"mapped\",[97]],[[65346,65346],\"mapped\",[98]],[[65347,65347],\"mapped\",[99]],[[65348,65348],\"mapped\",[100]],[[65349,65349],\"mapped\",[101]],[[65350,65350],\"mapped\",[102]],[[65351,65351],\"mapped\",[103]],[[65352,65352],\"mapped\",[104]],[[65353,65353],\"mapped\",[105]],[[65354,65354],\"mapped\",[106]],[[65355,65355],\"mapped\",[107]],[[65356,65356],\"mapped\",[108]],[[65357,65357],\"mapped\",[109]],[[65358,65358],\"mapped\",[110]],[[65359,65359],\"mapped\",[111]],[[65360,65360],\"mapped\",[112]],[[65361,65361],\"mapped\",[113]],[[65362,65362],\"mapped\",[114]],[[65363,65363],\"mapped\",[115]],[[65364,65364],\"mapped\",[116]],[[65365,65365],\"mapped\",[117]],[[65366,65366],\"mapped\",[118]],[[65367,65367],\"mapped\",[119]],[[65368,65368],\"mapped\",[120]],[[65369,65369],\"mapped\",[121]],[[65370,65370],\"mapped\",[122]],[[65371,65371],\"disallowed_STD3_mapped\",[123]],[[65372,65372],\"disallowed_STD3_mapped\",[124]],[[65373,65373],\"disallowed_STD3_mapped\",[125]],[[65374,65374],\"disallowed_STD3_mapped\",[126]],[[65375,65375],\"mapped\",[10629]],[[65376,65376],\"mapped\",[10630]],[[65377,65377],\"mapped\",[46]],[[65378,65378],\"mapped\",[12300]],[[65379,65379],\"mapped\",[12301]],[[65380,65380],\"mapped\",[12289]],[[65381,65381],\"mapped\",[12539]],[[65382,65382],\"mapped\",[12530]],[[65383,65383],\"mapped\",[12449]],[[65384,65384],\"mapped\",[12451]],[[65385,65385],\"mapped\",[12453]],[[65386,65386],\"mapped\",[12455]],[[65387,65387],\"mapped\",[12457]],[[65388,65388],\"mapped\",[12515]],[[65389,65389],\"mapped\",[12517]],[[65390,65390],\"mapped\",[12519]],[[65391,65391],\"mapped\",[12483]],[[65392,65392],\"mapped\",[12540]],[[65393,65393],\"mapped\",[12450]],[[65394,65394],\"mapped\",[12452]],[[65395,65395],\"mapped\",[12454]],[[65396,65396],\"mapped\",[12456]],[[65397,65397],\"mapped\",[12458]],[[65398,65398],\"mapped\",[12459]],[[65399,65399],\"mapped\",[12461]],[[65400,65400],\"mapped\",[12463]],[[65401,65401],\"mapped\",[12465]],[[65402,65402],\"mapped\",[12467]],[[65403,65403],\"mapped\",[12469]],[[65404,65404],\"mapped\",[12471]],[[65405,65405],\"mapped\",[12473]],[[65406,65406],\"mapped\",[12475]],[[65407,65407],\"mapped\",[12477]],[[65408,65408],\"mapped\",[12479]],[[65409,65409],\"mapped\",[12481]],[[65410,65410],\"mapped\",[12484]],[[65411,65411],\"mapped\",[12486]],[[65412,65412],\"mapped\",[12488]],[[65413,65413],\"mapped\",[12490]],[[65414,65414],\"mapped\",[12491]],[[65415,65415],\"mapped\",[12492]],[[65416,65416],\"mapped\",[12493]],[[65417,65417],\"mapped\",[12494]],[[65418,65418],\"mapped\",[12495]],[[65419,65419],\"mapped\",[12498]],[[65420,65420],\"mapped\",[12501]],[[65421,65421],\"mapped\",[12504]],[[65422,65422],\"mapped\",[12507]],[[65423,65423],\"mapped\",[12510]],[[65424,65424],\"mapped\",[12511]],[[65425,65425],\"mapped\",[12512]],[[65426,65426],\"mapped\",[12513]],[[65427,65427],\"mapped\",[12514]],[[65428,65428],\"mapped\",[12516]],[[65429,65429],\"mapped\",[12518]],[[65430,65430],\"mapped\",[12520]],[[65431,65431],\"mapped\",[12521]],[[65432,65432],\"mapped\",[12522]],[[65433,65433],\"mapped\",[12523]],[[65434,65434],\"mapped\",[12524]],[[65435,65435],\"mapped\",[12525]],[[65436,65436],\"mapped\",[12527]],[[65437,65437],\"mapped\",[12531]],[[65438,65438],\"mapped\",[12441]],[[65439,65439],\"mapped\",[12442]],[[65440,65440],\"disallowed\"],[[65441,65441],\"mapped\",[4352]],[[65442,65442],\"mapped\",[4353]],[[65443,65443],\"mapped\",[4522]],[[65444,65444],\"mapped\",[4354]],[[65445,65445],\"mapped\",[4524]],[[65446,65446],\"mapped\",[4525]],[[65447,65447],\"mapped\",[4355]],[[65448,65448],\"mapped\",[4356]],[[65449,65449],\"mapped\",[4357]],[[65450,65450],\"mapped\",[4528]],[[65451,65451],\"mapped\",[4529]],[[65452,65452],\"mapped\",[4530]],[[65453,65453],\"mapped\",[4531]],[[65454,65454],\"mapped\",[4532]],[[65455,65455],\"mapped\",[4533]],[[65456,65456],\"mapped\",[4378]],[[65457,65457],\"mapped\",[4358]],[[65458,65458],\"mapped\",[4359]],[[65459,65459],\"mapped\",[4360]],[[65460,65460],\"mapped\",[4385]],[[65461,65461],\"mapped\",[4361]],[[65462,65462],\"mapped\",[4362]],[[65463,65463],\"mapped\",[4363]],[[65464,65464],\"mapped\",[4364]],[[65465,65465],\"mapped\",[4365]],[[65466,65466],\"mapped\",[4366]],[[65467,65467],\"mapped\",[4367]],[[65468,65468],\"mapped\",[4368]],[[65469,65469],\"mapped\",[4369]],[[65470,65470],\"mapped\",[4370]],[[65471,65473],\"disallowed\"],[[65474,65474],\"mapped\",[4449]],[[65475,65475],\"mapped\",[4450]],[[65476,65476],\"mapped\",[4451]],[[65477,65477],\"mapped\",[4452]],[[65478,65478],\"mapped\",[4453]],[[65479,65479],\"mapped\",[4454]],[[65480,65481],\"disallowed\"],[[65482,65482],\"mapped\",[4455]],[[65483,65483],\"mapped\",[4456]],[[65484,65484],\"mapped\",[4457]],[[65485,65485],\"mapped\",[4458]],[[65486,65486],\"mapped\",[4459]],[[65487,65487],\"mapped\",[4460]],[[65488,65489],\"disallowed\"],[[65490,65490],\"mapped\",[4461]],[[65491,65491],\"mapped\",[4462]],[[65492,65492],\"mapped\",[4463]],[[65493,65493],\"mapped\",[4464]],[[65494,65494],\"mapped\",[4465]],[[65495,65495],\"mapped\",[4466]],[[65496,65497],\"disallowed\"],[[65498,65498],\"mapped\",[4467]],[[65499,65499],\"mapped\",[4468]],[[65500,65500],\"mapped\",[4469]],[[65501,65503],\"disallowed\"],[[65504,65504],\"mapped\",[162]],[[65505,65505],\"mapped\",[163]],[[65506,65506],\"mapped\",[172]],[[65507,65507],\"disallowed_STD3_mapped\",[32,772]],[[65508,65508],\"mapped\",[166]],[[65509,65509],\"mapped\",[165]],[[65510,65510],\"mapped\",[8361]],[[65511,65511],\"disallowed\"],[[65512,65512],\"mapped\",[9474]],[[65513,65513],\"mapped\",[8592]],[[65514,65514],\"mapped\",[8593]],[[65515,65515],\"mapped\",[8594]],[[65516,65516],\"mapped\",[8595]],[[65517,65517],\"mapped\",[9632]],[[65518,65518],\"mapped\",[9675]],[[65519,65528],\"disallowed\"],[[65529,65531],\"disallowed\"],[[65532,65532],\"disallowed\"],[[65533,65533],\"disallowed\"],[[65534,65535],\"disallowed\"],[[65536,65547],\"valid\"],[[65548,65548],\"disallowed\"],[[65549,65574],\"valid\"],[[65575,65575],\"disallowed\"],[[65576,65594],\"valid\"],[[65595,65595],\"disallowed\"],[[65596,65597],\"valid\"],[[65598,65598],\"disallowed\"],[[65599,65613],\"valid\"],[[65614,65615],\"disallowed\"],[[65616,65629],\"valid\"],[[65630,65663],\"disallowed\"],[[65664,65786],\"valid\"],[[65787,65791],\"disallowed\"],[[65792,65794],\"valid\",[],\"NV8\"],[[65795,65798],\"disallowed\"],[[65799,65843],\"valid\",[],\"NV8\"],[[65844,65846],\"disallowed\"],[[65847,65855],\"valid\",[],\"NV8\"],[[65856,65930],\"valid\",[],\"NV8\"],[[65931,65932],\"valid\",[],\"NV8\"],[[65933,65935],\"disallowed\"],[[65936,65947],\"valid\",[],\"NV8\"],[[65948,65951],\"disallowed\"],[[65952,65952],\"valid\",[],\"NV8\"],[[65953,65999],\"disallowed\"],[[66000,66044],\"valid\",[],\"NV8\"],[[66045,66045],\"valid\"],[[66046,66175],\"disallowed\"],[[66176,66204],\"valid\"],[[66205,66207],\"disallowed\"],[[66208,66256],\"valid\"],[[66257,66271],\"disallowed\"],[[66272,66272],\"valid\"],[[66273,66299],\"valid\",[],\"NV8\"],[[66300,66303],\"disallowed\"],[[66304,66334],\"valid\"],[[66335,66335],\"valid\"],[[66336,66339],\"valid\",[],\"NV8\"],[[66340,66351],\"disallowed\"],[[66352,66368],\"valid\"],[[66369,66369],\"valid\",[],\"NV8\"],[[66370,66377],\"valid\"],[[66378,66378],\"valid\",[],\"NV8\"],[[66379,66383],\"disallowed\"],[[66384,66426],\"valid\"],[[66427,66431],\"disallowed\"],[[66432,66461],\"valid\"],[[66462,66462],\"disallowed\"],[[66463,66463],\"valid\",[],\"NV8\"],[[66464,66499],\"valid\"],[[66500,66503],\"disallowed\"],[[66504,66511],\"valid\"],[[66512,66517],\"valid\",[],\"NV8\"],[[66518,66559],\"disallowed\"],[[66560,66560],\"mapped\",[66600]],[[66561,66561],\"mapped\",[66601]],[[66562,66562],\"mapped\",[66602]],[[66563,66563],\"mapped\",[66603]],[[66564,66564],\"mapped\",[66604]],[[66565,66565],\"mapped\",[66605]],[[66566,66566],\"mapped\",[66606]],[[66567,66567],\"mapped\",[66607]],[[66568,66568],\"mapped\",[66608]],[[66569,66569],\"mapped\",[66609]],[[66570,66570],\"mapped\",[66610]],[[66571,66571],\"mapped\",[66611]],[[66572,66572],\"mapped\",[66612]],[[66573,66573],\"mapped\",[66613]],[[66574,66574],\"mapped\",[66614]],[[66575,66575],\"mapped\",[66615]],[[66576,66576],\"mapped\",[66616]],[[66577,66577],\"mapped\",[66617]],[[66578,66578],\"mapped\",[66618]],[[66579,66579],\"mapped\",[66619]],[[66580,66580],\"mapped\",[66620]],[[66581,66581],\"mapped\",[66621]],[[66582,66582],\"mapped\",[66622]],[[66583,66583],\"mapped\",[66623]],[[66584,66584],\"mapped\",[66624]],[[66585,66585],\"mapped\",[66625]],[[66586,66586],\"mapped\",[66626]],[[66587,66587],\"mapped\",[66627]],[[66588,66588],\"mapped\",[66628]],[[66589,66589],\"mapped\",[66629]],[[66590,66590],\"mapped\",[66630]],[[66591,66591],\"mapped\",[66631]],[[66592,66592],\"mapped\",[66632]],[[66593,66593],\"mapped\",[66633]],[[66594,66594],\"mapped\",[66634]],[[66595,66595],\"mapped\",[66635]],[[66596,66596],\"mapped\",[66636]],[[66597,66597],\"mapped\",[66637]],[[66598,66598],\"mapped\",[66638]],[[66599,66599],\"mapped\",[66639]],[[66600,66637],\"valid\"],[[66638,66717],\"valid\"],[[66718,66719],\"disallowed\"],[[66720,66729],\"valid\"],[[66730,66815],\"disallowed\"],[[66816,66855],\"valid\"],[[66856,66863],\"disallowed\"],[[66864,66915],\"valid\"],[[66916,66926],\"disallowed\"],[[66927,66927],\"valid\",[],\"NV8\"],[[66928,67071],\"disallowed\"],[[67072,67382],\"valid\"],[[67383,67391],\"disallowed\"],[[67392,67413],\"valid\"],[[67414,67423],\"disallowed\"],[[67424,67431],\"valid\"],[[67432,67583],\"disallowed\"],[[67584,67589],\"valid\"],[[67590,67591],\"disallowed\"],[[67592,67592],\"valid\"],[[67593,67593],\"disallowed\"],[[67594,67637],\"valid\"],[[67638,67638],\"disallowed\"],[[67639,67640],\"valid\"],[[67641,67643],\"disallowed\"],[[67644,67644],\"valid\"],[[67645,67646],\"disallowed\"],[[67647,67647],\"valid\"],[[67648,67669],\"valid\"],[[67670,67670],\"disallowed\"],[[67671,67679],\"valid\",[],\"NV8\"],[[67680,67702],\"valid\"],[[67703,67711],\"valid\",[],\"NV8\"],[[67712,67742],\"valid\"],[[67743,67750],\"disallowed\"],[[67751,67759],\"valid\",[],\"NV8\"],[[67760,67807],\"disallowed\"],[[67808,67826],\"valid\"],[[67827,67827],\"disallowed\"],[[67828,67829],\"valid\"],[[67830,67834],\"disallowed\"],[[67835,67839],\"valid\",[],\"NV8\"],[[67840,67861],\"valid\"],[[67862,67865],\"valid\",[],\"NV8\"],[[67866,67867],\"valid\",[],\"NV8\"],[[67868,67870],\"disallowed\"],[[67871,67871],\"valid\",[],\"NV8\"],[[67872,67897],\"valid\"],[[67898,67902],\"disallowed\"],[[67903,67903],\"valid\",[],\"NV8\"],[[67904,67967],\"disallowed\"],[[67968,68023],\"valid\"],[[68024,68027],\"disallowed\"],[[68028,68029],\"valid\",[],\"NV8\"],[[68030,68031],\"valid\"],[[68032,68047],\"valid\",[],\"NV8\"],[[68048,68049],\"disallowed\"],[[68050,68095],\"valid\",[],\"NV8\"],[[68096,68099],\"valid\"],[[68100,68100],\"disallowed\"],[[68101,68102],\"valid\"],[[68103,68107],\"disallowed\"],[[68108,68115],\"valid\"],[[68116,68116],\"disallowed\"],[[68117,68119],\"valid\"],[[68120,68120],\"disallowed\"],[[68121,68147],\"valid\"],[[68148,68151],\"disallowed\"],[[68152,68154],\"valid\"],[[68155,68158],\"disallowed\"],[[68159,68159],\"valid\"],[[68160,68167],\"valid\",[],\"NV8\"],[[68168,68175],\"disallowed\"],[[68176,68184],\"valid\",[],\"NV8\"],[[68185,68191],\"disallowed\"],[[68192,68220],\"valid\"],[[68221,68223],\"valid\",[],\"NV8\"],[[68224,68252],\"valid\"],[[68253,68255],\"valid\",[],\"NV8\"],[[68256,68287],\"disallowed\"],[[68288,68295],\"valid\"],[[68296,68296],\"valid\",[],\"NV8\"],[[68297,68326],\"valid\"],[[68327,68330],\"disallowed\"],[[68331,68342],\"valid\",[],\"NV8\"],[[68343,68351],\"disallowed\"],[[68352,68405],\"valid\"],[[68406,68408],\"disallowed\"],[[68409,68415],\"valid\",[],\"NV8\"],[[68416,68437],\"valid\"],[[68438,68439],\"disallowed\"],[[68440,68447],\"valid\",[],\"NV8\"],[[68448,68466],\"valid\"],[[68467,68471],\"disallowed\"],[[68472,68479],\"valid\",[],\"NV8\"],[[68480,68497],\"valid\"],[[68498,68504],\"disallowed\"],[[68505,68508],\"valid\",[],\"NV8\"],[[68509,68520],\"disallowed\"],[[68521,68527],\"valid\",[],\"NV8\"],[[68528,68607],\"disallowed\"],[[68608,68680],\"valid\"],[[68681,68735],\"disallowed\"],[[68736,68736],\"mapped\",[68800]],[[68737,68737],\"mapped\",[68801]],[[68738,68738],\"mapped\",[68802]],[[68739,68739],\"mapped\",[68803]],[[68740,68740],\"mapped\",[68804]],[[68741,68741],\"mapped\",[68805]],[[68742,68742],\"mapped\",[68806]],[[68743,68743],\"mapped\",[68807]],[[68744,68744],\"mapped\",[68808]],[[68745,68745],\"mapped\",[68809]],[[68746,68746],\"mapped\",[68810]],[[68747,68747],\"mapped\",[68811]],[[68748,68748],\"mapped\",[68812]],[[68749,68749],\"mapped\",[68813]],[[68750,68750],\"mapped\",[68814]],[[68751,68751],\"mapped\",[68815]],[[68752,68752],\"mapped\",[68816]],[[68753,68753],\"mapped\",[68817]],[[68754,68754],\"mapped\",[68818]],[[68755,68755],\"mapped\",[68819]],[[68756,68756],\"mapped\",[68820]],[[68757,68757],\"mapped\",[68821]],[[68758,68758],\"mapped\",[68822]],[[68759,68759],\"mapped\",[68823]],[[68760,68760],\"mapped\",[68824]],[[68761,68761],\"mapped\",[68825]],[[68762,68762],\"mapped\",[68826]],[[68763,68763],\"mapped\",[68827]],[[68764,68764],\"mapped\",[68828]],[[68765,68765],\"mapped\",[68829]],[[68766,68766],\"mapped\",[68830]],[[68767,68767],\"mapped\",[68831]],[[68768,68768],\"mapped\",[68832]],[[68769,68769],\"mapped\",[68833]],[[68770,68770],\"mapped\",[68834]],[[68771,68771],\"mapped\",[68835]],[[68772,68772],\"mapped\",[68836]],[[68773,68773],\"mapped\",[68837]],[[68774,68774],\"mapped\",[68838]],[[68775,68775],\"mapped\",[68839]],[[68776,68776],\"mapped\",[68840]],[[68777,68777],\"mapped\",[68841]],[[68778,68778],\"mapped\",[68842]],[[68779,68779],\"mapped\",[68843]],[[68780,68780],\"mapped\",[68844]],[[68781,68781],\"mapped\",[68845]],[[68782,68782],\"mapped\",[68846]],[[68783,68783],\"mapped\",[68847]],[[68784,68784],\"mapped\",[68848]],[[68785,68785],\"mapped\",[68849]],[[68786,68786],\"mapped\",[68850]],[[68787,68799],\"disallowed\"],[[68800,68850],\"valid\"],[[68851,68857],\"disallowed\"],[[68858,68863],\"valid\",[],\"NV8\"],[[68864,69215],\"disallowed\"],[[69216,69246],\"valid\",[],\"NV8\"],[[69247,69631],\"disallowed\"],[[69632,69702],\"valid\"],[[69703,69709],\"valid\",[],\"NV8\"],[[69710,69713],\"disallowed\"],[[69714,69733],\"valid\",[],\"NV8\"],[[69734,69743],\"valid\"],[[69744,69758],\"disallowed\"],[[69759,69759],\"valid\"],[[69760,69818],\"valid\"],[[69819,69820],\"valid\",[],\"NV8\"],[[69821,69821],\"disallowed\"],[[69822,69825],\"valid\",[],\"NV8\"],[[69826,69839],\"disallowed\"],[[69840,69864],\"valid\"],[[69865,69871],\"disallowed\"],[[69872,69881],\"valid\"],[[69882,69887],\"disallowed\"],[[69888,69940],\"valid\"],[[69941,69941],\"disallowed\"],[[69942,69951],\"valid\"],[[69952,69955],\"valid\",[],\"NV8\"],[[69956,69967],\"disallowed\"],[[69968,70003],\"valid\"],[[70004,70005],\"valid\",[],\"NV8\"],[[70006,70006],\"valid\"],[[70007,70015],\"disallowed\"],[[70016,70084],\"valid\"],[[70085,70088],\"valid\",[],\"NV8\"],[[70089,70089],\"valid\",[],\"NV8\"],[[70090,70092],\"valid\"],[[70093,70093],\"valid\",[],\"NV8\"],[[70094,70095],\"disallowed\"],[[70096,70105],\"valid\"],[[70106,70106],\"valid\"],[[70107,70107],\"valid\",[],\"NV8\"],[[70108,70108],\"valid\"],[[70109,70111],\"valid\",[],\"NV8\"],[[70112,70112],\"disallowed\"],[[70113,70132],\"valid\",[],\"NV8\"],[[70133,70143],\"disallowed\"],[[70144,70161],\"valid\"],[[70162,70162],\"disallowed\"],[[70163,70199],\"valid\"],[[70200,70205],\"valid\",[],\"NV8\"],[[70206,70271],\"disallowed\"],[[70272,70278],\"valid\"],[[70279,70279],\"disallowed\"],[[70280,70280],\"valid\"],[[70281,70281],\"disallowed\"],[[70282,70285],\"valid\"],[[70286,70286],\"disallowed\"],[[70287,70301],\"valid\"],[[70302,70302],\"disallowed\"],[[70303,70312],\"valid\"],[[70313,70313],\"valid\",[],\"NV8\"],[[70314,70319],\"disallowed\"],[[70320,70378],\"valid\"],[[70379,70383],\"disallowed\"],[[70384,70393],\"valid\"],[[70394,70399],\"disallowed\"],[[70400,70400],\"valid\"],[[70401,70403],\"valid\"],[[70404,70404],\"disallowed\"],[[70405,70412],\"valid\"],[[70413,70414],\"disallowed\"],[[70415,70416],\"valid\"],[[70417,70418],\"disallowed\"],[[70419,70440],\"valid\"],[[70441,70441],\"disallowed\"],[[70442,70448],\"valid\"],[[70449,70449],\"disallowed\"],[[70450,70451],\"valid\"],[[70452,70452],\"disallowed\"],[[70453,70457],\"valid\"],[[70458,70459],\"disallowed\"],[[70460,70468],\"valid\"],[[70469,70470],\"disallowed\"],[[70471,70472],\"valid\"],[[70473,70474],\"disallowed\"],[[70475,70477],\"valid\"],[[70478,70479],\"disallowed\"],[[70480,70480],\"valid\"],[[70481,70486],\"disallowed\"],[[70487,70487],\"valid\"],[[70488,70492],\"disallowed\"],[[70493,70499],\"valid\"],[[70500,70501],\"disallowed\"],[[70502,70508],\"valid\"],[[70509,70511],\"disallowed\"],[[70512,70516],\"valid\"],[[70517,70783],\"disallowed\"],[[70784,70853],\"valid\"],[[70854,70854],\"valid\",[],\"NV8\"],[[70855,70855],\"valid\"],[[70856,70863],\"disallowed\"],[[70864,70873],\"valid\"],[[70874,71039],\"disallowed\"],[[71040,71093],\"valid\"],[[71094,71095],\"disallowed\"],[[71096,71104],\"valid\"],[[71105,71113],\"valid\",[],\"NV8\"],[[71114,71127],\"valid\",[],\"NV8\"],[[71128,71133],\"valid\"],[[71134,71167],\"disallowed\"],[[71168,71232],\"valid\"],[[71233,71235],\"valid\",[],\"NV8\"],[[71236,71236],\"valid\"],[[71237,71247],\"disallowed\"],[[71248,71257],\"valid\"],[[71258,71295],\"disallowed\"],[[71296,71351],\"valid\"],[[71352,71359],\"disallowed\"],[[71360,71369],\"valid\"],[[71370,71423],\"disallowed\"],[[71424,71449],\"valid\"],[[71450,71452],\"disallowed\"],[[71453,71467],\"valid\"],[[71468,71471],\"disallowed\"],[[71472,71481],\"valid\"],[[71482,71487],\"valid\",[],\"NV8\"],[[71488,71839],\"disallowed\"],[[71840,71840],\"mapped\",[71872]],[[71841,71841],\"mapped\",[71873]],[[71842,71842],\"mapped\",[71874]],[[71843,71843],\"mapped\",[71875]],[[71844,71844],\"mapped\",[71876]],[[71845,71845],\"mapped\",[71877]],[[71846,71846],\"mapped\",[71878]],[[71847,71847],\"mapped\",[71879]],[[71848,71848],\"mapped\",[71880]],[[71849,71849],\"mapped\",[71881]],[[71850,71850],\"mapped\",[71882]],[[71851,71851],\"mapped\",[71883]],[[71852,71852],\"mapped\",[71884]],[[71853,71853],\"mapped\",[71885]],[[71854,71854],\"mapped\",[71886]],[[71855,71855],\"mapped\",[71887]],[[71856,71856],\"mapped\",[71888]],[[71857,71857],\"mapped\",[71889]],[[71858,71858],\"mapped\",[71890]],[[71859,71859],\"mapped\",[71891]],[[71860,71860],\"mapped\",[71892]],[[71861,71861],\"mapped\",[71893]],[[71862,71862],\"mapped\",[71894]],[[71863,71863],\"mapped\",[71895]],[[71864,71864],\"mapped\",[71896]],[[71865,71865],\"mapped\",[71897]],[[71866,71866],\"mapped\",[71898]],[[71867,71867],\"mapped\",[71899]],[[71868,71868],\"mapped\",[71900]],[[71869,71869],\"mapped\",[71901]],[[71870,71870],\"mapped\",[71902]],[[71871,71871],\"mapped\",[71903]],[[71872,71913],\"valid\"],[[71914,71922],\"valid\",[],\"NV8\"],[[71923,71934],\"disallowed\"],[[71935,71935],\"valid\"],[[71936,72383],\"disallowed\"],[[72384,72440],\"valid\"],[[72441,73727],\"disallowed\"],[[73728,74606],\"valid\"],[[74607,74648],\"valid\"],[[74649,74649],\"valid\"],[[74650,74751],\"disallowed\"],[[74752,74850],\"valid\",[],\"NV8\"],[[74851,74862],\"valid\",[],\"NV8\"],[[74863,74863],\"disallowed\"],[[74864,74867],\"valid\",[],\"NV8\"],[[74868,74868],\"valid\",[],\"NV8\"],[[74869,74879],\"disallowed\"],[[74880,75075],\"valid\"],[[75076,77823],\"disallowed\"],[[77824,78894],\"valid\"],[[78895,82943],\"disallowed\"],[[82944,83526],\"valid\"],[[83527,92159],\"disallowed\"],[[92160,92728],\"valid\"],[[92729,92735],\"disallowed\"],[[92736,92766],\"valid\"],[[92767,92767],\"disallowed\"],[[92768,92777],\"valid\"],[[92778,92781],\"disallowed\"],[[92782,92783],\"valid\",[],\"NV8\"],[[92784,92879],\"disallowed\"],[[92880,92909],\"valid\"],[[92910,92911],\"disallowed\"],[[92912,92916],\"valid\"],[[92917,92917],\"valid\",[],\"NV8\"],[[92918,92927],\"disallowed\"],[[92928,92982],\"valid\"],[[92983,92991],\"valid\",[],\"NV8\"],[[92992,92995],\"valid\"],[[92996,92997],\"valid\",[],\"NV8\"],[[92998,93007],\"disallowed\"],[[93008,93017],\"valid\"],[[93018,93018],\"disallowed\"],[[93019,93025],\"valid\",[],\"NV8\"],[[93026,93026],\"disallowed\"],[[93027,93047],\"valid\"],[[93048,93052],\"disallowed\"],[[93053,93071],\"valid\"],[[93072,93951],\"disallowed\"],[[93952,94020],\"valid\"],[[94021,94031],\"disallowed\"],[[94032,94078],\"valid\"],[[94079,94094],\"disallowed\"],[[94095,94111],\"valid\"],[[94112,110591],\"disallowed\"],[[110592,110593],\"valid\"],[[110594,113663],\"disallowed\"],[[113664,113770],\"valid\"],[[113771,113775],\"disallowed\"],[[113776,113788],\"valid\"],[[113789,113791],\"disallowed\"],[[113792,113800],\"valid\"],[[113801,113807],\"disallowed\"],[[113808,113817],\"valid\"],[[113818,113819],\"disallowed\"],[[113820,113820],\"valid\",[],\"NV8\"],[[113821,113822],\"valid\"],[[113823,113823],\"valid\",[],\"NV8\"],[[113824,113827],\"ignored\"],[[113828,118783],\"disallowed\"],[[118784,119029],\"valid\",[],\"NV8\"],[[119030,119039],\"disallowed\"],[[119040,119078],\"valid\",[],\"NV8\"],[[119079,119080],\"disallowed\"],[[119081,119081],\"valid\",[],\"NV8\"],[[119082,119133],\"valid\",[],\"NV8\"],[[119134,119134],\"mapped\",[119127,119141]],[[119135,119135],\"mapped\",[119128,119141]],[[119136,119136],\"mapped\",[119128,119141,119150]],[[119137,119137],\"mapped\",[119128,119141,119151]],[[119138,119138],\"mapped\",[119128,119141,119152]],[[119139,119139],\"mapped\",[119128,119141,119153]],[[119140,119140],\"mapped\",[119128,119141,119154]],[[119141,119154],\"valid\",[],\"NV8\"],[[119155,119162],\"disallowed\"],[[119163,119226],\"valid\",[],\"NV8\"],[[119227,119227],\"mapped\",[119225,119141]],[[119228,119228],\"mapped\",[119226,119141]],[[119229,119229],\"mapped\",[119225,119141,119150]],[[119230,119230],\"mapped\",[119226,119141,119150]],[[119231,119231],\"mapped\",[119225,119141,119151]],[[119232,119232],\"mapped\",[119226,119141,119151]],[[119233,119261],\"valid\",[],\"NV8\"],[[119262,119272],\"valid\",[],\"NV8\"],[[119273,119295],\"disallowed\"],[[119296,119365],\"valid\",[],\"NV8\"],[[119366,119551],\"disallowed\"],[[119552,119638],\"valid\",[],\"NV8\"],[[119639,119647],\"disallowed\"],[[119648,119665],\"valid\",[],\"NV8\"],[[119666,119807],\"disallowed\"],[[119808,119808],\"mapped\",[97]],[[119809,119809],\"mapped\",[98]],[[119810,119810],\"mapped\",[99]],[[119811,119811],\"mapped\",[100]],[[119812,119812],\"mapped\",[101]],[[119813,119813],\"mapped\",[102]],[[119814,119814],\"mapped\",[103]],[[119815,119815],\"mapped\",[104]],[[119816,119816],\"mapped\",[105]],[[119817,119817],\"mapped\",[106]],[[119818,119818],\"mapped\",[107]],[[119819,119819],\"mapped\",[108]],[[119820,119820],\"mapped\",[109]],[[119821,119821],\"mapped\",[110]],[[119822,119822],\"mapped\",[111]],[[119823,119823],\"mapped\",[112]],[[119824,119824],\"mapped\",[113]],[[119825,119825],\"mapped\",[114]],[[119826,119826],\"mapped\",[115]],[[119827,119827],\"mapped\",[116]],[[119828,119828],\"mapped\",[117]],[[119829,119829],\"mapped\",[118]],[[119830,119830],\"mapped\",[119]],[[119831,119831],\"mapped\",[120]],[[119832,119832],\"mapped\",[121]],[[119833,119833],\"mapped\",[122]],[[119834,119834],\"mapped\",[97]],[[119835,119835],\"mapped\",[98]],[[119836,119836],\"mapped\",[99]],[[119837,119837],\"mapped\",[100]],[[119838,119838],\"mapped\",[101]],[[119839,119839],\"mapped\",[102]],[[119840,119840],\"mapped\",[103]],[[119841,119841],\"mapped\",[104]],[[119842,119842],\"mapped\",[105]],[[119843,119843],\"mapped\",[106]],[[119844,119844],\"mapped\",[107]],[[119845,119845],\"mapped\",[108]],[[119846,119846],\"mapped\",[109]],[[119847,119847],\"mapped\",[110]],[[119848,119848],\"mapped\",[111]],[[119849,119849],\"mapped\",[112]],[[119850,119850],\"mapped\",[113]],[[119851,119851],\"mapped\",[114]],[[119852,119852],\"mapped\",[115]],[[119853,119853],\"mapped\",[116]],[[119854,119854],\"mapped\",[117]],[[119855,119855],\"mapped\",[118]],[[119856,119856],\"mapped\",[119]],[[119857,119857],\"mapped\",[120]],[[119858,119858],\"mapped\",[121]],[[119859,119859],\"mapped\",[122]],[[119860,119860],\"mapped\",[97]],[[119861,119861],\"mapped\",[98]],[[119862,119862],\"mapped\",[99]],[[119863,119863],\"mapped\",[100]],[[119864,119864],\"mapped\",[101]],[[119865,119865],\"mapped\",[102]],[[119866,119866],\"mapped\",[103]],[[119867,119867],\"mapped\",[104]],[[119868,119868],\"mapped\",[105]],[[119869,119869],\"mapped\",[106]],[[119870,119870],\"mapped\",[107]],[[119871,119871],\"mapped\",[108]],[[119872,119872],\"mapped\",[109]],[[119873,119873],\"mapped\",[110]],[[119874,119874],\"mapped\",[111]],[[119875,119875],\"mapped\",[112]],[[119876,119876],\"mapped\",[113]],[[119877,119877],\"mapped\",[114]],[[119878,119878],\"mapped\",[115]],[[119879,119879],\"mapped\",[116]],[[119880,119880],\"mapped\",[117]],[[119881,119881],\"mapped\",[118]],[[119882,119882],\"mapped\",[119]],[[119883,119883],\"mapped\",[120]],[[119884,119884],\"mapped\",[121]],[[119885,119885],\"mapped\",[122]],[[119886,119886],\"mapped\",[97]],[[119887,119887],\"mapped\",[98]],[[119888,119888],\"mapped\",[99]],[[119889,119889],\"mapped\",[100]],[[119890,119890],\"mapped\",[101]],[[119891,119891],\"mapped\",[102]],[[119892,119892],\"mapped\",[103]],[[119893,119893],\"disallowed\"],[[119894,119894],\"mapped\",[105]],[[119895,119895],\"mapped\",[106]],[[119896,119896],\"mapped\",[107]],[[119897,119897],\"mapped\",[108]],[[119898,119898],\"mapped\",[109]],[[119899,119899],\"mapped\",[110]],[[119900,119900],\"mapped\",[111]],[[119901,119901],\"mapped\",[112]],[[119902,119902],\"mapped\",[113]],[[119903,119903],\"mapped\",[114]],[[119904,119904],\"mapped\",[115]],[[119905,119905],\"mapped\",[116]],[[119906,119906],\"mapped\",[117]],[[119907,119907],\"mapped\",[118]],[[119908,119908],\"mapped\",[119]],[[119909,119909],\"mapped\",[120]],[[119910,119910],\"mapped\",[121]],[[119911,119911],\"mapped\",[122]],[[119912,119912],\"mapped\",[97]],[[119913,119913],\"mapped\",[98]],[[119914,119914],\"mapped\",[99]],[[119915,119915],\"mapped\",[100]],[[119916,119916],\"mapped\",[101]],[[119917,119917],\"mapped\",[102]],[[119918,119918],\"mapped\",[103]],[[119919,119919],\"mapped\",[104]],[[119920,119920],\"mapped\",[105]],[[119921,119921],\"mapped\",[106]],[[119922,119922],\"mapped\",[107]],[[119923,119923],\"mapped\",[108]],[[119924,119924],\"mapped\",[109]],[[119925,119925],\"mapped\",[110]],[[119926,119926],\"mapped\",[111]],[[119927,119927],\"mapped\",[112]],[[119928,119928],\"mapped\",[113]],[[119929,119929],\"mapped\",[114]],[[119930,119930],\"mapped\",[115]],[[119931,119931],\"mapped\",[116]],[[119932,119932],\"mapped\",[117]],[[119933,119933],\"mapped\",[118]],[[119934,119934],\"mapped\",[119]],[[119935,119935],\"mapped\",[120]],[[119936,119936],\"mapped\",[121]],[[119937,119937],\"mapped\",[122]],[[119938,119938],\"mapped\",[97]],[[119939,119939],\"mapped\",[98]],[[119940,119940],\"mapped\",[99]],[[119941,119941],\"mapped\",[100]],[[119942,119942],\"mapped\",[101]],[[119943,119943],\"mapped\",[102]],[[119944,119944],\"mapped\",[103]],[[119945,119945],\"mapped\",[104]],[[119946,119946],\"mapped\",[105]],[[119947,119947],\"mapped\",[106]],[[119948,119948],\"mapped\",[107]],[[119949,119949],\"mapped\",[108]],[[119950,119950],\"mapped\",[109]],[[119951,119951],\"mapped\",[110]],[[119952,119952],\"mapped\",[111]],[[119953,119953],\"mapped\",[112]],[[119954,119954],\"mapped\",[113]],[[119955,119955],\"mapped\",[114]],[[119956,119956],\"mapped\",[115]],[[119957,119957],\"mapped\",[116]],[[119958,119958],\"mapped\",[117]],[[119959,119959],\"mapped\",[118]],[[119960,119960],\"mapped\",[119]],[[119961,119961],\"mapped\",[120]],[[119962,119962],\"mapped\",[121]],[[119963,119963],\"mapped\",[122]],[[119964,119964],\"mapped\",[97]],[[119965,119965],\"disallowed\"],[[119966,119966],\"mapped\",[99]],[[119967,119967],\"mapped\",[100]],[[119968,119969],\"disallowed\"],[[119970,119970],\"mapped\",[103]],[[119971,119972],\"disallowed\"],[[119973,119973],\"mapped\",[106]],[[119974,119974],\"mapped\",[107]],[[119975,119976],\"disallowed\"],[[119977,119977],\"mapped\",[110]],[[119978,119978],\"mapped\",[111]],[[119979,119979],\"mapped\",[112]],[[119980,119980],\"mapped\",[113]],[[119981,119981],\"disallowed\"],[[119982,119982],\"mapped\",[115]],[[119983,119983],\"mapped\",[116]],[[119984,119984],\"mapped\",[117]],[[119985,119985],\"mapped\",[118]],[[119986,119986],\"mapped\",[119]],[[119987,119987],\"mapped\",[120]],[[119988,119988],\"mapped\",[121]],[[119989,119989],\"mapped\",[122]],[[119990,119990],\"mapped\",[97]],[[119991,119991],\"mapped\",[98]],[[119992,119992],\"mapped\",[99]],[[119993,119993],\"mapped\",[100]],[[119994,119994],\"disallowed\"],[[119995,119995],\"mapped\",[102]],[[119996,119996],\"disallowed\"],[[119997,119997],\"mapped\",[104]],[[119998,119998],\"mapped\",[105]],[[119999,119999],\"mapped\",[106]],[[120000,120000],\"mapped\",[107]],[[120001,120001],\"mapped\",[108]],[[120002,120002],\"mapped\",[109]],[[120003,120003],\"mapped\",[110]],[[120004,120004],\"disallowed\"],[[120005,120005],\"mapped\",[112]],[[120006,120006],\"mapped\",[113]],[[120007,120007],\"mapped\",[114]],[[120008,120008],\"mapped\",[115]],[[120009,120009],\"mapped\",[116]],[[120010,120010],\"mapped\",[117]],[[120011,120011],\"mapped\",[118]],[[120012,120012],\"mapped\",[119]],[[120013,120013],\"mapped\",[120]],[[120014,120014],\"mapped\",[121]],[[120015,120015],\"mapped\",[122]],[[120016,120016],\"mapped\",[97]],[[120017,120017],\"mapped\",[98]],[[120018,120018],\"mapped\",[99]],[[120019,120019],\"mapped\",[100]],[[120020,120020],\"mapped\",[101]],[[120021,120021],\"mapped\",[102]],[[120022,120022],\"mapped\",[103]],[[120023,120023],\"mapped\",[104]],[[120024,120024],\"mapped\",[105]],[[120025,120025],\"mapped\",[106]],[[120026,120026],\"mapped\",[107]],[[120027,120027],\"mapped\",[108]],[[120028,120028],\"mapped\",[109]],[[120029,120029],\"mapped\",[110]],[[120030,120030],\"mapped\",[111]],[[120031,120031],\"mapped\",[112]],[[120032,120032],\"mapped\",[113]],[[120033,120033],\"mapped\",[114]],[[120034,120034],\"mapped\",[115]],[[120035,120035],\"mapped\",[116]],[[120036,120036],\"mapped\",[117]],[[120037,120037],\"mapped\",[118]],[[120038,120038],\"mapped\",[119]],[[120039,120039],\"mapped\",[120]],[[120040,120040],\"mapped\",[121]],[[120041,120041],\"mapped\",[122]],[[120042,120042],\"mapped\",[97]],[[120043,120043],\"mapped\",[98]],[[120044,120044],\"mapped\",[99]],[[120045,120045],\"mapped\",[100]],[[120046,120046],\"mapped\",[101]],[[120047,120047],\"mapped\",[102]],[[120048,120048],\"mapped\",[103]],[[120049,120049],\"mapped\",[104]],[[120050,120050],\"mapped\",[105]],[[120051,120051],\"mapped\",[106]],[[120052,120052],\"mapped\",[107]],[[120053,120053],\"mapped\",[108]],[[120054,120054],\"mapped\",[109]],[[120055,120055],\"mapped\",[110]],[[120056,120056],\"mapped\",[111]],[[120057,120057],\"mapped\",[112]],[[120058,120058],\"mapped\",[113]],[[120059,120059],\"mapped\",[114]],[[120060,120060],\"mapped\",[115]],[[120061,120061],\"mapped\",[116]],[[120062,120062],\"mapped\",[117]],[[120063,120063],\"mapped\",[118]],[[120064,120064],\"mapped\",[119]],[[120065,120065],\"mapped\",[120]],[[120066,120066],\"mapped\",[121]],[[120067,120067],\"mapped\",[122]],[[120068,120068],\"mapped\",[97]],[[120069,120069],\"mapped\",[98]],[[120070,120070],\"disallowed\"],[[120071,120071],\"mapped\",[100]],[[120072,120072],\"mapped\",[101]],[[120073,120073],\"mapped\",[102]],[[120074,120074],\"mapped\",[103]],[[120075,120076],\"disallowed\"],[[120077,120077],\"mapped\",[106]],[[120078,120078],\"mapped\",[107]],[[120079,120079],\"mapped\",[108]],[[120080,120080],\"mapped\",[109]],[[120081,120081],\"mapped\",[110]],[[120082,120082],\"mapped\",[111]],[[120083,120083],\"mapped\",[112]],[[120084,120084],\"mapped\",[113]],[[120085,120085],\"disallowed\"],[[120086,120086],\"mapped\",[115]],[[120087,120087],\"mapped\",[116]],[[120088,120088],\"mapped\",[117]],[[120089,120089],\"mapped\",[118]],[[120090,120090],\"mapped\",[119]],[[120091,120091],\"mapped\",[120]],[[120092,120092],\"mapped\",[121]],[[120093,120093],\"disallowed\"],[[120094,120094],\"mapped\",[97]],[[120095,120095],\"mapped\",[98]],[[120096,120096],\"mapped\",[99]],[[120097,120097],\"mapped\",[100]],[[120098,120098],\"mapped\",[101]],[[120099,120099],\"mapped\",[102]],[[120100,120100],\"mapped\",[103]],[[120101,120101],\"mapped\",[104]],[[120102,120102],\"mapped\",[105]],[[120103,120103],\"mapped\",[106]],[[120104,120104],\"mapped\",[107]],[[120105,120105],\"mapped\",[108]],[[120106,120106],\"mapped\",[109]],[[120107,120107],\"mapped\",[110]],[[120108,120108],\"mapped\",[111]],[[120109,120109],\"mapped\",[112]],[[120110,120110],\"mapped\",[113]],[[120111,120111],\"mapped\",[114]],[[120112,120112],\"mapped\",[115]],[[120113,120113],\"mapped\",[116]],[[120114,120114],\"mapped\",[117]],[[120115,120115],\"mapped\",[118]],[[120116,120116],\"mapped\",[119]],[[120117,120117],\"mapped\",[120]],[[120118,120118],\"mapped\",[121]],[[120119,120119],\"mapped\",[122]],[[120120,120120],\"mapped\",[97]],[[120121,120121],\"mapped\",[98]],[[120122,120122],\"disallowed\"],[[120123,120123],\"mapped\",[100]],[[120124,120124],\"mapped\",[101]],[[120125,120125],\"mapped\",[102]],[[120126,120126],\"mapped\",[103]],[[120127,120127],\"disallowed\"],[[120128,120128],\"mapped\",[105]],[[120129,120129],\"mapped\",[106]],[[120130,120130],\"mapped\",[107]],[[120131,120131],\"mapped\",[108]],[[120132,120132],\"mapped\",[109]],[[120133,120133],\"disallowed\"],[[120134,120134],\"mapped\",[111]],[[120135,120137],\"disallowed\"],[[120138,120138],\"mapped\",[115]],[[120139,120139],\"mapped\",[116]],[[120140,120140],\"mapped\",[117]],[[120141,120141],\"mapped\",[118]],[[120142,120142],\"mapped\",[119]],[[120143,120143],\"mapped\",[120]],[[120144,120144],\"mapped\",[121]],[[120145,120145],\"disallowed\"],[[120146,120146],\"mapped\",[97]],[[120147,120147],\"mapped\",[98]],[[120148,120148],\"mapped\",[99]],[[120149,120149],\"mapped\",[100]],[[120150,120150],\"mapped\",[101]],[[120151,120151],\"mapped\",[102]],[[120152,120152],\"mapped\",[103]],[[120153,120153],\"mapped\",[104]],[[120154,120154],\"mapped\",[105]],[[120155,120155],\"mapped\",[106]],[[120156,120156],\"mapped\",[107]],[[120157,120157],\"mapped\",[108]],[[120158,120158],\"mapped\",[109]],[[120159,120159],\"mapped\",[110]],[[120160,120160],\"mapped\",[111]],[[120161,120161],\"mapped\",[112]],[[120162,120162],\"mapped\",[113]],[[120163,120163],\"mapped\",[114]],[[120164,120164],\"mapped\",[115]],[[120165,120165],\"mapped\",[116]],[[120166,120166],\"mapped\",[117]],[[120167,120167],\"mapped\",[118]],[[120168,120168],\"mapped\",[119]],[[120169,120169],\"mapped\",[120]],[[120170,120170],\"mapped\",[121]],[[120171,120171],\"mapped\",[122]],[[120172,120172],\"mapped\",[97]],[[120173,120173],\"mapped\",[98]],[[120174,120174],\"mapped\",[99]],[[120175,120175],\"mapped\",[100]],[[120176,120176],\"mapped\",[101]],[[120177,120177],\"mapped\",[102]],[[120178,120178],\"mapped\",[103]],[[120179,120179],\"mapped\",[104]],[[120180,120180],\"mapped\",[105]],[[120181,120181],\"mapped\",[106]],[[120182,120182],\"mapped\",[107]],[[120183,120183],\"mapped\",[108]],[[120184,120184],\"mapped\",[109]],[[120185,120185],\"mapped\",[110]],[[120186,120186],\"mapped\",[111]],[[120187,120187],\"mapped\",[112]],[[120188,120188],\"mapped\",[113]],[[120189,120189],\"mapped\",[114]],[[120190,120190],\"mapped\",[115]],[[120191,120191],\"mapped\",[116]],[[120192,120192],\"mapped\",[117]],[[120193,120193],\"mapped\",[118]],[[120194,120194],\"mapped\",[119]],[[120195,120195],\"mapped\",[120]],[[120196,120196],\"mapped\",[121]],[[120197,120197],\"mapped\",[122]],[[120198,120198],\"mapped\",[97]],[[120199,120199],\"mapped\",[98]],[[120200,120200],\"mapped\",[99]],[[120201,120201],\"mapped\",[100]],[[120202,120202],\"mapped\",[101]],[[120203,120203],\"mapped\",[102]],[[120204,120204],\"mapped\",[103]],[[120205,120205],\"mapped\",[104]],[[120206,120206],\"mapped\",[105]],[[120207,120207],\"mapped\",[106]],[[120208,120208],\"mapped\",[107]],[[120209,120209],\"mapped\",[108]],[[120210,120210],\"mapped\",[109]],[[120211,120211],\"mapped\",[110]],[[120212,120212],\"mapped\",[111]],[[120213,120213],\"mapped\",[112]],[[120214,120214],\"mapped\",[113]],[[120215,120215],\"mapped\",[114]],[[120216,120216],\"mapped\",[115]],[[120217,120217],\"mapped\",[116]],[[120218,120218],\"mapped\",[117]],[[120219,120219],\"mapped\",[118]],[[120220,120220],\"mapped\",[119]],[[120221,120221],\"mapped\",[120]],[[120222,120222],\"mapped\",[121]],[[120223,120223],\"mapped\",[122]],[[120224,120224],\"mapped\",[97]],[[120225,120225],\"mapped\",[98]],[[120226,120226],\"mapped\",[99]],[[120227,120227],\"mapped\",[100]],[[120228,120228],\"mapped\",[101]],[[120229,120229],\"mapped\",[102]],[[120230,120230],\"mapped\",[103]],[[120231,120231],\"mapped\",[104]],[[120232,120232],\"mapped\",[105]],[[120233,120233],\"mapped\",[106]],[[120234,120234],\"mapped\",[107]],[[120235,120235],\"mapped\",[108]],[[120236,120236],\"mapped\",[109]],[[120237,120237],\"mapped\",[110]],[[120238,120238],\"mapped\",[111]],[[120239,120239],\"mapped\",[112]],[[120240,120240],\"mapped\",[113]],[[120241,120241],\"mapped\",[114]],[[120242,120242],\"mapped\",[115]],[[120243,120243],\"mapped\",[116]],[[120244,120244],\"mapped\",[117]],[[120245,120245],\"mapped\",[118]],[[120246,120246],\"mapped\",[119]],[[120247,120247],\"mapped\",[120]],[[120248,120248],\"mapped\",[121]],[[120249,120249],\"mapped\",[122]],[[120250,120250],\"mapped\",[97]],[[120251,120251],\"mapped\",[98]],[[120252,120252],\"mapped\",[99]],[[120253,120253],\"mapped\",[100]],[[120254,120254],\"mapped\",[101]],[[120255,120255],\"mapped\",[102]],[[120256,120256],\"mapped\",[103]],[[120257,120257],\"mapped\",[104]],[[120258,120258],\"mapped\",[105]],[[120259,120259],\"mapped\",[106]],[[120260,120260],\"mapped\",[107]],[[120261,120261],\"mapped\",[108]],[[120262,120262],\"mapped\",[109]],[[120263,120263],\"mapped\",[110]],[[120264,120264],\"mapped\",[111]],[[120265,120265],\"mapped\",[112]],[[120266,120266],\"mapped\",[113]],[[120267,120267],\"mapped\",[114]],[[120268,120268],\"mapped\",[115]],[[120269,120269],\"mapped\",[116]],[[120270,120270],\"mapped\",[117]],[[120271,120271],\"mapped\",[118]],[[120272,120272],\"mapped\",[119]],[[120273,120273],\"mapped\",[120]],[[120274,120274],\"mapped\",[121]],[[120275,120275],\"mapped\",[122]],[[120276,120276],\"mapped\",[97]],[[120277,120277],\"mapped\",[98]],[[120278,120278],\"mapped\",[99]],[[120279,120279],\"mapped\",[100]],[[120280,120280],\"mapped\",[101]],[[120281,120281],\"mapped\",[102]],[[120282,120282],\"mapped\",[103]],[[120283,120283],\"mapped\",[104]],[[120284,120284],\"mapped\",[105]],[[120285,120285],\"mapped\",[106]],[[120286,120286],\"mapped\",[107]],[[120287,120287],\"mapped\",[108]],[[120288,120288],\"mapped\",[109]],[[120289,120289],\"mapped\",[110]],[[120290,120290],\"mapped\",[111]],[[120291,120291],\"mapped\",[112]],[[120292,120292],\"mapped\",[113]],[[120293,120293],\"mapped\",[114]],[[120294,120294],\"mapped\",[115]],[[120295,120295],\"mapped\",[116]],[[120296,120296],\"mapped\",[117]],[[120297,120297],\"mapped\",[118]],[[120298,120298],\"mapped\",[119]],[[120299,120299],\"mapped\",[120]],[[120300,120300],\"mapped\",[121]],[[120301,120301],\"mapped\",[122]],[[120302,120302],\"mapped\",[97]],[[120303,120303],\"mapped\",[98]],[[120304,120304],\"mapped\",[99]],[[120305,120305],\"mapped\",[100]],[[120306,120306],\"mapped\",[101]],[[120307,120307],\"mapped\",[102]],[[120308,120308],\"mapped\",[103]],[[120309,120309],\"mapped\",[104]],[[120310,120310],\"mapped\",[105]],[[120311,120311],\"mapped\",[106]],[[120312,120312],\"mapped\",[107]],[[120313,120313],\"mapped\",[108]],[[120314,120314],\"mapped\",[109]],[[120315,120315],\"mapped\",[110]],[[120316,120316],\"mapped\",[111]],[[120317,120317],\"mapped\",[112]],[[120318,120318],\"mapped\",[113]],[[120319,120319],\"mapped\",[114]],[[120320,120320],\"mapped\",[115]],[[120321,120321],\"mapped\",[116]],[[120322,120322],\"mapped\",[117]],[[120323,120323],\"mapped\",[118]],[[120324,120324],\"mapped\",[119]],[[120325,120325],\"mapped\",[120]],[[120326,120326],\"mapped\",[121]],[[120327,120327],\"mapped\",[122]],[[120328,120328],\"mapped\",[97]],[[120329,120329],\"mapped\",[98]],[[120330,120330],\"mapped\",[99]],[[120331,120331],\"mapped\",[100]],[[120332,120332],\"mapped\",[101]],[[120333,120333],\"mapped\",[102]],[[120334,120334],\"mapped\",[103]],[[120335,120335],\"mapped\",[104]],[[120336,120336],\"mapped\",[105]],[[120337,120337],\"mapped\",[106]],[[120338,120338],\"mapped\",[107]],[[120339,120339],\"mapped\",[108]],[[120340,120340],\"mapped\",[109]],[[120341,120341],\"mapped\",[110]],[[120342,120342],\"mapped\",[111]],[[120343,120343],\"mapped\",[112]],[[120344,120344],\"mapped\",[113]],[[120345,120345],\"mapped\",[114]],[[120346,120346],\"mapped\",[115]],[[120347,120347],\"mapped\",[116]],[[120348,120348],\"mapped\",[117]],[[120349,120349],\"mapped\",[118]],[[120350,120350],\"mapped\",[119]],[[120351,120351],\"mapped\",[120]],[[120352,120352],\"mapped\",[121]],[[120353,120353],\"mapped\",[122]],[[120354,120354],\"mapped\",[97]],[[120355,120355],\"mapped\",[98]],[[120356,120356],\"mapped\",[99]],[[120357,120357],\"mapped\",[100]],[[120358,120358],\"mapped\",[101]],[[120359,120359],\"mapped\",[102]],[[120360,120360],\"mapped\",[103]],[[120361,120361],\"mapped\",[104]],[[120362,120362],\"mapped\",[105]],[[120363,120363],\"mapped\",[106]],[[120364,120364],\"mapped\",[107]],[[120365,120365],\"mapped\",[108]],[[120366,120366],\"mapped\",[109]],[[120367,120367],\"mapped\",[110]],[[120368,120368],\"mapped\",[111]],[[120369,120369],\"mapped\",[112]],[[120370,120370],\"mapped\",[113]],[[120371,120371],\"mapped\",[114]],[[120372,120372],\"mapped\",[115]],[[120373,120373],\"mapped\",[116]],[[120374,120374],\"mapped\",[117]],[[120375,120375],\"mapped\",[118]],[[120376,120376],\"mapped\",[119]],[[120377,120377],\"mapped\",[120]],[[120378,120378],\"mapped\",[121]],[[120379,120379],\"mapped\",[122]],[[120380,120380],\"mapped\",[97]],[[120381,120381],\"mapped\",[98]],[[120382,120382],\"mapped\",[99]],[[120383,120383],\"mapped\",[100]],[[120384,120384],\"mapped\",[101]],[[120385,120385],\"mapped\",[102]],[[120386,120386],\"mapped\",[103]],[[120387,120387],\"mapped\",[104]],[[120388,120388],\"mapped\",[105]],[[120389,120389],\"mapped\",[106]],[[120390,120390],\"mapped\",[107]],[[120391,120391],\"mapped\",[108]],[[120392,120392],\"mapped\",[109]],[[120393,120393],\"mapped\",[110]],[[120394,120394],\"mapped\",[111]],[[120395,120395],\"mapped\",[112]],[[120396,120396],\"mapped\",[113]],[[120397,120397],\"mapped\",[114]],[[120398,120398],\"mapped\",[115]],[[120399,120399],\"mapped\",[116]],[[120400,120400],\"mapped\",[117]],[[120401,120401],\"mapped\",[118]],[[120402,120402],\"mapped\",[119]],[[120403,120403],\"mapped\",[120]],[[120404,120404],\"mapped\",[121]],[[120405,120405],\"mapped\",[122]],[[120406,120406],\"mapped\",[97]],[[120407,120407],\"mapped\",[98]],[[120408,120408],\"mapped\",[99]],[[120409,120409],\"mapped\",[100]],[[120410,120410],\"mapped\",[101]],[[120411,120411],\"mapped\",[102]],[[120412,120412],\"mapped\",[103]],[[120413,120413],\"mapped\",[104]],[[120414,120414],\"mapped\",[105]],[[120415,120415],\"mapped\",[106]],[[120416,120416],\"mapped\",[107]],[[120417,120417],\"mapped\",[108]],[[120418,120418],\"mapped\",[109]],[[120419,120419],\"mapped\",[110]],[[120420,120420],\"mapped\",[111]],[[120421,120421],\"mapped\",[112]],[[120422,120422],\"mapped\",[113]],[[120423,120423],\"mapped\",[114]],[[120424,120424],\"mapped\",[115]],[[120425,120425],\"mapped\",[116]],[[120426,120426],\"mapped\",[117]],[[120427,120427],\"mapped\",[118]],[[120428,120428],\"mapped\",[119]],[[120429,120429],\"mapped\",[120]],[[120430,120430],\"mapped\",[121]],[[120431,120431],\"mapped\",[122]],[[120432,120432],\"mapped\",[97]],[[120433,120433],\"mapped\",[98]],[[120434,120434],\"mapped\",[99]],[[120435,120435],\"mapped\",[100]],[[120436,120436],\"mapped\",[101]],[[120437,120437],\"mapped\",[102]],[[120438,120438],\"mapped\",[103]],[[120439,120439],\"mapped\",[104]],[[120440,120440],\"mapped\",[105]],[[120441,120441],\"mapped\",[106]],[[120442,120442],\"mapped\",[107]],[[120443,120443],\"mapped\",[108]],[[120444,120444],\"mapped\",[109]],[[120445,120445],\"mapped\",[110]],[[120446,120446],\"mapped\",[111]],[[120447,120447],\"mapped\",[112]],[[120448,120448],\"mapped\",[113]],[[120449,120449],\"mapped\",[114]],[[120450,120450],\"mapped\",[115]],[[120451,120451],\"mapped\",[116]],[[120452,120452],\"mapped\",[117]],[[120453,120453],\"mapped\",[118]],[[120454,120454],\"mapped\",[119]],[[120455,120455],\"mapped\",[120]],[[120456,120456],\"mapped\",[121]],[[120457,120457],\"mapped\",[122]],[[120458,120458],\"mapped\",[97]],[[120459,120459],\"mapped\",[98]],[[120460,120460],\"mapped\",[99]],[[120461,120461],\"mapped\",[100]],[[120462,120462],\"mapped\",[101]],[[120463,120463],\"mapped\",[102]],[[120464,120464],\"mapped\",[103]],[[120465,120465],\"mapped\",[104]],[[120466,120466],\"mapped\",[105]],[[120467,120467],\"mapped\",[106]],[[120468,120468],\"mapped\",[107]],[[120469,120469],\"mapped\",[108]],[[120470,120470],\"mapped\",[109]],[[120471,120471],\"mapped\",[110]],[[120472,120472],\"mapped\",[111]],[[120473,120473],\"mapped\",[112]],[[120474,120474],\"mapped\",[113]],[[120475,120475],\"mapped\",[114]],[[120476,120476],\"mapped\",[115]],[[120477,120477],\"mapped\",[116]],[[120478,120478],\"mapped\",[117]],[[120479,120479],\"mapped\",[118]],[[120480,120480],\"mapped\",[119]],[[120481,120481],\"mapped\",[120]],[[120482,120482],\"mapped\",[121]],[[120483,120483],\"mapped\",[122]],[[120484,120484],\"mapped\",[305]],[[120485,120485],\"mapped\",[567]],[[120486,120487],\"disallowed\"],[[120488,120488],\"mapped\",[945]],[[120489,120489],\"mapped\",[946]],[[120490,120490],\"mapped\",[947]],[[120491,120491],\"mapped\",[948]],[[120492,120492],\"mapped\",[949]],[[120493,120493],\"mapped\",[950]],[[120494,120494],\"mapped\",[951]],[[120495,120495],\"mapped\",[952]],[[120496,120496],\"mapped\",[953]],[[120497,120497],\"mapped\",[954]],[[120498,120498],\"mapped\",[955]],[[120499,120499],\"mapped\",[956]],[[120500,120500],\"mapped\",[957]],[[120501,120501],\"mapped\",[958]],[[120502,120502],\"mapped\",[959]],[[120503,120503],\"mapped\",[960]],[[120504,120504],\"mapped\",[961]],[[120505,120505],\"mapped\",[952]],[[120506,120506],\"mapped\",[963]],[[120507,120507],\"mapped\",[964]],[[120508,120508],\"mapped\",[965]],[[120509,120509],\"mapped\",[966]],[[120510,120510],\"mapped\",[967]],[[120511,120511],\"mapped\",[968]],[[120512,120512],\"mapped\",[969]],[[120513,120513],\"mapped\",[8711]],[[120514,120514],\"mapped\",[945]],[[120515,120515],\"mapped\",[946]],[[120516,120516],\"mapped\",[947]],[[120517,120517],\"mapped\",[948]],[[120518,120518],\"mapped\",[949]],[[120519,120519],\"mapped\",[950]],[[120520,120520],\"mapped\",[951]],[[120521,120521],\"mapped\",[952]],[[120522,120522],\"mapped\",[953]],[[120523,120523],\"mapped\",[954]],[[120524,120524],\"mapped\",[955]],[[120525,120525],\"mapped\",[956]],[[120526,120526],\"mapped\",[957]],[[120527,120527],\"mapped\",[958]],[[120528,120528],\"mapped\",[959]],[[120529,120529],\"mapped\",[960]],[[120530,120530],\"mapped\",[961]],[[120531,120532],\"mapped\",[963]],[[120533,120533],\"mapped\",[964]],[[120534,120534],\"mapped\",[965]],[[120535,120535],\"mapped\",[966]],[[120536,120536],\"mapped\",[967]],[[120537,120537],\"mapped\",[968]],[[120538,120538],\"mapped\",[969]],[[120539,120539],\"mapped\",[8706]],[[120540,120540],\"mapped\",[949]],[[120541,120541],\"mapped\",[952]],[[120542,120542],\"mapped\",[954]],[[120543,120543],\"mapped\",[966]],[[120544,120544],\"mapped\",[961]],[[120545,120545],\"mapped\",[960]],[[120546,120546],\"mapped\",[945]],[[120547,120547],\"mapped\",[946]],[[120548,120548],\"mapped\",[947]],[[120549,120549],\"mapped\",[948]],[[120550,120550],\"mapped\",[949]],[[120551,120551],\"mapped\",[950]],[[120552,120552],\"mapped\",[951]],[[120553,120553],\"mapped\",[952]],[[120554,120554],\"mapped\",[953]],[[120555,120555],\"mapped\",[954]],[[120556,120556],\"mapped\",[955]],[[120557,120557],\"mapped\",[956]],[[120558,120558],\"mapped\",[957]],[[120559,120559],\"mapped\",[958]],[[120560,120560],\"mapped\",[959]],[[120561,120561],\"mapped\",[960]],[[120562,120562],\"mapped\",[961]],[[120563,120563],\"mapped\",[952]],[[120564,120564],\"mapped\",[963]],[[120565,120565],\"mapped\",[964]],[[120566,120566],\"mapped\",[965]],[[120567,120567],\"mapped\",[966]],[[120568,120568],\"mapped\",[967]],[[120569,120569],\"mapped\",[968]],[[120570,120570],\"mapped\",[969]],[[120571,120571],\"mapped\",[8711]],[[120572,120572],\"mapped\",[945]],[[120573,120573],\"mapped\",[946]],[[120574,120574],\"mapped\",[947]],[[120575,120575],\"mapped\",[948]],[[120576,120576],\"mapped\",[949]],[[120577,120577],\"mapped\",[950]],[[120578,120578],\"mapped\",[951]],[[120579,120579],\"mapped\",[952]],[[120580,120580],\"mapped\",[953]],[[120581,120581],\"mapped\",[954]],[[120582,120582],\"mapped\",[955]],[[120583,120583],\"mapped\",[956]],[[120584,120584],\"mapped\",[957]],[[120585,120585],\"mapped\",[958]],[[120586,120586],\"mapped\",[959]],[[120587,120587],\"mapped\",[960]],[[120588,120588],\"mapped\",[961]],[[120589,120590],\"mapped\",[963]],[[120591,120591],\"mapped\",[964]],[[120592,120592],\"mapped\",[965]],[[120593,120593],\"mapped\",[966]],[[120594,120594],\"mapped\",[967]],[[120595,120595],\"mapped\",[968]],[[120596,120596],\"mapped\",[969]],[[120597,120597],\"mapped\",[8706]],[[120598,120598],\"mapped\",[949]],[[120599,120599],\"mapped\",[952]],[[120600,120600],\"mapped\",[954]],[[120601,120601],\"mapped\",[966]],[[120602,120602],\"mapped\",[961]],[[120603,120603],\"mapped\",[960]],[[120604,120604],\"mapped\",[945]],[[120605,120605],\"mapped\",[946]],[[120606,120606],\"mapped\",[947]],[[120607,120607],\"mapped\",[948]],[[120608,120608],\"mapped\",[949]],[[120609,120609],\"mapped\",[950]],[[120610,120610],\"mapped\",[951]],[[120611,120611],\"mapped\",[952]],[[120612,120612],\"mapped\",[953]],[[120613,120613],\"mapped\",[954]],[[120614,120614],\"mapped\",[955]],[[120615,120615],\"mapped\",[956]],[[120616,120616],\"mapped\",[957]],[[120617,120617],\"mapped\",[958]],[[120618,120618],\"mapped\",[959]],[[120619,120619],\"mapped\",[960]],[[120620,120620],\"mapped\",[961]],[[120621,120621],\"mapped\",[952]],[[120622,120622],\"mapped\",[963]],[[120623,120623],\"mapped\",[964]],[[120624,120624],\"mapped\",[965]],[[120625,120625],\"mapped\",[966]],[[120626,120626],\"mapped\",[967]],[[120627,120627],\"mapped\",[968]],[[120628,120628],\"mapped\",[969]],[[120629,120629],\"mapped\",[8711]],[[120630,120630],\"mapped\",[945]],[[120631,120631],\"mapped\",[946]],[[120632,120632],\"mapped\",[947]],[[120633,120633],\"mapped\",[948]],[[120634,120634],\"mapped\",[949]],[[120635,120635],\"mapped\",[950]],[[120636,120636],\"mapped\",[951]],[[120637,120637],\"mapped\",[952]],[[120638,120638],\"mapped\",[953]],[[120639,120639],\"mapped\",[954]],[[120640,120640],\"mapped\",[955]],[[120641,120641],\"mapped\",[956]],[[120642,120642],\"mapped\",[957]],[[120643,120643],\"mapped\",[958]],[[120644,120644],\"mapped\",[959]],[[120645,120645],\"mapped\",[960]],[[120646,120646],\"mapped\",[961]],[[120647,120648],\"mapped\",[963]],[[120649,120649],\"mapped\",[964]],[[120650,120650],\"mapped\",[965]],[[120651,120651],\"mapped\",[966]],[[120652,120652],\"mapped\",[967]],[[120653,120653],\"mapped\",[968]],[[120654,120654],\"mapped\",[969]],[[120655,120655],\"mapped\",[8706]],[[120656,120656],\"mapped\",[949]],[[120657,120657],\"mapped\",[952]],[[120658,120658],\"mapped\",[954]],[[120659,120659],\"mapped\",[966]],[[120660,120660],\"mapped\",[961]],[[120661,120661],\"mapped\",[960]],[[120662,120662],\"mapped\",[945]],[[120663,120663],\"mapped\",[946]],[[120664,120664],\"mapped\",[947]],[[120665,120665],\"mapped\",[948]],[[120666,120666],\"mapped\",[949]],[[120667,120667],\"mapped\",[950]],[[120668,120668],\"mapped\",[951]],[[120669,120669],\"mapped\",[952]],[[120670,120670],\"mapped\",[953]],[[120671,120671],\"mapped\",[954]],[[120672,120672],\"mapped\",[955]],[[120673,120673],\"mapped\",[956]],[[120674,120674],\"mapped\",[957]],[[120675,120675],\"mapped\",[958]],[[120676,120676],\"mapped\",[959]],[[120677,120677],\"mapped\",[960]],[[120678,120678],\"mapped\",[961]],[[120679,120679],\"mapped\",[952]],[[120680,120680],\"mapped\",[963]],[[120681,120681],\"mapped\",[964]],[[120682,120682],\"mapped\",[965]],[[120683,120683],\"mapped\",[966]],[[120684,120684],\"mapped\",[967]],[[120685,120685],\"mapped\",[968]],[[120686,120686],\"mapped\",[969]],[[120687,120687],\"mapped\",[8711]],[[120688,120688],\"mapped\",[945]],[[120689,120689],\"mapped\",[946]],[[120690,120690],\"mapped\",[947]],[[120691,120691],\"mapped\",[948]],[[120692,120692],\"mapped\",[949]],[[120693,120693],\"mapped\",[950]],[[120694,120694],\"mapped\",[951]],[[120695,120695],\"mapped\",[952]],[[120696,120696],\"mapped\",[953]],[[120697,120697],\"mapped\",[954]],[[120698,120698],\"mapped\",[955]],[[120699,120699],\"mapped\",[956]],[[120700,120700],\"mapped\",[957]],[[120701,120701],\"mapped\",[958]],[[120702,120702],\"mapped\",[959]],[[120703,120703],\"mapped\",[960]],[[120704,120704],\"mapped\",[961]],[[120705,120706],\"mapped\",[963]],[[120707,120707],\"mapped\",[964]],[[120708,120708],\"mapped\",[965]],[[120709,120709],\"mapped\",[966]],[[120710,120710],\"mapped\",[967]],[[120711,120711],\"mapped\",[968]],[[120712,120712],\"mapped\",[969]],[[120713,120713],\"mapped\",[8706]],[[120714,120714],\"mapped\",[949]],[[120715,120715],\"mapped\",[952]],[[120716,120716],\"mapped\",[954]],[[120717,120717],\"mapped\",[966]],[[120718,120718],\"mapped\",[961]],[[120719,120719],\"mapped\",[960]],[[120720,120720],\"mapped\",[945]],[[120721,120721],\"mapped\",[946]],[[120722,120722],\"mapped\",[947]],[[120723,120723],\"mapped\",[948]],[[120724,120724],\"mapped\",[949]],[[120725,120725],\"mapped\",[950]],[[120726,120726],\"mapped\",[951]],[[120727,120727],\"mapped\",[952]],[[120728,120728],\"mapped\",[953]],[[120729,120729],\"mapped\",[954]],[[120730,120730],\"mapped\",[955]],[[120731,120731],\"mapped\",[956]],[[120732,120732],\"mapped\",[957]],[[120733,120733],\"mapped\",[958]],[[120734,120734],\"mapped\",[959]],[[120735,120735],\"mapped\",[960]],[[120736,120736],\"mapped\",[961]],[[120737,120737],\"mapped\",[952]],[[120738,120738],\"mapped\",[963]],[[120739,120739],\"mapped\",[964]],[[120740,120740],\"mapped\",[965]],[[120741,120741],\"mapped\",[966]],[[120742,120742],\"mapped\",[967]],[[120743,120743],\"mapped\",[968]],[[120744,120744],\"mapped\",[969]],[[120745,120745],\"mapped\",[8711]],[[120746,120746],\"mapped\",[945]],[[120747,120747],\"mapped\",[946]],[[120748,120748],\"mapped\",[947]],[[120749,120749],\"mapped\",[948]],[[120750,120750],\"mapped\",[949]],[[120751,120751],\"mapped\",[950]],[[120752,120752],\"mapped\",[951]],[[120753,120753],\"mapped\",[952]],[[120754,120754],\"mapped\",[953]],[[120755,120755],\"mapped\",[954]],[[120756,120756],\"mapped\",[955]],[[120757,120757],\"mapped\",[956]],[[120758,120758],\"mapped\",[957]],[[120759,120759],\"mapped\",[958]],[[120760,120760],\"mapped\",[959]],[[120761,120761],\"mapped\",[960]],[[120762,120762],\"mapped\",[961]],[[120763,120764],\"mapped\",[963]],[[120765,120765],\"mapped\",[964]],[[120766,120766],\"mapped\",[965]],[[120767,120767],\"mapped\",[966]],[[120768,120768],\"mapped\",[967]],[[120769,120769],\"mapped\",[968]],[[120770,120770],\"mapped\",[969]],[[120771,120771],\"mapped\",[8706]],[[120772,120772],\"mapped\",[949]],[[120773,120773],\"mapped\",[952]],[[120774,120774],\"mapped\",[954]],[[120775,120775],\"mapped\",[966]],[[120776,120776],\"mapped\",[961]],[[120777,120777],\"mapped\",[960]],[[120778,120779],\"mapped\",[989]],[[120780,120781],\"disallowed\"],[[120782,120782],\"mapped\",[48]],[[120783,120783],\"mapped\",[49]],[[120784,120784],\"mapped\",[50]],[[120785,120785],\"mapped\",[51]],[[120786,120786],\"mapped\",[52]],[[120787,120787],\"mapped\",[53]],[[120788,120788],\"mapped\",[54]],[[120789,120789],\"mapped\",[55]],[[120790,120790],\"mapped\",[56]],[[120791,120791],\"mapped\",[57]],[[120792,120792],\"mapped\",[48]],[[120793,120793],\"mapped\",[49]],[[120794,120794],\"mapped\",[50]],[[120795,120795],\"mapped\",[51]],[[120796,120796],\"mapped\",[52]],[[120797,120797],\"mapped\",[53]],[[120798,120798],\"mapped\",[54]],[[120799,120799],\"mapped\",[55]],[[120800,120800],\"mapped\",[56]],[[120801,120801],\"mapped\",[57]],[[120802,120802],\"mapped\",[48]],[[120803,120803],\"mapped\",[49]],[[120804,120804],\"mapped\",[50]],[[120805,120805],\"mapped\",[51]],[[120806,120806],\"mapped\",[52]],[[120807,120807],\"mapped\",[53]],[[120808,120808],\"mapped\",[54]],[[120809,120809],\"mapped\",[55]],[[120810,120810],\"mapped\",[56]],[[120811,120811],\"mapped\",[57]],[[120812,120812],\"mapped\",[48]],[[120813,120813],\"mapped\",[49]],[[120814,120814],\"mapped\",[50]],[[120815,120815],\"mapped\",[51]],[[120816,120816],\"mapped\",[52]],[[120817,120817],\"mapped\",[53]],[[120818,120818],\"mapped\",[54]],[[120819,120819],\"mapped\",[55]],[[120820,120820],\"mapped\",[56]],[[120821,120821],\"mapped\",[57]],[[120822,120822],\"mapped\",[48]],[[120823,120823],\"mapped\",[49]],[[120824,120824],\"mapped\",[50]],[[120825,120825],\"mapped\",[51]],[[120826,120826],\"mapped\",[52]],[[120827,120827],\"mapped\",[53]],[[120828,120828],\"mapped\",[54]],[[120829,120829],\"mapped\",[55]],[[120830,120830],\"mapped\",[56]],[[120831,120831],\"mapped\",[57]],[[120832,121343],\"valid\",[],\"NV8\"],[[121344,121398],\"valid\"],[[121399,121402],\"valid\",[],\"NV8\"],[[121403,121452],\"valid\"],[[121453,121460],\"valid\",[],\"NV8\"],[[121461,121461],\"valid\"],[[121462,121475],\"valid\",[],\"NV8\"],[[121476,121476],\"valid\"],[[121477,121483],\"valid\",[],\"NV8\"],[[121484,121498],\"disallowed\"],[[121499,121503],\"valid\"],[[121504,121504],\"disallowed\"],[[121505,121519],\"valid\"],[[121520,124927],\"disallowed\"],[[124928,125124],\"valid\"],[[125125,125126],\"disallowed\"],[[125127,125135],\"valid\",[],\"NV8\"],[[125136,125142],\"valid\"],[[125143,126463],\"disallowed\"],[[126464,126464],\"mapped\",[1575]],[[126465,126465],\"mapped\",[1576]],[[126466,126466],\"mapped\",[1580]],[[126467,126467],\"mapped\",[1583]],[[126468,126468],\"disallowed\"],[[126469,126469],\"mapped\",[1608]],[[126470,126470],\"mapped\",[1586]],[[126471,126471],\"mapped\",[1581]],[[126472,126472],\"mapped\",[1591]],[[126473,126473],\"mapped\",[1610]],[[126474,126474],\"mapped\",[1603]],[[126475,126475],\"mapped\",[1604]],[[126476,126476],\"mapped\",[1605]],[[126477,126477],\"mapped\",[1606]],[[126478,126478],\"mapped\",[1587]],[[126479,126479],\"mapped\",[1593]],[[126480,126480],\"mapped\",[1601]],[[126481,126481],\"mapped\",[1589]],[[126482,126482],\"mapped\",[1602]],[[126483,126483],\"mapped\",[1585]],[[126484,126484],\"mapped\",[1588]],[[126485,126485],\"mapped\",[1578]],[[126486,126486],\"mapped\",[1579]],[[126487,126487],\"mapped\",[1582]],[[126488,126488],\"mapped\",[1584]],[[126489,126489],\"mapped\",[1590]],[[126490,126490],\"mapped\",[1592]],[[126491,126491],\"mapped\",[1594]],[[126492,126492],\"mapped\",[1646]],[[126493,126493],\"mapped\",[1722]],[[126494,126494],\"mapped\",[1697]],[[126495,126495],\"mapped\",[1647]],[[126496,126496],\"disallowed\"],[[126497,126497],\"mapped\",[1576]],[[126498,126498],\"mapped\",[1580]],[[126499,126499],\"disallowed\"],[[126500,126500],\"mapped\",[1607]],[[126501,126502],\"disallowed\"],[[126503,126503],\"mapped\",[1581]],[[126504,126504],\"disallowed\"],[[126505,126505],\"mapped\",[1610]],[[126506,126506],\"mapped\",[1603]],[[126507,126507],\"mapped\",[1604]],[[126508,126508],\"mapped\",[1605]],[[126509,126509],\"mapped\",[1606]],[[126510,126510],\"mapped\",[1587]],[[126511,126511],\"mapped\",[1593]],[[126512,126512],\"mapped\",[1601]],[[126513,126513],\"mapped\",[1589]],[[126514,126514],\"mapped\",[1602]],[[126515,126515],\"disallowed\"],[[126516,126516],\"mapped\",[1588]],[[126517,126517],\"mapped\",[1578]],[[126518,126518],\"mapped\",[1579]],[[126519,126519],\"mapped\",[1582]],[[126520,126520],\"disallowed\"],[[126521,126521],\"mapped\",[1590]],[[126522,126522],\"disallowed\"],[[126523,126523],\"mapped\",[1594]],[[126524,126529],\"disallowed\"],[[126530,126530],\"mapped\",[1580]],[[126531,126534],\"disallowed\"],[[126535,126535],\"mapped\",[1581]],[[126536,126536],\"disallowed\"],[[126537,126537],\"mapped\",[1610]],[[126538,126538],\"disallowed\"],[[126539,126539],\"mapped\",[1604]],[[126540,126540],\"disallowed\"],[[126541,126541],\"mapped\",[1606]],[[126542,126542],\"mapped\",[1587]],[[126543,126543],\"mapped\",[1593]],[[126544,126544],\"disallowed\"],[[126545,126545],\"mapped\",[1589]],[[126546,126546],\"mapped\",[1602]],[[126547,126547],\"disallowed\"],[[126548,126548],\"mapped\",[1588]],[[126549,126550],\"disallowed\"],[[126551,126551],\"mapped\",[1582]],[[126552,126552],\"disallowed\"],[[126553,126553],\"mapped\",[1590]],[[126554,126554],\"disallowed\"],[[126555,126555],\"mapped\",[1594]],[[126556,126556],\"disallowed\"],[[126557,126557],\"mapped\",[1722]],[[126558,126558],\"disallowed\"],[[126559,126559],\"mapped\",[1647]],[[126560,126560],\"disallowed\"],[[126561,126561],\"mapped\",[1576]],[[126562,126562],\"mapped\",[1580]],[[126563,126563],\"disallowed\"],[[126564,126564],\"mapped\",[1607]],[[126565,126566],\"disallowed\"],[[126567,126567],\"mapped\",[1581]],[[126568,126568],\"mapped\",[1591]],[[126569,126569],\"mapped\",[1610]],[[126570,126570],\"mapped\",[1603]],[[126571,126571],\"disallowed\"],[[126572,126572],\"mapped\",[1605]],[[126573,126573],\"mapped\",[1606]],[[126574,126574],\"mapped\",[1587]],[[126575,126575],\"mapped\",[1593]],[[126576,126576],\"mapped\",[1601]],[[126577,126577],\"mapped\",[1589]],[[126578,126578],\"mapped\",[1602]],[[126579,126579],\"disallowed\"],[[126580,126580],\"mapped\",[1588]],[[126581,126581],\"mapped\",[1578]],[[126582,126582],\"mapped\",[1579]],[[126583,126583],\"mapped\",[1582]],[[126584,126584],\"disallowed\"],[[126585,126585],\"mapped\",[1590]],[[126586,126586],\"mapped\",[1592]],[[126587,126587],\"mapped\",[1594]],[[126588,126588],\"mapped\",[1646]],[[126589,126589],\"disallowed\"],[[126590,126590],\"mapped\",[1697]],[[126591,126591],\"disallowed\"],[[126592,126592],\"mapped\",[1575]],[[126593,126593],\"mapped\",[1576]],[[126594,126594],\"mapped\",[1580]],[[126595,126595],\"mapped\",[1583]],[[126596,126596],\"mapped\",[1607]],[[126597,126597],\"mapped\",[1608]],[[126598,126598],\"mapped\",[1586]],[[126599,126599],\"mapped\",[1581]],[[126600,126600],\"mapped\",[1591]],[[126601,126601],\"mapped\",[1610]],[[126602,126602],\"disallowed\"],[[126603,126603],\"mapped\",[1604]],[[126604,126604],\"mapped\",[1605]],[[126605,126605],\"mapped\",[1606]],[[126606,126606],\"mapped\",[1587]],[[126607,126607],\"mapped\",[1593]],[[126608,126608],\"mapped\",[1601]],[[126609,126609],\"mapped\",[1589]],[[126610,126610],\"mapped\",[1602]],[[126611,126611],\"mapped\",[1585]],[[126612,126612],\"mapped\",[1588]],[[126613,126613],\"mapped\",[1578]],[[126614,126614],\"mapped\",[1579]],[[126615,126615],\"mapped\",[1582]],[[126616,126616],\"mapped\",[1584]],[[126617,126617],\"mapped\",[1590]],[[126618,126618],\"mapped\",[1592]],[[126619,126619],\"mapped\",[1594]],[[126620,126624],\"disallowed\"],[[126625,126625],\"mapped\",[1576]],[[126626,126626],\"mapped\",[1580]],[[126627,126627],\"mapped\",[1583]],[[126628,126628],\"disallowed\"],[[126629,126629],\"mapped\",[1608]],[[126630,126630],\"mapped\",[1586]],[[126631,126631],\"mapped\",[1581]],[[126632,126632],\"mapped\",[1591]],[[126633,126633],\"mapped\",[1610]],[[126634,126634],\"disallowed\"],[[126635,126635],\"mapped\",[1604]],[[126636,126636],\"mapped\",[1605]],[[126637,126637],\"mapped\",[1606]],[[126638,126638],\"mapped\",[1587]],[[126639,126639],\"mapped\",[1593]],[[126640,126640],\"mapped\",[1601]],[[126641,126641],\"mapped\",[1589]],[[126642,126642],\"mapped\",[1602]],[[126643,126643],\"mapped\",[1585]],[[126644,126644],\"mapped\",[1588]],[[126645,126645],\"mapped\",[1578]],[[126646,126646],\"mapped\",[1579]],[[126647,126647],\"mapped\",[1582]],[[126648,126648],\"mapped\",[1584]],[[126649,126649],\"mapped\",[1590]],[[126650,126650],\"mapped\",[1592]],[[126651,126651],\"mapped\",[1594]],[[126652,126703],\"disallowed\"],[[126704,126705],\"valid\",[],\"NV8\"],[[126706,126975],\"disallowed\"],[[126976,127019],\"valid\",[],\"NV8\"],[[127020,127023],\"disallowed\"],[[127024,127123],\"valid\",[],\"NV8\"],[[127124,127135],\"disallowed\"],[[127136,127150],\"valid\",[],\"NV8\"],[[127151,127152],\"disallowed\"],[[127153,127166],\"valid\",[],\"NV8\"],[[127167,127167],\"valid\",[],\"NV8\"],[[127168,127168],\"disallowed\"],[[127169,127183],\"valid\",[],\"NV8\"],[[127184,127184],\"disallowed\"],[[127185,127199],\"valid\",[],\"NV8\"],[[127200,127221],\"valid\",[],\"NV8\"],[[127222,127231],\"disallowed\"],[[127232,127232],\"disallowed\"],[[127233,127233],\"disallowed_STD3_mapped\",[48,44]],[[127234,127234],\"disallowed_STD3_mapped\",[49,44]],[[127235,127235],\"disallowed_STD3_mapped\",[50,44]],[[127236,127236],\"disallowed_STD3_mapped\",[51,44]],[[127237,127237],\"disallowed_STD3_mapped\",[52,44]],[[127238,127238],\"disallowed_STD3_mapped\",[53,44]],[[127239,127239],\"disallowed_STD3_mapped\",[54,44]],[[127240,127240],\"disallowed_STD3_mapped\",[55,44]],[[127241,127241],\"disallowed_STD3_mapped\",[56,44]],[[127242,127242],\"disallowed_STD3_mapped\",[57,44]],[[127243,127244],\"valid\",[],\"NV8\"],[[127245,127247],\"disallowed\"],[[127248,127248],\"disallowed_STD3_mapped\",[40,97,41]],[[127249,127249],\"disallowed_STD3_mapped\",[40,98,41]],[[127250,127250],\"disallowed_STD3_mapped\",[40,99,41]],[[127251,127251],\"disallowed_STD3_mapped\",[40,100,41]],[[127252,127252],\"disallowed_STD3_mapped\",[40,101,41]],[[127253,127253],\"disallowed_STD3_mapped\",[40,102,41]],[[127254,127254],\"disallowed_STD3_mapped\",[40,103,41]],[[127255,127255],\"disallowed_STD3_mapped\",[40,104,41]],[[127256,127256],\"disallowed_STD3_mapped\",[40,105,41]],[[127257,127257],\"disallowed_STD3_mapped\",[40,106,41]],[[127258,127258],\"disallowed_STD3_mapped\",[40,107,41]],[[127259,127259],\"disallowed_STD3_mapped\",[40,108,41]],[[127260,127260],\"disallowed_STD3_mapped\",[40,109,41]],[[127261,127261],\"disallowed_STD3_mapped\",[40,110,41]],[[127262,127262],\"disallowed_STD3_mapped\",[40,111,41]],[[127263,127263],\"disallowed_STD3_mapped\",[40,112,41]],[[127264,127264],\"disallowed_STD3_mapped\",[40,113,41]],[[127265,127265],\"disallowed_STD3_mapped\",[40,114,41]],[[127266,127266],\"disallowed_STD3_mapped\",[40,115,41]],[[127267,127267],\"disallowed_STD3_mapped\",[40,116,41]],[[127268,127268],\"disallowed_STD3_mapped\",[40,117,41]],[[127269,127269],\"disallowed_STD3_mapped\",[40,118,41]],[[127270,127270],\"disallowed_STD3_mapped\",[40,119,41]],[[127271,127271],\"disallowed_STD3_mapped\",[40,120,41]],[[127272,127272],\"disallowed_STD3_mapped\",[40,121,41]],[[127273,127273],\"disallowed_STD3_mapped\",[40,122,41]],[[127274,127274],\"mapped\",[12308,115,12309]],[[127275,127275],\"mapped\",[99]],[[127276,127276],\"mapped\",[114]],[[127277,127277],\"mapped\",[99,100]],[[127278,127278],\"mapped\",[119,122]],[[127279,127279],\"disallowed\"],[[127280,127280],\"mapped\",[97]],[[127281,127281],\"mapped\",[98]],[[127282,127282],\"mapped\",[99]],[[127283,127283],\"mapped\",[100]],[[127284,127284],\"mapped\",[101]],[[127285,127285],\"mapped\",[102]],[[127286,127286],\"mapped\",[103]],[[127287,127287],\"mapped\",[104]],[[127288,127288],\"mapped\",[105]],[[127289,127289],\"mapped\",[106]],[[127290,127290],\"mapped\",[107]],[[127291,127291],\"mapped\",[108]],[[127292,127292],\"mapped\",[109]],[[127293,127293],\"mapped\",[110]],[[127294,127294],\"mapped\",[111]],[[127295,127295],\"mapped\",[112]],[[127296,127296],\"mapped\",[113]],[[127297,127297],\"mapped\",[114]],[[127298,127298],\"mapped\",[115]],[[127299,127299],\"mapped\",[116]],[[127300,127300],\"mapped\",[117]],[[127301,127301],\"mapped\",[118]],[[127302,127302],\"mapped\",[119]],[[127303,127303],\"mapped\",[120]],[[127304,127304],\"mapped\",[121]],[[127305,127305],\"mapped\",[122]],[[127306,127306],\"mapped\",[104,118]],[[127307,127307],\"mapped\",[109,118]],[[127308,127308],\"mapped\",[115,100]],[[127309,127309],\"mapped\",[115,115]],[[127310,127310],\"mapped\",[112,112,118]],[[127311,127311],\"mapped\",[119,99]],[[127312,127318],\"valid\",[],\"NV8\"],[[127319,127319],\"valid\",[],\"NV8\"],[[127320,127326],\"valid\",[],\"NV8\"],[[127327,127327],\"valid\",[],\"NV8\"],[[127328,127337],\"valid\",[],\"NV8\"],[[127338,127338],\"mapped\",[109,99]],[[127339,127339],\"mapped\",[109,100]],[[127340,127343],\"disallowed\"],[[127344,127352],\"valid\",[],\"NV8\"],[[127353,127353],\"valid\",[],\"NV8\"],[[127354,127354],\"valid\",[],\"NV8\"],[[127355,127356],\"valid\",[],\"NV8\"],[[127357,127358],\"valid\",[],\"NV8\"],[[127359,127359],\"valid\",[],\"NV8\"],[[127360,127369],\"valid\",[],\"NV8\"],[[127370,127373],\"valid\",[],\"NV8\"],[[127374,127375],\"valid\",[],\"NV8\"],[[127376,127376],\"mapped\",[100,106]],[[127377,127386],\"valid\",[],\"NV8\"],[[127387,127461],\"disallowed\"],[[127462,127487],\"valid\",[],\"NV8\"],[[127488,127488],\"mapped\",[12411,12363]],[[127489,127489],\"mapped\",[12467,12467]],[[127490,127490],\"mapped\",[12469]],[[127491,127503],\"disallowed\"],[[127504,127504],\"mapped\",[25163]],[[127505,127505],\"mapped\",[23383]],[[127506,127506],\"mapped\",[21452]],[[127507,127507],\"mapped\",[12487]],[[127508,127508],\"mapped\",[20108]],[[127509,127509],\"mapped\",[22810]],[[127510,127510],\"mapped\",[35299]],[[127511,127511],\"mapped\",[22825]],[[127512,127512],\"mapped\",[20132]],[[127513,127513],\"mapped\",[26144]],[[127514,127514],\"mapped\",[28961]],[[127515,127515],\"mapped\",[26009]],[[127516,127516],\"mapped\",[21069]],[[127517,127517],\"mapped\",[24460]],[[127518,127518],\"mapped\",[20877]],[[127519,127519],\"mapped\",[26032]],[[127520,127520],\"mapped\",[21021]],[[127521,127521],\"mapped\",[32066]],[[127522,127522],\"mapped\",[29983]],[[127523,127523],\"mapped\",[36009]],[[127524,127524],\"mapped\",[22768]],[[127525,127525],\"mapped\",[21561]],[[127526,127526],\"mapped\",[28436]],[[127527,127527],\"mapped\",[25237]],[[127528,127528],\"mapped\",[25429]],[[127529,127529],\"mapped\",[19968]],[[127530,127530],\"mapped\",[19977]],[[127531,127531],\"mapped\",[36938]],[[127532,127532],\"mapped\",[24038]],[[127533,127533],\"mapped\",[20013]],[[127534,127534],\"mapped\",[21491]],[[127535,127535],\"mapped\",[25351]],[[127536,127536],\"mapped\",[36208]],[[127537,127537],\"mapped\",[25171]],[[127538,127538],\"mapped\",[31105]],[[127539,127539],\"mapped\",[31354]],[[127540,127540],\"mapped\",[21512]],[[127541,127541],\"mapped\",[28288]],[[127542,127542],\"mapped\",[26377]],[[127543,127543],\"mapped\",[26376]],[[127544,127544],\"mapped\",[30003]],[[127545,127545],\"mapped\",[21106]],[[127546,127546],\"mapped\",[21942]],[[127547,127551],\"disallowed\"],[[127552,127552],\"mapped\",[12308,26412,12309]],[[127553,127553],\"mapped\",[12308,19977,12309]],[[127554,127554],\"mapped\",[12308,20108,12309]],[[127555,127555],\"mapped\",[12308,23433,12309]],[[127556,127556],\"mapped\",[12308,28857,12309]],[[127557,127557],\"mapped\",[12308,25171,12309]],[[127558,127558],\"mapped\",[12308,30423,12309]],[[127559,127559],\"mapped\",[12308,21213,12309]],[[127560,127560],\"mapped\",[12308,25943,12309]],[[127561,127567],\"disallowed\"],[[127568,127568],\"mapped\",[24471]],[[127569,127569],\"mapped\",[21487]],[[127570,127743],\"disallowed\"],[[127744,127776],\"valid\",[],\"NV8\"],[[127777,127788],\"valid\",[],\"NV8\"],[[127789,127791],\"valid\",[],\"NV8\"],[[127792,127797],\"valid\",[],\"NV8\"],[[127798,127798],\"valid\",[],\"NV8\"],[[127799,127868],\"valid\",[],\"NV8\"],[[127869,127869],\"valid\",[],\"NV8\"],[[127870,127871],\"valid\",[],\"NV8\"],[[127872,127891],\"valid\",[],\"NV8\"],[[127892,127903],\"valid\",[],\"NV8\"],[[127904,127940],\"valid\",[],\"NV8\"],[[127941,127941],\"valid\",[],\"NV8\"],[[127942,127946],\"valid\",[],\"NV8\"],[[127947,127950],\"valid\",[],\"NV8\"],[[127951,127955],\"valid\",[],\"NV8\"],[[127956,127967],\"valid\",[],\"NV8\"],[[127968,127984],\"valid\",[],\"NV8\"],[[127985,127991],\"valid\",[],\"NV8\"],[[127992,127999],\"valid\",[],\"NV8\"],[[128000,128062],\"valid\",[],\"NV8\"],[[128063,128063],\"valid\",[],\"NV8\"],[[128064,128064],\"valid\",[],\"NV8\"],[[128065,128065],\"valid\",[],\"NV8\"],[[128066,128247],\"valid\",[],\"NV8\"],[[128248,128248],\"valid\",[],\"NV8\"],[[128249,128252],\"valid\",[],\"NV8\"],[[128253,128254],\"valid\",[],\"NV8\"],[[128255,128255],\"valid\",[],\"NV8\"],[[128256,128317],\"valid\",[],\"NV8\"],[[128318,128319],\"valid\",[],\"NV8\"],[[128320,128323],\"valid\",[],\"NV8\"],[[128324,128330],\"valid\",[],\"NV8\"],[[128331,128335],\"valid\",[],\"NV8\"],[[128336,128359],\"valid\",[],\"NV8\"],[[128360,128377],\"valid\",[],\"NV8\"],[[128378,128378],\"disallowed\"],[[128379,128419],\"valid\",[],\"NV8\"],[[128420,128420],\"disallowed\"],[[128421,128506],\"valid\",[],\"NV8\"],[[128507,128511],\"valid\",[],\"NV8\"],[[128512,128512],\"valid\",[],\"NV8\"],[[128513,128528],\"valid\",[],\"NV8\"],[[128529,128529],\"valid\",[],\"NV8\"],[[128530,128532],\"valid\",[],\"NV8\"],[[128533,128533],\"valid\",[],\"NV8\"],[[128534,128534],\"valid\",[],\"NV8\"],[[128535,128535],\"valid\",[],\"NV8\"],[[128536,128536],\"valid\",[],\"NV8\"],[[128537,128537],\"valid\",[],\"NV8\"],[[128538,128538],\"valid\",[],\"NV8\"],[[128539,128539],\"valid\",[],\"NV8\"],[[128540,128542],\"valid\",[],\"NV8\"],[[128543,128543],\"valid\",[],\"NV8\"],[[128544,128549],\"valid\",[],\"NV8\"],[[128550,128551],\"valid\",[],\"NV8\"],[[128552,128555],\"valid\",[],\"NV8\"],[[128556,128556],\"valid\",[],\"NV8\"],[[128557,128557],\"valid\",[],\"NV8\"],[[128558,128559],\"valid\",[],\"NV8\"],[[128560,128563],\"valid\",[],\"NV8\"],[[128564,128564],\"valid\",[],\"NV8\"],[[128565,128576],\"valid\",[],\"NV8\"],[[128577,128578],\"valid\",[],\"NV8\"],[[128579,128580],\"valid\",[],\"NV8\"],[[128581,128591],\"valid\",[],\"NV8\"],[[128592,128639],\"valid\",[],\"NV8\"],[[128640,128709],\"valid\",[],\"NV8\"],[[128710,128719],\"valid\",[],\"NV8\"],[[128720,128720],\"valid\",[],\"NV8\"],[[128721,128735],\"disallowed\"],[[128736,128748],\"valid\",[],\"NV8\"],[[128749,128751],\"disallowed\"],[[128752,128755],\"valid\",[],\"NV8\"],[[128756,128767],\"disallowed\"],[[128768,128883],\"valid\",[],\"NV8\"],[[128884,128895],\"disallowed\"],[[128896,128980],\"valid\",[],\"NV8\"],[[128981,129023],\"disallowed\"],[[129024,129035],\"valid\",[],\"NV8\"],[[129036,129039],\"disallowed\"],[[129040,129095],\"valid\",[],\"NV8\"],[[129096,129103],\"disallowed\"],[[129104,129113],\"valid\",[],\"NV8\"],[[129114,129119],\"disallowed\"],[[129120,129159],\"valid\",[],\"NV8\"],[[129160,129167],\"disallowed\"],[[129168,129197],\"valid\",[],\"NV8\"],[[129198,129295],\"disallowed\"],[[129296,129304],\"valid\",[],\"NV8\"],[[129305,129407],\"disallowed\"],[[129408,129412],\"valid\",[],\"NV8\"],[[129413,129471],\"disallowed\"],[[129472,129472],\"valid\",[],\"NV8\"],[[129473,131069],\"disallowed\"],[[131070,131071],\"disallowed\"],[[131072,173782],\"valid\"],[[173783,173823],\"disallowed\"],[[173824,177972],\"valid\"],[[177973,177983],\"disallowed\"],[[177984,178205],\"valid\"],[[178206,178207],\"disallowed\"],[[178208,183969],\"valid\"],[[183970,194559],\"disallowed\"],[[194560,194560],\"mapped\",[20029]],[[194561,194561],\"mapped\",[20024]],[[194562,194562],\"mapped\",[20033]],[[194563,194563],\"mapped\",[131362]],[[194564,194564],\"mapped\",[20320]],[[194565,194565],\"mapped\",[20398]],[[194566,194566],\"mapped\",[20411]],[[194567,194567],\"mapped\",[20482]],[[194568,194568],\"mapped\",[20602]],[[194569,194569],\"mapped\",[20633]],[[194570,194570],\"mapped\",[20711]],[[194571,194571],\"mapped\",[20687]],[[194572,194572],\"mapped\",[13470]],[[194573,194573],\"mapped\",[132666]],[[194574,194574],\"mapped\",[20813]],[[194575,194575],\"mapped\",[20820]],[[194576,194576],\"mapped\",[20836]],[[194577,194577],\"mapped\",[20855]],[[194578,194578],\"mapped\",[132380]],[[194579,194579],\"mapped\",[13497]],[[194580,194580],\"mapped\",[20839]],[[194581,194581],\"mapped\",[20877]],[[194582,194582],\"mapped\",[132427]],[[194583,194583],\"mapped\",[20887]],[[194584,194584],\"mapped\",[20900]],[[194585,194585],\"mapped\",[20172]],[[194586,194586],\"mapped\",[20908]],[[194587,194587],\"mapped\",[20917]],[[194588,194588],\"mapped\",[168415]],[[194589,194589],\"mapped\",[20981]],[[194590,194590],\"mapped\",[20995]],[[194591,194591],\"mapped\",[13535]],[[194592,194592],\"mapped\",[21051]],[[194593,194593],\"mapped\",[21062]],[[194594,194594],\"mapped\",[21106]],[[194595,194595],\"mapped\",[21111]],[[194596,194596],\"mapped\",[13589]],[[194597,194597],\"mapped\",[21191]],[[194598,194598],\"mapped\",[21193]],[[194599,194599],\"mapped\",[21220]],[[194600,194600],\"mapped\",[21242]],[[194601,194601],\"mapped\",[21253]],[[194602,194602],\"mapped\",[21254]],[[194603,194603],\"mapped\",[21271]],[[194604,194604],\"mapped\",[21321]],[[194605,194605],\"mapped\",[21329]],[[194606,194606],\"mapped\",[21338]],[[194607,194607],\"mapped\",[21363]],[[194608,194608],\"mapped\",[21373]],[[194609,194611],\"mapped\",[21375]],[[194612,194612],\"mapped\",[133676]],[[194613,194613],\"mapped\",[28784]],[[194614,194614],\"mapped\",[21450]],[[194615,194615],\"mapped\",[21471]],[[194616,194616],\"mapped\",[133987]],[[194617,194617],\"mapped\",[21483]],[[194618,194618],\"mapped\",[21489]],[[194619,194619],\"mapped\",[21510]],[[194620,194620],\"mapped\",[21662]],[[194621,194621],\"mapped\",[21560]],[[194622,194622],\"mapped\",[21576]],[[194623,194623],\"mapped\",[21608]],[[194624,194624],\"mapped\",[21666]],[[194625,194625],\"mapped\",[21750]],[[194626,194626],\"mapped\",[21776]],[[194627,194627],\"mapped\",[21843]],[[194628,194628],\"mapped\",[21859]],[[194629,194630],\"mapped\",[21892]],[[194631,194631],\"mapped\",[21913]],[[194632,194632],\"mapped\",[21931]],[[194633,194633],\"mapped\",[21939]],[[194634,194634],\"mapped\",[21954]],[[194635,194635],\"mapped\",[22294]],[[194636,194636],\"mapped\",[22022]],[[194637,194637],\"mapped\",[22295]],[[194638,194638],\"mapped\",[22097]],[[194639,194639],\"mapped\",[22132]],[[194640,194640],\"mapped\",[20999]],[[194641,194641],\"mapped\",[22766]],[[194642,194642],\"mapped\",[22478]],[[194643,194643],\"mapped\",[22516]],[[194644,194644],\"mapped\",[22541]],[[194645,194645],\"mapped\",[22411]],[[194646,194646],\"mapped\",[22578]],[[194647,194647],\"mapped\",[22577]],[[194648,194648],\"mapped\",[22700]],[[194649,194649],\"mapped\",[136420]],[[194650,194650],\"mapped\",[22770]],[[194651,194651],\"mapped\",[22775]],[[194652,194652],\"mapped\",[22790]],[[194653,194653],\"mapped\",[22810]],[[194654,194654],\"mapped\",[22818]],[[194655,194655],\"mapped\",[22882]],[[194656,194656],\"mapped\",[136872]],[[194657,194657],\"mapped\",[136938]],[[194658,194658],\"mapped\",[23020]],[[194659,194659],\"mapped\",[23067]],[[194660,194660],\"mapped\",[23079]],[[194661,194661],\"mapped\",[23000]],[[194662,194662],\"mapped\",[23142]],[[194663,194663],\"mapped\",[14062]],[[194664,194664],\"disallowed\"],[[194665,194665],\"mapped\",[23304]],[[194666,194667],\"mapped\",[23358]],[[194668,194668],\"mapped\",[137672]],[[194669,194669],\"mapped\",[23491]],[[194670,194670],\"mapped\",[23512]],[[194671,194671],\"mapped\",[23527]],[[194672,194672],\"mapped\",[23539]],[[194673,194673],\"mapped\",[138008]],[[194674,194674],\"mapped\",[23551]],[[194675,194675],\"mapped\",[23558]],[[194676,194676],\"disallowed\"],[[194677,194677],\"mapped\",[23586]],[[194678,194678],\"mapped\",[14209]],[[194679,194679],\"mapped\",[23648]],[[194680,194680],\"mapped\",[23662]],[[194681,194681],\"mapped\",[23744]],[[194682,194682],\"mapped\",[23693]],[[194683,194683],\"mapped\",[138724]],[[194684,194684],\"mapped\",[23875]],[[194685,194685],\"mapped\",[138726]],[[194686,194686],\"mapped\",[23918]],[[194687,194687],\"mapped\",[23915]],[[194688,194688],\"mapped\",[23932]],[[194689,194689],\"mapped\",[24033]],[[194690,194690],\"mapped\",[24034]],[[194691,194691],\"mapped\",[14383]],[[194692,194692],\"mapped\",[24061]],[[194693,194693],\"mapped\",[24104]],[[194694,194694],\"mapped\",[24125]],[[194695,194695],\"mapped\",[24169]],[[194696,194696],\"mapped\",[14434]],[[194697,194697],\"mapped\",[139651]],[[194698,194698],\"mapped\",[14460]],[[194699,194699],\"mapped\",[24240]],[[194700,194700],\"mapped\",[24243]],[[194701,194701],\"mapped\",[24246]],[[194702,194702],\"mapped\",[24266]],[[194703,194703],\"mapped\",[172946]],[[194704,194704],\"mapped\",[24318]],[[194705,194706],\"mapped\",[140081]],[[194707,194707],\"mapped\",[33281]],[[194708,194709],\"mapped\",[24354]],[[194710,194710],\"mapped\",[14535]],[[194711,194711],\"mapped\",[144056]],[[194712,194712],\"mapped\",[156122]],[[194713,194713],\"mapped\",[24418]],[[194714,194714],\"mapped\",[24427]],[[194715,194715],\"mapped\",[14563]],[[194716,194716],\"mapped\",[24474]],[[194717,194717],\"mapped\",[24525]],[[194718,194718],\"mapped\",[24535]],[[194719,194719],\"mapped\",[24569]],[[194720,194720],\"mapped\",[24705]],[[194721,194721],\"mapped\",[14650]],[[194722,194722],\"mapped\",[14620]],[[194723,194723],\"mapped\",[24724]],[[194724,194724],\"mapped\",[141012]],[[194725,194725],\"mapped\",[24775]],[[194726,194726],\"mapped\",[24904]],[[194727,194727],\"mapped\",[24908]],[[194728,194728],\"mapped\",[24910]],[[194729,194729],\"mapped\",[24908]],[[194730,194730],\"mapped\",[24954]],[[194731,194731],\"mapped\",[24974]],[[194732,194732],\"mapped\",[25010]],[[194733,194733],\"mapped\",[24996]],[[194734,194734],\"mapped\",[25007]],[[194735,194735],\"mapped\",[25054]],[[194736,194736],\"mapped\",[25074]],[[194737,194737],\"mapped\",[25078]],[[194738,194738],\"mapped\",[25104]],[[194739,194739],\"mapped\",[25115]],[[194740,194740],\"mapped\",[25181]],[[194741,194741],\"mapped\",[25265]],[[194742,194742],\"mapped\",[25300]],[[194743,194743],\"mapped\",[25424]],[[194744,194744],\"mapped\",[142092]],[[194745,194745],\"mapped\",[25405]],[[194746,194746],\"mapped\",[25340]],[[194747,194747],\"mapped\",[25448]],[[194748,194748],\"mapped\",[25475]],[[194749,194749],\"mapped\",[25572]],[[194750,194750],\"mapped\",[142321]],[[194751,194751],\"mapped\",[25634]],[[194752,194752],\"mapped\",[25541]],[[194753,194753],\"mapped\",[25513]],[[194754,194754],\"mapped\",[14894]],[[194755,194755],\"mapped\",[25705]],[[194756,194756],\"mapped\",[25726]],[[194757,194757],\"mapped\",[25757]],[[194758,194758],\"mapped\",[25719]],[[194759,194759],\"mapped\",[14956]],[[194760,194760],\"mapped\",[25935]],[[194761,194761],\"mapped\",[25964]],[[194762,194762],\"mapped\",[143370]],[[194763,194763],\"mapped\",[26083]],[[194764,194764],\"mapped\",[26360]],[[194765,194765],\"mapped\",[26185]],[[194766,194766],\"mapped\",[15129]],[[194767,194767],\"mapped\",[26257]],[[194768,194768],\"mapped\",[15112]],[[194769,194769],\"mapped\",[15076]],[[194770,194770],\"mapped\",[20882]],[[194771,194771],\"mapped\",[20885]],[[194772,194772],\"mapped\",[26368]],[[194773,194773],\"mapped\",[26268]],[[194774,194774],\"mapped\",[32941]],[[194775,194775],\"mapped\",[17369]],[[194776,194776],\"mapped\",[26391]],[[194777,194777],\"mapped\",[26395]],[[194778,194778],\"mapped\",[26401]],[[194779,194779],\"mapped\",[26462]],[[194780,194780],\"mapped\",[26451]],[[194781,194781],\"mapped\",[144323]],[[194782,194782],\"mapped\",[15177]],[[194783,194783],\"mapped\",[26618]],[[194784,194784],\"mapped\",[26501]],[[194785,194785],\"mapped\",[26706]],[[194786,194786],\"mapped\",[26757]],[[194787,194787],\"mapped\",[144493]],[[194788,194788],\"mapped\",[26766]],[[194789,194789],\"mapped\",[26655]],[[194790,194790],\"mapped\",[26900]],[[194791,194791],\"mapped\",[15261]],[[194792,194792],\"mapped\",[26946]],[[194793,194793],\"mapped\",[27043]],[[194794,194794],\"mapped\",[27114]],[[194795,194795],\"mapped\",[27304]],[[194796,194796],\"mapped\",[145059]],[[194797,194797],\"mapped\",[27355]],[[194798,194798],\"mapped\",[15384]],[[194799,194799],\"mapped\",[27425]],[[194800,194800],\"mapped\",[145575]],[[194801,194801],\"mapped\",[27476]],[[194802,194802],\"mapped\",[15438]],[[194803,194803],\"mapped\",[27506]],[[194804,194804],\"mapped\",[27551]],[[194805,194805],\"mapped\",[27578]],[[194806,194806],\"mapped\",[27579]],[[194807,194807],\"mapped\",[146061]],[[194808,194808],\"mapped\",[138507]],[[194809,194809],\"mapped\",[146170]],[[194810,194810],\"mapped\",[27726]],[[194811,194811],\"mapped\",[146620]],[[194812,194812],\"mapped\",[27839]],[[194813,194813],\"mapped\",[27853]],[[194814,194814],\"mapped\",[27751]],[[194815,194815],\"mapped\",[27926]],[[194816,194816],\"mapped\",[27966]],[[194817,194817],\"mapped\",[28023]],[[194818,194818],\"mapped\",[27969]],[[194819,194819],\"mapped\",[28009]],[[194820,194820],\"mapped\",[28024]],[[194821,194821],\"mapped\",[28037]],[[194822,194822],\"mapped\",[146718]],[[194823,194823],\"mapped\",[27956]],[[194824,194824],\"mapped\",[28207]],[[194825,194825],\"mapped\",[28270]],[[194826,194826],\"mapped\",[15667]],[[194827,194827],\"mapped\",[28363]],[[194828,194828],\"mapped\",[28359]],[[194829,194829],\"mapped\",[147153]],[[194830,194830],\"mapped\",[28153]],[[194831,194831],\"mapped\",[28526]],[[194832,194832],\"mapped\",[147294]],[[194833,194833],\"mapped\",[147342]],[[194834,194834],\"mapped\",[28614]],[[194835,194835],\"mapped\",[28729]],[[194836,194836],\"mapped\",[28702]],[[194837,194837],\"mapped\",[28699]],[[194838,194838],\"mapped\",[15766]],[[194839,194839],\"mapped\",[28746]],[[194840,194840],\"mapped\",[28797]],[[194841,194841],\"mapped\",[28791]],[[194842,194842],\"mapped\",[28845]],[[194843,194843],\"mapped\",[132389]],[[194844,194844],\"mapped\",[28997]],[[194845,194845],\"mapped\",[148067]],[[194846,194846],\"mapped\",[29084]],[[194847,194847],\"disallowed\"],[[194848,194848],\"mapped\",[29224]],[[194849,194849],\"mapped\",[29237]],[[194850,194850],\"mapped\",[29264]],[[194851,194851],\"mapped\",[149000]],[[194852,194852],\"mapped\",[29312]],[[194853,194853],\"mapped\",[29333]],[[194854,194854],\"mapped\",[149301]],[[194855,194855],\"mapped\",[149524]],[[194856,194856],\"mapped\",[29562]],[[194857,194857],\"mapped\",[29579]],[[194858,194858],\"mapped\",[16044]],[[194859,194859],\"mapped\",[29605]],[[194860,194861],\"mapped\",[16056]],[[194862,194862],\"mapped\",[29767]],[[194863,194863],\"mapped\",[29788]],[[194864,194864],\"mapped\",[29809]],[[194865,194865],\"mapped\",[29829]],[[194866,194866],\"mapped\",[29898]],[[194867,194867],\"mapped\",[16155]],[[194868,194868],\"mapped\",[29988]],[[194869,194869],\"mapped\",[150582]],[[194870,194870],\"mapped\",[30014]],[[194871,194871],\"mapped\",[150674]],[[194872,194872],\"mapped\",[30064]],[[194873,194873],\"mapped\",[139679]],[[194874,194874],\"mapped\",[30224]],[[194875,194875],\"mapped\",[151457]],[[194876,194876],\"mapped\",[151480]],[[194877,194877],\"mapped\",[151620]],[[194878,194878],\"mapped\",[16380]],[[194879,194879],\"mapped\",[16392]],[[194880,194880],\"mapped\",[30452]],[[194881,194881],\"mapped\",[151795]],[[194882,194882],\"mapped\",[151794]],[[194883,194883],\"mapped\",[151833]],[[194884,194884],\"mapped\",[151859]],[[194885,194885],\"mapped\",[30494]],[[194886,194887],\"mapped\",[30495]],[[194888,194888],\"mapped\",[30538]],[[194889,194889],\"mapped\",[16441]],[[194890,194890],\"mapped\",[30603]],[[194891,194891],\"mapped\",[16454]],[[194892,194892],\"mapped\",[16534]],[[194893,194893],\"mapped\",[152605]],[[194894,194894],\"mapped\",[30798]],[[194895,194895],\"mapped\",[30860]],[[194896,194896],\"mapped\",[30924]],[[194897,194897],\"mapped\",[16611]],[[194898,194898],\"mapped\",[153126]],[[194899,194899],\"mapped\",[31062]],[[194900,194900],\"mapped\",[153242]],[[194901,194901],\"mapped\",[153285]],[[194902,194902],\"mapped\",[31119]],[[194903,194903],\"mapped\",[31211]],[[194904,194904],\"mapped\",[16687]],[[194905,194905],\"mapped\",[31296]],[[194906,194906],\"mapped\",[31306]],[[194907,194907],\"mapped\",[31311]],[[194908,194908],\"mapped\",[153980]],[[194909,194910],\"mapped\",[154279]],[[194911,194911],\"disallowed\"],[[194912,194912],\"mapped\",[16898]],[[194913,194913],\"mapped\",[154539]],[[194914,194914],\"mapped\",[31686]],[[194915,194915],\"mapped\",[31689]],[[194916,194916],\"mapped\",[16935]],[[194917,194917],\"mapped\",[154752]],[[194918,194918],\"mapped\",[31954]],[[194919,194919],\"mapped\",[17056]],[[194920,194920],\"mapped\",[31976]],[[194921,194921],\"mapped\",[31971]],[[194922,194922],\"mapped\",[32000]],[[194923,194923],\"mapped\",[155526]],[[194924,194924],\"mapped\",[32099]],[[194925,194925],\"mapped\",[17153]],[[194926,194926],\"mapped\",[32199]],[[194927,194927],\"mapped\",[32258]],[[194928,194928],\"mapped\",[32325]],[[194929,194929],\"mapped\",[17204]],[[194930,194930],\"mapped\",[156200]],[[194931,194931],\"mapped\",[156231]],[[194932,194932],\"mapped\",[17241]],[[194933,194933],\"mapped\",[156377]],[[194934,194934],\"mapped\",[32634]],[[194935,194935],\"mapped\",[156478]],[[194936,194936],\"mapped\",[32661]],[[194937,194937],\"mapped\",[32762]],[[194938,194938],\"mapped\",[32773]],[[194939,194939],\"mapped\",[156890]],[[194940,194940],\"mapped\",[156963]],[[194941,194941],\"mapped\",[32864]],[[194942,194942],\"mapped\",[157096]],[[194943,194943],\"mapped\",[32880]],[[194944,194944],\"mapped\",[144223]],[[194945,194945],\"mapped\",[17365]],[[194946,194946],\"mapped\",[32946]],[[194947,194947],\"mapped\",[33027]],[[194948,194948],\"mapped\",[17419]],[[194949,194949],\"mapped\",[33086]],[[194950,194950],\"mapped\",[23221]],[[194951,194951],\"mapped\",[157607]],[[194952,194952],\"mapped\",[157621]],[[194953,194953],\"mapped\",[144275]],[[194954,194954],\"mapped\",[144284]],[[194955,194955],\"mapped\",[33281]],[[194956,194956],\"mapped\",[33284]],[[194957,194957],\"mapped\",[36766]],[[194958,194958],\"mapped\",[17515]],[[194959,194959],\"mapped\",[33425]],[[194960,194960],\"mapped\",[33419]],[[194961,194961],\"mapped\",[33437]],[[194962,194962],\"mapped\",[21171]],[[194963,194963],\"mapped\",[33457]],[[194964,194964],\"mapped\",[33459]],[[194965,194965],\"mapped\",[33469]],[[194966,194966],\"mapped\",[33510]],[[194967,194967],\"mapped\",[158524]],[[194968,194968],\"mapped\",[33509]],[[194969,194969],\"mapped\",[33565]],[[194970,194970],\"mapped\",[33635]],[[194971,194971],\"mapped\",[33709]],[[194972,194972],\"mapped\",[33571]],[[194973,194973],\"mapped\",[33725]],[[194974,194974],\"mapped\",[33767]],[[194975,194975],\"mapped\",[33879]],[[194976,194976],\"mapped\",[33619]],[[194977,194977],\"mapped\",[33738]],[[194978,194978],\"mapped\",[33740]],[[194979,194979],\"mapped\",[33756]],[[194980,194980],\"mapped\",[158774]],[[194981,194981],\"mapped\",[159083]],[[194982,194982],\"mapped\",[158933]],[[194983,194983],\"mapped\",[17707]],[[194984,194984],\"mapped\",[34033]],[[194985,194985],\"mapped\",[34035]],[[194986,194986],\"mapped\",[34070]],[[194987,194987],\"mapped\",[160714]],[[194988,194988],\"mapped\",[34148]],[[194989,194989],\"mapped\",[159532]],[[194990,194990],\"mapped\",[17757]],[[194991,194991],\"mapped\",[17761]],[[194992,194992],\"mapped\",[159665]],[[194993,194993],\"mapped\",[159954]],[[194994,194994],\"mapped\",[17771]],[[194995,194995],\"mapped\",[34384]],[[194996,194996],\"mapped\",[34396]],[[194997,194997],\"mapped\",[34407]],[[194998,194998],\"mapped\",[34409]],[[194999,194999],\"mapped\",[34473]],[[195000,195000],\"mapped\",[34440]],[[195001,195001],\"mapped\",[34574]],[[195002,195002],\"mapped\",[34530]],[[195003,195003],\"mapped\",[34681]],[[195004,195004],\"mapped\",[34600]],[[195005,195005],\"mapped\",[34667]],[[195006,195006],\"mapped\",[34694]],[[195007,195007],\"disallowed\"],[[195008,195008],\"mapped\",[34785]],[[195009,195009],\"mapped\",[34817]],[[195010,195010],\"mapped\",[17913]],[[195011,195011],\"mapped\",[34912]],[[195012,195012],\"mapped\",[34915]],[[195013,195013],\"mapped\",[161383]],[[195014,195014],\"mapped\",[35031]],[[195015,195015],\"mapped\",[35038]],[[195016,195016],\"mapped\",[17973]],[[195017,195017],\"mapped\",[35066]],[[195018,195018],\"mapped\",[13499]],[[195019,195019],\"mapped\",[161966]],[[195020,195020],\"mapped\",[162150]],[[195021,195021],\"mapped\",[18110]],[[195022,195022],\"mapped\",[18119]],[[195023,195023],\"mapped\",[35488]],[[195024,195024],\"mapped\",[35565]],[[195025,195025],\"mapped\",[35722]],[[195026,195026],\"mapped\",[35925]],[[195027,195027],\"mapped\",[162984]],[[195028,195028],\"mapped\",[36011]],[[195029,195029],\"mapped\",[36033]],[[195030,195030],\"mapped\",[36123]],[[195031,195031],\"mapped\",[36215]],[[195032,195032],\"mapped\",[163631]],[[195033,195033],\"mapped\",[133124]],[[195034,195034],\"mapped\",[36299]],[[195035,195035],\"mapped\",[36284]],[[195036,195036],\"mapped\",[36336]],[[195037,195037],\"mapped\",[133342]],[[195038,195038],\"mapped\",[36564]],[[195039,195039],\"mapped\",[36664]],[[195040,195040],\"mapped\",[165330]],[[195041,195041],\"mapped\",[165357]],[[195042,195042],\"mapped\",[37012]],[[195043,195043],\"mapped\",[37105]],[[195044,195044],\"mapped\",[37137]],[[195045,195045],\"mapped\",[165678]],[[195046,195046],\"mapped\",[37147]],[[195047,195047],\"mapped\",[37432]],[[195048,195048],\"mapped\",[37591]],[[195049,195049],\"mapped\",[37592]],[[195050,195050],\"mapped\",[37500]],[[195051,195051],\"mapped\",[37881]],[[195052,195052],\"mapped\",[37909]],[[195053,195053],\"mapped\",[166906]],[[195054,195054],\"mapped\",[38283]],[[195055,195055],\"mapped\",[18837]],[[195056,195056],\"mapped\",[38327]],[[195057,195057],\"mapped\",[167287]],[[195058,195058],\"mapped\",[18918]],[[195059,195059],\"mapped\",[38595]],[[195060,195060],\"mapped\",[23986]],[[195061,195061],\"mapped\",[38691]],[[195062,195062],\"mapped\",[168261]],[[195063,195063],\"mapped\",[168474]],[[195064,195064],\"mapped\",[19054]],[[195065,195065],\"mapped\",[19062]],[[195066,195066],\"mapped\",[38880]],[[195067,195067],\"mapped\",[168970]],[[195068,195068],\"mapped\",[19122]],[[195069,195069],\"mapped\",[169110]],[[195070,195071],\"mapped\",[38923]],[[195072,195072],\"mapped\",[38953]],[[195073,195073],\"mapped\",[169398]],[[195074,195074],\"mapped\",[39138]],[[195075,195075],\"mapped\",[19251]],[[195076,195076],\"mapped\",[39209]],[[195077,195077],\"mapped\",[39335]],[[195078,195078],\"mapped\",[39362]],[[195079,195079],\"mapped\",[39422]],[[195080,195080],\"mapped\",[19406]],[[195081,195081],\"mapped\",[170800]],[[195082,195082],\"mapped\",[39698]],[[195083,195083],\"mapped\",[40000]],[[195084,195084],\"mapped\",[40189]],[[195085,195085],\"mapped\",[19662]],[[195086,195086],\"mapped\",[19693]],[[195087,195087],\"mapped\",[40295]],[[195088,195088],\"mapped\",[172238]],[[195089,195089],\"mapped\",[19704]],[[195090,195090],\"mapped\",[172293]],[[195091,195091],\"mapped\",[172558]],[[195092,195092],\"mapped\",[172689]],[[195093,195093],\"mapped\",[40635]],[[195094,195094],\"mapped\",[19798]],[[195095,195095],\"mapped\",[40697]],[[195096,195096],\"mapped\",[40702]],[[195097,195097],\"mapped\",[40709]],[[195098,195098],\"mapped\",[40719]],[[195099,195099],\"mapped\",[40726]],[[195100,195100],\"mapped\",[40763]],[[195101,195101],\"mapped\",[173568]],[[195102,196605],\"disallowed\"],[[196606,196607],\"disallowed\"],[[196608,262141],\"disallowed\"],[[262142,262143],\"disallowed\"],[[262144,327677],\"disallowed\"],[[327678,327679],\"disallowed\"],[[327680,393213],\"disallowed\"],[[393214,393215],\"disallowed\"],[[393216,458749],\"disallowed\"],[[458750,458751],\"disallowed\"],[[458752,524285],\"disallowed\"],[[524286,524287],\"disallowed\"],[[524288,589821],\"disallowed\"],[[589822,589823],\"disallowed\"],[[589824,655357],\"disallowed\"],[[655358,655359],\"disallowed\"],[[655360,720893],\"disallowed\"],[[720894,720895],\"disallowed\"],[[720896,786429],\"disallowed\"],[[786430,786431],\"disallowed\"],[[786432,851965],\"disallowed\"],[[851966,851967],\"disallowed\"],[[851968,917501],\"disallowed\"],[[917502,917503],\"disallowed\"],[[917504,917504],\"disallowed\"],[[917505,917505],\"disallowed\"],[[917506,917535],\"disallowed\"],[[917536,917631],\"disallowed\"],[[917632,917759],\"disallowed\"],[[917760,917999],\"ignored\"],[[918000,983037],\"disallowed\"],[[983038,983039],\"disallowed\"],[[983040,1048573],\"disallowed\"],[[1048574,1048575],\"disallowed\"],[[1048576,1114109],\"disallowed\"],[[1114110,1114111],\"disallowed\"]]", "\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n", "\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n", "\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n", "\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n", "\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n", "'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = /<meta.+?charset=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// html4\n\tif (!res && str) {\n\t\tres = /<meta[\\s]+?http-equiv=(['\"])content-type\\1[\\s]+?content=(['\"])(.+?)\\2/i.exec(str);\n\t\tif (!res) {\n\t\t\tres = /<meta[\\s]+?content=(['\"])(.+?)\\1[\\s]+?http-equiv=(['\"])content-type\\3/i.exec(str);\n\t\t\tif (res) {\n\t\t\t\tres.pop(); // drop last quote\n\t\t\t}\n\t\t}\n\n\t\tif (res) {\n\t\t\tres = /charset=(.*)/i.exec(res.pop());\n\t\t}\n\t}\n\n\t// xml\n\tif (!res && str) {\n\t\tres = /<\\?xml.+?encoding=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// found charset\n\tif (res) {\n\t\tcharset = res.pop();\n\n\t\t// prevent decode issues when sites use incorrect encoding\n\t\t// ref: https://hsivonen.fi/encoding-menu/\n\t\tif (charset === 'gb2312' || charset === 'gbk') {\n\t\t\tcharset = 'gb18030';\n\t\t}\n\t}\n\n\t// turn raw buffers into a single utf-8 buffer\n\treturn convert(buffer, 'UTF-8', charset).toString();\n}\n\n/**\n * Detect a URLSearchParams object\n * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143\n *\n * @param Object obj Object to detect by type or brand\n * @return String\n */\nfunction isURLSearchParams(obj) {\n\t// Duck-typing as a necessary condition.\n\tif (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') {\n\t\treturn false;\n\t}\n\n\t// Brand-checking and more duck-typing as optional condition.\n\treturn obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function';\n}\n\n/**\n * Check if `obj` is a W3C `Blob` object (which `File` inherits from)\n * @param {*} obj\n * @return {boolean}\n */\nfunction isBlob(obj) {\n\treturn typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]);\n}\n\n/**\n * Clone body given Res/Req instance\n *\n * @param Mixed instance Response or Request instance\n * @return Mixed\n */\nfunction clone(instance) {\n\tlet p1, p2;\n\tlet body = instance.body;\n\n\t// don't allow cloning a used body\n\tif (instance.bodyUsed) {\n\t\tthrow new Error('cannot clone body after it is used');\n\t}\n\n\t// check that body is a stream and not form-data object\n\t// note: we can't clone the form-data object without having it as a dependency\n\tif (body instanceof Stream && typeof body.getBoundary !== 'function') {\n\t\t// tee instance body\n\t\tp1 = new PassThrough();\n\t\tp2 = new PassThrough();\n\t\tbody.pipe(p1);\n\t\tbody.pipe(p2);\n\t\t// set instance body to teed body and return the other teed body\n\t\tinstance[INTERNALS].body = p1;\n\t\tbody = p2;\n\t}\n\n\treturn body;\n}\n\n/**\n * Performs the operation \"extract a `Content-Type` value from |object|\" as\n * specified in the specification:\n * https://fetch.spec.whatwg.org/#concept-bodyinit-extract\n *\n * This function assumes that instance.body is present.\n *\n * @param Mixed instance Any options.body input\n */\nfunction extractContentType(body) {\n\tif (body === null) {\n\t\t// body is null\n\t\treturn null;\n\t} else if (typeof body === 'string') {\n\t\t// body is string\n\t\treturn 'text/plain;charset=UTF-8';\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\treturn 'application/x-www-form-urlencoded;charset=UTF-8';\n\t} else if (isBlob(body)) {\n\t\t// body is blob\n\t\treturn body.type || null;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn null;\n\t} else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\treturn null;\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\treturn null;\n\t} else if (typeof body.getBoundary === 'function') {\n\t\t// detect form data input from form-data module\n\t\treturn `multipart/form-data;boundary=${body.getBoundary()}`;\n\t} else if (body instanceof Stream) {\n\t\t// body is stream\n\t\t// can't really do much about this\n\t\treturn null;\n\t} else {\n\t\t// Body constructor defaults other things to string\n\t\treturn 'text/plain;charset=UTF-8';\n\t}\n}\n\n/**\n * The Fetch Standard treats this as if \"total bytes\" is a property on the body.\n * For us, we have to explicitly get it with a function.\n *\n * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes\n *\n * @param Body instance Instance of Body\n * @return Number? Number of bytes, or null if not possible\n */\nfunction getTotalBytes(instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\treturn 0;\n\t} else if (isBlob(body)) {\n\t\treturn body.size;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn body.length;\n\t} else if (body && typeof body.getLengthSync === 'function') {\n\t\t// detect form data input from form-data module\n\t\tif (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x\n\t\tbody.hasKnownLength && body.hasKnownLength()) {\n\t\t\t// 2.x\n\t\t\treturn body.getLengthSync();\n\t\t}\n\t\treturn null;\n\t} else {\n\t\t// body is stream\n\t\treturn null;\n\t}\n}\n\n/**\n * Write a Body to a Node.js WritableStream (e.g. http.Request) object.\n *\n * @param Body instance Instance of Body\n * @return Void\n */\nfunction writeToStream(dest, instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\tdest.end();\n\t} else if (isBlob(body)) {\n\t\tbody.stream().pipe(dest);\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\tdest.write(body);\n\t\tdest.end();\n\t} else {\n\t\t// body is stream\n\t\tbody.pipe(dest);\n\t}\n}\n\n// expose Promise\nBody.Promise = global.Promise;\n\n/**\n * headers.js\n *\n * Headers class offers convenient helpers\n */\n\nconst invalidTokenRegex = /[^\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]/;\nconst invalidHeaderCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/;\n\nfunction validateName(name) {\n\tname = `${name}`;\n\tif (invalidTokenRegex.test(name) || name === '') {\n\t\tthrow new TypeError(`${name} is not a legal HTTP header name`);\n\t}\n}\n\nfunction validateValue(value) {\n\tvalue = `${value}`;\n\tif (invalidHeaderCharRegex.test(value)) {\n\t\tthrow new TypeError(`${value} is not a legal HTTP header value`);\n\t}\n}\n\n/**\n * Find the key in the map object given a header name.\n *\n * Returns undefined if not found.\n *\n * @param String name Header name\n * @return String|Undefined\n */\nfunction find(map, name) {\n\tname = name.toLowerCase();\n\tfor (const key in map) {\n\t\tif (key.toLowerCase() === name) {\n\t\t\treturn key;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nconst MAP = Symbol('map');\nclass Headers {\n\t/**\n * Headers class\n *\n * @param Object headers Response headers\n * @return Void\n */\n\tconstructor() {\n\t\tlet init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence<sequence<ByteString>>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record<ByteString, ByteString>\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// tests for socket presence, as in some situations the\n\t\t\t\t// the 'socket' event is not triggered for the request\n\t\t\t\t// (happens in deno), avoids `TypeError`\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket && socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\nexports.AbortError = AbortError;\n", "const nodeFetch = require('node-fetch')\nconst realFetch = nodeFetch.default || nodeFetch\n\nconst fetch = function (url, options) {\n // Support schemaless URIs on the server for parity with the browser.\n // Ex: //github.com/ -> https://github.com/\n if (/^\\/\\//.test(url)) {\n url = 'https:' + url\n }\n return realFetch.call(this, url, options)\n}\n\nfetch.ponyfill = true\n\nmodule.exports = exports = fetch\nexports.fetch = fetch\nexports.Headers = nodeFetch.Headers\nexports.Request = nodeFetch.Request\nexports.Response = nodeFetch.Response\n\n// Needed for TypeScript consumers without esModuleInterop.\nexports.default = fetch\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isJSON = void 0;\nfunction isJSON(contentTypeHeader) {\n if (contentTypeHeader) {\n const mediaType = parseContentType(contentTypeHeader);\n if (!mediaType) {\n return false;\n }\n if (mediaType.subtype === \"json\") {\n return true;\n }\n if (mediaType.suffix === \"json\") {\n return true;\n }\n if (mediaType.suffix && /\\bjson\\b/i.test(mediaType.suffix)) {\n return true;\n }\n if (mediaType.subtype && /\\bjson\\b/i.test(mediaType.subtype)) {\n return true;\n }\n }\n return false;\n}\nexports.isJSON = isJSON;\n/**\n * RegExp to match type in RFC 6838 with an optional trailing `;` because some Apple APIs returns one...\n *\n * type-name = restricted-name\n * subtype-name = restricted-name\n * restricted-name = restricted-name-first *126restricted-name-chars\n * restricted-name-first = ALPHA / DIGIT\n * restricted-name-chars = ALPHA / DIGIT / \"!\" / \"#\" /\n * \"$\" / \"&\" / \"-\" / \"^\" / \"_\"\n * restricted-name-chars =/ \".\" ; Characters before first dot always\n * ; specify a facet name\n * restricted-name-chars =/ \"+\" ; Characters after last plus always\n * ; specify a structured syntax suffix\n * ALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n * DIGIT = %x30-39 ; 0-9\n */\nconst MEDIA_TYPE_REGEXP = /^([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126});?$/;\nfunction parseContentType(header) {\n const headerDelimitationindex = header.indexOf(\";\");\n const contentType = headerDelimitationindex !== -1 ? header.slice(0, headerDelimitationindex).trim() : header.trim();\n const match = MEDIA_TYPE_REGEXP.exec(contentType.toLowerCase().toLowerCase());\n if (!match) {\n return;\n }\n const type = match[1];\n let subtype = match[2];\n let suffix;\n // suffix after last +\n const index = subtype.lastIndexOf(\"+\");\n if (index !== -1) {\n suffix = subtype.substring(index + 1);\n subtype = subtype.substring(0, index);\n }\n return { type, subtype, suffix };\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFetch = void 0;\nconst react_1 = require(\"react\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst cross_fetch_1 = require(\"cross-fetch\");\nconst fetch_utils_1 = require(\"./fetch-utils\");\nconst helpers_1 = require(\"./helpers\");\nasync function defaultParsing(response) {\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n const contentTypeHeader = response.headers.get(\"content-type\");\n if (contentTypeHeader && (0, fetch_utils_1.isJSON)(contentTypeHeader)) {\n return await response.json();\n }\n return await response.text();\n}\nfunction defaultMapping(result) {\n return { data: result, hasMore: false };\n}\nfunction useFetch(url, options) {\n const { parseResponse, mapResult, initialData, execute, keepPreviousData, onError, onData, onWillExecute, failureToastOptions, ...fetchOptions } = options || {};\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n failureToastOptions,\n };\n const parseResponseRef = (0, useLatest_1.useLatest)(parseResponse || defaultParsing);\n const mapResultRef = (0, useLatest_1.useLatest)(mapResult || defaultMapping);\n const urlRef = (0, react_1.useRef)();\n const firstPageUrlRef = (0, react_1.useRef)();\n const firstPageUrl = typeof url === \"function\" ? url({ page: 0 }) : undefined;\n /**\n * When paginating, `url` is a `PaginatedRequestInfo`, so we only want to update the ref when the `firstPageUrl` changes.\n * When not paginating, `url` is a `RequestInfo`, so we want to update the ref whenever `url` changes.\n */\n if (!urlRef.current || typeof firstPageUrlRef.current === \"undefined\" || firstPageUrlRef.current !== firstPageUrl) {\n urlRef.current = url;\n }\n firstPageUrlRef.current = firstPageUrl;\n const abortable = (0, react_1.useRef)();\n const paginatedFn = (0, react_1.useCallback)((url, options) => async (pagination) => {\n const res = await (0, cross_fetch_1.fetch)(url(pagination), { signal: abortable.current?.signal, ...options });\n const parsed = (await parseResponseRef.current(res));\n return mapResultRef.current?.(parsed);\n }, [parseResponseRef, mapResultRef]);\n const fn = (0, react_1.useCallback)(async (url, options) => {\n const res = await (0, cross_fetch_1.fetch)(url, { signal: abortable.current?.signal, ...options });\n const parsed = (await parseResponseRef.current(res));\n const mapped = mapResultRef.current(parsed);\n return mapped?.data;\n }, [parseResponseRef, mapResultRef]);\n const promise = (0, react_1.useMemo)(() => {\n if (firstPageUrlRef.current) {\n return paginatedFn;\n }\n return fn;\n }, [firstPageUrlRef, fn, paginatedFn]);\n // @ts-expect-error lastItem can't be inferred properly\n return (0, useCachedPromise_1.useCachedPromise)(promise, [urlRef.current, fetchOptions], {\n ...useCachedPromiseOptions,\n internal_cacheKeySuffix: firstPageUrlRef.current + (0, helpers_1.hash)(mapResultRef.current) + (0, helpers_1.hash)(parseResponseRef.current),\n abortable,\n });\n}\nexports.useFetch = useFetch;\n", "/**\n * This is not the set of all possible signals.\n *\n * It IS, however, the set of all signals that trigger\n * an exit on either Linux or BSD systems. Linux is a\n * superset of the signal names supported on BSD, and\n * the unknown signals just fail to register, so we can\n * catch that easily enough.\n *\n * Windows signals are a different set, since there are\n * signals that terminate Windows processes, but don't\n * terminate (or don't even exist) on Posix systems.\n *\n * Don't bother with SIGKILL. It's uncatchable, which\n * means that we can't fire any callbacks anyway.\n *\n * If a user does happen to register a handler on a non-\n * fatal signal like SIGWINCH or something, and then\n * exit, it'll end up firing `process.emit('exit')`, so\n * the handler will be fired anyway.\n *\n * SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n * artificially, inherently leave the process in a\n * state from which it is not safe to try and enter JS\n * listeners.\n */\nexport const signals: NodeJS.Signals[] = []\nsignals.push('SIGHUP', 'SIGINT', 'SIGTERM')\n\nif (process.platform !== 'win32') {\n signals.push(\n 'SIGALRM',\n 'SIGABRT',\n 'SIGVTALRM',\n 'SIGXCPU',\n 'SIGXFSZ',\n 'SIGUSR2',\n 'SIGTRAP',\n 'SIGSYS',\n 'SIGQUIT',\n 'SIGIOT'\n // should detect profiler and enable/disable accordingly.\n // see #21\n // 'SIGPROF'\n )\n}\n\nif (process.platform === 'linux') {\n signals.push('SIGIO', 'SIGPOLL', 'SIGPWR', 'SIGSTKFLT')\n}\n", "// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nimport { signals } from './signals.js'\nexport { signals }\n\n// just a loosened process type so we can do some evil things\ntype ProcessRE = NodeJS.Process & {\n reallyExit: (code?: number | undefined | null) => any\n emit: (ev: string, ...a: any[]) => any\n}\n\nconst processOk = (process: any): process is ProcessRE =>\n !!process &&\n typeof process === 'object' &&\n typeof process.removeListener === 'function' &&\n typeof process.emit === 'function' &&\n typeof process.reallyExit === 'function' &&\n typeof process.listeners === 'function' &&\n typeof process.kill === 'function' &&\n typeof process.pid === 'number' &&\n typeof process.on === 'function'\n\nconst kExitEmitter = Symbol.for('signal-exit emitter')\nconst global: typeof globalThis & { [kExitEmitter]?: Emitter } = globalThis\nconst ObjectDefineProperty = Object.defineProperty.bind(Object)\n\n/**\n * A function that takes an exit code and signal as arguments\n *\n * In the case of signal exits *only*, a return value of true\n * will indicate that the signal is being handled, and we should\n * not synthetically exit with the signal we received. Regardless\n * of the handler return value, the handler is unloaded when an\n * otherwise fatal signal is received, so you get exactly 1 shot\n * at it, unless you add another onExit handler at that point.\n *\n * In the case of numeric code exits, we may already have committed\n * to exiting the process, for example via a fatal exception or\n * unhandled promise rejection, so it is impossible to stop safely.\n */\nexport type Handler = (\n code: number | null | undefined,\n signal: NodeJS.Signals | null\n) => true | void\ntype ExitEvent = 'afterExit' | 'exit'\ntype Emitted = { [k in ExitEvent]: boolean }\ntype Listeners = { [k in ExitEvent]: Handler[] }\n\n// teeny special purpose ee\nclass Emitter {\n emitted: Emitted = {\n afterExit: false,\n exit: false,\n }\n\n listeners: Listeners = {\n afterExit: [],\n exit: [],\n }\n\n count: number = 0\n id: number = Math.random()\n\n constructor() {\n if (global[kExitEmitter]) {\n return global[kExitEmitter]\n }\n ObjectDefineProperty(global, kExitEmitter, {\n value: this,\n writable: false,\n enumerable: false,\n configurable: false,\n })\n }\n\n on(ev: ExitEvent, fn: Handler) {\n this.listeners[ev].push(fn)\n }\n\n removeListener(ev: ExitEvent, fn: Handler) {\n const list = this.listeners[ev]\n const i = list.indexOf(fn)\n /* c8 ignore start */\n if (i === -1) {\n return\n }\n /* c8 ignore stop */\n if (i === 0 && list.length === 1) {\n list.length = 0\n } else {\n list.splice(i, 1)\n }\n }\n\n emit(\n ev: ExitEvent,\n code: number | null | undefined,\n signal: NodeJS.Signals | null\n ): boolean {\n if (this.emitted[ev]) {\n return false\n }\n this.emitted[ev] = true\n let ret: boolean = false\n for (const fn of this.listeners[ev]) {\n ret = fn(code, signal) === true || ret\n }\n if (ev === 'exit') {\n ret = this.emit('afterExit', code, signal) || ret\n }\n return ret\n }\n}\n\nabstract class SignalExitBase {\n abstract onExit(cb: Handler, opts?: { alwaysLast?: boolean }): () => void\n abstract load(): void\n abstract unload(): void\n}\n\nconst signalExitWrap = <T extends SignalExitBase>(handler: T) => {\n return {\n onExit(cb: Handler, opts?: { alwaysLast?: boolean }) {\n return handler.onExit(cb, opts)\n },\n load() {\n return handler.load()\n },\n unload() {\n return handler.unload()\n },\n }\n}\n\nclass SignalExitFallback extends SignalExitBase {\n onExit() {\n return () => {}\n }\n load() {}\n unload() {}\n}\n\nclass SignalExit extends SignalExitBase {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n /* c8 ignore start */\n #hupSig = process.platform === 'win32' ? 'SIGINT' : 'SIGHUP'\n /* c8 ignore stop */\n #emitter = new Emitter()\n #process: ProcessRE\n #originalProcessEmit: ProcessRE['emit']\n #originalProcessReallyExit: ProcessRE['reallyExit']\n\n #sigListeners: { [k in NodeJS.Signals]?: () => void } = {}\n #loaded: boolean = false\n\n constructor(process: ProcessRE) {\n super()\n this.#process = process\n // { <signal>: <listener fn>, ... }\n this.#sigListeners = {}\n for (const sig of signals) {\n this.#sigListeners[sig] = () => {\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n const listeners = this.#process.listeners(sig)\n let { count } = this.#emitter\n // This is a workaround for the fact that signal-exit v3 and signal\n // exit v4 are not aware of each other, and each will attempt to let\n // the other handle it, so neither of them do. To correct this, we\n // detect if we're the only handler *except* for previous versions\n // of signal-exit, and increment by the count of listeners it has\n // created.\n /* c8 ignore start */\n const p = process as unknown as {\n __signal_exit_emitter__?: { count: number }\n }\n if (\n typeof p.__signal_exit_emitter__ === 'object' &&\n typeof p.__signal_exit_emitter__.count === 'number'\n ) {\n count += p.__signal_exit_emitter__.count\n }\n /* c8 ignore stop */\n if (listeners.length === count) {\n this.unload()\n const ret = this.#emitter.emit('exit', null, sig)\n /* c8 ignore start */\n const s = sig === 'SIGHUP' ? this.#hupSig : sig\n if (!ret) process.kill(process.pid, s)\n /* c8 ignore stop */\n }\n }\n }\n\n this.#originalProcessReallyExit = process.reallyExit\n this.#originalProcessEmit = process.emit\n }\n\n onExit(cb: Handler, opts?: { alwaysLast?: boolean }) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return () => {}\n }\n /* c8 ignore stop */\n\n if (this.#loaded === false) {\n this.load()\n }\n\n const ev = opts?.alwaysLast ? 'afterExit' : 'exit'\n this.#emitter.on(ev, cb)\n return () => {\n this.#emitter.removeListener(ev, cb)\n if (\n this.#emitter.listeners['exit'].length === 0 &&\n this.#emitter.listeners['afterExit'].length === 0\n ) {\n this.unload()\n }\n }\n }\n\n load() {\n if (this.#loaded) {\n return\n }\n this.#loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n this.#emitter.count += 1\n\n for (const sig of signals) {\n try {\n const fn = this.#sigListeners[sig]\n if (fn) this.#process.on(sig, fn)\n } catch (_) {}\n }\n\n this.#process.emit = (ev: string, ...a: any[]) => {\n return this.#processEmit(ev, ...a)\n }\n this.#process.reallyExit = (code?: number | null | undefined) => {\n return this.#processReallyExit(code)\n }\n }\n\n unload() {\n if (!this.#loaded) {\n return\n }\n this.#loaded = false\n\n signals.forEach(sig => {\n const listener = this.#sigListeners[sig]\n /* c8 ignore start */\n if (!listener) {\n throw new Error('Listener not defined for signal: ' + sig)\n }\n /* c8 ignore stop */\n try {\n this.#process.removeListener(sig, listener)\n /* c8 ignore start */\n } catch (_) {}\n /* c8 ignore stop */\n })\n this.#process.emit = this.#originalProcessEmit\n this.#process.reallyExit = this.#originalProcessReallyExit\n this.#emitter.count -= 1\n }\n\n #processReallyExit(code?: number | null | undefined) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return 0\n }\n this.#process.exitCode = code || 0\n /* c8 ignore stop */\n\n this.#emitter.emit('exit', this.#process.exitCode, null)\n return this.#originalProcessReallyExit.call(\n this.#process,\n this.#process.exitCode\n )\n }\n\n #processEmit(ev: string, ...args: any[]): any {\n const og = this.#originalProcessEmit\n if (ev === 'exit' && processOk(this.#process)) {\n if (typeof args[0] === 'number') {\n this.#process.exitCode = args[0]\n /* c8 ignore start */\n }\n /* c8 ignore start */\n const ret = og.call(this.#process, ev, ...args)\n /* c8 ignore start */\n this.#emitter.emit('exit', this.#process.exitCode, null)\n /* c8 ignore stop */\n return ret\n } else {\n return og.call(this.#process, ev, ...args)\n }\n }\n}\n\nconst process = globalThis.process\n// wrap so that we call the method on the actual handler, without\n// exporting it directly.\nexport const {\n /**\n * Called when the process is exiting, whether via signal, explicit\n * exit, or running out of stuff to do.\n *\n * If the global process object is not suitable for instrumentation,\n * then this will be a no-op.\n *\n * Returns a function that may be used to unload signal-exit.\n */\n onExit,\n\n /**\n * Load the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\n load,\n\n /**\n * Unload the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\n unload,\n} = signalExitWrap(\n processOk(process) ? new SignalExit(process) : new SignalExitFallback()\n)\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultParsing = exports.handleOutput = exports.getSpawnedResult = exports.getSpawnedPromise = void 0;\nconst node_buffer_1 = require(\"node:buffer\");\nconst node_stream_1 = __importDefault(require(\"node:stream\"));\nconst node_util_1 = require(\"node:util\");\nconst signal_exit_1 = require(\"signal-exit\");\nfunction getSpawnedPromise(spawned, { timeout } = {}) {\n const spawnedPromise = new Promise((resolve, reject) => {\n spawned.on(\"exit\", (exitCode, signal) => {\n resolve({ exitCode, signal, timedOut: false });\n });\n spawned.on(\"error\", (error) => {\n reject(error);\n });\n if (spawned.stdin) {\n spawned.stdin.on(\"error\", (error) => {\n reject(error);\n });\n }\n });\n if (timeout === 0 || timeout === undefined) {\n return spawnedPromise;\n }\n let timeoutId;\n const timeoutPromise = new Promise((_resolve, reject) => {\n timeoutId = setTimeout(() => {\n spawned.kill(\"SIGTERM\");\n reject(Object.assign(new Error(\"Timed out\"), { timedOut: true, signal: \"SIGTERM\" }));\n }, timeout);\n });\n const safeSpawnedPromise = spawnedPromise.finally(() => {\n clearTimeout(timeoutId);\n });\n const removeExitHandler = (0, signal_exit_1.onExit)(() => {\n spawned.kill();\n });\n return Promise.race([timeoutPromise, safeSpawnedPromise]).finally(() => removeExitHandler());\n}\nexports.getSpawnedPromise = getSpawnedPromise;\nclass MaxBufferError extends Error {\n constructor() {\n super(\"The output is too big\");\n this.name = \"MaxBufferError\";\n }\n}\nconst streamPipelinePromisified = (0, node_util_1.promisify)(node_stream_1.default.pipeline);\nfunction bufferStream(options) {\n const { encoding } = options;\n const isBuffer = encoding === \"buffer\";\n // @ts-expect-error missing the methods we are adding below\n const stream = new node_stream_1.default.PassThrough({ objectMode: false });\n if (encoding && encoding !== \"buffer\") {\n stream.setEncoding(encoding);\n }\n let length = 0;\n const chunks = [];\n stream.on(\"data\", (chunk) => {\n chunks.push(chunk);\n length += chunk.length;\n });\n stream.getBufferedValue = () => {\n return (isBuffer ? Buffer.concat(chunks, length) : chunks.join(\"\"));\n };\n stream.getBufferedLength = () => length;\n return stream;\n}\nasync function getStream(inputStream, options) {\n const stream = bufferStream(options);\n await new Promise((resolve, reject) => {\n const rejectPromise = (error) => {\n // Don't retrieve an oversized buffer.\n if (error && stream.getBufferedLength() <= node_buffer_1.constants.MAX_LENGTH) {\n error.bufferedData = stream.getBufferedValue();\n }\n reject(error);\n };\n (async () => {\n try {\n await streamPipelinePromisified(inputStream, stream);\n resolve();\n }\n catch (error) {\n rejectPromise(error);\n }\n })();\n stream.on(\"data\", () => {\n // 80mb\n if (stream.getBufferedLength() > 1000 * 1000 * 80) {\n rejectPromise(new MaxBufferError());\n }\n });\n });\n return stream.getBufferedValue();\n}\n// On failure, `result.stdout|stderr` should contain the currently buffered stream\nasync function getBufferedData(stream, streamPromise) {\n stream.destroy();\n try {\n return await streamPromise;\n }\n catch (error) {\n return error.bufferedData;\n }\n}\nasync function getSpawnedResult({ stdout, stderr }, { encoding }, processDone) {\n const stdoutPromise = getStream(stdout, { encoding });\n const stderrPromise = getStream(stderr, { encoding });\n try {\n return await Promise.all([processDone, stdoutPromise, stderrPromise]);\n }\n catch (error) {\n return Promise.all([\n {\n error: error,\n exitCode: null,\n signal: error.signal,\n timedOut: error.timedOut || false,\n },\n getBufferedData(stdout, stdoutPromise),\n getBufferedData(stderr, stderrPromise),\n ]);\n }\n}\nexports.getSpawnedResult = getSpawnedResult;\nfunction stripFinalNewline(input) {\n const LF = typeof input === \"string\" ? \"\\n\" : \"\\n\".charCodeAt(0);\n const CR = typeof input === \"string\" ? \"\\r\" : \"\\r\".charCodeAt(0);\n if (input[input.length - 1] === LF) {\n // @ts-expect-error we are doing some nasty stuff here\n input = input.slice(0, -1);\n }\n if (input[input.length - 1] === CR) {\n // @ts-expect-error we are doing some nasty stuff here\n input = input.slice(0, -1);\n }\n return input;\n}\nfunction handleOutput(options, value) {\n if (options.stripFinalNewline) {\n return stripFinalNewline(value);\n }\n return value;\n}\nexports.handleOutput = handleOutput;\nconst getErrorPrefix = ({ timedOut, timeout, signal, exitCode, }) => {\n if (timedOut) {\n return `timed out after ${timeout} milliseconds`;\n }\n if (signal !== undefined && signal !== null) {\n return `was killed with ${signal}`;\n }\n if (exitCode !== undefined && exitCode !== null) {\n return `failed with exit code ${exitCode}`;\n }\n return \"failed\";\n};\nconst makeError = ({ stdout, stderr, error, signal, exitCode, command, timedOut, options, parentError, }) => {\n const prefix = getErrorPrefix({ timedOut, timeout: options?.timeout, signal, exitCode });\n const execaMessage = `Command ${prefix}: ${command}`;\n const shortMessage = error ? `${execaMessage}\\n${error.message}` : execaMessage;\n const message = [shortMessage, stderr, stdout].filter(Boolean).join(\"\\n\");\n if (error) {\n // @ts-expect-error not on Error\n error.originalMessage = error.message;\n }\n else {\n error = parentError;\n }\n error.message = message;\n // @ts-expect-error not on Error\n error.shortMessage = shortMessage;\n // @ts-expect-error not on Error\n error.command = command;\n // @ts-expect-error not on Error\n error.exitCode = exitCode;\n // @ts-expect-error not on Error\n error.signal = signal;\n // @ts-expect-error not on Error\n error.stdout = stdout;\n // @ts-expect-error not on Error\n error.stderr = stderr;\n if (\"bufferedData\" in error) {\n delete error[\"bufferedData\"];\n }\n return error;\n};\nfunction defaultParsing({ stdout, stderr, error, exitCode, signal, timedOut, command, options, parentError, }) {\n if (error || exitCode !== 0 || signal !== null) {\n const returnedError = makeError({\n error,\n exitCode,\n signal,\n stdout,\n stderr,\n command,\n timedOut,\n options,\n parentError,\n });\n throw returnedError;\n }\n return stdout;\n}\nexports.defaultParsing = defaultParsing;\n", "\"use strict\";\n/*\n * Inspired by Execa\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useExec = void 0;\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst react_1 = require(\"react\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst exec_utils_1 = require(\"./exec-utils\");\nconst SPACES_REGEXP = / +/g;\nfunction parseCommand(command, args) {\n if (args) {\n return [command, ...args];\n }\n const tokens = [];\n for (const token of command.trim().split(SPACES_REGEXP)) {\n // Allow spaces to be escaped by a backslash if not meant as a delimiter\n const previousToken = tokens[tokens.length - 1];\n if (previousToken && previousToken.endsWith(\"\\\\\")) {\n // Merge previous token with current one\n tokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`;\n }\n else {\n tokens.push(token);\n }\n }\n return tokens;\n}\nfunction useExec(command, optionsOrArgs, options) {\n const { parseOutput, input, onData, onWillExecute, initialData, execute, keepPreviousData, onError, failureToastOptions, ...execOptions } = Array.isArray(optionsOrArgs) ? options || {} : optionsOrArgs || {};\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n failureToastOptions,\n };\n const abortable = (0, react_1.useRef)();\n const parseOutputRef = (0, useLatest_1.useLatest)(parseOutput || exec_utils_1.defaultParsing);\n const fn = (0, react_1.useCallback)(async (_command, _args, _options, input) => {\n const [file, ...args] = parseCommand(_command, _args);\n const command = [file, ...args].join(\" \");\n const options = {\n stripFinalNewline: true,\n ..._options,\n timeout: _options?.timeout || 10000,\n signal: abortable.current?.signal,\n encoding: _options?.encoding === null ? \"buffer\" : _options?.encoding || \"utf8\",\n env: { PATH: \"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\", ...process.env, ..._options?.env },\n };\n const spawned = node_child_process_1.default.spawn(file, args, options);\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned, options);\n if (input) {\n spawned.stdin.end(input);\n }\n const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, options, spawnedPromise);\n const stdout = (0, exec_utils_1.handleOutput)(options, stdoutResult);\n const stderr = (0, exec_utils_1.handleOutput)(options, stderrResult);\n return parseOutputRef.current({\n // @ts-expect-error too many generics, I give up\n stdout,\n // @ts-expect-error too many generics, I give up\n stderr,\n error,\n exitCode,\n signal,\n timedOut,\n command,\n options,\n parentError: new Error(),\n });\n }, [parseOutputRef]);\n // @ts-expect-error T can't be a Promise so it's actually the same\n return (0, useCachedPromise_1.useCachedPromise)(fn, [command, Array.isArray(optionsOrArgs) ? optionsOrArgs : [], execOptions, input], {\n ...useCachedPromiseOptions,\n abortable,\n });\n}\nexports.useExec = useExec;\n", "'use strict';\n\nconst {Readable, Writable, Duplex, Transform} = require('stream');\n\nconst none = Symbol.for('object-stream.none');\nconst finalSymbol = Symbol.for('object-stream.final');\nconst manySymbol = Symbol.for('object-stream.many');\n\nconst final = value => ({[finalSymbol]: value});\nconst many = values => ({[manySymbol]: values});\n\nconst isFinal = o => o && typeof o == 'object' && finalSymbol in o;\nconst isMany = o => o && typeof o == 'object' && manySymbol in o;\n\nconst getFinalValue = o => o[finalSymbol];\nconst getManyValues = o => o[manySymbol];\n\nconst runAsyncGenerator = async (gen, stream) => {\n for (;;) {\n let data = gen.next();\n if (data && typeof data.then == 'function') {\n data = await data;\n }\n if (data.done) break;\n let value = data.value;\n if (value && typeof value.then == 'function') {\n value = await value;\n }\n Chain.sanitize(value, stream);\n }\n};\n\nconst wrapFunction = fn =>\n new Transform({\n writableObjectMode: true,\n readableObjectMode: true,\n transform(chunk, encoding, callback) {\n try {\n const result = fn.call(this, chunk, encoding);\n if (result && typeof result.then == 'function') {\n // thenable\n result.then(\n result => (Chain.sanitize(result, this), callback(null)),\n error => callback(error)\n );\n return;\n }\n if (result && typeof result.next == 'function') {\n // generator\n runAsyncGenerator(result, this).then(\n () => callback(null),\n error => callback(error)\n );\n return;\n }\n Chain.sanitize(result, this);\n callback(null);\n } catch (error) {\n callback(error);\n }\n }\n });\n\nconst wrapArray = fns =>\n new Transform({\n writableObjectMode: true,\n readableObjectMode: true,\n transform(chunk, encoding, callback) {\n try {\n let value = chunk;\n for (let i = 0; i < fns.length; ++i) {\n const result = fns[i].call(this, value, encoding);\n if (result === Chain.none) {\n callback(null);\n return;\n }\n if (Chain.isFinal(result)) {\n value = Chain.getFinalValue(result);\n break;\n }\n value = result;\n }\n Chain.sanitize(value, this);\n callback(null);\n } catch (error) {\n callback(error);\n }\n }\n });\n\n// is*NodeStream functions taken from https://github.com/nodejs/node/blob/master/lib/internal/streams/utils.js\nconst isReadableNodeStream = obj =>\n obj &&\n typeof obj.pipe === 'function' &&\n typeof obj.on === 'function' &&\n (!obj._writableState || (typeof obj._readableState === 'object' ? obj._readableState.readable : null) !== false) && // Duplex\n (!obj._writableState || obj._readableState); // Writable has .pipe.\n\nconst isWritableNodeStream = obj =>\n obj &&\n typeof obj.write === 'function' &&\n typeof obj.on === 'function' &&\n (!obj._readableState || (typeof obj._writableState === 'object' ? obj._writableState.writable : null) !== false); // Duplex\n\nconst isDuplexNodeStream = obj =>\n obj && typeof obj.pipe === 'function' && obj._readableState && typeof obj.on === 'function' && typeof obj.write === 'function';\n\nclass Chain extends Duplex {\n constructor(fns, options) {\n super(options || {writableObjectMode: true, readableObjectMode: true});\n\n if (!(fns instanceof Array) || !fns.length) {\n throw Error(\"Chain's argument should be a non-empty array.\");\n }\n\n this.streams = fns\n .filter(fn => fn)\n .map((fn, index, fns) => {\n if (typeof fn === 'function' || fn instanceof Array) return Chain.convertToTransform(fn);\n if (isDuplexNodeStream(fn) || (!index && isReadableNodeStream(fn)) || (index === fns.length - 1 && isWritableNodeStream(fn))) {\n return fn;\n }\n throw Error('Arguments should be functions, arrays or streams.');\n })\n .filter(s => s);\n this.input = this.streams[0];\n this.output = this.streams.reduce((output, stream) => (output && output.pipe(stream)) || stream);\n\n if (!isWritableNodeStream(this.input)) {\n this._write = (_1, _2, callback) => callback(null);\n this._final = callback => callback(null); // unavailable in Node 6\n this.input.on('end', () => this.end());\n }\n\n if (isReadableNodeStream(this.output)) {\n this.output.on('data', chunk => !this.push(chunk) && this.output.pause());\n this.output.on('end', () => this.push(null));\n } else {\n this._read = () => {}; // nop\n this.resume();\n this.output.on('finish', () => this.push(null));\n }\n\n // connect events\n if (!options || !options.skipEvents) {\n this.streams.forEach(stream => stream.on('error', error => this.emit('error', error)));\n }\n }\n _write(chunk, encoding, callback) {\n let error = null;\n try {\n this.input.write(chunk, encoding, e => callback(e || error));\n } catch (e) {\n error = e;\n }\n }\n _final(callback) {\n let error = null;\n try {\n this.input.end(null, null, e => callback(e || error));\n } catch (e) {\n error = e;\n }\n }\n _read() {\n this.output.resume();\n }\n static make(fns, options) {\n return new Chain(fns, options);\n }\n static sanitize(result, stream) {\n if (Chain.isFinal(result)) {\n result = Chain.getFinalValue(result);\n } else if (Chain.isMany(result)) {\n result = Chain.getManyValues(result);\n }\n if (result !== undefined && result !== null && result !== Chain.none) {\n if (result instanceof Array) {\n result.forEach(value => value !== undefined && value !== null && stream.push(value));\n } else {\n stream.push(result);\n }\n }\n }\n static convertToTransform(fn) {\n if (typeof fn === 'function') return wrapFunction(fn);\n if (fn instanceof Array) return fn.length ? wrapArray(fn) : null;\n return null;\n }\n}\n\nChain.none = none;\nChain.final = final;\nChain.isFinal = isFinal;\nChain.getFinalValue = getFinalValue;\nChain.many = many;\nChain.isMany = isMany;\nChain.getManyValues = getManyValues;\n\nChain.chain = Chain.make;\nChain.make.Constructor = Chain;\n\nmodule.exports = Chain;\n", "'use strict';\n\nconst {Transform} = require('stream');\nconst {StringDecoder} = require('string_decoder');\n\nclass Utf8Stream extends Transform {\n constructor(options) {\n super(Object.assign({}, options, {writableObjectMode: false}));\n this._buffer = '';\n }\n\n _transform(chunk, encoding, callback) {\n if (typeof chunk == 'string') {\n this._transform = this._transformString;\n } else {\n this._stringDecoder = new StringDecoder();\n this._transform = this._transformBuffer;\n }\n this._transform(chunk, encoding, callback);\n }\n\n _transformBuffer(chunk, _, callback) {\n this._buffer += this._stringDecoder.write(chunk);\n this._processBuffer(callback);\n }\n\n _transformString(chunk, _, callback) {\n this._buffer += chunk.toString();\n this._processBuffer(callback);\n }\n\n _processBuffer(callback) {\n if (this._buffer) {\n this.push(this._buffer, 'utf8');\n this._buffer = '';\n }\n callback(null);\n }\n\n _flushInput() {\n // meant to be called from _flush()\n if (this._stringDecoder) {\n this._buffer += this._stringDecoder.end();\n }\n }\n\n _flush(callback) {\n this._flushInput();\n this._processBuffer(callback);\n }\n}\n\nmodule.exports = Utf8Stream;\n", "'use strict';\n\nconst Utf8Stream = require('./utils/Utf8Stream');\n\nconst patterns = {\n value1: /^(?:[\\\"\\{\\[\\]\\-\\d]|true\\b|false\\b|null\\b|\\s{1,256})/,\n string: /^(?:[^\\\"\\\\]{1,256}|\\\\[bfnrt\\\"\\\\\\/]|\\\\u[\\da-fA-F]{4}|\\\")/,\n key1: /^(?:[\\\"\\}]|\\s{1,256})/,\n colon: /^(?:\\:|\\s{1,256})/,\n comma: /^(?:[\\,\\]\\}]|\\s{1,256})/,\n ws: /^\\s{1,256}/,\n numberStart: /^\\d/,\n numberDigit: /^\\d{0,256}/,\n numberFraction: /^[\\.eE]/,\n numberExponent: /^[eE]/,\n numberExpSign: /^[-+]/\n};\nconst MAX_PATTERN_SIZE = 16;\n\nlet noSticky = true;\ntry {\n new RegExp('.', 'y');\n noSticky = false;\n} catch (e) {\n // suppress\n}\n\n!noSticky &&\n Object.keys(patterns).forEach(key => {\n let src = patterns[key].source.slice(1); // lop off ^\n if (src.slice(0, 3) === '(?:' && src.slice(-1) === ')') {\n src = src.slice(3, -1);\n }\n patterns[key] = new RegExp(src, 'y');\n });\n\npatterns.numberFracStart = patterns.numberExpStart = patterns.numberStart;\npatterns.numberFracDigit = patterns.numberExpDigit = patterns.numberDigit;\n\nconst values = {true: true, false: false, null: null},\n expected = {object: 'objectStop', array: 'arrayStop', '': 'done'};\n\n// long hexadecimal codes: \\uXXXX\nconst fromHex = s => String.fromCharCode(parseInt(s.slice(2), 16));\n\n// short codes: \\b \\f \\n \\r \\t \\\" \\\\ \\/\nconst codes = {b: '\\b', f: '\\f', n: '\\n', r: '\\r', t: '\\t', '\"': '\"', '\\\\': '\\\\', '/': '/'};\n\nclass Parser extends Utf8Stream {\n static make(options) {\n return new Parser(options);\n }\n\n constructor(options) {\n super(Object.assign({}, options, {readableObjectMode: true}));\n\n this._packKeys = this._packStrings = this._packNumbers = this._streamKeys = this._streamStrings = this._streamNumbers = true;\n if (options) {\n 'packValues' in options && (this._packKeys = this._packStrings = this._packNumbers = options.packValues);\n 'packKeys' in options && (this._packKeys = options.packKeys);\n 'packStrings' in options && (this._packStrings = options.packStrings);\n 'packNumbers' in options && (this._packNumbers = options.packNumbers);\n 'streamValues' in options && (this._streamKeys = this._streamStrings = this._streamNumbers = options.streamValues);\n 'streamKeys' in options && (this._streamKeys = options.streamKeys);\n 'streamStrings' in options && (this._streamStrings = options.streamStrings);\n 'streamNumbers' in options && (this._streamNumbers = options.streamNumbers);\n this._jsonStreaming = options.jsonStreaming;\n }\n !this._packKeys && (this._streamKeys = true);\n !this._packStrings && (this._streamStrings = true);\n !this._packNumbers && (this._streamNumbers = true);\n\n this._done = false;\n this._expect = this._jsonStreaming ? 'done' : 'value';\n this._stack = [];\n this._parent = '';\n this._open_number = false;\n this._accumulator = '';\n }\n\n _flush(callback) {\n this._done = true;\n super._flush(error => {\n if (error) return callback(error);\n if (this._open_number) {\n if (this._streamNumbers) {\n this.push({name: 'endNumber'});\n }\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n callback(null);\n });\n }\n\n _processBuffer(callback) {\n let match,\n value,\n index = 0;\n main: for (;;) {\n switch (this._expect) {\n case 'value1':\n case 'value':\n patterns.value1.lastIndex = index;\n match = patterns.value1.exec(this._buffer);\n if (!match) {\n if (this._done || index + MAX_PATTERN_SIZE < this._buffer.length) {\n if (index < this._buffer.length) return callback(new Error('Parser cannot parse input: expected a value'));\n return callback(new Error('Parser has expected a value'));\n }\n break main; // wait for more input\n }\n value = match[0];\n switch (value) {\n case '\"':\n this._streamStrings && this.push({name: 'startString'});\n this._expect = 'string';\n break;\n case '{':\n this.push({name: 'startObject'});\n this._stack.push(this._parent);\n this._parent = 'object';\n this._expect = 'key1';\n break;\n case '[':\n this.push({name: 'startArray'});\n this._stack.push(this._parent);\n this._parent = 'array';\n this._expect = 'value1';\n break;\n case ']':\n if (this._expect !== 'value1') return callback(new Error(\"Parser cannot parse input: unexpected token ']'\"));\n if (this._open_number) {\n this._streamNumbers && this.push({name: 'endNumber'});\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n this.push({name: 'endArray'});\n this._parent = this._stack.pop();\n this._expect = expected[this._parent];\n break;\n case '-':\n this._open_number = true;\n if (this._streamNumbers) {\n this.push({name: 'startNumber'});\n this.push({name: 'numberChunk', value: '-'});\n }\n this._packNumbers && (this._accumulator = '-');\n this._expect = 'numberStart';\n break;\n case '0':\n this._open_number = true;\n if (this._streamNumbers) {\n this.push({name: 'startNumber'});\n this.push({name: 'numberChunk', value: '0'});\n }\n this._packNumbers && (this._accumulator = '0');\n this._expect = 'numberFraction';\n break;\n case '1':\n case '2':\n case '3':\n case '4':\n case '5':\n case '6':\n case '7':\n case '8':\n case '9':\n this._open_number = true;\n if (this._streamNumbers) {\n this.push({name: 'startNumber'});\n this.push({name: 'numberChunk', value: value});\n }\n this._packNumbers && (this._accumulator = value);\n this._expect = 'numberDigit';\n break;\n case 'true':\n case 'false':\n case 'null':\n if (this._buffer.length - index === value.length && !this._done) break main; // wait for more input\n this.push({name: value + 'Value', value: values[value]});\n this._expect = expected[this._parent];\n break;\n // default: // ws\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'keyVal':\n case 'string':\n patterns.string.lastIndex = index;\n match = patterns.string.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length && (this._done || this._buffer.length - index >= 6))\n return callback(new Error('Parser cannot parse input: escaped characters'));\n if (this._done) return callback(new Error('Parser has expected a string value'));\n break main; // wait for more input\n }\n value = match[0];\n if (value === '\"') {\n if (this._expect === 'keyVal') {\n this._streamKeys && this.push({name: 'endKey'});\n if (this._packKeys) {\n this.push({name: 'keyValue', value: this._accumulator});\n this._accumulator = '';\n }\n this._expect = 'colon';\n } else {\n this._streamStrings && this.push({name: 'endString'});\n if (this._packStrings) {\n this.push({name: 'stringValue', value: this._accumulator});\n this._accumulator = '';\n }\n this._expect = expected[this._parent];\n }\n } else if (value.length > 1 && value.charAt(0) === '\\\\') {\n const t = value.length == 2 ? codes[value.charAt(1)] : fromHex(value);\n if (this._expect === 'keyVal' ? this._streamKeys : this._streamStrings) {\n this.push({name: 'stringChunk', value: t});\n }\n if (this._expect === 'keyVal' ? this._packKeys : this._packStrings) {\n this._accumulator += t;\n }\n } else {\n if (this._expect === 'keyVal' ? this._streamKeys : this._streamStrings) {\n this.push({name: 'stringChunk', value: value});\n }\n if (this._expect === 'keyVal' ? this._packKeys : this._packStrings) {\n this._accumulator += value;\n }\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'key1':\n case 'key':\n patterns.key1.lastIndex = index;\n match = patterns.key1.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected an object key'));\n break main; // wait for more input\n }\n value = match[0];\n if (value === '\"') {\n this._streamKeys && this.push({name: 'startKey'});\n this._expect = 'keyVal';\n } else if (value === '}') {\n if (this._expect !== 'key1') return callback(new Error(\"Parser cannot parse input: unexpected token '}'\"));\n this.push({name: 'endObject'});\n this._parent = this._stack.pop();\n this._expect = expected[this._parent];\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'colon':\n patterns.colon.lastIndex = index;\n match = patterns.colon.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error(\"Parser cannot parse input: expected ':'\"));\n break main; // wait for more input\n }\n value = match[0];\n value === ':' && (this._expect = 'value');\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'arrayStop':\n case 'objectStop':\n patterns.comma.lastIndex = index;\n match = patterns.comma.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error(\"Parser cannot parse input: expected ','\"));\n break main; // wait for more input\n }\n if (this._open_number) {\n this._streamNumbers && this.push({name: 'endNumber'});\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n value = match[0];\n if (value === ',') {\n this._expect = this._expect === 'arrayStop' ? 'value' : 'key';\n } else if (value === '}' || value === ']') {\n if (value === '}' ? this._expect === 'arrayStop' : this._expect !== 'arrayStop') {\n return callback(new Error(\"Parser cannot parse input: expected '\" + (this._expect === 'arrayStop' ? ']' : '}') + \"'\"));\n }\n this.push({name: value === '}' ? 'endObject' : 'endArray'});\n this._parent = this._stack.pop();\n this._expect = expected[this._parent];\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n // number chunks\n case 'numberStart': // [0-9]\n patterns.numberStart.lastIndex = index;\n match = patterns.numberStart.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected a starting digit'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = value === '0' ? 'numberFraction' : 'numberDigit';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberDigit': // [0-9]*\n patterns.numberDigit.lastIndex = index;\n match = patterns.numberDigit.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected a digit'));\n break main; // wait for more input\n }\n value = match[0];\n if (value) {\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n } else {\n if (index < this._buffer.length) {\n this._expect = 'numberFraction';\n break;\n }\n if (this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n break;\n case 'numberFraction': // [\\.eE]?\n patterns.numberFraction.lastIndex = index;\n match = patterns.numberFraction.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = value === '.' ? 'numberFracStart' : 'numberExpSign';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberFracStart': // [0-9]\n patterns.numberFracStart.lastIndex = index;\n match = patterns.numberFracStart.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected a fractional part of a number'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberFracDigit';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberFracDigit': // [0-9]*\n patterns.numberFracDigit.lastIndex = index;\n match = patterns.numberFracDigit.exec(this._buffer);\n value = match[0];\n if (value) {\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n } else {\n if (index < this._buffer.length) {\n this._expect = 'numberExponent';\n break;\n }\n if (this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n break;\n case 'numberExponent': // [eE]?\n patterns.numberExponent.lastIndex = index;\n match = patterns.numberExponent.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length) {\n this._expect = expected[this._parent];\n break;\n }\n if (this._done) {\n this._expect = 'done';\n break;\n }\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberExpSign';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberExpSign': // [-+]?\n patterns.numberExpSign.lastIndex = index;\n match = patterns.numberExpSign.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length) {\n this._expect = 'numberExpStart';\n break;\n }\n if (this._done) return callback(new Error('Parser has expected an exponent value of a number'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberExpStart';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberExpStart': // [0-9]\n patterns.numberExpStart.lastIndex = index;\n match = patterns.numberExpStart.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected an exponent part of a number'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberExpDigit';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberExpDigit': // [0-9]*\n patterns.numberExpDigit.lastIndex = index;\n match = patterns.numberExpDigit.exec(this._buffer);\n value = match[0];\n if (value) {\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n } else {\n if (index < this._buffer.length || this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n break;\n case 'done':\n patterns.ws.lastIndex = index;\n match = patterns.ws.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length) {\n if (this._jsonStreaming) {\n this._expect = 'value';\n break;\n }\n return callback(new Error('Parser cannot parse input: unexpected characters'));\n }\n break main; // wait for more input\n }\n value = match[0];\n if (this._open_number) {\n this._streamNumbers && this.push({name: 'endNumber'});\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n }\n }\n !noSticky && (this._buffer = this._buffer.slice(index));\n callback(null);\n }\n}\nParser.parser = Parser.make;\nParser.make.Constructor = Parser;\n\nmodule.exports = Parser;\n", "'use strict';\n\nconst emit = stream => stream.on('data', item => stream.emit(item.name, item.value));\n\nmodule.exports = emit;\n", "'use strict';\n\nconst Parser = require('./Parser');\nconst emit = require('./utils/emit');\n\nconst make = options => emit(new Parser(options));\n\nmake.Parser = Parser;\nmake.parser = Parser.parser;\n\nmodule.exports = make;\n", "'use strict';\n\nconst {Transform} = require('stream');\n\nclass FilterBase extends Transform {\n static stringFilter(string, separator) {\n return stack => {\n const path = stack.join(separator);\n return (\n (path.length === string.length && path === string) ||\n (path.length > string.length && path.substr(0, string.length) === string && path.substr(string.length, separator.length) === separator)\n );\n };\n }\n\n static regExpFilter(regExp, separator) {\n return stack => regExp.test(stack.join(separator));\n }\n\n static arrayReplacement(array) {\n return () => array;\n }\n\n constructor(options) {\n super(Object.assign({}, options, {writableObjectMode: true, readableObjectMode: true}));\n this._transform = this._check;\n this._stack = [];\n\n const filter = options && options.filter,\n separator = (options && options.pathSeparator) || '.';\n if (typeof filter == 'string') {\n this._filter = FilterBase.stringFilter(filter, separator);\n } else if (typeof filter == 'function') {\n this._filter = filter;\n } else if (filter instanceof RegExp) {\n this._filter = FilterBase.regExpFilter(filter, separator);\n }\n\n const replacement = options && options.replacement;\n if (typeof replacement == 'function') {\n this._replacement = replacement;\n } else {\n this._replacement = FilterBase.arrayReplacement(replacement || FilterBase.defaultReplacement);\n }\n this._allowEmptyReplacement = options && options.allowEmptyReplacement;\n\n this._streamKeys = true;\n if (options) {\n 'streamValues' in options && (this._streamKeys = options.streamValues);\n 'streamKeys' in options && (this._streamKeys = options.streamKeys);\n }\n\n this._once = options && options.once;\n this._previousToken = '';\n }\n\n _check(chunk, _, callback) {\n // update the last stack key\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n case 'startString':\n case 'startNumber':\n case 'nullValue':\n case 'trueValue':\n case 'falseValue':\n if (typeof this._stack[this._stack.length - 1] == 'number') {\n // array\n ++this._stack[this._stack.length - 1];\n }\n break;\n case 'keyValue':\n this._stack[this._stack.length - 1] = chunk.value;\n break;\n case 'numberValue':\n if (this._previousToken !== 'endNumber' && typeof this._stack[this._stack.length - 1] == 'number') {\n // array\n ++this._stack[this._stack.length - 1];\n }\n break;\n case 'stringValue':\n if (this._previousToken !== 'endString' && typeof this._stack[this._stack.length - 1] == 'number') {\n // array\n ++this._stack[this._stack.length - 1];\n }\n break;\n }\n this._previousToken = chunk.name;\n // check, if we allow a chunk\n if (this._checkChunk(chunk)) {\n return callback(null);\n }\n // update the stack\n switch (chunk.name) {\n case 'startObject':\n this._stack.push(null);\n break;\n case 'startArray':\n this._stack.push(-1);\n break;\n case 'endObject':\n case 'endArray':\n this._stack.pop();\n break;\n }\n callback(null);\n }\n\n _passObject(chunk, _, callback) {\n this.push(chunk);\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n ++this._depth;\n break;\n case 'endObject':\n case 'endArray':\n --this._depth;\n break;\n }\n if (!this._depth) {\n this._transform = this._once ? this._skip : this._check;\n }\n callback(null);\n }\n\n _pass(chunk, _, callback) {\n this.push(chunk);\n callback(null);\n }\n\n _skipObject(chunk, _, callback) {\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n ++this._depth;\n break;\n case 'endObject':\n case 'endArray':\n --this._depth;\n break;\n }\n if (!this._depth) {\n this._transform = this._once ? this._pass : this._check;\n }\n callback(null);\n }\n\n _skip(chunk, _, callback) {\n callback(null);\n }\n}\n\nFilterBase.defaultReplacement = [{name: 'nullValue', value: null}];\n\nconst passValue = (last, post) =>\n function(chunk, _, callback) {\n if (this._expected) {\n const expected = this._expected;\n this._expected = '';\n this._transform = this._once ? this._skip : this._check;\n if (expected === chunk.name) {\n this.push(chunk);\n } else {\n return this._transform(chunk, _, callback);\n }\n } else {\n this.push(chunk);\n if (chunk.name === last) {\n this._expected = post;\n }\n }\n callback(null);\n };\n\nFilterBase.prototype._passNumber = passValue('endNumber', 'numberValue');\nFilterBase.prototype._passString = passValue('endString', 'stringValue');\nFilterBase.prototype._passKey = passValue('endKey', 'keyValue');\n\nconst skipValue = (last, post) =>\n function(chunk, _, callback) {\n if (this._expected) {\n const expected = this._expected;\n this._expected = '';\n this._transform = this._once ? this._pass : this._check;\n if (expected !== chunk.name) {\n return this._transform(chunk, _, callback);\n }\n } else {\n if (chunk.name === last) {\n this._expected = post;\n }\n }\n callback(null);\n };\n\nFilterBase.prototype._skipNumber = skipValue('endNumber', 'numberValue');\nFilterBase.prototype._skipString = skipValue('endString', 'stringValue');\nFilterBase.prototype._skipKey = skipValue('endKey', 'keyValue');\n\nmodule.exports = FilterBase;\n", "'use strict';\n\nconst Chain = require('stream-chain');\n\nconst Parser = require('../Parser');\n\nconst withParser = (fn, options) =>\n new Chain([new Parser(options), fn(options)], Object.assign({}, options, {writableObjectMode: false, readableObjectMode: true}));\n\nmodule.exports = withParser;\n", "'use strict';\n\nconst FilterBase = require('./FilterBase');\nconst withParser = require('../utils/withParser');\n\nclass Pick extends FilterBase {\n static make(options) {\n return new Pick(options);\n }\n\n static withParser(options) {\n return withParser(Pick.make, options);\n }\n\n _checkChunk(chunk) {\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._passObject;\n this._depth = 1;\n return true;\n }\n break;\n case 'startString':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._passString;\n return true;\n }\n break;\n case 'startNumber':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._passNumber;\n return true;\n }\n break;\n case 'nullValue':\n case 'trueValue':\n case 'falseValue':\n case 'stringValue':\n case 'numberValue':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._once ? this._skip : this._check;\n return true;\n }\n break;\n }\n return false;\n }\n}\nPick.pick = Pick.make;\nPick.make.Constructor = Pick;\n\nmodule.exports = Pick;\n", "'use strict';\n\nconst EventEmitter = require('events');\n\nconst startObject = Ctr =>\n function () {\n if (this.done) {\n this.done = false;\n } else {\n this.stack.push(this.current, this.key);\n }\n this.current = new Ctr();\n this.key = null;\n };\n\nclass Assembler extends EventEmitter {\n static connectTo(stream, options) {\n return new Assembler(options).connectTo(stream);\n }\n\n constructor(options) {\n super();\n this.stack = [];\n this.current = this.key = null;\n this.done = true;\n if (options) {\n this.reviver = typeof options.reviver == 'function' && options.reviver;\n if (this.reviver) {\n this.stringValue = this._saveValue = this._saveValueWithReviver;\n }\n if (options.numberAsString) {\n this.numberValue = this.stringValue;\n }\n }\n }\n\n connectTo(stream) {\n stream.on('data', chunk => {\n if (this[chunk.name]) {\n this[chunk.name](chunk.value);\n if (this.done) this.emit('done', this);\n }\n });\n return this;\n }\n\n get depth() {\n return (this.stack.length >> 1) + (this.done ? 0 : 1);\n }\n\n get path() {\n const path = [];\n for (let i = 0; i < this.stack.length; i += 2) {\n const key = this.stack[i + 1];\n path.push(key === null ? this.stack[i].length : key);\n }\n return path;\n }\n\n dropToLevel(level) {\n if (level < this.depth) {\n if (level) {\n const index = (level - 1) << 1;\n this.current = this.stack[index];\n this.key = this.stack[index + 1];\n this.stack.splice(index);\n } else {\n this.stack = [];\n this.current = this.key = null;\n this.done = true;\n }\n }\n return this;\n }\n\n consume(chunk) {\n this[chunk.name] && this[chunk.name](chunk.value);\n return this;\n }\n\n keyValue(value) {\n this.key = value;\n }\n\n //stringValue() - aliased below to _saveValue()\n\n numberValue(value) {\n this._saveValue(parseFloat(value));\n }\n nullValue() {\n this._saveValue(null);\n }\n trueValue() {\n this._saveValue(true);\n }\n falseValue() {\n this._saveValue(false);\n }\n\n //startObject() - assigned below\n\n endObject() {\n if (this.stack.length) {\n const value = this.current;\n this.key = this.stack.pop();\n this.current = this.stack.pop();\n this._saveValue(value);\n } else {\n this.done = true;\n }\n }\n\n //startArray() - assigned below\n //endArray() - aliased below to endObject()\n\n _saveValue(value) {\n if (this.done) {\n this.current = value;\n } else {\n if (this.current instanceof Array) {\n this.current.push(value);\n } else {\n this.current[this.key] = value;\n this.key = null;\n }\n }\n }\n _saveValueWithReviver(value) {\n if (this.done) {\n this.current = this.reviver('', value);\n } else {\n if (this.current instanceof Array) {\n value = this.reviver('' + this.current.length, value);\n this.current.push(value);\n if (value === undefined) {\n delete this.current[this.current.length - 1];\n }\n } else {\n value = this.reviver(this.key, value);\n if (value !== undefined) {\n this.current[this.key] = value;\n }\n this.key = null;\n }\n }\n }\n}\n\nAssembler.prototype.stringValue = Assembler.prototype._saveValue;\nAssembler.prototype.startObject = startObject(Object);\nAssembler.prototype.startArray = startObject(Array);\nAssembler.prototype.endArray = Assembler.prototype.endObject;\n\nmodule.exports = Assembler;\n", "'use strict';\n\nconst {Transform} = require('stream');\nconst Assembler = require('../Assembler');\n\nclass Counter {\n constructor(initialDepth) {\n this.depth = initialDepth;\n }\n startObject() {\n ++this.depth;\n }\n endObject() {\n --this.depth;\n }\n startArray() {\n ++this.depth;\n }\n endArray() {\n --this.depth;\n }\n}\n\nclass StreamBase extends Transform {\n constructor(options) {\n super(Object.assign({}, options, {writableObjectMode: true, readableObjectMode: true}));\n if (options) {\n this.objectFilter = options.objectFilter;\n this.includeUndecided = options.includeUndecided;\n }\n if (typeof this.objectFilter != 'function') {\n this._filter = this._transform;\n }\n this._transform = this._wait || this._filter;\n this._assembler = new Assembler(options);\n }\n\n _transform(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n if (this._assembler.depth === this._level) {\n this._push();\n }\n }\n callback(null);\n }\n\n _filter(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n const result = this.objectFilter(this._assembler);\n if (result) {\n if (this._assembler.depth === this._level) {\n this._push();\n this._transform = this._filter;\n }\n this._transform = this._accept;\n return callback(null);\n }\n if (result === false) {\n this._saved_assembler = this._assembler;\n this._assembler = new Counter(this._saved_assembler.depth);\n this._saved_assembler.dropToLevel(this._level);\n if (this._assembler.depth === this._level) {\n this._assembler = this._saved_assembler;\n this._transform = this._filter;\n }\n this._transform = this._reject;\n return callback(null);\n }\n if (this._assembler.depth === this._level) {\n this._push(!this.includeUndecided);\n }\n }\n callback(null);\n }\n\n _accept(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n if (this._assembler.depth === this._level) {\n this._push();\n this._transform = this._filter;\n }\n }\n callback(null);\n }\n\n _reject(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n if (this._assembler.depth === this._level) {\n this._assembler = this._saved_assembler;\n this._transform = this._filter;\n }\n }\n callback(null);\n }\n}\n\nmodule.exports = StreamBase;\n", "'use strict';\n\nconst StreamBase = require('./StreamBase');\nconst withParser = require('../utils/withParser');\n\nclass StreamArray extends StreamBase {\n static make(options) {\n return new StreamArray(options);\n }\n\n static withParser(options) {\n return withParser(StreamArray.make, options);\n }\n\n constructor(options) {\n super(options);\n this._level = 1;\n this._counter = 0;\n }\n\n _wait(chunk, _, callback) {\n // first chunk should open an array\n if (chunk.name !== 'startArray') {\n return callback(new Error('Top-level object should be an array.'));\n }\n this._transform = this._filter;\n return this._transform(chunk, _, callback);\n }\n\n _push(discard) {\n if (this._assembler.current.length) {\n if (discard) {\n ++this._counter;\n this._assembler.current.pop();\n } else {\n this.push({key: this._counter++, value: this._assembler.current.pop()});\n }\n }\n }\n}\nStreamArray.streamArray = StreamArray.make;\nStreamArray.make.Constructor = StreamArray;\n\nmodule.exports = StreamArray;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useStreamJSON = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst cross_fetch_1 = __importDefault(require(\"cross-fetch\"));\nconst node_fs_1 = require(\"node:fs\");\nconst promises_1 = require(\"node:fs/promises\");\nconst node_path_1 = require(\"node:path\");\nconst promises_2 = require(\"node:stream/promises\");\nconst react_1 = require(\"react\");\nconst stream_chain_1 = __importDefault(require(\"stream-chain\"));\nconst stream_json_1 = require(\"stream-json\");\nconst Pick_1 = __importDefault(require(\"stream-json/filters/Pick\"));\nconst StreamArray_1 = __importDefault(require(\"stream-json/streamers/StreamArray\"));\nconst fetch_utils_1 = require(\"./fetch-utils\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst helpers_1 = require(\"./helpers\");\nasync function cache(url, destination, fetchOptions) {\n if (typeof url === \"object\" || url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\n return await cacheURL(url, destination, fetchOptions);\n }\n else if (url.startsWith(\"file://\")) {\n return await cacheFile((0, node_path_1.normalize)(decodeURIComponent(new URL(url).pathname)), destination, fetchOptions?.signal ? fetchOptions.signal : undefined);\n }\n else {\n throw new Error(\"Only HTTP(S) or file URLs are supported\");\n }\n}\nasync function cacheURL(url, destination, fetchOptions) {\n const response = await (0, cross_fetch_1.default)(url, fetchOptions);\n if (!response.ok) {\n throw new Error(\"Failed to fetch URL\");\n }\n if (!(0, fetch_utils_1.isJSON)(response.headers.get(\"content-type\"))) {\n throw new Error(\"URL does not return JSON\");\n }\n if (!response.body) {\n throw new Error(\"Failed to retrieve expected JSON content: Response body is missing or inaccessible.\");\n }\n await (0, promises_2.pipeline)(response.body, (0, node_fs_1.createWriteStream)(destination), fetchOptions?.signal ? { signal: fetchOptions.signal } : undefined);\n}\nasync function cacheFile(source, destination, abortSignal) {\n await (0, promises_2.pipeline)((0, node_fs_1.createReadStream)(source), (0, node_fs_1.createWriteStream)(destination), abortSignal ? { signal: abortSignal } : undefined);\n}\nasync function cacheURLIfNecessary(url, folder, fileName, forceUpdate, fetchOptions) {\n const destination = (0, node_path_1.join)(folder, fileName);\n try {\n await (0, promises_1.stat)(folder);\n }\n catch (e) {\n (0, node_fs_1.mkdirSync)(folder, { recursive: true });\n await cache(url, destination, fetchOptions);\n return;\n }\n if (forceUpdate) {\n await cache(url, destination, fetchOptions);\n return;\n }\n let stats = undefined;\n try {\n stats = await (0, promises_1.stat)(destination);\n }\n catch (e) {\n await cache(url, destination, fetchOptions);\n return;\n }\n if (typeof url === \"object\" || url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\n const headResponse = await (0, cross_fetch_1.default)(url, { ...fetchOptions, method: \"HEAD\" });\n if (!headResponse.ok) {\n throw new Error(\"Could not fetch URL\");\n }\n if (!(0, fetch_utils_1.isJSON)(headResponse.headers.get(\"content-type\"))) {\n throw new Error(\"URL does not return JSON\");\n }\n const lastModified = Date.parse(headResponse.headers.get(\"last-modified\") ?? \"\");\n if (stats.size === 0 || Number.isNaN(lastModified) || lastModified > stats.mtimeMs) {\n await cache(url, destination, fetchOptions);\n return;\n }\n }\n else if (url.startsWith(\"file://\")) {\n try {\n const sourceStats = await (0, promises_1.stat)((0, node_path_1.normalize)(decodeURIComponent(new URL(url).pathname)));\n if (sourceStats.mtimeMs > stats.mtimeMs) {\n await cache(url, destination, fetchOptions);\n }\n }\n catch (e) {\n throw new Error(\"Source file could not be read\");\n }\n }\n else {\n throw new Error(\"Only HTTP(S) or file URLs are supported\");\n }\n}\nasync function* streamJsonFile(filePath, pageSize, abortSignal, dataPath, filterFn, transformFn) {\n let page = [];\n const pipeline = new stream_chain_1.default([\n (0, node_fs_1.createReadStream)(filePath),\n dataPath ? Pick_1.default.withParser({ filter: dataPath }) : (0, stream_json_1.parser)(),\n new StreamArray_1.default(),\n (data) => transformFn?.(data.value) ?? data.value,\n ]);\n abortSignal?.addEventListener(\"abort\", () => {\n pipeline.destroy();\n });\n try {\n for await (const data of pipeline) {\n if (abortSignal?.aborted) {\n return [];\n }\n if (!filterFn || filterFn(data)) {\n page.push(data);\n }\n if (page.length >= pageSize) {\n yield page;\n page = [];\n }\n }\n }\n catch (e) {\n pipeline.destroy();\n throw e;\n }\n if (page.length > 0) {\n yield page;\n }\n return [];\n}\nfunction useStreamJSON(url, options) {\n const { initialData, execute, keepPreviousData, onError, onData, onWillExecute, failureToastOptions, dataPath, filter, transform, pageSize = 20, ...fetchOptions } = options ?? {};\n const previousUrl = (0, react_1.useRef)();\n const previousDestination = (0, react_1.useRef)();\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n failureToastOptions,\n };\n const generatorRef = (0, react_1.useRef)(null);\n const controllerRef = (0, react_1.useRef)(null);\n const hasMoreRef = (0, react_1.useRef)(false);\n return (0, useCachedPromise_1.useCachedPromise)((url, pageSize, fetchOptions, dataPath, filter, transform) => async ({ page }) => {\n const fileName = (0, helpers_1.hash)(url) + \".json\";\n const folder = api_1.environment.supportPath;\n if (page === 0) {\n controllerRef.current?.abort();\n controllerRef.current = new AbortController();\n const destination = (0, node_path_1.join)(folder, fileName);\n /**\n * Force update the cache when the URL changes but the cache destination does not.\n */\n const forceCacheUpdate = Boolean(previousUrl.current &&\n previousUrl.current !== url &&\n previousDestination.current &&\n previousDestination.current === destination);\n previousUrl.current = url;\n previousDestination.current = destination;\n await cacheURLIfNecessary(url, folder, fileName, forceCacheUpdate, {\n ...fetchOptions,\n signal: controllerRef.current?.signal,\n });\n generatorRef.current = streamJsonFile(destination, pageSize, controllerRef.current?.signal, dataPath, filter, transform);\n }\n if (!generatorRef.current) {\n return { hasMore: hasMoreRef.current, data: [] };\n }\n const { value: newData, done } = await generatorRef.current.next();\n hasMoreRef.current = !done;\n return { hasMore: hasMoreRef.current, data: (newData ?? []) };\n }, [url, pageSize, fetchOptions, dataPath, filter, transform], useCachedPromiseOptions);\n}\nexports.useStreamJSON = useStreamJSON;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useSQL = void 0;\nconst jsx_runtime_1 = require(\"react/jsx-runtime\");\nconst api_1 = require(\"@raycast/api\");\nconst node_fs_1 = require(\"node:fs\");\nconst promises_1 = require(\"node:fs/promises\");\nconst node_os_1 = __importDefault(require(\"node:os\"));\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst node_path_1 = __importDefault(require(\"node:path\"));\nconst react_1 = require(\"react\");\nconst usePromise_1 = require(\"./usePromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst exec_utils_1 = require(\"./exec-utils\");\nconst showFailureToast_1 = require(\"./showFailureToast\");\nconst helpers_1 = require(\"./helpers\");\n/**\n * Executes a query on a local SQL database and returns the {@link AsyncState} corresponding to the query of the command. The last value will be kept between command runs.\n *\n * @example\n * ```\n * import { useSQL } from \"@raycast/utils\";\n * import { resolve } from \"path\";\n * import { homedir } from \"os\";\n *\n * const NOTES_DB = resolve(homedir(), \"Library/Group Containers/group.com.apple.notes/NoteStore.sqlite\");\n * const notesQuery = `SELECT id, title FROM ...`;\n * type NoteItem = {\n * id: string;\n * title: string;\n * };\n *\n * export default function Command() {\n * const { isLoading, data, permissionView } = useSQL<NoteItem>(NOTES_DB, notesQuery);\n *\n * if (permissionView) {\n * return permissionView;\n * }\n *\n * return (\n * <List isLoading={isLoading}>\n * {(data || []).map((item) => (\n * <List.Item key={item.id} title={item.title} />\n * ))}\n * </List>\n * );\n * };\n * ```\n */\nfunction useSQL(databasePath, query, options) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { permissionPriming, ...usePromiseOptions } = options || {};\n const [permissionView, setPermissionView] = (0, react_1.useState)();\n const latestOptions = (0, useLatest_1.useLatest)(options || {});\n const abortable = (0, react_1.useRef)();\n const handleError = (0, react_1.useCallback)((_error) => {\n console.error(_error);\n const error = _error instanceof Error && _error.message.includes(\"authorization denied\")\n ? new PermissionError(\"You do not have permission to access the database.\")\n : _error;\n if (isPermissionError(error)) {\n setPermissionView((0, jsx_runtime_1.jsx)(PermissionErrorScreen, { priming: latestOptions.current.permissionPriming }));\n }\n else {\n if (latestOptions.current.onError) {\n latestOptions.current.onError(error);\n }\n else {\n if (api_1.environment.launchType !== api_1.LaunchType.Background) {\n (0, showFailureToast_1.showFailureToast)(error, {\n title: \"Cannot query the data\",\n });\n }\n }\n }\n }, [latestOptions]);\n const fn = (0, react_1.useMemo)(() => {\n if (!(0, node_fs_1.existsSync)(databasePath)) {\n throw new Error(\"The database does not exist\");\n }\n let workaroundCopiedDb = undefined;\n return async (databasePath, query) => {\n const abortSignal = abortable.current?.signal;\n const spawned = node_child_process_1.default.spawn(\"sqlite3\", [\"--json\", \"--readonly\", databasePath, query], {\n signal: abortSignal,\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned);\n let [{ error, exitCode, signal }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf-8\" }, spawnedPromise);\n checkAborted(abortSignal);\n if (stderrResult.match(\"(5)\") || stderrResult.match(\"(14)\")) {\n // That means that the DB is busy because of another app is locking it\n // This happens when Chrome or Arc is opened: they lock the History db.\n // As an ugly workaround, we duplicate the file and read that instead\n // (with vfs unix - none to just not care about locks)\n if (!workaroundCopiedDb) {\n const tempFolder = node_path_1.default.join(node_os_1.default.tmpdir(), \"useSQL\", (0, helpers_1.hash)(databasePath));\n await (0, promises_1.mkdir)(tempFolder, { recursive: true });\n checkAborted(abortSignal);\n workaroundCopiedDb = node_path_1.default.join(tempFolder, \"db.db\");\n await (0, promises_1.copyFile)(databasePath, workaroundCopiedDb);\n // needed for certain db\n await (0, promises_1.writeFile)(workaroundCopiedDb + \"-shm\", \"\");\n await (0, promises_1.writeFile)(workaroundCopiedDb + \"-wal\", \"\");\n checkAborted(abortSignal);\n }\n const spawned = node_child_process_1.default.spawn(\"sqlite3\", [\"--json\", \"--readonly\", \"--vfs\", \"unix-none\", workaroundCopiedDb, query], {\n signal: abortSignal,\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned);\n [{ error, exitCode, signal }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf-8\" }, spawnedPromise);\n checkAborted(abortSignal);\n }\n if (error || exitCode !== 0 || signal !== null) {\n throw new Error(stderrResult);\n }\n return JSON.parse(stdoutResult.trim() || \"[]\");\n };\n }, [databasePath]);\n return {\n ...(0, usePromise_1.usePromise)(fn, [databasePath, query], { ...usePromiseOptions, onError: handleError }),\n permissionView,\n };\n}\nexports.useSQL = useSQL;\nclass PermissionError extends Error {\n constructor(message) {\n super(message);\n this.name = \"PermissionError\";\n }\n}\nfunction isPermissionError(error) {\n return error instanceof Error && error.name === \"PermissionError\";\n}\nconst macosVenturaAndLater = parseInt(node_os_1.default.release().split(\".\")[0]) >= 22;\nconst preferencesString = macosVenturaAndLater ? \"Settings\" : \"Preferences\";\nfunction PermissionErrorScreen(props) {\n const action = macosVenturaAndLater\n ? {\n title: \"Open System Settings -> Privacy\",\n target: \"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles\",\n }\n : {\n title: \"Open System Preferences -> Security\",\n target: \"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles\",\n };\n if (api_1.environment.commandMode === \"menu-bar\") {\n return ((0, jsx_runtime_1.jsxs)(api_1.MenuBarExtra, { icon: api_1.Icon.Warning, title: api_1.environment.commandName, children: [(0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: \"Raycast needs full disk access\", tooltip: `You can revert this access in ${preferencesString} whenever you want` }), props.priming ? ((0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: props.priming, tooltip: `You can revert this access in ${preferencesString} whenever you want` })) : null, (0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Separator, {}), (0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: action.title, onAction: () => (0, api_1.open)(action.target) })] }));\n }\n return ((0, jsx_runtime_1.jsx)(api_1.List, { children: (0, jsx_runtime_1.jsx)(api_1.List.EmptyView, { icon: {\n source: {\n light: \"https://raycast.com/uploads/extensions-utils-security-permissions-light.png\",\n dark: \"https://raycast.com/uploads/extensions-utils-security-permissions-dark.png\",\n },\n }, title: \"Raycast needs full disk access.\", description: `${props.priming ? props.priming + \"\\n\" : \"\"}You can revert this access in ${preferencesString} whenever you want.`, actions: (0, jsx_runtime_1.jsx)(api_1.ActionPanel, { children: (0, jsx_runtime_1.jsx)(api_1.Action.Open, { ...action }) }) }) }));\n}\nfunction checkAborted(signal) {\n if (signal?.aborted) {\n const error = new Error(\"aborted\");\n error.name = \"AbortError\";\n throw error;\n }\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useForm = exports.FormValidation = void 0;\nconst react_1 = require(\"react\");\nconst useLatest_1 = require(\"./useLatest\");\n/**\n * Shorthands for common validation cases\n */\nvar FormValidation;\n(function (FormValidation) {\n /** Show an error when the value of the item is empty */\n FormValidation[\"Required\"] = \"required\";\n})(FormValidation || (exports.FormValidation = FormValidation = {}));\nfunction validationError(validation, value) {\n if (validation) {\n if (typeof validation === \"function\") {\n return validation(value);\n }\n else if (validation === FormValidation.Required) {\n let valueIsValid = typeof value !== \"undefined\" && value !== null;\n if (valueIsValid) {\n switch (typeof value) {\n case \"string\":\n valueIsValid = value.length > 0;\n break;\n case \"object\":\n if (Array.isArray(value)) {\n valueIsValid = value.length > 0;\n }\n else if (value instanceof Date) {\n valueIsValid = value.getTime() > 0;\n }\n break;\n default:\n break;\n }\n }\n if (!valueIsValid) {\n return \"The item is required\";\n }\n }\n }\n}\n/**\n * Hook that provides a high-level interface to work with Forms, and more particularly, with Form validations. It incorporates all the good practices to provide a great User Experience for your Forms.\n *\n * @returns an object which contains the necessary methods and props to provide a good User Experience in your Form.\n *\n * @example\n * ```\n * import { Action, ActionPanel, Form, showToast, Toast } from \"@raycast/api\";\n * import { useForm, FormValidation } from \"@raycast/utils\";\n *\n * interface SignUpFormValues {\n * nickname: string;\n * password: string;\n * }\n *\n * export default function Command() {\n * const { handleSubmit, itemProps } = useForm<SignUpFormValues>({\n * onSubmit(values) {\n * showToast(Toast.Style.Success, \"Yay!\", `${values.nickname} account created`);\n * },\n * validation: {\n * nickname: FormValidation.Required,\n * password: (value) => {\n * if (value && value.length < 8) {\n * return \"Password must be at least 8 symbols\";\n * } else if (!value) {\n * return \"The item is required\";\n * }\n * },\n * },\n * });\n *\n * return (\n * <Form\n * actions={\n * <ActionPanel>\n * <Action.SubmitForm title=\"Submit\" onSubmit={handleSubmit} />\n * </ActionPanel>\n * }\n * >\n * <Form.TextField title=\"Nickname\" placeholder=\"Enter your nickname\" {...itemProps.nickname} />\n * <Form.PasswordField\n * title=\"Password\"\n * placeholder=\"Enter password at least 8 characters long\"\n * {...itemProps.password}\n * />\n * </Form>\n * );\n * }\n * ```\n */\nfunction useForm(props) {\n const { onSubmit: _onSubmit, validation, initialValues = {} } = props;\n // @ts-expect-error it's fine if we don't specify all the values\n const [values, setValues] = (0, react_1.useState)(initialValues);\n const [errors, setErrors] = (0, react_1.useState)({});\n const refs = (0, react_1.useRef)({});\n const latestValidation = (0, useLatest_1.useLatest)(validation || {});\n const latestOnSubmit = (0, useLatest_1.useLatest)(_onSubmit);\n const focus = (0, react_1.useCallback)((id) => {\n refs.current[id]?.focus();\n }, [refs]);\n const handleSubmit = (0, react_1.useCallback)(async (values) => {\n let validationErrors = false;\n for (const [id, validation] of Object.entries(latestValidation.current)) {\n const error = validationError(validation, values[id]);\n if (error) {\n if (!validationErrors) {\n validationErrors = {};\n // we focus the first item that has an error\n focus(id);\n }\n validationErrors[id] = error;\n }\n }\n if (validationErrors) {\n setErrors(validationErrors);\n return false;\n }\n const result = await latestOnSubmit.current(values);\n return typeof result === \"boolean\" ? result : true;\n }, [latestValidation, latestOnSubmit, focus]);\n const setValidationError = (0, react_1.useCallback)((id, error) => {\n setErrors((errors) => ({ ...errors, [id]: error }));\n }, [setErrors]);\n const setValue = (0, react_1.useCallback)(function (id, value) {\n // @ts-expect-error TS is always confused about SetStateAction, but it's fine here\n setValues((values) => ({ ...values, [id]: typeof value === \"function\" ? value(values[id]) : value }));\n }, [setValues]);\n const itemProps = (0, react_1.useMemo)(() => {\n // we have to use a proxy because we don't actually have any object to iterate through\n // so instead we dynamically create the props when required\n return new Proxy(\n // @ts-expect-error the whole point of a proxy...\n {}, {\n get(target, id) {\n const validation = latestValidation.current[id];\n const value = values[id];\n return {\n onChange(value) {\n if (errors[id]) {\n const error = validationError(validation, value);\n if (!error) {\n setValidationError(id, undefined);\n }\n }\n setValue(id, value);\n },\n onBlur(event) {\n const error = validationError(validation, event.target.value);\n if (error) {\n setValidationError(id, error);\n }\n },\n error: errors[id],\n id,\n // we shouldn't return `undefined` otherwise it will be an uncontrolled component\n value: typeof value === \"undefined\" ? null : value,\n ref: (instance) => {\n refs.current[id] = instance;\n },\n };\n },\n });\n }, [errors, latestValidation, setValidationError, values, refs, setValue]);\n const reset = (0, react_1.useCallback)((values) => {\n setErrors({});\n Object.entries(refs.current).forEach(([id, ref]) => {\n if (!values?.[id]) {\n ref?.reset();\n }\n });\n if (values) {\n // @ts-expect-error it's fine if we don't specify all the values\n setValues(values);\n }\n }, [setValues, setErrors, refs]);\n return { handleSubmit, setValidationError, setValue, values, itemProps, focus, reset };\n}\nexports.useForm = useForm;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useAI = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst usePromise_1 = require(\"./usePromise\");\n/**\n * Stream a prompt completion.\n *\n * @example\n * ```typescript\n * import { Detail, LaunchProps } from \"@raycast/api\";\n * import { use AI } from \"@raycast/utils\";\n *\n * export default function Command(props: LaunchProps<{ arguments: { prompt: string } }>) {\n * const { isLoading, data } = useAI(props.arguments.prompt);\n *\n * return <Detail isLoading={isLoading} markdown={data} />;\n * }\n * ```\n */\nfunction useAI(prompt, options = {}) {\n const { creativity, stream, model, ...usePromiseOptions } = options;\n const [data, setData] = (0, react_1.useState)(\"\");\n const abortable = (0, react_1.useRef)();\n const { isLoading, error, revalidate } = (0, usePromise_1.usePromise)(async (prompt, creativity, shouldStream) => {\n setData(\"\");\n const stream = api_1.AI.ask(prompt, { creativity, model, signal: abortable.current?.signal });\n if (shouldStream === false) {\n setData(await stream);\n }\n else {\n stream.on(\"data\", (data) => {\n setData((x) => x + data);\n });\n await stream;\n }\n }, [prompt, creativity, stream], { ...usePromiseOptions, abortable });\n return { isLoading, data, error, revalidate };\n}\nexports.useAI = useAI;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFrecencySorting = void 0;\nconst react_1 = require(\"react\");\nconst useLatest_1 = require(\"./useLatest\");\nconst useCachedState_1 = require(\"./useCachedState\");\nconst HALF_LIFE_DAYS = 10;\nconst MS_PER_DAY = 24 * 60 * 60 * 1000;\nconst DECAY_RATE_CONSTANT = Math.log(2) / (HALF_LIFE_DAYS * MS_PER_DAY);\nconst VISIT_TYPE_POINTS = {\n Default: 100,\n Embed: 0,\n Bookmark: 140,\n};\nfunction getNewFrecency(item) {\n const now = Date.now();\n const lastVisited = item ? item.lastVisited : 0;\n const frecency = item ? item.frecency : 0;\n const visitAgeInDays = (now - lastVisited) / MS_PER_DAY;\n const currentVisitValue = VISIT_TYPE_POINTS.Default * Math.exp(-DECAY_RATE_CONSTANT * visitAgeInDays);\n const totalVisitValue = frecency + currentVisitValue;\n return {\n lastVisited: now,\n frecency: totalVisitValue,\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst defaultKey = (item) => {\n if (process.env.NODE_ENV !== \"production\" &&\n (typeof item !== \"object\" || !item || !(\"id\" in item) || typeof item.id != \"string\")) {\n throw new Error(\"Specify a key function or make sure your items have an 'id' property\");\n }\n return item.id;\n};\nfunction useFrecencySorting(data, options) {\n const keyRef = (0, useLatest_1.useLatest)(options?.key || defaultKey);\n const sortUnvisitedRef = (0, useLatest_1.useLatest)(options?.sortUnvisited);\n const [storedFrecencies, setStoredFrecencies] = (0, useCachedState_1.useCachedState)(`raycast_frecency_${options?.namespace}`, {});\n const visitItem = (0, react_1.useCallback)(async function updateFrecency(item) {\n const itemKey = keyRef.current(item);\n setStoredFrecencies((storedFrecencies) => {\n const frecency = storedFrecencies[itemKey];\n const newFrecency = getNewFrecency(frecency);\n return {\n ...storedFrecencies,\n [itemKey]: newFrecency,\n };\n });\n }, [keyRef, setStoredFrecencies]);\n const resetRanking = (0, react_1.useCallback)(async function removeFrecency(item) {\n const itemKey = keyRef.current(item);\n setStoredFrecencies((storedFrecencies) => {\n const newFrencencies = { ...storedFrecencies };\n delete newFrencencies[itemKey];\n return newFrencencies;\n });\n }, [keyRef, setStoredFrecencies]);\n const sortedData = (0, react_1.useMemo)(() => {\n if (!data) {\n return [];\n }\n return data.sort((a, b) => {\n const frecencyA = storedFrecencies[keyRef.current(a)];\n const frecencyB = storedFrecencies[keyRef.current(b)];\n // If a has a frecency, but b doesn't, a should come first\n if (frecencyA && !frecencyB) {\n return -1;\n }\n // If b has a frecency, but a doesn't, b should come first\n if (!frecencyA && frecencyB) {\n return 1;\n }\n // If both frecencies are defined,put the one with the higher frecency first\n if (frecencyA && frecencyB) {\n return frecencyB.frecency - frecencyA.frecency;\n }\n // If both frecencies are undefined, keep the original order\n return sortUnvisitedRef.current ? sortUnvisitedRef.current(a, b) : 0;\n });\n }, [storedFrecencies, data, keyRef, sortUnvisitedRef]);\n return { data: sortedData, visitItem, resetRanking };\n}\nexports.useFrecencySorting = useFrecencySorting;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLocalStorage = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst showFailureToast_1 = require(\"./showFailureToast\");\nconst helpers_1 = require(\"./helpers\");\nconst usePromise_1 = require(\"./usePromise\");\n/**\n * A hook to manage a value in the local storage.\n *\n * @remark The value is stored as a JSON string in the local storage.\n *\n * @param key - The key to use for the value in the local storage.\n * @param initialValue - The initial value to use if the key doesn't exist in the local storage.\n * @returns An object with the following properties:\n * - `value`: The value from the local storage or the initial value if the key doesn't exist.\n * - `setValue`: A function to update the value in the local storage.\n * - `removeValue`: A function to remove the value from the local storage.\n * - `isLoading`: A boolean indicating if the value is loading.\n *\n * @example\n * ```\n * const { value, setValue } = useLocalStorage<string>(\"my-key\");\n * const { value, setValue } = useLocalStorage<string>(\"my-key\", \"default value\");\n * ```\n */\nfunction useLocalStorage(key, initialValue) {\n const { data: value, isLoading, mutate, } = (0, usePromise_1.usePromise)(async (storageKey) => {\n const item = await api_1.LocalStorage.getItem(storageKey);\n return typeof item !== \"undefined\" ? JSON.parse(item, helpers_1.reviver) : initialValue;\n }, [key]);\n async function setValue(value) {\n try {\n await mutate(api_1.LocalStorage.setItem(key, JSON.stringify(value, helpers_1.replacer)), {\n optimisticUpdate(value) {\n return value;\n },\n });\n }\n catch (error) {\n await (0, showFailureToast_1.showFailureToast)(error, { title: \"Failed to set value in local storage\" });\n }\n }\n async function removeValue() {\n try {\n await mutate(api_1.LocalStorage.removeItem(key), {\n optimisticUpdate() {\n return undefined;\n },\n });\n }\n catch (error) {\n await (0, showFailureToast_1.showFailureToast)(error, { title: \"Failed to remove value from local storage\" });\n }\n }\n return { value, setValue, removeValue, isLoading };\n}\nexports.useLocalStorage = useLocalStorage;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.slightlyLighterColor = exports.slightlyDarkerColor = void 0;\nfunction hexToRGB(hex) {\n let r = 0;\n let g = 0;\n let b = 0;\n // 3 digits\n if (hex.length === 4) {\n r = parseInt(`${hex[1]}${hex[1]}`, 16);\n g = parseInt(`${hex[2]}${hex[2]}`, 16);\n b = parseInt(`${hex[3]}${hex[3]}`, 16);\n // 6 digits\n }\n else if (hex.length === 7) {\n r = parseInt(`${hex[1]}${hex[2]}`, 16);\n g = parseInt(`${hex[3]}${hex[4]}`, 16);\n b = parseInt(`${hex[5]}${hex[6]}`, 16);\n }\n else {\n throw new Error(`Malformed hex color: ${hex}`);\n }\n return { r, g, b };\n}\nfunction rgbToHex({ r, g, b }) {\n let rString = r.toString(16);\n let gString = g.toString(16);\n let bString = b.toString(16);\n if (rString.length === 1) {\n rString = `0${rString}`;\n }\n if (gString.length === 1) {\n gString = `0${gString}`;\n }\n if (bString.length === 1) {\n bString = `0${bString}`;\n }\n return `#${rString}${gString}${bString}`;\n}\nfunction rgbToHSL({ r, g, b }) {\n // Make r, g, and b fractions of 1\n r /= 255;\n g /= 255;\n b /= 255;\n // Find greatest and smallest channel values\n const cmin = Math.min(r, g, b);\n const cmax = Math.max(r, g, b);\n const delta = cmax - cmin;\n let h = 0;\n let s = 0;\n let l = 0;\n // Calculate hue\n // No difference\n if (delta === 0) {\n h = 0;\n }\n // Red is max\n else if (cmax === r) {\n h = ((g - b) / delta) % 6;\n }\n // Green is max\n else if (cmax === g) {\n h = (b - r) / delta + 2;\n }\n // Blue is max\n else {\n h = (r - g) / delta + 4;\n }\n h = Math.round(h * 60);\n // Make negative hues positive behind 360\u00B0\n if (h < 0) {\n h += 360;\n }\n // Calculate lightness\n l = (cmax + cmin) / 2;\n // Calculate saturation\n s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));\n // Multiply l and s by 100\n s = +(s * 100).toFixed(1);\n l = +(l * 100).toFixed(1);\n return { h, s, l };\n}\nfunction hslToRGB({ h, s, l }) {\n // Must be fractions of 1\n s /= 100;\n l /= 100;\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = l - c / 2;\n let r = 0;\n let g = 0;\n let b = 0;\n if (h >= 0 && h < 60) {\n r = c;\n g = x;\n b = 0;\n }\n else if (h >= 60 && h < 120) {\n r = x;\n g = c;\n b = 0;\n }\n else if (h >= 120 && h < 180) {\n r = 0;\n g = c;\n b = x;\n }\n else if (h >= 180 && h < 240) {\n r = 0;\n g = x;\n b = c;\n }\n else if (h >= 240 && h < 300) {\n r = x;\n g = 0;\n b = c;\n }\n else if (h >= 300 && h < 360) {\n r = c;\n g = 0;\n b = x;\n }\n r = Math.round((r + m) * 255);\n g = Math.round((g + m) * 255);\n b = Math.round((b + m) * 255);\n return { r, g, b };\n}\nfunction hexToHSL(hex) {\n return rgbToHSL(hexToRGB(hex));\n}\nfunction hslToHex(hsl) {\n return rgbToHex(hslToRGB(hsl));\n}\nfunction clamp(value, min, max) {\n return min < max ? (value < min ? min : value > max ? max : value) : value < max ? max : value > min ? min : value;\n}\nconst offset = 12;\nfunction slightlyDarkerColor(hex) {\n const hsl = hexToHSL(hex);\n return hslToHex({\n h: hsl.h,\n s: hsl.s,\n l: clamp(hsl.l - offset, 0, 100),\n });\n}\nexports.slightlyDarkerColor = slightlyDarkerColor;\nfunction slightlyLighterColor(hex) {\n const hsl = hexToHSL(hex);\n return hslToHex({\n h: hsl.h,\n s: hsl.s,\n l: clamp(hsl.l + offset, 0, 100),\n });\n}\nexports.slightlyLighterColor = slightlyLighterColor;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAvatarIcon = void 0;\nconst color_1 = require(\"./color\");\nfunction getWholeCharAndI(str, i) {\n const code = str.charCodeAt(i);\n if (Number.isNaN(code)) {\n return [\"\", i];\n }\n if (code < 0xd800 || code > 0xdfff) {\n return [str.charAt(i), i]; // Normal character, keeping 'i' the same\n }\n // High surrogate (could change last hex to 0xDB7F to treat high private\n // surrogates as single characters)\n if (0xd800 <= code && code <= 0xdbff) {\n if (str.length <= i + 1) {\n throw new Error(\"High surrogate without following low surrogate\");\n }\n const next = str.charCodeAt(i + 1);\n if (0xdc00 > next || next > 0xdfff) {\n throw new Error(\"High surrogate without following low surrogate\");\n }\n return [str.charAt(i) + str.charAt(i + 1), i + 1];\n }\n // Low surrogate (0xDC00 <= code && code <= 0xDFFF)\n if (i === 0) {\n throw new Error(\"Low surrogate without preceding high surrogate\");\n }\n const prev = str.charCodeAt(i - 1);\n // (could change last hex to 0xDB7F to treat high private surrogates\n // as single characters)\n if (0xd800 > prev || prev > 0xdbff) {\n throw new Error(\"Low surrogate without preceding high surrogate\");\n }\n // Return the next character instead (and increment)\n return [str.charAt(i + 1), i + 1];\n}\nconst avatarColorSet = [\n \"#DC829A\",\n \"#D64854\",\n \"#D47600\",\n \"#D36CDD\",\n \"#52A9E4\",\n \"#7871E8\",\n \"#70920F\",\n \"#43B93A\",\n \"#EB6B3E\",\n \"#26B795\",\n \"#D85A9B\",\n \"#A067DC\",\n \"#BD9500\",\n \"#5385D9\", // Blue\n];\n/**\n * Icon to represent an avatar when you don't have one. The generated avatar\n * will be generated from the initials of the name and have a colorful but consistent background.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getAvatarIcon('Mathieu Dutour')} title=\"Project\" />\n * ```\n */\nfunction getAvatarIcon(name, options) {\n const words = name.trim().split(\" \");\n let initials;\n if (words.length == 1 && getWholeCharAndI(words[0], 0)[0]) {\n initials = getWholeCharAndI(words[0], 0)[0];\n }\n else if (words.length > 1) {\n const firstWordFirstLetter = getWholeCharAndI(words[0], 0)[0] || \"\";\n const lastWordFirstLetter = getWholeCharAndI(words[words.length - 1], 0)[0] ?? \"\";\n initials = firstWordFirstLetter + lastWordFirstLetter;\n }\n else {\n initials = \"\";\n }\n let backgroundColor;\n if (options?.background) {\n backgroundColor = options?.background;\n }\n else {\n let initialsCharIndex = 0;\n let [char, i] = getWholeCharAndI(initials, 0);\n while (char) {\n initialsCharIndex += char.charCodeAt(0);\n [char, i] = getWholeCharAndI(initials, i + 1);\n }\n const colorIndex = initialsCharIndex % avatarColorSet.length;\n backgroundColor = avatarColorSet[colorIndex];\n }\n const padding = 0;\n const radius = 50 - padding;\n const svg = `<svg width=\"100px\" height=\"100px\">\n ${options?.gradient !== false\n ? `<defs>\n <linearGradient id=\"Gradient\" x1=\"0.25\" x2=\"0.75\" y1=\"0\" y2=\"1\">\n <stop offset=\"0%\" stop-color=\"${(0, color_1.slightlyLighterColor)(backgroundColor)}\"/>\n <stop offset=\"50%\" stop-color=\"${backgroundColor}\"/>\n <stop offset=\"100%\" stop-color=\"${(0, color_1.slightlyDarkerColor)(backgroundColor)}\"/>\n </linearGradient>\n </defs>`\n : \"\"}\n <circle cx=\"50\" cy=\"50\" r=\"${radius}\" fill=\"${options?.gradient !== false ? \"url(#Gradient)\" : backgroundColor}\" />\n ${initials\n ? `<text x=\"50\" y=\"80\" font-size=\"${radius - 1}\" font-family=\"Inter, sans-serif\" text-anchor=\"middle\" fill=\"white\">${initials.toUpperCase()}</text>`\n : \"\"}\n </svg>\n `.replaceAll(\"\\n\", \"\");\n return `data:image/svg+xml,${svg}`;\n}\nexports.getAvatarIcon = getAvatarIcon;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFavicon = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst url_1 = require(\"url\");\n/**\n * Icon showing the favicon of a website.\n *\n * A favicon (favorite icon) is a tiny icon included along with a website, which is displayed in places like the browser's address bar, page tabs, and bookmarks menu.\n *\n * @param url The URL of the website to represent.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getFavicon(\"https://raycast.com\")} title=\"Raycast Website\" />\n * ```\n */\nfunction getFavicon(url, options) {\n try {\n const urlObj = typeof url === \"string\" ? new url_1.URL(url) : url;\n const hostname = urlObj.hostname;\n return {\n source: `https://www.google.com/s2/favicons?sz=${options?.size ?? 64}&domain=${hostname}`,\n fallback: options?.fallback ?? api_1.Icon.Link,\n mask: options?.mask,\n };\n }\n catch (e) {\n console.error(e);\n return api_1.Icon.Link;\n }\n}\nexports.getFavicon = getFavicon;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getProgressIcon = void 0;\nconst api_1 = require(\"@raycast/api\");\nfunction polarToCartesian(centerX, centerY, radius, angleInDegrees) {\n const angleInRadians = ((angleInDegrees - 90) * Math.PI) / 180.0;\n return {\n x: centerX + radius * Math.cos(angleInRadians),\n y: centerY + radius * Math.sin(angleInRadians),\n };\n}\nfunction describeArc(x, y, radius, startAngle, endAngle) {\n const start = polarToCartesian(x, y, radius, endAngle);\n const end = polarToCartesian(x, y, radius, startAngle);\n const largeArcFlag = endAngle - startAngle <= 180 ? \"0\" : \"1\";\n const d = [\"M\", start.x, start.y, \"A\", radius, radius, 0, largeArcFlag, 0, end.x, end.y].join(\" \");\n return d;\n}\n/**\n * Icon to represent the progress of _something_.\n *\n * @param progress Number between 0 and 1.\n * @param color Hex color (default `\"#FF6363\"`) or Color.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getProgressIcon(0.1)} title=\"Project\" />\n * ```\n */\nfunction getProgressIcon(progress, color = api_1.Color.Red, options) {\n const background = options?.background || (api_1.environment.appearance === \"light\" ? \"black\" : \"white\");\n const backgroundOpacity = options?.backgroundOpacity || 0.1;\n const stroke = 10;\n const padding = 5;\n const radius = 50 - padding - stroke / 2;\n const svg = `<svg width=\"100px\" height=\"100px\">\n <circle cx=\"50\" cy=\"50\" r=\"${radius}\" stroke-width=\"${stroke}\" stroke=\"${progress < 1 ? background : color}\" opacity=\"${progress < 1 ? backgroundOpacity : \"1\"}\" fill=\"none\" />\n ${progress > 0 && progress < 1\n ? `<path d=\"${describeArc(50, 50, radius, 0, progress * 360)}\" stroke=\"${color}\" stroke-width=\"${stroke}\" fill=\"none\" />`\n : \"\"}\n </svg>\n `.replaceAll(\"\\n\", \"\");\n return `data:image/svg+xml,${svg}`;\n}\nexports.getProgressIcon = getProgressIcon;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./avatar\"), exports);\n__exportStar(require(\"./favicon\"), exports);\n__exportStar(require(\"./progress\"), exports);\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.zoomService = exports.slackService = exports.linearService = exports.jiraService = exports.googleService = exports.githubService = exports.asanaService = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst OAuthService_1 = require(\"./OAuthService\");\nconst PROVIDER_CLIENT_IDS = {\n asana: \"1191201745684312\",\n github: \"7235fe8d42157f1f38c0\",\n linear: \"c8ff37b9225c3c9aefd7d66ea0e5b6f1\",\n slack: \"851756884692.5546927290212\",\n};\nconst getIcon = (markup) => `data:image/svg+xml,${markup}`;\nconst PROVIDERS_ICONS = {\n asana: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"251\" height=\"232\" fill=\"none\"><path fill=\"#F06A6A\" d=\"M179.383 54.373c0 30.017-24.337 54.374-54.354 54.374-30.035 0-54.373-24.338-54.373-54.374C70.656 24.338 94.993 0 125.029 0c30.017 0 54.354 24.338 54.354 54.373ZM54.393 122.33C24.376 122.33.02 146.668.02 176.685c0 30.017 24.337 54.373 54.373 54.373 30.035 0 54.373-24.338 54.373-54.373 0-30.017-24.338-54.355-54.373-54.355Zm141.253 0c-30.035 0-54.373 24.338-54.373 54.374 0 30.035 24.338 54.373 54.373 54.373 30.017 0 54.374-24.338 54.374-54.373 0-30.036-24.338-54.374-54.374-54.374Z\"/></svg>`),\n github: {\n source: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64\" height=\"64\" viewBox=\"0 0 16 16\"><path fill-rule=\"evenodd\" d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z\"/></svg>`),\n tintColor: api_1.Color.PrimaryText,\n },\n google: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"display:block\" viewBox=\"0 0 48 48\"><path fill=\"#EA4335\" d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"/><path fill=\"#4285F4\" d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"/><path fill=\"#FBBC05\" d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"/><path fill=\"#34A853\" d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"/><path fill=\"none\" d=\"M0 0h48v48H0z\"/></svg>`),\n jira: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"2361\" height=\"2500\" viewBox=\"2.59 0 214.091 224\"><linearGradient id=\"a\" x1=\"102.4\" x2=\"56.15\" y1=\"218.63\" y2=\"172.39\" gradientTransform=\"matrix(1 0 0 -1 0 264)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".18\" stop-color=\"#0052cc\"/><stop offset=\"1\" stop-color=\"#2684ff\"/></linearGradient><linearGradient xlink:href=\"#a\" id=\"b\" x1=\"114.65\" x2=\"160.81\" y1=\"85.77\" y2=\"131.92\"/><path fill=\"#2684ff\" d=\"M214.06 105.73 117.67 9.34 108.33 0 35.77 72.56 2.59 105.73a8.89 8.89 0 0 0 0 12.54l66.29 66.29L108.33 224l72.55-72.56 1.13-1.12 32.05-32a8.87 8.87 0 0 0 0-12.59zm-105.73 39.39L75.21 112l33.12-33.12L141.44 112z\"/><path fill=\"url(#a)\" d=\"M108.33 78.88a55.75 55.75 0 0 1-.24-78.61L35.62 72.71l39.44 39.44z\"/><path fill=\"url(#b)\" d=\"m141.53 111.91-33.2 33.21a55.77 55.77 0 0 1 0 78.86L181 151.35z\"/></svg>`),\n linear: {\n source: {\n light: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#222326\" width=\"200\" height=\"200\" viewBox=\"0 0 100 100\"><path d=\"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z\"/></svg>`),\n dark: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#fff\" width=\"200\" height=\"200\" viewBox=\"0 0 100 100\"><path d=\"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z\" /></svg>`),\n },\n },\n slack: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"73 73 124 124\"><style>.st0{fill:#e01e5a}.st1{fill:#36c5f0}.st2{fill:#2eb67d}.st3{fill:#ecb22e}</style><path d=\"M99.4 151.2c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h12.9v12.9zM105.9 151.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9v-32.3z\" class=\"st0\"/><path d=\"M118.8 99.4c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v12.9h-12.9zM118.8 105.9c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H86.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3z\" class=\"st1\"/><path d=\"M170.6 118.8c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9h-12.9v-12.9zM164.1 118.8c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9V86.5c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9v32.3z\" class=\"st2\"/><path d=\"M151.2 170.6c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9v-12.9h12.9zM151.2 164.1c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9h-32.3z\" class=\"st3\"/></svg>`),\n zoom: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 351.845 80\"><path d=\"M73.786 78.835H10.88A10.842 10.842 0 0 1 .833 72.122a10.841 10.841 0 0 1 2.357-11.85L46.764 16.7h-31.23C6.954 16.699 0 9.744 0 1.165h58.014c4.414 0 8.357 2.634 10.046 6.712a10.843 10.843 0 0 1-2.356 11.85L22.13 63.302h36.122c8.58 0 15.534 6.955 15.534 15.534Zm278.059-48.544C351.845 13.588 338.256 0 321.553 0c-8.934 0-16.975 3.89-22.524 10.063C293.48 3.89 285.44 0 276.505 0c-16.703 0-30.291 13.588-30.291 30.291v48.544c8.579 0 15.534-6.955 15.534-15.534v-33.01c0-8.137 6.62-14.757 14.757-14.757s14.757 6.62 14.757 14.757v33.01c0 8.58 6.955 15.534 15.534 15.534V30.291c0-8.137 6.62-14.757 14.757-14.757s14.758 6.62 14.758 14.757v33.01c0 8.58 6.954 15.534 15.534 15.534V30.291ZM238.447 40c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.908-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S173.98 26.488 173.98 40s10.953 24.466 24.466 24.466S222.913 53.512 222.913 40Zm-70.68 0c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S87.767 26.488 87.767 40s10.954 24.466 24.466 24.466S136.699 53.512 136.699 40Z\" style=\"fill:#0b5cff\"/></svg>`),\n};\nconst asanaService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Asana\",\n providerIcon: PROVIDERS_ICONS.asana,\n providerId: \"asana\",\n description: \"Connect your Asana account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.asana,\n authorizeUrl: options.authorizeUrl ?? \"https://asana.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://asana.oauth.raycast.com/token\",\n refreshTokenUrl: options.refreshTokenUrl ?? \"https://asana.oauth.raycast.com/refresh-token\",\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.asanaService = asanaService;\nconst githubService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"GitHub\",\n providerIcon: PROVIDERS_ICONS.github,\n providerId: \"github\",\n description: \"Connect your GitHub account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.github,\n authorizeUrl: options.authorizeUrl ?? \"https://github.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://github.oauth.raycast.com/token\",\n refreshTokenUrl: options.refreshTokenUrl ?? \"https://github.oauth.raycast.com/refresh-token\",\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.githubService = githubService;\nconst googleService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.AppURI,\n providerName: \"Google\",\n providerIcon: PROVIDERS_ICONS.google,\n providerId: \"google\",\n description: \"Connect your Google account\",\n }),\n clientId: options.clientId,\n authorizeUrl: options.authorizeUrl ?? \"https://accounts.google.com/o/oauth2/v2/auth\",\n tokenUrl: options.tokenUrl ?? \"https://oauth2.googleapis.com/token\",\n refreshTokenUrl: options.tokenUrl,\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n bodyEncoding: options.bodyEncoding ?? \"url-encoded\",\n onAuthorize: options.onAuthorize,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.googleService = googleService;\nconst jiraService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Jira\",\n providerIcon: PROVIDERS_ICONS.jira,\n providerId: \"jira\",\n description: \"Connect your Jira account\",\n }),\n clientId: options.clientId,\n authorizeUrl: options.authorizeUrl ?? \"https://auth.atlassian.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://auth.atlassian.com/oauth/token\",\n refreshTokenUrl: options.refreshTokenUrl,\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.jiraService = jiraService;\nconst linearService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Linear\",\n providerIcon: PROVIDERS_ICONS.linear,\n providerId: \"linear\",\n description: \"Connect your Linear account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.linear,\n authorizeUrl: options.authorizeUrl ?? \"https://linear.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://linear.oauth.raycast.com/token\",\n refreshTokenUrl: options.refreshTokenUrl ?? \"https://linear.oauth.raycast.com/refresh-token\",\n scope: options.scope,\n extraParameters: {\n actor: \"user\",\n },\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.linearService = linearService;\nconst slackService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Slack\",\n providerIcon: PROVIDERS_ICONS.slack,\n providerId: \"slack\",\n description: \"Connect your Slack account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.slack,\n authorizeUrl: options.authorizeUrl ?? \"https://slack.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://slack.oauth.raycast.com/token\",\n refreshTokenUrl: options.tokenUrl ?? \"https://slack.oauth.raycast.com/refresh-token\",\n scope: \"\",\n extraParameters: {\n user_scope: options.scope,\n },\n personalAccessToken: options.personalAccessToken,\n bodyEncoding: options.tokenUrl ? options.bodyEncoding ?? \"url-encoded\" : \"json\",\n onAuthorize: options.onAuthorize,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n tokenResponseParser: options.tokenResponseParser ??\n ((response) => {\n return {\n access_token: response.authed_user.access_token,\n scope: response.authed_user.scope,\n };\n }),\n});\nexports.slackService = slackService;\nconst zoomService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Zoom\",\n providerIcon: PROVIDERS_ICONS.zoom,\n providerId: \"zoom\",\n description: \"Connect your Zoom account\",\n }),\n clientId: options.clientId,\n authorizeUrl: options.authorizeUrl ?? \"https://zoom.us/oauth/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://zoom.us/oauth/token\",\n refreshTokenUrl: options.refreshTokenUrl,\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n bodyEncoding: options.bodyEncoding ?? \"url-encoded\",\n onAuthorize: options.onAuthorize,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.zoomService = zoomService;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OAuthService = void 0;\nconst cross_fetch_1 = __importDefault(require(\"cross-fetch\"));\nconst providers_1 = require(\"./providers\");\n/**\n * Class allowing to create an OAuth service using the the PKCE (Proof Key for Code Exchange) flow.\n *\n * This service is capable of starting the authorization process, fetching and refreshing tokens,\n * as well as managing the authentication state.\n *\n * @example\n * ```typescript\n * const oauthClient = new OAuth.PKCEClient({ ... });\n * const oauthService = new OAuthService({\n * client: oauthClient,\n * clientId: 'your-client-id',\n * scope: 'required scopes',\n * authorizeUrl: 'https://provider.com/oauth/authorize',\n * tokenUrl: 'https://provider.com/oauth/token',\n * refreshTokenUrl: 'https://provider.com/oauth/token',\n * extraParameters: { 'additional_param': 'value' }\n * });\n * ```\n */\nclass OAuthService {\n constructor(options) {\n this.clientId = options.clientId;\n this.scope = Array.isArray(options.scope) ? options.scope.join(\" \") : options.scope;\n this.personalAccessToken = options.personalAccessToken;\n this.bodyEncoding = options.bodyEncoding;\n this.client = options.client;\n this.extraParameters = options.extraParameters;\n this.authorizeUrl = options.authorizeUrl;\n this.tokenUrl = options.tokenUrl;\n this.refreshTokenUrl = options.refreshTokenUrl;\n this.onAuthorize = options.onAuthorize;\n this.tokenResponseParser = options.tokenResponseParser ?? ((x) => x);\n this.tokenRefreshResponseParser = options.tokenRefreshResponseParser ?? ((x) => x);\n this.authorize = this.authorize.bind(this);\n }\n /**\n * Initiates the OAuth authorization process or refreshes existing tokens if necessary.\n * If the current token set has a refresh token and it is expired, then the function will refresh the tokens.\n * If no tokens exist, it will initiate the OAuth authorization process and fetch the tokens.\n *\n * @returns {Promise<string>} A promise that resolves with the access token obtained from the authorization flow, or null if the token could not be obtained.\n */\n async authorize() {\n const currentTokenSet = await this.client.getTokens();\n if (currentTokenSet?.accessToken) {\n if (currentTokenSet.refreshToken && currentTokenSet.isExpired()) {\n const tokens = await this.refreshTokens({\n token: currentTokenSet.refreshToken,\n });\n // In the case where the refresh token flows fails, nothing is returned and the authorize function is called again.\n if (tokens) {\n await this.client.setTokens(tokens);\n return tokens.access_token;\n }\n }\n return currentTokenSet.accessToken;\n }\n const authRequest = await this.client.authorizationRequest({\n endpoint: this.authorizeUrl,\n clientId: this.clientId,\n scope: this.scope,\n extraParameters: this.extraParameters,\n });\n const { authorizationCode } = await this.client.authorize(authRequest);\n const tokens = await this.fetchTokens({\n authRequest,\n authorizationCode,\n });\n await this.client.setTokens(tokens);\n return tokens.access_token;\n }\n async fetchTokens({ authRequest, authorizationCode, }) {\n let options;\n if (this.bodyEncoding === \"url-encoded\") {\n const params = new URLSearchParams();\n params.append(\"client_id\", this.clientId);\n params.append(\"code\", authorizationCode);\n params.append(\"code_verifier\", authRequest.codeVerifier);\n params.append(\"grant_type\", \"authorization_code\");\n params.append(\"redirect_uri\", authRequest.redirectURI);\n options = { body: params };\n }\n else {\n options = {\n body: JSON.stringify({\n client_id: this.clientId,\n code: authorizationCode,\n code_verifier: authRequest.codeVerifier,\n grant_type: \"authorization_code\",\n redirect_uri: authRequest.redirectURI,\n }),\n headers: { \"Content-Type\": \"application/json\" },\n };\n }\n const response = await (0, cross_fetch_1.default)(this.tokenUrl, { method: \"POST\", ...options });\n if (!response.ok) {\n const responseText = await response.text();\n console.error(\"fetch tokens error:\", responseText);\n throw new Error(`Error while fetching tokens: ${response.status} (${response.statusText})\\n${responseText}`);\n }\n const tokens = this.tokenResponseParser(await response.json());\n // Some clients such as Linear can return a scope array instead of a string\n return Array.isArray(tokens.scope) ? { ...tokens, scope: tokens.scope.join(\" \") } : tokens;\n }\n async refreshTokens({ token }) {\n let options;\n if (this.bodyEncoding === \"url-encoded\") {\n const params = new URLSearchParams();\n params.append(\"client_id\", this.clientId);\n params.append(\"refresh_token\", token);\n params.append(\"grant_type\", \"refresh_token\");\n options = { body: params };\n }\n else {\n options = {\n body: JSON.stringify({\n client_id: this.clientId,\n refresh_token: token,\n grant_type: \"refresh_token\",\n }),\n headers: { \"Content-Type\": \"application/json\" },\n };\n }\n const response = await (0, cross_fetch_1.default)(this.refreshTokenUrl ?? this.tokenUrl, { method: \"POST\", ...options });\n if (!response.ok) {\n const responseText = await response.text();\n console.error(\"refresh tokens error:\", responseText);\n // If the refresh token is invalid, stop the flow here, log out the user and prompt them to re-authorize.\n this.client.description = `${this.client.providerName} needs you to sign-in again. Press \u23CE or click the button below to continue.`;\n await this.client.removeTokens();\n await this.authorize();\n }\n else {\n const tokenResponse = this.tokenRefreshResponseParser(await response.json());\n tokenResponse.refresh_token = tokenResponse.refresh_token ?? token;\n return tokenResponse;\n }\n }\n}\nexports.OAuthService = OAuthService;\n/**\n * Asana OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const asana = OAuthService.asana({ scope: 'default' })\n * ```\n */\nOAuthService.asana = providers_1.asanaService;\n/**\n * GitHub OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const github = OAuthService.github({ scope: 'repo user' })\n * ```\n */\nOAuthService.github = providers_1.githubService;\n/**\n * Google OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const google = OAuthService.google({\n * clientId: 'custom-client-id',\n * authorizeUrl: 'https://accounts.google.com/o/oauth2/v2/auth',\n * tokenUrl: 'https://oauth2.googleapis.com/token',\n * scope: 'https://www.googleapis.com/auth/drive.readonly',\n * });\n * ```\n */\nOAuthService.google = providers_1.googleService;\n/**\n * Jira OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const jira = OAuthService.jira({\n * clientId: 'custom-client-id',\n * authorizeUrl: 'https://auth.atlassian.com/authorize',\n * tokenUrl: 'https://api.atlassian.com/oauth/token',\n * scope: 'read:jira-user read:jira-work offline_access'\n * });\n * ```\n */\nOAuthService.jira = providers_1.jiraService;\n/**\n * Linear OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const linear = OAuthService.linear({ scope: 'read write' })\n * ```\n */\nOAuthService.linear = providers_1.linearService;\n/**\n * Slack OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const slack = OAuthService.slack({ scope: 'emoji:read' })\n * ```\n */\nOAuthService.slack = providers_1.slackService;\n/**\n * Zoom OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const zoom = OAuthService.zoom({\n * clientId: 'custom-client-id',\n * authorizeUrl: 'https://zoom.us/oauth/authorize',\n * tokenUrl: 'https://zoom.us/oauth/token',\n * scope: 'meeting:write',\n * personalAccessToken: 'personal-access-token',\n * });\n * ```\n */\nOAuthService.zoom = providers_1.zoomService;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAccessToken = exports.withAccessToken = void 0;\nconst jsx_runtime_1 = require(\"react/jsx-runtime\");\nconst api_1 = require(\"@raycast/api\");\nlet token = null;\nlet type = null;\nlet authorize = null;\nlet getIdToken = null;\nlet onAuthorize = null;\nfunction withAccessToken(options) {\n if (api_1.environment.commandMode === \"no-view\") {\n return (fn) => {\n const noViewFn = async (props) => {\n if (!token) {\n token = options.personalAccessToken ?? (await options.authorize());\n type = options.personalAccessToken ? \"personal\" : \"oauth\";\n const idToken = (await options.client?.getTokens())?.idToken;\n if (options.onAuthorize) {\n await Promise.resolve(options.onAuthorize({ token, type, idToken }));\n }\n }\n return fn(props);\n };\n return noViewFn;\n };\n }\n return (Component) => {\n const WrappedComponent = (props) => {\n if (options.personalAccessToken) {\n token = options.personalAccessToken;\n type = \"personal\";\n }\n else {\n if (!authorize) {\n authorize = wrapPromise(options.authorize());\n }\n token = authorize.read();\n type = \"oauth\";\n }\n let idToken;\n if (options.client) {\n if (!getIdToken) {\n getIdToken = wrapPromise(options.client.getTokens());\n }\n idToken = getIdToken.read()?.idToken;\n }\n if (!onAuthorize && options.onAuthorize) {\n onAuthorize = wrapPromise(Promise.resolve(options.onAuthorize({ token, type, idToken })));\n }\n onAuthorize?.read();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore too complicated for TS\n return (0, jsx_runtime_1.jsx)(Component, { ...props });\n };\n WrappedComponent.displayName = `withAccessToken(${Component.displayName || Component.name})`;\n return WrappedComponent;\n };\n}\nexports.withAccessToken = withAccessToken;\n/**\n * Returns the access token and its type. Note that this function must be called in a component wrapped with `withAccessToken`.\n *\n * @throws {Error} If called outside of a component wrapped with `withAccessToken`\n * @returns {{ token: string, type: \"oauth\" | \"personal\" }} An object containing the `token`\n * and its `type`, where type can be either 'oauth' for OAuth tokens or 'personal' for a\n * personal access token.\n */\nfunction getAccessToken() {\n if (!token || !type) {\n throw new Error(\"getAccessToken must be used when authenticated (eg. used inside `withAccessToken`)\");\n }\n return { token, type };\n}\nexports.getAccessToken = getAccessToken;\nfunction wrapPromise(promise) {\n let status = \"pending\";\n let response;\n const suspender = promise.then((res) => {\n status = \"success\";\n response = res;\n }, (err) => {\n status = \"error\";\n response = err;\n });\n const read = () => {\n switch (status) {\n case \"pending\":\n throw suspender;\n case \"error\":\n throw response;\n default:\n return response;\n }\n };\n return { read };\n}\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./OAuthService\"), exports);\n__exportStar(require(\"./withAccessToken\"), exports);\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runAppleScript = void 0;\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst exec_utils_1 = require(\"./exec-utils\");\nasync function runAppleScript(script, optionsOrArgs, options) {\n const { humanReadableOutput, language, timeout, ...execOptions } = Array.isArray(optionsOrArgs)\n ? options || {}\n : optionsOrArgs || {};\n const outputArguments = humanReadableOutput !== false ? [] : [\"-ss\"];\n if (language === \"JavaScript\") {\n outputArguments.push(\"-l\", \"JavaScript\");\n }\n if (Array.isArray(optionsOrArgs)) {\n outputArguments.push(\"-\", ...optionsOrArgs);\n }\n const spawned = node_child_process_1.default.spawn(\"osascript\", outputArguments, {\n ...execOptions,\n env: { PATH: \"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\" },\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned, { timeout: timeout || 10000 });\n spawned.stdin.end(script);\n const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf8\" }, spawnedPromise);\n const stdout = (0, exec_utils_1.handleOutput)({ stripFinalNewline: true }, stdoutResult);\n const stderr = (0, exec_utils_1.handleOutput)({ stripFinalNewline: true }, stderrResult);\n return (0, exec_utils_1.defaultParsing)({\n stdout,\n stderr,\n error,\n exitCode,\n signal,\n timedOut,\n command: \"osascript\",\n options,\n parentError: new Error(),\n });\n}\nexports.runAppleScript = runAppleScript;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDeeplink = exports.createExtensionDeeplink = exports.createScriptCommandDeeplink = exports.DeeplinkType = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst node_fs_1 = __importDefault(require(\"node:fs\"));\nconst node_path_1 = __importDefault(require(\"node:path\"));\nvar DeeplinkType;\n(function (DeeplinkType) {\n /** A script command */\n DeeplinkType[\"ScriptCommand\"] = \"script-command\";\n /** An extension command */\n DeeplinkType[\"Extension\"] = \"extension\";\n})(DeeplinkType || (exports.DeeplinkType = DeeplinkType = {}));\nfunction getProtocol() {\n return api_1.environment.raycastVersion.includes(\"alpha\") ? \"raycastinternal://\" : \"raycast://\";\n}\nfunction getOwnerOrAuthorName() {\n const packageJSON = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(api_1.environment.assetsPath, \"..\", \"package.json\"), \"utf8\"));\n return packageJSON.owner || packageJSON.author;\n}\nfunction createScriptCommandDeeplink(options) {\n let url = `${getProtocol()}script-commands/${options.command}`;\n if (options.arguments) {\n let params = \"\";\n for (const arg of options.arguments) {\n params += \"&arguments=\" + encodeURIComponent(arg);\n }\n url += \"?\" + params.substring(1);\n }\n return url;\n}\nexports.createScriptCommandDeeplink = createScriptCommandDeeplink;\nfunction createExtensionDeeplink(options) {\n let ownerOrAuthorName = getOwnerOrAuthorName();\n let extensionName = api_1.environment.extensionName;\n if (\"ownerOrAuthorName\" in options && \"extensionName\" in options) {\n ownerOrAuthorName = options.ownerOrAuthorName;\n extensionName = options.extensionName;\n }\n let url = `${getProtocol()}extensions/${ownerOrAuthorName}/${extensionName}/${options.command}`;\n let params = \"\";\n if (options.launchType) {\n params += \"&launchType=\" + encodeURIComponent(options.launchType);\n }\n if (options.arguments) {\n params += \"&arguments=\" + encodeURIComponent(JSON.stringify(options.arguments));\n }\n if (options.context) {\n params += \"&context=\" + encodeURIComponent(JSON.stringify(options.context));\n }\n if (options.fallbackText) {\n params += \"&fallbackText=\" + encodeURIComponent(options.fallbackText);\n }\n if (params) {\n url += \"?\" + params.substring(1);\n }\n return url;\n}\nexports.createExtensionDeeplink = createExtensionDeeplink;\n/**\n * Creates a deeplink to a script command or extension.\n */\nfunction createDeeplink(options) {\n if (options.type === DeeplinkType.ScriptCommand) {\n return createScriptCommandDeeplink(options);\n }\n else {\n return createExtensionDeeplink(options);\n }\n}\nexports.createDeeplink = createDeeplink;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./usePromise\"), exports);\n__exportStar(require(\"./useCachedState\"), exports);\n__exportStar(require(\"./useCachedPromise\"), exports);\n__exportStar(require(\"./useFetch\"), exports);\n__exportStar(require(\"./useExec\"), exports);\n__exportStar(require(\"./useStreamJSON\"), exports);\n__exportStar(require(\"./useSQL\"), exports);\n__exportStar(require(\"./useForm\"), exports);\n__exportStar(require(\"./useAI\"), exports);\n__exportStar(require(\"./useFrecencySorting\"), exports);\n__exportStar(require(\"./useLocalStorage\"), exports);\n__exportStar(require(\"./icon\"), exports);\n__exportStar(require(\"./oauth\"), exports);\n__exportStar(require(\"./run-applescript\"), exports);\n__exportStar(require(\"./showFailureToast\"), exports);\n__exportStar(require(\"./createDeeplink\"), exports);\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 this.size = 0;\n}\n\nmodule.exports = listCacheClear;\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\nmodule.exports = eq;\n", "var eq = require('./eq');\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\nmodule.exports = assocIndexOf;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\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 --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n", "var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheGet;\n", "var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheHas;\n", "var assocIndexOf = require('./_assocIndexOf');\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 ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n", "var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = ListCache;\n", "var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n", "/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\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 stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n", "/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n", "/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\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 stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n", "/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\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 root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\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 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", "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", "/**\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", "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", "var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n", "var coreJsData = require('./_coreJsData');\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/**\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\nmodule.exports = isMasked;\n", "/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\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\nmodule.exports = toSource;\n", "var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\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 for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\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/** 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/**\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) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\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\nmodule.exports = getValue;\n", "var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\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\nmodule.exports = getNative;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n", "var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n", "var nativeCreate = require('./_nativeCreate');\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 this.size = 0;\n}\n\nmodule.exports = hashClear;\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 var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 * 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\nmodule.exports = hashGet;\n", "var nativeCreate = require('./_nativeCreate');\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 * 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\nmodule.exports = hashHas;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n", "var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = Hash;\n", "var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\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.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\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\nmodule.exports = isKeyable;\n", "var isKeyable = require('./_isKeyable');\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\nmodule.exports = getMapData;\n", "var getMapData = require('./_getMapData');\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 var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n", "var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheGet;\n", "var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheHas;\n", "var getMapData = require('./_getMapData');\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 var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n", "var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = MapCache;\n", "var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n", "var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n", "/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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\nmodule.exports = setCacheAdd;\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\nmodule.exports = setCacheHas;\n", "var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\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 == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n", "/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\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\nmodule.exports = cacheHas;\n", "var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n", "var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n", "/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n", "/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n", "var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\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\nmodule.exports = arrayPush;\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 arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\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\nmodule.exports = baseGetAllKeys;\n", "/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\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 = stubArray;\n", "var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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 nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols 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 ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\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 * 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 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 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 * 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", "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", "/** 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 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", "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", "/**\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", "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", "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 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", "/** 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", "/**\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 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 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", "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 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", "var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and 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 getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n", "var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\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 * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n", "var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n", "var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\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 * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n", "var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n", "var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n", "var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n", "var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n", "/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n", "var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n", "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\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\nmodule.exports = isSymbol;\n", "var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n", "var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n", "var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n", "var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\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 == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n", "var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n", "var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n", "var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n", "var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\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\nmodule.exports = toKey;\n", "var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n", "var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n", "/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n", "var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n", "var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n", "var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n", "/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n", "/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n", "var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n", "var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n", "var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\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\nmodule.exports = baseFindIndex;\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\nmodule.exports = baseIsNaN;\n", "/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\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 strictIndexOf(array, value, fromIndex) {\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\nmodule.exports = strictIndexOf;\n", "var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\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 return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n", "var baseIndexOf = require('./_baseIndexOf');\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 == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\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 == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\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", "var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n", "var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\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 seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n", "var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n", "import { AI, Action, ActionPanel, Grid, LaunchProps } from \"@raycast/api\";\nimport { showFailureToast, useAI } from \"@raycast/utils\";\nimport CopyAsSubmenu from \"./components/CopyAsSubmenu\";\nimport { addToHistory } from \"./history\";\nimport { getFormattedColor, getPreviewColor } from \"./utils\";\n\nexport default function GenerateColors(props: LaunchProps<{ arguments: Arguments.GenerateColors }>) {\n const { data, isLoading } = useAI(\n `Generate colors based on a prompt.\n\nPlease follow these rules:\n- You MUST return an JSON array of HEX colors without any other characters. It should be PARSABLE and MINIFIED.\n- Return an empty JSON array if it's not possible to generate colors.\n\nExamples:\n- [\"#66D3BB\",\"#7EDDC6\",\"#96E7D1\",\"#AEEFDB\",\"#C6F9E6\"]\n- [\"#0000CD\",\"#0000FF\",\"#1E90FF\"]\n- [\"#FF0000\",\"#FF6347\",\"#FF7F50\",\"#FF8C00\",\"#FFA07A\",\"#FFA500\",\"#FFD700\",\"#FFDEAD\",\"#FFE4B5\",\"#FFE4C4\"]\n\nPrompt: ${props.arguments.prompt}\nJSON colors:`,\n {\n model: AI.Model.OpenAI_GPT4o,\n stream: false,\n },\n );\n\n let colors: string[] = [];\n try {\n colors = data ? (JSON.parse(data) as string[]) : [];\n } catch (error) {\n showFailureToast(error, { title: \"Could not generate colors, please try again.\" });\n }\n\n return (\n <Grid columns={5} isLoading={isLoading}>\n {colors.map((c, index) => {\n const formattedColor = getFormattedColor(c);\n const previewColor = getPreviewColor(c);\n const color = { light: previewColor, dark: previewColor, adjustContrast: false };\n return (\n <Grid.Item\n key={index}\n content={{ color }}\n title={formattedColor}\n actions={\n <ActionPanel>\n <Action.CopyToClipboard content={formattedColor} onCopy={() => addToHistory(formattedColor)} />\n <Action.Paste content={formattedColor} onPaste={() => addToHistory(formattedColor)} />\n <CopyAsSubmenu color={formattedColor} onCopy={() => addToHistory(formattedColor)} />\n </ActionPanel>\n }\n />\n );\n })}\n </Grid>\n );\n}\n", "import { Action, ActionPanel, Icon, Keyboard } from \"@raycast/api\";\nimport { getFormattedColor } from \"../utils\";\nimport { HistoryColor } from \"../types\";\n\ntype CopyAsSubmenuProps = {\n color: HistoryColor;\n onCopy?: () => void;\n};\n\nexport default function CopyAsSubmenu({ color, onCopy }: CopyAsSubmenuProps) {\n return (\n <ActionPanel.Submenu title=\"Copy As\" icon={Icon.Clipboard} shortcut={Keyboard.Shortcut.Common.Copy}>\n <Action.CopyToClipboard title={`HEX`} content={getFormattedColor(color, \"hex\")} onCopy={onCopy} />\n <Action.CopyToClipboard\n title={`Lowercased HEX`}\n content={getFormattedColor(color, \"hex-lower-case\")}\n onCopy={onCopy}\n />\n <Action.CopyToClipboard\n title={`HEX Without #`}\n content={getFormattedColor(color, \"hex-no-prefix\")}\n onCopy={onCopy}\n />\n <Action.CopyToClipboard title={`RGB`} content={getFormattedColor(color, \"rgb\")} onCopy={onCopy} />\n <Action.CopyToClipboard\n title={`RGB Percentage`}\n content={getFormattedColor(color, \"rgb-percentage\")}\n onCopy={onCopy}\n />\n <Action.CopyToClipboard title={`RGBA`} content={getFormattedColor(color, \"rgba\")} onCopy={onCopy} />\n <Action.CopyToClipboard\n title={`RGBA Percentage`}\n content={getFormattedColor(color, \"rgba-percentage\")}\n onCopy={onCopy}\n />\n <Action.CopyToClipboard title={`HSL`} content={getFormattedColor(color, \"hsla\")} onCopy={onCopy} />\n <Action.CopyToClipboard title={`HSV`} content={getFormattedColor(color, \"hsva\")} onCopy={onCopy} />\n <Action.CopyToClipboard title={`OKLCH`} content={getFormattedColor(color, \"oklch\")} onCopy={onCopy} />\n <Action.CopyToClipboard title={`LCH`} content={getFormattedColor(color, \"lch\")} onCopy={onCopy} />\n <Action.CopyToClipboard title={`P3`} content={getFormattedColor(color, \"p3\")} onCopy={onCopy} />\n </ActionPanel.Submenu>\n );\n}\n", "import { getPreferenceValues, Icon, Image, Keyboard, List } from \"@raycast/api\";\nimport ColorJS from \"colorjs.io\";\nimport { Colors, Palette } from \"color-namer\";\nimport uniqBy from \"lodash/uniqBy\";\nimport { HistoryColor, HistoryItem } from \"./types\";\nimport { ColorFormatType } from \"./types\";\n\nconst preferences = getPreferenceValues<ExtensionPreferences>();\n\nexport function getFormattedColor(_color: HistoryColor, format?: ColorFormatType) {\n let color;\n if (typeof _color === \"string\") {\n color = new ColorJS(_color);\n } else if (\"colorSpace\" in _color) {\n color = new ColorJS(_color.colorSpace, [_color.red, _color.green, _color.blue], _color.alpha);\n } else {\n color = new ColorJS(\"srgb\", [_color.red / 255, _color.green / 255, _color.blue / 255], _color.alpha);\n }\n\n switch (format || preferences.colorFormat) {\n default:\n case \"hex\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).toUpperCase();\n }\n case \"hex-lower-case\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).toLowerCase();\n }\n case \"hex-no-prefix\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).replace(\"#\", \"\");\n }\n case \"rgb\": {\n return color.to(\"srgb\").toString({ format: \"rgb_number\" });\n }\n case \"rgb-percentage\": {\n return color.to(\"srgb\").toString({ format: \"rgb\" });\n }\n case \"rgba\": {\n return color.to(\"srgb\").toString({ format: \"rgba_number\" });\n }\n case \"rgba-percentage\": {\n return color.to(\"srgb\").toString({ format: \"rgba\" });\n }\n case \"hsla\": {\n return color.to(\"hsl\").toString({ format: \"hsla\" });\n }\n case \"hsva\": {\n return color.to(\"hsv\").toString({ format: \"color\" });\n }\n case \"oklch\": {\n const oklchColor = color.to(\"oklch\");\n const [l, c, h] = oklchColor.coords;\n const lPercentage = (l * 100).toFixed(2);\n return `oklch(${lPercentage}% ${c} ${h})`;\n }\n case \"lch\": {\n const lchColor = color.to(\"lch\");\n const [l, c, h] = lchColor.coords;\n return `lch(${l.toFixed(2)}% ${c} ${h})`;\n }\n case \"p3\": {\n return color.to(\"p3\").toString({ format: \"p3\" });\n }\n }\n}\n\nconst unsupportedPreviewFormats = [\"p3\", \"rgb\", \"rgb-percentage\"];\nexport function getPreviewColor(color: HistoryColor) {\n const formattedColor = getFormattedColor(\n color,\n unsupportedPreviewFormats.includes(preferences.colorFormat) ? \"oklch\" : undefined,\n );\n return formattedColor;\n}\n\nexport function getShortcut(index: number) {\n const key = index + 1;\n\n let shortcut: Keyboard.Shortcut | undefined;\n if (key >= 1 && key <= 9) {\n shortcut = { modifiers: [\"cmd\"], key: String(key) as Keyboard.KeyEquivalent };\n }\n\n return shortcut;\n}\n\nexport function getIcon(color: HistoryColor) {\n const previewColor = typeof color === \"string\" ? color : getFormattedColor(color, \"hex\");\n if (!previewColor) {\n return undefined;\n }\n\n const icon: Image.ImageLike = {\n source: Icon.CircleFilled,\n tintColor: { light: previewColor, dark: previewColor, adjustContrast: false },\n };\n\n return icon;\n}\n\nexport function getAccessories(historyItem: HistoryItem) {\n const accessories = new Array<List.Item.Accessory>();\n accessories.push({ date: new Date(historyItem.date), tooltip: new Date(historyItem.date).toLocaleString() });\n return accessories;\n}\n\nexport function normalizeColorHex(colorInput: string) {\n let hex = colorInput.replace(/^#/, \"\");\n const validHexPattern = /^([a-f\\d]{3,4}|[a-f\\d]{6}|[a-f]\\d{8})$/i;\n if (validHexPattern.test(hex)) {\n switch (hex.length) {\n case 3:\n case 4:\n hex = hex\n .slice(0, 3)\n .split(\"\")\n .map((x) => x.repeat(2))\n .join(\"\");\n break;\n case 8:\n hex = hex.slice(0, 6);\n break;\n }\n }\n return \"#\" + hex.toUpperCase();\n}\n\nexport function getColorByPlatform(normalizedSearchString: string, colors?: Colors<Palette>) {\n return Object.entries(colors ?? {}).sort(([, a], [, b]) => {\n if (normalizeColorHex(a[0].hex) === normalizeColorHex(b[0].hex)) return 0;\n if (normalizedSearchString === normalizeColorHex(a[0].hex)) return -1;\n return 1;\n });\n}\n\nexport function getColorByProximity(colors?: Colors<Palette>) {\n return uniqBy(Object.values(colors ?? {}).flat(), (x) => x.name.toLowerCase()).sort(\n (a, b) => a.distance - b.distance,\n );\n}\n", "// A is m x n. B is n x p. product is m x p.\nexport default function multiplyMatrices (A, B) {\n\tlet m = A.length;\n\n\tif (!Array.isArray(A[0])) {\n\t\t// A is vector, convert to [[a, b, c, ...]]\n\t\tA = [A];\n\t}\n\n\tif (!Array.isArray(B[0])) {\n\t\t// B is vector, convert to [[a], [b], [c], ...]]\n\t\tB = B.map(x => [x]);\n\t}\n\n\tlet p = B[0].length;\n\tlet B_cols = B[0].map((_, i) => B.map(x => x[i])); // transpose B\n\tlet product = A.map(row => B_cols.map(col => {\n\t\tlet ret = 0;\n\n\t\tif (!Array.isArray(row)) {\n\t\t\tfor (let c of col) {\n\t\t\t\tret += row * c;\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t}\n\n\t\tfor (let i = 0; i < row.length; i++) {\n\t\t\tret += row[i] * (col[i] || 0);\n\t\t}\n\n\t\treturn ret;\n\t}));\n\n\tif (m === 1) {\n\t\tproduct = product[0]; // Avoid [[a, b, c, ...]]\n\t}\n\n\tif (p === 1) {\n\t\treturn product.map(x => x[0]); // Avoid [[a], [b], [c], ...]]\n\t}\n\n\treturn product;\n}\n", "/**\n * Various utility functions\n */\n\nexport {default as multiplyMatrices} from \"./multiply-matrices.js\";\n\n/**\n * Check if a value is a string (including a String object)\n * @param {*} str - Value to check\n * @returns {boolean}\n */\nexport function isString (str) {\n\treturn type(str) === \"string\";\n}\n\n/**\n * Determine the internal JavaScript [[Class]] of an object.\n * @param {*} o - Value to check\n * @returns {string}\n */\nexport function type (o) {\n\tlet str = Object.prototype.toString.call(o);\n\n\treturn (str.match(/^\\[object\\s+(.*?)\\]$/)[1] || \"\").toLowerCase();\n}\n\nexport function serializeNumber (n, {precision, unit }) {\n\tif (isNone(n)) {\n\t\treturn \"none\";\n\t}\n\n\treturn toPrecision(n, precision) + (unit ?? \"\");\n}\n\n/**\n * Check if a value corresponds to a none argument\n * @param {*} n - Value to check\n * @returns {boolean}\n */\nexport function isNone (n) {\n\treturn Number.isNaN(n) || (n instanceof Number && n?.none);\n}\n\n/**\n * Replace none values with 0\n */\nexport function skipNone (n) {\n\treturn isNone(n) ? 0 : n;\n}\n\n/**\n * Round a number to a certain number of significant digits\n * @param {number} n - The number to round\n * @param {number} precision - Number of significant digits\n */\nexport function toPrecision (n, precision) {\n\tif (n === 0) {\n\t\treturn 0;\n\t}\n\tlet integer = ~~n;\n\tlet digits = 0;\n\tif (integer && precision) {\n\t\tdigits = ~~Math.log10(Math.abs(integer)) + 1;\n\t}\n\tconst multiplier = 10.0 ** (precision - digits);\n\treturn Math.floor(n * multiplier + 0.5) / multiplier;\n}\n\nconst angleFactor = {\n\tdeg: 1,\n\tgrad: 0.9,\n\trad: 180 / Math.PI,\n\tturn: 360,\n};\n\n/**\n* Parse a CSS function, regardless of its name and arguments\n* @param String str String to parse\n* @return {{name, args, rawArgs}}\n*/\nexport function parseFunction (str) {\n\tif (!str) {\n\t\treturn;\n\t}\n\n\tstr = str.trim();\n\n\tconst isFunctionRegex = /^([a-z]+)\\((.+?)\\)$/i;\n\tconst isNumberRegex = /^-?[\\d.]+$/;\n\tconst unitValueRegex = /%|deg|g?rad|turn$/;\n\tconst singleArgument = /\\/?\\s*(none|[-\\w.]+(?:%|deg|g?rad|turn)?)/g;\n\tlet parts = str.match(isFunctionRegex);\n\n\tif (parts) {\n\t\t// It is a function, parse args\n\t\tlet args = [];\n\t\tparts[2].replace(singleArgument, ($0, rawArg) => {\n\t\t\tlet match = rawArg.match(unitValueRegex);\n\t\t\tlet arg = rawArg;\n\n\t\t\tif (match) {\n\t\t\t\tlet unit = match[0];\n\t\t\t\t// Drop unit from value\n\t\t\t\tlet unitlessArg = arg.slice(0, -unit.length);\n\n\t\t\t\tif (unit === \"%\") {\n\t\t\t\t\t// Convert percentages to 0-1 numbers\n\t\t\t\t\targ = new Number(unitlessArg / 100);\n\t\t\t\t\targ.type = \"<percentage>\";\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Multiply angle by appropriate factor for its unit\n\t\t\t\t\targ = new Number(unitlessArg * angleFactor[unit]);\n\t\t\t\t\targ.type = \"<angle>\";\n\t\t\t\t\targ.unit = unit;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (isNumberRegex.test(arg)) {\n\t\t\t\t// Convert numerical args to numbers\n\t\t\t\targ = new Number(arg);\n\t\t\t\targ.type = \"<number>\";\n\t\t\t}\n\t\t\telse if (arg === \"none\") {\n\t\t\t\targ = new Number(NaN);\n\t\t\t\targ.none = true;\n\t\t\t}\n\n\t\t\tif ($0.startsWith(\"/\")) {\n\t\t\t\t// It's alpha\n\t\t\t\targ = arg instanceof Number ? arg : new Number(arg);\n\t\t\t\targ.alpha = true;\n\t\t\t}\n\n\t\t\tif (typeof arg === \"object\" && arg instanceof Number) {\n\t\t\t\targ.raw = rawArg;\n\t\t\t}\n\n\t\t\targs.push(arg);\n\t\t});\n\n\t\treturn {\n\t\t\tname: parts[1].toLowerCase(),\n\t\t\trawName: parts[1],\n\t\t\trawArgs: parts[2],\n\t\t\t// An argument could be (as of css-color-4):\n\t\t\t// a number, percentage, degrees (hue), ident (in color())\n\t\t\targs,\n\t\t};\n\t}\n}\n\nexport function last (arr) {\n\treturn arr[arr.length - 1];\n}\n\nexport function interpolate (start, end, p) {\n\tif (isNaN(start)) {\n\t\treturn end;\n\t}\n\n\tif (isNaN(end)) {\n\t\treturn start;\n\t}\n\n\treturn start + (end - start) * p;\n}\n\nexport function interpolateInv (start, end, value) {\n\treturn (value - start) / (end - start);\n}\n\nexport function mapRange (from, to, value) {\n\treturn interpolate(to[0], to[1], interpolateInv(from[0], from[1], value));\n}\n\nexport function parseCoordGrammar (coordGrammars) {\n\treturn coordGrammars.map(coordGrammar => {\n\t\treturn coordGrammar.split(\"|\").map(type => {\n\t\t\ttype = type.trim();\n\t\t\tlet range = type.match(/^(<[a-z]+>)\\[(-?[.\\d]+),\\s*(-?[.\\d]+)\\]?$/);\n\n\t\t\tif (range) {\n\t\t\t\tlet ret = new String(range[1]);\n\t\t\t\tret.range = [+range[2], +range[3]];\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn type;\n\t\t});\n\t});\n}\n\n/**\n * Clamp value between the minimum and maximum\n * @param {number} min minimum value to return\n * @param {number} val the value to return if it is between min and max\n * @param {number} max maximum value to return\n * @returns number\n */\nexport function clamp (min, val, max) {\n\treturn Math.max(Math.min(max, val), min);\n}\n\n/**\n * Copy sign of one value to another.\n * @param {number} - to number to copy sign to\n * @param {number} - from number to copy sign from\n * @returns number\n */\nexport function copySign (to, from) {\n\treturn Math.sign(to) === Math.sign(from) ? to : -to;\n}\n\n/**\n * Perform pow on a signed number and copy sign to result\n * @param {number} - base the base number\n * @param {number} - exp the exponent\n * @returns number\n */\nexport function spow (base, exp) {\n\treturn copySign(Math.abs(base) ** exp, base);\n}\n\n/**\n * Perform a divide, but return zero if the numerator is zero\n * @param {number} n - the numerator\n * @param {number} d - the denominator\n * @returns number\n */\nexport function zdiv (n, d) {\n\treturn (d === 0) ? 0 : n / d;\n}\n\n/**\n * Perform a bisect on a sorted list and locate the insertion point for\n * a value in arr to maintain sorted order.\n * @param {number[]} arr - array of sorted numbers\n * @param {number} value - value to find insertion point for\n * @param {number} lo - used to specify a the low end of a subset of the list\n * @param {number} hi - used to specify a the high end of a subset of the list\n * @returns number\n */\nexport function bisectLeft (arr, value, lo = 0, hi = arr.length) {\n\twhile (lo < hi) {\n\t\tconst mid = (lo + hi) >> 1;\n\t\tif (arr[mid] < value) {\n\t\t\tlo = mid + 1;\n\t\t}\n\t\telse {\n\t\t\thi = mid;\n\t\t}\n\t}\n\treturn lo;\n}\n", "/**\n * A class for adding deep extensibility to any piece of JS code\n */\nexport class Hooks {\n\tadd (name, callback, first) {\n\t\tif (typeof arguments[0] != \"string\") {\n\t\t\t// Multiple hooks\n\t\t\tfor (var name in arguments[0]) {\n\t\t\t\tthis.add(name, arguments[0][name], arguments[1]);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t(Array.isArray(name) ? name : [name]).forEach(function (name) {\n\t\t\tthis[name] = this[name] || [];\n\n\t\t\tif (callback) {\n\t\t\t\tthis[name][first ? \"unshift\" : \"push\"](callback);\n\t\t\t}\n\t\t}, this);\n\t}\n\n\trun (name, env) {\n\t\tthis[name] = this[name] || [];\n\t\tthis[name].forEach(function (callback) {\n\t\t\tcallback.call(env && env.context ? env.context : env, env);\n\t\t});\n\t}\n}\n\n/**\n * The instance of {@link Hooks} used throughout Color.js\n */\nconst hooks = new Hooks();\n\nexport default hooks;\n", "// Global defaults one may want to configure\nexport default {\n\tgamut_mapping: \"css\",\n\tprecision: 5,\n\tdeltaE: \"76\", // Default deltaE method\n\tverbose: globalThis?.process?.env?.NODE_ENV?.toLowerCase() !== \"test\",\n\twarn: function warn (msg) {\n\t\tif (this.verbose) {\n\t\t\tglobalThis?.console?.warn?.(msg);\n\t\t}\n\t},\n};\n", "import hooks from \"./hooks.js\";\nimport {multiplyMatrices} from \"./util.js\";\n\nexport const WHITES = {\n\t// for compatibility, the four-digit chromaticity-derived ones everyone else uses\n\tD50: [0.3457 / 0.3585, 1.00000, (1.0 - 0.3457 - 0.3585) / 0.3585],\n\tD65: [0.3127 / 0.3290, 1.00000, (1.0 - 0.3127 - 0.3290) / 0.3290],\n};\n\nexport function getWhite (name) {\n\tif (Array.isArray(name)) {\n\t\treturn name;\n\t}\n\n\treturn WHITES[name];\n}\n\n// Adapt XYZ from white point W1 to W2\nexport default function adapt (W1, W2, XYZ, options = {}) {\n\tW1 = getWhite(W1);\n\tW2 = getWhite(W2);\n\n\tif (!W1 || !W2) {\n\t\tthrow new TypeError(`Missing white point to convert ${!W1 ? \"from\" : \"\"}${!W1 && !W2 ? \"/\" : \"\"}${!W2 ? \"to\" : \"\"}`);\n\t}\n\n\tif (W1 === W2) {\n\t\t// Same whitepoints, no conversion needed\n\t\treturn XYZ;\n\t}\n\n\tlet env = {W1, W2, XYZ, options};\n\n\thooks.run(\"chromatic-adaptation-start\", env);\n\n\tif (!env.M) {\n\t\tif (env.W1 === WHITES.D65 && env.W2 === WHITES.D50) {\n\t\t\tenv.M = [\n\t\t\t\t[ 1.0479297925449969, 0.022946870601609652, -0.05019226628920524 ],\n\t\t\t\t[ 0.02962780877005599, 0.9904344267538799, -0.017073799063418826 ],\n\t\t\t\t[ -0.009243040646204504, 0.015055191490298152, 0.7518742814281371 ],\n\t\t\t];\n\t\t}\n\t\telse if (env.W1 === WHITES.D50 && env.W2 === WHITES.D65) {\n\n\t\t\tenv.M = [\n\t\t\t\t[ 0.955473421488075, -0.02309845494876471, 0.06325924320057072 ],\n\t\t\t\t[ -0.0283697093338637, 1.0099953980813041, 0.021041441191917323 ],\n\t\t\t\t[ 0.012314014864481998, -0.020507649298898964, 1.330365926242124 ],\n\t\t\t];\n\t\t}\n\t}\n\n\thooks.run(\"chromatic-adaptation-end\", env);\n\n\tif (env.M) {\n\t\treturn multiplyMatrices(env.M, env.XYZ);\n\t}\n\telse {\n\t\tthrow new TypeError(\"Only Bradford CAT with white points D50 and D65 supported for now.\");\n\t}\n}\n", "import * as util from \"./util.js\";\nimport hooks from \"./hooks.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\n\nconst noneTypes = new Set([\"<number>\", \"<percentage>\", \"<angle>\"]);\n\n/**\n * Validates the coordinates of a color against a format's coord grammar and\n * maps the coordinates to the range or refRange of the coordinates.\n * @param {ColorSpace} space - Colorspace the coords are in\n * @param {object} format - the format object to validate against\n * @param {string} name - the name of the color function. e.g. \"oklab\" or \"color\"\n * @returns {object[]} - an array of type metadata for each coordinate\n */\nfunction coerceCoords (space, format, name, coords) {\n\tlet types = Object.entries(space.coords).map(([id, coordMeta], i) => {\n\t\tlet coordGrammar = format.coordGrammar[i];\n\t\tlet arg = coords[i];\n\t\tlet providedType = arg?.type;\n\n\t\t// Find grammar alternative that matches the provided type\n\t\t// Non-strict equals is intentional because we are comparing w/ string objects\n\t\tlet type;\n\t\tif (arg.none) {\n\t\t\ttype = coordGrammar.find(c => noneTypes.has(c));\n\t\t}\n\t\telse {\n\t\t\ttype = coordGrammar.find(c => c == providedType);\n\t\t}\n\n\t\t// Check that each coord conforms to its grammar\n\t\tif (!type) {\n\t\t\t// Type does not exist in the grammar, throw\n\t\t\tlet coordName = coordMeta.name || id;\n\t\t\tthrow new TypeError(`${providedType ?? arg.raw} not allowed for ${coordName} in ${name}()`);\n\t\t}\n\n\t\tlet fromRange = type.range;\n\n\t\tif (providedType === \"<percentage>\") {\n\t\t\tfromRange ||= [0, 1];\n\t\t}\n\n\t\tlet toRange = coordMeta.range || coordMeta.refRange;\n\n\t\tif (fromRange && toRange) {\n\t\t\tcoords[i] = util.mapRange(fromRange, toRange, coords[i]);\n\t\t}\n\n\t\treturn type;\n\t});\n\n\treturn types;\n}\n\n\n/**\n * Convert a CSS Color string to a color object\n * @param {string} str\n * @param {object} [options]\n * @param {object} [options.meta] - Object for additional information about the parsing\n * @returns {Color}\n */\nexport default function parse (str, {meta} = {}) {\n\tlet env = {\"str\": String(str)?.trim()};\n\thooks.run(\"parse-start\", env);\n\n\tif (env.color) {\n\t\treturn env.color;\n\t}\n\n\tenv.parsed = util.parseFunction(env.str);\n\n\tif (env.parsed) {\n\t\t// Is a functional syntax\n\t\tlet name = env.parsed.name;\n\n\t\tif (name === \"color\") {\n\t\t\t// color() function\n\t\t\tlet id = env.parsed.args.shift();\n\t\t\t// Check against both <dashed-ident> and <ident> versions\n\t\t\tlet alternateId = id.startsWith(\"--\") ? id.substring(2) : `--${id}`;\n\t\t\tlet ids = [id, alternateId];\n\t\t\tlet alpha = env.parsed.rawArgs.indexOf(\"/\") > 0 ? env.parsed.args.pop() : 1;\n\n\t\t\tfor (let space of ColorSpace.all) {\n\t\t\t\tlet colorSpec = space.getFormat(\"color\");\n\n\t\t\t\tif (colorSpec) {\n\t\t\t\t\tif (ids.includes(colorSpec.id) || colorSpec.ids?.filter((specId) => ids.includes(specId)).length) {\n\t\t\t\t\t\t// From https://drafts.csswg.org/css-color-4/#color-function\n\t\t\t\t\t\t// If more <number>s or <percentage>s are provided than parameters that the colorspace takes, the excess <number>s at the end are ignored.\n\t\t\t\t\t\t// If less <number>s or <percentage>s are provided than parameters that the colorspace takes, the missing parameters default to 0. (This is particularly convenient for multichannel printers where the additional inks are spot colors or varnishes that most colors on the page won’t use.)\n\t\t\t\t\t\tconst coords = Object.keys(space.coords).map((_, i) => env.parsed.args[i] || 0);\n\n\t\t\t\t\t\tlet types;\n\n\t\t\t\t\t\tif (colorSpec.coordGrammar) {\n\t\t\t\t\t\t\ttypes = coerceCoords(space, colorSpec, \"color\", coords);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (meta) {\n\t\t\t\t\t\t\tObject.assign(meta, {formatId: \"color\", types});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (colorSpec.id.startsWith(\"--\") && !id.startsWith(\"--\")) {\n\t\t\t\t\t\t\tdefaults.warn(`${space.name} is a non-standard space and not currently supported in the CSS spec. ` +\n\t\t\t\t\t\t\t `Use prefixed color(${colorSpec.id}) instead of color(${id}).`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (id.startsWith(\"--\") && !colorSpec.id.startsWith(\"--\")) {\n\t\t\t\t\t\t\tdefaults.warn(`${space.name} is a standard space and supported in the CSS spec. ` +\n\t\t\t\t\t\t\t `Use color(${colorSpec.id}) instead of prefixed color(${id}).`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {spaceId: space.id, coords, alpha};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Not found\n\t\t\tlet didYouMean = \"\";\n\t\t\tlet registryId = id in ColorSpace.registry ? id : alternateId;\n\t\t\tif (registryId in ColorSpace.registry) {\n\t\t\t\t// Used color space id instead of color() id, these are often different\n\t\t\t\tlet cssId = ColorSpace.registry[registryId].formats?.color?.id;\n\n\t\t\t\tif (cssId) {\n\t\t\t\t\tdidYouMean = `Did you mean color(${cssId})?`;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthrow new TypeError(`Cannot parse color(${id}). ` + (didYouMean || \"Missing a plugin?\"));\n\t\t}\n\t\telse {\n\t\t\tfor (let space of ColorSpace.all) {\n\t\t\t\t// color space specific function\n\t\t\t\tlet format = space.getFormat(name);\n\t\t\t\tif (format && format.type === \"function\") {\n\t\t\t\t\tlet alpha = 1;\n\n\t\t\t\t\tif (format.lastAlpha || util.last(env.parsed.args).alpha) {\n\t\t\t\t\t\talpha = env.parsed.args.pop();\n\t\t\t\t\t}\n\n\t\t\t\t\tlet coords = env.parsed.args;\n\n\t\t\t\t\tlet types;\n\n\t\t\t\t\tif (format.coordGrammar) {\n\t\t\t\t\t\ttypes = coerceCoords(space, format, name, coords);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (meta) {\n\t\t\t\t\t\tObject.assign(meta, {formatId: format.name, types});\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tspaceId: space.id,\n\t\t\t\t\t\tcoords, alpha,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\telse {\n\t\t// Custom, colorspace-specific format\n\t\tfor (let space of ColorSpace.all) {\n\t\t\tfor (let formatId in space.formats) {\n\t\t\t\tlet format = space.formats[formatId];\n\n\t\t\t\tif (format.type !== \"custom\") {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (format.test && !format.test(env.str)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tlet color = format.parse(env.str);\n\n\t\t\t\tif (color) {\n\t\t\t\t\tcolor.alpha ??= 1;\n\n\t\t\t\t\tif (meta) {\n\t\t\t\t\t\tmeta.formatId = formatId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn color;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\n\t// If we're here, we couldn't parse\n\tthrow new TypeError(`Could not parse ${str} as a color. Missing a plugin?`);\n}\n", "import ColorSpace from \"./space.js\";\nimport {isString} from \"./util.js\";\nimport parse from \"./parse.js\";\n\n/**\n * Resolves a color reference (object or string) to a plain color object\n * @param {Color | {space, coords, alpha} | string | Array<Color | {space, coords, alpha} | string> } color\n * @returns {{space, coords, alpha} | Array<{space, coords, alpha}}>\n */\nexport default function getColor (color) {\n\tif (Array.isArray(color)) {\n\t\treturn color.map(getColor);\n\t}\n\n\tif (!color) {\n\t\tthrow new TypeError(\"Empty color reference\");\n\t}\n\n\tif (isString(color)) {\n\t\tcolor = parse(color);\n\t}\n\n\t// Object fixup\n\tlet space = color.space || color.spaceId;\n\n\tif (!(space instanceof ColorSpace)) {\n\t\t// Convert string id to color space object\n\t\tcolor.space = ColorSpace.get(space);\n\t}\n\n\tif (color.alpha === undefined) {\n\t\tcolor.alpha = 1;\n\t}\n\n\treturn color;\n}\n", "import {type, parseCoordGrammar, serializeNumber, mapRange} from \"./util.js\";\nimport {getWhite} from \"./adapt.js\";\nimport hooks from \"./hooks.js\";\nimport getColor from \"./getColor.js\";\n\nconst ε = .000075;\n\n/**\n * Class to represent a color space\n */\nexport default class ColorSpace {\n\tconstructor (options) {\n\t\tthis.id = options.id;\n\t\tthis.name = options.name;\n\t\tthis.base = options.base ? ColorSpace.get(options.base) : null;\n\t\tthis.aliases = options.aliases;\n\n\t\tif (this.base) {\n\t\t\tthis.fromBase = options.fromBase;\n\t\t\tthis.toBase = options.toBase;\n\t\t}\n\n\t\t// Coordinate metadata\n\n\t\tlet coords = options.coords ?? this.base.coords;\n\n\t\tfor (let name in coords) {\n\t\t\tif (!(\"name\" in coords[name])) {\n\t\t\t\tcoords[name].name = name;\n\t\t\t}\n\t\t}\n\t\tthis.coords = coords;\n\n\t\t// White point\n\n\t\tlet white = options.white ?? this.base.white ?? \"D65\";\n\t\tthis.white = getWhite(white);\n\n\t\t// Sort out formats\n\n\t\tthis.formats = options.formats ?? {};\n\n\t\tfor (let name in this.formats) {\n\t\t\tlet format = this.formats[name];\n\t\t\tformat.type ||= \"function\";\n\t\t\tformat.name ||= name;\n\t\t}\n\n\t\tif (!this.formats.color?.id) {\n\t\t\tthis.formats.color = {\n\t\t\t\t...this.formats.color ?? {},\n\t\t\t\tid: options.cssId || this.id,\n\t\t\t};\n\t\t}\n\n\t\t// Gamut space\n\n\t\tif (options.gamutSpace) {\n\t\t\t// Gamut space explicitly specified\n\t\t\tthis.gamutSpace = options.gamutSpace === \"self\" ? this : ColorSpace.get(options.gamutSpace);\n\t\t}\n\t\telse {\n\t\t\t// No gamut space specified, calculate a sensible default\n\t\t\tif (this.isPolar) {\n\t\t\t\t// Do not check gamut through polar coordinates\n\t\t\t\tthis.gamutSpace = this.base;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.gamutSpace = this;\n\t\t\t}\n\t\t}\n\n\t\t// Optimize inGamut for unbounded spaces\n\t\tif (this.gamutSpace.isUnbounded) {\n\t\t\tthis.inGamut = (coords, options) => {\n\t\t\t\treturn true;\n\t\t\t};\n\t\t}\n\n\t\t// Other stuff\n\t\tthis.referred = options.referred;\n\n\t\t// Compute ancestors and store them, since they will never change\n\t\tObject.defineProperty(this, \"path\", {\n\t\t\tvalue: getPath(this).reverse(),\n\t\t\twritable: false,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t});\n\n\t\thooks.run(\"colorspace-init-end\", this);\n\t}\n\n\tinGamut (coords, {epsilon = ε} = {}) {\n\t\tif (!this.equals(this.gamutSpace)) {\n\t\t\tcoords = this.to(this.gamutSpace, coords);\n\t\t\treturn this.gamutSpace.inGamut(coords, {epsilon});\n\t\t}\n\n\t\tlet coordMeta = Object.values(this.coords);\n\n\t\treturn coords.every((c, i) => {\n\t\t\tlet meta = coordMeta[i];\n\n\t\t\tif (meta.type !== \"angle\" && meta.range) {\n\t\t\t\tif (Number.isNaN(c)) {\n\t\t\t\t\t// NaN is always in gamut\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tlet [min, max] = meta.range;\n\t\t\t\treturn (min === undefined || c >= min - epsilon)\n\t\t\t\t && (max === undefined || c <= max + epsilon);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t});\n\t}\n\n\tget isUnbounded () {\n\t\treturn Object.values(this.coords).every(coord => !(\"range\" in coord));\n\t}\n\n\tget cssId () {\n\t\treturn this.formats?.color?.id || this.id;\n\t}\n\n\tget isPolar () {\n\t\tfor (let id in this.coords) {\n\t\t\tif (this.coords[id].type === \"angle\") {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tgetFormat (format) {\n\t\tif (typeof format === \"object\") {\n\t\t\tformat = processFormat(format, this);\n\t\t\treturn format;\n\t\t}\n\n\t\tlet ret;\n\t\tif (format === \"default\") {\n\t\t\t// Get first format\n\t\t\tret = Object.values(this.formats)[0];\n\t\t}\n\t\telse {\n\t\t\tret = this.formats[format];\n\t\t}\n\n\t\tif (ret) {\n\t\t\tret = processFormat(ret, this);\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/**\n\t * Check if this color space is the same as another color space reference.\n\t * Allows proxying color space objects and comparing color spaces with ids.\n\t * @param {string | ColorSpace} space ColorSpace object or id to compare to\n\t * @returns {boolean}\n\t */\n\tequals (space) {\n\t\tif (!space) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this === space || this.id === space || this.id === space.id;\n\t}\n\n\tto (space, coords) {\n\t\tif (arguments.length === 1) {\n\t\t\tconst color = getColor(space);\n\t\t\t[space, coords] = [color.space, color.coords];\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tif (this.equals(space)) {\n\t\t\t// Same space, no change needed\n\t\t\treturn coords;\n\t\t}\n\n\t\t// Convert NaN to 0, which seems to be valid in every coordinate of every color space\n\t\tcoords = coords.map(c => Number.isNaN(c) ? 0 : c);\n\n\t\t// Find connection space = lowest common ancestor in the base tree\n\t\tlet myPath = this.path;\n\t\tlet otherPath = space.path;\n\n\t\tlet connectionSpace, connectionSpaceIndex;\n\n\t\tfor (let i = 0; i < myPath.length; i++) {\n\t\t\tif (myPath[i].equals(otherPath[i])) {\n\t\t\t\tconnectionSpace = myPath[i];\n\t\t\t\tconnectionSpaceIndex = i;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (!connectionSpace) {\n\t\t\t// This should never happen\n\t\t\tthrow new Error(`Cannot convert between color spaces ${this} and ${space}: no connection space was found`);\n\t\t}\n\n\t\t// Go up from current space to connection space\n\t\tfor (let i = myPath.length - 1; i > connectionSpaceIndex; i--) {\n\t\t\tcoords = myPath[i].toBase(coords);\n\t\t}\n\n\t\t// Go down from connection space to target space\n\t\tfor (let i = connectionSpaceIndex + 1; i < otherPath.length; i++) {\n\t\t\tcoords = otherPath[i].fromBase(coords);\n\t\t}\n\n\t\treturn coords;\n\t}\n\n\tfrom (space, coords) {\n\t\tif (arguments.length === 1) {\n\t\t\tconst color = getColor(space);\n\t\t\t[space, coords] = [color.space, color.coords];\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\treturn space.to(this, coords);\n\t}\n\n\ttoString () {\n\t\treturn `${this.name} (${this.id})`;\n\t}\n\n\tgetMinCoords () {\n\t\tlet ret = [];\n\n\t\tfor (let id in this.coords) {\n\t\t\tlet meta = this.coords[id];\n\t\t\tlet range = meta.range || meta.refRange;\n\t\t\tret.push(range?.min ?? 0);\n\t\t}\n\n\t\treturn ret;\n\t}\n\n\tstatic registry = {};\n\n\t// Returns array of unique color spaces\n\tstatic get all () {\n\t\treturn [...new Set(Object.values(ColorSpace.registry))];\n\t}\n\n\tstatic register (id, space) {\n\t\tif (arguments.length === 1) {\n\t\t\tspace = arguments[0];\n\t\t\tid = space.id;\n\t\t}\n\n\t\tspace = this.get(space);\n\n\t\tif (this.registry[id] && this.registry[id] !== space) {\n\t\t\tthrow new Error(`Duplicate color space registration: '${id}'`);\n\t\t}\n\t\tthis.registry[id] = space;\n\n\t\t// Register aliases when called without an explicit ID.\n\t\tif (arguments.length === 1 && space.aliases) {\n\t\t\tfor (let alias of space.aliases) {\n\t\t\t\tthis.register(alias, space);\n\t\t\t}\n\t\t}\n\n\t\treturn space;\n\t}\n\n\t/**\n\t * Lookup ColorSpace object by name\n\t * @param {ColorSpace | string} name\n\t */\n\tstatic get (space, ...alternatives) {\n\t\tif (!space || space instanceof ColorSpace) {\n\t\t\treturn space;\n\t\t}\n\n\t\tlet argType = type(space);\n\n\t\tif (argType === \"string\") {\n\t\t\t// It's a color space id\n\t\t\tlet ret = ColorSpace.registry[space.toLowerCase()];\n\n\t\t\tif (!ret) {\n\t\t\t\tthrow new TypeError(`No color space found with id = \"${space}\"`);\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t}\n\n\t\tif (alternatives.length) {\n\t\t\treturn ColorSpace.get(...alternatives);\n\t\t}\n\n\t\tthrow new TypeError(`${space} is not a valid color space`);\n\t}\n\n\t/**\n\t * Get metadata about a coordinate of a color space\n\t *\n\t * @static\n\t * @param {Array | string} ref\n\t * @param {ColorSpace | string} [workingSpace]\n\t * @return {Object}\n\t */\n\tstatic resolveCoord (ref, workingSpace) {\n\t\tlet coordType = type(ref);\n\t\tlet space, coord;\n\n\t\tif (coordType === \"string\") {\n\t\t\tif (ref.includes(\".\")) {\n\t\t\t\t// Absolute coordinate\n\t\t\t\t[space, coord] = ref.split(\".\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// Relative coordinate\n\t\t\t\t[space, coord] = [, ref];\n\t\t\t}\n\t\t}\n\t\telse if (Array.isArray(ref)) {\n\t\t\t[space, coord] = ref;\n\t\t}\n\t\telse {\n\t\t\t// Object\n\t\t\tspace = ref.space;\n\t\t\tcoord = ref.coordId;\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tif (!space) {\n\t\t\tspace = workingSpace;\n\t\t}\n\n\t\tif (!space) {\n\t\t\tthrow new TypeError(`Cannot resolve coordinate reference ${ref}: No color space specified and relative references are not allowed here`);\n\t\t}\n\n\t\tcoordType = type(coord);\n\n\t\tif (coordType === \"number\" || coordType === \"string\" && coord >= 0) {\n\t\t\t// Resolve numerical coord\n\t\t\tlet meta = Object.entries(space.coords)[coord];\n\n\t\t\tif (meta) {\n\t\t\t\treturn {space, id: meta[0], index: coord, ...meta[1]};\n\t\t\t}\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tlet normalizedCoord = coord.toLowerCase();\n\n\t\tlet i = 0;\n\t\tfor (let id in space.coords) {\n\t\t\tlet meta = space.coords[id];\n\n\t\t\tif (id.toLowerCase() === normalizedCoord || meta.name?.toLowerCase() === normalizedCoord) {\n\t\t\t\treturn {space, id, index: i, ...meta};\n\t\t\t}\n\n\t\t\ti++;\n\t\t}\n\n\t\tthrow new TypeError(`No \"${coord}\" coordinate found in ${space.name}. Its coordinates are: ${Object.keys(space.coords).join(\", \")}`);\n\t}\n\n\tstatic DEFAULT_FORMAT = {\n\t\ttype: \"functions\",\n\t\tname: \"color\",\n\t};\n}\n\nfunction getPath (space) {\n\tlet ret = [space];\n\n\tfor (let s = space; s = s.base;) {\n\t\tret.push(s);\n\t}\n\n\treturn ret;\n}\n\nfunction processFormat (format, {coords} = {}) {\n\tif (format.coords && !format.coordGrammar) {\n\t\tformat.type ||= \"function\";\n\t\tformat.name ||= \"color\";\n\n\t\t// Format has not been processed\n\t\tformat.coordGrammar = parseCoordGrammar(format.coords);\n\n\t\tlet coordFormats = Object.entries(coords).map(([id, coordMeta], i) => {\n\t\t\t// Preferred format for each coord is the first one\n\t\t\tlet outputType = format.coordGrammar[i][0];\n\n\t\t\tlet fromRange = coordMeta.range || coordMeta.refRange;\n\t\t\tlet toRange = outputType.range, suffix = \"\";\n\n\t\t\t// Non-strict equals intentional since outputType could be a string object\n\t\t\tif (outputType == \"<percentage>\") {\n\t\t\t\ttoRange = [0, 100];\n\t\t\t\tsuffix = \"%\";\n\t\t\t}\n\t\t\telse if (outputType == \"<angle>\") {\n\t\t\t\tsuffix = \"deg\";\n\t\t\t}\n\n\t\t\treturn {fromRange, toRange, suffix};\n\t\t});\n\n\t\tformat.serializeCoords = (coords, precision) => {\n\t\t\treturn coords.map((c, i) => {\n\t\t\t\tlet {fromRange, toRange, suffix} = coordFormats[i];\n\n\t\t\t\tif (fromRange && toRange) {\n\t\t\t\t\tc = mapRange(fromRange, toRange, c);\n\t\t\t\t}\n\n\t\t\t\tc = serializeNumber(c, {precision, unit: suffix});\n\n\t\t\t\treturn c;\n\t\t\t});\n\t\t};\n\t}\n\n\treturn format;\n}\n", "import ColorSpace from \"../space.js\";\n\nexport default new ColorSpace({\n\tid: \"xyz-d65\",\n\tname: \"XYZ D65\",\n\tcoords: {\n\t\tx: {name: \"X\"},\n\t\ty: {name: \"Y\"},\n\t\tz: {name: \"Z\"},\n\t},\n\twhite: \"D65\",\n\tformats: {\n\t\tcolor: {\n\t\t\tids: [\"xyz-d65\", \"xyz\"],\n\t\t},\n\t},\n\taliases: [\"xyz\"],\n});\n", "import ColorSpace from \"./space.js\";\nimport {multiplyMatrices} from \"./util.js\";\nimport adapt from \"./adapt.js\";\nimport XYZ_D65 from \"./spaces/xyz-d65.js\";\n\n/**\n * Convenience class for RGB color spaces\n * @extends {ColorSpace}\n */\nexport default class RGBColorSpace extends ColorSpace {\n\t/**\n\t * Creates a new RGB ColorSpace.\n\t * If coords are not specified, they will use the default RGB coords.\n\t * Instead of `fromBase()` and `toBase()` functions,\n\t * you can specify to/from XYZ matrices and have `toBase()` and `fromBase()` automatically generated.\n\t * @param {*} options - Same options as {@link ColorSpace} plus:\n\t * @param {number[][]} options.toXYZ_M - Matrix to convert to XYZ\n\t * @param {number[][]} options.fromXYZ_M - Matrix to convert from XYZ\n\t */\n\tconstructor (options) {\n\t\tif (!options.coords) {\n\t\t\toptions.coords = {\n\t\t\t\tr: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Red\",\n\t\t\t\t},\n\t\t\t\tg: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Green\",\n\t\t\t\t},\n\t\t\t\tb: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Blue\",\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tif (!options.base) {\n\t\t\toptions.base = XYZ_D65;\n\t\t}\n\n\t\tif (options.toXYZ_M && options.fromXYZ_M) {\n\t\t\toptions.toBase ??= rgb => {\n\t\t\t\tlet xyz = multiplyMatrices(options.toXYZ_M, rgb);\n\n\t\t\t\tif (this.white !== this.base.white) {\n\t\t\t\t\t// Perform chromatic adaptation\n\t\t\t\t\txyz = adapt(this.white, this.base.white, xyz);\n\t\t\t\t}\n\n\t\t\t\treturn xyz;\n\t\t\t};\n\n\t\t\toptions.fromBase ??= xyz => {\n\t\t\t\txyz = adapt(this.base.white, this.white, xyz);\n\t\t\t\treturn multiplyMatrices(options.fromXYZ_M, xyz);\n\t\t\t};\n\t\t}\n\n\t\toptions.referred ??= \"display\";\n\n\t\tsuper(options);\n\t}\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\n/**\n * Get the coordinates of a color in any color space\n * @param {Color} color\n * @param {string | ColorSpace} [space = color.space] The color space to convert to. Defaults to the color's current space\n * @returns {number[]} The color coordinates in the given color space\n */\nexport default function getAll (color, space) {\n\tcolor = getColor(color);\n\n\tif (!space || color.space.equals(space)) {\n\t\t// No conversion needed\n\t\treturn color.coords.slice();\n\t}\n\n\tspace = ColorSpace.get(space);\n\treturn space.from(color);\n}\n", "import ColorSpace from \"./space.js\";\nimport getAll from \"./getAll.js\";\nimport getColor from \"./getColor.js\";\n\nexport default function get (color, prop) {\n\tcolor = getColor(color);\n\n\tlet {space, index} = ColorSpace.resolveCoord(prop, color.space);\n\tlet coords = getAll(color, space);\n\treturn coords[index];\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\nexport default function setAll (color, space, coords) {\n\tcolor = getColor(color);\n\n\tspace = ColorSpace.get(space);\n\tcolor.coords = space.to(color.space, coords);\n\treturn color;\n}\n\nsetAll.returns = \"color\";\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\nimport get from \"./get.js\";\nimport getAll from \"./getAll.js\";\nimport setAll from \"./setAll.js\";\nimport {type} from \"./util.js\";\n\n// Set properties and return current instance\nexport default function set (color, prop, value) {\n\tcolor = getColor(color);\n\n\tif (arguments.length === 2 && type(arguments[1]) === \"object\") {\n\t\t// Argument is an object literal\n\t\tlet object = arguments[1];\n\t\tfor (let p in object) {\n\t\t\tset(color, p, object[p]);\n\t\t}\n\t}\n\telse {\n\t\tif (typeof value === \"function\") {\n\t\t\tvalue = value(get(color, prop));\n\t\t}\n\n\t\tlet {space, index} = ColorSpace.resolveCoord(prop, color.space);\n\t\tlet coords = getAll(color, space);\n\t\tcoords[index] = value;\n\t\tsetAll(color, space, coords);\n\t}\n\n\treturn color;\n}\n\nset.returns = \"color\";\n", "import ColorSpace from \"../space.js\";\nimport adapt from \"../adapt.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\nexport default new ColorSpace({\n\tid: \"xyz-d50\",\n\tname: \"XYZ D50\",\n\twhite: \"D50\",\n\tbase: XYZ_D65,\n\tfromBase: coords => adapt(XYZ_D65.white, \"D50\", coords),\n\ttoBase: coords => adapt(\"D50\", XYZ_D65.white, coords),\n});\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d50 from \"./xyz-d50.js\";\n\n// κ * ε = 2^3 = 8\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst ε3 = 24 / 116;\nconst κ = 24389 / 27; // 29^3/3^3\n\nlet white = WHITES.D50;\n\nexport default new ColorSpace({\n\tid: \"lab\",\n\tname: \"Lab\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t},\n\n\t// Assuming XYZ is relative to D50, convert to CIE Lab\n\t// from CIE standard, which now defines these as a rational fraction\n\twhite,\n\n\tbase: xyz_d50,\n\t// Convert D50-adapted XYX to Lab\n\t// CIE 15.3:2004 section 8.2.1.1\n\tfromBase (XYZ) {\n\t\t// compute xyz, which is XYZ scaled relative to reference white\n\t\tlet xyz = XYZ.map((value, i) => value / white[i]);\n\n\t\t// now compute f\n\t\tlet f = xyz.map(value => value > ε ? Math.cbrt(value) : (κ * value + 16) / 116);\n\n\t\treturn [\n\t\t\t(116 * f[1]) - 16, // L\n\t\t\t500 * (f[0] - f[1]), // a\n\t\t\t200 * (f[1] - f[2]), // b\n\t\t];\n\t},\n\t// Convert Lab to D50-adapted XYZ\n\t// Same result as CIE 15.3:2004 Appendix D although the derivation is different\n\t// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n\ttoBase (Lab) {\n\t\t// compute f, starting with the luminance-related term\n\t\tlet f = [];\n\t\tf[1] = (Lab[0] + 16) / 116;\n\t\tf[0] = Lab[1] / 500 + f[1];\n\t\tf[2] = f[1] - Lab[2] / 200;\n\n\t\t// compute xyz\n\t\tlet xyz = [\n\t\t\tf[0] > ε3 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / κ,\n\t\t\tLab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / κ,\n\t\t\tf[2] > ε3 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / κ,\n\t\t];\n\n\t\t// Compute XYZ by scaling xyz by reference white\n\t\treturn xyz.map((value, i) => value * white[i]);\n\t},\n\n\tformats: {\n\t\t\"lab\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "export function constrain (angle) {\n\treturn ((angle % 360) + 360) % 360;\n}\n\nexport function adjust (arc, angles) {\n\tif (arc === \"raw\") {\n\t\treturn angles;\n\t}\n\n\tlet [a1, a2] = angles.map(constrain);\n\n\tlet angleDiff = a2 - a1;\n\n\tif (arc === \"increasing\") {\n\t\tif (angleDiff < 0) {\n\t\t\ta2 += 360;\n\t\t}\n\t}\n\telse if (arc === \"decreasing\") {\n\t\tif (angleDiff > 0) {\n\t\t\ta1 += 360;\n\t\t}\n\t}\n\telse if (arc === \"longer\") {\n\t\tif (-180 < angleDiff && angleDiff < 180) {\n\t\t\tif (angleDiff > 0) {\n\t\t\t\ta1 += 360;\n\t\t\t}\n\t\t\telse {\n\t\t\t\ta2 += 360;\n\t\t\t}\n\t\t}\n\t}\n\telse if (arc === \"shorter\") {\n\t\tif (angleDiff > 180) {\n\t\t\ta1 += 360;\n\t\t}\n\t\telse if (angleDiff < -180) {\n\t\t\ta2 += 360;\n\t\t}\n\t}\n\n\treturn [a1, a2];\n}\n", "import ColorSpace from \"../space.js\";\nimport Lab from \"./lab.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"lch\",\n\tname: \"LCH\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 150],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Lab,\n\tfromBase (Lab) {\n\t\t// Convert to polar form\n\t\tlet [L, a, b] = Lab;\n\t\tlet hue;\n\t\tconst ε = 0.02;\n\n\t\tif (Math.abs(a) < ε && Math.abs(b) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(b, a) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // L is still L\n\t\t\tMath.sqrt(a ** 2 + b ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (LCH) {\n\t\t// Convert from polar form\n\t\tlet [Lightness, Chroma, Hue] = LCH;\n\t\t// Clamp any negative Chroma\n\t\tif (Chroma < 0) {\n\t\t\tChroma = 0;\n\t\t}\n\t\t// Deal with NaN Hue\n\t\tif (isNaN(Hue)) {\n\t\t\tHue = 0;\n\t\t}\n\t\treturn [\n\t\t\tLightness, // L is still L\n\t\t\tChroma * Math.cos(Hue * Math.PI / 180), // a\n\t\t\tChroma * Math.sin(Hue * Math.PI / 180), // b\n\t\t];\n\t},\n\n\tformats: {\n\t\t\"lch\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "import defaults from \"../defaults.js\";\nimport lab from \"../spaces/lab.js\";\nimport lch from \"../spaces/lch.js\";\nimport getColor from \"../getColor.js\";\n\n// deltaE2000 is a statistically significant improvement\n// and is recommended by the CIE and Idealliance\n// especially for color differences less than 10 deltaE76\n// but is wicked complicated\n// and many implementations have small errors!\n// DeltaE2000 is also discontinuous; in case this\n// matters to you, use deltaECMC instead.\n\nconst Gfactor = 25 ** 7;\nconst π = Math.PI;\nconst r2d = 180 / π;\nconst d2r = π / 180;\n\nfunction pow7 (x) {\n\t// Faster than x ** 7 or Math.pow(x, 7)\n\n\tconst x2 = x * x;\n\tconst x7 = x2 * x2 * x2 * x;\n\n\treturn x7;\n}\n\nexport default function (color, sample, {kL = 1, kC = 1, kH = 1} = {}) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and the function parameter as the sample,\n\t// calculate deltaE 2000.\n\n\t// This implementation assumes the parametric\n\t// weighting factors kL, kC and kH\n\t// for the influence of viewing conditions\n\t// are all 1, as sadly seems typical.\n\t// kL should be increased for lightness texture or noise\n\t// and kC increased for chroma noise\n\n\tlet [L1, a1, b1] = lab.from(color);\n\tlet C1 = lch.from(lab, [L1, a1, b1])[1];\n\tlet [L2, a2, b2] = lab.from(sample);\n\tlet C2 = lch.from(lab, [L2, a2, b2])[1];\n\n\t// Check for negative Chroma,\n\t// which might happen through\n\t// direct user input of LCH values\n\n\tif (C1 < 0) {\n\t\tC1 = 0;\n\t}\n\tif (C2 < 0) {\n\t\tC2 = 0;\n\t}\n\n\tlet Cbar = (C1 + C2) / 2; // mean Chroma\n\n\t// calculate a-axis asymmetry factor from mean Chroma\n\t// this turns JND ellipses for near-neutral colors back into circles\n\tlet C7 = pow7(Cbar);\n\n\tlet G = 0.5 * (1 - Math.sqrt(C7 / (C7 + Gfactor)));\n\n\t// scale a axes by asymmetry factor\n\t// this by the way is why there is no Lab2000 colorspace\n\tlet adash1 = (1 + G) * a1;\n\tlet adash2 = (1 + G) * a2;\n\n\t// calculate new Chroma from scaled a and original b axes\n\tlet Cdash1 = Math.sqrt(adash1 ** 2 + b1 ** 2);\n\tlet Cdash2 = Math.sqrt(adash2 ** 2 + b2 ** 2);\n\n\t// calculate new hues, with zero hue for true neutrals\n\t// and in degrees, not radians\n\n\tlet h1 = (adash1 === 0 && b1 === 0) ? 0 : Math.atan2(b1, adash1);\n\tlet h2 = (adash2 === 0 && b2 === 0) ? 0 : Math.atan2(b2, adash2);\n\n\tif (h1 < 0) {\n\t\th1 += 2 * π;\n\t}\n\tif (h2 < 0) {\n\t\th2 += 2 * π;\n\t}\n\n\th1 *= r2d;\n\th2 *= r2d;\n\n\t// Lightness and Chroma differences; sign matters\n\tlet ΔL = L2 - L1;\n\tlet ΔC = Cdash2 - Cdash1;\n\n\t// Hue difference, getting the sign correct\n\tlet hdiff = h2 - h1;\n\tlet hsum = h1 + h2;\n\tlet habs = Math.abs(hdiff);\n\tlet Δh;\n\n\tif (Cdash1 * Cdash2 === 0) {\n\t\tΔh = 0;\n\t}\n\telse if (habs <= 180) {\n\t\tΔh = hdiff;\n\t}\n\telse if (hdiff > 180) {\n\t\tΔh = hdiff - 360;\n\t}\n\telse if (hdiff < -180) {\n\t\tΔh = hdiff + 360;\n\t}\n\telse {\n\t\tdefaults.warn(\"the unthinkable has happened\");\n\t}\n\n\t// weighted Hue difference, more for larger Chroma\n\tlet ΔH = 2 * Math.sqrt(Cdash2 * Cdash1) * Math.sin(Δh * d2r / 2);\n\n\t// calculate mean Lightness and Chroma\n\tlet Ldash = (L1 + L2) / 2;\n\tlet Cdash = (Cdash1 + Cdash2) / 2;\n\tlet Cdash7 = pow7(Cdash);\n\n\t// Compensate for non-linearity in the blue region of Lab.\n\t// Four possibilities for hue weighting factor,\n\t// depending on the angles, to get the correct sign\n\tlet hdash;\n\tif (Cdash1 * Cdash2 === 0) {\n\t\thdash = hsum; // which should be zero\n\t}\n\telse if (habs <= 180) {\n\t\thdash = hsum / 2;\n\t}\n\telse if (hsum < 360) {\n\t\thdash = (hsum + 360) / 2;\n\t}\n\telse {\n\t\thdash = (hsum - 360) / 2;\n\t}\n\n\t// positional corrections to the lack of uniformity of CIELAB\n\t// These are all trying to make JND ellipsoids more like spheres\n\n\t// SL Lightness crispening factor\n\t// a background with L=50 is assumed\n\tlet lsq = (Ldash - 50) ** 2;\n\tlet SL = 1 + ((0.015 * lsq) / Math.sqrt(20 + lsq));\n\n\t// SC Chroma factor, similar to those in CMC and deltaE 94 formulae\n\tlet SC = 1 + 0.045 * Cdash;\n\n\t// Cross term T for blue non-linearity\n\tlet T = 1;\n\tT -= (0.17 * Math.cos(( hdash - 30) * d2r));\n\tT += (0.24 * Math.cos( 2 * hdash * d2r));\n\tT += (0.32 * Math.cos(((3 * hdash) + 6) * d2r));\n\tT -= (0.20 * Math.cos(((4 * hdash) - 63) * d2r));\n\n\t// SH Hue factor depends on Chroma,\n\t// as well as adjusted hue angle like deltaE94.\n\tlet SH = 1 + 0.015 * Cdash * T;\n\n\t// RT Hue rotation term compensates for rotation of JND ellipses\n\t// and Munsell constant hue lines\n\t// in the medium-high Chroma blue region\n\t// (Hue 225 to 315)\n\tlet Δθ = 30 * Math.exp(-1 * (((hdash - 275) / 25) ** 2));\n\tlet RC = 2 * Math.sqrt(Cdash7 / (Cdash7 + Gfactor));\n\tlet RT = -1 * Math.sin(2 * Δθ * d2r) * RC;\n\n\t// Finally calculate the deltaE, term by term as root sume of squares\n\tlet dE = (ΔL / (kL * SL)) ** 2;\n\tdE += (ΔC / (kC * SC)) ** 2;\n\tdE += (ΔH / (kH * SH)) ** 2;\n\tdE += RT * (ΔC / (kC * SC)) * (ΔH / (kH * SH));\n\treturn Math.sqrt(dE);\n\t// Yay!!!\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\n// Recalculated for consistent reference white\n// see https://github.com/w3c/csswg-drafts/issues/6642#issuecomment-943521484\nconst XYZtoLMS_M = [\n\t[ 0.8190224379967030, 0.3619062600528904, -0.1288737815209879 ],\n\t[ 0.0329836539323885, 0.9292868615863434, 0.0361446663506424 ],\n\t[ 0.0481771893596242, 0.2642395317527308, 0.6335478284694309 ],\n];\n// inverse of XYZtoLMS_M\nconst LMStoXYZ_M = [\n\t[ 1.2268798758459243, -0.5578149944602171, 0.2813910456659647 ],\n\t[ -0.0405757452148008, 1.1122868032803170, -0.0717110580655164 ],\n\t[ -0.0763729366746601, -0.4214933324022432, 1.5869240198367816 ],\n];\nconst LMStoLab_M = [\n\t[ 0.2104542683093140, 0.7936177747023054, -0.0040720430116193 ],\n\t[ 1.9779985324311684, -2.4285922420485799, 0.4505937096174110 ],\n\t[ 0.0259040424655478, 0.7827717124575296, -0.8086757549230774 ],\n];\n// LMStoIab_M inverted\nconst LabtoLMS_M = [\n\t[ 1.0000000000000000, 0.3963377773761749, 0.2158037573099136 ],\n\t[ 1.0000000000000000, -0.1055613458156586, -0.0638541728258133 ],\n\t[ 1.0000000000000000, -0.0894841775298119, -1.2914855480194092 ],\n];\n\nexport default new ColorSpace({\n\tid: \"oklab\",\n\tname: \"Oklab\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-0.4, 0.4],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-0.4, 0.4],\n\t\t},\n\t},\n\n\t// Note that XYZ is relative to D65\n\twhite: \"D65\",\n\tbase: XYZ_D65,\n\tfromBase (XYZ) {\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoLMS_M, XYZ);\n\n\t\t// non-linearity\n\t\tlet LMSg = LMS.map(val => Math.cbrt(val));\n\n\t\treturn multiplyMatrices(LMStoLab_M, LMSg);\n\n\t},\n\ttoBase (OKLab) {\n\t\t// move to LMS cone domain\n\t\tlet LMSg = multiplyMatrices(LabtoLMS_M, OKLab);\n\n\t\t// restore linearity\n\t\tlet LMS = LMSg.map(val => val ** 3);\n\n\t\treturn multiplyMatrices(LMStoXYZ_M, LMS);\n\t},\n\n\tformats: {\n\t\t\"oklab\": {\n\t\t\tcoords: [\"<percentage> | <number>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in CIE Lab\n\nimport oklab from \"../spaces/oklab.js\";\nimport getColor from \"../getColor.js\";\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaEOK, term by term as root sum of squares\n\tlet [L1, a1, b1] = oklab.from(color);\n\tlet [L2, a2, b2] = oklab.from(sample);\n\tlet ΔL = L1 - L2;\n\tlet Δa = a1 - a2;\n\tlet Δb = b1 - b2;\n\treturn Math.sqrt(ΔL ** 2 + Δa ** 2 + Δb ** 2);\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\nconst ε = .000075;\n\n/**\n * Check if a color is in gamut of either its own or another color space\n * @return {Boolean} Is the color in gamut?\n */\nexport default function inGamut (color, space, {epsilon = ε} = {}) {\n\tcolor = getColor(color);\n\n\tif (!space) {\n\t\tspace = color.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\tlet coords = color.coords;\n\n\tif (space !== color.space) {\n\t\tcoords = space.from(color);\n\t}\n\n\treturn space.inGamut(coords, {epsilon});\n}\n", "export default function clone (color) {\n\treturn {\n\t\tspace: color.space,\n\t\tcoords: color.coords.slice(),\n\t\talpha: color.alpha,\n\t};\n}\n", "import ColorSpace from \"./space.js\";\n\n/**\n * Euclidean distance of colors in an arbitrary color space\n */\nexport default function distance (color1, color2, space = \"lab\") {\n\tspace = ColorSpace.get(space);\n\n\t// Assume getColor() is called on color in space.from()\n\tlet coords1 = space.from(color1);\n\tlet coords2 = space.from(color2);\n\n\treturn Math.sqrt(coords1.reduce((acc, c1, i) => {\n\t\tlet c2 = coords2[i];\n\t\tif (isNaN(c1) || isNaN(c2)) {\n\t\t\treturn acc;\n\t\t}\n\n\t\treturn acc + (c2 - c1) ** 2;\n\t}, 0));\n}\n", "import distance from \"../distance.js\";\nimport getColor from \"../getColor.js\";\n\nexport default function deltaE76 (color, sample) {\n\t// Assume getColor() is called in the distance function\n\treturn distance(color, sample, \"lab\");\n}\n", "import lab from \"../spaces/lab.js\";\nimport lch from \"../spaces/lch.js\";\nimport getColor from \"../getColor.js\";\n\n// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in Lab\n\n// CMC by the Color Measurement Committee of the\n// Bradford Society of Dyeists and Colorsts, 1994.\n// Uses LCH rather than Lab,\n// with different weights for L, C and H differences\n// A nice increase in accuracy for modest increase in complexity\nconst π = Math.PI;\nconst d2r = π / 180;\n\nexport default function (color, sample, {l = 2, c = 1} = {}) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE CMC.\n\n\t// This implementation assumes the parametric\n\t// weighting factors l:c are 2:1\n\t// which is typical for non-textile uses.\n\n\tlet [L1, a1, b1] = lab.from(color);\n\tlet [, C1, H1] = lch.from(lab, [L1, a1, b1]);\n\tlet [L2, a2, b2] = lab.from(sample);\n\tlet C2 = lch.from(lab, [L2, a2, b2])[1];\n\n\t// let [L1, a1, b1] = color.getAll(lab);\n\t// let C1 = color.get(\"lch.c\");\n\t// let H1 = color.get(\"lch.h\");\n\t// let [L2, a2, b2] = sample.getAll(lab);\n\t// let C2 = sample.get(\"lch.c\");\n\n\t// Check for negative Chroma,\n\t// which might happen through\n\t// direct user input of LCH values\n\n\tif (C1 < 0) {\n\t\tC1 = 0;\n\t}\n\tif (C2 < 0) {\n\t\tC2 = 0;\n\t}\n\n\t// we don't need H2 as ΔH is calculated from Δa, Δb and ΔC\n\n\t// Lightness and Chroma differences\n\t// These are (color - sample), unlike deltaE2000\n\tlet ΔL = L1 - L2;\n\tlet ΔC = C1 - C2;\n\n\tlet Δa = a1 - a2;\n\tlet Δb = b1 - b2;\n\n\t// weighted Hue difference, less for larger Chroma difference\n\n\tlet H2 = (Δa ** 2) + (Δb ** 2) - (ΔC ** 2);\n\t// due to roundoff error it is possible that, for zero a and b,\n\t// ΔC > Δa + Δb is 0, resulting in attempting\n\t// to take the square root of a negative number\n\n\t// trying instead the equation from Industrial Color Physics\n\t// By Georg A. Klein\n\n\t// let ΔH = ((a1 * b2) - (a2 * b1)) / Math.sqrt(0.5 * ((C2 * C1) + (a2 * a1) + (b2 * b1)));\n\t// console.log({ΔH});\n\t// This gives the same result to 12 decimal places\n\t// except it sometimes NaNs when trying to root a negative number\n\n\t// let ΔH = Math.sqrt(H2); we never actually use the root, it gets squared again!!\n\n\t// positional corrections to the lack of uniformity of CIELAB\n\t// These are all trying to make JND ellipsoids more like spheres\n\n\t// SL Lightness crispening factor, depends entirely on L1 not L2\n\tlet SL = 0.511;\t// linear portion of the Y to L transfer function\n\tif (L1 >= 16) {\t// cubic portion\n\t\tSL = (0.040975 * L1) / (1 + 0.01765 * L1);\n\t}\n\n\t// SC Chroma factor\n\tlet SC = ((0.0638 * C1) / (1 + 0.0131 * C1)) + 0.638;\n\n\t// Cross term T for blue non-linearity\n\tlet T;\n\tif (Number.isNaN(H1)) {\n\t\tH1 = 0;\n\t}\n\n\tif (H1 >= 164 && H1 <= 345) {\n\t\tT = 0.56 + Math.abs(0.2 * Math.cos((H1 + 168) * d2r));\n\t}\n\telse {\n\t\tT = 0.36 + Math.abs(0.4 * Math.cos((H1 + 35) * d2r));\n\t}\n\t// console.log({T});\n\n\t// SH Hue factor also depends on C1,\n\tlet C4 = Math.pow(C1, 4);\n\tlet F = Math.sqrt(C4 / (C4 + 1900));\n\tlet SH = SC * ((F * T) + 1 - F);\n\n\t// Finally calculate the deltaE, term by term as root sume of squares\n\tlet dE = (ΔL / (l * SL)) ** 2;\n\tdE += (ΔC / (c * SC)) ** 2;\n\tdE += (H2 / (SH ** 2));\n\t// dE += (ΔH / SH) ** 2;\n\treturn Math.sqrt(dE);\n\t// Yay!!!\n}\n", "import ColorSpace from \"../space.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\nconst Yw = 203;\t// absolute luminance of media white\n\nexport default new ColorSpace({\n// Absolute CIE XYZ, with a D65 whitepoint,\n// as used in most HDR colorspaces as a starting point.\n// SDR spaces are converted per BT.2048\n// so that diffuse, media white is 203 cd/m²\n\tid: \"xyz-abs-d65\",\n\tcssId: \"--xyz-abs-d65\",\n\tname: \"Absolute XYZ D65\",\n\tcoords: {\n\t\tx: {\n\t\t\trefRange: [0, 9504.7],\n\t\t\tname: \"Xa\",\n\t\t},\n\t\ty: {\n\t\t\trefRange: [0, 10000],\n\t\t\tname: \"Ya\",\n\t\t},\n\t\tz: {\n\t\t\trefRange: [0, 10888.3],\n\t\t\tname: \"Za\",\n\t\t},\n\t},\n\n\tbase: XYZ_D65,\n\tfromBase (XYZ) {\n\t\t// Make XYZ absolute, not relative to media white\n\t\t// Maximum luminance in PQ is 10,000 cd/m²\n\t\t// Relative XYZ has Y=1 for media white\n\t\treturn XYZ.map (v => Math.max(v * Yw, 0));\n\t},\n\ttoBase (AbsXYZ) {\n\t\t// Convert to media-white relative XYZ\n\t\treturn AbsXYZ.map(v => Math.max(v / Yw, 0));\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_Abs_D65 from \"./xyz-abs-d65.js\";\n\nconst b = 1.15;\nconst g = 0.66;\nconst n = 2610 / (2 ** 14);\nconst ninv = (2 ** 14) / 2610;\nconst c1 = 3424 / (2 ** 12);\nconst c2 = 2413 / (2 ** 7);\nconst c3 = 2392 / (2 ** 7);\nconst p = 1.7 * 2523 / (2 ** 5);\nconst pinv = (2 ** 5) / (1.7 * 2523);\nconst d = -0.56;\nconst d0 = 1.6295499532821566E-11;\n\nconst XYZtoCone_M = [\n\t[ 0.41478972, 0.579999, 0.0146480 ],\n\t[ -0.2015100, 1.120649, 0.0531008 ],\n\t[ -0.0166008, 0.264800, 0.6684799 ],\n];\n// XYZtoCone_M inverted\nconst ConetoXYZ_M = [\n\t[ 1.9242264357876067, -1.0047923125953657, 0.037651404030618 ],\n\t[ 0.35031676209499907, 0.7264811939316552, -0.06538442294808501 ],\n\t[ -0.09098281098284752, -0.3127282905230739, 1.5227665613052603 ],\n];\nconst ConetoIab_M = [\n\t[ 0.5, 0.5, 0 ],\n\t[ 3.524000, -4.066708, 0.542708 ],\n\t[ 0.199076, 1.096799, -1.295875 ],\n];\n// ConetoIab_M inverted\nconst IabtoCone_M = [\n\t[ 1, 0.1386050432715393, 0.05804731615611886 ],\n\t[ 0.9999999999999999, -0.1386050432715393, -0.05804731615611886 ],\n\t[ 0.9999999999999998, -0.09601924202631895, -0.8118918960560388 ],\n];\n\nexport default new ColorSpace({\n\tid: \"jzazbz\",\n\tname: \"Jzazbz\",\n\tcoords: {\n\t\tjz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Jz\",\n\t\t},\n\t\taz: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t},\n\t\tbz: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t},\n\t},\n\n\tbase: XYZ_Abs_D65,\n\tfromBase (XYZ) {\n\t\t// First make XYZ absolute, not relative to media white\n\t\t// Maximum luminance in PQ is 10,000 cd/m²\n\t\t// Relative XYZ has Y=1 for media white\n\t\t// BT.2048 says media white Y=203 at PQ 58\n\n\t\tlet [ Xa, Ya, Za ] = XYZ;\n\n\t\t// modify X and Y\n\t\tlet Xm = (b * Xa) - ((b - 1) * Za);\n\t\tlet Ym = (g * Ya) - ((g - 1) * Xa);\n\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoCone_M, [ Xm, Ym, Za ]);\n\n\t\t// PQ-encode LMS\n\t\tlet PQLMS = LMS.map (function (val) {\n\t\t\tlet num = c1 + (c2 * ((val / 10000) ** n));\n\t\t\tlet denom = 1 + (c3 * ((val / 10000) ** n));\n\n\t\t\treturn (num / denom) ** p;\n\t\t});\n\n\t\t// almost there, calculate Iz az bz\n\t\tlet [ Iz, az, bz] = multiplyMatrices(ConetoIab_M, PQLMS);\n\t\t// console.log({Iz, az, bz});\n\n\t\tlet Jz = ((1 + d) * Iz) / (1 + (d * Iz)) - d0;\n\t\treturn [Jz, az, bz];\n\t},\n\ttoBase (Jzazbz) {\n\t\tlet [Jz, az, bz] = Jzazbz;\n\t\tlet Iz = (Jz + d0) / (1 + d - d * (Jz + d0));\n\n\t\t// bring into LMS cone domain\n\t\tlet PQLMS = multiplyMatrices(IabtoCone_M, [ Iz, az, bz ]);\n\n\t\t// convert from PQ-coded to linear-light\n\t\tlet LMS = PQLMS.map(function (val) {\n\t\t\tlet num = (c1 - (val ** pinv));\n\t\t\tlet denom = (c3 * (val ** pinv)) - c2;\n\t\t\tlet x = 10000 * ((num / denom) ** ninv);\n\n\t\t\treturn (x); \t// luminance relative to diffuse white, [0, 70 or so].\n\t\t});\n\n\t\t// modified abs XYZ\n\t\tlet [ Xm, Ym, Za ] = multiplyMatrices(ConetoXYZ_M, LMS);\n\n\t\t// restore standard D50 relative XYZ, relative to media white\n\t\tlet Xa = (Xm + ((b - 1) * Za)) / b;\n\t\tlet Ya = (Ym + ((g - 1) * Xa)) / g;\n\t\treturn [ Xa, Ya, Za ];\n\t},\n\n\tformats: {\n\t\t// https://drafts.csswg.org/css-color-hdr/#Jzazbz\n\t\t\"color\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport Jzazbz from \"./jzazbz.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"jzczhz\",\n\tname: \"JzCzHz\",\n\tcoords: {\n\t\tjz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Jz\",\n\t\t},\n\t\tcz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\thz: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Jzazbz,\n\tfromBase (jzazbz) {\n\t\t// Convert to polar form\n\t\tlet [Jz, az, bz] = jzazbz;\n\t\tlet hue;\n\t\tconst ε = 0.0002; // chromatic components much smaller than a,b\n\n\t\tif (Math.abs(az) < ε && Math.abs(bz) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(bz, az) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tJz, // Jz is still Jz\n\t\t\tMath.sqrt(az ** 2 + bz ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (jzczhz) {\n\t\t// Convert from polar form\n\t\t// debugger;\n\t\treturn [\n\t\t\tjzczhz[0], // Jz is still Jz\n\t\t\tjzczhz[1] * Math.cos(jzczhz[2] * Math.PI / 180), // az\n\t\t\tjzczhz[1] * Math.sin(jzczhz[2] * Math.PI / 180), // bz\n\t\t];\n\t},\n});\n", "import jzczhz from \"../spaces/jzczhz.js\";\nimport getColor from \"../getColor.js\";\n\n// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in Lab\n\n// Uses JzCzHz, which has improved perceptual uniformity\n// and thus a simple Euclidean root-sum of ΔL² ΔC² ΔH²\n// gives good results.\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE in JzCzHz.\n\tlet [Jz1, Cz1, Hz1] = jzczhz.from(color);\n\tlet [Jz2, Cz2, Hz2] = jzczhz.from(sample);\n\n\t// Lightness and Chroma differences\n\t// sign does not matter as they are squared.\n\tlet ΔJ = Jz1 - Jz2;\n\tlet ΔC = Cz1 - Cz2;\n\n\t// length of chord for ΔH\n\tif ((Number.isNaN(Hz1)) && (Number.isNaN(Hz2))) {\n\t\t// both undefined hues\n\t\tHz1 = 0;\n\t\tHz2 = 0;\n\t}\n\telse if (Number.isNaN(Hz1)) {\n\t\t// one undefined, set to the defined hue\n\t\tHz1 = Hz2;\n\t}\n\telse if (Number.isNaN(Hz2)) {\n\t\tHz2 = Hz1;\n\t}\n\n\tlet Δh = Hz1 - Hz2;\n\tlet ΔH = 2 * Math.sqrt(Cz1 * Cz2) * Math.sin((Δh / 2) * (Math.PI / 180));\n\n\treturn Math.sqrt(ΔJ ** 2 + ΔC ** 2 + ΔH ** 2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_Abs_D65 from \"./xyz-abs-d65.js\";\n\nconst c1 = 3424 / 4096;\nconst c2 = 2413 / 128;\nconst c3 = 2392 / 128;\nconst m1 = 2610 / 16384;\nconst m2 = 2523 / 32;\nconst im1 = 16384 / 2610;\nconst im2 = 32 / 2523;\n\n// The matrix below includes the 4% crosstalk components\n// and is from the Dolby \"What is ICtCp\" paper\"\nconst XYZtoLMS_M = [\n\t[ 0.3592832590121217, 0.6976051147779502, -0.0358915932320290 ],\n\t[ -0.1920808463704993, 1.1004767970374321, 0.0753748658519118 ],\n\t[ 0.0070797844607479, 0.0748396662186362, 0.8433265453898765 ],\n];\n// linear-light Rec.2020 to LMS, again with crosstalk\n// rational terms from Jan Fröhlich,\n// Encoding High Dynamic Range andWide Color Gamut Imagery, p.97\n// and ITU-R BT.2124-0 p.2\n/*\nconst Rec2020toLMS_M = [\n\t[ 1688 / 4096, 2146 / 4096, 262 / 4096 ],\n\t[ 683 / 4096, 2951 / 4096, 462 / 4096 ],\n\t[ 99 / 4096, 309 / 4096, 3688 / 4096 ]\n];\n*/\n// this includes the Ebner LMS coefficients,\n// the rotation, and the scaling to [-0.5,0.5] range\n// rational terms from Fröhlich p.97\n// and ITU-R BT.2124-0 pp.2-3\nconst LMStoIPT_M = [\n\t[ 2048 / 4096, 2048 / 4096, 0 ],\n\t[ 6610 / 4096, -13613 / 4096, 7003 / 4096 ],\n\t[ 17933 / 4096, -17390 / 4096, -543 / 4096 ],\n];\n\n// inverted matrices, calculated from the above\nconst IPTtoLMS_M = [\n\t[ 0.9999999999999998, 0.0086090370379328, 0.1110296250030260 ],\n\t[ 0.9999999999999998, -0.0086090370379328, -0.1110296250030259 ],\n\t[ 0.9999999999999998, 0.5600313357106791, -0.3206271749873188 ],\n];\n/*\nconst LMStoRec2020_M = [\n\t[ 3.4375568932814012112, -2.5072112125095058195, 0.069654319228104608382],\n\t[-0.79142868665644156125, 1.9838372198740089874, -0.19240853321756742626 ],\n\t[-0.025646662911506476363, -0.099240248643945566751, 1.1248869115554520431 ]\n];\n*/\nconst LMStoXYZ_M = [\n\t[ 2.0701522183894223, -1.3263473389671563, 0.2066510476294053 ],\n\t[ 0.3647385209748072, 0.6805660249472273, -0.0453045459220347 ],\n\t[ -0.0497472075358123, -0.0492609666966131, 1.1880659249923042 ],\n];\n\n// Only the PQ form of ICtCp is implemented here. There is also an HLG form.\n// from Dolby, \"WHAT IS ICTCP?\"\n// https://professional.dolby.com/siteassets/pdfs/ictcp_dolbywhitepaper_v071.pdf\n// and\n// Dolby, \"Perceptual Color Volume\n// Measuring the Distinguishable Colors of HDR and WCG Displays\"\n// https://professional.dolby.com/siteassets/pdfs/dolby-vision-measuring-perceptual-color-volume-v7.1.pdf\nexport default new ColorSpace({\n\tid: \"ictcp\",\n\tname: \"ICTCP\",\n\t// From BT.2100-2 page 7:\n\t// During production, signal values are expected to exceed the\n\t// range E′ = [0.0 : 1.0]. This provides processing headroom and avoids\n\t// signal degradation during cascaded processing. Such values of E′,\n\t// below 0.0 or exceeding 1.0, should not be clipped during production\n\t// and exchange.\n\t// Values below 0.0 should not be clipped in reference displays (even\n\t// though they represent “negative” light) to allow the black level of\n\t// the signal (LB) to be properly set using test signals known as “PLUGE”\n\tcoords: {\n\t\ti: {\n\t\t\trefRange: [0, 1],\t// Constant luminance,\n\t\t\tname: \"I\",\n\t\t},\n\t\tct: {\n\t\t\trefRange: [-0.5, 0.5],\t// Full BT.2020 gamut in range [-0.5, 0.5]\n\t\t\tname: \"CT\",\n\t\t},\n\t\tcp: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t\tname: \"CP\",\n\t\t},\n\t},\n\n\tbase: XYZ_Abs_D65,\n\tfromBase (XYZ) {\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoLMS_M, XYZ);\n\n\t\treturn LMStoICtCp(LMS);\n\t},\n\ttoBase (ICtCp) {\n\t\tlet LMS = ICtCptoLMS(ICtCp);\n\n\t\treturn multiplyMatrices(LMStoXYZ_M, LMS);\n\t},\n});\n\nfunction LMStoICtCp (LMS) {\n\t// apply the PQ EOTF\n\t// we can't ever be dividing by zero because of the \"1 +\" in the denominator\n\tlet PQLMS = LMS.map (function (val) {\n\t\tlet num = c1 + (c2 * ((val / 10000) ** m1));\n\t\tlet denom = 1 + (c3 * ((val / 10000) ** m1));\n\n\t\treturn (num / denom) ** m2;\n\t});\n\n\t// LMS to IPT, with rotation for Y'C'bC'r compatibility\n\treturn multiplyMatrices(LMStoIPT_M, PQLMS);\n}\n\nfunction ICtCptoLMS (ICtCp) {\n\tlet PQLMS = multiplyMatrices(IPTtoLMS_M, ICtCp);\n\n\t// From BT.2124-0 Annex 2 Conversion 3\n\tlet LMS = PQLMS.map (function (val) {\n\t\tlet num = Math.max((val ** im2) - c1, 0);\n\t\tlet denom = (c2 - (c3 * (val ** im2)));\n\t\treturn 10000 * ((num / denom) ** im1);\n\t});\n\n\treturn LMS;\n}\n", "import ictcp from \"../spaces/ictcp.js\";\nimport getColor from \"../getColor.js\";\n\n// Delta E in ICtCp space,\n// which the ITU calls Delta E ITP, which is shorter\n// formulae from ITU Rec. ITU-R BT.2124-0\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE in ICtCp\n\t// which is simply the Euclidean distance\n\n\tlet [ I1, T1, P1 ] = ictcp.from(color);\n\tlet [ I2, T2, P2 ] = ictcp.from(sample);\n\n\t// the 0.25 factor is to undo the encoding scaling in Ct\n\t// the 720 is so that 1 deltaE = 1 JND\n\t// per ITU-R BT.2124-0 p.3\n\n\treturn 720 * Math.sqrt((I1 - I2) ** 2 + (0.25 * (T1 - T2) ** 2) + (P1 - P2) ** 2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices, interpolate, copySign, spow, zdiv, bisectLeft} from \"../util.js\";\nimport {constrain} from \"../angles.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {WHITES} from \"../adapt.js\";\n\nconst white = WHITES.D65;\nconst adaptedCoef = 0.42;\nconst adaptedCoefInv = 1 / adaptedCoef;\nconst tau = 2 * Math.PI;\n\nconst cat16 = [\n\t[ 0.401288, 0.650173, -0.051461 ],\n\t[ -0.250268, 1.204414, 0.045854 ],\n\t[ -0.002079, 0.048952, 0.953127 ],\n];\n\nconst cat16Inv = [\n\t[1.8620678550872327, -1.0112546305316843, 0.14918677544445175],\n\t[0.38752654323613717, 0.6214474419314753, -0.008973985167612518],\n\t[-0.015841498849333856, -0.03412293802851557, 1.0499644368778496],\n];\n\nconst m1 = [\n\t[460.0, 451.0, 288.0],\n\t[460.0, -891.0, -261.0],\n\t[460.0, -220.0, -6300.0],\n];\n\nconst surroundMap = {\n\tdark: [0.8, 0.525, 0.8],\n\tdim: [0.9, 0.59, 0.9],\n\taverage: [1, 0.69, 1],\n};\n\nconst hueQuadMap = {\n\t// Red, Yellow, Green, Blue, Red\n\th: [20.14, 90.00, 164.25, 237.53, 380.14],\n\te: [0.8, 0.7, 1.0, 1.2, 0.8],\n\tH: [0.0, 100.0, 200.0, 300.0, 400.0],\n};\n\nconst rad2deg = 180 / Math.PI;\nconst deg2rad = Math.PI / 180;\n\nexport function adapt (coords, fl) {\n\tconst temp = coords.map(c => {\n\t\tconst x = spow(fl * Math.abs(c) * 0.01, adaptedCoef);\n\t\treturn 400 * copySign(x, c) / (x + 27.13);\n\t});\n\treturn temp;\n}\n\nexport function unadapt (adapted, fl) {\n\tconst constant = 100 / fl * (27.13 ** adaptedCoefInv);\n\treturn adapted.map(c => {\n\t\tconst cabs = Math.abs(c);\n\t\treturn copySign(constant * spow(cabs / (400 - cabs), adaptedCoefInv), c);\n\t});\n}\n\nexport function hueQuadrature (h) {\n\tlet hp = constrain(h);\n\tif (hp <= hueQuadMap.h[0]) {\n\t\thp += 360;\n\t}\n\n\tconst i = bisectLeft(hueQuadMap.h, hp) - 1;\n\tconst [hi, hii] = hueQuadMap.h.slice(i, i + 2);\n\tconst [ei, eii] = hueQuadMap.e.slice(i, i + 2);\n\tconst Hi = hueQuadMap.H[i];\n\n\tconst t = (hp - hi) / ei;\n\treturn Hi + (100 * t) / (t + (hii - hp) / eii);\n}\n\nexport function invHueQuadrature (H) {\n\tlet Hp = ((H % 400 + 400) % 400);\n\tconst i = Math.floor(0.01 * Hp);\n\tHp = Hp % 100;\n\tconst [hi, hii] = hueQuadMap.h.slice(i, i + 2);\n\tconst [ei, eii] = hueQuadMap.e.slice(i, i + 2);\n\n\treturn constrain(\n\t\t(Hp * (eii * hi - ei * hii) - 100 * hi * eii) /\n\t\t(Hp * (eii - ei) - 100 * eii),\n\t);\n}\n\nexport function environment (\n\trefWhite,\n\tadaptingLuminance,\n\tbackgroundLuminance,\n\tsurround,\n\tdiscounting,\n) {\n\n\tconst env = {};\n\n\tenv.discounting = discounting;\n\tenv.refWhite = refWhite;\n\tenv.surround = surround;\n\tconst xyzW = refWhite.map(c => {\n\t\treturn c * 100;\n\t});\n\n\t// The average luminance of the environment in `cd/m^2cd/m` (a.k.a. nits)\n\tenv.la = adaptingLuminance;\n\t// The relative luminance of the nearby background\n\tenv.yb = backgroundLuminance;\n\t// Absolute luminance of the reference white.\n\tconst yw = xyzW[1];\n\n\t// Cone response for reference white\n\tconst rgbW = multiplyMatrices(cat16, xyzW);\n\n\t// Surround: dark, dim, and average\n\tsurround = surroundMap[env.surround];\n\tconst f = surround[0];\n\tenv.c = surround[1];\n\tenv.nc = surround[2];\n\n\tconst k = 1 / (5 * env.la + 1);\n\tconst k4 = k ** 4;\n\n\t// Factor of luminance level adaptation\n\tenv.fl = (k4 * env.la + 0.1 * (1 - k4) * (1 - k4) * Math.cbrt(5 * env.la));\n\tenv.flRoot = env.fl ** 0.25;\n\n\tenv.n = env.yb / yw;\n\tenv.z = 1.48 + Math.sqrt(env.n);\n\tenv.nbb = 0.725 * (env.n ** -0.2);\n\tenv.ncb = env.nbb;\n\n\t// Degree of adaptation calculating if not discounting\n\t// illuminant (assumed eye is fully adapted)\n\tconst d = (discounting) ?\n\t\t1 :\n\t\tMath.max(\n\t\t\tMath.min(f * (1 - 1 / 3.6 * Math.exp((-env.la - 42) / 92)), 1),\n\t\t\t0,\n\t\t);\n\tenv.dRgb = rgbW.map(c => {\n\t\treturn interpolate(1, yw / c, d);\n\t});\n\tenv.dRgbInv = env.dRgb.map(c => {\n\t\treturn 1 / c;\n\t});\n\n\t// Achromatic response\n\tconst rgbCW = rgbW.map((c, i) => {\n\t\treturn c * env.dRgb[i];\n\t});\n\tconst rgbAW = adapt(rgbCW, env.fl);\n\tenv.aW = env.nbb * (2 * rgbAW[0] + rgbAW[1] + 0.05 * rgbAW[2]);\n\n\t// console.log(env);\n\n\treturn env;\n}\n\n// Pre-calculate everything we can with the viewing conditions\nconst viewingConditions = environment(\n\twhite,\n\t64 / Math.PI * 0.2, 20,\n\t\"average\",\n\tfalse,\n);\n\nexport function fromCam16 (cam16, env) {\n\n\t// These check ensure one, and only one attribute for a\n\t// given category is provided.\n\tif (!((cam16.J !== undefined) ^ (cam16.Q !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'J' or 'Q'\");\n\t}\n\n\tif (!((cam16.C !== undefined) ^ (cam16.M !== undefined) ^ (cam16.s !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'C', 'M' or 's'\");\n\t}\n\n\t// Hue is absolutely required\n\tif (!((cam16.h !== undefined) ^ (cam16.H !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'h' or 'H'\");\n\t}\n\n\t// Black\n\tif (cam16.J === 0.0 || cam16.Q === 0.0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\n\t// Break hue into Cartesian components\n\tlet hRad = 0.0;\n\tif (cam16.h !== undefined) {\n\t\thRad = constrain(cam16.h) * deg2rad;\n\t}\n\telse {\n\t\thRad = invHueQuadrature(cam16.H) * deg2rad;\n\t}\n\n\tconst cosh = Math.cos(hRad);\n\tconst sinh = Math.sin(hRad);\n\n\t// Calculate `Jroot` from one of the lightness derived coordinates.\n\tlet Jroot = 0.0;\n\tif (cam16.J !== undefined) {\n\t\tJroot = spow(cam16.J, 1 / 2) * 0.1;\n\t}\n\telse if (cam16.Q !== undefined) {\n\t\tJroot = 0.25 * env.c * cam16.Q / ((env.aW + 4) * env.flRoot);\n\t}\n\n\t// Calculate the `t` value from one of the chroma derived coordinates\n\tlet alpha = 0.0;\n\tif (cam16.C !== undefined) {\n\t\talpha = cam16.C / Jroot;\n\t}\n\telse if (cam16.M !== undefined) {\n\t\talpha = (cam16.M / env.flRoot) / Jroot;\n\t}\n\telse if (cam16.s !== undefined) {\n\t\talpha = 0.0004 * (cam16.s ** 2) * (env.aW + 4) / env.c;\n\t}\n\tconst t = spow(\n\t\talpha * Math.pow(1.64 - Math.pow(0.29, env.n), -0.73),\n\t\t10 / 9,\n\t);\n\n\t// Eccentricity\n\tconst et = 0.25 * (Math.cos(hRad + 2) + 3.8);\n\n\t// Achromatic response\n\tconst A = env.aW * spow(Jroot, 2 / env.c / env.z);\n\n\t// Calculate red-green and yellow-blue components\n\tconst p1 = 5e4 / 13 * env.nc * env.ncb * et;\n\tconst p2 = A / env.nbb;\n\tconst r = (\n\t\t23 * (p2 + 0.305) *\n\t\tzdiv(t, 23 * p1 + t * (11 * cosh + 108 * sinh))\n\t);\n\tconst a = r * cosh;\n\tconst b = r * sinh;\n\n\t// Calculate back from cone response to XYZ\n\tconst rgb_c = unadapt(\n\t\tmultiplyMatrices(m1, [p2, a, b]).map(c => {\n\t\t\treturn c * 1 / 1403;\n\t\t}),\n\t\tenv.fl,\n\t);\n\treturn multiplyMatrices(\n\t\tcat16Inv,\n\t\trgb_c.map((c, i) => {\n\t\t\treturn c * env.dRgbInv[i];\n\t\t}),\n\t).map(c => {\n\t\treturn c / 100;\n\t});\n}\n\n\nexport function toCam16 (xyzd65, env) {\n\t// Cone response\n\tconst xyz100 = xyzd65.map(c => {\n\t\treturn c * 100;\n\t});\n\tconst rgbA = adapt(\n\t\tmultiplyMatrices(cat16, xyz100).map((c, i) => {\n\t\t\treturn c * env.dRgb[i];\n\t\t}),\n\t\tenv.fl,\n\t);\n\n\t// Calculate hue from red-green and yellow-blue components\n\tconst a = rgbA[0] + (-12 * rgbA[1] + rgbA[2]) / 11;\n\tconst b = (rgbA[0] + rgbA[1] - 2 * rgbA[2]) / 9;\n\tconst hRad = ((Math.atan2(b, a) % tau) + tau) % tau;\n\n\t// Eccentricity\n\tconst et = 0.25 * (Math.cos(hRad + 2) + 3.8);\n\n\tconst t = (\n\t\t5e4 / 13 * env.nc * env.ncb *\n\t\tzdiv(\n\t\t\tet * Math.sqrt(a ** 2 + b ** 2),\n\t\t\trgbA[0] + rgbA[1] + 1.05 * rgbA[2] + 0.305,\n\t\t)\n\t);\n\tconst alpha = spow(t, 0.9) * Math.pow(1.64 - Math.pow(0.29, env.n), 0.73);\n\n\t// Achromatic response\n\tconst A = env.nbb * (2 * rgbA[0] + rgbA[1] + 0.05 * rgbA[2]);\n\n\tconst Jroot = spow(A / env.aW, 0.5 * env.c * env.z);\n\n\t// Lightness\n\tconst J = 100 * spow(Jroot, 2);\n\n\t// Brightness\n\tconst Q = (4 / env.c * Jroot * (env.aW + 4) * env.flRoot);\n\n\t// Chroma\n\tconst C = alpha * Jroot;\n\n\t// Colorfulness\n\tconst M = C * env.flRoot;\n\n\t// Hue\n\tconst h = constrain(hRad * rad2deg);\n\n\t// Hue quadrature\n\tconst H = hueQuadrature(h);\n\n\t// Saturation\n\tconst s = 50 * spow(env.c * alpha / (env.aW + 4), 1 / 2);\n\n\t// console.log({J: J, C: C, h: h, s: s, Q: Q, M: M, H: H});\n\n\treturn {J: J, C: C, h: h, s: s, Q: Q, M: M, H: H};\n}\n\n\n// Provided as a way to directly evaluate the CAM16 model\n// https://observablehq.com/@jrus/cam16: reference implementation\n// https://arxiv.org/pdf/1802.06067.pdf: Nico Schlömer\n// https://onlinelibrary.wiley.com/doi/pdf/10.1002/col.22324: hue quadrature\n// https://www.researchgate.net/publication/318152296_Comprehensive_color_solutions_CAM16_CAT16_and_CAM16-UCS\n// Results compared against: https://github.com/colour-science/colour\nexport default new ColorSpace({\n\tid: \"cam16-jmh\",\n\tcssId: \"--cam16-jmh\",\n\tname: \"CAM16-JMh\",\n\tcoords: {\n\t\tj: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"J\",\n\t\t},\n\t\tm: {\n\t\t\trefRange: [0, 105.0],\n\t\t\tname: \"Colorfulness\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: xyz_d65,\n\n\tfromBase (xyz) {\n\t\tconst cam16 = toCam16(xyz, viewingConditions);\n\t\treturn [cam16.J, cam16.M, cam16.h];\n\t},\n\ttoBase (cam16) {\n\t\treturn fromCam16(\n\t\t\t{J: cam16[0], M: cam16[1], h: cam16[2]},\n\t\t\tviewingConditions,\n\t\t);\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {constrain} from \"../angles.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {fromCam16, toCam16, environment} from \"./cam16.js\";\nimport {WHITES} from \"../adapt.js\";\n\nconst white = WHITES.D65;\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nfunction toLstar (y) {\n\t// Convert XYZ Y to L*\n\n\tconst fy = (y > ε) ? Math.cbrt(y) : (κ * y + 16) / 116;\n\treturn (116.0 * fy) - 16.0;\n}\n\nfunction fromLstar (lstar) {\n\t// Convert L* back to XYZ Y\n\n\treturn (lstar > 8) ? Math.pow((lstar + 16) / 116, 3) : lstar / κ;\n}\n\nfunction fromHct (coords, env) {\n\t// Use Newton's method to try and converge as quick as possible or\n\t// converge as close as we can. While the requested precision is achieved\n\t// most of the time, it may not always be achievable. Especially past the\n\t// visible spectrum, the algorithm will likely struggle to get the same\n\t// precision. If, for whatever reason, we cannot achieve the accuracy we\n\t// seek in the allotted iterations, just return the closest we were able to\n\t// get.\n\n\tlet [h, c, t] = coords;\n\tlet xyz = [];\n\tlet j = 0;\n\n\t// Shortcut out for black\n\tif (t === 0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\n\t// Calculate the Y we need to target\n\tlet y = fromLstar(t);\n\n\t// A better initial guess yields better results. Polynomials come from\n\t// curve fitting the T vs J response.\n\tif (t > 0) {\n\t\tj = 0.00379058511492914 * t ** 2 + 0.608983189401032 * t + 0.9155088574762233;\n\t}\n\telse {\n\t\tj = 9.514440756550361e-06 * t ** 2 + 0.08693057439788597 * t - 21.928975842194614;\n\t}\n\n\t// Threshold of how close is close enough, and max number of attempts.\n\t// More precision and more attempts means more time spent iterating. Higher\n\t// required precision gives more accuracy but also increases the chance of\n\t// not hitting the goal. 2e-12 allows us to convert round trip with\n\t// reasonable accuracy of six decimal places or more.\n\tconst threshold = 2e-12;\n\tconst max_attempts = 15;\n\n\tlet attempt = 0;\n\tlet last = Infinity;\n\tlet best = j;\n\n\t// Try to find a J such that the returned y matches the returned y of the L*\n\twhile (attempt <= max_attempts) {\n\t\txyz = fromCam16({J: j, C: c, h: h}, env);\n\n\t\t// If we are within range, return XYZ\n\t\t// If we are closer than last time, save the values\n\t\tconst delta = Math.abs(xyz[1] - y);\n\t\tif (delta < last) {\n\t\t\tif (delta <= threshold) {\n\t\t\t\treturn xyz;\n\t\t\t}\n\t\t\tbest = j;\n\t\t\tlast = delta;\n\t\t}\n\n\t\t// f(j_root) = (j ** (1 / 2)) * 0.1\n\t\t// f(j) = ((f(j_root) * 100) ** 2) / j - 1 = 0\n\t\t// f(j_root) = Y = y / 100\n\t\t// f(j) = (y ** 2) / j - 1\n\t\t// f'(j) = (2 * y) / j\n\t\tj = j - (xyz[1] - y) * j / (2 * xyz[1]);\n\n\t\tattempt += 1;\n\t}\n\n\t// We could not acquire the precision we desired,\n\t// return our closest attempt.\n\treturn fromCam16({J: j, C: c, h: h}, env);\n}\n\nfunction toHct (xyz, env) {\n\t// Calculate HCT by taking the L* of CIE LCh D65 and CAM16 chroma and hue.\n\n\tconst t = toLstar(xyz[1]);\n\tif (t === 0.0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\tconst cam16 = toCam16(xyz, viewingConditions);\n\treturn [constrain(cam16.h), cam16.C, t];\n}\n\n// Pre-calculate everything we can with the viewing conditions\nexport const viewingConditions = environment(\n\twhite, 200 / Math.PI * fromLstar(50.0),\n\tfromLstar(50.0) * 100,\n\t\"average\",\n\tfalse,\n);\n\n// https://material.io/blog/science-of-color-design\n// This is not a port of the material-color-utilities,\n// but instead implements the full color space as described,\n// combining CAM16 JCh and Lab D65. This does not clamp conversion\n// to HCT to specific chroma bands and provides support for wider\n// gamuts than Google currently supports and does so at a greater\n// precision (> 8 bits back to sRGB).\n// This implementation comes from https://github.com/facelessuser/coloraide\n// which is licensed under MIT.\nexport default new ColorSpace({\n\tid: \"hct\",\n\tname: \"HCT\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 145],\n\t\t\tname: \"Colorfulness\",\n\t\t},\n\t\tt: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Tone\",\n\t\t},\n\t},\n\n\tbase: xyz_d65,\n\n\tfromBase (xyz) {\n\t\treturn toHct(xyz, viewingConditions);\n\t},\n\ttoBase (hct) {\n\t\treturn fromHct(hct, viewingConditions);\n\t},\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hct\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import hct from \"../spaces/hct.js\";\nimport {viewingConditions} from \"../spaces/hct.js\";\nimport getColor from \"../getColor.js\";\n\nconst rad2deg = 180 / Math.PI;\nconst deg2rad = Math.PI / 180;\nconst ucsCoeff = [1.00, 0.007, 0.0228];\n\n/**\n* Convert HCT chroma and hue (CAM16 JMh colorfulness and hue) using UCS logic for a and b.\n* @param {number[]} coords - HCT coordinates.\n* @return {number[]}\n*/\nfunction convertUcsAb (coords) {\n\t// We want the distance between the actual color.\n\t// If chroma is negative, it will throw off our calculations.\n\t// Normally, converting back to the base and forward will correct it.\n\t// If we have a negative chroma after this, then we have a color that\n\t// cannot resolve to positive chroma.\n\tif (coords[1] < 0) {\n\t\tcoords = hct.fromBase(hct.toBase(coords));\n\t}\n\n\t// Only in extreme cases (usually outside the visible spectrum)\n\t// can the input value for log become negative.\n\t// Avoid domain error by forcing a zero result via \"max\" if necessary.\n\tconst M = Math.log(Math.max(1 + ucsCoeff[2] * coords[1] * viewingConditions.flRoot, 1.0)) / ucsCoeff[2];\n\tconst hrad = coords[0] * deg2rad;\n\tconst a = M * Math.cos(hrad);\n\tconst b = M * Math.sin(hrad);\n\n\treturn [coords[2], a, b];\n}\n\n\n/**\n* Color distance using HCT.\n* @param {Color} color - Color to compare.\n* @param {Color} sample - Color to compare.\n* @return {number[]}\n*/\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\tlet [ t1, a1, b1 ] = convertUcsAb(hct.from(color));\n\tlet [ t2, a2, b2 ] = convertUcsAb(hct.from(sample));\n\n\t// Use simple euclidean distance with a and b using UCS conversion\n\t// and LCh lightness (HCT tone).\n\treturn Math.sqrt((t1 - t2) ** 2 + (a1 - a2) ** 2 + (b1 - b2) ** 2);\n}\n", "import deltaE76 from \"./deltaE76.js\";\nimport deltaECMC from \"./deltaECMC.js\";\nimport deltaE2000 from \"./deltaE2000.js\";\nimport deltaEJz from \"./deltaEJz.js\";\nimport deltaEITP from \"./deltaEITP.js\";\nimport deltaEOK from \"./deltaEOK.js\";\nimport deltaEHCT from \"./deltaEHCT.js\";\n\nexport {\n\tdeltaE76,\n\tdeltaECMC,\n\tdeltaE2000,\n\tdeltaEJz,\n\tdeltaEITP,\n\tdeltaEOK,\n\tdeltaEHCT,\n};\n\nexport default {\n\tdeltaE76,\n\tdeltaECMC,\n\tdeltaE2000,\n\tdeltaEJz,\n\tdeltaEITP,\n\tdeltaEOK,\n\tdeltaEHCT,\n};\n", "import * as util from \"./util.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\nimport deltaE2000 from \"./deltaE/deltaE2000.js\";\nimport deltaEOK from \"./deltaE/deltaEOK.js\";\nimport inGamut from \"./inGamut.js\";\nimport to from \"./to.js\";\nimport get from \"./get.js\";\nimport oklab from \"./spaces/oklab.js\";\nimport set from \"./set.js\";\nimport clone from \"./clone.js\";\nimport getColor from \"./getColor.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\nimport {WHITES} from \"./adapt.js\";\n\n/**\n * Calculate the epsilon to 2 degrees smaller than the specified JND.\n * @param {Number} jnd - The target \"just noticeable difference\".\n * @returns {Number}\n */\nfunction calcEpsilon (jnd) {\n\t// Calculate the epsilon to 2 degrees smaller than the specified JND.\n\n\tconst order = (!jnd) ? 0 : Math.floor(Math.log10(Math.abs(jnd)));\n\t// Limit to an arbitrary value to ensure value is never too small and causes infinite loops.\n\treturn Math.max(parseFloat(`1e${order - 2}`), 1e-6);\n}\n\nconst GMAPPRESET = {\n\t\"hct\": {\n\t\tmethod: \"hct.c\",\n\t\tjnd: 2,\n\t\tdeltaEMethod: \"hct\",\n\t\tblackWhiteClamp: {},\n\t},\n\t\"hct-tonal\": {\n\t\tmethod: \"hct.c\",\n\t\tjnd: 0,\n\t\tdeltaEMethod: \"hct\",\n\t\tblackWhiteClamp: { channel: \"hct.t\", min: 0, max: 100 },\n\t},\n};\n\n/**\n * Force coordinates to be in gamut of a certain color space.\n * Mutates the color it is passed.\n * @param {Object|string} options object or spaceId string\n * @param {string} options.method - How to force into gamut.\n * If \"clip\", coordinates are just clipped to their reference range.\n * If \"css\", coordinates are reduced according to the CSS 4 Gamut Mapping Algorithm.\n * If in the form [colorSpaceId].[coordName], that coordinate is reduced\n * until the color is in gamut. Please note that this may produce nonsensical\n * results for certain coordinates (e.g. hue) or infinite loops if reducing the coordinate never brings the color in gamut.\n * @param {ColorSpace|string} options.space - The space whose gamut we want to map to\n * @param {string} options.deltaEMethod - The delta E method to use while performing gamut mapping.\n * If no method is specified, delta E 2000 is used.\n * @param {Number} options.jnd - The \"just noticeable difference\" to target.\n * @param {Object} options.blackWhiteClamp - Used to configure SDR black and clamping.\n * \"channel\" indicates the \"space.channel\" to use for determining when to clamp.\n * \"min\" indicates the lower limit for black clamping and \"max\" indicates the upper\n * limit for white clamping.\n */\n\nexport default function toGamut (\n\tcolor,\n\t{\n\t\tmethod = defaults.gamut_mapping,\n\t\tspace = undefined,\n\t\tdeltaEMethod = \"\",\n\t\tjnd = 2,\n\t\tblackWhiteClamp = {},\n\t} = {},\n) {\n\tcolor = getColor(color);\n\n\tif (util.isString(arguments[1])) {\n\t\tspace = arguments[1];\n\t}\n\telse if (!space) {\n\t\tspace = color.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\n\t// 3 spaces:\n\t// color.space: current color space\n\t// space: space whose gamut we are mapping to\n\t// mapSpace: space with the coord we're reducing\n\n\tif (inGamut(color, space, { epsilon: 0 })) {\n\t\treturn color;\n\t}\n\n\tlet spaceColor;\n\tif (method === \"css\") {\n\t\tspaceColor = toGamutCSS(color, { space });\n\t}\n\telse {\n\t\tif (method !== \"clip\" && !inGamut(color, space)) {\n\n\t\t\tif (Object.prototype.hasOwnProperty.call(GMAPPRESET, method)) {\n\t\t\t\t({method, jnd, deltaEMethod, blackWhiteClamp} = GMAPPRESET[method]);\n\t\t\t}\n\n\t\t\t// Get the correct delta E method\n\t\t\tlet de = deltaE2000;\n\t\t\tif (deltaEMethod !== \"\") {\n\t\t\t\tfor (let m in deltaEMethods) {\n\t\t\t\t\tif (\"deltae\" + deltaEMethod.toLowerCase() === m.toLowerCase()) {\n\t\t\t\t\t\tde = deltaEMethods[m];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet clipped = toGamut(to(color, space), { method: \"clip\", space });\n\t\t\tif (de(color, clipped) > jnd) {\n\n\t\t\t\t// Clamp to SDR white and black if required\n\t\t\t\tif (Object.keys(blackWhiteClamp).length === 3) {\n\t\t\t\t\tlet channelMeta = ColorSpace.resolveCoord(blackWhiteClamp.channel);\n\t\t\t\t\tlet channel = get(to(color, channelMeta.space), channelMeta.id);\n\t\t\t\t\tif (util.isNone(channel)) {\n\t\t\t\t\t\tchannel = 0;\n\t\t\t\t\t}\n\t\t\t\t\tif (channel >= blackWhiteClamp.max) {\n\t\t\t\t\t\treturn to({ space: \"xyz-d65\", coords: WHITES[\"D65\"] }, color.space);\n\t\t\t\t\t}\n\t\t\t\t\telse if (channel <= blackWhiteClamp.min) {\n\t\t\t\t\t\treturn to({ space: \"xyz-d65\", coords: [0, 0, 0] }, color.space);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Reduce a coordinate of a certain color space until the color is in gamut\n\t\t\t\tlet coordMeta = ColorSpace.resolveCoord(method);\n\t\t\t\tlet mapSpace = coordMeta.space;\n\t\t\t\tlet coordId = coordMeta.id;\n\n\t\t\t\tlet mappedColor = to(color, mapSpace);\n\t\t\t\t// If we were already in the mapped color space, we need to resolve undefined channels\n\t\t\t\tmappedColor.coords.forEach((c, i) => {\n\t\t\t\t\tif (util.isNone(c)) {\n\t\t\t\t\t\tmappedColor.coords[i] = 0;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tlet bounds = coordMeta.range || coordMeta.refRange;\n\t\t\t\tlet min = bounds[0];\n\t\t\t\tlet ε = calcEpsilon(jnd);\n\t\t\t\tlet low = min;\n\t\t\t\tlet high = get(mappedColor, coordId);\n\n\t\t\t\twhile (high - low > ε) {\n\t\t\t\t\tlet clipped = clone(mappedColor);\n\t\t\t\t\tclipped = toGamut(clipped, { space, method: \"clip\" });\n\t\t\t\t\tlet deltaE = de(mappedColor, clipped);\n\n\t\t\t\t\tif (deltaE - jnd < ε) {\n\t\t\t\t\t\tlow = get(mappedColor, coordId);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\thigh = get(mappedColor, coordId);\n\t\t\t\t\t}\n\n\t\t\t\t\tset(mappedColor, coordId, (low + high) / 2);\n\t\t\t\t}\n\n\t\t\t\tspaceColor = to(mappedColor, space);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tspaceColor = clipped;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tspaceColor = to(color, space);\n\t\t}\n\n\t\tif (method === \"clip\" // Dumb coord clipping\n\t\t\t// finish off smarter gamut mapping with clip to get rid of ε, see #17\n\t\t\t|| !inGamut(spaceColor, space, { epsilon: 0 })\n\t\t) {\n\t\t\tlet bounds = Object.values(space.coords).map(c => c.range || []);\n\n\t\t\tspaceColor.coords = spaceColor.coords.map((c, i) => {\n\t\t\t\tlet [min, max] = bounds[i];\n\n\t\t\t\tif (min !== undefined) {\n\t\t\t\t\tc = Math.max(min, c);\n\t\t\t\t}\n\n\t\t\t\tif (max !== undefined) {\n\t\t\t\t\tc = Math.min(c, max);\n\t\t\t\t}\n\n\t\t\t\treturn c;\n\t\t\t});\n\t\t}\n\t}\n\n\tif (space !== color.space) {\n\t\tspaceColor = to(spaceColor, color.space);\n\t}\n\n\tcolor.coords = spaceColor.coords;\n\treturn color;\n}\n\ntoGamut.returns = \"color\";\n\n// The reference colors to be used if lightness is out of the range 0-1 in the\n// `Oklch` space. These are created in the `Oklab` space, as it is used by the\n// DeltaEOK calculation, so it is guaranteed to be imported.\nconst COLORS = {\n\tWHITE: { space: oklab, coords: [1, 0, 0] },\n\tBLACK: { space: oklab, coords: [0, 0, 0] },\n};\n\n/**\n * Given a color `origin`, returns a new color that is in gamut using\n * the CSS Gamut Mapping Algorithm. If `space` is specified, it will be in gamut\n * in `space`, and returned in `space`. Otherwise, it will be in gamut and\n * returned in the color space of `origin`.\n * @param {Object} origin\n * @param {Object} options\n * @param {ColorSpace|string} options.space\n * @returns {Color}\n */\nexport function toGamutCSS (origin, {space} = {}) {\n\tconst JND = 0.02;\n\tconst ε = 0.0001;\n\n\torigin = getColor(origin);\n\n\tif (!space) {\n\t\tspace = origin.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\tconst oklchSpace = ColorSpace.get(\"oklch\");\n\n\tif (space.isUnbounded) {\n\t\treturn to(origin, space);\n\t}\n\n\tconst origin_OKLCH = to(origin, oklchSpace);\n\tlet L = origin_OKLCH.coords[0];\n\n\t// return media white or black, if lightness is out of range\n\tif (L >= 1) {\n\t\tconst white = to(COLORS.WHITE, space);\n\t\twhite.alpha = origin.alpha;\n\t\treturn to(white, space);\n\t}\n\tif (L <= 0) {\n\t\tconst black = to(COLORS.BLACK, space);\n\t\tblack.alpha = origin.alpha;\n\t\treturn to(black, space);\n\t}\n\n\tif (inGamut(origin_OKLCH, space, {epsilon: 0})) {\n\t\treturn to(origin_OKLCH, space);\n\t}\n\n\tfunction clip (_color) {\n\t\tconst destColor = to(_color, space);\n\t\tconst spaceCoords = Object.values(space.coords);\n\t\tdestColor.coords = destColor.coords.map((coord, index) => {\n\t\t\tif (\"range\" in spaceCoords[index]) {\n\t\t\t\tconst [min, max] = spaceCoords[index].range;\n\t\t\t\treturn util.clamp(min, coord, max);\n\t\t\t}\n\t\t\treturn coord;\n\t\t});\n\t\treturn destColor;\n\t}\n\tlet min = 0;\n\tlet max = origin_OKLCH.coords[1];\n\tlet min_inGamut = true;\n\tlet current = clone(origin_OKLCH);\n\tlet clipped = clip(current);\n\n\tlet E = deltaEOK(clipped, current);\n\tif (E < JND) {\n\t\treturn clipped;\n\t}\n\n\twhile ((max - min) > ε) {\n\t\tconst chroma = (min + max) / 2;\n\t\tcurrent.coords[1] = chroma;\n\t\tif (min_inGamut && inGamut(current, space, {epsilon: 0})) {\n\t\t\tmin = chroma;\n\t\t}\n\t\telse {\n\t\t\tclipped = clip(current);\n\t\t\tE = deltaEOK(clipped, current);\n\t\t\tif (E < JND) {\n\t\t\t\tif ((JND - E < ε)) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tmin_inGamut = false;\n\t\t\t\t\tmin = chroma;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tmax = chroma;\n\t\t\t}\n\t\t}\n\t}\n\treturn clipped;\n}\n", "import getColor from \"./getColor.js\";\nimport ColorSpace from \"./space.js\";\nimport toGamut from \"./toGamut.js\";\n\n/**\n * Convert to color space and return a new color\n * @param {Object|string} space - Color space object or id\n * @param {Object} options\n * @param {boolean} options.inGamut - Whether to force resulting color in gamut\n * @returns {Color}\n */\nexport default function to (color, space, {inGamut} = {}) {\n\tcolor = getColor(color);\n\tspace = ColorSpace.get(space);\n\n\tlet coords = space.from(color);\n\tlet ret = {space, coords, alpha: color.alpha};\n\n\tif (inGamut) {\n\t\tret = toGamut(ret, inGamut === true ? undefined : inGamut);\n\t}\n\n\treturn ret;\n}\n\nto.returns = \"color\";\n", "import * as util from \"./util.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\nimport getColor from \"./getColor.js\";\nimport checkInGamut from \"./inGamut.js\";\nimport toGamut from \"./toGamut.js\";\nimport clone from \"./clone.js\";\n\n/**\n * Generic toString() method, outputs a color(spaceId ...coords) function, a functional syntax, or custom formats defined by the color space\n * @param {Object} options\n * @param {number} options.precision - Significant digits\n * @param {boolean} options.inGamut - Adjust coordinates to fit in gamut first? [default: false]\n */\nexport default function serialize (color, {\n\tprecision = defaults.precision,\n\tformat = \"default\",\n\tinGamut = true,\n\t...customOptions\n} = {}) {\n\tlet ret;\n\n\tcolor = getColor(color);\n\n\tlet formatId = format;\n\tformat = color.space.getFormat(format)\n\t ?? color.space.getFormat(\"default\")\n\t ?? ColorSpace.DEFAULT_FORMAT;\n\n\t// The assignment to coords and inGamut needs to stay in the order they are now\n\t// The order of the assignment was changed as a workaround for a bug in Next.js\n\t// See this issue for details: https://github.com/color-js/color.js/issues/260\n\n\tlet coords = color.coords.slice(); // clone so we can manipulate it\n\n\tinGamut ||= format.toGamut;\n\n\tif (inGamut && !checkInGamut(color)) {\n\t\t// FIXME what happens if the color contains NaNs?\n\t\tcoords = toGamut(clone(color), inGamut === true ? undefined : inGamut).coords;\n\t}\n\n\tif (format.type === \"custom\") {\n\t\tcustomOptions.precision = precision;\n\n\t\tif (format.serialize) {\n\t\t\tret = format.serialize(coords, color.alpha, customOptions);\n\t\t}\n\t\telse {\n\t\t\tthrow new TypeError(`format ${formatId} can only be used to parse colors, not for serialization`);\n\t\t}\n\t}\n\telse {\n\t\t// Functional syntax\n\t\tlet name = format.name || \"color\";\n\n\t\tif (format.serializeCoords) {\n\t\t\tcoords = format.serializeCoords(coords, precision);\n\t\t}\n\t\telse {\n\t\t\tif (precision !== null) {\n\t\t\t\tcoords = coords.map(c => {\n\t\t\t\t\treturn util.serializeNumber(c, {precision});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tlet args = [...coords];\n\n\t\tif (name === \"color\") {\n\t\t\t// If output is a color() function, add colorspace id as first argument\n\t\t\tlet cssId = format.id || format.ids?.[0] || color.space.id;\n\t\t\targs.unshift(cssId);\n\t\t}\n\n\t\tlet alpha = color.alpha;\n\t\tif (precision !== null) {\n\t\t\talpha = util.serializeNumber(alpha, {precision});\n\t\t}\n\n\t\tlet strAlpha = color.alpha >= 1 || format.noAlpha ? \"\" : `${format.commas ? \",\" : \" /\"} ${alpha}`;\n\t\tret = `${name}(${args.join(format.commas ? \", \" : \" \")}${strAlpha})`;\n\t}\n\n\treturn ret;\n}\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// convert an array of linear-light rec2020 values to CIE XYZ\n// using D65 (no chromatic adaptation)\n// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n// 0 is actually calculated as 4.994106574466076e-17\nconst toXYZ_M = [\n\t[ 0.6369580483012914, 0.14461690358620832, 0.1688809751641721 ],\n\t[ 0.2627002120112671, 0.6779980715188708, 0.05930171646986196 ],\n\t[ 0.000000000000000, 0.028072693049087428, 1.060985057710791 ],\n];\n\n// from ITU-R BT.2124-0 Annex 2 p.3\nconst fromXYZ_M = [\n\t[ 1.716651187971268, -0.355670783776392, -0.253366281373660 ],\n\t[ -0.666684351832489, 1.616481236634939, 0.0157685458139111 ],\n\t[ 0.017639857445311, -0.042770613257809, 0.942103121235474 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"rec2020-linear\",\n\tcssId: \"--rec2020-linear\",\n\tname: \"Linear REC.2020\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n// import sRGB from \"./srgb.js\";\n\nconst α = 1.09929682680944;\nconst β = 0.018053968510807;\n\nexport default new RGBColorSpace({\n\tid: \"rec2020\",\n\tname: \"REC.2020\",\n\tbase: REC2020Linear,\n\t// Non-linear transfer function from Rec. ITU-R BT.2020-2 table 4\n\ttoBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val < β * 4.5) {\n\t\t\t\treturn val / 4.5;\n\t\t\t}\n\n\t\t\treturn Math.pow((val + α - 1) / α, 1 / 0.45);\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val >= β) {\n\t\t\t\treturn α * Math.pow(val, 0.45) - (α - 1);\n\t\t\t}\n\n\t\t\treturn 4.5 * val;\n\t\t});\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\nconst toXYZ_M = [\n\t[0.4865709486482162, 0.26566769316909306, 0.1982172852343625],\n\t[0.2289745640697488, 0.6917385218365064, 0.079286914093745],\n\t[0.0000000000000000, 0.04511338185890264, 1.043944368900976],\n];\n\nconst fromXYZ_M = [\n\t[ 2.493496911941425, -0.9313836179191239, -0.40271078445071684],\n\t[-0.8294889695615747, 1.7626640603183463, 0.023624685841943577],\n\t[ 0.03584583024378447, -0.07617238926804182, 0.9568845240076872],\n];\n\nexport default new RGBColorSpace({\n\tid: \"p3-linear\",\n\tcssId: \"--display-p3-linear\",\n\tname: \"Linear P3\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// This is the linear-light version of sRGB\n// as used for example in SVG filters\n// or in Canvas\n\n// This matrix was calculated directly from the RGB and white chromaticities\n// when rounded to 8 decimal places, it agrees completely with the official matrix\n// see https://github.com/w3c/csswg-drafts/issues/5922\nconst toXYZ_M = [\n\t[ 0.41239079926595934, 0.357584339383878, 0.1804807884018343 ],\n\t[ 0.21263900587151027, 0.715168678767756, 0.07219231536073371 ],\n\t[ 0.01933081871559182, 0.11919477979462598, 0.9505321522496607 ],\n];\n\n// This matrix is the inverse of the above;\n// again it agrees with the official definition when rounded to 8 decimal places\nexport const fromXYZ_M = [\n\t[ 3.2409699419045226, -1.537383177570094, -0.4986107602930034 ],\n\t[ -0.9692436362808796, 1.8759675015077202, 0.04155505740717559 ],\n\t[ 0.05563007969699366, -0.20397695888897652, 1.0569715142428786 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"srgb-linear\",\n\tname: \"Linear sRGB\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "/* List of CSS color keywords\n * Note that this does not include currentColor, transparent,\n * or system colors\n */\n\n// To produce: Visit https://www.w3.org/TR/css-color-4/#named-colors\n// and run in the console:\n// copy($$(\"tr\", $(\".named-color-table tbody\")).map(tr => `\"${tr.cells[2].textContent.trim()}\": [${tr.cells[4].textContent.trim().split(/\\s+/).map(c => c === \"0\"? \"0\" : c === \"255\"? \"1\" : c + \" / 255\").join(\", \")}]`).join(\",\\n\"))\nexport default {\n\t\"aliceblue\": [240 / 255, 248 / 255, 1],\n\t\"antiquewhite\": [250 / 255, 235 / 255, 215 / 255],\n\t\"aqua\": [0, 1, 1],\n\t\"aquamarine\": [127 / 255, 1, 212 / 255],\n\t\"azure\": [240 / 255, 1, 1],\n\t\"beige\": [245 / 255, 245 / 255, 220 / 255],\n\t\"bisque\": [1, 228 / 255, 196 / 255],\n\t\"black\": [0, 0, 0],\n\t\"blanchedalmond\": [1, 235 / 255, 205 / 255],\n\t\"blue\": [0, 0, 1],\n\t\"blueviolet\": [138 / 255, 43 / 255, 226 / 255],\n\t\"brown\": [165 / 255, 42 / 255, 42 / 255],\n\t\"burlywood\": [222 / 255, 184 / 255, 135 / 255],\n\t\"cadetblue\": [95 / 255, 158 / 255, 160 / 255],\n\t\"chartreuse\": [127 / 255, 1, 0],\n\t\"chocolate\": [210 / 255, 105 / 255, 30 / 255],\n\t\"coral\": [1, 127 / 255, 80 / 255],\n\t\"cornflowerblue\": [100 / 255, 149 / 255, 237 / 255],\n\t\"cornsilk\": [1, 248 / 255, 220 / 255],\n\t\"crimson\": [220 / 255, 20 / 255, 60 / 255],\n\t\"cyan\": [0, 1, 1],\n\t\"darkblue\": [0, 0, 139 / 255],\n\t\"darkcyan\": [0, 139 / 255, 139 / 255],\n\t\"darkgoldenrod\": [184 / 255, 134 / 255, 11 / 255],\n\t\"darkgray\": [169 / 255, 169 / 255, 169 / 255],\n\t\"darkgreen\": [0, 100 / 255, 0],\n\t\"darkgrey\": [169 / 255, 169 / 255, 169 / 255],\n\t\"darkkhaki\": [189 / 255, 183 / 255, 107 / 255],\n\t\"darkmagenta\": [139 / 255, 0, 139 / 255],\n\t\"darkolivegreen\": [85 / 255, 107 / 255, 47 / 255],\n\t\"darkorange\": [1, 140 / 255, 0],\n\t\"darkorchid\": [153 / 255, 50 / 255, 204 / 255],\n\t\"darkred\": [139 / 255, 0, 0],\n\t\"darksalmon\": [233 / 255, 150 / 255, 122 / 255],\n\t\"darkseagreen\": [143 / 255, 188 / 255, 143 / 255],\n\t\"darkslateblue\": [72 / 255, 61 / 255, 139 / 255],\n\t\"darkslategray\": [47 / 255, 79 / 255, 79 / 255],\n\t\"darkslategrey\": [47 / 255, 79 / 255, 79 / 255],\n\t\"darkturquoise\": [0, 206 / 255, 209 / 255],\n\t\"darkviolet\": [148 / 255, 0, 211 / 255],\n\t\"deeppink\": [1, 20 / 255, 147 / 255],\n\t\"deepskyblue\": [0, 191 / 255, 1],\n\t\"dimgray\": [105 / 255, 105 / 255, 105 / 255],\n\t\"dimgrey\": [105 / 255, 105 / 255, 105 / 255],\n\t\"dodgerblue\": [30 / 255, 144 / 255, 1],\n\t\"firebrick\": [178 / 255, 34 / 255, 34 / 255],\n\t\"floralwhite\": [1, 250 / 255, 240 / 255],\n\t\"forestgreen\": [34 / 255, 139 / 255, 34 / 255],\n\t\"fuchsia\": [1, 0, 1],\n\t\"gainsboro\": [220 / 255, 220 / 255, 220 / 255],\n\t\"ghostwhite\": [248 / 255, 248 / 255, 1],\n\t\"gold\": [1, 215 / 255, 0],\n\t\"goldenrod\": [218 / 255, 165 / 255, 32 / 255],\n\t\"gray\": [128 / 255, 128 / 255, 128 / 255],\n\t\"green\": [0, 128 / 255, 0],\n\t\"greenyellow\": [173 / 255, 1, 47 / 255],\n\t\"grey\": [128 / 255, 128 / 255, 128 / 255],\n\t\"honeydew\": [240 / 255, 1, 240 / 255],\n\t\"hotpink\": [1, 105 / 255, 180 / 255],\n\t\"indianred\": [205 / 255, 92 / 255, 92 / 255],\n\t\"indigo\": [75 / 255, 0, 130 / 255],\n\t\"ivory\": [1, 1, 240 / 255],\n\t\"khaki\": [240 / 255, 230 / 255, 140 / 255],\n\t\"lavender\": [230 / 255, 230 / 255, 250 / 255],\n\t\"lavenderblush\": [1, 240 / 255, 245 / 255],\n\t\"lawngreen\": [124 / 255, 252 / 255, 0],\n\t\"lemonchiffon\": [1, 250 / 255, 205 / 255],\n\t\"lightblue\": [173 / 255, 216 / 255, 230 / 255],\n\t\"lightcoral\": [240 / 255, 128 / 255, 128 / 255],\n\t\"lightcyan\": [224 / 255, 1, 1],\n\t\"lightgoldenrodyellow\": [250 / 255, 250 / 255, 210 / 255],\n\t\"lightgray\": [211 / 255, 211 / 255, 211 / 255],\n\t\"lightgreen\": [144 / 255, 238 / 255, 144 / 255],\n\t\"lightgrey\": [211 / 255, 211 / 255, 211 / 255],\n\t\"lightpink\": [1, 182 / 255, 193 / 255],\n\t\"lightsalmon\": [1, 160 / 255, 122 / 255],\n\t\"lightseagreen\": [32 / 255, 178 / 255, 170 / 255],\n\t\"lightskyblue\": [135 / 255, 206 / 255, 250 / 255],\n\t\"lightslategray\": [119 / 255, 136 / 255, 153 / 255],\n\t\"lightslategrey\": [119 / 255, 136 / 255, 153 / 255],\n\t\"lightsteelblue\": [176 / 255, 196 / 255, 222 / 255],\n\t\"lightyellow\": [1, 1, 224 / 255],\n\t\"lime\": [0, 1, 0],\n\t\"limegreen\": [50 / 255, 205 / 255, 50 / 255],\n\t\"linen\": [250 / 255, 240 / 255, 230 / 255],\n\t\"magenta\": [1, 0, 1],\n\t\"maroon\": [128 / 255, 0, 0],\n\t\"mediumaquamarine\": [102 / 255, 205 / 255, 170 / 255],\n\t\"mediumblue\": [0, 0, 205 / 255],\n\t\"mediumorchid\": [186 / 255, 85 / 255, 211 / 255],\n\t\"mediumpurple\": [147 / 255, 112 / 255, 219 / 255],\n\t\"mediumseagreen\": [60 / 255, 179 / 255, 113 / 255],\n\t\"mediumslateblue\": [123 / 255, 104 / 255, 238 / 255],\n\t\"mediumspringgreen\": [0, 250 / 255, 154 / 255],\n\t\"mediumturquoise\": [72 / 255, 209 / 255, 204 / 255],\n\t\"mediumvioletred\": [199 / 255, 21 / 255, 133 / 255],\n\t\"midnightblue\": [25 / 255, 25 / 255, 112 / 255],\n\t\"mintcream\": [245 / 255, 1, 250 / 255],\n\t\"mistyrose\": [1, 228 / 255, 225 / 255],\n\t\"moccasin\": [1, 228 / 255, 181 / 255],\n\t\"navajowhite\": [1, 222 / 255, 173 / 255],\n\t\"navy\": [0, 0, 128 / 255],\n\t\"oldlace\": [253 / 255, 245 / 255, 230 / 255],\n\t\"olive\": [128 / 255, 128 / 255, 0],\n\t\"olivedrab\": [107 / 255, 142 / 255, 35 / 255],\n\t\"orange\": [1, 165 / 255, 0],\n\t\"orangered\": [1, 69 / 255, 0],\n\t\"orchid\": [218 / 255, 112 / 255, 214 / 255],\n\t\"palegoldenrod\": [238 / 255, 232 / 255, 170 / 255],\n\t\"palegreen\": [152 / 255, 251 / 255, 152 / 255],\n\t\"paleturquoise\": [175 / 255, 238 / 255, 238 / 255],\n\t\"palevioletred\": [219 / 255, 112 / 255, 147 / 255],\n\t\"papayawhip\": [1, 239 / 255, 213 / 255],\n\t\"peachpuff\": [1, 218 / 255, 185 / 255],\n\t\"peru\": [205 / 255, 133 / 255, 63 / 255],\n\t\"pink\": [1, 192 / 255, 203 / 255],\n\t\"plum\": [221 / 255, 160 / 255, 221 / 255],\n\t\"powderblue\": [176 / 255, 224 / 255, 230 / 255],\n\t\"purple\": [128 / 255, 0, 128 / 255],\n\t\"rebeccapurple\": [102 / 255, 51 / 255, 153 / 255],\n\t\"red\": [1, 0, 0],\n\t\"rosybrown\": [188 / 255, 143 / 255, 143 / 255],\n\t\"royalblue\": [65 / 255, 105 / 255, 225 / 255],\n\t\"saddlebrown\": [139 / 255, 69 / 255, 19 / 255],\n\t\"salmon\": [250 / 255, 128 / 255, 114 / 255],\n\t\"sandybrown\": [244 / 255, 164 / 255, 96 / 255],\n\t\"seagreen\": [46 / 255, 139 / 255, 87 / 255],\n\t\"seashell\": [1, 245 / 255, 238 / 255],\n\t\"sienna\": [160 / 255, 82 / 255, 45 / 255],\n\t\"silver\": [192 / 255, 192 / 255, 192 / 255],\n\t\"skyblue\": [135 / 255, 206 / 255, 235 / 255],\n\t\"slateblue\": [106 / 255, 90 / 255, 205 / 255],\n\t\"slategray\": [112 / 255, 128 / 255, 144 / 255],\n\t\"slategrey\": [112 / 255, 128 / 255, 144 / 255],\n\t\"snow\": [1, 250 / 255, 250 / 255],\n\t\"springgreen\": [0, 1, 127 / 255],\n\t\"steelblue\": [70 / 255, 130 / 255, 180 / 255],\n\t\"tan\": [210 / 255, 180 / 255, 140 / 255],\n\t\"teal\": [0, 128 / 255, 128 / 255],\n\t\"thistle\": [216 / 255, 191 / 255, 216 / 255],\n\t\"tomato\": [1, 99 / 255, 71 / 255],\n\t\"turquoise\": [64 / 255, 224 / 255, 208 / 255],\n\t\"violet\": [238 / 255, 130 / 255, 238 / 255],\n\t\"wheat\": [245 / 255, 222 / 255, 179 / 255],\n\t\"white\": [1, 1, 1],\n\t\"whitesmoke\": [245 / 255, 245 / 255, 245 / 255],\n\t\"yellow\": [1, 1, 0],\n\t\"yellowgreen\": [154 / 255, 205 / 255, 50 / 255],\n};\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport sRGBLinear from \"./srgb-linear.js\";\nimport KEYWORDS from \"../keywords.js\";\n\nlet coordGrammar = Array(3).fill(\"<percentage> | <number>[0, 255]\");\nlet coordGrammarNumber = Array(3).fill(\"<number>[0, 255]\");\n\nexport default new RGBColorSpace({\n\tid: \"srgb\",\n\tname: \"sRGB\",\n\tbase: sRGBLinear,\n\tfromBase: rgb => {\n\t\t// convert an array of linear-light sRGB values in the range 0.0-1.0\n\t\t// to gamma corrected form\n\t\t// https://en.wikipedia.org/wiki/SRGB\n\t\treturn rgb.map(val => {\n\t\t\tlet sign = val < 0 ? -1 : 1;\n\t\t\tlet abs = val * sign;\n\n\t\t\tif (abs > 0.0031308) {\n\t\t\t\treturn sign * (1.055 * (abs ** (1 / 2.4)) - 0.055);\n\t\t\t}\n\n\t\t\treturn 12.92 * val;\n\t\t});\n\t},\n\ttoBase: rgb => {\n\t\t// convert an array of sRGB values in the range 0.0 - 1.0\n\t\t// to linear light (un-companded) form.\n\t\t// https://en.wikipedia.org/wiki/SRGB\n\t\treturn rgb.map(val => {\n\t\t\tlet sign = val < 0 ? -1 : 1;\n\t\t\tlet abs = val * sign;\n\n\t\t\tif (abs <= 0.04045) {\n\t\t\t\treturn val / 12.92;\n\t\t\t}\n\n\t\t\treturn sign * (((abs + 0.055) / 1.055) ** 2.4);\n\t\t});\n\t},\n\tformats: {\n\t\t\"rgb\": {\n\t\t\tcoords: coordGrammar,\n\t\t},\n\t\t\"rgb_number\": {\n\t\t\tname: \"rgb\",\n\t\t\tcommas: true,\n\t\t\tcoords: coordGrammarNumber,\n\t\t\tnoAlpha: true,\n\t\t},\n\t\t\"color\": { /* use defaults */ },\n\t\t\"rgba\": {\n\t\t\tcoords: coordGrammar,\n\t\t\tcommas: true,\n\t\t\tlastAlpha: true,\n\t\t},\n\t\t\"rgba_number\": {\n\t\t\tname: \"rgba\",\n\t\t\tcommas: true,\n\t\t\tcoords: coordGrammarNumber,\n\t\t},\n\t\t\"hex\": {\n\t\t\ttype: \"custom\",\n\t\t\ttoGamut: true,\n\t\t\ttest: str => /^#([a-f0-9]{3,4}){1,2}$/i.test(str),\n\t\t\tparse (str) {\n\t\t\t\tif (str.length <= 5) {\n\t\t\t\t\t// #rgb or #rgba, duplicate digits\n\t\t\t\t\tstr = str.replace(/[a-f0-9]/gi, \"$&$&\");\n\t\t\t\t}\n\n\t\t\t\tlet rgba = [];\n\t\t\t\tstr.replace(/[a-f0-9]{2}/gi, component => {\n\t\t\t\t\trgba.push(parseInt(component, 16) / 255);\n\t\t\t\t});\n\n\t\t\t\treturn {\n\t\t\t\t\tspaceId: \"srgb\",\n\t\t\t\t\tcoords: rgba.slice(0, 3),\n\t\t\t\t\talpha: rgba.slice(3)[0],\n\t\t\t\t};\n\t\t\t},\n\t\t\tserialize: (coords, alpha, {\n\t\t\t\tcollapse = true, // collapse to 3-4 digit hex when possible?\n\t\t\t} = {}) => {\n\t\t\t\tif (alpha < 1) {\n\t\t\t\t\tcoords.push(alpha);\n\t\t\t\t}\n\n\t\t\t\tcoords = coords.map(c => Math.round(c * 255));\n\n\t\t\t\tlet collapsible = collapse && coords.every(c => c % 17 === 0);\n\n\t\t\t\tlet hex = coords.map(c => {\n\t\t\t\t\tif (collapsible) {\n\t\t\t\t\t\treturn (c / 17).toString(16);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn c.toString(16).padStart(2, \"0\");\n\t\t\t\t}).join(\"\");\n\n\t\t\t\treturn \"#\" + hex;\n\t\t\t},\n\t\t},\n\t\t\"keyword\": {\n\t\t\ttype: \"custom\",\n\t\t\ttest: str => /^[a-z]+$/i.test(str),\n\t\t\tparse (str) {\n\t\t\t\tstr = str.toLowerCase();\n\t\t\t\tlet ret = {spaceId: \"srgb\", coords: null, alpha: 1};\n\n\t\t\t\tif (str === \"transparent\") {\n\t\t\t\t\tret.coords = KEYWORDS.black;\n\t\t\t\t\tret.alpha = 0;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tret.coords = KEYWORDS[str];\n\t\t\t\t}\n\n\t\t\t\tif (ret.coords) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport P3Linear from \"./p3-linear.js\";\nimport sRGB from \"./srgb.js\";\n\nexport default new RGBColorSpace({\n\tid: \"p3\",\n\tcssId: \"display-p3\",\n\tname: \"P3\",\n\tbase: P3Linear,\n\t// Gamma encoding/decoding is the same as sRGB\n\tfromBase: sRGB.fromBase,\n\ttoBase: sRGB.toBase,\n});\n", "import { isNone, skipNone } from \"./util.js\";\nimport defaults from \"./defaults.js\";\nimport to from \"./to.js\";\nimport serialize from \"./serialize.js\";\nimport clone from \"./clone.js\";\nimport REC2020 from \"./spaces/rec2020.js\";\nimport P3 from \"./spaces/p3.js\";\nimport Lab from \"./spaces/lab.js\";\nimport sRGB from \"./spaces/srgb.js\";\n\n// Default space for CSS output. Code in Color.js makes this wider if there's a DOM available\ndefaults.display_space = sRGB;\n\nlet supportsNone;\n\nif (typeof CSS !== \"undefined\" && CSS.supports) {\n\t// Find widest supported color space for CSS\n\tfor (let space of [Lab, REC2020, P3]) {\n\t\tlet coords = space.getMinCoords();\n\t\tlet color = {space, coords, alpha: 1};\n\t\tlet str = serialize(color);\n\n\t\tif (CSS.supports(\"color\", str)) {\n\t\t\tdefaults.display_space = space;\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\n/**\n * Returns a serialization of the color that can actually be displayed in the browser.\n * If the default serialization can be displayed, it is returned.\n * Otherwise, the color is converted to Lab, REC2020, or P3, whichever is the widest supported.\n * In Node.js, this is basically equivalent to `serialize()` but returns a `String` object instead.\n *\n * @export\n * @param {{space, coords} | Color | string} color\n * @param {*} [options={}] Options to be passed to serialize()\n * @param {ColorSpace | string} [options.space = defaults.display_space] Color space to use for serialization if default is not supported\n * @returns {String} String object containing the serialized color with a color property containing the converted color (or the original, if no conversion was necessary)\n */\nexport default function display (color, {space = defaults.display_space, ...options} = {}) {\n\tlet ret = serialize(color, options);\n\n\tif (typeof CSS === \"undefined\" || CSS.supports(\"color\", ret) || !defaults.display_space) {\n\t\tret = new String(ret);\n\t\tret.color = color;\n\t}\n\telse {\n\t\t// If we're here, what we were about to output is not supported\n\t\tlet fallbackColor = color;\n\n\t\t// First, check if the culprit is none values\n\t\tlet hasNone = color.coords.some(isNone) || isNone(color.alpha);\n\n\t\tif (hasNone) {\n\t\t\t// Does the browser support none values?\n\t\t\tif (!(supportsNone ??= CSS.supports(\"color\", \"hsl(none 50% 50%)\"))) {\n\t\t\t\t// Nope, try again without none\n\t\t\t\tfallbackColor = clone(color);\n\t\t\t\tfallbackColor.coords = fallbackColor.coords.map(skipNone);\n\t\t\t\tfallbackColor.alpha = skipNone(fallbackColor.alpha);\n\n\t\t\t\tret = serialize(fallbackColor, options);\n\n\t\t\t\tif (CSS.supports(\"color\", ret)) {\n\t\t\t\t\t// We're done, now it's supported\n\t\t\t\t\tret = new String(ret);\n\t\t\t\t\tret.color = fallbackColor;\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If we're here, the color function is not supported\n\t\t// Fall back to fallback space\n\t\tfallbackColor = to(fallbackColor, space);\n\t\tret = new String(serialize(fallbackColor, options));\n\t\tret.color = fallbackColor;\n\t}\n\n\treturn ret;\n}\n", "import getColor from \"./getColor.js\";\n\nexport default function equals (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\treturn color1.space === color2.space\n\t && color1.alpha === color2.alpha\n\t && color1.coords.every((c, i) => c === color2.coords[i]);\n}\n", "/**\n * Relative luminance\n */\nimport get from \"./get.js\";\nimport set from \"./set.js\";\nimport xyz_d65 from \"./spaces/xyz-d65.js\";\n\nexport function getLuminance (color) {\n\t// Assume getColor() is called on color in get()\n\treturn get(color, [xyz_d65, \"y\"]);\n}\n\nexport function setLuminance (color, value) {\n\t// Assume getColor() is called on color in set()\n\tset(color, [xyz_d65, \"y\"], value);\n}\n\nexport function register (Color) {\n\tObject.defineProperty(Color.prototype, \"luminance\", {\n\t\tget () {\n\t\t\treturn getLuminance(this);\n\t\t},\n\t\tset (value) {\n\t\t\tsetLuminance(this, value);\n\t\t},\n\t});\n}\n", "// WCAG 2.0 contrast https://www.w3.org/TR/WCAG20-TECHS/G18.html\n// Simple contrast, with fixed 5% viewing flare contribution\n// Symmetric, does not matter which is foreground and which is background\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\nexport default function contrastWCAG21 (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\treturn (Y1 + .05) / (Y2 + .05);\n}\n", "// APCA 0.0.98G\n// https://github.com/Myndex/apca-w3\n// see also https://github.com/w3c/silver/issues/643\n\nimport getColor from \"../getColor.js\";\nimport to from \"../to.js\";\n\n// exponents\nconst normBG = 0.56;\nconst normTXT = 0.57;\nconst revTXT = 0.62;\nconst revBG = 0.65;\n\n// clamps\nconst blkThrs = 0.022;\nconst blkClmp = 1.414;\nconst loClip = 0.1;\nconst deltaYmin = 0.0005;\n\n// scalers\n// see https://github.com/w3c/silver/issues/645\nconst scaleBoW = 1.14;\nconst loBoWoffset = 0.027;\nconst scaleWoB = 1.14;\nconst loWoBoffset = 0.027;\n\nfunction fclamp (Y) {\n\tif (Y >= blkThrs) {\n\t\treturn Y;\n\t}\n\treturn Y + (blkThrs - Y) ** blkClmp;\n}\n\nfunction linearize (val) {\n\tlet sign = val < 0 ? -1 : 1;\n\tlet abs = Math.abs(val);\n\treturn sign * Math.pow(abs, 2.4);\n}\n\n// Not symmetric, requires a foreground (text) color, and a background color\nexport default function contrastAPCA (background, foreground) {\n\tforeground = getColor(foreground);\n\tbackground = getColor(background);\n\n\tlet S;\n\tlet C;\n\tlet Sapc;\n\n\t// Myndex as-published, assumes sRGB inputs\n\tlet R, G, B;\n\n\tforeground = to(foreground, \"srgb\");\n\t// Should these be clamped to in-gamut values?\n\n\t// Calculates \"screen luminance\" with non-standard simple gamma EOTF\n\t// weights should be from CSS Color 4, not the ones here which are via Myndex and copied from Lindbloom\n\t[R, G, B] = foreground.coords;\n\tlet lumTxt = linearize(R) * 0.2126729 + linearize(G) * 0.7151522 + linearize(B) * 0.0721750;\n\n\tbackground = to(background, \"srgb\");\n\t[R, G, B] = background.coords;\n\tlet lumBg = linearize(R) * 0.2126729 + linearize(G) * 0.7151522 + linearize(B) * 0.0721750;\n\n\t// toe clamping of very dark values to account for flare\n\tlet Ytxt = fclamp(lumTxt);\n\tlet Ybg = fclamp(lumBg);\n\n\t// are we \"Black on White\" (dark on light), or light on dark?\n\tlet BoW = Ybg > Ytxt;\n\n\t// why is this a delta, when Y is not perceptually uniform?\n\t// Answer: it is a noise gate, see\n\t// https://github.com/LeaVerou/color.js/issues/208\n\tif (Math.abs(Ybg - Ytxt) < deltaYmin) {\n\t\tC = 0;\n\t}\n\telse {\n\t\tif (BoW) {\n\t\t\t// dark text on light background\n\t\t\tS = Ybg ** normBG - Ytxt ** normTXT;\n\t\t\tC = S * scaleBoW;\n\t\t}\n\t\telse {\n\t\t\t// light text on dark background\n\t\t\tS = Ybg ** revBG - Ytxt ** revTXT;\n\t\t\tC = S * scaleWoB;\n\t\t}\n\t}\n\tif (Math.abs(C) < loClip) {\n\t\tSapc = 0;\n\t}\n\telse if (C > 0) {\n\t\t// not clear whether Woffset is loBoWoffset or loWoBoffset\n\t\t// but they have the same value\n\t\tSapc = C - loBoWoffset;\n\t}\n\telse {\n\t\tSapc = C + loBoWoffset;\n\t}\n\n\treturn Sapc * 100;\n}\n", "// Michelson luminance contrast\n// the relation between the spread and the sum of the two luminances\n// Symmetric, does not matter which is foreground and which is background\n// No black level compensation for flare.\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\nexport default function contrastMichelson (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\tlet denom = (Y1 + Y2);\n\treturn denom === 0 ? 0 : (Y1 - Y2) / denom;\n}\n", "// Weber luminance contrast\n// The difference between the two luminances divided by the lower luminance\n// Symmetric, does not matter which is foreground and which is background\n// No black level compensation for flare.\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\n// the darkest sRGB color above black is #000001 and this produces\n// a plain Weber contrast of ~45647.\n// So, setting the divide-by-zero result at 50000 is a reasonable\n// max clamp for the plain Weber\nconst max = 50000;\n\nexport default function contrastWeber (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\treturn Y2 === 0 ? max : (Y1 - Y2) / Y2;\n}\n", "// CIE Lightness difference, as used by Google Material Design\n// Google HCT Tone is the same as CIE Lightness\n// https://material.io/blog/science-of-color-design\n\nimport getColor from \"../getColor.js\";\nimport get from \"../get.js\";\nimport lab from \"../spaces/lab.js\";\n\nexport default function contrastLstar (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet L1 = get(color1, [lab, \"l\"]);\n\tlet L2 = get(color2, [lab, \"l\"]);\n\n\treturn Math.abs(L1 - L2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\n\n// κ * ε = 2^3 = 8\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst ε3 = 24 / 116;\nconst κ = 24389 / 27; // 29^3/3^3\n\nlet white = WHITES.D65;\n\nexport default new ColorSpace({\n\tid: \"lab-d65\",\n\tname: \"Lab D65\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t},\n\n\t// Assuming XYZ is relative to D65, convert to CIE Lab\n\t// from CIE standard, which now defines these as a rational fraction\n\twhite,\n\n\tbase: xyz_d65,\n\t// Convert D65-adapted XYZ to Lab\n\t// CIE 15.3:2004 section 8.2.1.1\n\tfromBase (XYZ) {\n\t\t// compute xyz, which is XYZ scaled relative to reference white\n\t\tlet xyz = XYZ.map((value, i) => value / white[i]);\n\n\t\t// now compute f\n\t\tlet f = xyz.map(value => value > ε ? Math.cbrt(value) : (κ * value + 16) / 116);\n\n\t\treturn [\n\t\t\t(116 * f[1]) - 16, // L\n\t\t\t500 * (f[0] - f[1]), // a\n\t\t\t200 * (f[1] - f[2]), // b\n\t\t];\n\t},\n\t// Convert Lab to D65-adapted XYZ\n\t// Same result as CIE 15.3:2004 Appendix D although the derivation is different\n\t// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n\ttoBase (Lab) {\n\t\t// compute f, starting with the luminance-related term\n\t\tlet f = [];\n\t\tf[1] = (Lab[0] + 16) / 116;\n\t\tf[0] = Lab[1] / 500 + f[1];\n\t\tf[2] = f[1] - Lab[2] / 200;\n\n\t\t// compute xyz\n\t\tlet xyz = [\n\t\t\tf[0] > ε3 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / κ,\n\t\t\tLab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / κ,\n\t\t\tf[2] > ε3 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / κ,\n\t\t];\n\n\t\t// Compute XYZ by scaling xyz by reference white\n\t\treturn xyz.map((value, i) => value * white[i]);\n\t},\n\n\tformats: {\n\t\t\"lab-d65\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "// Delta Phi Star perceptual lightness contrast\n// See https://github.com/Myndex/deltaphistar\n// The (difference between two Lstars each raised to phi) raised to (1/phi)\n// Symmetric, does not matter which is foreground and which is background\n\n\nimport getColor from \"../getColor.js\";\nimport get from \"../get.js\";\nimport lab_d65 from \"../spaces/lab-d65.js\";\n\nconst phi = Math.pow(5, 0.5) * 0.5 + 0.5; // Math.phi can be used if Math.js\n\nexport default function contrastDeltaPhi (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Lstr1 = get(color1, [lab_d65, \"l\"]);\n\tlet Lstr2 = get(color2, [lab_d65, \"l\"]);\n\n\tlet deltaPhiStar = Math.abs(Math.pow(Lstr1, phi) - Math.pow(Lstr2, phi));\n\n\tlet contrast = Math.pow(deltaPhiStar, (1 / phi)) * Math.SQRT2 - 40;\n\n\treturn (contrast < 7.5) ? 0.0 : contrast ;\n}\n", "import getColor from \"./getColor.js\";\n// import defaults from \"./defaults.js\";\nimport {isString} from \"./util.js\";\nimport * as contrastAlgorithms from \"./contrast/index.js\";\n\nexport default function contrast (background, foreground, o = {}) {\n\tif (isString(o)) {\n\t\to = {algorithm: o};\n\t}\n\n\tlet {algorithm, ...rest} = o;\n\n\tif (!algorithm) {\n\t\tlet algorithms = Object.keys(contrastAlgorithms).map(a => a.replace(/^contrast/, \"\")).join(\", \");\n\t\tthrow new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${algorithms}`);\n\t}\n\n\tbackground = getColor(background);\n\tforeground = getColor(foreground);\n\n\tfor (let a in contrastAlgorithms) {\n\t\tif (\"contrast\" + algorithm.toLowerCase() === a.toLowerCase()) {\n\t\t\treturn contrastAlgorithms[a](background, foreground, rest);\n\t\t}\n\t}\n\n\tthrow new TypeError(`Unknown contrast algorithm: ${algorithm}`);\n}\n", "import xyz_d65 from \"./spaces/xyz-d65.js\";\nimport getAll from \"./getAll.js\";\n\n// Chromaticity coordinates\nexport function uv (color) {\n\t// Assumes getAll() calls getColor() on color\n\tlet [X, Y, Z] = getAll(color, xyz_d65);\n\tlet denom = X + 15 * Y + 3 * Z;\n\treturn [4 * X / denom, 9 * Y / denom];\n}\n\nexport function xy (color) {\n\t// Assumes getAll() calls getColor() on color\n\tlet [X, Y, Z] = getAll(color, xyz_d65);\n\tlet sum = X + Y + Z;\n\treturn [X / sum, Y / sum];\n}\n\nexport function register (Color) {\n\t// no setters, as lightness information is lost\n\t// when converting color to chromaticity\n\tObject.defineProperty(Color.prototype, \"uv\", {\n\t\tget () {\n\t\t\treturn uv(this);\n\t\t},\n\t});\n\n\tObject.defineProperty(Color.prototype, \"xy\", {\n\t\tget () {\n\t\t\treturn xy(this);\n\t\t},\n\t});\n}\n", "import defaults from \"./defaults.js\";\nimport {isString} from \"./util.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\n\nexport default function deltaE (c1, c2, o = {}) {\n\tif (isString(o)) {\n\t\to = {method: o};\n\t}\n\n\tlet {method = defaults.deltaE, ...rest} = o;\n\n\tfor (let m in deltaEMethods) {\n\t\tif (\"deltae\" + method.toLowerCase() === m.toLowerCase()) {\n\t\t\treturn deltaEMethods[m](c1, c2, rest);\n\t\t}\n\t}\n\n\tthrow new TypeError(`Unknown deltaE method: ${method}`);\n}\n", "import ColorSpace from \"./space.js\";\nimport set from \"./set.js\";\n\nexport function lighten (color, amount = .25) {\n\tlet space = ColorSpace.get(\"oklch\", \"lch\");\n\tlet lightness = [space, \"l\"];\n\treturn set(color, lightness, l => l * (1 + amount));\n}\n\nexport function darken (color, amount = .25) {\n\tlet space = ColorSpace.get(\"oklch\", \"lch\");\n\tlet lightness = [space, \"l\"];\n\treturn set(color, lightness, l => l * (1 - amount));\n}\n", "/**\n * Functions related to color interpolation\n */\nimport ColorSpace from \"./space.js\";\nimport {type, interpolate} from \"./util.js\";\nimport getColor from \"./getColor.js\";\nimport clone from \"./clone.js\";\nimport to from \"./to.js\";\nimport toGamut from \"./toGamut.js\";\nimport get from \"./get.js\";\nimport set from \"./set.js\";\nimport defaults from \"./defaults.js\";\nimport * as angles from \"./angles.js\";\nimport deltaE from \"./deltaE.js\";\n\n/**\n * Return an intermediate color between two colors\n * Signatures: mix(c1, c2, p, options)\n * mix(c1, c2, options)\n * mix(color)\n * @param {Color | string} c1 The first color\n * @param {Color | string} [c2] The second color\n * @param {number} [p=.5] A 0-1 percentage where 0 is c1 and 1 is c2\n * @param {Object} [o={}]\n * @return {Color}\n */\nexport function mix (c1, c2, p = .5, o = {}) {\n\t[c1, c2] = [getColor(c1), getColor(c2)];\n\n\tif (type(p) === \"object\") {\n\t\t[p, o] = [.5, p];\n\t}\n\n\tlet r = range(c1, c2, o);\n\treturn r(p);\n}\n\n/**\n *\n * @param {Color | string | Function} c1 The first color or a range\n * @param {Color | string} [c2] The second color if c1 is not a range\n * @param {Object} [options={}]\n * @return {Color[]}\n */\nexport function steps (c1, c2, options = {}) {\n\tlet colorRange;\n\n\tif (isRange(c1)) {\n\t\t// Tweaking existing range\n\t\t[colorRange, options] = [c1, c2];\n\t\t[c1, c2] = colorRange.rangeArgs.colors;\n\t}\n\n\tlet {\n\t\tmaxDeltaE, deltaEMethod,\n\t\tsteps = 2, maxSteps = 1000,\n\t\t...rangeOptions\n\t} = options;\n\n\tif (!colorRange) {\n\t\t[c1, c2] = [getColor(c1), getColor(c2)];\n\t\tcolorRange = range(c1, c2, rangeOptions);\n\t}\n\n\tlet totalDelta = deltaE(c1, c2);\n\tlet actualSteps = maxDeltaE > 0 ? Math.max(steps, Math.ceil(totalDelta / maxDeltaE) + 1) : steps;\n\tlet ret = [];\n\n\tif (maxSteps !== undefined) {\n\t\tactualSteps = Math.min(actualSteps, maxSteps);\n\t}\n\n\tif (actualSteps === 1) {\n\t\tret = [{p: .5, color: colorRange(.5)}];\n\t}\n\telse {\n\t\tlet step = 1 / (actualSteps - 1);\n\t\tret = Array.from({length: actualSteps}, (_, i) => {\n\t\t\tlet p = i * step;\n\t\t\treturn {p, color: colorRange(p)};\n\t\t});\n\t}\n\n\tif (maxDeltaE > 0) {\n\t\t// Iterate over all stops and find max deltaE\n\t\tlet maxDelta = ret.reduce((acc, cur, i) => {\n\t\t\tif (i === 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tlet ΔΕ = deltaE(cur.color, ret[i - 1].color, deltaEMethod);\n\t\t\treturn Math.max(acc, ΔΕ);\n\t\t}, 0);\n\n\t\twhile (maxDelta > maxDeltaE) {\n\t\t\t// Insert intermediate stops and measure maxDelta again\n\t\t\t// We need to do this for all pairs, otherwise the midpoint shifts\n\t\t\tmaxDelta = 0;\n\n\t\t\tfor (let i = 1; (i < ret.length) && (ret.length < maxSteps); i++) {\n\t\t\t\tlet prev = ret[i - 1];\n\t\t\t\tlet cur = ret[i];\n\n\t\t\t\tlet p = (cur.p + prev.p) / 2;\n\t\t\t\tlet color = colorRange(p);\n\t\t\t\tmaxDelta = Math.max(maxDelta, deltaE(color, prev.color), deltaE(color, cur.color));\n\t\t\t\tret.splice(i, 0, {p, color: colorRange(p)});\n\t\t\t\ti++;\n\t\t\t}\n\t\t}\n\t}\n\n\tret = ret.map(a => a.color);\n\n\treturn ret;\n}\n\n/**\n * Interpolate to color2 and return a function that takes a 0-1 percentage\n * @param {Color | string | Function} color1 The first color or an existing range\n * @param {Color | string} [color2] If color1 is a color, this is the second color\n * @param {Object} [options={}]\n * @returns {Function} A function that takes a 0-1 percentage and returns a color\n */\nexport function range (color1, color2, options = {}) {\n\tif (isRange(color1)) {\n\t\t// Tweaking existing range\n\t\tlet [r, options] = [color1, color2];\n\n\t\treturn range(...r.rangeArgs.colors, {...r.rangeArgs.options, ...options});\n\t}\n\n\tlet {space, outputSpace, progression, premultiplied} = options;\n\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\t// Make sure we're working on copies of these colors\n\tcolor1 = clone(color1);\n\tcolor2 = clone(color2);\n\n\tlet rangeArgs = {colors: [color1, color2], options};\n\n\tif (space) {\n\t\tspace = ColorSpace.get(space);\n\t}\n\telse {\n\t\tspace = ColorSpace.registry[defaults.interpolationSpace] || color1.space;\n\t}\n\n\toutputSpace = outputSpace ? ColorSpace.get(outputSpace) : space;\n\n\tcolor1 = to(color1, space);\n\tcolor2 = to(color2, space);\n\n\t// Gamut map to avoid areas of flat color\n\tcolor1 = toGamut(color1);\n\tcolor2 = toGamut(color2);\n\n\t// Handle hue interpolation\n\t// See https://github.com/w3c/csswg-drafts/issues/4735#issuecomment-635741840\n\tif (space.coords.h && space.coords.h.type === \"angle\") {\n\t\tlet arc = options.hue = options.hue || \"shorter\";\n\n\t\tlet hue = [space, \"h\"];\n\t\tlet [θ1, θ2] = [get(color1, hue), get(color2, hue)];\n\t\t// Undefined hues must be evaluated before hue fix-up to properly\n\t\t// calculate hue arcs between undefined and defined hues.\n\t\t// See https://github.com/w3c/csswg-drafts/issues/9436#issuecomment-1746957545\n\t\tif (isNaN(θ1) && !isNaN(θ2)) {\n\t\t\tθ1 = θ2;\n\t\t}\n\t\telse if (isNaN(θ2) && !isNaN(θ1)) {\n\t\t\tθ2 = θ1;\n\t\t}\n\t\t[θ1, θ2] = angles.adjust(arc, [θ1, θ2]);\n\t\tset(color1, hue, θ1);\n\t\tset(color2, hue, θ2);\n\t}\n\n\tif (premultiplied) {\n\t\t// not coping with polar spaces yet\n\t\tcolor1.coords = color1.coords.map(c => c * color1.alpha);\n\t\tcolor2.coords = color2.coords.map(c => c * color2.alpha);\n\t}\n\n\treturn Object.assign(p => {\n\t\tp = progression ? progression(p) : p;\n\t\tlet coords = color1.coords.map((start, i) => {\n\t\t\tlet end = color2.coords[i];\n\t\t\treturn interpolate(start, end, p);\n\t\t});\n\n\t\tlet alpha = interpolate(color1.alpha, color2.alpha, p);\n\t\tlet ret = {space, coords, alpha};\n\n\t\tif (premultiplied) {\n\t\t\t// undo premultiplication\n\t\t\tret.coords = ret.coords.map(c => c / alpha);\n\t\t}\n\n\t\tif (outputSpace !== space) {\n\t\t\tret = to(ret, outputSpace);\n\t\t}\n\n\t\treturn ret;\n\t}, {\n\t\trangeArgs,\n\t});\n}\n\nexport function isRange (val) {\n\treturn type(val) === \"function\" && !!val.rangeArgs;\n}\n\ndefaults.interpolationSpace = \"lab\";\n\nexport function register (Color) {\n\tColor.defineFunction(\"mix\", mix, {returns: \"color\"});\n\tColor.defineFunction(\"range\", range, {returns: \"function<color>\"});\n\tColor.defineFunction(\"steps\", steps, {returns: \"array<color>\"});\n}\n", "import ColorSpace from \"../space.js\";\nimport sRGB from \"./srgb.js\";\n\nexport default new ColorSpace({\n\tid: \"hsl\",\n\tname: \"HSL\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: sRGB,\n\n\t// Adapted from https://drafts.csswg.org/css-color-4/better-rgbToHsl.js\n\tfromBase: rgb => {\n\t\tlet max = Math.max(...rgb);\n\t\tlet min = Math.min(...rgb);\n\t\tlet [r, g, b] = rgb;\n\t\tlet [h, s, l] = [NaN, 0, (min + max) / 2];\n\t\tlet d = max - min;\n\n\t\tif (d !== 0) {\n\t\t\ts = (l === 0 || l === 1) ? 0 : (max - l) / Math.min(l, 1 - l);\n\n\t\t\tswitch (max) {\n\t\t\t\tcase r: h = (g - b) / d + (g < b ? 6 : 0); break;\n\t\t\t\tcase g: h = (b - r) / d + 2; break;\n\t\t\t\tcase b: h = (r - g) / d + 4;\n\t\t\t}\n\n\t\t\th = h * 60;\n\t\t}\n\n\t\t// Very out of gamut colors can produce negative saturation\n\t\t// If so, just rotate the hue by 180 and use a positive saturation\n\t\t// see https://github.com/w3c/csswg-drafts/issues/9222\n\t\tif (s < 0) {\n\t\t\th += 180;\n\t\t\ts = Math.abs(s);\n\t\t}\n\n\t\tif (h >= 360) {\n\t\t\th -= 360;\n\t\t}\n\n\t\treturn [h, s * 100, l * 100];\n\t},\n\n\t// Adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_RGB_alternative\n\ttoBase: hsl => {\n\t\tlet [h, s, l] = hsl;\n\t\th = h % 360;\n\n\t\tif (h < 0) {\n\t\t\th += 360;\n\t\t}\n\n\t\ts /= 100;\n\t\tl /= 100;\n\n\t\tfunction f (n) {\n\t\t\tlet k = (n + h / 30) % 12;\n\t\t\tlet a = s * Math.min(l, 1 - l);\n\t\t\treturn l - a * Math.max(-1, Math.min(k - 3, 9 - k, 1));\n\t\t}\n\n\t\treturn [f(0), f(8), f(4)];\n\t},\n\n\tformats: {\n\t\t\"hsl\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage>\", \"<percentage>\"],\n\t\t},\n\t\t\"hsla\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage>\", \"<percentage>\"],\n\t\t\tcommas: true,\n\t\t\tlastAlpha: true,\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport HSL from \"./hsl.js\";\n\n// The Hue, Whiteness Blackness (HWB) colorspace\n// See https://drafts.csswg.org/css-color-4/#the-hwb-notation\n// Note that, like HSL, calculations are done directly on\n// gamma-corrected sRGB values rather than linearising them first.\n\nexport default new ColorSpace({\n\tid: \"hsv\",\n\tname: \"HSV\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tv: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Value\",\n\t\t},\n\t},\n\n\tbase: HSL,\n\t// https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion\n\tfromBase (hsl) {\n\t\tlet [h, s, l] = hsl;\n\t\ts /= 100;\n\t\tl /= 100;\n\n\t\tlet v = l + s * Math.min(l, 1 - l);\n\n\t\treturn [\n\t\t\th, // h is the same\n\t\t\tv === 0 ? 0 : 200 * (1 - l / v), // s\n\t\t\t100 * v,\n\t\t];\n\t},\n\t// https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion\n\ttoBase (hsv) {\n\t\tlet [h, s, v] = hsv;\n\n\t\ts /= 100;\n\t\tv /= 100;\n\n\t\tlet l = v * (1 - s / 2);\n\n\t\treturn [\n\t\t\th, // h is the same\n\t\t\t(l === 0 || l === 1) ? 0 : ((v - l) / Math.min(l, 1 - l)) * 100,\n\t\t\tl * 100,\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hsv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport HSV from \"./hsv.js\";\n\n// The Hue, Whiteness Blackness (HWB) colorspace\n// See https://drafts.csswg.org/css-color-4/#the-hwb-notation\n// Note that, like HSL, calculations are done directly on\n// gamma-corrected sRGB values rather than linearising them first.\n\nexport default new ColorSpace({\n\tid: \"hwb\",\n\tname: \"HWB\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\tw: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Whiteness\",\n\t\t},\n\t\tb: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Blackness\",\n\t\t},\n\t},\n\n\tbase: HSV,\n\tfromBase (hsv) {\n\t\tlet [h, s, v] = hsv;\n\n\t\treturn [h, v * (100 - s) / 100, 100 - v];\n\t},\n\ttoBase (hwb) {\n\t\tlet [h, w, b] = hwb;\n\n\t\t// Now convert percentages to [0..1]\n\t\tw /= 100;\n\t\tb /= 100;\n\n\t\t// Achromatic check (white plus black >= 1)\n\t\tlet sum = w + b;\n\t\tif (sum >= 1) {\n\t\t\tlet gray = w / sum;\n\t\t\treturn [h, 0, gray * 100];\n\t\t}\n\n\t\tlet v = (1 - b);\n\t\tlet s = (v === 0) ? 0 : 1 - w / v;\n\t\treturn [h, s * 100, v * 100];\n\t},\n\n\tformats: {\n\t\t\"hwb\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// convert an array of linear-light a98-rgb values to CIE XYZ\n// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n// has greater numerical precision than section 4.3.5.3 of\n// https://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf\n// but the values below were calculated from first principles\n// from the chromaticity coordinates of R G B W\nconst toXYZ_M = [\n\t[ 0.5766690429101305, 0.1855582379065463, 0.1882286462349947 ],\n\t[ 0.29734497525053605, 0.6273635662554661, 0.07529145849399788 ],\n\t[ 0.02703136138641234, 0.07068885253582723, 0.9913375368376388 ],\n];\n\nconst fromXYZ_M = [\n\t[ 2.0415879038107465, -0.5650069742788596, -0.34473135077832956 ],\n\t[ -0.9692436362808795, 1.8759675015077202, 0.04155505740717557 ],\n\t[ 0.013444280632031142, -0.11836239223101838, 1.0151749943912054 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"a98rgb-linear\",\n\tcssId: \"--a98-rgb-linear\",\n\tname: \"Linear Adobe® 98 RGB compatible\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport A98Linear from \"./a98rgb-linear.js\";\n\nexport default new RGBColorSpace({\n\tid: \"a98rgb\",\n\tcssId: \"a98-rgb\",\n\tname: \"Adobe® 98 RGB compatible\",\n\tbase: A98Linear,\n\ttoBase: RGB => RGB.map(val => Math.pow(Math.abs(val), 563 / 256) * Math.sign(val)),\n\tfromBase: RGB => RGB.map(val => Math.pow(Math.abs(val), 256 / 563) * Math.sign(val)),\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport XYZ_D50 from \"./xyz-d50.js\";\n\n// convert an array of prophoto-rgb values to CIE XYZ\n// using D50 (so no chromatic adaptation needed afterwards)\n// matrix cannot be expressed in rational form, but is calculated to 64 bit accuracy\n// see https://github.com/w3c/csswg-drafts/issues/7675\nconst toXYZ_M = [\n\t[ 0.79776664490064230, 0.13518129740053308, 0.03134773412839220 ],\n\t[ 0.28807482881940130, 0.71183523424187300, 0.00008993693872564 ],\n\t[ 0.00000000000000000, 0.00000000000000000, 0.82510460251046020 ],\n];\n\nconst fromXYZ_M = [\n\t[ 1.34578688164715830, -0.25557208737979464, -0.05110186497554526 ],\n\t[ -0.54463070512490190, 1.50824774284514680, 0.02052744743642139 ],\n\t[ 0.00000000000000000, 0.00000000000000000, 1.21196754563894520 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"prophoto-linear\",\n\tcssId: \"--prophoto-rgb-linear\",\n\tname: \"Linear ProPhoto\",\n\twhite: \"D50\",\n\tbase: XYZ_D50,\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport ProPhotoLinear from \"./prophoto-linear.js\";\n\nconst Et = 1 / 512;\nconst Et2 = 16 / 512;\n\nexport default new RGBColorSpace({\n\tid: \"prophoto\",\n\tcssId: \"prophoto-rgb\",\n\tname: \"ProPhoto\",\n\tbase: ProPhotoLinear,\n\ttoBase (RGB) {\n\t\t// Transfer curve is gamma 1.8 with a small linear portion\n\t\treturn RGB.map(v => v < Et2 ? v / 16 : v ** 1.8);\n\t},\n\tfromBase (RGB) {\n\t\treturn RGB.map(v => v >= Et ? v ** (1 / 1.8) : 16 * v);\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport OKLab from \"./oklab.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"oklch\",\n\tname: \"Oklch\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 0.4],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\twhite: \"D65\",\n\n\tbase: OKLab,\n\tfromBase (oklab) {\n\t\t// Convert to polar form\n\t\tlet [L, a, b] = oklab;\n\t\tlet h;\n\t\tconst ε = 0.0002; // chromatic components much smaller than a,b\n\n\t\tif (Math.abs(a) < ε && Math.abs(b) < ε) {\n\t\t\th = NaN;\n\t\t}\n\t\telse {\n\t\t\th = Math.atan2(b, a) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // OKLab L is still L\n\t\t\tMath.sqrt(a ** 2 + b ** 2), // Chroma\n\t\t\tconstrainAngle(h), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\t// Convert from polar form\n\ttoBase (oklch) {\n\t\tlet [L, C, h] = oklch;\n\t\tlet a, b;\n\n\t\t// check for NaN hue\n\t\tif (isNaN(h)) {\n\t\t\ta = 0;\n\t\t\tb = 0;\n\t\t}\n\t\telse {\n\t\t\ta = C * Math.cos(h * Math.PI / 180);\n\t\t\tb = C * Math.sin(h * Math.PI / 180);\n\t\t}\n\n\t\treturn [ L, a, b ];\n\t},\n\n\tformats: {\n\t\t\"oklch\": {\n\t\t\tcoords: [\"<percentage> | <number>\", \"<number> | <percentage>[0,1]\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {uv} from \"../chromaticity.js\";\nimport {isNone, skipNone} from \"../util.js\";\n\nlet white = WHITES.D65;\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\nconst [U_PRIME_WHITE, V_PRIME_WHITE] = uv({space: xyz_d65, coords: white});\n\nexport default new ColorSpace({\n\tid: \"luv\",\n\tname: \"Luv\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\t// Reference ranges from https://facelessuser.github.io/coloraide/colors/luv/\n\t\tu: {\n\t\t\trefRange: [-215, 215],\n\t\t},\n\t\tv: {\n\t\t\trefRange: [-215, 215],\n\t\t},\n\t},\n\n\twhite: white,\n\tbase: xyz_d65,\n\n\t// Convert D65-adapted XYZ to Luv\n\t// https://en.wikipedia.org/wiki/CIELUV#The_forward_transformation\n\tfromBase (XYZ) {\n\t\tlet xyz = [skipNone(XYZ[0]), skipNone(XYZ[1]), skipNone(XYZ[2])];\n\t\tlet y = xyz[1];\n\n\t\tlet [up, vp] = uv({space: xyz_d65, coords: xyz});\n\n\t\t// Protect against XYZ of [0, 0, 0]\n\t\tif (!Number.isFinite(up) || !Number.isFinite(vp)) {\n\t\t\treturn [0, 0, 0];\n\t\t}\n\n\t\tlet L = y <= ε ? κ * y : 116 * Math.cbrt(y) - 16;\n\t\treturn [\n\t\t\tL,\n\t\t\t13 * L * (up - U_PRIME_WHITE),\n\t\t\t13 * L * (vp - V_PRIME_WHITE),\n\t\t ];\n\t},\n\n\t// Convert Luv to D65-adapted XYZ\n\t// https://en.wikipedia.org/wiki/CIELUV#The_reverse_transformation\n\ttoBase (Luv) {\n\t\tlet [L, u, v] = Luv;\n\n\t\t// Protect against division by zero and NaN Lightness\n\t\tif (L === 0 || isNone(L)) {\n\t\t\treturn [0, 0, 0];\n\t\t}\n\n\t\tu = skipNone(u);\n\t\tv = skipNone(v);\n\n\t\tlet up = (u / (13 * L)) + U_PRIME_WHITE;\n\t\tlet vp = (v / (13 * L)) + V_PRIME_WHITE;\n\n\t\tlet y = L <= 8 ? L / κ : Math.pow((L + 16) / 116, 3);\n\n\t\treturn [\n\t\t\ty * ((9 * up) / (4 * vp)),\n\t\t\ty,\n\t\t\ty * ((12 - 3 * up - 20 * vp) / (4 * vp)),\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--luv\",\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport Luv from \"./luv.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"lchuv\",\n\tname: \"LChuv\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 220],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Luv,\n\tfromBase (Luv) {\n\t\t// Convert to polar form\n\t\tlet [L, u, v] = Luv;\n\t\tlet hue;\n\t\tconst ε = 0.02;\n\n\t\tif (Math.abs(u) < ε && Math.abs(v) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(v, u) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // L is still L\n\t\t\tMath.sqrt(u ** 2 + v ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (LCH) {\n\t\t// Convert from polar form\n\t\tlet [Lightness, Chroma, Hue] = LCH;\n\t\t// Clamp any negative Chroma\n\t\tif (Chroma < 0) {\n\t\t\tChroma = 0;\n\t\t}\n\t\t// Deal with NaN Hue\n\t\tif (isNaN(Hue)) {\n\t\t\tHue = 0;\n\t\t}\n\t\treturn [\n\t\t\tLightness, // L is still L\n\t\t\tChroma * Math.cos(Hue * Math.PI / 180), // u\n\t\t\tChroma * Math.sin(Hue * Math.PI / 180), // v\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--lchuv\",\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "/*\nAdapted from: https://github.com/hsluv/hsluv-javascript/blob/14b49e6cf9a9137916096b8487a5372626b57ba4/src/hsluv.ts\n\nCopyright (c) 2012-2022 Alexei Boronine\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 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\nimport ColorSpace from \"../space.js\";\nimport LCHuv from \"./lchuv.js\";\nimport sRGB from \"./srgb.js\";\nimport {fromXYZ_M} from \"./srgb-linear.js\";\nimport {skipNone} from \"../util.js\";\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nconst m_r0 = fromXYZ_M[0][0];\nconst m_r1 = fromXYZ_M[0][1];\nconst m_r2 = fromXYZ_M[0][2];\nconst m_g0 = fromXYZ_M[1][0];\nconst m_g1 = fromXYZ_M[1][1];\nconst m_g2 = fromXYZ_M[1][2];\nconst m_b0 = fromXYZ_M[2][0];\nconst m_b1 = fromXYZ_M[2][1];\nconst m_b2 = fromXYZ_M[2][2];\n\nfunction distanceFromOriginAngle (slope, intercept, angle) {\n\tconst d = intercept / (Math.sin(angle) - slope * Math.cos(angle));\n\treturn d < 0 ? Infinity : d;\n}\n\nexport function calculateBoundingLines (l) {\n\tconst sub1 = Math.pow(l + 16, 3) / 1560896;\n\tconst sub2 = sub1 > ε ? sub1 : l / κ;\n\tconst s1r = sub2 * (284517 * m_r0 - 94839 * m_r2);\n\tconst s2r = sub2 * (838422 * m_r2 + 769860 * m_r1 + 731718 * m_r0);\n\tconst s3r = sub2 * (632260 * m_r2 - 126452 * m_r1);\n\tconst s1g = sub2 * (284517 * m_g0 - 94839 * m_g2);\n\tconst s2g = sub2 * (838422 * m_g2 + 769860 * m_g1 + 731718 * m_g0);\n\tconst s3g = sub2 * (632260 * m_g2 - 126452 * m_g1);\n\tconst s1b = sub2 * (284517 * m_b0 - 94839 * m_b2);\n\tconst s2b = sub2 * (838422 * m_b2 + 769860 * m_b1 + 731718 * m_b0);\n\tconst s3b = sub2 * (632260 * m_b2 - 126452 * m_b1);\n\n\treturn {\n\t\tr0s: s1r / s3r,\n\t\tr0i: s2r * l / s3r,\n\t\tr1s: s1r / (s3r + 126452),\n\t\tr1i: (s2r - 769860) * l / (s3r + 126452),\n\t\tg0s: s1g / s3g,\n\t\tg0i: s2g * l / s3g,\n\t\tg1s: s1g / (s3g + 126452),\n\t\tg1i: (s2g - 769860) * l / (s3g + 126452),\n\t\tb0s: s1b / s3b,\n\t\tb0i: s2b * l / s3b,\n\t\tb1s: s1b / (s3b + 126452),\n\t\tb1i: (s2b - 769860) * l / (s3b + 126452),\n\t};\n}\n\nfunction calcMaxChromaHsluv (lines, h) {\n\tconst hueRad = h / 360 * Math.PI * 2;\n\tconst r0 = distanceFromOriginAngle(lines.r0s, lines.r0i, hueRad);\n\tconst r1 = distanceFromOriginAngle(lines.r1s, lines.r1i, hueRad);\n\tconst g0 = distanceFromOriginAngle(lines.g0s, lines.g0i, hueRad);\n\tconst g1 = distanceFromOriginAngle(lines.g1s, lines.g1i, hueRad);\n\tconst b0 = distanceFromOriginAngle(lines.b0s, lines.b0i, hueRad);\n\tconst b1 = distanceFromOriginAngle(lines.b1s, lines.b1i, hueRad);\n\n\treturn Math.min(r0, r1, g0, g1, b0, b1);\n}\n\nexport default new ColorSpace({\n\tid: \"hsluv\",\n\tname: \"HSLuv\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: LCHuv,\n\tgamutSpace: sRGB,\n\n\t// Convert LCHuv to HSLuv\n\tfromBase (lch) {\n\t\tlet [l, c, h] = [skipNone(lch[0]), skipNone(lch[1]), skipNone(lch[2])];\n\t\tlet s;\n\n\t\tif (l > 99.9999999) {\n\t\t\ts = 0;\n\t\t\tl = 100;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\ts = 0;\n\t\t\tl = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHsluv(lines, h);\n\t\t\ts = c / max * 100;\n\t\t}\n\n\t\treturn [h, s, l];\n\t},\n\n\t// Convert HSLuv to LCHuv\n\ttoBase (hsl) {\n\t\tlet [h, s, l] = [skipNone(hsl[0]), skipNone(hsl[1]), skipNone(hsl[2])];\n\t\tlet c;\n\n\t\tif (l > 99.9999999) {\n\t\t\tl = 100;\n\t\t\tc = 0;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\tl = 0;\n\t\t\tc = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHsluv(lines, h);\n\t\t\tc = max / 100 * s;\n\t\t}\n\n\t\treturn [l, c, h];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hsluv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "/*\nAdapted from: https://github.com/hsluv/hsluv-javascript/blob/14b49e6cf9a9137916096b8487a5372626b57ba4/src/hsluv.ts\n\nCopyright (c) 2012-2022 Alexei Boronine\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 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\nimport ColorSpace from \"../space.js\";\nimport LCHuv from \"./lchuv.js\";\nimport {fromXYZ_M} from \"./srgb-linear.js\";\nimport {skipNone} from \"../util.js\";\nimport {calculateBoundingLines} from \"./hsluv.js\";\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nconst m_r0 = fromXYZ_M[0][0];\nconst m_r1 = fromXYZ_M[0][1];\nconst m_r2 = fromXYZ_M[0][2];\nconst m_g0 = fromXYZ_M[1][0];\nconst m_g1 = fromXYZ_M[1][1];\nconst m_g2 = fromXYZ_M[1][2];\nconst m_b0 = fromXYZ_M[2][0];\nconst m_b1 = fromXYZ_M[2][1];\nconst m_b2 = fromXYZ_M[2][2];\n\nfunction distanceFromOrigin (slope, intercept) {\n\treturn Math.abs(intercept) / Math.sqrt(Math.pow(slope, 2) + 1);\n}\n\nfunction calcMaxChromaHpluv (lines) {\n\tlet r0 = distanceFromOrigin(lines.r0s, lines.r0i);\n\tlet r1 = distanceFromOrigin(lines.r1s, lines.r1i);\n\tlet g0 = distanceFromOrigin(lines.g0s, lines.g0i);\n\tlet g1 = distanceFromOrigin(lines.g1s, lines.g1i);\n\tlet b0 = distanceFromOrigin(lines.b0s, lines.b0i);\n\tlet b1 = distanceFromOrigin(lines.b1s, lines.b1i);\n\n\treturn Math.min(r0, r1, g0, g1, b0, b1);\n}\n\nexport default new ColorSpace({\n\tid: \"hpluv\",\n\tname: \"HPLuv\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: LCHuv,\n\tgamutSpace: \"self\",\n\n\t// Convert LCHuv to HPLuv\n\tfromBase (lch) {\n\t\tlet [l, c, h] = [skipNone(lch[0]), skipNone(lch[1]), skipNone(lch[2])];\n\t\tlet s;\n\n\t\tif (l > 99.9999999) {\n\t\t\ts = 0;\n\t\t\tl = 100;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\ts = 0;\n\t\t\tl = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHpluv(lines);\n\t\t\ts = c / max * 100;\n\t\t}\n\t\treturn [h, s, l];\n\t},\n\n\t// Convert HPLuv to LCHuv\n\ttoBase (hsl) {\n\t\tlet [h, s, l] = [skipNone(hsl[0]), skipNone(hsl[1]), skipNone(hsl[2])];\n\t\tlet c;\n\n\t\tif (l > 99.9999999) {\n\t\t\tl = 100;\n\t\t\tc = 0;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\tl = 0;\n\t\t\tc = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHpluv(lines, h);\n\t\t\tc = max / 100 * s;\n\t\t}\n\n\t\treturn [l, c, h];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hpluv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n\nconst Yw = 203;\t// absolute luminance of media white, cd/m²\nconst n = 2610 / (2 ** 14);\nconst ninv = (2 ** 14) / 2610;\nconst m = 2523 / (2 ** 5);\nconst minv = (2 ** 5) / 2523;\nconst c1 = 3424 / (2 ** 12);\nconst c2 = 2413 / (2 ** 7);\nconst c3 = 2392 / (2 ** 7);\n\nexport default new RGBColorSpace({\n\tid: \"rec2100pq\",\n\tcssId: \"rec2100-pq\",\n\tname: \"REC.2100-PQ\",\n\tbase: REC2020Linear,\n\ttoBase (RGB) {\n\t\t// given PQ encoded component in range [0, 1]\n\t\t// return media-white relative linear-light\n\t\treturn RGB.map(function (val) {\n\t\t\tlet x = ((Math.max(((val ** minv) - c1), 0) / (c2 - (c3 * (val ** minv)))) ** ninv);\n\t\t\treturn (x * 10000 / Yw); \t// luminance relative to diffuse white, [0, 70 or so].\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\t// given media-white relative linear-light\n\t\t// returnPQ encoded component in range [0, 1]\n\t\treturn RGB.map(function (val) {\n\t\t\tlet x = Math.max(val * Yw / 10000, 0); \t// absolute luminance of peak white is 10,000 cd/m².\n\t\t\tlet num = (c1 + (c2 * (x ** n)));\n\t\t\tlet denom = (1 + (c3 * (x ** n)));\n\n\t\t\treturn ((num / denom) ** m);\n\t\t});\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n\n// FIXME see https://github.com/LeaVerou/color.js/issues/190\n\nconst a = 0.17883277;\nconst b = 0.28466892; // 1 - (4 * a)\nconst c = 0.55991073; // 0.5 - a * Math.log(4 *a)\n\nconst scale = 3.7743;\t// Place 18% grey at HLG 0.38, so media white at 0.75\n\nexport default new RGBColorSpace({\n\tid: \"rec2100hlg\",\n\tcssId: \"rec2100-hlg\",\n\tname: \"REC.2100-HLG\",\n\treferred: \"scene\",\n\n\tbase: REC2020Linear,\n\ttoBase (RGB) {\n\t\t// given HLG encoded component in range [0, 1]\n\t\t// return media-white relative linear-light\n\t\treturn RGB.map(function (val) {\n\t\t\t// first the HLG EOTF\n\t\t\t// ITU-R BT.2390-10 p.30 section\n\t\t\t// 6.3 The hybrid log-gamma electro-optical transfer function (EOTF)\n\t\t\t// Then scale by 3 so media white is 1.0\n\t\t\tif (val <= 0.5) {\n\t\t\t\treturn (val ** 2) / 3 * scale;\n\t\t\t}\n\t\t\treturn ((Math.exp((val - c) / a) + b) / 12) * scale;\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\t// given media-white relative linear-light\n\t\t// where diffuse white is 1.0,\n\t\t// return HLG encoded component in range [0, 1]\n\t\treturn RGB.map(function (val) {\n\t\t\t// first scale to put linear-light media white at 1/3\n\t\t\tval /= scale;\n\t\t\t// now the HLG OETF\n\t\t\t// ITU-R BT.2390-10 p.23\n\t\t\t// 6.1 The hybrid log-gamma opto-electronic transfer function (OETF)\n\t\t\tif (val <= 1 / 12) {\n\t\t\t\treturn Math.sqrt(3 * val);\n\t\t\t}\n\t\t\treturn a * Math.log(12 * val - b) + c;\n\t\t});\n\t},\n});\n", "import hooks from \"./hooks.js\";\nimport {multiplyMatrices} from \"./util.js\";\nimport {WHITES} from \"./adapt.js\";\n\nexport const CATs = {};\n\nhooks.add(\"chromatic-adaptation-start\", env => {\n\tif (env.options.method) {\n\t\tenv.M = adapt(env.W1, env.W2, env.options.method);\n\t}\n});\n\nhooks.add(\"chromatic-adaptation-end\", env => {\n\tif (!env.M) {\n\t\tenv.M = adapt(env.W1, env.W2, env.options.method);\n\t}\n});\n\nexport function defineCAT ({id, toCone_M, fromCone_M}) {\n\t// Use id, toCone_M, fromCone_M like variables\n\tCATs[id] = arguments[0];\n}\n\nexport function adapt (W1, W2, id = \"Bradford\") {\n\t// adapt from a source whitepoint or illuminant W1\n\t// to a destination whitepoint or illuminant W2,\n\t// using the given chromatic adaptation transform (CAT)\n\t// debugger;\n\tlet method = CATs[id];\n\n\tlet [ρs, γs, βs] = multiplyMatrices(method.toCone_M, W1);\n\tlet [ρd, γd, βd] = multiplyMatrices(method.toCone_M, W2);\n\n\t// all practical illuminants have non-zero XYZ so no division by zero can occur below\n\tlet scale = [\n\t\t[ρd / ρs, 0, 0 ],\n\t\t[0, γd / γs, 0 ],\n\t\t[0, 0, βd / βs],\n\t];\n\t// console.log({scale});\n\n\tlet scaled_cone_M = multiplyMatrices(scale, method.toCone_M);\n\tlet adapt_M\t= multiplyMatrices(method.fromCone_M, scaled_cone_M);\n\t// console.log({scaled_cone_M, adapt_M});\n\treturn adapt_M;\n}\n\ndefineCAT({\n\tid: \"von Kries\",\n\ttoCone_M: [\n\t\t[ 0.4002400, 0.7076000, -0.0808100 ],\n\t\t[ -0.2263000, 1.1653200, 0.0457000 ],\n\t\t[ 0.0000000, 0.0000000, 0.9182200 ],\n\t],\n\tfromCone_M: [\n\t\t[ 1.8599363874558397, -1.1293816185800916, 0.21989740959619328 ],\n\t\t[ 0.3611914362417676, 0.6388124632850422, -0.000006370596838649899 ],\n\t\t[ 0, 0, 1.0890636230968613 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"Bradford\",\n\t// Convert an array of XYZ values in the range 0.0 - 1.0\n\t// to cone fundamentals\n\ttoCone_M: [\n\t\t[ 0.8951000, 0.2664000, -0.1614000 ],\n\t\t[ -0.7502000, 1.7135000, 0.0367000 ],\n\t\t[ 0.0389000, -0.0685000, 1.0296000 ],\n\t],\n\t// and back\n\tfromCone_M: [\n\t\t[ 0.9869929054667121, -0.14705425642099013, 0.15996265166373122 ],\n\t\t[ 0.4323052697233945, 0.5183602715367774, 0.049291228212855594 ],\n\t\t[ -0.00852866457517732, 0.04004282165408486, 0.96848669578755 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"CAT02\",\n\t// with complete chromatic adaptation to W2, so D = 1.0\n\ttoCone_M: [\n\t\t[ 0.7328000, 0.4296000, -0.1624000 ],\n\t\t[ -0.7036000, 1.6975000, 0.0061000 ],\n\t\t[ 0.0030000, 0.0136000, 0.9834000 ],\n\t],\n\tfromCone_M: [\n\t\t[ 1.0961238208355142, -0.27886900021828726, 0.18274517938277307 ],\n\t\t[ 0.4543690419753592, 0.4735331543074117, 0.07209780371722911 ],\n\t\t[ -0.009627608738429355, -0.00569803121611342, 1.0153256399545427 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"CAT16\",\n\ttoCone_M: [\n\t\t[ 0.401288, 0.650173, -0.051461 ],\n\t\t[ -0.250268, 1.204414, 0.045854 ],\n\t\t[ -0.002079, 0.048952, 0.953127 ],\n\t],\n\t// the extra precision is needed to avoid roundtripping errors\n\tfromCone_M: [\n\t\t[ 1.862067855087233, -1.0112546305316845, 0.14918677544445172 ],\n\t\t[ 0.3875265432361372, 0.6214474419314753, -0.008973985167612521 ],\n\t\t[ -0.01584149884933386, -0.03412293802851557, 1.0499644368778496 ],\n\t],\n});\n\nObject.assign(WHITES, {\n\t// whitepoint values from ASTM E308-01 with 10nm spacing, 1931 2 degree observer\n\t// all normalized to Y (luminance) = 1.00000\n\t// Illuminant A is a tungsten electric light, giving a very warm, orange light.\n\tA: [1.09850, 1.00000, 0.35585],\n\n\t// Illuminant C was an early approximation to daylight: illuminant A with a blue filter.\n\tC: [0.98074, 1.000000, 1.18232],\n\n\t// The daylight series of illuminants simulate natural daylight.\n\t// The color temperature (in degrees Kelvin/100) ranges from\n\t// cool, overcast daylight (D50) to bright, direct sunlight (D65).\n\tD55: [0.95682, 1.00000, 0.92149],\n\tD75: [0.94972, 1.00000, 1.22638],\n\n\t// Equal-energy illuminant, used in two-stage CAT16\n\tE: [1.00000, 1.00000, 1.00000],\n\n\t// The F series of illuminants represent fluorescent lights\n\tF2: [0.99186, 1.00000, 0.67393],\n\tF7: [0.95041, 1.00000, 1.08747],\n\tF11: [1.00962, 1.00000, 0.64350],\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport {WHITES} from \"../adapt.js\";\nimport \"../CATs.js\"; // because of the funky whitepoint\n\n// The ACES whitepoint\n// see TB-2018-001 Derivation of the ACES White Point CIE Chromaticity Coordinates\n// also https://github.com/ampas/aces-dev/blob/master/documents/python/TB-2018-001/aces_wp.py\n// Similar to D60\nWHITES.ACES = [0.32168 / 0.33767, 1.00000, (1.00000 - 0.32168 - 0.33767) / 0.33767];\n\n// convert an array of linear-light ACEScc values to CIE XYZ\nconst toXYZ_M = [\n\t[ 0.6624541811085053, 0.13400420645643313, 0.1561876870049078 ],\n\t[ 0.27222871678091454, 0.6740817658111484, 0.05368951740793705 ],\n\t[ -0.005574649490394108, 0.004060733528982826, 1.0103391003129971 ],\n];\nconst fromXYZ_M = [\n\t[ 1.6410233796943257, -0.32480329418479, -0.23642469523761225 ],\n\t[ -0.6636628587229829, 1.6153315916573379, 0.016756347685530137 ],\n\t[ 0.011721894328375376, -0.008284441996237409, 0.9883948585390215 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"acescg\",\n\tcssId: \"--acescg\",\n\tname: \"ACEScg\",\n\n\t// ACEScg – A scene-referred, linear-light encoding of ACES Data\n\t// https://docs.acescentral.com/specifications/acescg/\n\t// uses the AP1 primaries, see section 4.3.1 Color primaries\n\tcoords: {\n\t\tr: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Red\",\n\t\t},\n\t\tg: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Green\",\n\t\t},\n\t\tb: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Blue\",\n\t\t},\n\t},\n\n\treferred: \"scene\",\n\n\twhite: WHITES.ACES,\n\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n\n// export default Color;\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport \"../CATs.js\"; // because of the funky whitepoint\nimport ACEScg from \"./acescg.js\";\n\nconst ε = 2 ** -16;\n\n// the smallest value which, in the 32bit IEEE 754 float encoding,\n// decodes as a non-negative value\nconst ACES_min_nonzero = -0.35828683;\n\n// brightest encoded value, decodes to 65504\nconst ACES_cc_max = (Math.log2(65504) + 9.72) / 17.52; // 1.468\n\nexport default new RGBColorSpace({\n\tid: \"acescc\",\n\tcssId: \"--acescc\",\n\tname: \"ACEScc\",\n\t// see S-2014-003 ACEScc – A Logarithmic Encoding of ACES Data\n\t// https://docs.acescentral.com/specifications/acescc/\n\t// uses the AP1 primaries, see section 4.3.1 Color primaries\n\n\t// Appendix A: \"Very small ACES scene referred values below 7 1/4 stops\n\t// below 18% middle gray are encoded as negative ACEScc values.\n\t// These values should be preserved per the encoding in Section 4.4\n\t// so that all positive ACES values are maintained.\"\n\tcoords: {\n\t\tr: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Red\",\n\t\t},\n\t\tg: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Green\",\n\t\t},\n\t\tb: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Blue\",\n\t\t},\n\t},\n\treferred: \"scene\",\n\n\tbase: ACEScg,\n\t// from section 4.4.2 Decoding Function\n\ttoBase (RGB) {\n\t\tconst low = (9.72 - 15) / 17.52; // -0.3014\n\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val <= low) {\n\t\t\t\treturn (2 ** ((val * 17.52) - 9.72) - ε) * 2; // very low values, below -0.3014\n\t\t\t}\n\t\t\telse if (val < ACES_cc_max) {\n\t\t\t\treturn 2 ** ((val * 17.52) - 9.72);\n\t\t\t}\n\t\t\telse { // val >= ACES_cc_max\n\t\t\t\treturn 65504;\n\t\t\t}\n\t\t});\n\t},\n\n\t// Non-linear encoding function from S-2014-003, section 4.4.1 Encoding Function\n\tfromBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val <= 0) {\n\t\t\t\treturn (Math.log2(ε) + 9.72) / 17.52; // -0.3584\n\t\t\t}\n\t\t\telse if (val < ε) {\n\t\t\t\treturn (Math.log2(ε + val * 0.5) + 9.72) / 17.52;\n\t\t\t}\n\t\t\telse { // val >= ε\n\t\t\t\treturn (Math.log2(val) + 9.72) / 17.52;\n\t\t\t}\n\t\t});\n\t},\n\t// encoded media white (rgb 1,1,1) => linear [ 222.861, 222.861, 222.861 ]\n\t// encoded media black (rgb 0,0,0) => linear [ 0.0011857, 0.0011857, 0.0011857]\n});\n", "import * as util from \"./util.js\";\nimport hooks from \"./hooks.js\";\nimport defaults from \"./defaults.js\";\nimport ColorSpace from \"./space.js\";\nimport {WHITES} from \"./adapt.js\";\nimport {\n\tgetColor,\n\tparse,\n\tto,\n\tserialize,\n\tinGamut,\n\ttoGamut,\n\tdistance,\n\tequals,\n\tget,\n\tgetAll,\n\tset,\n\tsetAll,\n\tdisplay,\n} from \"./index-fn.js\";\n\n\nimport \"./spaces/xyz-d50.js\";\nimport \"./spaces/srgb.js\";\n\n/**\n * Class that represents a color\n */\nexport default class Color {\n\t/**\n\t * Creates an instance of Color.\n\t * Signatures:\n\t * - `new Color(stringToParse)`\n\t * - `new Color(otherColor)`\n\t * - `new Color({space, coords, alpha})`\n\t * - `new Color(space, coords, alpha)`\n\t * - `new Color(spaceId, coords, alpha)`\n\t */\n\tconstructor (...args) {\n\t\tlet color;\n\n\t\tif (args.length === 1) {\n\t\t\tcolor = getColor(args[0]);\n\t\t}\n\n\t\tlet space, coords, alpha;\n\n\t\tif (color) {\n\t\t\tspace = color.space || color.spaceId;\n\t\t\tcoords = color.coords;\n\t\t\talpha = color.alpha;\n\t\t}\n\t\telse {\n\t\t\t// default signature new Color(ColorSpace, array [, alpha])\n\t\t\t[space, coords, alpha] = args;\n\t\t}\n\n\t\tObject.defineProperty(this, \"space\", {\n\t\t\tvalue: ColorSpace.get(space),\n\t\t\twritable: false,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true, // see note in https://262.ecma-international.org/8.0/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver\n\t\t});\n\n\t\tthis.coords = coords ? coords.slice() : [0, 0, 0];\n\n\t\t// Clamp alpha to [0, 1]\n\t\tthis.alpha = alpha > 1 || alpha === undefined ? 1 : (alpha < 0 ? 0 : alpha);\n\n\t\t// Convert \"NaN\" to NaN\n\t\tfor (let i = 0; i < this.coords.length; i++) {\n\t\t\tif (this.coords[i] === \"NaN\") {\n\t\t\t\tthis.coords[i] = NaN;\n\t\t\t}\n\t\t}\n\n\t\t// Define getters and setters for each coordinate\n\t\tfor (let id in this.space.coords) {\n\t\t\tObject.defineProperty(this, id, {\n\t\t\t\tget: () => this.get(id),\n\t\t\t\tset: value => this.set(id, value),\n\t\t\t});\n\t\t}\n\t}\n\n\tget spaceId () {\n\t\treturn this.space.id;\n\t}\n\n\tclone () {\n\t\treturn new Color(this.space, this.coords, this.alpha);\n\t}\n\n\ttoJSON () {\n\t\treturn {\n\t\t\tspaceId: this.spaceId,\n\t\t\tcoords: this.coords,\n\t\t\talpha: this.alpha,\n\t\t};\n\t}\n\n\tdisplay (...args) {\n\t\tlet ret = display(this, ...args);\n\n\t\t// Convert color object to Color instance\n\t\tret.color = new Color(ret.color);\n\n\t\treturn ret;\n\t}\n\n\t/**\n\t * Get a color from the argument passed\n\t * Basically gets us the same result as new Color(color) but doesn't clone an existing color object\n\t */\n\tstatic get (color, ...args) {\n\t\tif (color instanceof Color) {\n\t\t\treturn color;\n\t\t}\n\n\t\treturn new Color(color, ...args);\n\t}\n\n\tstatic defineFunction (name, code, o = code) {\n\t\tlet {instance = true, returns} = o;\n\n\t\tlet func = function (...args) {\n\t\t\tlet ret = code(...args);\n\n\t\t\tif (returns === \"color\") {\n\t\t\t\tret = Color.get(ret);\n\t\t\t}\n\t\t\telse if (returns === \"function<color>\") {\n\t\t\t\tlet f = ret;\n\t\t\t\tret = function (...args) {\n\t\t\t\t\tlet ret = f(...args);\n\t\t\t\t\treturn Color.get(ret);\n\t\t\t\t};\n\t\t\t\t// Copy any function metadata\n\t\t\t\tObject.assign(ret, f);\n\t\t\t}\n\t\t\telse if (returns === \"array<color>\") {\n\t\t\t\tret = ret.map(c => Color.get(c));\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t};\n\n\t\tif (!(name in Color)) {\n\t\t\tColor[name] = func;\n\t\t}\n\n\t\tif (instance) {\n\t\t\tColor.prototype[name] = function (...args) {\n\t\t\t\treturn func(this, ...args);\n\t\t\t};\n\t\t}\n\t}\n\n\tstatic defineFunctions (o) {\n\t\tfor (let name in o) {\n\t\t\tColor.defineFunction(name, o[name], o[name]);\n\t\t}\n\t}\n\n\tstatic extend (exports) {\n\t\tif (exports.register) {\n\t\t\texports.register(Color);\n\t\t}\n\t\telse {\n\t\t\t// No register method, just add the module's functions\n\t\t\tfor (let name in exports) {\n\t\t\t\tColor.defineFunction(name, exports[name]);\n\t\t\t}\n\t\t}\n\t}\n}\n\nColor.defineFunctions({\n\tget,\n\tgetAll,\n\tset,\n\tsetAll,\n\tto,\n\tequals,\n\tinGamut,\n\ttoGamut,\n\tdistance,\n\ttoString: serialize,\n});\n\nObject.assign(Color, {\n\tutil,\n\thooks,\n\tWHITES,\n\tSpace: ColorSpace,\n\tspaces: ColorSpace.registry,\n\tparse,\n\n\t// Global defaults one may want to configure\n\tdefaults,\n});\n", "import ColorSpace from \"../space.js\";\nimport * as spaces from \"./index-fn.js\";\n\nexport * as spaces from \"./index-fn.js\";\n\nfor (let key of Object.keys(spaces)) {\n\tColorSpace.register(spaces[key]);\n}\n", "/**\n * This plugin defines getters and setters for color[spaceId]\n * e.g. color.lch on *any* color gives us the lch coords\n */\nimport ColorSpace from \"./space.js\";\nimport Color from \"./color.js\";\nimport hooks from \"./hooks.js\";\n\n// Add space accessors to existing color spaces\nfor (let id in ColorSpace.registry) {\n\taddSpaceAccessors(id, ColorSpace.registry[id]);\n}\n\n// Add space accessors to color spaces not yet created\nhooks.add(\"colorspace-init-end\", space => {\n\taddSpaceAccessors(space.id, space);\n\tspace.aliases?.forEach(alias => {\n\t\taddSpaceAccessors(alias, space);\n\t});\n});\n\nfunction addSpaceAccessors (id, space) {\n\tlet propId = id.replace(/-/g, \"_\");\n\n\tObject.defineProperty(Color.prototype, propId, {\n\t\t// Convert coords to coords in another colorspace and return them\n\t\t// Source colorspace: this.spaceId\n\t\t// Target colorspace: id\n\t\tget () {\n\t\t\tlet ret = this.getAll(id);\n\n\t\t\tif (typeof Proxy === \"undefined\") {\n\t\t\t\t// If proxies are not supported, just return a static array\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Enable color.spaceId.coordName syntax\n\t\t\treturn new Proxy(ret, {\n\t\t\t\thas: (obj, property) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tColorSpace.resolveCoord([space, property]);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tcatch (e) {}\n\n\t\t\t\t\treturn Reflect.has(obj, property);\n\t\t\t\t},\n\t\t\t\tget: (obj, property, receiver) => {\n\t\t\t\t\tif (property && typeof property !== \"symbol\" && !(property in obj)) {\n\t\t\t\t\t\tlet {index} = ColorSpace.resolveCoord([space, property]);\n\n\t\t\t\t\t\tif (index >= 0) {\n\t\t\t\t\t\t\treturn obj[index];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Reflect.get(obj, property, receiver);\n\t\t\t\t},\n\t\t\t\tset: (obj, property, value, receiver) => {\n\t\t\t\t\tif (property && typeof property !== \"symbol\" && !(property in obj) || property >= 0) {\n\t\t\t\t\t\tlet {index} = ColorSpace.resolveCoord([space, property]);\n\n\t\t\t\t\t\tif (index >= 0) {\n\t\t\t\t\t\t\tobj[index] = value;\n\n\t\t\t\t\t\t\t// Update color.coords\n\t\t\t\t\t\t\tthis.setAll(id, obj);\n\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Reflect.set(obj, property, value, receiver);\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t\t// Convert coords in another colorspace to internal coords and set them\n\t\t// Target colorspace: this.spaceId\n\t\t// Source colorspace: id\n\t\tset (coords) {\n\t\t\tthis.setAll(id, coords);\n\t\t},\n\t\tconfigurable: true,\n\t\tenumerable: true,\n\t});\n}\n", "// Import all modules of Color.js\nimport Color from \"./color.js\";\n\n// Import all color spaces\nimport \"./spaces/index.js\";\n\n// Import all DeltaE methods\nimport deltaE from \"./deltaE.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\n\nColor.extend(deltaEMethods);\nColor.extend({deltaE});\nObject.assign(Color, {deltaEMethods});\n\n// Import optional modules\nimport * as variations from \"./variations.js\";\nColor.extend(variations);\n\nimport contrast from \"./contrast.js\";\nColor.extend({contrast});\n\nimport * as chromaticity from \"./chromaticity.js\";\nColor.extend(chromaticity);\n\nimport * as luminance from \"./luminance.js\";\nColor.extend(luminance);\n\nimport * as interpolation from \"./interpolation.js\";\nColor.extend(interpolation);\n\nimport * as contrastMethods from \"./contrast/index.js\";\nColor.extend(contrastMethods);\n\nimport \"./CATs.js\";\nimport \"./space-accessors.js\";\n\n// Re-export everything\nexport default Color;\n", "import { Cache } from \"@raycast/api\";\nimport { useCachedState } from \"@raycast/utils\";\nimport { HistoryColor, HistoryItem } from \"./types\";\nimport { getFormattedColor } from \"./utils\";\n\nconst MAX_HISTORY_LENGTH = 200;\n\nexport function useHistory() {\n const [history, setHistory] = useCachedState<HistoryItem[]>(\"history\", []);\n return {\n history,\n remove: (color: HistoryColor) =>\n setHistory((previousHistory) => {\n return previousHistory.filter((item) => getFormattedColor(item.color) !== getFormattedColor(color));\n }),\n edit: (historyItem: HistoryItem) =>\n setHistory((previousHistory) => {\n return previousHistory.map((item) =>\n getFormattedColor(item.color) === getFormattedColor(historyItem.color) ? historyItem : item,\n );\n }),\n clear: () => setHistory([]),\n };\n}\n\nexport function addToHistory(color: HistoryColor) {\n const cache = new Cache();\n\n const serializedHistory = cache.get(\"history\");\n const previousHistory = serializedHistory ? (JSON.parse(serializedHistory) as HistoryItem[]) : [];\n\n const historyItem: HistoryItem = { date: new Date().toISOString(), color };\n const newHistory = [\n historyItem,\n ...previousHistory.filter((item) => getFormattedColor(item.color) !== getFormattedColor(color)),\n ].slice(0, MAX_HISTORY_LENGTH);\n\n cache.set(\"history\", JSON.stringify(newHistory));\n}\n"], + "mappings": "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S,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,uBAAuB,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAK,GAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,GAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,KAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAO,IAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,C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,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO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,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAO,KAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY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", + "names": ["require_lite", "__commonJSMin", "exports", "has", "dequal", "foo", "bar", "ctor", "len", "require_useDeepMemo", "__commonJSMin", "exports", "react_1", "lite_1", "useDeepMemo", "value", "ref", "signalRef", "require_useLatest", "__commonJSMin", "exports", "react_1", "useLatest", "value", "ref", "require_showFailureToast", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__setModuleDefault", "v", "__importStar", "mod", "result", "fs", "path", "api_1", "showFailureToast", "error", "options", "message", "handleErrorToastAction", "privateExtension", "title", "extensionURL", "packageJSON", "fallback", "stack", "toast", "require_usePromise", "__commonJSMin", "exports", "react_1", "api_1", "useDeepMemo_1", "useLatest_1", "showFailureToast_1", "usePromise", "fn", "args", "options", "lastCallId", "state", "set", "fnRef", "latestAbortable", "latestArgs", "latestOnError", "latestOnData", "latestOnWillExecute", "latestFailureToast", "latestValue", "latestCallback", "paginationArgsRef", "usePaginationRef", "hasMoreRef", "pageSizeRef", "callback", "callId", "prevState", "promiseOrPaginatedPromise", "bindPromiseIfNeeded", "handleError", "error", "toast", "data", "hasMore", "cursor", "previousData", "revalidate", "mutate", "asyncUpdate", "dataBeforeOptimisticUpdate", "update", "err", "onLoadMore", "isLoading", "stateWithLoadingFixed", "pagination", "require_object_hash", "__commonJSMin", "exports", "module", "crypto", "objectHash", "object", "options", "applyDefaults", "hash", "hashes", "encodings", "sourceOptions", "i", "isNativeFunction", "f", "exp", "hashingStream", "PassThrough", "hasher", "typeHasher", "buf", "stream", "writeTo", "context", "write", "str", "value", "type", "pattern", "objString", "objType", "objectNumber", "keys", "key", "self", "arr", "unordered", "entry", "contextAdditions", "entries", "strm", "localContext", "date", "sym", "err", "bool", "string", "fn", "number", "xml", "regex", "url", "map", "set", "file", "b", "require_helpers", "__commonJSMin", "exports", "__importDefault", "mod", "object_hash_1", "replacer", "key", "_value", "value", "reviver", "_key", "hash", "object", "options", "require_useCachedState", "__commonJSMin", "exports", "react_1", "api_1", "useLatest_1", "helpers_1", "rootCache", "cacheMap", "useCachedState", "key", "initialState", "config", "cacheKey", "cache", "keyRef", "initialValueRef", "cachedState", "error", "state", "err", "stateRef", "setStateAndCache", "updater", "newValue", "stringifiedValue", "require_useCachedPromise", "__commonJSMin", "exports", "react_1", "useCachedState_1", "usePromise_1", "useLatest_1", "helpers_1", "emptyCache", "useCachedPromise", "fn", "args", "options", "initialData", "keepPreviousData", "internal_cacheKeySuffix", "usePromiseOptions", "lastUpdateFrom", "cachedData", "mutateCache", "laggyDataRef", "paginationArgsRef", "_mutate", "revalidate", "state", "data", "pagination", "returnedData", "latestData", "mutate", "asyncUpdate", "dataBeforeOptimisticUpdate", "err", "require_lib", "__commonJSMin", "exports", "module", "conversions", "sign", "x", "evenRound", "createNumberConversion", "bitLength", "typeOpts", "lowerBound", "upperBound", "moduloVal", "moduloBound", "V", "opts", "val", "c", "i", "S", "n", "U", "d", "a", "b", "require_utils", "__commonJSMin", "exports", "module", "target", "source", "keys", "i", "impl", "wrapper", "require_mappingTable", "__commonJSMin", "exports", "module", "require_tr46", "__commonJSMin", "exports", "module", "punycode", "mappingTable", "PROCESSING_OPTIONS", "normalize", "str", "s", "findStatus", "val", "start", "end", "mid", "target", "regexAstralSymbols", "countSymbols", "string", "mapChars", "domain_name", "useSTD3", "processing_option", "hasError", "processed", "len", "codePoint", "status", "combiningMarksRegex", "validateLabel", "label", "error", "i", "processing", "result", "labels", "validation", "verifyDnsLength", "l", "total", "require_url_state_machine", "__commonJSMin", "exports", "module", "punycode", "tr46", "specialSchemes", "failure", "countSymbols", "str", "at", "input", "idx", "c", "isASCIIDigit", "isASCIIAlpha", "isASCIIAlphanumeric", "isASCIIHex", "isSingleDot", "buffer", "isDoubleDot", "isWindowsDriveLetterCodePoints", "cp1", "cp2", "isWindowsDriveLetterString", "string", "isNormalizedWindowsDriveLetterString", "containsForbiddenHostCodePoint", "containsForbiddenHostCodePointExcludingPercent", "isSpecialScheme", "scheme", "isSpecial", "url", "defaultPort", "percentEncode", "hex", "utf8PercentEncode", "buf", "i", "utf8PercentDecode", "output", "isC0ControlPercentEncode", "extraPathPercentEncodeSet", "isPathPercentEncode", "extraUserinfoPercentEncodeSet", "isUserinfoPercentEncode", "percentEncodeChar", "encodeSetPredicate", "cStr", "parseIPv4Number", "R", "parseIPv4", "parts", "numbers", "part", "n", "ipv4", "counter", "serializeIPv4", "address", "parseIPv6", "pieceIndex", "compress", "pointer", "value", "length", "numbersSeen", "ipv4Piece", "number", "swaps", "temp", "serializeIPv6", "findLongestZeroSequence", "ignore0", "parseHost", "isSpecialArg", "parseOpaqueHost", "domain", "asciiDomain", "ipv4Host", "decoded", "arr", "maxIdx", "maxLen", "currStart", "currLen", "serializeHost", "host", "trimControlChars", "trimTabAndNewline", "shortenPath", "path", "isNormalizedWindowsDriveLetter", "includesCredentials", "cannotHaveAUsernamePasswordPort", "URLStateMachine", "base", "encodingOverride", "stateOverride", "res", "ret", "len", "codePoint", "encodedCodePoints", "port", "fileOtherwiseCodePoints", "serializeURL", "excludeFragment", "serializeOrigin", "tuple", "result", "options", "usm", "username", "password", "integer", "require_URL_impl", "__commonJSMin", "exports", "usm", "constructorArgs", "url", "base", "parsedBase", "parsedURL", "v", "input", "require_URL", "__commonJSMin", "exports", "module", "conversions", "utils", "Impl", "impl", "URL", "url", "args", "i", "V", "obj", "constructorArgs", "privateData", "require_public_api", "__commonJSMin", "exports", "require_lib", "__commonJSMin", "exports", "module", "_interopDefault", "ex", "Stream", "http", "Url", "whatwgUrl", "https", "zlib", "Readable", "BUFFER", "TYPE", "Blob", "_Blob", "blobParts", "options", "buffers", "size", "a", "length", "i", "element", "buffer", "type", "buf", "ab", "readable", "start", "end", "relativeStart", "relativeEnd", "span", "slicedBuffer", "blob", "FetchError", "message", "systemError", "convert", "INTERNALS", "PassThrough", "Body", "body", "_this", "_ref", "_ref$size", "_ref$timeout", "timeout", "isURLSearchParams", "isBlob", "err", "error", "consumeBody", "ct", "_this2", "_this3", "convertBody", "proto", "name", "desc", "_this4", "accum", "accumBytes", "abort", "resolve", "reject", "resTimeout", "chunk", "headers", "charset", "res", "str", "obj", "clone", "instance", "p1", "p2", "extractContentType", "getTotalBytes", "writeToStream", "dest", "invalidTokenRegex", "invalidHeaderCharRegex", "validateName", "validateValue", "value", "find", "map", "key", "MAP", "Headers", "_Headers", "init", "rawHeaders", "headerNames", "headerName", "method", "pairs", "pair", "callback", "thisArg", "getHeaders", "_pairs$i", "createHeadersIterator", "kind", "k", "INTERNAL", "target", "iterator", "HeadersIteratorPrototype", "_INTERNAL", "index", "values", "len", "exportNodeCompatibleHeaders", "hostHeaderKey", "createHeadersLenient", "val", "INTERNALS$1", "STATUS_CODES", "Response", "_Response", "opts", "status", "contentType", "INTERNALS$2", "URL", "parse_url", "format_url", "parseURL", "urlStr", "streamDestructionSupported", "isRequest", "input", "isAbortSignal", "signal", "Request", "_Request", "parsedURL", "inputBody", "getNodeRequestOptions", "request", "contentLengthValue", "totalBytes", "agent", "AbortError", "URL$1", "PassThrough$1", "isDomainOrSubdomain", "destination", "original", "orig", "isSameProtocol", "fetch", "url", "send", "response", "destroyStream", "abortAndFinalize", "finalize", "req", "reqTimeout", "socket", "fixResponseChunkedTransferBadEnding", "s", "hadError", "hasDataListener", "location", "locationURL", "requestOpts", "response_options", "codings", "zlibOptions", "raw", "errorCallback", "stream", "code", "require_node_ponyfill", "__commonJSMin", "exports", "module", "nodeFetch", "realFetch", "fetch", "url", "options", "require_fetch_utils", "__commonJSMin", "exports", "isJSON", "contentTypeHeader", "mediaType", "parseContentType", "MEDIA_TYPE_REGEXP", "header", "headerDelimitationindex", "contentType", "match", "type", "subtype", "suffix", "index", "require_useFetch", "__commonJSMin", "exports", "react_1", "useCachedPromise_1", "useLatest_1", "cross_fetch_1", "fetch_utils_1", "helpers_1", "defaultParsing", "response", "contentTypeHeader", "defaultMapping", "result", "useFetch", "url", "options", "parseResponse", "mapResult", "initialData", "execute", "keepPreviousData", "onError", "onData", "onWillExecute", "failureToastOptions", "fetchOptions", "useCachedPromiseOptions", "parseResponseRef", "mapResultRef", "urlRef", "firstPageUrlRef", "firstPageUrl", "abortable", "paginatedFn", "pagination", "res", "parsed", "fn", "promise", "exports", "signals_js_1", "exports", "processOk", "process", "kExitEmitter", "global", "ObjectDefineProperty", "Emitter", "ev", "fn", "list", "i", "code", "signal", "ret", "SignalExitBase", "signalExitWrap", "handler", "cb", "opts", "SignalExitFallback", "SignalExit", "#hupSig", "#emitter", "#process", "#originalProcessEmit", "#originalProcessReallyExit", "#sigListeners", "#loaded", "sig", "listeners", "count", "p", "s", "a", "#processEmit", "#processReallyExit", "listener", "args", "og", "_a", "require_exec_utils", "__commonJSMin", "exports", "__importDefault", "mod", "node_buffer_1", "node_stream_1", "node_util_1", "signal_exit_1", "getSpawnedPromise", "spawned", "timeout", "spawnedPromise", "resolve", "reject", "exitCode", "signal", "error", "timeoutId", "timeoutPromise", "_resolve", "safeSpawnedPromise", "removeExitHandler", "MaxBufferError", "streamPipelinePromisified", "bufferStream", "options", "encoding", "isBuffer", "stream", "length", "chunks", "chunk", "getStream", "inputStream", "rejectPromise", "getBufferedData", "streamPromise", "getSpawnedResult", "stdout", "stderr", "processDone", "stdoutPromise", "stderrPromise", "stripFinalNewline", "input", "LF", "CR", "handleOutput", "value", "getErrorPrefix", "timedOut", "makeError", "command", "parentError", "execaMessage", "shortMessage", "message", "defaultParsing", "require_useExec", "__commonJSMin", "exports", "__importDefault", "mod", "node_child_process_1", "react_1", "useCachedPromise_1", "useLatest_1", "exec_utils_1", "SPACES_REGEXP", "parseCommand", "command", "args", "tokens", "token", "previousToken", "useExec", "optionsOrArgs", "options", "parseOutput", "input", "onData", "onWillExecute", "initialData", "execute", "keepPreviousData", "onError", "failureToastOptions", "execOptions", "useCachedPromiseOptions", "abortable", "parseOutputRef", "fn", "_command", "_args", "_options", "file", "spawned", "spawnedPromise", "error", "exitCode", "signal", "timedOut", "stdoutResult", "stderrResult", "stdout", "stderr", "require_stream_chain", "__commonJSMin", "exports", "module", "Readable", "Writable", "Duplex", "Transform", "none", "finalSymbol", "manySymbol", "final", "value", "many", "values", "isFinal", "o", "isMany", "getFinalValue", "getManyValues", "runAsyncGenerator", "gen", "stream", "data", "Chain", "wrapFunction", "fn", "chunk", "encoding", "callback", "result", "error", "wrapArray", "fns", "i", "isReadableNodeStream", "obj", "isWritableNodeStream", "isDuplexNodeStream", "_Chain", "options", "index", "s", "output", "_1", "_2", "e", "require_Utf8Stream", "__commonJSMin", "exports", "module", "Transform", "StringDecoder", "Utf8Stream", "options", "chunk", "encoding", "callback", "_", "require_Parser", "__commonJSMin", "exports", "module", "Utf8Stream", "patterns", "MAX_PATTERN_SIZE", "noSticky", "key", "src", "values", "expected", "fromHex", "s", "codes", "Parser", "_Parser", "options", "callback", "error", "match", "value", "index", "main", "t", "require_emit", "__commonJSMin", "exports", "module", "emit", "stream", "item", "require_stream_json", "__commonJSMin", "exports", "module", "Parser", "emit", "make", "options", "require_FilterBase", "__commonJSMin", "exports", "module", "Transform", "FilterBase", "_FilterBase", "string", "separator", "stack", "path", "regExp", "array", "options", "filter", "replacement", "chunk", "_", "callback", "passValue", "last", "post", "expected", "skipValue", "require_withParser", "__commonJSMin", "exports", "module", "Chain", "Parser", "withParser", "fn", "options", "require_Pick", "__commonJSMin", "exports", "module", "FilterBase", "withParser", "Pick", "_Pick", "options", "chunk", "require_Assembler", "__commonJSMin", "exports", "module", "EventEmitter", "startObject", "Ctr", "Assembler", "_Assembler", "stream", "options", "chunk", "path", "i", "key", "level", "index", "value", "require_StreamBase", "__commonJSMin", "exports", "module", "Transform", "Assembler", "Counter", "initialDepth", "StreamBase", "options", "chunk", "encoding", "callback", "result", "require_StreamArray", "__commonJSMin", "exports", "module", "StreamBase", "withParser", "StreamArray", "_StreamArray", "options", "chunk", "_", "callback", "discard", "require_useStreamJSON", "__commonJSMin", "exports", "__importDefault", "mod", "api_1", "cross_fetch_1", "node_fs_1", "promises_1", "node_path_1", "promises_2", "react_1", "stream_chain_1", "stream_json_1", "Pick_1", "StreamArray_1", "fetch_utils_1", "useCachedPromise_1", "helpers_1", "cache", "url", "destination", "fetchOptions", "cacheURL", "cacheFile", "response", "source", "abortSignal", "cacheURLIfNecessary", "folder", "fileName", "forceUpdate", "stats", "headResponse", "lastModified", "streamJsonFile", "filePath", "pageSize", "dataPath", "filterFn", "transformFn", "page", "pipeline", "data", "e", "useStreamJSON", "options", "initialData", "execute", "keepPreviousData", "onError", "onData", "onWillExecute", "failureToastOptions", "filter", "transform", "previousUrl", "previousDestination", "useCachedPromiseOptions", "generatorRef", "controllerRef", "hasMoreRef", "forceCacheUpdate", "newData", "done", "require_useSQL", "__commonJSMin", "exports", "__importDefault", "mod", "jsx_runtime_1", "api_1", "node_fs_1", "promises_1", "node_os_1", "node_child_process_1", "node_path_1", "react_1", "usePromise_1", "useLatest_1", "exec_utils_1", "showFailureToast_1", "helpers_1", "useSQL", "databasePath", "query", "options", "permissionPriming", "usePromiseOptions", "permissionView", "setPermissionView", "latestOptions", "abortable", "handleError", "_error", "error", "PermissionError", "isPermissionError", "PermissionErrorScreen", "fn", "workaroundCopiedDb", "abortSignal", "spawned", "spawnedPromise", "exitCode", "signal", "stdoutResult", "stderrResult", "checkAborted", "tempFolder", "message", "macosVenturaAndLater", "preferencesString", "props", "action", "require_useForm", "__commonJSMin", "exports", "react_1", "useLatest_1", "FormValidation", "validationError", "validation", "value", "valueIsValid", "useForm", "props", "_onSubmit", "initialValues", "values", "setValues", "errors", "setErrors", "refs", "latestValidation", "latestOnSubmit", "focus", "id", "handleSubmit", "validationErrors", "error", "result", "setValidationError", "setValue", "itemProps", "target", "event", "instance", "reset", "ref", "require_useAI", "__commonJSMin", "exports", "react_1", "api_1", "usePromise_1", "useAI", "prompt", "options", "creativity", "stream", "model", "usePromiseOptions", "data", "setData", "abortable", "isLoading", "error", "revalidate", "shouldStream", "x", "require_useFrecencySorting", "__commonJSMin", "exports", "react_1", "useLatest_1", "useCachedState_1", "HALF_LIFE_DAYS", "MS_PER_DAY", "DECAY_RATE_CONSTANT", "VISIT_TYPE_POINTS", "getNewFrecency", "item", "now", "lastVisited", "frecency", "visitAgeInDays", "currentVisitValue", "totalVisitValue", "defaultKey", "useFrecencySorting", "data", "options", "keyRef", "sortUnvisitedRef", "storedFrecencies", "setStoredFrecencies", "visitItem", "itemKey", "newFrecency", "resetRanking", "newFrencencies", "a", "b", "frecencyA", "frecencyB", "require_useLocalStorage", "__commonJSMin", "exports", "api_1", "showFailureToast_1", "helpers_1", "usePromise_1", "useLocalStorage", "key", "initialValue", "value", "isLoading", "mutate", "storageKey", "item", "setValue", "error", "removeValue", "require_color", "__commonJSMin", "exports", "hexToRGB", "hex", "r", "g", "b", "rgbToHex", "rString", "gString", "bString", "rgbToHSL", "cmin", "cmax", "delta", "h", "s", "l", "hslToRGB", "c", "x", "m", "hexToHSL", "hslToHex", "hsl", "clamp", "value", "min", "max", "offset", "slightlyDarkerColor", "slightlyLighterColor", "require_avatar", "__commonJSMin", "exports", "color_1", "getWholeCharAndI", "str", "i", "code", "next", "prev", "avatarColorSet", "getAvatarIcon", "name", "options", "words", "initials", "firstWordFirstLetter", "lastWordFirstLetter", "backgroundColor", "initialsCharIndex", "char", "colorIndex", "radius", "require_favicon", "__commonJSMin", "exports", "api_1", "url_1", "getFavicon", "url", "options", "hostname", "e", "require_progress", "__commonJSMin", "exports", "api_1", "polarToCartesian", "centerX", "centerY", "radius", "angleInDegrees", "angleInRadians", "describeArc", "x", "y", "startAngle", "endAngle", "start", "end", "largeArcFlag", "getProgressIcon", "progress", "color", "options", "background", "backgroundOpacity", "stroke", "require_icon", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "require_providers", "__commonJSMin", "exports", "api_1", "OAuthService_1", "PROVIDER_CLIENT_IDS", "getIcon", "markup", "PROVIDERS_ICONS", "asanaService", "options", "githubService", "googleService", "jiraService", "linearService", "slackService", "response", "zoomService", "require_OAuthService", "__commonJSMin", "exports", "__importDefault", "mod", "cross_fetch_1", "providers_1", "OAuthService", "options", "x", "currentTokenSet", "tokens", "authRequest", "authorizationCode", "params", "response", "responseText", "token", "tokenResponse", "require_withAccessToken", "__commonJSMin", "exports", "jsx_runtime_1", "api_1", "token", "type", "authorize", "getIdToken", "onAuthorize", "withAccessToken", "options", "fn", "props", "idToken", "Component", "WrappedComponent", "wrapPromise", "getAccessToken", "promise", "status", "response", "suspender", "res", "err", "require_oauth", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "require_run_applescript", "__commonJSMin", "exports", "__importDefault", "mod", "node_child_process_1", "exec_utils_1", "runAppleScript", "script", "optionsOrArgs", "options", "humanReadableOutput", "language", "timeout", "execOptions", "outputArguments", "spawned", "spawnedPromise", "error", "exitCode", "signal", "timedOut", "stdoutResult", "stderrResult", "stdout", "stderr", "require_createDeeplink", "__commonJSMin", "exports", "__importDefault", "mod", "api_1", "node_fs_1", "node_path_1", "DeeplinkType", "getProtocol", "getOwnerOrAuthorName", "packageJSON", "createScriptCommandDeeplink", "options", "url", "params", "arg", "createExtensionDeeplink", "ownerOrAuthorName", "extensionName", "createDeeplink", "require_dist", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "require_listCacheClear", "__commonJSMin", "exports", "module", "listCacheClear", "require_eq", "__commonJSMin", "exports", "module", "eq", "value", "other", "require_assocIndexOf", "__commonJSMin", "exports", "module", "eq", "assocIndexOf", "array", "key", "length", "require_listCacheDelete", "__commonJSMin", "exports", "module", "assocIndexOf", "arrayProto", "splice", "listCacheDelete", "key", "data", "index", "lastIndex", "require_listCacheGet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheGet", "key", "data", "index", "require_listCacheHas", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheHas", "key", "require_listCacheSet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheSet", "key", "value", "data", "index", "require_ListCache", "__commonJSMin", "exports", "module", "listCacheClear", "listCacheDelete", "listCacheGet", "listCacheHas", "listCacheSet", "ListCache", "entries", "index", "length", "entry", "require_stackClear", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "require_stackDelete", "__commonJSMin", "exports", "module", "stackDelete", "key", "data", "result", "require_stackGet", "__commonJSMin", "exports", "module", "stackGet", "key", "require_stackHas", "__commonJSMin", "exports", "module", "stackHas", "key", "require_freeGlobal", "__commonJSMin", "exports", "module", "freeGlobal", "require_root", "__commonJSMin", "exports", "module", "freeGlobal", "freeSelf", "root", "require_Symbol", "__commonJSMin", "exports", "module", "root", "Symbol", "require_getRawTag", "__commonJSMin", "exports", "module", "Symbol", "objectProto", "hasOwnProperty", "nativeObjectToString", "symToStringTag", "getRawTag", "value", "isOwn", "tag", "unmasked", "result", "require_objectToString", "__commonJSMin", "exports", "module", "objectProto", "nativeObjectToString", "objectToString", "value", "require_baseGetTag", "__commonJSMin", "exports", "module", "Symbol", "getRawTag", "objectToString", "nullTag", "undefinedTag", "symToStringTag", "baseGetTag", "value", "require_isObject", "__commonJSMin", "exports", "module", "isObject", "value", "type", "require_isFunction", "__commonJSMin", "exports", "module", "baseGetTag", "isObject", "asyncTag", "funcTag", "genTag", "proxyTag", "isFunction", "value", "tag", "require_coreJsData", "__commonJSMin", "exports", "module", "root", "coreJsData", "require_isMasked", "__commonJSMin", "exports", "module", "coreJsData", "maskSrcKey", "uid", "isMasked", "func", "require_toSource", "__commonJSMin", "exports", "module", "funcProto", "funcToString", "toSource", "func", "require_baseIsNative", "__commonJSMin", "exports", "module", "isFunction", "isMasked", "isObject", "toSource", "reRegExpChar", "reIsHostCtor", "funcProto", "objectProto", "funcToString", "hasOwnProperty", "reIsNative", "baseIsNative", "value", "pattern", "require_getValue", "__commonJSMin", "exports", "module", "getValue", "object", "key", "require_getNative", "__commonJSMin", "exports", "module", "baseIsNative", "getValue", "getNative", "object", "key", "value", "require_Map", "__commonJSMin", "exports", "module", "getNative", "root", "Map", "require_nativeCreate", "__commonJSMin", "exports", "module", "getNative", "nativeCreate", "require_hashClear", "__commonJSMin", "exports", "module", "nativeCreate", "hashClear", "require_hashDelete", "__commonJSMin", "exports", "module", "hashDelete", "key", "result", "require_hashGet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "objectProto", "hasOwnProperty", "hashGet", "key", "data", "result", "require_hashHas", "__commonJSMin", "exports", "module", "nativeCreate", "objectProto", "hasOwnProperty", "hashHas", "key", "data", "require_hashSet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "hashSet", "key", "value", "data", "require_Hash", "__commonJSMin", "exports", "module", "hashClear", "hashDelete", "hashGet", "hashHas", "hashSet", "Hash", "entries", "index", "length", "entry", "require_mapCacheClear", "__commonJSMin", "exports", "module", "Hash", "ListCache", "Map", "mapCacheClear", "require_isKeyable", "__commonJSMin", "exports", "module", "isKeyable", "value", "type", "require_getMapData", "__commonJSMin", "exports", "module", "isKeyable", "getMapData", "map", "key", "data", "require_mapCacheDelete", "__commonJSMin", "exports", "module", "getMapData", "mapCacheDelete", "key", "result", "require_mapCacheGet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheGet", "key", "require_mapCacheHas", "__commonJSMin", "exports", "module", "getMapData", "mapCacheHas", "key", "require_mapCacheSet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheSet", "key", "value", "data", "size", "require_MapCache", "__commonJSMin", "exports", "module", "mapCacheClear", "mapCacheDelete", "mapCacheGet", "mapCacheHas", "mapCacheSet", "MapCache", "entries", "index", "length", "entry", "require_stackSet", "__commonJSMin", "exports", "module", "ListCache", "Map", "MapCache", "LARGE_ARRAY_SIZE", "stackSet", "key", "value", "data", "pairs", "require_Stack", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "stackDelete", "stackGet", "stackHas", "stackSet", "Stack", "entries", "data", "require_setCacheAdd", "__commonJSMin", "exports", "module", "HASH_UNDEFINED", "setCacheAdd", "value", "require_setCacheHas", "__commonJSMin", "exports", "module", "setCacheHas", "value", "require_SetCache", "__commonJSMin", "exports", "module", "MapCache", "setCacheAdd", "setCacheHas", "SetCache", "values", "index", "length", "require_arraySome", "__commonJSMin", "exports", "module", "arraySome", "array", "predicate", "index", "length", "require_cacheHas", "__commonJSMin", "exports", "module", "cacheHas", "cache", "key", "require_equalArrays", "__commonJSMin", "exports", "module", "SetCache", "arraySome", "cacheHas", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "equalArrays", "array", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "arrLength", "othLength", "arrStacked", "othStacked", "index", "result", "seen", "arrValue", "othValue", "compared", "othIndex", "require_Uint8Array", "__commonJSMin", "exports", "module", "root", "Uint8Array", "require_mapToArray", "__commonJSMin", "exports", "module", "mapToArray", "map", "index", "result", "value", "key", "require_setToArray", "__commonJSMin", "exports", "module", "setToArray", "set", "index", "result", "value", "require_equalByTag", "__commonJSMin", "exports", "module", "Symbol", "Uint8Array", "eq", "equalArrays", "mapToArray", "setToArray", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "boolTag", "dateTag", "errorTag", "mapTag", "numberTag", "regexpTag", "setTag", "stringTag", "symbolTag", "arrayBufferTag", "dataViewTag", "symbolProto", "symbolValueOf", "equalByTag", "object", "other", "tag", "bitmask", "customizer", "equalFunc", "stack", "convert", "isPartial", "stacked", "result", "require_arrayPush", "__commonJSMin", "exports", "module", "arrayPush", "array", "values", "index", "length", "offset", "require_isArray", "__commonJSMin", "exports", "module", "isArray", "require_baseGetAllKeys", "__commonJSMin", "exports", "module", "arrayPush", "isArray", "baseGetAllKeys", "object", "keysFunc", "symbolsFunc", "result", "require_arrayFilter", "__commonJSMin", "exports", "module", "arrayFilter", "array", "predicate", "index", "length", "resIndex", "result", "value", "require_stubArray", "__commonJSMin", "exports", "module", "stubArray", "require_getSymbols", "__commonJSMin", "exports", "module", "arrayFilter", "stubArray", "objectProto", "propertyIsEnumerable", "nativeGetSymbols", "getSymbols", "object", "symbol", "require_baseTimes", "__commonJSMin", "exports", "module", "baseTimes", "n", "iteratee", "index", "result", "require_isObjectLike", "__commonJSMin", "exports", "module", "isObjectLike", "value", "require_baseIsArguments", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "argsTag", "baseIsArguments", "value", "require_isArguments", "__commonJSMin", "exports", "module", "baseIsArguments", "isObjectLike", "objectProto", "hasOwnProperty", "propertyIsEnumerable", "isArguments", "value", "require_stubFalse", "__commonJSMin", "exports", "module", "stubFalse", "require_isBuffer", "__commonJSMin", "exports", "module", "root", "stubFalse", "freeExports", "freeModule", "moduleExports", "Buffer", "nativeIsBuffer", "isBuffer", "require_isIndex", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "reIsUint", "isIndex", "value", "length", "type", "require_isLength", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "isLength", "value", "require_baseIsTypedArray", "__commonJSMin", "exports", "module", "baseGetTag", "isLength", "isObjectLike", "argsTag", "arrayTag", "boolTag", "dateTag", "errorTag", "funcTag", "mapTag", "numberTag", "objectTag", "regexpTag", "setTag", "stringTag", "weakMapTag", "arrayBufferTag", "dataViewTag", "float32Tag", "float64Tag", "int8Tag", "int16Tag", "int32Tag", "uint8Tag", "uint8ClampedTag", "uint16Tag", "uint32Tag", "typedArrayTags", "baseIsTypedArray", "value", "require_baseUnary", "__commonJSMin", "exports", "module", "baseUnary", "func", "value", "require_nodeUtil", "__commonJSMin", "exports", "module", "freeGlobal", "freeExports", "freeModule", "moduleExports", "freeProcess", "nodeUtil", "types", "require_isTypedArray", "__commonJSMin", "exports", "module", "baseIsTypedArray", "baseUnary", "nodeUtil", "nodeIsTypedArray", "isTypedArray", "require_arrayLikeKeys", "__commonJSMin", "exports", "module", "baseTimes", "isArguments", "isArray", "isBuffer", "isIndex", "isTypedArray", "objectProto", "hasOwnProperty", "arrayLikeKeys", "value", "inherited", "isArr", "isArg", "isBuff", "isType", "skipIndexes", "result", "length", "key", "require_isPrototype", "__commonJSMin", "exports", "module", "objectProto", "isPrototype", "value", "Ctor", "proto", "require_overArg", "__commonJSMin", "exports", "module", "overArg", "func", "transform", "arg", "require_nativeKeys", "__commonJSMin", "exports", "module", "overArg", "nativeKeys", "require_baseKeys", "__commonJSMin", "exports", "module", "isPrototype", "nativeKeys", "objectProto", "hasOwnProperty", "baseKeys", "object", "result", "key", "require_isArrayLike", "__commonJSMin", "exports", "module", "isFunction", "isLength", "isArrayLike", "value", "require_keys", "__commonJSMin", "exports", "module", "arrayLikeKeys", "baseKeys", "isArrayLike", "keys", "object", "require_getAllKeys", "__commonJSMin", "exports", "module", "baseGetAllKeys", "getSymbols", "keys", "getAllKeys", "object", "require_equalObjects", "__commonJSMin", "exports", "module", "getAllKeys", "COMPARE_PARTIAL_FLAG", "objectProto", "hasOwnProperty", "equalObjects", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "objProps", "objLength", "othProps", "othLength", "index", "key", "objStacked", "othStacked", "result", "skipCtor", "objValue", "othValue", "compared", "objCtor", "othCtor", "require_DataView", "__commonJSMin", "exports", "module", "getNative", "root", "DataView", "require_Promise", "__commonJSMin", "exports", "module", "getNative", "root", "Promise", "require_Set", "__commonJSMin", "exports", "module", "getNative", "root", "Set", "require_WeakMap", "__commonJSMin", "exports", "module", "getNative", "root", "WeakMap", "require_getTag", "__commonJSMin", "exports", "module", "DataView", "Map", "Promise", "Set", "WeakMap", "baseGetTag", "toSource", "mapTag", "objectTag", "promiseTag", "setTag", "weakMapTag", "dataViewTag", "dataViewCtorString", "mapCtorString", "promiseCtorString", "setCtorString", "weakMapCtorString", "getTag", "value", "result", "Ctor", "ctorString", "require_baseIsEqualDeep", "__commonJSMin", "exports", "module", "Stack", "equalArrays", "equalByTag", "equalObjects", "getTag", "isArray", "isBuffer", "isTypedArray", "COMPARE_PARTIAL_FLAG", "argsTag", "arrayTag", "objectTag", "objectProto", "hasOwnProperty", "baseIsEqualDeep", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "objIsArr", "othIsArr", "objTag", "othTag", "objIsObj", "othIsObj", "isSameTag", "objIsWrapped", "othIsWrapped", "objUnwrapped", "othUnwrapped", "require_baseIsEqual", "__commonJSMin", "exports", "module", "baseIsEqualDeep", "isObjectLike", "baseIsEqual", "value", "other", "bitmask", "customizer", "stack", "require_baseIsMatch", "__commonJSMin", "exports", "module", "Stack", "baseIsEqual", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseIsMatch", "object", "source", "matchData", "customizer", "index", "length", "noCustomizer", "data", "key", "objValue", "srcValue", "stack", "result", "require_isStrictComparable", "__commonJSMin", "exports", "module", "isObject", "isStrictComparable", "value", "require_getMatchData", "__commonJSMin", "exports", "module", "isStrictComparable", "keys", "getMatchData", "object", "result", "length", "key", "value", "require_matchesStrictComparable", "__commonJSMin", "exports", "module", "matchesStrictComparable", "key", "srcValue", "object", "require_baseMatches", "__commonJSMin", "exports", "module", "baseIsMatch", "getMatchData", "matchesStrictComparable", "baseMatches", "source", "matchData", "object", "require_isSymbol", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "symbolTag", "isSymbol", "value", "require_isKey", "__commonJSMin", "exports", "module", "isArray", "isSymbol", "reIsDeepProp", "reIsPlainProp", "isKey", "value", "object", "type", "require_memoize", "__commonJSMin", "exports", "module", "MapCache", "FUNC_ERROR_TEXT", "memoize", "func", "resolver", "memoized", "args", "key", "cache", "result", "require_memoizeCapped", "__commonJSMin", "exports", "module", "memoize", "MAX_MEMOIZE_SIZE", "memoizeCapped", "func", "result", "key", "cache", "require_stringToPath", "__commonJSMin", "exports", "module", "memoizeCapped", "rePropName", "reEscapeChar", "stringToPath", "string", "result", "match", "number", "quote", "subString", "require_arrayMap", "__commonJSMin", "exports", "module", "arrayMap", "array", "iteratee", "index", "length", "result", "require_baseToString", "__commonJSMin", "exports", "module", "Symbol", "arrayMap", "isArray", "isSymbol", "INFINITY", "symbolProto", "symbolToString", "baseToString", "value", "result", "require_toString", "__commonJSMin", "exports", "module", "baseToString", "toString", "value", "require_castPath", "__commonJSMin", "exports", "module", "isArray", "isKey", "stringToPath", "toString", "castPath", "value", "object", "require_toKey", "__commonJSMin", "exports", "module", "isSymbol", "INFINITY", "toKey", "value", "result", "require_baseGet", "__commonJSMin", "exports", "module", "castPath", "toKey", "baseGet", "object", "path", "index", "length", "require_get", "__commonJSMin", "exports", "module", "baseGet", "get", "object", "path", "defaultValue", "result", "require_baseHasIn", "__commonJSMin", "exports", "module", "baseHasIn", "object", "key", "require_hasPath", "__commonJSMin", "exports", "module", "castPath", "isArguments", "isArray", "isIndex", "isLength", "toKey", "hasPath", "object", "path", "hasFunc", "index", "length", "result", "key", "require_hasIn", "__commonJSMin", "exports", "module", "baseHasIn", "hasPath", "hasIn", "object", "path", "require_baseMatchesProperty", "__commonJSMin", "exports", "module", "baseIsEqual", "get", "hasIn", "isKey", "isStrictComparable", "matchesStrictComparable", "toKey", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseMatchesProperty", "path", "srcValue", "object", "objValue", "require_identity", "__commonJSMin", "exports", "module", "identity", "value", "require_baseProperty", "__commonJSMin", "exports", "module", "baseProperty", "key", "object", "require_basePropertyDeep", "__commonJSMin", "exports", "module", "baseGet", "basePropertyDeep", "path", "object", "require_property", "__commonJSMin", "exports", "module", "baseProperty", "basePropertyDeep", "isKey", "toKey", "property", "path", "require_baseIteratee", "__commonJSMin", "exports", "module", "baseMatches", "baseMatchesProperty", "identity", "isArray", "property", "baseIteratee", "value", "require_baseFindIndex", "__commonJSMin", "exports", "module", "baseFindIndex", "array", "predicate", "fromIndex", "fromRight", "length", "index", "require_baseIsNaN", "__commonJSMin", "exports", "module", "baseIsNaN", "value", "require_strictIndexOf", "__commonJSMin", "exports", "module", "strictIndexOf", "array", "value", "fromIndex", "index", "length", "require_baseIndexOf", "__commonJSMin", "exports", "module", "baseFindIndex", "baseIsNaN", "strictIndexOf", "baseIndexOf", "array", "value", "fromIndex", "require_arrayIncludes", "__commonJSMin", "exports", "module", "baseIndexOf", "arrayIncludes", "array", "value", "length", "require_arrayIncludesWith", "__commonJSMin", "exports", "module", "arrayIncludesWith", "array", "value", "comparator", "index", "length", "require_noop", "__commonJSMin", "exports", "module", "noop", "require_createSet", "__commonJSMin", "exports", "module", "Set", "noop", "setToArray", "INFINITY", "createSet", "values", "require_baseUniq", "__commonJSMin", "exports", "module", "SetCache", "arrayIncludes", "arrayIncludesWith", "cacheHas", "createSet", "setToArray", "LARGE_ARRAY_SIZE", "baseUniq", "array", "iteratee", "comparator", "index", "includes", "length", "isCommon", "result", "seen", "set", "outer", "value", "computed", "seenIndex", "require_uniqBy", "__commonJSMin", "exports", "module", "baseIteratee", "baseUniq", "uniqBy", "array", "iteratee", "generate_colors_exports", "__export", "GenerateColors", "__toCommonJS", "import_api", "import_utils", "import_api", "import_api", "multiplyMatrices", "A", "B", "m", "x", "p", "B_cols", "_", "i", "product", "row", "col", "ret", "c", "isString", "str", "type", "o", "serializeNumber", "n", "precision", "unit", "isNone", "toPrecision", "skipNone", "integer", "digits", "multiplier", "angleFactor", "parseFunction", "isFunctionRegex", "isNumberRegex", "unitValueRegex", "singleArgument", "parts", "args", "$0", "rawArg", "match", "arg", "unitlessArg", "last", "arr", "interpolate", "start", "end", "interpolateInv", "value", "mapRange", "from", "to", "parseCoordGrammar", "coordGrammars", "coordGrammar", "range", "clamp", "min", "val", "max", "copySign", "spow", "base", "exp", "zdiv", "d", "bisectLeft", "lo", "hi", "mid", "Hooks", "name", "callback", "first", "env", "hooks", "defaults", "msg", "WHITES", "getWhite", "adapt", "W1", "W2", "XYZ", "options", "noneTypes", "coerceCoords", "space", "format", "coords", "id", "coordMeta", "providedType", "coordName", "fromRange", "toRange", "util.mapRange", "parse", "meta", "util.parseFunction", "alternateId", "ids", "alpha", "ColorSpace", "colorSpec", "specId", "types", "didYouMean", "registryId", "cssId", "util.last", "formatId", "color", "getColor", "\u03B5", "_ColorSpace", "white", "getPath", "epsilon", "coord", "processFormat", "myPath", "otherPath", "connectionSpace", "connectionSpaceIndex", "alias", "alternatives", "ref", "workingSpace", "coordType", "normalizedCoord", "s", "coordFormats", "outputType", "suffix", "xyz_d65", "RGBColorSpace", "XYZ_D65", "rgb", "xyz", "getAll", "get", "prop", "index", "setAll", "set", "object", "XYZ_D50", "\u03B53", "\u03BA", "lab", "xyz_d50", "f", "Lab", "constrain", "angle", "adjust", "arc", "angles", "a1", "a2", "angleDiff", "lch", "L", "a", "b", "hue", "constrainAngle", "LCH", "Lightness", "Chroma", "Hue", "Gfactor", "\u03C0", "r2d", "d2r", "pow7", "x2", "deltaE2000", "sample", "kL", "kC", "kH", "L1", "b1", "C1", "L2", "b2", "C2", "Cbar", "C7", "G", "adash1", "adash2", "Cdash1", "Cdash2", "h1", "h2", "\u0394L", "\u0394C", "hdiff", "hsum", "habs", "\u0394h", "\u0394H", "Ldash", "Cdash", "Cdash7", "hdash", "lsq", "SL", "SC", "T", "SH", "\u0394\u03B8", "RC", "RT", "dE", "XYZtoLMS_M", "LMStoXYZ_M", "LMStoLab_M", "LabtoLMS_M", "OKLab", "LMSg", "LMS", "deltaEOK", "oklab", "\u0394a", "\u0394b", "inGamut", "clone", "distance", "color1", "color2", "coords1", "coords2", "acc", "c1", "c2", "deltaE76", "deltaECMC", "l", "H1", "H2", "C4", "F", "Yw", "XYZ_Abs_D65", "v", "AbsXYZ", "g", "ninv", "c3", "pinv", "d0", "XYZtoCone_M", "ConetoXYZ_M", "ConetoIab_M", "IabtoCone_M", "Jzazbz", "Xa", "Ya", "Za", "Xm", "Ym", "PQLMS", "num", "denom", "Iz", "az", "bz", "Jz", "jzczhz", "jzazbz", "deltaEJz", "Jz1", "Cz1", "Hz1", "Jz2", "Cz2", "Hz2", "\u0394J", "m1", "m2", "im1", "im2", "LMStoIPT_M", "IPTtoLMS_M", "ictcp", "LMStoICtCp", "ICtCp", "ICtCptoLMS", "deltaEITP", "I1", "T1", "P1", "I2", "T2", "P2", "adaptedCoef", "adaptedCoefInv", "tau", "cat16", "cat16Inv", "surroundMap", "hueQuadMap", "rad2deg", "deg2rad", "fl", "unadapt", "adapted", "constant", "cabs", "hueQuadrature", "h", "hp", "hii", "ei", "eii", "Hi", "t", "invHueQuadrature", "H", "Hp", "environment", "refWhite", "adaptingLuminance", "backgroundLuminance", "surround", "discounting", "xyzW", "yw", "rgbW", "k4", "rgbCW", "rgbAW", "viewingConditions", "fromCam16", "cam16", "hRad", "cosh", "sinh", "Jroot", "et", "p1", "p2", "r", "rgb_c", "toCam16", "xyzd65", "xyz100", "rgbA", "J", "Q", "C", "M", "toLstar", "y", "fromLstar", "lstar", "fromHct", "j", "threshold", "max_attempts", "attempt", "delta", "toHct", "hct", "ucsCoeff", "convertUcsAb", "hrad", "deltaEHCT", "t1", "t2", "deltaEMethods", "calcEpsilon", "jnd", "order", "GMAPPRESET", "toGamut", "method", "deltaEMethod", "blackWhiteClamp", "util.isString", "spaceColor", "toGamutCSS", "de", "clipped", "channelMeta", "channel", "util.isNone", "mapSpace", "coordId", "mappedColor", "low", "high", "bounds", "COLORS", "origin", "oklchSpace", "origin_OKLCH", "black", "clip", "_color", "destColor", "spaceCoords", "util.clamp", "min_inGamut", "current", "E", "chroma", "serialize", "customOptions", "checkInGamut", "util.serializeNumber", "strAlpha", "toXYZ_M", "fromXYZ_M", "REC2020Linear", "\u03B1", "\u03B2", "REC2020", "RGB", "P3Linear", "sRGBLinear", "KEYWORDS", "coordGrammarNumber", "sRGB", "sign", "abs", "rgba", "component", "collapse", "collapsible", "P3", "supportsNone", "display", "fallbackColor", "equals", "getLuminance", "setLuminance", "register", "Color", "contrastWCAG21", "Y1", "Y2", "normBG", "normTXT", "revTXT", "revBG", "blkThrs", "blkClmp", "loClip", "deltaYmin", "scaleBoW", "loBoWoffset", "scaleWoB", "fclamp", "Y", "linearize", "contrastAPCA", "background", "foreground", "S", "Sapc", "R", "lumTxt", "lumBg", "Ytxt", "Ybg", "BoW", "contrastMichelson", "contrastWeber", "contrastLstar", "lab_d65", "phi", "contrastDeltaPhi", "Lstr1", "Lstr2", "deltaPhiStar", "contrast", "algorithm", "rest", "algorithms", "contrastAlgorithms", "uv", "X", "Z", "xy", "sum", "deltaE", "lighten", "amount", "lightness", "darken", "mix", "steps", "colorRange", "isRange", "maxDeltaE", "maxSteps", "rangeOptions", "totalDelta", "actualSteps", "step", "maxDelta", "cur", "\u0394\u0395", "prev", "outputSpace", "progression", "premultiplied", "rangeArgs", "\u03B81", "\u03B82", "angles.adjust", "HSL", "hsl", "k", "HSV", "hsv", "hwb", "w", "gray", "A98Linear", "a98rgb", "ProPhotoLinear", "Et", "Et2", "prophoto", "oklch", "U_PRIME_WHITE", "V_PRIME_WHITE", "Luv", "up", "vp", "u", "LCHuv", "m_r0", "m_r1", "m_r2", "m_g0", "m_g1", "m_g2", "m_b0", "m_b1", "m_b2", "distanceFromOriginAngle", "slope", "intercept", "calculateBoundingLines", "sub1", "sub2", "s1r", "s2r", "s3r", "s1g", "s2g", "s3g", "s1b", "s2b", "s3b", "calcMaxChromaHsluv", "lines", "hueRad", "r0", "r1", "g0", "g1", "b0", "hsluv", "distanceFromOrigin", "calcMaxChromaHpluv", "hpluv", "minv", "rec2100Pq", "scale", "rec2100Hlg", "CATs", "defineCAT", "toCone_M", "fromCone_M", "\u03C1s", "\u03B3s", "\u03B2s", "\u03C1d", "\u03B3d", "\u03B2d", "scaled_cone_M", "ACEScg", "ACES_min_nonzero", "ACES_cc_max", "acescc", "_Color", "code", "instance", "returns", "func", "exports", "util", "key", "spaces", "addSpaceAccessors", "propId", "obj", "property", "receiver", "variations", "chromaticity", "luminance", "interpolation", "contrastMethods", "import_uniqBy", "preferences", "getFormattedColor", "_color", "format", "color", "Color", "oklchColor", "l", "c", "h", "lchColor", "unsupportedPreviewFormats", "getPreviewColor", "import_jsx_runtime", "CopyAsSubmenu", "color", "onCopy", "getFormattedColor", "import_api", "import_utils", "MAX_HISTORY_LENGTH", "addToHistory", "color", "cache", "serializedHistory", "previousHistory", "newHistory", "item", "getFormattedColor", "MAX_HISTORY_LENGTH", "import_jsx_runtime", "GenerateColors", "props", "data", "isLoading", "colors", "error", "c", "index", "formattedColor", "getFormattedColor", "previewColor", "getPreviewColor", "color", "addToHistory", "CopyAsSubmenu"] +} diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/menu-bar.js b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/menu-bar.js @@ -0,0 +1,31 @@ +"use strict";var p8=Object.create;var Ha=Object.defineProperty;var t8=Object.getOwnPropertyDescriptor;var d8=Object.getOwnPropertyNames;var r8=Object.getPrototypeOf,i8=Object.prototype.hasOwnProperty;var u=(e,a)=>()=>(a||e((a={exports:{}}).exports,a),a.exports),s8=(e,a)=>{for(var p in a)Ha(e,p,{get:a[p],enumerable:!0})},st=(e,a,p,t)=>{if(a&&typeof a=="object"||typeof a=="function")for(let d of d8(a))!i8.call(e,d)&&d!==p&&Ha(e,d,{get:()=>a[d],enumerable:!(t=t8(a,d))||t.enumerable});return e};var Q2=(e,a,p)=>(p=e!=null?p8(r8(e)):{},st(a||!e||!e.__esModule?Ha(p,"default",{value:e,enumerable:!0}):p,e)),n8=e=>st(Ha({},"__esModule",{value:!0}),e);var mt=u(lt=>{var nt=Object.prototype.hasOwnProperty;function ep(e,a){var p,t;if(e===a)return!0;if(e&&a&&(p=e.constructor)===a.constructor){if(p===Date)return e.getTime()===a.getTime();if(p===RegExp)return e.toString()===a.toString();if(p===Array){if((t=e.length)===a.length)for(;t--&&ep(e[t],a[t]););return t===-1}if(!p||typeof e=="object"){t=0;for(p in e)if(nt.call(e,p)&&++t&&!nt.call(a,p)||!(p in a)||!ep(e[p],a[p]))return!1;return Object.keys(a).length===t}}return e!==e&&a!==a}lt.dequal=ep});var ot=u(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.useDeepMemo=void 0;var ap=require("react"),l8=mt();function m8(e){let a=(0,ap.useRef)(e),p=(0,ap.useRef)(0);return(0,l8.dequal)(e,a.current)||(a.current=e,p.current+=1),(0,ap.useMemo)(()=>a.current,[p.current])}Ga.useDeepMemo=m8});var R1=u(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.useLatest=void 0;var o8=require("react");function u8(e){let a=(0,o8.useRef)(e);return a.current=e,a}Ka.useLatest=u8});var na=u(N1=>{"use strict";var c8=N1&&N1.__createBinding||(Object.create?function(e,a,p,t){t===void 0&&(t=p);var d=Object.getOwnPropertyDescriptor(a,p);(!d||("get"in d?!a.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return a[p]}}),Object.defineProperty(e,t,d)}:function(e,a,p,t){t===void 0&&(t=p),e[t]=a[p]}),f8=N1&&N1.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:!0,value:a})}:function(e,a){e.default=a}),ct=N1&&N1.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)p!=="default"&&Object.prototype.hasOwnProperty.call(e,p)&&c8(a,e,p);return f8(a,e),a};Object.defineProperty(N1,"__esModule",{value:!0});N1.showFailureToast=void 0;var h8=ct(require("fs")),v8=ct(require("path")),xe=require("@raycast/api");function g8(e,a){let p=e instanceof Error?e.message:String(e);return(0,xe.showToast)({style:xe.Toast.Style.Failure,title:a?.title??"Something went wrong",message:a?.message??p,primaryAction:a?.primaryAction??ut(e),secondaryAction:a?.primaryAction?ut(e):void 0})}N1.showFailureToast=g8;var ut=e=>{let a=!0,p="[Extension Name]...",t="";try{let i=JSON.parse(h8.readFileSync(v8.join(xe.environment.assetsPath,"..","package.json"),"utf8"));p=`[${i.title}]...`,t=`https://raycast.com/${i.owner||i.author}/${i.name}`,(!i.owner||i.access==="public")&&(a=!1)}catch{}let d=xe.environment.isDevelopment||a,r=e instanceof Error?e?.stack||e?.message||"":String(e);return{title:d?"Copy Logs":"Report Error",onAction(i){i.hide(),d?xe.Clipboard.copy(r):(0,xe.open)(`https://github.com/raycast/extensions/issues/new?&labels=extension%2Cbug&template=extension_bug_report.yml&title=${encodeURIComponent(p)}&extension-url=${encodeURI(t)}&description=${encodeURIComponent(`#### Error: +\`\`\` +${r} +\`\`\` +`)}`)}}}});var Te=u(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.usePromise=void 0;var l1=require("react"),la=require("@raycast/api"),w8=ot(),G1=R1(),_8=na();function b8(e,a,p){let t=(0,l1.useRef)(0),[d,r]=(0,l1.useState)({isLoading:!0}),i=(0,G1.useLatest)(e),n=(0,G1.useLatest)(p?.abortable),s=(0,G1.useLatest)(a||[]),l=(0,G1.useLatest)(p?.onError),o=(0,G1.useLatest)(p?.onData),m=(0,G1.useLatest)(p?.onWillExecute),c=(0,G1.useLatest)(p?.failureToastOptions),v=(0,G1.useLatest)(d.data),f=(0,l1.useRef)(),h=(0,l1.useRef)({page:0}),g=(0,l1.useRef)(!1),_=(0,l1.useRef)(!0),w=(0,l1.useRef)(50),b=(0,l1.useCallback)((...G)=>{let M=++t.current;n.current&&(n.current.current?.abort(),n.current.current=new AbortController),m.current?.(G),r(C=>({...C,isLoading:!0}));let n1=y8(i.current)(...G);function f1(C){return C.name=="AbortError"||M===t.current&&(l.current?l.current(C):la.environment.launchType!==la.LaunchType.Background&&(0,_8.showFailureToast)(C,{title:"Failed to fetch latest data",primaryAction:{title:"Retry",onAction(e1){e1.hide(),f.current?.(...s.current||[])}},...c.current}),r({error:C,isLoading:!1})),C}return typeof n1=="function"?(g.current=!0,n1(h.current).then(({data:C,hasMore:e1,cursor:d1})=>(M===t.current&&(h.current&&(h.current.cursor=d1,h.current.lastItem=C?.[C.length-1]),o.current&&o.current(C,h.current),e1&&(w.current=C.length),_.current=e1,r(Ne=>h.current.page===0?{data:C,isLoading:!1}:{data:(Ne.data||[])?.concat(C),isLoading:!1})),C),C=>(_.current=!1,f1(C)))):(g.current=!1,n1.then(C=>(M===t.current&&(o.current&&o.current(C),r({data:C,isLoading:!1})),C),f1))},[n,o,l,s,i,r,f,m,h,c]);f.current=b;let y=(0,l1.useCallback)(()=>{h.current={page:0};let G=s.current||[];return b(...G)},[b,s]),N=(0,l1.useCallback)(async(G,M)=>{let n1;try{if(M?.optimisticUpdate){typeof M?.rollbackOnError!="function"&&M?.rollbackOnError!==!1&&(n1=structuredClone(v.current?.value));let f1=M.optimisticUpdate;r(C=>({...C,data:f1(C.data)}))}return await G}catch(f1){if(typeof M?.rollbackOnError=="function"){let C=M.rollbackOnError;r(e1=>({...e1,data:C(e1.data)}))}else M?.optimisticUpdate&&M?.rollbackOnError!==!1&&r(C=>({...C,data:n1}));throw f1}finally{M?.shouldRevalidateAfter!==!1&&(la.environment.launchType===la.LaunchType.Background||la.environment.commandMode==="menu-bar"?await y():y())}},[y,v,r]),D=(0,l1.useCallback)(()=>{h.current.page+=1;let G=s.current||[];b(...G)},[h,s,b]);(0,l1.useEffect)(()=>{h.current={page:0},p?.execute!==!1?b(...a||[]):n.current&&n.current.current?.abort()},[(0,w8.useDeepMemo)([a,p?.execute,b]),n,h]),(0,l1.useEffect)(()=>()=>{n.current&&n.current.current?.abort()},[n]);let R=p?.execute!==!1?d.isLoading:!1,V={...d,isLoading:R},Y=g.current?{pageSize:w.current,hasMore:_.current,onLoadMore:D}:void 0;return{...V,revalidate:y,mutate:N,pagination:Y}}Za.usePromise=b8;function y8(e){return e===Promise.all||e===Promise.race||e===Promise.resolve||e===Promise.reject?e.bind(Promise):e}});var _t=u((ie,wt)=>{"use strict";var pp=require("crypto");ie=wt.exports=ma;function ma(e,a){return a=vt(e,a),S8(e,a)}ie.sha1=function(e){return ma(e)};ie.keys=function(e){return ma(e,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})};ie.MD5=function(e){return ma(e,{algorithm:"md5",encoding:"hex"})};ie.keysMD5=function(e){return ma(e,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var De=pp.getHashes?pp.getHashes().slice():["sha1","md5"];De.push("passthrough");var ft=["buffer","hex","binary","base64"];function vt(e,a){a=a||{};var p={};if(p.algorithm=a.algorithm||"sha1",p.encoding=a.encoding||"hex",p.excludeValues=!!a.excludeValues,p.algorithm=p.algorithm.toLowerCase(),p.encoding=p.encoding.toLowerCase(),p.ignoreUnknown=a.ignoreUnknown===!0,p.respectType=a.respectType!==!1,p.respectFunctionNames=a.respectFunctionNames!==!1,p.respectFunctionProperties=a.respectFunctionProperties!==!1,p.unorderedArrays=a.unorderedArrays===!0,p.unorderedSets=a.unorderedSets!==!1,p.unorderedObjects=a.unorderedObjects!==!1,p.replacer=a.replacer||void 0,p.excludeKeys=a.excludeKeys||void 0,typeof e>"u")throw new Error("Object argument required.");for(var t=0;t<De.length;++t)De[t].toLowerCase()===p.algorithm.toLowerCase()&&(p.algorithm=De[t]);if(De.indexOf(p.algorithm)===-1)throw new Error('Algorithm "'+p.algorithm+'" not supported. supported values: '+De.join(", "));if(ft.indexOf(p.encoding)===-1&&p.algorithm!=="passthrough")throw new Error('Encoding "'+p.encoding+'" not supported. supported values: '+ft.join(", "));return p}function ht(e){if(typeof e!="function")return!1;var a=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;return a.exec(Function.prototype.toString.call(e))!=null}function S8(e,a){var p;a.algorithm!=="passthrough"?p=pp.createHash(a.algorithm):p=new gt,typeof p.write>"u"&&(p.write=p.update,p.end=p.update);var t=tp(a,p);if(t.dispatch(e),p.update||p.end(""),p.digest)return p.digest(a.encoding==="buffer"?void 0:a.encoding);var d=p.read();return a.encoding==="buffer"?d:d.toString(a.encoding)}ie.writeToStream=function(e,a,p){return typeof p>"u"&&(p=a,a={}),a=vt(e,a),tp(a,p).dispatch(e)};function tp(e,a,p){p=p||[];var t=function(d){return a.update?a.update(d,"utf8"):a.write(d,"utf8")};return{dispatch:function(d){e.replacer&&(d=e.replacer(d));var r=typeof d;return d===null&&(r="null"),this["_"+r](d)},_object:function(d){var r=/\[object (.*)\]/i,i=Object.prototype.toString.call(d),n=r.exec(i);n?n=n[1]:n="unknown:["+i+"]",n=n.toLowerCase();var s=null;if((s=p.indexOf(d))>=0)return this.dispatch("[CIRCULAR:"+s+"]");if(p.push(d),typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(d))return t("buffer:"),t(d);if(n!=="object"&&n!=="function"&&n!=="asyncfunction")if(this["_"+n])this["_"+n](d);else{if(e.ignoreUnknown)return t("["+n+"]");throw new Error('Unknown object type "'+n+'"')}else{var l=Object.keys(d);e.unorderedObjects&&(l=l.sort()),e.respectType!==!1&&!ht(d)&&l.splice(0,0,"prototype","__proto__","constructor"),e.excludeKeys&&(l=l.filter(function(m){return!e.excludeKeys(m)})),t("object:"+l.length+":");var o=this;return l.forEach(function(m){o.dispatch(m),t(":"),e.excludeValues||o.dispatch(d[m]),t(",")})}},_array:function(d,r){r=typeof r<"u"?r:e.unorderedArrays!==!1;var i=this;if(t("array:"+d.length+":"),!r||d.length<=1)return d.forEach(function(l){return i.dispatch(l)});var n=[],s=d.map(function(l){var o=new gt,m=p.slice(),c=tp(e,o,m);return c.dispatch(l),n=n.concat(m.slice(p.length)),o.read().toString()});return p=p.concat(n),s.sort(),this._array(s,!1)},_date:function(d){return t("date:"+d.toJSON())},_symbol:function(d){return t("symbol:"+d.toString())},_error:function(d){return t("error:"+d.toString())},_boolean:function(d){return t("bool:"+d.toString())},_string:function(d){t("string:"+d.length+":"),t(d.toString())},_function:function(d){t("fn:"),ht(d)?this.dispatch("[native]"):this.dispatch(d.toString()),e.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(d.name)),e.respectFunctionProperties&&this._object(d)},_number:function(d){return t("number:"+d.toString())},_xml:function(d){return t("xml:"+d.toString())},_null:function(){return t("Null")},_undefined:function(){return t("Undefined")},_regexp:function(d){return t("regex:"+d.toString())},_uint8array:function(d){return t("uint8array:"),this.dispatch(Array.prototype.slice.call(d))},_uint8clampedarray:function(d){return t("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(d))},_int8array:function(d){return t("int8array:"),this.dispatch(Array.prototype.slice.call(d))},_uint16array:function(d){return t("uint16array:"),this.dispatch(Array.prototype.slice.call(d))},_int16array:function(d){return t("int16array:"),this.dispatch(Array.prototype.slice.call(d))},_uint32array:function(d){return t("uint32array:"),this.dispatch(Array.prototype.slice.call(d))},_int32array:function(d){return t("int32array:"),this.dispatch(Array.prototype.slice.call(d))},_float32array:function(d){return t("float32array:"),this.dispatch(Array.prototype.slice.call(d))},_float64array:function(d){return t("float64array:"),this.dispatch(Array.prototype.slice.call(d))},_arraybuffer:function(d){return t("arraybuffer:"),this.dispatch(new Uint8Array(d))},_url:function(d){return t("url:"+d.toString(),"utf8")},_map:function(d){t("map:");var r=Array.from(d);return this._array(r,e.unorderedSets!==!1)},_set:function(d){t("set:");var r=Array.from(d);return this._array(r,e.unorderedSets!==!1)},_file:function(d){return t("file:"),this.dispatch([d.name,d.size,d.type,d.lastModfied])},_blob:function(){if(e.ignoreUnknown)return t("[blob]");throw Error(`Hashing Blob objects is currently not supported +(see https://github.com/puleos/object-hash/issues/26) +Use "options.replacer" or "options.ignoreUnknown" +`)},_domwindow:function(){return t("domwindow")},_bigint:function(d){return t("bigint:"+d.toString())},_process:function(){return t("process")},_timer:function(){return t("timer")},_pipe:function(){return t("pipe")},_tcp:function(){return t("tcp")},_udp:function(){return t("udp")},_tty:function(){return t("tty")},_statwatcher:function(){return t("statwatcher")},_securecontext:function(){return t("securecontext")},_connection:function(){return t("connection")},_zlib:function(){return t("zlib")},_context:function(){return t("context")},_nodescript:function(){return t("nodescript")},_httpparser:function(){return t("httpparser")},_dataview:function(){return t("dataview")},_signal:function(){return t("signal")},_fsevent:function(){return t("fsevent")},_tlswrap:function(){return t("tlswrap")}}}function gt(){return{buf:"",write:function(e){this.buf+=e},end:function(e){this.buf+=e},read:function(){return this.buf}}}});var se=u(x1=>{"use strict";var N8=x1&&x1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(x1,"__esModule",{value:!0});x1.hash=x1.reviver=x1.replacer=void 0;var x8=N8(_t());function T8(e,a){let p=this[e];return p instanceof Date?`__raycast_cached_date__${p.toString()}`:Buffer.isBuffer(p)?`__raycast_cached_buffer__${p.toString("base64")}`:a}x1.replacer=T8;function D8(e,a){return typeof a=="string"&&a.startsWith("__raycast_cached_date__")?new Date(a.replace("__raycast_cached_date__","")):typeof a=="string"&&a.startsWith("__raycast_cached_buffer__")?Buffer.from(a.replace("__raycast_cached_buffer__",""),"base64"):a}x1.reviver=D8;function C8(e,a){return(0,x8.default)(e,{replacer:p=>p instanceof URLSearchParams?p.toString():p,...a})}x1.hash=C8});var Wa=u(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.useCachedState=void 0;var dp=require("react"),A8=require("@raycast/api"),rp=R1(),bt=se(),V8=Symbol("cache without namespace"),yt=new Map;function E8(e,a,p){let t=p?.cacheNamespace||V8,d=yt.get(t)||yt.set(t,new A8.Cache({namespace:p?.cacheNamespace})).get(t);if(!d)throw new Error("Missing cache");let r=(0,rp.useLatest)(e),i=(0,rp.useLatest)(a),n=(0,dp.useSyncExternalStore)(d.subscribe,()=>{try{return d.get(r.current)}catch(m){console.error("Could not get Cache data:",m);return}}),s=(0,dp.useMemo)(()=>{if(typeof n<"u"){if(n==="undefined")return;try{return JSON.parse(n,bt.reviver)}catch(m){return console.warn("The cached data is corrupted",m),i.current}}else return i.current},[n,i]),l=(0,rp.useLatest)(s),o=(0,dp.useCallback)(m=>{let c=typeof m=="function"?m(l.current):m;if(typeof c>"u")d.set(r.current,"undefined");else{let v=JSON.stringify(c,bt.replacer);d.set(r.current,v)}return c},[d,r,l]);return[s,o]}Ja.useCachedState=E8});var ua=u(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.useCachedPromise=void 0;var oa=require("react"),P8=Wa(),M8=Te(),k8=R1(),St=se(),Ce=Symbol();function O8(e,a,p){let{initialData:t,keepPreviousData:d,internal_cacheKeySuffix:r,...i}=p||{},n=(0,oa.useRef)(),[s,l]=(0,P8.useCachedState)((0,St.hash)(a||[])+r,Ce,{cacheNamespace:(0,St.hash)(e)}),o=(0,oa.useRef)(s!==Ce?s:t),m=(0,oa.useRef)(void 0),{mutate:c,revalidate:v,...f}=(0,M8.usePromise)(e,a||[],{...i,onData(b,y){m.current=y,i.onData&&i.onData(b,y),!(y&&y.page>0)&&(n.current="promise",o.current=b,l(b))}}),h,g=f.pagination;m.current&&m.current.page>0&&f.data?h=f.data:n.current==="promise"?h=o.current:d&&s!==Ce?(h=s,g&&(g.hasMore=!0,g.pageSize=s.length)):d&&s===Ce?h=o.current:s!==Ce?(h=s,g&&(g.hasMore=!0,g.pageSize=s.length)):h=t;let _=(0,k8.useLatest)(h),w=(0,oa.useCallback)(async(b,y)=>{let N;try{if(y?.optimisticUpdate){typeof y?.rollbackOnError!="function"&&y?.rollbackOnError!==!1&&(N=structuredClone(_.current));let D=y.optimisticUpdate(_.current);n.current="cache",o.current=D,l(D)}return await c(b,{shouldRevalidateAfter:y?.shouldRevalidateAfter})}catch(D){if(typeof y?.rollbackOnError=="function"){let R=y.rollbackOnError(_.current);n.current="cache",o.current=R,l(R)}else y?.optimisticUpdate&&y?.rollbackOnError!==!1&&(n.current="cache",o.current=N,l(N));throw D}},[l,c,_,o,n]);return(0,oa.useEffect)(()=>{s!==Ce&&(n.current="cache",o.current=s)},[s]),{data:h,isLoading:f.isLoading,error:f.error,mutate:m.current&&m.current.page>0?c:w,pagination:g,revalidate:v}}Ya.useCachedPromise=O8});var Tt=u((Ow,xt)=>{"use strict";var L={};xt.exports=L;function Nt(e){return e<0?-1:1}function R8(e){return e%1===.5&&(e&1)===0?Math.floor(e):Math.round(e)}function K1(e,a){a.unsigned||--e;let p=a.unsigned?0:-Math.pow(2,e),t=Math.pow(2,e)-1,d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e),r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(i,n){n||(n={});let s=+i;if(n.enforceRange){if(!Number.isFinite(s))throw new TypeError("Argument is not a finite number");if(s=Nt(s)*Math.floor(Math.abs(s)),s<p||s>t)throw new TypeError("Argument is not in byte range");return s}if(!isNaN(s)&&n.clamp)return s=R8(s),s<p&&(s=p),s>t&&(s=t),s;if(!Number.isFinite(s)||s===0)return 0;if(s=Nt(s)*Math.floor(Math.abs(s)),s=s%d,!a.unsigned&&s>=r)return s-d;if(a.unsigned){if(s<0)s+=d;else if(s===-0)return 0}return s}}L.void=function(){};L.boolean=function(e){return!!e};L.byte=K1(8,{unsigned:!1});L.octet=K1(8,{unsigned:!0});L.short=K1(16,{unsigned:!1});L["unsigned short"]=K1(16,{unsigned:!0});L.long=K1(32,{unsigned:!1});L["unsigned long"]=K1(32,{unsigned:!0});L["long long"]=K1(32,{unsigned:!1,moduloBitLength:64});L["unsigned long long"]=K1(32,{unsigned:!0,moduloBitLength:64});L.double=function(e){let a=+e;if(!Number.isFinite(a))throw new TypeError("Argument is not a finite floating-point value");return a};L["unrestricted double"]=function(e){let a=+e;if(isNaN(a))throw new TypeError("Argument is NaN");return a};L.float=L.double;L["unrestricted float"]=L["unrestricted double"];L.DOMString=function(e,a){return a||(a={}),a.treatNullAsEmptyString&&e===null?"":String(e)};L.ByteString=function(e,a){let p=String(e),t;for(let d=0;(t=p.codePointAt(d))!==void 0;++d)if(t>255)throw new TypeError("Argument is not a valid bytestring");return p};L.USVString=function(e){let a=String(e),p=a.length,t=[];for(let d=0;d<p;++d){let r=a.charCodeAt(d);if(r<55296||r>57343)t.push(String.fromCodePoint(r));else if(56320<=r&&r<=57343)t.push(String.fromCodePoint(65533));else if(d===p-1)t.push(String.fromCodePoint(65533));else{let i=a.charCodeAt(d+1);if(56320<=i&&i<=57343){let n=r&1023,s=i&1023;t.push(String.fromCodePoint(65536+1024*n+s)),++d}else t.push(String.fromCodePoint(65533))}}return t.join("")};L.Date=function(e,a){if(!(e instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(e))return e};L.RegExp=function(e,a){return e instanceof RegExp||(e=new RegExp(e)),e}});var Dt=u((Rw,Z1)=>{"use strict";Z1.exports.mixin=function(a,p){let t=Object.getOwnPropertyNames(p);for(let d=0;d<t.length;++d)Object.defineProperty(a,t[d],Object.getOwnPropertyDescriptor(p,t[d]))};Z1.exports.wrapperSymbol=Symbol("wrapper");Z1.exports.implSymbol=Symbol("impl");Z1.exports.wrapperForImpl=function(e){return e[Z1.exports.wrapperSymbol]};Z1.exports.implForWrapper=function(e){return e[Z1.exports.implSymbol]}});var Ct=u((qw,q8)=>{q8.exports=[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1e3,1e3],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6e3],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8e3,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8e3]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9e3],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[3e4]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13e3,13e3],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43e3,43e3],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64e3,64e3],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66e3,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[12e4,12e4],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128e3,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23e3]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149e3]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32e3]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195e3,195e3],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[4e4]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918e3,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]});var kt=u((Lw,Qa)=>{"use strict";var Vt=require("punycode"),At=Ct(),Ae={TRANSITIONAL:0,NONTRANSITIONAL:1};function Et(e){return e.split("\0").map(function(a){return a.normalize("NFC")}).join("\0")}function Pt(e){for(var a=0,p=At.length-1;a<=p;){var t=Math.floor((a+p)/2),d=At[t];if(d[0][0]<=e&&d[0][1]>=e)return d;d[0][0]>e?p=t-1:a=t+1}return null}var L8=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function Mt(e){return e.replace(L8,"_").length}function I8(e,a,p){for(var t=!1,d="",r=Mt(e),i=0;i<r;++i){var n=e.codePointAt(i),s=Pt(n);switch(s[1]){case"disallowed":t=!0,d+=String.fromCodePoint(n);break;case"ignored":break;case"mapped":d+=String.fromCodePoint.apply(String,s[2]);break;case"deviation":p===Ae.TRANSITIONAL?d+=String.fromCodePoint.apply(String,s[2]):d+=String.fromCodePoint(n);break;case"valid":d+=String.fromCodePoint(n);break;case"disallowed_STD3_mapped":a?(t=!0,d+=String.fromCodePoint(n)):d+=String.fromCodePoint.apply(String,s[2]);break;case"disallowed_STD3_valid":a&&(t=!0),d+=String.fromCodePoint(n);break}}return{string:d,error:t}}var B8=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;function F8(e,a){e.substr(0,4)==="xn--"&&(e=Vt.toUnicode(e),a=Ae.NONTRANSITIONAL);var p=!1;(Et(e)!==e||e[3]==="-"&&e[4]==="-"||e[0]==="-"||e[e.length-1]==="-"||e.indexOf(".")!==-1||e.search(B8)===0)&&(p=!0);for(var t=Mt(e),d=0;d<t;++d){var r=Pt(e.codePointAt(d));if(Xa===Ae.TRANSITIONAL&&r[1]!=="valid"||Xa===Ae.NONTRANSITIONAL&&r[1]!=="valid"&&r[1]!=="deviation"){p=!0;break}}return{label:e,error:p}}function Xa(e,a,p){var t=I8(e,a,p);t.string=Et(t.string);for(var d=t.string.split("."),r=0;r<d.length;++r)try{var i=F8(d[r]);d[r]=i.label,t.error=t.error||i.error}catch{t.error=!0}return{string:d.join("."),error:t.error}}Qa.exports.toASCII=function(e,a,p,t){var d=Xa(e,a,p),r=d.string.split(".");if(r=r.map(function(s){try{return Vt.toASCII(s)}catch{return d.error=!0,s}}),t){var i=r.slice(0,r.length-1).join(".").length;(i.length>253||i.length===0)&&(d.error=!0);for(var n=0;n<r.length;++n)if(r.length>63||r.length===0){d.error=!0;break}}return d.error?null:r.join(".")};Qa.exports.toUnicode=function(e,a){var p=Xa(e,a,Ae.NONTRANSITIONAL);return{domain:p.string,error:p.error}};Qa.exports.PROCESSING_OPTIONS=Ae});var T1=u((Iw,m1)=>{"use strict";var Ve=require("punycode"),Ot=kt(),It={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443},A=Symbol("failure");function Rt(e){return Ve.ucs2.decode(e).length}function qt(e,a){let p=e[a];return isNaN(p)?void 0:String.fromCodePoint(p)}function ca(e){return e>=48&&e<=57}function fa(e){return e>=65&&e<=90||e>=97&&e<=122}function j8(e){return fa(e)||ca(e)}function b1(e){return ca(e)||e>=65&&e<=70||e>=97&&e<=102}function Lt(e){return e==="."||e.toLowerCase()==="%2e"}function z8(e){return e=e.toLowerCase(),e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function U8(e,a){return fa(e)&&(a===58||a===124)}function Bt(e){return e.length===2&&fa(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function $8(e){return e.length===2&&fa(e.codePointAt(0))&&e[1]===":"}function H8(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function G8(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function ip(e){return It[e]!==void 0}function $(e){return ip(e.scheme)}function K8(e){return It[e]}function Ft(e){let a=e.toString(16).toUpperCase();return a.length===1&&(a="0"+a),"%"+a}function Z8(e){let a=new Buffer(e),p="";for(let t=0;t<a.length;++t)p+=Ft(a[t]);return p}function J8(e){let a=new Buffer(e),p=[];for(let t=0;t<a.length;++t)a[t]!==37?p.push(a[t]):a[t]===37&&b1(a[t+1])&&b1(a[t+2])?(p.push(parseInt(a.slice(t+1,t+3).toString(),16)),t+=2):p.push(a[t]);return new Buffer(p).toString()}function e2(e){return e<=31||e>126}var W8=new Set([32,34,35,60,62,63,96,123,125]);function jt(e){return e2(e)||W8.has(e)}var Y8=new Set([47,58,59,61,64,91,92,93,94,124]);function np(e){return jt(e)||Y8.has(e)}function ne(e,a){let p=String.fromCodePoint(e);return a(e)?Z8(p):p}function X8(e){let a=10;return e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"?(e=e.substring(2),a=16):e.length>=2&&e.charAt(0)==="0"&&(e=e.substring(1),a=8),e===""?0:(a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/).test(e)?A:parseInt(e,a)}function Q8(e){let a=e.split(".");if(a[a.length-1]===""&&a.length>1&&a.pop(),a.length>4)return e;let p=[];for(let r of a){if(r==="")return e;let i=X8(r);if(i===A)return e;p.push(i)}for(let r=0;r<p.length-1;++r)if(p[r]>255)return A;if(p[p.length-1]>=Math.pow(256,5-p.length))return A;let t=p.pop(),d=0;for(let r of p)t+=r*Math.pow(256,3-d),++d;return t}function es(e){let a="",p=e;for(let t=1;t<=4;++t)a=String(p%256)+a,t!==4&&(a="."+a),p=Math.floor(p/256);return a}function as(e){let a=[0,0,0,0,0,0,0,0],p=0,t=null,d=0;if(e=Ve.ucs2.decode(e),e[d]===58){if(e[d+1]!==58)return A;d+=2,++p,t=p}for(;d<e.length;){if(p===8)return A;if(e[d]===58){if(t!==null)return A;++d,++p,t=p;continue}let r=0,i=0;for(;i<4&&b1(e[d]);)r=r*16+parseInt(qt(e,d),16),++d,++i;if(e[d]===46){if(i===0||(d-=i,p>6))return A;let n=0;for(;e[d]!==void 0;){let s=null;if(n>0)if(e[d]===46&&n<4)++d;else return A;if(!ca(e[d]))return A;for(;ca(e[d]);){let l=parseInt(qt(e,d));if(s===null)s=l;else{if(s===0)return A;s=s*10+l}if(s>255)return A;++d}a[p]=a[p]*256+s,++n,(n===2||n===4)&&++p}if(n!==4)return A;break}else if(e[d]===58){if(++d,e[d]===void 0)return A}else if(e[d]!==void 0)return A;a[p]=r,++p}if(t!==null){let r=p-t;for(p=7;p!==0&&r>0;){let i=a[t+r-1];a[t+r-1]=a[p],a[p]=i,--p,--r}}else if(t===null&&p!==8)return A;return a}function ps(e){let a="",t=ds(e).idx,d=!1;for(let r=0;r<=7;++r)if(!(d&&e[r]===0)){if(d&&(d=!1),t===r){a+=r===0?"::":":",d=!0;continue}a+=e[r].toString(16),r!==7&&(a+=":")}return a}function sp(e,a){if(e[0]==="[")return e[e.length-1]!=="]"?A:as(e.substring(1,e.length-1));if(!a)return ts(e);let p=J8(e),t=Ot.toASCII(p,!1,Ot.PROCESSING_OPTIONS.NONTRANSITIONAL,!1);if(t===null||H8(t))return A;let d=Q8(t);return typeof d=="number"||d===A?d:t}function ts(e){if(G8(e))return A;let a="",p=Ve.ucs2.decode(e);for(let t=0;t<p.length;++t)a+=ne(p[t],e2);return a}function ds(e){let a=null,p=1,t=null,d=0;for(let r=0;r<e.length;++r)e[r]!==0?(d>p&&(a=t,p=d),t=null,d=0):(t===null&&(t=r),++d);return d>p&&(a=t,p=d),{idx:a,len:p}}function lp(e){return typeof e=="number"?es(e):e instanceof Array?"["+ps(e)+"]":e}function rs(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function is(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function zt(e){let a=e.path;a.length!==0&&(e.scheme==="file"&&a.length===1&&ns(a[0])||a.pop())}function Ut(e){return e.username!==""||e.password!==""}function ss(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function ns(e){return/^[A-Za-z]:$/.test(e)}function I(e,a,p,t,d){if(this.pointer=0,this.input=e,this.base=a||null,this.encodingOverride=p||"utf-8",this.stateOverride=d,this.url=t,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:!1};let i=rs(this.input);i!==this.input&&(this.parseError=!0),this.input=i}let r=is(this.input);for(r!==this.input&&(this.parseError=!0),this.input=r,this.state=d||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=Ve.ucs2.decode(this.input);this.pointer<=this.input.length;++this.pointer){let i=this.input[this.pointer],n=isNaN(i)?void 0:String.fromCodePoint(i),s=this["parse "+this.state](i,n);if(s){if(s===A){this.failure=!0;break}}else break}}I.prototype["parse scheme start"]=function(a,p){if(fa(a))this.buffer+=p.toLowerCase(),this.state="scheme";else if(!this.stateOverride)this.state="no scheme",--this.pointer;else return this.parseError=!0,A;return!0};I.prototype["parse scheme"]=function(a,p){if(j8(a)||a===43||a===45||a===46)this.buffer+=p.toLowerCase();else if(a===58){if(this.stateOverride&&($(this.url)&&!ip(this.buffer)||!$(this.url)&&ip(this.buffer)||(Ut(this.url)||this.url.port!==null)&&this.buffer==="file"||this.url.scheme==="file"&&(this.url.host===""||this.url.host===null))||(this.url.scheme=this.buffer,this.buffer="",this.stateOverride))return!1;this.url.scheme==="file"?((this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47)&&(this.parseError=!0),this.state="file"):$(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme?this.state="special relative or authority":$(this.url)?this.state="special authority slashes":this.input[this.pointer+1]===47?(this.state="path or authority",++this.pointer):(this.url.cannotBeABaseURL=!0,this.url.path.push(""),this.state="cannot-be-a-base-URL path")}else if(!this.stateOverride)this.buffer="",this.state="no scheme",this.pointer=-1;else return this.parseError=!0,A;return!0};I.prototype["parse no scheme"]=function(a){return this.base===null||this.base.cannotBeABaseURL&&a!==35?A:(this.base.cannotBeABaseURL&&a===35?(this.url.scheme=this.base.scheme,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.url.cannotBeABaseURL=!0,this.state="fragment"):this.base.scheme==="file"?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)};I.prototype["parse special relative or authority"]=function(a){return a===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0};I.prototype["parse path or authority"]=function(a){return a===47?this.state="authority":(this.state="path",--this.pointer),!0};I.prototype["parse relative"]=function(a){return this.url.scheme=this.base.scheme,isNaN(a)?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query):a===47?this.state="relative slash":a===63?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):a===35?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):$(this.url)&&a===92?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(0,this.base.path.length-1),this.state="path",--this.pointer),!0};I.prototype["parse relative slash"]=function(a){return $(this.url)&&(a===47||a===92)?(a===92&&(this.parseError=!0),this.state="special authority ignore slashes"):a===47?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer),!0};I.prototype["parse special authority slashes"]=function(a){return a===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0};I.prototype["parse special authority ignore slashes"]=function(a){return a!==47&&a!==92?(this.state="authority",--this.pointer):this.parseError=!0,!0};I.prototype["parse authority"]=function(a,p){if(a===64){this.parseError=!0,this.atFlag&&(this.buffer="%40"+this.buffer),this.atFlag=!0;let t=Rt(this.buffer);for(let d=0;d<t;++d){let r=this.buffer.codePointAt(d);if(r===58&&!this.passwordTokenSeenFlag){this.passwordTokenSeenFlag=!0;continue}let i=ne(r,np);this.passwordTokenSeenFlag?this.url.password+=i:this.url.username+=i}this.buffer=""}else if(isNaN(a)||a===47||a===63||a===35||$(this.url)&&a===92){if(this.atFlag&&this.buffer==="")return this.parseError=!0,A;this.pointer-=Rt(this.buffer)+1,this.buffer="",this.state="host"}else this.buffer+=p;return!0};I.prototype["parse hostname"]=I.prototype["parse host"]=function(a,p){if(this.stateOverride&&this.url.scheme==="file")--this.pointer,this.state="file host";else if(a===58&&!this.arrFlag){if(this.buffer==="")return this.parseError=!0,A;let t=sp(this.buffer,$(this.url));if(t===A)return A;if(this.url.host=t,this.buffer="",this.state="port",this.stateOverride==="hostname")return!1}else if(isNaN(a)||a===47||a===63||a===35||$(this.url)&&a===92){if(--this.pointer,$(this.url)&&this.buffer==="")return this.parseError=!0,A;if(this.stateOverride&&this.buffer===""&&(Ut(this.url)||this.url.port!==null))return this.parseError=!0,!1;let t=sp(this.buffer,$(this.url));if(t===A)return A;if(this.url.host=t,this.buffer="",this.state="path start",this.stateOverride)return!1}else a===91?this.arrFlag=!0:a===93&&(this.arrFlag=!1),this.buffer+=p;return!0};I.prototype["parse port"]=function(a,p){if(ca(a))this.buffer+=p;else if(isNaN(a)||a===47||a===63||a===35||$(this.url)&&a===92||this.stateOverride){if(this.buffer!==""){let t=parseInt(this.buffer);if(t>Math.pow(2,16)-1)return this.parseError=!0,A;this.url.port=t===K8(this.url.scheme)?null:t,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}else return this.parseError=!0,A;return!0};var ls=new Set([47,92,63,35]);I.prototype["parse file"]=function(a){return this.url.scheme="file",a===47||a===92?(a===92&&(this.parseError=!0),this.state="file slash"):this.base!==null&&this.base.scheme==="file"?isNaN(a)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):a===63?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):a===35?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1===0||!U8(a,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!ls.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),zt(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0};I.prototype["parse file slash"]=function(a){return a===47||a===92?(a===92&&(this.parseError=!0),this.state="file host"):(this.base!==null&&this.base.scheme==="file"&&($8(this.base.path[0])?this.url.path.push(this.base.path[0]):this.url.host=this.base.host),this.state="path",--this.pointer),!0};I.prototype["parse file host"]=function(a,p){if(isNaN(a)||a===47||a===92||a===63||a===35)if(--this.pointer,!this.stateOverride&&Bt(this.buffer))this.parseError=!0,this.state="path";else if(this.buffer===""){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let t=sp(this.buffer,$(this.url));if(t===A)return A;if(t==="localhost"&&(t=""),this.url.host=t,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=p;return!0};I.prototype["parse path start"]=function(a){return $(this.url)?(a===92&&(this.parseError=!0),this.state="path",a!==47&&a!==92&&--this.pointer):!this.stateOverride&&a===63?(this.url.query="",this.state="query"):!this.stateOverride&&a===35?(this.url.fragment="",this.state="fragment"):a!==void 0&&(this.state="path",a!==47&&--this.pointer),!0};I.prototype["parse path"]=function(a){if(isNaN(a)||a===47||$(this.url)&&a===92||!this.stateOverride&&(a===63||a===35)){if($(this.url)&&a===92&&(this.parseError=!0),z8(this.buffer)?(zt(this.url),a!==47&&!($(this.url)&&a===92)&&this.url.path.push("")):Lt(this.buffer)&&a!==47&&!($(this.url)&&a===92)?this.url.path.push(""):Lt(this.buffer)||(this.url.scheme==="file"&&this.url.path.length===0&&Bt(this.buffer)&&(this.url.host!==""&&this.url.host!==null&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)),this.buffer="",this.url.scheme==="file"&&(a===void 0||a===63||a===35))for(;this.url.path.length>1&&this.url.path[0]==="";)this.parseError=!0,this.url.path.shift();a===63&&(this.url.query="",this.state="query"),a===35&&(this.url.fragment="",this.state="fragment")}else a===37&&(!b1(this.input[this.pointer+1])||!b1(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=ne(a,jt);return!0};I.prototype["parse cannot-be-a-base-URL path"]=function(a){return a===63?(this.url.query="",this.state="query"):a===35?(this.url.fragment="",this.state="fragment"):(!isNaN(a)&&a!==37&&(this.parseError=!0),a===37&&(!b1(this.input[this.pointer+1])||!b1(this.input[this.pointer+2]))&&(this.parseError=!0),isNaN(a)||(this.url.path[0]=this.url.path[0]+ne(a,e2))),!0};I.prototype["parse query"]=function(a,p){if(isNaN(a)||!this.stateOverride&&a===35){(!$(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss")&&(this.encodingOverride="utf-8");let t=new Buffer(this.buffer);for(let d=0;d<t.length;++d)t[d]<33||t[d]>126||t[d]===34||t[d]===35||t[d]===60||t[d]===62?this.url.query+=Ft(t[d]):this.url.query+=String.fromCodePoint(t[d]);this.buffer="",a===35&&(this.url.fragment="",this.state="fragment")}else a===37&&(!b1(this.input[this.pointer+1])||!b1(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=p;return!0};I.prototype["parse fragment"]=function(a){return isNaN(a)||(a===0?this.parseError=!0:(a===37&&(!b1(this.input[this.pointer+1])||!b1(this.input[this.pointer+2]))&&(this.parseError=!0),this.url.fragment+=ne(a,e2))),!0};function ms(e,a){let p=e.scheme+":";if(e.host!==null?(p+="//",(e.username!==""||e.password!=="")&&(p+=e.username,e.password!==""&&(p+=":"+e.password),p+="@"),p+=lp(e.host),e.port!==null&&(p+=":"+e.port)):e.host===null&&e.scheme==="file"&&(p+="//"),e.cannotBeABaseURL)p+=e.path[0];else for(let t of e.path)p+="/"+t;return e.query!==null&&(p+="?"+e.query),!a&&e.fragment!==null&&(p+="#"+e.fragment),p}function os(e){let a=e.scheme+"://";return a+=lp(e.host),e.port!==null&&(a+=":"+e.port),a}m1.exports.serializeURL=ms;m1.exports.serializeURLOrigin=function(e){switch(e.scheme){case"blob":try{return m1.exports.serializeURLOrigin(m1.exports.parseURL(e.path[0]))}catch{return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return os({scheme:e.scheme,host:e.host,port:e.port});case"file":return"file://";default:return"null"}};m1.exports.basicURLParse=function(e,a){a===void 0&&(a={});let p=new I(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);return p.failure?"failure":p.url};m1.exports.setTheUsername=function(e,a){e.username="";let p=Ve.ucs2.decode(a);for(let t=0;t<p.length;++t)e.username+=ne(p[t],np)};m1.exports.setThePassword=function(e,a){e.password="";let p=Ve.ucs2.decode(a);for(let t=0;t<p.length;++t)e.password+=ne(p[t],np)};m1.exports.serializeHost=lp;m1.exports.cannotHaveAUsernamePasswordPort=ss;m1.exports.serializeInteger=function(e){return String(e)};m1.exports.parseURL=function(e,a){return a===void 0&&(a={}),m1.exports.basicURLParse(e,{baseURL:a.baseURL,encodingOverride:a.encodingOverride})}});var Ht=u($t=>{"use strict";var B=T1();$t.implementation=class{constructor(a){let p=a[0],t=a[1],d=null;if(t!==void 0&&(d=B.basicURLParse(t),d==="failure"))throw new TypeError("Invalid base URL");let r=B.basicURLParse(p,{baseURL:d});if(r==="failure")throw new TypeError("Invalid URL");this._url=r}get href(){return B.serializeURL(this._url)}set href(a){let p=B.basicURLParse(a);if(p==="failure")throw new TypeError("Invalid URL");this._url=p}get origin(){return B.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(a){B.basicURLParse(a+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(a){B.cannotHaveAUsernamePasswordPort(this._url)||B.setTheUsername(this._url,a)}get password(){return this._url.password}set password(a){B.cannotHaveAUsernamePasswordPort(this._url)||B.setThePassword(this._url,a)}get host(){let a=this._url;return a.host===null?"":a.port===null?B.serializeHost(a.host):B.serializeHost(a.host)+":"+B.serializeInteger(a.port)}set host(a){this._url.cannotBeABaseURL||B.basicURLParse(a,{url:this._url,stateOverride:"host"})}get hostname(){return this._url.host===null?"":B.serializeHost(this._url.host)}set hostname(a){this._url.cannotBeABaseURL||B.basicURLParse(a,{url:this._url,stateOverride:"hostname"})}get port(){return this._url.port===null?"":B.serializeInteger(this._url.port)}set port(a){B.cannotHaveAUsernamePasswordPort(this._url)||(a===""?this._url.port=null:B.basicURLParse(a,{url:this._url,stateOverride:"port"}))}get pathname(){return this._url.cannotBeABaseURL?this._url.path[0]:this._url.path.length===0?"":"/"+this._url.path.join("/")}set pathname(a){this._url.cannotBeABaseURL||(this._url.path=[],B.basicURLParse(a,{url:this._url,stateOverride:"path start"}))}get search(){return this._url.query===null||this._url.query===""?"":"?"+this._url.query}set search(a){let p=this._url;if(a===""){p.query=null;return}let t=a[0]==="?"?a.substring(1):a;p.query="",B.basicURLParse(t,{url:p,stateOverride:"query"})}get hash(){return this._url.fragment===null||this._url.fragment===""?"":"#"+this._url.fragment}set hash(a){if(a===""){this._url.fragment=null;return}let p=a[0]==="#"?a.substring(1):a;this._url.fragment="",B.basicURLParse(p,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}});var Zt=u((jw,ha)=>{"use strict";var h1=Tt(),Kt=Dt(),Gt=Ht(),E=Kt.implSymbol;function K(e){if(!this||this[E]||!(this instanceof K))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");let a=[];for(let p=0;p<arguments.length&&p<2;++p)a[p]=arguments[p];a[0]=h1.USVString(a[0]),a[1]!==void 0&&(a[1]=h1.USVString(a[1])),ha.exports.setup(this,a)}K.prototype.toJSON=function(){if(!this||!ha.exports.is(this))throw new TypeError("Illegal invocation");let a=[];for(let p=0;p<arguments.length&&p<0;++p)a[p]=arguments[p];return this[E].toJSON.apply(this[E],a)};Object.defineProperty(K.prototype,"href",{get(){return this[E].href},set(e){e=h1.USVString(e),this[E].href=e},enumerable:!0,configurable:!0});K.prototype.toString=function(){if(!this||!ha.exports.is(this))throw new TypeError("Illegal invocation");return this.href};Object.defineProperty(K.prototype,"origin",{get(){return this[E].origin},enumerable:!0,configurable:!0});Object.defineProperty(K.prototype,"protocol",{get(){return this[E].protocol},set(e){e=h1.USVString(e),this[E].protocol=e},enumerable:!0,configurable:!0});Object.defineProperty(K.prototype,"username",{get(){return this[E].username},set(e){e=h1.USVString(e),this[E].username=e},enumerable:!0,configurable:!0});Object.defineProperty(K.prototype,"password",{get(){return this[E].password},set(e){e=h1.USVString(e),this[E].password=e},enumerable:!0,configurable:!0});Object.defineProperty(K.prototype,"host",{get(){return this[E].host},set(e){e=h1.USVString(e),this[E].host=e},enumerable:!0,configurable:!0});Object.defineProperty(K.prototype,"hostname",{get(){return this[E].hostname},set(e){e=h1.USVString(e),this[E].hostname=e},enumerable:!0,configurable:!0});Object.defineProperty(K.prototype,"port",{get(){return this[E].port},set(e){e=h1.USVString(e),this[E].port=e},enumerable:!0,configurable:!0});Object.defineProperty(K.prototype,"pathname",{get(){return this[E].pathname},set(e){e=h1.USVString(e),this[E].pathname=e},enumerable:!0,configurable:!0});Object.defineProperty(K.prototype,"search",{get(){return this[E].search},set(e){e=h1.USVString(e),this[E].search=e},enumerable:!0,configurable:!0});Object.defineProperty(K.prototype,"hash",{get(){return this[E].hash},set(e){e=h1.USVString(e),this[E].hash=e},enumerable:!0,configurable:!0});ha.exports={is(e){return!!e&&e[E]instanceof Gt.implementation},create(e,a){let p=Object.create(K.prototype);return this.setup(p,e,a),p},setup(e,a,p){p||(p={}),p.wrapper=e,e[E]=new Gt.implementation(a,p),e[E][Kt.wrapperSymbol]=e},interface:K,expose:{Window:{URL:K},Worker:{URL:K}}}});var Jt=u(D1=>{"use strict";D1.URL=Zt().interface;D1.serializeURL=T1().serializeURL;D1.serializeURLOrigin=T1().serializeURLOrigin;D1.basicURLParse=T1().basicURLParse;D1.setTheUsername=T1().setTheUsername;D1.setThePassword=T1().setThePassword;D1.serializeHost=T1().serializeHost;D1.serializeInteger=T1().serializeInteger;D1.parseURL=T1().parseURL});var sd=u((S1,id)=>{"use strict";Object.defineProperty(S1,"__esModule",{value:!0});function ke(e){return e&&typeof e=="object"&&"default"in e?e.default:e}var y1=ke(require("stream")),Qt=ke(require("http")),p2=ke(require("url")),ed=ke(Jt()),us=ke(require("https")),le=ke(require("zlib")),cs=y1.Readable,q1=Symbol("buffer"),mp=Symbol("type"),ga=class e{constructor(){this[mp]="";let a=arguments[0],p=arguments[1],t=[],d=0;if(a){let i=a,n=Number(i.length);for(let s=0;s<n;s++){let l=i[s],o;l instanceof Buffer?o=l:ArrayBuffer.isView(l)?o=Buffer.from(l.buffer,l.byteOffset,l.byteLength):l instanceof ArrayBuffer?o=Buffer.from(l):l instanceof e?o=l[q1]:o=Buffer.from(typeof l=="string"?l:String(l)),d+=o.length,t.push(o)}}this[q1]=Buffer.concat(t);let r=p&&p.type!==void 0&&String(p.type).toLowerCase();r&&!/[^\u0020-\u007E]/.test(r)&&(this[mp]=r)}get size(){return this[q1].length}get type(){return this[mp]}text(){return Promise.resolve(this[q1].toString())}arrayBuffer(){let a=this[q1],p=a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength);return Promise.resolve(p)}stream(){let a=new cs;return a._read=function(){},a.push(this[q1]),a.push(null),a}toString(){return"[object Blob]"}slice(){let a=this.size,p=arguments[0],t=arguments[1],d,r;p===void 0?d=0:p<0?d=Math.max(a+p,0):d=Math.min(p,a),t===void 0?r=a:t<0?r=Math.max(a+t,0):r=Math.min(t,a);let i=Math.max(r-d,0),s=this[q1].slice(d,d+i),l=new e([],{type:arguments[2]});return l[q1]=s,l}};Object.defineProperties(ga.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Object.defineProperty(ga.prototype,Symbol.toStringTag,{value:"Blob",writable:!1,enumerable:!1,configurable:!0});function X(e,a,p){Error.call(this,e),this.message=e,this.type=a,p&&(this.code=this.errno=p.code),Error.captureStackTrace(this,this.constructor)}X.prototype=Object.create(Error.prototype);X.prototype.constructor=X;X.prototype.name="FetchError";var fp;try{fp=require("encoding").convert}catch{}var I1=Symbol("Body internals"),Wt=y1.PassThrough;function Z(e){var a=this,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=p.size;let d=t===void 0?0:t;var r=p.timeout;let i=r===void 0?0:r;e==null?e=null:ad(e)?e=Buffer.from(e.toString()):_a(e)||Buffer.isBuffer(e)||(Object.prototype.toString.call(e)==="[object ArrayBuffer]"?e=Buffer.from(e):ArrayBuffer.isView(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof y1||(e=Buffer.from(String(e)))),this[I1]={body:e,disturbed:!1,error:null},this.size=d,this.timeout=i,e instanceof y1&&e.on("error",function(n){let s=n.name==="AbortError"?n:new X(`Invalid response body while trying to fetch ${a.url}: ${n.message}`,"system",n);a[I1].error=s})}Z.prototype={get body(){return this[I1].body},get bodyUsed(){return this[I1].disturbed},arrayBuffer(){return Ee.call(this).then(function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)})},blob(){let e=this.headers&&this.headers.get("content-type")||"";return Ee.call(this).then(function(a){return Object.assign(new ga([],{type:e.toLowerCase()}),{[q1]:a})})},json(){var e=this;return Ee.call(this).then(function(a){try{return JSON.parse(a.toString())}catch(p){return Z.Promise.reject(new X(`invalid json response body at ${e.url} reason: ${p.message}`,"invalid-json"))}})},text(){return Ee.call(this).then(function(e){return e.toString()})},buffer(){return Ee.call(this)},textConverted(){var e=this;return Ee.call(this).then(function(a){return fs(a,e.headers)})}};Object.defineProperties(Z.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}});Z.mixIn=function(e){for(let a of Object.getOwnPropertyNames(Z.prototype))if(!(a in e)){let p=Object.getOwnPropertyDescriptor(Z.prototype,a);Object.defineProperty(e,a,p)}};function Ee(){var e=this;if(this[I1].disturbed)return Z.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[I1].disturbed=!0,this[I1].error)return Z.Promise.reject(this[I1].error);let a=this.body;if(a===null)return Z.Promise.resolve(Buffer.alloc(0));if(_a(a)&&(a=a.stream()),Buffer.isBuffer(a))return Z.Promise.resolve(a);if(!(a instanceof y1))return Z.Promise.resolve(Buffer.alloc(0));let p=[],t=0,d=!1;return new Z.Promise(function(r,i){let n;e.timeout&&(n=setTimeout(function(){d=!0,i(new X(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))},e.timeout)),a.on("error",function(s){s.name==="AbortError"?(d=!0,i(s)):i(new X(`Invalid response body while trying to fetch ${e.url}: ${s.message}`,"system",s))}),a.on("data",function(s){if(!(d||s===null)){if(e.size&&t+s.length>e.size){d=!0,i(new X(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}t+=s.length,p.push(s)}}),a.on("end",function(){if(!d){clearTimeout(n);try{r(Buffer.concat(p,t))}catch(s){i(new X(`Could not create Buffer from response body for ${e.url}: ${s.message}`,"system",s))}}})})}function fs(e,a){if(typeof fp!="function")throw new Error("The package `encoding` must be installed to use the textConverted() function");let p=a.get("content-type"),t="utf-8",d,r;return p&&(d=/charset=([^;]*)/i.exec(p)),r=e.slice(0,1024).toString(),!d&&r&&(d=/<meta.+?charset=(['"])(.+?)\1/i.exec(r)),!d&&r&&(d=/<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(r),d||(d=/<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(r),d&&d.pop()),d&&(d=/charset=(.*)/i.exec(d.pop()))),!d&&r&&(d=/<\?xml.+?encoding=(['"])(.+?)\1/i.exec(r)),d&&(t=d.pop(),(t==="gb2312"||t==="gbk")&&(t="gb18030")),fp(e,"UTF-8",t).toString()}function ad(e){return typeof e!="object"||typeof e.append!="function"||typeof e.delete!="function"||typeof e.get!="function"||typeof e.getAll!="function"||typeof e.has!="function"||typeof e.set!="function"?!1:e.constructor.name==="URLSearchParams"||Object.prototype.toString.call(e)==="[object URLSearchParams]"||typeof e.sort=="function"}function _a(e){return typeof e=="object"&&typeof e.arrayBuffer=="function"&&typeof e.type=="string"&&typeof e.stream=="function"&&typeof e.constructor=="function"&&typeof e.constructor.name=="string"&&/^(Blob|File)$/.test(e.constructor.name)&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function pd(e){let a,p,t=e.body;if(e.bodyUsed)throw new Error("cannot clone body after it is used");return t instanceof y1&&typeof t.getBoundary!="function"&&(a=new Wt,p=new Wt,t.pipe(a),t.pipe(p),e[I1].body=a,t=p),t}function td(e){return e===null?null:typeof e=="string"?"text/plain;charset=UTF-8":ad(e)?"application/x-www-form-urlencoded;charset=UTF-8":_a(e)?e.type||null:Buffer.isBuffer(e)||Object.prototype.toString.call(e)==="[object ArrayBuffer]"||ArrayBuffer.isView(e)?null:typeof e.getBoundary=="function"?`multipart/form-data;boundary=${e.getBoundary()}`:e instanceof y1?null:"text/plain;charset=UTF-8"}function dd(e){let a=e.body;return a===null?0:_a(a)?a.size:Buffer.isBuffer(a)?a.length:a&&typeof a.getLengthSync=="function"&&(a._lengthRetrievers&&a._lengthRetrievers.length==0||a.hasKnownLength&&a.hasKnownLength())?a.getLengthSync():null}function hs(e,a){let p=a.body;p===null?e.end():_a(p)?p.stream().pipe(e):Buffer.isBuffer(p)?(e.write(p),e.end()):p.pipe(e)}Z.Promise=global.Promise;var rd=/[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/,hp=/[^\t\x20-\x7e\x80-\xff]/;function va(e){if(e=`${e}`,rd.test(e)||e==="")throw new TypeError(`${e} is not a legal HTTP header name`)}function Yt(e){if(e=`${e}`,hp.test(e))throw new TypeError(`${e} is not a legal HTTP header value`)}function Pe(e,a){a=a.toLowerCase();for(let p in e)if(p.toLowerCase()===a)return p}var j=Symbol("map"),g1=class e{constructor(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0;if(this[j]=Object.create(null),a instanceof e){let p=a.raw(),t=Object.keys(p);for(let d of t)for(let r of p[d])this.append(d,r);return}if(a!=null)if(typeof a=="object"){let p=a[Symbol.iterator];if(p!=null){if(typeof p!="function")throw new TypeError("Header pairs must be iterable");let t=[];for(let d of a){if(typeof d!="object"||typeof d[Symbol.iterator]!="function")throw new TypeError("Each header pair must be iterable");t.push(Array.from(d))}for(let d of t){if(d.length!==2)throw new TypeError("Each header pair must be a name/value tuple");this.append(d[0],d[1])}}else for(let t of Object.keys(a)){let d=a[t];this.append(t,d)}}else throw new TypeError("Provided initializer must be an object")}get(a){a=`${a}`,va(a);let p=Pe(this[j],a);return p===void 0?null:this[j][p].join(", ")}forEach(a){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,t=vp(this),d=0;for(;d<t.length;){var r=t[d];let i=r[0],n=r[1];a.call(p,n,i,this),t=vp(this),d++}}set(a,p){a=`${a}`,p=`${p}`,va(a),Yt(p);let t=Pe(this[j],a);this[j][t!==void 0?t:a]=[p]}append(a,p){a=`${a}`,p=`${p}`,va(a),Yt(p);let t=Pe(this[j],a);t!==void 0?this[j][t].push(p):this[j][a]=[p]}has(a){return a=`${a}`,va(a),Pe(this[j],a)!==void 0}delete(a){a=`${a}`,va(a);let p=Pe(this[j],a);p!==void 0&&delete this[j][p]}raw(){return this[j]}keys(){return op(this,"key")}values(){return op(this,"value")}[Symbol.iterator](){return op(this,"key+value")}};g1.prototype.entries=g1.prototype[Symbol.iterator];Object.defineProperty(g1.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(g1.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});function vp(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key+value";return Object.keys(e[j]).sort().map(a==="key"?function(t){return t.toLowerCase()}:a==="value"?function(t){return e[j][t].join(", ")}:function(t){return[t.toLowerCase(),e[j][t].join(", ")]})}var gp=Symbol("internal");function op(e,a){let p=Object.create(wp);return p[gp]={target:e,kind:a,index:0},p}var wp=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==wp)throw new TypeError("Value of `this` is not a HeadersIterator");var e=this[gp];let a=e.target,p=e.kind,t=e.index,d=vp(a,p),r=d.length;return t>=r?{value:void 0,done:!0}:(this[gp].index=t+1,{value:d[t],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(wp,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});function vs(e){let a=Object.assign({__proto__:null},e[j]),p=Pe(e[j],"Host");return p!==void 0&&(a[p]=a[p][0]),a}function gs(e){let a=new g1;for(let p of Object.keys(e))if(!rd.test(p))if(Array.isArray(e[p]))for(let t of e[p])hp.test(t)||(a[j][p]===void 0?a[j][p]=[t]:a[j][p].push(t));else hp.test(e[p])||(a[j][p]=[e[p]]);return a}var J1=Symbol("Response internals"),ws=Qt.STATUS_CODES,v1=class e{constructor(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Z.call(this,a,p);let t=p.status||200,d=new g1(p.headers);if(a!=null&&!d.has("Content-Type")){let r=td(a);r&&d.append("Content-Type",r)}this[J1]={url:p.url,status:t,statusText:p.statusText||ws[t],headers:d,counter:p.counter}}get url(){return this[J1].url||""}get status(){return this[J1].status}get ok(){return this[J1].status>=200&&this[J1].status<300}get redirected(){return this[J1].counter>0}get statusText(){return this[J1].statusText}get headers(){return this[J1].headers}clone(){return new e(pd(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}};Z.mixIn(v1.prototype);Object.defineProperties(v1.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});Object.defineProperty(v1.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});var L1=Symbol("Request internals"),_s=p2.URL||ed.URL,bs=p2.parse,ys=p2.format;function up(e){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)&&(e=new _s(e).toString()),bs(e)}var Ss="destroy"in y1.Readable.prototype;function a2(e){return typeof e=="object"&&typeof e[L1]=="object"}function Ns(e){let a=e&&typeof e=="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}var Y1=class e{constructor(a){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t;a2(a)?t=up(a.url):(a&&a.href?t=up(a.href):t=up(`${a}`),a={});let d=p.method||a.method||"GET";if(d=d.toUpperCase(),(p.body!=null||a2(a)&&a.body!==null)&&(d==="GET"||d==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let r=p.body!=null?p.body:a2(a)&&a.body!==null?pd(a):null;Z.call(this,r,{timeout:p.timeout||a.timeout||0,size:p.size||a.size||0});let i=new g1(p.headers||a.headers||{});if(r!=null&&!i.has("Content-Type")){let s=td(r);s&&i.append("Content-Type",s)}let n=a2(a)?a.signal:null;if("signal"in p&&(n=p.signal),n!=null&&!Ns(n))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[L1]={method:d,redirect:p.redirect||a.redirect||"follow",headers:i,parsedURL:t,signal:n},this.follow=p.follow!==void 0?p.follow:a.follow!==void 0?a.follow:20,this.compress=p.compress!==void 0?p.compress:a.compress!==void 0?a.compress:!0,this.counter=p.counter||a.counter||0,this.agent=p.agent||a.agent}get method(){return this[L1].method}get url(){return ys(this[L1].parsedURL)}get headers(){return this[L1].headers}get redirect(){return this[L1].redirect}get signal(){return this[L1].signal}clone(){return new e(this)}};Z.mixIn(Y1.prototype);Object.defineProperty(Y1.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(Y1.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}});function xs(e){let a=e[L1].parsedURL,p=new g1(e[L1].headers);if(p.has("Accept")||p.set("Accept","*/*"),!a.protocol||!a.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(a.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(e.signal&&e.body instanceof y1.Readable&&!Ss)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let t=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)&&(t="0"),e.body!=null){let r=dd(e);typeof r=="number"&&(t=String(r))}t&&p.set("Content-Length",t),p.has("User-Agent")||p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),e.compress&&!p.has("Accept-Encoding")&&p.set("Accept-Encoding","gzip,deflate");let d=e.agent;return typeof d=="function"&&(d=d(a)),Object.assign({},a,{method:e.method,headers:vs(p),agent:d})}function Me(e){Error.call(this,e),this.type="aborted",this.message=e,Error.captureStackTrace(this,this.constructor)}Me.prototype=Object.create(Error.prototype);Me.prototype.constructor=Me;Me.prototype.name="AbortError";var wa=p2.URL||ed.URL,Xt=y1.PassThrough,Ts=function(a,p){let t=new wa(p).hostname,d=new wa(a).hostname;return t===d||t[t.length-d.length-1]==="."&&t.endsWith(d)},Ds=function(a,p){let t=new wa(p).protocol,d=new wa(a).protocol;return t===d};function W1(e,a){if(!W1.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return Z.Promise=W1.Promise,new W1.Promise(function(p,t){let d=new Y1(e,a),r=xs(d),i=(r.protocol==="https:"?us:Qt).request,n=d.signal,s=null,l=function(){let h=new Me("The user aborted a request.");t(h),d.body&&d.body instanceof y1.Readable&&cp(d.body,h),!(!s||!s.body)&&s.body.emit("error",h)};if(n&&n.aborted){l();return}let o=function(){l(),v()},m=i(r),c;n&&n.addEventListener("abort",o);function v(){m.abort(),n&&n.removeEventListener("abort",o),clearTimeout(c)}d.timeout&&m.once("socket",function(f){c=setTimeout(function(){t(new X(`network timeout at: ${d.url}`,"request-timeout")),v()},d.timeout)}),m.on("error",function(f){t(new X(`request to ${d.url} failed, reason: ${f.message}`,"system",f)),s&&s.body&&cp(s.body,f),v()}),Cs(m,function(f){n&&n.aborted||s&&s.body&&cp(s.body,f)}),parseInt(process.version.substring(1))<14&&m.on("socket",function(f){f.addListener("close",function(h){let g=f.listenerCount("data")>0;if(s&&g&&!h&&!(n&&n.aborted)){let _=new Error("Premature close");_.code="ERR_STREAM_PREMATURE_CLOSE",s.body.emit("error",_)}})}),m.on("response",function(f){clearTimeout(c);let h=gs(f.headers);if(W1.isRedirect(f.statusCode)){let y=h.get("Location"),N=null;try{N=y===null?null:new wa(y,d.url).toString()}catch{if(d.redirect!=="manual"){t(new X(`uri requested responds with an invalid redirect URL: ${y}`,"invalid-redirect")),v();return}}switch(d.redirect){case"error":t(new X(`uri requested responds with a redirect, redirect mode is set to error: ${d.url}`,"no-redirect")),v();return;case"manual":if(N!==null)try{h.set("Location",N)}catch(R){t(R)}break;case"follow":if(N===null)break;if(d.counter>=d.follow){t(new X(`maximum redirect reached at: ${d.url}`,"max-redirect")),v();return}let D={headers:new g1(d.headers),follow:d.follow,counter:d.counter+1,agent:d.agent,compress:d.compress,method:d.method,body:d.body,signal:d.signal,timeout:d.timeout,size:d.size};if(!Ts(d.url,N)||!Ds(d.url,N))for(let R of["authorization","www-authenticate","cookie","cookie2"])D.headers.delete(R);if(f.statusCode!==303&&d.body&&dd(d)===null){t(new X("Cannot follow redirect with body being a readable stream","unsupported-redirect")),v();return}(f.statusCode===303||(f.statusCode===301||f.statusCode===302)&&d.method==="POST")&&(D.method="GET",D.body=void 0,D.headers.delete("content-length")),p(W1(new Y1(N,D))),v();return}}f.once("end",function(){n&&n.removeEventListener("abort",o)});let g=f.pipe(new Xt),_={url:d.url,status:f.statusCode,statusText:f.statusMessage,headers:h,size:d.size,timeout:d.timeout,counter:d.counter},w=h.get("Content-Encoding");if(!d.compress||d.method==="HEAD"||w===null||f.statusCode===204||f.statusCode===304){s=new v1(g,_),p(s);return}let b={flush:le.Z_SYNC_FLUSH,finishFlush:le.Z_SYNC_FLUSH};if(w=="gzip"||w=="x-gzip"){g=g.pipe(le.createGunzip(b)),s=new v1(g,_),p(s);return}if(w=="deflate"||w=="x-deflate"){let y=f.pipe(new Xt);y.once("data",function(N){(N[0]&15)===8?g=g.pipe(le.createInflate()):g=g.pipe(le.createInflateRaw()),s=new v1(g,_),p(s)}),y.on("end",function(){s||(s=new v1(g,_),p(s))});return}if(w=="br"&&typeof le.createBrotliDecompress=="function"){g=g.pipe(le.createBrotliDecompress()),s=new v1(g,_),p(s);return}s=new v1(g,_),p(s)}),hs(m,d)})}function Cs(e,a){let p;e.on("socket",function(t){p=t}),e.on("response",function(t){let d=t.headers;d["transfer-encoding"]==="chunked"&&!d["content-length"]&&t.once("close",function(r){if(p&&p.listenerCount("data")>0&&!r){let n=new Error("Premature close");n.code="ERR_STREAM_PREMATURE_CLOSE",a(n)}})})}function cp(e,a){e.destroy?e.destroy(a):(e.emit("error",a),e.end())}W1.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};W1.Promise=global.Promise;id.exports=S1=W1;Object.defineProperty(S1,"__esModule",{value:!0});S1.default=S1;S1.Headers=g1;S1.Request=Y1;S1.Response=v1;S1.FetchError=X;S1.AbortError=Me});var d2=u((me,nd)=>{var ba=sd(),As=ba.default||ba,t2=function(e,a){return/^\/\//.test(e)&&(e="https:"+e),As.call(this,e,a)};t2.ponyfill=!0;nd.exports=me=t2;me.fetch=t2;me.Headers=ba.Headers;me.Request=ba.Request;me.Response=ba.Response;me.default=t2});var _p=u(r2=>{"use strict";Object.defineProperty(r2,"__esModule",{value:!0});r2.isJSON=void 0;function Vs(e){if(e){let a=Ps(e);if(!a)return!1;if(a.subtype==="json"||a.suffix==="json"||a.suffix&&/\bjson\b/i.test(a.suffix)||a.subtype&&/\bjson\b/i.test(a.subtype))return!0}return!1}r2.isJSON=Vs;var Es=/^([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126});?$/;function Ps(e){let a=e.indexOf(";"),p=a!==-1?e.slice(0,a).trim():e.trim(),t=Es.exec(p.toLowerCase().toLowerCase());if(!t)return;let d=t[1],r=t[2],i,n=r.lastIndexOf("+");return n!==-1&&(i=r.substring(n+1),r=r.substring(0,n)),{type:d,subtype:r,suffix:i}}});var ud=u(i2=>{"use strict";Object.defineProperty(i2,"__esModule",{value:!0});i2.useFetch=void 0;var Oe=require("react"),Ms=ua(),ld=R1(),md=d2(),ks=_p(),od=se();async function Os(e){if(!e.ok)throw new Error(e.statusText);let a=e.headers.get("content-type");return a&&(0,ks.isJSON)(a)?await e.json():await e.text()}function Rs(e){return{data:e,hasMore:!1}}function qs(e,a){let{parseResponse:p,mapResult:t,initialData:d,execute:r,keepPreviousData:i,onError:n,onData:s,onWillExecute:l,failureToastOptions:o,...m}=a||{},c={initialData:d,execute:r,keepPreviousData:i,onError:n,onData:s,onWillExecute:l,failureToastOptions:o},v=(0,ld.useLatest)(p||Os),f=(0,ld.useLatest)(t||Rs),h=(0,Oe.useRef)(),g=(0,Oe.useRef)(),_=typeof e=="function"?e({page:0}):void 0;(!h.current||typeof g.current>"u"||g.current!==_)&&(h.current=e),g.current=_;let w=(0,Oe.useRef)(),b=(0,Oe.useCallback)((D,R)=>async V=>{let Y=await(0,md.fetch)(D(V),{signal:w.current?.signal,...R}),G=await v.current(Y);return f.current?.(G)},[v,f]),y=(0,Oe.useCallback)(async(D,R)=>{let V=await(0,md.fetch)(D,{signal:w.current?.signal,...R}),Y=await v.current(V);return f.current(Y)?.data},[v,f]),N=(0,Oe.useMemo)(()=>g.current?b:y,[g,y,b]);return(0,Ms.useCachedPromise)(N,[h.current,m],{...c,internal_cacheKeySuffix:g.current+(0,od.hash)(f.current)+(0,od.hash)(v.current),abortable:w})}i2.useFetch=qs});var cd=u(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.signals=void 0;oe.signals=[];oe.signals.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&oe.signals.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&oe.signals.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});var fd=u(C1=>{"use strict";var s2;Object.defineProperty(C1,"__esModule",{value:!0});C1.unload=C1.load=C1.onExit=C1.signals=void 0;var n2=cd();Object.defineProperty(C1,"signals",{enumerable:!0,get:function(){return n2.signals}});var l2=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",bp=Symbol.for("signal-exit emitter"),yp=globalThis,Ls=Object.defineProperty.bind(Object),Sp=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(yp[bp])return yp[bp];Ls(yp,bp,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(a,p){this.listeners[a].push(p)}removeListener(a,p){let t=this.listeners[a],d=t.indexOf(p);d!==-1&&(d===0&&t.length===1?t.length=0:t.splice(d,1))}emit(a,p,t){if(this.emitted[a])return!1;this.emitted[a]=!0;let d=!1;for(let r of this.listeners[a])d=r(p,t)===!0||d;return a==="exit"&&(d=this.emit("afterExit",p,t)||d),d}},m2=class{},Is=e=>({onExit(a,p){return e.onExit(a,p)},load(){return e.load()},unload(){return e.unload()}}),Np=class extends m2{onExit(){return()=>{}}load(){}unload(){}},xp=class extends m2{#i=Tp.platform==="win32"?"SIGINT":"SIGHUP";#a=new Sp;#e;#d;#r;#t={};#p=!1;constructor(a){super(),this.#e=a,this.#t={};for(let p of n2.signals)this.#t[p]=()=>{let t=this.#e.listeners(p),{count:d}=this.#a,r=a;if(typeof r.__signal_exit_emitter__=="object"&&typeof r.__signal_exit_emitter__.count=="number"&&(d+=r.__signal_exit_emitter__.count),t.length===d){this.unload();let i=this.#a.emit("exit",null,p),n=p==="SIGHUP"?this.#i:p;i||a.kill(a.pid,n)}};this.#r=a.reallyExit,this.#d=a.emit}onExit(a,p){if(!l2(this.#e))return()=>{};this.#p===!1&&this.load();let t=p?.alwaysLast?"afterExit":"exit";return this.#a.on(t,a),()=>{this.#a.removeListener(t,a),this.#a.listeners.exit.length===0&&this.#a.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#p){this.#p=!0,this.#a.count+=1;for(let a of n2.signals)try{let p=this.#t[a];p&&this.#e.on(a,p)}catch{}this.#e.emit=(a,...p)=>this.#n(a,...p),this.#e.reallyExit=a=>this.#s(a)}}unload(){this.#p&&(this.#p=!1,n2.signals.forEach(a=>{let p=this.#t[a];if(!p)throw new Error("Listener not defined for signal: "+a);try{this.#e.removeListener(a,p)}catch{}}),this.#e.emit=this.#d,this.#e.reallyExit=this.#r,this.#a.count-=1)}#s(a){return l2(this.#e)?(this.#e.exitCode=a||0,this.#a.emit("exit",this.#e.exitCode,null),this.#r.call(this.#e,this.#e.exitCode)):0}#n(a,...p){let t=this.#d;if(a==="exit"&&l2(this.#e)){typeof p[0]=="number"&&(this.#e.exitCode=p[0]);let d=t.call(this.#e,a,...p);return this.#a.emit("exit",this.#e.exitCode,null),d}else return t.call(this.#e,a,...p)}},Tp=globalThis.process;s2=Is(l2(Tp)?new xp(Tp):new Np),C1.onExit=s2.onExit,C1.load=s2.load,C1.unload=s2.unload});var o2=u(w1=>{"use strict";var Bs=w1&&w1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(w1,"__esModule",{value:!0});w1.defaultParsing=w1.handleOutput=w1.getSpawnedResult=w1.getSpawnedPromise=void 0;var Fs=require("node:buffer"),gd=Bs(require("node:stream")),js=require("node:util"),zs=fd();function Us(e,{timeout:a}={}){let p=new Promise((n,s)=>{e.on("exit",(l,o)=>{n({exitCode:l,signal:o,timedOut:!1})}),e.on("error",l=>{s(l)}),e.stdin&&e.stdin.on("error",l=>{s(l)})});if(a===0||a===void 0)return p;let t,d=new Promise((n,s)=>{t=setTimeout(()=>{e.kill("SIGTERM"),s(Object.assign(new Error("Timed out"),{timedOut:!0,signal:"SIGTERM"}))},a)}),r=p.finally(()=>{clearTimeout(t)}),i=(0,zs.onExit)(()=>{e.kill()});return Promise.race([d,r]).finally(()=>i())}w1.getSpawnedPromise=Us;var Dp=class extends Error{constructor(){super("The output is too big"),this.name="MaxBufferError"}},$s=(0,js.promisify)(gd.default.pipeline);function Hs(e){let{encoding:a}=e,p=a==="buffer",t=new gd.default.PassThrough({objectMode:!1});a&&a!=="buffer"&&t.setEncoding(a);let d=0,r=[];return t.on("data",i=>{r.push(i),d+=i.length}),t.getBufferedValue=()=>p?Buffer.concat(r,d):r.join(""),t.getBufferedLength=()=>d,t}async function hd(e,a){let p=Hs(a);return await new Promise((t,d)=>{let r=i=>{i&&p.getBufferedLength()<=Fs.constants.MAX_LENGTH&&(i.bufferedData=p.getBufferedValue()),d(i)};(async()=>{try{await $s(e,p),t()}catch(i){r(i)}})(),p.on("data",()=>{p.getBufferedLength()>1e3*1e3*80&&r(new Dp)})}),p.getBufferedValue()}async function vd(e,a){e.destroy();try{return await a}catch(p){return p.bufferedData}}async function Gs({stdout:e,stderr:a},{encoding:p},t){let d=hd(e,{encoding:p}),r=hd(a,{encoding:p});try{return await Promise.all([t,d,r])}catch(i){return Promise.all([{error:i,exitCode:null,signal:i.signal,timedOut:i.timedOut||!1},vd(e,d),vd(a,r)])}}w1.getSpawnedResult=Gs;function Ks(e){let a=typeof e=="string"?` +`:10,p=typeof e=="string"?"\r":13;return e[e.length-1]===a&&(e=e.slice(0,-1)),e[e.length-1]===p&&(e=e.slice(0,-1)),e}function Zs(e,a){return e.stripFinalNewline?Ks(a):a}w1.handleOutput=Zs;var Js=({timedOut:e,timeout:a,signal:p,exitCode:t})=>e?`timed out after ${a} milliseconds`:p!=null?`was killed with ${p}`:t!=null?`failed with exit code ${t}`:"failed",Ws=({stdout:e,stderr:a,error:p,signal:t,exitCode:d,command:r,timedOut:i,options:n,parentError:s})=>{let o=`Command ${Js({timedOut:i,timeout:n?.timeout,signal:t,exitCode:d})}: ${r}`,m=p?`${o} +${p.message}`:o,c=[m,a,e].filter(Boolean).join(` +`);return p?p.originalMessage=p.message:p=s,p.message=c,p.shortMessage=m,p.command=r,p.exitCode=d,p.signal=t,p.stdout=e,p.stderr=a,"bufferedData"in p&&delete p.bufferedData,p};function Ys({stdout:e,stderr:a,error:p,exitCode:t,signal:d,timedOut:r,command:i,options:n,parentError:s}){if(p||t!==0||d!==null)throw Ws({error:p,exitCode:t,signal:d,stdout:e,stderr:a,command:i,timedOut:r,options:n,parentError:s});return e}w1.defaultParsing=Ys});var _d=u(Re=>{"use strict";var Xs=Re&&Re.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Re,"__esModule",{value:!0});Re.useExec=void 0;var Qs=Xs(require("node:child_process")),wd=require("react"),e7=ua(),a7=R1(),ya=o2(),p7=/ +/g;function t7(e,a){if(a)return[e,...a];let p=[];for(let t of e.trim().split(p7)){let d=p[p.length-1];d&&d.endsWith("\\")?p[p.length-1]=`${d.slice(0,-1)} ${t}`:p.push(t)}return p}function d7(e,a,p){let{parseOutput:t,input:d,onData:r,onWillExecute:i,initialData:n,execute:s,keepPreviousData:l,onError:o,failureToastOptions:m,...c}=Array.isArray(a)?p||{}:a||{},v={initialData:n,execute:s,keepPreviousData:l,onError:o,onData:r,onWillExecute:i,failureToastOptions:m},f=(0,wd.useRef)(),h=(0,a7.useLatest)(t||ya.defaultParsing),g=(0,wd.useCallback)(async(_,w,b,y)=>{let[N,...D]=t7(_,w),R=[N,...D].join(" "),V={stripFinalNewline:!0,...b,timeout:b?.timeout||1e4,signal:f.current?.signal,encoding:b?.encoding===null?"buffer":b?.encoding||"utf8",env:{PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",...process.env,...b?.env}},Y=Qs.default.spawn(N,D,V),G=(0,ya.getSpawnedPromise)(Y,V);y&&Y.stdin.end(y);let[{error:M,exitCode:n1,signal:f1,timedOut:C},e1,d1]=await(0,ya.getSpawnedResult)(Y,V,G),Ne=(0,ya.handleOutput)(V,e1),X2=(0,ya.handleOutput)(V,d1);return h.current({stdout:Ne,stderr:X2,error:M,exitCode:n1,signal:f1,timedOut:C,command:R,options:V,parentError:new Error})},[h]);return(0,e7.useCachedPromise)(g,[e,Array.isArray(a)?a:[],c,d],{...v,abortable:f})}Re.useExec=d7});var Vp=u((Yw,Nd)=>{"use strict";var{Readable:Jw,Writable:Ww,Duplex:r7,Transform:Sd}=require("stream"),i7=Symbol.for("object-stream.none"),Cp=Symbol.for("object-stream.final"),Ap=Symbol.for("object-stream.many"),s7=e=>({[Cp]:e}),n7=e=>({[Ap]:e}),l7=e=>e&&typeof e=="object"&&Cp in e,m7=e=>e&&typeof e=="object"&&Ap in e,o7=e=>e[Cp],u7=e=>e[Ap],c7=async(e,a)=>{for(;;){let p=e.next();if(p&&typeof p.then=="function"&&(p=await p),p.done)break;let t=p.value;t&&typeof t.then=="function"&&(t=await t),z.sanitize(t,a)}},f7=e=>new Sd({writableObjectMode:!0,readableObjectMode:!0,transform(a,p,t){try{let d=e.call(this,a,p);if(d&&typeof d.then=="function"){d.then(r=>(z.sanitize(r,this),t(null)),r=>t(r));return}if(d&&typeof d.next=="function"){c7(d,this).then(()=>t(null),r=>t(r));return}z.sanitize(d,this),t(null)}catch(d){t(d)}}}),h7=e=>new Sd({writableObjectMode:!0,readableObjectMode:!0,transform(a,p,t){try{let d=a;for(let r=0;r<e.length;++r){let i=e[r].call(this,d,p);if(i===z.none){t(null);return}if(z.isFinal(i)){d=z.getFinalValue(i);break}d=i}z.sanitize(d,this),t(null)}catch(d){t(d)}}}),bd=e=>e&&typeof e.pipe=="function"&&typeof e.on=="function"&&(!e._writableState||(typeof e._readableState=="object"?e._readableState.readable:null)!==!1)&&(!e._writableState||e._readableState),yd=e=>e&&typeof e.write=="function"&&typeof e.on=="function"&&(!e._readableState||(typeof e._writableState=="object"?e._writableState.writable:null)!==!1),v7=e=>e&&typeof e.pipe=="function"&&e._readableState&&typeof e.on=="function"&&typeof e.write=="function",z=class e extends r7{constructor(a,p){if(super(p||{writableObjectMode:!0,readableObjectMode:!0}),!(a instanceof Array)||!a.length)throw Error("Chain's argument should be a non-empty array.");this.streams=a.filter(t=>t).map((t,d,r)=>{if(typeof t=="function"||t instanceof Array)return e.convertToTransform(t);if(v7(t)||!d&&bd(t)||d===r.length-1&&yd(t))return t;throw Error("Arguments should be functions, arrays or streams.")}).filter(t=>t),this.input=this.streams[0],this.output=this.streams.reduce((t,d)=>t&&t.pipe(d)||d),yd(this.input)||(this._write=(t,d,r)=>r(null),this._final=t=>t(null),this.input.on("end",()=>this.end())),bd(this.output)?(this.output.on("data",t=>!this.push(t)&&this.output.pause()),this.output.on("end",()=>this.push(null))):(this._read=()=>{},this.resume(),this.output.on("finish",()=>this.push(null))),(!p||!p.skipEvents)&&this.streams.forEach(t=>t.on("error",d=>this.emit("error",d)))}_write(a,p,t){let d=null;try{this.input.write(a,p,r=>t(r||d))}catch(r){d=r}}_final(a){let p=null;try{this.input.end(null,null,t=>a(t||p))}catch(t){p=t}}_read(){this.output.resume()}static make(a,p){return new e(a,p)}static sanitize(a,p){e.isFinal(a)?a=e.getFinalValue(a):e.isMany(a)&&(a=e.getManyValues(a)),a!=null&&a!==e.none&&(a instanceof Array?a.forEach(t=>t!=null&&p.push(t)):p.push(a))}static convertToTransform(a){return typeof a=="function"?f7(a):a instanceof Array&&a.length?h7(a):null}};z.none=i7;z.final=s7;z.isFinal=l7;z.getFinalValue=o7;z.many=n7;z.isMany=m7;z.getManyValues=u7;z.chain=z.make;z.make.Constructor=z;Nd.exports=z});var Td=u((Xw,xd)=>{"use strict";var{Transform:g7}=require("stream"),{StringDecoder:w7}=require("string_decoder"),Ep=class extends g7{constructor(a){super(Object.assign({},a,{writableObjectMode:!1})),this._buffer=""}_transform(a,p,t){typeof a=="string"?this._transform=this._transformString:(this._stringDecoder=new w7,this._transform=this._transformBuffer),this._transform(a,p,t)}_transformBuffer(a,p,t){this._buffer+=this._stringDecoder.write(a),this._processBuffer(t)}_transformString(a,p,t){this._buffer+=a.toString(),this._processBuffer(t)}_processBuffer(a){this._buffer&&(this.push(this._buffer,"utf8"),this._buffer=""),a(null)}_flushInput(){this._stringDecoder&&(this._buffer+=this._stringDecoder.end())}_flush(a){this._flushInput(),this._processBuffer(a)}};xd.exports=Ep});var Pp=u((Qw,Dd)=>{"use strict";var _7=Td(),T={value1:/^(?:[\"\{\[\]\-\d]|true\b|false\b|null\b|\s{1,256})/,string:/^(?:[^\"\\]{1,256}|\\[bfnrt\"\\\/]|\\u[\da-fA-F]{4}|\")/,key1:/^(?:[\"\}]|\s{1,256})/,colon:/^(?:\:|\s{1,256})/,comma:/^(?:[\,\]\}]|\s{1,256})/,ws:/^\s{1,256}/,numberStart:/^\d/,numberDigit:/^\d{0,256}/,numberFraction:/^[\.eE]/,numberExponent:/^[eE]/,numberExpSign:/^[-+]/},b7=16,J=!0;try{new RegExp(".","y"),J=!1}catch{}!J&&Object.keys(T).forEach(e=>{let a=T[e].source.slice(1);a.slice(0,3)==="(?:"&&a.slice(-1)===")"&&(a=a.slice(3,-1)),T[e]=new RegExp(a,"y")});T.numberFracStart=T.numberExpStart=T.numberStart;T.numberFracDigit=T.numberExpDigit=T.numberDigit;var y7={true:!0,false:!1,null:null},A1={object:"objectStop",array:"arrayStop","":"done"},S7=e=>String.fromCharCode(parseInt(e.slice(2),16)),N7={b:"\b",f:"\f",n:` +`,r:"\r",t:" ",'"':'"',"\\":"\\","/":"/"},ue=class e extends _7{static make(a){return new e(a)}constructor(a){super(Object.assign({},a,{readableObjectMode:!0})),this._packKeys=this._packStrings=this._packNumbers=this._streamKeys=this._streamStrings=this._streamNumbers=!0,a&&("packValues"in a&&(this._packKeys=this._packStrings=this._packNumbers=a.packValues),"packKeys"in a&&(this._packKeys=a.packKeys),"packStrings"in a&&(this._packStrings=a.packStrings),"packNumbers"in a&&(this._packNumbers=a.packNumbers),"streamValues"in a&&(this._streamKeys=this._streamStrings=this._streamNumbers=a.streamValues),"streamKeys"in a&&(this._streamKeys=a.streamKeys),"streamStrings"in a&&(this._streamStrings=a.streamStrings),"streamNumbers"in a&&(this._streamNumbers=a.streamNumbers),this._jsonStreaming=a.jsonStreaming),!this._packKeys&&(this._streamKeys=!0),!this._packStrings&&(this._streamStrings=!0),!this._packNumbers&&(this._streamNumbers=!0),this._done=!1,this._expect=this._jsonStreaming?"done":"value",this._stack=[],this._parent="",this._open_number=!1,this._accumulator=""}_flush(a){this._done=!0,super._flush(p=>{if(p)return a(p);this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),a(null)})}_processBuffer(a){let p,t,d=0;e:for(;;)switch(this._expect){case"value1":case"value":if(T.value1.lastIndex=d,p=T.value1.exec(this._buffer),!p){if(this._done||d+b7<this._buffer.length)return d<this._buffer.length?a(new Error("Parser cannot parse input: expected a value")):a(new Error("Parser has expected a value"));break e}switch(t=p[0],t){case'"':this._streamStrings&&this.push({name:"startString"}),this._expect="string";break;case"{":this.push({name:"startObject"}),this._stack.push(this._parent),this._parent="object",this._expect="key1";break;case"[":this.push({name:"startArray"}),this._stack.push(this._parent),this._parent="array",this._expect="value1";break;case"]":if(this._expect!=="value1")return a(new Error("Parser cannot parse input: unexpected token ']'"));this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),this.push({name:"endArray"}),this._parent=this._stack.pop(),this._expect=A1[this._parent];break;case"-":this._open_number=!0,this._streamNumbers&&(this.push({name:"startNumber"}),this.push({name:"numberChunk",value:"-"})),this._packNumbers&&(this._accumulator="-"),this._expect="numberStart";break;case"0":this._open_number=!0,this._streamNumbers&&(this.push({name:"startNumber"}),this.push({name:"numberChunk",value:"0"})),this._packNumbers&&(this._accumulator="0"),this._expect="numberFraction";break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":this._open_number=!0,this._streamNumbers&&(this.push({name:"startNumber"}),this.push({name:"numberChunk",value:t})),this._packNumbers&&(this._accumulator=t),this._expect="numberDigit";break;case"true":case"false":case"null":if(this._buffer.length-d===t.length&&!this._done)break e;this.push({name:t+"Value",value:y7[t]}),this._expect=A1[this._parent];break}J?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"keyVal":case"string":if(T.string.lastIndex=d,p=T.string.exec(this._buffer),!p){if(d<this._buffer.length&&(this._done||this._buffer.length-d>=6))return a(new Error("Parser cannot parse input: escaped characters"));if(this._done)return a(new Error("Parser has expected a string value"));break e}if(t=p[0],t==='"')this._expect==="keyVal"?(this._streamKeys&&this.push({name:"endKey"}),this._packKeys&&(this.push({name:"keyValue",value:this._accumulator}),this._accumulator=""),this._expect="colon"):(this._streamStrings&&this.push({name:"endString"}),this._packStrings&&(this.push({name:"stringValue",value:this._accumulator}),this._accumulator=""),this._expect=A1[this._parent]);else if(t.length>1&&t.charAt(0)==="\\"){let r=t.length==2?N7[t.charAt(1)]:S7(t);(this._expect==="keyVal"?this._streamKeys:this._streamStrings)&&this.push({name:"stringChunk",value:r}),(this._expect==="keyVal"?this._packKeys:this._packStrings)&&(this._accumulator+=r)}else(this._expect==="keyVal"?this._streamKeys:this._streamStrings)&&this.push({name:"stringChunk",value:t}),(this._expect==="keyVal"?this._packKeys:this._packStrings)&&(this._accumulator+=t);J?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"key1":case"key":if(T.key1.lastIndex=d,p=T.key1.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected an object key"));break e}if(t=p[0],t==='"')this._streamKeys&&this.push({name:"startKey"}),this._expect="keyVal";else if(t==="}"){if(this._expect!=="key1")return a(new Error("Parser cannot parse input: unexpected token '}'"));this.push({name:"endObject"}),this._parent=this._stack.pop(),this._expect=A1[this._parent]}J?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"colon":if(T.colon.lastIndex=d,p=T.colon.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected ':'"));break e}t=p[0],t===":"&&(this._expect="value"),J?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"arrayStop":case"objectStop":if(T.comma.lastIndex=d,p=T.comma.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected ','"));break e}if(this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),t=p[0],t===",")this._expect=this._expect==="arrayStop"?"value":"key";else if(t==="}"||t==="]"){if(t==="}"?this._expect==="arrayStop":this._expect!=="arrayStop")return a(new Error("Parser cannot parse input: expected '"+(this._expect==="arrayStop"?"]":"}")+"'"));this.push({name:t==="}"?"endObject":"endArray"}),this._parent=this._stack.pop(),this._expect=A1[this._parent]}J?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberStart":if(T.numberStart.lastIndex=d,p=T.numberStart.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected a starting digit"));break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect=t==="0"?"numberFraction":"numberDigit",J?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberDigit":if(T.numberDigit.lastIndex=d,p=T.numberDigit.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected a digit"));break e}if(t=p[0],t)this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),J?this._buffer=this._buffer.slice(t.length):d+=t.length;else{if(d<this._buffer.length){this._expect="numberFraction";break}if(this._done){this._expect=A1[this._parent];break}break e}break;case"numberFraction":if(T.numberFraction.lastIndex=d,p=T.numberFraction.exec(this._buffer),!p){if(d<this._buffer.length||this._done){this._expect=A1[this._parent];break}break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect=t==="."?"numberFracStart":"numberExpSign",J?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberFracStart":if(T.numberFracStart.lastIndex=d,p=T.numberFracStart.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected a fractional part of a number"));break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect="numberFracDigit",J?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberFracDigit":if(T.numberFracDigit.lastIndex=d,p=T.numberFracDigit.exec(this._buffer),t=p[0],t)this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),J?this._buffer=this._buffer.slice(t.length):d+=t.length;else{if(d<this._buffer.length){this._expect="numberExponent";break}if(this._done){this._expect=A1[this._parent];break}break e}break;case"numberExponent":if(T.numberExponent.lastIndex=d,p=T.numberExponent.exec(this._buffer),!p){if(d<this._buffer.length){this._expect=A1[this._parent];break}if(this._done){this._expect="done";break}break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect="numberExpSign",J?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberExpSign":if(T.numberExpSign.lastIndex=d,p=T.numberExpSign.exec(this._buffer),!p){if(d<this._buffer.length){this._expect="numberExpStart";break}if(this._done)return a(new Error("Parser has expected an exponent value of a number"));break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect="numberExpStart",J?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberExpStart":if(T.numberExpStart.lastIndex=d,p=T.numberExpStart.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected an exponent part of a number"));break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect="numberExpDigit",J?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberExpDigit":if(T.numberExpDigit.lastIndex=d,p=T.numberExpDigit.exec(this._buffer),t=p[0],t)this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),J?this._buffer=this._buffer.slice(t.length):d+=t.length;else{if(d<this._buffer.length||this._done){this._expect=A1[this._parent];break}break e}break;case"done":if(T.ws.lastIndex=d,p=T.ws.exec(this._buffer),!p){if(d<this._buffer.length){if(this._jsonStreaming){this._expect="value";break}return a(new Error("Parser cannot parse input: unexpected characters"))}break e}t=p[0],this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),J?this._buffer=this._buffer.slice(t.length):d+=t.length;break}!J&&(this._buffer=this._buffer.slice(d)),a(null)}};ue.parser=ue.make;ue.make.Constructor=ue;Dd.exports=ue});var Ad=u((e_,Cd)=>{"use strict";var x7=e=>e.on("data",a=>e.emit(a.name,a.value));Cd.exports=x7});var Ed=u((a_,Vd)=>{"use strict";var Mp=Pp(),T7=Ad(),kp=e=>T7(new Mp(e));kp.Parser=Mp;kp.parser=Mp.parser;Vd.exports=kp});var Md=u((p_,Pd)=>{"use strict";var{Transform:D7}=require("stream"),V1=class e extends D7{static stringFilter(a,p){return t=>{let d=t.join(p);return d.length===a.length&&d===a||d.length>a.length&&d.substr(0,a.length)===a&&d.substr(a.length,p.length)===p}}static regExpFilter(a,p){return t=>a.test(t.join(p))}static arrayReplacement(a){return()=>a}constructor(a){super(Object.assign({},a,{writableObjectMode:!0,readableObjectMode:!0})),this._transform=this._check,this._stack=[];let p=a&&a.filter,t=a&&a.pathSeparator||".";typeof p=="string"?this._filter=e.stringFilter(p,t):typeof p=="function"?this._filter=p:p instanceof RegExp&&(this._filter=e.regExpFilter(p,t));let d=a&&a.replacement;typeof d=="function"?this._replacement=d:this._replacement=e.arrayReplacement(d||e.defaultReplacement),this._allowEmptyReplacement=a&&a.allowEmptyReplacement,this._streamKeys=!0,a&&("streamValues"in a&&(this._streamKeys=a.streamValues),"streamKeys"in a&&(this._streamKeys=a.streamKeys)),this._once=a&&a.once,this._previousToken=""}_check(a,p,t){switch(a.name){case"startObject":case"startArray":case"startString":case"startNumber":case"nullValue":case"trueValue":case"falseValue":typeof this._stack[this._stack.length-1]=="number"&&++this._stack[this._stack.length-1];break;case"keyValue":this._stack[this._stack.length-1]=a.value;break;case"numberValue":this._previousToken!=="endNumber"&&typeof this._stack[this._stack.length-1]=="number"&&++this._stack[this._stack.length-1];break;case"stringValue":this._previousToken!=="endString"&&typeof this._stack[this._stack.length-1]=="number"&&++this._stack[this._stack.length-1];break}if(this._previousToken=a.name,this._checkChunk(a))return t(null);switch(a.name){case"startObject":this._stack.push(null);break;case"startArray":this._stack.push(-1);break;case"endObject":case"endArray":this._stack.pop();break}t(null)}_passObject(a,p,t){switch(this.push(a),a.name){case"startObject":case"startArray":++this._depth;break;case"endObject":case"endArray":--this._depth;break}this._depth||(this._transform=this._once?this._skip:this._check),t(null)}_pass(a,p,t){this.push(a),t(null)}_skipObject(a,p,t){switch(a.name){case"startObject":case"startArray":++this._depth;break;case"endObject":case"endArray":--this._depth;break}this._depth||(this._transform=this._once?this._pass:this._check),t(null)}_skip(a,p,t){t(null)}};V1.defaultReplacement=[{name:"nullValue",value:null}];var Op=(e,a)=>function(p,t,d){if(this._expected){let r=this._expected;if(this._expected="",this._transform=this._once?this._skip:this._check,r===p.name)this.push(p);else return this._transform(p,t,d)}else this.push(p),p.name===e&&(this._expected=a);d(null)};V1.prototype._passNumber=Op("endNumber","numberValue");V1.prototype._passString=Op("endString","stringValue");V1.prototype._passKey=Op("endKey","keyValue");var Rp=(e,a)=>function(p,t,d){if(this._expected){let r=this._expected;if(this._expected="",this._transform=this._once?this._pass:this._check,r!==p.name)return this._transform(p,t,d)}else p.name===e&&(this._expected=a);d(null)};V1.prototype._skipNumber=Rp("endNumber","numberValue");V1.prototype._skipString=Rp("endString","stringValue");V1.prototype._skipKey=Rp("endKey","keyValue");Pd.exports=V1});var qp=u((t_,kd)=>{"use strict";var C7=Vp(),A7=Pp(),V7=(e,a)=>new C7([new A7(a),e(a)],Object.assign({},a,{writableObjectMode:!1,readableObjectMode:!0}));kd.exports=V7});var Rd=u((d_,Od)=>{"use strict";var E7=Md(),P7=qp(),ce=class e extends E7{static make(a){return new e(a)}static withParser(a){return P7(e.make,a)}_checkChunk(a){switch(a.name){case"startObject":case"startArray":if(this._filter(this._stack,a))return this.push(a),this._transform=this._passObject,this._depth=1,!0;break;case"startString":if(this._filter(this._stack,a))return this.push(a),this._transform=this._passString,!0;break;case"startNumber":if(this._filter(this._stack,a))return this.push(a),this._transform=this._passNumber,!0;break;case"nullValue":case"trueValue":case"falseValue":case"stringValue":case"numberValue":if(this._filter(this._stack,a))return this.push(a),this._transform=this._once?this._skip:this._check,!0;break}return!1}};ce.pick=ce.make;ce.make.Constructor=ce;Od.exports=ce});var Id=u((r_,Ld)=>{"use strict";var M7=require("events"),qd=e=>function(){this.done?this.done=!1:this.stack.push(this.current,this.key),this.current=new e,this.key=null},B1=class e extends M7{static connectTo(a,p){return new e(p).connectTo(a)}constructor(a){super(),this.stack=[],this.current=this.key=null,this.done=!0,a&&(this.reviver=typeof a.reviver=="function"&&a.reviver,this.reviver&&(this.stringValue=this._saveValue=this._saveValueWithReviver),a.numberAsString&&(this.numberValue=this.stringValue))}connectTo(a){return a.on("data",p=>{this[p.name]&&(this[p.name](p.value),this.done&&this.emit("done",this))}),this}get depth(){return(this.stack.length>>1)+(this.done?0:1)}get path(){let a=[];for(let p=0;p<this.stack.length;p+=2){let t=this.stack[p+1];a.push(t===null?this.stack[p].length:t)}return a}dropToLevel(a){if(a<this.depth)if(a){let p=a-1<<1;this.current=this.stack[p],this.key=this.stack[p+1],this.stack.splice(p)}else this.stack=[],this.current=this.key=null,this.done=!0;return this}consume(a){return this[a.name]&&this[a.name](a.value),this}keyValue(a){this.key=a}numberValue(a){this._saveValue(parseFloat(a))}nullValue(){this._saveValue(null)}trueValue(){this._saveValue(!0)}falseValue(){this._saveValue(!1)}endObject(){if(this.stack.length){let a=this.current;this.key=this.stack.pop(),this.current=this.stack.pop(),this._saveValue(a)}else this.done=!0}_saveValue(a){this.done?this.current=a:this.current instanceof Array?this.current.push(a):(this.current[this.key]=a,this.key=null)}_saveValueWithReviver(a){this.done?this.current=this.reviver("",a):this.current instanceof Array?(a=this.reviver(""+this.current.length,a),this.current.push(a),a===void 0&&delete this.current[this.current.length-1]):(a=this.reviver(this.key,a),a!==void 0&&(this.current[this.key]=a),this.key=null)}};B1.prototype.stringValue=B1.prototype._saveValue;B1.prototype.startObject=qd(Object);B1.prototype.startArray=qd(Array);B1.prototype.endArray=B1.prototype.endObject;Ld.exports=B1});var Fd=u((i_,Bd)=>{"use strict";var{Transform:k7}=require("stream"),O7=Id(),Lp=class{constructor(a){this.depth=a}startObject(){++this.depth}endObject(){--this.depth}startArray(){++this.depth}endArray(){--this.depth}},Ip=class extends k7{constructor(a){super(Object.assign({},a,{writableObjectMode:!0,readableObjectMode:!0})),a&&(this.objectFilter=a.objectFilter,this.includeUndecided=a.includeUndecided),typeof this.objectFilter!="function"&&(this._filter=this._transform),this._transform=this._wait||this._filter,this._assembler=new O7(a)}_transform(a,p,t){this._assembler[a.name]&&(this._assembler[a.name](a.value),this._assembler.depth===this._level&&this._push()),t(null)}_filter(a,p,t){if(this._assembler[a.name]){this._assembler[a.name](a.value);let d=this.objectFilter(this._assembler);if(d)return this._assembler.depth===this._level&&(this._push(),this._transform=this._filter),this._transform=this._accept,t(null);if(d===!1)return this._saved_assembler=this._assembler,this._assembler=new Lp(this._saved_assembler.depth),this._saved_assembler.dropToLevel(this._level),this._assembler.depth===this._level&&(this._assembler=this._saved_assembler,this._transform=this._filter),this._transform=this._reject,t(null);this._assembler.depth===this._level&&this._push(!this.includeUndecided)}t(null)}_accept(a,p,t){this._assembler[a.name]&&(this._assembler[a.name](a.value),this._assembler.depth===this._level&&(this._push(),this._transform=this._filter)),t(null)}_reject(a,p,t){this._assembler[a.name]&&(this._assembler[a.name](a.value),this._assembler.depth===this._level&&(this._assembler=this._saved_assembler,this._transform=this._filter)),t(null)}};Bd.exports=Ip});var zd=u((s_,jd)=>{"use strict";var R7=Fd(),q7=qp(),fe=class e extends R7{static make(a){return new e(a)}static withParser(a){return q7(e.make,a)}constructor(a){super(a),this._level=1,this._counter=0}_wait(a,p,t){return a.name!=="startArray"?t(new Error("Top-level object should be an array.")):(this._transform=this._filter,this._transform(a,p,t))}_push(a){this._assembler.current.length&&(a?(++this._counter,this._assembler.current.pop()):this.push({key:this._counter++,value:this._assembler.current.pop()}))}};fe.streamArray=fe.make;fe.make.Constructor=fe;jd.exports=fe});var Gd=u(qe=>{"use strict";var c2=qe&&qe.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(qe,"__esModule",{value:!0});qe.useStreamJSON=void 0;var L7=require("@raycast/api"),Ud=c2(d2()),xa=require("node:fs"),Bp=require("node:fs/promises"),u2=require("node:path"),$d=require("node:stream/promises"),Sa=require("react"),I7=c2(Vp()),B7=Ed(),F7=c2(Rd()),j7=c2(zd()),Hd=_p(),z7=ua(),U7=se();async function Na(e,a,p){if(typeof e=="object"||e.startsWith("http://")||e.startsWith("https://"))return await $7(e,a,p);if(e.startsWith("file://"))return await H7((0,u2.normalize)(decodeURIComponent(new URL(e).pathname)),a,p?.signal?p.signal:void 0);throw new Error("Only HTTP(S) or file URLs are supported")}async function $7(e,a,p){let t=await(0,Ud.default)(e,p);if(!t.ok)throw new Error("Failed to fetch URL");if(!(0,Hd.isJSON)(t.headers.get("content-type")))throw new Error("URL does not return JSON");if(!t.body)throw new Error("Failed to retrieve expected JSON content: Response body is missing or inaccessible.");await(0,$d.pipeline)(t.body,(0,xa.createWriteStream)(a),p?.signal?{signal:p.signal}:void 0)}async function H7(e,a,p){await(0,$d.pipeline)((0,xa.createReadStream)(e),(0,xa.createWriteStream)(a),p?{signal:p}:void 0)}async function G7(e,a,p,t,d){let r=(0,u2.join)(a,p);try{await(0,Bp.stat)(a)}catch{(0,xa.mkdirSync)(a,{recursive:!0}),await Na(e,r,d);return}if(t){await Na(e,r,d);return}let i;try{i=await(0,Bp.stat)(r)}catch{await Na(e,r,d);return}if(typeof e=="object"||e.startsWith("http://")||e.startsWith("https://")){let n=await(0,Ud.default)(e,{...d,method:"HEAD"});if(!n.ok)throw new Error("Could not fetch URL");if(!(0,Hd.isJSON)(n.headers.get("content-type")))throw new Error("URL does not return JSON");let s=Date.parse(n.headers.get("last-modified")??"");if(i.size===0||Number.isNaN(s)||s>i.mtimeMs){await Na(e,r,d);return}}else if(e.startsWith("file://"))try{(await(0,Bp.stat)((0,u2.normalize)(decodeURIComponent(new URL(e).pathname)))).mtimeMs>i.mtimeMs&&await Na(e,r,d)}catch{throw new Error("Source file could not be read")}else throw new Error("Only HTTP(S) or file URLs are supported")}async function*K7(e,a,p,t,d,r){let i=[],n=new I7.default([(0,xa.createReadStream)(e),t?F7.default.withParser({filter:t}):(0,B7.parser)(),new j7.default,s=>r?.(s.value)??s.value]);p?.addEventListener("abort",()=>{n.destroy()});try{for await(let s of n){if(p?.aborted)return[];(!d||d(s))&&i.push(s),i.length>=a&&(yield i,i=[])}}catch(s){throw n.destroy(),s}return i.length>0&&(yield i),[]}function Z7(e,a){let{initialData:p,execute:t,keepPreviousData:d,onError:r,onData:i,onWillExecute:n,failureToastOptions:s,dataPath:l,filter:o,transform:m,pageSize:c=20,...v}=a??{},f=(0,Sa.useRef)(),h=(0,Sa.useRef)(),g={initialData:p,execute:t,keepPreviousData:d,onError:r,onData:i,onWillExecute:n,failureToastOptions:s},_=(0,Sa.useRef)(null),w=(0,Sa.useRef)(null),b=(0,Sa.useRef)(!1);return(0,z7.useCachedPromise)((y,N,D,R,V,Y)=>async({page:G})=>{let M=(0,U7.hash)(y)+".json",n1=L7.environment.supportPath;if(G===0){w.current?.abort(),w.current=new AbortController;let e1=(0,u2.join)(n1,M),d1=!!(f.current&&f.current!==y&&h.current&&h.current===e1);f.current=y,h.current=e1,await G7(y,n1,M,d1,{...D,signal:w.current?.signal}),_.current=K7(e1,N,w.current?.signal,R,V,Y)}if(!_.current)return{hasMore:b.current,data:[]};let{value:f1,done:C}=await _.current.next();return b.current=!C,{hasMore:b.current,data:f1??[]}},[e,c,v,l,o,m],g)}qe.useStreamJSON=Z7});var Yd=u(Le=>{"use strict";var zp=Le&&Le.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Le,"__esModule",{value:!0});Le.useSQL=void 0;var E1=require("react/jsx-runtime"),r1=require("@raycast/api"),J7=require("node:fs"),f2=require("node:fs/promises"),Jd=zp(require("node:os")),Kd=zp(require("node:child_process")),Zd=zp(require("node:path")),h2=require("react"),W7=Te(),Y7=R1(),v2=o2(),X7=na(),Q7=se();function en(e,a,p){let{permissionPriming:t,...d}=p||{},[r,i]=(0,h2.useState)(),n=(0,Y7.useLatest)(p||{}),s=(0,h2.useRef)(),l=(0,h2.useCallback)(m=>{console.error(m);let c=m instanceof Error&&m.message.includes("authorization denied")?new jp("You do not have permission to access the database."):m;an(c)?i((0,E1.jsx)(pn,{priming:n.current.permissionPriming})):n.current.onError?n.current.onError(c):r1.environment.launchType!==r1.LaunchType.Background&&(0,X7.showFailureToast)(c,{title:"Cannot query the data"})},[n]),o=(0,h2.useMemo)(()=>{if(!(0,J7.existsSync)(e))throw new Error("The database does not exist");let m;return async(c,v)=>{let f=s.current?.signal,h=Kd.default.spawn("sqlite3",["--json","--readonly",c,v],{signal:f}),g=(0,v2.getSpawnedPromise)(h),[{error:_,exitCode:w,signal:b},y,N]=await(0,v2.getSpawnedResult)(h,{encoding:"utf-8"},g);if(g2(f),N.match("(5)")||N.match("(14)")){if(!m){let V=Zd.default.join(Jd.default.tmpdir(),"useSQL",(0,Q7.hash)(c));await(0,f2.mkdir)(V,{recursive:!0}),g2(f),m=Zd.default.join(V,"db.db"),await(0,f2.copyFile)(c,m),await(0,f2.writeFile)(m+"-shm",""),await(0,f2.writeFile)(m+"-wal",""),g2(f)}let D=Kd.default.spawn("sqlite3",["--json","--readonly","--vfs","unix-none",m,v],{signal:f}),R=(0,v2.getSpawnedPromise)(D);[{error:_,exitCode:w,signal:b},y,N]=await(0,v2.getSpawnedResult)(D,{encoding:"utf-8"},R),g2(f)}if(_||w!==0||b!==null)throw new Error(N);return JSON.parse(y.trim()||"[]")}},[e]);return{...(0,W7.usePromise)(o,[e,a],{...d,onError:l}),permissionView:r}}Le.useSQL=en;var jp=class extends Error{constructor(a){super(a),this.name="PermissionError"}};function an(e){return e instanceof Error&&e.name==="PermissionError"}var Wd=parseInt(Jd.default.release().split(".")[0])>=22,Fp=Wd?"Settings":"Preferences";function pn(e){let a=Wd?{title:"Open System Settings -> Privacy",target:"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"}:{title:"Open System Preferences -> Security",target:"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"};return r1.environment.commandMode==="menu-bar"?(0,E1.jsxs)(r1.MenuBarExtra,{icon:r1.Icon.Warning,title:r1.environment.commandName,children:[(0,E1.jsx)(r1.MenuBarExtra.Item,{title:"Raycast needs full disk access",tooltip:`You can revert this access in ${Fp} whenever you want`}),e.priming?(0,E1.jsx)(r1.MenuBarExtra.Item,{title:e.priming,tooltip:`You can revert this access in ${Fp} whenever you want`}):null,(0,E1.jsx)(r1.MenuBarExtra.Separator,{}),(0,E1.jsx)(r1.MenuBarExtra.Item,{title:a.title,onAction:()=>(0,r1.open)(a.target)})]}):(0,E1.jsx)(r1.List,{children:(0,E1.jsx)(r1.List.EmptyView,{icon:{source:{light:"https://raycast.com/uploads/extensions-utils-security-permissions-light.png",dark:"https://raycast.com/uploads/extensions-utils-security-permissions-dark.png"}},title:"Raycast needs full disk access.",description:`${e.priming?e.priming+` +`:""}You can revert this access in ${Fp} whenever you want.`,actions:(0,E1.jsx)(r1.ActionPanel,{children:(0,E1.jsx)(r1.Action.Open,{...a})})})})}function g2(e){if(e?.aborted){let a=new Error("aborted");throw a.name="AbortError",a}}});var Qd=u(Ie=>{"use strict";Object.defineProperty(Ie,"__esModule",{value:!0});Ie.useForm=Ie.FormValidation=void 0;var F1=require("react"),Xd=R1(),$p;(function(e){e.Required="required"})($p||(Ie.FormValidation=$p={}));function Up(e,a){if(e){if(typeof e=="function")return e(a);if(e===$p.Required){let p=typeof a<"u"&&a!==null;if(p)switch(typeof a){case"string":p=a.length>0;break;case"object":Array.isArray(a)?p=a.length>0:a instanceof Date&&(p=a.getTime()>0);break;default:break}if(!p)return"The item is required"}}}function tn(e){let{onSubmit:a,validation:p,initialValues:t={}}=e,[d,r]=(0,F1.useState)(t),[i,n]=(0,F1.useState)({}),s=(0,F1.useRef)({}),l=(0,Xd.useLatest)(p||{}),o=(0,Xd.useLatest)(a),m=(0,F1.useCallback)(_=>{s.current[_]?.focus()},[s]),c=(0,F1.useCallback)(async _=>{let w=!1;for(let[y,N]of Object.entries(l.current)){let D=Up(N,_[y]);D&&(w||(w={},m(y)),w[y]=D)}if(w)return n(w),!1;let b=await o.current(_);return typeof b=="boolean"?b:!0},[l,o,m]),v=(0,F1.useCallback)((_,w)=>{n(b=>({...b,[_]:w}))},[n]),f=(0,F1.useCallback)(function(_,w){r(b=>({...b,[_]:typeof w=="function"?w(b[_]):w}))},[r]),h=(0,F1.useMemo)(()=>new Proxy({},{get(_,w){let b=l.current[w],y=d[w];return{onChange(N){i[w]&&(Up(b,N)||v(w,void 0)),f(w,N)},onBlur(N){let D=Up(b,N.target.value);D&&v(w,D)},error:i[w],id:w,value:typeof y>"u"?null:y,ref:N=>{s.current[w]=N}}}}),[i,l,v,d,s,f]),g=(0,F1.useCallback)(_=>{n({}),Object.entries(s.current).forEach(([w,b])=>{_?.[w]||b?.reset()}),_&&r(_)},[r,n,s]);return{handleSubmit:c,setValidationError:v,setValue:f,values:d,itemProps:h,focus:m,reset:g}}Ie.useForm=tn});var a6=u(w2=>{"use strict";Object.defineProperty(w2,"__esModule",{value:!0});w2.useAI=void 0;var e6=require("react"),dn=require("@raycast/api"),rn=Te();function sn(e,a={}){let{creativity:p,stream:t,model:d,...r}=a,[i,n]=(0,e6.useState)(""),s=(0,e6.useRef)(),{isLoading:l,error:o,revalidate:m}=(0,rn.usePromise)(async(c,v,f)=>{n("");let h=dn.AI.ask(c,{creativity:v,model:d,signal:s.current?.signal});f===!1?n(await h):(h.on("data",g=>{n(_=>_+g)}),await h)},[e,p,t],{...r,abortable:s});return{isLoading:l,data:i,error:o,revalidate:m}}w2.useAI=sn});var d6=u(_2=>{"use strict";Object.defineProperty(_2,"__esModule",{value:!0});_2.useFrecencySorting=void 0;var Hp=require("react"),p6=R1(),nn=Wa(),ln=10,t6=24*60*60*1e3,mn=Math.log(2)/(ln*t6),on={Default:100,Embed:0,Bookmark:140};function un(e){let a=Date.now(),p=e?e.lastVisited:0,t=e?e.frecency:0,d=(a-p)/t6,r=on.Default*Math.exp(-mn*d),i=t+r;return{lastVisited:a,frecency:i}}var cn=e=>{if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||!e||!("id"in e)||typeof e.id!="string"))throw new Error("Specify a key function or make sure your items have an 'id' property");return e.id};function fn(e,a){let p=(0,p6.useLatest)(a?.key||cn),t=(0,p6.useLatest)(a?.sortUnvisited),[d,r]=(0,nn.useCachedState)(`raycast_frecency_${a?.namespace}`,{}),i=(0,Hp.useCallback)(async function(o){let m=p.current(o);r(c=>{let v=c[m],f=un(v);return{...c,[m]:f}})},[p,r]),n=(0,Hp.useCallback)(async function(o){let m=p.current(o);r(c=>{let v={...c};return delete v[m],v})},[p,r]);return{data:(0,Hp.useMemo)(()=>e?e.sort((l,o)=>{let m=d[p.current(l)],c=d[p.current(o)];return m&&!c?-1:!m&&c?1:m&&c?c.frecency-m.frecency:t.current?t.current(l,o):0}):[],[d,e,p,t]),visitItem:i,resetRanking:n}}_2.useFrecencySorting=fn});var s6=u(b2=>{"use strict";Object.defineProperty(b2,"__esModule",{value:!0});b2.useLocalStorage=void 0;var Gp=require("@raycast/api"),r6=na(),i6=se(),hn=Te();function vn(e,a){let{data:p,isLoading:t,mutate:d}=(0,hn.usePromise)(async n=>{let s=await Gp.LocalStorage.getItem(n);return typeof s<"u"?JSON.parse(s,i6.reviver):a},[e]);async function r(n){try{await d(Gp.LocalStorage.setItem(e,JSON.stringify(n,i6.replacer)),{optimisticUpdate(s){return s}})}catch(s){await(0,r6.showFailureToast)(s,{title:"Failed to set value in local storage"})}}async function i(){try{await d(Gp.LocalStorage.removeItem(e),{optimisticUpdate(){}})}catch(n){await(0,r6.showFailureToast)(n,{title:"Failed to remove value from local storage"})}}return{value:p,setValue:r,removeValue:i,isLoading:t}}b2.useLocalStorage=vn});var u6=u(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.slightlyLighterColor=Be.slightlyDarkerColor=void 0;function gn(e){let a=0,p=0,t=0;if(e.length===4)a=parseInt(`${e[1]}${e[1]}`,16),p=parseInt(`${e[2]}${e[2]}`,16),t=parseInt(`${e[3]}${e[3]}`,16);else if(e.length===7)a=parseInt(`${e[1]}${e[2]}`,16),p=parseInt(`${e[3]}${e[4]}`,16),t=parseInt(`${e[5]}${e[6]}`,16);else throw new Error(`Malformed hex color: ${e}`);return{r:a,g:p,b:t}}function wn({r:e,g:a,b:p}){let t=e.toString(16),d=a.toString(16),r=p.toString(16);return t.length===1&&(t=`0${t}`),d.length===1&&(d=`0${d}`),r.length===1&&(r=`0${r}`),`#${t}${d}${r}`}function _n({r:e,g:a,b:p}){e/=255,a/=255,p/=255;let t=Math.min(e,a,p),d=Math.max(e,a,p),r=d-t,i=0,n=0,s=0;return r===0?i=0:d===e?i=(a-p)/r%6:d===a?i=(p-e)/r+2:i=(e-a)/r+4,i=Math.round(i*60),i<0&&(i+=360),s=(d+t)/2,n=r===0?0:r/(1-Math.abs(2*s-1)),n=+(n*100).toFixed(1),s=+(s*100).toFixed(1),{h:i,s:n,l:s}}function bn({h:e,s:a,l:p}){a/=100,p/=100;let t=(1-Math.abs(2*p-1))*a,d=t*(1-Math.abs(e/60%2-1)),r=p-t/2,i=0,n=0,s=0;return e>=0&&e<60?(i=t,n=d,s=0):e>=60&&e<120?(i=d,n=t,s=0):e>=120&&e<180?(i=0,n=t,s=d):e>=180&&e<240?(i=0,n=d,s=t):e>=240&&e<300?(i=d,n=0,s=t):e>=300&&e<360&&(i=t,n=0,s=d),i=Math.round((i+r)*255),n=Math.round((n+r)*255),s=Math.round((s+r)*255),{r:i,g:n,b:s}}function n6(e){return _n(gn(e))}function l6(e){return wn(bn(e))}function m6(e,a,p){return a<p?e<a?a:e>p?p:e:e<p?p:e>a?a:e}var o6=12;function yn(e){let a=n6(e);return l6({h:a.h,s:a.s,l:m6(a.l-o6,0,100)})}Be.slightlyDarkerColor=yn;function Sn(e){let a=n6(e);return l6({h:a.h,s:a.s,l:m6(a.l+o6,0,100)})}Be.slightlyLighterColor=Sn});var h6=u(y2=>{"use strict";Object.defineProperty(y2,"__esModule",{value:!0});y2.getAvatarIcon=void 0;var c6=u6();function Fe(e,a){let p=e.charCodeAt(a);if(Number.isNaN(p))return["",a];if(p<55296||p>57343)return[e.charAt(a),a];if(55296<=p&&p<=56319){if(e.length<=a+1)throw new Error("High surrogate without following low surrogate");let d=e.charCodeAt(a+1);if(56320>d||d>57343)throw new Error("High surrogate without following low surrogate");return[e.charAt(a)+e.charAt(a+1),a+1]}if(a===0)throw new Error("Low surrogate without preceding high surrogate");let t=e.charCodeAt(a-1);if(55296>t||t>56319)throw new Error("Low surrogate without preceding high surrogate");return[e.charAt(a+1),a+1]}var f6=["#DC829A","#D64854","#D47600","#D36CDD","#52A9E4","#7871E8","#70920F","#43B93A","#EB6B3E","#26B795","#D85A9B","#A067DC","#BD9500","#5385D9"];function Nn(e,a){let p=e.trim().split(" "),t;if(p.length==1&&Fe(p[0],0)[0])t=Fe(p[0],0)[0];else if(p.length>1){let s=Fe(p[0],0)[0]||"",l=Fe(p[p.length-1],0)[0]??"";t=s+l}else t="";let d;if(a?.background)d=a?.background;else{let s=0,[l,o]=Fe(t,0);for(;l;)s+=l.charCodeAt(0),[l,o]=Fe(t,o+1);let m=s%f6.length;d=f6[m]}let i=50-0;return`data:image/svg+xml,${`<svg width="100px" height="100px"> + ${a?.gradient!==!1?`<defs> + <linearGradient id="Gradient" x1="0.25" x2="0.75" y1="0" y2="1"> + <stop offset="0%" stop-color="${(0,c6.slightlyLighterColor)(d)}"/> + <stop offset="50%" stop-color="${d}"/> + <stop offset="100%" stop-color="${(0,c6.slightlyDarkerColor)(d)}"/> + </linearGradient> + </defs>`:""} + <circle cx="50" cy="50" r="${i}" fill="${a?.gradient!==!1?"url(#Gradient)":d}" /> + ${t?`<text x="50" y="80" font-size="${i-1}" font-family="Inter, sans-serif" text-anchor="middle" fill="white">${t.toUpperCase()}</text>`:""} + </svg> + `.replaceAll(` +`,"")}`}y2.getAvatarIcon=Nn});var g6=u(S2=>{"use strict";Object.defineProperty(S2,"__esModule",{value:!0});S2.getFavicon=void 0;var v6=require("@raycast/api"),xn=require("url");function Tn(e,a){try{let t=(typeof e=="string"?new xn.URL(e):e).hostname;return{source:`https://www.google.com/s2/favicons?sz=${a?.size??64}&domain=${t}`,fallback:a?.fallback??v6.Icon.Link,mask:a?.mask}}catch(p){return console.error(p),v6.Icon.Link}}S2.getFavicon=Tn});var b6=u(N2=>{"use strict";Object.defineProperty(N2,"__esModule",{value:!0});N2.getProgressIcon=void 0;var w6=require("@raycast/api");function _6(e,a,p,t){let d=(t-90)*Math.PI/180;return{x:e+p*Math.cos(d),y:a+p*Math.sin(d)}}function Dn(e,a,p,t,d){let r=_6(e,a,p,d),i=_6(e,a,p,t),n=d-t<=180?"0":"1";return["M",r.x,r.y,"A",p,p,0,n,0,i.x,i.y].join(" ")}function Cn(e,a=w6.Color.Red,p){let t=p?.background||(w6.environment.appearance==="light"?"black":"white"),d=p?.backgroundOpacity||.1,r=10,n=50-5-r/2;return`data:image/svg+xml,${`<svg width="100px" height="100px"> + <circle cx="50" cy="50" r="${n}" stroke-width="${r}" stroke="${e<1?t:a}" opacity="${e<1?d:"1"}" fill="none" /> + ${e>0&&e<1?`<path d="${Dn(50,50,n,0,e*360)}" stroke="${a}" stroke-width="${r}" fill="none" />`:""} + </svg> + `.replaceAll(` +`,"")}`}N2.getProgressIcon=Cn});var y6=u(j1=>{"use strict";var An=j1&&j1.__createBinding||(Object.create?function(e,a,p,t){t===void 0&&(t=p);var d=Object.getOwnPropertyDescriptor(a,p);(!d||("get"in d?!a.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return a[p]}}),Object.defineProperty(e,t,d)}:function(e,a,p,t){t===void 0&&(t=p),e[t]=a[p]}),Kp=j1&&j1.__exportStar||function(e,a){for(var p in e)p!=="default"&&!Object.prototype.hasOwnProperty.call(a,p)&&An(a,e,p)};Object.defineProperty(j1,"__esModule",{value:!0});Kp(h6(),j1);Kp(g6(),j1);Kp(b6(),j1)});var S6=u(a1=>{"use strict";Object.defineProperty(a1,"__esModule",{value:!0});a1.zoomService=a1.slackService=a1.linearService=a1.jiraService=a1.googleService=a1.githubService=a1.asanaService=void 0;var i1=require("@raycast/api"),he=Zp(),x2={asana:"1191201745684312",github:"7235fe8d42157f1f38c0",linear:"c8ff37b9225c3c9aefd7d66ea0e5b6f1",slack:"851756884692.5546927290212"},X1=e=>`data:image/svg+xml,${e}`,ve={asana:X1('<svg xmlns="http://www.w3.org/2000/svg" width="251" height="232" fill="none"><path fill="#F06A6A" d="M179.383 54.373c0 30.017-24.337 54.374-54.354 54.374-30.035 0-54.373-24.338-54.373-54.374C70.656 24.338 94.993 0 125.029 0c30.017 0 54.354 24.338 54.354 54.373ZM54.393 122.33C24.376 122.33.02 146.668.02 176.685c0 30.017 24.337 54.373 54.373 54.373 30.035 0 54.373-24.338 54.373-54.373 0-30.017-24.338-54.355-54.373-54.355Zm141.253 0c-30.035 0-54.373 24.338-54.373 54.374 0 30.035 24.338 54.373 54.373 54.373 30.017 0 54.374-24.338 54.374-54.373 0-30.036-24.338-54.374-54.374-54.374Z"/></svg>'),github:{source:X1('<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>'),tintColor:i1.Color.PrimaryText},google:X1('<svg xmlns="http://www.w3.org/2000/svg" style="display:block" viewBox="0 0 48 48"><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"/><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"/><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"/><path fill="none" d="M0 0h48v48H0z"/></svg>'),jira:X1('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="2361" height="2500" viewBox="2.59 0 214.091 224"><linearGradient id="a" x1="102.4" x2="56.15" y1="218.63" y2="172.39" gradientTransform="matrix(1 0 0 -1 0 264)" gradientUnits="userSpaceOnUse"><stop offset=".18" stop-color="#0052cc"/><stop offset="1" stop-color="#2684ff"/></linearGradient><linearGradient xlink:href="#a" id="b" x1="114.65" x2="160.81" y1="85.77" y2="131.92"/><path fill="#2684ff" d="M214.06 105.73 117.67 9.34 108.33 0 35.77 72.56 2.59 105.73a8.89 8.89 0 0 0 0 12.54l66.29 66.29L108.33 224l72.55-72.56 1.13-1.12 32.05-32a8.87 8.87 0 0 0 0-12.59zm-105.73 39.39L75.21 112l33.12-33.12L141.44 112z"/><path fill="url(#a)" d="M108.33 78.88a55.75 55.75 0 0 1-.24-78.61L35.62 72.71l39.44 39.44z"/><path fill="url(#b)" d="m141.53 111.91-33.2 33.21a55.77 55.77 0 0 1 0 78.86L181 151.35z"/></svg>'),linear:{source:{light:X1('<svg xmlns="http://www.w3.org/2000/svg" fill="#222326" width="200" height="200" viewBox="0 0 100 100"><path d="M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z"/></svg>'),dark:X1('<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" width="200" height="200" viewBox="0 0 100 100"><path d="M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z" /></svg>')}},slack:X1('<svg xmlns="http://www.w3.org/2000/svg" viewBox="73 73 124 124"><style>.st0{fill:#e01e5a}.st1{fill:#36c5f0}.st2{fill:#2eb67d}.st3{fill:#ecb22e}</style><path d="M99.4 151.2c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h12.9v12.9zM105.9 151.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9v-32.3z" class="st0"/><path d="M118.8 99.4c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v12.9h-12.9zM118.8 105.9c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H86.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3z" class="st1"/><path d="M170.6 118.8c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9h-12.9v-12.9zM164.1 118.8c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9V86.5c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9v32.3z" class="st2"/><path d="M151.2 170.6c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9v-12.9h12.9zM151.2 164.1c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9h-32.3z" class="st3"/></svg>'),zoom:X1('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 351.845 80"><path d="M73.786 78.835H10.88A10.842 10.842 0 0 1 .833 72.122a10.841 10.841 0 0 1 2.357-11.85L46.764 16.7h-31.23C6.954 16.699 0 9.744 0 1.165h58.014c4.414 0 8.357 2.634 10.046 6.712a10.843 10.843 0 0 1-2.356 11.85L22.13 63.302h36.122c8.58 0 15.534 6.955 15.534 15.534Zm278.059-48.544C351.845 13.588 338.256 0 321.553 0c-8.934 0-16.975 3.89-22.524 10.063C293.48 3.89 285.44 0 276.505 0c-16.703 0-30.291 13.588-30.291 30.291v48.544c8.579 0 15.534-6.955 15.534-15.534v-33.01c0-8.137 6.62-14.757 14.757-14.757s14.757 6.62 14.757 14.757v33.01c0 8.58 6.955 15.534 15.534 15.534V30.291c0-8.137 6.62-14.757 14.757-14.757s14.758 6.62 14.758 14.757v33.01c0 8.58 6.954 15.534 15.534 15.534V30.291ZM238.447 40c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.908-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S173.98 26.488 173.98 40s10.953 24.466 24.466 24.466S222.913 53.512 222.913 40Zm-70.68 0c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S87.767 26.488 87.767 40s10.954 24.466 24.466 24.466S136.699 53.512 136.699 40Z" style="fill:#0b5cff"/></svg>')},Vn=e=>new he.OAuthService({client:new i1.OAuth.PKCEClient({redirectMethod:i1.OAuth.RedirectMethod.Web,providerName:"Asana",providerIcon:ve.asana,providerId:"asana",description:"Connect your Asana account"}),clientId:e.clientId??x2.asana,authorizeUrl:e.authorizeUrl??"https://asana.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://asana.oauth.raycast.com/token",refreshTokenUrl:e.refreshTokenUrl??"https://asana.oauth.raycast.com/refresh-token",scope:e.scope,personalAccessToken:e.personalAccessToken,onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});a1.asanaService=Vn;var En=e=>new he.OAuthService({client:new i1.OAuth.PKCEClient({redirectMethod:i1.OAuth.RedirectMethod.Web,providerName:"GitHub",providerIcon:ve.github,providerId:"github",description:"Connect your GitHub account"}),clientId:e.clientId??x2.github,authorizeUrl:e.authorizeUrl??"https://github.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://github.oauth.raycast.com/token",refreshTokenUrl:e.refreshTokenUrl??"https://github.oauth.raycast.com/refresh-token",scope:e.scope,personalAccessToken:e.personalAccessToken,onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});a1.githubService=En;var Pn=e=>new he.OAuthService({client:new i1.OAuth.PKCEClient({redirectMethod:i1.OAuth.RedirectMethod.AppURI,providerName:"Google",providerIcon:ve.google,providerId:"google",description:"Connect your Google account"}),clientId:e.clientId,authorizeUrl:e.authorizeUrl??"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:e.tokenUrl??"https://oauth2.googleapis.com/token",refreshTokenUrl:e.tokenUrl,scope:e.scope,personalAccessToken:e.personalAccessToken,bodyEncoding:e.bodyEncoding??"url-encoded",onAuthorize:e.onAuthorize,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});a1.googleService=Pn;var Mn=e=>new he.OAuthService({client:new i1.OAuth.PKCEClient({redirectMethod:i1.OAuth.RedirectMethod.Web,providerName:"Jira",providerIcon:ve.jira,providerId:"jira",description:"Connect your Jira account"}),clientId:e.clientId,authorizeUrl:e.authorizeUrl??"https://auth.atlassian.com/authorize",tokenUrl:e.tokenUrl??"https://auth.atlassian.com/oauth/token",refreshTokenUrl:e.refreshTokenUrl,scope:e.scope,personalAccessToken:e.personalAccessToken,onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});a1.jiraService=Mn;var kn=e=>new he.OAuthService({client:new i1.OAuth.PKCEClient({redirectMethod:i1.OAuth.RedirectMethod.Web,providerName:"Linear",providerIcon:ve.linear,providerId:"linear",description:"Connect your Linear account"}),clientId:e.clientId??x2.linear,authorizeUrl:e.authorizeUrl??"https://linear.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://linear.oauth.raycast.com/token",refreshTokenUrl:e.refreshTokenUrl??"https://linear.oauth.raycast.com/refresh-token",scope:e.scope,extraParameters:{actor:"user"},onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});a1.linearService=kn;var On=e=>new he.OAuthService({client:new i1.OAuth.PKCEClient({redirectMethod:i1.OAuth.RedirectMethod.Web,providerName:"Slack",providerIcon:ve.slack,providerId:"slack",description:"Connect your Slack account"}),clientId:e.clientId??x2.slack,authorizeUrl:e.authorizeUrl??"https://slack.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://slack.oauth.raycast.com/token",refreshTokenUrl:e.tokenUrl??"https://slack.oauth.raycast.com/refresh-token",scope:"",extraParameters:{user_scope:e.scope},personalAccessToken:e.personalAccessToken,bodyEncoding:e.tokenUrl?e.bodyEncoding??"url-encoded":"json",onAuthorize:e.onAuthorize,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser??(a=>({access_token:a.authed_user.access_token,scope:a.authed_user.scope}))});a1.slackService=On;var Rn=e=>new he.OAuthService({client:new i1.OAuth.PKCEClient({redirectMethod:i1.OAuth.RedirectMethod.Web,providerName:"Zoom",providerIcon:ve.zoom,providerId:"zoom",description:"Connect your Zoom account"}),clientId:e.clientId,authorizeUrl:e.authorizeUrl??"https://zoom.us/oauth/authorize",tokenUrl:e.tokenUrl??"https://zoom.us/oauth/token",refreshTokenUrl:e.refreshTokenUrl,scope:e.scope,personalAccessToken:e.personalAccessToken,bodyEncoding:e.bodyEncoding??"url-encoded",onAuthorize:e.onAuthorize,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});a1.zoomService=Rn});var Zp=u(je=>{"use strict";var qn=je&&je.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(je,"__esModule",{value:!0});je.OAuthService=void 0;var N6=qn(d2()),ge=S6(),P1=class{constructor(a){this.clientId=a.clientId,this.scope=Array.isArray(a.scope)?a.scope.join(" "):a.scope,this.personalAccessToken=a.personalAccessToken,this.bodyEncoding=a.bodyEncoding,this.client=a.client,this.extraParameters=a.extraParameters,this.authorizeUrl=a.authorizeUrl,this.tokenUrl=a.tokenUrl,this.refreshTokenUrl=a.refreshTokenUrl,this.onAuthorize=a.onAuthorize,this.tokenResponseParser=a.tokenResponseParser??(p=>p),this.tokenRefreshResponseParser=a.tokenRefreshResponseParser??(p=>p),this.authorize=this.authorize.bind(this)}async authorize(){let a=await this.client.getTokens();if(a?.accessToken){if(a.refreshToken&&a.isExpired()){let r=await this.refreshTokens({token:a.refreshToken});if(r)return await this.client.setTokens(r),r.access_token}return a.accessToken}let p=await this.client.authorizationRequest({endpoint:this.authorizeUrl,clientId:this.clientId,scope:this.scope,extraParameters:this.extraParameters}),{authorizationCode:t}=await this.client.authorize(p),d=await this.fetchTokens({authRequest:p,authorizationCode:t});return await this.client.setTokens(d),d.access_token}async fetchTokens({authRequest:a,authorizationCode:p}){let t;if(this.bodyEncoding==="url-encoded"){let i=new URLSearchParams;i.append("client_id",this.clientId),i.append("code",p),i.append("code_verifier",a.codeVerifier),i.append("grant_type","authorization_code"),i.append("redirect_uri",a.redirectURI),t={body:i}}else t={body:JSON.stringify({client_id:this.clientId,code:p,code_verifier:a.codeVerifier,grant_type:"authorization_code",redirect_uri:a.redirectURI}),headers:{"Content-Type":"application/json"}};let d=await(0,N6.default)(this.tokenUrl,{method:"POST",...t});if(!d.ok){let i=await d.text();throw console.error("fetch tokens error:",i),new Error(`Error while fetching tokens: ${d.status} (${d.statusText}) +${i}`)}let r=this.tokenResponseParser(await d.json());return Array.isArray(r.scope)?{...r,scope:r.scope.join(" ")}:r}async refreshTokens({token:a}){let p;if(this.bodyEncoding==="url-encoded"){let d=new URLSearchParams;d.append("client_id",this.clientId),d.append("refresh_token",a),d.append("grant_type","refresh_token"),p={body:d}}else p={body:JSON.stringify({client_id:this.clientId,refresh_token:a,grant_type:"refresh_token"}),headers:{"Content-Type":"application/json"}};let t=await(0,N6.default)(this.refreshTokenUrl??this.tokenUrl,{method:"POST",...p});if(t.ok){let d=this.tokenRefreshResponseParser(await t.json());return d.refresh_token=d.refresh_token??a,d}else{let d=await t.text();console.error("refresh tokens error:",d),this.client.description=`${this.client.providerName} needs you to sign-in again. Press \u23CE or click the button below to continue.`,await this.client.removeTokens(),await this.authorize()}}};je.OAuthService=P1;P1.asana=ge.asanaService;P1.github=ge.githubService;P1.google=ge.googleService;P1.jira=ge.jiraService;P1.linear=ge.linearService;P1.slack=ge.slackService;P1.zoom=ge.zoomService});var x6=u(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.getAccessToken=ze.withAccessToken=void 0;var Ln=require("react/jsx-runtime"),In=require("@raycast/api"),Q1=null,we=null,Jp=null,Wp=null,Yp=null;function Bn(e){return In.environment.commandMode==="no-view"?a=>async t=>{if(!Q1){Q1=e.personalAccessToken??await e.authorize(),we=e.personalAccessToken?"personal":"oauth";let d=(await e.client?.getTokens())?.idToken;e.onAuthorize&&await Promise.resolve(e.onAuthorize({token:Q1,type:we,idToken:d}))}return a(t)}:a=>{let p=t=>{e.personalAccessToken?(Q1=e.personalAccessToken,we="personal"):(Jp||(Jp=Xp(e.authorize())),Q1=Jp.read(),we="oauth");let d;return e.client&&(Wp||(Wp=Xp(e.client.getTokens())),d=Wp.read()?.idToken),!Yp&&e.onAuthorize&&(Yp=Xp(Promise.resolve(e.onAuthorize({token:Q1,type:we,idToken:d})))),Yp?.read(),(0,Ln.jsx)(a,{...t})};return p.displayName=`withAccessToken(${a.displayName||a.name})`,p}}ze.withAccessToken=Bn;function Fn(){if(!Q1||!we)throw new Error("getAccessToken must be used when authenticated (eg. used inside `withAccessToken`)");return{token:Q1,type:we}}ze.getAccessToken=Fn;function Xp(e){let a="pending",p,t=e.then(r=>{a="success",p=r},r=>{a="error",p=r});return{read:()=>{switch(a){case"pending":throw t;case"error":throw p;default:return p}}}}});var D6=u(ee=>{"use strict";var jn=ee&&ee.__createBinding||(Object.create?function(e,a,p,t){t===void 0&&(t=p);var d=Object.getOwnPropertyDescriptor(a,p);(!d||("get"in d?!a.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return a[p]}}),Object.defineProperty(e,t,d)}:function(e,a,p,t){t===void 0&&(t=p),e[t]=a[p]}),T6=ee&&ee.__exportStar||function(e,a){for(var p in e)p!=="default"&&!Object.prototype.hasOwnProperty.call(a,p)&&jn(a,e,p)};Object.defineProperty(ee,"__esModule",{value:!0});T6(Zp(),ee);T6(x6(),ee)});var C6=u(Ue=>{"use strict";var zn=Ue&&Ue.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ue,"__esModule",{value:!0});Ue.runAppleScript=void 0;var Un=zn(require("node:child_process")),Ta=o2();async function $n(e,a,p){let{humanReadableOutput:t,language:d,timeout:r,...i}=Array.isArray(a)?p||{}:a||{},n=t!==!1?[]:["-ss"];d==="JavaScript"&&n.push("-l","JavaScript"),Array.isArray(a)&&n.push("-",...a);let s=Un.default.spawn("osascript",n,{...i,env:{PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"}}),l=(0,Ta.getSpawnedPromise)(s,{timeout:r||1e4});s.stdin.end(e);let[{error:o,exitCode:m,signal:c,timedOut:v},f,h]=await(0,Ta.getSpawnedResult)(s,{encoding:"utf8"},l),g=(0,Ta.handleOutput)({stripFinalNewline:!0},f),_=(0,Ta.handleOutput)({stripFinalNewline:!0},h);return(0,Ta.defaultParsing)({stdout:g,stderr:_,error:o,exitCode:m,signal:c,timedOut:v,command:"osascript",options:p,parentError:new Error})}Ue.runAppleScript=$n});var M6=u(_1=>{"use strict";var A6=_1&&_1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(_1,"__esModule",{value:!0});_1.createDeeplink=_1.createExtensionDeeplink=_1.createScriptCommandDeeplink=_1.DeeplinkType=void 0;var e0=require("@raycast/api"),Hn=A6(require("node:fs")),Gn=A6(require("node:path")),Qp;(function(e){e.ScriptCommand="script-command",e.Extension="extension"})(Qp||(_1.DeeplinkType=Qp={}));function V6(){return e0.environment.raycastVersion.includes("alpha")?"raycastinternal://":"raycast://"}function Kn(){let e=JSON.parse(Hn.default.readFileSync(Gn.default.join(e0.environment.assetsPath,"..","package.json"),"utf8"));return e.owner||e.author}function E6(e){let a=`${V6()}script-commands/${e.command}`;if(e.arguments){let p="";for(let t of e.arguments)p+="&arguments="+encodeURIComponent(t);a+="?"+p.substring(1)}return a}_1.createScriptCommandDeeplink=E6;function P6(e){let a=Kn(),p=e0.environment.extensionName;"ownerOrAuthorName"in e&&"extensionName"in e&&(a=e.ownerOrAuthorName,p=e.extensionName);let t=`${V6()}extensions/${a}/${p}/${e.command}`,d="";return e.launchType&&(d+="&launchType="+encodeURIComponent(e.launchType)),e.arguments&&(d+="&arguments="+encodeURIComponent(JSON.stringify(e.arguments))),e.context&&(d+="&context="+encodeURIComponent(JSON.stringify(e.context))),e.fallbackText&&(d+="&fallbackText="+encodeURIComponent(e.fallbackText)),d&&(t+="?"+d.substring(1)),t}_1.createExtensionDeeplink=P6;function Zn(e){return e.type===Qp.ScriptCommand?E6(e):P6(e)}_1.createDeeplink=Zn});var a0=u(F=>{"use strict";var Jn=F&&F.__createBinding||(Object.create?function(e,a,p,t){t===void 0&&(t=p);var d=Object.getOwnPropertyDescriptor(a,p);(!d||("get"in d?!a.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return a[p]}}),Object.defineProperty(e,t,d)}:function(e,a,p,t){t===void 0&&(t=p),e[t]=a[p]}),p1=F&&F.__exportStar||function(e,a){for(var p in e)p!=="default"&&!Object.prototype.hasOwnProperty.call(a,p)&&Jn(a,e,p)};Object.defineProperty(F,"__esModule",{value:!0});p1(Te(),F);p1(Wa(),F);p1(ua(),F);p1(ud(),F);p1(_d(),F);p1(Gd(),F);p1(Yd(),F);p1(Qd(),F);p1(a6(),F);p1(d6(),F);p1(s6(),F);p1(y6(),F);p1(D6(),F);p1(C6(),F);p1(na(),F);p1(M6(),F)});var fr=u((C_,cr)=>{function Zm(){this.__data__=[],this.size=0}cr.exports=Zm});var V0=u((A_,hr)=>{function Jm(e,a){return e===a||e!==e&&a!==a}hr.exports=Jm});var Oa=u((V_,vr)=>{var Wm=V0();function Ym(e,a){for(var p=e.length;p--;)if(Wm(e[p][0],a))return p;return-1}vr.exports=Ym});var wr=u((E_,gr)=>{var Xm=Oa(),Qm=Array.prototype,eo=Qm.splice;function ao(e){var a=this.__data__,p=Xm(a,e);if(p<0)return!1;var t=a.length-1;return p==t?a.pop():eo.call(a,p,1),--this.size,!0}gr.exports=ao});var br=u((P_,_r)=>{var po=Oa();function to(e){var a=this.__data__,p=po(a,e);return p<0?void 0:a[p][1]}_r.exports=to});var Sr=u((M_,yr)=>{var ro=Oa();function io(e){return ro(this.__data__,e)>-1}yr.exports=io});var xr=u((k_,Nr)=>{var so=Oa();function no(e,a){var p=this.__data__,t=so(p,e);return t<0?(++this.size,p.push([e,a])):p[t][1]=a,this}Nr.exports=no});var Ra=u((O_,Tr)=>{var lo=fr(),mo=wr(),oo=br(),uo=Sr(),co=xr();function Xe(e){var a=-1,p=e==null?0:e.length;for(this.clear();++a<p;){var t=e[a];this.set(t[0],t[1])}}Xe.prototype.clear=lo;Xe.prototype.delete=mo;Xe.prototype.get=oo;Xe.prototype.has=uo;Xe.prototype.set=co;Tr.exports=Xe});var Cr=u((R_,Dr)=>{var fo=Ra();function ho(){this.__data__=new fo,this.size=0}Dr.exports=ho});var Vr=u((q_,Ar)=>{function vo(e){var a=this.__data__,p=a.delete(e);return this.size=a.size,p}Ar.exports=vo});var Pr=u((L_,Er)=>{function go(e){return this.__data__.get(e)}Er.exports=go});var kr=u((I_,Mr)=>{function wo(e){return this.__data__.has(e)}Mr.exports=wo});var E0=u((B_,Or)=>{var _o=typeof global=="object"&&global&&global.Object===Object&&global;Or.exports=_o});var O1=u((F_,Rr)=>{var bo=E0(),yo=typeof self=="object"&&self&&self.Object===Object&&self,So=bo||yo||Function("return this")();Rr.exports=So});var qa=u((j_,qr)=>{var No=O1(),xo=No.Symbol;qr.exports=xo});var Fr=u((z_,Br)=>{var Lr=qa(),Ir=Object.prototype,To=Ir.hasOwnProperty,Do=Ir.toString,La=Lr?Lr.toStringTag:void 0;function Co(e){var a=To.call(e,La),p=e[La];try{e[La]=void 0;var t=!0}catch{}var d=Do.call(e);return t&&(a?e[La]=p:delete e[La]),d}Br.exports=Co});var zr=u((U_,jr)=>{var Ao=Object.prototype,Vo=Ao.toString;function Eo(e){return Vo.call(e)}jr.exports=Eo});var Qe=u(($_,Hr)=>{var Ur=qa(),Po=Fr(),Mo=zr(),ko="[object Null]",Oo="[object Undefined]",$r=Ur?Ur.toStringTag:void 0;function Ro(e){return e==null?e===void 0?Oo:ko:$r&&$r in Object(e)?Po(e):Mo(e)}Hr.exports=Ro});var z2=u((H_,Gr)=>{function qo(e){var a=typeof e;return e!=null&&(a=="object"||a=="function")}Gr.exports=qo});var P0=u((G_,Kr)=>{var Lo=Qe(),Io=z2(),Bo="[object AsyncFunction]",Fo="[object Function]",jo="[object GeneratorFunction]",zo="[object Proxy]";function Uo(e){if(!Io(e))return!1;var a=Lo(e);return a==Fo||a==jo||a==Bo||a==zo}Kr.exports=Uo});var Jr=u((K_,Zr)=>{var $o=O1(),Ho=$o["__core-js_shared__"];Zr.exports=Ho});var Xr=u((Z_,Yr)=>{var M0=Jr(),Wr=function(){var e=/[^.]+$/.exec(M0&&M0.keys&&M0.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Go(e){return!!Wr&&Wr in e}Yr.exports=Go});var k0=u((J_,Qr)=>{var Ko=Function.prototype,Zo=Ko.toString;function Jo(e){if(e!=null){try{return Zo.call(e)}catch{}try{return e+""}catch{}}return""}Qr.exports=Jo});var a5=u((W_,e5)=>{var Wo=P0(),Yo=Xr(),Xo=z2(),Qo=k0(),eu=/[\\^$.*+?()[\]{}|]/g,au=/^\[object .+?Constructor\]$/,pu=Function.prototype,tu=Object.prototype,du=pu.toString,ru=tu.hasOwnProperty,iu=RegExp("^"+du.call(ru).replace(eu,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function su(e){if(!Xo(e)||Yo(e))return!1;var a=Wo(e)?iu:au;return a.test(Qo(e))}e5.exports=su});var t5=u((Y_,p5)=>{function nu(e,a){return e?.[a]}p5.exports=nu});var ye=u((X_,d5)=>{var lu=a5(),mu=t5();function ou(e,a){var p=mu(e,a);return lu(p)?p:void 0}d5.exports=ou});var U2=u((Q_,r5)=>{var uu=ye(),cu=O1(),fu=uu(cu,"Map");r5.exports=fu});var Ia=u((eb,i5)=>{var hu=ye(),vu=hu(Object,"create");i5.exports=vu});var l5=u((ab,n5)=>{var s5=Ia();function gu(){this.__data__=s5?s5(null):{},this.size=0}n5.exports=gu});var o5=u((pb,m5)=>{function wu(e){var a=this.has(e)&&delete this.__data__[e];return this.size-=a?1:0,a}m5.exports=wu});var c5=u((tb,u5)=>{var _u=Ia(),bu="__lodash_hash_undefined__",yu=Object.prototype,Su=yu.hasOwnProperty;function Nu(e){var a=this.__data__;if(_u){var p=a[e];return p===bu?void 0:p}return Su.call(a,e)?a[e]:void 0}u5.exports=Nu});var h5=u((db,f5)=>{var xu=Ia(),Tu=Object.prototype,Du=Tu.hasOwnProperty;function Cu(e){var a=this.__data__;return xu?a[e]!==void 0:Du.call(a,e)}f5.exports=Cu});var g5=u((rb,v5)=>{var Au=Ia(),Vu="__lodash_hash_undefined__";function Eu(e,a){var p=this.__data__;return this.size+=this.has(e)?0:1,p[e]=Au&&a===void 0?Vu:a,this}v5.exports=Eu});var _5=u((ib,w5)=>{var Pu=l5(),Mu=o5(),ku=c5(),Ou=h5(),Ru=g5();function ea(e){var a=-1,p=e==null?0:e.length;for(this.clear();++a<p;){var t=e[a];this.set(t[0],t[1])}}ea.prototype.clear=Pu;ea.prototype.delete=Mu;ea.prototype.get=ku;ea.prototype.has=Ou;ea.prototype.set=Ru;w5.exports=ea});var S5=u((sb,y5)=>{var b5=_5(),qu=Ra(),Lu=U2();function Iu(){this.size=0,this.__data__={hash:new b5,map:new(Lu||qu),string:new b5}}y5.exports=Iu});var x5=u((nb,N5)=>{function Bu(e){var a=typeof e;return a=="string"||a=="number"||a=="symbol"||a=="boolean"?e!=="__proto__":e===null}N5.exports=Bu});var Ba=u((lb,T5)=>{var Fu=x5();function ju(e,a){var p=e.__data__;return Fu(a)?p[typeof a=="string"?"string":"hash"]:p.map}T5.exports=ju});var C5=u((mb,D5)=>{var zu=Ba();function Uu(e){var a=zu(this,e).delete(e);return this.size-=a?1:0,a}D5.exports=Uu});var V5=u((ob,A5)=>{var $u=Ba();function Hu(e){return $u(this,e).get(e)}A5.exports=Hu});var P5=u((ub,E5)=>{var Gu=Ba();function Ku(e){return Gu(this,e).has(e)}E5.exports=Ku});var k5=u((cb,M5)=>{var Zu=Ba();function Ju(e,a){var p=Zu(this,e),t=p.size;return p.set(e,a),this.size+=p.size==t?0:1,this}M5.exports=Ju});var $2=u((fb,O5)=>{var Wu=S5(),Yu=C5(),Xu=V5(),Qu=P5(),ec=k5();function aa(e){var a=-1,p=e==null?0:e.length;for(this.clear();++a<p;){var t=e[a];this.set(t[0],t[1])}}aa.prototype.clear=Wu;aa.prototype.delete=Yu;aa.prototype.get=Xu;aa.prototype.has=Qu;aa.prototype.set=ec;O5.exports=aa});var q5=u((hb,R5)=>{var ac=Ra(),pc=U2(),tc=$2(),dc=200;function rc(e,a){var p=this.__data__;if(p instanceof ac){var t=p.__data__;if(!pc||t.length<dc-1)return t.push([e,a]),this.size=++p.size,this;p=this.__data__=new tc(t)}return p.set(e,a),this.size=p.size,this}R5.exports=rc});var O0=u((vb,L5)=>{var ic=Ra(),sc=Cr(),nc=Vr(),lc=Pr(),mc=kr(),oc=q5();function pa(e){var a=this.__data__=new ic(e);this.size=a.size}pa.prototype.clear=sc;pa.prototype.delete=nc;pa.prototype.get=lc;pa.prototype.has=mc;pa.prototype.set=oc;L5.exports=pa});var B5=u((gb,I5)=>{var uc="__lodash_hash_undefined__";function cc(e){return this.__data__.set(e,uc),this}I5.exports=cc});var j5=u((wb,F5)=>{function fc(e){return this.__data__.has(e)}F5.exports=fc});var R0=u((_b,z5)=>{var hc=$2(),vc=B5(),gc=j5();function H2(e){var a=-1,p=e==null?0:e.length;for(this.__data__=new hc;++a<p;)this.add(e[a])}H2.prototype.add=H2.prototype.push=vc;H2.prototype.has=gc;z5.exports=H2});var $5=u((bb,U5)=>{function wc(e,a){for(var p=-1,t=e==null?0:e.length;++p<t;)if(a(e[p],p,e))return!0;return!1}U5.exports=wc});var q0=u((yb,H5)=>{function _c(e,a){return e.has(a)}H5.exports=_c});var L0=u((Sb,G5)=>{var bc=R0(),yc=$5(),Sc=q0(),Nc=1,xc=2;function Tc(e,a,p,t,d,r){var i=p&Nc,n=e.length,s=a.length;if(n!=s&&!(i&&s>n))return!1;var l=r.get(e),o=r.get(a);if(l&&o)return l==a&&o==e;var m=-1,c=!0,v=p&xc?new bc:void 0;for(r.set(e,a),r.set(a,e);++m<n;){var f=e[m],h=a[m];if(t)var g=i?t(h,f,m,a,e,r):t(f,h,m,e,a,r);if(g!==void 0){if(g)continue;c=!1;break}if(v){if(!yc(a,function(_,w){if(!Sc(v,w)&&(f===_||d(f,_,p,t,r)))return v.push(w)})){c=!1;break}}else if(!(f===h||d(f,h,p,t,r))){c=!1;break}}return r.delete(e),r.delete(a),c}G5.exports=Tc});var Z5=u((Nb,K5)=>{var Dc=O1(),Cc=Dc.Uint8Array;K5.exports=Cc});var W5=u((xb,J5)=>{function Ac(e){var a=-1,p=Array(e.size);return e.forEach(function(t,d){p[++a]=[d,t]}),p}J5.exports=Ac});var G2=u((Tb,Y5)=>{function Vc(e){var a=-1,p=Array(e.size);return e.forEach(function(t){p[++a]=t}),p}Y5.exports=Vc});var p9=u((Db,a9)=>{var X5=qa(),Q5=Z5(),Ec=V0(),Pc=L0(),Mc=W5(),kc=G2(),Oc=1,Rc=2,qc="[object Boolean]",Lc="[object Date]",Ic="[object Error]",Bc="[object Map]",Fc="[object Number]",jc="[object RegExp]",zc="[object Set]",Uc="[object String]",$c="[object Symbol]",Hc="[object ArrayBuffer]",Gc="[object DataView]",e9=X5?X5.prototype:void 0,I0=e9?e9.valueOf:void 0;function Kc(e,a,p,t,d,r,i){switch(p){case Gc:if(e.byteLength!=a.byteLength||e.byteOffset!=a.byteOffset)return!1;e=e.buffer,a=a.buffer;case Hc:return!(e.byteLength!=a.byteLength||!r(new Q5(e),new Q5(a)));case qc:case Lc:case Fc:return Ec(+e,+a);case Ic:return e.name==a.name&&e.message==a.message;case jc:case Uc:return e==a+"";case Bc:var n=Mc;case zc:var s=t&Oc;if(n||(n=kc),e.size!=a.size&&!s)return!1;var l=i.get(e);if(l)return l==a;t|=Rc,i.set(e,a);var o=Pc(n(e),n(a),t,d,r,i);return i.delete(e),o;case $c:if(I0)return I0.call(e)==I0.call(a)}return!1}a9.exports=Kc});var d9=u((Cb,t9)=>{function Zc(e,a){for(var p=-1,t=a.length,d=e.length;++p<t;)e[d+p]=a[p];return e}t9.exports=Zc});var U1=u((Ab,r9)=>{var Jc=Array.isArray;r9.exports=Jc});var s9=u((Vb,i9)=>{var Wc=d9(),Yc=U1();function Xc(e,a,p){var t=a(e);return Yc(e)?t:Wc(t,p(e))}i9.exports=Xc});var l9=u((Eb,n9)=>{function Qc(e,a){for(var p=-1,t=e==null?0:e.length,d=0,r=[];++p<t;){var i=e[p];a(i,p,e)&&(r[d++]=i)}return r}n9.exports=Qc});var o9=u((Pb,m9)=>{function ef(){return[]}m9.exports=ef});var f9=u((Mb,c9)=>{var af=l9(),pf=o9(),tf=Object.prototype,df=tf.propertyIsEnumerable,u9=Object.getOwnPropertySymbols,rf=u9?function(e){return e==null?[]:(e=Object(e),af(u9(e),function(a){return df.call(e,a)}))}:pf;c9.exports=rf});var v9=u((kb,h9)=>{function sf(e,a){for(var p=-1,t=Array(e);++p<e;)t[p]=a(p);return t}h9.exports=sf});var ta=u((Ob,g9)=>{function nf(e){return e!=null&&typeof e=="object"}g9.exports=nf});var _9=u((Rb,w9)=>{var lf=Qe(),mf=ta(),of="[object Arguments]";function uf(e){return mf(e)&&lf(e)==of}w9.exports=uf});var B0=u((qb,S9)=>{var b9=_9(),cf=ta(),y9=Object.prototype,ff=y9.hasOwnProperty,hf=y9.propertyIsEnumerable,vf=b9(function(){return arguments}())?b9:function(e){return cf(e)&&ff.call(e,"callee")&&!hf.call(e,"callee")};S9.exports=vf});var x9=u((Lb,N9)=>{function gf(){return!1}N9.exports=gf});var F0=u((Fa,da)=>{var wf=O1(),_f=x9(),C9=typeof Fa=="object"&&Fa&&!Fa.nodeType&&Fa,T9=C9&&typeof da=="object"&&da&&!da.nodeType&&da,bf=T9&&T9.exports===C9,D9=bf?wf.Buffer:void 0,yf=D9?D9.isBuffer:void 0,Sf=yf||_f;da.exports=Sf});var j0=u((Ib,A9)=>{var Nf=9007199254740991,xf=/^(?:0|[1-9]\d*)$/;function Tf(e,a){var p=typeof e;return a=a??Nf,!!a&&(p=="number"||p!="symbol"&&xf.test(e))&&e>-1&&e%1==0&&e<a}A9.exports=Tf});var K2=u((Bb,V9)=>{var Df=9007199254740991;function Cf(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Df}V9.exports=Cf});var P9=u((Fb,E9)=>{var Af=Qe(),Vf=K2(),Ef=ta(),Pf="[object Arguments]",Mf="[object Array]",kf="[object Boolean]",Of="[object Date]",Rf="[object Error]",qf="[object Function]",Lf="[object Map]",If="[object Number]",Bf="[object Object]",Ff="[object RegExp]",jf="[object Set]",zf="[object String]",Uf="[object WeakMap]",$f="[object ArrayBuffer]",Hf="[object DataView]",Gf="[object Float32Array]",Kf="[object Float64Array]",Zf="[object Int8Array]",Jf="[object Int16Array]",Wf="[object Int32Array]",Yf="[object Uint8Array]",Xf="[object Uint8ClampedArray]",Qf="[object Uint16Array]",eh="[object Uint32Array]",P={};P[Gf]=P[Kf]=P[Zf]=P[Jf]=P[Wf]=P[Yf]=P[Xf]=P[Qf]=P[eh]=!0;P[Pf]=P[Mf]=P[$f]=P[kf]=P[Hf]=P[Of]=P[Rf]=P[qf]=P[Lf]=P[If]=P[Bf]=P[Ff]=P[jf]=P[zf]=P[Uf]=!1;function ah(e){return Ef(e)&&Vf(e.length)&&!!P[Af(e)]}E9.exports=ah});var k9=u((jb,M9)=>{function ph(e){return function(a){return e(a)}}M9.exports=ph});var R9=u((ja,ra)=>{var th=E0(),O9=typeof ja=="object"&&ja&&!ja.nodeType&&ja,za=O9&&typeof ra=="object"&&ra&&!ra.nodeType&&ra,dh=za&&za.exports===O9,z0=dh&&th.process,rh=function(){try{var e=za&&za.require&&za.require("util").types;return e||z0&&z0.binding&&z0.binding("util")}catch{}}();ra.exports=rh});var U0=u((zb,I9)=>{var ih=P9(),sh=k9(),q9=R9(),L9=q9&&q9.isTypedArray,nh=L9?sh(L9):ih;I9.exports=nh});var F9=u((Ub,B9)=>{var lh=v9(),mh=B0(),oh=U1(),uh=F0(),ch=j0(),fh=U0(),hh=Object.prototype,vh=hh.hasOwnProperty;function gh(e,a){var p=oh(e),t=!p&&mh(e),d=!p&&!t&&uh(e),r=!p&&!t&&!d&&fh(e),i=p||t||d||r,n=i?lh(e.length,String):[],s=n.length;for(var l in e)(a||vh.call(e,l))&&!(i&&(l=="length"||d&&(l=="offset"||l=="parent")||r&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||ch(l,s)))&&n.push(l);return n}B9.exports=gh});var z9=u(($b,j9)=>{var wh=Object.prototype;function _h(e){var a=e&&e.constructor,p=typeof a=="function"&&a.prototype||wh;return e===p}j9.exports=_h});var $9=u((Hb,U9)=>{function bh(e,a){return function(p){return e(a(p))}}U9.exports=bh});var G9=u((Gb,H9)=>{var yh=$9(),Sh=yh(Object.keys,Object);H9.exports=Sh});var Z9=u((Kb,K9)=>{var Nh=z9(),xh=G9(),Th=Object.prototype,Dh=Th.hasOwnProperty;function Ch(e){if(!Nh(e))return xh(e);var a=[];for(var p in Object(e))Dh.call(e,p)&&p!="constructor"&&a.push(p);return a}K9.exports=Ch});var W9=u((Zb,J9)=>{var Ah=P0(),Vh=K2();function Eh(e){return e!=null&&Vh(e.length)&&!Ah(e)}J9.exports=Eh});var $0=u((Jb,Y9)=>{var Ph=F9(),Mh=Z9(),kh=W9();function Oh(e){return kh(e)?Ph(e):Mh(e)}Y9.exports=Oh});var Q9=u((Wb,X9)=>{var Rh=s9(),qh=f9(),Lh=$0();function Ih(e){return Rh(e,Lh,qh)}X9.exports=Ih});var pi=u((Yb,ai)=>{var ei=Q9(),Bh=1,Fh=Object.prototype,jh=Fh.hasOwnProperty;function zh(e,a,p,t,d,r){var i=p&Bh,n=ei(e),s=n.length,l=ei(a),o=l.length;if(s!=o&&!i)return!1;for(var m=s;m--;){var c=n[m];if(!(i?c in a:jh.call(a,c)))return!1}var v=r.get(e),f=r.get(a);if(v&&f)return v==a&&f==e;var h=!0;r.set(e,a),r.set(a,e);for(var g=i;++m<s;){c=n[m];var _=e[c],w=a[c];if(t)var b=i?t(w,_,c,a,e,r):t(_,w,c,e,a,r);if(!(b===void 0?_===w||d(_,w,p,t,r):b)){h=!1;break}g||(g=c=="constructor")}if(h&&!g){var y=e.constructor,N=a.constructor;y!=N&&"constructor"in e&&"constructor"in a&&!(typeof y=="function"&&y instanceof y&&typeof N=="function"&&N instanceof N)&&(h=!1)}return r.delete(e),r.delete(a),h}ai.exports=zh});var di=u((Xb,ti)=>{var Uh=ye(),$h=O1(),Hh=Uh($h,"DataView");ti.exports=Hh});var ii=u((Qb,ri)=>{var Gh=ye(),Kh=O1(),Zh=Gh(Kh,"Promise");ri.exports=Zh});var H0=u((ey,si)=>{var Jh=ye(),Wh=O1(),Yh=Jh(Wh,"Set");si.exports=Yh});var li=u((ay,ni)=>{var Xh=ye(),Qh=O1(),ev=Xh(Qh,"WeakMap");ni.exports=ev});var gi=u((py,vi)=>{var G0=di(),K0=U2(),Z0=ii(),J0=H0(),W0=li(),hi=Qe(),ia=k0(),mi="[object Map]",av="[object Object]",oi="[object Promise]",ui="[object Set]",ci="[object WeakMap]",fi="[object DataView]",pv=ia(G0),tv=ia(K0),dv=ia(Z0),rv=ia(J0),iv=ia(W0),Se=hi;(G0&&Se(new G0(new ArrayBuffer(1)))!=fi||K0&&Se(new K0)!=mi||Z0&&Se(Z0.resolve())!=oi||J0&&Se(new J0)!=ui||W0&&Se(new W0)!=ci)&&(Se=function(e){var a=hi(e),p=a==av?e.constructor:void 0,t=p?ia(p):"";if(t)switch(t){case pv:return fi;case tv:return mi;case dv:return oi;case rv:return ui;case iv:return ci}return a});vi.exports=Se});var Ti=u((ty,xi)=>{var Y0=O0(),sv=L0(),nv=p9(),lv=pi(),wi=gi(),_i=U1(),bi=F0(),mv=U0(),ov=1,yi="[object Arguments]",Si="[object Array]",Z2="[object Object]",uv=Object.prototype,Ni=uv.hasOwnProperty;function cv(e,a,p,t,d,r){var i=_i(e),n=_i(a),s=i?Si:wi(e),l=n?Si:wi(a);s=s==yi?Z2:s,l=l==yi?Z2:l;var o=s==Z2,m=l==Z2,c=s==l;if(c&&bi(e)){if(!bi(a))return!1;i=!0,o=!1}if(c&&!o)return r||(r=new Y0),i||mv(e)?sv(e,a,p,t,d,r):nv(e,a,s,p,t,d,r);if(!(p&ov)){var v=o&&Ni.call(e,"__wrapped__"),f=m&&Ni.call(a,"__wrapped__");if(v||f){var h=v?e.value():e,g=f?a.value():a;return r||(r=new Y0),d(h,g,p,t,r)}}return c?(r||(r=new Y0),lv(e,a,p,t,d,r)):!1}xi.exports=cv});var X0=u((dy,Ai)=>{var fv=Ti(),Di=ta();function Ci(e,a,p,t,d){return e===a?!0:e==null||a==null||!Di(e)&&!Di(a)?e!==e&&a!==a:fv(e,a,p,t,Ci,d)}Ai.exports=Ci});var Ei=u((ry,Vi)=>{var hv=O0(),vv=X0(),gv=1,wv=2;function _v(e,a,p,t){var d=p.length,r=d,i=!t;if(e==null)return!r;for(e=Object(e);d--;){var n=p[d];if(i&&n[2]?n[1]!==e[n[0]]:!(n[0]in e))return!1}for(;++d<r;){n=p[d];var s=n[0],l=e[s],o=n[1];if(i&&n[2]){if(l===void 0&&!(s in e))return!1}else{var m=new hv;if(t)var c=t(l,o,s,e,a,m);if(!(c===void 0?vv(o,l,gv|wv,t,m):c))return!1}}return!0}Vi.exports=_v});var Q0=u((iy,Pi)=>{var bv=z2();function yv(e){return e===e&&!bv(e)}Pi.exports=yv});var ki=u((sy,Mi)=>{var Sv=Q0(),Nv=$0();function xv(e){for(var a=Nv(e),p=a.length;p--;){var t=a[p],d=e[t];a[p]=[t,d,Sv(d)]}return a}Mi.exports=xv});var et=u((ny,Oi)=>{function Tv(e,a){return function(p){return p==null?!1:p[e]===a&&(a!==void 0||e in Object(p))}}Oi.exports=Tv});var qi=u((ly,Ri)=>{var Dv=Ei(),Cv=ki(),Av=et();function Vv(e){var a=Cv(e);return a.length==1&&a[0][2]?Av(a[0][0],a[0][1]):function(p){return p===e||Dv(p,e,a)}}Ri.exports=Vv});var J2=u((my,Li)=>{var Ev=Qe(),Pv=ta(),Mv="[object Symbol]";function kv(e){return typeof e=="symbol"||Pv(e)&&Ev(e)==Mv}Li.exports=kv});var W2=u((oy,Ii)=>{var Ov=U1(),Rv=J2(),qv=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Lv=/^\w*$/;function Iv(e,a){if(Ov(e))return!1;var p=typeof e;return p=="number"||p=="symbol"||p=="boolean"||e==null||Rv(e)?!0:Lv.test(e)||!qv.test(e)||a!=null&&e in Object(a)}Ii.exports=Iv});var ji=u((uy,Fi)=>{var Bi=$2(),Bv="Expected a function";function at(e,a){if(typeof e!="function"||a!=null&&typeof a!="function")throw new TypeError(Bv);var p=function(){var t=arguments,d=a?a.apply(this,t):t[0],r=p.cache;if(r.has(d))return r.get(d);var i=e.apply(this,t);return p.cache=r.set(d,i)||r,i};return p.cache=new(at.Cache||Bi),p}at.Cache=Bi;Fi.exports=at});var Ui=u((cy,zi)=>{var Fv=ji(),jv=500;function zv(e){var a=Fv(e,function(t){return p.size===jv&&p.clear(),t}),p=a.cache;return a}zi.exports=zv});var Hi=u((fy,$i)=>{var Uv=Ui(),$v=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Hv=/\\(\\)?/g,Gv=Uv(function(e){var a=[];return e.charCodeAt(0)===46&&a.push(""),e.replace($v,function(p,t,d,r){a.push(d?r.replace(Hv,"$1"):t||p)}),a});$i.exports=Gv});var Ki=u((hy,Gi)=>{function Kv(e,a){for(var p=-1,t=e==null?0:e.length,d=Array(t);++p<t;)d[p]=a(e[p],p,e);return d}Gi.exports=Kv});var Qi=u((vy,Xi)=>{var Zi=qa(),Zv=Ki(),Jv=U1(),Wv=J2(),Yv=1/0,Ji=Zi?Zi.prototype:void 0,Wi=Ji?Ji.toString:void 0;function Yi(e){if(typeof e=="string")return e;if(Jv(e))return Zv(e,Yi)+"";if(Wv(e))return Wi?Wi.call(e):"";var a=e+"";return a=="0"&&1/e==-Yv?"-0":a}Xi.exports=Yi});var a3=u((gy,e3)=>{var Xv=Qi();function Qv(e){return e==null?"":Xv(e)}e3.exports=Qv});var pt=u((wy,p3)=>{var eg=U1(),ag=W2(),pg=Hi(),tg=a3();function dg(e,a){return eg(e)?e:ag(e,a)?[e]:pg(tg(e))}p3.exports=dg});var Ua=u((_y,t3)=>{var rg=J2(),ig=1/0;function sg(e){if(typeof e=="string"||rg(e))return e;var a=e+"";return a=="0"&&1/e==-ig?"-0":a}t3.exports=sg});var tt=u((by,d3)=>{var ng=pt(),lg=Ua();function mg(e,a){a=ng(a,e);for(var p=0,t=a.length;e!=null&&p<t;)e=e[lg(a[p++])];return p&&p==t?e:void 0}d3.exports=mg});var i3=u((yy,r3)=>{var og=tt();function ug(e,a,p){var t=e==null?void 0:og(e,a);return t===void 0?p:t}r3.exports=ug});var n3=u((Sy,s3)=>{function cg(e,a){return e!=null&&a in Object(e)}s3.exports=cg});var m3=u((Ny,l3)=>{var fg=pt(),hg=B0(),vg=U1(),gg=j0(),wg=K2(),_g=Ua();function bg(e,a,p){a=fg(a,e);for(var t=-1,d=a.length,r=!1;++t<d;){var i=_g(a[t]);if(!(r=e!=null&&p(e,i)))break;e=e[i]}return r||++t!=d?r:(d=e==null?0:e.length,!!d&&wg(d)&&gg(i,d)&&(vg(e)||hg(e)))}l3.exports=bg});var u3=u((xy,o3)=>{var yg=n3(),Sg=m3();function Ng(e,a){return e!=null&&Sg(e,a,yg)}o3.exports=Ng});var f3=u((Ty,c3)=>{var xg=X0(),Tg=i3(),Dg=u3(),Cg=W2(),Ag=Q0(),Vg=et(),Eg=Ua(),Pg=1,Mg=2;function kg(e,a){return Cg(e)&&Ag(a)?Vg(Eg(e),a):function(p){var t=Tg(p,e);return t===void 0&&t===a?Dg(p,e):xg(a,t,Pg|Mg)}}c3.exports=kg});var v3=u((Dy,h3)=>{function Og(e){return e}h3.exports=Og});var w3=u((Cy,g3)=>{function Rg(e){return function(a){return a?.[e]}}g3.exports=Rg});var b3=u((Ay,_3)=>{var qg=tt();function Lg(e){return function(a){return qg(a,e)}}_3.exports=Lg});var S3=u((Vy,y3)=>{var Ig=w3(),Bg=b3(),Fg=W2(),jg=Ua();function zg(e){return Fg(e)?Ig(jg(e)):Bg(e)}y3.exports=zg});var x3=u((Ey,N3)=>{var Ug=qi(),$g=f3(),Hg=v3(),Gg=U1(),Kg=S3();function Zg(e){return typeof e=="function"?e:e==null?Hg:typeof e=="object"?Gg(e)?$g(e[0],e[1]):Ug(e):Kg(e)}N3.exports=Zg});var D3=u((Py,T3)=>{function Jg(e,a,p,t){for(var d=e.length,r=p+(t?1:-1);t?r--:++r<d;)if(a(e[r],r,e))return r;return-1}T3.exports=Jg});var A3=u((My,C3)=>{function Wg(e){return e!==e}C3.exports=Wg});var E3=u((ky,V3)=>{function Yg(e,a,p){for(var t=p-1,d=e.length;++t<d;)if(e[t]===a)return t;return-1}V3.exports=Yg});var M3=u((Oy,P3)=>{var Xg=D3(),Qg=A3(),ew=E3();function aw(e,a,p){return a===a?ew(e,a,p):Xg(e,Qg,p)}P3.exports=aw});var O3=u((Ry,k3)=>{var pw=M3();function tw(e,a){var p=e==null?0:e.length;return!!p&&pw(e,a,0)>-1}k3.exports=tw});var q3=u((qy,R3)=>{function dw(e,a,p){for(var t=-1,d=e==null?0:e.length;++t<d;)if(p(a,e[t]))return!0;return!1}R3.exports=dw});var I3=u((Ly,L3)=>{function rw(){}L3.exports=rw});var F3=u((Iy,B3)=>{var dt=H0(),iw=I3(),sw=G2(),nw=1/0,lw=dt&&1/sw(new dt([,-0]))[1]==nw?function(e){return new dt(e)}:iw;B3.exports=lw});var z3=u((By,j3)=>{var mw=R0(),ow=O3(),uw=q3(),cw=q0(),fw=F3(),hw=G2(),vw=200;function gw(e,a,p){var t=-1,d=ow,r=e.length,i=!0,n=[],s=n;if(p)i=!1,d=uw;else if(r>=vw){var l=a?null:fw(e);if(l)return hw(l);i=!1,d=cw,s=new mw}else s=a?[]:n;e:for(;++t<r;){var o=e[t],m=a?a(o):o;if(o=p||o!==0?o:0,i&&m===m){for(var c=s.length;c--;)if(s[c]===m)continue e;a&&s.push(m),n.push(o)}else d(s,m,p)||(s!==n&&s.push(m),n.push(o))}return n}j3.exports=gw});var $3=u((Fy,U3)=>{var ww=x3(),_w=z3();function bw(e,a){return e&&e.length?_w(e,ww(a,2)):[]}U3.exports=bw});var xw={};s8(xw,{default:()=>X3});module.exports=n8(xw);var q=require("@raycast/api"),Y3=Q2(a0());var Nw=require("@raycast/api"),J3=Q2(a0());var Y2=require("@raycast/api");function O(e,a){let p=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(a[0])||(a=a.map(i=>[i]));let t=a[0].length,d=a[0].map((i,n)=>a.map(s=>s[n])),r=e.map(i=>d.map(n=>{let s=0;if(!Array.isArray(i)){for(let l of n)s+=i*l;return s}for(let l=0;l<i.length;l++)s+=i[l]*(n[l]||0);return s}));return p===1&&(r=r[0]),t===1?r.map(i=>i[0]):r}function Pa(e){return ae(e)==="string"}function ae(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||"").toLowerCase()}function O2(e,{precision:a,unit:p}){return pe(e)?"none":E4(e,a)+(p??"")}function pe(e){return Number.isNaN(e)||e instanceof Number&&e?.none}function U(e){return pe(e)?0:e}function E4(e,a){if(e===0)return 0;let p=~~e,t=0;p&&a&&(t=~~Math.log10(Math.abs(p))+1);let d=10**(a-t);return Math.floor(e*d+.5)/d}var Wn={deg:1,grad:.9,rad:180/Math.PI,turn:360};function P4(e){if(!e)return;e=e.trim();let a=/^([a-z]+)\((.+?)\)$/i,p=/^-?[\d.]+$/,t=/%|deg|g?rad|turn$/,d=/\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g,r=e.match(a);if(r){let i=[];return r[2].replace(d,(n,s)=>{let l=s.match(t),o=s;if(l){let m=l[0],c=o.slice(0,-m.length);m==="%"?(o=new Number(c/100),o.type="<percentage>"):(o=new Number(c*Wn[m]),o.type="<angle>",o.unit=m)}else p.test(o)?(o=new Number(o),o.type="<number>"):o==="none"&&(o=new Number(NaN),o.none=!0);n.startsWith("/")&&(o=o instanceof Number?o:new Number(o),o.alpha=!0),typeof o=="object"&&o instanceof Number&&(o.raw=s),i.push(o)}),{name:r[1].toLowerCase(),rawName:r[1],rawArgs:r[2],args:i}}}function M4(e){return e[e.length-1]}function Aa(e,a,p){return isNaN(e)?a:isNaN(a)?e:e+(a-e)*p}function k4(e,a,p){return(p-e)/(a-e)}function y0(e,a,p){return Aa(a[0],a[1],k4(e[0],e[1],p))}function O4(e){return e.map(a=>a.split("|").map(p=>{p=p.trim();let t=p.match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);if(t){let d=new String(t[1]);return d.range=[+t[2],+t[3]],d}return p}))}function R4(e,a,p){return Math.max(Math.min(p,a),e)}function I2(e,a){return Math.sign(e)===Math.sign(a)?e:-e}function M1(e,a){return I2(Math.abs(e)**a,e)}function S0(e,a){return a===0?0:e/a}function q4(e,a,p=0,t=e.length){for(;p<t;){let d=p+t>>1;e[d]<a?p=d+1:t=d}return p}var Yn=Object.freeze({__proto__:null,bisectLeft:q4,clamp:R4,copySign:I2,interpolate:Aa,interpolateInv:k4,isNone:pe,isString:Pa,last:M4,mapRange:y0,multiplyMatrices:O,parseCoordGrammar:O4,parseFunction:P4,serializeNumber:O2,skipNone:U,spow:M1,toPrecision:E4,type:ae,zdiv:S0}),u0=class{add(a,p,t){if(typeof arguments[0]!="string"){for(var a in arguments[0])this.add(a,arguments[0][a],arguments[1]);return}(Array.isArray(a)?a:[a]).forEach(function(d){this[d]=this[d]||[],p&&this[d][t?"unshift":"push"](p)},this)}run(a,p){this[a]=this[a]||[],this[a].forEach(function(t){t.call(p&&p.context?p.context:p,p)})}},te=new u0,c1={gamut_mapping:"css",precision:5,deltaE:"76",verbose:globalThis?.process?.env?.NODE_ENV?.toLowerCase()!=="test",warn:function(a){this.verbose&&globalThis?.console?.warn?.(a)}},s1={D50:[.3457/.3585,1,(1-.3457-.3585)/.3585],D65:[.3127/.329,1,(1-.3127-.329)/.329]};function c0(e){return Array.isArray(e)?e:s1[e]}function R2(e,a,p,t={}){if(e=c0(e),a=c0(a),!e||!a)throw new TypeError(`Missing white point to convert ${e?"":"from"}${!e&&!a?"/":""}${a?"":"to"}`);if(e===a)return p;let d={W1:e,W2:a,XYZ:p,options:t};if(te.run("chromatic-adaptation-start",d),d.M||(d.W1===s1.D65&&d.W2===s1.D50?d.M=[[1.0479297925449969,.022946870601609652,-.05019226628920524],[.02962780877005599,.9904344267538799,-.017073799063418826],[-.009243040646204504,.015055191490298152,.7518742814281371]]:d.W1===s1.D50&&d.W2===s1.D65&&(d.M=[[.955473421488075,-.02309845494876471,.06325924320057072],[-.0283697093338637,1.0099953980813041,.021041441191917323],[.012314014864481998,-.020507649298898964,1.330365926242124]])),te.run("chromatic-adaptation-end",d),d.M)return O(d.M,d.XYZ);throw new TypeError("Only Bradford CAT with white points D50 and D65 supported for now.")}var Xn=new Set(["<number>","<percentage>","<angle>"]);function k6(e,a,p,t){return Object.entries(e.coords).map(([r,i],n)=>{let s=a.coordGrammar[n],l=t[n],o=l?.type,m;if(l.none?m=s.find(f=>Xn.has(f)):m=s.find(f=>f==o),!m){let f=i.name||r;throw new TypeError(`${o??l.raw} not allowed for ${f} in ${p}()`)}let c=m.range;o==="<percentage>"&&(c||=[0,1]);let v=i.range||i.refRange;return c&&v&&(t[n]=y0(c,v,t[n])),m})}function L4(e,{meta:a}={}){let p={str:String(e)?.trim()};if(te.run("parse-start",p),p.color)return p.color;if(p.parsed=P4(p.str),p.parsed){let t=p.parsed.name;if(t==="color"){let d=p.parsed.args.shift(),r=d.startsWith("--")?d.substring(2):`--${d}`,i=[d,r],n=p.parsed.rawArgs.indexOf("/")>0?p.parsed.args.pop():1;for(let o of S.all){let m=o.getFormat("color");if(m&&(i.includes(m.id)||m.ids?.filter(c=>i.includes(c)).length)){let c=Object.keys(o.coords).map((f,h)=>p.parsed.args[h]||0),v;return m.coordGrammar&&(v=k6(o,m,"color",c)),a&&Object.assign(a,{formatId:"color",types:v}),m.id.startsWith("--")&&!d.startsWith("--")&&c1.warn(`${o.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${m.id}) instead of color(${d}).`),d.startsWith("--")&&!m.id.startsWith("--")&&c1.warn(`${o.name} is a standard space and supported in the CSS spec. Use color(${m.id}) instead of prefixed color(${d}).`),{spaceId:o.id,coords:c,alpha:n}}}let s="",l=d in S.registry?d:r;if(l in S.registry){let o=S.registry[l].formats?.color?.id;o&&(s=`Did you mean color(${o})?`)}throw new TypeError(`Cannot parse color(${d}). `+(s||"Missing a plugin?"))}else for(let d of S.all){let r=d.getFormat(t);if(r&&r.type==="function"){let i=1;(r.lastAlpha||M4(p.parsed.args).alpha)&&(i=p.parsed.args.pop());let n=p.parsed.args,s;return r.coordGrammar&&(s=k6(d,r,t,n)),a&&Object.assign(a,{formatId:r.name,types:s}),{spaceId:d.id,coords:n,alpha:i}}}}else for(let t of S.all)for(let d in t.formats){let r=t.formats[d];if(r.type!=="custom"||r.test&&!r.test(p.str))continue;let i=r.parse(p.str);if(i)return i.alpha??=1,a&&(a.formatId=d),i}throw new TypeError(`Could not parse ${e} as a color. Missing a plugin?`)}function x(e){if(Array.isArray(e))return e.map(x);if(!e)throw new TypeError("Empty color reference");Pa(e)&&(e=L4(e));let a=e.space||e.spaceId;return a instanceof S||(e.space=S.get(a)),e.alpha===void 0&&(e.alpha=1),e}var Qn=75e-6,S=class e{constructor(a){this.id=a.id,this.name=a.name,this.base=a.base?e.get(a.base):null,this.aliases=a.aliases,this.base&&(this.fromBase=a.fromBase,this.toBase=a.toBase);let p=a.coords??this.base.coords;for(let d in p)"name"in p[d]||(p[d].name=d);this.coords=p;let t=a.white??this.base.white??"D65";this.white=c0(t),this.formats=a.formats??{};for(let d in this.formats){let r=this.formats[d];r.type||="function",r.name||=d}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:a.cssId||this.id}),a.gamutSpace?this.gamutSpace=a.gamutSpace==="self"?this:e.get(a.gamutSpace):this.isPolar?this.gamutSpace=this.base:this.gamutSpace=this,this.gamutSpace.isUnbounded&&(this.inGamut=(d,r)=>!0),this.referred=a.referred,Object.defineProperty(this,"path",{value:el(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),te.run("colorspace-init-end",this)}inGamut(a,{epsilon:p=Qn}={}){if(!this.equals(this.gamutSpace))return a=this.to(this.gamutSpace,a),this.gamutSpace.inGamut(a,{epsilon:p});let t=Object.values(this.coords);return a.every((d,r)=>{let i=t[r];if(i.type!=="angle"&&i.range){if(Number.isNaN(d))return!0;let[n,s]=i.range;return(n===void 0||d>=n-p)&&(s===void 0||d<=s+p)}return!0})}get isUnbounded(){return Object.values(this.coords).every(a=>!("range"in a))}get cssId(){return this.formats?.color?.id||this.id}get isPolar(){for(let a in this.coords)if(this.coords[a].type==="angle")return!0;return!1}getFormat(a){if(typeof a=="object")return a=O6(a,this),a;let p;return a==="default"?p=Object.values(this.formats)[0]:p=this.formats[a],p?(p=O6(p,this),p):null}equals(a){return a?this===a||this.id===a||this.id===a.id:!1}to(a,p){if(arguments.length===1){let n=x(a);[a,p]=[n.space,n.coords]}if(a=e.get(a),this.equals(a))return p;p=p.map(n=>Number.isNaN(n)?0:n);let t=this.path,d=a.path,r,i;for(let n=0;n<t.length&&t[n].equals(d[n]);n++)r=t[n],i=n;if(!r)throw new Error(`Cannot convert between color spaces ${this} and ${a}: no connection space was found`);for(let n=t.length-1;n>i;n--)p=t[n].toBase(p);for(let n=i+1;n<d.length;n++)p=d[n].fromBase(p);return p}from(a,p){if(arguments.length===1){let t=x(a);[a,p]=[t.space,t.coords]}return a=e.get(a),a.to(this,p)}toString(){return`${this.name} (${this.id})`}getMinCoords(){let a=[];for(let p in this.coords){let t=this.coords[p],d=t.range||t.refRange;a.push(d?.min??0)}return a}static registry={};static get all(){return[...new Set(Object.values(e.registry))]}static register(a,p){if(arguments.length===1&&(p=arguments[0],a=p.id),p=this.get(p),this.registry[a]&&this.registry[a]!==p)throw new Error(`Duplicate color space registration: '${a}'`);if(this.registry[a]=p,arguments.length===1&&p.aliases)for(let t of p.aliases)this.register(t,p);return p}static get(a,...p){if(!a||a instanceof e)return a;if(ae(a)==="string"){let d=e.registry[a.toLowerCase()];if(!d)throw new TypeError(`No color space found with id = "${a}"`);return d}if(p.length)return e.get(...p);throw new TypeError(`${a} is not a valid color space`)}static resolveCoord(a,p){let t=ae(a),d,r;if(t==="string"?a.includes(".")?[d,r]=a.split("."):[d,r]=[,a]:Array.isArray(a)?[d,r]=a:(d=a.space,r=a.coordId),d=e.get(d),d||(d=p),!d)throw new TypeError(`Cannot resolve coordinate reference ${a}: No color space specified and relative references are not allowed here`);if(t=ae(r),t==="number"||t==="string"&&r>=0){let s=Object.entries(d.coords)[r];if(s)return{space:d,id:s[0],index:r,...s[1]}}d=e.get(d);let i=r.toLowerCase(),n=0;for(let s in d.coords){let l=d.coords[s];if(s.toLowerCase()===i||l.name?.toLowerCase()===i)return{space:d,id:s,index:n,...l};n++}throw new TypeError(`No "${r}" coordinate found in ${d.name}. Its coordinates are: ${Object.keys(d.coords).join(", ")}`)}static DEFAULT_FORMAT={type:"functions",name:"color"}};function el(e){let a=[e];for(let p=e;p=p.base;)a.push(p);return a}function O6(e,{coords:a}={}){if(e.coords&&!e.coordGrammar){e.type||="function",e.name||="color",e.coordGrammar=O4(e.coords);let p=Object.entries(a).map(([t,d],r)=>{let i=e.coordGrammar[r][0],n=d.range||d.refRange,s=i.range,l="";return i=="<percentage>"?(s=[0,100],l="%"):i=="<angle>"&&(l="deg"),{fromRange:n,toRange:s,suffix:l}});e.serializeCoords=(t,d)=>t.map((r,i)=>{let{fromRange:n,toRange:s,suffix:l}=p[i];return n&&s&&(r=y0(n,s,r)),r=O2(r,{precision:d,unit:l}),r})}return e}var Q=new S({id:"xyz-d65",name:"XYZ D65",coords:{x:{name:"X"},y:{name:"Y"},z:{name:"Z"}},white:"D65",formats:{color:{ids:["xyz-d65","xyz"]}},aliases:["xyz"]}),t1=class extends S{constructor(a){a.coords||(a.coords={r:{range:[0,1],name:"Red"},g:{range:[0,1],name:"Green"},b:{range:[0,1],name:"Blue"}}),a.base||(a.base=Q),a.toXYZ_M&&a.fromXYZ_M&&(a.toBase??=p=>{let t=O(a.toXYZ_M,p);return this.white!==this.base.white&&(t=R2(this.white,this.base.white,t)),t},a.fromBase??=p=>(p=R2(this.base.white,this.white,p),O(a.fromXYZ_M,p))),a.referred??="display",super(a)}};function Ma(e,a){return e=x(e),!a||e.space.equals(a)?e.coords.slice():(a=S.get(a),a.from(e))}function o1(e,a){e=x(e);let{space:p,index:t}=S.resolveCoord(a,e.space);return Ma(e,p)[t]}function N0(e,a,p){return e=x(e),a=S.get(a),e.coords=a.to(e.space,p),e}N0.returns="color";function z1(e,a,p){if(e=x(e),arguments.length===2&&ae(arguments[1])==="object"){let t=arguments[1];for(let d in t)z1(e,d,t[d])}else{typeof p=="function"&&(p=p(o1(e,a)));let{space:t,index:d}=S.resolveCoord(a,e.space),r=Ma(e,t);r[d]=p,N0(e,t,r)}return e}z1.returns="color";var x0=new S({id:"xyz-d50",name:"XYZ D50",white:"D50",base:Q,fromBase:e=>R2(Q.white,"D50",e),toBase:e=>R2("D50",Q.white,e)}),al=216/24389,R6=24/116,T2=24389/27,p0=s1.D50,u1=new S({id:"lab",name:"Lab",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:p0,base:x0,fromBase(e){let p=e.map((t,d)=>t/p0[d]).map(t=>t>al?Math.cbrt(t):(T2*t+16)/116);return[116*p[1]-16,500*(p[0]-p[1]),200*(p[1]-p[2])]},toBase(e){let a=[];return a[1]=(e[0]+16)/116,a[0]=e[1]/500+a[1],a[2]=a[1]-e[2]/200,[a[0]>R6?Math.pow(a[0],3):(116*a[0]-16)/T2,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/T2,a[2]>R6?Math.pow(a[2],3):(116*a[2]-16)/T2].map((t,d)=>t*p0[d])},formats:{lab:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function k1(e){return(e%360+360)%360}function pl(e,a){if(e==="raw")return a;let[p,t]=a.map(k1),d=t-p;return e==="increasing"?d<0&&(t+=360):e==="decreasing"?d>0&&(p+=360):e==="longer"?-180<d&&d<180&&(d>0?p+=360:t+=360):e==="shorter"&&(d>180?p+=360:d<-180&&(t+=360)),[p,t]}var Va=new S({id:"lch",name:"LCH",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,150],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:u1,fromBase(e){let[a,p,t]=e,d,r=.02;return Math.abs(p)<r&&Math.abs(t)<r?d=NaN:d=Math.atan2(t,p)*180/Math.PI,[a,Math.sqrt(p**2+t**2),k1(d)]},toBase(e){let[a,p,t]=e;return p<0&&(p=0),isNaN(t)&&(t=0),[a,p*Math.cos(t*Math.PI/180),p*Math.sin(t*Math.PI/180)]},formats:{lch:{coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}}),q6=25**7,q2=Math.PI,L6=180/q2,$e=q2/180;function I6(e){let a=e*e;return a*a*a*e}function I4(e,a,{kL:p=1,kC:t=1,kH:d=1}={}){[e,a]=x([e,a]);let[r,i,n]=u1.from(e),s=Va.from(u1,[r,i,n])[1],[l,o,m]=u1.from(a),c=Va.from(u1,[l,o,m])[1];s<0&&(s=0),c<0&&(c=0);let v=(s+c)/2,f=I6(v),h=.5*(1-Math.sqrt(f/(f+q6))),g=(1+h)*i,_=(1+h)*o,w=Math.sqrt(g**2+n**2),b=Math.sqrt(_**2+m**2),y=g===0&&n===0?0:Math.atan2(n,g),N=_===0&&m===0?0:Math.atan2(m,_);y<0&&(y+=2*q2),N<0&&(N+=2*q2),y*=L6,N*=L6;let D=l-r,R=b-w,V=N-y,Y=y+N,G=Math.abs(V),M;w*b===0?M=0:G<=180?M=V:V>180?M=V-360:V<-180?M=V+360:c1.warn("the unthinkable has happened");let n1=2*Math.sqrt(b*w)*Math.sin(M*$e/2),f1=(r+l)/2,C=(w+b)/2,e1=I6(C),d1;w*b===0?d1=Y:G<=180?d1=Y/2:Y<360?d1=(Y+360)/2:d1=(Y-360)/2;let Ne=(f1-50)**2,X2=1+.015*Ne/Math.sqrt(20+Ne),rt=1+.045*C,sa=1;sa-=.17*Math.cos((d1-30)*$e),sa+=.24*Math.cos(2*d1*$e),sa+=.32*Math.cos((3*d1+6)*$e),sa-=.2*Math.cos((4*d1-63)*$e);let it=1+.015*C*sa,Q3=30*Math.exp(-1*((d1-275)/25)**2),e8=2*Math.sqrt(e1/(e1+q6)),a8=-1*Math.sin(2*Q3*$e)*e8,$a=(D/(p*X2))**2;return $a+=(R/(t*rt))**2,$a+=(n1/(d*it))**2,$a+=a8*(R/(t*rt))*(n1/(d*it)),Math.sqrt($a)}var tl=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],dl=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],rl=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],il=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],Ze=new S({id:"oklab",name:"Oklab",coords:{l:{refRange:[0,1],name:"Lightness"},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:"D65",base:Q,fromBase(e){let p=O(tl,e).map(t=>Math.cbrt(t));return O(rl,p)},toBase(e){let p=O(il,e).map(t=>t**3);return O(dl,p)},formats:{oklab:{coords:["<percentage> | <number>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function f0(e,a){[e,a]=x([e,a]);let[p,t,d]=Ze.from(e),[r,i,n]=Ze.from(a),s=p-r,l=t-i,o=d-n;return Math.sqrt(s**2+l**2+o**2)}var sl=75e-6;function be(e,a,{epsilon:p=sl}={}){e=x(e),a||(a=e.space),a=S.get(a);let t=e.coords;return a!==e.space&&(t=a.from(e)),a.inGamut(t,{epsilon:p})}function Je(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function B4(e,a,p="lab"){p=S.get(p);let t=p.from(e),d=p.from(a);return Math.sqrt(t.reduce((r,i,n)=>{let s=d[n];return isNaN(i)||isNaN(s)?r:r+(s-i)**2},0))}function nl(e,a){return B4(e,a,"lab")}var ll=Math.PI,B6=ll/180;function ml(e,a,{l:p=2,c:t=1}={}){[e,a]=x([e,a]);let[d,r,i]=u1.from(e),[,n,s]=Va.from(u1,[d,r,i]),[l,o,m]=u1.from(a),c=Va.from(u1,[l,o,m])[1];n<0&&(n=0),c<0&&(c=0);let v=d-l,f=n-c,h=r-o,g=i-m,_=h**2+g**2-f**2,w=.511;d>=16&&(w=.040975*d/(1+.01765*d));let b=.0638*n/(1+.0131*n)+.638,y;Number.isNaN(s)&&(s=0),s>=164&&s<=345?y=.56+Math.abs(.2*Math.cos((s+168)*B6)):y=.36+Math.abs(.4*Math.cos((s+35)*B6));let N=Math.pow(n,4),D=Math.sqrt(N/(N+1900)),R=b*(D*y+1-D),V=(v/(p*w))**2;return V+=(f/(t*b))**2,V+=_/R**2,Math.sqrt(V)}var F6=203,T0=new S({id:"xyz-abs-d65",cssId:"--xyz-abs-d65",name:"Absolute XYZ D65",coords:{x:{refRange:[0,9504.7],name:"Xa"},y:{refRange:[0,1e4],name:"Ya"},z:{refRange:[0,10888.3],name:"Za"}},base:Q,fromBase(e){return e.map(a=>Math.max(a*F6,0))},toBase(e){return e.map(a=>Math.max(a/F6,0))}}),D2=1.15,C2=.66,j6=2610/2**14,ol=2**14/2610,z6=3424/2**12,U6=2413/2**7,$6=2392/2**7,ul=1.7*2523/2**5,H6=2**5/(1.7*2523),A2=-.56,t0=16295499532821565e-27,cl=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],fl=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],hl=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],vl=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]],F4=new S({id:"jzazbz",name:"Jzazbz",coords:{jz:{refRange:[0,1],name:"Jz"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:T0,fromBase(e){let[a,p,t]=e,d=D2*a-(D2-1)*t,r=C2*p-(C2-1)*a,n=O(cl,[d,r,t]).map(function(c){let v=z6+U6*(c/1e4)**j6,f=1+$6*(c/1e4)**j6;return(v/f)**ul}),[s,l,o]=O(hl,n);return[(1+A2)*s/(1+A2*s)-t0,l,o]},toBase(e){let[a,p,t]=e,d=(a+t0)/(1+A2-A2*(a+t0)),i=O(vl,[d,p,t]).map(function(c){let v=z6-c**H6,f=$6*c**H6-U6;return 1e4*(v/f)**ol}),[n,s,l]=O(fl,i),o=(n+(D2-1)*l)/D2,m=(s+(C2-1)*o)/C2;return[o,m,l]},formats:{color:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),h0=new S({id:"jzczhz",name:"JzCzHz",coords:{jz:{refRange:[0,1],name:"Jz"},cz:{refRange:[0,1],name:"Chroma"},hz:{refRange:[0,360],type:"angle",name:"Hue"}},base:F4,fromBase(e){let[a,p,t]=e,d,r=2e-4;return Math.abs(p)<r&&Math.abs(t)<r?d=NaN:d=Math.atan2(t,p)*180/Math.PI,[a,Math.sqrt(p**2+t**2),k1(d)]},toBase(e){return[e[0],e[1]*Math.cos(e[2]*Math.PI/180),e[1]*Math.sin(e[2]*Math.PI/180)]}});function gl(e,a){[e,a]=x([e,a]);let[p,t,d]=h0.from(e),[r,i,n]=h0.from(a),s=p-r,l=t-i;Number.isNaN(d)&&Number.isNaN(n)?(d=0,n=0):Number.isNaN(d)?d=n:Number.isNaN(n)&&(n=d);let o=d-n,m=2*Math.sqrt(t*i)*Math.sin(o/2*(Math.PI/180));return Math.sqrt(s**2+l**2+m**2)}var j4=3424/4096,z4=2413/128,U4=2392/128,G6=2610/16384,wl=2523/32,_l=16384/2610,K6=32/2523,bl=[[.3592832590121217,.6976051147779502,-.035891593232029],[-.1920808463704993,1.100476797037432,.0753748658519118],[.0070797844607479,.0748396662186362,.8433265453898765]],yl=[[2048/4096,2048/4096,0],[6610/4096,-13613/4096,7003/4096],[17933/4096,-17390/4096,-543/4096]],Sl=[[.9999999999999998,.0086090370379328,.111029625003026],[.9999999999999998,-.0086090370379328,-.1110296250030259],[.9999999999999998,.5600313357106791,-.3206271749873188]],Nl=[[2.0701522183894223,-1.3263473389671563,.2066510476294053],[.3647385209748072,.6805660249472273,-.0453045459220347],[-.0497472075358123,-.0492609666966131,1.1880659249923042]],v0=new S({id:"ictcp",name:"ICTCP",coords:{i:{refRange:[0,1],name:"I"},ct:{refRange:[-.5,.5],name:"CT"},cp:{refRange:[-.5,.5],name:"CP"}},base:T0,fromBase(e){let a=O(bl,e);return xl(a)},toBase(e){let a=Tl(e);return O(Nl,a)}});function xl(e){let a=e.map(function(p){let t=j4+z4*(p/1e4)**G6,d=1+U4*(p/1e4)**G6;return(t/d)**wl});return O(yl,a)}function Tl(e){return O(Sl,e).map(function(t){let d=Math.max(t**K6-j4,0),r=z4-U4*t**K6;return 1e4*(d/r)**_l})}function Dl(e,a){[e,a]=x([e,a]);let[p,t,d]=v0.from(e),[r,i,n]=v0.from(a);return 720*Math.sqrt((p-r)**2+.25*(t-i)**2+(d-n)**2)}var Cl=s1.D65,$4=.42,Z6=1/$4,d0=2*Math.PI,H4=[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],Al=[[1.8620678550872327,-1.0112546305316843,.14918677544445175],[.38752654323613717,.6214474419314753,-.008973985167612518],[-.015841498849333856,-.03412293802851557,1.0499644368778496]],Vl=[[460,451,288],[460,-891,-261],[460,-220,-6300]],El={dark:[.8,.525,.8],dim:[.9,.59,.9],average:[1,.69,1]},_e={h:[20.14,90,164.25,237.53,380.14],e:[.8,.7,1,1.2,.8],H:[0,100,200,300,400]},Pl=180/Math.PI,J6=Math.PI/180;function G4(e,a){return e.map(t=>{let d=M1(a*Math.abs(t)*.01,$4);return 400*I2(d,t)/(d+27.13)})}function Ml(e,a){let p=100/a*27.13**Z6;return e.map(t=>{let d=Math.abs(t);return I2(p*M1(d/(400-d),Z6),t)})}function kl(e){let a=k1(e);a<=_e.h[0]&&(a+=360);let p=q4(_e.h,a)-1,[t,d]=_e.h.slice(p,p+2),[r,i]=_e.e.slice(p,p+2),n=_e.H[p],s=(a-t)/r;return n+100*s/(s+(d-a)/i)}function Ol(e){let a=(e%400+400)%400,p=Math.floor(.01*a);a=a%100;let[t,d]=_e.h.slice(p,p+2),[r,i]=_e.e.slice(p,p+2);return k1((a*(i*t-r*d)-100*t*i)/(a*(i-r)-100*i))}function K4(e,a,p,t,d){let r={};r.discounting=d,r.refWhite=e,r.surround=t;let i=e.map(h=>h*100);r.la=a,r.yb=p;let n=i[1],s=O(H4,i);t=El[r.surround];let l=t[0];r.c=t[1],r.nc=t[2];let m=(1/(5*r.la+1))**4;r.fl=m*r.la+.1*(1-m)*(1-m)*Math.cbrt(5*r.la),r.flRoot=r.fl**.25,r.n=r.yb/n,r.z=1.48+Math.sqrt(r.n),r.nbb=.725*r.n**-.2,r.ncb=r.nbb;let c=d?1:Math.max(Math.min(l*(1-1/3.6*Math.exp((-r.la-42)/92)),1),0);r.dRgb=s.map(h=>Aa(1,n/h,c)),r.dRgbInv=r.dRgb.map(h=>1/h);let v=s.map((h,g)=>h*r.dRgb[g]),f=G4(v,r.fl);return r.aW=r.nbb*(2*f[0]+f[1]+.05*f[2]),r}var W6=K4(Cl,64/Math.PI*.2,20,"average",!1);function g0(e,a){if(!(e.J!==void 0^e.Q!==void 0))throw new Error("Conversion requires one and only one: 'J' or 'Q'");if(!(e.C!==void 0^e.M!==void 0^e.s!==void 0))throw new Error("Conversion requires one and only one: 'C', 'M' or 's'");if(!(e.h!==void 0^e.H!==void 0))throw new Error("Conversion requires one and only one: 'h' or 'H'");if(e.J===0||e.Q===0)return[0,0,0];let p=0;e.h!==void 0?p=k1(e.h)*J6:p=Ol(e.H)*J6;let t=Math.cos(p),d=Math.sin(p),r=0;e.J!==void 0?r=M1(e.J,1/2)*.1:e.Q!==void 0&&(r=.25*a.c*e.Q/((a.aW+4)*a.flRoot));let i=0;e.C!==void 0?i=e.C/r:e.M!==void 0?i=e.M/a.flRoot/r:e.s!==void 0&&(i=4e-4*e.s**2*(a.aW+4)/a.c);let n=M1(i*Math.pow(1.64-Math.pow(.29,a.n),-.73),10/9),s=.25*(Math.cos(p+2)+3.8),l=a.aW*M1(r,2/a.c/a.z),o=5e4/13*a.nc*a.ncb*s,m=l/a.nbb,c=23*(m+.305)*S0(n,23*o+n*(11*t+108*d)),v=c*t,f=c*d,h=Ml(O(Vl,[m,v,f]).map(g=>g*1/1403),a.fl);return O(Al,h.map((g,_)=>g*a.dRgbInv[_])).map(g=>g/100)}function Z4(e,a){let p=e.map(b=>b*100),t=G4(O(H4,p).map((b,y)=>b*a.dRgb[y]),a.fl),d=t[0]+(-12*t[1]+t[2])/11,r=(t[0]+t[1]-2*t[2])/9,i=(Math.atan2(r,d)%d0+d0)%d0,n=.25*(Math.cos(i+2)+3.8),s=5e4/13*a.nc*a.ncb*S0(n*Math.sqrt(d**2+r**2),t[0]+t[1]+1.05*t[2]+.305),l=M1(s,.9)*Math.pow(1.64-Math.pow(.29,a.n),.73),o=a.nbb*(2*t[0]+t[1]+.05*t[2]),m=M1(o/a.aW,.5*a.c*a.z),c=100*M1(m,2),v=4/a.c*m*(a.aW+4)*a.flRoot,f=l*m,h=f*a.flRoot,g=k1(i*Pl),_=kl(g),w=50*M1(a.c*l/(a.aW+4),1/2);return{J:c,C:f,h:g,s:w,Q:v,M:h,H:_}}var Rl=new S({id:"cam16-jmh",cssId:"--cam16-jmh",name:"CAM16-JMh",coords:{j:{refRange:[0,100],name:"J"},m:{refRange:[0,105],name:"Colorfulness"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:Q,fromBase(e){let a=Z4(e,W6);return[a.J,a.M,a.h]},toBase(e){return g0({J:e[0],M:e[1],h:e[2]},W6)}}),ql=s1.D65,Ll=216/24389,J4=24389/27;function Il(e){return 116*(e>Ll?Math.cbrt(e):(J4*e+16)/116)-16}function w0(e){return e>8?Math.pow((e+16)/116,3):e/J4}function Bl(e,a){let[p,t,d]=e,r=[],i=0;if(d===0)return[0,0,0];let n=w0(d);d>0?i=.00379058511492914*d**2+.608983189401032*d+.9155088574762233:i=9514440756550361e-21*d**2+.08693057439788597*d-21.928975842194614;let s=2e-12,l=15,o=0,m=1/0;for(;o<=l;){r=g0({J:i,C:t,h:p},a);let c=Math.abs(r[1]-n);if(c<m){if(c<=s)return r;m=c}i=i-(r[1]-n)*i/(2*r[1]),o+=1}return g0({J:i,C:t,h:p},a)}function Fl(e,a){let p=Il(e[1]);if(p===0)return[0,0,0];let t=Z4(e,D0);return[k1(t.h),t.C,p]}var D0=K4(ql,200/Math.PI*w0(50),w0(50)*100,"average",!1),Ea=new S({id:"hct",name:"HCT",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},c:{refRange:[0,145],name:"Colorfulness"},t:{refRange:[0,100],name:"Tone"}},base:Q,fromBase(e){return Fl(e)},toBase(e){return Bl(e,D0)},formats:{color:{id:"--hct",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),jl=Math.PI/180,Y6=[1,.007,.0228];function X6(e){e[1]<0&&(e=Ea.fromBase(Ea.toBase(e)));let a=Math.log(Math.max(1+Y6[2]*e[1]*D0.flRoot,1))/Y6[2],p=e[0]*jl,t=a*Math.cos(p),d=a*Math.sin(p);return[e[2],t,d]}function zl(e,a){[e,a]=x([e,a]);let[p,t,d]=X6(Ea.from(e)),[r,i,n]=X6(Ea.from(a));return Math.sqrt((p-r)**2+(t-i)**2+(d-n)**2)}var We={deltaE76:nl,deltaECMC:ml,deltaE2000:I4,deltaEJz:gl,deltaEITP:Dl,deltaEOK:f0,deltaEHCT:zl};function Ul(e){let a=e?Math.floor(Math.log10(Math.abs(e))):0;return Math.max(parseFloat(`1e${a-2}`),1e-6)}var Q6={hct:{method:"hct.c",jnd:2,deltaEMethod:"hct",blackWhiteClamp:{}},"hct-tonal":{method:"hct.c",jnd:0,deltaEMethod:"hct",blackWhiteClamp:{channel:"hct.t",min:0,max:100}}};function de(e,{method:a=c1.gamut_mapping,space:p=void 0,deltaEMethod:t="",jnd:d=2,blackWhiteClamp:r={}}={}){if(e=x(e),Pa(arguments[1])?p=arguments[1]:p||(p=e.space),p=S.get(p),be(e,p,{epsilon:0}))return e;let i;if(a==="css")i=$l(e,{space:p});else{if(a!=="clip"&&!be(e,p)){Object.prototype.hasOwnProperty.call(Q6,a)&&({method:a,jnd:d,deltaEMethod:t,blackWhiteClamp:r}=Q6[a]);let n=I4;if(t!==""){for(let l in We)if("deltae"+t.toLowerCase()===l.toLowerCase()){n=We[l];break}}let s=de(k(e,p),{method:"clip",space:p});if(n(e,s)>d){if(Object.keys(r).length===3){let w=S.resolveCoord(r.channel),b=o1(k(e,w.space),w.id);if(pe(b)&&(b=0),b>=r.max)return k({space:"xyz-d65",coords:s1.D65},e.space);if(b<=r.min)return k({space:"xyz-d65",coords:[0,0,0]},e.space)}let l=S.resolveCoord(a),o=l.space,m=l.id,c=k(e,o);c.coords.forEach((w,b)=>{pe(w)&&(c.coords[b]=0)});let f=(l.range||l.refRange)[0],h=Ul(d),g=f,_=o1(c,m);for(;_-g>h;){let w=Je(c);w=de(w,{space:p,method:"clip"}),n(c,w)-d<h?g=o1(c,m):_=o1(c,m),z1(c,m,(g+_)/2)}i=k(c,p)}else i=s}else i=k(e,p);if(a==="clip"||!be(i,p,{epsilon:0})){let n=Object.values(p.coords).map(s=>s.range||[]);i.coords=i.coords.map((s,l)=>{let[o,m]=n[l];return o!==void 0&&(s=Math.max(o,s)),m!==void 0&&(s=Math.min(s,m)),s})}}return p!==e.space&&(i=k(i,e.space)),e.coords=i.coords,e}de.returns="color";var e4={WHITE:{space:Ze,coords:[1,0,0]},BLACK:{space:Ze,coords:[0,0,0]}};function $l(e,{space:a}={}){e=x(e),a||(a=e.space),a=S.get(a);let d=S.get("oklch");if(a.isUnbounded)return k(e,a);let r=k(e,d),i=r.coords[0];if(i>=1){let f=k(e4.WHITE,a);return f.alpha=e.alpha,k(f,a)}if(i<=0){let f=k(e4.BLACK,a);return f.alpha=e.alpha,k(f,a)}if(be(r,a,{epsilon:0}))return k(r,a);function n(f){let h=k(f,a),g=Object.values(a.coords);return h.coords=h.coords.map((_,w)=>{if("range"in g[w]){let[b,y]=g[w].range;return R4(b,_,y)}return _}),h}let s=0,l=r.coords[1],o=!0,m=Je(r),c=n(m),v=f0(c,m);if(v<.02)return c;for(;l-s>1e-4;){let f=(s+l)/2;if(m.coords[1]=f,o&&be(m,a,{epsilon:0}))s=f;else if(c=n(m),v=f0(c,m),v<.02){if(.02-v<1e-4)break;o=!1,s=f}else l=f}return c}function k(e,a,{inGamut:p}={}){e=x(e),a=S.get(a);let t=a.from(e),d={space:a,coords:t,alpha:e.alpha};return p&&(d=de(d,p===!0?void 0:p)),d}k.returns="color";function Ca(e,{precision:a=c1.precision,format:p="default",inGamut:t=!0,...d}={}){let r;e=x(e);let i=p;p=e.space.getFormat(p)??e.space.getFormat("default")??S.DEFAULT_FORMAT;let n=e.coords.slice();if(t||=p.toGamut,t&&!be(e)&&(n=de(Je(e),t===!0?void 0:t).coords),p.type==="custom")if(d.precision=a,p.serialize)r=p.serialize(n,e.alpha,d);else throw new TypeError(`format ${i} can only be used to parse colors, not for serialization`);else{let s=p.name||"color";p.serializeCoords?n=p.serializeCoords(n,a):a!==null&&(n=n.map(c=>O2(c,{precision:a})));let l=[...n];if(s==="color"){let c=p.id||p.ids?.[0]||e.space.id;l.unshift(c)}let o=e.alpha;a!==null&&(o=O2(o,{precision:a}));let m=e.alpha>=1||p.noAlpha?"":`${p.commas?",":" /"} ${o}`;r=`${s}(${l.join(p.commas?", ":" ")}${m})`}return r}var Hl=[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],Gl=[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]],B2=new t1({id:"rec2020-linear",cssId:"--rec2020-linear",name:"Linear REC.2020",white:"D65",toXYZ_M:Hl,fromXYZ_M:Gl}),V2=1.09929682680944,a4=.018053968510807,W4=new t1({id:"rec2020",name:"REC.2020",base:B2,toBase(e){return e.map(function(a){return a<a4*4.5?a/4.5:Math.pow((a+V2-1)/V2,1/.45)})},fromBase(e){return e.map(function(a){return a>=a4?V2*Math.pow(a,.45)-(V2-1):4.5*a})}}),Kl=[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],Zl=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]],Y4=new t1({id:"p3-linear",cssId:"--display-p3-linear",name:"Linear P3",white:"D65",toXYZ_M:Kl,fromXYZ_M:Zl}),Jl=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],H=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],X4=new t1({id:"srgb-linear",name:"Linear sRGB",white:"D65",toXYZ_M:Jl,fromXYZ_M:H}),p4={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[153/255,50/255,204/255],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,153/255],lightslategrey:[119/255,136/255,153/255],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[102/255,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,204/255],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[102/255,51/255,153/255],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]},t4=Array(3).fill("<percentage> | <number>[0, 255]"),d4=Array(3).fill("<number>[0, 255]"),Ye=new t1({id:"srgb",name:"sRGB",base:X4,fromBase:e=>e.map(a=>{let p=a<0?-1:1,t=a*p;return t>.0031308?p*(1.055*t**(1/2.4)-.055):12.92*a}),toBase:e=>e.map(a=>{let p=a<0?-1:1,t=a*p;return t<=.04045?a/12.92:p*((t+.055)/1.055)**2.4}),formats:{rgb:{coords:t4},rgb_number:{name:"rgb",commas:!0,coords:d4,noAlpha:!0},color:{},rgba:{coords:t4,commas:!0,lastAlpha:!0},rgba_number:{name:"rgba",commas:!0,coords:d4},hex:{type:"custom",toGamut:!0,test:e=>/^#([a-f0-9]{3,4}){1,2}$/i.test(e),parse(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,"$&$&"));let a=[];return e.replace(/[a-f0-9]{2}/gi,p=>{a.push(parseInt(p,16)/255)}),{spaceId:"srgb",coords:a.slice(0,3),alpha:a.slice(3)[0]}},serialize:(e,a,{collapse:p=!0}={})=>{a<1&&e.push(a),e=e.map(r=>Math.round(r*255));let t=p&&e.every(r=>r%17===0);return"#"+e.map(r=>t?(r/17).toString(16):r.toString(16).padStart(2,"0")).join("")}},keyword:{type:"custom",test:e=>/^[a-z]+$/i.test(e),parse(e){e=e.toLowerCase();let a={spaceId:"srgb",coords:null,alpha:1};if(e==="transparent"?(a.coords=p4.black,a.alpha=0):a.coords=p4[e],a.coords)return a}}}}),Q4=new t1({id:"p3",cssId:"display-p3",name:"P3",base:Y4,fromBase:Ye.fromBase,toBase:Ye.toBase});c1.display_space=Ye;var Wl;if(typeof CSS<"u"&&CSS.supports)for(let e of[u1,W4,Q4]){let a=e.getMinCoords(),t=Ca({space:e,coords:a,alpha:1});if(CSS.supports("color",t)){c1.display_space=e;break}}function Yl(e,{space:a=c1.display_space,...p}={}){let t=Ca(e,p);if(typeof CSS>"u"||CSS.supports("color",t)||!c1.display_space)t=new String(t),t.color=e;else{let d=e;if((e.coords.some(pe)||pe(e.alpha))&&!(Wl??=CSS.supports("color","hsl(none 50% 50%)"))&&(d=Je(e),d.coords=d.coords.map(U),d.alpha=U(d.alpha),t=Ca(d,p),CSS.supports("color",t)))return t=new String(t),t.color=d,t;d=k(d,a),t=new String(Ca(d,p)),t.color=d}return t}function Xl(e,a){return e=x(e),a=x(a),e.space===a.space&&e.alpha===a.alpha&&e.coords.every((p,t)=>p===a.coords[t])}function re(e){return o1(e,[Q,"y"])}function er(e,a){z1(e,[Q,"y"],a)}function Ql(e){Object.defineProperty(e.prototype,"luminance",{get(){return re(this)},set(a){er(this,a)}})}var em=Object.freeze({__proto__:null,getLuminance:re,register:Ql,setLuminance:er});function am(e,a){e=x(e),a=x(a);let p=Math.max(re(e),0),t=Math.max(re(a),0);return t>p&&([p,t]=[t,p]),(p+.05)/(t+.05)}var pm=.56,tm=.57,dm=.62,rm=.65,r4=.022,im=1.414,sm=.1,nm=5e-4,lm=1.14,i4=.027,mm=1.14;function s4(e){return e>=r4?e:e+(r4-e)**im}function He(e){let a=e<0?-1:1,p=Math.abs(e);return a*Math.pow(p,2.4)}function om(e,a){a=x(a),e=x(e);let p,t,d,r,i,n;a=k(a,"srgb"),[r,i,n]=a.coords;let s=He(r)*.2126729+He(i)*.7151522+He(n)*.072175;e=k(e,"srgb"),[r,i,n]=e.coords;let l=He(r)*.2126729+He(i)*.7151522+He(n)*.072175,o=s4(s),m=s4(l),c=m>o;return Math.abs(m-o)<nm?t=0:c?(p=m**pm-o**tm,t=p*lm):(p=m**rm-o**dm,t=p*mm),Math.abs(t)<sm?d=0:t>0?d=t-i4:d=t+i4,d*100}function um(e,a){e=x(e),a=x(a);let p=Math.max(re(e),0),t=Math.max(re(a),0);t>p&&([p,t]=[t,p]);let d=p+t;return d===0?0:(p-t)/d}var cm=5e4;function fm(e,a){e=x(e),a=x(a);let p=Math.max(re(e),0),t=Math.max(re(a),0);return t>p&&([p,t]=[t,p]),t===0?cm:(p-t)/t}function hm(e,a){e=x(e),a=x(a);let p=o1(e,[u1,"l"]),t=o1(a,[u1,"l"]);return Math.abs(p-t)}var vm=216/24389,n4=24/116,E2=24389/27,r0=s1.D65,_0=new S({id:"lab-d65",name:"Lab D65",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:r0,base:Q,fromBase(e){let p=e.map((t,d)=>t/r0[d]).map(t=>t>vm?Math.cbrt(t):(E2*t+16)/116);return[116*p[1]-16,500*(p[0]-p[1]),200*(p[1]-p[2])]},toBase(e){let a=[];return a[1]=(e[0]+16)/116,a[0]=e[1]/500+a[1],a[2]=a[1]-e[2]/200,[a[0]>n4?Math.pow(a[0],3):(116*a[0]-16)/E2,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/E2,a[2]>n4?Math.pow(a[2],3):(116*a[2]-16)/E2].map((t,d)=>t*r0[d])},formats:{"lab-d65":{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),i0=Math.pow(5,.5)*.5+.5;function gm(e,a){e=x(e),a=x(a);let p=o1(e,[_0,"l"]),t=o1(a,[_0,"l"]),d=Math.abs(Math.pow(p,i0)-Math.pow(t,i0)),r=Math.pow(d,1/i0)*Math.SQRT2-40;return r<7.5?0:r}var k2=Object.freeze({__proto__:null,contrastAPCA:om,contrastDeltaPhi:gm,contrastLstar:hm,contrastMichelson:um,contrastWCAG21:am,contrastWeber:fm});function wm(e,a,p={}){Pa(p)&&(p={algorithm:p});let{algorithm:t,...d}=p;if(!t){let r=Object.keys(k2).map(i=>i.replace(/^contrast/,"")).join(", ");throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${r}`)}e=x(e),a=x(a);for(let r in k2)if("contrast"+t.toLowerCase()===r.toLowerCase())return k2[r](e,a,d);throw new TypeError(`Unknown contrast algorithm: ${t}`)}function F2(e){let[a,p,t]=Ma(e,Q),d=a+15*p+3*t;return[4*a/d,9*p/d]}function ar(e){let[a,p,t]=Ma(e,Q),d=a+p+t;return[a/d,p/d]}function _m(e){Object.defineProperty(e.prototype,"uv",{get(){return F2(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return ar(this)}})}var bm=Object.freeze({__proto__:null,register:_m,uv:F2,xy:ar});function Da(e,a,p={}){Pa(p)&&(p={method:p});let{method:t=c1.deltaE,...d}=p;for(let r in We)if("deltae"+t.toLowerCase()===r.toLowerCase())return We[r](e,a,d);throw new TypeError(`Unknown deltaE method: ${t}`)}function ym(e,a=.25){let t=[S.get("oklch","lch"),"l"];return z1(e,t,d=>d*(1+a))}function Sm(e,a=.25){let t=[S.get("oklch","lch"),"l"];return z1(e,t,d=>d*(1-a))}var Nm=Object.freeze({__proto__:null,darken:Sm,lighten:ym});function pr(e,a,p=.5,t={}){return[e,a]=[x(e),x(a)],ae(p)==="object"&&([p,t]=[.5,p]),ka(e,a,t)(p)}function tr(e,a,p={}){let t;C0(e)&&([t,p]=[e,a],[e,a]=t.rangeArgs.colors);let{maxDeltaE:d,deltaEMethod:r,steps:i=2,maxSteps:n=1e3,...s}=p;t||([e,a]=[x(e),x(a)],t=ka(e,a,s));let l=Da(e,a),o=d>0?Math.max(i,Math.ceil(l/d)+1):i,m=[];if(n!==void 0&&(o=Math.min(o,n)),o===1)m=[{p:.5,color:t(.5)}];else{let c=1/(o-1);m=Array.from({length:o},(v,f)=>{let h=f*c;return{p:h,color:t(h)}})}if(d>0){let c=m.reduce((v,f,h)=>{if(h===0)return 0;let g=Da(f.color,m[h-1].color,r);return Math.max(v,g)},0);for(;c>d;){c=0;for(let v=1;v<m.length&&m.length<n;v++){let f=m[v-1],h=m[v],g=(h.p+f.p)/2,_=t(g);c=Math.max(c,Da(_,f.color),Da(_,h.color)),m.splice(v,0,{p:g,color:t(g)}),v++}}}return m=m.map(c=>c.color),m}function ka(e,a,p={}){if(C0(e)){let[s,l]=[e,a];return ka(...s.rangeArgs.colors,{...s.rangeArgs.options,...l})}let{space:t,outputSpace:d,progression:r,premultiplied:i}=p;e=x(e),a=x(a),e=Je(e),a=Je(a);let n={colors:[e,a],options:p};if(t?t=S.get(t):t=S.registry[c1.interpolationSpace]||e.space,d=d?S.get(d):t,e=k(e,t),a=k(a,t),e=de(e),a=de(a),t.coords.h&&t.coords.h.type==="angle"){let s=p.hue=p.hue||"shorter",l=[t,"h"],[o,m]=[o1(e,l),o1(a,l)];isNaN(o)&&!isNaN(m)?o=m:isNaN(m)&&!isNaN(o)&&(m=o),[o,m]=pl(s,[o,m]),z1(e,l,o),z1(a,l,m)}return i&&(e.coords=e.coords.map(s=>s*e.alpha),a.coords=a.coords.map(s=>s*a.alpha)),Object.assign(s=>{s=r?r(s):s;let l=e.coords.map((c,v)=>{let f=a.coords[v];return Aa(c,f,s)}),o=Aa(e.alpha,a.alpha,s),m={space:t,coords:l,alpha:o};return i&&(m.coords=m.coords.map(c=>c/o)),d!==t&&(m=k(m,d)),m},{rangeArgs:n})}function C0(e){return ae(e)==="function"&&!!e.rangeArgs}c1.interpolationSpace="lab";function xm(e){e.defineFunction("mix",pr,{returns:"color"}),e.defineFunction("range",ka,{returns:"function<color>"}),e.defineFunction("steps",tr,{returns:"array<color>"})}var Tm=Object.freeze({__proto__:null,isRange:C0,mix:pr,range:ka,register:xm,steps:tr}),dr=new S({id:"hsl",name:"HSL",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:Ye,fromBase:e=>{let a=Math.max(...e),p=Math.min(...e),[t,d,r]=e,[i,n,s]=[NaN,0,(p+a)/2],l=a-p;if(l!==0){switch(n=s===0||s===1?0:(a-s)/Math.min(s,1-s),a){case t:i=(d-r)/l+(d<r?6:0);break;case d:i=(r-t)/l+2;break;case r:i=(t-d)/l+4}i=i*60}return n<0&&(i+=180,n=Math.abs(n)),i>=360&&(i-=360),[i,n*100,s*100]},toBase:e=>{let[a,p,t]=e;a=a%360,a<0&&(a+=360),p/=100,t/=100;function d(r){let i=(r+a/30)%12,n=p*Math.min(t,1-t);return t-n*Math.max(-1,Math.min(i-3,9-i,1))}return[d(0),d(8),d(4)]},formats:{hsl:{coords:["<number> | <angle>","<percentage>","<percentage>"]},hsla:{coords:["<number> | <angle>","<percentage>","<percentage>"],commas:!0,lastAlpha:!0}}}),rr=new S({id:"hsv",name:"HSV",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},v:{range:[0,100],name:"Value"}},base:dr,fromBase(e){let[a,p,t]=e;p/=100,t/=100;let d=t+p*Math.min(t,1-t);return[a,d===0?0:200*(1-t/d),100*d]},toBase(e){let[a,p,t]=e;p/=100,t/=100;let d=t*(1-p/2);return[a,d===0||d===1?0:(t-d)/Math.min(d,1-d)*100,d*100]},formats:{color:{id:"--hsv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),Dm=new S({id:"hwb",name:"HWB",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},w:{range:[0,100],name:"Whiteness"},b:{range:[0,100],name:"Blackness"}},base:rr,fromBase(e){let[a,p,t]=e;return[a,t*(100-p)/100,100-t]},toBase(e){let[a,p,t]=e;p/=100,t/=100;let d=p+t;if(d>=1){let n=p/d;return[a,0,n*100]}let r=1-t,i=r===0?0:1-p/r;return[a,i*100,r*100]},formats:{hwb:{coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),Cm=[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],Am=[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]],ir=new t1({id:"a98rgb-linear",cssId:"--a98-rgb-linear",name:"Linear Adobe\xAE 98 RGB compatible",white:"D65",toXYZ_M:Cm,fromXYZ_M:Am}),Vm=new t1({id:"a98rgb",cssId:"a98-rgb",name:"Adobe\xAE 98 RGB compatible",base:ir,toBase:e=>e.map(a=>Math.pow(Math.abs(a),563/256)*Math.sign(a)),fromBase:e=>e.map(a=>Math.pow(Math.abs(a),256/563)*Math.sign(a))}),Em=[[.7977666449006423,.13518129740053308,.0313477341283922],[.2880748288194013,.711835234241873,8993693872564e-17],[0,0,.8251046025104602]],Pm=[[1.3457868816471583,-.25557208737979464,-.05110186497554526],[-.5446307051249019,1.5082477428451468,.02052744743642139],[0,0,1.2119675456389452]],sr=new t1({id:"prophoto-linear",cssId:"--prophoto-rgb-linear",name:"Linear ProPhoto",white:"D50",base:x0,toXYZ_M:Em,fromXYZ_M:Pm}),Mm=1/512,km=16/512,Om=new t1({id:"prophoto",cssId:"prophoto-rgb",name:"ProPhoto",base:sr,toBase(e){return e.map(a=>a<km?a/16:a**1.8)},fromBase(e){return e.map(a=>a>=Mm?a**(1/1.8):16*a)}}),Rm=new S({id:"oklch",name:"Oklch",coords:{l:{refRange:[0,1],name:"Lightness"},c:{refRange:[0,.4],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},white:"D65",base:Ze,fromBase(e){let[a,p,t]=e,d,r=2e-4;return Math.abs(p)<r&&Math.abs(t)<r?d=NaN:d=Math.atan2(t,p)*180/Math.PI,[a,Math.sqrt(p**2+t**2),k1(d)]},toBase(e){let[a,p,t]=e,d,r;return isNaN(t)?(d=0,r=0):(d=p*Math.cos(t*Math.PI/180),r=p*Math.sin(t*Math.PI/180)),[a,d,r]},formats:{oklch:{coords:["<percentage> | <number>","<number> | <percentage>[0,1]","<number> | <angle>"]}}}),nr=s1.D65,qm=216/24389,l4=24389/27,[m4,o4]=F2({space:Q,coords:nr}),lr=new S({id:"luv",name:"Luv",coords:{l:{refRange:[0,100],name:"Lightness"},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:nr,base:Q,fromBase(e){let a=[U(e[0]),U(e[1]),U(e[2])],p=a[1],[t,d]=F2({space:Q,coords:a});if(!Number.isFinite(t)||!Number.isFinite(d))return[0,0,0];let r=p<=qm?l4*p:116*Math.cbrt(p)-16;return[r,13*r*(t-m4),13*r*(d-o4)]},toBase(e){let[a,p,t]=e;if(a===0||pe(a))return[0,0,0];p=U(p),t=U(t);let d=p/(13*a)+m4,r=t/(13*a)+o4,i=a<=8?a/l4:Math.pow((a+16)/116,3);return[i*(9*d/(4*r)),i,i*((12-3*d-20*r)/(4*r))]},formats:{color:{id:"--luv",coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),A0=new S({id:"lchuv",name:"LChuv",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,220],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:lr,fromBase(e){let[a,p,t]=e,d,r=.02;return Math.abs(p)<r&&Math.abs(t)<r?d=NaN:d=Math.atan2(t,p)*180/Math.PI,[a,Math.sqrt(p**2+t**2),k1(d)]},toBase(e){let[a,p,t]=e;return p<0&&(p=0),isNaN(t)&&(t=0),[a,p*Math.cos(t*Math.PI/180),p*Math.sin(t*Math.PI/180)]},formats:{color:{id:"--lchuv",coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}}),Lm=216/24389,Im=24389/27,u4=H[0][0],c4=H[0][1],s0=H[0][2],f4=H[1][0],h4=H[1][1],n0=H[1][2],v4=H[2][0],g4=H[2][1],l0=H[2][2];function Ge(e,a,p){let t=a/(Math.sin(p)-e*Math.cos(p));return t<0?1/0:t}function L2(e){let a=Math.pow(e+16,3)/1560896,p=a>Lm?a:e/Im,t=p*(284517*u4-94839*s0),d=p*(838422*s0+769860*c4+731718*u4),r=p*(632260*s0-126452*c4),i=p*(284517*f4-94839*n0),n=p*(838422*n0+769860*h4+731718*f4),s=p*(632260*n0-126452*h4),l=p*(284517*v4-94839*l0),o=p*(838422*l0+769860*g4+731718*v4),m=p*(632260*l0-126452*g4);return{r0s:t/r,r0i:d*e/r,r1s:t/(r+126452),r1i:(d-769860)*e/(r+126452),g0s:i/s,g0i:n*e/s,g1s:i/(s+126452),g1i:(n-769860)*e/(s+126452),b0s:l/m,b0i:o*e/m,b1s:l/(m+126452),b1i:(o-769860)*e/(m+126452)}}function w4(e,a){let p=a/360*Math.PI*2,t=Ge(e.r0s,e.r0i,p),d=Ge(e.r1s,e.r1i,p),r=Ge(e.g0s,e.g0i,p),i=Ge(e.g1s,e.g1i,p),n=Ge(e.b0s,e.b0i,p),s=Ge(e.b1s,e.b1i,p);return Math.min(t,d,r,i,n,s)}var Bm=new S({id:"hsluv",name:"HSLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:A0,gamutSpace:Ye,fromBase(e){let[a,p,t]=[U(e[0]),U(e[1]),U(e[2])],d;if(a>99.9999999)d=0,a=100;else if(a<1e-8)d=0,a=0;else{let r=L2(a),i=w4(r,t);d=p/i*100}return[t,d,a]},toBase(e){let[a,p,t]=[U(e[0]),U(e[1]),U(e[2])],d;if(t>99.9999999)t=100,d=0;else if(t<1e-8)t=0,d=0;else{let r=L2(t);d=w4(r,a)/100*p}return[t,d,a]},formats:{color:{id:"--hsluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});H[0][0];H[0][1];H[0][2];H[1][0];H[1][1];H[1][2];H[2][0];H[2][1];H[2][2];function Ke(e,a){return Math.abs(a)/Math.sqrt(Math.pow(e,2)+1)}function _4(e){let a=Ke(e.r0s,e.r0i),p=Ke(e.r1s,e.r1i),t=Ke(e.g0s,e.g0i),d=Ke(e.g1s,e.g1i),r=Ke(e.b0s,e.b0i),i=Ke(e.b1s,e.b1i);return Math.min(a,p,t,d,r,i)}var Fm=new S({id:"hpluv",name:"HPLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:A0,gamutSpace:"self",fromBase(e){let[a,p,t]=[U(e[0]),U(e[1]),U(e[2])],d;if(a>99.9999999)d=0,a=100;else if(a<1e-8)d=0,a=0;else{let r=L2(a),i=_4(r);d=p/i*100}return[t,d,a]},toBase(e){let[a,p,t]=[U(e[0]),U(e[1]),U(e[2])],d;if(t>99.9999999)t=100,d=0;else if(t<1e-8)t=0,d=0;else{let r=L2(t);d=_4(r)/100*p}return[t,d,a]},formats:{color:{id:"--hpluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),b4=203,y4=2610/2**14,jm=2**14/2610,zm=2523/2**5,S4=2**5/2523,N4=3424/2**12,x4=2413/2**7,T4=2392/2**7,Um=new t1({id:"rec2100pq",cssId:"rec2100-pq",name:"REC.2100-PQ",base:B2,toBase(e){return e.map(function(a){return(Math.max(a**S4-N4,0)/(x4-T4*a**S4))**jm*1e4/b4})},fromBase(e){return e.map(function(a){let p=Math.max(a*b4/1e4,0),t=N4+x4*p**y4,d=1+T4*p**y4;return(t/d)**zm})}}),D4=.17883277,C4=.28466892,A4=.55991073,m0=3.7743,$m=new t1({id:"rec2100hlg",cssId:"rec2100-hlg",name:"REC.2100-HLG",referred:"scene",base:B2,toBase(e){return e.map(function(a){return a<=.5?a**2/3*m0:(Math.exp((a-A4)/D4)+C4)/12*m0})},fromBase(e){return e.map(function(a){return a/=m0,a<=1/12?Math.sqrt(3*a):D4*Math.log(12*a-C4)+A4})}}),mr={};te.add("chromatic-adaptation-start",e=>{e.options.method&&(e.M=or(e.W1,e.W2,e.options.method))});te.add("chromatic-adaptation-end",e=>{e.M||(e.M=or(e.W1,e.W2,e.options.method))});function j2({id:e,toCone_M:a,fromCone_M:p}){mr[e]=arguments[0]}function or(e,a,p="Bradford"){let t=mr[p],[d,r,i]=O(t.toCone_M,e),[n,s,l]=O(t.toCone_M,a),o=[[n/d,0,0],[0,s/r,0],[0,0,l/i]],m=O(o,t.toCone_M);return O(t.fromCone_M,m)}j2({id:"von Kries",toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599363874558397,-1.1293816185800916,.21989740959619328],[.3611914362417676,.6388124632850422,-6370596838649899e-21],[0,0,1.0890636230968613]]});j2({id:"Bradford",toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929054667121,-.14705425642099013,.15996265166373122],[.4323052697233945,.5183602715367774,.049291228212855594],[-.00852866457517732,.04004282165408486,.96848669578755]]});j2({id:"CAT02",toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238208355142,-.27886900021828726,.18274517938277307],[.4543690419753592,.4735331543074117,.07209780371722911],[-.009627608738429355,-.00569803121611342,1.0153256399545427]]});j2({id:"CAT16",toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.0112546305316845,.14918677544445172],[.3875265432361372,.6214474419314753,-.008973985167612521],[-.01584149884933386,-.03412293802851557,1.0499644368778496]]});Object.assign(s1,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]});s1.ACES=[.32168/.33767,1,(1-.32168-.33767)/.33767];var Hm=[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],Gm=[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]],ur=new t1({id:"acescg",cssId:"--acescg",name:"ACEScg",coords:{r:{range:[0,65504],name:"Red"},g:{range:[0,65504],name:"Green"},b:{range:[0,65504],name:"Blue"}},referred:"scene",white:s1.ACES,toXYZ_M:Hm,fromXYZ_M:Gm}),P2=2**-16,o0=-.35828683,M2=(Math.log2(65504)+9.72)/17.52,Km=new t1({id:"acescc",cssId:"--acescc",name:"ACEScc",coords:{r:{range:[o0,M2],name:"Red"},g:{range:[o0,M2],name:"Green"},b:{range:[o0,M2],name:"Blue"}},referred:"scene",base:ur,toBase(e){let a=-.3013698630136986;return e.map(function(p){return p<=a?(2**(p*17.52-9.72)-P2)*2:p<M2?2**(p*17.52-9.72):65504})},fromBase(e){return e.map(function(a){return a<=0?(Math.log2(P2)+9.72)/17.52:a<P2?(Math.log2(P2+a*.5)+9.72)/17.52:(Math.log2(a)+9.72)/17.52})}}),V4=Object.freeze({__proto__:null,A98RGB:Vm,A98RGB_Linear:ir,ACEScc:Km,ACEScg:ur,CAM16_JMh:Rl,HCT:Ea,HPLuv:Fm,HSL:dr,HSLuv:Bm,HSV:rr,HWB:Dm,ICTCP:v0,JzCzHz:h0,Jzazbz:F4,LCH:Va,LCHuv:A0,Lab:u1,Lab_D65:_0,Luv:lr,OKLCH:Rm,OKLab:Ze,P3:Q4,P3_Linear:Y4,ProPhoto:Om,ProPhoto_Linear:sr,REC_2020:W4,REC_2020_Linear:B2,REC_2100_HLG:$m,REC_2100_PQ:Um,XYZ_ABS_D65:T0,XYZ_D50:x0,XYZ_D65:Q,sRGB:Ye,sRGB_Linear:X4}),W=class e{constructor(...a){let p;a.length===1&&(p=x(a[0]));let t,d,r;p?(t=p.space||p.spaceId,d=p.coords,r=p.alpha):[t,d,r]=a,Object.defineProperty(this,"space",{value:S.get(t),writable:!1,enumerable:!0,configurable:!0}),this.coords=d?d.slice():[0,0,0],this.alpha=r>1||r===void 0?1:r<0?0:r;for(let i=0;i<this.coords.length;i++)this.coords[i]==="NaN"&&(this.coords[i]=NaN);for(let i in this.space.coords)Object.defineProperty(this,i,{get:()=>this.get(i),set:n=>this.set(i,n)})}get spaceId(){return this.space.id}clone(){return new e(this.space,this.coords,this.alpha)}toJSON(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}display(...a){let p=Yl(this,...a);return p.color=new e(p.color),p}static get(a,...p){return a instanceof e?a:new e(a,...p)}static defineFunction(a,p,t=p){let{instance:d=!0,returns:r}=t,i=function(...n){let s=p(...n);if(r==="color")s=e.get(s);else if(r==="function<color>"){let l=s;s=function(...o){let m=l(...o);return e.get(m)},Object.assign(s,l)}else r==="array<color>"&&(s=s.map(l=>e.get(l)));return s};a in e||(e[a]=i),d&&(e.prototype[a]=function(...n){return i(this,...n)})}static defineFunctions(a){for(let p in a)e.defineFunction(p,a[p],a[p])}static extend(a){if(a.register)a.register(e);else for(let p in a)e.defineFunction(p,a[p])}};W.defineFunctions({get:o1,getAll:Ma,set:z1,setAll:N0,to:k,equals:Xl,inGamut:be,toGamut:de,distance:B4,toString:Ca});Object.assign(W,{util:Yn,hooks:te,WHITES:s1,Space:S,spaces:S.registry,parse:L4,defaults:c1});for(let e of Object.keys(V4))S.register(V4[e]);for(let e in S.registry)b0(e,S.registry[e]);te.add("colorspace-init-end",e=>{b0(e.id,e),e.aliases?.forEach(a=>{b0(a,e)})});function b0(e,a){let p=e.replace(/-/g,"_");Object.defineProperty(W.prototype,p,{get(){let t=this.getAll(e);return typeof Proxy>"u"?t:new Proxy(t,{has:(d,r)=>{try{return S.resolveCoord([a,r]),!0}catch{}return Reflect.has(d,r)},get:(d,r,i)=>{if(r&&typeof r!="symbol"&&!(r in d)){let{index:n}=S.resolveCoord([a,r]);if(n>=0)return d[n]}return Reflect.get(d,r,i)},set:(d,r,i,n)=>{if(r&&typeof r!="symbol"&&!(r in d)||r>=0){let{index:s}=S.resolveCoord([a,r]);if(s>=0)return d[s]=i,this.setAll(e,d),!0}return Reflect.set(d,r,i,n)}})},set(t){this.setAll(e,t)},configurable:!0,enumerable:!0})}W.extend(We);W.extend({deltaE:Da});Object.assign(W,{deltaEMethods:We});W.extend(Nm);W.extend({contrast:wm});W.extend(bm);W.extend(em);W.extend(Tm);W.extend(k2);var yw=Q2($3()),H3=(0,Y2.getPreferenceValues)();function $1(e,a){let p;switch(typeof e=="string"?p=new W(e):"colorSpace"in e?p=new W(e.colorSpace,[e.red,e.green,e.blue],e.alpha):p=new W("srgb",[e.red/255,e.green/255,e.blue/255],e.alpha),a||H3.colorFormat){default:case"hex":return p.to("srgb").toString({format:"hex"}).toUpperCase();case"hex-lower-case":return p.to("srgb").toString({format:"hex"}).toLowerCase();case"hex-no-prefix":return p.to("srgb").toString({format:"hex"}).replace("#","");case"rgb":return p.to("srgb").toString({format:"rgb_number"});case"rgb-percentage":return p.to("srgb").toString({format:"rgb"});case"rgba":return p.to("srgb").toString({format:"rgba_number"});case"rgba-percentage":return p.to("srgb").toString({format:"rgba"});case"hsla":return p.to("hsl").toString({format:"hsla"});case"hsva":return p.to("hsv").toString({format:"color"});case"oklch":{let t=p.to("oklch"),[d,r,i]=t.coords;return`oklch(${(d*100).toFixed(2)}% ${r} ${i})`}case"lch":{let t=p.to("lch"),[d,r,i]=t.coords;return`lch(${d.toFixed(2)}% ${r} ${i})`}case"p3":return p.to("p3").toString({format:"p3"})}}var Sw=["p3","rgb","rgb-percentage"];function G3(e){return $1(e,Sw.includes(H3.colorFormat)?"oklch":void 0)}function K3(e){let a=e+1,p;return a>=1&&a<=9&&(p={modifiers:["cmd"],key:String(a)}),p}function Z3(e){let a=typeof e=="string"?e:$1(e,"hex");return a?{source:Y2.Icon.CircleFilled,tintColor:{light:a,dark:a,adjustContrast:!1}}:void 0}function W3(){let[e,a]=(0,J3.useCachedState)("history",[]);return{history:e,remove:p=>a(t=>t.filter(d=>$1(d.color)!==$1(p))),edit:p=>a(t=>t.map(d=>$1(d.color)===$1(p.color)?p:d)),clear:()=>a([])}}var H1=require("react/jsx-runtime");function X3(){let{history:e,remove:a,clear:p}=W3();return(0,H1.jsxs)(q.MenuBarExtra,{icon:q.Icon.EyeDropper,children:[(0,H1.jsx)(q.MenuBarExtra.Item,{title:"Pick Color",onAction:async()=>{try{await(0,q.launchCommand)({name:"pick-color",type:q.LaunchType.Background,context:{source:"menu-bar"}})}catch(t){await(0,Y3.showFailureToast)(t)}}}),(0,H1.jsx)(q.MenuBarExtra.Section,{children:e?.slice(0,9).map((t,d)=>{let r=$1(t.color),i=G3(t.color);return(0,H1.jsx)(q.MenuBarExtra.Item,{icon:Z3(i),title:r,subtitle:t.title,shortcut:K3(d),onAction:async n=>{n.type==="left-click"?(await q.Clipboard.copy(r),await(0,q.showHUD)("Copied color to clipboard")):(a(t.color),await(0,q.showHUD)("Deleted color from history"))}},r)})}),(0,H1.jsxs)(q.MenuBarExtra.Section,{children:[(0,H1.jsx)(q.MenuBarExtra.Item,{title:"Configure Command",shortcut:{modifiers:["cmd"],key:","},onAction:q.openCommandPreferences}),q.environment.isDevelopment&&(0,H1.jsx)(q.MenuBarExtra.Item,{title:"Clear All Colors",onAction:()=>p()})]})]})} diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/menu-bar.js.map b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/menu-bar.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/dequal/lite/index.js", "../node_modules/@raycast/utils/dist/useDeepMemo.js", "../node_modules/@raycast/utils/dist/useLatest.js", "../node_modules/@raycast/utils/dist/showFailureToast.js", "../node_modules/@raycast/utils/dist/usePromise.js", "../node_modules/object-hash/index.js", "../node_modules/@raycast/utils/dist/helpers.js", "../node_modules/@raycast/utils/dist/useCachedState.js", "../node_modules/@raycast/utils/dist/useCachedPromise.js", "../node_modules/webidl-conversions/lib/index.js", "../node_modules/whatwg-url/lib/utils.js", "../node_modules/tr46/lib/mappingTable.json", "../node_modules/tr46/index.js", "../node_modules/whatwg-url/lib/url-state-machine.js", "../node_modules/whatwg-url/lib/URL-impl.js", "../node_modules/whatwg-url/lib/URL.js", "../node_modules/whatwg-url/lib/public-api.js", "../node_modules/node-fetch/lib/index.js", "../node_modules/cross-fetch/dist/node-ponyfill.js", "../node_modules/@raycast/utils/dist/fetch-utils.js", "../node_modules/@raycast/utils/dist/useFetch.js", "../node_modules/signal-exit/src/signals.ts", "../node_modules/signal-exit/src/index.ts", "../node_modules/@raycast/utils/dist/exec-utils.js", "../node_modules/@raycast/utils/dist/useExec.js", "../node_modules/stream-chain/index.js", "../node_modules/stream-json/utils/Utf8Stream.js", "../node_modules/stream-json/Parser.js", "../node_modules/stream-json/utils/emit.js", "../node_modules/stream-json/index.js", "../node_modules/stream-json/filters/FilterBase.js", "../node_modules/stream-json/utils/withParser.js", "../node_modules/stream-json/filters/Pick.js", "../node_modules/stream-json/Assembler.js", "../node_modules/stream-json/streamers/StreamBase.js", "../node_modules/stream-json/streamers/StreamArray.js", "../node_modules/@raycast/utils/dist/useStreamJSON.js", "../node_modules/@raycast/utils/dist/useSQL.js", "../node_modules/@raycast/utils/dist/useForm.js", "../node_modules/@raycast/utils/dist/useAI.js", "../node_modules/@raycast/utils/dist/useFrecencySorting.js", "../node_modules/@raycast/utils/dist/useLocalStorage.js", "../node_modules/@raycast/utils/dist/icon/color.js", "../node_modules/@raycast/utils/dist/icon/avatar.js", "../node_modules/@raycast/utils/dist/icon/favicon.js", "../node_modules/@raycast/utils/dist/icon/progress.js", "../node_modules/@raycast/utils/dist/icon/index.js", "../node_modules/@raycast/utils/dist/oauth/providers.js", "../node_modules/@raycast/utils/dist/oauth/OAuthService.js", "../node_modules/@raycast/utils/dist/oauth/withAccessToken.js", "../node_modules/@raycast/utils/dist/oauth/index.js", "../node_modules/@raycast/utils/dist/run-applescript.js", "../node_modules/@raycast/utils/dist/createDeeplink.js", "../node_modules/@raycast/utils/dist/index.js", "../node_modules/lodash/_listCacheClear.js", "../node_modules/lodash/eq.js", "../node_modules/lodash/_assocIndexOf.js", "../node_modules/lodash/_listCacheDelete.js", "../node_modules/lodash/_listCacheGet.js", "../node_modules/lodash/_listCacheHas.js", "../node_modules/lodash/_listCacheSet.js", "../node_modules/lodash/_ListCache.js", "../node_modules/lodash/_stackClear.js", "../node_modules/lodash/_stackDelete.js", "../node_modules/lodash/_stackGet.js", "../node_modules/lodash/_stackHas.js", "../node_modules/lodash/_freeGlobal.js", "../node_modules/lodash/_root.js", "../node_modules/lodash/_Symbol.js", "../node_modules/lodash/_getRawTag.js", "../node_modules/lodash/_objectToString.js", "../node_modules/lodash/_baseGetTag.js", "../node_modules/lodash/isObject.js", "../node_modules/lodash/isFunction.js", "../node_modules/lodash/_coreJsData.js", "../node_modules/lodash/_isMasked.js", "../node_modules/lodash/_toSource.js", "../node_modules/lodash/_baseIsNative.js", "../node_modules/lodash/_getValue.js", "../node_modules/lodash/_getNative.js", "../node_modules/lodash/_Map.js", "../node_modules/lodash/_nativeCreate.js", "../node_modules/lodash/_hashClear.js", "../node_modules/lodash/_hashDelete.js", "../node_modules/lodash/_hashGet.js", "../node_modules/lodash/_hashHas.js", "../node_modules/lodash/_hashSet.js", "../node_modules/lodash/_Hash.js", "../node_modules/lodash/_mapCacheClear.js", "../node_modules/lodash/_isKeyable.js", "../node_modules/lodash/_getMapData.js", "../node_modules/lodash/_mapCacheDelete.js", "../node_modules/lodash/_mapCacheGet.js", "../node_modules/lodash/_mapCacheHas.js", "../node_modules/lodash/_mapCacheSet.js", "../node_modules/lodash/_MapCache.js", "../node_modules/lodash/_stackSet.js", "../node_modules/lodash/_Stack.js", "../node_modules/lodash/_setCacheAdd.js", "../node_modules/lodash/_setCacheHas.js", "../node_modules/lodash/_SetCache.js", "../node_modules/lodash/_arraySome.js", "../node_modules/lodash/_cacheHas.js", "../node_modules/lodash/_equalArrays.js", "../node_modules/lodash/_Uint8Array.js", "../node_modules/lodash/_mapToArray.js", "../node_modules/lodash/_setToArray.js", "../node_modules/lodash/_equalByTag.js", "../node_modules/lodash/_arrayPush.js", "../node_modules/lodash/isArray.js", "../node_modules/lodash/_baseGetAllKeys.js", "../node_modules/lodash/_arrayFilter.js", "../node_modules/lodash/stubArray.js", "../node_modules/lodash/_getSymbols.js", "../node_modules/lodash/_baseTimes.js", "../node_modules/lodash/isObjectLike.js", "../node_modules/lodash/_baseIsArguments.js", "../node_modules/lodash/isArguments.js", "../node_modules/lodash/stubFalse.js", "../node_modules/lodash/isBuffer.js", "../node_modules/lodash/_isIndex.js", "../node_modules/lodash/isLength.js", "../node_modules/lodash/_baseIsTypedArray.js", "../node_modules/lodash/_baseUnary.js", "../node_modules/lodash/_nodeUtil.js", "../node_modules/lodash/isTypedArray.js", "../node_modules/lodash/_arrayLikeKeys.js", "../node_modules/lodash/_isPrototype.js", "../node_modules/lodash/_overArg.js", "../node_modules/lodash/_nativeKeys.js", "../node_modules/lodash/_baseKeys.js", "../node_modules/lodash/isArrayLike.js", "../node_modules/lodash/keys.js", "../node_modules/lodash/_getAllKeys.js", "../node_modules/lodash/_equalObjects.js", "../node_modules/lodash/_DataView.js", "../node_modules/lodash/_Promise.js", "../node_modules/lodash/_Set.js", "../node_modules/lodash/_WeakMap.js", "../node_modules/lodash/_getTag.js", "../node_modules/lodash/_baseIsEqualDeep.js", "../node_modules/lodash/_baseIsEqual.js", "../node_modules/lodash/_baseIsMatch.js", "../node_modules/lodash/_isStrictComparable.js", "../node_modules/lodash/_getMatchData.js", "../node_modules/lodash/_matchesStrictComparable.js", "../node_modules/lodash/_baseMatches.js", "../node_modules/lodash/isSymbol.js", "../node_modules/lodash/_isKey.js", "../node_modules/lodash/memoize.js", "../node_modules/lodash/_memoizeCapped.js", "../node_modules/lodash/_stringToPath.js", "../node_modules/lodash/_arrayMap.js", "../node_modules/lodash/_baseToString.js", "../node_modules/lodash/toString.js", "../node_modules/lodash/_castPath.js", "../node_modules/lodash/_toKey.js", "../node_modules/lodash/_baseGet.js", "../node_modules/lodash/get.js", "../node_modules/lodash/_baseHasIn.js", "../node_modules/lodash/_hasPath.js", "../node_modules/lodash/hasIn.js", "../node_modules/lodash/_baseMatchesProperty.js", "../node_modules/lodash/identity.js", "../node_modules/lodash/_baseProperty.js", "../node_modules/lodash/_basePropertyDeep.js", "../node_modules/lodash/property.js", "../node_modules/lodash/_baseIteratee.js", "../node_modules/lodash/_baseFindIndex.js", "../node_modules/lodash/_baseIsNaN.js", "../node_modules/lodash/_strictIndexOf.js", "../node_modules/lodash/_baseIndexOf.js", "../node_modules/lodash/_arrayIncludes.js", "../node_modules/lodash/_arrayIncludesWith.js", "../node_modules/lodash/noop.js", "../node_modules/lodash/_createSet.js", "../node_modules/lodash/_baseUniq.js", "../node_modules/lodash/uniqBy.js", "../src/menu-bar.tsx", "../src/history.ts", "../src/utils.ts", "../node_modules/colorjs.io/src/multiply-matrices.js", "../node_modules/colorjs.io/src/util.js", "../node_modules/colorjs.io/src/hooks.js", "../node_modules/colorjs.io/src/defaults.js", "../node_modules/colorjs.io/src/adapt.js", "../node_modules/colorjs.io/src/parse.js", "../node_modules/colorjs.io/src/getColor.js", "../node_modules/colorjs.io/src/space.js", "../node_modules/colorjs.io/src/spaces/xyz-d65.js", "../node_modules/colorjs.io/src/rgbspace.js", "../node_modules/colorjs.io/src/getAll.js", "../node_modules/colorjs.io/src/get.js", "../node_modules/colorjs.io/src/setAll.js", "../node_modules/colorjs.io/src/set.js", "../node_modules/colorjs.io/src/spaces/xyz-d50.js", "../node_modules/colorjs.io/src/spaces/lab.js", "../node_modules/colorjs.io/src/angles.js", "../node_modules/colorjs.io/src/spaces/lch.js", "../node_modules/colorjs.io/src/deltaE/deltaE2000.js", "../node_modules/colorjs.io/src/spaces/oklab.js", "../node_modules/colorjs.io/src/deltaE/deltaEOK.js", "../node_modules/colorjs.io/src/inGamut.js", "../node_modules/colorjs.io/src/clone.js", "../node_modules/colorjs.io/src/distance.js", "../node_modules/colorjs.io/src/deltaE/deltaE76.js", "../node_modules/colorjs.io/src/deltaE/deltaECMC.js", "../node_modules/colorjs.io/src/spaces/xyz-abs-d65.js", "../node_modules/colorjs.io/src/spaces/jzazbz.js", "../node_modules/colorjs.io/src/spaces/jzczhz.js", "../node_modules/colorjs.io/src/deltaE/deltaEJz.js", "../node_modules/colorjs.io/src/spaces/ictcp.js", "../node_modules/colorjs.io/src/deltaE/deltaEITP.js", "../node_modules/colorjs.io/src/spaces/cam16.js", "../node_modules/colorjs.io/src/spaces/hct.js", "../node_modules/colorjs.io/src/deltaE/deltaEHCT.js", "../node_modules/colorjs.io/src/deltaE/index.js", "../node_modules/colorjs.io/src/toGamut.js", "../node_modules/colorjs.io/src/to.js", "../node_modules/colorjs.io/src/serialize.js", "../node_modules/colorjs.io/src/spaces/rec2020-linear.js", "../node_modules/colorjs.io/src/spaces/rec2020.js", "../node_modules/colorjs.io/src/spaces/p3-linear.js", "../node_modules/colorjs.io/src/spaces/srgb-linear.js", "../node_modules/colorjs.io/src/keywords.js", "../node_modules/colorjs.io/src/spaces/srgb.js", "../node_modules/colorjs.io/src/spaces/p3.js", "../node_modules/colorjs.io/src/display.js", "../node_modules/colorjs.io/src/equals.js", "../node_modules/colorjs.io/src/luminance.js", "../node_modules/colorjs.io/src/contrast/WCAG21.js", "../node_modules/colorjs.io/src/contrast/APCA.js", "../node_modules/colorjs.io/src/contrast/Michelson.js", "../node_modules/colorjs.io/src/contrast/Weber.js", "../node_modules/colorjs.io/src/contrast/Lstar.js", "../node_modules/colorjs.io/src/spaces/lab-d65.js", "../node_modules/colorjs.io/src/contrast/deltaPhi.js", "../node_modules/colorjs.io/src/contrast.js", "../node_modules/colorjs.io/src/chromaticity.js", "../node_modules/colorjs.io/src/deltaE.js", "../node_modules/colorjs.io/src/variations.js", "../node_modules/colorjs.io/src/interpolation.js", "../node_modules/colorjs.io/src/spaces/hsl.js", "../node_modules/colorjs.io/src/spaces/hsv.js", "../node_modules/colorjs.io/src/spaces/hwb.js", "../node_modules/colorjs.io/src/spaces/a98rgb-linear.js", "../node_modules/colorjs.io/src/spaces/a98rgb.js", "../node_modules/colorjs.io/src/spaces/prophoto-linear.js", "../node_modules/colorjs.io/src/spaces/prophoto.js", "../node_modules/colorjs.io/src/spaces/oklch.js", "../node_modules/colorjs.io/src/spaces/luv.js", "../node_modules/colorjs.io/src/spaces/lchuv.js", "../node_modules/colorjs.io/src/spaces/hsluv.js", "../node_modules/colorjs.io/src/spaces/hpluv.js", "../node_modules/colorjs.io/src/spaces/rec2100-pq.js", "../node_modules/colorjs.io/src/spaces/rec2100-hlg.js", "../node_modules/colorjs.io/src/CATs.js", "../node_modules/colorjs.io/src/spaces/acescg.js", "../node_modules/colorjs.io/src/spaces/acescc.js", "../node_modules/colorjs.io/src/color.js", "../node_modules/colorjs.io/src/spaces/index.js", "../node_modules/colorjs.io/src/space-accessors.js", "../node_modules/colorjs.io/src/index.js"], + "sourcesContent": ["var has = Object.prototype.hasOwnProperty;\n\nfunction dequal(foo, bar) {\n\tvar ctor, len;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n\nexports.dequal = dequal;", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useDeepMemo = void 0;\nconst react_1 = require(\"react\");\nconst lite_1 = require(\"dequal/lite\");\n/**\n * @param value the value to be memoized (usually a dependency list)\n * @returns a memoized version of the value as long as it remains deeply equal\n */\nfunction useDeepMemo(value) {\n const ref = (0, react_1.useRef)(value);\n const signalRef = (0, react_1.useRef)(0);\n if (!(0, lite_1.dequal)(value, ref.current)) {\n ref.current = value;\n signalRef.current += 1;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return (0, react_1.useMemo)(() => ref.current, [signalRef.current]);\n}\nexports.useDeepMemo = useDeepMemo;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLatest = void 0;\nconst react_1 = require(\"react\");\n/**\n * Returns the latest state.\n *\n * This is mostly useful to get access to the latest value of some props or state inside an asynchronous callback, instead of that value at the time the callback was created from.\n */\nfunction useLatest(value) {\n const ref = (0, react_1.useRef)(value);\n ref.current = value;\n return ref;\n}\nexports.useLatest = useLatest;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.showFailureToast = void 0;\nconst fs = __importStar(require(\"fs\"));\nconst path = __importStar(require(\"path\"));\nconst api_1 = require(\"@raycast/api\");\n/**\n * Shows a failure Toast for a given Error.\n *\n * @example\n * ```typescript\n * import { showHUD } from \"@raycast/api\";\n * import { runAppleScript, showFailureToast } from \"@raycast/utils\";\n *\n * export default async function () {\n * try {\n * const res = await runAppleScript(\n * `\n * on run argv\n * return \"hello, \" & item 1 of argv & \".\"\n * end run\n * `,\n * [\"world\"]\n * );\n * await showHUD(res);\n * } catch (error) {\n * showFailureToast(error, { title: \"Could not run AppleScript\" });\n * }\n * }\n * ```\n */\nfunction showFailureToast(error, options) {\n const message = error instanceof Error ? error.message : String(error);\n return (0, api_1.showToast)({\n style: api_1.Toast.Style.Failure,\n title: options?.title ?? \"Something went wrong\",\n message: options?.message ?? message,\n primaryAction: options?.primaryAction ?? handleErrorToastAction(error),\n secondaryAction: options?.primaryAction ? handleErrorToastAction(error) : undefined,\n });\n}\nexports.showFailureToast = showFailureToast;\nconst handleErrorToastAction = (error) => {\n let privateExtension = true;\n let title = \"[Extension Name]...\";\n let extensionURL = \"\";\n try {\n const packageJSON = JSON.parse(fs.readFileSync(path.join(api_1.environment.assetsPath, \"..\", \"package.json\"), \"utf8\"));\n title = `[${packageJSON.title}]...`;\n extensionURL = `https://raycast.com/${packageJSON.owner || packageJSON.author}/${packageJSON.name}`;\n if (!packageJSON.owner || packageJSON.access === \"public\") {\n privateExtension = false;\n }\n }\n catch (err) {\n // no-op\n }\n // if it's a private extension, we can't construct the URL to report the error\n // so we fallback to copying the error to the clipboard\n const fallback = api_1.environment.isDevelopment || privateExtension;\n const stack = error instanceof Error ? error?.stack || error?.message || \"\" : String(error);\n return {\n title: fallback ? \"Copy Logs\" : \"Report Error\",\n onAction(toast) {\n toast.hide();\n if (fallback) {\n api_1.Clipboard.copy(stack);\n }\n else {\n (0, api_1.open)(`https://github.com/raycast/extensions/issues/new?&labels=extension%2Cbug&template=extension_bug_report.yml&title=${encodeURIComponent(title)}&extension-url=${encodeURI(extensionURL)}&description=${encodeURIComponent(`#### Error:\n\\`\\`\\`\n${stack}\n\\`\\`\\`\n`)}`);\n }\n },\n };\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePromise = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst useDeepMemo_1 = require(\"./useDeepMemo\");\nconst useLatest_1 = require(\"./useLatest\");\nconst showFailureToast_1 = require(\"./showFailureToast\");\nfunction usePromise(fn, args, options) {\n const lastCallId = (0, react_1.useRef)(0);\n const [state, set] = (0, react_1.useState)({ isLoading: true });\n const fnRef = (0, useLatest_1.useLatest)(fn);\n const latestAbortable = (0, useLatest_1.useLatest)(options?.abortable);\n const latestArgs = (0, useLatest_1.useLatest)(args || []);\n const latestOnError = (0, useLatest_1.useLatest)(options?.onError);\n const latestOnData = (0, useLatest_1.useLatest)(options?.onData);\n const latestOnWillExecute = (0, useLatest_1.useLatest)(options?.onWillExecute);\n const latestFailureToast = (0, useLatest_1.useLatest)(options?.failureToastOptions);\n const latestValue = (0, useLatest_1.useLatest)(state.data);\n const latestCallback = (0, react_1.useRef)();\n const paginationArgsRef = (0, react_1.useRef)({ page: 0 });\n const usePaginationRef = (0, react_1.useRef)(false);\n const hasMoreRef = (0, react_1.useRef)(true);\n const pageSizeRef = (0, react_1.useRef)(50);\n const callback = (0, react_1.useCallback)((...args) => {\n const callId = ++lastCallId.current;\n if (latestAbortable.current) {\n latestAbortable.current.current?.abort();\n latestAbortable.current.current = new AbortController();\n }\n latestOnWillExecute.current?.(args);\n set((prevState) => ({ ...prevState, isLoading: true }));\n const promiseOrPaginatedPromise = bindPromiseIfNeeded(fnRef.current)(...args);\n function handleError(error) {\n if (error.name == \"AbortError\") {\n return error;\n }\n if (callId === lastCallId.current) {\n // handle errors\n if (latestOnError.current) {\n latestOnError.current(error);\n }\n else {\n if (api_1.environment.launchType !== api_1.LaunchType.Background) {\n (0, showFailureToast_1.showFailureToast)(error, {\n title: \"Failed to fetch latest data\",\n primaryAction: {\n title: \"Retry\",\n onAction(toast) {\n toast.hide();\n latestCallback.current?.(...(latestArgs.current || []));\n },\n },\n ...latestFailureToast.current,\n });\n }\n }\n set({ error, isLoading: false });\n }\n return error;\n }\n if (typeof promiseOrPaginatedPromise === \"function\") {\n usePaginationRef.current = true;\n return promiseOrPaginatedPromise(paginationArgsRef.current).then(\n // @ts-expect-error too complicated for TS\n ({ data, hasMore, cursor }) => {\n if (callId === lastCallId.current) {\n if (paginationArgsRef.current) {\n paginationArgsRef.current.cursor = cursor;\n paginationArgsRef.current.lastItem = data?.[data.length - 1];\n }\n if (latestOnData.current) {\n latestOnData.current(data, paginationArgsRef.current);\n }\n if (hasMore) {\n pageSizeRef.current = data.length;\n }\n hasMoreRef.current = hasMore;\n set((previousData) => {\n if (paginationArgsRef.current.page === 0) {\n return { data, isLoading: false };\n }\n // @ts-expect-error we know it's an array here\n return { data: (previousData.data || [])?.concat(data), isLoading: false };\n });\n }\n return data;\n }, (error) => {\n hasMoreRef.current = false;\n return handleError(error);\n });\n }\n usePaginationRef.current = false;\n return promiseOrPaginatedPromise.then((data) => {\n if (callId === lastCallId.current) {\n if (latestOnData.current) {\n latestOnData.current(data);\n }\n set({ data, isLoading: false });\n }\n return data;\n }, handleError);\n }, [\n latestAbortable,\n latestOnData,\n latestOnError,\n latestArgs,\n fnRef,\n set,\n latestCallback,\n latestOnWillExecute,\n paginationArgsRef,\n latestFailureToast,\n ]);\n latestCallback.current = callback;\n const revalidate = (0, react_1.useCallback)(() => {\n // reset the pagination\n paginationArgsRef.current = { page: 0 };\n const args = (latestArgs.current || []);\n return callback(...args);\n }, [callback, latestArgs]);\n const mutate = (0, react_1.useCallback)(async (asyncUpdate, options) => {\n let dataBeforeOptimisticUpdate;\n try {\n if (options?.optimisticUpdate) {\n if (typeof options?.rollbackOnError !== \"function\" && options?.rollbackOnError !== false) {\n // keep track of the data before the optimistic update,\n // but only if we need it (eg. only when we want to automatically rollback after)\n dataBeforeOptimisticUpdate = structuredClone(latestValue.current?.value);\n }\n const update = options.optimisticUpdate;\n set((prevState) => ({ ...prevState, data: update(prevState.data) }));\n }\n return await asyncUpdate;\n }\n catch (err) {\n if (typeof options?.rollbackOnError === \"function\") {\n const update = options.rollbackOnError;\n set((prevState) => ({ ...prevState, data: update(prevState.data) }));\n }\n else if (options?.optimisticUpdate && options?.rollbackOnError !== false) {\n set((prevState) => ({ ...prevState, data: dataBeforeOptimisticUpdate }));\n }\n throw err;\n }\n finally {\n if (options?.shouldRevalidateAfter !== false) {\n if (api_1.environment.launchType === api_1.LaunchType.Background || api_1.environment.commandMode === \"menu-bar\") {\n // when in the background or in a menu bar, we are going to await the revalidation\n // to make sure we get the right data at the end of the mutation\n await revalidate();\n }\n else {\n revalidate();\n }\n }\n }\n }, [revalidate, latestValue, set]);\n const onLoadMore = (0, react_1.useCallback)(() => {\n paginationArgsRef.current.page += 1;\n const args = (latestArgs.current || []);\n callback(...args);\n }, [paginationArgsRef, latestArgs, callback]);\n // revalidate when the args change\n (0, react_1.useEffect)(() => {\n // reset the pagination\n paginationArgsRef.current = { page: 0 };\n if (options?.execute !== false) {\n callback(...(args || []));\n }\n else {\n // cancel the previous request if we don't want to execute anymore\n if (latestAbortable.current) {\n latestAbortable.current.current?.abort();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [(0, useDeepMemo_1.useDeepMemo)([args, options?.execute, callback]), latestAbortable, paginationArgsRef]);\n // abort request when unmounting\n (0, react_1.useEffect)(() => {\n return () => {\n if (latestAbortable.current) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n latestAbortable.current.current?.abort();\n }\n };\n }, [latestAbortable]);\n // we only want to show the loading indicator if the promise is executing\n const isLoading = options?.execute !== false ? state.isLoading : false;\n // @ts-expect-error loading is has some fixed value in the enum which\n const stateWithLoadingFixed = { ...state, isLoading };\n const pagination = usePaginationRef.current\n ? {\n pageSize: pageSizeRef.current,\n hasMore: hasMoreRef.current,\n onLoadMore,\n }\n : undefined;\n return { ...stateWithLoadingFixed, revalidate, mutate, pagination };\n}\nexports.usePromise = usePromise;\n/** Bind the fn if it's a Promise method */\nfunction bindPromiseIfNeeded(fn) {\n if (fn === Promise.all) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.race) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.resolve) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.reject) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n return fn;\n}\n", "'use strict';\n\nvar crypto = require('crypto');\n\n/**\n * Exported function\n *\n * Options:\n *\n * - `algorithm` hash algo to be used by this instance: *'sha1', 'md5'\n * - `excludeValues` {true|*false} hash object keys, values ignored\n * - `encoding` hash encoding, supports 'buffer', '*hex', 'binary', 'base64'\n * - `ignoreUnknown` {true|*false} ignore unknown object types\n * - `replacer` optional function that replaces values before hashing\n * - `respectFunctionProperties` {*true|false} consider function properties when hashing\n * - `respectFunctionNames` {*true|false} consider 'name' property of functions for hashing\n * - `respectType` {*true|false} Respect special properties (prototype, constructor)\n * when hashing to distinguish between types\n * - `unorderedArrays` {true|*false} Sort all arrays before hashing\n * - `unorderedSets` {*true|false} Sort `Set` and `Map` instances before hashing\n * * = default\n *\n * @param {object} object value to hash\n * @param {object} options hashing options\n * @return {string} hash value\n * @api public\n */\nexports = module.exports = objectHash;\n\nfunction objectHash(object, options){\n options = applyDefaults(object, options);\n\n return hash(object, options);\n}\n\n/**\n * Exported sugar methods\n *\n * @param {object} object value to hash\n * @return {string} hash value\n * @api public\n */\nexports.sha1 = function(object){\n return objectHash(object);\n};\nexports.keys = function(object){\n return objectHash(object, {excludeValues: true, algorithm: 'sha1', encoding: 'hex'});\n};\nexports.MD5 = function(object){\n return objectHash(object, {algorithm: 'md5', encoding: 'hex'});\n};\nexports.keysMD5 = function(object){\n return objectHash(object, {algorithm: 'md5', encoding: 'hex', excludeValues: true});\n};\n\n// Internals\nvar hashes = crypto.getHashes ? crypto.getHashes().slice() : ['sha1', 'md5'];\nhashes.push('passthrough');\nvar encodings = ['buffer', 'hex', 'binary', 'base64'];\n\nfunction applyDefaults(object, sourceOptions){\n sourceOptions = sourceOptions || {};\n\n // create a copy rather than mutating\n var options = {};\n options.algorithm = sourceOptions.algorithm || 'sha1';\n options.encoding = sourceOptions.encoding || 'hex';\n options.excludeValues = sourceOptions.excludeValues ? true : false;\n options.algorithm = options.algorithm.toLowerCase();\n options.encoding = options.encoding.toLowerCase();\n options.ignoreUnknown = sourceOptions.ignoreUnknown !== true ? false : true; // default to false\n options.respectType = sourceOptions.respectType === false ? false : true; // default to true\n options.respectFunctionNames = sourceOptions.respectFunctionNames === false ? false : true;\n options.respectFunctionProperties = sourceOptions.respectFunctionProperties === false ? false : true;\n options.unorderedArrays = sourceOptions.unorderedArrays !== true ? false : true; // default to false\n options.unorderedSets = sourceOptions.unorderedSets === false ? false : true; // default to false\n options.unorderedObjects = sourceOptions.unorderedObjects === false ? false : true; // default to true\n options.replacer = sourceOptions.replacer || undefined;\n options.excludeKeys = sourceOptions.excludeKeys || undefined;\n\n if(typeof object === 'undefined') {\n throw new Error('Object argument required.');\n }\n\n // if there is a case-insensitive match in the hashes list, accept it\n // (i.e. SHA256 for sha256)\n for (var i = 0; i < hashes.length; ++i) {\n if (hashes[i].toLowerCase() === options.algorithm.toLowerCase()) {\n options.algorithm = hashes[i];\n }\n }\n\n if(hashes.indexOf(options.algorithm) === -1){\n throw new Error('Algorithm \"' + options.algorithm + '\" not supported. ' +\n 'supported values: ' + hashes.join(', '));\n }\n\n if(encodings.indexOf(options.encoding) === -1 &&\n options.algorithm !== 'passthrough'){\n throw new Error('Encoding \"' + options.encoding + '\" not supported. ' +\n 'supported values: ' + encodings.join(', '));\n }\n\n return options;\n}\n\n/** Check if the given function is a native function */\nfunction isNativeFunction(f) {\n if ((typeof f) !== 'function') {\n return false;\n }\n var exp = /^function\\s+\\w*\\s*\\(\\s*\\)\\s*{\\s+\\[native code\\]\\s+}$/i;\n return exp.exec(Function.prototype.toString.call(f)) != null;\n}\n\nfunction hash(object, options) {\n var hashingStream;\n\n if (options.algorithm !== 'passthrough') {\n hashingStream = crypto.createHash(options.algorithm);\n } else {\n hashingStream = new PassThrough();\n }\n\n if (typeof hashingStream.write === 'undefined') {\n hashingStream.write = hashingStream.update;\n hashingStream.end = hashingStream.update;\n }\n\n var hasher = typeHasher(options, hashingStream);\n hasher.dispatch(object);\n if (!hashingStream.update) {\n hashingStream.end('');\n }\n\n if (hashingStream.digest) {\n return hashingStream.digest(options.encoding === 'buffer' ? undefined : options.encoding);\n }\n\n var buf = hashingStream.read();\n if (options.encoding === 'buffer') {\n return buf;\n }\n\n return buf.toString(options.encoding);\n}\n\n/**\n * Expose streaming API\n *\n * @param {object} object Value to serialize\n * @param {object} options Options, as for hash()\n * @param {object} stream A stream to write the serializiation to\n * @api public\n */\nexports.writeToStream = function(object, options, stream) {\n if (typeof stream === 'undefined') {\n stream = options;\n options = {};\n }\n\n options = applyDefaults(object, options);\n\n return typeHasher(options, stream).dispatch(object);\n};\n\nfunction typeHasher(options, writeTo, context){\n context = context || [];\n var write = function(str) {\n if (writeTo.update) {\n return writeTo.update(str, 'utf8');\n } else {\n return writeTo.write(str, 'utf8');\n }\n };\n\n return {\n dispatch: function(value){\n if (options.replacer) {\n value = options.replacer(value);\n }\n\n var type = typeof value;\n if (value === null) {\n type = 'null';\n }\n\n //console.log(\"[DEBUG] Dispatch: \", value, \"->\", type, \" -> \", \"_\" + type);\n\n return this['_' + type](value);\n },\n _object: function(object) {\n var pattern = (/\\[object (.*)\\]/i);\n var objString = Object.prototype.toString.call(object);\n var objType = pattern.exec(objString);\n if (!objType) { // object type did not match [object ...]\n objType = 'unknown:[' + objString + ']';\n } else {\n objType = objType[1]; // take only the class name\n }\n\n objType = objType.toLowerCase();\n\n var objectNumber = null;\n\n if ((objectNumber = context.indexOf(object)) >= 0) {\n return this.dispatch('[CIRCULAR:' + objectNumber + ']');\n } else {\n context.push(object);\n }\n\n if (typeof Buffer !== 'undefined' && Buffer.isBuffer && Buffer.isBuffer(object)) {\n write('buffer:');\n return write(object);\n }\n\n if(objType !== 'object' && objType !== 'function' && objType !== 'asyncfunction') {\n if(this['_' + objType]) {\n this['_' + objType](object);\n } else if (options.ignoreUnknown) {\n return write('[' + objType + ']');\n } else {\n throw new Error('Unknown object type \"' + objType + '\"');\n }\n }else{\n var keys = Object.keys(object);\n if (options.unorderedObjects) {\n keys = keys.sort();\n }\n // Make sure to incorporate special properties, so\n // Types with different prototypes will produce\n // a different hash and objects derived from\n // different functions (`new Foo`, `new Bar`) will\n // produce different hashes.\n // We never do this for native functions since some\n // seem to break because of that.\n if (options.respectType !== false && !isNativeFunction(object)) {\n keys.splice(0, 0, 'prototype', '__proto__', 'constructor');\n }\n\n if (options.excludeKeys) {\n keys = keys.filter(function(key) { return !options.excludeKeys(key); });\n }\n\n write('object:' + keys.length + ':');\n var self = this;\n return keys.forEach(function(key){\n self.dispatch(key);\n write(':');\n if(!options.excludeValues) {\n self.dispatch(object[key]);\n }\n write(',');\n });\n }\n },\n _array: function(arr, unordered){\n unordered = typeof unordered !== 'undefined' ? unordered :\n options.unorderedArrays !== false; // default to options.unorderedArrays\n\n var self = this;\n write('array:' + arr.length + ':');\n if (!unordered || arr.length <= 1) {\n return arr.forEach(function(entry) {\n return self.dispatch(entry);\n });\n }\n\n // the unordered case is a little more complicated:\n // since there is no canonical ordering on objects,\n // i.e. {a:1} < {a:2} and {a:1} > {a:2} are both false,\n // we first serialize each entry using a PassThrough stream\n // before sorting.\n // also: we can\u2019t use the same context array for all entries\n // since the order of hashing should *not* matter. instead,\n // we keep track of the additions to a copy of the context array\n // and add all of them to the global context array when we\u2019re done\n var contextAdditions = [];\n var entries = arr.map(function(entry) {\n var strm = new PassThrough();\n var localContext = context.slice(); // make copy\n var hasher = typeHasher(options, strm, localContext);\n hasher.dispatch(entry);\n // take only what was added to localContext and append it to contextAdditions\n contextAdditions = contextAdditions.concat(localContext.slice(context.length));\n return strm.read().toString();\n });\n context = context.concat(contextAdditions);\n entries.sort();\n return this._array(entries, false);\n },\n _date: function(date){\n return write('date:' + date.toJSON());\n },\n _symbol: function(sym){\n return write('symbol:' + sym.toString());\n },\n _error: function(err){\n return write('error:' + err.toString());\n },\n _boolean: function(bool){\n return write('bool:' + bool.toString());\n },\n _string: function(string){\n write('string:' + string.length + ':');\n write(string.toString());\n },\n _function: function(fn){\n write('fn:');\n if (isNativeFunction(fn)) {\n this.dispatch('[native]');\n } else {\n this.dispatch(fn.toString());\n }\n\n if (options.respectFunctionNames !== false) {\n // Make sure we can still distinguish native functions\n // by their name, otherwise String and Function will\n // have the same hash\n this.dispatch(\"function-name:\" + String(fn.name));\n }\n\n if (options.respectFunctionProperties) {\n this._object(fn);\n }\n },\n _number: function(number){\n return write('number:' + number.toString());\n },\n _xml: function(xml){\n return write('xml:' + xml.toString());\n },\n _null: function() {\n return write('Null');\n },\n _undefined: function() {\n return write('Undefined');\n },\n _regexp: function(regex){\n return write('regex:' + regex.toString());\n },\n _uint8array: function(arr){\n write('uint8array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint8clampedarray: function(arr){\n write('uint8clampedarray:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int8array: function(arr){\n write('int8array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint16array: function(arr){\n write('uint16array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int16array: function(arr){\n write('int16array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint32array: function(arr){\n write('uint32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int32array: function(arr){\n write('int32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _float32array: function(arr){\n write('float32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _float64array: function(arr){\n write('float64array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _arraybuffer: function(arr){\n write('arraybuffer:');\n return this.dispatch(new Uint8Array(arr));\n },\n _url: function(url) {\n return write('url:' + url.toString(), 'utf8');\n },\n _map: function(map) {\n write('map:');\n var arr = Array.from(map);\n return this._array(arr, options.unorderedSets !== false);\n },\n _set: function(set) {\n write('set:');\n var arr = Array.from(set);\n return this._array(arr, options.unorderedSets !== false);\n },\n _file: function(file) {\n write('file:');\n return this.dispatch([file.name, file.size, file.type, file.lastModfied]);\n },\n _blob: function() {\n if (options.ignoreUnknown) {\n return write('[blob]');\n }\n\n throw Error('Hashing Blob objects is currently not supported\\n' +\n '(see https://github.com/puleos/object-hash/issues/26)\\n' +\n 'Use \"options.replacer\" or \"options.ignoreUnknown\"\\n');\n },\n _domwindow: function() { return write('domwindow'); },\n _bigint: function(number){\n return write('bigint:' + number.toString());\n },\n /* Node.js standard native objects */\n _process: function() { return write('process'); },\n _timer: function() { return write('timer'); },\n _pipe: function() { return write('pipe'); },\n _tcp: function() { return write('tcp'); },\n _udp: function() { return write('udp'); },\n _tty: function() { return write('tty'); },\n _statwatcher: function() { return write('statwatcher'); },\n _securecontext: function() { return write('securecontext'); },\n _connection: function() { return write('connection'); },\n _zlib: function() { return write('zlib'); },\n _context: function() { return write('context'); },\n _nodescript: function() { return write('nodescript'); },\n _httpparser: function() { return write('httpparser'); },\n _dataview: function() { return write('dataview'); },\n _signal: function() { return write('signal'); },\n _fsevent: function() { return write('fsevent'); },\n _tlswrap: function() { return write('tlswrap'); },\n };\n}\n\n// Mini-implementation of stream.PassThrough\n// We are far from having need for the full implementation, and we can\n// make assumptions like \"many writes, then only one final read\"\n// and we can ignore encoding specifics\nfunction PassThrough() {\n return {\n buf: '',\n\n write: function(b) {\n this.buf += b;\n },\n\n end: function(b) {\n this.buf += b;\n },\n\n read: function() {\n return this.buf;\n }\n };\n}\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hash = exports.reviver = exports.replacer = void 0;\nconst object_hash_1 = __importDefault(require(\"object-hash\"));\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction replacer(key, _value) {\n const value = this[key];\n if (value instanceof Date) {\n return `__raycast_cached_date__${value.toString()}`;\n }\n if (Buffer.isBuffer(value)) {\n return `__raycast_cached_buffer__${value.toString(\"base64\")}`;\n }\n return _value;\n}\nexports.replacer = replacer;\nfunction reviver(_key, value) {\n if (typeof value === \"string\" && value.startsWith(\"__raycast_cached_date__\")) {\n return new Date(value.replace(\"__raycast_cached_date__\", \"\"));\n }\n if (typeof value === \"string\" && value.startsWith(\"__raycast_cached_buffer__\")) {\n return Buffer.from(value.replace(\"__raycast_cached_buffer__\", \"\"), \"base64\");\n }\n return value;\n}\nexports.reviver = reviver;\nfunction hash(object, options) {\n return (0, object_hash_1.default)(object, {\n replacer: (value) => {\n if (value instanceof URLSearchParams) {\n return value.toString();\n }\n return value;\n },\n ...options,\n });\n}\nexports.hash = hash;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useCachedState = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst useLatest_1 = require(\"./useLatest\");\nconst helpers_1 = require(\"./helpers\");\nconst rootCache = Symbol(\"cache without namespace\");\nconst cacheMap = new Map();\nfunction useCachedState(key, initialState, config) {\n const cacheKey = config?.cacheNamespace || rootCache;\n const cache = cacheMap.get(cacheKey) || cacheMap.set(cacheKey, new api_1.Cache({ namespace: config?.cacheNamespace })).get(cacheKey);\n if (!cache) {\n throw new Error(\"Missing cache\");\n }\n const keyRef = (0, useLatest_1.useLatest)(key);\n const initialValueRef = (0, useLatest_1.useLatest)(initialState);\n const cachedState = (0, react_1.useSyncExternalStore)(cache.subscribe, () => {\n try {\n return cache.get(keyRef.current);\n }\n catch (error) {\n console.error(\"Could not get Cache data:\", error);\n return undefined;\n }\n });\n const state = (0, react_1.useMemo)(() => {\n if (typeof cachedState !== \"undefined\") {\n if (cachedState === \"undefined\") {\n return undefined;\n }\n try {\n return JSON.parse(cachedState, helpers_1.reviver);\n }\n catch (err) {\n // the data got corrupted somehow\n console.warn(\"The cached data is corrupted\", err);\n return initialValueRef.current;\n }\n }\n else {\n return initialValueRef.current;\n }\n }, [cachedState, initialValueRef]);\n const stateRef = (0, useLatest_1.useLatest)(state);\n const setStateAndCache = (0, react_1.useCallback)((updater) => {\n // @ts-expect-error TS struggles to infer the types as T could potentially be a function\n const newValue = typeof updater === \"function\" ? updater(stateRef.current) : updater;\n if (typeof newValue === \"undefined\") {\n cache.set(keyRef.current, \"undefined\");\n }\n else {\n const stringifiedValue = JSON.stringify(newValue, helpers_1.replacer);\n cache.set(keyRef.current, stringifiedValue);\n }\n return newValue;\n }, [cache, keyRef, stateRef]);\n return [state, setStateAndCache];\n}\nexports.useCachedState = useCachedState;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useCachedPromise = void 0;\nconst react_1 = require(\"react\");\nconst useCachedState_1 = require(\"./useCachedState\");\nconst usePromise_1 = require(\"./usePromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst helpers_1 = require(\"./helpers\");\n// Symbol to differentiate an empty cache from `undefined`\nconst emptyCache = Symbol();\nfunction useCachedPromise(fn, args, options) {\n /**\n * The hook generates a cache key from the promise it receives & its arguments.\n * Sometimes that's not enough to guarantee uniqueness, so hooks that build on top of `useCachedPromise` can\n * use an `internal_cacheKeySuffix` to help it.\n *\n * @remark For internal use only.\n */\n const { initialData, keepPreviousData, internal_cacheKeySuffix, ...usePromiseOptions } = options || {};\n const lastUpdateFrom = (0, react_1.useRef)();\n const [cachedData, mutateCache] = (0, useCachedState_1.useCachedState)((0, helpers_1.hash)(args || []) + internal_cacheKeySuffix ?? \"\", emptyCache, {\n cacheNamespace: (0, helpers_1.hash)(fn),\n });\n // Use a ref to store previous returned data. Use the inital data as its inital value from the cache.\n const laggyDataRef = (0, react_1.useRef)(cachedData !== emptyCache ? cachedData : initialData);\n const paginationArgsRef = (0, react_1.useRef)(undefined);\n const { mutate: _mutate, revalidate, ...state\n // @ts-expect-error fn has the same signature in both usePromise and useCachedPromise\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } = (0, usePromise_1.usePromise)(fn, args || [], {\n ...usePromiseOptions,\n onData(data, pagination) {\n paginationArgsRef.current = pagination;\n if (usePromiseOptions.onData) {\n usePromiseOptions.onData(data, pagination);\n }\n if (pagination && pagination.page > 0) {\n // don't cache beyond the first page\n return;\n }\n lastUpdateFrom.current = \"promise\";\n laggyDataRef.current = data;\n mutateCache(data);\n },\n });\n let returnedData;\n const pagination = state.pagination;\n // when paginating, only the first page gets cached, so we return the data we get from `usePromise`, because\n // it will be accumulated.\n if (paginationArgsRef.current && paginationArgsRef.current.page > 0 && state.data) {\n returnedData = state.data;\n // if the latest update if from the Promise, we keep it\n }\n else if (lastUpdateFrom.current === \"promise\") {\n returnedData = laggyDataRef.current;\n }\n else if (keepPreviousData && cachedData !== emptyCache) {\n // if we want to keep the latest data, we pick the cache but only if it's not empty\n returnedData = cachedData;\n if (pagination) {\n pagination.hasMore = true;\n pagination.pageSize = cachedData.length;\n }\n }\n else if (keepPreviousData && cachedData === emptyCache) {\n // if the cache is empty, we will return the previous data\n returnedData = laggyDataRef.current;\n // there are no special cases, so either return the cache or initial data\n }\n else if (cachedData !== emptyCache) {\n returnedData = cachedData;\n if (pagination) {\n pagination.hasMore = true;\n pagination.pageSize = cachedData.length;\n }\n }\n else {\n returnedData = initialData;\n }\n const latestData = (0, useLatest_1.useLatest)(returnedData);\n // we rewrite the mutate function to update the cache instead\n const mutate = (0, react_1.useCallback)(async (asyncUpdate, options) => {\n let dataBeforeOptimisticUpdate;\n try {\n if (options?.optimisticUpdate) {\n if (typeof options?.rollbackOnError !== \"function\" && options?.rollbackOnError !== false) {\n // keep track of the data before the optimistic update,\n // but only if we need it (eg. only when we want to automatically rollback after)\n dataBeforeOptimisticUpdate = structuredClone(latestData.current);\n }\n const data = options.optimisticUpdate(latestData.current);\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = data;\n mutateCache(data);\n }\n return await _mutate(asyncUpdate, { shouldRevalidateAfter: options?.shouldRevalidateAfter });\n }\n catch (err) {\n if (typeof options?.rollbackOnError === \"function\") {\n const data = options.rollbackOnError(latestData.current);\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = data;\n mutateCache(data);\n }\n else if (options?.optimisticUpdate && options?.rollbackOnError !== false) {\n lastUpdateFrom.current = \"cache\";\n // @ts-expect-error when undefined, it's expected\n laggyDataRef.current = dataBeforeOptimisticUpdate;\n // @ts-expect-error when undefined, it's expected\n mutateCache(dataBeforeOptimisticUpdate);\n }\n throw err;\n }\n }, [mutateCache, _mutate, latestData, laggyDataRef, lastUpdateFrom]);\n (0, react_1.useEffect)(() => {\n if (cachedData !== emptyCache) {\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = cachedData;\n }\n }, [cachedData]);\n return {\n data: returnedData,\n isLoading: state.isLoading,\n error: state.error,\n mutate: paginationArgsRef.current && paginationArgsRef.current.page > 0 ? _mutate : mutate,\n pagination,\n revalidate,\n };\n}\nexports.useCachedPromise = useCachedPromise;\n", "\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n", "\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n", "[[[0,44],\"disallowed_STD3_valid\"],[[45,46],\"valid\"],[[47,47],\"disallowed_STD3_valid\"],[[48,57],\"valid\"],[[58,64],\"disallowed_STD3_valid\"],[[65,65],\"mapped\",[97]],[[66,66],\"mapped\",[98]],[[67,67],\"mapped\",[99]],[[68,68],\"mapped\",[100]],[[69,69],\"mapped\",[101]],[[70,70],\"mapped\",[102]],[[71,71],\"mapped\",[103]],[[72,72],\"mapped\",[104]],[[73,73],\"mapped\",[105]],[[74,74],\"mapped\",[106]],[[75,75],\"mapped\",[107]],[[76,76],\"mapped\",[108]],[[77,77],\"mapped\",[109]],[[78,78],\"mapped\",[110]],[[79,79],\"mapped\",[111]],[[80,80],\"mapped\",[112]],[[81,81],\"mapped\",[113]],[[82,82],\"mapped\",[114]],[[83,83],\"mapped\",[115]],[[84,84],\"mapped\",[116]],[[85,85],\"mapped\",[117]],[[86,86],\"mapped\",[118]],[[87,87],\"mapped\",[119]],[[88,88],\"mapped\",[120]],[[89,89],\"mapped\",[121]],[[90,90],\"mapped\",[122]],[[91,96],\"disallowed_STD3_valid\"],[[97,122],\"valid\"],[[123,127],\"disallowed_STD3_valid\"],[[128,159],\"disallowed\"],[[160,160],\"disallowed_STD3_mapped\",[32]],[[161,167],\"valid\",[],\"NV8\"],[[168,168],\"disallowed_STD3_mapped\",[32,776]],[[169,169],\"valid\",[],\"NV8\"],[[170,170],\"mapped\",[97]],[[171,172],\"valid\",[],\"NV8\"],[[173,173],\"ignored\"],[[174,174],\"valid\",[],\"NV8\"],[[175,175],\"disallowed_STD3_mapped\",[32,772]],[[176,177],\"valid\",[],\"NV8\"],[[178,178],\"mapped\",[50]],[[179,179],\"mapped\",[51]],[[180,180],\"disallowed_STD3_mapped\",[32,769]],[[181,181],\"mapped\",[956]],[[182,182],\"valid\",[],\"NV8\"],[[183,183],\"valid\"],[[184,184],\"disallowed_STD3_mapped\",[32,807]],[[185,185],\"mapped\",[49]],[[186,186],\"mapped\",[111]],[[187,187],\"valid\",[],\"NV8\"],[[188,188],\"mapped\",[49,8260,52]],[[189,189],\"mapped\",[49,8260,50]],[[190,190],\"mapped\",[51,8260,52]],[[191,191],\"valid\",[],\"NV8\"],[[192,192],\"mapped\",[224]],[[193,193],\"mapped\",[225]],[[194,194],\"mapped\",[226]],[[195,195],\"mapped\",[227]],[[196,196],\"mapped\",[228]],[[197,197],\"mapped\",[229]],[[198,198],\"mapped\",[230]],[[199,199],\"mapped\",[231]],[[200,200],\"mapped\",[232]],[[201,201],\"mapped\",[233]],[[202,202],\"mapped\",[234]],[[203,203],\"mapped\",[235]],[[204,204],\"mapped\",[236]],[[205,205],\"mapped\",[237]],[[206,206],\"mapped\",[238]],[[207,207],\"mapped\",[239]],[[208,208],\"mapped\",[240]],[[209,209],\"mapped\",[241]],[[210,210],\"mapped\",[242]],[[211,211],\"mapped\",[243]],[[212,212],\"mapped\",[244]],[[213,213],\"mapped\",[245]],[[214,214],\"mapped\",[246]],[[215,215],\"valid\",[],\"NV8\"],[[216,216],\"mapped\",[248]],[[217,217],\"mapped\",[249]],[[218,218],\"mapped\",[250]],[[219,219],\"mapped\",[251]],[[220,220],\"mapped\",[252]],[[221,221],\"mapped\",[253]],[[222,222],\"mapped\",[254]],[[223,223],\"deviation\",[115,115]],[[224,246],\"valid\"],[[247,247],\"valid\",[],\"NV8\"],[[248,255],\"valid\"],[[256,256],\"mapped\",[257]],[[257,257],\"valid\"],[[258,258],\"mapped\",[259]],[[259,259],\"valid\"],[[260,260],\"mapped\",[261]],[[261,261],\"valid\"],[[262,262],\"mapped\",[263]],[[263,263],\"valid\"],[[264,264],\"mapped\",[265]],[[265,265],\"valid\"],[[266,266],\"mapped\",[267]],[[267,267],\"valid\"],[[268,268],\"mapped\",[269]],[[269,269],\"valid\"],[[270,270],\"mapped\",[271]],[[271,271],\"valid\"],[[272,272],\"mapped\",[273]],[[273,273],\"valid\"],[[274,274],\"mapped\",[275]],[[275,275],\"valid\"],[[276,276],\"mapped\",[277]],[[277,277],\"valid\"],[[278,278],\"mapped\",[279]],[[279,279],\"valid\"],[[280,280],\"mapped\",[281]],[[281,281],\"valid\"],[[282,282],\"mapped\",[283]],[[283,283],\"valid\"],[[284,284],\"mapped\",[285]],[[285,285],\"valid\"],[[286,286],\"mapped\",[287]],[[287,287],\"valid\"],[[288,288],\"mapped\",[289]],[[289,289],\"valid\"],[[290,290],\"mapped\",[291]],[[291,291],\"valid\"],[[292,292],\"mapped\",[293]],[[293,293],\"valid\"],[[294,294],\"mapped\",[295]],[[295,295],\"valid\"],[[296,296],\"mapped\",[297]],[[297,297],\"valid\"],[[298,298],\"mapped\",[299]],[[299,299],\"valid\"],[[300,300],\"mapped\",[301]],[[301,301],\"valid\"],[[302,302],\"mapped\",[303]],[[303,303],\"valid\"],[[304,304],\"mapped\",[105,775]],[[305,305],\"valid\"],[[306,307],\"mapped\",[105,106]],[[308,308],\"mapped\",[309]],[[309,309],\"valid\"],[[310,310],\"mapped\",[311]],[[311,312],\"valid\"],[[313,313],\"mapped\",[314]],[[314,314],\"valid\"],[[315,315],\"mapped\",[316]],[[316,316],\"valid\"],[[317,317],\"mapped\",[318]],[[318,318],\"valid\"],[[319,320],\"mapped\",[108,183]],[[321,321],\"mapped\",[322]],[[322,322],\"valid\"],[[323,323],\"mapped\",[324]],[[324,324],\"valid\"],[[325,325],\"mapped\",[326]],[[326,326],\"valid\"],[[327,327],\"mapped\",[328]],[[328,328],\"valid\"],[[329,329],\"mapped\",[700,110]],[[330,330],\"mapped\",[331]],[[331,331],\"valid\"],[[332,332],\"mapped\",[333]],[[333,333],\"valid\"],[[334,334],\"mapped\",[335]],[[335,335],\"valid\"],[[336,336],\"mapped\",[337]],[[337,337],\"valid\"],[[338,338],\"mapped\",[339]],[[339,339],\"valid\"],[[340,340],\"mapped\",[341]],[[341,341],\"valid\"],[[342,342],\"mapped\",[343]],[[343,343],\"valid\"],[[344,344],\"mapped\",[345]],[[345,345],\"valid\"],[[346,346],\"mapped\",[347]],[[347,347],\"valid\"],[[348,348],\"mapped\",[349]],[[349,349],\"valid\"],[[350,350],\"mapped\",[351]],[[351,351],\"valid\"],[[352,352],\"mapped\",[353]],[[353,353],\"valid\"],[[354,354],\"mapped\",[355]],[[355,355],\"valid\"],[[356,356],\"mapped\",[357]],[[357,357],\"valid\"],[[358,358],\"mapped\",[359]],[[359,359],\"valid\"],[[360,360],\"mapped\",[361]],[[361,361],\"valid\"],[[362,362],\"mapped\",[363]],[[363,363],\"valid\"],[[364,364],\"mapped\",[365]],[[365,365],\"valid\"],[[366,366],\"mapped\",[367]],[[367,367],\"valid\"],[[368,368],\"mapped\",[369]],[[369,369],\"valid\"],[[370,370],\"mapped\",[371]],[[371,371],\"valid\"],[[372,372],\"mapped\",[373]],[[373,373],\"valid\"],[[374,374],\"mapped\",[375]],[[375,375],\"valid\"],[[376,376],\"mapped\",[255]],[[377,377],\"mapped\",[378]],[[378,378],\"valid\"],[[379,379],\"mapped\",[380]],[[380,380],\"valid\"],[[381,381],\"mapped\",[382]],[[382,382],\"valid\"],[[383,383],\"mapped\",[115]],[[384,384],\"valid\"],[[385,385],\"mapped\",[595]],[[386,386],\"mapped\",[387]],[[387,387],\"valid\"],[[388,388],\"mapped\",[389]],[[389,389],\"valid\"],[[390,390],\"mapped\",[596]],[[391,391],\"mapped\",[392]],[[392,392],\"valid\"],[[393,393],\"mapped\",[598]],[[394,394],\"mapped\",[599]],[[395,395],\"mapped\",[396]],[[396,397],\"valid\"],[[398,398],\"mapped\",[477]],[[399,399],\"mapped\",[601]],[[400,400],\"mapped\",[603]],[[401,401],\"mapped\",[402]],[[402,402],\"valid\"],[[403,403],\"mapped\",[608]],[[404,404],\"mapped\",[611]],[[405,405],\"valid\"],[[406,406],\"mapped\",[617]],[[407,407],\"mapped\",[616]],[[408,408],\"mapped\",[409]],[[409,411],\"valid\"],[[412,412],\"mapped\",[623]],[[413,413],\"mapped\",[626]],[[414,414],\"valid\"],[[415,415],\"mapped\",[629]],[[416,416],\"mapped\",[417]],[[417,417],\"valid\"],[[418,418],\"mapped\",[419]],[[419,419],\"valid\"],[[420,420],\"mapped\",[421]],[[421,421],\"valid\"],[[422,422],\"mapped\",[640]],[[423,423],\"mapped\",[424]],[[424,424],\"valid\"],[[425,425],\"mapped\",[643]],[[426,427],\"valid\"],[[428,428],\"mapped\",[429]],[[429,429],\"valid\"],[[430,430],\"mapped\",[648]],[[431,431],\"mapped\",[432]],[[432,432],\"valid\"],[[433,433],\"mapped\",[650]],[[434,434],\"mapped\",[651]],[[435,435],\"mapped\",[436]],[[436,436],\"valid\"],[[437,437],\"mapped\",[438]],[[438,438],\"valid\"],[[439,439],\"mapped\",[658]],[[440,440],\"mapped\",[441]],[[441,443],\"valid\"],[[444,444],\"mapped\",[445]],[[445,451],\"valid\"],[[452,454],\"mapped\",[100,382]],[[455,457],\"mapped\",[108,106]],[[458,460],\"mapped\",[110,106]],[[461,461],\"mapped\",[462]],[[462,462],\"valid\"],[[463,463],\"mapped\",[464]],[[464,464],\"valid\"],[[465,465],\"mapped\",[466]],[[466,466],\"valid\"],[[467,467],\"mapped\",[468]],[[468,468],\"valid\"],[[469,469],\"mapped\",[470]],[[470,470],\"valid\"],[[471,471],\"mapped\",[472]],[[472,472],\"valid\"],[[473,473],\"mapped\",[474]],[[474,474],\"valid\"],[[475,475],\"mapped\",[476]],[[476,477],\"valid\"],[[478,478],\"mapped\",[479]],[[479,479],\"valid\"],[[480,480],\"mapped\",[481]],[[481,481],\"valid\"],[[482,482],\"mapped\",[483]],[[483,483],\"valid\"],[[484,484],\"mapped\",[485]],[[485,485],\"valid\"],[[486,486],\"mapped\",[487]],[[487,487],\"valid\"],[[488,488],\"mapped\",[489]],[[489,489],\"valid\"],[[490,490],\"mapped\",[491]],[[491,491],\"valid\"],[[492,492],\"mapped\",[493]],[[493,493],\"valid\"],[[494,494],\"mapped\",[495]],[[495,496],\"valid\"],[[497,499],\"mapped\",[100,122]],[[500,500],\"mapped\",[501]],[[501,501],\"valid\"],[[502,502],\"mapped\",[405]],[[503,503],\"mapped\",[447]],[[504,504],\"mapped\",[505]],[[505,505],\"valid\"],[[506,506],\"mapped\",[507]],[[507,507],\"valid\"],[[508,508],\"mapped\",[509]],[[509,509],\"valid\"],[[510,510],\"mapped\",[511]],[[511,511],\"valid\"],[[512,512],\"mapped\",[513]],[[513,513],\"valid\"],[[514,514],\"mapped\",[515]],[[515,515],\"valid\"],[[516,516],\"mapped\",[517]],[[517,517],\"valid\"],[[518,518],\"mapped\",[519]],[[519,519],\"valid\"],[[520,520],\"mapped\",[521]],[[521,521],\"valid\"],[[522,522],\"mapped\",[523]],[[523,523],\"valid\"],[[524,524],\"mapped\",[525]],[[525,525],\"valid\"],[[526,526],\"mapped\",[527]],[[527,527],\"valid\"],[[528,528],\"mapped\",[529]],[[529,529],\"valid\"],[[530,530],\"mapped\",[531]],[[531,531],\"valid\"],[[532,532],\"mapped\",[533]],[[533,533],\"valid\"],[[534,534],\"mapped\",[535]],[[535,535],\"valid\"],[[536,536],\"mapped\",[537]],[[537,537],\"valid\"],[[538,538],\"mapped\",[539]],[[539,539],\"valid\"],[[540,540],\"mapped\",[541]],[[541,541],\"valid\"],[[542,542],\"mapped\",[543]],[[543,543],\"valid\"],[[544,544],\"mapped\",[414]],[[545,545],\"valid\"],[[546,546],\"mapped\",[547]],[[547,547],\"valid\"],[[548,548],\"mapped\",[549]],[[549,549],\"valid\"],[[550,550],\"mapped\",[551]],[[551,551],\"valid\"],[[552,552],\"mapped\",[553]],[[553,553],\"valid\"],[[554,554],\"mapped\",[555]],[[555,555],\"valid\"],[[556,556],\"mapped\",[557]],[[557,557],\"valid\"],[[558,558],\"mapped\",[559]],[[559,559],\"valid\"],[[560,560],\"mapped\",[561]],[[561,561],\"valid\"],[[562,562],\"mapped\",[563]],[[563,563],\"valid\"],[[564,566],\"valid\"],[[567,569],\"valid\"],[[570,570],\"mapped\",[11365]],[[571,571],\"mapped\",[572]],[[572,572],\"valid\"],[[573,573],\"mapped\",[410]],[[574,574],\"mapped\",[11366]],[[575,576],\"valid\"],[[577,577],\"mapped\",[578]],[[578,578],\"valid\"],[[579,579],\"mapped\",[384]],[[580,580],\"mapped\",[649]],[[581,581],\"mapped\",[652]],[[582,582],\"mapped\",[583]],[[583,583],\"valid\"],[[584,584],\"mapped\",[585]],[[585,585],\"valid\"],[[586,586],\"mapped\",[587]],[[587,587],\"valid\"],[[588,588],\"mapped\",[589]],[[589,589],\"valid\"],[[590,590],\"mapped\",[591]],[[591,591],\"valid\"],[[592,680],\"valid\"],[[681,685],\"valid\"],[[686,687],\"valid\"],[[688,688],\"mapped\",[104]],[[689,689],\"mapped\",[614]],[[690,690],\"mapped\",[106]],[[691,691],\"mapped\",[114]],[[692,692],\"mapped\",[633]],[[693,693],\"mapped\",[635]],[[694,694],\"mapped\",[641]],[[695,695],\"mapped\",[119]],[[696,696],\"mapped\",[121]],[[697,705],\"valid\"],[[706,709],\"valid\",[],\"NV8\"],[[710,721],\"valid\"],[[722,727],\"valid\",[],\"NV8\"],[[728,728],\"disallowed_STD3_mapped\",[32,774]],[[729,729],\"disallowed_STD3_mapped\",[32,775]],[[730,730],\"disallowed_STD3_mapped\",[32,778]],[[731,731],\"disallowed_STD3_mapped\",[32,808]],[[732,732],\"disallowed_STD3_mapped\",[32,771]],[[733,733],\"disallowed_STD3_mapped\",[32,779]],[[734,734],\"valid\",[],\"NV8\"],[[735,735],\"valid\",[],\"NV8\"],[[736,736],\"mapped\",[611]],[[737,737],\"mapped\",[108]],[[738,738],\"mapped\",[115]],[[739,739],\"mapped\",[120]],[[740,740],\"mapped\",[661]],[[741,745],\"valid\",[],\"NV8\"],[[746,747],\"valid\",[],\"NV8\"],[[748,748],\"valid\"],[[749,749],\"valid\",[],\"NV8\"],[[750,750],\"valid\"],[[751,767],\"valid\",[],\"NV8\"],[[768,831],\"valid\"],[[832,832],\"mapped\",[768]],[[833,833],\"mapped\",[769]],[[834,834],\"valid\"],[[835,835],\"mapped\",[787]],[[836,836],\"mapped\",[776,769]],[[837,837],\"mapped\",[953]],[[838,846],\"valid\"],[[847,847],\"ignored\"],[[848,855],\"valid\"],[[856,860],\"valid\"],[[861,863],\"valid\"],[[864,865],\"valid\"],[[866,866],\"valid\"],[[867,879],\"valid\"],[[880,880],\"mapped\",[881]],[[881,881],\"valid\"],[[882,882],\"mapped\",[883]],[[883,883],\"valid\"],[[884,884],\"mapped\",[697]],[[885,885],\"valid\"],[[886,886],\"mapped\",[887]],[[887,887],\"valid\"],[[888,889],\"disallowed\"],[[890,890],\"disallowed_STD3_mapped\",[32,953]],[[891,893],\"valid\"],[[894,894],\"disallowed_STD3_mapped\",[59]],[[895,895],\"mapped\",[1011]],[[896,899],\"disallowed\"],[[900,900],\"disallowed_STD3_mapped\",[32,769]],[[901,901],\"disallowed_STD3_mapped\",[32,776,769]],[[902,902],\"mapped\",[940]],[[903,903],\"mapped\",[183]],[[904,904],\"mapped\",[941]],[[905,905],\"mapped\",[942]],[[906,906],\"mapped\",[943]],[[907,907],\"disallowed\"],[[908,908],\"mapped\",[972]],[[909,909],\"disallowed\"],[[910,910],\"mapped\",[973]],[[911,911],\"mapped\",[974]],[[912,912],\"valid\"],[[913,913],\"mapped\",[945]],[[914,914],\"mapped\",[946]],[[915,915],\"mapped\",[947]],[[916,916],\"mapped\",[948]],[[917,917],\"mapped\",[949]],[[918,918],\"mapped\",[950]],[[919,919],\"mapped\",[951]],[[920,920],\"mapped\",[952]],[[921,921],\"mapped\",[953]],[[922,922],\"mapped\",[954]],[[923,923],\"mapped\",[955]],[[924,924],\"mapped\",[956]],[[925,925],\"mapped\",[957]],[[926,926],\"mapped\",[958]],[[927,927],\"mapped\",[959]],[[928,928],\"mapped\",[960]],[[929,929],\"mapped\",[961]],[[930,930],\"disallowed\"],[[931,931],\"mapped\",[963]],[[932,932],\"mapped\",[964]],[[933,933],\"mapped\",[965]],[[934,934],\"mapped\",[966]],[[935,935],\"mapped\",[967]],[[936,936],\"mapped\",[968]],[[937,937],\"mapped\",[969]],[[938,938],\"mapped\",[970]],[[939,939],\"mapped\",[971]],[[940,961],\"valid\"],[[962,962],\"deviation\",[963]],[[963,974],\"valid\"],[[975,975],\"mapped\",[983]],[[976,976],\"mapped\",[946]],[[977,977],\"mapped\",[952]],[[978,978],\"mapped\",[965]],[[979,979],\"mapped\",[973]],[[980,980],\"mapped\",[971]],[[981,981],\"mapped\",[966]],[[982,982],\"mapped\",[960]],[[983,983],\"valid\"],[[984,984],\"mapped\",[985]],[[985,985],\"valid\"],[[986,986],\"mapped\",[987]],[[987,987],\"valid\"],[[988,988],\"mapped\",[989]],[[989,989],\"valid\"],[[990,990],\"mapped\",[991]],[[991,991],\"valid\"],[[992,992],\"mapped\",[993]],[[993,993],\"valid\"],[[994,994],\"mapped\",[995]],[[995,995],\"valid\"],[[996,996],\"mapped\",[997]],[[997,997],\"valid\"],[[998,998],\"mapped\",[999]],[[999,999],\"valid\"],[[1000,1000],\"mapped\",[1001]],[[1001,1001],\"valid\"],[[1002,1002],\"mapped\",[1003]],[[1003,1003],\"valid\"],[[1004,1004],\"mapped\",[1005]],[[1005,1005],\"valid\"],[[1006,1006],\"mapped\",[1007]],[[1007,1007],\"valid\"],[[1008,1008],\"mapped\",[954]],[[1009,1009],\"mapped\",[961]],[[1010,1010],\"mapped\",[963]],[[1011,1011],\"valid\"],[[1012,1012],\"mapped\",[952]],[[1013,1013],\"mapped\",[949]],[[1014,1014],\"valid\",[],\"NV8\"],[[1015,1015],\"mapped\",[1016]],[[1016,1016],\"valid\"],[[1017,1017],\"mapped\",[963]],[[1018,1018],\"mapped\",[1019]],[[1019,1019],\"valid\"],[[1020,1020],\"valid\"],[[1021,1021],\"mapped\",[891]],[[1022,1022],\"mapped\",[892]],[[1023,1023],\"mapped\",[893]],[[1024,1024],\"mapped\",[1104]],[[1025,1025],\"mapped\",[1105]],[[1026,1026],\"mapped\",[1106]],[[1027,1027],\"mapped\",[1107]],[[1028,1028],\"mapped\",[1108]],[[1029,1029],\"mapped\",[1109]],[[1030,1030],\"mapped\",[1110]],[[1031,1031],\"mapped\",[1111]],[[1032,1032],\"mapped\",[1112]],[[1033,1033],\"mapped\",[1113]],[[1034,1034],\"mapped\",[1114]],[[1035,1035],\"mapped\",[1115]],[[1036,1036],\"mapped\",[1116]],[[1037,1037],\"mapped\",[1117]],[[1038,1038],\"mapped\",[1118]],[[1039,1039],\"mapped\",[1119]],[[1040,1040],\"mapped\",[1072]],[[1041,1041],\"mapped\",[1073]],[[1042,1042],\"mapped\",[1074]],[[1043,1043],\"mapped\",[1075]],[[1044,1044],\"mapped\",[1076]],[[1045,1045],\"mapped\",[1077]],[[1046,1046],\"mapped\",[1078]],[[1047,1047],\"mapped\",[1079]],[[1048,1048],\"mapped\",[1080]],[[1049,1049],\"mapped\",[1081]],[[1050,1050],\"mapped\",[1082]],[[1051,1051],\"mapped\",[1083]],[[1052,1052],\"mapped\",[1084]],[[1053,1053],\"mapped\",[1085]],[[1054,1054],\"mapped\",[1086]],[[1055,1055],\"mapped\",[1087]],[[1056,1056],\"mapped\",[1088]],[[1057,1057],\"mapped\",[1089]],[[1058,1058],\"mapped\",[1090]],[[1059,1059],\"mapped\",[1091]],[[1060,1060],\"mapped\",[1092]],[[1061,1061],\"mapped\",[1093]],[[1062,1062],\"mapped\",[1094]],[[1063,1063],\"mapped\",[1095]],[[1064,1064],\"mapped\",[1096]],[[1065,1065],\"mapped\",[1097]],[[1066,1066],\"mapped\",[1098]],[[1067,1067],\"mapped\",[1099]],[[1068,1068],\"mapped\",[1100]],[[1069,1069],\"mapped\",[1101]],[[1070,1070],\"mapped\",[1102]],[[1071,1071],\"mapped\",[1103]],[[1072,1103],\"valid\"],[[1104,1104],\"valid\"],[[1105,1116],\"valid\"],[[1117,1117],\"valid\"],[[1118,1119],\"valid\"],[[1120,1120],\"mapped\",[1121]],[[1121,1121],\"valid\"],[[1122,1122],\"mapped\",[1123]],[[1123,1123],\"valid\"],[[1124,1124],\"mapped\",[1125]],[[1125,1125],\"valid\"],[[1126,1126],\"mapped\",[1127]],[[1127,1127],\"valid\"],[[1128,1128],\"mapped\",[1129]],[[1129,1129],\"valid\"],[[1130,1130],\"mapped\",[1131]],[[1131,1131],\"valid\"],[[1132,1132],\"mapped\",[1133]],[[1133,1133],\"valid\"],[[1134,1134],\"mapped\",[1135]],[[1135,1135],\"valid\"],[[1136,1136],\"mapped\",[1137]],[[1137,1137],\"valid\"],[[1138,1138],\"mapped\",[1139]],[[1139,1139],\"valid\"],[[1140,1140],\"mapped\",[1141]],[[1141,1141],\"valid\"],[[1142,1142],\"mapped\",[1143]],[[1143,1143],\"valid\"],[[1144,1144],\"mapped\",[1145]],[[1145,1145],\"valid\"],[[1146,1146],\"mapped\",[1147]],[[1147,1147],\"valid\"],[[1148,1148],\"mapped\",[1149]],[[1149,1149],\"valid\"],[[1150,1150],\"mapped\",[1151]],[[1151,1151],\"valid\"],[[1152,1152],\"mapped\",[1153]],[[1153,1153],\"valid\"],[[1154,1154],\"valid\",[],\"NV8\"],[[1155,1158],\"valid\"],[[1159,1159],\"valid\"],[[1160,1161],\"valid\",[],\"NV8\"],[[1162,1162],\"mapped\",[1163]],[[1163,1163],\"valid\"],[[1164,1164],\"mapped\",[1165]],[[1165,1165],\"valid\"],[[1166,1166],\"mapped\",[1167]],[[1167,1167],\"valid\"],[[1168,1168],\"mapped\",[1169]],[[1169,1169],\"valid\"],[[1170,1170],\"mapped\",[1171]],[[1171,1171],\"valid\"],[[1172,1172],\"mapped\",[1173]],[[1173,1173],\"valid\"],[[1174,1174],\"mapped\",[1175]],[[1175,1175],\"valid\"],[[1176,1176],\"mapped\",[1177]],[[1177,1177],\"valid\"],[[1178,1178],\"mapped\",[1179]],[[1179,1179],\"valid\"],[[1180,1180],\"mapped\",[1181]],[[1181,1181],\"valid\"],[[1182,1182],\"mapped\",[1183]],[[1183,1183],\"valid\"],[[1184,1184],\"mapped\",[1185]],[[1185,1185],\"valid\"],[[1186,1186],\"mapped\",[1187]],[[1187,1187],\"valid\"],[[1188,1188],\"mapped\",[1189]],[[1189,1189],\"valid\"],[[1190,1190],\"mapped\",[1191]],[[1191,1191],\"valid\"],[[1192,1192],\"mapped\",[1193]],[[1193,1193],\"valid\"],[[1194,1194],\"mapped\",[1195]],[[1195,1195],\"valid\"],[[1196,1196],\"mapped\",[1197]],[[1197,1197],\"valid\"],[[1198,1198],\"mapped\",[1199]],[[1199,1199],\"valid\"],[[1200,1200],\"mapped\",[1201]],[[1201,1201],\"valid\"],[[1202,1202],\"mapped\",[1203]],[[1203,1203],\"valid\"],[[1204,1204],\"mapped\",[1205]],[[1205,1205],\"valid\"],[[1206,1206],\"mapped\",[1207]],[[1207,1207],\"valid\"],[[1208,1208],\"mapped\",[1209]],[[1209,1209],\"valid\"],[[1210,1210],\"mapped\",[1211]],[[1211,1211],\"valid\"],[[1212,1212],\"mapped\",[1213]],[[1213,1213],\"valid\"],[[1214,1214],\"mapped\",[1215]],[[1215,1215],\"valid\"],[[1216,1216],\"disallowed\"],[[1217,1217],\"mapped\",[1218]],[[1218,1218],\"valid\"],[[1219,1219],\"mapped\",[1220]],[[1220,1220],\"valid\"],[[1221,1221],\"mapped\",[1222]],[[1222,1222],\"valid\"],[[1223,1223],\"mapped\",[1224]],[[1224,1224],\"valid\"],[[1225,1225],\"mapped\",[1226]],[[1226,1226],\"valid\"],[[1227,1227],\"mapped\",[1228]],[[1228,1228],\"valid\"],[[1229,1229],\"mapped\",[1230]],[[1230,1230],\"valid\"],[[1231,1231],\"valid\"],[[1232,1232],\"mapped\",[1233]],[[1233,1233],\"valid\"],[[1234,1234],\"mapped\",[1235]],[[1235,1235],\"valid\"],[[1236,1236],\"mapped\",[1237]],[[1237,1237],\"valid\"],[[1238,1238],\"mapped\",[1239]],[[1239,1239],\"valid\"],[[1240,1240],\"mapped\",[1241]],[[1241,1241],\"valid\"],[[1242,1242],\"mapped\",[1243]],[[1243,1243],\"valid\"],[[1244,1244],\"mapped\",[1245]],[[1245,1245],\"valid\"],[[1246,1246],\"mapped\",[1247]],[[1247,1247],\"valid\"],[[1248,1248],\"mapped\",[1249]],[[1249,1249],\"valid\"],[[1250,1250],\"mapped\",[1251]],[[1251,1251],\"valid\"],[[1252,1252],\"mapped\",[1253]],[[1253,1253],\"valid\"],[[1254,1254],\"mapped\",[1255]],[[1255,1255],\"valid\"],[[1256,1256],\"mapped\",[1257]],[[1257,1257],\"valid\"],[[1258,1258],\"mapped\",[1259]],[[1259,1259],\"valid\"],[[1260,1260],\"mapped\",[1261]],[[1261,1261],\"valid\"],[[1262,1262],\"mapped\",[1263]],[[1263,1263],\"valid\"],[[1264,1264],\"mapped\",[1265]],[[1265,1265],\"valid\"],[[1266,1266],\"mapped\",[1267]],[[1267,1267],\"valid\"],[[1268,1268],\"mapped\",[1269]],[[1269,1269],\"valid\"],[[1270,1270],\"mapped\",[1271]],[[1271,1271],\"valid\"],[[1272,1272],\"mapped\",[1273]],[[1273,1273],\"valid\"],[[1274,1274],\"mapped\",[1275]],[[1275,1275],\"valid\"],[[1276,1276],\"mapped\",[1277]],[[1277,1277],\"valid\"],[[1278,1278],\"mapped\",[1279]],[[1279,1279],\"valid\"],[[1280,1280],\"mapped\",[1281]],[[1281,1281],\"valid\"],[[1282,1282],\"mapped\",[1283]],[[1283,1283],\"valid\"],[[1284,1284],\"mapped\",[1285]],[[1285,1285],\"valid\"],[[1286,1286],\"mapped\",[1287]],[[1287,1287],\"valid\"],[[1288,1288],\"mapped\",[1289]],[[1289,1289],\"valid\"],[[1290,1290],\"mapped\",[1291]],[[1291,1291],\"valid\"],[[1292,1292],\"mapped\",[1293]],[[1293,1293],\"valid\"],[[1294,1294],\"mapped\",[1295]],[[1295,1295],\"valid\"],[[1296,1296],\"mapped\",[1297]],[[1297,1297],\"valid\"],[[1298,1298],\"mapped\",[1299]],[[1299,1299],\"valid\"],[[1300,1300],\"mapped\",[1301]],[[1301,1301],\"valid\"],[[1302,1302],\"mapped\",[1303]],[[1303,1303],\"valid\"],[[1304,1304],\"mapped\",[1305]],[[1305,1305],\"valid\"],[[1306,1306],\"mapped\",[1307]],[[1307,1307],\"valid\"],[[1308,1308],\"mapped\",[1309]],[[1309,1309],\"valid\"],[[1310,1310],\"mapped\",[1311]],[[1311,1311],\"valid\"],[[1312,1312],\"mapped\",[1313]],[[1313,1313],\"valid\"],[[1314,1314],\"mapped\",[1315]],[[1315,1315],\"valid\"],[[1316,1316],\"mapped\",[1317]],[[1317,1317],\"valid\"],[[1318,1318],\"mapped\",[1319]],[[1319,1319],\"valid\"],[[1320,1320],\"mapped\",[1321]],[[1321,1321],\"valid\"],[[1322,1322],\"mapped\",[1323]],[[1323,1323],\"valid\"],[[1324,1324],\"mapped\",[1325]],[[1325,1325],\"valid\"],[[1326,1326],\"mapped\",[1327]],[[1327,1327],\"valid\"],[[1328,1328],\"disallowed\"],[[1329,1329],\"mapped\",[1377]],[[1330,1330],\"mapped\",[1378]],[[1331,1331],\"mapped\",[1379]],[[1332,1332],\"mapped\",[1380]],[[1333,1333],\"mapped\",[1381]],[[1334,1334],\"mapped\",[1382]],[[1335,1335],\"mapped\",[1383]],[[1336,1336],\"mapped\",[1384]],[[1337,1337],\"mapped\",[1385]],[[1338,1338],\"mapped\",[1386]],[[1339,1339],\"mapped\",[1387]],[[1340,1340],\"mapped\",[1388]],[[1341,1341],\"mapped\",[1389]],[[1342,1342],\"mapped\",[1390]],[[1343,1343],\"mapped\",[1391]],[[1344,1344],\"mapped\",[1392]],[[1345,1345],\"mapped\",[1393]],[[1346,1346],\"mapped\",[1394]],[[1347,1347],\"mapped\",[1395]],[[1348,1348],\"mapped\",[1396]],[[1349,1349],\"mapped\",[1397]],[[1350,1350],\"mapped\",[1398]],[[1351,1351],\"mapped\",[1399]],[[1352,1352],\"mapped\",[1400]],[[1353,1353],\"mapped\",[1401]],[[1354,1354],\"mapped\",[1402]],[[1355,1355],\"mapped\",[1403]],[[1356,1356],\"mapped\",[1404]],[[1357,1357],\"mapped\",[1405]],[[1358,1358],\"mapped\",[1406]],[[1359,1359],\"mapped\",[1407]],[[1360,1360],\"mapped\",[1408]],[[1361,1361],\"mapped\",[1409]],[[1362,1362],\"mapped\",[1410]],[[1363,1363],\"mapped\",[1411]],[[1364,1364],\"mapped\",[1412]],[[1365,1365],\"mapped\",[1413]],[[1366,1366],\"mapped\",[1414]],[[1367,1368],\"disallowed\"],[[1369,1369],\"valid\"],[[1370,1375],\"valid\",[],\"NV8\"],[[1376,1376],\"disallowed\"],[[1377,1414],\"valid\"],[[1415,1415],\"mapped\",[1381,1410]],[[1416,1416],\"disallowed\"],[[1417,1417],\"valid\",[],\"NV8\"],[[1418,1418],\"valid\",[],\"NV8\"],[[1419,1420],\"disallowed\"],[[1421,1422],\"valid\",[],\"NV8\"],[[1423,1423],\"valid\",[],\"NV8\"],[[1424,1424],\"disallowed\"],[[1425,1441],\"valid\"],[[1442,1442],\"valid\"],[[1443,1455],\"valid\"],[[1456,1465],\"valid\"],[[1466,1466],\"valid\"],[[1467,1469],\"valid\"],[[1470,1470],\"valid\",[],\"NV8\"],[[1471,1471],\"valid\"],[[1472,1472],\"valid\",[],\"NV8\"],[[1473,1474],\"valid\"],[[1475,1475],\"valid\",[],\"NV8\"],[[1476,1476],\"valid\"],[[1477,1477],\"valid\"],[[1478,1478],\"valid\",[],\"NV8\"],[[1479,1479],\"valid\"],[[1480,1487],\"disallowed\"],[[1488,1514],\"valid\"],[[1515,1519],\"disallowed\"],[[1520,1524],\"valid\"],[[1525,1535],\"disallowed\"],[[1536,1539],\"disallowed\"],[[1540,1540],\"disallowed\"],[[1541,1541],\"disallowed\"],[[1542,1546],\"valid\",[],\"NV8\"],[[1547,1547],\"valid\",[],\"NV8\"],[[1548,1548],\"valid\",[],\"NV8\"],[[1549,1551],\"valid\",[],\"NV8\"],[[1552,1557],\"valid\"],[[1558,1562],\"valid\"],[[1563,1563],\"valid\",[],\"NV8\"],[[1564,1564],\"disallowed\"],[[1565,1565],\"disallowed\"],[[1566,1566],\"valid\",[],\"NV8\"],[[1567,1567],\"valid\",[],\"NV8\"],[[1568,1568],\"valid\"],[[1569,1594],\"valid\"],[[1595,1599],\"valid\"],[[1600,1600],\"valid\",[],\"NV8\"],[[1601,1618],\"valid\"],[[1619,1621],\"valid\"],[[1622,1624],\"valid\"],[[1625,1630],\"valid\"],[[1631,1631],\"valid\"],[[1632,1641],\"valid\"],[[1642,1645],\"valid\",[],\"NV8\"],[[1646,1647],\"valid\"],[[1648,1652],\"valid\"],[[1653,1653],\"mapped\",[1575,1652]],[[1654,1654],\"mapped\",[1608,1652]],[[1655,1655],\"mapped\",[1735,1652]],[[1656,1656],\"mapped\",[1610,1652]],[[1657,1719],\"valid\"],[[1720,1721],\"valid\"],[[1722,1726],\"valid\"],[[1727,1727],\"valid\"],[[1728,1742],\"valid\"],[[1743,1743],\"valid\"],[[1744,1747],\"valid\"],[[1748,1748],\"valid\",[],\"NV8\"],[[1749,1756],\"valid\"],[[1757,1757],\"disallowed\"],[[1758,1758],\"valid\",[],\"NV8\"],[[1759,1768],\"valid\"],[[1769,1769],\"valid\",[],\"NV8\"],[[1770,1773],\"valid\"],[[1774,1775],\"valid\"],[[1776,1785],\"valid\"],[[1786,1790],\"valid\"],[[1791,1791],\"valid\"],[[1792,1805],\"valid\",[],\"NV8\"],[[1806,1806],\"disallowed\"],[[1807,1807],\"disallowed\"],[[1808,1836],\"valid\"],[[1837,1839],\"valid\"],[[1840,1866],\"valid\"],[[1867,1868],\"disallowed\"],[[1869,1871],\"valid\"],[[1872,1901],\"valid\"],[[1902,1919],\"valid\"],[[1920,1968],\"valid\"],[[1969,1969],\"valid\"],[[1970,1983],\"disallowed\"],[[1984,2037],\"valid\"],[[2038,2042],\"valid\",[],\"NV8\"],[[2043,2047],\"disallowed\"],[[2048,2093],\"valid\"],[[2094,2095],\"disallowed\"],[[2096,2110],\"valid\",[],\"NV8\"],[[2111,2111],\"disallowed\"],[[2112,2139],\"valid\"],[[2140,2141],\"disallowed\"],[[2142,2142],\"valid\",[],\"NV8\"],[[2143,2207],\"disallowed\"],[[2208,2208],\"valid\"],[[2209,2209],\"valid\"],[[2210,2220],\"valid\"],[[2221,2226],\"valid\"],[[2227,2228],\"valid\"],[[2229,2274],\"disallowed\"],[[2275,2275],\"valid\"],[[2276,2302],\"valid\"],[[2303,2303],\"valid\"],[[2304,2304],\"valid\"],[[2305,2307],\"valid\"],[[2308,2308],\"valid\"],[[2309,2361],\"valid\"],[[2362,2363],\"valid\"],[[2364,2381],\"valid\"],[[2382,2382],\"valid\"],[[2383,2383],\"valid\"],[[2384,2388],\"valid\"],[[2389,2389],\"valid\"],[[2390,2391],\"valid\"],[[2392,2392],\"mapped\",[2325,2364]],[[2393,2393],\"mapped\",[2326,2364]],[[2394,2394],\"mapped\",[2327,2364]],[[2395,2395],\"mapped\",[2332,2364]],[[2396,2396],\"mapped\",[2337,2364]],[[2397,2397],\"mapped\",[2338,2364]],[[2398,2398],\"mapped\",[2347,2364]],[[2399,2399],\"mapped\",[2351,2364]],[[2400,2403],\"valid\"],[[2404,2405],\"valid\",[],\"NV8\"],[[2406,2415],\"valid\"],[[2416,2416],\"valid\",[],\"NV8\"],[[2417,2418],\"valid\"],[[2419,2423],\"valid\"],[[2424,2424],\"valid\"],[[2425,2426],\"valid\"],[[2427,2428],\"valid\"],[[2429,2429],\"valid\"],[[2430,2431],\"valid\"],[[2432,2432],\"valid\"],[[2433,2435],\"valid\"],[[2436,2436],\"disallowed\"],[[2437,2444],\"valid\"],[[2445,2446],\"disallowed\"],[[2447,2448],\"valid\"],[[2449,2450],\"disallowed\"],[[2451,2472],\"valid\"],[[2473,2473],\"disallowed\"],[[2474,2480],\"valid\"],[[2481,2481],\"disallowed\"],[[2482,2482],\"valid\"],[[2483,2485],\"disallowed\"],[[2486,2489],\"valid\"],[[2490,2491],\"disallowed\"],[[2492,2492],\"valid\"],[[2493,2493],\"valid\"],[[2494,2500],\"valid\"],[[2501,2502],\"disallowed\"],[[2503,2504],\"valid\"],[[2505,2506],\"disallowed\"],[[2507,2509],\"valid\"],[[2510,2510],\"valid\"],[[2511,2518],\"disallowed\"],[[2519,2519],\"valid\"],[[2520,2523],\"disallowed\"],[[2524,2524],\"mapped\",[2465,2492]],[[2525,2525],\"mapped\",[2466,2492]],[[2526,2526],\"disallowed\"],[[2527,2527],\"mapped\",[2479,2492]],[[2528,2531],\"valid\"],[[2532,2533],\"disallowed\"],[[2534,2545],\"valid\"],[[2546,2554],\"valid\",[],\"NV8\"],[[2555,2555],\"valid\",[],\"NV8\"],[[2556,2560],\"disallowed\"],[[2561,2561],\"valid\"],[[2562,2562],\"valid\"],[[2563,2563],\"valid\"],[[2564,2564],\"disallowed\"],[[2565,2570],\"valid\"],[[2571,2574],\"disallowed\"],[[2575,2576],\"valid\"],[[2577,2578],\"disallowed\"],[[2579,2600],\"valid\"],[[2601,2601],\"disallowed\"],[[2602,2608],\"valid\"],[[2609,2609],\"disallowed\"],[[2610,2610],\"valid\"],[[2611,2611],\"mapped\",[2610,2620]],[[2612,2612],\"disallowed\"],[[2613,2613],\"valid\"],[[2614,2614],\"mapped\",[2616,2620]],[[2615,2615],\"disallowed\"],[[2616,2617],\"valid\"],[[2618,2619],\"disallowed\"],[[2620,2620],\"valid\"],[[2621,2621],\"disallowed\"],[[2622,2626],\"valid\"],[[2627,2630],\"disallowed\"],[[2631,2632],\"valid\"],[[2633,2634],\"disallowed\"],[[2635,2637],\"valid\"],[[2638,2640],\"disallowed\"],[[2641,2641],\"valid\"],[[2642,2648],\"disallowed\"],[[2649,2649],\"mapped\",[2582,2620]],[[2650,2650],\"mapped\",[2583,2620]],[[2651,2651],\"mapped\",[2588,2620]],[[2652,2652],\"valid\"],[[2653,2653],\"disallowed\"],[[2654,2654],\"mapped\",[2603,2620]],[[2655,2661],\"disallowed\"],[[2662,2676],\"valid\"],[[2677,2677],\"valid\"],[[2678,2688],\"disallowed\"],[[2689,2691],\"valid\"],[[2692,2692],\"disallowed\"],[[2693,2699],\"valid\"],[[2700,2700],\"valid\"],[[2701,2701],\"valid\"],[[2702,2702],\"disallowed\"],[[2703,2705],\"valid\"],[[2706,2706],\"disallowed\"],[[2707,2728],\"valid\"],[[2729,2729],\"disallowed\"],[[2730,2736],\"valid\"],[[2737,2737],\"disallowed\"],[[2738,2739],\"valid\"],[[2740,2740],\"disallowed\"],[[2741,2745],\"valid\"],[[2746,2747],\"disallowed\"],[[2748,2757],\"valid\"],[[2758,2758],\"disallowed\"],[[2759,2761],\"valid\"],[[2762,2762],\"disallowed\"],[[2763,2765],\"valid\"],[[2766,2767],\"disallowed\"],[[2768,2768],\"valid\"],[[2769,2783],\"disallowed\"],[[2784,2784],\"valid\"],[[2785,2787],\"valid\"],[[2788,2789],\"disallowed\"],[[2790,2799],\"valid\"],[[2800,2800],\"valid\",[],\"NV8\"],[[2801,2801],\"valid\",[],\"NV8\"],[[2802,2808],\"disallowed\"],[[2809,2809],\"valid\"],[[2810,2816],\"disallowed\"],[[2817,2819],\"valid\"],[[2820,2820],\"disallowed\"],[[2821,2828],\"valid\"],[[2829,2830],\"disallowed\"],[[2831,2832],\"valid\"],[[2833,2834],\"disallowed\"],[[2835,2856],\"valid\"],[[2857,2857],\"disallowed\"],[[2858,2864],\"valid\"],[[2865,2865],\"disallowed\"],[[2866,2867],\"valid\"],[[2868,2868],\"disallowed\"],[[2869,2869],\"valid\"],[[2870,2873],\"valid\"],[[2874,2875],\"disallowed\"],[[2876,2883],\"valid\"],[[2884,2884],\"valid\"],[[2885,2886],\"disallowed\"],[[2887,2888],\"valid\"],[[2889,2890],\"disallowed\"],[[2891,2893],\"valid\"],[[2894,2901],\"disallowed\"],[[2902,2903],\"valid\"],[[2904,2907],\"disallowed\"],[[2908,2908],\"mapped\",[2849,2876]],[[2909,2909],\"mapped\",[2850,2876]],[[2910,2910],\"disallowed\"],[[2911,2913],\"valid\"],[[2914,2915],\"valid\"],[[2916,2917],\"disallowed\"],[[2918,2927],\"valid\"],[[2928,2928],\"valid\",[],\"NV8\"],[[2929,2929],\"valid\"],[[2930,2935],\"valid\",[],\"NV8\"],[[2936,2945],\"disallowed\"],[[2946,2947],\"valid\"],[[2948,2948],\"disallowed\"],[[2949,2954],\"valid\"],[[2955,2957],\"disallowed\"],[[2958,2960],\"valid\"],[[2961,2961],\"disallowed\"],[[2962,2965],\"valid\"],[[2966,2968],\"disallowed\"],[[2969,2970],\"valid\"],[[2971,2971],\"disallowed\"],[[2972,2972],\"valid\"],[[2973,2973],\"disallowed\"],[[2974,2975],\"valid\"],[[2976,2978],\"disallowed\"],[[2979,2980],\"valid\"],[[2981,2983],\"disallowed\"],[[2984,2986],\"valid\"],[[2987,2989],\"disallowed\"],[[2990,2997],\"valid\"],[[2998,2998],\"valid\"],[[2999,3001],\"valid\"],[[3002,3005],\"disallowed\"],[[3006,3010],\"valid\"],[[3011,3013],\"disallowed\"],[[3014,3016],\"valid\"],[[3017,3017],\"disallowed\"],[[3018,3021],\"valid\"],[[3022,3023],\"disallowed\"],[[3024,3024],\"valid\"],[[3025,3030],\"disallowed\"],[[3031,3031],\"valid\"],[[3032,3045],\"disallowed\"],[[3046,3046],\"valid\"],[[3047,3055],\"valid\"],[[3056,3058],\"valid\",[],\"NV8\"],[[3059,3066],\"valid\",[],\"NV8\"],[[3067,3071],\"disallowed\"],[[3072,3072],\"valid\"],[[3073,3075],\"valid\"],[[3076,3076],\"disallowed\"],[[3077,3084],\"valid\"],[[3085,3085],\"disallowed\"],[[3086,3088],\"valid\"],[[3089,3089],\"disallowed\"],[[3090,3112],\"valid\"],[[3113,3113],\"disallowed\"],[[3114,3123],\"valid\"],[[3124,3124],\"valid\"],[[3125,3129],\"valid\"],[[3130,3132],\"disallowed\"],[[3133,3133],\"valid\"],[[3134,3140],\"valid\"],[[3141,3141],\"disallowed\"],[[3142,3144],\"valid\"],[[3145,3145],\"disallowed\"],[[3146,3149],\"valid\"],[[3150,3156],\"disallowed\"],[[3157,3158],\"valid\"],[[3159,3159],\"disallowed\"],[[3160,3161],\"valid\"],[[3162,3162],\"valid\"],[[3163,3167],\"disallowed\"],[[3168,3169],\"valid\"],[[3170,3171],\"valid\"],[[3172,3173],\"disallowed\"],[[3174,3183],\"valid\"],[[3184,3191],\"disallowed\"],[[3192,3199],\"valid\",[],\"NV8\"],[[3200,3200],\"disallowed\"],[[3201,3201],\"valid\"],[[3202,3203],\"valid\"],[[3204,3204],\"disallowed\"],[[3205,3212],\"valid\"],[[3213,3213],\"disallowed\"],[[3214,3216],\"valid\"],[[3217,3217],\"disallowed\"],[[3218,3240],\"valid\"],[[3241,3241],\"disallowed\"],[[3242,3251],\"valid\"],[[3252,3252],\"disallowed\"],[[3253,3257],\"valid\"],[[3258,3259],\"disallowed\"],[[3260,3261],\"valid\"],[[3262,3268],\"valid\"],[[3269,3269],\"disallowed\"],[[3270,3272],\"valid\"],[[3273,3273],\"disallowed\"],[[3274,3277],\"valid\"],[[3278,3284],\"disallowed\"],[[3285,3286],\"valid\"],[[3287,3293],\"disallowed\"],[[3294,3294],\"valid\"],[[3295,3295],\"disallowed\"],[[3296,3297],\"valid\"],[[3298,3299],\"valid\"],[[3300,3301],\"disallowed\"],[[3302,3311],\"valid\"],[[3312,3312],\"disallowed\"],[[3313,3314],\"valid\"],[[3315,3328],\"disallowed\"],[[3329,3329],\"valid\"],[[3330,3331],\"valid\"],[[3332,3332],\"disallowed\"],[[3333,3340],\"valid\"],[[3341,3341],\"disallowed\"],[[3342,3344],\"valid\"],[[3345,3345],\"disallowed\"],[[3346,3368],\"valid\"],[[3369,3369],\"valid\"],[[3370,3385],\"valid\"],[[3386,3386],\"valid\"],[[3387,3388],\"disallowed\"],[[3389,3389],\"valid\"],[[3390,3395],\"valid\"],[[3396,3396],\"valid\"],[[3397,3397],\"disallowed\"],[[3398,3400],\"valid\"],[[3401,3401],\"disallowed\"],[[3402,3405],\"valid\"],[[3406,3406],\"valid\"],[[3407,3414],\"disallowed\"],[[3415,3415],\"valid\"],[[3416,3422],\"disallowed\"],[[3423,3423],\"valid\"],[[3424,3425],\"valid\"],[[3426,3427],\"valid\"],[[3428,3429],\"disallowed\"],[[3430,3439],\"valid\"],[[3440,3445],\"valid\",[],\"NV8\"],[[3446,3448],\"disallowed\"],[[3449,3449],\"valid\",[],\"NV8\"],[[3450,3455],\"valid\"],[[3456,3457],\"disallowed\"],[[3458,3459],\"valid\"],[[3460,3460],\"disallowed\"],[[3461,3478],\"valid\"],[[3479,3481],\"disallowed\"],[[3482,3505],\"valid\"],[[3506,3506],\"disallowed\"],[[3507,3515],\"valid\"],[[3516,3516],\"disallowed\"],[[3517,3517],\"valid\"],[[3518,3519],\"disallowed\"],[[3520,3526],\"valid\"],[[3527,3529],\"disallowed\"],[[3530,3530],\"valid\"],[[3531,3534],\"disallowed\"],[[3535,3540],\"valid\"],[[3541,3541],\"disallowed\"],[[3542,3542],\"valid\"],[[3543,3543],\"disallowed\"],[[3544,3551],\"valid\"],[[3552,3557],\"disallowed\"],[[3558,3567],\"valid\"],[[3568,3569],\"disallowed\"],[[3570,3571],\"valid\"],[[3572,3572],\"valid\",[],\"NV8\"],[[3573,3584],\"disallowed\"],[[3585,3634],\"valid\"],[[3635,3635],\"mapped\",[3661,3634]],[[3636,3642],\"valid\"],[[3643,3646],\"disallowed\"],[[3647,3647],\"valid\",[],\"NV8\"],[[3648,3662],\"valid\"],[[3663,3663],\"valid\",[],\"NV8\"],[[3664,3673],\"valid\"],[[3674,3675],\"valid\",[],\"NV8\"],[[3676,3712],\"disallowed\"],[[3713,3714],\"valid\"],[[3715,3715],\"disallowed\"],[[3716,3716],\"valid\"],[[3717,3718],\"disallowed\"],[[3719,3720],\"valid\"],[[3721,3721],\"disallowed\"],[[3722,3722],\"valid\"],[[3723,3724],\"disallowed\"],[[3725,3725],\"valid\"],[[3726,3731],\"disallowed\"],[[3732,3735],\"valid\"],[[3736,3736],\"disallowed\"],[[3737,3743],\"valid\"],[[3744,3744],\"disallowed\"],[[3745,3747],\"valid\"],[[3748,3748],\"disallowed\"],[[3749,3749],\"valid\"],[[3750,3750],\"disallowed\"],[[3751,3751],\"valid\"],[[3752,3753],\"disallowed\"],[[3754,3755],\"valid\"],[[3756,3756],\"disallowed\"],[[3757,3762],\"valid\"],[[3763,3763],\"mapped\",[3789,3762]],[[3764,3769],\"valid\"],[[3770,3770],\"disallowed\"],[[3771,3773],\"valid\"],[[3774,3775],\"disallowed\"],[[3776,3780],\"valid\"],[[3781,3781],\"disallowed\"],[[3782,3782],\"valid\"],[[3783,3783],\"disallowed\"],[[3784,3789],\"valid\"],[[3790,3791],\"disallowed\"],[[3792,3801],\"valid\"],[[3802,3803],\"disallowed\"],[[3804,3804],\"mapped\",[3755,3737]],[[3805,3805],\"mapped\",[3755,3745]],[[3806,3807],\"valid\"],[[3808,3839],\"disallowed\"],[[3840,3840],\"valid\"],[[3841,3850],\"valid\",[],\"NV8\"],[[3851,3851],\"valid\"],[[3852,3852],\"mapped\",[3851]],[[3853,3863],\"valid\",[],\"NV8\"],[[3864,3865],\"valid\"],[[3866,3871],\"valid\",[],\"NV8\"],[[3872,3881],\"valid\"],[[3882,3892],\"valid\",[],\"NV8\"],[[3893,3893],\"valid\"],[[3894,3894],\"valid\",[],\"NV8\"],[[3895,3895],\"valid\"],[[3896,3896],\"valid\",[],\"NV8\"],[[3897,3897],\"valid\"],[[3898,3901],\"valid\",[],\"NV8\"],[[3902,3906],\"valid\"],[[3907,3907],\"mapped\",[3906,4023]],[[3908,3911],\"valid\"],[[3912,3912],\"disallowed\"],[[3913,3916],\"valid\"],[[3917,3917],\"mapped\",[3916,4023]],[[3918,3921],\"valid\"],[[3922,3922],\"mapped\",[3921,4023]],[[3923,3926],\"valid\"],[[3927,3927],\"mapped\",[3926,4023]],[[3928,3931],\"valid\"],[[3932,3932],\"mapped\",[3931,4023]],[[3933,3944],\"valid\"],[[3945,3945],\"mapped\",[3904,4021]],[[3946,3946],\"valid\"],[[3947,3948],\"valid\"],[[3949,3952],\"disallowed\"],[[3953,3954],\"valid\"],[[3955,3955],\"mapped\",[3953,3954]],[[3956,3956],\"valid\"],[[3957,3957],\"mapped\",[3953,3956]],[[3958,3958],\"mapped\",[4018,3968]],[[3959,3959],\"mapped\",[4018,3953,3968]],[[3960,3960],\"mapped\",[4019,3968]],[[3961,3961],\"mapped\",[4019,3953,3968]],[[3962,3968],\"valid\"],[[3969,3969],\"mapped\",[3953,3968]],[[3970,3972],\"valid\"],[[3973,3973],\"valid\",[],\"NV8\"],[[3974,3979],\"valid\"],[[3980,3983],\"valid\"],[[3984,3986],\"valid\"],[[3987,3987],\"mapped\",[3986,4023]],[[3988,3989],\"valid\"],[[3990,3990],\"valid\"],[[3991,3991],\"valid\"],[[3992,3992],\"disallowed\"],[[3993,3996],\"valid\"],[[3997,3997],\"mapped\",[3996,4023]],[[3998,4001],\"valid\"],[[4002,4002],\"mapped\",[4001,4023]],[[4003,4006],\"valid\"],[[4007,4007],\"mapped\",[4006,4023]],[[4008,4011],\"valid\"],[[4012,4012],\"mapped\",[4011,4023]],[[4013,4013],\"valid\"],[[4014,4016],\"valid\"],[[4017,4023],\"valid\"],[[4024,4024],\"valid\"],[[4025,4025],\"mapped\",[3984,4021]],[[4026,4028],\"valid\"],[[4029,4029],\"disallowed\"],[[4030,4037],\"valid\",[],\"NV8\"],[[4038,4038],\"valid\"],[[4039,4044],\"valid\",[],\"NV8\"],[[4045,4045],\"disallowed\"],[[4046,4046],\"valid\",[],\"NV8\"],[[4047,4047],\"valid\",[],\"NV8\"],[[4048,4049],\"valid\",[],\"NV8\"],[[4050,4052],\"valid\",[],\"NV8\"],[[4053,4056],\"valid\",[],\"NV8\"],[[4057,4058],\"valid\",[],\"NV8\"],[[4059,4095],\"disallowed\"],[[4096,4129],\"valid\"],[[4130,4130],\"valid\"],[[4131,4135],\"valid\"],[[4136,4136],\"valid\"],[[4137,4138],\"valid\"],[[4139,4139],\"valid\"],[[4140,4146],\"valid\"],[[4147,4149],\"valid\"],[[4150,4153],\"valid\"],[[4154,4159],\"valid\"],[[4160,4169],\"valid\"],[[4170,4175],\"valid\",[],\"NV8\"],[[4176,4185],\"valid\"],[[4186,4249],\"valid\"],[[4250,4253],\"valid\"],[[4254,4255],\"valid\",[],\"NV8\"],[[4256,4293],\"disallowed\"],[[4294,4294],\"disallowed\"],[[4295,4295],\"mapped\",[11559]],[[4296,4300],\"disallowed\"],[[4301,4301],\"mapped\",[11565]],[[4302,4303],\"disallowed\"],[[4304,4342],\"valid\"],[[4343,4344],\"valid\"],[[4345,4346],\"valid\"],[[4347,4347],\"valid\",[],\"NV8\"],[[4348,4348],\"mapped\",[4316]],[[4349,4351],\"valid\"],[[4352,4441],\"valid\",[],\"NV8\"],[[4442,4446],\"valid\",[],\"NV8\"],[[4447,4448],\"disallowed\"],[[4449,4514],\"valid\",[],\"NV8\"],[[4515,4519],\"valid\",[],\"NV8\"],[[4520,4601],\"valid\",[],\"NV8\"],[[4602,4607],\"valid\",[],\"NV8\"],[[4608,4614],\"valid\"],[[4615,4615],\"valid\"],[[4616,4678],\"valid\"],[[4679,4679],\"valid\"],[[4680,4680],\"valid\"],[[4681,4681],\"disallowed\"],[[4682,4685],\"valid\"],[[4686,4687],\"disallowed\"],[[4688,4694],\"valid\"],[[4695,4695],\"disallowed\"],[[4696,4696],\"valid\"],[[4697,4697],\"disallowed\"],[[4698,4701],\"valid\"],[[4702,4703],\"disallowed\"],[[4704,4742],\"valid\"],[[4743,4743],\"valid\"],[[4744,4744],\"valid\"],[[4745,4745],\"disallowed\"],[[4746,4749],\"valid\"],[[4750,4751],\"disallowed\"],[[4752,4782],\"valid\"],[[4783,4783],\"valid\"],[[4784,4784],\"valid\"],[[4785,4785],\"disallowed\"],[[4786,4789],\"valid\"],[[4790,4791],\"disallowed\"],[[4792,4798],\"valid\"],[[4799,4799],\"disallowed\"],[[4800,4800],\"valid\"],[[4801,4801],\"disallowed\"],[[4802,4805],\"valid\"],[[4806,4807],\"disallowed\"],[[4808,4814],\"valid\"],[[4815,4815],\"valid\"],[[4816,4822],\"valid\"],[[4823,4823],\"disallowed\"],[[4824,4846],\"valid\"],[[4847,4847],\"valid\"],[[4848,4878],\"valid\"],[[4879,4879],\"valid\"],[[4880,4880],\"valid\"],[[4881,4881],\"disallowed\"],[[4882,4885],\"valid\"],[[4886,4887],\"disallowed\"],[[4888,4894],\"valid\"],[[4895,4895],\"valid\"],[[4896,4934],\"valid\"],[[4935,4935],\"valid\"],[[4936,4954],\"valid\"],[[4955,4956],\"disallowed\"],[[4957,4958],\"valid\"],[[4959,4959],\"valid\"],[[4960,4960],\"valid\",[],\"NV8\"],[[4961,4988],\"valid\",[],\"NV8\"],[[4989,4991],\"disallowed\"],[[4992,5007],\"valid\"],[[5008,5017],\"valid\",[],\"NV8\"],[[5018,5023],\"disallowed\"],[[5024,5108],\"valid\"],[[5109,5109],\"valid\"],[[5110,5111],\"disallowed\"],[[5112,5112],\"mapped\",[5104]],[[5113,5113],\"mapped\",[5105]],[[5114,5114],\"mapped\",[5106]],[[5115,5115],\"mapped\",[5107]],[[5116,5116],\"mapped\",[5108]],[[5117,5117],\"mapped\",[5109]],[[5118,5119],\"disallowed\"],[[5120,5120],\"valid\",[],\"NV8\"],[[5121,5740],\"valid\"],[[5741,5742],\"valid\",[],\"NV8\"],[[5743,5750],\"valid\"],[[5751,5759],\"valid\"],[[5760,5760],\"disallowed\"],[[5761,5786],\"valid\"],[[5787,5788],\"valid\",[],\"NV8\"],[[5789,5791],\"disallowed\"],[[5792,5866],\"valid\"],[[5867,5872],\"valid\",[],\"NV8\"],[[5873,5880],\"valid\"],[[5881,5887],\"disallowed\"],[[5888,5900],\"valid\"],[[5901,5901],\"disallowed\"],[[5902,5908],\"valid\"],[[5909,5919],\"disallowed\"],[[5920,5940],\"valid\"],[[5941,5942],\"valid\",[],\"NV8\"],[[5943,5951],\"disallowed\"],[[5952,5971],\"valid\"],[[5972,5983],\"disallowed\"],[[5984,5996],\"valid\"],[[5997,5997],\"disallowed\"],[[5998,6000],\"valid\"],[[6001,6001],\"disallowed\"],[[6002,6003],\"valid\"],[[6004,6015],\"disallowed\"],[[6016,6067],\"valid\"],[[6068,6069],\"disallowed\"],[[6070,6099],\"valid\"],[[6100,6102],\"valid\",[],\"NV8\"],[[6103,6103],\"valid\"],[[6104,6107],\"valid\",[],\"NV8\"],[[6108,6108],\"valid\"],[[6109,6109],\"valid\"],[[6110,6111],\"disallowed\"],[[6112,6121],\"valid\"],[[6122,6127],\"disallowed\"],[[6128,6137],\"valid\",[],\"NV8\"],[[6138,6143],\"disallowed\"],[[6144,6149],\"valid\",[],\"NV8\"],[[6150,6150],\"disallowed\"],[[6151,6154],\"valid\",[],\"NV8\"],[[6155,6157],\"ignored\"],[[6158,6158],\"disallowed\"],[[6159,6159],\"disallowed\"],[[6160,6169],\"valid\"],[[6170,6175],\"disallowed\"],[[6176,6263],\"valid\"],[[6264,6271],\"disallowed\"],[[6272,6313],\"valid\"],[[6314,6314],\"valid\"],[[6315,6319],\"disallowed\"],[[6320,6389],\"valid\"],[[6390,6399],\"disallowed\"],[[6400,6428],\"valid\"],[[6429,6430],\"valid\"],[[6431,6431],\"disallowed\"],[[6432,6443],\"valid\"],[[6444,6447],\"disallowed\"],[[6448,6459],\"valid\"],[[6460,6463],\"disallowed\"],[[6464,6464],\"valid\",[],\"NV8\"],[[6465,6467],\"disallowed\"],[[6468,6469],\"valid\",[],\"NV8\"],[[6470,6509],\"valid\"],[[6510,6511],\"disallowed\"],[[6512,6516],\"valid\"],[[6517,6527],\"disallowed\"],[[6528,6569],\"valid\"],[[6570,6571],\"valid\"],[[6572,6575],\"disallowed\"],[[6576,6601],\"valid\"],[[6602,6607],\"disallowed\"],[[6608,6617],\"valid\"],[[6618,6618],\"valid\",[],\"XV8\"],[[6619,6621],\"disallowed\"],[[6622,6623],\"valid\",[],\"NV8\"],[[6624,6655],\"valid\",[],\"NV8\"],[[6656,6683],\"valid\"],[[6684,6685],\"disallowed\"],[[6686,6687],\"valid\",[],\"NV8\"],[[6688,6750],\"valid\"],[[6751,6751],\"disallowed\"],[[6752,6780],\"valid\"],[[6781,6782],\"disallowed\"],[[6783,6793],\"valid\"],[[6794,6799],\"disallowed\"],[[6800,6809],\"valid\"],[[6810,6815],\"disallowed\"],[[6816,6822],\"valid\",[],\"NV8\"],[[6823,6823],\"valid\"],[[6824,6829],\"valid\",[],\"NV8\"],[[6830,6831],\"disallowed\"],[[6832,6845],\"valid\"],[[6846,6846],\"valid\",[],\"NV8\"],[[6847,6911],\"disallowed\"],[[6912,6987],\"valid\"],[[6988,6991],\"disallowed\"],[[6992,7001],\"valid\"],[[7002,7018],\"valid\",[],\"NV8\"],[[7019,7027],\"valid\"],[[7028,7036],\"valid\",[],\"NV8\"],[[7037,7039],\"disallowed\"],[[7040,7082],\"valid\"],[[7083,7085],\"valid\"],[[7086,7097],\"valid\"],[[7098,7103],\"valid\"],[[7104,7155],\"valid\"],[[7156,7163],\"disallowed\"],[[7164,7167],\"valid\",[],\"NV8\"],[[7168,7223],\"valid\"],[[7224,7226],\"disallowed\"],[[7227,7231],\"valid\",[],\"NV8\"],[[7232,7241],\"valid\"],[[7242,7244],\"disallowed\"],[[7245,7293],\"valid\"],[[7294,7295],\"valid\",[],\"NV8\"],[[7296,7359],\"disallowed\"],[[7360,7367],\"valid\",[],\"NV8\"],[[7368,7375],\"disallowed\"],[[7376,7378],\"valid\"],[[7379,7379],\"valid\",[],\"NV8\"],[[7380,7410],\"valid\"],[[7411,7414],\"valid\"],[[7415,7415],\"disallowed\"],[[7416,7417],\"valid\"],[[7418,7423],\"disallowed\"],[[7424,7467],\"valid\"],[[7468,7468],\"mapped\",[97]],[[7469,7469],\"mapped\",[230]],[[7470,7470],\"mapped\",[98]],[[7471,7471],\"valid\"],[[7472,7472],\"mapped\",[100]],[[7473,7473],\"mapped\",[101]],[[7474,7474],\"mapped\",[477]],[[7475,7475],\"mapped\",[103]],[[7476,7476],\"mapped\",[104]],[[7477,7477],\"mapped\",[105]],[[7478,7478],\"mapped\",[106]],[[7479,7479],\"mapped\",[107]],[[7480,7480],\"mapped\",[108]],[[7481,7481],\"mapped\",[109]],[[7482,7482],\"mapped\",[110]],[[7483,7483],\"valid\"],[[7484,7484],\"mapped\",[111]],[[7485,7485],\"mapped\",[547]],[[7486,7486],\"mapped\",[112]],[[7487,7487],\"mapped\",[114]],[[7488,7488],\"mapped\",[116]],[[7489,7489],\"mapped\",[117]],[[7490,7490],\"mapped\",[119]],[[7491,7491],\"mapped\",[97]],[[7492,7492],\"mapped\",[592]],[[7493,7493],\"mapped\",[593]],[[7494,7494],\"mapped\",[7426]],[[7495,7495],\"mapped\",[98]],[[7496,7496],\"mapped\",[100]],[[7497,7497],\"mapped\",[101]],[[7498,7498],\"mapped\",[601]],[[7499,7499],\"mapped\",[603]],[[7500,7500],\"mapped\",[604]],[[7501,7501],\"mapped\",[103]],[[7502,7502],\"valid\"],[[7503,7503],\"mapped\",[107]],[[7504,7504],\"mapped\",[109]],[[7505,7505],\"mapped\",[331]],[[7506,7506],\"mapped\",[111]],[[7507,7507],\"mapped\",[596]],[[7508,7508],\"mapped\",[7446]],[[7509,7509],\"mapped\",[7447]],[[7510,7510],\"mapped\",[112]],[[7511,7511],\"mapped\",[116]],[[7512,7512],\"mapped\",[117]],[[7513,7513],\"mapped\",[7453]],[[7514,7514],\"mapped\",[623]],[[7515,7515],\"mapped\",[118]],[[7516,7516],\"mapped\",[7461]],[[7517,7517],\"mapped\",[946]],[[7518,7518],\"mapped\",[947]],[[7519,7519],\"mapped\",[948]],[[7520,7520],\"mapped\",[966]],[[7521,7521],\"mapped\",[967]],[[7522,7522],\"mapped\",[105]],[[7523,7523],\"mapped\",[114]],[[7524,7524],\"mapped\",[117]],[[7525,7525],\"mapped\",[118]],[[7526,7526],\"mapped\",[946]],[[7527,7527],\"mapped\",[947]],[[7528,7528],\"mapped\",[961]],[[7529,7529],\"mapped\",[966]],[[7530,7530],\"mapped\",[967]],[[7531,7531],\"valid\"],[[7532,7543],\"valid\"],[[7544,7544],\"mapped\",[1085]],[[7545,7578],\"valid\"],[[7579,7579],\"mapped\",[594]],[[7580,7580],\"mapped\",[99]],[[7581,7581],\"mapped\",[597]],[[7582,7582],\"mapped\",[240]],[[7583,7583],\"mapped\",[604]],[[7584,7584],\"mapped\",[102]],[[7585,7585],\"mapped\",[607]],[[7586,7586],\"mapped\",[609]],[[7587,7587],\"mapped\",[613]],[[7588,7588],\"mapped\",[616]],[[7589,7589],\"mapped\",[617]],[[7590,7590],\"mapped\",[618]],[[7591,7591],\"mapped\",[7547]],[[7592,7592],\"mapped\",[669]],[[7593,7593],\"mapped\",[621]],[[7594,7594],\"mapped\",[7557]],[[7595,7595],\"mapped\",[671]],[[7596,7596],\"mapped\",[625]],[[7597,7597],\"mapped\",[624]],[[7598,7598],\"mapped\",[626]],[[7599,7599],\"mapped\",[627]],[[7600,7600],\"mapped\",[628]],[[7601,7601],\"mapped\",[629]],[[7602,7602],\"mapped\",[632]],[[7603,7603],\"mapped\",[642]],[[7604,7604],\"mapped\",[643]],[[7605,7605],\"mapped\",[427]],[[7606,7606],\"mapped\",[649]],[[7607,7607],\"mapped\",[650]],[[7608,7608],\"mapped\",[7452]],[[7609,7609],\"mapped\",[651]],[[7610,7610],\"mapped\",[652]],[[7611,7611],\"mapped\",[122]],[[7612,7612],\"mapped\",[656]],[[7613,7613],\"mapped\",[657]],[[7614,7614],\"mapped\",[658]],[[7615,7615],\"mapped\",[952]],[[7616,7619],\"valid\"],[[7620,7626],\"valid\"],[[7627,7654],\"valid\"],[[7655,7669],\"valid\"],[[7670,7675],\"disallowed\"],[[7676,7676],\"valid\"],[[7677,7677],\"valid\"],[[7678,7679],\"valid\"],[[7680,7680],\"mapped\",[7681]],[[7681,7681],\"valid\"],[[7682,7682],\"mapped\",[7683]],[[7683,7683],\"valid\"],[[7684,7684],\"mapped\",[7685]],[[7685,7685],\"valid\"],[[7686,7686],\"mapped\",[7687]],[[7687,7687],\"valid\"],[[7688,7688],\"mapped\",[7689]],[[7689,7689],\"valid\"],[[7690,7690],\"mapped\",[7691]],[[7691,7691],\"valid\"],[[7692,7692],\"mapped\",[7693]],[[7693,7693],\"valid\"],[[7694,7694],\"mapped\",[7695]],[[7695,7695],\"valid\"],[[7696,7696],\"mapped\",[7697]],[[7697,7697],\"valid\"],[[7698,7698],\"mapped\",[7699]],[[7699,7699],\"valid\"],[[7700,7700],\"mapped\",[7701]],[[7701,7701],\"valid\"],[[7702,7702],\"mapped\",[7703]],[[7703,7703],\"valid\"],[[7704,7704],\"mapped\",[7705]],[[7705,7705],\"valid\"],[[7706,7706],\"mapped\",[7707]],[[7707,7707],\"valid\"],[[7708,7708],\"mapped\",[7709]],[[7709,7709],\"valid\"],[[7710,7710],\"mapped\",[7711]],[[7711,7711],\"valid\"],[[7712,7712],\"mapped\",[7713]],[[7713,7713],\"valid\"],[[7714,7714],\"mapped\",[7715]],[[7715,7715],\"valid\"],[[7716,7716],\"mapped\",[7717]],[[7717,7717],\"valid\"],[[7718,7718],\"mapped\",[7719]],[[7719,7719],\"valid\"],[[7720,7720],\"mapped\",[7721]],[[7721,7721],\"valid\"],[[7722,7722],\"mapped\",[7723]],[[7723,7723],\"valid\"],[[7724,7724],\"mapped\",[7725]],[[7725,7725],\"valid\"],[[7726,7726],\"mapped\",[7727]],[[7727,7727],\"valid\"],[[7728,7728],\"mapped\",[7729]],[[7729,7729],\"valid\"],[[7730,7730],\"mapped\",[7731]],[[7731,7731],\"valid\"],[[7732,7732],\"mapped\",[7733]],[[7733,7733],\"valid\"],[[7734,7734],\"mapped\",[7735]],[[7735,7735],\"valid\"],[[7736,7736],\"mapped\",[7737]],[[7737,7737],\"valid\"],[[7738,7738],\"mapped\",[7739]],[[7739,7739],\"valid\"],[[7740,7740],\"mapped\",[7741]],[[7741,7741],\"valid\"],[[7742,7742],\"mapped\",[7743]],[[7743,7743],\"valid\"],[[7744,7744],\"mapped\",[7745]],[[7745,7745],\"valid\"],[[7746,7746],\"mapped\",[7747]],[[7747,7747],\"valid\"],[[7748,7748],\"mapped\",[7749]],[[7749,7749],\"valid\"],[[7750,7750],\"mapped\",[7751]],[[7751,7751],\"valid\"],[[7752,7752],\"mapped\",[7753]],[[7753,7753],\"valid\"],[[7754,7754],\"mapped\",[7755]],[[7755,7755],\"valid\"],[[7756,7756],\"mapped\",[7757]],[[7757,7757],\"valid\"],[[7758,7758],\"mapped\",[7759]],[[7759,7759],\"valid\"],[[7760,7760],\"mapped\",[7761]],[[7761,7761],\"valid\"],[[7762,7762],\"mapped\",[7763]],[[7763,7763],\"valid\"],[[7764,7764],\"mapped\",[7765]],[[7765,7765],\"valid\"],[[7766,7766],\"mapped\",[7767]],[[7767,7767],\"valid\"],[[7768,7768],\"mapped\",[7769]],[[7769,7769],\"valid\"],[[7770,7770],\"mapped\",[7771]],[[7771,7771],\"valid\"],[[7772,7772],\"mapped\",[7773]],[[7773,7773],\"valid\"],[[7774,7774],\"mapped\",[7775]],[[7775,7775],\"valid\"],[[7776,7776],\"mapped\",[7777]],[[7777,7777],\"valid\"],[[7778,7778],\"mapped\",[7779]],[[7779,7779],\"valid\"],[[7780,7780],\"mapped\",[7781]],[[7781,7781],\"valid\"],[[7782,7782],\"mapped\",[7783]],[[7783,7783],\"valid\"],[[7784,7784],\"mapped\",[7785]],[[7785,7785],\"valid\"],[[7786,7786],\"mapped\",[7787]],[[7787,7787],\"valid\"],[[7788,7788],\"mapped\",[7789]],[[7789,7789],\"valid\"],[[7790,7790],\"mapped\",[7791]],[[7791,7791],\"valid\"],[[7792,7792],\"mapped\",[7793]],[[7793,7793],\"valid\"],[[7794,7794],\"mapped\",[7795]],[[7795,7795],\"valid\"],[[7796,7796],\"mapped\",[7797]],[[7797,7797],\"valid\"],[[7798,7798],\"mapped\",[7799]],[[7799,7799],\"valid\"],[[7800,7800],\"mapped\",[7801]],[[7801,7801],\"valid\"],[[7802,7802],\"mapped\",[7803]],[[7803,7803],\"valid\"],[[7804,7804],\"mapped\",[7805]],[[7805,7805],\"valid\"],[[7806,7806],\"mapped\",[7807]],[[7807,7807],\"valid\"],[[7808,7808],\"mapped\",[7809]],[[7809,7809],\"valid\"],[[7810,7810],\"mapped\",[7811]],[[7811,7811],\"valid\"],[[7812,7812],\"mapped\",[7813]],[[7813,7813],\"valid\"],[[7814,7814],\"mapped\",[7815]],[[7815,7815],\"valid\"],[[7816,7816],\"mapped\",[7817]],[[7817,7817],\"valid\"],[[7818,7818],\"mapped\",[7819]],[[7819,7819],\"valid\"],[[7820,7820],\"mapped\",[7821]],[[7821,7821],\"valid\"],[[7822,7822],\"mapped\",[7823]],[[7823,7823],\"valid\"],[[7824,7824],\"mapped\",[7825]],[[7825,7825],\"valid\"],[[7826,7826],\"mapped\",[7827]],[[7827,7827],\"valid\"],[[7828,7828],\"mapped\",[7829]],[[7829,7833],\"valid\"],[[7834,7834],\"mapped\",[97,702]],[[7835,7835],\"mapped\",[7777]],[[7836,7837],\"valid\"],[[7838,7838],\"mapped\",[115,115]],[[7839,7839],\"valid\"],[[7840,7840],\"mapped\",[7841]],[[7841,7841],\"valid\"],[[7842,7842],\"mapped\",[7843]],[[7843,7843],\"valid\"],[[7844,7844],\"mapped\",[7845]],[[7845,7845],\"valid\"],[[7846,7846],\"mapped\",[7847]],[[7847,7847],\"valid\"],[[7848,7848],\"mapped\",[7849]],[[7849,7849],\"valid\"],[[7850,7850],\"mapped\",[7851]],[[7851,7851],\"valid\"],[[7852,7852],\"mapped\",[7853]],[[7853,7853],\"valid\"],[[7854,7854],\"mapped\",[7855]],[[7855,7855],\"valid\"],[[7856,7856],\"mapped\",[7857]],[[7857,7857],\"valid\"],[[7858,7858],\"mapped\",[7859]],[[7859,7859],\"valid\"],[[7860,7860],\"mapped\",[7861]],[[7861,7861],\"valid\"],[[7862,7862],\"mapped\",[7863]],[[7863,7863],\"valid\"],[[7864,7864],\"mapped\",[7865]],[[7865,7865],\"valid\"],[[7866,7866],\"mapped\",[7867]],[[7867,7867],\"valid\"],[[7868,7868],\"mapped\",[7869]],[[7869,7869],\"valid\"],[[7870,7870],\"mapped\",[7871]],[[7871,7871],\"valid\"],[[7872,7872],\"mapped\",[7873]],[[7873,7873],\"valid\"],[[7874,7874],\"mapped\",[7875]],[[7875,7875],\"valid\"],[[7876,7876],\"mapped\",[7877]],[[7877,7877],\"valid\"],[[7878,7878],\"mapped\",[7879]],[[7879,7879],\"valid\"],[[7880,7880],\"mapped\",[7881]],[[7881,7881],\"valid\"],[[7882,7882],\"mapped\",[7883]],[[7883,7883],\"valid\"],[[7884,7884],\"mapped\",[7885]],[[7885,7885],\"valid\"],[[7886,7886],\"mapped\",[7887]],[[7887,7887],\"valid\"],[[7888,7888],\"mapped\",[7889]],[[7889,7889],\"valid\"],[[7890,7890],\"mapped\",[7891]],[[7891,7891],\"valid\"],[[7892,7892],\"mapped\",[7893]],[[7893,7893],\"valid\"],[[7894,7894],\"mapped\",[7895]],[[7895,7895],\"valid\"],[[7896,7896],\"mapped\",[7897]],[[7897,7897],\"valid\"],[[7898,7898],\"mapped\",[7899]],[[7899,7899],\"valid\"],[[7900,7900],\"mapped\",[7901]],[[7901,7901],\"valid\"],[[7902,7902],\"mapped\",[7903]],[[7903,7903],\"valid\"],[[7904,7904],\"mapped\",[7905]],[[7905,7905],\"valid\"],[[7906,7906],\"mapped\",[7907]],[[7907,7907],\"valid\"],[[7908,7908],\"mapped\",[7909]],[[7909,7909],\"valid\"],[[7910,7910],\"mapped\",[7911]],[[7911,7911],\"valid\"],[[7912,7912],\"mapped\",[7913]],[[7913,7913],\"valid\"],[[7914,7914],\"mapped\",[7915]],[[7915,7915],\"valid\"],[[7916,7916],\"mapped\",[7917]],[[7917,7917],\"valid\"],[[7918,7918],\"mapped\",[7919]],[[7919,7919],\"valid\"],[[7920,7920],\"mapped\",[7921]],[[7921,7921],\"valid\"],[[7922,7922],\"mapped\",[7923]],[[7923,7923],\"valid\"],[[7924,7924],\"mapped\",[7925]],[[7925,7925],\"valid\"],[[7926,7926],\"mapped\",[7927]],[[7927,7927],\"valid\"],[[7928,7928],\"mapped\",[7929]],[[7929,7929],\"valid\"],[[7930,7930],\"mapped\",[7931]],[[7931,7931],\"valid\"],[[7932,7932],\"mapped\",[7933]],[[7933,7933],\"valid\"],[[7934,7934],\"mapped\",[7935]],[[7935,7935],\"valid\"],[[7936,7943],\"valid\"],[[7944,7944],\"mapped\",[7936]],[[7945,7945],\"mapped\",[7937]],[[7946,7946],\"mapped\",[7938]],[[7947,7947],\"mapped\",[7939]],[[7948,7948],\"mapped\",[7940]],[[7949,7949],\"mapped\",[7941]],[[7950,7950],\"mapped\",[7942]],[[7951,7951],\"mapped\",[7943]],[[7952,7957],\"valid\"],[[7958,7959],\"disallowed\"],[[7960,7960],\"mapped\",[7952]],[[7961,7961],\"mapped\",[7953]],[[7962,7962],\"mapped\",[7954]],[[7963,7963],\"mapped\",[7955]],[[7964,7964],\"mapped\",[7956]],[[7965,7965],\"mapped\",[7957]],[[7966,7967],\"disallowed\"],[[7968,7975],\"valid\"],[[7976,7976],\"mapped\",[7968]],[[7977,7977],\"mapped\",[7969]],[[7978,7978],\"mapped\",[7970]],[[7979,7979],\"mapped\",[7971]],[[7980,7980],\"mapped\",[7972]],[[7981,7981],\"mapped\",[7973]],[[7982,7982],\"mapped\",[7974]],[[7983,7983],\"mapped\",[7975]],[[7984,7991],\"valid\"],[[7992,7992],\"mapped\",[7984]],[[7993,7993],\"mapped\",[7985]],[[7994,7994],\"mapped\",[7986]],[[7995,7995],\"mapped\",[7987]],[[7996,7996],\"mapped\",[7988]],[[7997,7997],\"mapped\",[7989]],[[7998,7998],\"mapped\",[7990]],[[7999,7999],\"mapped\",[7991]],[[8000,8005],\"valid\"],[[8006,8007],\"disallowed\"],[[8008,8008],\"mapped\",[8000]],[[8009,8009],\"mapped\",[8001]],[[8010,8010],\"mapped\",[8002]],[[8011,8011],\"mapped\",[8003]],[[8012,8012],\"mapped\",[8004]],[[8013,8013],\"mapped\",[8005]],[[8014,8015],\"disallowed\"],[[8016,8023],\"valid\"],[[8024,8024],\"disallowed\"],[[8025,8025],\"mapped\",[8017]],[[8026,8026],\"disallowed\"],[[8027,8027],\"mapped\",[8019]],[[8028,8028],\"disallowed\"],[[8029,8029],\"mapped\",[8021]],[[8030,8030],\"disallowed\"],[[8031,8031],\"mapped\",[8023]],[[8032,8039],\"valid\"],[[8040,8040],\"mapped\",[8032]],[[8041,8041],\"mapped\",[8033]],[[8042,8042],\"mapped\",[8034]],[[8043,8043],\"mapped\",[8035]],[[8044,8044],\"mapped\",[8036]],[[8045,8045],\"mapped\",[8037]],[[8046,8046],\"mapped\",[8038]],[[8047,8047],\"mapped\",[8039]],[[8048,8048],\"valid\"],[[8049,8049],\"mapped\",[940]],[[8050,8050],\"valid\"],[[8051,8051],\"mapped\",[941]],[[8052,8052],\"valid\"],[[8053,8053],\"mapped\",[942]],[[8054,8054],\"valid\"],[[8055,8055],\"mapped\",[943]],[[8056,8056],\"valid\"],[[8057,8057],\"mapped\",[972]],[[8058,8058],\"valid\"],[[8059,8059],\"mapped\",[973]],[[8060,8060],\"valid\"],[[8061,8061],\"mapped\",[974]],[[8062,8063],\"disallowed\"],[[8064,8064],\"mapped\",[7936,953]],[[8065,8065],\"mapped\",[7937,953]],[[8066,8066],\"mapped\",[7938,953]],[[8067,8067],\"mapped\",[7939,953]],[[8068,8068],\"mapped\",[7940,953]],[[8069,8069],\"mapped\",[7941,953]],[[8070,8070],\"mapped\",[7942,953]],[[8071,8071],\"mapped\",[7943,953]],[[8072,8072],\"mapped\",[7936,953]],[[8073,8073],\"mapped\",[7937,953]],[[8074,8074],\"mapped\",[7938,953]],[[8075,8075],\"mapped\",[7939,953]],[[8076,8076],\"mapped\",[7940,953]],[[8077,8077],\"mapped\",[7941,953]],[[8078,8078],\"mapped\",[7942,953]],[[8079,8079],\"mapped\",[7943,953]],[[8080,8080],\"mapped\",[7968,953]],[[8081,8081],\"mapped\",[7969,953]],[[8082,8082],\"mapped\",[7970,953]],[[8083,8083],\"mapped\",[7971,953]],[[8084,8084],\"mapped\",[7972,953]],[[8085,8085],\"mapped\",[7973,953]],[[8086,8086],\"mapped\",[7974,953]],[[8087,8087],\"mapped\",[7975,953]],[[8088,8088],\"mapped\",[7968,953]],[[8089,8089],\"mapped\",[7969,953]],[[8090,8090],\"mapped\",[7970,953]],[[8091,8091],\"mapped\",[7971,953]],[[8092,8092],\"mapped\",[7972,953]],[[8093,8093],\"mapped\",[7973,953]],[[8094,8094],\"mapped\",[7974,953]],[[8095,8095],\"mapped\",[7975,953]],[[8096,8096],\"mapped\",[8032,953]],[[8097,8097],\"mapped\",[8033,953]],[[8098,8098],\"mapped\",[8034,953]],[[8099,8099],\"mapped\",[8035,953]],[[8100,8100],\"mapped\",[8036,953]],[[8101,8101],\"mapped\",[8037,953]],[[8102,8102],\"mapped\",[8038,953]],[[8103,8103],\"mapped\",[8039,953]],[[8104,8104],\"mapped\",[8032,953]],[[8105,8105],\"mapped\",[8033,953]],[[8106,8106],\"mapped\",[8034,953]],[[8107,8107],\"mapped\",[8035,953]],[[8108,8108],\"mapped\",[8036,953]],[[8109,8109],\"mapped\",[8037,953]],[[8110,8110],\"mapped\",[8038,953]],[[8111,8111],\"mapped\",[8039,953]],[[8112,8113],\"valid\"],[[8114,8114],\"mapped\",[8048,953]],[[8115,8115],\"mapped\",[945,953]],[[8116,8116],\"mapped\",[940,953]],[[8117,8117],\"disallowed\"],[[8118,8118],\"valid\"],[[8119,8119],\"mapped\",[8118,953]],[[8120,8120],\"mapped\",[8112]],[[8121,8121],\"mapped\",[8113]],[[8122,8122],\"mapped\",[8048]],[[8123,8123],\"mapped\",[940]],[[8124,8124],\"mapped\",[945,953]],[[8125,8125],\"disallowed_STD3_mapped\",[32,787]],[[8126,8126],\"mapped\",[953]],[[8127,8127],\"disallowed_STD3_mapped\",[32,787]],[[8128,8128],\"disallowed_STD3_mapped\",[32,834]],[[8129,8129],\"disallowed_STD3_mapped\",[32,776,834]],[[8130,8130],\"mapped\",[8052,953]],[[8131,8131],\"mapped\",[951,953]],[[8132,8132],\"mapped\",[942,953]],[[8133,8133],\"disallowed\"],[[8134,8134],\"valid\"],[[8135,8135],\"mapped\",[8134,953]],[[8136,8136],\"mapped\",[8050]],[[8137,8137],\"mapped\",[941]],[[8138,8138],\"mapped\",[8052]],[[8139,8139],\"mapped\",[942]],[[8140,8140],\"mapped\",[951,953]],[[8141,8141],\"disallowed_STD3_mapped\",[32,787,768]],[[8142,8142],\"disallowed_STD3_mapped\",[32,787,769]],[[8143,8143],\"disallowed_STD3_mapped\",[32,787,834]],[[8144,8146],\"valid\"],[[8147,8147],\"mapped\",[912]],[[8148,8149],\"disallowed\"],[[8150,8151],\"valid\"],[[8152,8152],\"mapped\",[8144]],[[8153,8153],\"mapped\",[8145]],[[8154,8154],\"mapped\",[8054]],[[8155,8155],\"mapped\",[943]],[[8156,8156],\"disallowed\"],[[8157,8157],\"disallowed_STD3_mapped\",[32,788,768]],[[8158,8158],\"disallowed_STD3_mapped\",[32,788,769]],[[8159,8159],\"disallowed_STD3_mapped\",[32,788,834]],[[8160,8162],\"valid\"],[[8163,8163],\"mapped\",[944]],[[8164,8167],\"valid\"],[[8168,8168],\"mapped\",[8160]],[[8169,8169],\"mapped\",[8161]],[[8170,8170],\"mapped\",[8058]],[[8171,8171],\"mapped\",[973]],[[8172,8172],\"mapped\",[8165]],[[8173,8173],\"disallowed_STD3_mapped\",[32,776,768]],[[8174,8174],\"disallowed_STD3_mapped\",[32,776,769]],[[8175,8175],\"disallowed_STD3_mapped\",[96]],[[8176,8177],\"disallowed\"],[[8178,8178],\"mapped\",[8060,953]],[[8179,8179],\"mapped\",[969,953]],[[8180,8180],\"mapped\",[974,953]],[[8181,8181],\"disallowed\"],[[8182,8182],\"valid\"],[[8183,8183],\"mapped\",[8182,953]],[[8184,8184],\"mapped\",[8056]],[[8185,8185],\"mapped\",[972]],[[8186,8186],\"mapped\",[8060]],[[8187,8187],\"mapped\",[974]],[[8188,8188],\"mapped\",[969,953]],[[8189,8189],\"disallowed_STD3_mapped\",[32,769]],[[8190,8190],\"disallowed_STD3_mapped\",[32,788]],[[8191,8191],\"disallowed\"],[[8192,8202],\"disallowed_STD3_mapped\",[32]],[[8203,8203],\"ignored\"],[[8204,8205],\"deviation\",[]],[[8206,8207],\"disallowed\"],[[8208,8208],\"valid\",[],\"NV8\"],[[8209,8209],\"mapped\",[8208]],[[8210,8214],\"valid\",[],\"NV8\"],[[8215,8215],\"disallowed_STD3_mapped\",[32,819]],[[8216,8227],\"valid\",[],\"NV8\"],[[8228,8230],\"disallowed\"],[[8231,8231],\"valid\",[],\"NV8\"],[[8232,8238],\"disallowed\"],[[8239,8239],\"disallowed_STD3_mapped\",[32]],[[8240,8242],\"valid\",[],\"NV8\"],[[8243,8243],\"mapped\",[8242,8242]],[[8244,8244],\"mapped\",[8242,8242,8242]],[[8245,8245],\"valid\",[],\"NV8\"],[[8246,8246],\"mapped\",[8245,8245]],[[8247,8247],\"mapped\",[8245,8245,8245]],[[8248,8251],\"valid\",[],\"NV8\"],[[8252,8252],\"disallowed_STD3_mapped\",[33,33]],[[8253,8253],\"valid\",[],\"NV8\"],[[8254,8254],\"disallowed_STD3_mapped\",[32,773]],[[8255,8262],\"valid\",[],\"NV8\"],[[8263,8263],\"disallowed_STD3_mapped\",[63,63]],[[8264,8264],\"disallowed_STD3_mapped\",[63,33]],[[8265,8265],\"disallowed_STD3_mapped\",[33,63]],[[8266,8269],\"valid\",[],\"NV8\"],[[8270,8274],\"valid\",[],\"NV8\"],[[8275,8276],\"valid\",[],\"NV8\"],[[8277,8278],\"valid\",[],\"NV8\"],[[8279,8279],\"mapped\",[8242,8242,8242,8242]],[[8280,8286],\"valid\",[],\"NV8\"],[[8287,8287],\"disallowed_STD3_mapped\",[32]],[[8288,8288],\"ignored\"],[[8289,8291],\"disallowed\"],[[8292,8292],\"ignored\"],[[8293,8293],\"disallowed\"],[[8294,8297],\"disallowed\"],[[8298,8303],\"disallowed\"],[[8304,8304],\"mapped\",[48]],[[8305,8305],\"mapped\",[105]],[[8306,8307],\"disallowed\"],[[8308,8308],\"mapped\",[52]],[[8309,8309],\"mapped\",[53]],[[8310,8310],\"mapped\",[54]],[[8311,8311],\"mapped\",[55]],[[8312,8312],\"mapped\",[56]],[[8313,8313],\"mapped\",[57]],[[8314,8314],\"disallowed_STD3_mapped\",[43]],[[8315,8315],\"mapped\",[8722]],[[8316,8316],\"disallowed_STD3_mapped\",[61]],[[8317,8317],\"disallowed_STD3_mapped\",[40]],[[8318,8318],\"disallowed_STD3_mapped\",[41]],[[8319,8319],\"mapped\",[110]],[[8320,8320],\"mapped\",[48]],[[8321,8321],\"mapped\",[49]],[[8322,8322],\"mapped\",[50]],[[8323,8323],\"mapped\",[51]],[[8324,8324],\"mapped\",[52]],[[8325,8325],\"mapped\",[53]],[[8326,8326],\"mapped\",[54]],[[8327,8327],\"mapped\",[55]],[[8328,8328],\"mapped\",[56]],[[8329,8329],\"mapped\",[57]],[[8330,8330],\"disallowed_STD3_mapped\",[43]],[[8331,8331],\"mapped\",[8722]],[[8332,8332],\"disallowed_STD3_mapped\",[61]],[[8333,8333],\"disallowed_STD3_mapped\",[40]],[[8334,8334],\"disallowed_STD3_mapped\",[41]],[[8335,8335],\"disallowed\"],[[8336,8336],\"mapped\",[97]],[[8337,8337],\"mapped\",[101]],[[8338,8338],\"mapped\",[111]],[[8339,8339],\"mapped\",[120]],[[8340,8340],\"mapped\",[601]],[[8341,8341],\"mapped\",[104]],[[8342,8342],\"mapped\",[107]],[[8343,8343],\"mapped\",[108]],[[8344,8344],\"mapped\",[109]],[[8345,8345],\"mapped\",[110]],[[8346,8346],\"mapped\",[112]],[[8347,8347],\"mapped\",[115]],[[8348,8348],\"mapped\",[116]],[[8349,8351],\"disallowed\"],[[8352,8359],\"valid\",[],\"NV8\"],[[8360,8360],\"mapped\",[114,115]],[[8361,8362],\"valid\",[],\"NV8\"],[[8363,8363],\"valid\",[],\"NV8\"],[[8364,8364],\"valid\",[],\"NV8\"],[[8365,8367],\"valid\",[],\"NV8\"],[[8368,8369],\"valid\",[],\"NV8\"],[[8370,8373],\"valid\",[],\"NV8\"],[[8374,8376],\"valid\",[],\"NV8\"],[[8377,8377],\"valid\",[],\"NV8\"],[[8378,8378],\"valid\",[],\"NV8\"],[[8379,8381],\"valid\",[],\"NV8\"],[[8382,8382],\"valid\",[],\"NV8\"],[[8383,8399],\"disallowed\"],[[8400,8417],\"valid\",[],\"NV8\"],[[8418,8419],\"valid\",[],\"NV8\"],[[8420,8426],\"valid\",[],\"NV8\"],[[8427,8427],\"valid\",[],\"NV8\"],[[8428,8431],\"valid\",[],\"NV8\"],[[8432,8432],\"valid\",[],\"NV8\"],[[8433,8447],\"disallowed\"],[[8448,8448],\"disallowed_STD3_mapped\",[97,47,99]],[[8449,8449],\"disallowed_STD3_mapped\",[97,47,115]],[[8450,8450],\"mapped\",[99]],[[8451,8451],\"mapped\",[176,99]],[[8452,8452],\"valid\",[],\"NV8\"],[[8453,8453],\"disallowed_STD3_mapped\",[99,47,111]],[[8454,8454],\"disallowed_STD3_mapped\",[99,47,117]],[[8455,8455],\"mapped\",[603]],[[8456,8456],\"valid\",[],\"NV8\"],[[8457,8457],\"mapped\",[176,102]],[[8458,8458],\"mapped\",[103]],[[8459,8462],\"mapped\",[104]],[[8463,8463],\"mapped\",[295]],[[8464,8465],\"mapped\",[105]],[[8466,8467],\"mapped\",[108]],[[8468,8468],\"valid\",[],\"NV8\"],[[8469,8469],\"mapped\",[110]],[[8470,8470],\"mapped\",[110,111]],[[8471,8472],\"valid\",[],\"NV8\"],[[8473,8473],\"mapped\",[112]],[[8474,8474],\"mapped\",[113]],[[8475,8477],\"mapped\",[114]],[[8478,8479],\"valid\",[],\"NV8\"],[[8480,8480],\"mapped\",[115,109]],[[8481,8481],\"mapped\",[116,101,108]],[[8482,8482],\"mapped\",[116,109]],[[8483,8483],\"valid\",[],\"NV8\"],[[8484,8484],\"mapped\",[122]],[[8485,8485],\"valid\",[],\"NV8\"],[[8486,8486],\"mapped\",[969]],[[8487,8487],\"valid\",[],\"NV8\"],[[8488,8488],\"mapped\",[122]],[[8489,8489],\"valid\",[],\"NV8\"],[[8490,8490],\"mapped\",[107]],[[8491,8491],\"mapped\",[229]],[[8492,8492],\"mapped\",[98]],[[8493,8493],\"mapped\",[99]],[[8494,8494],\"valid\",[],\"NV8\"],[[8495,8496],\"mapped\",[101]],[[8497,8497],\"mapped\",[102]],[[8498,8498],\"disallowed\"],[[8499,8499],\"mapped\",[109]],[[8500,8500],\"mapped\",[111]],[[8501,8501],\"mapped\",[1488]],[[8502,8502],\"mapped\",[1489]],[[8503,8503],\"mapped\",[1490]],[[8504,8504],\"mapped\",[1491]],[[8505,8505],\"mapped\",[105]],[[8506,8506],\"valid\",[],\"NV8\"],[[8507,8507],\"mapped\",[102,97,120]],[[8508,8508],\"mapped\",[960]],[[8509,8510],\"mapped\",[947]],[[8511,8511],\"mapped\",[960]],[[8512,8512],\"mapped\",[8721]],[[8513,8516],\"valid\",[],\"NV8\"],[[8517,8518],\"mapped\",[100]],[[8519,8519],\"mapped\",[101]],[[8520,8520],\"mapped\",[105]],[[8521,8521],\"mapped\",[106]],[[8522,8523],\"valid\",[],\"NV8\"],[[8524,8524],\"valid\",[],\"NV8\"],[[8525,8525],\"valid\",[],\"NV8\"],[[8526,8526],\"valid\"],[[8527,8527],\"valid\",[],\"NV8\"],[[8528,8528],\"mapped\",[49,8260,55]],[[8529,8529],\"mapped\",[49,8260,57]],[[8530,8530],\"mapped\",[49,8260,49,48]],[[8531,8531],\"mapped\",[49,8260,51]],[[8532,8532],\"mapped\",[50,8260,51]],[[8533,8533],\"mapped\",[49,8260,53]],[[8534,8534],\"mapped\",[50,8260,53]],[[8535,8535],\"mapped\",[51,8260,53]],[[8536,8536],\"mapped\",[52,8260,53]],[[8537,8537],\"mapped\",[49,8260,54]],[[8538,8538],\"mapped\",[53,8260,54]],[[8539,8539],\"mapped\",[49,8260,56]],[[8540,8540],\"mapped\",[51,8260,56]],[[8541,8541],\"mapped\",[53,8260,56]],[[8542,8542],\"mapped\",[55,8260,56]],[[8543,8543],\"mapped\",[49,8260]],[[8544,8544],\"mapped\",[105]],[[8545,8545],\"mapped\",[105,105]],[[8546,8546],\"mapped\",[105,105,105]],[[8547,8547],\"mapped\",[105,118]],[[8548,8548],\"mapped\",[118]],[[8549,8549],\"mapped\",[118,105]],[[8550,8550],\"mapped\",[118,105,105]],[[8551,8551],\"mapped\",[118,105,105,105]],[[8552,8552],\"mapped\",[105,120]],[[8553,8553],\"mapped\",[120]],[[8554,8554],\"mapped\",[120,105]],[[8555,8555],\"mapped\",[120,105,105]],[[8556,8556],\"mapped\",[108]],[[8557,8557],\"mapped\",[99]],[[8558,8558],\"mapped\",[100]],[[8559,8559],\"mapped\",[109]],[[8560,8560],\"mapped\",[105]],[[8561,8561],\"mapped\",[105,105]],[[8562,8562],\"mapped\",[105,105,105]],[[8563,8563],\"mapped\",[105,118]],[[8564,8564],\"mapped\",[118]],[[8565,8565],\"mapped\",[118,105]],[[8566,8566],\"mapped\",[118,105,105]],[[8567,8567],\"mapped\",[118,105,105,105]],[[8568,8568],\"mapped\",[105,120]],[[8569,8569],\"mapped\",[120]],[[8570,8570],\"mapped\",[120,105]],[[8571,8571],\"mapped\",[120,105,105]],[[8572,8572],\"mapped\",[108]],[[8573,8573],\"mapped\",[99]],[[8574,8574],\"mapped\",[100]],[[8575,8575],\"mapped\",[109]],[[8576,8578],\"valid\",[],\"NV8\"],[[8579,8579],\"disallowed\"],[[8580,8580],\"valid\"],[[8581,8584],\"valid\",[],\"NV8\"],[[8585,8585],\"mapped\",[48,8260,51]],[[8586,8587],\"valid\",[],\"NV8\"],[[8588,8591],\"disallowed\"],[[8592,8682],\"valid\",[],\"NV8\"],[[8683,8691],\"valid\",[],\"NV8\"],[[8692,8703],\"valid\",[],\"NV8\"],[[8704,8747],\"valid\",[],\"NV8\"],[[8748,8748],\"mapped\",[8747,8747]],[[8749,8749],\"mapped\",[8747,8747,8747]],[[8750,8750],\"valid\",[],\"NV8\"],[[8751,8751],\"mapped\",[8750,8750]],[[8752,8752],\"mapped\",[8750,8750,8750]],[[8753,8799],\"valid\",[],\"NV8\"],[[8800,8800],\"disallowed_STD3_valid\"],[[8801,8813],\"valid\",[],\"NV8\"],[[8814,8815],\"disallowed_STD3_valid\"],[[8816,8945],\"valid\",[],\"NV8\"],[[8946,8959],\"valid\",[],\"NV8\"],[[8960,8960],\"valid\",[],\"NV8\"],[[8961,8961],\"valid\",[],\"NV8\"],[[8962,9000],\"valid\",[],\"NV8\"],[[9001,9001],\"mapped\",[12296]],[[9002,9002],\"mapped\",[12297]],[[9003,9082],\"valid\",[],\"NV8\"],[[9083,9083],\"valid\",[],\"NV8\"],[[9084,9084],\"valid\",[],\"NV8\"],[[9085,9114],\"valid\",[],\"NV8\"],[[9115,9166],\"valid\",[],\"NV8\"],[[9167,9168],\"valid\",[],\"NV8\"],[[9169,9179],\"valid\",[],\"NV8\"],[[9180,9191],\"valid\",[],\"NV8\"],[[9192,9192],\"valid\",[],\"NV8\"],[[9193,9203],\"valid\",[],\"NV8\"],[[9204,9210],\"valid\",[],\"NV8\"],[[9211,9215],\"disallowed\"],[[9216,9252],\"valid\",[],\"NV8\"],[[9253,9254],\"valid\",[],\"NV8\"],[[9255,9279],\"disallowed\"],[[9280,9290],\"valid\",[],\"NV8\"],[[9291,9311],\"disallowed\"],[[9312,9312],\"mapped\",[49]],[[9313,9313],\"mapped\",[50]],[[9314,9314],\"mapped\",[51]],[[9315,9315],\"mapped\",[52]],[[9316,9316],\"mapped\",[53]],[[9317,9317],\"mapped\",[54]],[[9318,9318],\"mapped\",[55]],[[9319,9319],\"mapped\",[56]],[[9320,9320],\"mapped\",[57]],[[9321,9321],\"mapped\",[49,48]],[[9322,9322],\"mapped\",[49,49]],[[9323,9323],\"mapped\",[49,50]],[[9324,9324],\"mapped\",[49,51]],[[9325,9325],\"mapped\",[49,52]],[[9326,9326],\"mapped\",[49,53]],[[9327,9327],\"mapped\",[49,54]],[[9328,9328],\"mapped\",[49,55]],[[9329,9329],\"mapped\",[49,56]],[[9330,9330],\"mapped\",[49,57]],[[9331,9331],\"mapped\",[50,48]],[[9332,9332],\"disallowed_STD3_mapped\",[40,49,41]],[[9333,9333],\"disallowed_STD3_mapped\",[40,50,41]],[[9334,9334],\"disallowed_STD3_mapped\",[40,51,41]],[[9335,9335],\"disallowed_STD3_mapped\",[40,52,41]],[[9336,9336],\"disallowed_STD3_mapped\",[40,53,41]],[[9337,9337],\"disallowed_STD3_mapped\",[40,54,41]],[[9338,9338],\"disallowed_STD3_mapped\",[40,55,41]],[[9339,9339],\"disallowed_STD3_mapped\",[40,56,41]],[[9340,9340],\"disallowed_STD3_mapped\",[40,57,41]],[[9341,9341],\"disallowed_STD3_mapped\",[40,49,48,41]],[[9342,9342],\"disallowed_STD3_mapped\",[40,49,49,41]],[[9343,9343],\"disallowed_STD3_mapped\",[40,49,50,41]],[[9344,9344],\"disallowed_STD3_mapped\",[40,49,51,41]],[[9345,9345],\"disallowed_STD3_mapped\",[40,49,52,41]],[[9346,9346],\"disallowed_STD3_mapped\",[40,49,53,41]],[[9347,9347],\"disallowed_STD3_mapped\",[40,49,54,41]],[[9348,9348],\"disallowed_STD3_mapped\",[40,49,55,41]],[[9349,9349],\"disallowed_STD3_mapped\",[40,49,56,41]],[[9350,9350],\"disallowed_STD3_mapped\",[40,49,57,41]],[[9351,9351],\"disallowed_STD3_mapped\",[40,50,48,41]],[[9352,9371],\"disallowed\"],[[9372,9372],\"disallowed_STD3_mapped\",[40,97,41]],[[9373,9373],\"disallowed_STD3_mapped\",[40,98,41]],[[9374,9374],\"disallowed_STD3_mapped\",[40,99,41]],[[9375,9375],\"disallowed_STD3_mapped\",[40,100,41]],[[9376,9376],\"disallowed_STD3_mapped\",[40,101,41]],[[9377,9377],\"disallowed_STD3_mapped\",[40,102,41]],[[9378,9378],\"disallowed_STD3_mapped\",[40,103,41]],[[9379,9379],\"disallowed_STD3_mapped\",[40,104,41]],[[9380,9380],\"disallowed_STD3_mapped\",[40,105,41]],[[9381,9381],\"disallowed_STD3_mapped\",[40,106,41]],[[9382,9382],\"disallowed_STD3_mapped\",[40,107,41]],[[9383,9383],\"disallowed_STD3_mapped\",[40,108,41]],[[9384,9384],\"disallowed_STD3_mapped\",[40,109,41]],[[9385,9385],\"disallowed_STD3_mapped\",[40,110,41]],[[9386,9386],\"disallowed_STD3_mapped\",[40,111,41]],[[9387,9387],\"disallowed_STD3_mapped\",[40,112,41]],[[9388,9388],\"disallowed_STD3_mapped\",[40,113,41]],[[9389,9389],\"disallowed_STD3_mapped\",[40,114,41]],[[9390,9390],\"disallowed_STD3_mapped\",[40,115,41]],[[9391,9391],\"disallowed_STD3_mapped\",[40,116,41]],[[9392,9392],\"disallowed_STD3_mapped\",[40,117,41]],[[9393,9393],\"disallowed_STD3_mapped\",[40,118,41]],[[9394,9394],\"disallowed_STD3_mapped\",[40,119,41]],[[9395,9395],\"disallowed_STD3_mapped\",[40,120,41]],[[9396,9396],\"disallowed_STD3_mapped\",[40,121,41]],[[9397,9397],\"disallowed_STD3_mapped\",[40,122,41]],[[9398,9398],\"mapped\",[97]],[[9399,9399],\"mapped\",[98]],[[9400,9400],\"mapped\",[99]],[[9401,9401],\"mapped\",[100]],[[9402,9402],\"mapped\",[101]],[[9403,9403],\"mapped\",[102]],[[9404,9404],\"mapped\",[103]],[[9405,9405],\"mapped\",[104]],[[9406,9406],\"mapped\",[105]],[[9407,9407],\"mapped\",[106]],[[9408,9408],\"mapped\",[107]],[[9409,9409],\"mapped\",[108]],[[9410,9410],\"mapped\",[109]],[[9411,9411],\"mapped\",[110]],[[9412,9412],\"mapped\",[111]],[[9413,9413],\"mapped\",[112]],[[9414,9414],\"mapped\",[113]],[[9415,9415],\"mapped\",[114]],[[9416,9416],\"mapped\",[115]],[[9417,9417],\"mapped\",[116]],[[9418,9418],\"mapped\",[117]],[[9419,9419],\"mapped\",[118]],[[9420,9420],\"mapped\",[119]],[[9421,9421],\"mapped\",[120]],[[9422,9422],\"mapped\",[121]],[[9423,9423],\"mapped\",[122]],[[9424,9424],\"mapped\",[97]],[[9425,9425],\"mapped\",[98]],[[9426,9426],\"mapped\",[99]],[[9427,9427],\"mapped\",[100]],[[9428,9428],\"mapped\",[101]],[[9429,9429],\"mapped\",[102]],[[9430,9430],\"mapped\",[103]],[[9431,9431],\"mapped\",[104]],[[9432,9432],\"mapped\",[105]],[[9433,9433],\"mapped\",[106]],[[9434,9434],\"mapped\",[107]],[[9435,9435],\"mapped\",[108]],[[9436,9436],\"mapped\",[109]],[[9437,9437],\"mapped\",[110]],[[9438,9438],\"mapped\",[111]],[[9439,9439],\"mapped\",[112]],[[9440,9440],\"mapped\",[113]],[[9441,9441],\"mapped\",[114]],[[9442,9442],\"mapped\",[115]],[[9443,9443],\"mapped\",[116]],[[9444,9444],\"mapped\",[117]],[[9445,9445],\"mapped\",[118]],[[9446,9446],\"mapped\",[119]],[[9447,9447],\"mapped\",[120]],[[9448,9448],\"mapped\",[121]],[[9449,9449],\"mapped\",[122]],[[9450,9450],\"mapped\",[48]],[[9451,9470],\"valid\",[],\"NV8\"],[[9471,9471],\"valid\",[],\"NV8\"],[[9472,9621],\"valid\",[],\"NV8\"],[[9622,9631],\"valid\",[],\"NV8\"],[[9632,9711],\"valid\",[],\"NV8\"],[[9712,9719],\"valid\",[],\"NV8\"],[[9720,9727],\"valid\",[],\"NV8\"],[[9728,9747],\"valid\",[],\"NV8\"],[[9748,9749],\"valid\",[],\"NV8\"],[[9750,9751],\"valid\",[],\"NV8\"],[[9752,9752],\"valid\",[],\"NV8\"],[[9753,9753],\"valid\",[],\"NV8\"],[[9754,9839],\"valid\",[],\"NV8\"],[[9840,9841],\"valid\",[],\"NV8\"],[[9842,9853],\"valid\",[],\"NV8\"],[[9854,9855],\"valid\",[],\"NV8\"],[[9856,9865],\"valid\",[],\"NV8\"],[[9866,9873],\"valid\",[],\"NV8\"],[[9874,9884],\"valid\",[],\"NV8\"],[[9885,9885],\"valid\",[],\"NV8\"],[[9886,9887],\"valid\",[],\"NV8\"],[[9888,9889],\"valid\",[],\"NV8\"],[[9890,9905],\"valid\",[],\"NV8\"],[[9906,9906],\"valid\",[],\"NV8\"],[[9907,9916],\"valid\",[],\"NV8\"],[[9917,9919],\"valid\",[],\"NV8\"],[[9920,9923],\"valid\",[],\"NV8\"],[[9924,9933],\"valid\",[],\"NV8\"],[[9934,9934],\"valid\",[],\"NV8\"],[[9935,9953],\"valid\",[],\"NV8\"],[[9954,9954],\"valid\",[],\"NV8\"],[[9955,9955],\"valid\",[],\"NV8\"],[[9956,9959],\"valid\",[],\"NV8\"],[[9960,9983],\"valid\",[],\"NV8\"],[[9984,9984],\"valid\",[],\"NV8\"],[[9985,9988],\"valid\",[],\"NV8\"],[[9989,9989],\"valid\",[],\"NV8\"],[[9990,9993],\"valid\",[],\"NV8\"],[[9994,9995],\"valid\",[],\"NV8\"],[[9996,10023],\"valid\",[],\"NV8\"],[[10024,10024],\"valid\",[],\"NV8\"],[[10025,10059],\"valid\",[],\"NV8\"],[[10060,10060],\"valid\",[],\"NV8\"],[[10061,10061],\"valid\",[],\"NV8\"],[[10062,10062],\"valid\",[],\"NV8\"],[[10063,10066],\"valid\",[],\"NV8\"],[[10067,10069],\"valid\",[],\"NV8\"],[[10070,10070],\"valid\",[],\"NV8\"],[[10071,10071],\"valid\",[],\"NV8\"],[[10072,10078],\"valid\",[],\"NV8\"],[[10079,10080],\"valid\",[],\"NV8\"],[[10081,10087],\"valid\",[],\"NV8\"],[[10088,10101],\"valid\",[],\"NV8\"],[[10102,10132],\"valid\",[],\"NV8\"],[[10133,10135],\"valid\",[],\"NV8\"],[[10136,10159],\"valid\",[],\"NV8\"],[[10160,10160],\"valid\",[],\"NV8\"],[[10161,10174],\"valid\",[],\"NV8\"],[[10175,10175],\"valid\",[],\"NV8\"],[[10176,10182],\"valid\",[],\"NV8\"],[[10183,10186],\"valid\",[],\"NV8\"],[[10187,10187],\"valid\",[],\"NV8\"],[[10188,10188],\"valid\",[],\"NV8\"],[[10189,10189],\"valid\",[],\"NV8\"],[[10190,10191],\"valid\",[],\"NV8\"],[[10192,10219],\"valid\",[],\"NV8\"],[[10220,10223],\"valid\",[],\"NV8\"],[[10224,10239],\"valid\",[],\"NV8\"],[[10240,10495],\"valid\",[],\"NV8\"],[[10496,10763],\"valid\",[],\"NV8\"],[[10764,10764],\"mapped\",[8747,8747,8747,8747]],[[10765,10867],\"valid\",[],\"NV8\"],[[10868,10868],\"disallowed_STD3_mapped\",[58,58,61]],[[10869,10869],\"disallowed_STD3_mapped\",[61,61]],[[10870,10870],\"disallowed_STD3_mapped\",[61,61,61]],[[10871,10971],\"valid\",[],\"NV8\"],[[10972,10972],\"mapped\",[10973,824]],[[10973,11007],\"valid\",[],\"NV8\"],[[11008,11021],\"valid\",[],\"NV8\"],[[11022,11027],\"valid\",[],\"NV8\"],[[11028,11034],\"valid\",[],\"NV8\"],[[11035,11039],\"valid\",[],\"NV8\"],[[11040,11043],\"valid\",[],\"NV8\"],[[11044,11084],\"valid\",[],\"NV8\"],[[11085,11087],\"valid\",[],\"NV8\"],[[11088,11092],\"valid\",[],\"NV8\"],[[11093,11097],\"valid\",[],\"NV8\"],[[11098,11123],\"valid\",[],\"NV8\"],[[11124,11125],\"disallowed\"],[[11126,11157],\"valid\",[],\"NV8\"],[[11158,11159],\"disallowed\"],[[11160,11193],\"valid\",[],\"NV8\"],[[11194,11196],\"disallowed\"],[[11197,11208],\"valid\",[],\"NV8\"],[[11209,11209],\"disallowed\"],[[11210,11217],\"valid\",[],\"NV8\"],[[11218,11243],\"disallowed\"],[[11244,11247],\"valid\",[],\"NV8\"],[[11248,11263],\"disallowed\"],[[11264,11264],\"mapped\",[11312]],[[11265,11265],\"mapped\",[11313]],[[11266,11266],\"mapped\",[11314]],[[11267,11267],\"mapped\",[11315]],[[11268,11268],\"mapped\",[11316]],[[11269,11269],\"mapped\",[11317]],[[11270,11270],\"mapped\",[11318]],[[11271,11271],\"mapped\",[11319]],[[11272,11272],\"mapped\",[11320]],[[11273,11273],\"mapped\",[11321]],[[11274,11274],\"mapped\",[11322]],[[11275,11275],\"mapped\",[11323]],[[11276,11276],\"mapped\",[11324]],[[11277,11277],\"mapped\",[11325]],[[11278,11278],\"mapped\",[11326]],[[11279,11279],\"mapped\",[11327]],[[11280,11280],\"mapped\",[11328]],[[11281,11281],\"mapped\",[11329]],[[11282,11282],\"mapped\",[11330]],[[11283,11283],\"mapped\",[11331]],[[11284,11284],\"mapped\",[11332]],[[11285,11285],\"mapped\",[11333]],[[11286,11286],\"mapped\",[11334]],[[11287,11287],\"mapped\",[11335]],[[11288,11288],\"mapped\",[11336]],[[11289,11289],\"mapped\",[11337]],[[11290,11290],\"mapped\",[11338]],[[11291,11291],\"mapped\",[11339]],[[11292,11292],\"mapped\",[11340]],[[11293,11293],\"mapped\",[11341]],[[11294,11294],\"mapped\",[11342]],[[11295,11295],\"mapped\",[11343]],[[11296,11296],\"mapped\",[11344]],[[11297,11297],\"mapped\",[11345]],[[11298,11298],\"mapped\",[11346]],[[11299,11299],\"mapped\",[11347]],[[11300,11300],\"mapped\",[11348]],[[11301,11301],\"mapped\",[11349]],[[11302,11302],\"mapped\",[11350]],[[11303,11303],\"mapped\",[11351]],[[11304,11304],\"mapped\",[11352]],[[11305,11305],\"mapped\",[11353]],[[11306,11306],\"mapped\",[11354]],[[11307,11307],\"mapped\",[11355]],[[11308,11308],\"mapped\",[11356]],[[11309,11309],\"mapped\",[11357]],[[11310,11310],\"mapped\",[11358]],[[11311,11311],\"disallowed\"],[[11312,11358],\"valid\"],[[11359,11359],\"disallowed\"],[[11360,11360],\"mapped\",[11361]],[[11361,11361],\"valid\"],[[11362,11362],\"mapped\",[619]],[[11363,11363],\"mapped\",[7549]],[[11364,11364],\"mapped\",[637]],[[11365,11366],\"valid\"],[[11367,11367],\"mapped\",[11368]],[[11368,11368],\"valid\"],[[11369,11369],\"mapped\",[11370]],[[11370,11370],\"valid\"],[[11371,11371],\"mapped\",[11372]],[[11372,11372],\"valid\"],[[11373,11373],\"mapped\",[593]],[[11374,11374],\"mapped\",[625]],[[11375,11375],\"mapped\",[592]],[[11376,11376],\"mapped\",[594]],[[11377,11377],\"valid\"],[[11378,11378],\"mapped\",[11379]],[[11379,11379],\"valid\"],[[11380,11380],\"valid\"],[[11381,11381],\"mapped\",[11382]],[[11382,11383],\"valid\"],[[11384,11387],\"valid\"],[[11388,11388],\"mapped\",[106]],[[11389,11389],\"mapped\",[118]],[[11390,11390],\"mapped\",[575]],[[11391,11391],\"mapped\",[576]],[[11392,11392],\"mapped\",[11393]],[[11393,11393],\"valid\"],[[11394,11394],\"mapped\",[11395]],[[11395,11395],\"valid\"],[[11396,11396],\"mapped\",[11397]],[[11397,11397],\"valid\"],[[11398,11398],\"mapped\",[11399]],[[11399,11399],\"valid\"],[[11400,11400],\"mapped\",[11401]],[[11401,11401],\"valid\"],[[11402,11402],\"mapped\",[11403]],[[11403,11403],\"valid\"],[[11404,11404],\"mapped\",[11405]],[[11405,11405],\"valid\"],[[11406,11406],\"mapped\",[11407]],[[11407,11407],\"valid\"],[[11408,11408],\"mapped\",[11409]],[[11409,11409],\"valid\"],[[11410,11410],\"mapped\",[11411]],[[11411,11411],\"valid\"],[[11412,11412],\"mapped\",[11413]],[[11413,11413],\"valid\"],[[11414,11414],\"mapped\",[11415]],[[11415,11415],\"valid\"],[[11416,11416],\"mapped\",[11417]],[[11417,11417],\"valid\"],[[11418,11418],\"mapped\",[11419]],[[11419,11419],\"valid\"],[[11420,11420],\"mapped\",[11421]],[[11421,11421],\"valid\"],[[11422,11422],\"mapped\",[11423]],[[11423,11423],\"valid\"],[[11424,11424],\"mapped\",[11425]],[[11425,11425],\"valid\"],[[11426,11426],\"mapped\",[11427]],[[11427,11427],\"valid\"],[[11428,11428],\"mapped\",[11429]],[[11429,11429],\"valid\"],[[11430,11430],\"mapped\",[11431]],[[11431,11431],\"valid\"],[[11432,11432],\"mapped\",[11433]],[[11433,11433],\"valid\"],[[11434,11434],\"mapped\",[11435]],[[11435,11435],\"valid\"],[[11436,11436],\"mapped\",[11437]],[[11437,11437],\"valid\"],[[11438,11438],\"mapped\",[11439]],[[11439,11439],\"valid\"],[[11440,11440],\"mapped\",[11441]],[[11441,11441],\"valid\"],[[11442,11442],\"mapped\",[11443]],[[11443,11443],\"valid\"],[[11444,11444],\"mapped\",[11445]],[[11445,11445],\"valid\"],[[11446,11446],\"mapped\",[11447]],[[11447,11447],\"valid\"],[[11448,11448],\"mapped\",[11449]],[[11449,11449],\"valid\"],[[11450,11450],\"mapped\",[11451]],[[11451,11451],\"valid\"],[[11452,11452],\"mapped\",[11453]],[[11453,11453],\"valid\"],[[11454,11454],\"mapped\",[11455]],[[11455,11455],\"valid\"],[[11456,11456],\"mapped\",[11457]],[[11457,11457],\"valid\"],[[11458,11458],\"mapped\",[11459]],[[11459,11459],\"valid\"],[[11460,11460],\"mapped\",[11461]],[[11461,11461],\"valid\"],[[11462,11462],\"mapped\",[11463]],[[11463,11463],\"valid\"],[[11464,11464],\"mapped\",[11465]],[[11465,11465],\"valid\"],[[11466,11466],\"mapped\",[11467]],[[11467,11467],\"valid\"],[[11468,11468],\"mapped\",[11469]],[[11469,11469],\"valid\"],[[11470,11470],\"mapped\",[11471]],[[11471,11471],\"valid\"],[[11472,11472],\"mapped\",[11473]],[[11473,11473],\"valid\"],[[11474,11474],\"mapped\",[11475]],[[11475,11475],\"valid\"],[[11476,11476],\"mapped\",[11477]],[[11477,11477],\"valid\"],[[11478,11478],\"mapped\",[11479]],[[11479,11479],\"valid\"],[[11480,11480],\"mapped\",[11481]],[[11481,11481],\"valid\"],[[11482,11482],\"mapped\",[11483]],[[11483,11483],\"valid\"],[[11484,11484],\"mapped\",[11485]],[[11485,11485],\"valid\"],[[11486,11486],\"mapped\",[11487]],[[11487,11487],\"valid\"],[[11488,11488],\"mapped\",[11489]],[[11489,11489],\"valid\"],[[11490,11490],\"mapped\",[11491]],[[11491,11492],\"valid\"],[[11493,11498],\"valid\",[],\"NV8\"],[[11499,11499],\"mapped\",[11500]],[[11500,11500],\"valid\"],[[11501,11501],\"mapped\",[11502]],[[11502,11505],\"valid\"],[[11506,11506],\"mapped\",[11507]],[[11507,11507],\"valid\"],[[11508,11512],\"disallowed\"],[[11513,11519],\"valid\",[],\"NV8\"],[[11520,11557],\"valid\"],[[11558,11558],\"disallowed\"],[[11559,11559],\"valid\"],[[11560,11564],\"disallowed\"],[[11565,11565],\"valid\"],[[11566,11567],\"disallowed\"],[[11568,11621],\"valid\"],[[11622,11623],\"valid\"],[[11624,11630],\"disallowed\"],[[11631,11631],\"mapped\",[11617]],[[11632,11632],\"valid\",[],\"NV8\"],[[11633,11646],\"disallowed\"],[[11647,11647],\"valid\"],[[11648,11670],\"valid\"],[[11671,11679],\"disallowed\"],[[11680,11686],\"valid\"],[[11687,11687],\"disallowed\"],[[11688,11694],\"valid\"],[[11695,11695],\"disallowed\"],[[11696,11702],\"valid\"],[[11703,11703],\"disallowed\"],[[11704,11710],\"valid\"],[[11711,11711],\"disallowed\"],[[11712,11718],\"valid\"],[[11719,11719],\"disallowed\"],[[11720,11726],\"valid\"],[[11727,11727],\"disallowed\"],[[11728,11734],\"valid\"],[[11735,11735],\"disallowed\"],[[11736,11742],\"valid\"],[[11743,11743],\"disallowed\"],[[11744,11775],\"valid\"],[[11776,11799],\"valid\",[],\"NV8\"],[[11800,11803],\"valid\",[],\"NV8\"],[[11804,11805],\"valid\",[],\"NV8\"],[[11806,11822],\"valid\",[],\"NV8\"],[[11823,11823],\"valid\"],[[11824,11824],\"valid\",[],\"NV8\"],[[11825,11825],\"valid\",[],\"NV8\"],[[11826,11835],\"valid\",[],\"NV8\"],[[11836,11842],\"valid\",[],\"NV8\"],[[11843,11903],\"disallowed\"],[[11904,11929],\"valid\",[],\"NV8\"],[[11930,11930],\"disallowed\"],[[11931,11934],\"valid\",[],\"NV8\"],[[11935,11935],\"mapped\",[27597]],[[11936,12018],\"valid\",[],\"NV8\"],[[12019,12019],\"mapped\",[40863]],[[12020,12031],\"disallowed\"],[[12032,12032],\"mapped\",[19968]],[[12033,12033],\"mapped\",[20008]],[[12034,12034],\"mapped\",[20022]],[[12035,12035],\"mapped\",[20031]],[[12036,12036],\"mapped\",[20057]],[[12037,12037],\"mapped\",[20101]],[[12038,12038],\"mapped\",[20108]],[[12039,12039],\"mapped\",[20128]],[[12040,12040],\"mapped\",[20154]],[[12041,12041],\"mapped\",[20799]],[[12042,12042],\"mapped\",[20837]],[[12043,12043],\"mapped\",[20843]],[[12044,12044],\"mapped\",[20866]],[[12045,12045],\"mapped\",[20886]],[[12046,12046],\"mapped\",[20907]],[[12047,12047],\"mapped\",[20960]],[[12048,12048],\"mapped\",[20981]],[[12049,12049],\"mapped\",[20992]],[[12050,12050],\"mapped\",[21147]],[[12051,12051],\"mapped\",[21241]],[[12052,12052],\"mapped\",[21269]],[[12053,12053],\"mapped\",[21274]],[[12054,12054],\"mapped\",[21304]],[[12055,12055],\"mapped\",[21313]],[[12056,12056],\"mapped\",[21340]],[[12057,12057],\"mapped\",[21353]],[[12058,12058],\"mapped\",[21378]],[[12059,12059],\"mapped\",[21430]],[[12060,12060],\"mapped\",[21448]],[[12061,12061],\"mapped\",[21475]],[[12062,12062],\"mapped\",[22231]],[[12063,12063],\"mapped\",[22303]],[[12064,12064],\"mapped\",[22763]],[[12065,12065],\"mapped\",[22786]],[[12066,12066],\"mapped\",[22794]],[[12067,12067],\"mapped\",[22805]],[[12068,12068],\"mapped\",[22823]],[[12069,12069],\"mapped\",[22899]],[[12070,12070],\"mapped\",[23376]],[[12071,12071],\"mapped\",[23424]],[[12072,12072],\"mapped\",[23544]],[[12073,12073],\"mapped\",[23567]],[[12074,12074],\"mapped\",[23586]],[[12075,12075],\"mapped\",[23608]],[[12076,12076],\"mapped\",[23662]],[[12077,12077],\"mapped\",[23665]],[[12078,12078],\"mapped\",[24027]],[[12079,12079],\"mapped\",[24037]],[[12080,12080],\"mapped\",[24049]],[[12081,12081],\"mapped\",[24062]],[[12082,12082],\"mapped\",[24178]],[[12083,12083],\"mapped\",[24186]],[[12084,12084],\"mapped\",[24191]],[[12085,12085],\"mapped\",[24308]],[[12086,12086],\"mapped\",[24318]],[[12087,12087],\"mapped\",[24331]],[[12088,12088],\"mapped\",[24339]],[[12089,12089],\"mapped\",[24400]],[[12090,12090],\"mapped\",[24417]],[[12091,12091],\"mapped\",[24435]],[[12092,12092],\"mapped\",[24515]],[[12093,12093],\"mapped\",[25096]],[[12094,12094],\"mapped\",[25142]],[[12095,12095],\"mapped\",[25163]],[[12096,12096],\"mapped\",[25903]],[[12097,12097],\"mapped\",[25908]],[[12098,12098],\"mapped\",[25991]],[[12099,12099],\"mapped\",[26007]],[[12100,12100],\"mapped\",[26020]],[[12101,12101],\"mapped\",[26041]],[[12102,12102],\"mapped\",[26080]],[[12103,12103],\"mapped\",[26085]],[[12104,12104],\"mapped\",[26352]],[[12105,12105],\"mapped\",[26376]],[[12106,12106],\"mapped\",[26408]],[[12107,12107],\"mapped\",[27424]],[[12108,12108],\"mapped\",[27490]],[[12109,12109],\"mapped\",[27513]],[[12110,12110],\"mapped\",[27571]],[[12111,12111],\"mapped\",[27595]],[[12112,12112],\"mapped\",[27604]],[[12113,12113],\"mapped\",[27611]],[[12114,12114],\"mapped\",[27663]],[[12115,12115],\"mapped\",[27668]],[[12116,12116],\"mapped\",[27700]],[[12117,12117],\"mapped\",[28779]],[[12118,12118],\"mapped\",[29226]],[[12119,12119],\"mapped\",[29238]],[[12120,12120],\"mapped\",[29243]],[[12121,12121],\"mapped\",[29247]],[[12122,12122],\"mapped\",[29255]],[[12123,12123],\"mapped\",[29273]],[[12124,12124],\"mapped\",[29275]],[[12125,12125],\"mapped\",[29356]],[[12126,12126],\"mapped\",[29572]],[[12127,12127],\"mapped\",[29577]],[[12128,12128],\"mapped\",[29916]],[[12129,12129],\"mapped\",[29926]],[[12130,12130],\"mapped\",[29976]],[[12131,12131],\"mapped\",[29983]],[[12132,12132],\"mapped\",[29992]],[[12133,12133],\"mapped\",[30000]],[[12134,12134],\"mapped\",[30091]],[[12135,12135],\"mapped\",[30098]],[[12136,12136],\"mapped\",[30326]],[[12137,12137],\"mapped\",[30333]],[[12138,12138],\"mapped\",[30382]],[[12139,12139],\"mapped\",[30399]],[[12140,12140],\"mapped\",[30446]],[[12141,12141],\"mapped\",[30683]],[[12142,12142],\"mapped\",[30690]],[[12143,12143],\"mapped\",[30707]],[[12144,12144],\"mapped\",[31034]],[[12145,12145],\"mapped\",[31160]],[[12146,12146],\"mapped\",[31166]],[[12147,12147],\"mapped\",[31348]],[[12148,12148],\"mapped\",[31435]],[[12149,12149],\"mapped\",[31481]],[[12150,12150],\"mapped\",[31859]],[[12151,12151],\"mapped\",[31992]],[[12152,12152],\"mapped\",[32566]],[[12153,12153],\"mapped\",[32593]],[[12154,12154],\"mapped\",[32650]],[[12155,12155],\"mapped\",[32701]],[[12156,12156],\"mapped\",[32769]],[[12157,12157],\"mapped\",[32780]],[[12158,12158],\"mapped\",[32786]],[[12159,12159],\"mapped\",[32819]],[[12160,12160],\"mapped\",[32895]],[[12161,12161],\"mapped\",[32905]],[[12162,12162],\"mapped\",[33251]],[[12163,12163],\"mapped\",[33258]],[[12164,12164],\"mapped\",[33267]],[[12165,12165],\"mapped\",[33276]],[[12166,12166],\"mapped\",[33292]],[[12167,12167],\"mapped\",[33307]],[[12168,12168],\"mapped\",[33311]],[[12169,12169],\"mapped\",[33390]],[[12170,12170],\"mapped\",[33394]],[[12171,12171],\"mapped\",[33400]],[[12172,12172],\"mapped\",[34381]],[[12173,12173],\"mapped\",[34411]],[[12174,12174],\"mapped\",[34880]],[[12175,12175],\"mapped\",[34892]],[[12176,12176],\"mapped\",[34915]],[[12177,12177],\"mapped\",[35198]],[[12178,12178],\"mapped\",[35211]],[[12179,12179],\"mapped\",[35282]],[[12180,12180],\"mapped\",[35328]],[[12181,12181],\"mapped\",[35895]],[[12182,12182],\"mapped\",[35910]],[[12183,12183],\"mapped\",[35925]],[[12184,12184],\"mapped\",[35960]],[[12185,12185],\"mapped\",[35997]],[[12186,12186],\"mapped\",[36196]],[[12187,12187],\"mapped\",[36208]],[[12188,12188],\"mapped\",[36275]],[[12189,12189],\"mapped\",[36523]],[[12190,12190],\"mapped\",[36554]],[[12191,12191],\"mapped\",[36763]],[[12192,12192],\"mapped\",[36784]],[[12193,12193],\"mapped\",[36789]],[[12194,12194],\"mapped\",[37009]],[[12195,12195],\"mapped\",[37193]],[[12196,12196],\"mapped\",[37318]],[[12197,12197],\"mapped\",[37324]],[[12198,12198],\"mapped\",[37329]],[[12199,12199],\"mapped\",[38263]],[[12200,12200],\"mapped\",[38272]],[[12201,12201],\"mapped\",[38428]],[[12202,12202],\"mapped\",[38582]],[[12203,12203],\"mapped\",[38585]],[[12204,12204],\"mapped\",[38632]],[[12205,12205],\"mapped\",[38737]],[[12206,12206],\"mapped\",[38750]],[[12207,12207],\"mapped\",[38754]],[[12208,12208],\"mapped\",[38761]],[[12209,12209],\"mapped\",[38859]],[[12210,12210],\"mapped\",[38893]],[[12211,12211],\"mapped\",[38899]],[[12212,12212],\"mapped\",[38913]],[[12213,12213],\"mapped\",[39080]],[[12214,12214],\"mapped\",[39131]],[[12215,12215],\"mapped\",[39135]],[[12216,12216],\"mapped\",[39318]],[[12217,12217],\"mapped\",[39321]],[[12218,12218],\"mapped\",[39340]],[[12219,12219],\"mapped\",[39592]],[[12220,12220],\"mapped\",[39640]],[[12221,12221],\"mapped\",[39647]],[[12222,12222],\"mapped\",[39717]],[[12223,12223],\"mapped\",[39727]],[[12224,12224],\"mapped\",[39730]],[[12225,12225],\"mapped\",[39740]],[[12226,12226],\"mapped\",[39770]],[[12227,12227],\"mapped\",[40165]],[[12228,12228],\"mapped\",[40565]],[[12229,12229],\"mapped\",[40575]],[[12230,12230],\"mapped\",[40613]],[[12231,12231],\"mapped\",[40635]],[[12232,12232],\"mapped\",[40643]],[[12233,12233],\"mapped\",[40653]],[[12234,12234],\"mapped\",[40657]],[[12235,12235],\"mapped\",[40697]],[[12236,12236],\"mapped\",[40701]],[[12237,12237],\"mapped\",[40718]],[[12238,12238],\"mapped\",[40723]],[[12239,12239],\"mapped\",[40736]],[[12240,12240],\"mapped\",[40763]],[[12241,12241],\"mapped\",[40778]],[[12242,12242],\"mapped\",[40786]],[[12243,12243],\"mapped\",[40845]],[[12244,12244],\"mapped\",[40860]],[[12245,12245],\"mapped\",[40864]],[[12246,12271],\"disallowed\"],[[12272,12283],\"disallowed\"],[[12284,12287],\"disallowed\"],[[12288,12288],\"disallowed_STD3_mapped\",[32]],[[12289,12289],\"valid\",[],\"NV8\"],[[12290,12290],\"mapped\",[46]],[[12291,12292],\"valid\",[],\"NV8\"],[[12293,12295],\"valid\"],[[12296,12329],\"valid\",[],\"NV8\"],[[12330,12333],\"valid\"],[[12334,12341],\"valid\",[],\"NV8\"],[[12342,12342],\"mapped\",[12306]],[[12343,12343],\"valid\",[],\"NV8\"],[[12344,12344],\"mapped\",[21313]],[[12345,12345],\"mapped\",[21316]],[[12346,12346],\"mapped\",[21317]],[[12347,12347],\"valid\",[],\"NV8\"],[[12348,12348],\"valid\"],[[12349,12349],\"valid\",[],\"NV8\"],[[12350,12350],\"valid\",[],\"NV8\"],[[12351,12351],\"valid\",[],\"NV8\"],[[12352,12352],\"disallowed\"],[[12353,12436],\"valid\"],[[12437,12438],\"valid\"],[[12439,12440],\"disallowed\"],[[12441,12442],\"valid\"],[[12443,12443],\"disallowed_STD3_mapped\",[32,12441]],[[12444,12444],\"disallowed_STD3_mapped\",[32,12442]],[[12445,12446],\"valid\"],[[12447,12447],\"mapped\",[12424,12426]],[[12448,12448],\"valid\",[],\"NV8\"],[[12449,12542],\"valid\"],[[12543,12543],\"mapped\",[12467,12488]],[[12544,12548],\"disallowed\"],[[12549,12588],\"valid\"],[[12589,12589],\"valid\"],[[12590,12592],\"disallowed\"],[[12593,12593],\"mapped\",[4352]],[[12594,12594],\"mapped\",[4353]],[[12595,12595],\"mapped\",[4522]],[[12596,12596],\"mapped\",[4354]],[[12597,12597],\"mapped\",[4524]],[[12598,12598],\"mapped\",[4525]],[[12599,12599],\"mapped\",[4355]],[[12600,12600],\"mapped\",[4356]],[[12601,12601],\"mapped\",[4357]],[[12602,12602],\"mapped\",[4528]],[[12603,12603],\"mapped\",[4529]],[[12604,12604],\"mapped\",[4530]],[[12605,12605],\"mapped\",[4531]],[[12606,12606],\"mapped\",[4532]],[[12607,12607],\"mapped\",[4533]],[[12608,12608],\"mapped\",[4378]],[[12609,12609],\"mapped\",[4358]],[[12610,12610],\"mapped\",[4359]],[[12611,12611],\"mapped\",[4360]],[[12612,12612],\"mapped\",[4385]],[[12613,12613],\"mapped\",[4361]],[[12614,12614],\"mapped\",[4362]],[[12615,12615],\"mapped\",[4363]],[[12616,12616],\"mapped\",[4364]],[[12617,12617],\"mapped\",[4365]],[[12618,12618],\"mapped\",[4366]],[[12619,12619],\"mapped\",[4367]],[[12620,12620],\"mapped\",[4368]],[[12621,12621],\"mapped\",[4369]],[[12622,12622],\"mapped\",[4370]],[[12623,12623],\"mapped\",[4449]],[[12624,12624],\"mapped\",[4450]],[[12625,12625],\"mapped\",[4451]],[[12626,12626],\"mapped\",[4452]],[[12627,12627],\"mapped\",[4453]],[[12628,12628],\"mapped\",[4454]],[[12629,12629],\"mapped\",[4455]],[[12630,12630],\"mapped\",[4456]],[[12631,12631],\"mapped\",[4457]],[[12632,12632],\"mapped\",[4458]],[[12633,12633],\"mapped\",[4459]],[[12634,12634],\"mapped\",[4460]],[[12635,12635],\"mapped\",[4461]],[[12636,12636],\"mapped\",[4462]],[[12637,12637],\"mapped\",[4463]],[[12638,12638],\"mapped\",[4464]],[[12639,12639],\"mapped\",[4465]],[[12640,12640],\"mapped\",[4466]],[[12641,12641],\"mapped\",[4467]],[[12642,12642],\"mapped\",[4468]],[[12643,12643],\"mapped\",[4469]],[[12644,12644],\"disallowed\"],[[12645,12645],\"mapped\",[4372]],[[12646,12646],\"mapped\",[4373]],[[12647,12647],\"mapped\",[4551]],[[12648,12648],\"mapped\",[4552]],[[12649,12649],\"mapped\",[4556]],[[12650,12650],\"mapped\",[4558]],[[12651,12651],\"mapped\",[4563]],[[12652,12652],\"mapped\",[4567]],[[12653,12653],\"mapped\",[4569]],[[12654,12654],\"mapped\",[4380]],[[12655,12655],\"mapped\",[4573]],[[12656,12656],\"mapped\",[4575]],[[12657,12657],\"mapped\",[4381]],[[12658,12658],\"mapped\",[4382]],[[12659,12659],\"mapped\",[4384]],[[12660,12660],\"mapped\",[4386]],[[12661,12661],\"mapped\",[4387]],[[12662,12662],\"mapped\",[4391]],[[12663,12663],\"mapped\",[4393]],[[12664,12664],\"mapped\",[4395]],[[12665,12665],\"mapped\",[4396]],[[12666,12666],\"mapped\",[4397]],[[12667,12667],\"mapped\",[4398]],[[12668,12668],\"mapped\",[4399]],[[12669,12669],\"mapped\",[4402]],[[12670,12670],\"mapped\",[4406]],[[12671,12671],\"mapped\",[4416]],[[12672,12672],\"mapped\",[4423]],[[12673,12673],\"mapped\",[4428]],[[12674,12674],\"mapped\",[4593]],[[12675,12675],\"mapped\",[4594]],[[12676,12676],\"mapped\",[4439]],[[12677,12677],\"mapped\",[4440]],[[12678,12678],\"mapped\",[4441]],[[12679,12679],\"mapped\",[4484]],[[12680,12680],\"mapped\",[4485]],[[12681,12681],\"mapped\",[4488]],[[12682,12682],\"mapped\",[4497]],[[12683,12683],\"mapped\",[4498]],[[12684,12684],\"mapped\",[4500]],[[12685,12685],\"mapped\",[4510]],[[12686,12686],\"mapped\",[4513]],[[12687,12687],\"disallowed\"],[[12688,12689],\"valid\",[],\"NV8\"],[[12690,12690],\"mapped\",[19968]],[[12691,12691],\"mapped\",[20108]],[[12692,12692],\"mapped\",[19977]],[[12693,12693],\"mapped\",[22235]],[[12694,12694],\"mapped\",[19978]],[[12695,12695],\"mapped\",[20013]],[[12696,12696],\"mapped\",[19979]],[[12697,12697],\"mapped\",[30002]],[[12698,12698],\"mapped\",[20057]],[[12699,12699],\"mapped\",[19993]],[[12700,12700],\"mapped\",[19969]],[[12701,12701],\"mapped\",[22825]],[[12702,12702],\"mapped\",[22320]],[[12703,12703],\"mapped\",[20154]],[[12704,12727],\"valid\"],[[12728,12730],\"valid\"],[[12731,12735],\"disallowed\"],[[12736,12751],\"valid\",[],\"NV8\"],[[12752,12771],\"valid\",[],\"NV8\"],[[12772,12783],\"disallowed\"],[[12784,12799],\"valid\"],[[12800,12800],\"disallowed_STD3_mapped\",[40,4352,41]],[[12801,12801],\"disallowed_STD3_mapped\",[40,4354,41]],[[12802,12802],\"disallowed_STD3_mapped\",[40,4355,41]],[[12803,12803],\"disallowed_STD3_mapped\",[40,4357,41]],[[12804,12804],\"disallowed_STD3_mapped\",[40,4358,41]],[[12805,12805],\"disallowed_STD3_mapped\",[40,4359,41]],[[12806,12806],\"disallowed_STD3_mapped\",[40,4361,41]],[[12807,12807],\"disallowed_STD3_mapped\",[40,4363,41]],[[12808,12808],\"disallowed_STD3_mapped\",[40,4364,41]],[[12809,12809],\"disallowed_STD3_mapped\",[40,4366,41]],[[12810,12810],\"disallowed_STD3_mapped\",[40,4367,41]],[[12811,12811],\"disallowed_STD3_mapped\",[40,4368,41]],[[12812,12812],\"disallowed_STD3_mapped\",[40,4369,41]],[[12813,12813],\"disallowed_STD3_mapped\",[40,4370,41]],[[12814,12814],\"disallowed_STD3_mapped\",[40,44032,41]],[[12815,12815],\"disallowed_STD3_mapped\",[40,45208,41]],[[12816,12816],\"disallowed_STD3_mapped\",[40,45796,41]],[[12817,12817],\"disallowed_STD3_mapped\",[40,46972,41]],[[12818,12818],\"disallowed_STD3_mapped\",[40,47560,41]],[[12819,12819],\"disallowed_STD3_mapped\",[40,48148,41]],[[12820,12820],\"disallowed_STD3_mapped\",[40,49324,41]],[[12821,12821],\"disallowed_STD3_mapped\",[40,50500,41]],[[12822,12822],\"disallowed_STD3_mapped\",[40,51088,41]],[[12823,12823],\"disallowed_STD3_mapped\",[40,52264,41]],[[12824,12824],\"disallowed_STD3_mapped\",[40,52852,41]],[[12825,12825],\"disallowed_STD3_mapped\",[40,53440,41]],[[12826,12826],\"disallowed_STD3_mapped\",[40,54028,41]],[[12827,12827],\"disallowed_STD3_mapped\",[40,54616,41]],[[12828,12828],\"disallowed_STD3_mapped\",[40,51452,41]],[[12829,12829],\"disallowed_STD3_mapped\",[40,50724,51204,41]],[[12830,12830],\"disallowed_STD3_mapped\",[40,50724,54980,41]],[[12831,12831],\"disallowed\"],[[12832,12832],\"disallowed_STD3_mapped\",[40,19968,41]],[[12833,12833],\"disallowed_STD3_mapped\",[40,20108,41]],[[12834,12834],\"disallowed_STD3_mapped\",[40,19977,41]],[[12835,12835],\"disallowed_STD3_mapped\",[40,22235,41]],[[12836,12836],\"disallowed_STD3_mapped\",[40,20116,41]],[[12837,12837],\"disallowed_STD3_mapped\",[40,20845,41]],[[12838,12838],\"disallowed_STD3_mapped\",[40,19971,41]],[[12839,12839],\"disallowed_STD3_mapped\",[40,20843,41]],[[12840,12840],\"disallowed_STD3_mapped\",[40,20061,41]],[[12841,12841],\"disallowed_STD3_mapped\",[40,21313,41]],[[12842,12842],\"disallowed_STD3_mapped\",[40,26376,41]],[[12843,12843],\"disallowed_STD3_mapped\",[40,28779,41]],[[12844,12844],\"disallowed_STD3_mapped\",[40,27700,41]],[[12845,12845],\"disallowed_STD3_mapped\",[40,26408,41]],[[12846,12846],\"disallowed_STD3_mapped\",[40,37329,41]],[[12847,12847],\"disallowed_STD3_mapped\",[40,22303,41]],[[12848,12848],\"disallowed_STD3_mapped\",[40,26085,41]],[[12849,12849],\"disallowed_STD3_mapped\",[40,26666,41]],[[12850,12850],\"disallowed_STD3_mapped\",[40,26377,41]],[[12851,12851],\"disallowed_STD3_mapped\",[40,31038,41]],[[12852,12852],\"disallowed_STD3_mapped\",[40,21517,41]],[[12853,12853],\"disallowed_STD3_mapped\",[40,29305,41]],[[12854,12854],\"disallowed_STD3_mapped\",[40,36001,41]],[[12855,12855],\"disallowed_STD3_mapped\",[40,31069,41]],[[12856,12856],\"disallowed_STD3_mapped\",[40,21172,41]],[[12857,12857],\"disallowed_STD3_mapped\",[40,20195,41]],[[12858,12858],\"disallowed_STD3_mapped\",[40,21628,41]],[[12859,12859],\"disallowed_STD3_mapped\",[40,23398,41]],[[12860,12860],\"disallowed_STD3_mapped\",[40,30435,41]],[[12861,12861],\"disallowed_STD3_mapped\",[40,20225,41]],[[12862,12862],\"disallowed_STD3_mapped\",[40,36039,41]],[[12863,12863],\"disallowed_STD3_mapped\",[40,21332,41]],[[12864,12864],\"disallowed_STD3_mapped\",[40,31085,41]],[[12865,12865],\"disallowed_STD3_mapped\",[40,20241,41]],[[12866,12866],\"disallowed_STD3_mapped\",[40,33258,41]],[[12867,12867],\"disallowed_STD3_mapped\",[40,33267,41]],[[12868,12868],\"mapped\",[21839]],[[12869,12869],\"mapped\",[24188]],[[12870,12870],\"mapped\",[25991]],[[12871,12871],\"mapped\",[31631]],[[12872,12879],\"valid\",[],\"NV8\"],[[12880,12880],\"mapped\",[112,116,101]],[[12881,12881],\"mapped\",[50,49]],[[12882,12882],\"mapped\",[50,50]],[[12883,12883],\"mapped\",[50,51]],[[12884,12884],\"mapped\",[50,52]],[[12885,12885],\"mapped\",[50,53]],[[12886,12886],\"mapped\",[50,54]],[[12887,12887],\"mapped\",[50,55]],[[12888,12888],\"mapped\",[50,56]],[[12889,12889],\"mapped\",[50,57]],[[12890,12890],\"mapped\",[51,48]],[[12891,12891],\"mapped\",[51,49]],[[12892,12892],\"mapped\",[51,50]],[[12893,12893],\"mapped\",[51,51]],[[12894,12894],\"mapped\",[51,52]],[[12895,12895],\"mapped\",[51,53]],[[12896,12896],\"mapped\",[4352]],[[12897,12897],\"mapped\",[4354]],[[12898,12898],\"mapped\",[4355]],[[12899,12899],\"mapped\",[4357]],[[12900,12900],\"mapped\",[4358]],[[12901,12901],\"mapped\",[4359]],[[12902,12902],\"mapped\",[4361]],[[12903,12903],\"mapped\",[4363]],[[12904,12904],\"mapped\",[4364]],[[12905,12905],\"mapped\",[4366]],[[12906,12906],\"mapped\",[4367]],[[12907,12907],\"mapped\",[4368]],[[12908,12908],\"mapped\",[4369]],[[12909,12909],\"mapped\",[4370]],[[12910,12910],\"mapped\",[44032]],[[12911,12911],\"mapped\",[45208]],[[12912,12912],\"mapped\",[45796]],[[12913,12913],\"mapped\",[46972]],[[12914,12914],\"mapped\",[47560]],[[12915,12915],\"mapped\",[48148]],[[12916,12916],\"mapped\",[49324]],[[12917,12917],\"mapped\",[50500]],[[12918,12918],\"mapped\",[51088]],[[12919,12919],\"mapped\",[52264]],[[12920,12920],\"mapped\",[52852]],[[12921,12921],\"mapped\",[53440]],[[12922,12922],\"mapped\",[54028]],[[12923,12923],\"mapped\",[54616]],[[12924,12924],\"mapped\",[52280,44256]],[[12925,12925],\"mapped\",[51452,51032]],[[12926,12926],\"mapped\",[50864]],[[12927,12927],\"valid\",[],\"NV8\"],[[12928,12928],\"mapped\",[19968]],[[12929,12929],\"mapped\",[20108]],[[12930,12930],\"mapped\",[19977]],[[12931,12931],\"mapped\",[22235]],[[12932,12932],\"mapped\",[20116]],[[12933,12933],\"mapped\",[20845]],[[12934,12934],\"mapped\",[19971]],[[12935,12935],\"mapped\",[20843]],[[12936,12936],\"mapped\",[20061]],[[12937,12937],\"mapped\",[21313]],[[12938,12938],\"mapped\",[26376]],[[12939,12939],\"mapped\",[28779]],[[12940,12940],\"mapped\",[27700]],[[12941,12941],\"mapped\",[26408]],[[12942,12942],\"mapped\",[37329]],[[12943,12943],\"mapped\",[22303]],[[12944,12944],\"mapped\",[26085]],[[12945,12945],\"mapped\",[26666]],[[12946,12946],\"mapped\",[26377]],[[12947,12947],\"mapped\",[31038]],[[12948,12948],\"mapped\",[21517]],[[12949,12949],\"mapped\",[29305]],[[12950,12950],\"mapped\",[36001]],[[12951,12951],\"mapped\",[31069]],[[12952,12952],\"mapped\",[21172]],[[12953,12953],\"mapped\",[31192]],[[12954,12954],\"mapped\",[30007]],[[12955,12955],\"mapped\",[22899]],[[12956,12956],\"mapped\",[36969]],[[12957,12957],\"mapped\",[20778]],[[12958,12958],\"mapped\",[21360]],[[12959,12959],\"mapped\",[27880]],[[12960,12960],\"mapped\",[38917]],[[12961,12961],\"mapped\",[20241]],[[12962,12962],\"mapped\",[20889]],[[12963,12963],\"mapped\",[27491]],[[12964,12964],\"mapped\",[19978]],[[12965,12965],\"mapped\",[20013]],[[12966,12966],\"mapped\",[19979]],[[12967,12967],\"mapped\",[24038]],[[12968,12968],\"mapped\",[21491]],[[12969,12969],\"mapped\",[21307]],[[12970,12970],\"mapped\",[23447]],[[12971,12971],\"mapped\",[23398]],[[12972,12972],\"mapped\",[30435]],[[12973,12973],\"mapped\",[20225]],[[12974,12974],\"mapped\",[36039]],[[12975,12975],\"mapped\",[21332]],[[12976,12976],\"mapped\",[22812]],[[12977,12977],\"mapped\",[51,54]],[[12978,12978],\"mapped\",[51,55]],[[12979,12979],\"mapped\",[51,56]],[[12980,12980],\"mapped\",[51,57]],[[12981,12981],\"mapped\",[52,48]],[[12982,12982],\"mapped\",[52,49]],[[12983,12983],\"mapped\",[52,50]],[[12984,12984],\"mapped\",[52,51]],[[12985,12985],\"mapped\",[52,52]],[[12986,12986],\"mapped\",[52,53]],[[12987,12987],\"mapped\",[52,54]],[[12988,12988],\"mapped\",[52,55]],[[12989,12989],\"mapped\",[52,56]],[[12990,12990],\"mapped\",[52,57]],[[12991,12991],\"mapped\",[53,48]],[[12992,12992],\"mapped\",[49,26376]],[[12993,12993],\"mapped\",[50,26376]],[[12994,12994],\"mapped\",[51,26376]],[[12995,12995],\"mapped\",[52,26376]],[[12996,12996],\"mapped\",[53,26376]],[[12997,12997],\"mapped\",[54,26376]],[[12998,12998],\"mapped\",[55,26376]],[[12999,12999],\"mapped\",[56,26376]],[[13000,13000],\"mapped\",[57,26376]],[[13001,13001],\"mapped\",[49,48,26376]],[[13002,13002],\"mapped\",[49,49,26376]],[[13003,13003],\"mapped\",[49,50,26376]],[[13004,13004],\"mapped\",[104,103]],[[13005,13005],\"mapped\",[101,114,103]],[[13006,13006],\"mapped\",[101,118]],[[13007,13007],\"mapped\",[108,116,100]],[[13008,13008],\"mapped\",[12450]],[[13009,13009],\"mapped\",[12452]],[[13010,13010],\"mapped\",[12454]],[[13011,13011],\"mapped\",[12456]],[[13012,13012],\"mapped\",[12458]],[[13013,13013],\"mapped\",[12459]],[[13014,13014],\"mapped\",[12461]],[[13015,13015],\"mapped\",[12463]],[[13016,13016],\"mapped\",[12465]],[[13017,13017],\"mapped\",[12467]],[[13018,13018],\"mapped\",[12469]],[[13019,13019],\"mapped\",[12471]],[[13020,13020],\"mapped\",[12473]],[[13021,13021],\"mapped\",[12475]],[[13022,13022],\"mapped\",[12477]],[[13023,13023],\"mapped\",[12479]],[[13024,13024],\"mapped\",[12481]],[[13025,13025],\"mapped\",[12484]],[[13026,13026],\"mapped\",[12486]],[[13027,13027],\"mapped\",[12488]],[[13028,13028],\"mapped\",[12490]],[[13029,13029],\"mapped\",[12491]],[[13030,13030],\"mapped\",[12492]],[[13031,13031],\"mapped\",[12493]],[[13032,13032],\"mapped\",[12494]],[[13033,13033],\"mapped\",[12495]],[[13034,13034],\"mapped\",[12498]],[[13035,13035],\"mapped\",[12501]],[[13036,13036],\"mapped\",[12504]],[[13037,13037],\"mapped\",[12507]],[[13038,13038],\"mapped\",[12510]],[[13039,13039],\"mapped\",[12511]],[[13040,13040],\"mapped\",[12512]],[[13041,13041],\"mapped\",[12513]],[[13042,13042],\"mapped\",[12514]],[[13043,13043],\"mapped\",[12516]],[[13044,13044],\"mapped\",[12518]],[[13045,13045],\"mapped\",[12520]],[[13046,13046],\"mapped\",[12521]],[[13047,13047],\"mapped\",[12522]],[[13048,13048],\"mapped\",[12523]],[[13049,13049],\"mapped\",[12524]],[[13050,13050],\"mapped\",[12525]],[[13051,13051],\"mapped\",[12527]],[[13052,13052],\"mapped\",[12528]],[[13053,13053],\"mapped\",[12529]],[[13054,13054],\"mapped\",[12530]],[[13055,13055],\"disallowed\"],[[13056,13056],\"mapped\",[12450,12497,12540,12488]],[[13057,13057],\"mapped\",[12450,12523,12501,12449]],[[13058,13058],\"mapped\",[12450,12531,12506,12450]],[[13059,13059],\"mapped\",[12450,12540,12523]],[[13060,13060],\"mapped\",[12452,12491,12531,12464]],[[13061,13061],\"mapped\",[12452,12531,12481]],[[13062,13062],\"mapped\",[12454,12457,12531]],[[13063,13063],\"mapped\",[12456,12473,12463,12540,12489]],[[13064,13064],\"mapped\",[12456,12540,12459,12540]],[[13065,13065],\"mapped\",[12458,12531,12473]],[[13066,13066],\"mapped\",[12458,12540,12512]],[[13067,13067],\"mapped\",[12459,12452,12522]],[[13068,13068],\"mapped\",[12459,12521,12483,12488]],[[13069,13069],\"mapped\",[12459,12525,12522,12540]],[[13070,13070],\"mapped\",[12460,12525,12531]],[[13071,13071],\"mapped\",[12460,12531,12510]],[[13072,13072],\"mapped\",[12462,12460]],[[13073,13073],\"mapped\",[12462,12491,12540]],[[13074,13074],\"mapped\",[12461,12517,12522,12540]],[[13075,13075],\"mapped\",[12462,12523,12480,12540]],[[13076,13076],\"mapped\",[12461,12525]],[[13077,13077],\"mapped\",[12461,12525,12464,12521,12512]],[[13078,13078],\"mapped\",[12461,12525,12513,12540,12488,12523]],[[13079,13079],\"mapped\",[12461,12525,12527,12483,12488]],[[13080,13080],\"mapped\",[12464,12521,12512]],[[13081,13081],\"mapped\",[12464,12521,12512,12488,12531]],[[13082,13082],\"mapped\",[12463,12523,12476,12452,12525]],[[13083,13083],\"mapped\",[12463,12525,12540,12493]],[[13084,13084],\"mapped\",[12465,12540,12473]],[[13085,13085],\"mapped\",[12467,12523,12490]],[[13086,13086],\"mapped\",[12467,12540,12509]],[[13087,13087],\"mapped\",[12469,12452,12463,12523]],[[13088,13088],\"mapped\",[12469,12531,12481,12540,12512]],[[13089,13089],\"mapped\",[12471,12522,12531,12464]],[[13090,13090],\"mapped\",[12475,12531,12481]],[[13091,13091],\"mapped\",[12475,12531,12488]],[[13092,13092],\"mapped\",[12480,12540,12473]],[[13093,13093],\"mapped\",[12487,12471]],[[13094,13094],\"mapped\",[12489,12523]],[[13095,13095],\"mapped\",[12488,12531]],[[13096,13096],\"mapped\",[12490,12494]],[[13097,13097],\"mapped\",[12494,12483,12488]],[[13098,13098],\"mapped\",[12495,12452,12484]],[[13099,13099],\"mapped\",[12497,12540,12475,12531,12488]],[[13100,13100],\"mapped\",[12497,12540,12484]],[[13101,13101],\"mapped\",[12496,12540,12524,12523]],[[13102,13102],\"mapped\",[12500,12450,12473,12488,12523]],[[13103,13103],\"mapped\",[12500,12463,12523]],[[13104,13104],\"mapped\",[12500,12467]],[[13105,13105],\"mapped\",[12499,12523]],[[13106,13106],\"mapped\",[12501,12449,12521,12483,12489]],[[13107,13107],\"mapped\",[12501,12451,12540,12488]],[[13108,13108],\"mapped\",[12502,12483,12471,12455,12523]],[[13109,13109],\"mapped\",[12501,12521,12531]],[[13110,13110],\"mapped\",[12504,12463,12479,12540,12523]],[[13111,13111],\"mapped\",[12506,12477]],[[13112,13112],\"mapped\",[12506,12491,12498]],[[13113,13113],\"mapped\",[12504,12523,12484]],[[13114,13114],\"mapped\",[12506,12531,12473]],[[13115,13115],\"mapped\",[12506,12540,12472]],[[13116,13116],\"mapped\",[12505,12540,12479]],[[13117,13117],\"mapped\",[12509,12452,12531,12488]],[[13118,13118],\"mapped\",[12508,12523,12488]],[[13119,13119],\"mapped\",[12507,12531]],[[13120,13120],\"mapped\",[12509,12531,12489]],[[13121,13121],\"mapped\",[12507,12540,12523]],[[13122,13122],\"mapped\",[12507,12540,12531]],[[13123,13123],\"mapped\",[12510,12452,12463,12525]],[[13124,13124],\"mapped\",[12510,12452,12523]],[[13125,13125],\"mapped\",[12510,12483,12495]],[[13126,13126],\"mapped\",[12510,12523,12463]],[[13127,13127],\"mapped\",[12510,12531,12471,12519,12531]],[[13128,13128],\"mapped\",[12511,12463,12525,12531]],[[13129,13129],\"mapped\",[12511,12522]],[[13130,13130],\"mapped\",[12511,12522,12496,12540,12523]],[[13131,13131],\"mapped\",[12513,12460]],[[13132,13132],\"mapped\",[12513,12460,12488,12531]],[[13133,13133],\"mapped\",[12513,12540,12488,12523]],[[13134,13134],\"mapped\",[12516,12540,12489]],[[13135,13135],\"mapped\",[12516,12540,12523]],[[13136,13136],\"mapped\",[12518,12450,12531]],[[13137,13137],\"mapped\",[12522,12483,12488,12523]],[[13138,13138],\"mapped\",[12522,12521]],[[13139,13139],\"mapped\",[12523,12500,12540]],[[13140,13140],\"mapped\",[12523,12540,12502,12523]],[[13141,13141],\"mapped\",[12524,12512]],[[13142,13142],\"mapped\",[12524,12531,12488,12466,12531]],[[13143,13143],\"mapped\",[12527,12483,12488]],[[13144,13144],\"mapped\",[48,28857]],[[13145,13145],\"mapped\",[49,28857]],[[13146,13146],\"mapped\",[50,28857]],[[13147,13147],\"mapped\",[51,28857]],[[13148,13148],\"mapped\",[52,28857]],[[13149,13149],\"mapped\",[53,28857]],[[13150,13150],\"mapped\",[54,28857]],[[13151,13151],\"mapped\",[55,28857]],[[13152,13152],\"mapped\",[56,28857]],[[13153,13153],\"mapped\",[57,28857]],[[13154,13154],\"mapped\",[49,48,28857]],[[13155,13155],\"mapped\",[49,49,28857]],[[13156,13156],\"mapped\",[49,50,28857]],[[13157,13157],\"mapped\",[49,51,28857]],[[13158,13158],\"mapped\",[49,52,28857]],[[13159,13159],\"mapped\",[49,53,28857]],[[13160,13160],\"mapped\",[49,54,28857]],[[13161,13161],\"mapped\",[49,55,28857]],[[13162,13162],\"mapped\",[49,56,28857]],[[13163,13163],\"mapped\",[49,57,28857]],[[13164,13164],\"mapped\",[50,48,28857]],[[13165,13165],\"mapped\",[50,49,28857]],[[13166,13166],\"mapped\",[50,50,28857]],[[13167,13167],\"mapped\",[50,51,28857]],[[13168,13168],\"mapped\",[50,52,28857]],[[13169,13169],\"mapped\",[104,112,97]],[[13170,13170],\"mapped\",[100,97]],[[13171,13171],\"mapped\",[97,117]],[[13172,13172],\"mapped\",[98,97,114]],[[13173,13173],\"mapped\",[111,118]],[[13174,13174],\"mapped\",[112,99]],[[13175,13175],\"mapped\",[100,109]],[[13176,13176],\"mapped\",[100,109,50]],[[13177,13177],\"mapped\",[100,109,51]],[[13178,13178],\"mapped\",[105,117]],[[13179,13179],\"mapped\",[24179,25104]],[[13180,13180],\"mapped\",[26157,21644]],[[13181,13181],\"mapped\",[22823,27491]],[[13182,13182],\"mapped\",[26126,27835]],[[13183,13183],\"mapped\",[26666,24335,20250,31038]],[[13184,13184],\"mapped\",[112,97]],[[13185,13185],\"mapped\",[110,97]],[[13186,13186],\"mapped\",[956,97]],[[13187,13187],\"mapped\",[109,97]],[[13188,13188],\"mapped\",[107,97]],[[13189,13189],\"mapped\",[107,98]],[[13190,13190],\"mapped\",[109,98]],[[13191,13191],\"mapped\",[103,98]],[[13192,13192],\"mapped\",[99,97,108]],[[13193,13193],\"mapped\",[107,99,97,108]],[[13194,13194],\"mapped\",[112,102]],[[13195,13195],\"mapped\",[110,102]],[[13196,13196],\"mapped\",[956,102]],[[13197,13197],\"mapped\",[956,103]],[[13198,13198],\"mapped\",[109,103]],[[13199,13199],\"mapped\",[107,103]],[[13200,13200],\"mapped\",[104,122]],[[13201,13201],\"mapped\",[107,104,122]],[[13202,13202],\"mapped\",[109,104,122]],[[13203,13203],\"mapped\",[103,104,122]],[[13204,13204],\"mapped\",[116,104,122]],[[13205,13205],\"mapped\",[956,108]],[[13206,13206],\"mapped\",[109,108]],[[13207,13207],\"mapped\",[100,108]],[[13208,13208],\"mapped\",[107,108]],[[13209,13209],\"mapped\",[102,109]],[[13210,13210],\"mapped\",[110,109]],[[13211,13211],\"mapped\",[956,109]],[[13212,13212],\"mapped\",[109,109]],[[13213,13213],\"mapped\",[99,109]],[[13214,13214],\"mapped\",[107,109]],[[13215,13215],\"mapped\",[109,109,50]],[[13216,13216],\"mapped\",[99,109,50]],[[13217,13217],\"mapped\",[109,50]],[[13218,13218],\"mapped\",[107,109,50]],[[13219,13219],\"mapped\",[109,109,51]],[[13220,13220],\"mapped\",[99,109,51]],[[13221,13221],\"mapped\",[109,51]],[[13222,13222],\"mapped\",[107,109,51]],[[13223,13223],\"mapped\",[109,8725,115]],[[13224,13224],\"mapped\",[109,8725,115,50]],[[13225,13225],\"mapped\",[112,97]],[[13226,13226],\"mapped\",[107,112,97]],[[13227,13227],\"mapped\",[109,112,97]],[[13228,13228],\"mapped\",[103,112,97]],[[13229,13229],\"mapped\",[114,97,100]],[[13230,13230],\"mapped\",[114,97,100,8725,115]],[[13231,13231],\"mapped\",[114,97,100,8725,115,50]],[[13232,13232],\"mapped\",[112,115]],[[13233,13233],\"mapped\",[110,115]],[[13234,13234],\"mapped\",[956,115]],[[13235,13235],\"mapped\",[109,115]],[[13236,13236],\"mapped\",[112,118]],[[13237,13237],\"mapped\",[110,118]],[[13238,13238],\"mapped\",[956,118]],[[13239,13239],\"mapped\",[109,118]],[[13240,13240],\"mapped\",[107,118]],[[13241,13241],\"mapped\",[109,118]],[[13242,13242],\"mapped\",[112,119]],[[13243,13243],\"mapped\",[110,119]],[[13244,13244],\"mapped\",[956,119]],[[13245,13245],\"mapped\",[109,119]],[[13246,13246],\"mapped\",[107,119]],[[13247,13247],\"mapped\",[109,119]],[[13248,13248],\"mapped\",[107,969]],[[13249,13249],\"mapped\",[109,969]],[[13250,13250],\"disallowed\"],[[13251,13251],\"mapped\",[98,113]],[[13252,13252],\"mapped\",[99,99]],[[13253,13253],\"mapped\",[99,100]],[[13254,13254],\"mapped\",[99,8725,107,103]],[[13255,13255],\"disallowed\"],[[13256,13256],\"mapped\",[100,98]],[[13257,13257],\"mapped\",[103,121]],[[13258,13258],\"mapped\",[104,97]],[[13259,13259],\"mapped\",[104,112]],[[13260,13260],\"mapped\",[105,110]],[[13261,13261],\"mapped\",[107,107]],[[13262,13262],\"mapped\",[107,109]],[[13263,13263],\"mapped\",[107,116]],[[13264,13264],\"mapped\",[108,109]],[[13265,13265],\"mapped\",[108,110]],[[13266,13266],\"mapped\",[108,111,103]],[[13267,13267],\"mapped\",[108,120]],[[13268,13268],\"mapped\",[109,98]],[[13269,13269],\"mapped\",[109,105,108]],[[13270,13270],\"mapped\",[109,111,108]],[[13271,13271],\"mapped\",[112,104]],[[13272,13272],\"disallowed\"],[[13273,13273],\"mapped\",[112,112,109]],[[13274,13274],\"mapped\",[112,114]],[[13275,13275],\"mapped\",[115,114]],[[13276,13276],\"mapped\",[115,118]],[[13277,13277],\"mapped\",[119,98]],[[13278,13278],\"mapped\",[118,8725,109]],[[13279,13279],\"mapped\",[97,8725,109]],[[13280,13280],\"mapped\",[49,26085]],[[13281,13281],\"mapped\",[50,26085]],[[13282,13282],\"mapped\",[51,26085]],[[13283,13283],\"mapped\",[52,26085]],[[13284,13284],\"mapped\",[53,26085]],[[13285,13285],\"mapped\",[54,26085]],[[13286,13286],\"mapped\",[55,26085]],[[13287,13287],\"mapped\",[56,26085]],[[13288,13288],\"mapped\",[57,26085]],[[13289,13289],\"mapped\",[49,48,26085]],[[13290,13290],\"mapped\",[49,49,26085]],[[13291,13291],\"mapped\",[49,50,26085]],[[13292,13292],\"mapped\",[49,51,26085]],[[13293,13293],\"mapped\",[49,52,26085]],[[13294,13294],\"mapped\",[49,53,26085]],[[13295,13295],\"mapped\",[49,54,26085]],[[13296,13296],\"mapped\",[49,55,26085]],[[13297,13297],\"mapped\",[49,56,26085]],[[13298,13298],\"mapped\",[49,57,26085]],[[13299,13299],\"mapped\",[50,48,26085]],[[13300,13300],\"mapped\",[50,49,26085]],[[13301,13301],\"mapped\",[50,50,26085]],[[13302,13302],\"mapped\",[50,51,26085]],[[13303,13303],\"mapped\",[50,52,26085]],[[13304,13304],\"mapped\",[50,53,26085]],[[13305,13305],\"mapped\",[50,54,26085]],[[13306,13306],\"mapped\",[50,55,26085]],[[13307,13307],\"mapped\",[50,56,26085]],[[13308,13308],\"mapped\",[50,57,26085]],[[13309,13309],\"mapped\",[51,48,26085]],[[13310,13310],\"mapped\",[51,49,26085]],[[13311,13311],\"mapped\",[103,97,108]],[[13312,19893],\"valid\"],[[19894,19903],\"disallowed\"],[[19904,19967],\"valid\",[],\"NV8\"],[[19968,40869],\"valid\"],[[40870,40891],\"valid\"],[[40892,40899],\"valid\"],[[40900,40907],\"valid\"],[[40908,40908],\"valid\"],[[40909,40917],\"valid\"],[[40918,40959],\"disallowed\"],[[40960,42124],\"valid\"],[[42125,42127],\"disallowed\"],[[42128,42145],\"valid\",[],\"NV8\"],[[42146,42147],\"valid\",[],\"NV8\"],[[42148,42163],\"valid\",[],\"NV8\"],[[42164,42164],\"valid\",[],\"NV8\"],[[42165,42176],\"valid\",[],\"NV8\"],[[42177,42177],\"valid\",[],\"NV8\"],[[42178,42180],\"valid\",[],\"NV8\"],[[42181,42181],\"valid\",[],\"NV8\"],[[42182,42182],\"valid\",[],\"NV8\"],[[42183,42191],\"disallowed\"],[[42192,42237],\"valid\"],[[42238,42239],\"valid\",[],\"NV8\"],[[42240,42508],\"valid\"],[[42509,42511],\"valid\",[],\"NV8\"],[[42512,42539],\"valid\"],[[42540,42559],\"disallowed\"],[[42560,42560],\"mapped\",[42561]],[[42561,42561],\"valid\"],[[42562,42562],\"mapped\",[42563]],[[42563,42563],\"valid\"],[[42564,42564],\"mapped\",[42565]],[[42565,42565],\"valid\"],[[42566,42566],\"mapped\",[42567]],[[42567,42567],\"valid\"],[[42568,42568],\"mapped\",[42569]],[[42569,42569],\"valid\"],[[42570,42570],\"mapped\",[42571]],[[42571,42571],\"valid\"],[[42572,42572],\"mapped\",[42573]],[[42573,42573],\"valid\"],[[42574,42574],\"mapped\",[42575]],[[42575,42575],\"valid\"],[[42576,42576],\"mapped\",[42577]],[[42577,42577],\"valid\"],[[42578,42578],\"mapped\",[42579]],[[42579,42579],\"valid\"],[[42580,42580],\"mapped\",[42581]],[[42581,42581],\"valid\"],[[42582,42582],\"mapped\",[42583]],[[42583,42583],\"valid\"],[[42584,42584],\"mapped\",[42585]],[[42585,42585],\"valid\"],[[42586,42586],\"mapped\",[42587]],[[42587,42587],\"valid\"],[[42588,42588],\"mapped\",[42589]],[[42589,42589],\"valid\"],[[42590,42590],\"mapped\",[42591]],[[42591,42591],\"valid\"],[[42592,42592],\"mapped\",[42593]],[[42593,42593],\"valid\"],[[42594,42594],\"mapped\",[42595]],[[42595,42595],\"valid\"],[[42596,42596],\"mapped\",[42597]],[[42597,42597],\"valid\"],[[42598,42598],\"mapped\",[42599]],[[42599,42599],\"valid\"],[[42600,42600],\"mapped\",[42601]],[[42601,42601],\"valid\"],[[42602,42602],\"mapped\",[42603]],[[42603,42603],\"valid\"],[[42604,42604],\"mapped\",[42605]],[[42605,42607],\"valid\"],[[42608,42611],\"valid\",[],\"NV8\"],[[42612,42619],\"valid\"],[[42620,42621],\"valid\"],[[42622,42622],\"valid\",[],\"NV8\"],[[42623,42623],\"valid\"],[[42624,42624],\"mapped\",[42625]],[[42625,42625],\"valid\"],[[42626,42626],\"mapped\",[42627]],[[42627,42627],\"valid\"],[[42628,42628],\"mapped\",[42629]],[[42629,42629],\"valid\"],[[42630,42630],\"mapped\",[42631]],[[42631,42631],\"valid\"],[[42632,42632],\"mapped\",[42633]],[[42633,42633],\"valid\"],[[42634,42634],\"mapped\",[42635]],[[42635,42635],\"valid\"],[[42636,42636],\"mapped\",[42637]],[[42637,42637],\"valid\"],[[42638,42638],\"mapped\",[42639]],[[42639,42639],\"valid\"],[[42640,42640],\"mapped\",[42641]],[[42641,42641],\"valid\"],[[42642,42642],\"mapped\",[42643]],[[42643,42643],\"valid\"],[[42644,42644],\"mapped\",[42645]],[[42645,42645],\"valid\"],[[42646,42646],\"mapped\",[42647]],[[42647,42647],\"valid\"],[[42648,42648],\"mapped\",[42649]],[[42649,42649],\"valid\"],[[42650,42650],\"mapped\",[42651]],[[42651,42651],\"valid\"],[[42652,42652],\"mapped\",[1098]],[[42653,42653],\"mapped\",[1100]],[[42654,42654],\"valid\"],[[42655,42655],\"valid\"],[[42656,42725],\"valid\"],[[42726,42735],\"valid\",[],\"NV8\"],[[42736,42737],\"valid\"],[[42738,42743],\"valid\",[],\"NV8\"],[[42744,42751],\"disallowed\"],[[42752,42774],\"valid\",[],\"NV8\"],[[42775,42778],\"valid\"],[[42779,42783],\"valid\"],[[42784,42785],\"valid\",[],\"NV8\"],[[42786,42786],\"mapped\",[42787]],[[42787,42787],\"valid\"],[[42788,42788],\"mapped\",[42789]],[[42789,42789],\"valid\"],[[42790,42790],\"mapped\",[42791]],[[42791,42791],\"valid\"],[[42792,42792],\"mapped\",[42793]],[[42793,42793],\"valid\"],[[42794,42794],\"mapped\",[42795]],[[42795,42795],\"valid\"],[[42796,42796],\"mapped\",[42797]],[[42797,42797],\"valid\"],[[42798,42798],\"mapped\",[42799]],[[42799,42801],\"valid\"],[[42802,42802],\"mapped\",[42803]],[[42803,42803],\"valid\"],[[42804,42804],\"mapped\",[42805]],[[42805,42805],\"valid\"],[[42806,42806],\"mapped\",[42807]],[[42807,42807],\"valid\"],[[42808,42808],\"mapped\",[42809]],[[42809,42809],\"valid\"],[[42810,42810],\"mapped\",[42811]],[[42811,42811],\"valid\"],[[42812,42812],\"mapped\",[42813]],[[42813,42813],\"valid\"],[[42814,42814],\"mapped\",[42815]],[[42815,42815],\"valid\"],[[42816,42816],\"mapped\",[42817]],[[42817,42817],\"valid\"],[[42818,42818],\"mapped\",[42819]],[[42819,42819],\"valid\"],[[42820,42820],\"mapped\",[42821]],[[42821,42821],\"valid\"],[[42822,42822],\"mapped\",[42823]],[[42823,42823],\"valid\"],[[42824,42824],\"mapped\",[42825]],[[42825,42825],\"valid\"],[[42826,42826],\"mapped\",[42827]],[[42827,42827],\"valid\"],[[42828,42828],\"mapped\",[42829]],[[42829,42829],\"valid\"],[[42830,42830],\"mapped\",[42831]],[[42831,42831],\"valid\"],[[42832,42832],\"mapped\",[42833]],[[42833,42833],\"valid\"],[[42834,42834],\"mapped\",[42835]],[[42835,42835],\"valid\"],[[42836,42836],\"mapped\",[42837]],[[42837,42837],\"valid\"],[[42838,42838],\"mapped\",[42839]],[[42839,42839],\"valid\"],[[42840,42840],\"mapped\",[42841]],[[42841,42841],\"valid\"],[[42842,42842],\"mapped\",[42843]],[[42843,42843],\"valid\"],[[42844,42844],\"mapped\",[42845]],[[42845,42845],\"valid\"],[[42846,42846],\"mapped\",[42847]],[[42847,42847],\"valid\"],[[42848,42848],\"mapped\",[42849]],[[42849,42849],\"valid\"],[[42850,42850],\"mapped\",[42851]],[[42851,42851],\"valid\"],[[42852,42852],\"mapped\",[42853]],[[42853,42853],\"valid\"],[[42854,42854],\"mapped\",[42855]],[[42855,42855],\"valid\"],[[42856,42856],\"mapped\",[42857]],[[42857,42857],\"valid\"],[[42858,42858],\"mapped\",[42859]],[[42859,42859],\"valid\"],[[42860,42860],\"mapped\",[42861]],[[42861,42861],\"valid\"],[[42862,42862],\"mapped\",[42863]],[[42863,42863],\"valid\"],[[42864,42864],\"mapped\",[42863]],[[42865,42872],\"valid\"],[[42873,42873],\"mapped\",[42874]],[[42874,42874],\"valid\"],[[42875,42875],\"mapped\",[42876]],[[42876,42876],\"valid\"],[[42877,42877],\"mapped\",[7545]],[[42878,42878],\"mapped\",[42879]],[[42879,42879],\"valid\"],[[42880,42880],\"mapped\",[42881]],[[42881,42881],\"valid\"],[[42882,42882],\"mapped\",[42883]],[[42883,42883],\"valid\"],[[42884,42884],\"mapped\",[42885]],[[42885,42885],\"valid\"],[[42886,42886],\"mapped\",[42887]],[[42887,42888],\"valid\"],[[42889,42890],\"valid\",[],\"NV8\"],[[42891,42891],\"mapped\",[42892]],[[42892,42892],\"valid\"],[[42893,42893],\"mapped\",[613]],[[42894,42894],\"valid\"],[[42895,42895],\"valid\"],[[42896,42896],\"mapped\",[42897]],[[42897,42897],\"valid\"],[[42898,42898],\"mapped\",[42899]],[[42899,42899],\"valid\"],[[42900,42901],\"valid\"],[[42902,42902],\"mapped\",[42903]],[[42903,42903],\"valid\"],[[42904,42904],\"mapped\",[42905]],[[42905,42905],\"valid\"],[[42906,42906],\"mapped\",[42907]],[[42907,42907],\"valid\"],[[42908,42908],\"mapped\",[42909]],[[42909,42909],\"valid\"],[[42910,42910],\"mapped\",[42911]],[[42911,42911],\"valid\"],[[42912,42912],\"mapped\",[42913]],[[42913,42913],\"valid\"],[[42914,42914],\"mapped\",[42915]],[[42915,42915],\"valid\"],[[42916,42916],\"mapped\",[42917]],[[42917,42917],\"valid\"],[[42918,42918],\"mapped\",[42919]],[[42919,42919],\"valid\"],[[42920,42920],\"mapped\",[42921]],[[42921,42921],\"valid\"],[[42922,42922],\"mapped\",[614]],[[42923,42923],\"mapped\",[604]],[[42924,42924],\"mapped\",[609]],[[42925,42925],\"mapped\",[620]],[[42926,42927],\"disallowed\"],[[42928,42928],\"mapped\",[670]],[[42929,42929],\"mapped\",[647]],[[42930,42930],\"mapped\",[669]],[[42931,42931],\"mapped\",[43859]],[[42932,42932],\"mapped\",[42933]],[[42933,42933],\"valid\"],[[42934,42934],\"mapped\",[42935]],[[42935,42935],\"valid\"],[[42936,42998],\"disallowed\"],[[42999,42999],\"valid\"],[[43000,43000],\"mapped\",[295]],[[43001,43001],\"mapped\",[339]],[[43002,43002],\"valid\"],[[43003,43007],\"valid\"],[[43008,43047],\"valid\"],[[43048,43051],\"valid\",[],\"NV8\"],[[43052,43055],\"disallowed\"],[[43056,43065],\"valid\",[],\"NV8\"],[[43066,43071],\"disallowed\"],[[43072,43123],\"valid\"],[[43124,43127],\"valid\",[],\"NV8\"],[[43128,43135],\"disallowed\"],[[43136,43204],\"valid\"],[[43205,43213],\"disallowed\"],[[43214,43215],\"valid\",[],\"NV8\"],[[43216,43225],\"valid\"],[[43226,43231],\"disallowed\"],[[43232,43255],\"valid\"],[[43256,43258],\"valid\",[],\"NV8\"],[[43259,43259],\"valid\"],[[43260,43260],\"valid\",[],\"NV8\"],[[43261,43261],\"valid\"],[[43262,43263],\"disallowed\"],[[43264,43309],\"valid\"],[[43310,43311],\"valid\",[],\"NV8\"],[[43312,43347],\"valid\"],[[43348,43358],\"disallowed\"],[[43359,43359],\"valid\",[],\"NV8\"],[[43360,43388],\"valid\",[],\"NV8\"],[[43389,43391],\"disallowed\"],[[43392,43456],\"valid\"],[[43457,43469],\"valid\",[],\"NV8\"],[[43470,43470],\"disallowed\"],[[43471,43481],\"valid\"],[[43482,43485],\"disallowed\"],[[43486,43487],\"valid\",[],\"NV8\"],[[43488,43518],\"valid\"],[[43519,43519],\"disallowed\"],[[43520,43574],\"valid\"],[[43575,43583],\"disallowed\"],[[43584,43597],\"valid\"],[[43598,43599],\"disallowed\"],[[43600,43609],\"valid\"],[[43610,43611],\"disallowed\"],[[43612,43615],\"valid\",[],\"NV8\"],[[43616,43638],\"valid\"],[[43639,43641],\"valid\",[],\"NV8\"],[[43642,43643],\"valid\"],[[43644,43647],\"valid\"],[[43648,43714],\"valid\"],[[43715,43738],\"disallowed\"],[[43739,43741],\"valid\"],[[43742,43743],\"valid\",[],\"NV8\"],[[43744,43759],\"valid\"],[[43760,43761],\"valid\",[],\"NV8\"],[[43762,43766],\"valid\"],[[43767,43776],\"disallowed\"],[[43777,43782],\"valid\"],[[43783,43784],\"disallowed\"],[[43785,43790],\"valid\"],[[43791,43792],\"disallowed\"],[[43793,43798],\"valid\"],[[43799,43807],\"disallowed\"],[[43808,43814],\"valid\"],[[43815,43815],\"disallowed\"],[[43816,43822],\"valid\"],[[43823,43823],\"disallowed\"],[[43824,43866],\"valid\"],[[43867,43867],\"valid\",[],\"NV8\"],[[43868,43868],\"mapped\",[42791]],[[43869,43869],\"mapped\",[43831]],[[43870,43870],\"mapped\",[619]],[[43871,43871],\"mapped\",[43858]],[[43872,43875],\"valid\"],[[43876,43877],\"valid\"],[[43878,43887],\"disallowed\"],[[43888,43888],\"mapped\",[5024]],[[43889,43889],\"mapped\",[5025]],[[43890,43890],\"mapped\",[5026]],[[43891,43891],\"mapped\",[5027]],[[43892,43892],\"mapped\",[5028]],[[43893,43893],\"mapped\",[5029]],[[43894,43894],\"mapped\",[5030]],[[43895,43895],\"mapped\",[5031]],[[43896,43896],\"mapped\",[5032]],[[43897,43897],\"mapped\",[5033]],[[43898,43898],\"mapped\",[5034]],[[43899,43899],\"mapped\",[5035]],[[43900,43900],\"mapped\",[5036]],[[43901,43901],\"mapped\",[5037]],[[43902,43902],\"mapped\",[5038]],[[43903,43903],\"mapped\",[5039]],[[43904,43904],\"mapped\",[5040]],[[43905,43905],\"mapped\",[5041]],[[43906,43906],\"mapped\",[5042]],[[43907,43907],\"mapped\",[5043]],[[43908,43908],\"mapped\",[5044]],[[43909,43909],\"mapped\",[5045]],[[43910,43910],\"mapped\",[5046]],[[43911,43911],\"mapped\",[5047]],[[43912,43912],\"mapped\",[5048]],[[43913,43913],\"mapped\",[5049]],[[43914,43914],\"mapped\",[5050]],[[43915,43915],\"mapped\",[5051]],[[43916,43916],\"mapped\",[5052]],[[43917,43917],\"mapped\",[5053]],[[43918,43918],\"mapped\",[5054]],[[43919,43919],\"mapped\",[5055]],[[43920,43920],\"mapped\",[5056]],[[43921,43921],\"mapped\",[5057]],[[43922,43922],\"mapped\",[5058]],[[43923,43923],\"mapped\",[5059]],[[43924,43924],\"mapped\",[5060]],[[43925,43925],\"mapped\",[5061]],[[43926,43926],\"mapped\",[5062]],[[43927,43927],\"mapped\",[5063]],[[43928,43928],\"mapped\",[5064]],[[43929,43929],\"mapped\",[5065]],[[43930,43930],\"mapped\",[5066]],[[43931,43931],\"mapped\",[5067]],[[43932,43932],\"mapped\",[5068]],[[43933,43933],\"mapped\",[5069]],[[43934,43934],\"mapped\",[5070]],[[43935,43935],\"mapped\",[5071]],[[43936,43936],\"mapped\",[5072]],[[43937,43937],\"mapped\",[5073]],[[43938,43938],\"mapped\",[5074]],[[43939,43939],\"mapped\",[5075]],[[43940,43940],\"mapped\",[5076]],[[43941,43941],\"mapped\",[5077]],[[43942,43942],\"mapped\",[5078]],[[43943,43943],\"mapped\",[5079]],[[43944,43944],\"mapped\",[5080]],[[43945,43945],\"mapped\",[5081]],[[43946,43946],\"mapped\",[5082]],[[43947,43947],\"mapped\",[5083]],[[43948,43948],\"mapped\",[5084]],[[43949,43949],\"mapped\",[5085]],[[43950,43950],\"mapped\",[5086]],[[43951,43951],\"mapped\",[5087]],[[43952,43952],\"mapped\",[5088]],[[43953,43953],\"mapped\",[5089]],[[43954,43954],\"mapped\",[5090]],[[43955,43955],\"mapped\",[5091]],[[43956,43956],\"mapped\",[5092]],[[43957,43957],\"mapped\",[5093]],[[43958,43958],\"mapped\",[5094]],[[43959,43959],\"mapped\",[5095]],[[43960,43960],\"mapped\",[5096]],[[43961,43961],\"mapped\",[5097]],[[43962,43962],\"mapped\",[5098]],[[43963,43963],\"mapped\",[5099]],[[43964,43964],\"mapped\",[5100]],[[43965,43965],\"mapped\",[5101]],[[43966,43966],\"mapped\",[5102]],[[43967,43967],\"mapped\",[5103]],[[43968,44010],\"valid\"],[[44011,44011],\"valid\",[],\"NV8\"],[[44012,44013],\"valid\"],[[44014,44015],\"disallowed\"],[[44016,44025],\"valid\"],[[44026,44031],\"disallowed\"],[[44032,55203],\"valid\"],[[55204,55215],\"disallowed\"],[[55216,55238],\"valid\",[],\"NV8\"],[[55239,55242],\"disallowed\"],[[55243,55291],\"valid\",[],\"NV8\"],[[55292,55295],\"disallowed\"],[[55296,57343],\"disallowed\"],[[57344,63743],\"disallowed\"],[[63744,63744],\"mapped\",[35912]],[[63745,63745],\"mapped\",[26356]],[[63746,63746],\"mapped\",[36554]],[[63747,63747],\"mapped\",[36040]],[[63748,63748],\"mapped\",[28369]],[[63749,63749],\"mapped\",[20018]],[[63750,63750],\"mapped\",[21477]],[[63751,63752],\"mapped\",[40860]],[[63753,63753],\"mapped\",[22865]],[[63754,63754],\"mapped\",[37329]],[[63755,63755],\"mapped\",[21895]],[[63756,63756],\"mapped\",[22856]],[[63757,63757],\"mapped\",[25078]],[[63758,63758],\"mapped\",[30313]],[[63759,63759],\"mapped\",[32645]],[[63760,63760],\"mapped\",[34367]],[[63761,63761],\"mapped\",[34746]],[[63762,63762],\"mapped\",[35064]],[[63763,63763],\"mapped\",[37007]],[[63764,63764],\"mapped\",[27138]],[[63765,63765],\"mapped\",[27931]],[[63766,63766],\"mapped\",[28889]],[[63767,63767],\"mapped\",[29662]],[[63768,63768],\"mapped\",[33853]],[[63769,63769],\"mapped\",[37226]],[[63770,63770],\"mapped\",[39409]],[[63771,63771],\"mapped\",[20098]],[[63772,63772],\"mapped\",[21365]],[[63773,63773],\"mapped\",[27396]],[[63774,63774],\"mapped\",[29211]],[[63775,63775],\"mapped\",[34349]],[[63776,63776],\"mapped\",[40478]],[[63777,63777],\"mapped\",[23888]],[[63778,63778],\"mapped\",[28651]],[[63779,63779],\"mapped\",[34253]],[[63780,63780],\"mapped\",[35172]],[[63781,63781],\"mapped\",[25289]],[[63782,63782],\"mapped\",[33240]],[[63783,63783],\"mapped\",[34847]],[[63784,63784],\"mapped\",[24266]],[[63785,63785],\"mapped\",[26391]],[[63786,63786],\"mapped\",[28010]],[[63787,63787],\"mapped\",[29436]],[[63788,63788],\"mapped\",[37070]],[[63789,63789],\"mapped\",[20358]],[[63790,63790],\"mapped\",[20919]],[[63791,63791],\"mapped\",[21214]],[[63792,63792],\"mapped\",[25796]],[[63793,63793],\"mapped\",[27347]],[[63794,63794],\"mapped\",[29200]],[[63795,63795],\"mapped\",[30439]],[[63796,63796],\"mapped\",[32769]],[[63797,63797],\"mapped\",[34310]],[[63798,63798],\"mapped\",[34396]],[[63799,63799],\"mapped\",[36335]],[[63800,63800],\"mapped\",[38706]],[[63801,63801],\"mapped\",[39791]],[[63802,63802],\"mapped\",[40442]],[[63803,63803],\"mapped\",[30860]],[[63804,63804],\"mapped\",[31103]],[[63805,63805],\"mapped\",[32160]],[[63806,63806],\"mapped\",[33737]],[[63807,63807],\"mapped\",[37636]],[[63808,63808],\"mapped\",[40575]],[[63809,63809],\"mapped\",[35542]],[[63810,63810],\"mapped\",[22751]],[[63811,63811],\"mapped\",[24324]],[[63812,63812],\"mapped\",[31840]],[[63813,63813],\"mapped\",[32894]],[[63814,63814],\"mapped\",[29282]],[[63815,63815],\"mapped\",[30922]],[[63816,63816],\"mapped\",[36034]],[[63817,63817],\"mapped\",[38647]],[[63818,63818],\"mapped\",[22744]],[[63819,63819],\"mapped\",[23650]],[[63820,63820],\"mapped\",[27155]],[[63821,63821],\"mapped\",[28122]],[[63822,63822],\"mapped\",[28431]],[[63823,63823],\"mapped\",[32047]],[[63824,63824],\"mapped\",[32311]],[[63825,63825],\"mapped\",[38475]],[[63826,63826],\"mapped\",[21202]],[[63827,63827],\"mapped\",[32907]],[[63828,63828],\"mapped\",[20956]],[[63829,63829],\"mapped\",[20940]],[[63830,63830],\"mapped\",[31260]],[[63831,63831],\"mapped\",[32190]],[[63832,63832],\"mapped\",[33777]],[[63833,63833],\"mapped\",[38517]],[[63834,63834],\"mapped\",[35712]],[[63835,63835],\"mapped\",[25295]],[[63836,63836],\"mapped\",[27138]],[[63837,63837],\"mapped\",[35582]],[[63838,63838],\"mapped\",[20025]],[[63839,63839],\"mapped\",[23527]],[[63840,63840],\"mapped\",[24594]],[[63841,63841],\"mapped\",[29575]],[[63842,63842],\"mapped\",[30064]],[[63843,63843],\"mapped\",[21271]],[[63844,63844],\"mapped\",[30971]],[[63845,63845],\"mapped\",[20415]],[[63846,63846],\"mapped\",[24489]],[[63847,63847],\"mapped\",[19981]],[[63848,63848],\"mapped\",[27852]],[[63849,63849],\"mapped\",[25976]],[[63850,63850],\"mapped\",[32034]],[[63851,63851],\"mapped\",[21443]],[[63852,63852],\"mapped\",[22622]],[[63853,63853],\"mapped\",[30465]],[[63854,63854],\"mapped\",[33865]],[[63855,63855],\"mapped\",[35498]],[[63856,63856],\"mapped\",[27578]],[[63857,63857],\"mapped\",[36784]],[[63858,63858],\"mapped\",[27784]],[[63859,63859],\"mapped\",[25342]],[[63860,63860],\"mapped\",[33509]],[[63861,63861],\"mapped\",[25504]],[[63862,63862],\"mapped\",[30053]],[[63863,63863],\"mapped\",[20142]],[[63864,63864],\"mapped\",[20841]],[[63865,63865],\"mapped\",[20937]],[[63866,63866],\"mapped\",[26753]],[[63867,63867],\"mapped\",[31975]],[[63868,63868],\"mapped\",[33391]],[[63869,63869],\"mapped\",[35538]],[[63870,63870],\"mapped\",[37327]],[[63871,63871],\"mapped\",[21237]],[[63872,63872],\"mapped\",[21570]],[[63873,63873],\"mapped\",[22899]],[[63874,63874],\"mapped\",[24300]],[[63875,63875],\"mapped\",[26053]],[[63876,63876],\"mapped\",[28670]],[[63877,63877],\"mapped\",[31018]],[[63878,63878],\"mapped\",[38317]],[[63879,63879],\"mapped\",[39530]],[[63880,63880],\"mapped\",[40599]],[[63881,63881],\"mapped\",[40654]],[[63882,63882],\"mapped\",[21147]],[[63883,63883],\"mapped\",[26310]],[[63884,63884],\"mapped\",[27511]],[[63885,63885],\"mapped\",[36706]],[[63886,63886],\"mapped\",[24180]],[[63887,63887],\"mapped\",[24976]],[[63888,63888],\"mapped\",[25088]],[[63889,63889],\"mapped\",[25754]],[[63890,63890],\"mapped\",[28451]],[[63891,63891],\"mapped\",[29001]],[[63892,63892],\"mapped\",[29833]],[[63893,63893],\"mapped\",[31178]],[[63894,63894],\"mapped\",[32244]],[[63895,63895],\"mapped\",[32879]],[[63896,63896],\"mapped\",[36646]],[[63897,63897],\"mapped\",[34030]],[[63898,63898],\"mapped\",[36899]],[[63899,63899],\"mapped\",[37706]],[[63900,63900],\"mapped\",[21015]],[[63901,63901],\"mapped\",[21155]],[[63902,63902],\"mapped\",[21693]],[[63903,63903],\"mapped\",[28872]],[[63904,63904],\"mapped\",[35010]],[[63905,63905],\"mapped\",[35498]],[[63906,63906],\"mapped\",[24265]],[[63907,63907],\"mapped\",[24565]],[[63908,63908],\"mapped\",[25467]],[[63909,63909],\"mapped\",[27566]],[[63910,63910],\"mapped\",[31806]],[[63911,63911],\"mapped\",[29557]],[[63912,63912],\"mapped\",[20196]],[[63913,63913],\"mapped\",[22265]],[[63914,63914],\"mapped\",[23527]],[[63915,63915],\"mapped\",[23994]],[[63916,63916],\"mapped\",[24604]],[[63917,63917],\"mapped\",[29618]],[[63918,63918],\"mapped\",[29801]],[[63919,63919],\"mapped\",[32666]],[[63920,63920],\"mapped\",[32838]],[[63921,63921],\"mapped\",[37428]],[[63922,63922],\"mapped\",[38646]],[[63923,63923],\"mapped\",[38728]],[[63924,63924],\"mapped\",[38936]],[[63925,63925],\"mapped\",[20363]],[[63926,63926],\"mapped\",[31150]],[[63927,63927],\"mapped\",[37300]],[[63928,63928],\"mapped\",[38584]],[[63929,63929],\"mapped\",[24801]],[[63930,63930],\"mapped\",[20102]],[[63931,63931],\"mapped\",[20698]],[[63932,63932],\"mapped\",[23534]],[[63933,63933],\"mapped\",[23615]],[[63934,63934],\"mapped\",[26009]],[[63935,63935],\"mapped\",[27138]],[[63936,63936],\"mapped\",[29134]],[[63937,63937],\"mapped\",[30274]],[[63938,63938],\"mapped\",[34044]],[[63939,63939],\"mapped\",[36988]],[[63940,63940],\"mapped\",[40845]],[[63941,63941],\"mapped\",[26248]],[[63942,63942],\"mapped\",[38446]],[[63943,63943],\"mapped\",[21129]],[[63944,63944],\"mapped\",[26491]],[[63945,63945],\"mapped\",[26611]],[[63946,63946],\"mapped\",[27969]],[[63947,63947],\"mapped\",[28316]],[[63948,63948],\"mapped\",[29705]],[[63949,63949],\"mapped\",[30041]],[[63950,63950],\"mapped\",[30827]],[[63951,63951],\"mapped\",[32016]],[[63952,63952],\"mapped\",[39006]],[[63953,63953],\"mapped\",[20845]],[[63954,63954],\"mapped\",[25134]],[[63955,63955],\"mapped\",[38520]],[[63956,63956],\"mapped\",[20523]],[[63957,63957],\"mapped\",[23833]],[[63958,63958],\"mapped\",[28138]],[[63959,63959],\"mapped\",[36650]],[[63960,63960],\"mapped\",[24459]],[[63961,63961],\"mapped\",[24900]],[[63962,63962],\"mapped\",[26647]],[[63963,63963],\"mapped\",[29575]],[[63964,63964],\"mapped\",[38534]],[[63965,63965],\"mapped\",[21033]],[[63966,63966],\"mapped\",[21519]],[[63967,63967],\"mapped\",[23653]],[[63968,63968],\"mapped\",[26131]],[[63969,63969],\"mapped\",[26446]],[[63970,63970],\"mapped\",[26792]],[[63971,63971],\"mapped\",[27877]],[[63972,63972],\"mapped\",[29702]],[[63973,63973],\"mapped\",[30178]],[[63974,63974],\"mapped\",[32633]],[[63975,63975],\"mapped\",[35023]],[[63976,63976],\"mapped\",[35041]],[[63977,63977],\"mapped\",[37324]],[[63978,63978],\"mapped\",[38626]],[[63979,63979],\"mapped\",[21311]],[[63980,63980],\"mapped\",[28346]],[[63981,63981],\"mapped\",[21533]],[[63982,63982],\"mapped\",[29136]],[[63983,63983],\"mapped\",[29848]],[[63984,63984],\"mapped\",[34298]],[[63985,63985],\"mapped\",[38563]],[[63986,63986],\"mapped\",[40023]],[[63987,63987],\"mapped\",[40607]],[[63988,63988],\"mapped\",[26519]],[[63989,63989],\"mapped\",[28107]],[[63990,63990],\"mapped\",[33256]],[[63991,63991],\"mapped\",[31435]],[[63992,63992],\"mapped\",[31520]],[[63993,63993],\"mapped\",[31890]],[[63994,63994],\"mapped\",[29376]],[[63995,63995],\"mapped\",[28825]],[[63996,63996],\"mapped\",[35672]],[[63997,63997],\"mapped\",[20160]],[[63998,63998],\"mapped\",[33590]],[[63999,63999],\"mapped\",[21050]],[[64000,64000],\"mapped\",[20999]],[[64001,64001],\"mapped\",[24230]],[[64002,64002],\"mapped\",[25299]],[[64003,64003],\"mapped\",[31958]],[[64004,64004],\"mapped\",[23429]],[[64005,64005],\"mapped\",[27934]],[[64006,64006],\"mapped\",[26292]],[[64007,64007],\"mapped\",[36667]],[[64008,64008],\"mapped\",[34892]],[[64009,64009],\"mapped\",[38477]],[[64010,64010],\"mapped\",[35211]],[[64011,64011],\"mapped\",[24275]],[[64012,64012],\"mapped\",[20800]],[[64013,64013],\"mapped\",[21952]],[[64014,64015],\"valid\"],[[64016,64016],\"mapped\",[22618]],[[64017,64017],\"valid\"],[[64018,64018],\"mapped\",[26228]],[[64019,64020],\"valid\"],[[64021,64021],\"mapped\",[20958]],[[64022,64022],\"mapped\",[29482]],[[64023,64023],\"mapped\",[30410]],[[64024,64024],\"mapped\",[31036]],[[64025,64025],\"mapped\",[31070]],[[64026,64026],\"mapped\",[31077]],[[64027,64027],\"mapped\",[31119]],[[64028,64028],\"mapped\",[38742]],[[64029,64029],\"mapped\",[31934]],[[64030,64030],\"mapped\",[32701]],[[64031,64031],\"valid\"],[[64032,64032],\"mapped\",[34322]],[[64033,64033],\"valid\"],[[64034,64034],\"mapped\",[35576]],[[64035,64036],\"valid\"],[[64037,64037],\"mapped\",[36920]],[[64038,64038],\"mapped\",[37117]],[[64039,64041],\"valid\"],[[64042,64042],\"mapped\",[39151]],[[64043,64043],\"mapped\",[39164]],[[64044,64044],\"mapped\",[39208]],[[64045,64045],\"mapped\",[40372]],[[64046,64046],\"mapped\",[37086]],[[64047,64047],\"mapped\",[38583]],[[64048,64048],\"mapped\",[20398]],[[64049,64049],\"mapped\",[20711]],[[64050,64050],\"mapped\",[20813]],[[64051,64051],\"mapped\",[21193]],[[64052,64052],\"mapped\",[21220]],[[64053,64053],\"mapped\",[21329]],[[64054,64054],\"mapped\",[21917]],[[64055,64055],\"mapped\",[22022]],[[64056,64056],\"mapped\",[22120]],[[64057,64057],\"mapped\",[22592]],[[64058,64058],\"mapped\",[22696]],[[64059,64059],\"mapped\",[23652]],[[64060,64060],\"mapped\",[23662]],[[64061,64061],\"mapped\",[24724]],[[64062,64062],\"mapped\",[24936]],[[64063,64063],\"mapped\",[24974]],[[64064,64064],\"mapped\",[25074]],[[64065,64065],\"mapped\",[25935]],[[64066,64066],\"mapped\",[26082]],[[64067,64067],\"mapped\",[26257]],[[64068,64068],\"mapped\",[26757]],[[64069,64069],\"mapped\",[28023]],[[64070,64070],\"mapped\",[28186]],[[64071,64071],\"mapped\",[28450]],[[64072,64072],\"mapped\",[29038]],[[64073,64073],\"mapped\",[29227]],[[64074,64074],\"mapped\",[29730]],[[64075,64075],\"mapped\",[30865]],[[64076,64076],\"mapped\",[31038]],[[64077,64077],\"mapped\",[31049]],[[64078,64078],\"mapped\",[31048]],[[64079,64079],\"mapped\",[31056]],[[64080,64080],\"mapped\",[31062]],[[64081,64081],\"mapped\",[31069]],[[64082,64082],\"mapped\",[31117]],[[64083,64083],\"mapped\",[31118]],[[64084,64084],\"mapped\",[31296]],[[64085,64085],\"mapped\",[31361]],[[64086,64086],\"mapped\",[31680]],[[64087,64087],\"mapped\",[32244]],[[64088,64088],\"mapped\",[32265]],[[64089,64089],\"mapped\",[32321]],[[64090,64090],\"mapped\",[32626]],[[64091,64091],\"mapped\",[32773]],[[64092,64092],\"mapped\",[33261]],[[64093,64094],\"mapped\",[33401]],[[64095,64095],\"mapped\",[33879]],[[64096,64096],\"mapped\",[35088]],[[64097,64097],\"mapped\",[35222]],[[64098,64098],\"mapped\",[35585]],[[64099,64099],\"mapped\",[35641]],[[64100,64100],\"mapped\",[36051]],[[64101,64101],\"mapped\",[36104]],[[64102,64102],\"mapped\",[36790]],[[64103,64103],\"mapped\",[36920]],[[64104,64104],\"mapped\",[38627]],[[64105,64105],\"mapped\",[38911]],[[64106,64106],\"mapped\",[38971]],[[64107,64107],\"mapped\",[24693]],[[64108,64108],\"mapped\",[148206]],[[64109,64109],\"mapped\",[33304]],[[64110,64111],\"disallowed\"],[[64112,64112],\"mapped\",[20006]],[[64113,64113],\"mapped\",[20917]],[[64114,64114],\"mapped\",[20840]],[[64115,64115],\"mapped\",[20352]],[[64116,64116],\"mapped\",[20805]],[[64117,64117],\"mapped\",[20864]],[[64118,64118],\"mapped\",[21191]],[[64119,64119],\"mapped\",[21242]],[[64120,64120],\"mapped\",[21917]],[[64121,64121],\"mapped\",[21845]],[[64122,64122],\"mapped\",[21913]],[[64123,64123],\"mapped\",[21986]],[[64124,64124],\"mapped\",[22618]],[[64125,64125],\"mapped\",[22707]],[[64126,64126],\"mapped\",[22852]],[[64127,64127],\"mapped\",[22868]],[[64128,64128],\"mapped\",[23138]],[[64129,64129],\"mapped\",[23336]],[[64130,64130],\"mapped\",[24274]],[[64131,64131],\"mapped\",[24281]],[[64132,64132],\"mapped\",[24425]],[[64133,64133],\"mapped\",[24493]],[[64134,64134],\"mapped\",[24792]],[[64135,64135],\"mapped\",[24910]],[[64136,64136],\"mapped\",[24840]],[[64137,64137],\"mapped\",[24974]],[[64138,64138],\"mapped\",[24928]],[[64139,64139],\"mapped\",[25074]],[[64140,64140],\"mapped\",[25140]],[[64141,64141],\"mapped\",[25540]],[[64142,64142],\"mapped\",[25628]],[[64143,64143],\"mapped\",[25682]],[[64144,64144],\"mapped\",[25942]],[[64145,64145],\"mapped\",[26228]],[[64146,64146],\"mapped\",[26391]],[[64147,64147],\"mapped\",[26395]],[[64148,64148],\"mapped\",[26454]],[[64149,64149],\"mapped\",[27513]],[[64150,64150],\"mapped\",[27578]],[[64151,64151],\"mapped\",[27969]],[[64152,64152],\"mapped\",[28379]],[[64153,64153],\"mapped\",[28363]],[[64154,64154],\"mapped\",[28450]],[[64155,64155],\"mapped\",[28702]],[[64156,64156],\"mapped\",[29038]],[[64157,64157],\"mapped\",[30631]],[[64158,64158],\"mapped\",[29237]],[[64159,64159],\"mapped\",[29359]],[[64160,64160],\"mapped\",[29482]],[[64161,64161],\"mapped\",[29809]],[[64162,64162],\"mapped\",[29958]],[[64163,64163],\"mapped\",[30011]],[[64164,64164],\"mapped\",[30237]],[[64165,64165],\"mapped\",[30239]],[[64166,64166],\"mapped\",[30410]],[[64167,64167],\"mapped\",[30427]],[[64168,64168],\"mapped\",[30452]],[[64169,64169],\"mapped\",[30538]],[[64170,64170],\"mapped\",[30528]],[[64171,64171],\"mapped\",[30924]],[[64172,64172],\"mapped\",[31409]],[[64173,64173],\"mapped\",[31680]],[[64174,64174],\"mapped\",[31867]],[[64175,64175],\"mapped\",[32091]],[[64176,64176],\"mapped\",[32244]],[[64177,64177],\"mapped\",[32574]],[[64178,64178],\"mapped\",[32773]],[[64179,64179],\"mapped\",[33618]],[[64180,64180],\"mapped\",[33775]],[[64181,64181],\"mapped\",[34681]],[[64182,64182],\"mapped\",[35137]],[[64183,64183],\"mapped\",[35206]],[[64184,64184],\"mapped\",[35222]],[[64185,64185],\"mapped\",[35519]],[[64186,64186],\"mapped\",[35576]],[[64187,64187],\"mapped\",[35531]],[[64188,64188],\"mapped\",[35585]],[[64189,64189],\"mapped\",[35582]],[[64190,64190],\"mapped\",[35565]],[[64191,64191],\"mapped\",[35641]],[[64192,64192],\"mapped\",[35722]],[[64193,64193],\"mapped\",[36104]],[[64194,64194],\"mapped\",[36664]],[[64195,64195],\"mapped\",[36978]],[[64196,64196],\"mapped\",[37273]],[[64197,64197],\"mapped\",[37494]],[[64198,64198],\"mapped\",[38524]],[[64199,64199],\"mapped\",[38627]],[[64200,64200],\"mapped\",[38742]],[[64201,64201],\"mapped\",[38875]],[[64202,64202],\"mapped\",[38911]],[[64203,64203],\"mapped\",[38923]],[[64204,64204],\"mapped\",[38971]],[[64205,64205],\"mapped\",[39698]],[[64206,64206],\"mapped\",[40860]],[[64207,64207],\"mapped\",[141386]],[[64208,64208],\"mapped\",[141380]],[[64209,64209],\"mapped\",[144341]],[[64210,64210],\"mapped\",[15261]],[[64211,64211],\"mapped\",[16408]],[[64212,64212],\"mapped\",[16441]],[[64213,64213],\"mapped\",[152137]],[[64214,64214],\"mapped\",[154832]],[[64215,64215],\"mapped\",[163539]],[[64216,64216],\"mapped\",[40771]],[[64217,64217],\"mapped\",[40846]],[[64218,64255],\"disallowed\"],[[64256,64256],\"mapped\",[102,102]],[[64257,64257],\"mapped\",[102,105]],[[64258,64258],\"mapped\",[102,108]],[[64259,64259],\"mapped\",[102,102,105]],[[64260,64260],\"mapped\",[102,102,108]],[[64261,64262],\"mapped\",[115,116]],[[64263,64274],\"disallowed\"],[[64275,64275],\"mapped\",[1396,1398]],[[64276,64276],\"mapped\",[1396,1381]],[[64277,64277],\"mapped\",[1396,1387]],[[64278,64278],\"mapped\",[1406,1398]],[[64279,64279],\"mapped\",[1396,1389]],[[64280,64284],\"disallowed\"],[[64285,64285],\"mapped\",[1497,1460]],[[64286,64286],\"valid\"],[[64287,64287],\"mapped\",[1522,1463]],[[64288,64288],\"mapped\",[1506]],[[64289,64289],\"mapped\",[1488]],[[64290,64290],\"mapped\",[1491]],[[64291,64291],\"mapped\",[1492]],[[64292,64292],\"mapped\",[1499]],[[64293,64293],\"mapped\",[1500]],[[64294,64294],\"mapped\",[1501]],[[64295,64295],\"mapped\",[1512]],[[64296,64296],\"mapped\",[1514]],[[64297,64297],\"disallowed_STD3_mapped\",[43]],[[64298,64298],\"mapped\",[1513,1473]],[[64299,64299],\"mapped\",[1513,1474]],[[64300,64300],\"mapped\",[1513,1468,1473]],[[64301,64301],\"mapped\",[1513,1468,1474]],[[64302,64302],\"mapped\",[1488,1463]],[[64303,64303],\"mapped\",[1488,1464]],[[64304,64304],\"mapped\",[1488,1468]],[[64305,64305],\"mapped\",[1489,1468]],[[64306,64306],\"mapped\",[1490,1468]],[[64307,64307],\"mapped\",[1491,1468]],[[64308,64308],\"mapped\",[1492,1468]],[[64309,64309],\"mapped\",[1493,1468]],[[64310,64310],\"mapped\",[1494,1468]],[[64311,64311],\"disallowed\"],[[64312,64312],\"mapped\",[1496,1468]],[[64313,64313],\"mapped\",[1497,1468]],[[64314,64314],\"mapped\",[1498,1468]],[[64315,64315],\"mapped\",[1499,1468]],[[64316,64316],\"mapped\",[1500,1468]],[[64317,64317],\"disallowed\"],[[64318,64318],\"mapped\",[1502,1468]],[[64319,64319],\"disallowed\"],[[64320,64320],\"mapped\",[1504,1468]],[[64321,64321],\"mapped\",[1505,1468]],[[64322,64322],\"disallowed\"],[[64323,64323],\"mapped\",[1507,1468]],[[64324,64324],\"mapped\",[1508,1468]],[[64325,64325],\"disallowed\"],[[64326,64326],\"mapped\",[1510,1468]],[[64327,64327],\"mapped\",[1511,1468]],[[64328,64328],\"mapped\",[1512,1468]],[[64329,64329],\"mapped\",[1513,1468]],[[64330,64330],\"mapped\",[1514,1468]],[[64331,64331],\"mapped\",[1493,1465]],[[64332,64332],\"mapped\",[1489,1471]],[[64333,64333],\"mapped\",[1499,1471]],[[64334,64334],\"mapped\",[1508,1471]],[[64335,64335],\"mapped\",[1488,1500]],[[64336,64337],\"mapped\",[1649]],[[64338,64341],\"mapped\",[1659]],[[64342,64345],\"mapped\",[1662]],[[64346,64349],\"mapped\",[1664]],[[64350,64353],\"mapped\",[1658]],[[64354,64357],\"mapped\",[1663]],[[64358,64361],\"mapped\",[1657]],[[64362,64365],\"mapped\",[1700]],[[64366,64369],\"mapped\",[1702]],[[64370,64373],\"mapped\",[1668]],[[64374,64377],\"mapped\",[1667]],[[64378,64381],\"mapped\",[1670]],[[64382,64385],\"mapped\",[1671]],[[64386,64387],\"mapped\",[1677]],[[64388,64389],\"mapped\",[1676]],[[64390,64391],\"mapped\",[1678]],[[64392,64393],\"mapped\",[1672]],[[64394,64395],\"mapped\",[1688]],[[64396,64397],\"mapped\",[1681]],[[64398,64401],\"mapped\",[1705]],[[64402,64405],\"mapped\",[1711]],[[64406,64409],\"mapped\",[1715]],[[64410,64413],\"mapped\",[1713]],[[64414,64415],\"mapped\",[1722]],[[64416,64419],\"mapped\",[1723]],[[64420,64421],\"mapped\",[1728]],[[64422,64425],\"mapped\",[1729]],[[64426,64429],\"mapped\",[1726]],[[64430,64431],\"mapped\",[1746]],[[64432,64433],\"mapped\",[1747]],[[64434,64449],\"valid\",[],\"NV8\"],[[64450,64466],\"disallowed\"],[[64467,64470],\"mapped\",[1709]],[[64471,64472],\"mapped\",[1735]],[[64473,64474],\"mapped\",[1734]],[[64475,64476],\"mapped\",[1736]],[[64477,64477],\"mapped\",[1735,1652]],[[64478,64479],\"mapped\",[1739]],[[64480,64481],\"mapped\",[1733]],[[64482,64483],\"mapped\",[1737]],[[64484,64487],\"mapped\",[1744]],[[64488,64489],\"mapped\",[1609]],[[64490,64491],\"mapped\",[1574,1575]],[[64492,64493],\"mapped\",[1574,1749]],[[64494,64495],\"mapped\",[1574,1608]],[[64496,64497],\"mapped\",[1574,1735]],[[64498,64499],\"mapped\",[1574,1734]],[[64500,64501],\"mapped\",[1574,1736]],[[64502,64504],\"mapped\",[1574,1744]],[[64505,64507],\"mapped\",[1574,1609]],[[64508,64511],\"mapped\",[1740]],[[64512,64512],\"mapped\",[1574,1580]],[[64513,64513],\"mapped\",[1574,1581]],[[64514,64514],\"mapped\",[1574,1605]],[[64515,64515],\"mapped\",[1574,1609]],[[64516,64516],\"mapped\",[1574,1610]],[[64517,64517],\"mapped\",[1576,1580]],[[64518,64518],\"mapped\",[1576,1581]],[[64519,64519],\"mapped\",[1576,1582]],[[64520,64520],\"mapped\",[1576,1605]],[[64521,64521],\"mapped\",[1576,1609]],[[64522,64522],\"mapped\",[1576,1610]],[[64523,64523],\"mapped\",[1578,1580]],[[64524,64524],\"mapped\",[1578,1581]],[[64525,64525],\"mapped\",[1578,1582]],[[64526,64526],\"mapped\",[1578,1605]],[[64527,64527],\"mapped\",[1578,1609]],[[64528,64528],\"mapped\",[1578,1610]],[[64529,64529],\"mapped\",[1579,1580]],[[64530,64530],\"mapped\",[1579,1605]],[[64531,64531],\"mapped\",[1579,1609]],[[64532,64532],\"mapped\",[1579,1610]],[[64533,64533],\"mapped\",[1580,1581]],[[64534,64534],\"mapped\",[1580,1605]],[[64535,64535],\"mapped\",[1581,1580]],[[64536,64536],\"mapped\",[1581,1605]],[[64537,64537],\"mapped\",[1582,1580]],[[64538,64538],\"mapped\",[1582,1581]],[[64539,64539],\"mapped\",[1582,1605]],[[64540,64540],\"mapped\",[1587,1580]],[[64541,64541],\"mapped\",[1587,1581]],[[64542,64542],\"mapped\",[1587,1582]],[[64543,64543],\"mapped\",[1587,1605]],[[64544,64544],\"mapped\",[1589,1581]],[[64545,64545],\"mapped\",[1589,1605]],[[64546,64546],\"mapped\",[1590,1580]],[[64547,64547],\"mapped\",[1590,1581]],[[64548,64548],\"mapped\",[1590,1582]],[[64549,64549],\"mapped\",[1590,1605]],[[64550,64550],\"mapped\",[1591,1581]],[[64551,64551],\"mapped\",[1591,1605]],[[64552,64552],\"mapped\",[1592,1605]],[[64553,64553],\"mapped\",[1593,1580]],[[64554,64554],\"mapped\",[1593,1605]],[[64555,64555],\"mapped\",[1594,1580]],[[64556,64556],\"mapped\",[1594,1605]],[[64557,64557],\"mapped\",[1601,1580]],[[64558,64558],\"mapped\",[1601,1581]],[[64559,64559],\"mapped\",[1601,1582]],[[64560,64560],\"mapped\",[1601,1605]],[[64561,64561],\"mapped\",[1601,1609]],[[64562,64562],\"mapped\",[1601,1610]],[[64563,64563],\"mapped\",[1602,1581]],[[64564,64564],\"mapped\",[1602,1605]],[[64565,64565],\"mapped\",[1602,1609]],[[64566,64566],\"mapped\",[1602,1610]],[[64567,64567],\"mapped\",[1603,1575]],[[64568,64568],\"mapped\",[1603,1580]],[[64569,64569],\"mapped\",[1603,1581]],[[64570,64570],\"mapped\",[1603,1582]],[[64571,64571],\"mapped\",[1603,1604]],[[64572,64572],\"mapped\",[1603,1605]],[[64573,64573],\"mapped\",[1603,1609]],[[64574,64574],\"mapped\",[1603,1610]],[[64575,64575],\"mapped\",[1604,1580]],[[64576,64576],\"mapped\",[1604,1581]],[[64577,64577],\"mapped\",[1604,1582]],[[64578,64578],\"mapped\",[1604,1605]],[[64579,64579],\"mapped\",[1604,1609]],[[64580,64580],\"mapped\",[1604,1610]],[[64581,64581],\"mapped\",[1605,1580]],[[64582,64582],\"mapped\",[1605,1581]],[[64583,64583],\"mapped\",[1605,1582]],[[64584,64584],\"mapped\",[1605,1605]],[[64585,64585],\"mapped\",[1605,1609]],[[64586,64586],\"mapped\",[1605,1610]],[[64587,64587],\"mapped\",[1606,1580]],[[64588,64588],\"mapped\",[1606,1581]],[[64589,64589],\"mapped\",[1606,1582]],[[64590,64590],\"mapped\",[1606,1605]],[[64591,64591],\"mapped\",[1606,1609]],[[64592,64592],\"mapped\",[1606,1610]],[[64593,64593],\"mapped\",[1607,1580]],[[64594,64594],\"mapped\",[1607,1605]],[[64595,64595],\"mapped\",[1607,1609]],[[64596,64596],\"mapped\",[1607,1610]],[[64597,64597],\"mapped\",[1610,1580]],[[64598,64598],\"mapped\",[1610,1581]],[[64599,64599],\"mapped\",[1610,1582]],[[64600,64600],\"mapped\",[1610,1605]],[[64601,64601],\"mapped\",[1610,1609]],[[64602,64602],\"mapped\",[1610,1610]],[[64603,64603],\"mapped\",[1584,1648]],[[64604,64604],\"mapped\",[1585,1648]],[[64605,64605],\"mapped\",[1609,1648]],[[64606,64606],\"disallowed_STD3_mapped\",[32,1612,1617]],[[64607,64607],\"disallowed_STD3_mapped\",[32,1613,1617]],[[64608,64608],\"disallowed_STD3_mapped\",[32,1614,1617]],[[64609,64609],\"disallowed_STD3_mapped\",[32,1615,1617]],[[64610,64610],\"disallowed_STD3_mapped\",[32,1616,1617]],[[64611,64611],\"disallowed_STD3_mapped\",[32,1617,1648]],[[64612,64612],\"mapped\",[1574,1585]],[[64613,64613],\"mapped\",[1574,1586]],[[64614,64614],\"mapped\",[1574,1605]],[[64615,64615],\"mapped\",[1574,1606]],[[64616,64616],\"mapped\",[1574,1609]],[[64617,64617],\"mapped\",[1574,1610]],[[64618,64618],\"mapped\",[1576,1585]],[[64619,64619],\"mapped\",[1576,1586]],[[64620,64620],\"mapped\",[1576,1605]],[[64621,64621],\"mapped\",[1576,1606]],[[64622,64622],\"mapped\",[1576,1609]],[[64623,64623],\"mapped\",[1576,1610]],[[64624,64624],\"mapped\",[1578,1585]],[[64625,64625],\"mapped\",[1578,1586]],[[64626,64626],\"mapped\",[1578,1605]],[[64627,64627],\"mapped\",[1578,1606]],[[64628,64628],\"mapped\",[1578,1609]],[[64629,64629],\"mapped\",[1578,1610]],[[64630,64630],\"mapped\",[1579,1585]],[[64631,64631],\"mapped\",[1579,1586]],[[64632,64632],\"mapped\",[1579,1605]],[[64633,64633],\"mapped\",[1579,1606]],[[64634,64634],\"mapped\",[1579,1609]],[[64635,64635],\"mapped\",[1579,1610]],[[64636,64636],\"mapped\",[1601,1609]],[[64637,64637],\"mapped\",[1601,1610]],[[64638,64638],\"mapped\",[1602,1609]],[[64639,64639],\"mapped\",[1602,1610]],[[64640,64640],\"mapped\",[1603,1575]],[[64641,64641],\"mapped\",[1603,1604]],[[64642,64642],\"mapped\",[1603,1605]],[[64643,64643],\"mapped\",[1603,1609]],[[64644,64644],\"mapped\",[1603,1610]],[[64645,64645],\"mapped\",[1604,1605]],[[64646,64646],\"mapped\",[1604,1609]],[[64647,64647],\"mapped\",[1604,1610]],[[64648,64648],\"mapped\",[1605,1575]],[[64649,64649],\"mapped\",[1605,1605]],[[64650,64650],\"mapped\",[1606,1585]],[[64651,64651],\"mapped\",[1606,1586]],[[64652,64652],\"mapped\",[1606,1605]],[[64653,64653],\"mapped\",[1606,1606]],[[64654,64654],\"mapped\",[1606,1609]],[[64655,64655],\"mapped\",[1606,1610]],[[64656,64656],\"mapped\",[1609,1648]],[[64657,64657],\"mapped\",[1610,1585]],[[64658,64658],\"mapped\",[1610,1586]],[[64659,64659],\"mapped\",[1610,1605]],[[64660,64660],\"mapped\",[1610,1606]],[[64661,64661],\"mapped\",[1610,1609]],[[64662,64662],\"mapped\",[1610,1610]],[[64663,64663],\"mapped\",[1574,1580]],[[64664,64664],\"mapped\",[1574,1581]],[[64665,64665],\"mapped\",[1574,1582]],[[64666,64666],\"mapped\",[1574,1605]],[[64667,64667],\"mapped\",[1574,1607]],[[64668,64668],\"mapped\",[1576,1580]],[[64669,64669],\"mapped\",[1576,1581]],[[64670,64670],\"mapped\",[1576,1582]],[[64671,64671],\"mapped\",[1576,1605]],[[64672,64672],\"mapped\",[1576,1607]],[[64673,64673],\"mapped\",[1578,1580]],[[64674,64674],\"mapped\",[1578,1581]],[[64675,64675],\"mapped\",[1578,1582]],[[64676,64676],\"mapped\",[1578,1605]],[[64677,64677],\"mapped\",[1578,1607]],[[64678,64678],\"mapped\",[1579,1605]],[[64679,64679],\"mapped\",[1580,1581]],[[64680,64680],\"mapped\",[1580,1605]],[[64681,64681],\"mapped\",[1581,1580]],[[64682,64682],\"mapped\",[1581,1605]],[[64683,64683],\"mapped\",[1582,1580]],[[64684,64684],\"mapped\",[1582,1605]],[[64685,64685],\"mapped\",[1587,1580]],[[64686,64686],\"mapped\",[1587,1581]],[[64687,64687],\"mapped\",[1587,1582]],[[64688,64688],\"mapped\",[1587,1605]],[[64689,64689],\"mapped\",[1589,1581]],[[64690,64690],\"mapped\",[1589,1582]],[[64691,64691],\"mapped\",[1589,1605]],[[64692,64692],\"mapped\",[1590,1580]],[[64693,64693],\"mapped\",[1590,1581]],[[64694,64694],\"mapped\",[1590,1582]],[[64695,64695],\"mapped\",[1590,1605]],[[64696,64696],\"mapped\",[1591,1581]],[[64697,64697],\"mapped\",[1592,1605]],[[64698,64698],\"mapped\",[1593,1580]],[[64699,64699],\"mapped\",[1593,1605]],[[64700,64700],\"mapped\",[1594,1580]],[[64701,64701],\"mapped\",[1594,1605]],[[64702,64702],\"mapped\",[1601,1580]],[[64703,64703],\"mapped\",[1601,1581]],[[64704,64704],\"mapped\",[1601,1582]],[[64705,64705],\"mapped\",[1601,1605]],[[64706,64706],\"mapped\",[1602,1581]],[[64707,64707],\"mapped\",[1602,1605]],[[64708,64708],\"mapped\",[1603,1580]],[[64709,64709],\"mapped\",[1603,1581]],[[64710,64710],\"mapped\",[1603,1582]],[[64711,64711],\"mapped\",[1603,1604]],[[64712,64712],\"mapped\",[1603,1605]],[[64713,64713],\"mapped\",[1604,1580]],[[64714,64714],\"mapped\",[1604,1581]],[[64715,64715],\"mapped\",[1604,1582]],[[64716,64716],\"mapped\",[1604,1605]],[[64717,64717],\"mapped\",[1604,1607]],[[64718,64718],\"mapped\",[1605,1580]],[[64719,64719],\"mapped\",[1605,1581]],[[64720,64720],\"mapped\",[1605,1582]],[[64721,64721],\"mapped\",[1605,1605]],[[64722,64722],\"mapped\",[1606,1580]],[[64723,64723],\"mapped\",[1606,1581]],[[64724,64724],\"mapped\",[1606,1582]],[[64725,64725],\"mapped\",[1606,1605]],[[64726,64726],\"mapped\",[1606,1607]],[[64727,64727],\"mapped\",[1607,1580]],[[64728,64728],\"mapped\",[1607,1605]],[[64729,64729],\"mapped\",[1607,1648]],[[64730,64730],\"mapped\",[1610,1580]],[[64731,64731],\"mapped\",[1610,1581]],[[64732,64732],\"mapped\",[1610,1582]],[[64733,64733],\"mapped\",[1610,1605]],[[64734,64734],\"mapped\",[1610,1607]],[[64735,64735],\"mapped\",[1574,1605]],[[64736,64736],\"mapped\",[1574,1607]],[[64737,64737],\"mapped\",[1576,1605]],[[64738,64738],\"mapped\",[1576,1607]],[[64739,64739],\"mapped\",[1578,1605]],[[64740,64740],\"mapped\",[1578,1607]],[[64741,64741],\"mapped\",[1579,1605]],[[64742,64742],\"mapped\",[1579,1607]],[[64743,64743],\"mapped\",[1587,1605]],[[64744,64744],\"mapped\",[1587,1607]],[[64745,64745],\"mapped\",[1588,1605]],[[64746,64746],\"mapped\",[1588,1607]],[[64747,64747],\"mapped\",[1603,1604]],[[64748,64748],\"mapped\",[1603,1605]],[[64749,64749],\"mapped\",[1604,1605]],[[64750,64750],\"mapped\",[1606,1605]],[[64751,64751],\"mapped\",[1606,1607]],[[64752,64752],\"mapped\",[1610,1605]],[[64753,64753],\"mapped\",[1610,1607]],[[64754,64754],\"mapped\",[1600,1614,1617]],[[64755,64755],\"mapped\",[1600,1615,1617]],[[64756,64756],\"mapped\",[1600,1616,1617]],[[64757,64757],\"mapped\",[1591,1609]],[[64758,64758],\"mapped\",[1591,1610]],[[64759,64759],\"mapped\",[1593,1609]],[[64760,64760],\"mapped\",[1593,1610]],[[64761,64761],\"mapped\",[1594,1609]],[[64762,64762],\"mapped\",[1594,1610]],[[64763,64763],\"mapped\",[1587,1609]],[[64764,64764],\"mapped\",[1587,1610]],[[64765,64765],\"mapped\",[1588,1609]],[[64766,64766],\"mapped\",[1588,1610]],[[64767,64767],\"mapped\",[1581,1609]],[[64768,64768],\"mapped\",[1581,1610]],[[64769,64769],\"mapped\",[1580,1609]],[[64770,64770],\"mapped\",[1580,1610]],[[64771,64771],\"mapped\",[1582,1609]],[[64772,64772],\"mapped\",[1582,1610]],[[64773,64773],\"mapped\",[1589,1609]],[[64774,64774],\"mapped\",[1589,1610]],[[64775,64775],\"mapped\",[1590,1609]],[[64776,64776],\"mapped\",[1590,1610]],[[64777,64777],\"mapped\",[1588,1580]],[[64778,64778],\"mapped\",[1588,1581]],[[64779,64779],\"mapped\",[1588,1582]],[[64780,64780],\"mapped\",[1588,1605]],[[64781,64781],\"mapped\",[1588,1585]],[[64782,64782],\"mapped\",[1587,1585]],[[64783,64783],\"mapped\",[1589,1585]],[[64784,64784],\"mapped\",[1590,1585]],[[64785,64785],\"mapped\",[1591,1609]],[[64786,64786],\"mapped\",[1591,1610]],[[64787,64787],\"mapped\",[1593,1609]],[[64788,64788],\"mapped\",[1593,1610]],[[64789,64789],\"mapped\",[1594,1609]],[[64790,64790],\"mapped\",[1594,1610]],[[64791,64791],\"mapped\",[1587,1609]],[[64792,64792],\"mapped\",[1587,1610]],[[64793,64793],\"mapped\",[1588,1609]],[[64794,64794],\"mapped\",[1588,1610]],[[64795,64795],\"mapped\",[1581,1609]],[[64796,64796],\"mapped\",[1581,1610]],[[64797,64797],\"mapped\",[1580,1609]],[[64798,64798],\"mapped\",[1580,1610]],[[64799,64799],\"mapped\",[1582,1609]],[[64800,64800],\"mapped\",[1582,1610]],[[64801,64801],\"mapped\",[1589,1609]],[[64802,64802],\"mapped\",[1589,1610]],[[64803,64803],\"mapped\",[1590,1609]],[[64804,64804],\"mapped\",[1590,1610]],[[64805,64805],\"mapped\",[1588,1580]],[[64806,64806],\"mapped\",[1588,1581]],[[64807,64807],\"mapped\",[1588,1582]],[[64808,64808],\"mapped\",[1588,1605]],[[64809,64809],\"mapped\",[1588,1585]],[[64810,64810],\"mapped\",[1587,1585]],[[64811,64811],\"mapped\",[1589,1585]],[[64812,64812],\"mapped\",[1590,1585]],[[64813,64813],\"mapped\",[1588,1580]],[[64814,64814],\"mapped\",[1588,1581]],[[64815,64815],\"mapped\",[1588,1582]],[[64816,64816],\"mapped\",[1588,1605]],[[64817,64817],\"mapped\",[1587,1607]],[[64818,64818],\"mapped\",[1588,1607]],[[64819,64819],\"mapped\",[1591,1605]],[[64820,64820],\"mapped\",[1587,1580]],[[64821,64821],\"mapped\",[1587,1581]],[[64822,64822],\"mapped\",[1587,1582]],[[64823,64823],\"mapped\",[1588,1580]],[[64824,64824],\"mapped\",[1588,1581]],[[64825,64825],\"mapped\",[1588,1582]],[[64826,64826],\"mapped\",[1591,1605]],[[64827,64827],\"mapped\",[1592,1605]],[[64828,64829],\"mapped\",[1575,1611]],[[64830,64831],\"valid\",[],\"NV8\"],[[64832,64847],\"disallowed\"],[[64848,64848],\"mapped\",[1578,1580,1605]],[[64849,64850],\"mapped\",[1578,1581,1580]],[[64851,64851],\"mapped\",[1578,1581,1605]],[[64852,64852],\"mapped\",[1578,1582,1605]],[[64853,64853],\"mapped\",[1578,1605,1580]],[[64854,64854],\"mapped\",[1578,1605,1581]],[[64855,64855],\"mapped\",[1578,1605,1582]],[[64856,64857],\"mapped\",[1580,1605,1581]],[[64858,64858],\"mapped\",[1581,1605,1610]],[[64859,64859],\"mapped\",[1581,1605,1609]],[[64860,64860],\"mapped\",[1587,1581,1580]],[[64861,64861],\"mapped\",[1587,1580,1581]],[[64862,64862],\"mapped\",[1587,1580,1609]],[[64863,64864],\"mapped\",[1587,1605,1581]],[[64865,64865],\"mapped\",[1587,1605,1580]],[[64866,64867],\"mapped\",[1587,1605,1605]],[[64868,64869],\"mapped\",[1589,1581,1581]],[[64870,64870],\"mapped\",[1589,1605,1605]],[[64871,64872],\"mapped\",[1588,1581,1605]],[[64873,64873],\"mapped\",[1588,1580,1610]],[[64874,64875],\"mapped\",[1588,1605,1582]],[[64876,64877],\"mapped\",[1588,1605,1605]],[[64878,64878],\"mapped\",[1590,1581,1609]],[[64879,64880],\"mapped\",[1590,1582,1605]],[[64881,64882],\"mapped\",[1591,1605,1581]],[[64883,64883],\"mapped\",[1591,1605,1605]],[[64884,64884],\"mapped\",[1591,1605,1610]],[[64885,64885],\"mapped\",[1593,1580,1605]],[[64886,64887],\"mapped\",[1593,1605,1605]],[[64888,64888],\"mapped\",[1593,1605,1609]],[[64889,64889],\"mapped\",[1594,1605,1605]],[[64890,64890],\"mapped\",[1594,1605,1610]],[[64891,64891],\"mapped\",[1594,1605,1609]],[[64892,64893],\"mapped\",[1601,1582,1605]],[[64894,64894],\"mapped\",[1602,1605,1581]],[[64895,64895],\"mapped\",[1602,1605,1605]],[[64896,64896],\"mapped\",[1604,1581,1605]],[[64897,64897],\"mapped\",[1604,1581,1610]],[[64898,64898],\"mapped\",[1604,1581,1609]],[[64899,64900],\"mapped\",[1604,1580,1580]],[[64901,64902],\"mapped\",[1604,1582,1605]],[[64903,64904],\"mapped\",[1604,1605,1581]],[[64905,64905],\"mapped\",[1605,1581,1580]],[[64906,64906],\"mapped\",[1605,1581,1605]],[[64907,64907],\"mapped\",[1605,1581,1610]],[[64908,64908],\"mapped\",[1605,1580,1581]],[[64909,64909],\"mapped\",[1605,1580,1605]],[[64910,64910],\"mapped\",[1605,1582,1580]],[[64911,64911],\"mapped\",[1605,1582,1605]],[[64912,64913],\"disallowed\"],[[64914,64914],\"mapped\",[1605,1580,1582]],[[64915,64915],\"mapped\",[1607,1605,1580]],[[64916,64916],\"mapped\",[1607,1605,1605]],[[64917,64917],\"mapped\",[1606,1581,1605]],[[64918,64918],\"mapped\",[1606,1581,1609]],[[64919,64920],\"mapped\",[1606,1580,1605]],[[64921,64921],\"mapped\",[1606,1580,1609]],[[64922,64922],\"mapped\",[1606,1605,1610]],[[64923,64923],\"mapped\",[1606,1605,1609]],[[64924,64925],\"mapped\",[1610,1605,1605]],[[64926,64926],\"mapped\",[1576,1582,1610]],[[64927,64927],\"mapped\",[1578,1580,1610]],[[64928,64928],\"mapped\",[1578,1580,1609]],[[64929,64929],\"mapped\",[1578,1582,1610]],[[64930,64930],\"mapped\",[1578,1582,1609]],[[64931,64931],\"mapped\",[1578,1605,1610]],[[64932,64932],\"mapped\",[1578,1605,1609]],[[64933,64933],\"mapped\",[1580,1605,1610]],[[64934,64934],\"mapped\",[1580,1581,1609]],[[64935,64935],\"mapped\",[1580,1605,1609]],[[64936,64936],\"mapped\",[1587,1582,1609]],[[64937,64937],\"mapped\",[1589,1581,1610]],[[64938,64938],\"mapped\",[1588,1581,1610]],[[64939,64939],\"mapped\",[1590,1581,1610]],[[64940,64940],\"mapped\",[1604,1580,1610]],[[64941,64941],\"mapped\",[1604,1605,1610]],[[64942,64942],\"mapped\",[1610,1581,1610]],[[64943,64943],\"mapped\",[1610,1580,1610]],[[64944,64944],\"mapped\",[1610,1605,1610]],[[64945,64945],\"mapped\",[1605,1605,1610]],[[64946,64946],\"mapped\",[1602,1605,1610]],[[64947,64947],\"mapped\",[1606,1581,1610]],[[64948,64948],\"mapped\",[1602,1605,1581]],[[64949,64949],\"mapped\",[1604,1581,1605]],[[64950,64950],\"mapped\",[1593,1605,1610]],[[64951,64951],\"mapped\",[1603,1605,1610]],[[64952,64952],\"mapped\",[1606,1580,1581]],[[64953,64953],\"mapped\",[1605,1582,1610]],[[64954,64954],\"mapped\",[1604,1580,1605]],[[64955,64955],\"mapped\",[1603,1605,1605]],[[64956,64956],\"mapped\",[1604,1580,1605]],[[64957,64957],\"mapped\",[1606,1580,1581]],[[64958,64958],\"mapped\",[1580,1581,1610]],[[64959,64959],\"mapped\",[1581,1580,1610]],[[64960,64960],\"mapped\",[1605,1580,1610]],[[64961,64961],\"mapped\",[1601,1605,1610]],[[64962,64962],\"mapped\",[1576,1581,1610]],[[64963,64963],\"mapped\",[1603,1605,1605]],[[64964,64964],\"mapped\",[1593,1580,1605]],[[64965,64965],\"mapped\",[1589,1605,1605]],[[64966,64966],\"mapped\",[1587,1582,1610]],[[64967,64967],\"mapped\",[1606,1580,1610]],[[64968,64975],\"disallowed\"],[[64976,65007],\"disallowed\"],[[65008,65008],\"mapped\",[1589,1604,1746]],[[65009,65009],\"mapped\",[1602,1604,1746]],[[65010,65010],\"mapped\",[1575,1604,1604,1607]],[[65011,65011],\"mapped\",[1575,1603,1576,1585]],[[65012,65012],\"mapped\",[1605,1581,1605,1583]],[[65013,65013],\"mapped\",[1589,1604,1593,1605]],[[65014,65014],\"mapped\",[1585,1587,1608,1604]],[[65015,65015],\"mapped\",[1593,1604,1610,1607]],[[65016,65016],\"mapped\",[1608,1587,1604,1605]],[[65017,65017],\"mapped\",[1589,1604,1609]],[[65018,65018],\"disallowed_STD3_mapped\",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],\"disallowed_STD3_mapped\",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],\"mapped\",[1585,1740,1575,1604]],[[65021,65021],\"valid\",[],\"NV8\"],[[65022,65023],\"disallowed\"],[[65024,65039],\"ignored\"],[[65040,65040],\"disallowed_STD3_mapped\",[44]],[[65041,65041],\"mapped\",[12289]],[[65042,65042],\"disallowed\"],[[65043,65043],\"disallowed_STD3_mapped\",[58]],[[65044,65044],\"disallowed_STD3_mapped\",[59]],[[65045,65045],\"disallowed_STD3_mapped\",[33]],[[65046,65046],\"disallowed_STD3_mapped\",[63]],[[65047,65047],\"mapped\",[12310]],[[65048,65048],\"mapped\",[12311]],[[65049,65049],\"disallowed\"],[[65050,65055],\"disallowed\"],[[65056,65059],\"valid\"],[[65060,65062],\"valid\"],[[65063,65069],\"valid\"],[[65070,65071],\"valid\"],[[65072,65072],\"disallowed\"],[[65073,65073],\"mapped\",[8212]],[[65074,65074],\"mapped\",[8211]],[[65075,65076],\"disallowed_STD3_mapped\",[95]],[[65077,65077],\"disallowed_STD3_mapped\",[40]],[[65078,65078],\"disallowed_STD3_mapped\",[41]],[[65079,65079],\"disallowed_STD3_mapped\",[123]],[[65080,65080],\"disallowed_STD3_mapped\",[125]],[[65081,65081],\"mapped\",[12308]],[[65082,65082],\"mapped\",[12309]],[[65083,65083],\"mapped\",[12304]],[[65084,65084],\"mapped\",[12305]],[[65085,65085],\"mapped\",[12298]],[[65086,65086],\"mapped\",[12299]],[[65087,65087],\"mapped\",[12296]],[[65088,65088],\"mapped\",[12297]],[[65089,65089],\"mapped\",[12300]],[[65090,65090],\"mapped\",[12301]],[[65091,65091],\"mapped\",[12302]],[[65092,65092],\"mapped\",[12303]],[[65093,65094],\"valid\",[],\"NV8\"],[[65095,65095],\"disallowed_STD3_mapped\",[91]],[[65096,65096],\"disallowed_STD3_mapped\",[93]],[[65097,65100],\"disallowed_STD3_mapped\",[32,773]],[[65101,65103],\"disallowed_STD3_mapped\",[95]],[[65104,65104],\"disallowed_STD3_mapped\",[44]],[[65105,65105],\"mapped\",[12289]],[[65106,65106],\"disallowed\"],[[65107,65107],\"disallowed\"],[[65108,65108],\"disallowed_STD3_mapped\",[59]],[[65109,65109],\"disallowed_STD3_mapped\",[58]],[[65110,65110],\"disallowed_STD3_mapped\",[63]],[[65111,65111],\"disallowed_STD3_mapped\",[33]],[[65112,65112],\"mapped\",[8212]],[[65113,65113],\"disallowed_STD3_mapped\",[40]],[[65114,65114],\"disallowed_STD3_mapped\",[41]],[[65115,65115],\"disallowed_STD3_mapped\",[123]],[[65116,65116],\"disallowed_STD3_mapped\",[125]],[[65117,65117],\"mapped\",[12308]],[[65118,65118],\"mapped\",[12309]],[[65119,65119],\"disallowed_STD3_mapped\",[35]],[[65120,65120],\"disallowed_STD3_mapped\",[38]],[[65121,65121],\"disallowed_STD3_mapped\",[42]],[[65122,65122],\"disallowed_STD3_mapped\",[43]],[[65123,65123],\"mapped\",[45]],[[65124,65124],\"disallowed_STD3_mapped\",[60]],[[65125,65125],\"disallowed_STD3_mapped\",[62]],[[65126,65126],\"disallowed_STD3_mapped\",[61]],[[65127,65127],\"disallowed\"],[[65128,65128],\"disallowed_STD3_mapped\",[92]],[[65129,65129],\"disallowed_STD3_mapped\",[36]],[[65130,65130],\"disallowed_STD3_mapped\",[37]],[[65131,65131],\"disallowed_STD3_mapped\",[64]],[[65132,65135],\"disallowed\"],[[65136,65136],\"disallowed_STD3_mapped\",[32,1611]],[[65137,65137],\"mapped\",[1600,1611]],[[65138,65138],\"disallowed_STD3_mapped\",[32,1612]],[[65139,65139],\"valid\"],[[65140,65140],\"disallowed_STD3_mapped\",[32,1613]],[[65141,65141],\"disallowed\"],[[65142,65142],\"disallowed_STD3_mapped\",[32,1614]],[[65143,65143],\"mapped\",[1600,1614]],[[65144,65144],\"disallowed_STD3_mapped\",[32,1615]],[[65145,65145],\"mapped\",[1600,1615]],[[65146,65146],\"disallowed_STD3_mapped\",[32,1616]],[[65147,65147],\"mapped\",[1600,1616]],[[65148,65148],\"disallowed_STD3_mapped\",[32,1617]],[[65149,65149],\"mapped\",[1600,1617]],[[65150,65150],\"disallowed_STD3_mapped\",[32,1618]],[[65151,65151],\"mapped\",[1600,1618]],[[65152,65152],\"mapped\",[1569]],[[65153,65154],\"mapped\",[1570]],[[65155,65156],\"mapped\",[1571]],[[65157,65158],\"mapped\",[1572]],[[65159,65160],\"mapped\",[1573]],[[65161,65164],\"mapped\",[1574]],[[65165,65166],\"mapped\",[1575]],[[65167,65170],\"mapped\",[1576]],[[65171,65172],\"mapped\",[1577]],[[65173,65176],\"mapped\",[1578]],[[65177,65180],\"mapped\",[1579]],[[65181,65184],\"mapped\",[1580]],[[65185,65188],\"mapped\",[1581]],[[65189,65192],\"mapped\",[1582]],[[65193,65194],\"mapped\",[1583]],[[65195,65196],\"mapped\",[1584]],[[65197,65198],\"mapped\",[1585]],[[65199,65200],\"mapped\",[1586]],[[65201,65204],\"mapped\",[1587]],[[65205,65208],\"mapped\",[1588]],[[65209,65212],\"mapped\",[1589]],[[65213,65216],\"mapped\",[1590]],[[65217,65220],\"mapped\",[1591]],[[65221,65224],\"mapped\",[1592]],[[65225,65228],\"mapped\",[1593]],[[65229,65232],\"mapped\",[1594]],[[65233,65236],\"mapped\",[1601]],[[65237,65240],\"mapped\",[1602]],[[65241,65244],\"mapped\",[1603]],[[65245,65248],\"mapped\",[1604]],[[65249,65252],\"mapped\",[1605]],[[65253,65256],\"mapped\",[1606]],[[65257,65260],\"mapped\",[1607]],[[65261,65262],\"mapped\",[1608]],[[65263,65264],\"mapped\",[1609]],[[65265,65268],\"mapped\",[1610]],[[65269,65270],\"mapped\",[1604,1570]],[[65271,65272],\"mapped\",[1604,1571]],[[65273,65274],\"mapped\",[1604,1573]],[[65275,65276],\"mapped\",[1604,1575]],[[65277,65278],\"disallowed\"],[[65279,65279],\"ignored\"],[[65280,65280],\"disallowed\"],[[65281,65281],\"disallowed_STD3_mapped\",[33]],[[65282,65282],\"disallowed_STD3_mapped\",[34]],[[65283,65283],\"disallowed_STD3_mapped\",[35]],[[65284,65284],\"disallowed_STD3_mapped\",[36]],[[65285,65285],\"disallowed_STD3_mapped\",[37]],[[65286,65286],\"disallowed_STD3_mapped\",[38]],[[65287,65287],\"disallowed_STD3_mapped\",[39]],[[65288,65288],\"disallowed_STD3_mapped\",[40]],[[65289,65289],\"disallowed_STD3_mapped\",[41]],[[65290,65290],\"disallowed_STD3_mapped\",[42]],[[65291,65291],\"disallowed_STD3_mapped\",[43]],[[65292,65292],\"disallowed_STD3_mapped\",[44]],[[65293,65293],\"mapped\",[45]],[[65294,65294],\"mapped\",[46]],[[65295,65295],\"disallowed_STD3_mapped\",[47]],[[65296,65296],\"mapped\",[48]],[[65297,65297],\"mapped\",[49]],[[65298,65298],\"mapped\",[50]],[[65299,65299],\"mapped\",[51]],[[65300,65300],\"mapped\",[52]],[[65301,65301],\"mapped\",[53]],[[65302,65302],\"mapped\",[54]],[[65303,65303],\"mapped\",[55]],[[65304,65304],\"mapped\",[56]],[[65305,65305],\"mapped\",[57]],[[65306,65306],\"disallowed_STD3_mapped\",[58]],[[65307,65307],\"disallowed_STD3_mapped\",[59]],[[65308,65308],\"disallowed_STD3_mapped\",[60]],[[65309,65309],\"disallowed_STD3_mapped\",[61]],[[65310,65310],\"disallowed_STD3_mapped\",[62]],[[65311,65311],\"disallowed_STD3_mapped\",[63]],[[65312,65312],\"disallowed_STD3_mapped\",[64]],[[65313,65313],\"mapped\",[97]],[[65314,65314],\"mapped\",[98]],[[65315,65315],\"mapped\",[99]],[[65316,65316],\"mapped\",[100]],[[65317,65317],\"mapped\",[101]],[[65318,65318],\"mapped\",[102]],[[65319,65319],\"mapped\",[103]],[[65320,65320],\"mapped\",[104]],[[65321,65321],\"mapped\",[105]],[[65322,65322],\"mapped\",[106]],[[65323,65323],\"mapped\",[107]],[[65324,65324],\"mapped\",[108]],[[65325,65325],\"mapped\",[109]],[[65326,65326],\"mapped\",[110]],[[65327,65327],\"mapped\",[111]],[[65328,65328],\"mapped\",[112]],[[65329,65329],\"mapped\",[113]],[[65330,65330],\"mapped\",[114]],[[65331,65331],\"mapped\",[115]],[[65332,65332],\"mapped\",[116]],[[65333,65333],\"mapped\",[117]],[[65334,65334],\"mapped\",[118]],[[65335,65335],\"mapped\",[119]],[[65336,65336],\"mapped\",[120]],[[65337,65337],\"mapped\",[121]],[[65338,65338],\"mapped\",[122]],[[65339,65339],\"disallowed_STD3_mapped\",[91]],[[65340,65340],\"disallowed_STD3_mapped\",[92]],[[65341,65341],\"disallowed_STD3_mapped\",[93]],[[65342,65342],\"disallowed_STD3_mapped\",[94]],[[65343,65343],\"disallowed_STD3_mapped\",[95]],[[65344,65344],\"disallowed_STD3_mapped\",[96]],[[65345,65345],\"mapped\",[97]],[[65346,65346],\"mapped\",[98]],[[65347,65347],\"mapped\",[99]],[[65348,65348],\"mapped\",[100]],[[65349,65349],\"mapped\",[101]],[[65350,65350],\"mapped\",[102]],[[65351,65351],\"mapped\",[103]],[[65352,65352],\"mapped\",[104]],[[65353,65353],\"mapped\",[105]],[[65354,65354],\"mapped\",[106]],[[65355,65355],\"mapped\",[107]],[[65356,65356],\"mapped\",[108]],[[65357,65357],\"mapped\",[109]],[[65358,65358],\"mapped\",[110]],[[65359,65359],\"mapped\",[111]],[[65360,65360],\"mapped\",[112]],[[65361,65361],\"mapped\",[113]],[[65362,65362],\"mapped\",[114]],[[65363,65363],\"mapped\",[115]],[[65364,65364],\"mapped\",[116]],[[65365,65365],\"mapped\",[117]],[[65366,65366],\"mapped\",[118]],[[65367,65367],\"mapped\",[119]],[[65368,65368],\"mapped\",[120]],[[65369,65369],\"mapped\",[121]],[[65370,65370],\"mapped\",[122]],[[65371,65371],\"disallowed_STD3_mapped\",[123]],[[65372,65372],\"disallowed_STD3_mapped\",[124]],[[65373,65373],\"disallowed_STD3_mapped\",[125]],[[65374,65374],\"disallowed_STD3_mapped\",[126]],[[65375,65375],\"mapped\",[10629]],[[65376,65376],\"mapped\",[10630]],[[65377,65377],\"mapped\",[46]],[[65378,65378],\"mapped\",[12300]],[[65379,65379],\"mapped\",[12301]],[[65380,65380],\"mapped\",[12289]],[[65381,65381],\"mapped\",[12539]],[[65382,65382],\"mapped\",[12530]],[[65383,65383],\"mapped\",[12449]],[[65384,65384],\"mapped\",[12451]],[[65385,65385],\"mapped\",[12453]],[[65386,65386],\"mapped\",[12455]],[[65387,65387],\"mapped\",[12457]],[[65388,65388],\"mapped\",[12515]],[[65389,65389],\"mapped\",[12517]],[[65390,65390],\"mapped\",[12519]],[[65391,65391],\"mapped\",[12483]],[[65392,65392],\"mapped\",[12540]],[[65393,65393],\"mapped\",[12450]],[[65394,65394],\"mapped\",[12452]],[[65395,65395],\"mapped\",[12454]],[[65396,65396],\"mapped\",[12456]],[[65397,65397],\"mapped\",[12458]],[[65398,65398],\"mapped\",[12459]],[[65399,65399],\"mapped\",[12461]],[[65400,65400],\"mapped\",[12463]],[[65401,65401],\"mapped\",[12465]],[[65402,65402],\"mapped\",[12467]],[[65403,65403],\"mapped\",[12469]],[[65404,65404],\"mapped\",[12471]],[[65405,65405],\"mapped\",[12473]],[[65406,65406],\"mapped\",[12475]],[[65407,65407],\"mapped\",[12477]],[[65408,65408],\"mapped\",[12479]],[[65409,65409],\"mapped\",[12481]],[[65410,65410],\"mapped\",[12484]],[[65411,65411],\"mapped\",[12486]],[[65412,65412],\"mapped\",[12488]],[[65413,65413],\"mapped\",[12490]],[[65414,65414],\"mapped\",[12491]],[[65415,65415],\"mapped\",[12492]],[[65416,65416],\"mapped\",[12493]],[[65417,65417],\"mapped\",[12494]],[[65418,65418],\"mapped\",[12495]],[[65419,65419],\"mapped\",[12498]],[[65420,65420],\"mapped\",[12501]],[[65421,65421],\"mapped\",[12504]],[[65422,65422],\"mapped\",[12507]],[[65423,65423],\"mapped\",[12510]],[[65424,65424],\"mapped\",[12511]],[[65425,65425],\"mapped\",[12512]],[[65426,65426],\"mapped\",[12513]],[[65427,65427],\"mapped\",[12514]],[[65428,65428],\"mapped\",[12516]],[[65429,65429],\"mapped\",[12518]],[[65430,65430],\"mapped\",[12520]],[[65431,65431],\"mapped\",[12521]],[[65432,65432],\"mapped\",[12522]],[[65433,65433],\"mapped\",[12523]],[[65434,65434],\"mapped\",[12524]],[[65435,65435],\"mapped\",[12525]],[[65436,65436],\"mapped\",[12527]],[[65437,65437],\"mapped\",[12531]],[[65438,65438],\"mapped\",[12441]],[[65439,65439],\"mapped\",[12442]],[[65440,65440],\"disallowed\"],[[65441,65441],\"mapped\",[4352]],[[65442,65442],\"mapped\",[4353]],[[65443,65443],\"mapped\",[4522]],[[65444,65444],\"mapped\",[4354]],[[65445,65445],\"mapped\",[4524]],[[65446,65446],\"mapped\",[4525]],[[65447,65447],\"mapped\",[4355]],[[65448,65448],\"mapped\",[4356]],[[65449,65449],\"mapped\",[4357]],[[65450,65450],\"mapped\",[4528]],[[65451,65451],\"mapped\",[4529]],[[65452,65452],\"mapped\",[4530]],[[65453,65453],\"mapped\",[4531]],[[65454,65454],\"mapped\",[4532]],[[65455,65455],\"mapped\",[4533]],[[65456,65456],\"mapped\",[4378]],[[65457,65457],\"mapped\",[4358]],[[65458,65458],\"mapped\",[4359]],[[65459,65459],\"mapped\",[4360]],[[65460,65460],\"mapped\",[4385]],[[65461,65461],\"mapped\",[4361]],[[65462,65462],\"mapped\",[4362]],[[65463,65463],\"mapped\",[4363]],[[65464,65464],\"mapped\",[4364]],[[65465,65465],\"mapped\",[4365]],[[65466,65466],\"mapped\",[4366]],[[65467,65467],\"mapped\",[4367]],[[65468,65468],\"mapped\",[4368]],[[65469,65469],\"mapped\",[4369]],[[65470,65470],\"mapped\",[4370]],[[65471,65473],\"disallowed\"],[[65474,65474],\"mapped\",[4449]],[[65475,65475],\"mapped\",[4450]],[[65476,65476],\"mapped\",[4451]],[[65477,65477],\"mapped\",[4452]],[[65478,65478],\"mapped\",[4453]],[[65479,65479],\"mapped\",[4454]],[[65480,65481],\"disallowed\"],[[65482,65482],\"mapped\",[4455]],[[65483,65483],\"mapped\",[4456]],[[65484,65484],\"mapped\",[4457]],[[65485,65485],\"mapped\",[4458]],[[65486,65486],\"mapped\",[4459]],[[65487,65487],\"mapped\",[4460]],[[65488,65489],\"disallowed\"],[[65490,65490],\"mapped\",[4461]],[[65491,65491],\"mapped\",[4462]],[[65492,65492],\"mapped\",[4463]],[[65493,65493],\"mapped\",[4464]],[[65494,65494],\"mapped\",[4465]],[[65495,65495],\"mapped\",[4466]],[[65496,65497],\"disallowed\"],[[65498,65498],\"mapped\",[4467]],[[65499,65499],\"mapped\",[4468]],[[65500,65500],\"mapped\",[4469]],[[65501,65503],\"disallowed\"],[[65504,65504],\"mapped\",[162]],[[65505,65505],\"mapped\",[163]],[[65506,65506],\"mapped\",[172]],[[65507,65507],\"disallowed_STD3_mapped\",[32,772]],[[65508,65508],\"mapped\",[166]],[[65509,65509],\"mapped\",[165]],[[65510,65510],\"mapped\",[8361]],[[65511,65511],\"disallowed\"],[[65512,65512],\"mapped\",[9474]],[[65513,65513],\"mapped\",[8592]],[[65514,65514],\"mapped\",[8593]],[[65515,65515],\"mapped\",[8594]],[[65516,65516],\"mapped\",[8595]],[[65517,65517],\"mapped\",[9632]],[[65518,65518],\"mapped\",[9675]],[[65519,65528],\"disallowed\"],[[65529,65531],\"disallowed\"],[[65532,65532],\"disallowed\"],[[65533,65533],\"disallowed\"],[[65534,65535],\"disallowed\"],[[65536,65547],\"valid\"],[[65548,65548],\"disallowed\"],[[65549,65574],\"valid\"],[[65575,65575],\"disallowed\"],[[65576,65594],\"valid\"],[[65595,65595],\"disallowed\"],[[65596,65597],\"valid\"],[[65598,65598],\"disallowed\"],[[65599,65613],\"valid\"],[[65614,65615],\"disallowed\"],[[65616,65629],\"valid\"],[[65630,65663],\"disallowed\"],[[65664,65786],\"valid\"],[[65787,65791],\"disallowed\"],[[65792,65794],\"valid\",[],\"NV8\"],[[65795,65798],\"disallowed\"],[[65799,65843],\"valid\",[],\"NV8\"],[[65844,65846],\"disallowed\"],[[65847,65855],\"valid\",[],\"NV8\"],[[65856,65930],\"valid\",[],\"NV8\"],[[65931,65932],\"valid\",[],\"NV8\"],[[65933,65935],\"disallowed\"],[[65936,65947],\"valid\",[],\"NV8\"],[[65948,65951],\"disallowed\"],[[65952,65952],\"valid\",[],\"NV8\"],[[65953,65999],\"disallowed\"],[[66000,66044],\"valid\",[],\"NV8\"],[[66045,66045],\"valid\"],[[66046,66175],\"disallowed\"],[[66176,66204],\"valid\"],[[66205,66207],\"disallowed\"],[[66208,66256],\"valid\"],[[66257,66271],\"disallowed\"],[[66272,66272],\"valid\"],[[66273,66299],\"valid\",[],\"NV8\"],[[66300,66303],\"disallowed\"],[[66304,66334],\"valid\"],[[66335,66335],\"valid\"],[[66336,66339],\"valid\",[],\"NV8\"],[[66340,66351],\"disallowed\"],[[66352,66368],\"valid\"],[[66369,66369],\"valid\",[],\"NV8\"],[[66370,66377],\"valid\"],[[66378,66378],\"valid\",[],\"NV8\"],[[66379,66383],\"disallowed\"],[[66384,66426],\"valid\"],[[66427,66431],\"disallowed\"],[[66432,66461],\"valid\"],[[66462,66462],\"disallowed\"],[[66463,66463],\"valid\",[],\"NV8\"],[[66464,66499],\"valid\"],[[66500,66503],\"disallowed\"],[[66504,66511],\"valid\"],[[66512,66517],\"valid\",[],\"NV8\"],[[66518,66559],\"disallowed\"],[[66560,66560],\"mapped\",[66600]],[[66561,66561],\"mapped\",[66601]],[[66562,66562],\"mapped\",[66602]],[[66563,66563],\"mapped\",[66603]],[[66564,66564],\"mapped\",[66604]],[[66565,66565],\"mapped\",[66605]],[[66566,66566],\"mapped\",[66606]],[[66567,66567],\"mapped\",[66607]],[[66568,66568],\"mapped\",[66608]],[[66569,66569],\"mapped\",[66609]],[[66570,66570],\"mapped\",[66610]],[[66571,66571],\"mapped\",[66611]],[[66572,66572],\"mapped\",[66612]],[[66573,66573],\"mapped\",[66613]],[[66574,66574],\"mapped\",[66614]],[[66575,66575],\"mapped\",[66615]],[[66576,66576],\"mapped\",[66616]],[[66577,66577],\"mapped\",[66617]],[[66578,66578],\"mapped\",[66618]],[[66579,66579],\"mapped\",[66619]],[[66580,66580],\"mapped\",[66620]],[[66581,66581],\"mapped\",[66621]],[[66582,66582],\"mapped\",[66622]],[[66583,66583],\"mapped\",[66623]],[[66584,66584],\"mapped\",[66624]],[[66585,66585],\"mapped\",[66625]],[[66586,66586],\"mapped\",[66626]],[[66587,66587],\"mapped\",[66627]],[[66588,66588],\"mapped\",[66628]],[[66589,66589],\"mapped\",[66629]],[[66590,66590],\"mapped\",[66630]],[[66591,66591],\"mapped\",[66631]],[[66592,66592],\"mapped\",[66632]],[[66593,66593],\"mapped\",[66633]],[[66594,66594],\"mapped\",[66634]],[[66595,66595],\"mapped\",[66635]],[[66596,66596],\"mapped\",[66636]],[[66597,66597],\"mapped\",[66637]],[[66598,66598],\"mapped\",[66638]],[[66599,66599],\"mapped\",[66639]],[[66600,66637],\"valid\"],[[66638,66717],\"valid\"],[[66718,66719],\"disallowed\"],[[66720,66729],\"valid\"],[[66730,66815],\"disallowed\"],[[66816,66855],\"valid\"],[[66856,66863],\"disallowed\"],[[66864,66915],\"valid\"],[[66916,66926],\"disallowed\"],[[66927,66927],\"valid\",[],\"NV8\"],[[66928,67071],\"disallowed\"],[[67072,67382],\"valid\"],[[67383,67391],\"disallowed\"],[[67392,67413],\"valid\"],[[67414,67423],\"disallowed\"],[[67424,67431],\"valid\"],[[67432,67583],\"disallowed\"],[[67584,67589],\"valid\"],[[67590,67591],\"disallowed\"],[[67592,67592],\"valid\"],[[67593,67593],\"disallowed\"],[[67594,67637],\"valid\"],[[67638,67638],\"disallowed\"],[[67639,67640],\"valid\"],[[67641,67643],\"disallowed\"],[[67644,67644],\"valid\"],[[67645,67646],\"disallowed\"],[[67647,67647],\"valid\"],[[67648,67669],\"valid\"],[[67670,67670],\"disallowed\"],[[67671,67679],\"valid\",[],\"NV8\"],[[67680,67702],\"valid\"],[[67703,67711],\"valid\",[],\"NV8\"],[[67712,67742],\"valid\"],[[67743,67750],\"disallowed\"],[[67751,67759],\"valid\",[],\"NV8\"],[[67760,67807],\"disallowed\"],[[67808,67826],\"valid\"],[[67827,67827],\"disallowed\"],[[67828,67829],\"valid\"],[[67830,67834],\"disallowed\"],[[67835,67839],\"valid\",[],\"NV8\"],[[67840,67861],\"valid\"],[[67862,67865],\"valid\",[],\"NV8\"],[[67866,67867],\"valid\",[],\"NV8\"],[[67868,67870],\"disallowed\"],[[67871,67871],\"valid\",[],\"NV8\"],[[67872,67897],\"valid\"],[[67898,67902],\"disallowed\"],[[67903,67903],\"valid\",[],\"NV8\"],[[67904,67967],\"disallowed\"],[[67968,68023],\"valid\"],[[68024,68027],\"disallowed\"],[[68028,68029],\"valid\",[],\"NV8\"],[[68030,68031],\"valid\"],[[68032,68047],\"valid\",[],\"NV8\"],[[68048,68049],\"disallowed\"],[[68050,68095],\"valid\",[],\"NV8\"],[[68096,68099],\"valid\"],[[68100,68100],\"disallowed\"],[[68101,68102],\"valid\"],[[68103,68107],\"disallowed\"],[[68108,68115],\"valid\"],[[68116,68116],\"disallowed\"],[[68117,68119],\"valid\"],[[68120,68120],\"disallowed\"],[[68121,68147],\"valid\"],[[68148,68151],\"disallowed\"],[[68152,68154],\"valid\"],[[68155,68158],\"disallowed\"],[[68159,68159],\"valid\"],[[68160,68167],\"valid\",[],\"NV8\"],[[68168,68175],\"disallowed\"],[[68176,68184],\"valid\",[],\"NV8\"],[[68185,68191],\"disallowed\"],[[68192,68220],\"valid\"],[[68221,68223],\"valid\",[],\"NV8\"],[[68224,68252],\"valid\"],[[68253,68255],\"valid\",[],\"NV8\"],[[68256,68287],\"disallowed\"],[[68288,68295],\"valid\"],[[68296,68296],\"valid\",[],\"NV8\"],[[68297,68326],\"valid\"],[[68327,68330],\"disallowed\"],[[68331,68342],\"valid\",[],\"NV8\"],[[68343,68351],\"disallowed\"],[[68352,68405],\"valid\"],[[68406,68408],\"disallowed\"],[[68409,68415],\"valid\",[],\"NV8\"],[[68416,68437],\"valid\"],[[68438,68439],\"disallowed\"],[[68440,68447],\"valid\",[],\"NV8\"],[[68448,68466],\"valid\"],[[68467,68471],\"disallowed\"],[[68472,68479],\"valid\",[],\"NV8\"],[[68480,68497],\"valid\"],[[68498,68504],\"disallowed\"],[[68505,68508],\"valid\",[],\"NV8\"],[[68509,68520],\"disallowed\"],[[68521,68527],\"valid\",[],\"NV8\"],[[68528,68607],\"disallowed\"],[[68608,68680],\"valid\"],[[68681,68735],\"disallowed\"],[[68736,68736],\"mapped\",[68800]],[[68737,68737],\"mapped\",[68801]],[[68738,68738],\"mapped\",[68802]],[[68739,68739],\"mapped\",[68803]],[[68740,68740],\"mapped\",[68804]],[[68741,68741],\"mapped\",[68805]],[[68742,68742],\"mapped\",[68806]],[[68743,68743],\"mapped\",[68807]],[[68744,68744],\"mapped\",[68808]],[[68745,68745],\"mapped\",[68809]],[[68746,68746],\"mapped\",[68810]],[[68747,68747],\"mapped\",[68811]],[[68748,68748],\"mapped\",[68812]],[[68749,68749],\"mapped\",[68813]],[[68750,68750],\"mapped\",[68814]],[[68751,68751],\"mapped\",[68815]],[[68752,68752],\"mapped\",[68816]],[[68753,68753],\"mapped\",[68817]],[[68754,68754],\"mapped\",[68818]],[[68755,68755],\"mapped\",[68819]],[[68756,68756],\"mapped\",[68820]],[[68757,68757],\"mapped\",[68821]],[[68758,68758],\"mapped\",[68822]],[[68759,68759],\"mapped\",[68823]],[[68760,68760],\"mapped\",[68824]],[[68761,68761],\"mapped\",[68825]],[[68762,68762],\"mapped\",[68826]],[[68763,68763],\"mapped\",[68827]],[[68764,68764],\"mapped\",[68828]],[[68765,68765],\"mapped\",[68829]],[[68766,68766],\"mapped\",[68830]],[[68767,68767],\"mapped\",[68831]],[[68768,68768],\"mapped\",[68832]],[[68769,68769],\"mapped\",[68833]],[[68770,68770],\"mapped\",[68834]],[[68771,68771],\"mapped\",[68835]],[[68772,68772],\"mapped\",[68836]],[[68773,68773],\"mapped\",[68837]],[[68774,68774],\"mapped\",[68838]],[[68775,68775],\"mapped\",[68839]],[[68776,68776],\"mapped\",[68840]],[[68777,68777],\"mapped\",[68841]],[[68778,68778],\"mapped\",[68842]],[[68779,68779],\"mapped\",[68843]],[[68780,68780],\"mapped\",[68844]],[[68781,68781],\"mapped\",[68845]],[[68782,68782],\"mapped\",[68846]],[[68783,68783],\"mapped\",[68847]],[[68784,68784],\"mapped\",[68848]],[[68785,68785],\"mapped\",[68849]],[[68786,68786],\"mapped\",[68850]],[[68787,68799],\"disallowed\"],[[68800,68850],\"valid\"],[[68851,68857],\"disallowed\"],[[68858,68863],\"valid\",[],\"NV8\"],[[68864,69215],\"disallowed\"],[[69216,69246],\"valid\",[],\"NV8\"],[[69247,69631],\"disallowed\"],[[69632,69702],\"valid\"],[[69703,69709],\"valid\",[],\"NV8\"],[[69710,69713],\"disallowed\"],[[69714,69733],\"valid\",[],\"NV8\"],[[69734,69743],\"valid\"],[[69744,69758],\"disallowed\"],[[69759,69759],\"valid\"],[[69760,69818],\"valid\"],[[69819,69820],\"valid\",[],\"NV8\"],[[69821,69821],\"disallowed\"],[[69822,69825],\"valid\",[],\"NV8\"],[[69826,69839],\"disallowed\"],[[69840,69864],\"valid\"],[[69865,69871],\"disallowed\"],[[69872,69881],\"valid\"],[[69882,69887],\"disallowed\"],[[69888,69940],\"valid\"],[[69941,69941],\"disallowed\"],[[69942,69951],\"valid\"],[[69952,69955],\"valid\",[],\"NV8\"],[[69956,69967],\"disallowed\"],[[69968,70003],\"valid\"],[[70004,70005],\"valid\",[],\"NV8\"],[[70006,70006],\"valid\"],[[70007,70015],\"disallowed\"],[[70016,70084],\"valid\"],[[70085,70088],\"valid\",[],\"NV8\"],[[70089,70089],\"valid\",[],\"NV8\"],[[70090,70092],\"valid\"],[[70093,70093],\"valid\",[],\"NV8\"],[[70094,70095],\"disallowed\"],[[70096,70105],\"valid\"],[[70106,70106],\"valid\"],[[70107,70107],\"valid\",[],\"NV8\"],[[70108,70108],\"valid\"],[[70109,70111],\"valid\",[],\"NV8\"],[[70112,70112],\"disallowed\"],[[70113,70132],\"valid\",[],\"NV8\"],[[70133,70143],\"disallowed\"],[[70144,70161],\"valid\"],[[70162,70162],\"disallowed\"],[[70163,70199],\"valid\"],[[70200,70205],\"valid\",[],\"NV8\"],[[70206,70271],\"disallowed\"],[[70272,70278],\"valid\"],[[70279,70279],\"disallowed\"],[[70280,70280],\"valid\"],[[70281,70281],\"disallowed\"],[[70282,70285],\"valid\"],[[70286,70286],\"disallowed\"],[[70287,70301],\"valid\"],[[70302,70302],\"disallowed\"],[[70303,70312],\"valid\"],[[70313,70313],\"valid\",[],\"NV8\"],[[70314,70319],\"disallowed\"],[[70320,70378],\"valid\"],[[70379,70383],\"disallowed\"],[[70384,70393],\"valid\"],[[70394,70399],\"disallowed\"],[[70400,70400],\"valid\"],[[70401,70403],\"valid\"],[[70404,70404],\"disallowed\"],[[70405,70412],\"valid\"],[[70413,70414],\"disallowed\"],[[70415,70416],\"valid\"],[[70417,70418],\"disallowed\"],[[70419,70440],\"valid\"],[[70441,70441],\"disallowed\"],[[70442,70448],\"valid\"],[[70449,70449],\"disallowed\"],[[70450,70451],\"valid\"],[[70452,70452],\"disallowed\"],[[70453,70457],\"valid\"],[[70458,70459],\"disallowed\"],[[70460,70468],\"valid\"],[[70469,70470],\"disallowed\"],[[70471,70472],\"valid\"],[[70473,70474],\"disallowed\"],[[70475,70477],\"valid\"],[[70478,70479],\"disallowed\"],[[70480,70480],\"valid\"],[[70481,70486],\"disallowed\"],[[70487,70487],\"valid\"],[[70488,70492],\"disallowed\"],[[70493,70499],\"valid\"],[[70500,70501],\"disallowed\"],[[70502,70508],\"valid\"],[[70509,70511],\"disallowed\"],[[70512,70516],\"valid\"],[[70517,70783],\"disallowed\"],[[70784,70853],\"valid\"],[[70854,70854],\"valid\",[],\"NV8\"],[[70855,70855],\"valid\"],[[70856,70863],\"disallowed\"],[[70864,70873],\"valid\"],[[70874,71039],\"disallowed\"],[[71040,71093],\"valid\"],[[71094,71095],\"disallowed\"],[[71096,71104],\"valid\"],[[71105,71113],\"valid\",[],\"NV8\"],[[71114,71127],\"valid\",[],\"NV8\"],[[71128,71133],\"valid\"],[[71134,71167],\"disallowed\"],[[71168,71232],\"valid\"],[[71233,71235],\"valid\",[],\"NV8\"],[[71236,71236],\"valid\"],[[71237,71247],\"disallowed\"],[[71248,71257],\"valid\"],[[71258,71295],\"disallowed\"],[[71296,71351],\"valid\"],[[71352,71359],\"disallowed\"],[[71360,71369],\"valid\"],[[71370,71423],\"disallowed\"],[[71424,71449],\"valid\"],[[71450,71452],\"disallowed\"],[[71453,71467],\"valid\"],[[71468,71471],\"disallowed\"],[[71472,71481],\"valid\"],[[71482,71487],\"valid\",[],\"NV8\"],[[71488,71839],\"disallowed\"],[[71840,71840],\"mapped\",[71872]],[[71841,71841],\"mapped\",[71873]],[[71842,71842],\"mapped\",[71874]],[[71843,71843],\"mapped\",[71875]],[[71844,71844],\"mapped\",[71876]],[[71845,71845],\"mapped\",[71877]],[[71846,71846],\"mapped\",[71878]],[[71847,71847],\"mapped\",[71879]],[[71848,71848],\"mapped\",[71880]],[[71849,71849],\"mapped\",[71881]],[[71850,71850],\"mapped\",[71882]],[[71851,71851],\"mapped\",[71883]],[[71852,71852],\"mapped\",[71884]],[[71853,71853],\"mapped\",[71885]],[[71854,71854],\"mapped\",[71886]],[[71855,71855],\"mapped\",[71887]],[[71856,71856],\"mapped\",[71888]],[[71857,71857],\"mapped\",[71889]],[[71858,71858],\"mapped\",[71890]],[[71859,71859],\"mapped\",[71891]],[[71860,71860],\"mapped\",[71892]],[[71861,71861],\"mapped\",[71893]],[[71862,71862],\"mapped\",[71894]],[[71863,71863],\"mapped\",[71895]],[[71864,71864],\"mapped\",[71896]],[[71865,71865],\"mapped\",[71897]],[[71866,71866],\"mapped\",[71898]],[[71867,71867],\"mapped\",[71899]],[[71868,71868],\"mapped\",[71900]],[[71869,71869],\"mapped\",[71901]],[[71870,71870],\"mapped\",[71902]],[[71871,71871],\"mapped\",[71903]],[[71872,71913],\"valid\"],[[71914,71922],\"valid\",[],\"NV8\"],[[71923,71934],\"disallowed\"],[[71935,71935],\"valid\"],[[71936,72383],\"disallowed\"],[[72384,72440],\"valid\"],[[72441,73727],\"disallowed\"],[[73728,74606],\"valid\"],[[74607,74648],\"valid\"],[[74649,74649],\"valid\"],[[74650,74751],\"disallowed\"],[[74752,74850],\"valid\",[],\"NV8\"],[[74851,74862],\"valid\",[],\"NV8\"],[[74863,74863],\"disallowed\"],[[74864,74867],\"valid\",[],\"NV8\"],[[74868,74868],\"valid\",[],\"NV8\"],[[74869,74879],\"disallowed\"],[[74880,75075],\"valid\"],[[75076,77823],\"disallowed\"],[[77824,78894],\"valid\"],[[78895,82943],\"disallowed\"],[[82944,83526],\"valid\"],[[83527,92159],\"disallowed\"],[[92160,92728],\"valid\"],[[92729,92735],\"disallowed\"],[[92736,92766],\"valid\"],[[92767,92767],\"disallowed\"],[[92768,92777],\"valid\"],[[92778,92781],\"disallowed\"],[[92782,92783],\"valid\",[],\"NV8\"],[[92784,92879],\"disallowed\"],[[92880,92909],\"valid\"],[[92910,92911],\"disallowed\"],[[92912,92916],\"valid\"],[[92917,92917],\"valid\",[],\"NV8\"],[[92918,92927],\"disallowed\"],[[92928,92982],\"valid\"],[[92983,92991],\"valid\",[],\"NV8\"],[[92992,92995],\"valid\"],[[92996,92997],\"valid\",[],\"NV8\"],[[92998,93007],\"disallowed\"],[[93008,93017],\"valid\"],[[93018,93018],\"disallowed\"],[[93019,93025],\"valid\",[],\"NV8\"],[[93026,93026],\"disallowed\"],[[93027,93047],\"valid\"],[[93048,93052],\"disallowed\"],[[93053,93071],\"valid\"],[[93072,93951],\"disallowed\"],[[93952,94020],\"valid\"],[[94021,94031],\"disallowed\"],[[94032,94078],\"valid\"],[[94079,94094],\"disallowed\"],[[94095,94111],\"valid\"],[[94112,110591],\"disallowed\"],[[110592,110593],\"valid\"],[[110594,113663],\"disallowed\"],[[113664,113770],\"valid\"],[[113771,113775],\"disallowed\"],[[113776,113788],\"valid\"],[[113789,113791],\"disallowed\"],[[113792,113800],\"valid\"],[[113801,113807],\"disallowed\"],[[113808,113817],\"valid\"],[[113818,113819],\"disallowed\"],[[113820,113820],\"valid\",[],\"NV8\"],[[113821,113822],\"valid\"],[[113823,113823],\"valid\",[],\"NV8\"],[[113824,113827],\"ignored\"],[[113828,118783],\"disallowed\"],[[118784,119029],\"valid\",[],\"NV8\"],[[119030,119039],\"disallowed\"],[[119040,119078],\"valid\",[],\"NV8\"],[[119079,119080],\"disallowed\"],[[119081,119081],\"valid\",[],\"NV8\"],[[119082,119133],\"valid\",[],\"NV8\"],[[119134,119134],\"mapped\",[119127,119141]],[[119135,119135],\"mapped\",[119128,119141]],[[119136,119136],\"mapped\",[119128,119141,119150]],[[119137,119137],\"mapped\",[119128,119141,119151]],[[119138,119138],\"mapped\",[119128,119141,119152]],[[119139,119139],\"mapped\",[119128,119141,119153]],[[119140,119140],\"mapped\",[119128,119141,119154]],[[119141,119154],\"valid\",[],\"NV8\"],[[119155,119162],\"disallowed\"],[[119163,119226],\"valid\",[],\"NV8\"],[[119227,119227],\"mapped\",[119225,119141]],[[119228,119228],\"mapped\",[119226,119141]],[[119229,119229],\"mapped\",[119225,119141,119150]],[[119230,119230],\"mapped\",[119226,119141,119150]],[[119231,119231],\"mapped\",[119225,119141,119151]],[[119232,119232],\"mapped\",[119226,119141,119151]],[[119233,119261],\"valid\",[],\"NV8\"],[[119262,119272],\"valid\",[],\"NV8\"],[[119273,119295],\"disallowed\"],[[119296,119365],\"valid\",[],\"NV8\"],[[119366,119551],\"disallowed\"],[[119552,119638],\"valid\",[],\"NV8\"],[[119639,119647],\"disallowed\"],[[119648,119665],\"valid\",[],\"NV8\"],[[119666,119807],\"disallowed\"],[[119808,119808],\"mapped\",[97]],[[119809,119809],\"mapped\",[98]],[[119810,119810],\"mapped\",[99]],[[119811,119811],\"mapped\",[100]],[[119812,119812],\"mapped\",[101]],[[119813,119813],\"mapped\",[102]],[[119814,119814],\"mapped\",[103]],[[119815,119815],\"mapped\",[104]],[[119816,119816],\"mapped\",[105]],[[119817,119817],\"mapped\",[106]],[[119818,119818],\"mapped\",[107]],[[119819,119819],\"mapped\",[108]],[[119820,119820],\"mapped\",[109]],[[119821,119821],\"mapped\",[110]],[[119822,119822],\"mapped\",[111]],[[119823,119823],\"mapped\",[112]],[[119824,119824],\"mapped\",[113]],[[119825,119825],\"mapped\",[114]],[[119826,119826],\"mapped\",[115]],[[119827,119827],\"mapped\",[116]],[[119828,119828],\"mapped\",[117]],[[119829,119829],\"mapped\",[118]],[[119830,119830],\"mapped\",[119]],[[119831,119831],\"mapped\",[120]],[[119832,119832],\"mapped\",[121]],[[119833,119833],\"mapped\",[122]],[[119834,119834],\"mapped\",[97]],[[119835,119835],\"mapped\",[98]],[[119836,119836],\"mapped\",[99]],[[119837,119837],\"mapped\",[100]],[[119838,119838],\"mapped\",[101]],[[119839,119839],\"mapped\",[102]],[[119840,119840],\"mapped\",[103]],[[119841,119841],\"mapped\",[104]],[[119842,119842],\"mapped\",[105]],[[119843,119843],\"mapped\",[106]],[[119844,119844],\"mapped\",[107]],[[119845,119845],\"mapped\",[108]],[[119846,119846],\"mapped\",[109]],[[119847,119847],\"mapped\",[110]],[[119848,119848],\"mapped\",[111]],[[119849,119849],\"mapped\",[112]],[[119850,119850],\"mapped\",[113]],[[119851,119851],\"mapped\",[114]],[[119852,119852],\"mapped\",[115]],[[119853,119853],\"mapped\",[116]],[[119854,119854],\"mapped\",[117]],[[119855,119855],\"mapped\",[118]],[[119856,119856],\"mapped\",[119]],[[119857,119857],\"mapped\",[120]],[[119858,119858],\"mapped\",[121]],[[119859,119859],\"mapped\",[122]],[[119860,119860],\"mapped\",[97]],[[119861,119861],\"mapped\",[98]],[[119862,119862],\"mapped\",[99]],[[119863,119863],\"mapped\",[100]],[[119864,119864],\"mapped\",[101]],[[119865,119865],\"mapped\",[102]],[[119866,119866],\"mapped\",[103]],[[119867,119867],\"mapped\",[104]],[[119868,119868],\"mapped\",[105]],[[119869,119869],\"mapped\",[106]],[[119870,119870],\"mapped\",[107]],[[119871,119871],\"mapped\",[108]],[[119872,119872],\"mapped\",[109]],[[119873,119873],\"mapped\",[110]],[[119874,119874],\"mapped\",[111]],[[119875,119875],\"mapped\",[112]],[[119876,119876],\"mapped\",[113]],[[119877,119877],\"mapped\",[114]],[[119878,119878],\"mapped\",[115]],[[119879,119879],\"mapped\",[116]],[[119880,119880],\"mapped\",[117]],[[119881,119881],\"mapped\",[118]],[[119882,119882],\"mapped\",[119]],[[119883,119883],\"mapped\",[120]],[[119884,119884],\"mapped\",[121]],[[119885,119885],\"mapped\",[122]],[[119886,119886],\"mapped\",[97]],[[119887,119887],\"mapped\",[98]],[[119888,119888],\"mapped\",[99]],[[119889,119889],\"mapped\",[100]],[[119890,119890],\"mapped\",[101]],[[119891,119891],\"mapped\",[102]],[[119892,119892],\"mapped\",[103]],[[119893,119893],\"disallowed\"],[[119894,119894],\"mapped\",[105]],[[119895,119895],\"mapped\",[106]],[[119896,119896],\"mapped\",[107]],[[119897,119897],\"mapped\",[108]],[[119898,119898],\"mapped\",[109]],[[119899,119899],\"mapped\",[110]],[[119900,119900],\"mapped\",[111]],[[119901,119901],\"mapped\",[112]],[[119902,119902],\"mapped\",[113]],[[119903,119903],\"mapped\",[114]],[[119904,119904],\"mapped\",[115]],[[119905,119905],\"mapped\",[116]],[[119906,119906],\"mapped\",[117]],[[119907,119907],\"mapped\",[118]],[[119908,119908],\"mapped\",[119]],[[119909,119909],\"mapped\",[120]],[[119910,119910],\"mapped\",[121]],[[119911,119911],\"mapped\",[122]],[[119912,119912],\"mapped\",[97]],[[119913,119913],\"mapped\",[98]],[[119914,119914],\"mapped\",[99]],[[119915,119915],\"mapped\",[100]],[[119916,119916],\"mapped\",[101]],[[119917,119917],\"mapped\",[102]],[[119918,119918],\"mapped\",[103]],[[119919,119919],\"mapped\",[104]],[[119920,119920],\"mapped\",[105]],[[119921,119921],\"mapped\",[106]],[[119922,119922],\"mapped\",[107]],[[119923,119923],\"mapped\",[108]],[[119924,119924],\"mapped\",[109]],[[119925,119925],\"mapped\",[110]],[[119926,119926],\"mapped\",[111]],[[119927,119927],\"mapped\",[112]],[[119928,119928],\"mapped\",[113]],[[119929,119929],\"mapped\",[114]],[[119930,119930],\"mapped\",[115]],[[119931,119931],\"mapped\",[116]],[[119932,119932],\"mapped\",[117]],[[119933,119933],\"mapped\",[118]],[[119934,119934],\"mapped\",[119]],[[119935,119935],\"mapped\",[120]],[[119936,119936],\"mapped\",[121]],[[119937,119937],\"mapped\",[122]],[[119938,119938],\"mapped\",[97]],[[119939,119939],\"mapped\",[98]],[[119940,119940],\"mapped\",[99]],[[119941,119941],\"mapped\",[100]],[[119942,119942],\"mapped\",[101]],[[119943,119943],\"mapped\",[102]],[[119944,119944],\"mapped\",[103]],[[119945,119945],\"mapped\",[104]],[[119946,119946],\"mapped\",[105]],[[119947,119947],\"mapped\",[106]],[[119948,119948],\"mapped\",[107]],[[119949,119949],\"mapped\",[108]],[[119950,119950],\"mapped\",[109]],[[119951,119951],\"mapped\",[110]],[[119952,119952],\"mapped\",[111]],[[119953,119953],\"mapped\",[112]],[[119954,119954],\"mapped\",[113]],[[119955,119955],\"mapped\",[114]],[[119956,119956],\"mapped\",[115]],[[119957,119957],\"mapped\",[116]],[[119958,119958],\"mapped\",[117]],[[119959,119959],\"mapped\",[118]],[[119960,119960],\"mapped\",[119]],[[119961,119961],\"mapped\",[120]],[[119962,119962],\"mapped\",[121]],[[119963,119963],\"mapped\",[122]],[[119964,119964],\"mapped\",[97]],[[119965,119965],\"disallowed\"],[[119966,119966],\"mapped\",[99]],[[119967,119967],\"mapped\",[100]],[[119968,119969],\"disallowed\"],[[119970,119970],\"mapped\",[103]],[[119971,119972],\"disallowed\"],[[119973,119973],\"mapped\",[106]],[[119974,119974],\"mapped\",[107]],[[119975,119976],\"disallowed\"],[[119977,119977],\"mapped\",[110]],[[119978,119978],\"mapped\",[111]],[[119979,119979],\"mapped\",[112]],[[119980,119980],\"mapped\",[113]],[[119981,119981],\"disallowed\"],[[119982,119982],\"mapped\",[115]],[[119983,119983],\"mapped\",[116]],[[119984,119984],\"mapped\",[117]],[[119985,119985],\"mapped\",[118]],[[119986,119986],\"mapped\",[119]],[[119987,119987],\"mapped\",[120]],[[119988,119988],\"mapped\",[121]],[[119989,119989],\"mapped\",[122]],[[119990,119990],\"mapped\",[97]],[[119991,119991],\"mapped\",[98]],[[119992,119992],\"mapped\",[99]],[[119993,119993],\"mapped\",[100]],[[119994,119994],\"disallowed\"],[[119995,119995],\"mapped\",[102]],[[119996,119996],\"disallowed\"],[[119997,119997],\"mapped\",[104]],[[119998,119998],\"mapped\",[105]],[[119999,119999],\"mapped\",[106]],[[120000,120000],\"mapped\",[107]],[[120001,120001],\"mapped\",[108]],[[120002,120002],\"mapped\",[109]],[[120003,120003],\"mapped\",[110]],[[120004,120004],\"disallowed\"],[[120005,120005],\"mapped\",[112]],[[120006,120006],\"mapped\",[113]],[[120007,120007],\"mapped\",[114]],[[120008,120008],\"mapped\",[115]],[[120009,120009],\"mapped\",[116]],[[120010,120010],\"mapped\",[117]],[[120011,120011],\"mapped\",[118]],[[120012,120012],\"mapped\",[119]],[[120013,120013],\"mapped\",[120]],[[120014,120014],\"mapped\",[121]],[[120015,120015],\"mapped\",[122]],[[120016,120016],\"mapped\",[97]],[[120017,120017],\"mapped\",[98]],[[120018,120018],\"mapped\",[99]],[[120019,120019],\"mapped\",[100]],[[120020,120020],\"mapped\",[101]],[[120021,120021],\"mapped\",[102]],[[120022,120022],\"mapped\",[103]],[[120023,120023],\"mapped\",[104]],[[120024,120024],\"mapped\",[105]],[[120025,120025],\"mapped\",[106]],[[120026,120026],\"mapped\",[107]],[[120027,120027],\"mapped\",[108]],[[120028,120028],\"mapped\",[109]],[[120029,120029],\"mapped\",[110]],[[120030,120030],\"mapped\",[111]],[[120031,120031],\"mapped\",[112]],[[120032,120032],\"mapped\",[113]],[[120033,120033],\"mapped\",[114]],[[120034,120034],\"mapped\",[115]],[[120035,120035],\"mapped\",[116]],[[120036,120036],\"mapped\",[117]],[[120037,120037],\"mapped\",[118]],[[120038,120038],\"mapped\",[119]],[[120039,120039],\"mapped\",[120]],[[120040,120040],\"mapped\",[121]],[[120041,120041],\"mapped\",[122]],[[120042,120042],\"mapped\",[97]],[[120043,120043],\"mapped\",[98]],[[120044,120044],\"mapped\",[99]],[[120045,120045],\"mapped\",[100]],[[120046,120046],\"mapped\",[101]],[[120047,120047],\"mapped\",[102]],[[120048,120048],\"mapped\",[103]],[[120049,120049],\"mapped\",[104]],[[120050,120050],\"mapped\",[105]],[[120051,120051],\"mapped\",[106]],[[120052,120052],\"mapped\",[107]],[[120053,120053],\"mapped\",[108]],[[120054,120054],\"mapped\",[109]],[[120055,120055],\"mapped\",[110]],[[120056,120056],\"mapped\",[111]],[[120057,120057],\"mapped\",[112]],[[120058,120058],\"mapped\",[113]],[[120059,120059],\"mapped\",[114]],[[120060,120060],\"mapped\",[115]],[[120061,120061],\"mapped\",[116]],[[120062,120062],\"mapped\",[117]],[[120063,120063],\"mapped\",[118]],[[120064,120064],\"mapped\",[119]],[[120065,120065],\"mapped\",[120]],[[120066,120066],\"mapped\",[121]],[[120067,120067],\"mapped\",[122]],[[120068,120068],\"mapped\",[97]],[[120069,120069],\"mapped\",[98]],[[120070,120070],\"disallowed\"],[[120071,120071],\"mapped\",[100]],[[120072,120072],\"mapped\",[101]],[[120073,120073],\"mapped\",[102]],[[120074,120074],\"mapped\",[103]],[[120075,120076],\"disallowed\"],[[120077,120077],\"mapped\",[106]],[[120078,120078],\"mapped\",[107]],[[120079,120079],\"mapped\",[108]],[[120080,120080],\"mapped\",[109]],[[120081,120081],\"mapped\",[110]],[[120082,120082],\"mapped\",[111]],[[120083,120083],\"mapped\",[112]],[[120084,120084],\"mapped\",[113]],[[120085,120085],\"disallowed\"],[[120086,120086],\"mapped\",[115]],[[120087,120087],\"mapped\",[116]],[[120088,120088],\"mapped\",[117]],[[120089,120089],\"mapped\",[118]],[[120090,120090],\"mapped\",[119]],[[120091,120091],\"mapped\",[120]],[[120092,120092],\"mapped\",[121]],[[120093,120093],\"disallowed\"],[[120094,120094],\"mapped\",[97]],[[120095,120095],\"mapped\",[98]],[[120096,120096],\"mapped\",[99]],[[120097,120097],\"mapped\",[100]],[[120098,120098],\"mapped\",[101]],[[120099,120099],\"mapped\",[102]],[[120100,120100],\"mapped\",[103]],[[120101,120101],\"mapped\",[104]],[[120102,120102],\"mapped\",[105]],[[120103,120103],\"mapped\",[106]],[[120104,120104],\"mapped\",[107]],[[120105,120105],\"mapped\",[108]],[[120106,120106],\"mapped\",[109]],[[120107,120107],\"mapped\",[110]],[[120108,120108],\"mapped\",[111]],[[120109,120109],\"mapped\",[112]],[[120110,120110],\"mapped\",[113]],[[120111,120111],\"mapped\",[114]],[[120112,120112],\"mapped\",[115]],[[120113,120113],\"mapped\",[116]],[[120114,120114],\"mapped\",[117]],[[120115,120115],\"mapped\",[118]],[[120116,120116],\"mapped\",[119]],[[120117,120117],\"mapped\",[120]],[[120118,120118],\"mapped\",[121]],[[120119,120119],\"mapped\",[122]],[[120120,120120],\"mapped\",[97]],[[120121,120121],\"mapped\",[98]],[[120122,120122],\"disallowed\"],[[120123,120123],\"mapped\",[100]],[[120124,120124],\"mapped\",[101]],[[120125,120125],\"mapped\",[102]],[[120126,120126],\"mapped\",[103]],[[120127,120127],\"disallowed\"],[[120128,120128],\"mapped\",[105]],[[120129,120129],\"mapped\",[106]],[[120130,120130],\"mapped\",[107]],[[120131,120131],\"mapped\",[108]],[[120132,120132],\"mapped\",[109]],[[120133,120133],\"disallowed\"],[[120134,120134],\"mapped\",[111]],[[120135,120137],\"disallowed\"],[[120138,120138],\"mapped\",[115]],[[120139,120139],\"mapped\",[116]],[[120140,120140],\"mapped\",[117]],[[120141,120141],\"mapped\",[118]],[[120142,120142],\"mapped\",[119]],[[120143,120143],\"mapped\",[120]],[[120144,120144],\"mapped\",[121]],[[120145,120145],\"disallowed\"],[[120146,120146],\"mapped\",[97]],[[120147,120147],\"mapped\",[98]],[[120148,120148],\"mapped\",[99]],[[120149,120149],\"mapped\",[100]],[[120150,120150],\"mapped\",[101]],[[120151,120151],\"mapped\",[102]],[[120152,120152],\"mapped\",[103]],[[120153,120153],\"mapped\",[104]],[[120154,120154],\"mapped\",[105]],[[120155,120155],\"mapped\",[106]],[[120156,120156],\"mapped\",[107]],[[120157,120157],\"mapped\",[108]],[[120158,120158],\"mapped\",[109]],[[120159,120159],\"mapped\",[110]],[[120160,120160],\"mapped\",[111]],[[120161,120161],\"mapped\",[112]],[[120162,120162],\"mapped\",[113]],[[120163,120163],\"mapped\",[114]],[[120164,120164],\"mapped\",[115]],[[120165,120165],\"mapped\",[116]],[[120166,120166],\"mapped\",[117]],[[120167,120167],\"mapped\",[118]],[[120168,120168],\"mapped\",[119]],[[120169,120169],\"mapped\",[120]],[[120170,120170],\"mapped\",[121]],[[120171,120171],\"mapped\",[122]],[[120172,120172],\"mapped\",[97]],[[120173,120173],\"mapped\",[98]],[[120174,120174],\"mapped\",[99]],[[120175,120175],\"mapped\",[100]],[[120176,120176],\"mapped\",[101]],[[120177,120177],\"mapped\",[102]],[[120178,120178],\"mapped\",[103]],[[120179,120179],\"mapped\",[104]],[[120180,120180],\"mapped\",[105]],[[120181,120181],\"mapped\",[106]],[[120182,120182],\"mapped\",[107]],[[120183,120183],\"mapped\",[108]],[[120184,120184],\"mapped\",[109]],[[120185,120185],\"mapped\",[110]],[[120186,120186],\"mapped\",[111]],[[120187,120187],\"mapped\",[112]],[[120188,120188],\"mapped\",[113]],[[120189,120189],\"mapped\",[114]],[[120190,120190],\"mapped\",[115]],[[120191,120191],\"mapped\",[116]],[[120192,120192],\"mapped\",[117]],[[120193,120193],\"mapped\",[118]],[[120194,120194],\"mapped\",[119]],[[120195,120195],\"mapped\",[120]],[[120196,120196],\"mapped\",[121]],[[120197,120197],\"mapped\",[122]],[[120198,120198],\"mapped\",[97]],[[120199,120199],\"mapped\",[98]],[[120200,120200],\"mapped\",[99]],[[120201,120201],\"mapped\",[100]],[[120202,120202],\"mapped\",[101]],[[120203,120203],\"mapped\",[102]],[[120204,120204],\"mapped\",[103]],[[120205,120205],\"mapped\",[104]],[[120206,120206],\"mapped\",[105]],[[120207,120207],\"mapped\",[106]],[[120208,120208],\"mapped\",[107]],[[120209,120209],\"mapped\",[108]],[[120210,120210],\"mapped\",[109]],[[120211,120211],\"mapped\",[110]],[[120212,120212],\"mapped\",[111]],[[120213,120213],\"mapped\",[112]],[[120214,120214],\"mapped\",[113]],[[120215,120215],\"mapped\",[114]],[[120216,120216],\"mapped\",[115]],[[120217,120217],\"mapped\",[116]],[[120218,120218],\"mapped\",[117]],[[120219,120219],\"mapped\",[118]],[[120220,120220],\"mapped\",[119]],[[120221,120221],\"mapped\",[120]],[[120222,120222],\"mapped\",[121]],[[120223,120223],\"mapped\",[122]],[[120224,120224],\"mapped\",[97]],[[120225,120225],\"mapped\",[98]],[[120226,120226],\"mapped\",[99]],[[120227,120227],\"mapped\",[100]],[[120228,120228],\"mapped\",[101]],[[120229,120229],\"mapped\",[102]],[[120230,120230],\"mapped\",[103]],[[120231,120231],\"mapped\",[104]],[[120232,120232],\"mapped\",[105]],[[120233,120233],\"mapped\",[106]],[[120234,120234],\"mapped\",[107]],[[120235,120235],\"mapped\",[108]],[[120236,120236],\"mapped\",[109]],[[120237,120237],\"mapped\",[110]],[[120238,120238],\"mapped\",[111]],[[120239,120239],\"mapped\",[112]],[[120240,120240],\"mapped\",[113]],[[120241,120241],\"mapped\",[114]],[[120242,120242],\"mapped\",[115]],[[120243,120243],\"mapped\",[116]],[[120244,120244],\"mapped\",[117]],[[120245,120245],\"mapped\",[118]],[[120246,120246],\"mapped\",[119]],[[120247,120247],\"mapped\",[120]],[[120248,120248],\"mapped\",[121]],[[120249,120249],\"mapped\",[122]],[[120250,120250],\"mapped\",[97]],[[120251,120251],\"mapped\",[98]],[[120252,120252],\"mapped\",[99]],[[120253,120253],\"mapped\",[100]],[[120254,120254],\"mapped\",[101]],[[120255,120255],\"mapped\",[102]],[[120256,120256],\"mapped\",[103]],[[120257,120257],\"mapped\",[104]],[[120258,120258],\"mapped\",[105]],[[120259,120259],\"mapped\",[106]],[[120260,120260],\"mapped\",[107]],[[120261,120261],\"mapped\",[108]],[[120262,120262],\"mapped\",[109]],[[120263,120263],\"mapped\",[110]],[[120264,120264],\"mapped\",[111]],[[120265,120265],\"mapped\",[112]],[[120266,120266],\"mapped\",[113]],[[120267,120267],\"mapped\",[114]],[[120268,120268],\"mapped\",[115]],[[120269,120269],\"mapped\",[116]],[[120270,120270],\"mapped\",[117]],[[120271,120271],\"mapped\",[118]],[[120272,120272],\"mapped\",[119]],[[120273,120273],\"mapped\",[120]],[[120274,120274],\"mapped\",[121]],[[120275,120275],\"mapped\",[122]],[[120276,120276],\"mapped\",[97]],[[120277,120277],\"mapped\",[98]],[[120278,120278],\"mapped\",[99]],[[120279,120279],\"mapped\",[100]],[[120280,120280],\"mapped\",[101]],[[120281,120281],\"mapped\",[102]],[[120282,120282],\"mapped\",[103]],[[120283,120283],\"mapped\",[104]],[[120284,120284],\"mapped\",[105]],[[120285,120285],\"mapped\",[106]],[[120286,120286],\"mapped\",[107]],[[120287,120287],\"mapped\",[108]],[[120288,120288],\"mapped\",[109]],[[120289,120289],\"mapped\",[110]],[[120290,120290],\"mapped\",[111]],[[120291,120291],\"mapped\",[112]],[[120292,120292],\"mapped\",[113]],[[120293,120293],\"mapped\",[114]],[[120294,120294],\"mapped\",[115]],[[120295,120295],\"mapped\",[116]],[[120296,120296],\"mapped\",[117]],[[120297,120297],\"mapped\",[118]],[[120298,120298],\"mapped\",[119]],[[120299,120299],\"mapped\",[120]],[[120300,120300],\"mapped\",[121]],[[120301,120301],\"mapped\",[122]],[[120302,120302],\"mapped\",[97]],[[120303,120303],\"mapped\",[98]],[[120304,120304],\"mapped\",[99]],[[120305,120305],\"mapped\",[100]],[[120306,120306],\"mapped\",[101]],[[120307,120307],\"mapped\",[102]],[[120308,120308],\"mapped\",[103]],[[120309,120309],\"mapped\",[104]],[[120310,120310],\"mapped\",[105]],[[120311,120311],\"mapped\",[106]],[[120312,120312],\"mapped\",[107]],[[120313,120313],\"mapped\",[108]],[[120314,120314],\"mapped\",[109]],[[120315,120315],\"mapped\",[110]],[[120316,120316],\"mapped\",[111]],[[120317,120317],\"mapped\",[112]],[[120318,120318],\"mapped\",[113]],[[120319,120319],\"mapped\",[114]],[[120320,120320],\"mapped\",[115]],[[120321,120321],\"mapped\",[116]],[[120322,120322],\"mapped\",[117]],[[120323,120323],\"mapped\",[118]],[[120324,120324],\"mapped\",[119]],[[120325,120325],\"mapped\",[120]],[[120326,120326],\"mapped\",[121]],[[120327,120327],\"mapped\",[122]],[[120328,120328],\"mapped\",[97]],[[120329,120329],\"mapped\",[98]],[[120330,120330],\"mapped\",[99]],[[120331,120331],\"mapped\",[100]],[[120332,120332],\"mapped\",[101]],[[120333,120333],\"mapped\",[102]],[[120334,120334],\"mapped\",[103]],[[120335,120335],\"mapped\",[104]],[[120336,120336],\"mapped\",[105]],[[120337,120337],\"mapped\",[106]],[[120338,120338],\"mapped\",[107]],[[120339,120339],\"mapped\",[108]],[[120340,120340],\"mapped\",[109]],[[120341,120341],\"mapped\",[110]],[[120342,120342],\"mapped\",[111]],[[120343,120343],\"mapped\",[112]],[[120344,120344],\"mapped\",[113]],[[120345,120345],\"mapped\",[114]],[[120346,120346],\"mapped\",[115]],[[120347,120347],\"mapped\",[116]],[[120348,120348],\"mapped\",[117]],[[120349,120349],\"mapped\",[118]],[[120350,120350],\"mapped\",[119]],[[120351,120351],\"mapped\",[120]],[[120352,120352],\"mapped\",[121]],[[120353,120353],\"mapped\",[122]],[[120354,120354],\"mapped\",[97]],[[120355,120355],\"mapped\",[98]],[[120356,120356],\"mapped\",[99]],[[120357,120357],\"mapped\",[100]],[[120358,120358],\"mapped\",[101]],[[120359,120359],\"mapped\",[102]],[[120360,120360],\"mapped\",[103]],[[120361,120361],\"mapped\",[104]],[[120362,120362],\"mapped\",[105]],[[120363,120363],\"mapped\",[106]],[[120364,120364],\"mapped\",[107]],[[120365,120365],\"mapped\",[108]],[[120366,120366],\"mapped\",[109]],[[120367,120367],\"mapped\",[110]],[[120368,120368],\"mapped\",[111]],[[120369,120369],\"mapped\",[112]],[[120370,120370],\"mapped\",[113]],[[120371,120371],\"mapped\",[114]],[[120372,120372],\"mapped\",[115]],[[120373,120373],\"mapped\",[116]],[[120374,120374],\"mapped\",[117]],[[120375,120375],\"mapped\",[118]],[[120376,120376],\"mapped\",[119]],[[120377,120377],\"mapped\",[120]],[[120378,120378],\"mapped\",[121]],[[120379,120379],\"mapped\",[122]],[[120380,120380],\"mapped\",[97]],[[120381,120381],\"mapped\",[98]],[[120382,120382],\"mapped\",[99]],[[120383,120383],\"mapped\",[100]],[[120384,120384],\"mapped\",[101]],[[120385,120385],\"mapped\",[102]],[[120386,120386],\"mapped\",[103]],[[120387,120387],\"mapped\",[104]],[[120388,120388],\"mapped\",[105]],[[120389,120389],\"mapped\",[106]],[[120390,120390],\"mapped\",[107]],[[120391,120391],\"mapped\",[108]],[[120392,120392],\"mapped\",[109]],[[120393,120393],\"mapped\",[110]],[[120394,120394],\"mapped\",[111]],[[120395,120395],\"mapped\",[112]],[[120396,120396],\"mapped\",[113]],[[120397,120397],\"mapped\",[114]],[[120398,120398],\"mapped\",[115]],[[120399,120399],\"mapped\",[116]],[[120400,120400],\"mapped\",[117]],[[120401,120401],\"mapped\",[118]],[[120402,120402],\"mapped\",[119]],[[120403,120403],\"mapped\",[120]],[[120404,120404],\"mapped\",[121]],[[120405,120405],\"mapped\",[122]],[[120406,120406],\"mapped\",[97]],[[120407,120407],\"mapped\",[98]],[[120408,120408],\"mapped\",[99]],[[120409,120409],\"mapped\",[100]],[[120410,120410],\"mapped\",[101]],[[120411,120411],\"mapped\",[102]],[[120412,120412],\"mapped\",[103]],[[120413,120413],\"mapped\",[104]],[[120414,120414],\"mapped\",[105]],[[120415,120415],\"mapped\",[106]],[[120416,120416],\"mapped\",[107]],[[120417,120417],\"mapped\",[108]],[[120418,120418],\"mapped\",[109]],[[120419,120419],\"mapped\",[110]],[[120420,120420],\"mapped\",[111]],[[120421,120421],\"mapped\",[112]],[[120422,120422],\"mapped\",[113]],[[120423,120423],\"mapped\",[114]],[[120424,120424],\"mapped\",[115]],[[120425,120425],\"mapped\",[116]],[[120426,120426],\"mapped\",[117]],[[120427,120427],\"mapped\",[118]],[[120428,120428],\"mapped\",[119]],[[120429,120429],\"mapped\",[120]],[[120430,120430],\"mapped\",[121]],[[120431,120431],\"mapped\",[122]],[[120432,120432],\"mapped\",[97]],[[120433,120433],\"mapped\",[98]],[[120434,120434],\"mapped\",[99]],[[120435,120435],\"mapped\",[100]],[[120436,120436],\"mapped\",[101]],[[120437,120437],\"mapped\",[102]],[[120438,120438],\"mapped\",[103]],[[120439,120439],\"mapped\",[104]],[[120440,120440],\"mapped\",[105]],[[120441,120441],\"mapped\",[106]],[[120442,120442],\"mapped\",[107]],[[120443,120443],\"mapped\",[108]],[[120444,120444],\"mapped\",[109]],[[120445,120445],\"mapped\",[110]],[[120446,120446],\"mapped\",[111]],[[120447,120447],\"mapped\",[112]],[[120448,120448],\"mapped\",[113]],[[120449,120449],\"mapped\",[114]],[[120450,120450],\"mapped\",[115]],[[120451,120451],\"mapped\",[116]],[[120452,120452],\"mapped\",[117]],[[120453,120453],\"mapped\",[118]],[[120454,120454],\"mapped\",[119]],[[120455,120455],\"mapped\",[120]],[[120456,120456],\"mapped\",[121]],[[120457,120457],\"mapped\",[122]],[[120458,120458],\"mapped\",[97]],[[120459,120459],\"mapped\",[98]],[[120460,120460],\"mapped\",[99]],[[120461,120461],\"mapped\",[100]],[[120462,120462],\"mapped\",[101]],[[120463,120463],\"mapped\",[102]],[[120464,120464],\"mapped\",[103]],[[120465,120465],\"mapped\",[104]],[[120466,120466],\"mapped\",[105]],[[120467,120467],\"mapped\",[106]],[[120468,120468],\"mapped\",[107]],[[120469,120469],\"mapped\",[108]],[[120470,120470],\"mapped\",[109]],[[120471,120471],\"mapped\",[110]],[[120472,120472],\"mapped\",[111]],[[120473,120473],\"mapped\",[112]],[[120474,120474],\"mapped\",[113]],[[120475,120475],\"mapped\",[114]],[[120476,120476],\"mapped\",[115]],[[120477,120477],\"mapped\",[116]],[[120478,120478],\"mapped\",[117]],[[120479,120479],\"mapped\",[118]],[[120480,120480],\"mapped\",[119]],[[120481,120481],\"mapped\",[120]],[[120482,120482],\"mapped\",[121]],[[120483,120483],\"mapped\",[122]],[[120484,120484],\"mapped\",[305]],[[120485,120485],\"mapped\",[567]],[[120486,120487],\"disallowed\"],[[120488,120488],\"mapped\",[945]],[[120489,120489],\"mapped\",[946]],[[120490,120490],\"mapped\",[947]],[[120491,120491],\"mapped\",[948]],[[120492,120492],\"mapped\",[949]],[[120493,120493],\"mapped\",[950]],[[120494,120494],\"mapped\",[951]],[[120495,120495],\"mapped\",[952]],[[120496,120496],\"mapped\",[953]],[[120497,120497],\"mapped\",[954]],[[120498,120498],\"mapped\",[955]],[[120499,120499],\"mapped\",[956]],[[120500,120500],\"mapped\",[957]],[[120501,120501],\"mapped\",[958]],[[120502,120502],\"mapped\",[959]],[[120503,120503],\"mapped\",[960]],[[120504,120504],\"mapped\",[961]],[[120505,120505],\"mapped\",[952]],[[120506,120506],\"mapped\",[963]],[[120507,120507],\"mapped\",[964]],[[120508,120508],\"mapped\",[965]],[[120509,120509],\"mapped\",[966]],[[120510,120510],\"mapped\",[967]],[[120511,120511],\"mapped\",[968]],[[120512,120512],\"mapped\",[969]],[[120513,120513],\"mapped\",[8711]],[[120514,120514],\"mapped\",[945]],[[120515,120515],\"mapped\",[946]],[[120516,120516],\"mapped\",[947]],[[120517,120517],\"mapped\",[948]],[[120518,120518],\"mapped\",[949]],[[120519,120519],\"mapped\",[950]],[[120520,120520],\"mapped\",[951]],[[120521,120521],\"mapped\",[952]],[[120522,120522],\"mapped\",[953]],[[120523,120523],\"mapped\",[954]],[[120524,120524],\"mapped\",[955]],[[120525,120525],\"mapped\",[956]],[[120526,120526],\"mapped\",[957]],[[120527,120527],\"mapped\",[958]],[[120528,120528],\"mapped\",[959]],[[120529,120529],\"mapped\",[960]],[[120530,120530],\"mapped\",[961]],[[120531,120532],\"mapped\",[963]],[[120533,120533],\"mapped\",[964]],[[120534,120534],\"mapped\",[965]],[[120535,120535],\"mapped\",[966]],[[120536,120536],\"mapped\",[967]],[[120537,120537],\"mapped\",[968]],[[120538,120538],\"mapped\",[969]],[[120539,120539],\"mapped\",[8706]],[[120540,120540],\"mapped\",[949]],[[120541,120541],\"mapped\",[952]],[[120542,120542],\"mapped\",[954]],[[120543,120543],\"mapped\",[966]],[[120544,120544],\"mapped\",[961]],[[120545,120545],\"mapped\",[960]],[[120546,120546],\"mapped\",[945]],[[120547,120547],\"mapped\",[946]],[[120548,120548],\"mapped\",[947]],[[120549,120549],\"mapped\",[948]],[[120550,120550],\"mapped\",[949]],[[120551,120551],\"mapped\",[950]],[[120552,120552],\"mapped\",[951]],[[120553,120553],\"mapped\",[952]],[[120554,120554],\"mapped\",[953]],[[120555,120555],\"mapped\",[954]],[[120556,120556],\"mapped\",[955]],[[120557,120557],\"mapped\",[956]],[[120558,120558],\"mapped\",[957]],[[120559,120559],\"mapped\",[958]],[[120560,120560],\"mapped\",[959]],[[120561,120561],\"mapped\",[960]],[[120562,120562],\"mapped\",[961]],[[120563,120563],\"mapped\",[952]],[[120564,120564],\"mapped\",[963]],[[120565,120565],\"mapped\",[964]],[[120566,120566],\"mapped\",[965]],[[120567,120567],\"mapped\",[966]],[[120568,120568],\"mapped\",[967]],[[120569,120569],\"mapped\",[968]],[[120570,120570],\"mapped\",[969]],[[120571,120571],\"mapped\",[8711]],[[120572,120572],\"mapped\",[945]],[[120573,120573],\"mapped\",[946]],[[120574,120574],\"mapped\",[947]],[[120575,120575],\"mapped\",[948]],[[120576,120576],\"mapped\",[949]],[[120577,120577],\"mapped\",[950]],[[120578,120578],\"mapped\",[951]],[[120579,120579],\"mapped\",[952]],[[120580,120580],\"mapped\",[953]],[[120581,120581],\"mapped\",[954]],[[120582,120582],\"mapped\",[955]],[[120583,120583],\"mapped\",[956]],[[120584,120584],\"mapped\",[957]],[[120585,120585],\"mapped\",[958]],[[120586,120586],\"mapped\",[959]],[[120587,120587],\"mapped\",[960]],[[120588,120588],\"mapped\",[961]],[[120589,120590],\"mapped\",[963]],[[120591,120591],\"mapped\",[964]],[[120592,120592],\"mapped\",[965]],[[120593,120593],\"mapped\",[966]],[[120594,120594],\"mapped\",[967]],[[120595,120595],\"mapped\",[968]],[[120596,120596],\"mapped\",[969]],[[120597,120597],\"mapped\",[8706]],[[120598,120598],\"mapped\",[949]],[[120599,120599],\"mapped\",[952]],[[120600,120600],\"mapped\",[954]],[[120601,120601],\"mapped\",[966]],[[120602,120602],\"mapped\",[961]],[[120603,120603],\"mapped\",[960]],[[120604,120604],\"mapped\",[945]],[[120605,120605],\"mapped\",[946]],[[120606,120606],\"mapped\",[947]],[[120607,120607],\"mapped\",[948]],[[120608,120608],\"mapped\",[949]],[[120609,120609],\"mapped\",[950]],[[120610,120610],\"mapped\",[951]],[[120611,120611],\"mapped\",[952]],[[120612,120612],\"mapped\",[953]],[[120613,120613],\"mapped\",[954]],[[120614,120614],\"mapped\",[955]],[[120615,120615],\"mapped\",[956]],[[120616,120616],\"mapped\",[957]],[[120617,120617],\"mapped\",[958]],[[120618,120618],\"mapped\",[959]],[[120619,120619],\"mapped\",[960]],[[120620,120620],\"mapped\",[961]],[[120621,120621],\"mapped\",[952]],[[120622,120622],\"mapped\",[963]],[[120623,120623],\"mapped\",[964]],[[120624,120624],\"mapped\",[965]],[[120625,120625],\"mapped\",[966]],[[120626,120626],\"mapped\",[967]],[[120627,120627],\"mapped\",[968]],[[120628,120628],\"mapped\",[969]],[[120629,120629],\"mapped\",[8711]],[[120630,120630],\"mapped\",[945]],[[120631,120631],\"mapped\",[946]],[[120632,120632],\"mapped\",[947]],[[120633,120633],\"mapped\",[948]],[[120634,120634],\"mapped\",[949]],[[120635,120635],\"mapped\",[950]],[[120636,120636],\"mapped\",[951]],[[120637,120637],\"mapped\",[952]],[[120638,120638],\"mapped\",[953]],[[120639,120639],\"mapped\",[954]],[[120640,120640],\"mapped\",[955]],[[120641,120641],\"mapped\",[956]],[[120642,120642],\"mapped\",[957]],[[120643,120643],\"mapped\",[958]],[[120644,120644],\"mapped\",[959]],[[120645,120645],\"mapped\",[960]],[[120646,120646],\"mapped\",[961]],[[120647,120648],\"mapped\",[963]],[[120649,120649],\"mapped\",[964]],[[120650,120650],\"mapped\",[965]],[[120651,120651],\"mapped\",[966]],[[120652,120652],\"mapped\",[967]],[[120653,120653],\"mapped\",[968]],[[120654,120654],\"mapped\",[969]],[[120655,120655],\"mapped\",[8706]],[[120656,120656],\"mapped\",[949]],[[120657,120657],\"mapped\",[952]],[[120658,120658],\"mapped\",[954]],[[120659,120659],\"mapped\",[966]],[[120660,120660],\"mapped\",[961]],[[120661,120661],\"mapped\",[960]],[[120662,120662],\"mapped\",[945]],[[120663,120663],\"mapped\",[946]],[[120664,120664],\"mapped\",[947]],[[120665,120665],\"mapped\",[948]],[[120666,120666],\"mapped\",[949]],[[120667,120667],\"mapped\",[950]],[[120668,120668],\"mapped\",[951]],[[120669,120669],\"mapped\",[952]],[[120670,120670],\"mapped\",[953]],[[120671,120671],\"mapped\",[954]],[[120672,120672],\"mapped\",[955]],[[120673,120673],\"mapped\",[956]],[[120674,120674],\"mapped\",[957]],[[120675,120675],\"mapped\",[958]],[[120676,120676],\"mapped\",[959]],[[120677,120677],\"mapped\",[960]],[[120678,120678],\"mapped\",[961]],[[120679,120679],\"mapped\",[952]],[[120680,120680],\"mapped\",[963]],[[120681,120681],\"mapped\",[964]],[[120682,120682],\"mapped\",[965]],[[120683,120683],\"mapped\",[966]],[[120684,120684],\"mapped\",[967]],[[120685,120685],\"mapped\",[968]],[[120686,120686],\"mapped\",[969]],[[120687,120687],\"mapped\",[8711]],[[120688,120688],\"mapped\",[945]],[[120689,120689],\"mapped\",[946]],[[120690,120690],\"mapped\",[947]],[[120691,120691],\"mapped\",[948]],[[120692,120692],\"mapped\",[949]],[[120693,120693],\"mapped\",[950]],[[120694,120694],\"mapped\",[951]],[[120695,120695],\"mapped\",[952]],[[120696,120696],\"mapped\",[953]],[[120697,120697],\"mapped\",[954]],[[120698,120698],\"mapped\",[955]],[[120699,120699],\"mapped\",[956]],[[120700,120700],\"mapped\",[957]],[[120701,120701],\"mapped\",[958]],[[120702,120702],\"mapped\",[959]],[[120703,120703],\"mapped\",[960]],[[120704,120704],\"mapped\",[961]],[[120705,120706],\"mapped\",[963]],[[120707,120707],\"mapped\",[964]],[[120708,120708],\"mapped\",[965]],[[120709,120709],\"mapped\",[966]],[[120710,120710],\"mapped\",[967]],[[120711,120711],\"mapped\",[968]],[[120712,120712],\"mapped\",[969]],[[120713,120713],\"mapped\",[8706]],[[120714,120714],\"mapped\",[949]],[[120715,120715],\"mapped\",[952]],[[120716,120716],\"mapped\",[954]],[[120717,120717],\"mapped\",[966]],[[120718,120718],\"mapped\",[961]],[[120719,120719],\"mapped\",[960]],[[120720,120720],\"mapped\",[945]],[[120721,120721],\"mapped\",[946]],[[120722,120722],\"mapped\",[947]],[[120723,120723],\"mapped\",[948]],[[120724,120724],\"mapped\",[949]],[[120725,120725],\"mapped\",[950]],[[120726,120726],\"mapped\",[951]],[[120727,120727],\"mapped\",[952]],[[120728,120728],\"mapped\",[953]],[[120729,120729],\"mapped\",[954]],[[120730,120730],\"mapped\",[955]],[[120731,120731],\"mapped\",[956]],[[120732,120732],\"mapped\",[957]],[[120733,120733],\"mapped\",[958]],[[120734,120734],\"mapped\",[959]],[[120735,120735],\"mapped\",[960]],[[120736,120736],\"mapped\",[961]],[[120737,120737],\"mapped\",[952]],[[120738,120738],\"mapped\",[963]],[[120739,120739],\"mapped\",[964]],[[120740,120740],\"mapped\",[965]],[[120741,120741],\"mapped\",[966]],[[120742,120742],\"mapped\",[967]],[[120743,120743],\"mapped\",[968]],[[120744,120744],\"mapped\",[969]],[[120745,120745],\"mapped\",[8711]],[[120746,120746],\"mapped\",[945]],[[120747,120747],\"mapped\",[946]],[[120748,120748],\"mapped\",[947]],[[120749,120749],\"mapped\",[948]],[[120750,120750],\"mapped\",[949]],[[120751,120751],\"mapped\",[950]],[[120752,120752],\"mapped\",[951]],[[120753,120753],\"mapped\",[952]],[[120754,120754],\"mapped\",[953]],[[120755,120755],\"mapped\",[954]],[[120756,120756],\"mapped\",[955]],[[120757,120757],\"mapped\",[956]],[[120758,120758],\"mapped\",[957]],[[120759,120759],\"mapped\",[958]],[[120760,120760],\"mapped\",[959]],[[120761,120761],\"mapped\",[960]],[[120762,120762],\"mapped\",[961]],[[120763,120764],\"mapped\",[963]],[[120765,120765],\"mapped\",[964]],[[120766,120766],\"mapped\",[965]],[[120767,120767],\"mapped\",[966]],[[120768,120768],\"mapped\",[967]],[[120769,120769],\"mapped\",[968]],[[120770,120770],\"mapped\",[969]],[[120771,120771],\"mapped\",[8706]],[[120772,120772],\"mapped\",[949]],[[120773,120773],\"mapped\",[952]],[[120774,120774],\"mapped\",[954]],[[120775,120775],\"mapped\",[966]],[[120776,120776],\"mapped\",[961]],[[120777,120777],\"mapped\",[960]],[[120778,120779],\"mapped\",[989]],[[120780,120781],\"disallowed\"],[[120782,120782],\"mapped\",[48]],[[120783,120783],\"mapped\",[49]],[[120784,120784],\"mapped\",[50]],[[120785,120785],\"mapped\",[51]],[[120786,120786],\"mapped\",[52]],[[120787,120787],\"mapped\",[53]],[[120788,120788],\"mapped\",[54]],[[120789,120789],\"mapped\",[55]],[[120790,120790],\"mapped\",[56]],[[120791,120791],\"mapped\",[57]],[[120792,120792],\"mapped\",[48]],[[120793,120793],\"mapped\",[49]],[[120794,120794],\"mapped\",[50]],[[120795,120795],\"mapped\",[51]],[[120796,120796],\"mapped\",[52]],[[120797,120797],\"mapped\",[53]],[[120798,120798],\"mapped\",[54]],[[120799,120799],\"mapped\",[55]],[[120800,120800],\"mapped\",[56]],[[120801,120801],\"mapped\",[57]],[[120802,120802],\"mapped\",[48]],[[120803,120803],\"mapped\",[49]],[[120804,120804],\"mapped\",[50]],[[120805,120805],\"mapped\",[51]],[[120806,120806],\"mapped\",[52]],[[120807,120807],\"mapped\",[53]],[[120808,120808],\"mapped\",[54]],[[120809,120809],\"mapped\",[55]],[[120810,120810],\"mapped\",[56]],[[120811,120811],\"mapped\",[57]],[[120812,120812],\"mapped\",[48]],[[120813,120813],\"mapped\",[49]],[[120814,120814],\"mapped\",[50]],[[120815,120815],\"mapped\",[51]],[[120816,120816],\"mapped\",[52]],[[120817,120817],\"mapped\",[53]],[[120818,120818],\"mapped\",[54]],[[120819,120819],\"mapped\",[55]],[[120820,120820],\"mapped\",[56]],[[120821,120821],\"mapped\",[57]],[[120822,120822],\"mapped\",[48]],[[120823,120823],\"mapped\",[49]],[[120824,120824],\"mapped\",[50]],[[120825,120825],\"mapped\",[51]],[[120826,120826],\"mapped\",[52]],[[120827,120827],\"mapped\",[53]],[[120828,120828],\"mapped\",[54]],[[120829,120829],\"mapped\",[55]],[[120830,120830],\"mapped\",[56]],[[120831,120831],\"mapped\",[57]],[[120832,121343],\"valid\",[],\"NV8\"],[[121344,121398],\"valid\"],[[121399,121402],\"valid\",[],\"NV8\"],[[121403,121452],\"valid\"],[[121453,121460],\"valid\",[],\"NV8\"],[[121461,121461],\"valid\"],[[121462,121475],\"valid\",[],\"NV8\"],[[121476,121476],\"valid\"],[[121477,121483],\"valid\",[],\"NV8\"],[[121484,121498],\"disallowed\"],[[121499,121503],\"valid\"],[[121504,121504],\"disallowed\"],[[121505,121519],\"valid\"],[[121520,124927],\"disallowed\"],[[124928,125124],\"valid\"],[[125125,125126],\"disallowed\"],[[125127,125135],\"valid\",[],\"NV8\"],[[125136,125142],\"valid\"],[[125143,126463],\"disallowed\"],[[126464,126464],\"mapped\",[1575]],[[126465,126465],\"mapped\",[1576]],[[126466,126466],\"mapped\",[1580]],[[126467,126467],\"mapped\",[1583]],[[126468,126468],\"disallowed\"],[[126469,126469],\"mapped\",[1608]],[[126470,126470],\"mapped\",[1586]],[[126471,126471],\"mapped\",[1581]],[[126472,126472],\"mapped\",[1591]],[[126473,126473],\"mapped\",[1610]],[[126474,126474],\"mapped\",[1603]],[[126475,126475],\"mapped\",[1604]],[[126476,126476],\"mapped\",[1605]],[[126477,126477],\"mapped\",[1606]],[[126478,126478],\"mapped\",[1587]],[[126479,126479],\"mapped\",[1593]],[[126480,126480],\"mapped\",[1601]],[[126481,126481],\"mapped\",[1589]],[[126482,126482],\"mapped\",[1602]],[[126483,126483],\"mapped\",[1585]],[[126484,126484],\"mapped\",[1588]],[[126485,126485],\"mapped\",[1578]],[[126486,126486],\"mapped\",[1579]],[[126487,126487],\"mapped\",[1582]],[[126488,126488],\"mapped\",[1584]],[[126489,126489],\"mapped\",[1590]],[[126490,126490],\"mapped\",[1592]],[[126491,126491],\"mapped\",[1594]],[[126492,126492],\"mapped\",[1646]],[[126493,126493],\"mapped\",[1722]],[[126494,126494],\"mapped\",[1697]],[[126495,126495],\"mapped\",[1647]],[[126496,126496],\"disallowed\"],[[126497,126497],\"mapped\",[1576]],[[126498,126498],\"mapped\",[1580]],[[126499,126499],\"disallowed\"],[[126500,126500],\"mapped\",[1607]],[[126501,126502],\"disallowed\"],[[126503,126503],\"mapped\",[1581]],[[126504,126504],\"disallowed\"],[[126505,126505],\"mapped\",[1610]],[[126506,126506],\"mapped\",[1603]],[[126507,126507],\"mapped\",[1604]],[[126508,126508],\"mapped\",[1605]],[[126509,126509],\"mapped\",[1606]],[[126510,126510],\"mapped\",[1587]],[[126511,126511],\"mapped\",[1593]],[[126512,126512],\"mapped\",[1601]],[[126513,126513],\"mapped\",[1589]],[[126514,126514],\"mapped\",[1602]],[[126515,126515],\"disallowed\"],[[126516,126516],\"mapped\",[1588]],[[126517,126517],\"mapped\",[1578]],[[126518,126518],\"mapped\",[1579]],[[126519,126519],\"mapped\",[1582]],[[126520,126520],\"disallowed\"],[[126521,126521],\"mapped\",[1590]],[[126522,126522],\"disallowed\"],[[126523,126523],\"mapped\",[1594]],[[126524,126529],\"disallowed\"],[[126530,126530],\"mapped\",[1580]],[[126531,126534],\"disallowed\"],[[126535,126535],\"mapped\",[1581]],[[126536,126536],\"disallowed\"],[[126537,126537],\"mapped\",[1610]],[[126538,126538],\"disallowed\"],[[126539,126539],\"mapped\",[1604]],[[126540,126540],\"disallowed\"],[[126541,126541],\"mapped\",[1606]],[[126542,126542],\"mapped\",[1587]],[[126543,126543],\"mapped\",[1593]],[[126544,126544],\"disallowed\"],[[126545,126545],\"mapped\",[1589]],[[126546,126546],\"mapped\",[1602]],[[126547,126547],\"disallowed\"],[[126548,126548],\"mapped\",[1588]],[[126549,126550],\"disallowed\"],[[126551,126551],\"mapped\",[1582]],[[126552,126552],\"disallowed\"],[[126553,126553],\"mapped\",[1590]],[[126554,126554],\"disallowed\"],[[126555,126555],\"mapped\",[1594]],[[126556,126556],\"disallowed\"],[[126557,126557],\"mapped\",[1722]],[[126558,126558],\"disallowed\"],[[126559,126559],\"mapped\",[1647]],[[126560,126560],\"disallowed\"],[[126561,126561],\"mapped\",[1576]],[[126562,126562],\"mapped\",[1580]],[[126563,126563],\"disallowed\"],[[126564,126564],\"mapped\",[1607]],[[126565,126566],\"disallowed\"],[[126567,126567],\"mapped\",[1581]],[[126568,126568],\"mapped\",[1591]],[[126569,126569],\"mapped\",[1610]],[[126570,126570],\"mapped\",[1603]],[[126571,126571],\"disallowed\"],[[126572,126572],\"mapped\",[1605]],[[126573,126573],\"mapped\",[1606]],[[126574,126574],\"mapped\",[1587]],[[126575,126575],\"mapped\",[1593]],[[126576,126576],\"mapped\",[1601]],[[126577,126577],\"mapped\",[1589]],[[126578,126578],\"mapped\",[1602]],[[126579,126579],\"disallowed\"],[[126580,126580],\"mapped\",[1588]],[[126581,126581],\"mapped\",[1578]],[[126582,126582],\"mapped\",[1579]],[[126583,126583],\"mapped\",[1582]],[[126584,126584],\"disallowed\"],[[126585,126585],\"mapped\",[1590]],[[126586,126586],\"mapped\",[1592]],[[126587,126587],\"mapped\",[1594]],[[126588,126588],\"mapped\",[1646]],[[126589,126589],\"disallowed\"],[[126590,126590],\"mapped\",[1697]],[[126591,126591],\"disallowed\"],[[126592,126592],\"mapped\",[1575]],[[126593,126593],\"mapped\",[1576]],[[126594,126594],\"mapped\",[1580]],[[126595,126595],\"mapped\",[1583]],[[126596,126596],\"mapped\",[1607]],[[126597,126597],\"mapped\",[1608]],[[126598,126598],\"mapped\",[1586]],[[126599,126599],\"mapped\",[1581]],[[126600,126600],\"mapped\",[1591]],[[126601,126601],\"mapped\",[1610]],[[126602,126602],\"disallowed\"],[[126603,126603],\"mapped\",[1604]],[[126604,126604],\"mapped\",[1605]],[[126605,126605],\"mapped\",[1606]],[[126606,126606],\"mapped\",[1587]],[[126607,126607],\"mapped\",[1593]],[[126608,126608],\"mapped\",[1601]],[[126609,126609],\"mapped\",[1589]],[[126610,126610],\"mapped\",[1602]],[[126611,126611],\"mapped\",[1585]],[[126612,126612],\"mapped\",[1588]],[[126613,126613],\"mapped\",[1578]],[[126614,126614],\"mapped\",[1579]],[[126615,126615],\"mapped\",[1582]],[[126616,126616],\"mapped\",[1584]],[[126617,126617],\"mapped\",[1590]],[[126618,126618],\"mapped\",[1592]],[[126619,126619],\"mapped\",[1594]],[[126620,126624],\"disallowed\"],[[126625,126625],\"mapped\",[1576]],[[126626,126626],\"mapped\",[1580]],[[126627,126627],\"mapped\",[1583]],[[126628,126628],\"disallowed\"],[[126629,126629],\"mapped\",[1608]],[[126630,126630],\"mapped\",[1586]],[[126631,126631],\"mapped\",[1581]],[[126632,126632],\"mapped\",[1591]],[[126633,126633],\"mapped\",[1610]],[[126634,126634],\"disallowed\"],[[126635,126635],\"mapped\",[1604]],[[126636,126636],\"mapped\",[1605]],[[126637,126637],\"mapped\",[1606]],[[126638,126638],\"mapped\",[1587]],[[126639,126639],\"mapped\",[1593]],[[126640,126640],\"mapped\",[1601]],[[126641,126641],\"mapped\",[1589]],[[126642,126642],\"mapped\",[1602]],[[126643,126643],\"mapped\",[1585]],[[126644,126644],\"mapped\",[1588]],[[126645,126645],\"mapped\",[1578]],[[126646,126646],\"mapped\",[1579]],[[126647,126647],\"mapped\",[1582]],[[126648,126648],\"mapped\",[1584]],[[126649,126649],\"mapped\",[1590]],[[126650,126650],\"mapped\",[1592]],[[126651,126651],\"mapped\",[1594]],[[126652,126703],\"disallowed\"],[[126704,126705],\"valid\",[],\"NV8\"],[[126706,126975],\"disallowed\"],[[126976,127019],\"valid\",[],\"NV8\"],[[127020,127023],\"disallowed\"],[[127024,127123],\"valid\",[],\"NV8\"],[[127124,127135],\"disallowed\"],[[127136,127150],\"valid\",[],\"NV8\"],[[127151,127152],\"disallowed\"],[[127153,127166],\"valid\",[],\"NV8\"],[[127167,127167],\"valid\",[],\"NV8\"],[[127168,127168],\"disallowed\"],[[127169,127183],\"valid\",[],\"NV8\"],[[127184,127184],\"disallowed\"],[[127185,127199],\"valid\",[],\"NV8\"],[[127200,127221],\"valid\",[],\"NV8\"],[[127222,127231],\"disallowed\"],[[127232,127232],\"disallowed\"],[[127233,127233],\"disallowed_STD3_mapped\",[48,44]],[[127234,127234],\"disallowed_STD3_mapped\",[49,44]],[[127235,127235],\"disallowed_STD3_mapped\",[50,44]],[[127236,127236],\"disallowed_STD3_mapped\",[51,44]],[[127237,127237],\"disallowed_STD3_mapped\",[52,44]],[[127238,127238],\"disallowed_STD3_mapped\",[53,44]],[[127239,127239],\"disallowed_STD3_mapped\",[54,44]],[[127240,127240],\"disallowed_STD3_mapped\",[55,44]],[[127241,127241],\"disallowed_STD3_mapped\",[56,44]],[[127242,127242],\"disallowed_STD3_mapped\",[57,44]],[[127243,127244],\"valid\",[],\"NV8\"],[[127245,127247],\"disallowed\"],[[127248,127248],\"disallowed_STD3_mapped\",[40,97,41]],[[127249,127249],\"disallowed_STD3_mapped\",[40,98,41]],[[127250,127250],\"disallowed_STD3_mapped\",[40,99,41]],[[127251,127251],\"disallowed_STD3_mapped\",[40,100,41]],[[127252,127252],\"disallowed_STD3_mapped\",[40,101,41]],[[127253,127253],\"disallowed_STD3_mapped\",[40,102,41]],[[127254,127254],\"disallowed_STD3_mapped\",[40,103,41]],[[127255,127255],\"disallowed_STD3_mapped\",[40,104,41]],[[127256,127256],\"disallowed_STD3_mapped\",[40,105,41]],[[127257,127257],\"disallowed_STD3_mapped\",[40,106,41]],[[127258,127258],\"disallowed_STD3_mapped\",[40,107,41]],[[127259,127259],\"disallowed_STD3_mapped\",[40,108,41]],[[127260,127260],\"disallowed_STD3_mapped\",[40,109,41]],[[127261,127261],\"disallowed_STD3_mapped\",[40,110,41]],[[127262,127262],\"disallowed_STD3_mapped\",[40,111,41]],[[127263,127263],\"disallowed_STD3_mapped\",[40,112,41]],[[127264,127264],\"disallowed_STD3_mapped\",[40,113,41]],[[127265,127265],\"disallowed_STD3_mapped\",[40,114,41]],[[127266,127266],\"disallowed_STD3_mapped\",[40,115,41]],[[127267,127267],\"disallowed_STD3_mapped\",[40,116,41]],[[127268,127268],\"disallowed_STD3_mapped\",[40,117,41]],[[127269,127269],\"disallowed_STD3_mapped\",[40,118,41]],[[127270,127270],\"disallowed_STD3_mapped\",[40,119,41]],[[127271,127271],\"disallowed_STD3_mapped\",[40,120,41]],[[127272,127272],\"disallowed_STD3_mapped\",[40,121,41]],[[127273,127273],\"disallowed_STD3_mapped\",[40,122,41]],[[127274,127274],\"mapped\",[12308,115,12309]],[[127275,127275],\"mapped\",[99]],[[127276,127276],\"mapped\",[114]],[[127277,127277],\"mapped\",[99,100]],[[127278,127278],\"mapped\",[119,122]],[[127279,127279],\"disallowed\"],[[127280,127280],\"mapped\",[97]],[[127281,127281],\"mapped\",[98]],[[127282,127282],\"mapped\",[99]],[[127283,127283],\"mapped\",[100]],[[127284,127284],\"mapped\",[101]],[[127285,127285],\"mapped\",[102]],[[127286,127286],\"mapped\",[103]],[[127287,127287],\"mapped\",[104]],[[127288,127288],\"mapped\",[105]],[[127289,127289],\"mapped\",[106]],[[127290,127290],\"mapped\",[107]],[[127291,127291],\"mapped\",[108]],[[127292,127292],\"mapped\",[109]],[[127293,127293],\"mapped\",[110]],[[127294,127294],\"mapped\",[111]],[[127295,127295],\"mapped\",[112]],[[127296,127296],\"mapped\",[113]],[[127297,127297],\"mapped\",[114]],[[127298,127298],\"mapped\",[115]],[[127299,127299],\"mapped\",[116]],[[127300,127300],\"mapped\",[117]],[[127301,127301],\"mapped\",[118]],[[127302,127302],\"mapped\",[119]],[[127303,127303],\"mapped\",[120]],[[127304,127304],\"mapped\",[121]],[[127305,127305],\"mapped\",[122]],[[127306,127306],\"mapped\",[104,118]],[[127307,127307],\"mapped\",[109,118]],[[127308,127308],\"mapped\",[115,100]],[[127309,127309],\"mapped\",[115,115]],[[127310,127310],\"mapped\",[112,112,118]],[[127311,127311],\"mapped\",[119,99]],[[127312,127318],\"valid\",[],\"NV8\"],[[127319,127319],\"valid\",[],\"NV8\"],[[127320,127326],\"valid\",[],\"NV8\"],[[127327,127327],\"valid\",[],\"NV8\"],[[127328,127337],\"valid\",[],\"NV8\"],[[127338,127338],\"mapped\",[109,99]],[[127339,127339],\"mapped\",[109,100]],[[127340,127343],\"disallowed\"],[[127344,127352],\"valid\",[],\"NV8\"],[[127353,127353],\"valid\",[],\"NV8\"],[[127354,127354],\"valid\",[],\"NV8\"],[[127355,127356],\"valid\",[],\"NV8\"],[[127357,127358],\"valid\",[],\"NV8\"],[[127359,127359],\"valid\",[],\"NV8\"],[[127360,127369],\"valid\",[],\"NV8\"],[[127370,127373],\"valid\",[],\"NV8\"],[[127374,127375],\"valid\",[],\"NV8\"],[[127376,127376],\"mapped\",[100,106]],[[127377,127386],\"valid\",[],\"NV8\"],[[127387,127461],\"disallowed\"],[[127462,127487],\"valid\",[],\"NV8\"],[[127488,127488],\"mapped\",[12411,12363]],[[127489,127489],\"mapped\",[12467,12467]],[[127490,127490],\"mapped\",[12469]],[[127491,127503],\"disallowed\"],[[127504,127504],\"mapped\",[25163]],[[127505,127505],\"mapped\",[23383]],[[127506,127506],\"mapped\",[21452]],[[127507,127507],\"mapped\",[12487]],[[127508,127508],\"mapped\",[20108]],[[127509,127509],\"mapped\",[22810]],[[127510,127510],\"mapped\",[35299]],[[127511,127511],\"mapped\",[22825]],[[127512,127512],\"mapped\",[20132]],[[127513,127513],\"mapped\",[26144]],[[127514,127514],\"mapped\",[28961]],[[127515,127515],\"mapped\",[26009]],[[127516,127516],\"mapped\",[21069]],[[127517,127517],\"mapped\",[24460]],[[127518,127518],\"mapped\",[20877]],[[127519,127519],\"mapped\",[26032]],[[127520,127520],\"mapped\",[21021]],[[127521,127521],\"mapped\",[32066]],[[127522,127522],\"mapped\",[29983]],[[127523,127523],\"mapped\",[36009]],[[127524,127524],\"mapped\",[22768]],[[127525,127525],\"mapped\",[21561]],[[127526,127526],\"mapped\",[28436]],[[127527,127527],\"mapped\",[25237]],[[127528,127528],\"mapped\",[25429]],[[127529,127529],\"mapped\",[19968]],[[127530,127530],\"mapped\",[19977]],[[127531,127531],\"mapped\",[36938]],[[127532,127532],\"mapped\",[24038]],[[127533,127533],\"mapped\",[20013]],[[127534,127534],\"mapped\",[21491]],[[127535,127535],\"mapped\",[25351]],[[127536,127536],\"mapped\",[36208]],[[127537,127537],\"mapped\",[25171]],[[127538,127538],\"mapped\",[31105]],[[127539,127539],\"mapped\",[31354]],[[127540,127540],\"mapped\",[21512]],[[127541,127541],\"mapped\",[28288]],[[127542,127542],\"mapped\",[26377]],[[127543,127543],\"mapped\",[26376]],[[127544,127544],\"mapped\",[30003]],[[127545,127545],\"mapped\",[21106]],[[127546,127546],\"mapped\",[21942]],[[127547,127551],\"disallowed\"],[[127552,127552],\"mapped\",[12308,26412,12309]],[[127553,127553],\"mapped\",[12308,19977,12309]],[[127554,127554],\"mapped\",[12308,20108,12309]],[[127555,127555],\"mapped\",[12308,23433,12309]],[[127556,127556],\"mapped\",[12308,28857,12309]],[[127557,127557],\"mapped\",[12308,25171,12309]],[[127558,127558],\"mapped\",[12308,30423,12309]],[[127559,127559],\"mapped\",[12308,21213,12309]],[[127560,127560],\"mapped\",[12308,25943,12309]],[[127561,127567],\"disallowed\"],[[127568,127568],\"mapped\",[24471]],[[127569,127569],\"mapped\",[21487]],[[127570,127743],\"disallowed\"],[[127744,127776],\"valid\",[],\"NV8\"],[[127777,127788],\"valid\",[],\"NV8\"],[[127789,127791],\"valid\",[],\"NV8\"],[[127792,127797],\"valid\",[],\"NV8\"],[[127798,127798],\"valid\",[],\"NV8\"],[[127799,127868],\"valid\",[],\"NV8\"],[[127869,127869],\"valid\",[],\"NV8\"],[[127870,127871],\"valid\",[],\"NV8\"],[[127872,127891],\"valid\",[],\"NV8\"],[[127892,127903],\"valid\",[],\"NV8\"],[[127904,127940],\"valid\",[],\"NV8\"],[[127941,127941],\"valid\",[],\"NV8\"],[[127942,127946],\"valid\",[],\"NV8\"],[[127947,127950],\"valid\",[],\"NV8\"],[[127951,127955],\"valid\",[],\"NV8\"],[[127956,127967],\"valid\",[],\"NV8\"],[[127968,127984],\"valid\",[],\"NV8\"],[[127985,127991],\"valid\",[],\"NV8\"],[[127992,127999],\"valid\",[],\"NV8\"],[[128000,128062],\"valid\",[],\"NV8\"],[[128063,128063],\"valid\",[],\"NV8\"],[[128064,128064],\"valid\",[],\"NV8\"],[[128065,128065],\"valid\",[],\"NV8\"],[[128066,128247],\"valid\",[],\"NV8\"],[[128248,128248],\"valid\",[],\"NV8\"],[[128249,128252],\"valid\",[],\"NV8\"],[[128253,128254],\"valid\",[],\"NV8\"],[[128255,128255],\"valid\",[],\"NV8\"],[[128256,128317],\"valid\",[],\"NV8\"],[[128318,128319],\"valid\",[],\"NV8\"],[[128320,128323],\"valid\",[],\"NV8\"],[[128324,128330],\"valid\",[],\"NV8\"],[[128331,128335],\"valid\",[],\"NV8\"],[[128336,128359],\"valid\",[],\"NV8\"],[[128360,128377],\"valid\",[],\"NV8\"],[[128378,128378],\"disallowed\"],[[128379,128419],\"valid\",[],\"NV8\"],[[128420,128420],\"disallowed\"],[[128421,128506],\"valid\",[],\"NV8\"],[[128507,128511],\"valid\",[],\"NV8\"],[[128512,128512],\"valid\",[],\"NV8\"],[[128513,128528],\"valid\",[],\"NV8\"],[[128529,128529],\"valid\",[],\"NV8\"],[[128530,128532],\"valid\",[],\"NV8\"],[[128533,128533],\"valid\",[],\"NV8\"],[[128534,128534],\"valid\",[],\"NV8\"],[[128535,128535],\"valid\",[],\"NV8\"],[[128536,128536],\"valid\",[],\"NV8\"],[[128537,128537],\"valid\",[],\"NV8\"],[[128538,128538],\"valid\",[],\"NV8\"],[[128539,128539],\"valid\",[],\"NV8\"],[[128540,128542],\"valid\",[],\"NV8\"],[[128543,128543],\"valid\",[],\"NV8\"],[[128544,128549],\"valid\",[],\"NV8\"],[[128550,128551],\"valid\",[],\"NV8\"],[[128552,128555],\"valid\",[],\"NV8\"],[[128556,128556],\"valid\",[],\"NV8\"],[[128557,128557],\"valid\",[],\"NV8\"],[[128558,128559],\"valid\",[],\"NV8\"],[[128560,128563],\"valid\",[],\"NV8\"],[[128564,128564],\"valid\",[],\"NV8\"],[[128565,128576],\"valid\",[],\"NV8\"],[[128577,128578],\"valid\",[],\"NV8\"],[[128579,128580],\"valid\",[],\"NV8\"],[[128581,128591],\"valid\",[],\"NV8\"],[[128592,128639],\"valid\",[],\"NV8\"],[[128640,128709],\"valid\",[],\"NV8\"],[[128710,128719],\"valid\",[],\"NV8\"],[[128720,128720],\"valid\",[],\"NV8\"],[[128721,128735],\"disallowed\"],[[128736,128748],\"valid\",[],\"NV8\"],[[128749,128751],\"disallowed\"],[[128752,128755],\"valid\",[],\"NV8\"],[[128756,128767],\"disallowed\"],[[128768,128883],\"valid\",[],\"NV8\"],[[128884,128895],\"disallowed\"],[[128896,128980],\"valid\",[],\"NV8\"],[[128981,129023],\"disallowed\"],[[129024,129035],\"valid\",[],\"NV8\"],[[129036,129039],\"disallowed\"],[[129040,129095],\"valid\",[],\"NV8\"],[[129096,129103],\"disallowed\"],[[129104,129113],\"valid\",[],\"NV8\"],[[129114,129119],\"disallowed\"],[[129120,129159],\"valid\",[],\"NV8\"],[[129160,129167],\"disallowed\"],[[129168,129197],\"valid\",[],\"NV8\"],[[129198,129295],\"disallowed\"],[[129296,129304],\"valid\",[],\"NV8\"],[[129305,129407],\"disallowed\"],[[129408,129412],\"valid\",[],\"NV8\"],[[129413,129471],\"disallowed\"],[[129472,129472],\"valid\",[],\"NV8\"],[[129473,131069],\"disallowed\"],[[131070,131071],\"disallowed\"],[[131072,173782],\"valid\"],[[173783,173823],\"disallowed\"],[[173824,177972],\"valid\"],[[177973,177983],\"disallowed\"],[[177984,178205],\"valid\"],[[178206,178207],\"disallowed\"],[[178208,183969],\"valid\"],[[183970,194559],\"disallowed\"],[[194560,194560],\"mapped\",[20029]],[[194561,194561],\"mapped\",[20024]],[[194562,194562],\"mapped\",[20033]],[[194563,194563],\"mapped\",[131362]],[[194564,194564],\"mapped\",[20320]],[[194565,194565],\"mapped\",[20398]],[[194566,194566],\"mapped\",[20411]],[[194567,194567],\"mapped\",[20482]],[[194568,194568],\"mapped\",[20602]],[[194569,194569],\"mapped\",[20633]],[[194570,194570],\"mapped\",[20711]],[[194571,194571],\"mapped\",[20687]],[[194572,194572],\"mapped\",[13470]],[[194573,194573],\"mapped\",[132666]],[[194574,194574],\"mapped\",[20813]],[[194575,194575],\"mapped\",[20820]],[[194576,194576],\"mapped\",[20836]],[[194577,194577],\"mapped\",[20855]],[[194578,194578],\"mapped\",[132380]],[[194579,194579],\"mapped\",[13497]],[[194580,194580],\"mapped\",[20839]],[[194581,194581],\"mapped\",[20877]],[[194582,194582],\"mapped\",[132427]],[[194583,194583],\"mapped\",[20887]],[[194584,194584],\"mapped\",[20900]],[[194585,194585],\"mapped\",[20172]],[[194586,194586],\"mapped\",[20908]],[[194587,194587],\"mapped\",[20917]],[[194588,194588],\"mapped\",[168415]],[[194589,194589],\"mapped\",[20981]],[[194590,194590],\"mapped\",[20995]],[[194591,194591],\"mapped\",[13535]],[[194592,194592],\"mapped\",[21051]],[[194593,194593],\"mapped\",[21062]],[[194594,194594],\"mapped\",[21106]],[[194595,194595],\"mapped\",[21111]],[[194596,194596],\"mapped\",[13589]],[[194597,194597],\"mapped\",[21191]],[[194598,194598],\"mapped\",[21193]],[[194599,194599],\"mapped\",[21220]],[[194600,194600],\"mapped\",[21242]],[[194601,194601],\"mapped\",[21253]],[[194602,194602],\"mapped\",[21254]],[[194603,194603],\"mapped\",[21271]],[[194604,194604],\"mapped\",[21321]],[[194605,194605],\"mapped\",[21329]],[[194606,194606],\"mapped\",[21338]],[[194607,194607],\"mapped\",[21363]],[[194608,194608],\"mapped\",[21373]],[[194609,194611],\"mapped\",[21375]],[[194612,194612],\"mapped\",[133676]],[[194613,194613],\"mapped\",[28784]],[[194614,194614],\"mapped\",[21450]],[[194615,194615],\"mapped\",[21471]],[[194616,194616],\"mapped\",[133987]],[[194617,194617],\"mapped\",[21483]],[[194618,194618],\"mapped\",[21489]],[[194619,194619],\"mapped\",[21510]],[[194620,194620],\"mapped\",[21662]],[[194621,194621],\"mapped\",[21560]],[[194622,194622],\"mapped\",[21576]],[[194623,194623],\"mapped\",[21608]],[[194624,194624],\"mapped\",[21666]],[[194625,194625],\"mapped\",[21750]],[[194626,194626],\"mapped\",[21776]],[[194627,194627],\"mapped\",[21843]],[[194628,194628],\"mapped\",[21859]],[[194629,194630],\"mapped\",[21892]],[[194631,194631],\"mapped\",[21913]],[[194632,194632],\"mapped\",[21931]],[[194633,194633],\"mapped\",[21939]],[[194634,194634],\"mapped\",[21954]],[[194635,194635],\"mapped\",[22294]],[[194636,194636],\"mapped\",[22022]],[[194637,194637],\"mapped\",[22295]],[[194638,194638],\"mapped\",[22097]],[[194639,194639],\"mapped\",[22132]],[[194640,194640],\"mapped\",[20999]],[[194641,194641],\"mapped\",[22766]],[[194642,194642],\"mapped\",[22478]],[[194643,194643],\"mapped\",[22516]],[[194644,194644],\"mapped\",[22541]],[[194645,194645],\"mapped\",[22411]],[[194646,194646],\"mapped\",[22578]],[[194647,194647],\"mapped\",[22577]],[[194648,194648],\"mapped\",[22700]],[[194649,194649],\"mapped\",[136420]],[[194650,194650],\"mapped\",[22770]],[[194651,194651],\"mapped\",[22775]],[[194652,194652],\"mapped\",[22790]],[[194653,194653],\"mapped\",[22810]],[[194654,194654],\"mapped\",[22818]],[[194655,194655],\"mapped\",[22882]],[[194656,194656],\"mapped\",[136872]],[[194657,194657],\"mapped\",[136938]],[[194658,194658],\"mapped\",[23020]],[[194659,194659],\"mapped\",[23067]],[[194660,194660],\"mapped\",[23079]],[[194661,194661],\"mapped\",[23000]],[[194662,194662],\"mapped\",[23142]],[[194663,194663],\"mapped\",[14062]],[[194664,194664],\"disallowed\"],[[194665,194665],\"mapped\",[23304]],[[194666,194667],\"mapped\",[23358]],[[194668,194668],\"mapped\",[137672]],[[194669,194669],\"mapped\",[23491]],[[194670,194670],\"mapped\",[23512]],[[194671,194671],\"mapped\",[23527]],[[194672,194672],\"mapped\",[23539]],[[194673,194673],\"mapped\",[138008]],[[194674,194674],\"mapped\",[23551]],[[194675,194675],\"mapped\",[23558]],[[194676,194676],\"disallowed\"],[[194677,194677],\"mapped\",[23586]],[[194678,194678],\"mapped\",[14209]],[[194679,194679],\"mapped\",[23648]],[[194680,194680],\"mapped\",[23662]],[[194681,194681],\"mapped\",[23744]],[[194682,194682],\"mapped\",[23693]],[[194683,194683],\"mapped\",[138724]],[[194684,194684],\"mapped\",[23875]],[[194685,194685],\"mapped\",[138726]],[[194686,194686],\"mapped\",[23918]],[[194687,194687],\"mapped\",[23915]],[[194688,194688],\"mapped\",[23932]],[[194689,194689],\"mapped\",[24033]],[[194690,194690],\"mapped\",[24034]],[[194691,194691],\"mapped\",[14383]],[[194692,194692],\"mapped\",[24061]],[[194693,194693],\"mapped\",[24104]],[[194694,194694],\"mapped\",[24125]],[[194695,194695],\"mapped\",[24169]],[[194696,194696],\"mapped\",[14434]],[[194697,194697],\"mapped\",[139651]],[[194698,194698],\"mapped\",[14460]],[[194699,194699],\"mapped\",[24240]],[[194700,194700],\"mapped\",[24243]],[[194701,194701],\"mapped\",[24246]],[[194702,194702],\"mapped\",[24266]],[[194703,194703],\"mapped\",[172946]],[[194704,194704],\"mapped\",[24318]],[[194705,194706],\"mapped\",[140081]],[[194707,194707],\"mapped\",[33281]],[[194708,194709],\"mapped\",[24354]],[[194710,194710],\"mapped\",[14535]],[[194711,194711],\"mapped\",[144056]],[[194712,194712],\"mapped\",[156122]],[[194713,194713],\"mapped\",[24418]],[[194714,194714],\"mapped\",[24427]],[[194715,194715],\"mapped\",[14563]],[[194716,194716],\"mapped\",[24474]],[[194717,194717],\"mapped\",[24525]],[[194718,194718],\"mapped\",[24535]],[[194719,194719],\"mapped\",[24569]],[[194720,194720],\"mapped\",[24705]],[[194721,194721],\"mapped\",[14650]],[[194722,194722],\"mapped\",[14620]],[[194723,194723],\"mapped\",[24724]],[[194724,194724],\"mapped\",[141012]],[[194725,194725],\"mapped\",[24775]],[[194726,194726],\"mapped\",[24904]],[[194727,194727],\"mapped\",[24908]],[[194728,194728],\"mapped\",[24910]],[[194729,194729],\"mapped\",[24908]],[[194730,194730],\"mapped\",[24954]],[[194731,194731],\"mapped\",[24974]],[[194732,194732],\"mapped\",[25010]],[[194733,194733],\"mapped\",[24996]],[[194734,194734],\"mapped\",[25007]],[[194735,194735],\"mapped\",[25054]],[[194736,194736],\"mapped\",[25074]],[[194737,194737],\"mapped\",[25078]],[[194738,194738],\"mapped\",[25104]],[[194739,194739],\"mapped\",[25115]],[[194740,194740],\"mapped\",[25181]],[[194741,194741],\"mapped\",[25265]],[[194742,194742],\"mapped\",[25300]],[[194743,194743],\"mapped\",[25424]],[[194744,194744],\"mapped\",[142092]],[[194745,194745],\"mapped\",[25405]],[[194746,194746],\"mapped\",[25340]],[[194747,194747],\"mapped\",[25448]],[[194748,194748],\"mapped\",[25475]],[[194749,194749],\"mapped\",[25572]],[[194750,194750],\"mapped\",[142321]],[[194751,194751],\"mapped\",[25634]],[[194752,194752],\"mapped\",[25541]],[[194753,194753],\"mapped\",[25513]],[[194754,194754],\"mapped\",[14894]],[[194755,194755],\"mapped\",[25705]],[[194756,194756],\"mapped\",[25726]],[[194757,194757],\"mapped\",[25757]],[[194758,194758],\"mapped\",[25719]],[[194759,194759],\"mapped\",[14956]],[[194760,194760],\"mapped\",[25935]],[[194761,194761],\"mapped\",[25964]],[[194762,194762],\"mapped\",[143370]],[[194763,194763],\"mapped\",[26083]],[[194764,194764],\"mapped\",[26360]],[[194765,194765],\"mapped\",[26185]],[[194766,194766],\"mapped\",[15129]],[[194767,194767],\"mapped\",[26257]],[[194768,194768],\"mapped\",[15112]],[[194769,194769],\"mapped\",[15076]],[[194770,194770],\"mapped\",[20882]],[[194771,194771],\"mapped\",[20885]],[[194772,194772],\"mapped\",[26368]],[[194773,194773],\"mapped\",[26268]],[[194774,194774],\"mapped\",[32941]],[[194775,194775],\"mapped\",[17369]],[[194776,194776],\"mapped\",[26391]],[[194777,194777],\"mapped\",[26395]],[[194778,194778],\"mapped\",[26401]],[[194779,194779],\"mapped\",[26462]],[[194780,194780],\"mapped\",[26451]],[[194781,194781],\"mapped\",[144323]],[[194782,194782],\"mapped\",[15177]],[[194783,194783],\"mapped\",[26618]],[[194784,194784],\"mapped\",[26501]],[[194785,194785],\"mapped\",[26706]],[[194786,194786],\"mapped\",[26757]],[[194787,194787],\"mapped\",[144493]],[[194788,194788],\"mapped\",[26766]],[[194789,194789],\"mapped\",[26655]],[[194790,194790],\"mapped\",[26900]],[[194791,194791],\"mapped\",[15261]],[[194792,194792],\"mapped\",[26946]],[[194793,194793],\"mapped\",[27043]],[[194794,194794],\"mapped\",[27114]],[[194795,194795],\"mapped\",[27304]],[[194796,194796],\"mapped\",[145059]],[[194797,194797],\"mapped\",[27355]],[[194798,194798],\"mapped\",[15384]],[[194799,194799],\"mapped\",[27425]],[[194800,194800],\"mapped\",[145575]],[[194801,194801],\"mapped\",[27476]],[[194802,194802],\"mapped\",[15438]],[[194803,194803],\"mapped\",[27506]],[[194804,194804],\"mapped\",[27551]],[[194805,194805],\"mapped\",[27578]],[[194806,194806],\"mapped\",[27579]],[[194807,194807],\"mapped\",[146061]],[[194808,194808],\"mapped\",[138507]],[[194809,194809],\"mapped\",[146170]],[[194810,194810],\"mapped\",[27726]],[[194811,194811],\"mapped\",[146620]],[[194812,194812],\"mapped\",[27839]],[[194813,194813],\"mapped\",[27853]],[[194814,194814],\"mapped\",[27751]],[[194815,194815],\"mapped\",[27926]],[[194816,194816],\"mapped\",[27966]],[[194817,194817],\"mapped\",[28023]],[[194818,194818],\"mapped\",[27969]],[[194819,194819],\"mapped\",[28009]],[[194820,194820],\"mapped\",[28024]],[[194821,194821],\"mapped\",[28037]],[[194822,194822],\"mapped\",[146718]],[[194823,194823],\"mapped\",[27956]],[[194824,194824],\"mapped\",[28207]],[[194825,194825],\"mapped\",[28270]],[[194826,194826],\"mapped\",[15667]],[[194827,194827],\"mapped\",[28363]],[[194828,194828],\"mapped\",[28359]],[[194829,194829],\"mapped\",[147153]],[[194830,194830],\"mapped\",[28153]],[[194831,194831],\"mapped\",[28526]],[[194832,194832],\"mapped\",[147294]],[[194833,194833],\"mapped\",[147342]],[[194834,194834],\"mapped\",[28614]],[[194835,194835],\"mapped\",[28729]],[[194836,194836],\"mapped\",[28702]],[[194837,194837],\"mapped\",[28699]],[[194838,194838],\"mapped\",[15766]],[[194839,194839],\"mapped\",[28746]],[[194840,194840],\"mapped\",[28797]],[[194841,194841],\"mapped\",[28791]],[[194842,194842],\"mapped\",[28845]],[[194843,194843],\"mapped\",[132389]],[[194844,194844],\"mapped\",[28997]],[[194845,194845],\"mapped\",[148067]],[[194846,194846],\"mapped\",[29084]],[[194847,194847],\"disallowed\"],[[194848,194848],\"mapped\",[29224]],[[194849,194849],\"mapped\",[29237]],[[194850,194850],\"mapped\",[29264]],[[194851,194851],\"mapped\",[149000]],[[194852,194852],\"mapped\",[29312]],[[194853,194853],\"mapped\",[29333]],[[194854,194854],\"mapped\",[149301]],[[194855,194855],\"mapped\",[149524]],[[194856,194856],\"mapped\",[29562]],[[194857,194857],\"mapped\",[29579]],[[194858,194858],\"mapped\",[16044]],[[194859,194859],\"mapped\",[29605]],[[194860,194861],\"mapped\",[16056]],[[194862,194862],\"mapped\",[29767]],[[194863,194863],\"mapped\",[29788]],[[194864,194864],\"mapped\",[29809]],[[194865,194865],\"mapped\",[29829]],[[194866,194866],\"mapped\",[29898]],[[194867,194867],\"mapped\",[16155]],[[194868,194868],\"mapped\",[29988]],[[194869,194869],\"mapped\",[150582]],[[194870,194870],\"mapped\",[30014]],[[194871,194871],\"mapped\",[150674]],[[194872,194872],\"mapped\",[30064]],[[194873,194873],\"mapped\",[139679]],[[194874,194874],\"mapped\",[30224]],[[194875,194875],\"mapped\",[151457]],[[194876,194876],\"mapped\",[151480]],[[194877,194877],\"mapped\",[151620]],[[194878,194878],\"mapped\",[16380]],[[194879,194879],\"mapped\",[16392]],[[194880,194880],\"mapped\",[30452]],[[194881,194881],\"mapped\",[151795]],[[194882,194882],\"mapped\",[151794]],[[194883,194883],\"mapped\",[151833]],[[194884,194884],\"mapped\",[151859]],[[194885,194885],\"mapped\",[30494]],[[194886,194887],\"mapped\",[30495]],[[194888,194888],\"mapped\",[30538]],[[194889,194889],\"mapped\",[16441]],[[194890,194890],\"mapped\",[30603]],[[194891,194891],\"mapped\",[16454]],[[194892,194892],\"mapped\",[16534]],[[194893,194893],\"mapped\",[152605]],[[194894,194894],\"mapped\",[30798]],[[194895,194895],\"mapped\",[30860]],[[194896,194896],\"mapped\",[30924]],[[194897,194897],\"mapped\",[16611]],[[194898,194898],\"mapped\",[153126]],[[194899,194899],\"mapped\",[31062]],[[194900,194900],\"mapped\",[153242]],[[194901,194901],\"mapped\",[153285]],[[194902,194902],\"mapped\",[31119]],[[194903,194903],\"mapped\",[31211]],[[194904,194904],\"mapped\",[16687]],[[194905,194905],\"mapped\",[31296]],[[194906,194906],\"mapped\",[31306]],[[194907,194907],\"mapped\",[31311]],[[194908,194908],\"mapped\",[153980]],[[194909,194910],\"mapped\",[154279]],[[194911,194911],\"disallowed\"],[[194912,194912],\"mapped\",[16898]],[[194913,194913],\"mapped\",[154539]],[[194914,194914],\"mapped\",[31686]],[[194915,194915],\"mapped\",[31689]],[[194916,194916],\"mapped\",[16935]],[[194917,194917],\"mapped\",[154752]],[[194918,194918],\"mapped\",[31954]],[[194919,194919],\"mapped\",[17056]],[[194920,194920],\"mapped\",[31976]],[[194921,194921],\"mapped\",[31971]],[[194922,194922],\"mapped\",[32000]],[[194923,194923],\"mapped\",[155526]],[[194924,194924],\"mapped\",[32099]],[[194925,194925],\"mapped\",[17153]],[[194926,194926],\"mapped\",[32199]],[[194927,194927],\"mapped\",[32258]],[[194928,194928],\"mapped\",[32325]],[[194929,194929],\"mapped\",[17204]],[[194930,194930],\"mapped\",[156200]],[[194931,194931],\"mapped\",[156231]],[[194932,194932],\"mapped\",[17241]],[[194933,194933],\"mapped\",[156377]],[[194934,194934],\"mapped\",[32634]],[[194935,194935],\"mapped\",[156478]],[[194936,194936],\"mapped\",[32661]],[[194937,194937],\"mapped\",[32762]],[[194938,194938],\"mapped\",[32773]],[[194939,194939],\"mapped\",[156890]],[[194940,194940],\"mapped\",[156963]],[[194941,194941],\"mapped\",[32864]],[[194942,194942],\"mapped\",[157096]],[[194943,194943],\"mapped\",[32880]],[[194944,194944],\"mapped\",[144223]],[[194945,194945],\"mapped\",[17365]],[[194946,194946],\"mapped\",[32946]],[[194947,194947],\"mapped\",[33027]],[[194948,194948],\"mapped\",[17419]],[[194949,194949],\"mapped\",[33086]],[[194950,194950],\"mapped\",[23221]],[[194951,194951],\"mapped\",[157607]],[[194952,194952],\"mapped\",[157621]],[[194953,194953],\"mapped\",[144275]],[[194954,194954],\"mapped\",[144284]],[[194955,194955],\"mapped\",[33281]],[[194956,194956],\"mapped\",[33284]],[[194957,194957],\"mapped\",[36766]],[[194958,194958],\"mapped\",[17515]],[[194959,194959],\"mapped\",[33425]],[[194960,194960],\"mapped\",[33419]],[[194961,194961],\"mapped\",[33437]],[[194962,194962],\"mapped\",[21171]],[[194963,194963],\"mapped\",[33457]],[[194964,194964],\"mapped\",[33459]],[[194965,194965],\"mapped\",[33469]],[[194966,194966],\"mapped\",[33510]],[[194967,194967],\"mapped\",[158524]],[[194968,194968],\"mapped\",[33509]],[[194969,194969],\"mapped\",[33565]],[[194970,194970],\"mapped\",[33635]],[[194971,194971],\"mapped\",[33709]],[[194972,194972],\"mapped\",[33571]],[[194973,194973],\"mapped\",[33725]],[[194974,194974],\"mapped\",[33767]],[[194975,194975],\"mapped\",[33879]],[[194976,194976],\"mapped\",[33619]],[[194977,194977],\"mapped\",[33738]],[[194978,194978],\"mapped\",[33740]],[[194979,194979],\"mapped\",[33756]],[[194980,194980],\"mapped\",[158774]],[[194981,194981],\"mapped\",[159083]],[[194982,194982],\"mapped\",[158933]],[[194983,194983],\"mapped\",[17707]],[[194984,194984],\"mapped\",[34033]],[[194985,194985],\"mapped\",[34035]],[[194986,194986],\"mapped\",[34070]],[[194987,194987],\"mapped\",[160714]],[[194988,194988],\"mapped\",[34148]],[[194989,194989],\"mapped\",[159532]],[[194990,194990],\"mapped\",[17757]],[[194991,194991],\"mapped\",[17761]],[[194992,194992],\"mapped\",[159665]],[[194993,194993],\"mapped\",[159954]],[[194994,194994],\"mapped\",[17771]],[[194995,194995],\"mapped\",[34384]],[[194996,194996],\"mapped\",[34396]],[[194997,194997],\"mapped\",[34407]],[[194998,194998],\"mapped\",[34409]],[[194999,194999],\"mapped\",[34473]],[[195000,195000],\"mapped\",[34440]],[[195001,195001],\"mapped\",[34574]],[[195002,195002],\"mapped\",[34530]],[[195003,195003],\"mapped\",[34681]],[[195004,195004],\"mapped\",[34600]],[[195005,195005],\"mapped\",[34667]],[[195006,195006],\"mapped\",[34694]],[[195007,195007],\"disallowed\"],[[195008,195008],\"mapped\",[34785]],[[195009,195009],\"mapped\",[34817]],[[195010,195010],\"mapped\",[17913]],[[195011,195011],\"mapped\",[34912]],[[195012,195012],\"mapped\",[34915]],[[195013,195013],\"mapped\",[161383]],[[195014,195014],\"mapped\",[35031]],[[195015,195015],\"mapped\",[35038]],[[195016,195016],\"mapped\",[17973]],[[195017,195017],\"mapped\",[35066]],[[195018,195018],\"mapped\",[13499]],[[195019,195019],\"mapped\",[161966]],[[195020,195020],\"mapped\",[162150]],[[195021,195021],\"mapped\",[18110]],[[195022,195022],\"mapped\",[18119]],[[195023,195023],\"mapped\",[35488]],[[195024,195024],\"mapped\",[35565]],[[195025,195025],\"mapped\",[35722]],[[195026,195026],\"mapped\",[35925]],[[195027,195027],\"mapped\",[162984]],[[195028,195028],\"mapped\",[36011]],[[195029,195029],\"mapped\",[36033]],[[195030,195030],\"mapped\",[36123]],[[195031,195031],\"mapped\",[36215]],[[195032,195032],\"mapped\",[163631]],[[195033,195033],\"mapped\",[133124]],[[195034,195034],\"mapped\",[36299]],[[195035,195035],\"mapped\",[36284]],[[195036,195036],\"mapped\",[36336]],[[195037,195037],\"mapped\",[133342]],[[195038,195038],\"mapped\",[36564]],[[195039,195039],\"mapped\",[36664]],[[195040,195040],\"mapped\",[165330]],[[195041,195041],\"mapped\",[165357]],[[195042,195042],\"mapped\",[37012]],[[195043,195043],\"mapped\",[37105]],[[195044,195044],\"mapped\",[37137]],[[195045,195045],\"mapped\",[165678]],[[195046,195046],\"mapped\",[37147]],[[195047,195047],\"mapped\",[37432]],[[195048,195048],\"mapped\",[37591]],[[195049,195049],\"mapped\",[37592]],[[195050,195050],\"mapped\",[37500]],[[195051,195051],\"mapped\",[37881]],[[195052,195052],\"mapped\",[37909]],[[195053,195053],\"mapped\",[166906]],[[195054,195054],\"mapped\",[38283]],[[195055,195055],\"mapped\",[18837]],[[195056,195056],\"mapped\",[38327]],[[195057,195057],\"mapped\",[167287]],[[195058,195058],\"mapped\",[18918]],[[195059,195059],\"mapped\",[38595]],[[195060,195060],\"mapped\",[23986]],[[195061,195061],\"mapped\",[38691]],[[195062,195062],\"mapped\",[168261]],[[195063,195063],\"mapped\",[168474]],[[195064,195064],\"mapped\",[19054]],[[195065,195065],\"mapped\",[19062]],[[195066,195066],\"mapped\",[38880]],[[195067,195067],\"mapped\",[168970]],[[195068,195068],\"mapped\",[19122]],[[195069,195069],\"mapped\",[169110]],[[195070,195071],\"mapped\",[38923]],[[195072,195072],\"mapped\",[38953]],[[195073,195073],\"mapped\",[169398]],[[195074,195074],\"mapped\",[39138]],[[195075,195075],\"mapped\",[19251]],[[195076,195076],\"mapped\",[39209]],[[195077,195077],\"mapped\",[39335]],[[195078,195078],\"mapped\",[39362]],[[195079,195079],\"mapped\",[39422]],[[195080,195080],\"mapped\",[19406]],[[195081,195081],\"mapped\",[170800]],[[195082,195082],\"mapped\",[39698]],[[195083,195083],\"mapped\",[40000]],[[195084,195084],\"mapped\",[40189]],[[195085,195085],\"mapped\",[19662]],[[195086,195086],\"mapped\",[19693]],[[195087,195087],\"mapped\",[40295]],[[195088,195088],\"mapped\",[172238]],[[195089,195089],\"mapped\",[19704]],[[195090,195090],\"mapped\",[172293]],[[195091,195091],\"mapped\",[172558]],[[195092,195092],\"mapped\",[172689]],[[195093,195093],\"mapped\",[40635]],[[195094,195094],\"mapped\",[19798]],[[195095,195095],\"mapped\",[40697]],[[195096,195096],\"mapped\",[40702]],[[195097,195097],\"mapped\",[40709]],[[195098,195098],\"mapped\",[40719]],[[195099,195099],\"mapped\",[40726]],[[195100,195100],\"mapped\",[40763]],[[195101,195101],\"mapped\",[173568]],[[195102,196605],\"disallowed\"],[[196606,196607],\"disallowed\"],[[196608,262141],\"disallowed\"],[[262142,262143],\"disallowed\"],[[262144,327677],\"disallowed\"],[[327678,327679],\"disallowed\"],[[327680,393213],\"disallowed\"],[[393214,393215],\"disallowed\"],[[393216,458749],\"disallowed\"],[[458750,458751],\"disallowed\"],[[458752,524285],\"disallowed\"],[[524286,524287],\"disallowed\"],[[524288,589821],\"disallowed\"],[[589822,589823],\"disallowed\"],[[589824,655357],\"disallowed\"],[[655358,655359],\"disallowed\"],[[655360,720893],\"disallowed\"],[[720894,720895],\"disallowed\"],[[720896,786429],\"disallowed\"],[[786430,786431],\"disallowed\"],[[786432,851965],\"disallowed\"],[[851966,851967],\"disallowed\"],[[851968,917501],\"disallowed\"],[[917502,917503],\"disallowed\"],[[917504,917504],\"disallowed\"],[[917505,917505],\"disallowed\"],[[917506,917535],\"disallowed\"],[[917536,917631],\"disallowed\"],[[917632,917759],\"disallowed\"],[[917760,917999],\"ignored\"],[[918000,983037],\"disallowed\"],[[983038,983039],\"disallowed\"],[[983040,1048573],\"disallowed\"],[[1048574,1048575],\"disallowed\"],[[1048576,1114109],\"disallowed\"],[[1114110,1114111],\"disallowed\"]]", "\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n", "\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n", "\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n", "\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n", "\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n", "'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = /<meta.+?charset=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// html4\n\tif (!res && str) {\n\t\tres = /<meta[\\s]+?http-equiv=(['\"])content-type\\1[\\s]+?content=(['\"])(.+?)\\2/i.exec(str);\n\t\tif (!res) {\n\t\t\tres = /<meta[\\s]+?content=(['\"])(.+?)\\1[\\s]+?http-equiv=(['\"])content-type\\3/i.exec(str);\n\t\t\tif (res) {\n\t\t\t\tres.pop(); // drop last quote\n\t\t\t}\n\t\t}\n\n\t\tif (res) {\n\t\t\tres = /charset=(.*)/i.exec(res.pop());\n\t\t}\n\t}\n\n\t// xml\n\tif (!res && str) {\n\t\tres = /<\\?xml.+?encoding=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// found charset\n\tif (res) {\n\t\tcharset = res.pop();\n\n\t\t// prevent decode issues when sites use incorrect encoding\n\t\t// ref: https://hsivonen.fi/encoding-menu/\n\t\tif (charset === 'gb2312' || charset === 'gbk') {\n\t\t\tcharset = 'gb18030';\n\t\t}\n\t}\n\n\t// turn raw buffers into a single utf-8 buffer\n\treturn convert(buffer, 'UTF-8', charset).toString();\n}\n\n/**\n * Detect a URLSearchParams object\n * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143\n *\n * @param Object obj Object to detect by type or brand\n * @return String\n */\nfunction isURLSearchParams(obj) {\n\t// Duck-typing as a necessary condition.\n\tif (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') {\n\t\treturn false;\n\t}\n\n\t// Brand-checking and more duck-typing as optional condition.\n\treturn obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function';\n}\n\n/**\n * Check if `obj` is a W3C `Blob` object (which `File` inherits from)\n * @param {*} obj\n * @return {boolean}\n */\nfunction isBlob(obj) {\n\treturn typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]);\n}\n\n/**\n * Clone body given Res/Req instance\n *\n * @param Mixed instance Response or Request instance\n * @return Mixed\n */\nfunction clone(instance) {\n\tlet p1, p2;\n\tlet body = instance.body;\n\n\t// don't allow cloning a used body\n\tif (instance.bodyUsed) {\n\t\tthrow new Error('cannot clone body after it is used');\n\t}\n\n\t// check that body is a stream and not form-data object\n\t// note: we can't clone the form-data object without having it as a dependency\n\tif (body instanceof Stream && typeof body.getBoundary !== 'function') {\n\t\t// tee instance body\n\t\tp1 = new PassThrough();\n\t\tp2 = new PassThrough();\n\t\tbody.pipe(p1);\n\t\tbody.pipe(p2);\n\t\t// set instance body to teed body and return the other teed body\n\t\tinstance[INTERNALS].body = p1;\n\t\tbody = p2;\n\t}\n\n\treturn body;\n}\n\n/**\n * Performs the operation \"extract a `Content-Type` value from |object|\" as\n * specified in the specification:\n * https://fetch.spec.whatwg.org/#concept-bodyinit-extract\n *\n * This function assumes that instance.body is present.\n *\n * @param Mixed instance Any options.body input\n */\nfunction extractContentType(body) {\n\tif (body === null) {\n\t\t// body is null\n\t\treturn null;\n\t} else if (typeof body === 'string') {\n\t\t// body is string\n\t\treturn 'text/plain;charset=UTF-8';\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\treturn 'application/x-www-form-urlencoded;charset=UTF-8';\n\t} else if (isBlob(body)) {\n\t\t// body is blob\n\t\treturn body.type || null;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn null;\n\t} else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\treturn null;\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\treturn null;\n\t} else if (typeof body.getBoundary === 'function') {\n\t\t// detect form data input from form-data module\n\t\treturn `multipart/form-data;boundary=${body.getBoundary()}`;\n\t} else if (body instanceof Stream) {\n\t\t// body is stream\n\t\t// can't really do much about this\n\t\treturn null;\n\t} else {\n\t\t// Body constructor defaults other things to string\n\t\treturn 'text/plain;charset=UTF-8';\n\t}\n}\n\n/**\n * The Fetch Standard treats this as if \"total bytes\" is a property on the body.\n * For us, we have to explicitly get it with a function.\n *\n * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes\n *\n * @param Body instance Instance of Body\n * @return Number? Number of bytes, or null if not possible\n */\nfunction getTotalBytes(instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\treturn 0;\n\t} else if (isBlob(body)) {\n\t\treturn body.size;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn body.length;\n\t} else if (body && typeof body.getLengthSync === 'function') {\n\t\t// detect form data input from form-data module\n\t\tif (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x\n\t\tbody.hasKnownLength && body.hasKnownLength()) {\n\t\t\t// 2.x\n\t\t\treturn body.getLengthSync();\n\t\t}\n\t\treturn null;\n\t} else {\n\t\t// body is stream\n\t\treturn null;\n\t}\n}\n\n/**\n * Write a Body to a Node.js WritableStream (e.g. http.Request) object.\n *\n * @param Body instance Instance of Body\n * @return Void\n */\nfunction writeToStream(dest, instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\tdest.end();\n\t} else if (isBlob(body)) {\n\t\tbody.stream().pipe(dest);\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\tdest.write(body);\n\t\tdest.end();\n\t} else {\n\t\t// body is stream\n\t\tbody.pipe(dest);\n\t}\n}\n\n// expose Promise\nBody.Promise = global.Promise;\n\n/**\n * headers.js\n *\n * Headers class offers convenient helpers\n */\n\nconst invalidTokenRegex = /[^\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]/;\nconst invalidHeaderCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/;\n\nfunction validateName(name) {\n\tname = `${name}`;\n\tif (invalidTokenRegex.test(name) || name === '') {\n\t\tthrow new TypeError(`${name} is not a legal HTTP header name`);\n\t}\n}\n\nfunction validateValue(value) {\n\tvalue = `${value}`;\n\tif (invalidHeaderCharRegex.test(value)) {\n\t\tthrow new TypeError(`${value} is not a legal HTTP header value`);\n\t}\n}\n\n/**\n * Find the key in the map object given a header name.\n *\n * Returns undefined if not found.\n *\n * @param String name Header name\n * @return String|Undefined\n */\nfunction find(map, name) {\n\tname = name.toLowerCase();\n\tfor (const key in map) {\n\t\tif (key.toLowerCase() === name) {\n\t\t\treturn key;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nconst MAP = Symbol('map');\nclass Headers {\n\t/**\n * Headers class\n *\n * @param Object headers Response headers\n * @return Void\n */\n\tconstructor() {\n\t\tlet init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence<sequence<ByteString>>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record<ByteString, ByteString>\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// tests for socket presence, as in some situations the\n\t\t\t\t// the 'socket' event is not triggered for the request\n\t\t\t\t// (happens in deno), avoids `TypeError`\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket && socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\nexports.AbortError = AbortError;\n", "const nodeFetch = require('node-fetch')\nconst realFetch = nodeFetch.default || nodeFetch\n\nconst fetch = function (url, options) {\n // Support schemaless URIs on the server for parity with the browser.\n // Ex: //github.com/ -> https://github.com/\n if (/^\\/\\//.test(url)) {\n url = 'https:' + url\n }\n return realFetch.call(this, url, options)\n}\n\nfetch.ponyfill = true\n\nmodule.exports = exports = fetch\nexports.fetch = fetch\nexports.Headers = nodeFetch.Headers\nexports.Request = nodeFetch.Request\nexports.Response = nodeFetch.Response\n\n// Needed for TypeScript consumers without esModuleInterop.\nexports.default = fetch\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isJSON = void 0;\nfunction isJSON(contentTypeHeader) {\n if (contentTypeHeader) {\n const mediaType = parseContentType(contentTypeHeader);\n if (!mediaType) {\n return false;\n }\n if (mediaType.subtype === \"json\") {\n return true;\n }\n if (mediaType.suffix === \"json\") {\n return true;\n }\n if (mediaType.suffix && /\\bjson\\b/i.test(mediaType.suffix)) {\n return true;\n }\n if (mediaType.subtype && /\\bjson\\b/i.test(mediaType.subtype)) {\n return true;\n }\n }\n return false;\n}\nexports.isJSON = isJSON;\n/**\n * RegExp to match type in RFC 6838 with an optional trailing `;` because some Apple APIs returns one...\n *\n * type-name = restricted-name\n * subtype-name = restricted-name\n * restricted-name = restricted-name-first *126restricted-name-chars\n * restricted-name-first = ALPHA / DIGIT\n * restricted-name-chars = ALPHA / DIGIT / \"!\" / \"#\" /\n * \"$\" / \"&\" / \"-\" / \"^\" / \"_\"\n * restricted-name-chars =/ \".\" ; Characters before first dot always\n * ; specify a facet name\n * restricted-name-chars =/ \"+\" ; Characters after last plus always\n * ; specify a structured syntax suffix\n * ALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n * DIGIT = %x30-39 ; 0-9\n */\nconst MEDIA_TYPE_REGEXP = /^([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126});?$/;\nfunction parseContentType(header) {\n const headerDelimitationindex = header.indexOf(\";\");\n const contentType = headerDelimitationindex !== -1 ? header.slice(0, headerDelimitationindex).trim() : header.trim();\n const match = MEDIA_TYPE_REGEXP.exec(contentType.toLowerCase().toLowerCase());\n if (!match) {\n return;\n }\n const type = match[1];\n let subtype = match[2];\n let suffix;\n // suffix after last +\n const index = subtype.lastIndexOf(\"+\");\n if (index !== -1) {\n suffix = subtype.substring(index + 1);\n subtype = subtype.substring(0, index);\n }\n return { type, subtype, suffix };\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFetch = void 0;\nconst react_1 = require(\"react\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst cross_fetch_1 = require(\"cross-fetch\");\nconst fetch_utils_1 = require(\"./fetch-utils\");\nconst helpers_1 = require(\"./helpers\");\nasync function defaultParsing(response) {\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n const contentTypeHeader = response.headers.get(\"content-type\");\n if (contentTypeHeader && (0, fetch_utils_1.isJSON)(contentTypeHeader)) {\n return await response.json();\n }\n return await response.text();\n}\nfunction defaultMapping(result) {\n return { data: result, hasMore: false };\n}\nfunction useFetch(url, options) {\n const { parseResponse, mapResult, initialData, execute, keepPreviousData, onError, onData, onWillExecute, failureToastOptions, ...fetchOptions } = options || {};\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n failureToastOptions,\n };\n const parseResponseRef = (0, useLatest_1.useLatest)(parseResponse || defaultParsing);\n const mapResultRef = (0, useLatest_1.useLatest)(mapResult || defaultMapping);\n const urlRef = (0, react_1.useRef)();\n const firstPageUrlRef = (0, react_1.useRef)();\n const firstPageUrl = typeof url === \"function\" ? url({ page: 0 }) : undefined;\n /**\n * When paginating, `url` is a `PaginatedRequestInfo`, so we only want to update the ref when the `firstPageUrl` changes.\n * When not paginating, `url` is a `RequestInfo`, so we want to update the ref whenever `url` changes.\n */\n if (!urlRef.current || typeof firstPageUrlRef.current === \"undefined\" || firstPageUrlRef.current !== firstPageUrl) {\n urlRef.current = url;\n }\n firstPageUrlRef.current = firstPageUrl;\n const abortable = (0, react_1.useRef)();\n const paginatedFn = (0, react_1.useCallback)((url, options) => async (pagination) => {\n const res = await (0, cross_fetch_1.fetch)(url(pagination), { signal: abortable.current?.signal, ...options });\n const parsed = (await parseResponseRef.current(res));\n return mapResultRef.current?.(parsed);\n }, [parseResponseRef, mapResultRef]);\n const fn = (0, react_1.useCallback)(async (url, options) => {\n const res = await (0, cross_fetch_1.fetch)(url, { signal: abortable.current?.signal, ...options });\n const parsed = (await parseResponseRef.current(res));\n const mapped = mapResultRef.current(parsed);\n return mapped?.data;\n }, [parseResponseRef, mapResultRef]);\n const promise = (0, react_1.useMemo)(() => {\n if (firstPageUrlRef.current) {\n return paginatedFn;\n }\n return fn;\n }, [firstPageUrlRef, fn, paginatedFn]);\n // @ts-expect-error lastItem can't be inferred properly\n return (0, useCachedPromise_1.useCachedPromise)(promise, [urlRef.current, fetchOptions], {\n ...useCachedPromiseOptions,\n internal_cacheKeySuffix: firstPageUrlRef.current + (0, helpers_1.hash)(mapResultRef.current) + (0, helpers_1.hash)(parseResponseRef.current),\n abortable,\n });\n}\nexports.useFetch = useFetch;\n", "/**\n * This is not the set of all possible signals.\n *\n * It IS, however, the set of all signals that trigger\n * an exit on either Linux or BSD systems. Linux is a\n * superset of the signal names supported on BSD, and\n * the unknown signals just fail to register, so we can\n * catch that easily enough.\n *\n * Windows signals are a different set, since there are\n * signals that terminate Windows processes, but don't\n * terminate (or don't even exist) on Posix systems.\n *\n * Don't bother with SIGKILL. It's uncatchable, which\n * means that we can't fire any callbacks anyway.\n *\n * If a user does happen to register a handler on a non-\n * fatal signal like SIGWINCH or something, and then\n * exit, it'll end up firing `process.emit('exit')`, so\n * the handler will be fired anyway.\n *\n * SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n * artificially, inherently leave the process in a\n * state from which it is not safe to try and enter JS\n * listeners.\n */\nexport const signals: NodeJS.Signals[] = []\nsignals.push('SIGHUP', 'SIGINT', 'SIGTERM')\n\nif (process.platform !== 'win32') {\n signals.push(\n 'SIGALRM',\n 'SIGABRT',\n 'SIGVTALRM',\n 'SIGXCPU',\n 'SIGXFSZ',\n 'SIGUSR2',\n 'SIGTRAP',\n 'SIGSYS',\n 'SIGQUIT',\n 'SIGIOT'\n // should detect profiler and enable/disable accordingly.\n // see #21\n // 'SIGPROF'\n )\n}\n\nif (process.platform === 'linux') {\n signals.push('SIGIO', 'SIGPOLL', 'SIGPWR', 'SIGSTKFLT')\n}\n", "// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nimport { signals } from './signals.js'\nexport { signals }\n\n// just a loosened process type so we can do some evil things\ntype ProcessRE = NodeJS.Process & {\n reallyExit: (code?: number | undefined | null) => any\n emit: (ev: string, ...a: any[]) => any\n}\n\nconst processOk = (process: any): process is ProcessRE =>\n !!process &&\n typeof process === 'object' &&\n typeof process.removeListener === 'function' &&\n typeof process.emit === 'function' &&\n typeof process.reallyExit === 'function' &&\n typeof process.listeners === 'function' &&\n typeof process.kill === 'function' &&\n typeof process.pid === 'number' &&\n typeof process.on === 'function'\n\nconst kExitEmitter = Symbol.for('signal-exit emitter')\nconst global: typeof globalThis & { [kExitEmitter]?: Emitter } = globalThis\nconst ObjectDefineProperty = Object.defineProperty.bind(Object)\n\n/**\n * A function that takes an exit code and signal as arguments\n *\n * In the case of signal exits *only*, a return value of true\n * will indicate that the signal is being handled, and we should\n * not synthetically exit with the signal we received. Regardless\n * of the handler return value, the handler is unloaded when an\n * otherwise fatal signal is received, so you get exactly 1 shot\n * at it, unless you add another onExit handler at that point.\n *\n * In the case of numeric code exits, we may already have committed\n * to exiting the process, for example via a fatal exception or\n * unhandled promise rejection, so it is impossible to stop safely.\n */\nexport type Handler = (\n code: number | null | undefined,\n signal: NodeJS.Signals | null\n) => true | void\ntype ExitEvent = 'afterExit' | 'exit'\ntype Emitted = { [k in ExitEvent]: boolean }\ntype Listeners = { [k in ExitEvent]: Handler[] }\n\n// teeny special purpose ee\nclass Emitter {\n emitted: Emitted = {\n afterExit: false,\n exit: false,\n }\n\n listeners: Listeners = {\n afterExit: [],\n exit: [],\n }\n\n count: number = 0\n id: number = Math.random()\n\n constructor() {\n if (global[kExitEmitter]) {\n return global[kExitEmitter]\n }\n ObjectDefineProperty(global, kExitEmitter, {\n value: this,\n writable: false,\n enumerable: false,\n configurable: false,\n })\n }\n\n on(ev: ExitEvent, fn: Handler) {\n this.listeners[ev].push(fn)\n }\n\n removeListener(ev: ExitEvent, fn: Handler) {\n const list = this.listeners[ev]\n const i = list.indexOf(fn)\n /* c8 ignore start */\n if (i === -1) {\n return\n }\n /* c8 ignore stop */\n if (i === 0 && list.length === 1) {\n list.length = 0\n } else {\n list.splice(i, 1)\n }\n }\n\n emit(\n ev: ExitEvent,\n code: number | null | undefined,\n signal: NodeJS.Signals | null\n ): boolean {\n if (this.emitted[ev]) {\n return false\n }\n this.emitted[ev] = true\n let ret: boolean = false\n for (const fn of this.listeners[ev]) {\n ret = fn(code, signal) === true || ret\n }\n if (ev === 'exit') {\n ret = this.emit('afterExit', code, signal) || ret\n }\n return ret\n }\n}\n\nabstract class SignalExitBase {\n abstract onExit(cb: Handler, opts?: { alwaysLast?: boolean }): () => void\n abstract load(): void\n abstract unload(): void\n}\n\nconst signalExitWrap = <T extends SignalExitBase>(handler: T) => {\n return {\n onExit(cb: Handler, opts?: { alwaysLast?: boolean }) {\n return handler.onExit(cb, opts)\n },\n load() {\n return handler.load()\n },\n unload() {\n return handler.unload()\n },\n }\n}\n\nclass SignalExitFallback extends SignalExitBase {\n onExit() {\n return () => {}\n }\n load() {}\n unload() {}\n}\n\nclass SignalExit extends SignalExitBase {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n /* c8 ignore start */\n #hupSig = process.platform === 'win32' ? 'SIGINT' : 'SIGHUP'\n /* c8 ignore stop */\n #emitter = new Emitter()\n #process: ProcessRE\n #originalProcessEmit: ProcessRE['emit']\n #originalProcessReallyExit: ProcessRE['reallyExit']\n\n #sigListeners: { [k in NodeJS.Signals]?: () => void } = {}\n #loaded: boolean = false\n\n constructor(process: ProcessRE) {\n super()\n this.#process = process\n // { <signal>: <listener fn>, ... }\n this.#sigListeners = {}\n for (const sig of signals) {\n this.#sigListeners[sig] = () => {\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n const listeners = this.#process.listeners(sig)\n let { count } = this.#emitter\n // This is a workaround for the fact that signal-exit v3 and signal\n // exit v4 are not aware of each other, and each will attempt to let\n // the other handle it, so neither of them do. To correct this, we\n // detect if we're the only handler *except* for previous versions\n // of signal-exit, and increment by the count of listeners it has\n // created.\n /* c8 ignore start */\n const p = process as unknown as {\n __signal_exit_emitter__?: { count: number }\n }\n if (\n typeof p.__signal_exit_emitter__ === 'object' &&\n typeof p.__signal_exit_emitter__.count === 'number'\n ) {\n count += p.__signal_exit_emitter__.count\n }\n /* c8 ignore stop */\n if (listeners.length === count) {\n this.unload()\n const ret = this.#emitter.emit('exit', null, sig)\n /* c8 ignore start */\n const s = sig === 'SIGHUP' ? this.#hupSig : sig\n if (!ret) process.kill(process.pid, s)\n /* c8 ignore stop */\n }\n }\n }\n\n this.#originalProcessReallyExit = process.reallyExit\n this.#originalProcessEmit = process.emit\n }\n\n onExit(cb: Handler, opts?: { alwaysLast?: boolean }) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return () => {}\n }\n /* c8 ignore stop */\n\n if (this.#loaded === false) {\n this.load()\n }\n\n const ev = opts?.alwaysLast ? 'afterExit' : 'exit'\n this.#emitter.on(ev, cb)\n return () => {\n this.#emitter.removeListener(ev, cb)\n if (\n this.#emitter.listeners['exit'].length === 0 &&\n this.#emitter.listeners['afterExit'].length === 0\n ) {\n this.unload()\n }\n }\n }\n\n load() {\n if (this.#loaded) {\n return\n }\n this.#loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n this.#emitter.count += 1\n\n for (const sig of signals) {\n try {\n const fn = this.#sigListeners[sig]\n if (fn) this.#process.on(sig, fn)\n } catch (_) {}\n }\n\n this.#process.emit = (ev: string, ...a: any[]) => {\n return this.#processEmit(ev, ...a)\n }\n this.#process.reallyExit = (code?: number | null | undefined) => {\n return this.#processReallyExit(code)\n }\n }\n\n unload() {\n if (!this.#loaded) {\n return\n }\n this.#loaded = false\n\n signals.forEach(sig => {\n const listener = this.#sigListeners[sig]\n /* c8 ignore start */\n if (!listener) {\n throw new Error('Listener not defined for signal: ' + sig)\n }\n /* c8 ignore stop */\n try {\n this.#process.removeListener(sig, listener)\n /* c8 ignore start */\n } catch (_) {}\n /* c8 ignore stop */\n })\n this.#process.emit = this.#originalProcessEmit\n this.#process.reallyExit = this.#originalProcessReallyExit\n this.#emitter.count -= 1\n }\n\n #processReallyExit(code?: number | null | undefined) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return 0\n }\n this.#process.exitCode = code || 0\n /* c8 ignore stop */\n\n this.#emitter.emit('exit', this.#process.exitCode, null)\n return this.#originalProcessReallyExit.call(\n this.#process,\n this.#process.exitCode\n )\n }\n\n #processEmit(ev: string, ...args: any[]): any {\n const og = this.#originalProcessEmit\n if (ev === 'exit' && processOk(this.#process)) {\n if (typeof args[0] === 'number') {\n this.#process.exitCode = args[0]\n /* c8 ignore start */\n }\n /* c8 ignore start */\n const ret = og.call(this.#process, ev, ...args)\n /* c8 ignore start */\n this.#emitter.emit('exit', this.#process.exitCode, null)\n /* c8 ignore stop */\n return ret\n } else {\n return og.call(this.#process, ev, ...args)\n }\n }\n}\n\nconst process = globalThis.process\n// wrap so that we call the method on the actual handler, without\n// exporting it directly.\nexport const {\n /**\n * Called when the process is exiting, whether via signal, explicit\n * exit, or running out of stuff to do.\n *\n * If the global process object is not suitable for instrumentation,\n * then this will be a no-op.\n *\n * Returns a function that may be used to unload signal-exit.\n */\n onExit,\n\n /**\n * Load the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\n load,\n\n /**\n * Unload the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\n unload,\n} = signalExitWrap(\n processOk(process) ? new SignalExit(process) : new SignalExitFallback()\n)\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultParsing = exports.handleOutput = exports.getSpawnedResult = exports.getSpawnedPromise = void 0;\nconst node_buffer_1 = require(\"node:buffer\");\nconst node_stream_1 = __importDefault(require(\"node:stream\"));\nconst node_util_1 = require(\"node:util\");\nconst signal_exit_1 = require(\"signal-exit\");\nfunction getSpawnedPromise(spawned, { timeout } = {}) {\n const spawnedPromise = new Promise((resolve, reject) => {\n spawned.on(\"exit\", (exitCode, signal) => {\n resolve({ exitCode, signal, timedOut: false });\n });\n spawned.on(\"error\", (error) => {\n reject(error);\n });\n if (spawned.stdin) {\n spawned.stdin.on(\"error\", (error) => {\n reject(error);\n });\n }\n });\n if (timeout === 0 || timeout === undefined) {\n return spawnedPromise;\n }\n let timeoutId;\n const timeoutPromise = new Promise((_resolve, reject) => {\n timeoutId = setTimeout(() => {\n spawned.kill(\"SIGTERM\");\n reject(Object.assign(new Error(\"Timed out\"), { timedOut: true, signal: \"SIGTERM\" }));\n }, timeout);\n });\n const safeSpawnedPromise = spawnedPromise.finally(() => {\n clearTimeout(timeoutId);\n });\n const removeExitHandler = (0, signal_exit_1.onExit)(() => {\n spawned.kill();\n });\n return Promise.race([timeoutPromise, safeSpawnedPromise]).finally(() => removeExitHandler());\n}\nexports.getSpawnedPromise = getSpawnedPromise;\nclass MaxBufferError extends Error {\n constructor() {\n super(\"The output is too big\");\n this.name = \"MaxBufferError\";\n }\n}\nconst streamPipelinePromisified = (0, node_util_1.promisify)(node_stream_1.default.pipeline);\nfunction bufferStream(options) {\n const { encoding } = options;\n const isBuffer = encoding === \"buffer\";\n // @ts-expect-error missing the methods we are adding below\n const stream = new node_stream_1.default.PassThrough({ objectMode: false });\n if (encoding && encoding !== \"buffer\") {\n stream.setEncoding(encoding);\n }\n let length = 0;\n const chunks = [];\n stream.on(\"data\", (chunk) => {\n chunks.push(chunk);\n length += chunk.length;\n });\n stream.getBufferedValue = () => {\n return (isBuffer ? Buffer.concat(chunks, length) : chunks.join(\"\"));\n };\n stream.getBufferedLength = () => length;\n return stream;\n}\nasync function getStream(inputStream, options) {\n const stream = bufferStream(options);\n await new Promise((resolve, reject) => {\n const rejectPromise = (error) => {\n // Don't retrieve an oversized buffer.\n if (error && stream.getBufferedLength() <= node_buffer_1.constants.MAX_LENGTH) {\n error.bufferedData = stream.getBufferedValue();\n }\n reject(error);\n };\n (async () => {\n try {\n await streamPipelinePromisified(inputStream, stream);\n resolve();\n }\n catch (error) {\n rejectPromise(error);\n }\n })();\n stream.on(\"data\", () => {\n // 80mb\n if (stream.getBufferedLength() > 1000 * 1000 * 80) {\n rejectPromise(new MaxBufferError());\n }\n });\n });\n return stream.getBufferedValue();\n}\n// On failure, `result.stdout|stderr` should contain the currently buffered stream\nasync function getBufferedData(stream, streamPromise) {\n stream.destroy();\n try {\n return await streamPromise;\n }\n catch (error) {\n return error.bufferedData;\n }\n}\nasync function getSpawnedResult({ stdout, stderr }, { encoding }, processDone) {\n const stdoutPromise = getStream(stdout, { encoding });\n const stderrPromise = getStream(stderr, { encoding });\n try {\n return await Promise.all([processDone, stdoutPromise, stderrPromise]);\n }\n catch (error) {\n return Promise.all([\n {\n error: error,\n exitCode: null,\n signal: error.signal,\n timedOut: error.timedOut || false,\n },\n getBufferedData(stdout, stdoutPromise),\n getBufferedData(stderr, stderrPromise),\n ]);\n }\n}\nexports.getSpawnedResult = getSpawnedResult;\nfunction stripFinalNewline(input) {\n const LF = typeof input === \"string\" ? \"\\n\" : \"\\n\".charCodeAt(0);\n const CR = typeof input === \"string\" ? \"\\r\" : \"\\r\".charCodeAt(0);\n if (input[input.length - 1] === LF) {\n // @ts-expect-error we are doing some nasty stuff here\n input = input.slice(0, -1);\n }\n if (input[input.length - 1] === CR) {\n // @ts-expect-error we are doing some nasty stuff here\n input = input.slice(0, -1);\n }\n return input;\n}\nfunction handleOutput(options, value) {\n if (options.stripFinalNewline) {\n return stripFinalNewline(value);\n }\n return value;\n}\nexports.handleOutput = handleOutput;\nconst getErrorPrefix = ({ timedOut, timeout, signal, exitCode, }) => {\n if (timedOut) {\n return `timed out after ${timeout} milliseconds`;\n }\n if (signal !== undefined && signal !== null) {\n return `was killed with ${signal}`;\n }\n if (exitCode !== undefined && exitCode !== null) {\n return `failed with exit code ${exitCode}`;\n }\n return \"failed\";\n};\nconst makeError = ({ stdout, stderr, error, signal, exitCode, command, timedOut, options, parentError, }) => {\n const prefix = getErrorPrefix({ timedOut, timeout: options?.timeout, signal, exitCode });\n const execaMessage = `Command ${prefix}: ${command}`;\n const shortMessage = error ? `${execaMessage}\\n${error.message}` : execaMessage;\n const message = [shortMessage, stderr, stdout].filter(Boolean).join(\"\\n\");\n if (error) {\n // @ts-expect-error not on Error\n error.originalMessage = error.message;\n }\n else {\n error = parentError;\n }\n error.message = message;\n // @ts-expect-error not on Error\n error.shortMessage = shortMessage;\n // @ts-expect-error not on Error\n error.command = command;\n // @ts-expect-error not on Error\n error.exitCode = exitCode;\n // @ts-expect-error not on Error\n error.signal = signal;\n // @ts-expect-error not on Error\n error.stdout = stdout;\n // @ts-expect-error not on Error\n error.stderr = stderr;\n if (\"bufferedData\" in error) {\n delete error[\"bufferedData\"];\n }\n return error;\n};\nfunction defaultParsing({ stdout, stderr, error, exitCode, signal, timedOut, command, options, parentError, }) {\n if (error || exitCode !== 0 || signal !== null) {\n const returnedError = makeError({\n error,\n exitCode,\n signal,\n stdout,\n stderr,\n command,\n timedOut,\n options,\n parentError,\n });\n throw returnedError;\n }\n return stdout;\n}\nexports.defaultParsing = defaultParsing;\n", "\"use strict\";\n/*\n * Inspired by Execa\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useExec = void 0;\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst react_1 = require(\"react\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst exec_utils_1 = require(\"./exec-utils\");\nconst SPACES_REGEXP = / +/g;\nfunction parseCommand(command, args) {\n if (args) {\n return [command, ...args];\n }\n const tokens = [];\n for (const token of command.trim().split(SPACES_REGEXP)) {\n // Allow spaces to be escaped by a backslash if not meant as a delimiter\n const previousToken = tokens[tokens.length - 1];\n if (previousToken && previousToken.endsWith(\"\\\\\")) {\n // Merge previous token with current one\n tokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`;\n }\n else {\n tokens.push(token);\n }\n }\n return tokens;\n}\nfunction useExec(command, optionsOrArgs, options) {\n const { parseOutput, input, onData, onWillExecute, initialData, execute, keepPreviousData, onError, failureToastOptions, ...execOptions } = Array.isArray(optionsOrArgs) ? options || {} : optionsOrArgs || {};\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n failureToastOptions,\n };\n const abortable = (0, react_1.useRef)();\n const parseOutputRef = (0, useLatest_1.useLatest)(parseOutput || exec_utils_1.defaultParsing);\n const fn = (0, react_1.useCallback)(async (_command, _args, _options, input) => {\n const [file, ...args] = parseCommand(_command, _args);\n const command = [file, ...args].join(\" \");\n const options = {\n stripFinalNewline: true,\n ..._options,\n timeout: _options?.timeout || 10000,\n signal: abortable.current?.signal,\n encoding: _options?.encoding === null ? \"buffer\" : _options?.encoding || \"utf8\",\n env: { PATH: \"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\", ...process.env, ..._options?.env },\n };\n const spawned = node_child_process_1.default.spawn(file, args, options);\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned, options);\n if (input) {\n spawned.stdin.end(input);\n }\n const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, options, spawnedPromise);\n const stdout = (0, exec_utils_1.handleOutput)(options, stdoutResult);\n const stderr = (0, exec_utils_1.handleOutput)(options, stderrResult);\n return parseOutputRef.current({\n // @ts-expect-error too many generics, I give up\n stdout,\n // @ts-expect-error too many generics, I give up\n stderr,\n error,\n exitCode,\n signal,\n timedOut,\n command,\n options,\n parentError: new Error(),\n });\n }, [parseOutputRef]);\n // @ts-expect-error T can't be a Promise so it's actually the same\n return (0, useCachedPromise_1.useCachedPromise)(fn, [command, Array.isArray(optionsOrArgs) ? optionsOrArgs : [], execOptions, input], {\n ...useCachedPromiseOptions,\n abortable,\n });\n}\nexports.useExec = useExec;\n", "'use strict';\n\nconst {Readable, Writable, Duplex, Transform} = require('stream');\n\nconst none = Symbol.for('object-stream.none');\nconst finalSymbol = Symbol.for('object-stream.final');\nconst manySymbol = Symbol.for('object-stream.many');\n\nconst final = value => ({[finalSymbol]: value});\nconst many = values => ({[manySymbol]: values});\n\nconst isFinal = o => o && typeof o == 'object' && finalSymbol in o;\nconst isMany = o => o && typeof o == 'object' && manySymbol in o;\n\nconst getFinalValue = o => o[finalSymbol];\nconst getManyValues = o => o[manySymbol];\n\nconst runAsyncGenerator = async (gen, stream) => {\n for (;;) {\n let data = gen.next();\n if (data && typeof data.then == 'function') {\n data = await data;\n }\n if (data.done) break;\n let value = data.value;\n if (value && typeof value.then == 'function') {\n value = await value;\n }\n Chain.sanitize(value, stream);\n }\n};\n\nconst wrapFunction = fn =>\n new Transform({\n writableObjectMode: true,\n readableObjectMode: true,\n transform(chunk, encoding, callback) {\n try {\n const result = fn.call(this, chunk, encoding);\n if (result && typeof result.then == 'function') {\n // thenable\n result.then(\n result => (Chain.sanitize(result, this), callback(null)),\n error => callback(error)\n );\n return;\n }\n if (result && typeof result.next == 'function') {\n // generator\n runAsyncGenerator(result, this).then(\n () => callback(null),\n error => callback(error)\n );\n return;\n }\n Chain.sanitize(result, this);\n callback(null);\n } catch (error) {\n callback(error);\n }\n }\n });\n\nconst wrapArray = fns =>\n new Transform({\n writableObjectMode: true,\n readableObjectMode: true,\n transform(chunk, encoding, callback) {\n try {\n let value = chunk;\n for (let i = 0; i < fns.length; ++i) {\n const result = fns[i].call(this, value, encoding);\n if (result === Chain.none) {\n callback(null);\n return;\n }\n if (Chain.isFinal(result)) {\n value = Chain.getFinalValue(result);\n break;\n }\n value = result;\n }\n Chain.sanitize(value, this);\n callback(null);\n } catch (error) {\n callback(error);\n }\n }\n });\n\n// is*NodeStream functions taken from https://github.com/nodejs/node/blob/master/lib/internal/streams/utils.js\nconst isReadableNodeStream = obj =>\n obj &&\n typeof obj.pipe === 'function' &&\n typeof obj.on === 'function' &&\n (!obj._writableState || (typeof obj._readableState === 'object' ? obj._readableState.readable : null) !== false) && // Duplex\n (!obj._writableState || obj._readableState); // Writable has .pipe.\n\nconst isWritableNodeStream = obj =>\n obj &&\n typeof obj.write === 'function' &&\n typeof obj.on === 'function' &&\n (!obj._readableState || (typeof obj._writableState === 'object' ? obj._writableState.writable : null) !== false); // Duplex\n\nconst isDuplexNodeStream = obj =>\n obj && typeof obj.pipe === 'function' && obj._readableState && typeof obj.on === 'function' && typeof obj.write === 'function';\n\nclass Chain extends Duplex {\n constructor(fns, options) {\n super(options || {writableObjectMode: true, readableObjectMode: true});\n\n if (!(fns instanceof Array) || !fns.length) {\n throw Error(\"Chain's argument should be a non-empty array.\");\n }\n\n this.streams = fns\n .filter(fn => fn)\n .map((fn, index, fns) => {\n if (typeof fn === 'function' || fn instanceof Array) return Chain.convertToTransform(fn);\n if (isDuplexNodeStream(fn) || (!index && isReadableNodeStream(fn)) || (index === fns.length - 1 && isWritableNodeStream(fn))) {\n return fn;\n }\n throw Error('Arguments should be functions, arrays or streams.');\n })\n .filter(s => s);\n this.input = this.streams[0];\n this.output = this.streams.reduce((output, stream) => (output && output.pipe(stream)) || stream);\n\n if (!isWritableNodeStream(this.input)) {\n this._write = (_1, _2, callback) => callback(null);\n this._final = callback => callback(null); // unavailable in Node 6\n this.input.on('end', () => this.end());\n }\n\n if (isReadableNodeStream(this.output)) {\n this.output.on('data', chunk => !this.push(chunk) && this.output.pause());\n this.output.on('end', () => this.push(null));\n } else {\n this._read = () => {}; // nop\n this.resume();\n this.output.on('finish', () => this.push(null));\n }\n\n // connect events\n if (!options || !options.skipEvents) {\n this.streams.forEach(stream => stream.on('error', error => this.emit('error', error)));\n }\n }\n _write(chunk, encoding, callback) {\n let error = null;\n try {\n this.input.write(chunk, encoding, e => callback(e || error));\n } catch (e) {\n error = e;\n }\n }\n _final(callback) {\n let error = null;\n try {\n this.input.end(null, null, e => callback(e || error));\n } catch (e) {\n error = e;\n }\n }\n _read() {\n this.output.resume();\n }\n static make(fns, options) {\n return new Chain(fns, options);\n }\n static sanitize(result, stream) {\n if (Chain.isFinal(result)) {\n result = Chain.getFinalValue(result);\n } else if (Chain.isMany(result)) {\n result = Chain.getManyValues(result);\n }\n if (result !== undefined && result !== null && result !== Chain.none) {\n if (result instanceof Array) {\n result.forEach(value => value !== undefined && value !== null && stream.push(value));\n } else {\n stream.push(result);\n }\n }\n }\n static convertToTransform(fn) {\n if (typeof fn === 'function') return wrapFunction(fn);\n if (fn instanceof Array) return fn.length ? wrapArray(fn) : null;\n return null;\n }\n}\n\nChain.none = none;\nChain.final = final;\nChain.isFinal = isFinal;\nChain.getFinalValue = getFinalValue;\nChain.many = many;\nChain.isMany = isMany;\nChain.getManyValues = getManyValues;\n\nChain.chain = Chain.make;\nChain.make.Constructor = Chain;\n\nmodule.exports = Chain;\n", "'use strict';\n\nconst {Transform} = require('stream');\nconst {StringDecoder} = require('string_decoder');\n\nclass Utf8Stream extends Transform {\n constructor(options) {\n super(Object.assign({}, options, {writableObjectMode: false}));\n this._buffer = '';\n }\n\n _transform(chunk, encoding, callback) {\n if (typeof chunk == 'string') {\n this._transform = this._transformString;\n } else {\n this._stringDecoder = new StringDecoder();\n this._transform = this._transformBuffer;\n }\n this._transform(chunk, encoding, callback);\n }\n\n _transformBuffer(chunk, _, callback) {\n this._buffer += this._stringDecoder.write(chunk);\n this._processBuffer(callback);\n }\n\n _transformString(chunk, _, callback) {\n this._buffer += chunk.toString();\n this._processBuffer(callback);\n }\n\n _processBuffer(callback) {\n if (this._buffer) {\n this.push(this._buffer, 'utf8');\n this._buffer = '';\n }\n callback(null);\n }\n\n _flushInput() {\n // meant to be called from _flush()\n if (this._stringDecoder) {\n this._buffer += this._stringDecoder.end();\n }\n }\n\n _flush(callback) {\n this._flushInput();\n this._processBuffer(callback);\n }\n}\n\nmodule.exports = Utf8Stream;\n", "'use strict';\n\nconst Utf8Stream = require('./utils/Utf8Stream');\n\nconst patterns = {\n value1: /^(?:[\\\"\\{\\[\\]\\-\\d]|true\\b|false\\b|null\\b|\\s{1,256})/,\n string: /^(?:[^\\\"\\\\]{1,256}|\\\\[bfnrt\\\"\\\\\\/]|\\\\u[\\da-fA-F]{4}|\\\")/,\n key1: /^(?:[\\\"\\}]|\\s{1,256})/,\n colon: /^(?:\\:|\\s{1,256})/,\n comma: /^(?:[\\,\\]\\}]|\\s{1,256})/,\n ws: /^\\s{1,256}/,\n numberStart: /^\\d/,\n numberDigit: /^\\d{0,256}/,\n numberFraction: /^[\\.eE]/,\n numberExponent: /^[eE]/,\n numberExpSign: /^[-+]/\n};\nconst MAX_PATTERN_SIZE = 16;\n\nlet noSticky = true;\ntry {\n new RegExp('.', 'y');\n noSticky = false;\n} catch (e) {\n // suppress\n}\n\n!noSticky &&\n Object.keys(patterns).forEach(key => {\n let src = patterns[key].source.slice(1); // lop off ^\n if (src.slice(0, 3) === '(?:' && src.slice(-1) === ')') {\n src = src.slice(3, -1);\n }\n patterns[key] = new RegExp(src, 'y');\n });\n\npatterns.numberFracStart = patterns.numberExpStart = patterns.numberStart;\npatterns.numberFracDigit = patterns.numberExpDigit = patterns.numberDigit;\n\nconst values = {true: true, false: false, null: null},\n expected = {object: 'objectStop', array: 'arrayStop', '': 'done'};\n\n// long hexadecimal codes: \\uXXXX\nconst fromHex = s => String.fromCharCode(parseInt(s.slice(2), 16));\n\n// short codes: \\b \\f \\n \\r \\t \\\" \\\\ \\/\nconst codes = {b: '\\b', f: '\\f', n: '\\n', r: '\\r', t: '\\t', '\"': '\"', '\\\\': '\\\\', '/': '/'};\n\nclass Parser extends Utf8Stream {\n static make(options) {\n return new Parser(options);\n }\n\n constructor(options) {\n super(Object.assign({}, options, {readableObjectMode: true}));\n\n this._packKeys = this._packStrings = this._packNumbers = this._streamKeys = this._streamStrings = this._streamNumbers = true;\n if (options) {\n 'packValues' in options && (this._packKeys = this._packStrings = this._packNumbers = options.packValues);\n 'packKeys' in options && (this._packKeys = options.packKeys);\n 'packStrings' in options && (this._packStrings = options.packStrings);\n 'packNumbers' in options && (this._packNumbers = options.packNumbers);\n 'streamValues' in options && (this._streamKeys = this._streamStrings = this._streamNumbers = options.streamValues);\n 'streamKeys' in options && (this._streamKeys = options.streamKeys);\n 'streamStrings' in options && (this._streamStrings = options.streamStrings);\n 'streamNumbers' in options && (this._streamNumbers = options.streamNumbers);\n this._jsonStreaming = options.jsonStreaming;\n }\n !this._packKeys && (this._streamKeys = true);\n !this._packStrings && (this._streamStrings = true);\n !this._packNumbers && (this._streamNumbers = true);\n\n this._done = false;\n this._expect = this._jsonStreaming ? 'done' : 'value';\n this._stack = [];\n this._parent = '';\n this._open_number = false;\n this._accumulator = '';\n }\n\n _flush(callback) {\n this._done = true;\n super._flush(error => {\n if (error) return callback(error);\n if (this._open_number) {\n if (this._streamNumbers) {\n this.push({name: 'endNumber'});\n }\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n callback(null);\n });\n }\n\n _processBuffer(callback) {\n let match,\n value,\n index = 0;\n main: for (;;) {\n switch (this._expect) {\n case 'value1':\n case 'value':\n patterns.value1.lastIndex = index;\n match = patterns.value1.exec(this._buffer);\n if (!match) {\n if (this._done || index + MAX_PATTERN_SIZE < this._buffer.length) {\n if (index < this._buffer.length) return callback(new Error('Parser cannot parse input: expected a value'));\n return callback(new Error('Parser has expected a value'));\n }\n break main; // wait for more input\n }\n value = match[0];\n switch (value) {\n case '\"':\n this._streamStrings && this.push({name: 'startString'});\n this._expect = 'string';\n break;\n case '{':\n this.push({name: 'startObject'});\n this._stack.push(this._parent);\n this._parent = 'object';\n this._expect = 'key1';\n break;\n case '[':\n this.push({name: 'startArray'});\n this._stack.push(this._parent);\n this._parent = 'array';\n this._expect = 'value1';\n break;\n case ']':\n if (this._expect !== 'value1') return callback(new Error(\"Parser cannot parse input: unexpected token ']'\"));\n if (this._open_number) {\n this._streamNumbers && this.push({name: 'endNumber'});\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n this.push({name: 'endArray'});\n this._parent = this._stack.pop();\n this._expect = expected[this._parent];\n break;\n case '-':\n this._open_number = true;\n if (this._streamNumbers) {\n this.push({name: 'startNumber'});\n this.push({name: 'numberChunk', value: '-'});\n }\n this._packNumbers && (this._accumulator = '-');\n this._expect = 'numberStart';\n break;\n case '0':\n this._open_number = true;\n if (this._streamNumbers) {\n this.push({name: 'startNumber'});\n this.push({name: 'numberChunk', value: '0'});\n }\n this._packNumbers && (this._accumulator = '0');\n this._expect = 'numberFraction';\n break;\n case '1':\n case '2':\n case '3':\n case '4':\n case '5':\n case '6':\n case '7':\n case '8':\n case '9':\n this._open_number = true;\n if (this._streamNumbers) {\n this.push({name: 'startNumber'});\n this.push({name: 'numberChunk', value: value});\n }\n this._packNumbers && (this._accumulator = value);\n this._expect = 'numberDigit';\n break;\n case 'true':\n case 'false':\n case 'null':\n if (this._buffer.length - index === value.length && !this._done) break main; // wait for more input\n this.push({name: value + 'Value', value: values[value]});\n this._expect = expected[this._parent];\n break;\n // default: // ws\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'keyVal':\n case 'string':\n patterns.string.lastIndex = index;\n match = patterns.string.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length && (this._done || this._buffer.length - index >= 6))\n return callback(new Error('Parser cannot parse input: escaped characters'));\n if (this._done) return callback(new Error('Parser has expected a string value'));\n break main; // wait for more input\n }\n value = match[0];\n if (value === '\"') {\n if (this._expect === 'keyVal') {\n this._streamKeys && this.push({name: 'endKey'});\n if (this._packKeys) {\n this.push({name: 'keyValue', value: this._accumulator});\n this._accumulator = '';\n }\n this._expect = 'colon';\n } else {\n this._streamStrings && this.push({name: 'endString'});\n if (this._packStrings) {\n this.push({name: 'stringValue', value: this._accumulator});\n this._accumulator = '';\n }\n this._expect = expected[this._parent];\n }\n } else if (value.length > 1 && value.charAt(0) === '\\\\') {\n const t = value.length == 2 ? codes[value.charAt(1)] : fromHex(value);\n if (this._expect === 'keyVal' ? this._streamKeys : this._streamStrings) {\n this.push({name: 'stringChunk', value: t});\n }\n if (this._expect === 'keyVal' ? this._packKeys : this._packStrings) {\n this._accumulator += t;\n }\n } else {\n if (this._expect === 'keyVal' ? this._streamKeys : this._streamStrings) {\n this.push({name: 'stringChunk', value: value});\n }\n if (this._expect === 'keyVal' ? this._packKeys : this._packStrings) {\n this._accumulator += value;\n }\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'key1':\n case 'key':\n patterns.key1.lastIndex = index;\n match = patterns.key1.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected an object key'));\n break main; // wait for more input\n }\n value = match[0];\n if (value === '\"') {\n this._streamKeys && this.push({name: 'startKey'});\n this._expect = 'keyVal';\n } else if (value === '}') {\n if (this._expect !== 'key1') return callback(new Error(\"Parser cannot parse input: unexpected token '}'\"));\n this.push({name: 'endObject'});\n this._parent = this._stack.pop();\n this._expect = expected[this._parent];\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'colon':\n patterns.colon.lastIndex = index;\n match = patterns.colon.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error(\"Parser cannot parse input: expected ':'\"));\n break main; // wait for more input\n }\n value = match[0];\n value === ':' && (this._expect = 'value');\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'arrayStop':\n case 'objectStop':\n patterns.comma.lastIndex = index;\n match = patterns.comma.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error(\"Parser cannot parse input: expected ','\"));\n break main; // wait for more input\n }\n if (this._open_number) {\n this._streamNumbers && this.push({name: 'endNumber'});\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n value = match[0];\n if (value === ',') {\n this._expect = this._expect === 'arrayStop' ? 'value' : 'key';\n } else if (value === '}' || value === ']') {\n if (value === '}' ? this._expect === 'arrayStop' : this._expect !== 'arrayStop') {\n return callback(new Error(\"Parser cannot parse input: expected '\" + (this._expect === 'arrayStop' ? ']' : '}') + \"'\"));\n }\n this.push({name: value === '}' ? 'endObject' : 'endArray'});\n this._parent = this._stack.pop();\n this._expect = expected[this._parent];\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n // number chunks\n case 'numberStart': // [0-9]\n patterns.numberStart.lastIndex = index;\n match = patterns.numberStart.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected a starting digit'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = value === '0' ? 'numberFraction' : 'numberDigit';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberDigit': // [0-9]*\n patterns.numberDigit.lastIndex = index;\n match = patterns.numberDigit.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected a digit'));\n break main; // wait for more input\n }\n value = match[0];\n if (value) {\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n } else {\n if (index < this._buffer.length) {\n this._expect = 'numberFraction';\n break;\n }\n if (this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n break;\n case 'numberFraction': // [\\.eE]?\n patterns.numberFraction.lastIndex = index;\n match = patterns.numberFraction.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = value === '.' ? 'numberFracStart' : 'numberExpSign';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberFracStart': // [0-9]\n patterns.numberFracStart.lastIndex = index;\n match = patterns.numberFracStart.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected a fractional part of a number'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberFracDigit';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberFracDigit': // [0-9]*\n patterns.numberFracDigit.lastIndex = index;\n match = patterns.numberFracDigit.exec(this._buffer);\n value = match[0];\n if (value) {\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n } else {\n if (index < this._buffer.length) {\n this._expect = 'numberExponent';\n break;\n }\n if (this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n break;\n case 'numberExponent': // [eE]?\n patterns.numberExponent.lastIndex = index;\n match = patterns.numberExponent.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length) {\n this._expect = expected[this._parent];\n break;\n }\n if (this._done) {\n this._expect = 'done';\n break;\n }\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberExpSign';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberExpSign': // [-+]?\n patterns.numberExpSign.lastIndex = index;\n match = patterns.numberExpSign.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length) {\n this._expect = 'numberExpStart';\n break;\n }\n if (this._done) return callback(new Error('Parser has expected an exponent value of a number'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberExpStart';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberExpStart': // [0-9]\n patterns.numberExpStart.lastIndex = index;\n match = patterns.numberExpStart.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected an exponent part of a number'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberExpDigit';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberExpDigit': // [0-9]*\n patterns.numberExpDigit.lastIndex = index;\n match = patterns.numberExpDigit.exec(this._buffer);\n value = match[0];\n if (value) {\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n } else {\n if (index < this._buffer.length || this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n break;\n case 'done':\n patterns.ws.lastIndex = index;\n match = patterns.ws.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length) {\n if (this._jsonStreaming) {\n this._expect = 'value';\n break;\n }\n return callback(new Error('Parser cannot parse input: unexpected characters'));\n }\n break main; // wait for more input\n }\n value = match[0];\n if (this._open_number) {\n this._streamNumbers && this.push({name: 'endNumber'});\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n }\n }\n !noSticky && (this._buffer = this._buffer.slice(index));\n callback(null);\n }\n}\nParser.parser = Parser.make;\nParser.make.Constructor = Parser;\n\nmodule.exports = Parser;\n", "'use strict';\n\nconst emit = stream => stream.on('data', item => stream.emit(item.name, item.value));\n\nmodule.exports = emit;\n", "'use strict';\n\nconst Parser = require('./Parser');\nconst emit = require('./utils/emit');\n\nconst make = options => emit(new Parser(options));\n\nmake.Parser = Parser;\nmake.parser = Parser.parser;\n\nmodule.exports = make;\n", "'use strict';\n\nconst {Transform} = require('stream');\n\nclass FilterBase extends Transform {\n static stringFilter(string, separator) {\n return stack => {\n const path = stack.join(separator);\n return (\n (path.length === string.length && path === string) ||\n (path.length > string.length && path.substr(0, string.length) === string && path.substr(string.length, separator.length) === separator)\n );\n };\n }\n\n static regExpFilter(regExp, separator) {\n return stack => regExp.test(stack.join(separator));\n }\n\n static arrayReplacement(array) {\n return () => array;\n }\n\n constructor(options) {\n super(Object.assign({}, options, {writableObjectMode: true, readableObjectMode: true}));\n this._transform = this._check;\n this._stack = [];\n\n const filter = options && options.filter,\n separator = (options && options.pathSeparator) || '.';\n if (typeof filter == 'string') {\n this._filter = FilterBase.stringFilter(filter, separator);\n } else if (typeof filter == 'function') {\n this._filter = filter;\n } else if (filter instanceof RegExp) {\n this._filter = FilterBase.regExpFilter(filter, separator);\n }\n\n const replacement = options && options.replacement;\n if (typeof replacement == 'function') {\n this._replacement = replacement;\n } else {\n this._replacement = FilterBase.arrayReplacement(replacement || FilterBase.defaultReplacement);\n }\n this._allowEmptyReplacement = options && options.allowEmptyReplacement;\n\n this._streamKeys = true;\n if (options) {\n 'streamValues' in options && (this._streamKeys = options.streamValues);\n 'streamKeys' in options && (this._streamKeys = options.streamKeys);\n }\n\n this._once = options && options.once;\n this._previousToken = '';\n }\n\n _check(chunk, _, callback) {\n // update the last stack key\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n case 'startString':\n case 'startNumber':\n case 'nullValue':\n case 'trueValue':\n case 'falseValue':\n if (typeof this._stack[this._stack.length - 1] == 'number') {\n // array\n ++this._stack[this._stack.length - 1];\n }\n break;\n case 'keyValue':\n this._stack[this._stack.length - 1] = chunk.value;\n break;\n case 'numberValue':\n if (this._previousToken !== 'endNumber' && typeof this._stack[this._stack.length - 1] == 'number') {\n // array\n ++this._stack[this._stack.length - 1];\n }\n break;\n case 'stringValue':\n if (this._previousToken !== 'endString' && typeof this._stack[this._stack.length - 1] == 'number') {\n // array\n ++this._stack[this._stack.length - 1];\n }\n break;\n }\n this._previousToken = chunk.name;\n // check, if we allow a chunk\n if (this._checkChunk(chunk)) {\n return callback(null);\n }\n // update the stack\n switch (chunk.name) {\n case 'startObject':\n this._stack.push(null);\n break;\n case 'startArray':\n this._stack.push(-1);\n break;\n case 'endObject':\n case 'endArray':\n this._stack.pop();\n break;\n }\n callback(null);\n }\n\n _passObject(chunk, _, callback) {\n this.push(chunk);\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n ++this._depth;\n break;\n case 'endObject':\n case 'endArray':\n --this._depth;\n break;\n }\n if (!this._depth) {\n this._transform = this._once ? this._skip : this._check;\n }\n callback(null);\n }\n\n _pass(chunk, _, callback) {\n this.push(chunk);\n callback(null);\n }\n\n _skipObject(chunk, _, callback) {\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n ++this._depth;\n break;\n case 'endObject':\n case 'endArray':\n --this._depth;\n break;\n }\n if (!this._depth) {\n this._transform = this._once ? this._pass : this._check;\n }\n callback(null);\n }\n\n _skip(chunk, _, callback) {\n callback(null);\n }\n}\n\nFilterBase.defaultReplacement = [{name: 'nullValue', value: null}];\n\nconst passValue = (last, post) =>\n function(chunk, _, callback) {\n if (this._expected) {\n const expected = this._expected;\n this._expected = '';\n this._transform = this._once ? this._skip : this._check;\n if (expected === chunk.name) {\n this.push(chunk);\n } else {\n return this._transform(chunk, _, callback);\n }\n } else {\n this.push(chunk);\n if (chunk.name === last) {\n this._expected = post;\n }\n }\n callback(null);\n };\n\nFilterBase.prototype._passNumber = passValue('endNumber', 'numberValue');\nFilterBase.prototype._passString = passValue('endString', 'stringValue');\nFilterBase.prototype._passKey = passValue('endKey', 'keyValue');\n\nconst skipValue = (last, post) =>\n function(chunk, _, callback) {\n if (this._expected) {\n const expected = this._expected;\n this._expected = '';\n this._transform = this._once ? this._pass : this._check;\n if (expected !== chunk.name) {\n return this._transform(chunk, _, callback);\n }\n } else {\n if (chunk.name === last) {\n this._expected = post;\n }\n }\n callback(null);\n };\n\nFilterBase.prototype._skipNumber = skipValue('endNumber', 'numberValue');\nFilterBase.prototype._skipString = skipValue('endString', 'stringValue');\nFilterBase.prototype._skipKey = skipValue('endKey', 'keyValue');\n\nmodule.exports = FilterBase;\n", "'use strict';\n\nconst Chain = require('stream-chain');\n\nconst Parser = require('../Parser');\n\nconst withParser = (fn, options) =>\n new Chain([new Parser(options), fn(options)], Object.assign({}, options, {writableObjectMode: false, readableObjectMode: true}));\n\nmodule.exports = withParser;\n", "'use strict';\n\nconst FilterBase = require('./FilterBase');\nconst withParser = require('../utils/withParser');\n\nclass Pick extends FilterBase {\n static make(options) {\n return new Pick(options);\n }\n\n static withParser(options) {\n return withParser(Pick.make, options);\n }\n\n _checkChunk(chunk) {\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._passObject;\n this._depth = 1;\n return true;\n }\n break;\n case 'startString':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._passString;\n return true;\n }\n break;\n case 'startNumber':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._passNumber;\n return true;\n }\n break;\n case 'nullValue':\n case 'trueValue':\n case 'falseValue':\n case 'stringValue':\n case 'numberValue':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._once ? this._skip : this._check;\n return true;\n }\n break;\n }\n return false;\n }\n}\nPick.pick = Pick.make;\nPick.make.Constructor = Pick;\n\nmodule.exports = Pick;\n", "'use strict';\n\nconst EventEmitter = require('events');\n\nconst startObject = Ctr =>\n function () {\n if (this.done) {\n this.done = false;\n } else {\n this.stack.push(this.current, this.key);\n }\n this.current = new Ctr();\n this.key = null;\n };\n\nclass Assembler extends EventEmitter {\n static connectTo(stream, options) {\n return new Assembler(options).connectTo(stream);\n }\n\n constructor(options) {\n super();\n this.stack = [];\n this.current = this.key = null;\n this.done = true;\n if (options) {\n this.reviver = typeof options.reviver == 'function' && options.reviver;\n if (this.reviver) {\n this.stringValue = this._saveValue = this._saveValueWithReviver;\n }\n if (options.numberAsString) {\n this.numberValue = this.stringValue;\n }\n }\n }\n\n connectTo(stream) {\n stream.on('data', chunk => {\n if (this[chunk.name]) {\n this[chunk.name](chunk.value);\n if (this.done) this.emit('done', this);\n }\n });\n return this;\n }\n\n get depth() {\n return (this.stack.length >> 1) + (this.done ? 0 : 1);\n }\n\n get path() {\n const path = [];\n for (let i = 0; i < this.stack.length; i += 2) {\n const key = this.stack[i + 1];\n path.push(key === null ? this.stack[i].length : key);\n }\n return path;\n }\n\n dropToLevel(level) {\n if (level < this.depth) {\n if (level) {\n const index = (level - 1) << 1;\n this.current = this.stack[index];\n this.key = this.stack[index + 1];\n this.stack.splice(index);\n } else {\n this.stack = [];\n this.current = this.key = null;\n this.done = true;\n }\n }\n return this;\n }\n\n consume(chunk) {\n this[chunk.name] && this[chunk.name](chunk.value);\n return this;\n }\n\n keyValue(value) {\n this.key = value;\n }\n\n //stringValue() - aliased below to _saveValue()\n\n numberValue(value) {\n this._saveValue(parseFloat(value));\n }\n nullValue() {\n this._saveValue(null);\n }\n trueValue() {\n this._saveValue(true);\n }\n falseValue() {\n this._saveValue(false);\n }\n\n //startObject() - assigned below\n\n endObject() {\n if (this.stack.length) {\n const value = this.current;\n this.key = this.stack.pop();\n this.current = this.stack.pop();\n this._saveValue(value);\n } else {\n this.done = true;\n }\n }\n\n //startArray() - assigned below\n //endArray() - aliased below to endObject()\n\n _saveValue(value) {\n if (this.done) {\n this.current = value;\n } else {\n if (this.current instanceof Array) {\n this.current.push(value);\n } else {\n this.current[this.key] = value;\n this.key = null;\n }\n }\n }\n _saveValueWithReviver(value) {\n if (this.done) {\n this.current = this.reviver('', value);\n } else {\n if (this.current instanceof Array) {\n value = this.reviver('' + this.current.length, value);\n this.current.push(value);\n if (value === undefined) {\n delete this.current[this.current.length - 1];\n }\n } else {\n value = this.reviver(this.key, value);\n if (value !== undefined) {\n this.current[this.key] = value;\n }\n this.key = null;\n }\n }\n }\n}\n\nAssembler.prototype.stringValue = Assembler.prototype._saveValue;\nAssembler.prototype.startObject = startObject(Object);\nAssembler.prototype.startArray = startObject(Array);\nAssembler.prototype.endArray = Assembler.prototype.endObject;\n\nmodule.exports = Assembler;\n", "'use strict';\n\nconst {Transform} = require('stream');\nconst Assembler = require('../Assembler');\n\nclass Counter {\n constructor(initialDepth) {\n this.depth = initialDepth;\n }\n startObject() {\n ++this.depth;\n }\n endObject() {\n --this.depth;\n }\n startArray() {\n ++this.depth;\n }\n endArray() {\n --this.depth;\n }\n}\n\nclass StreamBase extends Transform {\n constructor(options) {\n super(Object.assign({}, options, {writableObjectMode: true, readableObjectMode: true}));\n if (options) {\n this.objectFilter = options.objectFilter;\n this.includeUndecided = options.includeUndecided;\n }\n if (typeof this.objectFilter != 'function') {\n this._filter = this._transform;\n }\n this._transform = this._wait || this._filter;\n this._assembler = new Assembler(options);\n }\n\n _transform(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n if (this._assembler.depth === this._level) {\n this._push();\n }\n }\n callback(null);\n }\n\n _filter(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n const result = this.objectFilter(this._assembler);\n if (result) {\n if (this._assembler.depth === this._level) {\n this._push();\n this._transform = this._filter;\n }\n this._transform = this._accept;\n return callback(null);\n }\n if (result === false) {\n this._saved_assembler = this._assembler;\n this._assembler = new Counter(this._saved_assembler.depth);\n this._saved_assembler.dropToLevel(this._level);\n if (this._assembler.depth === this._level) {\n this._assembler = this._saved_assembler;\n this._transform = this._filter;\n }\n this._transform = this._reject;\n return callback(null);\n }\n if (this._assembler.depth === this._level) {\n this._push(!this.includeUndecided);\n }\n }\n callback(null);\n }\n\n _accept(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n if (this._assembler.depth === this._level) {\n this._push();\n this._transform = this._filter;\n }\n }\n callback(null);\n }\n\n _reject(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n if (this._assembler.depth === this._level) {\n this._assembler = this._saved_assembler;\n this._transform = this._filter;\n }\n }\n callback(null);\n }\n}\n\nmodule.exports = StreamBase;\n", "'use strict';\n\nconst StreamBase = require('./StreamBase');\nconst withParser = require('../utils/withParser');\n\nclass StreamArray extends StreamBase {\n static make(options) {\n return new StreamArray(options);\n }\n\n static withParser(options) {\n return withParser(StreamArray.make, options);\n }\n\n constructor(options) {\n super(options);\n this._level = 1;\n this._counter = 0;\n }\n\n _wait(chunk, _, callback) {\n // first chunk should open an array\n if (chunk.name !== 'startArray') {\n return callback(new Error('Top-level object should be an array.'));\n }\n this._transform = this._filter;\n return this._transform(chunk, _, callback);\n }\n\n _push(discard) {\n if (this._assembler.current.length) {\n if (discard) {\n ++this._counter;\n this._assembler.current.pop();\n } else {\n this.push({key: this._counter++, value: this._assembler.current.pop()});\n }\n }\n }\n}\nStreamArray.streamArray = StreamArray.make;\nStreamArray.make.Constructor = StreamArray;\n\nmodule.exports = StreamArray;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useStreamJSON = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst cross_fetch_1 = __importDefault(require(\"cross-fetch\"));\nconst node_fs_1 = require(\"node:fs\");\nconst promises_1 = require(\"node:fs/promises\");\nconst node_path_1 = require(\"node:path\");\nconst promises_2 = require(\"node:stream/promises\");\nconst react_1 = require(\"react\");\nconst stream_chain_1 = __importDefault(require(\"stream-chain\"));\nconst stream_json_1 = require(\"stream-json\");\nconst Pick_1 = __importDefault(require(\"stream-json/filters/Pick\"));\nconst StreamArray_1 = __importDefault(require(\"stream-json/streamers/StreamArray\"));\nconst fetch_utils_1 = require(\"./fetch-utils\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst helpers_1 = require(\"./helpers\");\nasync function cache(url, destination, fetchOptions) {\n if (typeof url === \"object\" || url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\n return await cacheURL(url, destination, fetchOptions);\n }\n else if (url.startsWith(\"file://\")) {\n return await cacheFile((0, node_path_1.normalize)(decodeURIComponent(new URL(url).pathname)), destination, fetchOptions?.signal ? fetchOptions.signal : undefined);\n }\n else {\n throw new Error(\"Only HTTP(S) or file URLs are supported\");\n }\n}\nasync function cacheURL(url, destination, fetchOptions) {\n const response = await (0, cross_fetch_1.default)(url, fetchOptions);\n if (!response.ok) {\n throw new Error(\"Failed to fetch URL\");\n }\n if (!(0, fetch_utils_1.isJSON)(response.headers.get(\"content-type\"))) {\n throw new Error(\"URL does not return JSON\");\n }\n if (!response.body) {\n throw new Error(\"Failed to retrieve expected JSON content: Response body is missing or inaccessible.\");\n }\n await (0, promises_2.pipeline)(response.body, (0, node_fs_1.createWriteStream)(destination), fetchOptions?.signal ? { signal: fetchOptions.signal } : undefined);\n}\nasync function cacheFile(source, destination, abortSignal) {\n await (0, promises_2.pipeline)((0, node_fs_1.createReadStream)(source), (0, node_fs_1.createWriteStream)(destination), abortSignal ? { signal: abortSignal } : undefined);\n}\nasync function cacheURLIfNecessary(url, folder, fileName, forceUpdate, fetchOptions) {\n const destination = (0, node_path_1.join)(folder, fileName);\n try {\n await (0, promises_1.stat)(folder);\n }\n catch (e) {\n (0, node_fs_1.mkdirSync)(folder, { recursive: true });\n await cache(url, destination, fetchOptions);\n return;\n }\n if (forceUpdate) {\n await cache(url, destination, fetchOptions);\n return;\n }\n let stats = undefined;\n try {\n stats = await (0, promises_1.stat)(destination);\n }\n catch (e) {\n await cache(url, destination, fetchOptions);\n return;\n }\n if (typeof url === \"object\" || url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\n const headResponse = await (0, cross_fetch_1.default)(url, { ...fetchOptions, method: \"HEAD\" });\n if (!headResponse.ok) {\n throw new Error(\"Could not fetch URL\");\n }\n if (!(0, fetch_utils_1.isJSON)(headResponse.headers.get(\"content-type\"))) {\n throw new Error(\"URL does not return JSON\");\n }\n const lastModified = Date.parse(headResponse.headers.get(\"last-modified\") ?? \"\");\n if (stats.size === 0 || Number.isNaN(lastModified) || lastModified > stats.mtimeMs) {\n await cache(url, destination, fetchOptions);\n return;\n }\n }\n else if (url.startsWith(\"file://\")) {\n try {\n const sourceStats = await (0, promises_1.stat)((0, node_path_1.normalize)(decodeURIComponent(new URL(url).pathname)));\n if (sourceStats.mtimeMs > stats.mtimeMs) {\n await cache(url, destination, fetchOptions);\n }\n }\n catch (e) {\n throw new Error(\"Source file could not be read\");\n }\n }\n else {\n throw new Error(\"Only HTTP(S) or file URLs are supported\");\n }\n}\nasync function* streamJsonFile(filePath, pageSize, abortSignal, dataPath, filterFn, transformFn) {\n let page = [];\n const pipeline = new stream_chain_1.default([\n (0, node_fs_1.createReadStream)(filePath),\n dataPath ? Pick_1.default.withParser({ filter: dataPath }) : (0, stream_json_1.parser)(),\n new StreamArray_1.default(),\n (data) => transformFn?.(data.value) ?? data.value,\n ]);\n abortSignal?.addEventListener(\"abort\", () => {\n pipeline.destroy();\n });\n try {\n for await (const data of pipeline) {\n if (abortSignal?.aborted) {\n return [];\n }\n if (!filterFn || filterFn(data)) {\n page.push(data);\n }\n if (page.length >= pageSize) {\n yield page;\n page = [];\n }\n }\n }\n catch (e) {\n pipeline.destroy();\n throw e;\n }\n if (page.length > 0) {\n yield page;\n }\n return [];\n}\nfunction useStreamJSON(url, options) {\n const { initialData, execute, keepPreviousData, onError, onData, onWillExecute, failureToastOptions, dataPath, filter, transform, pageSize = 20, ...fetchOptions } = options ?? {};\n const previousUrl = (0, react_1.useRef)();\n const previousDestination = (0, react_1.useRef)();\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n failureToastOptions,\n };\n const generatorRef = (0, react_1.useRef)(null);\n const controllerRef = (0, react_1.useRef)(null);\n const hasMoreRef = (0, react_1.useRef)(false);\n return (0, useCachedPromise_1.useCachedPromise)((url, pageSize, fetchOptions, dataPath, filter, transform) => async ({ page }) => {\n const fileName = (0, helpers_1.hash)(url) + \".json\";\n const folder = api_1.environment.supportPath;\n if (page === 0) {\n controllerRef.current?.abort();\n controllerRef.current = new AbortController();\n const destination = (0, node_path_1.join)(folder, fileName);\n /**\n * Force update the cache when the URL changes but the cache destination does not.\n */\n const forceCacheUpdate = Boolean(previousUrl.current &&\n previousUrl.current !== url &&\n previousDestination.current &&\n previousDestination.current === destination);\n previousUrl.current = url;\n previousDestination.current = destination;\n await cacheURLIfNecessary(url, folder, fileName, forceCacheUpdate, {\n ...fetchOptions,\n signal: controllerRef.current?.signal,\n });\n generatorRef.current = streamJsonFile(destination, pageSize, controllerRef.current?.signal, dataPath, filter, transform);\n }\n if (!generatorRef.current) {\n return { hasMore: hasMoreRef.current, data: [] };\n }\n const { value: newData, done } = await generatorRef.current.next();\n hasMoreRef.current = !done;\n return { hasMore: hasMoreRef.current, data: (newData ?? []) };\n }, [url, pageSize, fetchOptions, dataPath, filter, transform], useCachedPromiseOptions);\n}\nexports.useStreamJSON = useStreamJSON;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useSQL = void 0;\nconst jsx_runtime_1 = require(\"react/jsx-runtime\");\nconst api_1 = require(\"@raycast/api\");\nconst node_fs_1 = require(\"node:fs\");\nconst promises_1 = require(\"node:fs/promises\");\nconst node_os_1 = __importDefault(require(\"node:os\"));\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst node_path_1 = __importDefault(require(\"node:path\"));\nconst react_1 = require(\"react\");\nconst usePromise_1 = require(\"./usePromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst exec_utils_1 = require(\"./exec-utils\");\nconst showFailureToast_1 = require(\"./showFailureToast\");\nconst helpers_1 = require(\"./helpers\");\n/**\n * Executes a query on a local SQL database and returns the {@link AsyncState} corresponding to the query of the command. The last value will be kept between command runs.\n *\n * @example\n * ```\n * import { useSQL } from \"@raycast/utils\";\n * import { resolve } from \"path\";\n * import { homedir } from \"os\";\n *\n * const NOTES_DB = resolve(homedir(), \"Library/Group Containers/group.com.apple.notes/NoteStore.sqlite\");\n * const notesQuery = `SELECT id, title FROM ...`;\n * type NoteItem = {\n * id: string;\n * title: string;\n * };\n *\n * export default function Command() {\n * const { isLoading, data, permissionView } = useSQL<NoteItem>(NOTES_DB, notesQuery);\n *\n * if (permissionView) {\n * return permissionView;\n * }\n *\n * return (\n * <List isLoading={isLoading}>\n * {(data || []).map((item) => (\n * <List.Item key={item.id} title={item.title} />\n * ))}\n * </List>\n * );\n * };\n * ```\n */\nfunction useSQL(databasePath, query, options) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { permissionPriming, ...usePromiseOptions } = options || {};\n const [permissionView, setPermissionView] = (0, react_1.useState)();\n const latestOptions = (0, useLatest_1.useLatest)(options || {});\n const abortable = (0, react_1.useRef)();\n const handleError = (0, react_1.useCallback)((_error) => {\n console.error(_error);\n const error = _error instanceof Error && _error.message.includes(\"authorization denied\")\n ? new PermissionError(\"You do not have permission to access the database.\")\n : _error;\n if (isPermissionError(error)) {\n setPermissionView((0, jsx_runtime_1.jsx)(PermissionErrorScreen, { priming: latestOptions.current.permissionPriming }));\n }\n else {\n if (latestOptions.current.onError) {\n latestOptions.current.onError(error);\n }\n else {\n if (api_1.environment.launchType !== api_1.LaunchType.Background) {\n (0, showFailureToast_1.showFailureToast)(error, {\n title: \"Cannot query the data\",\n });\n }\n }\n }\n }, [latestOptions]);\n const fn = (0, react_1.useMemo)(() => {\n if (!(0, node_fs_1.existsSync)(databasePath)) {\n throw new Error(\"The database does not exist\");\n }\n let workaroundCopiedDb = undefined;\n return async (databasePath, query) => {\n const abortSignal = abortable.current?.signal;\n const spawned = node_child_process_1.default.spawn(\"sqlite3\", [\"--json\", \"--readonly\", databasePath, query], {\n signal: abortSignal,\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned);\n let [{ error, exitCode, signal }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf-8\" }, spawnedPromise);\n checkAborted(abortSignal);\n if (stderrResult.match(\"(5)\") || stderrResult.match(\"(14)\")) {\n // That means that the DB is busy because of another app is locking it\n // This happens when Chrome or Arc is opened: they lock the History db.\n // As an ugly workaround, we duplicate the file and read that instead\n // (with vfs unix - none to just not care about locks)\n if (!workaroundCopiedDb) {\n const tempFolder = node_path_1.default.join(node_os_1.default.tmpdir(), \"useSQL\", (0, helpers_1.hash)(databasePath));\n await (0, promises_1.mkdir)(tempFolder, { recursive: true });\n checkAborted(abortSignal);\n workaroundCopiedDb = node_path_1.default.join(tempFolder, \"db.db\");\n await (0, promises_1.copyFile)(databasePath, workaroundCopiedDb);\n // needed for certain db\n await (0, promises_1.writeFile)(workaroundCopiedDb + \"-shm\", \"\");\n await (0, promises_1.writeFile)(workaroundCopiedDb + \"-wal\", \"\");\n checkAborted(abortSignal);\n }\n const spawned = node_child_process_1.default.spawn(\"sqlite3\", [\"--json\", \"--readonly\", \"--vfs\", \"unix-none\", workaroundCopiedDb, query], {\n signal: abortSignal,\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned);\n [{ error, exitCode, signal }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf-8\" }, spawnedPromise);\n checkAborted(abortSignal);\n }\n if (error || exitCode !== 0 || signal !== null) {\n throw new Error(stderrResult);\n }\n return JSON.parse(stdoutResult.trim() || \"[]\");\n };\n }, [databasePath]);\n return {\n ...(0, usePromise_1.usePromise)(fn, [databasePath, query], { ...usePromiseOptions, onError: handleError }),\n permissionView,\n };\n}\nexports.useSQL = useSQL;\nclass PermissionError extends Error {\n constructor(message) {\n super(message);\n this.name = \"PermissionError\";\n }\n}\nfunction isPermissionError(error) {\n return error instanceof Error && error.name === \"PermissionError\";\n}\nconst macosVenturaAndLater = parseInt(node_os_1.default.release().split(\".\")[0]) >= 22;\nconst preferencesString = macosVenturaAndLater ? \"Settings\" : \"Preferences\";\nfunction PermissionErrorScreen(props) {\n const action = macosVenturaAndLater\n ? {\n title: \"Open System Settings -> Privacy\",\n target: \"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles\",\n }\n : {\n title: \"Open System Preferences -> Security\",\n target: \"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles\",\n };\n if (api_1.environment.commandMode === \"menu-bar\") {\n return ((0, jsx_runtime_1.jsxs)(api_1.MenuBarExtra, { icon: api_1.Icon.Warning, title: api_1.environment.commandName, children: [(0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: \"Raycast needs full disk access\", tooltip: `You can revert this access in ${preferencesString} whenever you want` }), props.priming ? ((0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: props.priming, tooltip: `You can revert this access in ${preferencesString} whenever you want` })) : null, (0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Separator, {}), (0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: action.title, onAction: () => (0, api_1.open)(action.target) })] }));\n }\n return ((0, jsx_runtime_1.jsx)(api_1.List, { children: (0, jsx_runtime_1.jsx)(api_1.List.EmptyView, { icon: {\n source: {\n light: \"https://raycast.com/uploads/extensions-utils-security-permissions-light.png\",\n dark: \"https://raycast.com/uploads/extensions-utils-security-permissions-dark.png\",\n },\n }, title: \"Raycast needs full disk access.\", description: `${props.priming ? props.priming + \"\\n\" : \"\"}You can revert this access in ${preferencesString} whenever you want.`, actions: (0, jsx_runtime_1.jsx)(api_1.ActionPanel, { children: (0, jsx_runtime_1.jsx)(api_1.Action.Open, { ...action }) }) }) }));\n}\nfunction checkAborted(signal) {\n if (signal?.aborted) {\n const error = new Error(\"aborted\");\n error.name = \"AbortError\";\n throw error;\n }\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useForm = exports.FormValidation = void 0;\nconst react_1 = require(\"react\");\nconst useLatest_1 = require(\"./useLatest\");\n/**\n * Shorthands for common validation cases\n */\nvar FormValidation;\n(function (FormValidation) {\n /** Show an error when the value of the item is empty */\n FormValidation[\"Required\"] = \"required\";\n})(FormValidation || (exports.FormValidation = FormValidation = {}));\nfunction validationError(validation, value) {\n if (validation) {\n if (typeof validation === \"function\") {\n return validation(value);\n }\n else if (validation === FormValidation.Required) {\n let valueIsValid = typeof value !== \"undefined\" && value !== null;\n if (valueIsValid) {\n switch (typeof value) {\n case \"string\":\n valueIsValid = value.length > 0;\n break;\n case \"object\":\n if (Array.isArray(value)) {\n valueIsValid = value.length > 0;\n }\n else if (value instanceof Date) {\n valueIsValid = value.getTime() > 0;\n }\n break;\n default:\n break;\n }\n }\n if (!valueIsValid) {\n return \"The item is required\";\n }\n }\n }\n}\n/**\n * Hook that provides a high-level interface to work with Forms, and more particularly, with Form validations. It incorporates all the good practices to provide a great User Experience for your Forms.\n *\n * @returns an object which contains the necessary methods and props to provide a good User Experience in your Form.\n *\n * @example\n * ```\n * import { Action, ActionPanel, Form, showToast, Toast } from \"@raycast/api\";\n * import { useForm, FormValidation } from \"@raycast/utils\";\n *\n * interface SignUpFormValues {\n * nickname: string;\n * password: string;\n * }\n *\n * export default function Command() {\n * const { handleSubmit, itemProps } = useForm<SignUpFormValues>({\n * onSubmit(values) {\n * showToast(Toast.Style.Success, \"Yay!\", `${values.nickname} account created`);\n * },\n * validation: {\n * nickname: FormValidation.Required,\n * password: (value) => {\n * if (value && value.length < 8) {\n * return \"Password must be at least 8 symbols\";\n * } else if (!value) {\n * return \"The item is required\";\n * }\n * },\n * },\n * });\n *\n * return (\n * <Form\n * actions={\n * <ActionPanel>\n * <Action.SubmitForm title=\"Submit\" onSubmit={handleSubmit} />\n * </ActionPanel>\n * }\n * >\n * <Form.TextField title=\"Nickname\" placeholder=\"Enter your nickname\" {...itemProps.nickname} />\n * <Form.PasswordField\n * title=\"Password\"\n * placeholder=\"Enter password at least 8 characters long\"\n * {...itemProps.password}\n * />\n * </Form>\n * );\n * }\n * ```\n */\nfunction useForm(props) {\n const { onSubmit: _onSubmit, validation, initialValues = {} } = props;\n // @ts-expect-error it's fine if we don't specify all the values\n const [values, setValues] = (0, react_1.useState)(initialValues);\n const [errors, setErrors] = (0, react_1.useState)({});\n const refs = (0, react_1.useRef)({});\n const latestValidation = (0, useLatest_1.useLatest)(validation || {});\n const latestOnSubmit = (0, useLatest_1.useLatest)(_onSubmit);\n const focus = (0, react_1.useCallback)((id) => {\n refs.current[id]?.focus();\n }, [refs]);\n const handleSubmit = (0, react_1.useCallback)(async (values) => {\n let validationErrors = false;\n for (const [id, validation] of Object.entries(latestValidation.current)) {\n const error = validationError(validation, values[id]);\n if (error) {\n if (!validationErrors) {\n validationErrors = {};\n // we focus the first item that has an error\n focus(id);\n }\n validationErrors[id] = error;\n }\n }\n if (validationErrors) {\n setErrors(validationErrors);\n return false;\n }\n const result = await latestOnSubmit.current(values);\n return typeof result === \"boolean\" ? result : true;\n }, [latestValidation, latestOnSubmit, focus]);\n const setValidationError = (0, react_1.useCallback)((id, error) => {\n setErrors((errors) => ({ ...errors, [id]: error }));\n }, [setErrors]);\n const setValue = (0, react_1.useCallback)(function (id, value) {\n // @ts-expect-error TS is always confused about SetStateAction, but it's fine here\n setValues((values) => ({ ...values, [id]: typeof value === \"function\" ? value(values[id]) : value }));\n }, [setValues]);\n const itemProps = (0, react_1.useMemo)(() => {\n // we have to use a proxy because we don't actually have any object to iterate through\n // so instead we dynamically create the props when required\n return new Proxy(\n // @ts-expect-error the whole point of a proxy...\n {}, {\n get(target, id) {\n const validation = latestValidation.current[id];\n const value = values[id];\n return {\n onChange(value) {\n if (errors[id]) {\n const error = validationError(validation, value);\n if (!error) {\n setValidationError(id, undefined);\n }\n }\n setValue(id, value);\n },\n onBlur(event) {\n const error = validationError(validation, event.target.value);\n if (error) {\n setValidationError(id, error);\n }\n },\n error: errors[id],\n id,\n // we shouldn't return `undefined` otherwise it will be an uncontrolled component\n value: typeof value === \"undefined\" ? null : value,\n ref: (instance) => {\n refs.current[id] = instance;\n },\n };\n },\n });\n }, [errors, latestValidation, setValidationError, values, refs, setValue]);\n const reset = (0, react_1.useCallback)((values) => {\n setErrors({});\n Object.entries(refs.current).forEach(([id, ref]) => {\n if (!values?.[id]) {\n ref?.reset();\n }\n });\n if (values) {\n // @ts-expect-error it's fine if we don't specify all the values\n setValues(values);\n }\n }, [setValues, setErrors, refs]);\n return { handleSubmit, setValidationError, setValue, values, itemProps, focus, reset };\n}\nexports.useForm = useForm;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useAI = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst usePromise_1 = require(\"./usePromise\");\n/**\n * Stream a prompt completion.\n *\n * @example\n * ```typescript\n * import { Detail, LaunchProps } from \"@raycast/api\";\n * import { use AI } from \"@raycast/utils\";\n *\n * export default function Command(props: LaunchProps<{ arguments: { prompt: string } }>) {\n * const { isLoading, data } = useAI(props.arguments.prompt);\n *\n * return <Detail isLoading={isLoading} markdown={data} />;\n * }\n * ```\n */\nfunction useAI(prompt, options = {}) {\n const { creativity, stream, model, ...usePromiseOptions } = options;\n const [data, setData] = (0, react_1.useState)(\"\");\n const abortable = (0, react_1.useRef)();\n const { isLoading, error, revalidate } = (0, usePromise_1.usePromise)(async (prompt, creativity, shouldStream) => {\n setData(\"\");\n const stream = api_1.AI.ask(prompt, { creativity, model, signal: abortable.current?.signal });\n if (shouldStream === false) {\n setData(await stream);\n }\n else {\n stream.on(\"data\", (data) => {\n setData((x) => x + data);\n });\n await stream;\n }\n }, [prompt, creativity, stream], { ...usePromiseOptions, abortable });\n return { isLoading, data, error, revalidate };\n}\nexports.useAI = useAI;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFrecencySorting = void 0;\nconst react_1 = require(\"react\");\nconst useLatest_1 = require(\"./useLatest\");\nconst useCachedState_1 = require(\"./useCachedState\");\nconst HALF_LIFE_DAYS = 10;\nconst MS_PER_DAY = 24 * 60 * 60 * 1000;\nconst DECAY_RATE_CONSTANT = Math.log(2) / (HALF_LIFE_DAYS * MS_PER_DAY);\nconst VISIT_TYPE_POINTS = {\n Default: 100,\n Embed: 0,\n Bookmark: 140,\n};\nfunction getNewFrecency(item) {\n const now = Date.now();\n const lastVisited = item ? item.lastVisited : 0;\n const frecency = item ? item.frecency : 0;\n const visitAgeInDays = (now - lastVisited) / MS_PER_DAY;\n const currentVisitValue = VISIT_TYPE_POINTS.Default * Math.exp(-DECAY_RATE_CONSTANT * visitAgeInDays);\n const totalVisitValue = frecency + currentVisitValue;\n return {\n lastVisited: now,\n frecency: totalVisitValue,\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst defaultKey = (item) => {\n if (process.env.NODE_ENV !== \"production\" &&\n (typeof item !== \"object\" || !item || !(\"id\" in item) || typeof item.id != \"string\")) {\n throw new Error(\"Specify a key function or make sure your items have an 'id' property\");\n }\n return item.id;\n};\nfunction useFrecencySorting(data, options) {\n const keyRef = (0, useLatest_1.useLatest)(options?.key || defaultKey);\n const sortUnvisitedRef = (0, useLatest_1.useLatest)(options?.sortUnvisited);\n const [storedFrecencies, setStoredFrecencies] = (0, useCachedState_1.useCachedState)(`raycast_frecency_${options?.namespace}`, {});\n const visitItem = (0, react_1.useCallback)(async function updateFrecency(item) {\n const itemKey = keyRef.current(item);\n setStoredFrecencies((storedFrecencies) => {\n const frecency = storedFrecencies[itemKey];\n const newFrecency = getNewFrecency(frecency);\n return {\n ...storedFrecencies,\n [itemKey]: newFrecency,\n };\n });\n }, [keyRef, setStoredFrecencies]);\n const resetRanking = (0, react_1.useCallback)(async function removeFrecency(item) {\n const itemKey = keyRef.current(item);\n setStoredFrecencies((storedFrecencies) => {\n const newFrencencies = { ...storedFrecencies };\n delete newFrencencies[itemKey];\n return newFrencencies;\n });\n }, [keyRef, setStoredFrecencies]);\n const sortedData = (0, react_1.useMemo)(() => {\n if (!data) {\n return [];\n }\n return data.sort((a, b) => {\n const frecencyA = storedFrecencies[keyRef.current(a)];\n const frecencyB = storedFrecencies[keyRef.current(b)];\n // If a has a frecency, but b doesn't, a should come first\n if (frecencyA && !frecencyB) {\n return -1;\n }\n // If b has a frecency, but a doesn't, b should come first\n if (!frecencyA && frecencyB) {\n return 1;\n }\n // If both frecencies are defined,put the one with the higher frecency first\n if (frecencyA && frecencyB) {\n return frecencyB.frecency - frecencyA.frecency;\n }\n // If both frecencies are undefined, keep the original order\n return sortUnvisitedRef.current ? sortUnvisitedRef.current(a, b) : 0;\n });\n }, [storedFrecencies, data, keyRef, sortUnvisitedRef]);\n return { data: sortedData, visitItem, resetRanking };\n}\nexports.useFrecencySorting = useFrecencySorting;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLocalStorage = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst showFailureToast_1 = require(\"./showFailureToast\");\nconst helpers_1 = require(\"./helpers\");\nconst usePromise_1 = require(\"./usePromise\");\n/**\n * A hook to manage a value in the local storage.\n *\n * @remark The value is stored as a JSON string in the local storage.\n *\n * @param key - The key to use for the value in the local storage.\n * @param initialValue - The initial value to use if the key doesn't exist in the local storage.\n * @returns An object with the following properties:\n * - `value`: The value from the local storage or the initial value if the key doesn't exist.\n * - `setValue`: A function to update the value in the local storage.\n * - `removeValue`: A function to remove the value from the local storage.\n * - `isLoading`: A boolean indicating if the value is loading.\n *\n * @example\n * ```\n * const { value, setValue } = useLocalStorage<string>(\"my-key\");\n * const { value, setValue } = useLocalStorage<string>(\"my-key\", \"default value\");\n * ```\n */\nfunction useLocalStorage(key, initialValue) {\n const { data: value, isLoading, mutate, } = (0, usePromise_1.usePromise)(async (storageKey) => {\n const item = await api_1.LocalStorage.getItem(storageKey);\n return typeof item !== \"undefined\" ? JSON.parse(item, helpers_1.reviver) : initialValue;\n }, [key]);\n async function setValue(value) {\n try {\n await mutate(api_1.LocalStorage.setItem(key, JSON.stringify(value, helpers_1.replacer)), {\n optimisticUpdate(value) {\n return value;\n },\n });\n }\n catch (error) {\n await (0, showFailureToast_1.showFailureToast)(error, { title: \"Failed to set value in local storage\" });\n }\n }\n async function removeValue() {\n try {\n await mutate(api_1.LocalStorage.removeItem(key), {\n optimisticUpdate() {\n return undefined;\n },\n });\n }\n catch (error) {\n await (0, showFailureToast_1.showFailureToast)(error, { title: \"Failed to remove value from local storage\" });\n }\n }\n return { value, setValue, removeValue, isLoading };\n}\nexports.useLocalStorage = useLocalStorage;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.slightlyLighterColor = exports.slightlyDarkerColor = void 0;\nfunction hexToRGB(hex) {\n let r = 0;\n let g = 0;\n let b = 0;\n // 3 digits\n if (hex.length === 4) {\n r = parseInt(`${hex[1]}${hex[1]}`, 16);\n g = parseInt(`${hex[2]}${hex[2]}`, 16);\n b = parseInt(`${hex[3]}${hex[3]}`, 16);\n // 6 digits\n }\n else if (hex.length === 7) {\n r = parseInt(`${hex[1]}${hex[2]}`, 16);\n g = parseInt(`${hex[3]}${hex[4]}`, 16);\n b = parseInt(`${hex[5]}${hex[6]}`, 16);\n }\n else {\n throw new Error(`Malformed hex color: ${hex}`);\n }\n return { r, g, b };\n}\nfunction rgbToHex({ r, g, b }) {\n let rString = r.toString(16);\n let gString = g.toString(16);\n let bString = b.toString(16);\n if (rString.length === 1) {\n rString = `0${rString}`;\n }\n if (gString.length === 1) {\n gString = `0${gString}`;\n }\n if (bString.length === 1) {\n bString = `0${bString}`;\n }\n return `#${rString}${gString}${bString}`;\n}\nfunction rgbToHSL({ r, g, b }) {\n // Make r, g, and b fractions of 1\n r /= 255;\n g /= 255;\n b /= 255;\n // Find greatest and smallest channel values\n const cmin = Math.min(r, g, b);\n const cmax = Math.max(r, g, b);\n const delta = cmax - cmin;\n let h = 0;\n let s = 0;\n let l = 0;\n // Calculate hue\n // No difference\n if (delta === 0) {\n h = 0;\n }\n // Red is max\n else if (cmax === r) {\n h = ((g - b) / delta) % 6;\n }\n // Green is max\n else if (cmax === g) {\n h = (b - r) / delta + 2;\n }\n // Blue is max\n else {\n h = (r - g) / delta + 4;\n }\n h = Math.round(h * 60);\n // Make negative hues positive behind 360\u00B0\n if (h < 0) {\n h += 360;\n }\n // Calculate lightness\n l = (cmax + cmin) / 2;\n // Calculate saturation\n s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));\n // Multiply l and s by 100\n s = +(s * 100).toFixed(1);\n l = +(l * 100).toFixed(1);\n return { h, s, l };\n}\nfunction hslToRGB({ h, s, l }) {\n // Must be fractions of 1\n s /= 100;\n l /= 100;\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = l - c / 2;\n let r = 0;\n let g = 0;\n let b = 0;\n if (h >= 0 && h < 60) {\n r = c;\n g = x;\n b = 0;\n }\n else if (h >= 60 && h < 120) {\n r = x;\n g = c;\n b = 0;\n }\n else if (h >= 120 && h < 180) {\n r = 0;\n g = c;\n b = x;\n }\n else if (h >= 180 && h < 240) {\n r = 0;\n g = x;\n b = c;\n }\n else if (h >= 240 && h < 300) {\n r = x;\n g = 0;\n b = c;\n }\n else if (h >= 300 && h < 360) {\n r = c;\n g = 0;\n b = x;\n }\n r = Math.round((r + m) * 255);\n g = Math.round((g + m) * 255);\n b = Math.round((b + m) * 255);\n return { r, g, b };\n}\nfunction hexToHSL(hex) {\n return rgbToHSL(hexToRGB(hex));\n}\nfunction hslToHex(hsl) {\n return rgbToHex(hslToRGB(hsl));\n}\nfunction clamp(value, min, max) {\n return min < max ? (value < min ? min : value > max ? max : value) : value < max ? max : value > min ? min : value;\n}\nconst offset = 12;\nfunction slightlyDarkerColor(hex) {\n const hsl = hexToHSL(hex);\n return hslToHex({\n h: hsl.h,\n s: hsl.s,\n l: clamp(hsl.l - offset, 0, 100),\n });\n}\nexports.slightlyDarkerColor = slightlyDarkerColor;\nfunction slightlyLighterColor(hex) {\n const hsl = hexToHSL(hex);\n return hslToHex({\n h: hsl.h,\n s: hsl.s,\n l: clamp(hsl.l + offset, 0, 100),\n });\n}\nexports.slightlyLighterColor = slightlyLighterColor;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAvatarIcon = void 0;\nconst color_1 = require(\"./color\");\nfunction getWholeCharAndI(str, i) {\n const code = str.charCodeAt(i);\n if (Number.isNaN(code)) {\n return [\"\", i];\n }\n if (code < 0xd800 || code > 0xdfff) {\n return [str.charAt(i), i]; // Normal character, keeping 'i' the same\n }\n // High surrogate (could change last hex to 0xDB7F to treat high private\n // surrogates as single characters)\n if (0xd800 <= code && code <= 0xdbff) {\n if (str.length <= i + 1) {\n throw new Error(\"High surrogate without following low surrogate\");\n }\n const next = str.charCodeAt(i + 1);\n if (0xdc00 > next || next > 0xdfff) {\n throw new Error(\"High surrogate without following low surrogate\");\n }\n return [str.charAt(i) + str.charAt(i + 1), i + 1];\n }\n // Low surrogate (0xDC00 <= code && code <= 0xDFFF)\n if (i === 0) {\n throw new Error(\"Low surrogate without preceding high surrogate\");\n }\n const prev = str.charCodeAt(i - 1);\n // (could change last hex to 0xDB7F to treat high private surrogates\n // as single characters)\n if (0xd800 > prev || prev > 0xdbff) {\n throw new Error(\"Low surrogate without preceding high surrogate\");\n }\n // Return the next character instead (and increment)\n return [str.charAt(i + 1), i + 1];\n}\nconst avatarColorSet = [\n \"#DC829A\",\n \"#D64854\",\n \"#D47600\",\n \"#D36CDD\",\n \"#52A9E4\",\n \"#7871E8\",\n \"#70920F\",\n \"#43B93A\",\n \"#EB6B3E\",\n \"#26B795\",\n \"#D85A9B\",\n \"#A067DC\",\n \"#BD9500\",\n \"#5385D9\", // Blue\n];\n/**\n * Icon to represent an avatar when you don't have one. The generated avatar\n * will be generated from the initials of the name and have a colorful but consistent background.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getAvatarIcon('Mathieu Dutour')} title=\"Project\" />\n * ```\n */\nfunction getAvatarIcon(name, options) {\n const words = name.trim().split(\" \");\n let initials;\n if (words.length == 1 && getWholeCharAndI(words[0], 0)[0]) {\n initials = getWholeCharAndI(words[0], 0)[0];\n }\n else if (words.length > 1) {\n const firstWordFirstLetter = getWholeCharAndI(words[0], 0)[0] || \"\";\n const lastWordFirstLetter = getWholeCharAndI(words[words.length - 1], 0)[0] ?? \"\";\n initials = firstWordFirstLetter + lastWordFirstLetter;\n }\n else {\n initials = \"\";\n }\n let backgroundColor;\n if (options?.background) {\n backgroundColor = options?.background;\n }\n else {\n let initialsCharIndex = 0;\n let [char, i] = getWholeCharAndI(initials, 0);\n while (char) {\n initialsCharIndex += char.charCodeAt(0);\n [char, i] = getWholeCharAndI(initials, i + 1);\n }\n const colorIndex = initialsCharIndex % avatarColorSet.length;\n backgroundColor = avatarColorSet[colorIndex];\n }\n const padding = 0;\n const radius = 50 - padding;\n const svg = `<svg width=\"100px\" height=\"100px\">\n ${options?.gradient !== false\n ? `<defs>\n <linearGradient id=\"Gradient\" x1=\"0.25\" x2=\"0.75\" y1=\"0\" y2=\"1\">\n <stop offset=\"0%\" stop-color=\"${(0, color_1.slightlyLighterColor)(backgroundColor)}\"/>\n <stop offset=\"50%\" stop-color=\"${backgroundColor}\"/>\n <stop offset=\"100%\" stop-color=\"${(0, color_1.slightlyDarkerColor)(backgroundColor)}\"/>\n </linearGradient>\n </defs>`\n : \"\"}\n <circle cx=\"50\" cy=\"50\" r=\"${radius}\" fill=\"${options?.gradient !== false ? \"url(#Gradient)\" : backgroundColor}\" />\n ${initials\n ? `<text x=\"50\" y=\"80\" font-size=\"${radius - 1}\" font-family=\"Inter, sans-serif\" text-anchor=\"middle\" fill=\"white\">${initials.toUpperCase()}</text>`\n : \"\"}\n </svg>\n `.replaceAll(\"\\n\", \"\");\n return `data:image/svg+xml,${svg}`;\n}\nexports.getAvatarIcon = getAvatarIcon;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFavicon = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst url_1 = require(\"url\");\n/**\n * Icon showing the favicon of a website.\n *\n * A favicon (favorite icon) is a tiny icon included along with a website, which is displayed in places like the browser's address bar, page tabs, and bookmarks menu.\n *\n * @param url The URL of the website to represent.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getFavicon(\"https://raycast.com\")} title=\"Raycast Website\" />\n * ```\n */\nfunction getFavicon(url, options) {\n try {\n const urlObj = typeof url === \"string\" ? new url_1.URL(url) : url;\n const hostname = urlObj.hostname;\n return {\n source: `https://www.google.com/s2/favicons?sz=${options?.size ?? 64}&domain=${hostname}`,\n fallback: options?.fallback ?? api_1.Icon.Link,\n mask: options?.mask,\n };\n }\n catch (e) {\n console.error(e);\n return api_1.Icon.Link;\n }\n}\nexports.getFavicon = getFavicon;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getProgressIcon = void 0;\nconst api_1 = require(\"@raycast/api\");\nfunction polarToCartesian(centerX, centerY, radius, angleInDegrees) {\n const angleInRadians = ((angleInDegrees - 90) * Math.PI) / 180.0;\n return {\n x: centerX + radius * Math.cos(angleInRadians),\n y: centerY + radius * Math.sin(angleInRadians),\n };\n}\nfunction describeArc(x, y, radius, startAngle, endAngle) {\n const start = polarToCartesian(x, y, radius, endAngle);\n const end = polarToCartesian(x, y, radius, startAngle);\n const largeArcFlag = endAngle - startAngle <= 180 ? \"0\" : \"1\";\n const d = [\"M\", start.x, start.y, \"A\", radius, radius, 0, largeArcFlag, 0, end.x, end.y].join(\" \");\n return d;\n}\n/**\n * Icon to represent the progress of _something_.\n *\n * @param progress Number between 0 and 1.\n * @param color Hex color (default `\"#FF6363\"`) or Color.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getProgressIcon(0.1)} title=\"Project\" />\n * ```\n */\nfunction getProgressIcon(progress, color = api_1.Color.Red, options) {\n const background = options?.background || (api_1.environment.appearance === \"light\" ? \"black\" : \"white\");\n const backgroundOpacity = options?.backgroundOpacity || 0.1;\n const stroke = 10;\n const padding = 5;\n const radius = 50 - padding - stroke / 2;\n const svg = `<svg width=\"100px\" height=\"100px\">\n <circle cx=\"50\" cy=\"50\" r=\"${radius}\" stroke-width=\"${stroke}\" stroke=\"${progress < 1 ? background : color}\" opacity=\"${progress < 1 ? backgroundOpacity : \"1\"}\" fill=\"none\" />\n ${progress > 0 && progress < 1\n ? `<path d=\"${describeArc(50, 50, radius, 0, progress * 360)}\" stroke=\"${color}\" stroke-width=\"${stroke}\" fill=\"none\" />`\n : \"\"}\n </svg>\n `.replaceAll(\"\\n\", \"\");\n return `data:image/svg+xml,${svg}`;\n}\nexports.getProgressIcon = getProgressIcon;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./avatar\"), exports);\n__exportStar(require(\"./favicon\"), exports);\n__exportStar(require(\"./progress\"), exports);\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.zoomService = exports.slackService = exports.linearService = exports.jiraService = exports.googleService = exports.githubService = exports.asanaService = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst OAuthService_1 = require(\"./OAuthService\");\nconst PROVIDER_CLIENT_IDS = {\n asana: \"1191201745684312\",\n github: \"7235fe8d42157f1f38c0\",\n linear: \"c8ff37b9225c3c9aefd7d66ea0e5b6f1\",\n slack: \"851756884692.5546927290212\",\n};\nconst getIcon = (markup) => `data:image/svg+xml,${markup}`;\nconst PROVIDERS_ICONS = {\n asana: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"251\" height=\"232\" fill=\"none\"><path fill=\"#F06A6A\" d=\"M179.383 54.373c0 30.017-24.337 54.374-54.354 54.374-30.035 0-54.373-24.338-54.373-54.374C70.656 24.338 94.993 0 125.029 0c30.017 0 54.354 24.338 54.354 54.373ZM54.393 122.33C24.376 122.33.02 146.668.02 176.685c0 30.017 24.337 54.373 54.373 54.373 30.035 0 54.373-24.338 54.373-54.373 0-30.017-24.338-54.355-54.373-54.355Zm141.253 0c-30.035 0-54.373 24.338-54.373 54.374 0 30.035 24.338 54.373 54.373 54.373 30.017 0 54.374-24.338 54.374-54.373 0-30.036-24.338-54.374-54.374-54.374Z\"/></svg>`),\n github: {\n source: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64\" height=\"64\" viewBox=\"0 0 16 16\"><path fill-rule=\"evenodd\" d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z\"/></svg>`),\n tintColor: api_1.Color.PrimaryText,\n },\n google: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"display:block\" viewBox=\"0 0 48 48\"><path fill=\"#EA4335\" d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"/><path fill=\"#4285F4\" d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"/><path fill=\"#FBBC05\" d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"/><path fill=\"#34A853\" d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"/><path fill=\"none\" d=\"M0 0h48v48H0z\"/></svg>`),\n jira: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"2361\" height=\"2500\" viewBox=\"2.59 0 214.091 224\"><linearGradient id=\"a\" x1=\"102.4\" x2=\"56.15\" y1=\"218.63\" y2=\"172.39\" gradientTransform=\"matrix(1 0 0 -1 0 264)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".18\" stop-color=\"#0052cc\"/><stop offset=\"1\" stop-color=\"#2684ff\"/></linearGradient><linearGradient xlink:href=\"#a\" id=\"b\" x1=\"114.65\" x2=\"160.81\" y1=\"85.77\" y2=\"131.92\"/><path fill=\"#2684ff\" d=\"M214.06 105.73 117.67 9.34 108.33 0 35.77 72.56 2.59 105.73a8.89 8.89 0 0 0 0 12.54l66.29 66.29L108.33 224l72.55-72.56 1.13-1.12 32.05-32a8.87 8.87 0 0 0 0-12.59zm-105.73 39.39L75.21 112l33.12-33.12L141.44 112z\"/><path fill=\"url(#a)\" d=\"M108.33 78.88a55.75 55.75 0 0 1-.24-78.61L35.62 72.71l39.44 39.44z\"/><path fill=\"url(#b)\" d=\"m141.53 111.91-33.2 33.21a55.77 55.77 0 0 1 0 78.86L181 151.35z\"/></svg>`),\n linear: {\n source: {\n light: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#222326\" width=\"200\" height=\"200\" viewBox=\"0 0 100 100\"><path d=\"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z\"/></svg>`),\n dark: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#fff\" width=\"200\" height=\"200\" viewBox=\"0 0 100 100\"><path d=\"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z\" /></svg>`),\n },\n },\n slack: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"73 73 124 124\"><style>.st0{fill:#e01e5a}.st1{fill:#36c5f0}.st2{fill:#2eb67d}.st3{fill:#ecb22e}</style><path d=\"M99.4 151.2c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h12.9v12.9zM105.9 151.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9v-32.3z\" class=\"st0\"/><path d=\"M118.8 99.4c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v12.9h-12.9zM118.8 105.9c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H86.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3z\" class=\"st1\"/><path d=\"M170.6 118.8c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9h-12.9v-12.9zM164.1 118.8c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9V86.5c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9v32.3z\" class=\"st2\"/><path d=\"M151.2 170.6c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9v-12.9h12.9zM151.2 164.1c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9h-32.3z\" class=\"st3\"/></svg>`),\n zoom: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 351.845 80\"><path d=\"M73.786 78.835H10.88A10.842 10.842 0 0 1 .833 72.122a10.841 10.841 0 0 1 2.357-11.85L46.764 16.7h-31.23C6.954 16.699 0 9.744 0 1.165h58.014c4.414 0 8.357 2.634 10.046 6.712a10.843 10.843 0 0 1-2.356 11.85L22.13 63.302h36.122c8.58 0 15.534 6.955 15.534 15.534Zm278.059-48.544C351.845 13.588 338.256 0 321.553 0c-8.934 0-16.975 3.89-22.524 10.063C293.48 3.89 285.44 0 276.505 0c-16.703 0-30.291 13.588-30.291 30.291v48.544c8.579 0 15.534-6.955 15.534-15.534v-33.01c0-8.137 6.62-14.757 14.757-14.757s14.757 6.62 14.757 14.757v33.01c0 8.58 6.955 15.534 15.534 15.534V30.291c0-8.137 6.62-14.757 14.757-14.757s14.758 6.62 14.758 14.757v33.01c0 8.58 6.954 15.534 15.534 15.534V30.291ZM238.447 40c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.908-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S173.98 26.488 173.98 40s10.953 24.466 24.466 24.466S222.913 53.512 222.913 40Zm-70.68 0c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S87.767 26.488 87.767 40s10.954 24.466 24.466 24.466S136.699 53.512 136.699 40Z\" style=\"fill:#0b5cff\"/></svg>`),\n};\nconst asanaService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Asana\",\n providerIcon: PROVIDERS_ICONS.asana,\n providerId: \"asana\",\n description: \"Connect your Asana account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.asana,\n authorizeUrl: options.authorizeUrl ?? \"https://asana.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://asana.oauth.raycast.com/token\",\n refreshTokenUrl: options.refreshTokenUrl ?? \"https://asana.oauth.raycast.com/refresh-token\",\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.asanaService = asanaService;\nconst githubService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"GitHub\",\n providerIcon: PROVIDERS_ICONS.github,\n providerId: \"github\",\n description: \"Connect your GitHub account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.github,\n authorizeUrl: options.authorizeUrl ?? \"https://github.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://github.oauth.raycast.com/token\",\n refreshTokenUrl: options.refreshTokenUrl ?? \"https://github.oauth.raycast.com/refresh-token\",\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.githubService = githubService;\nconst googleService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.AppURI,\n providerName: \"Google\",\n providerIcon: PROVIDERS_ICONS.google,\n providerId: \"google\",\n description: \"Connect your Google account\",\n }),\n clientId: options.clientId,\n authorizeUrl: options.authorizeUrl ?? \"https://accounts.google.com/o/oauth2/v2/auth\",\n tokenUrl: options.tokenUrl ?? \"https://oauth2.googleapis.com/token\",\n refreshTokenUrl: options.tokenUrl,\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n bodyEncoding: options.bodyEncoding ?? \"url-encoded\",\n onAuthorize: options.onAuthorize,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.googleService = googleService;\nconst jiraService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Jira\",\n providerIcon: PROVIDERS_ICONS.jira,\n providerId: \"jira\",\n description: \"Connect your Jira account\",\n }),\n clientId: options.clientId,\n authorizeUrl: options.authorizeUrl ?? \"https://auth.atlassian.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://auth.atlassian.com/oauth/token\",\n refreshTokenUrl: options.refreshTokenUrl,\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.jiraService = jiraService;\nconst linearService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Linear\",\n providerIcon: PROVIDERS_ICONS.linear,\n providerId: \"linear\",\n description: \"Connect your Linear account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.linear,\n authorizeUrl: options.authorizeUrl ?? \"https://linear.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://linear.oauth.raycast.com/token\",\n refreshTokenUrl: options.refreshTokenUrl ?? \"https://linear.oauth.raycast.com/refresh-token\",\n scope: options.scope,\n extraParameters: {\n actor: \"user\",\n },\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.linearService = linearService;\nconst slackService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Slack\",\n providerIcon: PROVIDERS_ICONS.slack,\n providerId: \"slack\",\n description: \"Connect your Slack account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.slack,\n authorizeUrl: options.authorizeUrl ?? \"https://slack.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://slack.oauth.raycast.com/token\",\n refreshTokenUrl: options.tokenUrl ?? \"https://slack.oauth.raycast.com/refresh-token\",\n scope: \"\",\n extraParameters: {\n user_scope: options.scope,\n },\n personalAccessToken: options.personalAccessToken,\n bodyEncoding: options.tokenUrl ? options.bodyEncoding ?? \"url-encoded\" : \"json\",\n onAuthorize: options.onAuthorize,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n tokenResponseParser: options.tokenResponseParser ??\n ((response) => {\n return {\n access_token: response.authed_user.access_token,\n scope: response.authed_user.scope,\n };\n }),\n});\nexports.slackService = slackService;\nconst zoomService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Zoom\",\n providerIcon: PROVIDERS_ICONS.zoom,\n providerId: \"zoom\",\n description: \"Connect your Zoom account\",\n }),\n clientId: options.clientId,\n authorizeUrl: options.authorizeUrl ?? \"https://zoom.us/oauth/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://zoom.us/oauth/token\",\n refreshTokenUrl: options.refreshTokenUrl,\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n bodyEncoding: options.bodyEncoding ?? \"url-encoded\",\n onAuthorize: options.onAuthorize,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.zoomService = zoomService;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OAuthService = void 0;\nconst cross_fetch_1 = __importDefault(require(\"cross-fetch\"));\nconst providers_1 = require(\"./providers\");\n/**\n * Class allowing to create an OAuth service using the the PKCE (Proof Key for Code Exchange) flow.\n *\n * This service is capable of starting the authorization process, fetching and refreshing tokens,\n * as well as managing the authentication state.\n *\n * @example\n * ```typescript\n * const oauthClient = new OAuth.PKCEClient({ ... });\n * const oauthService = new OAuthService({\n * client: oauthClient,\n * clientId: 'your-client-id',\n * scope: 'required scopes',\n * authorizeUrl: 'https://provider.com/oauth/authorize',\n * tokenUrl: 'https://provider.com/oauth/token',\n * refreshTokenUrl: 'https://provider.com/oauth/token',\n * extraParameters: { 'additional_param': 'value' }\n * });\n * ```\n */\nclass OAuthService {\n constructor(options) {\n this.clientId = options.clientId;\n this.scope = Array.isArray(options.scope) ? options.scope.join(\" \") : options.scope;\n this.personalAccessToken = options.personalAccessToken;\n this.bodyEncoding = options.bodyEncoding;\n this.client = options.client;\n this.extraParameters = options.extraParameters;\n this.authorizeUrl = options.authorizeUrl;\n this.tokenUrl = options.tokenUrl;\n this.refreshTokenUrl = options.refreshTokenUrl;\n this.onAuthorize = options.onAuthorize;\n this.tokenResponseParser = options.tokenResponseParser ?? ((x) => x);\n this.tokenRefreshResponseParser = options.tokenRefreshResponseParser ?? ((x) => x);\n this.authorize = this.authorize.bind(this);\n }\n /**\n * Initiates the OAuth authorization process or refreshes existing tokens if necessary.\n * If the current token set has a refresh token and it is expired, then the function will refresh the tokens.\n * If no tokens exist, it will initiate the OAuth authorization process and fetch the tokens.\n *\n * @returns {Promise<string>} A promise that resolves with the access token obtained from the authorization flow, or null if the token could not be obtained.\n */\n async authorize() {\n const currentTokenSet = await this.client.getTokens();\n if (currentTokenSet?.accessToken) {\n if (currentTokenSet.refreshToken && currentTokenSet.isExpired()) {\n const tokens = await this.refreshTokens({\n token: currentTokenSet.refreshToken,\n });\n // In the case where the refresh token flows fails, nothing is returned and the authorize function is called again.\n if (tokens) {\n await this.client.setTokens(tokens);\n return tokens.access_token;\n }\n }\n return currentTokenSet.accessToken;\n }\n const authRequest = await this.client.authorizationRequest({\n endpoint: this.authorizeUrl,\n clientId: this.clientId,\n scope: this.scope,\n extraParameters: this.extraParameters,\n });\n const { authorizationCode } = await this.client.authorize(authRequest);\n const tokens = await this.fetchTokens({\n authRequest,\n authorizationCode,\n });\n await this.client.setTokens(tokens);\n return tokens.access_token;\n }\n async fetchTokens({ authRequest, authorizationCode, }) {\n let options;\n if (this.bodyEncoding === \"url-encoded\") {\n const params = new URLSearchParams();\n params.append(\"client_id\", this.clientId);\n params.append(\"code\", authorizationCode);\n params.append(\"code_verifier\", authRequest.codeVerifier);\n params.append(\"grant_type\", \"authorization_code\");\n params.append(\"redirect_uri\", authRequest.redirectURI);\n options = { body: params };\n }\n else {\n options = {\n body: JSON.stringify({\n client_id: this.clientId,\n code: authorizationCode,\n code_verifier: authRequest.codeVerifier,\n grant_type: \"authorization_code\",\n redirect_uri: authRequest.redirectURI,\n }),\n headers: { \"Content-Type\": \"application/json\" },\n };\n }\n const response = await (0, cross_fetch_1.default)(this.tokenUrl, { method: \"POST\", ...options });\n if (!response.ok) {\n const responseText = await response.text();\n console.error(\"fetch tokens error:\", responseText);\n throw new Error(`Error while fetching tokens: ${response.status} (${response.statusText})\\n${responseText}`);\n }\n const tokens = this.tokenResponseParser(await response.json());\n // Some clients such as Linear can return a scope array instead of a string\n return Array.isArray(tokens.scope) ? { ...tokens, scope: tokens.scope.join(\" \") } : tokens;\n }\n async refreshTokens({ token }) {\n let options;\n if (this.bodyEncoding === \"url-encoded\") {\n const params = new URLSearchParams();\n params.append(\"client_id\", this.clientId);\n params.append(\"refresh_token\", token);\n params.append(\"grant_type\", \"refresh_token\");\n options = { body: params };\n }\n else {\n options = {\n body: JSON.stringify({\n client_id: this.clientId,\n refresh_token: token,\n grant_type: \"refresh_token\",\n }),\n headers: { \"Content-Type\": \"application/json\" },\n };\n }\n const response = await (0, cross_fetch_1.default)(this.refreshTokenUrl ?? this.tokenUrl, { method: \"POST\", ...options });\n if (!response.ok) {\n const responseText = await response.text();\n console.error(\"refresh tokens error:\", responseText);\n // If the refresh token is invalid, stop the flow here, log out the user and prompt them to re-authorize.\n this.client.description = `${this.client.providerName} needs you to sign-in again. Press \u23CE or click the button below to continue.`;\n await this.client.removeTokens();\n await this.authorize();\n }\n else {\n const tokenResponse = this.tokenRefreshResponseParser(await response.json());\n tokenResponse.refresh_token = tokenResponse.refresh_token ?? token;\n return tokenResponse;\n }\n }\n}\nexports.OAuthService = OAuthService;\n/**\n * Asana OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const asana = OAuthService.asana({ scope: 'default' })\n * ```\n */\nOAuthService.asana = providers_1.asanaService;\n/**\n * GitHub OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const github = OAuthService.github({ scope: 'repo user' })\n * ```\n */\nOAuthService.github = providers_1.githubService;\n/**\n * Google OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const google = OAuthService.google({\n * clientId: 'custom-client-id',\n * authorizeUrl: 'https://accounts.google.com/o/oauth2/v2/auth',\n * tokenUrl: 'https://oauth2.googleapis.com/token',\n * scope: 'https://www.googleapis.com/auth/drive.readonly',\n * });\n * ```\n */\nOAuthService.google = providers_1.googleService;\n/**\n * Jira OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const jira = OAuthService.jira({\n * clientId: 'custom-client-id',\n * authorizeUrl: 'https://auth.atlassian.com/authorize',\n * tokenUrl: 'https://api.atlassian.com/oauth/token',\n * scope: 'read:jira-user read:jira-work offline_access'\n * });\n * ```\n */\nOAuthService.jira = providers_1.jiraService;\n/**\n * Linear OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const linear = OAuthService.linear({ scope: 'read write' })\n * ```\n */\nOAuthService.linear = providers_1.linearService;\n/**\n * Slack OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const slack = OAuthService.slack({ scope: 'emoji:read' })\n * ```\n */\nOAuthService.slack = providers_1.slackService;\n/**\n * Zoom OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const zoom = OAuthService.zoom({\n * clientId: 'custom-client-id',\n * authorizeUrl: 'https://zoom.us/oauth/authorize',\n * tokenUrl: 'https://zoom.us/oauth/token',\n * scope: 'meeting:write',\n * personalAccessToken: 'personal-access-token',\n * });\n * ```\n */\nOAuthService.zoom = providers_1.zoomService;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAccessToken = exports.withAccessToken = void 0;\nconst jsx_runtime_1 = require(\"react/jsx-runtime\");\nconst api_1 = require(\"@raycast/api\");\nlet token = null;\nlet type = null;\nlet authorize = null;\nlet getIdToken = null;\nlet onAuthorize = null;\nfunction withAccessToken(options) {\n if (api_1.environment.commandMode === \"no-view\") {\n return (fn) => {\n const noViewFn = async (props) => {\n if (!token) {\n token = options.personalAccessToken ?? (await options.authorize());\n type = options.personalAccessToken ? \"personal\" : \"oauth\";\n const idToken = (await options.client?.getTokens())?.idToken;\n if (options.onAuthorize) {\n await Promise.resolve(options.onAuthorize({ token, type, idToken }));\n }\n }\n return fn(props);\n };\n return noViewFn;\n };\n }\n return (Component) => {\n const WrappedComponent = (props) => {\n if (options.personalAccessToken) {\n token = options.personalAccessToken;\n type = \"personal\";\n }\n else {\n if (!authorize) {\n authorize = wrapPromise(options.authorize());\n }\n token = authorize.read();\n type = \"oauth\";\n }\n let idToken;\n if (options.client) {\n if (!getIdToken) {\n getIdToken = wrapPromise(options.client.getTokens());\n }\n idToken = getIdToken.read()?.idToken;\n }\n if (!onAuthorize && options.onAuthorize) {\n onAuthorize = wrapPromise(Promise.resolve(options.onAuthorize({ token, type, idToken })));\n }\n onAuthorize?.read();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore too complicated for TS\n return (0, jsx_runtime_1.jsx)(Component, { ...props });\n };\n WrappedComponent.displayName = `withAccessToken(${Component.displayName || Component.name})`;\n return WrappedComponent;\n };\n}\nexports.withAccessToken = withAccessToken;\n/**\n * Returns the access token and its type. Note that this function must be called in a component wrapped with `withAccessToken`.\n *\n * @throws {Error} If called outside of a component wrapped with `withAccessToken`\n * @returns {{ token: string, type: \"oauth\" | \"personal\" }} An object containing the `token`\n * and its `type`, where type can be either 'oauth' for OAuth tokens or 'personal' for a\n * personal access token.\n */\nfunction getAccessToken() {\n if (!token || !type) {\n throw new Error(\"getAccessToken must be used when authenticated (eg. used inside `withAccessToken`)\");\n }\n return { token, type };\n}\nexports.getAccessToken = getAccessToken;\nfunction wrapPromise(promise) {\n let status = \"pending\";\n let response;\n const suspender = promise.then((res) => {\n status = \"success\";\n response = res;\n }, (err) => {\n status = \"error\";\n response = err;\n });\n const read = () => {\n switch (status) {\n case \"pending\":\n throw suspender;\n case \"error\":\n throw response;\n default:\n return response;\n }\n };\n return { read };\n}\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./OAuthService\"), exports);\n__exportStar(require(\"./withAccessToken\"), exports);\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runAppleScript = void 0;\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst exec_utils_1 = require(\"./exec-utils\");\nasync function runAppleScript(script, optionsOrArgs, options) {\n const { humanReadableOutput, language, timeout, ...execOptions } = Array.isArray(optionsOrArgs)\n ? options || {}\n : optionsOrArgs || {};\n const outputArguments = humanReadableOutput !== false ? [] : [\"-ss\"];\n if (language === \"JavaScript\") {\n outputArguments.push(\"-l\", \"JavaScript\");\n }\n if (Array.isArray(optionsOrArgs)) {\n outputArguments.push(\"-\", ...optionsOrArgs);\n }\n const spawned = node_child_process_1.default.spawn(\"osascript\", outputArguments, {\n ...execOptions,\n env: { PATH: \"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\" },\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned, { timeout: timeout || 10000 });\n spawned.stdin.end(script);\n const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf8\" }, spawnedPromise);\n const stdout = (0, exec_utils_1.handleOutput)({ stripFinalNewline: true }, stdoutResult);\n const stderr = (0, exec_utils_1.handleOutput)({ stripFinalNewline: true }, stderrResult);\n return (0, exec_utils_1.defaultParsing)({\n stdout,\n stderr,\n error,\n exitCode,\n signal,\n timedOut,\n command: \"osascript\",\n options,\n parentError: new Error(),\n });\n}\nexports.runAppleScript = runAppleScript;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDeeplink = exports.createExtensionDeeplink = exports.createScriptCommandDeeplink = exports.DeeplinkType = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst node_fs_1 = __importDefault(require(\"node:fs\"));\nconst node_path_1 = __importDefault(require(\"node:path\"));\nvar DeeplinkType;\n(function (DeeplinkType) {\n /** A script command */\n DeeplinkType[\"ScriptCommand\"] = \"script-command\";\n /** An extension command */\n DeeplinkType[\"Extension\"] = \"extension\";\n})(DeeplinkType || (exports.DeeplinkType = DeeplinkType = {}));\nfunction getProtocol() {\n return api_1.environment.raycastVersion.includes(\"alpha\") ? \"raycastinternal://\" : \"raycast://\";\n}\nfunction getOwnerOrAuthorName() {\n const packageJSON = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(api_1.environment.assetsPath, \"..\", \"package.json\"), \"utf8\"));\n return packageJSON.owner || packageJSON.author;\n}\nfunction createScriptCommandDeeplink(options) {\n let url = `${getProtocol()}script-commands/${options.command}`;\n if (options.arguments) {\n let params = \"\";\n for (const arg of options.arguments) {\n params += \"&arguments=\" + encodeURIComponent(arg);\n }\n url += \"?\" + params.substring(1);\n }\n return url;\n}\nexports.createScriptCommandDeeplink = createScriptCommandDeeplink;\nfunction createExtensionDeeplink(options) {\n let ownerOrAuthorName = getOwnerOrAuthorName();\n let extensionName = api_1.environment.extensionName;\n if (\"ownerOrAuthorName\" in options && \"extensionName\" in options) {\n ownerOrAuthorName = options.ownerOrAuthorName;\n extensionName = options.extensionName;\n }\n let url = `${getProtocol()}extensions/${ownerOrAuthorName}/${extensionName}/${options.command}`;\n let params = \"\";\n if (options.launchType) {\n params += \"&launchType=\" + encodeURIComponent(options.launchType);\n }\n if (options.arguments) {\n params += \"&arguments=\" + encodeURIComponent(JSON.stringify(options.arguments));\n }\n if (options.context) {\n params += \"&context=\" + encodeURIComponent(JSON.stringify(options.context));\n }\n if (options.fallbackText) {\n params += \"&fallbackText=\" + encodeURIComponent(options.fallbackText);\n }\n if (params) {\n url += \"?\" + params.substring(1);\n }\n return url;\n}\nexports.createExtensionDeeplink = createExtensionDeeplink;\n/**\n * Creates a deeplink to a script command or extension.\n */\nfunction createDeeplink(options) {\n if (options.type === DeeplinkType.ScriptCommand) {\n return createScriptCommandDeeplink(options);\n }\n else {\n return createExtensionDeeplink(options);\n }\n}\nexports.createDeeplink = createDeeplink;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./usePromise\"), exports);\n__exportStar(require(\"./useCachedState\"), exports);\n__exportStar(require(\"./useCachedPromise\"), exports);\n__exportStar(require(\"./useFetch\"), exports);\n__exportStar(require(\"./useExec\"), exports);\n__exportStar(require(\"./useStreamJSON\"), exports);\n__exportStar(require(\"./useSQL\"), exports);\n__exportStar(require(\"./useForm\"), exports);\n__exportStar(require(\"./useAI\"), exports);\n__exportStar(require(\"./useFrecencySorting\"), exports);\n__exportStar(require(\"./useLocalStorage\"), exports);\n__exportStar(require(\"./icon\"), exports);\n__exportStar(require(\"./oauth\"), exports);\n__exportStar(require(\"./run-applescript\"), exports);\n__exportStar(require(\"./showFailureToast\"), exports);\n__exportStar(require(\"./createDeeplink\"), exports);\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 this.size = 0;\n}\n\nmodule.exports = listCacheClear;\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\nmodule.exports = eq;\n", "var eq = require('./eq');\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\nmodule.exports = assocIndexOf;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\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 --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n", "var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheGet;\n", "var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheHas;\n", "var assocIndexOf = require('./_assocIndexOf');\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 ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n", "var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = ListCache;\n", "var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n", "/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\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 stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n", "/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n", "/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\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 stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n", "/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\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 root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\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 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", "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", "/**\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", "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", "var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n", "var coreJsData = require('./_coreJsData');\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/**\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\nmodule.exports = isMasked;\n", "/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\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\nmodule.exports = toSource;\n", "var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\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 for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\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/** 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/**\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) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\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\nmodule.exports = getValue;\n", "var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\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\nmodule.exports = getNative;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n", "var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n", "var nativeCreate = require('./_nativeCreate');\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 this.size = 0;\n}\n\nmodule.exports = hashClear;\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 var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 * 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\nmodule.exports = hashGet;\n", "var nativeCreate = require('./_nativeCreate');\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 * 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\nmodule.exports = hashHas;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n", "var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = Hash;\n", "var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\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.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\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\nmodule.exports = isKeyable;\n", "var isKeyable = require('./_isKeyable');\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\nmodule.exports = getMapData;\n", "var getMapData = require('./_getMapData');\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 var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n", "var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheGet;\n", "var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheHas;\n", "var getMapData = require('./_getMapData');\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 var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n", "var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = MapCache;\n", "var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n", "var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n", "/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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\nmodule.exports = setCacheAdd;\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\nmodule.exports = setCacheHas;\n", "var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\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 == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n", "/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\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\nmodule.exports = cacheHas;\n", "var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n", "var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n", "/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n", "/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n", "var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\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\nmodule.exports = arrayPush;\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 arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\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\nmodule.exports = baseGetAllKeys;\n", "/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\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 = stubArray;\n", "var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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 nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols 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 ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\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 * 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 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 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 * 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", "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", "/** 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 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", "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", "/**\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", "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", "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 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", "/** 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", "/**\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 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 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", "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 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", "var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and 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 getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n", "var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\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 * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n", "var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n", "var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\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 * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n", "var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n", "var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n", "var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n", "var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n", "/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n", "var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n", "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\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\nmodule.exports = isSymbol;\n", "var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n", "var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n", "var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n", "var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\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 == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n", "var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n", "var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n", "var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n", "var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\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\nmodule.exports = toKey;\n", "var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n", "var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n", "/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n", "var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n", "var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n", "var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n", "/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n", "/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n", "var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n", "var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n", "var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\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\nmodule.exports = baseFindIndex;\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\nmodule.exports = baseIsNaN;\n", "/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\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 strictIndexOf(array, value, fromIndex) {\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\nmodule.exports = strictIndexOf;\n", "var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\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 return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n", "var baseIndexOf = require('./_baseIndexOf');\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 == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\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 == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\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", "var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n", "var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\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 seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n", "var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n", "import {\n Clipboard,\n environment,\n Icon,\n launchCommand,\n LaunchType,\n MenuBarExtra,\n openCommandPreferences,\n showHUD,\n} from \"@raycast/api\";\nimport { showFailureToast } from \"@raycast/utils\";\nimport { useHistory } from \"./history\";\nimport { getFormattedColor, getIcon, getPreviewColor, getShortcut } from \"./utils\";\n\nexport default function Command() {\n const { history, remove, clear } = useHistory();\n\n return (\n <MenuBarExtra icon={Icon.EyeDropper}>\n <MenuBarExtra.Item\n title=\"Pick Color\"\n onAction={async () => {\n try {\n await launchCommand({\n name: \"pick-color\",\n type: LaunchType.Background,\n context: { source: \"menu-bar\" },\n });\n } catch (e) {\n await showFailureToast(e);\n }\n }}\n />\n <MenuBarExtra.Section>\n {history?.slice(0, 9).map((historyItem, index) => {\n const formattedColor = getFormattedColor(historyItem.color);\n const previewColor = getPreviewColor(historyItem.color);\n return (\n <MenuBarExtra.Item\n key={formattedColor}\n icon={getIcon(previewColor)}\n title={formattedColor}\n subtitle={historyItem.title}\n shortcut={getShortcut(index)}\n onAction={async (event) => {\n if (event.type === \"left-click\") {\n await Clipboard.copy(formattedColor);\n await showHUD(\"Copied color to clipboard\");\n } else {\n remove(historyItem.color);\n await showHUD(\"Deleted color from history\");\n }\n }}\n />\n );\n })}\n </MenuBarExtra.Section>\n <MenuBarExtra.Section>\n <MenuBarExtra.Item\n title=\"Configure Command\"\n shortcut={{ modifiers: [\"cmd\"], key: \",\" }}\n onAction={openCommandPreferences}\n />\n {environment.isDevelopment && <MenuBarExtra.Item title=\"Clear All Colors\" onAction={() => clear()} />}\n </MenuBarExtra.Section>\n </MenuBarExtra>\n );\n}\n", "import { Cache } from \"@raycast/api\";\nimport { useCachedState } from \"@raycast/utils\";\nimport { HistoryColor, HistoryItem } from \"./types\";\nimport { getFormattedColor } from \"./utils\";\n\nconst MAX_HISTORY_LENGTH = 200;\n\nexport function useHistory() {\n const [history, setHistory] = useCachedState<HistoryItem[]>(\"history\", []);\n return {\n history,\n remove: (color: HistoryColor) =>\n setHistory((previousHistory) => {\n return previousHistory.filter((item) => getFormattedColor(item.color) !== getFormattedColor(color));\n }),\n edit: (historyItem: HistoryItem) =>\n setHistory((previousHistory) => {\n return previousHistory.map((item) =>\n getFormattedColor(item.color) === getFormattedColor(historyItem.color) ? historyItem : item,\n );\n }),\n clear: () => setHistory([]),\n };\n}\n\nexport function addToHistory(color: HistoryColor) {\n const cache = new Cache();\n\n const serializedHistory = cache.get(\"history\");\n const previousHistory = serializedHistory ? (JSON.parse(serializedHistory) as HistoryItem[]) : [];\n\n const historyItem: HistoryItem = { date: new Date().toISOString(), color };\n const newHistory = [\n historyItem,\n ...previousHistory.filter((item) => getFormattedColor(item.color) !== getFormattedColor(color)),\n ].slice(0, MAX_HISTORY_LENGTH);\n\n cache.set(\"history\", JSON.stringify(newHistory));\n}\n", "import { getPreferenceValues, Icon, Image, Keyboard, List } from \"@raycast/api\";\nimport ColorJS from \"colorjs.io\";\nimport { Colors, Palette } from \"color-namer\";\nimport uniqBy from \"lodash/uniqBy\";\nimport { HistoryColor, HistoryItem } from \"./types\";\nimport { ColorFormatType } from \"./types\";\n\nconst preferences = getPreferenceValues<ExtensionPreferences>();\n\nexport function getFormattedColor(_color: HistoryColor, format?: ColorFormatType) {\n let color;\n if (typeof _color === \"string\") {\n color = new ColorJS(_color);\n } else if (\"colorSpace\" in _color) {\n color = new ColorJS(_color.colorSpace, [_color.red, _color.green, _color.blue], _color.alpha);\n } else {\n color = new ColorJS(\"srgb\", [_color.red / 255, _color.green / 255, _color.blue / 255], _color.alpha);\n }\n\n switch (format || preferences.colorFormat) {\n default:\n case \"hex\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).toUpperCase();\n }\n case \"hex-lower-case\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).toLowerCase();\n }\n case \"hex-no-prefix\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).replace(\"#\", \"\");\n }\n case \"rgb\": {\n return color.to(\"srgb\").toString({ format: \"rgb_number\" });\n }\n case \"rgb-percentage\": {\n return color.to(\"srgb\").toString({ format: \"rgb\" });\n }\n case \"rgba\": {\n return color.to(\"srgb\").toString({ format: \"rgba_number\" });\n }\n case \"rgba-percentage\": {\n return color.to(\"srgb\").toString({ format: \"rgba\" });\n }\n case \"hsla\": {\n return color.to(\"hsl\").toString({ format: \"hsla\" });\n }\n case \"hsva\": {\n return color.to(\"hsv\").toString({ format: \"color\" });\n }\n case \"oklch\": {\n const oklchColor = color.to(\"oklch\");\n const [l, c, h] = oklchColor.coords;\n const lPercentage = (l * 100).toFixed(2);\n return `oklch(${lPercentage}% ${c} ${h})`;\n }\n case \"lch\": {\n const lchColor = color.to(\"lch\");\n const [l, c, h] = lchColor.coords;\n return `lch(${l.toFixed(2)}% ${c} ${h})`;\n }\n case \"p3\": {\n return color.to(\"p3\").toString({ format: \"p3\" });\n }\n }\n}\n\nconst unsupportedPreviewFormats = [\"p3\", \"rgb\", \"rgb-percentage\"];\nexport function getPreviewColor(color: HistoryColor) {\n const formattedColor = getFormattedColor(\n color,\n unsupportedPreviewFormats.includes(preferences.colorFormat) ? \"oklch\" : undefined,\n );\n return formattedColor;\n}\n\nexport function getShortcut(index: number) {\n const key = index + 1;\n\n let shortcut: Keyboard.Shortcut | undefined;\n if (key >= 1 && key <= 9) {\n shortcut = { modifiers: [\"cmd\"], key: String(key) as Keyboard.KeyEquivalent };\n }\n\n return shortcut;\n}\n\nexport function getIcon(color: HistoryColor) {\n const previewColor = typeof color === \"string\" ? color : getFormattedColor(color, \"hex\");\n if (!previewColor) {\n return undefined;\n }\n\n const icon: Image.ImageLike = {\n source: Icon.CircleFilled,\n tintColor: { light: previewColor, dark: previewColor, adjustContrast: false },\n };\n\n return icon;\n}\n\nexport function getAccessories(historyItem: HistoryItem) {\n const accessories = new Array<List.Item.Accessory>();\n accessories.push({ date: new Date(historyItem.date), tooltip: new Date(historyItem.date).toLocaleString() });\n return accessories;\n}\n\nexport function normalizeColorHex(colorInput: string) {\n let hex = colorInput.replace(/^#/, \"\");\n const validHexPattern = /^([a-f\\d]{3,4}|[a-f\\d]{6}|[a-f]\\d{8})$/i;\n if (validHexPattern.test(hex)) {\n switch (hex.length) {\n case 3:\n case 4:\n hex = hex\n .slice(0, 3)\n .split(\"\")\n .map((x) => x.repeat(2))\n .join(\"\");\n break;\n case 8:\n hex = hex.slice(0, 6);\n break;\n }\n }\n return \"#\" + hex.toUpperCase();\n}\n\nexport function getColorByPlatform(normalizedSearchString: string, colors?: Colors<Palette>) {\n return Object.entries(colors ?? {}).sort(([, a], [, b]) => {\n if (normalizeColorHex(a[0].hex) === normalizeColorHex(b[0].hex)) return 0;\n if (normalizedSearchString === normalizeColorHex(a[0].hex)) return -1;\n return 1;\n });\n}\n\nexport function getColorByProximity(colors?: Colors<Palette>) {\n return uniqBy(Object.values(colors ?? {}).flat(), (x) => x.name.toLowerCase()).sort(\n (a, b) => a.distance - b.distance,\n );\n}\n", "// A is m x n. B is n x p. product is m x p.\nexport default function multiplyMatrices (A, B) {\n\tlet m = A.length;\n\n\tif (!Array.isArray(A[0])) {\n\t\t// A is vector, convert to [[a, b, c, ...]]\n\t\tA = [A];\n\t}\n\n\tif (!Array.isArray(B[0])) {\n\t\t// B is vector, convert to [[a], [b], [c], ...]]\n\t\tB = B.map(x => [x]);\n\t}\n\n\tlet p = B[0].length;\n\tlet B_cols = B[0].map((_, i) => B.map(x => x[i])); // transpose B\n\tlet product = A.map(row => B_cols.map(col => {\n\t\tlet ret = 0;\n\n\t\tif (!Array.isArray(row)) {\n\t\t\tfor (let c of col) {\n\t\t\t\tret += row * c;\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t}\n\n\t\tfor (let i = 0; i < row.length; i++) {\n\t\t\tret += row[i] * (col[i] || 0);\n\t\t}\n\n\t\treturn ret;\n\t}));\n\n\tif (m === 1) {\n\t\tproduct = product[0]; // Avoid [[a, b, c, ...]]\n\t}\n\n\tif (p === 1) {\n\t\treturn product.map(x => x[0]); // Avoid [[a], [b], [c], ...]]\n\t}\n\n\treturn product;\n}\n", "/**\n * Various utility functions\n */\n\nexport {default as multiplyMatrices} from \"./multiply-matrices.js\";\n\n/**\n * Check if a value is a string (including a String object)\n * @param {*} str - Value to check\n * @returns {boolean}\n */\nexport function isString (str) {\n\treturn type(str) === \"string\";\n}\n\n/**\n * Determine the internal JavaScript [[Class]] of an object.\n * @param {*} o - Value to check\n * @returns {string}\n */\nexport function type (o) {\n\tlet str = Object.prototype.toString.call(o);\n\n\treturn (str.match(/^\\[object\\s+(.*?)\\]$/)[1] || \"\").toLowerCase();\n}\n\nexport function serializeNumber (n, {precision, unit }) {\n\tif (isNone(n)) {\n\t\treturn \"none\";\n\t}\n\n\treturn toPrecision(n, precision) + (unit ?? \"\");\n}\n\n/**\n * Check if a value corresponds to a none argument\n * @param {*} n - Value to check\n * @returns {boolean}\n */\nexport function isNone (n) {\n\treturn Number.isNaN(n) || (n instanceof Number && n?.none);\n}\n\n/**\n * Replace none values with 0\n */\nexport function skipNone (n) {\n\treturn isNone(n) ? 0 : n;\n}\n\n/**\n * Round a number to a certain number of significant digits\n * @param {number} n - The number to round\n * @param {number} precision - Number of significant digits\n */\nexport function toPrecision (n, precision) {\n\tif (n === 0) {\n\t\treturn 0;\n\t}\n\tlet integer = ~~n;\n\tlet digits = 0;\n\tif (integer && precision) {\n\t\tdigits = ~~Math.log10(Math.abs(integer)) + 1;\n\t}\n\tconst multiplier = 10.0 ** (precision - digits);\n\treturn Math.floor(n * multiplier + 0.5) / multiplier;\n}\n\nconst angleFactor = {\n\tdeg: 1,\n\tgrad: 0.9,\n\trad: 180 / Math.PI,\n\tturn: 360,\n};\n\n/**\n* Parse a CSS function, regardless of its name and arguments\n* @param String str String to parse\n* @return {{name, args, rawArgs}}\n*/\nexport function parseFunction (str) {\n\tif (!str) {\n\t\treturn;\n\t}\n\n\tstr = str.trim();\n\n\tconst isFunctionRegex = /^([a-z]+)\\((.+?)\\)$/i;\n\tconst isNumberRegex = /^-?[\\d.]+$/;\n\tconst unitValueRegex = /%|deg|g?rad|turn$/;\n\tconst singleArgument = /\\/?\\s*(none|[-\\w.]+(?:%|deg|g?rad|turn)?)/g;\n\tlet parts = str.match(isFunctionRegex);\n\n\tif (parts) {\n\t\t// It is a function, parse args\n\t\tlet args = [];\n\t\tparts[2].replace(singleArgument, ($0, rawArg) => {\n\t\t\tlet match = rawArg.match(unitValueRegex);\n\t\t\tlet arg = rawArg;\n\n\t\t\tif (match) {\n\t\t\t\tlet unit = match[0];\n\t\t\t\t// Drop unit from value\n\t\t\t\tlet unitlessArg = arg.slice(0, -unit.length);\n\n\t\t\t\tif (unit === \"%\") {\n\t\t\t\t\t// Convert percentages to 0-1 numbers\n\t\t\t\t\targ = new Number(unitlessArg / 100);\n\t\t\t\t\targ.type = \"<percentage>\";\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Multiply angle by appropriate factor for its unit\n\t\t\t\t\targ = new Number(unitlessArg * angleFactor[unit]);\n\t\t\t\t\targ.type = \"<angle>\";\n\t\t\t\t\targ.unit = unit;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (isNumberRegex.test(arg)) {\n\t\t\t\t// Convert numerical args to numbers\n\t\t\t\targ = new Number(arg);\n\t\t\t\targ.type = \"<number>\";\n\t\t\t}\n\t\t\telse if (arg === \"none\") {\n\t\t\t\targ = new Number(NaN);\n\t\t\t\targ.none = true;\n\t\t\t}\n\n\t\t\tif ($0.startsWith(\"/\")) {\n\t\t\t\t// It's alpha\n\t\t\t\targ = arg instanceof Number ? arg : new Number(arg);\n\t\t\t\targ.alpha = true;\n\t\t\t}\n\n\t\t\tif (typeof arg === \"object\" && arg instanceof Number) {\n\t\t\t\targ.raw = rawArg;\n\t\t\t}\n\n\t\t\targs.push(arg);\n\t\t});\n\n\t\treturn {\n\t\t\tname: parts[1].toLowerCase(),\n\t\t\trawName: parts[1],\n\t\t\trawArgs: parts[2],\n\t\t\t// An argument could be (as of css-color-4):\n\t\t\t// a number, percentage, degrees (hue), ident (in color())\n\t\t\targs,\n\t\t};\n\t}\n}\n\nexport function last (arr) {\n\treturn arr[arr.length - 1];\n}\n\nexport function interpolate (start, end, p) {\n\tif (isNaN(start)) {\n\t\treturn end;\n\t}\n\n\tif (isNaN(end)) {\n\t\treturn start;\n\t}\n\n\treturn start + (end - start) * p;\n}\n\nexport function interpolateInv (start, end, value) {\n\treturn (value - start) / (end - start);\n}\n\nexport function mapRange (from, to, value) {\n\treturn interpolate(to[0], to[1], interpolateInv(from[0], from[1], value));\n}\n\nexport function parseCoordGrammar (coordGrammars) {\n\treturn coordGrammars.map(coordGrammar => {\n\t\treturn coordGrammar.split(\"|\").map(type => {\n\t\t\ttype = type.trim();\n\t\t\tlet range = type.match(/^(<[a-z]+>)\\[(-?[.\\d]+),\\s*(-?[.\\d]+)\\]?$/);\n\n\t\t\tif (range) {\n\t\t\t\tlet ret = new String(range[1]);\n\t\t\t\tret.range = [+range[2], +range[3]];\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn type;\n\t\t});\n\t});\n}\n\n/**\n * Clamp value between the minimum and maximum\n * @param {number} min minimum value to return\n * @param {number} val the value to return if it is between min and max\n * @param {number} max maximum value to return\n * @returns number\n */\nexport function clamp (min, val, max) {\n\treturn Math.max(Math.min(max, val), min);\n}\n\n/**\n * Copy sign of one value to another.\n * @param {number} - to number to copy sign to\n * @param {number} - from number to copy sign from\n * @returns number\n */\nexport function copySign (to, from) {\n\treturn Math.sign(to) === Math.sign(from) ? to : -to;\n}\n\n/**\n * Perform pow on a signed number and copy sign to result\n * @param {number} - base the base number\n * @param {number} - exp the exponent\n * @returns number\n */\nexport function spow (base, exp) {\n\treturn copySign(Math.abs(base) ** exp, base);\n}\n\n/**\n * Perform a divide, but return zero if the numerator is zero\n * @param {number} n - the numerator\n * @param {number} d - the denominator\n * @returns number\n */\nexport function zdiv (n, d) {\n\treturn (d === 0) ? 0 : n / d;\n}\n\n/**\n * Perform a bisect on a sorted list and locate the insertion point for\n * a value in arr to maintain sorted order.\n * @param {number[]} arr - array of sorted numbers\n * @param {number} value - value to find insertion point for\n * @param {number} lo - used to specify a the low end of a subset of the list\n * @param {number} hi - used to specify a the high end of a subset of the list\n * @returns number\n */\nexport function bisectLeft (arr, value, lo = 0, hi = arr.length) {\n\twhile (lo < hi) {\n\t\tconst mid = (lo + hi) >> 1;\n\t\tif (arr[mid] < value) {\n\t\t\tlo = mid + 1;\n\t\t}\n\t\telse {\n\t\t\thi = mid;\n\t\t}\n\t}\n\treturn lo;\n}\n", "/**\n * A class for adding deep extensibility to any piece of JS code\n */\nexport class Hooks {\n\tadd (name, callback, first) {\n\t\tif (typeof arguments[0] != \"string\") {\n\t\t\t// Multiple hooks\n\t\t\tfor (var name in arguments[0]) {\n\t\t\t\tthis.add(name, arguments[0][name], arguments[1]);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t(Array.isArray(name) ? name : [name]).forEach(function (name) {\n\t\t\tthis[name] = this[name] || [];\n\n\t\t\tif (callback) {\n\t\t\t\tthis[name][first ? \"unshift\" : \"push\"](callback);\n\t\t\t}\n\t\t}, this);\n\t}\n\n\trun (name, env) {\n\t\tthis[name] = this[name] || [];\n\t\tthis[name].forEach(function (callback) {\n\t\t\tcallback.call(env && env.context ? env.context : env, env);\n\t\t});\n\t}\n}\n\n/**\n * The instance of {@link Hooks} used throughout Color.js\n */\nconst hooks = new Hooks();\n\nexport default hooks;\n", "// Global defaults one may want to configure\nexport default {\n\tgamut_mapping: \"css\",\n\tprecision: 5,\n\tdeltaE: \"76\", // Default deltaE method\n\tverbose: globalThis?.process?.env?.NODE_ENV?.toLowerCase() !== \"test\",\n\twarn: function warn (msg) {\n\t\tif (this.verbose) {\n\t\t\tglobalThis?.console?.warn?.(msg);\n\t\t}\n\t},\n};\n", "import hooks from \"./hooks.js\";\nimport {multiplyMatrices} from \"./util.js\";\n\nexport const WHITES = {\n\t// for compatibility, the four-digit chromaticity-derived ones everyone else uses\n\tD50: [0.3457 / 0.3585, 1.00000, (1.0 - 0.3457 - 0.3585) / 0.3585],\n\tD65: [0.3127 / 0.3290, 1.00000, (1.0 - 0.3127 - 0.3290) / 0.3290],\n};\n\nexport function getWhite (name) {\n\tif (Array.isArray(name)) {\n\t\treturn name;\n\t}\n\n\treturn WHITES[name];\n}\n\n// Adapt XYZ from white point W1 to W2\nexport default function adapt (W1, W2, XYZ, options = {}) {\n\tW1 = getWhite(W1);\n\tW2 = getWhite(W2);\n\n\tif (!W1 || !W2) {\n\t\tthrow new TypeError(`Missing white point to convert ${!W1 ? \"from\" : \"\"}${!W1 && !W2 ? \"/\" : \"\"}${!W2 ? \"to\" : \"\"}`);\n\t}\n\n\tif (W1 === W2) {\n\t\t// Same whitepoints, no conversion needed\n\t\treturn XYZ;\n\t}\n\n\tlet env = {W1, W2, XYZ, options};\n\n\thooks.run(\"chromatic-adaptation-start\", env);\n\n\tif (!env.M) {\n\t\tif (env.W1 === WHITES.D65 && env.W2 === WHITES.D50) {\n\t\t\tenv.M = [\n\t\t\t\t[ 1.0479297925449969, 0.022946870601609652, -0.05019226628920524 ],\n\t\t\t\t[ 0.02962780877005599, 0.9904344267538799, -0.017073799063418826 ],\n\t\t\t\t[ -0.009243040646204504, 0.015055191490298152, 0.7518742814281371 ],\n\t\t\t];\n\t\t}\n\t\telse if (env.W1 === WHITES.D50 && env.W2 === WHITES.D65) {\n\n\t\t\tenv.M = [\n\t\t\t\t[ 0.955473421488075, -0.02309845494876471, 0.06325924320057072 ],\n\t\t\t\t[ -0.0283697093338637, 1.0099953980813041, 0.021041441191917323 ],\n\t\t\t\t[ 0.012314014864481998, -0.020507649298898964, 1.330365926242124 ],\n\t\t\t];\n\t\t}\n\t}\n\n\thooks.run(\"chromatic-adaptation-end\", env);\n\n\tif (env.M) {\n\t\treturn multiplyMatrices(env.M, env.XYZ);\n\t}\n\telse {\n\t\tthrow new TypeError(\"Only Bradford CAT with white points D50 and D65 supported for now.\");\n\t}\n}\n", "import * as util from \"./util.js\";\nimport hooks from \"./hooks.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\n\nconst noneTypes = new Set([\"<number>\", \"<percentage>\", \"<angle>\"]);\n\n/**\n * Validates the coordinates of a color against a format's coord grammar and\n * maps the coordinates to the range or refRange of the coordinates.\n * @param {ColorSpace} space - Colorspace the coords are in\n * @param {object} format - the format object to validate against\n * @param {string} name - the name of the color function. e.g. \"oklab\" or \"color\"\n * @returns {object[]} - an array of type metadata for each coordinate\n */\nfunction coerceCoords (space, format, name, coords) {\n\tlet types = Object.entries(space.coords).map(([id, coordMeta], i) => {\n\t\tlet coordGrammar = format.coordGrammar[i];\n\t\tlet arg = coords[i];\n\t\tlet providedType = arg?.type;\n\n\t\t// Find grammar alternative that matches the provided type\n\t\t// Non-strict equals is intentional because we are comparing w/ string objects\n\t\tlet type;\n\t\tif (arg.none) {\n\t\t\ttype = coordGrammar.find(c => noneTypes.has(c));\n\t\t}\n\t\telse {\n\t\t\ttype = coordGrammar.find(c => c == providedType);\n\t\t}\n\n\t\t// Check that each coord conforms to its grammar\n\t\tif (!type) {\n\t\t\t// Type does not exist in the grammar, throw\n\t\t\tlet coordName = coordMeta.name || id;\n\t\t\tthrow new TypeError(`${providedType ?? arg.raw} not allowed for ${coordName} in ${name}()`);\n\t\t}\n\n\t\tlet fromRange = type.range;\n\n\t\tif (providedType === \"<percentage>\") {\n\t\t\tfromRange ||= [0, 1];\n\t\t}\n\n\t\tlet toRange = coordMeta.range || coordMeta.refRange;\n\n\t\tif (fromRange && toRange) {\n\t\t\tcoords[i] = util.mapRange(fromRange, toRange, coords[i]);\n\t\t}\n\n\t\treturn type;\n\t});\n\n\treturn types;\n}\n\n\n/**\n * Convert a CSS Color string to a color object\n * @param {string} str\n * @param {object} [options]\n * @param {object} [options.meta] - Object for additional information about the parsing\n * @returns {Color}\n */\nexport default function parse (str, {meta} = {}) {\n\tlet env = {\"str\": String(str)?.trim()};\n\thooks.run(\"parse-start\", env);\n\n\tif (env.color) {\n\t\treturn env.color;\n\t}\n\n\tenv.parsed = util.parseFunction(env.str);\n\n\tif (env.parsed) {\n\t\t// Is a functional syntax\n\t\tlet name = env.parsed.name;\n\n\t\tif (name === \"color\") {\n\t\t\t// color() function\n\t\t\tlet id = env.parsed.args.shift();\n\t\t\t// Check against both <dashed-ident> and <ident> versions\n\t\t\tlet alternateId = id.startsWith(\"--\") ? id.substring(2) : `--${id}`;\n\t\t\tlet ids = [id, alternateId];\n\t\t\tlet alpha = env.parsed.rawArgs.indexOf(\"/\") > 0 ? env.parsed.args.pop() : 1;\n\n\t\t\tfor (let space of ColorSpace.all) {\n\t\t\t\tlet colorSpec = space.getFormat(\"color\");\n\n\t\t\t\tif (colorSpec) {\n\t\t\t\t\tif (ids.includes(colorSpec.id) || colorSpec.ids?.filter((specId) => ids.includes(specId)).length) {\n\t\t\t\t\t\t// From https://drafts.csswg.org/css-color-4/#color-function\n\t\t\t\t\t\t// If more <number>s or <percentage>s are provided than parameters that the colorspace takes, the excess <number>s at the end are ignored.\n\t\t\t\t\t\t// If less <number>s or <percentage>s are provided than parameters that the colorspace takes, the missing parameters default to 0. (This is particularly convenient for multichannel printers where the additional inks are spot colors or varnishes that most colors on the page won’t use.)\n\t\t\t\t\t\tconst coords = Object.keys(space.coords).map((_, i) => env.parsed.args[i] || 0);\n\n\t\t\t\t\t\tlet types;\n\n\t\t\t\t\t\tif (colorSpec.coordGrammar) {\n\t\t\t\t\t\t\ttypes = coerceCoords(space, colorSpec, \"color\", coords);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (meta) {\n\t\t\t\t\t\t\tObject.assign(meta, {formatId: \"color\", types});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (colorSpec.id.startsWith(\"--\") && !id.startsWith(\"--\")) {\n\t\t\t\t\t\t\tdefaults.warn(`${space.name} is a non-standard space and not currently supported in the CSS spec. ` +\n\t\t\t\t\t\t\t `Use prefixed color(${colorSpec.id}) instead of color(${id}).`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (id.startsWith(\"--\") && !colorSpec.id.startsWith(\"--\")) {\n\t\t\t\t\t\t\tdefaults.warn(`${space.name} is a standard space and supported in the CSS spec. ` +\n\t\t\t\t\t\t\t `Use color(${colorSpec.id}) instead of prefixed color(${id}).`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {spaceId: space.id, coords, alpha};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Not found\n\t\t\tlet didYouMean = \"\";\n\t\t\tlet registryId = id in ColorSpace.registry ? id : alternateId;\n\t\t\tif (registryId in ColorSpace.registry) {\n\t\t\t\t// Used color space id instead of color() id, these are often different\n\t\t\t\tlet cssId = ColorSpace.registry[registryId].formats?.color?.id;\n\n\t\t\t\tif (cssId) {\n\t\t\t\t\tdidYouMean = `Did you mean color(${cssId})?`;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthrow new TypeError(`Cannot parse color(${id}). ` + (didYouMean || \"Missing a plugin?\"));\n\t\t}\n\t\telse {\n\t\t\tfor (let space of ColorSpace.all) {\n\t\t\t\t// color space specific function\n\t\t\t\tlet format = space.getFormat(name);\n\t\t\t\tif (format && format.type === \"function\") {\n\t\t\t\t\tlet alpha = 1;\n\n\t\t\t\t\tif (format.lastAlpha || util.last(env.parsed.args).alpha) {\n\t\t\t\t\t\talpha = env.parsed.args.pop();\n\t\t\t\t\t}\n\n\t\t\t\t\tlet coords = env.parsed.args;\n\n\t\t\t\t\tlet types;\n\n\t\t\t\t\tif (format.coordGrammar) {\n\t\t\t\t\t\ttypes = coerceCoords(space, format, name, coords);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (meta) {\n\t\t\t\t\t\tObject.assign(meta, {formatId: format.name, types});\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tspaceId: space.id,\n\t\t\t\t\t\tcoords, alpha,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\telse {\n\t\t// Custom, colorspace-specific format\n\t\tfor (let space of ColorSpace.all) {\n\t\t\tfor (let formatId in space.formats) {\n\t\t\t\tlet format = space.formats[formatId];\n\n\t\t\t\tif (format.type !== \"custom\") {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (format.test && !format.test(env.str)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tlet color = format.parse(env.str);\n\n\t\t\t\tif (color) {\n\t\t\t\t\tcolor.alpha ??= 1;\n\n\t\t\t\t\tif (meta) {\n\t\t\t\t\t\tmeta.formatId = formatId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn color;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\n\t// If we're here, we couldn't parse\n\tthrow new TypeError(`Could not parse ${str} as a color. Missing a plugin?`);\n}\n", "import ColorSpace from \"./space.js\";\nimport {isString} from \"./util.js\";\nimport parse from \"./parse.js\";\n\n/**\n * Resolves a color reference (object or string) to a plain color object\n * @param {Color | {space, coords, alpha} | string | Array<Color | {space, coords, alpha} | string> } color\n * @returns {{space, coords, alpha} | Array<{space, coords, alpha}}>\n */\nexport default function getColor (color) {\n\tif (Array.isArray(color)) {\n\t\treturn color.map(getColor);\n\t}\n\n\tif (!color) {\n\t\tthrow new TypeError(\"Empty color reference\");\n\t}\n\n\tif (isString(color)) {\n\t\tcolor = parse(color);\n\t}\n\n\t// Object fixup\n\tlet space = color.space || color.spaceId;\n\n\tif (!(space instanceof ColorSpace)) {\n\t\t// Convert string id to color space object\n\t\tcolor.space = ColorSpace.get(space);\n\t}\n\n\tif (color.alpha === undefined) {\n\t\tcolor.alpha = 1;\n\t}\n\n\treturn color;\n}\n", "import {type, parseCoordGrammar, serializeNumber, mapRange} from \"./util.js\";\nimport {getWhite} from \"./adapt.js\";\nimport hooks from \"./hooks.js\";\nimport getColor from \"./getColor.js\";\n\nconst ε = .000075;\n\n/**\n * Class to represent a color space\n */\nexport default class ColorSpace {\n\tconstructor (options) {\n\t\tthis.id = options.id;\n\t\tthis.name = options.name;\n\t\tthis.base = options.base ? ColorSpace.get(options.base) : null;\n\t\tthis.aliases = options.aliases;\n\n\t\tif (this.base) {\n\t\t\tthis.fromBase = options.fromBase;\n\t\t\tthis.toBase = options.toBase;\n\t\t}\n\n\t\t// Coordinate metadata\n\n\t\tlet coords = options.coords ?? this.base.coords;\n\n\t\tfor (let name in coords) {\n\t\t\tif (!(\"name\" in coords[name])) {\n\t\t\t\tcoords[name].name = name;\n\t\t\t}\n\t\t}\n\t\tthis.coords = coords;\n\n\t\t// White point\n\n\t\tlet white = options.white ?? this.base.white ?? \"D65\";\n\t\tthis.white = getWhite(white);\n\n\t\t// Sort out formats\n\n\t\tthis.formats = options.formats ?? {};\n\n\t\tfor (let name in this.formats) {\n\t\t\tlet format = this.formats[name];\n\t\t\tformat.type ||= \"function\";\n\t\t\tformat.name ||= name;\n\t\t}\n\n\t\tif (!this.formats.color?.id) {\n\t\t\tthis.formats.color = {\n\t\t\t\t...this.formats.color ?? {},\n\t\t\t\tid: options.cssId || this.id,\n\t\t\t};\n\t\t}\n\n\t\t// Gamut space\n\n\t\tif (options.gamutSpace) {\n\t\t\t// Gamut space explicitly specified\n\t\t\tthis.gamutSpace = options.gamutSpace === \"self\" ? this : ColorSpace.get(options.gamutSpace);\n\t\t}\n\t\telse {\n\t\t\t// No gamut space specified, calculate a sensible default\n\t\t\tif (this.isPolar) {\n\t\t\t\t// Do not check gamut through polar coordinates\n\t\t\t\tthis.gamutSpace = this.base;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.gamutSpace = this;\n\t\t\t}\n\t\t}\n\n\t\t// Optimize inGamut for unbounded spaces\n\t\tif (this.gamutSpace.isUnbounded) {\n\t\t\tthis.inGamut = (coords, options) => {\n\t\t\t\treturn true;\n\t\t\t};\n\t\t}\n\n\t\t// Other stuff\n\t\tthis.referred = options.referred;\n\n\t\t// Compute ancestors and store them, since they will never change\n\t\tObject.defineProperty(this, \"path\", {\n\t\t\tvalue: getPath(this).reverse(),\n\t\t\twritable: false,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t});\n\n\t\thooks.run(\"colorspace-init-end\", this);\n\t}\n\n\tinGamut (coords, {epsilon = ε} = {}) {\n\t\tif (!this.equals(this.gamutSpace)) {\n\t\t\tcoords = this.to(this.gamutSpace, coords);\n\t\t\treturn this.gamutSpace.inGamut(coords, {epsilon});\n\t\t}\n\n\t\tlet coordMeta = Object.values(this.coords);\n\n\t\treturn coords.every((c, i) => {\n\t\t\tlet meta = coordMeta[i];\n\n\t\t\tif (meta.type !== \"angle\" && meta.range) {\n\t\t\t\tif (Number.isNaN(c)) {\n\t\t\t\t\t// NaN is always in gamut\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tlet [min, max] = meta.range;\n\t\t\t\treturn (min === undefined || c >= min - epsilon)\n\t\t\t\t && (max === undefined || c <= max + epsilon);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t});\n\t}\n\n\tget isUnbounded () {\n\t\treturn Object.values(this.coords).every(coord => !(\"range\" in coord));\n\t}\n\n\tget cssId () {\n\t\treturn this.formats?.color?.id || this.id;\n\t}\n\n\tget isPolar () {\n\t\tfor (let id in this.coords) {\n\t\t\tif (this.coords[id].type === \"angle\") {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tgetFormat (format) {\n\t\tif (typeof format === \"object\") {\n\t\t\tformat = processFormat(format, this);\n\t\t\treturn format;\n\t\t}\n\n\t\tlet ret;\n\t\tif (format === \"default\") {\n\t\t\t// Get first format\n\t\t\tret = Object.values(this.formats)[0];\n\t\t}\n\t\telse {\n\t\t\tret = this.formats[format];\n\t\t}\n\n\t\tif (ret) {\n\t\t\tret = processFormat(ret, this);\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/**\n\t * Check if this color space is the same as another color space reference.\n\t * Allows proxying color space objects and comparing color spaces with ids.\n\t * @param {string | ColorSpace} space ColorSpace object or id to compare to\n\t * @returns {boolean}\n\t */\n\tequals (space) {\n\t\tif (!space) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this === space || this.id === space || this.id === space.id;\n\t}\n\n\tto (space, coords) {\n\t\tif (arguments.length === 1) {\n\t\t\tconst color = getColor(space);\n\t\t\t[space, coords] = [color.space, color.coords];\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tif (this.equals(space)) {\n\t\t\t// Same space, no change needed\n\t\t\treturn coords;\n\t\t}\n\n\t\t// Convert NaN to 0, which seems to be valid in every coordinate of every color space\n\t\tcoords = coords.map(c => Number.isNaN(c) ? 0 : c);\n\n\t\t// Find connection space = lowest common ancestor in the base tree\n\t\tlet myPath = this.path;\n\t\tlet otherPath = space.path;\n\n\t\tlet connectionSpace, connectionSpaceIndex;\n\n\t\tfor (let i = 0; i < myPath.length; i++) {\n\t\t\tif (myPath[i].equals(otherPath[i])) {\n\t\t\t\tconnectionSpace = myPath[i];\n\t\t\t\tconnectionSpaceIndex = i;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (!connectionSpace) {\n\t\t\t// This should never happen\n\t\t\tthrow new Error(`Cannot convert between color spaces ${this} and ${space}: no connection space was found`);\n\t\t}\n\n\t\t// Go up from current space to connection space\n\t\tfor (let i = myPath.length - 1; i > connectionSpaceIndex; i--) {\n\t\t\tcoords = myPath[i].toBase(coords);\n\t\t}\n\n\t\t// Go down from connection space to target space\n\t\tfor (let i = connectionSpaceIndex + 1; i < otherPath.length; i++) {\n\t\t\tcoords = otherPath[i].fromBase(coords);\n\t\t}\n\n\t\treturn coords;\n\t}\n\n\tfrom (space, coords) {\n\t\tif (arguments.length === 1) {\n\t\t\tconst color = getColor(space);\n\t\t\t[space, coords] = [color.space, color.coords];\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\treturn space.to(this, coords);\n\t}\n\n\ttoString () {\n\t\treturn `${this.name} (${this.id})`;\n\t}\n\n\tgetMinCoords () {\n\t\tlet ret = [];\n\n\t\tfor (let id in this.coords) {\n\t\t\tlet meta = this.coords[id];\n\t\t\tlet range = meta.range || meta.refRange;\n\t\t\tret.push(range?.min ?? 0);\n\t\t}\n\n\t\treturn ret;\n\t}\n\n\tstatic registry = {};\n\n\t// Returns array of unique color spaces\n\tstatic get all () {\n\t\treturn [...new Set(Object.values(ColorSpace.registry))];\n\t}\n\n\tstatic register (id, space) {\n\t\tif (arguments.length === 1) {\n\t\t\tspace = arguments[0];\n\t\t\tid = space.id;\n\t\t}\n\n\t\tspace = this.get(space);\n\n\t\tif (this.registry[id] && this.registry[id] !== space) {\n\t\t\tthrow new Error(`Duplicate color space registration: '${id}'`);\n\t\t}\n\t\tthis.registry[id] = space;\n\n\t\t// Register aliases when called without an explicit ID.\n\t\tif (arguments.length === 1 && space.aliases) {\n\t\t\tfor (let alias of space.aliases) {\n\t\t\t\tthis.register(alias, space);\n\t\t\t}\n\t\t}\n\n\t\treturn space;\n\t}\n\n\t/**\n\t * Lookup ColorSpace object by name\n\t * @param {ColorSpace | string} name\n\t */\n\tstatic get (space, ...alternatives) {\n\t\tif (!space || space instanceof ColorSpace) {\n\t\t\treturn space;\n\t\t}\n\n\t\tlet argType = type(space);\n\n\t\tif (argType === \"string\") {\n\t\t\t// It's a color space id\n\t\t\tlet ret = ColorSpace.registry[space.toLowerCase()];\n\n\t\t\tif (!ret) {\n\t\t\t\tthrow new TypeError(`No color space found with id = \"${space}\"`);\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t}\n\n\t\tif (alternatives.length) {\n\t\t\treturn ColorSpace.get(...alternatives);\n\t\t}\n\n\t\tthrow new TypeError(`${space} is not a valid color space`);\n\t}\n\n\t/**\n\t * Get metadata about a coordinate of a color space\n\t *\n\t * @static\n\t * @param {Array | string} ref\n\t * @param {ColorSpace | string} [workingSpace]\n\t * @return {Object}\n\t */\n\tstatic resolveCoord (ref, workingSpace) {\n\t\tlet coordType = type(ref);\n\t\tlet space, coord;\n\n\t\tif (coordType === \"string\") {\n\t\t\tif (ref.includes(\".\")) {\n\t\t\t\t// Absolute coordinate\n\t\t\t\t[space, coord] = ref.split(\".\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// Relative coordinate\n\t\t\t\t[space, coord] = [, ref];\n\t\t\t}\n\t\t}\n\t\telse if (Array.isArray(ref)) {\n\t\t\t[space, coord] = ref;\n\t\t}\n\t\telse {\n\t\t\t// Object\n\t\t\tspace = ref.space;\n\t\t\tcoord = ref.coordId;\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tif (!space) {\n\t\t\tspace = workingSpace;\n\t\t}\n\n\t\tif (!space) {\n\t\t\tthrow new TypeError(`Cannot resolve coordinate reference ${ref}: No color space specified and relative references are not allowed here`);\n\t\t}\n\n\t\tcoordType = type(coord);\n\n\t\tif (coordType === \"number\" || coordType === \"string\" && coord >= 0) {\n\t\t\t// Resolve numerical coord\n\t\t\tlet meta = Object.entries(space.coords)[coord];\n\n\t\t\tif (meta) {\n\t\t\t\treturn {space, id: meta[0], index: coord, ...meta[1]};\n\t\t\t}\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tlet normalizedCoord = coord.toLowerCase();\n\n\t\tlet i = 0;\n\t\tfor (let id in space.coords) {\n\t\t\tlet meta = space.coords[id];\n\n\t\t\tif (id.toLowerCase() === normalizedCoord || meta.name?.toLowerCase() === normalizedCoord) {\n\t\t\t\treturn {space, id, index: i, ...meta};\n\t\t\t}\n\n\t\t\ti++;\n\t\t}\n\n\t\tthrow new TypeError(`No \"${coord}\" coordinate found in ${space.name}. Its coordinates are: ${Object.keys(space.coords).join(\", \")}`);\n\t}\n\n\tstatic DEFAULT_FORMAT = {\n\t\ttype: \"functions\",\n\t\tname: \"color\",\n\t};\n}\n\nfunction getPath (space) {\n\tlet ret = [space];\n\n\tfor (let s = space; s = s.base;) {\n\t\tret.push(s);\n\t}\n\n\treturn ret;\n}\n\nfunction processFormat (format, {coords} = {}) {\n\tif (format.coords && !format.coordGrammar) {\n\t\tformat.type ||= \"function\";\n\t\tformat.name ||= \"color\";\n\n\t\t// Format has not been processed\n\t\tformat.coordGrammar = parseCoordGrammar(format.coords);\n\n\t\tlet coordFormats = Object.entries(coords).map(([id, coordMeta], i) => {\n\t\t\t// Preferred format for each coord is the first one\n\t\t\tlet outputType = format.coordGrammar[i][0];\n\n\t\t\tlet fromRange = coordMeta.range || coordMeta.refRange;\n\t\t\tlet toRange = outputType.range, suffix = \"\";\n\n\t\t\t// Non-strict equals intentional since outputType could be a string object\n\t\t\tif (outputType == \"<percentage>\") {\n\t\t\t\ttoRange = [0, 100];\n\t\t\t\tsuffix = \"%\";\n\t\t\t}\n\t\t\telse if (outputType == \"<angle>\") {\n\t\t\t\tsuffix = \"deg\";\n\t\t\t}\n\n\t\t\treturn {fromRange, toRange, suffix};\n\t\t});\n\n\t\tformat.serializeCoords = (coords, precision) => {\n\t\t\treturn coords.map((c, i) => {\n\t\t\t\tlet {fromRange, toRange, suffix} = coordFormats[i];\n\n\t\t\t\tif (fromRange && toRange) {\n\t\t\t\t\tc = mapRange(fromRange, toRange, c);\n\t\t\t\t}\n\n\t\t\t\tc = serializeNumber(c, {precision, unit: suffix});\n\n\t\t\t\treturn c;\n\t\t\t});\n\t\t};\n\t}\n\n\treturn format;\n}\n", "import ColorSpace from \"../space.js\";\n\nexport default new ColorSpace({\n\tid: \"xyz-d65\",\n\tname: \"XYZ D65\",\n\tcoords: {\n\t\tx: {name: \"X\"},\n\t\ty: {name: \"Y\"},\n\t\tz: {name: \"Z\"},\n\t},\n\twhite: \"D65\",\n\tformats: {\n\t\tcolor: {\n\t\t\tids: [\"xyz-d65\", \"xyz\"],\n\t\t},\n\t},\n\taliases: [\"xyz\"],\n});\n", "import ColorSpace from \"./space.js\";\nimport {multiplyMatrices} from \"./util.js\";\nimport adapt from \"./adapt.js\";\nimport XYZ_D65 from \"./spaces/xyz-d65.js\";\n\n/**\n * Convenience class for RGB color spaces\n * @extends {ColorSpace}\n */\nexport default class RGBColorSpace extends ColorSpace {\n\t/**\n\t * Creates a new RGB ColorSpace.\n\t * If coords are not specified, they will use the default RGB coords.\n\t * Instead of `fromBase()` and `toBase()` functions,\n\t * you can specify to/from XYZ matrices and have `toBase()` and `fromBase()` automatically generated.\n\t * @param {*} options - Same options as {@link ColorSpace} plus:\n\t * @param {number[][]} options.toXYZ_M - Matrix to convert to XYZ\n\t * @param {number[][]} options.fromXYZ_M - Matrix to convert from XYZ\n\t */\n\tconstructor (options) {\n\t\tif (!options.coords) {\n\t\t\toptions.coords = {\n\t\t\t\tr: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Red\",\n\t\t\t\t},\n\t\t\t\tg: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Green\",\n\t\t\t\t},\n\t\t\t\tb: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Blue\",\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tif (!options.base) {\n\t\t\toptions.base = XYZ_D65;\n\t\t}\n\n\t\tif (options.toXYZ_M && options.fromXYZ_M) {\n\t\t\toptions.toBase ??= rgb => {\n\t\t\t\tlet xyz = multiplyMatrices(options.toXYZ_M, rgb);\n\n\t\t\t\tif (this.white !== this.base.white) {\n\t\t\t\t\t// Perform chromatic adaptation\n\t\t\t\t\txyz = adapt(this.white, this.base.white, xyz);\n\t\t\t\t}\n\n\t\t\t\treturn xyz;\n\t\t\t};\n\n\t\t\toptions.fromBase ??= xyz => {\n\t\t\t\txyz = adapt(this.base.white, this.white, xyz);\n\t\t\t\treturn multiplyMatrices(options.fromXYZ_M, xyz);\n\t\t\t};\n\t\t}\n\n\t\toptions.referred ??= \"display\";\n\n\t\tsuper(options);\n\t}\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\n/**\n * Get the coordinates of a color in any color space\n * @param {Color} color\n * @param {string | ColorSpace} [space = color.space] The color space to convert to. Defaults to the color's current space\n * @returns {number[]} The color coordinates in the given color space\n */\nexport default function getAll (color, space) {\n\tcolor = getColor(color);\n\n\tif (!space || color.space.equals(space)) {\n\t\t// No conversion needed\n\t\treturn color.coords.slice();\n\t}\n\n\tspace = ColorSpace.get(space);\n\treturn space.from(color);\n}\n", "import ColorSpace from \"./space.js\";\nimport getAll from \"./getAll.js\";\nimport getColor from \"./getColor.js\";\n\nexport default function get (color, prop) {\n\tcolor = getColor(color);\n\n\tlet {space, index} = ColorSpace.resolveCoord(prop, color.space);\n\tlet coords = getAll(color, space);\n\treturn coords[index];\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\nexport default function setAll (color, space, coords) {\n\tcolor = getColor(color);\n\n\tspace = ColorSpace.get(space);\n\tcolor.coords = space.to(color.space, coords);\n\treturn color;\n}\n\nsetAll.returns = \"color\";\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\nimport get from \"./get.js\";\nimport getAll from \"./getAll.js\";\nimport setAll from \"./setAll.js\";\nimport {type} from \"./util.js\";\n\n// Set properties and return current instance\nexport default function set (color, prop, value) {\n\tcolor = getColor(color);\n\n\tif (arguments.length === 2 && type(arguments[1]) === \"object\") {\n\t\t// Argument is an object literal\n\t\tlet object = arguments[1];\n\t\tfor (let p in object) {\n\t\t\tset(color, p, object[p]);\n\t\t}\n\t}\n\telse {\n\t\tif (typeof value === \"function\") {\n\t\t\tvalue = value(get(color, prop));\n\t\t}\n\n\t\tlet {space, index} = ColorSpace.resolveCoord(prop, color.space);\n\t\tlet coords = getAll(color, space);\n\t\tcoords[index] = value;\n\t\tsetAll(color, space, coords);\n\t}\n\n\treturn color;\n}\n\nset.returns = \"color\";\n", "import ColorSpace from \"../space.js\";\nimport adapt from \"../adapt.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\nexport default new ColorSpace({\n\tid: \"xyz-d50\",\n\tname: \"XYZ D50\",\n\twhite: \"D50\",\n\tbase: XYZ_D65,\n\tfromBase: coords => adapt(XYZ_D65.white, \"D50\", coords),\n\ttoBase: coords => adapt(\"D50\", XYZ_D65.white, coords),\n});\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d50 from \"./xyz-d50.js\";\n\n// κ * ε = 2^3 = 8\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst ε3 = 24 / 116;\nconst κ = 24389 / 27; // 29^3/3^3\n\nlet white = WHITES.D50;\n\nexport default new ColorSpace({\n\tid: \"lab\",\n\tname: \"Lab\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t},\n\n\t// Assuming XYZ is relative to D50, convert to CIE Lab\n\t// from CIE standard, which now defines these as a rational fraction\n\twhite,\n\n\tbase: xyz_d50,\n\t// Convert D50-adapted XYX to Lab\n\t// CIE 15.3:2004 section 8.2.1.1\n\tfromBase (XYZ) {\n\t\t// compute xyz, which is XYZ scaled relative to reference white\n\t\tlet xyz = XYZ.map((value, i) => value / white[i]);\n\n\t\t// now compute f\n\t\tlet f = xyz.map(value => value > ε ? Math.cbrt(value) : (κ * value + 16) / 116);\n\n\t\treturn [\n\t\t\t(116 * f[1]) - 16, // L\n\t\t\t500 * (f[0] - f[1]), // a\n\t\t\t200 * (f[1] - f[2]), // b\n\t\t];\n\t},\n\t// Convert Lab to D50-adapted XYZ\n\t// Same result as CIE 15.3:2004 Appendix D although the derivation is different\n\t// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n\ttoBase (Lab) {\n\t\t// compute f, starting with the luminance-related term\n\t\tlet f = [];\n\t\tf[1] = (Lab[0] + 16) / 116;\n\t\tf[0] = Lab[1] / 500 + f[1];\n\t\tf[2] = f[1] - Lab[2] / 200;\n\n\t\t// compute xyz\n\t\tlet xyz = [\n\t\t\tf[0] > ε3 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / κ,\n\t\t\tLab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / κ,\n\t\t\tf[2] > ε3 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / κ,\n\t\t];\n\n\t\t// Compute XYZ by scaling xyz by reference white\n\t\treturn xyz.map((value, i) => value * white[i]);\n\t},\n\n\tformats: {\n\t\t\"lab\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "export function constrain (angle) {\n\treturn ((angle % 360) + 360) % 360;\n}\n\nexport function adjust (arc, angles) {\n\tif (arc === \"raw\") {\n\t\treturn angles;\n\t}\n\n\tlet [a1, a2] = angles.map(constrain);\n\n\tlet angleDiff = a2 - a1;\n\n\tif (arc === \"increasing\") {\n\t\tif (angleDiff < 0) {\n\t\t\ta2 += 360;\n\t\t}\n\t}\n\telse if (arc === \"decreasing\") {\n\t\tif (angleDiff > 0) {\n\t\t\ta1 += 360;\n\t\t}\n\t}\n\telse if (arc === \"longer\") {\n\t\tif (-180 < angleDiff && angleDiff < 180) {\n\t\t\tif (angleDiff > 0) {\n\t\t\t\ta1 += 360;\n\t\t\t}\n\t\t\telse {\n\t\t\t\ta2 += 360;\n\t\t\t}\n\t\t}\n\t}\n\telse if (arc === \"shorter\") {\n\t\tif (angleDiff > 180) {\n\t\t\ta1 += 360;\n\t\t}\n\t\telse if (angleDiff < -180) {\n\t\t\ta2 += 360;\n\t\t}\n\t}\n\n\treturn [a1, a2];\n}\n", "import ColorSpace from \"../space.js\";\nimport Lab from \"./lab.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"lch\",\n\tname: \"LCH\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 150],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Lab,\n\tfromBase (Lab) {\n\t\t// Convert to polar form\n\t\tlet [L, a, b] = Lab;\n\t\tlet hue;\n\t\tconst ε = 0.02;\n\n\t\tif (Math.abs(a) < ε && Math.abs(b) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(b, a) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // L is still L\n\t\t\tMath.sqrt(a ** 2 + b ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (LCH) {\n\t\t// Convert from polar form\n\t\tlet [Lightness, Chroma, Hue] = LCH;\n\t\t// Clamp any negative Chroma\n\t\tif (Chroma < 0) {\n\t\t\tChroma = 0;\n\t\t}\n\t\t// Deal with NaN Hue\n\t\tif (isNaN(Hue)) {\n\t\t\tHue = 0;\n\t\t}\n\t\treturn [\n\t\t\tLightness, // L is still L\n\t\t\tChroma * Math.cos(Hue * Math.PI / 180), // a\n\t\t\tChroma * Math.sin(Hue * Math.PI / 180), // b\n\t\t];\n\t},\n\n\tformats: {\n\t\t\"lch\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "import defaults from \"../defaults.js\";\nimport lab from \"../spaces/lab.js\";\nimport lch from \"../spaces/lch.js\";\nimport getColor from \"../getColor.js\";\n\n// deltaE2000 is a statistically significant improvement\n// and is recommended by the CIE and Idealliance\n// especially for color differences less than 10 deltaE76\n// but is wicked complicated\n// and many implementations have small errors!\n// DeltaE2000 is also discontinuous; in case this\n// matters to you, use deltaECMC instead.\n\nconst Gfactor = 25 ** 7;\nconst π = Math.PI;\nconst r2d = 180 / π;\nconst d2r = π / 180;\n\nfunction pow7 (x) {\n\t// Faster than x ** 7 or Math.pow(x, 7)\n\n\tconst x2 = x * x;\n\tconst x7 = x2 * x2 * x2 * x;\n\n\treturn x7;\n}\n\nexport default function (color, sample, {kL = 1, kC = 1, kH = 1} = {}) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and the function parameter as the sample,\n\t// calculate deltaE 2000.\n\n\t// This implementation assumes the parametric\n\t// weighting factors kL, kC and kH\n\t// for the influence of viewing conditions\n\t// are all 1, as sadly seems typical.\n\t// kL should be increased for lightness texture or noise\n\t// and kC increased for chroma noise\n\n\tlet [L1, a1, b1] = lab.from(color);\n\tlet C1 = lch.from(lab, [L1, a1, b1])[1];\n\tlet [L2, a2, b2] = lab.from(sample);\n\tlet C2 = lch.from(lab, [L2, a2, b2])[1];\n\n\t// Check for negative Chroma,\n\t// which might happen through\n\t// direct user input of LCH values\n\n\tif (C1 < 0) {\n\t\tC1 = 0;\n\t}\n\tif (C2 < 0) {\n\t\tC2 = 0;\n\t}\n\n\tlet Cbar = (C1 + C2) / 2; // mean Chroma\n\n\t// calculate a-axis asymmetry factor from mean Chroma\n\t// this turns JND ellipses for near-neutral colors back into circles\n\tlet C7 = pow7(Cbar);\n\n\tlet G = 0.5 * (1 - Math.sqrt(C7 / (C7 + Gfactor)));\n\n\t// scale a axes by asymmetry factor\n\t// this by the way is why there is no Lab2000 colorspace\n\tlet adash1 = (1 + G) * a1;\n\tlet adash2 = (1 + G) * a2;\n\n\t// calculate new Chroma from scaled a and original b axes\n\tlet Cdash1 = Math.sqrt(adash1 ** 2 + b1 ** 2);\n\tlet Cdash2 = Math.sqrt(adash2 ** 2 + b2 ** 2);\n\n\t// calculate new hues, with zero hue for true neutrals\n\t// and in degrees, not radians\n\n\tlet h1 = (adash1 === 0 && b1 === 0) ? 0 : Math.atan2(b1, adash1);\n\tlet h2 = (adash2 === 0 && b2 === 0) ? 0 : Math.atan2(b2, adash2);\n\n\tif (h1 < 0) {\n\t\th1 += 2 * π;\n\t}\n\tif (h2 < 0) {\n\t\th2 += 2 * π;\n\t}\n\n\th1 *= r2d;\n\th2 *= r2d;\n\n\t// Lightness and Chroma differences; sign matters\n\tlet ΔL = L2 - L1;\n\tlet ΔC = Cdash2 - Cdash1;\n\n\t// Hue difference, getting the sign correct\n\tlet hdiff = h2 - h1;\n\tlet hsum = h1 + h2;\n\tlet habs = Math.abs(hdiff);\n\tlet Δh;\n\n\tif (Cdash1 * Cdash2 === 0) {\n\t\tΔh = 0;\n\t}\n\telse if (habs <= 180) {\n\t\tΔh = hdiff;\n\t}\n\telse if (hdiff > 180) {\n\t\tΔh = hdiff - 360;\n\t}\n\telse if (hdiff < -180) {\n\t\tΔh = hdiff + 360;\n\t}\n\telse {\n\t\tdefaults.warn(\"the unthinkable has happened\");\n\t}\n\n\t// weighted Hue difference, more for larger Chroma\n\tlet ΔH = 2 * Math.sqrt(Cdash2 * Cdash1) * Math.sin(Δh * d2r / 2);\n\n\t// calculate mean Lightness and Chroma\n\tlet Ldash = (L1 + L2) / 2;\n\tlet Cdash = (Cdash1 + Cdash2) / 2;\n\tlet Cdash7 = pow7(Cdash);\n\n\t// Compensate for non-linearity in the blue region of Lab.\n\t// Four possibilities for hue weighting factor,\n\t// depending on the angles, to get the correct sign\n\tlet hdash;\n\tif (Cdash1 * Cdash2 === 0) {\n\t\thdash = hsum; // which should be zero\n\t}\n\telse if (habs <= 180) {\n\t\thdash = hsum / 2;\n\t}\n\telse if (hsum < 360) {\n\t\thdash = (hsum + 360) / 2;\n\t}\n\telse {\n\t\thdash = (hsum - 360) / 2;\n\t}\n\n\t// positional corrections to the lack of uniformity of CIELAB\n\t// These are all trying to make JND ellipsoids more like spheres\n\n\t// SL Lightness crispening factor\n\t// a background with L=50 is assumed\n\tlet lsq = (Ldash - 50) ** 2;\n\tlet SL = 1 + ((0.015 * lsq) / Math.sqrt(20 + lsq));\n\n\t// SC Chroma factor, similar to those in CMC and deltaE 94 formulae\n\tlet SC = 1 + 0.045 * Cdash;\n\n\t// Cross term T for blue non-linearity\n\tlet T = 1;\n\tT -= (0.17 * Math.cos(( hdash - 30) * d2r));\n\tT += (0.24 * Math.cos( 2 * hdash * d2r));\n\tT += (0.32 * Math.cos(((3 * hdash) + 6) * d2r));\n\tT -= (0.20 * Math.cos(((4 * hdash) - 63) * d2r));\n\n\t// SH Hue factor depends on Chroma,\n\t// as well as adjusted hue angle like deltaE94.\n\tlet SH = 1 + 0.015 * Cdash * T;\n\n\t// RT Hue rotation term compensates for rotation of JND ellipses\n\t// and Munsell constant hue lines\n\t// in the medium-high Chroma blue region\n\t// (Hue 225 to 315)\n\tlet Δθ = 30 * Math.exp(-1 * (((hdash - 275) / 25) ** 2));\n\tlet RC = 2 * Math.sqrt(Cdash7 / (Cdash7 + Gfactor));\n\tlet RT = -1 * Math.sin(2 * Δθ * d2r) * RC;\n\n\t// Finally calculate the deltaE, term by term as root sume of squares\n\tlet dE = (ΔL / (kL * SL)) ** 2;\n\tdE += (ΔC / (kC * SC)) ** 2;\n\tdE += (ΔH / (kH * SH)) ** 2;\n\tdE += RT * (ΔC / (kC * SC)) * (ΔH / (kH * SH));\n\treturn Math.sqrt(dE);\n\t// Yay!!!\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\n// Recalculated for consistent reference white\n// see https://github.com/w3c/csswg-drafts/issues/6642#issuecomment-943521484\nconst XYZtoLMS_M = [\n\t[ 0.8190224379967030, 0.3619062600528904, -0.1288737815209879 ],\n\t[ 0.0329836539323885, 0.9292868615863434, 0.0361446663506424 ],\n\t[ 0.0481771893596242, 0.2642395317527308, 0.6335478284694309 ],\n];\n// inverse of XYZtoLMS_M\nconst LMStoXYZ_M = [\n\t[ 1.2268798758459243, -0.5578149944602171, 0.2813910456659647 ],\n\t[ -0.0405757452148008, 1.1122868032803170, -0.0717110580655164 ],\n\t[ -0.0763729366746601, -0.4214933324022432, 1.5869240198367816 ],\n];\nconst LMStoLab_M = [\n\t[ 0.2104542683093140, 0.7936177747023054, -0.0040720430116193 ],\n\t[ 1.9779985324311684, -2.4285922420485799, 0.4505937096174110 ],\n\t[ 0.0259040424655478, 0.7827717124575296, -0.8086757549230774 ],\n];\n// LMStoIab_M inverted\nconst LabtoLMS_M = [\n\t[ 1.0000000000000000, 0.3963377773761749, 0.2158037573099136 ],\n\t[ 1.0000000000000000, -0.1055613458156586, -0.0638541728258133 ],\n\t[ 1.0000000000000000, -0.0894841775298119, -1.2914855480194092 ],\n];\n\nexport default new ColorSpace({\n\tid: \"oklab\",\n\tname: \"Oklab\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-0.4, 0.4],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-0.4, 0.4],\n\t\t},\n\t},\n\n\t// Note that XYZ is relative to D65\n\twhite: \"D65\",\n\tbase: XYZ_D65,\n\tfromBase (XYZ) {\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoLMS_M, XYZ);\n\n\t\t// non-linearity\n\t\tlet LMSg = LMS.map(val => Math.cbrt(val));\n\n\t\treturn multiplyMatrices(LMStoLab_M, LMSg);\n\n\t},\n\ttoBase (OKLab) {\n\t\t// move to LMS cone domain\n\t\tlet LMSg = multiplyMatrices(LabtoLMS_M, OKLab);\n\n\t\t// restore linearity\n\t\tlet LMS = LMSg.map(val => val ** 3);\n\n\t\treturn multiplyMatrices(LMStoXYZ_M, LMS);\n\t},\n\n\tformats: {\n\t\t\"oklab\": {\n\t\t\tcoords: [\"<percentage> | <number>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in CIE Lab\n\nimport oklab from \"../spaces/oklab.js\";\nimport getColor from \"../getColor.js\";\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaEOK, term by term as root sum of squares\n\tlet [L1, a1, b1] = oklab.from(color);\n\tlet [L2, a2, b2] = oklab.from(sample);\n\tlet ΔL = L1 - L2;\n\tlet Δa = a1 - a2;\n\tlet Δb = b1 - b2;\n\treturn Math.sqrt(ΔL ** 2 + Δa ** 2 + Δb ** 2);\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\nconst ε = .000075;\n\n/**\n * Check if a color is in gamut of either its own or another color space\n * @return {Boolean} Is the color in gamut?\n */\nexport default function inGamut (color, space, {epsilon = ε} = {}) {\n\tcolor = getColor(color);\n\n\tif (!space) {\n\t\tspace = color.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\tlet coords = color.coords;\n\n\tif (space !== color.space) {\n\t\tcoords = space.from(color);\n\t}\n\n\treturn space.inGamut(coords, {epsilon});\n}\n", "export default function clone (color) {\n\treturn {\n\t\tspace: color.space,\n\t\tcoords: color.coords.slice(),\n\t\talpha: color.alpha,\n\t};\n}\n", "import ColorSpace from \"./space.js\";\n\n/**\n * Euclidean distance of colors in an arbitrary color space\n */\nexport default function distance (color1, color2, space = \"lab\") {\n\tspace = ColorSpace.get(space);\n\n\t// Assume getColor() is called on color in space.from()\n\tlet coords1 = space.from(color1);\n\tlet coords2 = space.from(color2);\n\n\treturn Math.sqrt(coords1.reduce((acc, c1, i) => {\n\t\tlet c2 = coords2[i];\n\t\tif (isNaN(c1) || isNaN(c2)) {\n\t\t\treturn acc;\n\t\t}\n\n\t\treturn acc + (c2 - c1) ** 2;\n\t}, 0));\n}\n", "import distance from \"../distance.js\";\nimport getColor from \"../getColor.js\";\n\nexport default function deltaE76 (color, sample) {\n\t// Assume getColor() is called in the distance function\n\treturn distance(color, sample, \"lab\");\n}\n", "import lab from \"../spaces/lab.js\";\nimport lch from \"../spaces/lch.js\";\nimport getColor from \"../getColor.js\";\n\n// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in Lab\n\n// CMC by the Color Measurement Committee of the\n// Bradford Society of Dyeists and Colorsts, 1994.\n// Uses LCH rather than Lab,\n// with different weights for L, C and H differences\n// A nice increase in accuracy for modest increase in complexity\nconst π = Math.PI;\nconst d2r = π / 180;\n\nexport default function (color, sample, {l = 2, c = 1} = {}) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE CMC.\n\n\t// This implementation assumes the parametric\n\t// weighting factors l:c are 2:1\n\t// which is typical for non-textile uses.\n\n\tlet [L1, a1, b1] = lab.from(color);\n\tlet [, C1, H1] = lch.from(lab, [L1, a1, b1]);\n\tlet [L2, a2, b2] = lab.from(sample);\n\tlet C2 = lch.from(lab, [L2, a2, b2])[1];\n\n\t// let [L1, a1, b1] = color.getAll(lab);\n\t// let C1 = color.get(\"lch.c\");\n\t// let H1 = color.get(\"lch.h\");\n\t// let [L2, a2, b2] = sample.getAll(lab);\n\t// let C2 = sample.get(\"lch.c\");\n\n\t// Check for negative Chroma,\n\t// which might happen through\n\t// direct user input of LCH values\n\n\tif (C1 < 0) {\n\t\tC1 = 0;\n\t}\n\tif (C2 < 0) {\n\t\tC2 = 0;\n\t}\n\n\t// we don't need H2 as ΔH is calculated from Δa, Δb and ΔC\n\n\t// Lightness and Chroma differences\n\t// These are (color - sample), unlike deltaE2000\n\tlet ΔL = L1 - L2;\n\tlet ΔC = C1 - C2;\n\n\tlet Δa = a1 - a2;\n\tlet Δb = b1 - b2;\n\n\t// weighted Hue difference, less for larger Chroma difference\n\n\tlet H2 = (Δa ** 2) + (Δb ** 2) - (ΔC ** 2);\n\t// due to roundoff error it is possible that, for zero a and b,\n\t// ΔC > Δa + Δb is 0, resulting in attempting\n\t// to take the square root of a negative number\n\n\t// trying instead the equation from Industrial Color Physics\n\t// By Georg A. Klein\n\n\t// let ΔH = ((a1 * b2) - (a2 * b1)) / Math.sqrt(0.5 * ((C2 * C1) + (a2 * a1) + (b2 * b1)));\n\t// console.log({ΔH});\n\t// This gives the same result to 12 decimal places\n\t// except it sometimes NaNs when trying to root a negative number\n\n\t// let ΔH = Math.sqrt(H2); we never actually use the root, it gets squared again!!\n\n\t// positional corrections to the lack of uniformity of CIELAB\n\t// These are all trying to make JND ellipsoids more like spheres\n\n\t// SL Lightness crispening factor, depends entirely on L1 not L2\n\tlet SL = 0.511;\t// linear portion of the Y to L transfer function\n\tif (L1 >= 16) {\t// cubic portion\n\t\tSL = (0.040975 * L1) / (1 + 0.01765 * L1);\n\t}\n\n\t// SC Chroma factor\n\tlet SC = ((0.0638 * C1) / (1 + 0.0131 * C1)) + 0.638;\n\n\t// Cross term T for blue non-linearity\n\tlet T;\n\tif (Number.isNaN(H1)) {\n\t\tH1 = 0;\n\t}\n\n\tif (H1 >= 164 && H1 <= 345) {\n\t\tT = 0.56 + Math.abs(0.2 * Math.cos((H1 + 168) * d2r));\n\t}\n\telse {\n\t\tT = 0.36 + Math.abs(0.4 * Math.cos((H1 + 35) * d2r));\n\t}\n\t// console.log({T});\n\n\t// SH Hue factor also depends on C1,\n\tlet C4 = Math.pow(C1, 4);\n\tlet F = Math.sqrt(C4 / (C4 + 1900));\n\tlet SH = SC * ((F * T) + 1 - F);\n\n\t// Finally calculate the deltaE, term by term as root sume of squares\n\tlet dE = (ΔL / (l * SL)) ** 2;\n\tdE += (ΔC / (c * SC)) ** 2;\n\tdE += (H2 / (SH ** 2));\n\t// dE += (ΔH / SH) ** 2;\n\treturn Math.sqrt(dE);\n\t// Yay!!!\n}\n", "import ColorSpace from \"../space.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\nconst Yw = 203;\t// absolute luminance of media white\n\nexport default new ColorSpace({\n// Absolute CIE XYZ, with a D65 whitepoint,\n// as used in most HDR colorspaces as a starting point.\n// SDR spaces are converted per BT.2048\n// so that diffuse, media white is 203 cd/m²\n\tid: \"xyz-abs-d65\",\n\tcssId: \"--xyz-abs-d65\",\n\tname: \"Absolute XYZ D65\",\n\tcoords: {\n\t\tx: {\n\t\t\trefRange: [0, 9504.7],\n\t\t\tname: \"Xa\",\n\t\t},\n\t\ty: {\n\t\t\trefRange: [0, 10000],\n\t\t\tname: \"Ya\",\n\t\t},\n\t\tz: {\n\t\t\trefRange: [0, 10888.3],\n\t\t\tname: \"Za\",\n\t\t},\n\t},\n\n\tbase: XYZ_D65,\n\tfromBase (XYZ) {\n\t\t// Make XYZ absolute, not relative to media white\n\t\t// Maximum luminance in PQ is 10,000 cd/m²\n\t\t// Relative XYZ has Y=1 for media white\n\t\treturn XYZ.map (v => Math.max(v * Yw, 0));\n\t},\n\ttoBase (AbsXYZ) {\n\t\t// Convert to media-white relative XYZ\n\t\treturn AbsXYZ.map(v => Math.max(v / Yw, 0));\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_Abs_D65 from \"./xyz-abs-d65.js\";\n\nconst b = 1.15;\nconst g = 0.66;\nconst n = 2610 / (2 ** 14);\nconst ninv = (2 ** 14) / 2610;\nconst c1 = 3424 / (2 ** 12);\nconst c2 = 2413 / (2 ** 7);\nconst c3 = 2392 / (2 ** 7);\nconst p = 1.7 * 2523 / (2 ** 5);\nconst pinv = (2 ** 5) / (1.7 * 2523);\nconst d = -0.56;\nconst d0 = 1.6295499532821566E-11;\n\nconst XYZtoCone_M = [\n\t[ 0.41478972, 0.579999, 0.0146480 ],\n\t[ -0.2015100, 1.120649, 0.0531008 ],\n\t[ -0.0166008, 0.264800, 0.6684799 ],\n];\n// XYZtoCone_M inverted\nconst ConetoXYZ_M = [\n\t[ 1.9242264357876067, -1.0047923125953657, 0.037651404030618 ],\n\t[ 0.35031676209499907, 0.7264811939316552, -0.06538442294808501 ],\n\t[ -0.09098281098284752, -0.3127282905230739, 1.5227665613052603 ],\n];\nconst ConetoIab_M = [\n\t[ 0.5, 0.5, 0 ],\n\t[ 3.524000, -4.066708, 0.542708 ],\n\t[ 0.199076, 1.096799, -1.295875 ],\n];\n// ConetoIab_M inverted\nconst IabtoCone_M = [\n\t[ 1, 0.1386050432715393, 0.05804731615611886 ],\n\t[ 0.9999999999999999, -0.1386050432715393, -0.05804731615611886 ],\n\t[ 0.9999999999999998, -0.09601924202631895, -0.8118918960560388 ],\n];\n\nexport default new ColorSpace({\n\tid: \"jzazbz\",\n\tname: \"Jzazbz\",\n\tcoords: {\n\t\tjz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Jz\",\n\t\t},\n\t\taz: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t},\n\t\tbz: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t},\n\t},\n\n\tbase: XYZ_Abs_D65,\n\tfromBase (XYZ) {\n\t\t// First make XYZ absolute, not relative to media white\n\t\t// Maximum luminance in PQ is 10,000 cd/m²\n\t\t// Relative XYZ has Y=1 for media white\n\t\t// BT.2048 says media white Y=203 at PQ 58\n\n\t\tlet [ Xa, Ya, Za ] = XYZ;\n\n\t\t// modify X and Y\n\t\tlet Xm = (b * Xa) - ((b - 1) * Za);\n\t\tlet Ym = (g * Ya) - ((g - 1) * Xa);\n\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoCone_M, [ Xm, Ym, Za ]);\n\n\t\t// PQ-encode LMS\n\t\tlet PQLMS = LMS.map (function (val) {\n\t\t\tlet num = c1 + (c2 * ((val / 10000) ** n));\n\t\t\tlet denom = 1 + (c3 * ((val / 10000) ** n));\n\n\t\t\treturn (num / denom) ** p;\n\t\t});\n\n\t\t// almost there, calculate Iz az bz\n\t\tlet [ Iz, az, bz] = multiplyMatrices(ConetoIab_M, PQLMS);\n\t\t// console.log({Iz, az, bz});\n\n\t\tlet Jz = ((1 + d) * Iz) / (1 + (d * Iz)) - d0;\n\t\treturn [Jz, az, bz];\n\t},\n\ttoBase (Jzazbz) {\n\t\tlet [Jz, az, bz] = Jzazbz;\n\t\tlet Iz = (Jz + d0) / (1 + d - d * (Jz + d0));\n\n\t\t// bring into LMS cone domain\n\t\tlet PQLMS = multiplyMatrices(IabtoCone_M, [ Iz, az, bz ]);\n\n\t\t// convert from PQ-coded to linear-light\n\t\tlet LMS = PQLMS.map(function (val) {\n\t\t\tlet num = (c1 - (val ** pinv));\n\t\t\tlet denom = (c3 * (val ** pinv)) - c2;\n\t\t\tlet x = 10000 * ((num / denom) ** ninv);\n\n\t\t\treturn (x); \t// luminance relative to diffuse white, [0, 70 or so].\n\t\t});\n\n\t\t// modified abs XYZ\n\t\tlet [ Xm, Ym, Za ] = multiplyMatrices(ConetoXYZ_M, LMS);\n\n\t\t// restore standard D50 relative XYZ, relative to media white\n\t\tlet Xa = (Xm + ((b - 1) * Za)) / b;\n\t\tlet Ya = (Ym + ((g - 1) * Xa)) / g;\n\t\treturn [ Xa, Ya, Za ];\n\t},\n\n\tformats: {\n\t\t// https://drafts.csswg.org/css-color-hdr/#Jzazbz\n\t\t\"color\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport Jzazbz from \"./jzazbz.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"jzczhz\",\n\tname: \"JzCzHz\",\n\tcoords: {\n\t\tjz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Jz\",\n\t\t},\n\t\tcz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\thz: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Jzazbz,\n\tfromBase (jzazbz) {\n\t\t// Convert to polar form\n\t\tlet [Jz, az, bz] = jzazbz;\n\t\tlet hue;\n\t\tconst ε = 0.0002; // chromatic components much smaller than a,b\n\n\t\tif (Math.abs(az) < ε && Math.abs(bz) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(bz, az) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tJz, // Jz is still Jz\n\t\t\tMath.sqrt(az ** 2 + bz ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (jzczhz) {\n\t\t// Convert from polar form\n\t\t// debugger;\n\t\treturn [\n\t\t\tjzczhz[0], // Jz is still Jz\n\t\t\tjzczhz[1] * Math.cos(jzczhz[2] * Math.PI / 180), // az\n\t\t\tjzczhz[1] * Math.sin(jzczhz[2] * Math.PI / 180), // bz\n\t\t];\n\t},\n});\n", "import jzczhz from \"../spaces/jzczhz.js\";\nimport getColor from \"../getColor.js\";\n\n// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in Lab\n\n// Uses JzCzHz, which has improved perceptual uniformity\n// and thus a simple Euclidean root-sum of ΔL² ΔC² ΔH²\n// gives good results.\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE in JzCzHz.\n\tlet [Jz1, Cz1, Hz1] = jzczhz.from(color);\n\tlet [Jz2, Cz2, Hz2] = jzczhz.from(sample);\n\n\t// Lightness and Chroma differences\n\t// sign does not matter as they are squared.\n\tlet ΔJ = Jz1 - Jz2;\n\tlet ΔC = Cz1 - Cz2;\n\n\t// length of chord for ΔH\n\tif ((Number.isNaN(Hz1)) && (Number.isNaN(Hz2))) {\n\t\t// both undefined hues\n\t\tHz1 = 0;\n\t\tHz2 = 0;\n\t}\n\telse if (Number.isNaN(Hz1)) {\n\t\t// one undefined, set to the defined hue\n\t\tHz1 = Hz2;\n\t}\n\telse if (Number.isNaN(Hz2)) {\n\t\tHz2 = Hz1;\n\t}\n\n\tlet Δh = Hz1 - Hz2;\n\tlet ΔH = 2 * Math.sqrt(Cz1 * Cz2) * Math.sin((Δh / 2) * (Math.PI / 180));\n\n\treturn Math.sqrt(ΔJ ** 2 + ΔC ** 2 + ΔH ** 2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_Abs_D65 from \"./xyz-abs-d65.js\";\n\nconst c1 = 3424 / 4096;\nconst c2 = 2413 / 128;\nconst c3 = 2392 / 128;\nconst m1 = 2610 / 16384;\nconst m2 = 2523 / 32;\nconst im1 = 16384 / 2610;\nconst im2 = 32 / 2523;\n\n// The matrix below includes the 4% crosstalk components\n// and is from the Dolby \"What is ICtCp\" paper\"\nconst XYZtoLMS_M = [\n\t[ 0.3592832590121217, 0.6976051147779502, -0.0358915932320290 ],\n\t[ -0.1920808463704993, 1.1004767970374321, 0.0753748658519118 ],\n\t[ 0.0070797844607479, 0.0748396662186362, 0.8433265453898765 ],\n];\n// linear-light Rec.2020 to LMS, again with crosstalk\n// rational terms from Jan Fröhlich,\n// Encoding High Dynamic Range andWide Color Gamut Imagery, p.97\n// and ITU-R BT.2124-0 p.2\n/*\nconst Rec2020toLMS_M = [\n\t[ 1688 / 4096, 2146 / 4096, 262 / 4096 ],\n\t[ 683 / 4096, 2951 / 4096, 462 / 4096 ],\n\t[ 99 / 4096, 309 / 4096, 3688 / 4096 ]\n];\n*/\n// this includes the Ebner LMS coefficients,\n// the rotation, and the scaling to [-0.5,0.5] range\n// rational terms from Fröhlich p.97\n// and ITU-R BT.2124-0 pp.2-3\nconst LMStoIPT_M = [\n\t[ 2048 / 4096, 2048 / 4096, 0 ],\n\t[ 6610 / 4096, -13613 / 4096, 7003 / 4096 ],\n\t[ 17933 / 4096, -17390 / 4096, -543 / 4096 ],\n];\n\n// inverted matrices, calculated from the above\nconst IPTtoLMS_M = [\n\t[ 0.9999999999999998, 0.0086090370379328, 0.1110296250030260 ],\n\t[ 0.9999999999999998, -0.0086090370379328, -0.1110296250030259 ],\n\t[ 0.9999999999999998, 0.5600313357106791, -0.3206271749873188 ],\n];\n/*\nconst LMStoRec2020_M = [\n\t[ 3.4375568932814012112, -2.5072112125095058195, 0.069654319228104608382],\n\t[-0.79142868665644156125, 1.9838372198740089874, -0.19240853321756742626 ],\n\t[-0.025646662911506476363, -0.099240248643945566751, 1.1248869115554520431 ]\n];\n*/\nconst LMStoXYZ_M = [\n\t[ 2.0701522183894223, -1.3263473389671563, 0.2066510476294053 ],\n\t[ 0.3647385209748072, 0.6805660249472273, -0.0453045459220347 ],\n\t[ -0.0497472075358123, -0.0492609666966131, 1.1880659249923042 ],\n];\n\n// Only the PQ form of ICtCp is implemented here. There is also an HLG form.\n// from Dolby, \"WHAT IS ICTCP?\"\n// https://professional.dolby.com/siteassets/pdfs/ictcp_dolbywhitepaper_v071.pdf\n// and\n// Dolby, \"Perceptual Color Volume\n// Measuring the Distinguishable Colors of HDR and WCG Displays\"\n// https://professional.dolby.com/siteassets/pdfs/dolby-vision-measuring-perceptual-color-volume-v7.1.pdf\nexport default new ColorSpace({\n\tid: \"ictcp\",\n\tname: \"ICTCP\",\n\t// From BT.2100-2 page 7:\n\t// During production, signal values are expected to exceed the\n\t// range E′ = [0.0 : 1.0]. This provides processing headroom and avoids\n\t// signal degradation during cascaded processing. Such values of E′,\n\t// below 0.0 or exceeding 1.0, should not be clipped during production\n\t// and exchange.\n\t// Values below 0.0 should not be clipped in reference displays (even\n\t// though they represent “negative” light) to allow the black level of\n\t// the signal (LB) to be properly set using test signals known as “PLUGE”\n\tcoords: {\n\t\ti: {\n\t\t\trefRange: [0, 1],\t// Constant luminance,\n\t\t\tname: \"I\",\n\t\t},\n\t\tct: {\n\t\t\trefRange: [-0.5, 0.5],\t// Full BT.2020 gamut in range [-0.5, 0.5]\n\t\t\tname: \"CT\",\n\t\t},\n\t\tcp: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t\tname: \"CP\",\n\t\t},\n\t},\n\n\tbase: XYZ_Abs_D65,\n\tfromBase (XYZ) {\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoLMS_M, XYZ);\n\n\t\treturn LMStoICtCp(LMS);\n\t},\n\ttoBase (ICtCp) {\n\t\tlet LMS = ICtCptoLMS(ICtCp);\n\n\t\treturn multiplyMatrices(LMStoXYZ_M, LMS);\n\t},\n});\n\nfunction LMStoICtCp (LMS) {\n\t// apply the PQ EOTF\n\t// we can't ever be dividing by zero because of the \"1 +\" in the denominator\n\tlet PQLMS = LMS.map (function (val) {\n\t\tlet num = c1 + (c2 * ((val / 10000) ** m1));\n\t\tlet denom = 1 + (c3 * ((val / 10000) ** m1));\n\n\t\treturn (num / denom) ** m2;\n\t});\n\n\t// LMS to IPT, with rotation for Y'C'bC'r compatibility\n\treturn multiplyMatrices(LMStoIPT_M, PQLMS);\n}\n\nfunction ICtCptoLMS (ICtCp) {\n\tlet PQLMS = multiplyMatrices(IPTtoLMS_M, ICtCp);\n\n\t// From BT.2124-0 Annex 2 Conversion 3\n\tlet LMS = PQLMS.map (function (val) {\n\t\tlet num = Math.max((val ** im2) - c1, 0);\n\t\tlet denom = (c2 - (c3 * (val ** im2)));\n\t\treturn 10000 * ((num / denom) ** im1);\n\t});\n\n\treturn LMS;\n}\n", "import ictcp from \"../spaces/ictcp.js\";\nimport getColor from \"../getColor.js\";\n\n// Delta E in ICtCp space,\n// which the ITU calls Delta E ITP, which is shorter\n// formulae from ITU Rec. ITU-R BT.2124-0\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE in ICtCp\n\t// which is simply the Euclidean distance\n\n\tlet [ I1, T1, P1 ] = ictcp.from(color);\n\tlet [ I2, T2, P2 ] = ictcp.from(sample);\n\n\t// the 0.25 factor is to undo the encoding scaling in Ct\n\t// the 720 is so that 1 deltaE = 1 JND\n\t// per ITU-R BT.2124-0 p.3\n\n\treturn 720 * Math.sqrt((I1 - I2) ** 2 + (0.25 * (T1 - T2) ** 2) + (P1 - P2) ** 2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices, interpolate, copySign, spow, zdiv, bisectLeft} from \"../util.js\";\nimport {constrain} from \"../angles.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {WHITES} from \"../adapt.js\";\n\nconst white = WHITES.D65;\nconst adaptedCoef = 0.42;\nconst adaptedCoefInv = 1 / adaptedCoef;\nconst tau = 2 * Math.PI;\n\nconst cat16 = [\n\t[ 0.401288, 0.650173, -0.051461 ],\n\t[ -0.250268, 1.204414, 0.045854 ],\n\t[ -0.002079, 0.048952, 0.953127 ],\n];\n\nconst cat16Inv = [\n\t[1.8620678550872327, -1.0112546305316843, 0.14918677544445175],\n\t[0.38752654323613717, 0.6214474419314753, -0.008973985167612518],\n\t[-0.015841498849333856, -0.03412293802851557, 1.0499644368778496],\n];\n\nconst m1 = [\n\t[460.0, 451.0, 288.0],\n\t[460.0, -891.0, -261.0],\n\t[460.0, -220.0, -6300.0],\n];\n\nconst surroundMap = {\n\tdark: [0.8, 0.525, 0.8],\n\tdim: [0.9, 0.59, 0.9],\n\taverage: [1, 0.69, 1],\n};\n\nconst hueQuadMap = {\n\t// Red, Yellow, Green, Blue, Red\n\th: [20.14, 90.00, 164.25, 237.53, 380.14],\n\te: [0.8, 0.7, 1.0, 1.2, 0.8],\n\tH: [0.0, 100.0, 200.0, 300.0, 400.0],\n};\n\nconst rad2deg = 180 / Math.PI;\nconst deg2rad = Math.PI / 180;\n\nexport function adapt (coords, fl) {\n\tconst temp = coords.map(c => {\n\t\tconst x = spow(fl * Math.abs(c) * 0.01, adaptedCoef);\n\t\treturn 400 * copySign(x, c) / (x + 27.13);\n\t});\n\treturn temp;\n}\n\nexport function unadapt (adapted, fl) {\n\tconst constant = 100 / fl * (27.13 ** adaptedCoefInv);\n\treturn adapted.map(c => {\n\t\tconst cabs = Math.abs(c);\n\t\treturn copySign(constant * spow(cabs / (400 - cabs), adaptedCoefInv), c);\n\t});\n}\n\nexport function hueQuadrature (h) {\n\tlet hp = constrain(h);\n\tif (hp <= hueQuadMap.h[0]) {\n\t\thp += 360;\n\t}\n\n\tconst i = bisectLeft(hueQuadMap.h, hp) - 1;\n\tconst [hi, hii] = hueQuadMap.h.slice(i, i + 2);\n\tconst [ei, eii] = hueQuadMap.e.slice(i, i + 2);\n\tconst Hi = hueQuadMap.H[i];\n\n\tconst t = (hp - hi) / ei;\n\treturn Hi + (100 * t) / (t + (hii - hp) / eii);\n}\n\nexport function invHueQuadrature (H) {\n\tlet Hp = ((H % 400 + 400) % 400);\n\tconst i = Math.floor(0.01 * Hp);\n\tHp = Hp % 100;\n\tconst [hi, hii] = hueQuadMap.h.slice(i, i + 2);\n\tconst [ei, eii] = hueQuadMap.e.slice(i, i + 2);\n\n\treturn constrain(\n\t\t(Hp * (eii * hi - ei * hii) - 100 * hi * eii) /\n\t\t(Hp * (eii - ei) - 100 * eii),\n\t);\n}\n\nexport function environment (\n\trefWhite,\n\tadaptingLuminance,\n\tbackgroundLuminance,\n\tsurround,\n\tdiscounting,\n) {\n\n\tconst env = {};\n\n\tenv.discounting = discounting;\n\tenv.refWhite = refWhite;\n\tenv.surround = surround;\n\tconst xyzW = refWhite.map(c => {\n\t\treturn c * 100;\n\t});\n\n\t// The average luminance of the environment in `cd/m^2cd/m` (a.k.a. nits)\n\tenv.la = adaptingLuminance;\n\t// The relative luminance of the nearby background\n\tenv.yb = backgroundLuminance;\n\t// Absolute luminance of the reference white.\n\tconst yw = xyzW[1];\n\n\t// Cone response for reference white\n\tconst rgbW = multiplyMatrices(cat16, xyzW);\n\n\t// Surround: dark, dim, and average\n\tsurround = surroundMap[env.surround];\n\tconst f = surround[0];\n\tenv.c = surround[1];\n\tenv.nc = surround[2];\n\n\tconst k = 1 / (5 * env.la + 1);\n\tconst k4 = k ** 4;\n\n\t// Factor of luminance level adaptation\n\tenv.fl = (k4 * env.la + 0.1 * (1 - k4) * (1 - k4) * Math.cbrt(5 * env.la));\n\tenv.flRoot = env.fl ** 0.25;\n\n\tenv.n = env.yb / yw;\n\tenv.z = 1.48 + Math.sqrt(env.n);\n\tenv.nbb = 0.725 * (env.n ** -0.2);\n\tenv.ncb = env.nbb;\n\n\t// Degree of adaptation calculating if not discounting\n\t// illuminant (assumed eye is fully adapted)\n\tconst d = (discounting) ?\n\t\t1 :\n\t\tMath.max(\n\t\t\tMath.min(f * (1 - 1 / 3.6 * Math.exp((-env.la - 42) / 92)), 1),\n\t\t\t0,\n\t\t);\n\tenv.dRgb = rgbW.map(c => {\n\t\treturn interpolate(1, yw / c, d);\n\t});\n\tenv.dRgbInv = env.dRgb.map(c => {\n\t\treturn 1 / c;\n\t});\n\n\t// Achromatic response\n\tconst rgbCW = rgbW.map((c, i) => {\n\t\treturn c * env.dRgb[i];\n\t});\n\tconst rgbAW = adapt(rgbCW, env.fl);\n\tenv.aW = env.nbb * (2 * rgbAW[0] + rgbAW[1] + 0.05 * rgbAW[2]);\n\n\t// console.log(env);\n\n\treturn env;\n}\n\n// Pre-calculate everything we can with the viewing conditions\nconst viewingConditions = environment(\n\twhite,\n\t64 / Math.PI * 0.2, 20,\n\t\"average\",\n\tfalse,\n);\n\nexport function fromCam16 (cam16, env) {\n\n\t// These check ensure one, and only one attribute for a\n\t// given category is provided.\n\tif (!((cam16.J !== undefined) ^ (cam16.Q !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'J' or 'Q'\");\n\t}\n\n\tif (!((cam16.C !== undefined) ^ (cam16.M !== undefined) ^ (cam16.s !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'C', 'M' or 's'\");\n\t}\n\n\t// Hue is absolutely required\n\tif (!((cam16.h !== undefined) ^ (cam16.H !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'h' or 'H'\");\n\t}\n\n\t// Black\n\tif (cam16.J === 0.0 || cam16.Q === 0.0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\n\t// Break hue into Cartesian components\n\tlet hRad = 0.0;\n\tif (cam16.h !== undefined) {\n\t\thRad = constrain(cam16.h) * deg2rad;\n\t}\n\telse {\n\t\thRad = invHueQuadrature(cam16.H) * deg2rad;\n\t}\n\n\tconst cosh = Math.cos(hRad);\n\tconst sinh = Math.sin(hRad);\n\n\t// Calculate `Jroot` from one of the lightness derived coordinates.\n\tlet Jroot = 0.0;\n\tif (cam16.J !== undefined) {\n\t\tJroot = spow(cam16.J, 1 / 2) * 0.1;\n\t}\n\telse if (cam16.Q !== undefined) {\n\t\tJroot = 0.25 * env.c * cam16.Q / ((env.aW + 4) * env.flRoot);\n\t}\n\n\t// Calculate the `t` value from one of the chroma derived coordinates\n\tlet alpha = 0.0;\n\tif (cam16.C !== undefined) {\n\t\talpha = cam16.C / Jroot;\n\t}\n\telse if (cam16.M !== undefined) {\n\t\talpha = (cam16.M / env.flRoot) / Jroot;\n\t}\n\telse if (cam16.s !== undefined) {\n\t\talpha = 0.0004 * (cam16.s ** 2) * (env.aW + 4) / env.c;\n\t}\n\tconst t = spow(\n\t\talpha * Math.pow(1.64 - Math.pow(0.29, env.n), -0.73),\n\t\t10 / 9,\n\t);\n\n\t// Eccentricity\n\tconst et = 0.25 * (Math.cos(hRad + 2) + 3.8);\n\n\t// Achromatic response\n\tconst A = env.aW * spow(Jroot, 2 / env.c / env.z);\n\n\t// Calculate red-green and yellow-blue components\n\tconst p1 = 5e4 / 13 * env.nc * env.ncb * et;\n\tconst p2 = A / env.nbb;\n\tconst r = (\n\t\t23 * (p2 + 0.305) *\n\t\tzdiv(t, 23 * p1 + t * (11 * cosh + 108 * sinh))\n\t);\n\tconst a = r * cosh;\n\tconst b = r * sinh;\n\n\t// Calculate back from cone response to XYZ\n\tconst rgb_c = unadapt(\n\t\tmultiplyMatrices(m1, [p2, a, b]).map(c => {\n\t\t\treturn c * 1 / 1403;\n\t\t}),\n\t\tenv.fl,\n\t);\n\treturn multiplyMatrices(\n\t\tcat16Inv,\n\t\trgb_c.map((c, i) => {\n\t\t\treturn c * env.dRgbInv[i];\n\t\t}),\n\t).map(c => {\n\t\treturn c / 100;\n\t});\n}\n\n\nexport function toCam16 (xyzd65, env) {\n\t// Cone response\n\tconst xyz100 = xyzd65.map(c => {\n\t\treturn c * 100;\n\t});\n\tconst rgbA = adapt(\n\t\tmultiplyMatrices(cat16, xyz100).map((c, i) => {\n\t\t\treturn c * env.dRgb[i];\n\t\t}),\n\t\tenv.fl,\n\t);\n\n\t// Calculate hue from red-green and yellow-blue components\n\tconst a = rgbA[0] + (-12 * rgbA[1] + rgbA[2]) / 11;\n\tconst b = (rgbA[0] + rgbA[1] - 2 * rgbA[2]) / 9;\n\tconst hRad = ((Math.atan2(b, a) % tau) + tau) % tau;\n\n\t// Eccentricity\n\tconst et = 0.25 * (Math.cos(hRad + 2) + 3.8);\n\n\tconst t = (\n\t\t5e4 / 13 * env.nc * env.ncb *\n\t\tzdiv(\n\t\t\tet * Math.sqrt(a ** 2 + b ** 2),\n\t\t\trgbA[0] + rgbA[1] + 1.05 * rgbA[2] + 0.305,\n\t\t)\n\t);\n\tconst alpha = spow(t, 0.9) * Math.pow(1.64 - Math.pow(0.29, env.n), 0.73);\n\n\t// Achromatic response\n\tconst A = env.nbb * (2 * rgbA[0] + rgbA[1] + 0.05 * rgbA[2]);\n\n\tconst Jroot = spow(A / env.aW, 0.5 * env.c * env.z);\n\n\t// Lightness\n\tconst J = 100 * spow(Jroot, 2);\n\n\t// Brightness\n\tconst Q = (4 / env.c * Jroot * (env.aW + 4) * env.flRoot);\n\n\t// Chroma\n\tconst C = alpha * Jroot;\n\n\t// Colorfulness\n\tconst M = C * env.flRoot;\n\n\t// Hue\n\tconst h = constrain(hRad * rad2deg);\n\n\t// Hue quadrature\n\tconst H = hueQuadrature(h);\n\n\t// Saturation\n\tconst s = 50 * spow(env.c * alpha / (env.aW + 4), 1 / 2);\n\n\t// console.log({J: J, C: C, h: h, s: s, Q: Q, M: M, H: H});\n\n\treturn {J: J, C: C, h: h, s: s, Q: Q, M: M, H: H};\n}\n\n\n// Provided as a way to directly evaluate the CAM16 model\n// https://observablehq.com/@jrus/cam16: reference implementation\n// https://arxiv.org/pdf/1802.06067.pdf: Nico Schlömer\n// https://onlinelibrary.wiley.com/doi/pdf/10.1002/col.22324: hue quadrature\n// https://www.researchgate.net/publication/318152296_Comprehensive_color_solutions_CAM16_CAT16_and_CAM16-UCS\n// Results compared against: https://github.com/colour-science/colour\nexport default new ColorSpace({\n\tid: \"cam16-jmh\",\n\tcssId: \"--cam16-jmh\",\n\tname: \"CAM16-JMh\",\n\tcoords: {\n\t\tj: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"J\",\n\t\t},\n\t\tm: {\n\t\t\trefRange: [0, 105.0],\n\t\t\tname: \"Colorfulness\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: xyz_d65,\n\n\tfromBase (xyz) {\n\t\tconst cam16 = toCam16(xyz, viewingConditions);\n\t\treturn [cam16.J, cam16.M, cam16.h];\n\t},\n\ttoBase (cam16) {\n\t\treturn fromCam16(\n\t\t\t{J: cam16[0], M: cam16[1], h: cam16[2]},\n\t\t\tviewingConditions,\n\t\t);\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {constrain} from \"../angles.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {fromCam16, toCam16, environment} from \"./cam16.js\";\nimport {WHITES} from \"../adapt.js\";\n\nconst white = WHITES.D65;\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nfunction toLstar (y) {\n\t// Convert XYZ Y to L*\n\n\tconst fy = (y > ε) ? Math.cbrt(y) : (κ * y + 16) / 116;\n\treturn (116.0 * fy) - 16.0;\n}\n\nfunction fromLstar (lstar) {\n\t// Convert L* back to XYZ Y\n\n\treturn (lstar > 8) ? Math.pow((lstar + 16) / 116, 3) : lstar / κ;\n}\n\nfunction fromHct (coords, env) {\n\t// Use Newton's method to try and converge as quick as possible or\n\t// converge as close as we can. While the requested precision is achieved\n\t// most of the time, it may not always be achievable. Especially past the\n\t// visible spectrum, the algorithm will likely struggle to get the same\n\t// precision. If, for whatever reason, we cannot achieve the accuracy we\n\t// seek in the allotted iterations, just return the closest we were able to\n\t// get.\n\n\tlet [h, c, t] = coords;\n\tlet xyz = [];\n\tlet j = 0;\n\n\t// Shortcut out for black\n\tif (t === 0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\n\t// Calculate the Y we need to target\n\tlet y = fromLstar(t);\n\n\t// A better initial guess yields better results. Polynomials come from\n\t// curve fitting the T vs J response.\n\tif (t > 0) {\n\t\tj = 0.00379058511492914 * t ** 2 + 0.608983189401032 * t + 0.9155088574762233;\n\t}\n\telse {\n\t\tj = 9.514440756550361e-06 * t ** 2 + 0.08693057439788597 * t - 21.928975842194614;\n\t}\n\n\t// Threshold of how close is close enough, and max number of attempts.\n\t// More precision and more attempts means more time spent iterating. Higher\n\t// required precision gives more accuracy but also increases the chance of\n\t// not hitting the goal. 2e-12 allows us to convert round trip with\n\t// reasonable accuracy of six decimal places or more.\n\tconst threshold = 2e-12;\n\tconst max_attempts = 15;\n\n\tlet attempt = 0;\n\tlet last = Infinity;\n\tlet best = j;\n\n\t// Try to find a J such that the returned y matches the returned y of the L*\n\twhile (attempt <= max_attempts) {\n\t\txyz = fromCam16({J: j, C: c, h: h}, env);\n\n\t\t// If we are within range, return XYZ\n\t\t// If we are closer than last time, save the values\n\t\tconst delta = Math.abs(xyz[1] - y);\n\t\tif (delta < last) {\n\t\t\tif (delta <= threshold) {\n\t\t\t\treturn xyz;\n\t\t\t}\n\t\t\tbest = j;\n\t\t\tlast = delta;\n\t\t}\n\n\t\t// f(j_root) = (j ** (1 / 2)) * 0.1\n\t\t// f(j) = ((f(j_root) * 100) ** 2) / j - 1 = 0\n\t\t// f(j_root) = Y = y / 100\n\t\t// f(j) = (y ** 2) / j - 1\n\t\t// f'(j) = (2 * y) / j\n\t\tj = j - (xyz[1] - y) * j / (2 * xyz[1]);\n\n\t\tattempt += 1;\n\t}\n\n\t// We could not acquire the precision we desired,\n\t// return our closest attempt.\n\treturn fromCam16({J: j, C: c, h: h}, env);\n}\n\nfunction toHct (xyz, env) {\n\t// Calculate HCT by taking the L* of CIE LCh D65 and CAM16 chroma and hue.\n\n\tconst t = toLstar(xyz[1]);\n\tif (t === 0.0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\tconst cam16 = toCam16(xyz, viewingConditions);\n\treturn [constrain(cam16.h), cam16.C, t];\n}\n\n// Pre-calculate everything we can with the viewing conditions\nexport const viewingConditions = environment(\n\twhite, 200 / Math.PI * fromLstar(50.0),\n\tfromLstar(50.0) * 100,\n\t\"average\",\n\tfalse,\n);\n\n// https://material.io/blog/science-of-color-design\n// This is not a port of the material-color-utilities,\n// but instead implements the full color space as described,\n// combining CAM16 JCh and Lab D65. This does not clamp conversion\n// to HCT to specific chroma bands and provides support for wider\n// gamuts than Google currently supports and does so at a greater\n// precision (> 8 bits back to sRGB).\n// This implementation comes from https://github.com/facelessuser/coloraide\n// which is licensed under MIT.\nexport default new ColorSpace({\n\tid: \"hct\",\n\tname: \"HCT\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 145],\n\t\t\tname: \"Colorfulness\",\n\t\t},\n\t\tt: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Tone\",\n\t\t},\n\t},\n\n\tbase: xyz_d65,\n\n\tfromBase (xyz) {\n\t\treturn toHct(xyz, viewingConditions);\n\t},\n\ttoBase (hct) {\n\t\treturn fromHct(hct, viewingConditions);\n\t},\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hct\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import hct from \"../spaces/hct.js\";\nimport {viewingConditions} from \"../spaces/hct.js\";\nimport getColor from \"../getColor.js\";\n\nconst rad2deg = 180 / Math.PI;\nconst deg2rad = Math.PI / 180;\nconst ucsCoeff = [1.00, 0.007, 0.0228];\n\n/**\n* Convert HCT chroma and hue (CAM16 JMh colorfulness and hue) using UCS logic for a and b.\n* @param {number[]} coords - HCT coordinates.\n* @return {number[]}\n*/\nfunction convertUcsAb (coords) {\n\t// We want the distance between the actual color.\n\t// If chroma is negative, it will throw off our calculations.\n\t// Normally, converting back to the base and forward will correct it.\n\t// If we have a negative chroma after this, then we have a color that\n\t// cannot resolve to positive chroma.\n\tif (coords[1] < 0) {\n\t\tcoords = hct.fromBase(hct.toBase(coords));\n\t}\n\n\t// Only in extreme cases (usually outside the visible spectrum)\n\t// can the input value for log become negative.\n\t// Avoid domain error by forcing a zero result via \"max\" if necessary.\n\tconst M = Math.log(Math.max(1 + ucsCoeff[2] * coords[1] * viewingConditions.flRoot, 1.0)) / ucsCoeff[2];\n\tconst hrad = coords[0] * deg2rad;\n\tconst a = M * Math.cos(hrad);\n\tconst b = M * Math.sin(hrad);\n\n\treturn [coords[2], a, b];\n}\n\n\n/**\n* Color distance using HCT.\n* @param {Color} color - Color to compare.\n* @param {Color} sample - Color to compare.\n* @return {number[]}\n*/\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\tlet [ t1, a1, b1 ] = convertUcsAb(hct.from(color));\n\tlet [ t2, a2, b2 ] = convertUcsAb(hct.from(sample));\n\n\t// Use simple euclidean distance with a and b using UCS conversion\n\t// and LCh lightness (HCT tone).\n\treturn Math.sqrt((t1 - t2) ** 2 + (a1 - a2) ** 2 + (b1 - b2) ** 2);\n}\n", "import deltaE76 from \"./deltaE76.js\";\nimport deltaECMC from \"./deltaECMC.js\";\nimport deltaE2000 from \"./deltaE2000.js\";\nimport deltaEJz from \"./deltaEJz.js\";\nimport deltaEITP from \"./deltaEITP.js\";\nimport deltaEOK from \"./deltaEOK.js\";\nimport deltaEHCT from \"./deltaEHCT.js\";\n\nexport {\n\tdeltaE76,\n\tdeltaECMC,\n\tdeltaE2000,\n\tdeltaEJz,\n\tdeltaEITP,\n\tdeltaEOK,\n\tdeltaEHCT,\n};\n\nexport default {\n\tdeltaE76,\n\tdeltaECMC,\n\tdeltaE2000,\n\tdeltaEJz,\n\tdeltaEITP,\n\tdeltaEOK,\n\tdeltaEHCT,\n};\n", "import * as util from \"./util.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\nimport deltaE2000 from \"./deltaE/deltaE2000.js\";\nimport deltaEOK from \"./deltaE/deltaEOK.js\";\nimport inGamut from \"./inGamut.js\";\nimport to from \"./to.js\";\nimport get from \"./get.js\";\nimport oklab from \"./spaces/oklab.js\";\nimport set from \"./set.js\";\nimport clone from \"./clone.js\";\nimport getColor from \"./getColor.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\nimport {WHITES} from \"./adapt.js\";\n\n/**\n * Calculate the epsilon to 2 degrees smaller than the specified JND.\n * @param {Number} jnd - The target \"just noticeable difference\".\n * @returns {Number}\n */\nfunction calcEpsilon (jnd) {\n\t// Calculate the epsilon to 2 degrees smaller than the specified JND.\n\n\tconst order = (!jnd) ? 0 : Math.floor(Math.log10(Math.abs(jnd)));\n\t// Limit to an arbitrary value to ensure value is never too small and causes infinite loops.\n\treturn Math.max(parseFloat(`1e${order - 2}`), 1e-6);\n}\n\nconst GMAPPRESET = {\n\t\"hct\": {\n\t\tmethod: \"hct.c\",\n\t\tjnd: 2,\n\t\tdeltaEMethod: \"hct\",\n\t\tblackWhiteClamp: {},\n\t},\n\t\"hct-tonal\": {\n\t\tmethod: \"hct.c\",\n\t\tjnd: 0,\n\t\tdeltaEMethod: \"hct\",\n\t\tblackWhiteClamp: { channel: \"hct.t\", min: 0, max: 100 },\n\t},\n};\n\n/**\n * Force coordinates to be in gamut of a certain color space.\n * Mutates the color it is passed.\n * @param {Object|string} options object or spaceId string\n * @param {string} options.method - How to force into gamut.\n * If \"clip\", coordinates are just clipped to their reference range.\n * If \"css\", coordinates are reduced according to the CSS 4 Gamut Mapping Algorithm.\n * If in the form [colorSpaceId].[coordName], that coordinate is reduced\n * until the color is in gamut. Please note that this may produce nonsensical\n * results for certain coordinates (e.g. hue) or infinite loops if reducing the coordinate never brings the color in gamut.\n * @param {ColorSpace|string} options.space - The space whose gamut we want to map to\n * @param {string} options.deltaEMethod - The delta E method to use while performing gamut mapping.\n * If no method is specified, delta E 2000 is used.\n * @param {Number} options.jnd - The \"just noticeable difference\" to target.\n * @param {Object} options.blackWhiteClamp - Used to configure SDR black and clamping.\n * \"channel\" indicates the \"space.channel\" to use for determining when to clamp.\n * \"min\" indicates the lower limit for black clamping and \"max\" indicates the upper\n * limit for white clamping.\n */\n\nexport default function toGamut (\n\tcolor,\n\t{\n\t\tmethod = defaults.gamut_mapping,\n\t\tspace = undefined,\n\t\tdeltaEMethod = \"\",\n\t\tjnd = 2,\n\t\tblackWhiteClamp = {},\n\t} = {},\n) {\n\tcolor = getColor(color);\n\n\tif (util.isString(arguments[1])) {\n\t\tspace = arguments[1];\n\t}\n\telse if (!space) {\n\t\tspace = color.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\n\t// 3 spaces:\n\t// color.space: current color space\n\t// space: space whose gamut we are mapping to\n\t// mapSpace: space with the coord we're reducing\n\n\tif (inGamut(color, space, { epsilon: 0 })) {\n\t\treturn color;\n\t}\n\n\tlet spaceColor;\n\tif (method === \"css\") {\n\t\tspaceColor = toGamutCSS(color, { space });\n\t}\n\telse {\n\t\tif (method !== \"clip\" && !inGamut(color, space)) {\n\n\t\t\tif (Object.prototype.hasOwnProperty.call(GMAPPRESET, method)) {\n\t\t\t\t({method, jnd, deltaEMethod, blackWhiteClamp} = GMAPPRESET[method]);\n\t\t\t}\n\n\t\t\t// Get the correct delta E method\n\t\t\tlet de = deltaE2000;\n\t\t\tif (deltaEMethod !== \"\") {\n\t\t\t\tfor (let m in deltaEMethods) {\n\t\t\t\t\tif (\"deltae\" + deltaEMethod.toLowerCase() === m.toLowerCase()) {\n\t\t\t\t\t\tde = deltaEMethods[m];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet clipped = toGamut(to(color, space), { method: \"clip\", space });\n\t\t\tif (de(color, clipped) > jnd) {\n\n\t\t\t\t// Clamp to SDR white and black if required\n\t\t\t\tif (Object.keys(blackWhiteClamp).length === 3) {\n\t\t\t\t\tlet channelMeta = ColorSpace.resolveCoord(blackWhiteClamp.channel);\n\t\t\t\t\tlet channel = get(to(color, channelMeta.space), channelMeta.id);\n\t\t\t\t\tif (util.isNone(channel)) {\n\t\t\t\t\t\tchannel = 0;\n\t\t\t\t\t}\n\t\t\t\t\tif (channel >= blackWhiteClamp.max) {\n\t\t\t\t\t\treturn to({ space: \"xyz-d65\", coords: WHITES[\"D65\"] }, color.space);\n\t\t\t\t\t}\n\t\t\t\t\telse if (channel <= blackWhiteClamp.min) {\n\t\t\t\t\t\treturn to({ space: \"xyz-d65\", coords: [0, 0, 0] }, color.space);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Reduce a coordinate of a certain color space until the color is in gamut\n\t\t\t\tlet coordMeta = ColorSpace.resolveCoord(method);\n\t\t\t\tlet mapSpace = coordMeta.space;\n\t\t\t\tlet coordId = coordMeta.id;\n\n\t\t\t\tlet mappedColor = to(color, mapSpace);\n\t\t\t\t// If we were already in the mapped color space, we need to resolve undefined channels\n\t\t\t\tmappedColor.coords.forEach((c, i) => {\n\t\t\t\t\tif (util.isNone(c)) {\n\t\t\t\t\t\tmappedColor.coords[i] = 0;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tlet bounds = coordMeta.range || coordMeta.refRange;\n\t\t\t\tlet min = bounds[0];\n\t\t\t\tlet ε = calcEpsilon(jnd);\n\t\t\t\tlet low = min;\n\t\t\t\tlet high = get(mappedColor, coordId);\n\n\t\t\t\twhile (high - low > ε) {\n\t\t\t\t\tlet clipped = clone(mappedColor);\n\t\t\t\t\tclipped = toGamut(clipped, { space, method: \"clip\" });\n\t\t\t\t\tlet deltaE = de(mappedColor, clipped);\n\n\t\t\t\t\tif (deltaE - jnd < ε) {\n\t\t\t\t\t\tlow = get(mappedColor, coordId);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\thigh = get(mappedColor, coordId);\n\t\t\t\t\t}\n\n\t\t\t\t\tset(mappedColor, coordId, (low + high) / 2);\n\t\t\t\t}\n\n\t\t\t\tspaceColor = to(mappedColor, space);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tspaceColor = clipped;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tspaceColor = to(color, space);\n\t\t}\n\n\t\tif (method === \"clip\" // Dumb coord clipping\n\t\t\t// finish off smarter gamut mapping with clip to get rid of ε, see #17\n\t\t\t|| !inGamut(spaceColor, space, { epsilon: 0 })\n\t\t) {\n\t\t\tlet bounds = Object.values(space.coords).map(c => c.range || []);\n\n\t\t\tspaceColor.coords = spaceColor.coords.map((c, i) => {\n\t\t\t\tlet [min, max] = bounds[i];\n\n\t\t\t\tif (min !== undefined) {\n\t\t\t\t\tc = Math.max(min, c);\n\t\t\t\t}\n\n\t\t\t\tif (max !== undefined) {\n\t\t\t\t\tc = Math.min(c, max);\n\t\t\t\t}\n\n\t\t\t\treturn c;\n\t\t\t});\n\t\t}\n\t}\n\n\tif (space !== color.space) {\n\t\tspaceColor = to(spaceColor, color.space);\n\t}\n\n\tcolor.coords = spaceColor.coords;\n\treturn color;\n}\n\ntoGamut.returns = \"color\";\n\n// The reference colors to be used if lightness is out of the range 0-1 in the\n// `Oklch` space. These are created in the `Oklab` space, as it is used by the\n// DeltaEOK calculation, so it is guaranteed to be imported.\nconst COLORS = {\n\tWHITE: { space: oklab, coords: [1, 0, 0] },\n\tBLACK: { space: oklab, coords: [0, 0, 0] },\n};\n\n/**\n * Given a color `origin`, returns a new color that is in gamut using\n * the CSS Gamut Mapping Algorithm. If `space` is specified, it will be in gamut\n * in `space`, and returned in `space`. Otherwise, it will be in gamut and\n * returned in the color space of `origin`.\n * @param {Object} origin\n * @param {Object} options\n * @param {ColorSpace|string} options.space\n * @returns {Color}\n */\nexport function toGamutCSS (origin, {space} = {}) {\n\tconst JND = 0.02;\n\tconst ε = 0.0001;\n\n\torigin = getColor(origin);\n\n\tif (!space) {\n\t\tspace = origin.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\tconst oklchSpace = ColorSpace.get(\"oklch\");\n\n\tif (space.isUnbounded) {\n\t\treturn to(origin, space);\n\t}\n\n\tconst origin_OKLCH = to(origin, oklchSpace);\n\tlet L = origin_OKLCH.coords[0];\n\n\t// return media white or black, if lightness is out of range\n\tif (L >= 1) {\n\t\tconst white = to(COLORS.WHITE, space);\n\t\twhite.alpha = origin.alpha;\n\t\treturn to(white, space);\n\t}\n\tif (L <= 0) {\n\t\tconst black = to(COLORS.BLACK, space);\n\t\tblack.alpha = origin.alpha;\n\t\treturn to(black, space);\n\t}\n\n\tif (inGamut(origin_OKLCH, space, {epsilon: 0})) {\n\t\treturn to(origin_OKLCH, space);\n\t}\n\n\tfunction clip (_color) {\n\t\tconst destColor = to(_color, space);\n\t\tconst spaceCoords = Object.values(space.coords);\n\t\tdestColor.coords = destColor.coords.map((coord, index) => {\n\t\t\tif (\"range\" in spaceCoords[index]) {\n\t\t\t\tconst [min, max] = spaceCoords[index].range;\n\t\t\t\treturn util.clamp(min, coord, max);\n\t\t\t}\n\t\t\treturn coord;\n\t\t});\n\t\treturn destColor;\n\t}\n\tlet min = 0;\n\tlet max = origin_OKLCH.coords[1];\n\tlet min_inGamut = true;\n\tlet current = clone(origin_OKLCH);\n\tlet clipped = clip(current);\n\n\tlet E = deltaEOK(clipped, current);\n\tif (E < JND) {\n\t\treturn clipped;\n\t}\n\n\twhile ((max - min) > ε) {\n\t\tconst chroma = (min + max) / 2;\n\t\tcurrent.coords[1] = chroma;\n\t\tif (min_inGamut && inGamut(current, space, {epsilon: 0})) {\n\t\t\tmin = chroma;\n\t\t}\n\t\telse {\n\t\t\tclipped = clip(current);\n\t\t\tE = deltaEOK(clipped, current);\n\t\t\tif (E < JND) {\n\t\t\t\tif ((JND - E < ε)) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tmin_inGamut = false;\n\t\t\t\t\tmin = chroma;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tmax = chroma;\n\t\t\t}\n\t\t}\n\t}\n\treturn clipped;\n}\n", "import getColor from \"./getColor.js\";\nimport ColorSpace from \"./space.js\";\nimport toGamut from \"./toGamut.js\";\n\n/**\n * Convert to color space and return a new color\n * @param {Object|string} space - Color space object or id\n * @param {Object} options\n * @param {boolean} options.inGamut - Whether to force resulting color in gamut\n * @returns {Color}\n */\nexport default function to (color, space, {inGamut} = {}) {\n\tcolor = getColor(color);\n\tspace = ColorSpace.get(space);\n\n\tlet coords = space.from(color);\n\tlet ret = {space, coords, alpha: color.alpha};\n\n\tif (inGamut) {\n\t\tret = toGamut(ret, inGamut === true ? undefined : inGamut);\n\t}\n\n\treturn ret;\n}\n\nto.returns = \"color\";\n", "import * as util from \"./util.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\nimport getColor from \"./getColor.js\";\nimport checkInGamut from \"./inGamut.js\";\nimport toGamut from \"./toGamut.js\";\nimport clone from \"./clone.js\";\n\n/**\n * Generic toString() method, outputs a color(spaceId ...coords) function, a functional syntax, or custom formats defined by the color space\n * @param {Object} options\n * @param {number} options.precision - Significant digits\n * @param {boolean} options.inGamut - Adjust coordinates to fit in gamut first? [default: false]\n */\nexport default function serialize (color, {\n\tprecision = defaults.precision,\n\tformat = \"default\",\n\tinGamut = true,\n\t...customOptions\n} = {}) {\n\tlet ret;\n\n\tcolor = getColor(color);\n\n\tlet formatId = format;\n\tformat = color.space.getFormat(format)\n\t ?? color.space.getFormat(\"default\")\n\t ?? ColorSpace.DEFAULT_FORMAT;\n\n\t// The assignment to coords and inGamut needs to stay in the order they are now\n\t// The order of the assignment was changed as a workaround for a bug in Next.js\n\t// See this issue for details: https://github.com/color-js/color.js/issues/260\n\n\tlet coords = color.coords.slice(); // clone so we can manipulate it\n\n\tinGamut ||= format.toGamut;\n\n\tif (inGamut && !checkInGamut(color)) {\n\t\t// FIXME what happens if the color contains NaNs?\n\t\tcoords = toGamut(clone(color), inGamut === true ? undefined : inGamut).coords;\n\t}\n\n\tif (format.type === \"custom\") {\n\t\tcustomOptions.precision = precision;\n\n\t\tif (format.serialize) {\n\t\t\tret = format.serialize(coords, color.alpha, customOptions);\n\t\t}\n\t\telse {\n\t\t\tthrow new TypeError(`format ${formatId} can only be used to parse colors, not for serialization`);\n\t\t}\n\t}\n\telse {\n\t\t// Functional syntax\n\t\tlet name = format.name || \"color\";\n\n\t\tif (format.serializeCoords) {\n\t\t\tcoords = format.serializeCoords(coords, precision);\n\t\t}\n\t\telse {\n\t\t\tif (precision !== null) {\n\t\t\t\tcoords = coords.map(c => {\n\t\t\t\t\treturn util.serializeNumber(c, {precision});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tlet args = [...coords];\n\n\t\tif (name === \"color\") {\n\t\t\t// If output is a color() function, add colorspace id as first argument\n\t\t\tlet cssId = format.id || format.ids?.[0] || color.space.id;\n\t\t\targs.unshift(cssId);\n\t\t}\n\n\t\tlet alpha = color.alpha;\n\t\tif (precision !== null) {\n\t\t\talpha = util.serializeNumber(alpha, {precision});\n\t\t}\n\n\t\tlet strAlpha = color.alpha >= 1 || format.noAlpha ? \"\" : `${format.commas ? \",\" : \" /\"} ${alpha}`;\n\t\tret = `${name}(${args.join(format.commas ? \", \" : \" \")}${strAlpha})`;\n\t}\n\n\treturn ret;\n}\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// convert an array of linear-light rec2020 values to CIE XYZ\n// using D65 (no chromatic adaptation)\n// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n// 0 is actually calculated as 4.994106574466076e-17\nconst toXYZ_M = [\n\t[ 0.6369580483012914, 0.14461690358620832, 0.1688809751641721 ],\n\t[ 0.2627002120112671, 0.6779980715188708, 0.05930171646986196 ],\n\t[ 0.000000000000000, 0.028072693049087428, 1.060985057710791 ],\n];\n\n// from ITU-R BT.2124-0 Annex 2 p.3\nconst fromXYZ_M = [\n\t[ 1.716651187971268, -0.355670783776392, -0.253366281373660 ],\n\t[ -0.666684351832489, 1.616481236634939, 0.0157685458139111 ],\n\t[ 0.017639857445311, -0.042770613257809, 0.942103121235474 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"rec2020-linear\",\n\tcssId: \"--rec2020-linear\",\n\tname: \"Linear REC.2020\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n// import sRGB from \"./srgb.js\";\n\nconst α = 1.09929682680944;\nconst β = 0.018053968510807;\n\nexport default new RGBColorSpace({\n\tid: \"rec2020\",\n\tname: \"REC.2020\",\n\tbase: REC2020Linear,\n\t// Non-linear transfer function from Rec. ITU-R BT.2020-2 table 4\n\ttoBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val < β * 4.5) {\n\t\t\t\treturn val / 4.5;\n\t\t\t}\n\n\t\t\treturn Math.pow((val + α - 1) / α, 1 / 0.45);\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val >= β) {\n\t\t\t\treturn α * Math.pow(val, 0.45) - (α - 1);\n\t\t\t}\n\n\t\t\treturn 4.5 * val;\n\t\t});\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\nconst toXYZ_M = [\n\t[0.4865709486482162, 0.26566769316909306, 0.1982172852343625],\n\t[0.2289745640697488, 0.6917385218365064, 0.079286914093745],\n\t[0.0000000000000000, 0.04511338185890264, 1.043944368900976],\n];\n\nconst fromXYZ_M = [\n\t[ 2.493496911941425, -0.9313836179191239, -0.40271078445071684],\n\t[-0.8294889695615747, 1.7626640603183463, 0.023624685841943577],\n\t[ 0.03584583024378447, -0.07617238926804182, 0.9568845240076872],\n];\n\nexport default new RGBColorSpace({\n\tid: \"p3-linear\",\n\tcssId: \"--display-p3-linear\",\n\tname: \"Linear P3\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// This is the linear-light version of sRGB\n// as used for example in SVG filters\n// or in Canvas\n\n// This matrix was calculated directly from the RGB and white chromaticities\n// when rounded to 8 decimal places, it agrees completely with the official matrix\n// see https://github.com/w3c/csswg-drafts/issues/5922\nconst toXYZ_M = [\n\t[ 0.41239079926595934, 0.357584339383878, 0.1804807884018343 ],\n\t[ 0.21263900587151027, 0.715168678767756, 0.07219231536073371 ],\n\t[ 0.01933081871559182, 0.11919477979462598, 0.9505321522496607 ],\n];\n\n// This matrix is the inverse of the above;\n// again it agrees with the official definition when rounded to 8 decimal places\nexport const fromXYZ_M = [\n\t[ 3.2409699419045226, -1.537383177570094, -0.4986107602930034 ],\n\t[ -0.9692436362808796, 1.8759675015077202, 0.04155505740717559 ],\n\t[ 0.05563007969699366, -0.20397695888897652, 1.0569715142428786 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"srgb-linear\",\n\tname: \"Linear sRGB\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "/* List of CSS color keywords\n * Note that this does not include currentColor, transparent,\n * or system colors\n */\n\n// To produce: Visit https://www.w3.org/TR/css-color-4/#named-colors\n// and run in the console:\n// copy($$(\"tr\", $(\".named-color-table tbody\")).map(tr => `\"${tr.cells[2].textContent.trim()}\": [${tr.cells[4].textContent.trim().split(/\\s+/).map(c => c === \"0\"? \"0\" : c === \"255\"? \"1\" : c + \" / 255\").join(\", \")}]`).join(\",\\n\"))\nexport default {\n\t\"aliceblue\": [240 / 255, 248 / 255, 1],\n\t\"antiquewhite\": [250 / 255, 235 / 255, 215 / 255],\n\t\"aqua\": [0, 1, 1],\n\t\"aquamarine\": [127 / 255, 1, 212 / 255],\n\t\"azure\": [240 / 255, 1, 1],\n\t\"beige\": [245 / 255, 245 / 255, 220 / 255],\n\t\"bisque\": [1, 228 / 255, 196 / 255],\n\t\"black\": [0, 0, 0],\n\t\"blanchedalmond\": [1, 235 / 255, 205 / 255],\n\t\"blue\": [0, 0, 1],\n\t\"blueviolet\": [138 / 255, 43 / 255, 226 / 255],\n\t\"brown\": [165 / 255, 42 / 255, 42 / 255],\n\t\"burlywood\": [222 / 255, 184 / 255, 135 / 255],\n\t\"cadetblue\": [95 / 255, 158 / 255, 160 / 255],\n\t\"chartreuse\": [127 / 255, 1, 0],\n\t\"chocolate\": [210 / 255, 105 / 255, 30 / 255],\n\t\"coral\": [1, 127 / 255, 80 / 255],\n\t\"cornflowerblue\": [100 / 255, 149 / 255, 237 / 255],\n\t\"cornsilk\": [1, 248 / 255, 220 / 255],\n\t\"crimson\": [220 / 255, 20 / 255, 60 / 255],\n\t\"cyan\": [0, 1, 1],\n\t\"darkblue\": [0, 0, 139 / 255],\n\t\"darkcyan\": [0, 139 / 255, 139 / 255],\n\t\"darkgoldenrod\": [184 / 255, 134 / 255, 11 / 255],\n\t\"darkgray\": [169 / 255, 169 / 255, 169 / 255],\n\t\"darkgreen\": [0, 100 / 255, 0],\n\t\"darkgrey\": [169 / 255, 169 / 255, 169 / 255],\n\t\"darkkhaki\": [189 / 255, 183 / 255, 107 / 255],\n\t\"darkmagenta\": [139 / 255, 0, 139 / 255],\n\t\"darkolivegreen\": [85 / 255, 107 / 255, 47 / 255],\n\t\"darkorange\": [1, 140 / 255, 0],\n\t\"darkorchid\": [153 / 255, 50 / 255, 204 / 255],\n\t\"darkred\": [139 / 255, 0, 0],\n\t\"darksalmon\": [233 / 255, 150 / 255, 122 / 255],\n\t\"darkseagreen\": [143 / 255, 188 / 255, 143 / 255],\n\t\"darkslateblue\": [72 / 255, 61 / 255, 139 / 255],\n\t\"darkslategray\": [47 / 255, 79 / 255, 79 / 255],\n\t\"darkslategrey\": [47 / 255, 79 / 255, 79 / 255],\n\t\"darkturquoise\": [0, 206 / 255, 209 / 255],\n\t\"darkviolet\": [148 / 255, 0, 211 / 255],\n\t\"deeppink\": [1, 20 / 255, 147 / 255],\n\t\"deepskyblue\": [0, 191 / 255, 1],\n\t\"dimgray\": [105 / 255, 105 / 255, 105 / 255],\n\t\"dimgrey\": [105 / 255, 105 / 255, 105 / 255],\n\t\"dodgerblue\": [30 / 255, 144 / 255, 1],\n\t\"firebrick\": [178 / 255, 34 / 255, 34 / 255],\n\t\"floralwhite\": [1, 250 / 255, 240 / 255],\n\t\"forestgreen\": [34 / 255, 139 / 255, 34 / 255],\n\t\"fuchsia\": [1, 0, 1],\n\t\"gainsboro\": [220 / 255, 220 / 255, 220 / 255],\n\t\"ghostwhite\": [248 / 255, 248 / 255, 1],\n\t\"gold\": [1, 215 / 255, 0],\n\t\"goldenrod\": [218 / 255, 165 / 255, 32 / 255],\n\t\"gray\": [128 / 255, 128 / 255, 128 / 255],\n\t\"green\": [0, 128 / 255, 0],\n\t\"greenyellow\": [173 / 255, 1, 47 / 255],\n\t\"grey\": [128 / 255, 128 / 255, 128 / 255],\n\t\"honeydew\": [240 / 255, 1, 240 / 255],\n\t\"hotpink\": [1, 105 / 255, 180 / 255],\n\t\"indianred\": [205 / 255, 92 / 255, 92 / 255],\n\t\"indigo\": [75 / 255, 0, 130 / 255],\n\t\"ivory\": [1, 1, 240 / 255],\n\t\"khaki\": [240 / 255, 230 / 255, 140 / 255],\n\t\"lavender\": [230 / 255, 230 / 255, 250 / 255],\n\t\"lavenderblush\": [1, 240 / 255, 245 / 255],\n\t\"lawngreen\": [124 / 255, 252 / 255, 0],\n\t\"lemonchiffon\": [1, 250 / 255, 205 / 255],\n\t\"lightblue\": [173 / 255, 216 / 255, 230 / 255],\n\t\"lightcoral\": [240 / 255, 128 / 255, 128 / 255],\n\t\"lightcyan\": [224 / 255, 1, 1],\n\t\"lightgoldenrodyellow\": [250 / 255, 250 / 255, 210 / 255],\n\t\"lightgray\": [211 / 255, 211 / 255, 211 / 255],\n\t\"lightgreen\": [144 / 255, 238 / 255, 144 / 255],\n\t\"lightgrey\": [211 / 255, 211 / 255, 211 / 255],\n\t\"lightpink\": [1, 182 / 255, 193 / 255],\n\t\"lightsalmon\": [1, 160 / 255, 122 / 255],\n\t\"lightseagreen\": [32 / 255, 178 / 255, 170 / 255],\n\t\"lightskyblue\": [135 / 255, 206 / 255, 250 / 255],\n\t\"lightslategray\": [119 / 255, 136 / 255, 153 / 255],\n\t\"lightslategrey\": [119 / 255, 136 / 255, 153 / 255],\n\t\"lightsteelblue\": [176 / 255, 196 / 255, 222 / 255],\n\t\"lightyellow\": [1, 1, 224 / 255],\n\t\"lime\": [0, 1, 0],\n\t\"limegreen\": [50 / 255, 205 / 255, 50 / 255],\n\t\"linen\": [250 / 255, 240 / 255, 230 / 255],\n\t\"magenta\": [1, 0, 1],\n\t\"maroon\": [128 / 255, 0, 0],\n\t\"mediumaquamarine\": [102 / 255, 205 / 255, 170 / 255],\n\t\"mediumblue\": [0, 0, 205 / 255],\n\t\"mediumorchid\": [186 / 255, 85 / 255, 211 / 255],\n\t\"mediumpurple\": [147 / 255, 112 / 255, 219 / 255],\n\t\"mediumseagreen\": [60 / 255, 179 / 255, 113 / 255],\n\t\"mediumslateblue\": [123 / 255, 104 / 255, 238 / 255],\n\t\"mediumspringgreen\": [0, 250 / 255, 154 / 255],\n\t\"mediumturquoise\": [72 / 255, 209 / 255, 204 / 255],\n\t\"mediumvioletred\": [199 / 255, 21 / 255, 133 / 255],\n\t\"midnightblue\": [25 / 255, 25 / 255, 112 / 255],\n\t\"mintcream\": [245 / 255, 1, 250 / 255],\n\t\"mistyrose\": [1, 228 / 255, 225 / 255],\n\t\"moccasin\": [1, 228 / 255, 181 / 255],\n\t\"navajowhite\": [1, 222 / 255, 173 / 255],\n\t\"navy\": [0, 0, 128 / 255],\n\t\"oldlace\": [253 / 255, 245 / 255, 230 / 255],\n\t\"olive\": [128 / 255, 128 / 255, 0],\n\t\"olivedrab\": [107 / 255, 142 / 255, 35 / 255],\n\t\"orange\": [1, 165 / 255, 0],\n\t\"orangered\": [1, 69 / 255, 0],\n\t\"orchid\": [218 / 255, 112 / 255, 214 / 255],\n\t\"palegoldenrod\": [238 / 255, 232 / 255, 170 / 255],\n\t\"palegreen\": [152 / 255, 251 / 255, 152 / 255],\n\t\"paleturquoise\": [175 / 255, 238 / 255, 238 / 255],\n\t\"palevioletred\": [219 / 255, 112 / 255, 147 / 255],\n\t\"papayawhip\": [1, 239 / 255, 213 / 255],\n\t\"peachpuff\": [1, 218 / 255, 185 / 255],\n\t\"peru\": [205 / 255, 133 / 255, 63 / 255],\n\t\"pink\": [1, 192 / 255, 203 / 255],\n\t\"plum\": [221 / 255, 160 / 255, 221 / 255],\n\t\"powderblue\": [176 / 255, 224 / 255, 230 / 255],\n\t\"purple\": [128 / 255, 0, 128 / 255],\n\t\"rebeccapurple\": [102 / 255, 51 / 255, 153 / 255],\n\t\"red\": [1, 0, 0],\n\t\"rosybrown\": [188 / 255, 143 / 255, 143 / 255],\n\t\"royalblue\": [65 / 255, 105 / 255, 225 / 255],\n\t\"saddlebrown\": [139 / 255, 69 / 255, 19 / 255],\n\t\"salmon\": [250 / 255, 128 / 255, 114 / 255],\n\t\"sandybrown\": [244 / 255, 164 / 255, 96 / 255],\n\t\"seagreen\": [46 / 255, 139 / 255, 87 / 255],\n\t\"seashell\": [1, 245 / 255, 238 / 255],\n\t\"sienna\": [160 / 255, 82 / 255, 45 / 255],\n\t\"silver\": [192 / 255, 192 / 255, 192 / 255],\n\t\"skyblue\": [135 / 255, 206 / 255, 235 / 255],\n\t\"slateblue\": [106 / 255, 90 / 255, 205 / 255],\n\t\"slategray\": [112 / 255, 128 / 255, 144 / 255],\n\t\"slategrey\": [112 / 255, 128 / 255, 144 / 255],\n\t\"snow\": [1, 250 / 255, 250 / 255],\n\t\"springgreen\": [0, 1, 127 / 255],\n\t\"steelblue\": [70 / 255, 130 / 255, 180 / 255],\n\t\"tan\": [210 / 255, 180 / 255, 140 / 255],\n\t\"teal\": [0, 128 / 255, 128 / 255],\n\t\"thistle\": [216 / 255, 191 / 255, 216 / 255],\n\t\"tomato\": [1, 99 / 255, 71 / 255],\n\t\"turquoise\": [64 / 255, 224 / 255, 208 / 255],\n\t\"violet\": [238 / 255, 130 / 255, 238 / 255],\n\t\"wheat\": [245 / 255, 222 / 255, 179 / 255],\n\t\"white\": [1, 1, 1],\n\t\"whitesmoke\": [245 / 255, 245 / 255, 245 / 255],\n\t\"yellow\": [1, 1, 0],\n\t\"yellowgreen\": [154 / 255, 205 / 255, 50 / 255],\n};\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport sRGBLinear from \"./srgb-linear.js\";\nimport KEYWORDS from \"../keywords.js\";\n\nlet coordGrammar = Array(3).fill(\"<percentage> | <number>[0, 255]\");\nlet coordGrammarNumber = Array(3).fill(\"<number>[0, 255]\");\n\nexport default new RGBColorSpace({\n\tid: \"srgb\",\n\tname: \"sRGB\",\n\tbase: sRGBLinear,\n\tfromBase: rgb => {\n\t\t// convert an array of linear-light sRGB values in the range 0.0-1.0\n\t\t// to gamma corrected form\n\t\t// https://en.wikipedia.org/wiki/SRGB\n\t\treturn rgb.map(val => {\n\t\t\tlet sign = val < 0 ? -1 : 1;\n\t\t\tlet abs = val * sign;\n\n\t\t\tif (abs > 0.0031308) {\n\t\t\t\treturn sign * (1.055 * (abs ** (1 / 2.4)) - 0.055);\n\t\t\t}\n\n\t\t\treturn 12.92 * val;\n\t\t});\n\t},\n\ttoBase: rgb => {\n\t\t// convert an array of sRGB values in the range 0.0 - 1.0\n\t\t// to linear light (un-companded) form.\n\t\t// https://en.wikipedia.org/wiki/SRGB\n\t\treturn rgb.map(val => {\n\t\t\tlet sign = val < 0 ? -1 : 1;\n\t\t\tlet abs = val * sign;\n\n\t\t\tif (abs <= 0.04045) {\n\t\t\t\treturn val / 12.92;\n\t\t\t}\n\n\t\t\treturn sign * (((abs + 0.055) / 1.055) ** 2.4);\n\t\t});\n\t},\n\tformats: {\n\t\t\"rgb\": {\n\t\t\tcoords: coordGrammar,\n\t\t},\n\t\t\"rgb_number\": {\n\t\t\tname: \"rgb\",\n\t\t\tcommas: true,\n\t\t\tcoords: coordGrammarNumber,\n\t\t\tnoAlpha: true,\n\t\t},\n\t\t\"color\": { /* use defaults */ },\n\t\t\"rgba\": {\n\t\t\tcoords: coordGrammar,\n\t\t\tcommas: true,\n\t\t\tlastAlpha: true,\n\t\t},\n\t\t\"rgba_number\": {\n\t\t\tname: \"rgba\",\n\t\t\tcommas: true,\n\t\t\tcoords: coordGrammarNumber,\n\t\t},\n\t\t\"hex\": {\n\t\t\ttype: \"custom\",\n\t\t\ttoGamut: true,\n\t\t\ttest: str => /^#([a-f0-9]{3,4}){1,2}$/i.test(str),\n\t\t\tparse (str) {\n\t\t\t\tif (str.length <= 5) {\n\t\t\t\t\t// #rgb or #rgba, duplicate digits\n\t\t\t\t\tstr = str.replace(/[a-f0-9]/gi, \"$&$&\");\n\t\t\t\t}\n\n\t\t\t\tlet rgba = [];\n\t\t\t\tstr.replace(/[a-f0-9]{2}/gi, component => {\n\t\t\t\t\trgba.push(parseInt(component, 16) / 255);\n\t\t\t\t});\n\n\t\t\t\treturn {\n\t\t\t\t\tspaceId: \"srgb\",\n\t\t\t\t\tcoords: rgba.slice(0, 3),\n\t\t\t\t\talpha: rgba.slice(3)[0],\n\t\t\t\t};\n\t\t\t},\n\t\t\tserialize: (coords, alpha, {\n\t\t\t\tcollapse = true, // collapse to 3-4 digit hex when possible?\n\t\t\t} = {}) => {\n\t\t\t\tif (alpha < 1) {\n\t\t\t\t\tcoords.push(alpha);\n\t\t\t\t}\n\n\t\t\t\tcoords = coords.map(c => Math.round(c * 255));\n\n\t\t\t\tlet collapsible = collapse && coords.every(c => c % 17 === 0);\n\n\t\t\t\tlet hex = coords.map(c => {\n\t\t\t\t\tif (collapsible) {\n\t\t\t\t\t\treturn (c / 17).toString(16);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn c.toString(16).padStart(2, \"0\");\n\t\t\t\t}).join(\"\");\n\n\t\t\t\treturn \"#\" + hex;\n\t\t\t},\n\t\t},\n\t\t\"keyword\": {\n\t\t\ttype: \"custom\",\n\t\t\ttest: str => /^[a-z]+$/i.test(str),\n\t\t\tparse (str) {\n\t\t\t\tstr = str.toLowerCase();\n\t\t\t\tlet ret = {spaceId: \"srgb\", coords: null, alpha: 1};\n\n\t\t\t\tif (str === \"transparent\") {\n\t\t\t\t\tret.coords = KEYWORDS.black;\n\t\t\t\t\tret.alpha = 0;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tret.coords = KEYWORDS[str];\n\t\t\t\t}\n\n\t\t\t\tif (ret.coords) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport P3Linear from \"./p3-linear.js\";\nimport sRGB from \"./srgb.js\";\n\nexport default new RGBColorSpace({\n\tid: \"p3\",\n\tcssId: \"display-p3\",\n\tname: \"P3\",\n\tbase: P3Linear,\n\t// Gamma encoding/decoding is the same as sRGB\n\tfromBase: sRGB.fromBase,\n\ttoBase: sRGB.toBase,\n});\n", "import { isNone, skipNone } from \"./util.js\";\nimport defaults from \"./defaults.js\";\nimport to from \"./to.js\";\nimport serialize from \"./serialize.js\";\nimport clone from \"./clone.js\";\nimport REC2020 from \"./spaces/rec2020.js\";\nimport P3 from \"./spaces/p3.js\";\nimport Lab from \"./spaces/lab.js\";\nimport sRGB from \"./spaces/srgb.js\";\n\n// Default space for CSS output. Code in Color.js makes this wider if there's a DOM available\ndefaults.display_space = sRGB;\n\nlet supportsNone;\n\nif (typeof CSS !== \"undefined\" && CSS.supports) {\n\t// Find widest supported color space for CSS\n\tfor (let space of [Lab, REC2020, P3]) {\n\t\tlet coords = space.getMinCoords();\n\t\tlet color = {space, coords, alpha: 1};\n\t\tlet str = serialize(color);\n\n\t\tif (CSS.supports(\"color\", str)) {\n\t\t\tdefaults.display_space = space;\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\n/**\n * Returns a serialization of the color that can actually be displayed in the browser.\n * If the default serialization can be displayed, it is returned.\n * Otherwise, the color is converted to Lab, REC2020, or P3, whichever is the widest supported.\n * In Node.js, this is basically equivalent to `serialize()` but returns a `String` object instead.\n *\n * @export\n * @param {{space, coords} | Color | string} color\n * @param {*} [options={}] Options to be passed to serialize()\n * @param {ColorSpace | string} [options.space = defaults.display_space] Color space to use for serialization if default is not supported\n * @returns {String} String object containing the serialized color with a color property containing the converted color (or the original, if no conversion was necessary)\n */\nexport default function display (color, {space = defaults.display_space, ...options} = {}) {\n\tlet ret = serialize(color, options);\n\n\tif (typeof CSS === \"undefined\" || CSS.supports(\"color\", ret) || !defaults.display_space) {\n\t\tret = new String(ret);\n\t\tret.color = color;\n\t}\n\telse {\n\t\t// If we're here, what we were about to output is not supported\n\t\tlet fallbackColor = color;\n\n\t\t// First, check if the culprit is none values\n\t\tlet hasNone = color.coords.some(isNone) || isNone(color.alpha);\n\n\t\tif (hasNone) {\n\t\t\t// Does the browser support none values?\n\t\t\tif (!(supportsNone ??= CSS.supports(\"color\", \"hsl(none 50% 50%)\"))) {\n\t\t\t\t// Nope, try again without none\n\t\t\t\tfallbackColor = clone(color);\n\t\t\t\tfallbackColor.coords = fallbackColor.coords.map(skipNone);\n\t\t\t\tfallbackColor.alpha = skipNone(fallbackColor.alpha);\n\n\t\t\t\tret = serialize(fallbackColor, options);\n\n\t\t\t\tif (CSS.supports(\"color\", ret)) {\n\t\t\t\t\t// We're done, now it's supported\n\t\t\t\t\tret = new String(ret);\n\t\t\t\t\tret.color = fallbackColor;\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If we're here, the color function is not supported\n\t\t// Fall back to fallback space\n\t\tfallbackColor = to(fallbackColor, space);\n\t\tret = new String(serialize(fallbackColor, options));\n\t\tret.color = fallbackColor;\n\t}\n\n\treturn ret;\n}\n", "import getColor from \"./getColor.js\";\n\nexport default function equals (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\treturn color1.space === color2.space\n\t && color1.alpha === color2.alpha\n\t && color1.coords.every((c, i) => c === color2.coords[i]);\n}\n", "/**\n * Relative luminance\n */\nimport get from \"./get.js\";\nimport set from \"./set.js\";\nimport xyz_d65 from \"./spaces/xyz-d65.js\";\n\nexport function getLuminance (color) {\n\t// Assume getColor() is called on color in get()\n\treturn get(color, [xyz_d65, \"y\"]);\n}\n\nexport function setLuminance (color, value) {\n\t// Assume getColor() is called on color in set()\n\tset(color, [xyz_d65, \"y\"], value);\n}\n\nexport function register (Color) {\n\tObject.defineProperty(Color.prototype, \"luminance\", {\n\t\tget () {\n\t\t\treturn getLuminance(this);\n\t\t},\n\t\tset (value) {\n\t\t\tsetLuminance(this, value);\n\t\t},\n\t});\n}\n", "// WCAG 2.0 contrast https://www.w3.org/TR/WCAG20-TECHS/G18.html\n// Simple contrast, with fixed 5% viewing flare contribution\n// Symmetric, does not matter which is foreground and which is background\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\nexport default function contrastWCAG21 (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\treturn (Y1 + .05) / (Y2 + .05);\n}\n", "// APCA 0.0.98G\n// https://github.com/Myndex/apca-w3\n// see also https://github.com/w3c/silver/issues/643\n\nimport getColor from \"../getColor.js\";\nimport to from \"../to.js\";\n\n// exponents\nconst normBG = 0.56;\nconst normTXT = 0.57;\nconst revTXT = 0.62;\nconst revBG = 0.65;\n\n// clamps\nconst blkThrs = 0.022;\nconst blkClmp = 1.414;\nconst loClip = 0.1;\nconst deltaYmin = 0.0005;\n\n// scalers\n// see https://github.com/w3c/silver/issues/645\nconst scaleBoW = 1.14;\nconst loBoWoffset = 0.027;\nconst scaleWoB = 1.14;\nconst loWoBoffset = 0.027;\n\nfunction fclamp (Y) {\n\tif (Y >= blkThrs) {\n\t\treturn Y;\n\t}\n\treturn Y + (blkThrs - Y) ** blkClmp;\n}\n\nfunction linearize (val) {\n\tlet sign = val < 0 ? -1 : 1;\n\tlet abs = Math.abs(val);\n\treturn sign * Math.pow(abs, 2.4);\n}\n\n// Not symmetric, requires a foreground (text) color, and a background color\nexport default function contrastAPCA (background, foreground) {\n\tforeground = getColor(foreground);\n\tbackground = getColor(background);\n\n\tlet S;\n\tlet C;\n\tlet Sapc;\n\n\t// Myndex as-published, assumes sRGB inputs\n\tlet R, G, B;\n\n\tforeground = to(foreground, \"srgb\");\n\t// Should these be clamped to in-gamut values?\n\n\t// Calculates \"screen luminance\" with non-standard simple gamma EOTF\n\t// weights should be from CSS Color 4, not the ones here which are via Myndex and copied from Lindbloom\n\t[R, G, B] = foreground.coords;\n\tlet lumTxt = linearize(R) * 0.2126729 + linearize(G) * 0.7151522 + linearize(B) * 0.0721750;\n\n\tbackground = to(background, \"srgb\");\n\t[R, G, B] = background.coords;\n\tlet lumBg = linearize(R) * 0.2126729 + linearize(G) * 0.7151522 + linearize(B) * 0.0721750;\n\n\t// toe clamping of very dark values to account for flare\n\tlet Ytxt = fclamp(lumTxt);\n\tlet Ybg = fclamp(lumBg);\n\n\t// are we \"Black on White\" (dark on light), or light on dark?\n\tlet BoW = Ybg > Ytxt;\n\n\t// why is this a delta, when Y is not perceptually uniform?\n\t// Answer: it is a noise gate, see\n\t// https://github.com/LeaVerou/color.js/issues/208\n\tif (Math.abs(Ybg - Ytxt) < deltaYmin) {\n\t\tC = 0;\n\t}\n\telse {\n\t\tif (BoW) {\n\t\t\t// dark text on light background\n\t\t\tS = Ybg ** normBG - Ytxt ** normTXT;\n\t\t\tC = S * scaleBoW;\n\t\t}\n\t\telse {\n\t\t\t// light text on dark background\n\t\t\tS = Ybg ** revBG - Ytxt ** revTXT;\n\t\t\tC = S * scaleWoB;\n\t\t}\n\t}\n\tif (Math.abs(C) < loClip) {\n\t\tSapc = 0;\n\t}\n\telse if (C > 0) {\n\t\t// not clear whether Woffset is loBoWoffset or loWoBoffset\n\t\t// but they have the same value\n\t\tSapc = C - loBoWoffset;\n\t}\n\telse {\n\t\tSapc = C + loBoWoffset;\n\t}\n\n\treturn Sapc * 100;\n}\n", "// Michelson luminance contrast\n// the relation between the spread and the sum of the two luminances\n// Symmetric, does not matter which is foreground and which is background\n// No black level compensation for flare.\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\nexport default function contrastMichelson (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\tlet denom = (Y1 + Y2);\n\treturn denom === 0 ? 0 : (Y1 - Y2) / denom;\n}\n", "// Weber luminance contrast\n// The difference between the two luminances divided by the lower luminance\n// Symmetric, does not matter which is foreground and which is background\n// No black level compensation for flare.\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\n// the darkest sRGB color above black is #000001 and this produces\n// a plain Weber contrast of ~45647.\n// So, setting the divide-by-zero result at 50000 is a reasonable\n// max clamp for the plain Weber\nconst max = 50000;\n\nexport default function contrastWeber (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\treturn Y2 === 0 ? max : (Y1 - Y2) / Y2;\n}\n", "// CIE Lightness difference, as used by Google Material Design\n// Google HCT Tone is the same as CIE Lightness\n// https://material.io/blog/science-of-color-design\n\nimport getColor from \"../getColor.js\";\nimport get from \"../get.js\";\nimport lab from \"../spaces/lab.js\";\n\nexport default function contrastLstar (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet L1 = get(color1, [lab, \"l\"]);\n\tlet L2 = get(color2, [lab, \"l\"]);\n\n\treturn Math.abs(L1 - L2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\n\n// κ * ε = 2^3 = 8\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst ε3 = 24 / 116;\nconst κ = 24389 / 27; // 29^3/3^3\n\nlet white = WHITES.D65;\n\nexport default new ColorSpace({\n\tid: \"lab-d65\",\n\tname: \"Lab D65\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t},\n\n\t// Assuming XYZ is relative to D65, convert to CIE Lab\n\t// from CIE standard, which now defines these as a rational fraction\n\twhite,\n\n\tbase: xyz_d65,\n\t// Convert D65-adapted XYZ to Lab\n\t// CIE 15.3:2004 section 8.2.1.1\n\tfromBase (XYZ) {\n\t\t// compute xyz, which is XYZ scaled relative to reference white\n\t\tlet xyz = XYZ.map((value, i) => value / white[i]);\n\n\t\t// now compute f\n\t\tlet f = xyz.map(value => value > ε ? Math.cbrt(value) : (κ * value + 16) / 116);\n\n\t\treturn [\n\t\t\t(116 * f[1]) - 16, // L\n\t\t\t500 * (f[0] - f[1]), // a\n\t\t\t200 * (f[1] - f[2]), // b\n\t\t];\n\t},\n\t// Convert Lab to D65-adapted XYZ\n\t// Same result as CIE 15.3:2004 Appendix D although the derivation is different\n\t// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n\ttoBase (Lab) {\n\t\t// compute f, starting with the luminance-related term\n\t\tlet f = [];\n\t\tf[1] = (Lab[0] + 16) / 116;\n\t\tf[0] = Lab[1] / 500 + f[1];\n\t\tf[2] = f[1] - Lab[2] / 200;\n\n\t\t// compute xyz\n\t\tlet xyz = [\n\t\t\tf[0] > ε3 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / κ,\n\t\t\tLab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / κ,\n\t\t\tf[2] > ε3 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / κ,\n\t\t];\n\n\t\t// Compute XYZ by scaling xyz by reference white\n\t\treturn xyz.map((value, i) => value * white[i]);\n\t},\n\n\tformats: {\n\t\t\"lab-d65\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "// Delta Phi Star perceptual lightness contrast\n// See https://github.com/Myndex/deltaphistar\n// The (difference between two Lstars each raised to phi) raised to (1/phi)\n// Symmetric, does not matter which is foreground and which is background\n\n\nimport getColor from \"../getColor.js\";\nimport get from \"../get.js\";\nimport lab_d65 from \"../spaces/lab-d65.js\";\n\nconst phi = Math.pow(5, 0.5) * 0.5 + 0.5; // Math.phi can be used if Math.js\n\nexport default function contrastDeltaPhi (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Lstr1 = get(color1, [lab_d65, \"l\"]);\n\tlet Lstr2 = get(color2, [lab_d65, \"l\"]);\n\n\tlet deltaPhiStar = Math.abs(Math.pow(Lstr1, phi) - Math.pow(Lstr2, phi));\n\n\tlet contrast = Math.pow(deltaPhiStar, (1 / phi)) * Math.SQRT2 - 40;\n\n\treturn (contrast < 7.5) ? 0.0 : contrast ;\n}\n", "import getColor from \"./getColor.js\";\n// import defaults from \"./defaults.js\";\nimport {isString} from \"./util.js\";\nimport * as contrastAlgorithms from \"./contrast/index.js\";\n\nexport default function contrast (background, foreground, o = {}) {\n\tif (isString(o)) {\n\t\to = {algorithm: o};\n\t}\n\n\tlet {algorithm, ...rest} = o;\n\n\tif (!algorithm) {\n\t\tlet algorithms = Object.keys(contrastAlgorithms).map(a => a.replace(/^contrast/, \"\")).join(\", \");\n\t\tthrow new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${algorithms}`);\n\t}\n\n\tbackground = getColor(background);\n\tforeground = getColor(foreground);\n\n\tfor (let a in contrastAlgorithms) {\n\t\tif (\"contrast\" + algorithm.toLowerCase() === a.toLowerCase()) {\n\t\t\treturn contrastAlgorithms[a](background, foreground, rest);\n\t\t}\n\t}\n\n\tthrow new TypeError(`Unknown contrast algorithm: ${algorithm}`);\n}\n", "import xyz_d65 from \"./spaces/xyz-d65.js\";\nimport getAll from \"./getAll.js\";\n\n// Chromaticity coordinates\nexport function uv (color) {\n\t// Assumes getAll() calls getColor() on color\n\tlet [X, Y, Z] = getAll(color, xyz_d65);\n\tlet denom = X + 15 * Y + 3 * Z;\n\treturn [4 * X / denom, 9 * Y / denom];\n}\n\nexport function xy (color) {\n\t// Assumes getAll() calls getColor() on color\n\tlet [X, Y, Z] = getAll(color, xyz_d65);\n\tlet sum = X + Y + Z;\n\treturn [X / sum, Y / sum];\n}\n\nexport function register (Color) {\n\t// no setters, as lightness information is lost\n\t// when converting color to chromaticity\n\tObject.defineProperty(Color.prototype, \"uv\", {\n\t\tget () {\n\t\t\treturn uv(this);\n\t\t},\n\t});\n\n\tObject.defineProperty(Color.prototype, \"xy\", {\n\t\tget () {\n\t\t\treturn xy(this);\n\t\t},\n\t});\n}\n", "import defaults from \"./defaults.js\";\nimport {isString} from \"./util.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\n\nexport default function deltaE (c1, c2, o = {}) {\n\tif (isString(o)) {\n\t\to = {method: o};\n\t}\n\n\tlet {method = defaults.deltaE, ...rest} = o;\n\n\tfor (let m in deltaEMethods) {\n\t\tif (\"deltae\" + method.toLowerCase() === m.toLowerCase()) {\n\t\t\treturn deltaEMethods[m](c1, c2, rest);\n\t\t}\n\t}\n\n\tthrow new TypeError(`Unknown deltaE method: ${method}`);\n}\n", "import ColorSpace from \"./space.js\";\nimport set from \"./set.js\";\n\nexport function lighten (color, amount = .25) {\n\tlet space = ColorSpace.get(\"oklch\", \"lch\");\n\tlet lightness = [space, \"l\"];\n\treturn set(color, lightness, l => l * (1 + amount));\n}\n\nexport function darken (color, amount = .25) {\n\tlet space = ColorSpace.get(\"oklch\", \"lch\");\n\tlet lightness = [space, \"l\"];\n\treturn set(color, lightness, l => l * (1 - amount));\n}\n", "/**\n * Functions related to color interpolation\n */\nimport ColorSpace from \"./space.js\";\nimport {type, interpolate} from \"./util.js\";\nimport getColor from \"./getColor.js\";\nimport clone from \"./clone.js\";\nimport to from \"./to.js\";\nimport toGamut from \"./toGamut.js\";\nimport get from \"./get.js\";\nimport set from \"./set.js\";\nimport defaults from \"./defaults.js\";\nimport * as angles from \"./angles.js\";\nimport deltaE from \"./deltaE.js\";\n\n/**\n * Return an intermediate color between two colors\n * Signatures: mix(c1, c2, p, options)\n * mix(c1, c2, options)\n * mix(color)\n * @param {Color | string} c1 The first color\n * @param {Color | string} [c2] The second color\n * @param {number} [p=.5] A 0-1 percentage where 0 is c1 and 1 is c2\n * @param {Object} [o={}]\n * @return {Color}\n */\nexport function mix (c1, c2, p = .5, o = {}) {\n\t[c1, c2] = [getColor(c1), getColor(c2)];\n\n\tif (type(p) === \"object\") {\n\t\t[p, o] = [.5, p];\n\t}\n\n\tlet r = range(c1, c2, o);\n\treturn r(p);\n}\n\n/**\n *\n * @param {Color | string | Function} c1 The first color or a range\n * @param {Color | string} [c2] The second color if c1 is not a range\n * @param {Object} [options={}]\n * @return {Color[]}\n */\nexport function steps (c1, c2, options = {}) {\n\tlet colorRange;\n\n\tif (isRange(c1)) {\n\t\t// Tweaking existing range\n\t\t[colorRange, options] = [c1, c2];\n\t\t[c1, c2] = colorRange.rangeArgs.colors;\n\t}\n\n\tlet {\n\t\tmaxDeltaE, deltaEMethod,\n\t\tsteps = 2, maxSteps = 1000,\n\t\t...rangeOptions\n\t} = options;\n\n\tif (!colorRange) {\n\t\t[c1, c2] = [getColor(c1), getColor(c2)];\n\t\tcolorRange = range(c1, c2, rangeOptions);\n\t}\n\n\tlet totalDelta = deltaE(c1, c2);\n\tlet actualSteps = maxDeltaE > 0 ? Math.max(steps, Math.ceil(totalDelta / maxDeltaE) + 1) : steps;\n\tlet ret = [];\n\n\tif (maxSteps !== undefined) {\n\t\tactualSteps = Math.min(actualSteps, maxSteps);\n\t}\n\n\tif (actualSteps === 1) {\n\t\tret = [{p: .5, color: colorRange(.5)}];\n\t}\n\telse {\n\t\tlet step = 1 / (actualSteps - 1);\n\t\tret = Array.from({length: actualSteps}, (_, i) => {\n\t\t\tlet p = i * step;\n\t\t\treturn {p, color: colorRange(p)};\n\t\t});\n\t}\n\n\tif (maxDeltaE > 0) {\n\t\t// Iterate over all stops and find max deltaE\n\t\tlet maxDelta = ret.reduce((acc, cur, i) => {\n\t\t\tif (i === 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tlet ΔΕ = deltaE(cur.color, ret[i - 1].color, deltaEMethod);\n\t\t\treturn Math.max(acc, ΔΕ);\n\t\t}, 0);\n\n\t\twhile (maxDelta > maxDeltaE) {\n\t\t\t// Insert intermediate stops and measure maxDelta again\n\t\t\t// We need to do this for all pairs, otherwise the midpoint shifts\n\t\t\tmaxDelta = 0;\n\n\t\t\tfor (let i = 1; (i < ret.length) && (ret.length < maxSteps); i++) {\n\t\t\t\tlet prev = ret[i - 1];\n\t\t\t\tlet cur = ret[i];\n\n\t\t\t\tlet p = (cur.p + prev.p) / 2;\n\t\t\t\tlet color = colorRange(p);\n\t\t\t\tmaxDelta = Math.max(maxDelta, deltaE(color, prev.color), deltaE(color, cur.color));\n\t\t\t\tret.splice(i, 0, {p, color: colorRange(p)});\n\t\t\t\ti++;\n\t\t\t}\n\t\t}\n\t}\n\n\tret = ret.map(a => a.color);\n\n\treturn ret;\n}\n\n/**\n * Interpolate to color2 and return a function that takes a 0-1 percentage\n * @param {Color | string | Function} color1 The first color or an existing range\n * @param {Color | string} [color2] If color1 is a color, this is the second color\n * @param {Object} [options={}]\n * @returns {Function} A function that takes a 0-1 percentage and returns a color\n */\nexport function range (color1, color2, options = {}) {\n\tif (isRange(color1)) {\n\t\t// Tweaking existing range\n\t\tlet [r, options] = [color1, color2];\n\n\t\treturn range(...r.rangeArgs.colors, {...r.rangeArgs.options, ...options});\n\t}\n\n\tlet {space, outputSpace, progression, premultiplied} = options;\n\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\t// Make sure we're working on copies of these colors\n\tcolor1 = clone(color1);\n\tcolor2 = clone(color2);\n\n\tlet rangeArgs = {colors: [color1, color2], options};\n\n\tif (space) {\n\t\tspace = ColorSpace.get(space);\n\t}\n\telse {\n\t\tspace = ColorSpace.registry[defaults.interpolationSpace] || color1.space;\n\t}\n\n\toutputSpace = outputSpace ? ColorSpace.get(outputSpace) : space;\n\n\tcolor1 = to(color1, space);\n\tcolor2 = to(color2, space);\n\n\t// Gamut map to avoid areas of flat color\n\tcolor1 = toGamut(color1);\n\tcolor2 = toGamut(color2);\n\n\t// Handle hue interpolation\n\t// See https://github.com/w3c/csswg-drafts/issues/4735#issuecomment-635741840\n\tif (space.coords.h && space.coords.h.type === \"angle\") {\n\t\tlet arc = options.hue = options.hue || \"shorter\";\n\n\t\tlet hue = [space, \"h\"];\n\t\tlet [θ1, θ2] = [get(color1, hue), get(color2, hue)];\n\t\t// Undefined hues must be evaluated before hue fix-up to properly\n\t\t// calculate hue arcs between undefined and defined hues.\n\t\t// See https://github.com/w3c/csswg-drafts/issues/9436#issuecomment-1746957545\n\t\tif (isNaN(θ1) && !isNaN(θ2)) {\n\t\t\tθ1 = θ2;\n\t\t}\n\t\telse if (isNaN(θ2) && !isNaN(θ1)) {\n\t\t\tθ2 = θ1;\n\t\t}\n\t\t[θ1, θ2] = angles.adjust(arc, [θ1, θ2]);\n\t\tset(color1, hue, θ1);\n\t\tset(color2, hue, θ2);\n\t}\n\n\tif (premultiplied) {\n\t\t// not coping with polar spaces yet\n\t\tcolor1.coords = color1.coords.map(c => c * color1.alpha);\n\t\tcolor2.coords = color2.coords.map(c => c * color2.alpha);\n\t}\n\n\treturn Object.assign(p => {\n\t\tp = progression ? progression(p) : p;\n\t\tlet coords = color1.coords.map((start, i) => {\n\t\t\tlet end = color2.coords[i];\n\t\t\treturn interpolate(start, end, p);\n\t\t});\n\n\t\tlet alpha = interpolate(color1.alpha, color2.alpha, p);\n\t\tlet ret = {space, coords, alpha};\n\n\t\tif (premultiplied) {\n\t\t\t// undo premultiplication\n\t\t\tret.coords = ret.coords.map(c => c / alpha);\n\t\t}\n\n\t\tif (outputSpace !== space) {\n\t\t\tret = to(ret, outputSpace);\n\t\t}\n\n\t\treturn ret;\n\t}, {\n\t\trangeArgs,\n\t});\n}\n\nexport function isRange (val) {\n\treturn type(val) === \"function\" && !!val.rangeArgs;\n}\n\ndefaults.interpolationSpace = \"lab\";\n\nexport function register (Color) {\n\tColor.defineFunction(\"mix\", mix, {returns: \"color\"});\n\tColor.defineFunction(\"range\", range, {returns: \"function<color>\"});\n\tColor.defineFunction(\"steps\", steps, {returns: \"array<color>\"});\n}\n", "import ColorSpace from \"../space.js\";\nimport sRGB from \"./srgb.js\";\n\nexport default new ColorSpace({\n\tid: \"hsl\",\n\tname: \"HSL\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: sRGB,\n\n\t// Adapted from https://drafts.csswg.org/css-color-4/better-rgbToHsl.js\n\tfromBase: rgb => {\n\t\tlet max = Math.max(...rgb);\n\t\tlet min = Math.min(...rgb);\n\t\tlet [r, g, b] = rgb;\n\t\tlet [h, s, l] = [NaN, 0, (min + max) / 2];\n\t\tlet d = max - min;\n\n\t\tif (d !== 0) {\n\t\t\ts = (l === 0 || l === 1) ? 0 : (max - l) / Math.min(l, 1 - l);\n\n\t\t\tswitch (max) {\n\t\t\t\tcase r: h = (g - b) / d + (g < b ? 6 : 0); break;\n\t\t\t\tcase g: h = (b - r) / d + 2; break;\n\t\t\t\tcase b: h = (r - g) / d + 4;\n\t\t\t}\n\n\t\t\th = h * 60;\n\t\t}\n\n\t\t// Very out of gamut colors can produce negative saturation\n\t\t// If so, just rotate the hue by 180 and use a positive saturation\n\t\t// see https://github.com/w3c/csswg-drafts/issues/9222\n\t\tif (s < 0) {\n\t\t\th += 180;\n\t\t\ts = Math.abs(s);\n\t\t}\n\n\t\tif (h >= 360) {\n\t\t\th -= 360;\n\t\t}\n\n\t\treturn [h, s * 100, l * 100];\n\t},\n\n\t// Adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_RGB_alternative\n\ttoBase: hsl => {\n\t\tlet [h, s, l] = hsl;\n\t\th = h % 360;\n\n\t\tif (h < 0) {\n\t\t\th += 360;\n\t\t}\n\n\t\ts /= 100;\n\t\tl /= 100;\n\n\t\tfunction f (n) {\n\t\t\tlet k = (n + h / 30) % 12;\n\t\t\tlet a = s * Math.min(l, 1 - l);\n\t\t\treturn l - a * Math.max(-1, Math.min(k - 3, 9 - k, 1));\n\t\t}\n\n\t\treturn [f(0), f(8), f(4)];\n\t},\n\n\tformats: {\n\t\t\"hsl\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage>\", \"<percentage>\"],\n\t\t},\n\t\t\"hsla\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage>\", \"<percentage>\"],\n\t\t\tcommas: true,\n\t\t\tlastAlpha: true,\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport HSL from \"./hsl.js\";\n\n// The Hue, Whiteness Blackness (HWB) colorspace\n// See https://drafts.csswg.org/css-color-4/#the-hwb-notation\n// Note that, like HSL, calculations are done directly on\n// gamma-corrected sRGB values rather than linearising them first.\n\nexport default new ColorSpace({\n\tid: \"hsv\",\n\tname: \"HSV\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tv: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Value\",\n\t\t},\n\t},\n\n\tbase: HSL,\n\t// https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion\n\tfromBase (hsl) {\n\t\tlet [h, s, l] = hsl;\n\t\ts /= 100;\n\t\tl /= 100;\n\n\t\tlet v = l + s * Math.min(l, 1 - l);\n\n\t\treturn [\n\t\t\th, // h is the same\n\t\t\tv === 0 ? 0 : 200 * (1 - l / v), // s\n\t\t\t100 * v,\n\t\t];\n\t},\n\t// https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion\n\ttoBase (hsv) {\n\t\tlet [h, s, v] = hsv;\n\n\t\ts /= 100;\n\t\tv /= 100;\n\n\t\tlet l = v * (1 - s / 2);\n\n\t\treturn [\n\t\t\th, // h is the same\n\t\t\t(l === 0 || l === 1) ? 0 : ((v - l) / Math.min(l, 1 - l)) * 100,\n\t\t\tl * 100,\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hsv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport HSV from \"./hsv.js\";\n\n// The Hue, Whiteness Blackness (HWB) colorspace\n// See https://drafts.csswg.org/css-color-4/#the-hwb-notation\n// Note that, like HSL, calculations are done directly on\n// gamma-corrected sRGB values rather than linearising them first.\n\nexport default new ColorSpace({\n\tid: \"hwb\",\n\tname: \"HWB\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\tw: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Whiteness\",\n\t\t},\n\t\tb: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Blackness\",\n\t\t},\n\t},\n\n\tbase: HSV,\n\tfromBase (hsv) {\n\t\tlet [h, s, v] = hsv;\n\n\t\treturn [h, v * (100 - s) / 100, 100 - v];\n\t},\n\ttoBase (hwb) {\n\t\tlet [h, w, b] = hwb;\n\n\t\t// Now convert percentages to [0..1]\n\t\tw /= 100;\n\t\tb /= 100;\n\n\t\t// Achromatic check (white plus black >= 1)\n\t\tlet sum = w + b;\n\t\tif (sum >= 1) {\n\t\t\tlet gray = w / sum;\n\t\t\treturn [h, 0, gray * 100];\n\t\t}\n\n\t\tlet v = (1 - b);\n\t\tlet s = (v === 0) ? 0 : 1 - w / v;\n\t\treturn [h, s * 100, v * 100];\n\t},\n\n\tformats: {\n\t\t\"hwb\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// convert an array of linear-light a98-rgb values to CIE XYZ\n// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n// has greater numerical precision than section 4.3.5.3 of\n// https://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf\n// but the values below were calculated from first principles\n// from the chromaticity coordinates of R G B W\nconst toXYZ_M = [\n\t[ 0.5766690429101305, 0.1855582379065463, 0.1882286462349947 ],\n\t[ 0.29734497525053605, 0.6273635662554661, 0.07529145849399788 ],\n\t[ 0.02703136138641234, 0.07068885253582723, 0.9913375368376388 ],\n];\n\nconst fromXYZ_M = [\n\t[ 2.0415879038107465, -0.5650069742788596, -0.34473135077832956 ],\n\t[ -0.9692436362808795, 1.8759675015077202, 0.04155505740717557 ],\n\t[ 0.013444280632031142, -0.11836239223101838, 1.0151749943912054 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"a98rgb-linear\",\n\tcssId: \"--a98-rgb-linear\",\n\tname: \"Linear Adobe® 98 RGB compatible\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport A98Linear from \"./a98rgb-linear.js\";\n\nexport default new RGBColorSpace({\n\tid: \"a98rgb\",\n\tcssId: \"a98-rgb\",\n\tname: \"Adobe® 98 RGB compatible\",\n\tbase: A98Linear,\n\ttoBase: RGB => RGB.map(val => Math.pow(Math.abs(val), 563 / 256) * Math.sign(val)),\n\tfromBase: RGB => RGB.map(val => Math.pow(Math.abs(val), 256 / 563) * Math.sign(val)),\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport XYZ_D50 from \"./xyz-d50.js\";\n\n// convert an array of prophoto-rgb values to CIE XYZ\n// using D50 (so no chromatic adaptation needed afterwards)\n// matrix cannot be expressed in rational form, but is calculated to 64 bit accuracy\n// see https://github.com/w3c/csswg-drafts/issues/7675\nconst toXYZ_M = [\n\t[ 0.79776664490064230, 0.13518129740053308, 0.03134773412839220 ],\n\t[ 0.28807482881940130, 0.71183523424187300, 0.00008993693872564 ],\n\t[ 0.00000000000000000, 0.00000000000000000, 0.82510460251046020 ],\n];\n\nconst fromXYZ_M = [\n\t[ 1.34578688164715830, -0.25557208737979464, -0.05110186497554526 ],\n\t[ -0.54463070512490190, 1.50824774284514680, 0.02052744743642139 ],\n\t[ 0.00000000000000000, 0.00000000000000000, 1.21196754563894520 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"prophoto-linear\",\n\tcssId: \"--prophoto-rgb-linear\",\n\tname: \"Linear ProPhoto\",\n\twhite: \"D50\",\n\tbase: XYZ_D50,\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport ProPhotoLinear from \"./prophoto-linear.js\";\n\nconst Et = 1 / 512;\nconst Et2 = 16 / 512;\n\nexport default new RGBColorSpace({\n\tid: \"prophoto\",\n\tcssId: \"prophoto-rgb\",\n\tname: \"ProPhoto\",\n\tbase: ProPhotoLinear,\n\ttoBase (RGB) {\n\t\t// Transfer curve is gamma 1.8 with a small linear portion\n\t\treturn RGB.map(v => v < Et2 ? v / 16 : v ** 1.8);\n\t},\n\tfromBase (RGB) {\n\t\treturn RGB.map(v => v >= Et ? v ** (1 / 1.8) : 16 * v);\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport OKLab from \"./oklab.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"oklch\",\n\tname: \"Oklch\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 0.4],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\twhite: \"D65\",\n\n\tbase: OKLab,\n\tfromBase (oklab) {\n\t\t// Convert to polar form\n\t\tlet [L, a, b] = oklab;\n\t\tlet h;\n\t\tconst ε = 0.0002; // chromatic components much smaller than a,b\n\n\t\tif (Math.abs(a) < ε && Math.abs(b) < ε) {\n\t\t\th = NaN;\n\t\t}\n\t\telse {\n\t\t\th = Math.atan2(b, a) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // OKLab L is still L\n\t\t\tMath.sqrt(a ** 2 + b ** 2), // Chroma\n\t\t\tconstrainAngle(h), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\t// Convert from polar form\n\ttoBase (oklch) {\n\t\tlet [L, C, h] = oklch;\n\t\tlet a, b;\n\n\t\t// check for NaN hue\n\t\tif (isNaN(h)) {\n\t\t\ta = 0;\n\t\t\tb = 0;\n\t\t}\n\t\telse {\n\t\t\ta = C * Math.cos(h * Math.PI / 180);\n\t\t\tb = C * Math.sin(h * Math.PI / 180);\n\t\t}\n\n\t\treturn [ L, a, b ];\n\t},\n\n\tformats: {\n\t\t\"oklch\": {\n\t\t\tcoords: [\"<percentage> | <number>\", \"<number> | <percentage>[0,1]\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {uv} from \"../chromaticity.js\";\nimport {isNone, skipNone} from \"../util.js\";\n\nlet white = WHITES.D65;\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\nconst [U_PRIME_WHITE, V_PRIME_WHITE] = uv({space: xyz_d65, coords: white});\n\nexport default new ColorSpace({\n\tid: \"luv\",\n\tname: \"Luv\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\t// Reference ranges from https://facelessuser.github.io/coloraide/colors/luv/\n\t\tu: {\n\t\t\trefRange: [-215, 215],\n\t\t},\n\t\tv: {\n\t\t\trefRange: [-215, 215],\n\t\t},\n\t},\n\n\twhite: white,\n\tbase: xyz_d65,\n\n\t// Convert D65-adapted XYZ to Luv\n\t// https://en.wikipedia.org/wiki/CIELUV#The_forward_transformation\n\tfromBase (XYZ) {\n\t\tlet xyz = [skipNone(XYZ[0]), skipNone(XYZ[1]), skipNone(XYZ[2])];\n\t\tlet y = xyz[1];\n\n\t\tlet [up, vp] = uv({space: xyz_d65, coords: xyz});\n\n\t\t// Protect against XYZ of [0, 0, 0]\n\t\tif (!Number.isFinite(up) || !Number.isFinite(vp)) {\n\t\t\treturn [0, 0, 0];\n\t\t}\n\n\t\tlet L = y <= ε ? κ * y : 116 * Math.cbrt(y) - 16;\n\t\treturn [\n\t\t\tL,\n\t\t\t13 * L * (up - U_PRIME_WHITE),\n\t\t\t13 * L * (vp - V_PRIME_WHITE),\n\t\t ];\n\t},\n\n\t// Convert Luv to D65-adapted XYZ\n\t// https://en.wikipedia.org/wiki/CIELUV#The_reverse_transformation\n\ttoBase (Luv) {\n\t\tlet [L, u, v] = Luv;\n\n\t\t// Protect against division by zero and NaN Lightness\n\t\tif (L === 0 || isNone(L)) {\n\t\t\treturn [0, 0, 0];\n\t\t}\n\n\t\tu = skipNone(u);\n\t\tv = skipNone(v);\n\n\t\tlet up = (u / (13 * L)) + U_PRIME_WHITE;\n\t\tlet vp = (v / (13 * L)) + V_PRIME_WHITE;\n\n\t\tlet y = L <= 8 ? L / κ : Math.pow((L + 16) / 116, 3);\n\n\t\treturn [\n\t\t\ty * ((9 * up) / (4 * vp)),\n\t\t\ty,\n\t\t\ty * ((12 - 3 * up - 20 * vp) / (4 * vp)),\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--luv\",\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport Luv from \"./luv.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"lchuv\",\n\tname: \"LChuv\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 220],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Luv,\n\tfromBase (Luv) {\n\t\t// Convert to polar form\n\t\tlet [L, u, v] = Luv;\n\t\tlet hue;\n\t\tconst ε = 0.02;\n\n\t\tif (Math.abs(u) < ε && Math.abs(v) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(v, u) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // L is still L\n\t\t\tMath.sqrt(u ** 2 + v ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (LCH) {\n\t\t// Convert from polar form\n\t\tlet [Lightness, Chroma, Hue] = LCH;\n\t\t// Clamp any negative Chroma\n\t\tif (Chroma < 0) {\n\t\t\tChroma = 0;\n\t\t}\n\t\t// Deal with NaN Hue\n\t\tif (isNaN(Hue)) {\n\t\t\tHue = 0;\n\t\t}\n\t\treturn [\n\t\t\tLightness, // L is still L\n\t\t\tChroma * Math.cos(Hue * Math.PI / 180), // u\n\t\t\tChroma * Math.sin(Hue * Math.PI / 180), // v\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--lchuv\",\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "/*\nAdapted from: https://github.com/hsluv/hsluv-javascript/blob/14b49e6cf9a9137916096b8487a5372626b57ba4/src/hsluv.ts\n\nCopyright (c) 2012-2022 Alexei Boronine\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 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\nimport ColorSpace from \"../space.js\";\nimport LCHuv from \"./lchuv.js\";\nimport sRGB from \"./srgb.js\";\nimport {fromXYZ_M} from \"./srgb-linear.js\";\nimport {skipNone} from \"../util.js\";\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nconst m_r0 = fromXYZ_M[0][0];\nconst m_r1 = fromXYZ_M[0][1];\nconst m_r2 = fromXYZ_M[0][2];\nconst m_g0 = fromXYZ_M[1][0];\nconst m_g1 = fromXYZ_M[1][1];\nconst m_g2 = fromXYZ_M[1][2];\nconst m_b0 = fromXYZ_M[2][0];\nconst m_b1 = fromXYZ_M[2][1];\nconst m_b2 = fromXYZ_M[2][2];\n\nfunction distanceFromOriginAngle (slope, intercept, angle) {\n\tconst d = intercept / (Math.sin(angle) - slope * Math.cos(angle));\n\treturn d < 0 ? Infinity : d;\n}\n\nexport function calculateBoundingLines (l) {\n\tconst sub1 = Math.pow(l + 16, 3) / 1560896;\n\tconst sub2 = sub1 > ε ? sub1 : l / κ;\n\tconst s1r = sub2 * (284517 * m_r0 - 94839 * m_r2);\n\tconst s2r = sub2 * (838422 * m_r2 + 769860 * m_r1 + 731718 * m_r0);\n\tconst s3r = sub2 * (632260 * m_r2 - 126452 * m_r1);\n\tconst s1g = sub2 * (284517 * m_g0 - 94839 * m_g2);\n\tconst s2g = sub2 * (838422 * m_g2 + 769860 * m_g1 + 731718 * m_g0);\n\tconst s3g = sub2 * (632260 * m_g2 - 126452 * m_g1);\n\tconst s1b = sub2 * (284517 * m_b0 - 94839 * m_b2);\n\tconst s2b = sub2 * (838422 * m_b2 + 769860 * m_b1 + 731718 * m_b0);\n\tconst s3b = sub2 * (632260 * m_b2 - 126452 * m_b1);\n\n\treturn {\n\t\tr0s: s1r / s3r,\n\t\tr0i: s2r * l / s3r,\n\t\tr1s: s1r / (s3r + 126452),\n\t\tr1i: (s2r - 769860) * l / (s3r + 126452),\n\t\tg0s: s1g / s3g,\n\t\tg0i: s2g * l / s3g,\n\t\tg1s: s1g / (s3g + 126452),\n\t\tg1i: (s2g - 769860) * l / (s3g + 126452),\n\t\tb0s: s1b / s3b,\n\t\tb0i: s2b * l / s3b,\n\t\tb1s: s1b / (s3b + 126452),\n\t\tb1i: (s2b - 769860) * l / (s3b + 126452),\n\t};\n}\n\nfunction calcMaxChromaHsluv (lines, h) {\n\tconst hueRad = h / 360 * Math.PI * 2;\n\tconst r0 = distanceFromOriginAngle(lines.r0s, lines.r0i, hueRad);\n\tconst r1 = distanceFromOriginAngle(lines.r1s, lines.r1i, hueRad);\n\tconst g0 = distanceFromOriginAngle(lines.g0s, lines.g0i, hueRad);\n\tconst g1 = distanceFromOriginAngle(lines.g1s, lines.g1i, hueRad);\n\tconst b0 = distanceFromOriginAngle(lines.b0s, lines.b0i, hueRad);\n\tconst b1 = distanceFromOriginAngle(lines.b1s, lines.b1i, hueRad);\n\n\treturn Math.min(r0, r1, g0, g1, b0, b1);\n}\n\nexport default new ColorSpace({\n\tid: \"hsluv\",\n\tname: \"HSLuv\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: LCHuv,\n\tgamutSpace: sRGB,\n\n\t// Convert LCHuv to HSLuv\n\tfromBase (lch) {\n\t\tlet [l, c, h] = [skipNone(lch[0]), skipNone(lch[1]), skipNone(lch[2])];\n\t\tlet s;\n\n\t\tif (l > 99.9999999) {\n\t\t\ts = 0;\n\t\t\tl = 100;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\ts = 0;\n\t\t\tl = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHsluv(lines, h);\n\t\t\ts = c / max * 100;\n\t\t}\n\n\t\treturn [h, s, l];\n\t},\n\n\t// Convert HSLuv to LCHuv\n\ttoBase (hsl) {\n\t\tlet [h, s, l] = [skipNone(hsl[0]), skipNone(hsl[1]), skipNone(hsl[2])];\n\t\tlet c;\n\n\t\tif (l > 99.9999999) {\n\t\t\tl = 100;\n\t\t\tc = 0;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\tl = 0;\n\t\t\tc = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHsluv(lines, h);\n\t\t\tc = max / 100 * s;\n\t\t}\n\n\t\treturn [l, c, h];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hsluv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "/*\nAdapted from: https://github.com/hsluv/hsluv-javascript/blob/14b49e6cf9a9137916096b8487a5372626b57ba4/src/hsluv.ts\n\nCopyright (c) 2012-2022 Alexei Boronine\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 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\nimport ColorSpace from \"../space.js\";\nimport LCHuv from \"./lchuv.js\";\nimport {fromXYZ_M} from \"./srgb-linear.js\";\nimport {skipNone} from \"../util.js\";\nimport {calculateBoundingLines} from \"./hsluv.js\";\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nconst m_r0 = fromXYZ_M[0][0];\nconst m_r1 = fromXYZ_M[0][1];\nconst m_r2 = fromXYZ_M[0][2];\nconst m_g0 = fromXYZ_M[1][0];\nconst m_g1 = fromXYZ_M[1][1];\nconst m_g2 = fromXYZ_M[1][2];\nconst m_b0 = fromXYZ_M[2][0];\nconst m_b1 = fromXYZ_M[2][1];\nconst m_b2 = fromXYZ_M[2][2];\n\nfunction distanceFromOrigin (slope, intercept) {\n\treturn Math.abs(intercept) / Math.sqrt(Math.pow(slope, 2) + 1);\n}\n\nfunction calcMaxChromaHpluv (lines) {\n\tlet r0 = distanceFromOrigin(lines.r0s, lines.r0i);\n\tlet r1 = distanceFromOrigin(lines.r1s, lines.r1i);\n\tlet g0 = distanceFromOrigin(lines.g0s, lines.g0i);\n\tlet g1 = distanceFromOrigin(lines.g1s, lines.g1i);\n\tlet b0 = distanceFromOrigin(lines.b0s, lines.b0i);\n\tlet b1 = distanceFromOrigin(lines.b1s, lines.b1i);\n\n\treturn Math.min(r0, r1, g0, g1, b0, b1);\n}\n\nexport default new ColorSpace({\n\tid: \"hpluv\",\n\tname: \"HPLuv\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: LCHuv,\n\tgamutSpace: \"self\",\n\n\t// Convert LCHuv to HPLuv\n\tfromBase (lch) {\n\t\tlet [l, c, h] = [skipNone(lch[0]), skipNone(lch[1]), skipNone(lch[2])];\n\t\tlet s;\n\n\t\tif (l > 99.9999999) {\n\t\t\ts = 0;\n\t\t\tl = 100;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\ts = 0;\n\t\t\tl = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHpluv(lines);\n\t\t\ts = c / max * 100;\n\t\t}\n\t\treturn [h, s, l];\n\t},\n\n\t// Convert HPLuv to LCHuv\n\ttoBase (hsl) {\n\t\tlet [h, s, l] = [skipNone(hsl[0]), skipNone(hsl[1]), skipNone(hsl[2])];\n\t\tlet c;\n\n\t\tif (l > 99.9999999) {\n\t\t\tl = 100;\n\t\t\tc = 0;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\tl = 0;\n\t\t\tc = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHpluv(lines, h);\n\t\t\tc = max / 100 * s;\n\t\t}\n\n\t\treturn [l, c, h];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hpluv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n\nconst Yw = 203;\t// absolute luminance of media white, cd/m²\nconst n = 2610 / (2 ** 14);\nconst ninv = (2 ** 14) / 2610;\nconst m = 2523 / (2 ** 5);\nconst minv = (2 ** 5) / 2523;\nconst c1 = 3424 / (2 ** 12);\nconst c2 = 2413 / (2 ** 7);\nconst c3 = 2392 / (2 ** 7);\n\nexport default new RGBColorSpace({\n\tid: \"rec2100pq\",\n\tcssId: \"rec2100-pq\",\n\tname: \"REC.2100-PQ\",\n\tbase: REC2020Linear,\n\ttoBase (RGB) {\n\t\t// given PQ encoded component in range [0, 1]\n\t\t// return media-white relative linear-light\n\t\treturn RGB.map(function (val) {\n\t\t\tlet x = ((Math.max(((val ** minv) - c1), 0) / (c2 - (c3 * (val ** minv)))) ** ninv);\n\t\t\treturn (x * 10000 / Yw); \t// luminance relative to diffuse white, [0, 70 or so].\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\t// given media-white relative linear-light\n\t\t// returnPQ encoded component in range [0, 1]\n\t\treturn RGB.map(function (val) {\n\t\t\tlet x = Math.max(val * Yw / 10000, 0); \t// absolute luminance of peak white is 10,000 cd/m².\n\t\t\tlet num = (c1 + (c2 * (x ** n)));\n\t\t\tlet denom = (1 + (c3 * (x ** n)));\n\n\t\t\treturn ((num / denom) ** m);\n\t\t});\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n\n// FIXME see https://github.com/LeaVerou/color.js/issues/190\n\nconst a = 0.17883277;\nconst b = 0.28466892; // 1 - (4 * a)\nconst c = 0.55991073; // 0.5 - a * Math.log(4 *a)\n\nconst scale = 3.7743;\t// Place 18% grey at HLG 0.38, so media white at 0.75\n\nexport default new RGBColorSpace({\n\tid: \"rec2100hlg\",\n\tcssId: \"rec2100-hlg\",\n\tname: \"REC.2100-HLG\",\n\treferred: \"scene\",\n\n\tbase: REC2020Linear,\n\ttoBase (RGB) {\n\t\t// given HLG encoded component in range [0, 1]\n\t\t// return media-white relative linear-light\n\t\treturn RGB.map(function (val) {\n\t\t\t// first the HLG EOTF\n\t\t\t// ITU-R BT.2390-10 p.30 section\n\t\t\t// 6.3 The hybrid log-gamma electro-optical transfer function (EOTF)\n\t\t\t// Then scale by 3 so media white is 1.0\n\t\t\tif (val <= 0.5) {\n\t\t\t\treturn (val ** 2) / 3 * scale;\n\t\t\t}\n\t\t\treturn ((Math.exp((val - c) / a) + b) / 12) * scale;\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\t// given media-white relative linear-light\n\t\t// where diffuse white is 1.0,\n\t\t// return HLG encoded component in range [0, 1]\n\t\treturn RGB.map(function (val) {\n\t\t\t// first scale to put linear-light media white at 1/3\n\t\t\tval /= scale;\n\t\t\t// now the HLG OETF\n\t\t\t// ITU-R BT.2390-10 p.23\n\t\t\t// 6.1 The hybrid log-gamma opto-electronic transfer function (OETF)\n\t\t\tif (val <= 1 / 12) {\n\t\t\t\treturn Math.sqrt(3 * val);\n\t\t\t}\n\t\t\treturn a * Math.log(12 * val - b) + c;\n\t\t});\n\t},\n});\n", "import hooks from \"./hooks.js\";\nimport {multiplyMatrices} from \"./util.js\";\nimport {WHITES} from \"./adapt.js\";\n\nexport const CATs = {};\n\nhooks.add(\"chromatic-adaptation-start\", env => {\n\tif (env.options.method) {\n\t\tenv.M = adapt(env.W1, env.W2, env.options.method);\n\t}\n});\n\nhooks.add(\"chromatic-adaptation-end\", env => {\n\tif (!env.M) {\n\t\tenv.M = adapt(env.W1, env.W2, env.options.method);\n\t}\n});\n\nexport function defineCAT ({id, toCone_M, fromCone_M}) {\n\t// Use id, toCone_M, fromCone_M like variables\n\tCATs[id] = arguments[0];\n}\n\nexport function adapt (W1, W2, id = \"Bradford\") {\n\t// adapt from a source whitepoint or illuminant W1\n\t// to a destination whitepoint or illuminant W2,\n\t// using the given chromatic adaptation transform (CAT)\n\t// debugger;\n\tlet method = CATs[id];\n\n\tlet [ρs, γs, βs] = multiplyMatrices(method.toCone_M, W1);\n\tlet [ρd, γd, βd] = multiplyMatrices(method.toCone_M, W2);\n\n\t// all practical illuminants have non-zero XYZ so no division by zero can occur below\n\tlet scale = [\n\t\t[ρd / ρs, 0, 0 ],\n\t\t[0, γd / γs, 0 ],\n\t\t[0, 0, βd / βs],\n\t];\n\t// console.log({scale});\n\n\tlet scaled_cone_M = multiplyMatrices(scale, method.toCone_M);\n\tlet adapt_M\t= multiplyMatrices(method.fromCone_M, scaled_cone_M);\n\t// console.log({scaled_cone_M, adapt_M});\n\treturn adapt_M;\n}\n\ndefineCAT({\n\tid: \"von Kries\",\n\ttoCone_M: [\n\t\t[ 0.4002400, 0.7076000, -0.0808100 ],\n\t\t[ -0.2263000, 1.1653200, 0.0457000 ],\n\t\t[ 0.0000000, 0.0000000, 0.9182200 ],\n\t],\n\tfromCone_M: [\n\t\t[ 1.8599363874558397, -1.1293816185800916, 0.21989740959619328 ],\n\t\t[ 0.3611914362417676, 0.6388124632850422, -0.000006370596838649899 ],\n\t\t[ 0, 0, 1.0890636230968613 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"Bradford\",\n\t// Convert an array of XYZ values in the range 0.0 - 1.0\n\t// to cone fundamentals\n\ttoCone_M: [\n\t\t[ 0.8951000, 0.2664000, -0.1614000 ],\n\t\t[ -0.7502000, 1.7135000, 0.0367000 ],\n\t\t[ 0.0389000, -0.0685000, 1.0296000 ],\n\t],\n\t// and back\n\tfromCone_M: [\n\t\t[ 0.9869929054667121, -0.14705425642099013, 0.15996265166373122 ],\n\t\t[ 0.4323052697233945, 0.5183602715367774, 0.049291228212855594 ],\n\t\t[ -0.00852866457517732, 0.04004282165408486, 0.96848669578755 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"CAT02\",\n\t// with complete chromatic adaptation to W2, so D = 1.0\n\ttoCone_M: [\n\t\t[ 0.7328000, 0.4296000, -0.1624000 ],\n\t\t[ -0.7036000, 1.6975000, 0.0061000 ],\n\t\t[ 0.0030000, 0.0136000, 0.9834000 ],\n\t],\n\tfromCone_M: [\n\t\t[ 1.0961238208355142, -0.27886900021828726, 0.18274517938277307 ],\n\t\t[ 0.4543690419753592, 0.4735331543074117, 0.07209780371722911 ],\n\t\t[ -0.009627608738429355, -0.00569803121611342, 1.0153256399545427 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"CAT16\",\n\ttoCone_M: [\n\t\t[ 0.401288, 0.650173, -0.051461 ],\n\t\t[ -0.250268, 1.204414, 0.045854 ],\n\t\t[ -0.002079, 0.048952, 0.953127 ],\n\t],\n\t// the extra precision is needed to avoid roundtripping errors\n\tfromCone_M: [\n\t\t[ 1.862067855087233, -1.0112546305316845, 0.14918677544445172 ],\n\t\t[ 0.3875265432361372, 0.6214474419314753, -0.008973985167612521 ],\n\t\t[ -0.01584149884933386, -0.03412293802851557, 1.0499644368778496 ],\n\t],\n});\n\nObject.assign(WHITES, {\n\t// whitepoint values from ASTM E308-01 with 10nm spacing, 1931 2 degree observer\n\t// all normalized to Y (luminance) = 1.00000\n\t// Illuminant A is a tungsten electric light, giving a very warm, orange light.\n\tA: [1.09850, 1.00000, 0.35585],\n\n\t// Illuminant C was an early approximation to daylight: illuminant A with a blue filter.\n\tC: [0.98074, 1.000000, 1.18232],\n\n\t// The daylight series of illuminants simulate natural daylight.\n\t// The color temperature (in degrees Kelvin/100) ranges from\n\t// cool, overcast daylight (D50) to bright, direct sunlight (D65).\n\tD55: [0.95682, 1.00000, 0.92149],\n\tD75: [0.94972, 1.00000, 1.22638],\n\n\t// Equal-energy illuminant, used in two-stage CAT16\n\tE: [1.00000, 1.00000, 1.00000],\n\n\t// The F series of illuminants represent fluorescent lights\n\tF2: [0.99186, 1.00000, 0.67393],\n\tF7: [0.95041, 1.00000, 1.08747],\n\tF11: [1.00962, 1.00000, 0.64350],\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport {WHITES} from \"../adapt.js\";\nimport \"../CATs.js\"; // because of the funky whitepoint\n\n// The ACES whitepoint\n// see TB-2018-001 Derivation of the ACES White Point CIE Chromaticity Coordinates\n// also https://github.com/ampas/aces-dev/blob/master/documents/python/TB-2018-001/aces_wp.py\n// Similar to D60\nWHITES.ACES = [0.32168 / 0.33767, 1.00000, (1.00000 - 0.32168 - 0.33767) / 0.33767];\n\n// convert an array of linear-light ACEScc values to CIE XYZ\nconst toXYZ_M = [\n\t[ 0.6624541811085053, 0.13400420645643313, 0.1561876870049078 ],\n\t[ 0.27222871678091454, 0.6740817658111484, 0.05368951740793705 ],\n\t[ -0.005574649490394108, 0.004060733528982826, 1.0103391003129971 ],\n];\nconst fromXYZ_M = [\n\t[ 1.6410233796943257, -0.32480329418479, -0.23642469523761225 ],\n\t[ -0.6636628587229829, 1.6153315916573379, 0.016756347685530137 ],\n\t[ 0.011721894328375376, -0.008284441996237409, 0.9883948585390215 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"acescg\",\n\tcssId: \"--acescg\",\n\tname: \"ACEScg\",\n\n\t// ACEScg – A scene-referred, linear-light encoding of ACES Data\n\t// https://docs.acescentral.com/specifications/acescg/\n\t// uses the AP1 primaries, see section 4.3.1 Color primaries\n\tcoords: {\n\t\tr: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Red\",\n\t\t},\n\t\tg: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Green\",\n\t\t},\n\t\tb: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Blue\",\n\t\t},\n\t},\n\n\treferred: \"scene\",\n\n\twhite: WHITES.ACES,\n\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n\n// export default Color;\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport \"../CATs.js\"; // because of the funky whitepoint\nimport ACEScg from \"./acescg.js\";\n\nconst ε = 2 ** -16;\n\n// the smallest value which, in the 32bit IEEE 754 float encoding,\n// decodes as a non-negative value\nconst ACES_min_nonzero = -0.35828683;\n\n// brightest encoded value, decodes to 65504\nconst ACES_cc_max = (Math.log2(65504) + 9.72) / 17.52; // 1.468\n\nexport default new RGBColorSpace({\n\tid: \"acescc\",\n\tcssId: \"--acescc\",\n\tname: \"ACEScc\",\n\t// see S-2014-003 ACEScc – A Logarithmic Encoding of ACES Data\n\t// https://docs.acescentral.com/specifications/acescc/\n\t// uses the AP1 primaries, see section 4.3.1 Color primaries\n\n\t// Appendix A: \"Very small ACES scene referred values below 7 1/4 stops\n\t// below 18% middle gray are encoded as negative ACEScc values.\n\t// These values should be preserved per the encoding in Section 4.4\n\t// so that all positive ACES values are maintained.\"\n\tcoords: {\n\t\tr: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Red\",\n\t\t},\n\t\tg: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Green\",\n\t\t},\n\t\tb: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Blue\",\n\t\t},\n\t},\n\treferred: \"scene\",\n\n\tbase: ACEScg,\n\t// from section 4.4.2 Decoding Function\n\ttoBase (RGB) {\n\t\tconst low = (9.72 - 15) / 17.52; // -0.3014\n\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val <= low) {\n\t\t\t\treturn (2 ** ((val * 17.52) - 9.72) - ε) * 2; // very low values, below -0.3014\n\t\t\t}\n\t\t\telse if (val < ACES_cc_max) {\n\t\t\t\treturn 2 ** ((val * 17.52) - 9.72);\n\t\t\t}\n\t\t\telse { // val >= ACES_cc_max\n\t\t\t\treturn 65504;\n\t\t\t}\n\t\t});\n\t},\n\n\t// Non-linear encoding function from S-2014-003, section 4.4.1 Encoding Function\n\tfromBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val <= 0) {\n\t\t\t\treturn (Math.log2(ε) + 9.72) / 17.52; // -0.3584\n\t\t\t}\n\t\t\telse if (val < ε) {\n\t\t\t\treturn (Math.log2(ε + val * 0.5) + 9.72) / 17.52;\n\t\t\t}\n\t\t\telse { // val >= ε\n\t\t\t\treturn (Math.log2(val) + 9.72) / 17.52;\n\t\t\t}\n\t\t});\n\t},\n\t// encoded media white (rgb 1,1,1) => linear [ 222.861, 222.861, 222.861 ]\n\t// encoded media black (rgb 0,0,0) => linear [ 0.0011857, 0.0011857, 0.0011857]\n});\n", "import * as util from \"./util.js\";\nimport hooks from \"./hooks.js\";\nimport defaults from \"./defaults.js\";\nimport ColorSpace from \"./space.js\";\nimport {WHITES} from \"./adapt.js\";\nimport {\n\tgetColor,\n\tparse,\n\tto,\n\tserialize,\n\tinGamut,\n\ttoGamut,\n\tdistance,\n\tequals,\n\tget,\n\tgetAll,\n\tset,\n\tsetAll,\n\tdisplay,\n} from \"./index-fn.js\";\n\n\nimport \"./spaces/xyz-d50.js\";\nimport \"./spaces/srgb.js\";\n\n/**\n * Class that represents a color\n */\nexport default class Color {\n\t/**\n\t * Creates an instance of Color.\n\t * Signatures:\n\t * - `new Color(stringToParse)`\n\t * - `new Color(otherColor)`\n\t * - `new Color({space, coords, alpha})`\n\t * - `new Color(space, coords, alpha)`\n\t * - `new Color(spaceId, coords, alpha)`\n\t */\n\tconstructor (...args) {\n\t\tlet color;\n\n\t\tif (args.length === 1) {\n\t\t\tcolor = getColor(args[0]);\n\t\t}\n\n\t\tlet space, coords, alpha;\n\n\t\tif (color) {\n\t\t\tspace = color.space || color.spaceId;\n\t\t\tcoords = color.coords;\n\t\t\talpha = color.alpha;\n\t\t}\n\t\telse {\n\t\t\t// default signature new Color(ColorSpace, array [, alpha])\n\t\t\t[space, coords, alpha] = args;\n\t\t}\n\n\t\tObject.defineProperty(this, \"space\", {\n\t\t\tvalue: ColorSpace.get(space),\n\t\t\twritable: false,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true, // see note in https://262.ecma-international.org/8.0/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver\n\t\t});\n\n\t\tthis.coords = coords ? coords.slice() : [0, 0, 0];\n\n\t\t// Clamp alpha to [0, 1]\n\t\tthis.alpha = alpha > 1 || alpha === undefined ? 1 : (alpha < 0 ? 0 : alpha);\n\n\t\t// Convert \"NaN\" to NaN\n\t\tfor (let i = 0; i < this.coords.length; i++) {\n\t\t\tif (this.coords[i] === \"NaN\") {\n\t\t\t\tthis.coords[i] = NaN;\n\t\t\t}\n\t\t}\n\n\t\t// Define getters and setters for each coordinate\n\t\tfor (let id in this.space.coords) {\n\t\t\tObject.defineProperty(this, id, {\n\t\t\t\tget: () => this.get(id),\n\t\t\t\tset: value => this.set(id, value),\n\t\t\t});\n\t\t}\n\t}\n\n\tget spaceId () {\n\t\treturn this.space.id;\n\t}\n\n\tclone () {\n\t\treturn new Color(this.space, this.coords, this.alpha);\n\t}\n\n\ttoJSON () {\n\t\treturn {\n\t\t\tspaceId: this.spaceId,\n\t\t\tcoords: this.coords,\n\t\t\talpha: this.alpha,\n\t\t};\n\t}\n\n\tdisplay (...args) {\n\t\tlet ret = display(this, ...args);\n\n\t\t// Convert color object to Color instance\n\t\tret.color = new Color(ret.color);\n\n\t\treturn ret;\n\t}\n\n\t/**\n\t * Get a color from the argument passed\n\t * Basically gets us the same result as new Color(color) but doesn't clone an existing color object\n\t */\n\tstatic get (color, ...args) {\n\t\tif (color instanceof Color) {\n\t\t\treturn color;\n\t\t}\n\n\t\treturn new Color(color, ...args);\n\t}\n\n\tstatic defineFunction (name, code, o = code) {\n\t\tlet {instance = true, returns} = o;\n\n\t\tlet func = function (...args) {\n\t\t\tlet ret = code(...args);\n\n\t\t\tif (returns === \"color\") {\n\t\t\t\tret = Color.get(ret);\n\t\t\t}\n\t\t\telse if (returns === \"function<color>\") {\n\t\t\t\tlet f = ret;\n\t\t\t\tret = function (...args) {\n\t\t\t\t\tlet ret = f(...args);\n\t\t\t\t\treturn Color.get(ret);\n\t\t\t\t};\n\t\t\t\t// Copy any function metadata\n\t\t\t\tObject.assign(ret, f);\n\t\t\t}\n\t\t\telse if (returns === \"array<color>\") {\n\t\t\t\tret = ret.map(c => Color.get(c));\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t};\n\n\t\tif (!(name in Color)) {\n\t\t\tColor[name] = func;\n\t\t}\n\n\t\tif (instance) {\n\t\t\tColor.prototype[name] = function (...args) {\n\t\t\t\treturn func(this, ...args);\n\t\t\t};\n\t\t}\n\t}\n\n\tstatic defineFunctions (o) {\n\t\tfor (let name in o) {\n\t\t\tColor.defineFunction(name, o[name], o[name]);\n\t\t}\n\t}\n\n\tstatic extend (exports) {\n\t\tif (exports.register) {\n\t\t\texports.register(Color);\n\t\t}\n\t\telse {\n\t\t\t// No register method, just add the module's functions\n\t\t\tfor (let name in exports) {\n\t\t\t\tColor.defineFunction(name, exports[name]);\n\t\t\t}\n\t\t}\n\t}\n}\n\nColor.defineFunctions({\n\tget,\n\tgetAll,\n\tset,\n\tsetAll,\n\tto,\n\tequals,\n\tinGamut,\n\ttoGamut,\n\tdistance,\n\ttoString: serialize,\n});\n\nObject.assign(Color, {\n\tutil,\n\thooks,\n\tWHITES,\n\tSpace: ColorSpace,\n\tspaces: ColorSpace.registry,\n\tparse,\n\n\t// Global defaults one may want to configure\n\tdefaults,\n});\n", "import ColorSpace from \"../space.js\";\nimport * as spaces from \"./index-fn.js\";\n\nexport * as spaces from \"./index-fn.js\";\n\nfor (let key of Object.keys(spaces)) {\n\tColorSpace.register(spaces[key]);\n}\n", "/**\n * This plugin defines getters and setters for color[spaceId]\n * e.g. color.lch on *any* color gives us the lch coords\n */\nimport ColorSpace from \"./space.js\";\nimport Color from \"./color.js\";\nimport hooks from \"./hooks.js\";\n\n// Add space accessors to existing color spaces\nfor (let id in ColorSpace.registry) {\n\taddSpaceAccessors(id, ColorSpace.registry[id]);\n}\n\n// Add space accessors to color spaces not yet created\nhooks.add(\"colorspace-init-end\", space => {\n\taddSpaceAccessors(space.id, space);\n\tspace.aliases?.forEach(alias => {\n\t\taddSpaceAccessors(alias, space);\n\t});\n});\n\nfunction addSpaceAccessors (id, space) {\n\tlet propId = id.replace(/-/g, \"_\");\n\n\tObject.defineProperty(Color.prototype, propId, {\n\t\t// Convert coords to coords in another colorspace and return them\n\t\t// Source colorspace: this.spaceId\n\t\t// Target colorspace: id\n\t\tget () {\n\t\t\tlet ret = this.getAll(id);\n\n\t\t\tif (typeof Proxy === \"undefined\") {\n\t\t\t\t// If proxies are not supported, just return a static array\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Enable color.spaceId.coordName syntax\n\t\t\treturn new Proxy(ret, {\n\t\t\t\thas: (obj, property) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tColorSpace.resolveCoord([space, property]);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tcatch (e) {}\n\n\t\t\t\t\treturn Reflect.has(obj, property);\n\t\t\t\t},\n\t\t\t\tget: (obj, property, receiver) => {\n\t\t\t\t\tif (property && typeof property !== \"symbol\" && !(property in obj)) {\n\t\t\t\t\t\tlet {index} = ColorSpace.resolveCoord([space, property]);\n\n\t\t\t\t\t\tif (index >= 0) {\n\t\t\t\t\t\t\treturn obj[index];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Reflect.get(obj, property, receiver);\n\t\t\t\t},\n\t\t\t\tset: (obj, property, value, receiver) => {\n\t\t\t\t\tif (property && typeof property !== \"symbol\" && !(property in obj) || property >= 0) {\n\t\t\t\t\t\tlet {index} = ColorSpace.resolveCoord([space, property]);\n\n\t\t\t\t\t\tif (index >= 0) {\n\t\t\t\t\t\t\tobj[index] = value;\n\n\t\t\t\t\t\t\t// Update color.coords\n\t\t\t\t\t\t\tthis.setAll(id, obj);\n\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Reflect.set(obj, property, value, receiver);\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t\t// Convert coords in another colorspace to internal coords and set them\n\t\t// Target colorspace: this.spaceId\n\t\t// Source colorspace: id\n\t\tset (coords) {\n\t\t\tthis.setAll(id, coords);\n\t\t},\n\t\tconfigurable: true,\n\t\tenumerable: true,\n\t});\n}\n", "// Import all modules of Color.js\nimport Color from \"./color.js\";\n\n// Import all color spaces\nimport \"./spaces/index.js\";\n\n// Import all DeltaE methods\nimport deltaE from \"./deltaE.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\n\nColor.extend(deltaEMethods);\nColor.extend({deltaE});\nObject.assign(Color, {deltaEMethods});\n\n// Import optional modules\nimport * as variations from \"./variations.js\";\nColor.extend(variations);\n\nimport contrast from \"./contrast.js\";\nColor.extend({contrast});\n\nimport * as chromaticity from \"./chromaticity.js\";\nColor.extend(chromaticity);\n\nimport * as luminance from \"./luminance.js\";\nColor.extend(luminance);\n\nimport * as interpolation from \"./interpolation.js\";\nColor.extend(interpolation);\n\nimport * as contrastMethods from \"./contrast/index.js\";\nColor.extend(contrastMethods);\n\nimport \"./CATs.js\";\nimport \"./space-accessors.js\";\n\n// Re-export everything\nexport default Color;\n"], + "mappings": "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S,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,uBAAuB,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAK,GAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,GAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,KAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAO,IAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,C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,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAO,KAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY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", + "names": ["require_lite", "__commonJSMin", "exports", "has", "dequal", "foo", "bar", "ctor", "len", "require_useDeepMemo", "__commonJSMin", "exports", "react_1", "lite_1", "useDeepMemo", "value", "ref", "signalRef", "require_useLatest", "__commonJSMin", "exports", "react_1", "useLatest", "value", "ref", "require_showFailureToast", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__setModuleDefault", "v", "__importStar", "mod", "result", "fs", "path", "api_1", "showFailureToast", "error", "options", "message", "handleErrorToastAction", "privateExtension", "title", "extensionURL", "packageJSON", "fallback", "stack", "toast", "require_usePromise", "__commonJSMin", "exports", "react_1", "api_1", "useDeepMemo_1", "useLatest_1", "showFailureToast_1", "usePromise", "fn", "args", "options", "lastCallId", "state", "set", "fnRef", "latestAbortable", "latestArgs", "latestOnError", "latestOnData", "latestOnWillExecute", "latestFailureToast", "latestValue", "latestCallback", "paginationArgsRef", "usePaginationRef", "hasMoreRef", "pageSizeRef", "callback", "callId", "prevState", "promiseOrPaginatedPromise", "bindPromiseIfNeeded", "handleError", "error", "toast", "data", "hasMore", "cursor", "previousData", "revalidate", "mutate", "asyncUpdate", "dataBeforeOptimisticUpdate", "update", "err", "onLoadMore", "isLoading", "stateWithLoadingFixed", "pagination", "require_object_hash", "__commonJSMin", "exports", "module", "crypto", "objectHash", "object", "options", "applyDefaults", "hash", "hashes", "encodings", "sourceOptions", "i", "isNativeFunction", "f", "exp", "hashingStream", "PassThrough", "hasher", "typeHasher", "buf", "stream", "writeTo", "context", "write", "str", "value", "type", "pattern", "objString", "objType", "objectNumber", "keys", "key", "self", "arr", "unordered", "entry", "contextAdditions", "entries", "strm", "localContext", "date", "sym", "err", "bool", "string", "fn", "number", "xml", "regex", "url", "map", "set", "file", "b", "require_helpers", "__commonJSMin", "exports", "__importDefault", "mod", "object_hash_1", "replacer", "key", "_value", "value", "reviver", "_key", "hash", "object", "options", "require_useCachedState", "__commonJSMin", "exports", "react_1", "api_1", "useLatest_1", "helpers_1", "rootCache", "cacheMap", "useCachedState", "key", "initialState", "config", "cacheKey", "cache", "keyRef", "initialValueRef", "cachedState", "error", "state", "err", "stateRef", "setStateAndCache", "updater", "newValue", "stringifiedValue", "require_useCachedPromise", "__commonJSMin", "exports", "react_1", "useCachedState_1", "usePromise_1", "useLatest_1", "helpers_1", "emptyCache", "useCachedPromise", "fn", "args", "options", "initialData", "keepPreviousData", "internal_cacheKeySuffix", "usePromiseOptions", "lastUpdateFrom", "cachedData", "mutateCache", "laggyDataRef", "paginationArgsRef", "_mutate", "revalidate", "state", "data", "pagination", "returnedData", "latestData", "mutate", "asyncUpdate", "dataBeforeOptimisticUpdate", "err", "require_lib", "__commonJSMin", "exports", "module", "conversions", "sign", "x", "evenRound", "createNumberConversion", "bitLength", "typeOpts", "lowerBound", "upperBound", "moduloVal", "moduloBound", "V", "opts", "val", "c", "i", "S", "n", "U", "d", "a", "b", "require_utils", "__commonJSMin", "exports", "module", "target", "source", "keys", "i", "impl", "wrapper", "require_mappingTable", "__commonJSMin", "exports", "module", "require_tr46", "__commonJSMin", "exports", "module", "punycode", "mappingTable", "PROCESSING_OPTIONS", "normalize", "str", "s", "findStatus", "val", "start", "end", "mid", "target", "regexAstralSymbols", "countSymbols", "string", "mapChars", "domain_name", "useSTD3", "processing_option", "hasError", "processed", "len", "codePoint", "status", "combiningMarksRegex", "validateLabel", "label", "error", "i", "processing", "result", "labels", "validation", "verifyDnsLength", "l", "total", "require_url_state_machine", "__commonJSMin", "exports", "module", "punycode", "tr46", "specialSchemes", "failure", "countSymbols", "str", "at", "input", "idx", "c", "isASCIIDigit", "isASCIIAlpha", "isASCIIAlphanumeric", "isASCIIHex", "isSingleDot", "buffer", "isDoubleDot", "isWindowsDriveLetterCodePoints", "cp1", "cp2", "isWindowsDriveLetterString", "string", "isNormalizedWindowsDriveLetterString", "containsForbiddenHostCodePoint", "containsForbiddenHostCodePointExcludingPercent", "isSpecialScheme", "scheme", "isSpecial", "url", "defaultPort", "percentEncode", "hex", "utf8PercentEncode", "buf", "i", "utf8PercentDecode", "output", "isC0ControlPercentEncode", "extraPathPercentEncodeSet", "isPathPercentEncode", "extraUserinfoPercentEncodeSet", "isUserinfoPercentEncode", "percentEncodeChar", "encodeSetPredicate", "cStr", "parseIPv4Number", "R", "parseIPv4", "parts", "numbers", "part", "n", "ipv4", "counter", "serializeIPv4", "address", "parseIPv6", "pieceIndex", "compress", "pointer", "value", "length", "numbersSeen", "ipv4Piece", "number", "swaps", "temp", "serializeIPv6", "findLongestZeroSequence", "ignore0", "parseHost", "isSpecialArg", "parseOpaqueHost", "domain", "asciiDomain", "ipv4Host", "decoded", "arr", "maxIdx", "maxLen", "currStart", "currLen", "serializeHost", "host", "trimControlChars", "trimTabAndNewline", "shortenPath", "path", "isNormalizedWindowsDriveLetter", "includesCredentials", "cannotHaveAUsernamePasswordPort", "URLStateMachine", "base", "encodingOverride", "stateOverride", "res", "ret", "len", "codePoint", "encodedCodePoints", "port", "fileOtherwiseCodePoints", "serializeURL", "excludeFragment", "serializeOrigin", "tuple", "result", "options", "usm", "username", "password", "integer", "require_URL_impl", "__commonJSMin", "exports", "usm", "constructorArgs", "url", "base", "parsedBase", "parsedURL", "v", "input", "require_URL", "__commonJSMin", "exports", "module", "conversions", "utils", "Impl", "impl", "URL", "url", "args", "i", "V", "obj", "constructorArgs", "privateData", "require_public_api", "__commonJSMin", "exports", "require_lib", "__commonJSMin", "exports", "module", "_interopDefault", "ex", "Stream", "http", "Url", "whatwgUrl", "https", "zlib", "Readable", "BUFFER", "TYPE", "Blob", "_Blob", "blobParts", "options", "buffers", "size", "a", "length", "i", "element", "buffer", "type", "buf", "ab", "readable", "start", "end", "relativeStart", "relativeEnd", "span", "slicedBuffer", "blob", "FetchError", "message", "systemError", "convert", "INTERNALS", "PassThrough", "Body", "body", "_this", "_ref", "_ref$size", "_ref$timeout", "timeout", "isURLSearchParams", "isBlob", "err", "error", "consumeBody", "ct", "_this2", "_this3", "convertBody", "proto", "name", "desc", "_this4", "accum", "accumBytes", "abort", "resolve", "reject", "resTimeout", "chunk", "headers", "charset", "res", "str", "obj", "clone", "instance", "p1", "p2", "extractContentType", "getTotalBytes", "writeToStream", "dest", "invalidTokenRegex", "invalidHeaderCharRegex", "validateName", "validateValue", "value", "find", "map", "key", "MAP", "Headers", "_Headers", "init", "rawHeaders", "headerNames", "headerName", "method", "pairs", "pair", "callback", "thisArg", "getHeaders", "_pairs$i", "createHeadersIterator", "kind", "k", "INTERNAL", "target", "iterator", "HeadersIteratorPrototype", "_INTERNAL", "index", "values", "len", "exportNodeCompatibleHeaders", "hostHeaderKey", "createHeadersLenient", "val", "INTERNALS$1", "STATUS_CODES", "Response", "_Response", "opts", "status", "contentType", "INTERNALS$2", "URL", "parse_url", "format_url", "parseURL", "urlStr", "streamDestructionSupported", "isRequest", "input", "isAbortSignal", "signal", "Request", "_Request", "parsedURL", "inputBody", "getNodeRequestOptions", "request", "contentLengthValue", "totalBytes", "agent", "AbortError", "URL$1", "PassThrough$1", "isDomainOrSubdomain", "destination", "original", "orig", "isSameProtocol", "fetch", "url", "send", "response", "destroyStream", "abortAndFinalize", "finalize", "req", "reqTimeout", "socket", "fixResponseChunkedTransferBadEnding", "s", "hadError", "hasDataListener", "location", "locationURL", "requestOpts", "response_options", "codings", "zlibOptions", "raw", "errorCallback", "stream", "code", "require_node_ponyfill", "__commonJSMin", "exports", "module", "nodeFetch", "realFetch", "fetch", "url", "options", "require_fetch_utils", "__commonJSMin", "exports", "isJSON", "contentTypeHeader", "mediaType", "parseContentType", "MEDIA_TYPE_REGEXP", "header", "headerDelimitationindex", "contentType", "match", "type", "subtype", "suffix", "index", "require_useFetch", "__commonJSMin", "exports", "react_1", "useCachedPromise_1", "useLatest_1", "cross_fetch_1", "fetch_utils_1", "helpers_1", "defaultParsing", "response", "contentTypeHeader", "defaultMapping", "result", "useFetch", "url", "options", "parseResponse", "mapResult", "initialData", "execute", "keepPreviousData", "onError", "onData", "onWillExecute", "failureToastOptions", "fetchOptions", "useCachedPromiseOptions", "parseResponseRef", "mapResultRef", "urlRef", "firstPageUrlRef", "firstPageUrl", "abortable", "paginatedFn", "pagination", "res", "parsed", "fn", "promise", "exports", "signals_js_1", "exports", "processOk", "process", "kExitEmitter", "global", "ObjectDefineProperty", "Emitter", "ev", "fn", "list", "i", "code", "signal", "ret", "SignalExitBase", "signalExitWrap", "handler", "cb", "opts", "SignalExitFallback", "SignalExit", "#hupSig", "#emitter", "#process", "#originalProcessEmit", "#originalProcessReallyExit", "#sigListeners", "#loaded", "sig", "listeners", "count", "p", "s", "a", "#processEmit", "#processReallyExit", "listener", "args", "og", "_a", "require_exec_utils", "__commonJSMin", "exports", "__importDefault", "mod", "node_buffer_1", "node_stream_1", "node_util_1", "signal_exit_1", "getSpawnedPromise", "spawned", "timeout", "spawnedPromise", "resolve", "reject", "exitCode", "signal", "error", "timeoutId", "timeoutPromise", "_resolve", "safeSpawnedPromise", "removeExitHandler", "MaxBufferError", "streamPipelinePromisified", "bufferStream", "options", "encoding", "isBuffer", "stream", "length", "chunks", "chunk", "getStream", "inputStream", "rejectPromise", "getBufferedData", "streamPromise", "getSpawnedResult", "stdout", "stderr", "processDone", "stdoutPromise", "stderrPromise", "stripFinalNewline", "input", "LF", "CR", "handleOutput", "value", "getErrorPrefix", "timedOut", "makeError", "command", "parentError", "execaMessage", "shortMessage", "message", "defaultParsing", "require_useExec", "__commonJSMin", "exports", "__importDefault", "mod", "node_child_process_1", "react_1", "useCachedPromise_1", "useLatest_1", "exec_utils_1", "SPACES_REGEXP", "parseCommand", "command", "args", "tokens", "token", "previousToken", "useExec", "optionsOrArgs", "options", "parseOutput", "input", "onData", "onWillExecute", "initialData", "execute", "keepPreviousData", "onError", "failureToastOptions", "execOptions", "useCachedPromiseOptions", "abortable", "parseOutputRef", "fn", "_command", "_args", "_options", "file", "spawned", "spawnedPromise", "error", "exitCode", "signal", "timedOut", "stdoutResult", "stderrResult", "stdout", "stderr", "require_stream_chain", "__commonJSMin", "exports", "module", "Readable", "Writable", "Duplex", "Transform", "none", "finalSymbol", "manySymbol", "final", "value", "many", "values", "isFinal", "o", "isMany", "getFinalValue", "getManyValues", "runAsyncGenerator", "gen", "stream", "data", "Chain", "wrapFunction", "fn", "chunk", "encoding", "callback", "result", "error", "wrapArray", "fns", "i", "isReadableNodeStream", "obj", "isWritableNodeStream", "isDuplexNodeStream", "_Chain", "options", "index", "s", "output", "_1", "_2", "e", "require_Utf8Stream", "__commonJSMin", "exports", "module", "Transform", "StringDecoder", "Utf8Stream", "options", "chunk", "encoding", "callback", "_", "require_Parser", "__commonJSMin", "exports", "module", "Utf8Stream", "patterns", "MAX_PATTERN_SIZE", "noSticky", "key", "src", "values", "expected", "fromHex", "s", "codes", "Parser", "_Parser", "options", "callback", "error", "match", "value", "index", "main", "t", "require_emit", "__commonJSMin", "exports", "module", "emit", "stream", "item", "require_stream_json", "__commonJSMin", "exports", "module", "Parser", "emit", "make", "options", "require_FilterBase", "__commonJSMin", "exports", "module", "Transform", "FilterBase", "_FilterBase", "string", "separator", "stack", "path", "regExp", "array", "options", "filter", "replacement", "chunk", "_", "callback", "passValue", "last", "post", "expected", "skipValue", "require_withParser", "__commonJSMin", "exports", "module", "Chain", "Parser", "withParser", "fn", "options", "require_Pick", "__commonJSMin", "exports", "module", "FilterBase", "withParser", "Pick", "_Pick", "options", "chunk", "require_Assembler", "__commonJSMin", "exports", "module", "EventEmitter", "startObject", "Ctr", "Assembler", "_Assembler", "stream", "options", "chunk", "path", "i", "key", "level", "index", "value", "require_StreamBase", "__commonJSMin", "exports", "module", "Transform", "Assembler", "Counter", "initialDepth", "StreamBase", "options", "chunk", "encoding", "callback", "result", "require_StreamArray", "__commonJSMin", "exports", "module", "StreamBase", "withParser", "StreamArray", "_StreamArray", "options", "chunk", "_", "callback", "discard", "require_useStreamJSON", "__commonJSMin", "exports", "__importDefault", "mod", "api_1", "cross_fetch_1", "node_fs_1", "promises_1", "node_path_1", "promises_2", "react_1", "stream_chain_1", "stream_json_1", "Pick_1", "StreamArray_1", "fetch_utils_1", "useCachedPromise_1", "helpers_1", "cache", "url", "destination", "fetchOptions", "cacheURL", "cacheFile", "response", "source", "abortSignal", "cacheURLIfNecessary", "folder", "fileName", "forceUpdate", "stats", "headResponse", "lastModified", "streamJsonFile", "filePath", "pageSize", "dataPath", "filterFn", "transformFn", "page", "pipeline", "data", "e", "useStreamJSON", "options", "initialData", "execute", "keepPreviousData", "onError", "onData", "onWillExecute", "failureToastOptions", "filter", "transform", "previousUrl", "previousDestination", "useCachedPromiseOptions", "generatorRef", "controllerRef", "hasMoreRef", "forceCacheUpdate", "newData", "done", "require_useSQL", "__commonJSMin", "exports", "__importDefault", "mod", "jsx_runtime_1", "api_1", "node_fs_1", "promises_1", "node_os_1", "node_child_process_1", "node_path_1", "react_1", "usePromise_1", "useLatest_1", "exec_utils_1", "showFailureToast_1", "helpers_1", "useSQL", "databasePath", "query", "options", "permissionPriming", "usePromiseOptions", "permissionView", "setPermissionView", "latestOptions", "abortable", "handleError", "_error", "error", "PermissionError", "isPermissionError", "PermissionErrorScreen", "fn", "workaroundCopiedDb", "abortSignal", "spawned", "spawnedPromise", "exitCode", "signal", "stdoutResult", "stderrResult", "checkAborted", "tempFolder", "message", "macosVenturaAndLater", "preferencesString", "props", "action", "require_useForm", "__commonJSMin", "exports", "react_1", "useLatest_1", "FormValidation", "validationError", "validation", "value", "valueIsValid", "useForm", "props", "_onSubmit", "initialValues", "values", "setValues", "errors", "setErrors", "refs", "latestValidation", "latestOnSubmit", "focus", "id", "handleSubmit", "validationErrors", "error", "result", "setValidationError", "setValue", "itemProps", "target", "event", "instance", "reset", "ref", "require_useAI", "__commonJSMin", "exports", "react_1", "api_1", "usePromise_1", "useAI", "prompt", "options", "creativity", "stream", "model", "usePromiseOptions", "data", "setData", "abortable", "isLoading", "error", "revalidate", "shouldStream", "x", "require_useFrecencySorting", "__commonJSMin", "exports", "react_1", "useLatest_1", "useCachedState_1", "HALF_LIFE_DAYS", "MS_PER_DAY", "DECAY_RATE_CONSTANT", "VISIT_TYPE_POINTS", "getNewFrecency", "item", "now", "lastVisited", "frecency", "visitAgeInDays", "currentVisitValue", "totalVisitValue", "defaultKey", "useFrecencySorting", "data", "options", "keyRef", "sortUnvisitedRef", "storedFrecencies", "setStoredFrecencies", "visitItem", "itemKey", "newFrecency", "resetRanking", "newFrencencies", "a", "b", "frecencyA", "frecencyB", "require_useLocalStorage", "__commonJSMin", "exports", "api_1", "showFailureToast_1", "helpers_1", "usePromise_1", "useLocalStorage", "key", "initialValue", "value", "isLoading", "mutate", "storageKey", "item", "setValue", "error", "removeValue", "require_color", "__commonJSMin", "exports", "hexToRGB", "hex", "r", "g", "b", "rgbToHex", "rString", "gString", "bString", "rgbToHSL", "cmin", "cmax", "delta", "h", "s", "l", "hslToRGB", "c", "x", "m", "hexToHSL", "hslToHex", "hsl", "clamp", "value", "min", "max", "offset", "slightlyDarkerColor", "slightlyLighterColor", "require_avatar", "__commonJSMin", "exports", "color_1", "getWholeCharAndI", "str", "i", "code", "next", "prev", "avatarColorSet", "getAvatarIcon", "name", "options", "words", "initials", "firstWordFirstLetter", "lastWordFirstLetter", "backgroundColor", "initialsCharIndex", "char", "colorIndex", "radius", "require_favicon", "__commonJSMin", "exports", "api_1", "url_1", "getFavicon", "url", "options", "hostname", "e", "require_progress", "__commonJSMin", "exports", "api_1", "polarToCartesian", "centerX", "centerY", "radius", "angleInDegrees", "angleInRadians", "describeArc", "x", "y", "startAngle", "endAngle", "start", "end", "largeArcFlag", "getProgressIcon", "progress", "color", "options", "background", "backgroundOpacity", "stroke", "require_icon", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "require_providers", "__commonJSMin", "exports", "api_1", "OAuthService_1", "PROVIDER_CLIENT_IDS", "getIcon", "markup", "PROVIDERS_ICONS", "asanaService", "options", "githubService", "googleService", "jiraService", "linearService", "slackService", "response", "zoomService", "require_OAuthService", "__commonJSMin", "exports", "__importDefault", "mod", "cross_fetch_1", "providers_1", "OAuthService", "options", "x", "currentTokenSet", "tokens", "authRequest", "authorizationCode", "params", "response", "responseText", "token", "tokenResponse", "require_withAccessToken", "__commonJSMin", "exports", "jsx_runtime_1", "api_1", "token", "type", "authorize", "getIdToken", "onAuthorize", "withAccessToken", "options", "fn", "props", "idToken", "Component", "WrappedComponent", "wrapPromise", "getAccessToken", "promise", "status", "response", "suspender", "res", "err", "require_oauth", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "require_run_applescript", "__commonJSMin", "exports", "__importDefault", "mod", "node_child_process_1", "exec_utils_1", "runAppleScript", "script", "optionsOrArgs", "options", "humanReadableOutput", "language", "timeout", "execOptions", "outputArguments", "spawned", "spawnedPromise", "error", "exitCode", "signal", "timedOut", "stdoutResult", "stderrResult", "stdout", "stderr", "require_createDeeplink", "__commonJSMin", "exports", "__importDefault", "mod", "api_1", "node_fs_1", "node_path_1", "DeeplinkType", "getProtocol", "getOwnerOrAuthorName", "packageJSON", "createScriptCommandDeeplink", "options", "url", "params", "arg", "createExtensionDeeplink", "ownerOrAuthorName", "extensionName", "createDeeplink", "require_dist", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "require_listCacheClear", "__commonJSMin", "exports", "module", "listCacheClear", "require_eq", "__commonJSMin", "exports", "module", "eq", "value", "other", "require_assocIndexOf", "__commonJSMin", "exports", "module", "eq", "assocIndexOf", "array", "key", "length", "require_listCacheDelete", "__commonJSMin", "exports", "module", "assocIndexOf", "arrayProto", "splice", "listCacheDelete", "key", "data", "index", "lastIndex", "require_listCacheGet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheGet", "key", "data", "index", "require_listCacheHas", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheHas", "key", "require_listCacheSet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheSet", "key", "value", "data", "index", "require_ListCache", "__commonJSMin", "exports", "module", "listCacheClear", "listCacheDelete", "listCacheGet", "listCacheHas", "listCacheSet", "ListCache", "entries", "index", "length", "entry", "require_stackClear", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "require_stackDelete", "__commonJSMin", "exports", "module", "stackDelete", "key", "data", "result", "require_stackGet", "__commonJSMin", "exports", "module", "stackGet", "key", "require_stackHas", "__commonJSMin", "exports", "module", "stackHas", "key", "require_freeGlobal", "__commonJSMin", "exports", "module", "freeGlobal", "require_root", "__commonJSMin", "exports", "module", "freeGlobal", "freeSelf", "root", "require_Symbol", "__commonJSMin", "exports", "module", "root", "Symbol", "require_getRawTag", "__commonJSMin", "exports", "module", "Symbol", "objectProto", "hasOwnProperty", "nativeObjectToString", "symToStringTag", "getRawTag", "value", "isOwn", "tag", "unmasked", "result", "require_objectToString", "__commonJSMin", "exports", "module", "objectProto", "nativeObjectToString", "objectToString", "value", "require_baseGetTag", "__commonJSMin", "exports", "module", "Symbol", "getRawTag", "objectToString", "nullTag", "undefinedTag", "symToStringTag", "baseGetTag", "value", "require_isObject", "__commonJSMin", "exports", "module", "isObject", "value", "type", "require_isFunction", "__commonJSMin", "exports", "module", "baseGetTag", "isObject", "asyncTag", "funcTag", "genTag", "proxyTag", "isFunction", "value", "tag", "require_coreJsData", "__commonJSMin", "exports", "module", "root", "coreJsData", "require_isMasked", "__commonJSMin", "exports", "module", "coreJsData", "maskSrcKey", "uid", "isMasked", "func", "require_toSource", "__commonJSMin", "exports", "module", "funcProto", "funcToString", "toSource", "func", "require_baseIsNative", "__commonJSMin", "exports", "module", "isFunction", "isMasked", "isObject", "toSource", "reRegExpChar", "reIsHostCtor", "funcProto", "objectProto", "funcToString", "hasOwnProperty", "reIsNative", "baseIsNative", "value", "pattern", "require_getValue", "__commonJSMin", "exports", "module", "getValue", "object", "key", "require_getNative", "__commonJSMin", "exports", "module", "baseIsNative", "getValue", "getNative", "object", "key", "value", "require_Map", "__commonJSMin", "exports", "module", "getNative", "root", "Map", "require_nativeCreate", "__commonJSMin", "exports", "module", "getNative", "nativeCreate", "require_hashClear", "__commonJSMin", "exports", "module", "nativeCreate", "hashClear", "require_hashDelete", "__commonJSMin", "exports", "module", "hashDelete", "key", "result", "require_hashGet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "objectProto", "hasOwnProperty", "hashGet", "key", "data", "result", "require_hashHas", "__commonJSMin", "exports", "module", "nativeCreate", "objectProto", "hasOwnProperty", "hashHas", "key", "data", "require_hashSet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "hashSet", "key", "value", "data", "require_Hash", "__commonJSMin", "exports", "module", "hashClear", "hashDelete", "hashGet", "hashHas", "hashSet", "Hash", "entries", "index", "length", "entry", "require_mapCacheClear", "__commonJSMin", "exports", "module", "Hash", "ListCache", "Map", "mapCacheClear", "require_isKeyable", "__commonJSMin", "exports", "module", "isKeyable", "value", "type", "require_getMapData", "__commonJSMin", "exports", "module", "isKeyable", "getMapData", "map", "key", "data", "require_mapCacheDelete", "__commonJSMin", "exports", "module", "getMapData", "mapCacheDelete", "key", "result", "require_mapCacheGet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheGet", "key", "require_mapCacheHas", "__commonJSMin", "exports", "module", "getMapData", "mapCacheHas", "key", "require_mapCacheSet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheSet", "key", "value", "data", "size", "require_MapCache", "__commonJSMin", "exports", "module", "mapCacheClear", "mapCacheDelete", "mapCacheGet", "mapCacheHas", "mapCacheSet", "MapCache", "entries", "index", "length", "entry", "require_stackSet", "__commonJSMin", "exports", "module", "ListCache", "Map", "MapCache", "LARGE_ARRAY_SIZE", "stackSet", "key", "value", "data", "pairs", "require_Stack", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "stackDelete", "stackGet", "stackHas", "stackSet", "Stack", "entries", "data", "require_setCacheAdd", "__commonJSMin", "exports", "module", "HASH_UNDEFINED", "setCacheAdd", "value", "require_setCacheHas", "__commonJSMin", "exports", "module", "setCacheHas", "value", "require_SetCache", "__commonJSMin", "exports", "module", "MapCache", "setCacheAdd", "setCacheHas", "SetCache", "values", "index", "length", "require_arraySome", "__commonJSMin", "exports", "module", "arraySome", "array", "predicate", "index", "length", "require_cacheHas", "__commonJSMin", "exports", "module", "cacheHas", "cache", "key", "require_equalArrays", "__commonJSMin", "exports", "module", "SetCache", "arraySome", "cacheHas", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "equalArrays", "array", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "arrLength", "othLength", "arrStacked", "othStacked", "index", "result", "seen", "arrValue", "othValue", "compared", "othIndex", "require_Uint8Array", "__commonJSMin", "exports", "module", "root", "Uint8Array", "require_mapToArray", "__commonJSMin", "exports", "module", "mapToArray", "map", "index", "result", "value", "key", "require_setToArray", "__commonJSMin", "exports", "module", "setToArray", "set", "index", "result", "value", "require_equalByTag", "__commonJSMin", "exports", "module", "Symbol", "Uint8Array", "eq", "equalArrays", "mapToArray", "setToArray", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "boolTag", "dateTag", "errorTag", "mapTag", "numberTag", "regexpTag", "setTag", "stringTag", "symbolTag", "arrayBufferTag", "dataViewTag", "symbolProto", "symbolValueOf", "equalByTag", "object", "other", "tag", "bitmask", "customizer", "equalFunc", "stack", "convert", "isPartial", "stacked", "result", "require_arrayPush", "__commonJSMin", "exports", "module", "arrayPush", "array", "values", "index", "length", "offset", "require_isArray", "__commonJSMin", "exports", "module", "isArray", "require_baseGetAllKeys", "__commonJSMin", "exports", "module", "arrayPush", "isArray", "baseGetAllKeys", "object", "keysFunc", "symbolsFunc", "result", "require_arrayFilter", "__commonJSMin", "exports", "module", "arrayFilter", "array", "predicate", "index", "length", "resIndex", "result", "value", "require_stubArray", "__commonJSMin", "exports", "module", "stubArray", "require_getSymbols", "__commonJSMin", "exports", "module", "arrayFilter", "stubArray", "objectProto", "propertyIsEnumerable", "nativeGetSymbols", "getSymbols", "object", "symbol", "require_baseTimes", "__commonJSMin", "exports", "module", "baseTimes", "n", "iteratee", "index", "result", "require_isObjectLike", "__commonJSMin", "exports", "module", "isObjectLike", "value", "require_baseIsArguments", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "argsTag", "baseIsArguments", "value", "require_isArguments", "__commonJSMin", "exports", "module", "baseIsArguments", "isObjectLike", "objectProto", "hasOwnProperty", "propertyIsEnumerable", "isArguments", "value", "require_stubFalse", "__commonJSMin", "exports", "module", "stubFalse", "require_isBuffer", "__commonJSMin", "exports", "module", "root", "stubFalse", "freeExports", "freeModule", "moduleExports", "Buffer", "nativeIsBuffer", "isBuffer", "require_isIndex", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "reIsUint", "isIndex", "value", "length", "type", "require_isLength", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "isLength", "value", "require_baseIsTypedArray", "__commonJSMin", "exports", "module", "baseGetTag", "isLength", "isObjectLike", "argsTag", "arrayTag", "boolTag", "dateTag", "errorTag", "funcTag", "mapTag", "numberTag", "objectTag", "regexpTag", "setTag", "stringTag", "weakMapTag", "arrayBufferTag", "dataViewTag", "float32Tag", "float64Tag", "int8Tag", "int16Tag", "int32Tag", "uint8Tag", "uint8ClampedTag", "uint16Tag", "uint32Tag", "typedArrayTags", "baseIsTypedArray", "value", "require_baseUnary", "__commonJSMin", "exports", "module", "baseUnary", "func", "value", "require_nodeUtil", "__commonJSMin", "exports", "module", "freeGlobal", "freeExports", "freeModule", "moduleExports", "freeProcess", "nodeUtil", "types", "require_isTypedArray", "__commonJSMin", "exports", "module", "baseIsTypedArray", "baseUnary", "nodeUtil", "nodeIsTypedArray", "isTypedArray", "require_arrayLikeKeys", "__commonJSMin", "exports", "module", "baseTimes", "isArguments", "isArray", "isBuffer", "isIndex", "isTypedArray", "objectProto", "hasOwnProperty", "arrayLikeKeys", "value", "inherited", "isArr", "isArg", "isBuff", "isType", "skipIndexes", "result", "length", "key", "require_isPrototype", "__commonJSMin", "exports", "module", "objectProto", "isPrototype", "value", "Ctor", "proto", "require_overArg", "__commonJSMin", "exports", "module", "overArg", "func", "transform", "arg", "require_nativeKeys", "__commonJSMin", "exports", "module", "overArg", "nativeKeys", "require_baseKeys", "__commonJSMin", "exports", "module", "isPrototype", "nativeKeys", "objectProto", "hasOwnProperty", "baseKeys", "object", "result", "key", "require_isArrayLike", "__commonJSMin", "exports", "module", "isFunction", "isLength", "isArrayLike", "value", "require_keys", "__commonJSMin", "exports", "module", "arrayLikeKeys", "baseKeys", "isArrayLike", "keys", "object", "require_getAllKeys", "__commonJSMin", "exports", "module", "baseGetAllKeys", "getSymbols", "keys", "getAllKeys", "object", "require_equalObjects", "__commonJSMin", "exports", "module", "getAllKeys", "COMPARE_PARTIAL_FLAG", "objectProto", "hasOwnProperty", "equalObjects", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "objProps", "objLength", "othProps", "othLength", "index", "key", "objStacked", "othStacked", "result", "skipCtor", "objValue", "othValue", "compared", "objCtor", "othCtor", "require_DataView", "__commonJSMin", "exports", "module", "getNative", "root", "DataView", "require_Promise", "__commonJSMin", "exports", "module", "getNative", "root", "Promise", "require_Set", "__commonJSMin", "exports", "module", "getNative", "root", "Set", "require_WeakMap", "__commonJSMin", "exports", "module", "getNative", "root", "WeakMap", "require_getTag", "__commonJSMin", "exports", "module", "DataView", "Map", "Promise", "Set", "WeakMap", "baseGetTag", "toSource", "mapTag", "objectTag", "promiseTag", "setTag", "weakMapTag", "dataViewTag", "dataViewCtorString", "mapCtorString", "promiseCtorString", "setCtorString", "weakMapCtorString", "getTag", "value", "result", "Ctor", "ctorString", "require_baseIsEqualDeep", "__commonJSMin", "exports", "module", "Stack", "equalArrays", "equalByTag", "equalObjects", "getTag", "isArray", "isBuffer", "isTypedArray", "COMPARE_PARTIAL_FLAG", "argsTag", "arrayTag", "objectTag", "objectProto", "hasOwnProperty", "baseIsEqualDeep", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "objIsArr", "othIsArr", "objTag", "othTag", "objIsObj", "othIsObj", "isSameTag", "objIsWrapped", "othIsWrapped", "objUnwrapped", "othUnwrapped", "require_baseIsEqual", "__commonJSMin", "exports", "module", "baseIsEqualDeep", "isObjectLike", "baseIsEqual", "value", "other", "bitmask", "customizer", "stack", "require_baseIsMatch", "__commonJSMin", "exports", "module", "Stack", "baseIsEqual", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseIsMatch", "object", "source", "matchData", "customizer", "index", "length", "noCustomizer", "data", "key", "objValue", "srcValue", "stack", "result", "require_isStrictComparable", "__commonJSMin", "exports", "module", "isObject", "isStrictComparable", "value", "require_getMatchData", "__commonJSMin", "exports", "module", "isStrictComparable", "keys", "getMatchData", "object", "result", "length", "key", "value", "require_matchesStrictComparable", "__commonJSMin", "exports", "module", "matchesStrictComparable", "key", "srcValue", "object", "require_baseMatches", "__commonJSMin", "exports", "module", "baseIsMatch", "getMatchData", "matchesStrictComparable", "baseMatches", "source", "matchData", "object", "require_isSymbol", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "symbolTag", "isSymbol", "value", "require_isKey", "__commonJSMin", "exports", "module", "isArray", "isSymbol", "reIsDeepProp", "reIsPlainProp", "isKey", "value", "object", "type", "require_memoize", "__commonJSMin", "exports", "module", "MapCache", "FUNC_ERROR_TEXT", "memoize", "func", "resolver", "memoized", "args", "key", "cache", "result", "require_memoizeCapped", "__commonJSMin", "exports", "module", "memoize", "MAX_MEMOIZE_SIZE", "memoizeCapped", "func", "result", "key", "cache", "require_stringToPath", "__commonJSMin", "exports", "module", "memoizeCapped", "rePropName", "reEscapeChar", "stringToPath", "string", "result", "match", "number", "quote", "subString", "require_arrayMap", "__commonJSMin", "exports", "module", "arrayMap", "array", "iteratee", "index", "length", "result", "require_baseToString", "__commonJSMin", "exports", "module", "Symbol", "arrayMap", "isArray", "isSymbol", "INFINITY", "symbolProto", "symbolToString", "baseToString", "value", "result", "require_toString", "__commonJSMin", "exports", "module", "baseToString", "toString", "value", "require_castPath", "__commonJSMin", "exports", "module", "isArray", "isKey", "stringToPath", "toString", "castPath", "value", "object", "require_toKey", "__commonJSMin", "exports", "module", "isSymbol", "INFINITY", "toKey", "value", "result", "require_baseGet", "__commonJSMin", "exports", "module", "castPath", "toKey", "baseGet", "object", "path", "index", "length", "require_get", "__commonJSMin", "exports", "module", "baseGet", "get", "object", "path", "defaultValue", "result", "require_baseHasIn", "__commonJSMin", "exports", "module", "baseHasIn", "object", "key", "require_hasPath", "__commonJSMin", "exports", "module", "castPath", "isArguments", "isArray", "isIndex", "isLength", "toKey", "hasPath", "object", "path", "hasFunc", "index", "length", "result", "key", "require_hasIn", "__commonJSMin", "exports", "module", "baseHasIn", "hasPath", "hasIn", "object", "path", "require_baseMatchesProperty", "__commonJSMin", "exports", "module", "baseIsEqual", "get", "hasIn", "isKey", "isStrictComparable", "matchesStrictComparable", "toKey", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseMatchesProperty", "path", "srcValue", "object", "objValue", "require_identity", "__commonJSMin", "exports", "module", "identity", "value", "require_baseProperty", "__commonJSMin", "exports", "module", "baseProperty", "key", "object", "require_basePropertyDeep", "__commonJSMin", "exports", "module", "baseGet", "basePropertyDeep", "path", "object", "require_property", "__commonJSMin", "exports", "module", "baseProperty", "basePropertyDeep", "isKey", "toKey", "property", "path", "require_baseIteratee", "__commonJSMin", "exports", "module", "baseMatches", "baseMatchesProperty", "identity", "isArray", "property", "baseIteratee", "value", "require_baseFindIndex", "__commonJSMin", "exports", "module", "baseFindIndex", "array", "predicate", "fromIndex", "fromRight", "length", "index", "require_baseIsNaN", "__commonJSMin", "exports", "module", "baseIsNaN", "value", "require_strictIndexOf", "__commonJSMin", "exports", "module", "strictIndexOf", "array", "value", "fromIndex", "index", "length", "require_baseIndexOf", "__commonJSMin", "exports", "module", "baseFindIndex", "baseIsNaN", "strictIndexOf", "baseIndexOf", "array", "value", "fromIndex", "require_arrayIncludes", "__commonJSMin", "exports", "module", "baseIndexOf", "arrayIncludes", "array", "value", "length", "require_arrayIncludesWith", "__commonJSMin", "exports", "module", "arrayIncludesWith", "array", "value", "comparator", "index", "length", "require_noop", "__commonJSMin", "exports", "module", "noop", "require_createSet", "__commonJSMin", "exports", "module", "Set", "noop", "setToArray", "INFINITY", "createSet", "values", "require_baseUniq", "__commonJSMin", "exports", "module", "SetCache", "arrayIncludes", "arrayIncludesWith", "cacheHas", "createSet", "setToArray", "LARGE_ARRAY_SIZE", "baseUniq", "array", "iteratee", "comparator", "index", "includes", "length", "isCommon", "result", "seen", "set", "outer", "value", "computed", "seenIndex", "require_uniqBy", "__commonJSMin", "exports", "module", "baseIteratee", "baseUniq", "uniqBy", "array", "iteratee", "menu_bar_exports", "__export", "Command", "__toCommonJS", "import_api", "import_utils", "import_api", "import_utils", "import_api", "multiplyMatrices", "A", "B", "m", "x", "p", "B_cols", "_", "i", "product", "row", "col", "ret", "c", "isString", "str", "type", "o", "serializeNumber", "n", "precision", "unit", "isNone", "toPrecision", "skipNone", "integer", "digits", "multiplier", "angleFactor", "parseFunction", "isFunctionRegex", "isNumberRegex", "unitValueRegex", "singleArgument", "parts", "args", "$0", "rawArg", "match", "arg", "unitlessArg", "last", "arr", "interpolate", "start", "end", "interpolateInv", "value", "mapRange", "from", "to", "parseCoordGrammar", "coordGrammars", "coordGrammar", "range", "clamp", "min", "val", "max", "copySign", "spow", "base", "exp", "zdiv", "d", "bisectLeft", "lo", "hi", "mid", "Hooks", "name", "callback", "first", "env", "hooks", "defaults", "msg", "WHITES", "getWhite", "adapt", "W1", "W2", "XYZ", "options", "noneTypes", "coerceCoords", "space", "format", "coords", "id", "coordMeta", "providedType", "coordName", "fromRange", "toRange", "util.mapRange", "parse", "meta", "util.parseFunction", "alternateId", "ids", "alpha", "ColorSpace", "colorSpec", "specId", "types", "didYouMean", "registryId", "cssId", "util.last", "formatId", "color", "getColor", "\u03B5", "_ColorSpace", "white", "getPath", "epsilon", "coord", "processFormat", "myPath", "otherPath", "connectionSpace", "connectionSpaceIndex", "alias", "alternatives", "ref", "workingSpace", "coordType", "normalizedCoord", "s", "coordFormats", "outputType", "suffix", "xyz_d65", "RGBColorSpace", "XYZ_D65", "rgb", "xyz", "getAll", "get", "prop", "index", "setAll", "set", "object", "XYZ_D50", "\u03B53", "\u03BA", "lab", "xyz_d50", "f", "Lab", "constrain", "angle", "adjust", "arc", "angles", "a1", "a2", "angleDiff", "lch", "L", "a", "b", "hue", "constrainAngle", "LCH", "Lightness", "Chroma", "Hue", "Gfactor", "\u03C0", "r2d", "d2r", "pow7", "x2", "deltaE2000", "sample", "kL", "kC", "kH", "L1", "b1", "C1", "L2", "b2", "C2", "Cbar", "C7", "G", "adash1", "adash2", "Cdash1", "Cdash2", "h1", "h2", "\u0394L", "\u0394C", "hdiff", "hsum", "habs", "\u0394h", "\u0394H", "Ldash", "Cdash", "Cdash7", "hdash", "lsq", "SL", "SC", "T", "SH", "\u0394\u03B8", "RC", "RT", "dE", "XYZtoLMS_M", "LMStoXYZ_M", "LMStoLab_M", "LabtoLMS_M", "OKLab", "LMSg", "LMS", "deltaEOK", "oklab", "\u0394a", "\u0394b", "inGamut", "clone", "distance", "color1", "color2", "coords1", "coords2", "acc", "c1", "c2", "deltaE76", "deltaECMC", "l", "H1", "H2", "C4", "F", "Yw", "XYZ_Abs_D65", "v", "AbsXYZ", "g", "ninv", "c3", "pinv", "d0", "XYZtoCone_M", "ConetoXYZ_M", "ConetoIab_M", "IabtoCone_M", "Jzazbz", "Xa", "Ya", "Za", "Xm", "Ym", "PQLMS", "num", "denom", "Iz", "az", "bz", "Jz", "jzczhz", "jzazbz", "deltaEJz", "Jz1", "Cz1", "Hz1", "Jz2", "Cz2", "Hz2", "\u0394J", "m1", "m2", "im1", "im2", "LMStoIPT_M", "IPTtoLMS_M", "ictcp", "LMStoICtCp", "ICtCp", "ICtCptoLMS", "deltaEITP", "I1", "T1", "P1", "I2", "T2", "P2", "adaptedCoef", "adaptedCoefInv", "tau", "cat16", "cat16Inv", "surroundMap", "hueQuadMap", "rad2deg", "deg2rad", "fl", "unadapt", "adapted", "constant", "cabs", "hueQuadrature", "h", "hp", "hii", "ei", "eii", "Hi", "t", "invHueQuadrature", "H", "Hp", "environment", "refWhite", "adaptingLuminance", "backgroundLuminance", "surround", "discounting", "xyzW", "yw", "rgbW", "k4", "rgbCW", "rgbAW", "viewingConditions", "fromCam16", "cam16", "hRad", "cosh", "sinh", "Jroot", "et", "p1", "p2", "r", "rgb_c", "toCam16", "xyzd65", "xyz100", "rgbA", "J", "Q", "C", "M", "toLstar", "y", "fromLstar", "lstar", "fromHct", "j", "threshold", "max_attempts", "attempt", "delta", "toHct", "hct", "ucsCoeff", "convertUcsAb", "hrad", "deltaEHCT", "t1", "t2", "deltaEMethods", "calcEpsilon", "jnd", "order", "GMAPPRESET", "toGamut", "method", "deltaEMethod", "blackWhiteClamp", "util.isString", "spaceColor", "toGamutCSS", "de", "clipped", "channelMeta", "channel", "util.isNone", "mapSpace", "coordId", "mappedColor", "low", "high", "bounds", "COLORS", "origin", "oklchSpace", "origin_OKLCH", "black", "clip", "_color", "destColor", "spaceCoords", "util.clamp", "min_inGamut", "current", "E", "chroma", "serialize", "customOptions", "checkInGamut", "util.serializeNumber", "strAlpha", "toXYZ_M", "fromXYZ_M", "REC2020Linear", "\u03B1", "\u03B2", "REC2020", "RGB", "P3Linear", "sRGBLinear", "KEYWORDS", "coordGrammarNumber", "sRGB", "sign", "abs", "rgba", "component", "collapse", "collapsible", "P3", "supportsNone", "display", "fallbackColor", "equals", "getLuminance", "setLuminance", "register", "Color", "contrastWCAG21", "Y1", "Y2", "normBG", "normTXT", "revTXT", "revBG", "blkThrs", "blkClmp", "loClip", "deltaYmin", "scaleBoW", "loBoWoffset", "scaleWoB", "fclamp", "Y", "linearize", "contrastAPCA", "background", "foreground", "S", "Sapc", "R", "lumTxt", "lumBg", "Ytxt", "Ybg", "BoW", "contrastMichelson", "contrastWeber", "contrastLstar", "lab_d65", "phi", "contrastDeltaPhi", "Lstr1", "Lstr2", "deltaPhiStar", "contrast", "algorithm", "rest", "algorithms", "contrastAlgorithms", "uv", "X", "Z", "xy", "sum", "deltaE", "lighten", "amount", "lightness", "darken", "mix", "steps", "colorRange", "isRange", "maxDeltaE", "maxSteps", "rangeOptions", "totalDelta", "actualSteps", "step", "maxDelta", "cur", "\u0394\u0395", "prev", "outputSpace", "progression", "premultiplied", "rangeArgs", "\u03B81", "\u03B82", "angles.adjust", "HSL", "hsl", "k", "HSV", "hsv", "hwb", "w", "gray", "A98Linear", "a98rgb", "ProPhotoLinear", "Et", "Et2", "prophoto", "oklch", "U_PRIME_WHITE", "V_PRIME_WHITE", "Luv", "up", "vp", "u", "LCHuv", "m_r0", "m_r1", "m_r2", "m_g0", "m_g1", "m_g2", "m_b0", "m_b1", "m_b2", "distanceFromOriginAngle", "slope", "intercept", "calculateBoundingLines", "sub1", "sub2", "s1r", "s2r", "s3r", "s1g", "s2g", "s3g", "s1b", "s2b", "s3b", "calcMaxChromaHsluv", "lines", "hueRad", "r0", "r1", "g0", "g1", "b0", "hsluv", "distanceFromOrigin", "calcMaxChromaHpluv", "hpluv", "minv", "rec2100Pq", "scale", "rec2100Hlg", "CATs", "defineCAT", "toCone_M", "fromCone_M", "\u03C1s", "\u03B3s", "\u03B2s", "\u03C1d", "\u03B3d", "\u03B2d", "scaled_cone_M", "ACEScg", "ACES_min_nonzero", "ACES_cc_max", "acescc", "_Color", "code", "instance", "returns", "func", "exports", "util", "key", "spaces", "addSpaceAccessors", "propId", "obj", "property", "receiver", "variations", "chromaticity", "luminance", "interpolation", "contrastMethods", "import_uniqBy", "preferences", "getFormattedColor", "_color", "format", "color", "Color", "oklchColor", "l", "c", "h", "lchColor", "unsupportedPreviewFormats", "getPreviewColor", "getShortcut", "index", "key", "shortcut", "getIcon", "previewColor", "useHistory", "history", "setHistory", "color", "previousHistory", "item", "getFormattedColor", "historyItem", "import_jsx_runtime", "Command", "history", "remove", "clear", "useHistory", "e", "historyItem", "index", "formattedColor", "getFormattedColor", "previewColor", "getPreviewColor", "getIcon", "getShortcut", "event"] +} diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/organize-colors.js b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/organize-colors.js @@ -0,0 +1,31 @@ +"use strict";var i8=Object.create;var Ja=Object.defineProperty;var s8=Object.getOwnPropertyDescriptor;var n8=Object.getOwnPropertyNames;var l8=Object.getPrototypeOf,m8=Object.prototype.hasOwnProperty;var u=(e,a)=>()=>(a||e((a={exports:{}}).exports,a),a.exports),o8=(e,a)=>{for(var p in a)Ja(e,p,{get:a[p],enumerable:!0})},ft=(e,a,p,t)=>{if(a&&typeof a=="object"||typeof a=="function")for(let d of n8(a))!m8.call(e,d)&&d!==p&&Ja(e,d,{get:()=>a[d],enumerable:!(t=s8(a,d))||t.enumerable});return e};var tp=(e,a,p)=>(p=e!=null?i8(l8(e)):{},ft(a||!e||!e.__esModule?Ja(p,"default",{value:e,enumerable:!0}):p,e)),u8=e=>ft(Ja({},"__esModule",{value:!0}),e);var gt=u(vt=>{var ht=Object.prototype.hasOwnProperty;function dp(e,a){var p,t;if(e===a)return!0;if(e&&a&&(p=e.constructor)===a.constructor){if(p===Date)return e.getTime()===a.getTime();if(p===RegExp)return e.toString()===a.toString();if(p===Array){if((t=e.length)===a.length)for(;t--&&dp(e[t],a[t]););return t===-1}if(!p||typeof e=="object"){t=0;for(p in e)if(ht.call(e,p)&&++t&&!ht.call(a,p)||!(p in a)||!dp(e[p],a[p]))return!1;return Object.keys(a).length===t}}return e!==e&&a!==a}vt.dequal=dp});var wt=u(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.useDeepMemo=void 0;var rp=require("react"),c8=gt();function f8(e){let a=(0,rp.useRef)(e),p=(0,rp.useRef)(0);return(0,c8.dequal)(e,a.current)||(a.current=e,p.current+=1),(0,rp.useMemo)(()=>a.current,[p.current])}Wa.useDeepMemo=f8});var B1=u(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.useLatest=void 0;var h8=require("react");function v8(e){let a=(0,h8.useRef)(e);return a.current=e,a}Ya.useLatest=v8});var oa=u(C1=>{"use strict";var g8=C1&&C1.__createBinding||(Object.create?function(e,a,p,t){t===void 0&&(t=p);var d=Object.getOwnPropertyDescriptor(a,p);(!d||("get"in d?!a.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return a[p]}}),Object.defineProperty(e,t,d)}:function(e,a,p,t){t===void 0&&(t=p),e[t]=a[p]}),w8=C1&&C1.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:!0,value:a})}:function(e,a){e.default=a}),bt=C1&&C1.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)p!=="default"&&Object.prototype.hasOwnProperty.call(e,p)&&g8(a,e,p);return w8(a,e),a};Object.defineProperty(C1,"__esModule",{value:!0});C1.showFailureToast=void 0;var _8=bt(require("fs")),b8=bt(require("path")),Ce=require("@raycast/api");function y8(e,a){let p=e instanceof Error?e.message:String(e);return(0,Ce.showToast)({style:Ce.Toast.Style.Failure,title:a?.title??"Something went wrong",message:a?.message??p,primaryAction:a?.primaryAction??_t(e),secondaryAction:a?.primaryAction?_t(e):void 0})}C1.showFailureToast=y8;var _t=e=>{let a=!0,p="[Extension Name]...",t="";try{let i=JSON.parse(_8.readFileSync(b8.join(Ce.environment.assetsPath,"..","package.json"),"utf8"));p=`[${i.title}]...`,t=`https://raycast.com/${i.owner||i.author}/${i.name}`,(!i.owner||i.access==="public")&&(a=!1)}catch{}let d=Ce.environment.isDevelopment||a,r=e instanceof Error?e?.stack||e?.message||"":String(e);return{title:d?"Copy Logs":"Report Error",onAction(i){i.hide(),d?Ce.Clipboard.copy(r):(0,Ce.open)(`https://github.com/raycast/extensions/issues/new?&labels=extension%2Cbug&template=extension_bug_report.yml&title=${encodeURIComponent(p)}&extension-url=${encodeURI(t)}&description=${encodeURIComponent(`#### Error: +\`\`\` +${r} +\`\`\` +`)}`)}}}});var Ae=u(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.usePromise=void 0;var c1=require("react"),ua=require("@raycast/api"),S8=wt(),J1=B1(),N8=oa();function T8(e,a,p){let t=(0,c1.useRef)(0),[d,r]=(0,c1.useState)({isLoading:!0}),i=(0,J1.useLatest)(e),n=(0,J1.useLatest)(p?.abortable),s=(0,J1.useLatest)(a||[]),l=(0,J1.useLatest)(p?.onError),o=(0,J1.useLatest)(p?.onData),m=(0,J1.useLatest)(p?.onWillExecute),c=(0,J1.useLatest)(p?.failureToastOptions),v=(0,J1.useLatest)(d.data),f=(0,c1.useRef)(),h=(0,c1.useRef)({page:0}),g=(0,c1.useRef)(!1),_=(0,c1.useRef)(!0),w=(0,c1.useRef)(50),b=(0,c1.useCallback)((...J)=>{let O=++t.current;n.current&&(n.current.current?.abort(),n.current.current=new AbortController),m.current?.(J),r(A=>({...A,isLoading:!0}));let u1=x8(i.current)(...J);function w1(A){return A.name=="AbortError"||O===t.current&&(l.current?l.current(A):ua.environment.launchType!==ua.LaunchType.Background&&(0,N8.showFailureToast)(A,{title:"Failed to fetch latest data",primaryAction:{title:"Retry",onAction(t1){t1.hide(),f.current?.(...s.current||[])}},...c.current}),r({error:A,isLoading:!1})),A}return typeof u1=="function"?(g.current=!0,u1(h.current).then(({data:A,hasMore:t1,cursor:s1})=>(O===t.current&&(h.current&&(h.current.cursor=s1,h.current.lastItem=A?.[A.length-1]),o.current&&o.current(A,h.current),t1&&(w.current=A.length),_.current=t1,r(De=>h.current.page===0?{data:A,isLoading:!1}:{data:(De.data||[])?.concat(A),isLoading:!1})),A),A=>(_.current=!1,w1(A)))):(g.current=!1,u1.then(A=>(O===t.current&&(o.current&&o.current(A),r({data:A,isLoading:!1})),A),w1))},[n,o,l,s,i,r,f,m,h,c]);f.current=b;let y=(0,c1.useCallback)(()=>{h.current={page:0};let J=s.current||[];return b(...J)},[b,s]),N=(0,c1.useCallback)(async(J,O)=>{let u1;try{if(O?.optimisticUpdate){typeof O?.rollbackOnError!="function"&&O?.rollbackOnError!==!1&&(u1=structuredClone(v.current?.value));let w1=O.optimisticUpdate;r(A=>({...A,data:w1(A.data)}))}return await J}catch(w1){if(typeof O?.rollbackOnError=="function"){let A=O.rollbackOnError;r(t1=>({...t1,data:A(t1.data)}))}else O?.optimisticUpdate&&O?.rollbackOnError!==!1&&r(A=>({...A,data:u1}));throw w1}finally{O?.shouldRevalidateAfter!==!1&&(ua.environment.launchType===ua.LaunchType.Background||ua.environment.commandMode==="menu-bar"?await y():y())}},[y,v,r]),C=(0,c1.useCallback)(()=>{h.current.page+=1;let J=s.current||[];b(...J)},[h,s,b]);(0,c1.useEffect)(()=>{h.current={page:0},p?.execute!==!1?b(...a||[]):n.current&&n.current.current?.abort()},[(0,S8.useDeepMemo)([a,p?.execute,b]),n,h]),(0,c1.useEffect)(()=>()=>{n.current&&n.current.current?.abort()},[n]);let L=p?.execute!==!1?d.isLoading:!1,E={...d,isLoading:L},e1=g.current?{pageSize:w.current,hasMore:_.current,onLoadMore:C}:void 0;return{...E,revalidate:y,mutate:N,pagination:e1}}Xa.usePromise=T8;function x8(e){return e===Promise.all||e===Promise.race||e===Promise.resolve||e===Promise.reject?e.bind(Promise):e}});var Dt=u((le,xt)=>{"use strict";var ip=require("crypto");le=xt.exports=ca;function ca(e,a){return a=Nt(e,a),D8(e,a)}le.sha1=function(e){return ca(e)};le.keys=function(e){return ca(e,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})};le.MD5=function(e){return ca(e,{algorithm:"md5",encoding:"hex"})};le.keysMD5=function(e){return ca(e,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var Ve=ip.getHashes?ip.getHashes().slice():["sha1","md5"];Ve.push("passthrough");var yt=["buffer","hex","binary","base64"];function Nt(e,a){a=a||{};var p={};if(p.algorithm=a.algorithm||"sha1",p.encoding=a.encoding||"hex",p.excludeValues=!!a.excludeValues,p.algorithm=p.algorithm.toLowerCase(),p.encoding=p.encoding.toLowerCase(),p.ignoreUnknown=a.ignoreUnknown===!0,p.respectType=a.respectType!==!1,p.respectFunctionNames=a.respectFunctionNames!==!1,p.respectFunctionProperties=a.respectFunctionProperties!==!1,p.unorderedArrays=a.unorderedArrays===!0,p.unorderedSets=a.unorderedSets!==!1,p.unorderedObjects=a.unorderedObjects!==!1,p.replacer=a.replacer||void 0,p.excludeKeys=a.excludeKeys||void 0,typeof e>"u")throw new Error("Object argument required.");for(var t=0;t<Ve.length;++t)Ve[t].toLowerCase()===p.algorithm.toLowerCase()&&(p.algorithm=Ve[t]);if(Ve.indexOf(p.algorithm)===-1)throw new Error('Algorithm "'+p.algorithm+'" not supported. supported values: '+Ve.join(", "));if(yt.indexOf(p.encoding)===-1&&p.algorithm!=="passthrough")throw new Error('Encoding "'+p.encoding+'" not supported. supported values: '+yt.join(", "));return p}function St(e){if(typeof e!="function")return!1;var a=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;return a.exec(Function.prototype.toString.call(e))!=null}function D8(e,a){var p;a.algorithm!=="passthrough"?p=ip.createHash(a.algorithm):p=new Tt,typeof p.write>"u"&&(p.write=p.update,p.end=p.update);var t=sp(a,p);if(t.dispatch(e),p.update||p.end(""),p.digest)return p.digest(a.encoding==="buffer"?void 0:a.encoding);var d=p.read();return a.encoding==="buffer"?d:d.toString(a.encoding)}le.writeToStream=function(e,a,p){return typeof p>"u"&&(p=a,a={}),a=Nt(e,a),sp(a,p).dispatch(e)};function sp(e,a,p){p=p||[];var t=function(d){return a.update?a.update(d,"utf8"):a.write(d,"utf8")};return{dispatch:function(d){e.replacer&&(d=e.replacer(d));var r=typeof d;return d===null&&(r="null"),this["_"+r](d)},_object:function(d){var r=/\[object (.*)\]/i,i=Object.prototype.toString.call(d),n=r.exec(i);n?n=n[1]:n="unknown:["+i+"]",n=n.toLowerCase();var s=null;if((s=p.indexOf(d))>=0)return this.dispatch("[CIRCULAR:"+s+"]");if(p.push(d),typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(d))return t("buffer:"),t(d);if(n!=="object"&&n!=="function"&&n!=="asyncfunction")if(this["_"+n])this["_"+n](d);else{if(e.ignoreUnknown)return t("["+n+"]");throw new Error('Unknown object type "'+n+'"')}else{var l=Object.keys(d);e.unorderedObjects&&(l=l.sort()),e.respectType!==!1&&!St(d)&&l.splice(0,0,"prototype","__proto__","constructor"),e.excludeKeys&&(l=l.filter(function(m){return!e.excludeKeys(m)})),t("object:"+l.length+":");var o=this;return l.forEach(function(m){o.dispatch(m),t(":"),e.excludeValues||o.dispatch(d[m]),t(",")})}},_array:function(d,r){r=typeof r<"u"?r:e.unorderedArrays!==!1;var i=this;if(t("array:"+d.length+":"),!r||d.length<=1)return d.forEach(function(l){return i.dispatch(l)});var n=[],s=d.map(function(l){var o=new Tt,m=p.slice(),c=sp(e,o,m);return c.dispatch(l),n=n.concat(m.slice(p.length)),o.read().toString()});return p=p.concat(n),s.sort(),this._array(s,!1)},_date:function(d){return t("date:"+d.toJSON())},_symbol:function(d){return t("symbol:"+d.toString())},_error:function(d){return t("error:"+d.toString())},_boolean:function(d){return t("bool:"+d.toString())},_string:function(d){t("string:"+d.length+":"),t(d.toString())},_function:function(d){t("fn:"),St(d)?this.dispatch("[native]"):this.dispatch(d.toString()),e.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(d.name)),e.respectFunctionProperties&&this._object(d)},_number:function(d){return t("number:"+d.toString())},_xml:function(d){return t("xml:"+d.toString())},_null:function(){return t("Null")},_undefined:function(){return t("Undefined")},_regexp:function(d){return t("regex:"+d.toString())},_uint8array:function(d){return t("uint8array:"),this.dispatch(Array.prototype.slice.call(d))},_uint8clampedarray:function(d){return t("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(d))},_int8array:function(d){return t("int8array:"),this.dispatch(Array.prototype.slice.call(d))},_uint16array:function(d){return t("uint16array:"),this.dispatch(Array.prototype.slice.call(d))},_int16array:function(d){return t("int16array:"),this.dispatch(Array.prototype.slice.call(d))},_uint32array:function(d){return t("uint32array:"),this.dispatch(Array.prototype.slice.call(d))},_int32array:function(d){return t("int32array:"),this.dispatch(Array.prototype.slice.call(d))},_float32array:function(d){return t("float32array:"),this.dispatch(Array.prototype.slice.call(d))},_float64array:function(d){return t("float64array:"),this.dispatch(Array.prototype.slice.call(d))},_arraybuffer:function(d){return t("arraybuffer:"),this.dispatch(new Uint8Array(d))},_url:function(d){return t("url:"+d.toString(),"utf8")},_map:function(d){t("map:");var r=Array.from(d);return this._array(r,e.unorderedSets!==!1)},_set:function(d){t("set:");var r=Array.from(d);return this._array(r,e.unorderedSets!==!1)},_file:function(d){return t("file:"),this.dispatch([d.name,d.size,d.type,d.lastModfied])},_blob:function(){if(e.ignoreUnknown)return t("[blob]");throw Error(`Hashing Blob objects is currently not supported +(see https://github.com/puleos/object-hash/issues/26) +Use "options.replacer" or "options.ignoreUnknown" +`)},_domwindow:function(){return t("domwindow")},_bigint:function(d){return t("bigint:"+d.toString())},_process:function(){return t("process")},_timer:function(){return t("timer")},_pipe:function(){return t("pipe")},_tcp:function(){return t("tcp")},_udp:function(){return t("udp")},_tty:function(){return t("tty")},_statwatcher:function(){return t("statwatcher")},_securecontext:function(){return t("securecontext")},_connection:function(){return t("connection")},_zlib:function(){return t("zlib")},_context:function(){return t("context")},_nodescript:function(){return t("nodescript")},_httpparser:function(){return t("httpparser")},_dataview:function(){return t("dataview")},_signal:function(){return t("signal")},_fsevent:function(){return t("fsevent")},_tlswrap:function(){return t("tlswrap")}}}function Tt(){return{buf:"",write:function(e){this.buf+=e},end:function(e){this.buf+=e},read:function(){return this.buf}}}});var me=u(A1=>{"use strict";var C8=A1&&A1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(A1,"__esModule",{value:!0});A1.hash=A1.reviver=A1.replacer=void 0;var A8=C8(Dt());function V8(e,a){let p=this[e];return p instanceof Date?`__raycast_cached_date__${p.toString()}`:Buffer.isBuffer(p)?`__raycast_cached_buffer__${p.toString("base64")}`:a}A1.replacer=V8;function E8(e,a){return typeof a=="string"&&a.startsWith("__raycast_cached_date__")?new Date(a.replace("__raycast_cached_date__","")):typeof a=="string"&&a.startsWith("__raycast_cached_buffer__")?Buffer.from(a.replace("__raycast_cached_buffer__",""),"base64"):a}A1.reviver=E8;function P8(e,a){return(0,A8.default)(e,{replacer:p=>p instanceof URLSearchParams?p.toString():p,...a})}A1.hash=P8});var e2=u(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.useCachedState=void 0;var np=require("react"),M8=require("@raycast/api"),lp=B1(),Ct=me(),k8=Symbol("cache without namespace"),At=new Map;function O8(e,a,p){let t=p?.cacheNamespace||k8,d=At.get(t)||At.set(t,new M8.Cache({namespace:p?.cacheNamespace})).get(t);if(!d)throw new Error("Missing cache");let r=(0,lp.useLatest)(e),i=(0,lp.useLatest)(a),n=(0,np.useSyncExternalStore)(d.subscribe,()=>{try{return d.get(r.current)}catch(m){console.error("Could not get Cache data:",m);return}}),s=(0,np.useMemo)(()=>{if(typeof n<"u"){if(n==="undefined")return;try{return JSON.parse(n,Ct.reviver)}catch(m){return console.warn("The cached data is corrupted",m),i.current}}else return i.current},[n,i]),l=(0,lp.useLatest)(s),o=(0,np.useCallback)(m=>{let c=typeof m=="function"?m(l.current):m;if(typeof c>"u")d.set(r.current,"undefined");else{let v=JSON.stringify(c,Ct.replacer);d.set(r.current,v)}return c},[d,r,l]);return[s,o]}Qa.useCachedState=O8});var ha=u(a2=>{"use strict";Object.defineProperty(a2,"__esModule",{value:!0});a2.useCachedPromise=void 0;var fa=require("react"),R8=e2(),q8=Ae(),L8=B1(),Vt=me(),Ee=Symbol();function I8(e,a,p){let{initialData:t,keepPreviousData:d,internal_cacheKeySuffix:r,...i}=p||{},n=(0,fa.useRef)(),[s,l]=(0,R8.useCachedState)((0,Vt.hash)(a||[])+r,Ee,{cacheNamespace:(0,Vt.hash)(e)}),o=(0,fa.useRef)(s!==Ee?s:t),m=(0,fa.useRef)(void 0),{mutate:c,revalidate:v,...f}=(0,q8.usePromise)(e,a||[],{...i,onData(b,y){m.current=y,i.onData&&i.onData(b,y),!(y&&y.page>0)&&(n.current="promise",o.current=b,l(b))}}),h,g=f.pagination;m.current&&m.current.page>0&&f.data?h=f.data:n.current==="promise"?h=o.current:d&&s!==Ee?(h=s,g&&(g.hasMore=!0,g.pageSize=s.length)):d&&s===Ee?h=o.current:s!==Ee?(h=s,g&&(g.hasMore=!0,g.pageSize=s.length)):h=t;let _=(0,L8.useLatest)(h),w=(0,fa.useCallback)(async(b,y)=>{let N;try{if(y?.optimisticUpdate){typeof y?.rollbackOnError!="function"&&y?.rollbackOnError!==!1&&(N=structuredClone(_.current));let C=y.optimisticUpdate(_.current);n.current="cache",o.current=C,l(C)}return await c(b,{shouldRevalidateAfter:y?.shouldRevalidateAfter})}catch(C){if(typeof y?.rollbackOnError=="function"){let L=y.rollbackOnError(_.current);n.current="cache",o.current=L,l(L)}else y?.optimisticUpdate&&y?.rollbackOnError!==!1&&(n.current="cache",o.current=N,l(N));throw C}},[l,c,_,o,n]);return(0,fa.useEffect)(()=>{s!==Ee&&(n.current="cache",o.current=s)},[s]),{data:h,isLoading:f.isLoading,error:f.error,mutate:m.current&&m.current.page>0?c:w,pagination:g,revalidate:v}}a2.useCachedPromise=I8});var Mt=u((Fw,Pt)=>{"use strict";var I={};Pt.exports=I;function Et(e){return e<0?-1:1}function B8(e){return e%1===.5&&(e&1)===0?Math.floor(e):Math.round(e)}function W1(e,a){a.unsigned||--e;let p=a.unsigned?0:-Math.pow(2,e),t=Math.pow(2,e)-1,d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e),r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(i,n){n||(n={});let s=+i;if(n.enforceRange){if(!Number.isFinite(s))throw new TypeError("Argument is not a finite number");if(s=Et(s)*Math.floor(Math.abs(s)),s<p||s>t)throw new TypeError("Argument is not in byte range");return s}if(!isNaN(s)&&n.clamp)return s=B8(s),s<p&&(s=p),s>t&&(s=t),s;if(!Number.isFinite(s)||s===0)return 0;if(s=Et(s)*Math.floor(Math.abs(s)),s=s%d,!a.unsigned&&s>=r)return s-d;if(a.unsigned){if(s<0)s+=d;else if(s===-0)return 0}return s}}I.void=function(){};I.boolean=function(e){return!!e};I.byte=W1(8,{unsigned:!1});I.octet=W1(8,{unsigned:!0});I.short=W1(16,{unsigned:!1});I["unsigned short"]=W1(16,{unsigned:!0});I.long=W1(32,{unsigned:!1});I["unsigned long"]=W1(32,{unsigned:!0});I["long long"]=W1(32,{unsigned:!1,moduloBitLength:64});I["unsigned long long"]=W1(32,{unsigned:!0,moduloBitLength:64});I.double=function(e){let a=+e;if(!Number.isFinite(a))throw new TypeError("Argument is not a finite floating-point value");return a};I["unrestricted double"]=function(e){let a=+e;if(isNaN(a))throw new TypeError("Argument is NaN");return a};I.float=I.double;I["unrestricted float"]=I["unrestricted double"];I.DOMString=function(e,a){return a||(a={}),a.treatNullAsEmptyString&&e===null?"":String(e)};I.ByteString=function(e,a){let p=String(e),t;for(let d=0;(t=p.codePointAt(d))!==void 0;++d)if(t>255)throw new TypeError("Argument is not a valid bytestring");return p};I.USVString=function(e){let a=String(e),p=a.length,t=[];for(let d=0;d<p;++d){let r=a.charCodeAt(d);if(r<55296||r>57343)t.push(String.fromCodePoint(r));else if(56320<=r&&r<=57343)t.push(String.fromCodePoint(65533));else if(d===p-1)t.push(String.fromCodePoint(65533));else{let i=a.charCodeAt(d+1);if(56320<=i&&i<=57343){let n=r&1023,s=i&1023;t.push(String.fromCodePoint(65536+1024*n+s)),++d}else t.push(String.fromCodePoint(65533))}}return t.join("")};I.Date=function(e,a){if(!(e instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(e))return e};I.RegExp=function(e,a){return e instanceof RegExp||(e=new RegExp(e)),e}});var kt=u((jw,Y1)=>{"use strict";Y1.exports.mixin=function(a,p){let t=Object.getOwnPropertyNames(p);for(let d=0;d<t.length;++d)Object.defineProperty(a,t[d],Object.getOwnPropertyDescriptor(p,t[d]))};Y1.exports.wrapperSymbol=Symbol("wrapper");Y1.exports.implSymbol=Symbol("impl");Y1.exports.wrapperForImpl=function(e){return e[Y1.exports.wrapperSymbol]};Y1.exports.implForWrapper=function(e){return e[Y1.exports.implSymbol]}});var Ot=u((zw,F8)=>{F8.exports=[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1e3,1e3],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6e3],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8e3,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8e3]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9e3],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[3e4]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13e3,13e3],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43e3,43e3],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64e3,64e3],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66e3,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[12e4,12e4],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128e3,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23e3]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149e3]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32e3]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195e3,195e3],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[4e4]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918e3,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]});var Ft=u((Uw,t2)=>{"use strict";var qt=require("punycode"),Rt=Ot(),Pe={TRANSITIONAL:0,NONTRANSITIONAL:1};function Lt(e){return e.split("\0").map(function(a){return a.normalize("NFC")}).join("\0")}function It(e){for(var a=0,p=Rt.length-1;a<=p;){var t=Math.floor((a+p)/2),d=Rt[t];if(d[0][0]<=e&&d[0][1]>=e)return d;d[0][0]>e?p=t-1:a=t+1}return null}var j8=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function Bt(e){return e.replace(j8,"_").length}function z8(e,a,p){for(var t=!1,d="",r=Bt(e),i=0;i<r;++i){var n=e.codePointAt(i),s=It(n);switch(s[1]){case"disallowed":t=!0,d+=String.fromCodePoint(n);break;case"ignored":break;case"mapped":d+=String.fromCodePoint.apply(String,s[2]);break;case"deviation":p===Pe.TRANSITIONAL?d+=String.fromCodePoint.apply(String,s[2]):d+=String.fromCodePoint(n);break;case"valid":d+=String.fromCodePoint(n);break;case"disallowed_STD3_mapped":a?(t=!0,d+=String.fromCodePoint(n)):d+=String.fromCodePoint.apply(String,s[2]);break;case"disallowed_STD3_valid":a&&(t=!0),d+=String.fromCodePoint(n);break}}return{string:d,error:t}}var U8=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;function $8(e,a){e.substr(0,4)==="xn--"&&(e=qt.toUnicode(e),a=Pe.NONTRANSITIONAL);var p=!1;(Lt(e)!==e||e[3]==="-"&&e[4]==="-"||e[0]==="-"||e[e.length-1]==="-"||e.indexOf(".")!==-1||e.search(U8)===0)&&(p=!0);for(var t=Bt(e),d=0;d<t;++d){var r=It(e.codePointAt(d));if(p2===Pe.TRANSITIONAL&&r[1]!=="valid"||p2===Pe.NONTRANSITIONAL&&r[1]!=="valid"&&r[1]!=="deviation"){p=!0;break}}return{label:e,error:p}}function p2(e,a,p){var t=z8(e,a,p);t.string=Lt(t.string);for(var d=t.string.split("."),r=0;r<d.length;++r)try{var i=$8(d[r]);d[r]=i.label,t.error=t.error||i.error}catch{t.error=!0}return{string:d.join("."),error:t.error}}t2.exports.toASCII=function(e,a,p,t){var d=p2(e,a,p),r=d.string.split(".");if(r=r.map(function(s){try{return qt.toASCII(s)}catch{return d.error=!0,s}}),t){var i=r.slice(0,r.length-1).join(".").length;(i.length>253||i.length===0)&&(d.error=!0);for(var n=0;n<r.length;++n)if(r.length>63||r.length===0){d.error=!0;break}}return d.error?null:r.join(".")};t2.exports.toUnicode=function(e,a){var p=p2(e,a,Pe.NONTRANSITIONAL);return{domain:p.string,error:p.error}};t2.exports.PROCESSING_OPTIONS=Pe});var V1=u(($w,f1)=>{"use strict";var Me=require("punycode"),jt=Ft(),Ht={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443},V=Symbol("failure");function zt(e){return Me.ucs2.decode(e).length}function Ut(e,a){let p=e[a];return isNaN(p)?void 0:String.fromCodePoint(p)}function va(e){return e>=48&&e<=57}function ga(e){return e>=65&&e<=90||e>=97&&e<=122}function H8(e){return ga(e)||va(e)}function T1(e){return va(e)||e>=65&&e<=70||e>=97&&e<=102}function $t(e){return e==="."||e.toLowerCase()==="%2e"}function G8(e){return e=e.toLowerCase(),e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function K8(e,a){return ga(e)&&(a===58||a===124)}function Gt(e){return e.length===2&&ga(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function Z8(e){return e.length===2&&ga(e.codePointAt(0))&&e[1]===":"}function J8(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function W8(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function mp(e){return Ht[e]!==void 0}function G(e){return mp(e.scheme)}function Y8(e){return Ht[e]}function Kt(e){let a=e.toString(16).toUpperCase();return a.length===1&&(a="0"+a),"%"+a}function X8(e){let a=new Buffer(e),p="";for(let t=0;t<a.length;++t)p+=Kt(a[t]);return p}function Q8(e){let a=new Buffer(e),p=[];for(let t=0;t<a.length;++t)a[t]!==37?p.push(a[t]):a[t]===37&&T1(a[t+1])&&T1(a[t+2])?(p.push(parseInt(a.slice(t+1,t+3).toString(),16)),t+=2):p.push(a[t]);return new Buffer(p).toString()}function d2(e){return e<=31||e>126}var es=new Set([32,34,35,60,62,63,96,123,125]);function Zt(e){return d2(e)||es.has(e)}var as=new Set([47,58,59,61,64,91,92,93,94,124]);function up(e){return Zt(e)||as.has(e)}function oe(e,a){let p=String.fromCodePoint(e);return a(e)?X8(p):p}function ps(e){let a=10;return e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"?(e=e.substring(2),a=16):e.length>=2&&e.charAt(0)==="0"&&(e=e.substring(1),a=8),e===""?0:(a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/).test(e)?V:parseInt(e,a)}function ts(e){let a=e.split(".");if(a[a.length-1]===""&&a.length>1&&a.pop(),a.length>4)return e;let p=[];for(let r of a){if(r==="")return e;let i=ps(r);if(i===V)return e;p.push(i)}for(let r=0;r<p.length-1;++r)if(p[r]>255)return V;if(p[p.length-1]>=Math.pow(256,5-p.length))return V;let t=p.pop(),d=0;for(let r of p)t+=r*Math.pow(256,3-d),++d;return t}function ds(e){let a="",p=e;for(let t=1;t<=4;++t)a=String(p%256)+a,t!==4&&(a="."+a),p=Math.floor(p/256);return a}function rs(e){let a=[0,0,0,0,0,0,0,0],p=0,t=null,d=0;if(e=Me.ucs2.decode(e),e[d]===58){if(e[d+1]!==58)return V;d+=2,++p,t=p}for(;d<e.length;){if(p===8)return V;if(e[d]===58){if(t!==null)return V;++d,++p,t=p;continue}let r=0,i=0;for(;i<4&&T1(e[d]);)r=r*16+parseInt(Ut(e,d),16),++d,++i;if(e[d]===46){if(i===0||(d-=i,p>6))return V;let n=0;for(;e[d]!==void 0;){let s=null;if(n>0)if(e[d]===46&&n<4)++d;else return V;if(!va(e[d]))return V;for(;va(e[d]);){let l=parseInt(Ut(e,d));if(s===null)s=l;else{if(s===0)return V;s=s*10+l}if(s>255)return V;++d}a[p]=a[p]*256+s,++n,(n===2||n===4)&&++p}if(n!==4)return V;break}else if(e[d]===58){if(++d,e[d]===void 0)return V}else if(e[d]!==void 0)return V;a[p]=r,++p}if(t!==null){let r=p-t;for(p=7;p!==0&&r>0;){let i=a[t+r-1];a[t+r-1]=a[p],a[p]=i,--p,--r}}else if(t===null&&p!==8)return V;return a}function is(e){let a="",t=ns(e).idx,d=!1;for(let r=0;r<=7;++r)if(!(d&&e[r]===0)){if(d&&(d=!1),t===r){a+=r===0?"::":":",d=!0;continue}a+=e[r].toString(16),r!==7&&(a+=":")}return a}function op(e,a){if(e[0]==="[")return e[e.length-1]!=="]"?V:rs(e.substring(1,e.length-1));if(!a)return ss(e);let p=Q8(e),t=jt.toASCII(p,!1,jt.PROCESSING_OPTIONS.NONTRANSITIONAL,!1);if(t===null||J8(t))return V;let d=ts(t);return typeof d=="number"||d===V?d:t}function ss(e){if(W8(e))return V;let a="",p=Me.ucs2.decode(e);for(let t=0;t<p.length;++t)a+=oe(p[t],d2);return a}function ns(e){let a=null,p=1,t=null,d=0;for(let r=0;r<e.length;++r)e[r]!==0?(d>p&&(a=t,p=d),t=null,d=0):(t===null&&(t=r),++d);return d>p&&(a=t,p=d),{idx:a,len:p}}function cp(e){return typeof e=="number"?ds(e):e instanceof Array?"["+is(e)+"]":e}function ls(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function ms(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function Jt(e){let a=e.path;a.length!==0&&(e.scheme==="file"&&a.length===1&&us(a[0])||a.pop())}function Wt(e){return e.username!==""||e.password!==""}function os(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function us(e){return/^[A-Za-z]:$/.test(e)}function B(e,a,p,t,d){if(this.pointer=0,this.input=e,this.base=a||null,this.encodingOverride=p||"utf-8",this.stateOverride=d,this.url=t,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:!1};let i=ls(this.input);i!==this.input&&(this.parseError=!0),this.input=i}let r=ms(this.input);for(r!==this.input&&(this.parseError=!0),this.input=r,this.state=d||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=Me.ucs2.decode(this.input);this.pointer<=this.input.length;++this.pointer){let i=this.input[this.pointer],n=isNaN(i)?void 0:String.fromCodePoint(i),s=this["parse "+this.state](i,n);if(s){if(s===V){this.failure=!0;break}}else break}}B.prototype["parse scheme start"]=function(a,p){if(ga(a))this.buffer+=p.toLowerCase(),this.state="scheme";else if(!this.stateOverride)this.state="no scheme",--this.pointer;else return this.parseError=!0,V;return!0};B.prototype["parse scheme"]=function(a,p){if(H8(a)||a===43||a===45||a===46)this.buffer+=p.toLowerCase();else if(a===58){if(this.stateOverride&&(G(this.url)&&!mp(this.buffer)||!G(this.url)&&mp(this.buffer)||(Wt(this.url)||this.url.port!==null)&&this.buffer==="file"||this.url.scheme==="file"&&(this.url.host===""||this.url.host===null))||(this.url.scheme=this.buffer,this.buffer="",this.stateOverride))return!1;this.url.scheme==="file"?((this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47)&&(this.parseError=!0),this.state="file"):G(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme?this.state="special relative or authority":G(this.url)?this.state="special authority slashes":this.input[this.pointer+1]===47?(this.state="path or authority",++this.pointer):(this.url.cannotBeABaseURL=!0,this.url.path.push(""),this.state="cannot-be-a-base-URL path")}else if(!this.stateOverride)this.buffer="",this.state="no scheme",this.pointer=-1;else return this.parseError=!0,V;return!0};B.prototype["parse no scheme"]=function(a){return this.base===null||this.base.cannotBeABaseURL&&a!==35?V:(this.base.cannotBeABaseURL&&a===35?(this.url.scheme=this.base.scheme,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.url.cannotBeABaseURL=!0,this.state="fragment"):this.base.scheme==="file"?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)};B.prototype["parse special relative or authority"]=function(a){return a===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0};B.prototype["parse path or authority"]=function(a){return a===47?this.state="authority":(this.state="path",--this.pointer),!0};B.prototype["parse relative"]=function(a){return this.url.scheme=this.base.scheme,isNaN(a)?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query):a===47?this.state="relative slash":a===63?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):a===35?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):G(this.url)&&a===92?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(0,this.base.path.length-1),this.state="path",--this.pointer),!0};B.prototype["parse relative slash"]=function(a){return G(this.url)&&(a===47||a===92)?(a===92&&(this.parseError=!0),this.state="special authority ignore slashes"):a===47?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer),!0};B.prototype["parse special authority slashes"]=function(a){return a===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0};B.prototype["parse special authority ignore slashes"]=function(a){return a!==47&&a!==92?(this.state="authority",--this.pointer):this.parseError=!0,!0};B.prototype["parse authority"]=function(a,p){if(a===64){this.parseError=!0,this.atFlag&&(this.buffer="%40"+this.buffer),this.atFlag=!0;let t=zt(this.buffer);for(let d=0;d<t;++d){let r=this.buffer.codePointAt(d);if(r===58&&!this.passwordTokenSeenFlag){this.passwordTokenSeenFlag=!0;continue}let i=oe(r,up);this.passwordTokenSeenFlag?this.url.password+=i:this.url.username+=i}this.buffer=""}else if(isNaN(a)||a===47||a===63||a===35||G(this.url)&&a===92){if(this.atFlag&&this.buffer==="")return this.parseError=!0,V;this.pointer-=zt(this.buffer)+1,this.buffer="",this.state="host"}else this.buffer+=p;return!0};B.prototype["parse hostname"]=B.prototype["parse host"]=function(a,p){if(this.stateOverride&&this.url.scheme==="file")--this.pointer,this.state="file host";else if(a===58&&!this.arrFlag){if(this.buffer==="")return this.parseError=!0,V;let t=op(this.buffer,G(this.url));if(t===V)return V;if(this.url.host=t,this.buffer="",this.state="port",this.stateOverride==="hostname")return!1}else if(isNaN(a)||a===47||a===63||a===35||G(this.url)&&a===92){if(--this.pointer,G(this.url)&&this.buffer==="")return this.parseError=!0,V;if(this.stateOverride&&this.buffer===""&&(Wt(this.url)||this.url.port!==null))return this.parseError=!0,!1;let t=op(this.buffer,G(this.url));if(t===V)return V;if(this.url.host=t,this.buffer="",this.state="path start",this.stateOverride)return!1}else a===91?this.arrFlag=!0:a===93&&(this.arrFlag=!1),this.buffer+=p;return!0};B.prototype["parse port"]=function(a,p){if(va(a))this.buffer+=p;else if(isNaN(a)||a===47||a===63||a===35||G(this.url)&&a===92||this.stateOverride){if(this.buffer!==""){let t=parseInt(this.buffer);if(t>Math.pow(2,16)-1)return this.parseError=!0,V;this.url.port=t===Y8(this.url.scheme)?null:t,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}else return this.parseError=!0,V;return!0};var cs=new Set([47,92,63,35]);B.prototype["parse file"]=function(a){return this.url.scheme="file",a===47||a===92?(a===92&&(this.parseError=!0),this.state="file slash"):this.base!==null&&this.base.scheme==="file"?isNaN(a)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):a===63?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):a===35?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1===0||!K8(a,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!cs.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),Jt(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0};B.prototype["parse file slash"]=function(a){return a===47||a===92?(a===92&&(this.parseError=!0),this.state="file host"):(this.base!==null&&this.base.scheme==="file"&&(Z8(this.base.path[0])?this.url.path.push(this.base.path[0]):this.url.host=this.base.host),this.state="path",--this.pointer),!0};B.prototype["parse file host"]=function(a,p){if(isNaN(a)||a===47||a===92||a===63||a===35)if(--this.pointer,!this.stateOverride&&Gt(this.buffer))this.parseError=!0,this.state="path";else if(this.buffer===""){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let t=op(this.buffer,G(this.url));if(t===V)return V;if(t==="localhost"&&(t=""),this.url.host=t,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=p;return!0};B.prototype["parse path start"]=function(a){return G(this.url)?(a===92&&(this.parseError=!0),this.state="path",a!==47&&a!==92&&--this.pointer):!this.stateOverride&&a===63?(this.url.query="",this.state="query"):!this.stateOverride&&a===35?(this.url.fragment="",this.state="fragment"):a!==void 0&&(this.state="path",a!==47&&--this.pointer),!0};B.prototype["parse path"]=function(a){if(isNaN(a)||a===47||G(this.url)&&a===92||!this.stateOverride&&(a===63||a===35)){if(G(this.url)&&a===92&&(this.parseError=!0),G8(this.buffer)?(Jt(this.url),a!==47&&!(G(this.url)&&a===92)&&this.url.path.push("")):$t(this.buffer)&&a!==47&&!(G(this.url)&&a===92)?this.url.path.push(""):$t(this.buffer)||(this.url.scheme==="file"&&this.url.path.length===0&&Gt(this.buffer)&&(this.url.host!==""&&this.url.host!==null&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)),this.buffer="",this.url.scheme==="file"&&(a===void 0||a===63||a===35))for(;this.url.path.length>1&&this.url.path[0]==="";)this.parseError=!0,this.url.path.shift();a===63&&(this.url.query="",this.state="query"),a===35&&(this.url.fragment="",this.state="fragment")}else a===37&&(!T1(this.input[this.pointer+1])||!T1(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=oe(a,Zt);return!0};B.prototype["parse cannot-be-a-base-URL path"]=function(a){return a===63?(this.url.query="",this.state="query"):a===35?(this.url.fragment="",this.state="fragment"):(!isNaN(a)&&a!==37&&(this.parseError=!0),a===37&&(!T1(this.input[this.pointer+1])||!T1(this.input[this.pointer+2]))&&(this.parseError=!0),isNaN(a)||(this.url.path[0]=this.url.path[0]+oe(a,d2))),!0};B.prototype["parse query"]=function(a,p){if(isNaN(a)||!this.stateOverride&&a===35){(!G(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss")&&(this.encodingOverride="utf-8");let t=new Buffer(this.buffer);for(let d=0;d<t.length;++d)t[d]<33||t[d]>126||t[d]===34||t[d]===35||t[d]===60||t[d]===62?this.url.query+=Kt(t[d]):this.url.query+=String.fromCodePoint(t[d]);this.buffer="",a===35&&(this.url.fragment="",this.state="fragment")}else a===37&&(!T1(this.input[this.pointer+1])||!T1(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=p;return!0};B.prototype["parse fragment"]=function(a){return isNaN(a)||(a===0?this.parseError=!0:(a===37&&(!T1(this.input[this.pointer+1])||!T1(this.input[this.pointer+2]))&&(this.parseError=!0),this.url.fragment+=oe(a,d2))),!0};function fs(e,a){let p=e.scheme+":";if(e.host!==null?(p+="//",(e.username!==""||e.password!=="")&&(p+=e.username,e.password!==""&&(p+=":"+e.password),p+="@"),p+=cp(e.host),e.port!==null&&(p+=":"+e.port)):e.host===null&&e.scheme==="file"&&(p+="//"),e.cannotBeABaseURL)p+=e.path[0];else for(let t of e.path)p+="/"+t;return e.query!==null&&(p+="?"+e.query),!a&&e.fragment!==null&&(p+="#"+e.fragment),p}function hs(e){let a=e.scheme+"://";return a+=cp(e.host),e.port!==null&&(a+=":"+e.port),a}f1.exports.serializeURL=fs;f1.exports.serializeURLOrigin=function(e){switch(e.scheme){case"blob":try{return f1.exports.serializeURLOrigin(f1.exports.parseURL(e.path[0]))}catch{return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return hs({scheme:e.scheme,host:e.host,port:e.port});case"file":return"file://";default:return"null"}};f1.exports.basicURLParse=function(e,a){a===void 0&&(a={});let p=new B(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);return p.failure?"failure":p.url};f1.exports.setTheUsername=function(e,a){e.username="";let p=Me.ucs2.decode(a);for(let t=0;t<p.length;++t)e.username+=oe(p[t],up)};f1.exports.setThePassword=function(e,a){e.password="";let p=Me.ucs2.decode(a);for(let t=0;t<p.length;++t)e.password+=oe(p[t],up)};f1.exports.serializeHost=cp;f1.exports.cannotHaveAUsernamePasswordPort=os;f1.exports.serializeInteger=function(e){return String(e)};f1.exports.parseURL=function(e,a){return a===void 0&&(a={}),f1.exports.basicURLParse(e,{baseURL:a.baseURL,encodingOverride:a.encodingOverride})}});var Xt=u(Yt=>{"use strict";var F=V1();Yt.implementation=class{constructor(a){let p=a[0],t=a[1],d=null;if(t!==void 0&&(d=F.basicURLParse(t),d==="failure"))throw new TypeError("Invalid base URL");let r=F.basicURLParse(p,{baseURL:d});if(r==="failure")throw new TypeError("Invalid URL");this._url=r}get href(){return F.serializeURL(this._url)}set href(a){let p=F.basicURLParse(a);if(p==="failure")throw new TypeError("Invalid URL");this._url=p}get origin(){return F.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(a){F.basicURLParse(a+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(a){F.cannotHaveAUsernamePasswordPort(this._url)||F.setTheUsername(this._url,a)}get password(){return this._url.password}set password(a){F.cannotHaveAUsernamePasswordPort(this._url)||F.setThePassword(this._url,a)}get host(){let a=this._url;return a.host===null?"":a.port===null?F.serializeHost(a.host):F.serializeHost(a.host)+":"+F.serializeInteger(a.port)}set host(a){this._url.cannotBeABaseURL||F.basicURLParse(a,{url:this._url,stateOverride:"host"})}get hostname(){return this._url.host===null?"":F.serializeHost(this._url.host)}set hostname(a){this._url.cannotBeABaseURL||F.basicURLParse(a,{url:this._url,stateOverride:"hostname"})}get port(){return this._url.port===null?"":F.serializeInteger(this._url.port)}set port(a){F.cannotHaveAUsernamePasswordPort(this._url)||(a===""?this._url.port=null:F.basicURLParse(a,{url:this._url,stateOverride:"port"}))}get pathname(){return this._url.cannotBeABaseURL?this._url.path[0]:this._url.path.length===0?"":"/"+this._url.path.join("/")}set pathname(a){this._url.cannotBeABaseURL||(this._url.path=[],F.basicURLParse(a,{url:this._url,stateOverride:"path start"}))}get search(){return this._url.query===null||this._url.query===""?"":"?"+this._url.query}set search(a){let p=this._url;if(a===""){p.query=null;return}let t=a[0]==="?"?a.substring(1):a;p.query="",F.basicURLParse(t,{url:p,stateOverride:"query"})}get hash(){return this._url.fragment===null||this._url.fragment===""?"":"#"+this._url.fragment}set hash(a){if(a===""){this._url.fragment=null;return}let p=a[0]==="#"?a.substring(1):a;this._url.fragment="",F.basicURLParse(p,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}});var ad=u((Kw,wa)=>{"use strict";var _1=Mt(),ed=kt(),Qt=Xt(),P=ed.implSymbol;function W(e){if(!this||this[P]||!(this instanceof W))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");let a=[];for(let p=0;p<arguments.length&&p<2;++p)a[p]=arguments[p];a[0]=_1.USVString(a[0]),a[1]!==void 0&&(a[1]=_1.USVString(a[1])),wa.exports.setup(this,a)}W.prototype.toJSON=function(){if(!this||!wa.exports.is(this))throw new TypeError("Illegal invocation");let a=[];for(let p=0;p<arguments.length&&p<0;++p)a[p]=arguments[p];return this[P].toJSON.apply(this[P],a)};Object.defineProperty(W.prototype,"href",{get(){return this[P].href},set(e){e=_1.USVString(e),this[P].href=e},enumerable:!0,configurable:!0});W.prototype.toString=function(){if(!this||!wa.exports.is(this))throw new TypeError("Illegal invocation");return this.href};Object.defineProperty(W.prototype,"origin",{get(){return this[P].origin},enumerable:!0,configurable:!0});Object.defineProperty(W.prototype,"protocol",{get(){return this[P].protocol},set(e){e=_1.USVString(e),this[P].protocol=e},enumerable:!0,configurable:!0});Object.defineProperty(W.prototype,"username",{get(){return this[P].username},set(e){e=_1.USVString(e),this[P].username=e},enumerable:!0,configurable:!0});Object.defineProperty(W.prototype,"password",{get(){return this[P].password},set(e){e=_1.USVString(e),this[P].password=e},enumerable:!0,configurable:!0});Object.defineProperty(W.prototype,"host",{get(){return this[P].host},set(e){e=_1.USVString(e),this[P].host=e},enumerable:!0,configurable:!0});Object.defineProperty(W.prototype,"hostname",{get(){return this[P].hostname},set(e){e=_1.USVString(e),this[P].hostname=e},enumerable:!0,configurable:!0});Object.defineProperty(W.prototype,"port",{get(){return this[P].port},set(e){e=_1.USVString(e),this[P].port=e},enumerable:!0,configurable:!0});Object.defineProperty(W.prototype,"pathname",{get(){return this[P].pathname},set(e){e=_1.USVString(e),this[P].pathname=e},enumerable:!0,configurable:!0});Object.defineProperty(W.prototype,"search",{get(){return this[P].search},set(e){e=_1.USVString(e),this[P].search=e},enumerable:!0,configurable:!0});Object.defineProperty(W.prototype,"hash",{get(){return this[P].hash},set(e){e=_1.USVString(e),this[P].hash=e},enumerable:!0,configurable:!0});wa.exports={is(e){return!!e&&e[P]instanceof Qt.implementation},create(e,a){let p=Object.create(W.prototype);return this.setup(p,e,a),p},setup(e,a,p){p||(p={}),p.wrapper=e,e[P]=new Qt.implementation(a,p),e[P][ed.wrapperSymbol]=e},interface:W,expose:{Window:{URL:W},Worker:{URL:W}}}});var pd=u(E1=>{"use strict";E1.URL=ad().interface;E1.serializeURL=V1().serializeURL;E1.serializeURLOrigin=V1().serializeURLOrigin;E1.basicURLParse=V1().basicURLParse;E1.setTheUsername=V1().setTheUsername;E1.setThePassword=V1().setThePassword;E1.serializeHost=V1().serializeHost;E1.serializeInteger=V1().serializeInteger;E1.parseURL=V1().parseURL});var fd=u((D1,cd)=>{"use strict";Object.defineProperty(D1,"__esModule",{value:!0});function qe(e){return e&&typeof e=="object"&&"default"in e?e.default:e}var x1=qe(require("stream")),id=qe(require("http")),i2=qe(require("url")),sd=qe(pd()),vs=qe(require("https")),ue=qe(require("zlib")),gs=x1.Readable,F1=Symbol("buffer"),fp=Symbol("type"),ba=class e{constructor(){this[fp]="";let a=arguments[0],p=arguments[1],t=[],d=0;if(a){let i=a,n=Number(i.length);for(let s=0;s<n;s++){let l=i[s],o;l instanceof Buffer?o=l:ArrayBuffer.isView(l)?o=Buffer.from(l.buffer,l.byteOffset,l.byteLength):l instanceof ArrayBuffer?o=Buffer.from(l):l instanceof e?o=l[F1]:o=Buffer.from(typeof l=="string"?l:String(l)),d+=o.length,t.push(o)}}this[F1]=Buffer.concat(t);let r=p&&p.type!==void 0&&String(p.type).toLowerCase();r&&!/[^\u0020-\u007E]/.test(r)&&(this[fp]=r)}get size(){return this[F1].length}get type(){return this[fp]}text(){return Promise.resolve(this[F1].toString())}arrayBuffer(){let a=this[F1],p=a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength);return Promise.resolve(p)}stream(){let a=new gs;return a._read=function(){},a.push(this[F1]),a.push(null),a}toString(){return"[object Blob]"}slice(){let a=this.size,p=arguments[0],t=arguments[1],d,r;p===void 0?d=0:p<0?d=Math.max(a+p,0):d=Math.min(p,a),t===void 0?r=a:t<0?r=Math.max(a+t,0):r=Math.min(t,a);let i=Math.max(r-d,0),s=this[F1].slice(d,d+i),l=new e([],{type:arguments[2]});return l[F1]=s,l}};Object.defineProperties(ba.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Object.defineProperty(ba.prototype,Symbol.toStringTag,{value:"Blob",writable:!1,enumerable:!1,configurable:!0});function a1(e,a,p){Error.call(this,e),this.message=e,this.type=a,p&&(this.code=this.errno=p.code),Error.captureStackTrace(this,this.constructor)}a1.prototype=Object.create(Error.prototype);a1.prototype.constructor=a1;a1.prototype.name="FetchError";var wp;try{wp=require("encoding").convert}catch{}var z1=Symbol("Body internals"),td=x1.PassThrough;function Y(e){var a=this,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=p.size;let d=t===void 0?0:t;var r=p.timeout;let i=r===void 0?0:r;e==null?e=null:nd(e)?e=Buffer.from(e.toString()):Sa(e)||Buffer.isBuffer(e)||(Object.prototype.toString.call(e)==="[object ArrayBuffer]"?e=Buffer.from(e):ArrayBuffer.isView(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof x1||(e=Buffer.from(String(e)))),this[z1]={body:e,disturbed:!1,error:null},this.size=d,this.timeout=i,e instanceof x1&&e.on("error",function(n){let s=n.name==="AbortError"?n:new a1(`Invalid response body while trying to fetch ${a.url}: ${n.message}`,"system",n);a[z1].error=s})}Y.prototype={get body(){return this[z1].body},get bodyUsed(){return this[z1].disturbed},arrayBuffer(){return ke.call(this).then(function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)})},blob(){let e=this.headers&&this.headers.get("content-type")||"";return ke.call(this).then(function(a){return Object.assign(new ba([],{type:e.toLowerCase()}),{[F1]:a})})},json(){var e=this;return ke.call(this).then(function(a){try{return JSON.parse(a.toString())}catch(p){return Y.Promise.reject(new a1(`invalid json response body at ${e.url} reason: ${p.message}`,"invalid-json"))}})},text(){return ke.call(this).then(function(e){return e.toString()})},buffer(){return ke.call(this)},textConverted(){var e=this;return ke.call(this).then(function(a){return ws(a,e.headers)})}};Object.defineProperties(Y.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}});Y.mixIn=function(e){for(let a of Object.getOwnPropertyNames(Y.prototype))if(!(a in e)){let p=Object.getOwnPropertyDescriptor(Y.prototype,a);Object.defineProperty(e,a,p)}};function ke(){var e=this;if(this[z1].disturbed)return Y.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[z1].disturbed=!0,this[z1].error)return Y.Promise.reject(this[z1].error);let a=this.body;if(a===null)return Y.Promise.resolve(Buffer.alloc(0));if(Sa(a)&&(a=a.stream()),Buffer.isBuffer(a))return Y.Promise.resolve(a);if(!(a instanceof x1))return Y.Promise.resolve(Buffer.alloc(0));let p=[],t=0,d=!1;return new Y.Promise(function(r,i){let n;e.timeout&&(n=setTimeout(function(){d=!0,i(new a1(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))},e.timeout)),a.on("error",function(s){s.name==="AbortError"?(d=!0,i(s)):i(new a1(`Invalid response body while trying to fetch ${e.url}: ${s.message}`,"system",s))}),a.on("data",function(s){if(!(d||s===null)){if(e.size&&t+s.length>e.size){d=!0,i(new a1(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}t+=s.length,p.push(s)}}),a.on("end",function(){if(!d){clearTimeout(n);try{r(Buffer.concat(p,t))}catch(s){i(new a1(`Could not create Buffer from response body for ${e.url}: ${s.message}`,"system",s))}}})})}function ws(e,a){if(typeof wp!="function")throw new Error("The package `encoding` must be installed to use the textConverted() function");let p=a.get("content-type"),t="utf-8",d,r;return p&&(d=/charset=([^;]*)/i.exec(p)),r=e.slice(0,1024).toString(),!d&&r&&(d=/<meta.+?charset=(['"])(.+?)\1/i.exec(r)),!d&&r&&(d=/<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(r),d||(d=/<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(r),d&&d.pop()),d&&(d=/charset=(.*)/i.exec(d.pop()))),!d&&r&&(d=/<\?xml.+?encoding=(['"])(.+?)\1/i.exec(r)),d&&(t=d.pop(),(t==="gb2312"||t==="gbk")&&(t="gb18030")),wp(e,"UTF-8",t).toString()}function nd(e){return typeof e!="object"||typeof e.append!="function"||typeof e.delete!="function"||typeof e.get!="function"||typeof e.getAll!="function"||typeof e.has!="function"||typeof e.set!="function"?!1:e.constructor.name==="URLSearchParams"||Object.prototype.toString.call(e)==="[object URLSearchParams]"||typeof e.sort=="function"}function Sa(e){return typeof e=="object"&&typeof e.arrayBuffer=="function"&&typeof e.type=="string"&&typeof e.stream=="function"&&typeof e.constructor=="function"&&typeof e.constructor.name=="string"&&/^(Blob|File)$/.test(e.constructor.name)&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function ld(e){let a,p,t=e.body;if(e.bodyUsed)throw new Error("cannot clone body after it is used");return t instanceof x1&&typeof t.getBoundary!="function"&&(a=new td,p=new td,t.pipe(a),t.pipe(p),e[z1].body=a,t=p),t}function md(e){return e===null?null:typeof e=="string"?"text/plain;charset=UTF-8":nd(e)?"application/x-www-form-urlencoded;charset=UTF-8":Sa(e)?e.type||null:Buffer.isBuffer(e)||Object.prototype.toString.call(e)==="[object ArrayBuffer]"||ArrayBuffer.isView(e)?null:typeof e.getBoundary=="function"?`multipart/form-data;boundary=${e.getBoundary()}`:e instanceof x1?null:"text/plain;charset=UTF-8"}function od(e){let a=e.body;return a===null?0:Sa(a)?a.size:Buffer.isBuffer(a)?a.length:a&&typeof a.getLengthSync=="function"&&(a._lengthRetrievers&&a._lengthRetrievers.length==0||a.hasKnownLength&&a.hasKnownLength())?a.getLengthSync():null}function _s(e,a){let p=a.body;p===null?e.end():Sa(p)?p.stream().pipe(e):Buffer.isBuffer(p)?(e.write(p),e.end()):p.pipe(e)}Y.Promise=global.Promise;var ud=/[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/,_p=/[^\t\x20-\x7e\x80-\xff]/;function _a(e){if(e=`${e}`,ud.test(e)||e==="")throw new TypeError(`${e} is not a legal HTTP header name`)}function dd(e){if(e=`${e}`,_p.test(e))throw new TypeError(`${e} is not a legal HTTP header value`)}function Oe(e,a){a=a.toLowerCase();for(let p in e)if(p.toLowerCase()===a)return p}var U=Symbol("map"),y1=class e{constructor(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0;if(this[U]=Object.create(null),a instanceof e){let p=a.raw(),t=Object.keys(p);for(let d of t)for(let r of p[d])this.append(d,r);return}if(a!=null)if(typeof a=="object"){let p=a[Symbol.iterator];if(p!=null){if(typeof p!="function")throw new TypeError("Header pairs must be iterable");let t=[];for(let d of a){if(typeof d!="object"||typeof d[Symbol.iterator]!="function")throw new TypeError("Each header pair must be iterable");t.push(Array.from(d))}for(let d of t){if(d.length!==2)throw new TypeError("Each header pair must be a name/value tuple");this.append(d[0],d[1])}}else for(let t of Object.keys(a)){let d=a[t];this.append(t,d)}}else throw new TypeError("Provided initializer must be an object")}get(a){a=`${a}`,_a(a);let p=Oe(this[U],a);return p===void 0?null:this[U][p].join(", ")}forEach(a){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,t=bp(this),d=0;for(;d<t.length;){var r=t[d];let i=r[0],n=r[1];a.call(p,n,i,this),t=bp(this),d++}}set(a,p){a=`${a}`,p=`${p}`,_a(a),dd(p);let t=Oe(this[U],a);this[U][t!==void 0?t:a]=[p]}append(a,p){a=`${a}`,p=`${p}`,_a(a),dd(p);let t=Oe(this[U],a);t!==void 0?this[U][t].push(p):this[U][a]=[p]}has(a){return a=`${a}`,_a(a),Oe(this[U],a)!==void 0}delete(a){a=`${a}`,_a(a);let p=Oe(this[U],a);p!==void 0&&delete this[U][p]}raw(){return this[U]}keys(){return hp(this,"key")}values(){return hp(this,"value")}[Symbol.iterator](){return hp(this,"key+value")}};y1.prototype.entries=y1.prototype[Symbol.iterator];Object.defineProperty(y1.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(y1.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});function bp(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key+value";return Object.keys(e[U]).sort().map(a==="key"?function(t){return t.toLowerCase()}:a==="value"?function(t){return e[U][t].join(", ")}:function(t){return[t.toLowerCase(),e[U][t].join(", ")]})}var yp=Symbol("internal");function hp(e,a){let p=Object.create(Sp);return p[yp]={target:e,kind:a,index:0},p}var Sp=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==Sp)throw new TypeError("Value of `this` is not a HeadersIterator");var e=this[yp];let a=e.target,p=e.kind,t=e.index,d=bp(a,p),r=d.length;return t>=r?{value:void 0,done:!0}:(this[yp].index=t+1,{value:d[t],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(Sp,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});function bs(e){let a=Object.assign({__proto__:null},e[U]),p=Oe(e[U],"Host");return p!==void 0&&(a[p]=a[p][0]),a}function ys(e){let a=new y1;for(let p of Object.keys(e))if(!ud.test(p))if(Array.isArray(e[p]))for(let t of e[p])_p.test(t)||(a[U][p]===void 0?a[U][p]=[t]:a[U][p].push(t));else _p.test(e[p])||(a[U][p]=[e[p]]);return a}var X1=Symbol("Response internals"),Ss=id.STATUS_CODES,b1=class e{constructor(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Y.call(this,a,p);let t=p.status||200,d=new y1(p.headers);if(a!=null&&!d.has("Content-Type")){let r=md(a);r&&d.append("Content-Type",r)}this[X1]={url:p.url,status:t,statusText:p.statusText||Ss[t],headers:d,counter:p.counter}}get url(){return this[X1].url||""}get status(){return this[X1].status}get ok(){return this[X1].status>=200&&this[X1].status<300}get redirected(){return this[X1].counter>0}get statusText(){return this[X1].statusText}get headers(){return this[X1].headers}clone(){return new e(ld(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}};Y.mixIn(b1.prototype);Object.defineProperties(b1.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});Object.defineProperty(b1.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});var j1=Symbol("Request internals"),Ns=i2.URL||sd.URL,Ts=i2.parse,xs=i2.format;function vp(e){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)&&(e=new Ns(e).toString()),Ts(e)}var Ds="destroy"in x1.Readable.prototype;function r2(e){return typeof e=="object"&&typeof e[j1]=="object"}function Cs(e){let a=e&&typeof e=="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}var ee=class e{constructor(a){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t;r2(a)?t=vp(a.url):(a&&a.href?t=vp(a.href):t=vp(`${a}`),a={});let d=p.method||a.method||"GET";if(d=d.toUpperCase(),(p.body!=null||r2(a)&&a.body!==null)&&(d==="GET"||d==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let r=p.body!=null?p.body:r2(a)&&a.body!==null?ld(a):null;Y.call(this,r,{timeout:p.timeout||a.timeout||0,size:p.size||a.size||0});let i=new y1(p.headers||a.headers||{});if(r!=null&&!i.has("Content-Type")){let s=md(r);s&&i.append("Content-Type",s)}let n=r2(a)?a.signal:null;if("signal"in p&&(n=p.signal),n!=null&&!Cs(n))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[j1]={method:d,redirect:p.redirect||a.redirect||"follow",headers:i,parsedURL:t,signal:n},this.follow=p.follow!==void 0?p.follow:a.follow!==void 0?a.follow:20,this.compress=p.compress!==void 0?p.compress:a.compress!==void 0?a.compress:!0,this.counter=p.counter||a.counter||0,this.agent=p.agent||a.agent}get method(){return this[j1].method}get url(){return xs(this[j1].parsedURL)}get headers(){return this[j1].headers}get redirect(){return this[j1].redirect}get signal(){return this[j1].signal}clone(){return new e(this)}};Y.mixIn(ee.prototype);Object.defineProperty(ee.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(ee.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}});function As(e){let a=e[j1].parsedURL,p=new y1(e[j1].headers);if(p.has("Accept")||p.set("Accept","*/*"),!a.protocol||!a.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(a.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(e.signal&&e.body instanceof x1.Readable&&!Ds)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let t=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)&&(t="0"),e.body!=null){let r=od(e);typeof r=="number"&&(t=String(r))}t&&p.set("Content-Length",t),p.has("User-Agent")||p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),e.compress&&!p.has("Accept-Encoding")&&p.set("Accept-Encoding","gzip,deflate");let d=e.agent;return typeof d=="function"&&(d=d(a)),Object.assign({},a,{method:e.method,headers:bs(p),agent:d})}function Re(e){Error.call(this,e),this.type="aborted",this.message=e,Error.captureStackTrace(this,this.constructor)}Re.prototype=Object.create(Error.prototype);Re.prototype.constructor=Re;Re.prototype.name="AbortError";var ya=i2.URL||sd.URL,rd=x1.PassThrough,Vs=function(a,p){let t=new ya(p).hostname,d=new ya(a).hostname;return t===d||t[t.length-d.length-1]==="."&&t.endsWith(d)},Es=function(a,p){let t=new ya(p).protocol,d=new ya(a).protocol;return t===d};function Q1(e,a){if(!Q1.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return Y.Promise=Q1.Promise,new Q1.Promise(function(p,t){let d=new ee(e,a),r=As(d),i=(r.protocol==="https:"?vs:id).request,n=d.signal,s=null,l=function(){let h=new Re("The user aborted a request.");t(h),d.body&&d.body instanceof x1.Readable&&gp(d.body,h),!(!s||!s.body)&&s.body.emit("error",h)};if(n&&n.aborted){l();return}let o=function(){l(),v()},m=i(r),c;n&&n.addEventListener("abort",o);function v(){m.abort(),n&&n.removeEventListener("abort",o),clearTimeout(c)}d.timeout&&m.once("socket",function(f){c=setTimeout(function(){t(new a1(`network timeout at: ${d.url}`,"request-timeout")),v()},d.timeout)}),m.on("error",function(f){t(new a1(`request to ${d.url} failed, reason: ${f.message}`,"system",f)),s&&s.body&&gp(s.body,f),v()}),Ps(m,function(f){n&&n.aborted||s&&s.body&&gp(s.body,f)}),parseInt(process.version.substring(1))<14&&m.on("socket",function(f){f.addListener("close",function(h){let g=f.listenerCount("data")>0;if(s&&g&&!h&&!(n&&n.aborted)){let _=new Error("Premature close");_.code="ERR_STREAM_PREMATURE_CLOSE",s.body.emit("error",_)}})}),m.on("response",function(f){clearTimeout(c);let h=ys(f.headers);if(Q1.isRedirect(f.statusCode)){let y=h.get("Location"),N=null;try{N=y===null?null:new ya(y,d.url).toString()}catch{if(d.redirect!=="manual"){t(new a1(`uri requested responds with an invalid redirect URL: ${y}`,"invalid-redirect")),v();return}}switch(d.redirect){case"error":t(new a1(`uri requested responds with a redirect, redirect mode is set to error: ${d.url}`,"no-redirect")),v();return;case"manual":if(N!==null)try{h.set("Location",N)}catch(L){t(L)}break;case"follow":if(N===null)break;if(d.counter>=d.follow){t(new a1(`maximum redirect reached at: ${d.url}`,"max-redirect")),v();return}let C={headers:new y1(d.headers),follow:d.follow,counter:d.counter+1,agent:d.agent,compress:d.compress,method:d.method,body:d.body,signal:d.signal,timeout:d.timeout,size:d.size};if(!Vs(d.url,N)||!Es(d.url,N))for(let L of["authorization","www-authenticate","cookie","cookie2"])C.headers.delete(L);if(f.statusCode!==303&&d.body&&od(d)===null){t(new a1("Cannot follow redirect with body being a readable stream","unsupported-redirect")),v();return}(f.statusCode===303||(f.statusCode===301||f.statusCode===302)&&d.method==="POST")&&(C.method="GET",C.body=void 0,C.headers.delete("content-length")),p(Q1(new ee(N,C))),v();return}}f.once("end",function(){n&&n.removeEventListener("abort",o)});let g=f.pipe(new rd),_={url:d.url,status:f.statusCode,statusText:f.statusMessage,headers:h,size:d.size,timeout:d.timeout,counter:d.counter},w=h.get("Content-Encoding");if(!d.compress||d.method==="HEAD"||w===null||f.statusCode===204||f.statusCode===304){s=new b1(g,_),p(s);return}let b={flush:ue.Z_SYNC_FLUSH,finishFlush:ue.Z_SYNC_FLUSH};if(w=="gzip"||w=="x-gzip"){g=g.pipe(ue.createGunzip(b)),s=new b1(g,_),p(s);return}if(w=="deflate"||w=="x-deflate"){let y=f.pipe(new rd);y.once("data",function(N){(N[0]&15)===8?g=g.pipe(ue.createInflate()):g=g.pipe(ue.createInflateRaw()),s=new b1(g,_),p(s)}),y.on("end",function(){s||(s=new b1(g,_),p(s))});return}if(w=="br"&&typeof ue.createBrotliDecompress=="function"){g=g.pipe(ue.createBrotliDecompress()),s=new b1(g,_),p(s);return}s=new b1(g,_),p(s)}),_s(m,d)})}function Ps(e,a){let p;e.on("socket",function(t){p=t}),e.on("response",function(t){let d=t.headers;d["transfer-encoding"]==="chunked"&&!d["content-length"]&&t.once("close",function(r){if(p&&p.listenerCount("data")>0&&!r){let n=new Error("Premature close");n.code="ERR_STREAM_PREMATURE_CLOSE",a(n)}})})}function gp(e,a){e.destroy?e.destroy(a):(e.emit("error",a),e.end())}Q1.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};Q1.Promise=global.Promise;cd.exports=D1=Q1;Object.defineProperty(D1,"__esModule",{value:!0});D1.default=D1;D1.Headers=y1;D1.Request=ee;D1.Response=b1;D1.FetchError=a1;D1.AbortError=Re});var n2=u((ce,hd)=>{var Na=fd(),Ms=Na.default||Na,s2=function(e,a){return/^\/\//.test(e)&&(e="https:"+e),Ms.call(this,e,a)};s2.ponyfill=!0;hd.exports=ce=s2;ce.fetch=s2;ce.Headers=Na.Headers;ce.Request=Na.Request;ce.Response=Na.Response;ce.default=s2});var Np=u(l2=>{"use strict";Object.defineProperty(l2,"__esModule",{value:!0});l2.isJSON=void 0;function ks(e){if(e){let a=Rs(e);if(!a)return!1;if(a.subtype==="json"||a.suffix==="json"||a.suffix&&/\bjson\b/i.test(a.suffix)||a.subtype&&/\bjson\b/i.test(a.subtype))return!0}return!1}l2.isJSON=ks;var Os=/^([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126});?$/;function Rs(e){let a=e.indexOf(";"),p=a!==-1?e.slice(0,a).trim():e.trim(),t=Os.exec(p.toLowerCase().toLowerCase());if(!t)return;let d=t[1],r=t[2],i,n=r.lastIndexOf("+");return n!==-1&&(i=r.substring(n+1),r=r.substring(0,n)),{type:d,subtype:r,suffix:i}}});var _d=u(m2=>{"use strict";Object.defineProperty(m2,"__esModule",{value:!0});m2.useFetch=void 0;var Le=require("react"),qs=ha(),vd=B1(),gd=n2(),Ls=Np(),wd=me();async function Is(e){if(!e.ok)throw new Error(e.statusText);let a=e.headers.get("content-type");return a&&(0,Ls.isJSON)(a)?await e.json():await e.text()}function Bs(e){return{data:e,hasMore:!1}}function Fs(e,a){let{parseResponse:p,mapResult:t,initialData:d,execute:r,keepPreviousData:i,onError:n,onData:s,onWillExecute:l,failureToastOptions:o,...m}=a||{},c={initialData:d,execute:r,keepPreviousData:i,onError:n,onData:s,onWillExecute:l,failureToastOptions:o},v=(0,vd.useLatest)(p||Is),f=(0,vd.useLatest)(t||Bs),h=(0,Le.useRef)(),g=(0,Le.useRef)(),_=typeof e=="function"?e({page:0}):void 0;(!h.current||typeof g.current>"u"||g.current!==_)&&(h.current=e),g.current=_;let w=(0,Le.useRef)(),b=(0,Le.useCallback)((C,L)=>async E=>{let e1=await(0,gd.fetch)(C(E),{signal:w.current?.signal,...L}),J=await v.current(e1);return f.current?.(J)},[v,f]),y=(0,Le.useCallback)(async(C,L)=>{let E=await(0,gd.fetch)(C,{signal:w.current?.signal,...L}),e1=await v.current(E);return f.current(e1)?.data},[v,f]),N=(0,Le.useMemo)(()=>g.current?b:y,[g,y,b]);return(0,qs.useCachedPromise)(N,[h.current,m],{...c,internal_cacheKeySuffix:g.current+(0,wd.hash)(f.current)+(0,wd.hash)(v.current),abortable:w})}m2.useFetch=Fs});var bd=u(fe=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.signals=void 0;fe.signals=[];fe.signals.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&fe.signals.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&fe.signals.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});var yd=u(P1=>{"use strict";var o2;Object.defineProperty(P1,"__esModule",{value:!0});P1.unload=P1.load=P1.onExit=P1.signals=void 0;var u2=bd();Object.defineProperty(P1,"signals",{enumerable:!0,get:function(){return u2.signals}});var c2=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",Tp=Symbol.for("signal-exit emitter"),xp=globalThis,js=Object.defineProperty.bind(Object),Dp=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(xp[Tp])return xp[Tp];js(xp,Tp,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(a,p){this.listeners[a].push(p)}removeListener(a,p){let t=this.listeners[a],d=t.indexOf(p);d!==-1&&(d===0&&t.length===1?t.length=0:t.splice(d,1))}emit(a,p,t){if(this.emitted[a])return!1;this.emitted[a]=!0;let d=!1;for(let r of this.listeners[a])d=r(p,t)===!0||d;return a==="exit"&&(d=this.emit("afterExit",p,t)||d),d}},f2=class{},zs=e=>({onExit(a,p){return e.onExit(a,p)},load(){return e.load()},unload(){return e.unload()}}),Cp=class extends f2{onExit(){return()=>{}}load(){}unload(){}},Ap=class extends f2{#i=Vp.platform==="win32"?"SIGINT":"SIGHUP";#a=new Dp;#e;#d;#r;#t={};#p=!1;constructor(a){super(),this.#e=a,this.#t={};for(let p of u2.signals)this.#t[p]=()=>{let t=this.#e.listeners(p),{count:d}=this.#a,r=a;if(typeof r.__signal_exit_emitter__=="object"&&typeof r.__signal_exit_emitter__.count=="number"&&(d+=r.__signal_exit_emitter__.count),t.length===d){this.unload();let i=this.#a.emit("exit",null,p),n=p==="SIGHUP"?this.#i:p;i||a.kill(a.pid,n)}};this.#r=a.reallyExit,this.#d=a.emit}onExit(a,p){if(!c2(this.#e))return()=>{};this.#p===!1&&this.load();let t=p?.alwaysLast?"afterExit":"exit";return this.#a.on(t,a),()=>{this.#a.removeListener(t,a),this.#a.listeners.exit.length===0&&this.#a.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#p){this.#p=!0,this.#a.count+=1;for(let a of u2.signals)try{let p=this.#t[a];p&&this.#e.on(a,p)}catch{}this.#e.emit=(a,...p)=>this.#n(a,...p),this.#e.reallyExit=a=>this.#s(a)}}unload(){this.#p&&(this.#p=!1,u2.signals.forEach(a=>{let p=this.#t[a];if(!p)throw new Error("Listener not defined for signal: "+a);try{this.#e.removeListener(a,p)}catch{}}),this.#e.emit=this.#d,this.#e.reallyExit=this.#r,this.#a.count-=1)}#s(a){return c2(this.#e)?(this.#e.exitCode=a||0,this.#a.emit("exit",this.#e.exitCode,null),this.#r.call(this.#e,this.#e.exitCode)):0}#n(a,...p){let t=this.#d;if(a==="exit"&&c2(this.#e)){typeof p[0]=="number"&&(this.#e.exitCode=p[0]);let d=t.call(this.#e,a,...p);return this.#a.emit("exit",this.#e.exitCode,null),d}else return t.call(this.#e,a,...p)}},Vp=globalThis.process;o2=zs(c2(Vp)?new Ap(Vp):new Cp),P1.onExit=o2.onExit,P1.load=o2.load,P1.unload=o2.unload});var h2=u(S1=>{"use strict";var Us=S1&&S1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(S1,"__esModule",{value:!0});S1.defaultParsing=S1.handleOutput=S1.getSpawnedResult=S1.getSpawnedPromise=void 0;var $s=require("node:buffer"),Td=Us(require("node:stream")),Hs=require("node:util"),Gs=yd();function Ks(e,{timeout:a}={}){let p=new Promise((n,s)=>{e.on("exit",(l,o)=>{n({exitCode:l,signal:o,timedOut:!1})}),e.on("error",l=>{s(l)}),e.stdin&&e.stdin.on("error",l=>{s(l)})});if(a===0||a===void 0)return p;let t,d=new Promise((n,s)=>{t=setTimeout(()=>{e.kill("SIGTERM"),s(Object.assign(new Error("Timed out"),{timedOut:!0,signal:"SIGTERM"}))},a)}),r=p.finally(()=>{clearTimeout(t)}),i=(0,Gs.onExit)(()=>{e.kill()});return Promise.race([d,r]).finally(()=>i())}S1.getSpawnedPromise=Ks;var Ep=class extends Error{constructor(){super("The output is too big"),this.name="MaxBufferError"}},Zs=(0,Hs.promisify)(Td.default.pipeline);function Js(e){let{encoding:a}=e,p=a==="buffer",t=new Td.default.PassThrough({objectMode:!1});a&&a!=="buffer"&&t.setEncoding(a);let d=0,r=[];return t.on("data",i=>{r.push(i),d+=i.length}),t.getBufferedValue=()=>p?Buffer.concat(r,d):r.join(""),t.getBufferedLength=()=>d,t}async function Sd(e,a){let p=Js(a);return await new Promise((t,d)=>{let r=i=>{i&&p.getBufferedLength()<=$s.constants.MAX_LENGTH&&(i.bufferedData=p.getBufferedValue()),d(i)};(async()=>{try{await Zs(e,p),t()}catch(i){r(i)}})(),p.on("data",()=>{p.getBufferedLength()>1e3*1e3*80&&r(new Ep)})}),p.getBufferedValue()}async function Nd(e,a){e.destroy();try{return await a}catch(p){return p.bufferedData}}async function Ws({stdout:e,stderr:a},{encoding:p},t){let d=Sd(e,{encoding:p}),r=Sd(a,{encoding:p});try{return await Promise.all([t,d,r])}catch(i){return Promise.all([{error:i,exitCode:null,signal:i.signal,timedOut:i.timedOut||!1},Nd(e,d),Nd(a,r)])}}S1.getSpawnedResult=Ws;function Ys(e){let a=typeof e=="string"?` +`:10,p=typeof e=="string"?"\r":13;return e[e.length-1]===a&&(e=e.slice(0,-1)),e[e.length-1]===p&&(e=e.slice(0,-1)),e}function Xs(e,a){return e.stripFinalNewline?Ys(a):a}S1.handleOutput=Xs;var Qs=({timedOut:e,timeout:a,signal:p,exitCode:t})=>e?`timed out after ${a} milliseconds`:p!=null?`was killed with ${p}`:t!=null?`failed with exit code ${t}`:"failed",e7=({stdout:e,stderr:a,error:p,signal:t,exitCode:d,command:r,timedOut:i,options:n,parentError:s})=>{let o=`Command ${Qs({timedOut:i,timeout:n?.timeout,signal:t,exitCode:d})}: ${r}`,m=p?`${o} +${p.message}`:o,c=[m,a,e].filter(Boolean).join(` +`);return p?p.originalMessage=p.message:p=s,p.message=c,p.shortMessage=m,p.command=r,p.exitCode=d,p.signal=t,p.stdout=e,p.stderr=a,"bufferedData"in p&&delete p.bufferedData,p};function a7({stdout:e,stderr:a,error:p,exitCode:t,signal:d,timedOut:r,command:i,options:n,parentError:s}){if(p||t!==0||d!==null)throw e7({error:p,exitCode:t,signal:d,stdout:e,stderr:a,command:i,timedOut:r,options:n,parentError:s});return e}S1.defaultParsing=a7});var Dd=u(Ie=>{"use strict";var p7=Ie&&Ie.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ie,"__esModule",{value:!0});Ie.useExec=void 0;var t7=p7(require("node:child_process")),xd=require("react"),d7=ha(),r7=B1(),Ta=h2(),i7=/ +/g;function s7(e,a){if(a)return[e,...a];let p=[];for(let t of e.trim().split(i7)){let d=p[p.length-1];d&&d.endsWith("\\")?p[p.length-1]=`${d.slice(0,-1)} ${t}`:p.push(t)}return p}function n7(e,a,p){let{parseOutput:t,input:d,onData:r,onWillExecute:i,initialData:n,execute:s,keepPreviousData:l,onError:o,failureToastOptions:m,...c}=Array.isArray(a)?p||{}:a||{},v={initialData:n,execute:s,keepPreviousData:l,onError:o,onData:r,onWillExecute:i,failureToastOptions:m},f=(0,xd.useRef)(),h=(0,r7.useLatest)(t||Ta.defaultParsing),g=(0,xd.useCallback)(async(_,w,b,y)=>{let[N,...C]=s7(_,w),L=[N,...C].join(" "),E={stripFinalNewline:!0,...b,timeout:b?.timeout||1e4,signal:f.current?.signal,encoding:b?.encoding===null?"buffer":b?.encoding||"utf8",env:{PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",...process.env,...b?.env}},e1=t7.default.spawn(N,C,E),J=(0,Ta.getSpawnedPromise)(e1,E);y&&e1.stdin.end(y);let[{error:O,exitCode:u1,signal:w1,timedOut:A},t1,s1]=await(0,Ta.getSpawnedResult)(e1,E,J),De=(0,Ta.handleOutput)(E,t1),pp=(0,Ta.handleOutput)(E,s1);return h.current({stdout:De,stderr:pp,error:O,exitCode:u1,signal:w1,timedOut:A,command:L,options:E,parentError:new Error})},[h]);return(0,d7.useCachedPromise)(g,[e,Array.isArray(a)?a:[],c,d],{...v,abortable:f})}Ie.useExec=n7});var kp=u((t_,Ed)=>{"use strict";var{Readable:a_,Writable:p_,Duplex:l7,Transform:Vd}=require("stream"),m7=Symbol.for("object-stream.none"),Pp=Symbol.for("object-stream.final"),Mp=Symbol.for("object-stream.many"),o7=e=>({[Pp]:e}),u7=e=>({[Mp]:e}),c7=e=>e&&typeof e=="object"&&Pp in e,f7=e=>e&&typeof e=="object"&&Mp in e,h7=e=>e[Pp],v7=e=>e[Mp],g7=async(e,a)=>{for(;;){let p=e.next();if(p&&typeof p.then=="function"&&(p=await p),p.done)break;let t=p.value;t&&typeof t.then=="function"&&(t=await t),$.sanitize(t,a)}},w7=e=>new Vd({writableObjectMode:!0,readableObjectMode:!0,transform(a,p,t){try{let d=e.call(this,a,p);if(d&&typeof d.then=="function"){d.then(r=>($.sanitize(r,this),t(null)),r=>t(r));return}if(d&&typeof d.next=="function"){g7(d,this).then(()=>t(null),r=>t(r));return}$.sanitize(d,this),t(null)}catch(d){t(d)}}}),_7=e=>new Vd({writableObjectMode:!0,readableObjectMode:!0,transform(a,p,t){try{let d=a;for(let r=0;r<e.length;++r){let i=e[r].call(this,d,p);if(i===$.none){t(null);return}if($.isFinal(i)){d=$.getFinalValue(i);break}d=i}$.sanitize(d,this),t(null)}catch(d){t(d)}}}),Cd=e=>e&&typeof e.pipe=="function"&&typeof e.on=="function"&&(!e._writableState||(typeof e._readableState=="object"?e._readableState.readable:null)!==!1)&&(!e._writableState||e._readableState),Ad=e=>e&&typeof e.write=="function"&&typeof e.on=="function"&&(!e._readableState||(typeof e._writableState=="object"?e._writableState.writable:null)!==!1),b7=e=>e&&typeof e.pipe=="function"&&e._readableState&&typeof e.on=="function"&&typeof e.write=="function",$=class e extends l7{constructor(a,p){if(super(p||{writableObjectMode:!0,readableObjectMode:!0}),!(a instanceof Array)||!a.length)throw Error("Chain's argument should be a non-empty array.");this.streams=a.filter(t=>t).map((t,d,r)=>{if(typeof t=="function"||t instanceof Array)return e.convertToTransform(t);if(b7(t)||!d&&Cd(t)||d===r.length-1&&Ad(t))return t;throw Error("Arguments should be functions, arrays or streams.")}).filter(t=>t),this.input=this.streams[0],this.output=this.streams.reduce((t,d)=>t&&t.pipe(d)||d),Ad(this.input)||(this._write=(t,d,r)=>r(null),this._final=t=>t(null),this.input.on("end",()=>this.end())),Cd(this.output)?(this.output.on("data",t=>!this.push(t)&&this.output.pause()),this.output.on("end",()=>this.push(null))):(this._read=()=>{},this.resume(),this.output.on("finish",()=>this.push(null))),(!p||!p.skipEvents)&&this.streams.forEach(t=>t.on("error",d=>this.emit("error",d)))}_write(a,p,t){let d=null;try{this.input.write(a,p,r=>t(r||d))}catch(r){d=r}}_final(a){let p=null;try{this.input.end(null,null,t=>a(t||p))}catch(t){p=t}}_read(){this.output.resume()}static make(a,p){return new e(a,p)}static sanitize(a,p){e.isFinal(a)?a=e.getFinalValue(a):e.isMany(a)&&(a=e.getManyValues(a)),a!=null&&a!==e.none&&(a instanceof Array?a.forEach(t=>t!=null&&p.push(t)):p.push(a))}static convertToTransform(a){return typeof a=="function"?w7(a):a instanceof Array&&a.length?_7(a):null}};$.none=m7;$.final=o7;$.isFinal=c7;$.getFinalValue=h7;$.many=u7;$.isMany=f7;$.getManyValues=v7;$.chain=$.make;$.make.Constructor=$;Ed.exports=$});var Md=u((d_,Pd)=>{"use strict";var{Transform:y7}=require("stream"),{StringDecoder:S7}=require("string_decoder"),Op=class extends y7{constructor(a){super(Object.assign({},a,{writableObjectMode:!1})),this._buffer=""}_transform(a,p,t){typeof a=="string"?this._transform=this._transformString:(this._stringDecoder=new S7,this._transform=this._transformBuffer),this._transform(a,p,t)}_transformBuffer(a,p,t){this._buffer+=this._stringDecoder.write(a),this._processBuffer(t)}_transformString(a,p,t){this._buffer+=a.toString(),this._processBuffer(t)}_processBuffer(a){this._buffer&&(this.push(this._buffer,"utf8"),this._buffer=""),a(null)}_flushInput(){this._stringDecoder&&(this._buffer+=this._stringDecoder.end())}_flush(a){this._flushInput(),this._processBuffer(a)}};Pd.exports=Op});var Rp=u((r_,kd)=>{"use strict";var N7=Md(),D={value1:/^(?:[\"\{\[\]\-\d]|true\b|false\b|null\b|\s{1,256})/,string:/^(?:[^\"\\]{1,256}|\\[bfnrt\"\\\/]|\\u[\da-fA-F]{4}|\")/,key1:/^(?:[\"\}]|\s{1,256})/,colon:/^(?:\:|\s{1,256})/,comma:/^(?:[\,\]\}]|\s{1,256})/,ws:/^\s{1,256}/,numberStart:/^\d/,numberDigit:/^\d{0,256}/,numberFraction:/^[\.eE]/,numberExponent:/^[eE]/,numberExpSign:/^[-+]/},T7=16,X=!0;try{new RegExp(".","y"),X=!1}catch{}!X&&Object.keys(D).forEach(e=>{let a=D[e].source.slice(1);a.slice(0,3)==="(?:"&&a.slice(-1)===")"&&(a=a.slice(3,-1)),D[e]=new RegExp(a,"y")});D.numberFracStart=D.numberExpStart=D.numberStart;D.numberFracDigit=D.numberExpDigit=D.numberDigit;var x7={true:!0,false:!1,null:null},M1={object:"objectStop",array:"arrayStop","":"done"},D7=e=>String.fromCharCode(parseInt(e.slice(2),16)),C7={b:"\b",f:"\f",n:` +`,r:"\r",t:" ",'"':'"',"\\":"\\","/":"/"},he=class e extends N7{static make(a){return new e(a)}constructor(a){super(Object.assign({},a,{readableObjectMode:!0})),this._packKeys=this._packStrings=this._packNumbers=this._streamKeys=this._streamStrings=this._streamNumbers=!0,a&&("packValues"in a&&(this._packKeys=this._packStrings=this._packNumbers=a.packValues),"packKeys"in a&&(this._packKeys=a.packKeys),"packStrings"in a&&(this._packStrings=a.packStrings),"packNumbers"in a&&(this._packNumbers=a.packNumbers),"streamValues"in a&&(this._streamKeys=this._streamStrings=this._streamNumbers=a.streamValues),"streamKeys"in a&&(this._streamKeys=a.streamKeys),"streamStrings"in a&&(this._streamStrings=a.streamStrings),"streamNumbers"in a&&(this._streamNumbers=a.streamNumbers),this._jsonStreaming=a.jsonStreaming),!this._packKeys&&(this._streamKeys=!0),!this._packStrings&&(this._streamStrings=!0),!this._packNumbers&&(this._streamNumbers=!0),this._done=!1,this._expect=this._jsonStreaming?"done":"value",this._stack=[],this._parent="",this._open_number=!1,this._accumulator=""}_flush(a){this._done=!0,super._flush(p=>{if(p)return a(p);this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),a(null)})}_processBuffer(a){let p,t,d=0;e:for(;;)switch(this._expect){case"value1":case"value":if(D.value1.lastIndex=d,p=D.value1.exec(this._buffer),!p){if(this._done||d+T7<this._buffer.length)return d<this._buffer.length?a(new Error("Parser cannot parse input: expected a value")):a(new Error("Parser has expected a value"));break e}switch(t=p[0],t){case'"':this._streamStrings&&this.push({name:"startString"}),this._expect="string";break;case"{":this.push({name:"startObject"}),this._stack.push(this._parent),this._parent="object",this._expect="key1";break;case"[":this.push({name:"startArray"}),this._stack.push(this._parent),this._parent="array",this._expect="value1";break;case"]":if(this._expect!=="value1")return a(new Error("Parser cannot parse input: unexpected token ']'"));this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),this.push({name:"endArray"}),this._parent=this._stack.pop(),this._expect=M1[this._parent];break;case"-":this._open_number=!0,this._streamNumbers&&(this.push({name:"startNumber"}),this.push({name:"numberChunk",value:"-"})),this._packNumbers&&(this._accumulator="-"),this._expect="numberStart";break;case"0":this._open_number=!0,this._streamNumbers&&(this.push({name:"startNumber"}),this.push({name:"numberChunk",value:"0"})),this._packNumbers&&(this._accumulator="0"),this._expect="numberFraction";break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":this._open_number=!0,this._streamNumbers&&(this.push({name:"startNumber"}),this.push({name:"numberChunk",value:t})),this._packNumbers&&(this._accumulator=t),this._expect="numberDigit";break;case"true":case"false":case"null":if(this._buffer.length-d===t.length&&!this._done)break e;this.push({name:t+"Value",value:x7[t]}),this._expect=M1[this._parent];break}X?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"keyVal":case"string":if(D.string.lastIndex=d,p=D.string.exec(this._buffer),!p){if(d<this._buffer.length&&(this._done||this._buffer.length-d>=6))return a(new Error("Parser cannot parse input: escaped characters"));if(this._done)return a(new Error("Parser has expected a string value"));break e}if(t=p[0],t==='"')this._expect==="keyVal"?(this._streamKeys&&this.push({name:"endKey"}),this._packKeys&&(this.push({name:"keyValue",value:this._accumulator}),this._accumulator=""),this._expect="colon"):(this._streamStrings&&this.push({name:"endString"}),this._packStrings&&(this.push({name:"stringValue",value:this._accumulator}),this._accumulator=""),this._expect=M1[this._parent]);else if(t.length>1&&t.charAt(0)==="\\"){let r=t.length==2?C7[t.charAt(1)]:D7(t);(this._expect==="keyVal"?this._streamKeys:this._streamStrings)&&this.push({name:"stringChunk",value:r}),(this._expect==="keyVal"?this._packKeys:this._packStrings)&&(this._accumulator+=r)}else(this._expect==="keyVal"?this._streamKeys:this._streamStrings)&&this.push({name:"stringChunk",value:t}),(this._expect==="keyVal"?this._packKeys:this._packStrings)&&(this._accumulator+=t);X?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"key1":case"key":if(D.key1.lastIndex=d,p=D.key1.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected an object key"));break e}if(t=p[0],t==='"')this._streamKeys&&this.push({name:"startKey"}),this._expect="keyVal";else if(t==="}"){if(this._expect!=="key1")return a(new Error("Parser cannot parse input: unexpected token '}'"));this.push({name:"endObject"}),this._parent=this._stack.pop(),this._expect=M1[this._parent]}X?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"colon":if(D.colon.lastIndex=d,p=D.colon.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected ':'"));break e}t=p[0],t===":"&&(this._expect="value"),X?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"arrayStop":case"objectStop":if(D.comma.lastIndex=d,p=D.comma.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected ','"));break e}if(this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),t=p[0],t===",")this._expect=this._expect==="arrayStop"?"value":"key";else if(t==="}"||t==="]"){if(t==="}"?this._expect==="arrayStop":this._expect!=="arrayStop")return a(new Error("Parser cannot parse input: expected '"+(this._expect==="arrayStop"?"]":"}")+"'"));this.push({name:t==="}"?"endObject":"endArray"}),this._parent=this._stack.pop(),this._expect=M1[this._parent]}X?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberStart":if(D.numberStart.lastIndex=d,p=D.numberStart.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected a starting digit"));break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect=t==="0"?"numberFraction":"numberDigit",X?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberDigit":if(D.numberDigit.lastIndex=d,p=D.numberDigit.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected a digit"));break e}if(t=p[0],t)this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),X?this._buffer=this._buffer.slice(t.length):d+=t.length;else{if(d<this._buffer.length){this._expect="numberFraction";break}if(this._done){this._expect=M1[this._parent];break}break e}break;case"numberFraction":if(D.numberFraction.lastIndex=d,p=D.numberFraction.exec(this._buffer),!p){if(d<this._buffer.length||this._done){this._expect=M1[this._parent];break}break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect=t==="."?"numberFracStart":"numberExpSign",X?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberFracStart":if(D.numberFracStart.lastIndex=d,p=D.numberFracStart.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected a fractional part of a number"));break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect="numberFracDigit",X?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberFracDigit":if(D.numberFracDigit.lastIndex=d,p=D.numberFracDigit.exec(this._buffer),t=p[0],t)this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),X?this._buffer=this._buffer.slice(t.length):d+=t.length;else{if(d<this._buffer.length){this._expect="numberExponent";break}if(this._done){this._expect=M1[this._parent];break}break e}break;case"numberExponent":if(D.numberExponent.lastIndex=d,p=D.numberExponent.exec(this._buffer),!p){if(d<this._buffer.length){this._expect=M1[this._parent];break}if(this._done){this._expect="done";break}break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect="numberExpSign",X?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberExpSign":if(D.numberExpSign.lastIndex=d,p=D.numberExpSign.exec(this._buffer),!p){if(d<this._buffer.length){this._expect="numberExpStart";break}if(this._done)return a(new Error("Parser has expected an exponent value of a number"));break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect="numberExpStart",X?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberExpStart":if(D.numberExpStart.lastIndex=d,p=D.numberExpStart.exec(this._buffer),!p){if(d<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected an exponent part of a number"));break e}t=p[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect="numberExpDigit",X?this._buffer=this._buffer.slice(t.length):d+=t.length;break;case"numberExpDigit":if(D.numberExpDigit.lastIndex=d,p=D.numberExpDigit.exec(this._buffer),t=p[0],t)this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),X?this._buffer=this._buffer.slice(t.length):d+=t.length;else{if(d<this._buffer.length||this._done){this._expect=M1[this._parent];break}break e}break;case"done":if(D.ws.lastIndex=d,p=D.ws.exec(this._buffer),!p){if(d<this._buffer.length){if(this._jsonStreaming){this._expect="value";break}return a(new Error("Parser cannot parse input: unexpected characters"))}break e}t=p[0],this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),X?this._buffer=this._buffer.slice(t.length):d+=t.length;break}!X&&(this._buffer=this._buffer.slice(d)),a(null)}};he.parser=he.make;he.make.Constructor=he;kd.exports=he});var Rd=u((i_,Od)=>{"use strict";var A7=e=>e.on("data",a=>e.emit(a.name,a.value));Od.exports=A7});var Ld=u((s_,qd)=>{"use strict";var qp=Rp(),V7=Rd(),Lp=e=>V7(new qp(e));Lp.Parser=qp;Lp.parser=qp.parser;qd.exports=Lp});var Bd=u((n_,Id)=>{"use strict";var{Transform:E7}=require("stream"),k1=class e extends E7{static stringFilter(a,p){return t=>{let d=t.join(p);return d.length===a.length&&d===a||d.length>a.length&&d.substr(0,a.length)===a&&d.substr(a.length,p.length)===p}}static regExpFilter(a,p){return t=>a.test(t.join(p))}static arrayReplacement(a){return()=>a}constructor(a){super(Object.assign({},a,{writableObjectMode:!0,readableObjectMode:!0})),this._transform=this._check,this._stack=[];let p=a&&a.filter,t=a&&a.pathSeparator||".";typeof p=="string"?this._filter=e.stringFilter(p,t):typeof p=="function"?this._filter=p:p instanceof RegExp&&(this._filter=e.regExpFilter(p,t));let d=a&&a.replacement;typeof d=="function"?this._replacement=d:this._replacement=e.arrayReplacement(d||e.defaultReplacement),this._allowEmptyReplacement=a&&a.allowEmptyReplacement,this._streamKeys=!0,a&&("streamValues"in a&&(this._streamKeys=a.streamValues),"streamKeys"in a&&(this._streamKeys=a.streamKeys)),this._once=a&&a.once,this._previousToken=""}_check(a,p,t){switch(a.name){case"startObject":case"startArray":case"startString":case"startNumber":case"nullValue":case"trueValue":case"falseValue":typeof this._stack[this._stack.length-1]=="number"&&++this._stack[this._stack.length-1];break;case"keyValue":this._stack[this._stack.length-1]=a.value;break;case"numberValue":this._previousToken!=="endNumber"&&typeof this._stack[this._stack.length-1]=="number"&&++this._stack[this._stack.length-1];break;case"stringValue":this._previousToken!=="endString"&&typeof this._stack[this._stack.length-1]=="number"&&++this._stack[this._stack.length-1];break}if(this._previousToken=a.name,this._checkChunk(a))return t(null);switch(a.name){case"startObject":this._stack.push(null);break;case"startArray":this._stack.push(-1);break;case"endObject":case"endArray":this._stack.pop();break}t(null)}_passObject(a,p,t){switch(this.push(a),a.name){case"startObject":case"startArray":++this._depth;break;case"endObject":case"endArray":--this._depth;break}this._depth||(this._transform=this._once?this._skip:this._check),t(null)}_pass(a,p,t){this.push(a),t(null)}_skipObject(a,p,t){switch(a.name){case"startObject":case"startArray":++this._depth;break;case"endObject":case"endArray":--this._depth;break}this._depth||(this._transform=this._once?this._pass:this._check),t(null)}_skip(a,p,t){t(null)}};k1.defaultReplacement=[{name:"nullValue",value:null}];var Ip=(e,a)=>function(p,t,d){if(this._expected){let r=this._expected;if(this._expected="",this._transform=this._once?this._skip:this._check,r===p.name)this.push(p);else return this._transform(p,t,d)}else this.push(p),p.name===e&&(this._expected=a);d(null)};k1.prototype._passNumber=Ip("endNumber","numberValue");k1.prototype._passString=Ip("endString","stringValue");k1.prototype._passKey=Ip("endKey","keyValue");var Bp=(e,a)=>function(p,t,d){if(this._expected){let r=this._expected;if(this._expected="",this._transform=this._once?this._pass:this._check,r!==p.name)return this._transform(p,t,d)}else p.name===e&&(this._expected=a);d(null)};k1.prototype._skipNumber=Bp("endNumber","numberValue");k1.prototype._skipString=Bp("endString","stringValue");k1.prototype._skipKey=Bp("endKey","keyValue");Id.exports=k1});var Fp=u((l_,Fd)=>{"use strict";var P7=kp(),M7=Rp(),k7=(e,a)=>new P7([new M7(a),e(a)],Object.assign({},a,{writableObjectMode:!1,readableObjectMode:!0}));Fd.exports=k7});var zd=u((m_,jd)=>{"use strict";var O7=Bd(),R7=Fp(),ve=class e extends O7{static make(a){return new e(a)}static withParser(a){return R7(e.make,a)}_checkChunk(a){switch(a.name){case"startObject":case"startArray":if(this._filter(this._stack,a))return this.push(a),this._transform=this._passObject,this._depth=1,!0;break;case"startString":if(this._filter(this._stack,a))return this.push(a),this._transform=this._passString,!0;break;case"startNumber":if(this._filter(this._stack,a))return this.push(a),this._transform=this._passNumber,!0;break;case"nullValue":case"trueValue":case"falseValue":case"stringValue":case"numberValue":if(this._filter(this._stack,a))return this.push(a),this._transform=this._once?this._skip:this._check,!0;break}return!1}};ve.pick=ve.make;ve.make.Constructor=ve;jd.exports=ve});var Hd=u((o_,$d)=>{"use strict";var q7=require("events"),Ud=e=>function(){this.done?this.done=!1:this.stack.push(this.current,this.key),this.current=new e,this.key=null},U1=class e extends q7{static connectTo(a,p){return new e(p).connectTo(a)}constructor(a){super(),this.stack=[],this.current=this.key=null,this.done=!0,a&&(this.reviver=typeof a.reviver=="function"&&a.reviver,this.reviver&&(this.stringValue=this._saveValue=this._saveValueWithReviver),a.numberAsString&&(this.numberValue=this.stringValue))}connectTo(a){return a.on("data",p=>{this[p.name]&&(this[p.name](p.value),this.done&&this.emit("done",this))}),this}get depth(){return(this.stack.length>>1)+(this.done?0:1)}get path(){let a=[];for(let p=0;p<this.stack.length;p+=2){let t=this.stack[p+1];a.push(t===null?this.stack[p].length:t)}return a}dropToLevel(a){if(a<this.depth)if(a){let p=a-1<<1;this.current=this.stack[p],this.key=this.stack[p+1],this.stack.splice(p)}else this.stack=[],this.current=this.key=null,this.done=!0;return this}consume(a){return this[a.name]&&this[a.name](a.value),this}keyValue(a){this.key=a}numberValue(a){this._saveValue(parseFloat(a))}nullValue(){this._saveValue(null)}trueValue(){this._saveValue(!0)}falseValue(){this._saveValue(!1)}endObject(){if(this.stack.length){let a=this.current;this.key=this.stack.pop(),this.current=this.stack.pop(),this._saveValue(a)}else this.done=!0}_saveValue(a){this.done?this.current=a:this.current instanceof Array?this.current.push(a):(this.current[this.key]=a,this.key=null)}_saveValueWithReviver(a){this.done?this.current=this.reviver("",a):this.current instanceof Array?(a=this.reviver(""+this.current.length,a),this.current.push(a),a===void 0&&delete this.current[this.current.length-1]):(a=this.reviver(this.key,a),a!==void 0&&(this.current[this.key]=a),this.key=null)}};U1.prototype.stringValue=U1.prototype._saveValue;U1.prototype.startObject=Ud(Object);U1.prototype.startArray=Ud(Array);U1.prototype.endArray=U1.prototype.endObject;$d.exports=U1});var Kd=u((u_,Gd)=>{"use strict";var{Transform:L7}=require("stream"),I7=Hd(),jp=class{constructor(a){this.depth=a}startObject(){++this.depth}endObject(){--this.depth}startArray(){++this.depth}endArray(){--this.depth}},zp=class extends L7{constructor(a){super(Object.assign({},a,{writableObjectMode:!0,readableObjectMode:!0})),a&&(this.objectFilter=a.objectFilter,this.includeUndecided=a.includeUndecided),typeof this.objectFilter!="function"&&(this._filter=this._transform),this._transform=this._wait||this._filter,this._assembler=new I7(a)}_transform(a,p,t){this._assembler[a.name]&&(this._assembler[a.name](a.value),this._assembler.depth===this._level&&this._push()),t(null)}_filter(a,p,t){if(this._assembler[a.name]){this._assembler[a.name](a.value);let d=this.objectFilter(this._assembler);if(d)return this._assembler.depth===this._level&&(this._push(),this._transform=this._filter),this._transform=this._accept,t(null);if(d===!1)return this._saved_assembler=this._assembler,this._assembler=new jp(this._saved_assembler.depth),this._saved_assembler.dropToLevel(this._level),this._assembler.depth===this._level&&(this._assembler=this._saved_assembler,this._transform=this._filter),this._transform=this._reject,t(null);this._assembler.depth===this._level&&this._push(!this.includeUndecided)}t(null)}_accept(a,p,t){this._assembler[a.name]&&(this._assembler[a.name](a.value),this._assembler.depth===this._level&&(this._push(),this._transform=this._filter)),t(null)}_reject(a,p,t){this._assembler[a.name]&&(this._assembler[a.name](a.value),this._assembler.depth===this._level&&(this._assembler=this._saved_assembler,this._transform=this._filter)),t(null)}};Gd.exports=zp});var Jd=u((c_,Zd)=>{"use strict";var B7=Kd(),F7=Fp(),ge=class e extends B7{static make(a){return new e(a)}static withParser(a){return F7(e.make,a)}constructor(a){super(a),this._level=1,this._counter=0}_wait(a,p,t){return a.name!=="startArray"?t(new Error("Top-level object should be an array.")):(this._transform=this._filter,this._transform(a,p,t))}_push(a){this._assembler.current.length&&(a?(++this._counter,this._assembler.current.pop()):this.push({key:this._counter++,value:this._assembler.current.pop()}))}};ge.streamArray=ge.make;ge.make.Constructor=ge;Zd.exports=ge});var Qd=u(Be=>{"use strict";var g2=Be&&Be.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Be,"__esModule",{value:!0});Be.useStreamJSON=void 0;var j7=require("@raycast/api"),Wd=g2(n2()),Ca=require("node:fs"),Up=require("node:fs/promises"),v2=require("node:path"),Yd=require("node:stream/promises"),xa=require("react"),z7=g2(kp()),U7=Ld(),$7=g2(zd()),H7=g2(Jd()),Xd=Np(),G7=ha(),K7=me();async function Da(e,a,p){if(typeof e=="object"||e.startsWith("http://")||e.startsWith("https://"))return await Z7(e,a,p);if(e.startsWith("file://"))return await J7((0,v2.normalize)(decodeURIComponent(new URL(e).pathname)),a,p?.signal?p.signal:void 0);throw new Error("Only HTTP(S) or file URLs are supported")}async function Z7(e,a,p){let t=await(0,Wd.default)(e,p);if(!t.ok)throw new Error("Failed to fetch URL");if(!(0,Xd.isJSON)(t.headers.get("content-type")))throw new Error("URL does not return JSON");if(!t.body)throw new Error("Failed to retrieve expected JSON content: Response body is missing or inaccessible.");await(0,Yd.pipeline)(t.body,(0,Ca.createWriteStream)(a),p?.signal?{signal:p.signal}:void 0)}async function J7(e,a,p){await(0,Yd.pipeline)((0,Ca.createReadStream)(e),(0,Ca.createWriteStream)(a),p?{signal:p}:void 0)}async function W7(e,a,p,t,d){let r=(0,v2.join)(a,p);try{await(0,Up.stat)(a)}catch{(0,Ca.mkdirSync)(a,{recursive:!0}),await Da(e,r,d);return}if(t){await Da(e,r,d);return}let i;try{i=await(0,Up.stat)(r)}catch{await Da(e,r,d);return}if(typeof e=="object"||e.startsWith("http://")||e.startsWith("https://")){let n=await(0,Wd.default)(e,{...d,method:"HEAD"});if(!n.ok)throw new Error("Could not fetch URL");if(!(0,Xd.isJSON)(n.headers.get("content-type")))throw new Error("URL does not return JSON");let s=Date.parse(n.headers.get("last-modified")??"");if(i.size===0||Number.isNaN(s)||s>i.mtimeMs){await Da(e,r,d);return}}else if(e.startsWith("file://"))try{(await(0,Up.stat)((0,v2.normalize)(decodeURIComponent(new URL(e).pathname)))).mtimeMs>i.mtimeMs&&await Da(e,r,d)}catch{throw new Error("Source file could not be read")}else throw new Error("Only HTTP(S) or file URLs are supported")}async function*Y7(e,a,p,t,d,r){let i=[],n=new z7.default([(0,Ca.createReadStream)(e),t?$7.default.withParser({filter:t}):(0,U7.parser)(),new H7.default,s=>r?.(s.value)??s.value]);p?.addEventListener("abort",()=>{n.destroy()});try{for await(let s of n){if(p?.aborted)return[];(!d||d(s))&&i.push(s),i.length>=a&&(yield i,i=[])}}catch(s){throw n.destroy(),s}return i.length>0&&(yield i),[]}function X7(e,a){let{initialData:p,execute:t,keepPreviousData:d,onError:r,onData:i,onWillExecute:n,failureToastOptions:s,dataPath:l,filter:o,transform:m,pageSize:c=20,...v}=a??{},f=(0,xa.useRef)(),h=(0,xa.useRef)(),g={initialData:p,execute:t,keepPreviousData:d,onError:r,onData:i,onWillExecute:n,failureToastOptions:s},_=(0,xa.useRef)(null),w=(0,xa.useRef)(null),b=(0,xa.useRef)(!1);return(0,G7.useCachedPromise)((y,N,C,L,E,e1)=>async({page:J})=>{let O=(0,K7.hash)(y)+".json",u1=j7.environment.supportPath;if(J===0){w.current?.abort(),w.current=new AbortController;let t1=(0,v2.join)(u1,O),s1=!!(f.current&&f.current!==y&&h.current&&h.current===t1);f.current=y,h.current=t1,await W7(y,u1,O,s1,{...C,signal:w.current?.signal}),_.current=Y7(t1,N,w.current?.signal,L,E,e1)}if(!_.current)return{hasMore:b.current,data:[]};let{value:w1,done:A}=await _.current.next();return b.current=!A,{hasMore:b.current,data:w1??[]}},[e,c,v,l,o,m],g)}Be.useStreamJSON=X7});var d6=u(Fe=>{"use strict";var Gp=Fe&&Fe.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.useSQL=void 0;var O1=require("react/jsx-runtime"),n1=require("@raycast/api"),Q7=require("node:fs"),w2=require("node:fs/promises"),p6=Gp(require("node:os")),e6=Gp(require("node:child_process")),a6=Gp(require("node:path")),_2=require("react"),en=Ae(),an=B1(),b2=h2(),pn=oa(),tn=me();function dn(e,a,p){let{permissionPriming:t,...d}=p||{},[r,i]=(0,_2.useState)(),n=(0,an.useLatest)(p||{}),s=(0,_2.useRef)(),l=(0,_2.useCallback)(m=>{console.error(m);let c=m instanceof Error&&m.message.includes("authorization denied")?new Hp("You do not have permission to access the database."):m;rn(c)?i((0,O1.jsx)(sn,{priming:n.current.permissionPriming})):n.current.onError?n.current.onError(c):n1.environment.launchType!==n1.LaunchType.Background&&(0,pn.showFailureToast)(c,{title:"Cannot query the data"})},[n]),o=(0,_2.useMemo)(()=>{if(!(0,Q7.existsSync)(e))throw new Error("The database does not exist");let m;return async(c,v)=>{let f=s.current?.signal,h=e6.default.spawn("sqlite3",["--json","--readonly",c,v],{signal:f}),g=(0,b2.getSpawnedPromise)(h),[{error:_,exitCode:w,signal:b},y,N]=await(0,b2.getSpawnedResult)(h,{encoding:"utf-8"},g);if(y2(f),N.match("(5)")||N.match("(14)")){if(!m){let E=a6.default.join(p6.default.tmpdir(),"useSQL",(0,tn.hash)(c));await(0,w2.mkdir)(E,{recursive:!0}),y2(f),m=a6.default.join(E,"db.db"),await(0,w2.copyFile)(c,m),await(0,w2.writeFile)(m+"-shm",""),await(0,w2.writeFile)(m+"-wal",""),y2(f)}let C=e6.default.spawn("sqlite3",["--json","--readonly","--vfs","unix-none",m,v],{signal:f}),L=(0,b2.getSpawnedPromise)(C);[{error:_,exitCode:w,signal:b},y,N]=await(0,b2.getSpawnedResult)(C,{encoding:"utf-8"},L),y2(f)}if(_||w!==0||b!==null)throw new Error(N);return JSON.parse(y.trim()||"[]")}},[e]);return{...(0,en.usePromise)(o,[e,a],{...d,onError:l}),permissionView:r}}Fe.useSQL=dn;var Hp=class extends Error{constructor(a){super(a),this.name="PermissionError"}};function rn(e){return e instanceof Error&&e.name==="PermissionError"}var t6=parseInt(p6.default.release().split(".")[0])>=22,$p=t6?"Settings":"Preferences";function sn(e){let a=t6?{title:"Open System Settings -> Privacy",target:"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"}:{title:"Open System Preferences -> Security",target:"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"};return n1.environment.commandMode==="menu-bar"?(0,O1.jsxs)(n1.MenuBarExtra,{icon:n1.Icon.Warning,title:n1.environment.commandName,children:[(0,O1.jsx)(n1.MenuBarExtra.Item,{title:"Raycast needs full disk access",tooltip:`You can revert this access in ${$p} whenever you want`}),e.priming?(0,O1.jsx)(n1.MenuBarExtra.Item,{title:e.priming,tooltip:`You can revert this access in ${$p} whenever you want`}):null,(0,O1.jsx)(n1.MenuBarExtra.Separator,{}),(0,O1.jsx)(n1.MenuBarExtra.Item,{title:a.title,onAction:()=>(0,n1.open)(a.target)})]}):(0,O1.jsx)(n1.List,{children:(0,O1.jsx)(n1.List.EmptyView,{icon:{source:{light:"https://raycast.com/uploads/extensions-utils-security-permissions-light.png",dark:"https://raycast.com/uploads/extensions-utils-security-permissions-dark.png"}},title:"Raycast needs full disk access.",description:`${e.priming?e.priming+` +`:""}You can revert this access in ${$p} whenever you want.`,actions:(0,O1.jsx)(n1.ActionPanel,{children:(0,O1.jsx)(n1.Action.Open,{...a})})})})}function y2(e){if(e?.aborted){let a=new Error("aborted");throw a.name="AbortError",a}}});var i6=u(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.useForm=je.FormValidation=void 0;var $1=require("react"),r6=B1(),Zp;(function(e){e.Required="required"})(Zp||(je.FormValidation=Zp={}));function Kp(e,a){if(e){if(typeof e=="function")return e(a);if(e===Zp.Required){let p=typeof a<"u"&&a!==null;if(p)switch(typeof a){case"string":p=a.length>0;break;case"object":Array.isArray(a)?p=a.length>0:a instanceof Date&&(p=a.getTime()>0);break;default:break}if(!p)return"The item is required"}}}function nn(e){let{onSubmit:a,validation:p,initialValues:t={}}=e,[d,r]=(0,$1.useState)(t),[i,n]=(0,$1.useState)({}),s=(0,$1.useRef)({}),l=(0,r6.useLatest)(p||{}),o=(0,r6.useLatest)(a),m=(0,$1.useCallback)(_=>{s.current[_]?.focus()},[s]),c=(0,$1.useCallback)(async _=>{let w=!1;for(let[y,N]of Object.entries(l.current)){let C=Kp(N,_[y]);C&&(w||(w={},m(y)),w[y]=C)}if(w)return n(w),!1;let b=await o.current(_);return typeof b=="boolean"?b:!0},[l,o,m]),v=(0,$1.useCallback)((_,w)=>{n(b=>({...b,[_]:w}))},[n]),f=(0,$1.useCallback)(function(_,w){r(b=>({...b,[_]:typeof w=="function"?w(b[_]):w}))},[r]),h=(0,$1.useMemo)(()=>new Proxy({},{get(_,w){let b=l.current[w],y=d[w];return{onChange(N){i[w]&&(Kp(b,N)||v(w,void 0)),f(w,N)},onBlur(N){let C=Kp(b,N.target.value);C&&v(w,C)},error:i[w],id:w,value:typeof y>"u"?null:y,ref:N=>{s.current[w]=N}}}}),[i,l,v,d,s,f]),g=(0,$1.useCallback)(_=>{n({}),Object.entries(s.current).forEach(([w,b])=>{_?.[w]||b?.reset()}),_&&r(_)},[r,n,s]);return{handleSubmit:c,setValidationError:v,setValue:f,values:d,itemProps:h,focus:m,reset:g}}je.useForm=nn});var n6=u(S2=>{"use strict";Object.defineProperty(S2,"__esModule",{value:!0});S2.useAI=void 0;var s6=require("react"),ln=require("@raycast/api"),mn=Ae();function on(e,a={}){let{creativity:p,stream:t,model:d,...r}=a,[i,n]=(0,s6.useState)(""),s=(0,s6.useRef)(),{isLoading:l,error:o,revalidate:m}=(0,mn.usePromise)(async(c,v,f)=>{n("");let h=ln.AI.ask(c,{creativity:v,model:d,signal:s.current?.signal});f===!1?n(await h):(h.on("data",g=>{n(_=>_+g)}),await h)},[e,p,t],{...r,abortable:s});return{isLoading:l,data:i,error:o,revalidate:m}}S2.useAI=on});var o6=u(N2=>{"use strict";Object.defineProperty(N2,"__esModule",{value:!0});N2.useFrecencySorting=void 0;var Jp=require("react"),l6=B1(),un=e2(),cn=10,m6=24*60*60*1e3,fn=Math.log(2)/(cn*m6),hn={Default:100,Embed:0,Bookmark:140};function vn(e){let a=Date.now(),p=e?e.lastVisited:0,t=e?e.frecency:0,d=(a-p)/m6,r=hn.Default*Math.exp(-fn*d),i=t+r;return{lastVisited:a,frecency:i}}var gn=e=>{if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||!e||!("id"in e)||typeof e.id!="string"))throw new Error("Specify a key function or make sure your items have an 'id' property");return e.id};function wn(e,a){let p=(0,l6.useLatest)(a?.key||gn),t=(0,l6.useLatest)(a?.sortUnvisited),[d,r]=(0,un.useCachedState)(`raycast_frecency_${a?.namespace}`,{}),i=(0,Jp.useCallback)(async function(o){let m=p.current(o);r(c=>{let v=c[m],f=vn(v);return{...c,[m]:f}})},[p,r]),n=(0,Jp.useCallback)(async function(o){let m=p.current(o);r(c=>{let v={...c};return delete v[m],v})},[p,r]);return{data:(0,Jp.useMemo)(()=>e?e.sort((l,o)=>{let m=d[p.current(l)],c=d[p.current(o)];return m&&!c?-1:!m&&c?1:m&&c?c.frecency-m.frecency:t.current?t.current(l,o):0}):[],[d,e,p,t]),visitItem:i,resetRanking:n}}N2.useFrecencySorting=wn});var f6=u(T2=>{"use strict";Object.defineProperty(T2,"__esModule",{value:!0});T2.useLocalStorage=void 0;var Wp=require("@raycast/api"),u6=oa(),c6=me(),_n=Ae();function bn(e,a){let{data:p,isLoading:t,mutate:d}=(0,_n.usePromise)(async n=>{let s=await Wp.LocalStorage.getItem(n);return typeof s<"u"?JSON.parse(s,c6.reviver):a},[e]);async function r(n){try{await d(Wp.LocalStorage.setItem(e,JSON.stringify(n,c6.replacer)),{optimisticUpdate(s){return s}})}catch(s){await(0,u6.showFailureToast)(s,{title:"Failed to set value in local storage"})}}async function i(){try{await d(Wp.LocalStorage.removeItem(e),{optimisticUpdate(){}})}catch(n){await(0,u6.showFailureToast)(n,{title:"Failed to remove value from local storage"})}}return{value:p,setValue:r,removeValue:i,isLoading:t}}T2.useLocalStorage=bn});var _6=u(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.slightlyLighterColor=ze.slightlyDarkerColor=void 0;function yn(e){let a=0,p=0,t=0;if(e.length===4)a=parseInt(`${e[1]}${e[1]}`,16),p=parseInt(`${e[2]}${e[2]}`,16),t=parseInt(`${e[3]}${e[3]}`,16);else if(e.length===7)a=parseInt(`${e[1]}${e[2]}`,16),p=parseInt(`${e[3]}${e[4]}`,16),t=parseInt(`${e[5]}${e[6]}`,16);else throw new Error(`Malformed hex color: ${e}`);return{r:a,g:p,b:t}}function Sn({r:e,g:a,b:p}){let t=e.toString(16),d=a.toString(16),r=p.toString(16);return t.length===1&&(t=`0${t}`),d.length===1&&(d=`0${d}`),r.length===1&&(r=`0${r}`),`#${t}${d}${r}`}function Nn({r:e,g:a,b:p}){e/=255,a/=255,p/=255;let t=Math.min(e,a,p),d=Math.max(e,a,p),r=d-t,i=0,n=0,s=0;return r===0?i=0:d===e?i=(a-p)/r%6:d===a?i=(p-e)/r+2:i=(e-a)/r+4,i=Math.round(i*60),i<0&&(i+=360),s=(d+t)/2,n=r===0?0:r/(1-Math.abs(2*s-1)),n=+(n*100).toFixed(1),s=+(s*100).toFixed(1),{h:i,s:n,l:s}}function Tn({h:e,s:a,l:p}){a/=100,p/=100;let t=(1-Math.abs(2*p-1))*a,d=t*(1-Math.abs(e/60%2-1)),r=p-t/2,i=0,n=0,s=0;return e>=0&&e<60?(i=t,n=d,s=0):e>=60&&e<120?(i=d,n=t,s=0):e>=120&&e<180?(i=0,n=t,s=d):e>=180&&e<240?(i=0,n=d,s=t):e>=240&&e<300?(i=d,n=0,s=t):e>=300&&e<360&&(i=t,n=0,s=d),i=Math.round((i+r)*255),n=Math.round((n+r)*255),s=Math.round((s+r)*255),{r:i,g:n,b:s}}function h6(e){return Nn(yn(e))}function v6(e){return Sn(Tn(e))}function g6(e,a,p){return a<p?e<a?a:e>p?p:e:e<p?p:e>a?a:e}var w6=12;function xn(e){let a=h6(e);return v6({h:a.h,s:a.s,l:g6(a.l-w6,0,100)})}ze.slightlyDarkerColor=xn;function Dn(e){let a=h6(e);return v6({h:a.h,s:a.s,l:g6(a.l+w6,0,100)})}ze.slightlyLighterColor=Dn});var S6=u(x2=>{"use strict";Object.defineProperty(x2,"__esModule",{value:!0});x2.getAvatarIcon=void 0;var b6=_6();function Ue(e,a){let p=e.charCodeAt(a);if(Number.isNaN(p))return["",a];if(p<55296||p>57343)return[e.charAt(a),a];if(55296<=p&&p<=56319){if(e.length<=a+1)throw new Error("High surrogate without following low surrogate");let d=e.charCodeAt(a+1);if(56320>d||d>57343)throw new Error("High surrogate without following low surrogate");return[e.charAt(a)+e.charAt(a+1),a+1]}if(a===0)throw new Error("Low surrogate without preceding high surrogate");let t=e.charCodeAt(a-1);if(55296>t||t>56319)throw new Error("Low surrogate without preceding high surrogate");return[e.charAt(a+1),a+1]}var y6=["#DC829A","#D64854","#D47600","#D36CDD","#52A9E4","#7871E8","#70920F","#43B93A","#EB6B3E","#26B795","#D85A9B","#A067DC","#BD9500","#5385D9"];function Cn(e,a){let p=e.trim().split(" "),t;if(p.length==1&&Ue(p[0],0)[0])t=Ue(p[0],0)[0];else if(p.length>1){let s=Ue(p[0],0)[0]||"",l=Ue(p[p.length-1],0)[0]??"";t=s+l}else t="";let d;if(a?.background)d=a?.background;else{let s=0,[l,o]=Ue(t,0);for(;l;)s+=l.charCodeAt(0),[l,o]=Ue(t,o+1);let m=s%y6.length;d=y6[m]}let i=50-0;return`data:image/svg+xml,${`<svg width="100px" height="100px"> + ${a?.gradient!==!1?`<defs> + <linearGradient id="Gradient" x1="0.25" x2="0.75" y1="0" y2="1"> + <stop offset="0%" stop-color="${(0,b6.slightlyLighterColor)(d)}"/> + <stop offset="50%" stop-color="${d}"/> + <stop offset="100%" stop-color="${(0,b6.slightlyDarkerColor)(d)}"/> + </linearGradient> + </defs>`:""} + <circle cx="50" cy="50" r="${i}" fill="${a?.gradient!==!1?"url(#Gradient)":d}" /> + ${t?`<text x="50" y="80" font-size="${i-1}" font-family="Inter, sans-serif" text-anchor="middle" fill="white">${t.toUpperCase()}</text>`:""} + </svg> + `.replaceAll(` +`,"")}`}x2.getAvatarIcon=Cn});var T6=u(D2=>{"use strict";Object.defineProperty(D2,"__esModule",{value:!0});D2.getFavicon=void 0;var N6=require("@raycast/api"),An=require("url");function Vn(e,a){try{let t=(typeof e=="string"?new An.URL(e):e).hostname;return{source:`https://www.google.com/s2/favicons?sz=${a?.size??64}&domain=${t}`,fallback:a?.fallback??N6.Icon.Link,mask:a?.mask}}catch(p){return console.error(p),N6.Icon.Link}}D2.getFavicon=Vn});var C6=u(C2=>{"use strict";Object.defineProperty(C2,"__esModule",{value:!0});C2.getProgressIcon=void 0;var x6=require("@raycast/api");function D6(e,a,p,t){let d=(t-90)*Math.PI/180;return{x:e+p*Math.cos(d),y:a+p*Math.sin(d)}}function En(e,a,p,t,d){let r=D6(e,a,p,d),i=D6(e,a,p,t),n=d-t<=180?"0":"1";return["M",r.x,r.y,"A",p,p,0,n,0,i.x,i.y].join(" ")}function Pn(e,a=x6.Color.Red,p){let t=p?.background||(x6.environment.appearance==="light"?"black":"white"),d=p?.backgroundOpacity||.1,r=10,n=50-5-r/2;return`data:image/svg+xml,${`<svg width="100px" height="100px"> + <circle cx="50" cy="50" r="${n}" stroke-width="${r}" stroke="${e<1?t:a}" opacity="${e<1?d:"1"}" fill="none" /> + ${e>0&&e<1?`<path d="${En(50,50,n,0,e*360)}" stroke="${a}" stroke-width="${r}" fill="none" />`:""} + </svg> + `.replaceAll(` +`,"")}`}C2.getProgressIcon=Pn});var A6=u(H1=>{"use strict";var Mn=H1&&H1.__createBinding||(Object.create?function(e,a,p,t){t===void 0&&(t=p);var d=Object.getOwnPropertyDescriptor(a,p);(!d||("get"in d?!a.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return a[p]}}),Object.defineProperty(e,t,d)}:function(e,a,p,t){t===void 0&&(t=p),e[t]=a[p]}),Yp=H1&&H1.__exportStar||function(e,a){for(var p in e)p!=="default"&&!Object.prototype.hasOwnProperty.call(a,p)&&Mn(a,e,p)};Object.defineProperty(H1,"__esModule",{value:!0});Yp(S6(),H1);Yp(T6(),H1);Yp(C6(),H1)});var V6=u(d1=>{"use strict";Object.defineProperty(d1,"__esModule",{value:!0});d1.zoomService=d1.slackService=d1.linearService=d1.jiraService=d1.googleService=d1.githubService=d1.asanaService=void 0;var l1=require("@raycast/api"),we=Xp(),A2={asana:"1191201745684312",github:"7235fe8d42157f1f38c0",linear:"c8ff37b9225c3c9aefd7d66ea0e5b6f1",slack:"851756884692.5546927290212"},ae=e=>`data:image/svg+xml,${e}`,_e={asana:ae('<svg xmlns="http://www.w3.org/2000/svg" width="251" height="232" fill="none"><path fill="#F06A6A" d="M179.383 54.373c0 30.017-24.337 54.374-54.354 54.374-30.035 0-54.373-24.338-54.373-54.374C70.656 24.338 94.993 0 125.029 0c30.017 0 54.354 24.338 54.354 54.373ZM54.393 122.33C24.376 122.33.02 146.668.02 176.685c0 30.017 24.337 54.373 54.373 54.373 30.035 0 54.373-24.338 54.373-54.373 0-30.017-24.338-54.355-54.373-54.355Zm141.253 0c-30.035 0-54.373 24.338-54.373 54.374 0 30.035 24.338 54.373 54.373 54.373 30.017 0 54.374-24.338 54.374-54.373 0-30.036-24.338-54.374-54.374-54.374Z"/></svg>'),github:{source:ae('<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>'),tintColor:l1.Color.PrimaryText},google:ae('<svg xmlns="http://www.w3.org/2000/svg" style="display:block" viewBox="0 0 48 48"><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"/><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"/><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"/><path fill="none" d="M0 0h48v48H0z"/></svg>'),jira:ae('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="2361" height="2500" viewBox="2.59 0 214.091 224"><linearGradient id="a" x1="102.4" x2="56.15" y1="218.63" y2="172.39" gradientTransform="matrix(1 0 0 -1 0 264)" gradientUnits="userSpaceOnUse"><stop offset=".18" stop-color="#0052cc"/><stop offset="1" stop-color="#2684ff"/></linearGradient><linearGradient xlink:href="#a" id="b" x1="114.65" x2="160.81" y1="85.77" y2="131.92"/><path fill="#2684ff" d="M214.06 105.73 117.67 9.34 108.33 0 35.77 72.56 2.59 105.73a8.89 8.89 0 0 0 0 12.54l66.29 66.29L108.33 224l72.55-72.56 1.13-1.12 32.05-32a8.87 8.87 0 0 0 0-12.59zm-105.73 39.39L75.21 112l33.12-33.12L141.44 112z"/><path fill="url(#a)" d="M108.33 78.88a55.75 55.75 0 0 1-.24-78.61L35.62 72.71l39.44 39.44z"/><path fill="url(#b)" d="m141.53 111.91-33.2 33.21a55.77 55.77 0 0 1 0 78.86L181 151.35z"/></svg>'),linear:{source:{light:ae('<svg xmlns="http://www.w3.org/2000/svg" fill="#222326" width="200" height="200" viewBox="0 0 100 100"><path d="M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z"/></svg>'),dark:ae('<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" width="200" height="200" viewBox="0 0 100 100"><path d="M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z" /></svg>')}},slack:ae('<svg xmlns="http://www.w3.org/2000/svg" viewBox="73 73 124 124"><style>.st0{fill:#e01e5a}.st1{fill:#36c5f0}.st2{fill:#2eb67d}.st3{fill:#ecb22e}</style><path d="M99.4 151.2c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h12.9v12.9zM105.9 151.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9v-32.3z" class="st0"/><path d="M118.8 99.4c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v12.9h-12.9zM118.8 105.9c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H86.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3z" class="st1"/><path d="M170.6 118.8c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9h-12.9v-12.9zM164.1 118.8c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9V86.5c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9v32.3z" class="st2"/><path d="M151.2 170.6c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9v-12.9h12.9zM151.2 164.1c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9h-32.3z" class="st3"/></svg>'),zoom:ae('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 351.845 80"><path d="M73.786 78.835H10.88A10.842 10.842 0 0 1 .833 72.122a10.841 10.841 0 0 1 2.357-11.85L46.764 16.7h-31.23C6.954 16.699 0 9.744 0 1.165h58.014c4.414 0 8.357 2.634 10.046 6.712a10.843 10.843 0 0 1-2.356 11.85L22.13 63.302h36.122c8.58 0 15.534 6.955 15.534 15.534Zm278.059-48.544C351.845 13.588 338.256 0 321.553 0c-8.934 0-16.975 3.89-22.524 10.063C293.48 3.89 285.44 0 276.505 0c-16.703 0-30.291 13.588-30.291 30.291v48.544c8.579 0 15.534-6.955 15.534-15.534v-33.01c0-8.137 6.62-14.757 14.757-14.757s14.757 6.62 14.757 14.757v33.01c0 8.58 6.955 15.534 15.534 15.534V30.291c0-8.137 6.62-14.757 14.757-14.757s14.758 6.62 14.758 14.757v33.01c0 8.58 6.954 15.534 15.534 15.534V30.291ZM238.447 40c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.908-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S173.98 26.488 173.98 40s10.953 24.466 24.466 24.466S222.913 53.512 222.913 40Zm-70.68 0c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S87.767 26.488 87.767 40s10.954 24.466 24.466 24.466S136.699 53.512 136.699 40Z" style="fill:#0b5cff"/></svg>')},kn=e=>new we.OAuthService({client:new l1.OAuth.PKCEClient({redirectMethod:l1.OAuth.RedirectMethod.Web,providerName:"Asana",providerIcon:_e.asana,providerId:"asana",description:"Connect your Asana account"}),clientId:e.clientId??A2.asana,authorizeUrl:e.authorizeUrl??"https://asana.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://asana.oauth.raycast.com/token",refreshTokenUrl:e.refreshTokenUrl??"https://asana.oauth.raycast.com/refresh-token",scope:e.scope,personalAccessToken:e.personalAccessToken,onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});d1.asanaService=kn;var On=e=>new we.OAuthService({client:new l1.OAuth.PKCEClient({redirectMethod:l1.OAuth.RedirectMethod.Web,providerName:"GitHub",providerIcon:_e.github,providerId:"github",description:"Connect your GitHub account"}),clientId:e.clientId??A2.github,authorizeUrl:e.authorizeUrl??"https://github.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://github.oauth.raycast.com/token",refreshTokenUrl:e.refreshTokenUrl??"https://github.oauth.raycast.com/refresh-token",scope:e.scope,personalAccessToken:e.personalAccessToken,onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});d1.githubService=On;var Rn=e=>new we.OAuthService({client:new l1.OAuth.PKCEClient({redirectMethod:l1.OAuth.RedirectMethod.AppURI,providerName:"Google",providerIcon:_e.google,providerId:"google",description:"Connect your Google account"}),clientId:e.clientId,authorizeUrl:e.authorizeUrl??"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:e.tokenUrl??"https://oauth2.googleapis.com/token",refreshTokenUrl:e.tokenUrl,scope:e.scope,personalAccessToken:e.personalAccessToken,bodyEncoding:e.bodyEncoding??"url-encoded",onAuthorize:e.onAuthorize,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});d1.googleService=Rn;var qn=e=>new we.OAuthService({client:new l1.OAuth.PKCEClient({redirectMethod:l1.OAuth.RedirectMethod.Web,providerName:"Jira",providerIcon:_e.jira,providerId:"jira",description:"Connect your Jira account"}),clientId:e.clientId,authorizeUrl:e.authorizeUrl??"https://auth.atlassian.com/authorize",tokenUrl:e.tokenUrl??"https://auth.atlassian.com/oauth/token",refreshTokenUrl:e.refreshTokenUrl,scope:e.scope,personalAccessToken:e.personalAccessToken,onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});d1.jiraService=qn;var Ln=e=>new we.OAuthService({client:new l1.OAuth.PKCEClient({redirectMethod:l1.OAuth.RedirectMethod.Web,providerName:"Linear",providerIcon:_e.linear,providerId:"linear",description:"Connect your Linear account"}),clientId:e.clientId??A2.linear,authorizeUrl:e.authorizeUrl??"https://linear.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://linear.oauth.raycast.com/token",refreshTokenUrl:e.refreshTokenUrl??"https://linear.oauth.raycast.com/refresh-token",scope:e.scope,extraParameters:{actor:"user"},onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});d1.linearService=Ln;var In=e=>new we.OAuthService({client:new l1.OAuth.PKCEClient({redirectMethod:l1.OAuth.RedirectMethod.Web,providerName:"Slack",providerIcon:_e.slack,providerId:"slack",description:"Connect your Slack account"}),clientId:e.clientId??A2.slack,authorizeUrl:e.authorizeUrl??"https://slack.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://slack.oauth.raycast.com/token",refreshTokenUrl:e.tokenUrl??"https://slack.oauth.raycast.com/refresh-token",scope:"",extraParameters:{user_scope:e.scope},personalAccessToken:e.personalAccessToken,bodyEncoding:e.tokenUrl?e.bodyEncoding??"url-encoded":"json",onAuthorize:e.onAuthorize,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser??(a=>({access_token:a.authed_user.access_token,scope:a.authed_user.scope}))});d1.slackService=In;var Bn=e=>new we.OAuthService({client:new l1.OAuth.PKCEClient({redirectMethod:l1.OAuth.RedirectMethod.Web,providerName:"Zoom",providerIcon:_e.zoom,providerId:"zoom",description:"Connect your Zoom account"}),clientId:e.clientId,authorizeUrl:e.authorizeUrl??"https://zoom.us/oauth/authorize",tokenUrl:e.tokenUrl??"https://zoom.us/oauth/token",refreshTokenUrl:e.refreshTokenUrl,scope:e.scope,personalAccessToken:e.personalAccessToken,bodyEncoding:e.bodyEncoding??"url-encoded",onAuthorize:e.onAuthorize,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});d1.zoomService=Bn});var Xp=u($e=>{"use strict";var Fn=$e&&$e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty($e,"__esModule",{value:!0});$e.OAuthService=void 0;var E6=Fn(n2()),be=V6(),R1=class{constructor(a){this.clientId=a.clientId,this.scope=Array.isArray(a.scope)?a.scope.join(" "):a.scope,this.personalAccessToken=a.personalAccessToken,this.bodyEncoding=a.bodyEncoding,this.client=a.client,this.extraParameters=a.extraParameters,this.authorizeUrl=a.authorizeUrl,this.tokenUrl=a.tokenUrl,this.refreshTokenUrl=a.refreshTokenUrl,this.onAuthorize=a.onAuthorize,this.tokenResponseParser=a.tokenResponseParser??(p=>p),this.tokenRefreshResponseParser=a.tokenRefreshResponseParser??(p=>p),this.authorize=this.authorize.bind(this)}async authorize(){let a=await this.client.getTokens();if(a?.accessToken){if(a.refreshToken&&a.isExpired()){let r=await this.refreshTokens({token:a.refreshToken});if(r)return await this.client.setTokens(r),r.access_token}return a.accessToken}let p=await this.client.authorizationRequest({endpoint:this.authorizeUrl,clientId:this.clientId,scope:this.scope,extraParameters:this.extraParameters}),{authorizationCode:t}=await this.client.authorize(p),d=await this.fetchTokens({authRequest:p,authorizationCode:t});return await this.client.setTokens(d),d.access_token}async fetchTokens({authRequest:a,authorizationCode:p}){let t;if(this.bodyEncoding==="url-encoded"){let i=new URLSearchParams;i.append("client_id",this.clientId),i.append("code",p),i.append("code_verifier",a.codeVerifier),i.append("grant_type","authorization_code"),i.append("redirect_uri",a.redirectURI),t={body:i}}else t={body:JSON.stringify({client_id:this.clientId,code:p,code_verifier:a.codeVerifier,grant_type:"authorization_code",redirect_uri:a.redirectURI}),headers:{"Content-Type":"application/json"}};let d=await(0,E6.default)(this.tokenUrl,{method:"POST",...t});if(!d.ok){let i=await d.text();throw console.error("fetch tokens error:",i),new Error(`Error while fetching tokens: ${d.status} (${d.statusText}) +${i}`)}let r=this.tokenResponseParser(await d.json());return Array.isArray(r.scope)?{...r,scope:r.scope.join(" ")}:r}async refreshTokens({token:a}){let p;if(this.bodyEncoding==="url-encoded"){let d=new URLSearchParams;d.append("client_id",this.clientId),d.append("refresh_token",a),d.append("grant_type","refresh_token"),p={body:d}}else p={body:JSON.stringify({client_id:this.clientId,refresh_token:a,grant_type:"refresh_token"}),headers:{"Content-Type":"application/json"}};let t=await(0,E6.default)(this.refreshTokenUrl??this.tokenUrl,{method:"POST",...p});if(t.ok){let d=this.tokenRefreshResponseParser(await t.json());return d.refresh_token=d.refresh_token??a,d}else{let d=await t.text();console.error("refresh tokens error:",d),this.client.description=`${this.client.providerName} needs you to sign-in again. Press \u23CE or click the button below to continue.`,await this.client.removeTokens(),await this.authorize()}}};$e.OAuthService=R1;R1.asana=be.asanaService;R1.github=be.githubService;R1.google=be.googleService;R1.jira=be.jiraService;R1.linear=be.linearService;R1.slack=be.slackService;R1.zoom=be.zoomService});var P6=u(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.getAccessToken=He.withAccessToken=void 0;var jn=require("react/jsx-runtime"),zn=require("@raycast/api"),pe=null,ye=null,Qp=null,e0=null,a0=null;function Un(e){return zn.environment.commandMode==="no-view"?a=>async t=>{if(!pe){pe=e.personalAccessToken??await e.authorize(),ye=e.personalAccessToken?"personal":"oauth";let d=(await e.client?.getTokens())?.idToken;e.onAuthorize&&await Promise.resolve(e.onAuthorize({token:pe,type:ye,idToken:d}))}return a(t)}:a=>{let p=t=>{e.personalAccessToken?(pe=e.personalAccessToken,ye="personal"):(Qp||(Qp=p0(e.authorize())),pe=Qp.read(),ye="oauth");let d;return e.client&&(e0||(e0=p0(e.client.getTokens())),d=e0.read()?.idToken),!a0&&e.onAuthorize&&(a0=p0(Promise.resolve(e.onAuthorize({token:pe,type:ye,idToken:d})))),a0?.read(),(0,jn.jsx)(a,{...t})};return p.displayName=`withAccessToken(${a.displayName||a.name})`,p}}He.withAccessToken=Un;function $n(){if(!pe||!ye)throw new Error("getAccessToken must be used when authenticated (eg. used inside `withAccessToken`)");return{token:pe,type:ye}}He.getAccessToken=$n;function p0(e){let a="pending",p,t=e.then(r=>{a="success",p=r},r=>{a="error",p=r});return{read:()=>{switch(a){case"pending":throw t;case"error":throw p;default:return p}}}}});var k6=u(te=>{"use strict";var Hn=te&&te.__createBinding||(Object.create?function(e,a,p,t){t===void 0&&(t=p);var d=Object.getOwnPropertyDescriptor(a,p);(!d||("get"in d?!a.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return a[p]}}),Object.defineProperty(e,t,d)}:function(e,a,p,t){t===void 0&&(t=p),e[t]=a[p]}),M6=te&&te.__exportStar||function(e,a){for(var p in e)p!=="default"&&!Object.prototype.hasOwnProperty.call(a,p)&&Hn(a,e,p)};Object.defineProperty(te,"__esModule",{value:!0});M6(Xp(),te);M6(P6(),te)});var O6=u(Ge=>{"use strict";var Gn=Ge&&Ge.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ge,"__esModule",{value:!0});Ge.runAppleScript=void 0;var Kn=Gn(require("node:child_process")),Aa=h2();async function Zn(e,a,p){let{humanReadableOutput:t,language:d,timeout:r,...i}=Array.isArray(a)?p||{}:a||{},n=t!==!1?[]:["-ss"];d==="JavaScript"&&n.push("-l","JavaScript"),Array.isArray(a)&&n.push("-",...a);let s=Kn.default.spawn("osascript",n,{...i,env:{PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"}}),l=(0,Aa.getSpawnedPromise)(s,{timeout:r||1e4});s.stdin.end(e);let[{error:o,exitCode:m,signal:c,timedOut:v},f,h]=await(0,Aa.getSpawnedResult)(s,{encoding:"utf8"},l),g=(0,Aa.handleOutput)({stripFinalNewline:!0},f),_=(0,Aa.handleOutput)({stripFinalNewline:!0},h);return(0,Aa.defaultParsing)({stdout:g,stderr:_,error:o,exitCode:m,signal:c,timedOut:v,command:"osascript",options:p,parentError:new Error})}Ge.runAppleScript=Zn});var B6=u(N1=>{"use strict";var R6=N1&&N1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(N1,"__esModule",{value:!0});N1.createDeeplink=N1.createExtensionDeeplink=N1.createScriptCommandDeeplink=N1.DeeplinkType=void 0;var d0=require("@raycast/api"),Jn=R6(require("node:fs")),Wn=R6(require("node:path")),t0;(function(e){e.ScriptCommand="script-command",e.Extension="extension"})(t0||(N1.DeeplinkType=t0={}));function q6(){return d0.environment.raycastVersion.includes("alpha")?"raycastinternal://":"raycast://"}function Yn(){let e=JSON.parse(Jn.default.readFileSync(Wn.default.join(d0.environment.assetsPath,"..","package.json"),"utf8"));return e.owner||e.author}function L6(e){let a=`${q6()}script-commands/${e.command}`;if(e.arguments){let p="";for(let t of e.arguments)p+="&arguments="+encodeURIComponent(t);a+="?"+p.substring(1)}return a}N1.createScriptCommandDeeplink=L6;function I6(e){let a=Yn(),p=d0.environment.extensionName;"ownerOrAuthorName"in e&&"extensionName"in e&&(a=e.ownerOrAuthorName,p=e.extensionName);let t=`${q6()}extensions/${a}/${p}/${e.command}`,d="";return e.launchType&&(d+="&launchType="+encodeURIComponent(e.launchType)),e.arguments&&(d+="&arguments="+encodeURIComponent(JSON.stringify(e.arguments))),e.context&&(d+="&context="+encodeURIComponent(JSON.stringify(e.context))),e.fallbackText&&(d+="&fallbackText="+encodeURIComponent(e.fallbackText)),d&&(t+="?"+d.substring(1)),t}N1.createExtensionDeeplink=I6;function Xn(e){return e.type===t0.ScriptCommand?L6(e):I6(e)}N1.createDeeplink=Xn});var r0=u(j=>{"use strict";var Qn=j&&j.__createBinding||(Object.create?function(e,a,p,t){t===void 0&&(t=p);var d=Object.getOwnPropertyDescriptor(a,p);(!d||("get"in d?!a.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return a[p]}}),Object.defineProperty(e,t,d)}:function(e,a,p,t){t===void 0&&(t=p),e[t]=a[p]}),r1=j&&j.__exportStar||function(e,a){for(var p in e)p!=="default"&&!Object.prototype.hasOwnProperty.call(a,p)&&Qn(a,e,p)};Object.defineProperty(j,"__esModule",{value:!0});r1(Ae(),j);r1(e2(),j);r1(ha(),j);r1(_d(),j);r1(Dd(),j);r1(Qd(),j);r1(d6(),j);r1(i6(),j);r1(n6(),j);r1(o6(),j);r1(f6(),j);r1(A6(),j);r1(k6(),j);r1(O6(),j);r1(oa(),j);r1(B6(),j)});var yr=u((k_,br)=>{function Xm(){this.__data__=[],this.size=0}br.exports=Xm});var k0=u((O_,Sr)=>{function Qm(e,a){return e===a||e!==e&&a!==a}Sr.exports=Qm});var La=u((R_,Nr)=>{var eo=k0();function ao(e,a){for(var p=e.length;p--;)if(eo(e[p][0],a))return p;return-1}Nr.exports=ao});var xr=u((q_,Tr)=>{var po=La(),to=Array.prototype,ro=to.splice;function io(e){var a=this.__data__,p=po(a,e);if(p<0)return!1;var t=a.length-1;return p==t?a.pop():ro.call(a,p,1),--this.size,!0}Tr.exports=io});var Cr=u((L_,Dr)=>{var so=La();function no(e){var a=this.__data__,p=so(a,e);return p<0?void 0:a[p][1]}Dr.exports=no});var Vr=u((I_,Ar)=>{var lo=La();function mo(e){return lo(this.__data__,e)>-1}Ar.exports=mo});var Pr=u((B_,Er)=>{var oo=La();function uo(e,a){var p=this.__data__,t=oo(p,e);return t<0?(++this.size,p.push([e,a])):p[t][1]=a,this}Er.exports=uo});var Ia=u((F_,Mr)=>{var co=yr(),fo=xr(),ho=Cr(),vo=Vr(),go=Pr();function aa(e){var a=-1,p=e==null?0:e.length;for(this.clear();++a<p;){var t=e[a];this.set(t[0],t[1])}}aa.prototype.clear=co;aa.prototype.delete=fo;aa.prototype.get=ho;aa.prototype.has=vo;aa.prototype.set=go;Mr.exports=aa});var Or=u((j_,kr)=>{var wo=Ia();function _o(){this.__data__=new wo,this.size=0}kr.exports=_o});var qr=u((z_,Rr)=>{function bo(e){var a=this.__data__,p=a.delete(e);return this.size=a.size,p}Rr.exports=bo});var Ir=u((U_,Lr)=>{function yo(e){return this.__data__.get(e)}Lr.exports=yo});var Fr=u(($_,Br)=>{function So(e){return this.__data__.has(e)}Br.exports=So});var O0=u((H_,jr)=>{var No=typeof global=="object"&&global&&global.Object===Object&&global;jr.exports=No});var I1=u((G_,zr)=>{var To=O0(),xo=typeof self=="object"&&self&&self.Object===Object&&self,Do=To||xo||Function("return this")();zr.exports=Do});var Ba=u((K_,Ur)=>{var Co=I1(),Ao=Co.Symbol;Ur.exports=Ao});var Kr=u((Z_,Gr)=>{var $r=Ba(),Hr=Object.prototype,Vo=Hr.hasOwnProperty,Eo=Hr.toString,Fa=$r?$r.toStringTag:void 0;function Po(e){var a=Vo.call(e,Fa),p=e[Fa];try{e[Fa]=void 0;var t=!0}catch{}var d=Eo.call(e);return t&&(a?e[Fa]=p:delete e[Fa]),d}Gr.exports=Po});var Jr=u((J_,Zr)=>{var Mo=Object.prototype,ko=Mo.toString;function Oo(e){return ko.call(e)}Zr.exports=Oo});var pa=u((W_,Xr)=>{var Wr=Ba(),Ro=Kr(),qo=Jr(),Lo="[object Null]",Io="[object Undefined]",Yr=Wr?Wr.toStringTag:void 0;function Bo(e){return e==null?e===void 0?Io:Lo:Yr&&Yr in Object(e)?Ro(e):qo(e)}Xr.exports=Bo});var G2=u((Y_,Qr)=>{function Fo(e){var a=typeof e;return e!=null&&(a=="object"||a=="function")}Qr.exports=Fo});var R0=u((X_,e5)=>{var jo=pa(),zo=G2(),Uo="[object AsyncFunction]",$o="[object Function]",Ho="[object GeneratorFunction]",Go="[object Proxy]";function Ko(e){if(!zo(e))return!1;var a=jo(e);return a==$o||a==Ho||a==Uo||a==Go}e5.exports=Ko});var p5=u((Q_,a5)=>{var Zo=I1(),Jo=Zo["__core-js_shared__"];a5.exports=Jo});var r5=u((eb,d5)=>{var q0=p5(),t5=function(){var e=/[^.]+$/.exec(q0&&q0.keys&&q0.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Wo(e){return!!t5&&t5 in e}d5.exports=Wo});var L0=u((ab,i5)=>{var Yo=Function.prototype,Xo=Yo.toString;function Qo(e){if(e!=null){try{return Xo.call(e)}catch{}try{return e+""}catch{}}return""}i5.exports=Qo});var n5=u((pb,s5)=>{var eu=R0(),au=r5(),pu=G2(),tu=L0(),du=/[\\^$.*+?()[\]{}|]/g,ru=/^\[object .+?Constructor\]$/,iu=Function.prototype,su=Object.prototype,nu=iu.toString,lu=su.hasOwnProperty,mu=RegExp("^"+nu.call(lu).replace(du,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ou(e){if(!pu(e)||au(e))return!1;var a=eu(e)?mu:ru;return a.test(tu(e))}s5.exports=ou});var m5=u((tb,l5)=>{function uu(e,a){return e?.[a]}l5.exports=uu});var Te=u((db,o5)=>{var cu=n5(),fu=m5();function hu(e,a){var p=fu(e,a);return cu(p)?p:void 0}o5.exports=hu});var K2=u((rb,u5)=>{var vu=Te(),gu=I1(),wu=vu(gu,"Map");u5.exports=wu});var ja=u((ib,c5)=>{var _u=Te(),bu=_u(Object,"create");c5.exports=bu});var v5=u((sb,h5)=>{var f5=ja();function yu(){this.__data__=f5?f5(null):{},this.size=0}h5.exports=yu});var w5=u((nb,g5)=>{function Su(e){var a=this.has(e)&&delete this.__data__[e];return this.size-=a?1:0,a}g5.exports=Su});var b5=u((lb,_5)=>{var Nu=ja(),Tu="__lodash_hash_undefined__",xu=Object.prototype,Du=xu.hasOwnProperty;function Cu(e){var a=this.__data__;if(Nu){var p=a[e];return p===Tu?void 0:p}return Du.call(a,e)?a[e]:void 0}_5.exports=Cu});var S5=u((mb,y5)=>{var Au=ja(),Vu=Object.prototype,Eu=Vu.hasOwnProperty;function Pu(e){var a=this.__data__;return Au?a[e]!==void 0:Eu.call(a,e)}y5.exports=Pu});var T5=u((ob,N5)=>{var Mu=ja(),ku="__lodash_hash_undefined__";function Ou(e,a){var p=this.__data__;return this.size+=this.has(e)?0:1,p[e]=Mu&&a===void 0?ku:a,this}N5.exports=Ou});var D5=u((ub,x5)=>{var Ru=v5(),qu=w5(),Lu=b5(),Iu=S5(),Bu=T5();function ta(e){var a=-1,p=e==null?0:e.length;for(this.clear();++a<p;){var t=e[a];this.set(t[0],t[1])}}ta.prototype.clear=Ru;ta.prototype.delete=qu;ta.prototype.get=Lu;ta.prototype.has=Iu;ta.prototype.set=Bu;x5.exports=ta});var V5=u((cb,A5)=>{var C5=D5(),Fu=Ia(),ju=K2();function zu(){this.size=0,this.__data__={hash:new C5,map:new(ju||Fu),string:new C5}}A5.exports=zu});var P5=u((fb,E5)=>{function Uu(e){var a=typeof e;return a=="string"||a=="number"||a=="symbol"||a=="boolean"?e!=="__proto__":e===null}E5.exports=Uu});var za=u((hb,M5)=>{var $u=P5();function Hu(e,a){var p=e.__data__;return $u(a)?p[typeof a=="string"?"string":"hash"]:p.map}M5.exports=Hu});var O5=u((vb,k5)=>{var Gu=za();function Ku(e){var a=Gu(this,e).delete(e);return this.size-=a?1:0,a}k5.exports=Ku});var q5=u((gb,R5)=>{var Zu=za();function Ju(e){return Zu(this,e).get(e)}R5.exports=Ju});var I5=u((wb,L5)=>{var Wu=za();function Yu(e){return Wu(this,e).has(e)}L5.exports=Yu});var F5=u((_b,B5)=>{var Xu=za();function Qu(e,a){var p=Xu(this,e),t=p.size;return p.set(e,a),this.size+=p.size==t?0:1,this}B5.exports=Qu});var Z2=u((bb,j5)=>{var ec=V5(),ac=O5(),pc=q5(),tc=I5(),dc=F5();function da(e){var a=-1,p=e==null?0:e.length;for(this.clear();++a<p;){var t=e[a];this.set(t[0],t[1])}}da.prototype.clear=ec;da.prototype.delete=ac;da.prototype.get=pc;da.prototype.has=tc;da.prototype.set=dc;j5.exports=da});var U5=u((yb,z5)=>{var rc=Ia(),ic=K2(),sc=Z2(),nc=200;function lc(e,a){var p=this.__data__;if(p instanceof rc){var t=p.__data__;if(!ic||t.length<nc-1)return t.push([e,a]),this.size=++p.size,this;p=this.__data__=new sc(t)}return p.set(e,a),this.size=p.size,this}z5.exports=lc});var I0=u((Sb,$5)=>{var mc=Ia(),oc=Or(),uc=qr(),cc=Ir(),fc=Fr(),hc=U5();function ra(e){var a=this.__data__=new mc(e);this.size=a.size}ra.prototype.clear=oc;ra.prototype.delete=uc;ra.prototype.get=cc;ra.prototype.has=fc;ra.prototype.set=hc;$5.exports=ra});var G5=u((Nb,H5)=>{var vc="__lodash_hash_undefined__";function gc(e){return this.__data__.set(e,vc),this}H5.exports=gc});var Z5=u((Tb,K5)=>{function wc(e){return this.__data__.has(e)}K5.exports=wc});var B0=u((xb,J5)=>{var _c=Z2(),bc=G5(),yc=Z5();function J2(e){var a=-1,p=e==null?0:e.length;for(this.__data__=new _c;++a<p;)this.add(e[a])}J2.prototype.add=J2.prototype.push=bc;J2.prototype.has=yc;J5.exports=J2});var Y5=u((Db,W5)=>{function Sc(e,a){for(var p=-1,t=e==null?0:e.length;++p<t;)if(a(e[p],p,e))return!0;return!1}W5.exports=Sc});var F0=u((Cb,X5)=>{function Nc(e,a){return e.has(a)}X5.exports=Nc});var j0=u((Ab,Q5)=>{var Tc=B0(),xc=Y5(),Dc=F0(),Cc=1,Ac=2;function Vc(e,a,p,t,d,r){var i=p&Cc,n=e.length,s=a.length;if(n!=s&&!(i&&s>n))return!1;var l=r.get(e),o=r.get(a);if(l&&o)return l==a&&o==e;var m=-1,c=!0,v=p&Ac?new Tc:void 0;for(r.set(e,a),r.set(a,e);++m<n;){var f=e[m],h=a[m];if(t)var g=i?t(h,f,m,a,e,r):t(f,h,m,e,a,r);if(g!==void 0){if(g)continue;c=!1;break}if(v){if(!xc(a,function(_,w){if(!Dc(v,w)&&(f===_||d(f,_,p,t,r)))return v.push(w)})){c=!1;break}}else if(!(f===h||d(f,h,p,t,r))){c=!1;break}}return r.delete(e),r.delete(a),c}Q5.exports=Vc});var ai=u((Vb,ei)=>{var Ec=I1(),Pc=Ec.Uint8Array;ei.exports=Pc});var ti=u((Eb,pi)=>{function Mc(e){var a=-1,p=Array(e.size);return e.forEach(function(t,d){p[++a]=[d,t]}),p}pi.exports=Mc});var W2=u((Pb,di)=>{function kc(e){var a=-1,p=Array(e.size);return e.forEach(function(t){p[++a]=t}),p}di.exports=kc});var li=u((Mb,ni)=>{var ri=Ba(),ii=ai(),Oc=k0(),Rc=j0(),qc=ti(),Lc=W2(),Ic=1,Bc=2,Fc="[object Boolean]",jc="[object Date]",zc="[object Error]",Uc="[object Map]",$c="[object Number]",Hc="[object RegExp]",Gc="[object Set]",Kc="[object String]",Zc="[object Symbol]",Jc="[object ArrayBuffer]",Wc="[object DataView]",si=ri?ri.prototype:void 0,z0=si?si.valueOf:void 0;function Yc(e,a,p,t,d,r,i){switch(p){case Wc:if(e.byteLength!=a.byteLength||e.byteOffset!=a.byteOffset)return!1;e=e.buffer,a=a.buffer;case Jc:return!(e.byteLength!=a.byteLength||!r(new ii(e),new ii(a)));case Fc:case jc:case $c:return Oc(+e,+a);case zc:return e.name==a.name&&e.message==a.message;case Hc:case Kc:return e==a+"";case Uc:var n=qc;case Gc:var s=t&Ic;if(n||(n=Lc),e.size!=a.size&&!s)return!1;var l=i.get(e);if(l)return l==a;t|=Bc,i.set(e,a);var o=Rc(n(e),n(a),t,d,r,i);return i.delete(e),o;case Zc:if(z0)return z0.call(e)==z0.call(a)}return!1}ni.exports=Yc});var oi=u((kb,mi)=>{function Xc(e,a){for(var p=-1,t=a.length,d=e.length;++p<t;)e[d+p]=a[p];return e}mi.exports=Xc});var K1=u((Ob,ui)=>{var Qc=Array.isArray;ui.exports=Qc});var fi=u((Rb,ci)=>{var ef=oi(),af=K1();function pf(e,a,p){var t=a(e);return af(e)?t:ef(t,p(e))}ci.exports=pf});var vi=u((qb,hi)=>{function tf(e,a){for(var p=-1,t=e==null?0:e.length,d=0,r=[];++p<t;){var i=e[p];a(i,p,e)&&(r[d++]=i)}return r}hi.exports=tf});var wi=u((Lb,gi)=>{function df(){return[]}gi.exports=df});var yi=u((Ib,bi)=>{var rf=vi(),sf=wi(),nf=Object.prototype,lf=nf.propertyIsEnumerable,_i=Object.getOwnPropertySymbols,mf=_i?function(e){return e==null?[]:(e=Object(e),rf(_i(e),function(a){return lf.call(e,a)}))}:sf;bi.exports=mf});var Ni=u((Bb,Si)=>{function of(e,a){for(var p=-1,t=Array(e);++p<e;)t[p]=a(p);return t}Si.exports=of});var ia=u((Fb,Ti)=>{function uf(e){return e!=null&&typeof e=="object"}Ti.exports=uf});var Di=u((jb,xi)=>{var cf=pa(),ff=ia(),hf="[object Arguments]";function vf(e){return ff(e)&&cf(e)==hf}xi.exports=vf});var U0=u((zb,Vi)=>{var Ci=Di(),gf=ia(),Ai=Object.prototype,wf=Ai.hasOwnProperty,_f=Ai.propertyIsEnumerable,bf=Ci(function(){return arguments}())?Ci:function(e){return gf(e)&&wf.call(e,"callee")&&!_f.call(e,"callee")};Vi.exports=bf});var Pi=u((Ub,Ei)=>{function yf(){return!1}Ei.exports=yf});var $0=u((Ua,sa)=>{var Sf=I1(),Nf=Pi(),Oi=typeof Ua=="object"&&Ua&&!Ua.nodeType&&Ua,Mi=Oi&&typeof sa=="object"&&sa&&!sa.nodeType&&sa,Tf=Mi&&Mi.exports===Oi,ki=Tf?Sf.Buffer:void 0,xf=ki?ki.isBuffer:void 0,Df=xf||Nf;sa.exports=Df});var H0=u(($b,Ri)=>{var Cf=9007199254740991,Af=/^(?:0|[1-9]\d*)$/;function Vf(e,a){var p=typeof e;return a=a??Cf,!!a&&(p=="number"||p!="symbol"&&Af.test(e))&&e>-1&&e%1==0&&e<a}Ri.exports=Vf});var Y2=u((Hb,qi)=>{var Ef=9007199254740991;function Pf(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Ef}qi.exports=Pf});var Ii=u((Gb,Li)=>{var Mf=pa(),kf=Y2(),Of=ia(),Rf="[object Arguments]",qf="[object Array]",Lf="[object Boolean]",If="[object Date]",Bf="[object Error]",Ff="[object Function]",jf="[object Map]",zf="[object Number]",Uf="[object Object]",$f="[object RegExp]",Hf="[object Set]",Gf="[object String]",Kf="[object WeakMap]",Zf="[object ArrayBuffer]",Jf="[object DataView]",Wf="[object Float32Array]",Yf="[object Float64Array]",Xf="[object Int8Array]",Qf="[object Int16Array]",eh="[object Int32Array]",ah="[object Uint8Array]",ph="[object Uint8ClampedArray]",th="[object Uint16Array]",dh="[object Uint32Array]",M={};M[Wf]=M[Yf]=M[Xf]=M[Qf]=M[eh]=M[ah]=M[ph]=M[th]=M[dh]=!0;M[Rf]=M[qf]=M[Zf]=M[Lf]=M[Jf]=M[If]=M[Bf]=M[Ff]=M[jf]=M[zf]=M[Uf]=M[$f]=M[Hf]=M[Gf]=M[Kf]=!1;function rh(e){return Of(e)&&kf(e.length)&&!!M[Mf(e)]}Li.exports=rh});var Fi=u((Kb,Bi)=>{function ih(e){return function(a){return e(a)}}Bi.exports=ih});var zi=u(($a,na)=>{var sh=O0(),ji=typeof $a=="object"&&$a&&!$a.nodeType&&$a,Ha=ji&&typeof na=="object"&&na&&!na.nodeType&&na,nh=Ha&&Ha.exports===ji,G0=nh&&sh.process,lh=function(){try{var e=Ha&&Ha.require&&Ha.require("util").types;return e||G0&&G0.binding&&G0.binding("util")}catch{}}();na.exports=lh});var K0=u((Zb,Hi)=>{var mh=Ii(),oh=Fi(),Ui=zi(),$i=Ui&&Ui.isTypedArray,uh=$i?oh($i):mh;Hi.exports=uh});var Ki=u((Jb,Gi)=>{var ch=Ni(),fh=U0(),hh=K1(),vh=$0(),gh=H0(),wh=K0(),_h=Object.prototype,bh=_h.hasOwnProperty;function yh(e,a){var p=hh(e),t=!p&&fh(e),d=!p&&!t&&vh(e),r=!p&&!t&&!d&&wh(e),i=p||t||d||r,n=i?ch(e.length,String):[],s=n.length;for(var l in e)(a||bh.call(e,l))&&!(i&&(l=="length"||d&&(l=="offset"||l=="parent")||r&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||gh(l,s)))&&n.push(l);return n}Gi.exports=yh});var Ji=u((Wb,Zi)=>{var Sh=Object.prototype;function Nh(e){var a=e&&e.constructor,p=typeof a=="function"&&a.prototype||Sh;return e===p}Zi.exports=Nh});var Yi=u((Yb,Wi)=>{function Th(e,a){return function(p){return e(a(p))}}Wi.exports=Th});var Qi=u((Xb,Xi)=>{var xh=Yi(),Dh=xh(Object.keys,Object);Xi.exports=Dh});var a9=u((Qb,e9)=>{var Ch=Ji(),Ah=Qi(),Vh=Object.prototype,Eh=Vh.hasOwnProperty;function Ph(e){if(!Ch(e))return Ah(e);var a=[];for(var p in Object(e))Eh.call(e,p)&&p!="constructor"&&a.push(p);return a}e9.exports=Ph});var t9=u((ey,p9)=>{var Mh=R0(),kh=Y2();function Oh(e){return e!=null&&kh(e.length)&&!Mh(e)}p9.exports=Oh});var Z0=u((ay,d9)=>{var Rh=Ki(),qh=a9(),Lh=t9();function Ih(e){return Lh(e)?Rh(e):qh(e)}d9.exports=Ih});var i9=u((py,r9)=>{var Bh=fi(),Fh=yi(),jh=Z0();function zh(e){return Bh(e,jh,Fh)}r9.exports=zh});var l9=u((ty,n9)=>{var s9=i9(),Uh=1,$h=Object.prototype,Hh=$h.hasOwnProperty;function Gh(e,a,p,t,d,r){var i=p&Uh,n=s9(e),s=n.length,l=s9(a),o=l.length;if(s!=o&&!i)return!1;for(var m=s;m--;){var c=n[m];if(!(i?c in a:Hh.call(a,c)))return!1}var v=r.get(e),f=r.get(a);if(v&&f)return v==a&&f==e;var h=!0;r.set(e,a),r.set(a,e);for(var g=i;++m<s;){c=n[m];var _=e[c],w=a[c];if(t)var b=i?t(w,_,c,a,e,r):t(_,w,c,e,a,r);if(!(b===void 0?_===w||d(_,w,p,t,r):b)){h=!1;break}g||(g=c=="constructor")}if(h&&!g){var y=e.constructor,N=a.constructor;y!=N&&"constructor"in e&&"constructor"in a&&!(typeof y=="function"&&y instanceof y&&typeof N=="function"&&N instanceof N)&&(h=!1)}return r.delete(e),r.delete(a),h}n9.exports=Gh});var o9=u((dy,m9)=>{var Kh=Te(),Zh=I1(),Jh=Kh(Zh,"DataView");m9.exports=Jh});var c9=u((ry,u9)=>{var Wh=Te(),Yh=I1(),Xh=Wh(Yh,"Promise");u9.exports=Xh});var J0=u((iy,f9)=>{var Qh=Te(),ev=I1(),av=Qh(ev,"Set");f9.exports=av});var v9=u((sy,h9)=>{var pv=Te(),tv=I1(),dv=pv(tv,"WeakMap");h9.exports=dv});var T9=u((ny,N9)=>{var W0=o9(),Y0=K2(),X0=c9(),Q0=J0(),et=v9(),S9=pa(),la=L0(),g9="[object Map]",rv="[object Object]",w9="[object Promise]",_9="[object Set]",b9="[object WeakMap]",y9="[object DataView]",iv=la(W0),sv=la(Y0),nv=la(X0),lv=la(Q0),mv=la(et),xe=S9;(W0&&xe(new W0(new ArrayBuffer(1)))!=y9||Y0&&xe(new Y0)!=g9||X0&&xe(X0.resolve())!=w9||Q0&&xe(new Q0)!=_9||et&&xe(new et)!=b9)&&(xe=function(e){var a=S9(e),p=a==rv?e.constructor:void 0,t=p?la(p):"";if(t)switch(t){case iv:return y9;case sv:return g9;case nv:return w9;case lv:return _9;case mv:return b9}return a});N9.exports=xe});var M9=u((ly,P9)=>{var at=I0(),ov=j0(),uv=li(),cv=l9(),x9=T9(),D9=K1(),C9=$0(),fv=K0(),hv=1,A9="[object Arguments]",V9="[object Array]",X2="[object Object]",vv=Object.prototype,E9=vv.hasOwnProperty;function gv(e,a,p,t,d,r){var i=D9(e),n=D9(a),s=i?V9:x9(e),l=n?V9:x9(a);s=s==A9?X2:s,l=l==A9?X2:l;var o=s==X2,m=l==X2,c=s==l;if(c&&C9(e)){if(!C9(a))return!1;i=!0,o=!1}if(c&&!o)return r||(r=new at),i||fv(e)?ov(e,a,p,t,d,r):uv(e,a,s,p,t,d,r);if(!(p&hv)){var v=o&&E9.call(e,"__wrapped__"),f=m&&E9.call(a,"__wrapped__");if(v||f){var h=v?e.value():e,g=f?a.value():a;return r||(r=new at),d(h,g,p,t,r)}}return c?(r||(r=new at),cv(e,a,p,t,d,r)):!1}P9.exports=gv});var pt=u((my,R9)=>{var wv=M9(),k9=ia();function O9(e,a,p,t,d){return e===a?!0:e==null||a==null||!k9(e)&&!k9(a)?e!==e&&a!==a:wv(e,a,p,t,O9,d)}R9.exports=O9});var L9=u((oy,q9)=>{var _v=I0(),bv=pt(),yv=1,Sv=2;function Nv(e,a,p,t){var d=p.length,r=d,i=!t;if(e==null)return!r;for(e=Object(e);d--;){var n=p[d];if(i&&n[2]?n[1]!==e[n[0]]:!(n[0]in e))return!1}for(;++d<r;){n=p[d];var s=n[0],l=e[s],o=n[1];if(i&&n[2]){if(l===void 0&&!(s in e))return!1}else{var m=new _v;if(t)var c=t(l,o,s,e,a,m);if(!(c===void 0?bv(o,l,yv|Sv,t,m):c))return!1}}return!0}q9.exports=Nv});var tt=u((uy,I9)=>{var Tv=G2();function xv(e){return e===e&&!Tv(e)}I9.exports=xv});var F9=u((cy,B9)=>{var Dv=tt(),Cv=Z0();function Av(e){for(var a=Cv(e),p=a.length;p--;){var t=a[p],d=e[t];a[p]=[t,d,Dv(d)]}return a}B9.exports=Av});var dt=u((fy,j9)=>{function Vv(e,a){return function(p){return p==null?!1:p[e]===a&&(a!==void 0||e in Object(p))}}j9.exports=Vv});var U9=u((hy,z9)=>{var Ev=L9(),Pv=F9(),Mv=dt();function kv(e){var a=Pv(e);return a.length==1&&a[0][2]?Mv(a[0][0],a[0][1]):function(p){return p===e||Ev(p,e,a)}}z9.exports=kv});var Q2=u((vy,$9)=>{var Ov=pa(),Rv=ia(),qv="[object Symbol]";function Lv(e){return typeof e=="symbol"||Rv(e)&&Ov(e)==qv}$9.exports=Lv});var ep=u((gy,H9)=>{var Iv=K1(),Bv=Q2(),Fv=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,jv=/^\w*$/;function zv(e,a){if(Iv(e))return!1;var p=typeof e;return p=="number"||p=="symbol"||p=="boolean"||e==null||Bv(e)?!0:jv.test(e)||!Fv.test(e)||a!=null&&e in Object(a)}H9.exports=zv});var Z9=u((wy,K9)=>{var G9=Z2(),Uv="Expected a function";function rt(e,a){if(typeof e!="function"||a!=null&&typeof a!="function")throw new TypeError(Uv);var p=function(){var t=arguments,d=a?a.apply(this,t):t[0],r=p.cache;if(r.has(d))return r.get(d);var i=e.apply(this,t);return p.cache=r.set(d,i)||r,i};return p.cache=new(rt.Cache||G9),p}rt.Cache=G9;K9.exports=rt});var W9=u((_y,J9)=>{var $v=Z9(),Hv=500;function Gv(e){var a=$v(e,function(t){return p.size===Hv&&p.clear(),t}),p=a.cache;return a}J9.exports=Gv});var X9=u((by,Y9)=>{var Kv=W9(),Zv=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Jv=/\\(\\)?/g,Wv=Kv(function(e){var a=[];return e.charCodeAt(0)===46&&a.push(""),e.replace(Zv,function(p,t,d,r){a.push(d?r.replace(Jv,"$1"):t||p)}),a});Y9.exports=Wv});var e3=u((yy,Q9)=>{function Yv(e,a){for(var p=-1,t=e==null?0:e.length,d=Array(t);++p<t;)d[p]=a(e[p],p,e);return d}Q9.exports=Yv});var i3=u((Sy,r3)=>{var a3=Ba(),Xv=e3(),Qv=K1(),eg=Q2(),ag=1/0,p3=a3?a3.prototype:void 0,t3=p3?p3.toString:void 0;function d3(e){if(typeof e=="string")return e;if(Qv(e))return Xv(e,d3)+"";if(eg(e))return t3?t3.call(e):"";var a=e+"";return a=="0"&&1/e==-ag?"-0":a}r3.exports=d3});var n3=u((Ny,s3)=>{var pg=i3();function tg(e){return e==null?"":pg(e)}s3.exports=tg});var it=u((Ty,l3)=>{var dg=K1(),rg=ep(),ig=X9(),sg=n3();function ng(e,a){return dg(e)?e:rg(e,a)?[e]:ig(sg(e))}l3.exports=ng});var Ga=u((xy,m3)=>{var lg=Q2(),mg=1/0;function og(e){if(typeof e=="string"||lg(e))return e;var a=e+"";return a=="0"&&1/e==-mg?"-0":a}m3.exports=og});var st=u((Dy,o3)=>{var ug=it(),cg=Ga();function fg(e,a){a=ug(a,e);for(var p=0,t=a.length;e!=null&&p<t;)e=e[cg(a[p++])];return p&&p==t?e:void 0}o3.exports=fg});var c3=u((Cy,u3)=>{var hg=st();function vg(e,a,p){var t=e==null?void 0:hg(e,a);return t===void 0?p:t}u3.exports=vg});var h3=u((Ay,f3)=>{function gg(e,a){return e!=null&&a in Object(e)}f3.exports=gg});var g3=u((Vy,v3)=>{var wg=it(),_g=U0(),bg=K1(),yg=H0(),Sg=Y2(),Ng=Ga();function Tg(e,a,p){a=wg(a,e);for(var t=-1,d=a.length,r=!1;++t<d;){var i=Ng(a[t]);if(!(r=e!=null&&p(e,i)))break;e=e[i]}return r||++t!=d?r:(d=e==null?0:e.length,!!d&&Sg(d)&&yg(i,d)&&(bg(e)||_g(e)))}v3.exports=Tg});var _3=u((Ey,w3)=>{var xg=h3(),Dg=g3();function Cg(e,a){return e!=null&&Dg(e,a,xg)}w3.exports=Cg});var y3=u((Py,b3)=>{var Ag=pt(),Vg=c3(),Eg=_3(),Pg=ep(),Mg=tt(),kg=dt(),Og=Ga(),Rg=1,qg=2;function Lg(e,a){return Pg(e)&&Mg(a)?kg(Og(e),a):function(p){var t=Vg(p,e);return t===void 0&&t===a?Eg(p,e):Ag(a,t,Rg|qg)}}b3.exports=Lg});var N3=u((My,S3)=>{function Ig(e){return e}S3.exports=Ig});var x3=u((ky,T3)=>{function Bg(e){return function(a){return a?.[e]}}T3.exports=Bg});var C3=u((Oy,D3)=>{var Fg=st();function jg(e){return function(a){return Fg(a,e)}}D3.exports=jg});var V3=u((Ry,A3)=>{var zg=x3(),Ug=C3(),$g=ep(),Hg=Ga();function Gg(e){return $g(e)?zg(Hg(e)):Ug(e)}A3.exports=Gg});var P3=u((qy,E3)=>{var Kg=U9(),Zg=y3(),Jg=N3(),Wg=K1(),Yg=V3();function Xg(e){return typeof e=="function"?e:e==null?Jg:typeof e=="object"?Wg(e)?Zg(e[0],e[1]):Kg(e):Yg(e)}E3.exports=Xg});var k3=u((Ly,M3)=>{function Qg(e,a,p,t){for(var d=e.length,r=p+(t?1:-1);t?r--:++r<d;)if(a(e[r],r,e))return r;return-1}M3.exports=Qg});var R3=u((Iy,O3)=>{function ew(e){return e!==e}O3.exports=ew});var L3=u((By,q3)=>{function aw(e,a,p){for(var t=p-1,d=e.length;++t<d;)if(e[t]===a)return t;return-1}q3.exports=aw});var B3=u((Fy,I3)=>{var pw=k3(),tw=R3(),dw=L3();function rw(e,a,p){return a===a?dw(e,a,p):pw(e,tw,p)}I3.exports=rw});var j3=u((jy,F3)=>{var iw=B3();function sw(e,a){var p=e==null?0:e.length;return!!p&&iw(e,a,0)>-1}F3.exports=sw});var U3=u((zy,z3)=>{function nw(e,a,p){for(var t=-1,d=e==null?0:e.length;++t<d;)if(p(a,e[t]))return!0;return!1}z3.exports=nw});var H3=u((Uy,$3)=>{function lw(){}$3.exports=lw});var K3=u(($y,G3)=>{var nt=J0(),mw=H3(),ow=W2(),uw=1/0,cw=nt&&1/ow(new nt([,-0]))[1]==uw?function(e){return new nt(e)}:mw;G3.exports=cw});var J3=u((Hy,Z3)=>{var fw=B0(),hw=j3(),vw=U3(),gw=F0(),ww=K3(),_w=W2(),bw=200;function yw(e,a,p){var t=-1,d=hw,r=e.length,i=!0,n=[],s=n;if(p)i=!1,d=vw;else if(r>=bw){var l=a?null:ww(e);if(l)return _w(l);i=!1,d=gw,s=new fw}else s=a?[]:n;e:for(;++t<r;){var o=e[t],m=a?a(o):o;if(o=p||o!==0?o:0,i&&m===m){for(var c=s.length;c--;)if(s[c]===m)continue e;a&&s.push(m),n.push(o)}else d(s,m,p)||(s!==n&&s.push(m),n.push(o))}return n}Z3.exports=yw});var Y3=u((Gy,W3)=>{var Sw=P3(),Nw=J3();function Tw(e,a){return e&&e.length?Nw(e,Sw(a,2)):[]}W3.exports=Tw});var Ew={};o8(Ew,{default:()=>p8});module.exports=u8(Ew);var T=require("@raycast/api"),ap=tp(r0());var Z=require("@raycast/api");var lt=require("@raycast/api");function q(e,a){let p=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(a[0])||(a=a.map(i=>[i]));let t=a[0].length,d=a[0].map((i,n)=>a.map(s=>s[n])),r=e.map(i=>d.map(n=>{let s=0;if(!Array.isArray(i)){for(let l of n)s+=i*l;return s}for(let l=0;l<i.length;l++)s+=i[l]*(n[l]||0);return s}));return p===1&&(r=r[0]),t===1?r.map(i=>i[0]):r}function Oa(e){return de(e)==="string"}function de(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||"").toLowerCase()}function I2(e,{precision:a,unit:p}){return re(e)?"none":L4(e,a)+(p??"")}function re(e){return Number.isNaN(e)||e instanceof Number&&e?.none}function H(e){return re(e)?0:e}function L4(e,a){if(e===0)return 0;let p=~~e,t=0;p&&a&&(t=~~Math.log10(Math.abs(p))+1);let d=10**(a-t);return Math.floor(e*d+.5)/d}var el={deg:1,grad:.9,rad:180/Math.PI,turn:360};function I4(e){if(!e)return;e=e.trim();let a=/^([a-z]+)\((.+?)\)$/i,p=/^-?[\d.]+$/,t=/%|deg|g?rad|turn$/,d=/\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g,r=e.match(a);if(r){let i=[];return r[2].replace(d,(n,s)=>{let l=s.match(t),o=s;if(l){let m=l[0],c=o.slice(0,-m.length);m==="%"?(o=new Number(c/100),o.type="<percentage>"):(o=new Number(c*el[m]),o.type="<angle>",o.unit=m)}else p.test(o)?(o=new Number(o),o.type="<number>"):o==="none"&&(o=new Number(NaN),o.none=!0);n.startsWith("/")&&(o=o instanceof Number?o:new Number(o),o.alpha=!0),typeof o=="object"&&o instanceof Number&&(o.raw=s),i.push(o)}),{name:r[1].toLowerCase(),rawName:r[1],rawArgs:r[2],args:i}}}function B4(e){return e[e.length-1]}function Pa(e,a,p){return isNaN(e)?a:isNaN(a)?e:e+(a-e)*p}function F4(e,a,p){return(p-e)/(a-e)}function x0(e,a,p){return Pa(a[0],a[1],F4(e[0],e[1],p))}function j4(e){return e.map(a=>a.split("|").map(p=>{p=p.trim();let t=p.match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);if(t){let d=new String(t[1]);return d.range=[+t[2],+t[3]],d}return p}))}function z4(e,a,p){return Math.max(Math.min(p,a),e)}function z2(e,a){return Math.sign(e)===Math.sign(a)?e:-e}function q1(e,a){return z2(Math.abs(e)**a,e)}function D0(e,a){return a===0?0:e/a}function U4(e,a,p=0,t=e.length){for(;p<t;){let d=p+t>>1;e[d]<a?p=d+1:t=d}return p}var al=Object.freeze({__proto__:null,bisectLeft:U4,clamp:z4,copySign:z2,interpolate:Pa,interpolateInv:F4,isNone:re,isString:Oa,last:B4,mapRange:x0,multiplyMatrices:q,parseCoordGrammar:j4,parseFunction:I4,serializeNumber:I2,skipNone:H,spow:q1,toPrecision:L4,type:de,zdiv:D0}),v0=class{add(a,p,t){if(typeof arguments[0]!="string"){for(var a in arguments[0])this.add(a,arguments[0][a],arguments[1]);return}(Array.isArray(a)?a:[a]).forEach(function(d){this[d]=this[d]||[],p&&this[d][t?"unshift":"push"](p)},this)}run(a,p){this[a]=this[a]||[],this[a].forEach(function(t){t.call(p&&p.context?p.context:p,p)})}},ie=new v0,g1={gamut_mapping:"css",precision:5,deltaE:"76",verbose:globalThis?.process?.env?.NODE_ENV?.toLowerCase()!=="test",warn:function(a){this.verbose&&globalThis?.console?.warn?.(a)}},m1={D50:[.3457/.3585,1,(1-.3457-.3585)/.3585],D65:[.3127/.329,1,(1-.3127-.329)/.329]};function g0(e){return Array.isArray(e)?e:m1[e]}function B2(e,a,p,t={}){if(e=g0(e),a=g0(a),!e||!a)throw new TypeError(`Missing white point to convert ${e?"":"from"}${!e&&!a?"/":""}${a?"":"to"}`);if(e===a)return p;let d={W1:e,W2:a,XYZ:p,options:t};if(ie.run("chromatic-adaptation-start",d),d.M||(d.W1===m1.D65&&d.W2===m1.D50?d.M=[[1.0479297925449969,.022946870601609652,-.05019226628920524],[.02962780877005599,.9904344267538799,-.017073799063418826],[-.009243040646204504,.015055191490298152,.7518742814281371]]:d.W1===m1.D50&&d.W2===m1.D65&&(d.M=[[.955473421488075,-.02309845494876471,.06325924320057072],[-.0283697093338637,1.0099953980813041,.021041441191917323],[.012314014864481998,-.020507649298898964,1.330365926242124]])),ie.run("chromatic-adaptation-end",d),d.M)return q(d.M,d.XYZ);throw new TypeError("Only Bradford CAT with white points D50 and D65 supported for now.")}var pl=new Set(["<number>","<percentage>","<angle>"]);function F6(e,a,p,t){return Object.entries(e.coords).map(([r,i],n)=>{let s=a.coordGrammar[n],l=t[n],o=l?.type,m;if(l.none?m=s.find(f=>pl.has(f)):m=s.find(f=>f==o),!m){let f=i.name||r;throw new TypeError(`${o??l.raw} not allowed for ${f} in ${p}()`)}let c=m.range;o==="<percentage>"&&(c||=[0,1]);let v=i.range||i.refRange;return c&&v&&(t[n]=x0(c,v,t[n])),m})}function $4(e,{meta:a}={}){let p={str:String(e)?.trim()};if(ie.run("parse-start",p),p.color)return p.color;if(p.parsed=I4(p.str),p.parsed){let t=p.parsed.name;if(t==="color"){let d=p.parsed.args.shift(),r=d.startsWith("--")?d.substring(2):`--${d}`,i=[d,r],n=p.parsed.rawArgs.indexOf("/")>0?p.parsed.args.pop():1;for(let o of S.all){let m=o.getFormat("color");if(m&&(i.includes(m.id)||m.ids?.filter(c=>i.includes(c)).length)){let c=Object.keys(o.coords).map((f,h)=>p.parsed.args[h]||0),v;return m.coordGrammar&&(v=F6(o,m,"color",c)),a&&Object.assign(a,{formatId:"color",types:v}),m.id.startsWith("--")&&!d.startsWith("--")&&g1.warn(`${o.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${m.id}) instead of color(${d}).`),d.startsWith("--")&&!m.id.startsWith("--")&&g1.warn(`${o.name} is a standard space and supported in the CSS spec. Use color(${m.id}) instead of prefixed color(${d}).`),{spaceId:o.id,coords:c,alpha:n}}}let s="",l=d in S.registry?d:r;if(l in S.registry){let o=S.registry[l].formats?.color?.id;o&&(s=`Did you mean color(${o})?`)}throw new TypeError(`Cannot parse color(${d}). `+(s||"Missing a plugin?"))}else for(let d of S.all){let r=d.getFormat(t);if(r&&r.type==="function"){let i=1;(r.lastAlpha||B4(p.parsed.args).alpha)&&(i=p.parsed.args.pop());let n=p.parsed.args,s;return r.coordGrammar&&(s=F6(d,r,t,n)),a&&Object.assign(a,{formatId:r.name,types:s}),{spaceId:d.id,coords:n,alpha:i}}}}else for(let t of S.all)for(let d in t.formats){let r=t.formats[d];if(r.type!=="custom"||r.test&&!r.test(p.str))continue;let i=r.parse(p.str);if(i)return i.alpha??=1,a&&(a.formatId=d),i}throw new TypeError(`Could not parse ${e} as a color. Missing a plugin?`)}function x(e){if(Array.isArray(e))return e.map(x);if(!e)throw new TypeError("Empty color reference");Oa(e)&&(e=$4(e));let a=e.space||e.spaceId;return a instanceof S||(e.space=S.get(a)),e.alpha===void 0&&(e.alpha=1),e}var tl=75e-6,S=class e{constructor(a){this.id=a.id,this.name=a.name,this.base=a.base?e.get(a.base):null,this.aliases=a.aliases,this.base&&(this.fromBase=a.fromBase,this.toBase=a.toBase);let p=a.coords??this.base.coords;for(let d in p)"name"in p[d]||(p[d].name=d);this.coords=p;let t=a.white??this.base.white??"D65";this.white=g0(t),this.formats=a.formats??{};for(let d in this.formats){let r=this.formats[d];r.type||="function",r.name||=d}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:a.cssId||this.id}),a.gamutSpace?this.gamutSpace=a.gamutSpace==="self"?this:e.get(a.gamutSpace):this.isPolar?this.gamutSpace=this.base:this.gamutSpace=this,this.gamutSpace.isUnbounded&&(this.inGamut=(d,r)=>!0),this.referred=a.referred,Object.defineProperty(this,"path",{value:dl(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),ie.run("colorspace-init-end",this)}inGamut(a,{epsilon:p=tl}={}){if(!this.equals(this.gamutSpace))return a=this.to(this.gamutSpace,a),this.gamutSpace.inGamut(a,{epsilon:p});let t=Object.values(this.coords);return a.every((d,r)=>{let i=t[r];if(i.type!=="angle"&&i.range){if(Number.isNaN(d))return!0;let[n,s]=i.range;return(n===void 0||d>=n-p)&&(s===void 0||d<=s+p)}return!0})}get isUnbounded(){return Object.values(this.coords).every(a=>!("range"in a))}get cssId(){return this.formats?.color?.id||this.id}get isPolar(){for(let a in this.coords)if(this.coords[a].type==="angle")return!0;return!1}getFormat(a){if(typeof a=="object")return a=j6(a,this),a;let p;return a==="default"?p=Object.values(this.formats)[0]:p=this.formats[a],p?(p=j6(p,this),p):null}equals(a){return a?this===a||this.id===a||this.id===a.id:!1}to(a,p){if(arguments.length===1){let n=x(a);[a,p]=[n.space,n.coords]}if(a=e.get(a),this.equals(a))return p;p=p.map(n=>Number.isNaN(n)?0:n);let t=this.path,d=a.path,r,i;for(let n=0;n<t.length&&t[n].equals(d[n]);n++)r=t[n],i=n;if(!r)throw new Error(`Cannot convert between color spaces ${this} and ${a}: no connection space was found`);for(let n=t.length-1;n>i;n--)p=t[n].toBase(p);for(let n=i+1;n<d.length;n++)p=d[n].fromBase(p);return p}from(a,p){if(arguments.length===1){let t=x(a);[a,p]=[t.space,t.coords]}return a=e.get(a),a.to(this,p)}toString(){return`${this.name} (${this.id})`}getMinCoords(){let a=[];for(let p in this.coords){let t=this.coords[p],d=t.range||t.refRange;a.push(d?.min??0)}return a}static registry={};static get all(){return[...new Set(Object.values(e.registry))]}static register(a,p){if(arguments.length===1&&(p=arguments[0],a=p.id),p=this.get(p),this.registry[a]&&this.registry[a]!==p)throw new Error(`Duplicate color space registration: '${a}'`);if(this.registry[a]=p,arguments.length===1&&p.aliases)for(let t of p.aliases)this.register(t,p);return p}static get(a,...p){if(!a||a instanceof e)return a;if(de(a)==="string"){let d=e.registry[a.toLowerCase()];if(!d)throw new TypeError(`No color space found with id = "${a}"`);return d}if(p.length)return e.get(...p);throw new TypeError(`${a} is not a valid color space`)}static resolveCoord(a,p){let t=de(a),d,r;if(t==="string"?a.includes(".")?[d,r]=a.split("."):[d,r]=[,a]:Array.isArray(a)?[d,r]=a:(d=a.space,r=a.coordId),d=e.get(d),d||(d=p),!d)throw new TypeError(`Cannot resolve coordinate reference ${a}: No color space specified and relative references are not allowed here`);if(t=de(r),t==="number"||t==="string"&&r>=0){let s=Object.entries(d.coords)[r];if(s)return{space:d,id:s[0],index:r,...s[1]}}d=e.get(d);let i=r.toLowerCase(),n=0;for(let s in d.coords){let l=d.coords[s];if(s.toLowerCase()===i||l.name?.toLowerCase()===i)return{space:d,id:s,index:n,...l};n++}throw new TypeError(`No "${r}" coordinate found in ${d.name}. Its coordinates are: ${Object.keys(d.coords).join(", ")}`)}static DEFAULT_FORMAT={type:"functions",name:"color"}};function dl(e){let a=[e];for(let p=e;p=p.base;)a.push(p);return a}function j6(e,{coords:a}={}){if(e.coords&&!e.coordGrammar){e.type||="function",e.name||="color",e.coordGrammar=j4(e.coords);let p=Object.entries(a).map(([t,d],r)=>{let i=e.coordGrammar[r][0],n=d.range||d.refRange,s=i.range,l="";return i=="<percentage>"?(s=[0,100],l="%"):i=="<angle>"&&(l="deg"),{fromRange:n,toRange:s,suffix:l}});e.serializeCoords=(t,d)=>t.map((r,i)=>{let{fromRange:n,toRange:s,suffix:l}=p[i];return n&&s&&(r=x0(n,s,r)),r=I2(r,{precision:d,unit:l}),r})}return e}var p1=new S({id:"xyz-d65",name:"XYZ D65",coords:{x:{name:"X"},y:{name:"Y"},z:{name:"Z"}},white:"D65",formats:{color:{ids:["xyz-d65","xyz"]}},aliases:["xyz"]}),i1=class extends S{constructor(a){a.coords||(a.coords={r:{range:[0,1],name:"Red"},g:{range:[0,1],name:"Green"},b:{range:[0,1],name:"Blue"}}),a.base||(a.base=p1),a.toXYZ_M&&a.fromXYZ_M&&(a.toBase??=p=>{let t=q(a.toXYZ_M,p);return this.white!==this.base.white&&(t=B2(this.white,this.base.white,t)),t},a.fromBase??=p=>(p=B2(this.base.white,this.white,p),q(a.fromXYZ_M,p))),a.referred??="display",super(a)}};function Ra(e,a){return e=x(e),!a||e.space.equals(a)?e.coords.slice():(a=S.get(a),a.from(e))}function h1(e,a){e=x(e);let{space:p,index:t}=S.resolveCoord(a,e.space);return Ra(e,p)[t]}function C0(e,a,p){return e=x(e),a=S.get(a),e.coords=a.to(e.space,p),e}C0.returns="color";function G1(e,a,p){if(e=x(e),arguments.length===2&&de(arguments[1])==="object"){let t=arguments[1];for(let d in t)G1(e,d,t[d])}else{typeof p=="function"&&(p=p(h1(e,a)));let{space:t,index:d}=S.resolveCoord(a,e.space),r=Ra(e,t);r[d]=p,C0(e,t,r)}return e}G1.returns="color";var A0=new S({id:"xyz-d50",name:"XYZ D50",white:"D50",base:p1,fromBase:e=>B2(p1.white,"D50",e),toBase:e=>B2("D50",p1.white,e)}),rl=216/24389,z6=24/116,V2=24389/27,i0=m1.D50,v1=new S({id:"lab",name:"Lab",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:i0,base:A0,fromBase(e){let p=e.map((t,d)=>t/i0[d]).map(t=>t>rl?Math.cbrt(t):(V2*t+16)/116);return[116*p[1]-16,500*(p[0]-p[1]),200*(p[1]-p[2])]},toBase(e){let a=[];return a[1]=(e[0]+16)/116,a[0]=e[1]/500+a[1],a[2]=a[1]-e[2]/200,[a[0]>z6?Math.pow(a[0],3):(116*a[0]-16)/V2,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/V2,a[2]>z6?Math.pow(a[2],3):(116*a[2]-16)/V2].map((t,d)=>t*i0[d])},formats:{lab:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function L1(e){return(e%360+360)%360}function il(e,a){if(e==="raw")return a;let[p,t]=a.map(L1),d=t-p;return e==="increasing"?d<0&&(t+=360):e==="decreasing"?d>0&&(p+=360):e==="longer"?-180<d&&d<180&&(d>0?p+=360:t+=360):e==="shorter"&&(d>180?p+=360:d<-180&&(t+=360)),[p,t]}var Ma=new S({id:"lch",name:"LCH",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,150],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:v1,fromBase(e){let[a,p,t]=e,d,r=.02;return Math.abs(p)<r&&Math.abs(t)<r?d=NaN:d=Math.atan2(t,p)*180/Math.PI,[a,Math.sqrt(p**2+t**2),L1(d)]},toBase(e){let[a,p,t]=e;return p<0&&(p=0),isNaN(t)&&(t=0),[a,p*Math.cos(t*Math.PI/180),p*Math.sin(t*Math.PI/180)]},formats:{lch:{coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}}),U6=25**7,F2=Math.PI,$6=180/F2,Ke=F2/180;function H6(e){let a=e*e;return a*a*a*e}function H4(e,a,{kL:p=1,kC:t=1,kH:d=1}={}){[e,a]=x([e,a]);let[r,i,n]=v1.from(e),s=Ma.from(v1,[r,i,n])[1],[l,o,m]=v1.from(a),c=Ma.from(v1,[l,o,m])[1];s<0&&(s=0),c<0&&(c=0);let v=(s+c)/2,f=H6(v),h=.5*(1-Math.sqrt(f/(f+U6))),g=(1+h)*i,_=(1+h)*o,w=Math.sqrt(g**2+n**2),b=Math.sqrt(_**2+m**2),y=g===0&&n===0?0:Math.atan2(n,g),N=_===0&&m===0?0:Math.atan2(m,_);y<0&&(y+=2*F2),N<0&&(N+=2*F2),y*=$6,N*=$6;let C=l-r,L=b-w,E=N-y,e1=y+N,J=Math.abs(E),O;w*b===0?O=0:J<=180?O=E:E>180?O=E-360:E<-180?O=E+360:g1.warn("the unthinkable has happened");let u1=2*Math.sqrt(b*w)*Math.sin(O*Ke/2),w1=(r+l)/2,A=(w+b)/2,t1=H6(A),s1;w*b===0?s1=e1:J<=180?s1=e1/2:e1<360?s1=(e1+360)/2:s1=(e1-360)/2;let De=(w1-50)**2,pp=1+.015*De/Math.sqrt(20+De),ut=1+.045*A,ma=1;ma-=.17*Math.cos((s1-30)*Ke),ma+=.24*Math.cos(2*s1*Ke),ma+=.32*Math.cos((3*s1+6)*Ke),ma-=.2*Math.cos((4*s1-63)*Ke);let ct=1+.015*A*ma,t8=30*Math.exp(-1*((s1-275)/25)**2),d8=2*Math.sqrt(t1/(t1+U6)),r8=-1*Math.sin(2*t8*Ke)*d8,Za=(C/(p*pp))**2;return Za+=(L/(t*ut))**2,Za+=(u1/(d*ct))**2,Za+=r8*(L/(t*ut))*(u1/(d*ct)),Math.sqrt(Za)}var sl=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],nl=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],ll=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],ml=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],Ye=new S({id:"oklab",name:"Oklab",coords:{l:{refRange:[0,1],name:"Lightness"},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:"D65",base:p1,fromBase(e){let p=q(sl,e).map(t=>Math.cbrt(t));return q(ll,p)},toBase(e){let p=q(ml,e).map(t=>t**3);return q(nl,p)},formats:{oklab:{coords:["<percentage> | <number>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function w0(e,a){[e,a]=x([e,a]);let[p,t,d]=Ye.from(e),[r,i,n]=Ye.from(a),s=p-r,l=t-i,o=d-n;return Math.sqrt(s**2+l**2+o**2)}var ol=75e-6;function Ne(e,a,{epsilon:p=ol}={}){e=x(e),a||(a=e.space),a=S.get(a);let t=e.coords;return a!==e.space&&(t=a.from(e)),a.inGamut(t,{epsilon:p})}function Xe(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function G4(e,a,p="lab"){p=S.get(p);let t=p.from(e),d=p.from(a);return Math.sqrt(t.reduce((r,i,n)=>{let s=d[n];return isNaN(i)||isNaN(s)?r:r+(s-i)**2},0))}function ul(e,a){return G4(e,a,"lab")}var cl=Math.PI,G6=cl/180;function fl(e,a,{l:p=2,c:t=1}={}){[e,a]=x([e,a]);let[d,r,i]=v1.from(e),[,n,s]=Ma.from(v1,[d,r,i]),[l,o,m]=v1.from(a),c=Ma.from(v1,[l,o,m])[1];n<0&&(n=0),c<0&&(c=0);let v=d-l,f=n-c,h=r-o,g=i-m,_=h**2+g**2-f**2,w=.511;d>=16&&(w=.040975*d/(1+.01765*d));let b=.0638*n/(1+.0131*n)+.638,y;Number.isNaN(s)&&(s=0),s>=164&&s<=345?y=.56+Math.abs(.2*Math.cos((s+168)*G6)):y=.36+Math.abs(.4*Math.cos((s+35)*G6));let N=Math.pow(n,4),C=Math.sqrt(N/(N+1900)),L=b*(C*y+1-C),E=(v/(p*w))**2;return E+=(f/(t*b))**2,E+=_/L**2,Math.sqrt(E)}var K6=203,V0=new S({id:"xyz-abs-d65",cssId:"--xyz-abs-d65",name:"Absolute XYZ D65",coords:{x:{refRange:[0,9504.7],name:"Xa"},y:{refRange:[0,1e4],name:"Ya"},z:{refRange:[0,10888.3],name:"Za"}},base:p1,fromBase(e){return e.map(a=>Math.max(a*K6,0))},toBase(e){return e.map(a=>Math.max(a/K6,0))}}),E2=1.15,P2=.66,Z6=2610/2**14,hl=2**14/2610,J6=3424/2**12,W6=2413/2**7,Y6=2392/2**7,vl=1.7*2523/2**5,X6=2**5/(1.7*2523),M2=-.56,s0=16295499532821565e-27,gl=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],wl=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],_l=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],bl=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]],K4=new S({id:"jzazbz",name:"Jzazbz",coords:{jz:{refRange:[0,1],name:"Jz"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:V0,fromBase(e){let[a,p,t]=e,d=E2*a-(E2-1)*t,r=P2*p-(P2-1)*a,n=q(gl,[d,r,t]).map(function(c){let v=J6+W6*(c/1e4)**Z6,f=1+Y6*(c/1e4)**Z6;return(v/f)**vl}),[s,l,o]=q(_l,n);return[(1+M2)*s/(1+M2*s)-s0,l,o]},toBase(e){let[a,p,t]=e,d=(a+s0)/(1+M2-M2*(a+s0)),i=q(bl,[d,p,t]).map(function(c){let v=J6-c**X6,f=Y6*c**X6-W6;return 1e4*(v/f)**hl}),[n,s,l]=q(wl,i),o=(n+(E2-1)*l)/E2,m=(s+(P2-1)*o)/P2;return[o,m,l]},formats:{color:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),_0=new S({id:"jzczhz",name:"JzCzHz",coords:{jz:{refRange:[0,1],name:"Jz"},cz:{refRange:[0,1],name:"Chroma"},hz:{refRange:[0,360],type:"angle",name:"Hue"}},base:K4,fromBase(e){let[a,p,t]=e,d,r=2e-4;return Math.abs(p)<r&&Math.abs(t)<r?d=NaN:d=Math.atan2(t,p)*180/Math.PI,[a,Math.sqrt(p**2+t**2),L1(d)]},toBase(e){return[e[0],e[1]*Math.cos(e[2]*Math.PI/180),e[1]*Math.sin(e[2]*Math.PI/180)]}});function yl(e,a){[e,a]=x([e,a]);let[p,t,d]=_0.from(e),[r,i,n]=_0.from(a),s=p-r,l=t-i;Number.isNaN(d)&&Number.isNaN(n)?(d=0,n=0):Number.isNaN(d)?d=n:Number.isNaN(n)&&(n=d);let o=d-n,m=2*Math.sqrt(t*i)*Math.sin(o/2*(Math.PI/180));return Math.sqrt(s**2+l**2+m**2)}var Z4=3424/4096,J4=2413/128,W4=2392/128,Q6=2610/16384,Sl=2523/32,Nl=16384/2610,e4=32/2523,Tl=[[.3592832590121217,.6976051147779502,-.035891593232029],[-.1920808463704993,1.100476797037432,.0753748658519118],[.0070797844607479,.0748396662186362,.8433265453898765]],xl=[[2048/4096,2048/4096,0],[6610/4096,-13613/4096,7003/4096],[17933/4096,-17390/4096,-543/4096]],Dl=[[.9999999999999998,.0086090370379328,.111029625003026],[.9999999999999998,-.0086090370379328,-.1110296250030259],[.9999999999999998,.5600313357106791,-.3206271749873188]],Cl=[[2.0701522183894223,-1.3263473389671563,.2066510476294053],[.3647385209748072,.6805660249472273,-.0453045459220347],[-.0497472075358123,-.0492609666966131,1.1880659249923042]],b0=new S({id:"ictcp",name:"ICTCP",coords:{i:{refRange:[0,1],name:"I"},ct:{refRange:[-.5,.5],name:"CT"},cp:{refRange:[-.5,.5],name:"CP"}},base:V0,fromBase(e){let a=q(Tl,e);return Al(a)},toBase(e){let a=Vl(e);return q(Cl,a)}});function Al(e){let a=e.map(function(p){let t=Z4+J4*(p/1e4)**Q6,d=1+W4*(p/1e4)**Q6;return(t/d)**Sl});return q(xl,a)}function Vl(e){return q(Dl,e).map(function(t){let d=Math.max(t**e4-Z4,0),r=J4-W4*t**e4;return 1e4*(d/r)**Nl})}function El(e,a){[e,a]=x([e,a]);let[p,t,d]=b0.from(e),[r,i,n]=b0.from(a);return 720*Math.sqrt((p-r)**2+.25*(t-i)**2+(d-n)**2)}var Pl=m1.D65,Y4=.42,a4=1/Y4,n0=2*Math.PI,X4=[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],Ml=[[1.8620678550872327,-1.0112546305316843,.14918677544445175],[.38752654323613717,.6214474419314753,-.008973985167612518],[-.015841498849333856,-.03412293802851557,1.0499644368778496]],kl=[[460,451,288],[460,-891,-261],[460,-220,-6300]],Ol={dark:[.8,.525,.8],dim:[.9,.59,.9],average:[1,.69,1]},Se={h:[20.14,90,164.25,237.53,380.14],e:[.8,.7,1,1.2,.8],H:[0,100,200,300,400]},Rl=180/Math.PI,p4=Math.PI/180;function Q4(e,a){return e.map(t=>{let d=q1(a*Math.abs(t)*.01,Y4);return 400*z2(d,t)/(d+27.13)})}function ql(e,a){let p=100/a*27.13**a4;return e.map(t=>{let d=Math.abs(t);return z2(p*q1(d/(400-d),a4),t)})}function Ll(e){let a=L1(e);a<=Se.h[0]&&(a+=360);let p=U4(Se.h,a)-1,[t,d]=Se.h.slice(p,p+2),[r,i]=Se.e.slice(p,p+2),n=Se.H[p],s=(a-t)/r;return n+100*s/(s+(d-a)/i)}function Il(e){let a=(e%400+400)%400,p=Math.floor(.01*a);a=a%100;let[t,d]=Se.h.slice(p,p+2),[r,i]=Se.e.slice(p,p+2);return L1((a*(i*t-r*d)-100*t*i)/(a*(i-r)-100*i))}function er(e,a,p,t,d){let r={};r.discounting=d,r.refWhite=e,r.surround=t;let i=e.map(h=>h*100);r.la=a,r.yb=p;let n=i[1],s=q(X4,i);t=Ol[r.surround];let l=t[0];r.c=t[1],r.nc=t[2];let m=(1/(5*r.la+1))**4;r.fl=m*r.la+.1*(1-m)*(1-m)*Math.cbrt(5*r.la),r.flRoot=r.fl**.25,r.n=r.yb/n,r.z=1.48+Math.sqrt(r.n),r.nbb=.725*r.n**-.2,r.ncb=r.nbb;let c=d?1:Math.max(Math.min(l*(1-1/3.6*Math.exp((-r.la-42)/92)),1),0);r.dRgb=s.map(h=>Pa(1,n/h,c)),r.dRgbInv=r.dRgb.map(h=>1/h);let v=s.map((h,g)=>h*r.dRgb[g]),f=Q4(v,r.fl);return r.aW=r.nbb*(2*f[0]+f[1]+.05*f[2]),r}var t4=er(Pl,64/Math.PI*.2,20,"average",!1);function y0(e,a){if(!(e.J!==void 0^e.Q!==void 0))throw new Error("Conversion requires one and only one: 'J' or 'Q'");if(!(e.C!==void 0^e.M!==void 0^e.s!==void 0))throw new Error("Conversion requires one and only one: 'C', 'M' or 's'");if(!(e.h!==void 0^e.H!==void 0))throw new Error("Conversion requires one and only one: 'h' or 'H'");if(e.J===0||e.Q===0)return[0,0,0];let p=0;e.h!==void 0?p=L1(e.h)*p4:p=Il(e.H)*p4;let t=Math.cos(p),d=Math.sin(p),r=0;e.J!==void 0?r=q1(e.J,1/2)*.1:e.Q!==void 0&&(r=.25*a.c*e.Q/((a.aW+4)*a.flRoot));let i=0;e.C!==void 0?i=e.C/r:e.M!==void 0?i=e.M/a.flRoot/r:e.s!==void 0&&(i=4e-4*e.s**2*(a.aW+4)/a.c);let n=q1(i*Math.pow(1.64-Math.pow(.29,a.n),-.73),10/9),s=.25*(Math.cos(p+2)+3.8),l=a.aW*q1(r,2/a.c/a.z),o=5e4/13*a.nc*a.ncb*s,m=l/a.nbb,c=23*(m+.305)*D0(n,23*o+n*(11*t+108*d)),v=c*t,f=c*d,h=ql(q(kl,[m,v,f]).map(g=>g*1/1403),a.fl);return q(Ml,h.map((g,_)=>g*a.dRgbInv[_])).map(g=>g/100)}function ar(e,a){let p=e.map(b=>b*100),t=Q4(q(X4,p).map((b,y)=>b*a.dRgb[y]),a.fl),d=t[0]+(-12*t[1]+t[2])/11,r=(t[0]+t[1]-2*t[2])/9,i=(Math.atan2(r,d)%n0+n0)%n0,n=.25*(Math.cos(i+2)+3.8),s=5e4/13*a.nc*a.ncb*D0(n*Math.sqrt(d**2+r**2),t[0]+t[1]+1.05*t[2]+.305),l=q1(s,.9)*Math.pow(1.64-Math.pow(.29,a.n),.73),o=a.nbb*(2*t[0]+t[1]+.05*t[2]),m=q1(o/a.aW,.5*a.c*a.z),c=100*q1(m,2),v=4/a.c*m*(a.aW+4)*a.flRoot,f=l*m,h=f*a.flRoot,g=L1(i*Rl),_=Ll(g),w=50*q1(a.c*l/(a.aW+4),1/2);return{J:c,C:f,h:g,s:w,Q:v,M:h,H:_}}var Bl=new S({id:"cam16-jmh",cssId:"--cam16-jmh",name:"CAM16-JMh",coords:{j:{refRange:[0,100],name:"J"},m:{refRange:[0,105],name:"Colorfulness"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:p1,fromBase(e){let a=ar(e,t4);return[a.J,a.M,a.h]},toBase(e){return y0({J:e[0],M:e[1],h:e[2]},t4)}}),Fl=m1.D65,jl=216/24389,pr=24389/27;function zl(e){return 116*(e>jl?Math.cbrt(e):(pr*e+16)/116)-16}function S0(e){return e>8?Math.pow((e+16)/116,3):e/pr}function Ul(e,a){let[p,t,d]=e,r=[],i=0;if(d===0)return[0,0,0];let n=S0(d);d>0?i=.00379058511492914*d**2+.608983189401032*d+.9155088574762233:i=9514440756550361e-21*d**2+.08693057439788597*d-21.928975842194614;let s=2e-12,l=15,o=0,m=1/0;for(;o<=l;){r=y0({J:i,C:t,h:p},a);let c=Math.abs(r[1]-n);if(c<m){if(c<=s)return r;m=c}i=i-(r[1]-n)*i/(2*r[1]),o+=1}return y0({J:i,C:t,h:p},a)}function $l(e,a){let p=zl(e[1]);if(p===0)return[0,0,0];let t=ar(e,E0);return[L1(t.h),t.C,p]}var E0=er(Fl,200/Math.PI*S0(50),S0(50)*100,"average",!1),ka=new S({id:"hct",name:"HCT",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},c:{refRange:[0,145],name:"Colorfulness"},t:{refRange:[0,100],name:"Tone"}},base:p1,fromBase(e){return $l(e)},toBase(e){return Ul(e,E0)},formats:{color:{id:"--hct",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),Hl=Math.PI/180,d4=[1,.007,.0228];function r4(e){e[1]<0&&(e=ka.fromBase(ka.toBase(e)));let a=Math.log(Math.max(1+d4[2]*e[1]*E0.flRoot,1))/d4[2],p=e[0]*Hl,t=a*Math.cos(p),d=a*Math.sin(p);return[e[2],t,d]}function Gl(e,a){[e,a]=x([e,a]);let[p,t,d]=r4(ka.from(e)),[r,i,n]=r4(ka.from(a));return Math.sqrt((p-r)**2+(t-i)**2+(d-n)**2)}var Qe={deltaE76:ul,deltaECMC:fl,deltaE2000:H4,deltaEJz:yl,deltaEITP:El,deltaEOK:w0,deltaEHCT:Gl};function Kl(e){let a=e?Math.floor(Math.log10(Math.abs(e))):0;return Math.max(parseFloat(`1e${a-2}`),1e-6)}var i4={hct:{method:"hct.c",jnd:2,deltaEMethod:"hct",blackWhiteClamp:{}},"hct-tonal":{method:"hct.c",jnd:0,deltaEMethod:"hct",blackWhiteClamp:{channel:"hct.t",min:0,max:100}}};function se(e,{method:a=g1.gamut_mapping,space:p=void 0,deltaEMethod:t="",jnd:d=2,blackWhiteClamp:r={}}={}){if(e=x(e),Oa(arguments[1])?p=arguments[1]:p||(p=e.space),p=S.get(p),Ne(e,p,{epsilon:0}))return e;let i;if(a==="css")i=Zl(e,{space:p});else{if(a!=="clip"&&!Ne(e,p)){Object.prototype.hasOwnProperty.call(i4,a)&&({method:a,jnd:d,deltaEMethod:t,blackWhiteClamp:r}=i4[a]);let n=H4;if(t!==""){for(let l in Qe)if("deltae"+t.toLowerCase()===l.toLowerCase()){n=Qe[l];break}}let s=se(R(e,p),{method:"clip",space:p});if(n(e,s)>d){if(Object.keys(r).length===3){let w=S.resolveCoord(r.channel),b=h1(R(e,w.space),w.id);if(re(b)&&(b=0),b>=r.max)return R({space:"xyz-d65",coords:m1.D65},e.space);if(b<=r.min)return R({space:"xyz-d65",coords:[0,0,0]},e.space)}let l=S.resolveCoord(a),o=l.space,m=l.id,c=R(e,o);c.coords.forEach((w,b)=>{re(w)&&(c.coords[b]=0)});let f=(l.range||l.refRange)[0],h=Kl(d),g=f,_=h1(c,m);for(;_-g>h;){let w=Xe(c);w=se(w,{space:p,method:"clip"}),n(c,w)-d<h?g=h1(c,m):_=h1(c,m),G1(c,m,(g+_)/2)}i=R(c,p)}else i=s}else i=R(e,p);if(a==="clip"||!Ne(i,p,{epsilon:0})){let n=Object.values(p.coords).map(s=>s.range||[]);i.coords=i.coords.map((s,l)=>{let[o,m]=n[l];return o!==void 0&&(s=Math.max(o,s)),m!==void 0&&(s=Math.min(s,m)),s})}}return p!==e.space&&(i=R(i,e.space)),e.coords=i.coords,e}se.returns="color";var s4={WHITE:{space:Ye,coords:[1,0,0]},BLACK:{space:Ye,coords:[0,0,0]}};function Zl(e,{space:a}={}){e=x(e),a||(a=e.space),a=S.get(a);let d=S.get("oklch");if(a.isUnbounded)return R(e,a);let r=R(e,d),i=r.coords[0];if(i>=1){let f=R(s4.WHITE,a);return f.alpha=e.alpha,R(f,a)}if(i<=0){let f=R(s4.BLACK,a);return f.alpha=e.alpha,R(f,a)}if(Ne(r,a,{epsilon:0}))return R(r,a);function n(f){let h=R(f,a),g=Object.values(a.coords);return h.coords=h.coords.map((_,w)=>{if("range"in g[w]){let[b,y]=g[w].range;return z4(b,_,y)}return _}),h}let s=0,l=r.coords[1],o=!0,m=Xe(r),c=n(m),v=w0(c,m);if(v<.02)return c;for(;l-s>1e-4;){let f=(s+l)/2;if(m.coords[1]=f,o&&Ne(m,a,{epsilon:0}))s=f;else if(c=n(m),v=w0(c,m),v<.02){if(.02-v<1e-4)break;o=!1,s=f}else l=f}return c}function R(e,a,{inGamut:p}={}){e=x(e),a=S.get(a);let t=a.from(e),d={space:a,coords:t,alpha:e.alpha};return p&&(d=se(d,p===!0?void 0:p)),d}R.returns="color";function Ea(e,{precision:a=g1.precision,format:p="default",inGamut:t=!0,...d}={}){let r;e=x(e);let i=p;p=e.space.getFormat(p)??e.space.getFormat("default")??S.DEFAULT_FORMAT;let n=e.coords.slice();if(t||=p.toGamut,t&&!Ne(e)&&(n=se(Xe(e),t===!0?void 0:t).coords),p.type==="custom")if(d.precision=a,p.serialize)r=p.serialize(n,e.alpha,d);else throw new TypeError(`format ${i} can only be used to parse colors, not for serialization`);else{let s=p.name||"color";p.serializeCoords?n=p.serializeCoords(n,a):a!==null&&(n=n.map(c=>I2(c,{precision:a})));let l=[...n];if(s==="color"){let c=p.id||p.ids?.[0]||e.space.id;l.unshift(c)}let o=e.alpha;a!==null&&(o=I2(o,{precision:a}));let m=e.alpha>=1||p.noAlpha?"":`${p.commas?",":" /"} ${o}`;r=`${s}(${l.join(p.commas?", ":" ")}${m})`}return r}var Jl=[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],Wl=[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]],U2=new i1({id:"rec2020-linear",cssId:"--rec2020-linear",name:"Linear REC.2020",white:"D65",toXYZ_M:Jl,fromXYZ_M:Wl}),k2=1.09929682680944,n4=.018053968510807,tr=new i1({id:"rec2020",name:"REC.2020",base:U2,toBase(e){return e.map(function(a){return a<n4*4.5?a/4.5:Math.pow((a+k2-1)/k2,1/.45)})},fromBase(e){return e.map(function(a){return a>=n4?k2*Math.pow(a,.45)-(k2-1):4.5*a})}}),Yl=[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],Xl=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]],dr=new i1({id:"p3-linear",cssId:"--display-p3-linear",name:"Linear P3",white:"D65",toXYZ_M:Yl,fromXYZ_M:Xl}),Ql=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],K=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],rr=new i1({id:"srgb-linear",name:"Linear sRGB",white:"D65",toXYZ_M:Ql,fromXYZ_M:K}),l4={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[153/255,50/255,204/255],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,153/255],lightslategrey:[119/255,136/255,153/255],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[102/255,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,204/255],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[102/255,51/255,153/255],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]},m4=Array(3).fill("<percentage> | <number>[0, 255]"),o4=Array(3).fill("<number>[0, 255]"),ea=new i1({id:"srgb",name:"sRGB",base:rr,fromBase:e=>e.map(a=>{let p=a<0?-1:1,t=a*p;return t>.0031308?p*(1.055*t**(1/2.4)-.055):12.92*a}),toBase:e=>e.map(a=>{let p=a<0?-1:1,t=a*p;return t<=.04045?a/12.92:p*((t+.055)/1.055)**2.4}),formats:{rgb:{coords:m4},rgb_number:{name:"rgb",commas:!0,coords:o4,noAlpha:!0},color:{},rgba:{coords:m4,commas:!0,lastAlpha:!0},rgba_number:{name:"rgba",commas:!0,coords:o4},hex:{type:"custom",toGamut:!0,test:e=>/^#([a-f0-9]{3,4}){1,2}$/i.test(e),parse(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,"$&$&"));let a=[];return e.replace(/[a-f0-9]{2}/gi,p=>{a.push(parseInt(p,16)/255)}),{spaceId:"srgb",coords:a.slice(0,3),alpha:a.slice(3)[0]}},serialize:(e,a,{collapse:p=!0}={})=>{a<1&&e.push(a),e=e.map(r=>Math.round(r*255));let t=p&&e.every(r=>r%17===0);return"#"+e.map(r=>t?(r/17).toString(16):r.toString(16).padStart(2,"0")).join("")}},keyword:{type:"custom",test:e=>/^[a-z]+$/i.test(e),parse(e){e=e.toLowerCase();let a={spaceId:"srgb",coords:null,alpha:1};if(e==="transparent"?(a.coords=l4.black,a.alpha=0):a.coords=l4[e],a.coords)return a}}}}),ir=new i1({id:"p3",cssId:"display-p3",name:"P3",base:dr,fromBase:ea.fromBase,toBase:ea.toBase});g1.display_space=ea;var em;if(typeof CSS<"u"&&CSS.supports)for(let e of[v1,tr,ir]){let a=e.getMinCoords(),t=Ea({space:e,coords:a,alpha:1});if(CSS.supports("color",t)){g1.display_space=e;break}}function am(e,{space:a=g1.display_space,...p}={}){let t=Ea(e,p);if(typeof CSS>"u"||CSS.supports("color",t)||!g1.display_space)t=new String(t),t.color=e;else{let d=e;if((e.coords.some(re)||re(e.alpha))&&!(em??=CSS.supports("color","hsl(none 50% 50%)"))&&(d=Xe(e),d.coords=d.coords.map(H),d.alpha=H(d.alpha),t=Ea(d,p),CSS.supports("color",t)))return t=new String(t),t.color=d,t;d=R(d,a),t=new String(Ea(d,p)),t.color=d}return t}function pm(e,a){return e=x(e),a=x(a),e.space===a.space&&e.alpha===a.alpha&&e.coords.every((p,t)=>p===a.coords[t])}function ne(e){return h1(e,[p1,"y"])}function sr(e,a){G1(e,[p1,"y"],a)}function tm(e){Object.defineProperty(e.prototype,"luminance",{get(){return ne(this)},set(a){sr(this,a)}})}var dm=Object.freeze({__proto__:null,getLuminance:ne,register:tm,setLuminance:sr});function rm(e,a){e=x(e),a=x(a);let p=Math.max(ne(e),0),t=Math.max(ne(a),0);return t>p&&([p,t]=[t,p]),(p+.05)/(t+.05)}var im=.56,sm=.57,nm=.62,lm=.65,u4=.022,mm=1.414,om=.1,um=5e-4,cm=1.14,c4=.027,fm=1.14;function f4(e){return e>=u4?e:e+(u4-e)**mm}function Ze(e){let a=e<0?-1:1,p=Math.abs(e);return a*Math.pow(p,2.4)}function hm(e,a){a=x(a),e=x(e);let p,t,d,r,i,n;a=R(a,"srgb"),[r,i,n]=a.coords;let s=Ze(r)*.2126729+Ze(i)*.7151522+Ze(n)*.072175;e=R(e,"srgb"),[r,i,n]=e.coords;let l=Ze(r)*.2126729+Ze(i)*.7151522+Ze(n)*.072175,o=f4(s),m=f4(l),c=m>o;return Math.abs(m-o)<um?t=0:c?(p=m**im-o**sm,t=p*cm):(p=m**lm-o**nm,t=p*fm),Math.abs(t)<om?d=0:t>0?d=t-c4:d=t+c4,d*100}function vm(e,a){e=x(e),a=x(a);let p=Math.max(ne(e),0),t=Math.max(ne(a),0);t>p&&([p,t]=[t,p]);let d=p+t;return d===0?0:(p-t)/d}var gm=5e4;function wm(e,a){e=x(e),a=x(a);let p=Math.max(ne(e),0),t=Math.max(ne(a),0);return t>p&&([p,t]=[t,p]),t===0?gm:(p-t)/t}function _m(e,a){e=x(e),a=x(a);let p=h1(e,[v1,"l"]),t=h1(a,[v1,"l"]);return Math.abs(p-t)}var bm=216/24389,h4=24/116,O2=24389/27,l0=m1.D65,N0=new S({id:"lab-d65",name:"Lab D65",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:l0,base:p1,fromBase(e){let p=e.map((t,d)=>t/l0[d]).map(t=>t>bm?Math.cbrt(t):(O2*t+16)/116);return[116*p[1]-16,500*(p[0]-p[1]),200*(p[1]-p[2])]},toBase(e){let a=[];return a[1]=(e[0]+16)/116,a[0]=e[1]/500+a[1],a[2]=a[1]-e[2]/200,[a[0]>h4?Math.pow(a[0],3):(116*a[0]-16)/O2,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/O2,a[2]>h4?Math.pow(a[2],3):(116*a[2]-16)/O2].map((t,d)=>t*l0[d])},formats:{"lab-d65":{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),m0=Math.pow(5,.5)*.5+.5;function ym(e,a){e=x(e),a=x(a);let p=h1(e,[N0,"l"]),t=h1(a,[N0,"l"]),d=Math.abs(Math.pow(p,m0)-Math.pow(t,m0)),r=Math.pow(d,1/m0)*Math.SQRT2-40;return r<7.5?0:r}var L2=Object.freeze({__proto__:null,contrastAPCA:hm,contrastDeltaPhi:ym,contrastLstar:_m,contrastMichelson:vm,contrastWCAG21:rm,contrastWeber:wm});function Sm(e,a,p={}){Oa(p)&&(p={algorithm:p});let{algorithm:t,...d}=p;if(!t){let r=Object.keys(L2).map(i=>i.replace(/^contrast/,"")).join(", ");throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${r}`)}e=x(e),a=x(a);for(let r in L2)if("contrast"+t.toLowerCase()===r.toLowerCase())return L2[r](e,a,d);throw new TypeError(`Unknown contrast algorithm: ${t}`)}function $2(e){let[a,p,t]=Ra(e,p1),d=a+15*p+3*t;return[4*a/d,9*p/d]}function nr(e){let[a,p,t]=Ra(e,p1),d=a+p+t;return[a/d,p/d]}function Nm(e){Object.defineProperty(e.prototype,"uv",{get(){return $2(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return nr(this)}})}var Tm=Object.freeze({__proto__:null,register:Nm,uv:$2,xy:nr});function Va(e,a,p={}){Oa(p)&&(p={method:p});let{method:t=g1.deltaE,...d}=p;for(let r in Qe)if("deltae"+t.toLowerCase()===r.toLowerCase())return Qe[r](e,a,d);throw new TypeError(`Unknown deltaE method: ${t}`)}function xm(e,a=.25){let t=[S.get("oklch","lch"),"l"];return G1(e,t,d=>d*(1+a))}function Dm(e,a=.25){let t=[S.get("oklch","lch"),"l"];return G1(e,t,d=>d*(1-a))}var Cm=Object.freeze({__proto__:null,darken:Dm,lighten:xm});function lr(e,a,p=.5,t={}){return[e,a]=[x(e),x(a)],de(p)==="object"&&([p,t]=[.5,p]),qa(e,a,t)(p)}function mr(e,a,p={}){let t;P0(e)&&([t,p]=[e,a],[e,a]=t.rangeArgs.colors);let{maxDeltaE:d,deltaEMethod:r,steps:i=2,maxSteps:n=1e3,...s}=p;t||([e,a]=[x(e),x(a)],t=qa(e,a,s));let l=Va(e,a),o=d>0?Math.max(i,Math.ceil(l/d)+1):i,m=[];if(n!==void 0&&(o=Math.min(o,n)),o===1)m=[{p:.5,color:t(.5)}];else{let c=1/(o-1);m=Array.from({length:o},(v,f)=>{let h=f*c;return{p:h,color:t(h)}})}if(d>0){let c=m.reduce((v,f,h)=>{if(h===0)return 0;let g=Va(f.color,m[h-1].color,r);return Math.max(v,g)},0);for(;c>d;){c=0;for(let v=1;v<m.length&&m.length<n;v++){let f=m[v-1],h=m[v],g=(h.p+f.p)/2,_=t(g);c=Math.max(c,Va(_,f.color),Va(_,h.color)),m.splice(v,0,{p:g,color:t(g)}),v++}}}return m=m.map(c=>c.color),m}function qa(e,a,p={}){if(P0(e)){let[s,l]=[e,a];return qa(...s.rangeArgs.colors,{...s.rangeArgs.options,...l})}let{space:t,outputSpace:d,progression:r,premultiplied:i}=p;e=x(e),a=x(a),e=Xe(e),a=Xe(a);let n={colors:[e,a],options:p};if(t?t=S.get(t):t=S.registry[g1.interpolationSpace]||e.space,d=d?S.get(d):t,e=R(e,t),a=R(a,t),e=se(e),a=se(a),t.coords.h&&t.coords.h.type==="angle"){let s=p.hue=p.hue||"shorter",l=[t,"h"],[o,m]=[h1(e,l),h1(a,l)];isNaN(o)&&!isNaN(m)?o=m:isNaN(m)&&!isNaN(o)&&(m=o),[o,m]=il(s,[o,m]),G1(e,l,o),G1(a,l,m)}return i&&(e.coords=e.coords.map(s=>s*e.alpha),a.coords=a.coords.map(s=>s*a.alpha)),Object.assign(s=>{s=r?r(s):s;let l=e.coords.map((c,v)=>{let f=a.coords[v];return Pa(c,f,s)}),o=Pa(e.alpha,a.alpha,s),m={space:t,coords:l,alpha:o};return i&&(m.coords=m.coords.map(c=>c/o)),d!==t&&(m=R(m,d)),m},{rangeArgs:n})}function P0(e){return de(e)==="function"&&!!e.rangeArgs}g1.interpolationSpace="lab";function Am(e){e.defineFunction("mix",lr,{returns:"color"}),e.defineFunction("range",qa,{returns:"function<color>"}),e.defineFunction("steps",mr,{returns:"array<color>"})}var Vm=Object.freeze({__proto__:null,isRange:P0,mix:lr,range:qa,register:Am,steps:mr}),or=new S({id:"hsl",name:"HSL",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:ea,fromBase:e=>{let a=Math.max(...e),p=Math.min(...e),[t,d,r]=e,[i,n,s]=[NaN,0,(p+a)/2],l=a-p;if(l!==0){switch(n=s===0||s===1?0:(a-s)/Math.min(s,1-s),a){case t:i=(d-r)/l+(d<r?6:0);break;case d:i=(r-t)/l+2;break;case r:i=(t-d)/l+4}i=i*60}return n<0&&(i+=180,n=Math.abs(n)),i>=360&&(i-=360),[i,n*100,s*100]},toBase:e=>{let[a,p,t]=e;a=a%360,a<0&&(a+=360),p/=100,t/=100;function d(r){let i=(r+a/30)%12,n=p*Math.min(t,1-t);return t-n*Math.max(-1,Math.min(i-3,9-i,1))}return[d(0),d(8),d(4)]},formats:{hsl:{coords:["<number> | <angle>","<percentage>","<percentage>"]},hsla:{coords:["<number> | <angle>","<percentage>","<percentage>"],commas:!0,lastAlpha:!0}}}),ur=new S({id:"hsv",name:"HSV",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},v:{range:[0,100],name:"Value"}},base:or,fromBase(e){let[a,p,t]=e;p/=100,t/=100;let d=t+p*Math.min(t,1-t);return[a,d===0?0:200*(1-t/d),100*d]},toBase(e){let[a,p,t]=e;p/=100,t/=100;let d=t*(1-p/2);return[a,d===0||d===1?0:(t-d)/Math.min(d,1-d)*100,d*100]},formats:{color:{id:"--hsv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),Em=new S({id:"hwb",name:"HWB",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},w:{range:[0,100],name:"Whiteness"},b:{range:[0,100],name:"Blackness"}},base:ur,fromBase(e){let[a,p,t]=e;return[a,t*(100-p)/100,100-t]},toBase(e){let[a,p,t]=e;p/=100,t/=100;let d=p+t;if(d>=1){let n=p/d;return[a,0,n*100]}let r=1-t,i=r===0?0:1-p/r;return[a,i*100,r*100]},formats:{hwb:{coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),Pm=[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],Mm=[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]],cr=new i1({id:"a98rgb-linear",cssId:"--a98-rgb-linear",name:"Linear Adobe\xAE 98 RGB compatible",white:"D65",toXYZ_M:Pm,fromXYZ_M:Mm}),km=new i1({id:"a98rgb",cssId:"a98-rgb",name:"Adobe\xAE 98 RGB compatible",base:cr,toBase:e=>e.map(a=>Math.pow(Math.abs(a),563/256)*Math.sign(a)),fromBase:e=>e.map(a=>Math.pow(Math.abs(a),256/563)*Math.sign(a))}),Om=[[.7977666449006423,.13518129740053308,.0313477341283922],[.2880748288194013,.711835234241873,8993693872564e-17],[0,0,.8251046025104602]],Rm=[[1.3457868816471583,-.25557208737979464,-.05110186497554526],[-.5446307051249019,1.5082477428451468,.02052744743642139],[0,0,1.2119675456389452]],fr=new i1({id:"prophoto-linear",cssId:"--prophoto-rgb-linear",name:"Linear ProPhoto",white:"D50",base:A0,toXYZ_M:Om,fromXYZ_M:Rm}),qm=1/512,Lm=16/512,Im=new i1({id:"prophoto",cssId:"prophoto-rgb",name:"ProPhoto",base:fr,toBase(e){return e.map(a=>a<Lm?a/16:a**1.8)},fromBase(e){return e.map(a=>a>=qm?a**(1/1.8):16*a)}}),Bm=new S({id:"oklch",name:"Oklch",coords:{l:{refRange:[0,1],name:"Lightness"},c:{refRange:[0,.4],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},white:"D65",base:Ye,fromBase(e){let[a,p,t]=e,d,r=2e-4;return Math.abs(p)<r&&Math.abs(t)<r?d=NaN:d=Math.atan2(t,p)*180/Math.PI,[a,Math.sqrt(p**2+t**2),L1(d)]},toBase(e){let[a,p,t]=e,d,r;return isNaN(t)?(d=0,r=0):(d=p*Math.cos(t*Math.PI/180),r=p*Math.sin(t*Math.PI/180)),[a,d,r]},formats:{oklch:{coords:["<percentage> | <number>","<number> | <percentage>[0,1]","<number> | <angle>"]}}}),hr=m1.D65,Fm=216/24389,v4=24389/27,[g4,w4]=$2({space:p1,coords:hr}),vr=new S({id:"luv",name:"Luv",coords:{l:{refRange:[0,100],name:"Lightness"},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:hr,base:p1,fromBase(e){let a=[H(e[0]),H(e[1]),H(e[2])],p=a[1],[t,d]=$2({space:p1,coords:a});if(!Number.isFinite(t)||!Number.isFinite(d))return[0,0,0];let r=p<=Fm?v4*p:116*Math.cbrt(p)-16;return[r,13*r*(t-g4),13*r*(d-w4)]},toBase(e){let[a,p,t]=e;if(a===0||re(a))return[0,0,0];p=H(p),t=H(t);let d=p/(13*a)+g4,r=t/(13*a)+w4,i=a<=8?a/v4:Math.pow((a+16)/116,3);return[i*(9*d/(4*r)),i,i*((12-3*d-20*r)/(4*r))]},formats:{color:{id:"--luv",coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),M0=new S({id:"lchuv",name:"LChuv",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,220],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:vr,fromBase(e){let[a,p,t]=e,d,r=.02;return Math.abs(p)<r&&Math.abs(t)<r?d=NaN:d=Math.atan2(t,p)*180/Math.PI,[a,Math.sqrt(p**2+t**2),L1(d)]},toBase(e){let[a,p,t]=e;return p<0&&(p=0),isNaN(t)&&(t=0),[a,p*Math.cos(t*Math.PI/180),p*Math.sin(t*Math.PI/180)]},formats:{color:{id:"--lchuv",coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}}),jm=216/24389,zm=24389/27,_4=K[0][0],b4=K[0][1],o0=K[0][2],y4=K[1][0],S4=K[1][1],u0=K[1][2],N4=K[2][0],T4=K[2][1],c0=K[2][2];function Je(e,a,p){let t=a/(Math.sin(p)-e*Math.cos(p));return t<0?1/0:t}function j2(e){let a=Math.pow(e+16,3)/1560896,p=a>jm?a:e/zm,t=p*(284517*_4-94839*o0),d=p*(838422*o0+769860*b4+731718*_4),r=p*(632260*o0-126452*b4),i=p*(284517*y4-94839*u0),n=p*(838422*u0+769860*S4+731718*y4),s=p*(632260*u0-126452*S4),l=p*(284517*N4-94839*c0),o=p*(838422*c0+769860*T4+731718*N4),m=p*(632260*c0-126452*T4);return{r0s:t/r,r0i:d*e/r,r1s:t/(r+126452),r1i:(d-769860)*e/(r+126452),g0s:i/s,g0i:n*e/s,g1s:i/(s+126452),g1i:(n-769860)*e/(s+126452),b0s:l/m,b0i:o*e/m,b1s:l/(m+126452),b1i:(o-769860)*e/(m+126452)}}function x4(e,a){let p=a/360*Math.PI*2,t=Je(e.r0s,e.r0i,p),d=Je(e.r1s,e.r1i,p),r=Je(e.g0s,e.g0i,p),i=Je(e.g1s,e.g1i,p),n=Je(e.b0s,e.b0i,p),s=Je(e.b1s,e.b1i,p);return Math.min(t,d,r,i,n,s)}var Um=new S({id:"hsluv",name:"HSLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:M0,gamutSpace:ea,fromBase(e){let[a,p,t]=[H(e[0]),H(e[1]),H(e[2])],d;if(a>99.9999999)d=0,a=100;else if(a<1e-8)d=0,a=0;else{let r=j2(a),i=x4(r,t);d=p/i*100}return[t,d,a]},toBase(e){let[a,p,t]=[H(e[0]),H(e[1]),H(e[2])],d;if(t>99.9999999)t=100,d=0;else if(t<1e-8)t=0,d=0;else{let r=j2(t);d=x4(r,a)/100*p}return[t,d,a]},formats:{color:{id:"--hsluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});K[0][0];K[0][1];K[0][2];K[1][0];K[1][1];K[1][2];K[2][0];K[2][1];K[2][2];function We(e,a){return Math.abs(a)/Math.sqrt(Math.pow(e,2)+1)}function D4(e){let a=We(e.r0s,e.r0i),p=We(e.r1s,e.r1i),t=We(e.g0s,e.g0i),d=We(e.g1s,e.g1i),r=We(e.b0s,e.b0i),i=We(e.b1s,e.b1i);return Math.min(a,p,t,d,r,i)}var $m=new S({id:"hpluv",name:"HPLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:M0,gamutSpace:"self",fromBase(e){let[a,p,t]=[H(e[0]),H(e[1]),H(e[2])],d;if(a>99.9999999)d=0,a=100;else if(a<1e-8)d=0,a=0;else{let r=j2(a),i=D4(r);d=p/i*100}return[t,d,a]},toBase(e){let[a,p,t]=[H(e[0]),H(e[1]),H(e[2])],d;if(t>99.9999999)t=100,d=0;else if(t<1e-8)t=0,d=0;else{let r=j2(t);d=D4(r)/100*p}return[t,d,a]},formats:{color:{id:"--hpluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),C4=203,A4=2610/2**14,Hm=2**14/2610,Gm=2523/2**5,V4=2**5/2523,E4=3424/2**12,P4=2413/2**7,M4=2392/2**7,Km=new i1({id:"rec2100pq",cssId:"rec2100-pq",name:"REC.2100-PQ",base:U2,toBase(e){return e.map(function(a){return(Math.max(a**V4-E4,0)/(P4-M4*a**V4))**Hm*1e4/C4})},fromBase(e){return e.map(function(a){let p=Math.max(a*C4/1e4,0),t=E4+P4*p**A4,d=1+M4*p**A4;return(t/d)**Gm})}}),k4=.17883277,O4=.28466892,R4=.55991073,f0=3.7743,Zm=new i1({id:"rec2100hlg",cssId:"rec2100-hlg",name:"REC.2100-HLG",referred:"scene",base:U2,toBase(e){return e.map(function(a){return a<=.5?a**2/3*f0:(Math.exp((a-R4)/k4)+O4)/12*f0})},fromBase(e){return e.map(function(a){return a/=f0,a<=1/12?Math.sqrt(3*a):k4*Math.log(12*a-O4)+R4})}}),gr={};ie.add("chromatic-adaptation-start",e=>{e.options.method&&(e.M=wr(e.W1,e.W2,e.options.method))});ie.add("chromatic-adaptation-end",e=>{e.M||(e.M=wr(e.W1,e.W2,e.options.method))});function H2({id:e,toCone_M:a,fromCone_M:p}){gr[e]=arguments[0]}function wr(e,a,p="Bradford"){let t=gr[p],[d,r,i]=q(t.toCone_M,e),[n,s,l]=q(t.toCone_M,a),o=[[n/d,0,0],[0,s/r,0],[0,0,l/i]],m=q(o,t.toCone_M);return q(t.fromCone_M,m)}H2({id:"von Kries",toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599363874558397,-1.1293816185800916,.21989740959619328],[.3611914362417676,.6388124632850422,-6370596838649899e-21],[0,0,1.0890636230968613]]});H2({id:"Bradford",toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929054667121,-.14705425642099013,.15996265166373122],[.4323052697233945,.5183602715367774,.049291228212855594],[-.00852866457517732,.04004282165408486,.96848669578755]]});H2({id:"CAT02",toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238208355142,-.27886900021828726,.18274517938277307],[.4543690419753592,.4735331543074117,.07209780371722911],[-.009627608738429355,-.00569803121611342,1.0153256399545427]]});H2({id:"CAT16",toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.0112546305316845,.14918677544445172],[.3875265432361372,.6214474419314753,-.008973985167612521],[-.01584149884933386,-.03412293802851557,1.0499644368778496]]});Object.assign(m1,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]});m1.ACES=[.32168/.33767,1,(1-.32168-.33767)/.33767];var Jm=[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],Wm=[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]],_r=new i1({id:"acescg",cssId:"--acescg",name:"ACEScg",coords:{r:{range:[0,65504],name:"Red"},g:{range:[0,65504],name:"Green"},b:{range:[0,65504],name:"Blue"}},referred:"scene",white:m1.ACES,toXYZ_M:Jm,fromXYZ_M:Wm}),R2=2**-16,h0=-.35828683,q2=(Math.log2(65504)+9.72)/17.52,Ym=new i1({id:"acescc",cssId:"--acescc",name:"ACEScc",coords:{r:{range:[h0,q2],name:"Red"},g:{range:[h0,q2],name:"Green"},b:{range:[h0,q2],name:"Blue"}},referred:"scene",base:_r,toBase(e){let a=-.3013698630136986;return e.map(function(p){return p<=a?(2**(p*17.52-9.72)-R2)*2:p<q2?2**(p*17.52-9.72):65504})},fromBase(e){return e.map(function(a){return a<=0?(Math.log2(R2)+9.72)/17.52:a<R2?(Math.log2(R2+a*.5)+9.72)/17.52:(Math.log2(a)+9.72)/17.52})}}),q4=Object.freeze({__proto__:null,A98RGB:km,A98RGB_Linear:cr,ACEScc:Ym,ACEScg:_r,CAM16_JMh:Bl,HCT:ka,HPLuv:$m,HSL:or,HSLuv:Um,HSV:ur,HWB:Em,ICTCP:b0,JzCzHz:_0,Jzazbz:K4,LCH:Ma,LCHuv:M0,Lab:v1,Lab_D65:N0,Luv:vr,OKLCH:Bm,OKLab:Ye,P3:ir,P3_Linear:dr,ProPhoto:Im,ProPhoto_Linear:fr,REC_2020:tr,REC_2020_Linear:U2,REC_2100_HLG:Zm,REC_2100_PQ:Km,XYZ_ABS_D65:V0,XYZ_D50:A0,XYZ_D65:p1,sRGB:ea,sRGB_Linear:rr}),Q=class e{constructor(...a){let p;a.length===1&&(p=x(a[0]));let t,d,r;p?(t=p.space||p.spaceId,d=p.coords,r=p.alpha):[t,d,r]=a,Object.defineProperty(this,"space",{value:S.get(t),writable:!1,enumerable:!0,configurable:!0}),this.coords=d?d.slice():[0,0,0],this.alpha=r>1||r===void 0?1:r<0?0:r;for(let i=0;i<this.coords.length;i++)this.coords[i]==="NaN"&&(this.coords[i]=NaN);for(let i in this.space.coords)Object.defineProperty(this,i,{get:()=>this.get(i),set:n=>this.set(i,n)})}get spaceId(){return this.space.id}clone(){return new e(this.space,this.coords,this.alpha)}toJSON(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}display(...a){let p=am(this,...a);return p.color=new e(p.color),p}static get(a,...p){return a instanceof e?a:new e(a,...p)}static defineFunction(a,p,t=p){let{instance:d=!0,returns:r}=t,i=function(...n){let s=p(...n);if(r==="color")s=e.get(s);else if(r==="function<color>"){let l=s;s=function(...o){let m=l(...o);return e.get(m)},Object.assign(s,l)}else r==="array<color>"&&(s=s.map(l=>e.get(l)));return s};a in e||(e[a]=i),d&&(e.prototype[a]=function(...n){return i(this,...n)})}static defineFunctions(a){for(let p in a)e.defineFunction(p,a[p],a[p])}static extend(a){if(a.register)a.register(e);else for(let p in a)e.defineFunction(p,a[p])}};Q.defineFunctions({get:h1,getAll:Ra,set:G1,setAll:C0,to:R,equals:pm,inGamut:Ne,toGamut:se,distance:G4,toString:Ea});Object.assign(Q,{util:al,hooks:ie,WHITES:m1,Space:S,spaces:S.registry,parse:$4,defaults:g1});for(let e of Object.keys(q4))S.register(q4[e]);for(let e in S.registry)T0(e,S.registry[e]);ie.add("colorspace-init-end",e=>{T0(e.id,e),e.aliases?.forEach(a=>{T0(a,e)})});function T0(e,a){let p=e.replace(/-/g,"_");Object.defineProperty(Q.prototype,p,{get(){let t=this.getAll(e);return typeof Proxy>"u"?t:new Proxy(t,{has:(d,r)=>{try{return S.resolveCoord([a,r]),!0}catch{}return Reflect.has(d,r)},get:(d,r,i)=>{if(r&&typeof r!="symbol"&&!(r in d)){let{index:n}=S.resolveCoord([a,r]);if(n>=0)return d[n]}return Reflect.get(d,r,i)},set:(d,r,i,n)=>{if(r&&typeof r!="symbol"&&!(r in d)||r>=0){let{index:s}=S.resolveCoord([a,r]);if(s>=0)return d[s]=i,this.setAll(e,d),!0}return Reflect.set(d,r,i,n)}})},set(t){this.setAll(e,t)},configurable:!0,enumerable:!0})}Q.extend(Qe);Q.extend({deltaE:Va});Object.assign(Q,{deltaEMethods:Qe});Q.extend(Cm);Q.extend({contrast:Sm});Q.extend(Tm);Q.extend(dm);Q.extend(Vm);Q.extend(L2);var xw=tp(Y3()),X3=(0,lt.getPreferenceValues)();function z(e,a){let p;switch(typeof e=="string"?p=new Q(e):"colorSpace"in e?p=new Q(e.colorSpace,[e.red,e.green,e.blue],e.alpha):p=new Q("srgb",[e.red/255,e.green/255,e.blue/255],e.alpha),a||X3.colorFormat){default:case"hex":return p.to("srgb").toString({format:"hex"}).toUpperCase();case"hex-lower-case":return p.to("srgb").toString({format:"hex"}).toLowerCase();case"hex-no-prefix":return p.to("srgb").toString({format:"hex"}).replace("#","");case"rgb":return p.to("srgb").toString({format:"rgb_number"});case"rgb-percentage":return p.to("srgb").toString({format:"rgb"});case"rgba":return p.to("srgb").toString({format:"rgba_number"});case"rgba-percentage":return p.to("srgb").toString({format:"rgba"});case"hsla":return p.to("hsl").toString({format:"hsla"});case"hsva":return p.to("hsv").toString({format:"color"});case"oklch":{let t=p.to("oklch"),[d,r,i]=t.coords;return`oklch(${(d*100).toFixed(2)}% ${r} ${i})`}case"lch":{let t=p.to("lch"),[d,r,i]=t.coords;return`lch(${d.toFixed(2)}% ${r} ${i})`}case"p3":return p.to("p3").toString({format:"p3"})}}var Dw=["p3","rgb","rgb-percentage"];function Q3(e){return z(e,Dw.includes(X3.colorFormat)?"oklch":void 0)}var o1=require("react/jsx-runtime");function mt({color:e,onCopy:a}){return(0,o1.jsxs)(Z.ActionPanel.Submenu,{title:"Copy As",icon:Z.Icon.Clipboard,shortcut:Z.Keyboard.Shortcut.Common.Copy,children:[(0,o1.jsx)(Z.Action.CopyToClipboard,{title:"HEX",content:z(e,"hex"),onCopy:a}),(0,o1.jsx)(Z.Action.CopyToClipboard,{title:"Lowercased HEX",content:z(e,"hex-lower-case"),onCopy:a}),(0,o1.jsx)(Z.Action.CopyToClipboard,{title:"HEX Without #",content:z(e,"hex-no-prefix"),onCopy:a}),(0,o1.jsx)(Z.Action.CopyToClipboard,{title:"RGB",content:z(e,"rgb"),onCopy:a}),(0,o1.jsx)(Z.Action.CopyToClipboard,{title:"RGB Percentage",content:z(e,"rgb-percentage"),onCopy:a}),(0,o1.jsx)(Z.Action.CopyToClipboard,{title:"RGBA",content:z(e,"rgba"),onCopy:a}),(0,o1.jsx)(Z.Action.CopyToClipboard,{title:"RGBA Percentage",content:z(e,"rgba-percentage"),onCopy:a}),(0,o1.jsx)(Z.Action.CopyToClipboard,{title:"HSL",content:z(e,"hsla"),onCopy:a}),(0,o1.jsx)(Z.Action.CopyToClipboard,{title:"HSV",content:z(e,"hsva"),onCopy:a}),(0,o1.jsx)(Z.Action.CopyToClipboard,{title:"OKLCH",content:z(e,"oklch"),onCopy:a}),(0,o1.jsx)(Z.Action.CopyToClipboard,{title:"LCH",content:z(e,"lch"),onCopy:a}),(0,o1.jsx)(Z.Action.CopyToClipboard,{title:"P3",content:z(e,"p3"),onCopy:a})]})}var Z1=require("@raycast/api"),Ka=require("react/jsx-runtime");function e8(e){let{item:a}=e,{pop:p}=(0,Z1.useNavigation)();return(0,Ka.jsx)(Z1.Form,{actions:(0,Ka.jsx)(Z1.ActionPanel,{children:(0,Ka.jsx)(Z1.Action.SubmitForm,{onSubmit:async t=>{e.onEdit({...a,title:t.title}),p()}})}),children:(0,Ka.jsx)(Z1.Form.TextField,{id:"title",title:"Title",defaultValue:a.title,placeholder:"Brand Color"})})}var Cw=require("@raycast/api"),a8=tp(r0());function ot(){let[e,a]=(0,a8.useCachedState)("history",[]);return{history:e,remove:p=>a(t=>t.filter(d=>z(d.color)!==z(p))),edit:p=>a(t=>t.map(d=>z(d.color)===z(p.color)?p:d)),clear:()=>a([])}}var k=require("react/jsx-runtime"),Aw=(0,T.getPreferenceValues)();function p8(){let{history:e}=ot();return(0,k.jsxs)(T.Grid,{children:[(0,k.jsx)(T.Grid.EmptyView,{icon:T.Icon.EyeDropper,title:"No colors picked yet \xAF\\_(\u30C4)_/\xAF",description:"Use the Pick Color command to pick some",actions:(0,k.jsx)(T.ActionPanel,{children:(0,k.jsx)(T.Action,{icon:T.Icon.EyeDropper,title:"Pick Color",onAction:async()=>{try{await(0,T.launchCommand)({name:"pick-color",type:T.LaunchType.Background,context:{source:"organize-colors"}})}catch(a){return await(0,ap.showFailureToast)(a),a}}})})}),e?.map(a=>{let p=z(a.color),t=Q3(a.color),d={light:t,dark:t,adjustContrast:!1};return(0,k.jsx)(T.Grid.Item,{content:a.title?{value:{color:d},tooltip:a.title}:{color:d},title:`${p} ${a.title??""}`,subtitle:new Date(a.date).toLocaleString(void 0,{dateStyle:"medium",timeStyle:"short"}),actions:(0,k.jsx)(Vw,{historyItem:a})},p)})]})}function Vw({historyItem:e}){let{remove:a,clear:p,edit:t}=ot(),{data:d}=(0,ap.usePromise)(T.getFrontmostApplication,[]),r=e.color,i=z(r);return(0,k.jsxs)(T.ActionPanel,{children:[(0,k.jsxs)(T.ActionPanel.Section,{children:[Aw.primaryAction==="copy"?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(T.Action.CopyToClipboard,{content:i}),(0,k.jsx)(T.Action.Paste,{title:`Paste to ${d?.name||"Active App"}`,content:i,icon:d?{fileIcon:d.path}:T.Icon.Clipboard})]}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(T.Action.Paste,{title:`Paste to ${d?.name||"Active App"}`,content:i,icon:d?{fileIcon:d.path}:T.Icon.Clipboard}),(0,k.jsx)(T.Action.CopyToClipboard,{content:i})]}),(0,k.jsx)(mt,{color:r}),(0,k.jsx)(T.Action.Push,{target:(0,k.jsx)(e8,{item:e,onEdit:t}),title:"Edit Title",icon:T.Icon.Pencil,shortcut:T.Keyboard.Shortcut.Common.Edit})]}),(0,k.jsxs)(T.ActionPanel.Section,{children:[(0,k.jsx)(T.Action,{icon:T.Icon.Trash,title:"Delete Color",style:T.Action.Style.Destructive,shortcut:{modifiers:["ctrl"],key:"x"},onAction:async()=>{await(0,T.confirmAlert)({title:"Delete Color",message:"Do you want to delete the color from your history?",rememberUserChoice:!0,primaryAction:{title:"Delete",style:T.Alert.ActionStyle.Destructive}})&&(a(e.color),await(0,T.showToast)({title:"Deleted color"}))}}),(0,k.jsx)(T.Action,{icon:T.Icon.Trash,title:"Delete All Colors",style:T.Action.Style.Destructive,shortcut:{modifiers:["ctrl","shift"],key:"x"},onAction:async()=>{await(0,T.confirmAlert)({title:"Delete All Colors",message:"Do you want to delete all colors from your history?",primaryAction:{title:"Delete All",style:T.Alert.ActionStyle.Destructive}})&&(p(),await(0,T.showToast)({title:"Deleted all colors"}))}})]})]})} diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/organize-colors.js.map b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/organize-colors.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/dequal/lite/index.js", "../node_modules/@raycast/utils/dist/useDeepMemo.js", "../node_modules/@raycast/utils/dist/useLatest.js", "../node_modules/@raycast/utils/dist/showFailureToast.js", "../node_modules/@raycast/utils/dist/usePromise.js", "../node_modules/object-hash/index.js", "../node_modules/@raycast/utils/dist/helpers.js", "../node_modules/@raycast/utils/dist/useCachedState.js", "../node_modules/@raycast/utils/dist/useCachedPromise.js", "../node_modules/webidl-conversions/lib/index.js", "../node_modules/whatwg-url/lib/utils.js", "../node_modules/tr46/lib/mappingTable.json", "../node_modules/tr46/index.js", "../node_modules/whatwg-url/lib/url-state-machine.js", "../node_modules/whatwg-url/lib/URL-impl.js", "../node_modules/whatwg-url/lib/URL.js", "../node_modules/whatwg-url/lib/public-api.js", "../node_modules/node-fetch/lib/index.js", "../node_modules/cross-fetch/dist/node-ponyfill.js", "../node_modules/@raycast/utils/dist/fetch-utils.js", "../node_modules/@raycast/utils/dist/useFetch.js", "../node_modules/signal-exit/src/signals.ts", "../node_modules/signal-exit/src/index.ts", "../node_modules/@raycast/utils/dist/exec-utils.js", "../node_modules/@raycast/utils/dist/useExec.js", "../node_modules/stream-chain/index.js", "../node_modules/stream-json/utils/Utf8Stream.js", "../node_modules/stream-json/Parser.js", "../node_modules/stream-json/utils/emit.js", "../node_modules/stream-json/index.js", "../node_modules/stream-json/filters/FilterBase.js", "../node_modules/stream-json/utils/withParser.js", "../node_modules/stream-json/filters/Pick.js", "../node_modules/stream-json/Assembler.js", "../node_modules/stream-json/streamers/StreamBase.js", "../node_modules/stream-json/streamers/StreamArray.js", "../node_modules/@raycast/utils/dist/useStreamJSON.js", "../node_modules/@raycast/utils/dist/useSQL.js", "../node_modules/@raycast/utils/dist/useForm.js", "../node_modules/@raycast/utils/dist/useAI.js", "../node_modules/@raycast/utils/dist/useFrecencySorting.js", "../node_modules/@raycast/utils/dist/useLocalStorage.js", "../node_modules/@raycast/utils/dist/icon/color.js", "../node_modules/@raycast/utils/dist/icon/avatar.js", "../node_modules/@raycast/utils/dist/icon/favicon.js", "../node_modules/@raycast/utils/dist/icon/progress.js", "../node_modules/@raycast/utils/dist/icon/index.js", "../node_modules/@raycast/utils/dist/oauth/providers.js", "../node_modules/@raycast/utils/dist/oauth/OAuthService.js", "../node_modules/@raycast/utils/dist/oauth/withAccessToken.js", "../node_modules/@raycast/utils/dist/oauth/index.js", "../node_modules/@raycast/utils/dist/run-applescript.js", "../node_modules/@raycast/utils/dist/createDeeplink.js", "../node_modules/@raycast/utils/dist/index.js", "../node_modules/lodash/_listCacheClear.js", "../node_modules/lodash/eq.js", "../node_modules/lodash/_assocIndexOf.js", "../node_modules/lodash/_listCacheDelete.js", "../node_modules/lodash/_listCacheGet.js", "../node_modules/lodash/_listCacheHas.js", "../node_modules/lodash/_listCacheSet.js", "../node_modules/lodash/_ListCache.js", "../node_modules/lodash/_stackClear.js", "../node_modules/lodash/_stackDelete.js", "../node_modules/lodash/_stackGet.js", "../node_modules/lodash/_stackHas.js", "../node_modules/lodash/_freeGlobal.js", "../node_modules/lodash/_root.js", "../node_modules/lodash/_Symbol.js", "../node_modules/lodash/_getRawTag.js", "../node_modules/lodash/_objectToString.js", "../node_modules/lodash/_baseGetTag.js", "../node_modules/lodash/isObject.js", "../node_modules/lodash/isFunction.js", "../node_modules/lodash/_coreJsData.js", "../node_modules/lodash/_isMasked.js", "../node_modules/lodash/_toSource.js", "../node_modules/lodash/_baseIsNative.js", "../node_modules/lodash/_getValue.js", "../node_modules/lodash/_getNative.js", "../node_modules/lodash/_Map.js", "../node_modules/lodash/_nativeCreate.js", "../node_modules/lodash/_hashClear.js", "../node_modules/lodash/_hashDelete.js", "../node_modules/lodash/_hashGet.js", "../node_modules/lodash/_hashHas.js", "../node_modules/lodash/_hashSet.js", "../node_modules/lodash/_Hash.js", "../node_modules/lodash/_mapCacheClear.js", "../node_modules/lodash/_isKeyable.js", "../node_modules/lodash/_getMapData.js", "../node_modules/lodash/_mapCacheDelete.js", "../node_modules/lodash/_mapCacheGet.js", "../node_modules/lodash/_mapCacheHas.js", "../node_modules/lodash/_mapCacheSet.js", "../node_modules/lodash/_MapCache.js", "../node_modules/lodash/_stackSet.js", "../node_modules/lodash/_Stack.js", "../node_modules/lodash/_setCacheAdd.js", "../node_modules/lodash/_setCacheHas.js", "../node_modules/lodash/_SetCache.js", "../node_modules/lodash/_arraySome.js", "../node_modules/lodash/_cacheHas.js", "../node_modules/lodash/_equalArrays.js", "../node_modules/lodash/_Uint8Array.js", "../node_modules/lodash/_mapToArray.js", "../node_modules/lodash/_setToArray.js", "../node_modules/lodash/_equalByTag.js", "../node_modules/lodash/_arrayPush.js", "../node_modules/lodash/isArray.js", "../node_modules/lodash/_baseGetAllKeys.js", "../node_modules/lodash/_arrayFilter.js", "../node_modules/lodash/stubArray.js", "../node_modules/lodash/_getSymbols.js", "../node_modules/lodash/_baseTimes.js", "../node_modules/lodash/isObjectLike.js", "../node_modules/lodash/_baseIsArguments.js", "../node_modules/lodash/isArguments.js", "../node_modules/lodash/stubFalse.js", "../node_modules/lodash/isBuffer.js", "../node_modules/lodash/_isIndex.js", "../node_modules/lodash/isLength.js", "../node_modules/lodash/_baseIsTypedArray.js", "../node_modules/lodash/_baseUnary.js", "../node_modules/lodash/_nodeUtil.js", "../node_modules/lodash/isTypedArray.js", "../node_modules/lodash/_arrayLikeKeys.js", "../node_modules/lodash/_isPrototype.js", "../node_modules/lodash/_overArg.js", "../node_modules/lodash/_nativeKeys.js", "../node_modules/lodash/_baseKeys.js", "../node_modules/lodash/isArrayLike.js", "../node_modules/lodash/keys.js", "../node_modules/lodash/_getAllKeys.js", "../node_modules/lodash/_equalObjects.js", "../node_modules/lodash/_DataView.js", "../node_modules/lodash/_Promise.js", "../node_modules/lodash/_Set.js", "../node_modules/lodash/_WeakMap.js", "../node_modules/lodash/_getTag.js", "../node_modules/lodash/_baseIsEqualDeep.js", "../node_modules/lodash/_baseIsEqual.js", "../node_modules/lodash/_baseIsMatch.js", "../node_modules/lodash/_isStrictComparable.js", "../node_modules/lodash/_getMatchData.js", "../node_modules/lodash/_matchesStrictComparable.js", "../node_modules/lodash/_baseMatches.js", "../node_modules/lodash/isSymbol.js", "../node_modules/lodash/_isKey.js", "../node_modules/lodash/memoize.js", "../node_modules/lodash/_memoizeCapped.js", "../node_modules/lodash/_stringToPath.js", "../node_modules/lodash/_arrayMap.js", "../node_modules/lodash/_baseToString.js", "../node_modules/lodash/toString.js", "../node_modules/lodash/_castPath.js", "../node_modules/lodash/_toKey.js", "../node_modules/lodash/_baseGet.js", "../node_modules/lodash/get.js", "../node_modules/lodash/_baseHasIn.js", "../node_modules/lodash/_hasPath.js", "../node_modules/lodash/hasIn.js", "../node_modules/lodash/_baseMatchesProperty.js", "../node_modules/lodash/identity.js", "../node_modules/lodash/_baseProperty.js", "../node_modules/lodash/_basePropertyDeep.js", "../node_modules/lodash/property.js", "../node_modules/lodash/_baseIteratee.js", "../node_modules/lodash/_baseFindIndex.js", "../node_modules/lodash/_baseIsNaN.js", "../node_modules/lodash/_strictIndexOf.js", "../node_modules/lodash/_baseIndexOf.js", "../node_modules/lodash/_arrayIncludes.js", "../node_modules/lodash/_arrayIncludesWith.js", "../node_modules/lodash/noop.js", "../node_modules/lodash/_createSet.js", "../node_modules/lodash/_baseUniq.js", "../node_modules/lodash/uniqBy.js", "../src/organize-colors.tsx", "../src/components/CopyAsSubmenu.tsx", "../src/utils.ts", "../node_modules/colorjs.io/src/multiply-matrices.js", "../node_modules/colorjs.io/src/util.js", "../node_modules/colorjs.io/src/hooks.js", "../node_modules/colorjs.io/src/defaults.js", "../node_modules/colorjs.io/src/adapt.js", "../node_modules/colorjs.io/src/parse.js", "../node_modules/colorjs.io/src/getColor.js", "../node_modules/colorjs.io/src/space.js", "../node_modules/colorjs.io/src/spaces/xyz-d65.js", "../node_modules/colorjs.io/src/rgbspace.js", "../node_modules/colorjs.io/src/getAll.js", "../node_modules/colorjs.io/src/get.js", "../node_modules/colorjs.io/src/setAll.js", "../node_modules/colorjs.io/src/set.js", "../node_modules/colorjs.io/src/spaces/xyz-d50.js", "../node_modules/colorjs.io/src/spaces/lab.js", "../node_modules/colorjs.io/src/angles.js", "../node_modules/colorjs.io/src/spaces/lch.js", "../node_modules/colorjs.io/src/deltaE/deltaE2000.js", "../node_modules/colorjs.io/src/spaces/oklab.js", "../node_modules/colorjs.io/src/deltaE/deltaEOK.js", "../node_modules/colorjs.io/src/inGamut.js", "../node_modules/colorjs.io/src/clone.js", "../node_modules/colorjs.io/src/distance.js", "../node_modules/colorjs.io/src/deltaE/deltaE76.js", "../node_modules/colorjs.io/src/deltaE/deltaECMC.js", "../node_modules/colorjs.io/src/spaces/xyz-abs-d65.js", "../node_modules/colorjs.io/src/spaces/jzazbz.js", "../node_modules/colorjs.io/src/spaces/jzczhz.js", "../node_modules/colorjs.io/src/deltaE/deltaEJz.js", "../node_modules/colorjs.io/src/spaces/ictcp.js", "../node_modules/colorjs.io/src/deltaE/deltaEITP.js", "../node_modules/colorjs.io/src/spaces/cam16.js", "../node_modules/colorjs.io/src/spaces/hct.js", "../node_modules/colorjs.io/src/deltaE/deltaEHCT.js", "../node_modules/colorjs.io/src/deltaE/index.js", "../node_modules/colorjs.io/src/toGamut.js", "../node_modules/colorjs.io/src/to.js", "../node_modules/colorjs.io/src/serialize.js", "../node_modules/colorjs.io/src/spaces/rec2020-linear.js", "../node_modules/colorjs.io/src/spaces/rec2020.js", "../node_modules/colorjs.io/src/spaces/p3-linear.js", "../node_modules/colorjs.io/src/spaces/srgb-linear.js", "../node_modules/colorjs.io/src/keywords.js", "../node_modules/colorjs.io/src/spaces/srgb.js", "../node_modules/colorjs.io/src/spaces/p3.js", "../node_modules/colorjs.io/src/display.js", "../node_modules/colorjs.io/src/equals.js", "../node_modules/colorjs.io/src/luminance.js", "../node_modules/colorjs.io/src/contrast/WCAG21.js", "../node_modules/colorjs.io/src/contrast/APCA.js", "../node_modules/colorjs.io/src/contrast/Michelson.js", "../node_modules/colorjs.io/src/contrast/Weber.js", "../node_modules/colorjs.io/src/contrast/Lstar.js", "../node_modules/colorjs.io/src/spaces/lab-d65.js", "../node_modules/colorjs.io/src/contrast/deltaPhi.js", "../node_modules/colorjs.io/src/contrast.js", "../node_modules/colorjs.io/src/chromaticity.js", "../node_modules/colorjs.io/src/deltaE.js", "../node_modules/colorjs.io/src/variations.js", "../node_modules/colorjs.io/src/interpolation.js", "../node_modules/colorjs.io/src/spaces/hsl.js", "../node_modules/colorjs.io/src/spaces/hsv.js", "../node_modules/colorjs.io/src/spaces/hwb.js", "../node_modules/colorjs.io/src/spaces/a98rgb-linear.js", "../node_modules/colorjs.io/src/spaces/a98rgb.js", "../node_modules/colorjs.io/src/spaces/prophoto-linear.js", "../node_modules/colorjs.io/src/spaces/prophoto.js", "../node_modules/colorjs.io/src/spaces/oklch.js", "../node_modules/colorjs.io/src/spaces/luv.js", "../node_modules/colorjs.io/src/spaces/lchuv.js", "../node_modules/colorjs.io/src/spaces/hsluv.js", "../node_modules/colorjs.io/src/spaces/hpluv.js", "../node_modules/colorjs.io/src/spaces/rec2100-pq.js", "../node_modules/colorjs.io/src/spaces/rec2100-hlg.js", "../node_modules/colorjs.io/src/CATs.js", "../node_modules/colorjs.io/src/spaces/acescg.js", "../node_modules/colorjs.io/src/spaces/acescc.js", "../node_modules/colorjs.io/src/color.js", "../node_modules/colorjs.io/src/spaces/index.js", "../node_modules/colorjs.io/src/space-accessors.js", "../node_modules/colorjs.io/src/index.js", "../src/components/EditTitle.tsx", "../src/history.ts"], + "sourcesContent": ["var has = Object.prototype.hasOwnProperty;\n\nfunction dequal(foo, bar) {\n\tvar ctor, len;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n\nexports.dequal = dequal;", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useDeepMemo = void 0;\nconst react_1 = require(\"react\");\nconst lite_1 = require(\"dequal/lite\");\n/**\n * @param value the value to be memoized (usually a dependency list)\n * @returns a memoized version of the value as long as it remains deeply equal\n */\nfunction useDeepMemo(value) {\n const ref = (0, react_1.useRef)(value);\n const signalRef = (0, react_1.useRef)(0);\n if (!(0, lite_1.dequal)(value, ref.current)) {\n ref.current = value;\n signalRef.current += 1;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return (0, react_1.useMemo)(() => ref.current, [signalRef.current]);\n}\nexports.useDeepMemo = useDeepMemo;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLatest = void 0;\nconst react_1 = require(\"react\");\n/**\n * Returns the latest state.\n *\n * This is mostly useful to get access to the latest value of some props or state inside an asynchronous callback, instead of that value at the time the callback was created from.\n */\nfunction useLatest(value) {\n const ref = (0, react_1.useRef)(value);\n ref.current = value;\n return ref;\n}\nexports.useLatest = useLatest;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.showFailureToast = void 0;\nconst fs = __importStar(require(\"fs\"));\nconst path = __importStar(require(\"path\"));\nconst api_1 = require(\"@raycast/api\");\n/**\n * Shows a failure Toast for a given Error.\n *\n * @example\n * ```typescript\n * import { showHUD } from \"@raycast/api\";\n * import { runAppleScript, showFailureToast } from \"@raycast/utils\";\n *\n * export default async function () {\n * try {\n * const res = await runAppleScript(\n * `\n * on run argv\n * return \"hello, \" & item 1 of argv & \".\"\n * end run\n * `,\n * [\"world\"]\n * );\n * await showHUD(res);\n * } catch (error) {\n * showFailureToast(error, { title: \"Could not run AppleScript\" });\n * }\n * }\n * ```\n */\nfunction showFailureToast(error, options) {\n const message = error instanceof Error ? error.message : String(error);\n return (0, api_1.showToast)({\n style: api_1.Toast.Style.Failure,\n title: options?.title ?? \"Something went wrong\",\n message: options?.message ?? message,\n primaryAction: options?.primaryAction ?? handleErrorToastAction(error),\n secondaryAction: options?.primaryAction ? handleErrorToastAction(error) : undefined,\n });\n}\nexports.showFailureToast = showFailureToast;\nconst handleErrorToastAction = (error) => {\n let privateExtension = true;\n let title = \"[Extension Name]...\";\n let extensionURL = \"\";\n try {\n const packageJSON = JSON.parse(fs.readFileSync(path.join(api_1.environment.assetsPath, \"..\", \"package.json\"), \"utf8\"));\n title = `[${packageJSON.title}]...`;\n extensionURL = `https://raycast.com/${packageJSON.owner || packageJSON.author}/${packageJSON.name}`;\n if (!packageJSON.owner || packageJSON.access === \"public\") {\n privateExtension = false;\n }\n }\n catch (err) {\n // no-op\n }\n // if it's a private extension, we can't construct the URL to report the error\n // so we fallback to copying the error to the clipboard\n const fallback = api_1.environment.isDevelopment || privateExtension;\n const stack = error instanceof Error ? error?.stack || error?.message || \"\" : String(error);\n return {\n title: fallback ? \"Copy Logs\" : \"Report Error\",\n onAction(toast) {\n toast.hide();\n if (fallback) {\n api_1.Clipboard.copy(stack);\n }\n else {\n (0, api_1.open)(`https://github.com/raycast/extensions/issues/new?&labels=extension%2Cbug&template=extension_bug_report.yml&title=${encodeURIComponent(title)}&extension-url=${encodeURI(extensionURL)}&description=${encodeURIComponent(`#### Error:\n\\`\\`\\`\n${stack}\n\\`\\`\\`\n`)}`);\n }\n },\n };\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePromise = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst useDeepMemo_1 = require(\"./useDeepMemo\");\nconst useLatest_1 = require(\"./useLatest\");\nconst showFailureToast_1 = require(\"./showFailureToast\");\nfunction usePromise(fn, args, options) {\n const lastCallId = (0, react_1.useRef)(0);\n const [state, set] = (0, react_1.useState)({ isLoading: true });\n const fnRef = (0, useLatest_1.useLatest)(fn);\n const latestAbortable = (0, useLatest_1.useLatest)(options?.abortable);\n const latestArgs = (0, useLatest_1.useLatest)(args || []);\n const latestOnError = (0, useLatest_1.useLatest)(options?.onError);\n const latestOnData = (0, useLatest_1.useLatest)(options?.onData);\n const latestOnWillExecute = (0, useLatest_1.useLatest)(options?.onWillExecute);\n const latestFailureToast = (0, useLatest_1.useLatest)(options?.failureToastOptions);\n const latestValue = (0, useLatest_1.useLatest)(state.data);\n const latestCallback = (0, react_1.useRef)();\n const paginationArgsRef = (0, react_1.useRef)({ page: 0 });\n const usePaginationRef = (0, react_1.useRef)(false);\n const hasMoreRef = (0, react_1.useRef)(true);\n const pageSizeRef = (0, react_1.useRef)(50);\n const callback = (0, react_1.useCallback)((...args) => {\n const callId = ++lastCallId.current;\n if (latestAbortable.current) {\n latestAbortable.current.current?.abort();\n latestAbortable.current.current = new AbortController();\n }\n latestOnWillExecute.current?.(args);\n set((prevState) => ({ ...prevState, isLoading: true }));\n const promiseOrPaginatedPromise = bindPromiseIfNeeded(fnRef.current)(...args);\n function handleError(error) {\n if (error.name == \"AbortError\") {\n return error;\n }\n if (callId === lastCallId.current) {\n // handle errors\n if (latestOnError.current) {\n latestOnError.current(error);\n }\n else {\n if (api_1.environment.launchType !== api_1.LaunchType.Background) {\n (0, showFailureToast_1.showFailureToast)(error, {\n title: \"Failed to fetch latest data\",\n primaryAction: {\n title: \"Retry\",\n onAction(toast) {\n toast.hide();\n latestCallback.current?.(...(latestArgs.current || []));\n },\n },\n ...latestFailureToast.current,\n });\n }\n }\n set({ error, isLoading: false });\n }\n return error;\n }\n if (typeof promiseOrPaginatedPromise === \"function\") {\n usePaginationRef.current = true;\n return promiseOrPaginatedPromise(paginationArgsRef.current).then(\n // @ts-expect-error too complicated for TS\n ({ data, hasMore, cursor }) => {\n if (callId === lastCallId.current) {\n if (paginationArgsRef.current) {\n paginationArgsRef.current.cursor = cursor;\n paginationArgsRef.current.lastItem = data?.[data.length - 1];\n }\n if (latestOnData.current) {\n latestOnData.current(data, paginationArgsRef.current);\n }\n if (hasMore) {\n pageSizeRef.current = data.length;\n }\n hasMoreRef.current = hasMore;\n set((previousData) => {\n if (paginationArgsRef.current.page === 0) {\n return { data, isLoading: false };\n }\n // @ts-expect-error we know it's an array here\n return { data: (previousData.data || [])?.concat(data), isLoading: false };\n });\n }\n return data;\n }, (error) => {\n hasMoreRef.current = false;\n return handleError(error);\n });\n }\n usePaginationRef.current = false;\n return promiseOrPaginatedPromise.then((data) => {\n if (callId === lastCallId.current) {\n if (latestOnData.current) {\n latestOnData.current(data);\n }\n set({ data, isLoading: false });\n }\n return data;\n }, handleError);\n }, [\n latestAbortable,\n latestOnData,\n latestOnError,\n latestArgs,\n fnRef,\n set,\n latestCallback,\n latestOnWillExecute,\n paginationArgsRef,\n latestFailureToast,\n ]);\n latestCallback.current = callback;\n const revalidate = (0, react_1.useCallback)(() => {\n // reset the pagination\n paginationArgsRef.current = { page: 0 };\n const args = (latestArgs.current || []);\n return callback(...args);\n }, [callback, latestArgs]);\n const mutate = (0, react_1.useCallback)(async (asyncUpdate, options) => {\n let dataBeforeOptimisticUpdate;\n try {\n if (options?.optimisticUpdate) {\n if (typeof options?.rollbackOnError !== \"function\" && options?.rollbackOnError !== false) {\n // keep track of the data before the optimistic update,\n // but only if we need it (eg. only when we want to automatically rollback after)\n dataBeforeOptimisticUpdate = structuredClone(latestValue.current?.value);\n }\n const update = options.optimisticUpdate;\n set((prevState) => ({ ...prevState, data: update(prevState.data) }));\n }\n return await asyncUpdate;\n }\n catch (err) {\n if (typeof options?.rollbackOnError === \"function\") {\n const update = options.rollbackOnError;\n set((prevState) => ({ ...prevState, data: update(prevState.data) }));\n }\n else if (options?.optimisticUpdate && options?.rollbackOnError !== false) {\n set((prevState) => ({ ...prevState, data: dataBeforeOptimisticUpdate }));\n }\n throw err;\n }\n finally {\n if (options?.shouldRevalidateAfter !== false) {\n if (api_1.environment.launchType === api_1.LaunchType.Background || api_1.environment.commandMode === \"menu-bar\") {\n // when in the background or in a menu bar, we are going to await the revalidation\n // to make sure we get the right data at the end of the mutation\n await revalidate();\n }\n else {\n revalidate();\n }\n }\n }\n }, [revalidate, latestValue, set]);\n const onLoadMore = (0, react_1.useCallback)(() => {\n paginationArgsRef.current.page += 1;\n const args = (latestArgs.current || []);\n callback(...args);\n }, [paginationArgsRef, latestArgs, callback]);\n // revalidate when the args change\n (0, react_1.useEffect)(() => {\n // reset the pagination\n paginationArgsRef.current = { page: 0 };\n if (options?.execute !== false) {\n callback(...(args || []));\n }\n else {\n // cancel the previous request if we don't want to execute anymore\n if (latestAbortable.current) {\n latestAbortable.current.current?.abort();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [(0, useDeepMemo_1.useDeepMemo)([args, options?.execute, callback]), latestAbortable, paginationArgsRef]);\n // abort request when unmounting\n (0, react_1.useEffect)(() => {\n return () => {\n if (latestAbortable.current) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n latestAbortable.current.current?.abort();\n }\n };\n }, [latestAbortable]);\n // we only want to show the loading indicator if the promise is executing\n const isLoading = options?.execute !== false ? state.isLoading : false;\n // @ts-expect-error loading is has some fixed value in the enum which\n const stateWithLoadingFixed = { ...state, isLoading };\n const pagination = usePaginationRef.current\n ? {\n pageSize: pageSizeRef.current,\n hasMore: hasMoreRef.current,\n onLoadMore,\n }\n : undefined;\n return { ...stateWithLoadingFixed, revalidate, mutate, pagination };\n}\nexports.usePromise = usePromise;\n/** Bind the fn if it's a Promise method */\nfunction bindPromiseIfNeeded(fn) {\n if (fn === Promise.all) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.race) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.resolve) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.reject) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n return fn;\n}\n", "'use strict';\n\nvar crypto = require('crypto');\n\n/**\n * Exported function\n *\n * Options:\n *\n * - `algorithm` hash algo to be used by this instance: *'sha1', 'md5'\n * - `excludeValues` {true|*false} hash object keys, values ignored\n * - `encoding` hash encoding, supports 'buffer', '*hex', 'binary', 'base64'\n * - `ignoreUnknown` {true|*false} ignore unknown object types\n * - `replacer` optional function that replaces values before hashing\n * - `respectFunctionProperties` {*true|false} consider function properties when hashing\n * - `respectFunctionNames` {*true|false} consider 'name' property of functions for hashing\n * - `respectType` {*true|false} Respect special properties (prototype, constructor)\n * when hashing to distinguish between types\n * - `unorderedArrays` {true|*false} Sort all arrays before hashing\n * - `unorderedSets` {*true|false} Sort `Set` and `Map` instances before hashing\n * * = default\n *\n * @param {object} object value to hash\n * @param {object} options hashing options\n * @return {string} hash value\n * @api public\n */\nexports = module.exports = objectHash;\n\nfunction objectHash(object, options){\n options = applyDefaults(object, options);\n\n return hash(object, options);\n}\n\n/**\n * Exported sugar methods\n *\n * @param {object} object value to hash\n * @return {string} hash value\n * @api public\n */\nexports.sha1 = function(object){\n return objectHash(object);\n};\nexports.keys = function(object){\n return objectHash(object, {excludeValues: true, algorithm: 'sha1', encoding: 'hex'});\n};\nexports.MD5 = function(object){\n return objectHash(object, {algorithm: 'md5', encoding: 'hex'});\n};\nexports.keysMD5 = function(object){\n return objectHash(object, {algorithm: 'md5', encoding: 'hex', excludeValues: true});\n};\n\n// Internals\nvar hashes = crypto.getHashes ? crypto.getHashes().slice() : ['sha1', 'md5'];\nhashes.push('passthrough');\nvar encodings = ['buffer', 'hex', 'binary', 'base64'];\n\nfunction applyDefaults(object, sourceOptions){\n sourceOptions = sourceOptions || {};\n\n // create a copy rather than mutating\n var options = {};\n options.algorithm = sourceOptions.algorithm || 'sha1';\n options.encoding = sourceOptions.encoding || 'hex';\n options.excludeValues = sourceOptions.excludeValues ? true : false;\n options.algorithm = options.algorithm.toLowerCase();\n options.encoding = options.encoding.toLowerCase();\n options.ignoreUnknown = sourceOptions.ignoreUnknown !== true ? false : true; // default to false\n options.respectType = sourceOptions.respectType === false ? false : true; // default to true\n options.respectFunctionNames = sourceOptions.respectFunctionNames === false ? false : true;\n options.respectFunctionProperties = sourceOptions.respectFunctionProperties === false ? false : true;\n options.unorderedArrays = sourceOptions.unorderedArrays !== true ? false : true; // default to false\n options.unorderedSets = sourceOptions.unorderedSets === false ? false : true; // default to false\n options.unorderedObjects = sourceOptions.unorderedObjects === false ? false : true; // default to true\n options.replacer = sourceOptions.replacer || undefined;\n options.excludeKeys = sourceOptions.excludeKeys || undefined;\n\n if(typeof object === 'undefined') {\n throw new Error('Object argument required.');\n }\n\n // if there is a case-insensitive match in the hashes list, accept it\n // (i.e. SHA256 for sha256)\n for (var i = 0; i < hashes.length; ++i) {\n if (hashes[i].toLowerCase() === options.algorithm.toLowerCase()) {\n options.algorithm = hashes[i];\n }\n }\n\n if(hashes.indexOf(options.algorithm) === -1){\n throw new Error('Algorithm \"' + options.algorithm + '\" not supported. ' +\n 'supported values: ' + hashes.join(', '));\n }\n\n if(encodings.indexOf(options.encoding) === -1 &&\n options.algorithm !== 'passthrough'){\n throw new Error('Encoding \"' + options.encoding + '\" not supported. ' +\n 'supported values: ' + encodings.join(', '));\n }\n\n return options;\n}\n\n/** Check if the given function is a native function */\nfunction isNativeFunction(f) {\n if ((typeof f) !== 'function') {\n return false;\n }\n var exp = /^function\\s+\\w*\\s*\\(\\s*\\)\\s*{\\s+\\[native code\\]\\s+}$/i;\n return exp.exec(Function.prototype.toString.call(f)) != null;\n}\n\nfunction hash(object, options) {\n var hashingStream;\n\n if (options.algorithm !== 'passthrough') {\n hashingStream = crypto.createHash(options.algorithm);\n } else {\n hashingStream = new PassThrough();\n }\n\n if (typeof hashingStream.write === 'undefined') {\n hashingStream.write = hashingStream.update;\n hashingStream.end = hashingStream.update;\n }\n\n var hasher = typeHasher(options, hashingStream);\n hasher.dispatch(object);\n if (!hashingStream.update) {\n hashingStream.end('');\n }\n\n if (hashingStream.digest) {\n return hashingStream.digest(options.encoding === 'buffer' ? undefined : options.encoding);\n }\n\n var buf = hashingStream.read();\n if (options.encoding === 'buffer') {\n return buf;\n }\n\n return buf.toString(options.encoding);\n}\n\n/**\n * Expose streaming API\n *\n * @param {object} object Value to serialize\n * @param {object} options Options, as for hash()\n * @param {object} stream A stream to write the serializiation to\n * @api public\n */\nexports.writeToStream = function(object, options, stream) {\n if (typeof stream === 'undefined') {\n stream = options;\n options = {};\n }\n\n options = applyDefaults(object, options);\n\n return typeHasher(options, stream).dispatch(object);\n};\n\nfunction typeHasher(options, writeTo, context){\n context = context || [];\n var write = function(str) {\n if (writeTo.update) {\n return writeTo.update(str, 'utf8');\n } else {\n return writeTo.write(str, 'utf8');\n }\n };\n\n return {\n dispatch: function(value){\n if (options.replacer) {\n value = options.replacer(value);\n }\n\n var type = typeof value;\n if (value === null) {\n type = 'null';\n }\n\n //console.log(\"[DEBUG] Dispatch: \", value, \"->\", type, \" -> \", \"_\" + type);\n\n return this['_' + type](value);\n },\n _object: function(object) {\n var pattern = (/\\[object (.*)\\]/i);\n var objString = Object.prototype.toString.call(object);\n var objType = pattern.exec(objString);\n if (!objType) { // object type did not match [object ...]\n objType = 'unknown:[' + objString + ']';\n } else {\n objType = objType[1]; // take only the class name\n }\n\n objType = objType.toLowerCase();\n\n var objectNumber = null;\n\n if ((objectNumber = context.indexOf(object)) >= 0) {\n return this.dispatch('[CIRCULAR:' + objectNumber + ']');\n } else {\n context.push(object);\n }\n\n if (typeof Buffer !== 'undefined' && Buffer.isBuffer && Buffer.isBuffer(object)) {\n write('buffer:');\n return write(object);\n }\n\n if(objType !== 'object' && objType !== 'function' && objType !== 'asyncfunction') {\n if(this['_' + objType]) {\n this['_' + objType](object);\n } else if (options.ignoreUnknown) {\n return write('[' + objType + ']');\n } else {\n throw new Error('Unknown object type \"' + objType + '\"');\n }\n }else{\n var keys = Object.keys(object);\n if (options.unorderedObjects) {\n keys = keys.sort();\n }\n // Make sure to incorporate special properties, so\n // Types with different prototypes will produce\n // a different hash and objects derived from\n // different functions (`new Foo`, `new Bar`) will\n // produce different hashes.\n // We never do this for native functions since some\n // seem to break because of that.\n if (options.respectType !== false && !isNativeFunction(object)) {\n keys.splice(0, 0, 'prototype', '__proto__', 'constructor');\n }\n\n if (options.excludeKeys) {\n keys = keys.filter(function(key) { return !options.excludeKeys(key); });\n }\n\n write('object:' + keys.length + ':');\n var self = this;\n return keys.forEach(function(key){\n self.dispatch(key);\n write(':');\n if(!options.excludeValues) {\n self.dispatch(object[key]);\n }\n write(',');\n });\n }\n },\n _array: function(arr, unordered){\n unordered = typeof unordered !== 'undefined' ? unordered :\n options.unorderedArrays !== false; // default to options.unorderedArrays\n\n var self = this;\n write('array:' + arr.length + ':');\n if (!unordered || arr.length <= 1) {\n return arr.forEach(function(entry) {\n return self.dispatch(entry);\n });\n }\n\n // the unordered case is a little more complicated:\n // since there is no canonical ordering on objects,\n // i.e. {a:1} < {a:2} and {a:1} > {a:2} are both false,\n // we first serialize each entry using a PassThrough stream\n // before sorting.\n // also: we can\u2019t use the same context array for all entries\n // since the order of hashing should *not* matter. instead,\n // we keep track of the additions to a copy of the context array\n // and add all of them to the global context array when we\u2019re done\n var contextAdditions = [];\n var entries = arr.map(function(entry) {\n var strm = new PassThrough();\n var localContext = context.slice(); // make copy\n var hasher = typeHasher(options, strm, localContext);\n hasher.dispatch(entry);\n // take only what was added to localContext and append it to contextAdditions\n contextAdditions = contextAdditions.concat(localContext.slice(context.length));\n return strm.read().toString();\n });\n context = context.concat(contextAdditions);\n entries.sort();\n return this._array(entries, false);\n },\n _date: function(date){\n return write('date:' + date.toJSON());\n },\n _symbol: function(sym){\n return write('symbol:' + sym.toString());\n },\n _error: function(err){\n return write('error:' + err.toString());\n },\n _boolean: function(bool){\n return write('bool:' + bool.toString());\n },\n _string: function(string){\n write('string:' + string.length + ':');\n write(string.toString());\n },\n _function: function(fn){\n write('fn:');\n if (isNativeFunction(fn)) {\n this.dispatch('[native]');\n } else {\n this.dispatch(fn.toString());\n }\n\n if (options.respectFunctionNames !== false) {\n // Make sure we can still distinguish native functions\n // by their name, otherwise String and Function will\n // have the same hash\n this.dispatch(\"function-name:\" + String(fn.name));\n }\n\n if (options.respectFunctionProperties) {\n this._object(fn);\n }\n },\n _number: function(number){\n return write('number:' + number.toString());\n },\n _xml: function(xml){\n return write('xml:' + xml.toString());\n },\n _null: function() {\n return write('Null');\n },\n _undefined: function() {\n return write('Undefined');\n },\n _regexp: function(regex){\n return write('regex:' + regex.toString());\n },\n _uint8array: function(arr){\n write('uint8array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint8clampedarray: function(arr){\n write('uint8clampedarray:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int8array: function(arr){\n write('int8array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint16array: function(arr){\n write('uint16array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int16array: function(arr){\n write('int16array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint32array: function(arr){\n write('uint32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int32array: function(arr){\n write('int32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _float32array: function(arr){\n write('float32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _float64array: function(arr){\n write('float64array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _arraybuffer: function(arr){\n write('arraybuffer:');\n return this.dispatch(new Uint8Array(arr));\n },\n _url: function(url) {\n return write('url:' + url.toString(), 'utf8');\n },\n _map: function(map) {\n write('map:');\n var arr = Array.from(map);\n return this._array(arr, options.unorderedSets !== false);\n },\n _set: function(set) {\n write('set:');\n var arr = Array.from(set);\n return this._array(arr, options.unorderedSets !== false);\n },\n _file: function(file) {\n write('file:');\n return this.dispatch([file.name, file.size, file.type, file.lastModfied]);\n },\n _blob: function() {\n if (options.ignoreUnknown) {\n return write('[blob]');\n }\n\n throw Error('Hashing Blob objects is currently not supported\\n' +\n '(see https://github.com/puleos/object-hash/issues/26)\\n' +\n 'Use \"options.replacer\" or \"options.ignoreUnknown\"\\n');\n },\n _domwindow: function() { return write('domwindow'); },\n _bigint: function(number){\n return write('bigint:' + number.toString());\n },\n /* Node.js standard native objects */\n _process: function() { return write('process'); },\n _timer: function() { return write('timer'); },\n _pipe: function() { return write('pipe'); },\n _tcp: function() { return write('tcp'); },\n _udp: function() { return write('udp'); },\n _tty: function() { return write('tty'); },\n _statwatcher: function() { return write('statwatcher'); },\n _securecontext: function() { return write('securecontext'); },\n _connection: function() { return write('connection'); },\n _zlib: function() { return write('zlib'); },\n _context: function() { return write('context'); },\n _nodescript: function() { return write('nodescript'); },\n _httpparser: function() { return write('httpparser'); },\n _dataview: function() { return write('dataview'); },\n _signal: function() { return write('signal'); },\n _fsevent: function() { return write('fsevent'); },\n _tlswrap: function() { return write('tlswrap'); },\n };\n}\n\n// Mini-implementation of stream.PassThrough\n// We are far from having need for the full implementation, and we can\n// make assumptions like \"many writes, then only one final read\"\n// and we can ignore encoding specifics\nfunction PassThrough() {\n return {\n buf: '',\n\n write: function(b) {\n this.buf += b;\n },\n\n end: function(b) {\n this.buf += b;\n },\n\n read: function() {\n return this.buf;\n }\n };\n}\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hash = exports.reviver = exports.replacer = void 0;\nconst object_hash_1 = __importDefault(require(\"object-hash\"));\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction replacer(key, _value) {\n const value = this[key];\n if (value instanceof Date) {\n return `__raycast_cached_date__${value.toString()}`;\n }\n if (Buffer.isBuffer(value)) {\n return `__raycast_cached_buffer__${value.toString(\"base64\")}`;\n }\n return _value;\n}\nexports.replacer = replacer;\nfunction reviver(_key, value) {\n if (typeof value === \"string\" && value.startsWith(\"__raycast_cached_date__\")) {\n return new Date(value.replace(\"__raycast_cached_date__\", \"\"));\n }\n if (typeof value === \"string\" && value.startsWith(\"__raycast_cached_buffer__\")) {\n return Buffer.from(value.replace(\"__raycast_cached_buffer__\", \"\"), \"base64\");\n }\n return value;\n}\nexports.reviver = reviver;\nfunction hash(object, options) {\n return (0, object_hash_1.default)(object, {\n replacer: (value) => {\n if (value instanceof URLSearchParams) {\n return value.toString();\n }\n return value;\n },\n ...options,\n });\n}\nexports.hash = hash;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useCachedState = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst useLatest_1 = require(\"./useLatest\");\nconst helpers_1 = require(\"./helpers\");\nconst rootCache = Symbol(\"cache without namespace\");\nconst cacheMap = new Map();\nfunction useCachedState(key, initialState, config) {\n const cacheKey = config?.cacheNamespace || rootCache;\n const cache = cacheMap.get(cacheKey) || cacheMap.set(cacheKey, new api_1.Cache({ namespace: config?.cacheNamespace })).get(cacheKey);\n if (!cache) {\n throw new Error(\"Missing cache\");\n }\n const keyRef = (0, useLatest_1.useLatest)(key);\n const initialValueRef = (0, useLatest_1.useLatest)(initialState);\n const cachedState = (0, react_1.useSyncExternalStore)(cache.subscribe, () => {\n try {\n return cache.get(keyRef.current);\n }\n catch (error) {\n console.error(\"Could not get Cache data:\", error);\n return undefined;\n }\n });\n const state = (0, react_1.useMemo)(() => {\n if (typeof cachedState !== \"undefined\") {\n if (cachedState === \"undefined\") {\n return undefined;\n }\n try {\n return JSON.parse(cachedState, helpers_1.reviver);\n }\n catch (err) {\n // the data got corrupted somehow\n console.warn(\"The cached data is corrupted\", err);\n return initialValueRef.current;\n }\n }\n else {\n return initialValueRef.current;\n }\n }, [cachedState, initialValueRef]);\n const stateRef = (0, useLatest_1.useLatest)(state);\n const setStateAndCache = (0, react_1.useCallback)((updater) => {\n // @ts-expect-error TS struggles to infer the types as T could potentially be a function\n const newValue = typeof updater === \"function\" ? updater(stateRef.current) : updater;\n if (typeof newValue === \"undefined\") {\n cache.set(keyRef.current, \"undefined\");\n }\n else {\n const stringifiedValue = JSON.stringify(newValue, helpers_1.replacer);\n cache.set(keyRef.current, stringifiedValue);\n }\n return newValue;\n }, [cache, keyRef, stateRef]);\n return [state, setStateAndCache];\n}\nexports.useCachedState = useCachedState;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useCachedPromise = void 0;\nconst react_1 = require(\"react\");\nconst useCachedState_1 = require(\"./useCachedState\");\nconst usePromise_1 = require(\"./usePromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst helpers_1 = require(\"./helpers\");\n// Symbol to differentiate an empty cache from `undefined`\nconst emptyCache = Symbol();\nfunction useCachedPromise(fn, args, options) {\n /**\n * The hook generates a cache key from the promise it receives & its arguments.\n * Sometimes that's not enough to guarantee uniqueness, so hooks that build on top of `useCachedPromise` can\n * use an `internal_cacheKeySuffix` to help it.\n *\n * @remark For internal use only.\n */\n const { initialData, keepPreviousData, internal_cacheKeySuffix, ...usePromiseOptions } = options || {};\n const lastUpdateFrom = (0, react_1.useRef)();\n const [cachedData, mutateCache] = (0, useCachedState_1.useCachedState)((0, helpers_1.hash)(args || []) + internal_cacheKeySuffix ?? \"\", emptyCache, {\n cacheNamespace: (0, helpers_1.hash)(fn),\n });\n // Use a ref to store previous returned data. Use the inital data as its inital value from the cache.\n const laggyDataRef = (0, react_1.useRef)(cachedData !== emptyCache ? cachedData : initialData);\n const paginationArgsRef = (0, react_1.useRef)(undefined);\n const { mutate: _mutate, revalidate, ...state\n // @ts-expect-error fn has the same signature in both usePromise and useCachedPromise\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } = (0, usePromise_1.usePromise)(fn, args || [], {\n ...usePromiseOptions,\n onData(data, pagination) {\n paginationArgsRef.current = pagination;\n if (usePromiseOptions.onData) {\n usePromiseOptions.onData(data, pagination);\n }\n if (pagination && pagination.page > 0) {\n // don't cache beyond the first page\n return;\n }\n lastUpdateFrom.current = \"promise\";\n laggyDataRef.current = data;\n mutateCache(data);\n },\n });\n let returnedData;\n const pagination = state.pagination;\n // when paginating, only the first page gets cached, so we return the data we get from `usePromise`, because\n // it will be accumulated.\n if (paginationArgsRef.current && paginationArgsRef.current.page > 0 && state.data) {\n returnedData = state.data;\n // if the latest update if from the Promise, we keep it\n }\n else if (lastUpdateFrom.current === \"promise\") {\n returnedData = laggyDataRef.current;\n }\n else if (keepPreviousData && cachedData !== emptyCache) {\n // if we want to keep the latest data, we pick the cache but only if it's not empty\n returnedData = cachedData;\n if (pagination) {\n pagination.hasMore = true;\n pagination.pageSize = cachedData.length;\n }\n }\n else if (keepPreviousData && cachedData === emptyCache) {\n // if the cache is empty, we will return the previous data\n returnedData = laggyDataRef.current;\n // there are no special cases, so either return the cache or initial data\n }\n else if (cachedData !== emptyCache) {\n returnedData = cachedData;\n if (pagination) {\n pagination.hasMore = true;\n pagination.pageSize = cachedData.length;\n }\n }\n else {\n returnedData = initialData;\n }\n const latestData = (0, useLatest_1.useLatest)(returnedData);\n // we rewrite the mutate function to update the cache instead\n const mutate = (0, react_1.useCallback)(async (asyncUpdate, options) => {\n let dataBeforeOptimisticUpdate;\n try {\n if (options?.optimisticUpdate) {\n if (typeof options?.rollbackOnError !== \"function\" && options?.rollbackOnError !== false) {\n // keep track of the data before the optimistic update,\n // but only if we need it (eg. only when we want to automatically rollback after)\n dataBeforeOptimisticUpdate = structuredClone(latestData.current);\n }\n const data = options.optimisticUpdate(latestData.current);\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = data;\n mutateCache(data);\n }\n return await _mutate(asyncUpdate, { shouldRevalidateAfter: options?.shouldRevalidateAfter });\n }\n catch (err) {\n if (typeof options?.rollbackOnError === \"function\") {\n const data = options.rollbackOnError(latestData.current);\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = data;\n mutateCache(data);\n }\n else if (options?.optimisticUpdate && options?.rollbackOnError !== false) {\n lastUpdateFrom.current = \"cache\";\n // @ts-expect-error when undefined, it's expected\n laggyDataRef.current = dataBeforeOptimisticUpdate;\n // @ts-expect-error when undefined, it's expected\n mutateCache(dataBeforeOptimisticUpdate);\n }\n throw err;\n }\n }, [mutateCache, _mutate, latestData, laggyDataRef, lastUpdateFrom]);\n (0, react_1.useEffect)(() => {\n if (cachedData !== emptyCache) {\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = cachedData;\n }\n }, [cachedData]);\n return {\n data: returnedData,\n isLoading: state.isLoading,\n error: state.error,\n mutate: paginationArgsRef.current && paginationArgsRef.current.page > 0 ? _mutate : mutate,\n pagination,\n revalidate,\n };\n}\nexports.useCachedPromise = useCachedPromise;\n", "\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n", "\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n", "[[[0,44],\"disallowed_STD3_valid\"],[[45,46],\"valid\"],[[47,47],\"disallowed_STD3_valid\"],[[48,57],\"valid\"],[[58,64],\"disallowed_STD3_valid\"],[[65,65],\"mapped\",[97]],[[66,66],\"mapped\",[98]],[[67,67],\"mapped\",[99]],[[68,68],\"mapped\",[100]],[[69,69],\"mapped\",[101]],[[70,70],\"mapped\",[102]],[[71,71],\"mapped\",[103]],[[72,72],\"mapped\",[104]],[[73,73],\"mapped\",[105]],[[74,74],\"mapped\",[106]],[[75,75],\"mapped\",[107]],[[76,76],\"mapped\",[108]],[[77,77],\"mapped\",[109]],[[78,78],\"mapped\",[110]],[[79,79],\"mapped\",[111]],[[80,80],\"mapped\",[112]],[[81,81],\"mapped\",[113]],[[82,82],\"mapped\",[114]],[[83,83],\"mapped\",[115]],[[84,84],\"mapped\",[116]],[[85,85],\"mapped\",[117]],[[86,86],\"mapped\",[118]],[[87,87],\"mapped\",[119]],[[88,88],\"mapped\",[120]],[[89,89],\"mapped\",[121]],[[90,90],\"mapped\",[122]],[[91,96],\"disallowed_STD3_valid\"],[[97,122],\"valid\"],[[123,127],\"disallowed_STD3_valid\"],[[128,159],\"disallowed\"],[[160,160],\"disallowed_STD3_mapped\",[32]],[[161,167],\"valid\",[],\"NV8\"],[[168,168],\"disallowed_STD3_mapped\",[32,776]],[[169,169],\"valid\",[],\"NV8\"],[[170,170],\"mapped\",[97]],[[171,172],\"valid\",[],\"NV8\"],[[173,173],\"ignored\"],[[174,174],\"valid\",[],\"NV8\"],[[175,175],\"disallowed_STD3_mapped\",[32,772]],[[176,177],\"valid\",[],\"NV8\"],[[178,178],\"mapped\",[50]],[[179,179],\"mapped\",[51]],[[180,180],\"disallowed_STD3_mapped\",[32,769]],[[181,181],\"mapped\",[956]],[[182,182],\"valid\",[],\"NV8\"],[[183,183],\"valid\"],[[184,184],\"disallowed_STD3_mapped\",[32,807]],[[185,185],\"mapped\",[49]],[[186,186],\"mapped\",[111]],[[187,187],\"valid\",[],\"NV8\"],[[188,188],\"mapped\",[49,8260,52]],[[189,189],\"mapped\",[49,8260,50]],[[190,190],\"mapped\",[51,8260,52]],[[191,191],\"valid\",[],\"NV8\"],[[192,192],\"mapped\",[224]],[[193,193],\"mapped\",[225]],[[194,194],\"mapped\",[226]],[[195,195],\"mapped\",[227]],[[196,196],\"mapped\",[228]],[[197,197],\"mapped\",[229]],[[198,198],\"mapped\",[230]],[[199,199],\"mapped\",[231]],[[200,200],\"mapped\",[232]],[[201,201],\"mapped\",[233]],[[202,202],\"mapped\",[234]],[[203,203],\"mapped\",[235]],[[204,204],\"mapped\",[236]],[[205,205],\"mapped\",[237]],[[206,206],\"mapped\",[238]],[[207,207],\"mapped\",[239]],[[208,208],\"mapped\",[240]],[[209,209],\"mapped\",[241]],[[210,210],\"mapped\",[242]],[[211,211],\"mapped\",[243]],[[212,212],\"mapped\",[244]],[[213,213],\"mapped\",[245]],[[214,214],\"mapped\",[246]],[[215,215],\"valid\",[],\"NV8\"],[[216,216],\"mapped\",[248]],[[217,217],\"mapped\",[249]],[[218,218],\"mapped\",[250]],[[219,219],\"mapped\",[251]],[[220,220],\"mapped\",[252]],[[221,221],\"mapped\",[253]],[[222,222],\"mapped\",[254]],[[223,223],\"deviation\",[115,115]],[[224,246],\"valid\"],[[247,247],\"valid\",[],\"NV8\"],[[248,255],\"valid\"],[[256,256],\"mapped\",[257]],[[257,257],\"valid\"],[[258,258],\"mapped\",[259]],[[259,259],\"valid\"],[[260,260],\"mapped\",[261]],[[261,261],\"valid\"],[[262,262],\"mapped\",[263]],[[263,263],\"valid\"],[[264,264],\"mapped\",[265]],[[265,265],\"valid\"],[[266,266],\"mapped\",[267]],[[267,267],\"valid\"],[[268,268],\"mapped\",[269]],[[269,269],\"valid\"],[[270,270],\"mapped\",[271]],[[271,271],\"valid\"],[[272,272],\"mapped\",[273]],[[273,273],\"valid\"],[[274,274],\"mapped\",[275]],[[275,275],\"valid\"],[[276,276],\"mapped\",[277]],[[277,277],\"valid\"],[[278,278],\"mapped\",[279]],[[279,279],\"valid\"],[[280,280],\"mapped\",[281]],[[281,281],\"valid\"],[[282,282],\"mapped\",[283]],[[283,283],\"valid\"],[[284,284],\"mapped\",[285]],[[285,285],\"valid\"],[[286,286],\"mapped\",[287]],[[287,287],\"valid\"],[[288,288],\"mapped\",[289]],[[289,289],\"valid\"],[[290,290],\"mapped\",[291]],[[291,291],\"valid\"],[[292,292],\"mapped\",[293]],[[293,293],\"valid\"],[[294,294],\"mapped\",[295]],[[295,295],\"valid\"],[[296,296],\"mapped\",[297]],[[297,297],\"valid\"],[[298,298],\"mapped\",[299]],[[299,299],\"valid\"],[[300,300],\"mapped\",[301]],[[301,301],\"valid\"],[[302,302],\"mapped\",[303]],[[303,303],\"valid\"],[[304,304],\"mapped\",[105,775]],[[305,305],\"valid\"],[[306,307],\"mapped\",[105,106]],[[308,308],\"mapped\",[309]],[[309,309],\"valid\"],[[310,310],\"mapped\",[311]],[[311,312],\"valid\"],[[313,313],\"mapped\",[314]],[[314,314],\"valid\"],[[315,315],\"mapped\",[316]],[[316,316],\"valid\"],[[317,317],\"mapped\",[318]],[[318,318],\"valid\"],[[319,320],\"mapped\",[108,183]],[[321,321],\"mapped\",[322]],[[322,322],\"valid\"],[[323,323],\"mapped\",[324]],[[324,324],\"valid\"],[[325,325],\"mapped\",[326]],[[326,326],\"valid\"],[[327,327],\"mapped\",[328]],[[328,328],\"valid\"],[[329,329],\"mapped\",[700,110]],[[330,330],\"mapped\",[331]],[[331,331],\"valid\"],[[332,332],\"mapped\",[333]],[[333,333],\"valid\"],[[334,334],\"mapped\",[335]],[[335,335],\"valid\"],[[336,336],\"mapped\",[337]],[[337,337],\"valid\"],[[338,338],\"mapped\",[339]],[[339,339],\"valid\"],[[340,340],\"mapped\",[341]],[[341,341],\"valid\"],[[342,342],\"mapped\",[343]],[[343,343],\"valid\"],[[344,344],\"mapped\",[345]],[[345,345],\"valid\"],[[346,346],\"mapped\",[347]],[[347,347],\"valid\"],[[348,348],\"mapped\",[349]],[[349,349],\"valid\"],[[350,350],\"mapped\",[351]],[[351,351],\"valid\"],[[352,352],\"mapped\",[353]],[[353,353],\"valid\"],[[354,354],\"mapped\",[355]],[[355,355],\"valid\"],[[356,356],\"mapped\",[357]],[[357,357],\"valid\"],[[358,358],\"mapped\",[359]],[[359,359],\"valid\"],[[360,360],\"mapped\",[361]],[[361,361],\"valid\"],[[362,362],\"mapped\",[363]],[[363,363],\"valid\"],[[364,364],\"mapped\",[365]],[[365,365],\"valid\"],[[366,366],\"mapped\",[367]],[[367,367],\"valid\"],[[368,368],\"mapped\",[369]],[[369,369],\"valid\"],[[370,370],\"mapped\",[371]],[[371,371],\"valid\"],[[372,372],\"mapped\",[373]],[[373,373],\"valid\"],[[374,374],\"mapped\",[375]],[[375,375],\"valid\"],[[376,376],\"mapped\",[255]],[[377,377],\"mapped\",[378]],[[378,378],\"valid\"],[[379,379],\"mapped\",[380]],[[380,380],\"valid\"],[[381,381],\"mapped\",[382]],[[382,382],\"valid\"],[[383,383],\"mapped\",[115]],[[384,384],\"valid\"],[[385,385],\"mapped\",[595]],[[386,386],\"mapped\",[387]],[[387,387],\"valid\"],[[388,388],\"mapped\",[389]],[[389,389],\"valid\"],[[390,390],\"mapped\",[596]],[[391,391],\"mapped\",[392]],[[392,392],\"valid\"],[[393,393],\"mapped\",[598]],[[394,394],\"mapped\",[599]],[[395,395],\"mapped\",[396]],[[396,397],\"valid\"],[[398,398],\"mapped\",[477]],[[399,399],\"mapped\",[601]],[[400,400],\"mapped\",[603]],[[401,401],\"mapped\",[402]],[[402,402],\"valid\"],[[403,403],\"mapped\",[608]],[[404,404],\"mapped\",[611]],[[405,405],\"valid\"],[[406,406],\"mapped\",[617]],[[407,407],\"mapped\",[616]],[[408,408],\"mapped\",[409]],[[409,411],\"valid\"],[[412,412],\"mapped\",[623]],[[413,413],\"mapped\",[626]],[[414,414],\"valid\"],[[415,415],\"mapped\",[629]],[[416,416],\"mapped\",[417]],[[417,417],\"valid\"],[[418,418],\"mapped\",[419]],[[419,419],\"valid\"],[[420,420],\"mapped\",[421]],[[421,421],\"valid\"],[[422,422],\"mapped\",[640]],[[423,423],\"mapped\",[424]],[[424,424],\"valid\"],[[425,425],\"mapped\",[643]],[[426,427],\"valid\"],[[428,428],\"mapped\",[429]],[[429,429],\"valid\"],[[430,430],\"mapped\",[648]],[[431,431],\"mapped\",[432]],[[432,432],\"valid\"],[[433,433],\"mapped\",[650]],[[434,434],\"mapped\",[651]],[[435,435],\"mapped\",[436]],[[436,436],\"valid\"],[[437,437],\"mapped\",[438]],[[438,438],\"valid\"],[[439,439],\"mapped\",[658]],[[440,440],\"mapped\",[441]],[[441,443],\"valid\"],[[444,444],\"mapped\",[445]],[[445,451],\"valid\"],[[452,454],\"mapped\",[100,382]],[[455,457],\"mapped\",[108,106]],[[458,460],\"mapped\",[110,106]],[[461,461],\"mapped\",[462]],[[462,462],\"valid\"],[[463,463],\"mapped\",[464]],[[464,464],\"valid\"],[[465,465],\"mapped\",[466]],[[466,466],\"valid\"],[[467,467],\"mapped\",[468]],[[468,468],\"valid\"],[[469,469],\"mapped\",[470]],[[470,470],\"valid\"],[[471,471],\"mapped\",[472]],[[472,472],\"valid\"],[[473,473],\"mapped\",[474]],[[474,474],\"valid\"],[[475,475],\"mapped\",[476]],[[476,477],\"valid\"],[[478,478],\"mapped\",[479]],[[479,479],\"valid\"],[[480,480],\"mapped\",[481]],[[481,481],\"valid\"],[[482,482],\"mapped\",[483]],[[483,483],\"valid\"],[[484,484],\"mapped\",[485]],[[485,485],\"valid\"],[[486,486],\"mapped\",[487]],[[487,487],\"valid\"],[[488,488],\"mapped\",[489]],[[489,489],\"valid\"],[[490,490],\"mapped\",[491]],[[491,491],\"valid\"],[[492,492],\"mapped\",[493]],[[493,493],\"valid\"],[[494,494],\"mapped\",[495]],[[495,496],\"valid\"],[[497,499],\"mapped\",[100,122]],[[500,500],\"mapped\",[501]],[[501,501],\"valid\"],[[502,502],\"mapped\",[405]],[[503,503],\"mapped\",[447]],[[504,504],\"mapped\",[505]],[[505,505],\"valid\"],[[506,506],\"mapped\",[507]],[[507,507],\"valid\"],[[508,508],\"mapped\",[509]],[[509,509],\"valid\"],[[510,510],\"mapped\",[511]],[[511,511],\"valid\"],[[512,512],\"mapped\",[513]],[[513,513],\"valid\"],[[514,514],\"mapped\",[515]],[[515,515],\"valid\"],[[516,516],\"mapped\",[517]],[[517,517],\"valid\"],[[518,518],\"mapped\",[519]],[[519,519],\"valid\"],[[520,520],\"mapped\",[521]],[[521,521],\"valid\"],[[522,522],\"mapped\",[523]],[[523,523],\"valid\"],[[524,524],\"mapped\",[525]],[[525,525],\"valid\"],[[526,526],\"mapped\",[527]],[[527,527],\"valid\"],[[528,528],\"mapped\",[529]],[[529,529],\"valid\"],[[530,530],\"mapped\",[531]],[[531,531],\"valid\"],[[532,532],\"mapped\",[533]],[[533,533],\"valid\"],[[534,534],\"mapped\",[535]],[[535,535],\"valid\"],[[536,536],\"mapped\",[537]],[[537,537],\"valid\"],[[538,538],\"mapped\",[539]],[[539,539],\"valid\"],[[540,540],\"mapped\",[541]],[[541,541],\"valid\"],[[542,542],\"mapped\",[543]],[[543,543],\"valid\"],[[544,544],\"mapped\",[414]],[[545,545],\"valid\"],[[546,546],\"mapped\",[547]],[[547,547],\"valid\"],[[548,548],\"mapped\",[549]],[[549,549],\"valid\"],[[550,550],\"mapped\",[551]],[[551,551],\"valid\"],[[552,552],\"mapped\",[553]],[[553,553],\"valid\"],[[554,554],\"mapped\",[555]],[[555,555],\"valid\"],[[556,556],\"mapped\",[557]],[[557,557],\"valid\"],[[558,558],\"mapped\",[559]],[[559,559],\"valid\"],[[560,560],\"mapped\",[561]],[[561,561],\"valid\"],[[562,562],\"mapped\",[563]],[[563,563],\"valid\"],[[564,566],\"valid\"],[[567,569],\"valid\"],[[570,570],\"mapped\",[11365]],[[571,571],\"mapped\",[572]],[[572,572],\"valid\"],[[573,573],\"mapped\",[410]],[[574,574],\"mapped\",[11366]],[[575,576],\"valid\"],[[577,577],\"mapped\",[578]],[[578,578],\"valid\"],[[579,579],\"mapped\",[384]],[[580,580],\"mapped\",[649]],[[581,581],\"mapped\",[652]],[[582,582],\"mapped\",[583]],[[583,583],\"valid\"],[[584,584],\"mapped\",[585]],[[585,585],\"valid\"],[[586,586],\"mapped\",[587]],[[587,587],\"valid\"],[[588,588],\"mapped\",[589]],[[589,589],\"valid\"],[[590,590],\"mapped\",[591]],[[591,591],\"valid\"],[[592,680],\"valid\"],[[681,685],\"valid\"],[[686,687],\"valid\"],[[688,688],\"mapped\",[104]],[[689,689],\"mapped\",[614]],[[690,690],\"mapped\",[106]],[[691,691],\"mapped\",[114]],[[692,692],\"mapped\",[633]],[[693,693],\"mapped\",[635]],[[694,694],\"mapped\",[641]],[[695,695],\"mapped\",[119]],[[696,696],\"mapped\",[121]],[[697,705],\"valid\"],[[706,709],\"valid\",[],\"NV8\"],[[710,721],\"valid\"],[[722,727],\"valid\",[],\"NV8\"],[[728,728],\"disallowed_STD3_mapped\",[32,774]],[[729,729],\"disallowed_STD3_mapped\",[32,775]],[[730,730],\"disallowed_STD3_mapped\",[32,778]],[[731,731],\"disallowed_STD3_mapped\",[32,808]],[[732,732],\"disallowed_STD3_mapped\",[32,771]],[[733,733],\"disallowed_STD3_mapped\",[32,779]],[[734,734],\"valid\",[],\"NV8\"],[[735,735],\"valid\",[],\"NV8\"],[[736,736],\"mapped\",[611]],[[737,737],\"mapped\",[108]],[[738,738],\"mapped\",[115]],[[739,739],\"mapped\",[120]],[[740,740],\"mapped\",[661]],[[741,745],\"valid\",[],\"NV8\"],[[746,747],\"valid\",[],\"NV8\"],[[748,748],\"valid\"],[[749,749],\"valid\",[],\"NV8\"],[[750,750],\"valid\"],[[751,767],\"valid\",[],\"NV8\"],[[768,831],\"valid\"],[[832,832],\"mapped\",[768]],[[833,833],\"mapped\",[769]],[[834,834],\"valid\"],[[835,835],\"mapped\",[787]],[[836,836],\"mapped\",[776,769]],[[837,837],\"mapped\",[953]],[[838,846],\"valid\"],[[847,847],\"ignored\"],[[848,855],\"valid\"],[[856,860],\"valid\"],[[861,863],\"valid\"],[[864,865],\"valid\"],[[866,866],\"valid\"],[[867,879],\"valid\"],[[880,880],\"mapped\",[881]],[[881,881],\"valid\"],[[882,882],\"mapped\",[883]],[[883,883],\"valid\"],[[884,884],\"mapped\",[697]],[[885,885],\"valid\"],[[886,886],\"mapped\",[887]],[[887,887],\"valid\"],[[888,889],\"disallowed\"],[[890,890],\"disallowed_STD3_mapped\",[32,953]],[[891,893],\"valid\"],[[894,894],\"disallowed_STD3_mapped\",[59]],[[895,895],\"mapped\",[1011]],[[896,899],\"disallowed\"],[[900,900],\"disallowed_STD3_mapped\",[32,769]],[[901,901],\"disallowed_STD3_mapped\",[32,776,769]],[[902,902],\"mapped\",[940]],[[903,903],\"mapped\",[183]],[[904,904],\"mapped\",[941]],[[905,905],\"mapped\",[942]],[[906,906],\"mapped\",[943]],[[907,907],\"disallowed\"],[[908,908],\"mapped\",[972]],[[909,909],\"disallowed\"],[[910,910],\"mapped\",[973]],[[911,911],\"mapped\",[974]],[[912,912],\"valid\"],[[913,913],\"mapped\",[945]],[[914,914],\"mapped\",[946]],[[915,915],\"mapped\",[947]],[[916,916],\"mapped\",[948]],[[917,917],\"mapped\",[949]],[[918,918],\"mapped\",[950]],[[919,919],\"mapped\",[951]],[[920,920],\"mapped\",[952]],[[921,921],\"mapped\",[953]],[[922,922],\"mapped\",[954]],[[923,923],\"mapped\",[955]],[[924,924],\"mapped\",[956]],[[925,925],\"mapped\",[957]],[[926,926],\"mapped\",[958]],[[927,927],\"mapped\",[959]],[[928,928],\"mapped\",[960]],[[929,929],\"mapped\",[961]],[[930,930],\"disallowed\"],[[931,931],\"mapped\",[963]],[[932,932],\"mapped\",[964]],[[933,933],\"mapped\",[965]],[[934,934],\"mapped\",[966]],[[935,935],\"mapped\",[967]],[[936,936],\"mapped\",[968]],[[937,937],\"mapped\",[969]],[[938,938],\"mapped\",[970]],[[939,939],\"mapped\",[971]],[[940,961],\"valid\"],[[962,962],\"deviation\",[963]],[[963,974],\"valid\"],[[975,975],\"mapped\",[983]],[[976,976],\"mapped\",[946]],[[977,977],\"mapped\",[952]],[[978,978],\"mapped\",[965]],[[979,979],\"mapped\",[973]],[[980,980],\"mapped\",[971]],[[981,981],\"mapped\",[966]],[[982,982],\"mapped\",[960]],[[983,983],\"valid\"],[[984,984],\"mapped\",[985]],[[985,985],\"valid\"],[[986,986],\"mapped\",[987]],[[987,987],\"valid\"],[[988,988],\"mapped\",[989]],[[989,989],\"valid\"],[[990,990],\"mapped\",[991]],[[991,991],\"valid\"],[[992,992],\"mapped\",[993]],[[993,993],\"valid\"],[[994,994],\"mapped\",[995]],[[995,995],\"valid\"],[[996,996],\"mapped\",[997]],[[997,997],\"valid\"],[[998,998],\"mapped\",[999]],[[999,999],\"valid\"],[[1000,1000],\"mapped\",[1001]],[[1001,1001],\"valid\"],[[1002,1002],\"mapped\",[1003]],[[1003,1003],\"valid\"],[[1004,1004],\"mapped\",[1005]],[[1005,1005],\"valid\"],[[1006,1006],\"mapped\",[1007]],[[1007,1007],\"valid\"],[[1008,1008],\"mapped\",[954]],[[1009,1009],\"mapped\",[961]],[[1010,1010],\"mapped\",[963]],[[1011,1011],\"valid\"],[[1012,1012],\"mapped\",[952]],[[1013,1013],\"mapped\",[949]],[[1014,1014],\"valid\",[],\"NV8\"],[[1015,1015],\"mapped\",[1016]],[[1016,1016],\"valid\"],[[1017,1017],\"mapped\",[963]],[[1018,1018],\"mapped\",[1019]],[[1019,1019],\"valid\"],[[1020,1020],\"valid\"],[[1021,1021],\"mapped\",[891]],[[1022,1022],\"mapped\",[892]],[[1023,1023],\"mapped\",[893]],[[1024,1024],\"mapped\",[1104]],[[1025,1025],\"mapped\",[1105]],[[1026,1026],\"mapped\",[1106]],[[1027,1027],\"mapped\",[1107]],[[1028,1028],\"mapped\",[1108]],[[1029,1029],\"mapped\",[1109]],[[1030,1030],\"mapped\",[1110]],[[1031,1031],\"mapped\",[1111]],[[1032,1032],\"mapped\",[1112]],[[1033,1033],\"mapped\",[1113]],[[1034,1034],\"mapped\",[1114]],[[1035,1035],\"mapped\",[1115]],[[1036,1036],\"mapped\",[1116]],[[1037,1037],\"mapped\",[1117]],[[1038,1038],\"mapped\",[1118]],[[1039,1039],\"mapped\",[1119]],[[1040,1040],\"mapped\",[1072]],[[1041,1041],\"mapped\",[1073]],[[1042,1042],\"mapped\",[1074]],[[1043,1043],\"mapped\",[1075]],[[1044,1044],\"mapped\",[1076]],[[1045,1045],\"mapped\",[1077]],[[1046,1046],\"mapped\",[1078]],[[1047,1047],\"mapped\",[1079]],[[1048,1048],\"mapped\",[1080]],[[1049,1049],\"mapped\",[1081]],[[1050,1050],\"mapped\",[1082]],[[1051,1051],\"mapped\",[1083]],[[1052,1052],\"mapped\",[1084]],[[1053,1053],\"mapped\",[1085]],[[1054,1054],\"mapped\",[1086]],[[1055,1055],\"mapped\",[1087]],[[1056,1056],\"mapped\",[1088]],[[1057,1057],\"mapped\",[1089]],[[1058,1058],\"mapped\",[1090]],[[1059,1059],\"mapped\",[1091]],[[1060,1060],\"mapped\",[1092]],[[1061,1061],\"mapped\",[1093]],[[1062,1062],\"mapped\",[1094]],[[1063,1063],\"mapped\",[1095]],[[1064,1064],\"mapped\",[1096]],[[1065,1065],\"mapped\",[1097]],[[1066,1066],\"mapped\",[1098]],[[1067,1067],\"mapped\",[1099]],[[1068,1068],\"mapped\",[1100]],[[1069,1069],\"mapped\",[1101]],[[1070,1070],\"mapped\",[1102]],[[1071,1071],\"mapped\",[1103]],[[1072,1103],\"valid\"],[[1104,1104],\"valid\"],[[1105,1116],\"valid\"],[[1117,1117],\"valid\"],[[1118,1119],\"valid\"],[[1120,1120],\"mapped\",[1121]],[[1121,1121],\"valid\"],[[1122,1122],\"mapped\",[1123]],[[1123,1123],\"valid\"],[[1124,1124],\"mapped\",[1125]],[[1125,1125],\"valid\"],[[1126,1126],\"mapped\",[1127]],[[1127,1127],\"valid\"],[[1128,1128],\"mapped\",[1129]],[[1129,1129],\"valid\"],[[1130,1130],\"mapped\",[1131]],[[1131,1131],\"valid\"],[[1132,1132],\"mapped\",[1133]],[[1133,1133],\"valid\"],[[1134,1134],\"mapped\",[1135]],[[1135,1135],\"valid\"],[[1136,1136],\"mapped\",[1137]],[[1137,1137],\"valid\"],[[1138,1138],\"mapped\",[1139]],[[1139,1139],\"valid\"],[[1140,1140],\"mapped\",[1141]],[[1141,1141],\"valid\"],[[1142,1142],\"mapped\",[1143]],[[1143,1143],\"valid\"],[[1144,1144],\"mapped\",[1145]],[[1145,1145],\"valid\"],[[1146,1146],\"mapped\",[1147]],[[1147,1147],\"valid\"],[[1148,1148],\"mapped\",[1149]],[[1149,1149],\"valid\"],[[1150,1150],\"mapped\",[1151]],[[1151,1151],\"valid\"],[[1152,1152],\"mapped\",[1153]],[[1153,1153],\"valid\"],[[1154,1154],\"valid\",[],\"NV8\"],[[1155,1158],\"valid\"],[[1159,1159],\"valid\"],[[1160,1161],\"valid\",[],\"NV8\"],[[1162,1162],\"mapped\",[1163]],[[1163,1163],\"valid\"],[[1164,1164],\"mapped\",[1165]],[[1165,1165],\"valid\"],[[1166,1166],\"mapped\",[1167]],[[1167,1167],\"valid\"],[[1168,1168],\"mapped\",[1169]],[[1169,1169],\"valid\"],[[1170,1170],\"mapped\",[1171]],[[1171,1171],\"valid\"],[[1172,1172],\"mapped\",[1173]],[[1173,1173],\"valid\"],[[1174,1174],\"mapped\",[1175]],[[1175,1175],\"valid\"],[[1176,1176],\"mapped\",[1177]],[[1177,1177],\"valid\"],[[1178,1178],\"mapped\",[1179]],[[1179,1179],\"valid\"],[[1180,1180],\"mapped\",[1181]],[[1181,1181],\"valid\"],[[1182,1182],\"mapped\",[1183]],[[1183,1183],\"valid\"],[[1184,1184],\"mapped\",[1185]],[[1185,1185],\"valid\"],[[1186,1186],\"mapped\",[1187]],[[1187,1187],\"valid\"],[[1188,1188],\"mapped\",[1189]],[[1189,1189],\"valid\"],[[1190,1190],\"mapped\",[1191]],[[1191,1191],\"valid\"],[[1192,1192],\"mapped\",[1193]],[[1193,1193],\"valid\"],[[1194,1194],\"mapped\",[1195]],[[1195,1195],\"valid\"],[[1196,1196],\"mapped\",[1197]],[[1197,1197],\"valid\"],[[1198,1198],\"mapped\",[1199]],[[1199,1199],\"valid\"],[[1200,1200],\"mapped\",[1201]],[[1201,1201],\"valid\"],[[1202,1202],\"mapped\",[1203]],[[1203,1203],\"valid\"],[[1204,1204],\"mapped\",[1205]],[[1205,1205],\"valid\"],[[1206,1206],\"mapped\",[1207]],[[1207,1207],\"valid\"],[[1208,1208],\"mapped\",[1209]],[[1209,1209],\"valid\"],[[1210,1210],\"mapped\",[1211]],[[1211,1211],\"valid\"],[[1212,1212],\"mapped\",[1213]],[[1213,1213],\"valid\"],[[1214,1214],\"mapped\",[1215]],[[1215,1215],\"valid\"],[[1216,1216],\"disallowed\"],[[1217,1217],\"mapped\",[1218]],[[1218,1218],\"valid\"],[[1219,1219],\"mapped\",[1220]],[[1220,1220],\"valid\"],[[1221,1221],\"mapped\",[1222]],[[1222,1222],\"valid\"],[[1223,1223],\"mapped\",[1224]],[[1224,1224],\"valid\"],[[1225,1225],\"mapped\",[1226]],[[1226,1226],\"valid\"],[[1227,1227],\"mapped\",[1228]],[[1228,1228],\"valid\"],[[1229,1229],\"mapped\",[1230]],[[1230,1230],\"valid\"],[[1231,1231],\"valid\"],[[1232,1232],\"mapped\",[1233]],[[1233,1233],\"valid\"],[[1234,1234],\"mapped\",[1235]],[[1235,1235],\"valid\"],[[1236,1236],\"mapped\",[1237]],[[1237,1237],\"valid\"],[[1238,1238],\"mapped\",[1239]],[[1239,1239],\"valid\"],[[1240,1240],\"mapped\",[1241]],[[1241,1241],\"valid\"],[[1242,1242],\"mapped\",[1243]],[[1243,1243],\"valid\"],[[1244,1244],\"mapped\",[1245]],[[1245,1245],\"valid\"],[[1246,1246],\"mapped\",[1247]],[[1247,1247],\"valid\"],[[1248,1248],\"mapped\",[1249]],[[1249,1249],\"valid\"],[[1250,1250],\"mapped\",[1251]],[[1251,1251],\"valid\"],[[1252,1252],\"mapped\",[1253]],[[1253,1253],\"valid\"],[[1254,1254],\"mapped\",[1255]],[[1255,1255],\"valid\"],[[1256,1256],\"mapped\",[1257]],[[1257,1257],\"valid\"],[[1258,1258],\"mapped\",[1259]],[[1259,1259],\"valid\"],[[1260,1260],\"mapped\",[1261]],[[1261,1261],\"valid\"],[[1262,1262],\"mapped\",[1263]],[[1263,1263],\"valid\"],[[1264,1264],\"mapped\",[1265]],[[1265,1265],\"valid\"],[[1266,1266],\"mapped\",[1267]],[[1267,1267],\"valid\"],[[1268,1268],\"mapped\",[1269]],[[1269,1269],\"valid\"],[[1270,1270],\"mapped\",[1271]],[[1271,1271],\"valid\"],[[1272,1272],\"mapped\",[1273]],[[1273,1273],\"valid\"],[[1274,1274],\"mapped\",[1275]],[[1275,1275],\"valid\"],[[1276,1276],\"mapped\",[1277]],[[1277,1277],\"valid\"],[[1278,1278],\"mapped\",[1279]],[[1279,1279],\"valid\"],[[1280,1280],\"mapped\",[1281]],[[1281,1281],\"valid\"],[[1282,1282],\"mapped\",[1283]],[[1283,1283],\"valid\"],[[1284,1284],\"mapped\",[1285]],[[1285,1285],\"valid\"],[[1286,1286],\"mapped\",[1287]],[[1287,1287],\"valid\"],[[1288,1288],\"mapped\",[1289]],[[1289,1289],\"valid\"],[[1290,1290],\"mapped\",[1291]],[[1291,1291],\"valid\"],[[1292,1292],\"mapped\",[1293]],[[1293,1293],\"valid\"],[[1294,1294],\"mapped\",[1295]],[[1295,1295],\"valid\"],[[1296,1296],\"mapped\",[1297]],[[1297,1297],\"valid\"],[[1298,1298],\"mapped\",[1299]],[[1299,1299],\"valid\"],[[1300,1300],\"mapped\",[1301]],[[1301,1301],\"valid\"],[[1302,1302],\"mapped\",[1303]],[[1303,1303],\"valid\"],[[1304,1304],\"mapped\",[1305]],[[1305,1305],\"valid\"],[[1306,1306],\"mapped\",[1307]],[[1307,1307],\"valid\"],[[1308,1308],\"mapped\",[1309]],[[1309,1309],\"valid\"],[[1310,1310],\"mapped\",[1311]],[[1311,1311],\"valid\"],[[1312,1312],\"mapped\",[1313]],[[1313,1313],\"valid\"],[[1314,1314],\"mapped\",[1315]],[[1315,1315],\"valid\"],[[1316,1316],\"mapped\",[1317]],[[1317,1317],\"valid\"],[[1318,1318],\"mapped\",[1319]],[[1319,1319],\"valid\"],[[1320,1320],\"mapped\",[1321]],[[1321,1321],\"valid\"],[[1322,1322],\"mapped\",[1323]],[[1323,1323],\"valid\"],[[1324,1324],\"mapped\",[1325]],[[1325,1325],\"valid\"],[[1326,1326],\"mapped\",[1327]],[[1327,1327],\"valid\"],[[1328,1328],\"disallowed\"],[[1329,1329],\"mapped\",[1377]],[[1330,1330],\"mapped\",[1378]],[[1331,1331],\"mapped\",[1379]],[[1332,1332],\"mapped\",[1380]],[[1333,1333],\"mapped\",[1381]],[[1334,1334],\"mapped\",[1382]],[[1335,1335],\"mapped\",[1383]],[[1336,1336],\"mapped\",[1384]],[[1337,1337],\"mapped\",[1385]],[[1338,1338],\"mapped\",[1386]],[[1339,1339],\"mapped\",[1387]],[[1340,1340],\"mapped\",[1388]],[[1341,1341],\"mapped\",[1389]],[[1342,1342],\"mapped\",[1390]],[[1343,1343],\"mapped\",[1391]],[[1344,1344],\"mapped\",[1392]],[[1345,1345],\"mapped\",[1393]],[[1346,1346],\"mapped\",[1394]],[[1347,1347],\"mapped\",[1395]],[[1348,1348],\"mapped\",[1396]],[[1349,1349],\"mapped\",[1397]],[[1350,1350],\"mapped\",[1398]],[[1351,1351],\"mapped\",[1399]],[[1352,1352],\"mapped\",[1400]],[[1353,1353],\"mapped\",[1401]],[[1354,1354],\"mapped\",[1402]],[[1355,1355],\"mapped\",[1403]],[[1356,1356],\"mapped\",[1404]],[[1357,1357],\"mapped\",[1405]],[[1358,1358],\"mapped\",[1406]],[[1359,1359],\"mapped\",[1407]],[[1360,1360],\"mapped\",[1408]],[[1361,1361],\"mapped\",[1409]],[[1362,1362],\"mapped\",[1410]],[[1363,1363],\"mapped\",[1411]],[[1364,1364],\"mapped\",[1412]],[[1365,1365],\"mapped\",[1413]],[[1366,1366],\"mapped\",[1414]],[[1367,1368],\"disallowed\"],[[1369,1369],\"valid\"],[[1370,1375],\"valid\",[],\"NV8\"],[[1376,1376],\"disallowed\"],[[1377,1414],\"valid\"],[[1415,1415],\"mapped\",[1381,1410]],[[1416,1416],\"disallowed\"],[[1417,1417],\"valid\",[],\"NV8\"],[[1418,1418],\"valid\",[],\"NV8\"],[[1419,1420],\"disallowed\"],[[1421,1422],\"valid\",[],\"NV8\"],[[1423,1423],\"valid\",[],\"NV8\"],[[1424,1424],\"disallowed\"],[[1425,1441],\"valid\"],[[1442,1442],\"valid\"],[[1443,1455],\"valid\"],[[1456,1465],\"valid\"],[[1466,1466],\"valid\"],[[1467,1469],\"valid\"],[[1470,1470],\"valid\",[],\"NV8\"],[[1471,1471],\"valid\"],[[1472,1472],\"valid\",[],\"NV8\"],[[1473,1474],\"valid\"],[[1475,1475],\"valid\",[],\"NV8\"],[[1476,1476],\"valid\"],[[1477,1477],\"valid\"],[[1478,1478],\"valid\",[],\"NV8\"],[[1479,1479],\"valid\"],[[1480,1487],\"disallowed\"],[[1488,1514],\"valid\"],[[1515,1519],\"disallowed\"],[[1520,1524],\"valid\"],[[1525,1535],\"disallowed\"],[[1536,1539],\"disallowed\"],[[1540,1540],\"disallowed\"],[[1541,1541],\"disallowed\"],[[1542,1546],\"valid\",[],\"NV8\"],[[1547,1547],\"valid\",[],\"NV8\"],[[1548,1548],\"valid\",[],\"NV8\"],[[1549,1551],\"valid\",[],\"NV8\"],[[1552,1557],\"valid\"],[[1558,1562],\"valid\"],[[1563,1563],\"valid\",[],\"NV8\"],[[1564,1564],\"disallowed\"],[[1565,1565],\"disallowed\"],[[1566,1566],\"valid\",[],\"NV8\"],[[1567,1567],\"valid\",[],\"NV8\"],[[1568,1568],\"valid\"],[[1569,1594],\"valid\"],[[1595,1599],\"valid\"],[[1600,1600],\"valid\",[],\"NV8\"],[[1601,1618],\"valid\"],[[1619,1621],\"valid\"],[[1622,1624],\"valid\"],[[1625,1630],\"valid\"],[[1631,1631],\"valid\"],[[1632,1641],\"valid\"],[[1642,1645],\"valid\",[],\"NV8\"],[[1646,1647],\"valid\"],[[1648,1652],\"valid\"],[[1653,1653],\"mapped\",[1575,1652]],[[1654,1654],\"mapped\",[1608,1652]],[[1655,1655],\"mapped\",[1735,1652]],[[1656,1656],\"mapped\",[1610,1652]],[[1657,1719],\"valid\"],[[1720,1721],\"valid\"],[[1722,1726],\"valid\"],[[1727,1727],\"valid\"],[[1728,1742],\"valid\"],[[1743,1743],\"valid\"],[[1744,1747],\"valid\"],[[1748,1748],\"valid\",[],\"NV8\"],[[1749,1756],\"valid\"],[[1757,1757],\"disallowed\"],[[1758,1758],\"valid\",[],\"NV8\"],[[1759,1768],\"valid\"],[[1769,1769],\"valid\",[],\"NV8\"],[[1770,1773],\"valid\"],[[1774,1775],\"valid\"],[[1776,1785],\"valid\"],[[1786,1790],\"valid\"],[[1791,1791],\"valid\"],[[1792,1805],\"valid\",[],\"NV8\"],[[1806,1806],\"disallowed\"],[[1807,1807],\"disallowed\"],[[1808,1836],\"valid\"],[[1837,1839],\"valid\"],[[1840,1866],\"valid\"],[[1867,1868],\"disallowed\"],[[1869,1871],\"valid\"],[[1872,1901],\"valid\"],[[1902,1919],\"valid\"],[[1920,1968],\"valid\"],[[1969,1969],\"valid\"],[[1970,1983],\"disallowed\"],[[1984,2037],\"valid\"],[[2038,2042],\"valid\",[],\"NV8\"],[[2043,2047],\"disallowed\"],[[2048,2093],\"valid\"],[[2094,2095],\"disallowed\"],[[2096,2110],\"valid\",[],\"NV8\"],[[2111,2111],\"disallowed\"],[[2112,2139],\"valid\"],[[2140,2141],\"disallowed\"],[[2142,2142],\"valid\",[],\"NV8\"],[[2143,2207],\"disallowed\"],[[2208,2208],\"valid\"],[[2209,2209],\"valid\"],[[2210,2220],\"valid\"],[[2221,2226],\"valid\"],[[2227,2228],\"valid\"],[[2229,2274],\"disallowed\"],[[2275,2275],\"valid\"],[[2276,2302],\"valid\"],[[2303,2303],\"valid\"],[[2304,2304],\"valid\"],[[2305,2307],\"valid\"],[[2308,2308],\"valid\"],[[2309,2361],\"valid\"],[[2362,2363],\"valid\"],[[2364,2381],\"valid\"],[[2382,2382],\"valid\"],[[2383,2383],\"valid\"],[[2384,2388],\"valid\"],[[2389,2389],\"valid\"],[[2390,2391],\"valid\"],[[2392,2392],\"mapped\",[2325,2364]],[[2393,2393],\"mapped\",[2326,2364]],[[2394,2394],\"mapped\",[2327,2364]],[[2395,2395],\"mapped\",[2332,2364]],[[2396,2396],\"mapped\",[2337,2364]],[[2397,2397],\"mapped\",[2338,2364]],[[2398,2398],\"mapped\",[2347,2364]],[[2399,2399],\"mapped\",[2351,2364]],[[2400,2403],\"valid\"],[[2404,2405],\"valid\",[],\"NV8\"],[[2406,2415],\"valid\"],[[2416,2416],\"valid\",[],\"NV8\"],[[2417,2418],\"valid\"],[[2419,2423],\"valid\"],[[2424,2424],\"valid\"],[[2425,2426],\"valid\"],[[2427,2428],\"valid\"],[[2429,2429],\"valid\"],[[2430,2431],\"valid\"],[[2432,2432],\"valid\"],[[2433,2435],\"valid\"],[[2436,2436],\"disallowed\"],[[2437,2444],\"valid\"],[[2445,2446],\"disallowed\"],[[2447,2448],\"valid\"],[[2449,2450],\"disallowed\"],[[2451,2472],\"valid\"],[[2473,2473],\"disallowed\"],[[2474,2480],\"valid\"],[[2481,2481],\"disallowed\"],[[2482,2482],\"valid\"],[[2483,2485],\"disallowed\"],[[2486,2489],\"valid\"],[[2490,2491],\"disallowed\"],[[2492,2492],\"valid\"],[[2493,2493],\"valid\"],[[2494,2500],\"valid\"],[[2501,2502],\"disallowed\"],[[2503,2504],\"valid\"],[[2505,2506],\"disallowed\"],[[2507,2509],\"valid\"],[[2510,2510],\"valid\"],[[2511,2518],\"disallowed\"],[[2519,2519],\"valid\"],[[2520,2523],\"disallowed\"],[[2524,2524],\"mapped\",[2465,2492]],[[2525,2525],\"mapped\",[2466,2492]],[[2526,2526],\"disallowed\"],[[2527,2527],\"mapped\",[2479,2492]],[[2528,2531],\"valid\"],[[2532,2533],\"disallowed\"],[[2534,2545],\"valid\"],[[2546,2554],\"valid\",[],\"NV8\"],[[2555,2555],\"valid\",[],\"NV8\"],[[2556,2560],\"disallowed\"],[[2561,2561],\"valid\"],[[2562,2562],\"valid\"],[[2563,2563],\"valid\"],[[2564,2564],\"disallowed\"],[[2565,2570],\"valid\"],[[2571,2574],\"disallowed\"],[[2575,2576],\"valid\"],[[2577,2578],\"disallowed\"],[[2579,2600],\"valid\"],[[2601,2601],\"disallowed\"],[[2602,2608],\"valid\"],[[2609,2609],\"disallowed\"],[[2610,2610],\"valid\"],[[2611,2611],\"mapped\",[2610,2620]],[[2612,2612],\"disallowed\"],[[2613,2613],\"valid\"],[[2614,2614],\"mapped\",[2616,2620]],[[2615,2615],\"disallowed\"],[[2616,2617],\"valid\"],[[2618,2619],\"disallowed\"],[[2620,2620],\"valid\"],[[2621,2621],\"disallowed\"],[[2622,2626],\"valid\"],[[2627,2630],\"disallowed\"],[[2631,2632],\"valid\"],[[2633,2634],\"disallowed\"],[[2635,2637],\"valid\"],[[2638,2640],\"disallowed\"],[[2641,2641],\"valid\"],[[2642,2648],\"disallowed\"],[[2649,2649],\"mapped\",[2582,2620]],[[2650,2650],\"mapped\",[2583,2620]],[[2651,2651],\"mapped\",[2588,2620]],[[2652,2652],\"valid\"],[[2653,2653],\"disallowed\"],[[2654,2654],\"mapped\",[2603,2620]],[[2655,2661],\"disallowed\"],[[2662,2676],\"valid\"],[[2677,2677],\"valid\"],[[2678,2688],\"disallowed\"],[[2689,2691],\"valid\"],[[2692,2692],\"disallowed\"],[[2693,2699],\"valid\"],[[2700,2700],\"valid\"],[[2701,2701],\"valid\"],[[2702,2702],\"disallowed\"],[[2703,2705],\"valid\"],[[2706,2706],\"disallowed\"],[[2707,2728],\"valid\"],[[2729,2729],\"disallowed\"],[[2730,2736],\"valid\"],[[2737,2737],\"disallowed\"],[[2738,2739],\"valid\"],[[2740,2740],\"disallowed\"],[[2741,2745],\"valid\"],[[2746,2747],\"disallowed\"],[[2748,2757],\"valid\"],[[2758,2758],\"disallowed\"],[[2759,2761],\"valid\"],[[2762,2762],\"disallowed\"],[[2763,2765],\"valid\"],[[2766,2767],\"disallowed\"],[[2768,2768],\"valid\"],[[2769,2783],\"disallowed\"],[[2784,2784],\"valid\"],[[2785,2787],\"valid\"],[[2788,2789],\"disallowed\"],[[2790,2799],\"valid\"],[[2800,2800],\"valid\",[],\"NV8\"],[[2801,2801],\"valid\",[],\"NV8\"],[[2802,2808],\"disallowed\"],[[2809,2809],\"valid\"],[[2810,2816],\"disallowed\"],[[2817,2819],\"valid\"],[[2820,2820],\"disallowed\"],[[2821,2828],\"valid\"],[[2829,2830],\"disallowed\"],[[2831,2832],\"valid\"],[[2833,2834],\"disallowed\"],[[2835,2856],\"valid\"],[[2857,2857],\"disallowed\"],[[2858,2864],\"valid\"],[[2865,2865],\"disallowed\"],[[2866,2867],\"valid\"],[[2868,2868],\"disallowed\"],[[2869,2869],\"valid\"],[[2870,2873],\"valid\"],[[2874,2875],\"disallowed\"],[[2876,2883],\"valid\"],[[2884,2884],\"valid\"],[[2885,2886],\"disallowed\"],[[2887,2888],\"valid\"],[[2889,2890],\"disallowed\"],[[2891,2893],\"valid\"],[[2894,2901],\"disallowed\"],[[2902,2903],\"valid\"],[[2904,2907],\"disallowed\"],[[2908,2908],\"mapped\",[2849,2876]],[[2909,2909],\"mapped\",[2850,2876]],[[2910,2910],\"disallowed\"],[[2911,2913],\"valid\"],[[2914,2915],\"valid\"],[[2916,2917],\"disallowed\"],[[2918,2927],\"valid\"],[[2928,2928],\"valid\",[],\"NV8\"],[[2929,2929],\"valid\"],[[2930,2935],\"valid\",[],\"NV8\"],[[2936,2945],\"disallowed\"],[[2946,2947],\"valid\"],[[2948,2948],\"disallowed\"],[[2949,2954],\"valid\"],[[2955,2957],\"disallowed\"],[[2958,2960],\"valid\"],[[2961,2961],\"disallowed\"],[[2962,2965],\"valid\"],[[2966,2968],\"disallowed\"],[[2969,2970],\"valid\"],[[2971,2971],\"disallowed\"],[[2972,2972],\"valid\"],[[2973,2973],\"disallowed\"],[[2974,2975],\"valid\"],[[2976,2978],\"disallowed\"],[[2979,2980],\"valid\"],[[2981,2983],\"disallowed\"],[[2984,2986],\"valid\"],[[2987,2989],\"disallowed\"],[[2990,2997],\"valid\"],[[2998,2998],\"valid\"],[[2999,3001],\"valid\"],[[3002,3005],\"disallowed\"],[[3006,3010],\"valid\"],[[3011,3013],\"disallowed\"],[[3014,3016],\"valid\"],[[3017,3017],\"disallowed\"],[[3018,3021],\"valid\"],[[3022,3023],\"disallowed\"],[[3024,3024],\"valid\"],[[3025,3030],\"disallowed\"],[[3031,3031],\"valid\"],[[3032,3045],\"disallowed\"],[[3046,3046],\"valid\"],[[3047,3055],\"valid\"],[[3056,3058],\"valid\",[],\"NV8\"],[[3059,3066],\"valid\",[],\"NV8\"],[[3067,3071],\"disallowed\"],[[3072,3072],\"valid\"],[[3073,3075],\"valid\"],[[3076,3076],\"disallowed\"],[[3077,3084],\"valid\"],[[3085,3085],\"disallowed\"],[[3086,3088],\"valid\"],[[3089,3089],\"disallowed\"],[[3090,3112],\"valid\"],[[3113,3113],\"disallowed\"],[[3114,3123],\"valid\"],[[3124,3124],\"valid\"],[[3125,3129],\"valid\"],[[3130,3132],\"disallowed\"],[[3133,3133],\"valid\"],[[3134,3140],\"valid\"],[[3141,3141],\"disallowed\"],[[3142,3144],\"valid\"],[[3145,3145],\"disallowed\"],[[3146,3149],\"valid\"],[[3150,3156],\"disallowed\"],[[3157,3158],\"valid\"],[[3159,3159],\"disallowed\"],[[3160,3161],\"valid\"],[[3162,3162],\"valid\"],[[3163,3167],\"disallowed\"],[[3168,3169],\"valid\"],[[3170,3171],\"valid\"],[[3172,3173],\"disallowed\"],[[3174,3183],\"valid\"],[[3184,3191],\"disallowed\"],[[3192,3199],\"valid\",[],\"NV8\"],[[3200,3200],\"disallowed\"],[[3201,3201],\"valid\"],[[3202,3203],\"valid\"],[[3204,3204],\"disallowed\"],[[3205,3212],\"valid\"],[[3213,3213],\"disallowed\"],[[3214,3216],\"valid\"],[[3217,3217],\"disallowed\"],[[3218,3240],\"valid\"],[[3241,3241],\"disallowed\"],[[3242,3251],\"valid\"],[[3252,3252],\"disallowed\"],[[3253,3257],\"valid\"],[[3258,3259],\"disallowed\"],[[3260,3261],\"valid\"],[[3262,3268],\"valid\"],[[3269,3269],\"disallowed\"],[[3270,3272],\"valid\"],[[3273,3273],\"disallowed\"],[[3274,3277],\"valid\"],[[3278,3284],\"disallowed\"],[[3285,3286],\"valid\"],[[3287,3293],\"disallowed\"],[[3294,3294],\"valid\"],[[3295,3295],\"disallowed\"],[[3296,3297],\"valid\"],[[3298,3299],\"valid\"],[[3300,3301],\"disallowed\"],[[3302,3311],\"valid\"],[[3312,3312],\"disallowed\"],[[3313,3314],\"valid\"],[[3315,3328],\"disallowed\"],[[3329,3329],\"valid\"],[[3330,3331],\"valid\"],[[3332,3332],\"disallowed\"],[[3333,3340],\"valid\"],[[3341,3341],\"disallowed\"],[[3342,3344],\"valid\"],[[3345,3345],\"disallowed\"],[[3346,3368],\"valid\"],[[3369,3369],\"valid\"],[[3370,3385],\"valid\"],[[3386,3386],\"valid\"],[[3387,3388],\"disallowed\"],[[3389,3389],\"valid\"],[[3390,3395],\"valid\"],[[3396,3396],\"valid\"],[[3397,3397],\"disallowed\"],[[3398,3400],\"valid\"],[[3401,3401],\"disallowed\"],[[3402,3405],\"valid\"],[[3406,3406],\"valid\"],[[3407,3414],\"disallowed\"],[[3415,3415],\"valid\"],[[3416,3422],\"disallowed\"],[[3423,3423],\"valid\"],[[3424,3425],\"valid\"],[[3426,3427],\"valid\"],[[3428,3429],\"disallowed\"],[[3430,3439],\"valid\"],[[3440,3445],\"valid\",[],\"NV8\"],[[3446,3448],\"disallowed\"],[[3449,3449],\"valid\",[],\"NV8\"],[[3450,3455],\"valid\"],[[3456,3457],\"disallowed\"],[[3458,3459],\"valid\"],[[3460,3460],\"disallowed\"],[[3461,3478],\"valid\"],[[3479,3481],\"disallowed\"],[[3482,3505],\"valid\"],[[3506,3506],\"disallowed\"],[[3507,3515],\"valid\"],[[3516,3516],\"disallowed\"],[[3517,3517],\"valid\"],[[3518,3519],\"disallowed\"],[[3520,3526],\"valid\"],[[3527,3529],\"disallowed\"],[[3530,3530],\"valid\"],[[3531,3534],\"disallowed\"],[[3535,3540],\"valid\"],[[3541,3541],\"disallowed\"],[[3542,3542],\"valid\"],[[3543,3543],\"disallowed\"],[[3544,3551],\"valid\"],[[3552,3557],\"disallowed\"],[[3558,3567],\"valid\"],[[3568,3569],\"disallowed\"],[[3570,3571],\"valid\"],[[3572,3572],\"valid\",[],\"NV8\"],[[3573,3584],\"disallowed\"],[[3585,3634],\"valid\"],[[3635,3635],\"mapped\",[3661,3634]],[[3636,3642],\"valid\"],[[3643,3646],\"disallowed\"],[[3647,3647],\"valid\",[],\"NV8\"],[[3648,3662],\"valid\"],[[3663,3663],\"valid\",[],\"NV8\"],[[3664,3673],\"valid\"],[[3674,3675],\"valid\",[],\"NV8\"],[[3676,3712],\"disallowed\"],[[3713,3714],\"valid\"],[[3715,3715],\"disallowed\"],[[3716,3716],\"valid\"],[[3717,3718],\"disallowed\"],[[3719,3720],\"valid\"],[[3721,3721],\"disallowed\"],[[3722,3722],\"valid\"],[[3723,3724],\"disallowed\"],[[3725,3725],\"valid\"],[[3726,3731],\"disallowed\"],[[3732,3735],\"valid\"],[[3736,3736],\"disallowed\"],[[3737,3743],\"valid\"],[[3744,3744],\"disallowed\"],[[3745,3747],\"valid\"],[[3748,3748],\"disallowed\"],[[3749,3749],\"valid\"],[[3750,3750],\"disallowed\"],[[3751,3751],\"valid\"],[[3752,3753],\"disallowed\"],[[3754,3755],\"valid\"],[[3756,3756],\"disallowed\"],[[3757,3762],\"valid\"],[[3763,3763],\"mapped\",[3789,3762]],[[3764,3769],\"valid\"],[[3770,3770],\"disallowed\"],[[3771,3773],\"valid\"],[[3774,3775],\"disallowed\"],[[3776,3780],\"valid\"],[[3781,3781],\"disallowed\"],[[3782,3782],\"valid\"],[[3783,3783],\"disallowed\"],[[3784,3789],\"valid\"],[[3790,3791],\"disallowed\"],[[3792,3801],\"valid\"],[[3802,3803],\"disallowed\"],[[3804,3804],\"mapped\",[3755,3737]],[[3805,3805],\"mapped\",[3755,3745]],[[3806,3807],\"valid\"],[[3808,3839],\"disallowed\"],[[3840,3840],\"valid\"],[[3841,3850],\"valid\",[],\"NV8\"],[[3851,3851],\"valid\"],[[3852,3852],\"mapped\",[3851]],[[3853,3863],\"valid\",[],\"NV8\"],[[3864,3865],\"valid\"],[[3866,3871],\"valid\",[],\"NV8\"],[[3872,3881],\"valid\"],[[3882,3892],\"valid\",[],\"NV8\"],[[3893,3893],\"valid\"],[[3894,3894],\"valid\",[],\"NV8\"],[[3895,3895],\"valid\"],[[3896,3896],\"valid\",[],\"NV8\"],[[3897,3897],\"valid\"],[[3898,3901],\"valid\",[],\"NV8\"],[[3902,3906],\"valid\"],[[3907,3907],\"mapped\",[3906,4023]],[[3908,3911],\"valid\"],[[3912,3912],\"disallowed\"],[[3913,3916],\"valid\"],[[3917,3917],\"mapped\",[3916,4023]],[[3918,3921],\"valid\"],[[3922,3922],\"mapped\",[3921,4023]],[[3923,3926],\"valid\"],[[3927,3927],\"mapped\",[3926,4023]],[[3928,3931],\"valid\"],[[3932,3932],\"mapped\",[3931,4023]],[[3933,3944],\"valid\"],[[3945,3945],\"mapped\",[3904,4021]],[[3946,3946],\"valid\"],[[3947,3948],\"valid\"],[[3949,3952],\"disallowed\"],[[3953,3954],\"valid\"],[[3955,3955],\"mapped\",[3953,3954]],[[3956,3956],\"valid\"],[[3957,3957],\"mapped\",[3953,3956]],[[3958,3958],\"mapped\",[4018,3968]],[[3959,3959],\"mapped\",[4018,3953,3968]],[[3960,3960],\"mapped\",[4019,3968]],[[3961,3961],\"mapped\",[4019,3953,3968]],[[3962,3968],\"valid\"],[[3969,3969],\"mapped\",[3953,3968]],[[3970,3972],\"valid\"],[[3973,3973],\"valid\",[],\"NV8\"],[[3974,3979],\"valid\"],[[3980,3983],\"valid\"],[[3984,3986],\"valid\"],[[3987,3987],\"mapped\",[3986,4023]],[[3988,3989],\"valid\"],[[3990,3990],\"valid\"],[[3991,3991],\"valid\"],[[3992,3992],\"disallowed\"],[[3993,3996],\"valid\"],[[3997,3997],\"mapped\",[3996,4023]],[[3998,4001],\"valid\"],[[4002,4002],\"mapped\",[4001,4023]],[[4003,4006],\"valid\"],[[4007,4007],\"mapped\",[4006,4023]],[[4008,4011],\"valid\"],[[4012,4012],\"mapped\",[4011,4023]],[[4013,4013],\"valid\"],[[4014,4016],\"valid\"],[[4017,4023],\"valid\"],[[4024,4024],\"valid\"],[[4025,4025],\"mapped\",[3984,4021]],[[4026,4028],\"valid\"],[[4029,4029],\"disallowed\"],[[4030,4037],\"valid\",[],\"NV8\"],[[4038,4038],\"valid\"],[[4039,4044],\"valid\",[],\"NV8\"],[[4045,4045],\"disallowed\"],[[4046,4046],\"valid\",[],\"NV8\"],[[4047,4047],\"valid\",[],\"NV8\"],[[4048,4049],\"valid\",[],\"NV8\"],[[4050,4052],\"valid\",[],\"NV8\"],[[4053,4056],\"valid\",[],\"NV8\"],[[4057,4058],\"valid\",[],\"NV8\"],[[4059,4095],\"disallowed\"],[[4096,4129],\"valid\"],[[4130,4130],\"valid\"],[[4131,4135],\"valid\"],[[4136,4136],\"valid\"],[[4137,4138],\"valid\"],[[4139,4139],\"valid\"],[[4140,4146],\"valid\"],[[4147,4149],\"valid\"],[[4150,4153],\"valid\"],[[4154,4159],\"valid\"],[[4160,4169],\"valid\"],[[4170,4175],\"valid\",[],\"NV8\"],[[4176,4185],\"valid\"],[[4186,4249],\"valid\"],[[4250,4253],\"valid\"],[[4254,4255],\"valid\",[],\"NV8\"],[[4256,4293],\"disallowed\"],[[4294,4294],\"disallowed\"],[[4295,4295],\"mapped\",[11559]],[[4296,4300],\"disallowed\"],[[4301,4301],\"mapped\",[11565]],[[4302,4303],\"disallowed\"],[[4304,4342],\"valid\"],[[4343,4344],\"valid\"],[[4345,4346],\"valid\"],[[4347,4347],\"valid\",[],\"NV8\"],[[4348,4348],\"mapped\",[4316]],[[4349,4351],\"valid\"],[[4352,4441],\"valid\",[],\"NV8\"],[[4442,4446],\"valid\",[],\"NV8\"],[[4447,4448],\"disallowed\"],[[4449,4514],\"valid\",[],\"NV8\"],[[4515,4519],\"valid\",[],\"NV8\"],[[4520,4601],\"valid\",[],\"NV8\"],[[4602,4607],\"valid\",[],\"NV8\"],[[4608,4614],\"valid\"],[[4615,4615],\"valid\"],[[4616,4678],\"valid\"],[[4679,4679],\"valid\"],[[4680,4680],\"valid\"],[[4681,4681],\"disallowed\"],[[4682,4685],\"valid\"],[[4686,4687],\"disallowed\"],[[4688,4694],\"valid\"],[[4695,4695],\"disallowed\"],[[4696,4696],\"valid\"],[[4697,4697],\"disallowed\"],[[4698,4701],\"valid\"],[[4702,4703],\"disallowed\"],[[4704,4742],\"valid\"],[[4743,4743],\"valid\"],[[4744,4744],\"valid\"],[[4745,4745],\"disallowed\"],[[4746,4749],\"valid\"],[[4750,4751],\"disallowed\"],[[4752,4782],\"valid\"],[[4783,4783],\"valid\"],[[4784,4784],\"valid\"],[[4785,4785],\"disallowed\"],[[4786,4789],\"valid\"],[[4790,4791],\"disallowed\"],[[4792,4798],\"valid\"],[[4799,4799],\"disallowed\"],[[4800,4800],\"valid\"],[[4801,4801],\"disallowed\"],[[4802,4805],\"valid\"],[[4806,4807],\"disallowed\"],[[4808,4814],\"valid\"],[[4815,4815],\"valid\"],[[4816,4822],\"valid\"],[[4823,4823],\"disallowed\"],[[4824,4846],\"valid\"],[[4847,4847],\"valid\"],[[4848,4878],\"valid\"],[[4879,4879],\"valid\"],[[4880,4880],\"valid\"],[[4881,4881],\"disallowed\"],[[4882,4885],\"valid\"],[[4886,4887],\"disallowed\"],[[4888,4894],\"valid\"],[[4895,4895],\"valid\"],[[4896,4934],\"valid\"],[[4935,4935],\"valid\"],[[4936,4954],\"valid\"],[[4955,4956],\"disallowed\"],[[4957,4958],\"valid\"],[[4959,4959],\"valid\"],[[4960,4960],\"valid\",[],\"NV8\"],[[4961,4988],\"valid\",[],\"NV8\"],[[4989,4991],\"disallowed\"],[[4992,5007],\"valid\"],[[5008,5017],\"valid\",[],\"NV8\"],[[5018,5023],\"disallowed\"],[[5024,5108],\"valid\"],[[5109,5109],\"valid\"],[[5110,5111],\"disallowed\"],[[5112,5112],\"mapped\",[5104]],[[5113,5113],\"mapped\",[5105]],[[5114,5114],\"mapped\",[5106]],[[5115,5115],\"mapped\",[5107]],[[5116,5116],\"mapped\",[5108]],[[5117,5117],\"mapped\",[5109]],[[5118,5119],\"disallowed\"],[[5120,5120],\"valid\",[],\"NV8\"],[[5121,5740],\"valid\"],[[5741,5742],\"valid\",[],\"NV8\"],[[5743,5750],\"valid\"],[[5751,5759],\"valid\"],[[5760,5760],\"disallowed\"],[[5761,5786],\"valid\"],[[5787,5788],\"valid\",[],\"NV8\"],[[5789,5791],\"disallowed\"],[[5792,5866],\"valid\"],[[5867,5872],\"valid\",[],\"NV8\"],[[5873,5880],\"valid\"],[[5881,5887],\"disallowed\"],[[5888,5900],\"valid\"],[[5901,5901],\"disallowed\"],[[5902,5908],\"valid\"],[[5909,5919],\"disallowed\"],[[5920,5940],\"valid\"],[[5941,5942],\"valid\",[],\"NV8\"],[[5943,5951],\"disallowed\"],[[5952,5971],\"valid\"],[[5972,5983],\"disallowed\"],[[5984,5996],\"valid\"],[[5997,5997],\"disallowed\"],[[5998,6000],\"valid\"],[[6001,6001],\"disallowed\"],[[6002,6003],\"valid\"],[[6004,6015],\"disallowed\"],[[6016,6067],\"valid\"],[[6068,6069],\"disallowed\"],[[6070,6099],\"valid\"],[[6100,6102],\"valid\",[],\"NV8\"],[[6103,6103],\"valid\"],[[6104,6107],\"valid\",[],\"NV8\"],[[6108,6108],\"valid\"],[[6109,6109],\"valid\"],[[6110,6111],\"disallowed\"],[[6112,6121],\"valid\"],[[6122,6127],\"disallowed\"],[[6128,6137],\"valid\",[],\"NV8\"],[[6138,6143],\"disallowed\"],[[6144,6149],\"valid\",[],\"NV8\"],[[6150,6150],\"disallowed\"],[[6151,6154],\"valid\",[],\"NV8\"],[[6155,6157],\"ignored\"],[[6158,6158],\"disallowed\"],[[6159,6159],\"disallowed\"],[[6160,6169],\"valid\"],[[6170,6175],\"disallowed\"],[[6176,6263],\"valid\"],[[6264,6271],\"disallowed\"],[[6272,6313],\"valid\"],[[6314,6314],\"valid\"],[[6315,6319],\"disallowed\"],[[6320,6389],\"valid\"],[[6390,6399],\"disallowed\"],[[6400,6428],\"valid\"],[[6429,6430],\"valid\"],[[6431,6431],\"disallowed\"],[[6432,6443],\"valid\"],[[6444,6447],\"disallowed\"],[[6448,6459],\"valid\"],[[6460,6463],\"disallowed\"],[[6464,6464],\"valid\",[],\"NV8\"],[[6465,6467],\"disallowed\"],[[6468,6469],\"valid\",[],\"NV8\"],[[6470,6509],\"valid\"],[[6510,6511],\"disallowed\"],[[6512,6516],\"valid\"],[[6517,6527],\"disallowed\"],[[6528,6569],\"valid\"],[[6570,6571],\"valid\"],[[6572,6575],\"disallowed\"],[[6576,6601],\"valid\"],[[6602,6607],\"disallowed\"],[[6608,6617],\"valid\"],[[6618,6618],\"valid\",[],\"XV8\"],[[6619,6621],\"disallowed\"],[[6622,6623],\"valid\",[],\"NV8\"],[[6624,6655],\"valid\",[],\"NV8\"],[[6656,6683],\"valid\"],[[6684,6685],\"disallowed\"],[[6686,6687],\"valid\",[],\"NV8\"],[[6688,6750],\"valid\"],[[6751,6751],\"disallowed\"],[[6752,6780],\"valid\"],[[6781,6782],\"disallowed\"],[[6783,6793],\"valid\"],[[6794,6799],\"disallowed\"],[[6800,6809],\"valid\"],[[6810,6815],\"disallowed\"],[[6816,6822],\"valid\",[],\"NV8\"],[[6823,6823],\"valid\"],[[6824,6829],\"valid\",[],\"NV8\"],[[6830,6831],\"disallowed\"],[[6832,6845],\"valid\"],[[6846,6846],\"valid\",[],\"NV8\"],[[6847,6911],\"disallowed\"],[[6912,6987],\"valid\"],[[6988,6991],\"disallowed\"],[[6992,7001],\"valid\"],[[7002,7018],\"valid\",[],\"NV8\"],[[7019,7027],\"valid\"],[[7028,7036],\"valid\",[],\"NV8\"],[[7037,7039],\"disallowed\"],[[7040,7082],\"valid\"],[[7083,7085],\"valid\"],[[7086,7097],\"valid\"],[[7098,7103],\"valid\"],[[7104,7155],\"valid\"],[[7156,7163],\"disallowed\"],[[7164,7167],\"valid\",[],\"NV8\"],[[7168,7223],\"valid\"],[[7224,7226],\"disallowed\"],[[7227,7231],\"valid\",[],\"NV8\"],[[7232,7241],\"valid\"],[[7242,7244],\"disallowed\"],[[7245,7293],\"valid\"],[[7294,7295],\"valid\",[],\"NV8\"],[[7296,7359],\"disallowed\"],[[7360,7367],\"valid\",[],\"NV8\"],[[7368,7375],\"disallowed\"],[[7376,7378],\"valid\"],[[7379,7379],\"valid\",[],\"NV8\"],[[7380,7410],\"valid\"],[[7411,7414],\"valid\"],[[7415,7415],\"disallowed\"],[[7416,7417],\"valid\"],[[7418,7423],\"disallowed\"],[[7424,7467],\"valid\"],[[7468,7468],\"mapped\",[97]],[[7469,7469],\"mapped\",[230]],[[7470,7470],\"mapped\",[98]],[[7471,7471],\"valid\"],[[7472,7472],\"mapped\",[100]],[[7473,7473],\"mapped\",[101]],[[7474,7474],\"mapped\",[477]],[[7475,7475],\"mapped\",[103]],[[7476,7476],\"mapped\",[104]],[[7477,7477],\"mapped\",[105]],[[7478,7478],\"mapped\",[106]],[[7479,7479],\"mapped\",[107]],[[7480,7480],\"mapped\",[108]],[[7481,7481],\"mapped\",[109]],[[7482,7482],\"mapped\",[110]],[[7483,7483],\"valid\"],[[7484,7484],\"mapped\",[111]],[[7485,7485],\"mapped\",[547]],[[7486,7486],\"mapped\",[112]],[[7487,7487],\"mapped\",[114]],[[7488,7488],\"mapped\",[116]],[[7489,7489],\"mapped\",[117]],[[7490,7490],\"mapped\",[119]],[[7491,7491],\"mapped\",[97]],[[7492,7492],\"mapped\",[592]],[[7493,7493],\"mapped\",[593]],[[7494,7494],\"mapped\",[7426]],[[7495,7495],\"mapped\",[98]],[[7496,7496],\"mapped\",[100]],[[7497,7497],\"mapped\",[101]],[[7498,7498],\"mapped\",[601]],[[7499,7499],\"mapped\",[603]],[[7500,7500],\"mapped\",[604]],[[7501,7501],\"mapped\",[103]],[[7502,7502],\"valid\"],[[7503,7503],\"mapped\",[107]],[[7504,7504],\"mapped\",[109]],[[7505,7505],\"mapped\",[331]],[[7506,7506],\"mapped\",[111]],[[7507,7507],\"mapped\",[596]],[[7508,7508],\"mapped\",[7446]],[[7509,7509],\"mapped\",[7447]],[[7510,7510],\"mapped\",[112]],[[7511,7511],\"mapped\",[116]],[[7512,7512],\"mapped\",[117]],[[7513,7513],\"mapped\",[7453]],[[7514,7514],\"mapped\",[623]],[[7515,7515],\"mapped\",[118]],[[7516,7516],\"mapped\",[7461]],[[7517,7517],\"mapped\",[946]],[[7518,7518],\"mapped\",[947]],[[7519,7519],\"mapped\",[948]],[[7520,7520],\"mapped\",[966]],[[7521,7521],\"mapped\",[967]],[[7522,7522],\"mapped\",[105]],[[7523,7523],\"mapped\",[114]],[[7524,7524],\"mapped\",[117]],[[7525,7525],\"mapped\",[118]],[[7526,7526],\"mapped\",[946]],[[7527,7527],\"mapped\",[947]],[[7528,7528],\"mapped\",[961]],[[7529,7529],\"mapped\",[966]],[[7530,7530],\"mapped\",[967]],[[7531,7531],\"valid\"],[[7532,7543],\"valid\"],[[7544,7544],\"mapped\",[1085]],[[7545,7578],\"valid\"],[[7579,7579],\"mapped\",[594]],[[7580,7580],\"mapped\",[99]],[[7581,7581],\"mapped\",[597]],[[7582,7582],\"mapped\",[240]],[[7583,7583],\"mapped\",[604]],[[7584,7584],\"mapped\",[102]],[[7585,7585],\"mapped\",[607]],[[7586,7586],\"mapped\",[609]],[[7587,7587],\"mapped\",[613]],[[7588,7588],\"mapped\",[616]],[[7589,7589],\"mapped\",[617]],[[7590,7590],\"mapped\",[618]],[[7591,7591],\"mapped\",[7547]],[[7592,7592],\"mapped\",[669]],[[7593,7593],\"mapped\",[621]],[[7594,7594],\"mapped\",[7557]],[[7595,7595],\"mapped\",[671]],[[7596,7596],\"mapped\",[625]],[[7597,7597],\"mapped\",[624]],[[7598,7598],\"mapped\",[626]],[[7599,7599],\"mapped\",[627]],[[7600,7600],\"mapped\",[628]],[[7601,7601],\"mapped\",[629]],[[7602,7602],\"mapped\",[632]],[[7603,7603],\"mapped\",[642]],[[7604,7604],\"mapped\",[643]],[[7605,7605],\"mapped\",[427]],[[7606,7606],\"mapped\",[649]],[[7607,7607],\"mapped\",[650]],[[7608,7608],\"mapped\",[7452]],[[7609,7609],\"mapped\",[651]],[[7610,7610],\"mapped\",[652]],[[7611,7611],\"mapped\",[122]],[[7612,7612],\"mapped\",[656]],[[7613,7613],\"mapped\",[657]],[[7614,7614],\"mapped\",[658]],[[7615,7615],\"mapped\",[952]],[[7616,7619],\"valid\"],[[7620,7626],\"valid\"],[[7627,7654],\"valid\"],[[7655,7669],\"valid\"],[[7670,7675],\"disallowed\"],[[7676,7676],\"valid\"],[[7677,7677],\"valid\"],[[7678,7679],\"valid\"],[[7680,7680],\"mapped\",[7681]],[[7681,7681],\"valid\"],[[7682,7682],\"mapped\",[7683]],[[7683,7683],\"valid\"],[[7684,7684],\"mapped\",[7685]],[[7685,7685],\"valid\"],[[7686,7686],\"mapped\",[7687]],[[7687,7687],\"valid\"],[[7688,7688],\"mapped\",[7689]],[[7689,7689],\"valid\"],[[7690,7690],\"mapped\",[7691]],[[7691,7691],\"valid\"],[[7692,7692],\"mapped\",[7693]],[[7693,7693],\"valid\"],[[7694,7694],\"mapped\",[7695]],[[7695,7695],\"valid\"],[[7696,7696],\"mapped\",[7697]],[[7697,7697],\"valid\"],[[7698,7698],\"mapped\",[7699]],[[7699,7699],\"valid\"],[[7700,7700],\"mapped\",[7701]],[[7701,7701],\"valid\"],[[7702,7702],\"mapped\",[7703]],[[7703,7703],\"valid\"],[[7704,7704],\"mapped\",[7705]],[[7705,7705],\"valid\"],[[7706,7706],\"mapped\",[7707]],[[7707,7707],\"valid\"],[[7708,7708],\"mapped\",[7709]],[[7709,7709],\"valid\"],[[7710,7710],\"mapped\",[7711]],[[7711,7711],\"valid\"],[[7712,7712],\"mapped\",[7713]],[[7713,7713],\"valid\"],[[7714,7714],\"mapped\",[7715]],[[7715,7715],\"valid\"],[[7716,7716],\"mapped\",[7717]],[[7717,7717],\"valid\"],[[7718,7718],\"mapped\",[7719]],[[7719,7719],\"valid\"],[[7720,7720],\"mapped\",[7721]],[[7721,7721],\"valid\"],[[7722,7722],\"mapped\",[7723]],[[7723,7723],\"valid\"],[[7724,7724],\"mapped\",[7725]],[[7725,7725],\"valid\"],[[7726,7726],\"mapped\",[7727]],[[7727,7727],\"valid\"],[[7728,7728],\"mapped\",[7729]],[[7729,7729],\"valid\"],[[7730,7730],\"mapped\",[7731]],[[7731,7731],\"valid\"],[[7732,7732],\"mapped\",[7733]],[[7733,7733],\"valid\"],[[7734,7734],\"mapped\",[7735]],[[7735,7735],\"valid\"],[[7736,7736],\"mapped\",[7737]],[[7737,7737],\"valid\"],[[7738,7738],\"mapped\",[7739]],[[7739,7739],\"valid\"],[[7740,7740],\"mapped\",[7741]],[[7741,7741],\"valid\"],[[7742,7742],\"mapped\",[7743]],[[7743,7743],\"valid\"],[[7744,7744],\"mapped\",[7745]],[[7745,7745],\"valid\"],[[7746,7746],\"mapped\",[7747]],[[7747,7747],\"valid\"],[[7748,7748],\"mapped\",[7749]],[[7749,7749],\"valid\"],[[7750,7750],\"mapped\",[7751]],[[7751,7751],\"valid\"],[[7752,7752],\"mapped\",[7753]],[[7753,7753],\"valid\"],[[7754,7754],\"mapped\",[7755]],[[7755,7755],\"valid\"],[[7756,7756],\"mapped\",[7757]],[[7757,7757],\"valid\"],[[7758,7758],\"mapped\",[7759]],[[7759,7759],\"valid\"],[[7760,7760],\"mapped\",[7761]],[[7761,7761],\"valid\"],[[7762,7762],\"mapped\",[7763]],[[7763,7763],\"valid\"],[[7764,7764],\"mapped\",[7765]],[[7765,7765],\"valid\"],[[7766,7766],\"mapped\",[7767]],[[7767,7767],\"valid\"],[[7768,7768],\"mapped\",[7769]],[[7769,7769],\"valid\"],[[7770,7770],\"mapped\",[7771]],[[7771,7771],\"valid\"],[[7772,7772],\"mapped\",[7773]],[[7773,7773],\"valid\"],[[7774,7774],\"mapped\",[7775]],[[7775,7775],\"valid\"],[[7776,7776],\"mapped\",[7777]],[[7777,7777],\"valid\"],[[7778,7778],\"mapped\",[7779]],[[7779,7779],\"valid\"],[[7780,7780],\"mapped\",[7781]],[[7781,7781],\"valid\"],[[7782,7782],\"mapped\",[7783]],[[7783,7783],\"valid\"],[[7784,7784],\"mapped\",[7785]],[[7785,7785],\"valid\"],[[7786,7786],\"mapped\",[7787]],[[7787,7787],\"valid\"],[[7788,7788],\"mapped\",[7789]],[[7789,7789],\"valid\"],[[7790,7790],\"mapped\",[7791]],[[7791,7791],\"valid\"],[[7792,7792],\"mapped\",[7793]],[[7793,7793],\"valid\"],[[7794,7794],\"mapped\",[7795]],[[7795,7795],\"valid\"],[[7796,7796],\"mapped\",[7797]],[[7797,7797],\"valid\"],[[7798,7798],\"mapped\",[7799]],[[7799,7799],\"valid\"],[[7800,7800],\"mapped\",[7801]],[[7801,7801],\"valid\"],[[7802,7802],\"mapped\",[7803]],[[7803,7803],\"valid\"],[[7804,7804],\"mapped\",[7805]],[[7805,7805],\"valid\"],[[7806,7806],\"mapped\",[7807]],[[7807,7807],\"valid\"],[[7808,7808],\"mapped\",[7809]],[[7809,7809],\"valid\"],[[7810,7810],\"mapped\",[7811]],[[7811,7811],\"valid\"],[[7812,7812],\"mapped\",[7813]],[[7813,7813],\"valid\"],[[7814,7814],\"mapped\",[7815]],[[7815,7815],\"valid\"],[[7816,7816],\"mapped\",[7817]],[[7817,7817],\"valid\"],[[7818,7818],\"mapped\",[7819]],[[7819,7819],\"valid\"],[[7820,7820],\"mapped\",[7821]],[[7821,7821],\"valid\"],[[7822,7822],\"mapped\",[7823]],[[7823,7823],\"valid\"],[[7824,7824],\"mapped\",[7825]],[[7825,7825],\"valid\"],[[7826,7826],\"mapped\",[7827]],[[7827,7827],\"valid\"],[[7828,7828],\"mapped\",[7829]],[[7829,7833],\"valid\"],[[7834,7834],\"mapped\",[97,702]],[[7835,7835],\"mapped\",[7777]],[[7836,7837],\"valid\"],[[7838,7838],\"mapped\",[115,115]],[[7839,7839],\"valid\"],[[7840,7840],\"mapped\",[7841]],[[7841,7841],\"valid\"],[[7842,7842],\"mapped\",[7843]],[[7843,7843],\"valid\"],[[7844,7844],\"mapped\",[7845]],[[7845,7845],\"valid\"],[[7846,7846],\"mapped\",[7847]],[[7847,7847],\"valid\"],[[7848,7848],\"mapped\",[7849]],[[7849,7849],\"valid\"],[[7850,7850],\"mapped\",[7851]],[[7851,7851],\"valid\"],[[7852,7852],\"mapped\",[7853]],[[7853,7853],\"valid\"],[[7854,7854],\"mapped\",[7855]],[[7855,7855],\"valid\"],[[7856,7856],\"mapped\",[7857]],[[7857,7857],\"valid\"],[[7858,7858],\"mapped\",[7859]],[[7859,7859],\"valid\"],[[7860,7860],\"mapped\",[7861]],[[7861,7861],\"valid\"],[[7862,7862],\"mapped\",[7863]],[[7863,7863],\"valid\"],[[7864,7864],\"mapped\",[7865]],[[7865,7865],\"valid\"],[[7866,7866],\"mapped\",[7867]],[[7867,7867],\"valid\"],[[7868,7868],\"mapped\",[7869]],[[7869,7869],\"valid\"],[[7870,7870],\"mapped\",[7871]],[[7871,7871],\"valid\"],[[7872,7872],\"mapped\",[7873]],[[7873,7873],\"valid\"],[[7874,7874],\"mapped\",[7875]],[[7875,7875],\"valid\"],[[7876,7876],\"mapped\",[7877]],[[7877,7877],\"valid\"],[[7878,7878],\"mapped\",[7879]],[[7879,7879],\"valid\"],[[7880,7880],\"mapped\",[7881]],[[7881,7881],\"valid\"],[[7882,7882],\"mapped\",[7883]],[[7883,7883],\"valid\"],[[7884,7884],\"mapped\",[7885]],[[7885,7885],\"valid\"],[[7886,7886],\"mapped\",[7887]],[[7887,7887],\"valid\"],[[7888,7888],\"mapped\",[7889]],[[7889,7889],\"valid\"],[[7890,7890],\"mapped\",[7891]],[[7891,7891],\"valid\"],[[7892,7892],\"mapped\",[7893]],[[7893,7893],\"valid\"],[[7894,7894],\"mapped\",[7895]],[[7895,7895],\"valid\"],[[7896,7896],\"mapped\",[7897]],[[7897,7897],\"valid\"],[[7898,7898],\"mapped\",[7899]],[[7899,7899],\"valid\"],[[7900,7900],\"mapped\",[7901]],[[7901,7901],\"valid\"],[[7902,7902],\"mapped\",[7903]],[[7903,7903],\"valid\"],[[7904,7904],\"mapped\",[7905]],[[7905,7905],\"valid\"],[[7906,7906],\"mapped\",[7907]],[[7907,7907],\"valid\"],[[7908,7908],\"mapped\",[7909]],[[7909,7909],\"valid\"],[[7910,7910],\"mapped\",[7911]],[[7911,7911],\"valid\"],[[7912,7912],\"mapped\",[7913]],[[7913,7913],\"valid\"],[[7914,7914],\"mapped\",[7915]],[[7915,7915],\"valid\"],[[7916,7916],\"mapped\",[7917]],[[7917,7917],\"valid\"],[[7918,7918],\"mapped\",[7919]],[[7919,7919],\"valid\"],[[7920,7920],\"mapped\",[7921]],[[7921,7921],\"valid\"],[[7922,7922],\"mapped\",[7923]],[[7923,7923],\"valid\"],[[7924,7924],\"mapped\",[7925]],[[7925,7925],\"valid\"],[[7926,7926],\"mapped\",[7927]],[[7927,7927],\"valid\"],[[7928,7928],\"mapped\",[7929]],[[7929,7929],\"valid\"],[[7930,7930],\"mapped\",[7931]],[[7931,7931],\"valid\"],[[7932,7932],\"mapped\",[7933]],[[7933,7933],\"valid\"],[[7934,7934],\"mapped\",[7935]],[[7935,7935],\"valid\"],[[7936,7943],\"valid\"],[[7944,7944],\"mapped\",[7936]],[[7945,7945],\"mapped\",[7937]],[[7946,7946],\"mapped\",[7938]],[[7947,7947],\"mapped\",[7939]],[[7948,7948],\"mapped\",[7940]],[[7949,7949],\"mapped\",[7941]],[[7950,7950],\"mapped\",[7942]],[[7951,7951],\"mapped\",[7943]],[[7952,7957],\"valid\"],[[7958,7959],\"disallowed\"],[[7960,7960],\"mapped\",[7952]],[[7961,7961],\"mapped\",[7953]],[[7962,7962],\"mapped\",[7954]],[[7963,7963],\"mapped\",[7955]],[[7964,7964],\"mapped\",[7956]],[[7965,7965],\"mapped\",[7957]],[[7966,7967],\"disallowed\"],[[7968,7975],\"valid\"],[[7976,7976],\"mapped\",[7968]],[[7977,7977],\"mapped\",[7969]],[[7978,7978],\"mapped\",[7970]],[[7979,7979],\"mapped\",[7971]],[[7980,7980],\"mapped\",[7972]],[[7981,7981],\"mapped\",[7973]],[[7982,7982],\"mapped\",[7974]],[[7983,7983],\"mapped\",[7975]],[[7984,7991],\"valid\"],[[7992,7992],\"mapped\",[7984]],[[7993,7993],\"mapped\",[7985]],[[7994,7994],\"mapped\",[7986]],[[7995,7995],\"mapped\",[7987]],[[7996,7996],\"mapped\",[7988]],[[7997,7997],\"mapped\",[7989]],[[7998,7998],\"mapped\",[7990]],[[7999,7999],\"mapped\",[7991]],[[8000,8005],\"valid\"],[[8006,8007],\"disallowed\"],[[8008,8008],\"mapped\",[8000]],[[8009,8009],\"mapped\",[8001]],[[8010,8010],\"mapped\",[8002]],[[8011,8011],\"mapped\",[8003]],[[8012,8012],\"mapped\",[8004]],[[8013,8013],\"mapped\",[8005]],[[8014,8015],\"disallowed\"],[[8016,8023],\"valid\"],[[8024,8024],\"disallowed\"],[[8025,8025],\"mapped\",[8017]],[[8026,8026],\"disallowed\"],[[8027,8027],\"mapped\",[8019]],[[8028,8028],\"disallowed\"],[[8029,8029],\"mapped\",[8021]],[[8030,8030],\"disallowed\"],[[8031,8031],\"mapped\",[8023]],[[8032,8039],\"valid\"],[[8040,8040],\"mapped\",[8032]],[[8041,8041],\"mapped\",[8033]],[[8042,8042],\"mapped\",[8034]],[[8043,8043],\"mapped\",[8035]],[[8044,8044],\"mapped\",[8036]],[[8045,8045],\"mapped\",[8037]],[[8046,8046],\"mapped\",[8038]],[[8047,8047],\"mapped\",[8039]],[[8048,8048],\"valid\"],[[8049,8049],\"mapped\",[940]],[[8050,8050],\"valid\"],[[8051,8051],\"mapped\",[941]],[[8052,8052],\"valid\"],[[8053,8053],\"mapped\",[942]],[[8054,8054],\"valid\"],[[8055,8055],\"mapped\",[943]],[[8056,8056],\"valid\"],[[8057,8057],\"mapped\",[972]],[[8058,8058],\"valid\"],[[8059,8059],\"mapped\",[973]],[[8060,8060],\"valid\"],[[8061,8061],\"mapped\",[974]],[[8062,8063],\"disallowed\"],[[8064,8064],\"mapped\",[7936,953]],[[8065,8065],\"mapped\",[7937,953]],[[8066,8066],\"mapped\",[7938,953]],[[8067,8067],\"mapped\",[7939,953]],[[8068,8068],\"mapped\",[7940,953]],[[8069,8069],\"mapped\",[7941,953]],[[8070,8070],\"mapped\",[7942,953]],[[8071,8071],\"mapped\",[7943,953]],[[8072,8072],\"mapped\",[7936,953]],[[8073,8073],\"mapped\",[7937,953]],[[8074,8074],\"mapped\",[7938,953]],[[8075,8075],\"mapped\",[7939,953]],[[8076,8076],\"mapped\",[7940,953]],[[8077,8077],\"mapped\",[7941,953]],[[8078,8078],\"mapped\",[7942,953]],[[8079,8079],\"mapped\",[7943,953]],[[8080,8080],\"mapped\",[7968,953]],[[8081,8081],\"mapped\",[7969,953]],[[8082,8082],\"mapped\",[7970,953]],[[8083,8083],\"mapped\",[7971,953]],[[8084,8084],\"mapped\",[7972,953]],[[8085,8085],\"mapped\",[7973,953]],[[8086,8086],\"mapped\",[7974,953]],[[8087,8087],\"mapped\",[7975,953]],[[8088,8088],\"mapped\",[7968,953]],[[8089,8089],\"mapped\",[7969,953]],[[8090,8090],\"mapped\",[7970,953]],[[8091,8091],\"mapped\",[7971,953]],[[8092,8092],\"mapped\",[7972,953]],[[8093,8093],\"mapped\",[7973,953]],[[8094,8094],\"mapped\",[7974,953]],[[8095,8095],\"mapped\",[7975,953]],[[8096,8096],\"mapped\",[8032,953]],[[8097,8097],\"mapped\",[8033,953]],[[8098,8098],\"mapped\",[8034,953]],[[8099,8099],\"mapped\",[8035,953]],[[8100,8100],\"mapped\",[8036,953]],[[8101,8101],\"mapped\",[8037,953]],[[8102,8102],\"mapped\",[8038,953]],[[8103,8103],\"mapped\",[8039,953]],[[8104,8104],\"mapped\",[8032,953]],[[8105,8105],\"mapped\",[8033,953]],[[8106,8106],\"mapped\",[8034,953]],[[8107,8107],\"mapped\",[8035,953]],[[8108,8108],\"mapped\",[8036,953]],[[8109,8109],\"mapped\",[8037,953]],[[8110,8110],\"mapped\",[8038,953]],[[8111,8111],\"mapped\",[8039,953]],[[8112,8113],\"valid\"],[[8114,8114],\"mapped\",[8048,953]],[[8115,8115],\"mapped\",[945,953]],[[8116,8116],\"mapped\",[940,953]],[[8117,8117],\"disallowed\"],[[8118,8118],\"valid\"],[[8119,8119],\"mapped\",[8118,953]],[[8120,8120],\"mapped\",[8112]],[[8121,8121],\"mapped\",[8113]],[[8122,8122],\"mapped\",[8048]],[[8123,8123],\"mapped\",[940]],[[8124,8124],\"mapped\",[945,953]],[[8125,8125],\"disallowed_STD3_mapped\",[32,787]],[[8126,8126],\"mapped\",[953]],[[8127,8127],\"disallowed_STD3_mapped\",[32,787]],[[8128,8128],\"disallowed_STD3_mapped\",[32,834]],[[8129,8129],\"disallowed_STD3_mapped\",[32,776,834]],[[8130,8130],\"mapped\",[8052,953]],[[8131,8131],\"mapped\",[951,953]],[[8132,8132],\"mapped\",[942,953]],[[8133,8133],\"disallowed\"],[[8134,8134],\"valid\"],[[8135,8135],\"mapped\",[8134,953]],[[8136,8136],\"mapped\",[8050]],[[8137,8137],\"mapped\",[941]],[[8138,8138],\"mapped\",[8052]],[[8139,8139],\"mapped\",[942]],[[8140,8140],\"mapped\",[951,953]],[[8141,8141],\"disallowed_STD3_mapped\",[32,787,768]],[[8142,8142],\"disallowed_STD3_mapped\",[32,787,769]],[[8143,8143],\"disallowed_STD3_mapped\",[32,787,834]],[[8144,8146],\"valid\"],[[8147,8147],\"mapped\",[912]],[[8148,8149],\"disallowed\"],[[8150,8151],\"valid\"],[[8152,8152],\"mapped\",[8144]],[[8153,8153],\"mapped\",[8145]],[[8154,8154],\"mapped\",[8054]],[[8155,8155],\"mapped\",[943]],[[8156,8156],\"disallowed\"],[[8157,8157],\"disallowed_STD3_mapped\",[32,788,768]],[[8158,8158],\"disallowed_STD3_mapped\",[32,788,769]],[[8159,8159],\"disallowed_STD3_mapped\",[32,788,834]],[[8160,8162],\"valid\"],[[8163,8163],\"mapped\",[944]],[[8164,8167],\"valid\"],[[8168,8168],\"mapped\",[8160]],[[8169,8169],\"mapped\",[8161]],[[8170,8170],\"mapped\",[8058]],[[8171,8171],\"mapped\",[973]],[[8172,8172],\"mapped\",[8165]],[[8173,8173],\"disallowed_STD3_mapped\",[32,776,768]],[[8174,8174],\"disallowed_STD3_mapped\",[32,776,769]],[[8175,8175],\"disallowed_STD3_mapped\",[96]],[[8176,8177],\"disallowed\"],[[8178,8178],\"mapped\",[8060,953]],[[8179,8179],\"mapped\",[969,953]],[[8180,8180],\"mapped\",[974,953]],[[8181,8181],\"disallowed\"],[[8182,8182],\"valid\"],[[8183,8183],\"mapped\",[8182,953]],[[8184,8184],\"mapped\",[8056]],[[8185,8185],\"mapped\",[972]],[[8186,8186],\"mapped\",[8060]],[[8187,8187],\"mapped\",[974]],[[8188,8188],\"mapped\",[969,953]],[[8189,8189],\"disallowed_STD3_mapped\",[32,769]],[[8190,8190],\"disallowed_STD3_mapped\",[32,788]],[[8191,8191],\"disallowed\"],[[8192,8202],\"disallowed_STD3_mapped\",[32]],[[8203,8203],\"ignored\"],[[8204,8205],\"deviation\",[]],[[8206,8207],\"disallowed\"],[[8208,8208],\"valid\",[],\"NV8\"],[[8209,8209],\"mapped\",[8208]],[[8210,8214],\"valid\",[],\"NV8\"],[[8215,8215],\"disallowed_STD3_mapped\",[32,819]],[[8216,8227],\"valid\",[],\"NV8\"],[[8228,8230],\"disallowed\"],[[8231,8231],\"valid\",[],\"NV8\"],[[8232,8238],\"disallowed\"],[[8239,8239],\"disallowed_STD3_mapped\",[32]],[[8240,8242],\"valid\",[],\"NV8\"],[[8243,8243],\"mapped\",[8242,8242]],[[8244,8244],\"mapped\",[8242,8242,8242]],[[8245,8245],\"valid\",[],\"NV8\"],[[8246,8246],\"mapped\",[8245,8245]],[[8247,8247],\"mapped\",[8245,8245,8245]],[[8248,8251],\"valid\",[],\"NV8\"],[[8252,8252],\"disallowed_STD3_mapped\",[33,33]],[[8253,8253],\"valid\",[],\"NV8\"],[[8254,8254],\"disallowed_STD3_mapped\",[32,773]],[[8255,8262],\"valid\",[],\"NV8\"],[[8263,8263],\"disallowed_STD3_mapped\",[63,63]],[[8264,8264],\"disallowed_STD3_mapped\",[63,33]],[[8265,8265],\"disallowed_STD3_mapped\",[33,63]],[[8266,8269],\"valid\",[],\"NV8\"],[[8270,8274],\"valid\",[],\"NV8\"],[[8275,8276],\"valid\",[],\"NV8\"],[[8277,8278],\"valid\",[],\"NV8\"],[[8279,8279],\"mapped\",[8242,8242,8242,8242]],[[8280,8286],\"valid\",[],\"NV8\"],[[8287,8287],\"disallowed_STD3_mapped\",[32]],[[8288,8288],\"ignored\"],[[8289,8291],\"disallowed\"],[[8292,8292],\"ignored\"],[[8293,8293],\"disallowed\"],[[8294,8297],\"disallowed\"],[[8298,8303],\"disallowed\"],[[8304,8304],\"mapped\",[48]],[[8305,8305],\"mapped\",[105]],[[8306,8307],\"disallowed\"],[[8308,8308],\"mapped\",[52]],[[8309,8309],\"mapped\",[53]],[[8310,8310],\"mapped\",[54]],[[8311,8311],\"mapped\",[55]],[[8312,8312],\"mapped\",[56]],[[8313,8313],\"mapped\",[57]],[[8314,8314],\"disallowed_STD3_mapped\",[43]],[[8315,8315],\"mapped\",[8722]],[[8316,8316],\"disallowed_STD3_mapped\",[61]],[[8317,8317],\"disallowed_STD3_mapped\",[40]],[[8318,8318],\"disallowed_STD3_mapped\",[41]],[[8319,8319],\"mapped\",[110]],[[8320,8320],\"mapped\",[48]],[[8321,8321],\"mapped\",[49]],[[8322,8322],\"mapped\",[50]],[[8323,8323],\"mapped\",[51]],[[8324,8324],\"mapped\",[52]],[[8325,8325],\"mapped\",[53]],[[8326,8326],\"mapped\",[54]],[[8327,8327],\"mapped\",[55]],[[8328,8328],\"mapped\",[56]],[[8329,8329],\"mapped\",[57]],[[8330,8330],\"disallowed_STD3_mapped\",[43]],[[8331,8331],\"mapped\",[8722]],[[8332,8332],\"disallowed_STD3_mapped\",[61]],[[8333,8333],\"disallowed_STD3_mapped\",[40]],[[8334,8334],\"disallowed_STD3_mapped\",[41]],[[8335,8335],\"disallowed\"],[[8336,8336],\"mapped\",[97]],[[8337,8337],\"mapped\",[101]],[[8338,8338],\"mapped\",[111]],[[8339,8339],\"mapped\",[120]],[[8340,8340],\"mapped\",[601]],[[8341,8341],\"mapped\",[104]],[[8342,8342],\"mapped\",[107]],[[8343,8343],\"mapped\",[108]],[[8344,8344],\"mapped\",[109]],[[8345,8345],\"mapped\",[110]],[[8346,8346],\"mapped\",[112]],[[8347,8347],\"mapped\",[115]],[[8348,8348],\"mapped\",[116]],[[8349,8351],\"disallowed\"],[[8352,8359],\"valid\",[],\"NV8\"],[[8360,8360],\"mapped\",[114,115]],[[8361,8362],\"valid\",[],\"NV8\"],[[8363,8363],\"valid\",[],\"NV8\"],[[8364,8364],\"valid\",[],\"NV8\"],[[8365,8367],\"valid\",[],\"NV8\"],[[8368,8369],\"valid\",[],\"NV8\"],[[8370,8373],\"valid\",[],\"NV8\"],[[8374,8376],\"valid\",[],\"NV8\"],[[8377,8377],\"valid\",[],\"NV8\"],[[8378,8378],\"valid\",[],\"NV8\"],[[8379,8381],\"valid\",[],\"NV8\"],[[8382,8382],\"valid\",[],\"NV8\"],[[8383,8399],\"disallowed\"],[[8400,8417],\"valid\",[],\"NV8\"],[[8418,8419],\"valid\",[],\"NV8\"],[[8420,8426],\"valid\",[],\"NV8\"],[[8427,8427],\"valid\",[],\"NV8\"],[[8428,8431],\"valid\",[],\"NV8\"],[[8432,8432],\"valid\",[],\"NV8\"],[[8433,8447],\"disallowed\"],[[8448,8448],\"disallowed_STD3_mapped\",[97,47,99]],[[8449,8449],\"disallowed_STD3_mapped\",[97,47,115]],[[8450,8450],\"mapped\",[99]],[[8451,8451],\"mapped\",[176,99]],[[8452,8452],\"valid\",[],\"NV8\"],[[8453,8453],\"disallowed_STD3_mapped\",[99,47,111]],[[8454,8454],\"disallowed_STD3_mapped\",[99,47,117]],[[8455,8455],\"mapped\",[603]],[[8456,8456],\"valid\",[],\"NV8\"],[[8457,8457],\"mapped\",[176,102]],[[8458,8458],\"mapped\",[103]],[[8459,8462],\"mapped\",[104]],[[8463,8463],\"mapped\",[295]],[[8464,8465],\"mapped\",[105]],[[8466,8467],\"mapped\",[108]],[[8468,8468],\"valid\",[],\"NV8\"],[[8469,8469],\"mapped\",[110]],[[8470,8470],\"mapped\",[110,111]],[[8471,8472],\"valid\",[],\"NV8\"],[[8473,8473],\"mapped\",[112]],[[8474,8474],\"mapped\",[113]],[[8475,8477],\"mapped\",[114]],[[8478,8479],\"valid\",[],\"NV8\"],[[8480,8480],\"mapped\",[115,109]],[[8481,8481],\"mapped\",[116,101,108]],[[8482,8482],\"mapped\",[116,109]],[[8483,8483],\"valid\",[],\"NV8\"],[[8484,8484],\"mapped\",[122]],[[8485,8485],\"valid\",[],\"NV8\"],[[8486,8486],\"mapped\",[969]],[[8487,8487],\"valid\",[],\"NV8\"],[[8488,8488],\"mapped\",[122]],[[8489,8489],\"valid\",[],\"NV8\"],[[8490,8490],\"mapped\",[107]],[[8491,8491],\"mapped\",[229]],[[8492,8492],\"mapped\",[98]],[[8493,8493],\"mapped\",[99]],[[8494,8494],\"valid\",[],\"NV8\"],[[8495,8496],\"mapped\",[101]],[[8497,8497],\"mapped\",[102]],[[8498,8498],\"disallowed\"],[[8499,8499],\"mapped\",[109]],[[8500,8500],\"mapped\",[111]],[[8501,8501],\"mapped\",[1488]],[[8502,8502],\"mapped\",[1489]],[[8503,8503],\"mapped\",[1490]],[[8504,8504],\"mapped\",[1491]],[[8505,8505],\"mapped\",[105]],[[8506,8506],\"valid\",[],\"NV8\"],[[8507,8507],\"mapped\",[102,97,120]],[[8508,8508],\"mapped\",[960]],[[8509,8510],\"mapped\",[947]],[[8511,8511],\"mapped\",[960]],[[8512,8512],\"mapped\",[8721]],[[8513,8516],\"valid\",[],\"NV8\"],[[8517,8518],\"mapped\",[100]],[[8519,8519],\"mapped\",[101]],[[8520,8520],\"mapped\",[105]],[[8521,8521],\"mapped\",[106]],[[8522,8523],\"valid\",[],\"NV8\"],[[8524,8524],\"valid\",[],\"NV8\"],[[8525,8525],\"valid\",[],\"NV8\"],[[8526,8526],\"valid\"],[[8527,8527],\"valid\",[],\"NV8\"],[[8528,8528],\"mapped\",[49,8260,55]],[[8529,8529],\"mapped\",[49,8260,57]],[[8530,8530],\"mapped\",[49,8260,49,48]],[[8531,8531],\"mapped\",[49,8260,51]],[[8532,8532],\"mapped\",[50,8260,51]],[[8533,8533],\"mapped\",[49,8260,53]],[[8534,8534],\"mapped\",[50,8260,53]],[[8535,8535],\"mapped\",[51,8260,53]],[[8536,8536],\"mapped\",[52,8260,53]],[[8537,8537],\"mapped\",[49,8260,54]],[[8538,8538],\"mapped\",[53,8260,54]],[[8539,8539],\"mapped\",[49,8260,56]],[[8540,8540],\"mapped\",[51,8260,56]],[[8541,8541],\"mapped\",[53,8260,56]],[[8542,8542],\"mapped\",[55,8260,56]],[[8543,8543],\"mapped\",[49,8260]],[[8544,8544],\"mapped\",[105]],[[8545,8545],\"mapped\",[105,105]],[[8546,8546],\"mapped\",[105,105,105]],[[8547,8547],\"mapped\",[105,118]],[[8548,8548],\"mapped\",[118]],[[8549,8549],\"mapped\",[118,105]],[[8550,8550],\"mapped\",[118,105,105]],[[8551,8551],\"mapped\",[118,105,105,105]],[[8552,8552],\"mapped\",[105,120]],[[8553,8553],\"mapped\",[120]],[[8554,8554],\"mapped\",[120,105]],[[8555,8555],\"mapped\",[120,105,105]],[[8556,8556],\"mapped\",[108]],[[8557,8557],\"mapped\",[99]],[[8558,8558],\"mapped\",[100]],[[8559,8559],\"mapped\",[109]],[[8560,8560],\"mapped\",[105]],[[8561,8561],\"mapped\",[105,105]],[[8562,8562],\"mapped\",[105,105,105]],[[8563,8563],\"mapped\",[105,118]],[[8564,8564],\"mapped\",[118]],[[8565,8565],\"mapped\",[118,105]],[[8566,8566],\"mapped\",[118,105,105]],[[8567,8567],\"mapped\",[118,105,105,105]],[[8568,8568],\"mapped\",[105,120]],[[8569,8569],\"mapped\",[120]],[[8570,8570],\"mapped\",[120,105]],[[8571,8571],\"mapped\",[120,105,105]],[[8572,8572],\"mapped\",[108]],[[8573,8573],\"mapped\",[99]],[[8574,8574],\"mapped\",[100]],[[8575,8575],\"mapped\",[109]],[[8576,8578],\"valid\",[],\"NV8\"],[[8579,8579],\"disallowed\"],[[8580,8580],\"valid\"],[[8581,8584],\"valid\",[],\"NV8\"],[[8585,8585],\"mapped\",[48,8260,51]],[[8586,8587],\"valid\",[],\"NV8\"],[[8588,8591],\"disallowed\"],[[8592,8682],\"valid\",[],\"NV8\"],[[8683,8691],\"valid\",[],\"NV8\"],[[8692,8703],\"valid\",[],\"NV8\"],[[8704,8747],\"valid\",[],\"NV8\"],[[8748,8748],\"mapped\",[8747,8747]],[[8749,8749],\"mapped\",[8747,8747,8747]],[[8750,8750],\"valid\",[],\"NV8\"],[[8751,8751],\"mapped\",[8750,8750]],[[8752,8752],\"mapped\",[8750,8750,8750]],[[8753,8799],\"valid\",[],\"NV8\"],[[8800,8800],\"disallowed_STD3_valid\"],[[8801,8813],\"valid\",[],\"NV8\"],[[8814,8815],\"disallowed_STD3_valid\"],[[8816,8945],\"valid\",[],\"NV8\"],[[8946,8959],\"valid\",[],\"NV8\"],[[8960,8960],\"valid\",[],\"NV8\"],[[8961,8961],\"valid\",[],\"NV8\"],[[8962,9000],\"valid\",[],\"NV8\"],[[9001,9001],\"mapped\",[12296]],[[9002,9002],\"mapped\",[12297]],[[9003,9082],\"valid\",[],\"NV8\"],[[9083,9083],\"valid\",[],\"NV8\"],[[9084,9084],\"valid\",[],\"NV8\"],[[9085,9114],\"valid\",[],\"NV8\"],[[9115,9166],\"valid\",[],\"NV8\"],[[9167,9168],\"valid\",[],\"NV8\"],[[9169,9179],\"valid\",[],\"NV8\"],[[9180,9191],\"valid\",[],\"NV8\"],[[9192,9192],\"valid\",[],\"NV8\"],[[9193,9203],\"valid\",[],\"NV8\"],[[9204,9210],\"valid\",[],\"NV8\"],[[9211,9215],\"disallowed\"],[[9216,9252],\"valid\",[],\"NV8\"],[[9253,9254],\"valid\",[],\"NV8\"],[[9255,9279],\"disallowed\"],[[9280,9290],\"valid\",[],\"NV8\"],[[9291,9311],\"disallowed\"],[[9312,9312],\"mapped\",[49]],[[9313,9313],\"mapped\",[50]],[[9314,9314],\"mapped\",[51]],[[9315,9315],\"mapped\",[52]],[[9316,9316],\"mapped\",[53]],[[9317,9317],\"mapped\",[54]],[[9318,9318],\"mapped\",[55]],[[9319,9319],\"mapped\",[56]],[[9320,9320],\"mapped\",[57]],[[9321,9321],\"mapped\",[49,48]],[[9322,9322],\"mapped\",[49,49]],[[9323,9323],\"mapped\",[49,50]],[[9324,9324],\"mapped\",[49,51]],[[9325,9325],\"mapped\",[49,52]],[[9326,9326],\"mapped\",[49,53]],[[9327,9327],\"mapped\",[49,54]],[[9328,9328],\"mapped\",[49,55]],[[9329,9329],\"mapped\",[49,56]],[[9330,9330],\"mapped\",[49,57]],[[9331,9331],\"mapped\",[50,48]],[[9332,9332],\"disallowed_STD3_mapped\",[40,49,41]],[[9333,9333],\"disallowed_STD3_mapped\",[40,50,41]],[[9334,9334],\"disallowed_STD3_mapped\",[40,51,41]],[[9335,9335],\"disallowed_STD3_mapped\",[40,52,41]],[[9336,9336],\"disallowed_STD3_mapped\",[40,53,41]],[[9337,9337],\"disallowed_STD3_mapped\",[40,54,41]],[[9338,9338],\"disallowed_STD3_mapped\",[40,55,41]],[[9339,9339],\"disallowed_STD3_mapped\",[40,56,41]],[[9340,9340],\"disallowed_STD3_mapped\",[40,57,41]],[[9341,9341],\"disallowed_STD3_mapped\",[40,49,48,41]],[[9342,9342],\"disallowed_STD3_mapped\",[40,49,49,41]],[[9343,9343],\"disallowed_STD3_mapped\",[40,49,50,41]],[[9344,9344],\"disallowed_STD3_mapped\",[40,49,51,41]],[[9345,9345],\"disallowed_STD3_mapped\",[40,49,52,41]],[[9346,9346],\"disallowed_STD3_mapped\",[40,49,53,41]],[[9347,9347],\"disallowed_STD3_mapped\",[40,49,54,41]],[[9348,9348],\"disallowed_STD3_mapped\",[40,49,55,41]],[[9349,9349],\"disallowed_STD3_mapped\",[40,49,56,41]],[[9350,9350],\"disallowed_STD3_mapped\",[40,49,57,41]],[[9351,9351],\"disallowed_STD3_mapped\",[40,50,48,41]],[[9352,9371],\"disallowed\"],[[9372,9372],\"disallowed_STD3_mapped\",[40,97,41]],[[9373,9373],\"disallowed_STD3_mapped\",[40,98,41]],[[9374,9374],\"disallowed_STD3_mapped\",[40,99,41]],[[9375,9375],\"disallowed_STD3_mapped\",[40,100,41]],[[9376,9376],\"disallowed_STD3_mapped\",[40,101,41]],[[9377,9377],\"disallowed_STD3_mapped\",[40,102,41]],[[9378,9378],\"disallowed_STD3_mapped\",[40,103,41]],[[9379,9379],\"disallowed_STD3_mapped\",[40,104,41]],[[9380,9380],\"disallowed_STD3_mapped\",[40,105,41]],[[9381,9381],\"disallowed_STD3_mapped\",[40,106,41]],[[9382,9382],\"disallowed_STD3_mapped\",[40,107,41]],[[9383,9383],\"disallowed_STD3_mapped\",[40,108,41]],[[9384,9384],\"disallowed_STD3_mapped\",[40,109,41]],[[9385,9385],\"disallowed_STD3_mapped\",[40,110,41]],[[9386,9386],\"disallowed_STD3_mapped\",[40,111,41]],[[9387,9387],\"disallowed_STD3_mapped\",[40,112,41]],[[9388,9388],\"disallowed_STD3_mapped\",[40,113,41]],[[9389,9389],\"disallowed_STD3_mapped\",[40,114,41]],[[9390,9390],\"disallowed_STD3_mapped\",[40,115,41]],[[9391,9391],\"disallowed_STD3_mapped\",[40,116,41]],[[9392,9392],\"disallowed_STD3_mapped\",[40,117,41]],[[9393,9393],\"disallowed_STD3_mapped\",[40,118,41]],[[9394,9394],\"disallowed_STD3_mapped\",[40,119,41]],[[9395,9395],\"disallowed_STD3_mapped\",[40,120,41]],[[9396,9396],\"disallowed_STD3_mapped\",[40,121,41]],[[9397,9397],\"disallowed_STD3_mapped\",[40,122,41]],[[9398,9398],\"mapped\",[97]],[[9399,9399],\"mapped\",[98]],[[9400,9400],\"mapped\",[99]],[[9401,9401],\"mapped\",[100]],[[9402,9402],\"mapped\",[101]],[[9403,9403],\"mapped\",[102]],[[9404,9404],\"mapped\",[103]],[[9405,9405],\"mapped\",[104]],[[9406,9406],\"mapped\",[105]],[[9407,9407],\"mapped\",[106]],[[9408,9408],\"mapped\",[107]],[[9409,9409],\"mapped\",[108]],[[9410,9410],\"mapped\",[109]],[[9411,9411],\"mapped\",[110]],[[9412,9412],\"mapped\",[111]],[[9413,9413],\"mapped\",[112]],[[9414,9414],\"mapped\",[113]],[[9415,9415],\"mapped\",[114]],[[9416,9416],\"mapped\",[115]],[[9417,9417],\"mapped\",[116]],[[9418,9418],\"mapped\",[117]],[[9419,9419],\"mapped\",[118]],[[9420,9420],\"mapped\",[119]],[[9421,9421],\"mapped\",[120]],[[9422,9422],\"mapped\",[121]],[[9423,9423],\"mapped\",[122]],[[9424,9424],\"mapped\",[97]],[[9425,9425],\"mapped\",[98]],[[9426,9426],\"mapped\",[99]],[[9427,9427],\"mapped\",[100]],[[9428,9428],\"mapped\",[101]],[[9429,9429],\"mapped\",[102]],[[9430,9430],\"mapped\",[103]],[[9431,9431],\"mapped\",[104]],[[9432,9432],\"mapped\",[105]],[[9433,9433],\"mapped\",[106]],[[9434,9434],\"mapped\",[107]],[[9435,9435],\"mapped\",[108]],[[9436,9436],\"mapped\",[109]],[[9437,9437],\"mapped\",[110]],[[9438,9438],\"mapped\",[111]],[[9439,9439],\"mapped\",[112]],[[9440,9440],\"mapped\",[113]],[[9441,9441],\"mapped\",[114]],[[9442,9442],\"mapped\",[115]],[[9443,9443],\"mapped\",[116]],[[9444,9444],\"mapped\",[117]],[[9445,9445],\"mapped\",[118]],[[9446,9446],\"mapped\",[119]],[[9447,9447],\"mapped\",[120]],[[9448,9448],\"mapped\",[121]],[[9449,9449],\"mapped\",[122]],[[9450,9450],\"mapped\",[48]],[[9451,9470],\"valid\",[],\"NV8\"],[[9471,9471],\"valid\",[],\"NV8\"],[[9472,9621],\"valid\",[],\"NV8\"],[[9622,9631],\"valid\",[],\"NV8\"],[[9632,9711],\"valid\",[],\"NV8\"],[[9712,9719],\"valid\",[],\"NV8\"],[[9720,9727],\"valid\",[],\"NV8\"],[[9728,9747],\"valid\",[],\"NV8\"],[[9748,9749],\"valid\",[],\"NV8\"],[[9750,9751],\"valid\",[],\"NV8\"],[[9752,9752],\"valid\",[],\"NV8\"],[[9753,9753],\"valid\",[],\"NV8\"],[[9754,9839],\"valid\",[],\"NV8\"],[[9840,9841],\"valid\",[],\"NV8\"],[[9842,9853],\"valid\",[],\"NV8\"],[[9854,9855],\"valid\",[],\"NV8\"],[[9856,9865],\"valid\",[],\"NV8\"],[[9866,9873],\"valid\",[],\"NV8\"],[[9874,9884],\"valid\",[],\"NV8\"],[[9885,9885],\"valid\",[],\"NV8\"],[[9886,9887],\"valid\",[],\"NV8\"],[[9888,9889],\"valid\",[],\"NV8\"],[[9890,9905],\"valid\",[],\"NV8\"],[[9906,9906],\"valid\",[],\"NV8\"],[[9907,9916],\"valid\",[],\"NV8\"],[[9917,9919],\"valid\",[],\"NV8\"],[[9920,9923],\"valid\",[],\"NV8\"],[[9924,9933],\"valid\",[],\"NV8\"],[[9934,9934],\"valid\",[],\"NV8\"],[[9935,9953],\"valid\",[],\"NV8\"],[[9954,9954],\"valid\",[],\"NV8\"],[[9955,9955],\"valid\",[],\"NV8\"],[[9956,9959],\"valid\",[],\"NV8\"],[[9960,9983],\"valid\",[],\"NV8\"],[[9984,9984],\"valid\",[],\"NV8\"],[[9985,9988],\"valid\",[],\"NV8\"],[[9989,9989],\"valid\",[],\"NV8\"],[[9990,9993],\"valid\",[],\"NV8\"],[[9994,9995],\"valid\",[],\"NV8\"],[[9996,10023],\"valid\",[],\"NV8\"],[[10024,10024],\"valid\",[],\"NV8\"],[[10025,10059],\"valid\",[],\"NV8\"],[[10060,10060],\"valid\",[],\"NV8\"],[[10061,10061],\"valid\",[],\"NV8\"],[[10062,10062],\"valid\",[],\"NV8\"],[[10063,10066],\"valid\",[],\"NV8\"],[[10067,10069],\"valid\",[],\"NV8\"],[[10070,10070],\"valid\",[],\"NV8\"],[[10071,10071],\"valid\",[],\"NV8\"],[[10072,10078],\"valid\",[],\"NV8\"],[[10079,10080],\"valid\",[],\"NV8\"],[[10081,10087],\"valid\",[],\"NV8\"],[[10088,10101],\"valid\",[],\"NV8\"],[[10102,10132],\"valid\",[],\"NV8\"],[[10133,10135],\"valid\",[],\"NV8\"],[[10136,10159],\"valid\",[],\"NV8\"],[[10160,10160],\"valid\",[],\"NV8\"],[[10161,10174],\"valid\",[],\"NV8\"],[[10175,10175],\"valid\",[],\"NV8\"],[[10176,10182],\"valid\",[],\"NV8\"],[[10183,10186],\"valid\",[],\"NV8\"],[[10187,10187],\"valid\",[],\"NV8\"],[[10188,10188],\"valid\",[],\"NV8\"],[[10189,10189],\"valid\",[],\"NV8\"],[[10190,10191],\"valid\",[],\"NV8\"],[[10192,10219],\"valid\",[],\"NV8\"],[[10220,10223],\"valid\",[],\"NV8\"],[[10224,10239],\"valid\",[],\"NV8\"],[[10240,10495],\"valid\",[],\"NV8\"],[[10496,10763],\"valid\",[],\"NV8\"],[[10764,10764],\"mapped\",[8747,8747,8747,8747]],[[10765,10867],\"valid\",[],\"NV8\"],[[10868,10868],\"disallowed_STD3_mapped\",[58,58,61]],[[10869,10869],\"disallowed_STD3_mapped\",[61,61]],[[10870,10870],\"disallowed_STD3_mapped\",[61,61,61]],[[10871,10971],\"valid\",[],\"NV8\"],[[10972,10972],\"mapped\",[10973,824]],[[10973,11007],\"valid\",[],\"NV8\"],[[11008,11021],\"valid\",[],\"NV8\"],[[11022,11027],\"valid\",[],\"NV8\"],[[11028,11034],\"valid\",[],\"NV8\"],[[11035,11039],\"valid\",[],\"NV8\"],[[11040,11043],\"valid\",[],\"NV8\"],[[11044,11084],\"valid\",[],\"NV8\"],[[11085,11087],\"valid\",[],\"NV8\"],[[11088,11092],\"valid\",[],\"NV8\"],[[11093,11097],\"valid\",[],\"NV8\"],[[11098,11123],\"valid\",[],\"NV8\"],[[11124,11125],\"disallowed\"],[[11126,11157],\"valid\",[],\"NV8\"],[[11158,11159],\"disallowed\"],[[11160,11193],\"valid\",[],\"NV8\"],[[11194,11196],\"disallowed\"],[[11197,11208],\"valid\",[],\"NV8\"],[[11209,11209],\"disallowed\"],[[11210,11217],\"valid\",[],\"NV8\"],[[11218,11243],\"disallowed\"],[[11244,11247],\"valid\",[],\"NV8\"],[[11248,11263],\"disallowed\"],[[11264,11264],\"mapped\",[11312]],[[11265,11265],\"mapped\",[11313]],[[11266,11266],\"mapped\",[11314]],[[11267,11267],\"mapped\",[11315]],[[11268,11268],\"mapped\",[11316]],[[11269,11269],\"mapped\",[11317]],[[11270,11270],\"mapped\",[11318]],[[11271,11271],\"mapped\",[11319]],[[11272,11272],\"mapped\",[11320]],[[11273,11273],\"mapped\",[11321]],[[11274,11274],\"mapped\",[11322]],[[11275,11275],\"mapped\",[11323]],[[11276,11276],\"mapped\",[11324]],[[11277,11277],\"mapped\",[11325]],[[11278,11278],\"mapped\",[11326]],[[11279,11279],\"mapped\",[11327]],[[11280,11280],\"mapped\",[11328]],[[11281,11281],\"mapped\",[11329]],[[11282,11282],\"mapped\",[11330]],[[11283,11283],\"mapped\",[11331]],[[11284,11284],\"mapped\",[11332]],[[11285,11285],\"mapped\",[11333]],[[11286,11286],\"mapped\",[11334]],[[11287,11287],\"mapped\",[11335]],[[11288,11288],\"mapped\",[11336]],[[11289,11289],\"mapped\",[11337]],[[11290,11290],\"mapped\",[11338]],[[11291,11291],\"mapped\",[11339]],[[11292,11292],\"mapped\",[11340]],[[11293,11293],\"mapped\",[11341]],[[11294,11294],\"mapped\",[11342]],[[11295,11295],\"mapped\",[11343]],[[11296,11296],\"mapped\",[11344]],[[11297,11297],\"mapped\",[11345]],[[11298,11298],\"mapped\",[11346]],[[11299,11299],\"mapped\",[11347]],[[11300,11300],\"mapped\",[11348]],[[11301,11301],\"mapped\",[11349]],[[11302,11302],\"mapped\",[11350]],[[11303,11303],\"mapped\",[11351]],[[11304,11304],\"mapped\",[11352]],[[11305,11305],\"mapped\",[11353]],[[11306,11306],\"mapped\",[11354]],[[11307,11307],\"mapped\",[11355]],[[11308,11308],\"mapped\",[11356]],[[11309,11309],\"mapped\",[11357]],[[11310,11310],\"mapped\",[11358]],[[11311,11311],\"disallowed\"],[[11312,11358],\"valid\"],[[11359,11359],\"disallowed\"],[[11360,11360],\"mapped\",[11361]],[[11361,11361],\"valid\"],[[11362,11362],\"mapped\",[619]],[[11363,11363],\"mapped\",[7549]],[[11364,11364],\"mapped\",[637]],[[11365,11366],\"valid\"],[[11367,11367],\"mapped\",[11368]],[[11368,11368],\"valid\"],[[11369,11369],\"mapped\",[11370]],[[11370,11370],\"valid\"],[[11371,11371],\"mapped\",[11372]],[[11372,11372],\"valid\"],[[11373,11373],\"mapped\",[593]],[[11374,11374],\"mapped\",[625]],[[11375,11375],\"mapped\",[592]],[[11376,11376],\"mapped\",[594]],[[11377,11377],\"valid\"],[[11378,11378],\"mapped\",[11379]],[[11379,11379],\"valid\"],[[11380,11380],\"valid\"],[[11381,11381],\"mapped\",[11382]],[[11382,11383],\"valid\"],[[11384,11387],\"valid\"],[[11388,11388],\"mapped\",[106]],[[11389,11389],\"mapped\",[118]],[[11390,11390],\"mapped\",[575]],[[11391,11391],\"mapped\",[576]],[[11392,11392],\"mapped\",[11393]],[[11393,11393],\"valid\"],[[11394,11394],\"mapped\",[11395]],[[11395,11395],\"valid\"],[[11396,11396],\"mapped\",[11397]],[[11397,11397],\"valid\"],[[11398,11398],\"mapped\",[11399]],[[11399,11399],\"valid\"],[[11400,11400],\"mapped\",[11401]],[[11401,11401],\"valid\"],[[11402,11402],\"mapped\",[11403]],[[11403,11403],\"valid\"],[[11404,11404],\"mapped\",[11405]],[[11405,11405],\"valid\"],[[11406,11406],\"mapped\",[11407]],[[11407,11407],\"valid\"],[[11408,11408],\"mapped\",[11409]],[[11409,11409],\"valid\"],[[11410,11410],\"mapped\",[11411]],[[11411,11411],\"valid\"],[[11412,11412],\"mapped\",[11413]],[[11413,11413],\"valid\"],[[11414,11414],\"mapped\",[11415]],[[11415,11415],\"valid\"],[[11416,11416],\"mapped\",[11417]],[[11417,11417],\"valid\"],[[11418,11418],\"mapped\",[11419]],[[11419,11419],\"valid\"],[[11420,11420],\"mapped\",[11421]],[[11421,11421],\"valid\"],[[11422,11422],\"mapped\",[11423]],[[11423,11423],\"valid\"],[[11424,11424],\"mapped\",[11425]],[[11425,11425],\"valid\"],[[11426,11426],\"mapped\",[11427]],[[11427,11427],\"valid\"],[[11428,11428],\"mapped\",[11429]],[[11429,11429],\"valid\"],[[11430,11430],\"mapped\",[11431]],[[11431,11431],\"valid\"],[[11432,11432],\"mapped\",[11433]],[[11433,11433],\"valid\"],[[11434,11434],\"mapped\",[11435]],[[11435,11435],\"valid\"],[[11436,11436],\"mapped\",[11437]],[[11437,11437],\"valid\"],[[11438,11438],\"mapped\",[11439]],[[11439,11439],\"valid\"],[[11440,11440],\"mapped\",[11441]],[[11441,11441],\"valid\"],[[11442,11442],\"mapped\",[11443]],[[11443,11443],\"valid\"],[[11444,11444],\"mapped\",[11445]],[[11445,11445],\"valid\"],[[11446,11446],\"mapped\",[11447]],[[11447,11447],\"valid\"],[[11448,11448],\"mapped\",[11449]],[[11449,11449],\"valid\"],[[11450,11450],\"mapped\",[11451]],[[11451,11451],\"valid\"],[[11452,11452],\"mapped\",[11453]],[[11453,11453],\"valid\"],[[11454,11454],\"mapped\",[11455]],[[11455,11455],\"valid\"],[[11456,11456],\"mapped\",[11457]],[[11457,11457],\"valid\"],[[11458,11458],\"mapped\",[11459]],[[11459,11459],\"valid\"],[[11460,11460],\"mapped\",[11461]],[[11461,11461],\"valid\"],[[11462,11462],\"mapped\",[11463]],[[11463,11463],\"valid\"],[[11464,11464],\"mapped\",[11465]],[[11465,11465],\"valid\"],[[11466,11466],\"mapped\",[11467]],[[11467,11467],\"valid\"],[[11468,11468],\"mapped\",[11469]],[[11469,11469],\"valid\"],[[11470,11470],\"mapped\",[11471]],[[11471,11471],\"valid\"],[[11472,11472],\"mapped\",[11473]],[[11473,11473],\"valid\"],[[11474,11474],\"mapped\",[11475]],[[11475,11475],\"valid\"],[[11476,11476],\"mapped\",[11477]],[[11477,11477],\"valid\"],[[11478,11478],\"mapped\",[11479]],[[11479,11479],\"valid\"],[[11480,11480],\"mapped\",[11481]],[[11481,11481],\"valid\"],[[11482,11482],\"mapped\",[11483]],[[11483,11483],\"valid\"],[[11484,11484],\"mapped\",[11485]],[[11485,11485],\"valid\"],[[11486,11486],\"mapped\",[11487]],[[11487,11487],\"valid\"],[[11488,11488],\"mapped\",[11489]],[[11489,11489],\"valid\"],[[11490,11490],\"mapped\",[11491]],[[11491,11492],\"valid\"],[[11493,11498],\"valid\",[],\"NV8\"],[[11499,11499],\"mapped\",[11500]],[[11500,11500],\"valid\"],[[11501,11501],\"mapped\",[11502]],[[11502,11505],\"valid\"],[[11506,11506],\"mapped\",[11507]],[[11507,11507],\"valid\"],[[11508,11512],\"disallowed\"],[[11513,11519],\"valid\",[],\"NV8\"],[[11520,11557],\"valid\"],[[11558,11558],\"disallowed\"],[[11559,11559],\"valid\"],[[11560,11564],\"disallowed\"],[[11565,11565],\"valid\"],[[11566,11567],\"disallowed\"],[[11568,11621],\"valid\"],[[11622,11623],\"valid\"],[[11624,11630],\"disallowed\"],[[11631,11631],\"mapped\",[11617]],[[11632,11632],\"valid\",[],\"NV8\"],[[11633,11646],\"disallowed\"],[[11647,11647],\"valid\"],[[11648,11670],\"valid\"],[[11671,11679],\"disallowed\"],[[11680,11686],\"valid\"],[[11687,11687],\"disallowed\"],[[11688,11694],\"valid\"],[[11695,11695],\"disallowed\"],[[11696,11702],\"valid\"],[[11703,11703],\"disallowed\"],[[11704,11710],\"valid\"],[[11711,11711],\"disallowed\"],[[11712,11718],\"valid\"],[[11719,11719],\"disallowed\"],[[11720,11726],\"valid\"],[[11727,11727],\"disallowed\"],[[11728,11734],\"valid\"],[[11735,11735],\"disallowed\"],[[11736,11742],\"valid\"],[[11743,11743],\"disallowed\"],[[11744,11775],\"valid\"],[[11776,11799],\"valid\",[],\"NV8\"],[[11800,11803],\"valid\",[],\"NV8\"],[[11804,11805],\"valid\",[],\"NV8\"],[[11806,11822],\"valid\",[],\"NV8\"],[[11823,11823],\"valid\"],[[11824,11824],\"valid\",[],\"NV8\"],[[11825,11825],\"valid\",[],\"NV8\"],[[11826,11835],\"valid\",[],\"NV8\"],[[11836,11842],\"valid\",[],\"NV8\"],[[11843,11903],\"disallowed\"],[[11904,11929],\"valid\",[],\"NV8\"],[[11930,11930],\"disallowed\"],[[11931,11934],\"valid\",[],\"NV8\"],[[11935,11935],\"mapped\",[27597]],[[11936,12018],\"valid\",[],\"NV8\"],[[12019,12019],\"mapped\",[40863]],[[12020,12031],\"disallowed\"],[[12032,12032],\"mapped\",[19968]],[[12033,12033],\"mapped\",[20008]],[[12034,12034],\"mapped\",[20022]],[[12035,12035],\"mapped\",[20031]],[[12036,12036],\"mapped\",[20057]],[[12037,12037],\"mapped\",[20101]],[[12038,12038],\"mapped\",[20108]],[[12039,12039],\"mapped\",[20128]],[[12040,12040],\"mapped\",[20154]],[[12041,12041],\"mapped\",[20799]],[[12042,12042],\"mapped\",[20837]],[[12043,12043],\"mapped\",[20843]],[[12044,12044],\"mapped\",[20866]],[[12045,12045],\"mapped\",[20886]],[[12046,12046],\"mapped\",[20907]],[[12047,12047],\"mapped\",[20960]],[[12048,12048],\"mapped\",[20981]],[[12049,12049],\"mapped\",[20992]],[[12050,12050],\"mapped\",[21147]],[[12051,12051],\"mapped\",[21241]],[[12052,12052],\"mapped\",[21269]],[[12053,12053],\"mapped\",[21274]],[[12054,12054],\"mapped\",[21304]],[[12055,12055],\"mapped\",[21313]],[[12056,12056],\"mapped\",[21340]],[[12057,12057],\"mapped\",[21353]],[[12058,12058],\"mapped\",[21378]],[[12059,12059],\"mapped\",[21430]],[[12060,12060],\"mapped\",[21448]],[[12061,12061],\"mapped\",[21475]],[[12062,12062],\"mapped\",[22231]],[[12063,12063],\"mapped\",[22303]],[[12064,12064],\"mapped\",[22763]],[[12065,12065],\"mapped\",[22786]],[[12066,12066],\"mapped\",[22794]],[[12067,12067],\"mapped\",[22805]],[[12068,12068],\"mapped\",[22823]],[[12069,12069],\"mapped\",[22899]],[[12070,12070],\"mapped\",[23376]],[[12071,12071],\"mapped\",[23424]],[[12072,12072],\"mapped\",[23544]],[[12073,12073],\"mapped\",[23567]],[[12074,12074],\"mapped\",[23586]],[[12075,12075],\"mapped\",[23608]],[[12076,12076],\"mapped\",[23662]],[[12077,12077],\"mapped\",[23665]],[[12078,12078],\"mapped\",[24027]],[[12079,12079],\"mapped\",[24037]],[[12080,12080],\"mapped\",[24049]],[[12081,12081],\"mapped\",[24062]],[[12082,12082],\"mapped\",[24178]],[[12083,12083],\"mapped\",[24186]],[[12084,12084],\"mapped\",[24191]],[[12085,12085],\"mapped\",[24308]],[[12086,12086],\"mapped\",[24318]],[[12087,12087],\"mapped\",[24331]],[[12088,12088],\"mapped\",[24339]],[[12089,12089],\"mapped\",[24400]],[[12090,12090],\"mapped\",[24417]],[[12091,12091],\"mapped\",[24435]],[[12092,12092],\"mapped\",[24515]],[[12093,12093],\"mapped\",[25096]],[[12094,12094],\"mapped\",[25142]],[[12095,12095],\"mapped\",[25163]],[[12096,12096],\"mapped\",[25903]],[[12097,12097],\"mapped\",[25908]],[[12098,12098],\"mapped\",[25991]],[[12099,12099],\"mapped\",[26007]],[[12100,12100],\"mapped\",[26020]],[[12101,12101],\"mapped\",[26041]],[[12102,12102],\"mapped\",[26080]],[[12103,12103],\"mapped\",[26085]],[[12104,12104],\"mapped\",[26352]],[[12105,12105],\"mapped\",[26376]],[[12106,12106],\"mapped\",[26408]],[[12107,12107],\"mapped\",[27424]],[[12108,12108],\"mapped\",[27490]],[[12109,12109],\"mapped\",[27513]],[[12110,12110],\"mapped\",[27571]],[[12111,12111],\"mapped\",[27595]],[[12112,12112],\"mapped\",[27604]],[[12113,12113],\"mapped\",[27611]],[[12114,12114],\"mapped\",[27663]],[[12115,12115],\"mapped\",[27668]],[[12116,12116],\"mapped\",[27700]],[[12117,12117],\"mapped\",[28779]],[[12118,12118],\"mapped\",[29226]],[[12119,12119],\"mapped\",[29238]],[[12120,12120],\"mapped\",[29243]],[[12121,12121],\"mapped\",[29247]],[[12122,12122],\"mapped\",[29255]],[[12123,12123],\"mapped\",[29273]],[[12124,12124],\"mapped\",[29275]],[[12125,12125],\"mapped\",[29356]],[[12126,12126],\"mapped\",[29572]],[[12127,12127],\"mapped\",[29577]],[[12128,12128],\"mapped\",[29916]],[[12129,12129],\"mapped\",[29926]],[[12130,12130],\"mapped\",[29976]],[[12131,12131],\"mapped\",[29983]],[[12132,12132],\"mapped\",[29992]],[[12133,12133],\"mapped\",[30000]],[[12134,12134],\"mapped\",[30091]],[[12135,12135],\"mapped\",[30098]],[[12136,12136],\"mapped\",[30326]],[[12137,12137],\"mapped\",[30333]],[[12138,12138],\"mapped\",[30382]],[[12139,12139],\"mapped\",[30399]],[[12140,12140],\"mapped\",[30446]],[[12141,12141],\"mapped\",[30683]],[[12142,12142],\"mapped\",[30690]],[[12143,12143],\"mapped\",[30707]],[[12144,12144],\"mapped\",[31034]],[[12145,12145],\"mapped\",[31160]],[[12146,12146],\"mapped\",[31166]],[[12147,12147],\"mapped\",[31348]],[[12148,12148],\"mapped\",[31435]],[[12149,12149],\"mapped\",[31481]],[[12150,12150],\"mapped\",[31859]],[[12151,12151],\"mapped\",[31992]],[[12152,12152],\"mapped\",[32566]],[[12153,12153],\"mapped\",[32593]],[[12154,12154],\"mapped\",[32650]],[[12155,12155],\"mapped\",[32701]],[[12156,12156],\"mapped\",[32769]],[[12157,12157],\"mapped\",[32780]],[[12158,12158],\"mapped\",[32786]],[[12159,12159],\"mapped\",[32819]],[[12160,12160],\"mapped\",[32895]],[[12161,12161],\"mapped\",[32905]],[[12162,12162],\"mapped\",[33251]],[[12163,12163],\"mapped\",[33258]],[[12164,12164],\"mapped\",[33267]],[[12165,12165],\"mapped\",[33276]],[[12166,12166],\"mapped\",[33292]],[[12167,12167],\"mapped\",[33307]],[[12168,12168],\"mapped\",[33311]],[[12169,12169],\"mapped\",[33390]],[[12170,12170],\"mapped\",[33394]],[[12171,12171],\"mapped\",[33400]],[[12172,12172],\"mapped\",[34381]],[[12173,12173],\"mapped\",[34411]],[[12174,12174],\"mapped\",[34880]],[[12175,12175],\"mapped\",[34892]],[[12176,12176],\"mapped\",[34915]],[[12177,12177],\"mapped\",[35198]],[[12178,12178],\"mapped\",[35211]],[[12179,12179],\"mapped\",[35282]],[[12180,12180],\"mapped\",[35328]],[[12181,12181],\"mapped\",[35895]],[[12182,12182],\"mapped\",[35910]],[[12183,12183],\"mapped\",[35925]],[[12184,12184],\"mapped\",[35960]],[[12185,12185],\"mapped\",[35997]],[[12186,12186],\"mapped\",[36196]],[[12187,12187],\"mapped\",[36208]],[[12188,12188],\"mapped\",[36275]],[[12189,12189],\"mapped\",[36523]],[[12190,12190],\"mapped\",[36554]],[[12191,12191],\"mapped\",[36763]],[[12192,12192],\"mapped\",[36784]],[[12193,12193],\"mapped\",[36789]],[[12194,12194],\"mapped\",[37009]],[[12195,12195],\"mapped\",[37193]],[[12196,12196],\"mapped\",[37318]],[[12197,12197],\"mapped\",[37324]],[[12198,12198],\"mapped\",[37329]],[[12199,12199],\"mapped\",[38263]],[[12200,12200],\"mapped\",[38272]],[[12201,12201],\"mapped\",[38428]],[[12202,12202],\"mapped\",[38582]],[[12203,12203],\"mapped\",[38585]],[[12204,12204],\"mapped\",[38632]],[[12205,12205],\"mapped\",[38737]],[[12206,12206],\"mapped\",[38750]],[[12207,12207],\"mapped\",[38754]],[[12208,12208],\"mapped\",[38761]],[[12209,12209],\"mapped\",[38859]],[[12210,12210],\"mapped\",[38893]],[[12211,12211],\"mapped\",[38899]],[[12212,12212],\"mapped\",[38913]],[[12213,12213],\"mapped\",[39080]],[[12214,12214],\"mapped\",[39131]],[[12215,12215],\"mapped\",[39135]],[[12216,12216],\"mapped\",[39318]],[[12217,12217],\"mapped\",[39321]],[[12218,12218],\"mapped\",[39340]],[[12219,12219],\"mapped\",[39592]],[[12220,12220],\"mapped\",[39640]],[[12221,12221],\"mapped\",[39647]],[[12222,12222],\"mapped\",[39717]],[[12223,12223],\"mapped\",[39727]],[[12224,12224],\"mapped\",[39730]],[[12225,12225],\"mapped\",[39740]],[[12226,12226],\"mapped\",[39770]],[[12227,12227],\"mapped\",[40165]],[[12228,12228],\"mapped\",[40565]],[[12229,12229],\"mapped\",[40575]],[[12230,12230],\"mapped\",[40613]],[[12231,12231],\"mapped\",[40635]],[[12232,12232],\"mapped\",[40643]],[[12233,12233],\"mapped\",[40653]],[[12234,12234],\"mapped\",[40657]],[[12235,12235],\"mapped\",[40697]],[[12236,12236],\"mapped\",[40701]],[[12237,12237],\"mapped\",[40718]],[[12238,12238],\"mapped\",[40723]],[[12239,12239],\"mapped\",[40736]],[[12240,12240],\"mapped\",[40763]],[[12241,12241],\"mapped\",[40778]],[[12242,12242],\"mapped\",[40786]],[[12243,12243],\"mapped\",[40845]],[[12244,12244],\"mapped\",[40860]],[[12245,12245],\"mapped\",[40864]],[[12246,12271],\"disallowed\"],[[12272,12283],\"disallowed\"],[[12284,12287],\"disallowed\"],[[12288,12288],\"disallowed_STD3_mapped\",[32]],[[12289,12289],\"valid\",[],\"NV8\"],[[12290,12290],\"mapped\",[46]],[[12291,12292],\"valid\",[],\"NV8\"],[[12293,12295],\"valid\"],[[12296,12329],\"valid\",[],\"NV8\"],[[12330,12333],\"valid\"],[[12334,12341],\"valid\",[],\"NV8\"],[[12342,12342],\"mapped\",[12306]],[[12343,12343],\"valid\",[],\"NV8\"],[[12344,12344],\"mapped\",[21313]],[[12345,12345],\"mapped\",[21316]],[[12346,12346],\"mapped\",[21317]],[[12347,12347],\"valid\",[],\"NV8\"],[[12348,12348],\"valid\"],[[12349,12349],\"valid\",[],\"NV8\"],[[12350,12350],\"valid\",[],\"NV8\"],[[12351,12351],\"valid\",[],\"NV8\"],[[12352,12352],\"disallowed\"],[[12353,12436],\"valid\"],[[12437,12438],\"valid\"],[[12439,12440],\"disallowed\"],[[12441,12442],\"valid\"],[[12443,12443],\"disallowed_STD3_mapped\",[32,12441]],[[12444,12444],\"disallowed_STD3_mapped\",[32,12442]],[[12445,12446],\"valid\"],[[12447,12447],\"mapped\",[12424,12426]],[[12448,12448],\"valid\",[],\"NV8\"],[[12449,12542],\"valid\"],[[12543,12543],\"mapped\",[12467,12488]],[[12544,12548],\"disallowed\"],[[12549,12588],\"valid\"],[[12589,12589],\"valid\"],[[12590,12592],\"disallowed\"],[[12593,12593],\"mapped\",[4352]],[[12594,12594],\"mapped\",[4353]],[[12595,12595],\"mapped\",[4522]],[[12596,12596],\"mapped\",[4354]],[[12597,12597],\"mapped\",[4524]],[[12598,12598],\"mapped\",[4525]],[[12599,12599],\"mapped\",[4355]],[[12600,12600],\"mapped\",[4356]],[[12601,12601],\"mapped\",[4357]],[[12602,12602],\"mapped\",[4528]],[[12603,12603],\"mapped\",[4529]],[[12604,12604],\"mapped\",[4530]],[[12605,12605],\"mapped\",[4531]],[[12606,12606],\"mapped\",[4532]],[[12607,12607],\"mapped\",[4533]],[[12608,12608],\"mapped\",[4378]],[[12609,12609],\"mapped\",[4358]],[[12610,12610],\"mapped\",[4359]],[[12611,12611],\"mapped\",[4360]],[[12612,12612],\"mapped\",[4385]],[[12613,12613],\"mapped\",[4361]],[[12614,12614],\"mapped\",[4362]],[[12615,12615],\"mapped\",[4363]],[[12616,12616],\"mapped\",[4364]],[[12617,12617],\"mapped\",[4365]],[[12618,12618],\"mapped\",[4366]],[[12619,12619],\"mapped\",[4367]],[[12620,12620],\"mapped\",[4368]],[[12621,12621],\"mapped\",[4369]],[[12622,12622],\"mapped\",[4370]],[[12623,12623],\"mapped\",[4449]],[[12624,12624],\"mapped\",[4450]],[[12625,12625],\"mapped\",[4451]],[[12626,12626],\"mapped\",[4452]],[[12627,12627],\"mapped\",[4453]],[[12628,12628],\"mapped\",[4454]],[[12629,12629],\"mapped\",[4455]],[[12630,12630],\"mapped\",[4456]],[[12631,12631],\"mapped\",[4457]],[[12632,12632],\"mapped\",[4458]],[[12633,12633],\"mapped\",[4459]],[[12634,12634],\"mapped\",[4460]],[[12635,12635],\"mapped\",[4461]],[[12636,12636],\"mapped\",[4462]],[[12637,12637],\"mapped\",[4463]],[[12638,12638],\"mapped\",[4464]],[[12639,12639],\"mapped\",[4465]],[[12640,12640],\"mapped\",[4466]],[[12641,12641],\"mapped\",[4467]],[[12642,12642],\"mapped\",[4468]],[[12643,12643],\"mapped\",[4469]],[[12644,12644],\"disallowed\"],[[12645,12645],\"mapped\",[4372]],[[12646,12646],\"mapped\",[4373]],[[12647,12647],\"mapped\",[4551]],[[12648,12648],\"mapped\",[4552]],[[12649,12649],\"mapped\",[4556]],[[12650,12650],\"mapped\",[4558]],[[12651,12651],\"mapped\",[4563]],[[12652,12652],\"mapped\",[4567]],[[12653,12653],\"mapped\",[4569]],[[12654,12654],\"mapped\",[4380]],[[12655,12655],\"mapped\",[4573]],[[12656,12656],\"mapped\",[4575]],[[12657,12657],\"mapped\",[4381]],[[12658,12658],\"mapped\",[4382]],[[12659,12659],\"mapped\",[4384]],[[12660,12660],\"mapped\",[4386]],[[12661,12661],\"mapped\",[4387]],[[12662,12662],\"mapped\",[4391]],[[12663,12663],\"mapped\",[4393]],[[12664,12664],\"mapped\",[4395]],[[12665,12665],\"mapped\",[4396]],[[12666,12666],\"mapped\",[4397]],[[12667,12667],\"mapped\",[4398]],[[12668,12668],\"mapped\",[4399]],[[12669,12669],\"mapped\",[4402]],[[12670,12670],\"mapped\",[4406]],[[12671,12671],\"mapped\",[4416]],[[12672,12672],\"mapped\",[4423]],[[12673,12673],\"mapped\",[4428]],[[12674,12674],\"mapped\",[4593]],[[12675,12675],\"mapped\",[4594]],[[12676,12676],\"mapped\",[4439]],[[12677,12677],\"mapped\",[4440]],[[12678,12678],\"mapped\",[4441]],[[12679,12679],\"mapped\",[4484]],[[12680,12680],\"mapped\",[4485]],[[12681,12681],\"mapped\",[4488]],[[12682,12682],\"mapped\",[4497]],[[12683,12683],\"mapped\",[4498]],[[12684,12684],\"mapped\",[4500]],[[12685,12685],\"mapped\",[4510]],[[12686,12686],\"mapped\",[4513]],[[12687,12687],\"disallowed\"],[[12688,12689],\"valid\",[],\"NV8\"],[[12690,12690],\"mapped\",[19968]],[[12691,12691],\"mapped\",[20108]],[[12692,12692],\"mapped\",[19977]],[[12693,12693],\"mapped\",[22235]],[[12694,12694],\"mapped\",[19978]],[[12695,12695],\"mapped\",[20013]],[[12696,12696],\"mapped\",[19979]],[[12697,12697],\"mapped\",[30002]],[[12698,12698],\"mapped\",[20057]],[[12699,12699],\"mapped\",[19993]],[[12700,12700],\"mapped\",[19969]],[[12701,12701],\"mapped\",[22825]],[[12702,12702],\"mapped\",[22320]],[[12703,12703],\"mapped\",[20154]],[[12704,12727],\"valid\"],[[12728,12730],\"valid\"],[[12731,12735],\"disallowed\"],[[12736,12751],\"valid\",[],\"NV8\"],[[12752,12771],\"valid\",[],\"NV8\"],[[12772,12783],\"disallowed\"],[[12784,12799],\"valid\"],[[12800,12800],\"disallowed_STD3_mapped\",[40,4352,41]],[[12801,12801],\"disallowed_STD3_mapped\",[40,4354,41]],[[12802,12802],\"disallowed_STD3_mapped\",[40,4355,41]],[[12803,12803],\"disallowed_STD3_mapped\",[40,4357,41]],[[12804,12804],\"disallowed_STD3_mapped\",[40,4358,41]],[[12805,12805],\"disallowed_STD3_mapped\",[40,4359,41]],[[12806,12806],\"disallowed_STD3_mapped\",[40,4361,41]],[[12807,12807],\"disallowed_STD3_mapped\",[40,4363,41]],[[12808,12808],\"disallowed_STD3_mapped\",[40,4364,41]],[[12809,12809],\"disallowed_STD3_mapped\",[40,4366,41]],[[12810,12810],\"disallowed_STD3_mapped\",[40,4367,41]],[[12811,12811],\"disallowed_STD3_mapped\",[40,4368,41]],[[12812,12812],\"disallowed_STD3_mapped\",[40,4369,41]],[[12813,12813],\"disallowed_STD3_mapped\",[40,4370,41]],[[12814,12814],\"disallowed_STD3_mapped\",[40,44032,41]],[[12815,12815],\"disallowed_STD3_mapped\",[40,45208,41]],[[12816,12816],\"disallowed_STD3_mapped\",[40,45796,41]],[[12817,12817],\"disallowed_STD3_mapped\",[40,46972,41]],[[12818,12818],\"disallowed_STD3_mapped\",[40,47560,41]],[[12819,12819],\"disallowed_STD3_mapped\",[40,48148,41]],[[12820,12820],\"disallowed_STD3_mapped\",[40,49324,41]],[[12821,12821],\"disallowed_STD3_mapped\",[40,50500,41]],[[12822,12822],\"disallowed_STD3_mapped\",[40,51088,41]],[[12823,12823],\"disallowed_STD3_mapped\",[40,52264,41]],[[12824,12824],\"disallowed_STD3_mapped\",[40,52852,41]],[[12825,12825],\"disallowed_STD3_mapped\",[40,53440,41]],[[12826,12826],\"disallowed_STD3_mapped\",[40,54028,41]],[[12827,12827],\"disallowed_STD3_mapped\",[40,54616,41]],[[12828,12828],\"disallowed_STD3_mapped\",[40,51452,41]],[[12829,12829],\"disallowed_STD3_mapped\",[40,50724,51204,41]],[[12830,12830],\"disallowed_STD3_mapped\",[40,50724,54980,41]],[[12831,12831],\"disallowed\"],[[12832,12832],\"disallowed_STD3_mapped\",[40,19968,41]],[[12833,12833],\"disallowed_STD3_mapped\",[40,20108,41]],[[12834,12834],\"disallowed_STD3_mapped\",[40,19977,41]],[[12835,12835],\"disallowed_STD3_mapped\",[40,22235,41]],[[12836,12836],\"disallowed_STD3_mapped\",[40,20116,41]],[[12837,12837],\"disallowed_STD3_mapped\",[40,20845,41]],[[12838,12838],\"disallowed_STD3_mapped\",[40,19971,41]],[[12839,12839],\"disallowed_STD3_mapped\",[40,20843,41]],[[12840,12840],\"disallowed_STD3_mapped\",[40,20061,41]],[[12841,12841],\"disallowed_STD3_mapped\",[40,21313,41]],[[12842,12842],\"disallowed_STD3_mapped\",[40,26376,41]],[[12843,12843],\"disallowed_STD3_mapped\",[40,28779,41]],[[12844,12844],\"disallowed_STD3_mapped\",[40,27700,41]],[[12845,12845],\"disallowed_STD3_mapped\",[40,26408,41]],[[12846,12846],\"disallowed_STD3_mapped\",[40,37329,41]],[[12847,12847],\"disallowed_STD3_mapped\",[40,22303,41]],[[12848,12848],\"disallowed_STD3_mapped\",[40,26085,41]],[[12849,12849],\"disallowed_STD3_mapped\",[40,26666,41]],[[12850,12850],\"disallowed_STD3_mapped\",[40,26377,41]],[[12851,12851],\"disallowed_STD3_mapped\",[40,31038,41]],[[12852,12852],\"disallowed_STD3_mapped\",[40,21517,41]],[[12853,12853],\"disallowed_STD3_mapped\",[40,29305,41]],[[12854,12854],\"disallowed_STD3_mapped\",[40,36001,41]],[[12855,12855],\"disallowed_STD3_mapped\",[40,31069,41]],[[12856,12856],\"disallowed_STD3_mapped\",[40,21172,41]],[[12857,12857],\"disallowed_STD3_mapped\",[40,20195,41]],[[12858,12858],\"disallowed_STD3_mapped\",[40,21628,41]],[[12859,12859],\"disallowed_STD3_mapped\",[40,23398,41]],[[12860,12860],\"disallowed_STD3_mapped\",[40,30435,41]],[[12861,12861],\"disallowed_STD3_mapped\",[40,20225,41]],[[12862,12862],\"disallowed_STD3_mapped\",[40,36039,41]],[[12863,12863],\"disallowed_STD3_mapped\",[40,21332,41]],[[12864,12864],\"disallowed_STD3_mapped\",[40,31085,41]],[[12865,12865],\"disallowed_STD3_mapped\",[40,20241,41]],[[12866,12866],\"disallowed_STD3_mapped\",[40,33258,41]],[[12867,12867],\"disallowed_STD3_mapped\",[40,33267,41]],[[12868,12868],\"mapped\",[21839]],[[12869,12869],\"mapped\",[24188]],[[12870,12870],\"mapped\",[25991]],[[12871,12871],\"mapped\",[31631]],[[12872,12879],\"valid\",[],\"NV8\"],[[12880,12880],\"mapped\",[112,116,101]],[[12881,12881],\"mapped\",[50,49]],[[12882,12882],\"mapped\",[50,50]],[[12883,12883],\"mapped\",[50,51]],[[12884,12884],\"mapped\",[50,52]],[[12885,12885],\"mapped\",[50,53]],[[12886,12886],\"mapped\",[50,54]],[[12887,12887],\"mapped\",[50,55]],[[12888,12888],\"mapped\",[50,56]],[[12889,12889],\"mapped\",[50,57]],[[12890,12890],\"mapped\",[51,48]],[[12891,12891],\"mapped\",[51,49]],[[12892,12892],\"mapped\",[51,50]],[[12893,12893],\"mapped\",[51,51]],[[12894,12894],\"mapped\",[51,52]],[[12895,12895],\"mapped\",[51,53]],[[12896,12896],\"mapped\",[4352]],[[12897,12897],\"mapped\",[4354]],[[12898,12898],\"mapped\",[4355]],[[12899,12899],\"mapped\",[4357]],[[12900,12900],\"mapped\",[4358]],[[12901,12901],\"mapped\",[4359]],[[12902,12902],\"mapped\",[4361]],[[12903,12903],\"mapped\",[4363]],[[12904,12904],\"mapped\",[4364]],[[12905,12905],\"mapped\",[4366]],[[12906,12906],\"mapped\",[4367]],[[12907,12907],\"mapped\",[4368]],[[12908,12908],\"mapped\",[4369]],[[12909,12909],\"mapped\",[4370]],[[12910,12910],\"mapped\",[44032]],[[12911,12911],\"mapped\",[45208]],[[12912,12912],\"mapped\",[45796]],[[12913,12913],\"mapped\",[46972]],[[12914,12914],\"mapped\",[47560]],[[12915,12915],\"mapped\",[48148]],[[12916,12916],\"mapped\",[49324]],[[12917,12917],\"mapped\",[50500]],[[12918,12918],\"mapped\",[51088]],[[12919,12919],\"mapped\",[52264]],[[12920,12920],\"mapped\",[52852]],[[12921,12921],\"mapped\",[53440]],[[12922,12922],\"mapped\",[54028]],[[12923,12923],\"mapped\",[54616]],[[12924,12924],\"mapped\",[52280,44256]],[[12925,12925],\"mapped\",[51452,51032]],[[12926,12926],\"mapped\",[50864]],[[12927,12927],\"valid\",[],\"NV8\"],[[12928,12928],\"mapped\",[19968]],[[12929,12929],\"mapped\",[20108]],[[12930,12930],\"mapped\",[19977]],[[12931,12931],\"mapped\",[22235]],[[12932,12932],\"mapped\",[20116]],[[12933,12933],\"mapped\",[20845]],[[12934,12934],\"mapped\",[19971]],[[12935,12935],\"mapped\",[20843]],[[12936,12936],\"mapped\",[20061]],[[12937,12937],\"mapped\",[21313]],[[12938,12938],\"mapped\",[26376]],[[12939,12939],\"mapped\",[28779]],[[12940,12940],\"mapped\",[27700]],[[12941,12941],\"mapped\",[26408]],[[12942,12942],\"mapped\",[37329]],[[12943,12943],\"mapped\",[22303]],[[12944,12944],\"mapped\",[26085]],[[12945,12945],\"mapped\",[26666]],[[12946,12946],\"mapped\",[26377]],[[12947,12947],\"mapped\",[31038]],[[12948,12948],\"mapped\",[21517]],[[12949,12949],\"mapped\",[29305]],[[12950,12950],\"mapped\",[36001]],[[12951,12951],\"mapped\",[31069]],[[12952,12952],\"mapped\",[21172]],[[12953,12953],\"mapped\",[31192]],[[12954,12954],\"mapped\",[30007]],[[12955,12955],\"mapped\",[22899]],[[12956,12956],\"mapped\",[36969]],[[12957,12957],\"mapped\",[20778]],[[12958,12958],\"mapped\",[21360]],[[12959,12959],\"mapped\",[27880]],[[12960,12960],\"mapped\",[38917]],[[12961,12961],\"mapped\",[20241]],[[12962,12962],\"mapped\",[20889]],[[12963,12963],\"mapped\",[27491]],[[12964,12964],\"mapped\",[19978]],[[12965,12965],\"mapped\",[20013]],[[12966,12966],\"mapped\",[19979]],[[12967,12967],\"mapped\",[24038]],[[12968,12968],\"mapped\",[21491]],[[12969,12969],\"mapped\",[21307]],[[12970,12970],\"mapped\",[23447]],[[12971,12971],\"mapped\",[23398]],[[12972,12972],\"mapped\",[30435]],[[12973,12973],\"mapped\",[20225]],[[12974,12974],\"mapped\",[36039]],[[12975,12975],\"mapped\",[21332]],[[12976,12976],\"mapped\",[22812]],[[12977,12977],\"mapped\",[51,54]],[[12978,12978],\"mapped\",[51,55]],[[12979,12979],\"mapped\",[51,56]],[[12980,12980],\"mapped\",[51,57]],[[12981,12981],\"mapped\",[52,48]],[[12982,12982],\"mapped\",[52,49]],[[12983,12983],\"mapped\",[52,50]],[[12984,12984],\"mapped\",[52,51]],[[12985,12985],\"mapped\",[52,52]],[[12986,12986],\"mapped\",[52,53]],[[12987,12987],\"mapped\",[52,54]],[[12988,12988],\"mapped\",[52,55]],[[12989,12989],\"mapped\",[52,56]],[[12990,12990],\"mapped\",[52,57]],[[12991,12991],\"mapped\",[53,48]],[[12992,12992],\"mapped\",[49,26376]],[[12993,12993],\"mapped\",[50,26376]],[[12994,12994],\"mapped\",[51,26376]],[[12995,12995],\"mapped\",[52,26376]],[[12996,12996],\"mapped\",[53,26376]],[[12997,12997],\"mapped\",[54,26376]],[[12998,12998],\"mapped\",[55,26376]],[[12999,12999],\"mapped\",[56,26376]],[[13000,13000],\"mapped\",[57,26376]],[[13001,13001],\"mapped\",[49,48,26376]],[[13002,13002],\"mapped\",[49,49,26376]],[[13003,13003],\"mapped\",[49,50,26376]],[[13004,13004],\"mapped\",[104,103]],[[13005,13005],\"mapped\",[101,114,103]],[[13006,13006],\"mapped\",[101,118]],[[13007,13007],\"mapped\",[108,116,100]],[[13008,13008],\"mapped\",[12450]],[[13009,13009],\"mapped\",[12452]],[[13010,13010],\"mapped\",[12454]],[[13011,13011],\"mapped\",[12456]],[[13012,13012],\"mapped\",[12458]],[[13013,13013],\"mapped\",[12459]],[[13014,13014],\"mapped\",[12461]],[[13015,13015],\"mapped\",[12463]],[[13016,13016],\"mapped\",[12465]],[[13017,13017],\"mapped\",[12467]],[[13018,13018],\"mapped\",[12469]],[[13019,13019],\"mapped\",[12471]],[[13020,13020],\"mapped\",[12473]],[[13021,13021],\"mapped\",[12475]],[[13022,13022],\"mapped\",[12477]],[[13023,13023],\"mapped\",[12479]],[[13024,13024],\"mapped\",[12481]],[[13025,13025],\"mapped\",[12484]],[[13026,13026],\"mapped\",[12486]],[[13027,13027],\"mapped\",[12488]],[[13028,13028],\"mapped\",[12490]],[[13029,13029],\"mapped\",[12491]],[[13030,13030],\"mapped\",[12492]],[[13031,13031],\"mapped\",[12493]],[[13032,13032],\"mapped\",[12494]],[[13033,13033],\"mapped\",[12495]],[[13034,13034],\"mapped\",[12498]],[[13035,13035],\"mapped\",[12501]],[[13036,13036],\"mapped\",[12504]],[[13037,13037],\"mapped\",[12507]],[[13038,13038],\"mapped\",[12510]],[[13039,13039],\"mapped\",[12511]],[[13040,13040],\"mapped\",[12512]],[[13041,13041],\"mapped\",[12513]],[[13042,13042],\"mapped\",[12514]],[[13043,13043],\"mapped\",[12516]],[[13044,13044],\"mapped\",[12518]],[[13045,13045],\"mapped\",[12520]],[[13046,13046],\"mapped\",[12521]],[[13047,13047],\"mapped\",[12522]],[[13048,13048],\"mapped\",[12523]],[[13049,13049],\"mapped\",[12524]],[[13050,13050],\"mapped\",[12525]],[[13051,13051],\"mapped\",[12527]],[[13052,13052],\"mapped\",[12528]],[[13053,13053],\"mapped\",[12529]],[[13054,13054],\"mapped\",[12530]],[[13055,13055],\"disallowed\"],[[13056,13056],\"mapped\",[12450,12497,12540,12488]],[[13057,13057],\"mapped\",[12450,12523,12501,12449]],[[13058,13058],\"mapped\",[12450,12531,12506,12450]],[[13059,13059],\"mapped\",[12450,12540,12523]],[[13060,13060],\"mapped\",[12452,12491,12531,12464]],[[13061,13061],\"mapped\",[12452,12531,12481]],[[13062,13062],\"mapped\",[12454,12457,12531]],[[13063,13063],\"mapped\",[12456,12473,12463,12540,12489]],[[13064,13064],\"mapped\",[12456,12540,12459,12540]],[[13065,13065],\"mapped\",[12458,12531,12473]],[[13066,13066],\"mapped\",[12458,12540,12512]],[[13067,13067],\"mapped\",[12459,12452,12522]],[[13068,13068],\"mapped\",[12459,12521,12483,12488]],[[13069,13069],\"mapped\",[12459,12525,12522,12540]],[[13070,13070],\"mapped\",[12460,12525,12531]],[[13071,13071],\"mapped\",[12460,12531,12510]],[[13072,13072],\"mapped\",[12462,12460]],[[13073,13073],\"mapped\",[12462,12491,12540]],[[13074,13074],\"mapped\",[12461,12517,12522,12540]],[[13075,13075],\"mapped\",[12462,12523,12480,12540]],[[13076,13076],\"mapped\",[12461,12525]],[[13077,13077],\"mapped\",[12461,12525,12464,12521,12512]],[[13078,13078],\"mapped\",[12461,12525,12513,12540,12488,12523]],[[13079,13079],\"mapped\",[12461,12525,12527,12483,12488]],[[13080,13080],\"mapped\",[12464,12521,12512]],[[13081,13081],\"mapped\",[12464,12521,12512,12488,12531]],[[13082,13082],\"mapped\",[12463,12523,12476,12452,12525]],[[13083,13083],\"mapped\",[12463,12525,12540,12493]],[[13084,13084],\"mapped\",[12465,12540,12473]],[[13085,13085],\"mapped\",[12467,12523,12490]],[[13086,13086],\"mapped\",[12467,12540,12509]],[[13087,13087],\"mapped\",[12469,12452,12463,12523]],[[13088,13088],\"mapped\",[12469,12531,12481,12540,12512]],[[13089,13089],\"mapped\",[12471,12522,12531,12464]],[[13090,13090],\"mapped\",[12475,12531,12481]],[[13091,13091],\"mapped\",[12475,12531,12488]],[[13092,13092],\"mapped\",[12480,12540,12473]],[[13093,13093],\"mapped\",[12487,12471]],[[13094,13094],\"mapped\",[12489,12523]],[[13095,13095],\"mapped\",[12488,12531]],[[13096,13096],\"mapped\",[12490,12494]],[[13097,13097],\"mapped\",[12494,12483,12488]],[[13098,13098],\"mapped\",[12495,12452,12484]],[[13099,13099],\"mapped\",[12497,12540,12475,12531,12488]],[[13100,13100],\"mapped\",[12497,12540,12484]],[[13101,13101],\"mapped\",[12496,12540,12524,12523]],[[13102,13102],\"mapped\",[12500,12450,12473,12488,12523]],[[13103,13103],\"mapped\",[12500,12463,12523]],[[13104,13104],\"mapped\",[12500,12467]],[[13105,13105],\"mapped\",[12499,12523]],[[13106,13106],\"mapped\",[12501,12449,12521,12483,12489]],[[13107,13107],\"mapped\",[12501,12451,12540,12488]],[[13108,13108],\"mapped\",[12502,12483,12471,12455,12523]],[[13109,13109],\"mapped\",[12501,12521,12531]],[[13110,13110],\"mapped\",[12504,12463,12479,12540,12523]],[[13111,13111],\"mapped\",[12506,12477]],[[13112,13112],\"mapped\",[12506,12491,12498]],[[13113,13113],\"mapped\",[12504,12523,12484]],[[13114,13114],\"mapped\",[12506,12531,12473]],[[13115,13115],\"mapped\",[12506,12540,12472]],[[13116,13116],\"mapped\",[12505,12540,12479]],[[13117,13117],\"mapped\",[12509,12452,12531,12488]],[[13118,13118],\"mapped\",[12508,12523,12488]],[[13119,13119],\"mapped\",[12507,12531]],[[13120,13120],\"mapped\",[12509,12531,12489]],[[13121,13121],\"mapped\",[12507,12540,12523]],[[13122,13122],\"mapped\",[12507,12540,12531]],[[13123,13123],\"mapped\",[12510,12452,12463,12525]],[[13124,13124],\"mapped\",[12510,12452,12523]],[[13125,13125],\"mapped\",[12510,12483,12495]],[[13126,13126],\"mapped\",[12510,12523,12463]],[[13127,13127],\"mapped\",[12510,12531,12471,12519,12531]],[[13128,13128],\"mapped\",[12511,12463,12525,12531]],[[13129,13129],\"mapped\",[12511,12522]],[[13130,13130],\"mapped\",[12511,12522,12496,12540,12523]],[[13131,13131],\"mapped\",[12513,12460]],[[13132,13132],\"mapped\",[12513,12460,12488,12531]],[[13133,13133],\"mapped\",[12513,12540,12488,12523]],[[13134,13134],\"mapped\",[12516,12540,12489]],[[13135,13135],\"mapped\",[12516,12540,12523]],[[13136,13136],\"mapped\",[12518,12450,12531]],[[13137,13137],\"mapped\",[12522,12483,12488,12523]],[[13138,13138],\"mapped\",[12522,12521]],[[13139,13139],\"mapped\",[12523,12500,12540]],[[13140,13140],\"mapped\",[12523,12540,12502,12523]],[[13141,13141],\"mapped\",[12524,12512]],[[13142,13142],\"mapped\",[12524,12531,12488,12466,12531]],[[13143,13143],\"mapped\",[12527,12483,12488]],[[13144,13144],\"mapped\",[48,28857]],[[13145,13145],\"mapped\",[49,28857]],[[13146,13146],\"mapped\",[50,28857]],[[13147,13147],\"mapped\",[51,28857]],[[13148,13148],\"mapped\",[52,28857]],[[13149,13149],\"mapped\",[53,28857]],[[13150,13150],\"mapped\",[54,28857]],[[13151,13151],\"mapped\",[55,28857]],[[13152,13152],\"mapped\",[56,28857]],[[13153,13153],\"mapped\",[57,28857]],[[13154,13154],\"mapped\",[49,48,28857]],[[13155,13155],\"mapped\",[49,49,28857]],[[13156,13156],\"mapped\",[49,50,28857]],[[13157,13157],\"mapped\",[49,51,28857]],[[13158,13158],\"mapped\",[49,52,28857]],[[13159,13159],\"mapped\",[49,53,28857]],[[13160,13160],\"mapped\",[49,54,28857]],[[13161,13161],\"mapped\",[49,55,28857]],[[13162,13162],\"mapped\",[49,56,28857]],[[13163,13163],\"mapped\",[49,57,28857]],[[13164,13164],\"mapped\",[50,48,28857]],[[13165,13165],\"mapped\",[50,49,28857]],[[13166,13166],\"mapped\",[50,50,28857]],[[13167,13167],\"mapped\",[50,51,28857]],[[13168,13168],\"mapped\",[50,52,28857]],[[13169,13169],\"mapped\",[104,112,97]],[[13170,13170],\"mapped\",[100,97]],[[13171,13171],\"mapped\",[97,117]],[[13172,13172],\"mapped\",[98,97,114]],[[13173,13173],\"mapped\",[111,118]],[[13174,13174],\"mapped\",[112,99]],[[13175,13175],\"mapped\",[100,109]],[[13176,13176],\"mapped\",[100,109,50]],[[13177,13177],\"mapped\",[100,109,51]],[[13178,13178],\"mapped\",[105,117]],[[13179,13179],\"mapped\",[24179,25104]],[[13180,13180],\"mapped\",[26157,21644]],[[13181,13181],\"mapped\",[22823,27491]],[[13182,13182],\"mapped\",[26126,27835]],[[13183,13183],\"mapped\",[26666,24335,20250,31038]],[[13184,13184],\"mapped\",[112,97]],[[13185,13185],\"mapped\",[110,97]],[[13186,13186],\"mapped\",[956,97]],[[13187,13187],\"mapped\",[109,97]],[[13188,13188],\"mapped\",[107,97]],[[13189,13189],\"mapped\",[107,98]],[[13190,13190],\"mapped\",[109,98]],[[13191,13191],\"mapped\",[103,98]],[[13192,13192],\"mapped\",[99,97,108]],[[13193,13193],\"mapped\",[107,99,97,108]],[[13194,13194],\"mapped\",[112,102]],[[13195,13195],\"mapped\",[110,102]],[[13196,13196],\"mapped\",[956,102]],[[13197,13197],\"mapped\",[956,103]],[[13198,13198],\"mapped\",[109,103]],[[13199,13199],\"mapped\",[107,103]],[[13200,13200],\"mapped\",[104,122]],[[13201,13201],\"mapped\",[107,104,122]],[[13202,13202],\"mapped\",[109,104,122]],[[13203,13203],\"mapped\",[103,104,122]],[[13204,13204],\"mapped\",[116,104,122]],[[13205,13205],\"mapped\",[956,108]],[[13206,13206],\"mapped\",[109,108]],[[13207,13207],\"mapped\",[100,108]],[[13208,13208],\"mapped\",[107,108]],[[13209,13209],\"mapped\",[102,109]],[[13210,13210],\"mapped\",[110,109]],[[13211,13211],\"mapped\",[956,109]],[[13212,13212],\"mapped\",[109,109]],[[13213,13213],\"mapped\",[99,109]],[[13214,13214],\"mapped\",[107,109]],[[13215,13215],\"mapped\",[109,109,50]],[[13216,13216],\"mapped\",[99,109,50]],[[13217,13217],\"mapped\",[109,50]],[[13218,13218],\"mapped\",[107,109,50]],[[13219,13219],\"mapped\",[109,109,51]],[[13220,13220],\"mapped\",[99,109,51]],[[13221,13221],\"mapped\",[109,51]],[[13222,13222],\"mapped\",[107,109,51]],[[13223,13223],\"mapped\",[109,8725,115]],[[13224,13224],\"mapped\",[109,8725,115,50]],[[13225,13225],\"mapped\",[112,97]],[[13226,13226],\"mapped\",[107,112,97]],[[13227,13227],\"mapped\",[109,112,97]],[[13228,13228],\"mapped\",[103,112,97]],[[13229,13229],\"mapped\",[114,97,100]],[[13230,13230],\"mapped\",[114,97,100,8725,115]],[[13231,13231],\"mapped\",[114,97,100,8725,115,50]],[[13232,13232],\"mapped\",[112,115]],[[13233,13233],\"mapped\",[110,115]],[[13234,13234],\"mapped\",[956,115]],[[13235,13235],\"mapped\",[109,115]],[[13236,13236],\"mapped\",[112,118]],[[13237,13237],\"mapped\",[110,118]],[[13238,13238],\"mapped\",[956,118]],[[13239,13239],\"mapped\",[109,118]],[[13240,13240],\"mapped\",[107,118]],[[13241,13241],\"mapped\",[109,118]],[[13242,13242],\"mapped\",[112,119]],[[13243,13243],\"mapped\",[110,119]],[[13244,13244],\"mapped\",[956,119]],[[13245,13245],\"mapped\",[109,119]],[[13246,13246],\"mapped\",[107,119]],[[13247,13247],\"mapped\",[109,119]],[[13248,13248],\"mapped\",[107,969]],[[13249,13249],\"mapped\",[109,969]],[[13250,13250],\"disallowed\"],[[13251,13251],\"mapped\",[98,113]],[[13252,13252],\"mapped\",[99,99]],[[13253,13253],\"mapped\",[99,100]],[[13254,13254],\"mapped\",[99,8725,107,103]],[[13255,13255],\"disallowed\"],[[13256,13256],\"mapped\",[100,98]],[[13257,13257],\"mapped\",[103,121]],[[13258,13258],\"mapped\",[104,97]],[[13259,13259],\"mapped\",[104,112]],[[13260,13260],\"mapped\",[105,110]],[[13261,13261],\"mapped\",[107,107]],[[13262,13262],\"mapped\",[107,109]],[[13263,13263],\"mapped\",[107,116]],[[13264,13264],\"mapped\",[108,109]],[[13265,13265],\"mapped\",[108,110]],[[13266,13266],\"mapped\",[108,111,103]],[[13267,13267],\"mapped\",[108,120]],[[13268,13268],\"mapped\",[109,98]],[[13269,13269],\"mapped\",[109,105,108]],[[13270,13270],\"mapped\",[109,111,108]],[[13271,13271],\"mapped\",[112,104]],[[13272,13272],\"disallowed\"],[[13273,13273],\"mapped\",[112,112,109]],[[13274,13274],\"mapped\",[112,114]],[[13275,13275],\"mapped\",[115,114]],[[13276,13276],\"mapped\",[115,118]],[[13277,13277],\"mapped\",[119,98]],[[13278,13278],\"mapped\",[118,8725,109]],[[13279,13279],\"mapped\",[97,8725,109]],[[13280,13280],\"mapped\",[49,26085]],[[13281,13281],\"mapped\",[50,26085]],[[13282,13282],\"mapped\",[51,26085]],[[13283,13283],\"mapped\",[52,26085]],[[13284,13284],\"mapped\",[53,26085]],[[13285,13285],\"mapped\",[54,26085]],[[13286,13286],\"mapped\",[55,26085]],[[13287,13287],\"mapped\",[56,26085]],[[13288,13288],\"mapped\",[57,26085]],[[13289,13289],\"mapped\",[49,48,26085]],[[13290,13290],\"mapped\",[49,49,26085]],[[13291,13291],\"mapped\",[49,50,26085]],[[13292,13292],\"mapped\",[49,51,26085]],[[13293,13293],\"mapped\",[49,52,26085]],[[13294,13294],\"mapped\",[49,53,26085]],[[13295,13295],\"mapped\",[49,54,26085]],[[13296,13296],\"mapped\",[49,55,26085]],[[13297,13297],\"mapped\",[49,56,26085]],[[13298,13298],\"mapped\",[49,57,26085]],[[13299,13299],\"mapped\",[50,48,26085]],[[13300,13300],\"mapped\",[50,49,26085]],[[13301,13301],\"mapped\",[50,50,26085]],[[13302,13302],\"mapped\",[50,51,26085]],[[13303,13303],\"mapped\",[50,52,26085]],[[13304,13304],\"mapped\",[50,53,26085]],[[13305,13305],\"mapped\",[50,54,26085]],[[13306,13306],\"mapped\",[50,55,26085]],[[13307,13307],\"mapped\",[50,56,26085]],[[13308,13308],\"mapped\",[50,57,26085]],[[13309,13309],\"mapped\",[51,48,26085]],[[13310,13310],\"mapped\",[51,49,26085]],[[13311,13311],\"mapped\",[103,97,108]],[[13312,19893],\"valid\"],[[19894,19903],\"disallowed\"],[[19904,19967],\"valid\",[],\"NV8\"],[[19968,40869],\"valid\"],[[40870,40891],\"valid\"],[[40892,40899],\"valid\"],[[40900,40907],\"valid\"],[[40908,40908],\"valid\"],[[40909,40917],\"valid\"],[[40918,40959],\"disallowed\"],[[40960,42124],\"valid\"],[[42125,42127],\"disallowed\"],[[42128,42145],\"valid\",[],\"NV8\"],[[42146,42147],\"valid\",[],\"NV8\"],[[42148,42163],\"valid\",[],\"NV8\"],[[42164,42164],\"valid\",[],\"NV8\"],[[42165,42176],\"valid\",[],\"NV8\"],[[42177,42177],\"valid\",[],\"NV8\"],[[42178,42180],\"valid\",[],\"NV8\"],[[42181,42181],\"valid\",[],\"NV8\"],[[42182,42182],\"valid\",[],\"NV8\"],[[42183,42191],\"disallowed\"],[[42192,42237],\"valid\"],[[42238,42239],\"valid\",[],\"NV8\"],[[42240,42508],\"valid\"],[[42509,42511],\"valid\",[],\"NV8\"],[[42512,42539],\"valid\"],[[42540,42559],\"disallowed\"],[[42560,42560],\"mapped\",[42561]],[[42561,42561],\"valid\"],[[42562,42562],\"mapped\",[42563]],[[42563,42563],\"valid\"],[[42564,42564],\"mapped\",[42565]],[[42565,42565],\"valid\"],[[42566,42566],\"mapped\",[42567]],[[42567,42567],\"valid\"],[[42568,42568],\"mapped\",[42569]],[[42569,42569],\"valid\"],[[42570,42570],\"mapped\",[42571]],[[42571,42571],\"valid\"],[[42572,42572],\"mapped\",[42573]],[[42573,42573],\"valid\"],[[42574,42574],\"mapped\",[42575]],[[42575,42575],\"valid\"],[[42576,42576],\"mapped\",[42577]],[[42577,42577],\"valid\"],[[42578,42578],\"mapped\",[42579]],[[42579,42579],\"valid\"],[[42580,42580],\"mapped\",[42581]],[[42581,42581],\"valid\"],[[42582,42582],\"mapped\",[42583]],[[42583,42583],\"valid\"],[[42584,42584],\"mapped\",[42585]],[[42585,42585],\"valid\"],[[42586,42586],\"mapped\",[42587]],[[42587,42587],\"valid\"],[[42588,42588],\"mapped\",[42589]],[[42589,42589],\"valid\"],[[42590,42590],\"mapped\",[42591]],[[42591,42591],\"valid\"],[[42592,42592],\"mapped\",[42593]],[[42593,42593],\"valid\"],[[42594,42594],\"mapped\",[42595]],[[42595,42595],\"valid\"],[[42596,42596],\"mapped\",[42597]],[[42597,42597],\"valid\"],[[42598,42598],\"mapped\",[42599]],[[42599,42599],\"valid\"],[[42600,42600],\"mapped\",[42601]],[[42601,42601],\"valid\"],[[42602,42602],\"mapped\",[42603]],[[42603,42603],\"valid\"],[[42604,42604],\"mapped\",[42605]],[[42605,42607],\"valid\"],[[42608,42611],\"valid\",[],\"NV8\"],[[42612,42619],\"valid\"],[[42620,42621],\"valid\"],[[42622,42622],\"valid\",[],\"NV8\"],[[42623,42623],\"valid\"],[[42624,42624],\"mapped\",[42625]],[[42625,42625],\"valid\"],[[42626,42626],\"mapped\",[42627]],[[42627,42627],\"valid\"],[[42628,42628],\"mapped\",[42629]],[[42629,42629],\"valid\"],[[42630,42630],\"mapped\",[42631]],[[42631,42631],\"valid\"],[[42632,42632],\"mapped\",[42633]],[[42633,42633],\"valid\"],[[42634,42634],\"mapped\",[42635]],[[42635,42635],\"valid\"],[[42636,42636],\"mapped\",[42637]],[[42637,42637],\"valid\"],[[42638,42638],\"mapped\",[42639]],[[42639,42639],\"valid\"],[[42640,42640],\"mapped\",[42641]],[[42641,42641],\"valid\"],[[42642,42642],\"mapped\",[42643]],[[42643,42643],\"valid\"],[[42644,42644],\"mapped\",[42645]],[[42645,42645],\"valid\"],[[42646,42646],\"mapped\",[42647]],[[42647,42647],\"valid\"],[[42648,42648],\"mapped\",[42649]],[[42649,42649],\"valid\"],[[42650,42650],\"mapped\",[42651]],[[42651,42651],\"valid\"],[[42652,42652],\"mapped\",[1098]],[[42653,42653],\"mapped\",[1100]],[[42654,42654],\"valid\"],[[42655,42655],\"valid\"],[[42656,42725],\"valid\"],[[42726,42735],\"valid\",[],\"NV8\"],[[42736,42737],\"valid\"],[[42738,42743],\"valid\",[],\"NV8\"],[[42744,42751],\"disallowed\"],[[42752,42774],\"valid\",[],\"NV8\"],[[42775,42778],\"valid\"],[[42779,42783],\"valid\"],[[42784,42785],\"valid\",[],\"NV8\"],[[42786,42786],\"mapped\",[42787]],[[42787,42787],\"valid\"],[[42788,42788],\"mapped\",[42789]],[[42789,42789],\"valid\"],[[42790,42790],\"mapped\",[42791]],[[42791,42791],\"valid\"],[[42792,42792],\"mapped\",[42793]],[[42793,42793],\"valid\"],[[42794,42794],\"mapped\",[42795]],[[42795,42795],\"valid\"],[[42796,42796],\"mapped\",[42797]],[[42797,42797],\"valid\"],[[42798,42798],\"mapped\",[42799]],[[42799,42801],\"valid\"],[[42802,42802],\"mapped\",[42803]],[[42803,42803],\"valid\"],[[42804,42804],\"mapped\",[42805]],[[42805,42805],\"valid\"],[[42806,42806],\"mapped\",[42807]],[[42807,42807],\"valid\"],[[42808,42808],\"mapped\",[42809]],[[42809,42809],\"valid\"],[[42810,42810],\"mapped\",[42811]],[[42811,42811],\"valid\"],[[42812,42812],\"mapped\",[42813]],[[42813,42813],\"valid\"],[[42814,42814],\"mapped\",[42815]],[[42815,42815],\"valid\"],[[42816,42816],\"mapped\",[42817]],[[42817,42817],\"valid\"],[[42818,42818],\"mapped\",[42819]],[[42819,42819],\"valid\"],[[42820,42820],\"mapped\",[42821]],[[42821,42821],\"valid\"],[[42822,42822],\"mapped\",[42823]],[[42823,42823],\"valid\"],[[42824,42824],\"mapped\",[42825]],[[42825,42825],\"valid\"],[[42826,42826],\"mapped\",[42827]],[[42827,42827],\"valid\"],[[42828,42828],\"mapped\",[42829]],[[42829,42829],\"valid\"],[[42830,42830],\"mapped\",[42831]],[[42831,42831],\"valid\"],[[42832,42832],\"mapped\",[42833]],[[42833,42833],\"valid\"],[[42834,42834],\"mapped\",[42835]],[[42835,42835],\"valid\"],[[42836,42836],\"mapped\",[42837]],[[42837,42837],\"valid\"],[[42838,42838],\"mapped\",[42839]],[[42839,42839],\"valid\"],[[42840,42840],\"mapped\",[42841]],[[42841,42841],\"valid\"],[[42842,42842],\"mapped\",[42843]],[[42843,42843],\"valid\"],[[42844,42844],\"mapped\",[42845]],[[42845,42845],\"valid\"],[[42846,42846],\"mapped\",[42847]],[[42847,42847],\"valid\"],[[42848,42848],\"mapped\",[42849]],[[42849,42849],\"valid\"],[[42850,42850],\"mapped\",[42851]],[[42851,42851],\"valid\"],[[42852,42852],\"mapped\",[42853]],[[42853,42853],\"valid\"],[[42854,42854],\"mapped\",[42855]],[[42855,42855],\"valid\"],[[42856,42856],\"mapped\",[42857]],[[42857,42857],\"valid\"],[[42858,42858],\"mapped\",[42859]],[[42859,42859],\"valid\"],[[42860,42860],\"mapped\",[42861]],[[42861,42861],\"valid\"],[[42862,42862],\"mapped\",[42863]],[[42863,42863],\"valid\"],[[42864,42864],\"mapped\",[42863]],[[42865,42872],\"valid\"],[[42873,42873],\"mapped\",[42874]],[[42874,42874],\"valid\"],[[42875,42875],\"mapped\",[42876]],[[42876,42876],\"valid\"],[[42877,42877],\"mapped\",[7545]],[[42878,42878],\"mapped\",[42879]],[[42879,42879],\"valid\"],[[42880,42880],\"mapped\",[42881]],[[42881,42881],\"valid\"],[[42882,42882],\"mapped\",[42883]],[[42883,42883],\"valid\"],[[42884,42884],\"mapped\",[42885]],[[42885,42885],\"valid\"],[[42886,42886],\"mapped\",[42887]],[[42887,42888],\"valid\"],[[42889,42890],\"valid\",[],\"NV8\"],[[42891,42891],\"mapped\",[42892]],[[42892,42892],\"valid\"],[[42893,42893],\"mapped\",[613]],[[42894,42894],\"valid\"],[[42895,42895],\"valid\"],[[42896,42896],\"mapped\",[42897]],[[42897,42897],\"valid\"],[[42898,42898],\"mapped\",[42899]],[[42899,42899],\"valid\"],[[42900,42901],\"valid\"],[[42902,42902],\"mapped\",[42903]],[[42903,42903],\"valid\"],[[42904,42904],\"mapped\",[42905]],[[42905,42905],\"valid\"],[[42906,42906],\"mapped\",[42907]],[[42907,42907],\"valid\"],[[42908,42908],\"mapped\",[42909]],[[42909,42909],\"valid\"],[[42910,42910],\"mapped\",[42911]],[[42911,42911],\"valid\"],[[42912,42912],\"mapped\",[42913]],[[42913,42913],\"valid\"],[[42914,42914],\"mapped\",[42915]],[[42915,42915],\"valid\"],[[42916,42916],\"mapped\",[42917]],[[42917,42917],\"valid\"],[[42918,42918],\"mapped\",[42919]],[[42919,42919],\"valid\"],[[42920,42920],\"mapped\",[42921]],[[42921,42921],\"valid\"],[[42922,42922],\"mapped\",[614]],[[42923,42923],\"mapped\",[604]],[[42924,42924],\"mapped\",[609]],[[42925,42925],\"mapped\",[620]],[[42926,42927],\"disallowed\"],[[42928,42928],\"mapped\",[670]],[[42929,42929],\"mapped\",[647]],[[42930,42930],\"mapped\",[669]],[[42931,42931],\"mapped\",[43859]],[[42932,42932],\"mapped\",[42933]],[[42933,42933],\"valid\"],[[42934,42934],\"mapped\",[42935]],[[42935,42935],\"valid\"],[[42936,42998],\"disallowed\"],[[42999,42999],\"valid\"],[[43000,43000],\"mapped\",[295]],[[43001,43001],\"mapped\",[339]],[[43002,43002],\"valid\"],[[43003,43007],\"valid\"],[[43008,43047],\"valid\"],[[43048,43051],\"valid\",[],\"NV8\"],[[43052,43055],\"disallowed\"],[[43056,43065],\"valid\",[],\"NV8\"],[[43066,43071],\"disallowed\"],[[43072,43123],\"valid\"],[[43124,43127],\"valid\",[],\"NV8\"],[[43128,43135],\"disallowed\"],[[43136,43204],\"valid\"],[[43205,43213],\"disallowed\"],[[43214,43215],\"valid\",[],\"NV8\"],[[43216,43225],\"valid\"],[[43226,43231],\"disallowed\"],[[43232,43255],\"valid\"],[[43256,43258],\"valid\",[],\"NV8\"],[[43259,43259],\"valid\"],[[43260,43260],\"valid\",[],\"NV8\"],[[43261,43261],\"valid\"],[[43262,43263],\"disallowed\"],[[43264,43309],\"valid\"],[[43310,43311],\"valid\",[],\"NV8\"],[[43312,43347],\"valid\"],[[43348,43358],\"disallowed\"],[[43359,43359],\"valid\",[],\"NV8\"],[[43360,43388],\"valid\",[],\"NV8\"],[[43389,43391],\"disallowed\"],[[43392,43456],\"valid\"],[[43457,43469],\"valid\",[],\"NV8\"],[[43470,43470],\"disallowed\"],[[43471,43481],\"valid\"],[[43482,43485],\"disallowed\"],[[43486,43487],\"valid\",[],\"NV8\"],[[43488,43518],\"valid\"],[[43519,43519],\"disallowed\"],[[43520,43574],\"valid\"],[[43575,43583],\"disallowed\"],[[43584,43597],\"valid\"],[[43598,43599],\"disallowed\"],[[43600,43609],\"valid\"],[[43610,43611],\"disallowed\"],[[43612,43615],\"valid\",[],\"NV8\"],[[43616,43638],\"valid\"],[[43639,43641],\"valid\",[],\"NV8\"],[[43642,43643],\"valid\"],[[43644,43647],\"valid\"],[[43648,43714],\"valid\"],[[43715,43738],\"disallowed\"],[[43739,43741],\"valid\"],[[43742,43743],\"valid\",[],\"NV8\"],[[43744,43759],\"valid\"],[[43760,43761],\"valid\",[],\"NV8\"],[[43762,43766],\"valid\"],[[43767,43776],\"disallowed\"],[[43777,43782],\"valid\"],[[43783,43784],\"disallowed\"],[[43785,43790],\"valid\"],[[43791,43792],\"disallowed\"],[[43793,43798],\"valid\"],[[43799,43807],\"disallowed\"],[[43808,43814],\"valid\"],[[43815,43815],\"disallowed\"],[[43816,43822],\"valid\"],[[43823,43823],\"disallowed\"],[[43824,43866],\"valid\"],[[43867,43867],\"valid\",[],\"NV8\"],[[43868,43868],\"mapped\",[42791]],[[43869,43869],\"mapped\",[43831]],[[43870,43870],\"mapped\",[619]],[[43871,43871],\"mapped\",[43858]],[[43872,43875],\"valid\"],[[43876,43877],\"valid\"],[[43878,43887],\"disallowed\"],[[43888,43888],\"mapped\",[5024]],[[43889,43889],\"mapped\",[5025]],[[43890,43890],\"mapped\",[5026]],[[43891,43891],\"mapped\",[5027]],[[43892,43892],\"mapped\",[5028]],[[43893,43893],\"mapped\",[5029]],[[43894,43894],\"mapped\",[5030]],[[43895,43895],\"mapped\",[5031]],[[43896,43896],\"mapped\",[5032]],[[43897,43897],\"mapped\",[5033]],[[43898,43898],\"mapped\",[5034]],[[43899,43899],\"mapped\",[5035]],[[43900,43900],\"mapped\",[5036]],[[43901,43901],\"mapped\",[5037]],[[43902,43902],\"mapped\",[5038]],[[43903,43903],\"mapped\",[5039]],[[43904,43904],\"mapped\",[5040]],[[43905,43905],\"mapped\",[5041]],[[43906,43906],\"mapped\",[5042]],[[43907,43907],\"mapped\",[5043]],[[43908,43908],\"mapped\",[5044]],[[43909,43909],\"mapped\",[5045]],[[43910,43910],\"mapped\",[5046]],[[43911,43911],\"mapped\",[5047]],[[43912,43912],\"mapped\",[5048]],[[43913,43913],\"mapped\",[5049]],[[43914,43914],\"mapped\",[5050]],[[43915,43915],\"mapped\",[5051]],[[43916,43916],\"mapped\",[5052]],[[43917,43917],\"mapped\",[5053]],[[43918,43918],\"mapped\",[5054]],[[43919,43919],\"mapped\",[5055]],[[43920,43920],\"mapped\",[5056]],[[43921,43921],\"mapped\",[5057]],[[43922,43922],\"mapped\",[5058]],[[43923,43923],\"mapped\",[5059]],[[43924,43924],\"mapped\",[5060]],[[43925,43925],\"mapped\",[5061]],[[43926,43926],\"mapped\",[5062]],[[43927,43927],\"mapped\",[5063]],[[43928,43928],\"mapped\",[5064]],[[43929,43929],\"mapped\",[5065]],[[43930,43930],\"mapped\",[5066]],[[43931,43931],\"mapped\",[5067]],[[43932,43932],\"mapped\",[5068]],[[43933,43933],\"mapped\",[5069]],[[43934,43934],\"mapped\",[5070]],[[43935,43935],\"mapped\",[5071]],[[43936,43936],\"mapped\",[5072]],[[43937,43937],\"mapped\",[5073]],[[43938,43938],\"mapped\",[5074]],[[43939,43939],\"mapped\",[5075]],[[43940,43940],\"mapped\",[5076]],[[43941,43941],\"mapped\",[5077]],[[43942,43942],\"mapped\",[5078]],[[43943,43943],\"mapped\",[5079]],[[43944,43944],\"mapped\",[5080]],[[43945,43945],\"mapped\",[5081]],[[43946,43946],\"mapped\",[5082]],[[43947,43947],\"mapped\",[5083]],[[43948,43948],\"mapped\",[5084]],[[43949,43949],\"mapped\",[5085]],[[43950,43950],\"mapped\",[5086]],[[43951,43951],\"mapped\",[5087]],[[43952,43952],\"mapped\",[5088]],[[43953,43953],\"mapped\",[5089]],[[43954,43954],\"mapped\",[5090]],[[43955,43955],\"mapped\",[5091]],[[43956,43956],\"mapped\",[5092]],[[43957,43957],\"mapped\",[5093]],[[43958,43958],\"mapped\",[5094]],[[43959,43959],\"mapped\",[5095]],[[43960,43960],\"mapped\",[5096]],[[43961,43961],\"mapped\",[5097]],[[43962,43962],\"mapped\",[5098]],[[43963,43963],\"mapped\",[5099]],[[43964,43964],\"mapped\",[5100]],[[43965,43965],\"mapped\",[5101]],[[43966,43966],\"mapped\",[5102]],[[43967,43967],\"mapped\",[5103]],[[43968,44010],\"valid\"],[[44011,44011],\"valid\",[],\"NV8\"],[[44012,44013],\"valid\"],[[44014,44015],\"disallowed\"],[[44016,44025],\"valid\"],[[44026,44031],\"disallowed\"],[[44032,55203],\"valid\"],[[55204,55215],\"disallowed\"],[[55216,55238],\"valid\",[],\"NV8\"],[[55239,55242],\"disallowed\"],[[55243,55291],\"valid\",[],\"NV8\"],[[55292,55295],\"disallowed\"],[[55296,57343],\"disallowed\"],[[57344,63743],\"disallowed\"],[[63744,63744],\"mapped\",[35912]],[[63745,63745],\"mapped\",[26356]],[[63746,63746],\"mapped\",[36554]],[[63747,63747],\"mapped\",[36040]],[[63748,63748],\"mapped\",[28369]],[[63749,63749],\"mapped\",[20018]],[[63750,63750],\"mapped\",[21477]],[[63751,63752],\"mapped\",[40860]],[[63753,63753],\"mapped\",[22865]],[[63754,63754],\"mapped\",[37329]],[[63755,63755],\"mapped\",[21895]],[[63756,63756],\"mapped\",[22856]],[[63757,63757],\"mapped\",[25078]],[[63758,63758],\"mapped\",[30313]],[[63759,63759],\"mapped\",[32645]],[[63760,63760],\"mapped\",[34367]],[[63761,63761],\"mapped\",[34746]],[[63762,63762],\"mapped\",[35064]],[[63763,63763],\"mapped\",[37007]],[[63764,63764],\"mapped\",[27138]],[[63765,63765],\"mapped\",[27931]],[[63766,63766],\"mapped\",[28889]],[[63767,63767],\"mapped\",[29662]],[[63768,63768],\"mapped\",[33853]],[[63769,63769],\"mapped\",[37226]],[[63770,63770],\"mapped\",[39409]],[[63771,63771],\"mapped\",[20098]],[[63772,63772],\"mapped\",[21365]],[[63773,63773],\"mapped\",[27396]],[[63774,63774],\"mapped\",[29211]],[[63775,63775],\"mapped\",[34349]],[[63776,63776],\"mapped\",[40478]],[[63777,63777],\"mapped\",[23888]],[[63778,63778],\"mapped\",[28651]],[[63779,63779],\"mapped\",[34253]],[[63780,63780],\"mapped\",[35172]],[[63781,63781],\"mapped\",[25289]],[[63782,63782],\"mapped\",[33240]],[[63783,63783],\"mapped\",[34847]],[[63784,63784],\"mapped\",[24266]],[[63785,63785],\"mapped\",[26391]],[[63786,63786],\"mapped\",[28010]],[[63787,63787],\"mapped\",[29436]],[[63788,63788],\"mapped\",[37070]],[[63789,63789],\"mapped\",[20358]],[[63790,63790],\"mapped\",[20919]],[[63791,63791],\"mapped\",[21214]],[[63792,63792],\"mapped\",[25796]],[[63793,63793],\"mapped\",[27347]],[[63794,63794],\"mapped\",[29200]],[[63795,63795],\"mapped\",[30439]],[[63796,63796],\"mapped\",[32769]],[[63797,63797],\"mapped\",[34310]],[[63798,63798],\"mapped\",[34396]],[[63799,63799],\"mapped\",[36335]],[[63800,63800],\"mapped\",[38706]],[[63801,63801],\"mapped\",[39791]],[[63802,63802],\"mapped\",[40442]],[[63803,63803],\"mapped\",[30860]],[[63804,63804],\"mapped\",[31103]],[[63805,63805],\"mapped\",[32160]],[[63806,63806],\"mapped\",[33737]],[[63807,63807],\"mapped\",[37636]],[[63808,63808],\"mapped\",[40575]],[[63809,63809],\"mapped\",[35542]],[[63810,63810],\"mapped\",[22751]],[[63811,63811],\"mapped\",[24324]],[[63812,63812],\"mapped\",[31840]],[[63813,63813],\"mapped\",[32894]],[[63814,63814],\"mapped\",[29282]],[[63815,63815],\"mapped\",[30922]],[[63816,63816],\"mapped\",[36034]],[[63817,63817],\"mapped\",[38647]],[[63818,63818],\"mapped\",[22744]],[[63819,63819],\"mapped\",[23650]],[[63820,63820],\"mapped\",[27155]],[[63821,63821],\"mapped\",[28122]],[[63822,63822],\"mapped\",[28431]],[[63823,63823],\"mapped\",[32047]],[[63824,63824],\"mapped\",[32311]],[[63825,63825],\"mapped\",[38475]],[[63826,63826],\"mapped\",[21202]],[[63827,63827],\"mapped\",[32907]],[[63828,63828],\"mapped\",[20956]],[[63829,63829],\"mapped\",[20940]],[[63830,63830],\"mapped\",[31260]],[[63831,63831],\"mapped\",[32190]],[[63832,63832],\"mapped\",[33777]],[[63833,63833],\"mapped\",[38517]],[[63834,63834],\"mapped\",[35712]],[[63835,63835],\"mapped\",[25295]],[[63836,63836],\"mapped\",[27138]],[[63837,63837],\"mapped\",[35582]],[[63838,63838],\"mapped\",[20025]],[[63839,63839],\"mapped\",[23527]],[[63840,63840],\"mapped\",[24594]],[[63841,63841],\"mapped\",[29575]],[[63842,63842],\"mapped\",[30064]],[[63843,63843],\"mapped\",[21271]],[[63844,63844],\"mapped\",[30971]],[[63845,63845],\"mapped\",[20415]],[[63846,63846],\"mapped\",[24489]],[[63847,63847],\"mapped\",[19981]],[[63848,63848],\"mapped\",[27852]],[[63849,63849],\"mapped\",[25976]],[[63850,63850],\"mapped\",[32034]],[[63851,63851],\"mapped\",[21443]],[[63852,63852],\"mapped\",[22622]],[[63853,63853],\"mapped\",[30465]],[[63854,63854],\"mapped\",[33865]],[[63855,63855],\"mapped\",[35498]],[[63856,63856],\"mapped\",[27578]],[[63857,63857],\"mapped\",[36784]],[[63858,63858],\"mapped\",[27784]],[[63859,63859],\"mapped\",[25342]],[[63860,63860],\"mapped\",[33509]],[[63861,63861],\"mapped\",[25504]],[[63862,63862],\"mapped\",[30053]],[[63863,63863],\"mapped\",[20142]],[[63864,63864],\"mapped\",[20841]],[[63865,63865],\"mapped\",[20937]],[[63866,63866],\"mapped\",[26753]],[[63867,63867],\"mapped\",[31975]],[[63868,63868],\"mapped\",[33391]],[[63869,63869],\"mapped\",[35538]],[[63870,63870],\"mapped\",[37327]],[[63871,63871],\"mapped\",[21237]],[[63872,63872],\"mapped\",[21570]],[[63873,63873],\"mapped\",[22899]],[[63874,63874],\"mapped\",[24300]],[[63875,63875],\"mapped\",[26053]],[[63876,63876],\"mapped\",[28670]],[[63877,63877],\"mapped\",[31018]],[[63878,63878],\"mapped\",[38317]],[[63879,63879],\"mapped\",[39530]],[[63880,63880],\"mapped\",[40599]],[[63881,63881],\"mapped\",[40654]],[[63882,63882],\"mapped\",[21147]],[[63883,63883],\"mapped\",[26310]],[[63884,63884],\"mapped\",[27511]],[[63885,63885],\"mapped\",[36706]],[[63886,63886],\"mapped\",[24180]],[[63887,63887],\"mapped\",[24976]],[[63888,63888],\"mapped\",[25088]],[[63889,63889],\"mapped\",[25754]],[[63890,63890],\"mapped\",[28451]],[[63891,63891],\"mapped\",[29001]],[[63892,63892],\"mapped\",[29833]],[[63893,63893],\"mapped\",[31178]],[[63894,63894],\"mapped\",[32244]],[[63895,63895],\"mapped\",[32879]],[[63896,63896],\"mapped\",[36646]],[[63897,63897],\"mapped\",[34030]],[[63898,63898],\"mapped\",[36899]],[[63899,63899],\"mapped\",[37706]],[[63900,63900],\"mapped\",[21015]],[[63901,63901],\"mapped\",[21155]],[[63902,63902],\"mapped\",[21693]],[[63903,63903],\"mapped\",[28872]],[[63904,63904],\"mapped\",[35010]],[[63905,63905],\"mapped\",[35498]],[[63906,63906],\"mapped\",[24265]],[[63907,63907],\"mapped\",[24565]],[[63908,63908],\"mapped\",[25467]],[[63909,63909],\"mapped\",[27566]],[[63910,63910],\"mapped\",[31806]],[[63911,63911],\"mapped\",[29557]],[[63912,63912],\"mapped\",[20196]],[[63913,63913],\"mapped\",[22265]],[[63914,63914],\"mapped\",[23527]],[[63915,63915],\"mapped\",[23994]],[[63916,63916],\"mapped\",[24604]],[[63917,63917],\"mapped\",[29618]],[[63918,63918],\"mapped\",[29801]],[[63919,63919],\"mapped\",[32666]],[[63920,63920],\"mapped\",[32838]],[[63921,63921],\"mapped\",[37428]],[[63922,63922],\"mapped\",[38646]],[[63923,63923],\"mapped\",[38728]],[[63924,63924],\"mapped\",[38936]],[[63925,63925],\"mapped\",[20363]],[[63926,63926],\"mapped\",[31150]],[[63927,63927],\"mapped\",[37300]],[[63928,63928],\"mapped\",[38584]],[[63929,63929],\"mapped\",[24801]],[[63930,63930],\"mapped\",[20102]],[[63931,63931],\"mapped\",[20698]],[[63932,63932],\"mapped\",[23534]],[[63933,63933],\"mapped\",[23615]],[[63934,63934],\"mapped\",[26009]],[[63935,63935],\"mapped\",[27138]],[[63936,63936],\"mapped\",[29134]],[[63937,63937],\"mapped\",[30274]],[[63938,63938],\"mapped\",[34044]],[[63939,63939],\"mapped\",[36988]],[[63940,63940],\"mapped\",[40845]],[[63941,63941],\"mapped\",[26248]],[[63942,63942],\"mapped\",[38446]],[[63943,63943],\"mapped\",[21129]],[[63944,63944],\"mapped\",[26491]],[[63945,63945],\"mapped\",[26611]],[[63946,63946],\"mapped\",[27969]],[[63947,63947],\"mapped\",[28316]],[[63948,63948],\"mapped\",[29705]],[[63949,63949],\"mapped\",[30041]],[[63950,63950],\"mapped\",[30827]],[[63951,63951],\"mapped\",[32016]],[[63952,63952],\"mapped\",[39006]],[[63953,63953],\"mapped\",[20845]],[[63954,63954],\"mapped\",[25134]],[[63955,63955],\"mapped\",[38520]],[[63956,63956],\"mapped\",[20523]],[[63957,63957],\"mapped\",[23833]],[[63958,63958],\"mapped\",[28138]],[[63959,63959],\"mapped\",[36650]],[[63960,63960],\"mapped\",[24459]],[[63961,63961],\"mapped\",[24900]],[[63962,63962],\"mapped\",[26647]],[[63963,63963],\"mapped\",[29575]],[[63964,63964],\"mapped\",[38534]],[[63965,63965],\"mapped\",[21033]],[[63966,63966],\"mapped\",[21519]],[[63967,63967],\"mapped\",[23653]],[[63968,63968],\"mapped\",[26131]],[[63969,63969],\"mapped\",[26446]],[[63970,63970],\"mapped\",[26792]],[[63971,63971],\"mapped\",[27877]],[[63972,63972],\"mapped\",[29702]],[[63973,63973],\"mapped\",[30178]],[[63974,63974],\"mapped\",[32633]],[[63975,63975],\"mapped\",[35023]],[[63976,63976],\"mapped\",[35041]],[[63977,63977],\"mapped\",[37324]],[[63978,63978],\"mapped\",[38626]],[[63979,63979],\"mapped\",[21311]],[[63980,63980],\"mapped\",[28346]],[[63981,63981],\"mapped\",[21533]],[[63982,63982],\"mapped\",[29136]],[[63983,63983],\"mapped\",[29848]],[[63984,63984],\"mapped\",[34298]],[[63985,63985],\"mapped\",[38563]],[[63986,63986],\"mapped\",[40023]],[[63987,63987],\"mapped\",[40607]],[[63988,63988],\"mapped\",[26519]],[[63989,63989],\"mapped\",[28107]],[[63990,63990],\"mapped\",[33256]],[[63991,63991],\"mapped\",[31435]],[[63992,63992],\"mapped\",[31520]],[[63993,63993],\"mapped\",[31890]],[[63994,63994],\"mapped\",[29376]],[[63995,63995],\"mapped\",[28825]],[[63996,63996],\"mapped\",[35672]],[[63997,63997],\"mapped\",[20160]],[[63998,63998],\"mapped\",[33590]],[[63999,63999],\"mapped\",[21050]],[[64000,64000],\"mapped\",[20999]],[[64001,64001],\"mapped\",[24230]],[[64002,64002],\"mapped\",[25299]],[[64003,64003],\"mapped\",[31958]],[[64004,64004],\"mapped\",[23429]],[[64005,64005],\"mapped\",[27934]],[[64006,64006],\"mapped\",[26292]],[[64007,64007],\"mapped\",[36667]],[[64008,64008],\"mapped\",[34892]],[[64009,64009],\"mapped\",[38477]],[[64010,64010],\"mapped\",[35211]],[[64011,64011],\"mapped\",[24275]],[[64012,64012],\"mapped\",[20800]],[[64013,64013],\"mapped\",[21952]],[[64014,64015],\"valid\"],[[64016,64016],\"mapped\",[22618]],[[64017,64017],\"valid\"],[[64018,64018],\"mapped\",[26228]],[[64019,64020],\"valid\"],[[64021,64021],\"mapped\",[20958]],[[64022,64022],\"mapped\",[29482]],[[64023,64023],\"mapped\",[30410]],[[64024,64024],\"mapped\",[31036]],[[64025,64025],\"mapped\",[31070]],[[64026,64026],\"mapped\",[31077]],[[64027,64027],\"mapped\",[31119]],[[64028,64028],\"mapped\",[38742]],[[64029,64029],\"mapped\",[31934]],[[64030,64030],\"mapped\",[32701]],[[64031,64031],\"valid\"],[[64032,64032],\"mapped\",[34322]],[[64033,64033],\"valid\"],[[64034,64034],\"mapped\",[35576]],[[64035,64036],\"valid\"],[[64037,64037],\"mapped\",[36920]],[[64038,64038],\"mapped\",[37117]],[[64039,64041],\"valid\"],[[64042,64042],\"mapped\",[39151]],[[64043,64043],\"mapped\",[39164]],[[64044,64044],\"mapped\",[39208]],[[64045,64045],\"mapped\",[40372]],[[64046,64046],\"mapped\",[37086]],[[64047,64047],\"mapped\",[38583]],[[64048,64048],\"mapped\",[20398]],[[64049,64049],\"mapped\",[20711]],[[64050,64050],\"mapped\",[20813]],[[64051,64051],\"mapped\",[21193]],[[64052,64052],\"mapped\",[21220]],[[64053,64053],\"mapped\",[21329]],[[64054,64054],\"mapped\",[21917]],[[64055,64055],\"mapped\",[22022]],[[64056,64056],\"mapped\",[22120]],[[64057,64057],\"mapped\",[22592]],[[64058,64058],\"mapped\",[22696]],[[64059,64059],\"mapped\",[23652]],[[64060,64060],\"mapped\",[23662]],[[64061,64061],\"mapped\",[24724]],[[64062,64062],\"mapped\",[24936]],[[64063,64063],\"mapped\",[24974]],[[64064,64064],\"mapped\",[25074]],[[64065,64065],\"mapped\",[25935]],[[64066,64066],\"mapped\",[26082]],[[64067,64067],\"mapped\",[26257]],[[64068,64068],\"mapped\",[26757]],[[64069,64069],\"mapped\",[28023]],[[64070,64070],\"mapped\",[28186]],[[64071,64071],\"mapped\",[28450]],[[64072,64072],\"mapped\",[29038]],[[64073,64073],\"mapped\",[29227]],[[64074,64074],\"mapped\",[29730]],[[64075,64075],\"mapped\",[30865]],[[64076,64076],\"mapped\",[31038]],[[64077,64077],\"mapped\",[31049]],[[64078,64078],\"mapped\",[31048]],[[64079,64079],\"mapped\",[31056]],[[64080,64080],\"mapped\",[31062]],[[64081,64081],\"mapped\",[31069]],[[64082,64082],\"mapped\",[31117]],[[64083,64083],\"mapped\",[31118]],[[64084,64084],\"mapped\",[31296]],[[64085,64085],\"mapped\",[31361]],[[64086,64086],\"mapped\",[31680]],[[64087,64087],\"mapped\",[32244]],[[64088,64088],\"mapped\",[32265]],[[64089,64089],\"mapped\",[32321]],[[64090,64090],\"mapped\",[32626]],[[64091,64091],\"mapped\",[32773]],[[64092,64092],\"mapped\",[33261]],[[64093,64094],\"mapped\",[33401]],[[64095,64095],\"mapped\",[33879]],[[64096,64096],\"mapped\",[35088]],[[64097,64097],\"mapped\",[35222]],[[64098,64098],\"mapped\",[35585]],[[64099,64099],\"mapped\",[35641]],[[64100,64100],\"mapped\",[36051]],[[64101,64101],\"mapped\",[36104]],[[64102,64102],\"mapped\",[36790]],[[64103,64103],\"mapped\",[36920]],[[64104,64104],\"mapped\",[38627]],[[64105,64105],\"mapped\",[38911]],[[64106,64106],\"mapped\",[38971]],[[64107,64107],\"mapped\",[24693]],[[64108,64108],\"mapped\",[148206]],[[64109,64109],\"mapped\",[33304]],[[64110,64111],\"disallowed\"],[[64112,64112],\"mapped\",[20006]],[[64113,64113],\"mapped\",[20917]],[[64114,64114],\"mapped\",[20840]],[[64115,64115],\"mapped\",[20352]],[[64116,64116],\"mapped\",[20805]],[[64117,64117],\"mapped\",[20864]],[[64118,64118],\"mapped\",[21191]],[[64119,64119],\"mapped\",[21242]],[[64120,64120],\"mapped\",[21917]],[[64121,64121],\"mapped\",[21845]],[[64122,64122],\"mapped\",[21913]],[[64123,64123],\"mapped\",[21986]],[[64124,64124],\"mapped\",[22618]],[[64125,64125],\"mapped\",[22707]],[[64126,64126],\"mapped\",[22852]],[[64127,64127],\"mapped\",[22868]],[[64128,64128],\"mapped\",[23138]],[[64129,64129],\"mapped\",[23336]],[[64130,64130],\"mapped\",[24274]],[[64131,64131],\"mapped\",[24281]],[[64132,64132],\"mapped\",[24425]],[[64133,64133],\"mapped\",[24493]],[[64134,64134],\"mapped\",[24792]],[[64135,64135],\"mapped\",[24910]],[[64136,64136],\"mapped\",[24840]],[[64137,64137],\"mapped\",[24974]],[[64138,64138],\"mapped\",[24928]],[[64139,64139],\"mapped\",[25074]],[[64140,64140],\"mapped\",[25140]],[[64141,64141],\"mapped\",[25540]],[[64142,64142],\"mapped\",[25628]],[[64143,64143],\"mapped\",[25682]],[[64144,64144],\"mapped\",[25942]],[[64145,64145],\"mapped\",[26228]],[[64146,64146],\"mapped\",[26391]],[[64147,64147],\"mapped\",[26395]],[[64148,64148],\"mapped\",[26454]],[[64149,64149],\"mapped\",[27513]],[[64150,64150],\"mapped\",[27578]],[[64151,64151],\"mapped\",[27969]],[[64152,64152],\"mapped\",[28379]],[[64153,64153],\"mapped\",[28363]],[[64154,64154],\"mapped\",[28450]],[[64155,64155],\"mapped\",[28702]],[[64156,64156],\"mapped\",[29038]],[[64157,64157],\"mapped\",[30631]],[[64158,64158],\"mapped\",[29237]],[[64159,64159],\"mapped\",[29359]],[[64160,64160],\"mapped\",[29482]],[[64161,64161],\"mapped\",[29809]],[[64162,64162],\"mapped\",[29958]],[[64163,64163],\"mapped\",[30011]],[[64164,64164],\"mapped\",[30237]],[[64165,64165],\"mapped\",[30239]],[[64166,64166],\"mapped\",[30410]],[[64167,64167],\"mapped\",[30427]],[[64168,64168],\"mapped\",[30452]],[[64169,64169],\"mapped\",[30538]],[[64170,64170],\"mapped\",[30528]],[[64171,64171],\"mapped\",[30924]],[[64172,64172],\"mapped\",[31409]],[[64173,64173],\"mapped\",[31680]],[[64174,64174],\"mapped\",[31867]],[[64175,64175],\"mapped\",[32091]],[[64176,64176],\"mapped\",[32244]],[[64177,64177],\"mapped\",[32574]],[[64178,64178],\"mapped\",[32773]],[[64179,64179],\"mapped\",[33618]],[[64180,64180],\"mapped\",[33775]],[[64181,64181],\"mapped\",[34681]],[[64182,64182],\"mapped\",[35137]],[[64183,64183],\"mapped\",[35206]],[[64184,64184],\"mapped\",[35222]],[[64185,64185],\"mapped\",[35519]],[[64186,64186],\"mapped\",[35576]],[[64187,64187],\"mapped\",[35531]],[[64188,64188],\"mapped\",[35585]],[[64189,64189],\"mapped\",[35582]],[[64190,64190],\"mapped\",[35565]],[[64191,64191],\"mapped\",[35641]],[[64192,64192],\"mapped\",[35722]],[[64193,64193],\"mapped\",[36104]],[[64194,64194],\"mapped\",[36664]],[[64195,64195],\"mapped\",[36978]],[[64196,64196],\"mapped\",[37273]],[[64197,64197],\"mapped\",[37494]],[[64198,64198],\"mapped\",[38524]],[[64199,64199],\"mapped\",[38627]],[[64200,64200],\"mapped\",[38742]],[[64201,64201],\"mapped\",[38875]],[[64202,64202],\"mapped\",[38911]],[[64203,64203],\"mapped\",[38923]],[[64204,64204],\"mapped\",[38971]],[[64205,64205],\"mapped\",[39698]],[[64206,64206],\"mapped\",[40860]],[[64207,64207],\"mapped\",[141386]],[[64208,64208],\"mapped\",[141380]],[[64209,64209],\"mapped\",[144341]],[[64210,64210],\"mapped\",[15261]],[[64211,64211],\"mapped\",[16408]],[[64212,64212],\"mapped\",[16441]],[[64213,64213],\"mapped\",[152137]],[[64214,64214],\"mapped\",[154832]],[[64215,64215],\"mapped\",[163539]],[[64216,64216],\"mapped\",[40771]],[[64217,64217],\"mapped\",[40846]],[[64218,64255],\"disallowed\"],[[64256,64256],\"mapped\",[102,102]],[[64257,64257],\"mapped\",[102,105]],[[64258,64258],\"mapped\",[102,108]],[[64259,64259],\"mapped\",[102,102,105]],[[64260,64260],\"mapped\",[102,102,108]],[[64261,64262],\"mapped\",[115,116]],[[64263,64274],\"disallowed\"],[[64275,64275],\"mapped\",[1396,1398]],[[64276,64276],\"mapped\",[1396,1381]],[[64277,64277],\"mapped\",[1396,1387]],[[64278,64278],\"mapped\",[1406,1398]],[[64279,64279],\"mapped\",[1396,1389]],[[64280,64284],\"disallowed\"],[[64285,64285],\"mapped\",[1497,1460]],[[64286,64286],\"valid\"],[[64287,64287],\"mapped\",[1522,1463]],[[64288,64288],\"mapped\",[1506]],[[64289,64289],\"mapped\",[1488]],[[64290,64290],\"mapped\",[1491]],[[64291,64291],\"mapped\",[1492]],[[64292,64292],\"mapped\",[1499]],[[64293,64293],\"mapped\",[1500]],[[64294,64294],\"mapped\",[1501]],[[64295,64295],\"mapped\",[1512]],[[64296,64296],\"mapped\",[1514]],[[64297,64297],\"disallowed_STD3_mapped\",[43]],[[64298,64298],\"mapped\",[1513,1473]],[[64299,64299],\"mapped\",[1513,1474]],[[64300,64300],\"mapped\",[1513,1468,1473]],[[64301,64301],\"mapped\",[1513,1468,1474]],[[64302,64302],\"mapped\",[1488,1463]],[[64303,64303],\"mapped\",[1488,1464]],[[64304,64304],\"mapped\",[1488,1468]],[[64305,64305],\"mapped\",[1489,1468]],[[64306,64306],\"mapped\",[1490,1468]],[[64307,64307],\"mapped\",[1491,1468]],[[64308,64308],\"mapped\",[1492,1468]],[[64309,64309],\"mapped\",[1493,1468]],[[64310,64310],\"mapped\",[1494,1468]],[[64311,64311],\"disallowed\"],[[64312,64312],\"mapped\",[1496,1468]],[[64313,64313],\"mapped\",[1497,1468]],[[64314,64314],\"mapped\",[1498,1468]],[[64315,64315],\"mapped\",[1499,1468]],[[64316,64316],\"mapped\",[1500,1468]],[[64317,64317],\"disallowed\"],[[64318,64318],\"mapped\",[1502,1468]],[[64319,64319],\"disallowed\"],[[64320,64320],\"mapped\",[1504,1468]],[[64321,64321],\"mapped\",[1505,1468]],[[64322,64322],\"disallowed\"],[[64323,64323],\"mapped\",[1507,1468]],[[64324,64324],\"mapped\",[1508,1468]],[[64325,64325],\"disallowed\"],[[64326,64326],\"mapped\",[1510,1468]],[[64327,64327],\"mapped\",[1511,1468]],[[64328,64328],\"mapped\",[1512,1468]],[[64329,64329],\"mapped\",[1513,1468]],[[64330,64330],\"mapped\",[1514,1468]],[[64331,64331],\"mapped\",[1493,1465]],[[64332,64332],\"mapped\",[1489,1471]],[[64333,64333],\"mapped\",[1499,1471]],[[64334,64334],\"mapped\",[1508,1471]],[[64335,64335],\"mapped\",[1488,1500]],[[64336,64337],\"mapped\",[1649]],[[64338,64341],\"mapped\",[1659]],[[64342,64345],\"mapped\",[1662]],[[64346,64349],\"mapped\",[1664]],[[64350,64353],\"mapped\",[1658]],[[64354,64357],\"mapped\",[1663]],[[64358,64361],\"mapped\",[1657]],[[64362,64365],\"mapped\",[1700]],[[64366,64369],\"mapped\",[1702]],[[64370,64373],\"mapped\",[1668]],[[64374,64377],\"mapped\",[1667]],[[64378,64381],\"mapped\",[1670]],[[64382,64385],\"mapped\",[1671]],[[64386,64387],\"mapped\",[1677]],[[64388,64389],\"mapped\",[1676]],[[64390,64391],\"mapped\",[1678]],[[64392,64393],\"mapped\",[1672]],[[64394,64395],\"mapped\",[1688]],[[64396,64397],\"mapped\",[1681]],[[64398,64401],\"mapped\",[1705]],[[64402,64405],\"mapped\",[1711]],[[64406,64409],\"mapped\",[1715]],[[64410,64413],\"mapped\",[1713]],[[64414,64415],\"mapped\",[1722]],[[64416,64419],\"mapped\",[1723]],[[64420,64421],\"mapped\",[1728]],[[64422,64425],\"mapped\",[1729]],[[64426,64429],\"mapped\",[1726]],[[64430,64431],\"mapped\",[1746]],[[64432,64433],\"mapped\",[1747]],[[64434,64449],\"valid\",[],\"NV8\"],[[64450,64466],\"disallowed\"],[[64467,64470],\"mapped\",[1709]],[[64471,64472],\"mapped\",[1735]],[[64473,64474],\"mapped\",[1734]],[[64475,64476],\"mapped\",[1736]],[[64477,64477],\"mapped\",[1735,1652]],[[64478,64479],\"mapped\",[1739]],[[64480,64481],\"mapped\",[1733]],[[64482,64483],\"mapped\",[1737]],[[64484,64487],\"mapped\",[1744]],[[64488,64489],\"mapped\",[1609]],[[64490,64491],\"mapped\",[1574,1575]],[[64492,64493],\"mapped\",[1574,1749]],[[64494,64495],\"mapped\",[1574,1608]],[[64496,64497],\"mapped\",[1574,1735]],[[64498,64499],\"mapped\",[1574,1734]],[[64500,64501],\"mapped\",[1574,1736]],[[64502,64504],\"mapped\",[1574,1744]],[[64505,64507],\"mapped\",[1574,1609]],[[64508,64511],\"mapped\",[1740]],[[64512,64512],\"mapped\",[1574,1580]],[[64513,64513],\"mapped\",[1574,1581]],[[64514,64514],\"mapped\",[1574,1605]],[[64515,64515],\"mapped\",[1574,1609]],[[64516,64516],\"mapped\",[1574,1610]],[[64517,64517],\"mapped\",[1576,1580]],[[64518,64518],\"mapped\",[1576,1581]],[[64519,64519],\"mapped\",[1576,1582]],[[64520,64520],\"mapped\",[1576,1605]],[[64521,64521],\"mapped\",[1576,1609]],[[64522,64522],\"mapped\",[1576,1610]],[[64523,64523],\"mapped\",[1578,1580]],[[64524,64524],\"mapped\",[1578,1581]],[[64525,64525],\"mapped\",[1578,1582]],[[64526,64526],\"mapped\",[1578,1605]],[[64527,64527],\"mapped\",[1578,1609]],[[64528,64528],\"mapped\",[1578,1610]],[[64529,64529],\"mapped\",[1579,1580]],[[64530,64530],\"mapped\",[1579,1605]],[[64531,64531],\"mapped\",[1579,1609]],[[64532,64532],\"mapped\",[1579,1610]],[[64533,64533],\"mapped\",[1580,1581]],[[64534,64534],\"mapped\",[1580,1605]],[[64535,64535],\"mapped\",[1581,1580]],[[64536,64536],\"mapped\",[1581,1605]],[[64537,64537],\"mapped\",[1582,1580]],[[64538,64538],\"mapped\",[1582,1581]],[[64539,64539],\"mapped\",[1582,1605]],[[64540,64540],\"mapped\",[1587,1580]],[[64541,64541],\"mapped\",[1587,1581]],[[64542,64542],\"mapped\",[1587,1582]],[[64543,64543],\"mapped\",[1587,1605]],[[64544,64544],\"mapped\",[1589,1581]],[[64545,64545],\"mapped\",[1589,1605]],[[64546,64546],\"mapped\",[1590,1580]],[[64547,64547],\"mapped\",[1590,1581]],[[64548,64548],\"mapped\",[1590,1582]],[[64549,64549],\"mapped\",[1590,1605]],[[64550,64550],\"mapped\",[1591,1581]],[[64551,64551],\"mapped\",[1591,1605]],[[64552,64552],\"mapped\",[1592,1605]],[[64553,64553],\"mapped\",[1593,1580]],[[64554,64554],\"mapped\",[1593,1605]],[[64555,64555],\"mapped\",[1594,1580]],[[64556,64556],\"mapped\",[1594,1605]],[[64557,64557],\"mapped\",[1601,1580]],[[64558,64558],\"mapped\",[1601,1581]],[[64559,64559],\"mapped\",[1601,1582]],[[64560,64560],\"mapped\",[1601,1605]],[[64561,64561],\"mapped\",[1601,1609]],[[64562,64562],\"mapped\",[1601,1610]],[[64563,64563],\"mapped\",[1602,1581]],[[64564,64564],\"mapped\",[1602,1605]],[[64565,64565],\"mapped\",[1602,1609]],[[64566,64566],\"mapped\",[1602,1610]],[[64567,64567],\"mapped\",[1603,1575]],[[64568,64568],\"mapped\",[1603,1580]],[[64569,64569],\"mapped\",[1603,1581]],[[64570,64570],\"mapped\",[1603,1582]],[[64571,64571],\"mapped\",[1603,1604]],[[64572,64572],\"mapped\",[1603,1605]],[[64573,64573],\"mapped\",[1603,1609]],[[64574,64574],\"mapped\",[1603,1610]],[[64575,64575],\"mapped\",[1604,1580]],[[64576,64576],\"mapped\",[1604,1581]],[[64577,64577],\"mapped\",[1604,1582]],[[64578,64578],\"mapped\",[1604,1605]],[[64579,64579],\"mapped\",[1604,1609]],[[64580,64580],\"mapped\",[1604,1610]],[[64581,64581],\"mapped\",[1605,1580]],[[64582,64582],\"mapped\",[1605,1581]],[[64583,64583],\"mapped\",[1605,1582]],[[64584,64584],\"mapped\",[1605,1605]],[[64585,64585],\"mapped\",[1605,1609]],[[64586,64586],\"mapped\",[1605,1610]],[[64587,64587],\"mapped\",[1606,1580]],[[64588,64588],\"mapped\",[1606,1581]],[[64589,64589],\"mapped\",[1606,1582]],[[64590,64590],\"mapped\",[1606,1605]],[[64591,64591],\"mapped\",[1606,1609]],[[64592,64592],\"mapped\",[1606,1610]],[[64593,64593],\"mapped\",[1607,1580]],[[64594,64594],\"mapped\",[1607,1605]],[[64595,64595],\"mapped\",[1607,1609]],[[64596,64596],\"mapped\",[1607,1610]],[[64597,64597],\"mapped\",[1610,1580]],[[64598,64598],\"mapped\",[1610,1581]],[[64599,64599],\"mapped\",[1610,1582]],[[64600,64600],\"mapped\",[1610,1605]],[[64601,64601],\"mapped\",[1610,1609]],[[64602,64602],\"mapped\",[1610,1610]],[[64603,64603],\"mapped\",[1584,1648]],[[64604,64604],\"mapped\",[1585,1648]],[[64605,64605],\"mapped\",[1609,1648]],[[64606,64606],\"disallowed_STD3_mapped\",[32,1612,1617]],[[64607,64607],\"disallowed_STD3_mapped\",[32,1613,1617]],[[64608,64608],\"disallowed_STD3_mapped\",[32,1614,1617]],[[64609,64609],\"disallowed_STD3_mapped\",[32,1615,1617]],[[64610,64610],\"disallowed_STD3_mapped\",[32,1616,1617]],[[64611,64611],\"disallowed_STD3_mapped\",[32,1617,1648]],[[64612,64612],\"mapped\",[1574,1585]],[[64613,64613],\"mapped\",[1574,1586]],[[64614,64614],\"mapped\",[1574,1605]],[[64615,64615],\"mapped\",[1574,1606]],[[64616,64616],\"mapped\",[1574,1609]],[[64617,64617],\"mapped\",[1574,1610]],[[64618,64618],\"mapped\",[1576,1585]],[[64619,64619],\"mapped\",[1576,1586]],[[64620,64620],\"mapped\",[1576,1605]],[[64621,64621],\"mapped\",[1576,1606]],[[64622,64622],\"mapped\",[1576,1609]],[[64623,64623],\"mapped\",[1576,1610]],[[64624,64624],\"mapped\",[1578,1585]],[[64625,64625],\"mapped\",[1578,1586]],[[64626,64626],\"mapped\",[1578,1605]],[[64627,64627],\"mapped\",[1578,1606]],[[64628,64628],\"mapped\",[1578,1609]],[[64629,64629],\"mapped\",[1578,1610]],[[64630,64630],\"mapped\",[1579,1585]],[[64631,64631],\"mapped\",[1579,1586]],[[64632,64632],\"mapped\",[1579,1605]],[[64633,64633],\"mapped\",[1579,1606]],[[64634,64634],\"mapped\",[1579,1609]],[[64635,64635],\"mapped\",[1579,1610]],[[64636,64636],\"mapped\",[1601,1609]],[[64637,64637],\"mapped\",[1601,1610]],[[64638,64638],\"mapped\",[1602,1609]],[[64639,64639],\"mapped\",[1602,1610]],[[64640,64640],\"mapped\",[1603,1575]],[[64641,64641],\"mapped\",[1603,1604]],[[64642,64642],\"mapped\",[1603,1605]],[[64643,64643],\"mapped\",[1603,1609]],[[64644,64644],\"mapped\",[1603,1610]],[[64645,64645],\"mapped\",[1604,1605]],[[64646,64646],\"mapped\",[1604,1609]],[[64647,64647],\"mapped\",[1604,1610]],[[64648,64648],\"mapped\",[1605,1575]],[[64649,64649],\"mapped\",[1605,1605]],[[64650,64650],\"mapped\",[1606,1585]],[[64651,64651],\"mapped\",[1606,1586]],[[64652,64652],\"mapped\",[1606,1605]],[[64653,64653],\"mapped\",[1606,1606]],[[64654,64654],\"mapped\",[1606,1609]],[[64655,64655],\"mapped\",[1606,1610]],[[64656,64656],\"mapped\",[1609,1648]],[[64657,64657],\"mapped\",[1610,1585]],[[64658,64658],\"mapped\",[1610,1586]],[[64659,64659],\"mapped\",[1610,1605]],[[64660,64660],\"mapped\",[1610,1606]],[[64661,64661],\"mapped\",[1610,1609]],[[64662,64662],\"mapped\",[1610,1610]],[[64663,64663],\"mapped\",[1574,1580]],[[64664,64664],\"mapped\",[1574,1581]],[[64665,64665],\"mapped\",[1574,1582]],[[64666,64666],\"mapped\",[1574,1605]],[[64667,64667],\"mapped\",[1574,1607]],[[64668,64668],\"mapped\",[1576,1580]],[[64669,64669],\"mapped\",[1576,1581]],[[64670,64670],\"mapped\",[1576,1582]],[[64671,64671],\"mapped\",[1576,1605]],[[64672,64672],\"mapped\",[1576,1607]],[[64673,64673],\"mapped\",[1578,1580]],[[64674,64674],\"mapped\",[1578,1581]],[[64675,64675],\"mapped\",[1578,1582]],[[64676,64676],\"mapped\",[1578,1605]],[[64677,64677],\"mapped\",[1578,1607]],[[64678,64678],\"mapped\",[1579,1605]],[[64679,64679],\"mapped\",[1580,1581]],[[64680,64680],\"mapped\",[1580,1605]],[[64681,64681],\"mapped\",[1581,1580]],[[64682,64682],\"mapped\",[1581,1605]],[[64683,64683],\"mapped\",[1582,1580]],[[64684,64684],\"mapped\",[1582,1605]],[[64685,64685],\"mapped\",[1587,1580]],[[64686,64686],\"mapped\",[1587,1581]],[[64687,64687],\"mapped\",[1587,1582]],[[64688,64688],\"mapped\",[1587,1605]],[[64689,64689],\"mapped\",[1589,1581]],[[64690,64690],\"mapped\",[1589,1582]],[[64691,64691],\"mapped\",[1589,1605]],[[64692,64692],\"mapped\",[1590,1580]],[[64693,64693],\"mapped\",[1590,1581]],[[64694,64694],\"mapped\",[1590,1582]],[[64695,64695],\"mapped\",[1590,1605]],[[64696,64696],\"mapped\",[1591,1581]],[[64697,64697],\"mapped\",[1592,1605]],[[64698,64698],\"mapped\",[1593,1580]],[[64699,64699],\"mapped\",[1593,1605]],[[64700,64700],\"mapped\",[1594,1580]],[[64701,64701],\"mapped\",[1594,1605]],[[64702,64702],\"mapped\",[1601,1580]],[[64703,64703],\"mapped\",[1601,1581]],[[64704,64704],\"mapped\",[1601,1582]],[[64705,64705],\"mapped\",[1601,1605]],[[64706,64706],\"mapped\",[1602,1581]],[[64707,64707],\"mapped\",[1602,1605]],[[64708,64708],\"mapped\",[1603,1580]],[[64709,64709],\"mapped\",[1603,1581]],[[64710,64710],\"mapped\",[1603,1582]],[[64711,64711],\"mapped\",[1603,1604]],[[64712,64712],\"mapped\",[1603,1605]],[[64713,64713],\"mapped\",[1604,1580]],[[64714,64714],\"mapped\",[1604,1581]],[[64715,64715],\"mapped\",[1604,1582]],[[64716,64716],\"mapped\",[1604,1605]],[[64717,64717],\"mapped\",[1604,1607]],[[64718,64718],\"mapped\",[1605,1580]],[[64719,64719],\"mapped\",[1605,1581]],[[64720,64720],\"mapped\",[1605,1582]],[[64721,64721],\"mapped\",[1605,1605]],[[64722,64722],\"mapped\",[1606,1580]],[[64723,64723],\"mapped\",[1606,1581]],[[64724,64724],\"mapped\",[1606,1582]],[[64725,64725],\"mapped\",[1606,1605]],[[64726,64726],\"mapped\",[1606,1607]],[[64727,64727],\"mapped\",[1607,1580]],[[64728,64728],\"mapped\",[1607,1605]],[[64729,64729],\"mapped\",[1607,1648]],[[64730,64730],\"mapped\",[1610,1580]],[[64731,64731],\"mapped\",[1610,1581]],[[64732,64732],\"mapped\",[1610,1582]],[[64733,64733],\"mapped\",[1610,1605]],[[64734,64734],\"mapped\",[1610,1607]],[[64735,64735],\"mapped\",[1574,1605]],[[64736,64736],\"mapped\",[1574,1607]],[[64737,64737],\"mapped\",[1576,1605]],[[64738,64738],\"mapped\",[1576,1607]],[[64739,64739],\"mapped\",[1578,1605]],[[64740,64740],\"mapped\",[1578,1607]],[[64741,64741],\"mapped\",[1579,1605]],[[64742,64742],\"mapped\",[1579,1607]],[[64743,64743],\"mapped\",[1587,1605]],[[64744,64744],\"mapped\",[1587,1607]],[[64745,64745],\"mapped\",[1588,1605]],[[64746,64746],\"mapped\",[1588,1607]],[[64747,64747],\"mapped\",[1603,1604]],[[64748,64748],\"mapped\",[1603,1605]],[[64749,64749],\"mapped\",[1604,1605]],[[64750,64750],\"mapped\",[1606,1605]],[[64751,64751],\"mapped\",[1606,1607]],[[64752,64752],\"mapped\",[1610,1605]],[[64753,64753],\"mapped\",[1610,1607]],[[64754,64754],\"mapped\",[1600,1614,1617]],[[64755,64755],\"mapped\",[1600,1615,1617]],[[64756,64756],\"mapped\",[1600,1616,1617]],[[64757,64757],\"mapped\",[1591,1609]],[[64758,64758],\"mapped\",[1591,1610]],[[64759,64759],\"mapped\",[1593,1609]],[[64760,64760],\"mapped\",[1593,1610]],[[64761,64761],\"mapped\",[1594,1609]],[[64762,64762],\"mapped\",[1594,1610]],[[64763,64763],\"mapped\",[1587,1609]],[[64764,64764],\"mapped\",[1587,1610]],[[64765,64765],\"mapped\",[1588,1609]],[[64766,64766],\"mapped\",[1588,1610]],[[64767,64767],\"mapped\",[1581,1609]],[[64768,64768],\"mapped\",[1581,1610]],[[64769,64769],\"mapped\",[1580,1609]],[[64770,64770],\"mapped\",[1580,1610]],[[64771,64771],\"mapped\",[1582,1609]],[[64772,64772],\"mapped\",[1582,1610]],[[64773,64773],\"mapped\",[1589,1609]],[[64774,64774],\"mapped\",[1589,1610]],[[64775,64775],\"mapped\",[1590,1609]],[[64776,64776],\"mapped\",[1590,1610]],[[64777,64777],\"mapped\",[1588,1580]],[[64778,64778],\"mapped\",[1588,1581]],[[64779,64779],\"mapped\",[1588,1582]],[[64780,64780],\"mapped\",[1588,1605]],[[64781,64781],\"mapped\",[1588,1585]],[[64782,64782],\"mapped\",[1587,1585]],[[64783,64783],\"mapped\",[1589,1585]],[[64784,64784],\"mapped\",[1590,1585]],[[64785,64785],\"mapped\",[1591,1609]],[[64786,64786],\"mapped\",[1591,1610]],[[64787,64787],\"mapped\",[1593,1609]],[[64788,64788],\"mapped\",[1593,1610]],[[64789,64789],\"mapped\",[1594,1609]],[[64790,64790],\"mapped\",[1594,1610]],[[64791,64791],\"mapped\",[1587,1609]],[[64792,64792],\"mapped\",[1587,1610]],[[64793,64793],\"mapped\",[1588,1609]],[[64794,64794],\"mapped\",[1588,1610]],[[64795,64795],\"mapped\",[1581,1609]],[[64796,64796],\"mapped\",[1581,1610]],[[64797,64797],\"mapped\",[1580,1609]],[[64798,64798],\"mapped\",[1580,1610]],[[64799,64799],\"mapped\",[1582,1609]],[[64800,64800],\"mapped\",[1582,1610]],[[64801,64801],\"mapped\",[1589,1609]],[[64802,64802],\"mapped\",[1589,1610]],[[64803,64803],\"mapped\",[1590,1609]],[[64804,64804],\"mapped\",[1590,1610]],[[64805,64805],\"mapped\",[1588,1580]],[[64806,64806],\"mapped\",[1588,1581]],[[64807,64807],\"mapped\",[1588,1582]],[[64808,64808],\"mapped\",[1588,1605]],[[64809,64809],\"mapped\",[1588,1585]],[[64810,64810],\"mapped\",[1587,1585]],[[64811,64811],\"mapped\",[1589,1585]],[[64812,64812],\"mapped\",[1590,1585]],[[64813,64813],\"mapped\",[1588,1580]],[[64814,64814],\"mapped\",[1588,1581]],[[64815,64815],\"mapped\",[1588,1582]],[[64816,64816],\"mapped\",[1588,1605]],[[64817,64817],\"mapped\",[1587,1607]],[[64818,64818],\"mapped\",[1588,1607]],[[64819,64819],\"mapped\",[1591,1605]],[[64820,64820],\"mapped\",[1587,1580]],[[64821,64821],\"mapped\",[1587,1581]],[[64822,64822],\"mapped\",[1587,1582]],[[64823,64823],\"mapped\",[1588,1580]],[[64824,64824],\"mapped\",[1588,1581]],[[64825,64825],\"mapped\",[1588,1582]],[[64826,64826],\"mapped\",[1591,1605]],[[64827,64827],\"mapped\",[1592,1605]],[[64828,64829],\"mapped\",[1575,1611]],[[64830,64831],\"valid\",[],\"NV8\"],[[64832,64847],\"disallowed\"],[[64848,64848],\"mapped\",[1578,1580,1605]],[[64849,64850],\"mapped\",[1578,1581,1580]],[[64851,64851],\"mapped\",[1578,1581,1605]],[[64852,64852],\"mapped\",[1578,1582,1605]],[[64853,64853],\"mapped\",[1578,1605,1580]],[[64854,64854],\"mapped\",[1578,1605,1581]],[[64855,64855],\"mapped\",[1578,1605,1582]],[[64856,64857],\"mapped\",[1580,1605,1581]],[[64858,64858],\"mapped\",[1581,1605,1610]],[[64859,64859],\"mapped\",[1581,1605,1609]],[[64860,64860],\"mapped\",[1587,1581,1580]],[[64861,64861],\"mapped\",[1587,1580,1581]],[[64862,64862],\"mapped\",[1587,1580,1609]],[[64863,64864],\"mapped\",[1587,1605,1581]],[[64865,64865],\"mapped\",[1587,1605,1580]],[[64866,64867],\"mapped\",[1587,1605,1605]],[[64868,64869],\"mapped\",[1589,1581,1581]],[[64870,64870],\"mapped\",[1589,1605,1605]],[[64871,64872],\"mapped\",[1588,1581,1605]],[[64873,64873],\"mapped\",[1588,1580,1610]],[[64874,64875],\"mapped\",[1588,1605,1582]],[[64876,64877],\"mapped\",[1588,1605,1605]],[[64878,64878],\"mapped\",[1590,1581,1609]],[[64879,64880],\"mapped\",[1590,1582,1605]],[[64881,64882],\"mapped\",[1591,1605,1581]],[[64883,64883],\"mapped\",[1591,1605,1605]],[[64884,64884],\"mapped\",[1591,1605,1610]],[[64885,64885],\"mapped\",[1593,1580,1605]],[[64886,64887],\"mapped\",[1593,1605,1605]],[[64888,64888],\"mapped\",[1593,1605,1609]],[[64889,64889],\"mapped\",[1594,1605,1605]],[[64890,64890],\"mapped\",[1594,1605,1610]],[[64891,64891],\"mapped\",[1594,1605,1609]],[[64892,64893],\"mapped\",[1601,1582,1605]],[[64894,64894],\"mapped\",[1602,1605,1581]],[[64895,64895],\"mapped\",[1602,1605,1605]],[[64896,64896],\"mapped\",[1604,1581,1605]],[[64897,64897],\"mapped\",[1604,1581,1610]],[[64898,64898],\"mapped\",[1604,1581,1609]],[[64899,64900],\"mapped\",[1604,1580,1580]],[[64901,64902],\"mapped\",[1604,1582,1605]],[[64903,64904],\"mapped\",[1604,1605,1581]],[[64905,64905],\"mapped\",[1605,1581,1580]],[[64906,64906],\"mapped\",[1605,1581,1605]],[[64907,64907],\"mapped\",[1605,1581,1610]],[[64908,64908],\"mapped\",[1605,1580,1581]],[[64909,64909],\"mapped\",[1605,1580,1605]],[[64910,64910],\"mapped\",[1605,1582,1580]],[[64911,64911],\"mapped\",[1605,1582,1605]],[[64912,64913],\"disallowed\"],[[64914,64914],\"mapped\",[1605,1580,1582]],[[64915,64915],\"mapped\",[1607,1605,1580]],[[64916,64916],\"mapped\",[1607,1605,1605]],[[64917,64917],\"mapped\",[1606,1581,1605]],[[64918,64918],\"mapped\",[1606,1581,1609]],[[64919,64920],\"mapped\",[1606,1580,1605]],[[64921,64921],\"mapped\",[1606,1580,1609]],[[64922,64922],\"mapped\",[1606,1605,1610]],[[64923,64923],\"mapped\",[1606,1605,1609]],[[64924,64925],\"mapped\",[1610,1605,1605]],[[64926,64926],\"mapped\",[1576,1582,1610]],[[64927,64927],\"mapped\",[1578,1580,1610]],[[64928,64928],\"mapped\",[1578,1580,1609]],[[64929,64929],\"mapped\",[1578,1582,1610]],[[64930,64930],\"mapped\",[1578,1582,1609]],[[64931,64931],\"mapped\",[1578,1605,1610]],[[64932,64932],\"mapped\",[1578,1605,1609]],[[64933,64933],\"mapped\",[1580,1605,1610]],[[64934,64934],\"mapped\",[1580,1581,1609]],[[64935,64935],\"mapped\",[1580,1605,1609]],[[64936,64936],\"mapped\",[1587,1582,1609]],[[64937,64937],\"mapped\",[1589,1581,1610]],[[64938,64938],\"mapped\",[1588,1581,1610]],[[64939,64939],\"mapped\",[1590,1581,1610]],[[64940,64940],\"mapped\",[1604,1580,1610]],[[64941,64941],\"mapped\",[1604,1605,1610]],[[64942,64942],\"mapped\",[1610,1581,1610]],[[64943,64943],\"mapped\",[1610,1580,1610]],[[64944,64944],\"mapped\",[1610,1605,1610]],[[64945,64945],\"mapped\",[1605,1605,1610]],[[64946,64946],\"mapped\",[1602,1605,1610]],[[64947,64947],\"mapped\",[1606,1581,1610]],[[64948,64948],\"mapped\",[1602,1605,1581]],[[64949,64949],\"mapped\",[1604,1581,1605]],[[64950,64950],\"mapped\",[1593,1605,1610]],[[64951,64951],\"mapped\",[1603,1605,1610]],[[64952,64952],\"mapped\",[1606,1580,1581]],[[64953,64953],\"mapped\",[1605,1582,1610]],[[64954,64954],\"mapped\",[1604,1580,1605]],[[64955,64955],\"mapped\",[1603,1605,1605]],[[64956,64956],\"mapped\",[1604,1580,1605]],[[64957,64957],\"mapped\",[1606,1580,1581]],[[64958,64958],\"mapped\",[1580,1581,1610]],[[64959,64959],\"mapped\",[1581,1580,1610]],[[64960,64960],\"mapped\",[1605,1580,1610]],[[64961,64961],\"mapped\",[1601,1605,1610]],[[64962,64962],\"mapped\",[1576,1581,1610]],[[64963,64963],\"mapped\",[1603,1605,1605]],[[64964,64964],\"mapped\",[1593,1580,1605]],[[64965,64965],\"mapped\",[1589,1605,1605]],[[64966,64966],\"mapped\",[1587,1582,1610]],[[64967,64967],\"mapped\",[1606,1580,1610]],[[64968,64975],\"disallowed\"],[[64976,65007],\"disallowed\"],[[65008,65008],\"mapped\",[1589,1604,1746]],[[65009,65009],\"mapped\",[1602,1604,1746]],[[65010,65010],\"mapped\",[1575,1604,1604,1607]],[[65011,65011],\"mapped\",[1575,1603,1576,1585]],[[65012,65012],\"mapped\",[1605,1581,1605,1583]],[[65013,65013],\"mapped\",[1589,1604,1593,1605]],[[65014,65014],\"mapped\",[1585,1587,1608,1604]],[[65015,65015],\"mapped\",[1593,1604,1610,1607]],[[65016,65016],\"mapped\",[1608,1587,1604,1605]],[[65017,65017],\"mapped\",[1589,1604,1609]],[[65018,65018],\"disallowed_STD3_mapped\",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],\"disallowed_STD3_mapped\",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],\"mapped\",[1585,1740,1575,1604]],[[65021,65021],\"valid\",[],\"NV8\"],[[65022,65023],\"disallowed\"],[[65024,65039],\"ignored\"],[[65040,65040],\"disallowed_STD3_mapped\",[44]],[[65041,65041],\"mapped\",[12289]],[[65042,65042],\"disallowed\"],[[65043,65043],\"disallowed_STD3_mapped\",[58]],[[65044,65044],\"disallowed_STD3_mapped\",[59]],[[65045,65045],\"disallowed_STD3_mapped\",[33]],[[65046,65046],\"disallowed_STD3_mapped\",[63]],[[65047,65047],\"mapped\",[12310]],[[65048,65048],\"mapped\",[12311]],[[65049,65049],\"disallowed\"],[[65050,65055],\"disallowed\"],[[65056,65059],\"valid\"],[[65060,65062],\"valid\"],[[65063,65069],\"valid\"],[[65070,65071],\"valid\"],[[65072,65072],\"disallowed\"],[[65073,65073],\"mapped\",[8212]],[[65074,65074],\"mapped\",[8211]],[[65075,65076],\"disallowed_STD3_mapped\",[95]],[[65077,65077],\"disallowed_STD3_mapped\",[40]],[[65078,65078],\"disallowed_STD3_mapped\",[41]],[[65079,65079],\"disallowed_STD3_mapped\",[123]],[[65080,65080],\"disallowed_STD3_mapped\",[125]],[[65081,65081],\"mapped\",[12308]],[[65082,65082],\"mapped\",[12309]],[[65083,65083],\"mapped\",[12304]],[[65084,65084],\"mapped\",[12305]],[[65085,65085],\"mapped\",[12298]],[[65086,65086],\"mapped\",[12299]],[[65087,65087],\"mapped\",[12296]],[[65088,65088],\"mapped\",[12297]],[[65089,65089],\"mapped\",[12300]],[[65090,65090],\"mapped\",[12301]],[[65091,65091],\"mapped\",[12302]],[[65092,65092],\"mapped\",[12303]],[[65093,65094],\"valid\",[],\"NV8\"],[[65095,65095],\"disallowed_STD3_mapped\",[91]],[[65096,65096],\"disallowed_STD3_mapped\",[93]],[[65097,65100],\"disallowed_STD3_mapped\",[32,773]],[[65101,65103],\"disallowed_STD3_mapped\",[95]],[[65104,65104],\"disallowed_STD3_mapped\",[44]],[[65105,65105],\"mapped\",[12289]],[[65106,65106],\"disallowed\"],[[65107,65107],\"disallowed\"],[[65108,65108],\"disallowed_STD3_mapped\",[59]],[[65109,65109],\"disallowed_STD3_mapped\",[58]],[[65110,65110],\"disallowed_STD3_mapped\",[63]],[[65111,65111],\"disallowed_STD3_mapped\",[33]],[[65112,65112],\"mapped\",[8212]],[[65113,65113],\"disallowed_STD3_mapped\",[40]],[[65114,65114],\"disallowed_STD3_mapped\",[41]],[[65115,65115],\"disallowed_STD3_mapped\",[123]],[[65116,65116],\"disallowed_STD3_mapped\",[125]],[[65117,65117],\"mapped\",[12308]],[[65118,65118],\"mapped\",[12309]],[[65119,65119],\"disallowed_STD3_mapped\",[35]],[[65120,65120],\"disallowed_STD3_mapped\",[38]],[[65121,65121],\"disallowed_STD3_mapped\",[42]],[[65122,65122],\"disallowed_STD3_mapped\",[43]],[[65123,65123],\"mapped\",[45]],[[65124,65124],\"disallowed_STD3_mapped\",[60]],[[65125,65125],\"disallowed_STD3_mapped\",[62]],[[65126,65126],\"disallowed_STD3_mapped\",[61]],[[65127,65127],\"disallowed\"],[[65128,65128],\"disallowed_STD3_mapped\",[92]],[[65129,65129],\"disallowed_STD3_mapped\",[36]],[[65130,65130],\"disallowed_STD3_mapped\",[37]],[[65131,65131],\"disallowed_STD3_mapped\",[64]],[[65132,65135],\"disallowed\"],[[65136,65136],\"disallowed_STD3_mapped\",[32,1611]],[[65137,65137],\"mapped\",[1600,1611]],[[65138,65138],\"disallowed_STD3_mapped\",[32,1612]],[[65139,65139],\"valid\"],[[65140,65140],\"disallowed_STD3_mapped\",[32,1613]],[[65141,65141],\"disallowed\"],[[65142,65142],\"disallowed_STD3_mapped\",[32,1614]],[[65143,65143],\"mapped\",[1600,1614]],[[65144,65144],\"disallowed_STD3_mapped\",[32,1615]],[[65145,65145],\"mapped\",[1600,1615]],[[65146,65146],\"disallowed_STD3_mapped\",[32,1616]],[[65147,65147],\"mapped\",[1600,1616]],[[65148,65148],\"disallowed_STD3_mapped\",[32,1617]],[[65149,65149],\"mapped\",[1600,1617]],[[65150,65150],\"disallowed_STD3_mapped\",[32,1618]],[[65151,65151],\"mapped\",[1600,1618]],[[65152,65152],\"mapped\",[1569]],[[65153,65154],\"mapped\",[1570]],[[65155,65156],\"mapped\",[1571]],[[65157,65158],\"mapped\",[1572]],[[65159,65160],\"mapped\",[1573]],[[65161,65164],\"mapped\",[1574]],[[65165,65166],\"mapped\",[1575]],[[65167,65170],\"mapped\",[1576]],[[65171,65172],\"mapped\",[1577]],[[65173,65176],\"mapped\",[1578]],[[65177,65180],\"mapped\",[1579]],[[65181,65184],\"mapped\",[1580]],[[65185,65188],\"mapped\",[1581]],[[65189,65192],\"mapped\",[1582]],[[65193,65194],\"mapped\",[1583]],[[65195,65196],\"mapped\",[1584]],[[65197,65198],\"mapped\",[1585]],[[65199,65200],\"mapped\",[1586]],[[65201,65204],\"mapped\",[1587]],[[65205,65208],\"mapped\",[1588]],[[65209,65212],\"mapped\",[1589]],[[65213,65216],\"mapped\",[1590]],[[65217,65220],\"mapped\",[1591]],[[65221,65224],\"mapped\",[1592]],[[65225,65228],\"mapped\",[1593]],[[65229,65232],\"mapped\",[1594]],[[65233,65236],\"mapped\",[1601]],[[65237,65240],\"mapped\",[1602]],[[65241,65244],\"mapped\",[1603]],[[65245,65248],\"mapped\",[1604]],[[65249,65252],\"mapped\",[1605]],[[65253,65256],\"mapped\",[1606]],[[65257,65260],\"mapped\",[1607]],[[65261,65262],\"mapped\",[1608]],[[65263,65264],\"mapped\",[1609]],[[65265,65268],\"mapped\",[1610]],[[65269,65270],\"mapped\",[1604,1570]],[[65271,65272],\"mapped\",[1604,1571]],[[65273,65274],\"mapped\",[1604,1573]],[[65275,65276],\"mapped\",[1604,1575]],[[65277,65278],\"disallowed\"],[[65279,65279],\"ignored\"],[[65280,65280],\"disallowed\"],[[65281,65281],\"disallowed_STD3_mapped\",[33]],[[65282,65282],\"disallowed_STD3_mapped\",[34]],[[65283,65283],\"disallowed_STD3_mapped\",[35]],[[65284,65284],\"disallowed_STD3_mapped\",[36]],[[65285,65285],\"disallowed_STD3_mapped\",[37]],[[65286,65286],\"disallowed_STD3_mapped\",[38]],[[65287,65287],\"disallowed_STD3_mapped\",[39]],[[65288,65288],\"disallowed_STD3_mapped\",[40]],[[65289,65289],\"disallowed_STD3_mapped\",[41]],[[65290,65290],\"disallowed_STD3_mapped\",[42]],[[65291,65291],\"disallowed_STD3_mapped\",[43]],[[65292,65292],\"disallowed_STD3_mapped\",[44]],[[65293,65293],\"mapped\",[45]],[[65294,65294],\"mapped\",[46]],[[65295,65295],\"disallowed_STD3_mapped\",[47]],[[65296,65296],\"mapped\",[48]],[[65297,65297],\"mapped\",[49]],[[65298,65298],\"mapped\",[50]],[[65299,65299],\"mapped\",[51]],[[65300,65300],\"mapped\",[52]],[[65301,65301],\"mapped\",[53]],[[65302,65302],\"mapped\",[54]],[[65303,65303],\"mapped\",[55]],[[65304,65304],\"mapped\",[56]],[[65305,65305],\"mapped\",[57]],[[65306,65306],\"disallowed_STD3_mapped\",[58]],[[65307,65307],\"disallowed_STD3_mapped\",[59]],[[65308,65308],\"disallowed_STD3_mapped\",[60]],[[65309,65309],\"disallowed_STD3_mapped\",[61]],[[65310,65310],\"disallowed_STD3_mapped\",[62]],[[65311,65311],\"disallowed_STD3_mapped\",[63]],[[65312,65312],\"disallowed_STD3_mapped\",[64]],[[65313,65313],\"mapped\",[97]],[[65314,65314],\"mapped\",[98]],[[65315,65315],\"mapped\",[99]],[[65316,65316],\"mapped\",[100]],[[65317,65317],\"mapped\",[101]],[[65318,65318],\"mapped\",[102]],[[65319,65319],\"mapped\",[103]],[[65320,65320],\"mapped\",[104]],[[65321,65321],\"mapped\",[105]],[[65322,65322],\"mapped\",[106]],[[65323,65323],\"mapped\",[107]],[[65324,65324],\"mapped\",[108]],[[65325,65325],\"mapped\",[109]],[[65326,65326],\"mapped\",[110]],[[65327,65327],\"mapped\",[111]],[[65328,65328],\"mapped\",[112]],[[65329,65329],\"mapped\",[113]],[[65330,65330],\"mapped\",[114]],[[65331,65331],\"mapped\",[115]],[[65332,65332],\"mapped\",[116]],[[65333,65333],\"mapped\",[117]],[[65334,65334],\"mapped\",[118]],[[65335,65335],\"mapped\",[119]],[[65336,65336],\"mapped\",[120]],[[65337,65337],\"mapped\",[121]],[[65338,65338],\"mapped\",[122]],[[65339,65339],\"disallowed_STD3_mapped\",[91]],[[65340,65340],\"disallowed_STD3_mapped\",[92]],[[65341,65341],\"disallowed_STD3_mapped\",[93]],[[65342,65342],\"disallowed_STD3_mapped\",[94]],[[65343,65343],\"disallowed_STD3_mapped\",[95]],[[65344,65344],\"disallowed_STD3_mapped\",[96]],[[65345,65345],\"mapped\",[97]],[[65346,65346],\"mapped\",[98]],[[65347,65347],\"mapped\",[99]],[[65348,65348],\"mapped\",[100]],[[65349,65349],\"mapped\",[101]],[[65350,65350],\"mapped\",[102]],[[65351,65351],\"mapped\",[103]],[[65352,65352],\"mapped\",[104]],[[65353,65353],\"mapped\",[105]],[[65354,65354],\"mapped\",[106]],[[65355,65355],\"mapped\",[107]],[[65356,65356],\"mapped\",[108]],[[65357,65357],\"mapped\",[109]],[[65358,65358],\"mapped\",[110]],[[65359,65359],\"mapped\",[111]],[[65360,65360],\"mapped\",[112]],[[65361,65361],\"mapped\",[113]],[[65362,65362],\"mapped\",[114]],[[65363,65363],\"mapped\",[115]],[[65364,65364],\"mapped\",[116]],[[65365,65365],\"mapped\",[117]],[[65366,65366],\"mapped\",[118]],[[65367,65367],\"mapped\",[119]],[[65368,65368],\"mapped\",[120]],[[65369,65369],\"mapped\",[121]],[[65370,65370],\"mapped\",[122]],[[65371,65371],\"disallowed_STD3_mapped\",[123]],[[65372,65372],\"disallowed_STD3_mapped\",[124]],[[65373,65373],\"disallowed_STD3_mapped\",[125]],[[65374,65374],\"disallowed_STD3_mapped\",[126]],[[65375,65375],\"mapped\",[10629]],[[65376,65376],\"mapped\",[10630]],[[65377,65377],\"mapped\",[46]],[[65378,65378],\"mapped\",[12300]],[[65379,65379],\"mapped\",[12301]],[[65380,65380],\"mapped\",[12289]],[[65381,65381],\"mapped\",[12539]],[[65382,65382],\"mapped\",[12530]],[[65383,65383],\"mapped\",[12449]],[[65384,65384],\"mapped\",[12451]],[[65385,65385],\"mapped\",[12453]],[[65386,65386],\"mapped\",[12455]],[[65387,65387],\"mapped\",[12457]],[[65388,65388],\"mapped\",[12515]],[[65389,65389],\"mapped\",[12517]],[[65390,65390],\"mapped\",[12519]],[[65391,65391],\"mapped\",[12483]],[[65392,65392],\"mapped\",[12540]],[[65393,65393],\"mapped\",[12450]],[[65394,65394],\"mapped\",[12452]],[[65395,65395],\"mapped\",[12454]],[[65396,65396],\"mapped\",[12456]],[[65397,65397],\"mapped\",[12458]],[[65398,65398],\"mapped\",[12459]],[[65399,65399],\"mapped\",[12461]],[[65400,65400],\"mapped\",[12463]],[[65401,65401],\"mapped\",[12465]],[[65402,65402],\"mapped\",[12467]],[[65403,65403],\"mapped\",[12469]],[[65404,65404],\"mapped\",[12471]],[[65405,65405],\"mapped\",[12473]],[[65406,65406],\"mapped\",[12475]],[[65407,65407],\"mapped\",[12477]],[[65408,65408],\"mapped\",[12479]],[[65409,65409],\"mapped\",[12481]],[[65410,65410],\"mapped\",[12484]],[[65411,65411],\"mapped\",[12486]],[[65412,65412],\"mapped\",[12488]],[[65413,65413],\"mapped\",[12490]],[[65414,65414],\"mapped\",[12491]],[[65415,65415],\"mapped\",[12492]],[[65416,65416],\"mapped\",[12493]],[[65417,65417],\"mapped\",[12494]],[[65418,65418],\"mapped\",[12495]],[[65419,65419],\"mapped\",[12498]],[[65420,65420],\"mapped\",[12501]],[[65421,65421],\"mapped\",[12504]],[[65422,65422],\"mapped\",[12507]],[[65423,65423],\"mapped\",[12510]],[[65424,65424],\"mapped\",[12511]],[[65425,65425],\"mapped\",[12512]],[[65426,65426],\"mapped\",[12513]],[[65427,65427],\"mapped\",[12514]],[[65428,65428],\"mapped\",[12516]],[[65429,65429],\"mapped\",[12518]],[[65430,65430],\"mapped\",[12520]],[[65431,65431],\"mapped\",[12521]],[[65432,65432],\"mapped\",[12522]],[[65433,65433],\"mapped\",[12523]],[[65434,65434],\"mapped\",[12524]],[[65435,65435],\"mapped\",[12525]],[[65436,65436],\"mapped\",[12527]],[[65437,65437],\"mapped\",[12531]],[[65438,65438],\"mapped\",[12441]],[[65439,65439],\"mapped\",[12442]],[[65440,65440],\"disallowed\"],[[65441,65441],\"mapped\",[4352]],[[65442,65442],\"mapped\",[4353]],[[65443,65443],\"mapped\",[4522]],[[65444,65444],\"mapped\",[4354]],[[65445,65445],\"mapped\",[4524]],[[65446,65446],\"mapped\",[4525]],[[65447,65447],\"mapped\",[4355]],[[65448,65448],\"mapped\",[4356]],[[65449,65449],\"mapped\",[4357]],[[65450,65450],\"mapped\",[4528]],[[65451,65451],\"mapped\",[4529]],[[65452,65452],\"mapped\",[4530]],[[65453,65453],\"mapped\",[4531]],[[65454,65454],\"mapped\",[4532]],[[65455,65455],\"mapped\",[4533]],[[65456,65456],\"mapped\",[4378]],[[65457,65457],\"mapped\",[4358]],[[65458,65458],\"mapped\",[4359]],[[65459,65459],\"mapped\",[4360]],[[65460,65460],\"mapped\",[4385]],[[65461,65461],\"mapped\",[4361]],[[65462,65462],\"mapped\",[4362]],[[65463,65463],\"mapped\",[4363]],[[65464,65464],\"mapped\",[4364]],[[65465,65465],\"mapped\",[4365]],[[65466,65466],\"mapped\",[4366]],[[65467,65467],\"mapped\",[4367]],[[65468,65468],\"mapped\",[4368]],[[65469,65469],\"mapped\",[4369]],[[65470,65470],\"mapped\",[4370]],[[65471,65473],\"disallowed\"],[[65474,65474],\"mapped\",[4449]],[[65475,65475],\"mapped\",[4450]],[[65476,65476],\"mapped\",[4451]],[[65477,65477],\"mapped\",[4452]],[[65478,65478],\"mapped\",[4453]],[[65479,65479],\"mapped\",[4454]],[[65480,65481],\"disallowed\"],[[65482,65482],\"mapped\",[4455]],[[65483,65483],\"mapped\",[4456]],[[65484,65484],\"mapped\",[4457]],[[65485,65485],\"mapped\",[4458]],[[65486,65486],\"mapped\",[4459]],[[65487,65487],\"mapped\",[4460]],[[65488,65489],\"disallowed\"],[[65490,65490],\"mapped\",[4461]],[[65491,65491],\"mapped\",[4462]],[[65492,65492],\"mapped\",[4463]],[[65493,65493],\"mapped\",[4464]],[[65494,65494],\"mapped\",[4465]],[[65495,65495],\"mapped\",[4466]],[[65496,65497],\"disallowed\"],[[65498,65498],\"mapped\",[4467]],[[65499,65499],\"mapped\",[4468]],[[65500,65500],\"mapped\",[4469]],[[65501,65503],\"disallowed\"],[[65504,65504],\"mapped\",[162]],[[65505,65505],\"mapped\",[163]],[[65506,65506],\"mapped\",[172]],[[65507,65507],\"disallowed_STD3_mapped\",[32,772]],[[65508,65508],\"mapped\",[166]],[[65509,65509],\"mapped\",[165]],[[65510,65510],\"mapped\",[8361]],[[65511,65511],\"disallowed\"],[[65512,65512],\"mapped\",[9474]],[[65513,65513],\"mapped\",[8592]],[[65514,65514],\"mapped\",[8593]],[[65515,65515],\"mapped\",[8594]],[[65516,65516],\"mapped\",[8595]],[[65517,65517],\"mapped\",[9632]],[[65518,65518],\"mapped\",[9675]],[[65519,65528],\"disallowed\"],[[65529,65531],\"disallowed\"],[[65532,65532],\"disallowed\"],[[65533,65533],\"disallowed\"],[[65534,65535],\"disallowed\"],[[65536,65547],\"valid\"],[[65548,65548],\"disallowed\"],[[65549,65574],\"valid\"],[[65575,65575],\"disallowed\"],[[65576,65594],\"valid\"],[[65595,65595],\"disallowed\"],[[65596,65597],\"valid\"],[[65598,65598],\"disallowed\"],[[65599,65613],\"valid\"],[[65614,65615],\"disallowed\"],[[65616,65629],\"valid\"],[[65630,65663],\"disallowed\"],[[65664,65786],\"valid\"],[[65787,65791],\"disallowed\"],[[65792,65794],\"valid\",[],\"NV8\"],[[65795,65798],\"disallowed\"],[[65799,65843],\"valid\",[],\"NV8\"],[[65844,65846],\"disallowed\"],[[65847,65855],\"valid\",[],\"NV8\"],[[65856,65930],\"valid\",[],\"NV8\"],[[65931,65932],\"valid\",[],\"NV8\"],[[65933,65935],\"disallowed\"],[[65936,65947],\"valid\",[],\"NV8\"],[[65948,65951],\"disallowed\"],[[65952,65952],\"valid\",[],\"NV8\"],[[65953,65999],\"disallowed\"],[[66000,66044],\"valid\",[],\"NV8\"],[[66045,66045],\"valid\"],[[66046,66175],\"disallowed\"],[[66176,66204],\"valid\"],[[66205,66207],\"disallowed\"],[[66208,66256],\"valid\"],[[66257,66271],\"disallowed\"],[[66272,66272],\"valid\"],[[66273,66299],\"valid\",[],\"NV8\"],[[66300,66303],\"disallowed\"],[[66304,66334],\"valid\"],[[66335,66335],\"valid\"],[[66336,66339],\"valid\",[],\"NV8\"],[[66340,66351],\"disallowed\"],[[66352,66368],\"valid\"],[[66369,66369],\"valid\",[],\"NV8\"],[[66370,66377],\"valid\"],[[66378,66378],\"valid\",[],\"NV8\"],[[66379,66383],\"disallowed\"],[[66384,66426],\"valid\"],[[66427,66431],\"disallowed\"],[[66432,66461],\"valid\"],[[66462,66462],\"disallowed\"],[[66463,66463],\"valid\",[],\"NV8\"],[[66464,66499],\"valid\"],[[66500,66503],\"disallowed\"],[[66504,66511],\"valid\"],[[66512,66517],\"valid\",[],\"NV8\"],[[66518,66559],\"disallowed\"],[[66560,66560],\"mapped\",[66600]],[[66561,66561],\"mapped\",[66601]],[[66562,66562],\"mapped\",[66602]],[[66563,66563],\"mapped\",[66603]],[[66564,66564],\"mapped\",[66604]],[[66565,66565],\"mapped\",[66605]],[[66566,66566],\"mapped\",[66606]],[[66567,66567],\"mapped\",[66607]],[[66568,66568],\"mapped\",[66608]],[[66569,66569],\"mapped\",[66609]],[[66570,66570],\"mapped\",[66610]],[[66571,66571],\"mapped\",[66611]],[[66572,66572],\"mapped\",[66612]],[[66573,66573],\"mapped\",[66613]],[[66574,66574],\"mapped\",[66614]],[[66575,66575],\"mapped\",[66615]],[[66576,66576],\"mapped\",[66616]],[[66577,66577],\"mapped\",[66617]],[[66578,66578],\"mapped\",[66618]],[[66579,66579],\"mapped\",[66619]],[[66580,66580],\"mapped\",[66620]],[[66581,66581],\"mapped\",[66621]],[[66582,66582],\"mapped\",[66622]],[[66583,66583],\"mapped\",[66623]],[[66584,66584],\"mapped\",[66624]],[[66585,66585],\"mapped\",[66625]],[[66586,66586],\"mapped\",[66626]],[[66587,66587],\"mapped\",[66627]],[[66588,66588],\"mapped\",[66628]],[[66589,66589],\"mapped\",[66629]],[[66590,66590],\"mapped\",[66630]],[[66591,66591],\"mapped\",[66631]],[[66592,66592],\"mapped\",[66632]],[[66593,66593],\"mapped\",[66633]],[[66594,66594],\"mapped\",[66634]],[[66595,66595],\"mapped\",[66635]],[[66596,66596],\"mapped\",[66636]],[[66597,66597],\"mapped\",[66637]],[[66598,66598],\"mapped\",[66638]],[[66599,66599],\"mapped\",[66639]],[[66600,66637],\"valid\"],[[66638,66717],\"valid\"],[[66718,66719],\"disallowed\"],[[66720,66729],\"valid\"],[[66730,66815],\"disallowed\"],[[66816,66855],\"valid\"],[[66856,66863],\"disallowed\"],[[66864,66915],\"valid\"],[[66916,66926],\"disallowed\"],[[66927,66927],\"valid\",[],\"NV8\"],[[66928,67071],\"disallowed\"],[[67072,67382],\"valid\"],[[67383,67391],\"disallowed\"],[[67392,67413],\"valid\"],[[67414,67423],\"disallowed\"],[[67424,67431],\"valid\"],[[67432,67583],\"disallowed\"],[[67584,67589],\"valid\"],[[67590,67591],\"disallowed\"],[[67592,67592],\"valid\"],[[67593,67593],\"disallowed\"],[[67594,67637],\"valid\"],[[67638,67638],\"disallowed\"],[[67639,67640],\"valid\"],[[67641,67643],\"disallowed\"],[[67644,67644],\"valid\"],[[67645,67646],\"disallowed\"],[[67647,67647],\"valid\"],[[67648,67669],\"valid\"],[[67670,67670],\"disallowed\"],[[67671,67679],\"valid\",[],\"NV8\"],[[67680,67702],\"valid\"],[[67703,67711],\"valid\",[],\"NV8\"],[[67712,67742],\"valid\"],[[67743,67750],\"disallowed\"],[[67751,67759],\"valid\",[],\"NV8\"],[[67760,67807],\"disallowed\"],[[67808,67826],\"valid\"],[[67827,67827],\"disallowed\"],[[67828,67829],\"valid\"],[[67830,67834],\"disallowed\"],[[67835,67839],\"valid\",[],\"NV8\"],[[67840,67861],\"valid\"],[[67862,67865],\"valid\",[],\"NV8\"],[[67866,67867],\"valid\",[],\"NV8\"],[[67868,67870],\"disallowed\"],[[67871,67871],\"valid\",[],\"NV8\"],[[67872,67897],\"valid\"],[[67898,67902],\"disallowed\"],[[67903,67903],\"valid\",[],\"NV8\"],[[67904,67967],\"disallowed\"],[[67968,68023],\"valid\"],[[68024,68027],\"disallowed\"],[[68028,68029],\"valid\",[],\"NV8\"],[[68030,68031],\"valid\"],[[68032,68047],\"valid\",[],\"NV8\"],[[68048,68049],\"disallowed\"],[[68050,68095],\"valid\",[],\"NV8\"],[[68096,68099],\"valid\"],[[68100,68100],\"disallowed\"],[[68101,68102],\"valid\"],[[68103,68107],\"disallowed\"],[[68108,68115],\"valid\"],[[68116,68116],\"disallowed\"],[[68117,68119],\"valid\"],[[68120,68120],\"disallowed\"],[[68121,68147],\"valid\"],[[68148,68151],\"disallowed\"],[[68152,68154],\"valid\"],[[68155,68158],\"disallowed\"],[[68159,68159],\"valid\"],[[68160,68167],\"valid\",[],\"NV8\"],[[68168,68175],\"disallowed\"],[[68176,68184],\"valid\",[],\"NV8\"],[[68185,68191],\"disallowed\"],[[68192,68220],\"valid\"],[[68221,68223],\"valid\",[],\"NV8\"],[[68224,68252],\"valid\"],[[68253,68255],\"valid\",[],\"NV8\"],[[68256,68287],\"disallowed\"],[[68288,68295],\"valid\"],[[68296,68296],\"valid\",[],\"NV8\"],[[68297,68326],\"valid\"],[[68327,68330],\"disallowed\"],[[68331,68342],\"valid\",[],\"NV8\"],[[68343,68351],\"disallowed\"],[[68352,68405],\"valid\"],[[68406,68408],\"disallowed\"],[[68409,68415],\"valid\",[],\"NV8\"],[[68416,68437],\"valid\"],[[68438,68439],\"disallowed\"],[[68440,68447],\"valid\",[],\"NV8\"],[[68448,68466],\"valid\"],[[68467,68471],\"disallowed\"],[[68472,68479],\"valid\",[],\"NV8\"],[[68480,68497],\"valid\"],[[68498,68504],\"disallowed\"],[[68505,68508],\"valid\",[],\"NV8\"],[[68509,68520],\"disallowed\"],[[68521,68527],\"valid\",[],\"NV8\"],[[68528,68607],\"disallowed\"],[[68608,68680],\"valid\"],[[68681,68735],\"disallowed\"],[[68736,68736],\"mapped\",[68800]],[[68737,68737],\"mapped\",[68801]],[[68738,68738],\"mapped\",[68802]],[[68739,68739],\"mapped\",[68803]],[[68740,68740],\"mapped\",[68804]],[[68741,68741],\"mapped\",[68805]],[[68742,68742],\"mapped\",[68806]],[[68743,68743],\"mapped\",[68807]],[[68744,68744],\"mapped\",[68808]],[[68745,68745],\"mapped\",[68809]],[[68746,68746],\"mapped\",[68810]],[[68747,68747],\"mapped\",[68811]],[[68748,68748],\"mapped\",[68812]],[[68749,68749],\"mapped\",[68813]],[[68750,68750],\"mapped\",[68814]],[[68751,68751],\"mapped\",[68815]],[[68752,68752],\"mapped\",[68816]],[[68753,68753],\"mapped\",[68817]],[[68754,68754],\"mapped\",[68818]],[[68755,68755],\"mapped\",[68819]],[[68756,68756],\"mapped\",[68820]],[[68757,68757],\"mapped\",[68821]],[[68758,68758],\"mapped\",[68822]],[[68759,68759],\"mapped\",[68823]],[[68760,68760],\"mapped\",[68824]],[[68761,68761],\"mapped\",[68825]],[[68762,68762],\"mapped\",[68826]],[[68763,68763],\"mapped\",[68827]],[[68764,68764],\"mapped\",[68828]],[[68765,68765],\"mapped\",[68829]],[[68766,68766],\"mapped\",[68830]],[[68767,68767],\"mapped\",[68831]],[[68768,68768],\"mapped\",[68832]],[[68769,68769],\"mapped\",[68833]],[[68770,68770],\"mapped\",[68834]],[[68771,68771],\"mapped\",[68835]],[[68772,68772],\"mapped\",[68836]],[[68773,68773],\"mapped\",[68837]],[[68774,68774],\"mapped\",[68838]],[[68775,68775],\"mapped\",[68839]],[[68776,68776],\"mapped\",[68840]],[[68777,68777],\"mapped\",[68841]],[[68778,68778],\"mapped\",[68842]],[[68779,68779],\"mapped\",[68843]],[[68780,68780],\"mapped\",[68844]],[[68781,68781],\"mapped\",[68845]],[[68782,68782],\"mapped\",[68846]],[[68783,68783],\"mapped\",[68847]],[[68784,68784],\"mapped\",[68848]],[[68785,68785],\"mapped\",[68849]],[[68786,68786],\"mapped\",[68850]],[[68787,68799],\"disallowed\"],[[68800,68850],\"valid\"],[[68851,68857],\"disallowed\"],[[68858,68863],\"valid\",[],\"NV8\"],[[68864,69215],\"disallowed\"],[[69216,69246],\"valid\",[],\"NV8\"],[[69247,69631],\"disallowed\"],[[69632,69702],\"valid\"],[[69703,69709],\"valid\",[],\"NV8\"],[[69710,69713],\"disallowed\"],[[69714,69733],\"valid\",[],\"NV8\"],[[69734,69743],\"valid\"],[[69744,69758],\"disallowed\"],[[69759,69759],\"valid\"],[[69760,69818],\"valid\"],[[69819,69820],\"valid\",[],\"NV8\"],[[69821,69821],\"disallowed\"],[[69822,69825],\"valid\",[],\"NV8\"],[[69826,69839],\"disallowed\"],[[69840,69864],\"valid\"],[[69865,69871],\"disallowed\"],[[69872,69881],\"valid\"],[[69882,69887],\"disallowed\"],[[69888,69940],\"valid\"],[[69941,69941],\"disallowed\"],[[69942,69951],\"valid\"],[[69952,69955],\"valid\",[],\"NV8\"],[[69956,69967],\"disallowed\"],[[69968,70003],\"valid\"],[[70004,70005],\"valid\",[],\"NV8\"],[[70006,70006],\"valid\"],[[70007,70015],\"disallowed\"],[[70016,70084],\"valid\"],[[70085,70088],\"valid\",[],\"NV8\"],[[70089,70089],\"valid\",[],\"NV8\"],[[70090,70092],\"valid\"],[[70093,70093],\"valid\",[],\"NV8\"],[[70094,70095],\"disallowed\"],[[70096,70105],\"valid\"],[[70106,70106],\"valid\"],[[70107,70107],\"valid\",[],\"NV8\"],[[70108,70108],\"valid\"],[[70109,70111],\"valid\",[],\"NV8\"],[[70112,70112],\"disallowed\"],[[70113,70132],\"valid\",[],\"NV8\"],[[70133,70143],\"disallowed\"],[[70144,70161],\"valid\"],[[70162,70162],\"disallowed\"],[[70163,70199],\"valid\"],[[70200,70205],\"valid\",[],\"NV8\"],[[70206,70271],\"disallowed\"],[[70272,70278],\"valid\"],[[70279,70279],\"disallowed\"],[[70280,70280],\"valid\"],[[70281,70281],\"disallowed\"],[[70282,70285],\"valid\"],[[70286,70286],\"disallowed\"],[[70287,70301],\"valid\"],[[70302,70302],\"disallowed\"],[[70303,70312],\"valid\"],[[70313,70313],\"valid\",[],\"NV8\"],[[70314,70319],\"disallowed\"],[[70320,70378],\"valid\"],[[70379,70383],\"disallowed\"],[[70384,70393],\"valid\"],[[70394,70399],\"disallowed\"],[[70400,70400],\"valid\"],[[70401,70403],\"valid\"],[[70404,70404],\"disallowed\"],[[70405,70412],\"valid\"],[[70413,70414],\"disallowed\"],[[70415,70416],\"valid\"],[[70417,70418],\"disallowed\"],[[70419,70440],\"valid\"],[[70441,70441],\"disallowed\"],[[70442,70448],\"valid\"],[[70449,70449],\"disallowed\"],[[70450,70451],\"valid\"],[[70452,70452],\"disallowed\"],[[70453,70457],\"valid\"],[[70458,70459],\"disallowed\"],[[70460,70468],\"valid\"],[[70469,70470],\"disallowed\"],[[70471,70472],\"valid\"],[[70473,70474],\"disallowed\"],[[70475,70477],\"valid\"],[[70478,70479],\"disallowed\"],[[70480,70480],\"valid\"],[[70481,70486],\"disallowed\"],[[70487,70487],\"valid\"],[[70488,70492],\"disallowed\"],[[70493,70499],\"valid\"],[[70500,70501],\"disallowed\"],[[70502,70508],\"valid\"],[[70509,70511],\"disallowed\"],[[70512,70516],\"valid\"],[[70517,70783],\"disallowed\"],[[70784,70853],\"valid\"],[[70854,70854],\"valid\",[],\"NV8\"],[[70855,70855],\"valid\"],[[70856,70863],\"disallowed\"],[[70864,70873],\"valid\"],[[70874,71039],\"disallowed\"],[[71040,71093],\"valid\"],[[71094,71095],\"disallowed\"],[[71096,71104],\"valid\"],[[71105,71113],\"valid\",[],\"NV8\"],[[71114,71127],\"valid\",[],\"NV8\"],[[71128,71133],\"valid\"],[[71134,71167],\"disallowed\"],[[71168,71232],\"valid\"],[[71233,71235],\"valid\",[],\"NV8\"],[[71236,71236],\"valid\"],[[71237,71247],\"disallowed\"],[[71248,71257],\"valid\"],[[71258,71295],\"disallowed\"],[[71296,71351],\"valid\"],[[71352,71359],\"disallowed\"],[[71360,71369],\"valid\"],[[71370,71423],\"disallowed\"],[[71424,71449],\"valid\"],[[71450,71452],\"disallowed\"],[[71453,71467],\"valid\"],[[71468,71471],\"disallowed\"],[[71472,71481],\"valid\"],[[71482,71487],\"valid\",[],\"NV8\"],[[71488,71839],\"disallowed\"],[[71840,71840],\"mapped\",[71872]],[[71841,71841],\"mapped\",[71873]],[[71842,71842],\"mapped\",[71874]],[[71843,71843],\"mapped\",[71875]],[[71844,71844],\"mapped\",[71876]],[[71845,71845],\"mapped\",[71877]],[[71846,71846],\"mapped\",[71878]],[[71847,71847],\"mapped\",[71879]],[[71848,71848],\"mapped\",[71880]],[[71849,71849],\"mapped\",[71881]],[[71850,71850],\"mapped\",[71882]],[[71851,71851],\"mapped\",[71883]],[[71852,71852],\"mapped\",[71884]],[[71853,71853],\"mapped\",[71885]],[[71854,71854],\"mapped\",[71886]],[[71855,71855],\"mapped\",[71887]],[[71856,71856],\"mapped\",[71888]],[[71857,71857],\"mapped\",[71889]],[[71858,71858],\"mapped\",[71890]],[[71859,71859],\"mapped\",[71891]],[[71860,71860],\"mapped\",[71892]],[[71861,71861],\"mapped\",[71893]],[[71862,71862],\"mapped\",[71894]],[[71863,71863],\"mapped\",[71895]],[[71864,71864],\"mapped\",[71896]],[[71865,71865],\"mapped\",[71897]],[[71866,71866],\"mapped\",[71898]],[[71867,71867],\"mapped\",[71899]],[[71868,71868],\"mapped\",[71900]],[[71869,71869],\"mapped\",[71901]],[[71870,71870],\"mapped\",[71902]],[[71871,71871],\"mapped\",[71903]],[[71872,71913],\"valid\"],[[71914,71922],\"valid\",[],\"NV8\"],[[71923,71934],\"disallowed\"],[[71935,71935],\"valid\"],[[71936,72383],\"disallowed\"],[[72384,72440],\"valid\"],[[72441,73727],\"disallowed\"],[[73728,74606],\"valid\"],[[74607,74648],\"valid\"],[[74649,74649],\"valid\"],[[74650,74751],\"disallowed\"],[[74752,74850],\"valid\",[],\"NV8\"],[[74851,74862],\"valid\",[],\"NV8\"],[[74863,74863],\"disallowed\"],[[74864,74867],\"valid\",[],\"NV8\"],[[74868,74868],\"valid\",[],\"NV8\"],[[74869,74879],\"disallowed\"],[[74880,75075],\"valid\"],[[75076,77823],\"disallowed\"],[[77824,78894],\"valid\"],[[78895,82943],\"disallowed\"],[[82944,83526],\"valid\"],[[83527,92159],\"disallowed\"],[[92160,92728],\"valid\"],[[92729,92735],\"disallowed\"],[[92736,92766],\"valid\"],[[92767,92767],\"disallowed\"],[[92768,92777],\"valid\"],[[92778,92781],\"disallowed\"],[[92782,92783],\"valid\",[],\"NV8\"],[[92784,92879],\"disallowed\"],[[92880,92909],\"valid\"],[[92910,92911],\"disallowed\"],[[92912,92916],\"valid\"],[[92917,92917],\"valid\",[],\"NV8\"],[[92918,92927],\"disallowed\"],[[92928,92982],\"valid\"],[[92983,92991],\"valid\",[],\"NV8\"],[[92992,92995],\"valid\"],[[92996,92997],\"valid\",[],\"NV8\"],[[92998,93007],\"disallowed\"],[[93008,93017],\"valid\"],[[93018,93018],\"disallowed\"],[[93019,93025],\"valid\",[],\"NV8\"],[[93026,93026],\"disallowed\"],[[93027,93047],\"valid\"],[[93048,93052],\"disallowed\"],[[93053,93071],\"valid\"],[[93072,93951],\"disallowed\"],[[93952,94020],\"valid\"],[[94021,94031],\"disallowed\"],[[94032,94078],\"valid\"],[[94079,94094],\"disallowed\"],[[94095,94111],\"valid\"],[[94112,110591],\"disallowed\"],[[110592,110593],\"valid\"],[[110594,113663],\"disallowed\"],[[113664,113770],\"valid\"],[[113771,113775],\"disallowed\"],[[113776,113788],\"valid\"],[[113789,113791],\"disallowed\"],[[113792,113800],\"valid\"],[[113801,113807],\"disallowed\"],[[113808,113817],\"valid\"],[[113818,113819],\"disallowed\"],[[113820,113820],\"valid\",[],\"NV8\"],[[113821,113822],\"valid\"],[[113823,113823],\"valid\",[],\"NV8\"],[[113824,113827],\"ignored\"],[[113828,118783],\"disallowed\"],[[118784,119029],\"valid\",[],\"NV8\"],[[119030,119039],\"disallowed\"],[[119040,119078],\"valid\",[],\"NV8\"],[[119079,119080],\"disallowed\"],[[119081,119081],\"valid\",[],\"NV8\"],[[119082,119133],\"valid\",[],\"NV8\"],[[119134,119134],\"mapped\",[119127,119141]],[[119135,119135],\"mapped\",[119128,119141]],[[119136,119136],\"mapped\",[119128,119141,119150]],[[119137,119137],\"mapped\",[119128,119141,119151]],[[119138,119138],\"mapped\",[119128,119141,119152]],[[119139,119139],\"mapped\",[119128,119141,119153]],[[119140,119140],\"mapped\",[119128,119141,119154]],[[119141,119154],\"valid\",[],\"NV8\"],[[119155,119162],\"disallowed\"],[[119163,119226],\"valid\",[],\"NV8\"],[[119227,119227],\"mapped\",[119225,119141]],[[119228,119228],\"mapped\",[119226,119141]],[[119229,119229],\"mapped\",[119225,119141,119150]],[[119230,119230],\"mapped\",[119226,119141,119150]],[[119231,119231],\"mapped\",[119225,119141,119151]],[[119232,119232],\"mapped\",[119226,119141,119151]],[[119233,119261],\"valid\",[],\"NV8\"],[[119262,119272],\"valid\",[],\"NV8\"],[[119273,119295],\"disallowed\"],[[119296,119365],\"valid\",[],\"NV8\"],[[119366,119551],\"disallowed\"],[[119552,119638],\"valid\",[],\"NV8\"],[[119639,119647],\"disallowed\"],[[119648,119665],\"valid\",[],\"NV8\"],[[119666,119807],\"disallowed\"],[[119808,119808],\"mapped\",[97]],[[119809,119809],\"mapped\",[98]],[[119810,119810],\"mapped\",[99]],[[119811,119811],\"mapped\",[100]],[[119812,119812],\"mapped\",[101]],[[119813,119813],\"mapped\",[102]],[[119814,119814],\"mapped\",[103]],[[119815,119815],\"mapped\",[104]],[[119816,119816],\"mapped\",[105]],[[119817,119817],\"mapped\",[106]],[[119818,119818],\"mapped\",[107]],[[119819,119819],\"mapped\",[108]],[[119820,119820],\"mapped\",[109]],[[119821,119821],\"mapped\",[110]],[[119822,119822],\"mapped\",[111]],[[119823,119823],\"mapped\",[112]],[[119824,119824],\"mapped\",[113]],[[119825,119825],\"mapped\",[114]],[[119826,119826],\"mapped\",[115]],[[119827,119827],\"mapped\",[116]],[[119828,119828],\"mapped\",[117]],[[119829,119829],\"mapped\",[118]],[[119830,119830],\"mapped\",[119]],[[119831,119831],\"mapped\",[120]],[[119832,119832],\"mapped\",[121]],[[119833,119833],\"mapped\",[122]],[[119834,119834],\"mapped\",[97]],[[119835,119835],\"mapped\",[98]],[[119836,119836],\"mapped\",[99]],[[119837,119837],\"mapped\",[100]],[[119838,119838],\"mapped\",[101]],[[119839,119839],\"mapped\",[102]],[[119840,119840],\"mapped\",[103]],[[119841,119841],\"mapped\",[104]],[[119842,119842],\"mapped\",[105]],[[119843,119843],\"mapped\",[106]],[[119844,119844],\"mapped\",[107]],[[119845,119845],\"mapped\",[108]],[[119846,119846],\"mapped\",[109]],[[119847,119847],\"mapped\",[110]],[[119848,119848],\"mapped\",[111]],[[119849,119849],\"mapped\",[112]],[[119850,119850],\"mapped\",[113]],[[119851,119851],\"mapped\",[114]],[[119852,119852],\"mapped\",[115]],[[119853,119853],\"mapped\",[116]],[[119854,119854],\"mapped\",[117]],[[119855,119855],\"mapped\",[118]],[[119856,119856],\"mapped\",[119]],[[119857,119857],\"mapped\",[120]],[[119858,119858],\"mapped\",[121]],[[119859,119859],\"mapped\",[122]],[[119860,119860],\"mapped\",[97]],[[119861,119861],\"mapped\",[98]],[[119862,119862],\"mapped\",[99]],[[119863,119863],\"mapped\",[100]],[[119864,119864],\"mapped\",[101]],[[119865,119865],\"mapped\",[102]],[[119866,119866],\"mapped\",[103]],[[119867,119867],\"mapped\",[104]],[[119868,119868],\"mapped\",[105]],[[119869,119869],\"mapped\",[106]],[[119870,119870],\"mapped\",[107]],[[119871,119871],\"mapped\",[108]],[[119872,119872],\"mapped\",[109]],[[119873,119873],\"mapped\",[110]],[[119874,119874],\"mapped\",[111]],[[119875,119875],\"mapped\",[112]],[[119876,119876],\"mapped\",[113]],[[119877,119877],\"mapped\",[114]],[[119878,119878],\"mapped\",[115]],[[119879,119879],\"mapped\",[116]],[[119880,119880],\"mapped\",[117]],[[119881,119881],\"mapped\",[118]],[[119882,119882],\"mapped\",[119]],[[119883,119883],\"mapped\",[120]],[[119884,119884],\"mapped\",[121]],[[119885,119885],\"mapped\",[122]],[[119886,119886],\"mapped\",[97]],[[119887,119887],\"mapped\",[98]],[[119888,119888],\"mapped\",[99]],[[119889,119889],\"mapped\",[100]],[[119890,119890],\"mapped\",[101]],[[119891,119891],\"mapped\",[102]],[[119892,119892],\"mapped\",[103]],[[119893,119893],\"disallowed\"],[[119894,119894],\"mapped\",[105]],[[119895,119895],\"mapped\",[106]],[[119896,119896],\"mapped\",[107]],[[119897,119897],\"mapped\",[108]],[[119898,119898],\"mapped\",[109]],[[119899,119899],\"mapped\",[110]],[[119900,119900],\"mapped\",[111]],[[119901,119901],\"mapped\",[112]],[[119902,119902],\"mapped\",[113]],[[119903,119903],\"mapped\",[114]],[[119904,119904],\"mapped\",[115]],[[119905,119905],\"mapped\",[116]],[[119906,119906],\"mapped\",[117]],[[119907,119907],\"mapped\",[118]],[[119908,119908],\"mapped\",[119]],[[119909,119909],\"mapped\",[120]],[[119910,119910],\"mapped\",[121]],[[119911,119911],\"mapped\",[122]],[[119912,119912],\"mapped\",[97]],[[119913,119913],\"mapped\",[98]],[[119914,119914],\"mapped\",[99]],[[119915,119915],\"mapped\",[100]],[[119916,119916],\"mapped\",[101]],[[119917,119917],\"mapped\",[102]],[[119918,119918],\"mapped\",[103]],[[119919,119919],\"mapped\",[104]],[[119920,119920],\"mapped\",[105]],[[119921,119921],\"mapped\",[106]],[[119922,119922],\"mapped\",[107]],[[119923,119923],\"mapped\",[108]],[[119924,119924],\"mapped\",[109]],[[119925,119925],\"mapped\",[110]],[[119926,119926],\"mapped\",[111]],[[119927,119927],\"mapped\",[112]],[[119928,119928],\"mapped\",[113]],[[119929,119929],\"mapped\",[114]],[[119930,119930],\"mapped\",[115]],[[119931,119931],\"mapped\",[116]],[[119932,119932],\"mapped\",[117]],[[119933,119933],\"mapped\",[118]],[[119934,119934],\"mapped\",[119]],[[119935,119935],\"mapped\",[120]],[[119936,119936],\"mapped\",[121]],[[119937,119937],\"mapped\",[122]],[[119938,119938],\"mapped\",[97]],[[119939,119939],\"mapped\",[98]],[[119940,119940],\"mapped\",[99]],[[119941,119941],\"mapped\",[100]],[[119942,119942],\"mapped\",[101]],[[119943,119943],\"mapped\",[102]],[[119944,119944],\"mapped\",[103]],[[119945,119945],\"mapped\",[104]],[[119946,119946],\"mapped\",[105]],[[119947,119947],\"mapped\",[106]],[[119948,119948],\"mapped\",[107]],[[119949,119949],\"mapped\",[108]],[[119950,119950],\"mapped\",[109]],[[119951,119951],\"mapped\",[110]],[[119952,119952],\"mapped\",[111]],[[119953,119953],\"mapped\",[112]],[[119954,119954],\"mapped\",[113]],[[119955,119955],\"mapped\",[114]],[[119956,119956],\"mapped\",[115]],[[119957,119957],\"mapped\",[116]],[[119958,119958],\"mapped\",[117]],[[119959,119959],\"mapped\",[118]],[[119960,119960],\"mapped\",[119]],[[119961,119961],\"mapped\",[120]],[[119962,119962],\"mapped\",[121]],[[119963,119963],\"mapped\",[122]],[[119964,119964],\"mapped\",[97]],[[119965,119965],\"disallowed\"],[[119966,119966],\"mapped\",[99]],[[119967,119967],\"mapped\",[100]],[[119968,119969],\"disallowed\"],[[119970,119970],\"mapped\",[103]],[[119971,119972],\"disallowed\"],[[119973,119973],\"mapped\",[106]],[[119974,119974],\"mapped\",[107]],[[119975,119976],\"disallowed\"],[[119977,119977],\"mapped\",[110]],[[119978,119978],\"mapped\",[111]],[[119979,119979],\"mapped\",[112]],[[119980,119980],\"mapped\",[113]],[[119981,119981],\"disallowed\"],[[119982,119982],\"mapped\",[115]],[[119983,119983],\"mapped\",[116]],[[119984,119984],\"mapped\",[117]],[[119985,119985],\"mapped\",[118]],[[119986,119986],\"mapped\",[119]],[[119987,119987],\"mapped\",[120]],[[119988,119988],\"mapped\",[121]],[[119989,119989],\"mapped\",[122]],[[119990,119990],\"mapped\",[97]],[[119991,119991],\"mapped\",[98]],[[119992,119992],\"mapped\",[99]],[[119993,119993],\"mapped\",[100]],[[119994,119994],\"disallowed\"],[[119995,119995],\"mapped\",[102]],[[119996,119996],\"disallowed\"],[[119997,119997],\"mapped\",[104]],[[119998,119998],\"mapped\",[105]],[[119999,119999],\"mapped\",[106]],[[120000,120000],\"mapped\",[107]],[[120001,120001],\"mapped\",[108]],[[120002,120002],\"mapped\",[109]],[[120003,120003],\"mapped\",[110]],[[120004,120004],\"disallowed\"],[[120005,120005],\"mapped\",[112]],[[120006,120006],\"mapped\",[113]],[[120007,120007],\"mapped\",[114]],[[120008,120008],\"mapped\",[115]],[[120009,120009],\"mapped\",[116]],[[120010,120010],\"mapped\",[117]],[[120011,120011],\"mapped\",[118]],[[120012,120012],\"mapped\",[119]],[[120013,120013],\"mapped\",[120]],[[120014,120014],\"mapped\",[121]],[[120015,120015],\"mapped\",[122]],[[120016,120016],\"mapped\",[97]],[[120017,120017],\"mapped\",[98]],[[120018,120018],\"mapped\",[99]],[[120019,120019],\"mapped\",[100]],[[120020,120020],\"mapped\",[101]],[[120021,120021],\"mapped\",[102]],[[120022,120022],\"mapped\",[103]],[[120023,120023],\"mapped\",[104]],[[120024,120024],\"mapped\",[105]],[[120025,120025],\"mapped\",[106]],[[120026,120026],\"mapped\",[107]],[[120027,120027],\"mapped\",[108]],[[120028,120028],\"mapped\",[109]],[[120029,120029],\"mapped\",[110]],[[120030,120030],\"mapped\",[111]],[[120031,120031],\"mapped\",[112]],[[120032,120032],\"mapped\",[113]],[[120033,120033],\"mapped\",[114]],[[120034,120034],\"mapped\",[115]],[[120035,120035],\"mapped\",[116]],[[120036,120036],\"mapped\",[117]],[[120037,120037],\"mapped\",[118]],[[120038,120038],\"mapped\",[119]],[[120039,120039],\"mapped\",[120]],[[120040,120040],\"mapped\",[121]],[[120041,120041],\"mapped\",[122]],[[120042,120042],\"mapped\",[97]],[[120043,120043],\"mapped\",[98]],[[120044,120044],\"mapped\",[99]],[[120045,120045],\"mapped\",[100]],[[120046,120046],\"mapped\",[101]],[[120047,120047],\"mapped\",[102]],[[120048,120048],\"mapped\",[103]],[[120049,120049],\"mapped\",[104]],[[120050,120050],\"mapped\",[105]],[[120051,120051],\"mapped\",[106]],[[120052,120052],\"mapped\",[107]],[[120053,120053],\"mapped\",[108]],[[120054,120054],\"mapped\",[109]],[[120055,120055],\"mapped\",[110]],[[120056,120056],\"mapped\",[111]],[[120057,120057],\"mapped\",[112]],[[120058,120058],\"mapped\",[113]],[[120059,120059],\"mapped\",[114]],[[120060,120060],\"mapped\",[115]],[[120061,120061],\"mapped\",[116]],[[120062,120062],\"mapped\",[117]],[[120063,120063],\"mapped\",[118]],[[120064,120064],\"mapped\",[119]],[[120065,120065],\"mapped\",[120]],[[120066,120066],\"mapped\",[121]],[[120067,120067],\"mapped\",[122]],[[120068,120068],\"mapped\",[97]],[[120069,120069],\"mapped\",[98]],[[120070,120070],\"disallowed\"],[[120071,120071],\"mapped\",[100]],[[120072,120072],\"mapped\",[101]],[[120073,120073],\"mapped\",[102]],[[120074,120074],\"mapped\",[103]],[[120075,120076],\"disallowed\"],[[120077,120077],\"mapped\",[106]],[[120078,120078],\"mapped\",[107]],[[120079,120079],\"mapped\",[108]],[[120080,120080],\"mapped\",[109]],[[120081,120081],\"mapped\",[110]],[[120082,120082],\"mapped\",[111]],[[120083,120083],\"mapped\",[112]],[[120084,120084],\"mapped\",[113]],[[120085,120085],\"disallowed\"],[[120086,120086],\"mapped\",[115]],[[120087,120087],\"mapped\",[116]],[[120088,120088],\"mapped\",[117]],[[120089,120089],\"mapped\",[118]],[[120090,120090],\"mapped\",[119]],[[120091,120091],\"mapped\",[120]],[[120092,120092],\"mapped\",[121]],[[120093,120093],\"disallowed\"],[[120094,120094],\"mapped\",[97]],[[120095,120095],\"mapped\",[98]],[[120096,120096],\"mapped\",[99]],[[120097,120097],\"mapped\",[100]],[[120098,120098],\"mapped\",[101]],[[120099,120099],\"mapped\",[102]],[[120100,120100],\"mapped\",[103]],[[120101,120101],\"mapped\",[104]],[[120102,120102],\"mapped\",[105]],[[120103,120103],\"mapped\",[106]],[[120104,120104],\"mapped\",[107]],[[120105,120105],\"mapped\",[108]],[[120106,120106],\"mapped\",[109]],[[120107,120107],\"mapped\",[110]],[[120108,120108],\"mapped\",[111]],[[120109,120109],\"mapped\",[112]],[[120110,120110],\"mapped\",[113]],[[120111,120111],\"mapped\",[114]],[[120112,120112],\"mapped\",[115]],[[120113,120113],\"mapped\",[116]],[[120114,120114],\"mapped\",[117]],[[120115,120115],\"mapped\",[118]],[[120116,120116],\"mapped\",[119]],[[120117,120117],\"mapped\",[120]],[[120118,120118],\"mapped\",[121]],[[120119,120119],\"mapped\",[122]],[[120120,120120],\"mapped\",[97]],[[120121,120121],\"mapped\",[98]],[[120122,120122],\"disallowed\"],[[120123,120123],\"mapped\",[100]],[[120124,120124],\"mapped\",[101]],[[120125,120125],\"mapped\",[102]],[[120126,120126],\"mapped\",[103]],[[120127,120127],\"disallowed\"],[[120128,120128],\"mapped\",[105]],[[120129,120129],\"mapped\",[106]],[[120130,120130],\"mapped\",[107]],[[120131,120131],\"mapped\",[108]],[[120132,120132],\"mapped\",[109]],[[120133,120133],\"disallowed\"],[[120134,120134],\"mapped\",[111]],[[120135,120137],\"disallowed\"],[[120138,120138],\"mapped\",[115]],[[120139,120139],\"mapped\",[116]],[[120140,120140],\"mapped\",[117]],[[120141,120141],\"mapped\",[118]],[[120142,120142],\"mapped\",[119]],[[120143,120143],\"mapped\",[120]],[[120144,120144],\"mapped\",[121]],[[120145,120145],\"disallowed\"],[[120146,120146],\"mapped\",[97]],[[120147,120147],\"mapped\",[98]],[[120148,120148],\"mapped\",[99]],[[120149,120149],\"mapped\",[100]],[[120150,120150],\"mapped\",[101]],[[120151,120151],\"mapped\",[102]],[[120152,120152],\"mapped\",[103]],[[120153,120153],\"mapped\",[104]],[[120154,120154],\"mapped\",[105]],[[120155,120155],\"mapped\",[106]],[[120156,120156],\"mapped\",[107]],[[120157,120157],\"mapped\",[108]],[[120158,120158],\"mapped\",[109]],[[120159,120159],\"mapped\",[110]],[[120160,120160],\"mapped\",[111]],[[120161,120161],\"mapped\",[112]],[[120162,120162],\"mapped\",[113]],[[120163,120163],\"mapped\",[114]],[[120164,120164],\"mapped\",[115]],[[120165,120165],\"mapped\",[116]],[[120166,120166],\"mapped\",[117]],[[120167,120167],\"mapped\",[118]],[[120168,120168],\"mapped\",[119]],[[120169,120169],\"mapped\",[120]],[[120170,120170],\"mapped\",[121]],[[120171,120171],\"mapped\",[122]],[[120172,120172],\"mapped\",[97]],[[120173,120173],\"mapped\",[98]],[[120174,120174],\"mapped\",[99]],[[120175,120175],\"mapped\",[100]],[[120176,120176],\"mapped\",[101]],[[120177,120177],\"mapped\",[102]],[[120178,120178],\"mapped\",[103]],[[120179,120179],\"mapped\",[104]],[[120180,120180],\"mapped\",[105]],[[120181,120181],\"mapped\",[106]],[[120182,120182],\"mapped\",[107]],[[120183,120183],\"mapped\",[108]],[[120184,120184],\"mapped\",[109]],[[120185,120185],\"mapped\",[110]],[[120186,120186],\"mapped\",[111]],[[120187,120187],\"mapped\",[112]],[[120188,120188],\"mapped\",[113]],[[120189,120189],\"mapped\",[114]],[[120190,120190],\"mapped\",[115]],[[120191,120191],\"mapped\",[116]],[[120192,120192],\"mapped\",[117]],[[120193,120193],\"mapped\",[118]],[[120194,120194],\"mapped\",[119]],[[120195,120195],\"mapped\",[120]],[[120196,120196],\"mapped\",[121]],[[120197,120197],\"mapped\",[122]],[[120198,120198],\"mapped\",[97]],[[120199,120199],\"mapped\",[98]],[[120200,120200],\"mapped\",[99]],[[120201,120201],\"mapped\",[100]],[[120202,120202],\"mapped\",[101]],[[120203,120203],\"mapped\",[102]],[[120204,120204],\"mapped\",[103]],[[120205,120205],\"mapped\",[104]],[[120206,120206],\"mapped\",[105]],[[120207,120207],\"mapped\",[106]],[[120208,120208],\"mapped\",[107]],[[120209,120209],\"mapped\",[108]],[[120210,120210],\"mapped\",[109]],[[120211,120211],\"mapped\",[110]],[[120212,120212],\"mapped\",[111]],[[120213,120213],\"mapped\",[112]],[[120214,120214],\"mapped\",[113]],[[120215,120215],\"mapped\",[114]],[[120216,120216],\"mapped\",[115]],[[120217,120217],\"mapped\",[116]],[[120218,120218],\"mapped\",[117]],[[120219,120219],\"mapped\",[118]],[[120220,120220],\"mapped\",[119]],[[120221,120221],\"mapped\",[120]],[[120222,120222],\"mapped\",[121]],[[120223,120223],\"mapped\",[122]],[[120224,120224],\"mapped\",[97]],[[120225,120225],\"mapped\",[98]],[[120226,120226],\"mapped\",[99]],[[120227,120227],\"mapped\",[100]],[[120228,120228],\"mapped\",[101]],[[120229,120229],\"mapped\",[102]],[[120230,120230],\"mapped\",[103]],[[120231,120231],\"mapped\",[104]],[[120232,120232],\"mapped\",[105]],[[120233,120233],\"mapped\",[106]],[[120234,120234],\"mapped\",[107]],[[120235,120235],\"mapped\",[108]],[[120236,120236],\"mapped\",[109]],[[120237,120237],\"mapped\",[110]],[[120238,120238],\"mapped\",[111]],[[120239,120239],\"mapped\",[112]],[[120240,120240],\"mapped\",[113]],[[120241,120241],\"mapped\",[114]],[[120242,120242],\"mapped\",[115]],[[120243,120243],\"mapped\",[116]],[[120244,120244],\"mapped\",[117]],[[120245,120245],\"mapped\",[118]],[[120246,120246],\"mapped\",[119]],[[120247,120247],\"mapped\",[120]],[[120248,120248],\"mapped\",[121]],[[120249,120249],\"mapped\",[122]],[[120250,120250],\"mapped\",[97]],[[120251,120251],\"mapped\",[98]],[[120252,120252],\"mapped\",[99]],[[120253,120253],\"mapped\",[100]],[[120254,120254],\"mapped\",[101]],[[120255,120255],\"mapped\",[102]],[[120256,120256],\"mapped\",[103]],[[120257,120257],\"mapped\",[104]],[[120258,120258],\"mapped\",[105]],[[120259,120259],\"mapped\",[106]],[[120260,120260],\"mapped\",[107]],[[120261,120261],\"mapped\",[108]],[[120262,120262],\"mapped\",[109]],[[120263,120263],\"mapped\",[110]],[[120264,120264],\"mapped\",[111]],[[120265,120265],\"mapped\",[112]],[[120266,120266],\"mapped\",[113]],[[120267,120267],\"mapped\",[114]],[[120268,120268],\"mapped\",[115]],[[120269,120269],\"mapped\",[116]],[[120270,120270],\"mapped\",[117]],[[120271,120271],\"mapped\",[118]],[[120272,120272],\"mapped\",[119]],[[120273,120273],\"mapped\",[120]],[[120274,120274],\"mapped\",[121]],[[120275,120275],\"mapped\",[122]],[[120276,120276],\"mapped\",[97]],[[120277,120277],\"mapped\",[98]],[[120278,120278],\"mapped\",[99]],[[120279,120279],\"mapped\",[100]],[[120280,120280],\"mapped\",[101]],[[120281,120281],\"mapped\",[102]],[[120282,120282],\"mapped\",[103]],[[120283,120283],\"mapped\",[104]],[[120284,120284],\"mapped\",[105]],[[120285,120285],\"mapped\",[106]],[[120286,120286],\"mapped\",[107]],[[120287,120287],\"mapped\",[108]],[[120288,120288],\"mapped\",[109]],[[120289,120289],\"mapped\",[110]],[[120290,120290],\"mapped\",[111]],[[120291,120291],\"mapped\",[112]],[[120292,120292],\"mapped\",[113]],[[120293,120293],\"mapped\",[114]],[[120294,120294],\"mapped\",[115]],[[120295,120295],\"mapped\",[116]],[[120296,120296],\"mapped\",[117]],[[120297,120297],\"mapped\",[118]],[[120298,120298],\"mapped\",[119]],[[120299,120299],\"mapped\",[120]],[[120300,120300],\"mapped\",[121]],[[120301,120301],\"mapped\",[122]],[[120302,120302],\"mapped\",[97]],[[120303,120303],\"mapped\",[98]],[[120304,120304],\"mapped\",[99]],[[120305,120305],\"mapped\",[100]],[[120306,120306],\"mapped\",[101]],[[120307,120307],\"mapped\",[102]],[[120308,120308],\"mapped\",[103]],[[120309,120309],\"mapped\",[104]],[[120310,120310],\"mapped\",[105]],[[120311,120311],\"mapped\",[106]],[[120312,120312],\"mapped\",[107]],[[120313,120313],\"mapped\",[108]],[[120314,120314],\"mapped\",[109]],[[120315,120315],\"mapped\",[110]],[[120316,120316],\"mapped\",[111]],[[120317,120317],\"mapped\",[112]],[[120318,120318],\"mapped\",[113]],[[120319,120319],\"mapped\",[114]],[[120320,120320],\"mapped\",[115]],[[120321,120321],\"mapped\",[116]],[[120322,120322],\"mapped\",[117]],[[120323,120323],\"mapped\",[118]],[[120324,120324],\"mapped\",[119]],[[120325,120325],\"mapped\",[120]],[[120326,120326],\"mapped\",[121]],[[120327,120327],\"mapped\",[122]],[[120328,120328],\"mapped\",[97]],[[120329,120329],\"mapped\",[98]],[[120330,120330],\"mapped\",[99]],[[120331,120331],\"mapped\",[100]],[[120332,120332],\"mapped\",[101]],[[120333,120333],\"mapped\",[102]],[[120334,120334],\"mapped\",[103]],[[120335,120335],\"mapped\",[104]],[[120336,120336],\"mapped\",[105]],[[120337,120337],\"mapped\",[106]],[[120338,120338],\"mapped\",[107]],[[120339,120339],\"mapped\",[108]],[[120340,120340],\"mapped\",[109]],[[120341,120341],\"mapped\",[110]],[[120342,120342],\"mapped\",[111]],[[120343,120343],\"mapped\",[112]],[[120344,120344],\"mapped\",[113]],[[120345,120345],\"mapped\",[114]],[[120346,120346],\"mapped\",[115]],[[120347,120347],\"mapped\",[116]],[[120348,120348],\"mapped\",[117]],[[120349,120349],\"mapped\",[118]],[[120350,120350],\"mapped\",[119]],[[120351,120351],\"mapped\",[120]],[[120352,120352],\"mapped\",[121]],[[120353,120353],\"mapped\",[122]],[[120354,120354],\"mapped\",[97]],[[120355,120355],\"mapped\",[98]],[[120356,120356],\"mapped\",[99]],[[120357,120357],\"mapped\",[100]],[[120358,120358],\"mapped\",[101]],[[120359,120359],\"mapped\",[102]],[[120360,120360],\"mapped\",[103]],[[120361,120361],\"mapped\",[104]],[[120362,120362],\"mapped\",[105]],[[120363,120363],\"mapped\",[106]],[[120364,120364],\"mapped\",[107]],[[120365,120365],\"mapped\",[108]],[[120366,120366],\"mapped\",[109]],[[120367,120367],\"mapped\",[110]],[[120368,120368],\"mapped\",[111]],[[120369,120369],\"mapped\",[112]],[[120370,120370],\"mapped\",[113]],[[120371,120371],\"mapped\",[114]],[[120372,120372],\"mapped\",[115]],[[120373,120373],\"mapped\",[116]],[[120374,120374],\"mapped\",[117]],[[120375,120375],\"mapped\",[118]],[[120376,120376],\"mapped\",[119]],[[120377,120377],\"mapped\",[120]],[[120378,120378],\"mapped\",[121]],[[120379,120379],\"mapped\",[122]],[[120380,120380],\"mapped\",[97]],[[120381,120381],\"mapped\",[98]],[[120382,120382],\"mapped\",[99]],[[120383,120383],\"mapped\",[100]],[[120384,120384],\"mapped\",[101]],[[120385,120385],\"mapped\",[102]],[[120386,120386],\"mapped\",[103]],[[120387,120387],\"mapped\",[104]],[[120388,120388],\"mapped\",[105]],[[120389,120389],\"mapped\",[106]],[[120390,120390],\"mapped\",[107]],[[120391,120391],\"mapped\",[108]],[[120392,120392],\"mapped\",[109]],[[120393,120393],\"mapped\",[110]],[[120394,120394],\"mapped\",[111]],[[120395,120395],\"mapped\",[112]],[[120396,120396],\"mapped\",[113]],[[120397,120397],\"mapped\",[114]],[[120398,120398],\"mapped\",[115]],[[120399,120399],\"mapped\",[116]],[[120400,120400],\"mapped\",[117]],[[120401,120401],\"mapped\",[118]],[[120402,120402],\"mapped\",[119]],[[120403,120403],\"mapped\",[120]],[[120404,120404],\"mapped\",[121]],[[120405,120405],\"mapped\",[122]],[[120406,120406],\"mapped\",[97]],[[120407,120407],\"mapped\",[98]],[[120408,120408],\"mapped\",[99]],[[120409,120409],\"mapped\",[100]],[[120410,120410],\"mapped\",[101]],[[120411,120411],\"mapped\",[102]],[[120412,120412],\"mapped\",[103]],[[120413,120413],\"mapped\",[104]],[[120414,120414],\"mapped\",[105]],[[120415,120415],\"mapped\",[106]],[[120416,120416],\"mapped\",[107]],[[120417,120417],\"mapped\",[108]],[[120418,120418],\"mapped\",[109]],[[120419,120419],\"mapped\",[110]],[[120420,120420],\"mapped\",[111]],[[120421,120421],\"mapped\",[112]],[[120422,120422],\"mapped\",[113]],[[120423,120423],\"mapped\",[114]],[[120424,120424],\"mapped\",[115]],[[120425,120425],\"mapped\",[116]],[[120426,120426],\"mapped\",[117]],[[120427,120427],\"mapped\",[118]],[[120428,120428],\"mapped\",[119]],[[120429,120429],\"mapped\",[120]],[[120430,120430],\"mapped\",[121]],[[120431,120431],\"mapped\",[122]],[[120432,120432],\"mapped\",[97]],[[120433,120433],\"mapped\",[98]],[[120434,120434],\"mapped\",[99]],[[120435,120435],\"mapped\",[100]],[[120436,120436],\"mapped\",[101]],[[120437,120437],\"mapped\",[102]],[[120438,120438],\"mapped\",[103]],[[120439,120439],\"mapped\",[104]],[[120440,120440],\"mapped\",[105]],[[120441,120441],\"mapped\",[106]],[[120442,120442],\"mapped\",[107]],[[120443,120443],\"mapped\",[108]],[[120444,120444],\"mapped\",[109]],[[120445,120445],\"mapped\",[110]],[[120446,120446],\"mapped\",[111]],[[120447,120447],\"mapped\",[112]],[[120448,120448],\"mapped\",[113]],[[120449,120449],\"mapped\",[114]],[[120450,120450],\"mapped\",[115]],[[120451,120451],\"mapped\",[116]],[[120452,120452],\"mapped\",[117]],[[120453,120453],\"mapped\",[118]],[[120454,120454],\"mapped\",[119]],[[120455,120455],\"mapped\",[120]],[[120456,120456],\"mapped\",[121]],[[120457,120457],\"mapped\",[122]],[[120458,120458],\"mapped\",[97]],[[120459,120459],\"mapped\",[98]],[[120460,120460],\"mapped\",[99]],[[120461,120461],\"mapped\",[100]],[[120462,120462],\"mapped\",[101]],[[120463,120463],\"mapped\",[102]],[[120464,120464],\"mapped\",[103]],[[120465,120465],\"mapped\",[104]],[[120466,120466],\"mapped\",[105]],[[120467,120467],\"mapped\",[106]],[[120468,120468],\"mapped\",[107]],[[120469,120469],\"mapped\",[108]],[[120470,120470],\"mapped\",[109]],[[120471,120471],\"mapped\",[110]],[[120472,120472],\"mapped\",[111]],[[120473,120473],\"mapped\",[112]],[[120474,120474],\"mapped\",[113]],[[120475,120475],\"mapped\",[114]],[[120476,120476],\"mapped\",[115]],[[120477,120477],\"mapped\",[116]],[[120478,120478],\"mapped\",[117]],[[120479,120479],\"mapped\",[118]],[[120480,120480],\"mapped\",[119]],[[120481,120481],\"mapped\",[120]],[[120482,120482],\"mapped\",[121]],[[120483,120483],\"mapped\",[122]],[[120484,120484],\"mapped\",[305]],[[120485,120485],\"mapped\",[567]],[[120486,120487],\"disallowed\"],[[120488,120488],\"mapped\",[945]],[[120489,120489],\"mapped\",[946]],[[120490,120490],\"mapped\",[947]],[[120491,120491],\"mapped\",[948]],[[120492,120492],\"mapped\",[949]],[[120493,120493],\"mapped\",[950]],[[120494,120494],\"mapped\",[951]],[[120495,120495],\"mapped\",[952]],[[120496,120496],\"mapped\",[953]],[[120497,120497],\"mapped\",[954]],[[120498,120498],\"mapped\",[955]],[[120499,120499],\"mapped\",[956]],[[120500,120500],\"mapped\",[957]],[[120501,120501],\"mapped\",[958]],[[120502,120502],\"mapped\",[959]],[[120503,120503],\"mapped\",[960]],[[120504,120504],\"mapped\",[961]],[[120505,120505],\"mapped\",[952]],[[120506,120506],\"mapped\",[963]],[[120507,120507],\"mapped\",[964]],[[120508,120508],\"mapped\",[965]],[[120509,120509],\"mapped\",[966]],[[120510,120510],\"mapped\",[967]],[[120511,120511],\"mapped\",[968]],[[120512,120512],\"mapped\",[969]],[[120513,120513],\"mapped\",[8711]],[[120514,120514],\"mapped\",[945]],[[120515,120515],\"mapped\",[946]],[[120516,120516],\"mapped\",[947]],[[120517,120517],\"mapped\",[948]],[[120518,120518],\"mapped\",[949]],[[120519,120519],\"mapped\",[950]],[[120520,120520],\"mapped\",[951]],[[120521,120521],\"mapped\",[952]],[[120522,120522],\"mapped\",[953]],[[120523,120523],\"mapped\",[954]],[[120524,120524],\"mapped\",[955]],[[120525,120525],\"mapped\",[956]],[[120526,120526],\"mapped\",[957]],[[120527,120527],\"mapped\",[958]],[[120528,120528],\"mapped\",[959]],[[120529,120529],\"mapped\",[960]],[[120530,120530],\"mapped\",[961]],[[120531,120532],\"mapped\",[963]],[[120533,120533],\"mapped\",[964]],[[120534,120534],\"mapped\",[965]],[[120535,120535],\"mapped\",[966]],[[120536,120536],\"mapped\",[967]],[[120537,120537],\"mapped\",[968]],[[120538,120538],\"mapped\",[969]],[[120539,120539],\"mapped\",[8706]],[[120540,120540],\"mapped\",[949]],[[120541,120541],\"mapped\",[952]],[[120542,120542],\"mapped\",[954]],[[120543,120543],\"mapped\",[966]],[[120544,120544],\"mapped\",[961]],[[120545,120545],\"mapped\",[960]],[[120546,120546],\"mapped\",[945]],[[120547,120547],\"mapped\",[946]],[[120548,120548],\"mapped\",[947]],[[120549,120549],\"mapped\",[948]],[[120550,120550],\"mapped\",[949]],[[120551,120551],\"mapped\",[950]],[[120552,120552],\"mapped\",[951]],[[120553,120553],\"mapped\",[952]],[[120554,120554],\"mapped\",[953]],[[120555,120555],\"mapped\",[954]],[[120556,120556],\"mapped\",[955]],[[120557,120557],\"mapped\",[956]],[[120558,120558],\"mapped\",[957]],[[120559,120559],\"mapped\",[958]],[[120560,120560],\"mapped\",[959]],[[120561,120561],\"mapped\",[960]],[[120562,120562],\"mapped\",[961]],[[120563,120563],\"mapped\",[952]],[[120564,120564],\"mapped\",[963]],[[120565,120565],\"mapped\",[964]],[[120566,120566],\"mapped\",[965]],[[120567,120567],\"mapped\",[966]],[[120568,120568],\"mapped\",[967]],[[120569,120569],\"mapped\",[968]],[[120570,120570],\"mapped\",[969]],[[120571,120571],\"mapped\",[8711]],[[120572,120572],\"mapped\",[945]],[[120573,120573],\"mapped\",[946]],[[120574,120574],\"mapped\",[947]],[[120575,120575],\"mapped\",[948]],[[120576,120576],\"mapped\",[949]],[[120577,120577],\"mapped\",[950]],[[120578,120578],\"mapped\",[951]],[[120579,120579],\"mapped\",[952]],[[120580,120580],\"mapped\",[953]],[[120581,120581],\"mapped\",[954]],[[120582,120582],\"mapped\",[955]],[[120583,120583],\"mapped\",[956]],[[120584,120584],\"mapped\",[957]],[[120585,120585],\"mapped\",[958]],[[120586,120586],\"mapped\",[959]],[[120587,120587],\"mapped\",[960]],[[120588,120588],\"mapped\",[961]],[[120589,120590],\"mapped\",[963]],[[120591,120591],\"mapped\",[964]],[[120592,120592],\"mapped\",[965]],[[120593,120593],\"mapped\",[966]],[[120594,120594],\"mapped\",[967]],[[120595,120595],\"mapped\",[968]],[[120596,120596],\"mapped\",[969]],[[120597,120597],\"mapped\",[8706]],[[120598,120598],\"mapped\",[949]],[[120599,120599],\"mapped\",[952]],[[120600,120600],\"mapped\",[954]],[[120601,120601],\"mapped\",[966]],[[120602,120602],\"mapped\",[961]],[[120603,120603],\"mapped\",[960]],[[120604,120604],\"mapped\",[945]],[[120605,120605],\"mapped\",[946]],[[120606,120606],\"mapped\",[947]],[[120607,120607],\"mapped\",[948]],[[120608,120608],\"mapped\",[949]],[[120609,120609],\"mapped\",[950]],[[120610,120610],\"mapped\",[951]],[[120611,120611],\"mapped\",[952]],[[120612,120612],\"mapped\",[953]],[[120613,120613],\"mapped\",[954]],[[120614,120614],\"mapped\",[955]],[[120615,120615],\"mapped\",[956]],[[120616,120616],\"mapped\",[957]],[[120617,120617],\"mapped\",[958]],[[120618,120618],\"mapped\",[959]],[[120619,120619],\"mapped\",[960]],[[120620,120620],\"mapped\",[961]],[[120621,120621],\"mapped\",[952]],[[120622,120622],\"mapped\",[963]],[[120623,120623],\"mapped\",[964]],[[120624,120624],\"mapped\",[965]],[[120625,120625],\"mapped\",[966]],[[120626,120626],\"mapped\",[967]],[[120627,120627],\"mapped\",[968]],[[120628,120628],\"mapped\",[969]],[[120629,120629],\"mapped\",[8711]],[[120630,120630],\"mapped\",[945]],[[120631,120631],\"mapped\",[946]],[[120632,120632],\"mapped\",[947]],[[120633,120633],\"mapped\",[948]],[[120634,120634],\"mapped\",[949]],[[120635,120635],\"mapped\",[950]],[[120636,120636],\"mapped\",[951]],[[120637,120637],\"mapped\",[952]],[[120638,120638],\"mapped\",[953]],[[120639,120639],\"mapped\",[954]],[[120640,120640],\"mapped\",[955]],[[120641,120641],\"mapped\",[956]],[[120642,120642],\"mapped\",[957]],[[120643,120643],\"mapped\",[958]],[[120644,120644],\"mapped\",[959]],[[120645,120645],\"mapped\",[960]],[[120646,120646],\"mapped\",[961]],[[120647,120648],\"mapped\",[963]],[[120649,120649],\"mapped\",[964]],[[120650,120650],\"mapped\",[965]],[[120651,120651],\"mapped\",[966]],[[120652,120652],\"mapped\",[967]],[[120653,120653],\"mapped\",[968]],[[120654,120654],\"mapped\",[969]],[[120655,120655],\"mapped\",[8706]],[[120656,120656],\"mapped\",[949]],[[120657,120657],\"mapped\",[952]],[[120658,120658],\"mapped\",[954]],[[120659,120659],\"mapped\",[966]],[[120660,120660],\"mapped\",[961]],[[120661,120661],\"mapped\",[960]],[[120662,120662],\"mapped\",[945]],[[120663,120663],\"mapped\",[946]],[[120664,120664],\"mapped\",[947]],[[120665,120665],\"mapped\",[948]],[[120666,120666],\"mapped\",[949]],[[120667,120667],\"mapped\",[950]],[[120668,120668],\"mapped\",[951]],[[120669,120669],\"mapped\",[952]],[[120670,120670],\"mapped\",[953]],[[120671,120671],\"mapped\",[954]],[[120672,120672],\"mapped\",[955]],[[120673,120673],\"mapped\",[956]],[[120674,120674],\"mapped\",[957]],[[120675,120675],\"mapped\",[958]],[[120676,120676],\"mapped\",[959]],[[120677,120677],\"mapped\",[960]],[[120678,120678],\"mapped\",[961]],[[120679,120679],\"mapped\",[952]],[[120680,120680],\"mapped\",[963]],[[120681,120681],\"mapped\",[964]],[[120682,120682],\"mapped\",[965]],[[120683,120683],\"mapped\",[966]],[[120684,120684],\"mapped\",[967]],[[120685,120685],\"mapped\",[968]],[[120686,120686],\"mapped\",[969]],[[120687,120687],\"mapped\",[8711]],[[120688,120688],\"mapped\",[945]],[[120689,120689],\"mapped\",[946]],[[120690,120690],\"mapped\",[947]],[[120691,120691],\"mapped\",[948]],[[120692,120692],\"mapped\",[949]],[[120693,120693],\"mapped\",[950]],[[120694,120694],\"mapped\",[951]],[[120695,120695],\"mapped\",[952]],[[120696,120696],\"mapped\",[953]],[[120697,120697],\"mapped\",[954]],[[120698,120698],\"mapped\",[955]],[[120699,120699],\"mapped\",[956]],[[120700,120700],\"mapped\",[957]],[[120701,120701],\"mapped\",[958]],[[120702,120702],\"mapped\",[959]],[[120703,120703],\"mapped\",[960]],[[120704,120704],\"mapped\",[961]],[[120705,120706],\"mapped\",[963]],[[120707,120707],\"mapped\",[964]],[[120708,120708],\"mapped\",[965]],[[120709,120709],\"mapped\",[966]],[[120710,120710],\"mapped\",[967]],[[120711,120711],\"mapped\",[968]],[[120712,120712],\"mapped\",[969]],[[120713,120713],\"mapped\",[8706]],[[120714,120714],\"mapped\",[949]],[[120715,120715],\"mapped\",[952]],[[120716,120716],\"mapped\",[954]],[[120717,120717],\"mapped\",[966]],[[120718,120718],\"mapped\",[961]],[[120719,120719],\"mapped\",[960]],[[120720,120720],\"mapped\",[945]],[[120721,120721],\"mapped\",[946]],[[120722,120722],\"mapped\",[947]],[[120723,120723],\"mapped\",[948]],[[120724,120724],\"mapped\",[949]],[[120725,120725],\"mapped\",[950]],[[120726,120726],\"mapped\",[951]],[[120727,120727],\"mapped\",[952]],[[120728,120728],\"mapped\",[953]],[[120729,120729],\"mapped\",[954]],[[120730,120730],\"mapped\",[955]],[[120731,120731],\"mapped\",[956]],[[120732,120732],\"mapped\",[957]],[[120733,120733],\"mapped\",[958]],[[120734,120734],\"mapped\",[959]],[[120735,120735],\"mapped\",[960]],[[120736,120736],\"mapped\",[961]],[[120737,120737],\"mapped\",[952]],[[120738,120738],\"mapped\",[963]],[[120739,120739],\"mapped\",[964]],[[120740,120740],\"mapped\",[965]],[[120741,120741],\"mapped\",[966]],[[120742,120742],\"mapped\",[967]],[[120743,120743],\"mapped\",[968]],[[120744,120744],\"mapped\",[969]],[[120745,120745],\"mapped\",[8711]],[[120746,120746],\"mapped\",[945]],[[120747,120747],\"mapped\",[946]],[[120748,120748],\"mapped\",[947]],[[120749,120749],\"mapped\",[948]],[[120750,120750],\"mapped\",[949]],[[120751,120751],\"mapped\",[950]],[[120752,120752],\"mapped\",[951]],[[120753,120753],\"mapped\",[952]],[[120754,120754],\"mapped\",[953]],[[120755,120755],\"mapped\",[954]],[[120756,120756],\"mapped\",[955]],[[120757,120757],\"mapped\",[956]],[[120758,120758],\"mapped\",[957]],[[120759,120759],\"mapped\",[958]],[[120760,120760],\"mapped\",[959]],[[120761,120761],\"mapped\",[960]],[[120762,120762],\"mapped\",[961]],[[120763,120764],\"mapped\",[963]],[[120765,120765],\"mapped\",[964]],[[120766,120766],\"mapped\",[965]],[[120767,120767],\"mapped\",[966]],[[120768,120768],\"mapped\",[967]],[[120769,120769],\"mapped\",[968]],[[120770,120770],\"mapped\",[969]],[[120771,120771],\"mapped\",[8706]],[[120772,120772],\"mapped\",[949]],[[120773,120773],\"mapped\",[952]],[[120774,120774],\"mapped\",[954]],[[120775,120775],\"mapped\",[966]],[[120776,120776],\"mapped\",[961]],[[120777,120777],\"mapped\",[960]],[[120778,120779],\"mapped\",[989]],[[120780,120781],\"disallowed\"],[[120782,120782],\"mapped\",[48]],[[120783,120783],\"mapped\",[49]],[[120784,120784],\"mapped\",[50]],[[120785,120785],\"mapped\",[51]],[[120786,120786],\"mapped\",[52]],[[120787,120787],\"mapped\",[53]],[[120788,120788],\"mapped\",[54]],[[120789,120789],\"mapped\",[55]],[[120790,120790],\"mapped\",[56]],[[120791,120791],\"mapped\",[57]],[[120792,120792],\"mapped\",[48]],[[120793,120793],\"mapped\",[49]],[[120794,120794],\"mapped\",[50]],[[120795,120795],\"mapped\",[51]],[[120796,120796],\"mapped\",[52]],[[120797,120797],\"mapped\",[53]],[[120798,120798],\"mapped\",[54]],[[120799,120799],\"mapped\",[55]],[[120800,120800],\"mapped\",[56]],[[120801,120801],\"mapped\",[57]],[[120802,120802],\"mapped\",[48]],[[120803,120803],\"mapped\",[49]],[[120804,120804],\"mapped\",[50]],[[120805,120805],\"mapped\",[51]],[[120806,120806],\"mapped\",[52]],[[120807,120807],\"mapped\",[53]],[[120808,120808],\"mapped\",[54]],[[120809,120809],\"mapped\",[55]],[[120810,120810],\"mapped\",[56]],[[120811,120811],\"mapped\",[57]],[[120812,120812],\"mapped\",[48]],[[120813,120813],\"mapped\",[49]],[[120814,120814],\"mapped\",[50]],[[120815,120815],\"mapped\",[51]],[[120816,120816],\"mapped\",[52]],[[120817,120817],\"mapped\",[53]],[[120818,120818],\"mapped\",[54]],[[120819,120819],\"mapped\",[55]],[[120820,120820],\"mapped\",[56]],[[120821,120821],\"mapped\",[57]],[[120822,120822],\"mapped\",[48]],[[120823,120823],\"mapped\",[49]],[[120824,120824],\"mapped\",[50]],[[120825,120825],\"mapped\",[51]],[[120826,120826],\"mapped\",[52]],[[120827,120827],\"mapped\",[53]],[[120828,120828],\"mapped\",[54]],[[120829,120829],\"mapped\",[55]],[[120830,120830],\"mapped\",[56]],[[120831,120831],\"mapped\",[57]],[[120832,121343],\"valid\",[],\"NV8\"],[[121344,121398],\"valid\"],[[121399,121402],\"valid\",[],\"NV8\"],[[121403,121452],\"valid\"],[[121453,121460],\"valid\",[],\"NV8\"],[[121461,121461],\"valid\"],[[121462,121475],\"valid\",[],\"NV8\"],[[121476,121476],\"valid\"],[[121477,121483],\"valid\",[],\"NV8\"],[[121484,121498],\"disallowed\"],[[121499,121503],\"valid\"],[[121504,121504],\"disallowed\"],[[121505,121519],\"valid\"],[[121520,124927],\"disallowed\"],[[124928,125124],\"valid\"],[[125125,125126],\"disallowed\"],[[125127,125135],\"valid\",[],\"NV8\"],[[125136,125142],\"valid\"],[[125143,126463],\"disallowed\"],[[126464,126464],\"mapped\",[1575]],[[126465,126465],\"mapped\",[1576]],[[126466,126466],\"mapped\",[1580]],[[126467,126467],\"mapped\",[1583]],[[126468,126468],\"disallowed\"],[[126469,126469],\"mapped\",[1608]],[[126470,126470],\"mapped\",[1586]],[[126471,126471],\"mapped\",[1581]],[[126472,126472],\"mapped\",[1591]],[[126473,126473],\"mapped\",[1610]],[[126474,126474],\"mapped\",[1603]],[[126475,126475],\"mapped\",[1604]],[[126476,126476],\"mapped\",[1605]],[[126477,126477],\"mapped\",[1606]],[[126478,126478],\"mapped\",[1587]],[[126479,126479],\"mapped\",[1593]],[[126480,126480],\"mapped\",[1601]],[[126481,126481],\"mapped\",[1589]],[[126482,126482],\"mapped\",[1602]],[[126483,126483],\"mapped\",[1585]],[[126484,126484],\"mapped\",[1588]],[[126485,126485],\"mapped\",[1578]],[[126486,126486],\"mapped\",[1579]],[[126487,126487],\"mapped\",[1582]],[[126488,126488],\"mapped\",[1584]],[[126489,126489],\"mapped\",[1590]],[[126490,126490],\"mapped\",[1592]],[[126491,126491],\"mapped\",[1594]],[[126492,126492],\"mapped\",[1646]],[[126493,126493],\"mapped\",[1722]],[[126494,126494],\"mapped\",[1697]],[[126495,126495],\"mapped\",[1647]],[[126496,126496],\"disallowed\"],[[126497,126497],\"mapped\",[1576]],[[126498,126498],\"mapped\",[1580]],[[126499,126499],\"disallowed\"],[[126500,126500],\"mapped\",[1607]],[[126501,126502],\"disallowed\"],[[126503,126503],\"mapped\",[1581]],[[126504,126504],\"disallowed\"],[[126505,126505],\"mapped\",[1610]],[[126506,126506],\"mapped\",[1603]],[[126507,126507],\"mapped\",[1604]],[[126508,126508],\"mapped\",[1605]],[[126509,126509],\"mapped\",[1606]],[[126510,126510],\"mapped\",[1587]],[[126511,126511],\"mapped\",[1593]],[[126512,126512],\"mapped\",[1601]],[[126513,126513],\"mapped\",[1589]],[[126514,126514],\"mapped\",[1602]],[[126515,126515],\"disallowed\"],[[126516,126516],\"mapped\",[1588]],[[126517,126517],\"mapped\",[1578]],[[126518,126518],\"mapped\",[1579]],[[126519,126519],\"mapped\",[1582]],[[126520,126520],\"disallowed\"],[[126521,126521],\"mapped\",[1590]],[[126522,126522],\"disallowed\"],[[126523,126523],\"mapped\",[1594]],[[126524,126529],\"disallowed\"],[[126530,126530],\"mapped\",[1580]],[[126531,126534],\"disallowed\"],[[126535,126535],\"mapped\",[1581]],[[126536,126536],\"disallowed\"],[[126537,126537],\"mapped\",[1610]],[[126538,126538],\"disallowed\"],[[126539,126539],\"mapped\",[1604]],[[126540,126540],\"disallowed\"],[[126541,126541],\"mapped\",[1606]],[[126542,126542],\"mapped\",[1587]],[[126543,126543],\"mapped\",[1593]],[[126544,126544],\"disallowed\"],[[126545,126545],\"mapped\",[1589]],[[126546,126546],\"mapped\",[1602]],[[126547,126547],\"disallowed\"],[[126548,126548],\"mapped\",[1588]],[[126549,126550],\"disallowed\"],[[126551,126551],\"mapped\",[1582]],[[126552,126552],\"disallowed\"],[[126553,126553],\"mapped\",[1590]],[[126554,126554],\"disallowed\"],[[126555,126555],\"mapped\",[1594]],[[126556,126556],\"disallowed\"],[[126557,126557],\"mapped\",[1722]],[[126558,126558],\"disallowed\"],[[126559,126559],\"mapped\",[1647]],[[126560,126560],\"disallowed\"],[[126561,126561],\"mapped\",[1576]],[[126562,126562],\"mapped\",[1580]],[[126563,126563],\"disallowed\"],[[126564,126564],\"mapped\",[1607]],[[126565,126566],\"disallowed\"],[[126567,126567],\"mapped\",[1581]],[[126568,126568],\"mapped\",[1591]],[[126569,126569],\"mapped\",[1610]],[[126570,126570],\"mapped\",[1603]],[[126571,126571],\"disallowed\"],[[126572,126572],\"mapped\",[1605]],[[126573,126573],\"mapped\",[1606]],[[126574,126574],\"mapped\",[1587]],[[126575,126575],\"mapped\",[1593]],[[126576,126576],\"mapped\",[1601]],[[126577,126577],\"mapped\",[1589]],[[126578,126578],\"mapped\",[1602]],[[126579,126579],\"disallowed\"],[[126580,126580],\"mapped\",[1588]],[[126581,126581],\"mapped\",[1578]],[[126582,126582],\"mapped\",[1579]],[[126583,126583],\"mapped\",[1582]],[[126584,126584],\"disallowed\"],[[126585,126585],\"mapped\",[1590]],[[126586,126586],\"mapped\",[1592]],[[126587,126587],\"mapped\",[1594]],[[126588,126588],\"mapped\",[1646]],[[126589,126589],\"disallowed\"],[[126590,126590],\"mapped\",[1697]],[[126591,126591],\"disallowed\"],[[126592,126592],\"mapped\",[1575]],[[126593,126593],\"mapped\",[1576]],[[126594,126594],\"mapped\",[1580]],[[126595,126595],\"mapped\",[1583]],[[126596,126596],\"mapped\",[1607]],[[126597,126597],\"mapped\",[1608]],[[126598,126598],\"mapped\",[1586]],[[126599,126599],\"mapped\",[1581]],[[126600,126600],\"mapped\",[1591]],[[126601,126601],\"mapped\",[1610]],[[126602,126602],\"disallowed\"],[[126603,126603],\"mapped\",[1604]],[[126604,126604],\"mapped\",[1605]],[[126605,126605],\"mapped\",[1606]],[[126606,126606],\"mapped\",[1587]],[[126607,126607],\"mapped\",[1593]],[[126608,126608],\"mapped\",[1601]],[[126609,126609],\"mapped\",[1589]],[[126610,126610],\"mapped\",[1602]],[[126611,126611],\"mapped\",[1585]],[[126612,126612],\"mapped\",[1588]],[[126613,126613],\"mapped\",[1578]],[[126614,126614],\"mapped\",[1579]],[[126615,126615],\"mapped\",[1582]],[[126616,126616],\"mapped\",[1584]],[[126617,126617],\"mapped\",[1590]],[[126618,126618],\"mapped\",[1592]],[[126619,126619],\"mapped\",[1594]],[[126620,126624],\"disallowed\"],[[126625,126625],\"mapped\",[1576]],[[126626,126626],\"mapped\",[1580]],[[126627,126627],\"mapped\",[1583]],[[126628,126628],\"disallowed\"],[[126629,126629],\"mapped\",[1608]],[[126630,126630],\"mapped\",[1586]],[[126631,126631],\"mapped\",[1581]],[[126632,126632],\"mapped\",[1591]],[[126633,126633],\"mapped\",[1610]],[[126634,126634],\"disallowed\"],[[126635,126635],\"mapped\",[1604]],[[126636,126636],\"mapped\",[1605]],[[126637,126637],\"mapped\",[1606]],[[126638,126638],\"mapped\",[1587]],[[126639,126639],\"mapped\",[1593]],[[126640,126640],\"mapped\",[1601]],[[126641,126641],\"mapped\",[1589]],[[126642,126642],\"mapped\",[1602]],[[126643,126643],\"mapped\",[1585]],[[126644,126644],\"mapped\",[1588]],[[126645,126645],\"mapped\",[1578]],[[126646,126646],\"mapped\",[1579]],[[126647,126647],\"mapped\",[1582]],[[126648,126648],\"mapped\",[1584]],[[126649,126649],\"mapped\",[1590]],[[126650,126650],\"mapped\",[1592]],[[126651,126651],\"mapped\",[1594]],[[126652,126703],\"disallowed\"],[[126704,126705],\"valid\",[],\"NV8\"],[[126706,126975],\"disallowed\"],[[126976,127019],\"valid\",[],\"NV8\"],[[127020,127023],\"disallowed\"],[[127024,127123],\"valid\",[],\"NV8\"],[[127124,127135],\"disallowed\"],[[127136,127150],\"valid\",[],\"NV8\"],[[127151,127152],\"disallowed\"],[[127153,127166],\"valid\",[],\"NV8\"],[[127167,127167],\"valid\",[],\"NV8\"],[[127168,127168],\"disallowed\"],[[127169,127183],\"valid\",[],\"NV8\"],[[127184,127184],\"disallowed\"],[[127185,127199],\"valid\",[],\"NV8\"],[[127200,127221],\"valid\",[],\"NV8\"],[[127222,127231],\"disallowed\"],[[127232,127232],\"disallowed\"],[[127233,127233],\"disallowed_STD3_mapped\",[48,44]],[[127234,127234],\"disallowed_STD3_mapped\",[49,44]],[[127235,127235],\"disallowed_STD3_mapped\",[50,44]],[[127236,127236],\"disallowed_STD3_mapped\",[51,44]],[[127237,127237],\"disallowed_STD3_mapped\",[52,44]],[[127238,127238],\"disallowed_STD3_mapped\",[53,44]],[[127239,127239],\"disallowed_STD3_mapped\",[54,44]],[[127240,127240],\"disallowed_STD3_mapped\",[55,44]],[[127241,127241],\"disallowed_STD3_mapped\",[56,44]],[[127242,127242],\"disallowed_STD3_mapped\",[57,44]],[[127243,127244],\"valid\",[],\"NV8\"],[[127245,127247],\"disallowed\"],[[127248,127248],\"disallowed_STD3_mapped\",[40,97,41]],[[127249,127249],\"disallowed_STD3_mapped\",[40,98,41]],[[127250,127250],\"disallowed_STD3_mapped\",[40,99,41]],[[127251,127251],\"disallowed_STD3_mapped\",[40,100,41]],[[127252,127252],\"disallowed_STD3_mapped\",[40,101,41]],[[127253,127253],\"disallowed_STD3_mapped\",[40,102,41]],[[127254,127254],\"disallowed_STD3_mapped\",[40,103,41]],[[127255,127255],\"disallowed_STD3_mapped\",[40,104,41]],[[127256,127256],\"disallowed_STD3_mapped\",[40,105,41]],[[127257,127257],\"disallowed_STD3_mapped\",[40,106,41]],[[127258,127258],\"disallowed_STD3_mapped\",[40,107,41]],[[127259,127259],\"disallowed_STD3_mapped\",[40,108,41]],[[127260,127260],\"disallowed_STD3_mapped\",[40,109,41]],[[127261,127261],\"disallowed_STD3_mapped\",[40,110,41]],[[127262,127262],\"disallowed_STD3_mapped\",[40,111,41]],[[127263,127263],\"disallowed_STD3_mapped\",[40,112,41]],[[127264,127264],\"disallowed_STD3_mapped\",[40,113,41]],[[127265,127265],\"disallowed_STD3_mapped\",[40,114,41]],[[127266,127266],\"disallowed_STD3_mapped\",[40,115,41]],[[127267,127267],\"disallowed_STD3_mapped\",[40,116,41]],[[127268,127268],\"disallowed_STD3_mapped\",[40,117,41]],[[127269,127269],\"disallowed_STD3_mapped\",[40,118,41]],[[127270,127270],\"disallowed_STD3_mapped\",[40,119,41]],[[127271,127271],\"disallowed_STD3_mapped\",[40,120,41]],[[127272,127272],\"disallowed_STD3_mapped\",[40,121,41]],[[127273,127273],\"disallowed_STD3_mapped\",[40,122,41]],[[127274,127274],\"mapped\",[12308,115,12309]],[[127275,127275],\"mapped\",[99]],[[127276,127276],\"mapped\",[114]],[[127277,127277],\"mapped\",[99,100]],[[127278,127278],\"mapped\",[119,122]],[[127279,127279],\"disallowed\"],[[127280,127280],\"mapped\",[97]],[[127281,127281],\"mapped\",[98]],[[127282,127282],\"mapped\",[99]],[[127283,127283],\"mapped\",[100]],[[127284,127284],\"mapped\",[101]],[[127285,127285],\"mapped\",[102]],[[127286,127286],\"mapped\",[103]],[[127287,127287],\"mapped\",[104]],[[127288,127288],\"mapped\",[105]],[[127289,127289],\"mapped\",[106]],[[127290,127290],\"mapped\",[107]],[[127291,127291],\"mapped\",[108]],[[127292,127292],\"mapped\",[109]],[[127293,127293],\"mapped\",[110]],[[127294,127294],\"mapped\",[111]],[[127295,127295],\"mapped\",[112]],[[127296,127296],\"mapped\",[113]],[[127297,127297],\"mapped\",[114]],[[127298,127298],\"mapped\",[115]],[[127299,127299],\"mapped\",[116]],[[127300,127300],\"mapped\",[117]],[[127301,127301],\"mapped\",[118]],[[127302,127302],\"mapped\",[119]],[[127303,127303],\"mapped\",[120]],[[127304,127304],\"mapped\",[121]],[[127305,127305],\"mapped\",[122]],[[127306,127306],\"mapped\",[104,118]],[[127307,127307],\"mapped\",[109,118]],[[127308,127308],\"mapped\",[115,100]],[[127309,127309],\"mapped\",[115,115]],[[127310,127310],\"mapped\",[112,112,118]],[[127311,127311],\"mapped\",[119,99]],[[127312,127318],\"valid\",[],\"NV8\"],[[127319,127319],\"valid\",[],\"NV8\"],[[127320,127326],\"valid\",[],\"NV8\"],[[127327,127327],\"valid\",[],\"NV8\"],[[127328,127337],\"valid\",[],\"NV8\"],[[127338,127338],\"mapped\",[109,99]],[[127339,127339],\"mapped\",[109,100]],[[127340,127343],\"disallowed\"],[[127344,127352],\"valid\",[],\"NV8\"],[[127353,127353],\"valid\",[],\"NV8\"],[[127354,127354],\"valid\",[],\"NV8\"],[[127355,127356],\"valid\",[],\"NV8\"],[[127357,127358],\"valid\",[],\"NV8\"],[[127359,127359],\"valid\",[],\"NV8\"],[[127360,127369],\"valid\",[],\"NV8\"],[[127370,127373],\"valid\",[],\"NV8\"],[[127374,127375],\"valid\",[],\"NV8\"],[[127376,127376],\"mapped\",[100,106]],[[127377,127386],\"valid\",[],\"NV8\"],[[127387,127461],\"disallowed\"],[[127462,127487],\"valid\",[],\"NV8\"],[[127488,127488],\"mapped\",[12411,12363]],[[127489,127489],\"mapped\",[12467,12467]],[[127490,127490],\"mapped\",[12469]],[[127491,127503],\"disallowed\"],[[127504,127504],\"mapped\",[25163]],[[127505,127505],\"mapped\",[23383]],[[127506,127506],\"mapped\",[21452]],[[127507,127507],\"mapped\",[12487]],[[127508,127508],\"mapped\",[20108]],[[127509,127509],\"mapped\",[22810]],[[127510,127510],\"mapped\",[35299]],[[127511,127511],\"mapped\",[22825]],[[127512,127512],\"mapped\",[20132]],[[127513,127513],\"mapped\",[26144]],[[127514,127514],\"mapped\",[28961]],[[127515,127515],\"mapped\",[26009]],[[127516,127516],\"mapped\",[21069]],[[127517,127517],\"mapped\",[24460]],[[127518,127518],\"mapped\",[20877]],[[127519,127519],\"mapped\",[26032]],[[127520,127520],\"mapped\",[21021]],[[127521,127521],\"mapped\",[32066]],[[127522,127522],\"mapped\",[29983]],[[127523,127523],\"mapped\",[36009]],[[127524,127524],\"mapped\",[22768]],[[127525,127525],\"mapped\",[21561]],[[127526,127526],\"mapped\",[28436]],[[127527,127527],\"mapped\",[25237]],[[127528,127528],\"mapped\",[25429]],[[127529,127529],\"mapped\",[19968]],[[127530,127530],\"mapped\",[19977]],[[127531,127531],\"mapped\",[36938]],[[127532,127532],\"mapped\",[24038]],[[127533,127533],\"mapped\",[20013]],[[127534,127534],\"mapped\",[21491]],[[127535,127535],\"mapped\",[25351]],[[127536,127536],\"mapped\",[36208]],[[127537,127537],\"mapped\",[25171]],[[127538,127538],\"mapped\",[31105]],[[127539,127539],\"mapped\",[31354]],[[127540,127540],\"mapped\",[21512]],[[127541,127541],\"mapped\",[28288]],[[127542,127542],\"mapped\",[26377]],[[127543,127543],\"mapped\",[26376]],[[127544,127544],\"mapped\",[30003]],[[127545,127545],\"mapped\",[21106]],[[127546,127546],\"mapped\",[21942]],[[127547,127551],\"disallowed\"],[[127552,127552],\"mapped\",[12308,26412,12309]],[[127553,127553],\"mapped\",[12308,19977,12309]],[[127554,127554],\"mapped\",[12308,20108,12309]],[[127555,127555],\"mapped\",[12308,23433,12309]],[[127556,127556],\"mapped\",[12308,28857,12309]],[[127557,127557],\"mapped\",[12308,25171,12309]],[[127558,127558],\"mapped\",[12308,30423,12309]],[[127559,127559],\"mapped\",[12308,21213,12309]],[[127560,127560],\"mapped\",[12308,25943,12309]],[[127561,127567],\"disallowed\"],[[127568,127568],\"mapped\",[24471]],[[127569,127569],\"mapped\",[21487]],[[127570,127743],\"disallowed\"],[[127744,127776],\"valid\",[],\"NV8\"],[[127777,127788],\"valid\",[],\"NV8\"],[[127789,127791],\"valid\",[],\"NV8\"],[[127792,127797],\"valid\",[],\"NV8\"],[[127798,127798],\"valid\",[],\"NV8\"],[[127799,127868],\"valid\",[],\"NV8\"],[[127869,127869],\"valid\",[],\"NV8\"],[[127870,127871],\"valid\",[],\"NV8\"],[[127872,127891],\"valid\",[],\"NV8\"],[[127892,127903],\"valid\",[],\"NV8\"],[[127904,127940],\"valid\",[],\"NV8\"],[[127941,127941],\"valid\",[],\"NV8\"],[[127942,127946],\"valid\",[],\"NV8\"],[[127947,127950],\"valid\",[],\"NV8\"],[[127951,127955],\"valid\",[],\"NV8\"],[[127956,127967],\"valid\",[],\"NV8\"],[[127968,127984],\"valid\",[],\"NV8\"],[[127985,127991],\"valid\",[],\"NV8\"],[[127992,127999],\"valid\",[],\"NV8\"],[[128000,128062],\"valid\",[],\"NV8\"],[[128063,128063],\"valid\",[],\"NV8\"],[[128064,128064],\"valid\",[],\"NV8\"],[[128065,128065],\"valid\",[],\"NV8\"],[[128066,128247],\"valid\",[],\"NV8\"],[[128248,128248],\"valid\",[],\"NV8\"],[[128249,128252],\"valid\",[],\"NV8\"],[[128253,128254],\"valid\",[],\"NV8\"],[[128255,128255],\"valid\",[],\"NV8\"],[[128256,128317],\"valid\",[],\"NV8\"],[[128318,128319],\"valid\",[],\"NV8\"],[[128320,128323],\"valid\",[],\"NV8\"],[[128324,128330],\"valid\",[],\"NV8\"],[[128331,128335],\"valid\",[],\"NV8\"],[[128336,128359],\"valid\",[],\"NV8\"],[[128360,128377],\"valid\",[],\"NV8\"],[[128378,128378],\"disallowed\"],[[128379,128419],\"valid\",[],\"NV8\"],[[128420,128420],\"disallowed\"],[[128421,128506],\"valid\",[],\"NV8\"],[[128507,128511],\"valid\",[],\"NV8\"],[[128512,128512],\"valid\",[],\"NV8\"],[[128513,128528],\"valid\",[],\"NV8\"],[[128529,128529],\"valid\",[],\"NV8\"],[[128530,128532],\"valid\",[],\"NV8\"],[[128533,128533],\"valid\",[],\"NV8\"],[[128534,128534],\"valid\",[],\"NV8\"],[[128535,128535],\"valid\",[],\"NV8\"],[[128536,128536],\"valid\",[],\"NV8\"],[[128537,128537],\"valid\",[],\"NV8\"],[[128538,128538],\"valid\",[],\"NV8\"],[[128539,128539],\"valid\",[],\"NV8\"],[[128540,128542],\"valid\",[],\"NV8\"],[[128543,128543],\"valid\",[],\"NV8\"],[[128544,128549],\"valid\",[],\"NV8\"],[[128550,128551],\"valid\",[],\"NV8\"],[[128552,128555],\"valid\",[],\"NV8\"],[[128556,128556],\"valid\",[],\"NV8\"],[[128557,128557],\"valid\",[],\"NV8\"],[[128558,128559],\"valid\",[],\"NV8\"],[[128560,128563],\"valid\",[],\"NV8\"],[[128564,128564],\"valid\",[],\"NV8\"],[[128565,128576],\"valid\",[],\"NV8\"],[[128577,128578],\"valid\",[],\"NV8\"],[[128579,128580],\"valid\",[],\"NV8\"],[[128581,128591],\"valid\",[],\"NV8\"],[[128592,128639],\"valid\",[],\"NV8\"],[[128640,128709],\"valid\",[],\"NV8\"],[[128710,128719],\"valid\",[],\"NV8\"],[[128720,128720],\"valid\",[],\"NV8\"],[[128721,128735],\"disallowed\"],[[128736,128748],\"valid\",[],\"NV8\"],[[128749,128751],\"disallowed\"],[[128752,128755],\"valid\",[],\"NV8\"],[[128756,128767],\"disallowed\"],[[128768,128883],\"valid\",[],\"NV8\"],[[128884,128895],\"disallowed\"],[[128896,128980],\"valid\",[],\"NV8\"],[[128981,129023],\"disallowed\"],[[129024,129035],\"valid\",[],\"NV8\"],[[129036,129039],\"disallowed\"],[[129040,129095],\"valid\",[],\"NV8\"],[[129096,129103],\"disallowed\"],[[129104,129113],\"valid\",[],\"NV8\"],[[129114,129119],\"disallowed\"],[[129120,129159],\"valid\",[],\"NV8\"],[[129160,129167],\"disallowed\"],[[129168,129197],\"valid\",[],\"NV8\"],[[129198,129295],\"disallowed\"],[[129296,129304],\"valid\",[],\"NV8\"],[[129305,129407],\"disallowed\"],[[129408,129412],\"valid\",[],\"NV8\"],[[129413,129471],\"disallowed\"],[[129472,129472],\"valid\",[],\"NV8\"],[[129473,131069],\"disallowed\"],[[131070,131071],\"disallowed\"],[[131072,173782],\"valid\"],[[173783,173823],\"disallowed\"],[[173824,177972],\"valid\"],[[177973,177983],\"disallowed\"],[[177984,178205],\"valid\"],[[178206,178207],\"disallowed\"],[[178208,183969],\"valid\"],[[183970,194559],\"disallowed\"],[[194560,194560],\"mapped\",[20029]],[[194561,194561],\"mapped\",[20024]],[[194562,194562],\"mapped\",[20033]],[[194563,194563],\"mapped\",[131362]],[[194564,194564],\"mapped\",[20320]],[[194565,194565],\"mapped\",[20398]],[[194566,194566],\"mapped\",[20411]],[[194567,194567],\"mapped\",[20482]],[[194568,194568],\"mapped\",[20602]],[[194569,194569],\"mapped\",[20633]],[[194570,194570],\"mapped\",[20711]],[[194571,194571],\"mapped\",[20687]],[[194572,194572],\"mapped\",[13470]],[[194573,194573],\"mapped\",[132666]],[[194574,194574],\"mapped\",[20813]],[[194575,194575],\"mapped\",[20820]],[[194576,194576],\"mapped\",[20836]],[[194577,194577],\"mapped\",[20855]],[[194578,194578],\"mapped\",[132380]],[[194579,194579],\"mapped\",[13497]],[[194580,194580],\"mapped\",[20839]],[[194581,194581],\"mapped\",[20877]],[[194582,194582],\"mapped\",[132427]],[[194583,194583],\"mapped\",[20887]],[[194584,194584],\"mapped\",[20900]],[[194585,194585],\"mapped\",[20172]],[[194586,194586],\"mapped\",[20908]],[[194587,194587],\"mapped\",[20917]],[[194588,194588],\"mapped\",[168415]],[[194589,194589],\"mapped\",[20981]],[[194590,194590],\"mapped\",[20995]],[[194591,194591],\"mapped\",[13535]],[[194592,194592],\"mapped\",[21051]],[[194593,194593],\"mapped\",[21062]],[[194594,194594],\"mapped\",[21106]],[[194595,194595],\"mapped\",[21111]],[[194596,194596],\"mapped\",[13589]],[[194597,194597],\"mapped\",[21191]],[[194598,194598],\"mapped\",[21193]],[[194599,194599],\"mapped\",[21220]],[[194600,194600],\"mapped\",[21242]],[[194601,194601],\"mapped\",[21253]],[[194602,194602],\"mapped\",[21254]],[[194603,194603],\"mapped\",[21271]],[[194604,194604],\"mapped\",[21321]],[[194605,194605],\"mapped\",[21329]],[[194606,194606],\"mapped\",[21338]],[[194607,194607],\"mapped\",[21363]],[[194608,194608],\"mapped\",[21373]],[[194609,194611],\"mapped\",[21375]],[[194612,194612],\"mapped\",[133676]],[[194613,194613],\"mapped\",[28784]],[[194614,194614],\"mapped\",[21450]],[[194615,194615],\"mapped\",[21471]],[[194616,194616],\"mapped\",[133987]],[[194617,194617],\"mapped\",[21483]],[[194618,194618],\"mapped\",[21489]],[[194619,194619],\"mapped\",[21510]],[[194620,194620],\"mapped\",[21662]],[[194621,194621],\"mapped\",[21560]],[[194622,194622],\"mapped\",[21576]],[[194623,194623],\"mapped\",[21608]],[[194624,194624],\"mapped\",[21666]],[[194625,194625],\"mapped\",[21750]],[[194626,194626],\"mapped\",[21776]],[[194627,194627],\"mapped\",[21843]],[[194628,194628],\"mapped\",[21859]],[[194629,194630],\"mapped\",[21892]],[[194631,194631],\"mapped\",[21913]],[[194632,194632],\"mapped\",[21931]],[[194633,194633],\"mapped\",[21939]],[[194634,194634],\"mapped\",[21954]],[[194635,194635],\"mapped\",[22294]],[[194636,194636],\"mapped\",[22022]],[[194637,194637],\"mapped\",[22295]],[[194638,194638],\"mapped\",[22097]],[[194639,194639],\"mapped\",[22132]],[[194640,194640],\"mapped\",[20999]],[[194641,194641],\"mapped\",[22766]],[[194642,194642],\"mapped\",[22478]],[[194643,194643],\"mapped\",[22516]],[[194644,194644],\"mapped\",[22541]],[[194645,194645],\"mapped\",[22411]],[[194646,194646],\"mapped\",[22578]],[[194647,194647],\"mapped\",[22577]],[[194648,194648],\"mapped\",[22700]],[[194649,194649],\"mapped\",[136420]],[[194650,194650],\"mapped\",[22770]],[[194651,194651],\"mapped\",[22775]],[[194652,194652],\"mapped\",[22790]],[[194653,194653],\"mapped\",[22810]],[[194654,194654],\"mapped\",[22818]],[[194655,194655],\"mapped\",[22882]],[[194656,194656],\"mapped\",[136872]],[[194657,194657],\"mapped\",[136938]],[[194658,194658],\"mapped\",[23020]],[[194659,194659],\"mapped\",[23067]],[[194660,194660],\"mapped\",[23079]],[[194661,194661],\"mapped\",[23000]],[[194662,194662],\"mapped\",[23142]],[[194663,194663],\"mapped\",[14062]],[[194664,194664],\"disallowed\"],[[194665,194665],\"mapped\",[23304]],[[194666,194667],\"mapped\",[23358]],[[194668,194668],\"mapped\",[137672]],[[194669,194669],\"mapped\",[23491]],[[194670,194670],\"mapped\",[23512]],[[194671,194671],\"mapped\",[23527]],[[194672,194672],\"mapped\",[23539]],[[194673,194673],\"mapped\",[138008]],[[194674,194674],\"mapped\",[23551]],[[194675,194675],\"mapped\",[23558]],[[194676,194676],\"disallowed\"],[[194677,194677],\"mapped\",[23586]],[[194678,194678],\"mapped\",[14209]],[[194679,194679],\"mapped\",[23648]],[[194680,194680],\"mapped\",[23662]],[[194681,194681],\"mapped\",[23744]],[[194682,194682],\"mapped\",[23693]],[[194683,194683],\"mapped\",[138724]],[[194684,194684],\"mapped\",[23875]],[[194685,194685],\"mapped\",[138726]],[[194686,194686],\"mapped\",[23918]],[[194687,194687],\"mapped\",[23915]],[[194688,194688],\"mapped\",[23932]],[[194689,194689],\"mapped\",[24033]],[[194690,194690],\"mapped\",[24034]],[[194691,194691],\"mapped\",[14383]],[[194692,194692],\"mapped\",[24061]],[[194693,194693],\"mapped\",[24104]],[[194694,194694],\"mapped\",[24125]],[[194695,194695],\"mapped\",[24169]],[[194696,194696],\"mapped\",[14434]],[[194697,194697],\"mapped\",[139651]],[[194698,194698],\"mapped\",[14460]],[[194699,194699],\"mapped\",[24240]],[[194700,194700],\"mapped\",[24243]],[[194701,194701],\"mapped\",[24246]],[[194702,194702],\"mapped\",[24266]],[[194703,194703],\"mapped\",[172946]],[[194704,194704],\"mapped\",[24318]],[[194705,194706],\"mapped\",[140081]],[[194707,194707],\"mapped\",[33281]],[[194708,194709],\"mapped\",[24354]],[[194710,194710],\"mapped\",[14535]],[[194711,194711],\"mapped\",[144056]],[[194712,194712],\"mapped\",[156122]],[[194713,194713],\"mapped\",[24418]],[[194714,194714],\"mapped\",[24427]],[[194715,194715],\"mapped\",[14563]],[[194716,194716],\"mapped\",[24474]],[[194717,194717],\"mapped\",[24525]],[[194718,194718],\"mapped\",[24535]],[[194719,194719],\"mapped\",[24569]],[[194720,194720],\"mapped\",[24705]],[[194721,194721],\"mapped\",[14650]],[[194722,194722],\"mapped\",[14620]],[[194723,194723],\"mapped\",[24724]],[[194724,194724],\"mapped\",[141012]],[[194725,194725],\"mapped\",[24775]],[[194726,194726],\"mapped\",[24904]],[[194727,194727],\"mapped\",[24908]],[[194728,194728],\"mapped\",[24910]],[[194729,194729],\"mapped\",[24908]],[[194730,194730],\"mapped\",[24954]],[[194731,194731],\"mapped\",[24974]],[[194732,194732],\"mapped\",[25010]],[[194733,194733],\"mapped\",[24996]],[[194734,194734],\"mapped\",[25007]],[[194735,194735],\"mapped\",[25054]],[[194736,194736],\"mapped\",[25074]],[[194737,194737],\"mapped\",[25078]],[[194738,194738],\"mapped\",[25104]],[[194739,194739],\"mapped\",[25115]],[[194740,194740],\"mapped\",[25181]],[[194741,194741],\"mapped\",[25265]],[[194742,194742],\"mapped\",[25300]],[[194743,194743],\"mapped\",[25424]],[[194744,194744],\"mapped\",[142092]],[[194745,194745],\"mapped\",[25405]],[[194746,194746],\"mapped\",[25340]],[[194747,194747],\"mapped\",[25448]],[[194748,194748],\"mapped\",[25475]],[[194749,194749],\"mapped\",[25572]],[[194750,194750],\"mapped\",[142321]],[[194751,194751],\"mapped\",[25634]],[[194752,194752],\"mapped\",[25541]],[[194753,194753],\"mapped\",[25513]],[[194754,194754],\"mapped\",[14894]],[[194755,194755],\"mapped\",[25705]],[[194756,194756],\"mapped\",[25726]],[[194757,194757],\"mapped\",[25757]],[[194758,194758],\"mapped\",[25719]],[[194759,194759],\"mapped\",[14956]],[[194760,194760],\"mapped\",[25935]],[[194761,194761],\"mapped\",[25964]],[[194762,194762],\"mapped\",[143370]],[[194763,194763],\"mapped\",[26083]],[[194764,194764],\"mapped\",[26360]],[[194765,194765],\"mapped\",[26185]],[[194766,194766],\"mapped\",[15129]],[[194767,194767],\"mapped\",[26257]],[[194768,194768],\"mapped\",[15112]],[[194769,194769],\"mapped\",[15076]],[[194770,194770],\"mapped\",[20882]],[[194771,194771],\"mapped\",[20885]],[[194772,194772],\"mapped\",[26368]],[[194773,194773],\"mapped\",[26268]],[[194774,194774],\"mapped\",[32941]],[[194775,194775],\"mapped\",[17369]],[[194776,194776],\"mapped\",[26391]],[[194777,194777],\"mapped\",[26395]],[[194778,194778],\"mapped\",[26401]],[[194779,194779],\"mapped\",[26462]],[[194780,194780],\"mapped\",[26451]],[[194781,194781],\"mapped\",[144323]],[[194782,194782],\"mapped\",[15177]],[[194783,194783],\"mapped\",[26618]],[[194784,194784],\"mapped\",[26501]],[[194785,194785],\"mapped\",[26706]],[[194786,194786],\"mapped\",[26757]],[[194787,194787],\"mapped\",[144493]],[[194788,194788],\"mapped\",[26766]],[[194789,194789],\"mapped\",[26655]],[[194790,194790],\"mapped\",[26900]],[[194791,194791],\"mapped\",[15261]],[[194792,194792],\"mapped\",[26946]],[[194793,194793],\"mapped\",[27043]],[[194794,194794],\"mapped\",[27114]],[[194795,194795],\"mapped\",[27304]],[[194796,194796],\"mapped\",[145059]],[[194797,194797],\"mapped\",[27355]],[[194798,194798],\"mapped\",[15384]],[[194799,194799],\"mapped\",[27425]],[[194800,194800],\"mapped\",[145575]],[[194801,194801],\"mapped\",[27476]],[[194802,194802],\"mapped\",[15438]],[[194803,194803],\"mapped\",[27506]],[[194804,194804],\"mapped\",[27551]],[[194805,194805],\"mapped\",[27578]],[[194806,194806],\"mapped\",[27579]],[[194807,194807],\"mapped\",[146061]],[[194808,194808],\"mapped\",[138507]],[[194809,194809],\"mapped\",[146170]],[[194810,194810],\"mapped\",[27726]],[[194811,194811],\"mapped\",[146620]],[[194812,194812],\"mapped\",[27839]],[[194813,194813],\"mapped\",[27853]],[[194814,194814],\"mapped\",[27751]],[[194815,194815],\"mapped\",[27926]],[[194816,194816],\"mapped\",[27966]],[[194817,194817],\"mapped\",[28023]],[[194818,194818],\"mapped\",[27969]],[[194819,194819],\"mapped\",[28009]],[[194820,194820],\"mapped\",[28024]],[[194821,194821],\"mapped\",[28037]],[[194822,194822],\"mapped\",[146718]],[[194823,194823],\"mapped\",[27956]],[[194824,194824],\"mapped\",[28207]],[[194825,194825],\"mapped\",[28270]],[[194826,194826],\"mapped\",[15667]],[[194827,194827],\"mapped\",[28363]],[[194828,194828],\"mapped\",[28359]],[[194829,194829],\"mapped\",[147153]],[[194830,194830],\"mapped\",[28153]],[[194831,194831],\"mapped\",[28526]],[[194832,194832],\"mapped\",[147294]],[[194833,194833],\"mapped\",[147342]],[[194834,194834],\"mapped\",[28614]],[[194835,194835],\"mapped\",[28729]],[[194836,194836],\"mapped\",[28702]],[[194837,194837],\"mapped\",[28699]],[[194838,194838],\"mapped\",[15766]],[[194839,194839],\"mapped\",[28746]],[[194840,194840],\"mapped\",[28797]],[[194841,194841],\"mapped\",[28791]],[[194842,194842],\"mapped\",[28845]],[[194843,194843],\"mapped\",[132389]],[[194844,194844],\"mapped\",[28997]],[[194845,194845],\"mapped\",[148067]],[[194846,194846],\"mapped\",[29084]],[[194847,194847],\"disallowed\"],[[194848,194848],\"mapped\",[29224]],[[194849,194849],\"mapped\",[29237]],[[194850,194850],\"mapped\",[29264]],[[194851,194851],\"mapped\",[149000]],[[194852,194852],\"mapped\",[29312]],[[194853,194853],\"mapped\",[29333]],[[194854,194854],\"mapped\",[149301]],[[194855,194855],\"mapped\",[149524]],[[194856,194856],\"mapped\",[29562]],[[194857,194857],\"mapped\",[29579]],[[194858,194858],\"mapped\",[16044]],[[194859,194859],\"mapped\",[29605]],[[194860,194861],\"mapped\",[16056]],[[194862,194862],\"mapped\",[29767]],[[194863,194863],\"mapped\",[29788]],[[194864,194864],\"mapped\",[29809]],[[194865,194865],\"mapped\",[29829]],[[194866,194866],\"mapped\",[29898]],[[194867,194867],\"mapped\",[16155]],[[194868,194868],\"mapped\",[29988]],[[194869,194869],\"mapped\",[150582]],[[194870,194870],\"mapped\",[30014]],[[194871,194871],\"mapped\",[150674]],[[194872,194872],\"mapped\",[30064]],[[194873,194873],\"mapped\",[139679]],[[194874,194874],\"mapped\",[30224]],[[194875,194875],\"mapped\",[151457]],[[194876,194876],\"mapped\",[151480]],[[194877,194877],\"mapped\",[151620]],[[194878,194878],\"mapped\",[16380]],[[194879,194879],\"mapped\",[16392]],[[194880,194880],\"mapped\",[30452]],[[194881,194881],\"mapped\",[151795]],[[194882,194882],\"mapped\",[151794]],[[194883,194883],\"mapped\",[151833]],[[194884,194884],\"mapped\",[151859]],[[194885,194885],\"mapped\",[30494]],[[194886,194887],\"mapped\",[30495]],[[194888,194888],\"mapped\",[30538]],[[194889,194889],\"mapped\",[16441]],[[194890,194890],\"mapped\",[30603]],[[194891,194891],\"mapped\",[16454]],[[194892,194892],\"mapped\",[16534]],[[194893,194893],\"mapped\",[152605]],[[194894,194894],\"mapped\",[30798]],[[194895,194895],\"mapped\",[30860]],[[194896,194896],\"mapped\",[30924]],[[194897,194897],\"mapped\",[16611]],[[194898,194898],\"mapped\",[153126]],[[194899,194899],\"mapped\",[31062]],[[194900,194900],\"mapped\",[153242]],[[194901,194901],\"mapped\",[153285]],[[194902,194902],\"mapped\",[31119]],[[194903,194903],\"mapped\",[31211]],[[194904,194904],\"mapped\",[16687]],[[194905,194905],\"mapped\",[31296]],[[194906,194906],\"mapped\",[31306]],[[194907,194907],\"mapped\",[31311]],[[194908,194908],\"mapped\",[153980]],[[194909,194910],\"mapped\",[154279]],[[194911,194911],\"disallowed\"],[[194912,194912],\"mapped\",[16898]],[[194913,194913],\"mapped\",[154539]],[[194914,194914],\"mapped\",[31686]],[[194915,194915],\"mapped\",[31689]],[[194916,194916],\"mapped\",[16935]],[[194917,194917],\"mapped\",[154752]],[[194918,194918],\"mapped\",[31954]],[[194919,194919],\"mapped\",[17056]],[[194920,194920],\"mapped\",[31976]],[[194921,194921],\"mapped\",[31971]],[[194922,194922],\"mapped\",[32000]],[[194923,194923],\"mapped\",[155526]],[[194924,194924],\"mapped\",[32099]],[[194925,194925],\"mapped\",[17153]],[[194926,194926],\"mapped\",[32199]],[[194927,194927],\"mapped\",[32258]],[[194928,194928],\"mapped\",[32325]],[[194929,194929],\"mapped\",[17204]],[[194930,194930],\"mapped\",[156200]],[[194931,194931],\"mapped\",[156231]],[[194932,194932],\"mapped\",[17241]],[[194933,194933],\"mapped\",[156377]],[[194934,194934],\"mapped\",[32634]],[[194935,194935],\"mapped\",[156478]],[[194936,194936],\"mapped\",[32661]],[[194937,194937],\"mapped\",[32762]],[[194938,194938],\"mapped\",[32773]],[[194939,194939],\"mapped\",[156890]],[[194940,194940],\"mapped\",[156963]],[[194941,194941],\"mapped\",[32864]],[[194942,194942],\"mapped\",[157096]],[[194943,194943],\"mapped\",[32880]],[[194944,194944],\"mapped\",[144223]],[[194945,194945],\"mapped\",[17365]],[[194946,194946],\"mapped\",[32946]],[[194947,194947],\"mapped\",[33027]],[[194948,194948],\"mapped\",[17419]],[[194949,194949],\"mapped\",[33086]],[[194950,194950],\"mapped\",[23221]],[[194951,194951],\"mapped\",[157607]],[[194952,194952],\"mapped\",[157621]],[[194953,194953],\"mapped\",[144275]],[[194954,194954],\"mapped\",[144284]],[[194955,194955],\"mapped\",[33281]],[[194956,194956],\"mapped\",[33284]],[[194957,194957],\"mapped\",[36766]],[[194958,194958],\"mapped\",[17515]],[[194959,194959],\"mapped\",[33425]],[[194960,194960],\"mapped\",[33419]],[[194961,194961],\"mapped\",[33437]],[[194962,194962],\"mapped\",[21171]],[[194963,194963],\"mapped\",[33457]],[[194964,194964],\"mapped\",[33459]],[[194965,194965],\"mapped\",[33469]],[[194966,194966],\"mapped\",[33510]],[[194967,194967],\"mapped\",[158524]],[[194968,194968],\"mapped\",[33509]],[[194969,194969],\"mapped\",[33565]],[[194970,194970],\"mapped\",[33635]],[[194971,194971],\"mapped\",[33709]],[[194972,194972],\"mapped\",[33571]],[[194973,194973],\"mapped\",[33725]],[[194974,194974],\"mapped\",[33767]],[[194975,194975],\"mapped\",[33879]],[[194976,194976],\"mapped\",[33619]],[[194977,194977],\"mapped\",[33738]],[[194978,194978],\"mapped\",[33740]],[[194979,194979],\"mapped\",[33756]],[[194980,194980],\"mapped\",[158774]],[[194981,194981],\"mapped\",[159083]],[[194982,194982],\"mapped\",[158933]],[[194983,194983],\"mapped\",[17707]],[[194984,194984],\"mapped\",[34033]],[[194985,194985],\"mapped\",[34035]],[[194986,194986],\"mapped\",[34070]],[[194987,194987],\"mapped\",[160714]],[[194988,194988],\"mapped\",[34148]],[[194989,194989],\"mapped\",[159532]],[[194990,194990],\"mapped\",[17757]],[[194991,194991],\"mapped\",[17761]],[[194992,194992],\"mapped\",[159665]],[[194993,194993],\"mapped\",[159954]],[[194994,194994],\"mapped\",[17771]],[[194995,194995],\"mapped\",[34384]],[[194996,194996],\"mapped\",[34396]],[[194997,194997],\"mapped\",[34407]],[[194998,194998],\"mapped\",[34409]],[[194999,194999],\"mapped\",[34473]],[[195000,195000],\"mapped\",[34440]],[[195001,195001],\"mapped\",[34574]],[[195002,195002],\"mapped\",[34530]],[[195003,195003],\"mapped\",[34681]],[[195004,195004],\"mapped\",[34600]],[[195005,195005],\"mapped\",[34667]],[[195006,195006],\"mapped\",[34694]],[[195007,195007],\"disallowed\"],[[195008,195008],\"mapped\",[34785]],[[195009,195009],\"mapped\",[34817]],[[195010,195010],\"mapped\",[17913]],[[195011,195011],\"mapped\",[34912]],[[195012,195012],\"mapped\",[34915]],[[195013,195013],\"mapped\",[161383]],[[195014,195014],\"mapped\",[35031]],[[195015,195015],\"mapped\",[35038]],[[195016,195016],\"mapped\",[17973]],[[195017,195017],\"mapped\",[35066]],[[195018,195018],\"mapped\",[13499]],[[195019,195019],\"mapped\",[161966]],[[195020,195020],\"mapped\",[162150]],[[195021,195021],\"mapped\",[18110]],[[195022,195022],\"mapped\",[18119]],[[195023,195023],\"mapped\",[35488]],[[195024,195024],\"mapped\",[35565]],[[195025,195025],\"mapped\",[35722]],[[195026,195026],\"mapped\",[35925]],[[195027,195027],\"mapped\",[162984]],[[195028,195028],\"mapped\",[36011]],[[195029,195029],\"mapped\",[36033]],[[195030,195030],\"mapped\",[36123]],[[195031,195031],\"mapped\",[36215]],[[195032,195032],\"mapped\",[163631]],[[195033,195033],\"mapped\",[133124]],[[195034,195034],\"mapped\",[36299]],[[195035,195035],\"mapped\",[36284]],[[195036,195036],\"mapped\",[36336]],[[195037,195037],\"mapped\",[133342]],[[195038,195038],\"mapped\",[36564]],[[195039,195039],\"mapped\",[36664]],[[195040,195040],\"mapped\",[165330]],[[195041,195041],\"mapped\",[165357]],[[195042,195042],\"mapped\",[37012]],[[195043,195043],\"mapped\",[37105]],[[195044,195044],\"mapped\",[37137]],[[195045,195045],\"mapped\",[165678]],[[195046,195046],\"mapped\",[37147]],[[195047,195047],\"mapped\",[37432]],[[195048,195048],\"mapped\",[37591]],[[195049,195049],\"mapped\",[37592]],[[195050,195050],\"mapped\",[37500]],[[195051,195051],\"mapped\",[37881]],[[195052,195052],\"mapped\",[37909]],[[195053,195053],\"mapped\",[166906]],[[195054,195054],\"mapped\",[38283]],[[195055,195055],\"mapped\",[18837]],[[195056,195056],\"mapped\",[38327]],[[195057,195057],\"mapped\",[167287]],[[195058,195058],\"mapped\",[18918]],[[195059,195059],\"mapped\",[38595]],[[195060,195060],\"mapped\",[23986]],[[195061,195061],\"mapped\",[38691]],[[195062,195062],\"mapped\",[168261]],[[195063,195063],\"mapped\",[168474]],[[195064,195064],\"mapped\",[19054]],[[195065,195065],\"mapped\",[19062]],[[195066,195066],\"mapped\",[38880]],[[195067,195067],\"mapped\",[168970]],[[195068,195068],\"mapped\",[19122]],[[195069,195069],\"mapped\",[169110]],[[195070,195071],\"mapped\",[38923]],[[195072,195072],\"mapped\",[38953]],[[195073,195073],\"mapped\",[169398]],[[195074,195074],\"mapped\",[39138]],[[195075,195075],\"mapped\",[19251]],[[195076,195076],\"mapped\",[39209]],[[195077,195077],\"mapped\",[39335]],[[195078,195078],\"mapped\",[39362]],[[195079,195079],\"mapped\",[39422]],[[195080,195080],\"mapped\",[19406]],[[195081,195081],\"mapped\",[170800]],[[195082,195082],\"mapped\",[39698]],[[195083,195083],\"mapped\",[40000]],[[195084,195084],\"mapped\",[40189]],[[195085,195085],\"mapped\",[19662]],[[195086,195086],\"mapped\",[19693]],[[195087,195087],\"mapped\",[40295]],[[195088,195088],\"mapped\",[172238]],[[195089,195089],\"mapped\",[19704]],[[195090,195090],\"mapped\",[172293]],[[195091,195091],\"mapped\",[172558]],[[195092,195092],\"mapped\",[172689]],[[195093,195093],\"mapped\",[40635]],[[195094,195094],\"mapped\",[19798]],[[195095,195095],\"mapped\",[40697]],[[195096,195096],\"mapped\",[40702]],[[195097,195097],\"mapped\",[40709]],[[195098,195098],\"mapped\",[40719]],[[195099,195099],\"mapped\",[40726]],[[195100,195100],\"mapped\",[40763]],[[195101,195101],\"mapped\",[173568]],[[195102,196605],\"disallowed\"],[[196606,196607],\"disallowed\"],[[196608,262141],\"disallowed\"],[[262142,262143],\"disallowed\"],[[262144,327677],\"disallowed\"],[[327678,327679],\"disallowed\"],[[327680,393213],\"disallowed\"],[[393214,393215],\"disallowed\"],[[393216,458749],\"disallowed\"],[[458750,458751],\"disallowed\"],[[458752,524285],\"disallowed\"],[[524286,524287],\"disallowed\"],[[524288,589821],\"disallowed\"],[[589822,589823],\"disallowed\"],[[589824,655357],\"disallowed\"],[[655358,655359],\"disallowed\"],[[655360,720893],\"disallowed\"],[[720894,720895],\"disallowed\"],[[720896,786429],\"disallowed\"],[[786430,786431],\"disallowed\"],[[786432,851965],\"disallowed\"],[[851966,851967],\"disallowed\"],[[851968,917501],\"disallowed\"],[[917502,917503],\"disallowed\"],[[917504,917504],\"disallowed\"],[[917505,917505],\"disallowed\"],[[917506,917535],\"disallowed\"],[[917536,917631],\"disallowed\"],[[917632,917759],\"disallowed\"],[[917760,917999],\"ignored\"],[[918000,983037],\"disallowed\"],[[983038,983039],\"disallowed\"],[[983040,1048573],\"disallowed\"],[[1048574,1048575],\"disallowed\"],[[1048576,1114109],\"disallowed\"],[[1114110,1114111],\"disallowed\"]]", "\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n", "\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n", "\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n", "\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n", "\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n", "'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = /<meta.+?charset=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// html4\n\tif (!res && str) {\n\t\tres = /<meta[\\s]+?http-equiv=(['\"])content-type\\1[\\s]+?content=(['\"])(.+?)\\2/i.exec(str);\n\t\tif (!res) {\n\t\t\tres = /<meta[\\s]+?content=(['\"])(.+?)\\1[\\s]+?http-equiv=(['\"])content-type\\3/i.exec(str);\n\t\t\tif (res) {\n\t\t\t\tres.pop(); // drop last quote\n\t\t\t}\n\t\t}\n\n\t\tif (res) {\n\t\t\tres = /charset=(.*)/i.exec(res.pop());\n\t\t}\n\t}\n\n\t// xml\n\tif (!res && str) {\n\t\tres = /<\\?xml.+?encoding=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// found charset\n\tif (res) {\n\t\tcharset = res.pop();\n\n\t\t// prevent decode issues when sites use incorrect encoding\n\t\t// ref: https://hsivonen.fi/encoding-menu/\n\t\tif (charset === 'gb2312' || charset === 'gbk') {\n\t\t\tcharset = 'gb18030';\n\t\t}\n\t}\n\n\t// turn raw buffers into a single utf-8 buffer\n\treturn convert(buffer, 'UTF-8', charset).toString();\n}\n\n/**\n * Detect a URLSearchParams object\n * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143\n *\n * @param Object obj Object to detect by type or brand\n * @return String\n */\nfunction isURLSearchParams(obj) {\n\t// Duck-typing as a necessary condition.\n\tif (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') {\n\t\treturn false;\n\t}\n\n\t// Brand-checking and more duck-typing as optional condition.\n\treturn obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function';\n}\n\n/**\n * Check if `obj` is a W3C `Blob` object (which `File` inherits from)\n * @param {*} obj\n * @return {boolean}\n */\nfunction isBlob(obj) {\n\treturn typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]);\n}\n\n/**\n * Clone body given Res/Req instance\n *\n * @param Mixed instance Response or Request instance\n * @return Mixed\n */\nfunction clone(instance) {\n\tlet p1, p2;\n\tlet body = instance.body;\n\n\t// don't allow cloning a used body\n\tif (instance.bodyUsed) {\n\t\tthrow new Error('cannot clone body after it is used');\n\t}\n\n\t// check that body is a stream and not form-data object\n\t// note: we can't clone the form-data object without having it as a dependency\n\tif (body instanceof Stream && typeof body.getBoundary !== 'function') {\n\t\t// tee instance body\n\t\tp1 = new PassThrough();\n\t\tp2 = new PassThrough();\n\t\tbody.pipe(p1);\n\t\tbody.pipe(p2);\n\t\t// set instance body to teed body and return the other teed body\n\t\tinstance[INTERNALS].body = p1;\n\t\tbody = p2;\n\t}\n\n\treturn body;\n}\n\n/**\n * Performs the operation \"extract a `Content-Type` value from |object|\" as\n * specified in the specification:\n * https://fetch.spec.whatwg.org/#concept-bodyinit-extract\n *\n * This function assumes that instance.body is present.\n *\n * @param Mixed instance Any options.body input\n */\nfunction extractContentType(body) {\n\tif (body === null) {\n\t\t// body is null\n\t\treturn null;\n\t} else if (typeof body === 'string') {\n\t\t// body is string\n\t\treturn 'text/plain;charset=UTF-8';\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\treturn 'application/x-www-form-urlencoded;charset=UTF-8';\n\t} else if (isBlob(body)) {\n\t\t// body is blob\n\t\treturn body.type || null;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn null;\n\t} else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\treturn null;\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\treturn null;\n\t} else if (typeof body.getBoundary === 'function') {\n\t\t// detect form data input from form-data module\n\t\treturn `multipart/form-data;boundary=${body.getBoundary()}`;\n\t} else if (body instanceof Stream) {\n\t\t// body is stream\n\t\t// can't really do much about this\n\t\treturn null;\n\t} else {\n\t\t// Body constructor defaults other things to string\n\t\treturn 'text/plain;charset=UTF-8';\n\t}\n}\n\n/**\n * The Fetch Standard treats this as if \"total bytes\" is a property on the body.\n * For us, we have to explicitly get it with a function.\n *\n * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes\n *\n * @param Body instance Instance of Body\n * @return Number? Number of bytes, or null if not possible\n */\nfunction getTotalBytes(instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\treturn 0;\n\t} else if (isBlob(body)) {\n\t\treturn body.size;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn body.length;\n\t} else if (body && typeof body.getLengthSync === 'function') {\n\t\t// detect form data input from form-data module\n\t\tif (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x\n\t\tbody.hasKnownLength && body.hasKnownLength()) {\n\t\t\t// 2.x\n\t\t\treturn body.getLengthSync();\n\t\t}\n\t\treturn null;\n\t} else {\n\t\t// body is stream\n\t\treturn null;\n\t}\n}\n\n/**\n * Write a Body to a Node.js WritableStream (e.g. http.Request) object.\n *\n * @param Body instance Instance of Body\n * @return Void\n */\nfunction writeToStream(dest, instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\tdest.end();\n\t} else if (isBlob(body)) {\n\t\tbody.stream().pipe(dest);\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\tdest.write(body);\n\t\tdest.end();\n\t} else {\n\t\t// body is stream\n\t\tbody.pipe(dest);\n\t}\n}\n\n// expose Promise\nBody.Promise = global.Promise;\n\n/**\n * headers.js\n *\n * Headers class offers convenient helpers\n */\n\nconst invalidTokenRegex = /[^\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]/;\nconst invalidHeaderCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/;\n\nfunction validateName(name) {\n\tname = `${name}`;\n\tif (invalidTokenRegex.test(name) || name === '') {\n\t\tthrow new TypeError(`${name} is not a legal HTTP header name`);\n\t}\n}\n\nfunction validateValue(value) {\n\tvalue = `${value}`;\n\tif (invalidHeaderCharRegex.test(value)) {\n\t\tthrow new TypeError(`${value} is not a legal HTTP header value`);\n\t}\n}\n\n/**\n * Find the key in the map object given a header name.\n *\n * Returns undefined if not found.\n *\n * @param String name Header name\n * @return String|Undefined\n */\nfunction find(map, name) {\n\tname = name.toLowerCase();\n\tfor (const key in map) {\n\t\tif (key.toLowerCase() === name) {\n\t\t\treturn key;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nconst MAP = Symbol('map');\nclass Headers {\n\t/**\n * Headers class\n *\n * @param Object headers Response headers\n * @return Void\n */\n\tconstructor() {\n\t\tlet init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence<sequence<ByteString>>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record<ByteString, ByteString>\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// tests for socket presence, as in some situations the\n\t\t\t\t// the 'socket' event is not triggered for the request\n\t\t\t\t// (happens in deno), avoids `TypeError`\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket && socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\nexports.AbortError = AbortError;\n", "const nodeFetch = require('node-fetch')\nconst realFetch = nodeFetch.default || nodeFetch\n\nconst fetch = function (url, options) {\n // Support schemaless URIs on the server for parity with the browser.\n // Ex: //github.com/ -> https://github.com/\n if (/^\\/\\//.test(url)) {\n url = 'https:' + url\n }\n return realFetch.call(this, url, options)\n}\n\nfetch.ponyfill = true\n\nmodule.exports = exports = fetch\nexports.fetch = fetch\nexports.Headers = nodeFetch.Headers\nexports.Request = nodeFetch.Request\nexports.Response = nodeFetch.Response\n\n// Needed for TypeScript consumers without esModuleInterop.\nexports.default = fetch\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isJSON = void 0;\nfunction isJSON(contentTypeHeader) {\n if (contentTypeHeader) {\n const mediaType = parseContentType(contentTypeHeader);\n if (!mediaType) {\n return false;\n }\n if (mediaType.subtype === \"json\") {\n return true;\n }\n if (mediaType.suffix === \"json\") {\n return true;\n }\n if (mediaType.suffix && /\\bjson\\b/i.test(mediaType.suffix)) {\n return true;\n }\n if (mediaType.subtype && /\\bjson\\b/i.test(mediaType.subtype)) {\n return true;\n }\n }\n return false;\n}\nexports.isJSON = isJSON;\n/**\n * RegExp to match type in RFC 6838 with an optional trailing `;` because some Apple APIs returns one...\n *\n * type-name = restricted-name\n * subtype-name = restricted-name\n * restricted-name = restricted-name-first *126restricted-name-chars\n * restricted-name-first = ALPHA / DIGIT\n * restricted-name-chars = ALPHA / DIGIT / \"!\" / \"#\" /\n * \"$\" / \"&\" / \"-\" / \"^\" / \"_\"\n * restricted-name-chars =/ \".\" ; Characters before first dot always\n * ; specify a facet name\n * restricted-name-chars =/ \"+\" ; Characters after last plus always\n * ; specify a structured syntax suffix\n * ALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n * DIGIT = %x30-39 ; 0-9\n */\nconst MEDIA_TYPE_REGEXP = /^([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126});?$/;\nfunction parseContentType(header) {\n const headerDelimitationindex = header.indexOf(\";\");\n const contentType = headerDelimitationindex !== -1 ? header.slice(0, headerDelimitationindex).trim() : header.trim();\n const match = MEDIA_TYPE_REGEXP.exec(contentType.toLowerCase().toLowerCase());\n if (!match) {\n return;\n }\n const type = match[1];\n let subtype = match[2];\n let suffix;\n // suffix after last +\n const index = subtype.lastIndexOf(\"+\");\n if (index !== -1) {\n suffix = subtype.substring(index + 1);\n subtype = subtype.substring(0, index);\n }\n return { type, subtype, suffix };\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFetch = void 0;\nconst react_1 = require(\"react\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst cross_fetch_1 = require(\"cross-fetch\");\nconst fetch_utils_1 = require(\"./fetch-utils\");\nconst helpers_1 = require(\"./helpers\");\nasync function defaultParsing(response) {\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n const contentTypeHeader = response.headers.get(\"content-type\");\n if (contentTypeHeader && (0, fetch_utils_1.isJSON)(contentTypeHeader)) {\n return await response.json();\n }\n return await response.text();\n}\nfunction defaultMapping(result) {\n return { data: result, hasMore: false };\n}\nfunction useFetch(url, options) {\n const { parseResponse, mapResult, initialData, execute, keepPreviousData, onError, onData, onWillExecute, failureToastOptions, ...fetchOptions } = options || {};\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n failureToastOptions,\n };\n const parseResponseRef = (0, useLatest_1.useLatest)(parseResponse || defaultParsing);\n const mapResultRef = (0, useLatest_1.useLatest)(mapResult || defaultMapping);\n const urlRef = (0, react_1.useRef)();\n const firstPageUrlRef = (0, react_1.useRef)();\n const firstPageUrl = typeof url === \"function\" ? url({ page: 0 }) : undefined;\n /**\n * When paginating, `url` is a `PaginatedRequestInfo`, so we only want to update the ref when the `firstPageUrl` changes.\n * When not paginating, `url` is a `RequestInfo`, so we want to update the ref whenever `url` changes.\n */\n if (!urlRef.current || typeof firstPageUrlRef.current === \"undefined\" || firstPageUrlRef.current !== firstPageUrl) {\n urlRef.current = url;\n }\n firstPageUrlRef.current = firstPageUrl;\n const abortable = (0, react_1.useRef)();\n const paginatedFn = (0, react_1.useCallback)((url, options) => async (pagination) => {\n const res = await (0, cross_fetch_1.fetch)(url(pagination), { signal: abortable.current?.signal, ...options });\n const parsed = (await parseResponseRef.current(res));\n return mapResultRef.current?.(parsed);\n }, [parseResponseRef, mapResultRef]);\n const fn = (0, react_1.useCallback)(async (url, options) => {\n const res = await (0, cross_fetch_1.fetch)(url, { signal: abortable.current?.signal, ...options });\n const parsed = (await parseResponseRef.current(res));\n const mapped = mapResultRef.current(parsed);\n return mapped?.data;\n }, [parseResponseRef, mapResultRef]);\n const promise = (0, react_1.useMemo)(() => {\n if (firstPageUrlRef.current) {\n return paginatedFn;\n }\n return fn;\n }, [firstPageUrlRef, fn, paginatedFn]);\n // @ts-expect-error lastItem can't be inferred properly\n return (0, useCachedPromise_1.useCachedPromise)(promise, [urlRef.current, fetchOptions], {\n ...useCachedPromiseOptions,\n internal_cacheKeySuffix: firstPageUrlRef.current + (0, helpers_1.hash)(mapResultRef.current) + (0, helpers_1.hash)(parseResponseRef.current),\n abortable,\n });\n}\nexports.useFetch = useFetch;\n", "/**\n * This is not the set of all possible signals.\n *\n * It IS, however, the set of all signals that trigger\n * an exit on either Linux or BSD systems. Linux is a\n * superset of the signal names supported on BSD, and\n * the unknown signals just fail to register, so we can\n * catch that easily enough.\n *\n * Windows signals are a different set, since there are\n * signals that terminate Windows processes, but don't\n * terminate (or don't even exist) on Posix systems.\n *\n * Don't bother with SIGKILL. It's uncatchable, which\n * means that we can't fire any callbacks anyway.\n *\n * If a user does happen to register a handler on a non-\n * fatal signal like SIGWINCH or something, and then\n * exit, it'll end up firing `process.emit('exit')`, so\n * the handler will be fired anyway.\n *\n * SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n * artificially, inherently leave the process in a\n * state from which it is not safe to try and enter JS\n * listeners.\n */\nexport const signals: NodeJS.Signals[] = []\nsignals.push('SIGHUP', 'SIGINT', 'SIGTERM')\n\nif (process.platform !== 'win32') {\n signals.push(\n 'SIGALRM',\n 'SIGABRT',\n 'SIGVTALRM',\n 'SIGXCPU',\n 'SIGXFSZ',\n 'SIGUSR2',\n 'SIGTRAP',\n 'SIGSYS',\n 'SIGQUIT',\n 'SIGIOT'\n // should detect profiler and enable/disable accordingly.\n // see #21\n // 'SIGPROF'\n )\n}\n\nif (process.platform === 'linux') {\n signals.push('SIGIO', 'SIGPOLL', 'SIGPWR', 'SIGSTKFLT')\n}\n", "// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nimport { signals } from './signals.js'\nexport { signals }\n\n// just a loosened process type so we can do some evil things\ntype ProcessRE = NodeJS.Process & {\n reallyExit: (code?: number | undefined | null) => any\n emit: (ev: string, ...a: any[]) => any\n}\n\nconst processOk = (process: any): process is ProcessRE =>\n !!process &&\n typeof process === 'object' &&\n typeof process.removeListener === 'function' &&\n typeof process.emit === 'function' &&\n typeof process.reallyExit === 'function' &&\n typeof process.listeners === 'function' &&\n typeof process.kill === 'function' &&\n typeof process.pid === 'number' &&\n typeof process.on === 'function'\n\nconst kExitEmitter = Symbol.for('signal-exit emitter')\nconst global: typeof globalThis & { [kExitEmitter]?: Emitter } = globalThis\nconst ObjectDefineProperty = Object.defineProperty.bind(Object)\n\n/**\n * A function that takes an exit code and signal as arguments\n *\n * In the case of signal exits *only*, a return value of true\n * will indicate that the signal is being handled, and we should\n * not synthetically exit with the signal we received. Regardless\n * of the handler return value, the handler is unloaded when an\n * otherwise fatal signal is received, so you get exactly 1 shot\n * at it, unless you add another onExit handler at that point.\n *\n * In the case of numeric code exits, we may already have committed\n * to exiting the process, for example via a fatal exception or\n * unhandled promise rejection, so it is impossible to stop safely.\n */\nexport type Handler = (\n code: number | null | undefined,\n signal: NodeJS.Signals | null\n) => true | void\ntype ExitEvent = 'afterExit' | 'exit'\ntype Emitted = { [k in ExitEvent]: boolean }\ntype Listeners = { [k in ExitEvent]: Handler[] }\n\n// teeny special purpose ee\nclass Emitter {\n emitted: Emitted = {\n afterExit: false,\n exit: false,\n }\n\n listeners: Listeners = {\n afterExit: [],\n exit: [],\n }\n\n count: number = 0\n id: number = Math.random()\n\n constructor() {\n if (global[kExitEmitter]) {\n return global[kExitEmitter]\n }\n ObjectDefineProperty(global, kExitEmitter, {\n value: this,\n writable: false,\n enumerable: false,\n configurable: false,\n })\n }\n\n on(ev: ExitEvent, fn: Handler) {\n this.listeners[ev].push(fn)\n }\n\n removeListener(ev: ExitEvent, fn: Handler) {\n const list = this.listeners[ev]\n const i = list.indexOf(fn)\n /* c8 ignore start */\n if (i === -1) {\n return\n }\n /* c8 ignore stop */\n if (i === 0 && list.length === 1) {\n list.length = 0\n } else {\n list.splice(i, 1)\n }\n }\n\n emit(\n ev: ExitEvent,\n code: number | null | undefined,\n signal: NodeJS.Signals | null\n ): boolean {\n if (this.emitted[ev]) {\n return false\n }\n this.emitted[ev] = true\n let ret: boolean = false\n for (const fn of this.listeners[ev]) {\n ret = fn(code, signal) === true || ret\n }\n if (ev === 'exit') {\n ret = this.emit('afterExit', code, signal) || ret\n }\n return ret\n }\n}\n\nabstract class SignalExitBase {\n abstract onExit(cb: Handler, opts?: { alwaysLast?: boolean }): () => void\n abstract load(): void\n abstract unload(): void\n}\n\nconst signalExitWrap = <T extends SignalExitBase>(handler: T) => {\n return {\n onExit(cb: Handler, opts?: { alwaysLast?: boolean }) {\n return handler.onExit(cb, opts)\n },\n load() {\n return handler.load()\n },\n unload() {\n return handler.unload()\n },\n }\n}\n\nclass SignalExitFallback extends SignalExitBase {\n onExit() {\n return () => {}\n }\n load() {}\n unload() {}\n}\n\nclass SignalExit extends SignalExitBase {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n /* c8 ignore start */\n #hupSig = process.platform === 'win32' ? 'SIGINT' : 'SIGHUP'\n /* c8 ignore stop */\n #emitter = new Emitter()\n #process: ProcessRE\n #originalProcessEmit: ProcessRE['emit']\n #originalProcessReallyExit: ProcessRE['reallyExit']\n\n #sigListeners: { [k in NodeJS.Signals]?: () => void } = {}\n #loaded: boolean = false\n\n constructor(process: ProcessRE) {\n super()\n this.#process = process\n // { <signal>: <listener fn>, ... }\n this.#sigListeners = {}\n for (const sig of signals) {\n this.#sigListeners[sig] = () => {\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n const listeners = this.#process.listeners(sig)\n let { count } = this.#emitter\n // This is a workaround for the fact that signal-exit v3 and signal\n // exit v4 are not aware of each other, and each will attempt to let\n // the other handle it, so neither of them do. To correct this, we\n // detect if we're the only handler *except* for previous versions\n // of signal-exit, and increment by the count of listeners it has\n // created.\n /* c8 ignore start */\n const p = process as unknown as {\n __signal_exit_emitter__?: { count: number }\n }\n if (\n typeof p.__signal_exit_emitter__ === 'object' &&\n typeof p.__signal_exit_emitter__.count === 'number'\n ) {\n count += p.__signal_exit_emitter__.count\n }\n /* c8 ignore stop */\n if (listeners.length === count) {\n this.unload()\n const ret = this.#emitter.emit('exit', null, sig)\n /* c8 ignore start */\n const s = sig === 'SIGHUP' ? this.#hupSig : sig\n if (!ret) process.kill(process.pid, s)\n /* c8 ignore stop */\n }\n }\n }\n\n this.#originalProcessReallyExit = process.reallyExit\n this.#originalProcessEmit = process.emit\n }\n\n onExit(cb: Handler, opts?: { alwaysLast?: boolean }) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return () => {}\n }\n /* c8 ignore stop */\n\n if (this.#loaded === false) {\n this.load()\n }\n\n const ev = opts?.alwaysLast ? 'afterExit' : 'exit'\n this.#emitter.on(ev, cb)\n return () => {\n this.#emitter.removeListener(ev, cb)\n if (\n this.#emitter.listeners['exit'].length === 0 &&\n this.#emitter.listeners['afterExit'].length === 0\n ) {\n this.unload()\n }\n }\n }\n\n load() {\n if (this.#loaded) {\n return\n }\n this.#loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n this.#emitter.count += 1\n\n for (const sig of signals) {\n try {\n const fn = this.#sigListeners[sig]\n if (fn) this.#process.on(sig, fn)\n } catch (_) {}\n }\n\n this.#process.emit = (ev: string, ...a: any[]) => {\n return this.#processEmit(ev, ...a)\n }\n this.#process.reallyExit = (code?: number | null | undefined) => {\n return this.#processReallyExit(code)\n }\n }\n\n unload() {\n if (!this.#loaded) {\n return\n }\n this.#loaded = false\n\n signals.forEach(sig => {\n const listener = this.#sigListeners[sig]\n /* c8 ignore start */\n if (!listener) {\n throw new Error('Listener not defined for signal: ' + sig)\n }\n /* c8 ignore stop */\n try {\n this.#process.removeListener(sig, listener)\n /* c8 ignore start */\n } catch (_) {}\n /* c8 ignore stop */\n })\n this.#process.emit = this.#originalProcessEmit\n this.#process.reallyExit = this.#originalProcessReallyExit\n this.#emitter.count -= 1\n }\n\n #processReallyExit(code?: number | null | undefined) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return 0\n }\n this.#process.exitCode = code || 0\n /* c8 ignore stop */\n\n this.#emitter.emit('exit', this.#process.exitCode, null)\n return this.#originalProcessReallyExit.call(\n this.#process,\n this.#process.exitCode\n )\n }\n\n #processEmit(ev: string, ...args: any[]): any {\n const og = this.#originalProcessEmit\n if (ev === 'exit' && processOk(this.#process)) {\n if (typeof args[0] === 'number') {\n this.#process.exitCode = args[0]\n /* c8 ignore start */\n }\n /* c8 ignore start */\n const ret = og.call(this.#process, ev, ...args)\n /* c8 ignore start */\n this.#emitter.emit('exit', this.#process.exitCode, null)\n /* c8 ignore stop */\n return ret\n } else {\n return og.call(this.#process, ev, ...args)\n }\n }\n}\n\nconst process = globalThis.process\n// wrap so that we call the method on the actual handler, without\n// exporting it directly.\nexport const {\n /**\n * Called when the process is exiting, whether via signal, explicit\n * exit, or running out of stuff to do.\n *\n * If the global process object is not suitable for instrumentation,\n * then this will be a no-op.\n *\n * Returns a function that may be used to unload signal-exit.\n */\n onExit,\n\n /**\n * Load the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\n load,\n\n /**\n * Unload the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\n unload,\n} = signalExitWrap(\n processOk(process) ? new SignalExit(process) : new SignalExitFallback()\n)\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultParsing = exports.handleOutput = exports.getSpawnedResult = exports.getSpawnedPromise = void 0;\nconst node_buffer_1 = require(\"node:buffer\");\nconst node_stream_1 = __importDefault(require(\"node:stream\"));\nconst node_util_1 = require(\"node:util\");\nconst signal_exit_1 = require(\"signal-exit\");\nfunction getSpawnedPromise(spawned, { timeout } = {}) {\n const spawnedPromise = new Promise((resolve, reject) => {\n spawned.on(\"exit\", (exitCode, signal) => {\n resolve({ exitCode, signal, timedOut: false });\n });\n spawned.on(\"error\", (error) => {\n reject(error);\n });\n if (spawned.stdin) {\n spawned.stdin.on(\"error\", (error) => {\n reject(error);\n });\n }\n });\n if (timeout === 0 || timeout === undefined) {\n return spawnedPromise;\n }\n let timeoutId;\n const timeoutPromise = new Promise((_resolve, reject) => {\n timeoutId = setTimeout(() => {\n spawned.kill(\"SIGTERM\");\n reject(Object.assign(new Error(\"Timed out\"), { timedOut: true, signal: \"SIGTERM\" }));\n }, timeout);\n });\n const safeSpawnedPromise = spawnedPromise.finally(() => {\n clearTimeout(timeoutId);\n });\n const removeExitHandler = (0, signal_exit_1.onExit)(() => {\n spawned.kill();\n });\n return Promise.race([timeoutPromise, safeSpawnedPromise]).finally(() => removeExitHandler());\n}\nexports.getSpawnedPromise = getSpawnedPromise;\nclass MaxBufferError extends Error {\n constructor() {\n super(\"The output is too big\");\n this.name = \"MaxBufferError\";\n }\n}\nconst streamPipelinePromisified = (0, node_util_1.promisify)(node_stream_1.default.pipeline);\nfunction bufferStream(options) {\n const { encoding } = options;\n const isBuffer = encoding === \"buffer\";\n // @ts-expect-error missing the methods we are adding below\n const stream = new node_stream_1.default.PassThrough({ objectMode: false });\n if (encoding && encoding !== \"buffer\") {\n stream.setEncoding(encoding);\n }\n let length = 0;\n const chunks = [];\n stream.on(\"data\", (chunk) => {\n chunks.push(chunk);\n length += chunk.length;\n });\n stream.getBufferedValue = () => {\n return (isBuffer ? Buffer.concat(chunks, length) : chunks.join(\"\"));\n };\n stream.getBufferedLength = () => length;\n return stream;\n}\nasync function getStream(inputStream, options) {\n const stream = bufferStream(options);\n await new Promise((resolve, reject) => {\n const rejectPromise = (error) => {\n // Don't retrieve an oversized buffer.\n if (error && stream.getBufferedLength() <= node_buffer_1.constants.MAX_LENGTH) {\n error.bufferedData = stream.getBufferedValue();\n }\n reject(error);\n };\n (async () => {\n try {\n await streamPipelinePromisified(inputStream, stream);\n resolve();\n }\n catch (error) {\n rejectPromise(error);\n }\n })();\n stream.on(\"data\", () => {\n // 80mb\n if (stream.getBufferedLength() > 1000 * 1000 * 80) {\n rejectPromise(new MaxBufferError());\n }\n });\n });\n return stream.getBufferedValue();\n}\n// On failure, `result.stdout|stderr` should contain the currently buffered stream\nasync function getBufferedData(stream, streamPromise) {\n stream.destroy();\n try {\n return await streamPromise;\n }\n catch (error) {\n return error.bufferedData;\n }\n}\nasync function getSpawnedResult({ stdout, stderr }, { encoding }, processDone) {\n const stdoutPromise = getStream(stdout, { encoding });\n const stderrPromise = getStream(stderr, { encoding });\n try {\n return await Promise.all([processDone, stdoutPromise, stderrPromise]);\n }\n catch (error) {\n return Promise.all([\n {\n error: error,\n exitCode: null,\n signal: error.signal,\n timedOut: error.timedOut || false,\n },\n getBufferedData(stdout, stdoutPromise),\n getBufferedData(stderr, stderrPromise),\n ]);\n }\n}\nexports.getSpawnedResult = getSpawnedResult;\nfunction stripFinalNewline(input) {\n const LF = typeof input === \"string\" ? \"\\n\" : \"\\n\".charCodeAt(0);\n const CR = typeof input === \"string\" ? \"\\r\" : \"\\r\".charCodeAt(0);\n if (input[input.length - 1] === LF) {\n // @ts-expect-error we are doing some nasty stuff here\n input = input.slice(0, -1);\n }\n if (input[input.length - 1] === CR) {\n // @ts-expect-error we are doing some nasty stuff here\n input = input.slice(0, -1);\n }\n return input;\n}\nfunction handleOutput(options, value) {\n if (options.stripFinalNewline) {\n return stripFinalNewline(value);\n }\n return value;\n}\nexports.handleOutput = handleOutput;\nconst getErrorPrefix = ({ timedOut, timeout, signal, exitCode, }) => {\n if (timedOut) {\n return `timed out after ${timeout} milliseconds`;\n }\n if (signal !== undefined && signal !== null) {\n return `was killed with ${signal}`;\n }\n if (exitCode !== undefined && exitCode !== null) {\n return `failed with exit code ${exitCode}`;\n }\n return \"failed\";\n};\nconst makeError = ({ stdout, stderr, error, signal, exitCode, command, timedOut, options, parentError, }) => {\n const prefix = getErrorPrefix({ timedOut, timeout: options?.timeout, signal, exitCode });\n const execaMessage = `Command ${prefix}: ${command}`;\n const shortMessage = error ? `${execaMessage}\\n${error.message}` : execaMessage;\n const message = [shortMessage, stderr, stdout].filter(Boolean).join(\"\\n\");\n if (error) {\n // @ts-expect-error not on Error\n error.originalMessage = error.message;\n }\n else {\n error = parentError;\n }\n error.message = message;\n // @ts-expect-error not on Error\n error.shortMessage = shortMessage;\n // @ts-expect-error not on Error\n error.command = command;\n // @ts-expect-error not on Error\n error.exitCode = exitCode;\n // @ts-expect-error not on Error\n error.signal = signal;\n // @ts-expect-error not on Error\n error.stdout = stdout;\n // @ts-expect-error not on Error\n error.stderr = stderr;\n if (\"bufferedData\" in error) {\n delete error[\"bufferedData\"];\n }\n return error;\n};\nfunction defaultParsing({ stdout, stderr, error, exitCode, signal, timedOut, command, options, parentError, }) {\n if (error || exitCode !== 0 || signal !== null) {\n const returnedError = makeError({\n error,\n exitCode,\n signal,\n stdout,\n stderr,\n command,\n timedOut,\n options,\n parentError,\n });\n throw returnedError;\n }\n return stdout;\n}\nexports.defaultParsing = defaultParsing;\n", "\"use strict\";\n/*\n * Inspired by Execa\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useExec = void 0;\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst react_1 = require(\"react\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst exec_utils_1 = require(\"./exec-utils\");\nconst SPACES_REGEXP = / +/g;\nfunction parseCommand(command, args) {\n if (args) {\n return [command, ...args];\n }\n const tokens = [];\n for (const token of command.trim().split(SPACES_REGEXP)) {\n // Allow spaces to be escaped by a backslash if not meant as a delimiter\n const previousToken = tokens[tokens.length - 1];\n if (previousToken && previousToken.endsWith(\"\\\\\")) {\n // Merge previous token with current one\n tokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`;\n }\n else {\n tokens.push(token);\n }\n }\n return tokens;\n}\nfunction useExec(command, optionsOrArgs, options) {\n const { parseOutput, input, onData, onWillExecute, initialData, execute, keepPreviousData, onError, failureToastOptions, ...execOptions } = Array.isArray(optionsOrArgs) ? options || {} : optionsOrArgs || {};\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n failureToastOptions,\n };\n const abortable = (0, react_1.useRef)();\n const parseOutputRef = (0, useLatest_1.useLatest)(parseOutput || exec_utils_1.defaultParsing);\n const fn = (0, react_1.useCallback)(async (_command, _args, _options, input) => {\n const [file, ...args] = parseCommand(_command, _args);\n const command = [file, ...args].join(\" \");\n const options = {\n stripFinalNewline: true,\n ..._options,\n timeout: _options?.timeout || 10000,\n signal: abortable.current?.signal,\n encoding: _options?.encoding === null ? \"buffer\" : _options?.encoding || \"utf8\",\n env: { PATH: \"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\", ...process.env, ..._options?.env },\n };\n const spawned = node_child_process_1.default.spawn(file, args, options);\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned, options);\n if (input) {\n spawned.stdin.end(input);\n }\n const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, options, spawnedPromise);\n const stdout = (0, exec_utils_1.handleOutput)(options, stdoutResult);\n const stderr = (0, exec_utils_1.handleOutput)(options, stderrResult);\n return parseOutputRef.current({\n // @ts-expect-error too many generics, I give up\n stdout,\n // @ts-expect-error too many generics, I give up\n stderr,\n error,\n exitCode,\n signal,\n timedOut,\n command,\n options,\n parentError: new Error(),\n });\n }, [parseOutputRef]);\n // @ts-expect-error T can't be a Promise so it's actually the same\n return (0, useCachedPromise_1.useCachedPromise)(fn, [command, Array.isArray(optionsOrArgs) ? optionsOrArgs : [], execOptions, input], {\n ...useCachedPromiseOptions,\n abortable,\n });\n}\nexports.useExec = useExec;\n", "'use strict';\n\nconst {Readable, Writable, Duplex, Transform} = require('stream');\n\nconst none = Symbol.for('object-stream.none');\nconst finalSymbol = Symbol.for('object-stream.final');\nconst manySymbol = Symbol.for('object-stream.many');\n\nconst final = value => ({[finalSymbol]: value});\nconst many = values => ({[manySymbol]: values});\n\nconst isFinal = o => o && typeof o == 'object' && finalSymbol in o;\nconst isMany = o => o && typeof o == 'object' && manySymbol in o;\n\nconst getFinalValue = o => o[finalSymbol];\nconst getManyValues = o => o[manySymbol];\n\nconst runAsyncGenerator = async (gen, stream) => {\n for (;;) {\n let data = gen.next();\n if (data && typeof data.then == 'function') {\n data = await data;\n }\n if (data.done) break;\n let value = data.value;\n if (value && typeof value.then == 'function') {\n value = await value;\n }\n Chain.sanitize(value, stream);\n }\n};\n\nconst wrapFunction = fn =>\n new Transform({\n writableObjectMode: true,\n readableObjectMode: true,\n transform(chunk, encoding, callback) {\n try {\n const result = fn.call(this, chunk, encoding);\n if (result && typeof result.then == 'function') {\n // thenable\n result.then(\n result => (Chain.sanitize(result, this), callback(null)),\n error => callback(error)\n );\n return;\n }\n if (result && typeof result.next == 'function') {\n // generator\n runAsyncGenerator(result, this).then(\n () => callback(null),\n error => callback(error)\n );\n return;\n }\n Chain.sanitize(result, this);\n callback(null);\n } catch (error) {\n callback(error);\n }\n }\n });\n\nconst wrapArray = fns =>\n new Transform({\n writableObjectMode: true,\n readableObjectMode: true,\n transform(chunk, encoding, callback) {\n try {\n let value = chunk;\n for (let i = 0; i < fns.length; ++i) {\n const result = fns[i].call(this, value, encoding);\n if (result === Chain.none) {\n callback(null);\n return;\n }\n if (Chain.isFinal(result)) {\n value = Chain.getFinalValue(result);\n break;\n }\n value = result;\n }\n Chain.sanitize(value, this);\n callback(null);\n } catch (error) {\n callback(error);\n }\n }\n });\n\n// is*NodeStream functions taken from https://github.com/nodejs/node/blob/master/lib/internal/streams/utils.js\nconst isReadableNodeStream = obj =>\n obj &&\n typeof obj.pipe === 'function' &&\n typeof obj.on === 'function' &&\n (!obj._writableState || (typeof obj._readableState === 'object' ? obj._readableState.readable : null) !== false) && // Duplex\n (!obj._writableState || obj._readableState); // Writable has .pipe.\n\nconst isWritableNodeStream = obj =>\n obj &&\n typeof obj.write === 'function' &&\n typeof obj.on === 'function' &&\n (!obj._readableState || (typeof obj._writableState === 'object' ? obj._writableState.writable : null) !== false); // Duplex\n\nconst isDuplexNodeStream = obj =>\n obj && typeof obj.pipe === 'function' && obj._readableState && typeof obj.on === 'function' && typeof obj.write === 'function';\n\nclass Chain extends Duplex {\n constructor(fns, options) {\n super(options || {writableObjectMode: true, readableObjectMode: true});\n\n if (!(fns instanceof Array) || !fns.length) {\n throw Error(\"Chain's argument should be a non-empty array.\");\n }\n\n this.streams = fns\n .filter(fn => fn)\n .map((fn, index, fns) => {\n if (typeof fn === 'function' || fn instanceof Array) return Chain.convertToTransform(fn);\n if (isDuplexNodeStream(fn) || (!index && isReadableNodeStream(fn)) || (index === fns.length - 1 && isWritableNodeStream(fn))) {\n return fn;\n }\n throw Error('Arguments should be functions, arrays or streams.');\n })\n .filter(s => s);\n this.input = this.streams[0];\n this.output = this.streams.reduce((output, stream) => (output && output.pipe(stream)) || stream);\n\n if (!isWritableNodeStream(this.input)) {\n this._write = (_1, _2, callback) => callback(null);\n this._final = callback => callback(null); // unavailable in Node 6\n this.input.on('end', () => this.end());\n }\n\n if (isReadableNodeStream(this.output)) {\n this.output.on('data', chunk => !this.push(chunk) && this.output.pause());\n this.output.on('end', () => this.push(null));\n } else {\n this._read = () => {}; // nop\n this.resume();\n this.output.on('finish', () => this.push(null));\n }\n\n // connect events\n if (!options || !options.skipEvents) {\n this.streams.forEach(stream => stream.on('error', error => this.emit('error', error)));\n }\n }\n _write(chunk, encoding, callback) {\n let error = null;\n try {\n this.input.write(chunk, encoding, e => callback(e || error));\n } catch (e) {\n error = e;\n }\n }\n _final(callback) {\n let error = null;\n try {\n this.input.end(null, null, e => callback(e || error));\n } catch (e) {\n error = e;\n }\n }\n _read() {\n this.output.resume();\n }\n static make(fns, options) {\n return new Chain(fns, options);\n }\n static sanitize(result, stream) {\n if (Chain.isFinal(result)) {\n result = Chain.getFinalValue(result);\n } else if (Chain.isMany(result)) {\n result = Chain.getManyValues(result);\n }\n if (result !== undefined && result !== null && result !== Chain.none) {\n if (result instanceof Array) {\n result.forEach(value => value !== undefined && value !== null && stream.push(value));\n } else {\n stream.push(result);\n }\n }\n }\n static convertToTransform(fn) {\n if (typeof fn === 'function') return wrapFunction(fn);\n if (fn instanceof Array) return fn.length ? wrapArray(fn) : null;\n return null;\n }\n}\n\nChain.none = none;\nChain.final = final;\nChain.isFinal = isFinal;\nChain.getFinalValue = getFinalValue;\nChain.many = many;\nChain.isMany = isMany;\nChain.getManyValues = getManyValues;\n\nChain.chain = Chain.make;\nChain.make.Constructor = Chain;\n\nmodule.exports = Chain;\n", "'use strict';\n\nconst {Transform} = require('stream');\nconst {StringDecoder} = require('string_decoder');\n\nclass Utf8Stream extends Transform {\n constructor(options) {\n super(Object.assign({}, options, {writableObjectMode: false}));\n this._buffer = '';\n }\n\n _transform(chunk, encoding, callback) {\n if (typeof chunk == 'string') {\n this._transform = this._transformString;\n } else {\n this._stringDecoder = new StringDecoder();\n this._transform = this._transformBuffer;\n }\n this._transform(chunk, encoding, callback);\n }\n\n _transformBuffer(chunk, _, callback) {\n this._buffer += this._stringDecoder.write(chunk);\n this._processBuffer(callback);\n }\n\n _transformString(chunk, _, callback) {\n this._buffer += chunk.toString();\n this._processBuffer(callback);\n }\n\n _processBuffer(callback) {\n if (this._buffer) {\n this.push(this._buffer, 'utf8');\n this._buffer = '';\n }\n callback(null);\n }\n\n _flushInput() {\n // meant to be called from _flush()\n if (this._stringDecoder) {\n this._buffer += this._stringDecoder.end();\n }\n }\n\n _flush(callback) {\n this._flushInput();\n this._processBuffer(callback);\n }\n}\n\nmodule.exports = Utf8Stream;\n", "'use strict';\n\nconst Utf8Stream = require('./utils/Utf8Stream');\n\nconst patterns = {\n value1: /^(?:[\\\"\\{\\[\\]\\-\\d]|true\\b|false\\b|null\\b|\\s{1,256})/,\n string: /^(?:[^\\\"\\\\]{1,256}|\\\\[bfnrt\\\"\\\\\\/]|\\\\u[\\da-fA-F]{4}|\\\")/,\n key1: /^(?:[\\\"\\}]|\\s{1,256})/,\n colon: /^(?:\\:|\\s{1,256})/,\n comma: /^(?:[\\,\\]\\}]|\\s{1,256})/,\n ws: /^\\s{1,256}/,\n numberStart: /^\\d/,\n numberDigit: /^\\d{0,256}/,\n numberFraction: /^[\\.eE]/,\n numberExponent: /^[eE]/,\n numberExpSign: /^[-+]/\n};\nconst MAX_PATTERN_SIZE = 16;\n\nlet noSticky = true;\ntry {\n new RegExp('.', 'y');\n noSticky = false;\n} catch (e) {\n // suppress\n}\n\n!noSticky &&\n Object.keys(patterns).forEach(key => {\n let src = patterns[key].source.slice(1); // lop off ^\n if (src.slice(0, 3) === '(?:' && src.slice(-1) === ')') {\n src = src.slice(3, -1);\n }\n patterns[key] = new RegExp(src, 'y');\n });\n\npatterns.numberFracStart = patterns.numberExpStart = patterns.numberStart;\npatterns.numberFracDigit = patterns.numberExpDigit = patterns.numberDigit;\n\nconst values = {true: true, false: false, null: null},\n expected = {object: 'objectStop', array: 'arrayStop', '': 'done'};\n\n// long hexadecimal codes: \\uXXXX\nconst fromHex = s => String.fromCharCode(parseInt(s.slice(2), 16));\n\n// short codes: \\b \\f \\n \\r \\t \\\" \\\\ \\/\nconst codes = {b: '\\b', f: '\\f', n: '\\n', r: '\\r', t: '\\t', '\"': '\"', '\\\\': '\\\\', '/': '/'};\n\nclass Parser extends Utf8Stream {\n static make(options) {\n return new Parser(options);\n }\n\n constructor(options) {\n super(Object.assign({}, options, {readableObjectMode: true}));\n\n this._packKeys = this._packStrings = this._packNumbers = this._streamKeys = this._streamStrings = this._streamNumbers = true;\n if (options) {\n 'packValues' in options && (this._packKeys = this._packStrings = this._packNumbers = options.packValues);\n 'packKeys' in options && (this._packKeys = options.packKeys);\n 'packStrings' in options && (this._packStrings = options.packStrings);\n 'packNumbers' in options && (this._packNumbers = options.packNumbers);\n 'streamValues' in options && (this._streamKeys = this._streamStrings = this._streamNumbers = options.streamValues);\n 'streamKeys' in options && (this._streamKeys = options.streamKeys);\n 'streamStrings' in options && (this._streamStrings = options.streamStrings);\n 'streamNumbers' in options && (this._streamNumbers = options.streamNumbers);\n this._jsonStreaming = options.jsonStreaming;\n }\n !this._packKeys && (this._streamKeys = true);\n !this._packStrings && (this._streamStrings = true);\n !this._packNumbers && (this._streamNumbers = true);\n\n this._done = false;\n this._expect = this._jsonStreaming ? 'done' : 'value';\n this._stack = [];\n this._parent = '';\n this._open_number = false;\n this._accumulator = '';\n }\n\n _flush(callback) {\n this._done = true;\n super._flush(error => {\n if (error) return callback(error);\n if (this._open_number) {\n if (this._streamNumbers) {\n this.push({name: 'endNumber'});\n }\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n callback(null);\n });\n }\n\n _processBuffer(callback) {\n let match,\n value,\n index = 0;\n main: for (;;) {\n switch (this._expect) {\n case 'value1':\n case 'value':\n patterns.value1.lastIndex = index;\n match = patterns.value1.exec(this._buffer);\n if (!match) {\n if (this._done || index + MAX_PATTERN_SIZE < this._buffer.length) {\n if (index < this._buffer.length) return callback(new Error('Parser cannot parse input: expected a value'));\n return callback(new Error('Parser has expected a value'));\n }\n break main; // wait for more input\n }\n value = match[0];\n switch (value) {\n case '\"':\n this._streamStrings && this.push({name: 'startString'});\n this._expect = 'string';\n break;\n case '{':\n this.push({name: 'startObject'});\n this._stack.push(this._parent);\n this._parent = 'object';\n this._expect = 'key1';\n break;\n case '[':\n this.push({name: 'startArray'});\n this._stack.push(this._parent);\n this._parent = 'array';\n this._expect = 'value1';\n break;\n case ']':\n if (this._expect !== 'value1') return callback(new Error(\"Parser cannot parse input: unexpected token ']'\"));\n if (this._open_number) {\n this._streamNumbers && this.push({name: 'endNumber'});\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n this.push({name: 'endArray'});\n this._parent = this._stack.pop();\n this._expect = expected[this._parent];\n break;\n case '-':\n this._open_number = true;\n if (this._streamNumbers) {\n this.push({name: 'startNumber'});\n this.push({name: 'numberChunk', value: '-'});\n }\n this._packNumbers && (this._accumulator = '-');\n this._expect = 'numberStart';\n break;\n case '0':\n this._open_number = true;\n if (this._streamNumbers) {\n this.push({name: 'startNumber'});\n this.push({name: 'numberChunk', value: '0'});\n }\n this._packNumbers && (this._accumulator = '0');\n this._expect = 'numberFraction';\n break;\n case '1':\n case '2':\n case '3':\n case '4':\n case '5':\n case '6':\n case '7':\n case '8':\n case '9':\n this._open_number = true;\n if (this._streamNumbers) {\n this.push({name: 'startNumber'});\n this.push({name: 'numberChunk', value: value});\n }\n this._packNumbers && (this._accumulator = value);\n this._expect = 'numberDigit';\n break;\n case 'true':\n case 'false':\n case 'null':\n if (this._buffer.length - index === value.length && !this._done) break main; // wait for more input\n this.push({name: value + 'Value', value: values[value]});\n this._expect = expected[this._parent];\n break;\n // default: // ws\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'keyVal':\n case 'string':\n patterns.string.lastIndex = index;\n match = patterns.string.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length && (this._done || this._buffer.length - index >= 6))\n return callback(new Error('Parser cannot parse input: escaped characters'));\n if (this._done) return callback(new Error('Parser has expected a string value'));\n break main; // wait for more input\n }\n value = match[0];\n if (value === '\"') {\n if (this._expect === 'keyVal') {\n this._streamKeys && this.push({name: 'endKey'});\n if (this._packKeys) {\n this.push({name: 'keyValue', value: this._accumulator});\n this._accumulator = '';\n }\n this._expect = 'colon';\n } else {\n this._streamStrings && this.push({name: 'endString'});\n if (this._packStrings) {\n this.push({name: 'stringValue', value: this._accumulator});\n this._accumulator = '';\n }\n this._expect = expected[this._parent];\n }\n } else if (value.length > 1 && value.charAt(0) === '\\\\') {\n const t = value.length == 2 ? codes[value.charAt(1)] : fromHex(value);\n if (this._expect === 'keyVal' ? this._streamKeys : this._streamStrings) {\n this.push({name: 'stringChunk', value: t});\n }\n if (this._expect === 'keyVal' ? this._packKeys : this._packStrings) {\n this._accumulator += t;\n }\n } else {\n if (this._expect === 'keyVal' ? this._streamKeys : this._streamStrings) {\n this.push({name: 'stringChunk', value: value});\n }\n if (this._expect === 'keyVal' ? this._packKeys : this._packStrings) {\n this._accumulator += value;\n }\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'key1':\n case 'key':\n patterns.key1.lastIndex = index;\n match = patterns.key1.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected an object key'));\n break main; // wait for more input\n }\n value = match[0];\n if (value === '\"') {\n this._streamKeys && this.push({name: 'startKey'});\n this._expect = 'keyVal';\n } else if (value === '}') {\n if (this._expect !== 'key1') return callback(new Error(\"Parser cannot parse input: unexpected token '}'\"));\n this.push({name: 'endObject'});\n this._parent = this._stack.pop();\n this._expect = expected[this._parent];\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'colon':\n patterns.colon.lastIndex = index;\n match = patterns.colon.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error(\"Parser cannot parse input: expected ':'\"));\n break main; // wait for more input\n }\n value = match[0];\n value === ':' && (this._expect = 'value');\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'arrayStop':\n case 'objectStop':\n patterns.comma.lastIndex = index;\n match = patterns.comma.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error(\"Parser cannot parse input: expected ','\"));\n break main; // wait for more input\n }\n if (this._open_number) {\n this._streamNumbers && this.push({name: 'endNumber'});\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n value = match[0];\n if (value === ',') {\n this._expect = this._expect === 'arrayStop' ? 'value' : 'key';\n } else if (value === '}' || value === ']') {\n if (value === '}' ? this._expect === 'arrayStop' : this._expect !== 'arrayStop') {\n return callback(new Error(\"Parser cannot parse input: expected '\" + (this._expect === 'arrayStop' ? ']' : '}') + \"'\"));\n }\n this.push({name: value === '}' ? 'endObject' : 'endArray'});\n this._parent = this._stack.pop();\n this._expect = expected[this._parent];\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n // number chunks\n case 'numberStart': // [0-9]\n patterns.numberStart.lastIndex = index;\n match = patterns.numberStart.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected a starting digit'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = value === '0' ? 'numberFraction' : 'numberDigit';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberDigit': // [0-9]*\n patterns.numberDigit.lastIndex = index;\n match = patterns.numberDigit.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected a digit'));\n break main; // wait for more input\n }\n value = match[0];\n if (value) {\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n } else {\n if (index < this._buffer.length) {\n this._expect = 'numberFraction';\n break;\n }\n if (this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n break;\n case 'numberFraction': // [\\.eE]?\n patterns.numberFraction.lastIndex = index;\n match = patterns.numberFraction.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = value === '.' ? 'numberFracStart' : 'numberExpSign';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberFracStart': // [0-9]\n patterns.numberFracStart.lastIndex = index;\n match = patterns.numberFracStart.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected a fractional part of a number'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberFracDigit';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberFracDigit': // [0-9]*\n patterns.numberFracDigit.lastIndex = index;\n match = patterns.numberFracDigit.exec(this._buffer);\n value = match[0];\n if (value) {\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n } else {\n if (index < this._buffer.length) {\n this._expect = 'numberExponent';\n break;\n }\n if (this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n break;\n case 'numberExponent': // [eE]?\n patterns.numberExponent.lastIndex = index;\n match = patterns.numberExponent.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length) {\n this._expect = expected[this._parent];\n break;\n }\n if (this._done) {\n this._expect = 'done';\n break;\n }\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberExpSign';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberExpSign': // [-+]?\n patterns.numberExpSign.lastIndex = index;\n match = patterns.numberExpSign.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length) {\n this._expect = 'numberExpStart';\n break;\n }\n if (this._done) return callback(new Error('Parser has expected an exponent value of a number'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberExpStart';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberExpStart': // [0-9]\n patterns.numberExpStart.lastIndex = index;\n match = patterns.numberExpStart.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected an exponent part of a number'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberExpDigit';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberExpDigit': // [0-9]*\n patterns.numberExpDigit.lastIndex = index;\n match = patterns.numberExpDigit.exec(this._buffer);\n value = match[0];\n if (value) {\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n } else {\n if (index < this._buffer.length || this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n break;\n case 'done':\n patterns.ws.lastIndex = index;\n match = patterns.ws.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length) {\n if (this._jsonStreaming) {\n this._expect = 'value';\n break;\n }\n return callback(new Error('Parser cannot parse input: unexpected characters'));\n }\n break main; // wait for more input\n }\n value = match[0];\n if (this._open_number) {\n this._streamNumbers && this.push({name: 'endNumber'});\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n }\n }\n !noSticky && (this._buffer = this._buffer.slice(index));\n callback(null);\n }\n}\nParser.parser = Parser.make;\nParser.make.Constructor = Parser;\n\nmodule.exports = Parser;\n", "'use strict';\n\nconst emit = stream => stream.on('data', item => stream.emit(item.name, item.value));\n\nmodule.exports = emit;\n", "'use strict';\n\nconst Parser = require('./Parser');\nconst emit = require('./utils/emit');\n\nconst make = options => emit(new Parser(options));\n\nmake.Parser = Parser;\nmake.parser = Parser.parser;\n\nmodule.exports = make;\n", "'use strict';\n\nconst {Transform} = require('stream');\n\nclass FilterBase extends Transform {\n static stringFilter(string, separator) {\n return stack => {\n const path = stack.join(separator);\n return (\n (path.length === string.length && path === string) ||\n (path.length > string.length && path.substr(0, string.length) === string && path.substr(string.length, separator.length) === separator)\n );\n };\n }\n\n static regExpFilter(regExp, separator) {\n return stack => regExp.test(stack.join(separator));\n }\n\n static arrayReplacement(array) {\n return () => array;\n }\n\n constructor(options) {\n super(Object.assign({}, options, {writableObjectMode: true, readableObjectMode: true}));\n this._transform = this._check;\n this._stack = [];\n\n const filter = options && options.filter,\n separator = (options && options.pathSeparator) || '.';\n if (typeof filter == 'string') {\n this._filter = FilterBase.stringFilter(filter, separator);\n } else if (typeof filter == 'function') {\n this._filter = filter;\n } else if (filter instanceof RegExp) {\n this._filter = FilterBase.regExpFilter(filter, separator);\n }\n\n const replacement = options && options.replacement;\n if (typeof replacement == 'function') {\n this._replacement = replacement;\n } else {\n this._replacement = FilterBase.arrayReplacement(replacement || FilterBase.defaultReplacement);\n }\n this._allowEmptyReplacement = options && options.allowEmptyReplacement;\n\n this._streamKeys = true;\n if (options) {\n 'streamValues' in options && (this._streamKeys = options.streamValues);\n 'streamKeys' in options && (this._streamKeys = options.streamKeys);\n }\n\n this._once = options && options.once;\n this._previousToken = '';\n }\n\n _check(chunk, _, callback) {\n // update the last stack key\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n case 'startString':\n case 'startNumber':\n case 'nullValue':\n case 'trueValue':\n case 'falseValue':\n if (typeof this._stack[this._stack.length - 1] == 'number') {\n // array\n ++this._stack[this._stack.length - 1];\n }\n break;\n case 'keyValue':\n this._stack[this._stack.length - 1] = chunk.value;\n break;\n case 'numberValue':\n if (this._previousToken !== 'endNumber' && typeof this._stack[this._stack.length - 1] == 'number') {\n // array\n ++this._stack[this._stack.length - 1];\n }\n break;\n case 'stringValue':\n if (this._previousToken !== 'endString' && typeof this._stack[this._stack.length - 1] == 'number') {\n // array\n ++this._stack[this._stack.length - 1];\n }\n break;\n }\n this._previousToken = chunk.name;\n // check, if we allow a chunk\n if (this._checkChunk(chunk)) {\n return callback(null);\n }\n // update the stack\n switch (chunk.name) {\n case 'startObject':\n this._stack.push(null);\n break;\n case 'startArray':\n this._stack.push(-1);\n break;\n case 'endObject':\n case 'endArray':\n this._stack.pop();\n break;\n }\n callback(null);\n }\n\n _passObject(chunk, _, callback) {\n this.push(chunk);\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n ++this._depth;\n break;\n case 'endObject':\n case 'endArray':\n --this._depth;\n break;\n }\n if (!this._depth) {\n this._transform = this._once ? this._skip : this._check;\n }\n callback(null);\n }\n\n _pass(chunk, _, callback) {\n this.push(chunk);\n callback(null);\n }\n\n _skipObject(chunk, _, callback) {\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n ++this._depth;\n break;\n case 'endObject':\n case 'endArray':\n --this._depth;\n break;\n }\n if (!this._depth) {\n this._transform = this._once ? this._pass : this._check;\n }\n callback(null);\n }\n\n _skip(chunk, _, callback) {\n callback(null);\n }\n}\n\nFilterBase.defaultReplacement = [{name: 'nullValue', value: null}];\n\nconst passValue = (last, post) =>\n function(chunk, _, callback) {\n if (this._expected) {\n const expected = this._expected;\n this._expected = '';\n this._transform = this._once ? this._skip : this._check;\n if (expected === chunk.name) {\n this.push(chunk);\n } else {\n return this._transform(chunk, _, callback);\n }\n } else {\n this.push(chunk);\n if (chunk.name === last) {\n this._expected = post;\n }\n }\n callback(null);\n };\n\nFilterBase.prototype._passNumber = passValue('endNumber', 'numberValue');\nFilterBase.prototype._passString = passValue('endString', 'stringValue');\nFilterBase.prototype._passKey = passValue('endKey', 'keyValue');\n\nconst skipValue = (last, post) =>\n function(chunk, _, callback) {\n if (this._expected) {\n const expected = this._expected;\n this._expected = '';\n this._transform = this._once ? this._pass : this._check;\n if (expected !== chunk.name) {\n return this._transform(chunk, _, callback);\n }\n } else {\n if (chunk.name === last) {\n this._expected = post;\n }\n }\n callback(null);\n };\n\nFilterBase.prototype._skipNumber = skipValue('endNumber', 'numberValue');\nFilterBase.prototype._skipString = skipValue('endString', 'stringValue');\nFilterBase.prototype._skipKey = skipValue('endKey', 'keyValue');\n\nmodule.exports = FilterBase;\n", "'use strict';\n\nconst Chain = require('stream-chain');\n\nconst Parser = require('../Parser');\n\nconst withParser = (fn, options) =>\n new Chain([new Parser(options), fn(options)], Object.assign({}, options, {writableObjectMode: false, readableObjectMode: true}));\n\nmodule.exports = withParser;\n", "'use strict';\n\nconst FilterBase = require('./FilterBase');\nconst withParser = require('../utils/withParser');\n\nclass Pick extends FilterBase {\n static make(options) {\n return new Pick(options);\n }\n\n static withParser(options) {\n return withParser(Pick.make, options);\n }\n\n _checkChunk(chunk) {\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._passObject;\n this._depth = 1;\n return true;\n }\n break;\n case 'startString':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._passString;\n return true;\n }\n break;\n case 'startNumber':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._passNumber;\n return true;\n }\n break;\n case 'nullValue':\n case 'trueValue':\n case 'falseValue':\n case 'stringValue':\n case 'numberValue':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._once ? this._skip : this._check;\n return true;\n }\n break;\n }\n return false;\n }\n}\nPick.pick = Pick.make;\nPick.make.Constructor = Pick;\n\nmodule.exports = Pick;\n", "'use strict';\n\nconst EventEmitter = require('events');\n\nconst startObject = Ctr =>\n function () {\n if (this.done) {\n this.done = false;\n } else {\n this.stack.push(this.current, this.key);\n }\n this.current = new Ctr();\n this.key = null;\n };\n\nclass Assembler extends EventEmitter {\n static connectTo(stream, options) {\n return new Assembler(options).connectTo(stream);\n }\n\n constructor(options) {\n super();\n this.stack = [];\n this.current = this.key = null;\n this.done = true;\n if (options) {\n this.reviver = typeof options.reviver == 'function' && options.reviver;\n if (this.reviver) {\n this.stringValue = this._saveValue = this._saveValueWithReviver;\n }\n if (options.numberAsString) {\n this.numberValue = this.stringValue;\n }\n }\n }\n\n connectTo(stream) {\n stream.on('data', chunk => {\n if (this[chunk.name]) {\n this[chunk.name](chunk.value);\n if (this.done) this.emit('done', this);\n }\n });\n return this;\n }\n\n get depth() {\n return (this.stack.length >> 1) + (this.done ? 0 : 1);\n }\n\n get path() {\n const path = [];\n for (let i = 0; i < this.stack.length; i += 2) {\n const key = this.stack[i + 1];\n path.push(key === null ? this.stack[i].length : key);\n }\n return path;\n }\n\n dropToLevel(level) {\n if (level < this.depth) {\n if (level) {\n const index = (level - 1) << 1;\n this.current = this.stack[index];\n this.key = this.stack[index + 1];\n this.stack.splice(index);\n } else {\n this.stack = [];\n this.current = this.key = null;\n this.done = true;\n }\n }\n return this;\n }\n\n consume(chunk) {\n this[chunk.name] && this[chunk.name](chunk.value);\n return this;\n }\n\n keyValue(value) {\n this.key = value;\n }\n\n //stringValue() - aliased below to _saveValue()\n\n numberValue(value) {\n this._saveValue(parseFloat(value));\n }\n nullValue() {\n this._saveValue(null);\n }\n trueValue() {\n this._saveValue(true);\n }\n falseValue() {\n this._saveValue(false);\n }\n\n //startObject() - assigned below\n\n endObject() {\n if (this.stack.length) {\n const value = this.current;\n this.key = this.stack.pop();\n this.current = this.stack.pop();\n this._saveValue(value);\n } else {\n this.done = true;\n }\n }\n\n //startArray() - assigned below\n //endArray() - aliased below to endObject()\n\n _saveValue(value) {\n if (this.done) {\n this.current = value;\n } else {\n if (this.current instanceof Array) {\n this.current.push(value);\n } else {\n this.current[this.key] = value;\n this.key = null;\n }\n }\n }\n _saveValueWithReviver(value) {\n if (this.done) {\n this.current = this.reviver('', value);\n } else {\n if (this.current instanceof Array) {\n value = this.reviver('' + this.current.length, value);\n this.current.push(value);\n if (value === undefined) {\n delete this.current[this.current.length - 1];\n }\n } else {\n value = this.reviver(this.key, value);\n if (value !== undefined) {\n this.current[this.key] = value;\n }\n this.key = null;\n }\n }\n }\n}\n\nAssembler.prototype.stringValue = Assembler.prototype._saveValue;\nAssembler.prototype.startObject = startObject(Object);\nAssembler.prototype.startArray = startObject(Array);\nAssembler.prototype.endArray = Assembler.prototype.endObject;\n\nmodule.exports = Assembler;\n", "'use strict';\n\nconst {Transform} = require('stream');\nconst Assembler = require('../Assembler');\n\nclass Counter {\n constructor(initialDepth) {\n this.depth = initialDepth;\n }\n startObject() {\n ++this.depth;\n }\n endObject() {\n --this.depth;\n }\n startArray() {\n ++this.depth;\n }\n endArray() {\n --this.depth;\n }\n}\n\nclass StreamBase extends Transform {\n constructor(options) {\n super(Object.assign({}, options, {writableObjectMode: true, readableObjectMode: true}));\n if (options) {\n this.objectFilter = options.objectFilter;\n this.includeUndecided = options.includeUndecided;\n }\n if (typeof this.objectFilter != 'function') {\n this._filter = this._transform;\n }\n this._transform = this._wait || this._filter;\n this._assembler = new Assembler(options);\n }\n\n _transform(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n if (this._assembler.depth === this._level) {\n this._push();\n }\n }\n callback(null);\n }\n\n _filter(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n const result = this.objectFilter(this._assembler);\n if (result) {\n if (this._assembler.depth === this._level) {\n this._push();\n this._transform = this._filter;\n }\n this._transform = this._accept;\n return callback(null);\n }\n if (result === false) {\n this._saved_assembler = this._assembler;\n this._assembler = new Counter(this._saved_assembler.depth);\n this._saved_assembler.dropToLevel(this._level);\n if (this._assembler.depth === this._level) {\n this._assembler = this._saved_assembler;\n this._transform = this._filter;\n }\n this._transform = this._reject;\n return callback(null);\n }\n if (this._assembler.depth === this._level) {\n this._push(!this.includeUndecided);\n }\n }\n callback(null);\n }\n\n _accept(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n if (this._assembler.depth === this._level) {\n this._push();\n this._transform = this._filter;\n }\n }\n callback(null);\n }\n\n _reject(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n if (this._assembler.depth === this._level) {\n this._assembler = this._saved_assembler;\n this._transform = this._filter;\n }\n }\n callback(null);\n }\n}\n\nmodule.exports = StreamBase;\n", "'use strict';\n\nconst StreamBase = require('./StreamBase');\nconst withParser = require('../utils/withParser');\n\nclass StreamArray extends StreamBase {\n static make(options) {\n return new StreamArray(options);\n }\n\n static withParser(options) {\n return withParser(StreamArray.make, options);\n }\n\n constructor(options) {\n super(options);\n this._level = 1;\n this._counter = 0;\n }\n\n _wait(chunk, _, callback) {\n // first chunk should open an array\n if (chunk.name !== 'startArray') {\n return callback(new Error('Top-level object should be an array.'));\n }\n this._transform = this._filter;\n return this._transform(chunk, _, callback);\n }\n\n _push(discard) {\n if (this._assembler.current.length) {\n if (discard) {\n ++this._counter;\n this._assembler.current.pop();\n } else {\n this.push({key: this._counter++, value: this._assembler.current.pop()});\n }\n }\n }\n}\nStreamArray.streamArray = StreamArray.make;\nStreamArray.make.Constructor = StreamArray;\n\nmodule.exports = StreamArray;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useStreamJSON = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst cross_fetch_1 = __importDefault(require(\"cross-fetch\"));\nconst node_fs_1 = require(\"node:fs\");\nconst promises_1 = require(\"node:fs/promises\");\nconst node_path_1 = require(\"node:path\");\nconst promises_2 = require(\"node:stream/promises\");\nconst react_1 = require(\"react\");\nconst stream_chain_1 = __importDefault(require(\"stream-chain\"));\nconst stream_json_1 = require(\"stream-json\");\nconst Pick_1 = __importDefault(require(\"stream-json/filters/Pick\"));\nconst StreamArray_1 = __importDefault(require(\"stream-json/streamers/StreamArray\"));\nconst fetch_utils_1 = require(\"./fetch-utils\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst helpers_1 = require(\"./helpers\");\nasync function cache(url, destination, fetchOptions) {\n if (typeof url === \"object\" || url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\n return await cacheURL(url, destination, fetchOptions);\n }\n else if (url.startsWith(\"file://\")) {\n return await cacheFile((0, node_path_1.normalize)(decodeURIComponent(new URL(url).pathname)), destination, fetchOptions?.signal ? fetchOptions.signal : undefined);\n }\n else {\n throw new Error(\"Only HTTP(S) or file URLs are supported\");\n }\n}\nasync function cacheURL(url, destination, fetchOptions) {\n const response = await (0, cross_fetch_1.default)(url, fetchOptions);\n if (!response.ok) {\n throw new Error(\"Failed to fetch URL\");\n }\n if (!(0, fetch_utils_1.isJSON)(response.headers.get(\"content-type\"))) {\n throw new Error(\"URL does not return JSON\");\n }\n if (!response.body) {\n throw new Error(\"Failed to retrieve expected JSON content: Response body is missing or inaccessible.\");\n }\n await (0, promises_2.pipeline)(response.body, (0, node_fs_1.createWriteStream)(destination), fetchOptions?.signal ? { signal: fetchOptions.signal } : undefined);\n}\nasync function cacheFile(source, destination, abortSignal) {\n await (0, promises_2.pipeline)((0, node_fs_1.createReadStream)(source), (0, node_fs_1.createWriteStream)(destination), abortSignal ? { signal: abortSignal } : undefined);\n}\nasync function cacheURLIfNecessary(url, folder, fileName, forceUpdate, fetchOptions) {\n const destination = (0, node_path_1.join)(folder, fileName);\n try {\n await (0, promises_1.stat)(folder);\n }\n catch (e) {\n (0, node_fs_1.mkdirSync)(folder, { recursive: true });\n await cache(url, destination, fetchOptions);\n return;\n }\n if (forceUpdate) {\n await cache(url, destination, fetchOptions);\n return;\n }\n let stats = undefined;\n try {\n stats = await (0, promises_1.stat)(destination);\n }\n catch (e) {\n await cache(url, destination, fetchOptions);\n return;\n }\n if (typeof url === \"object\" || url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\n const headResponse = await (0, cross_fetch_1.default)(url, { ...fetchOptions, method: \"HEAD\" });\n if (!headResponse.ok) {\n throw new Error(\"Could not fetch URL\");\n }\n if (!(0, fetch_utils_1.isJSON)(headResponse.headers.get(\"content-type\"))) {\n throw new Error(\"URL does not return JSON\");\n }\n const lastModified = Date.parse(headResponse.headers.get(\"last-modified\") ?? \"\");\n if (stats.size === 0 || Number.isNaN(lastModified) || lastModified > stats.mtimeMs) {\n await cache(url, destination, fetchOptions);\n return;\n }\n }\n else if (url.startsWith(\"file://\")) {\n try {\n const sourceStats = await (0, promises_1.stat)((0, node_path_1.normalize)(decodeURIComponent(new URL(url).pathname)));\n if (sourceStats.mtimeMs > stats.mtimeMs) {\n await cache(url, destination, fetchOptions);\n }\n }\n catch (e) {\n throw new Error(\"Source file could not be read\");\n }\n }\n else {\n throw new Error(\"Only HTTP(S) or file URLs are supported\");\n }\n}\nasync function* streamJsonFile(filePath, pageSize, abortSignal, dataPath, filterFn, transformFn) {\n let page = [];\n const pipeline = new stream_chain_1.default([\n (0, node_fs_1.createReadStream)(filePath),\n dataPath ? Pick_1.default.withParser({ filter: dataPath }) : (0, stream_json_1.parser)(),\n new StreamArray_1.default(),\n (data) => transformFn?.(data.value) ?? data.value,\n ]);\n abortSignal?.addEventListener(\"abort\", () => {\n pipeline.destroy();\n });\n try {\n for await (const data of pipeline) {\n if (abortSignal?.aborted) {\n return [];\n }\n if (!filterFn || filterFn(data)) {\n page.push(data);\n }\n if (page.length >= pageSize) {\n yield page;\n page = [];\n }\n }\n }\n catch (e) {\n pipeline.destroy();\n throw e;\n }\n if (page.length > 0) {\n yield page;\n }\n return [];\n}\nfunction useStreamJSON(url, options) {\n const { initialData, execute, keepPreviousData, onError, onData, onWillExecute, failureToastOptions, dataPath, filter, transform, pageSize = 20, ...fetchOptions } = options ?? {};\n const previousUrl = (0, react_1.useRef)();\n const previousDestination = (0, react_1.useRef)();\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n failureToastOptions,\n };\n const generatorRef = (0, react_1.useRef)(null);\n const controllerRef = (0, react_1.useRef)(null);\n const hasMoreRef = (0, react_1.useRef)(false);\n return (0, useCachedPromise_1.useCachedPromise)((url, pageSize, fetchOptions, dataPath, filter, transform) => async ({ page }) => {\n const fileName = (0, helpers_1.hash)(url) + \".json\";\n const folder = api_1.environment.supportPath;\n if (page === 0) {\n controllerRef.current?.abort();\n controllerRef.current = new AbortController();\n const destination = (0, node_path_1.join)(folder, fileName);\n /**\n * Force update the cache when the URL changes but the cache destination does not.\n */\n const forceCacheUpdate = Boolean(previousUrl.current &&\n previousUrl.current !== url &&\n previousDestination.current &&\n previousDestination.current === destination);\n previousUrl.current = url;\n previousDestination.current = destination;\n await cacheURLIfNecessary(url, folder, fileName, forceCacheUpdate, {\n ...fetchOptions,\n signal: controllerRef.current?.signal,\n });\n generatorRef.current = streamJsonFile(destination, pageSize, controllerRef.current?.signal, dataPath, filter, transform);\n }\n if (!generatorRef.current) {\n return { hasMore: hasMoreRef.current, data: [] };\n }\n const { value: newData, done } = await generatorRef.current.next();\n hasMoreRef.current = !done;\n return { hasMore: hasMoreRef.current, data: (newData ?? []) };\n }, [url, pageSize, fetchOptions, dataPath, filter, transform], useCachedPromiseOptions);\n}\nexports.useStreamJSON = useStreamJSON;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useSQL = void 0;\nconst jsx_runtime_1 = require(\"react/jsx-runtime\");\nconst api_1 = require(\"@raycast/api\");\nconst node_fs_1 = require(\"node:fs\");\nconst promises_1 = require(\"node:fs/promises\");\nconst node_os_1 = __importDefault(require(\"node:os\"));\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst node_path_1 = __importDefault(require(\"node:path\"));\nconst react_1 = require(\"react\");\nconst usePromise_1 = require(\"./usePromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst exec_utils_1 = require(\"./exec-utils\");\nconst showFailureToast_1 = require(\"./showFailureToast\");\nconst helpers_1 = require(\"./helpers\");\n/**\n * Executes a query on a local SQL database and returns the {@link AsyncState} corresponding to the query of the command. The last value will be kept between command runs.\n *\n * @example\n * ```\n * import { useSQL } from \"@raycast/utils\";\n * import { resolve } from \"path\";\n * import { homedir } from \"os\";\n *\n * const NOTES_DB = resolve(homedir(), \"Library/Group Containers/group.com.apple.notes/NoteStore.sqlite\");\n * const notesQuery = `SELECT id, title FROM ...`;\n * type NoteItem = {\n * id: string;\n * title: string;\n * };\n *\n * export default function Command() {\n * const { isLoading, data, permissionView } = useSQL<NoteItem>(NOTES_DB, notesQuery);\n *\n * if (permissionView) {\n * return permissionView;\n * }\n *\n * return (\n * <List isLoading={isLoading}>\n * {(data || []).map((item) => (\n * <List.Item key={item.id} title={item.title} />\n * ))}\n * </List>\n * );\n * };\n * ```\n */\nfunction useSQL(databasePath, query, options) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { permissionPriming, ...usePromiseOptions } = options || {};\n const [permissionView, setPermissionView] = (0, react_1.useState)();\n const latestOptions = (0, useLatest_1.useLatest)(options || {});\n const abortable = (0, react_1.useRef)();\n const handleError = (0, react_1.useCallback)((_error) => {\n console.error(_error);\n const error = _error instanceof Error && _error.message.includes(\"authorization denied\")\n ? new PermissionError(\"You do not have permission to access the database.\")\n : _error;\n if (isPermissionError(error)) {\n setPermissionView((0, jsx_runtime_1.jsx)(PermissionErrorScreen, { priming: latestOptions.current.permissionPriming }));\n }\n else {\n if (latestOptions.current.onError) {\n latestOptions.current.onError(error);\n }\n else {\n if (api_1.environment.launchType !== api_1.LaunchType.Background) {\n (0, showFailureToast_1.showFailureToast)(error, {\n title: \"Cannot query the data\",\n });\n }\n }\n }\n }, [latestOptions]);\n const fn = (0, react_1.useMemo)(() => {\n if (!(0, node_fs_1.existsSync)(databasePath)) {\n throw new Error(\"The database does not exist\");\n }\n let workaroundCopiedDb = undefined;\n return async (databasePath, query) => {\n const abortSignal = abortable.current?.signal;\n const spawned = node_child_process_1.default.spawn(\"sqlite3\", [\"--json\", \"--readonly\", databasePath, query], {\n signal: abortSignal,\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned);\n let [{ error, exitCode, signal }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf-8\" }, spawnedPromise);\n checkAborted(abortSignal);\n if (stderrResult.match(\"(5)\") || stderrResult.match(\"(14)\")) {\n // That means that the DB is busy because of another app is locking it\n // This happens when Chrome or Arc is opened: they lock the History db.\n // As an ugly workaround, we duplicate the file and read that instead\n // (with vfs unix - none to just not care about locks)\n if (!workaroundCopiedDb) {\n const tempFolder = node_path_1.default.join(node_os_1.default.tmpdir(), \"useSQL\", (0, helpers_1.hash)(databasePath));\n await (0, promises_1.mkdir)(tempFolder, { recursive: true });\n checkAborted(abortSignal);\n workaroundCopiedDb = node_path_1.default.join(tempFolder, \"db.db\");\n await (0, promises_1.copyFile)(databasePath, workaroundCopiedDb);\n // needed for certain db\n await (0, promises_1.writeFile)(workaroundCopiedDb + \"-shm\", \"\");\n await (0, promises_1.writeFile)(workaroundCopiedDb + \"-wal\", \"\");\n checkAborted(abortSignal);\n }\n const spawned = node_child_process_1.default.spawn(\"sqlite3\", [\"--json\", \"--readonly\", \"--vfs\", \"unix-none\", workaroundCopiedDb, query], {\n signal: abortSignal,\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned);\n [{ error, exitCode, signal }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf-8\" }, spawnedPromise);\n checkAborted(abortSignal);\n }\n if (error || exitCode !== 0 || signal !== null) {\n throw new Error(stderrResult);\n }\n return JSON.parse(stdoutResult.trim() || \"[]\");\n };\n }, [databasePath]);\n return {\n ...(0, usePromise_1.usePromise)(fn, [databasePath, query], { ...usePromiseOptions, onError: handleError }),\n permissionView,\n };\n}\nexports.useSQL = useSQL;\nclass PermissionError extends Error {\n constructor(message) {\n super(message);\n this.name = \"PermissionError\";\n }\n}\nfunction isPermissionError(error) {\n return error instanceof Error && error.name === \"PermissionError\";\n}\nconst macosVenturaAndLater = parseInt(node_os_1.default.release().split(\".\")[0]) >= 22;\nconst preferencesString = macosVenturaAndLater ? \"Settings\" : \"Preferences\";\nfunction PermissionErrorScreen(props) {\n const action = macosVenturaAndLater\n ? {\n title: \"Open System Settings -> Privacy\",\n target: \"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles\",\n }\n : {\n title: \"Open System Preferences -> Security\",\n target: \"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles\",\n };\n if (api_1.environment.commandMode === \"menu-bar\") {\n return ((0, jsx_runtime_1.jsxs)(api_1.MenuBarExtra, { icon: api_1.Icon.Warning, title: api_1.environment.commandName, children: [(0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: \"Raycast needs full disk access\", tooltip: `You can revert this access in ${preferencesString} whenever you want` }), props.priming ? ((0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: props.priming, tooltip: `You can revert this access in ${preferencesString} whenever you want` })) : null, (0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Separator, {}), (0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: action.title, onAction: () => (0, api_1.open)(action.target) })] }));\n }\n return ((0, jsx_runtime_1.jsx)(api_1.List, { children: (0, jsx_runtime_1.jsx)(api_1.List.EmptyView, { icon: {\n source: {\n light: \"https://raycast.com/uploads/extensions-utils-security-permissions-light.png\",\n dark: \"https://raycast.com/uploads/extensions-utils-security-permissions-dark.png\",\n },\n }, title: \"Raycast needs full disk access.\", description: `${props.priming ? props.priming + \"\\n\" : \"\"}You can revert this access in ${preferencesString} whenever you want.`, actions: (0, jsx_runtime_1.jsx)(api_1.ActionPanel, { children: (0, jsx_runtime_1.jsx)(api_1.Action.Open, { ...action }) }) }) }));\n}\nfunction checkAborted(signal) {\n if (signal?.aborted) {\n const error = new Error(\"aborted\");\n error.name = \"AbortError\";\n throw error;\n }\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useForm = exports.FormValidation = void 0;\nconst react_1 = require(\"react\");\nconst useLatest_1 = require(\"./useLatest\");\n/**\n * Shorthands for common validation cases\n */\nvar FormValidation;\n(function (FormValidation) {\n /** Show an error when the value of the item is empty */\n FormValidation[\"Required\"] = \"required\";\n})(FormValidation || (exports.FormValidation = FormValidation = {}));\nfunction validationError(validation, value) {\n if (validation) {\n if (typeof validation === \"function\") {\n return validation(value);\n }\n else if (validation === FormValidation.Required) {\n let valueIsValid = typeof value !== \"undefined\" && value !== null;\n if (valueIsValid) {\n switch (typeof value) {\n case \"string\":\n valueIsValid = value.length > 0;\n break;\n case \"object\":\n if (Array.isArray(value)) {\n valueIsValid = value.length > 0;\n }\n else if (value instanceof Date) {\n valueIsValid = value.getTime() > 0;\n }\n break;\n default:\n break;\n }\n }\n if (!valueIsValid) {\n return \"The item is required\";\n }\n }\n }\n}\n/**\n * Hook that provides a high-level interface to work with Forms, and more particularly, with Form validations. It incorporates all the good practices to provide a great User Experience for your Forms.\n *\n * @returns an object which contains the necessary methods and props to provide a good User Experience in your Form.\n *\n * @example\n * ```\n * import { Action, ActionPanel, Form, showToast, Toast } from \"@raycast/api\";\n * import { useForm, FormValidation } from \"@raycast/utils\";\n *\n * interface SignUpFormValues {\n * nickname: string;\n * password: string;\n * }\n *\n * export default function Command() {\n * const { handleSubmit, itemProps } = useForm<SignUpFormValues>({\n * onSubmit(values) {\n * showToast(Toast.Style.Success, \"Yay!\", `${values.nickname} account created`);\n * },\n * validation: {\n * nickname: FormValidation.Required,\n * password: (value) => {\n * if (value && value.length < 8) {\n * return \"Password must be at least 8 symbols\";\n * } else if (!value) {\n * return \"The item is required\";\n * }\n * },\n * },\n * });\n *\n * return (\n * <Form\n * actions={\n * <ActionPanel>\n * <Action.SubmitForm title=\"Submit\" onSubmit={handleSubmit} />\n * </ActionPanel>\n * }\n * >\n * <Form.TextField title=\"Nickname\" placeholder=\"Enter your nickname\" {...itemProps.nickname} />\n * <Form.PasswordField\n * title=\"Password\"\n * placeholder=\"Enter password at least 8 characters long\"\n * {...itemProps.password}\n * />\n * </Form>\n * );\n * }\n * ```\n */\nfunction useForm(props) {\n const { onSubmit: _onSubmit, validation, initialValues = {} } = props;\n // @ts-expect-error it's fine if we don't specify all the values\n const [values, setValues] = (0, react_1.useState)(initialValues);\n const [errors, setErrors] = (0, react_1.useState)({});\n const refs = (0, react_1.useRef)({});\n const latestValidation = (0, useLatest_1.useLatest)(validation || {});\n const latestOnSubmit = (0, useLatest_1.useLatest)(_onSubmit);\n const focus = (0, react_1.useCallback)((id) => {\n refs.current[id]?.focus();\n }, [refs]);\n const handleSubmit = (0, react_1.useCallback)(async (values) => {\n let validationErrors = false;\n for (const [id, validation] of Object.entries(latestValidation.current)) {\n const error = validationError(validation, values[id]);\n if (error) {\n if (!validationErrors) {\n validationErrors = {};\n // we focus the first item that has an error\n focus(id);\n }\n validationErrors[id] = error;\n }\n }\n if (validationErrors) {\n setErrors(validationErrors);\n return false;\n }\n const result = await latestOnSubmit.current(values);\n return typeof result === \"boolean\" ? result : true;\n }, [latestValidation, latestOnSubmit, focus]);\n const setValidationError = (0, react_1.useCallback)((id, error) => {\n setErrors((errors) => ({ ...errors, [id]: error }));\n }, [setErrors]);\n const setValue = (0, react_1.useCallback)(function (id, value) {\n // @ts-expect-error TS is always confused about SetStateAction, but it's fine here\n setValues((values) => ({ ...values, [id]: typeof value === \"function\" ? value(values[id]) : value }));\n }, [setValues]);\n const itemProps = (0, react_1.useMemo)(() => {\n // we have to use a proxy because we don't actually have any object to iterate through\n // so instead we dynamically create the props when required\n return new Proxy(\n // @ts-expect-error the whole point of a proxy...\n {}, {\n get(target, id) {\n const validation = latestValidation.current[id];\n const value = values[id];\n return {\n onChange(value) {\n if (errors[id]) {\n const error = validationError(validation, value);\n if (!error) {\n setValidationError(id, undefined);\n }\n }\n setValue(id, value);\n },\n onBlur(event) {\n const error = validationError(validation, event.target.value);\n if (error) {\n setValidationError(id, error);\n }\n },\n error: errors[id],\n id,\n // we shouldn't return `undefined` otherwise it will be an uncontrolled component\n value: typeof value === \"undefined\" ? null : value,\n ref: (instance) => {\n refs.current[id] = instance;\n },\n };\n },\n });\n }, [errors, latestValidation, setValidationError, values, refs, setValue]);\n const reset = (0, react_1.useCallback)((values) => {\n setErrors({});\n Object.entries(refs.current).forEach(([id, ref]) => {\n if (!values?.[id]) {\n ref?.reset();\n }\n });\n if (values) {\n // @ts-expect-error it's fine if we don't specify all the values\n setValues(values);\n }\n }, [setValues, setErrors, refs]);\n return { handleSubmit, setValidationError, setValue, values, itemProps, focus, reset };\n}\nexports.useForm = useForm;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useAI = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst usePromise_1 = require(\"./usePromise\");\n/**\n * Stream a prompt completion.\n *\n * @example\n * ```typescript\n * import { Detail, LaunchProps } from \"@raycast/api\";\n * import { use AI } from \"@raycast/utils\";\n *\n * export default function Command(props: LaunchProps<{ arguments: { prompt: string } }>) {\n * const { isLoading, data } = useAI(props.arguments.prompt);\n *\n * return <Detail isLoading={isLoading} markdown={data} />;\n * }\n * ```\n */\nfunction useAI(prompt, options = {}) {\n const { creativity, stream, model, ...usePromiseOptions } = options;\n const [data, setData] = (0, react_1.useState)(\"\");\n const abortable = (0, react_1.useRef)();\n const { isLoading, error, revalidate } = (0, usePromise_1.usePromise)(async (prompt, creativity, shouldStream) => {\n setData(\"\");\n const stream = api_1.AI.ask(prompt, { creativity, model, signal: abortable.current?.signal });\n if (shouldStream === false) {\n setData(await stream);\n }\n else {\n stream.on(\"data\", (data) => {\n setData((x) => x + data);\n });\n await stream;\n }\n }, [prompt, creativity, stream], { ...usePromiseOptions, abortable });\n return { isLoading, data, error, revalidate };\n}\nexports.useAI = useAI;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFrecencySorting = void 0;\nconst react_1 = require(\"react\");\nconst useLatest_1 = require(\"./useLatest\");\nconst useCachedState_1 = require(\"./useCachedState\");\nconst HALF_LIFE_DAYS = 10;\nconst MS_PER_DAY = 24 * 60 * 60 * 1000;\nconst DECAY_RATE_CONSTANT = Math.log(2) / (HALF_LIFE_DAYS * MS_PER_DAY);\nconst VISIT_TYPE_POINTS = {\n Default: 100,\n Embed: 0,\n Bookmark: 140,\n};\nfunction getNewFrecency(item) {\n const now = Date.now();\n const lastVisited = item ? item.lastVisited : 0;\n const frecency = item ? item.frecency : 0;\n const visitAgeInDays = (now - lastVisited) / MS_PER_DAY;\n const currentVisitValue = VISIT_TYPE_POINTS.Default * Math.exp(-DECAY_RATE_CONSTANT * visitAgeInDays);\n const totalVisitValue = frecency + currentVisitValue;\n return {\n lastVisited: now,\n frecency: totalVisitValue,\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst defaultKey = (item) => {\n if (process.env.NODE_ENV !== \"production\" &&\n (typeof item !== \"object\" || !item || !(\"id\" in item) || typeof item.id != \"string\")) {\n throw new Error(\"Specify a key function or make sure your items have an 'id' property\");\n }\n return item.id;\n};\nfunction useFrecencySorting(data, options) {\n const keyRef = (0, useLatest_1.useLatest)(options?.key || defaultKey);\n const sortUnvisitedRef = (0, useLatest_1.useLatest)(options?.sortUnvisited);\n const [storedFrecencies, setStoredFrecencies] = (0, useCachedState_1.useCachedState)(`raycast_frecency_${options?.namespace}`, {});\n const visitItem = (0, react_1.useCallback)(async function updateFrecency(item) {\n const itemKey = keyRef.current(item);\n setStoredFrecencies((storedFrecencies) => {\n const frecency = storedFrecencies[itemKey];\n const newFrecency = getNewFrecency(frecency);\n return {\n ...storedFrecencies,\n [itemKey]: newFrecency,\n };\n });\n }, [keyRef, setStoredFrecencies]);\n const resetRanking = (0, react_1.useCallback)(async function removeFrecency(item) {\n const itemKey = keyRef.current(item);\n setStoredFrecencies((storedFrecencies) => {\n const newFrencencies = { ...storedFrecencies };\n delete newFrencencies[itemKey];\n return newFrencencies;\n });\n }, [keyRef, setStoredFrecencies]);\n const sortedData = (0, react_1.useMemo)(() => {\n if (!data) {\n return [];\n }\n return data.sort((a, b) => {\n const frecencyA = storedFrecencies[keyRef.current(a)];\n const frecencyB = storedFrecencies[keyRef.current(b)];\n // If a has a frecency, but b doesn't, a should come first\n if (frecencyA && !frecencyB) {\n return -1;\n }\n // If b has a frecency, but a doesn't, b should come first\n if (!frecencyA && frecencyB) {\n return 1;\n }\n // If both frecencies are defined,put the one with the higher frecency first\n if (frecencyA && frecencyB) {\n return frecencyB.frecency - frecencyA.frecency;\n }\n // If both frecencies are undefined, keep the original order\n return sortUnvisitedRef.current ? sortUnvisitedRef.current(a, b) : 0;\n });\n }, [storedFrecencies, data, keyRef, sortUnvisitedRef]);\n return { data: sortedData, visitItem, resetRanking };\n}\nexports.useFrecencySorting = useFrecencySorting;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLocalStorage = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst showFailureToast_1 = require(\"./showFailureToast\");\nconst helpers_1 = require(\"./helpers\");\nconst usePromise_1 = require(\"./usePromise\");\n/**\n * A hook to manage a value in the local storage.\n *\n * @remark The value is stored as a JSON string in the local storage.\n *\n * @param key - The key to use for the value in the local storage.\n * @param initialValue - The initial value to use if the key doesn't exist in the local storage.\n * @returns An object with the following properties:\n * - `value`: The value from the local storage or the initial value if the key doesn't exist.\n * - `setValue`: A function to update the value in the local storage.\n * - `removeValue`: A function to remove the value from the local storage.\n * - `isLoading`: A boolean indicating if the value is loading.\n *\n * @example\n * ```\n * const { value, setValue } = useLocalStorage<string>(\"my-key\");\n * const { value, setValue } = useLocalStorage<string>(\"my-key\", \"default value\");\n * ```\n */\nfunction useLocalStorage(key, initialValue) {\n const { data: value, isLoading, mutate, } = (0, usePromise_1.usePromise)(async (storageKey) => {\n const item = await api_1.LocalStorage.getItem(storageKey);\n return typeof item !== \"undefined\" ? JSON.parse(item, helpers_1.reviver) : initialValue;\n }, [key]);\n async function setValue(value) {\n try {\n await mutate(api_1.LocalStorage.setItem(key, JSON.stringify(value, helpers_1.replacer)), {\n optimisticUpdate(value) {\n return value;\n },\n });\n }\n catch (error) {\n await (0, showFailureToast_1.showFailureToast)(error, { title: \"Failed to set value in local storage\" });\n }\n }\n async function removeValue() {\n try {\n await mutate(api_1.LocalStorage.removeItem(key), {\n optimisticUpdate() {\n return undefined;\n },\n });\n }\n catch (error) {\n await (0, showFailureToast_1.showFailureToast)(error, { title: \"Failed to remove value from local storage\" });\n }\n }\n return { value, setValue, removeValue, isLoading };\n}\nexports.useLocalStorage = useLocalStorage;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.slightlyLighterColor = exports.slightlyDarkerColor = void 0;\nfunction hexToRGB(hex) {\n let r = 0;\n let g = 0;\n let b = 0;\n // 3 digits\n if (hex.length === 4) {\n r = parseInt(`${hex[1]}${hex[1]}`, 16);\n g = parseInt(`${hex[2]}${hex[2]}`, 16);\n b = parseInt(`${hex[3]}${hex[3]}`, 16);\n // 6 digits\n }\n else if (hex.length === 7) {\n r = parseInt(`${hex[1]}${hex[2]}`, 16);\n g = parseInt(`${hex[3]}${hex[4]}`, 16);\n b = parseInt(`${hex[5]}${hex[6]}`, 16);\n }\n else {\n throw new Error(`Malformed hex color: ${hex}`);\n }\n return { r, g, b };\n}\nfunction rgbToHex({ r, g, b }) {\n let rString = r.toString(16);\n let gString = g.toString(16);\n let bString = b.toString(16);\n if (rString.length === 1) {\n rString = `0${rString}`;\n }\n if (gString.length === 1) {\n gString = `0${gString}`;\n }\n if (bString.length === 1) {\n bString = `0${bString}`;\n }\n return `#${rString}${gString}${bString}`;\n}\nfunction rgbToHSL({ r, g, b }) {\n // Make r, g, and b fractions of 1\n r /= 255;\n g /= 255;\n b /= 255;\n // Find greatest and smallest channel values\n const cmin = Math.min(r, g, b);\n const cmax = Math.max(r, g, b);\n const delta = cmax - cmin;\n let h = 0;\n let s = 0;\n let l = 0;\n // Calculate hue\n // No difference\n if (delta === 0) {\n h = 0;\n }\n // Red is max\n else if (cmax === r) {\n h = ((g - b) / delta) % 6;\n }\n // Green is max\n else if (cmax === g) {\n h = (b - r) / delta + 2;\n }\n // Blue is max\n else {\n h = (r - g) / delta + 4;\n }\n h = Math.round(h * 60);\n // Make negative hues positive behind 360\u00B0\n if (h < 0) {\n h += 360;\n }\n // Calculate lightness\n l = (cmax + cmin) / 2;\n // Calculate saturation\n s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));\n // Multiply l and s by 100\n s = +(s * 100).toFixed(1);\n l = +(l * 100).toFixed(1);\n return { h, s, l };\n}\nfunction hslToRGB({ h, s, l }) {\n // Must be fractions of 1\n s /= 100;\n l /= 100;\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = l - c / 2;\n let r = 0;\n let g = 0;\n let b = 0;\n if (h >= 0 && h < 60) {\n r = c;\n g = x;\n b = 0;\n }\n else if (h >= 60 && h < 120) {\n r = x;\n g = c;\n b = 0;\n }\n else if (h >= 120 && h < 180) {\n r = 0;\n g = c;\n b = x;\n }\n else if (h >= 180 && h < 240) {\n r = 0;\n g = x;\n b = c;\n }\n else if (h >= 240 && h < 300) {\n r = x;\n g = 0;\n b = c;\n }\n else if (h >= 300 && h < 360) {\n r = c;\n g = 0;\n b = x;\n }\n r = Math.round((r + m) * 255);\n g = Math.round((g + m) * 255);\n b = Math.round((b + m) * 255);\n return { r, g, b };\n}\nfunction hexToHSL(hex) {\n return rgbToHSL(hexToRGB(hex));\n}\nfunction hslToHex(hsl) {\n return rgbToHex(hslToRGB(hsl));\n}\nfunction clamp(value, min, max) {\n return min < max ? (value < min ? min : value > max ? max : value) : value < max ? max : value > min ? min : value;\n}\nconst offset = 12;\nfunction slightlyDarkerColor(hex) {\n const hsl = hexToHSL(hex);\n return hslToHex({\n h: hsl.h,\n s: hsl.s,\n l: clamp(hsl.l - offset, 0, 100),\n });\n}\nexports.slightlyDarkerColor = slightlyDarkerColor;\nfunction slightlyLighterColor(hex) {\n const hsl = hexToHSL(hex);\n return hslToHex({\n h: hsl.h,\n s: hsl.s,\n l: clamp(hsl.l + offset, 0, 100),\n });\n}\nexports.slightlyLighterColor = slightlyLighterColor;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAvatarIcon = void 0;\nconst color_1 = require(\"./color\");\nfunction getWholeCharAndI(str, i) {\n const code = str.charCodeAt(i);\n if (Number.isNaN(code)) {\n return [\"\", i];\n }\n if (code < 0xd800 || code > 0xdfff) {\n return [str.charAt(i), i]; // Normal character, keeping 'i' the same\n }\n // High surrogate (could change last hex to 0xDB7F to treat high private\n // surrogates as single characters)\n if (0xd800 <= code && code <= 0xdbff) {\n if (str.length <= i + 1) {\n throw new Error(\"High surrogate without following low surrogate\");\n }\n const next = str.charCodeAt(i + 1);\n if (0xdc00 > next || next > 0xdfff) {\n throw new Error(\"High surrogate without following low surrogate\");\n }\n return [str.charAt(i) + str.charAt(i + 1), i + 1];\n }\n // Low surrogate (0xDC00 <= code && code <= 0xDFFF)\n if (i === 0) {\n throw new Error(\"Low surrogate without preceding high surrogate\");\n }\n const prev = str.charCodeAt(i - 1);\n // (could change last hex to 0xDB7F to treat high private surrogates\n // as single characters)\n if (0xd800 > prev || prev > 0xdbff) {\n throw new Error(\"Low surrogate without preceding high surrogate\");\n }\n // Return the next character instead (and increment)\n return [str.charAt(i + 1), i + 1];\n}\nconst avatarColorSet = [\n \"#DC829A\",\n \"#D64854\",\n \"#D47600\",\n \"#D36CDD\",\n \"#52A9E4\",\n \"#7871E8\",\n \"#70920F\",\n \"#43B93A\",\n \"#EB6B3E\",\n \"#26B795\",\n \"#D85A9B\",\n \"#A067DC\",\n \"#BD9500\",\n \"#5385D9\", // Blue\n];\n/**\n * Icon to represent an avatar when you don't have one. The generated avatar\n * will be generated from the initials of the name and have a colorful but consistent background.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getAvatarIcon('Mathieu Dutour')} title=\"Project\" />\n * ```\n */\nfunction getAvatarIcon(name, options) {\n const words = name.trim().split(\" \");\n let initials;\n if (words.length == 1 && getWholeCharAndI(words[0], 0)[0]) {\n initials = getWholeCharAndI(words[0], 0)[0];\n }\n else if (words.length > 1) {\n const firstWordFirstLetter = getWholeCharAndI(words[0], 0)[0] || \"\";\n const lastWordFirstLetter = getWholeCharAndI(words[words.length - 1], 0)[0] ?? \"\";\n initials = firstWordFirstLetter + lastWordFirstLetter;\n }\n else {\n initials = \"\";\n }\n let backgroundColor;\n if (options?.background) {\n backgroundColor = options?.background;\n }\n else {\n let initialsCharIndex = 0;\n let [char, i] = getWholeCharAndI(initials, 0);\n while (char) {\n initialsCharIndex += char.charCodeAt(0);\n [char, i] = getWholeCharAndI(initials, i + 1);\n }\n const colorIndex = initialsCharIndex % avatarColorSet.length;\n backgroundColor = avatarColorSet[colorIndex];\n }\n const padding = 0;\n const radius = 50 - padding;\n const svg = `<svg width=\"100px\" height=\"100px\">\n ${options?.gradient !== false\n ? `<defs>\n <linearGradient id=\"Gradient\" x1=\"0.25\" x2=\"0.75\" y1=\"0\" y2=\"1\">\n <stop offset=\"0%\" stop-color=\"${(0, color_1.slightlyLighterColor)(backgroundColor)}\"/>\n <stop offset=\"50%\" stop-color=\"${backgroundColor}\"/>\n <stop offset=\"100%\" stop-color=\"${(0, color_1.slightlyDarkerColor)(backgroundColor)}\"/>\n </linearGradient>\n </defs>`\n : \"\"}\n <circle cx=\"50\" cy=\"50\" r=\"${radius}\" fill=\"${options?.gradient !== false ? \"url(#Gradient)\" : backgroundColor}\" />\n ${initials\n ? `<text x=\"50\" y=\"80\" font-size=\"${radius - 1}\" font-family=\"Inter, sans-serif\" text-anchor=\"middle\" fill=\"white\">${initials.toUpperCase()}</text>`\n : \"\"}\n </svg>\n `.replaceAll(\"\\n\", \"\");\n return `data:image/svg+xml,${svg}`;\n}\nexports.getAvatarIcon = getAvatarIcon;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFavicon = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst url_1 = require(\"url\");\n/**\n * Icon showing the favicon of a website.\n *\n * A favicon (favorite icon) is a tiny icon included along with a website, which is displayed in places like the browser's address bar, page tabs, and bookmarks menu.\n *\n * @param url The URL of the website to represent.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getFavicon(\"https://raycast.com\")} title=\"Raycast Website\" />\n * ```\n */\nfunction getFavicon(url, options) {\n try {\n const urlObj = typeof url === \"string\" ? new url_1.URL(url) : url;\n const hostname = urlObj.hostname;\n return {\n source: `https://www.google.com/s2/favicons?sz=${options?.size ?? 64}&domain=${hostname}`,\n fallback: options?.fallback ?? api_1.Icon.Link,\n mask: options?.mask,\n };\n }\n catch (e) {\n console.error(e);\n return api_1.Icon.Link;\n }\n}\nexports.getFavicon = getFavicon;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getProgressIcon = void 0;\nconst api_1 = require(\"@raycast/api\");\nfunction polarToCartesian(centerX, centerY, radius, angleInDegrees) {\n const angleInRadians = ((angleInDegrees - 90) * Math.PI) / 180.0;\n return {\n x: centerX + radius * Math.cos(angleInRadians),\n y: centerY + radius * Math.sin(angleInRadians),\n };\n}\nfunction describeArc(x, y, radius, startAngle, endAngle) {\n const start = polarToCartesian(x, y, radius, endAngle);\n const end = polarToCartesian(x, y, radius, startAngle);\n const largeArcFlag = endAngle - startAngle <= 180 ? \"0\" : \"1\";\n const d = [\"M\", start.x, start.y, \"A\", radius, radius, 0, largeArcFlag, 0, end.x, end.y].join(\" \");\n return d;\n}\n/**\n * Icon to represent the progress of _something_.\n *\n * @param progress Number between 0 and 1.\n * @param color Hex color (default `\"#FF6363\"`) or Color.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getProgressIcon(0.1)} title=\"Project\" />\n * ```\n */\nfunction getProgressIcon(progress, color = api_1.Color.Red, options) {\n const background = options?.background || (api_1.environment.appearance === \"light\" ? \"black\" : \"white\");\n const backgroundOpacity = options?.backgroundOpacity || 0.1;\n const stroke = 10;\n const padding = 5;\n const radius = 50 - padding - stroke / 2;\n const svg = `<svg width=\"100px\" height=\"100px\">\n <circle cx=\"50\" cy=\"50\" r=\"${radius}\" stroke-width=\"${stroke}\" stroke=\"${progress < 1 ? background : color}\" opacity=\"${progress < 1 ? backgroundOpacity : \"1\"}\" fill=\"none\" />\n ${progress > 0 && progress < 1\n ? `<path d=\"${describeArc(50, 50, radius, 0, progress * 360)}\" stroke=\"${color}\" stroke-width=\"${stroke}\" fill=\"none\" />`\n : \"\"}\n </svg>\n `.replaceAll(\"\\n\", \"\");\n return `data:image/svg+xml,${svg}`;\n}\nexports.getProgressIcon = getProgressIcon;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./avatar\"), exports);\n__exportStar(require(\"./favicon\"), exports);\n__exportStar(require(\"./progress\"), exports);\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.zoomService = exports.slackService = exports.linearService = exports.jiraService = exports.googleService = exports.githubService = exports.asanaService = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst OAuthService_1 = require(\"./OAuthService\");\nconst PROVIDER_CLIENT_IDS = {\n asana: \"1191201745684312\",\n github: \"7235fe8d42157f1f38c0\",\n linear: \"c8ff37b9225c3c9aefd7d66ea0e5b6f1\",\n slack: \"851756884692.5546927290212\",\n};\nconst getIcon = (markup) => `data:image/svg+xml,${markup}`;\nconst PROVIDERS_ICONS = {\n asana: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"251\" height=\"232\" fill=\"none\"><path fill=\"#F06A6A\" d=\"M179.383 54.373c0 30.017-24.337 54.374-54.354 54.374-30.035 0-54.373-24.338-54.373-54.374C70.656 24.338 94.993 0 125.029 0c30.017 0 54.354 24.338 54.354 54.373ZM54.393 122.33C24.376 122.33.02 146.668.02 176.685c0 30.017 24.337 54.373 54.373 54.373 30.035 0 54.373-24.338 54.373-54.373 0-30.017-24.338-54.355-54.373-54.355Zm141.253 0c-30.035 0-54.373 24.338-54.373 54.374 0 30.035 24.338 54.373 54.373 54.373 30.017 0 54.374-24.338 54.374-54.373 0-30.036-24.338-54.374-54.374-54.374Z\"/></svg>`),\n github: {\n source: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64\" height=\"64\" viewBox=\"0 0 16 16\"><path fill-rule=\"evenodd\" d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z\"/></svg>`),\n tintColor: api_1.Color.PrimaryText,\n },\n google: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"display:block\" viewBox=\"0 0 48 48\"><path fill=\"#EA4335\" d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"/><path fill=\"#4285F4\" d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"/><path fill=\"#FBBC05\" d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"/><path fill=\"#34A853\" d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"/><path fill=\"none\" d=\"M0 0h48v48H0z\"/></svg>`),\n jira: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"2361\" height=\"2500\" viewBox=\"2.59 0 214.091 224\"><linearGradient id=\"a\" x1=\"102.4\" x2=\"56.15\" y1=\"218.63\" y2=\"172.39\" gradientTransform=\"matrix(1 0 0 -1 0 264)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".18\" stop-color=\"#0052cc\"/><stop offset=\"1\" stop-color=\"#2684ff\"/></linearGradient><linearGradient xlink:href=\"#a\" id=\"b\" x1=\"114.65\" x2=\"160.81\" y1=\"85.77\" y2=\"131.92\"/><path fill=\"#2684ff\" d=\"M214.06 105.73 117.67 9.34 108.33 0 35.77 72.56 2.59 105.73a8.89 8.89 0 0 0 0 12.54l66.29 66.29L108.33 224l72.55-72.56 1.13-1.12 32.05-32a8.87 8.87 0 0 0 0-12.59zm-105.73 39.39L75.21 112l33.12-33.12L141.44 112z\"/><path fill=\"url(#a)\" d=\"M108.33 78.88a55.75 55.75 0 0 1-.24-78.61L35.62 72.71l39.44 39.44z\"/><path fill=\"url(#b)\" d=\"m141.53 111.91-33.2 33.21a55.77 55.77 0 0 1 0 78.86L181 151.35z\"/></svg>`),\n linear: {\n source: {\n light: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#222326\" width=\"200\" height=\"200\" viewBox=\"0 0 100 100\"><path d=\"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z\"/></svg>`),\n dark: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#fff\" width=\"200\" height=\"200\" viewBox=\"0 0 100 100\"><path d=\"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z\" /></svg>`),\n },\n },\n slack: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"73 73 124 124\"><style>.st0{fill:#e01e5a}.st1{fill:#36c5f0}.st2{fill:#2eb67d}.st3{fill:#ecb22e}</style><path d=\"M99.4 151.2c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h12.9v12.9zM105.9 151.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9v-32.3z\" class=\"st0\"/><path d=\"M118.8 99.4c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v12.9h-12.9zM118.8 105.9c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H86.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3z\" class=\"st1\"/><path d=\"M170.6 118.8c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9h-12.9v-12.9zM164.1 118.8c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9V86.5c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9v32.3z\" class=\"st2\"/><path d=\"M151.2 170.6c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9v-12.9h12.9zM151.2 164.1c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9h-32.3z\" class=\"st3\"/></svg>`),\n zoom: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 351.845 80\"><path d=\"M73.786 78.835H10.88A10.842 10.842 0 0 1 .833 72.122a10.841 10.841 0 0 1 2.357-11.85L46.764 16.7h-31.23C6.954 16.699 0 9.744 0 1.165h58.014c4.414 0 8.357 2.634 10.046 6.712a10.843 10.843 0 0 1-2.356 11.85L22.13 63.302h36.122c8.58 0 15.534 6.955 15.534 15.534Zm278.059-48.544C351.845 13.588 338.256 0 321.553 0c-8.934 0-16.975 3.89-22.524 10.063C293.48 3.89 285.44 0 276.505 0c-16.703 0-30.291 13.588-30.291 30.291v48.544c8.579 0 15.534-6.955 15.534-15.534v-33.01c0-8.137 6.62-14.757 14.757-14.757s14.757 6.62 14.757 14.757v33.01c0 8.58 6.955 15.534 15.534 15.534V30.291c0-8.137 6.62-14.757 14.757-14.757s14.758 6.62 14.758 14.757v33.01c0 8.58 6.954 15.534 15.534 15.534V30.291ZM238.447 40c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.908-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S173.98 26.488 173.98 40s10.953 24.466 24.466 24.466S222.913 53.512 222.913 40Zm-70.68 0c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S87.767 26.488 87.767 40s10.954 24.466 24.466 24.466S136.699 53.512 136.699 40Z\" style=\"fill:#0b5cff\"/></svg>`),\n};\nconst asanaService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Asana\",\n providerIcon: PROVIDERS_ICONS.asana,\n providerId: \"asana\",\n description: \"Connect your Asana account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.asana,\n authorizeUrl: options.authorizeUrl ?? \"https://asana.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://asana.oauth.raycast.com/token\",\n refreshTokenUrl: options.refreshTokenUrl ?? \"https://asana.oauth.raycast.com/refresh-token\",\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.asanaService = asanaService;\nconst githubService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"GitHub\",\n providerIcon: PROVIDERS_ICONS.github,\n providerId: \"github\",\n description: \"Connect your GitHub account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.github,\n authorizeUrl: options.authorizeUrl ?? \"https://github.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://github.oauth.raycast.com/token\",\n refreshTokenUrl: options.refreshTokenUrl ?? \"https://github.oauth.raycast.com/refresh-token\",\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.githubService = githubService;\nconst googleService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.AppURI,\n providerName: \"Google\",\n providerIcon: PROVIDERS_ICONS.google,\n providerId: \"google\",\n description: \"Connect your Google account\",\n }),\n clientId: options.clientId,\n authorizeUrl: options.authorizeUrl ?? \"https://accounts.google.com/o/oauth2/v2/auth\",\n tokenUrl: options.tokenUrl ?? \"https://oauth2.googleapis.com/token\",\n refreshTokenUrl: options.tokenUrl,\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n bodyEncoding: options.bodyEncoding ?? \"url-encoded\",\n onAuthorize: options.onAuthorize,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.googleService = googleService;\nconst jiraService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Jira\",\n providerIcon: PROVIDERS_ICONS.jira,\n providerId: \"jira\",\n description: \"Connect your Jira account\",\n }),\n clientId: options.clientId,\n authorizeUrl: options.authorizeUrl ?? \"https://auth.atlassian.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://auth.atlassian.com/oauth/token\",\n refreshTokenUrl: options.refreshTokenUrl,\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.jiraService = jiraService;\nconst linearService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Linear\",\n providerIcon: PROVIDERS_ICONS.linear,\n providerId: \"linear\",\n description: \"Connect your Linear account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.linear,\n authorizeUrl: options.authorizeUrl ?? \"https://linear.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://linear.oauth.raycast.com/token\",\n refreshTokenUrl: options.refreshTokenUrl ?? \"https://linear.oauth.raycast.com/refresh-token\",\n scope: options.scope,\n extraParameters: {\n actor: \"user\",\n },\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.linearService = linearService;\nconst slackService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Slack\",\n providerIcon: PROVIDERS_ICONS.slack,\n providerId: \"slack\",\n description: \"Connect your Slack account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.slack,\n authorizeUrl: options.authorizeUrl ?? \"https://slack.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://slack.oauth.raycast.com/token\",\n refreshTokenUrl: options.tokenUrl ?? \"https://slack.oauth.raycast.com/refresh-token\",\n scope: \"\",\n extraParameters: {\n user_scope: options.scope,\n },\n personalAccessToken: options.personalAccessToken,\n bodyEncoding: options.tokenUrl ? options.bodyEncoding ?? \"url-encoded\" : \"json\",\n onAuthorize: options.onAuthorize,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n tokenResponseParser: options.tokenResponseParser ??\n ((response) => {\n return {\n access_token: response.authed_user.access_token,\n scope: response.authed_user.scope,\n };\n }),\n});\nexports.slackService = slackService;\nconst zoomService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Zoom\",\n providerIcon: PROVIDERS_ICONS.zoom,\n providerId: \"zoom\",\n description: \"Connect your Zoom account\",\n }),\n clientId: options.clientId,\n authorizeUrl: options.authorizeUrl ?? \"https://zoom.us/oauth/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://zoom.us/oauth/token\",\n refreshTokenUrl: options.refreshTokenUrl,\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n bodyEncoding: options.bodyEncoding ?? \"url-encoded\",\n onAuthorize: options.onAuthorize,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.zoomService = zoomService;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OAuthService = void 0;\nconst cross_fetch_1 = __importDefault(require(\"cross-fetch\"));\nconst providers_1 = require(\"./providers\");\n/**\n * Class allowing to create an OAuth service using the the PKCE (Proof Key for Code Exchange) flow.\n *\n * This service is capable of starting the authorization process, fetching and refreshing tokens,\n * as well as managing the authentication state.\n *\n * @example\n * ```typescript\n * const oauthClient = new OAuth.PKCEClient({ ... });\n * const oauthService = new OAuthService({\n * client: oauthClient,\n * clientId: 'your-client-id',\n * scope: 'required scopes',\n * authorizeUrl: 'https://provider.com/oauth/authorize',\n * tokenUrl: 'https://provider.com/oauth/token',\n * refreshTokenUrl: 'https://provider.com/oauth/token',\n * extraParameters: { 'additional_param': 'value' }\n * });\n * ```\n */\nclass OAuthService {\n constructor(options) {\n this.clientId = options.clientId;\n this.scope = Array.isArray(options.scope) ? options.scope.join(\" \") : options.scope;\n this.personalAccessToken = options.personalAccessToken;\n this.bodyEncoding = options.bodyEncoding;\n this.client = options.client;\n this.extraParameters = options.extraParameters;\n this.authorizeUrl = options.authorizeUrl;\n this.tokenUrl = options.tokenUrl;\n this.refreshTokenUrl = options.refreshTokenUrl;\n this.onAuthorize = options.onAuthorize;\n this.tokenResponseParser = options.tokenResponseParser ?? ((x) => x);\n this.tokenRefreshResponseParser = options.tokenRefreshResponseParser ?? ((x) => x);\n this.authorize = this.authorize.bind(this);\n }\n /**\n * Initiates the OAuth authorization process or refreshes existing tokens if necessary.\n * If the current token set has a refresh token and it is expired, then the function will refresh the tokens.\n * If no tokens exist, it will initiate the OAuth authorization process and fetch the tokens.\n *\n * @returns {Promise<string>} A promise that resolves with the access token obtained from the authorization flow, or null if the token could not be obtained.\n */\n async authorize() {\n const currentTokenSet = await this.client.getTokens();\n if (currentTokenSet?.accessToken) {\n if (currentTokenSet.refreshToken && currentTokenSet.isExpired()) {\n const tokens = await this.refreshTokens({\n token: currentTokenSet.refreshToken,\n });\n // In the case where the refresh token flows fails, nothing is returned and the authorize function is called again.\n if (tokens) {\n await this.client.setTokens(tokens);\n return tokens.access_token;\n }\n }\n return currentTokenSet.accessToken;\n }\n const authRequest = await this.client.authorizationRequest({\n endpoint: this.authorizeUrl,\n clientId: this.clientId,\n scope: this.scope,\n extraParameters: this.extraParameters,\n });\n const { authorizationCode } = await this.client.authorize(authRequest);\n const tokens = await this.fetchTokens({\n authRequest,\n authorizationCode,\n });\n await this.client.setTokens(tokens);\n return tokens.access_token;\n }\n async fetchTokens({ authRequest, authorizationCode, }) {\n let options;\n if (this.bodyEncoding === \"url-encoded\") {\n const params = new URLSearchParams();\n params.append(\"client_id\", this.clientId);\n params.append(\"code\", authorizationCode);\n params.append(\"code_verifier\", authRequest.codeVerifier);\n params.append(\"grant_type\", \"authorization_code\");\n params.append(\"redirect_uri\", authRequest.redirectURI);\n options = { body: params };\n }\n else {\n options = {\n body: JSON.stringify({\n client_id: this.clientId,\n code: authorizationCode,\n code_verifier: authRequest.codeVerifier,\n grant_type: \"authorization_code\",\n redirect_uri: authRequest.redirectURI,\n }),\n headers: { \"Content-Type\": \"application/json\" },\n };\n }\n const response = await (0, cross_fetch_1.default)(this.tokenUrl, { method: \"POST\", ...options });\n if (!response.ok) {\n const responseText = await response.text();\n console.error(\"fetch tokens error:\", responseText);\n throw new Error(`Error while fetching tokens: ${response.status} (${response.statusText})\\n${responseText}`);\n }\n const tokens = this.tokenResponseParser(await response.json());\n // Some clients such as Linear can return a scope array instead of a string\n return Array.isArray(tokens.scope) ? { ...tokens, scope: tokens.scope.join(\" \") } : tokens;\n }\n async refreshTokens({ token }) {\n let options;\n if (this.bodyEncoding === \"url-encoded\") {\n const params = new URLSearchParams();\n params.append(\"client_id\", this.clientId);\n params.append(\"refresh_token\", token);\n params.append(\"grant_type\", \"refresh_token\");\n options = { body: params };\n }\n else {\n options = {\n body: JSON.stringify({\n client_id: this.clientId,\n refresh_token: token,\n grant_type: \"refresh_token\",\n }),\n headers: { \"Content-Type\": \"application/json\" },\n };\n }\n const response = await (0, cross_fetch_1.default)(this.refreshTokenUrl ?? this.tokenUrl, { method: \"POST\", ...options });\n if (!response.ok) {\n const responseText = await response.text();\n console.error(\"refresh tokens error:\", responseText);\n // If the refresh token is invalid, stop the flow here, log out the user and prompt them to re-authorize.\n this.client.description = `${this.client.providerName} needs you to sign-in again. Press \u23CE or click the button below to continue.`;\n await this.client.removeTokens();\n await this.authorize();\n }\n else {\n const tokenResponse = this.tokenRefreshResponseParser(await response.json());\n tokenResponse.refresh_token = tokenResponse.refresh_token ?? token;\n return tokenResponse;\n }\n }\n}\nexports.OAuthService = OAuthService;\n/**\n * Asana OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const asana = OAuthService.asana({ scope: 'default' })\n * ```\n */\nOAuthService.asana = providers_1.asanaService;\n/**\n * GitHub OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const github = OAuthService.github({ scope: 'repo user' })\n * ```\n */\nOAuthService.github = providers_1.githubService;\n/**\n * Google OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const google = OAuthService.google({\n * clientId: 'custom-client-id',\n * authorizeUrl: 'https://accounts.google.com/o/oauth2/v2/auth',\n * tokenUrl: 'https://oauth2.googleapis.com/token',\n * scope: 'https://www.googleapis.com/auth/drive.readonly',\n * });\n * ```\n */\nOAuthService.google = providers_1.googleService;\n/**\n * Jira OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const jira = OAuthService.jira({\n * clientId: 'custom-client-id',\n * authorizeUrl: 'https://auth.atlassian.com/authorize',\n * tokenUrl: 'https://api.atlassian.com/oauth/token',\n * scope: 'read:jira-user read:jira-work offline_access'\n * });\n * ```\n */\nOAuthService.jira = providers_1.jiraService;\n/**\n * Linear OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const linear = OAuthService.linear({ scope: 'read write' })\n * ```\n */\nOAuthService.linear = providers_1.linearService;\n/**\n * Slack OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const slack = OAuthService.slack({ scope: 'emoji:read' })\n * ```\n */\nOAuthService.slack = providers_1.slackService;\n/**\n * Zoom OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const zoom = OAuthService.zoom({\n * clientId: 'custom-client-id',\n * authorizeUrl: 'https://zoom.us/oauth/authorize',\n * tokenUrl: 'https://zoom.us/oauth/token',\n * scope: 'meeting:write',\n * personalAccessToken: 'personal-access-token',\n * });\n * ```\n */\nOAuthService.zoom = providers_1.zoomService;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAccessToken = exports.withAccessToken = void 0;\nconst jsx_runtime_1 = require(\"react/jsx-runtime\");\nconst api_1 = require(\"@raycast/api\");\nlet token = null;\nlet type = null;\nlet authorize = null;\nlet getIdToken = null;\nlet onAuthorize = null;\nfunction withAccessToken(options) {\n if (api_1.environment.commandMode === \"no-view\") {\n return (fn) => {\n const noViewFn = async (props) => {\n if (!token) {\n token = options.personalAccessToken ?? (await options.authorize());\n type = options.personalAccessToken ? \"personal\" : \"oauth\";\n const idToken = (await options.client?.getTokens())?.idToken;\n if (options.onAuthorize) {\n await Promise.resolve(options.onAuthorize({ token, type, idToken }));\n }\n }\n return fn(props);\n };\n return noViewFn;\n };\n }\n return (Component) => {\n const WrappedComponent = (props) => {\n if (options.personalAccessToken) {\n token = options.personalAccessToken;\n type = \"personal\";\n }\n else {\n if (!authorize) {\n authorize = wrapPromise(options.authorize());\n }\n token = authorize.read();\n type = \"oauth\";\n }\n let idToken;\n if (options.client) {\n if (!getIdToken) {\n getIdToken = wrapPromise(options.client.getTokens());\n }\n idToken = getIdToken.read()?.idToken;\n }\n if (!onAuthorize && options.onAuthorize) {\n onAuthorize = wrapPromise(Promise.resolve(options.onAuthorize({ token, type, idToken })));\n }\n onAuthorize?.read();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore too complicated for TS\n return (0, jsx_runtime_1.jsx)(Component, { ...props });\n };\n WrappedComponent.displayName = `withAccessToken(${Component.displayName || Component.name})`;\n return WrappedComponent;\n };\n}\nexports.withAccessToken = withAccessToken;\n/**\n * Returns the access token and its type. Note that this function must be called in a component wrapped with `withAccessToken`.\n *\n * @throws {Error} If called outside of a component wrapped with `withAccessToken`\n * @returns {{ token: string, type: \"oauth\" | \"personal\" }} An object containing the `token`\n * and its `type`, where type can be either 'oauth' for OAuth tokens or 'personal' for a\n * personal access token.\n */\nfunction getAccessToken() {\n if (!token || !type) {\n throw new Error(\"getAccessToken must be used when authenticated (eg. used inside `withAccessToken`)\");\n }\n return { token, type };\n}\nexports.getAccessToken = getAccessToken;\nfunction wrapPromise(promise) {\n let status = \"pending\";\n let response;\n const suspender = promise.then((res) => {\n status = \"success\";\n response = res;\n }, (err) => {\n status = \"error\";\n response = err;\n });\n const read = () => {\n switch (status) {\n case \"pending\":\n throw suspender;\n case \"error\":\n throw response;\n default:\n return response;\n }\n };\n return { read };\n}\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./OAuthService\"), exports);\n__exportStar(require(\"./withAccessToken\"), exports);\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runAppleScript = void 0;\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst exec_utils_1 = require(\"./exec-utils\");\nasync function runAppleScript(script, optionsOrArgs, options) {\n const { humanReadableOutput, language, timeout, ...execOptions } = Array.isArray(optionsOrArgs)\n ? options || {}\n : optionsOrArgs || {};\n const outputArguments = humanReadableOutput !== false ? [] : [\"-ss\"];\n if (language === \"JavaScript\") {\n outputArguments.push(\"-l\", \"JavaScript\");\n }\n if (Array.isArray(optionsOrArgs)) {\n outputArguments.push(\"-\", ...optionsOrArgs);\n }\n const spawned = node_child_process_1.default.spawn(\"osascript\", outputArguments, {\n ...execOptions,\n env: { PATH: \"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\" },\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned, { timeout: timeout || 10000 });\n spawned.stdin.end(script);\n const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf8\" }, spawnedPromise);\n const stdout = (0, exec_utils_1.handleOutput)({ stripFinalNewline: true }, stdoutResult);\n const stderr = (0, exec_utils_1.handleOutput)({ stripFinalNewline: true }, stderrResult);\n return (0, exec_utils_1.defaultParsing)({\n stdout,\n stderr,\n error,\n exitCode,\n signal,\n timedOut,\n command: \"osascript\",\n options,\n parentError: new Error(),\n });\n}\nexports.runAppleScript = runAppleScript;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDeeplink = exports.createExtensionDeeplink = exports.createScriptCommandDeeplink = exports.DeeplinkType = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst node_fs_1 = __importDefault(require(\"node:fs\"));\nconst node_path_1 = __importDefault(require(\"node:path\"));\nvar DeeplinkType;\n(function (DeeplinkType) {\n /** A script command */\n DeeplinkType[\"ScriptCommand\"] = \"script-command\";\n /** An extension command */\n DeeplinkType[\"Extension\"] = \"extension\";\n})(DeeplinkType || (exports.DeeplinkType = DeeplinkType = {}));\nfunction getProtocol() {\n return api_1.environment.raycastVersion.includes(\"alpha\") ? \"raycastinternal://\" : \"raycast://\";\n}\nfunction getOwnerOrAuthorName() {\n const packageJSON = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(api_1.environment.assetsPath, \"..\", \"package.json\"), \"utf8\"));\n return packageJSON.owner || packageJSON.author;\n}\nfunction createScriptCommandDeeplink(options) {\n let url = `${getProtocol()}script-commands/${options.command}`;\n if (options.arguments) {\n let params = \"\";\n for (const arg of options.arguments) {\n params += \"&arguments=\" + encodeURIComponent(arg);\n }\n url += \"?\" + params.substring(1);\n }\n return url;\n}\nexports.createScriptCommandDeeplink = createScriptCommandDeeplink;\nfunction createExtensionDeeplink(options) {\n let ownerOrAuthorName = getOwnerOrAuthorName();\n let extensionName = api_1.environment.extensionName;\n if (\"ownerOrAuthorName\" in options && \"extensionName\" in options) {\n ownerOrAuthorName = options.ownerOrAuthorName;\n extensionName = options.extensionName;\n }\n let url = `${getProtocol()}extensions/${ownerOrAuthorName}/${extensionName}/${options.command}`;\n let params = \"\";\n if (options.launchType) {\n params += \"&launchType=\" + encodeURIComponent(options.launchType);\n }\n if (options.arguments) {\n params += \"&arguments=\" + encodeURIComponent(JSON.stringify(options.arguments));\n }\n if (options.context) {\n params += \"&context=\" + encodeURIComponent(JSON.stringify(options.context));\n }\n if (options.fallbackText) {\n params += \"&fallbackText=\" + encodeURIComponent(options.fallbackText);\n }\n if (params) {\n url += \"?\" + params.substring(1);\n }\n return url;\n}\nexports.createExtensionDeeplink = createExtensionDeeplink;\n/**\n * Creates a deeplink to a script command or extension.\n */\nfunction createDeeplink(options) {\n if (options.type === DeeplinkType.ScriptCommand) {\n return createScriptCommandDeeplink(options);\n }\n else {\n return createExtensionDeeplink(options);\n }\n}\nexports.createDeeplink = createDeeplink;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./usePromise\"), exports);\n__exportStar(require(\"./useCachedState\"), exports);\n__exportStar(require(\"./useCachedPromise\"), exports);\n__exportStar(require(\"./useFetch\"), exports);\n__exportStar(require(\"./useExec\"), exports);\n__exportStar(require(\"./useStreamJSON\"), exports);\n__exportStar(require(\"./useSQL\"), exports);\n__exportStar(require(\"./useForm\"), exports);\n__exportStar(require(\"./useAI\"), exports);\n__exportStar(require(\"./useFrecencySorting\"), exports);\n__exportStar(require(\"./useLocalStorage\"), exports);\n__exportStar(require(\"./icon\"), exports);\n__exportStar(require(\"./oauth\"), exports);\n__exportStar(require(\"./run-applescript\"), exports);\n__exportStar(require(\"./showFailureToast\"), exports);\n__exportStar(require(\"./createDeeplink\"), exports);\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 this.size = 0;\n}\n\nmodule.exports = listCacheClear;\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\nmodule.exports = eq;\n", "var eq = require('./eq');\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\nmodule.exports = assocIndexOf;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\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 --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n", "var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheGet;\n", "var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheHas;\n", "var assocIndexOf = require('./_assocIndexOf');\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 ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n", "var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = ListCache;\n", "var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n", "/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\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 stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n", "/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n", "/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\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 stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n", "/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\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 root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\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 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", "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", "/**\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", "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", "var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n", "var coreJsData = require('./_coreJsData');\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/**\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\nmodule.exports = isMasked;\n", "/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\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\nmodule.exports = toSource;\n", "var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\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 for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\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/** 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/**\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) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\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\nmodule.exports = getValue;\n", "var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\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\nmodule.exports = getNative;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n", "var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n", "var nativeCreate = require('./_nativeCreate');\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 this.size = 0;\n}\n\nmodule.exports = hashClear;\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 var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 * 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\nmodule.exports = hashGet;\n", "var nativeCreate = require('./_nativeCreate');\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 * 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\nmodule.exports = hashHas;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n", "var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = Hash;\n", "var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\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.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\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\nmodule.exports = isKeyable;\n", "var isKeyable = require('./_isKeyable');\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\nmodule.exports = getMapData;\n", "var getMapData = require('./_getMapData');\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 var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n", "var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheGet;\n", "var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheHas;\n", "var getMapData = require('./_getMapData');\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 var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n", "var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = MapCache;\n", "var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n", "var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n", "/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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\nmodule.exports = setCacheAdd;\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\nmodule.exports = setCacheHas;\n", "var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\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 == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n", "/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\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\nmodule.exports = cacheHas;\n", "var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n", "var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n", "/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n", "/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n", "var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\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\nmodule.exports = arrayPush;\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 arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\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\nmodule.exports = baseGetAllKeys;\n", "/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\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 = stubArray;\n", "var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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 nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols 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 ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\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 * 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 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 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 * 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", "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", "/** 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 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", "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", "/**\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", "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", "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 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", "/** 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", "/**\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 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 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", "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 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", "var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and 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 getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n", "var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\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 * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n", "var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n", "var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\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 * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n", "var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n", "var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n", "var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n", "var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n", "/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n", "var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n", "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\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\nmodule.exports = isSymbol;\n", "var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n", "var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n", "var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n", "var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\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 == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n", "var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n", "var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n", "var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n", "var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\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\nmodule.exports = toKey;\n", "var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n", "var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n", "/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n", "var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n", "var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n", "var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n", "/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n", "/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n", "var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n", "var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n", "var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\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\nmodule.exports = baseFindIndex;\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\nmodule.exports = baseIsNaN;\n", "/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\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 strictIndexOf(array, value, fromIndex) {\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\nmodule.exports = strictIndexOf;\n", "var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\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 return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n", "var baseIndexOf = require('./_baseIndexOf');\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 == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\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 == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\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", "var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n", "var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\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 seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n", "var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n", "import {\n Action,\n ActionPanel,\n Alert,\n confirmAlert,\n getFrontmostApplication,\n getPreferenceValues,\n Grid,\n Icon,\n Keyboard,\n launchCommand,\n LaunchType,\n showToast,\n} from \"@raycast/api\";\nimport { showFailureToast, usePromise } from \"@raycast/utils\";\nimport CopyAsSubmenu from \"./components/CopyAsSubmenu\";\nimport { EditTitle } from \"./components/EditTitle\";\nimport { useHistory } from \"./history\";\nimport { HistoryItem } from \"./types\";\nimport { getFormattedColor, getPreviewColor } from \"./utils\";\n\nconst preferences: Preferences.OrganizeColors = getPreferenceValues();\n\nexport default function Command() {\n const { history } = useHistory();\n\n return (\n <Grid>\n <Grid.EmptyView\n icon={Icon.EyeDropper}\n title=\"No colors picked yet \u00AF\\_(\u30C4)_/\u00AF\"\n description=\"Use the Pick Color command to pick some\"\n actions={\n <ActionPanel>\n <Action\n icon={Icon.EyeDropper}\n title=\"Pick Color\"\n onAction={async () => {\n try {\n await launchCommand({\n name: \"pick-color\",\n type: LaunchType.Background,\n context: { source: \"organize-colors\" },\n });\n } catch (e) {\n await showFailureToast(e);\n return e;\n }\n }}\n />\n </ActionPanel>\n }\n />\n {history?.map((historyItem) => {\n const formattedColor = getFormattedColor(historyItem.color);\n const previewColor = getPreviewColor(historyItem.color);\n const color = { light: previewColor, dark: previewColor, adjustContrast: false };\n\n return (\n <Grid.Item\n key={formattedColor}\n content={historyItem.title ? { value: { color }, tooltip: historyItem.title } : { color }}\n title={`${formattedColor} ${historyItem.title ?? \"\"}`}\n subtitle={new Date(historyItem.date).toLocaleString(undefined, {\n dateStyle: \"medium\",\n timeStyle: \"short\",\n })}\n actions={<Actions historyItem={historyItem} />}\n />\n );\n })}\n </Grid>\n );\n}\n\nfunction Actions({ historyItem }: { historyItem: HistoryItem }) {\n const { remove, clear, edit } = useHistory();\n const { data: frontmostApp } = usePromise(getFrontmostApplication, []);\n\n const color = historyItem.color;\n const formattedColor = getFormattedColor(color);\n return (\n <ActionPanel>\n <ActionPanel.Section>\n {preferences.primaryAction === \"copy\" ? (\n <>\n <Action.CopyToClipboard content={formattedColor} />\n <Action.Paste\n title={`Paste to ${frontmostApp?.name || \"Active App\"}`}\n content={formattedColor}\n icon={frontmostApp ? { fileIcon: frontmostApp.path } : Icon.Clipboard}\n />\n </>\n ) : (\n <>\n <Action.Paste\n title={`Paste to ${frontmostApp?.name || \"Active App\"}`}\n content={formattedColor}\n icon={frontmostApp ? { fileIcon: frontmostApp.path } : Icon.Clipboard}\n />\n <Action.CopyToClipboard content={formattedColor} />\n </>\n )}\n <CopyAsSubmenu color={color} />\n <Action.Push\n target={<EditTitle item={historyItem} onEdit={edit} />}\n title=\"Edit Title\"\n icon={Icon.Pencil}\n shortcut={Keyboard.Shortcut.Common.Edit}\n />\n </ActionPanel.Section>\n <ActionPanel.Section>\n <Action\n icon={Icon.Trash}\n title=\"Delete Color\"\n style={Action.Style.Destructive}\n shortcut={{ modifiers: [\"ctrl\"], key: \"x\" }}\n onAction={async () => {\n const confirmed = await confirmAlert({\n title: \"Delete Color\",\n message: \"Do you want to delete the color from your history?\",\n rememberUserChoice: true,\n primaryAction: {\n title: \"Delete\",\n style: Alert.ActionStyle.Destructive,\n },\n });\n\n if (confirmed) {\n remove(historyItem.color);\n await showToast({ title: \"Deleted color\" });\n }\n }}\n />\n <Action\n icon={Icon.Trash}\n title=\"Delete All Colors\"\n style={Action.Style.Destructive}\n shortcut={{ modifiers: [\"ctrl\", \"shift\"], key: \"x\" }}\n onAction={async () => {\n const confirmed = await confirmAlert({\n title: \"Delete All Colors\",\n message: \"Do you want to delete all colors from your history?\",\n primaryAction: {\n title: \"Delete All\",\n style: Alert.ActionStyle.Destructive,\n },\n });\n\n if (confirmed) {\n clear();\n await showToast({ title: \"Deleted all colors\" });\n }\n }}\n />\n </ActionPanel.Section>\n </ActionPanel>\n );\n}\n", "import { Action, ActionPanel, Icon, Keyboard } from \"@raycast/api\";\nimport { getFormattedColor } from \"../utils\";\nimport { HistoryColor } from \"../types\";\n\ntype CopyAsSubmenuProps = {\n color: HistoryColor;\n onCopy?: () => void;\n};\n\nexport default function CopyAsSubmenu({ color, onCopy }: CopyAsSubmenuProps) {\n return (\n <ActionPanel.Submenu title=\"Copy As\" icon={Icon.Clipboard} shortcut={Keyboard.Shortcut.Common.Copy}>\n <Action.CopyToClipboard title={`HEX`} content={getFormattedColor(color, \"hex\")} onCopy={onCopy} />\n <Action.CopyToClipboard\n title={`Lowercased HEX`}\n content={getFormattedColor(color, \"hex-lower-case\")}\n onCopy={onCopy}\n />\n <Action.CopyToClipboard\n title={`HEX Without #`}\n content={getFormattedColor(color, \"hex-no-prefix\")}\n onCopy={onCopy}\n />\n <Action.CopyToClipboard title={`RGB`} content={getFormattedColor(color, \"rgb\")} onCopy={onCopy} />\n <Action.CopyToClipboard\n title={`RGB Percentage`}\n content={getFormattedColor(color, \"rgb-percentage\")}\n onCopy={onCopy}\n />\n <Action.CopyToClipboard title={`RGBA`} content={getFormattedColor(color, \"rgba\")} onCopy={onCopy} />\n <Action.CopyToClipboard\n title={`RGBA Percentage`}\n content={getFormattedColor(color, \"rgba-percentage\")}\n onCopy={onCopy}\n />\n <Action.CopyToClipboard title={`HSL`} content={getFormattedColor(color, \"hsla\")} onCopy={onCopy} />\n <Action.CopyToClipboard title={`HSV`} content={getFormattedColor(color, \"hsva\")} onCopy={onCopy} />\n <Action.CopyToClipboard title={`OKLCH`} content={getFormattedColor(color, \"oklch\")} onCopy={onCopy} />\n <Action.CopyToClipboard title={`LCH`} content={getFormattedColor(color, \"lch\")} onCopy={onCopy} />\n <Action.CopyToClipboard title={`P3`} content={getFormattedColor(color, \"p3\")} onCopy={onCopy} />\n </ActionPanel.Submenu>\n );\n}\n", "import { getPreferenceValues, Icon, Image, Keyboard, List } from \"@raycast/api\";\nimport ColorJS from \"colorjs.io\";\nimport { Colors, Palette } from \"color-namer\";\nimport uniqBy from \"lodash/uniqBy\";\nimport { HistoryColor, HistoryItem } from \"./types\";\nimport { ColorFormatType } from \"./types\";\n\nconst preferences = getPreferenceValues<ExtensionPreferences>();\n\nexport function getFormattedColor(_color: HistoryColor, format?: ColorFormatType) {\n let color;\n if (typeof _color === \"string\") {\n color = new ColorJS(_color);\n } else if (\"colorSpace\" in _color) {\n color = new ColorJS(_color.colorSpace, [_color.red, _color.green, _color.blue], _color.alpha);\n } else {\n color = new ColorJS(\"srgb\", [_color.red / 255, _color.green / 255, _color.blue / 255], _color.alpha);\n }\n\n switch (format || preferences.colorFormat) {\n default:\n case \"hex\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).toUpperCase();\n }\n case \"hex-lower-case\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).toLowerCase();\n }\n case \"hex-no-prefix\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).replace(\"#\", \"\");\n }\n case \"rgb\": {\n return color.to(\"srgb\").toString({ format: \"rgb_number\" });\n }\n case \"rgb-percentage\": {\n return color.to(\"srgb\").toString({ format: \"rgb\" });\n }\n case \"rgba\": {\n return color.to(\"srgb\").toString({ format: \"rgba_number\" });\n }\n case \"rgba-percentage\": {\n return color.to(\"srgb\").toString({ format: \"rgba\" });\n }\n case \"hsla\": {\n return color.to(\"hsl\").toString({ format: \"hsla\" });\n }\n case \"hsva\": {\n return color.to(\"hsv\").toString({ format: \"color\" });\n }\n case \"oklch\": {\n const oklchColor = color.to(\"oklch\");\n const [l, c, h] = oklchColor.coords;\n const lPercentage = (l * 100).toFixed(2);\n return `oklch(${lPercentage}% ${c} ${h})`;\n }\n case \"lch\": {\n const lchColor = color.to(\"lch\");\n const [l, c, h] = lchColor.coords;\n return `lch(${l.toFixed(2)}% ${c} ${h})`;\n }\n case \"p3\": {\n return color.to(\"p3\").toString({ format: \"p3\" });\n }\n }\n}\n\nconst unsupportedPreviewFormats = [\"p3\", \"rgb\", \"rgb-percentage\"];\nexport function getPreviewColor(color: HistoryColor) {\n const formattedColor = getFormattedColor(\n color,\n unsupportedPreviewFormats.includes(preferences.colorFormat) ? \"oklch\" : undefined,\n );\n return formattedColor;\n}\n\nexport function getShortcut(index: number) {\n const key = index + 1;\n\n let shortcut: Keyboard.Shortcut | undefined;\n if (key >= 1 && key <= 9) {\n shortcut = { modifiers: [\"cmd\"], key: String(key) as Keyboard.KeyEquivalent };\n }\n\n return shortcut;\n}\n\nexport function getIcon(color: HistoryColor) {\n const previewColor = typeof color === \"string\" ? color : getFormattedColor(color, \"hex\");\n if (!previewColor) {\n return undefined;\n }\n\n const icon: Image.ImageLike = {\n source: Icon.CircleFilled,\n tintColor: { light: previewColor, dark: previewColor, adjustContrast: false },\n };\n\n return icon;\n}\n\nexport function getAccessories(historyItem: HistoryItem) {\n const accessories = new Array<List.Item.Accessory>();\n accessories.push({ date: new Date(historyItem.date), tooltip: new Date(historyItem.date).toLocaleString() });\n return accessories;\n}\n\nexport function normalizeColorHex(colorInput: string) {\n let hex = colorInput.replace(/^#/, \"\");\n const validHexPattern = /^([a-f\\d]{3,4}|[a-f\\d]{6}|[a-f]\\d{8})$/i;\n if (validHexPattern.test(hex)) {\n switch (hex.length) {\n case 3:\n case 4:\n hex = hex\n .slice(0, 3)\n .split(\"\")\n .map((x) => x.repeat(2))\n .join(\"\");\n break;\n case 8:\n hex = hex.slice(0, 6);\n break;\n }\n }\n return \"#\" + hex.toUpperCase();\n}\n\nexport function getColorByPlatform(normalizedSearchString: string, colors?: Colors<Palette>) {\n return Object.entries(colors ?? {}).sort(([, a], [, b]) => {\n if (normalizeColorHex(a[0].hex) === normalizeColorHex(b[0].hex)) return 0;\n if (normalizedSearchString === normalizeColorHex(a[0].hex)) return -1;\n return 1;\n });\n}\n\nexport function getColorByProximity(colors?: Colors<Palette>) {\n return uniqBy(Object.values(colors ?? {}).flat(), (x) => x.name.toLowerCase()).sort(\n (a, b) => a.distance - b.distance,\n );\n}\n", "// A is m x n. B is n x p. product is m x p.\nexport default function multiplyMatrices (A, B) {\n\tlet m = A.length;\n\n\tif (!Array.isArray(A[0])) {\n\t\t// A is vector, convert to [[a, b, c, ...]]\n\t\tA = [A];\n\t}\n\n\tif (!Array.isArray(B[0])) {\n\t\t// B is vector, convert to [[a], [b], [c], ...]]\n\t\tB = B.map(x => [x]);\n\t}\n\n\tlet p = B[0].length;\n\tlet B_cols = B[0].map((_, i) => B.map(x => x[i])); // transpose B\n\tlet product = A.map(row => B_cols.map(col => {\n\t\tlet ret = 0;\n\n\t\tif (!Array.isArray(row)) {\n\t\t\tfor (let c of col) {\n\t\t\t\tret += row * c;\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t}\n\n\t\tfor (let i = 0; i < row.length; i++) {\n\t\t\tret += row[i] * (col[i] || 0);\n\t\t}\n\n\t\treturn ret;\n\t}));\n\n\tif (m === 1) {\n\t\tproduct = product[0]; // Avoid [[a, b, c, ...]]\n\t}\n\n\tif (p === 1) {\n\t\treturn product.map(x => x[0]); // Avoid [[a], [b], [c], ...]]\n\t}\n\n\treturn product;\n}\n", "/**\n * Various utility functions\n */\n\nexport {default as multiplyMatrices} from \"./multiply-matrices.js\";\n\n/**\n * Check if a value is a string (including a String object)\n * @param {*} str - Value to check\n * @returns {boolean}\n */\nexport function isString (str) {\n\treturn type(str) === \"string\";\n}\n\n/**\n * Determine the internal JavaScript [[Class]] of an object.\n * @param {*} o - Value to check\n * @returns {string}\n */\nexport function type (o) {\n\tlet str = Object.prototype.toString.call(o);\n\n\treturn (str.match(/^\\[object\\s+(.*?)\\]$/)[1] || \"\").toLowerCase();\n}\n\nexport function serializeNumber (n, {precision, unit }) {\n\tif (isNone(n)) {\n\t\treturn \"none\";\n\t}\n\n\treturn toPrecision(n, precision) + (unit ?? \"\");\n}\n\n/**\n * Check if a value corresponds to a none argument\n * @param {*} n - Value to check\n * @returns {boolean}\n */\nexport function isNone (n) {\n\treturn Number.isNaN(n) || (n instanceof Number && n?.none);\n}\n\n/**\n * Replace none values with 0\n */\nexport function skipNone (n) {\n\treturn isNone(n) ? 0 : n;\n}\n\n/**\n * Round a number to a certain number of significant digits\n * @param {number} n - The number to round\n * @param {number} precision - Number of significant digits\n */\nexport function toPrecision (n, precision) {\n\tif (n === 0) {\n\t\treturn 0;\n\t}\n\tlet integer = ~~n;\n\tlet digits = 0;\n\tif (integer && precision) {\n\t\tdigits = ~~Math.log10(Math.abs(integer)) + 1;\n\t}\n\tconst multiplier = 10.0 ** (precision - digits);\n\treturn Math.floor(n * multiplier + 0.5) / multiplier;\n}\n\nconst angleFactor = {\n\tdeg: 1,\n\tgrad: 0.9,\n\trad: 180 / Math.PI,\n\tturn: 360,\n};\n\n/**\n* Parse a CSS function, regardless of its name and arguments\n* @param String str String to parse\n* @return {{name, args, rawArgs}}\n*/\nexport function parseFunction (str) {\n\tif (!str) {\n\t\treturn;\n\t}\n\n\tstr = str.trim();\n\n\tconst isFunctionRegex = /^([a-z]+)\\((.+?)\\)$/i;\n\tconst isNumberRegex = /^-?[\\d.]+$/;\n\tconst unitValueRegex = /%|deg|g?rad|turn$/;\n\tconst singleArgument = /\\/?\\s*(none|[-\\w.]+(?:%|deg|g?rad|turn)?)/g;\n\tlet parts = str.match(isFunctionRegex);\n\n\tif (parts) {\n\t\t// It is a function, parse args\n\t\tlet args = [];\n\t\tparts[2].replace(singleArgument, ($0, rawArg) => {\n\t\t\tlet match = rawArg.match(unitValueRegex);\n\t\t\tlet arg = rawArg;\n\n\t\t\tif (match) {\n\t\t\t\tlet unit = match[0];\n\t\t\t\t// Drop unit from value\n\t\t\t\tlet unitlessArg = arg.slice(0, -unit.length);\n\n\t\t\t\tif (unit === \"%\") {\n\t\t\t\t\t// Convert percentages to 0-1 numbers\n\t\t\t\t\targ = new Number(unitlessArg / 100);\n\t\t\t\t\targ.type = \"<percentage>\";\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Multiply angle by appropriate factor for its unit\n\t\t\t\t\targ = new Number(unitlessArg * angleFactor[unit]);\n\t\t\t\t\targ.type = \"<angle>\";\n\t\t\t\t\targ.unit = unit;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (isNumberRegex.test(arg)) {\n\t\t\t\t// Convert numerical args to numbers\n\t\t\t\targ = new Number(arg);\n\t\t\t\targ.type = \"<number>\";\n\t\t\t}\n\t\t\telse if (arg === \"none\") {\n\t\t\t\targ = new Number(NaN);\n\t\t\t\targ.none = true;\n\t\t\t}\n\n\t\t\tif ($0.startsWith(\"/\")) {\n\t\t\t\t// It's alpha\n\t\t\t\targ = arg instanceof Number ? arg : new Number(arg);\n\t\t\t\targ.alpha = true;\n\t\t\t}\n\n\t\t\tif (typeof arg === \"object\" && arg instanceof Number) {\n\t\t\t\targ.raw = rawArg;\n\t\t\t}\n\n\t\t\targs.push(arg);\n\t\t});\n\n\t\treturn {\n\t\t\tname: parts[1].toLowerCase(),\n\t\t\trawName: parts[1],\n\t\t\trawArgs: parts[2],\n\t\t\t// An argument could be (as of css-color-4):\n\t\t\t// a number, percentage, degrees (hue), ident (in color())\n\t\t\targs,\n\t\t};\n\t}\n}\n\nexport function last (arr) {\n\treturn arr[arr.length - 1];\n}\n\nexport function interpolate (start, end, p) {\n\tif (isNaN(start)) {\n\t\treturn end;\n\t}\n\n\tif (isNaN(end)) {\n\t\treturn start;\n\t}\n\n\treturn start + (end - start) * p;\n}\n\nexport function interpolateInv (start, end, value) {\n\treturn (value - start) / (end - start);\n}\n\nexport function mapRange (from, to, value) {\n\treturn interpolate(to[0], to[1], interpolateInv(from[0], from[1], value));\n}\n\nexport function parseCoordGrammar (coordGrammars) {\n\treturn coordGrammars.map(coordGrammar => {\n\t\treturn coordGrammar.split(\"|\").map(type => {\n\t\t\ttype = type.trim();\n\t\t\tlet range = type.match(/^(<[a-z]+>)\\[(-?[.\\d]+),\\s*(-?[.\\d]+)\\]?$/);\n\n\t\t\tif (range) {\n\t\t\t\tlet ret = new String(range[1]);\n\t\t\t\tret.range = [+range[2], +range[3]];\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn type;\n\t\t});\n\t});\n}\n\n/**\n * Clamp value between the minimum and maximum\n * @param {number} min minimum value to return\n * @param {number} val the value to return if it is between min and max\n * @param {number} max maximum value to return\n * @returns number\n */\nexport function clamp (min, val, max) {\n\treturn Math.max(Math.min(max, val), min);\n}\n\n/**\n * Copy sign of one value to another.\n * @param {number} - to number to copy sign to\n * @param {number} - from number to copy sign from\n * @returns number\n */\nexport function copySign (to, from) {\n\treturn Math.sign(to) === Math.sign(from) ? to : -to;\n}\n\n/**\n * Perform pow on a signed number and copy sign to result\n * @param {number} - base the base number\n * @param {number} - exp the exponent\n * @returns number\n */\nexport function spow (base, exp) {\n\treturn copySign(Math.abs(base) ** exp, base);\n}\n\n/**\n * Perform a divide, but return zero if the numerator is zero\n * @param {number} n - the numerator\n * @param {number} d - the denominator\n * @returns number\n */\nexport function zdiv (n, d) {\n\treturn (d === 0) ? 0 : n / d;\n}\n\n/**\n * Perform a bisect on a sorted list and locate the insertion point for\n * a value in arr to maintain sorted order.\n * @param {number[]} arr - array of sorted numbers\n * @param {number} value - value to find insertion point for\n * @param {number} lo - used to specify a the low end of a subset of the list\n * @param {number} hi - used to specify a the high end of a subset of the list\n * @returns number\n */\nexport function bisectLeft (arr, value, lo = 0, hi = arr.length) {\n\twhile (lo < hi) {\n\t\tconst mid = (lo + hi) >> 1;\n\t\tif (arr[mid] < value) {\n\t\t\tlo = mid + 1;\n\t\t}\n\t\telse {\n\t\t\thi = mid;\n\t\t}\n\t}\n\treturn lo;\n}\n", "/**\n * A class for adding deep extensibility to any piece of JS code\n */\nexport class Hooks {\n\tadd (name, callback, first) {\n\t\tif (typeof arguments[0] != \"string\") {\n\t\t\t// Multiple hooks\n\t\t\tfor (var name in arguments[0]) {\n\t\t\t\tthis.add(name, arguments[0][name], arguments[1]);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t(Array.isArray(name) ? name : [name]).forEach(function (name) {\n\t\t\tthis[name] = this[name] || [];\n\n\t\t\tif (callback) {\n\t\t\t\tthis[name][first ? \"unshift\" : \"push\"](callback);\n\t\t\t}\n\t\t}, this);\n\t}\n\n\trun (name, env) {\n\t\tthis[name] = this[name] || [];\n\t\tthis[name].forEach(function (callback) {\n\t\t\tcallback.call(env && env.context ? env.context : env, env);\n\t\t});\n\t}\n}\n\n/**\n * The instance of {@link Hooks} used throughout Color.js\n */\nconst hooks = new Hooks();\n\nexport default hooks;\n", "// Global defaults one may want to configure\nexport default {\n\tgamut_mapping: \"css\",\n\tprecision: 5,\n\tdeltaE: \"76\", // Default deltaE method\n\tverbose: globalThis?.process?.env?.NODE_ENV?.toLowerCase() !== \"test\",\n\twarn: function warn (msg) {\n\t\tif (this.verbose) {\n\t\t\tglobalThis?.console?.warn?.(msg);\n\t\t}\n\t},\n};\n", "import hooks from \"./hooks.js\";\nimport {multiplyMatrices} from \"./util.js\";\n\nexport const WHITES = {\n\t// for compatibility, the four-digit chromaticity-derived ones everyone else uses\n\tD50: [0.3457 / 0.3585, 1.00000, (1.0 - 0.3457 - 0.3585) / 0.3585],\n\tD65: [0.3127 / 0.3290, 1.00000, (1.0 - 0.3127 - 0.3290) / 0.3290],\n};\n\nexport function getWhite (name) {\n\tif (Array.isArray(name)) {\n\t\treturn name;\n\t}\n\n\treturn WHITES[name];\n}\n\n// Adapt XYZ from white point W1 to W2\nexport default function adapt (W1, W2, XYZ, options = {}) {\n\tW1 = getWhite(W1);\n\tW2 = getWhite(W2);\n\n\tif (!W1 || !W2) {\n\t\tthrow new TypeError(`Missing white point to convert ${!W1 ? \"from\" : \"\"}${!W1 && !W2 ? \"/\" : \"\"}${!W2 ? \"to\" : \"\"}`);\n\t}\n\n\tif (W1 === W2) {\n\t\t// Same whitepoints, no conversion needed\n\t\treturn XYZ;\n\t}\n\n\tlet env = {W1, W2, XYZ, options};\n\n\thooks.run(\"chromatic-adaptation-start\", env);\n\n\tif (!env.M) {\n\t\tif (env.W1 === WHITES.D65 && env.W2 === WHITES.D50) {\n\t\t\tenv.M = [\n\t\t\t\t[ 1.0479297925449969, 0.022946870601609652, -0.05019226628920524 ],\n\t\t\t\t[ 0.02962780877005599, 0.9904344267538799, -0.017073799063418826 ],\n\t\t\t\t[ -0.009243040646204504, 0.015055191490298152, 0.7518742814281371 ],\n\t\t\t];\n\t\t}\n\t\telse if (env.W1 === WHITES.D50 && env.W2 === WHITES.D65) {\n\n\t\t\tenv.M = [\n\t\t\t\t[ 0.955473421488075, -0.02309845494876471, 0.06325924320057072 ],\n\t\t\t\t[ -0.0283697093338637, 1.0099953980813041, 0.021041441191917323 ],\n\t\t\t\t[ 0.012314014864481998, -0.020507649298898964, 1.330365926242124 ],\n\t\t\t];\n\t\t}\n\t}\n\n\thooks.run(\"chromatic-adaptation-end\", env);\n\n\tif (env.M) {\n\t\treturn multiplyMatrices(env.M, env.XYZ);\n\t}\n\telse {\n\t\tthrow new TypeError(\"Only Bradford CAT with white points D50 and D65 supported for now.\");\n\t}\n}\n", "import * as util from \"./util.js\";\nimport hooks from \"./hooks.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\n\nconst noneTypes = new Set([\"<number>\", \"<percentage>\", \"<angle>\"]);\n\n/**\n * Validates the coordinates of a color against a format's coord grammar and\n * maps the coordinates to the range or refRange of the coordinates.\n * @param {ColorSpace} space - Colorspace the coords are in\n * @param {object} format - the format object to validate against\n * @param {string} name - the name of the color function. e.g. \"oklab\" or \"color\"\n * @returns {object[]} - an array of type metadata for each coordinate\n */\nfunction coerceCoords (space, format, name, coords) {\n\tlet types = Object.entries(space.coords).map(([id, coordMeta], i) => {\n\t\tlet coordGrammar = format.coordGrammar[i];\n\t\tlet arg = coords[i];\n\t\tlet providedType = arg?.type;\n\n\t\t// Find grammar alternative that matches the provided type\n\t\t// Non-strict equals is intentional because we are comparing w/ string objects\n\t\tlet type;\n\t\tif (arg.none) {\n\t\t\ttype = coordGrammar.find(c => noneTypes.has(c));\n\t\t}\n\t\telse {\n\t\t\ttype = coordGrammar.find(c => c == providedType);\n\t\t}\n\n\t\t// Check that each coord conforms to its grammar\n\t\tif (!type) {\n\t\t\t// Type does not exist in the grammar, throw\n\t\t\tlet coordName = coordMeta.name || id;\n\t\t\tthrow new TypeError(`${providedType ?? arg.raw} not allowed for ${coordName} in ${name}()`);\n\t\t}\n\n\t\tlet fromRange = type.range;\n\n\t\tif (providedType === \"<percentage>\") {\n\t\t\tfromRange ||= [0, 1];\n\t\t}\n\n\t\tlet toRange = coordMeta.range || coordMeta.refRange;\n\n\t\tif (fromRange && toRange) {\n\t\t\tcoords[i] = util.mapRange(fromRange, toRange, coords[i]);\n\t\t}\n\n\t\treturn type;\n\t});\n\n\treturn types;\n}\n\n\n/**\n * Convert a CSS Color string to a color object\n * @param {string} str\n * @param {object} [options]\n * @param {object} [options.meta] - Object for additional information about the parsing\n * @returns {Color}\n */\nexport default function parse (str, {meta} = {}) {\n\tlet env = {\"str\": String(str)?.trim()};\n\thooks.run(\"parse-start\", env);\n\n\tif (env.color) {\n\t\treturn env.color;\n\t}\n\n\tenv.parsed = util.parseFunction(env.str);\n\n\tif (env.parsed) {\n\t\t// Is a functional syntax\n\t\tlet name = env.parsed.name;\n\n\t\tif (name === \"color\") {\n\t\t\t// color() function\n\t\t\tlet id = env.parsed.args.shift();\n\t\t\t// Check against both <dashed-ident> and <ident> versions\n\t\t\tlet alternateId = id.startsWith(\"--\") ? id.substring(2) : `--${id}`;\n\t\t\tlet ids = [id, alternateId];\n\t\t\tlet alpha = env.parsed.rawArgs.indexOf(\"/\") > 0 ? env.parsed.args.pop() : 1;\n\n\t\t\tfor (let space of ColorSpace.all) {\n\t\t\t\tlet colorSpec = space.getFormat(\"color\");\n\n\t\t\t\tif (colorSpec) {\n\t\t\t\t\tif (ids.includes(colorSpec.id) || colorSpec.ids?.filter((specId) => ids.includes(specId)).length) {\n\t\t\t\t\t\t// From https://drafts.csswg.org/css-color-4/#color-function\n\t\t\t\t\t\t// If more <number>s or <percentage>s are provided than parameters that the colorspace takes, the excess <number>s at the end are ignored.\n\t\t\t\t\t\t// If less <number>s or <percentage>s are provided than parameters that the colorspace takes, the missing parameters default to 0. (This is particularly convenient for multichannel printers where the additional inks are spot colors or varnishes that most colors on the page won’t use.)\n\t\t\t\t\t\tconst coords = Object.keys(space.coords).map((_, i) => env.parsed.args[i] || 0);\n\n\t\t\t\t\t\tlet types;\n\n\t\t\t\t\t\tif (colorSpec.coordGrammar) {\n\t\t\t\t\t\t\ttypes = coerceCoords(space, colorSpec, \"color\", coords);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (meta) {\n\t\t\t\t\t\t\tObject.assign(meta, {formatId: \"color\", types});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (colorSpec.id.startsWith(\"--\") && !id.startsWith(\"--\")) {\n\t\t\t\t\t\t\tdefaults.warn(`${space.name} is a non-standard space and not currently supported in the CSS spec. ` +\n\t\t\t\t\t\t\t `Use prefixed color(${colorSpec.id}) instead of color(${id}).`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (id.startsWith(\"--\") && !colorSpec.id.startsWith(\"--\")) {\n\t\t\t\t\t\t\tdefaults.warn(`${space.name} is a standard space and supported in the CSS spec. ` +\n\t\t\t\t\t\t\t `Use color(${colorSpec.id}) instead of prefixed color(${id}).`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {spaceId: space.id, coords, alpha};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Not found\n\t\t\tlet didYouMean = \"\";\n\t\t\tlet registryId = id in ColorSpace.registry ? id : alternateId;\n\t\t\tif (registryId in ColorSpace.registry) {\n\t\t\t\t// Used color space id instead of color() id, these are often different\n\t\t\t\tlet cssId = ColorSpace.registry[registryId].formats?.color?.id;\n\n\t\t\t\tif (cssId) {\n\t\t\t\t\tdidYouMean = `Did you mean color(${cssId})?`;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthrow new TypeError(`Cannot parse color(${id}). ` + (didYouMean || \"Missing a plugin?\"));\n\t\t}\n\t\telse {\n\t\t\tfor (let space of ColorSpace.all) {\n\t\t\t\t// color space specific function\n\t\t\t\tlet format = space.getFormat(name);\n\t\t\t\tif (format && format.type === \"function\") {\n\t\t\t\t\tlet alpha = 1;\n\n\t\t\t\t\tif (format.lastAlpha || util.last(env.parsed.args).alpha) {\n\t\t\t\t\t\talpha = env.parsed.args.pop();\n\t\t\t\t\t}\n\n\t\t\t\t\tlet coords = env.parsed.args;\n\n\t\t\t\t\tlet types;\n\n\t\t\t\t\tif (format.coordGrammar) {\n\t\t\t\t\t\ttypes = coerceCoords(space, format, name, coords);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (meta) {\n\t\t\t\t\t\tObject.assign(meta, {formatId: format.name, types});\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tspaceId: space.id,\n\t\t\t\t\t\tcoords, alpha,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\telse {\n\t\t// Custom, colorspace-specific format\n\t\tfor (let space of ColorSpace.all) {\n\t\t\tfor (let formatId in space.formats) {\n\t\t\t\tlet format = space.formats[formatId];\n\n\t\t\t\tif (format.type !== \"custom\") {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (format.test && !format.test(env.str)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tlet color = format.parse(env.str);\n\n\t\t\t\tif (color) {\n\t\t\t\t\tcolor.alpha ??= 1;\n\n\t\t\t\t\tif (meta) {\n\t\t\t\t\t\tmeta.formatId = formatId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn color;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\n\t// If we're here, we couldn't parse\n\tthrow new TypeError(`Could not parse ${str} as a color. Missing a plugin?`);\n}\n", "import ColorSpace from \"./space.js\";\nimport {isString} from \"./util.js\";\nimport parse from \"./parse.js\";\n\n/**\n * Resolves a color reference (object or string) to a plain color object\n * @param {Color | {space, coords, alpha} | string | Array<Color | {space, coords, alpha} | string> } color\n * @returns {{space, coords, alpha} | Array<{space, coords, alpha}}>\n */\nexport default function getColor (color) {\n\tif (Array.isArray(color)) {\n\t\treturn color.map(getColor);\n\t}\n\n\tif (!color) {\n\t\tthrow new TypeError(\"Empty color reference\");\n\t}\n\n\tif (isString(color)) {\n\t\tcolor = parse(color);\n\t}\n\n\t// Object fixup\n\tlet space = color.space || color.spaceId;\n\n\tif (!(space instanceof ColorSpace)) {\n\t\t// Convert string id to color space object\n\t\tcolor.space = ColorSpace.get(space);\n\t}\n\n\tif (color.alpha === undefined) {\n\t\tcolor.alpha = 1;\n\t}\n\n\treturn color;\n}\n", "import {type, parseCoordGrammar, serializeNumber, mapRange} from \"./util.js\";\nimport {getWhite} from \"./adapt.js\";\nimport hooks from \"./hooks.js\";\nimport getColor from \"./getColor.js\";\n\nconst ε = .000075;\n\n/**\n * Class to represent a color space\n */\nexport default class ColorSpace {\n\tconstructor (options) {\n\t\tthis.id = options.id;\n\t\tthis.name = options.name;\n\t\tthis.base = options.base ? ColorSpace.get(options.base) : null;\n\t\tthis.aliases = options.aliases;\n\n\t\tif (this.base) {\n\t\t\tthis.fromBase = options.fromBase;\n\t\t\tthis.toBase = options.toBase;\n\t\t}\n\n\t\t// Coordinate metadata\n\n\t\tlet coords = options.coords ?? this.base.coords;\n\n\t\tfor (let name in coords) {\n\t\t\tif (!(\"name\" in coords[name])) {\n\t\t\t\tcoords[name].name = name;\n\t\t\t}\n\t\t}\n\t\tthis.coords = coords;\n\n\t\t// White point\n\n\t\tlet white = options.white ?? this.base.white ?? \"D65\";\n\t\tthis.white = getWhite(white);\n\n\t\t// Sort out formats\n\n\t\tthis.formats = options.formats ?? {};\n\n\t\tfor (let name in this.formats) {\n\t\t\tlet format = this.formats[name];\n\t\t\tformat.type ||= \"function\";\n\t\t\tformat.name ||= name;\n\t\t}\n\n\t\tif (!this.formats.color?.id) {\n\t\t\tthis.formats.color = {\n\t\t\t\t...this.formats.color ?? {},\n\t\t\t\tid: options.cssId || this.id,\n\t\t\t};\n\t\t}\n\n\t\t// Gamut space\n\n\t\tif (options.gamutSpace) {\n\t\t\t// Gamut space explicitly specified\n\t\t\tthis.gamutSpace = options.gamutSpace === \"self\" ? this : ColorSpace.get(options.gamutSpace);\n\t\t}\n\t\telse {\n\t\t\t// No gamut space specified, calculate a sensible default\n\t\t\tif (this.isPolar) {\n\t\t\t\t// Do not check gamut through polar coordinates\n\t\t\t\tthis.gamutSpace = this.base;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.gamutSpace = this;\n\t\t\t}\n\t\t}\n\n\t\t// Optimize inGamut for unbounded spaces\n\t\tif (this.gamutSpace.isUnbounded) {\n\t\t\tthis.inGamut = (coords, options) => {\n\t\t\t\treturn true;\n\t\t\t};\n\t\t}\n\n\t\t// Other stuff\n\t\tthis.referred = options.referred;\n\n\t\t// Compute ancestors and store them, since they will never change\n\t\tObject.defineProperty(this, \"path\", {\n\t\t\tvalue: getPath(this).reverse(),\n\t\t\twritable: false,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t});\n\n\t\thooks.run(\"colorspace-init-end\", this);\n\t}\n\n\tinGamut (coords, {epsilon = ε} = {}) {\n\t\tif (!this.equals(this.gamutSpace)) {\n\t\t\tcoords = this.to(this.gamutSpace, coords);\n\t\t\treturn this.gamutSpace.inGamut(coords, {epsilon});\n\t\t}\n\n\t\tlet coordMeta = Object.values(this.coords);\n\n\t\treturn coords.every((c, i) => {\n\t\t\tlet meta = coordMeta[i];\n\n\t\t\tif (meta.type !== \"angle\" && meta.range) {\n\t\t\t\tif (Number.isNaN(c)) {\n\t\t\t\t\t// NaN is always in gamut\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tlet [min, max] = meta.range;\n\t\t\t\treturn (min === undefined || c >= min - epsilon)\n\t\t\t\t && (max === undefined || c <= max + epsilon);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t});\n\t}\n\n\tget isUnbounded () {\n\t\treturn Object.values(this.coords).every(coord => !(\"range\" in coord));\n\t}\n\n\tget cssId () {\n\t\treturn this.formats?.color?.id || this.id;\n\t}\n\n\tget isPolar () {\n\t\tfor (let id in this.coords) {\n\t\t\tif (this.coords[id].type === \"angle\") {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tgetFormat (format) {\n\t\tif (typeof format === \"object\") {\n\t\t\tformat = processFormat(format, this);\n\t\t\treturn format;\n\t\t}\n\n\t\tlet ret;\n\t\tif (format === \"default\") {\n\t\t\t// Get first format\n\t\t\tret = Object.values(this.formats)[0];\n\t\t}\n\t\telse {\n\t\t\tret = this.formats[format];\n\t\t}\n\n\t\tif (ret) {\n\t\t\tret = processFormat(ret, this);\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/**\n\t * Check if this color space is the same as another color space reference.\n\t * Allows proxying color space objects and comparing color spaces with ids.\n\t * @param {string | ColorSpace} space ColorSpace object or id to compare to\n\t * @returns {boolean}\n\t */\n\tequals (space) {\n\t\tif (!space) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this === space || this.id === space || this.id === space.id;\n\t}\n\n\tto (space, coords) {\n\t\tif (arguments.length === 1) {\n\t\t\tconst color = getColor(space);\n\t\t\t[space, coords] = [color.space, color.coords];\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tif (this.equals(space)) {\n\t\t\t// Same space, no change needed\n\t\t\treturn coords;\n\t\t}\n\n\t\t// Convert NaN to 0, which seems to be valid in every coordinate of every color space\n\t\tcoords = coords.map(c => Number.isNaN(c) ? 0 : c);\n\n\t\t// Find connection space = lowest common ancestor in the base tree\n\t\tlet myPath = this.path;\n\t\tlet otherPath = space.path;\n\n\t\tlet connectionSpace, connectionSpaceIndex;\n\n\t\tfor (let i = 0; i < myPath.length; i++) {\n\t\t\tif (myPath[i].equals(otherPath[i])) {\n\t\t\t\tconnectionSpace = myPath[i];\n\t\t\t\tconnectionSpaceIndex = i;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (!connectionSpace) {\n\t\t\t// This should never happen\n\t\t\tthrow new Error(`Cannot convert between color spaces ${this} and ${space}: no connection space was found`);\n\t\t}\n\n\t\t// Go up from current space to connection space\n\t\tfor (let i = myPath.length - 1; i > connectionSpaceIndex; i--) {\n\t\t\tcoords = myPath[i].toBase(coords);\n\t\t}\n\n\t\t// Go down from connection space to target space\n\t\tfor (let i = connectionSpaceIndex + 1; i < otherPath.length; i++) {\n\t\t\tcoords = otherPath[i].fromBase(coords);\n\t\t}\n\n\t\treturn coords;\n\t}\n\n\tfrom (space, coords) {\n\t\tif (arguments.length === 1) {\n\t\t\tconst color = getColor(space);\n\t\t\t[space, coords] = [color.space, color.coords];\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\treturn space.to(this, coords);\n\t}\n\n\ttoString () {\n\t\treturn `${this.name} (${this.id})`;\n\t}\n\n\tgetMinCoords () {\n\t\tlet ret = [];\n\n\t\tfor (let id in this.coords) {\n\t\t\tlet meta = this.coords[id];\n\t\t\tlet range = meta.range || meta.refRange;\n\t\t\tret.push(range?.min ?? 0);\n\t\t}\n\n\t\treturn ret;\n\t}\n\n\tstatic registry = {};\n\n\t// Returns array of unique color spaces\n\tstatic get all () {\n\t\treturn [...new Set(Object.values(ColorSpace.registry))];\n\t}\n\n\tstatic register (id, space) {\n\t\tif (arguments.length === 1) {\n\t\t\tspace = arguments[0];\n\t\t\tid = space.id;\n\t\t}\n\n\t\tspace = this.get(space);\n\n\t\tif (this.registry[id] && this.registry[id] !== space) {\n\t\t\tthrow new Error(`Duplicate color space registration: '${id}'`);\n\t\t}\n\t\tthis.registry[id] = space;\n\n\t\t// Register aliases when called without an explicit ID.\n\t\tif (arguments.length === 1 && space.aliases) {\n\t\t\tfor (let alias of space.aliases) {\n\t\t\t\tthis.register(alias, space);\n\t\t\t}\n\t\t}\n\n\t\treturn space;\n\t}\n\n\t/**\n\t * Lookup ColorSpace object by name\n\t * @param {ColorSpace | string} name\n\t */\n\tstatic get (space, ...alternatives) {\n\t\tif (!space || space instanceof ColorSpace) {\n\t\t\treturn space;\n\t\t}\n\n\t\tlet argType = type(space);\n\n\t\tif (argType === \"string\") {\n\t\t\t// It's a color space id\n\t\t\tlet ret = ColorSpace.registry[space.toLowerCase()];\n\n\t\t\tif (!ret) {\n\t\t\t\tthrow new TypeError(`No color space found with id = \"${space}\"`);\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t}\n\n\t\tif (alternatives.length) {\n\t\t\treturn ColorSpace.get(...alternatives);\n\t\t}\n\n\t\tthrow new TypeError(`${space} is not a valid color space`);\n\t}\n\n\t/**\n\t * Get metadata about a coordinate of a color space\n\t *\n\t * @static\n\t * @param {Array | string} ref\n\t * @param {ColorSpace | string} [workingSpace]\n\t * @return {Object}\n\t */\n\tstatic resolveCoord (ref, workingSpace) {\n\t\tlet coordType = type(ref);\n\t\tlet space, coord;\n\n\t\tif (coordType === \"string\") {\n\t\t\tif (ref.includes(\".\")) {\n\t\t\t\t// Absolute coordinate\n\t\t\t\t[space, coord] = ref.split(\".\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// Relative coordinate\n\t\t\t\t[space, coord] = [, ref];\n\t\t\t}\n\t\t}\n\t\telse if (Array.isArray(ref)) {\n\t\t\t[space, coord] = ref;\n\t\t}\n\t\telse {\n\t\t\t// Object\n\t\t\tspace = ref.space;\n\t\t\tcoord = ref.coordId;\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tif (!space) {\n\t\t\tspace = workingSpace;\n\t\t}\n\n\t\tif (!space) {\n\t\t\tthrow new TypeError(`Cannot resolve coordinate reference ${ref}: No color space specified and relative references are not allowed here`);\n\t\t}\n\n\t\tcoordType = type(coord);\n\n\t\tif (coordType === \"number\" || coordType === \"string\" && coord >= 0) {\n\t\t\t// Resolve numerical coord\n\t\t\tlet meta = Object.entries(space.coords)[coord];\n\n\t\t\tif (meta) {\n\t\t\t\treturn {space, id: meta[0], index: coord, ...meta[1]};\n\t\t\t}\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tlet normalizedCoord = coord.toLowerCase();\n\n\t\tlet i = 0;\n\t\tfor (let id in space.coords) {\n\t\t\tlet meta = space.coords[id];\n\n\t\t\tif (id.toLowerCase() === normalizedCoord || meta.name?.toLowerCase() === normalizedCoord) {\n\t\t\t\treturn {space, id, index: i, ...meta};\n\t\t\t}\n\n\t\t\ti++;\n\t\t}\n\n\t\tthrow new TypeError(`No \"${coord}\" coordinate found in ${space.name}. Its coordinates are: ${Object.keys(space.coords).join(\", \")}`);\n\t}\n\n\tstatic DEFAULT_FORMAT = {\n\t\ttype: \"functions\",\n\t\tname: \"color\",\n\t};\n}\n\nfunction getPath (space) {\n\tlet ret = [space];\n\n\tfor (let s = space; s = s.base;) {\n\t\tret.push(s);\n\t}\n\n\treturn ret;\n}\n\nfunction processFormat (format, {coords} = {}) {\n\tif (format.coords && !format.coordGrammar) {\n\t\tformat.type ||= \"function\";\n\t\tformat.name ||= \"color\";\n\n\t\t// Format has not been processed\n\t\tformat.coordGrammar = parseCoordGrammar(format.coords);\n\n\t\tlet coordFormats = Object.entries(coords).map(([id, coordMeta], i) => {\n\t\t\t// Preferred format for each coord is the first one\n\t\t\tlet outputType = format.coordGrammar[i][0];\n\n\t\t\tlet fromRange = coordMeta.range || coordMeta.refRange;\n\t\t\tlet toRange = outputType.range, suffix = \"\";\n\n\t\t\t// Non-strict equals intentional since outputType could be a string object\n\t\t\tif (outputType == \"<percentage>\") {\n\t\t\t\ttoRange = [0, 100];\n\t\t\t\tsuffix = \"%\";\n\t\t\t}\n\t\t\telse if (outputType == \"<angle>\") {\n\t\t\t\tsuffix = \"deg\";\n\t\t\t}\n\n\t\t\treturn {fromRange, toRange, suffix};\n\t\t});\n\n\t\tformat.serializeCoords = (coords, precision) => {\n\t\t\treturn coords.map((c, i) => {\n\t\t\t\tlet {fromRange, toRange, suffix} = coordFormats[i];\n\n\t\t\t\tif (fromRange && toRange) {\n\t\t\t\t\tc = mapRange(fromRange, toRange, c);\n\t\t\t\t}\n\n\t\t\t\tc = serializeNumber(c, {precision, unit: suffix});\n\n\t\t\t\treturn c;\n\t\t\t});\n\t\t};\n\t}\n\n\treturn format;\n}\n", "import ColorSpace from \"../space.js\";\n\nexport default new ColorSpace({\n\tid: \"xyz-d65\",\n\tname: \"XYZ D65\",\n\tcoords: {\n\t\tx: {name: \"X\"},\n\t\ty: {name: \"Y\"},\n\t\tz: {name: \"Z\"},\n\t},\n\twhite: \"D65\",\n\tformats: {\n\t\tcolor: {\n\t\t\tids: [\"xyz-d65\", \"xyz\"],\n\t\t},\n\t},\n\taliases: [\"xyz\"],\n});\n", "import ColorSpace from \"./space.js\";\nimport {multiplyMatrices} from \"./util.js\";\nimport adapt from \"./adapt.js\";\nimport XYZ_D65 from \"./spaces/xyz-d65.js\";\n\n/**\n * Convenience class for RGB color spaces\n * @extends {ColorSpace}\n */\nexport default class RGBColorSpace extends ColorSpace {\n\t/**\n\t * Creates a new RGB ColorSpace.\n\t * If coords are not specified, they will use the default RGB coords.\n\t * Instead of `fromBase()` and `toBase()` functions,\n\t * you can specify to/from XYZ matrices and have `toBase()` and `fromBase()` automatically generated.\n\t * @param {*} options - Same options as {@link ColorSpace} plus:\n\t * @param {number[][]} options.toXYZ_M - Matrix to convert to XYZ\n\t * @param {number[][]} options.fromXYZ_M - Matrix to convert from XYZ\n\t */\n\tconstructor (options) {\n\t\tif (!options.coords) {\n\t\t\toptions.coords = {\n\t\t\t\tr: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Red\",\n\t\t\t\t},\n\t\t\t\tg: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Green\",\n\t\t\t\t},\n\t\t\t\tb: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Blue\",\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tif (!options.base) {\n\t\t\toptions.base = XYZ_D65;\n\t\t}\n\n\t\tif (options.toXYZ_M && options.fromXYZ_M) {\n\t\t\toptions.toBase ??= rgb => {\n\t\t\t\tlet xyz = multiplyMatrices(options.toXYZ_M, rgb);\n\n\t\t\t\tif (this.white !== this.base.white) {\n\t\t\t\t\t// Perform chromatic adaptation\n\t\t\t\t\txyz = adapt(this.white, this.base.white, xyz);\n\t\t\t\t}\n\n\t\t\t\treturn xyz;\n\t\t\t};\n\n\t\t\toptions.fromBase ??= xyz => {\n\t\t\t\txyz = adapt(this.base.white, this.white, xyz);\n\t\t\t\treturn multiplyMatrices(options.fromXYZ_M, xyz);\n\t\t\t};\n\t\t}\n\n\t\toptions.referred ??= \"display\";\n\n\t\tsuper(options);\n\t}\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\n/**\n * Get the coordinates of a color in any color space\n * @param {Color} color\n * @param {string | ColorSpace} [space = color.space] The color space to convert to. Defaults to the color's current space\n * @returns {number[]} The color coordinates in the given color space\n */\nexport default function getAll (color, space) {\n\tcolor = getColor(color);\n\n\tif (!space || color.space.equals(space)) {\n\t\t// No conversion needed\n\t\treturn color.coords.slice();\n\t}\n\n\tspace = ColorSpace.get(space);\n\treturn space.from(color);\n}\n", "import ColorSpace from \"./space.js\";\nimport getAll from \"./getAll.js\";\nimport getColor from \"./getColor.js\";\n\nexport default function get (color, prop) {\n\tcolor = getColor(color);\n\n\tlet {space, index} = ColorSpace.resolveCoord(prop, color.space);\n\tlet coords = getAll(color, space);\n\treturn coords[index];\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\nexport default function setAll (color, space, coords) {\n\tcolor = getColor(color);\n\n\tspace = ColorSpace.get(space);\n\tcolor.coords = space.to(color.space, coords);\n\treturn color;\n}\n\nsetAll.returns = \"color\";\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\nimport get from \"./get.js\";\nimport getAll from \"./getAll.js\";\nimport setAll from \"./setAll.js\";\nimport {type} from \"./util.js\";\n\n// Set properties and return current instance\nexport default function set (color, prop, value) {\n\tcolor = getColor(color);\n\n\tif (arguments.length === 2 && type(arguments[1]) === \"object\") {\n\t\t// Argument is an object literal\n\t\tlet object = arguments[1];\n\t\tfor (let p in object) {\n\t\t\tset(color, p, object[p]);\n\t\t}\n\t}\n\telse {\n\t\tif (typeof value === \"function\") {\n\t\t\tvalue = value(get(color, prop));\n\t\t}\n\n\t\tlet {space, index} = ColorSpace.resolveCoord(prop, color.space);\n\t\tlet coords = getAll(color, space);\n\t\tcoords[index] = value;\n\t\tsetAll(color, space, coords);\n\t}\n\n\treturn color;\n}\n\nset.returns = \"color\";\n", "import ColorSpace from \"../space.js\";\nimport adapt from \"../adapt.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\nexport default new ColorSpace({\n\tid: \"xyz-d50\",\n\tname: \"XYZ D50\",\n\twhite: \"D50\",\n\tbase: XYZ_D65,\n\tfromBase: coords => adapt(XYZ_D65.white, \"D50\", coords),\n\ttoBase: coords => adapt(\"D50\", XYZ_D65.white, coords),\n});\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d50 from \"./xyz-d50.js\";\n\n// κ * ε = 2^3 = 8\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst ε3 = 24 / 116;\nconst κ = 24389 / 27; // 29^3/3^3\n\nlet white = WHITES.D50;\n\nexport default new ColorSpace({\n\tid: \"lab\",\n\tname: \"Lab\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t},\n\n\t// Assuming XYZ is relative to D50, convert to CIE Lab\n\t// from CIE standard, which now defines these as a rational fraction\n\twhite,\n\n\tbase: xyz_d50,\n\t// Convert D50-adapted XYX to Lab\n\t// CIE 15.3:2004 section 8.2.1.1\n\tfromBase (XYZ) {\n\t\t// compute xyz, which is XYZ scaled relative to reference white\n\t\tlet xyz = XYZ.map((value, i) => value / white[i]);\n\n\t\t// now compute f\n\t\tlet f = xyz.map(value => value > ε ? Math.cbrt(value) : (κ * value + 16) / 116);\n\n\t\treturn [\n\t\t\t(116 * f[1]) - 16, // L\n\t\t\t500 * (f[0] - f[1]), // a\n\t\t\t200 * (f[1] - f[2]), // b\n\t\t];\n\t},\n\t// Convert Lab to D50-adapted XYZ\n\t// Same result as CIE 15.3:2004 Appendix D although the derivation is different\n\t// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n\ttoBase (Lab) {\n\t\t// compute f, starting with the luminance-related term\n\t\tlet f = [];\n\t\tf[1] = (Lab[0] + 16) / 116;\n\t\tf[0] = Lab[1] / 500 + f[1];\n\t\tf[2] = f[1] - Lab[2] / 200;\n\n\t\t// compute xyz\n\t\tlet xyz = [\n\t\t\tf[0] > ε3 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / κ,\n\t\t\tLab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / κ,\n\t\t\tf[2] > ε3 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / κ,\n\t\t];\n\n\t\t// Compute XYZ by scaling xyz by reference white\n\t\treturn xyz.map((value, i) => value * white[i]);\n\t},\n\n\tformats: {\n\t\t\"lab\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "export function constrain (angle) {\n\treturn ((angle % 360) + 360) % 360;\n}\n\nexport function adjust (arc, angles) {\n\tif (arc === \"raw\") {\n\t\treturn angles;\n\t}\n\n\tlet [a1, a2] = angles.map(constrain);\n\n\tlet angleDiff = a2 - a1;\n\n\tif (arc === \"increasing\") {\n\t\tif (angleDiff < 0) {\n\t\t\ta2 += 360;\n\t\t}\n\t}\n\telse if (arc === \"decreasing\") {\n\t\tif (angleDiff > 0) {\n\t\t\ta1 += 360;\n\t\t}\n\t}\n\telse if (arc === \"longer\") {\n\t\tif (-180 < angleDiff && angleDiff < 180) {\n\t\t\tif (angleDiff > 0) {\n\t\t\t\ta1 += 360;\n\t\t\t}\n\t\t\telse {\n\t\t\t\ta2 += 360;\n\t\t\t}\n\t\t}\n\t}\n\telse if (arc === \"shorter\") {\n\t\tif (angleDiff > 180) {\n\t\t\ta1 += 360;\n\t\t}\n\t\telse if (angleDiff < -180) {\n\t\t\ta2 += 360;\n\t\t}\n\t}\n\n\treturn [a1, a2];\n}\n", "import ColorSpace from \"../space.js\";\nimport Lab from \"./lab.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"lch\",\n\tname: \"LCH\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 150],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Lab,\n\tfromBase (Lab) {\n\t\t// Convert to polar form\n\t\tlet [L, a, b] = Lab;\n\t\tlet hue;\n\t\tconst ε = 0.02;\n\n\t\tif (Math.abs(a) < ε && Math.abs(b) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(b, a) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // L is still L\n\t\t\tMath.sqrt(a ** 2 + b ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (LCH) {\n\t\t// Convert from polar form\n\t\tlet [Lightness, Chroma, Hue] = LCH;\n\t\t// Clamp any negative Chroma\n\t\tif (Chroma < 0) {\n\t\t\tChroma = 0;\n\t\t}\n\t\t// Deal with NaN Hue\n\t\tif (isNaN(Hue)) {\n\t\t\tHue = 0;\n\t\t}\n\t\treturn [\n\t\t\tLightness, // L is still L\n\t\t\tChroma * Math.cos(Hue * Math.PI / 180), // a\n\t\t\tChroma * Math.sin(Hue * Math.PI / 180), // b\n\t\t];\n\t},\n\n\tformats: {\n\t\t\"lch\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "import defaults from \"../defaults.js\";\nimport lab from \"../spaces/lab.js\";\nimport lch from \"../spaces/lch.js\";\nimport getColor from \"../getColor.js\";\n\n// deltaE2000 is a statistically significant improvement\n// and is recommended by the CIE and Idealliance\n// especially for color differences less than 10 deltaE76\n// but is wicked complicated\n// and many implementations have small errors!\n// DeltaE2000 is also discontinuous; in case this\n// matters to you, use deltaECMC instead.\n\nconst Gfactor = 25 ** 7;\nconst π = Math.PI;\nconst r2d = 180 / π;\nconst d2r = π / 180;\n\nfunction pow7 (x) {\n\t// Faster than x ** 7 or Math.pow(x, 7)\n\n\tconst x2 = x * x;\n\tconst x7 = x2 * x2 * x2 * x;\n\n\treturn x7;\n}\n\nexport default function (color, sample, {kL = 1, kC = 1, kH = 1} = {}) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and the function parameter as the sample,\n\t// calculate deltaE 2000.\n\n\t// This implementation assumes the parametric\n\t// weighting factors kL, kC and kH\n\t// for the influence of viewing conditions\n\t// are all 1, as sadly seems typical.\n\t// kL should be increased for lightness texture or noise\n\t// and kC increased for chroma noise\n\n\tlet [L1, a1, b1] = lab.from(color);\n\tlet C1 = lch.from(lab, [L1, a1, b1])[1];\n\tlet [L2, a2, b2] = lab.from(sample);\n\tlet C2 = lch.from(lab, [L2, a2, b2])[1];\n\n\t// Check for negative Chroma,\n\t// which might happen through\n\t// direct user input of LCH values\n\n\tif (C1 < 0) {\n\t\tC1 = 0;\n\t}\n\tif (C2 < 0) {\n\t\tC2 = 0;\n\t}\n\n\tlet Cbar = (C1 + C2) / 2; // mean Chroma\n\n\t// calculate a-axis asymmetry factor from mean Chroma\n\t// this turns JND ellipses for near-neutral colors back into circles\n\tlet C7 = pow7(Cbar);\n\n\tlet G = 0.5 * (1 - Math.sqrt(C7 / (C7 + Gfactor)));\n\n\t// scale a axes by asymmetry factor\n\t// this by the way is why there is no Lab2000 colorspace\n\tlet adash1 = (1 + G) * a1;\n\tlet adash2 = (1 + G) * a2;\n\n\t// calculate new Chroma from scaled a and original b axes\n\tlet Cdash1 = Math.sqrt(adash1 ** 2 + b1 ** 2);\n\tlet Cdash2 = Math.sqrt(adash2 ** 2 + b2 ** 2);\n\n\t// calculate new hues, with zero hue for true neutrals\n\t// and in degrees, not radians\n\n\tlet h1 = (adash1 === 0 && b1 === 0) ? 0 : Math.atan2(b1, adash1);\n\tlet h2 = (adash2 === 0 && b2 === 0) ? 0 : Math.atan2(b2, adash2);\n\n\tif (h1 < 0) {\n\t\th1 += 2 * π;\n\t}\n\tif (h2 < 0) {\n\t\th2 += 2 * π;\n\t}\n\n\th1 *= r2d;\n\th2 *= r2d;\n\n\t// Lightness and Chroma differences; sign matters\n\tlet ΔL = L2 - L1;\n\tlet ΔC = Cdash2 - Cdash1;\n\n\t// Hue difference, getting the sign correct\n\tlet hdiff = h2 - h1;\n\tlet hsum = h1 + h2;\n\tlet habs = Math.abs(hdiff);\n\tlet Δh;\n\n\tif (Cdash1 * Cdash2 === 0) {\n\t\tΔh = 0;\n\t}\n\telse if (habs <= 180) {\n\t\tΔh = hdiff;\n\t}\n\telse if (hdiff > 180) {\n\t\tΔh = hdiff - 360;\n\t}\n\telse if (hdiff < -180) {\n\t\tΔh = hdiff + 360;\n\t}\n\telse {\n\t\tdefaults.warn(\"the unthinkable has happened\");\n\t}\n\n\t// weighted Hue difference, more for larger Chroma\n\tlet ΔH = 2 * Math.sqrt(Cdash2 * Cdash1) * Math.sin(Δh * d2r / 2);\n\n\t// calculate mean Lightness and Chroma\n\tlet Ldash = (L1 + L2) / 2;\n\tlet Cdash = (Cdash1 + Cdash2) / 2;\n\tlet Cdash7 = pow7(Cdash);\n\n\t// Compensate for non-linearity in the blue region of Lab.\n\t// Four possibilities for hue weighting factor,\n\t// depending on the angles, to get the correct sign\n\tlet hdash;\n\tif (Cdash1 * Cdash2 === 0) {\n\t\thdash = hsum; // which should be zero\n\t}\n\telse if (habs <= 180) {\n\t\thdash = hsum / 2;\n\t}\n\telse if (hsum < 360) {\n\t\thdash = (hsum + 360) / 2;\n\t}\n\telse {\n\t\thdash = (hsum - 360) / 2;\n\t}\n\n\t// positional corrections to the lack of uniformity of CIELAB\n\t// These are all trying to make JND ellipsoids more like spheres\n\n\t// SL Lightness crispening factor\n\t// a background with L=50 is assumed\n\tlet lsq = (Ldash - 50) ** 2;\n\tlet SL = 1 + ((0.015 * lsq) / Math.sqrt(20 + lsq));\n\n\t// SC Chroma factor, similar to those in CMC and deltaE 94 formulae\n\tlet SC = 1 + 0.045 * Cdash;\n\n\t// Cross term T for blue non-linearity\n\tlet T = 1;\n\tT -= (0.17 * Math.cos(( hdash - 30) * d2r));\n\tT += (0.24 * Math.cos( 2 * hdash * d2r));\n\tT += (0.32 * Math.cos(((3 * hdash) + 6) * d2r));\n\tT -= (0.20 * Math.cos(((4 * hdash) - 63) * d2r));\n\n\t// SH Hue factor depends on Chroma,\n\t// as well as adjusted hue angle like deltaE94.\n\tlet SH = 1 + 0.015 * Cdash * T;\n\n\t// RT Hue rotation term compensates for rotation of JND ellipses\n\t// and Munsell constant hue lines\n\t// in the medium-high Chroma blue region\n\t// (Hue 225 to 315)\n\tlet Δθ = 30 * Math.exp(-1 * (((hdash - 275) / 25) ** 2));\n\tlet RC = 2 * Math.sqrt(Cdash7 / (Cdash7 + Gfactor));\n\tlet RT = -1 * Math.sin(2 * Δθ * d2r) * RC;\n\n\t// Finally calculate the deltaE, term by term as root sume of squares\n\tlet dE = (ΔL / (kL * SL)) ** 2;\n\tdE += (ΔC / (kC * SC)) ** 2;\n\tdE += (ΔH / (kH * SH)) ** 2;\n\tdE += RT * (ΔC / (kC * SC)) * (ΔH / (kH * SH));\n\treturn Math.sqrt(dE);\n\t// Yay!!!\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\n// Recalculated for consistent reference white\n// see https://github.com/w3c/csswg-drafts/issues/6642#issuecomment-943521484\nconst XYZtoLMS_M = [\n\t[ 0.8190224379967030, 0.3619062600528904, -0.1288737815209879 ],\n\t[ 0.0329836539323885, 0.9292868615863434, 0.0361446663506424 ],\n\t[ 0.0481771893596242, 0.2642395317527308, 0.6335478284694309 ],\n];\n// inverse of XYZtoLMS_M\nconst LMStoXYZ_M = [\n\t[ 1.2268798758459243, -0.5578149944602171, 0.2813910456659647 ],\n\t[ -0.0405757452148008, 1.1122868032803170, -0.0717110580655164 ],\n\t[ -0.0763729366746601, -0.4214933324022432, 1.5869240198367816 ],\n];\nconst LMStoLab_M = [\n\t[ 0.2104542683093140, 0.7936177747023054, -0.0040720430116193 ],\n\t[ 1.9779985324311684, -2.4285922420485799, 0.4505937096174110 ],\n\t[ 0.0259040424655478, 0.7827717124575296, -0.8086757549230774 ],\n];\n// LMStoIab_M inverted\nconst LabtoLMS_M = [\n\t[ 1.0000000000000000, 0.3963377773761749, 0.2158037573099136 ],\n\t[ 1.0000000000000000, -0.1055613458156586, -0.0638541728258133 ],\n\t[ 1.0000000000000000, -0.0894841775298119, -1.2914855480194092 ],\n];\n\nexport default new ColorSpace({\n\tid: \"oklab\",\n\tname: \"Oklab\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-0.4, 0.4],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-0.4, 0.4],\n\t\t},\n\t},\n\n\t// Note that XYZ is relative to D65\n\twhite: \"D65\",\n\tbase: XYZ_D65,\n\tfromBase (XYZ) {\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoLMS_M, XYZ);\n\n\t\t// non-linearity\n\t\tlet LMSg = LMS.map(val => Math.cbrt(val));\n\n\t\treturn multiplyMatrices(LMStoLab_M, LMSg);\n\n\t},\n\ttoBase (OKLab) {\n\t\t// move to LMS cone domain\n\t\tlet LMSg = multiplyMatrices(LabtoLMS_M, OKLab);\n\n\t\t// restore linearity\n\t\tlet LMS = LMSg.map(val => val ** 3);\n\n\t\treturn multiplyMatrices(LMStoXYZ_M, LMS);\n\t},\n\n\tformats: {\n\t\t\"oklab\": {\n\t\t\tcoords: [\"<percentage> | <number>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in CIE Lab\n\nimport oklab from \"../spaces/oklab.js\";\nimport getColor from \"../getColor.js\";\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaEOK, term by term as root sum of squares\n\tlet [L1, a1, b1] = oklab.from(color);\n\tlet [L2, a2, b2] = oklab.from(sample);\n\tlet ΔL = L1 - L2;\n\tlet Δa = a1 - a2;\n\tlet Δb = b1 - b2;\n\treturn Math.sqrt(ΔL ** 2 + Δa ** 2 + Δb ** 2);\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\nconst ε = .000075;\n\n/**\n * Check if a color is in gamut of either its own or another color space\n * @return {Boolean} Is the color in gamut?\n */\nexport default function inGamut (color, space, {epsilon = ε} = {}) {\n\tcolor = getColor(color);\n\n\tif (!space) {\n\t\tspace = color.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\tlet coords = color.coords;\n\n\tif (space !== color.space) {\n\t\tcoords = space.from(color);\n\t}\n\n\treturn space.inGamut(coords, {epsilon});\n}\n", "export default function clone (color) {\n\treturn {\n\t\tspace: color.space,\n\t\tcoords: color.coords.slice(),\n\t\talpha: color.alpha,\n\t};\n}\n", "import ColorSpace from \"./space.js\";\n\n/**\n * Euclidean distance of colors in an arbitrary color space\n */\nexport default function distance (color1, color2, space = \"lab\") {\n\tspace = ColorSpace.get(space);\n\n\t// Assume getColor() is called on color in space.from()\n\tlet coords1 = space.from(color1);\n\tlet coords2 = space.from(color2);\n\n\treturn Math.sqrt(coords1.reduce((acc, c1, i) => {\n\t\tlet c2 = coords2[i];\n\t\tif (isNaN(c1) || isNaN(c2)) {\n\t\t\treturn acc;\n\t\t}\n\n\t\treturn acc + (c2 - c1) ** 2;\n\t}, 0));\n}\n", "import distance from \"../distance.js\";\nimport getColor from \"../getColor.js\";\n\nexport default function deltaE76 (color, sample) {\n\t// Assume getColor() is called in the distance function\n\treturn distance(color, sample, \"lab\");\n}\n", "import lab from \"../spaces/lab.js\";\nimport lch from \"../spaces/lch.js\";\nimport getColor from \"../getColor.js\";\n\n// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in Lab\n\n// CMC by the Color Measurement Committee of the\n// Bradford Society of Dyeists and Colorsts, 1994.\n// Uses LCH rather than Lab,\n// with different weights for L, C and H differences\n// A nice increase in accuracy for modest increase in complexity\nconst π = Math.PI;\nconst d2r = π / 180;\n\nexport default function (color, sample, {l = 2, c = 1} = {}) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE CMC.\n\n\t// This implementation assumes the parametric\n\t// weighting factors l:c are 2:1\n\t// which is typical for non-textile uses.\n\n\tlet [L1, a1, b1] = lab.from(color);\n\tlet [, C1, H1] = lch.from(lab, [L1, a1, b1]);\n\tlet [L2, a2, b2] = lab.from(sample);\n\tlet C2 = lch.from(lab, [L2, a2, b2])[1];\n\n\t// let [L1, a1, b1] = color.getAll(lab);\n\t// let C1 = color.get(\"lch.c\");\n\t// let H1 = color.get(\"lch.h\");\n\t// let [L2, a2, b2] = sample.getAll(lab);\n\t// let C2 = sample.get(\"lch.c\");\n\n\t// Check for negative Chroma,\n\t// which might happen through\n\t// direct user input of LCH values\n\n\tif (C1 < 0) {\n\t\tC1 = 0;\n\t}\n\tif (C2 < 0) {\n\t\tC2 = 0;\n\t}\n\n\t// we don't need H2 as ΔH is calculated from Δa, Δb and ΔC\n\n\t// Lightness and Chroma differences\n\t// These are (color - sample), unlike deltaE2000\n\tlet ΔL = L1 - L2;\n\tlet ΔC = C1 - C2;\n\n\tlet Δa = a1 - a2;\n\tlet Δb = b1 - b2;\n\n\t// weighted Hue difference, less for larger Chroma difference\n\n\tlet H2 = (Δa ** 2) + (Δb ** 2) - (ΔC ** 2);\n\t// due to roundoff error it is possible that, for zero a and b,\n\t// ΔC > Δa + Δb is 0, resulting in attempting\n\t// to take the square root of a negative number\n\n\t// trying instead the equation from Industrial Color Physics\n\t// By Georg A. Klein\n\n\t// let ΔH = ((a1 * b2) - (a2 * b1)) / Math.sqrt(0.5 * ((C2 * C1) + (a2 * a1) + (b2 * b1)));\n\t// console.log({ΔH});\n\t// This gives the same result to 12 decimal places\n\t// except it sometimes NaNs when trying to root a negative number\n\n\t// let ΔH = Math.sqrt(H2); we never actually use the root, it gets squared again!!\n\n\t// positional corrections to the lack of uniformity of CIELAB\n\t// These are all trying to make JND ellipsoids more like spheres\n\n\t// SL Lightness crispening factor, depends entirely on L1 not L2\n\tlet SL = 0.511;\t// linear portion of the Y to L transfer function\n\tif (L1 >= 16) {\t// cubic portion\n\t\tSL = (0.040975 * L1) / (1 + 0.01765 * L1);\n\t}\n\n\t// SC Chroma factor\n\tlet SC = ((0.0638 * C1) / (1 + 0.0131 * C1)) + 0.638;\n\n\t// Cross term T for blue non-linearity\n\tlet T;\n\tif (Number.isNaN(H1)) {\n\t\tH1 = 0;\n\t}\n\n\tif (H1 >= 164 && H1 <= 345) {\n\t\tT = 0.56 + Math.abs(0.2 * Math.cos((H1 + 168) * d2r));\n\t}\n\telse {\n\t\tT = 0.36 + Math.abs(0.4 * Math.cos((H1 + 35) * d2r));\n\t}\n\t// console.log({T});\n\n\t// SH Hue factor also depends on C1,\n\tlet C4 = Math.pow(C1, 4);\n\tlet F = Math.sqrt(C4 / (C4 + 1900));\n\tlet SH = SC * ((F * T) + 1 - F);\n\n\t// Finally calculate the deltaE, term by term as root sume of squares\n\tlet dE = (ΔL / (l * SL)) ** 2;\n\tdE += (ΔC / (c * SC)) ** 2;\n\tdE += (H2 / (SH ** 2));\n\t// dE += (ΔH / SH) ** 2;\n\treturn Math.sqrt(dE);\n\t// Yay!!!\n}\n", "import ColorSpace from \"../space.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\nconst Yw = 203;\t// absolute luminance of media white\n\nexport default new ColorSpace({\n// Absolute CIE XYZ, with a D65 whitepoint,\n// as used in most HDR colorspaces as a starting point.\n// SDR spaces are converted per BT.2048\n// so that diffuse, media white is 203 cd/m²\n\tid: \"xyz-abs-d65\",\n\tcssId: \"--xyz-abs-d65\",\n\tname: \"Absolute XYZ D65\",\n\tcoords: {\n\t\tx: {\n\t\t\trefRange: [0, 9504.7],\n\t\t\tname: \"Xa\",\n\t\t},\n\t\ty: {\n\t\t\trefRange: [0, 10000],\n\t\t\tname: \"Ya\",\n\t\t},\n\t\tz: {\n\t\t\trefRange: [0, 10888.3],\n\t\t\tname: \"Za\",\n\t\t},\n\t},\n\n\tbase: XYZ_D65,\n\tfromBase (XYZ) {\n\t\t// Make XYZ absolute, not relative to media white\n\t\t// Maximum luminance in PQ is 10,000 cd/m²\n\t\t// Relative XYZ has Y=1 for media white\n\t\treturn XYZ.map (v => Math.max(v * Yw, 0));\n\t},\n\ttoBase (AbsXYZ) {\n\t\t// Convert to media-white relative XYZ\n\t\treturn AbsXYZ.map(v => Math.max(v / Yw, 0));\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_Abs_D65 from \"./xyz-abs-d65.js\";\n\nconst b = 1.15;\nconst g = 0.66;\nconst n = 2610 / (2 ** 14);\nconst ninv = (2 ** 14) / 2610;\nconst c1 = 3424 / (2 ** 12);\nconst c2 = 2413 / (2 ** 7);\nconst c3 = 2392 / (2 ** 7);\nconst p = 1.7 * 2523 / (2 ** 5);\nconst pinv = (2 ** 5) / (1.7 * 2523);\nconst d = -0.56;\nconst d0 = 1.6295499532821566E-11;\n\nconst XYZtoCone_M = [\n\t[ 0.41478972, 0.579999, 0.0146480 ],\n\t[ -0.2015100, 1.120649, 0.0531008 ],\n\t[ -0.0166008, 0.264800, 0.6684799 ],\n];\n// XYZtoCone_M inverted\nconst ConetoXYZ_M = [\n\t[ 1.9242264357876067, -1.0047923125953657, 0.037651404030618 ],\n\t[ 0.35031676209499907, 0.7264811939316552, -0.06538442294808501 ],\n\t[ -0.09098281098284752, -0.3127282905230739, 1.5227665613052603 ],\n];\nconst ConetoIab_M = [\n\t[ 0.5, 0.5, 0 ],\n\t[ 3.524000, -4.066708, 0.542708 ],\n\t[ 0.199076, 1.096799, -1.295875 ],\n];\n// ConetoIab_M inverted\nconst IabtoCone_M = [\n\t[ 1, 0.1386050432715393, 0.05804731615611886 ],\n\t[ 0.9999999999999999, -0.1386050432715393, -0.05804731615611886 ],\n\t[ 0.9999999999999998, -0.09601924202631895, -0.8118918960560388 ],\n];\n\nexport default new ColorSpace({\n\tid: \"jzazbz\",\n\tname: \"Jzazbz\",\n\tcoords: {\n\t\tjz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Jz\",\n\t\t},\n\t\taz: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t},\n\t\tbz: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t},\n\t},\n\n\tbase: XYZ_Abs_D65,\n\tfromBase (XYZ) {\n\t\t// First make XYZ absolute, not relative to media white\n\t\t// Maximum luminance in PQ is 10,000 cd/m²\n\t\t// Relative XYZ has Y=1 for media white\n\t\t// BT.2048 says media white Y=203 at PQ 58\n\n\t\tlet [ Xa, Ya, Za ] = XYZ;\n\n\t\t// modify X and Y\n\t\tlet Xm = (b * Xa) - ((b - 1) * Za);\n\t\tlet Ym = (g * Ya) - ((g - 1) * Xa);\n\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoCone_M, [ Xm, Ym, Za ]);\n\n\t\t// PQ-encode LMS\n\t\tlet PQLMS = LMS.map (function (val) {\n\t\t\tlet num = c1 + (c2 * ((val / 10000) ** n));\n\t\t\tlet denom = 1 + (c3 * ((val / 10000) ** n));\n\n\t\t\treturn (num / denom) ** p;\n\t\t});\n\n\t\t// almost there, calculate Iz az bz\n\t\tlet [ Iz, az, bz] = multiplyMatrices(ConetoIab_M, PQLMS);\n\t\t// console.log({Iz, az, bz});\n\n\t\tlet Jz = ((1 + d) * Iz) / (1 + (d * Iz)) - d0;\n\t\treturn [Jz, az, bz];\n\t},\n\ttoBase (Jzazbz) {\n\t\tlet [Jz, az, bz] = Jzazbz;\n\t\tlet Iz = (Jz + d0) / (1 + d - d * (Jz + d0));\n\n\t\t// bring into LMS cone domain\n\t\tlet PQLMS = multiplyMatrices(IabtoCone_M, [ Iz, az, bz ]);\n\n\t\t// convert from PQ-coded to linear-light\n\t\tlet LMS = PQLMS.map(function (val) {\n\t\t\tlet num = (c1 - (val ** pinv));\n\t\t\tlet denom = (c3 * (val ** pinv)) - c2;\n\t\t\tlet x = 10000 * ((num / denom) ** ninv);\n\n\t\t\treturn (x); \t// luminance relative to diffuse white, [0, 70 or so].\n\t\t});\n\n\t\t// modified abs XYZ\n\t\tlet [ Xm, Ym, Za ] = multiplyMatrices(ConetoXYZ_M, LMS);\n\n\t\t// restore standard D50 relative XYZ, relative to media white\n\t\tlet Xa = (Xm + ((b - 1) * Za)) / b;\n\t\tlet Ya = (Ym + ((g - 1) * Xa)) / g;\n\t\treturn [ Xa, Ya, Za ];\n\t},\n\n\tformats: {\n\t\t// https://drafts.csswg.org/css-color-hdr/#Jzazbz\n\t\t\"color\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport Jzazbz from \"./jzazbz.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"jzczhz\",\n\tname: \"JzCzHz\",\n\tcoords: {\n\t\tjz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Jz\",\n\t\t},\n\t\tcz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\thz: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Jzazbz,\n\tfromBase (jzazbz) {\n\t\t// Convert to polar form\n\t\tlet [Jz, az, bz] = jzazbz;\n\t\tlet hue;\n\t\tconst ε = 0.0002; // chromatic components much smaller than a,b\n\n\t\tif (Math.abs(az) < ε && Math.abs(bz) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(bz, az) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tJz, // Jz is still Jz\n\t\t\tMath.sqrt(az ** 2 + bz ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (jzczhz) {\n\t\t// Convert from polar form\n\t\t// debugger;\n\t\treturn [\n\t\t\tjzczhz[0], // Jz is still Jz\n\t\t\tjzczhz[1] * Math.cos(jzczhz[2] * Math.PI / 180), // az\n\t\t\tjzczhz[1] * Math.sin(jzczhz[2] * Math.PI / 180), // bz\n\t\t];\n\t},\n});\n", "import jzczhz from \"../spaces/jzczhz.js\";\nimport getColor from \"../getColor.js\";\n\n// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in Lab\n\n// Uses JzCzHz, which has improved perceptual uniformity\n// and thus a simple Euclidean root-sum of ΔL² ΔC² ΔH²\n// gives good results.\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE in JzCzHz.\n\tlet [Jz1, Cz1, Hz1] = jzczhz.from(color);\n\tlet [Jz2, Cz2, Hz2] = jzczhz.from(sample);\n\n\t// Lightness and Chroma differences\n\t// sign does not matter as they are squared.\n\tlet ΔJ = Jz1 - Jz2;\n\tlet ΔC = Cz1 - Cz2;\n\n\t// length of chord for ΔH\n\tif ((Number.isNaN(Hz1)) && (Number.isNaN(Hz2))) {\n\t\t// both undefined hues\n\t\tHz1 = 0;\n\t\tHz2 = 0;\n\t}\n\telse if (Number.isNaN(Hz1)) {\n\t\t// one undefined, set to the defined hue\n\t\tHz1 = Hz2;\n\t}\n\telse if (Number.isNaN(Hz2)) {\n\t\tHz2 = Hz1;\n\t}\n\n\tlet Δh = Hz1 - Hz2;\n\tlet ΔH = 2 * Math.sqrt(Cz1 * Cz2) * Math.sin((Δh / 2) * (Math.PI / 180));\n\n\treturn Math.sqrt(ΔJ ** 2 + ΔC ** 2 + ΔH ** 2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_Abs_D65 from \"./xyz-abs-d65.js\";\n\nconst c1 = 3424 / 4096;\nconst c2 = 2413 / 128;\nconst c3 = 2392 / 128;\nconst m1 = 2610 / 16384;\nconst m2 = 2523 / 32;\nconst im1 = 16384 / 2610;\nconst im2 = 32 / 2523;\n\n// The matrix below includes the 4% crosstalk components\n// and is from the Dolby \"What is ICtCp\" paper\"\nconst XYZtoLMS_M = [\n\t[ 0.3592832590121217, 0.6976051147779502, -0.0358915932320290 ],\n\t[ -0.1920808463704993, 1.1004767970374321, 0.0753748658519118 ],\n\t[ 0.0070797844607479, 0.0748396662186362, 0.8433265453898765 ],\n];\n// linear-light Rec.2020 to LMS, again with crosstalk\n// rational terms from Jan Fröhlich,\n// Encoding High Dynamic Range andWide Color Gamut Imagery, p.97\n// and ITU-R BT.2124-0 p.2\n/*\nconst Rec2020toLMS_M = [\n\t[ 1688 / 4096, 2146 / 4096, 262 / 4096 ],\n\t[ 683 / 4096, 2951 / 4096, 462 / 4096 ],\n\t[ 99 / 4096, 309 / 4096, 3688 / 4096 ]\n];\n*/\n// this includes the Ebner LMS coefficients,\n// the rotation, and the scaling to [-0.5,0.5] range\n// rational terms from Fröhlich p.97\n// and ITU-R BT.2124-0 pp.2-3\nconst LMStoIPT_M = [\n\t[ 2048 / 4096, 2048 / 4096, 0 ],\n\t[ 6610 / 4096, -13613 / 4096, 7003 / 4096 ],\n\t[ 17933 / 4096, -17390 / 4096, -543 / 4096 ],\n];\n\n// inverted matrices, calculated from the above\nconst IPTtoLMS_M = [\n\t[ 0.9999999999999998, 0.0086090370379328, 0.1110296250030260 ],\n\t[ 0.9999999999999998, -0.0086090370379328, -0.1110296250030259 ],\n\t[ 0.9999999999999998, 0.5600313357106791, -0.3206271749873188 ],\n];\n/*\nconst LMStoRec2020_M = [\n\t[ 3.4375568932814012112, -2.5072112125095058195, 0.069654319228104608382],\n\t[-0.79142868665644156125, 1.9838372198740089874, -0.19240853321756742626 ],\n\t[-0.025646662911506476363, -0.099240248643945566751, 1.1248869115554520431 ]\n];\n*/\nconst LMStoXYZ_M = [\n\t[ 2.0701522183894223, -1.3263473389671563, 0.2066510476294053 ],\n\t[ 0.3647385209748072, 0.6805660249472273, -0.0453045459220347 ],\n\t[ -0.0497472075358123, -0.0492609666966131, 1.1880659249923042 ],\n];\n\n// Only the PQ form of ICtCp is implemented here. There is also an HLG form.\n// from Dolby, \"WHAT IS ICTCP?\"\n// https://professional.dolby.com/siteassets/pdfs/ictcp_dolbywhitepaper_v071.pdf\n// and\n// Dolby, \"Perceptual Color Volume\n// Measuring the Distinguishable Colors of HDR and WCG Displays\"\n// https://professional.dolby.com/siteassets/pdfs/dolby-vision-measuring-perceptual-color-volume-v7.1.pdf\nexport default new ColorSpace({\n\tid: \"ictcp\",\n\tname: \"ICTCP\",\n\t// From BT.2100-2 page 7:\n\t// During production, signal values are expected to exceed the\n\t// range E′ = [0.0 : 1.0]. This provides processing headroom and avoids\n\t// signal degradation during cascaded processing. Such values of E′,\n\t// below 0.0 or exceeding 1.0, should not be clipped during production\n\t// and exchange.\n\t// Values below 0.0 should not be clipped in reference displays (even\n\t// though they represent “negative” light) to allow the black level of\n\t// the signal (LB) to be properly set using test signals known as “PLUGE”\n\tcoords: {\n\t\ti: {\n\t\t\trefRange: [0, 1],\t// Constant luminance,\n\t\t\tname: \"I\",\n\t\t},\n\t\tct: {\n\t\t\trefRange: [-0.5, 0.5],\t// Full BT.2020 gamut in range [-0.5, 0.5]\n\t\t\tname: \"CT\",\n\t\t},\n\t\tcp: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t\tname: \"CP\",\n\t\t},\n\t},\n\n\tbase: XYZ_Abs_D65,\n\tfromBase (XYZ) {\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoLMS_M, XYZ);\n\n\t\treturn LMStoICtCp(LMS);\n\t},\n\ttoBase (ICtCp) {\n\t\tlet LMS = ICtCptoLMS(ICtCp);\n\n\t\treturn multiplyMatrices(LMStoXYZ_M, LMS);\n\t},\n});\n\nfunction LMStoICtCp (LMS) {\n\t// apply the PQ EOTF\n\t// we can't ever be dividing by zero because of the \"1 +\" in the denominator\n\tlet PQLMS = LMS.map (function (val) {\n\t\tlet num = c1 + (c2 * ((val / 10000) ** m1));\n\t\tlet denom = 1 + (c3 * ((val / 10000) ** m1));\n\n\t\treturn (num / denom) ** m2;\n\t});\n\n\t// LMS to IPT, with rotation for Y'C'bC'r compatibility\n\treturn multiplyMatrices(LMStoIPT_M, PQLMS);\n}\n\nfunction ICtCptoLMS (ICtCp) {\n\tlet PQLMS = multiplyMatrices(IPTtoLMS_M, ICtCp);\n\n\t// From BT.2124-0 Annex 2 Conversion 3\n\tlet LMS = PQLMS.map (function (val) {\n\t\tlet num = Math.max((val ** im2) - c1, 0);\n\t\tlet denom = (c2 - (c3 * (val ** im2)));\n\t\treturn 10000 * ((num / denom) ** im1);\n\t});\n\n\treturn LMS;\n}\n", "import ictcp from \"../spaces/ictcp.js\";\nimport getColor from \"../getColor.js\";\n\n// Delta E in ICtCp space,\n// which the ITU calls Delta E ITP, which is shorter\n// formulae from ITU Rec. ITU-R BT.2124-0\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE in ICtCp\n\t// which is simply the Euclidean distance\n\n\tlet [ I1, T1, P1 ] = ictcp.from(color);\n\tlet [ I2, T2, P2 ] = ictcp.from(sample);\n\n\t// the 0.25 factor is to undo the encoding scaling in Ct\n\t// the 720 is so that 1 deltaE = 1 JND\n\t// per ITU-R BT.2124-0 p.3\n\n\treturn 720 * Math.sqrt((I1 - I2) ** 2 + (0.25 * (T1 - T2) ** 2) + (P1 - P2) ** 2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices, interpolate, copySign, spow, zdiv, bisectLeft} from \"../util.js\";\nimport {constrain} from \"../angles.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {WHITES} from \"../adapt.js\";\n\nconst white = WHITES.D65;\nconst adaptedCoef = 0.42;\nconst adaptedCoefInv = 1 / adaptedCoef;\nconst tau = 2 * Math.PI;\n\nconst cat16 = [\n\t[ 0.401288, 0.650173, -0.051461 ],\n\t[ -0.250268, 1.204414, 0.045854 ],\n\t[ -0.002079, 0.048952, 0.953127 ],\n];\n\nconst cat16Inv = [\n\t[1.8620678550872327, -1.0112546305316843, 0.14918677544445175],\n\t[0.38752654323613717, 0.6214474419314753, -0.008973985167612518],\n\t[-0.015841498849333856, -0.03412293802851557, 1.0499644368778496],\n];\n\nconst m1 = [\n\t[460.0, 451.0, 288.0],\n\t[460.0, -891.0, -261.0],\n\t[460.0, -220.0, -6300.0],\n];\n\nconst surroundMap = {\n\tdark: [0.8, 0.525, 0.8],\n\tdim: [0.9, 0.59, 0.9],\n\taverage: [1, 0.69, 1],\n};\n\nconst hueQuadMap = {\n\t// Red, Yellow, Green, Blue, Red\n\th: [20.14, 90.00, 164.25, 237.53, 380.14],\n\te: [0.8, 0.7, 1.0, 1.2, 0.8],\n\tH: [0.0, 100.0, 200.0, 300.0, 400.0],\n};\n\nconst rad2deg = 180 / Math.PI;\nconst deg2rad = Math.PI / 180;\n\nexport function adapt (coords, fl) {\n\tconst temp = coords.map(c => {\n\t\tconst x = spow(fl * Math.abs(c) * 0.01, adaptedCoef);\n\t\treturn 400 * copySign(x, c) / (x + 27.13);\n\t});\n\treturn temp;\n}\n\nexport function unadapt (adapted, fl) {\n\tconst constant = 100 / fl * (27.13 ** adaptedCoefInv);\n\treturn adapted.map(c => {\n\t\tconst cabs = Math.abs(c);\n\t\treturn copySign(constant * spow(cabs / (400 - cabs), adaptedCoefInv), c);\n\t});\n}\n\nexport function hueQuadrature (h) {\n\tlet hp = constrain(h);\n\tif (hp <= hueQuadMap.h[0]) {\n\t\thp += 360;\n\t}\n\n\tconst i = bisectLeft(hueQuadMap.h, hp) - 1;\n\tconst [hi, hii] = hueQuadMap.h.slice(i, i + 2);\n\tconst [ei, eii] = hueQuadMap.e.slice(i, i + 2);\n\tconst Hi = hueQuadMap.H[i];\n\n\tconst t = (hp - hi) / ei;\n\treturn Hi + (100 * t) / (t + (hii - hp) / eii);\n}\n\nexport function invHueQuadrature (H) {\n\tlet Hp = ((H % 400 + 400) % 400);\n\tconst i = Math.floor(0.01 * Hp);\n\tHp = Hp % 100;\n\tconst [hi, hii] = hueQuadMap.h.slice(i, i + 2);\n\tconst [ei, eii] = hueQuadMap.e.slice(i, i + 2);\n\n\treturn constrain(\n\t\t(Hp * (eii * hi - ei * hii) - 100 * hi * eii) /\n\t\t(Hp * (eii - ei) - 100 * eii),\n\t);\n}\n\nexport function environment (\n\trefWhite,\n\tadaptingLuminance,\n\tbackgroundLuminance,\n\tsurround,\n\tdiscounting,\n) {\n\n\tconst env = {};\n\n\tenv.discounting = discounting;\n\tenv.refWhite = refWhite;\n\tenv.surround = surround;\n\tconst xyzW = refWhite.map(c => {\n\t\treturn c * 100;\n\t});\n\n\t// The average luminance of the environment in `cd/m^2cd/m` (a.k.a. nits)\n\tenv.la = adaptingLuminance;\n\t// The relative luminance of the nearby background\n\tenv.yb = backgroundLuminance;\n\t// Absolute luminance of the reference white.\n\tconst yw = xyzW[1];\n\n\t// Cone response for reference white\n\tconst rgbW = multiplyMatrices(cat16, xyzW);\n\n\t// Surround: dark, dim, and average\n\tsurround = surroundMap[env.surround];\n\tconst f = surround[0];\n\tenv.c = surround[1];\n\tenv.nc = surround[2];\n\n\tconst k = 1 / (5 * env.la + 1);\n\tconst k4 = k ** 4;\n\n\t// Factor of luminance level adaptation\n\tenv.fl = (k4 * env.la + 0.1 * (1 - k4) * (1 - k4) * Math.cbrt(5 * env.la));\n\tenv.flRoot = env.fl ** 0.25;\n\n\tenv.n = env.yb / yw;\n\tenv.z = 1.48 + Math.sqrt(env.n);\n\tenv.nbb = 0.725 * (env.n ** -0.2);\n\tenv.ncb = env.nbb;\n\n\t// Degree of adaptation calculating if not discounting\n\t// illuminant (assumed eye is fully adapted)\n\tconst d = (discounting) ?\n\t\t1 :\n\t\tMath.max(\n\t\t\tMath.min(f * (1 - 1 / 3.6 * Math.exp((-env.la - 42) / 92)), 1),\n\t\t\t0,\n\t\t);\n\tenv.dRgb = rgbW.map(c => {\n\t\treturn interpolate(1, yw / c, d);\n\t});\n\tenv.dRgbInv = env.dRgb.map(c => {\n\t\treturn 1 / c;\n\t});\n\n\t// Achromatic response\n\tconst rgbCW = rgbW.map((c, i) => {\n\t\treturn c * env.dRgb[i];\n\t});\n\tconst rgbAW = adapt(rgbCW, env.fl);\n\tenv.aW = env.nbb * (2 * rgbAW[0] + rgbAW[1] + 0.05 * rgbAW[2]);\n\n\t// console.log(env);\n\n\treturn env;\n}\n\n// Pre-calculate everything we can with the viewing conditions\nconst viewingConditions = environment(\n\twhite,\n\t64 / Math.PI * 0.2, 20,\n\t\"average\",\n\tfalse,\n);\n\nexport function fromCam16 (cam16, env) {\n\n\t// These check ensure one, and only one attribute for a\n\t// given category is provided.\n\tif (!((cam16.J !== undefined) ^ (cam16.Q !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'J' or 'Q'\");\n\t}\n\n\tif (!((cam16.C !== undefined) ^ (cam16.M !== undefined) ^ (cam16.s !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'C', 'M' or 's'\");\n\t}\n\n\t// Hue is absolutely required\n\tif (!((cam16.h !== undefined) ^ (cam16.H !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'h' or 'H'\");\n\t}\n\n\t// Black\n\tif (cam16.J === 0.0 || cam16.Q === 0.0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\n\t// Break hue into Cartesian components\n\tlet hRad = 0.0;\n\tif (cam16.h !== undefined) {\n\t\thRad = constrain(cam16.h) * deg2rad;\n\t}\n\telse {\n\t\thRad = invHueQuadrature(cam16.H) * deg2rad;\n\t}\n\n\tconst cosh = Math.cos(hRad);\n\tconst sinh = Math.sin(hRad);\n\n\t// Calculate `Jroot` from one of the lightness derived coordinates.\n\tlet Jroot = 0.0;\n\tif (cam16.J !== undefined) {\n\t\tJroot = spow(cam16.J, 1 / 2) * 0.1;\n\t}\n\telse if (cam16.Q !== undefined) {\n\t\tJroot = 0.25 * env.c * cam16.Q / ((env.aW + 4) * env.flRoot);\n\t}\n\n\t// Calculate the `t` value from one of the chroma derived coordinates\n\tlet alpha = 0.0;\n\tif (cam16.C !== undefined) {\n\t\talpha = cam16.C / Jroot;\n\t}\n\telse if (cam16.M !== undefined) {\n\t\talpha = (cam16.M / env.flRoot) / Jroot;\n\t}\n\telse if (cam16.s !== undefined) {\n\t\talpha = 0.0004 * (cam16.s ** 2) * (env.aW + 4) / env.c;\n\t}\n\tconst t = spow(\n\t\talpha * Math.pow(1.64 - Math.pow(0.29, env.n), -0.73),\n\t\t10 / 9,\n\t);\n\n\t// Eccentricity\n\tconst et = 0.25 * (Math.cos(hRad + 2) + 3.8);\n\n\t// Achromatic response\n\tconst A = env.aW * spow(Jroot, 2 / env.c / env.z);\n\n\t// Calculate red-green and yellow-blue components\n\tconst p1 = 5e4 / 13 * env.nc * env.ncb * et;\n\tconst p2 = A / env.nbb;\n\tconst r = (\n\t\t23 * (p2 + 0.305) *\n\t\tzdiv(t, 23 * p1 + t * (11 * cosh + 108 * sinh))\n\t);\n\tconst a = r * cosh;\n\tconst b = r * sinh;\n\n\t// Calculate back from cone response to XYZ\n\tconst rgb_c = unadapt(\n\t\tmultiplyMatrices(m1, [p2, a, b]).map(c => {\n\t\t\treturn c * 1 / 1403;\n\t\t}),\n\t\tenv.fl,\n\t);\n\treturn multiplyMatrices(\n\t\tcat16Inv,\n\t\trgb_c.map((c, i) => {\n\t\t\treturn c * env.dRgbInv[i];\n\t\t}),\n\t).map(c => {\n\t\treturn c / 100;\n\t});\n}\n\n\nexport function toCam16 (xyzd65, env) {\n\t// Cone response\n\tconst xyz100 = xyzd65.map(c => {\n\t\treturn c * 100;\n\t});\n\tconst rgbA = adapt(\n\t\tmultiplyMatrices(cat16, xyz100).map((c, i) => {\n\t\t\treturn c * env.dRgb[i];\n\t\t}),\n\t\tenv.fl,\n\t);\n\n\t// Calculate hue from red-green and yellow-blue components\n\tconst a = rgbA[0] + (-12 * rgbA[1] + rgbA[2]) / 11;\n\tconst b = (rgbA[0] + rgbA[1] - 2 * rgbA[2]) / 9;\n\tconst hRad = ((Math.atan2(b, a) % tau) + tau) % tau;\n\n\t// Eccentricity\n\tconst et = 0.25 * (Math.cos(hRad + 2) + 3.8);\n\n\tconst t = (\n\t\t5e4 / 13 * env.nc * env.ncb *\n\t\tzdiv(\n\t\t\tet * Math.sqrt(a ** 2 + b ** 2),\n\t\t\trgbA[0] + rgbA[1] + 1.05 * rgbA[2] + 0.305,\n\t\t)\n\t);\n\tconst alpha = spow(t, 0.9) * Math.pow(1.64 - Math.pow(0.29, env.n), 0.73);\n\n\t// Achromatic response\n\tconst A = env.nbb * (2 * rgbA[0] + rgbA[1] + 0.05 * rgbA[2]);\n\n\tconst Jroot = spow(A / env.aW, 0.5 * env.c * env.z);\n\n\t// Lightness\n\tconst J = 100 * spow(Jroot, 2);\n\n\t// Brightness\n\tconst Q = (4 / env.c * Jroot * (env.aW + 4) * env.flRoot);\n\n\t// Chroma\n\tconst C = alpha * Jroot;\n\n\t// Colorfulness\n\tconst M = C * env.flRoot;\n\n\t// Hue\n\tconst h = constrain(hRad * rad2deg);\n\n\t// Hue quadrature\n\tconst H = hueQuadrature(h);\n\n\t// Saturation\n\tconst s = 50 * spow(env.c * alpha / (env.aW + 4), 1 / 2);\n\n\t// console.log({J: J, C: C, h: h, s: s, Q: Q, M: M, H: H});\n\n\treturn {J: J, C: C, h: h, s: s, Q: Q, M: M, H: H};\n}\n\n\n// Provided as a way to directly evaluate the CAM16 model\n// https://observablehq.com/@jrus/cam16: reference implementation\n// https://arxiv.org/pdf/1802.06067.pdf: Nico Schlömer\n// https://onlinelibrary.wiley.com/doi/pdf/10.1002/col.22324: hue quadrature\n// https://www.researchgate.net/publication/318152296_Comprehensive_color_solutions_CAM16_CAT16_and_CAM16-UCS\n// Results compared against: https://github.com/colour-science/colour\nexport default new ColorSpace({\n\tid: \"cam16-jmh\",\n\tcssId: \"--cam16-jmh\",\n\tname: \"CAM16-JMh\",\n\tcoords: {\n\t\tj: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"J\",\n\t\t},\n\t\tm: {\n\t\t\trefRange: [0, 105.0],\n\t\t\tname: \"Colorfulness\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: xyz_d65,\n\n\tfromBase (xyz) {\n\t\tconst cam16 = toCam16(xyz, viewingConditions);\n\t\treturn [cam16.J, cam16.M, cam16.h];\n\t},\n\ttoBase (cam16) {\n\t\treturn fromCam16(\n\t\t\t{J: cam16[0], M: cam16[1], h: cam16[2]},\n\t\t\tviewingConditions,\n\t\t);\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {constrain} from \"../angles.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {fromCam16, toCam16, environment} from \"./cam16.js\";\nimport {WHITES} from \"../adapt.js\";\n\nconst white = WHITES.D65;\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nfunction toLstar (y) {\n\t// Convert XYZ Y to L*\n\n\tconst fy = (y > ε) ? Math.cbrt(y) : (κ * y + 16) / 116;\n\treturn (116.0 * fy) - 16.0;\n}\n\nfunction fromLstar (lstar) {\n\t// Convert L* back to XYZ Y\n\n\treturn (lstar > 8) ? Math.pow((lstar + 16) / 116, 3) : lstar / κ;\n}\n\nfunction fromHct (coords, env) {\n\t// Use Newton's method to try and converge as quick as possible or\n\t// converge as close as we can. While the requested precision is achieved\n\t// most of the time, it may not always be achievable. Especially past the\n\t// visible spectrum, the algorithm will likely struggle to get the same\n\t// precision. If, for whatever reason, we cannot achieve the accuracy we\n\t// seek in the allotted iterations, just return the closest we were able to\n\t// get.\n\n\tlet [h, c, t] = coords;\n\tlet xyz = [];\n\tlet j = 0;\n\n\t// Shortcut out for black\n\tif (t === 0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\n\t// Calculate the Y we need to target\n\tlet y = fromLstar(t);\n\n\t// A better initial guess yields better results. Polynomials come from\n\t// curve fitting the T vs J response.\n\tif (t > 0) {\n\t\tj = 0.00379058511492914 * t ** 2 + 0.608983189401032 * t + 0.9155088574762233;\n\t}\n\telse {\n\t\tj = 9.514440756550361e-06 * t ** 2 + 0.08693057439788597 * t - 21.928975842194614;\n\t}\n\n\t// Threshold of how close is close enough, and max number of attempts.\n\t// More precision and more attempts means more time spent iterating. Higher\n\t// required precision gives more accuracy but also increases the chance of\n\t// not hitting the goal. 2e-12 allows us to convert round trip with\n\t// reasonable accuracy of six decimal places or more.\n\tconst threshold = 2e-12;\n\tconst max_attempts = 15;\n\n\tlet attempt = 0;\n\tlet last = Infinity;\n\tlet best = j;\n\n\t// Try to find a J such that the returned y matches the returned y of the L*\n\twhile (attempt <= max_attempts) {\n\t\txyz = fromCam16({J: j, C: c, h: h}, env);\n\n\t\t// If we are within range, return XYZ\n\t\t// If we are closer than last time, save the values\n\t\tconst delta = Math.abs(xyz[1] - y);\n\t\tif (delta < last) {\n\t\t\tif (delta <= threshold) {\n\t\t\t\treturn xyz;\n\t\t\t}\n\t\t\tbest = j;\n\t\t\tlast = delta;\n\t\t}\n\n\t\t// f(j_root) = (j ** (1 / 2)) * 0.1\n\t\t// f(j) = ((f(j_root) * 100) ** 2) / j - 1 = 0\n\t\t// f(j_root) = Y = y / 100\n\t\t// f(j) = (y ** 2) / j - 1\n\t\t// f'(j) = (2 * y) / j\n\t\tj = j - (xyz[1] - y) * j / (2 * xyz[1]);\n\n\t\tattempt += 1;\n\t}\n\n\t// We could not acquire the precision we desired,\n\t// return our closest attempt.\n\treturn fromCam16({J: j, C: c, h: h}, env);\n}\n\nfunction toHct (xyz, env) {\n\t// Calculate HCT by taking the L* of CIE LCh D65 and CAM16 chroma and hue.\n\n\tconst t = toLstar(xyz[1]);\n\tif (t === 0.0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\tconst cam16 = toCam16(xyz, viewingConditions);\n\treturn [constrain(cam16.h), cam16.C, t];\n}\n\n// Pre-calculate everything we can with the viewing conditions\nexport const viewingConditions = environment(\n\twhite, 200 / Math.PI * fromLstar(50.0),\n\tfromLstar(50.0) * 100,\n\t\"average\",\n\tfalse,\n);\n\n// https://material.io/blog/science-of-color-design\n// This is not a port of the material-color-utilities,\n// but instead implements the full color space as described,\n// combining CAM16 JCh and Lab D65. This does not clamp conversion\n// to HCT to specific chroma bands and provides support for wider\n// gamuts than Google currently supports and does so at a greater\n// precision (> 8 bits back to sRGB).\n// This implementation comes from https://github.com/facelessuser/coloraide\n// which is licensed under MIT.\nexport default new ColorSpace({\n\tid: \"hct\",\n\tname: \"HCT\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 145],\n\t\t\tname: \"Colorfulness\",\n\t\t},\n\t\tt: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Tone\",\n\t\t},\n\t},\n\n\tbase: xyz_d65,\n\n\tfromBase (xyz) {\n\t\treturn toHct(xyz, viewingConditions);\n\t},\n\ttoBase (hct) {\n\t\treturn fromHct(hct, viewingConditions);\n\t},\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hct\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import hct from \"../spaces/hct.js\";\nimport {viewingConditions} from \"../spaces/hct.js\";\nimport getColor from \"../getColor.js\";\n\nconst rad2deg = 180 / Math.PI;\nconst deg2rad = Math.PI / 180;\nconst ucsCoeff = [1.00, 0.007, 0.0228];\n\n/**\n* Convert HCT chroma and hue (CAM16 JMh colorfulness and hue) using UCS logic for a and b.\n* @param {number[]} coords - HCT coordinates.\n* @return {number[]}\n*/\nfunction convertUcsAb (coords) {\n\t// We want the distance between the actual color.\n\t// If chroma is negative, it will throw off our calculations.\n\t// Normally, converting back to the base and forward will correct it.\n\t// If we have a negative chroma after this, then we have a color that\n\t// cannot resolve to positive chroma.\n\tif (coords[1] < 0) {\n\t\tcoords = hct.fromBase(hct.toBase(coords));\n\t}\n\n\t// Only in extreme cases (usually outside the visible spectrum)\n\t// can the input value for log become negative.\n\t// Avoid domain error by forcing a zero result via \"max\" if necessary.\n\tconst M = Math.log(Math.max(1 + ucsCoeff[2] * coords[1] * viewingConditions.flRoot, 1.0)) / ucsCoeff[2];\n\tconst hrad = coords[0] * deg2rad;\n\tconst a = M * Math.cos(hrad);\n\tconst b = M * Math.sin(hrad);\n\n\treturn [coords[2], a, b];\n}\n\n\n/**\n* Color distance using HCT.\n* @param {Color} color - Color to compare.\n* @param {Color} sample - Color to compare.\n* @return {number[]}\n*/\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\tlet [ t1, a1, b1 ] = convertUcsAb(hct.from(color));\n\tlet [ t2, a2, b2 ] = convertUcsAb(hct.from(sample));\n\n\t// Use simple euclidean distance with a and b using UCS conversion\n\t// and LCh lightness (HCT tone).\n\treturn Math.sqrt((t1 - t2) ** 2 + (a1 - a2) ** 2 + (b1 - b2) ** 2);\n}\n", "import deltaE76 from \"./deltaE76.js\";\nimport deltaECMC from \"./deltaECMC.js\";\nimport deltaE2000 from \"./deltaE2000.js\";\nimport deltaEJz from \"./deltaEJz.js\";\nimport deltaEITP from \"./deltaEITP.js\";\nimport deltaEOK from \"./deltaEOK.js\";\nimport deltaEHCT from \"./deltaEHCT.js\";\n\nexport {\n\tdeltaE76,\n\tdeltaECMC,\n\tdeltaE2000,\n\tdeltaEJz,\n\tdeltaEITP,\n\tdeltaEOK,\n\tdeltaEHCT,\n};\n\nexport default {\n\tdeltaE76,\n\tdeltaECMC,\n\tdeltaE2000,\n\tdeltaEJz,\n\tdeltaEITP,\n\tdeltaEOK,\n\tdeltaEHCT,\n};\n", "import * as util from \"./util.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\nimport deltaE2000 from \"./deltaE/deltaE2000.js\";\nimport deltaEOK from \"./deltaE/deltaEOK.js\";\nimport inGamut from \"./inGamut.js\";\nimport to from \"./to.js\";\nimport get from \"./get.js\";\nimport oklab from \"./spaces/oklab.js\";\nimport set from \"./set.js\";\nimport clone from \"./clone.js\";\nimport getColor from \"./getColor.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\nimport {WHITES} from \"./adapt.js\";\n\n/**\n * Calculate the epsilon to 2 degrees smaller than the specified JND.\n * @param {Number} jnd - The target \"just noticeable difference\".\n * @returns {Number}\n */\nfunction calcEpsilon (jnd) {\n\t// Calculate the epsilon to 2 degrees smaller than the specified JND.\n\n\tconst order = (!jnd) ? 0 : Math.floor(Math.log10(Math.abs(jnd)));\n\t// Limit to an arbitrary value to ensure value is never too small and causes infinite loops.\n\treturn Math.max(parseFloat(`1e${order - 2}`), 1e-6);\n}\n\nconst GMAPPRESET = {\n\t\"hct\": {\n\t\tmethod: \"hct.c\",\n\t\tjnd: 2,\n\t\tdeltaEMethod: \"hct\",\n\t\tblackWhiteClamp: {},\n\t},\n\t\"hct-tonal\": {\n\t\tmethod: \"hct.c\",\n\t\tjnd: 0,\n\t\tdeltaEMethod: \"hct\",\n\t\tblackWhiteClamp: { channel: \"hct.t\", min: 0, max: 100 },\n\t},\n};\n\n/**\n * Force coordinates to be in gamut of a certain color space.\n * Mutates the color it is passed.\n * @param {Object|string} options object or spaceId string\n * @param {string} options.method - How to force into gamut.\n * If \"clip\", coordinates are just clipped to their reference range.\n * If \"css\", coordinates are reduced according to the CSS 4 Gamut Mapping Algorithm.\n * If in the form [colorSpaceId].[coordName], that coordinate is reduced\n * until the color is in gamut. Please note that this may produce nonsensical\n * results for certain coordinates (e.g. hue) or infinite loops if reducing the coordinate never brings the color in gamut.\n * @param {ColorSpace|string} options.space - The space whose gamut we want to map to\n * @param {string} options.deltaEMethod - The delta E method to use while performing gamut mapping.\n * If no method is specified, delta E 2000 is used.\n * @param {Number} options.jnd - The \"just noticeable difference\" to target.\n * @param {Object} options.blackWhiteClamp - Used to configure SDR black and clamping.\n * \"channel\" indicates the \"space.channel\" to use for determining when to clamp.\n * \"min\" indicates the lower limit for black clamping and \"max\" indicates the upper\n * limit for white clamping.\n */\n\nexport default function toGamut (\n\tcolor,\n\t{\n\t\tmethod = defaults.gamut_mapping,\n\t\tspace = undefined,\n\t\tdeltaEMethod = \"\",\n\t\tjnd = 2,\n\t\tblackWhiteClamp = {},\n\t} = {},\n) {\n\tcolor = getColor(color);\n\n\tif (util.isString(arguments[1])) {\n\t\tspace = arguments[1];\n\t}\n\telse if (!space) {\n\t\tspace = color.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\n\t// 3 spaces:\n\t// color.space: current color space\n\t// space: space whose gamut we are mapping to\n\t// mapSpace: space with the coord we're reducing\n\n\tif (inGamut(color, space, { epsilon: 0 })) {\n\t\treturn color;\n\t}\n\n\tlet spaceColor;\n\tif (method === \"css\") {\n\t\tspaceColor = toGamutCSS(color, { space });\n\t}\n\telse {\n\t\tif (method !== \"clip\" && !inGamut(color, space)) {\n\n\t\t\tif (Object.prototype.hasOwnProperty.call(GMAPPRESET, method)) {\n\t\t\t\t({method, jnd, deltaEMethod, blackWhiteClamp} = GMAPPRESET[method]);\n\t\t\t}\n\n\t\t\t// Get the correct delta E method\n\t\t\tlet de = deltaE2000;\n\t\t\tif (deltaEMethod !== \"\") {\n\t\t\t\tfor (let m in deltaEMethods) {\n\t\t\t\t\tif (\"deltae\" + deltaEMethod.toLowerCase() === m.toLowerCase()) {\n\t\t\t\t\t\tde = deltaEMethods[m];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet clipped = toGamut(to(color, space), { method: \"clip\", space });\n\t\t\tif (de(color, clipped) > jnd) {\n\n\t\t\t\t// Clamp to SDR white and black if required\n\t\t\t\tif (Object.keys(blackWhiteClamp).length === 3) {\n\t\t\t\t\tlet channelMeta = ColorSpace.resolveCoord(blackWhiteClamp.channel);\n\t\t\t\t\tlet channel = get(to(color, channelMeta.space), channelMeta.id);\n\t\t\t\t\tif (util.isNone(channel)) {\n\t\t\t\t\t\tchannel = 0;\n\t\t\t\t\t}\n\t\t\t\t\tif (channel >= blackWhiteClamp.max) {\n\t\t\t\t\t\treturn to({ space: \"xyz-d65\", coords: WHITES[\"D65\"] }, color.space);\n\t\t\t\t\t}\n\t\t\t\t\telse if (channel <= blackWhiteClamp.min) {\n\t\t\t\t\t\treturn to({ space: \"xyz-d65\", coords: [0, 0, 0] }, color.space);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Reduce a coordinate of a certain color space until the color is in gamut\n\t\t\t\tlet coordMeta = ColorSpace.resolveCoord(method);\n\t\t\t\tlet mapSpace = coordMeta.space;\n\t\t\t\tlet coordId = coordMeta.id;\n\n\t\t\t\tlet mappedColor = to(color, mapSpace);\n\t\t\t\t// If we were already in the mapped color space, we need to resolve undefined channels\n\t\t\t\tmappedColor.coords.forEach((c, i) => {\n\t\t\t\t\tif (util.isNone(c)) {\n\t\t\t\t\t\tmappedColor.coords[i] = 0;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tlet bounds = coordMeta.range || coordMeta.refRange;\n\t\t\t\tlet min = bounds[0];\n\t\t\t\tlet ε = calcEpsilon(jnd);\n\t\t\t\tlet low = min;\n\t\t\t\tlet high = get(mappedColor, coordId);\n\n\t\t\t\twhile (high - low > ε) {\n\t\t\t\t\tlet clipped = clone(mappedColor);\n\t\t\t\t\tclipped = toGamut(clipped, { space, method: \"clip\" });\n\t\t\t\t\tlet deltaE = de(mappedColor, clipped);\n\n\t\t\t\t\tif (deltaE - jnd < ε) {\n\t\t\t\t\t\tlow = get(mappedColor, coordId);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\thigh = get(mappedColor, coordId);\n\t\t\t\t\t}\n\n\t\t\t\t\tset(mappedColor, coordId, (low + high) / 2);\n\t\t\t\t}\n\n\t\t\t\tspaceColor = to(mappedColor, space);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tspaceColor = clipped;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tspaceColor = to(color, space);\n\t\t}\n\n\t\tif (method === \"clip\" // Dumb coord clipping\n\t\t\t// finish off smarter gamut mapping with clip to get rid of ε, see #17\n\t\t\t|| !inGamut(spaceColor, space, { epsilon: 0 })\n\t\t) {\n\t\t\tlet bounds = Object.values(space.coords).map(c => c.range || []);\n\n\t\t\tspaceColor.coords = spaceColor.coords.map((c, i) => {\n\t\t\t\tlet [min, max] = bounds[i];\n\n\t\t\t\tif (min !== undefined) {\n\t\t\t\t\tc = Math.max(min, c);\n\t\t\t\t}\n\n\t\t\t\tif (max !== undefined) {\n\t\t\t\t\tc = Math.min(c, max);\n\t\t\t\t}\n\n\t\t\t\treturn c;\n\t\t\t});\n\t\t}\n\t}\n\n\tif (space !== color.space) {\n\t\tspaceColor = to(spaceColor, color.space);\n\t}\n\n\tcolor.coords = spaceColor.coords;\n\treturn color;\n}\n\ntoGamut.returns = \"color\";\n\n// The reference colors to be used if lightness is out of the range 0-1 in the\n// `Oklch` space. These are created in the `Oklab` space, as it is used by the\n// DeltaEOK calculation, so it is guaranteed to be imported.\nconst COLORS = {\n\tWHITE: { space: oklab, coords: [1, 0, 0] },\n\tBLACK: { space: oklab, coords: [0, 0, 0] },\n};\n\n/**\n * Given a color `origin`, returns a new color that is in gamut using\n * the CSS Gamut Mapping Algorithm. If `space` is specified, it will be in gamut\n * in `space`, and returned in `space`. Otherwise, it will be in gamut and\n * returned in the color space of `origin`.\n * @param {Object} origin\n * @param {Object} options\n * @param {ColorSpace|string} options.space\n * @returns {Color}\n */\nexport function toGamutCSS (origin, {space} = {}) {\n\tconst JND = 0.02;\n\tconst ε = 0.0001;\n\n\torigin = getColor(origin);\n\n\tif (!space) {\n\t\tspace = origin.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\tconst oklchSpace = ColorSpace.get(\"oklch\");\n\n\tif (space.isUnbounded) {\n\t\treturn to(origin, space);\n\t}\n\n\tconst origin_OKLCH = to(origin, oklchSpace);\n\tlet L = origin_OKLCH.coords[0];\n\n\t// return media white or black, if lightness is out of range\n\tif (L >= 1) {\n\t\tconst white = to(COLORS.WHITE, space);\n\t\twhite.alpha = origin.alpha;\n\t\treturn to(white, space);\n\t}\n\tif (L <= 0) {\n\t\tconst black = to(COLORS.BLACK, space);\n\t\tblack.alpha = origin.alpha;\n\t\treturn to(black, space);\n\t}\n\n\tif (inGamut(origin_OKLCH, space, {epsilon: 0})) {\n\t\treturn to(origin_OKLCH, space);\n\t}\n\n\tfunction clip (_color) {\n\t\tconst destColor = to(_color, space);\n\t\tconst spaceCoords = Object.values(space.coords);\n\t\tdestColor.coords = destColor.coords.map((coord, index) => {\n\t\t\tif (\"range\" in spaceCoords[index]) {\n\t\t\t\tconst [min, max] = spaceCoords[index].range;\n\t\t\t\treturn util.clamp(min, coord, max);\n\t\t\t}\n\t\t\treturn coord;\n\t\t});\n\t\treturn destColor;\n\t}\n\tlet min = 0;\n\tlet max = origin_OKLCH.coords[1];\n\tlet min_inGamut = true;\n\tlet current = clone(origin_OKLCH);\n\tlet clipped = clip(current);\n\n\tlet E = deltaEOK(clipped, current);\n\tif (E < JND) {\n\t\treturn clipped;\n\t}\n\n\twhile ((max - min) > ε) {\n\t\tconst chroma = (min + max) / 2;\n\t\tcurrent.coords[1] = chroma;\n\t\tif (min_inGamut && inGamut(current, space, {epsilon: 0})) {\n\t\t\tmin = chroma;\n\t\t}\n\t\telse {\n\t\t\tclipped = clip(current);\n\t\t\tE = deltaEOK(clipped, current);\n\t\t\tif (E < JND) {\n\t\t\t\tif ((JND - E < ε)) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tmin_inGamut = false;\n\t\t\t\t\tmin = chroma;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tmax = chroma;\n\t\t\t}\n\t\t}\n\t}\n\treturn clipped;\n}\n", "import getColor from \"./getColor.js\";\nimport ColorSpace from \"./space.js\";\nimport toGamut from \"./toGamut.js\";\n\n/**\n * Convert to color space and return a new color\n * @param {Object|string} space - Color space object or id\n * @param {Object} options\n * @param {boolean} options.inGamut - Whether to force resulting color in gamut\n * @returns {Color}\n */\nexport default function to (color, space, {inGamut} = {}) {\n\tcolor = getColor(color);\n\tspace = ColorSpace.get(space);\n\n\tlet coords = space.from(color);\n\tlet ret = {space, coords, alpha: color.alpha};\n\n\tif (inGamut) {\n\t\tret = toGamut(ret, inGamut === true ? undefined : inGamut);\n\t}\n\n\treturn ret;\n}\n\nto.returns = \"color\";\n", "import * as util from \"./util.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\nimport getColor from \"./getColor.js\";\nimport checkInGamut from \"./inGamut.js\";\nimport toGamut from \"./toGamut.js\";\nimport clone from \"./clone.js\";\n\n/**\n * Generic toString() method, outputs a color(spaceId ...coords) function, a functional syntax, or custom formats defined by the color space\n * @param {Object} options\n * @param {number} options.precision - Significant digits\n * @param {boolean} options.inGamut - Adjust coordinates to fit in gamut first? [default: false]\n */\nexport default function serialize (color, {\n\tprecision = defaults.precision,\n\tformat = \"default\",\n\tinGamut = true,\n\t...customOptions\n} = {}) {\n\tlet ret;\n\n\tcolor = getColor(color);\n\n\tlet formatId = format;\n\tformat = color.space.getFormat(format)\n\t ?? color.space.getFormat(\"default\")\n\t ?? ColorSpace.DEFAULT_FORMAT;\n\n\t// The assignment to coords and inGamut needs to stay in the order they are now\n\t// The order of the assignment was changed as a workaround for a bug in Next.js\n\t// See this issue for details: https://github.com/color-js/color.js/issues/260\n\n\tlet coords = color.coords.slice(); // clone so we can manipulate it\n\n\tinGamut ||= format.toGamut;\n\n\tif (inGamut && !checkInGamut(color)) {\n\t\t// FIXME what happens if the color contains NaNs?\n\t\tcoords = toGamut(clone(color), inGamut === true ? undefined : inGamut).coords;\n\t}\n\n\tif (format.type === \"custom\") {\n\t\tcustomOptions.precision = precision;\n\n\t\tif (format.serialize) {\n\t\t\tret = format.serialize(coords, color.alpha, customOptions);\n\t\t}\n\t\telse {\n\t\t\tthrow new TypeError(`format ${formatId} can only be used to parse colors, not for serialization`);\n\t\t}\n\t}\n\telse {\n\t\t// Functional syntax\n\t\tlet name = format.name || \"color\";\n\n\t\tif (format.serializeCoords) {\n\t\t\tcoords = format.serializeCoords(coords, precision);\n\t\t}\n\t\telse {\n\t\t\tif (precision !== null) {\n\t\t\t\tcoords = coords.map(c => {\n\t\t\t\t\treturn util.serializeNumber(c, {precision});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tlet args = [...coords];\n\n\t\tif (name === \"color\") {\n\t\t\t// If output is a color() function, add colorspace id as first argument\n\t\t\tlet cssId = format.id || format.ids?.[0] || color.space.id;\n\t\t\targs.unshift(cssId);\n\t\t}\n\n\t\tlet alpha = color.alpha;\n\t\tif (precision !== null) {\n\t\t\talpha = util.serializeNumber(alpha, {precision});\n\t\t}\n\n\t\tlet strAlpha = color.alpha >= 1 || format.noAlpha ? \"\" : `${format.commas ? \",\" : \" /\"} ${alpha}`;\n\t\tret = `${name}(${args.join(format.commas ? \", \" : \" \")}${strAlpha})`;\n\t}\n\n\treturn ret;\n}\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// convert an array of linear-light rec2020 values to CIE XYZ\n// using D65 (no chromatic adaptation)\n// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n// 0 is actually calculated as 4.994106574466076e-17\nconst toXYZ_M = [\n\t[ 0.6369580483012914, 0.14461690358620832, 0.1688809751641721 ],\n\t[ 0.2627002120112671, 0.6779980715188708, 0.05930171646986196 ],\n\t[ 0.000000000000000, 0.028072693049087428, 1.060985057710791 ],\n];\n\n// from ITU-R BT.2124-0 Annex 2 p.3\nconst fromXYZ_M = [\n\t[ 1.716651187971268, -0.355670783776392, -0.253366281373660 ],\n\t[ -0.666684351832489, 1.616481236634939, 0.0157685458139111 ],\n\t[ 0.017639857445311, -0.042770613257809, 0.942103121235474 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"rec2020-linear\",\n\tcssId: \"--rec2020-linear\",\n\tname: \"Linear REC.2020\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n// import sRGB from \"./srgb.js\";\n\nconst α = 1.09929682680944;\nconst β = 0.018053968510807;\n\nexport default new RGBColorSpace({\n\tid: \"rec2020\",\n\tname: \"REC.2020\",\n\tbase: REC2020Linear,\n\t// Non-linear transfer function from Rec. ITU-R BT.2020-2 table 4\n\ttoBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val < β * 4.5) {\n\t\t\t\treturn val / 4.5;\n\t\t\t}\n\n\t\t\treturn Math.pow((val + α - 1) / α, 1 / 0.45);\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val >= β) {\n\t\t\t\treturn α * Math.pow(val, 0.45) - (α - 1);\n\t\t\t}\n\n\t\t\treturn 4.5 * val;\n\t\t});\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\nconst toXYZ_M = [\n\t[0.4865709486482162, 0.26566769316909306, 0.1982172852343625],\n\t[0.2289745640697488, 0.6917385218365064, 0.079286914093745],\n\t[0.0000000000000000, 0.04511338185890264, 1.043944368900976],\n];\n\nconst fromXYZ_M = [\n\t[ 2.493496911941425, -0.9313836179191239, -0.40271078445071684],\n\t[-0.8294889695615747, 1.7626640603183463, 0.023624685841943577],\n\t[ 0.03584583024378447, -0.07617238926804182, 0.9568845240076872],\n];\n\nexport default new RGBColorSpace({\n\tid: \"p3-linear\",\n\tcssId: \"--display-p3-linear\",\n\tname: \"Linear P3\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// This is the linear-light version of sRGB\n// as used for example in SVG filters\n// or in Canvas\n\n// This matrix was calculated directly from the RGB and white chromaticities\n// when rounded to 8 decimal places, it agrees completely with the official matrix\n// see https://github.com/w3c/csswg-drafts/issues/5922\nconst toXYZ_M = [\n\t[ 0.41239079926595934, 0.357584339383878, 0.1804807884018343 ],\n\t[ 0.21263900587151027, 0.715168678767756, 0.07219231536073371 ],\n\t[ 0.01933081871559182, 0.11919477979462598, 0.9505321522496607 ],\n];\n\n// This matrix is the inverse of the above;\n// again it agrees with the official definition when rounded to 8 decimal places\nexport const fromXYZ_M = [\n\t[ 3.2409699419045226, -1.537383177570094, -0.4986107602930034 ],\n\t[ -0.9692436362808796, 1.8759675015077202, 0.04155505740717559 ],\n\t[ 0.05563007969699366, -0.20397695888897652, 1.0569715142428786 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"srgb-linear\",\n\tname: \"Linear sRGB\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "/* List of CSS color keywords\n * Note that this does not include currentColor, transparent,\n * or system colors\n */\n\n// To produce: Visit https://www.w3.org/TR/css-color-4/#named-colors\n// and run in the console:\n// copy($$(\"tr\", $(\".named-color-table tbody\")).map(tr => `\"${tr.cells[2].textContent.trim()}\": [${tr.cells[4].textContent.trim().split(/\\s+/).map(c => c === \"0\"? \"0\" : c === \"255\"? \"1\" : c + \" / 255\").join(\", \")}]`).join(\",\\n\"))\nexport default {\n\t\"aliceblue\": [240 / 255, 248 / 255, 1],\n\t\"antiquewhite\": [250 / 255, 235 / 255, 215 / 255],\n\t\"aqua\": [0, 1, 1],\n\t\"aquamarine\": [127 / 255, 1, 212 / 255],\n\t\"azure\": [240 / 255, 1, 1],\n\t\"beige\": [245 / 255, 245 / 255, 220 / 255],\n\t\"bisque\": [1, 228 / 255, 196 / 255],\n\t\"black\": [0, 0, 0],\n\t\"blanchedalmond\": [1, 235 / 255, 205 / 255],\n\t\"blue\": [0, 0, 1],\n\t\"blueviolet\": [138 / 255, 43 / 255, 226 / 255],\n\t\"brown\": [165 / 255, 42 / 255, 42 / 255],\n\t\"burlywood\": [222 / 255, 184 / 255, 135 / 255],\n\t\"cadetblue\": [95 / 255, 158 / 255, 160 / 255],\n\t\"chartreuse\": [127 / 255, 1, 0],\n\t\"chocolate\": [210 / 255, 105 / 255, 30 / 255],\n\t\"coral\": [1, 127 / 255, 80 / 255],\n\t\"cornflowerblue\": [100 / 255, 149 / 255, 237 / 255],\n\t\"cornsilk\": [1, 248 / 255, 220 / 255],\n\t\"crimson\": [220 / 255, 20 / 255, 60 / 255],\n\t\"cyan\": [0, 1, 1],\n\t\"darkblue\": [0, 0, 139 / 255],\n\t\"darkcyan\": [0, 139 / 255, 139 / 255],\n\t\"darkgoldenrod\": [184 / 255, 134 / 255, 11 / 255],\n\t\"darkgray\": [169 / 255, 169 / 255, 169 / 255],\n\t\"darkgreen\": [0, 100 / 255, 0],\n\t\"darkgrey\": [169 / 255, 169 / 255, 169 / 255],\n\t\"darkkhaki\": [189 / 255, 183 / 255, 107 / 255],\n\t\"darkmagenta\": [139 / 255, 0, 139 / 255],\n\t\"darkolivegreen\": [85 / 255, 107 / 255, 47 / 255],\n\t\"darkorange\": [1, 140 / 255, 0],\n\t\"darkorchid\": [153 / 255, 50 / 255, 204 / 255],\n\t\"darkred\": [139 / 255, 0, 0],\n\t\"darksalmon\": [233 / 255, 150 / 255, 122 / 255],\n\t\"darkseagreen\": [143 / 255, 188 / 255, 143 / 255],\n\t\"darkslateblue\": [72 / 255, 61 / 255, 139 / 255],\n\t\"darkslategray\": [47 / 255, 79 / 255, 79 / 255],\n\t\"darkslategrey\": [47 / 255, 79 / 255, 79 / 255],\n\t\"darkturquoise\": [0, 206 / 255, 209 / 255],\n\t\"darkviolet\": [148 / 255, 0, 211 / 255],\n\t\"deeppink\": [1, 20 / 255, 147 / 255],\n\t\"deepskyblue\": [0, 191 / 255, 1],\n\t\"dimgray\": [105 / 255, 105 / 255, 105 / 255],\n\t\"dimgrey\": [105 / 255, 105 / 255, 105 / 255],\n\t\"dodgerblue\": [30 / 255, 144 / 255, 1],\n\t\"firebrick\": [178 / 255, 34 / 255, 34 / 255],\n\t\"floralwhite\": [1, 250 / 255, 240 / 255],\n\t\"forestgreen\": [34 / 255, 139 / 255, 34 / 255],\n\t\"fuchsia\": [1, 0, 1],\n\t\"gainsboro\": [220 / 255, 220 / 255, 220 / 255],\n\t\"ghostwhite\": [248 / 255, 248 / 255, 1],\n\t\"gold\": [1, 215 / 255, 0],\n\t\"goldenrod\": [218 / 255, 165 / 255, 32 / 255],\n\t\"gray\": [128 / 255, 128 / 255, 128 / 255],\n\t\"green\": [0, 128 / 255, 0],\n\t\"greenyellow\": [173 / 255, 1, 47 / 255],\n\t\"grey\": [128 / 255, 128 / 255, 128 / 255],\n\t\"honeydew\": [240 / 255, 1, 240 / 255],\n\t\"hotpink\": [1, 105 / 255, 180 / 255],\n\t\"indianred\": [205 / 255, 92 / 255, 92 / 255],\n\t\"indigo\": [75 / 255, 0, 130 / 255],\n\t\"ivory\": [1, 1, 240 / 255],\n\t\"khaki\": [240 / 255, 230 / 255, 140 / 255],\n\t\"lavender\": [230 / 255, 230 / 255, 250 / 255],\n\t\"lavenderblush\": [1, 240 / 255, 245 / 255],\n\t\"lawngreen\": [124 / 255, 252 / 255, 0],\n\t\"lemonchiffon\": [1, 250 / 255, 205 / 255],\n\t\"lightblue\": [173 / 255, 216 / 255, 230 / 255],\n\t\"lightcoral\": [240 / 255, 128 / 255, 128 / 255],\n\t\"lightcyan\": [224 / 255, 1, 1],\n\t\"lightgoldenrodyellow\": [250 / 255, 250 / 255, 210 / 255],\n\t\"lightgray\": [211 / 255, 211 / 255, 211 / 255],\n\t\"lightgreen\": [144 / 255, 238 / 255, 144 / 255],\n\t\"lightgrey\": [211 / 255, 211 / 255, 211 / 255],\n\t\"lightpink\": [1, 182 / 255, 193 / 255],\n\t\"lightsalmon\": [1, 160 / 255, 122 / 255],\n\t\"lightseagreen\": [32 / 255, 178 / 255, 170 / 255],\n\t\"lightskyblue\": [135 / 255, 206 / 255, 250 / 255],\n\t\"lightslategray\": [119 / 255, 136 / 255, 153 / 255],\n\t\"lightslategrey\": [119 / 255, 136 / 255, 153 / 255],\n\t\"lightsteelblue\": [176 / 255, 196 / 255, 222 / 255],\n\t\"lightyellow\": [1, 1, 224 / 255],\n\t\"lime\": [0, 1, 0],\n\t\"limegreen\": [50 / 255, 205 / 255, 50 / 255],\n\t\"linen\": [250 / 255, 240 / 255, 230 / 255],\n\t\"magenta\": [1, 0, 1],\n\t\"maroon\": [128 / 255, 0, 0],\n\t\"mediumaquamarine\": [102 / 255, 205 / 255, 170 / 255],\n\t\"mediumblue\": [0, 0, 205 / 255],\n\t\"mediumorchid\": [186 / 255, 85 / 255, 211 / 255],\n\t\"mediumpurple\": [147 / 255, 112 / 255, 219 / 255],\n\t\"mediumseagreen\": [60 / 255, 179 / 255, 113 / 255],\n\t\"mediumslateblue\": [123 / 255, 104 / 255, 238 / 255],\n\t\"mediumspringgreen\": [0, 250 / 255, 154 / 255],\n\t\"mediumturquoise\": [72 / 255, 209 / 255, 204 / 255],\n\t\"mediumvioletred\": [199 / 255, 21 / 255, 133 / 255],\n\t\"midnightblue\": [25 / 255, 25 / 255, 112 / 255],\n\t\"mintcream\": [245 / 255, 1, 250 / 255],\n\t\"mistyrose\": [1, 228 / 255, 225 / 255],\n\t\"moccasin\": [1, 228 / 255, 181 / 255],\n\t\"navajowhite\": [1, 222 / 255, 173 / 255],\n\t\"navy\": [0, 0, 128 / 255],\n\t\"oldlace\": [253 / 255, 245 / 255, 230 / 255],\n\t\"olive\": [128 / 255, 128 / 255, 0],\n\t\"olivedrab\": [107 / 255, 142 / 255, 35 / 255],\n\t\"orange\": [1, 165 / 255, 0],\n\t\"orangered\": [1, 69 / 255, 0],\n\t\"orchid\": [218 / 255, 112 / 255, 214 / 255],\n\t\"palegoldenrod\": [238 / 255, 232 / 255, 170 / 255],\n\t\"palegreen\": [152 / 255, 251 / 255, 152 / 255],\n\t\"paleturquoise\": [175 / 255, 238 / 255, 238 / 255],\n\t\"palevioletred\": [219 / 255, 112 / 255, 147 / 255],\n\t\"papayawhip\": [1, 239 / 255, 213 / 255],\n\t\"peachpuff\": [1, 218 / 255, 185 / 255],\n\t\"peru\": [205 / 255, 133 / 255, 63 / 255],\n\t\"pink\": [1, 192 / 255, 203 / 255],\n\t\"plum\": [221 / 255, 160 / 255, 221 / 255],\n\t\"powderblue\": [176 / 255, 224 / 255, 230 / 255],\n\t\"purple\": [128 / 255, 0, 128 / 255],\n\t\"rebeccapurple\": [102 / 255, 51 / 255, 153 / 255],\n\t\"red\": [1, 0, 0],\n\t\"rosybrown\": [188 / 255, 143 / 255, 143 / 255],\n\t\"royalblue\": [65 / 255, 105 / 255, 225 / 255],\n\t\"saddlebrown\": [139 / 255, 69 / 255, 19 / 255],\n\t\"salmon\": [250 / 255, 128 / 255, 114 / 255],\n\t\"sandybrown\": [244 / 255, 164 / 255, 96 / 255],\n\t\"seagreen\": [46 / 255, 139 / 255, 87 / 255],\n\t\"seashell\": [1, 245 / 255, 238 / 255],\n\t\"sienna\": [160 / 255, 82 / 255, 45 / 255],\n\t\"silver\": [192 / 255, 192 / 255, 192 / 255],\n\t\"skyblue\": [135 / 255, 206 / 255, 235 / 255],\n\t\"slateblue\": [106 / 255, 90 / 255, 205 / 255],\n\t\"slategray\": [112 / 255, 128 / 255, 144 / 255],\n\t\"slategrey\": [112 / 255, 128 / 255, 144 / 255],\n\t\"snow\": [1, 250 / 255, 250 / 255],\n\t\"springgreen\": [0, 1, 127 / 255],\n\t\"steelblue\": [70 / 255, 130 / 255, 180 / 255],\n\t\"tan\": [210 / 255, 180 / 255, 140 / 255],\n\t\"teal\": [0, 128 / 255, 128 / 255],\n\t\"thistle\": [216 / 255, 191 / 255, 216 / 255],\n\t\"tomato\": [1, 99 / 255, 71 / 255],\n\t\"turquoise\": [64 / 255, 224 / 255, 208 / 255],\n\t\"violet\": [238 / 255, 130 / 255, 238 / 255],\n\t\"wheat\": [245 / 255, 222 / 255, 179 / 255],\n\t\"white\": [1, 1, 1],\n\t\"whitesmoke\": [245 / 255, 245 / 255, 245 / 255],\n\t\"yellow\": [1, 1, 0],\n\t\"yellowgreen\": [154 / 255, 205 / 255, 50 / 255],\n};\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport sRGBLinear from \"./srgb-linear.js\";\nimport KEYWORDS from \"../keywords.js\";\n\nlet coordGrammar = Array(3).fill(\"<percentage> | <number>[0, 255]\");\nlet coordGrammarNumber = Array(3).fill(\"<number>[0, 255]\");\n\nexport default new RGBColorSpace({\n\tid: \"srgb\",\n\tname: \"sRGB\",\n\tbase: sRGBLinear,\n\tfromBase: rgb => {\n\t\t// convert an array of linear-light sRGB values in the range 0.0-1.0\n\t\t// to gamma corrected form\n\t\t// https://en.wikipedia.org/wiki/SRGB\n\t\treturn rgb.map(val => {\n\t\t\tlet sign = val < 0 ? -1 : 1;\n\t\t\tlet abs = val * sign;\n\n\t\t\tif (abs > 0.0031308) {\n\t\t\t\treturn sign * (1.055 * (abs ** (1 / 2.4)) - 0.055);\n\t\t\t}\n\n\t\t\treturn 12.92 * val;\n\t\t});\n\t},\n\ttoBase: rgb => {\n\t\t// convert an array of sRGB values in the range 0.0 - 1.0\n\t\t// to linear light (un-companded) form.\n\t\t// https://en.wikipedia.org/wiki/SRGB\n\t\treturn rgb.map(val => {\n\t\t\tlet sign = val < 0 ? -1 : 1;\n\t\t\tlet abs = val * sign;\n\n\t\t\tif (abs <= 0.04045) {\n\t\t\t\treturn val / 12.92;\n\t\t\t}\n\n\t\t\treturn sign * (((abs + 0.055) / 1.055) ** 2.4);\n\t\t});\n\t},\n\tformats: {\n\t\t\"rgb\": {\n\t\t\tcoords: coordGrammar,\n\t\t},\n\t\t\"rgb_number\": {\n\t\t\tname: \"rgb\",\n\t\t\tcommas: true,\n\t\t\tcoords: coordGrammarNumber,\n\t\t\tnoAlpha: true,\n\t\t},\n\t\t\"color\": { /* use defaults */ },\n\t\t\"rgba\": {\n\t\t\tcoords: coordGrammar,\n\t\t\tcommas: true,\n\t\t\tlastAlpha: true,\n\t\t},\n\t\t\"rgba_number\": {\n\t\t\tname: \"rgba\",\n\t\t\tcommas: true,\n\t\t\tcoords: coordGrammarNumber,\n\t\t},\n\t\t\"hex\": {\n\t\t\ttype: \"custom\",\n\t\t\ttoGamut: true,\n\t\t\ttest: str => /^#([a-f0-9]{3,4}){1,2}$/i.test(str),\n\t\t\tparse (str) {\n\t\t\t\tif (str.length <= 5) {\n\t\t\t\t\t// #rgb or #rgba, duplicate digits\n\t\t\t\t\tstr = str.replace(/[a-f0-9]/gi, \"$&$&\");\n\t\t\t\t}\n\n\t\t\t\tlet rgba = [];\n\t\t\t\tstr.replace(/[a-f0-9]{2}/gi, component => {\n\t\t\t\t\trgba.push(parseInt(component, 16) / 255);\n\t\t\t\t});\n\n\t\t\t\treturn {\n\t\t\t\t\tspaceId: \"srgb\",\n\t\t\t\t\tcoords: rgba.slice(0, 3),\n\t\t\t\t\talpha: rgba.slice(3)[0],\n\t\t\t\t};\n\t\t\t},\n\t\t\tserialize: (coords, alpha, {\n\t\t\t\tcollapse = true, // collapse to 3-4 digit hex when possible?\n\t\t\t} = {}) => {\n\t\t\t\tif (alpha < 1) {\n\t\t\t\t\tcoords.push(alpha);\n\t\t\t\t}\n\n\t\t\t\tcoords = coords.map(c => Math.round(c * 255));\n\n\t\t\t\tlet collapsible = collapse && coords.every(c => c % 17 === 0);\n\n\t\t\t\tlet hex = coords.map(c => {\n\t\t\t\t\tif (collapsible) {\n\t\t\t\t\t\treturn (c / 17).toString(16);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn c.toString(16).padStart(2, \"0\");\n\t\t\t\t}).join(\"\");\n\n\t\t\t\treturn \"#\" + hex;\n\t\t\t},\n\t\t},\n\t\t\"keyword\": {\n\t\t\ttype: \"custom\",\n\t\t\ttest: str => /^[a-z]+$/i.test(str),\n\t\t\tparse (str) {\n\t\t\t\tstr = str.toLowerCase();\n\t\t\t\tlet ret = {spaceId: \"srgb\", coords: null, alpha: 1};\n\n\t\t\t\tif (str === \"transparent\") {\n\t\t\t\t\tret.coords = KEYWORDS.black;\n\t\t\t\t\tret.alpha = 0;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tret.coords = KEYWORDS[str];\n\t\t\t\t}\n\n\t\t\t\tif (ret.coords) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport P3Linear from \"./p3-linear.js\";\nimport sRGB from \"./srgb.js\";\n\nexport default new RGBColorSpace({\n\tid: \"p3\",\n\tcssId: \"display-p3\",\n\tname: \"P3\",\n\tbase: P3Linear,\n\t// Gamma encoding/decoding is the same as sRGB\n\tfromBase: sRGB.fromBase,\n\ttoBase: sRGB.toBase,\n});\n", "import { isNone, skipNone } from \"./util.js\";\nimport defaults from \"./defaults.js\";\nimport to from \"./to.js\";\nimport serialize from \"./serialize.js\";\nimport clone from \"./clone.js\";\nimport REC2020 from \"./spaces/rec2020.js\";\nimport P3 from \"./spaces/p3.js\";\nimport Lab from \"./spaces/lab.js\";\nimport sRGB from \"./spaces/srgb.js\";\n\n// Default space for CSS output. Code in Color.js makes this wider if there's a DOM available\ndefaults.display_space = sRGB;\n\nlet supportsNone;\n\nif (typeof CSS !== \"undefined\" && CSS.supports) {\n\t// Find widest supported color space for CSS\n\tfor (let space of [Lab, REC2020, P3]) {\n\t\tlet coords = space.getMinCoords();\n\t\tlet color = {space, coords, alpha: 1};\n\t\tlet str = serialize(color);\n\n\t\tif (CSS.supports(\"color\", str)) {\n\t\t\tdefaults.display_space = space;\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\n/**\n * Returns a serialization of the color that can actually be displayed in the browser.\n * If the default serialization can be displayed, it is returned.\n * Otherwise, the color is converted to Lab, REC2020, or P3, whichever is the widest supported.\n * In Node.js, this is basically equivalent to `serialize()` but returns a `String` object instead.\n *\n * @export\n * @param {{space, coords} | Color | string} color\n * @param {*} [options={}] Options to be passed to serialize()\n * @param {ColorSpace | string} [options.space = defaults.display_space] Color space to use for serialization if default is not supported\n * @returns {String} String object containing the serialized color with a color property containing the converted color (or the original, if no conversion was necessary)\n */\nexport default function display (color, {space = defaults.display_space, ...options} = {}) {\n\tlet ret = serialize(color, options);\n\n\tif (typeof CSS === \"undefined\" || CSS.supports(\"color\", ret) || !defaults.display_space) {\n\t\tret = new String(ret);\n\t\tret.color = color;\n\t}\n\telse {\n\t\t// If we're here, what we were about to output is not supported\n\t\tlet fallbackColor = color;\n\n\t\t// First, check if the culprit is none values\n\t\tlet hasNone = color.coords.some(isNone) || isNone(color.alpha);\n\n\t\tif (hasNone) {\n\t\t\t// Does the browser support none values?\n\t\t\tif (!(supportsNone ??= CSS.supports(\"color\", \"hsl(none 50% 50%)\"))) {\n\t\t\t\t// Nope, try again without none\n\t\t\t\tfallbackColor = clone(color);\n\t\t\t\tfallbackColor.coords = fallbackColor.coords.map(skipNone);\n\t\t\t\tfallbackColor.alpha = skipNone(fallbackColor.alpha);\n\n\t\t\t\tret = serialize(fallbackColor, options);\n\n\t\t\t\tif (CSS.supports(\"color\", ret)) {\n\t\t\t\t\t// We're done, now it's supported\n\t\t\t\t\tret = new String(ret);\n\t\t\t\t\tret.color = fallbackColor;\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If we're here, the color function is not supported\n\t\t// Fall back to fallback space\n\t\tfallbackColor = to(fallbackColor, space);\n\t\tret = new String(serialize(fallbackColor, options));\n\t\tret.color = fallbackColor;\n\t}\n\n\treturn ret;\n}\n", "import getColor from \"./getColor.js\";\n\nexport default function equals (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\treturn color1.space === color2.space\n\t && color1.alpha === color2.alpha\n\t && color1.coords.every((c, i) => c === color2.coords[i]);\n}\n", "/**\n * Relative luminance\n */\nimport get from \"./get.js\";\nimport set from \"./set.js\";\nimport xyz_d65 from \"./spaces/xyz-d65.js\";\n\nexport function getLuminance (color) {\n\t// Assume getColor() is called on color in get()\n\treturn get(color, [xyz_d65, \"y\"]);\n}\n\nexport function setLuminance (color, value) {\n\t// Assume getColor() is called on color in set()\n\tset(color, [xyz_d65, \"y\"], value);\n}\n\nexport function register (Color) {\n\tObject.defineProperty(Color.prototype, \"luminance\", {\n\t\tget () {\n\t\t\treturn getLuminance(this);\n\t\t},\n\t\tset (value) {\n\t\t\tsetLuminance(this, value);\n\t\t},\n\t});\n}\n", "// WCAG 2.0 contrast https://www.w3.org/TR/WCAG20-TECHS/G18.html\n// Simple contrast, with fixed 5% viewing flare contribution\n// Symmetric, does not matter which is foreground and which is background\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\nexport default function contrastWCAG21 (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\treturn (Y1 + .05) / (Y2 + .05);\n}\n", "// APCA 0.0.98G\n// https://github.com/Myndex/apca-w3\n// see also https://github.com/w3c/silver/issues/643\n\nimport getColor from \"../getColor.js\";\nimport to from \"../to.js\";\n\n// exponents\nconst normBG = 0.56;\nconst normTXT = 0.57;\nconst revTXT = 0.62;\nconst revBG = 0.65;\n\n// clamps\nconst blkThrs = 0.022;\nconst blkClmp = 1.414;\nconst loClip = 0.1;\nconst deltaYmin = 0.0005;\n\n// scalers\n// see https://github.com/w3c/silver/issues/645\nconst scaleBoW = 1.14;\nconst loBoWoffset = 0.027;\nconst scaleWoB = 1.14;\nconst loWoBoffset = 0.027;\n\nfunction fclamp (Y) {\n\tif (Y >= blkThrs) {\n\t\treturn Y;\n\t}\n\treturn Y + (blkThrs - Y) ** blkClmp;\n}\n\nfunction linearize (val) {\n\tlet sign = val < 0 ? -1 : 1;\n\tlet abs = Math.abs(val);\n\treturn sign * Math.pow(abs, 2.4);\n}\n\n// Not symmetric, requires a foreground (text) color, and a background color\nexport default function contrastAPCA (background, foreground) {\n\tforeground = getColor(foreground);\n\tbackground = getColor(background);\n\n\tlet S;\n\tlet C;\n\tlet Sapc;\n\n\t// Myndex as-published, assumes sRGB inputs\n\tlet R, G, B;\n\n\tforeground = to(foreground, \"srgb\");\n\t// Should these be clamped to in-gamut values?\n\n\t// Calculates \"screen luminance\" with non-standard simple gamma EOTF\n\t// weights should be from CSS Color 4, not the ones here which are via Myndex and copied from Lindbloom\n\t[R, G, B] = foreground.coords;\n\tlet lumTxt = linearize(R) * 0.2126729 + linearize(G) * 0.7151522 + linearize(B) * 0.0721750;\n\n\tbackground = to(background, \"srgb\");\n\t[R, G, B] = background.coords;\n\tlet lumBg = linearize(R) * 0.2126729 + linearize(G) * 0.7151522 + linearize(B) * 0.0721750;\n\n\t// toe clamping of very dark values to account for flare\n\tlet Ytxt = fclamp(lumTxt);\n\tlet Ybg = fclamp(lumBg);\n\n\t// are we \"Black on White\" (dark on light), or light on dark?\n\tlet BoW = Ybg > Ytxt;\n\n\t// why is this a delta, when Y is not perceptually uniform?\n\t// Answer: it is a noise gate, see\n\t// https://github.com/LeaVerou/color.js/issues/208\n\tif (Math.abs(Ybg - Ytxt) < deltaYmin) {\n\t\tC = 0;\n\t}\n\telse {\n\t\tif (BoW) {\n\t\t\t// dark text on light background\n\t\t\tS = Ybg ** normBG - Ytxt ** normTXT;\n\t\t\tC = S * scaleBoW;\n\t\t}\n\t\telse {\n\t\t\t// light text on dark background\n\t\t\tS = Ybg ** revBG - Ytxt ** revTXT;\n\t\t\tC = S * scaleWoB;\n\t\t}\n\t}\n\tif (Math.abs(C) < loClip) {\n\t\tSapc = 0;\n\t}\n\telse if (C > 0) {\n\t\t// not clear whether Woffset is loBoWoffset or loWoBoffset\n\t\t// but they have the same value\n\t\tSapc = C - loBoWoffset;\n\t}\n\telse {\n\t\tSapc = C + loBoWoffset;\n\t}\n\n\treturn Sapc * 100;\n}\n", "// Michelson luminance contrast\n// the relation between the spread and the sum of the two luminances\n// Symmetric, does not matter which is foreground and which is background\n// No black level compensation for flare.\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\nexport default function contrastMichelson (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\tlet denom = (Y1 + Y2);\n\treturn denom === 0 ? 0 : (Y1 - Y2) / denom;\n}\n", "// Weber luminance contrast\n// The difference between the two luminances divided by the lower luminance\n// Symmetric, does not matter which is foreground and which is background\n// No black level compensation for flare.\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\n// the darkest sRGB color above black is #000001 and this produces\n// a plain Weber contrast of ~45647.\n// So, setting the divide-by-zero result at 50000 is a reasonable\n// max clamp for the plain Weber\nconst max = 50000;\n\nexport default function contrastWeber (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\treturn Y2 === 0 ? max : (Y1 - Y2) / Y2;\n}\n", "// CIE Lightness difference, as used by Google Material Design\n// Google HCT Tone is the same as CIE Lightness\n// https://material.io/blog/science-of-color-design\n\nimport getColor from \"../getColor.js\";\nimport get from \"../get.js\";\nimport lab from \"../spaces/lab.js\";\n\nexport default function contrastLstar (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet L1 = get(color1, [lab, \"l\"]);\n\tlet L2 = get(color2, [lab, \"l\"]);\n\n\treturn Math.abs(L1 - L2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\n\n// κ * ε = 2^3 = 8\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst ε3 = 24 / 116;\nconst κ = 24389 / 27; // 29^3/3^3\n\nlet white = WHITES.D65;\n\nexport default new ColorSpace({\n\tid: \"lab-d65\",\n\tname: \"Lab D65\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t},\n\n\t// Assuming XYZ is relative to D65, convert to CIE Lab\n\t// from CIE standard, which now defines these as a rational fraction\n\twhite,\n\n\tbase: xyz_d65,\n\t// Convert D65-adapted XYZ to Lab\n\t// CIE 15.3:2004 section 8.2.1.1\n\tfromBase (XYZ) {\n\t\t// compute xyz, which is XYZ scaled relative to reference white\n\t\tlet xyz = XYZ.map((value, i) => value / white[i]);\n\n\t\t// now compute f\n\t\tlet f = xyz.map(value => value > ε ? Math.cbrt(value) : (κ * value + 16) / 116);\n\n\t\treturn [\n\t\t\t(116 * f[1]) - 16, // L\n\t\t\t500 * (f[0] - f[1]), // a\n\t\t\t200 * (f[1] - f[2]), // b\n\t\t];\n\t},\n\t// Convert Lab to D65-adapted XYZ\n\t// Same result as CIE 15.3:2004 Appendix D although the derivation is different\n\t// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n\ttoBase (Lab) {\n\t\t// compute f, starting with the luminance-related term\n\t\tlet f = [];\n\t\tf[1] = (Lab[0] + 16) / 116;\n\t\tf[0] = Lab[1] / 500 + f[1];\n\t\tf[2] = f[1] - Lab[2] / 200;\n\n\t\t// compute xyz\n\t\tlet xyz = [\n\t\t\tf[0] > ε3 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / κ,\n\t\t\tLab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / κ,\n\t\t\tf[2] > ε3 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / κ,\n\t\t];\n\n\t\t// Compute XYZ by scaling xyz by reference white\n\t\treturn xyz.map((value, i) => value * white[i]);\n\t},\n\n\tformats: {\n\t\t\"lab-d65\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "// Delta Phi Star perceptual lightness contrast\n// See https://github.com/Myndex/deltaphistar\n// The (difference between two Lstars each raised to phi) raised to (1/phi)\n// Symmetric, does not matter which is foreground and which is background\n\n\nimport getColor from \"../getColor.js\";\nimport get from \"../get.js\";\nimport lab_d65 from \"../spaces/lab-d65.js\";\n\nconst phi = Math.pow(5, 0.5) * 0.5 + 0.5; // Math.phi can be used if Math.js\n\nexport default function contrastDeltaPhi (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Lstr1 = get(color1, [lab_d65, \"l\"]);\n\tlet Lstr2 = get(color2, [lab_d65, \"l\"]);\n\n\tlet deltaPhiStar = Math.abs(Math.pow(Lstr1, phi) - Math.pow(Lstr2, phi));\n\n\tlet contrast = Math.pow(deltaPhiStar, (1 / phi)) * Math.SQRT2 - 40;\n\n\treturn (contrast < 7.5) ? 0.0 : contrast ;\n}\n", "import getColor from \"./getColor.js\";\n// import defaults from \"./defaults.js\";\nimport {isString} from \"./util.js\";\nimport * as contrastAlgorithms from \"./contrast/index.js\";\n\nexport default function contrast (background, foreground, o = {}) {\n\tif (isString(o)) {\n\t\to = {algorithm: o};\n\t}\n\n\tlet {algorithm, ...rest} = o;\n\n\tif (!algorithm) {\n\t\tlet algorithms = Object.keys(contrastAlgorithms).map(a => a.replace(/^contrast/, \"\")).join(\", \");\n\t\tthrow new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${algorithms}`);\n\t}\n\n\tbackground = getColor(background);\n\tforeground = getColor(foreground);\n\n\tfor (let a in contrastAlgorithms) {\n\t\tif (\"contrast\" + algorithm.toLowerCase() === a.toLowerCase()) {\n\t\t\treturn contrastAlgorithms[a](background, foreground, rest);\n\t\t}\n\t}\n\n\tthrow new TypeError(`Unknown contrast algorithm: ${algorithm}`);\n}\n", "import xyz_d65 from \"./spaces/xyz-d65.js\";\nimport getAll from \"./getAll.js\";\n\n// Chromaticity coordinates\nexport function uv (color) {\n\t// Assumes getAll() calls getColor() on color\n\tlet [X, Y, Z] = getAll(color, xyz_d65);\n\tlet denom = X + 15 * Y + 3 * Z;\n\treturn [4 * X / denom, 9 * Y / denom];\n}\n\nexport function xy (color) {\n\t// Assumes getAll() calls getColor() on color\n\tlet [X, Y, Z] = getAll(color, xyz_d65);\n\tlet sum = X + Y + Z;\n\treturn [X / sum, Y / sum];\n}\n\nexport function register (Color) {\n\t// no setters, as lightness information is lost\n\t// when converting color to chromaticity\n\tObject.defineProperty(Color.prototype, \"uv\", {\n\t\tget () {\n\t\t\treturn uv(this);\n\t\t},\n\t});\n\n\tObject.defineProperty(Color.prototype, \"xy\", {\n\t\tget () {\n\t\t\treturn xy(this);\n\t\t},\n\t});\n}\n", "import defaults from \"./defaults.js\";\nimport {isString} from \"./util.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\n\nexport default function deltaE (c1, c2, o = {}) {\n\tif (isString(o)) {\n\t\to = {method: o};\n\t}\n\n\tlet {method = defaults.deltaE, ...rest} = o;\n\n\tfor (let m in deltaEMethods) {\n\t\tif (\"deltae\" + method.toLowerCase() === m.toLowerCase()) {\n\t\t\treturn deltaEMethods[m](c1, c2, rest);\n\t\t}\n\t}\n\n\tthrow new TypeError(`Unknown deltaE method: ${method}`);\n}\n", "import ColorSpace from \"./space.js\";\nimport set from \"./set.js\";\n\nexport function lighten (color, amount = .25) {\n\tlet space = ColorSpace.get(\"oklch\", \"lch\");\n\tlet lightness = [space, \"l\"];\n\treturn set(color, lightness, l => l * (1 + amount));\n}\n\nexport function darken (color, amount = .25) {\n\tlet space = ColorSpace.get(\"oklch\", \"lch\");\n\tlet lightness = [space, \"l\"];\n\treturn set(color, lightness, l => l * (1 - amount));\n}\n", "/**\n * Functions related to color interpolation\n */\nimport ColorSpace from \"./space.js\";\nimport {type, interpolate} from \"./util.js\";\nimport getColor from \"./getColor.js\";\nimport clone from \"./clone.js\";\nimport to from \"./to.js\";\nimport toGamut from \"./toGamut.js\";\nimport get from \"./get.js\";\nimport set from \"./set.js\";\nimport defaults from \"./defaults.js\";\nimport * as angles from \"./angles.js\";\nimport deltaE from \"./deltaE.js\";\n\n/**\n * Return an intermediate color between two colors\n * Signatures: mix(c1, c2, p, options)\n * mix(c1, c2, options)\n * mix(color)\n * @param {Color | string} c1 The first color\n * @param {Color | string} [c2] The second color\n * @param {number} [p=.5] A 0-1 percentage where 0 is c1 and 1 is c2\n * @param {Object} [o={}]\n * @return {Color}\n */\nexport function mix (c1, c2, p = .5, o = {}) {\n\t[c1, c2] = [getColor(c1), getColor(c2)];\n\n\tif (type(p) === \"object\") {\n\t\t[p, o] = [.5, p];\n\t}\n\n\tlet r = range(c1, c2, o);\n\treturn r(p);\n}\n\n/**\n *\n * @param {Color | string | Function} c1 The first color or a range\n * @param {Color | string} [c2] The second color if c1 is not a range\n * @param {Object} [options={}]\n * @return {Color[]}\n */\nexport function steps (c1, c2, options = {}) {\n\tlet colorRange;\n\n\tif (isRange(c1)) {\n\t\t// Tweaking existing range\n\t\t[colorRange, options] = [c1, c2];\n\t\t[c1, c2] = colorRange.rangeArgs.colors;\n\t}\n\n\tlet {\n\t\tmaxDeltaE, deltaEMethod,\n\t\tsteps = 2, maxSteps = 1000,\n\t\t...rangeOptions\n\t} = options;\n\n\tif (!colorRange) {\n\t\t[c1, c2] = [getColor(c1), getColor(c2)];\n\t\tcolorRange = range(c1, c2, rangeOptions);\n\t}\n\n\tlet totalDelta = deltaE(c1, c2);\n\tlet actualSteps = maxDeltaE > 0 ? Math.max(steps, Math.ceil(totalDelta / maxDeltaE) + 1) : steps;\n\tlet ret = [];\n\n\tif (maxSteps !== undefined) {\n\t\tactualSteps = Math.min(actualSteps, maxSteps);\n\t}\n\n\tif (actualSteps === 1) {\n\t\tret = [{p: .5, color: colorRange(.5)}];\n\t}\n\telse {\n\t\tlet step = 1 / (actualSteps - 1);\n\t\tret = Array.from({length: actualSteps}, (_, i) => {\n\t\t\tlet p = i * step;\n\t\t\treturn {p, color: colorRange(p)};\n\t\t});\n\t}\n\n\tif (maxDeltaE > 0) {\n\t\t// Iterate over all stops and find max deltaE\n\t\tlet maxDelta = ret.reduce((acc, cur, i) => {\n\t\t\tif (i === 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tlet ΔΕ = deltaE(cur.color, ret[i - 1].color, deltaEMethod);\n\t\t\treturn Math.max(acc, ΔΕ);\n\t\t}, 0);\n\n\t\twhile (maxDelta > maxDeltaE) {\n\t\t\t// Insert intermediate stops and measure maxDelta again\n\t\t\t// We need to do this for all pairs, otherwise the midpoint shifts\n\t\t\tmaxDelta = 0;\n\n\t\t\tfor (let i = 1; (i < ret.length) && (ret.length < maxSteps); i++) {\n\t\t\t\tlet prev = ret[i - 1];\n\t\t\t\tlet cur = ret[i];\n\n\t\t\t\tlet p = (cur.p + prev.p) / 2;\n\t\t\t\tlet color = colorRange(p);\n\t\t\t\tmaxDelta = Math.max(maxDelta, deltaE(color, prev.color), deltaE(color, cur.color));\n\t\t\t\tret.splice(i, 0, {p, color: colorRange(p)});\n\t\t\t\ti++;\n\t\t\t}\n\t\t}\n\t}\n\n\tret = ret.map(a => a.color);\n\n\treturn ret;\n}\n\n/**\n * Interpolate to color2 and return a function that takes a 0-1 percentage\n * @param {Color | string | Function} color1 The first color or an existing range\n * @param {Color | string} [color2] If color1 is a color, this is the second color\n * @param {Object} [options={}]\n * @returns {Function} A function that takes a 0-1 percentage and returns a color\n */\nexport function range (color1, color2, options = {}) {\n\tif (isRange(color1)) {\n\t\t// Tweaking existing range\n\t\tlet [r, options] = [color1, color2];\n\n\t\treturn range(...r.rangeArgs.colors, {...r.rangeArgs.options, ...options});\n\t}\n\n\tlet {space, outputSpace, progression, premultiplied} = options;\n\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\t// Make sure we're working on copies of these colors\n\tcolor1 = clone(color1);\n\tcolor2 = clone(color2);\n\n\tlet rangeArgs = {colors: [color1, color2], options};\n\n\tif (space) {\n\t\tspace = ColorSpace.get(space);\n\t}\n\telse {\n\t\tspace = ColorSpace.registry[defaults.interpolationSpace] || color1.space;\n\t}\n\n\toutputSpace = outputSpace ? ColorSpace.get(outputSpace) : space;\n\n\tcolor1 = to(color1, space);\n\tcolor2 = to(color2, space);\n\n\t// Gamut map to avoid areas of flat color\n\tcolor1 = toGamut(color1);\n\tcolor2 = toGamut(color2);\n\n\t// Handle hue interpolation\n\t// See https://github.com/w3c/csswg-drafts/issues/4735#issuecomment-635741840\n\tif (space.coords.h && space.coords.h.type === \"angle\") {\n\t\tlet arc = options.hue = options.hue || \"shorter\";\n\n\t\tlet hue = [space, \"h\"];\n\t\tlet [θ1, θ2] = [get(color1, hue), get(color2, hue)];\n\t\t// Undefined hues must be evaluated before hue fix-up to properly\n\t\t// calculate hue arcs between undefined and defined hues.\n\t\t// See https://github.com/w3c/csswg-drafts/issues/9436#issuecomment-1746957545\n\t\tif (isNaN(θ1) && !isNaN(θ2)) {\n\t\t\tθ1 = θ2;\n\t\t}\n\t\telse if (isNaN(θ2) && !isNaN(θ1)) {\n\t\t\tθ2 = θ1;\n\t\t}\n\t\t[θ1, θ2] = angles.adjust(arc, [θ1, θ2]);\n\t\tset(color1, hue, θ1);\n\t\tset(color2, hue, θ2);\n\t}\n\n\tif (premultiplied) {\n\t\t// not coping with polar spaces yet\n\t\tcolor1.coords = color1.coords.map(c => c * color1.alpha);\n\t\tcolor2.coords = color2.coords.map(c => c * color2.alpha);\n\t}\n\n\treturn Object.assign(p => {\n\t\tp = progression ? progression(p) : p;\n\t\tlet coords = color1.coords.map((start, i) => {\n\t\t\tlet end = color2.coords[i];\n\t\t\treturn interpolate(start, end, p);\n\t\t});\n\n\t\tlet alpha = interpolate(color1.alpha, color2.alpha, p);\n\t\tlet ret = {space, coords, alpha};\n\n\t\tif (premultiplied) {\n\t\t\t// undo premultiplication\n\t\t\tret.coords = ret.coords.map(c => c / alpha);\n\t\t}\n\n\t\tif (outputSpace !== space) {\n\t\t\tret = to(ret, outputSpace);\n\t\t}\n\n\t\treturn ret;\n\t}, {\n\t\trangeArgs,\n\t});\n}\n\nexport function isRange (val) {\n\treturn type(val) === \"function\" && !!val.rangeArgs;\n}\n\ndefaults.interpolationSpace = \"lab\";\n\nexport function register (Color) {\n\tColor.defineFunction(\"mix\", mix, {returns: \"color\"});\n\tColor.defineFunction(\"range\", range, {returns: \"function<color>\"});\n\tColor.defineFunction(\"steps\", steps, {returns: \"array<color>\"});\n}\n", "import ColorSpace from \"../space.js\";\nimport sRGB from \"./srgb.js\";\n\nexport default new ColorSpace({\n\tid: \"hsl\",\n\tname: \"HSL\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: sRGB,\n\n\t// Adapted from https://drafts.csswg.org/css-color-4/better-rgbToHsl.js\n\tfromBase: rgb => {\n\t\tlet max = Math.max(...rgb);\n\t\tlet min = Math.min(...rgb);\n\t\tlet [r, g, b] = rgb;\n\t\tlet [h, s, l] = [NaN, 0, (min + max) / 2];\n\t\tlet d = max - min;\n\n\t\tif (d !== 0) {\n\t\t\ts = (l === 0 || l === 1) ? 0 : (max - l) / Math.min(l, 1 - l);\n\n\t\t\tswitch (max) {\n\t\t\t\tcase r: h = (g - b) / d + (g < b ? 6 : 0); break;\n\t\t\t\tcase g: h = (b - r) / d + 2; break;\n\t\t\t\tcase b: h = (r - g) / d + 4;\n\t\t\t}\n\n\t\t\th = h * 60;\n\t\t}\n\n\t\t// Very out of gamut colors can produce negative saturation\n\t\t// If so, just rotate the hue by 180 and use a positive saturation\n\t\t// see https://github.com/w3c/csswg-drafts/issues/9222\n\t\tif (s < 0) {\n\t\t\th += 180;\n\t\t\ts = Math.abs(s);\n\t\t}\n\n\t\tif (h >= 360) {\n\t\t\th -= 360;\n\t\t}\n\n\t\treturn [h, s * 100, l * 100];\n\t},\n\n\t// Adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_RGB_alternative\n\ttoBase: hsl => {\n\t\tlet [h, s, l] = hsl;\n\t\th = h % 360;\n\n\t\tif (h < 0) {\n\t\t\th += 360;\n\t\t}\n\n\t\ts /= 100;\n\t\tl /= 100;\n\n\t\tfunction f (n) {\n\t\t\tlet k = (n + h / 30) % 12;\n\t\t\tlet a = s * Math.min(l, 1 - l);\n\t\t\treturn l - a * Math.max(-1, Math.min(k - 3, 9 - k, 1));\n\t\t}\n\n\t\treturn [f(0), f(8), f(4)];\n\t},\n\n\tformats: {\n\t\t\"hsl\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage>\", \"<percentage>\"],\n\t\t},\n\t\t\"hsla\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage>\", \"<percentage>\"],\n\t\t\tcommas: true,\n\t\t\tlastAlpha: true,\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport HSL from \"./hsl.js\";\n\n// The Hue, Whiteness Blackness (HWB) colorspace\n// See https://drafts.csswg.org/css-color-4/#the-hwb-notation\n// Note that, like HSL, calculations are done directly on\n// gamma-corrected sRGB values rather than linearising them first.\n\nexport default new ColorSpace({\n\tid: \"hsv\",\n\tname: \"HSV\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tv: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Value\",\n\t\t},\n\t},\n\n\tbase: HSL,\n\t// https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion\n\tfromBase (hsl) {\n\t\tlet [h, s, l] = hsl;\n\t\ts /= 100;\n\t\tl /= 100;\n\n\t\tlet v = l + s * Math.min(l, 1 - l);\n\n\t\treturn [\n\t\t\th, // h is the same\n\t\t\tv === 0 ? 0 : 200 * (1 - l / v), // s\n\t\t\t100 * v,\n\t\t];\n\t},\n\t// https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion\n\ttoBase (hsv) {\n\t\tlet [h, s, v] = hsv;\n\n\t\ts /= 100;\n\t\tv /= 100;\n\n\t\tlet l = v * (1 - s / 2);\n\n\t\treturn [\n\t\t\th, // h is the same\n\t\t\t(l === 0 || l === 1) ? 0 : ((v - l) / Math.min(l, 1 - l)) * 100,\n\t\t\tl * 100,\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hsv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport HSV from \"./hsv.js\";\n\n// The Hue, Whiteness Blackness (HWB) colorspace\n// See https://drafts.csswg.org/css-color-4/#the-hwb-notation\n// Note that, like HSL, calculations are done directly on\n// gamma-corrected sRGB values rather than linearising them first.\n\nexport default new ColorSpace({\n\tid: \"hwb\",\n\tname: \"HWB\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\tw: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Whiteness\",\n\t\t},\n\t\tb: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Blackness\",\n\t\t},\n\t},\n\n\tbase: HSV,\n\tfromBase (hsv) {\n\t\tlet [h, s, v] = hsv;\n\n\t\treturn [h, v * (100 - s) / 100, 100 - v];\n\t},\n\ttoBase (hwb) {\n\t\tlet [h, w, b] = hwb;\n\n\t\t// Now convert percentages to [0..1]\n\t\tw /= 100;\n\t\tb /= 100;\n\n\t\t// Achromatic check (white plus black >= 1)\n\t\tlet sum = w + b;\n\t\tif (sum >= 1) {\n\t\t\tlet gray = w / sum;\n\t\t\treturn [h, 0, gray * 100];\n\t\t}\n\n\t\tlet v = (1 - b);\n\t\tlet s = (v === 0) ? 0 : 1 - w / v;\n\t\treturn [h, s * 100, v * 100];\n\t},\n\n\tformats: {\n\t\t\"hwb\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// convert an array of linear-light a98-rgb values to CIE XYZ\n// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n// has greater numerical precision than section 4.3.5.3 of\n// https://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf\n// but the values below were calculated from first principles\n// from the chromaticity coordinates of R G B W\nconst toXYZ_M = [\n\t[ 0.5766690429101305, 0.1855582379065463, 0.1882286462349947 ],\n\t[ 0.29734497525053605, 0.6273635662554661, 0.07529145849399788 ],\n\t[ 0.02703136138641234, 0.07068885253582723, 0.9913375368376388 ],\n];\n\nconst fromXYZ_M = [\n\t[ 2.0415879038107465, -0.5650069742788596, -0.34473135077832956 ],\n\t[ -0.9692436362808795, 1.8759675015077202, 0.04155505740717557 ],\n\t[ 0.013444280632031142, -0.11836239223101838, 1.0151749943912054 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"a98rgb-linear\",\n\tcssId: \"--a98-rgb-linear\",\n\tname: \"Linear Adobe® 98 RGB compatible\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport A98Linear from \"./a98rgb-linear.js\";\n\nexport default new RGBColorSpace({\n\tid: \"a98rgb\",\n\tcssId: \"a98-rgb\",\n\tname: \"Adobe® 98 RGB compatible\",\n\tbase: A98Linear,\n\ttoBase: RGB => RGB.map(val => Math.pow(Math.abs(val), 563 / 256) * Math.sign(val)),\n\tfromBase: RGB => RGB.map(val => Math.pow(Math.abs(val), 256 / 563) * Math.sign(val)),\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport XYZ_D50 from \"./xyz-d50.js\";\n\n// convert an array of prophoto-rgb values to CIE XYZ\n// using D50 (so no chromatic adaptation needed afterwards)\n// matrix cannot be expressed in rational form, but is calculated to 64 bit accuracy\n// see https://github.com/w3c/csswg-drafts/issues/7675\nconst toXYZ_M = [\n\t[ 0.79776664490064230, 0.13518129740053308, 0.03134773412839220 ],\n\t[ 0.28807482881940130, 0.71183523424187300, 0.00008993693872564 ],\n\t[ 0.00000000000000000, 0.00000000000000000, 0.82510460251046020 ],\n];\n\nconst fromXYZ_M = [\n\t[ 1.34578688164715830, -0.25557208737979464, -0.05110186497554526 ],\n\t[ -0.54463070512490190, 1.50824774284514680, 0.02052744743642139 ],\n\t[ 0.00000000000000000, 0.00000000000000000, 1.21196754563894520 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"prophoto-linear\",\n\tcssId: \"--prophoto-rgb-linear\",\n\tname: \"Linear ProPhoto\",\n\twhite: \"D50\",\n\tbase: XYZ_D50,\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport ProPhotoLinear from \"./prophoto-linear.js\";\n\nconst Et = 1 / 512;\nconst Et2 = 16 / 512;\n\nexport default new RGBColorSpace({\n\tid: \"prophoto\",\n\tcssId: \"prophoto-rgb\",\n\tname: \"ProPhoto\",\n\tbase: ProPhotoLinear,\n\ttoBase (RGB) {\n\t\t// Transfer curve is gamma 1.8 with a small linear portion\n\t\treturn RGB.map(v => v < Et2 ? v / 16 : v ** 1.8);\n\t},\n\tfromBase (RGB) {\n\t\treturn RGB.map(v => v >= Et ? v ** (1 / 1.8) : 16 * v);\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport OKLab from \"./oklab.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"oklch\",\n\tname: \"Oklch\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 0.4],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\twhite: \"D65\",\n\n\tbase: OKLab,\n\tfromBase (oklab) {\n\t\t// Convert to polar form\n\t\tlet [L, a, b] = oklab;\n\t\tlet h;\n\t\tconst ε = 0.0002; // chromatic components much smaller than a,b\n\n\t\tif (Math.abs(a) < ε && Math.abs(b) < ε) {\n\t\t\th = NaN;\n\t\t}\n\t\telse {\n\t\t\th = Math.atan2(b, a) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // OKLab L is still L\n\t\t\tMath.sqrt(a ** 2 + b ** 2), // Chroma\n\t\t\tconstrainAngle(h), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\t// Convert from polar form\n\ttoBase (oklch) {\n\t\tlet [L, C, h] = oklch;\n\t\tlet a, b;\n\n\t\t// check for NaN hue\n\t\tif (isNaN(h)) {\n\t\t\ta = 0;\n\t\t\tb = 0;\n\t\t}\n\t\telse {\n\t\t\ta = C * Math.cos(h * Math.PI / 180);\n\t\t\tb = C * Math.sin(h * Math.PI / 180);\n\t\t}\n\n\t\treturn [ L, a, b ];\n\t},\n\n\tformats: {\n\t\t\"oklch\": {\n\t\t\tcoords: [\"<percentage> | <number>\", \"<number> | <percentage>[0,1]\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {uv} from \"../chromaticity.js\";\nimport {isNone, skipNone} from \"../util.js\";\n\nlet white = WHITES.D65;\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\nconst [U_PRIME_WHITE, V_PRIME_WHITE] = uv({space: xyz_d65, coords: white});\n\nexport default new ColorSpace({\n\tid: \"luv\",\n\tname: \"Luv\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\t// Reference ranges from https://facelessuser.github.io/coloraide/colors/luv/\n\t\tu: {\n\t\t\trefRange: [-215, 215],\n\t\t},\n\t\tv: {\n\t\t\trefRange: [-215, 215],\n\t\t},\n\t},\n\n\twhite: white,\n\tbase: xyz_d65,\n\n\t// Convert D65-adapted XYZ to Luv\n\t// https://en.wikipedia.org/wiki/CIELUV#The_forward_transformation\n\tfromBase (XYZ) {\n\t\tlet xyz = [skipNone(XYZ[0]), skipNone(XYZ[1]), skipNone(XYZ[2])];\n\t\tlet y = xyz[1];\n\n\t\tlet [up, vp] = uv({space: xyz_d65, coords: xyz});\n\n\t\t// Protect against XYZ of [0, 0, 0]\n\t\tif (!Number.isFinite(up) || !Number.isFinite(vp)) {\n\t\t\treturn [0, 0, 0];\n\t\t}\n\n\t\tlet L = y <= ε ? κ * y : 116 * Math.cbrt(y) - 16;\n\t\treturn [\n\t\t\tL,\n\t\t\t13 * L * (up - U_PRIME_WHITE),\n\t\t\t13 * L * (vp - V_PRIME_WHITE),\n\t\t ];\n\t},\n\n\t// Convert Luv to D65-adapted XYZ\n\t// https://en.wikipedia.org/wiki/CIELUV#The_reverse_transformation\n\ttoBase (Luv) {\n\t\tlet [L, u, v] = Luv;\n\n\t\t// Protect against division by zero and NaN Lightness\n\t\tif (L === 0 || isNone(L)) {\n\t\t\treturn [0, 0, 0];\n\t\t}\n\n\t\tu = skipNone(u);\n\t\tv = skipNone(v);\n\n\t\tlet up = (u / (13 * L)) + U_PRIME_WHITE;\n\t\tlet vp = (v / (13 * L)) + V_PRIME_WHITE;\n\n\t\tlet y = L <= 8 ? L / κ : Math.pow((L + 16) / 116, 3);\n\n\t\treturn [\n\t\t\ty * ((9 * up) / (4 * vp)),\n\t\t\ty,\n\t\t\ty * ((12 - 3 * up - 20 * vp) / (4 * vp)),\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--luv\",\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport Luv from \"./luv.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"lchuv\",\n\tname: \"LChuv\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 220],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Luv,\n\tfromBase (Luv) {\n\t\t// Convert to polar form\n\t\tlet [L, u, v] = Luv;\n\t\tlet hue;\n\t\tconst ε = 0.02;\n\n\t\tif (Math.abs(u) < ε && Math.abs(v) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(v, u) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // L is still L\n\t\t\tMath.sqrt(u ** 2 + v ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (LCH) {\n\t\t// Convert from polar form\n\t\tlet [Lightness, Chroma, Hue] = LCH;\n\t\t// Clamp any negative Chroma\n\t\tif (Chroma < 0) {\n\t\t\tChroma = 0;\n\t\t}\n\t\t// Deal with NaN Hue\n\t\tif (isNaN(Hue)) {\n\t\t\tHue = 0;\n\t\t}\n\t\treturn [\n\t\t\tLightness, // L is still L\n\t\t\tChroma * Math.cos(Hue * Math.PI / 180), // u\n\t\t\tChroma * Math.sin(Hue * Math.PI / 180), // v\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--lchuv\",\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "/*\nAdapted from: https://github.com/hsluv/hsluv-javascript/blob/14b49e6cf9a9137916096b8487a5372626b57ba4/src/hsluv.ts\n\nCopyright (c) 2012-2022 Alexei Boronine\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 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\nimport ColorSpace from \"../space.js\";\nimport LCHuv from \"./lchuv.js\";\nimport sRGB from \"./srgb.js\";\nimport {fromXYZ_M} from \"./srgb-linear.js\";\nimport {skipNone} from \"../util.js\";\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nconst m_r0 = fromXYZ_M[0][0];\nconst m_r1 = fromXYZ_M[0][1];\nconst m_r2 = fromXYZ_M[0][2];\nconst m_g0 = fromXYZ_M[1][0];\nconst m_g1 = fromXYZ_M[1][1];\nconst m_g2 = fromXYZ_M[1][2];\nconst m_b0 = fromXYZ_M[2][0];\nconst m_b1 = fromXYZ_M[2][1];\nconst m_b2 = fromXYZ_M[2][2];\n\nfunction distanceFromOriginAngle (slope, intercept, angle) {\n\tconst d = intercept / (Math.sin(angle) - slope * Math.cos(angle));\n\treturn d < 0 ? Infinity : d;\n}\n\nexport function calculateBoundingLines (l) {\n\tconst sub1 = Math.pow(l + 16, 3) / 1560896;\n\tconst sub2 = sub1 > ε ? sub1 : l / κ;\n\tconst s1r = sub2 * (284517 * m_r0 - 94839 * m_r2);\n\tconst s2r = sub2 * (838422 * m_r2 + 769860 * m_r1 + 731718 * m_r0);\n\tconst s3r = sub2 * (632260 * m_r2 - 126452 * m_r1);\n\tconst s1g = sub2 * (284517 * m_g0 - 94839 * m_g2);\n\tconst s2g = sub2 * (838422 * m_g2 + 769860 * m_g1 + 731718 * m_g0);\n\tconst s3g = sub2 * (632260 * m_g2 - 126452 * m_g1);\n\tconst s1b = sub2 * (284517 * m_b0 - 94839 * m_b2);\n\tconst s2b = sub2 * (838422 * m_b2 + 769860 * m_b1 + 731718 * m_b0);\n\tconst s3b = sub2 * (632260 * m_b2 - 126452 * m_b1);\n\n\treturn {\n\t\tr0s: s1r / s3r,\n\t\tr0i: s2r * l / s3r,\n\t\tr1s: s1r / (s3r + 126452),\n\t\tr1i: (s2r - 769860) * l / (s3r + 126452),\n\t\tg0s: s1g / s3g,\n\t\tg0i: s2g * l / s3g,\n\t\tg1s: s1g / (s3g + 126452),\n\t\tg1i: (s2g - 769860) * l / (s3g + 126452),\n\t\tb0s: s1b / s3b,\n\t\tb0i: s2b * l / s3b,\n\t\tb1s: s1b / (s3b + 126452),\n\t\tb1i: (s2b - 769860) * l / (s3b + 126452),\n\t};\n}\n\nfunction calcMaxChromaHsluv (lines, h) {\n\tconst hueRad = h / 360 * Math.PI * 2;\n\tconst r0 = distanceFromOriginAngle(lines.r0s, lines.r0i, hueRad);\n\tconst r1 = distanceFromOriginAngle(lines.r1s, lines.r1i, hueRad);\n\tconst g0 = distanceFromOriginAngle(lines.g0s, lines.g0i, hueRad);\n\tconst g1 = distanceFromOriginAngle(lines.g1s, lines.g1i, hueRad);\n\tconst b0 = distanceFromOriginAngle(lines.b0s, lines.b0i, hueRad);\n\tconst b1 = distanceFromOriginAngle(lines.b1s, lines.b1i, hueRad);\n\n\treturn Math.min(r0, r1, g0, g1, b0, b1);\n}\n\nexport default new ColorSpace({\n\tid: \"hsluv\",\n\tname: \"HSLuv\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: LCHuv,\n\tgamutSpace: sRGB,\n\n\t// Convert LCHuv to HSLuv\n\tfromBase (lch) {\n\t\tlet [l, c, h] = [skipNone(lch[0]), skipNone(lch[1]), skipNone(lch[2])];\n\t\tlet s;\n\n\t\tif (l > 99.9999999) {\n\t\t\ts = 0;\n\t\t\tl = 100;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\ts = 0;\n\t\t\tl = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHsluv(lines, h);\n\t\t\ts = c / max * 100;\n\t\t}\n\n\t\treturn [h, s, l];\n\t},\n\n\t// Convert HSLuv to LCHuv\n\ttoBase (hsl) {\n\t\tlet [h, s, l] = [skipNone(hsl[0]), skipNone(hsl[1]), skipNone(hsl[2])];\n\t\tlet c;\n\n\t\tif (l > 99.9999999) {\n\t\t\tl = 100;\n\t\t\tc = 0;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\tl = 0;\n\t\t\tc = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHsluv(lines, h);\n\t\t\tc = max / 100 * s;\n\t\t}\n\n\t\treturn [l, c, h];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hsluv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "/*\nAdapted from: https://github.com/hsluv/hsluv-javascript/blob/14b49e6cf9a9137916096b8487a5372626b57ba4/src/hsluv.ts\n\nCopyright (c) 2012-2022 Alexei Boronine\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 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\nimport ColorSpace from \"../space.js\";\nimport LCHuv from \"./lchuv.js\";\nimport {fromXYZ_M} from \"./srgb-linear.js\";\nimport {skipNone} from \"../util.js\";\nimport {calculateBoundingLines} from \"./hsluv.js\";\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nconst m_r0 = fromXYZ_M[0][0];\nconst m_r1 = fromXYZ_M[0][1];\nconst m_r2 = fromXYZ_M[0][2];\nconst m_g0 = fromXYZ_M[1][0];\nconst m_g1 = fromXYZ_M[1][1];\nconst m_g2 = fromXYZ_M[1][2];\nconst m_b0 = fromXYZ_M[2][0];\nconst m_b1 = fromXYZ_M[2][1];\nconst m_b2 = fromXYZ_M[2][2];\n\nfunction distanceFromOrigin (slope, intercept) {\n\treturn Math.abs(intercept) / Math.sqrt(Math.pow(slope, 2) + 1);\n}\n\nfunction calcMaxChromaHpluv (lines) {\n\tlet r0 = distanceFromOrigin(lines.r0s, lines.r0i);\n\tlet r1 = distanceFromOrigin(lines.r1s, lines.r1i);\n\tlet g0 = distanceFromOrigin(lines.g0s, lines.g0i);\n\tlet g1 = distanceFromOrigin(lines.g1s, lines.g1i);\n\tlet b0 = distanceFromOrigin(lines.b0s, lines.b0i);\n\tlet b1 = distanceFromOrigin(lines.b1s, lines.b1i);\n\n\treturn Math.min(r0, r1, g0, g1, b0, b1);\n}\n\nexport default new ColorSpace({\n\tid: \"hpluv\",\n\tname: \"HPLuv\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: LCHuv,\n\tgamutSpace: \"self\",\n\n\t// Convert LCHuv to HPLuv\n\tfromBase (lch) {\n\t\tlet [l, c, h] = [skipNone(lch[0]), skipNone(lch[1]), skipNone(lch[2])];\n\t\tlet s;\n\n\t\tif (l > 99.9999999) {\n\t\t\ts = 0;\n\t\t\tl = 100;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\ts = 0;\n\t\t\tl = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHpluv(lines);\n\t\t\ts = c / max * 100;\n\t\t}\n\t\treturn [h, s, l];\n\t},\n\n\t// Convert HPLuv to LCHuv\n\ttoBase (hsl) {\n\t\tlet [h, s, l] = [skipNone(hsl[0]), skipNone(hsl[1]), skipNone(hsl[2])];\n\t\tlet c;\n\n\t\tif (l > 99.9999999) {\n\t\t\tl = 100;\n\t\t\tc = 0;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\tl = 0;\n\t\t\tc = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHpluv(lines, h);\n\t\t\tc = max / 100 * s;\n\t\t}\n\n\t\treturn [l, c, h];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hpluv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n\nconst Yw = 203;\t// absolute luminance of media white, cd/m²\nconst n = 2610 / (2 ** 14);\nconst ninv = (2 ** 14) / 2610;\nconst m = 2523 / (2 ** 5);\nconst minv = (2 ** 5) / 2523;\nconst c1 = 3424 / (2 ** 12);\nconst c2 = 2413 / (2 ** 7);\nconst c3 = 2392 / (2 ** 7);\n\nexport default new RGBColorSpace({\n\tid: \"rec2100pq\",\n\tcssId: \"rec2100-pq\",\n\tname: \"REC.2100-PQ\",\n\tbase: REC2020Linear,\n\ttoBase (RGB) {\n\t\t// given PQ encoded component in range [0, 1]\n\t\t// return media-white relative linear-light\n\t\treturn RGB.map(function (val) {\n\t\t\tlet x = ((Math.max(((val ** minv) - c1), 0) / (c2 - (c3 * (val ** minv)))) ** ninv);\n\t\t\treturn (x * 10000 / Yw); \t// luminance relative to diffuse white, [0, 70 or so].\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\t// given media-white relative linear-light\n\t\t// returnPQ encoded component in range [0, 1]\n\t\treturn RGB.map(function (val) {\n\t\t\tlet x = Math.max(val * Yw / 10000, 0); \t// absolute luminance of peak white is 10,000 cd/m².\n\t\t\tlet num = (c1 + (c2 * (x ** n)));\n\t\t\tlet denom = (1 + (c3 * (x ** n)));\n\n\t\t\treturn ((num / denom) ** m);\n\t\t});\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n\n// FIXME see https://github.com/LeaVerou/color.js/issues/190\n\nconst a = 0.17883277;\nconst b = 0.28466892; // 1 - (4 * a)\nconst c = 0.55991073; // 0.5 - a * Math.log(4 *a)\n\nconst scale = 3.7743;\t// Place 18% grey at HLG 0.38, so media white at 0.75\n\nexport default new RGBColorSpace({\n\tid: \"rec2100hlg\",\n\tcssId: \"rec2100-hlg\",\n\tname: \"REC.2100-HLG\",\n\treferred: \"scene\",\n\n\tbase: REC2020Linear,\n\ttoBase (RGB) {\n\t\t// given HLG encoded component in range [0, 1]\n\t\t// return media-white relative linear-light\n\t\treturn RGB.map(function (val) {\n\t\t\t// first the HLG EOTF\n\t\t\t// ITU-R BT.2390-10 p.30 section\n\t\t\t// 6.3 The hybrid log-gamma electro-optical transfer function (EOTF)\n\t\t\t// Then scale by 3 so media white is 1.0\n\t\t\tif (val <= 0.5) {\n\t\t\t\treturn (val ** 2) / 3 * scale;\n\t\t\t}\n\t\t\treturn ((Math.exp((val - c) / a) + b) / 12) * scale;\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\t// given media-white relative linear-light\n\t\t// where diffuse white is 1.0,\n\t\t// return HLG encoded component in range [0, 1]\n\t\treturn RGB.map(function (val) {\n\t\t\t// first scale to put linear-light media white at 1/3\n\t\t\tval /= scale;\n\t\t\t// now the HLG OETF\n\t\t\t// ITU-R BT.2390-10 p.23\n\t\t\t// 6.1 The hybrid log-gamma opto-electronic transfer function (OETF)\n\t\t\tif (val <= 1 / 12) {\n\t\t\t\treturn Math.sqrt(3 * val);\n\t\t\t}\n\t\t\treturn a * Math.log(12 * val - b) + c;\n\t\t});\n\t},\n});\n", "import hooks from \"./hooks.js\";\nimport {multiplyMatrices} from \"./util.js\";\nimport {WHITES} from \"./adapt.js\";\n\nexport const CATs = {};\n\nhooks.add(\"chromatic-adaptation-start\", env => {\n\tif (env.options.method) {\n\t\tenv.M = adapt(env.W1, env.W2, env.options.method);\n\t}\n});\n\nhooks.add(\"chromatic-adaptation-end\", env => {\n\tif (!env.M) {\n\t\tenv.M = adapt(env.W1, env.W2, env.options.method);\n\t}\n});\n\nexport function defineCAT ({id, toCone_M, fromCone_M}) {\n\t// Use id, toCone_M, fromCone_M like variables\n\tCATs[id] = arguments[0];\n}\n\nexport function adapt (W1, W2, id = \"Bradford\") {\n\t// adapt from a source whitepoint or illuminant W1\n\t// to a destination whitepoint or illuminant W2,\n\t// using the given chromatic adaptation transform (CAT)\n\t// debugger;\n\tlet method = CATs[id];\n\n\tlet [ρs, γs, βs] = multiplyMatrices(method.toCone_M, W1);\n\tlet [ρd, γd, βd] = multiplyMatrices(method.toCone_M, W2);\n\n\t// all practical illuminants have non-zero XYZ so no division by zero can occur below\n\tlet scale = [\n\t\t[ρd / ρs, 0, 0 ],\n\t\t[0, γd / γs, 0 ],\n\t\t[0, 0, βd / βs],\n\t];\n\t// console.log({scale});\n\n\tlet scaled_cone_M = multiplyMatrices(scale, method.toCone_M);\n\tlet adapt_M\t= multiplyMatrices(method.fromCone_M, scaled_cone_M);\n\t// console.log({scaled_cone_M, adapt_M});\n\treturn adapt_M;\n}\n\ndefineCAT({\n\tid: \"von Kries\",\n\ttoCone_M: [\n\t\t[ 0.4002400, 0.7076000, -0.0808100 ],\n\t\t[ -0.2263000, 1.1653200, 0.0457000 ],\n\t\t[ 0.0000000, 0.0000000, 0.9182200 ],\n\t],\n\tfromCone_M: [\n\t\t[ 1.8599363874558397, -1.1293816185800916, 0.21989740959619328 ],\n\t\t[ 0.3611914362417676, 0.6388124632850422, -0.000006370596838649899 ],\n\t\t[ 0, 0, 1.0890636230968613 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"Bradford\",\n\t// Convert an array of XYZ values in the range 0.0 - 1.0\n\t// to cone fundamentals\n\ttoCone_M: [\n\t\t[ 0.8951000, 0.2664000, -0.1614000 ],\n\t\t[ -0.7502000, 1.7135000, 0.0367000 ],\n\t\t[ 0.0389000, -0.0685000, 1.0296000 ],\n\t],\n\t// and back\n\tfromCone_M: [\n\t\t[ 0.9869929054667121, -0.14705425642099013, 0.15996265166373122 ],\n\t\t[ 0.4323052697233945, 0.5183602715367774, 0.049291228212855594 ],\n\t\t[ -0.00852866457517732, 0.04004282165408486, 0.96848669578755 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"CAT02\",\n\t// with complete chromatic adaptation to W2, so D = 1.0\n\ttoCone_M: [\n\t\t[ 0.7328000, 0.4296000, -0.1624000 ],\n\t\t[ -0.7036000, 1.6975000, 0.0061000 ],\n\t\t[ 0.0030000, 0.0136000, 0.9834000 ],\n\t],\n\tfromCone_M: [\n\t\t[ 1.0961238208355142, -0.27886900021828726, 0.18274517938277307 ],\n\t\t[ 0.4543690419753592, 0.4735331543074117, 0.07209780371722911 ],\n\t\t[ -0.009627608738429355, -0.00569803121611342, 1.0153256399545427 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"CAT16\",\n\ttoCone_M: [\n\t\t[ 0.401288, 0.650173, -0.051461 ],\n\t\t[ -0.250268, 1.204414, 0.045854 ],\n\t\t[ -0.002079, 0.048952, 0.953127 ],\n\t],\n\t// the extra precision is needed to avoid roundtripping errors\n\tfromCone_M: [\n\t\t[ 1.862067855087233, -1.0112546305316845, 0.14918677544445172 ],\n\t\t[ 0.3875265432361372, 0.6214474419314753, -0.008973985167612521 ],\n\t\t[ -0.01584149884933386, -0.03412293802851557, 1.0499644368778496 ],\n\t],\n});\n\nObject.assign(WHITES, {\n\t// whitepoint values from ASTM E308-01 with 10nm spacing, 1931 2 degree observer\n\t// all normalized to Y (luminance) = 1.00000\n\t// Illuminant A is a tungsten electric light, giving a very warm, orange light.\n\tA: [1.09850, 1.00000, 0.35585],\n\n\t// Illuminant C was an early approximation to daylight: illuminant A with a blue filter.\n\tC: [0.98074, 1.000000, 1.18232],\n\n\t// The daylight series of illuminants simulate natural daylight.\n\t// The color temperature (in degrees Kelvin/100) ranges from\n\t// cool, overcast daylight (D50) to bright, direct sunlight (D65).\n\tD55: [0.95682, 1.00000, 0.92149],\n\tD75: [0.94972, 1.00000, 1.22638],\n\n\t// Equal-energy illuminant, used in two-stage CAT16\n\tE: [1.00000, 1.00000, 1.00000],\n\n\t// The F series of illuminants represent fluorescent lights\n\tF2: [0.99186, 1.00000, 0.67393],\n\tF7: [0.95041, 1.00000, 1.08747],\n\tF11: [1.00962, 1.00000, 0.64350],\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport {WHITES} from \"../adapt.js\";\nimport \"../CATs.js\"; // because of the funky whitepoint\n\n// The ACES whitepoint\n// see TB-2018-001 Derivation of the ACES White Point CIE Chromaticity Coordinates\n// also https://github.com/ampas/aces-dev/blob/master/documents/python/TB-2018-001/aces_wp.py\n// Similar to D60\nWHITES.ACES = [0.32168 / 0.33767, 1.00000, (1.00000 - 0.32168 - 0.33767) / 0.33767];\n\n// convert an array of linear-light ACEScc values to CIE XYZ\nconst toXYZ_M = [\n\t[ 0.6624541811085053, 0.13400420645643313, 0.1561876870049078 ],\n\t[ 0.27222871678091454, 0.6740817658111484, 0.05368951740793705 ],\n\t[ -0.005574649490394108, 0.004060733528982826, 1.0103391003129971 ],\n];\nconst fromXYZ_M = [\n\t[ 1.6410233796943257, -0.32480329418479, -0.23642469523761225 ],\n\t[ -0.6636628587229829, 1.6153315916573379, 0.016756347685530137 ],\n\t[ 0.011721894328375376, -0.008284441996237409, 0.9883948585390215 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"acescg\",\n\tcssId: \"--acescg\",\n\tname: \"ACEScg\",\n\n\t// ACEScg – A scene-referred, linear-light encoding of ACES Data\n\t// https://docs.acescentral.com/specifications/acescg/\n\t// uses the AP1 primaries, see section 4.3.1 Color primaries\n\tcoords: {\n\t\tr: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Red\",\n\t\t},\n\t\tg: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Green\",\n\t\t},\n\t\tb: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Blue\",\n\t\t},\n\t},\n\n\treferred: \"scene\",\n\n\twhite: WHITES.ACES,\n\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n\n// export default Color;\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport \"../CATs.js\"; // because of the funky whitepoint\nimport ACEScg from \"./acescg.js\";\n\nconst ε = 2 ** -16;\n\n// the smallest value which, in the 32bit IEEE 754 float encoding,\n// decodes as a non-negative value\nconst ACES_min_nonzero = -0.35828683;\n\n// brightest encoded value, decodes to 65504\nconst ACES_cc_max = (Math.log2(65504) + 9.72) / 17.52; // 1.468\n\nexport default new RGBColorSpace({\n\tid: \"acescc\",\n\tcssId: \"--acescc\",\n\tname: \"ACEScc\",\n\t// see S-2014-003 ACEScc – A Logarithmic Encoding of ACES Data\n\t// https://docs.acescentral.com/specifications/acescc/\n\t// uses the AP1 primaries, see section 4.3.1 Color primaries\n\n\t// Appendix A: \"Very small ACES scene referred values below 7 1/4 stops\n\t// below 18% middle gray are encoded as negative ACEScc values.\n\t// These values should be preserved per the encoding in Section 4.4\n\t// so that all positive ACES values are maintained.\"\n\tcoords: {\n\t\tr: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Red\",\n\t\t},\n\t\tg: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Green\",\n\t\t},\n\t\tb: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Blue\",\n\t\t},\n\t},\n\treferred: \"scene\",\n\n\tbase: ACEScg,\n\t// from section 4.4.2 Decoding Function\n\ttoBase (RGB) {\n\t\tconst low = (9.72 - 15) / 17.52; // -0.3014\n\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val <= low) {\n\t\t\t\treturn (2 ** ((val * 17.52) - 9.72) - ε) * 2; // very low values, below -0.3014\n\t\t\t}\n\t\t\telse if (val < ACES_cc_max) {\n\t\t\t\treturn 2 ** ((val * 17.52) - 9.72);\n\t\t\t}\n\t\t\telse { // val >= ACES_cc_max\n\t\t\t\treturn 65504;\n\t\t\t}\n\t\t});\n\t},\n\n\t// Non-linear encoding function from S-2014-003, section 4.4.1 Encoding Function\n\tfromBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val <= 0) {\n\t\t\t\treturn (Math.log2(ε) + 9.72) / 17.52; // -0.3584\n\t\t\t}\n\t\t\telse if (val < ε) {\n\t\t\t\treturn (Math.log2(ε + val * 0.5) + 9.72) / 17.52;\n\t\t\t}\n\t\t\telse { // val >= ε\n\t\t\t\treturn (Math.log2(val) + 9.72) / 17.52;\n\t\t\t}\n\t\t});\n\t},\n\t// encoded media white (rgb 1,1,1) => linear [ 222.861, 222.861, 222.861 ]\n\t// encoded media black (rgb 0,0,0) => linear [ 0.0011857, 0.0011857, 0.0011857]\n});\n", "import * as util from \"./util.js\";\nimport hooks from \"./hooks.js\";\nimport defaults from \"./defaults.js\";\nimport ColorSpace from \"./space.js\";\nimport {WHITES} from \"./adapt.js\";\nimport {\n\tgetColor,\n\tparse,\n\tto,\n\tserialize,\n\tinGamut,\n\ttoGamut,\n\tdistance,\n\tequals,\n\tget,\n\tgetAll,\n\tset,\n\tsetAll,\n\tdisplay,\n} from \"./index-fn.js\";\n\n\nimport \"./spaces/xyz-d50.js\";\nimport \"./spaces/srgb.js\";\n\n/**\n * Class that represents a color\n */\nexport default class Color {\n\t/**\n\t * Creates an instance of Color.\n\t * Signatures:\n\t * - `new Color(stringToParse)`\n\t * - `new Color(otherColor)`\n\t * - `new Color({space, coords, alpha})`\n\t * - `new Color(space, coords, alpha)`\n\t * - `new Color(spaceId, coords, alpha)`\n\t */\n\tconstructor (...args) {\n\t\tlet color;\n\n\t\tif (args.length === 1) {\n\t\t\tcolor = getColor(args[0]);\n\t\t}\n\n\t\tlet space, coords, alpha;\n\n\t\tif (color) {\n\t\t\tspace = color.space || color.spaceId;\n\t\t\tcoords = color.coords;\n\t\t\talpha = color.alpha;\n\t\t}\n\t\telse {\n\t\t\t// default signature new Color(ColorSpace, array [, alpha])\n\t\t\t[space, coords, alpha] = args;\n\t\t}\n\n\t\tObject.defineProperty(this, \"space\", {\n\t\t\tvalue: ColorSpace.get(space),\n\t\t\twritable: false,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true, // see note in https://262.ecma-international.org/8.0/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver\n\t\t});\n\n\t\tthis.coords = coords ? coords.slice() : [0, 0, 0];\n\n\t\t// Clamp alpha to [0, 1]\n\t\tthis.alpha = alpha > 1 || alpha === undefined ? 1 : (alpha < 0 ? 0 : alpha);\n\n\t\t// Convert \"NaN\" to NaN\n\t\tfor (let i = 0; i < this.coords.length; i++) {\n\t\t\tif (this.coords[i] === \"NaN\") {\n\t\t\t\tthis.coords[i] = NaN;\n\t\t\t}\n\t\t}\n\n\t\t// Define getters and setters for each coordinate\n\t\tfor (let id in this.space.coords) {\n\t\t\tObject.defineProperty(this, id, {\n\t\t\t\tget: () => this.get(id),\n\t\t\t\tset: value => this.set(id, value),\n\t\t\t});\n\t\t}\n\t}\n\n\tget spaceId () {\n\t\treturn this.space.id;\n\t}\n\n\tclone () {\n\t\treturn new Color(this.space, this.coords, this.alpha);\n\t}\n\n\ttoJSON () {\n\t\treturn {\n\t\t\tspaceId: this.spaceId,\n\t\t\tcoords: this.coords,\n\t\t\talpha: this.alpha,\n\t\t};\n\t}\n\n\tdisplay (...args) {\n\t\tlet ret = display(this, ...args);\n\n\t\t// Convert color object to Color instance\n\t\tret.color = new Color(ret.color);\n\n\t\treturn ret;\n\t}\n\n\t/**\n\t * Get a color from the argument passed\n\t * Basically gets us the same result as new Color(color) but doesn't clone an existing color object\n\t */\n\tstatic get (color, ...args) {\n\t\tif (color instanceof Color) {\n\t\t\treturn color;\n\t\t}\n\n\t\treturn new Color(color, ...args);\n\t}\n\n\tstatic defineFunction (name, code, o = code) {\n\t\tlet {instance = true, returns} = o;\n\n\t\tlet func = function (...args) {\n\t\t\tlet ret = code(...args);\n\n\t\t\tif (returns === \"color\") {\n\t\t\t\tret = Color.get(ret);\n\t\t\t}\n\t\t\telse if (returns === \"function<color>\") {\n\t\t\t\tlet f = ret;\n\t\t\t\tret = function (...args) {\n\t\t\t\t\tlet ret = f(...args);\n\t\t\t\t\treturn Color.get(ret);\n\t\t\t\t};\n\t\t\t\t// Copy any function metadata\n\t\t\t\tObject.assign(ret, f);\n\t\t\t}\n\t\t\telse if (returns === \"array<color>\") {\n\t\t\t\tret = ret.map(c => Color.get(c));\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t};\n\n\t\tif (!(name in Color)) {\n\t\t\tColor[name] = func;\n\t\t}\n\n\t\tif (instance) {\n\t\t\tColor.prototype[name] = function (...args) {\n\t\t\t\treturn func(this, ...args);\n\t\t\t};\n\t\t}\n\t}\n\n\tstatic defineFunctions (o) {\n\t\tfor (let name in o) {\n\t\t\tColor.defineFunction(name, o[name], o[name]);\n\t\t}\n\t}\n\n\tstatic extend (exports) {\n\t\tif (exports.register) {\n\t\t\texports.register(Color);\n\t\t}\n\t\telse {\n\t\t\t// No register method, just add the module's functions\n\t\t\tfor (let name in exports) {\n\t\t\t\tColor.defineFunction(name, exports[name]);\n\t\t\t}\n\t\t}\n\t}\n}\n\nColor.defineFunctions({\n\tget,\n\tgetAll,\n\tset,\n\tsetAll,\n\tto,\n\tequals,\n\tinGamut,\n\ttoGamut,\n\tdistance,\n\ttoString: serialize,\n});\n\nObject.assign(Color, {\n\tutil,\n\thooks,\n\tWHITES,\n\tSpace: ColorSpace,\n\tspaces: ColorSpace.registry,\n\tparse,\n\n\t// Global defaults one may want to configure\n\tdefaults,\n});\n", "import ColorSpace from \"../space.js\";\nimport * as spaces from \"./index-fn.js\";\n\nexport * as spaces from \"./index-fn.js\";\n\nfor (let key of Object.keys(spaces)) {\n\tColorSpace.register(spaces[key]);\n}\n", "/**\n * This plugin defines getters and setters for color[spaceId]\n * e.g. color.lch on *any* color gives us the lch coords\n */\nimport ColorSpace from \"./space.js\";\nimport Color from \"./color.js\";\nimport hooks from \"./hooks.js\";\n\n// Add space accessors to existing color spaces\nfor (let id in ColorSpace.registry) {\n\taddSpaceAccessors(id, ColorSpace.registry[id]);\n}\n\n// Add space accessors to color spaces not yet created\nhooks.add(\"colorspace-init-end\", space => {\n\taddSpaceAccessors(space.id, space);\n\tspace.aliases?.forEach(alias => {\n\t\taddSpaceAccessors(alias, space);\n\t});\n});\n\nfunction addSpaceAccessors (id, space) {\n\tlet propId = id.replace(/-/g, \"_\");\n\n\tObject.defineProperty(Color.prototype, propId, {\n\t\t// Convert coords to coords in another colorspace and return them\n\t\t// Source colorspace: this.spaceId\n\t\t// Target colorspace: id\n\t\tget () {\n\t\t\tlet ret = this.getAll(id);\n\n\t\t\tif (typeof Proxy === \"undefined\") {\n\t\t\t\t// If proxies are not supported, just return a static array\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Enable color.spaceId.coordName syntax\n\t\t\treturn new Proxy(ret, {\n\t\t\t\thas: (obj, property) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tColorSpace.resolveCoord([space, property]);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tcatch (e) {}\n\n\t\t\t\t\treturn Reflect.has(obj, property);\n\t\t\t\t},\n\t\t\t\tget: (obj, property, receiver) => {\n\t\t\t\t\tif (property && typeof property !== \"symbol\" && !(property in obj)) {\n\t\t\t\t\t\tlet {index} = ColorSpace.resolveCoord([space, property]);\n\n\t\t\t\t\t\tif (index >= 0) {\n\t\t\t\t\t\t\treturn obj[index];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Reflect.get(obj, property, receiver);\n\t\t\t\t},\n\t\t\t\tset: (obj, property, value, receiver) => {\n\t\t\t\t\tif (property && typeof property !== \"symbol\" && !(property in obj) || property >= 0) {\n\t\t\t\t\t\tlet {index} = ColorSpace.resolveCoord([space, property]);\n\n\t\t\t\t\t\tif (index >= 0) {\n\t\t\t\t\t\t\tobj[index] = value;\n\n\t\t\t\t\t\t\t// Update color.coords\n\t\t\t\t\t\t\tthis.setAll(id, obj);\n\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Reflect.set(obj, property, value, receiver);\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t\t// Convert coords in another colorspace to internal coords and set them\n\t\t// Target colorspace: this.spaceId\n\t\t// Source colorspace: id\n\t\tset (coords) {\n\t\t\tthis.setAll(id, coords);\n\t\t},\n\t\tconfigurable: true,\n\t\tenumerable: true,\n\t});\n}\n", "// Import all modules of Color.js\nimport Color from \"./color.js\";\n\n// Import all color spaces\nimport \"./spaces/index.js\";\n\n// Import all DeltaE methods\nimport deltaE from \"./deltaE.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\n\nColor.extend(deltaEMethods);\nColor.extend({deltaE});\nObject.assign(Color, {deltaEMethods});\n\n// Import optional modules\nimport * as variations from \"./variations.js\";\nColor.extend(variations);\n\nimport contrast from \"./contrast.js\";\nColor.extend({contrast});\n\nimport * as chromaticity from \"./chromaticity.js\";\nColor.extend(chromaticity);\n\nimport * as luminance from \"./luminance.js\";\nColor.extend(luminance);\n\nimport * as interpolation from \"./interpolation.js\";\nColor.extend(interpolation);\n\nimport * as contrastMethods from \"./contrast/index.js\";\nColor.extend(contrastMethods);\n\nimport \"./CATs.js\";\nimport \"./space-accessors.js\";\n\n// Re-export everything\nexport default Color;\n", "import { Action, ActionPanel, Form, useNavigation } from \"@raycast/api\";\nimport { HistoryItem } from \"../types\";\n\nexport function EditTitle(props: { item: HistoryItem; onEdit: (item: HistoryItem) => void }) {\n const { item } = props;\n const { pop } = useNavigation();\n\n return (\n <Form\n actions={\n <ActionPanel>\n <Action.SubmitForm\n onSubmit={async (values) => {\n props.onEdit({ ...item, title: values.title });\n pop();\n }}\n />\n </ActionPanel>\n }\n >\n <Form.TextField id=\"title\" title=\"Title\" defaultValue={item.title} placeholder=\"Brand Color\" />\n </Form>\n );\n}\n", "import { Cache } from \"@raycast/api\";\nimport { useCachedState } from \"@raycast/utils\";\nimport { HistoryColor, HistoryItem } from \"./types\";\nimport { getFormattedColor } from \"./utils\";\n\nconst MAX_HISTORY_LENGTH = 200;\n\nexport function useHistory() {\n const [history, setHistory] = useCachedState<HistoryItem[]>(\"history\", []);\n return {\n history,\n remove: (color: HistoryColor) =>\n setHistory((previousHistory) => {\n return previousHistory.filter((item) => getFormattedColor(item.color) !== getFormattedColor(color));\n }),\n edit: (historyItem: HistoryItem) =>\n setHistory((previousHistory) => {\n return previousHistory.map((item) =>\n getFormattedColor(item.color) === getFormattedColor(historyItem.color) ? historyItem : item,\n );\n }),\n clear: () => setHistory([]),\n };\n}\n\nexport function addToHistory(color: HistoryColor) {\n const cache = new Cache();\n\n const serializedHistory = cache.get(\"history\");\n const previousHistory = serializedHistory ? (JSON.parse(serializedHistory) as HistoryItem[]) : [];\n\n const historyItem: HistoryItem = { date: new Date().toISOString(), color };\n const newHistory = [\n historyItem,\n ...previousHistory.filter((item) => getFormattedColor(item.color) !== getFormattedColor(color)),\n ].slice(0, MAX_HISTORY_LENGTH);\n\n cache.set(\"history\", JSON.stringify(newHistory));\n}\n"], + "mappings": "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S,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,uBAAuB,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAK,GAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,GAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,KAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAO,IAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,C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,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO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,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAO,KAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY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", + "names": ["require_lite", "__commonJSMin", "exports", "has", "dequal", "foo", "bar", "ctor", "len", "require_useDeepMemo", "__commonJSMin", "exports", "react_1", "lite_1", "useDeepMemo", "value", "ref", "signalRef", "require_useLatest", "__commonJSMin", "exports", "react_1", "useLatest", "value", "ref", "require_showFailureToast", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__setModuleDefault", "v", "__importStar", "mod", "result", "fs", "path", "api_1", "showFailureToast", "error", "options", "message", "handleErrorToastAction", "privateExtension", "title", "extensionURL", "packageJSON", "fallback", "stack", "toast", "require_usePromise", "__commonJSMin", "exports", "react_1", "api_1", "useDeepMemo_1", "useLatest_1", "showFailureToast_1", "usePromise", "fn", "args", "options", "lastCallId", "state", "set", "fnRef", "latestAbortable", "latestArgs", "latestOnError", "latestOnData", "latestOnWillExecute", "latestFailureToast", "latestValue", "latestCallback", "paginationArgsRef", "usePaginationRef", "hasMoreRef", "pageSizeRef", "callback", "callId", "prevState", "promiseOrPaginatedPromise", "bindPromiseIfNeeded", "handleError", "error", "toast", "data", "hasMore", "cursor", "previousData", "revalidate", "mutate", "asyncUpdate", "dataBeforeOptimisticUpdate", "update", "err", "onLoadMore", "isLoading", "stateWithLoadingFixed", "pagination", "require_object_hash", "__commonJSMin", "exports", "module", "crypto", "objectHash", "object", "options", "applyDefaults", "hash", "hashes", "encodings", "sourceOptions", "i", "isNativeFunction", "f", "exp", "hashingStream", "PassThrough", "hasher", "typeHasher", "buf", "stream", "writeTo", "context", "write", "str", "value", "type", "pattern", "objString", "objType", "objectNumber", "keys", "key", "self", "arr", "unordered", "entry", "contextAdditions", "entries", "strm", "localContext", "date", "sym", "err", "bool", "string", "fn", "number", "xml", "regex", "url", "map", "set", "file", "b", "require_helpers", "__commonJSMin", "exports", "__importDefault", "mod", "object_hash_1", "replacer", "key", "_value", "value", "reviver", "_key", "hash", "object", "options", "require_useCachedState", "__commonJSMin", "exports", "react_1", "api_1", "useLatest_1", "helpers_1", "rootCache", "cacheMap", "useCachedState", "key", "initialState", "config", "cacheKey", "cache", "keyRef", "initialValueRef", "cachedState", "error", "state", "err", "stateRef", "setStateAndCache", "updater", "newValue", "stringifiedValue", "require_useCachedPromise", "__commonJSMin", "exports", "react_1", "useCachedState_1", "usePromise_1", "useLatest_1", "helpers_1", "emptyCache", "useCachedPromise", "fn", "args", "options", "initialData", "keepPreviousData", "internal_cacheKeySuffix", "usePromiseOptions", "lastUpdateFrom", "cachedData", "mutateCache", "laggyDataRef", "paginationArgsRef", "_mutate", "revalidate", "state", "data", "pagination", "returnedData", "latestData", "mutate", "asyncUpdate", "dataBeforeOptimisticUpdate", "err", "require_lib", "__commonJSMin", "exports", "module", "conversions", "sign", "x", "evenRound", "createNumberConversion", "bitLength", "typeOpts", "lowerBound", "upperBound", "moduloVal", "moduloBound", "V", "opts", "val", "c", "i", "S", "n", "U", "d", "a", "b", "require_utils", "__commonJSMin", "exports", "module", "target", "source", "keys", "i", "impl", "wrapper", "require_mappingTable", "__commonJSMin", "exports", "module", "require_tr46", "__commonJSMin", "exports", "module", "punycode", "mappingTable", "PROCESSING_OPTIONS", "normalize", "str", "s", "findStatus", "val", "start", "end", "mid", "target", "regexAstralSymbols", "countSymbols", "string", "mapChars", "domain_name", "useSTD3", "processing_option", "hasError", "processed", "len", "codePoint", "status", "combiningMarksRegex", "validateLabel", "label", "error", "i", "processing", "result", "labels", "validation", "verifyDnsLength", "l", "total", "require_url_state_machine", "__commonJSMin", "exports", "module", "punycode", "tr46", "specialSchemes", "failure", "countSymbols", "str", "at", "input", "idx", "c", "isASCIIDigit", "isASCIIAlpha", "isASCIIAlphanumeric", "isASCIIHex", "isSingleDot", "buffer", "isDoubleDot", "isWindowsDriveLetterCodePoints", "cp1", "cp2", "isWindowsDriveLetterString", "string", "isNormalizedWindowsDriveLetterString", "containsForbiddenHostCodePoint", "containsForbiddenHostCodePointExcludingPercent", "isSpecialScheme", "scheme", "isSpecial", "url", "defaultPort", "percentEncode", "hex", "utf8PercentEncode", "buf", "i", "utf8PercentDecode", "output", "isC0ControlPercentEncode", "extraPathPercentEncodeSet", "isPathPercentEncode", "extraUserinfoPercentEncodeSet", "isUserinfoPercentEncode", "percentEncodeChar", "encodeSetPredicate", "cStr", "parseIPv4Number", "R", "parseIPv4", "parts", "numbers", "part", "n", "ipv4", "counter", "serializeIPv4", "address", "parseIPv6", "pieceIndex", "compress", "pointer", "value", "length", "numbersSeen", "ipv4Piece", "number", "swaps", "temp", "serializeIPv6", "findLongestZeroSequence", "ignore0", "parseHost", "isSpecialArg", "parseOpaqueHost", "domain", "asciiDomain", "ipv4Host", "decoded", "arr", "maxIdx", "maxLen", "currStart", "currLen", "serializeHost", "host", "trimControlChars", "trimTabAndNewline", "shortenPath", "path", "isNormalizedWindowsDriveLetter", "includesCredentials", "cannotHaveAUsernamePasswordPort", "URLStateMachine", "base", "encodingOverride", "stateOverride", "res", "ret", "len", "codePoint", "encodedCodePoints", "port", "fileOtherwiseCodePoints", "serializeURL", "excludeFragment", "serializeOrigin", "tuple", "result", "options", "usm", "username", "password", "integer", "require_URL_impl", "__commonJSMin", "exports", "usm", "constructorArgs", "url", "base", "parsedBase", "parsedURL", "v", "input", "require_URL", "__commonJSMin", "exports", "module", "conversions", "utils", "Impl", "impl", "URL", "url", "args", "i", "V", "obj", "constructorArgs", "privateData", "require_public_api", "__commonJSMin", "exports", "require_lib", "__commonJSMin", "exports", "module", "_interopDefault", "ex", "Stream", "http", "Url", "whatwgUrl", "https", "zlib", "Readable", "BUFFER", "TYPE", "Blob", "_Blob", "blobParts", "options", "buffers", "size", "a", "length", "i", "element", "buffer", "type", "buf", "ab", "readable", "start", "end", "relativeStart", "relativeEnd", "span", "slicedBuffer", "blob", "FetchError", "message", "systemError", "convert", "INTERNALS", "PassThrough", "Body", "body", "_this", "_ref", "_ref$size", "_ref$timeout", "timeout", "isURLSearchParams", "isBlob", "err", "error", "consumeBody", "ct", "_this2", "_this3", "convertBody", "proto", "name", "desc", "_this4", "accum", "accumBytes", "abort", "resolve", "reject", "resTimeout", "chunk", "headers", "charset", "res", "str", "obj", "clone", "instance", "p1", "p2", "extractContentType", "getTotalBytes", "writeToStream", "dest", "invalidTokenRegex", "invalidHeaderCharRegex", "validateName", "validateValue", "value", "find", "map", "key", "MAP", "Headers", "_Headers", "init", "rawHeaders", "headerNames", "headerName", "method", "pairs", "pair", "callback", "thisArg", "getHeaders", "_pairs$i", "createHeadersIterator", "kind", "k", "INTERNAL", "target", "iterator", "HeadersIteratorPrototype", "_INTERNAL", "index", "values", "len", "exportNodeCompatibleHeaders", "hostHeaderKey", "createHeadersLenient", "val", "INTERNALS$1", "STATUS_CODES", "Response", "_Response", "opts", "status", "contentType", "INTERNALS$2", "URL", "parse_url", "format_url", "parseURL", "urlStr", "streamDestructionSupported", "isRequest", "input", "isAbortSignal", "signal", "Request", "_Request", "parsedURL", "inputBody", "getNodeRequestOptions", "request", "contentLengthValue", "totalBytes", "agent", "AbortError", "URL$1", "PassThrough$1", "isDomainOrSubdomain", "destination", "original", "orig", "isSameProtocol", "fetch", "url", "send", "response", "destroyStream", "abortAndFinalize", "finalize", "req", "reqTimeout", "socket", "fixResponseChunkedTransferBadEnding", "s", "hadError", "hasDataListener", "location", "locationURL", "requestOpts", "response_options", "codings", "zlibOptions", "raw", "errorCallback", "stream", "code", "require_node_ponyfill", "__commonJSMin", "exports", "module", "nodeFetch", "realFetch", "fetch", "url", "options", "require_fetch_utils", "__commonJSMin", "exports", "isJSON", "contentTypeHeader", "mediaType", "parseContentType", "MEDIA_TYPE_REGEXP", "header", "headerDelimitationindex", "contentType", "match", "type", "subtype", "suffix", "index", "require_useFetch", "__commonJSMin", "exports", "react_1", "useCachedPromise_1", "useLatest_1", "cross_fetch_1", "fetch_utils_1", "helpers_1", "defaultParsing", "response", "contentTypeHeader", "defaultMapping", "result", "useFetch", "url", "options", "parseResponse", "mapResult", "initialData", "execute", "keepPreviousData", "onError", "onData", "onWillExecute", "failureToastOptions", "fetchOptions", "useCachedPromiseOptions", "parseResponseRef", "mapResultRef", "urlRef", "firstPageUrlRef", "firstPageUrl", "abortable", "paginatedFn", "pagination", "res", "parsed", "fn", "promise", "exports", "signals_js_1", "exports", "processOk", "process", "kExitEmitter", "global", "ObjectDefineProperty", "Emitter", "ev", "fn", "list", "i", "code", "signal", "ret", "SignalExitBase", "signalExitWrap", "handler", "cb", "opts", "SignalExitFallback", "SignalExit", "#hupSig", "#emitter", "#process", "#originalProcessEmit", "#originalProcessReallyExit", "#sigListeners", "#loaded", "sig", "listeners", "count", "p", "s", "a", "#processEmit", "#processReallyExit", "listener", "args", "og", "_a", "require_exec_utils", "__commonJSMin", "exports", "__importDefault", "mod", "node_buffer_1", "node_stream_1", "node_util_1", "signal_exit_1", "getSpawnedPromise", "spawned", "timeout", "spawnedPromise", "resolve", "reject", "exitCode", "signal", "error", "timeoutId", "timeoutPromise", "_resolve", "safeSpawnedPromise", "removeExitHandler", "MaxBufferError", "streamPipelinePromisified", "bufferStream", "options", "encoding", "isBuffer", "stream", "length", "chunks", "chunk", "getStream", "inputStream", "rejectPromise", "getBufferedData", "streamPromise", "getSpawnedResult", "stdout", "stderr", "processDone", "stdoutPromise", "stderrPromise", "stripFinalNewline", "input", "LF", "CR", "handleOutput", "value", "getErrorPrefix", "timedOut", "makeError", "command", "parentError", "execaMessage", "shortMessage", "message", "defaultParsing", "require_useExec", "__commonJSMin", "exports", "__importDefault", "mod", "node_child_process_1", "react_1", "useCachedPromise_1", "useLatest_1", "exec_utils_1", "SPACES_REGEXP", "parseCommand", "command", "args", "tokens", "token", "previousToken", "useExec", "optionsOrArgs", "options", "parseOutput", "input", "onData", "onWillExecute", "initialData", "execute", "keepPreviousData", "onError", "failureToastOptions", "execOptions", "useCachedPromiseOptions", "abortable", "parseOutputRef", "fn", "_command", "_args", "_options", "file", "spawned", "spawnedPromise", "error", "exitCode", "signal", "timedOut", "stdoutResult", "stderrResult", "stdout", "stderr", "require_stream_chain", "__commonJSMin", "exports", "module", "Readable", "Writable", "Duplex", "Transform", "none", "finalSymbol", "manySymbol", "final", "value", "many", "values", "isFinal", "o", "isMany", "getFinalValue", "getManyValues", "runAsyncGenerator", "gen", "stream", "data", "Chain", "wrapFunction", "fn", "chunk", "encoding", "callback", "result", "error", "wrapArray", "fns", "i", "isReadableNodeStream", "obj", "isWritableNodeStream", "isDuplexNodeStream", "_Chain", "options", "index", "s", "output", "_1", "_2", "e", "require_Utf8Stream", "__commonJSMin", "exports", "module", "Transform", "StringDecoder", "Utf8Stream", "options", "chunk", "encoding", "callback", "_", "require_Parser", "__commonJSMin", "exports", "module", "Utf8Stream", "patterns", "MAX_PATTERN_SIZE", "noSticky", "key", "src", "values", "expected", "fromHex", "s", "codes", "Parser", "_Parser", "options", "callback", "error", "match", "value", "index", "main", "t", "require_emit", "__commonJSMin", "exports", "module", "emit", "stream", "item", "require_stream_json", "__commonJSMin", "exports", "module", "Parser", "emit", "make", "options", "require_FilterBase", "__commonJSMin", "exports", "module", "Transform", "FilterBase", "_FilterBase", "string", "separator", "stack", "path", "regExp", "array", "options", "filter", "replacement", "chunk", "_", "callback", "passValue", "last", "post", "expected", "skipValue", "require_withParser", "__commonJSMin", "exports", "module", "Chain", "Parser", "withParser", "fn", "options", "require_Pick", "__commonJSMin", "exports", "module", "FilterBase", "withParser", "Pick", "_Pick", "options", "chunk", "require_Assembler", "__commonJSMin", "exports", "module", "EventEmitter", "startObject", "Ctr", "Assembler", "_Assembler", "stream", "options", "chunk", "path", "i", "key", "level", "index", "value", "require_StreamBase", "__commonJSMin", "exports", "module", "Transform", "Assembler", "Counter", "initialDepth", "StreamBase", "options", "chunk", "encoding", "callback", "result", "require_StreamArray", "__commonJSMin", "exports", "module", "StreamBase", "withParser", "StreamArray", "_StreamArray", "options", "chunk", "_", "callback", "discard", "require_useStreamJSON", "__commonJSMin", "exports", "__importDefault", "mod", "api_1", "cross_fetch_1", "node_fs_1", "promises_1", "node_path_1", "promises_2", "react_1", "stream_chain_1", "stream_json_1", "Pick_1", "StreamArray_1", "fetch_utils_1", "useCachedPromise_1", "helpers_1", "cache", "url", "destination", "fetchOptions", "cacheURL", "cacheFile", "response", "source", "abortSignal", "cacheURLIfNecessary", "folder", "fileName", "forceUpdate", "stats", "headResponse", "lastModified", "streamJsonFile", "filePath", "pageSize", "dataPath", "filterFn", "transformFn", "page", "pipeline", "data", "e", "useStreamJSON", "options", "initialData", "execute", "keepPreviousData", "onError", "onData", "onWillExecute", "failureToastOptions", "filter", "transform", "previousUrl", "previousDestination", "useCachedPromiseOptions", "generatorRef", "controllerRef", "hasMoreRef", "forceCacheUpdate", "newData", "done", "require_useSQL", "__commonJSMin", "exports", "__importDefault", "mod", "jsx_runtime_1", "api_1", "node_fs_1", "promises_1", "node_os_1", "node_child_process_1", "node_path_1", "react_1", "usePromise_1", "useLatest_1", "exec_utils_1", "showFailureToast_1", "helpers_1", "useSQL", "databasePath", "query", "options", "permissionPriming", "usePromiseOptions", "permissionView", "setPermissionView", "latestOptions", "abortable", "handleError", "_error", "error", "PermissionError", "isPermissionError", "PermissionErrorScreen", "fn", "workaroundCopiedDb", "abortSignal", "spawned", "spawnedPromise", "exitCode", "signal", "stdoutResult", "stderrResult", "checkAborted", "tempFolder", "message", "macosVenturaAndLater", "preferencesString", "props", "action", "require_useForm", "__commonJSMin", "exports", "react_1", "useLatest_1", "FormValidation", "validationError", "validation", "value", "valueIsValid", "useForm", "props", "_onSubmit", "initialValues", "values", "setValues", "errors", "setErrors", "refs", "latestValidation", "latestOnSubmit", "focus", "id", "handleSubmit", "validationErrors", "error", "result", "setValidationError", "setValue", "itemProps", "target", "event", "instance", "reset", "ref", "require_useAI", "__commonJSMin", "exports", "react_1", "api_1", "usePromise_1", "useAI", "prompt", "options", "creativity", "stream", "model", "usePromiseOptions", "data", "setData", "abortable", "isLoading", "error", "revalidate", "shouldStream", "x", "require_useFrecencySorting", "__commonJSMin", "exports", "react_1", "useLatest_1", "useCachedState_1", "HALF_LIFE_DAYS", "MS_PER_DAY", "DECAY_RATE_CONSTANT", "VISIT_TYPE_POINTS", "getNewFrecency", "item", "now", "lastVisited", "frecency", "visitAgeInDays", "currentVisitValue", "totalVisitValue", "defaultKey", "useFrecencySorting", "data", "options", "keyRef", "sortUnvisitedRef", "storedFrecencies", "setStoredFrecencies", "visitItem", "itemKey", "newFrecency", "resetRanking", "newFrencencies", "a", "b", "frecencyA", "frecencyB", "require_useLocalStorage", "__commonJSMin", "exports", "api_1", "showFailureToast_1", "helpers_1", "usePromise_1", "useLocalStorage", "key", "initialValue", "value", "isLoading", "mutate", "storageKey", "item", "setValue", "error", "removeValue", "require_color", "__commonJSMin", "exports", "hexToRGB", "hex", "r", "g", "b", "rgbToHex", "rString", "gString", "bString", "rgbToHSL", "cmin", "cmax", "delta", "h", "s", "l", "hslToRGB", "c", "x", "m", "hexToHSL", "hslToHex", "hsl", "clamp", "value", "min", "max", "offset", "slightlyDarkerColor", "slightlyLighterColor", "require_avatar", "__commonJSMin", "exports", "color_1", "getWholeCharAndI", "str", "i", "code", "next", "prev", "avatarColorSet", "getAvatarIcon", "name", "options", "words", "initials", "firstWordFirstLetter", "lastWordFirstLetter", "backgroundColor", "initialsCharIndex", "char", "colorIndex", "radius", "require_favicon", "__commonJSMin", "exports", "api_1", "url_1", "getFavicon", "url", "options", "hostname", "e", "require_progress", "__commonJSMin", "exports", "api_1", "polarToCartesian", "centerX", "centerY", "radius", "angleInDegrees", "angleInRadians", "describeArc", "x", "y", "startAngle", "endAngle", "start", "end", "largeArcFlag", "getProgressIcon", "progress", "color", "options", "background", "backgroundOpacity", "stroke", "require_icon", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "require_providers", "__commonJSMin", "exports", "api_1", "OAuthService_1", "PROVIDER_CLIENT_IDS", "getIcon", "markup", "PROVIDERS_ICONS", "asanaService", "options", "githubService", "googleService", "jiraService", "linearService", "slackService", "response", "zoomService", "require_OAuthService", "__commonJSMin", "exports", "__importDefault", "mod", "cross_fetch_1", "providers_1", "OAuthService", "options", "x", "currentTokenSet", "tokens", "authRequest", "authorizationCode", "params", "response", "responseText", "token", "tokenResponse", "require_withAccessToken", "__commonJSMin", "exports", "jsx_runtime_1", "api_1", "token", "type", "authorize", "getIdToken", "onAuthorize", "withAccessToken", "options", "fn", "props", "idToken", "Component", "WrappedComponent", "wrapPromise", "getAccessToken", "promise", "status", "response", "suspender", "res", "err", "require_oauth", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "require_run_applescript", "__commonJSMin", "exports", "__importDefault", "mod", "node_child_process_1", "exec_utils_1", "runAppleScript", "script", "optionsOrArgs", "options", "humanReadableOutput", "language", "timeout", "execOptions", "outputArguments", "spawned", "spawnedPromise", "error", "exitCode", "signal", "timedOut", "stdoutResult", "stderrResult", "stdout", "stderr", "require_createDeeplink", "__commonJSMin", "exports", "__importDefault", "mod", "api_1", "node_fs_1", "node_path_1", "DeeplinkType", "getProtocol", "getOwnerOrAuthorName", "packageJSON", "createScriptCommandDeeplink", "options", "url", "params", "arg", "createExtensionDeeplink", "ownerOrAuthorName", "extensionName", "createDeeplink", "require_dist", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "require_listCacheClear", "__commonJSMin", "exports", "module", "listCacheClear", "require_eq", "__commonJSMin", "exports", "module", "eq", "value", "other", "require_assocIndexOf", "__commonJSMin", "exports", "module", "eq", "assocIndexOf", "array", "key", "length", "require_listCacheDelete", "__commonJSMin", "exports", "module", "assocIndexOf", "arrayProto", "splice", "listCacheDelete", "key", "data", "index", "lastIndex", "require_listCacheGet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheGet", "key", "data", "index", "require_listCacheHas", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheHas", "key", "require_listCacheSet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheSet", "key", "value", "data", "index", "require_ListCache", "__commonJSMin", "exports", "module", "listCacheClear", "listCacheDelete", "listCacheGet", "listCacheHas", "listCacheSet", "ListCache", "entries", "index", "length", "entry", "require_stackClear", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "require_stackDelete", "__commonJSMin", "exports", "module", "stackDelete", "key", "data", "result", "require_stackGet", "__commonJSMin", "exports", "module", "stackGet", "key", "require_stackHas", "__commonJSMin", "exports", "module", "stackHas", "key", "require_freeGlobal", "__commonJSMin", "exports", "module", "freeGlobal", "require_root", "__commonJSMin", "exports", "module", "freeGlobal", "freeSelf", "root", "require_Symbol", "__commonJSMin", "exports", "module", "root", "Symbol", "require_getRawTag", "__commonJSMin", "exports", "module", "Symbol", "objectProto", "hasOwnProperty", "nativeObjectToString", "symToStringTag", "getRawTag", "value", "isOwn", "tag", "unmasked", "result", "require_objectToString", "__commonJSMin", "exports", "module", "objectProto", "nativeObjectToString", "objectToString", "value", "require_baseGetTag", "__commonJSMin", "exports", "module", "Symbol", "getRawTag", "objectToString", "nullTag", "undefinedTag", "symToStringTag", "baseGetTag", "value", "require_isObject", "__commonJSMin", "exports", "module", "isObject", "value", "type", "require_isFunction", "__commonJSMin", "exports", "module", "baseGetTag", "isObject", "asyncTag", "funcTag", "genTag", "proxyTag", "isFunction", "value", "tag", "require_coreJsData", "__commonJSMin", "exports", "module", "root", "coreJsData", "require_isMasked", "__commonJSMin", "exports", "module", "coreJsData", "maskSrcKey", "uid", "isMasked", "func", "require_toSource", "__commonJSMin", "exports", "module", "funcProto", "funcToString", "toSource", "func", "require_baseIsNative", "__commonJSMin", "exports", "module", "isFunction", "isMasked", "isObject", "toSource", "reRegExpChar", "reIsHostCtor", "funcProto", "objectProto", "funcToString", "hasOwnProperty", "reIsNative", "baseIsNative", "value", "pattern", "require_getValue", "__commonJSMin", "exports", "module", "getValue", "object", "key", "require_getNative", "__commonJSMin", "exports", "module", "baseIsNative", "getValue", "getNative", "object", "key", "value", "require_Map", "__commonJSMin", "exports", "module", "getNative", "root", "Map", "require_nativeCreate", "__commonJSMin", "exports", "module", "getNative", "nativeCreate", "require_hashClear", "__commonJSMin", "exports", "module", "nativeCreate", "hashClear", "require_hashDelete", "__commonJSMin", "exports", "module", "hashDelete", "key", "result", "require_hashGet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "objectProto", "hasOwnProperty", "hashGet", "key", "data", "result", "require_hashHas", "__commonJSMin", "exports", "module", "nativeCreate", "objectProto", "hasOwnProperty", "hashHas", "key", "data", "require_hashSet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "hashSet", "key", "value", "data", "require_Hash", "__commonJSMin", "exports", "module", "hashClear", "hashDelete", "hashGet", "hashHas", "hashSet", "Hash", "entries", "index", "length", "entry", "require_mapCacheClear", "__commonJSMin", "exports", "module", "Hash", "ListCache", "Map", "mapCacheClear", "require_isKeyable", "__commonJSMin", "exports", "module", "isKeyable", "value", "type", "require_getMapData", "__commonJSMin", "exports", "module", "isKeyable", "getMapData", "map", "key", "data", "require_mapCacheDelete", "__commonJSMin", "exports", "module", "getMapData", "mapCacheDelete", "key", "result", "require_mapCacheGet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheGet", "key", "require_mapCacheHas", "__commonJSMin", "exports", "module", "getMapData", "mapCacheHas", "key", "require_mapCacheSet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheSet", "key", "value", "data", "size", "require_MapCache", "__commonJSMin", "exports", "module", "mapCacheClear", "mapCacheDelete", "mapCacheGet", "mapCacheHas", "mapCacheSet", "MapCache", "entries", "index", "length", "entry", "require_stackSet", "__commonJSMin", "exports", "module", "ListCache", "Map", "MapCache", "LARGE_ARRAY_SIZE", "stackSet", "key", "value", "data", "pairs", "require_Stack", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "stackDelete", "stackGet", "stackHas", "stackSet", "Stack", "entries", "data", "require_setCacheAdd", "__commonJSMin", "exports", "module", "HASH_UNDEFINED", "setCacheAdd", "value", "require_setCacheHas", "__commonJSMin", "exports", "module", "setCacheHas", "value", "require_SetCache", "__commonJSMin", "exports", "module", "MapCache", "setCacheAdd", "setCacheHas", "SetCache", "values", "index", "length", "require_arraySome", "__commonJSMin", "exports", "module", "arraySome", "array", "predicate", "index", "length", "require_cacheHas", "__commonJSMin", "exports", "module", "cacheHas", "cache", "key", "require_equalArrays", "__commonJSMin", "exports", "module", "SetCache", "arraySome", "cacheHas", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "equalArrays", "array", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "arrLength", "othLength", "arrStacked", "othStacked", "index", "result", "seen", "arrValue", "othValue", "compared", "othIndex", "require_Uint8Array", "__commonJSMin", "exports", "module", "root", "Uint8Array", "require_mapToArray", "__commonJSMin", "exports", "module", "mapToArray", "map", "index", "result", "value", "key", "require_setToArray", "__commonJSMin", "exports", "module", "setToArray", "set", "index", "result", "value", "require_equalByTag", "__commonJSMin", "exports", "module", "Symbol", "Uint8Array", "eq", "equalArrays", "mapToArray", "setToArray", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "boolTag", "dateTag", "errorTag", "mapTag", "numberTag", "regexpTag", "setTag", "stringTag", "symbolTag", "arrayBufferTag", "dataViewTag", "symbolProto", "symbolValueOf", "equalByTag", "object", "other", "tag", "bitmask", "customizer", "equalFunc", "stack", "convert", "isPartial", "stacked", "result", "require_arrayPush", "__commonJSMin", "exports", "module", "arrayPush", "array", "values", "index", "length", "offset", "require_isArray", "__commonJSMin", "exports", "module", "isArray", "require_baseGetAllKeys", "__commonJSMin", "exports", "module", "arrayPush", "isArray", "baseGetAllKeys", "object", "keysFunc", "symbolsFunc", "result", "require_arrayFilter", "__commonJSMin", "exports", "module", "arrayFilter", "array", "predicate", "index", "length", "resIndex", "result", "value", "require_stubArray", "__commonJSMin", "exports", "module", "stubArray", "require_getSymbols", "__commonJSMin", "exports", "module", "arrayFilter", "stubArray", "objectProto", "propertyIsEnumerable", "nativeGetSymbols", "getSymbols", "object", "symbol", "require_baseTimes", "__commonJSMin", "exports", "module", "baseTimes", "n", "iteratee", "index", "result", "require_isObjectLike", "__commonJSMin", "exports", "module", "isObjectLike", "value", "require_baseIsArguments", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "argsTag", "baseIsArguments", "value", "require_isArguments", "__commonJSMin", "exports", "module", "baseIsArguments", "isObjectLike", "objectProto", "hasOwnProperty", "propertyIsEnumerable", "isArguments", "value", "require_stubFalse", "__commonJSMin", "exports", "module", "stubFalse", "require_isBuffer", "__commonJSMin", "exports", "module", "root", "stubFalse", "freeExports", "freeModule", "moduleExports", "Buffer", "nativeIsBuffer", "isBuffer", "require_isIndex", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "reIsUint", "isIndex", "value", "length", "type", "require_isLength", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "isLength", "value", "require_baseIsTypedArray", "__commonJSMin", "exports", "module", "baseGetTag", "isLength", "isObjectLike", "argsTag", "arrayTag", "boolTag", "dateTag", "errorTag", "funcTag", "mapTag", "numberTag", "objectTag", "regexpTag", "setTag", "stringTag", "weakMapTag", "arrayBufferTag", "dataViewTag", "float32Tag", "float64Tag", "int8Tag", "int16Tag", "int32Tag", "uint8Tag", "uint8ClampedTag", "uint16Tag", "uint32Tag", "typedArrayTags", "baseIsTypedArray", "value", "require_baseUnary", "__commonJSMin", "exports", "module", "baseUnary", "func", "value", "require_nodeUtil", "__commonJSMin", "exports", "module", "freeGlobal", "freeExports", "freeModule", "moduleExports", "freeProcess", "nodeUtil", "types", "require_isTypedArray", "__commonJSMin", "exports", "module", "baseIsTypedArray", "baseUnary", "nodeUtil", "nodeIsTypedArray", "isTypedArray", "require_arrayLikeKeys", "__commonJSMin", "exports", "module", "baseTimes", "isArguments", "isArray", "isBuffer", "isIndex", "isTypedArray", "objectProto", "hasOwnProperty", "arrayLikeKeys", "value", "inherited", "isArr", "isArg", "isBuff", "isType", "skipIndexes", "result", "length", "key", "require_isPrototype", "__commonJSMin", "exports", "module", "objectProto", "isPrototype", "value", "Ctor", "proto", "require_overArg", "__commonJSMin", "exports", "module", "overArg", "func", "transform", "arg", "require_nativeKeys", "__commonJSMin", "exports", "module", "overArg", "nativeKeys", "require_baseKeys", "__commonJSMin", "exports", "module", "isPrototype", "nativeKeys", "objectProto", "hasOwnProperty", "baseKeys", "object", "result", "key", "require_isArrayLike", "__commonJSMin", "exports", "module", "isFunction", "isLength", "isArrayLike", "value", "require_keys", "__commonJSMin", "exports", "module", "arrayLikeKeys", "baseKeys", "isArrayLike", "keys", "object", "require_getAllKeys", "__commonJSMin", "exports", "module", "baseGetAllKeys", "getSymbols", "keys", "getAllKeys", "object", "require_equalObjects", "__commonJSMin", "exports", "module", "getAllKeys", "COMPARE_PARTIAL_FLAG", "objectProto", "hasOwnProperty", "equalObjects", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "objProps", "objLength", "othProps", "othLength", "index", "key", "objStacked", "othStacked", "result", "skipCtor", "objValue", "othValue", "compared", "objCtor", "othCtor", "require_DataView", "__commonJSMin", "exports", "module", "getNative", "root", "DataView", "require_Promise", "__commonJSMin", "exports", "module", "getNative", "root", "Promise", "require_Set", "__commonJSMin", "exports", "module", "getNative", "root", "Set", "require_WeakMap", "__commonJSMin", "exports", "module", "getNative", "root", "WeakMap", "require_getTag", "__commonJSMin", "exports", "module", "DataView", "Map", "Promise", "Set", "WeakMap", "baseGetTag", "toSource", "mapTag", "objectTag", "promiseTag", "setTag", "weakMapTag", "dataViewTag", "dataViewCtorString", "mapCtorString", "promiseCtorString", "setCtorString", "weakMapCtorString", "getTag", "value", "result", "Ctor", "ctorString", "require_baseIsEqualDeep", "__commonJSMin", "exports", "module", "Stack", "equalArrays", "equalByTag", "equalObjects", "getTag", "isArray", "isBuffer", "isTypedArray", "COMPARE_PARTIAL_FLAG", "argsTag", "arrayTag", "objectTag", "objectProto", "hasOwnProperty", "baseIsEqualDeep", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "objIsArr", "othIsArr", "objTag", "othTag", "objIsObj", "othIsObj", "isSameTag", "objIsWrapped", "othIsWrapped", "objUnwrapped", "othUnwrapped", "require_baseIsEqual", "__commonJSMin", "exports", "module", "baseIsEqualDeep", "isObjectLike", "baseIsEqual", "value", "other", "bitmask", "customizer", "stack", "require_baseIsMatch", "__commonJSMin", "exports", "module", "Stack", "baseIsEqual", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseIsMatch", "object", "source", "matchData", "customizer", "index", "length", "noCustomizer", "data", "key", "objValue", "srcValue", "stack", "result", "require_isStrictComparable", "__commonJSMin", "exports", "module", "isObject", "isStrictComparable", "value", "require_getMatchData", "__commonJSMin", "exports", "module", "isStrictComparable", "keys", "getMatchData", "object", "result", "length", "key", "value", "require_matchesStrictComparable", "__commonJSMin", "exports", "module", "matchesStrictComparable", "key", "srcValue", "object", "require_baseMatches", "__commonJSMin", "exports", "module", "baseIsMatch", "getMatchData", "matchesStrictComparable", "baseMatches", "source", "matchData", "object", "require_isSymbol", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "symbolTag", "isSymbol", "value", "require_isKey", "__commonJSMin", "exports", "module", "isArray", "isSymbol", "reIsDeepProp", "reIsPlainProp", "isKey", "value", "object", "type", "require_memoize", "__commonJSMin", "exports", "module", "MapCache", "FUNC_ERROR_TEXT", "memoize", "func", "resolver", "memoized", "args", "key", "cache", "result", "require_memoizeCapped", "__commonJSMin", "exports", "module", "memoize", "MAX_MEMOIZE_SIZE", "memoizeCapped", "func", "result", "key", "cache", "require_stringToPath", "__commonJSMin", "exports", "module", "memoizeCapped", "rePropName", "reEscapeChar", "stringToPath", "string", "result", "match", "number", "quote", "subString", "require_arrayMap", "__commonJSMin", "exports", "module", "arrayMap", "array", "iteratee", "index", "length", "result", "require_baseToString", "__commonJSMin", "exports", "module", "Symbol", "arrayMap", "isArray", "isSymbol", "INFINITY", "symbolProto", "symbolToString", "baseToString", "value", "result", "require_toString", "__commonJSMin", "exports", "module", "baseToString", "toString", "value", "require_castPath", "__commonJSMin", "exports", "module", "isArray", "isKey", "stringToPath", "toString", "castPath", "value", "object", "require_toKey", "__commonJSMin", "exports", "module", "isSymbol", "INFINITY", "toKey", "value", "result", "require_baseGet", "__commonJSMin", "exports", "module", "castPath", "toKey", "baseGet", "object", "path", "index", "length", "require_get", "__commonJSMin", "exports", "module", "baseGet", "get", "object", "path", "defaultValue", "result", "require_baseHasIn", "__commonJSMin", "exports", "module", "baseHasIn", "object", "key", "require_hasPath", "__commonJSMin", "exports", "module", "castPath", "isArguments", "isArray", "isIndex", "isLength", "toKey", "hasPath", "object", "path", "hasFunc", "index", "length", "result", "key", "require_hasIn", "__commonJSMin", "exports", "module", "baseHasIn", "hasPath", "hasIn", "object", "path", "require_baseMatchesProperty", "__commonJSMin", "exports", "module", "baseIsEqual", "get", "hasIn", "isKey", "isStrictComparable", "matchesStrictComparable", "toKey", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseMatchesProperty", "path", "srcValue", "object", "objValue", "require_identity", "__commonJSMin", "exports", "module", "identity", "value", "require_baseProperty", "__commonJSMin", "exports", "module", "baseProperty", "key", "object", "require_basePropertyDeep", "__commonJSMin", "exports", "module", "baseGet", "basePropertyDeep", "path", "object", "require_property", "__commonJSMin", "exports", "module", "baseProperty", "basePropertyDeep", "isKey", "toKey", "property", "path", "require_baseIteratee", "__commonJSMin", "exports", "module", "baseMatches", "baseMatchesProperty", "identity", "isArray", "property", "baseIteratee", "value", "require_baseFindIndex", "__commonJSMin", "exports", "module", "baseFindIndex", "array", "predicate", "fromIndex", "fromRight", "length", "index", "require_baseIsNaN", "__commonJSMin", "exports", "module", "baseIsNaN", "value", "require_strictIndexOf", "__commonJSMin", "exports", "module", "strictIndexOf", "array", "value", "fromIndex", "index", "length", "require_baseIndexOf", "__commonJSMin", "exports", "module", "baseFindIndex", "baseIsNaN", "strictIndexOf", "baseIndexOf", "array", "value", "fromIndex", "require_arrayIncludes", "__commonJSMin", "exports", "module", "baseIndexOf", "arrayIncludes", "array", "value", "length", "require_arrayIncludesWith", "__commonJSMin", "exports", "module", "arrayIncludesWith", "array", "value", "comparator", "index", "length", "require_noop", "__commonJSMin", "exports", "module", "noop", "require_createSet", "__commonJSMin", "exports", "module", "Set", "noop", "setToArray", "INFINITY", "createSet", "values", "require_baseUniq", "__commonJSMin", "exports", "module", "SetCache", "arrayIncludes", "arrayIncludesWith", "cacheHas", "createSet", "setToArray", "LARGE_ARRAY_SIZE", "baseUniq", "array", "iteratee", "comparator", "index", "includes", "length", "isCommon", "result", "seen", "set", "outer", "value", "computed", "seenIndex", "require_uniqBy", "__commonJSMin", "exports", "module", "baseIteratee", "baseUniq", "uniqBy", "array", "iteratee", "organize_colors_exports", "__export", "Command", "__toCommonJS", "import_api", "import_utils", "import_api", "import_api", "multiplyMatrices", "A", "B", "m", "x", "p", "B_cols", "_", "i", "product", "row", "col", "ret", "c", "isString", "str", "type", "o", "serializeNumber", "n", "precision", "unit", "isNone", "toPrecision", "skipNone", "integer", "digits", "multiplier", "angleFactor", "parseFunction", "isFunctionRegex", "isNumberRegex", "unitValueRegex", "singleArgument", "parts", "args", "$0", "rawArg", "match", "arg", "unitlessArg", "last", "arr", "interpolate", "start", "end", "interpolateInv", "value", "mapRange", "from", "to", "parseCoordGrammar", "coordGrammars", "coordGrammar", "range", "clamp", "min", "val", "max", "copySign", "spow", "base", "exp", "zdiv", "d", "bisectLeft", "lo", "hi", "mid", "Hooks", "name", "callback", "first", "env", "hooks", "defaults", "msg", "WHITES", "getWhite", "adapt", "W1", "W2", "XYZ", "options", "noneTypes", "coerceCoords", "space", "format", "coords", "id", "coordMeta", "providedType", "coordName", "fromRange", "toRange", "util.mapRange", "parse", "meta", "util.parseFunction", "alternateId", "ids", "alpha", "ColorSpace", "colorSpec", "specId", "types", "didYouMean", "registryId", "cssId", "util.last", "formatId", "color", "getColor", "\u03B5", "_ColorSpace", "white", "getPath", "epsilon", "coord", "processFormat", "myPath", "otherPath", "connectionSpace", "connectionSpaceIndex", "alias", "alternatives", "ref", "workingSpace", "coordType", "normalizedCoord", "s", "coordFormats", "outputType", "suffix", "xyz_d65", "RGBColorSpace", "XYZ_D65", "rgb", "xyz", "getAll", "get", "prop", "index", "setAll", "set", "object", "XYZ_D50", "\u03B53", "\u03BA", "lab", "xyz_d50", "f", "Lab", "constrain", "angle", "adjust", "arc", "angles", "a1", "a2", "angleDiff", "lch", "L", "a", "b", "hue", "constrainAngle", "LCH", "Lightness", "Chroma", "Hue", "Gfactor", "\u03C0", "r2d", "d2r", "pow7", "x2", "deltaE2000", "sample", "kL", "kC", "kH", "L1", "b1", "C1", "L2", "b2", "C2", "Cbar", "C7", "G", "adash1", "adash2", "Cdash1", "Cdash2", "h1", "h2", "\u0394L", "\u0394C", "hdiff", "hsum", "habs", "\u0394h", "\u0394H", "Ldash", "Cdash", "Cdash7", "hdash", "lsq", "SL", "SC", "T", "SH", "\u0394\u03B8", "RC", "RT", "dE", "XYZtoLMS_M", "LMStoXYZ_M", "LMStoLab_M", "LabtoLMS_M", "OKLab", "LMSg", "LMS", "deltaEOK", "oklab", "\u0394a", "\u0394b", "inGamut", "clone", "distance", "color1", "color2", "coords1", "coords2", "acc", "c1", "c2", "deltaE76", "deltaECMC", "l", "H1", "H2", "C4", "F", "Yw", "XYZ_Abs_D65", "v", "AbsXYZ", "g", "ninv", "c3", "pinv", "d0", "XYZtoCone_M", "ConetoXYZ_M", "ConetoIab_M", "IabtoCone_M", "Jzazbz", "Xa", "Ya", "Za", "Xm", "Ym", "PQLMS", "num", "denom", "Iz", "az", "bz", "Jz", "jzczhz", "jzazbz", "deltaEJz", "Jz1", "Cz1", "Hz1", "Jz2", "Cz2", "Hz2", "\u0394J", "m1", "m2", "im1", "im2", "LMStoIPT_M", "IPTtoLMS_M", "ictcp", "LMStoICtCp", "ICtCp", "ICtCptoLMS", "deltaEITP", "I1", "T1", "P1", "I2", "T2", "P2", "adaptedCoef", "adaptedCoefInv", "tau", "cat16", "cat16Inv", "surroundMap", "hueQuadMap", "rad2deg", "deg2rad", "fl", "unadapt", "adapted", "constant", "cabs", "hueQuadrature", "h", "hp", "hii", "ei", "eii", "Hi", "t", "invHueQuadrature", "H", "Hp", "environment", "refWhite", "adaptingLuminance", "backgroundLuminance", "surround", "discounting", "xyzW", "yw", "rgbW", "k4", "rgbCW", "rgbAW", "viewingConditions", "fromCam16", "cam16", "hRad", "cosh", "sinh", "Jroot", "et", "p1", "p2", "r", "rgb_c", "toCam16", "xyzd65", "xyz100", "rgbA", "J", "Q", "C", "M", "toLstar", "y", "fromLstar", "lstar", "fromHct", "j", "threshold", "max_attempts", "attempt", "delta", "toHct", "hct", "ucsCoeff", "convertUcsAb", "hrad", "deltaEHCT", "t1", "t2", "deltaEMethods", "calcEpsilon", "jnd", "order", "GMAPPRESET", "toGamut", "method", "deltaEMethod", "blackWhiteClamp", "util.isString", "spaceColor", "toGamutCSS", "de", "clipped", "channelMeta", "channel", "util.isNone", "mapSpace", "coordId", "mappedColor", "low", "high", "bounds", "COLORS", "origin", "oklchSpace", "origin_OKLCH", "black", "clip", "_color", "destColor", "spaceCoords", "util.clamp", "min_inGamut", "current", "E", "chroma", "serialize", "customOptions", "checkInGamut", "util.serializeNumber", "strAlpha", "toXYZ_M", "fromXYZ_M", "REC2020Linear", "\u03B1", "\u03B2", "REC2020", "RGB", "P3Linear", "sRGBLinear", "KEYWORDS", "coordGrammarNumber", "sRGB", "sign", "abs", "rgba", "component", "collapse", "collapsible", "P3", "supportsNone", "display", "fallbackColor", "equals", "getLuminance", "setLuminance", "register", "Color", "contrastWCAG21", "Y1", "Y2", "normBG", "normTXT", "revTXT", "revBG", "blkThrs", "blkClmp", "loClip", "deltaYmin", "scaleBoW", "loBoWoffset", "scaleWoB", "fclamp", "Y", "linearize", "contrastAPCA", "background", "foreground", "S", "Sapc", "R", "lumTxt", "lumBg", "Ytxt", "Ybg", "BoW", "contrastMichelson", "contrastWeber", "contrastLstar", "lab_d65", "phi", "contrastDeltaPhi", "Lstr1", "Lstr2", "deltaPhiStar", "contrast", "algorithm", "rest", "algorithms", "contrastAlgorithms", "uv", "X", "Z", "xy", "sum", "deltaE", "lighten", "amount", "lightness", "darken", "mix", "steps", "colorRange", "isRange", "maxDeltaE", "maxSteps", "rangeOptions", "totalDelta", "actualSteps", "step", "maxDelta", "cur", "\u0394\u0395", "prev", "outputSpace", "progression", "premultiplied", "rangeArgs", "\u03B81", "\u03B82", "angles.adjust", "HSL", "hsl", "k", "HSV", "hsv", "hwb", "w", "gray", "A98Linear", "a98rgb", "ProPhotoLinear", "Et", "Et2", "prophoto", "oklch", "U_PRIME_WHITE", "V_PRIME_WHITE", "Luv", "up", "vp", "u", "LCHuv", "m_r0", "m_r1", "m_r2", "m_g0", "m_g1", "m_g2", "m_b0", "m_b1", "m_b2", "distanceFromOriginAngle", "slope", "intercept", "calculateBoundingLines", "sub1", "sub2", "s1r", "s2r", "s3r", "s1g", "s2g", "s3g", "s1b", "s2b", "s3b", "calcMaxChromaHsluv", "lines", "hueRad", "r0", "r1", "g0", "g1", "b0", "hsluv", "distanceFromOrigin", "calcMaxChromaHpluv", "hpluv", "minv", "rec2100Pq", "scale", "rec2100Hlg", "CATs", "defineCAT", "toCone_M", "fromCone_M", "\u03C1s", "\u03B3s", "\u03B2s", "\u03C1d", "\u03B3d", "\u03B2d", "scaled_cone_M", "ACEScg", "ACES_min_nonzero", "ACES_cc_max", "acescc", "_Color", "code", "instance", "returns", "func", "exports", "util", "key", "spaces", "addSpaceAccessors", "propId", "obj", "property", "receiver", "variations", "chromaticity", "luminance", "interpolation", "contrastMethods", "import_uniqBy", "preferences", "getFormattedColor", "_color", "format", "color", "Color", "oklchColor", "l", "c", "h", "lchColor", "unsupportedPreviewFormats", "getPreviewColor", "import_jsx_runtime", "CopyAsSubmenu", "color", "onCopy", "getFormattedColor", "import_api", "import_jsx_runtime", "EditTitle", "props", "item", "pop", "values", "import_api", "import_utils", "useHistory", "history", "setHistory", "color", "previousHistory", "item", "getFormattedColor", "historyItem", "import_jsx_runtime", "preferences", "Command", "history", "useHistory", "e", "historyItem", "formattedColor", "getFormattedColor", "previewColor", "getPreviewColor", "color", "Actions", "remove", "clear", "edit", "frontmostApp", "CopyAsSubmenu", "EditTitle"] +} diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/package.json b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/package.json @@ -0,0 +1,239 @@ +{ + "$schema": "https://www.raycast.com/schemas/extension.json", + "name": "color-picker", + "title": "Color Picker", + "description": "Pick and organize colors, everywhere on your Mac", + "icon": "icon.png", + "author": "thomas", + "contributors": [ + "otakustay", + "EmersonEmerson", + "pernielsentikaer", + "arronhunt", + "kvdo2", + "thomaslombart", + "litomore", + "samuelkraft", + "ridemountainpig", + "xilopaint", + "anwarulislam" + ], + "categories": [ + "Design Tools" + ], + "license": "MIT", + "commands": [ + { + "name": "pick-color", + "title": "Pick Color", + "description": "Pick a color on your desktop", + "mode": "no-view", + "preferences": [ + { + "name": "showColorName", + "title": "Show color name after picking", + "description": "Show the name of the picked color after picking", + "type": "checkbox", + "label": "Show", + "default": false, + "required": false + } + ] + }, + { + "name": "extract-color", + "title": "Extract Color from Selected Image", + "description": "Extract colors from the selected Finder image", + "mode": "view" + }, + { + "name": "menu-bar", + "title": "Menu Bar Color Picker", + "description": "Access your colors from the menu bar", + "mode": "menu-bar" + }, + { + "name": "organize-colors", + "title": "Organize Colors", + "description": "Organize your colors", + "mode": "view", + "preferences": [ + { + "data": [ + { + "title": "Paste to Active App", + "value": "paste" + }, + { + "title": "Copy to Clipboard", + "value": "copy" + } + ], + "default": "copy", + "description": "The primary action to perform on a selected color", + "name": "primaryAction", + "required": false, + "title": "Primary Action", + "type": "dropdown" + } + ] + }, + { + "name": "generate-colors", + "title": "Generate Colors", + "description": "Generate colors using AI", + "mode": "view", + "arguments": [ + { + "name": "prompt", + "placeholder": "Prompt", + "type": "text", + "required": true + } + ] + }, + { + "name": "color-names", + "title": "Color Names", + "description": "Get the name of a color", + "mode": "view", + "preferences": [ + { + "type": "dropdown", + "name": "colorNamesPerGroup", + "required": false, + "title": "Color Names Per Group", + "description": "The number of color names to display per group", + "data": [ + { + "title": "5", + "value": "5" + }, + { + "title": "10", + "value": "10" + }, + { + "title": "25", + "value": "25" + }, + { + "title": "All", + "value": "Infinity" + } + ] + } + ] + }, + { + "name": "color-wheel", + "title": "Color Wheel", + "description": "Pick a color with color wheel", + "mode": "view" + }, + { + "name": "convert-color", + "title": "Convert Color", + "description": "Convert any color to a different format", + "mode": "view", + "arguments": [ + { + "name": "text", + "type": "text", + "required": false, + "placeholder": "#FF6363" + } + ] + } + ], + "preferences": [ + { + "data": [ + { + "title": "HEX - #FF6363", + "value": "hex" + }, + { + "title": "HEX Lower Case - #ff6363", + "value": "hex-lower-case" + }, + { + "title": "HEX No Prefix - FF6363", + "value": "hex-no-prefix" + }, + { + "title": "RGB - rgb(255 99 99 / 100%)", + "value": "rgb" + }, + { + "title": "RGB % - rgb(100% 38% 38% / 100%)", + "value": "rgb-percentage" + }, + { + "title": "RGBA - rgba(255, 99, 99, 1)", + "value": "rgba" + }, + { + "title": "RGBA % - rgba(100%, 39%, 39%, 1)", + "value": "rgba-percentage" + }, + { + "title": "HSLA - hsla(0, 100%, 69%, 1)", + "value": "hsla" + }, + { + "title": "HSVA - color(hsv 43.082 81.145 100)", + "value": "hsva" + }, + { + "title": "OKLCH - oklch(0.6987 0.1902 23.468)", + "value": "oklch" + }, + { + "title": "LCH - lch(63.127 68.676 28.723)", + "value": "lch" + }, + { + "title": "P3 - color(display-p3 0.9248 0.428 0.4078)", + "value": "p3" + } + ], + "default": "hex", + "description": "The color format to use when copying/pasting colors", + "name": "colorFormat", + "required": false, + "title": "Color Format", + "type": "dropdown" + } + ], + "dependencies": { + "@raycast/api": "^1.83.2", + "@raycast/utils": "^1.17.0", + "color-namer": "^1.4.0", + "colorjs.io": "^0.5.2", + "lodash": "^4.17.21", + "raycast-cross-extension": "^0.2.3" + }, + "devDependencies": { + "@raycast/eslint-config": "^1.0.11", + "@types/color-namer": "^1.3.3", + "@types/lodash": "^4.17.9", + "@types/node": "^22.7.4", + "@types/react": "^18.3.11", + "eslint": "^8.57.1", + "prettier": "^3.3.3", + "react": "^18.3.1", + "typescript": "^5.6.2" + }, + "scripts": { + "build": "ray build -e dist", + "dev": "ray develop", + "fix-lint": "ray lint --fix", + "lint": "ray lint", + "pull": "ray pull-contributions", + "publish": "ray publish" + }, + "platforms": [ + "macOS" + ] +} +\ No newline at end of file diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/pick-color.js b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/pick-color.js @@ -0,0 +1,100 @@ +"use strict";var Lg=Object.create;var e0=Object.defineProperty;var Og=Object.getOwnPropertyDescriptor;var Mg=Object.getOwnPropertyNames;var Rg=Object.getPrototypeOf,qg=Object.prototype.hasOwnProperty;var c=(e,a)=>()=>(a||e((a={exports:{}}).exports,a),a.exports),Ig=(e,a)=>{for(var r in a)e0(e,r,{get:a[r],enumerable:!0})},r6=(e,a,r,t)=>{if(a&&typeof a=="object"||typeof a=="function")for(let n of Mg(a))!qg.call(e,n)&&n!==r&&e0(e,n,{get:()=>a[n],enumerable:!(t=Og(a,n))||t.enumerable});return e};var qt=(e,a,r)=>(r=e!=null?Lg(Rg(e)):{},r6(a||!e||!e.__esModule?e0(r,"default",{value:e,enumerable:!0}):r,e)),Vg=e=>r6(e0({},"__esModule",{value:!0}),e);var i6=c(n6=>{var t6=Object.prototype.hasOwnProperty;function Xi(e,a){var r,t;if(e===a)return!0;if(e&&a&&(r=e.constructor)===a.constructor){if(r===Date)return e.getTime()===a.getTime();if(r===RegExp)return e.toString()===a.toString();if(r===Array){if((t=e.length)===a.length)for(;t--&&Xi(e[t],a[t]););return t===-1}if(!r||typeof e=="object"){t=0;for(r in e)if(t6.call(e,r)&&++t&&!t6.call(a,r)||!(r in a)||!Xi(e[r],a[r]))return!1;return Object.keys(a).length===t}}return e!==e&&a!==a}n6.dequal=Xi});var p6=c(a0=>{"use strict";Object.defineProperty(a0,"__esModule",{value:!0});a0.useDeepMemo=void 0;var Qi=require("react"),jg=i6();function Gg(e){let a=(0,Qi.useRef)(e),r=(0,Qi.useRef)(0);return(0,jg.dequal)(e,a.current)||(a.current=e,r.current+=1),(0,Qi.useMemo)(()=>a.current,[r.current])}a0.useDeepMemo=Gg});var sa=c(r0=>{"use strict";Object.defineProperty(r0,"__esModule",{value:!0});r0.useLatest=void 0;var zg=require("react");function Ug(e){let a=(0,zg.useRef)(e);return a.current=e,a}r0.useLatest=Ug});var It=c($1=>{"use strict";var $g=$1&&$1.__createBinding||(Object.create?function(e,a,r,t){t===void 0&&(t=r);var n=Object.getOwnPropertyDescriptor(a,r);(!n||("get"in n?!a.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return a[r]}}),Object.defineProperty(e,t,n)}:function(e,a,r,t){t===void 0&&(t=r),e[t]=a[r]}),Hg=$1&&$1.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:!0,value:a})}:function(e,a){e.default=a}),d6=$1&&$1.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&$g(a,e,r);return Hg(a,e),a};Object.defineProperty($1,"__esModule",{value:!0});$1.showFailureToast=void 0;var Wg=d6(require("fs")),Yg=d6(require("path")),xr=require("@raycast/api");function Jg(e,a){let r=e instanceof Error?e.message:String(e);return(0,xr.showToast)({style:xr.Toast.Style.Failure,title:a?.title??"Something went wrong",message:a?.message??r,primaryAction:a?.primaryAction??s6(e),secondaryAction:a?.primaryAction?s6(e):void 0})}$1.showFailureToast=Jg;var s6=e=>{let a=!0,r="[Extension Name]...",t="";try{let p=JSON.parse(Wg.readFileSync(Yg.join(xr.environment.assetsPath,"..","package.json"),"utf8"));r=`[${p.title}]...`,t=`https://raycast.com/${p.owner||p.author}/${p.name}`,(!p.owner||p.access==="public")&&(a=!1)}catch{}let n=xr.environment.isDevelopment||a,i=e instanceof Error?e?.stack||e?.message||"":String(e);return{title:n?"Copy Logs":"Report Error",onAction(p){p.hide(),n?xr.Clipboard.copy(i):(0,xr.open)(`https://github.com/raycast/extensions/issues/new?&labels=extension%2Cbug&template=extension_bug_report.yml&title=${encodeURIComponent(r)}&extension-url=${encodeURI(t)}&description=${encodeURIComponent(`#### Error: +\`\`\` +${i} +\`\`\` +`)}`)}}}});var wr=c(t0=>{"use strict";Object.defineProperty(t0,"__esModule",{value:!0});t0.usePromise=void 0;var F1=require("react"),Vt=require("@raycast/api"),Kg=p6(),Fa=sa(),Zg=It();function Xg(e,a,r){let t=(0,F1.useRef)(0),[n,i]=(0,F1.useState)({isLoading:!0}),p=(0,Fa.useLatest)(e),s=(0,Fa.useLatest)(r?.abortable),d=(0,Fa.useLatest)(a||[]),h=(0,Fa.useLatest)(r?.onError),m=(0,Fa.useLatest)(r?.onData),g=(0,Fa.useLatest)(r?.onWillExecute),w=(0,Fa.useLatest)(r?.failureToastOptions),S=(0,Fa.useLatest)(n.data),_=(0,F1.useRef)(),F=(0,F1.useRef)({page:0}),D=(0,F1.useRef)(!1),B=(0,F1.useRef)(!0),k=(0,F1.useRef)(50),C=(0,F1.useCallback)((...be)=>{let O=++t.current;s.current&&(s.current.current?.abort(),s.current.current=new AbortController),g.current?.(be),i(q=>({...q,isLoading:!0}));let $=Qg(p.current)(...be);function se(q){return q.name=="AbortError"||O===t.current&&(h.current?h.current(q):Vt.environment.launchType!==Vt.LaunchType.Background&&(0,Zg.showFailureToast)(q,{title:"Failed to fetch latest data",primaryAction:{title:"Retry",onAction(ee){ee.hide(),_.current?.(...d.current||[])}},...w.current}),i({error:q,isLoading:!1})),q}return typeof $=="function"?(D.current=!0,$(F.current).then(({data:q,hasMore:ee,cursor:xe})=>(O===t.current&&(F.current&&(F.current.cursor=xe,F.current.lastItem=q?.[q.length-1]),m.current&&m.current(q,F.current),ee&&(k.current=q.length),B.current=ee,i(ve=>F.current.page===0?{data:q,isLoading:!1}:{data:(ve.data||[])?.concat(q),isLoading:!1})),q),q=>(B.current=!1,se(q)))):(D.current=!1,$.then(q=>(O===t.current&&(m.current&&m.current(q),i({data:q,isLoading:!1})),q),se))},[s,m,h,d,p,i,_,g,F,w]);_.current=C;let R=(0,F1.useCallback)(()=>{F.current={page:0};let be=d.current||[];return C(...be)},[C,d]),j=(0,F1.useCallback)(async(be,O)=>{let $;try{if(O?.optimisticUpdate){typeof O?.rollbackOnError!="function"&&O?.rollbackOnError!==!1&&($=structuredClone(S.current?.value));let se=O.optimisticUpdate;i(q=>({...q,data:se(q.data)}))}return await be}catch(se){if(typeof O?.rollbackOnError=="function"){let q=O.rollbackOnError;i(ee=>({...ee,data:q(ee.data)}))}else O?.optimisticUpdate&&O?.rollbackOnError!==!1&&i(q=>({...q,data:$}));throw se}finally{O?.shouldRevalidateAfter!==!1&&(Vt.environment.launchType===Vt.LaunchType.Background||Vt.environment.commandMode==="menu-bar"?await R():R())}},[R,S,i]),J=(0,F1.useCallback)(()=>{F.current.page+=1;let be=d.current||[];C(...be)},[F,d,C]);(0,F1.useEffect)(()=>{F.current={page:0},r?.execute!==!1?C(...a||[]):s.current&&s.current.current?.abort()},[(0,Kg.useDeepMemo)([a,r?.execute,C]),s,F]),(0,F1.useEffect)(()=>()=>{s.current&&s.current.current?.abort()},[s]);let I=r?.execute!==!1?n.isLoading:!1,W={...n,isLoading:I},X=D.current?{pageSize:k.current,hasMore:B.current,onLoadMore:J}:void 0;return{...W,revalidate:R,mutate:j,pagination:X}}t0.usePromise=Xg;function Qg(e){return e===Promise.all||e===Promise.race||e===Promise.resolve||e===Promise.reject?e.bind(Promise):e}});var h6=c((Ha,c6)=>{"use strict";var e2=require("crypto");Ha=c6.exports=jt;function jt(e,a){return a=u6(e,a),eb(e,a)}Ha.sha1=function(e){return jt(e)};Ha.keys=function(e){return jt(e,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})};Ha.MD5=function(e){return jt(e,{algorithm:"md5",encoding:"hex"})};Ha.keysMD5=function(e){return jt(e,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var yr=e2.getHashes?e2.getHashes().slice():["sha1","md5"];yr.push("passthrough");var o6=["buffer","hex","binary","base64"];function u6(e,a){a=a||{};var r={};if(r.algorithm=a.algorithm||"sha1",r.encoding=a.encoding||"hex",r.excludeValues=!!a.excludeValues,r.algorithm=r.algorithm.toLowerCase(),r.encoding=r.encoding.toLowerCase(),r.ignoreUnknown=a.ignoreUnknown===!0,r.respectType=a.respectType!==!1,r.respectFunctionNames=a.respectFunctionNames!==!1,r.respectFunctionProperties=a.respectFunctionProperties!==!1,r.unorderedArrays=a.unorderedArrays===!0,r.unorderedSets=a.unorderedSets!==!1,r.unorderedObjects=a.unorderedObjects!==!1,r.replacer=a.replacer||void 0,r.excludeKeys=a.excludeKeys||void 0,typeof e>"u")throw new Error("Object argument required.");for(var t=0;t<yr.length;++t)yr[t].toLowerCase()===r.algorithm.toLowerCase()&&(r.algorithm=yr[t]);if(yr.indexOf(r.algorithm)===-1)throw new Error('Algorithm "'+r.algorithm+'" not supported. supported values: '+yr.join(", "));if(o6.indexOf(r.encoding)===-1&&r.algorithm!=="passthrough")throw new Error('Encoding "'+r.encoding+'" not supported. supported values: '+o6.join(", "));return r}function l6(e){if(typeof e!="function")return!1;var a=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;return a.exec(Function.prototype.toString.call(e))!=null}function eb(e,a){var r;a.algorithm!=="passthrough"?r=e2.createHash(a.algorithm):r=new m6,typeof r.write>"u"&&(r.write=r.update,r.end=r.update);var t=a2(a,r);if(t.dispatch(e),r.update||r.end(""),r.digest)return r.digest(a.encoding==="buffer"?void 0:a.encoding);var n=r.read();return a.encoding==="buffer"?n:n.toString(a.encoding)}Ha.writeToStream=function(e,a,r){return typeof r>"u"&&(r=a,a={}),a=u6(e,a),a2(a,r).dispatch(e)};function a2(e,a,r){r=r||[];var t=function(n){return a.update?a.update(n,"utf8"):a.write(n,"utf8")};return{dispatch:function(n){e.replacer&&(n=e.replacer(n));var i=typeof n;return n===null&&(i="null"),this["_"+i](n)},_object:function(n){var i=/\[object (.*)\]/i,p=Object.prototype.toString.call(n),s=i.exec(p);s?s=s[1]:s="unknown:["+p+"]",s=s.toLowerCase();var d=null;if((d=r.indexOf(n))>=0)return this.dispatch("[CIRCULAR:"+d+"]");if(r.push(n),typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(n))return t("buffer:"),t(n);if(s!=="object"&&s!=="function"&&s!=="asyncfunction")if(this["_"+s])this["_"+s](n);else{if(e.ignoreUnknown)return t("["+s+"]");throw new Error('Unknown object type "'+s+'"')}else{var h=Object.keys(n);e.unorderedObjects&&(h=h.sort()),e.respectType!==!1&&!l6(n)&&h.splice(0,0,"prototype","__proto__","constructor"),e.excludeKeys&&(h=h.filter(function(g){return!e.excludeKeys(g)})),t("object:"+h.length+":");var m=this;return h.forEach(function(g){m.dispatch(g),t(":"),e.excludeValues||m.dispatch(n[g]),t(",")})}},_array:function(n,i){i=typeof i<"u"?i:e.unorderedArrays!==!1;var p=this;if(t("array:"+n.length+":"),!i||n.length<=1)return n.forEach(function(h){return p.dispatch(h)});var s=[],d=n.map(function(h){var m=new m6,g=r.slice(),w=a2(e,m,g);return w.dispatch(h),s=s.concat(g.slice(r.length)),m.read().toString()});return r=r.concat(s),d.sort(),this._array(d,!1)},_date:function(n){return t("date:"+n.toJSON())},_symbol:function(n){return t("symbol:"+n.toString())},_error:function(n){return t("error:"+n.toString())},_boolean:function(n){return t("bool:"+n.toString())},_string:function(n){t("string:"+n.length+":"),t(n.toString())},_function:function(n){t("fn:"),l6(n)?this.dispatch("[native]"):this.dispatch(n.toString()),e.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(n.name)),e.respectFunctionProperties&&this._object(n)},_number:function(n){return t("number:"+n.toString())},_xml:function(n){return t("xml:"+n.toString())},_null:function(){return t("Null")},_undefined:function(){return t("Undefined")},_regexp:function(n){return t("regex:"+n.toString())},_uint8array:function(n){return t("uint8array:"),this.dispatch(Array.prototype.slice.call(n))},_uint8clampedarray:function(n){return t("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(n))},_int8array:function(n){return t("int8array:"),this.dispatch(Array.prototype.slice.call(n))},_uint16array:function(n){return t("uint16array:"),this.dispatch(Array.prototype.slice.call(n))},_int16array:function(n){return t("int16array:"),this.dispatch(Array.prototype.slice.call(n))},_uint32array:function(n){return t("uint32array:"),this.dispatch(Array.prototype.slice.call(n))},_int32array:function(n){return t("int32array:"),this.dispatch(Array.prototype.slice.call(n))},_float32array:function(n){return t("float32array:"),this.dispatch(Array.prototype.slice.call(n))},_float64array:function(n){return t("float64array:"),this.dispatch(Array.prototype.slice.call(n))},_arraybuffer:function(n){return t("arraybuffer:"),this.dispatch(new Uint8Array(n))},_url:function(n){return t("url:"+n.toString(),"utf8")},_map:function(n){t("map:");var i=Array.from(n);return this._array(i,e.unorderedSets!==!1)},_set:function(n){t("set:");var i=Array.from(n);return this._array(i,e.unorderedSets!==!1)},_file:function(n){return t("file:"),this.dispatch([n.name,n.size,n.type,n.lastModfied])},_blob:function(){if(e.ignoreUnknown)return t("[blob]");throw Error(`Hashing Blob objects is currently not supported +(see https://github.com/puleos/object-hash/issues/26) +Use "options.replacer" or "options.ignoreUnknown" +`)},_domwindow:function(){return t("domwindow")},_bigint:function(n){return t("bigint:"+n.toString())},_process:function(){return t("process")},_timer:function(){return t("timer")},_pipe:function(){return t("pipe")},_tcp:function(){return t("tcp")},_udp:function(){return t("udp")},_tty:function(){return t("tty")},_statwatcher:function(){return t("statwatcher")},_securecontext:function(){return t("securecontext")},_connection:function(){return t("connection")},_zlib:function(){return t("zlib")},_context:function(){return t("context")},_nodescript:function(){return t("nodescript")},_httpparser:function(){return t("httpparser")},_dataview:function(){return t("dataview")},_signal:function(){return t("signal")},_fsevent:function(){return t("fsevent")},_tlswrap:function(){return t("tlswrap")}}}function m6(){return{buf:"",write:function(e){this.buf+=e},end:function(e){this.buf+=e},read:function(){return this.buf}}}});var Wa=c(H1=>{"use strict";var ab=H1&&H1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(H1,"__esModule",{value:!0});H1.hash=H1.reviver=H1.replacer=void 0;var rb=ab(h6());function tb(e,a){let r=this[e];return r instanceof Date?`__raycast_cached_date__${r.toString()}`:Buffer.isBuffer(r)?`__raycast_cached_buffer__${r.toString("base64")}`:a}H1.replacer=tb;function nb(e,a){return typeof a=="string"&&a.startsWith("__raycast_cached_date__")?new Date(a.replace("__raycast_cached_date__","")):typeof a=="string"&&a.startsWith("__raycast_cached_buffer__")?Buffer.from(a.replace("__raycast_cached_buffer__",""),"base64"):a}H1.reviver=nb;function ib(e,a){return(0,rb.default)(e,{replacer:r=>r instanceof URLSearchParams?r.toString():r,...a})}H1.hash=ib});var i0=c(n0=>{"use strict";Object.defineProperty(n0,"__esModule",{value:!0});n0.useCachedState=void 0;var r2=require("react"),pb=require("@raycast/api"),t2=sa(),f6=Wa(),sb=Symbol("cache without namespace"),v6=new Map;function db(e,a,r){let t=r?.cacheNamespace||sb,n=v6.get(t)||v6.set(t,new pb.Cache({namespace:r?.cacheNamespace})).get(t);if(!n)throw new Error("Missing cache");let i=(0,t2.useLatest)(e),p=(0,t2.useLatest)(a),s=(0,r2.useSyncExternalStore)(n.subscribe,()=>{try{return n.get(i.current)}catch(g){console.error("Could not get Cache data:",g);return}}),d=(0,r2.useMemo)(()=>{if(typeof s<"u"){if(s==="undefined")return;try{return JSON.parse(s,f6.reviver)}catch(g){return console.warn("The cached data is corrupted",g),p.current}}else return p.current},[s,p]),h=(0,t2.useLatest)(d),m=(0,r2.useCallback)(g=>{let w=typeof g=="function"?g(h.current):g;if(typeof w>"u")n.set(i.current,"undefined");else{let S=JSON.stringify(w,f6.replacer);n.set(i.current,S)}return w},[n,i,h]);return[d,m]}n0.useCachedState=db});var zt=c(p0=>{"use strict";Object.defineProperty(p0,"__esModule",{value:!0});p0.useCachedPromise=void 0;var Gt=require("react"),ob=i0(),lb=wr(),ub=sa(),g6=Wa(),_r=Symbol();function mb(e,a,r){let{initialData:t,keepPreviousData:n,internal_cacheKeySuffix:i,...p}=r||{},s=(0,Gt.useRef)(),[d,h]=(0,ob.useCachedState)((0,g6.hash)(a||[])+i,_r,{cacheNamespace:(0,g6.hash)(e)}),m=(0,Gt.useRef)(d!==_r?d:t),g=(0,Gt.useRef)(void 0),{mutate:w,revalidate:S,..._}=(0,lb.usePromise)(e,a||[],{...p,onData(C,R){g.current=R,p.onData&&p.onData(C,R),!(R&&R.page>0)&&(s.current="promise",m.current=C,h(C))}}),F,D=_.pagination;g.current&&g.current.page>0&&_.data?F=_.data:s.current==="promise"?F=m.current:n&&d!==_r?(F=d,D&&(D.hasMore=!0,D.pageSize=d.length)):n&&d===_r?F=m.current:d!==_r?(F=d,D&&(D.hasMore=!0,D.pageSize=d.length)):F=t;let B=(0,ub.useLatest)(F),k=(0,Gt.useCallback)(async(C,R)=>{let j;try{if(R?.optimisticUpdate){typeof R?.rollbackOnError!="function"&&R?.rollbackOnError!==!1&&(j=structuredClone(B.current));let J=R.optimisticUpdate(B.current);s.current="cache",m.current=J,h(J)}return await w(C,{shouldRevalidateAfter:R?.shouldRevalidateAfter})}catch(J){if(typeof R?.rollbackOnError=="function"){let I=R.rollbackOnError(B.current);s.current="cache",m.current=I,h(I)}else R?.optimisticUpdate&&R?.rollbackOnError!==!1&&(s.current="cache",m.current=j,h(j));throw J}},[h,w,B,m,s]);return(0,Gt.useEffect)(()=>{d!==_r&&(s.current="cache",m.current=d)},[d]),{data:F,isLoading:_.isLoading,error:_.error,mutate:g.current&&g.current.page>0?w:k,pagination:D,revalidate:S}}p0.useCachedPromise=mb});var w6=c((mR,x6)=>{"use strict";var Te={};x6.exports=Te;function b6(e){return e<0?-1:1}function cb(e){return e%1===.5&&(e&1)===0?Math.floor(e):Math.round(e)}function Da(e,a){a.unsigned||--e;let r=a.unsigned?0:-Math.pow(2,e),t=Math.pow(2,e)-1,n=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e),i=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(p,s){s||(s={});let d=+p;if(s.enforceRange){if(!Number.isFinite(d))throw new TypeError("Argument is not a finite number");if(d=b6(d)*Math.floor(Math.abs(d)),d<r||d>t)throw new TypeError("Argument is not in byte range");return d}if(!isNaN(d)&&s.clamp)return d=cb(d),d<r&&(d=r),d>t&&(d=t),d;if(!Number.isFinite(d)||d===0)return 0;if(d=b6(d)*Math.floor(Math.abs(d)),d=d%n,!a.unsigned&&d>=i)return d-n;if(a.unsigned){if(d<0)d+=n;else if(d===-0)return 0}return d}}Te.void=function(){};Te.boolean=function(e){return!!e};Te.byte=Da(8,{unsigned:!1});Te.octet=Da(8,{unsigned:!0});Te.short=Da(16,{unsigned:!1});Te["unsigned short"]=Da(16,{unsigned:!0});Te.long=Da(32,{unsigned:!1});Te["unsigned long"]=Da(32,{unsigned:!0});Te["long long"]=Da(32,{unsigned:!1,moduloBitLength:64});Te["unsigned long long"]=Da(32,{unsigned:!0,moduloBitLength:64});Te.double=function(e){let a=+e;if(!Number.isFinite(a))throw new TypeError("Argument is not a finite floating-point value");return a};Te["unrestricted double"]=function(e){let a=+e;if(isNaN(a))throw new TypeError("Argument is NaN");return a};Te.float=Te.double;Te["unrestricted float"]=Te["unrestricted double"];Te.DOMString=function(e,a){return a||(a={}),a.treatNullAsEmptyString&&e===null?"":String(e)};Te.ByteString=function(e,a){let r=String(e),t;for(let n=0;(t=r.codePointAt(n))!==void 0;++n)if(t>255)throw new TypeError("Argument is not a valid bytestring");return r};Te.USVString=function(e){let a=String(e),r=a.length,t=[];for(let n=0;n<r;++n){let i=a.charCodeAt(n);if(i<55296||i>57343)t.push(String.fromCodePoint(i));else if(56320<=i&&i<=57343)t.push(String.fromCodePoint(65533));else if(n===r-1)t.push(String.fromCodePoint(65533));else{let p=a.charCodeAt(n+1);if(56320<=p&&p<=57343){let s=i&1023,d=p&1023;t.push(String.fromCodePoint(65536+1024*s+d)),++n}else t.push(String.fromCodePoint(65533))}}return t.join("")};Te.Date=function(e,a){if(!(e instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(e))return e};Te.RegExp=function(e,a){return e instanceof RegExp||(e=new RegExp(e)),e}});var y6=c((cR,Sa)=>{"use strict";Sa.exports.mixin=function(a,r){let t=Object.getOwnPropertyNames(r);for(let n=0;n<t.length;++n)Object.defineProperty(a,t[n],Object.getOwnPropertyDescriptor(r,t[n]))};Sa.exports.wrapperSymbol=Symbol("wrapper");Sa.exports.implSymbol=Symbol("impl");Sa.exports.wrapperForImpl=function(e){return e[Sa.exports.wrapperSymbol]};Sa.exports.implForWrapper=function(e){return e[Sa.exports.implSymbol]}});var _6=c((hR,hb)=>{hb.exports=[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1e3,1e3],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6e3],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8e3,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8e3]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9e3],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[3e4]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13e3,13e3],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43e3,43e3],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64e3,64e3],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66e3,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[12e4,12e4],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128e3,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23e3]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149e3]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32e3]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195e3,195e3],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[4e4]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918e3,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]});var A6=c((fR,d0)=>{"use strict";var F6=require("punycode"),C6=_6(),Cr={TRANSITIONAL:0,NONTRANSITIONAL:1};function D6(e){return e.split("\0").map(function(a){return a.normalize("NFC")}).join("\0")}function S6(e){for(var a=0,r=C6.length-1;a<=r;){var t=Math.floor((a+r)/2),n=C6[t];if(n[0][0]<=e&&n[0][1]>=e)return n;n[0][0]>e?r=t-1:a=t+1}return null}var fb=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function E6(e){return e.replace(fb,"_").length}function vb(e,a,r){for(var t=!1,n="",i=E6(e),p=0;p<i;++p){var s=e.codePointAt(p),d=S6(s);switch(d[1]){case"disallowed":t=!0,n+=String.fromCodePoint(s);break;case"ignored":break;case"mapped":n+=String.fromCodePoint.apply(String,d[2]);break;case"deviation":r===Cr.TRANSITIONAL?n+=String.fromCodePoint.apply(String,d[2]):n+=String.fromCodePoint(s);break;case"valid":n+=String.fromCodePoint(s);break;case"disallowed_STD3_mapped":a?(t=!0,n+=String.fromCodePoint(s)):n+=String.fromCodePoint.apply(String,d[2]);break;case"disallowed_STD3_valid":a&&(t=!0),n+=String.fromCodePoint(s);break}}return{string:n,error:t}}var gb=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;function bb(e,a){e.substr(0,4)==="xn--"&&(e=F6.toUnicode(e),a=Cr.NONTRANSITIONAL);var r=!1;(D6(e)!==e||e[3]==="-"&&e[4]==="-"||e[0]==="-"||e[e.length-1]==="-"||e.indexOf(".")!==-1||e.search(gb)===0)&&(r=!0);for(var t=E6(e),n=0;n<t;++n){var i=S6(e.codePointAt(n));if(s0===Cr.TRANSITIONAL&&i[1]!=="valid"||s0===Cr.NONTRANSITIONAL&&i[1]!=="valid"&&i[1]!=="deviation"){r=!0;break}}return{label:e,error:r}}function s0(e,a,r){var t=vb(e,a,r);t.string=D6(t.string);for(var n=t.string.split("."),i=0;i<n.length;++i)try{var p=bb(n[i]);n[i]=p.label,t.error=t.error||p.error}catch{t.error=!0}return{string:n.join("."),error:t.error}}d0.exports.toASCII=function(e,a,r,t){var n=s0(e,a,r),i=n.string.split(".");if(i=i.map(function(d){try{return F6.toASCII(d)}catch{return n.error=!0,d}}),t){var p=i.slice(0,i.length-1).join(".").length;(p.length>253||p.length===0)&&(n.error=!0);for(var s=0;s<i.length;++s)if(i.length>63||i.length===0){n.error=!0;break}}return n.error?null:i.join(".")};d0.exports.toUnicode=function(e,a){var r=s0(e,a,Cr.NONTRANSITIONAL);return{domain:r.string,error:r.error}};d0.exports.PROCESSING_OPTIONS=Cr});var W1=c((vR,D1)=>{"use strict";var Fr=require("punycode"),B6=A6(),k6={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443},oe=Symbol("failure");function P6(e){return Fr.ucs2.decode(e).length}function N6(e,a){let r=e[a];return isNaN(r)?void 0:String.fromCodePoint(r)}function Ut(e){return e>=48&&e<=57}function $t(e){return e>=65&&e<=90||e>=97&&e<=122}function xb(e){return $t(e)||Ut(e)}function q1(e){return Ut(e)||e>=65&&e<=70||e>=97&&e<=102}function T6(e){return e==="."||e.toLowerCase()==="%2e"}function wb(e){return e=e.toLowerCase(),e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function yb(e,a){return $t(e)&&(a===58||a===124)}function L6(e){return e.length===2&&$t(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function _b(e){return e.length===2&&$t(e.codePointAt(0))&&e[1]===":"}function Cb(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function Fb(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function n2(e){return k6[e]!==void 0}function Ue(e){return n2(e.scheme)}function Db(e){return k6[e]}function O6(e){let a=e.toString(16).toUpperCase();return a.length===1&&(a="0"+a),"%"+a}function Sb(e){let a=new Buffer(e),r="";for(let t=0;t<a.length;++t)r+=O6(a[t]);return r}function Eb(e){let a=new Buffer(e),r=[];for(let t=0;t<a.length;++t)a[t]!==37?r.push(a[t]):a[t]===37&&q1(a[t+1])&&q1(a[t+2])?(r.push(parseInt(a.slice(t+1,t+3).toString(),16)),t+=2):r.push(a[t]);return new Buffer(r).toString()}function o0(e){return e<=31||e>126}var Ab=new Set([32,34,35,60,62,63,96,123,125]);function M6(e){return o0(e)||Ab.has(e)}var Bb=new Set([47,58,59,61,64,91,92,93,94,124]);function p2(e){return M6(e)||Bb.has(e)}function Ya(e,a){let r=String.fromCodePoint(e);return a(e)?Sb(r):r}function Pb(e){let a=10;return e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"?(e=e.substring(2),a=16):e.length>=2&&e.charAt(0)==="0"&&(e=e.substring(1),a=8),e===""?0:(a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/).test(e)?oe:parseInt(e,a)}function Nb(e){let a=e.split(".");if(a[a.length-1]===""&&a.length>1&&a.pop(),a.length>4)return e;let r=[];for(let i of a){if(i==="")return e;let p=Pb(i);if(p===oe)return e;r.push(p)}for(let i=0;i<r.length-1;++i)if(r[i]>255)return oe;if(r[r.length-1]>=Math.pow(256,5-r.length))return oe;let t=r.pop(),n=0;for(let i of r)t+=i*Math.pow(256,3-n),++n;return t}function Tb(e){let a="",r=e;for(let t=1;t<=4;++t)a=String(r%256)+a,t!==4&&(a="."+a),r=Math.floor(r/256);return a}function kb(e){let a=[0,0,0,0,0,0,0,0],r=0,t=null,n=0;if(e=Fr.ucs2.decode(e),e[n]===58){if(e[n+1]!==58)return oe;n+=2,++r,t=r}for(;n<e.length;){if(r===8)return oe;if(e[n]===58){if(t!==null)return oe;++n,++r,t=r;continue}let i=0,p=0;for(;p<4&&q1(e[n]);)i=i*16+parseInt(N6(e,n),16),++n,++p;if(e[n]===46){if(p===0||(n-=p,r>6))return oe;let s=0;for(;e[n]!==void 0;){let d=null;if(s>0)if(e[n]===46&&s<4)++n;else return oe;if(!Ut(e[n]))return oe;for(;Ut(e[n]);){let h=parseInt(N6(e,n));if(d===null)d=h;else{if(d===0)return oe;d=d*10+h}if(d>255)return oe;++n}a[r]=a[r]*256+d,++s,(s===2||s===4)&&++r}if(s!==4)return oe;break}else if(e[n]===58){if(++n,e[n]===void 0)return oe}else if(e[n]!==void 0)return oe;a[r]=i,++r}if(t!==null){let i=r-t;for(r=7;r!==0&&i>0;){let p=a[t+i-1];a[t+i-1]=a[r],a[r]=p,--r,--i}}else if(t===null&&r!==8)return oe;return a}function Lb(e){let a="",t=Mb(e).idx,n=!1;for(let i=0;i<=7;++i)if(!(n&&e[i]===0)){if(n&&(n=!1),t===i){a+=i===0?"::":":",n=!0;continue}a+=e[i].toString(16),i!==7&&(a+=":")}return a}function i2(e,a){if(e[0]==="[")return e[e.length-1]!=="]"?oe:kb(e.substring(1,e.length-1));if(!a)return Ob(e);let r=Eb(e),t=B6.toASCII(r,!1,B6.PROCESSING_OPTIONS.NONTRANSITIONAL,!1);if(t===null||Cb(t))return oe;let n=Nb(t);return typeof n=="number"||n===oe?n:t}function Ob(e){if(Fb(e))return oe;let a="",r=Fr.ucs2.decode(e);for(let t=0;t<r.length;++t)a+=Ya(r[t],o0);return a}function Mb(e){let a=null,r=1,t=null,n=0;for(let i=0;i<e.length;++i)e[i]!==0?(n>r&&(a=t,r=n),t=null,n=0):(t===null&&(t=i),++n);return n>r&&(a=t,r=n),{idx:a,len:r}}function s2(e){return typeof e=="number"?Tb(e):e instanceof Array?"["+Lb(e)+"]":e}function Rb(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function qb(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function R6(e){let a=e.path;a.length!==0&&(e.scheme==="file"&&a.length===1&&Vb(a[0])||a.pop())}function q6(e){return e.username!==""||e.password!==""}function Ib(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function Vb(e){return/^[A-Za-z]:$/.test(e)}function ke(e,a,r,t,n){if(this.pointer=0,this.input=e,this.base=a||null,this.encodingOverride=r||"utf-8",this.stateOverride=n,this.url=t,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:!1};let p=Rb(this.input);p!==this.input&&(this.parseError=!0),this.input=p}let i=qb(this.input);for(i!==this.input&&(this.parseError=!0),this.input=i,this.state=n||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=Fr.ucs2.decode(this.input);this.pointer<=this.input.length;++this.pointer){let p=this.input[this.pointer],s=isNaN(p)?void 0:String.fromCodePoint(p),d=this["parse "+this.state](p,s);if(d){if(d===oe){this.failure=!0;break}}else break}}ke.prototype["parse scheme start"]=function(a,r){if($t(a))this.buffer+=r.toLowerCase(),this.state="scheme";else if(!this.stateOverride)this.state="no scheme",--this.pointer;else return this.parseError=!0,oe;return!0};ke.prototype["parse scheme"]=function(a,r){if(xb(a)||a===43||a===45||a===46)this.buffer+=r.toLowerCase();else if(a===58){if(this.stateOverride&&(Ue(this.url)&&!n2(this.buffer)||!Ue(this.url)&&n2(this.buffer)||(q6(this.url)||this.url.port!==null)&&this.buffer==="file"||this.url.scheme==="file"&&(this.url.host===""||this.url.host===null))||(this.url.scheme=this.buffer,this.buffer="",this.stateOverride))return!1;this.url.scheme==="file"?((this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47)&&(this.parseError=!0),this.state="file"):Ue(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme?this.state="special relative or authority":Ue(this.url)?this.state="special authority slashes":this.input[this.pointer+1]===47?(this.state="path or authority",++this.pointer):(this.url.cannotBeABaseURL=!0,this.url.path.push(""),this.state="cannot-be-a-base-URL path")}else if(!this.stateOverride)this.buffer="",this.state="no scheme",this.pointer=-1;else return this.parseError=!0,oe;return!0};ke.prototype["parse no scheme"]=function(a){return this.base===null||this.base.cannotBeABaseURL&&a!==35?oe:(this.base.cannotBeABaseURL&&a===35?(this.url.scheme=this.base.scheme,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.url.cannotBeABaseURL=!0,this.state="fragment"):this.base.scheme==="file"?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)};ke.prototype["parse special relative or authority"]=function(a){return a===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0};ke.prototype["parse path or authority"]=function(a){return a===47?this.state="authority":(this.state="path",--this.pointer),!0};ke.prototype["parse relative"]=function(a){return this.url.scheme=this.base.scheme,isNaN(a)?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query):a===47?this.state="relative slash":a===63?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):a===35?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):Ue(this.url)&&a===92?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(0,this.base.path.length-1),this.state="path",--this.pointer),!0};ke.prototype["parse relative slash"]=function(a){return Ue(this.url)&&(a===47||a===92)?(a===92&&(this.parseError=!0),this.state="special authority ignore slashes"):a===47?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer),!0};ke.prototype["parse special authority slashes"]=function(a){return a===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0};ke.prototype["parse special authority ignore slashes"]=function(a){return a!==47&&a!==92?(this.state="authority",--this.pointer):this.parseError=!0,!0};ke.prototype["parse authority"]=function(a,r){if(a===64){this.parseError=!0,this.atFlag&&(this.buffer="%40"+this.buffer),this.atFlag=!0;let t=P6(this.buffer);for(let n=0;n<t;++n){let i=this.buffer.codePointAt(n);if(i===58&&!this.passwordTokenSeenFlag){this.passwordTokenSeenFlag=!0;continue}let p=Ya(i,p2);this.passwordTokenSeenFlag?this.url.password+=p:this.url.username+=p}this.buffer=""}else if(isNaN(a)||a===47||a===63||a===35||Ue(this.url)&&a===92){if(this.atFlag&&this.buffer==="")return this.parseError=!0,oe;this.pointer-=P6(this.buffer)+1,this.buffer="",this.state="host"}else this.buffer+=r;return!0};ke.prototype["parse hostname"]=ke.prototype["parse host"]=function(a,r){if(this.stateOverride&&this.url.scheme==="file")--this.pointer,this.state="file host";else if(a===58&&!this.arrFlag){if(this.buffer==="")return this.parseError=!0,oe;let t=i2(this.buffer,Ue(this.url));if(t===oe)return oe;if(this.url.host=t,this.buffer="",this.state="port",this.stateOverride==="hostname")return!1}else if(isNaN(a)||a===47||a===63||a===35||Ue(this.url)&&a===92){if(--this.pointer,Ue(this.url)&&this.buffer==="")return this.parseError=!0,oe;if(this.stateOverride&&this.buffer===""&&(q6(this.url)||this.url.port!==null))return this.parseError=!0,!1;let t=i2(this.buffer,Ue(this.url));if(t===oe)return oe;if(this.url.host=t,this.buffer="",this.state="path start",this.stateOverride)return!1}else a===91?this.arrFlag=!0:a===93&&(this.arrFlag=!1),this.buffer+=r;return!0};ke.prototype["parse port"]=function(a,r){if(Ut(a))this.buffer+=r;else if(isNaN(a)||a===47||a===63||a===35||Ue(this.url)&&a===92||this.stateOverride){if(this.buffer!==""){let t=parseInt(this.buffer);if(t>Math.pow(2,16)-1)return this.parseError=!0,oe;this.url.port=t===Db(this.url.scheme)?null:t,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}else return this.parseError=!0,oe;return!0};var jb=new Set([47,92,63,35]);ke.prototype["parse file"]=function(a){return this.url.scheme="file",a===47||a===92?(a===92&&(this.parseError=!0),this.state="file slash"):this.base!==null&&this.base.scheme==="file"?isNaN(a)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):a===63?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):a===35?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1===0||!yb(a,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!jb.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),R6(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0};ke.prototype["parse file slash"]=function(a){return a===47||a===92?(a===92&&(this.parseError=!0),this.state="file host"):(this.base!==null&&this.base.scheme==="file"&&(_b(this.base.path[0])?this.url.path.push(this.base.path[0]):this.url.host=this.base.host),this.state="path",--this.pointer),!0};ke.prototype["parse file host"]=function(a,r){if(isNaN(a)||a===47||a===92||a===63||a===35)if(--this.pointer,!this.stateOverride&&L6(this.buffer))this.parseError=!0,this.state="path";else if(this.buffer===""){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let t=i2(this.buffer,Ue(this.url));if(t===oe)return oe;if(t==="localhost"&&(t=""),this.url.host=t,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=r;return!0};ke.prototype["parse path start"]=function(a){return Ue(this.url)?(a===92&&(this.parseError=!0),this.state="path",a!==47&&a!==92&&--this.pointer):!this.stateOverride&&a===63?(this.url.query="",this.state="query"):!this.stateOverride&&a===35?(this.url.fragment="",this.state="fragment"):a!==void 0&&(this.state="path",a!==47&&--this.pointer),!0};ke.prototype["parse path"]=function(a){if(isNaN(a)||a===47||Ue(this.url)&&a===92||!this.stateOverride&&(a===63||a===35)){if(Ue(this.url)&&a===92&&(this.parseError=!0),wb(this.buffer)?(R6(this.url),a!==47&&!(Ue(this.url)&&a===92)&&this.url.path.push("")):T6(this.buffer)&&a!==47&&!(Ue(this.url)&&a===92)?this.url.path.push(""):T6(this.buffer)||(this.url.scheme==="file"&&this.url.path.length===0&&L6(this.buffer)&&(this.url.host!==""&&this.url.host!==null&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)),this.buffer="",this.url.scheme==="file"&&(a===void 0||a===63||a===35))for(;this.url.path.length>1&&this.url.path[0]==="";)this.parseError=!0,this.url.path.shift();a===63&&(this.url.query="",this.state="query"),a===35&&(this.url.fragment="",this.state="fragment")}else a===37&&(!q1(this.input[this.pointer+1])||!q1(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=Ya(a,M6);return!0};ke.prototype["parse cannot-be-a-base-URL path"]=function(a){return a===63?(this.url.query="",this.state="query"):a===35?(this.url.fragment="",this.state="fragment"):(!isNaN(a)&&a!==37&&(this.parseError=!0),a===37&&(!q1(this.input[this.pointer+1])||!q1(this.input[this.pointer+2]))&&(this.parseError=!0),isNaN(a)||(this.url.path[0]=this.url.path[0]+Ya(a,o0))),!0};ke.prototype["parse query"]=function(a,r){if(isNaN(a)||!this.stateOverride&&a===35){(!Ue(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss")&&(this.encodingOverride="utf-8");let t=new Buffer(this.buffer);for(let n=0;n<t.length;++n)t[n]<33||t[n]>126||t[n]===34||t[n]===35||t[n]===60||t[n]===62?this.url.query+=O6(t[n]):this.url.query+=String.fromCodePoint(t[n]);this.buffer="",a===35&&(this.url.fragment="",this.state="fragment")}else a===37&&(!q1(this.input[this.pointer+1])||!q1(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=r;return!0};ke.prototype["parse fragment"]=function(a){return isNaN(a)||(a===0?this.parseError=!0:(a===37&&(!q1(this.input[this.pointer+1])||!q1(this.input[this.pointer+2]))&&(this.parseError=!0),this.url.fragment+=Ya(a,o0))),!0};function Gb(e,a){let r=e.scheme+":";if(e.host!==null?(r+="//",(e.username!==""||e.password!=="")&&(r+=e.username,e.password!==""&&(r+=":"+e.password),r+="@"),r+=s2(e.host),e.port!==null&&(r+=":"+e.port)):e.host===null&&e.scheme==="file"&&(r+="//"),e.cannotBeABaseURL)r+=e.path[0];else for(let t of e.path)r+="/"+t;return e.query!==null&&(r+="?"+e.query),!a&&e.fragment!==null&&(r+="#"+e.fragment),r}function zb(e){let a=e.scheme+"://";return a+=s2(e.host),e.port!==null&&(a+=":"+e.port),a}D1.exports.serializeURL=Gb;D1.exports.serializeURLOrigin=function(e){switch(e.scheme){case"blob":try{return D1.exports.serializeURLOrigin(D1.exports.parseURL(e.path[0]))}catch{return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return zb({scheme:e.scheme,host:e.host,port:e.port});case"file":return"file://";default:return"null"}};D1.exports.basicURLParse=function(e,a){a===void 0&&(a={});let r=new ke(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);return r.failure?"failure":r.url};D1.exports.setTheUsername=function(e,a){e.username="";let r=Fr.ucs2.decode(a);for(let t=0;t<r.length;++t)e.username+=Ya(r[t],p2)};D1.exports.setThePassword=function(e,a){e.password="";let r=Fr.ucs2.decode(a);for(let t=0;t<r.length;++t)e.password+=Ya(r[t],p2)};D1.exports.serializeHost=s2;D1.exports.cannotHaveAUsernamePasswordPort=Ib;D1.exports.serializeInteger=function(e){return String(e)};D1.exports.parseURL=function(e,a){return a===void 0&&(a={}),D1.exports.basicURLParse(e,{baseURL:a.baseURL,encodingOverride:a.encodingOverride})}});var V6=c(I6=>{"use strict";var Le=W1();I6.implementation=class{constructor(a){let r=a[0],t=a[1],n=null;if(t!==void 0&&(n=Le.basicURLParse(t),n==="failure"))throw new TypeError("Invalid base URL");let i=Le.basicURLParse(r,{baseURL:n});if(i==="failure")throw new TypeError("Invalid URL");this._url=i}get href(){return Le.serializeURL(this._url)}set href(a){let r=Le.basicURLParse(a);if(r==="failure")throw new TypeError("Invalid URL");this._url=r}get origin(){return Le.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(a){Le.basicURLParse(a+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(a){Le.cannotHaveAUsernamePasswordPort(this._url)||Le.setTheUsername(this._url,a)}get password(){return this._url.password}set password(a){Le.cannotHaveAUsernamePasswordPort(this._url)||Le.setThePassword(this._url,a)}get host(){let a=this._url;return a.host===null?"":a.port===null?Le.serializeHost(a.host):Le.serializeHost(a.host)+":"+Le.serializeInteger(a.port)}set host(a){this._url.cannotBeABaseURL||Le.basicURLParse(a,{url:this._url,stateOverride:"host"})}get hostname(){return this._url.host===null?"":Le.serializeHost(this._url.host)}set hostname(a){this._url.cannotBeABaseURL||Le.basicURLParse(a,{url:this._url,stateOverride:"hostname"})}get port(){return this._url.port===null?"":Le.serializeInteger(this._url.port)}set port(a){Le.cannotHaveAUsernamePasswordPort(this._url)||(a===""?this._url.port=null:Le.basicURLParse(a,{url:this._url,stateOverride:"port"}))}get pathname(){return this._url.cannotBeABaseURL?this._url.path[0]:this._url.path.length===0?"":"/"+this._url.path.join("/")}set pathname(a){this._url.cannotBeABaseURL||(this._url.path=[],Le.basicURLParse(a,{url:this._url,stateOverride:"path start"}))}get search(){return this._url.query===null||this._url.query===""?"":"?"+this._url.query}set search(a){let r=this._url;if(a===""){r.query=null;return}let t=a[0]==="?"?a.substring(1):a;r.query="",Le.basicURLParse(t,{url:r,stateOverride:"query"})}get hash(){return this._url.fragment===null||this._url.fragment===""?"":"#"+this._url.fragment}set hash(a){if(a===""){this._url.fragment=null;return}let r=a[0]==="#"?a.substring(1):a;this._url.fragment="",Le.basicURLParse(r,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}});var z6=c((xR,Ht)=>{"use strict";var P1=w6(),G6=y6(),j6=V6(),De=G6.implSymbol;function Ye(e){if(!this||this[De]||!(this instanceof Ye))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");let a=[];for(let r=0;r<arguments.length&&r<2;++r)a[r]=arguments[r];a[0]=P1.USVString(a[0]),a[1]!==void 0&&(a[1]=P1.USVString(a[1])),Ht.exports.setup(this,a)}Ye.prototype.toJSON=function(){if(!this||!Ht.exports.is(this))throw new TypeError("Illegal invocation");let a=[];for(let r=0;r<arguments.length&&r<0;++r)a[r]=arguments[r];return this[De].toJSON.apply(this[De],a)};Object.defineProperty(Ye.prototype,"href",{get(){return this[De].href},set(e){e=P1.USVString(e),this[De].href=e},enumerable:!0,configurable:!0});Ye.prototype.toString=function(){if(!this||!Ht.exports.is(this))throw new TypeError("Illegal invocation");return this.href};Object.defineProperty(Ye.prototype,"origin",{get(){return this[De].origin},enumerable:!0,configurable:!0});Object.defineProperty(Ye.prototype,"protocol",{get(){return this[De].protocol},set(e){e=P1.USVString(e),this[De].protocol=e},enumerable:!0,configurable:!0});Object.defineProperty(Ye.prototype,"username",{get(){return this[De].username},set(e){e=P1.USVString(e),this[De].username=e},enumerable:!0,configurable:!0});Object.defineProperty(Ye.prototype,"password",{get(){return this[De].password},set(e){e=P1.USVString(e),this[De].password=e},enumerable:!0,configurable:!0});Object.defineProperty(Ye.prototype,"host",{get(){return this[De].host},set(e){e=P1.USVString(e),this[De].host=e},enumerable:!0,configurable:!0});Object.defineProperty(Ye.prototype,"hostname",{get(){return this[De].hostname},set(e){e=P1.USVString(e),this[De].hostname=e},enumerable:!0,configurable:!0});Object.defineProperty(Ye.prototype,"port",{get(){return this[De].port},set(e){e=P1.USVString(e),this[De].port=e},enumerable:!0,configurable:!0});Object.defineProperty(Ye.prototype,"pathname",{get(){return this[De].pathname},set(e){e=P1.USVString(e),this[De].pathname=e},enumerable:!0,configurable:!0});Object.defineProperty(Ye.prototype,"search",{get(){return this[De].search},set(e){e=P1.USVString(e),this[De].search=e},enumerable:!0,configurable:!0});Object.defineProperty(Ye.prototype,"hash",{get(){return this[De].hash},set(e){e=P1.USVString(e),this[De].hash=e},enumerable:!0,configurable:!0});Ht.exports={is(e){return!!e&&e[De]instanceof j6.implementation},create(e,a){let r=Object.create(Ye.prototype);return this.setup(r,e,a),r},setup(e,a,r){r||(r={}),r.wrapper=e,e[De]=new j6.implementation(a,r),e[De][G6.wrapperSymbol]=e},interface:Ye,expose:{Window:{URL:Ye},Worker:{URL:Ye}}}});var U6=c(Y1=>{"use strict";Y1.URL=z6().interface;Y1.serializeURL=W1().serializeURL;Y1.serializeURLOrigin=W1().serializeURLOrigin;Y1.basicURLParse=W1().basicURLParse;Y1.setTheUsername=W1().setTheUsername;Y1.setThePassword=W1().setThePassword;Y1.serializeHost=W1().serializeHost;Y1.serializeInteger=W1().serializeInteger;Y1.parseURL=W1().parseURL});var r4=c((V1,a4)=>{"use strict";Object.defineProperty(V1,"__esModule",{value:!0});function Ar(e){return e&&typeof e=="object"&&"default"in e?e.default:e}var I1=Ar(require("stream")),Y6=Ar(require("http")),u0=Ar(require("url")),J6=Ar(U6()),Ub=Ar(require("https")),Ja=Ar(require("zlib")),$b=I1.Readable,da=Symbol("buffer"),d2=Symbol("type"),Yt=class e{constructor(){this[d2]="";let a=arguments[0],r=arguments[1],t=[],n=0;if(a){let p=a,s=Number(p.length);for(let d=0;d<s;d++){let h=p[d],m;h instanceof Buffer?m=h:ArrayBuffer.isView(h)?m=Buffer.from(h.buffer,h.byteOffset,h.byteLength):h instanceof ArrayBuffer?m=Buffer.from(h):h instanceof e?m=h[da]:m=Buffer.from(typeof h=="string"?h:String(h)),n+=m.length,t.push(m)}}this[da]=Buffer.concat(t);let i=r&&r.type!==void 0&&String(r.type).toLowerCase();i&&!/[^\u0020-\u007E]/.test(i)&&(this[d2]=i)}get size(){return this[da].length}get type(){return this[d2]}text(){return Promise.resolve(this[da].toString())}arrayBuffer(){let a=this[da],r=a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength);return Promise.resolve(r)}stream(){let a=new $b;return a._read=function(){},a.push(this[da]),a.push(null),a}toString(){return"[object Blob]"}slice(){let a=this.size,r=arguments[0],t=arguments[1],n,i;r===void 0?n=0:r<0?n=Math.max(a+r,0):n=Math.min(r,a),t===void 0?i=a:t<0?i=Math.max(a+t,0):i=Math.min(t,a);let p=Math.max(i-n,0),d=this[da].slice(n,n+p),h=new e([],{type:arguments[2]});return h[da]=d,h}};Object.defineProperties(Yt.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Object.defineProperty(Yt.prototype,Symbol.toStringTag,{value:"Blob",writable:!1,enumerable:!1,configurable:!0});function Qe(e,a,r){Error.call(this,e),this.message=e,this.type=a,r&&(this.code=this.errno=r.code),Error.captureStackTrace(this,this.constructor)}Qe.prototype=Object.create(Error.prototype);Qe.prototype.constructor=Qe;Qe.prototype.name="FetchError";var m2;try{m2=require("encoding").convert}catch{}var la=Symbol("Body internals"),$6=I1.PassThrough;function Je(e){var a=this,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=r.size;let n=t===void 0?0:t;var i=r.timeout;let p=i===void 0?0:i;e==null?e=null:K6(e)?e=Buffer.from(e.toString()):Kt(e)||Buffer.isBuffer(e)||(Object.prototype.toString.call(e)==="[object ArrayBuffer]"?e=Buffer.from(e):ArrayBuffer.isView(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof I1||(e=Buffer.from(String(e)))),this[la]={body:e,disturbed:!1,error:null},this.size=n,this.timeout=p,e instanceof I1&&e.on("error",function(s){let d=s.name==="AbortError"?s:new Qe(`Invalid response body while trying to fetch ${a.url}: ${s.message}`,"system",s);a[la].error=d})}Je.prototype={get body(){return this[la].body},get bodyUsed(){return this[la].disturbed},arrayBuffer(){return Dr.call(this).then(function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)})},blob(){let e=this.headers&&this.headers.get("content-type")||"";return Dr.call(this).then(function(a){return Object.assign(new Yt([],{type:e.toLowerCase()}),{[da]:a})})},json(){var e=this;return Dr.call(this).then(function(a){try{return JSON.parse(a.toString())}catch(r){return Je.Promise.reject(new Qe(`invalid json response body at ${e.url} reason: ${r.message}`,"invalid-json"))}})},text(){return Dr.call(this).then(function(e){return e.toString()})},buffer(){return Dr.call(this)},textConverted(){var e=this;return Dr.call(this).then(function(a){return Hb(a,e.headers)})}};Object.defineProperties(Je.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}});Je.mixIn=function(e){for(let a of Object.getOwnPropertyNames(Je.prototype))if(!(a in e)){let r=Object.getOwnPropertyDescriptor(Je.prototype,a);Object.defineProperty(e,a,r)}};function Dr(){var e=this;if(this[la].disturbed)return Je.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[la].disturbed=!0,this[la].error)return Je.Promise.reject(this[la].error);let a=this.body;if(a===null)return Je.Promise.resolve(Buffer.alloc(0));if(Kt(a)&&(a=a.stream()),Buffer.isBuffer(a))return Je.Promise.resolve(a);if(!(a instanceof I1))return Je.Promise.resolve(Buffer.alloc(0));let r=[],t=0,n=!1;return new Je.Promise(function(i,p){let s;e.timeout&&(s=setTimeout(function(){n=!0,p(new Qe(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))},e.timeout)),a.on("error",function(d){d.name==="AbortError"?(n=!0,p(d)):p(new Qe(`Invalid response body while trying to fetch ${e.url}: ${d.message}`,"system",d))}),a.on("data",function(d){if(!(n||d===null)){if(e.size&&t+d.length>e.size){n=!0,p(new Qe(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}t+=d.length,r.push(d)}}),a.on("end",function(){if(!n){clearTimeout(s);try{i(Buffer.concat(r,t))}catch(d){p(new Qe(`Could not create Buffer from response body for ${e.url}: ${d.message}`,"system",d))}}})})}function Hb(e,a){if(typeof m2!="function")throw new Error("The package `encoding` must be installed to use the textConverted() function");let r=a.get("content-type"),t="utf-8",n,i;return r&&(n=/charset=([^;]*)/i.exec(r)),i=e.slice(0,1024).toString(),!n&&i&&(n=/<meta.+?charset=(['"])(.+?)\1/i.exec(i)),!n&&i&&(n=/<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(i),n||(n=/<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(i),n&&n.pop()),n&&(n=/charset=(.*)/i.exec(n.pop()))),!n&&i&&(n=/<\?xml.+?encoding=(['"])(.+?)\1/i.exec(i)),n&&(t=n.pop(),(t==="gb2312"||t==="gbk")&&(t="gb18030")),m2(e,"UTF-8",t).toString()}function K6(e){return typeof e!="object"||typeof e.append!="function"||typeof e.delete!="function"||typeof e.get!="function"||typeof e.getAll!="function"||typeof e.has!="function"||typeof e.set!="function"?!1:e.constructor.name==="URLSearchParams"||Object.prototype.toString.call(e)==="[object URLSearchParams]"||typeof e.sort=="function"}function Kt(e){return typeof e=="object"&&typeof e.arrayBuffer=="function"&&typeof e.type=="string"&&typeof e.stream=="function"&&typeof e.constructor=="function"&&typeof e.constructor.name=="string"&&/^(Blob|File)$/.test(e.constructor.name)&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function Z6(e){let a,r,t=e.body;if(e.bodyUsed)throw new Error("cannot clone body after it is used");return t instanceof I1&&typeof t.getBoundary!="function"&&(a=new $6,r=new $6,t.pipe(a),t.pipe(r),e[la].body=a,t=r),t}function X6(e){return e===null?null:typeof e=="string"?"text/plain;charset=UTF-8":K6(e)?"application/x-www-form-urlencoded;charset=UTF-8":Kt(e)?e.type||null:Buffer.isBuffer(e)||Object.prototype.toString.call(e)==="[object ArrayBuffer]"||ArrayBuffer.isView(e)?null:typeof e.getBoundary=="function"?`multipart/form-data;boundary=${e.getBoundary()}`:e instanceof I1?null:"text/plain;charset=UTF-8"}function Q6(e){let a=e.body;return a===null?0:Kt(a)?a.size:Buffer.isBuffer(a)?a.length:a&&typeof a.getLengthSync=="function"&&(a._lengthRetrievers&&a._lengthRetrievers.length==0||a.hasKnownLength&&a.hasKnownLength())?a.getLengthSync():null}function Wb(e,a){let r=a.body;r===null?e.end():Kt(r)?r.stream().pipe(e):Buffer.isBuffer(r)?(e.write(r),e.end()):r.pipe(e)}Je.Promise=global.Promise;var e4=/[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/,c2=/[^\t\x20-\x7e\x80-\xff]/;function Wt(e){if(e=`${e}`,e4.test(e)||e==="")throw new TypeError(`${e} is not a legal HTTP header name`)}function H6(e){if(e=`${e}`,c2.test(e))throw new TypeError(`${e} is not a legal HTTP header value`)}function Sr(e,a){a=a.toLowerCase();for(let r in e)if(r.toLowerCase()===a)return r}var qe=Symbol("map"),T1=class e{constructor(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0;if(this[qe]=Object.create(null),a instanceof e){let r=a.raw(),t=Object.keys(r);for(let n of t)for(let i of r[n])this.append(n,i);return}if(a!=null)if(typeof a=="object"){let r=a[Symbol.iterator];if(r!=null){if(typeof r!="function")throw new TypeError("Header pairs must be iterable");let t=[];for(let n of a){if(typeof n!="object"||typeof n[Symbol.iterator]!="function")throw new TypeError("Each header pair must be iterable");t.push(Array.from(n))}for(let n of t){if(n.length!==2)throw new TypeError("Each header pair must be a name/value tuple");this.append(n[0],n[1])}}else for(let t of Object.keys(a)){let n=a[t];this.append(t,n)}}else throw new TypeError("Provided initializer must be an object")}get(a){a=`${a}`,Wt(a);let r=Sr(this[qe],a);return r===void 0?null:this[qe][r].join(", ")}forEach(a){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,t=h2(this),n=0;for(;n<t.length;){var i=t[n];let p=i[0],s=i[1];a.call(r,s,p,this),t=h2(this),n++}}set(a,r){a=`${a}`,r=`${r}`,Wt(a),H6(r);let t=Sr(this[qe],a);this[qe][t!==void 0?t:a]=[r]}append(a,r){a=`${a}`,r=`${r}`,Wt(a),H6(r);let t=Sr(this[qe],a);t!==void 0?this[qe][t].push(r):this[qe][a]=[r]}has(a){return a=`${a}`,Wt(a),Sr(this[qe],a)!==void 0}delete(a){a=`${a}`,Wt(a);let r=Sr(this[qe],a);r!==void 0&&delete this[qe][r]}raw(){return this[qe]}keys(){return o2(this,"key")}values(){return o2(this,"value")}[Symbol.iterator](){return o2(this,"key+value")}};T1.prototype.entries=T1.prototype[Symbol.iterator];Object.defineProperty(T1.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(T1.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});function h2(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key+value";return Object.keys(e[qe]).sort().map(a==="key"?function(t){return t.toLowerCase()}:a==="value"?function(t){return e[qe][t].join(", ")}:function(t){return[t.toLowerCase(),e[qe][t].join(", ")]})}var f2=Symbol("internal");function o2(e,a){let r=Object.create(v2);return r[f2]={target:e,kind:a,index:0},r}var v2=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==v2)throw new TypeError("Value of `this` is not a HeadersIterator");var e=this[f2];let a=e.target,r=e.kind,t=e.index,n=h2(a,r),i=n.length;return t>=i?{value:void 0,done:!0}:(this[f2].index=t+1,{value:n[t],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(v2,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});function Yb(e){let a=Object.assign({__proto__:null},e[qe]),r=Sr(e[qe],"Host");return r!==void 0&&(a[r]=a[r][0]),a}function Jb(e){let a=new T1;for(let r of Object.keys(e))if(!e4.test(r))if(Array.isArray(e[r]))for(let t of e[r])c2.test(t)||(a[qe][r]===void 0?a[qe][r]=[t]:a[qe][r].push(t));else c2.test(e[r])||(a[qe][r]=[e[r]]);return a}var Ea=Symbol("Response internals"),Kb=Y6.STATUS_CODES,N1=class e{constructor(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Je.call(this,a,r);let t=r.status||200,n=new T1(r.headers);if(a!=null&&!n.has("Content-Type")){let i=X6(a);i&&n.append("Content-Type",i)}this[Ea]={url:r.url,status:t,statusText:r.statusText||Kb[t],headers:n,counter:r.counter}}get url(){return this[Ea].url||""}get status(){return this[Ea].status}get ok(){return this[Ea].status>=200&&this[Ea].status<300}get redirected(){return this[Ea].counter>0}get statusText(){return this[Ea].statusText}get headers(){return this[Ea].headers}clone(){return new e(Z6(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}};Je.mixIn(N1.prototype);Object.defineProperties(N1.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});Object.defineProperty(N1.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});var oa=Symbol("Request internals"),Zb=u0.URL||J6.URL,Xb=u0.parse,Qb=u0.format;function l2(e){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)&&(e=new Zb(e).toString()),Xb(e)}var ex="destroy"in I1.Readable.prototype;function l0(e){return typeof e=="object"&&typeof e[oa]=="object"}function ax(e){let a=e&&typeof e=="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}var Ba=class e{constructor(a){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t;l0(a)?t=l2(a.url):(a&&a.href?t=l2(a.href):t=l2(`${a}`),a={});let n=r.method||a.method||"GET";if(n=n.toUpperCase(),(r.body!=null||l0(a)&&a.body!==null)&&(n==="GET"||n==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let i=r.body!=null?r.body:l0(a)&&a.body!==null?Z6(a):null;Je.call(this,i,{timeout:r.timeout||a.timeout||0,size:r.size||a.size||0});let p=new T1(r.headers||a.headers||{});if(i!=null&&!p.has("Content-Type")){let d=X6(i);d&&p.append("Content-Type",d)}let s=l0(a)?a.signal:null;if("signal"in r&&(s=r.signal),s!=null&&!ax(s))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[oa]={method:n,redirect:r.redirect||a.redirect||"follow",headers:p,parsedURL:t,signal:s},this.follow=r.follow!==void 0?r.follow:a.follow!==void 0?a.follow:20,this.compress=r.compress!==void 0?r.compress:a.compress!==void 0?a.compress:!0,this.counter=r.counter||a.counter||0,this.agent=r.agent||a.agent}get method(){return this[oa].method}get url(){return Qb(this[oa].parsedURL)}get headers(){return this[oa].headers}get redirect(){return this[oa].redirect}get signal(){return this[oa].signal}clone(){return new e(this)}};Je.mixIn(Ba.prototype);Object.defineProperty(Ba.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(Ba.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}});function rx(e){let a=e[oa].parsedURL,r=new T1(e[oa].headers);if(r.has("Accept")||r.set("Accept","*/*"),!a.protocol||!a.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(a.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(e.signal&&e.body instanceof I1.Readable&&!ex)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let t=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)&&(t="0"),e.body!=null){let i=Q6(e);typeof i=="number"&&(t=String(i))}t&&r.set("Content-Length",t),r.has("User-Agent")||r.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),e.compress&&!r.has("Accept-Encoding")&&r.set("Accept-Encoding","gzip,deflate");let n=e.agent;return typeof n=="function"&&(n=n(a)),Object.assign({},a,{method:e.method,headers:Yb(r),agent:n})}function Er(e){Error.call(this,e),this.type="aborted",this.message=e,Error.captureStackTrace(this,this.constructor)}Er.prototype=Object.create(Error.prototype);Er.prototype.constructor=Er;Er.prototype.name="AbortError";var Jt=u0.URL||J6.URL,W6=I1.PassThrough,tx=function(a,r){let t=new Jt(r).hostname,n=new Jt(a).hostname;return t===n||t[t.length-n.length-1]==="."&&t.endsWith(n)},nx=function(a,r){let t=new Jt(r).protocol,n=new Jt(a).protocol;return t===n};function Aa(e,a){if(!Aa.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return Je.Promise=Aa.Promise,new Aa.Promise(function(r,t){let n=new Ba(e,a),i=rx(n),p=(i.protocol==="https:"?Ub:Y6).request,s=n.signal,d=null,h=function(){let F=new Er("The user aborted a request.");t(F),n.body&&n.body instanceof I1.Readable&&u2(n.body,F),!(!d||!d.body)&&d.body.emit("error",F)};if(s&&s.aborted){h();return}let m=function(){h(),S()},g=p(i),w;s&&s.addEventListener("abort",m);function S(){g.abort(),s&&s.removeEventListener("abort",m),clearTimeout(w)}n.timeout&&g.once("socket",function(_){w=setTimeout(function(){t(new Qe(`network timeout at: ${n.url}`,"request-timeout")),S()},n.timeout)}),g.on("error",function(_){t(new Qe(`request to ${n.url} failed, reason: ${_.message}`,"system",_)),d&&d.body&&u2(d.body,_),S()}),ix(g,function(_){s&&s.aborted||d&&d.body&&u2(d.body,_)}),parseInt(process.version.substring(1))<14&&g.on("socket",function(_){_.addListener("close",function(F){let D=_.listenerCount("data")>0;if(d&&D&&!F&&!(s&&s.aborted)){let B=new Error("Premature close");B.code="ERR_STREAM_PREMATURE_CLOSE",d.body.emit("error",B)}})}),g.on("response",function(_){clearTimeout(w);let F=Jb(_.headers);if(Aa.isRedirect(_.statusCode)){let R=F.get("Location"),j=null;try{j=R===null?null:new Jt(R,n.url).toString()}catch{if(n.redirect!=="manual"){t(new Qe(`uri requested responds with an invalid redirect URL: ${R}`,"invalid-redirect")),S();return}}switch(n.redirect){case"error":t(new Qe(`uri requested responds with a redirect, redirect mode is set to error: ${n.url}`,"no-redirect")),S();return;case"manual":if(j!==null)try{F.set("Location",j)}catch(I){t(I)}break;case"follow":if(j===null)break;if(n.counter>=n.follow){t(new Qe(`maximum redirect reached at: ${n.url}`,"max-redirect")),S();return}let J={headers:new T1(n.headers),follow:n.follow,counter:n.counter+1,agent:n.agent,compress:n.compress,method:n.method,body:n.body,signal:n.signal,timeout:n.timeout,size:n.size};if(!tx(n.url,j)||!nx(n.url,j))for(let I of["authorization","www-authenticate","cookie","cookie2"])J.headers.delete(I);if(_.statusCode!==303&&n.body&&Q6(n)===null){t(new Qe("Cannot follow redirect with body being a readable stream","unsupported-redirect")),S();return}(_.statusCode===303||(_.statusCode===301||_.statusCode===302)&&n.method==="POST")&&(J.method="GET",J.body=void 0,J.headers.delete("content-length")),r(Aa(new Ba(j,J))),S();return}}_.once("end",function(){s&&s.removeEventListener("abort",m)});let D=_.pipe(new W6),B={url:n.url,status:_.statusCode,statusText:_.statusMessage,headers:F,size:n.size,timeout:n.timeout,counter:n.counter},k=F.get("Content-Encoding");if(!n.compress||n.method==="HEAD"||k===null||_.statusCode===204||_.statusCode===304){d=new N1(D,B),r(d);return}let C={flush:Ja.Z_SYNC_FLUSH,finishFlush:Ja.Z_SYNC_FLUSH};if(k=="gzip"||k=="x-gzip"){D=D.pipe(Ja.createGunzip(C)),d=new N1(D,B),r(d);return}if(k=="deflate"||k=="x-deflate"){let R=_.pipe(new W6);R.once("data",function(j){(j[0]&15)===8?D=D.pipe(Ja.createInflate()):D=D.pipe(Ja.createInflateRaw()),d=new N1(D,B),r(d)}),R.on("end",function(){d||(d=new N1(D,B),r(d))});return}if(k=="br"&&typeof Ja.createBrotliDecompress=="function"){D=D.pipe(Ja.createBrotliDecompress()),d=new N1(D,B),r(d);return}d=new N1(D,B),r(d)}),Wb(g,n)})}function ix(e,a){let r;e.on("socket",function(t){r=t}),e.on("response",function(t){let n=t.headers;n["transfer-encoding"]==="chunked"&&!n["content-length"]&&t.once("close",function(i){if(r&&r.listenerCount("data")>0&&!i){let s=new Error("Premature close");s.code="ERR_STREAM_PREMATURE_CLOSE",a(s)}})})}function u2(e,a){e.destroy?e.destroy(a):(e.emit("error",a),e.end())}Aa.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};Aa.Promise=global.Promise;a4.exports=V1=Aa;Object.defineProperty(V1,"__esModule",{value:!0});V1.default=V1;V1.Headers=T1;V1.Request=Ba;V1.Response=N1;V1.FetchError=Qe;V1.AbortError=Er});var c0=c((Ka,t4)=>{var Zt=r4(),px=Zt.default||Zt,m0=function(e,a){return/^\/\//.test(e)&&(e="https:"+e),px.call(this,e,a)};m0.ponyfill=!0;t4.exports=Ka=m0;Ka.fetch=m0;Ka.Headers=Zt.Headers;Ka.Request=Zt.Request;Ka.Response=Zt.Response;Ka.default=m0});var g2=c(h0=>{"use strict";Object.defineProperty(h0,"__esModule",{value:!0});h0.isJSON=void 0;function sx(e){if(e){let a=ox(e);if(!a)return!1;if(a.subtype==="json"||a.suffix==="json"||a.suffix&&/\bjson\b/i.test(a.suffix)||a.subtype&&/\bjson\b/i.test(a.subtype))return!0}return!1}h0.isJSON=sx;var dx=/^([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126});?$/;function ox(e){let a=e.indexOf(";"),r=a!==-1?e.slice(0,a).trim():e.trim(),t=dx.exec(r.toLowerCase().toLowerCase());if(!t)return;let n=t[1],i=t[2],p,s=i.lastIndexOf("+");return s!==-1&&(p=i.substring(s+1),i=i.substring(0,s)),{type:n,subtype:i,suffix:p}}});var s4=c(f0=>{"use strict";Object.defineProperty(f0,"__esModule",{value:!0});f0.useFetch=void 0;var Br=require("react"),lx=zt(),n4=sa(),i4=c0(),ux=g2(),p4=Wa();async function mx(e){if(!e.ok)throw new Error(e.statusText);let a=e.headers.get("content-type");return a&&(0,ux.isJSON)(a)?await e.json():await e.text()}function cx(e){return{data:e,hasMore:!1}}function hx(e,a){let{parseResponse:r,mapResult:t,initialData:n,execute:i,keepPreviousData:p,onError:s,onData:d,onWillExecute:h,failureToastOptions:m,...g}=a||{},w={initialData:n,execute:i,keepPreviousData:p,onError:s,onData:d,onWillExecute:h,failureToastOptions:m},S=(0,n4.useLatest)(r||mx),_=(0,n4.useLatest)(t||cx),F=(0,Br.useRef)(),D=(0,Br.useRef)(),B=typeof e=="function"?e({page:0}):void 0;(!F.current||typeof D.current>"u"||D.current!==B)&&(F.current=e),D.current=B;let k=(0,Br.useRef)(),C=(0,Br.useCallback)((J,I)=>async W=>{let X=await(0,i4.fetch)(J(W),{signal:k.current?.signal,...I}),be=await S.current(X);return _.current?.(be)},[S,_]),R=(0,Br.useCallback)(async(J,I)=>{let W=await(0,i4.fetch)(J,{signal:k.current?.signal,...I}),X=await S.current(W);return _.current(X)?.data},[S,_]),j=(0,Br.useMemo)(()=>D.current?C:R,[D,R,C]);return(0,lx.useCachedPromise)(j,[F.current,g],{...w,internal_cacheKeySuffix:D.current+(0,p4.hash)(_.current)+(0,p4.hash)(S.current),abortable:k})}f0.useFetch=hx});var d4=c(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.signals=void 0;Za.signals=[];Za.signals.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Za.signals.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Za.signals.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});var o4=c(J1=>{"use strict";var v0;Object.defineProperty(J1,"__esModule",{value:!0});J1.unload=J1.load=J1.onExit=J1.signals=void 0;var g0=d4();Object.defineProperty(J1,"signals",{enumerable:!0,get:function(){return g0.signals}});var b0=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",b2=Symbol.for("signal-exit emitter"),x2=globalThis,fx=Object.defineProperty.bind(Object),w2=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(x2[b2])return x2[b2];fx(x2,b2,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(a,r){this.listeners[a].push(r)}removeListener(a,r){let t=this.listeners[a],n=t.indexOf(r);n!==-1&&(n===0&&t.length===1?t.length=0:t.splice(n,1))}emit(a,r,t){if(this.emitted[a])return!1;this.emitted[a]=!0;let n=!1;for(let i of this.listeners[a])n=i(r,t)===!0||n;return a==="exit"&&(n=this.emit("afterExit",r,t)||n),n}},x0=class{},vx=e=>({onExit(a,r){return e.onExit(a,r)},load(){return e.load()},unload(){return e.unload()}}),y2=class extends x0{onExit(){return()=>{}}load(){}unload(){}},_2=class extends x0{#p=C2.platform==="win32"?"SIGINT":"SIGHUP";#a=new w2;#e;#n;#i;#t={};#r=!1;constructor(a){super(),this.#e=a,this.#t={};for(let r of g0.signals)this.#t[r]=()=>{let t=this.#e.listeners(r),{count:n}=this.#a,i=a;if(typeof i.__signal_exit_emitter__=="object"&&typeof i.__signal_exit_emitter__.count=="number"&&(n+=i.__signal_exit_emitter__.count),t.length===n){this.unload();let p=this.#a.emit("exit",null,r),s=r==="SIGHUP"?this.#p:r;p||a.kill(a.pid,s)}};this.#i=a.reallyExit,this.#n=a.emit}onExit(a,r){if(!b0(this.#e))return()=>{};this.#r===!1&&this.load();let t=r?.alwaysLast?"afterExit":"exit";return this.#a.on(t,a),()=>{this.#a.removeListener(t,a),this.#a.listeners.exit.length===0&&this.#a.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#r){this.#r=!0,this.#a.count+=1;for(let a of g0.signals)try{let r=this.#t[a];r&&this.#e.on(a,r)}catch{}this.#e.emit=(a,...r)=>this.#d(a,...r),this.#e.reallyExit=a=>this.#s(a)}}unload(){this.#r&&(this.#r=!1,g0.signals.forEach(a=>{let r=this.#t[a];if(!r)throw new Error("Listener not defined for signal: "+a);try{this.#e.removeListener(a,r)}catch{}}),this.#e.emit=this.#n,this.#e.reallyExit=this.#i,this.#a.count-=1)}#s(a){return b0(this.#e)?(this.#e.exitCode=a||0,this.#a.emit("exit",this.#e.exitCode,null),this.#i.call(this.#e,this.#e.exitCode)):0}#d(a,...r){let t=this.#n;if(a==="exit"&&b0(this.#e)){typeof r[0]=="number"&&(this.#e.exitCode=r[0]);let n=t.call(this.#e,a,...r);return this.#a.emit("exit",this.#e.exitCode,null),n}else return t.call(this.#e,a,...r)}},C2=globalThis.process;v0=vx(b0(C2)?new _2(C2):new y2),J1.onExit=v0.onExit,J1.load=v0.load,J1.unload=v0.unload});var w0=c(k1=>{"use strict";var gx=k1&&k1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(k1,"__esModule",{value:!0});k1.defaultParsing=k1.handleOutput=k1.getSpawnedResult=k1.getSpawnedPromise=void 0;var bx=require("node:buffer"),m4=gx(require("node:stream")),xx=require("node:util"),wx=o4();function yx(e,{timeout:a}={}){let r=new Promise((s,d)=>{e.on("exit",(h,m)=>{s({exitCode:h,signal:m,timedOut:!1})}),e.on("error",h=>{d(h)}),e.stdin&&e.stdin.on("error",h=>{d(h)})});if(a===0||a===void 0)return r;let t,n=new Promise((s,d)=>{t=setTimeout(()=>{e.kill("SIGTERM"),d(Object.assign(new Error("Timed out"),{timedOut:!0,signal:"SIGTERM"}))},a)}),i=r.finally(()=>{clearTimeout(t)}),p=(0,wx.onExit)(()=>{e.kill()});return Promise.race([n,i]).finally(()=>p())}k1.getSpawnedPromise=yx;var F2=class extends Error{constructor(){super("The output is too big"),this.name="MaxBufferError"}},_x=(0,xx.promisify)(m4.default.pipeline);function Cx(e){let{encoding:a}=e,r=a==="buffer",t=new m4.default.PassThrough({objectMode:!1});a&&a!=="buffer"&&t.setEncoding(a);let n=0,i=[];return t.on("data",p=>{i.push(p),n+=p.length}),t.getBufferedValue=()=>r?Buffer.concat(i,n):i.join(""),t.getBufferedLength=()=>n,t}async function l4(e,a){let r=Cx(a);return await new Promise((t,n)=>{let i=p=>{p&&r.getBufferedLength()<=bx.constants.MAX_LENGTH&&(p.bufferedData=r.getBufferedValue()),n(p)};(async()=>{try{await _x(e,r),t()}catch(p){i(p)}})(),r.on("data",()=>{r.getBufferedLength()>1e3*1e3*80&&i(new F2)})}),r.getBufferedValue()}async function u4(e,a){e.destroy();try{return await a}catch(r){return r.bufferedData}}async function Fx({stdout:e,stderr:a},{encoding:r},t){let n=l4(e,{encoding:r}),i=l4(a,{encoding:r});try{return await Promise.all([t,n,i])}catch(p){return Promise.all([{error:p,exitCode:null,signal:p.signal,timedOut:p.timedOut||!1},u4(e,n),u4(a,i)])}}k1.getSpawnedResult=Fx;function Dx(e){let a=typeof e=="string"?` +`:10,r=typeof e=="string"?"\r":13;return e[e.length-1]===a&&(e=e.slice(0,-1)),e[e.length-1]===r&&(e=e.slice(0,-1)),e}function Sx(e,a){return e.stripFinalNewline?Dx(a):a}k1.handleOutput=Sx;var Ex=({timedOut:e,timeout:a,signal:r,exitCode:t})=>e?`timed out after ${a} milliseconds`:r!=null?`was killed with ${r}`:t!=null?`failed with exit code ${t}`:"failed",Ax=({stdout:e,stderr:a,error:r,signal:t,exitCode:n,command:i,timedOut:p,options:s,parentError:d})=>{let m=`Command ${Ex({timedOut:p,timeout:s?.timeout,signal:t,exitCode:n})}: ${i}`,g=r?`${m} +${r.message}`:m,w=[g,a,e].filter(Boolean).join(` +`);return r?r.originalMessage=r.message:r=d,r.message=w,r.shortMessage=g,r.command=i,r.exitCode=n,r.signal=t,r.stdout=e,r.stderr=a,"bufferedData"in r&&delete r.bufferedData,r};function Bx({stdout:e,stderr:a,error:r,exitCode:t,signal:n,timedOut:i,command:p,options:s,parentError:d}){if(r||t!==0||n!==null)throw Ax({error:r,exitCode:t,signal:n,stdout:e,stderr:a,command:p,timedOut:i,options:s,parentError:d});return e}k1.defaultParsing=Bx});var h4=c(Pr=>{"use strict";var Px=Pr&&Pr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Pr,"__esModule",{value:!0});Pr.useExec=void 0;var Nx=Px(require("node:child_process")),c4=require("react"),Tx=zt(),kx=sa(),Xt=w0(),Lx=/ +/g;function Ox(e,a){if(a)return[e,...a];let r=[];for(let t of e.trim().split(Lx)){let n=r[r.length-1];n&&n.endsWith("\\")?r[r.length-1]=`${n.slice(0,-1)} ${t}`:r.push(t)}return r}function Mx(e,a,r){let{parseOutput:t,input:n,onData:i,onWillExecute:p,initialData:s,execute:d,keepPreviousData:h,onError:m,failureToastOptions:g,...w}=Array.isArray(a)?r||{}:a||{},S={initialData:s,execute:d,keepPreviousData:h,onError:m,onData:i,onWillExecute:p,failureToastOptions:g},_=(0,c4.useRef)(),F=(0,kx.useLatest)(t||Xt.defaultParsing),D=(0,c4.useCallback)(async(B,k,C,R)=>{let[j,...J]=Ox(B,k),I=[j,...J].join(" "),W={stripFinalNewline:!0,...C,timeout:C?.timeout||1e4,signal:_.current?.signal,encoding:C?.encoding===null?"buffer":C?.encoding||"utf8",env:{PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",...process.env,...C?.env}},X=Nx.default.spawn(j,J,W),be=(0,Xt.getSpawnedPromise)(X,W);R&&X.stdin.end(R);let[{error:O,exitCode:$,signal:se,timedOut:q},ee,xe]=await(0,Xt.getSpawnedResult)(X,W,be),ve=(0,Xt.handleOutput)(W,ee),_e=(0,Xt.handleOutput)(W,xe);return F.current({stdout:ve,stderr:_e,error:O,exitCode:$,signal:se,timedOut:q,command:I,options:W,parentError:new Error})},[F]);return(0,Tx.useCachedPromise)(D,[e,Array.isArray(a)?a:[],w,n],{...S,abortable:_})}Pr.useExec=Mx});var E2=c((BR,b4)=>{"use strict";var{Readable:ER,Writable:AR,Duplex:Rx,Transform:g4}=require("stream"),qx=Symbol.for("object-stream.none"),D2=Symbol.for("object-stream.final"),S2=Symbol.for("object-stream.many"),Ix=e=>({[D2]:e}),Vx=e=>({[S2]:e}),jx=e=>e&&typeof e=="object"&&D2 in e,Gx=e=>e&&typeof e=="object"&&S2 in e,zx=e=>e[D2],Ux=e=>e[S2],$x=async(e,a)=>{for(;;){let r=e.next();if(r&&typeof r.then=="function"&&(r=await r),r.done)break;let t=r.value;t&&typeof t.then=="function"&&(t=await t),Ie.sanitize(t,a)}},Hx=e=>new g4({writableObjectMode:!0,readableObjectMode:!0,transform(a,r,t){try{let n=e.call(this,a,r);if(n&&typeof n.then=="function"){n.then(i=>(Ie.sanitize(i,this),t(null)),i=>t(i));return}if(n&&typeof n.next=="function"){$x(n,this).then(()=>t(null),i=>t(i));return}Ie.sanitize(n,this),t(null)}catch(n){t(n)}}}),Wx=e=>new g4({writableObjectMode:!0,readableObjectMode:!0,transform(a,r,t){try{let n=a;for(let i=0;i<e.length;++i){let p=e[i].call(this,n,r);if(p===Ie.none){t(null);return}if(Ie.isFinal(p)){n=Ie.getFinalValue(p);break}n=p}Ie.sanitize(n,this),t(null)}catch(n){t(n)}}}),f4=e=>e&&typeof e.pipe=="function"&&typeof e.on=="function"&&(!e._writableState||(typeof e._readableState=="object"?e._readableState.readable:null)!==!1)&&(!e._writableState||e._readableState),v4=e=>e&&typeof e.write=="function"&&typeof e.on=="function"&&(!e._readableState||(typeof e._writableState=="object"?e._writableState.writable:null)!==!1),Yx=e=>e&&typeof e.pipe=="function"&&e._readableState&&typeof e.on=="function"&&typeof e.write=="function",Ie=class e extends Rx{constructor(a,r){if(super(r||{writableObjectMode:!0,readableObjectMode:!0}),!(a instanceof Array)||!a.length)throw Error("Chain's argument should be a non-empty array.");this.streams=a.filter(t=>t).map((t,n,i)=>{if(typeof t=="function"||t instanceof Array)return e.convertToTransform(t);if(Yx(t)||!n&&f4(t)||n===i.length-1&&v4(t))return t;throw Error("Arguments should be functions, arrays or streams.")}).filter(t=>t),this.input=this.streams[0],this.output=this.streams.reduce((t,n)=>t&&t.pipe(n)||n),v4(this.input)||(this._write=(t,n,i)=>i(null),this._final=t=>t(null),this.input.on("end",()=>this.end())),f4(this.output)?(this.output.on("data",t=>!this.push(t)&&this.output.pause()),this.output.on("end",()=>this.push(null))):(this._read=()=>{},this.resume(),this.output.on("finish",()=>this.push(null))),(!r||!r.skipEvents)&&this.streams.forEach(t=>t.on("error",n=>this.emit("error",n)))}_write(a,r,t){let n=null;try{this.input.write(a,r,i=>t(i||n))}catch(i){n=i}}_final(a){let r=null;try{this.input.end(null,null,t=>a(t||r))}catch(t){r=t}}_read(){this.output.resume()}static make(a,r){return new e(a,r)}static sanitize(a,r){e.isFinal(a)?a=e.getFinalValue(a):e.isMany(a)&&(a=e.getManyValues(a)),a!=null&&a!==e.none&&(a instanceof Array?a.forEach(t=>t!=null&&r.push(t)):r.push(a))}static convertToTransform(a){return typeof a=="function"?Hx(a):a instanceof Array&&a.length?Wx(a):null}};Ie.none=qx;Ie.final=Ix;Ie.isFinal=jx;Ie.getFinalValue=zx;Ie.many=Vx;Ie.isMany=Gx;Ie.getManyValues=Ux;Ie.chain=Ie.make;Ie.make.Constructor=Ie;b4.exports=Ie});var w4=c((PR,x4)=>{"use strict";var{Transform:Jx}=require("stream"),{StringDecoder:Kx}=require("string_decoder"),A2=class extends Jx{constructor(a){super(Object.assign({},a,{writableObjectMode:!1})),this._buffer=""}_transform(a,r,t){typeof a=="string"?this._transform=this._transformString:(this._stringDecoder=new Kx,this._transform=this._transformBuffer),this._transform(a,r,t)}_transformBuffer(a,r,t){this._buffer+=this._stringDecoder.write(a),this._processBuffer(t)}_transformString(a,r,t){this._buffer+=a.toString(),this._processBuffer(t)}_processBuffer(a){this._buffer&&(this.push(this._buffer,"utf8"),this._buffer=""),a(null)}_flushInput(){this._stringDecoder&&(this._buffer+=this._stringDecoder.end())}_flush(a){this._flushInput(),this._processBuffer(a)}};x4.exports=A2});var B2=c((NR,y4)=>{"use strict";var Zx=w4(),ie={value1:/^(?:[\"\{\[\]\-\d]|true\b|false\b|null\b|\s{1,256})/,string:/^(?:[^\"\\]{1,256}|\\[bfnrt\"\\\/]|\\u[\da-fA-F]{4}|\")/,key1:/^(?:[\"\}]|\s{1,256})/,colon:/^(?:\:|\s{1,256})/,comma:/^(?:[\,\]\}]|\s{1,256})/,ws:/^\s{1,256}/,numberStart:/^\d/,numberDigit:/^\d{0,256}/,numberFraction:/^[\.eE]/,numberExponent:/^[eE]/,numberExpSign:/^[-+]/},Xx=16,Ke=!0;try{new RegExp(".","y"),Ke=!1}catch{}!Ke&&Object.keys(ie).forEach(e=>{let a=ie[e].source.slice(1);a.slice(0,3)==="(?:"&&a.slice(-1)===")"&&(a=a.slice(3,-1)),ie[e]=new RegExp(a,"y")});ie.numberFracStart=ie.numberExpStart=ie.numberStart;ie.numberFracDigit=ie.numberExpDigit=ie.numberDigit;var Qx={true:!0,false:!1,null:null},K1={object:"objectStop",array:"arrayStop","":"done"},ew=e=>String.fromCharCode(parseInt(e.slice(2),16)),aw={b:"\b",f:"\f",n:` +`,r:"\r",t:" ",'"':'"',"\\":"\\","/":"/"},Xa=class e extends Zx{static make(a){return new e(a)}constructor(a){super(Object.assign({},a,{readableObjectMode:!0})),this._packKeys=this._packStrings=this._packNumbers=this._streamKeys=this._streamStrings=this._streamNumbers=!0,a&&("packValues"in a&&(this._packKeys=this._packStrings=this._packNumbers=a.packValues),"packKeys"in a&&(this._packKeys=a.packKeys),"packStrings"in a&&(this._packStrings=a.packStrings),"packNumbers"in a&&(this._packNumbers=a.packNumbers),"streamValues"in a&&(this._streamKeys=this._streamStrings=this._streamNumbers=a.streamValues),"streamKeys"in a&&(this._streamKeys=a.streamKeys),"streamStrings"in a&&(this._streamStrings=a.streamStrings),"streamNumbers"in a&&(this._streamNumbers=a.streamNumbers),this._jsonStreaming=a.jsonStreaming),!this._packKeys&&(this._streamKeys=!0),!this._packStrings&&(this._streamStrings=!0),!this._packNumbers&&(this._streamNumbers=!0),this._done=!1,this._expect=this._jsonStreaming?"done":"value",this._stack=[],this._parent="",this._open_number=!1,this._accumulator=""}_flush(a){this._done=!0,super._flush(r=>{if(r)return a(r);this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),a(null)})}_processBuffer(a){let r,t,n=0;e:for(;;)switch(this._expect){case"value1":case"value":if(ie.value1.lastIndex=n,r=ie.value1.exec(this._buffer),!r){if(this._done||n+Xx<this._buffer.length)return n<this._buffer.length?a(new Error("Parser cannot parse input: expected a value")):a(new Error("Parser has expected a value"));break e}switch(t=r[0],t){case'"':this._streamStrings&&this.push({name:"startString"}),this._expect="string";break;case"{":this.push({name:"startObject"}),this._stack.push(this._parent),this._parent="object",this._expect="key1";break;case"[":this.push({name:"startArray"}),this._stack.push(this._parent),this._parent="array",this._expect="value1";break;case"]":if(this._expect!=="value1")return a(new Error("Parser cannot parse input: unexpected token ']'"));this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),this.push({name:"endArray"}),this._parent=this._stack.pop(),this._expect=K1[this._parent];break;case"-":this._open_number=!0,this._streamNumbers&&(this.push({name:"startNumber"}),this.push({name:"numberChunk",value:"-"})),this._packNumbers&&(this._accumulator="-"),this._expect="numberStart";break;case"0":this._open_number=!0,this._streamNumbers&&(this.push({name:"startNumber"}),this.push({name:"numberChunk",value:"0"})),this._packNumbers&&(this._accumulator="0"),this._expect="numberFraction";break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":this._open_number=!0,this._streamNumbers&&(this.push({name:"startNumber"}),this.push({name:"numberChunk",value:t})),this._packNumbers&&(this._accumulator=t),this._expect="numberDigit";break;case"true":case"false":case"null":if(this._buffer.length-n===t.length&&!this._done)break e;this.push({name:t+"Value",value:Qx[t]}),this._expect=K1[this._parent];break}Ke?this._buffer=this._buffer.slice(t.length):n+=t.length;break;case"keyVal":case"string":if(ie.string.lastIndex=n,r=ie.string.exec(this._buffer),!r){if(n<this._buffer.length&&(this._done||this._buffer.length-n>=6))return a(new Error("Parser cannot parse input: escaped characters"));if(this._done)return a(new Error("Parser has expected a string value"));break e}if(t=r[0],t==='"')this._expect==="keyVal"?(this._streamKeys&&this.push({name:"endKey"}),this._packKeys&&(this.push({name:"keyValue",value:this._accumulator}),this._accumulator=""),this._expect="colon"):(this._streamStrings&&this.push({name:"endString"}),this._packStrings&&(this.push({name:"stringValue",value:this._accumulator}),this._accumulator=""),this._expect=K1[this._parent]);else if(t.length>1&&t.charAt(0)==="\\"){let i=t.length==2?aw[t.charAt(1)]:ew(t);(this._expect==="keyVal"?this._streamKeys:this._streamStrings)&&this.push({name:"stringChunk",value:i}),(this._expect==="keyVal"?this._packKeys:this._packStrings)&&(this._accumulator+=i)}else(this._expect==="keyVal"?this._streamKeys:this._streamStrings)&&this.push({name:"stringChunk",value:t}),(this._expect==="keyVal"?this._packKeys:this._packStrings)&&(this._accumulator+=t);Ke?this._buffer=this._buffer.slice(t.length):n+=t.length;break;case"key1":case"key":if(ie.key1.lastIndex=n,r=ie.key1.exec(this._buffer),!r){if(n<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected an object key"));break e}if(t=r[0],t==='"')this._streamKeys&&this.push({name:"startKey"}),this._expect="keyVal";else if(t==="}"){if(this._expect!=="key1")return a(new Error("Parser cannot parse input: unexpected token '}'"));this.push({name:"endObject"}),this._parent=this._stack.pop(),this._expect=K1[this._parent]}Ke?this._buffer=this._buffer.slice(t.length):n+=t.length;break;case"colon":if(ie.colon.lastIndex=n,r=ie.colon.exec(this._buffer),!r){if(n<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected ':'"));break e}t=r[0],t===":"&&(this._expect="value"),Ke?this._buffer=this._buffer.slice(t.length):n+=t.length;break;case"arrayStop":case"objectStop":if(ie.comma.lastIndex=n,r=ie.comma.exec(this._buffer),!r){if(n<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected ','"));break e}if(this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),t=r[0],t===",")this._expect=this._expect==="arrayStop"?"value":"key";else if(t==="}"||t==="]"){if(t==="}"?this._expect==="arrayStop":this._expect!=="arrayStop")return a(new Error("Parser cannot parse input: expected '"+(this._expect==="arrayStop"?"]":"}")+"'"));this.push({name:t==="}"?"endObject":"endArray"}),this._parent=this._stack.pop(),this._expect=K1[this._parent]}Ke?this._buffer=this._buffer.slice(t.length):n+=t.length;break;case"numberStart":if(ie.numberStart.lastIndex=n,r=ie.numberStart.exec(this._buffer),!r){if(n<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected a starting digit"));break e}t=r[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect=t==="0"?"numberFraction":"numberDigit",Ke?this._buffer=this._buffer.slice(t.length):n+=t.length;break;case"numberDigit":if(ie.numberDigit.lastIndex=n,r=ie.numberDigit.exec(this._buffer),!r){if(n<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected a digit"));break e}if(t=r[0],t)this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),Ke?this._buffer=this._buffer.slice(t.length):n+=t.length;else{if(n<this._buffer.length){this._expect="numberFraction";break}if(this._done){this._expect=K1[this._parent];break}break e}break;case"numberFraction":if(ie.numberFraction.lastIndex=n,r=ie.numberFraction.exec(this._buffer),!r){if(n<this._buffer.length||this._done){this._expect=K1[this._parent];break}break e}t=r[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect=t==="."?"numberFracStart":"numberExpSign",Ke?this._buffer=this._buffer.slice(t.length):n+=t.length;break;case"numberFracStart":if(ie.numberFracStart.lastIndex=n,r=ie.numberFracStart.exec(this._buffer),!r){if(n<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected a fractional part of a number"));break e}t=r[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect="numberFracDigit",Ke?this._buffer=this._buffer.slice(t.length):n+=t.length;break;case"numberFracDigit":if(ie.numberFracDigit.lastIndex=n,r=ie.numberFracDigit.exec(this._buffer),t=r[0],t)this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),Ke?this._buffer=this._buffer.slice(t.length):n+=t.length;else{if(n<this._buffer.length){this._expect="numberExponent";break}if(this._done){this._expect=K1[this._parent];break}break e}break;case"numberExponent":if(ie.numberExponent.lastIndex=n,r=ie.numberExponent.exec(this._buffer),!r){if(n<this._buffer.length){this._expect=K1[this._parent];break}if(this._done){this._expect="done";break}break e}t=r[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect="numberExpSign",Ke?this._buffer=this._buffer.slice(t.length):n+=t.length;break;case"numberExpSign":if(ie.numberExpSign.lastIndex=n,r=ie.numberExpSign.exec(this._buffer),!r){if(n<this._buffer.length){this._expect="numberExpStart";break}if(this._done)return a(new Error("Parser has expected an exponent value of a number"));break e}t=r[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect="numberExpStart",Ke?this._buffer=this._buffer.slice(t.length):n+=t.length;break;case"numberExpStart":if(ie.numberExpStart.lastIndex=n,r=ie.numberExpStart.exec(this._buffer),!r){if(n<this._buffer.length||this._done)return a(new Error("Parser cannot parse input: expected an exponent part of a number"));break e}t=r[0],this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),this._expect="numberExpDigit",Ke?this._buffer=this._buffer.slice(t.length):n+=t.length;break;case"numberExpDigit":if(ie.numberExpDigit.lastIndex=n,r=ie.numberExpDigit.exec(this._buffer),t=r[0],t)this._streamNumbers&&this.push({name:"numberChunk",value:t}),this._packNumbers&&(this._accumulator+=t),Ke?this._buffer=this._buffer.slice(t.length):n+=t.length;else{if(n<this._buffer.length||this._done){this._expect=K1[this._parent];break}break e}break;case"done":if(ie.ws.lastIndex=n,r=ie.ws.exec(this._buffer),!r){if(n<this._buffer.length){if(this._jsonStreaming){this._expect="value";break}return a(new Error("Parser cannot parse input: unexpected characters"))}break e}t=r[0],this._open_number&&(this._streamNumbers&&this.push({name:"endNumber"}),this._open_number=!1,this._packNumbers&&(this.push({name:"numberValue",value:this._accumulator}),this._accumulator="")),Ke?this._buffer=this._buffer.slice(t.length):n+=t.length;break}!Ke&&(this._buffer=this._buffer.slice(n)),a(null)}};Xa.parser=Xa.make;Xa.make.Constructor=Xa;y4.exports=Xa});var C4=c((TR,_4)=>{"use strict";var rw=e=>e.on("data",a=>e.emit(a.name,a.value));_4.exports=rw});var D4=c((kR,F4)=>{"use strict";var P2=B2(),tw=C4(),N2=e=>tw(new P2(e));N2.Parser=P2;N2.parser=P2.parser;F4.exports=N2});var E4=c((LR,S4)=>{"use strict";var{Transform:nw}=require("stream"),Z1=class e extends nw{static stringFilter(a,r){return t=>{let n=t.join(r);return n.length===a.length&&n===a||n.length>a.length&&n.substr(0,a.length)===a&&n.substr(a.length,r.length)===r}}static regExpFilter(a,r){return t=>a.test(t.join(r))}static arrayReplacement(a){return()=>a}constructor(a){super(Object.assign({},a,{writableObjectMode:!0,readableObjectMode:!0})),this._transform=this._check,this._stack=[];let r=a&&a.filter,t=a&&a.pathSeparator||".";typeof r=="string"?this._filter=e.stringFilter(r,t):typeof r=="function"?this._filter=r:r instanceof RegExp&&(this._filter=e.regExpFilter(r,t));let n=a&&a.replacement;typeof n=="function"?this._replacement=n:this._replacement=e.arrayReplacement(n||e.defaultReplacement),this._allowEmptyReplacement=a&&a.allowEmptyReplacement,this._streamKeys=!0,a&&("streamValues"in a&&(this._streamKeys=a.streamValues),"streamKeys"in a&&(this._streamKeys=a.streamKeys)),this._once=a&&a.once,this._previousToken=""}_check(a,r,t){switch(a.name){case"startObject":case"startArray":case"startString":case"startNumber":case"nullValue":case"trueValue":case"falseValue":typeof this._stack[this._stack.length-1]=="number"&&++this._stack[this._stack.length-1];break;case"keyValue":this._stack[this._stack.length-1]=a.value;break;case"numberValue":this._previousToken!=="endNumber"&&typeof this._stack[this._stack.length-1]=="number"&&++this._stack[this._stack.length-1];break;case"stringValue":this._previousToken!=="endString"&&typeof this._stack[this._stack.length-1]=="number"&&++this._stack[this._stack.length-1];break}if(this._previousToken=a.name,this._checkChunk(a))return t(null);switch(a.name){case"startObject":this._stack.push(null);break;case"startArray":this._stack.push(-1);break;case"endObject":case"endArray":this._stack.pop();break}t(null)}_passObject(a,r,t){switch(this.push(a),a.name){case"startObject":case"startArray":++this._depth;break;case"endObject":case"endArray":--this._depth;break}this._depth||(this._transform=this._once?this._skip:this._check),t(null)}_pass(a,r,t){this.push(a),t(null)}_skipObject(a,r,t){switch(a.name){case"startObject":case"startArray":++this._depth;break;case"endObject":case"endArray":--this._depth;break}this._depth||(this._transform=this._once?this._pass:this._check),t(null)}_skip(a,r,t){t(null)}};Z1.defaultReplacement=[{name:"nullValue",value:null}];var T2=(e,a)=>function(r,t,n){if(this._expected){let i=this._expected;if(this._expected="",this._transform=this._once?this._skip:this._check,i===r.name)this.push(r);else return this._transform(r,t,n)}else this.push(r),r.name===e&&(this._expected=a);n(null)};Z1.prototype._passNumber=T2("endNumber","numberValue");Z1.prototype._passString=T2("endString","stringValue");Z1.prototype._passKey=T2("endKey","keyValue");var k2=(e,a)=>function(r,t,n){if(this._expected){let i=this._expected;if(this._expected="",this._transform=this._once?this._pass:this._check,i!==r.name)return this._transform(r,t,n)}else r.name===e&&(this._expected=a);n(null)};Z1.prototype._skipNumber=k2("endNumber","numberValue");Z1.prototype._skipString=k2("endString","stringValue");Z1.prototype._skipKey=k2("endKey","keyValue");S4.exports=Z1});var L2=c((OR,A4)=>{"use strict";var iw=E2(),pw=B2(),sw=(e,a)=>new iw([new pw(a),e(a)],Object.assign({},a,{writableObjectMode:!1,readableObjectMode:!0}));A4.exports=sw});var P4=c((MR,B4)=>{"use strict";var dw=E4(),ow=L2(),Qa=class e extends dw{static make(a){return new e(a)}static withParser(a){return ow(e.make,a)}_checkChunk(a){switch(a.name){case"startObject":case"startArray":if(this._filter(this._stack,a))return this.push(a),this._transform=this._passObject,this._depth=1,!0;break;case"startString":if(this._filter(this._stack,a))return this.push(a),this._transform=this._passString,!0;break;case"startNumber":if(this._filter(this._stack,a))return this.push(a),this._transform=this._passNumber,!0;break;case"nullValue":case"trueValue":case"falseValue":case"stringValue":case"numberValue":if(this._filter(this._stack,a))return this.push(a),this._transform=this._once?this._skip:this._check,!0;break}return!1}};Qa.pick=Qa.make;Qa.make.Constructor=Qa;B4.exports=Qa});var k4=c((RR,T4)=>{"use strict";var lw=require("events"),N4=e=>function(){this.done?this.done=!1:this.stack.push(this.current,this.key),this.current=new e,this.key=null},ua=class e extends lw{static connectTo(a,r){return new e(r).connectTo(a)}constructor(a){super(),this.stack=[],this.current=this.key=null,this.done=!0,a&&(this.reviver=typeof a.reviver=="function"&&a.reviver,this.reviver&&(this.stringValue=this._saveValue=this._saveValueWithReviver),a.numberAsString&&(this.numberValue=this.stringValue))}connectTo(a){return a.on("data",r=>{this[r.name]&&(this[r.name](r.value),this.done&&this.emit("done",this))}),this}get depth(){return(this.stack.length>>1)+(this.done?0:1)}get path(){let a=[];for(let r=0;r<this.stack.length;r+=2){let t=this.stack[r+1];a.push(t===null?this.stack[r].length:t)}return a}dropToLevel(a){if(a<this.depth)if(a){let r=a-1<<1;this.current=this.stack[r],this.key=this.stack[r+1],this.stack.splice(r)}else this.stack=[],this.current=this.key=null,this.done=!0;return this}consume(a){return this[a.name]&&this[a.name](a.value),this}keyValue(a){this.key=a}numberValue(a){this._saveValue(parseFloat(a))}nullValue(){this._saveValue(null)}trueValue(){this._saveValue(!0)}falseValue(){this._saveValue(!1)}endObject(){if(this.stack.length){let a=this.current;this.key=this.stack.pop(),this.current=this.stack.pop(),this._saveValue(a)}else this.done=!0}_saveValue(a){this.done?this.current=a:this.current instanceof Array?this.current.push(a):(this.current[this.key]=a,this.key=null)}_saveValueWithReviver(a){this.done?this.current=this.reviver("",a):this.current instanceof Array?(a=this.reviver(""+this.current.length,a),this.current.push(a),a===void 0&&delete this.current[this.current.length-1]):(a=this.reviver(this.key,a),a!==void 0&&(this.current[this.key]=a),this.key=null)}};ua.prototype.stringValue=ua.prototype._saveValue;ua.prototype.startObject=N4(Object);ua.prototype.startArray=N4(Array);ua.prototype.endArray=ua.prototype.endObject;T4.exports=ua});var O4=c((qR,L4)=>{"use strict";var{Transform:uw}=require("stream"),mw=k4(),O2=class{constructor(a){this.depth=a}startObject(){++this.depth}endObject(){--this.depth}startArray(){++this.depth}endArray(){--this.depth}},M2=class extends uw{constructor(a){super(Object.assign({},a,{writableObjectMode:!0,readableObjectMode:!0})),a&&(this.objectFilter=a.objectFilter,this.includeUndecided=a.includeUndecided),typeof this.objectFilter!="function"&&(this._filter=this._transform),this._transform=this._wait||this._filter,this._assembler=new mw(a)}_transform(a,r,t){this._assembler[a.name]&&(this._assembler[a.name](a.value),this._assembler.depth===this._level&&this._push()),t(null)}_filter(a,r,t){if(this._assembler[a.name]){this._assembler[a.name](a.value);let n=this.objectFilter(this._assembler);if(n)return this._assembler.depth===this._level&&(this._push(),this._transform=this._filter),this._transform=this._accept,t(null);if(n===!1)return this._saved_assembler=this._assembler,this._assembler=new O2(this._saved_assembler.depth),this._saved_assembler.dropToLevel(this._level),this._assembler.depth===this._level&&(this._assembler=this._saved_assembler,this._transform=this._filter),this._transform=this._reject,t(null);this._assembler.depth===this._level&&this._push(!this.includeUndecided)}t(null)}_accept(a,r,t){this._assembler[a.name]&&(this._assembler[a.name](a.value),this._assembler.depth===this._level&&(this._push(),this._transform=this._filter)),t(null)}_reject(a,r,t){this._assembler[a.name]&&(this._assembler[a.name](a.value),this._assembler.depth===this._level&&(this._assembler=this._saved_assembler,this._transform=this._filter)),t(null)}};L4.exports=M2});var R4=c((IR,M4)=>{"use strict";var cw=O4(),hw=L2(),er=class e extends cw{static make(a){return new e(a)}static withParser(a){return hw(e.make,a)}constructor(a){super(a),this._level=1,this._counter=0}_wait(a,r,t){return a.name!=="startArray"?t(new Error("Top-level object should be an array.")):(this._transform=this._filter,this._transform(a,r,t))}_push(a){this._assembler.current.length&&(a?(++this._counter,this._assembler.current.pop()):this.push({key:this._counter++,value:this._assembler.current.pop()}))}};er.streamArray=er.make;er.make.Constructor=er;M4.exports=er});var j4=c(Nr=>{"use strict";var _0=Nr&&Nr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Nr,"__esModule",{value:!0});Nr.useStreamJSON=void 0;var fw=require("@raycast/api"),q4=_0(c0()),an=require("node:fs"),R2=require("node:fs/promises"),y0=require("node:path"),I4=require("node:stream/promises"),Qt=require("react"),vw=_0(E2()),gw=D4(),bw=_0(P4()),xw=_0(R4()),V4=g2(),ww=zt(),yw=Wa();async function en(e,a,r){if(typeof e=="object"||e.startsWith("http://")||e.startsWith("https://"))return await _w(e,a,r);if(e.startsWith("file://"))return await Cw((0,y0.normalize)(decodeURIComponent(new URL(e).pathname)),a,r?.signal?r.signal:void 0);throw new Error("Only HTTP(S) or file URLs are supported")}async function _w(e,a,r){let t=await(0,q4.default)(e,r);if(!t.ok)throw new Error("Failed to fetch URL");if(!(0,V4.isJSON)(t.headers.get("content-type")))throw new Error("URL does not return JSON");if(!t.body)throw new Error("Failed to retrieve expected JSON content: Response body is missing or inaccessible.");await(0,I4.pipeline)(t.body,(0,an.createWriteStream)(a),r?.signal?{signal:r.signal}:void 0)}async function Cw(e,a,r){await(0,I4.pipeline)((0,an.createReadStream)(e),(0,an.createWriteStream)(a),r?{signal:r}:void 0)}async function Fw(e,a,r,t,n){let i=(0,y0.join)(a,r);try{await(0,R2.stat)(a)}catch{(0,an.mkdirSync)(a,{recursive:!0}),await en(e,i,n);return}if(t){await en(e,i,n);return}let p;try{p=await(0,R2.stat)(i)}catch{await en(e,i,n);return}if(typeof e=="object"||e.startsWith("http://")||e.startsWith("https://")){let s=await(0,q4.default)(e,{...n,method:"HEAD"});if(!s.ok)throw new Error("Could not fetch URL");if(!(0,V4.isJSON)(s.headers.get("content-type")))throw new Error("URL does not return JSON");let d=Date.parse(s.headers.get("last-modified")??"");if(p.size===0||Number.isNaN(d)||d>p.mtimeMs){await en(e,i,n);return}}else if(e.startsWith("file://"))try{(await(0,R2.stat)((0,y0.normalize)(decodeURIComponent(new URL(e).pathname)))).mtimeMs>p.mtimeMs&&await en(e,i,n)}catch{throw new Error("Source file could not be read")}else throw new Error("Only HTTP(S) or file URLs are supported")}async function*Dw(e,a,r,t,n,i){let p=[],s=new vw.default([(0,an.createReadStream)(e),t?bw.default.withParser({filter:t}):(0,gw.parser)(),new xw.default,d=>i?.(d.value)??d.value]);r?.addEventListener("abort",()=>{s.destroy()});try{for await(let d of s){if(r?.aborted)return[];(!n||n(d))&&p.push(d),p.length>=a&&(yield p,p=[])}}catch(d){throw s.destroy(),d}return p.length>0&&(yield p),[]}function Sw(e,a){let{initialData:r,execute:t,keepPreviousData:n,onError:i,onData:p,onWillExecute:s,failureToastOptions:d,dataPath:h,filter:m,transform:g,pageSize:w=20,...S}=a??{},_=(0,Qt.useRef)(),F=(0,Qt.useRef)(),D={initialData:r,execute:t,keepPreviousData:n,onError:i,onData:p,onWillExecute:s,failureToastOptions:d},B=(0,Qt.useRef)(null),k=(0,Qt.useRef)(null),C=(0,Qt.useRef)(!1);return(0,ww.useCachedPromise)((R,j,J,I,W,X)=>async({page:be})=>{let O=(0,yw.hash)(R)+".json",$=fw.environment.supportPath;if(be===0){k.current?.abort(),k.current=new AbortController;let ee=(0,y0.join)($,O),xe=!!(_.current&&_.current!==R&&F.current&&F.current===ee);_.current=R,F.current=ee,await Fw(R,$,O,xe,{...J,signal:k.current?.signal}),B.current=Dw(ee,j,k.current?.signal,I,W,X)}if(!B.current)return{hasMore:C.current,data:[]};let{value:se,done:q}=await B.current.next();return C.current=!q,{hasMore:C.current,data:se??[]}},[e,w,S,h,m,g],D)}Nr.useStreamJSON=Sw});var H4=c(Tr=>{"use strict";var V2=Tr&&Tr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Tr,"__esModule",{value:!0});Tr.useSQL=void 0;var X1=require("react/jsx-runtime"),h1=require("@raycast/api"),Ew=require("node:fs"),C0=require("node:fs/promises"),U4=V2(require("node:os")),G4=V2(require("node:child_process")),z4=V2(require("node:path")),F0=require("react"),Aw=wr(),Bw=sa(),D0=w0(),Pw=It(),Nw=Wa();function Tw(e,a,r){let{permissionPriming:t,...n}=r||{},[i,p]=(0,F0.useState)(),s=(0,Bw.useLatest)(r||{}),d=(0,F0.useRef)(),h=(0,F0.useCallback)(g=>{console.error(g);let w=g instanceof Error&&g.message.includes("authorization denied")?new I2("You do not have permission to access the database."):g;kw(w)?p((0,X1.jsx)(Lw,{priming:s.current.permissionPriming})):s.current.onError?s.current.onError(w):h1.environment.launchType!==h1.LaunchType.Background&&(0,Pw.showFailureToast)(w,{title:"Cannot query the data"})},[s]),m=(0,F0.useMemo)(()=>{if(!(0,Ew.existsSync)(e))throw new Error("The database does not exist");let g;return async(w,S)=>{let _=d.current?.signal,F=G4.default.spawn("sqlite3",["--json","--readonly",w,S],{signal:_}),D=(0,D0.getSpawnedPromise)(F),[{error:B,exitCode:k,signal:C},R,j]=await(0,D0.getSpawnedResult)(F,{encoding:"utf-8"},D);if(S0(_),j.match("(5)")||j.match("(14)")){if(!g){let W=z4.default.join(U4.default.tmpdir(),"useSQL",(0,Nw.hash)(w));await(0,C0.mkdir)(W,{recursive:!0}),S0(_),g=z4.default.join(W,"db.db"),await(0,C0.copyFile)(w,g),await(0,C0.writeFile)(g+"-shm",""),await(0,C0.writeFile)(g+"-wal",""),S0(_)}let J=G4.default.spawn("sqlite3",["--json","--readonly","--vfs","unix-none",g,S],{signal:_}),I=(0,D0.getSpawnedPromise)(J);[{error:B,exitCode:k,signal:C},R,j]=await(0,D0.getSpawnedResult)(J,{encoding:"utf-8"},I),S0(_)}if(B||k!==0||C!==null)throw new Error(j);return JSON.parse(R.trim()||"[]")}},[e]);return{...(0,Aw.usePromise)(m,[e,a],{...n,onError:h}),permissionView:i}}Tr.useSQL=Tw;var I2=class extends Error{constructor(a){super(a),this.name="PermissionError"}};function kw(e){return e instanceof Error&&e.name==="PermissionError"}var $4=parseInt(U4.default.release().split(".")[0])>=22,q2=$4?"Settings":"Preferences";function Lw(e){let a=$4?{title:"Open System Settings -> Privacy",target:"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"}:{title:"Open System Preferences -> Security",target:"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"};return h1.environment.commandMode==="menu-bar"?(0,X1.jsxs)(h1.MenuBarExtra,{icon:h1.Icon.Warning,title:h1.environment.commandName,children:[(0,X1.jsx)(h1.MenuBarExtra.Item,{title:"Raycast needs full disk access",tooltip:`You can revert this access in ${q2} whenever you want`}),e.priming?(0,X1.jsx)(h1.MenuBarExtra.Item,{title:e.priming,tooltip:`You can revert this access in ${q2} whenever you want`}):null,(0,X1.jsx)(h1.MenuBarExtra.Separator,{}),(0,X1.jsx)(h1.MenuBarExtra.Item,{title:a.title,onAction:()=>(0,h1.open)(a.target)})]}):(0,X1.jsx)(h1.List,{children:(0,X1.jsx)(h1.List.EmptyView,{icon:{source:{light:"https://raycast.com/uploads/extensions-utils-security-permissions-light.png",dark:"https://raycast.com/uploads/extensions-utils-security-permissions-dark.png"}},title:"Raycast needs full disk access.",description:`${e.priming?e.priming+` +`:""}You can revert this access in ${q2} whenever you want.`,actions:(0,X1.jsx)(h1.ActionPanel,{children:(0,X1.jsx)(h1.Action.Open,{...a})})})})}function S0(e){if(e?.aborted){let a=new Error("aborted");throw a.name="AbortError",a}}});var Y4=c(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.useForm=kr.FormValidation=void 0;var ma=require("react"),W4=sa(),G2;(function(e){e.Required="required"})(G2||(kr.FormValidation=G2={}));function j2(e,a){if(e){if(typeof e=="function")return e(a);if(e===G2.Required){let r=typeof a<"u"&&a!==null;if(r)switch(typeof a){case"string":r=a.length>0;break;case"object":Array.isArray(a)?r=a.length>0:a instanceof Date&&(r=a.getTime()>0);break;default:break}if(!r)return"The item is required"}}}function Ow(e){let{onSubmit:a,validation:r,initialValues:t={}}=e,[n,i]=(0,ma.useState)(t),[p,s]=(0,ma.useState)({}),d=(0,ma.useRef)({}),h=(0,W4.useLatest)(r||{}),m=(0,W4.useLatest)(a),g=(0,ma.useCallback)(B=>{d.current[B]?.focus()},[d]),w=(0,ma.useCallback)(async B=>{let k=!1;for(let[R,j]of Object.entries(h.current)){let J=j2(j,B[R]);J&&(k||(k={},g(R)),k[R]=J)}if(k)return s(k),!1;let C=await m.current(B);return typeof C=="boolean"?C:!0},[h,m,g]),S=(0,ma.useCallback)((B,k)=>{s(C=>({...C,[B]:k}))},[s]),_=(0,ma.useCallback)(function(B,k){i(C=>({...C,[B]:typeof k=="function"?k(C[B]):k}))},[i]),F=(0,ma.useMemo)(()=>new Proxy({},{get(B,k){let C=h.current[k],R=n[k];return{onChange(j){p[k]&&(j2(C,j)||S(k,void 0)),_(k,j)},onBlur(j){let J=j2(C,j.target.value);J&&S(k,J)},error:p[k],id:k,value:typeof R>"u"?null:R,ref:j=>{d.current[k]=j}}}}),[p,h,S,n,d,_]),D=(0,ma.useCallback)(B=>{s({}),Object.entries(d.current).forEach(([k,C])=>{B?.[k]||C?.reset()}),B&&i(B)},[i,s,d]);return{handleSubmit:w,setValidationError:S,setValue:_,values:n,itemProps:F,focus:g,reset:D}}kr.useForm=Ow});var K4=c(E0=>{"use strict";Object.defineProperty(E0,"__esModule",{value:!0});E0.useAI=void 0;var J4=require("react"),Mw=require("@raycast/api"),Rw=wr();function qw(e,a={}){let{creativity:r,stream:t,model:n,...i}=a,[p,s]=(0,J4.useState)(""),d=(0,J4.useRef)(),{isLoading:h,error:m,revalidate:g}=(0,Rw.usePromise)(async(w,S,_)=>{s("");let F=Mw.AI.ask(w,{creativity:S,model:n,signal:d.current?.signal});_===!1?s(await F):(F.on("data",D=>{s(B=>B+D)}),await F)},[e,r,t],{...i,abortable:d});return{isLoading:h,data:p,error:m,revalidate:g}}E0.useAI=qw});var Q4=c(A0=>{"use strict";Object.defineProperty(A0,"__esModule",{value:!0});A0.useFrecencySorting=void 0;var z2=require("react"),Z4=sa(),Iw=i0(),Vw=10,X4=24*60*60*1e3,jw=Math.log(2)/(Vw*X4),Gw={Default:100,Embed:0,Bookmark:140};function zw(e){let a=Date.now(),r=e?e.lastVisited:0,t=e?e.frecency:0,n=(a-r)/X4,i=Gw.Default*Math.exp(-jw*n),p=t+i;return{lastVisited:a,frecency:p}}var Uw=e=>{if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||!e||!("id"in e)||typeof e.id!="string"))throw new Error("Specify a key function or make sure your items have an 'id' property");return e.id};function $w(e,a){let r=(0,Z4.useLatest)(a?.key||Uw),t=(0,Z4.useLatest)(a?.sortUnvisited),[n,i]=(0,Iw.useCachedState)(`raycast_frecency_${a?.namespace}`,{}),p=(0,z2.useCallback)(async function(m){let g=r.current(m);i(w=>{let S=w[g],_=zw(S);return{...w,[g]:_}})},[r,i]),s=(0,z2.useCallback)(async function(m){let g=r.current(m);i(w=>{let S={...w};return delete S[g],S})},[r,i]);return{data:(0,z2.useMemo)(()=>e?e.sort((h,m)=>{let g=n[r.current(h)],w=n[r.current(m)];return g&&!w?-1:!g&&w?1:g&&w?w.frecency-g.frecency:t.current?t.current(h,m):0}):[],[n,e,r,t]),visitItem:p,resetRanking:s}}A0.useFrecencySorting=$w});var ro=c(B0=>{"use strict";Object.defineProperty(B0,"__esModule",{value:!0});B0.useLocalStorage=void 0;var U2=require("@raycast/api"),eo=It(),ao=Wa(),Hw=wr();function Ww(e,a){let{data:r,isLoading:t,mutate:n}=(0,Hw.usePromise)(async s=>{let d=await U2.LocalStorage.getItem(s);return typeof d<"u"?JSON.parse(d,ao.reviver):a},[e]);async function i(s){try{await n(U2.LocalStorage.setItem(e,JSON.stringify(s,ao.replacer)),{optimisticUpdate(d){return d}})}catch(d){await(0,eo.showFailureToast)(d,{title:"Failed to set value in local storage"})}}async function p(){try{await n(U2.LocalStorage.removeItem(e),{optimisticUpdate(){}})}catch(s){await(0,eo.showFailureToast)(s,{title:"Failed to remove value from local storage"})}}return{value:r,setValue:i,removeValue:p,isLoading:t}}B0.useLocalStorage=Ww});var so=c(Lr=>{"use strict";Object.defineProperty(Lr,"__esModule",{value:!0});Lr.slightlyLighterColor=Lr.slightlyDarkerColor=void 0;function Yw(e){let a=0,r=0,t=0;if(e.length===4)a=parseInt(`${e[1]}${e[1]}`,16),r=parseInt(`${e[2]}${e[2]}`,16),t=parseInt(`${e[3]}${e[3]}`,16);else if(e.length===7)a=parseInt(`${e[1]}${e[2]}`,16),r=parseInt(`${e[3]}${e[4]}`,16),t=parseInt(`${e[5]}${e[6]}`,16);else throw new Error(`Malformed hex color: ${e}`);return{r:a,g:r,b:t}}function Jw({r:e,g:a,b:r}){let t=e.toString(16),n=a.toString(16),i=r.toString(16);return t.length===1&&(t=`0${t}`),n.length===1&&(n=`0${n}`),i.length===1&&(i=`0${i}`),`#${t}${n}${i}`}function Kw({r:e,g:a,b:r}){e/=255,a/=255,r/=255;let t=Math.min(e,a,r),n=Math.max(e,a,r),i=n-t,p=0,s=0,d=0;return i===0?p=0:n===e?p=(a-r)/i%6:n===a?p=(r-e)/i+2:p=(e-a)/i+4,p=Math.round(p*60),p<0&&(p+=360),d=(n+t)/2,s=i===0?0:i/(1-Math.abs(2*d-1)),s=+(s*100).toFixed(1),d=+(d*100).toFixed(1),{h:p,s,l:d}}function Zw({h:e,s:a,l:r}){a/=100,r/=100;let t=(1-Math.abs(2*r-1))*a,n=t*(1-Math.abs(e/60%2-1)),i=r-t/2,p=0,s=0,d=0;return e>=0&&e<60?(p=t,s=n,d=0):e>=60&&e<120?(p=n,s=t,d=0):e>=120&&e<180?(p=0,s=t,d=n):e>=180&&e<240?(p=0,s=n,d=t):e>=240&&e<300?(p=n,s=0,d=t):e>=300&&e<360&&(p=t,s=0,d=n),p=Math.round((p+i)*255),s=Math.round((s+i)*255),d=Math.round((d+i)*255),{r:p,g:s,b:d}}function to(e){return Kw(Yw(e))}function no(e){return Jw(Zw(e))}function io(e,a,r){return a<r?e<a?a:e>r?r:e:e<r?r:e>a?a:e}var po=12;function Xw(e){let a=to(e);return no({h:a.h,s:a.s,l:io(a.l-po,0,100)})}Lr.slightlyDarkerColor=Xw;function Qw(e){let a=to(e);return no({h:a.h,s:a.s,l:io(a.l+po,0,100)})}Lr.slightlyLighterColor=Qw});var uo=c(P0=>{"use strict";Object.defineProperty(P0,"__esModule",{value:!0});P0.getAvatarIcon=void 0;var oo=so();function Or(e,a){let r=e.charCodeAt(a);if(Number.isNaN(r))return["",a];if(r<55296||r>57343)return[e.charAt(a),a];if(55296<=r&&r<=56319){if(e.length<=a+1)throw new Error("High surrogate without following low surrogate");let n=e.charCodeAt(a+1);if(56320>n||n>57343)throw new Error("High surrogate without following low surrogate");return[e.charAt(a)+e.charAt(a+1),a+1]}if(a===0)throw new Error("Low surrogate without preceding high surrogate");let t=e.charCodeAt(a-1);if(55296>t||t>56319)throw new Error("Low surrogate without preceding high surrogate");return[e.charAt(a+1),a+1]}var lo=["#DC829A","#D64854","#D47600","#D36CDD","#52A9E4","#7871E8","#70920F","#43B93A","#EB6B3E","#26B795","#D85A9B","#A067DC","#BD9500","#5385D9"];function ey(e,a){let r=e.trim().split(" "),t;if(r.length==1&&Or(r[0],0)[0])t=Or(r[0],0)[0];else if(r.length>1){let d=Or(r[0],0)[0]||"",h=Or(r[r.length-1],0)[0]??"";t=d+h}else t="";let n;if(a?.background)n=a?.background;else{let d=0,[h,m]=Or(t,0);for(;h;)d+=h.charCodeAt(0),[h,m]=Or(t,m+1);let g=d%lo.length;n=lo[g]}let p=50-0;return`data:image/svg+xml,${`<svg width="100px" height="100px"> + ${a?.gradient!==!1?`<defs> + <linearGradient id="Gradient" x1="0.25" x2="0.75" y1="0" y2="1"> + <stop offset="0%" stop-color="${(0,oo.slightlyLighterColor)(n)}"/> + <stop offset="50%" stop-color="${n}"/> + <stop offset="100%" stop-color="${(0,oo.slightlyDarkerColor)(n)}"/> + </linearGradient> + </defs>`:""} + <circle cx="50" cy="50" r="${p}" fill="${a?.gradient!==!1?"url(#Gradient)":n}" /> + ${t?`<text x="50" y="80" font-size="${p-1}" font-family="Inter, sans-serif" text-anchor="middle" fill="white">${t.toUpperCase()}</text>`:""} + </svg> + `.replaceAll(` +`,"")}`}P0.getAvatarIcon=ey});var co=c(N0=>{"use strict";Object.defineProperty(N0,"__esModule",{value:!0});N0.getFavicon=void 0;var mo=require("@raycast/api"),ay=require("url");function ry(e,a){try{let t=(typeof e=="string"?new ay.URL(e):e).hostname;return{source:`https://www.google.com/s2/favicons?sz=${a?.size??64}&domain=${t}`,fallback:a?.fallback??mo.Icon.Link,mask:a?.mask}}catch(r){return console.error(r),mo.Icon.Link}}N0.getFavicon=ry});var vo=c(T0=>{"use strict";Object.defineProperty(T0,"__esModule",{value:!0});T0.getProgressIcon=void 0;var ho=require("@raycast/api");function fo(e,a,r,t){let n=(t-90)*Math.PI/180;return{x:e+r*Math.cos(n),y:a+r*Math.sin(n)}}function ty(e,a,r,t,n){let i=fo(e,a,r,n),p=fo(e,a,r,t),s=n-t<=180?"0":"1";return["M",i.x,i.y,"A",r,r,0,s,0,p.x,p.y].join(" ")}function ny(e,a=ho.Color.Red,r){let t=r?.background||(ho.environment.appearance==="light"?"black":"white"),n=r?.backgroundOpacity||.1,i=10,s=50-5-i/2;return`data:image/svg+xml,${`<svg width="100px" height="100px"> + <circle cx="50" cy="50" r="${s}" stroke-width="${i}" stroke="${e<1?t:a}" opacity="${e<1?n:"1"}" fill="none" /> + ${e>0&&e<1?`<path d="${ty(50,50,s,0,e*360)}" stroke="${a}" stroke-width="${i}" fill="none" />`:""} + </svg> + `.replaceAll(` +`,"")}`}T0.getProgressIcon=ny});var go=c(ca=>{"use strict";var iy=ca&&ca.__createBinding||(Object.create?function(e,a,r,t){t===void 0&&(t=r);var n=Object.getOwnPropertyDescriptor(a,r);(!n||("get"in n?!a.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return a[r]}}),Object.defineProperty(e,t,n)}:function(e,a,r,t){t===void 0&&(t=r),e[t]=a[r]}),$2=ca&&ca.__exportStar||function(e,a){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(a,r)&&iy(a,e,r)};Object.defineProperty(ca,"__esModule",{value:!0});$2(uo(),ca);$2(co(),ca);$2(vo(),ca)});var bo=c(n1=>{"use strict";Object.defineProperty(n1,"__esModule",{value:!0});n1.zoomService=n1.slackService=n1.linearService=n1.jiraService=n1.googleService=n1.githubService=n1.asanaService=void 0;var f1=require("@raycast/api"),ar=H2(),k0={asana:"1191201745684312",github:"7235fe8d42157f1f38c0",linear:"c8ff37b9225c3c9aefd7d66ea0e5b6f1",slack:"851756884692.5546927290212"},Pa=e=>`data:image/svg+xml,${e}`,rr={asana:Pa('<svg xmlns="http://www.w3.org/2000/svg" width="251" height="232" fill="none"><path fill="#F06A6A" d="M179.383 54.373c0 30.017-24.337 54.374-54.354 54.374-30.035 0-54.373-24.338-54.373-54.374C70.656 24.338 94.993 0 125.029 0c30.017 0 54.354 24.338 54.354 54.373ZM54.393 122.33C24.376 122.33.02 146.668.02 176.685c0 30.017 24.337 54.373 54.373 54.373 30.035 0 54.373-24.338 54.373-54.373 0-30.017-24.338-54.355-54.373-54.355Zm141.253 0c-30.035 0-54.373 24.338-54.373 54.374 0 30.035 24.338 54.373 54.373 54.373 30.017 0 54.374-24.338 54.374-54.373 0-30.036-24.338-54.374-54.374-54.374Z"/></svg>'),github:{source:Pa('<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>'),tintColor:f1.Color.PrimaryText},google:Pa('<svg xmlns="http://www.w3.org/2000/svg" style="display:block" viewBox="0 0 48 48"><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"/><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"/><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"/><path fill="none" d="M0 0h48v48H0z"/></svg>'),jira:Pa('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="2361" height="2500" viewBox="2.59 0 214.091 224"><linearGradient id="a" x1="102.4" x2="56.15" y1="218.63" y2="172.39" gradientTransform="matrix(1 0 0 -1 0 264)" gradientUnits="userSpaceOnUse"><stop offset=".18" stop-color="#0052cc"/><stop offset="1" stop-color="#2684ff"/></linearGradient><linearGradient xlink:href="#a" id="b" x1="114.65" x2="160.81" y1="85.77" y2="131.92"/><path fill="#2684ff" d="M214.06 105.73 117.67 9.34 108.33 0 35.77 72.56 2.59 105.73a8.89 8.89 0 0 0 0 12.54l66.29 66.29L108.33 224l72.55-72.56 1.13-1.12 32.05-32a8.87 8.87 0 0 0 0-12.59zm-105.73 39.39L75.21 112l33.12-33.12L141.44 112z"/><path fill="url(#a)" d="M108.33 78.88a55.75 55.75 0 0 1-.24-78.61L35.62 72.71l39.44 39.44z"/><path fill="url(#b)" d="m141.53 111.91-33.2 33.21a55.77 55.77 0 0 1 0 78.86L181 151.35z"/></svg>'),linear:{source:{light:Pa('<svg xmlns="http://www.w3.org/2000/svg" fill="#222326" width="200" height="200" viewBox="0 0 100 100"><path d="M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z"/></svg>'),dark:Pa('<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" width="200" height="200" viewBox="0 0 100 100"><path d="M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z" /></svg>')}},slack:Pa('<svg xmlns="http://www.w3.org/2000/svg" viewBox="73 73 124 124"><style>.st0{fill:#e01e5a}.st1{fill:#36c5f0}.st2{fill:#2eb67d}.st3{fill:#ecb22e}</style><path d="M99.4 151.2c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h12.9v12.9zM105.9 151.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9v-32.3z" class="st0"/><path d="M118.8 99.4c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v12.9h-12.9zM118.8 105.9c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H86.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3z" class="st1"/><path d="M170.6 118.8c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9h-12.9v-12.9zM164.1 118.8c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9V86.5c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9v32.3z" class="st2"/><path d="M151.2 170.6c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9v-12.9h12.9zM151.2 164.1c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9h-32.3z" class="st3"/></svg>'),zoom:Pa('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 351.845 80"><path d="M73.786 78.835H10.88A10.842 10.842 0 0 1 .833 72.122a10.841 10.841 0 0 1 2.357-11.85L46.764 16.7h-31.23C6.954 16.699 0 9.744 0 1.165h58.014c4.414 0 8.357 2.634 10.046 6.712a10.843 10.843 0 0 1-2.356 11.85L22.13 63.302h36.122c8.58 0 15.534 6.955 15.534 15.534Zm278.059-48.544C351.845 13.588 338.256 0 321.553 0c-8.934 0-16.975 3.89-22.524 10.063C293.48 3.89 285.44 0 276.505 0c-16.703 0-30.291 13.588-30.291 30.291v48.544c8.579 0 15.534-6.955 15.534-15.534v-33.01c0-8.137 6.62-14.757 14.757-14.757s14.757 6.62 14.757 14.757v33.01c0 8.58 6.955 15.534 15.534 15.534V30.291c0-8.137 6.62-14.757 14.757-14.757s14.758 6.62 14.758 14.757v33.01c0 8.58 6.954 15.534 15.534 15.534V30.291ZM238.447 40c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.908-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S173.98 26.488 173.98 40s10.953 24.466 24.466 24.466S222.913 53.512 222.913 40Zm-70.68 0c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S87.767 26.488 87.767 40s10.954 24.466 24.466 24.466S136.699 53.512 136.699 40Z" style="fill:#0b5cff"/></svg>')},py=e=>new ar.OAuthService({client:new f1.OAuth.PKCEClient({redirectMethod:f1.OAuth.RedirectMethod.Web,providerName:"Asana",providerIcon:rr.asana,providerId:"asana",description:"Connect your Asana account"}),clientId:e.clientId??k0.asana,authorizeUrl:e.authorizeUrl??"https://asana.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://asana.oauth.raycast.com/token",refreshTokenUrl:e.refreshTokenUrl??"https://asana.oauth.raycast.com/refresh-token",scope:e.scope,personalAccessToken:e.personalAccessToken,onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});n1.asanaService=py;var sy=e=>new ar.OAuthService({client:new f1.OAuth.PKCEClient({redirectMethod:f1.OAuth.RedirectMethod.Web,providerName:"GitHub",providerIcon:rr.github,providerId:"github",description:"Connect your GitHub account"}),clientId:e.clientId??k0.github,authorizeUrl:e.authorizeUrl??"https://github.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://github.oauth.raycast.com/token",refreshTokenUrl:e.refreshTokenUrl??"https://github.oauth.raycast.com/refresh-token",scope:e.scope,personalAccessToken:e.personalAccessToken,onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});n1.githubService=sy;var dy=e=>new ar.OAuthService({client:new f1.OAuth.PKCEClient({redirectMethod:f1.OAuth.RedirectMethod.AppURI,providerName:"Google",providerIcon:rr.google,providerId:"google",description:"Connect your Google account"}),clientId:e.clientId,authorizeUrl:e.authorizeUrl??"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:e.tokenUrl??"https://oauth2.googleapis.com/token",refreshTokenUrl:e.tokenUrl,scope:e.scope,personalAccessToken:e.personalAccessToken,bodyEncoding:e.bodyEncoding??"url-encoded",onAuthorize:e.onAuthorize,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});n1.googleService=dy;var oy=e=>new ar.OAuthService({client:new f1.OAuth.PKCEClient({redirectMethod:f1.OAuth.RedirectMethod.Web,providerName:"Jira",providerIcon:rr.jira,providerId:"jira",description:"Connect your Jira account"}),clientId:e.clientId,authorizeUrl:e.authorizeUrl??"https://auth.atlassian.com/authorize",tokenUrl:e.tokenUrl??"https://auth.atlassian.com/oauth/token",refreshTokenUrl:e.refreshTokenUrl,scope:e.scope,personalAccessToken:e.personalAccessToken,onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});n1.jiraService=oy;var ly=e=>new ar.OAuthService({client:new f1.OAuth.PKCEClient({redirectMethod:f1.OAuth.RedirectMethod.Web,providerName:"Linear",providerIcon:rr.linear,providerId:"linear",description:"Connect your Linear account"}),clientId:e.clientId??k0.linear,authorizeUrl:e.authorizeUrl??"https://linear.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://linear.oauth.raycast.com/token",refreshTokenUrl:e.refreshTokenUrl??"https://linear.oauth.raycast.com/refresh-token",scope:e.scope,extraParameters:{actor:"user"},onAuthorize:e.onAuthorize,bodyEncoding:e.bodyEncoding,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});n1.linearService=ly;var uy=e=>new ar.OAuthService({client:new f1.OAuth.PKCEClient({redirectMethod:f1.OAuth.RedirectMethod.Web,providerName:"Slack",providerIcon:rr.slack,providerId:"slack",description:"Connect your Slack account"}),clientId:e.clientId??k0.slack,authorizeUrl:e.authorizeUrl??"https://slack.oauth.raycast.com/authorize",tokenUrl:e.tokenUrl??"https://slack.oauth.raycast.com/token",refreshTokenUrl:e.tokenUrl??"https://slack.oauth.raycast.com/refresh-token",scope:"",extraParameters:{user_scope:e.scope},personalAccessToken:e.personalAccessToken,bodyEncoding:e.tokenUrl?e.bodyEncoding??"url-encoded":"json",onAuthorize:e.onAuthorize,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser??(a=>({access_token:a.authed_user.access_token,scope:a.authed_user.scope}))});n1.slackService=uy;var my=e=>new ar.OAuthService({client:new f1.OAuth.PKCEClient({redirectMethod:f1.OAuth.RedirectMethod.Web,providerName:"Zoom",providerIcon:rr.zoom,providerId:"zoom",description:"Connect your Zoom account"}),clientId:e.clientId,authorizeUrl:e.authorizeUrl??"https://zoom.us/oauth/authorize",tokenUrl:e.tokenUrl??"https://zoom.us/oauth/token",refreshTokenUrl:e.refreshTokenUrl,scope:e.scope,personalAccessToken:e.personalAccessToken,bodyEncoding:e.bodyEncoding??"url-encoded",onAuthorize:e.onAuthorize,tokenRefreshResponseParser:e.tokenRefreshResponseParser,tokenResponseParser:e.tokenResponseParser});n1.zoomService=my});var H2=c(Mr=>{"use strict";var cy=Mr&&Mr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Mr,"__esModule",{value:!0});Mr.OAuthService=void 0;var xo=cy(c0()),tr=bo(),Q1=class{constructor(a){this.clientId=a.clientId,this.scope=Array.isArray(a.scope)?a.scope.join(" "):a.scope,this.personalAccessToken=a.personalAccessToken,this.bodyEncoding=a.bodyEncoding,this.client=a.client,this.extraParameters=a.extraParameters,this.authorizeUrl=a.authorizeUrl,this.tokenUrl=a.tokenUrl,this.refreshTokenUrl=a.refreshTokenUrl,this.onAuthorize=a.onAuthorize,this.tokenResponseParser=a.tokenResponseParser??(r=>r),this.tokenRefreshResponseParser=a.tokenRefreshResponseParser??(r=>r),this.authorize=this.authorize.bind(this)}async authorize(){let a=await this.client.getTokens();if(a?.accessToken){if(a.refreshToken&&a.isExpired()){let i=await this.refreshTokens({token:a.refreshToken});if(i)return await this.client.setTokens(i),i.access_token}return a.accessToken}let r=await this.client.authorizationRequest({endpoint:this.authorizeUrl,clientId:this.clientId,scope:this.scope,extraParameters:this.extraParameters}),{authorizationCode:t}=await this.client.authorize(r),n=await this.fetchTokens({authRequest:r,authorizationCode:t});return await this.client.setTokens(n),n.access_token}async fetchTokens({authRequest:a,authorizationCode:r}){let t;if(this.bodyEncoding==="url-encoded"){let p=new URLSearchParams;p.append("client_id",this.clientId),p.append("code",r),p.append("code_verifier",a.codeVerifier),p.append("grant_type","authorization_code"),p.append("redirect_uri",a.redirectURI),t={body:p}}else t={body:JSON.stringify({client_id:this.clientId,code:r,code_verifier:a.codeVerifier,grant_type:"authorization_code",redirect_uri:a.redirectURI}),headers:{"Content-Type":"application/json"}};let n=await(0,xo.default)(this.tokenUrl,{method:"POST",...t});if(!n.ok){let p=await n.text();throw console.error("fetch tokens error:",p),new Error(`Error while fetching tokens: ${n.status} (${n.statusText}) +${p}`)}let i=this.tokenResponseParser(await n.json());return Array.isArray(i.scope)?{...i,scope:i.scope.join(" ")}:i}async refreshTokens({token:a}){let r;if(this.bodyEncoding==="url-encoded"){let n=new URLSearchParams;n.append("client_id",this.clientId),n.append("refresh_token",a),n.append("grant_type","refresh_token"),r={body:n}}else r={body:JSON.stringify({client_id:this.clientId,refresh_token:a,grant_type:"refresh_token"}),headers:{"Content-Type":"application/json"}};let t=await(0,xo.default)(this.refreshTokenUrl??this.tokenUrl,{method:"POST",...r});if(t.ok){let n=this.tokenRefreshResponseParser(await t.json());return n.refresh_token=n.refresh_token??a,n}else{let n=await t.text();console.error("refresh tokens error:",n),this.client.description=`${this.client.providerName} needs you to sign-in again. Press \u23CE or click the button below to continue.`,await this.client.removeTokens(),await this.authorize()}}};Mr.OAuthService=Q1;Q1.asana=tr.asanaService;Q1.github=tr.githubService;Q1.google=tr.googleService;Q1.jira=tr.jiraService;Q1.linear=tr.linearService;Q1.slack=tr.slackService;Q1.zoom=tr.zoomService});var wo=c(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.getAccessToken=Rr.withAccessToken=void 0;var hy=require("react/jsx-runtime"),fy=require("@raycast/api"),Na=null,nr=null,W2=null,Y2=null,J2=null;function vy(e){return fy.environment.commandMode==="no-view"?a=>async t=>{if(!Na){Na=e.personalAccessToken??await e.authorize(),nr=e.personalAccessToken?"personal":"oauth";let n=(await e.client?.getTokens())?.idToken;e.onAuthorize&&await Promise.resolve(e.onAuthorize({token:Na,type:nr,idToken:n}))}return a(t)}:a=>{let r=t=>{e.personalAccessToken?(Na=e.personalAccessToken,nr="personal"):(W2||(W2=K2(e.authorize())),Na=W2.read(),nr="oauth");let n;return e.client&&(Y2||(Y2=K2(e.client.getTokens())),n=Y2.read()?.idToken),!J2&&e.onAuthorize&&(J2=K2(Promise.resolve(e.onAuthorize({token:Na,type:nr,idToken:n})))),J2?.read(),(0,hy.jsx)(a,{...t})};return r.displayName=`withAccessToken(${a.displayName||a.name})`,r}}Rr.withAccessToken=vy;function gy(){if(!Na||!nr)throw new Error("getAccessToken must be used when authenticated (eg. used inside `withAccessToken`)");return{token:Na,type:nr}}Rr.getAccessToken=gy;function K2(e){let a="pending",r,t=e.then(i=>{a="success",r=i},i=>{a="error",r=i});return{read:()=>{switch(a){case"pending":throw t;case"error":throw r;default:return r}}}}});var _o=c(Ta=>{"use strict";var by=Ta&&Ta.__createBinding||(Object.create?function(e,a,r,t){t===void 0&&(t=r);var n=Object.getOwnPropertyDescriptor(a,r);(!n||("get"in n?!a.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return a[r]}}),Object.defineProperty(e,t,n)}:function(e,a,r,t){t===void 0&&(t=r),e[t]=a[r]}),yo=Ta&&Ta.__exportStar||function(e,a){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(a,r)&&by(a,e,r)};Object.defineProperty(Ta,"__esModule",{value:!0});yo(H2(),Ta);yo(wo(),Ta)});var Co=c(qr=>{"use strict";var xy=qr&&qr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(qr,"__esModule",{value:!0});qr.runAppleScript=void 0;var wy=xy(require("node:child_process")),rn=w0();async function yy(e,a,r){let{humanReadableOutput:t,language:n,timeout:i,...p}=Array.isArray(a)?r||{}:a||{},s=t!==!1?[]:["-ss"];n==="JavaScript"&&s.push("-l","JavaScript"),Array.isArray(a)&&s.push("-",...a);let d=wy.default.spawn("osascript",s,{...p,env:{PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"}}),h=(0,rn.getSpawnedPromise)(d,{timeout:i||1e4});d.stdin.end(e);let[{error:m,exitCode:g,signal:w,timedOut:S},_,F]=await(0,rn.getSpawnedResult)(d,{encoding:"utf8"},h),D=(0,rn.handleOutput)({stripFinalNewline:!0},_),B=(0,rn.handleOutput)({stripFinalNewline:!0},F);return(0,rn.defaultParsing)({stdout:D,stderr:B,error:m,exitCode:g,signal:w,timedOut:S,command:"osascript",options:r,parentError:new Error})}qr.runAppleScript=yy});var Ao=c(L1=>{"use strict";var Fo=L1&&L1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(L1,"__esModule",{value:!0});L1.createDeeplink=L1.createExtensionDeeplink=L1.createScriptCommandDeeplink=L1.DeeplinkType=void 0;var X2=require("@raycast/api"),_y=Fo(require("node:fs")),Cy=Fo(require("node:path")),Z2;(function(e){e.ScriptCommand="script-command",e.Extension="extension"})(Z2||(L1.DeeplinkType=Z2={}));function Do(){return X2.environment.raycastVersion.includes("alpha")?"raycastinternal://":"raycast://"}function Fy(){let e=JSON.parse(_y.default.readFileSync(Cy.default.join(X2.environment.assetsPath,"..","package.json"),"utf8"));return e.owner||e.author}function So(e){let a=`${Do()}script-commands/${e.command}`;if(e.arguments){let r="";for(let t of e.arguments)r+="&arguments="+encodeURIComponent(t);a+="?"+r.substring(1)}return a}L1.createScriptCommandDeeplink=So;function Eo(e){let a=Fy(),r=X2.environment.extensionName;"ownerOrAuthorName"in e&&"extensionName"in e&&(a=e.ownerOrAuthorName,r=e.extensionName);let t=`${Do()}extensions/${a}/${r}/${e.command}`,n="";return e.launchType&&(n+="&launchType="+encodeURIComponent(e.launchType)),e.arguments&&(n+="&arguments="+encodeURIComponent(JSON.stringify(e.arguments))),e.context&&(n+="&context="+encodeURIComponent(JSON.stringify(e.context))),e.fallbackText&&(n+="&fallbackText="+encodeURIComponent(e.fallbackText)),n&&(t+="?"+n.substring(1)),t}L1.createExtensionDeeplink=Eo;function Dy(e){return e.type===Z2.ScriptCommand?So(e):Eo(e)}L1.createDeeplink=Dy});var Q2=c(Oe=>{"use strict";var Sy=Oe&&Oe.__createBinding||(Object.create?function(e,a,r,t){t===void 0&&(t=r);var n=Object.getOwnPropertyDescriptor(a,r);(!n||("get"in n?!a.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return a[r]}}),Object.defineProperty(e,t,n)}:function(e,a,r,t){t===void 0&&(t=r),e[t]=a[r]}),i1=Oe&&Oe.__exportStar||function(e,a){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(a,r)&&Sy(a,e,r)};Object.defineProperty(Oe,"__esModule",{value:!0});i1(wr(),Oe);i1(i0(),Oe);i1(zt(),Oe);i1(s4(),Oe);i1(h4(),Oe);i1(j4(),Oe);i1(H4(),Oe);i1(Y4(),Oe);i1(K4(),Oe);i1(Q4(),Oe);i1(ro(),Oe);i1(go(),Oe);i1(_o(),Oe);i1(Co(),Oe);i1(It(),Oe);i1(Ao(),Oe)});var Po=c((nq,ep)=>{"use strict";var Bo=(e,...a)=>new Promise(r=>{r(e(...a))});ep.exports=Bo;ep.exports.default=Bo});var To=c((iq,ap)=>{"use strict";var Ey=Po(),No=e=>{if(!((Number.isInteger(e)||e===1/0)&&e>0))return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up"));let a=[],r=0,t=()=>{r--,a.length>0&&a.shift()()},n=(s,d,...h)=>{r++;let m=Ey(s,...h);d(m),m.then(t,t)},i=(s,d,...h)=>{r<e?n(s,d,...h):a.push(n.bind(null,s,d,...h))},p=(s,...d)=>new Promise(h=>i(s,h,...d));return Object.defineProperties(p,{activeCount:{get:()=>r},pendingCount:{get:()=>a.length},clearQueue:{value:()=>{a.length=0}}}),p};ap.exports=No;ap.exports.default=No});var Oo=c((pq,rp)=>{"use strict";var ko=To(),L0=class extends Error{constructor(a){super(),this.value=a}},Ay=async(e,a)=>a(await e),By=async e=>{let a=await Promise.all(e);if(a[1]===!0)throw new L0(a[0]);return!1},Lo=async(e,a,r)=>{r={concurrency:1/0,preserveOrder:!0,...r};let t=ko(r.concurrency),n=[...e].map(p=>[p,t(Ay,p,a)]),i=ko(r.preserveOrder?1:1/0);try{await Promise.all(n.map(p=>i(By,p)))}catch(p){if(p instanceof L0)return p.value;throw p}};rp.exports=Lo;rp.exports.default=Lo});var jo=c((sq,tp)=>{"use strict";var Mo=require("path"),O0=require("fs"),{promisify:Ro}=require("util"),Py=Oo(),Ny=Ro(O0.stat),Ty=Ro(O0.lstat),qo={directory:"isDirectory",file:"isFile"};function Io({type:e}){if(!(e in qo))throw new Error(`Invalid type specified: ${e}`)}var Vo=(e,a)=>e===void 0||a[qo[e]]();tp.exports=async(e,a)=>{a={cwd:process.cwd(),type:"file",allowSymlinks:!0,...a},Io(a);let r=a.allowSymlinks?Ny:Ty;return Py(e,async t=>{try{let n=await r(Mo.resolve(a.cwd,t));return Vo(a.type,n)}catch{return!1}},a)};tp.exports.sync=(e,a)=>{a={cwd:process.cwd(),allowSymlinks:!0,type:"file",...a},Io(a);let r=a.allowSymlinks?O0.statSync:O0.lstatSync;for(let t of e)try{let n=r(Mo.resolve(a.cwd,t));if(Vo(a.type,n))return t}catch{}}});var zo=c((dq,np)=>{"use strict";var Go=require("fs"),{promisify:ky}=require("util"),Ly=ky(Go.access);np.exports=async e=>{try{return await Ly(e),!0}catch{return!1}};np.exports.sync=e=>{try{return Go.accessSync(e),!0}catch{return!1}}});var $o=c((oq,Ir)=>{"use strict";var ka=require("path"),M0=jo(),Uo=zo(),ip=Symbol("findUp.stop");Ir.exports=async(e,a={})=>{let r=ka.resolve(a.cwd||""),{root:t}=ka.parse(r),n=[].concat(e),i=async p=>{if(typeof e!="function")return M0(n,p);let s=await e(p.cwd);return typeof s=="string"?M0([s],p):s};for(;;){let p=await i({...a,cwd:r});if(p===ip)return;if(p)return ka.resolve(r,p);if(r===t)return;r=ka.dirname(r)}};Ir.exports.sync=(e,a={})=>{let r=ka.resolve(a.cwd||""),{root:t}=ka.parse(r),n=[].concat(e),i=p=>{if(typeof e!="function")return M0.sync(n,p);let s=e(p.cwd);return typeof s=="string"?M0.sync([s],p):s};for(;;){let p=i({...a,cwd:r});if(p===ip)return;if(p)return ka.resolve(r,p);if(r===t)return;r=ka.dirname(r)}};Ir.exports.exists=Uo;Ir.exports.sync.exists=Uo.sync;Ir.exports.stop=ip});var Wo=c((lq,Ho)=>{"use strict";Ho.exports=function(a){return a?a instanceof Array||Array.isArray(a)||a.length>=0&&a.splice instanceof Function:!1}});var Jo=c((uq,Yo)=>{"use strict";var Oy=require("util"),My=Wo(),pp=function(a,r){(!a||a.constructor!==String)&&(r=a||{},a=Error.name);var t=function n(i){if(!this)return new n(i);i=i instanceof Error?i.message:i||this.message,Error.call(this,i),Error.captureStackTrace(this,t),this.name=a,Object.defineProperty(this,"message",{configurable:!0,enumerable:!1,get:function(){var m=i.split(/\r?\n/g);for(var g in r)if(r.hasOwnProperty(g)){var w=r[g];"message"in w&&(m=w.message(this[g],m)||m,My(m)||(m=[m]))}return m.join(` +`)},set:function(m){i=m}});var p=null,s=Object.getOwnPropertyDescriptor(this,"stack"),d=s.get,h=s.value;delete s.value,delete s.writable,s.set=function(m){p=m},s.get=function(){var m=(p||(d?d.call(this):h)).split(/\r?\n+/g);p||(m[0]=this.name+": "+this.message);var g=1;for(var w in r)if(r.hasOwnProperty(w)){var S=r[w];if("line"in S){var _=S.line(this[w]);_&&m.splice(g++,0," "+_)}"stack"in S&&S.stack(this[w],m)}return m.join(` +`)},Object.defineProperty(this,"stack",s)};return Object.setPrototypeOf?(Object.setPrototypeOf(t.prototype,Error.prototype),Object.setPrototypeOf(t,Error)):Oy.inherits(t,Error),t};pp.append=function(e,a){return{message:function(r,t){return r=r||a,r&&(t[0]+=" "+e.replace("%s",r.toString())),t}}};pp.line=function(e,a){return{line:function(r){return r=r||a,r?e.replace("%s",r.toString()):null}}};Yo.exports=pp});var Xo=c((mq,Zo)=>{"use strict";var Ry=e=>{let a=e.charCodeAt(0).toString(16).toUpperCase();return"0x"+(a.length%2?"0":"")+a},qy=(e,a,r)=>{if(!a)return{message:e.message+" while parsing empty string",position:0};let t=e.message.match(/^Unexpected token (.) .*position\s+(\d+)/i),n=t?+t[2]:e.message.match(/^Unexpected end of JSON.*/i)?a.length-1:null,i=t?e.message.replace(/^Unexpected token ./,`Unexpected token ${JSON.stringify(t[1])} (${Ry(t[1])})`):e.message;if(n!=null){let p=n<=r?0:n-r,s=n+r>=a.length?a.length:n+r,d=(p===0?"":"...")+a.slice(p,s)+(s===a.length?"":"...");return{message:i+` while parsing ${a===d?"":"near "}${JSON.stringify(d)}`,position:n}}else return{message:i+` while parsing '${a.slice(0,r*2)}'`,position:0}},R0=class extends SyntaxError{constructor(a,r,t,n){t=t||20;let i=qy(a,r,t);super(i.message),Object.assign(this,i),this.code="EJSONPARSE",this.systemError=a,Error.captureStackTrace(this,n||this.constructor)}get name(){return this.constructor.name}set name(a){}get[Symbol.toStringTag](){return this.constructor.name}},Iy=Symbol.for("indent"),Vy=Symbol.for("newline"),jy=/^\s*[{\[]((?:\r?\n)+)([\s\t]*)/,Gy=/^(?:\{\}|\[\])((?:\r?\n)+)?$/,q0=(e,a,r)=>{let t=Ko(e);r=r||20;try{let[,n=` +`,i=" "]=t.match(Gy)||t.match(jy)||[,"",""],p=JSON.parse(t,a);return p&&typeof p=="object"&&(p[Vy]=n,p[Iy]=i),p}catch(n){if(typeof e!="string"&&!Buffer.isBuffer(e)){let i=Array.isArray(e)&&e.length===0;throw Object.assign(new TypeError(`Cannot parse ${i?"an empty array":String(e)}`),{code:"EJSONPARSE",systemError:n})}throw new R0(n,t,r,q0)}},Ko=e=>String(e).replace(/^\uFEFF/,"");Zo.exports=q0;q0.JSONParseError=R0;q0.noExceptions=(e,a)=>{try{return JSON.parse(Ko(e),a)}catch{}}});var al=c(tn=>{"use strict";tn.__esModule=!0;tn.LinesAndColumns=void 0;var I0=` +`,Qo="\r",el=function(){function e(a){this.string=a;for(var r=[0],t=0;t<a.length;)switch(a[t]){case I0:t+=I0.length,r.push(t);break;case Qo:t+=Qo.length,a[t]===I0&&(t+=I0.length),r.push(t);break;default:t++;break}this.offsets=r}return e.prototype.locationForIndex=function(a){if(a<0||a>this.string.length)return null;for(var r=0,t=this.offsets;t[r+1]<=a;)r++;var n=a-t[r];return{line:r,column:n}},e.prototype.indexForLocation=function(a){var r=a.line,t=a.column;return r<0||r>=this.offsets.length||t<0||t>this.lengthOfLine(r)?null:this.offsets[r]+t},e.prototype.lengthOfLine=function(a){var r=this.offsets[a],t=a===this.offsets.length-1?this.string.length:this.offsets[a+1];return t-r},e}();tn.LinesAndColumns=el;tn.default=el});var rl=c(V0=>{Object.defineProperty(V0,"__esModule",{value:!0});V0.default=/((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;V0.matchToToken=function(e){var a={type:"invalid",value:e[0],closed:void 0};return e[1]?(a.type="string",a.closed=!!(e[3]||e[4])):e[5]?a.type="comment":e[6]?(a.type="comment",a.closed=!!e[7]):e[8]?a.type="regex":e[9]?a.type="number":e[10]?a.type="name":e[11]?a.type="punctuator":e[12]&&(a.type="whitespace"),a}});var sl=c(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.isIdentifierChar=pl;nn.isIdentifierName=Hy;nn.isIdentifierStart=il;var dp="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",tl="\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65",zy=new RegExp("["+dp+"]"),Uy=new RegExp("["+dp+tl+"]");dp=tl=null;var nl=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],$y=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239];function sp(e,a){let r=65536;for(let t=0,n=a.length;t<n;t+=2){if(r+=a[t],r>e)return!1;if(r+=a[t+1],r>=e)return!0}return!1}function il(e){return e<65?e===36:e<=90?!0:e<97?e===95:e<=122?!0:e<=65535?e>=170&&zy.test(String.fromCharCode(e)):sp(e,nl)}function pl(e){return e<48?e===36:e<58?!0:e<65?!1:e<=90?!0:e<97?e===95:e<=122?!0:e<=65535?e>=170&&Uy.test(String.fromCharCode(e)):sp(e,nl)||sp(e,$y)}function Hy(e){let a=!0;for(let r=0;r<e.length;r++){let t=e.charCodeAt(r);if((t&64512)===55296&&r+1<e.length){let n=e.charCodeAt(++r);(n&64512)===56320&&(t=65536+((t&1023)<<10)+(n&1023))}if(a){if(a=!1,!il(t))return!1}else if(!pl(t))return!1}return!a}});var ul=c(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.isKeyword=Zy;ir.isReservedWord=dl;ir.isStrictBindOnlyReservedWord=ll;ir.isStrictBindReservedWord=Ky;ir.isStrictReservedWord=ol;var op={keyword:["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"],strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]},Wy=new Set(op.keyword),Yy=new Set(op.strict),Jy=new Set(op.strictBind);function dl(e,a){return a&&e==="await"||e==="enum"}function ol(e,a){return dl(e,a)||Yy.has(e)}function ll(e){return Jy.has(e)}function Ky(e,a){return ol(e,a)||ll(e)}function Zy(e){return Wy.has(e)}});var ml=c(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});Object.defineProperty(ea,"isIdentifierChar",{enumerable:!0,get:function(){return lp.isIdentifierChar}});Object.defineProperty(ea,"isIdentifierName",{enumerable:!0,get:function(){return lp.isIdentifierName}});Object.defineProperty(ea,"isIdentifierStart",{enumerable:!0,get:function(){return lp.isIdentifierStart}});Object.defineProperty(ea,"isKeyword",{enumerable:!0,get:function(){return pn.isKeyword}});Object.defineProperty(ea,"isReservedWord",{enumerable:!0,get:function(){return pn.isReservedWord}});Object.defineProperty(ea,"isStrictBindOnlyReservedWord",{enumerable:!0,get:function(){return pn.isStrictBindOnlyReservedWord}});Object.defineProperty(ea,"isStrictBindReservedWord",{enumerable:!0,get:function(){return pn.isStrictBindReservedWord}});Object.defineProperty(ea,"isStrictReservedWord",{enumerable:!0,get:function(){return pn.isStrictReservedWord}});var lp=sl(),pn=ul()});var mp=c((bq,up)=>{var cl=process.argv||[],j0=process.env,Xy=!("NO_COLOR"in j0||cl.includes("--no-color"))&&("FORCE_COLOR"in j0||cl.includes("--color")||process.platform==="win32"||require!=null&&require("tty").isatty(1)&&j0.TERM!=="dumb"||"CI"in j0),Qy=(e,a,r=e)=>t=>{let n=""+t,i=n.indexOf(a,e.length);return~i?e+e_(n,a,r,i)+a:e+n+a},e_=(e,a,r,t)=>{let n="",i=0;do n+=e.substring(i,t)+r,i=t+a.length,t=e.indexOf(a,i);while(~t);return n+e.substring(i)},hl=(e=Xy)=>{let a=e?Qy:()=>String;return{isColorSupported:e,reset:a("\x1B[0m","\x1B[0m"),bold:a("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:a("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:a("\x1B[3m","\x1B[23m"),underline:a("\x1B[4m","\x1B[24m"),inverse:a("\x1B[7m","\x1B[27m"),hidden:a("\x1B[8m","\x1B[28m"),strikethrough:a("\x1B[9m","\x1B[29m"),black:a("\x1B[30m","\x1B[39m"),red:a("\x1B[31m","\x1B[39m"),green:a("\x1B[32m","\x1B[39m"),yellow:a("\x1B[33m","\x1B[39m"),blue:a("\x1B[34m","\x1B[39m"),magenta:a("\x1B[35m","\x1B[39m"),cyan:a("\x1B[36m","\x1B[39m"),white:a("\x1B[37m","\x1B[39m"),gray:a("\x1B[90m","\x1B[39m"),bgBlack:a("\x1B[40m","\x1B[49m"),bgRed:a("\x1B[41m","\x1B[49m"),bgGreen:a("\x1B[42m","\x1B[49m"),bgYellow:a("\x1B[43m","\x1B[49m"),bgBlue:a("\x1B[44m","\x1B[49m"),bgMagenta:a("\x1B[45m","\x1B[49m"),bgCyan:a("\x1B[46m","\x1B[49m"),bgWhite:a("\x1B[47m","\x1B[49m")}};up.exports=hl();up.exports.createColors=hl});var vl=c((xq,fl)=>{"use strict";var a_=/[|\\{}()[\]^$+*?.]/g;fl.exports=function(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(a_,"\\$&")}});var bl=c((wq,gl)=>{"use strict";gl.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]}});var cp=c((yq,_l)=>{var pr=bl(),yl={};for(G0 in pr)pr.hasOwnProperty(G0)&&(yl[pr[G0]]=G0);var G0,z=_l.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(v1 in z)if(z.hasOwnProperty(v1)){if(!("channels"in z[v1]))throw new Error("missing channels property: "+v1);if(!("labels"in z[v1]))throw new Error("missing channel labels property: "+v1);if(z[v1].labels.length!==z[v1].channels)throw new Error("channel and label counts mismatch: "+v1);xl=z[v1].channels,wl=z[v1].labels,delete z[v1].channels,delete z[v1].labels,Object.defineProperty(z[v1],"channels",{value:xl}),Object.defineProperty(z[v1],"labels",{value:wl})}var xl,wl,v1;z.rgb.hsl=function(e){var a=e[0]/255,r=e[1]/255,t=e[2]/255,n=Math.min(a,r,t),i=Math.max(a,r,t),p=i-n,s,d,h;return i===n?s=0:a===i?s=(r-t)/p:r===i?s=2+(t-a)/p:t===i&&(s=4+(a-r)/p),s=Math.min(s*60,360),s<0&&(s+=360),h=(n+i)/2,i===n?d=0:h<=.5?d=p/(i+n):d=p/(2-i-n),[s,d*100,h*100]};z.rgb.hsv=function(e){var a,r,t,n,i,p=e[0]/255,s=e[1]/255,d=e[2]/255,h=Math.max(p,s,d),m=h-Math.min(p,s,d),g=function(w){return(h-w)/6/m+1/2};return m===0?n=i=0:(i=m/h,a=g(p),r=g(s),t=g(d),p===h?n=t-r:s===h?n=1/3+a-t:d===h&&(n=2/3+r-a),n<0?n+=1:n>1&&(n-=1)),[n*360,i*100,h*100]};z.rgb.hwb=function(e){var a=e[0],r=e[1],t=e[2],n=z.rgb.hsl(e)[0],i=1/255*Math.min(a,Math.min(r,t));return t=1-1/255*Math.max(a,Math.max(r,t)),[n,i*100,t*100]};z.rgb.cmyk=function(e){var a=e[0]/255,r=e[1]/255,t=e[2]/255,n,i,p,s;return s=Math.min(1-a,1-r,1-t),n=(1-a-s)/(1-s)||0,i=(1-r-s)/(1-s)||0,p=(1-t-s)/(1-s)||0,[n*100,i*100,p*100,s*100]};function r_(e,a){return Math.pow(e[0]-a[0],2)+Math.pow(e[1]-a[1],2)+Math.pow(e[2]-a[2],2)}z.rgb.keyword=function(e){var a=yl[e];if(a)return a;var r=1/0,t;for(var n in pr)if(pr.hasOwnProperty(n)){var i=pr[n],p=r_(e,i);p<r&&(r=p,t=n)}return t};z.keyword.rgb=function(e){return pr[e]};z.rgb.xyz=function(e){var a=e[0]/255,r=e[1]/255,t=e[2]/255;a=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92,r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92,t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92;var n=a*.4124+r*.3576+t*.1805,i=a*.2126+r*.7152+t*.0722,p=a*.0193+r*.1192+t*.9505;return[n*100,i*100,p*100]};z.rgb.lab=function(e){var a=z.rgb.xyz(e),r=a[0],t=a[1],n=a[2],i,p,s;return r/=95.047,t/=100,n/=108.883,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,t=t>.008856?Math.pow(t,1/3):7.787*t+16/116,n=n>.008856?Math.pow(n,1/3):7.787*n+16/116,i=116*t-16,p=500*(r-t),s=200*(t-n),[i,p,s]};z.hsl.rgb=function(e){var a=e[0]/360,r=e[1]/100,t=e[2]/100,n,i,p,s,d;if(r===0)return d=t*255,[d,d,d];t<.5?i=t*(1+r):i=t+r-t*r,n=2*t-i,s=[0,0,0];for(var h=0;h<3;h++)p=a+1/3*-(h-1),p<0&&p++,p>1&&p--,6*p<1?d=n+(i-n)*6*p:2*p<1?d=i:3*p<2?d=n+(i-n)*(2/3-p)*6:d=n,s[h]=d*255;return s};z.hsl.hsv=function(e){var a=e[0],r=e[1]/100,t=e[2]/100,n=r,i=Math.max(t,.01),p,s;return t*=2,r*=t<=1?t:2-t,n*=i<=1?i:2-i,s=(t+r)/2,p=t===0?2*n/(i+n):2*r/(t+r),[a,p*100,s*100]};z.hsv.rgb=function(e){var a=e[0]/60,r=e[1]/100,t=e[2]/100,n=Math.floor(a)%6,i=a-Math.floor(a),p=255*t*(1-r),s=255*t*(1-r*i),d=255*t*(1-r*(1-i));switch(t*=255,n){case 0:return[t,d,p];case 1:return[s,t,p];case 2:return[p,t,d];case 3:return[p,s,t];case 4:return[d,p,t];case 5:return[t,p,s]}};z.hsv.hsl=function(e){var a=e[0],r=e[1]/100,t=e[2]/100,n=Math.max(t,.01),i,p,s;return s=(2-r)*t,i=(2-r)*n,p=r*n,p/=i<=1?i:2-i,p=p||0,s/=2,[a,p*100,s*100]};z.hwb.rgb=function(e){var a=e[0]/360,r=e[1]/100,t=e[2]/100,n=r+t,i,p,s,d;n>1&&(r/=n,t/=n),i=Math.floor(6*a),p=1-t,s=6*a-i,(i&1)!==0&&(s=1-s),d=r+s*(p-r);var h,m,g;switch(i){default:case 6:case 0:h=p,m=d,g=r;break;case 1:h=d,m=p,g=r;break;case 2:h=r,m=p,g=d;break;case 3:h=r,m=d,g=p;break;case 4:h=d,m=r,g=p;break;case 5:h=p,m=r,g=d;break}return[h*255,m*255,g*255]};z.cmyk.rgb=function(e){var a=e[0]/100,r=e[1]/100,t=e[2]/100,n=e[3]/100,i,p,s;return i=1-Math.min(1,a*(1-n)+n),p=1-Math.min(1,r*(1-n)+n),s=1-Math.min(1,t*(1-n)+n),[i*255,p*255,s*255]};z.xyz.rgb=function(e){var a=e[0]/100,r=e[1]/100,t=e[2]/100,n,i,p;return n=a*3.2406+r*-1.5372+t*-.4986,i=a*-.9689+r*1.8758+t*.0415,p=a*.0557+r*-.204+t*1.057,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:n*12.92,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*12.92,p=p>.0031308?1.055*Math.pow(p,1/2.4)-.055:p*12.92,n=Math.min(Math.max(0,n),1),i=Math.min(Math.max(0,i),1),p=Math.min(Math.max(0,p),1),[n*255,i*255,p*255]};z.xyz.lab=function(e){var a=e[0],r=e[1],t=e[2],n,i,p;return a/=95.047,r/=100,t/=108.883,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,t=t>.008856?Math.pow(t,1/3):7.787*t+16/116,n=116*r-16,i=500*(a-r),p=200*(r-t),[n,i,p]};z.lab.xyz=function(e){var a=e[0],r=e[1],t=e[2],n,i,p;i=(a+16)/116,n=r/500+i,p=i-t/200;var s=Math.pow(i,3),d=Math.pow(n,3),h=Math.pow(p,3);return i=s>.008856?s:(i-16/116)/7.787,n=d>.008856?d:(n-16/116)/7.787,p=h>.008856?h:(p-16/116)/7.787,n*=95.047,i*=100,p*=108.883,[n,i,p]};z.lab.lch=function(e){var a=e[0],r=e[1],t=e[2],n,i,p;return n=Math.atan2(t,r),i=n*360/2/Math.PI,i<0&&(i+=360),p=Math.sqrt(r*r+t*t),[a,p,i]};z.lch.lab=function(e){var a=e[0],r=e[1],t=e[2],n,i,p;return p=t/360*2*Math.PI,n=r*Math.cos(p),i=r*Math.sin(p),[a,n,i]};z.rgb.ansi16=function(e){var a=e[0],r=e[1],t=e[2],n=1 in arguments?arguments[1]:z.rgb.hsv(e)[2];if(n=Math.round(n/50),n===0)return 30;var i=30+(Math.round(t/255)<<2|Math.round(r/255)<<1|Math.round(a/255));return n===2&&(i+=60),i};z.hsv.ansi16=function(e){return z.rgb.ansi16(z.hsv.rgb(e),e[2])};z.rgb.ansi256=function(e){var a=e[0],r=e[1],t=e[2];if(a===r&&r===t)return a<8?16:a>248?231:Math.round((a-8)/247*24)+232;var n=16+36*Math.round(a/255*5)+6*Math.round(r/255*5)+Math.round(t/255*5);return n};z.ansi16.rgb=function(e){var a=e%10;if(a===0||a===7)return e>50&&(a+=3.5),a=a/10.5*255,[a,a,a];var r=(~~(e>50)+1)*.5,t=(a&1)*r*255,n=(a>>1&1)*r*255,i=(a>>2&1)*r*255;return[t,n,i]};z.ansi256.rgb=function(e){if(e>=232){var a=(e-232)*10+8;return[a,a,a]}e-=16;var r,t=Math.floor(e/36)/5*255,n=Math.floor((r=e%36)/6)/5*255,i=r%6/5*255;return[t,n,i]};z.rgb.hex=function(e){var a=((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255),r=a.toString(16).toUpperCase();return"000000".substring(r.length)+r};z.hex.rgb=function(e){var a=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!a)return[0,0,0];var r=a[0];a[0].length===3&&(r=r.split("").map(function(s){return s+s}).join(""));var t=parseInt(r,16),n=t>>16&255,i=t>>8&255,p=t&255;return[n,i,p]};z.rgb.hcg=function(e){var a=e[0]/255,r=e[1]/255,t=e[2]/255,n=Math.max(Math.max(a,r),t),i=Math.min(Math.min(a,r),t),p=n-i,s,d;return p<1?s=i/(1-p):s=0,p<=0?d=0:n===a?d=(r-t)/p%6:n===r?d=2+(t-a)/p:d=4+(a-r)/p+4,d/=6,d%=1,[d*360,p*100,s*100]};z.hsl.hcg=function(e){var a=e[1]/100,r=e[2]/100,t=1,n=0;return r<.5?t=2*a*r:t=2*a*(1-r),t<1&&(n=(r-.5*t)/(1-t)),[e[0],t*100,n*100]};z.hsv.hcg=function(e){var a=e[1]/100,r=e[2]/100,t=a*r,n=0;return t<1&&(n=(r-t)/(1-t)),[e[0],t*100,n*100]};z.hcg.rgb=function(e){var a=e[0]/360,r=e[1]/100,t=e[2]/100;if(r===0)return[t*255,t*255,t*255];var n=[0,0,0],i=a%1*6,p=i%1,s=1-p,d=0;switch(Math.floor(i)){case 0:n[0]=1,n[1]=p,n[2]=0;break;case 1:n[0]=s,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=p;break;case 3:n[0]=0,n[1]=s,n[2]=1;break;case 4:n[0]=p,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=s}return d=(1-r)*t,[(r*n[0]+d)*255,(r*n[1]+d)*255,(r*n[2]+d)*255]};z.hcg.hsv=function(e){var a=e[1]/100,r=e[2]/100,t=a+r*(1-a),n=0;return t>0&&(n=a/t),[e[0],n*100,t*100]};z.hcg.hsl=function(e){var a=e[1]/100,r=e[2]/100,t=r*(1-a)+.5*a,n=0;return t>0&&t<.5?n=a/(2*t):t>=.5&&t<1&&(n=a/(2*(1-t))),[e[0],n*100,t*100]};z.hcg.hwb=function(e){var a=e[1]/100,r=e[2]/100,t=a+r*(1-a);return[e[0],(t-a)*100,(1-t)*100]};z.hwb.hcg=function(e){var a=e[1]/100,r=e[2]/100,t=1-r,n=t-a,i=0;return n<1&&(i=(t-n)/(1-n)),[e[0],n*100,i*100]};z.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};z.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};z.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};z.gray.hsl=z.gray.hsv=function(e){return[0,0,e[0]]};z.gray.hwb=function(e){return[0,100,e[0]]};z.gray.cmyk=function(e){return[0,0,0,e[0]]};z.gray.lab=function(e){return[e[0],0,0]};z.gray.hex=function(e){var a=Math.round(e[0]/100*255)&255,r=(a<<16)+(a<<8)+a,t=r.toString(16).toUpperCase();return"000000".substring(t.length)+t};z.rgb.gray=function(e){var a=(e[0]+e[1]+e[2])/3;return[a/255*100]}});var Fl=c((_q,Cl)=>{var z0=cp();function t_(){for(var e={},a=Object.keys(z0),r=a.length,t=0;t<r;t++)e[a[t]]={distance:-1,parent:null};return e}function n_(e){var a=t_(),r=[e];for(a[e].distance=0;r.length;)for(var t=r.pop(),n=Object.keys(z0[t]),i=n.length,p=0;p<i;p++){var s=n[p],d=a[s];d.distance===-1&&(d.distance=a[t].distance+1,d.parent=t,r.unshift(s))}return a}function i_(e,a){return function(r){return a(e(r))}}function p_(e,a){for(var r=[a[e].parent,e],t=z0[a[e].parent][e],n=a[e].parent;a[n].parent;)r.unshift(a[n].parent),t=i_(z0[a[n].parent][n],t),n=a[n].parent;return t.conversion=r,t}Cl.exports=function(e){for(var a=n_(e),r={},t=Object.keys(a),n=t.length,i=0;i<n;i++){var p=t[i],s=a[p];s.parent!==null&&(r[p]=p_(p,a))}return r}});var Sl=c((Cq,Dl)=>{var hp=cp(),s_=Fl(),Vr={},d_=Object.keys(hp);function o_(e){var a=function(r){return r==null?r:(arguments.length>1&&(r=Array.prototype.slice.call(arguments)),e(r))};return"conversion"in e&&(a.conversion=e.conversion),a}function l_(e){var a=function(r){if(r==null)return r;arguments.length>1&&(r=Array.prototype.slice.call(arguments));var t=e(r);if(typeof t=="object")for(var n=t.length,i=0;i<n;i++)t[i]=Math.round(t[i]);return t};return"conversion"in e&&(a.conversion=e.conversion),a}d_.forEach(function(e){Vr[e]={},Object.defineProperty(Vr[e],"channels",{value:hp[e].channels}),Object.defineProperty(Vr[e],"labels",{value:hp[e].labels});var a=s_(e),r=Object.keys(a);r.forEach(function(t){var n=a[t];Vr[e][t]=l_(n),Vr[e][t].raw=o_(n)})});Dl.exports=Vr});var Al=c((Fq,El)=>{"use strict";var jr=Sl(),U0=(e,a)=>function(){return`\x1B[${e.apply(jr,arguments)+a}m`},$0=(e,a)=>function(){let r=e.apply(jr,arguments);return`\x1B[${38+a};5;${r}m`},H0=(e,a)=>function(){let r=e.apply(jr,arguments);return`\x1B[${38+a};2;${r[0]};${r[1]};${r[2]}m`};function u_(){let e=new Map,a={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{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],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};a.color.grey=a.color.gray;for(let n of Object.keys(a)){let i=a[n];for(let p of Object.keys(i)){let s=i[p];a[p]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},i[p]=a[p],e.set(s[0],s[1])}Object.defineProperty(a,n,{value:i,enumerable:!1}),Object.defineProperty(a,"codes",{value:e,enumerable:!1})}let r=n=>n,t=(n,i,p)=>[n,i,p];a.color.close="\x1B[39m",a.bgColor.close="\x1B[49m",a.color.ansi={ansi:U0(r,0)},a.color.ansi256={ansi256:$0(r,0)},a.color.ansi16m={rgb:H0(t,0)},a.bgColor.ansi={ansi:U0(r,10)},a.bgColor.ansi256={ansi256:$0(r,10)},a.bgColor.ansi16m={rgb:H0(t,10)};for(let n of Object.keys(jr)){if(typeof jr[n]!="object")continue;let i=jr[n];n==="ansi16"&&(n="ansi"),"ansi16"in i&&(a.color.ansi[n]=U0(i.ansi16,0),a.bgColor.ansi[n]=U0(i.ansi16,10)),"ansi256"in i&&(a.color.ansi256[n]=$0(i.ansi256,0),a.bgColor.ansi256[n]=$0(i.ansi256,10)),"rgb"in i&&(a.color.ansi16m[n]=H0(i.rgb,0),a.bgColor.ansi16m[n]=H0(i.rgb,10))}return a}Object.defineProperty(El,"exports",{enumerable:!0,get:u_})});var Pl=c((Dq,Bl)=>{"use strict";Bl.exports=(e,a)=>{a=a||process.argv;let r=e.startsWith("-")?"":e.length===1?"-":"--",t=a.indexOf(r+e),n=a.indexOf("--");return t!==-1&&(n===-1?!0:t<n)}});var Tl=c((Sq,Nl)=>{"use strict";var m_=require("os"),j1=Pl(),p1=process.env,Gr;j1("no-color")||j1("no-colors")||j1("color=false")?Gr=!1:(j1("color")||j1("colors")||j1("color=true")||j1("color=always"))&&(Gr=!0);"FORCE_COLOR"in p1&&(Gr=p1.FORCE_COLOR.length===0||parseInt(p1.FORCE_COLOR,10)!==0);function c_(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function h_(e){if(Gr===!1)return 0;if(j1("color=16m")||j1("color=full")||j1("color=truecolor"))return 3;if(j1("color=256"))return 2;if(e&&!e.isTTY&&Gr!==!0)return 0;let a=Gr?1:0;if(process.platform==="win32"){let r=m_.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(r[0])>=10&&Number(r[2])>=10586?Number(r[2])>=14931?3:2:1}if("CI"in p1)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(r=>r in p1)||p1.CI_NAME==="codeship"?1:a;if("TEAMCITY_VERSION"in p1)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(p1.TEAMCITY_VERSION)?1:0;if(p1.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in p1){let r=parseInt((p1.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(p1.TERM_PROGRAM){case"iTerm.app":return r>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(p1.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(p1.TERM)||"COLORTERM"in p1?1:(p1.TERM==="dumb",a)}function fp(e){let a=h_(e);return c_(a)}Nl.exports={supportsColor:fp,stdout:fp(process.stdout),stderr:fp(process.stderr)}});var Rl=c((Eq,Ml)=>{"use strict";var f_=/(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,kl=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,v_=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,g_=/\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi,b_=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function Ol(e){return e[0]==="u"&&e.length===5||e[0]==="x"&&e.length===3?String.fromCharCode(parseInt(e.slice(1),16)):b_.get(e)||e}function x_(e,a){let r=[],t=a.trim().split(/\s*,\s*/g),n;for(let i of t)if(!isNaN(i))r.push(Number(i));else if(n=i.match(v_))r.push(n[2].replace(g_,(p,s,d)=>s?Ol(s):d));else throw new Error(`Invalid Chalk template style argument: ${i} (in style '${e}')`);return r}function w_(e){kl.lastIndex=0;let a=[],r;for(;(r=kl.exec(e))!==null;){let t=r[1];if(r[2]){let n=x_(t,r[2]);a.push([t].concat(n))}else a.push([t])}return a}function Ll(e,a){let r={};for(let n of a)for(let i of n.styles)r[i[0]]=n.inverse?null:i.slice(1);let t=e;for(let n of Object.keys(r))if(Array.isArray(r[n])){if(!(n in t))throw new Error(`Unknown Chalk style: ${n}`);r[n].length>0?t=t[n].apply(t,r[n]):t=t[n]}return t}Ml.exports=(e,a)=>{let r=[],t=[],n=[];if(a.replace(f_,(i,p,s,d,h,m)=>{if(p)n.push(Ol(p));else if(d){let g=n.join("");n=[],t.push(r.length===0?g:Ll(e,r)(g)),r.push({inverse:s,styles:w_(d)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");t.push(Ll(e,r)(n.join(""))),n=[],r.pop()}else n.push(m)}),t.push(n.join("")),r.length>0){let i=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(i)}return t.join("")}});var Gl=c((Aq,dn)=>{"use strict";var gp=vl(),Ve=Al(),vp=Tl().stdout,y_=Rl(),Il=process.platform==="win32"&&!(process.env.TERM||"").toLowerCase().startsWith("xterm"),Vl=["ansi","ansi","ansi256","ansi16m"],jl=new Set(["gray"]),zr=Object.create(null);function ql(e,a){a=a||{};let r=vp?vp.level:0;e.level=a.level===void 0?r:a.level,e.enabled="enabled"in a?a.enabled:e.level>0}function sn(e){if(!this||!(this instanceof sn)||this.template){let a={};return ql(a,e),a.template=function(){let r=[].slice.call(arguments);return F_.apply(null,[a.template].concat(r))},Object.setPrototypeOf(a,sn.prototype),Object.setPrototypeOf(a.template,a),a.template.constructor=sn,a.template}ql(this,e)}Il&&(Ve.blue.open="\x1B[94m");for(let e of Object.keys(Ve))Ve[e].closeRe=new RegExp(gp(Ve[e].close),"g"),zr[e]={get(){let a=Ve[e];return W0.call(this,this._styles?this._styles.concat(a):[a],this._empty,e)}};zr.visible={get(){return W0.call(this,this._styles||[],!0,"visible")}};Ve.color.closeRe=new RegExp(gp(Ve.color.close),"g");for(let e of Object.keys(Ve.color.ansi))jl.has(e)||(zr[e]={get(){let a=this.level;return function(){let t={open:Ve.color[Vl[a]][e].apply(null,arguments),close:Ve.color.close,closeRe:Ve.color.closeRe};return W0.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}}});Ve.bgColor.closeRe=new RegExp(gp(Ve.bgColor.close),"g");for(let e of Object.keys(Ve.bgColor.ansi)){if(jl.has(e))continue;let a="bg"+e[0].toUpperCase()+e.slice(1);zr[a]={get(){let r=this.level;return function(){let n={open:Ve.bgColor[Vl[r]][e].apply(null,arguments),close:Ve.bgColor.close,closeRe:Ve.bgColor.closeRe};return W0.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}}}var __=Object.defineProperties(()=>{},zr);function W0(e,a,r){let t=function(){return C_.apply(t,arguments)};t._styles=e,t._empty=a;let n=this;return Object.defineProperty(t,"level",{enumerable:!0,get(){return n.level},set(i){n.level=i}}),Object.defineProperty(t,"enabled",{enumerable:!0,get(){return n.enabled},set(i){n.enabled=i}}),t.hasGrey=this.hasGrey||r==="gray"||r==="grey",t.__proto__=__,t}function C_(){let e=arguments,a=e.length,r=String(arguments[0]);if(a===0)return"";if(a>1)for(let n=1;n<a;n++)r+=" "+e[n];if(!this.enabled||this.level<=0||!r)return this._empty?"":r;let t=Ve.dim.open;Il&&this.hasGrey&&(Ve.dim.open="");for(let n of this._styles.slice().reverse())r=n.open+r.replace(n.closeRe,n.open)+n.close,r=r.replace(/\r?\n/g,`${n.close}$&${n.open}`);return Ve.dim.open=t,r}function F_(e,a){if(!Array.isArray(a))return[].slice.call(arguments,1).join(" ");let r=[].slice.call(arguments,2),t=[a.raw[0]];for(let n=1;n<a.length;n++)t.push(String(r[n-1]).replace(/[{}\\]/g,"\\$&")),t.push(String(a.raw[n]));return y_(e,t.join(""))}Object.defineProperties(sn.prototype,zr);dn.exports=sn();dn.exports.supportsColor=vp;dn.exports.default=dn.exports});var Kl=c(on=>{"use strict";Object.defineProperty(on,"__esModule",{value:!0});on.default=T_;on.shouldHighlight=Jl;var zl=rl(),Ul=ml(),xp=D_(mp(),!0);function Hl(e){if(typeof WeakMap!="function")return null;var a=new WeakMap,r=new WeakMap;return(Hl=function(t){return t?r:a})(e)}function D_(e,a){if(!a&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var r=Hl(a);if(r&&r.has(e))return r.get(e);var t={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(i!=="default"&&{}.hasOwnProperty.call(e,i)){var p=n?Object.getOwnPropertyDescriptor(e,i):null;p&&(p.get||p.set)?Object.defineProperty(t,i,p):t[i]=e[i]}return t.default=e,r&&r.set(e,t),t}var Wl=typeof process=="object"&&(process.env.FORCE_COLOR==="0"||process.env.FORCE_COLOR==="false")?(0,xp.createColors)(!1):xp.default,$l=(e,a)=>r=>e(a(r)),S_=new Set(["as","async","from","get","of","set"]);function E_(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.gray,invalid:$l($l(e.white,e.bgRed),e.bold)}}var A_=/\r\n|[\n\r\u2028\u2029]/,B_=/^[()[\]{}]$/,Yl;{let e=/^[a-z][\w-]*$/i,a=function(r,t,n){if(r.type==="name"){if((0,Ul.isKeyword)(r.value)||(0,Ul.isStrictReservedWord)(r.value,!0)||S_.has(r.value))return"keyword";if(e.test(r.value)&&(n[t-1]==="<"||n.slice(t-2,t)==="</"))return"jsxIdentifier";if(r.value[0]!==r.value[0].toLowerCase())return"capitalized"}return r.type==="punctuator"&&B_.test(r.value)?"bracket":r.type==="invalid"&&(r.value==="@"||r.value==="#")?"punctuator":r.type};Yl=function*(r){let t;for(;t=zl.default.exec(r);){let n=zl.matchToToken(t);yield{type:a(n,t.index,r),value:n.value}}}}function P_(e,a){let r="";for(let{type:t,value:n}of Yl(a)){let i=e[t];i?r+=n.split(A_).map(p=>i(p)).join(` +`):r+=n}return r}function Jl(e){return Wl.isColorSupported||e.forceColor}var bp;function N_(e){if(e){var a;return(a=bp)!=null||(bp=(0,xp.createColors)(!0)),bp}return Wl}function T_(e,a={}){if(e!==""&&Jl(a)){let r=E_(N_(a.forceColor));return P_(r,e)}else return e}{let e,a;on.getChalk=({forceColor:r})=>{var t;if((t=e)!=null||(e=Gl()),r){var n;return(n=a)!=null||(a=new e.constructor({enabled:!0,level:1})),a}return e}}});var t5=c(Y0=>{"use strict";Object.defineProperty(Y0,"__esModule",{value:!0});Y0.codeFrameColumns=r5;Y0.default=q_;var Zl=Kl(),yp=k_(mp(),!0);function a5(e){if(typeof WeakMap!="function")return null;var a=new WeakMap,r=new WeakMap;return(a5=function(t){return t?r:a})(e)}function k_(e,a){if(!a&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var r=a5(a);if(r&&r.has(e))return r.get(e);var t={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(i!=="default"&&{}.hasOwnProperty.call(e,i)){var p=n?Object.getOwnPropertyDescriptor(e,i):null;p&&(p.get||p.set)?Object.defineProperty(t,i,p):t[i]=e[i]}return t.default=e,r&&r.set(e,t),t}var L_=typeof process=="object"&&(process.env.FORCE_COLOR==="0"||process.env.FORCE_COLOR==="false")?(0,yp.createColors)(!1):yp.default,Xl=(e,a)=>r=>e(a(r)),wp;function O_(e){if(e){var a;return(a=wp)!=null||(wp=(0,yp.createColors)(!0)),wp}return L_}var Ql=!1;function M_(e){return{gutter:e.gray,marker:Xl(e.red,e.bold),message:Xl(e.red,e.bold)}}var e5=/\r\n|[\n\r\u2028\u2029]/;function R_(e,a,r){let t=Object.assign({column:0,line:-1},e.start),n=Object.assign({},t,e.end),{linesAbove:i=2,linesBelow:p=3}=r||{},s=t.line,d=t.column,h=n.line,m=n.column,g=Math.max(s-(i+1),0),w=Math.min(a.length,h+p);s===-1&&(g=0),h===-1&&(w=a.length);let S=h-s,_={};if(S)for(let F=0;F<=S;F++){let D=F+s;if(!d)_[D]=!0;else if(F===0){let B=a[D-1].length;_[D]=[d,B-d+1]}else if(F===S)_[D]=[0,m];else{let B=a[D-F].length;_[D]=[0,B]}}else d===m?d?_[s]=[d,0]:_[s]=!0:_[s]=[d,m-d];return{start:g,end:w,markerLines:_}}function r5(e,a,r={}){let t=(r.highlightCode||r.forceColor)&&(0,Zl.shouldHighlight)(r),n=O_(r.forceColor),i=M_(n),p=(F,D)=>t?F(D):D,s=e.split(e5),{start:d,end:h,markerLines:m}=R_(a,s,r),g=a.start&&typeof a.start.column=="number",w=String(h).length,_=(t?(0,Zl.default)(e,r):e).split(e5,h).slice(d,h).map((F,D)=>{let B=d+1+D,C=` ${` ${B}`.slice(-w)} |`,R=m[B],j=!m[B+1];if(R){let J="";if(Array.isArray(R)){let I=F.slice(0,Math.max(R[0]-1,0)).replace(/[^\t]/g," "),W=R[1]||1;J=[` + `,p(i.gutter,C.replace(/\d/g," "))," ",I,p(i.marker,"^").repeat(W)].join(""),j&&r.message&&(J+=" "+p(i.message,r.message))}return[p(i.marker,">"),p(i.gutter,C),F.length>0?` ${F}`:"",J].join("")}else return` ${p(i.gutter,C)}${F.length>0?` ${F}`:""}`}).join(` +`);return r.message&&!g&&(_=`${" ".repeat(w+1)}${r.message} +${_}`),t?n.reset(_):_}function q_(e,a,r,t={}){if(!Ql){Ql=!0;let i="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";if(process.emitWarning)process.emitWarning(i,"DeprecationWarning");else{let p=new Error(i);p.name="DeprecationWarning",console.warn(new Error(i))}}return r=Math.max(r,0),r5(e,{start:{column:r,line:a}},t)}});var s5=c((Nq,p5)=>{"use strict";var _p=Jo(),I_=Xo(),{default:V_}=al(),{codeFrameColumns:j_}=t5(),n5=_p("JSONError",{fileName:_p.append("in %s"),codeFrame:_p.append(` + +%s +`)}),i5=(e,a,r)=>{typeof a=="string"&&(r=a,a=null);try{try{return JSON.parse(e,a)}catch(t){throw I_(e,a),t}}catch(t){t.message=t.message.replace(/\n/g,"");let n=t.message.match(/in JSON at position (\d+) while parsing/),i=new n5(t);if(r&&(i.fileName=r),n&&n.length>0){let p=new V_(e),s=Number(n[1]),d=p.locationForIndex(s),h=j_(e,{start:{line:d.line+1,column:d.column+1}},{highlightCode:!0});i.codeFrame=h}throw i}};i5.JSONError=n5;p5.exports=i5});var F5=c((Q,C5)=>{Q=C5.exports=ce;var Ce;typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?Ce=function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER"),console.log.apply(console,e)}:Ce=function(){};Q.SEMVER_SPEC_VERSION="2.0.0";var ln=256,J0=Number.MAX_SAFE_INTEGER||9007199254740991,Cp=16,G_=ln-6,un=Q.re=[],Se=Q.safeRe=[],T=Q.src=[],ue=0,Ap="[a-zA-Z0-9-]",Fp=[["\\s",1],["\\d",ln],[Ap,G_]];function ai(e){for(var a=0;a<Fp.length;a++){var r=Fp[a][0],t=Fp[a][1];e=e.split(r+"*").join(r+"{0,"+t+"}").split(r+"+").join(r+"{1,"+t+"}")}return e}var Ur=ue++;T[Ur]="0|[1-9]\\d*";var $r=ue++;T[$r]="\\d+";var Bp=ue++;T[Bp]="\\d*[a-zA-Z-]"+Ap+"*";var o5=ue++;T[o5]="("+T[Ur]+")\\.("+T[Ur]+")\\.("+T[Ur]+")";var l5=ue++;T[l5]="("+T[$r]+")\\.("+T[$r]+")\\.("+T[$r]+")";var Dp=ue++;T[Dp]="(?:"+T[Ur]+"|"+T[Bp]+")";var Sp=ue++;T[Sp]="(?:"+T[$r]+"|"+T[Bp]+")";var Pp=ue++;T[Pp]="(?:-("+T[Dp]+"(?:\\."+T[Dp]+")*))";var Np=ue++;T[Np]="(?:-?("+T[Sp]+"(?:\\."+T[Sp]+")*))";var Ep=ue++;T[Ep]=Ap+"+";var cn=ue++;T[cn]="(?:\\+("+T[Ep]+"(?:\\."+T[Ep]+")*))";var Tp=ue++,u5="v?"+T[o5]+T[Pp]+"?"+T[cn]+"?";T[Tp]="^"+u5+"$";var kp="[v=\\s]*"+T[l5]+T[Np]+"?"+T[cn]+"?",Lp=ue++;T[Lp]="^"+kp+"$";var Kr=ue++;T[Kr]="((?:<|>)?=?)";var K0=ue++;T[K0]=T[$r]+"|x|X|\\*";var Z0=ue++;T[Z0]=T[Ur]+"|x|X|\\*";var sr=ue++;T[sr]="[v=\\s]*("+T[Z0]+")(?:\\.("+T[Z0]+")(?:\\.("+T[Z0]+")(?:"+T[Pp]+")?"+T[cn]+"?)?)?";var Wr=ue++;T[Wr]="[v=\\s]*("+T[K0]+")(?:\\.("+T[K0]+")(?:\\.("+T[K0]+")(?:"+T[Np]+")?"+T[cn]+"?)?)?";var m5=ue++;T[m5]="^"+T[Kr]+"\\s*"+T[sr]+"$";var c5=ue++;T[c5]="^"+T[Kr]+"\\s*"+T[Wr]+"$";var h5=ue++;T[h5]="(?:^|[^\\d])(\\d{1,"+Cp+"})(?:\\.(\\d{1,"+Cp+"}))?(?:\\.(\\d{1,"+Cp+"}))?(?:$|[^\\d])";var ri=ue++;T[ri]="(?:~>?)";var Yr=ue++;T[Yr]="(\\s*)"+T[ri]+"\\s+";un[Yr]=new RegExp(T[Yr],"g");Se[Yr]=new RegExp(ai(T[Yr]),"g");var z_="$1~",f5=ue++;T[f5]="^"+T[ri]+T[sr]+"$";var v5=ue++;T[v5]="^"+T[ri]+T[Wr]+"$";var ti=ue++;T[ti]="(?:\\^)";var Jr=ue++;T[Jr]="(\\s*)"+T[ti]+"\\s+";un[Jr]=new RegExp(T[Jr],"g");Se[Jr]=new RegExp(ai(T[Jr]),"g");var U_="$1^",g5=ue++;T[g5]="^"+T[ti]+T[sr]+"$";var b5=ue++;T[b5]="^"+T[ti]+T[Wr]+"$";var Op=ue++;T[Op]="^"+T[Kr]+"\\s*("+kp+")$|^$";var Mp=ue++;T[Mp]="^"+T[Kr]+"\\s*("+u5+")$|^$";var dr=ue++;T[dr]="(\\s*)"+T[Kr]+"\\s*("+kp+"|"+T[sr]+")";un[dr]=new RegExp(T[dr],"g");Se[dr]=new RegExp(ai(T[dr]),"g");var $_="$1$2$3",x5=ue++;T[x5]="^\\s*("+T[sr]+")\\s+-\\s+("+T[sr]+")\\s*$";var w5=ue++;T[w5]="^\\s*("+T[Wr]+")\\s+-\\s+("+T[Wr]+")\\s*$";var y5=ue++;T[y5]="(<|>)?=?\\s*\\*";for(aa=0;aa<ue;aa++)Ce(aa,T[aa]),un[aa]||(un[aa]=new RegExp(T[aa]),Se[aa]=new RegExp(ai(T[aa])));var aa;Q.parse=or;function or(e,a){if((!a||typeof a!="object")&&(a={loose:!!a,includePrerelease:!1}),e instanceof ce)return e;if(typeof e!="string"||e.length>ln)return null;var r=a.loose?Se[Lp]:Se[Tp];if(!r.test(e))return null;try{return new ce(e,a)}catch{return null}}Q.valid=H_;function H_(e,a){var r=or(e,a);return r?r.version:null}Q.clean=W_;function W_(e,a){var r=or(e.trim().replace(/^[=v]+/,""),a);return r?r.version:null}Q.SemVer=ce;function ce(e,a){if((!a||typeof a!="object")&&(a={loose:!!a,includePrerelease:!1}),e instanceof ce){if(e.loose===a.loose)return e;e=e.version}else if(typeof e!="string")throw new TypeError("Invalid Version: "+e);if(e.length>ln)throw new TypeError("version is longer than "+ln+" characters");if(!(this instanceof ce))return new ce(e,a);Ce("SemVer",e,a),this.options=a,this.loose=!!a.loose;var r=e.trim().match(a.loose?Se[Lp]:Se[Tp]);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>J0||this.major<0)throw new TypeError("Invalid major version");if(this.minor>J0||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>J0||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map(function(t){if(/^[0-9]+$/.test(t)){var n=+t;if(n>=0&&n<J0)return n}return t}):this.prerelease=[],this.build=r[5]?r[5].split("."):[],this.format()}ce.prototype.format=function(){return this.version=this.major+"."+this.minor+"."+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version};ce.prototype.toString=function(){return this.version};ce.prototype.compare=function(e){return Ce("SemVer.compare",this.version,this.options,e),e instanceof ce||(e=new ce(e,this.options)),this.compareMain(e)||this.comparePre(e)};ce.prototype.compareMain=function(e){return e instanceof ce||(e=new ce(e,this.options)),Hr(this.major,e.major)||Hr(this.minor,e.minor)||Hr(this.patch,e.patch)};ce.prototype.comparePre=function(e){if(e instanceof ce||(e=new ce(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;var a=0;do{var r=this.prerelease[a],t=e.prerelease[a];if(Ce("prerelease compare",a,r,t),r===void 0&&t===void 0)return 0;if(t===void 0)return 1;if(r===void 0)return-1;if(r===t)continue;return Hr(r,t)}while(++a)};ce.prototype.inc=function(e,a){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",a);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",a);break;case"prepatch":this.prerelease.length=0,this.inc("patch",a),this.inc("pre",a);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",a),this.inc("pre",a);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{for(var r=this.prerelease.length;--r>=0;)typeof this.prerelease[r]=="number"&&(this.prerelease[r]++,r=-2);r===-1&&this.prerelease.push(0)}a&&(this.prerelease[0]===a?isNaN(this.prerelease[1])&&(this.prerelease=[a,0]):this.prerelease=[a,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this};Q.inc=Y_;function Y_(e,a,r,t){typeof r=="string"&&(t=r,r=void 0);try{return new ce(e,r).inc(a,t).version}catch{return null}}Q.diff=J_;function J_(e,a){if(Rp(e,a))return null;var r=or(e),t=or(a),n="";if(r.prerelease.length||t.prerelease.length){n="pre";var i="prerelease"}for(var p in r)if((p==="major"||p==="minor"||p==="patch")&&r[p]!==t[p])return n+p;return i}Q.compareIdentifiers=Hr;var d5=/^[0-9]+$/;function Hr(e,a){var r=d5.test(e),t=d5.test(a);return r&&t&&(e=+e,a=+a),e===a?0:r&&!t?-1:t&&!r?1:e<a?-1:1}Q.rcompareIdentifiers=K_;function K_(e,a){return Hr(a,e)}Q.major=Z_;function Z_(e,a){return new ce(e,a).major}Q.minor=X_;function X_(e,a){return new ce(e,a).minor}Q.patch=Q_;function Q_(e,a){return new ce(e,a).patch}Q.compare=ha;function ha(e,a,r){return new ce(e,r).compare(new ce(a,r))}Q.compareLoose=eC;function eC(e,a){return ha(e,a,!0)}Q.rcompare=aC;function aC(e,a,r){return ha(a,e,r)}Q.sort=rC;function rC(e,a){return e.sort(function(r,t){return Q.compare(r,t,a)})}Q.rsort=tC;function tC(e,a){return e.sort(function(r,t){return Q.rcompare(r,t,a)})}Q.gt=mn;function mn(e,a,r){return ha(e,a,r)>0}Q.lt=X0;function X0(e,a,r){return ha(e,a,r)<0}Q.eq=Rp;function Rp(e,a,r){return ha(e,a,r)===0}Q.neq=_5;function _5(e,a,r){return ha(e,a,r)!==0}Q.gte=qp;function qp(e,a,r){return ha(e,a,r)>=0}Q.lte=Ip;function Ip(e,a,r){return ha(e,a,r)<=0}Q.cmp=Q0;function Q0(e,a,r,t){switch(a){case"===":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e===r;case"!==":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e!==r;case"":case"=":case"==":return Rp(e,r,t);case"!=":return _5(e,r,t);case">":return mn(e,r,t);case">=":return qp(e,r,t);case"<":return X0(e,r,t);case"<=":return Ip(e,r,t);default:throw new TypeError("Invalid operator: "+a)}}Q.Comparator=O1;function O1(e,a){if((!a||typeof a!="object")&&(a={loose:!!a,includePrerelease:!1}),e instanceof O1){if(e.loose===!!a.loose)return e;e=e.value}if(!(this instanceof O1))return new O1(e,a);e=e.trim().split(/\s+/).join(" "),Ce("comparator",e,a),this.options=a,this.loose=!!a.loose,this.parse(e),this.semver===hn?this.value="":this.value=this.operator+this.semver.version,Ce("comp",this)}var hn={};O1.prototype.parse=function(e){var a=this.options.loose?Se[Op]:Se[Mp],r=e.match(a);if(!r)throw new TypeError("Invalid comparator: "+e);this.operator=r[1],this.operator==="="&&(this.operator=""),r[2]?this.semver=new ce(r[2],this.options.loose):this.semver=hn};O1.prototype.toString=function(){return this.value};O1.prototype.test=function(e){return Ce("Comparator.test",e,this.options.loose),this.semver===hn?!0:(typeof e=="string"&&(e=new ce(e,this.options)),Q0(e,this.operator,this.semver,this.options))};O1.prototype.intersects=function(e,a){if(!(e instanceof O1))throw new TypeError("a Comparator is required");(!a||typeof a!="object")&&(a={loose:!!a,includePrerelease:!1});var r;if(this.operator==="")return r=new Pe(e.value,a),ei(this.value,r,a);if(e.operator==="")return r=new Pe(this.value,a),ei(e.semver,r,a);var t=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),i=this.semver.version===e.semver.version,p=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),s=Q0(this.semver,"<",e.semver,a)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),d=Q0(this.semver,">",e.semver,a)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return t||n||i&&p||s||d};Q.Range=Pe;function Pe(e,a){if((!a||typeof a!="object")&&(a={loose:!!a,includePrerelease:!1}),e instanceof Pe)return e.loose===!!a.loose&&e.includePrerelease===!!a.includePrerelease?e:new Pe(e.raw,a);if(e instanceof O1)return new Pe(e.value,a);if(!(this instanceof Pe))return new Pe(e,a);if(this.options=a,this.loose=!!a.loose,this.includePrerelease=!!a.includePrerelease,this.raw=e.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(function(r){return this.parseRange(r.trim())},this).filter(function(r){return r.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+this.raw);this.format()}Pe.prototype.format=function(){return this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim(),this.range};Pe.prototype.toString=function(){return this.range};Pe.prototype.parseRange=function(e){var a=this.options.loose,r=a?Se[w5]:Se[x5];e=e.replace(r,cC),Ce("hyphen replace",e),e=e.replace(Se[dr],$_),Ce("comparator trim",e,Se[dr]),e=e.replace(Se[Yr],z_),e=e.replace(Se[Jr],U_);var t=a?Se[Op]:Se[Mp],n=e.split(" ").map(function(i){return iC(i,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(n=n.filter(function(i){return!!i.match(t)})),n=n.map(function(i){return new O1(i,this.options)},this),n};Pe.prototype.intersects=function(e,a){if(!(e instanceof Pe))throw new TypeError("a Range is required");return this.set.some(function(r){return r.every(function(t){return e.set.some(function(n){return n.every(function(i){return t.intersects(i,a)})})})})};Q.toComparators=nC;function nC(e,a){return new Pe(e,a).set.map(function(r){return r.map(function(t){return t.value}).join(" ").trim().split(" ")})}function iC(e,a){return Ce("comp",e,a),e=dC(e,a),Ce("caret",e),e=pC(e,a),Ce("tildes",e),e=lC(e,a),Ce("xrange",e),e=mC(e,a),Ce("stars",e),e}function g1(e){return!e||e.toLowerCase()==="x"||e==="*"}function pC(e,a){return e.trim().split(/\s+/).map(function(r){return sC(r,a)}).join(" ")}function sC(e,a){var r=a.loose?Se[v5]:Se[f5];return e.replace(r,function(t,n,i,p,s){Ce("tilde",e,t,n,i,p,s);var d;return g1(n)?d="":g1(i)?d=">="+n+".0.0 <"+(+n+1)+".0.0":g1(p)?d=">="+n+"."+i+".0 <"+n+"."+(+i+1)+".0":s?(Ce("replaceTilde pr",s),d=">="+n+"."+i+"."+p+"-"+s+" <"+n+"."+(+i+1)+".0"):d=">="+n+"."+i+"."+p+" <"+n+"."+(+i+1)+".0",Ce("tilde return",d),d})}function dC(e,a){return e.trim().split(/\s+/).map(function(r){return oC(r,a)}).join(" ")}function oC(e,a){Ce("caret",e,a);var r=a.loose?Se[b5]:Se[g5];return e.replace(r,function(t,n,i,p,s){Ce("caret",e,t,n,i,p,s);var d;return g1(n)?d="":g1(i)?d=">="+n+".0.0 <"+(+n+1)+".0.0":g1(p)?n==="0"?d=">="+n+"."+i+".0 <"+n+"."+(+i+1)+".0":d=">="+n+"."+i+".0 <"+(+n+1)+".0.0":s?(Ce("replaceCaret pr",s),n==="0"?i==="0"?d=">="+n+"."+i+"."+p+"-"+s+" <"+n+"."+i+"."+(+p+1):d=">="+n+"."+i+"."+p+"-"+s+" <"+n+"."+(+i+1)+".0":d=">="+n+"."+i+"."+p+"-"+s+" <"+(+n+1)+".0.0"):(Ce("no pr"),n==="0"?i==="0"?d=">="+n+"."+i+"."+p+" <"+n+"."+i+"."+(+p+1):d=">="+n+"."+i+"."+p+" <"+n+"."+(+i+1)+".0":d=">="+n+"."+i+"."+p+" <"+(+n+1)+".0.0"),Ce("caret return",d),d})}function lC(e,a){return Ce("replaceXRanges",e,a),e.split(/\s+/).map(function(r){return uC(r,a)}).join(" ")}function uC(e,a){e=e.trim();var r=a.loose?Se[c5]:Se[m5];return e.replace(r,function(t,n,i,p,s,d){Ce("xRange",e,t,n,i,p,s,d);var h=g1(i),m=h||g1(p),g=m||g1(s),w=g;return n==="="&&w&&(n=""),h?n===">"||n==="<"?t="<0.0.0":t="*":n&&w?(m&&(p=0),s=0,n===">"?(n=">=",m?(i=+i+1,p=0,s=0):(p=+p+1,s=0)):n==="<="&&(n="<",m?i=+i+1:p=+p+1),t=n+i+"."+p+"."+s):m?t=">="+i+".0.0 <"+(+i+1)+".0.0":g&&(t=">="+i+"."+p+".0 <"+i+"."+(+p+1)+".0"),Ce("xRange return",t),t})}function mC(e,a){return Ce("replaceStars",e,a),e.trim().replace(Se[y5],"")}function cC(e,a,r,t,n,i,p,s,d,h,m,g,w){return g1(r)?a="":g1(t)?a=">="+r+".0.0":g1(n)?a=">="+r+"."+t+".0":a=">="+a,g1(d)?s="":g1(h)?s="<"+(+d+1)+".0.0":g1(m)?s="<"+d+"."+(+h+1)+".0":g?s="<="+d+"."+h+"."+m+"-"+g:s="<="+s,(a+" "+s).trim()}Pe.prototype.test=function(e){if(!e)return!1;typeof e=="string"&&(e=new ce(e,this.options));for(var a=0;a<this.set.length;a++)if(hC(this.set[a],e,this.options))return!0;return!1};function hC(e,a,r){for(var t=0;t<e.length;t++)if(!e[t].test(a))return!1;if(a.prerelease.length&&!r.includePrerelease){for(t=0;t<e.length;t++)if(Ce(e[t].semver),e[t].semver!==hn&&e[t].semver.prerelease.length>0){var n=e[t].semver;if(n.major===a.major&&n.minor===a.minor&&n.patch===a.patch)return!0}return!1}return!0}Q.satisfies=ei;function ei(e,a,r){try{a=new Pe(a,r)}catch{return!1}return a.test(e)}Q.maxSatisfying=fC;function fC(e,a,r){var t=null,n=null;try{var i=new Pe(a,r)}catch{return null}return e.forEach(function(p){i.test(p)&&(!t||n.compare(p)===-1)&&(t=p,n=new ce(t,r))}),t}Q.minSatisfying=vC;function vC(e,a,r){var t=null,n=null;try{var i=new Pe(a,r)}catch{return null}return e.forEach(function(p){i.test(p)&&(!t||n.compare(p)===1)&&(t=p,n=new ce(t,r))}),t}Q.minVersion=gC;function gC(e,a){e=new Pe(e,a);var r=new ce("0.0.0");if(e.test(r)||(r=new ce("0.0.0-0"),e.test(r)))return r;r=null;for(var t=0;t<e.set.length;++t){var n=e.set[t];n.forEach(function(i){var p=new ce(i.semver.version);switch(i.operator){case">":p.prerelease.length===0?p.patch++:p.prerelease.push(0),p.raw=p.format();case"":case">=":(!r||mn(r,p))&&(r=p);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+i.operator)}})}return r&&e.test(r)?r:null}Q.validRange=bC;function bC(e,a){try{return new Pe(e,a).range||"*"}catch{return null}}Q.ltr=xC;function xC(e,a,r){return Vp(e,a,"<",r)}Q.gtr=wC;function wC(e,a,r){return Vp(e,a,">",r)}Q.outside=Vp;function Vp(e,a,r,t){e=new ce(e,t),a=new Pe(a,t);var n,i,p,s,d;switch(r){case">":n=mn,i=Ip,p=X0,s=">",d=">=";break;case"<":n=X0,i=qp,p=mn,s="<",d="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(ei(e,a,t))return!1;for(var h=0;h<a.set.length;++h){var m=a.set[h],g=null,w=null;if(m.forEach(function(S){S.semver===hn&&(S=new O1(">=0.0.0")),g=g||S,w=w||S,n(S.semver,g.semver,t)?g=S:p(S.semver,w.semver,t)&&(w=S)}),g.operator===s||g.operator===d||(!w.operator||w.operator===s)&&i(e,w.semver))return!1;if(w.operator===d&&p(e,w.semver))return!1}return!0}Q.prerelease=yC;function yC(e,a){var r=or(e,a);return r&&r.prerelease.length?r.prerelease:null}Q.intersects=_C;function _C(e,a,r){return e=new Pe(e,r),a=new Pe(a,r),e.intersects(a)}Q.coerce=CC;function CC(e){if(e instanceof ce)return e;if(typeof e!="string")return null;var a=e.match(Se[h5]);return a==null?null:or(a[1]+"."+(a[2]||"0")+"."+(a[3]||"0"))}});var jp=c((Tq,FC)=>{FC.exports=["0BSD","3D-Slicer-1.0","AAL","ADSL","AFL-1.1","AFL-1.2","AFL-2.0","AFL-2.1","AFL-3.0","AGPL-1.0-only","AGPL-1.0-or-later","AGPL-3.0-only","AGPL-3.0-or-later","AMD-newlib","AMDPLPA","AML","AML-glslang","AMPAS","ANTLR-PD","ANTLR-PD-fallback","APAFML","APL-1.0","APSL-1.0","APSL-1.1","APSL-1.2","APSL-2.0","ASWF-Digital-Assets-1.0","ASWF-Digital-Assets-1.1","Abstyles","AdaCore-doc","Adobe-2006","Adobe-Display-PostScript","Adobe-Glyph","Adobe-Utopia","Afmparse","Aladdin","Apache-1.0","Apache-1.1","Apache-2.0","App-s2p","Arphic-1999","Artistic-1.0","Artistic-1.0-Perl","Artistic-1.0-cl8","Artistic-2.0","BSD-1-Clause","BSD-2-Clause","BSD-2-Clause-Darwin","BSD-2-Clause-Patent","BSD-2-Clause-Views","BSD-2-Clause-first-lines","BSD-3-Clause","BSD-3-Clause-Attribution","BSD-3-Clause-Clear","BSD-3-Clause-HP","BSD-3-Clause-LBNL","BSD-3-Clause-Modification","BSD-3-Clause-No-Military-License","BSD-3-Clause-No-Nuclear-License","BSD-3-Clause-No-Nuclear-License-2014","BSD-3-Clause-No-Nuclear-Warranty","BSD-3-Clause-Open-MPI","BSD-3-Clause-Sun","BSD-3-Clause-acpica","BSD-3-Clause-flex","BSD-4-Clause","BSD-4-Clause-Shortened","BSD-4-Clause-UC","BSD-4.3RENO","BSD-4.3TAHOE","BSD-Advertising-Acknowledgement","BSD-Attribution-HPND-disclaimer","BSD-Inferno-Nettverk","BSD-Protection","BSD-Source-Code","BSD-Source-beginning-file","BSD-Systemics","BSD-Systemics-W3Works","BSL-1.0","BUSL-1.1","Baekmuk","Bahyph","Barr","Beerware","BitTorrent-1.0","BitTorrent-1.1","Bitstream-Charter","Bitstream-Vera","BlueOak-1.0.0","Boehm-GC","Borceux","Brian-Gladman-2-Clause","Brian-Gladman-3-Clause","C-UDA-1.0","CAL-1.0","CAL-1.0-Combined-Work-Exception","CATOSL-1.1","CC-BY-1.0","CC-BY-2.0","CC-BY-2.5","CC-BY-2.5-AU","CC-BY-3.0","CC-BY-3.0-AT","CC-BY-3.0-AU","CC-BY-3.0-DE","CC-BY-3.0-IGO","CC-BY-3.0-NL","CC-BY-3.0-US","CC-BY-4.0","CC-BY-NC-1.0","CC-BY-NC-2.0","CC-BY-NC-2.5","CC-BY-NC-3.0","CC-BY-NC-3.0-DE","CC-BY-NC-4.0","CC-BY-NC-ND-1.0","CC-BY-NC-ND-2.0","CC-BY-NC-ND-2.5","CC-BY-NC-ND-3.0","CC-BY-NC-ND-3.0-DE","CC-BY-NC-ND-3.0-IGO","CC-BY-NC-ND-4.0","CC-BY-NC-SA-1.0","CC-BY-NC-SA-2.0","CC-BY-NC-SA-2.0-DE","CC-BY-NC-SA-2.0-FR","CC-BY-NC-SA-2.0-UK","CC-BY-NC-SA-2.5","CC-BY-NC-SA-3.0","CC-BY-NC-SA-3.0-DE","CC-BY-NC-SA-3.0-IGO","CC-BY-NC-SA-4.0","CC-BY-ND-1.0","CC-BY-ND-2.0","CC-BY-ND-2.5","CC-BY-ND-3.0","CC-BY-ND-3.0-DE","CC-BY-ND-4.0","CC-BY-SA-1.0","CC-BY-SA-2.0","CC-BY-SA-2.0-UK","CC-BY-SA-2.1-JP","CC-BY-SA-2.5","CC-BY-SA-3.0","CC-BY-SA-3.0-AT","CC-BY-SA-3.0-DE","CC-BY-SA-3.0-IGO","CC-BY-SA-4.0","CC-PDDC","CC0-1.0","CDDL-1.0","CDDL-1.1","CDL-1.0","CDLA-Permissive-1.0","CDLA-Permissive-2.0","CDLA-Sharing-1.0","CECILL-1.0","CECILL-1.1","CECILL-2.0","CECILL-2.1","CECILL-B","CECILL-C","CERN-OHL-1.1","CERN-OHL-1.2","CERN-OHL-P-2.0","CERN-OHL-S-2.0","CERN-OHL-W-2.0","CFITSIO","CMU-Mach","CMU-Mach-nodoc","CNRI-Jython","CNRI-Python","CNRI-Python-GPL-Compatible","COIL-1.0","CPAL-1.0","CPL-1.0","CPOL-1.02","CUA-OPL-1.0","Caldera","Caldera-no-preamble","Catharon","ClArtistic","Clips","Community-Spec-1.0","Condor-1.1","Cornell-Lossless-JPEG","Cronyx","Crossword","CrystalStacker","Cube","D-FSL-1.0","DEC-3-Clause","DL-DE-BY-2.0","DL-DE-ZERO-2.0","DOC","DRL-1.0","DRL-1.1","DSDP","DocBook-Schema","DocBook-XML","Dotseqn","ECL-1.0","ECL-2.0","EFL-1.0","EFL-2.0","EPICS","EPL-1.0","EPL-2.0","EUDatagrid","EUPL-1.0","EUPL-1.1","EUPL-1.2","Elastic-2.0","Entessa","ErlPL-1.1","Eurosym","FBM","FDK-AAC","FSFAP","FSFAP-no-warranty-disclaimer","FSFUL","FSFULLR","FSFULLRWD","FTL","Fair","Ferguson-Twofish","Frameworx-1.0","FreeBSD-DOC","FreeImage","Furuseth","GCR-docs","GD","GFDL-1.1-invariants-only","GFDL-1.1-invariants-or-later","GFDL-1.1-no-invariants-only","GFDL-1.1-no-invariants-or-later","GFDL-1.1-only","GFDL-1.1-or-later","GFDL-1.2-invariants-only","GFDL-1.2-invariants-or-later","GFDL-1.2-no-invariants-only","GFDL-1.2-no-invariants-or-later","GFDL-1.2-only","GFDL-1.2-or-later","GFDL-1.3-invariants-only","GFDL-1.3-invariants-or-later","GFDL-1.3-no-invariants-only","GFDL-1.3-no-invariants-or-later","GFDL-1.3-only","GFDL-1.3-or-later","GL2PS","GLWTPL","GPL-1.0-only","GPL-1.0-or-later","GPL-2.0-only","GPL-2.0-or-later","GPL-3.0-only","GPL-3.0-or-later","Giftware","Glide","Glulxe","Graphics-Gems","Gutmann","HIDAPI","HP-1986","HP-1989","HPND","HPND-DEC","HPND-Fenneberg-Livingston","HPND-INRIA-IMAG","HPND-Intel","HPND-Kevlin-Henney","HPND-MIT-disclaimer","HPND-Markus-Kuhn","HPND-Netrek","HPND-Pbmplus","HPND-UC","HPND-UC-export-US","HPND-doc","HPND-doc-sell","HPND-export-US","HPND-export-US-acknowledgement","HPND-export-US-modify","HPND-export2-US","HPND-merchantability-variant","HPND-sell-MIT-disclaimer-xserver","HPND-sell-regexpr","HPND-sell-variant","HPND-sell-variant-MIT-disclaimer","HPND-sell-variant-MIT-disclaimer-rev","HTMLTIDY","HaskellReport","Hippocratic-2.1","IBM-pibs","ICU","IEC-Code-Components-EULA","IJG","IJG-short","IPA","IPL-1.0","ISC","ISC-Veillard","ImageMagick","Imlib2","Info-ZIP","Inner-Net-2.0","Intel","Intel-ACPI","Interbase-1.0","JPL-image","JPNIC","JSON","Jam","JasPer-2.0","Kastrup","Kazlib","Knuth-CTAN","LAL-1.2","LAL-1.3","LGPL-2.0-only","LGPL-2.0-or-later","LGPL-2.1-only","LGPL-2.1-or-later","LGPL-3.0-only","LGPL-3.0-or-later","LGPLLR","LOOP","LPD-document","LPL-1.0","LPL-1.02","LPPL-1.0","LPPL-1.1","LPPL-1.2","LPPL-1.3a","LPPL-1.3c","LZMA-SDK-9.11-to-9.20","LZMA-SDK-9.22","Latex2e","Latex2e-translated-notice","Leptonica","LiLiQ-P-1.1","LiLiQ-R-1.1","LiLiQ-Rplus-1.1","Libpng","Linux-OpenIB","Linux-man-pages-1-para","Linux-man-pages-copyleft","Linux-man-pages-copyleft-2-para","Linux-man-pages-copyleft-var","Lucida-Bitmap-Fonts","MIT","MIT-0","MIT-CMU","MIT-Festival","MIT-Khronos-old","MIT-Modern-Variant","MIT-Wu","MIT-advertising","MIT-enna","MIT-feh","MIT-open-group","MIT-testregex","MITNFA","MMIXware","MPEG-SSG","MPL-1.0","MPL-1.1","MPL-2.0","MPL-2.0-no-copyleft-exception","MS-LPL","MS-PL","MS-RL","MTLL","Mackerras-3-Clause","Mackerras-3-Clause-acknowledgment","MakeIndex","Martin-Birgmeier","McPhee-slideshow","Minpack","MirOS","Motosoto","MulanPSL-1.0","MulanPSL-2.0","Multics","Mup","NAIST-2003","NASA-1.3","NBPL-1.0","NCBI-PD","NCGL-UK-2.0","NCL","NCSA","NGPL","NICTA-1.0","NIST-PD","NIST-PD-fallback","NIST-Software","NLOD-1.0","NLOD-2.0","NLPL","NOSL","NPL-1.0","NPL-1.1","NPOSL-3.0","NRL","NTP","NTP-0","Naumen","NetCDF","Newsletr","Nokia","Noweb","O-UDA-1.0","OAR","OCCT-PL","OCLC-2.0","ODC-By-1.0","ODbL-1.0","OFFIS","OFL-1.0","OFL-1.0-RFN","OFL-1.0-no-RFN","OFL-1.1","OFL-1.1-RFN","OFL-1.1-no-RFN","OGC-1.0","OGDL-Taiwan-1.0","OGL-Canada-2.0","OGL-UK-1.0","OGL-UK-2.0","OGL-UK-3.0","OGTSL","OLDAP-1.1","OLDAP-1.2","OLDAP-1.3","OLDAP-1.4","OLDAP-2.0","OLDAP-2.0.1","OLDAP-2.1","OLDAP-2.2","OLDAP-2.2.1","OLDAP-2.2.2","OLDAP-2.3","OLDAP-2.4","OLDAP-2.5","OLDAP-2.6","OLDAP-2.7","OLDAP-2.8","OLFL-1.3","OML","OPL-1.0","OPL-UK-3.0","OPUBL-1.0","OSET-PL-2.1","OSL-1.0","OSL-1.1","OSL-2.0","OSL-2.1","OSL-3.0","OpenPBS-2.3","OpenSSL","OpenSSL-standalone","OpenVision","PADL","PDDL-1.0","PHP-3.0","PHP-3.01","PPL","PSF-2.0","Parity-6.0.0","Parity-7.0.0","Pixar","Plexus","PolyForm-Noncommercial-1.0.0","PolyForm-Small-Business-1.0.0","PostgreSQL","Python-2.0","Python-2.0.1","QPL-1.0","QPL-1.0-INRIA-2004","Qhull","RHeCos-1.1","RPL-1.1","RPL-1.5","RPSL-1.0","RSA-MD","RSCPL","Rdisc","Ruby","Ruby-pty","SAX-PD","SAX-PD-2.0","SCEA","SGI-B-1.0","SGI-B-1.1","SGI-B-2.0","SGI-OpenGL","SGP4","SHL-0.5","SHL-0.51","SISSL","SISSL-1.2","SL","SMLNJ","SMPPL","SNIA","SPL-1.0","SSH-OpenSSH","SSH-short","SSLeay-standalone","SSPL-1.0","SWL","Saxpath","SchemeReport","Sendmail","Sendmail-8.23","SimPL-2.0","Sleepycat","Soundex","Spencer-86","Spencer-94","Spencer-99","SugarCRM-1.1.3","Sun-PPP","Sun-PPP-2000","SunPro","Symlinks","TAPR-OHL-1.0","TCL","TCP-wrappers","TGPPL-1.0","TMate","TORQUE-1.1","TOSL","TPDL","TPL-1.0","TTWL","TTYP0","TU-Berlin-1.0","TU-Berlin-2.0","TermReadKey","UCAR","UCL-1.0","UMich-Merit","UPL-1.0","URT-RLE","Ubuntu-font-1.0","Unicode-3.0","Unicode-DFS-2015","Unicode-DFS-2016","Unicode-TOU","UnixCrypt","Unlicense","VOSTROM","VSL-1.0","Vim","W3C","W3C-19980720","W3C-20150513","WTFPL","Watcom-1.0","Widget-Workshop","Wsuipa","X11","X11-distribute-modifications-variant","X11-swapped","XFree86-1.1","XSkat","Xdebug-1.03","Xerox","Xfig","Xnet","YPL-1.0","YPL-1.1","ZPL-1.1","ZPL-2.0","ZPL-2.1","Zed","Zeeff","Zend-2.0","Zimbra-1.3","Zimbra-1.4","Zlib","any-OSI","bcrypt-Solar-Designer","blessing","bzip2-1.0.6","check-cvs","checkmk","copyleft-next-0.3.0","copyleft-next-0.3.1","curl","cve-tou","diffmark","dtoa","dvipdfm","eGenix","etalab-2.0","fwlw","gSOAP-1.3b","gnuplot","gtkbook","hdparm","iMatix","libpng-2.0","libselinux-1.0","libtiff","libutil-David-Nugent","lsof","magaz","mailprio","metamail","mpi-permissive","mpich2","mplus","pkgconf","pnmstitch","psfrag","psutils","python-ldap","radvd","snprintf","softSurfer","ssh-keyscan","swrule","threeparttable","ulem","w3m","xinetd","xkeyboard-config-Zinoviev","xlock","xpp","xzoom","zlib-acknowledgement"]});var D5=c((kq,DC)=>{DC.exports=["AGPL-1.0","AGPL-3.0","BSD-2-Clause-FreeBSD","BSD-2-Clause-NetBSD","GFDL-1.1","GFDL-1.2","GFDL-1.3","GPL-1.0","GPL-2.0","GPL-2.0-with-GCC-exception","GPL-2.0-with-autoconf-exception","GPL-2.0-with-bison-exception","GPL-2.0-with-classpath-exception","GPL-2.0-with-font-exception","GPL-3.0","GPL-3.0-with-GCC-exception","GPL-3.0-with-autoconf-exception","LGPL-2.0","LGPL-2.1","LGPL-3.0","Net-SNMP","Nunit","StandardML-NJ","bzip2-1.0.5","eCos-2.0","wxWindows"]});var S5=c((Lq,SC)=>{SC.exports=["389-exception","Asterisk-exception","Autoconf-exception-2.0","Autoconf-exception-3.0","Autoconf-exception-generic","Autoconf-exception-generic-3.0","Autoconf-exception-macro","Bison-exception-1.24","Bison-exception-2.2","Bootloader-exception","Classpath-exception-2.0","CLISP-exception-2.0","cryptsetup-OpenSSL-exception","DigiRule-FOSS-exception","eCos-exception-2.0","Fawkes-Runtime-exception","FLTK-exception","fmt-exception","Font-exception-2.0","freertos-exception-2.0","GCC-exception-2.0","GCC-exception-2.0-note","GCC-exception-3.1","Gmsh-exception","GNAT-exception","GNOME-examples-exception","GNU-compiler-exception","gnu-javamail-exception","GPL-3.0-interface-exception","GPL-3.0-linking-exception","GPL-3.0-linking-source-exception","GPL-CC-1.0","GStreamer-exception-2005","GStreamer-exception-2008","i2p-gpl-java-exception","KiCad-libraries-exception","LGPL-3.0-linking-exception","libpri-OpenH323-exception","Libtool-exception","Linux-syscall-note","LLGPL","LLVM-exception","LZMA-exception","mif-exception","OCaml-LGPL-linking-exception","OCCT-exception-1.0","OpenJDK-assembly-exception-1.0","openvpn-openssl-exception","PS-or-PDF-font-exception-20170817","QPL-1.0-INRIA-2004-exception","Qt-GPL-exception-1.0","Qt-LGPL-exception-1.1","Qwt-exception-1.0","SANE-exception","SHL-2.0","SHL-2.1","stunnel-exception","SWI-exception","Swift-exception","Texinfo-exception","u-boot-exception-2.0","UBDL-exception","Universal-FOSS-exception-1.0","vsftpd-openssl-exception","WxWindows-exception-3.1","x11vnc-openssl-exception"]});var A5=c((Oq,E5)=>{"use strict";var EC=[].concat(jp()).concat(D5()),AC=S5();E5.exports=function(e){var a=0;function r(){return a<e.length}function t(_){if(_ instanceof RegExp){var F=e.slice(a),D=F.match(_);if(D)return a+=D[0].length,D[0]}else if(e.indexOf(_,a)===a)return a+=_.length,_}function n(){t(/[ ]*/)}function i(){for(var _,F=["WITH","AND","OR","(",")",":","+"],D=0;D<F.length&&(_=t(F[D]),!_);D++);if(_==="+"&&a>1&&e[a-2]===" ")throw new Error("Space before `+`");return _&&{type:"OPERATOR",string:_}}function p(){return t(/[A-Za-z0-9-.]+/)}function s(){var _=p();if(!_)throw new Error("Expected idstring at offset "+a);return _}function d(){if(t("DocumentRef-")){var _=s();return{type:"DOCUMENTREF",string:_}}}function h(){if(t("LicenseRef-")){var _=s();return{type:"LICENSEREF",string:_}}}function m(){var _=a,F=p();if(EC.indexOf(F)!==-1)return{type:"LICENSE",string:F};if(AC.indexOf(F)!==-1)return{type:"EXCEPTION",string:F};a=_}function g(){return i()||d()||h()||m()}for(var w=[];r()&&(n(),!!r());){var S=g();if(!S)throw new Error("Unexpected `"+e[a]+"` at offset "+a);w.push(S)}return w}});var P5=c((Mq,B5)=>{"use strict";B5.exports=function(e){var a=0;function r(){return a<e.length}function t(){return r()?e[a]:null}function n(){if(!r())throw new Error;a++}function i(F){var D=t();if(D&&D.type==="OPERATOR"&&F===D.string)return n(),D.string}function p(){if(i("WITH")){var F=t();if(F&&F.type==="EXCEPTION")return n(),F.string;throw new Error("Expected exception after `WITH`")}}function s(){var F=a,D="",B=t();if(B.type==="DOCUMENTREF"&&(n(),D+="DocumentRef-"+B.string+":",!i(":")))throw new Error("Expected `:` after `DocumentRef-...`");if(B=t(),B.type==="LICENSEREF")return n(),D+="LicenseRef-"+B.string,{license:D};a=F}function d(){var F=t();if(F&&F.type==="LICENSE"){n();var D={license:F.string};i("+")&&(D.plus=!0);var B=p();return B&&(D.exception=B),D}}function h(){var F=i("(");if(F){var D=S();if(!i(")"))throw new Error("Expected `)`");return D}}function m(){return h()||s()||d()}function g(F,D){return function B(){var k=D();if(k){if(!i(F))return k;var C=B();if(!C)throw new Error("Expected expression");return{left:k,conjunction:F.toLowerCase(),right:C}}}}var w=g("AND",m),S=g("OR",w),_=S();if(!_||r())throw new Error("Syntax error");return _}});var Gp=c((Rq,N5)=>{"use strict";var BC=A5(),PC=P5();N5.exports=function(e){return PC(BC(e))}});var V5=c((qq,I5)=>{var NC=Gp(),TC=jp();function ni(e){try{return NC(e),!0}catch{return!1}}function q5(e,a){var r=a[0].length-e[0].length;return r!==0?r:e[0].toUpperCase().localeCompare(a[0].toUpperCase())}var T5=[["APGL","AGPL"],["Gpl","GPL"],["GLP","GPL"],["APL","Apache"],["ISD","ISC"],["GLP","GPL"],["IST","ISC"],["Claude","Clause"],[" or later","+"],[" International",""],["GNU","GPL"],["GUN","GPL"],["+",""],["GNU GPL","GPL"],["GNU LGPL","LGPL"],["GNU/GPL","GPL"],["GNU GLP","GPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL"],["GNU Lesser General Public License","LGPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["GNU Lesser General Public License","LGPL-2.1"],["LESSER GENERAL PUBLIC LICENSE","LGPL"],["Lesser General Public License","LGPL"],["LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["Lesser General Public License","LGPL-2.1"],["GNU General Public License","GPL"],["Gnu public license","GPL"],["GNU Public License","GPL"],["GNU GENERAL PUBLIC LICENSE","GPL"],["MTI","MIT"],["Mozilla Public License","MPL"],["Universal Permissive License","UPL"],["WTH","WTF"],["WTFGPL","WTFPL"],["-License",""]].sort(q5),kC=0,LC=1,k5=[function(e){return e.toUpperCase()},function(e){return e.trim()},function(e){return e.replace(/\./g,"")},function(e){return e.replace(/\s+/g,"")},function(e){return e.replace(/\s+/g,"-")},function(e){return e.replace("v","-")},function(e){return e.replace(/,?\s*(\d)/,"-$1")},function(e){return e.replace(/,?\s*(\d)/,"-$1.0")},function(e){return e.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2")},function(e){return e.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2.0")},function(e){return e[0].toUpperCase()+e.slice(1)},function(e){return e.replace("/","-")},function(e){return e.replace(/\s*V\s*(\d)/,"-$1").replace(/(\d)$/,"$1.0")},function(e){return e.indexOf("3.0")!==-1?e+"-or-later":e+"-only"},function(e){return e+"only"},function(e){return e.replace(/(\d)$/,"-$1.0")},function(e){return e.replace(/(-| )?(\d)$/,"-$2-Clause")},function(e){return e.replace(/(-| )clause(-| )(\d)/,"-$3-Clause")},function(e){return e.replace(/\b(Modified|New|Revised)(-| )?BSD((-| )License)?/i,"BSD-3-Clause")},function(e){return e.replace(/\bSimplified(-| )?BSD((-| )License)?/i,"BSD-2-Clause")},function(e){return e.replace(/\b(Free|Net)(-| )?BSD((-| )License)?/i,"BSD-2-Clause-$1BSD")},function(e){return e.replace(/\bClear(-| )?BSD((-| )License)?/i,"BSD-3-Clause-Clear")},function(e){return e.replace(/\b(Old|Original)(-| )?BSD((-| )License)?/i,"BSD-4-Clause")},function(e){return"CC-"+e},function(e){return"CC-"+e+"-4.0"},function(e){return e.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")},function(e){return"CC-"+e.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")+"-4.0"}],zp=TC.map(function(e){var a=/^(.*)-\d+\.\d+$/.exec(e);return a?[a[0],a[1]]:[e,null]}).reduce(function(e,a){var r=a[1];return e[r]=e[r]||[],e[r].push(a[0]),e},{}),OC=Object.keys(zp).map(function(a){return[a,zp[a]]}).filter(function(a){return a[1].length===1&&a[0]!==null&&a[0]!=="APL"}).map(function(a){return[a[0],a[1][0]]});zp=void 0;var L5=[["UNLI","Unlicense"],["WTF","WTFPL"],["2 CLAUSE","BSD-2-Clause"],["2-CLAUSE","BSD-2-Clause"],["3 CLAUSE","BSD-3-Clause"],["3-CLAUSE","BSD-3-Clause"],["AFFERO","AGPL-3.0-or-later"],["AGPL","AGPL-3.0-or-later"],["APACHE","Apache-2.0"],["ARTISTIC","Artistic-2.0"],["Affero","AGPL-3.0-or-later"],["BEER","Beerware"],["BOOST","BSL-1.0"],["BSD","BSD-2-Clause"],["CDDL","CDDL-1.1"],["ECLIPSE","EPL-1.0"],["FUCK","WTFPL"],["GNU","GPL-3.0-or-later"],["LGPL","LGPL-3.0-or-later"],["GPLV1","GPL-1.0-only"],["GPL-1","GPL-1.0-only"],["GPLV2","GPL-2.0-only"],["GPL-2","GPL-2.0-only"],["GPL","GPL-3.0-or-later"],["MIT +NO-FALSE-ATTRIBS","MITNFA"],["MIT","MIT"],["MPL","MPL-2.0"],["X11","X11"],["ZLIB","Zlib"]].concat(OC).sort(q5),MC=0,RC=1,O5=function(e){for(var a=0;a<k5.length;a++){var r=k5[a](e).trim();if(r!==e&&ni(r))return r}return null},M5=function(e){for(var a=e.toUpperCase(),r=0;r<L5.length;r++){var t=L5[r];if(a.indexOf(t[MC])>-1)return t[RC]}return null},R5=function(e,a){for(var r=0;r<T5.length;r++){var t=T5[r],n=t[kC];if(e.indexOf(n)>-1){var i=e.replace(n,t[LC]),p=a(i);if(p!==null)return p}}return null};I5.exports=function(e,a){a=a||{};var r=a.upgrade===void 0?!0:!!a.upgrade;function t(s){return r?qC(s):s}var n=typeof e=="string"&&e.trim().length!==0;if(!n)throw Error("Invalid argument. Expected non-empty string.");if(e=e.trim(),ni(e))return t(e);var i=e.replace(/\+$/,"").trim();if(ni(i))return t(i);var p=O5(e);return p!==null||(p=R5(e,function(s){return ni(s)?s:O5(s)}),p!==null)||(p=M5(e),p!==null)||(p=R5(e,M5),p!==null)?t(p):null};function qC(e){return["GPL-1.0","LGPL-1.0","AGPL-1.0","GPL-2.0","LGPL-2.0","AGPL-2.0","LGPL-2.1"].indexOf(e)!==-1?e+"-only":["GPL-1.0+","GPL-2.0+","GPL-3.0+","LGPL-2.0+","LGPL-2.1+","LGPL-3.0+","AGPL-1.0+","AGPL-3.0+"].indexOf(e)!==-1?e.replace(/\+$/,"-or-later"):["GPL-3.0","LGPL-3.0","AGPL-3.0"].indexOf(e)!==-1?e+"-or-later":e}});var U5=c((Iq,z5)=>{var IC=Gp(),VC=V5(),j5='license should be a valid SPDX license expression (without "LicenseRef"), "UNLICENSED", or "SEE LICENSE IN <filename>"',jC=/^SEE LICEN[CS]E IN (.+)$/;function G5(e,a){return a.slice(0,e.length)===e}function Up(e){if(e.hasOwnProperty("license")){var a=e.license;return G5("LicenseRef",a)||G5("DocumentRef",a)}else return Up(e.left)||Up(e.right)}z5.exports=function(e){var a;try{a=IC(e)}catch{var r;if(e==="UNLICENSED"||e==="UNLICENCED")return{validForOldPackages:!0,validForNewPackages:!0,unlicensed:!0};if(r=jC.exec(e))return{validForOldPackages:!0,validForNewPackages:!0,inFile:r[1]};var t={validForOldPackages:!1,validForNewPackages:!1,warnings:[j5]};if(e.trim().length!==0){var n=VC(e);n&&t.warnings.push('license is similar to the valid expression "'+n+'"')}return t}return Up(a)?{validForNewPackages:!1,validForOldPackages:!1,spdx:!0,warnings:[j5]}:{validForNewPackages:!0,validForOldPackages:!0,spdx:!0}}});var $p=c((Vq,W5)=>{"use strict";var fn=W5.exports={github:{protocols:["git","http","git+ssh","git+https","ssh","https"],domain:"github.com",treepath:"tree",filetemplate:"https://{auth@}raw.githubusercontent.com/{user}/{project}/{committish}/{path}",bugstemplate:"https://{domain}/{user}/{project}/issues",gittemplate:"git://{auth@}{domain}/{user}/{project}.git{#committish}",tarballtemplate:"https://codeload.{domain}/{user}/{project}/tar.gz/{committish}"},bitbucket:{protocols:["git+ssh","git+https","ssh","https"],domain:"bitbucket.org",treepath:"src",tarballtemplate:"https://{domain}/{user}/{project}/get/{committish}.tar.gz"},gitlab:{protocols:["git+ssh","git+https","ssh","https"],domain:"gitlab.com",treepath:"tree",bugstemplate:"https://{domain}/{user}/{project}/issues",httpstemplate:"git+https://{auth@}{domain}/{user}/{projectPath}.git{#committish}",tarballtemplate:"https://{domain}/{user}/{project}/repository/archive.tar.gz?ref={committish}",pathmatch:/^[/]([^/]+)[/]((?!.*(\/-\/|\/repository\/archive\.tar\.gz\?=.*|\/repository\/[^/]+\/archive.tar.gz$)).*?)(?:[.]git|[/])?$/},gist:{protocols:["git","git+ssh","git+https","ssh","https"],domain:"gist.github.com",pathmatch:/^[/](?:([^/]+)[/])?([a-z0-9]{32,})(?:[.]git)?$/,filetemplate:"https://gist.githubusercontent.com/{user}/{project}/raw{/committish}/{path}",bugstemplate:"https://{domain}/{project}",gittemplate:"git://{domain}/{project}.git{#committish}",sshtemplate:"git@{domain}:/{project}.git{#committish}",sshurltemplate:"git+ssh://git@{domain}/{project}.git{#committish}",browsetemplate:"https://{domain}/{project}{/committish}",browsefiletemplate:"https://{domain}/{project}{/committish}{#path}",docstemplate:"https://{domain}/{project}{/committish}",httpstemplate:"git+https://{domain}/{project}.git{#committish}",shortcuttemplate:"{type}:{project}{#committish}",pathtemplate:"{project}{#committish}",tarballtemplate:"https://codeload.github.com/gist/{project}/tar.gz/{committish}",hashformat:function(e){return"file-"+H5(e)}}},$5={sshtemplate:"git@{domain}:{user}/{project}.git{#committish}",sshurltemplate:"git+ssh://git@{domain}/{user}/{project}.git{#committish}",browsetemplate:"https://{domain}/{user}/{project}{/tree/committish}",browsefiletemplate:"https://{domain}/{user}/{project}/{treepath}/{committish}/{path}{#fragment}",docstemplate:"https://{domain}/{user}/{project}{/tree/committish}#readme",httpstemplate:"git+https://{auth@}{domain}/{user}/{project}.git{#committish}",filetemplate:"https://{domain}/{user}/{project}/raw/{committish}/{path}",shortcuttemplate:"{type}:{user}/{project}{#committish}",pathtemplate:"{user}/{project}{#committish}",pathmatch:/^[/]([^/]+)[/]([^/]+?)(?:[.]git|[/])?$/,hashformat:H5};Object.keys(fn).forEach(function(e){Object.keys($5).forEach(function(a){fn[e][a]||(fn[e][a]=$5[a])}),fn[e].protocols_re=RegExp("^("+fn[e].protocols.map(function(a){return a.replace(/([\\+*{}()[\]$^|])/g,"\\$1")}).join("|")+"):$")});function H5(e){return e.toLowerCase().replace(/^\W+|\/|\W+$/g,"").replace(/\W+/g,"-")}});var K5=c((jq,J5)=>{"use strict";var Y5=$p(),Zr=Object.assign||function(a,r){if(r===null||typeof r!="object")return a;for(var t=Object.keys(r),n=t.length;n--;)a[t[n]]=r[t[n]];return a};J5.exports=s1;function s1(e,a,r,t,n,i,p){var s=this;s.type=e,Object.keys(Y5[e]).forEach(function(d){s[d]=Y5[e][d]}),s.user=a,s.auth=r,s.project=t,s.committish=n,s.default=i,s.opts=p||{}}s1.prototype.hash=function(){return this.committish?"#"+this.committish:""};s1.prototype._fill=function(e,a){if(e){var r=Zr({},a);r.path=r.path?r.path.replace(/^[/]+/g,""):"",a=Zr(Zr({},this.opts),a);var t=this;Object.keys(this).forEach(function(m){t[m]!=null&&r[m]==null&&(r[m]=t[m])});var n=r.auth,i=r.committish,p=r.fragment,s=r.path,d=r.project;Object.keys(r).forEach(function(m){var g=r[m];(m==="path"||m==="project")&&typeof g=="string"?r[m]=g.split("/").map(function(w){return encodeURIComponent(w)}).join("/"):r[m]=encodeURIComponent(g)}),r["auth@"]=n?n+"@":"",r["#fragment"]=p?"#"+this.hashformat(p):"",r.fragment=r.fragment?r.fragment:"",r["#path"]=s?"#"+this.hashformat(s):"",r["/path"]=r.path?"/"+r.path:"",r.projectPath=d.split("/").map(encodeURIComponent).join("/"),a.noCommittish?(r["#committish"]="",r["/tree/committish"]="",r["/committish"]="",r.committish=""):(r["#committish"]=i?"#"+i:"",r["/tree/committish"]=r.committish?"/"+r.treepath+"/"+r.committish:"",r["/committish"]=r.committish?"/"+r.committish:"",r.committish=r.committish||"master");var h=e;return Object.keys(r).forEach(function(m){h=h.replace(new RegExp("[{]"+m+"[}]","g"),r[m])}),a.noGitPlus?h.replace(/^git[+]/,""):h}};s1.prototype.ssh=function(e){return this._fill(this.sshtemplate,e)};s1.prototype.sshurl=function(e){return this._fill(this.sshurltemplate,e)};s1.prototype.browse=function(e,a,r){return typeof e=="string"?(typeof a!="string"&&(r=a,a=null),this._fill(this.browsefiletemplate,Zr({fragment:a,path:e},r))):this._fill(this.browsetemplate,e)};s1.prototype.docs=function(e){return this._fill(this.docstemplate,e)};s1.prototype.bugs=function(e){return this._fill(this.bugstemplate,e)};s1.prototype.https=function(e){return this._fill(this.httpstemplate,e)};s1.prototype.git=function(e){return this._fill(this.gittemplate,e)};s1.prototype.shortcut=function(e){return this._fill(this.shortcuttemplate,e)};s1.prototype.path=function(e){return this._fill(this.pathtemplate,e)};s1.prototype.tarball=function(e){var a=Zr({},e,{noCommittish:!1});return this._fill(this.tarballtemplate,a)};s1.prototype.file=function(e,a){return this._fill(this.filetemplate,Zr({path:e},a))};s1.prototype.getDefaultRepresentation=function(){return this.default};s1.prototype.toString=function(e){return this.default&&typeof this[this.default]=="function"?this[this.default](e):this.sshurl(e)}});var X5=c((Gq,Wp)=>{"use strict";var ii=require("url"),Z5=$p(),GC=Wp.exports=K5(),zC={"git+ssh:":"sshurl","git+https:":"https","ssh:":"sshurl","git:":"git"};function UC(e){return zC[e]||e.slice(0,-1)}var $C={"git:":!0,"https:":!0,"git+https:":!0,"http:":!0,"git+http:":!0},Hp={};Wp.exports.fromUrl=function(e,a){if(typeof e=="string"){var r=e+JSON.stringify(a||{});return r in Hp||(Hp[r]=HC(e,a)),Hp[r]}};function HC(e,a){if(!(e==null||e==="")){var r=YC(WC(e)?"github:"+e:e),t=JC(r),n=r.match(/^([^:]+):(?:[^@]+@)?(?:([^/]*)\/)?([^#]+)/),i=Object.keys(Z5).map(function(p){try{var s=Z5[p],d=null;t.auth&&$C[t.protocol]&&(d=t.auth);var h=t.hash?decodeURIComponent(t.hash.substr(1)):null,m=null,g=null,w=null;if(n&&n[1]===p)m=n[2]&&decodeURIComponent(n[2]),g=decodeURIComponent(n[3].replace(/\.git$/,"")),w="shortcut";else{if(t.host&&t.host!==s.domain&&t.host.replace(/^www[.]/,"")!==s.domain||!s.protocols_re.test(t.protocol)||!t.path)return;var S=s.pathmatch,_=t.path.match(S);if(!_)return;_[1]!==null&&_[1]!==void 0&&(m=decodeURIComponent(_[1].replace(/^:/,""))),g=decodeURIComponent(_[2]),w=UC(t.protocol)}return new GC(p,m,d,g,h,w,a)}catch(F){if(!(F instanceof URIError))throw F}}).filter(function(p){return p});if(i.length===1)return i[0]}}function WC(e){return/^[^:@%/\s.-][^:@%/\s]*[/][^:@\s/%]+(?:#.*)?$/.test(e)}function YC(e){var a=ii.parse(e);return a.protocol==="gist:"&&a.host&&!a.path?a.protocol+"/"+a.host:e}function JC(e){var a=e.match(/^([^@]+)@([^:/]+):[/]?((?:[^/]+[/])?[^/]+?)(?:[.]git)?(#.*)?$/);if(!a){var r=ii.parse(e);if(r.auth&&typeof ii.URL=="function"){var t=e.match(/[^@]+@[^:/]+/);if(t){var n=new ii.URL(t[0]);r.auth=n.username||"",n.password&&(r.auth+=":"+n.password)}}return r}return{protocol:"git+ssh:",slashes:!0,auth:a[1],host:a[2],port:null,hostname:a[2],hash:a[4],search:null,query:null,pathname:"/"+a[3],path:"/"+a[3],href:"git+ssh://"+a[1]+"@"+a[2]+"/"+a[3]+(a[4]||"")}}});var Yp=c((zq,Q5)=>{"use strict";var KC=require("os");Q5.exports=KC.homedir||function(){var a=process.env.HOME,r=process.env.LOGNAME||process.env.USER||process.env.LNAME||process.env.USERNAME;return process.platform==="win32"?process.env.USERPROFILE||process.env.HOMEDRIVE+process.env.HOMEPATH||a||null:process.platform==="darwin"?a||(r?"/Users/"+r:null):process.platform==="linux"?a||(process.getuid()===0?"/root":r?"/home/"+r:null):a||null}});var Jp=c((Uq,e3)=>{e3.exports=function(){var e=Error.prepareStackTrace;Error.prepareStackTrace=function(r,t){return t};var a=new Error().stack;return Error.prepareStackTrace=e,a[2].getFileName()}});var a3=c(($q,vn)=>{"use strict";var ZC=process.platform==="win32",XC=/^(((?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?[\\\/]?)(?:[^\\\/]*[\\\/])*)((\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))[\\\/]*$/,Kp={};function QC(e){return XC.exec(e).slice(1)}Kp.parse=function(e){if(typeof e!="string")throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var a=QC(e);if(!a||a.length!==5)throw new TypeError("Invalid path '"+e+"'");return{root:a[1],dir:a[0]===a[1]?a[0]:a[0].slice(0,-1),base:a[2],ext:a[4],name:a[3]}};var eF=/^((\/?)(?:[^\/]*\/)*)((\.{1,2}|[^\/]+?|)(\.[^.\/]*|))[\/]*$/,Zp={};function aF(e){return eF.exec(e).slice(1)}Zp.parse=function(e){if(typeof e!="string")throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var a=aF(e);if(!a||a.length!==5)throw new TypeError("Invalid path '"+e+"'");return{root:a[1],dir:a[0].slice(0,-1),base:a[2],ext:a[4],name:a[3]}};ZC?vn.exports=Kp.parse:vn.exports=Zp.parse;vn.exports.posix=Zp.parse;vn.exports.win32=Kp.parse});var Xp=c((Hq,i3)=>{var n3=require("path"),r3=n3.parse||a3(),t3=function(a,r){var t="/";/^([A-Za-z]:)/.test(a)?t="":/^\\\\/.test(a)&&(t="\\\\");for(var n=[a],i=r3(a);i.dir!==n[n.length-1];)n.push(i.dir),i=r3(i.dir);return n.reduce(function(p,s){return p.concat(r.map(function(d){return n3.resolve(t,s,d)}))},[])};i3.exports=function(a,r,t){var n=r&&r.moduleDirectory?[].concat(r.moduleDirectory):["node_modules"];if(r&&typeof r.paths=="function")return r.paths(t,a,function(){return t3(a,n)},r);var i=t3(a,n);return r&&r.paths?i.concat(r.paths):i}});var Qp=c((Wq,p3)=>{p3.exports=function(e,a){return a||{}}});var o3=c((Yq,d3)=>{"use strict";var rF="Function.prototype.bind called on incompatible ",tF=Object.prototype.toString,nF=Math.max,iF="[object Function]",s3=function(a,r){for(var t=[],n=0;n<a.length;n+=1)t[n]=a[n];for(var i=0;i<r.length;i+=1)t[i+a.length]=r[i];return t},pF=function(a,r){for(var t=[],n=r||0,i=0;n<a.length;n+=1,i+=1)t[i]=a[n];return t},sF=function(e,a){for(var r="",t=0;t<e.length;t+=1)r+=e[t],t+1<e.length&&(r+=a);return r};d3.exports=function(a){var r=this;if(typeof r!="function"||tF.apply(r)!==iF)throw new TypeError(rF+r);for(var t=pF(arguments,1),n,i=function(){if(this instanceof n){var m=r.apply(this,s3(t,arguments));return Object(m)===m?m:this}return r.apply(a,s3(t,arguments))},p=nF(0,r.length-t.length),s=[],d=0;d<p;d++)s[d]="$"+d;if(n=Function("binder","return function ("+sF(s,",")+"){ return binder.apply(this,arguments); }")(i),r.prototype){var h=function(){};h.prototype=r.prototype,n.prototype=new h,h.prototype=null}return n}});var u3=c((Jq,l3)=>{"use strict";var dF=o3();l3.exports=Function.prototype.bind||dF});var c3=c((Kq,m3)=>{"use strict";var oF=Function.prototype.call,lF=Object.prototype.hasOwnProperty,uF=u3();m3.exports=uF.call(oF,lF)});var h3=c((Zq,mF)=>{mF.exports={assert:!0,"node:assert":[">= 14.18 && < 15",">= 16"],"assert/strict":">= 15","node:assert/strict":">= 16",async_hooks:">= 8","node:async_hooks":[">= 14.18 && < 15",">= 16"],buffer_ieee754:">= 0.5 && < 0.9.7",buffer:!0,"node:buffer":[">= 14.18 && < 15",">= 16"],child_process:!0,"node:child_process":[">= 14.18 && < 15",">= 16"],cluster:">= 0.5","node:cluster":[">= 14.18 && < 15",">= 16"],console:!0,"node:console":[">= 14.18 && < 15",">= 16"],constants:!0,"node:constants":[">= 14.18 && < 15",">= 16"],crypto:!0,"node:crypto":[">= 14.18 && < 15",">= 16"],_debug_agent:">= 1 && < 8",_debugger:"< 8",dgram:!0,"node:dgram":[">= 14.18 && < 15",">= 16"],diagnostics_channel:[">= 14.17 && < 15",">= 15.1"],"node:diagnostics_channel":[">= 14.18 && < 15",">= 16"],dns:!0,"node:dns":[">= 14.18 && < 15",">= 16"],"dns/promises":">= 15","node:dns/promises":">= 16",domain:">= 0.7.12","node:domain":[">= 14.18 && < 15",">= 16"],events:!0,"node:events":[">= 14.18 && < 15",">= 16"],freelist:"< 6",fs:!0,"node:fs":[">= 14.18 && < 15",">= 16"],"fs/promises":[">= 10 && < 10.1",">= 14"],"node:fs/promises":[">= 14.18 && < 15",">= 16"],_http_agent:">= 0.11.1","node:_http_agent":[">= 14.18 && < 15",">= 16"],_http_client:">= 0.11.1","node:_http_client":[">= 14.18 && < 15",">= 16"],_http_common:">= 0.11.1","node:_http_common":[">= 14.18 && < 15",">= 16"],_http_incoming:">= 0.11.1","node:_http_incoming":[">= 14.18 && < 15",">= 16"],_http_outgoing:">= 0.11.1","node:_http_outgoing":[">= 14.18 && < 15",">= 16"],_http_server:">= 0.11.1","node:_http_server":[">= 14.18 && < 15",">= 16"],http:!0,"node:http":[">= 14.18 && < 15",">= 16"],http2:">= 8.8","node:http2":[">= 14.18 && < 15",">= 16"],https:!0,"node:https":[">= 14.18 && < 15",">= 16"],inspector:">= 8","node:inspector":[">= 14.18 && < 15",">= 16"],"inspector/promises":[">= 19"],"node:inspector/promises":[">= 19"],_linklist:"< 8",module:!0,"node:module":[">= 14.18 && < 15",">= 16"],net:!0,"node:net":[">= 14.18 && < 15",">= 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:!0,"node:os":[">= 14.18 && < 15",">= 16"],path:!0,"node:path":[">= 14.18 && < 15",">= 16"],"path/posix":">= 15.3","node:path/posix":">= 16","path/win32":">= 15.3","node:path/win32":">= 16",perf_hooks:">= 8.5","node:perf_hooks":[">= 14.18 && < 15",">= 16"],process:">= 1","node:process":[">= 14.18 && < 15",">= 16"],punycode:">= 0.5","node:punycode":[">= 14.18 && < 15",">= 16"],querystring:!0,"node:querystring":[">= 14.18 && < 15",">= 16"],readline:!0,"node:readline":[">= 14.18 && < 15",">= 16"],"readline/promises":">= 17","node:readline/promises":">= 17",repl:!0,"node:repl":[">= 14.18 && < 15",">= 16"],"node:sea":[">= 20.12 && < 21",">= 21.7"],smalloc:">= 0.11.5 && < 3",_stream_duplex:">= 0.9.4","node:_stream_duplex":[">= 14.18 && < 15",">= 16"],_stream_transform:">= 0.9.4","node:_stream_transform":[">= 14.18 && < 15",">= 16"],_stream_wrap:">= 1.4.1","node:_stream_wrap":[">= 14.18 && < 15",">= 16"],_stream_passthrough:">= 0.9.4","node:_stream_passthrough":[">= 14.18 && < 15",">= 16"],_stream_readable:">= 0.9.4","node:_stream_readable":[">= 14.18 && < 15",">= 16"],_stream_writable:">= 0.9.4","node:_stream_writable":[">= 14.18 && < 15",">= 16"],stream:!0,"node:stream":[">= 14.18 && < 15",">= 16"],"stream/consumers":">= 16.7","node:stream/consumers":">= 16.7","stream/promises":">= 15","node:stream/promises":">= 16","stream/web":">= 16.5","node:stream/web":">= 16.5",string_decoder:!0,"node:string_decoder":[">= 14.18 && < 15",">= 16"],sys:[">= 0.4 && < 0.7",">= 0.8"],"node:sys":[">= 14.18 && < 15",">= 16"],"test/reporters":">= 19.9 && < 20.2","node:test/reporters":[">= 18.17 && < 19",">= 19.9",">= 20"],"test/mock_loader":">= 22.3 && < 22.7","node:test/mock_loader":">= 22.3 && < 22.7","node:test":[">= 16.17 && < 17",">= 18"],timers:!0,"node:timers":[">= 14.18 && < 15",">= 16"],"timers/promises":">= 15","node:timers/promises":">= 16",_tls_common:">= 0.11.13","node:_tls_common":[">= 14.18 && < 15",">= 16"],_tls_legacy:">= 0.11.3 && < 10",_tls_wrap:">= 0.11.3","node:_tls_wrap":[">= 14.18 && < 15",">= 16"],tls:!0,"node:tls":[">= 14.18 && < 15",">= 16"],trace_events:">= 10","node:trace_events":[">= 14.18 && < 15",">= 16"],tty:!0,"node:tty":[">= 14.18 && < 15",">= 16"],url:!0,"node:url":[">= 14.18 && < 15",">= 16"],util:!0,"node:util":[">= 14.18 && < 15",">= 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":[">= 14.18 && < 15",">= 16"],vm:!0,"node:vm":[">= 14.18 && < 15",">= 16"],wasi:[">= 13.4 && < 13.5",">= 18.17 && < 19",">= 20"],"node:wasi":[">= 18.17 && < 19",">= 20"],worker_threads:">= 11.7","node:worker_threads":[">= 14.18 && < 15",">= 16"],zlib:">= 0.5","node:zlib":[">= 14.18 && < 15",">= 16"]}});var gn=c((Xq,g3)=>{"use strict";var cF=c3();function hF(e,a){for(var r=e.split("."),t=a.split(" "),n=t.length>1?t[0]:"=",i=(t.length>1?t[1]:t[0]).split("."),p=0;p<3;++p){var s=parseInt(r[p]||0,10),d=parseInt(i[p]||0,10);if(s!==d)return n==="<"?s<d:n===">="?s>=d:!1}return n===">="}function f3(e,a){var r=a.split(/ ?&& ?/);if(r.length===0)return!1;for(var t=0;t<r.length;++t)if(!hF(e,r[t]))return!1;return!0}function fF(e,a){if(typeof a=="boolean")return a;var r=typeof e>"u"?process.versions&&process.versions.node:e;if(typeof r!="string")throw new TypeError(typeof e>"u"?"Unable to determine current node version":"If provided, a valid node version is required");if(a&&typeof a=="object"){for(var t=0;t<a.length;++t)if(f3(r,a[t]))return!0;return!1}return f3(r,a)}var v3=h3();g3.exports=function(a,r){return cF(v3,a)&&fF(r,v3[a])}});var w3=c((Qq,x3)=>{var lr=require("fs"),vF=Yp(),je=require("path"),gF=Jp(),bF=Xp(),xF=Qp(),wF=gn(),yF=process.platform!=="win32"&&lr.realpath&&typeof lr.realpath.native=="function"?lr.realpath.native:lr.realpath,b3=vF(),_F=function(){return[je.join(b3,".node_modules"),je.join(b3,".node_libraries")]},CF=function(a,r){lr.stat(a,function(t,n){return t?t.code==="ENOENT"||t.code==="ENOTDIR"?r(null,!1):r(t):r(null,n.isFile()||n.isFIFO())})},FF=function(a,r){lr.stat(a,function(t,n){return t?t.code==="ENOENT"||t.code==="ENOTDIR"?r(null,!1):r(t):r(null,n.isDirectory())})},DF=function(a,r){yF(a,function(t,n){t&&t.code!=="ENOENT"?r(t):r(null,t?a:n)})},bn=function(a,r,t,n){t&&t.preserveSymlinks===!1?a(r,n):n(null,r)},SF=function(a,r,t){a(r,function(n,i){if(n)t(n);else try{var p=JSON.parse(i);t(null,p)}catch{t(null)}})},EF=function(a,r,t){for(var n=bF(r,t,a),i=0;i<n.length;i++)n[i]=je.join(n[i],a);return n};x3.exports=function(a,r,t){var n=t,i=r;if(typeof r=="function"&&(n=i,i={}),typeof a!="string"){var p=new TypeError("Path must be a string.");return process.nextTick(function(){n(p)})}i=xF(a,i);var s=i.isFile||CF,d=i.isDirectory||FF,h=i.readFile||lr.readFile,m=i.realpath||DF,g=i.readPackage||SF;if(i.readFile&&i.readPackage){var w=new TypeError("`readFile` and `readPackage` are mutually exclusive.");return process.nextTick(function(){n(w)})}var S=i.packageIterator,_=i.extensions||[".js"],F=i.includeCoreModules!==!1,D=i.basedir||je.dirname(gF()),B=i.filename||D;i.paths=i.paths||_F();var k=je.resolve(D);bn(m,k,i,function(O,$){O?n(O):R($)});var C;function R(O){if(/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(a))C=je.resolve(O,a),(a==="."||a===".."||a.slice(-1)==="/")&&(C+="/"),/\/$/.test(a)&&C===O?W(C,i.package,j):J(C,i.package,j);else{if(F&&wF(a))return n(null,a);be(a,O,function($,se,q){if($)n($);else{if(se)return bn(m,se,i,function(xe,ve){xe?n(xe):n(null,ve,q)});var ee=new Error("Cannot find module '"+a+"' from '"+B+"'");ee.code="MODULE_NOT_FOUND",n(ee)}})}}function j(O,$,se){O?n(O):$?n(null,$,se):W(C,function(q,ee,xe){if(q)n(q);else if(ee)bn(m,ee,i,function(_e,Ne){_e?n(_e):n(null,Ne,xe)});else{var ve=new Error("Cannot find module '"+a+"' from '"+B+"'");ve.code="MODULE_NOT_FOUND",n(ve)}})}function J(O,$,se){var q=$,ee=se;typeof q=="function"&&(ee=q,q=void 0);var xe=[""].concat(_);ve(xe,O,q);function ve(_e,Ne,He){if(_e.length===0)return ee(null,void 0,He);var y1=Ne+_e[0],u1=He;u1?Re(null,u1):I(je.dirname(y1),Re);function Re(r1,z1,x1){if(u1=z1,r1)return ee(r1);if(x1&&u1&&i.pathFilter){var za=je.relative(x1,y1),wa=za.slice(0,za.length-_e[0].length),ya=i.pathFilter(u1,Ne,wa);if(ya)return ve([""].concat(_.slice()),je.resolve(x1,ya),u1)}s(y1,pa)}function pa(r1,z1){if(r1)return ee(r1);if(z1)return ee(null,y1,u1);ve(_e.slice(1),Ne,u1)}}}function I(O,$){if(O===""||O==="/"||process.platform==="win32"&&/^\w:[/\\]*$/.test(O)||/[/\\]node_modules[/\\]*$/.test(O))return $(null);bn(m,O,i,function(se,q){if(se)return I(je.dirname(O),$);var ee=je.join(q,"package.json");s(ee,function(xe,ve){if(!ve)return I(je.dirname(O),$);g(h,ee,function(_e,Ne){_e&&$(_e);var He=Ne;He&&i.packageFilter&&(He=i.packageFilter(He,ee)),$(null,He,O)})})})}function W(O,$,se){var q=se,ee=$;typeof ee=="function"&&(q=ee,ee=i.package),bn(m,O,i,function(xe,ve){if(xe)return q(xe);var _e=je.join(ve,"package.json");s(_e,function(Ne,He){if(Ne)return q(Ne);if(!He)return J(je.join(O,"index"),ee,q);g(h,_e,function(y1,u1){if(y1)return q(y1);var Re=u1;if(Re&&i.packageFilter&&(Re=i.packageFilter(Re,_e)),Re&&Re.main){if(typeof Re.main!="string"){var pa=new TypeError("package \u201C"+Re.name+"\u201D `main` must be a string");return pa.code="INVALID_PACKAGE_MAIN",q(pa)}(Re.main==="."||Re.main==="./")&&(Re.main="index"),J(je.resolve(O,Re.main),Re,function(r1,z1,x1){if(r1)return q(r1);if(z1)return q(null,z1,x1);if(!x1)return J(je.join(O,"index"),x1,q);var za=je.resolve(O,x1.main);W(za,x1,function(wa,ya,Ua){if(wa)return q(wa);if(ya)return q(null,ya,Ua);J(je.join(O,"index"),Ua,q)})});return}J(je.join(O,"/index"),Re,q)})})})}function X(O,$){if($.length===0)return O(null,void 0);var se=$[0];d(je.dirname(se),q);function q(ve,_e){if(ve)return O(ve);if(!_e)return X(O,$.slice(1));J(se,i.package,ee)}function ee(ve,_e,Ne){if(ve)return O(ve);if(_e)return O(null,_e,Ne);W(se,i.package,xe)}function xe(ve,_e,Ne){if(ve)return O(ve);if(_e)return O(null,_e,Ne);X(O,$.slice(1))}}function be(O,$,se){var q=function(){return EF(O,$,i)};X(se,S?S(O,$,q,i):q())}}});var y3=c((eI,AF)=>{AF.exports={assert:!0,"node:assert":[">= 14.18 && < 15",">= 16"],"assert/strict":">= 15","node:assert/strict":">= 16",async_hooks:">= 8","node:async_hooks":[">= 14.18 && < 15",">= 16"],buffer_ieee754:">= 0.5 && < 0.9.7",buffer:!0,"node:buffer":[">= 14.18 && < 15",">= 16"],child_process:!0,"node:child_process":[">= 14.18 && < 15",">= 16"],cluster:">= 0.5","node:cluster":[">= 14.18 && < 15",">= 16"],console:!0,"node:console":[">= 14.18 && < 15",">= 16"],constants:!0,"node:constants":[">= 14.18 && < 15",">= 16"],crypto:!0,"node:crypto":[">= 14.18 && < 15",">= 16"],_debug_agent:">= 1 && < 8",_debugger:"< 8",dgram:!0,"node:dgram":[">= 14.18 && < 15",">= 16"],diagnostics_channel:[">= 14.17 && < 15",">= 15.1"],"node:diagnostics_channel":[">= 14.18 && < 15",">= 16"],dns:!0,"node:dns":[">= 14.18 && < 15",">= 16"],"dns/promises":">= 15","node:dns/promises":">= 16",domain:">= 0.7.12","node:domain":[">= 14.18 && < 15",">= 16"],events:!0,"node:events":[">= 14.18 && < 15",">= 16"],freelist:"< 6",fs:!0,"node:fs":[">= 14.18 && < 15",">= 16"],"fs/promises":[">= 10 && < 10.1",">= 14"],"node:fs/promises":[">= 14.18 && < 15",">= 16"],_http_agent:">= 0.11.1","node:_http_agent":[">= 14.18 && < 15",">= 16"],_http_client:">= 0.11.1","node:_http_client":[">= 14.18 && < 15",">= 16"],_http_common:">= 0.11.1","node:_http_common":[">= 14.18 && < 15",">= 16"],_http_incoming:">= 0.11.1","node:_http_incoming":[">= 14.18 && < 15",">= 16"],_http_outgoing:">= 0.11.1","node:_http_outgoing":[">= 14.18 && < 15",">= 16"],_http_server:">= 0.11.1","node:_http_server":[">= 14.18 && < 15",">= 16"],http:!0,"node:http":[">= 14.18 && < 15",">= 16"],http2:">= 8.8","node:http2":[">= 14.18 && < 15",">= 16"],https:!0,"node:https":[">= 14.18 && < 15",">= 16"],inspector:">= 8","node:inspector":[">= 14.18 && < 15",">= 16"],"inspector/promises":[">= 19"],"node:inspector/promises":[">= 19"],_linklist:"< 8",module:!0,"node:module":[">= 14.18 && < 15",">= 16"],net:!0,"node:net":[">= 14.18 && < 15",">= 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:!0,"node:os":[">= 14.18 && < 15",">= 16"],path:!0,"node:path":[">= 14.18 && < 15",">= 16"],"path/posix":">= 15.3","node:path/posix":">= 16","path/win32":">= 15.3","node:path/win32":">= 16",perf_hooks:">= 8.5","node:perf_hooks":[">= 14.18 && < 15",">= 16"],process:">= 1","node:process":[">= 14.18 && < 15",">= 16"],punycode:">= 0.5","node:punycode":[">= 14.18 && < 15",">= 16"],querystring:!0,"node:querystring":[">= 14.18 && < 15",">= 16"],readline:!0,"node:readline":[">= 14.18 && < 15",">= 16"],"readline/promises":">= 17","node:readline/promises":">= 17",repl:!0,"node:repl":[">= 14.18 && < 15",">= 16"],smalloc:">= 0.11.5 && < 3",_stream_duplex:">= 0.9.4","node:_stream_duplex":[">= 14.18 && < 15",">= 16"],_stream_transform:">= 0.9.4","node:_stream_transform":[">= 14.18 && < 15",">= 16"],_stream_wrap:">= 1.4.1","node:_stream_wrap":[">= 14.18 && < 15",">= 16"],_stream_passthrough:">= 0.9.4","node:_stream_passthrough":[">= 14.18 && < 15",">= 16"],_stream_readable:">= 0.9.4","node:_stream_readable":[">= 14.18 && < 15",">= 16"],_stream_writable:">= 0.9.4","node:_stream_writable":[">= 14.18 && < 15",">= 16"],stream:!0,"node:stream":[">= 14.18 && < 15",">= 16"],"stream/consumers":">= 16.7","node:stream/consumers":">= 16.7","stream/promises":">= 15","node:stream/promises":">= 16","stream/web":">= 16.5","node:stream/web":">= 16.5",string_decoder:!0,"node:string_decoder":[">= 14.18 && < 15",">= 16"],sys:[">= 0.4 && < 0.7",">= 0.8"],"node:sys":[">= 14.18 && < 15",">= 16"],"test/reporters":">= 19.9 && < 20.2","node:test/reporters":[">= 18.17 && < 19",">= 19.9",">= 20"],"node:test":[">= 16.17 && < 17",">= 18"],timers:!0,"node:timers":[">= 14.18 && < 15",">= 16"],"timers/promises":">= 15","node:timers/promises":">= 16",_tls_common:">= 0.11.13","node:_tls_common":[">= 14.18 && < 15",">= 16"],_tls_legacy:">= 0.11.3 && < 10",_tls_wrap:">= 0.11.3","node:_tls_wrap":[">= 14.18 && < 15",">= 16"],tls:!0,"node:tls":[">= 14.18 && < 15",">= 16"],trace_events:">= 10","node:trace_events":[">= 14.18 && < 15",">= 16"],tty:!0,"node:tty":[">= 14.18 && < 15",">= 16"],url:!0,"node:url":[">= 14.18 && < 15",">= 16"],util:!0,"node:util":[">= 14.18 && < 15",">= 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":[">= 14.18 && < 15",">= 16"],vm:!0,"node:vm":[">= 14.18 && < 15",">= 16"],wasi:[">= 13.4 && < 13.5",">= 18.17 && < 19",">= 20"],"node:wasi":[">= 18.17 && < 19",">= 20"],worker_threads:">= 11.7","node:worker_threads":[">= 14.18 && < 15",">= 16"],zlib:">= 0.5","node:zlib":[">= 14.18 && < 15",">= 16"]}});var D3=c((aI,F3)=>{"use strict";var BF=gn(),_3=y3(),C3={};for(pi in _3)Object.prototype.hasOwnProperty.call(_3,pi)&&(C3[pi]=BF(pi));var pi;F3.exports=C3});var E3=c((rI,S3)=>{var PF=gn();S3.exports=function(a){return PF(a)}});var P3=c((tI,B3)=>{var NF=gn(),ur=require("fs"),d1=require("path"),TF=Yp(),kF=Jp(),LF=Xp(),OF=Qp(),MF=process.platform!=="win32"&&ur.realpathSync&&typeof ur.realpathSync.native=="function"?ur.realpathSync.native:ur.realpathSync,A3=TF(),RF=function(){return[d1.join(A3,".node_modules"),d1.join(A3,".node_libraries")]},qF=function(a){try{var r=ur.statSync(a,{throwIfNoEntry:!1})}catch(t){if(t&&(t.code==="ENOENT"||t.code==="ENOTDIR"))return!1;throw t}return!!r&&(r.isFile()||r.isFIFO())},IF=function(a){try{var r=ur.statSync(a,{throwIfNoEntry:!1})}catch(t){if(t&&(t.code==="ENOENT"||t.code==="ENOTDIR"))return!1;throw t}return!!r&&r.isDirectory()},VF=function(a){try{return MF(a)}catch(r){if(r.code!=="ENOENT")throw r}return a},xn=function(a,r,t){return t&&t.preserveSymlinks===!1?a(r):r},jF=function(a,r){var t=a(r);try{var n=JSON.parse(t);return n}catch{}},GF=function(a,r,t){for(var n=LF(r,t,a),i=0;i<n.length;i++)n[i]=d1.join(n[i],a);return n};B3.exports=function(a,r){if(typeof a!="string")throw new TypeError("Path must be a string.");var t=OF(a,r),n=t.isFile||qF,i=t.readFileSync||ur.readFileSync,p=t.isDirectory||IF,s=t.realpathSync||VF,d=t.readPackageSync||jF;if(t.readFileSync&&t.readPackageSync)throw new TypeError("`readFileSync` and `readPackageSync` are mutually exclusive.");var h=t.packageIterator,m=t.extensions||[".js"],g=t.includeCoreModules!==!1,w=t.basedir||d1.dirname(kF()),S=t.filename||w;t.paths=t.paths||RF();var _=xn(s,d1.resolve(w),t);if(/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(a)){var F=d1.resolve(_,a);(a==="."||a===".."||a.slice(-1)==="/")&&(F+="/");var D=C(F)||j(F);if(D)return xn(s,D,t)}else{if(g&&NF(a))return a;var B=J(a,_);if(B)return xn(s,B,t)}var k=new Error("Cannot find module '"+a+"' from '"+S+"'");throw k.code="MODULE_NOT_FOUND",k;function C(I){var W=R(d1.dirname(I));if(W&&W.dir&&W.pkg&&t.pathFilter){var X=d1.relative(W.dir,I),be=t.pathFilter(W.pkg,I,X);be&&(I=d1.resolve(W.dir,be))}if(n(I))return I;for(var O=0;O<m.length;O++){var $=I+m[O];if(n($))return $}}function R(I){if(!(I===""||I==="/")&&!(process.platform==="win32"&&/^\w:[/\\]*$/.test(I))&&!/[/\\]node_modules[/\\]*$/.test(I)){var W=d1.join(xn(s,I,t),"package.json");if(!n(W))return R(d1.dirname(I));var X=d(i,W);return X&&t.packageFilter&&(X=t.packageFilter(X,I)),{pkg:X,dir:I}}}function j(I){var W=d1.join(xn(s,I,t),"/package.json");if(n(W)){try{var X=d(i,W)}catch{}if(X&&t.packageFilter&&(X=t.packageFilter(X,I)),X&&X.main){if(typeof X.main!="string"){var be=new TypeError("package \u201C"+X.name+"\u201D `main` must be a string");throw be.code="INVALID_PACKAGE_MAIN",be}(X.main==="."||X.main==="./")&&(X.main="index");try{var O=C(d1.resolve(I,X.main));if(O)return O;var $=j(d1.resolve(I,X.main));if($)return $}catch{}}}return C(d1.join(I,"/index"))}function J(I,W){for(var X=function(){return GF(I,W,t)},be=h?h(I,W,X,t):X(),O=0;O<be.length;O++){var $=be[O];if(p(d1.dirname($))){var se=C($);if(se)return se;var q=j($);if(q)return q}}}}});var T3=c((nI,N3)=>{var si=w3();si.core=D3();si.isCore=E3();si.sync=P3();N3.exports=si});var L3=c((iI,k3)=>{k3.exports=zF;function zF(e){if(e&&e!=="ERROR: No README data found!"){e=e.trim().split(` +`);for(var a=0;e[a]&&e[a].trim().match(/^(#|$)/);a++);for(var r=e.length,t=a+1;t<r&&e[t].trim();t++);return e.slice(a,t).join(" ").trim()}}});var O3=c((pI,UF)=>{UF.exports={topLevel:{dependancies:"dependencies",dependecies:"dependencies",depdenencies:"dependencies",devEependencies:"devDependencies",depends:"dependencies","dev-dependencies":"devDependencies",devDependences:"devDependencies",devDepenencies:"devDependencies",devdependencies:"devDependencies",repostitory:"repository",repo:"repository",prefereGlobal:"preferGlobal",hompage:"homepage",hampage:"homepage",autohr:"author",autor:"author",contributers:"contributors",publicationConfig:"publishConfig",script:"scripts"},bugs:{web:"url",name:"url"},script:{server:"start",tests:"test"}}});var I3=c((dI,q3)=>{var M3=F5(),$F=U5(),di=X5(),HF=T3().isCore,WF=["dependencies","devDependencies","optionalDependencies"],YF=L3(),es=require("url"),La=O3(),sI=q3.exports={warn:function(){},fixRepositoryField:function(e){if(e.repositories&&(this.warn("repositories"),e.repository=e.repositories[0]),!e.repository)return this.warn("missingRepository");typeof e.repository=="string"&&(e.repository={type:"git",url:e.repository});var a=e.repository.url||"";if(a){var r=di.fromUrl(a);r&&(a=e.repository.url=r.getDefaultRepresentation()=="shortcut"?r.https():r.toString())}a.match(/github.com\/[^\/]+\/[^\/]+\.git\.git$/)&&this.warn("brokenGitUrl",a)},fixTypos:function(e){Object.keys(La.topLevel).forEach(function(a){e.hasOwnProperty(a)&&this.warn("typo",a,La.topLevel[a])},this)},fixScriptsField:function(e){if(e.scripts){if(typeof e.scripts!="object"){this.warn("nonObjectScripts"),delete e.scripts;return}Object.keys(e.scripts).forEach(function(a){typeof e.scripts[a]!="string"?(this.warn("nonStringScript"),delete e.scripts[a]):La.script[a]&&!e.scripts[La.script[a]]&&this.warn("typo",a,La.script[a],"scripts")},this)}},fixFilesField:function(e){var a=e.files;a&&!Array.isArray(a)?(this.warn("nonArrayFiles"),delete e.files):e.files&&(e.files=e.files.filter(function(r){return!r||typeof r!="string"?(this.warn("invalidFilename",r),!1):!0},this))},fixBinField:function(e){if(e.bin&&typeof e.bin=="string"){var a={},r;(r=e.name.match(/^@[^/]+[/](.*)$/))?a[r[1]]=e.bin:a[e.name]=e.bin,e.bin=a}},fixManField:function(e){e.man&&typeof e.man=="string"&&(e.man=[e.man])},fixBundleDependenciesField:function(e){var a="bundledDependencies",r="bundleDependencies";e[a]&&!e[r]&&(e[r]=e[a],delete e[a]),e[r]&&!Array.isArray(e[r])?(this.warn("nonArrayBundleDependencies"),delete e[r]):e[r]&&(e[r]=e[r].filter(function(t){return!t||typeof t!="string"?(this.warn("nonStringBundleDependency",t),!1):(e.dependencies||(e.dependencies={}),e.dependencies.hasOwnProperty(t)||(this.warn("nonDependencyBundleDependency",t),e.dependencies[t]="*"),!0)},this))},fixDependencies:function(e,a){var r=!a;rD(e,this.warn),eD(e,this.warn),this.fixBundleDependenciesField(e),["dependencies","devDependencies"].forEach(function(t){if(t in e){if(!e[t]||typeof e[t]!="object"){this.warn("nonObjectDependencies",t),delete e[t];return}Object.keys(e[t]).forEach(function(n){var i=e[t][n];typeof i!="string"&&(this.warn("nonStringDependency",n,JSON.stringify(i)),delete e[t][n]);var p=di.fromUrl(e[t][n]);p&&(e[t][n]=p.toString())},this)}},this)},fixModulesField:function(e){e.modules&&(this.warn("deprecatedModules"),delete e.modules)},fixKeywordsField:function(e){typeof e.keywords=="string"&&(e.keywords=e.keywords.split(/,\s+/)),e.keywords&&!Array.isArray(e.keywords)?(delete e.keywords,this.warn("nonArrayKeywords")):e.keywords&&(e.keywords=e.keywords.filter(function(a){return typeof a!="string"||!a?(this.warn("nonStringKeyword"),!1):!0},this))},fixVersionField:function(e,a){var r=!a;if(!e.version)return e.version="",!0;if(!M3.valid(e.version,r))throw new Error('Invalid version: "'+e.version+'"');return e.version=M3.clean(e.version,r),!0},fixPeople:function(e){R3(e,XF),R3(e,QF)},fixNameField:function(e,a){typeof a=="boolean"?a={strict:a}:typeof a>"u"&&(a={});var r=a.strict;if(!e.name&&!r){e.name="";return}if(typeof e.name!="string")throw new Error("name field must be a string.");r||(e.name=e.name.trim()),ZF(e.name,r,a.allowLegacyCase),HF(e.name)&&this.warn("conflictingName",e.name)},fixDescriptionField:function(e){e.description&&typeof e.description!="string"&&(this.warn("nonStringDescription"),delete e.description),e.readme&&!e.description&&(e.description=YF(e.readme)),e.description===void 0&&delete e.description,e.description||this.warn("missingDescription")},fixReadmeField:function(e){e.readme||(this.warn("missingReadme"),e.readme="ERROR: No README data found!")},fixBugsField:function(e){if(!e.bugs&&e.repository&&e.repository.url){var a=di.fromUrl(e.repository.url);a&&a.bugs()&&(e.bugs={url:a.bugs()})}else if(e.bugs){var r=/^.+@.*\..+$/;if(typeof e.bugs=="string")r.test(e.bugs)?e.bugs={email:e.bugs}:es.parse(e.bugs).protocol?e.bugs={url:e.bugs}:this.warn("nonEmailUrlBugsString");else{tD(e.bugs,this.warn);var t=e.bugs;e.bugs={},t.url&&(typeof t.url=="string"&&es.parse(t.url).protocol?e.bugs.url=t.url:this.warn("nonUrlBugsUrlField")),t.email&&(typeof t.email=="string"&&r.test(t.email)?e.bugs.email=t.email:this.warn("nonEmailBugsEmailField"))}!e.bugs.email&&!e.bugs.url&&(delete e.bugs,this.warn("emptyNormalizedBugs"))}},fixHomepageField:function(e){if(!e.homepage&&e.repository&&e.repository.url){var a=di.fromUrl(e.repository.url);a&&a.docs()&&(e.homepage=a.docs())}if(e.homepage){if(typeof e.homepage!="string")return this.warn("nonUrlHomepage"),delete e.homepage;es.parse(e.homepage).protocol||(e.homepage="http://"+e.homepage)}},fixLicenseField:function(e){if(e.license)typeof e.license!="string"||e.license.length<1||e.license.trim()===""?this.warn("invalidLicense"):$F(e.license).validForNewPackages||this.warn("invalidLicense");else return this.warn("missingLicense")}};function JF(e){if(e.charAt(0)!=="@")return!1;var a=e.slice(1).split("/");return a.length!==2?!1:a[0]&&a[1]&&a[0]===encodeURIComponent(a[0])&&a[1]===encodeURIComponent(a[1])}function KF(e){return!e.match(/[\/@\s\+%:]/)&&e===encodeURIComponent(e)}function ZF(e,a,r){if(e.charAt(0)==="."||!(JF(e)||KF(e))||a&&!r&&e!==e.toLowerCase()||e.toLowerCase()==="node_modules"||e.toLowerCase()==="favicon.ico")throw new Error("Invalid name: "+JSON.stringify(e))}function R3(e,a){return e.author&&(e.author=a(e.author)),["maintainers","contributors"].forEach(function(r){Array.isArray(e[r])&&(e[r]=e[r].map(a))}),e}function XF(e){if(typeof e=="string")return e;var a=e.name||"",r=e.url||e.web,t=r?" ("+r+")":"",n=e.email||e.mail,i=n?" <"+n+">":"";return a+i+t}function QF(e){if(typeof e!="string")return e;var a=e.match(/^([^\(<]+)/),r=e.match(/\(([^\)]+)\)/),t=e.match(/<([^>]+)>/),n={};return a&&a[0].trim()&&(n.name=a[0].trim()),t&&(n.email=t[1]),r&&(n.url=r[1]),n}function eD(e,a){var r=e.optionalDependencies;if(r){var t=e.dependencies||{};Object.keys(r).forEach(function(n){t[n]=r[n]}),e.dependencies=t}}function aD(e,a,r){if(!e)return{};if(typeof e=="string"&&(e=e.trim().split(/[\n\r\s\t ,]+/)),!Array.isArray(e))return e;r("deprecatedArrayDependencies",a);var t={};return e.filter(function(n){return typeof n=="string"}).forEach(function(n){n=n.trim().split(/(:?[@\s><=])/);var i=n.shift(),p=n.join("");p=p.trim(),p=p.replace(/^@/,""),t[i]=p}),t}function rD(e,a){WF.forEach(function(r){e[r]&&(e[r]=aD(e[r],r,a))})}function tD(e,a){e&&Object.keys(e).forEach(function(r){La.bugs[r]&&(a("typo",r,La.bugs[r],"bugs"),e[La.bugs[r]]=e[r],delete e[r])})}});var V3=c((oI,nD)=>{nD.exports={repositories:"'repositories' (plural) Not supported. Please pick one as the 'repository' field",missingRepository:"No repository field.",brokenGitUrl:"Probably broken git url: %s",nonObjectScripts:"scripts must be an object",nonStringScript:"script values must be string commands",nonArrayFiles:"Invalid 'files' member",invalidFilename:"Invalid filename in 'files' list: %s",nonArrayBundleDependencies:"Invalid 'bundleDependencies' list. Must be array of package names",nonStringBundleDependency:"Invalid bundleDependencies member: %s",nonDependencyBundleDependency:"Non-dependency in bundleDependencies: %s",nonObjectDependencies:"%s field must be an object",nonStringDependency:"Invalid dependency: %s %s",deprecatedArrayDependencies:"specifying %s as array is deprecated",deprecatedModules:"modules field is deprecated",nonArrayKeywords:"keywords should be an array of strings",nonStringKeyword:"keywords should be an array of strings",conflictingName:"%s is also the name of a node core module.",nonStringDescription:"'description' field should be a string",missingDescription:"No description",missingReadme:"No README data",missingLicense:"No license field.",nonEmailUrlBugsString:"Bug string field must be url, email, or {email,url}",nonUrlBugsUrlField:"bugs.url field must be a string url. Deleted.",nonEmailBugsEmailField:"bugs.email field must be a string email. Deleted.",emptyNormalizedBugs:"Normalized value of bugs field is an empty object. Deleted.",nonUrlHomepage:"homepage field must be a string url. Deleted.",invalidLicense:"license should be a valid SPDX license expression",typo:"%s should probably be %s."}});var z3=c((lI,G3)=>{var j3=require("util"),as=V3();G3.exports=function(){var e=Array.prototype.slice.call(arguments,0),a=e.shift();if(a=="typo")return iD.apply(null,e);var r=as[a]?as[a]:a+": '%s'";return e.unshift(r),j3.format.apply(null,e)};function iD(e,a,r){return r&&(e=r+"['"+e+"']",a=r+"['"+a+"']"),j3.format(as.typo,e,a)}});var ns=c((uI,H3)=>{H3.exports=U3;var rs=I3();U3.fixer=rs;var pD=z3(),sD=["name","version","description","repository","modules","scripts","files","bin","man","bugs","keywords","readme","homepage","license"],dD=["dependencies","people","typos"],ts=sD.map(function(e){return $3(e)+"Field"});ts=ts.concat(dD);function U3(e,a,r){a===!0&&(a=null,r=!0),r||(r=!1),(!a||e.private)&&(a=function(t){}),e.scripts&&e.scripts.install==="node-gyp rebuild"&&!e.scripts.preinstall&&(e.gypfile=!0),rs.warn=function(){a(pD.apply(null,arguments))},ts.forEach(function(t){rs["fix"+$3(t)](e,r)}),e._id=e.name+"@"+e.version}function $3(e){return e.charAt(0).toUpperCase()+e.slice(1)}});var K3=c((mI,is)=>{"use strict";var{promisify:oD}=require("util"),W3=require("fs"),Y3=require("path"),J3=s5(),lD=oD(W3.readFile);is.exports=async e=>{e={cwd:process.cwd(),normalize:!0,...e};let a=Y3.resolve(e.cwd,"package.json"),r=J3(await lD(a,"utf8"));return e.normalize&&ns()(r),r};is.exports.sync=e=>{e={cwd:process.cwd(),normalize:!0,...e};let a=Y3.resolve(e.cwd,"package.json"),r=J3(W3.readFileSync(a,"utf8"));return e.normalize&&ns()(r),r}});var e9=c((cI,ps)=>{"use strict";var Z3=require("path"),X3=$o(),Q3=K3();ps.exports=async e=>{let a=await X3("package.json",e);if(a)return{packageJson:await Q3({...e,cwd:Z3.dirname(a)}),path:a}};ps.exports.sync=e=>{let a=X3.sync("package.json",e);if(a)return{packageJson:Q3.sync({...e,cwd:Z3.dirname(a)}),path:a}}});var a9=c(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.crossLaunchCommand=Xr.callbackLaunchCommand=void 0;var mr=require("@raycast/api"),uD=e9(),mD=async(e,a)=>(0,mr.launchCommand)({...e,context:{...e.context,...a}});Xr.callbackLaunchCommand=mD;var cD=async(e,a)=>{if(a===!1)return(0,mr.launchCommand)(e);let r=(0,uD.sync)({cwd:__dirname,normalize:!1}),t=mr.environment.ownerOrAuthorName??r?.packageJson?.owner??r?.packageJson?.author;if("ownerOrAuthorName"in e){let n=`${e.ownerOrAuthorName}/${e.extensionName}`;if(!r?.packageJson?.crossExtensions?.includes(n)){let i=`Target extension '${n}' should be listed in 'crossExtensions' of package.json.`;console.error(i);return}}return(0,mr.launchCommand)({...e,context:{...e.context,callbackLaunchOptions:{name:mr.environment.commandName,extensionName:mr.environment.extensionName,ownerOrAuthorName:t,type:mr.LaunchType.UserInitiated,...a}}})};Xr.crossLaunchCommand=cD});var r9=c((wn,yn)=>{(function(){var e,a,r,t,n,i,p,s,d,h,m,g,w,S,_,F,D,B,k,C,R,j,J,I,W,X,be,O,$,se,q,ee,xe,ve,_e,Ne,He,y1,u1,Re,pa,r1,z1,x1,za,wa,ya,Ua,$a,Yn,Rd,de,qd,Id,Vd,jd,Xe,Gd,zd,Ud,$d,Hd,Wd,Yd,Hi,Wi,Yi,Jd,Kd,Zd,Jn,Kn,Xd,_1,Qd,yt,B1,Ji,ye,Fe,_a,Zn,Xn,M1=[].slice;ye=function(){var o,l,u,f,v;for(o={},v="Boolean Number String Function Array Date RegExp Undefined Null".split(" "),f=0,l=v.length;f<l;f++)u=v[f],o["[object "+u+"]"]=u.toLowerCase();return function(b){var x;return x=Object.prototype.toString.call(b),o[x]||"object"}}(),Ua=function(o,l,u){return l==null&&(l=0),u==null&&(u=1),o<l&&(o=l),o>u&&(o=u),o},Fe=function(o){return o.length>=3?Array.prototype.slice.call(o):o[0]},R=function(o){var l,u;for(o._clipped=!1,o._unclipped=o.slice(0),l=u=0;u<3;l=++u)l<3?((o[l]<0||o[l]>255)&&(o._clipped=!0),o[l]<0&&(o[l]=0),o[l]>255&&(o[l]=255)):l===3&&(o[l]<0&&(o[l]=0),o[l]>1&&(o[l]=1));return o._clipped||delete o._unclipped,o},t=Math.PI,_1=Math.round,I=Math.cos,$=Math.floor,Xe=Math.pow,$a=Math.log,yt=Math.sin,B1=Math.sqrt,S=Math.atan2,de=Math.max,w=Math.abs,p=t*2,n=t/3,a=t/180,i=180/t,C=function(){return arguments[0]instanceof e?arguments[0]:function(o,l,u){u.prototype=o.prototype;var f=new u,v=o.apply(f,l);return Object(v)===v?v:f}(e,arguments,function(){})},C.default=C,g=[],typeof yn<"u"&&yn!==null&&yn.exports!=null&&(yn.exports=C),typeof define=="function"&&define.amd?define([],function(){return C}):(Xd=typeof wn<"u"&&wn!==null?wn:this,Xd.chroma=C),C.version="1.4.1",m={},d=[],h=!1,e=function(){function o(){var l,u,f,v,b,x,y,E,P;for(x=this,u=[],E=0,v=arguments.length;E<v;E++)l=arguments[E],l!=null&&u.push(l);if(u.length>1&&(y=u[u.length-1]),m[y]!=null)x._rgb=R(m[y](Fe(u.slice(0,-1))));else{for(h||(d=d.sort(function(L,Y){return Y.p-L.p}),h=!0),P=0,b=d.length;P<b&&(f=d[P],y=f.test.apply(f,u),!y);P++);y&&(x._rgb=R(m[y].apply(m,u)))}x._rgb==null&&console.warn("unknown format: "+u),x._rgb==null&&(x._rgb=[0,0,0]),x._rgb.length===3&&x._rgb.push(1)}return o.prototype.toString=function(){return this.hex()},o}(),C._input=m;C.brewer=B={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},function(){var o,l;l=[];for(o in B)l.push(B[o.toLowerCase()]=B[o]);return l}(),_a={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},C.colors=J=_a,z1=function(){var o,l,u,f,v,b,x,y,E;return l=Fe(arguments),v=l[0],o=l[1],u=l[2],y=(v+16)/116,x=isNaN(o)?y:y+o/500,E=isNaN(u)?y:y-u/200,y=r.Yn*x1(y),x=r.Xn*x1(x),E=r.Zn*x1(E),b=Xn(3.2404542*x-1.5371385*y-.4985314*E),f=Xn(-.969266*x+1.8760108*y+.041556*E),u=Xn(.0556434*x-.2040259*y+1.0572252*E),[b,f,u,l.length>3?l[3]:1]},Xn=function(o){return 255*(o<=.00304?12.92*o:1.055*Xe(o,1/2.4)-.055)},x1=function(o){return o>r.t1?o*o*o:r.t2*(o-r.t0)},r={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},Hi=function(){var o,l,u,f,v,b,x,y;return f=Fe(arguments),u=f[0],l=f[1],o=f[2],v=Zd(u,l,o),b=v[0],x=v[1],y=v[2],[116*x-16,500*(b-x),200*(x-y)]},Jn=function(o){return(o/=255)<=.04045?o/12.92:Xe((o+.055)/1.055,2.4)},Zn=function(o){return o>r.t3?Xe(o,1/3):o/r.t2+r.t0},Zd=function(){var o,l,u,f,v,b,x;return f=Fe(arguments),u=f[0],l=f[1],o=f[2],u=Jn(u),l=Jn(l),o=Jn(o),v=Zn((.4124564*u+.3575761*l+.1804375*o)/r.Xn),b=Zn((.2126729*u+.7151522*l+.072175*o)/r.Yn),x=Zn((.0193339*u+.119192*l+.9503041*o)/r.Zn),[v,b,x]},C.lab=function(){return function(o,l,u){u.prototype=o.prototype;var f=new u,v=o.apply(f,l);return Object(v)===v?v:f}(e,M1.call(arguments).concat(["lab"]),function(){})},m.lab=z1,e.prototype.lab=function(){return Hi(this._rgb)},_=function(o){var l,u,f,v,b,x,y,E,P,L,Y;return o=function(){var M,N,V;for(V=[],N=0,M=o.length;N<M;N++)v=o[N],V.push(C(v));return V}(),o.length===2?(P=function(){var M,N,V;for(V=[],N=0,M=o.length;N<M;N++)v=o[N],V.push(v.lab());return V}(),b=P[0],x=P[1],l=function(M){var N,V;return V=function(){var U,Z;for(Z=[],N=U=0;U<=2;N=++U)Z.push(b[N]+M*(x[N]-b[N]));return Z}(),C.lab.apply(C,V)}):o.length===3?(L=function(){var M,N,V;for(V=[],N=0,M=o.length;N<M;N++)v=o[N],V.push(v.lab());return V}(),b=L[0],x=L[1],y=L[2],l=function(M){var N,V;return V=function(){var U,Z;for(Z=[],N=U=0;U<=2;N=++U)Z.push((1-M)*(1-M)*b[N]+2*(1-M)*M*x[N]+M*M*y[N]);return Z}(),C.lab.apply(C,V)}):o.length===4?(Y=function(){var M,N,V;for(V=[],N=0,M=o.length;N<M;N++)v=o[N],V.push(v.lab());return V}(),b=Y[0],x=Y[1],y=Y[2],E=Y[3],l=function(M){var N,V;return V=function(){var U,Z;for(Z=[],N=U=0;U<=2;N=++U)Z.push((1-M)*(1-M)*(1-M)*b[N]+3*(1-M)*(1-M)*M*x[N]+3*(1-M)*M*M*y[N]+M*M*M*E[N]);return Z}(),C.lab.apply(C,V)}):o.length===5&&(u=_(o.slice(0,3)),f=_(o.slice(2,5)),l=function(M){return M<.5?u(M*2):f((M-.5)*2)}),l},C.bezier=function(o){var l;return l=_(o),l.scale=function(){return C.scale(l)},l},C.cubehelix=function(o,l,u,f,v){var b,x,y;return o==null&&(o=300),l==null&&(l=-1.5),u==null&&(u=1),f==null&&(f=1),v==null&&(v=[0,1]),b=0,ye(v)==="array"?x=v[1]-v[0]:(x=0,v=[v,v]),y=function(E){var P,L,Y,M,N,V,U,Z,he;return P=p*((o+120)/360+l*E),U=Xe(v[0]+x*E,f),V=b!==0?u[0]+E*b:u,L=V*U*(1-U)/2,M=I(P),he=yt(P),Z=U+L*(-.14861*M+1.78277*he),N=U+L*(-.29227*M-.90649*he),Y=U+L*(1.97294*M),C(R([Z*255,N*255,Y*255,1]))},y.start=function(E){return E==null?o:(o=E,y)},y.rotations=function(E){return E==null?l:(l=E,y)},y.gamma=function(E){return E==null?f:(f=E,y)},y.hue=function(E){return E==null?u:(u=E,ye(u)==="array"?(b=u[1]-u[0],b===0&&(u=u[1])):b=0,y)},y.lightness=function(E){return E==null?v:(ye(E)==="array"?(v=E,x=E[1]-E[0]):(v=[E,E],x=0),y)},y.scale=function(){return C.scale(y)},y.hue(u),y},C.random=function(){var o,l,u,f;for(l="0123456789abcdef",o="#",u=f=0;f<6;u=++f)o+=l.charAt($(Math.random()*16));return new e(o)},g=[],Ne=function(o,l,u,f){var v,b,x,y;for(u==null&&(u=.5),f==null&&(f="rgb"),ye(o)!=="object"&&(o=C(o)),ye(l)!=="object"&&(l=C(l)),x=0,b=g.length;x<b;x++)if(v=g[x],f===v[0]){y=v[1](o,l,u,f);break}if(y==null)throw"color mode "+f+" is not supported";return y.alpha(o.alpha()+u*(l.alpha()-o.alpha()))},C.interpolate=Ne,e.prototype.interpolate=function(o,l,u){return Ne(this,o,l,u)},C.mix=Ne,e.prototype.mix=e.prototype.interpolate,m.rgb=function(){var o,l,u,f;l=Fe(arguments),u=[];for(o in l)f=l[o],u.push(f);return u},C.rgb=function(){return function(o,l,u){u.prototype=o.prototype;var f=new u,v=o.apply(f,l);return Object(v)===v?v:f}(e,M1.call(arguments).concat(["rgb"]),function(){})},e.prototype.rgb=function(o){return o==null&&(o=!0),o?this._rgb.map(Math.round).slice(0,3):this._rgb.slice(0,3)},e.prototype.rgba=function(o){return o==null&&(o=!0),o?[Math.round(this._rgb[0]),Math.round(this._rgb[1]),Math.round(this._rgb[2]),this._rgb[3]]:this._rgb.slice(0)},d.push({p:3,test:function(o){var l;if(l=Fe(arguments),ye(l)==="array"&&l.length===3||l.length===4&&ye(l[3])==="number"&&l[3]>=0&&l[3]<=1)return"rgb"}}),m.lrgb=m.rgb,u1=function(o,l,u,f){var v,b;return v=o._rgb,b=l._rgb,new e(B1(Xe(v[0],2)*(1-u)+Xe(b[0],2)*u),B1(Xe(v[1],2)*(1-u)+Xe(b[1],2)*u),B1(Xe(v[2],2)*(1-u)+Xe(b[2],2)*u),f)},s=function(o){var l,u,f,v,b,x;for(u=1/o.length,x=[0,0,0,0],v=0,f=o.length;v<f;v++)l=o[v],b=l._rgb,x[0]+=Xe(b[0],2)*u,x[1]+=Xe(b[1],2)*u,x[2]+=Xe(b[2],2)*u,x[3]+=b[3]*u;return x[0]=B1(x[0]),x[1]=B1(x[1]),x[2]=B1(x[2]),x[3]>1&&(x[3]=1),new e(R(x))},g.push(["lrgb",u1]),C.average=function(o,l){var u,f,v,b,x,y,E,P,L,Y,M,N,V;if(l==null&&(l="rgb"),L=o.length,o=o.map(function(U){return C(U)}),E=o.splice(0,1)[0],l==="lrgb")return s(o);N=E.get(l),b=[],x=0,y=0;for(P in N)N[P]=N[P]||0,b.push(isNaN(N[P])?0:1),l.charAt(P)==="h"&&!isNaN(N[P])&&(u=N[P]/180*t,x+=I(u),y+=yt(u));for(f=E.alpha(),M=0,Y=o.length;M<Y;M++){v=o[M],V=v.get(l),f+=v.alpha();for(P in N)isNaN(V[P])||(b[P]+=1,l.charAt(P)==="h"?(u=V[P]/180*t,x+=I(u),y+=yt(u)):N[P]+=V[P])}for(P in N)if(l.charAt(P)==="h"){for(u=S(y/b[P],x/b[P])/t*180;u<0;)u+=360;for(;u>=360;)u-=360;N[P]=u}else N[P]=N[P]/b[P];return C(N,l).alpha(f/L)},q=function(o){var l,u,f,v,b,x;if(o.match(/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/))return(o.length===4||o.length===7)&&(o=o.substr(1)),o.length===3&&(o=o.split(""),o=o[0]+o[0]+o[1]+o[1]+o[2]+o[2]),x=parseInt(o,16),v=x>>16,f=x>>8&255,u=x&255,[v,f,u,1];if(o.match(/^#?([A-Fa-f0-9]{8})$/))return o.length===9&&(o=o.substr(1)),x=parseInt(o,16),v=x>>24&255,f=x>>16&255,u=x>>8&255,l=_1((x&255)/255*100)/100,[v,f,u,l];if(m.css!=null&&(b=m.css(o)))return b;throw"unknown color: "+o},$d=function(o,l){var u,f,v,b,x,y,E;return l==null&&(l="auto"),x=o[0],v=o[1],f=o[2],u=o[3],l==="auto"&&(l=u<1?"rgba":"rgb"),x=Math.round(x),v=Math.round(v),f=Math.round(f),E=x<<16|v<<8|f,y="000000"+E.toString(16),y=y.substr(y.length-6),b="0"+_1(u*255).toString(16),b=b.substr(b.length-2),"#"+function(){switch(l.toLowerCase()){case"rgba":return y+b;case"argb":return b+y;default:return y}}()},m.hex=function(o){return q(o)},C.hex=function(){return function(o,l,u){u.prototype=o.prototype;var f=new u,v=o.apply(f,l);return Object(v)===v?v:f}(e,M1.call(arguments).concat(["hex"]),function(){})},e.prototype.hex=function(o){return o==null&&(o="auto"),$d(this._rgb,o)},d.push({p:4,test:function(o){if(arguments.length===1&&ye(o)==="string")return"hex"}}),ve=function(){var o,l,u,f,v,b,x,y,E,P,L,Y,M,N;if(o=Fe(arguments),v=o[0],L=o[1],x=o[2],L===0)E=f=l=x*255;else{for(N=[0,0,0],u=[0,0,0],M=x<.5?x*(1+L):x+L-x*L,Y=2*x-M,v/=360,N[0]=v+1/3,N[1]=v,N[2]=v-1/3,b=y=0;y<=2;b=++y)N[b]<0&&(N[b]+=1),N[b]>1&&(N[b]-=1),6*N[b]<1?u[b]=Y+(M-Y)*6*N[b]:2*N[b]<1?u[b]=M:3*N[b]<2?u[b]=Y+(M-Y)*(2/3-N[b])*6:u[b]=Y;P=[_1(u[0]*255),_1(u[1]*255),_1(u[2]*255)],E=P[0],f=P[1],l=P[2]}return o.length>3?[E,f,l,o[3]]:[E,f,l]},Wd=function(o,l,u){var f,v,b,x,y;return o!==void 0&&o.length>=3&&(x=o,o=x[0],l=x[1],u=x[2]),o/=255,l/=255,u/=255,b=Math.min(o,l,u),de=Math.max(o,l,u),v=(de+b)/2,de===b?(y=0,f=Number.NaN):y=v<.5?(de-b)/(de+b):(de-b)/(2-de-b),o===de?f=(l-u)/(de-b):l===de?f=2+(u-o)/(de-b):u===de&&(f=4+(o-l)/(de-b)),f*=60,f<0&&(f+=360),[f,y,v]},C.hsl=function(){return function(o,l,u){u.prototype=o.prototype;var f=new u,v=o.apply(f,l);return Object(v)===v?v:f}(e,M1.call(arguments).concat(["hsl"]),function(){})},m.hsl=ve,e.prototype.hsl=function(){return Wd(this._rgb)},_e=function(){var o,l,u,f,v,b,x,y,E,P,L,Y,M,N,V,U,Z,he;if(o=Fe(arguments),v=o[0],U=o[1],he=o[2],he*=255,U===0)E=f=l=he;else switch(v===360&&(v=0),v>360&&(v-=360),v<0&&(v+=360),v/=60,b=$(v),u=v-b,x=he*(1-U),y=he*(1-U*u),Z=he*(1-U*(1-u)),b){case 0:P=[he,Z,x],E=P[0],f=P[1],l=P[2];break;case 1:L=[y,he,x],E=L[0],f=L[1],l=L[2];break;case 2:Y=[x,he,Z],E=Y[0],f=Y[1],l=Y[2];break;case 3:M=[x,y,he],E=M[0],f=M[1],l=M[2];break;case 4:N=[Z,x,he],E=N[0],f=N[1],l=N[2];break;case 5:V=[he,x,y],E=V[0],f=V[1],l=V[2]}return[E,f,l,o.length>3?o[3]:1]},Yd=function(){var o,l,u,f,v,b,x,y,E;return x=Fe(arguments),b=x[0],u=x[1],o=x[2],v=Math.min(b,u,o),de=Math.max(b,u,o),l=de-v,E=de/255,de===0?(f=Number.NaN,y=0):(y=l/de,b===de&&(f=(u-o)/l),u===de&&(f=2+(o-b)/l),o===de&&(f=4+(b-u)/l),f*=60,f<0&&(f+=360)),[f,y,E]},C.hsv=function(){return function(o,l,u){u.prototype=o.prototype;var f=new u,v=o.apply(f,l);return Object(v)===v?v:f}(e,M1.call(arguments).concat(["hsv"]),function(){})},m.hsv=_e,e.prototype.hsv=function(){return Yd(this._rgb)},Vd=function(o){var l,u,f;return ye(o)==="number"&&o>=0&&o<=16777215?(f=o>>16,u=o>>8&255,l=o&255,[f,u,l,1]):(console.warn("unknown num color: "+o),[0,0,0,1])},Jd=function(){var o,l,u,f;return f=Fe(arguments),u=f[0],l=f[1],o=f[2],(u<<16)+(l<<8)+o},C.num=function(o){return new e(o,"num")},e.prototype.num=function(o){return o==null&&(o="rgb"),Jd(this._rgb,o)},m.num=Vd,d.push({p:1,test:function(o){if(arguments.length===1&&ye(o)==="number"&&o>=0&&o<=16777215)return"num"}}),se=function(){var o,l,u,f,v,b,x,y,E,P,L,Y,M,N,V,U,Z,he,ze,K;if(u=Fe(arguments),y=u[0],v=u[1],l=u[2],v=v/100,x=x/100*255,o=v*255,v===0)Y=x=f=l;else switch(y===360&&(y=0),y>360&&(y-=360),y<0&&(y+=360),y/=60,E=$(y),b=y-E,P=l*(1-v),L=P+o*(1-b),ze=P+o*b,K=P+o,E){case 0:M=[K,ze,P],Y=M[0],x=M[1],f=M[2];break;case 1:N=[L,K,P],Y=N[0],x=N[1],f=N[2];break;case 2:V=[P,K,ze],Y=V[0],x=V[1],f=V[2];break;case 3:U=[P,L,K],Y=U[0],x=U[1],f=U[2];break;case 4:Z=[ze,P,K],Y=Z[0],x=Z[1],f=Z[2];break;case 5:he=[K,P,L],Y=he[0],x=he[1],f=he[2]}return[Y,x,f,u.length>3?u[3]:1]},Ud=function(){var o,l,u,f,v,b,x,y,E;return E=Fe(arguments),y=E[0],v=E[1],l=E[2],x=Math.min(y,v,l),de=Math.max(y,v,l),f=de-x,u=f*100/255,o=x/(255-f)*100,f===0?b=Number.NaN:(y===de&&(b=(v-l)/f),v===de&&(b=2+(l-y)/f),l===de&&(b=4+(y-v)/f),b*=60,b<0&&(b+=360)),[b,u,o]},C.hcg=function(){return function(o,l,u){u.prototype=o.prototype;var f=new u,v=o.apply(f,l);return Object(v)===v?v:f}(e,M1.call(arguments).concat(["hcg"]),function(){})},m.hcg=se,e.prototype.hcg=function(){return Ud(this._rgb)},W=function(o){var l,u,f,v,b,x,y,E;if(o=o.toLowerCase(),C.colors!=null&&C.colors[o])return q(C.colors[o]);if(b=o.match(/rgb\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*\)/)){for(y=b.slice(1,4),v=x=0;x<=2;v=++x)y[v]=+y[v];y[3]=1}else if(b=o.match(/rgba\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*,\s*([01]|[01]?\.\d+)\)/))for(y=b.slice(1,5),v=E=0;E<=3;v=++E)y[v]=+y[v];else if(b=o.match(/rgb\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/)){for(y=b.slice(1,4),v=l=0;l<=2;v=++l)y[v]=_1(y[v]*2.55);y[3]=1}else if(b=o.match(/rgba\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/)){for(y=b.slice(1,5),v=u=0;u<=2;v=++u)y[v]=_1(y[v]*2.55);y[3]=+y[3]}else(b=o.match(/hsl\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/))?(f=b.slice(1,4),f[1]*=.01,f[2]*=.01,y=ve(f),y[3]=1):(b=o.match(/hsla\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/))&&(f=b.slice(1,4),f[1]*=.01,f[2]*=.01,y=ve(f),y[3]=+b[4]);return y},zd=function(o){var l;if(l=o[3]<1?"rgba":"rgb",l==="rgb")return l+"("+o.slice(0,3).map(_1).join(",")+")";if(l==="rgba")return l+"("+o.slice(0,3).map(_1).join(",")+","+o[3]+")"},Kn=function(o){return _1(o*100)/100},xe=function(o,l){var u;return u=l<1?"hsla":"hsl",o[0]=Kn(o[0]||0),o[1]=Kn(o[1]*100)+"%",o[2]=Kn(o[2]*100)+"%",u==="hsla"&&(o[3]=l),u+"("+o.join(",")+")"},m.css=function(o){return W(o)},C.css=function(){return function(o,l,u){u.prototype=o.prototype;var f=new u,v=o.apply(f,l);return Object(v)===v?v:f}(e,M1.call(arguments).concat(["css"]),function(){})},e.prototype.css=function(o){if(o==null&&(o="rgb"),o.slice(0,3)==="rgb")return zd(this._rgb);if(o.slice(0,3)==="hsl")return xe(this.hsl(),this.alpha())},m.named=function(o){return q(_a[o])},d.push({p:5,test:function(o){if(arguments.length===1&&_a[o]!=null)return"named"}}),e.prototype.name=function(o){var l,u;arguments.length&&(_a[o]&&(this._rgb=q(_a[o])),this._rgb[3]=1),l=this.hex("rgb");for(u in _a)if(l===_a[u])return u;return l},za=function(){var o,l,u,f;return f=Fe(arguments),u=f[0],o=f[1],l=f[2],l=l*a,[u,I(l)*o,yt(l)*o]},wa=function(){var o,l,u,f,v,b,x,y,E,P,L;return u=Fe(arguments),y=u[0],v=u[1],x=u[2],P=za(y,v,x),o=P[0],l=P[1],f=P[2],L=z1(o,l,f),E=L[0],b=L[1],f=L[2],[E,b,f,u.length>3?u[3]:1]},r1=function(){var o,l,u,f,v,b;return b=Fe(arguments),v=b[0],o=b[1],l=b[2],u=B1(o*o+l*l),f=(S(l,o)*i+360)%360,_1(u*1e4)===0&&(f=Number.NaN),[v,u,f]},Wi=function(){var o,l,u,f,v,b,x;return b=Fe(arguments),v=b[0],u=b[1],l=b[2],x=Hi(v,u,l),f=x[0],o=x[1],l=x[2],r1(f,o,l)},C.lch=function(){var o;return o=Fe(arguments),new e(o,"lch")},C.hcl=function(){var o;return o=Fe(arguments),new e(o,"hcl")},m.lch=wa,m.hcl=function(){var o,l,u,f;return f=Fe(arguments),l=f[0],o=f[1],u=f[2],wa([u,o,l])},e.prototype.lch=function(){return Wi(this._rgb)},e.prototype.hcl=function(){return Wi(this._rgb).reverse()},Gd=function(o){var l,u,f,v,b,x,y,E,P;return o==null&&(o="rgb"),E=Fe(arguments),y=E[0],v=E[1],l=E[2],y=y/255,v=v/255,l=l/255,b=1-Math.max(y,Math.max(v,l)),f=b<1?1/(1-b):0,u=(1-y-b)*f,x=(1-v-b)*f,P=(1-l-b)*f,[u,x,P,b]},j=function(){var o,l,u,f,v,b,x,y,E;return l=Fe(arguments),f=l[0],x=l[1],E=l[2],b=l[3],o=l.length>4?l[4]:1,b===1?[0,0,0,o]:(y=f>=1?0:255*(1-f)*(1-b),v=x>=1?0:255*(1-x)*(1-b),u=E>=1?0:255*(1-E)*(1-b),[y,v,u,o])},m.cmyk=function(){return j(Fe(arguments))},C.cmyk=function(){return function(o,l,u){u.prototype=o.prototype;var f=new u,v=o.apply(f,l);return Object(v)===v?v:f}(e,M1.call(arguments).concat(["cmyk"]),function(){})},e.prototype.cmyk=function(){return Gd(this._rgb)},m.gl=function(){var o,l,u,f,v;for(f=function(){var b,x;b=Fe(arguments),x=[];for(l in b)v=b[l],x.push(v);return x}.apply(this,arguments),o=u=0;u<=2;o=++u)f[o]*=255;return f},C.gl=function(){return function(o,l,u){u.prototype=o.prototype;var f=new u,v=o.apply(f,l);return Object(v)===v?v:f}(e,M1.call(arguments).concat(["gl"]),function(){})},e.prototype.gl=function(){var o;return o=this._rgb,[o[0]/255,o[1]/255,o[2]/255,o[3]]},Yi=function(o,l,u){var f;return f=Fe(arguments),o=f[0],l=f[1],u=f[2],o=Yn(o),l=Yn(l),u=Yn(u),.2126*o+.7152*l+.0722*u},Yn=function(o){return o/=255,o<=.03928?o/12.92:Xe((o+.055)/1.055,2.4)},pa=function(o,l,u,f){var v,b;return v=o._rgb,b=l._rgb,new e(v[0]+u*(b[0]-v[0]),v[1]+u*(b[1]-v[1]),v[2]+u*(b[2]-v[2]),f)},g.push(["rgb",pa]),e.prototype.luminance=function(o,l){var u,f,v,b,x;return l==null&&(l="rgb"),arguments.length?(b=this._rgb,o===0?b=[0,0,0,this._rgb[3]]:o===1?b=[255,255,255,this[3]]:(u=Yi(this._rgb),f=1e-7,v=20,x=function(y,E){var P,L;return L=y.interpolate(E,.5,l),P=L.luminance(),Math.abs(o-P)<f||!v--?L:P>o?x(y,L):x(L,E)},u>o?b=x(C("black"),this).rgba():b=x(this,C("white")).rgba()),C(b).alpha(this.alpha())):Yi(this._rgb)},Ji=function(o){var l,u,f,v;return v=o/100,v<66?(f=255,u=-155.25485562709179-.44596950469579133*(u=v-2)+104.49216199393888*$a(u),l=v<20?0:-254.76935184120902+.8274096064007395*(l=v-10)+115.67994401066147*$a(l)):(f=351.97690566805693+.114206453784165*(f=v-55)-40.25366309332127*$a(f),u=325.4494125711974+.07943456536662342*(u=v-50)-28.0852963507957*$a(u),l=255),[f,u,l]},Kd=function(){var o,l,u,f,v,b,x,y,E;for(x=Fe(arguments),b=x[0],u=x[1],o=x[2],v=1e3,f=4e4,l=.4;f-v>l;)E=(f+v)*.5,y=Ji(E),y[2]/y[0]>=o/b?f=E:v=E;return _1(E)},C.temperature=C.kelvin=function(){return function(o,l,u){u.prototype=o.prototype;var f=new u,v=o.apply(f,l);return Object(v)===v?v:f}(e,M1.call(arguments).concat(["temperature"]),function(){})},m.temperature=m.kelvin=m.K=Ji,e.prototype.temperature=function(){return Kd(this._rgb)},e.prototype.kelvin=e.prototype.temperature,C.contrast=function(o,l){var u,f,v,b;return((v=ye(o))==="string"||v==="number")&&(o=new e(o)),((b=ye(l))==="string"||b==="number")&&(l=new e(l)),u=o.luminance(),f=l.luminance(),u>f?(u+.05)/(f+.05):(f+.05)/(u+.05)},C.distance=function(o,l,u){var f,v,b,x,y,E,P;u==null&&(u="lab"),((y=ye(o))==="string"||y==="number")&&(o=new e(o)),((E=ye(l))==="string"||E==="number")&&(l=new e(l)),b=o.get(u),x=l.get(u),P=0;for(v in b)f=(b[v]||0)-(x[v]||0),P+=f*f;return Math.sqrt(P)},C.deltaE=function(o,l,u,f){var v,b,x,y,E,P,L,Y,M,N,V,U,Z,he,ze,K,R1,C1,ne,fe,m1,A,G,te,pe,ae,le;for(u==null&&(u=1),f==null&&(f=1),((R1=ye(o))==="string"||R1==="number")&&(o=new e(o)),((C1=ye(l))==="string"||C1==="number")&&(l=new e(l)),ne=o.lab(),v=ne[0],x=ne[1],E=ne[2],fe=l.lab(),b=fe[0],y=fe[1],P=fe[2],L=B1(x*x+E*E),Y=B1(y*y+P*P),G=v<16?.511:.040975*v/(1+.01765*v),m1=.0638*L/(1+.0131*L)+.638,K=L<1e-6?0:S(E,x)*180/t;K<0;)K+=360;for(;K>=360;)K-=360;return te=K>=164&&K<=345?.56+w(.2*I(t*(K+168)/180)):.36+w(.4*I(t*(K+35)/180)),M=L*L*L*L,ze=B1(M/(M+1900)),A=m1*(ze*te+1-ze),he=v-b,Z=L-Y,V=x-y,U=E-P,N=V*V+U*U-Z*Z,pe=he/(u*G),ae=Z/(f*m1),le=A,B1(pe*pe+ae*ae+N/(le*le))},e.prototype.get=function(o){var l,u,f,v,b,x;return f=this,b=o.split("."),v=b[0],l=b[1],x=f[v](),l?(u=v.indexOf(l),u>-1?x[u]:console.warn("unknown channel "+l+" in mode "+v)):x},e.prototype.set=function(o,l){var u,f,v,b,x,y;if(v=this,x=o.split("."),b=x[0],u=x[1],u)if(y=v[b](),f=b.indexOf(u),f>-1)if(ye(l)==="string")switch(l.charAt(0)){case"+":y[f]+=+l;break;case"-":y[f]+=+l;break;case"*":y[f]*=+l.substr(1);break;case"/":y[f]/=+l.substr(1);break;default:y[f]=+l}else y[f]=l;else console.warn("unknown channel "+u+" in mode "+b);else y=l;return C(y,b).alpha(v.alpha())},e.prototype.clipped=function(){return this._rgb._clipped||!1},e.prototype.alpha=function(o){return arguments.length?C.rgb([this._rgb[0],this._rgb[1],this._rgb[2],o]):this._rgb[3]},e.prototype.darken=function(o){var l,u;return o==null&&(o=1),u=this,l=u.lab(),l[0]-=r.Kn*o,C.lab(l).alpha(u.alpha())},e.prototype.brighten=function(o){return o==null&&(o=1),this.darken(-o)},e.prototype.darker=e.prototype.darken,e.prototype.brighter=e.prototype.brighten,e.prototype.saturate=function(o){var l,u;return o==null&&(o=1),u=this,l=u.lch(),l[1]+=o*r.Kn,l[1]<0&&(l[1]=0),C.lch(l).alpha(u.alpha())},e.prototype.desaturate=function(o){return o==null&&(o=1),this.saturate(-o)},e.prototype.premultiply=function(){var o,l;return l=this.rgb(),o=this.alpha(),C(l[0]*o,l[1]*o,l[2]*o,o)},F=function(o,l,u){if(!F[u])throw"unknown blend mode "+u;return F[u](o,l)},D=function(o){return function(l,u){var f,v;return f=C(u).rgb(),v=C(l).rgb(),C(o(f,v),"rgb")}},O=function(o){return function(l,u){var f,v,b;for(b=[],f=v=0;v<=3;f=++v)b[f]=o(l[f],u[f]);return b}},Id=function(o,l){return o},qd=function(o,l){return o*l/255},X=function(o,l){return o>l?l:o},ya=function(o,l){return o>l?o:l},Qd=function(o,l){return 255*(1-(1-o/255)*(1-l/255))},jd=function(o,l){return l<128?2*o*l/255:255*(1-2*(1-o/255)*(1-l/255))},k=function(o,l){return 255*(1-(1-l/255)/(o/255))},be=function(o,l){return o===255||(o=255*(l/255)/(1-o/255),o>255)?255:o},F.normal=D(O(Id)),F.multiply=D(O(qd)),F.screen=D(O(Qd)),F.overlay=D(O(jd)),F.darken=D(O(X)),F.lighten=D(O(ya)),F.dodge=D(O(be)),F.burn=D(O(k)),C.blend=F,C.analyze=function(o){var l,u,f,v;for(f={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0},u=0,l=o.length;u<l;u++)v=o[u],v!=null&&!isNaN(v)&&(f.values.push(v),f.sum+=v,v<f.min&&(f.min=v),v>f.max&&(f.max=v),f.count+=1);return f.domain=[f.min,f.max],f.limits=function(b,x){return C.limits(f,b,x)},f},C.scale=function(o,l){var u,f,v,b,x,y,E,P,L,Y,M,N,V,U,Z,he,ze,K,R1,C1,ne,fe,m1;return Y="rgb",M=C("#ccc"),Z=0,y=!1,x=[0,1],U=[],V=[0,0],u=!1,v=[],N=!1,L=0,P=1,b=!1,f={},he=!0,E=1,fe=function(A){var G,te,pe,ae,le,we;if(A==null&&(A=["#fff","#000"]),A!=null&&ye(A)==="string"&&C.brewer!=null&&(A=C.brewer[A]||C.brewer[A.toLowerCase()]||A),ye(A)==="array"){for(A.length===1&&(A=[A[0],A[0]]),A=A.slice(0),G=pe=0,ae=A.length-1;0<=ae?pe<=ae:pe>=ae;G=0<=ae?++pe:--pe)te=A[G],ye(te)==="string"&&(A[G]=C(te));for(U.length=0,G=we=0,le=A.length-1;0<=le?we<=le:we>=le;G=0<=le?++we:--we)U.push(G/(A.length-1))}return ne(),v=A},R1=function(A){var G,te;if(u!=null){for(te=u.length-1,G=0;G<te&&A>=u[G];)G++;return G-1}return 0},m1=function(A){return A},ze=function(A){var G,te,pe,ae,le;return le=A,u.length>2&&(ae=u.length-1,G=R1(A),pe=u[0]+(u[1]-u[0])*(0+Z*.5),te=u[ae-1]+(u[ae]-u[ae-1])*(1-Z*.5),le=L+(u[G]+(u[G+1]-u[G])*.5-pe)/(te-pe)*(P-L)),le},C1=function(A,G){var te,pe,ae,le,we,ge,We,me;if(G==null&&(G=!1),isNaN(A)||A===null)return M;if(G?me=A:u&&u.length>2?(te=R1(A),me=te/(u.length-2)):P!==L?me=(A-L)/(P-L):me=1,G||(me=m1(me)),E!==1&&(me=Xe(me,E)),me=V[0]+me*(1-V[0]-V[1]),me=Math.min(1,Math.max(0,me)),le=Math.floor(me*1e4),he&&f[le])pe=f[le];else{if(ye(v)==="array")for(ae=we=0,We=U.length-1;0<=We?we<=We:we>=We;ae=0<=We?++we:--we){if(ge=U[ae],me<=ge){pe=v[ae];break}if(me>=ge&&ae===U.length-1){pe=v[ae];break}if(me>ge&&me<U[ae+1]){me=(me-ge)/(U[ae+1]-ge),pe=C.interpolate(v[ae],v[ae+1],me,Y);break}}else ye(v)==="function"&&(pe=v(me));he&&(f[le]=pe)}return pe},ne=function(){return f={}},fe(o),K=function(A){var G;return G=C(C1(A)),N&&G[N]?G[N]():G},K.classes=function(A){var G;return A!=null?(ye(A)==="array"?(u=A,x=[A[0],A[A.length-1]]):(G=C.analyze(x),A===0?u=[G.min,G.max]:u=C.limits(G,"e",A)),K):u},K.domain=function(A){var G,te,pe,ae,le,we,ge;if(!arguments.length)return x;if(L=A[0],P=A[A.length-1],U=[],pe=v.length,A.length===pe&&L!==P)for(le=0,ae=A.length;le<ae;le++)te=A[le],U.push((te-L)/(P-L));else for(G=ge=0,we=pe-1;0<=we?ge<=we:ge>=we;G=0<=we?++ge:--ge)U.push(G/(pe-1));return x=[L,P],K},K.mode=function(A){return arguments.length?(Y=A,ne(),K):Y},K.range=function(A,G){return fe(A,G),K},K.out=function(A){return N=A,K},K.spread=function(A){return arguments.length?(Z=A,K):Z},K.correctLightness=function(A){return A==null&&(A=!0),b=A,ne(),b?m1=function(G){var te,pe,ae,le,we,ge,We,me,t1;for(te=C1(0,!0).lab()[0],pe=C1(1,!0).lab()[0],We=te>pe,ae=C1(G,!0).lab()[0],we=te+(pe-te)*G,le=ae-we,me=0,t1=1,ge=20;Math.abs(le)>.01&&ge-- >0;)(function(){return We&&(le*=-1),le<0?(me=G,G+=(t1-G)*.5):(t1=G,G+=(me-G)*.5),ae=C1(G,!0).lab()[0],le=ae-we})();return G}:m1=function(G){return G},K},K.padding=function(A){return A!=null?(ye(A)==="number"&&(A=[A,A]),V=A,K):V},K.colors=function(A,G){var te,pe,ae,le,we,ge,We,me,t1;if(arguments.length<2&&(G="hex"),ge=[],arguments.length===0)ge=v.slice(0);else if(A===1)ge=[K(.5)];else if(A>1)pe=x[0],te=x[1]-pe,ge=function(){We=[];for(var c1=0;0<=A?c1<A:c1>A;0<=A?c1++:c1--)We.push(c1);return We}.apply(this).map(function(c1){return K(pe+c1/(A-1)*te)});else{if(o=[],me=[],u&&u.length>2)for(ae=t1=1,we=u.length;1<=we?t1<we:t1>we;ae=1<=we?++t1:--t1)me.push((u[ae-1]+u[ae])*.5);else me=x;ge=me.map(function(c1){return K(c1)})}return C[G]&&(ge=ge.map(function(c1){return c1[G]()})),ge},K.cache=function(A){return A!=null?(he=A,K):he},K.gamma=function(A){return A!=null?(E=A,K):E},K.nodata=function(A){return A!=null?(M=C(A),K):M},K},C.scales==null&&(C.scales={}),C.scales.cool=function(){return C.scale([C.hsl(180,1,.9),C.hsl(250,.7,.4)])},C.scales.hot=function(){return C.scale(["#000","#f00","#ff0","#fff"],[0,.25,.75,1]).mode("rgb")},C.analyze=function(o,l,u){var f,v,b,x,y,E,P;if(y={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0},u==null&&(u=function(){return!0}),f=function(L){L!=null&&!isNaN(L)&&(y.values.push(L),y.sum+=L,L<y.min&&(y.min=L),L>y.max&&(y.max=L),y.count+=1)},P=function(L,Y){if(u(L,Y))return l!=null&&ye(l)==="function"?f(l(L)):l!=null&&ye(l)==="string"||ye(l)==="number"?f(L[l]):f(L)},ye(o)==="array")for(x=0,b=o.length;x<b;x++)E=o[x],P(E);else for(v in o)E=o[v],P(E,v);return y.domain=[y.min,y.max],y.limits=function(L,Y){return C.limits(y,L,Y)},y},C.limits=function(o,l,u){var f,v,b,x,y,E,P,L,Y,M,N,V,U,Z,he,ze,K,R1,C1,ne,fe,m1,A,G,te,pe,ae,le,we,ge,We,me,t1,c1,_t,Ct,Ft,Dt,St,Et,e6,At,Bt,Pt,Nt,Tt,kt,Lt,Ot,Mt,kg,Ca,Qn,a6,U1,Rt;if(l==null&&(l="equal"),u==null&&(u=7),ye(o)==="array"&&(o=C.analyze(o)),te=o.min,de=o.max,kg=o.sum,U1=o.values.sort(function(Ki,Zi){return Ki-Zi}),u===1)return[te,de];if(A=[],l.substr(0,1)==="c"&&(A.push(te),A.push(de)),l.substr(0,1)==="e"){for(A.push(te),ne=We=1,_t=u-1;1<=_t?We<=_t:We>=_t;ne=1<=_t?++We:--We)A.push(te+ne/u*(de-te));A.push(de)}else if(l.substr(0,1)==="l"){if(te<=0)throw"Logarithmic scales are only possible for values > 0";for(pe=Math.LOG10E*$a(te),G=Math.LOG10E*$a(de),A.push(te),ne=Rt=1,Ct=u-1;1<=Ct?Rt<=Ct:Rt>=Ct;ne=1<=Ct?++Rt:--Rt)A.push(Xe(10,pe+ne/u*(G-pe)));A.push(de)}else if(l.substr(0,1)==="q"){for(A.push(te),ne=f=1,At=u-1;1<=At?f<=At:f>=At;ne=1<=At?++f:--f)me=(U1.length-1)*ne/u,t1=$(me),t1===me?A.push(U1[t1]):(c1=me-t1,A.push(U1[t1]*(1-c1)+U1[t1+1]*c1));A.push(de)}else if(l.substr(0,1)==="k"){for(le=U1.length,Z=new Array(le),R1=new Array(u),Mt=!0,we=0,ze=null,ze=[],ze.push(te),ne=v=1,Bt=u-1;1<=Bt?v<=Bt:v>=Bt;ne=1<=Bt?++v:--v)ze.push(te+ne/u*(de-te));for(ze.push(de);Mt;){for(fe=b=0,Pt=u-1;0<=Pt?b<=Pt:b>=Pt;fe=0<=Pt?++b:--b)R1[fe]=0;for(ne=x=0,Nt=le-1;0<=Nt?x<=Nt:x>=Nt;ne=0<=Nt?++x:--x){for(a6=U1[ne],ae=Number.MAX_VALUE,fe=y=0,Tt=u-1;0<=Tt?y<=Tt:y>=Tt;fe=0<=Tt?++y:--y)C1=w(ze[fe]-a6),C1<ae&&(ae=C1,he=fe);R1[he]++,Z[ne]=he}for(ge=new Array(u),fe=E=0,kt=u-1;0<=kt?E<=kt:E>=kt;fe=0<=kt?++E:--E)ge[fe]=null;for(ne=P=0,Lt=le-1;0<=Lt?P<=Lt:P>=Lt;ne=0<=Lt?++P:--P)K=Z[ne],ge[K]===null?ge[K]=U1[ne]:ge[K]+=U1[ne];for(fe=L=0,Ot=u-1;0<=Ot?L<=Ot:L>=Ot;fe=0<=Ot?++L:--L)ge[fe]*=1/R1[fe];for(Mt=!1,fe=Y=0,Ft=u-1;0<=Ft?Y<=Ft:Y>=Ft;fe=0<=Ft?++Y:--Y)if(ge[fe]!==ze[ne]){Mt=!0;break}ze=ge,we++,we>200&&(Mt=!1)}for(m1={},fe=M=0,Dt=u-1;0<=Dt?M<=Dt:M>=Dt;fe=0<=Dt?++M:--M)m1[fe]=[];for(ne=N=0,St=le-1;0<=St?N<=St:N>=St;ne=0<=St?++N:--N)K=Z[ne],m1[K].push(U1[ne]);for(Ca=[],fe=V=0,Et=u-1;0<=Et?V<=Et:V>=Et;fe=0<=Et?++V:--V)Ca.push(m1[fe][0]),Ca.push(m1[fe][m1[fe].length-1]);for(Ca=Ca.sort(function(Ki,Zi){return Ki-Zi}),A.push(Ca[0]),ne=U=1,e6=Ca.length-1;U<=e6;ne=U+=2)Qn=Ca[ne],!isNaN(Qn)&&A.indexOf(Qn)===-1&&A.push(Qn)}return A},ee=function(o,l,u){var f,v,b,x;return f=Fe(arguments),o=f[0],l=f[1],u=f[2],isNaN(o)&&(o=0),o/=360,o<1/3?(v=(1-l)/3,x=(1+l*I(p*o)/I(n-p*o))/3,b=1-(v+x)):o<2/3?(o-=1/3,x=(1-l)/3,b=(1+l*I(p*o)/I(n-p*o))/3,v=1-(x+b)):(o-=2/3,b=(1-l)/3,v=(1+l*I(p*o)/I(n-p*o))/3,x=1-(b+v)),x=Ua(u*x*3),b=Ua(u*b*3),v=Ua(u*v*3),[x*255,b*255,v*255,f.length>3?f[3]:1]},Hd=function(){var o,l,u,f,v,b,x,y;return x=Fe(arguments),b=x[0],l=x[1],o=x[2],p=Math.PI*2,b/=255,l/=255,o/=255,v=Math.min(b,l,o),f=(b+l+o)/3,y=1-v/f,y===0?u=0:(u=(b-l+(b-o))/2,u/=Math.sqrt((b-l)*(b-l)+(b-o)*(l-o)),u=Math.acos(u),o>l&&(u=p-u),u/=p),[u*360,y,f]},C.hsi=function(){return function(o,l,u){u.prototype=o.prototype;var f=new u,v=o.apply(f,l);return Object(v)===v?v:f}(e,M1.call(arguments).concat(["hsi"]),function(){})},m.hsi=ee,e.prototype.hsi=function(){return Hd(this._rgb)},He=function(o,l,u,f){var v,b,x,y,E,P,L,Y,M,N,V,U,Z;return f==="hsl"?(U=o.hsl(),Z=l.hsl()):f==="hsv"?(U=o.hsv(),Z=l.hsv()):f==="hcg"?(U=o.hcg(),Z=l.hcg()):f==="hsi"?(U=o.hsi(),Z=l.hsi()):(f==="lch"||f==="hcl")&&(f="hcl",U=o.hcl(),Z=l.hcl()),f.substr(0,1)==="h"&&(x=U[0],N=U[1],P=U[2],y=Z[0],V=Z[1],L=Z[2]),!isNaN(x)&&!isNaN(y)?(y>x&&y-x>180?v=y-(x+360):y<x&&x-y>180?v=y+360-x:v=y-x,b=x+u*v):isNaN(x)?isNaN(y)?b=Number.NaN:(b=y,(P===1||P===0)&&f!=="hsv"&&(M=V)):(b=x,(L===1||L===0)&&f!=="hsv"&&(M=N)),M==null&&(M=N+u*(V-N)),E=P+u*(L-P),Y=C[f](b,M,E)},g=g.concat(function(){var o,l,u,f;for(u=["hsv","hsl","hsi","hcl","lch","hcg"],f=[],l=0,o=u.length;l<o;l++)Rd=u[l],f.push([Rd,He]);return f}()),Re=function(o,l,u,f){var v,b;return v=o.num(),b=l.num(),C.num(v+(b-v)*u,"num")},g.push(["num",Re]),y1=function(o,l,u,f){var v,b,x;return b=o.lab(),x=l.lab(),v=new e(b[0]+u*(x[0]-b[0]),b[1]+u*(x[1]-b[1]),b[2]+u*(x[2]-b[2]),f)},g.push(["lab",y1])}).call(wn)});var n9=c((fI,t9)=>{"use strict";t9.exports=function(){var e,a;if(typeof WeakMap!="function")return!1;try{e=new WeakMap([[a={},"one"],[{},"two"],[{},"three"]])}catch{return!1}return!(String(e)!=="[object WeakMap]"||typeof e.set!="function"||e.set({},1)!==e||typeof e.delete!="function"||typeof e.has!="function"||e.get(a)!=="one")}});var p9=c((vI,i9)=>{"use strict";i9.exports=function(){}});var Oa=c((gI,s9)=>{"use strict";var hD=p9()();s9.exports=function(e){return e!==hD&&e!==null}});var ss=c((bI,o9)=>{"use strict";var fD=Object.create,vD=Object.getPrototypeOf,d9={};o9.exports=function(){var e=Object.setPrototypeOf,a=arguments[0]||fD;return typeof e!="function"?!1:vD(e(a(null),d9))===d9}});var ds=c((xI,l9)=>{"use strict";var gD=Oa(),bD={function:!0,object:!0};l9.exports=function(e){return gD(e)&&bD[typeof e]||!1}});var fa=c((wI,u9)=>{"use strict";var xD=Oa();u9.exports=function(e){if(!xD(e))throw new TypeError("Cannot use null or undefined");return e}});var c9=c((yI,m9)=>{"use strict";var os=Object.create,oi;ss()()||(oi=ls());m9.exports=function(){var e,a,r;return!oi||oi.level!==1?os:(e={},a={},r={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(t){if(t==="__proto__"){a[t]={configurable:!0,enumerable:!1,writable:!0,value:void 0};return}a[t]=r}),Object.defineProperties(e,a),Object.defineProperty(oi,"nullPolyfill",{configurable:!1,enumerable:!1,writable:!1,value:e}),function(t,n){return os(t===null?e:t,n)})}()});var ls=c((_I,h9)=>{"use strict";var wD=ds(),yD=fa(),_D=Object.prototype.isPrototypeOf,CD=Object.defineProperty,FD={configurable:!0,enumerable:!1,writable:!0,value:void 0},li;li=function(e,a){if(yD(e),a===null||wD(a))return e;throw new TypeError("Prototype must be null or an object")};h9.exports=function(e){var a,r;return e?(e.level===2?e.set?(r=e.set,a=function(t,n){return r.call(li(t,n),n),t}):a=function(t,n){return li(t,n).__proto__=n,t}:a=function t(n,i){var p;return li(n,i),p=_D.call(t.nullPolyfill,n),p&&delete t.nullPolyfill.__proto__,i===null&&(i=t.nullPolyfill),n.__proto__=i,p&&CD(t.nullPolyfill,"__proto__",FD),n},Object.defineProperty(a,"level",{configurable:!1,enumerable:!1,writable:!1,value:e.level})):null}(function(){var e=Object.create(null),a={},r,t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__");if(t){try{r=t.set,r.call(e,a)}catch{}if(Object.getPrototypeOf(e)===a)return{set:r,level:2}}return e.__proto__=a,Object.getPrototypeOf(e)===a?{level:2}:(e={},e.__proto__=a,Object.getPrototypeOf(e)===a?{level:1}:!1)}());c9()});var ui=c((CI,f9)=>{"use strict";f9.exports=ss()()?Object.setPrototypeOf:ls()});var g9=c((FI,v9)=>{"use strict";var DD=ds();v9.exports=function(e){if(!DD(e))throw new TypeError(e+" is not an Object");return e}});var x9=c((DI,b9)=>{"use strict";var SD=Object.create(null),ED=Math.random;b9.exports=function(){var e;do e=ED().toString(36).slice(2);while(SD[e]);return e}});var cr=c((SI,w9)=>{"use strict";var AD=void 0;w9.exports=function(e){return e!==AD&&e!==null}});var us=c((EI,y9)=>{"use strict";var BD=cr(),PD={object:!0,function:!0,undefined:!0};y9.exports=function(e){return BD(e)?hasOwnProperty.call(PD,typeof e):!1}});var C9=c((AI,_9)=>{"use strict";var ND=us();_9.exports=function(e){if(!ND(e))return!1;try{return e.constructor?e.constructor.prototype===e:!1}catch{return!1}}});var D9=c((BI,F9)=>{"use strict";var TD=C9();F9.exports=function(e){if(typeof e!="function"||!hasOwnProperty.call(e,"length"))return!1;try{if(typeof e.length!="number"||typeof e.call!="function"||typeof e.apply!="function")return!1}catch{return!1}return!TD(e)}});var ms=c((PI,S9)=>{"use strict";var kD=D9(),LD=/^\s*class[\s{/}]/,OD=Function.prototype.toString;S9.exports=function(e){return!(!kD(e)||LD.test(OD.call(e)))}});var A9=c((NI,E9)=>{"use strict";E9.exports=function(){var e=Object.assign,a;return typeof e!="function"?!1:(a={foo:"raz"},e(a,{bar:"dwa"},{trzy:"trzy"}),a.foo+a.bar+a.trzy==="razdwatrzy")}});var P9=c((TI,B9)=>{"use strict";B9.exports=function(){try{return Object.keys("primitive"),!0}catch{return!1}}});var T9=c((kI,N9)=>{"use strict";var MD=Oa(),RD=Object.keys;N9.exports=function(e){return RD(MD(e)?Object(e):e)}});var L9=c((LI,k9)=>{"use strict";k9.exports=P9()()?Object.keys:T9()});var M9=c((OI,O9)=>{"use strict";var qD=L9(),ID=fa(),VD=Math.max;O9.exports=function(e,a){var r,t,n=VD(arguments.length,2),i;for(e=Object(ID(e)),i=function(p){try{e[p]=a[p]}catch(s){r||(r=s)}},t=1;t<n;++t)a=arguments[t],qD(a).forEach(i);if(r!==void 0)throw r;return e}});var mi=c((MI,R9)=>{"use strict";R9.exports=A9()()?Object.assign:M9()});var cs=c((RI,q9)=>{"use strict";var jD=Oa(),GD=Array.prototype.forEach,zD=Object.create,UD=function(e,a){var r;for(r in e)a[r]=e[r]};q9.exports=function(e){var a=zD(null);return GD.call(arguments,function(r){jD(r)&&UD(Object(r),a)}),a}});var V9=c((qI,I9)=>{"use strict";var hs="razdwatrzy";I9.exports=function(){return typeof hs.contains!="function"?!1:hs.contains("dwa")===!0&&hs.contains("foo")===!1}});var G9=c((II,j9)=>{"use strict";var $D=String.prototype.indexOf;j9.exports=function(e){return $D.call(this,e,arguments[1])>-1}});var fs=c((VI,z9)=>{"use strict";z9.exports=V9()()?String.prototype.contains:G9()});var va=c((jI,W9)=>{"use strict";var ci=cr(),U9=ms(),$9=mi(),H9=cs(),_n=fs(),HD=W9.exports=function(e,a){var r,t,n,i,p;return arguments.length<2||typeof e!="string"?(i=a,a=e,e=null):i=arguments[2],ci(e)?(r=_n.call(e,"c"),t=_n.call(e,"e"),n=_n.call(e,"w")):(r=n=!0,t=!1),p={value:a,configurable:r,enumerable:t,writable:n},i?$9(H9(i),p):p};HD.gs=function(e,a,r){var t,n,i,p;return typeof e!="string"?(i=r,r=a,a=e,e=null):i=arguments[3],ci(a)?U9(a)?ci(r)?U9(r)||(i=r,r=void 0):r=void 0:(i=a,a=r=void 0):a=void 0,ci(e)?(t=_n.call(e,"c"),n=_n.call(e,"e")):(t=!0,n=!1),p={get:a,set:r,configurable:t,enumerable:n},i?$9(H9(i),p):p}});var Cn=c((GI,J9)=>{"use strict";var Y9=Object.prototype.toString,WD=Y9.call(function(){return arguments}());J9.exports=function(e){return Y9.call(e)===WD}});var Fn=c((zI,Z9)=>{"use strict";var K9=Object.prototype.toString,YD=K9.call("");Z9.exports=function(e){return typeof e=="string"||e&&typeof e=="object"&&(e instanceof String||K9.call(e)===YD)||!1}});var Q9=c((UI,X9)=>{"use strict";X9.exports=function(){return typeof globalThis!="object"||!globalThis?!1:globalThis.Array===Array}});var r8=c(($I,a8)=>{var e8=function(){if(typeof self=="object"&&self)return self;if(typeof window=="object"&&window)return window;throw new Error("Unable to resolve global `this`")};a8.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch{return e8()}try{return __global__||e8()}finally{delete Object.prototype.__global__}}()});var Dn=c((HI,t8)=>{"use strict";t8.exports=Q9()()?globalThis:r8()});var i8=c((WI,n8)=>{"use strict";var JD=Dn(),vs={object:!0,symbol:!0};n8.exports=function(){var e=JD.Symbol,a;if(typeof e!="function")return!1;a=e("test symbol");try{String(a)}catch{return!1}return!(!vs[typeof e.iterator]||!vs[typeof e.toPrimitive]||!vs[typeof e.toStringTag])}});var s8=c((YI,p8)=>{"use strict";p8.exports=function(e){return e?typeof e=="symbol"?!0:!e.constructor||e.constructor.name!=="Symbol"?!1:e[e.constructor.toStringTag]==="Symbol":!1}});var gs=c((JI,d8)=>{"use strict";var KD=s8();d8.exports=function(e){if(!KD(e))throw new TypeError(e+" is not a symbol");return e}});var c8=c((KI,m8)=>{"use strict";var o8=va(),ZD=Object.create,l8=Object.defineProperty,XD=Object.prototype,u8=ZD(null);m8.exports=function(e){for(var a=0,r,t;u8[e+(a||"")];)++a;return e+=a||"",u8[e]=!0,r="@@"+e,l8(XD,r,o8.gs(null,function(n){t||(t=!0,l8(this,r,o8(n)),t=!1)})),r}});var f8=c((ZI,h8)=>{"use strict";var G1=va(),Me=Dn().Symbol;h8.exports=function(e){return Object.defineProperties(e,{hasInstance:G1("",Me&&Me.hasInstance||e("hasInstance")),isConcatSpreadable:G1("",Me&&Me.isConcatSpreadable||e("isConcatSpreadable")),iterator:G1("",Me&&Me.iterator||e("iterator")),match:G1("",Me&&Me.match||e("match")),replace:G1("",Me&&Me.replace||e("replace")),search:G1("",Me&&Me.search||e("search")),species:G1("",Me&&Me.species||e("species")),split:G1("",Me&&Me.split||e("split")),toPrimitive:G1("",Me&&Me.toPrimitive||e("toPrimitive")),toStringTag:G1("",Me&&Me.toStringTag||e("toStringTag")),unscopables:G1("",Me&&Me.unscopables||e("unscopables"))})}});var b8=c((XI,g8)=>{"use strict";var v8=va(),QD=gs(),Sn=Object.create(null);g8.exports=function(e){return Object.defineProperties(e,{for:v8(function(a){return Sn[a]?Sn[a]:Sn[a]=e(String(a))}),keyFor:v8(function(a){var r;QD(a);for(r in Sn)if(Sn[r]===a)return r})})}});var y8=c((QI,w8)=>{"use strict";var ra=va(),bs=gs(),hi=Dn().Symbol,eS=c8(),aS=f8(),rS=b8(),tS=Object.create,xs=Object.defineProperties,fi=Object.defineProperty,o1,Qr,x8;if(typeof hi=="function")try{String(hi()),x8=!0}catch{}else hi=null;Qr=function(a){if(this instanceof Qr)throw new TypeError("Symbol is not a constructor");return o1(a)};w8.exports=o1=function e(a){var r;if(this instanceof e)throw new TypeError("Symbol is not a constructor");return x8?hi(a):(r=tS(Qr.prototype),a=a===void 0?"":String(a),xs(r,{__description__:ra("",a),__name__:ra("",eS(a))}))};aS(o1);rS(o1);xs(Qr.prototype,{constructor:ra(o1),toString:ra("",function(){return this.__name__})});xs(o1.prototype,{toString:ra(function(){return"Symbol ("+bs(this).__description__+")"}),valueOf:ra(function(){return bs(this)})});fi(o1.prototype,o1.toPrimitive,ra("",function(){var e=bs(this);return typeof e=="symbol"?e:e.toString()}));fi(o1.prototype,o1.toStringTag,ra("c","Symbol"));fi(Qr.prototype,o1.toStringTag,ra("c",o1.prototype[o1.toStringTag]));fi(Qr.prototype,o1.toPrimitive,ra("c",o1.prototype[o1.toPrimitive]))});var Ma=c((eV,_8)=>{"use strict";_8.exports=i8()()?Dn().Symbol:y8()});var F8=c((aV,C8)=>{"use strict";var nS=fa();C8.exports=function(){return nS(this).length=0,this}});var et=c((rV,D8)=>{"use strict";D8.exports=function(e){if(typeof e!="function")throw new TypeError(e+" is not a function");return e}});var E8=c((tV,S8)=>{"use strict";var iS=cr(),pS=us(),sS=Object.prototype.toString;S8.exports=function(e){if(!iS(e))return null;if(pS(e)){var a=e.toString;if(typeof a!="function"||a===sS)return null}try{return""+e}catch{return null}}});var B8=c((nV,A8)=>{"use strict";A8.exports=function(e){try{return e.toString()}catch{try{return String(e)}catch{return null}}}});var N8=c((iV,P8)=>{"use strict";var dS=B8(),oS=/[\n\r\u2028\u2029]/g;P8.exports=function(e){var a=dS(e);return a===null?"<Non-coercible to string value>":(a.length>100&&(a=a.slice(0,99)+"\u2026"),a=a.replace(oS,function(r){switch(r){case` +`:return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}}),a)}});var k8=c((pV,T8)=>{"use strict";var lS=E8(),uS=N8();T8.exports=function(e,a,r){r&&r.errorMessage&&(e=lS(r.errorMessage));var t=e.indexOf("%v"),n=t>-1?uS(a):null;if(r&&r.name){var i=e.indexOf("%n");if(i>-1){if(t>-1){var p,s,d,h;return i>t?(p=n,d=t,s=r.name,h=i):(p=r.name,d=i,s=n,h=t),e.slice(0,d)+p+e.slice(d+2,h)+s+e.slice(h+2)}return e.slice(0,i)+r.name+e.slice(i+2)}}return t>-1?e.slice(0,t)+n+e.slice(t+2):e}});var ws=c((sV,L8)=>{"use strict";var mS=cr(),cS=k8();L8.exports=function(e,a,r){if(r&&!mS(e)){if("default"in r)return r.default;if(r.isOptional)return null}var t=r&&r.Error||TypeError,n=new t(cS(a,e,r));throw r&&r.errorCode&&(n.code=r.errorCode),n}});var M8=c((dV,O8)=>{"use strict";var hS=ws(),fS=cr();O8.exports=function(e){if(fS(e))return e;var a=arguments[1],r=a&&a.name?"Expected a value for %n, received %v":"Cannot use %v";return hS(e,r,a)}});var q8=c((oV,R8)=>{"use strict";var vS=ws(),gS=ms();R8.exports=function(e){if(gS(e))return e;var a=arguments[1],r=a&&a.name?"Expected a plain function for %n, received %v":"%v is not a plain function";return vS(e,r,a)}});var V8=c((lV,I8)=>{"use strict";I8.exports=function(){var e=Array.from,a,r;return typeof e!="function"?!1:(a=["raz","dwa"],r=e(a),!!(r&&r!==a&&r[1]==="dwa"))}});var G8=c((uV,j8)=>{"use strict";var bS=Object.prototype.toString,xS=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);j8.exports=function(e){return typeof e=="function"&&xS(bS.call(e))}});var U8=c((mV,z8)=>{"use strict";z8.exports=function(){var e=Math.sign;return typeof e!="function"?!1:e(10)===1&&e(-20)===-1}});var H8=c((cV,$8)=>{"use strict";$8.exports=function(e){return e=Number(e),isNaN(e)||e===0?e:e>0?1:-1}});var Y8=c((hV,W8)=>{"use strict";W8.exports=U8()()?Math.sign:H8()});var K8=c((fV,J8)=>{"use strict";var wS=Y8(),yS=Math.abs,_S=Math.floor;J8.exports=function(e){return isNaN(e)?0:(e=Number(e),e===0||!isFinite(e)?e:wS(e)*_S(yS(e)))}});var X8=c((vV,Z8)=>{"use strict";var CS=K8(),FS=Math.max;Z8.exports=function(e){return FS(0,CS(e))}});var ru=c((gV,au)=>{"use strict";var DS=Ma().iterator,SS=Cn(),ES=G8(),AS=X8(),Q8=et(),BS=fa(),PS=Oa(),NS=Fn(),eu=Array.isArray,ys=Function.prototype.call,hr={configurable:!0,enumerable:!0,writable:!0,value:null},_s=Object.defineProperty;au.exports=function(e){var a=arguments[1],r=arguments[2],t,n,i,p,s,d,h,m,g,w;if(e=Object(BS(e)),PS(a)&&Q8(a),!this||this===Array||!ES(this)){if(!a){if(SS(e))return s=e.length,s!==1?Array.apply(null,e):(p=new Array(1),p[0]=e[0],p);if(eu(e)){for(p=new Array(s=e.length),n=0;n<s;++n)p[n]=e[n];return p}}p=[]}else t=this;if(!eu(e)){if((g=e[DS])!==void 0){for(h=Q8(g).call(e),t&&(p=new t),m=h.next(),n=0;!m.done;)w=a?ys.call(a,r,m.value,n):m.value,t?(hr.value=w,_s(p,n,hr)):p[n]=w,m=h.next(),++n;s=n}else if(NS(e)){for(s=e.length,t&&(p=new t),n=0,i=0;n<s;++n)w=e[n],n+1<s&&(d=w.charCodeAt(0),d>=55296&&d<=56319&&(w+=e[++n])),w=a?ys.call(a,r,w,i):w,t?(hr.value=w,_s(p,i,hr)):p[i]=w,++i;s=i}}if(s===void 0)for(s=AS(e.length),t&&(p=new t(s)),n=0;n<s;++n)w=a?ys.call(a,r,e[n],n):e[n],t?(hr.value=w,_s(p,n,hr)):p[n]=w;return t&&(hr.value=null,p.length=s),p}});var nu=c((bV,tu)=>{"use strict";tu.exports=V8()()?Array.from:ru()});var pu=c((xV,iu)=>{"use strict";var TS=nu(),kS=mi(),LS=fa();iu.exports=function(e){var a=Object(LS(e)),r=arguments[1],t=Object(arguments[2]);if(a!==e&&!r)return a;var n={};return r?TS(r,function(i){(t.ensure||i in e)&&(n[i]=e[i])}):kS(n,e),n}});var ou=c((wV,du)=>{"use strict";var OS=et(),MS=fa(),RS=Function.prototype.bind,su=Function.prototype.call,qS=Object.keys,IS=Object.prototype.propertyIsEnumerable;du.exports=function(e,a){return function(r,t){var n,i=arguments[2],p=arguments[3];return r=Object(MS(r)),OS(t),n=qS(r),p&&n.sort(typeof p=="function"?RS.call(p,r):void 0),typeof e!="function"&&(e=n[e]),su.call(e,n,function(s,d){return IS.call(r,s)?su.call(t,i,r[s],s,r,d):a})}}});var uu=c((yV,lu)=>{"use strict";lu.exports=ou()("forEach")});var cu=c((_V,mu)=>{"use strict";var VS=et(),jS=uu(),GS=Function.prototype.call;mu.exports=function(e,a){var r={},t=arguments[2];return VS(a),jS(e,function(n,i,p,s){r[i]=GS.call(a,t,n,i,p,s)}),r}});var gu=c((CV,vu)=>{"use strict";var zS=cr(),US=M8(),hu=q8(),$S=pu(),HS=cs(),WS=cu(),YS=Function.prototype.bind,JS=Object.defineProperty,KS=Object.prototype.hasOwnProperty,fu;fu=function(e,a,r){var t=US(a)&&hu(a.value),n;return n=$S(a),delete n.writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&KS.call(this,e)?t:(a.value=YS.call(t,r.resolveContext?r.resolveContext(this):this),JS(this,e,a),this[e])},n};vu.exports=function(e){var a=HS(arguments[1]);return zS(a.resolveContext)&&hu(a.resolveContext),WS(e,function(r,t){return fu(t,r,a)})}});var Cs=c((FV,yu)=>{"use strict";var ZS=F8(),XS=mi(),QS=et(),eE=fa(),w1=va(),aE=gu(),bu=Ma(),xu=Object.defineProperty,wu=Object.defineProperties,En;yu.exports=En=function(e,a){if(!(this instanceof En))throw new TypeError("Constructor requires 'new'");wu(this,{__list__:w1("w",eE(e)),__context__:w1("w",a),__nextIndex__:w1("w",0)}),a&&(QS(a.on),a.on("_add",this._onAdd),a.on("_delete",this._onDelete),a.on("_clear",this._onClear))};delete En.prototype.constructor;wu(En.prototype,XS({_next:w1(function(){var e;if(this.__list__){if(this.__redo__&&(e=this.__redo__.shift(),e!==void 0))return e;if(this.__nextIndex__<this.__list__.length)return this.__nextIndex__++;this._unBind()}}),next:w1(function(){return this._createResult(this._next())}),_createResult:w1(function(e){return e===void 0?{done:!0,value:void 0}:{done:!1,value:this._resolve(e)}}),_resolve:w1(function(e){return this.__list__[e]}),_unBind:w1(function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off("_add",this._onAdd),this.__context__.off("_delete",this._onDelete),this.__context__.off("_clear",this._onClear),this.__context__=null)}),toString:w1(function(){return"[object "+(this[bu.toStringTag]||"Object")+"]"})},aE({_onAdd:w1(function(e){if(!(e>=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){xu(this,"__redo__",w1("c",[e]));return}this.__redo__.forEach(function(a,r){a>=e&&(this.__redo__[r]=++a)},this),this.__redo__.push(e)}}),_onDelete:w1(function(e){var a;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(a=this.__redo__.indexOf(e),a!==-1&&this.__redo__.splice(a,1),this.__redo__.forEach(function(r,t){r>e&&(this.__redo__[t]=--r)},this)))}),_onClear:w1(function(){this.__redo__&&ZS.call(this.__redo__),this.__nextIndex__=0})})));xu(En.prototype,bu.iterator,w1(function(){return this}))});var Su=c((DV,Du)=>{"use strict";var _u=ui(),Cu=fs(),Fs=va(),rE=Ma(),Ds=Cs(),Fu=Object.defineProperty,at;at=Du.exports=function(e,a){if(!(this instanceof at))throw new TypeError("Constructor requires 'new'");Ds.call(this,e),a?Cu.call(a,"key+value")?a="key+value":Cu.call(a,"key")?a="key":a="value":a="value",Fu(this,"__kind__",Fs("",a))};_u&&_u(at,Ds);delete at.prototype.constructor;at.prototype=Object.create(Ds.prototype,{_resolve:Fs(function(e){return this.__kind__==="value"?this.__list__[e]:this.__kind__==="key+value"?[e,this.__list__[e]]:e})});Fu(at.prototype,rE.toStringTag,Fs("c","Array Iterator"))});var Pu=c((SV,Bu)=>{"use strict";var Eu=ui(),vi=va(),tE=Ma(),Ss=Cs(),Au=Object.defineProperty,rt;rt=Bu.exports=function(e){if(!(this instanceof rt))throw new TypeError("Constructor requires 'new'");e=String(e),Ss.call(this,e),Au(this,"__length__",vi("",e.length))};Eu&&Eu(rt,Ss);delete rt.prototype.constructor;rt.prototype=Object.create(Ss.prototype,{_next:vi(function(){if(this.__list__){if(this.__nextIndex__<this.__length__)return this.__nextIndex__++;this._unBind()}}),_resolve:vi(function(e){var a=this.__list__[e],r;return this.__nextIndex__===this.__length__?a:(r=a.charCodeAt(0),r>=55296&&r<=56319?a+this.__list__[this.__nextIndex__++]:a)})});Au(rt.prototype,tE.toStringTag,vi("c","String Iterator"))});var Tu=c((EV,Nu)=>{"use strict";var nE=Cn(),iE=Oa(),pE=Fn(),sE=Ma().iterator,dE=Array.isArray;Nu.exports=function(e){return iE(e)?dE(e)||pE(e)||nE(e)?!0:typeof e[sE]=="function":!1}});var Lu=c((AV,ku)=>{"use strict";var oE=Tu();ku.exports=function(e){if(!oE(e))throw new TypeError(e+" is not iterable");return e}});var Es=c((BV,Ru)=>{"use strict";var lE=Cn(),uE=Fn(),Ou=Su(),mE=Pu(),cE=Lu(),Mu=Ma().iterator;Ru.exports=function(e){return typeof cE(e)[Mu]=="function"?e[Mu]():lE(e)?new Ou(e):uE(e)?new mE(e):new Ou(e)}});var Iu=c((PV,qu)=>{"use strict";var hE=Cn(),fE=et(),vE=Fn(),gE=Es(),bE=Array.isArray,As=Function.prototype.call,xE=Array.prototype.some;qu.exports=function(e,a){var r,t=arguments[2],n,i,p,s,d,h,m;if(bE(e)||hE(e)?r="array":vE(e)?r="string":e=gE(e),fE(a),i=function(){p=!0},r==="array"){xE.call(e,function(g){return As.call(a,t,g,i),p});return}if(r==="string"){for(d=e.length,s=0;s<d&&(h=e[s],s+1<d&&(m=h.charCodeAt(0),m>=55296&&m<=56319&&(h+=e[++s])),As.call(a,t,h,i),!p);++s);return}for(n=e.next();!n.done;){if(As.call(a,t,n.value,i),p)return;n=e.next()}}});var ju=c((NV,Vu)=>{"use strict";Vu.exports=function(){return typeof WeakMap!="function"?!1:Object.prototype.toString.call(new WeakMap)==="[object WeakMap]"}()});var Uu=c((TV,zu)=>{"use strict";var wE=Oa(),bi=ui(),gi=g9(),yE=fa(),_E=x9(),ga=va(),CE=Es(),FE=Iu(),DE=Ma().toStringTag,Gu=ju(),SE=Array.isArray,Ps=Object.defineProperty,Bs=Object.prototype.hasOwnProperty,EE=Object.getPrototypeOf,Ra;zu.exports=Ra=function(){var e=arguments[0],a;if(!(this instanceof Ra))throw new TypeError("Constructor requires 'new'");return a=Gu&&bi&&WeakMap!==Ra?bi(new WeakMap,EE(this)):this,wE(e)&&(SE(e)||(e=CE(e))),Ps(a,"__weakMapData__",ga("c","$weakMap$"+_E())),e&&FE(e,function(r){yE(r),a.set(r[0],r[1])}),a};Gu&&(bi&&bi(Ra,WeakMap),Ra.prototype=Object.create(WeakMap.prototype,{constructor:ga(Ra)}));Object.defineProperties(Ra.prototype,{delete:ga(function(e){return Bs.call(gi(e),this.__weakMapData__)?(delete e[this.__weakMapData__],!0):!1}),get:ga(function(e){if(Bs.call(gi(e),this.__weakMapData__))return e[this.__weakMapData__]}),has:ga(function(e){return Bs.call(gi(e),this.__weakMapData__)}),set:ga(function(e,a){return Ps(gi(e),this.__weakMapData__,ga("c",a)),this}),toString:ga(function(){return"[object WeakMap]"})});Ps(Ra.prototype,DE,ga("c","WeakMap"))});var Hu=c((kV,$u)=>{"use strict";$u.exports=n9()()?WeakMap:Uu()});var Yu=c((LV,Wu)=>{Wu.exports=[{name:"black",hex:"#000000"},{name:"blue",hex:"#0000FF"},{name:"cyan",hex:"#00FFFF"},{name:"green",hex:"#008000"},{name:"teal",hex:"#008080"},{name:"turquoise",hex:"#40E0D0"},{name:"indigo",hex:"#4B0082"},{name:"gray",hex:"#808080"},{name:"purple",hex:"#800080"},{name:"brown",hex:"#A52A2A"},{name:"tan",hex:"#D2B48C"},{name:"violet",hex:"#EE82EE"},{name:"beige",hex:"#F5F5DC"},{name:"fuchsia",hex:"#FF00FF"},{name:"gold",hex:"#FFD700"},{name:"magenta",hex:"#FF00FF"},{name:"orange",hex:"#FFA500"},{name:"pink",hex:"#FFC0CB"},{name:"red",hex:"#FF0000"},{name:"white",hex:"#FFFFFF"},{name:"yellow",hex:"#FFFF00"}]});var Ku=c((OV,Ju)=>{Ju.exports=[{name:"aqua",hex:"#00FFFF"},{name:"aliceblue",hex:"#F0F8FF"},{name:"antiquewhite",hex:"#FAEBD7"},{name:"black",hex:"#000000"},{name:"blue",hex:"#0000FF"},{name:"cyan",hex:"#00FFFF"},{name:"darkblue",hex:"#00008B"},{name:"darkcyan",hex:"#008B8B"},{name:"darkgreen",hex:"#006400"},{name:"darkturquoise",hex:"#00CED1"},{name:"deepskyblue",hex:"#00BFFF"},{name:"green",hex:"#008000"},{name:"lime",hex:"#00FF00"},{name:"mediumblue",hex:"#0000CD"},{name:"mediumspringgreen",hex:"#00FA9A"},{name:"navy",hex:"#000080"},{name:"springgreen",hex:"#00FF7F"},{name:"teal",hex:"#008080"},{name:"midnightblue",hex:"#191970"},{name:"dodgerblue",hex:"#1E90FF"},{name:"lightseagreen",hex:"#20B2AA"},{name:"forestgreen",hex:"#228B22"},{name:"seagreen",hex:"#2E8B57"},{name:"darkslategray",hex:"#2F4F4F"},{name:"darkslategrey",hex:"#2F4F4F"},{name:"limegreen",hex:"#32CD32"},{name:"mediumseagreen",hex:"#3CB371"},{name:"turquoise",hex:"#40E0D0"},{name:"royalblue",hex:"#4169E1"},{name:"steelblue",hex:"#4682B4"},{name:"darkslateblue",hex:"#483D8B"},{name:"mediumturquoise",hex:"#48D1CC"},{name:"indigo",hex:"#4B0082"},{name:"darkolivegreen",hex:"#556B2F"},{name:"cadetblue",hex:"#5F9EA0"},{name:"cornflowerblue",hex:"#6495ED"},{name:"mediumaquamarine",hex:"#66CDAA"},{name:"dimgray",hex:"#696969"},{name:"dimgrey",hex:"#696969"},{name:"slateblue",hex:"#6A5ACD"},{name:"olivedrab",hex:"#6B8E23"},{name:"slategray",hex:"#708090"},{name:"slategrey",hex:"#708090"},{name:"lightslategray",hex:"#778899"},{name:"lightslategrey",hex:"#778899"},{name:"mediumslateblue",hex:"#7B68EE"},{name:"lawngreen",hex:"#7CFC00"},{name:"aquamarine",hex:"#7FFFD4"},{name:"chartreuse",hex:"#7FFF00"},{name:"gray",hex:"#808080"},{name:"grey",hex:"#808080"},{name:"maroon",hex:"#800000"},{name:"olive",hex:"#808000"},{name:"purple",hex:"#800080"},{name:"lightskyblue",hex:"#87CEFA"},{name:"skyblue",hex:"#87CEEB"},{name:"blueviolet",hex:"#8A2BE2"},{name:"darkmagenta",hex:"#8B008B"},{name:"darkred",hex:"#8B0000"},{name:"saddlebrown",hex:"#8B4513"},{name:"darkseagreen",hex:"#8FBC8F"},{name:"lightgreen",hex:"#90EE90"},{name:"mediumpurple",hex:"#9370DB"},{name:"darkviolet",hex:"#9400D3"},{name:"palegreen",hex:"#98FB98"},{name:"darkorchid",hex:"#9932CC"},{name:"yellowgreen",hex:"#9ACD32"},{name:"sienna",hex:"#A0522D"},{name:"brown",hex:"#A52A2A"},{name:"darkgray",hex:"#A9A9A9"},{name:"darkgrey",hex:"#A9A9A9"},{name:"greenyellow",hex:"#ADFF2F"},{name:"lightblue",hex:"#ADD8E6"},{name:"paleturquoise",hex:"#AFEEEE"},{name:"lightsteelblue",hex:"#B0C4DE"},{name:"powderblue",hex:"#B0E0E6"},{name:"firebrick",hex:"#B22222"},{name:"darkgoldenrod",hex:"#B8860B"},{name:"mediumorchid",hex:"#BA55D3"},{name:"rosybrown",hex:"#BC8F8F"},{name:"darkkhaki",hex:"#BDB76B"},{name:"silver",hex:"#C0C0C0"},{name:"mediumvioletred",hex:"#C71585"},{name:"indianred",hex:"#CD5C5C"},{name:"peru",hex:"#CD853F"},{name:"chocolate",hex:"#D2691E"},{name:"tan",hex:"#D2B48C"},{name:"lightgray",hex:"#D3D3D3"},{name:"lightgrey",hex:"#D3D3D3"},{name:"thistle",hex:"#D8BFD8"},{name:"goldenrod",hex:"#DAA520"},{name:"orchid",hex:"#DA70D6"},{name:"palevioletred",hex:"#DB7093"},{name:"crimson",hex:"#DC143C"},{name:"gainsboro",hex:"#DCDCDC"},{name:"plum",hex:"#DDA0DD"},{name:"burlywood",hex:"#DEB887"},{name:"lightcyan",hex:"#E0FFFF"},{name:"lavender",hex:"#E6E6FA"},{name:"darksalmon",hex:"#E9967A"},{name:"palegoldenrod",hex:"#EEE8AA"},{name:"violet",hex:"#EE82EE"},{name:"azure",hex:"#F0FFFF"},{name:"honeydew",hex:"#F0FFF0"},{name:"khaki",hex:"#F0E68C"},{name:"lightcoral",hex:"#F08080"},{name:"sandybrown",hex:"#F4A460"},{name:"beige",hex:"#F5F5DC"},{name:"mintcream",hex:"#F5FFFA"},{name:"wheat",hex:"#F5DEB3"},{name:"whitesmoke",hex:"#F5F5F5"},{name:"ghostwhite",hex:"#F8F8FF"},{name:"lightgoldenrodyellow",hex:"#FAFAD2"},{name:"linen",hex:"#FAF0E6"},{name:"salmon",hex:"#FA8072"},{name:"oldlace",hex:"#FDF5E6"},{name:"bisque",hex:"#FFE4C4"},{name:"blanchedalmond",hex:"#FFEBCD"},{name:"coral",hex:"#FF7F50"},{name:"cornsilk",hex:"#FFF8DC"},{name:"darkorange",hex:"#FF8C00"},{name:"deeppink",hex:"#FF1493"},{name:"floralwhite",hex:"#FFFAF0"},{name:"fuchsia",hex:"#FF00FF"},{name:"gold",hex:"#FFD700"},{name:"hotpink",hex:"#FF69B4"},{name:"ivory",hex:"#FFFFF0"},{name:"lavenderblush",hex:"#FFF0F5"},{name:"lemonchiffon",hex:"#FFFACD"},{name:"lightpink",hex:"#FFB6C1"},{name:"lightsalmon",hex:"#FFA07A"},{name:"lightyellow",hex:"#FFFFE0"},{name:"magenta",hex:"#FF00FF"},{name:"mistyrose",hex:"#FFE4E1"},{name:"moccasin",hex:"#FFE4B5"},{name:"navajowhite",hex:"#FFDEAD"},{name:"orange",hex:"#FFA500"},{name:"orangered",hex:"#FF4500"},{name:"papayawhip",hex:"#FFEFD5"},{name:"peachpuff",hex:"#FFDAB9"},{name:"pink",hex:"#FFC0CB"},{name:"red",hex:"#FF0000"},{name:"seashell",hex:"#FFF5EE"},{name:"snow",hex:"#FFFAFA"},{name:"tomato",hex:"#FF6347"},{name:"white",hex:"#FFFFFF"},{name:"yellow",hex:"#FFFF00"}]});var Xu=c((MV,Zu)=>{Zu.exports=[{name:"Black",hex:"000000"},{name:"Navy Blue",hex:"000080"},{name:"Dark Blue",hex:"0000C8"},{name:"Blue",hex:"0000FF"},{name:"Stratos",hex:"000741"},{name:"Swamp",hex:"001B1C"},{name:"Resolution Blue",hex:"002387"},{name:"Deep Fir",hex:"002900"},{name:"Burnham",hex:"002E20"},{name:"International Klein Blue",hex:"002FA7"},{name:"Prussian Blue",hex:"003153"},{name:"Midnight Blue",hex:"003366"},{name:"Smalt",hex:"003399"},{name:"Deep Teal",hex:"003532"},{name:"Cyprus",hex:"003E40"},{name:"Kaitoke Green",hex:"004620"},{name:"Cobalt",hex:"0047AB"},{name:"Crusoe",hex:"004816"},{name:"Sherpa Blue",hex:"004950"},{name:"Endeavour",hex:"0056A7"},{name:"Camarone",hex:"00581A"},{name:"Science Blue",hex:"0066CC"},{name:"Blue Ribbon",hex:"0066FF"},{name:"Tropical Rain Forest",hex:"00755E"},{name:"Allports",hex:"0076A3"},{name:"Deep Cerulean",hex:"007BA7"},{name:"Lochmara",hex:"007EC7"},{name:"Azure Radiance",hex:"007FFF"},{name:"Teal",hex:"008080"},{name:"Bondi Blue",hex:"0095B6"},{name:"Pacific Blue",hex:"009DC4"},{name:"Persian Green",hex:"00A693"},{name:"Jade",hex:"00A86B"},{name:"Caribbean Green",hex:"00CC99"},{name:"Robin's Egg Blue",hex:"00CCCC"},{name:"Green",hex:"00FF00"},{name:"Spring Green",hex:"00FF7F"},{name:"Cyan / Aqua",hex:"00FFFF"},{name:"Blue Charcoal",hex:"010D1A"},{name:"Midnight",hex:"011635"},{name:"Holly",hex:"011D13"},{name:"Daintree",hex:"012731"},{name:"Cardin Green",hex:"01361C"},{name:"County Green",hex:"01371A"},{name:"Astronaut Blue",hex:"013E62"},{name:"Regal Blue",hex:"013F6A"},{name:"Aqua Deep",hex:"014B43"},{name:"Orient",hex:"015E85"},{name:"Blue Stone",hex:"016162"},{name:"Fun Green",hex:"016D39"},{name:"Pine Green",hex:"01796F"},{name:"Blue Lagoon",hex:"017987"},{name:"Deep Sea",hex:"01826B"},{name:"Green Haze",hex:"01A368"},{name:"English Holly",hex:"022D15"},{name:"Sherwood Green",hex:"02402C"},{name:"Congress Blue",hex:"02478E"},{name:"Evening Sea",hex:"024E46"},{name:"Bahama Blue",hex:"026395"},{name:"Observatory",hex:"02866F"},{name:"Cerulean",hex:"02A4D3"},{name:"Tangaroa",hex:"03163C"},{name:"Green Vogue",hex:"032B52"},{name:"Mosque",hex:"036A6E"},{name:"Midnight Moss",hex:"041004"},{name:"Black Pearl",hex:"041322"},{name:"Blue Whale",hex:"042E4C"},{name:"Zuccini",hex:"044022"},{name:"Teal Blue",hex:"044259"},{name:"Deep Cove",hex:"051040"},{name:"Gulf Blue",hex:"051657"},{name:"Venice Blue",hex:"055989"},{name:"Watercourse",hex:"056F57"},{name:"Catalina Blue",hex:"062A78"},{name:"Tiber",hex:"063537"},{name:"Gossamer",hex:"069B81"},{name:"Niagara",hex:"06A189"},{name:"Tarawera",hex:"073A50"},{name:"Jaguar",hex:"080110"},{name:"Black Bean",hex:"081910"},{name:"Deep Sapphire",hex:"082567"},{name:"Elf Green",hex:"088370"},{name:"Bright Turquoise",hex:"08E8DE"},{name:"Downriver",hex:"092256"},{name:"Palm Green",hex:"09230F"},{name:"Madison",hex:"09255D"},{name:"Bottle Green",hex:"093624"},{name:"Deep Sea Green",hex:"095859"},{name:"Salem",hex:"097F4B"},{name:"Black Russian",hex:"0A001C"},{name:"Dark Fern",hex:"0A480D"},{name:"Japanese Laurel",hex:"0A6906"},{name:"Atoll",hex:"0A6F75"},{name:"Cod Gray",hex:"0B0B0B"},{name:"Marshland",hex:"0B0F08"},{name:"Gordons Green",hex:"0B1107"},{name:"Black Forest",hex:"0B1304"},{name:"San Felix",hex:"0B6207"},{name:"Malachite",hex:"0BDA51"},{name:"Ebony",hex:"0C0B1D"},{name:"Woodsmoke",hex:"0C0D0F"},{name:"Racing Green",hex:"0C1911"},{name:"Surfie Green",hex:"0C7A79"},{name:"Blue Chill",hex:"0C8990"},{name:"Black Rock",hex:"0D0332"},{name:"Bunker",hex:"0D1117"},{name:"Aztec",hex:"0D1C19"},{name:"Bush",hex:"0D2E1C"},{name:"Cinder",hex:"0E0E18"},{name:"Firefly",hex:"0E2A30"},{name:"Torea Bay",hex:"0F2D9E"},{name:"Vulcan",hex:"10121D"},{name:"Green Waterloo",hex:"101405"},{name:"Eden",hex:"105852"},{name:"Arapawa",hex:"110C6C"},{name:"Ultramarine",hex:"120A8F"},{name:"Elephant",hex:"123447"},{name:"Jewel",hex:"126B40"},{name:"Diesel",hex:"130000"},{name:"Asphalt",hex:"130A06"},{name:"Blue Zodiac",hex:"13264D"},{name:"Parsley",hex:"134F19"},{name:"Nero",hex:"140600"},{name:"Tory Blue",hex:"1450AA"},{name:"Bunting",hex:"151F4C"},{name:"Denim",hex:"1560BD"},{name:"Genoa",hex:"15736B"},{name:"Mirage",hex:"161928"},{name:"Hunter Green",hex:"161D10"},{name:"Big Stone",hex:"162A40"},{name:"Celtic",hex:"163222"},{name:"Timber Green",hex:"16322C"},{name:"Gable Green",hex:"163531"},{name:"Pine Tree",hex:"171F04"},{name:"Chathams Blue",hex:"175579"},{name:"Deep Forest Green",hex:"182D09"},{name:"Blumine",hex:"18587A"},{name:"Palm Leaf",hex:"19330E"},{name:"Nile Blue",hex:"193751"},{name:"Fun Blue",hex:"1959A8"},{name:"Lucky Point",hex:"1A1A68"},{name:"Mountain Meadow",hex:"1AB385"},{name:"Tolopea",hex:"1B0245"},{name:"Haiti",hex:"1B1035"},{name:"Deep Koamaru",hex:"1B127B"},{name:"Acadia",hex:"1B1404"},{name:"Seaweed",hex:"1B2F11"},{name:"Biscay",hex:"1B3162"},{name:"Matisse",hex:"1B659D"},{name:"Crowshead",hex:"1C1208"},{name:"Rangoon Green",hex:"1C1E13"},{name:"Persian Blue",hex:"1C39BB"},{name:"Everglade",hex:"1C402E"},{name:"Elm",hex:"1C7C7D"},{name:"Green Pea",hex:"1D6142"},{name:"Creole",hex:"1E0F04"},{name:"Karaka",hex:"1E1609"},{name:"El Paso",hex:"1E1708"},{name:"Cello",hex:"1E385B"},{name:"Te Papa Green",hex:"1E433C"},{name:"Dodger Blue",hex:"1E90FF"},{name:"Eastern Blue",hex:"1E9AB0"},{name:"Night Rider",hex:"1F120F"},{name:"Java",hex:"1FC2C2"},{name:"Jacksons Purple",hex:"20208D"},{name:"Cloud Burst",hex:"202E54"},{name:"Blue Dianne",hex:"204852"},{name:"Eternity",hex:"211A0E"},{name:"Deep Blue",hex:"220878"},{name:"Forest Green",hex:"228B22"},{name:"Mallard",hex:"233418"},{name:"Violet",hex:"240A40"},{name:"Kilamanjaro",hex:"240C02"},{name:"Log Cabin",hex:"242A1D"},{name:"Black Olive",hex:"242E16"},{name:"Green House",hex:"24500F"},{name:"Graphite",hex:"251607"},{name:"Cannon Black",hex:"251706"},{name:"Port Gore",hex:"251F4F"},{name:"Shark",hex:"25272C"},{name:"Green Kelp",hex:"25311C"},{name:"Curious Blue",hex:"2596D1"},{name:"Paua",hex:"260368"},{name:"Paris M",hex:"26056A"},{name:"Wood Bark",hex:"261105"},{name:"Gondola",hex:"261414"},{name:"Steel Gray",hex:"262335"},{name:"Ebony Clay",hex:"26283B"},{name:"Bay of Many",hex:"273A81"},{name:"Plantation",hex:"27504B"},{name:"Eucalyptus",hex:"278A5B"},{name:"Oil",hex:"281E15"},{name:"Astronaut",hex:"283A77"},{name:"Mariner",hex:"286ACD"},{name:"Violent Violet",hex:"290C5E"},{name:"Bastille",hex:"292130"},{name:"Zeus",hex:"292319"},{name:"Charade",hex:"292937"},{name:"Jelly Bean",hex:"297B9A"},{name:"Jungle Green",hex:"29AB87"},{name:"Cherry Pie",hex:"2A0359"},{name:"Coffee Bean",hex:"2A140E"},{name:"Baltic Sea",hex:"2A2630"},{name:"Turtle Green",hex:"2A380B"},{name:"Cerulean Blue",hex:"2A52BE"},{name:"Sepia Black",hex:"2B0202"},{name:"Valhalla",hex:"2B194F"},{name:"Heavy Metal",hex:"2B3228"},{name:"Blue Gem",hex:"2C0E8C"},{name:"Revolver",hex:"2C1632"},{name:"Bleached Cedar",hex:"2C2133"},{name:"Lochinvar",hex:"2C8C84"},{name:"Mikado",hex:"2D2510"},{name:"Outer Space",hex:"2D383A"},{name:"St Tropaz",hex:"2D569B"},{name:"Jacaranda",hex:"2E0329"},{name:"Jacko Bean",hex:"2E1905"},{name:"Rangitoto",hex:"2E3222"},{name:"Rhino",hex:"2E3F62"},{name:"Sea Green",hex:"2E8B57"},{name:"Scooter",hex:"2EBFD4"},{name:"Onion",hex:"2F270E"},{name:"Governor Bay",hex:"2F3CB3"},{name:"Sapphire",hex:"2F519E"},{name:"Spectra",hex:"2F5A57"},{name:"Casal",hex:"2F6168"},{name:"Melanzane",hex:"300529"},{name:"Cocoa Brown",hex:"301F1E"},{name:"Woodrush",hex:"302A0F"},{name:"San Juan",hex:"304B6A"},{name:"Turquoise",hex:"30D5C8"},{name:"Eclipse",hex:"311C17"},{name:"Pickled Bluewood",hex:"314459"},{name:"Azure",hex:"315BA1"},{name:"Calypso",hex:"31728D"},{name:"Paradiso",hex:"317D82"},{name:"Persian Indigo",hex:"32127A"},{name:"Blackcurrant",hex:"32293A"},{name:"Mine Shaft",hex:"323232"},{name:"Stromboli",hex:"325D52"},{name:"Bilbao",hex:"327C14"},{name:"Astral",hex:"327DA0"},{name:"Christalle",hex:"33036B"},{name:"Thunder",hex:"33292F"},{name:"Shamrock",hex:"33CC99"},{name:"Tamarind",hex:"341515"},{name:"Mardi Gras",hex:"350036"},{name:"Valentino",hex:"350E42"},{name:"Jagger",hex:"350E57"},{name:"Tuna",hex:"353542"},{name:"Chambray",hex:"354E8C"},{name:"Martinique",hex:"363050"},{name:"Tuatara",hex:"363534"},{name:"Waiouru",hex:"363C0D"},{name:"Ming",hex:"36747D"},{name:"La Palma",hex:"368716"},{name:"Chocolate",hex:"370202"},{name:"Clinker",hex:"371D09"},{name:"Brown Tumbleweed",hex:"37290E"},{name:"Birch",hex:"373021"},{name:"Oracle",hex:"377475"},{name:"Blue Diamond",hex:"380474"},{name:"Grape",hex:"381A51"},{name:"Dune",hex:"383533"},{name:"Oxford Blue",hex:"384555"},{name:"Clover",hex:"384910"},{name:"Limed Spruce",hex:"394851"},{name:"Dell",hex:"396413"},{name:"Toledo",hex:"3A0020"},{name:"Sambuca",hex:"3A2010"},{name:"Jacarta",hex:"3A2A6A"},{name:"William",hex:"3A686C"},{name:"Killarney",hex:"3A6A47"},{name:"Keppel",hex:"3AB09E"},{name:"Temptress",hex:"3B000B"},{name:"Aubergine",hex:"3B0910"},{name:"Jon",hex:"3B1F1F"},{name:"Treehouse",hex:"3B2820"},{name:"Amazon",hex:"3B7A57"},{name:"Boston Blue",hex:"3B91B4"},{name:"Windsor",hex:"3C0878"},{name:"Rebel",hex:"3C1206"},{name:"Meteorite",hex:"3C1F76"},{name:"Dark Ebony",hex:"3C2005"},{name:"Camouflage",hex:"3C3910"},{name:"Bright Gray",hex:"3C4151"},{name:"Cape Cod",hex:"3C4443"},{name:"Lunar Green",hex:"3C493A"},{name:"Bean ",hex:"3D0C02"},{name:"Bistre",hex:"3D2B1F"},{name:"Goblin",hex:"3D7D52"},{name:"Kingfisher Daisy",hex:"3E0480"},{name:"Cedar",hex:"3E1C14"},{name:"English Walnut",hex:"3E2B23"},{name:"Black Marlin",hex:"3E2C1C"},{name:"Ship Gray",hex:"3E3A44"},{name:"Pelorous",hex:"3EABBF"},{name:"Bronze",hex:"3F2109"},{name:"Cola",hex:"3F2500"},{name:"Madras",hex:"3F3002"},{name:"Minsk",hex:"3F307F"},{name:"Cabbage Pont",hex:"3F4C3A"},{name:"Tom Thumb",hex:"3F583B"},{name:"Mineral Green",hex:"3F5D53"},{name:"Puerto Rico",hex:"3FC1AA"},{name:"Harlequin",hex:"3FFF00"},{name:"Brown Pod",hex:"401801"},{name:"Cork",hex:"40291D"},{name:"Masala",hex:"403B38"},{name:"Thatch Green",hex:"403D19"},{name:"Fiord",hex:"405169"},{name:"Viridian",hex:"40826D"},{name:"Chateau Green",hex:"40A860"},{name:"Ripe Plum",hex:"410056"},{name:"Paco",hex:"411F10"},{name:"Deep Oak",hex:"412010"},{name:"Merlin",hex:"413C37"},{name:"Gun Powder",hex:"414257"},{name:"East Bay",hex:"414C7D"},{name:"Royal Blue",hex:"4169E1"},{name:"Ocean Green",hex:"41AA78"},{name:"Burnt Maroon",hex:"420303"},{name:"Lisbon Brown",hex:"423921"},{name:"Faded Jade",hex:"427977"},{name:"Scarlet Gum",hex:"431560"},{name:"Iroko",hex:"433120"},{name:"Armadillo",hex:"433E37"},{name:"River Bed",hex:"434C59"},{name:"Green Leaf",hex:"436A0D"},{name:"Barossa",hex:"44012D"},{name:"Morocco Brown",hex:"441D00"},{name:"Mako",hex:"444954"},{name:"Kelp",hex:"454936"},{name:"San Marino",hex:"456CAC"},{name:"Picton Blue",hex:"45B1E8"},{name:"Loulou",hex:"460B41"},{name:"Crater Brown",hex:"462425"},{name:"Gray Asparagus",hex:"465945"},{name:"Steel Blue",hex:"4682B4"},{name:"Rustic Red",hex:"480404"},{name:"Bulgarian Rose",hex:"480607"},{name:"Clairvoyant",hex:"480656"},{name:"Cocoa Bean",hex:"481C1C"},{name:"Woody Brown",hex:"483131"},{name:"Taupe",hex:"483C32"},{name:"Van Cleef",hex:"49170C"},{name:"Brown Derby",hex:"492615"},{name:"Metallic Bronze",hex:"49371B"},{name:"Verdun Green",hex:"495400"},{name:"Blue Bayoux",hex:"496679"},{name:"Bismark",hex:"497183"},{name:"Bracken",hex:"4A2A04"},{name:"Deep Bronze",hex:"4A3004"},{name:"Mondo",hex:"4A3C30"},{name:"Tundora",hex:"4A4244"},{name:"Gravel",hex:"4A444B"},{name:"Trout",hex:"4A4E5A"},{name:"Pigment Indigo",hex:"4B0082"},{name:"Nandor",hex:"4B5D52"},{name:"Saddle",hex:"4C3024"},{name:"Abbey",hex:"4C4F56"},{name:"Blackberry",hex:"4D0135"},{name:"Cab Sav",hex:"4D0A18"},{name:"Indian Tan",hex:"4D1E01"},{name:"Cowboy",hex:"4D282D"},{name:"Livid Brown",hex:"4D282E"},{name:"Rock",hex:"4D3833"},{name:"Punga",hex:"4D3D14"},{name:"Bronzetone",hex:"4D400F"},{name:"Woodland",hex:"4D5328"},{name:"Mahogany",hex:"4E0606"},{name:"Bossanova",hex:"4E2A5A"},{name:"Matterhorn",hex:"4E3B41"},{name:"Bronze Olive",hex:"4E420C"},{name:"Mulled Wine",hex:"4E4562"},{name:"Axolotl",hex:"4E6649"},{name:"Wedgewood",hex:"4E7F9E"},{name:"Shakespeare",hex:"4EABD1"},{name:"Honey Flower",hex:"4F1C70"},{name:"Daisy Bush",hex:"4F2398"},{name:"Indigo",hex:"4F69C6"},{name:"Fern Green",hex:"4F7942"},{name:"Fruit Salad",hex:"4F9D5D"},{name:"Apple",hex:"4FA83D"},{name:"Mortar",hex:"504351"},{name:"Kashmir Blue",hex:"507096"},{name:"Cutty Sark",hex:"507672"},{name:"Emerald",hex:"50C878"},{name:"Emperor",hex:"514649"},{name:"Chalet Green",hex:"516E3D"},{name:"Como",hex:"517C66"},{name:"Smalt Blue",hex:"51808F"},{name:"Castro",hex:"52001F"},{name:"Maroon Oak",hex:"520C17"},{name:"Gigas",hex:"523C94"},{name:"Voodoo",hex:"533455"},{name:"Victoria",hex:"534491"},{name:"Hippie Green",hex:"53824B"},{name:"Heath",hex:"541012"},{name:"Judge Gray",hex:"544333"},{name:"Fuscous Gray",hex:"54534D"},{name:"Vida Loca",hex:"549019"},{name:"Cioccolato",hex:"55280C"},{name:"Saratoga",hex:"555B10"},{name:"Finlandia",hex:"556D56"},{name:"Havelock Blue",hex:"5590D9"},{name:"Fountain Blue",hex:"56B4BE"},{name:"Spring Leaves",hex:"578363"},{name:"Saddle Brown",hex:"583401"},{name:"Scarpa Flow",hex:"585562"},{name:"Cactus",hex:"587156"},{name:"Hippie Blue",hex:"589AAF"},{name:"Wine Berry",hex:"591D35"},{name:"Brown Bramble",hex:"592804"},{name:"Congo Brown",hex:"593737"},{name:"Millbrook",hex:"594433"},{name:"Waikawa Gray",hex:"5A6E9C"},{name:"Horizon",hex:"5A87A0"},{name:"Jambalaya",hex:"5B3013"},{name:"Bordeaux",hex:"5C0120"},{name:"Mulberry Wood",hex:"5C0536"},{name:"Carnaby Tan",hex:"5C2E01"},{name:"Comet",hex:"5C5D75"},{name:"Redwood",hex:"5D1E0F"},{name:"Don Juan",hex:"5D4C51"},{name:"Chicago",hex:"5D5C58"},{name:"Verdigris",hex:"5D5E37"},{name:"Dingley",hex:"5D7747"},{name:"Breaker Bay",hex:"5DA19F"},{name:"Kabul",hex:"5E483E"},{name:"Hemlock",hex:"5E5D3B"},{name:"Irish Coffee",hex:"5F3D26"},{name:"Mid Gray",hex:"5F5F6E"},{name:"Shuttle Gray",hex:"5F6672"},{name:"Aqua Forest",hex:"5FA777"},{name:"Tradewind",hex:"5FB3AC"},{name:"Horses Neck",hex:"604913"},{name:"Smoky",hex:"605B73"},{name:"Corduroy",hex:"606E68"},{name:"Danube",hex:"6093D1"},{name:"Espresso",hex:"612718"},{name:"Eggplant",hex:"614051"},{name:"Costa Del Sol",hex:"615D30"},{name:"Glade Green",hex:"61845F"},{name:"Buccaneer",hex:"622F30"},{name:"Quincy",hex:"623F2D"},{name:"Butterfly Bush",hex:"624E9A"},{name:"West Coast",hex:"625119"},{name:"Finch",hex:"626649"},{name:"Patina",hex:"639A8F"},{name:"Fern",hex:"63B76C"},{name:"Blue Violet",hex:"6456B7"},{name:"Dolphin",hex:"646077"},{name:"Storm Dust",hex:"646463"},{name:"Siam",hex:"646A54"},{name:"Nevada",hex:"646E75"},{name:"Cornflower Blue",hex:"6495ED"},{name:"Viking",hex:"64CCDB"},{name:"Rosewood",hex:"65000B"},{name:"Cherrywood",hex:"651A14"},{name:"Purple Heart",hex:"652DC1"},{name:"Fern Frond",hex:"657220"},{name:"Willow Grove",hex:"65745D"},{name:"Hoki",hex:"65869F"},{name:"Pompadour",hex:"660045"},{name:"Purple",hex:"660099"},{name:"Tyrian Purple",hex:"66023C"},{name:"Dark Tan",hex:"661010"},{name:"Silver Tree",hex:"66B58F"},{name:"Bright Green",hex:"66FF00"},{name:"Screamin' Green",hex:"66FF66"},{name:"Black Rose",hex:"67032D"},{name:"Scampi",hex:"675FA6"},{name:"Ironside Gray",hex:"676662"},{name:"Viridian Green",hex:"678975"},{name:"Christi",hex:"67A712"},{name:"Nutmeg Wood Finish",hex:"683600"},{name:"Zambezi",hex:"685558"},{name:"Salt Box",hex:"685E6E"},{name:"Tawny Port",hex:"692545"},{name:"Finn",hex:"692D54"},{name:"Scorpion",hex:"695F62"},{name:"Lynch",hex:"697E9A"},{name:"Spice",hex:"6A442E"},{name:"Himalaya",hex:"6A5D1B"},{name:"Soya Bean",hex:"6A6051"},{name:"Hairy Heath",hex:"6B2A14"},{name:"Royal Purple",hex:"6B3FA0"},{name:"Shingle Fawn",hex:"6B4E31"},{name:"Dorado",hex:"6B5755"},{name:"Bermuda Gray",hex:"6B8BA2"},{name:"Olive Drab",hex:"6B8E23"},{name:"Eminence",hex:"6C3082"},{name:"Turquoise Blue",hex:"6CDAE7"},{name:"Lonestar",hex:"6D0101"},{name:"Pine Cone",hex:"6D5E54"},{name:"Dove Gray",hex:"6D6C6C"},{name:"Juniper",hex:"6D9292"},{name:"Gothic",hex:"6D92A1"},{name:"Red Oxide",hex:"6E0902"},{name:"Moccaccino",hex:"6E1D14"},{name:"Pickled Bean",hex:"6E4826"},{name:"Dallas",hex:"6E4B26"},{name:"Kokoda",hex:"6E6D57"},{name:"Pale Sky",hex:"6E7783"},{name:"Cafe Royale",hex:"6F440C"},{name:"Flint",hex:"6F6A61"},{name:"Highland",hex:"6F8E63"},{name:"Limeade",hex:"6F9D02"},{name:"Downy",hex:"6FD0C5"},{name:"Persian Plum",hex:"701C1C"},{name:"Sepia",hex:"704214"},{name:"Antique Bronze",hex:"704A07"},{name:"Ferra",hex:"704F50"},{name:"Coffee",hex:"706555"},{name:"Slate Gray",hex:"708090"},{name:"Cedar Wood Finish",hex:"711A00"},{name:"Metallic Copper",hex:"71291D"},{name:"Affair",hex:"714693"},{name:"Studio",hex:"714AB2"},{name:"Tobacco Brown",hex:"715D47"},{name:"Yellow Metal",hex:"716338"},{name:"Peat",hex:"716B56"},{name:"Olivetone",hex:"716E10"},{name:"Storm Gray",hex:"717486"},{name:"Sirocco",hex:"718080"},{name:"Aquamarine Blue",hex:"71D9E2"},{name:"Venetian Red",hex:"72010F"},{name:"Old Copper",hex:"724A2F"},{name:"Go Ben",hex:"726D4E"},{name:"Raven",hex:"727B89"},{name:"Seance",hex:"731E8F"},{name:"Raw Umber",hex:"734A12"},{name:"Kimberly",hex:"736C9F"},{name:"Crocodile",hex:"736D58"},{name:"Crete",hex:"737829"},{name:"Xanadu",hex:"738678"},{name:"Spicy Mustard",hex:"74640D"},{name:"Limed Ash",hex:"747D63"},{name:"Rolling Stone",hex:"747D83"},{name:"Blue Smoke",hex:"748881"},{name:"Laurel",hex:"749378"},{name:"Mantis",hex:"74C365"},{name:"Russett",hex:"755A57"},{name:"Deluge",hex:"7563A8"},{name:"Cosmic",hex:"76395D"},{name:"Blue Marguerite",hex:"7666C6"},{name:"Lima",hex:"76BD17"},{name:"Sky Blue",hex:"76D7EA"},{name:"Dark Burgundy",hex:"770F05"},{name:"Crown of Thorns",hex:"771F1F"},{name:"Walnut",hex:"773F1A"},{name:"Pablo",hex:"776F61"},{name:"Pacifika",hex:"778120"},{name:"Oxley",hex:"779E86"},{name:"Pastel Green",hex:"77DD77"},{name:"Japanese Maple",hex:"780109"},{name:"Mocha",hex:"782D19"},{name:"Peanut",hex:"782F16"},{name:"Camouflage Green",hex:"78866B"},{name:"Wasabi",hex:"788A25"},{name:"Ship Cove",hex:"788BBA"},{name:"Sea Nymph",hex:"78A39C"},{name:"Roman Coffee",hex:"795D4C"},{name:"Old Lavender",hex:"796878"},{name:"Rum",hex:"796989"},{name:"Fedora",hex:"796A78"},{name:"Sandstone",hex:"796D62"},{name:"Spray",hex:"79DEEC"},{name:"Siren",hex:"7A013A"},{name:"Fuchsia Blue",hex:"7A58C1"},{name:"Boulder",hex:"7A7A7A"},{name:"Wild Blue Yonder",hex:"7A89B8"},{name:"De York",hex:"7AC488"},{name:"Red Beech",hex:"7B3801"},{name:"Cinnamon",hex:"7B3F00"},{name:"Yukon Gold",hex:"7B6608"},{name:"Tapa",hex:"7B7874"},{name:"Waterloo ",hex:"7B7C94"},{name:"Flax Smoke",hex:"7B8265"},{name:"Amulet",hex:"7B9F80"},{name:"Asparagus",hex:"7BA05B"},{name:"Kenyan Copper",hex:"7C1C05"},{name:"Pesto",hex:"7C7631"},{name:"Topaz",hex:"7C778A"},{name:"Concord",hex:"7C7B7A"},{name:"Jumbo",hex:"7C7B82"},{name:"Trendy Green",hex:"7C881A"},{name:"Gumbo",hex:"7CA1A6"},{name:"Acapulco",hex:"7CB0A1"},{name:"Neptune",hex:"7CB7BB"},{name:"Pueblo",hex:"7D2C14"},{name:"Bay Leaf",hex:"7DA98D"},{name:"Malibu",hex:"7DC8F7"},{name:"Bermuda",hex:"7DD8C6"},{name:"Copper Canyon",hex:"7E3A15"},{name:"Claret",hex:"7F1734"},{name:"Peru Tan",hex:"7F3A02"},{name:"Falcon",hex:"7F626D"},{name:"Mobster",hex:"7F7589"},{name:"Moody Blue",hex:"7F76D3"},{name:"Chartreuse",hex:"7FFF00"},{name:"Aquamarine",hex:"7FFFD4"},{name:"Maroon",hex:"800000"},{name:"Rose Bud Cherry",hex:"800B47"},{name:"Falu Red",hex:"801818"},{name:"Red Robin",hex:"80341F"},{name:"Vivid Violet",hex:"803790"},{name:"Russet",hex:"80461B"},{name:"Friar Gray",hex:"807E79"},{name:"Olive",hex:"808000"},{name:"Gray",hex:"808080"},{name:"Gulf Stream",hex:"80B3AE"},{name:"Glacier",hex:"80B3C4"},{name:"Seagull",hex:"80CCEA"},{name:"Nutmeg",hex:"81422C"},{name:"Spicy Pink",hex:"816E71"},{name:"Empress",hex:"817377"},{name:"Spanish Green",hex:"819885"},{name:"Sand Dune",hex:"826F65"},{name:"Gunsmoke",hex:"828685"},{name:"Battleship Gray",hex:"828F72"},{name:"Merlot",hex:"831923"},{name:"Shadow",hex:"837050"},{name:"Chelsea Cucumber",hex:"83AA5D"},{name:"Monte Carlo",hex:"83D0C6"},{name:"Plum",hex:"843179"},{name:"Granny Smith",hex:"84A0A0"},{name:"Chetwode Blue",hex:"8581D9"},{name:"Bandicoot",hex:"858470"},{name:"Bali Hai",hex:"859FAF"},{name:"Half Baked",hex:"85C4CC"},{name:"Red Devil",hex:"860111"},{name:"Lotus",hex:"863C3C"},{name:"Ironstone",hex:"86483C"},{name:"Bull Shot",hex:"864D1E"},{name:"Rusty Nail",hex:"86560A"},{name:"Bitter",hex:"868974"},{name:"Regent Gray",hex:"86949F"},{name:"Disco",hex:"871550"},{name:"Americano",hex:"87756E"},{name:"Hurricane",hex:"877C7B"},{name:"Oslo Gray",hex:"878D91"},{name:"Sushi",hex:"87AB39"},{name:"Spicy Mix",hex:"885342"},{name:"Kumera",hex:"886221"},{name:"Suva Gray",hex:"888387"},{name:"Avocado",hex:"888D65"},{name:"Camelot",hex:"893456"},{name:"Solid Pink",hex:"893843"},{name:"Cannon Pink",hex:"894367"},{name:"Makara",hex:"897D6D"},{name:"Burnt Umber",hex:"8A3324"},{name:"True V",hex:"8A73D6"},{name:"Clay Creek",hex:"8A8360"},{name:"Monsoon",hex:"8A8389"},{name:"Stack",hex:"8A8F8A"},{name:"Jordy Blue",hex:"8AB9F1"},{name:"Electric Violet",hex:"8B00FF"},{name:"Monarch",hex:"8B0723"},{name:"Corn Harvest",hex:"8B6B0B"},{name:"Olive Haze",hex:"8B8470"},{name:"Schooner",hex:"8B847E"},{name:"Natural Gray",hex:"8B8680"},{name:"Mantle",hex:"8B9C90"},{name:"Portage",hex:"8B9FEE"},{name:"Envy",hex:"8BA690"},{name:"Cascade",hex:"8BA9A5"},{name:"Riptide",hex:"8BE6D8"},{name:"Cardinal Pink",hex:"8C055E"},{name:"Mule Fawn",hex:"8C472F"},{name:"Potters Clay",hex:"8C5738"},{name:"Trendy Pink",hex:"8C6495"},{name:"Paprika",hex:"8D0226"},{name:"Sanguine Brown",hex:"8D3D38"},{name:"Tosca",hex:"8D3F3F"},{name:"Cement",hex:"8D7662"},{name:"Granite Green",hex:"8D8974"},{name:"Manatee",hex:"8D90A1"},{name:"Polo Blue",hex:"8DA8CC"},{name:"Red Berry",hex:"8E0000"},{name:"Rope",hex:"8E4D1E"},{name:"Opium",hex:"8E6F70"},{name:"Domino",hex:"8E775E"},{name:"Mamba",hex:"8E8190"},{name:"Nepal",hex:"8EABC1"},{name:"Pohutukawa",hex:"8F021C"},{name:"El Salva",hex:"8F3E33"},{name:"Korma",hex:"8F4B0E"},{name:"Squirrel",hex:"8F8176"},{name:"Vista Blue",hex:"8FD6B4"},{name:"Burgundy",hex:"900020"},{name:"Old Brick",hex:"901E1E"},{name:"Hemp",hex:"907874"},{name:"Almond Frost",hex:"907B71"},{name:"Sycamore",hex:"908D39"},{name:"Sangria",hex:"92000A"},{name:"Cumin",hex:"924321"},{name:"Beaver",hex:"926F5B"},{name:"Stonewall",hex:"928573"},{name:"Venus",hex:"928590"},{name:"Medium Purple",hex:"9370DB"},{name:"Cornflower",hex:"93CCEA"},{name:"Algae Green",hex:"93DFB8"},{name:"Copper Rust",hex:"944747"},{name:"Arrowtown",hex:"948771"},{name:"Scarlett",hex:"950015"},{name:"Strikemaster",hex:"956387"},{name:"Mountain Mist",hex:"959396"},{name:"Carmine",hex:"960018"},{name:"Brown",hex:"964B00"},{name:"Leather",hex:"967059"},{name:"Purple Mountain's Majesty",hex:"9678B6"},{name:"Lavender Purple",hex:"967BB6"},{name:"Pewter",hex:"96A8A1"},{name:"Summer Green",hex:"96BBAB"},{name:"Au Chico",hex:"97605D"},{name:"Wisteria",hex:"9771B5"},{name:"Atlantis",hex:"97CD2D"},{name:"Vin Rouge",hex:"983D61"},{name:"Lilac Bush",hex:"9874D3"},{name:"Bazaar",hex:"98777B"},{name:"Hacienda",hex:"98811B"},{name:"Pale Oyster",hex:"988D77"},{name:"Mint Green",hex:"98FF98"},{name:"Fresh Eggplant",hex:"990066"},{name:"Violet Eggplant",hex:"991199"},{name:"Tamarillo",hex:"991613"},{name:"Totem Pole",hex:"991B07"},{name:"Copper Rose",hex:"996666"},{name:"Amethyst",hex:"9966CC"},{name:"Mountbatten Pink",hex:"997A8D"},{name:"Blue Bell",hex:"9999CC"},{name:"Prairie Sand",hex:"9A3820"},{name:"Toast",hex:"9A6E61"},{name:"Gurkha",hex:"9A9577"},{name:"Olivine",hex:"9AB973"},{name:"Shadow Green",hex:"9AC2B8"},{name:"Oregon",hex:"9B4703"},{name:"Lemon Grass",hex:"9B9E8F"},{name:"Stiletto",hex:"9C3336"},{name:"Hawaiian Tan",hex:"9D5616"},{name:"Gull Gray",hex:"9DACB7"},{name:"Pistachio",hex:"9DC209"},{name:"Granny Smith Apple",hex:"9DE093"},{name:"Anakiwa",hex:"9DE5FF"},{name:"Chelsea Gem",hex:"9E5302"},{name:"Sepia Skin",hex:"9E5B40"},{name:"Sage",hex:"9EA587"},{name:"Citron",hex:"9EA91F"},{name:"Rock Blue",hex:"9EB1CD"},{name:"Morning Glory",hex:"9EDEE0"},{name:"Cognac",hex:"9F381D"},{name:"Reef Gold",hex:"9F821C"},{name:"Star Dust",hex:"9F9F9C"},{name:"Santas Gray",hex:"9FA0B1"},{name:"Sinbad",hex:"9FD7D3"},{name:"Feijoa",hex:"9FDD8C"},{name:"Tabasco",hex:"A02712"},{name:"Buttered Rum",hex:"A1750D"},{name:"Hit Gray",hex:"A1ADB5"},{name:"Citrus",hex:"A1C50A"},{name:"Aqua Island",hex:"A1DAD7"},{name:"Water Leaf",hex:"A1E9DE"},{name:"Flirt",hex:"A2006D"},{name:"Rouge",hex:"A23B6C"},{name:"Cape Palliser",hex:"A26645"},{name:"Gray Chateau",hex:"A2AAB3"},{name:"Edward",hex:"A2AEAB"},{name:"Pharlap",hex:"A3807B"},{name:"Amethyst Smoke",hex:"A397B4"},{name:"Blizzard Blue",hex:"A3E3ED"},{name:"Delta",hex:"A4A49D"},{name:"Wistful",hex:"A4A6D3"},{name:"Green Smoke",hex:"A4AF6E"},{name:"Jazzberry Jam",hex:"A50B5E"},{name:"Zorba",hex:"A59B91"},{name:"Bahia",hex:"A5CB0C"},{name:"Roof Terracotta",hex:"A62F20"},{name:"Paarl",hex:"A65529"},{name:"Barley Corn",hex:"A68B5B"},{name:"Donkey Brown",hex:"A69279"},{name:"Dawn",hex:"A6A29A"},{name:"Mexican Red",hex:"A72525"},{name:"Luxor Gold",hex:"A7882C"},{name:"Rich Gold",hex:"A85307"},{name:"Reno Sand",hex:"A86515"},{name:"Coral Tree",hex:"A86B6B"},{name:"Dusty Gray",hex:"A8989B"},{name:"Dull Lavender",hex:"A899E6"},{name:"Tallow",hex:"A8A589"},{name:"Bud",hex:"A8AE9C"},{name:"Locust",hex:"A8AF8E"},{name:"Norway",hex:"A8BD9F"},{name:"Chinook",hex:"A8E3BD"},{name:"Gray Olive",hex:"A9A491"},{name:"Aluminium",hex:"A9ACB6"},{name:"Cadet Blue",hex:"A9B2C3"},{name:"Schist",hex:"A9B497"},{name:"Tower Gray",hex:"A9BDBF"},{name:"Perano",hex:"A9BEF2"},{name:"Opal",hex:"A9C6C2"},{name:"Night Shadz",hex:"AA375A"},{name:"Fire",hex:"AA4203"},{name:"Muesli",hex:"AA8B5B"},{name:"Sandal",hex:"AA8D6F"},{name:"Shady Lady",hex:"AAA5A9"},{name:"Logan",hex:"AAA9CD"},{name:"Spun Pearl",hex:"AAABB7"},{name:"Regent St Blue",hex:"AAD6E6"},{name:"Magic Mint",hex:"AAF0D1"},{name:"Lipstick",hex:"AB0563"},{name:"Royal Heath",hex:"AB3472"},{name:"Sandrift",hex:"AB917A"},{name:"Cold Purple",hex:"ABA0D9"},{name:"Bronco",hex:"ABA196"},{name:"Limed Oak",hex:"AC8A56"},{name:"East Side",hex:"AC91CE"},{name:"Lemon Ginger",hex:"AC9E22"},{name:"Napa",hex:"ACA494"},{name:"Hillary",hex:"ACA586"},{name:"Cloudy",hex:"ACA59F"},{name:"Silver Chalice",hex:"ACACAC"},{name:"Swamp Green",hex:"ACB78E"},{name:"Spring Rain",hex:"ACCBB1"},{name:"Conifer",hex:"ACDD4D"},{name:"Celadon",hex:"ACE1AF"},{name:"Mandalay",hex:"AD781B"},{name:"Casper",hex:"ADBED1"},{name:"Moss Green",hex:"ADDFAD"},{name:"Padua",hex:"ADE6C4"},{name:"Green Yellow",hex:"ADFF2F"},{name:"Hippie Pink",hex:"AE4560"},{name:"Desert",hex:"AE6020"},{name:"Bouquet",hex:"AE809E"},{name:"Medium Carmine",hex:"AF4035"},{name:"Apple Blossom",hex:"AF4D43"},{name:"Brown Rust",hex:"AF593E"},{name:"Driftwood",hex:"AF8751"},{name:"Alpine",hex:"AF8F2C"},{name:"Lucky",hex:"AF9F1C"},{name:"Martini",hex:"AFA09E"},{name:"Bombay",hex:"AFB1B8"},{name:"Pigeon Post",hex:"AFBDD9"},{name:"Cadillac",hex:"B04C6A"},{name:"Matrix",hex:"B05D54"},{name:"Tapestry",hex:"B05E81"},{name:"Mai Tai",hex:"B06608"},{name:"Del Rio",hex:"B09A95"},{name:"Powder Blue",hex:"B0E0E6"},{name:"Inch Worm",hex:"B0E313"},{name:"Bright Red",hex:"B10000"},{name:"Vesuvius",hex:"B14A0B"},{name:"Pumpkin Skin",hex:"B1610B"},{name:"Santa Fe",hex:"B16D52"},{name:"Teak",hex:"B19461"},{name:"Fringy Flower",hex:"B1E2C1"},{name:"Ice Cold",hex:"B1F4E7"},{name:"Shiraz",hex:"B20931"},{name:"Biloba Flower",hex:"B2A1EA"},{name:"Tall Poppy",hex:"B32D29"},{name:"Fiery Orange",hex:"B35213"},{name:"Hot Toddy",hex:"B38007"},{name:"Taupe Gray",hex:"B3AF95"},{name:"La Rioja",hex:"B3C110"},{name:"Well Read",hex:"B43332"},{name:"Blush",hex:"B44668"},{name:"Jungle Mist",hex:"B4CFD3"},{name:"Turkish Rose",hex:"B57281"},{name:"Lavender",hex:"B57EDC"},{name:"Mongoose",hex:"B5A27F"},{name:"Olive Green",hex:"B5B35C"},{name:"Jet Stream",hex:"B5D2CE"},{name:"Cruise",hex:"B5ECDF"},{name:"Hibiscus",hex:"B6316C"},{name:"Thatch",hex:"B69D98"},{name:"Heathered Gray",hex:"B6B095"},{name:"Eagle",hex:"B6BAA4"},{name:"Spindle",hex:"B6D1EA"},{name:"Gum Leaf",hex:"B6D3BF"},{name:"Rust",hex:"B7410E"},{name:"Muddy Waters",hex:"B78E5C"},{name:"Sahara",hex:"B7A214"},{name:"Husk",hex:"B7A458"},{name:"Nobel",hex:"B7B1B1"},{name:"Heather",hex:"B7C3D0"},{name:"Madang",hex:"B7F0BE"},{name:"Milano Red",hex:"B81104"},{name:"Copper",hex:"B87333"},{name:"Gimblet",hex:"B8B56A"},{name:"Green Spring",hex:"B8C1B1"},{name:"Celery",hex:"B8C25D"},{name:"Sail",hex:"B8E0F9"},{name:"Chestnut",hex:"B94E48"},{name:"Crail",hex:"B95140"},{name:"Marigold",hex:"B98D28"},{name:"Wild Willow",hex:"B9C46A"},{name:"Rainee",hex:"B9C8AC"},{name:"Guardsman Red",hex:"BA0101"},{name:"Rock Spray",hex:"BA450C"},{name:"Bourbon",hex:"BA6F1E"},{name:"Pirate Gold",hex:"BA7F03"},{name:"Nomad",hex:"BAB1A2"},{name:"Submarine",hex:"BAC7C9"},{name:"Charlotte",hex:"BAEEF9"},{name:"Medium Red Violet",hex:"BB3385"},{name:"Brandy Rose",hex:"BB8983"},{name:"Rio Grande",hex:"BBD009"},{name:"Surf",hex:"BBD7C1"},{name:"Powder Ash",hex:"BCC9C2"},{name:"Tuscany",hex:"BD5E2E"},{name:"Quicksand",hex:"BD978E"},{name:"Silk",hex:"BDB1A8"},{name:"Malta",hex:"BDB2A1"},{name:"Chatelle",hex:"BDB3C7"},{name:"Lavender Gray",hex:"BDBBD7"},{name:"French Gray",hex:"BDBDC6"},{name:"Clay Ash",hex:"BDC8B3"},{name:"Loblolly",hex:"BDC9CE"},{name:"French Pass",hex:"BDEDFD"},{name:"London Hue",hex:"BEA6C3"},{name:"Pink Swan",hex:"BEB5B7"},{name:"Fuego",hex:"BEDE0D"},{name:"Rose of Sharon",hex:"BF5500"},{name:"Tide",hex:"BFB8B0"},{name:"Blue Haze",hex:"BFBED8"},{name:"Silver Sand",hex:"BFC1C2"},{name:"Key Lime Pie",hex:"BFC921"},{name:"Ziggurat",hex:"BFDBE2"},{name:"Lime",hex:"BFFF00"},{name:"Thunderbird",hex:"C02B18"},{name:"Mojo",hex:"C04737"},{name:"Old Rose",hex:"C08081"},{name:"Silver",hex:"C0C0C0"},{name:"Pale Leaf",hex:"C0D3B9"},{name:"Pixie Green",hex:"C0D8B6"},{name:"Tia Maria",hex:"C1440E"},{name:"Fuchsia Pink",hex:"C154C1"},{name:"Buddha Gold",hex:"C1A004"},{name:"Bison Hide",hex:"C1B7A4"},{name:"Tea",hex:"C1BAB0"},{name:"Gray Suit",hex:"C1BECD"},{name:"Sprout",hex:"C1D7B0"},{name:"Sulu",hex:"C1F07C"},{name:"Indochine",hex:"C26B03"},{name:"Twine",hex:"C2955D"},{name:"Cotton Seed",hex:"C2BDB6"},{name:"Pumice",hex:"C2CAC4"},{name:"Jagged Ice",hex:"C2E8E5"},{name:"Maroon Flush",hex:"C32148"},{name:"Indian Khaki",hex:"C3B091"},{name:"Pale Slate",hex:"C3BFC1"},{name:"Gray Nickel",hex:"C3C3BD"},{name:"Periwinkle Gray",hex:"C3CDE6"},{name:"Tiara",hex:"C3D1D1"},{name:"Tropical Blue",hex:"C3DDF9"},{name:"Cardinal",hex:"C41E3A"},{name:"Fuzzy Wuzzy Brown",hex:"C45655"},{name:"Orange Roughy",hex:"C45719"},{name:"Mist Gray",hex:"C4C4BC"},{name:"Coriander",hex:"C4D0B0"},{name:"Mint Tulip",hex:"C4F4EB"},{name:"Mulberry",hex:"C54B8C"},{name:"Nugget",hex:"C59922"},{name:"Tussock",hex:"C5994B"},{name:"Sea Mist",hex:"C5DBCA"},{name:"Yellow Green",hex:"C5E17A"},{name:"Brick Red",hex:"C62D42"},{name:"Contessa",hex:"C6726B"},{name:"Oriental Pink",hex:"C69191"},{name:"Roti",hex:"C6A84B"},{name:"Ash",hex:"C6C3B5"},{name:"Kangaroo",hex:"C6C8BD"},{name:"Las Palmas",hex:"C6E610"},{name:"Monza",hex:"C7031E"},{name:"Red Violet",hex:"C71585"},{name:"Coral Reef",hex:"C7BCA2"},{name:"Melrose",hex:"C7C1FF"},{name:"Cloud",hex:"C7C4BF"},{name:"Ghost",hex:"C7C9D5"},{name:"Pine Glade",hex:"C7CD90"},{name:"Botticelli",hex:"C7DDE5"},{name:"Antique Brass",hex:"C88A65"},{name:"Lilac",hex:"C8A2C8"},{name:"Hokey Pokey",hex:"C8A528"},{name:"Lily",hex:"C8AABF"},{name:"Laser",hex:"C8B568"},{name:"Edgewater",hex:"C8E3D7"},{name:"Piper",hex:"C96323"},{name:"Pizza",hex:"C99415"},{name:"Light Wisteria",hex:"C9A0DC"},{name:"Rodeo Dust",hex:"C9B29B"},{name:"Sundance",hex:"C9B35B"},{name:"Earls Green",hex:"C9B93B"},{name:"Silver Rust",hex:"C9C0BB"},{name:"Conch",hex:"C9D9D2"},{name:"Reef",hex:"C9FFA2"},{name:"Aero Blue",hex:"C9FFE5"},{name:"Flush Mahogany",hex:"CA3435"},{name:"Turmeric",hex:"CABB48"},{name:"Paris White",hex:"CADCD4"},{name:"Bitter Lemon",hex:"CAE00D"},{name:"Skeptic",hex:"CAE6DA"},{name:"Viola",hex:"CB8FA9"},{name:"Foggy Gray",hex:"CBCAB6"},{name:"Green Mist",hex:"CBD3B0"},{name:"Nebula",hex:"CBDBD6"},{name:"Persian Red",hex:"CC3333"},{name:"Burnt Orange",hex:"CC5500"},{name:"Ochre",hex:"CC7722"},{name:"Puce",hex:"CC8899"},{name:"Thistle Green",hex:"CCCAA8"},{name:"Periwinkle",hex:"CCCCFF"},{name:"Electric Lime",hex:"CCFF00"},{name:"Tenn",hex:"CD5700"},{name:"Chestnut Rose",hex:"CD5C5C"},{name:"Brandy Punch",hex:"CD8429"},{name:"Onahau",hex:"CDF4FF"},{name:"Sorrell Brown",hex:"CEB98F"},{name:"Cold Turkey",hex:"CEBABA"},{name:"Yuma",hex:"CEC291"},{name:"Chino",hex:"CEC7A7"},{name:"Eunry",hex:"CFA39D"},{name:"Old Gold",hex:"CFB53B"},{name:"Tasman",hex:"CFDCCF"},{name:"Surf Crest",hex:"CFE5D2"},{name:"Humming Bird",hex:"CFF9F3"},{name:"Scandal",hex:"CFFAF4"},{name:"Red Stage",hex:"D05F04"},{name:"Hopbush",hex:"D06DA1"},{name:"Meteor",hex:"D07D12"},{name:"Perfume",hex:"D0BEF8"},{name:"Prelude",hex:"D0C0E5"},{name:"Tea Green",hex:"D0F0C0"},{name:"Geebung",hex:"D18F1B"},{name:"Vanilla",hex:"D1BEA8"},{name:"Soft Amber",hex:"D1C6B4"},{name:"Celeste",hex:"D1D2CA"},{name:"Mischka",hex:"D1D2DD"},{name:"Pear",hex:"D1E231"},{name:"Hot Cinnamon",hex:"D2691E"},{name:"Raw Sienna",hex:"D27D46"},{name:"Careys Pink",hex:"D29EAA"},{name:"Tan",hex:"D2B48C"},{name:"Deco",hex:"D2DA97"},{name:"Blue Romance",hex:"D2F6DE"},{name:"Gossip",hex:"D2F8B0"},{name:"Sisal",hex:"D3CBBA"},{name:"Swirl",hex:"D3CDC5"},{name:"Charm",hex:"D47494"},{name:"Clam Shell",hex:"D4B6AF"},{name:"Straw",hex:"D4BF8D"},{name:"Akaroa",hex:"D4C4A8"},{name:"Bird Flower",hex:"D4CD16"},{name:"Iron",hex:"D4D7D9"},{name:"Geyser",hex:"D4DFE2"},{name:"Hawkes Blue",hex:"D4E2FC"},{name:"Grenadier",hex:"D54600"},{name:"Can Can",hex:"D591A4"},{name:"Whiskey",hex:"D59A6F"},{name:"Winter Hazel",hex:"D5D195"},{name:"Granny Apple",hex:"D5F6E3"},{name:"My Pink",hex:"D69188"},{name:"Tacha",hex:"D6C562"},{name:"Moon Raker",hex:"D6CEF6"},{name:"Quill Gray",hex:"D6D6D1"},{name:"Snowy Mint",hex:"D6FFDB"},{name:"New York Pink",hex:"D7837F"},{name:"Pavlova",hex:"D7C498"},{name:"Fog",hex:"D7D0FF"},{name:"Valencia",hex:"D84437"},{name:"Japonica",hex:"D87C63"},{name:"Thistle",hex:"D8BFD8"},{name:"Maverick",hex:"D8C2D5"},{name:"Foam",hex:"D8FCFA"},{name:"Cabaret",hex:"D94972"},{name:"Burning Sand",hex:"D99376"},{name:"Cameo",hex:"D9B99B"},{name:"Timberwolf",hex:"D9D6CF"},{name:"Tana",hex:"D9DCC1"},{name:"Link Water",hex:"D9E4F5"},{name:"Mabel",hex:"D9F7FF"},{name:"Cerise",hex:"DA3287"},{name:"Flame Pea",hex:"DA5B38"},{name:"Bamboo",hex:"DA6304"},{name:"Red Damask",hex:"DA6A41"},{name:"Orchid",hex:"DA70D6"},{name:"Copperfield",hex:"DA8A67"},{name:"Golden Grass",hex:"DAA520"},{name:"Zanah",hex:"DAECD6"},{name:"Iceberg",hex:"DAF4F0"},{name:"Oyster Bay",hex:"DAFAFF"},{name:"Cranberry",hex:"DB5079"},{name:"Petite Orchid",hex:"DB9690"},{name:"Di Serria",hex:"DB995E"},{name:"Alto",hex:"DBDBDB"},{name:"Frosted Mint",hex:"DBFFF8"},{name:"Crimson",hex:"DC143C"},{name:"Punch",hex:"DC4333"},{name:"Galliano",hex:"DCB20C"},{name:"Blossom",hex:"DCB4BC"},{name:"Wattle",hex:"DCD747"},{name:"Westar",hex:"DCD9D2"},{name:"Moon Mist",hex:"DCDDCC"},{name:"Caper",hex:"DCEDB4"},{name:"Swans Down",hex:"DCF0EA"},{name:"Swiss Coffee",hex:"DDD6D5"},{name:"White Ice",hex:"DDF9F1"},{name:"Cerise Red",hex:"DE3163"},{name:"Roman",hex:"DE6360"},{name:"Tumbleweed",hex:"DEA681"},{name:"Gold Tips",hex:"DEBA13"},{name:"Brandy",hex:"DEC196"},{name:"Wafer",hex:"DECBC6"},{name:"Sapling",hex:"DED4A4"},{name:"Barberry",hex:"DED717"},{name:"Beryl Green",hex:"DEE5C0"},{name:"Pattens Blue",hex:"DEF5FF"},{name:"Heliotrope",hex:"DF73FF"},{name:"Apache",hex:"DFBE6F"},{name:"Chenin",hex:"DFCD6F"},{name:"Lola",hex:"DFCFDB"},{name:"Willow Brook",hex:"DFECDA"},{name:"Chartreuse Yellow",hex:"DFFF00"},{name:"Mauve",hex:"E0B0FF"},{name:"Anzac",hex:"E0B646"},{name:"Harvest Gold",hex:"E0B974"},{name:"Calico",hex:"E0C095"},{name:"Baby Blue",hex:"E0FFFF"},{name:"Sunglo",hex:"E16865"},{name:"Equator",hex:"E1BC64"},{name:"Pink Flare",hex:"E1C0C8"},{name:"Periglacial Blue",hex:"E1E6D6"},{name:"Kidnapper",hex:"E1EAD4"},{name:"Tara",hex:"E1F6E8"},{name:"Mandy",hex:"E25465"},{name:"Terracotta",hex:"E2725B"},{name:"Golden Bell",hex:"E28913"},{name:"Shocking",hex:"E292C0"},{name:"Dixie",hex:"E29418"},{name:"Light Orchid",hex:"E29CD2"},{name:"Snuff",hex:"E2D8ED"},{name:"Mystic",hex:"E2EBED"},{name:"Apple Green",hex:"E2F3EC"},{name:"Razzmatazz",hex:"E30B5C"},{name:"Alizarin Crimson",hex:"E32636"},{name:"Cinnabar",hex:"E34234"},{name:"Cavern Pink",hex:"E3BEBE"},{name:"Peppermint",hex:"E3F5E1"},{name:"Mindaro",hex:"E3F988"},{name:"Deep Blush",hex:"E47698"},{name:"Gamboge",hex:"E49B0F"},{name:"Melanie",hex:"E4C2D5"},{name:"Twilight",hex:"E4CFDE"},{name:"Bone",hex:"E4D1C0"},{name:"Sunflower",hex:"E4D422"},{name:"Grain Brown",hex:"E4D5B7"},{name:"Zombie",hex:"E4D69B"},{name:"Frostee",hex:"E4F6E7"},{name:"Snow Flurry",hex:"E4FFD1"},{name:"Amaranth",hex:"E52B50"},{name:"Zest",hex:"E5841B"},{name:"Dust Storm",hex:"E5CCC9"},{name:"Stark White",hex:"E5D7BD"},{name:"Hampton",hex:"E5D8AF"},{name:"Bon Jour",hex:"E5E0E1"},{name:"Mercury",hex:"E5E5E5"},{name:"Polar",hex:"E5F9F6"},{name:"Trinidad",hex:"E64E03"},{name:"Gold Sand",hex:"E6BE8A"},{name:"Cashmere",hex:"E6BEA5"},{name:"Double Spanish White",hex:"E6D7B9"},{name:"Satin Linen",hex:"E6E4D4"},{name:"Harp",hex:"E6F2EA"},{name:"Off Green",hex:"E6F8F3"},{name:"Hint of Green",hex:"E6FFE9"},{name:"Tranquil",hex:"E6FFFF"},{name:"Mango Tango",hex:"E77200"},{name:"Christine",hex:"E7730A"},{name:"Tonys Pink",hex:"E79F8C"},{name:"Kobi",hex:"E79FC4"},{name:"Rose Fog",hex:"E7BCB4"},{name:"Corn",hex:"E7BF05"},{name:"Putty",hex:"E7CD8C"},{name:"Gray Nurse",hex:"E7ECE6"},{name:"Lily White",hex:"E7F8FF"},{name:"Bubbles",hex:"E7FEFF"},{name:"Fire Bush",hex:"E89928"},{name:"Shilo",hex:"E8B9B3"},{name:"Pearl Bush",hex:"E8E0D5"},{name:"Green White",hex:"E8EBE0"},{name:"Chrome White",hex:"E8F1D4"},{name:"Gin",hex:"E8F2EB"},{name:"Aqua Squeeze",hex:"E8F5F2"},{name:"Clementine",hex:"E96E00"},{name:"Burnt Sienna",hex:"E97451"},{name:"Tahiti Gold",hex:"E97C07"},{name:"Oyster Pink",hex:"E9CECD"},{name:"Confetti",hex:"E9D75A"},{name:"Ebb",hex:"E9E3E3"},{name:"Ottoman",hex:"E9F8ED"},{name:"Clear Day",hex:"E9FFFD"},{name:"Carissma",hex:"EA88A8"},{name:"Porsche",hex:"EAAE69"},{name:"Tulip Tree",hex:"EAB33B"},{name:"Rob Roy",hex:"EAC674"},{name:"Raffia",hex:"EADAB8"},{name:"White Rock",hex:"EAE8D4"},{name:"Panache",hex:"EAF6EE"},{name:"Solitude",hex:"EAF6FF"},{name:"Aqua Spring",hex:"EAF9F5"},{name:"Dew",hex:"EAFFFE"},{name:"Apricot",hex:"EB9373"},{name:"Zinnwaldite",hex:"EBC2AF"},{name:"Fuel Yellow",hex:"ECA927"},{name:"Ronchi",hex:"ECC54E"},{name:"French Lilac",hex:"ECC7EE"},{name:"Just Right",hex:"ECCDB9"},{name:"Wild Rice",hex:"ECE090"},{name:"Fall Green",hex:"ECEBBD"},{name:"Aths Special",hex:"ECEBCE"},{name:"Starship",hex:"ECF245"},{name:"Red Ribbon",hex:"ED0A3F"},{name:"Tango",hex:"ED7A1C"},{name:"Carrot Orange",hex:"ED9121"},{name:"Sea Pink",hex:"ED989E"},{name:"Tacao",hex:"EDB381"},{name:"Desert Sand",hex:"EDC9AF"},{name:"Pancho",hex:"EDCDAB"},{name:"Chamois",hex:"EDDCB1"},{name:"Primrose",hex:"EDEA99"},{name:"Frost",hex:"EDF5DD"},{name:"Aqua Haze",hex:"EDF5F5"},{name:"Zumthor",hex:"EDF6FF"},{name:"Narvik",hex:"EDF9F1"},{name:"Honeysuckle",hex:"EDFC84"},{name:"Lavender Magenta",hex:"EE82EE"},{name:"Beauty Bush",hex:"EEC1BE"},{name:"Chalky",hex:"EED794"},{name:"Almond",hex:"EED9C4"},{name:"Flax",hex:"EEDC82"},{name:"Bizarre",hex:"EEDEDA"},{name:"Double Colonial White",hex:"EEE3AD"},{name:"Cararra",hex:"EEEEE8"},{name:"Manz",hex:"EEEF78"},{name:"Tahuna Sands",hex:"EEF0C8"},{name:"Athens Gray",hex:"EEF0F3"},{name:"Tusk",hex:"EEF3C3"},{name:"Loafer",hex:"EEF4DE"},{name:"Catskill White",hex:"EEF6F7"},{name:"Twilight Blue",hex:"EEFDFF"},{name:"Jonquil",hex:"EEFF9A"},{name:"Rice Flower",hex:"EEFFE2"},{name:"Jaffa",hex:"EF863F"},{name:"Gallery",hex:"EFEFEF"},{name:"Porcelain",hex:"EFF2F3"},{name:"Mauvelous",hex:"F091A9"},{name:"Golden Dream",hex:"F0D52D"},{name:"Golden Sand",hex:"F0DB7D"},{name:"Buff",hex:"F0DC82"},{name:"Prim",hex:"F0E2EC"},{name:"Khaki",hex:"F0E68C"},{name:"Selago",hex:"F0EEFD"},{name:"Titan White",hex:"F0EEFF"},{name:"Alice Blue",hex:"F0F8FF"},{name:"Feta",hex:"F0FCEA"},{name:"Gold Drop",hex:"F18200"},{name:"Wewak",hex:"F19BAB"},{name:"Sahara Sand",hex:"F1E788"},{name:"Parchment",hex:"F1E9D2"},{name:"Blue Chalk",hex:"F1E9FF"},{name:"Mint Julep",hex:"F1EEC1"},{name:"Seashell",hex:"F1F1F1"},{name:"Saltpan",hex:"F1F7F2"},{name:"Tidal",hex:"F1FFAD"},{name:"Chiffon",hex:"F1FFC8"},{name:"Flamingo",hex:"F2552A"},{name:"Tangerine",hex:"F28500"},{name:"Mandys Pink",hex:"F2C3B2"},{name:"Concrete",hex:"F2F2F2"},{name:"Black Squeeze",hex:"F2FAFA"},{name:"Pomegranate",hex:"F34723"},{name:"Buttercup",hex:"F3AD16"},{name:"New Orleans",hex:"F3D69D"},{name:"Vanilla Ice",hex:"F3D9DF"},{name:"Sidecar",hex:"F3E7BB"},{name:"Dawn Pink",hex:"F3E9E5"},{name:"Wheatfield",hex:"F3EDCF"},{name:"Canary",hex:"F3FB62"},{name:"Orinoco",hex:"F3FBD4"},{name:"Carla",hex:"F3FFD8"},{name:"Hollywood Cerise",hex:"F400A1"},{name:"Sandy brown",hex:"F4A460"},{name:"Saffron",hex:"F4C430"},{name:"Ripe Lemon",hex:"F4D81C"},{name:"Janna",hex:"F4EBD3"},{name:"Pampas",hex:"F4F2EE"},{name:"Wild Sand",hex:"F4F4F4"},{name:"Zircon",hex:"F4F8FF"},{name:"Froly",hex:"F57584"},{name:"Cream Can",hex:"F5C85C"},{name:"Manhattan",hex:"F5C999"},{name:"Maize",hex:"F5D5A0"},{name:"Wheat",hex:"F5DEB3"},{name:"Sandwisp",hex:"F5E7A2"},{name:"Pot Pourri",hex:"F5E7E2"},{name:"Albescent White",hex:"F5E9D3"},{name:"Soft Peach",hex:"F5EDEF"},{name:"Ecru White",hex:"F5F3E5"},{name:"Beige",hex:"F5F5DC"},{name:"Golden Fizz",hex:"F5FB3D"},{name:"Australian Mint",hex:"F5FFBE"},{name:"French Rose",hex:"F64A8A"},{name:"Brilliant Rose",hex:"F653A6"},{name:"Illusion",hex:"F6A4C9"},{name:"Merino",hex:"F6F0E6"},{name:"Black Haze",hex:"F6F7F7"},{name:"Spring Sun",hex:"F6FFDC"},{name:"Violet Red",hex:"F7468A"},{name:"Chilean Fire",hex:"F77703"},{name:"Persian Pink",hex:"F77FBE"},{name:"Rajah",hex:"F7B668"},{name:"Azalea",hex:"F7C8DA"},{name:"We Peep",hex:"F7DBE6"},{name:"Quarter Spanish White",hex:"F7F2E1"},{name:"Whisper",hex:"F7F5FA"},{name:"Snow Drift",hex:"F7FAF7"},{name:"Casablanca",hex:"F8B853"},{name:"Chantilly",hex:"F8C3DF"},{name:"Cherub",hex:"F8D9E9"},{name:"Marzipan",hex:"F8DB9D"},{name:"Energy Yellow",hex:"F8DD5C"},{name:"Givry",hex:"F8E4BF"},{name:"White Linen",hex:"F8F0E8"},{name:"Magnolia",hex:"F8F4FF"},{name:"Spring Wood",hex:"F8F6F1"},{name:"Coconut Cream",hex:"F8F7DC"},{name:"White Lilac",hex:"F8F7FC"},{name:"Desert Storm",hex:"F8F8F7"},{name:"Texas",hex:"F8F99C"},{name:"Corn Field",hex:"F8FACD"},{name:"Mimosa",hex:"F8FDD3"},{name:"Carnation",hex:"F95A61"},{name:"Saffron Mango",hex:"F9BF58"},{name:"Carousel Pink",hex:"F9E0ED"},{name:"Dairy Cream",hex:"F9E4BC"},{name:"Portica",hex:"F9E663"},{name:"Amour",hex:"F9EAF3"},{name:"Rum Swizzle",hex:"F9F8E4"},{name:"Dolly",hex:"F9FF8B"},{name:"Sugar Cane",hex:"F9FFF6"},{name:"Ecstasy",hex:"FA7814"},{name:"Tan Hide",hex:"FA9D5A"},{name:"Corvette",hex:"FAD3A2"},{name:"Peach Yellow",hex:"FADFAD"},{name:"Turbo",hex:"FAE600"},{name:"Astra",hex:"FAEAB9"},{name:"Champagne",hex:"FAECCC"},{name:"Linen",hex:"FAF0E6"},{name:"Fantasy",hex:"FAF3F0"},{name:"Citrine White",hex:"FAF7D6"},{name:"Alabaster",hex:"FAFAFA"},{name:"Hint of Yellow",hex:"FAFDE4"},{name:"Milan",hex:"FAFFA4"},{name:"Brink Pink",hex:"FB607F"},{name:"Geraldine",hex:"FB8989"},{name:"Lavender Rose",hex:"FBA0E3"},{name:"Sea Buckthorn",hex:"FBA129"},{name:"Sun",hex:"FBAC13"},{name:"Lavender Pink",hex:"FBAED2"},{name:"Rose Bud",hex:"FBB2A3"},{name:"Cupid",hex:"FBBEDA"},{name:"Classic Rose",hex:"FBCCE7"},{name:"Apricot Peach",hex:"FBCEB1"},{name:"Banana Mania",hex:"FBE7B2"},{name:"Marigold Yellow",hex:"FBE870"},{name:"Festival",hex:"FBE96C"},{name:"Sweet Corn",hex:"FBEA8C"},{name:"Candy Corn",hex:"FBEC5D"},{name:"Hint of Red",hex:"FBF9F9"},{name:"Shalimar",hex:"FBFFBA"},{name:"Shocking Pink",hex:"FC0FC0"},{name:"Tickle Me Pink",hex:"FC80A5"},{name:"Tree Poppy",hex:"FC9C1D"},{name:"Lightning Yellow",hex:"FCC01E"},{name:"Goldenrod",hex:"FCD667"},{name:"Candlelight",hex:"FCD917"},{name:"Cherokee",hex:"FCDA98"},{name:"Double Pearl Lusta",hex:"FCF4D0"},{name:"Pearl Lusta",hex:"FCF4DC"},{name:"Vista White",hex:"FCF8F7"},{name:"Bianca",hex:"FCFBF3"},{name:"Moon Glow",hex:"FCFEDA"},{name:"China Ivory",hex:"FCFFE7"},{name:"Ceramic",hex:"FCFFF9"},{name:"Torch Red",hex:"FD0E35"},{name:"Wild Watermelon",hex:"FD5B78"},{name:"Crusta",hex:"FD7B33"},{name:"Sorbus",hex:"FD7C07"},{name:"Sweet Pink",hex:"FD9FA2"},{name:"Light Apricot",hex:"FDD5B1"},{name:"Pig Pink",hex:"FDD7E4"},{name:"Cinderella",hex:"FDE1DC"},{name:"Golden Glow",hex:"FDE295"},{name:"Lemon",hex:"FDE910"},{name:"Old Lace",hex:"FDF5E6"},{name:"Half Colonial White",hex:"FDF6D3"},{name:"Drover",hex:"FDF7AD"},{name:"Pale Prim",hex:"FDFEB8"},{name:"Cumulus",hex:"FDFFD5"},{name:"Persian Rose",hex:"FE28A2"},{name:"Sunset Orange",hex:"FE4C40"},{name:"Bittersweet",hex:"FE6F5E"},{name:"California",hex:"FE9D04"},{name:"Yellow Sea",hex:"FEA904"},{name:"Melon",hex:"FEBAAD"},{name:"Bright Sun",hex:"FED33C"},{name:"Dandelion",hex:"FED85D"},{name:"Salomie",hex:"FEDB8D"},{name:"Cape Honey",hex:"FEE5AC"},{name:"Remy",hex:"FEEBF3"},{name:"Oasis",hex:"FEEFCE"},{name:"Bridesmaid",hex:"FEF0EC"},{name:"Beeswax",hex:"FEF2C7"},{name:"Bleach White",hex:"FEF3D8"},{name:"Pipi",hex:"FEF4CC"},{name:"Half Spanish White",hex:"FEF4DB"},{name:"Wisp Pink",hex:"FEF4F8"},{name:"Provincial Pink",hex:"FEF5F1"},{name:"Half Dutch White",hex:"FEF7DE"},{name:"Solitaire",hex:"FEF8E2"},{name:"White Pointer",hex:"FEF8FF"},{name:"Off Yellow",hex:"FEF9E3"},{name:"Orange White",hex:"FEFCED"},{name:"Red",hex:"FF0000"},{name:"Rose",hex:"FF007F"},{name:"Purple Pizzazz",hex:"FF00CC"},{name:"Magenta / Fuchsia",hex:"FF00FF"},{name:"Scarlet",hex:"FF2400"},{name:"Wild Strawberry",hex:"FF3399"},{name:"Razzle Dazzle Rose",hex:"FF33CC"},{name:"Radical Red",hex:"FF355E"},{name:"Red Orange",hex:"FF3F34"},{name:"Coral Red",hex:"FF4040"},{name:"Vermilion",hex:"FF4D00"},{name:"International Orange",hex:"FF4F00"},{name:"Outrageous Orange",hex:"FF6037"},{name:"Blaze Orange",hex:"FF6600"},{name:"Pink Flamingo",hex:"FF66FF"},{name:"Orange",hex:"FF681F"},{name:"Hot Pink",hex:"FF69B4"},{name:"Persimmon",hex:"FF6B53"},{name:"Blush Pink",hex:"FF6FFF"},{name:"Burning Orange",hex:"FF7034"},{name:"Pumpkin",hex:"FF7518"},{name:"Flamenco",hex:"FF7D07"},{name:"Flush Orange",hex:"FF7F00"},{name:"Coral",hex:"FF7F50"},{name:"Salmon",hex:"FF8C69"},{name:"Pizazz",hex:"FF9000"},{name:"West Side",hex:"FF910F"},{name:"Pink Salmon",hex:"FF91A4"},{name:"Neon Carrot",hex:"FF9933"},{name:"Atomic Tangerine",hex:"FF9966"},{name:"Vivid Tangerine",hex:"FF9980"},{name:"Sunshade",hex:"FF9E2C"},{name:"Orange Peel",hex:"FFA000"},{name:"Mona Lisa",hex:"FFA194"},{name:"Web Orange",hex:"FFA500"},{name:"Carnation Pink",hex:"FFA6C9"},{name:"Hit Pink",hex:"FFAB81"},{name:"Yellow Orange",hex:"FFAE42"},{name:"Cornflower Lilac",hex:"FFB0AC"},{name:"Sundown",hex:"FFB1B3"},{name:"My Sin",hex:"FFB31F"},{name:"Texas Rose",hex:"FFB555"},{name:"Cotton Candy",hex:"FFB7D5"},{name:"Macaroni and Cheese",hex:"FFB97B"},{name:"Selective Yellow",hex:"FFBA00"},{name:"Koromiko",hex:"FFBD5F"},{name:"Amber",hex:"FFBF00"},{name:"Wax Flower",hex:"FFC0A8"},{name:"Pink",hex:"FFC0CB"},{name:"Your Pink",hex:"FFC3C0"},{name:"Supernova",hex:"FFC901"},{name:"Flesh",hex:"FFCBA4"},{name:"Sunglow",hex:"FFCC33"},{name:"Golden Tainoi",hex:"FFCC5C"},{name:"Peach Orange",hex:"FFCC99"},{name:"Chardonnay",hex:"FFCD8C"},{name:"Pastel Pink",hex:"FFD1DC"},{name:"Romantic",hex:"FFD2B7"},{name:"Grandis",hex:"FFD38C"},{name:"Gold",hex:"FFD700"},{name:"School bus Yellow",hex:"FFD800"},{name:"Cosmos",hex:"FFD8D9"},{name:"Mustard",hex:"FFDB58"},{name:"Peach Schnapps",hex:"FFDCD6"},{name:"Caramel",hex:"FFDDAF"},{name:"Tuft Bush",hex:"FFDDCD"},{name:"Watusi",hex:"FFDDCF"},{name:"Pink Lace",hex:"FFDDF4"},{name:"Navajo White",hex:"FFDEAD"},{name:"Frangipani",hex:"FFDEB3"},{name:"Pippin",hex:"FFE1DF"},{name:"Pale Rose",hex:"FFE1F2"},{name:"Negroni",hex:"FFE2C5"},{name:"Cream Brulee",hex:"FFE5A0"},{name:"Peach",hex:"FFE5B4"},{name:"Tequila",hex:"FFE6C7"},{name:"Kournikova",hex:"FFE772"},{name:"Sandy Beach",hex:"FFEAC8"},{name:"Karry",hex:"FFEAD4"},{name:"Broom",hex:"FFEC13"},{name:"Colonial White",hex:"FFEDBC"},{name:"Derby",hex:"FFEED8"},{name:"Vis Vis",hex:"FFEFA1"},{name:"Egg White",hex:"FFEFC1"},{name:"Papaya Whip",hex:"FFEFD5"},{name:"Fair Pink",hex:"FFEFEC"},{name:"Peach Cream",hex:"FFF0DB"},{name:"Lavender blush",hex:"FFF0F5"},{name:"Gorse",hex:"FFF14F"},{name:"Buttermilk",hex:"FFF1B5"},{name:"Pink Lady",hex:"FFF1D8"},{name:"Forget Me Not",hex:"FFF1EE"},{name:"Tutu",hex:"FFF1F9"},{name:"Picasso",hex:"FFF39D"},{name:"Chardon",hex:"FFF3F1"},{name:"Paris Daisy",hex:"FFF46E"},{name:"Barley White",hex:"FFF4CE"},{name:"Egg Sour",hex:"FFF4DD"},{name:"Sazerac",hex:"FFF4E0"},{name:"Serenade",hex:"FFF4E8"},{name:"Chablis",hex:"FFF4F3"},{name:"Seashell Peach",hex:"FFF5EE"},{name:"Sauvignon",hex:"FFF5F3"},{name:"Milk Punch",hex:"FFF6D4"},{name:"Varden",hex:"FFF6DF"},{name:"Rose White",hex:"FFF6F5"},{name:"Baja White",hex:"FFF8D1"},{name:"Gin Fizz",hex:"FFF9E2"},{name:"Early Dawn",hex:"FFF9E6"},{name:"Lemon Chiffon",hex:"FFFACD"},{name:"Bridal Heath",hex:"FFFAF4"},{name:"Scotch Mist",hex:"FFFBDC"},{name:"Soapstone",hex:"FFFBF9"},{name:"Witch Haze",hex:"FFFC99"},{name:"Buttery White",hex:"FFFCEA"},{name:"Island Spice",hex:"FFFCEE"},{name:"Cream",hex:"FFFDD0"},{name:"Chilean Heath",hex:"FFFDE6"},{name:"Travertine",hex:"FFFDE8"},{name:"Orchid White",hex:"FFFDF3"},{name:"Quarter Pearl Lusta",hex:"FFFDF4"},{name:"Half and Half",hex:"FFFEE1"},{name:"Apricot White",hex:"FFFEEC"},{name:"Rice Cake",hex:"FFFEF0"},{name:"Black White",hex:"FFFEF6"},{name:"Romance",hex:"FFFEFD"},{name:"Yellow",hex:"FFFF00"},{name:"Laser Lemon",hex:"FFFF66"},{name:"Pale Canary",hex:"FFFF99"},{name:"Portafino",hex:"FFFFB4"},{name:"Ivory",hex:"FFFFF0"},{name:"White",hex:"FFFFFF"}]});var em=c((RV,Qu)=>{Qu.exports=[{name:"Mahogany",hex:"#CD4A4A"},{name:"Fuzzy Wuzzy Brown",hex:"#CC6666"},{name:"Chestnut",hex:"#BC5D58"},{name:"Red Orange",hex:"#FF5349"},{name:"Sunset Orange",hex:"#FD5E53"},{name:"Bittersweet",hex:"#FD7C6E"},{name:"Melon",hex:"#FDBCB4"},{name:"Outrageous Orange",hex:"#FF6E4A"},{name:"Vivid Tangerine",hex:"#FFA089"},{name:"Burnt Sienna",hex:"#EA7E5D"},{name:"Brown",hex:"#B4674D"},{name:"Sepia",hex:"#A5694F"},{name:"Orange",hex:"#FF7538"},{name:"Burnt Orange",hex:"#FF7F49"},{name:"Copper",hex:"#DD9475"},{name:"Mango Tango",hex:"#FF8243"},{name:"Atomic Tangerine",hex:"#FFA474"},{name:"Beaver",hex:"#9F8170"},{name:"Antique Brass",hex:"#CD9575"},{name:"Desert Sand",hex:"#EFCDB8"},{name:"Raw Sienna",hex:"#D68A59"},{name:"Tumbleweed",hex:"#DEAA88"},{name:"Tan",hex:"#FAA76C"},{name:"Peach",hex:"#FFCFAB"},{name:"Macaroni and Cheese",hex:"#FFBD88"},{name:"Apricot",hex:"#FDD9B5"},{name:"Neon Carrot",hex:"#FFA343"},{name:"Almond",hex:"#EFDBC5"},{name:"Yellow Orange",hex:"#FFB653"},{name:"Gold",hex:"#E7C697"},{name:"Shadow",hex:"#8A795D"},{name:"Banana Mania",hex:"#FAE7B5"},{name:"Sunglow",hex:"#FFCF48"},{name:"Goldenrod",hex:"#FCD975"},{name:"Dandelion",hex:"#FDDB6D"},{name:"Yellow",hex:"#FCE883"},{name:"Green Yellow",hex:"#F0E891"},{name:"Spring Green",hex:"#ECEABE"},{name:"Olive Green",hex:"#BAB86C"},{name:"Laser Lemon",hex:"#FDFC74"},{name:"Unmellow Yellow",hex:"#FDFC74"},{name:"Canary",hex:"#FFFF99"},{name:"Yellow Green",hex:"#C5E384"},{name:"Inch Worm",hex:"#B2EC5D"},{name:"Asparagus",hex:"#87A96B"},{name:"Granny Smith Apple",hex:"#A8E4A0"},{name:"Electric Lime",hex:"#1DF914"},{name:"Screamin Green",hex:"#76FF7A"},{name:"Fern",hex:"#71BC78"},{name:"Forest Green",hex:"#6DAE81"},{name:"Sea Green",hex:"#9FE2BF"},{name:"Green",hex:"#1CAC78"},{name:"Mountain Meadow",hex:"#30BA8F"},{name:"Shamrock",hex:"#45CEA2"},{name:"Jungle Green",hex:"#3BB08F"},{name:"Caribbean Green",hex:"#1CD3A2"},{name:"Tropical Rain Forest",hex:"#17806D"},{name:"Pine Green",hex:"#158078"},{name:"Robin Egg Blue",hex:"#1FCECB"},{name:"Aquamarine",hex:"#78DBE2"},{name:"Turquoise Blue",hex:"#77DDE7"},{name:"Sky Blue",hex:"#80DAEB"},{name:"Outer Space",hex:"#414A4C"},{name:"Blue Green",hex:"#199EBD"},{name:"Pacific Blue",hex:"#1CA9C9"},{name:"Cerulean",hex:"#1DACD6"},{name:"Cornflower",hex:"#9ACEEB"},{name:"Midnight Blue",hex:"#1A4876"},{name:"Navy Blue",hex:"#1974D2"},{name:"Denim",hex:"#2B6CC4"},{name:"Blue",hex:"#1F75FE"},{name:"Periwinkle",hex:"#C5D0E6"},{name:"Cadet Blue",hex:"#B0B7C6"},{name:"Indigo",hex:"#5D76CB"},{name:"Wild Blue Yonder",hex:"#A2ADD0"},{name:"Manatee",hex:"#979AAA"},{name:"Blue Bell",hex:"#ADADD6"},{name:"Blue Violet",hex:"#7366BD"},{name:"Purple Heart",hex:"#7442C8"},{name:"Royal Purple",hex:"#7851A9"},{name:"Purple Mountains\u2019 Majesty",hex:"#9D81BA"},{name:"Violet (Purple)",hex:"#926EAE"},{name:"Wisteria",hex:"#CDA4DE"},{name:"Vivid Violet",hex:"#8F509D"},{name:"Fuchsia",hex:"#C364C5"},{name:"Shocking Pink",hex:"#FB7EFD"},{name:"Pink Flamingo",hex:"#FC74FD"},{name:"Plum",hex:"#8E4585"},{name:"Hot Magenta",hex:"#FF1DCE"},{name:"Purple Pizzazz",hex:"#FF1DCE"},{name:"Razzle Dazzle Rose",hex:"#FF48D0"},{name:"Orchid",hex:"#E6A8D7"},{name:"Red Violet",hex:"#C0448F"},{name:"Eggplant",hex:"#6E5160"},{name:"Cerise",hex:"#DD4492"},{name:"Wild Strawberry",hex:"#FF43A4"},{name:"Magenta",hex:"#F664AF"},{name:"Lavender",hex:"#FCB4D5"},{name:"Cotton Candy",hex:"#FFBCD9"},{name:"Violet Red",hex:"#F75394"},{name:"Carnation Pink",hex:"#FFAACC"},{name:"Razzmatazz",hex:"#E3256B"},{name:"Piggy Pink",hex:"#FDD7E4"},{name:"Jazzberry Jam",hex:"#CA3767"},{name:"Blush",hex:"#DE5D83"},{name:"Tickle Me Pink",hex:"#FC89AC"},{name:"Pink Sherbet",hex:"#F780A1"},{name:"Maroon",hex:"#C8385A"},{name:"Red",hex:"#EE204D"},{name:"Radical Red",hex:"#FF496C"},{name:"Mauvelous",hex:"#EF98AA"},{name:"Wild Watermelon",hex:"#FC6C85"},{name:"Scarlet",hex:"#FC2847"},{name:"Salmon",hex:"#FF9BAA"},{name:"Brick Red",hex:"#CB4154"},{name:"White",hex:"#EDEDED"},{name:"Timberwolf",hex:"#DBD7D2"},{name:"Silver",hex:"#CDC5C2"},{name:"Gray",hex:"#95918C"},{name:"Black",hex:"#232323"}]});var rm=c((qV,am)=>{am.exports=[{name:"red",hex:"#FF0000"},{name:"orange",hex:"#FFA500"},{name:"yellow",hex:"#FFFF00"},{name:"green",hex:"#008000"},{name:"blue",hex:"#0000FF"},{name:"indigo",hex:"#4B0082"},{name:"violet",hex:"#EE82EE"}]});var nm=c((IV,tm)=>{tm.exports=[{name:"indigo",hex:"#4b0082"},{name:"gold",hex:"#ffd700"},{name:"hotpink",hex:"#ff69b4"},{name:"firebrick",hex:"#b22222"},{name:"indianred",hex:"#cd5c5c"},{name:"yellow",hex:"#ffff00"},{name:"mistyrose",hex:"#ffe4e1"},{name:"darkolivegreen",hex:"#556b2f"},{name:"olive",hex:"#808000"},{name:"darkseagreen",hex:"#8fbc8f"},{name:"pink",hex:"#ffc0cb"},{name:"tomato",hex:"#ff6347"},{name:"lightcoral",hex:"#f08080"},{name:"orangered",hex:"#ff4500"},{name:"navajowhite",hex:"#ffdead"},{name:"lime",hex:"#00ff00"},{name:"palegreen",hex:"#98fb98"},{name:"darkslategrey",hex:"#2f4f4f"},{name:"greenyellow",hex:"#adff2f"},{name:"burlywood",hex:"#deb887"},{name:"seashell",hex:"#fff5ee"},{name:"mediumspringgreen",hex:"#00fa9a"},{name:"fuchsia",hex:"#ff00ff"},{name:"papayawhip",hex:"#ffefd5"},{name:"blanchedalmond",hex:"#ffebcd"},{name:"chartreuse",hex:"#7fff00"},{name:"dimgray",hex:"#696969"},{name:"black",hex:"#000000"},{name:"peachpuff",hex:"#ffdab9"},{name:"springgreen",hex:"#00ff7f"},{name:"aquamarine",hex:"#7fffd4"},{name:"white",hex:"#ffffff"},{name:"orange",hex:"#ffa500"},{name:"lightsalmon",hex:"#ffa07a"},{name:"darkslategray",hex:"#2f4f4f"},{name:"brown",hex:"#a52a2a"},{name:"ivory",hex:"#fffff0"},{name:"dodgerblue",hex:"#1e90ff"},{name:"peru",hex:"#cd853f"},{name:"lawngreen",hex:"#7cfc00"},{name:"chocolate",hex:"#d2691e"},{name:"crimson",hex:"#dc143c"},{name:"forestgreen",hex:"#228b22"},{name:"darkgrey",hex:"#a9a9a9"},{name:"lightseagreen",hex:"#20b2aa"},{name:"cyan",hex:"#00ffff"},{name:"mintcream",hex:"#f5fffa"},{name:"silver",hex:"#c0c0c0"},{name:"antiquewhite",hex:"#faebd7"},{name:"mediumorchid",hex:"#ba55d3"},{name:"skyblue",hex:"#87ceeb"},{name:"gray",hex:"#808080"},{name:"darkturquoise",hex:"#00ced1"},{name:"goldenrod",hex:"#daa520"},{name:"darkgreen",hex:"#006400"},{name:"floralwhite",hex:"#fffaf0"},{name:"darkviolet",hex:"#9400d3"},{name:"darkgray",hex:"#a9a9a9"},{name:"moccasin",hex:"#ffe4b5"},{name:"saddlebrown",hex:"#8b4513"},{name:"grey",hex:"#808080"},{name:"darkslateblue",hex:"#483d8b"},{name:"lightskyblue",hex:"#87cefa"},{name:"lightpink",hex:"#ffb6c1"},{name:"mediumvioletred",hex:"#c71585"},{name:"slategrey",hex:"#708090"},{name:"red",hex:"#ff0000"},{name:"deeppink",hex:"#ff1493"},{name:"limegreen",hex:"#32cd32"},{name:"darkmagenta",hex:"#8b008b"},{name:"palegoldenrod",hex:"#eee8aa"},{name:"plum",hex:"#dda0dd"},{name:"turquoise",hex:"#40e0d0"},{name:"lightgrey",hex:"#d3d3d3"},{name:"lightgoldenrodyellow",hex:"#fafad2"},{name:"darkgoldenrod",hex:"#b8860b"},{name:"lavender",hex:"#e6e6fa"},{name:"maroon",hex:"#800000"},{name:"yellowgreen",hex:"#9acd32"},{name:"sandybrown",hex:"#f4a460"},{name:"thistle",hex:"#d8bfd8"},{name:"violet",hex:"#ee82ee"},{name:"navy",hex:"#000080"},{name:"magenta",hex:"#ff00ff"},{name:"dimgrey",hex:"#696969"},{name:"tan",hex:"#d2b48c"},{name:"rosybrown",hex:"#bc8f8f"},{name:"olivedrab",hex:"#6b8e23"},{name:"blue",hex:"#0000ff"},{name:"lightblue",hex:"#add8e6"},{name:"ghostwhite",hex:"#f8f8ff"},{name:"honeydew",hex:"#f0fff0"},{name:"cornflowerblue",hex:"#6495ed"},{name:"slateblue",hex:"#6a5acd"},{name:"linen",hex:"#faf0e6"},{name:"darkblue",hex:"#00008b"},{name:"powderblue",hex:"#b0e0e6"},{name:"seagreen",hex:"#2e8b57"},{name:"darkkhaki",hex:"#bdb76b"},{name:"snow",hex:"#fffafa"},{name:"sienna",hex:"#a0522d"},{name:"mediumblue",hex:"#0000cd"},{name:"royalblue",hex:"#4169e1"},{name:"lightcyan",hex:"#e0ffff"},{name:"green",hex:"#008000"},{name:"mediumpurple",hex:"#9370db"},{name:"midnightblue",hex:"#191970"},{name:"cornsilk",hex:"#fff8dc"},{name:"paleturquoise",hex:"#afeeee"},{name:"bisque",hex:"#ffe4c4"},{name:"slategray",hex:"#708090"},{name:"darkcyan",hex:"#008b8b"},{name:"khaki",hex:"#f0e68c"},{name:"wheat",hex:"#f5deb3"},{name:"teal",hex:"#008080"},{name:"darkorchid",hex:"#9932cc"},{name:"deepskyblue",hex:"#00bfff"},{name:"salmon",hex:"#fa8072"},{name:"darkred",hex:"#8b0000"},{name:"steelblue",hex:"#4682b4"},{name:"palevioletred",hex:"#db7093"},{name:"lightslategray",hex:"#778899"},{name:"aliceblue",hex:"#f0f8ff"},{name:"lightslategrey",hex:"#778899"},{name:"lightgreen",hex:"#90ee90"},{name:"orchid",hex:"#da70d6"},{name:"gainsboro",hex:"#dcdcdc"},{name:"mediumseagreen",hex:"#3cb371"},{name:"lightgray",hex:"#d3d3d3"},{name:"mediumturquoise",hex:"#48d1cc"},{name:"lemonchiffon",hex:"#fffacd"},{name:"cadetblue",hex:"#5f9ea0"},{name:"lightyellow",hex:"#ffffe0"},{name:"lavenderblush",hex:"#fff0f5"},{name:"coral",hex:"#ff7f50"},{name:"purple",hex:"#800080"},{name:"aqua",hex:"#00ffff"},{name:"whitesmoke",hex:"#f5f5f5"},{name:"mediumslateblue",hex:"#7b68ee"},{name:"darkorange",hex:"#ff8c00"},{name:"mediumaquamarine",hex:"#66cdaa"},{name:"darksalmon",hex:"#e9967a"},{name:"beige",hex:"#f5f5dc"},{name:"blueviolet",hex:"#8a2be2"},{name:"azure",hex:"#f0ffff"},{name:"lightsteelblue",hex:"#b0c4de"},{name:"oldlace",hex:"#fdf5e6"}]});var sm=c((VV,pm)=>{"use strict";var tt=r9(),AE=Hu(),Ts={basic:Yu(),html:Ku(),ntc:Xu(),pantone:em(),roygbiv:rm(),x11:nm()},Ns=new AE,im=pm.exports=function(e,a){a=a||{};var r={color:e,options:a};if(Ns.has(r))return Ns.get(r);var t=String(a.distance).toLowerCase()==="deltae";e=tt(e);var n={};for(var i in Ts)a.pick&&a.pick.indexOf(i)===-1||a.omit&&a.omit.indexOf(i)!==-1||(n[i]=Ts[i].map(function(p){return p.distance=t?tt.deltaE(e,tt(p.hex)):tt.distance(e,tt(p.hex)),p}).sort(function(p,s){return p.distance-s.distance}));return Ns.set(r,n),n};im.chroma=tt;im.lists=Ts});var Y7=c((zV,W7)=>{function AB(){this.__data__=[],this.size=0}W7.exports=AB});var pd=c((UV,J7)=>{function BB(e,a){return e===a||e!==e&&a!==a}J7.exports=BB});var Rn=c(($V,K7)=>{var PB=pd();function NB(e,a){for(var r=e.length;r--;)if(PB(e[r][0],a))return r;return-1}K7.exports=NB});var X7=c((HV,Z7)=>{var TB=Rn(),kB=Array.prototype,LB=kB.splice;function OB(e){var a=this.__data__,r=TB(a,e);if(r<0)return!1;var t=a.length-1;return r==t?a.pop():LB.call(a,r,1),--this.size,!0}Z7.exports=OB});var ec=c((WV,Q7)=>{var MB=Rn();function RB(e){var a=this.__data__,r=MB(a,e);return r<0?void 0:a[r][1]}Q7.exports=RB});var rc=c((YV,ac)=>{var qB=Rn();function IB(e){return qB(this.__data__,e)>-1}ac.exports=IB});var nc=c((JV,tc)=>{var VB=Rn();function jB(e,a){var r=this.__data__,t=VB(r,e);return t<0?(++this.size,r.push([e,a])):r[t][1]=a,this}tc.exports=jB});var qn=c((KV,ic)=>{var GB=Y7(),zB=X7(),UB=ec(),$B=rc(),HB=nc();function mt(e){var a=-1,r=e==null?0:e.length;for(this.clear();++a<r;){var t=e[a];this.set(t[0],t[1])}}mt.prototype.clear=GB;mt.prototype.delete=zB;mt.prototype.get=UB;mt.prototype.has=$B;mt.prototype.set=HB;ic.exports=mt});var sc=c((ZV,pc)=>{var WB=qn();function YB(){this.__data__=new WB,this.size=0}pc.exports=YB});var oc=c((XV,dc)=>{function JB(e){var a=this.__data__,r=a.delete(e);return this.size=a.size,r}dc.exports=JB});var uc=c((QV,lc)=>{function KB(e){return this.__data__.get(e)}lc.exports=KB});var cc=c((ej,mc)=>{function ZB(e){return this.__data__.has(e)}mc.exports=ZB});var sd=c((aj,hc)=>{var XB=typeof global=="object"&&global&&global.Object===Object&&global;hc.exports=XB});var ia=c((rj,fc)=>{var QB=sd(),eP=typeof self=="object"&&self&&self.Object===Object&&self,aP=QB||eP||Function("return this")();fc.exports=aP});var In=c((tj,vc)=>{var rP=ia(),tP=rP.Symbol;vc.exports=tP});var wc=c((nj,xc)=>{var gc=In(),bc=Object.prototype,nP=bc.hasOwnProperty,iP=bc.toString,Vn=gc?gc.toStringTag:void 0;function pP(e){var a=nP.call(e,Vn),r=e[Vn];try{e[Vn]=void 0;var t=!0}catch{}var n=iP.call(e);return t&&(a?e[Vn]=r:delete e[Vn]),n}xc.exports=pP});var _c=c((ij,yc)=>{var sP=Object.prototype,dP=sP.toString;function oP(e){return dP.call(e)}yc.exports=oP});var ct=c((pj,Dc)=>{var Cc=In(),lP=wc(),uP=_c(),mP="[object Null]",cP="[object Undefined]",Fc=Cc?Cc.toStringTag:void 0;function hP(e){return e==null?e===void 0?cP:mP:Fc&&Fc in Object(e)?lP(e):uP(e)}Dc.exports=hP});var Mi=c((sj,Sc)=>{function fP(e){var a=typeof e;return e!=null&&(a=="object"||a=="function")}Sc.exports=fP});var dd=c((dj,Ec)=>{var vP=ct(),gP=Mi(),bP="[object AsyncFunction]",xP="[object Function]",wP="[object GeneratorFunction]",yP="[object Proxy]";function _P(e){if(!gP(e))return!1;var a=vP(e);return a==xP||a==wP||a==bP||a==yP}Ec.exports=_P});var Bc=c((oj,Ac)=>{var CP=ia(),FP=CP["__core-js_shared__"];Ac.exports=FP});var Tc=c((lj,Nc)=>{var od=Bc(),Pc=function(){var e=/[^.]+$/.exec(od&&od.keys&&od.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function DP(e){return!!Pc&&Pc in e}Nc.exports=DP});var ld=c((uj,kc)=>{var SP=Function.prototype,EP=SP.toString;function AP(e){if(e!=null){try{return EP.call(e)}catch{}try{return e+""}catch{}}return""}kc.exports=AP});var Oc=c((mj,Lc)=>{var BP=dd(),PP=Tc(),NP=Mi(),TP=ld(),kP=/[\\^$.*+?()[\]{}|]/g,LP=/^\[object .+?Constructor\]$/,OP=Function.prototype,MP=Object.prototype,RP=OP.toString,qP=MP.hasOwnProperty,IP=RegExp("^"+RP.call(qP).replace(kP,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function VP(e){if(!NP(e)||PP(e))return!1;var a=BP(e)?IP:LP;return a.test(TP(e))}Lc.exports=VP});var Rc=c((cj,Mc)=>{function jP(e,a){return e?.[a]}Mc.exports=jP});var gr=c((hj,qc)=>{var GP=Oc(),zP=Rc();function UP(e,a){var r=zP(e,a);return GP(r)?r:void 0}qc.exports=UP});var Ri=c((fj,Ic)=>{var $P=gr(),HP=ia(),WP=$P(HP,"Map");Ic.exports=WP});var jn=c((vj,Vc)=>{var YP=gr(),JP=YP(Object,"create");Vc.exports=JP});var zc=c((gj,Gc)=>{var jc=jn();function KP(){this.__data__=jc?jc(null):{},this.size=0}Gc.exports=KP});var $c=c((bj,Uc)=>{function ZP(e){var a=this.has(e)&&delete this.__data__[e];return this.size-=a?1:0,a}Uc.exports=ZP});var Wc=c((xj,Hc)=>{var XP=jn(),QP="__lodash_hash_undefined__",eN=Object.prototype,aN=eN.hasOwnProperty;function rN(e){var a=this.__data__;if(XP){var r=a[e];return r===QP?void 0:r}return aN.call(a,e)?a[e]:void 0}Hc.exports=rN});var Jc=c((wj,Yc)=>{var tN=jn(),nN=Object.prototype,iN=nN.hasOwnProperty;function pN(e){var a=this.__data__;return tN?a[e]!==void 0:iN.call(a,e)}Yc.exports=pN});var Zc=c((yj,Kc)=>{var sN=jn(),dN="__lodash_hash_undefined__";function oN(e,a){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=sN&&a===void 0?dN:a,this}Kc.exports=oN});var Qc=c((_j,Xc)=>{var lN=zc(),uN=$c(),mN=Wc(),cN=Jc(),hN=Zc();function ht(e){var a=-1,r=e==null?0:e.length;for(this.clear();++a<r;){var t=e[a];this.set(t[0],t[1])}}ht.prototype.clear=lN;ht.prototype.delete=uN;ht.prototype.get=mN;ht.prototype.has=cN;ht.prototype.set=hN;Xc.exports=ht});var rh=c((Cj,ah)=>{var eh=Qc(),fN=qn(),vN=Ri();function gN(){this.size=0,this.__data__={hash:new eh,map:new(vN||fN),string:new eh}}ah.exports=gN});var nh=c((Fj,th)=>{function bN(e){var a=typeof e;return a=="string"||a=="number"||a=="symbol"||a=="boolean"?e!=="__proto__":e===null}th.exports=bN});var Gn=c((Dj,ih)=>{var xN=nh();function wN(e,a){var r=e.__data__;return xN(a)?r[typeof a=="string"?"string":"hash"]:r.map}ih.exports=wN});var sh=c((Sj,ph)=>{var yN=Gn();function _N(e){var a=yN(this,e).delete(e);return this.size-=a?1:0,a}ph.exports=_N});var oh=c((Ej,dh)=>{var CN=Gn();function FN(e){return CN(this,e).get(e)}dh.exports=FN});var uh=c((Aj,lh)=>{var DN=Gn();function SN(e){return DN(this,e).has(e)}lh.exports=SN});var ch=c((Bj,mh)=>{var EN=Gn();function AN(e,a){var r=EN(this,e),t=r.size;return r.set(e,a),this.size+=r.size==t?0:1,this}mh.exports=AN});var qi=c((Pj,hh)=>{var BN=rh(),PN=sh(),NN=oh(),TN=uh(),kN=ch();function ft(e){var a=-1,r=e==null?0:e.length;for(this.clear();++a<r;){var t=e[a];this.set(t[0],t[1])}}ft.prototype.clear=BN;ft.prototype.delete=PN;ft.prototype.get=NN;ft.prototype.has=TN;ft.prototype.set=kN;hh.exports=ft});var vh=c((Nj,fh)=>{var LN=qn(),ON=Ri(),MN=qi(),RN=200;function qN(e,a){var r=this.__data__;if(r instanceof LN){var t=r.__data__;if(!ON||t.length<RN-1)return t.push([e,a]),this.size=++r.size,this;r=this.__data__=new MN(t)}return r.set(e,a),this.size=r.size,this}fh.exports=qN});var ud=c((Tj,gh)=>{var IN=qn(),VN=sc(),jN=oc(),GN=uc(),zN=cc(),UN=vh();function vt(e){var a=this.__data__=new IN(e);this.size=a.size}vt.prototype.clear=VN;vt.prototype.delete=jN;vt.prototype.get=GN;vt.prototype.has=zN;vt.prototype.set=UN;gh.exports=vt});var xh=c((kj,bh)=>{var $N="__lodash_hash_undefined__";function HN(e){return this.__data__.set(e,$N),this}bh.exports=HN});var yh=c((Lj,wh)=>{function WN(e){return this.__data__.has(e)}wh.exports=WN});var md=c((Oj,_h)=>{var YN=qi(),JN=xh(),KN=yh();function Ii(e){var a=-1,r=e==null?0:e.length;for(this.__data__=new YN;++a<r;)this.add(e[a])}Ii.prototype.add=Ii.prototype.push=JN;Ii.prototype.has=KN;_h.exports=Ii});var Fh=c((Mj,Ch)=>{function ZN(e,a){for(var r=-1,t=e==null?0:e.length;++r<t;)if(a(e[r],r,e))return!0;return!1}Ch.exports=ZN});var cd=c((Rj,Dh)=>{function XN(e,a){return e.has(a)}Dh.exports=XN});var hd=c((qj,Sh)=>{var QN=md(),eT=Fh(),aT=cd(),rT=1,tT=2;function nT(e,a,r,t,n,i){var p=r&rT,s=e.length,d=a.length;if(s!=d&&!(p&&d>s))return!1;var h=i.get(e),m=i.get(a);if(h&&m)return h==a&&m==e;var g=-1,w=!0,S=r&tT?new QN:void 0;for(i.set(e,a),i.set(a,e);++g<s;){var _=e[g],F=a[g];if(t)var D=p?t(F,_,g,a,e,i):t(_,F,g,e,a,i);if(D!==void 0){if(D)continue;w=!1;break}if(S){if(!eT(a,function(B,k){if(!aT(S,k)&&(_===B||n(_,B,r,t,i)))return S.push(k)})){w=!1;break}}else if(!(_===F||n(_,F,r,t,i))){w=!1;break}}return i.delete(e),i.delete(a),w}Sh.exports=nT});var Ah=c((Ij,Eh)=>{var iT=ia(),pT=iT.Uint8Array;Eh.exports=pT});var Ph=c((Vj,Bh)=>{function sT(e){var a=-1,r=Array(e.size);return e.forEach(function(t,n){r[++a]=[n,t]}),r}Bh.exports=sT});var Vi=c((jj,Nh)=>{function dT(e){var a=-1,r=Array(e.size);return e.forEach(function(t){r[++a]=t}),r}Nh.exports=dT});var Mh=c((Gj,Oh)=>{var Th=In(),kh=Ah(),oT=pd(),lT=hd(),uT=Ph(),mT=Vi(),cT=1,hT=2,fT="[object Boolean]",vT="[object Date]",gT="[object Error]",bT="[object Map]",xT="[object Number]",wT="[object RegExp]",yT="[object Set]",_T="[object String]",CT="[object Symbol]",FT="[object ArrayBuffer]",DT="[object DataView]",Lh=Th?Th.prototype:void 0,fd=Lh?Lh.valueOf:void 0;function ST(e,a,r,t,n,i,p){switch(r){case DT:if(e.byteLength!=a.byteLength||e.byteOffset!=a.byteOffset)return!1;e=e.buffer,a=a.buffer;case FT:return!(e.byteLength!=a.byteLength||!i(new kh(e),new kh(a)));case fT:case vT:case xT:return oT(+e,+a);case gT:return e.name==a.name&&e.message==a.message;case wT:case _T:return e==a+"";case bT:var s=uT;case yT:var d=t&cT;if(s||(s=mT),e.size!=a.size&&!d)return!1;var h=p.get(e);if(h)return h==a;t|=hT,p.set(e,a);var m=lT(s(e),s(a),t,n,i,p);return p.delete(e),m;case CT:if(fd)return fd.call(e)==fd.call(a)}return!1}Oh.exports=ST});var qh=c((zj,Rh)=>{function ET(e,a){for(var r=-1,t=a.length,n=e.length;++r<t;)e[n+r]=a[r];return e}Rh.exports=ET});var xa=c((Uj,Ih)=>{var AT=Array.isArray;Ih.exports=AT});var jh=c(($j,Vh)=>{var BT=qh(),PT=xa();function NT(e,a,r){var t=a(e);return PT(e)?t:BT(t,r(e))}Vh.exports=NT});var zh=c((Hj,Gh)=>{function TT(e,a){for(var r=-1,t=e==null?0:e.length,n=0,i=[];++r<t;){var p=e[r];a(p,r,e)&&(i[n++]=p)}return i}Gh.exports=TT});var $h=c((Wj,Uh)=>{function kT(){return[]}Uh.exports=kT});var Yh=c((Yj,Wh)=>{var LT=zh(),OT=$h(),MT=Object.prototype,RT=MT.propertyIsEnumerable,Hh=Object.getOwnPropertySymbols,qT=Hh?function(e){return e==null?[]:(e=Object(e),LT(Hh(e),function(a){return RT.call(e,a)}))}:OT;Wh.exports=qT});var Kh=c((Jj,Jh)=>{function IT(e,a){for(var r=-1,t=Array(e);++r<e;)t[r]=a(r);return t}Jh.exports=IT});var gt=c((Kj,Zh)=>{function VT(e){return e!=null&&typeof e=="object"}Zh.exports=VT});var Qh=c((Zj,Xh)=>{var jT=ct(),GT=gt(),zT="[object Arguments]";function UT(e){return GT(e)&&jT(e)==zT}Xh.exports=UT});var vd=c((Xj,rf)=>{var ef=Qh(),$T=gt(),af=Object.prototype,HT=af.hasOwnProperty,WT=af.propertyIsEnumerable,YT=ef(function(){return arguments}())?ef:function(e){return $T(e)&&HT.call(e,"callee")&&!WT.call(e,"callee")};rf.exports=YT});var nf=c((Qj,tf)=>{function JT(){return!1}tf.exports=JT});var gd=c((zn,bt)=>{var KT=ia(),ZT=nf(),df=typeof zn=="object"&&zn&&!zn.nodeType&&zn,pf=df&&typeof bt=="object"&&bt&&!bt.nodeType&&bt,XT=pf&&pf.exports===df,sf=XT?KT.Buffer:void 0,QT=sf?sf.isBuffer:void 0,ek=QT||ZT;bt.exports=ek});var bd=c((eG,of)=>{var ak=9007199254740991,rk=/^(?:0|[1-9]\d*)$/;function tk(e,a){var r=typeof e;return a=a??ak,!!a&&(r=="number"||r!="symbol"&&rk.test(e))&&e>-1&&e%1==0&&e<a}of.exports=tk});var ji=c((aG,lf)=>{var nk=9007199254740991;function ik(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=nk}lf.exports=ik});var mf=c((rG,uf)=>{var pk=ct(),sk=ji(),dk=gt(),ok="[object Arguments]",lk="[object Array]",uk="[object Boolean]",mk="[object Date]",ck="[object Error]",hk="[object Function]",fk="[object Map]",vk="[object Number]",gk="[object Object]",bk="[object RegExp]",xk="[object Set]",wk="[object String]",yk="[object WeakMap]",_k="[object ArrayBuffer]",Ck="[object DataView]",Fk="[object Float32Array]",Dk="[object Float64Array]",Sk="[object Int8Array]",Ek="[object Int16Array]",Ak="[object Int32Array]",Bk="[object Uint8Array]",Pk="[object Uint8ClampedArray]",Nk="[object Uint16Array]",Tk="[object Uint32Array]",Ee={};Ee[Fk]=Ee[Dk]=Ee[Sk]=Ee[Ek]=Ee[Ak]=Ee[Bk]=Ee[Pk]=Ee[Nk]=Ee[Tk]=!0;Ee[ok]=Ee[lk]=Ee[_k]=Ee[uk]=Ee[Ck]=Ee[mk]=Ee[ck]=Ee[hk]=Ee[fk]=Ee[vk]=Ee[gk]=Ee[bk]=Ee[xk]=Ee[wk]=Ee[yk]=!1;function kk(e){return dk(e)&&sk(e.length)&&!!Ee[pk(e)]}uf.exports=kk});var hf=c((tG,cf)=>{function Lk(e){return function(a){return e(a)}}cf.exports=Lk});var vf=c((Un,xt)=>{var Ok=sd(),ff=typeof Un=="object"&&Un&&!Un.nodeType&&Un,$n=ff&&typeof xt=="object"&&xt&&!xt.nodeType&&xt,Mk=$n&&$n.exports===ff,xd=Mk&&Ok.process,Rk=function(){try{var e=$n&&$n.require&&$n.require("util").types;return e||xd&&xd.binding&&xd.binding("util")}catch{}}();xt.exports=Rk});var wd=c((nG,xf)=>{var qk=mf(),Ik=hf(),gf=vf(),bf=gf&&gf.isTypedArray,Vk=bf?Ik(bf):qk;xf.exports=Vk});var yf=c((iG,wf)=>{var jk=Kh(),Gk=vd(),zk=xa(),Uk=gd(),$k=bd(),Hk=wd(),Wk=Object.prototype,Yk=Wk.hasOwnProperty;function Jk(e,a){var r=zk(e),t=!r&&Gk(e),n=!r&&!t&&Uk(e),i=!r&&!t&&!n&&Hk(e),p=r||t||n||i,s=p?jk(e.length,String):[],d=s.length;for(var h in e)(a||Yk.call(e,h))&&!(p&&(h=="length"||n&&(h=="offset"||h=="parent")||i&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||$k(h,d)))&&s.push(h);return s}wf.exports=Jk});var Cf=c((pG,_f)=>{var Kk=Object.prototype;function Zk(e){var a=e&&e.constructor,r=typeof a=="function"&&a.prototype||Kk;return e===r}_f.exports=Zk});var Df=c((sG,Ff)=>{function Xk(e,a){return function(r){return e(a(r))}}Ff.exports=Xk});var Ef=c((dG,Sf)=>{var Qk=Df(),eL=Qk(Object.keys,Object);Sf.exports=eL});var Bf=c((oG,Af)=>{var aL=Cf(),rL=Ef(),tL=Object.prototype,nL=tL.hasOwnProperty;function iL(e){if(!aL(e))return rL(e);var a=[];for(var r in Object(e))nL.call(e,r)&&r!="constructor"&&a.push(r);return a}Af.exports=iL});var Nf=c((lG,Pf)=>{var pL=dd(),sL=ji();function dL(e){return e!=null&&sL(e.length)&&!pL(e)}Pf.exports=dL});var yd=c((uG,Tf)=>{var oL=yf(),lL=Bf(),uL=Nf();function mL(e){return uL(e)?oL(e):lL(e)}Tf.exports=mL});var Lf=c((mG,kf)=>{var cL=jh(),hL=Yh(),fL=yd();function vL(e){return cL(e,fL,hL)}kf.exports=vL});var Rf=c((cG,Mf)=>{var Of=Lf(),gL=1,bL=Object.prototype,xL=bL.hasOwnProperty;function wL(e,a,r,t,n,i){var p=r&gL,s=Of(e),d=s.length,h=Of(a),m=h.length;if(d!=m&&!p)return!1;for(var g=d;g--;){var w=s[g];if(!(p?w in a:xL.call(a,w)))return!1}var S=i.get(e),_=i.get(a);if(S&&_)return S==a&&_==e;var F=!0;i.set(e,a),i.set(a,e);for(var D=p;++g<d;){w=s[g];var B=e[w],k=a[w];if(t)var C=p?t(k,B,w,a,e,i):t(B,k,w,e,a,i);if(!(C===void 0?B===k||n(B,k,r,t,i):C)){F=!1;break}D||(D=w=="constructor")}if(F&&!D){var R=e.constructor,j=a.constructor;R!=j&&"constructor"in e&&"constructor"in a&&!(typeof R=="function"&&R instanceof R&&typeof j=="function"&&j instanceof j)&&(F=!1)}return i.delete(e),i.delete(a),F}Mf.exports=wL});var If=c((hG,qf)=>{var yL=gr(),_L=ia(),CL=yL(_L,"DataView");qf.exports=CL});var jf=c((fG,Vf)=>{var FL=gr(),DL=ia(),SL=FL(DL,"Promise");Vf.exports=SL});var _d=c((vG,Gf)=>{var EL=gr(),AL=ia(),BL=EL(AL,"Set");Gf.exports=BL});var Uf=c((gG,zf)=>{var PL=gr(),NL=ia(),TL=PL(NL,"WeakMap");zf.exports=TL});var Xf=c((bG,Zf)=>{var Cd=If(),Fd=Ri(),Dd=jf(),Sd=_d(),Ed=Uf(),Kf=ct(),wt=ld(),$f="[object Map]",kL="[object Object]",Hf="[object Promise]",Wf="[object Set]",Yf="[object WeakMap]",Jf="[object DataView]",LL=wt(Cd),OL=wt(Fd),ML=wt(Dd),RL=wt(Sd),qL=wt(Ed),br=Kf;(Cd&&br(new Cd(new ArrayBuffer(1)))!=Jf||Fd&&br(new Fd)!=$f||Dd&&br(Dd.resolve())!=Hf||Sd&&br(new Sd)!=Wf||Ed&&br(new Ed)!=Yf)&&(br=function(e){var a=Kf(e),r=a==kL?e.constructor:void 0,t=r?wt(r):"";if(t)switch(t){case LL:return Jf;case OL:return $f;case ML:return Hf;case RL:return Wf;case qL:return Yf}return a});Zf.exports=br});var pv=c((xG,iv)=>{var Ad=ud(),IL=hd(),VL=Mh(),jL=Rf(),Qf=Xf(),ev=xa(),av=gd(),GL=wd(),zL=1,rv="[object Arguments]",tv="[object Array]",Gi="[object Object]",UL=Object.prototype,nv=UL.hasOwnProperty;function $L(e,a,r,t,n,i){var p=ev(e),s=ev(a),d=p?tv:Qf(e),h=s?tv:Qf(a);d=d==rv?Gi:d,h=h==rv?Gi:h;var m=d==Gi,g=h==Gi,w=d==h;if(w&&av(e)){if(!av(a))return!1;p=!0,m=!1}if(w&&!m)return i||(i=new Ad),p||GL(e)?IL(e,a,r,t,n,i):VL(e,a,d,r,t,n,i);if(!(r&zL)){var S=m&&nv.call(e,"__wrapped__"),_=g&&nv.call(a,"__wrapped__");if(S||_){var F=S?e.value():e,D=_?a.value():a;return i||(i=new Ad),n(F,D,r,t,i)}}return w?(i||(i=new Ad),jL(e,a,r,t,n,i)):!1}iv.exports=$L});var Bd=c((wG,ov)=>{var HL=pv(),sv=gt();function dv(e,a,r,t,n){return e===a?!0:e==null||a==null||!sv(e)&&!sv(a)?e!==e&&a!==a:HL(e,a,r,t,dv,n)}ov.exports=dv});var uv=c((yG,lv)=>{var WL=ud(),YL=Bd(),JL=1,KL=2;function ZL(e,a,r,t){var n=r.length,i=n,p=!t;if(e==null)return!i;for(e=Object(e);n--;){var s=r[n];if(p&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++n<i;){s=r[n];var d=s[0],h=e[d],m=s[1];if(p&&s[2]){if(h===void 0&&!(d in e))return!1}else{var g=new WL;if(t)var w=t(h,m,d,e,a,g);if(!(w===void 0?YL(m,h,JL|KL,t,g):w))return!1}}return!0}lv.exports=ZL});var Pd=c((_G,mv)=>{var XL=Mi();function QL(e){return e===e&&!XL(e)}mv.exports=QL});var hv=c((CG,cv)=>{var eO=Pd(),aO=yd();function rO(e){for(var a=aO(e),r=a.length;r--;){var t=a[r],n=e[t];a[r]=[t,n,eO(n)]}return a}cv.exports=rO});var Nd=c((FG,fv)=>{function tO(e,a){return function(r){return r==null?!1:r[e]===a&&(a!==void 0||e in Object(r))}}fv.exports=tO});var gv=c((DG,vv)=>{var nO=uv(),iO=hv(),pO=Nd();function sO(e){var a=iO(e);return a.length==1&&a[0][2]?pO(a[0][0],a[0][1]):function(r){return r===e||nO(r,e,a)}}vv.exports=sO});var zi=c((SG,bv)=>{var dO=ct(),oO=gt(),lO="[object Symbol]";function uO(e){return typeof e=="symbol"||oO(e)&&dO(e)==lO}bv.exports=uO});var Ui=c((EG,xv)=>{var mO=xa(),cO=zi(),hO=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,fO=/^\w*$/;function vO(e,a){if(mO(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||cO(e)?!0:fO.test(e)||!hO.test(e)||a!=null&&e in Object(a)}xv.exports=vO});var _v=c((AG,yv)=>{var wv=qi(),gO="Expected a function";function Td(e,a){if(typeof e!="function"||a!=null&&typeof a!="function")throw new TypeError(gO);var r=function(){var t=arguments,n=a?a.apply(this,t):t[0],i=r.cache;if(i.has(n))return i.get(n);var p=e.apply(this,t);return r.cache=i.set(n,p)||i,p};return r.cache=new(Td.Cache||wv),r}Td.Cache=wv;yv.exports=Td});var Fv=c((BG,Cv)=>{var bO=_v(),xO=500;function wO(e){var a=bO(e,function(t){return r.size===xO&&r.clear(),t}),r=a.cache;return a}Cv.exports=wO});var Sv=c((PG,Dv)=>{var yO=Fv(),_O=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,CO=/\\(\\)?/g,FO=yO(function(e){var a=[];return e.charCodeAt(0)===46&&a.push(""),e.replace(_O,function(r,t,n,i){a.push(n?i.replace(CO,"$1"):t||r)}),a});Dv.exports=FO});var Av=c((NG,Ev)=>{function DO(e,a){for(var r=-1,t=e==null?0:e.length,n=Array(t);++r<t;)n[r]=a(e[r],r,e);return n}Ev.exports=DO});var Lv=c((TG,kv)=>{var Bv=In(),SO=Av(),EO=xa(),AO=zi(),BO=1/0,Pv=Bv?Bv.prototype:void 0,Nv=Pv?Pv.toString:void 0;function Tv(e){if(typeof e=="string")return e;if(EO(e))return SO(e,Tv)+"";if(AO(e))return Nv?Nv.call(e):"";var a=e+"";return a=="0"&&1/e==-BO?"-0":a}kv.exports=Tv});var Mv=c((kG,Ov)=>{var PO=Lv();function NO(e){return e==null?"":PO(e)}Ov.exports=NO});var kd=c((LG,Rv)=>{var TO=xa(),kO=Ui(),LO=Sv(),OO=Mv();function MO(e,a){return TO(e)?e:kO(e,a)?[e]:LO(OO(e))}Rv.exports=MO});var Hn=c((OG,qv)=>{var RO=zi(),qO=1/0;function IO(e){if(typeof e=="string"||RO(e))return e;var a=e+"";return a=="0"&&1/e==-qO?"-0":a}qv.exports=IO});var Ld=c((MG,Iv)=>{var VO=kd(),jO=Hn();function GO(e,a){a=VO(a,e);for(var r=0,t=a.length;e!=null&&r<t;)e=e[jO(a[r++])];return r&&r==t?e:void 0}Iv.exports=GO});var jv=c((RG,Vv)=>{var zO=Ld();function UO(e,a,r){var t=e==null?void 0:zO(e,a);return t===void 0?r:t}Vv.exports=UO});var zv=c((qG,Gv)=>{function $O(e,a){return e!=null&&a in Object(e)}Gv.exports=$O});var $v=c((IG,Uv)=>{var HO=kd(),WO=vd(),YO=xa(),JO=bd(),KO=ji(),ZO=Hn();function XO(e,a,r){a=HO(a,e);for(var t=-1,n=a.length,i=!1;++t<n;){var p=ZO(a[t]);if(!(i=e!=null&&r(e,p)))break;e=e[p]}return i||++t!=n?i:(n=e==null?0:e.length,!!n&&KO(n)&&JO(p,n)&&(YO(e)||WO(e)))}Uv.exports=XO});var Wv=c((VG,Hv)=>{var QO=zv(),eM=$v();function aM(e,a){return e!=null&&eM(e,a,QO)}Hv.exports=aM});var Jv=c((jG,Yv)=>{var rM=Bd(),tM=jv(),nM=Wv(),iM=Ui(),pM=Pd(),sM=Nd(),dM=Hn(),oM=1,lM=2;function uM(e,a){return iM(e)&&pM(a)?sM(dM(e),a):function(r){var t=tM(r,e);return t===void 0&&t===a?nM(r,e):rM(a,t,oM|lM)}}Yv.exports=uM});var Zv=c((GG,Kv)=>{function mM(e){return e}Kv.exports=mM});var Qv=c((zG,Xv)=>{function cM(e){return function(a){return a?.[e]}}Xv.exports=cM});var ag=c((UG,eg)=>{var hM=Ld();function fM(e){return function(a){return hM(a,e)}}eg.exports=fM});var tg=c(($G,rg)=>{var vM=Qv(),gM=ag(),bM=Ui(),xM=Hn();function wM(e){return bM(e)?vM(xM(e)):gM(e)}rg.exports=wM});var ig=c((HG,ng)=>{var yM=gv(),_M=Jv(),CM=Zv(),FM=xa(),DM=tg();function SM(e){return typeof e=="function"?e:e==null?CM:typeof e=="object"?FM(e)?_M(e[0],e[1]):yM(e):DM(e)}ng.exports=SM});var sg=c((WG,pg)=>{function EM(e,a,r,t){for(var n=e.length,i=r+(t?1:-1);t?i--:++i<n;)if(a(e[i],i,e))return i;return-1}pg.exports=EM});var og=c((YG,dg)=>{function AM(e){return e!==e}dg.exports=AM});var ug=c((JG,lg)=>{function BM(e,a,r){for(var t=r-1,n=e.length;++t<n;)if(e[t]===a)return t;return-1}lg.exports=BM});var cg=c((KG,mg)=>{var PM=sg(),NM=og(),TM=ug();function kM(e,a,r){return a===a?TM(e,a,r):PM(e,NM,r)}mg.exports=kM});var fg=c((ZG,hg)=>{var LM=cg();function OM(e,a){var r=e==null?0:e.length;return!!r&&LM(e,a,0)>-1}hg.exports=OM});var gg=c((XG,vg)=>{function MM(e,a,r){for(var t=-1,n=e==null?0:e.length;++t<n;)if(r(a,e[t]))return!0;return!1}vg.exports=MM});var xg=c((QG,bg)=>{function RM(){}bg.exports=RM});var yg=c((ez,wg)=>{var Od=_d(),qM=xg(),IM=Vi(),VM=1/0,jM=Od&&1/IM(new Od([,-0]))[1]==VM?function(e){return new Od(e)}:qM;wg.exports=jM});var Cg=c((az,_g)=>{var GM=md(),zM=fg(),UM=gg(),$M=cd(),HM=yg(),WM=Vi(),YM=200;function JM(e,a,r){var t=-1,n=zM,i=e.length,p=!0,s=[],d=s;if(r)p=!1,n=UM;else if(i>=YM){var h=a?null:HM(e);if(h)return WM(h);p=!1,n=$M,d=new GM}else d=a?[]:s;e:for(;++t<i;){var m=e[t],g=a?a(m):m;if(m=r||m!==0?m:0,p&&g===g){for(var w=d.length;w--;)if(d[w]===g)continue e;a&&d.push(g),s.push(m)}else n(d,g,r)||(d!==s&&d.push(g),s.push(m))}return s}_g.exports=JM});var Dg=c((rz,Fg)=>{var KM=ig(),ZM=Cg();function XM(e,a){return e&&e.length?ZM(e,KM(a,2)):[]}Fg.exports=XM});var rR={};Ig(rR,{default:()=>Tg});module.exports=Vg(rR);var a1=require("@raycast/api"),$i=qt(Q2()),Pg=qt(a9()),Ng=qt(sm());var dm=require("@raycast/api"),om=require("path"),lm=require("fs/promises"),um=require("child_process");async function BE(e,...a){let r=(0,om.join)(dm.environment.assetsPath,"compiled_raycast_swift/color-picker");return await(0,lm.chmod)(r,"755"),new Promise((t,n)=>{let i=[e];for(let h of a)try{i.push(JSON.stringify(h,(m,g)=>g===void 0?null:g))}catch(m){n(new An("Failed to serialize input to JSON: "+m.message));return}let p=(0,um.spawn)(r,i),s=[],d=[];p.stdout?.on("data",h=>{s.push(h.toString())}),p.stderr?.on("data",h=>{d.push(h.toString())}),p.on("exit",h=>{if(h===0)try{let m=s.join("").trim();m.length!=0?t(JSON.parse(m)):t(null)}catch(m){let g=new An("Failed to deserialize result from JSON: "+m.message);g.stdout=s.join("").trim(),g.stderr=d.join("").trim(),n(g)}else{let m=new An(d.join("").trim()||s.join("").trim()||"Could not get any data");m.stdout=s.join("").trim(),m.stderr=d.join("").trim(),n(m)}}),p.on("error",h=>{n(h)})})}async function mm(){return await BE("pickColor")}var An=class extends Error{constructor(a){super(a),this.name="SwiftError"}};var Ag=require("@raycast/api"),eR=qt(Q2());var Md=require("@raycast/api");function Be(e,a){let r=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(a[0])||(a=a.map(p=>[p]));let t=a[0].length,n=a[0].map((p,s)=>a.map(d=>d[s])),i=e.map(p=>n.map(s=>{let d=0;if(!Array.isArray(p)){for(let h of s)d+=p*h;return d}for(let h=0;h<p.length;h++)d+=p[h]*(s[h]||0);return d}));return r===1&&(i=i[0]),t===1?i.map(p=>p[0]):i}function Ln(e){return qa(e)==="string"}function qa(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||"").toLowerCase()}function Ai(e,{precision:a,unit:r}){return Ia(e)?"none":l7(e,a)+(r??"")}function Ia(e){return Number.isNaN(e)||e instanceof Number&&e?.none}function Ge(e){return Ia(e)?0:e}function l7(e,a){if(e===0)return 0;let r=~~e,t=0;r&&a&&(t=~~Math.log10(Math.abs(r))+1);let n=10**(a-t);return Math.floor(e*n+.5)/n}var PE={deg:1,grad:.9,rad:180/Math.PI,turn:360};function u7(e){if(!e)return;e=e.trim();let a=/^([a-z]+)\((.+?)\)$/i,r=/^-?[\d.]+$/,t=/%|deg|g?rad|turn$/,n=/\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g,i=e.match(a);if(i){let p=[];return i[2].replace(n,(s,d)=>{let h=d.match(t),m=d;if(h){let g=h[0],w=m.slice(0,-g.length);g==="%"?(m=new Number(w/100),m.type="<percentage>"):(m=new Number(w*PE[g]),m.type="<angle>",m.unit=g)}else r.test(m)?(m=new Number(m),m.type="<number>"):m==="none"&&(m=new Number(NaN),m.none=!0);s.startsWith("/")&&(m=m instanceof Number?m:new Number(m),m.alpha=!0),typeof m=="object"&&m instanceof Number&&(m.raw=d),p.push(m)}),{name:i[1].toLowerCase(),rawName:i[1],rawArgs:i[2],args:p}}}function m7(e){return e[e.length-1]}function Nn(e,a,r){return isNaN(e)?a:isNaN(a)?e:e+(a-e)*r}function c7(e,a,r){return(r-e)/(a-e)}function Xs(e,a,r){return Nn(a[0],a[1],c7(e[0],e[1],r))}function h7(e){return e.map(a=>a.split("|").map(r=>{r=r.trim();let t=r.match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);if(t){let n=new String(t[1]);return n.range=[+t[2],+t[3]],n}return r}))}function f7(e,a,r){return Math.max(Math.min(r,a),e)}function Ti(e,a){return Math.sign(e)===Math.sign(a)?e:-e}function ta(e,a){return Ti(Math.abs(e)**a,e)}function Qs(e,a){return a===0?0:e/a}function v7(e,a,r=0,t=e.length){for(;r<t;){let n=r+t>>1;e[n]<a?r=n+1:t=n}return r}var NE=Object.freeze({__proto__:null,bisectLeft:v7,clamp:f7,copySign:Ti,interpolate:Nn,interpolateInv:c7,isNone:Ia,isString:Ln,last:m7,mapRange:Xs,multiplyMatrices:Be,parseCoordGrammar:h7,parseFunction:u7,serializeNumber:Ai,skipNone:Ge,spow:ta,toPrecision:l7,type:qa,zdiv:Qs}),zs=class{add(a,r,t){if(typeof arguments[0]!="string"){for(var a in arguments[0])this.add(a,arguments[0][a],arguments[1]);return}(Array.isArray(a)?a:[a]).forEach(function(n){this[n]=this[n]||[],r&&this[n][t?"unshift":"push"](r)},this)}run(a,r){this[a]=this[a]||[],this[a].forEach(function(t){t.call(r&&r.context?r.context:r,r)})}},Va=new zs,A1={gamut_mapping:"css",precision:5,deltaE:"76",verbose:globalThis?.process?.env?.NODE_ENV?.toLowerCase()!=="test",warn:function(a){this.verbose&&globalThis?.console?.warn?.(a)}},b1={D50:[.3457/.3585,1,(1-.3457-.3585)/.3585],D65:[.3127/.329,1,(1-.3127-.329)/.329]};function Us(e){return Array.isArray(e)?e:b1[e]}function Bi(e,a,r,t={}){if(e=Us(e),a=Us(a),!e||!a)throw new TypeError(`Missing white point to convert ${e?"":"from"}${!e&&!a?"/":""}${a?"":"to"}`);if(e===a)return r;let n={W1:e,W2:a,XYZ:r,options:t};if(Va.run("chromatic-adaptation-start",n),n.M||(n.W1===b1.D65&&n.W2===b1.D50?n.M=[[1.0479297925449969,.022946870601609652,-.05019226628920524],[.02962780877005599,.9904344267538799,-.017073799063418826],[-.009243040646204504,.015055191490298152,.7518742814281371]]:n.W1===b1.D50&&n.W2===b1.D65&&(n.M=[[.955473421488075,-.02309845494876471,.06325924320057072],[-.0283697093338637,1.0099953980813041,.021041441191917323],[.012314014864481998,-.020507649298898964,1.330365926242124]])),Va.run("chromatic-adaptation-end",n),n.M)return Be(n.M,n.XYZ);throw new TypeError("Only Bradford CAT with white points D50 and D65 supported for now.")}var TE=new Set(["<number>","<percentage>","<angle>"]);function cm(e,a,r,t){return Object.entries(e.coords).map(([i,p],s)=>{let d=a.coordGrammar[s],h=t[s],m=h?.type,g;if(h.none?g=d.find(_=>TE.has(_)):g=d.find(_=>_==m),!g){let _=p.name||i;throw new TypeError(`${m??h.raw} not allowed for ${_} in ${r}()`)}let w=g.range;m==="<percentage>"&&(w||=[0,1]);let S=p.range||p.refRange;return w&&S&&(t[s]=Xs(w,S,t[s])),g})}function g7(e,{meta:a}={}){let r={str:String(e)?.trim()};if(Va.run("parse-start",r),r.color)return r.color;if(r.parsed=u7(r.str),r.parsed){let t=r.parsed.name;if(t==="color"){let n=r.parsed.args.shift(),i=n.startsWith("--")?n.substring(2):`--${n}`,p=[n,i],s=r.parsed.rawArgs.indexOf("/")>0?r.parsed.args.pop():1;for(let m of H.all){let g=m.getFormat("color");if(g&&(p.includes(g.id)||g.ids?.filter(w=>p.includes(w)).length)){let w=Object.keys(m.coords).map((_,F)=>r.parsed.args[F]||0),S;return g.coordGrammar&&(S=cm(m,g,"color",w)),a&&Object.assign(a,{formatId:"color",types:S}),g.id.startsWith("--")&&!n.startsWith("--")&&A1.warn(`${m.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${g.id}) instead of color(${n}).`),n.startsWith("--")&&!g.id.startsWith("--")&&A1.warn(`${m.name} is a standard space and supported in the CSS spec. Use color(${g.id}) instead of prefixed color(${n}).`),{spaceId:m.id,coords:w,alpha:s}}}let d="",h=n in H.registry?n:i;if(h in H.registry){let m=H.registry[h].formats?.color?.id;m&&(d=`Did you mean color(${m})?`)}throw new TypeError(`Cannot parse color(${n}). `+(d||"Missing a plugin?"))}else for(let n of H.all){let i=n.getFormat(t);if(i&&i.type==="function"){let p=1;(i.lastAlpha||m7(r.parsed.args).alpha)&&(p=r.parsed.args.pop());let s=r.parsed.args,d;return i.coordGrammar&&(d=cm(n,i,t,s)),a&&Object.assign(a,{formatId:i.name,types:d}),{spaceId:n.id,coords:s,alpha:p}}}}else for(let t of H.all)for(let n in t.formats){let i=t.formats[n];if(i.type!=="custom"||i.test&&!i.test(r.str))continue;let p=i.parse(r.str);if(p)return p.alpha??=1,a&&(a.formatId=n),p}throw new TypeError(`Could not parse ${e} as a color. Missing a plugin?`)}function re(e){if(Array.isArray(e))return e.map(re);if(!e)throw new TypeError("Empty color reference");Ln(e)&&(e=g7(e));let a=e.space||e.spaceId;return a instanceof H||(e.space=H.get(a)),e.alpha===void 0&&(e.alpha=1),e}var kE=75e-6,H=class e{constructor(a){this.id=a.id,this.name=a.name,this.base=a.base?e.get(a.base):null,this.aliases=a.aliases,this.base&&(this.fromBase=a.fromBase,this.toBase=a.toBase);let r=a.coords??this.base.coords;for(let n in r)"name"in r[n]||(r[n].name=n);this.coords=r;let t=a.white??this.base.white??"D65";this.white=Us(t),this.formats=a.formats??{};for(let n in this.formats){let i=this.formats[n];i.type||="function",i.name||=n}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:a.cssId||this.id}),a.gamutSpace?this.gamutSpace=a.gamutSpace==="self"?this:e.get(a.gamutSpace):this.isPolar?this.gamutSpace=this.base:this.gamutSpace=this,this.gamutSpace.isUnbounded&&(this.inGamut=(n,i)=>!0),this.referred=a.referred,Object.defineProperty(this,"path",{value:LE(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),Va.run("colorspace-init-end",this)}inGamut(a,{epsilon:r=kE}={}){if(!this.equals(this.gamutSpace))return a=this.to(this.gamutSpace,a),this.gamutSpace.inGamut(a,{epsilon:r});let t=Object.values(this.coords);return a.every((n,i)=>{let p=t[i];if(p.type!=="angle"&&p.range){if(Number.isNaN(n))return!0;let[s,d]=p.range;return(s===void 0||n>=s-r)&&(d===void 0||n<=d+r)}return!0})}get isUnbounded(){return Object.values(this.coords).every(a=>!("range"in a))}get cssId(){return this.formats?.color?.id||this.id}get isPolar(){for(let a in this.coords)if(this.coords[a].type==="angle")return!0;return!1}getFormat(a){if(typeof a=="object")return a=hm(a,this),a;let r;return a==="default"?r=Object.values(this.formats)[0]:r=this.formats[a],r?(r=hm(r,this),r):null}equals(a){return a?this===a||this.id===a||this.id===a.id:!1}to(a,r){if(arguments.length===1){let s=re(a);[a,r]=[s.space,s.coords]}if(a=e.get(a),this.equals(a))return r;r=r.map(s=>Number.isNaN(s)?0:s);let t=this.path,n=a.path,i,p;for(let s=0;s<t.length&&t[s].equals(n[s]);s++)i=t[s],p=s;if(!i)throw new Error(`Cannot convert between color spaces ${this} and ${a}: no connection space was found`);for(let s=t.length-1;s>p;s--)r=t[s].toBase(r);for(let s=p+1;s<n.length;s++)r=n[s].fromBase(r);return r}from(a,r){if(arguments.length===1){let t=re(a);[a,r]=[t.space,t.coords]}return a=e.get(a),a.to(this,r)}toString(){return`${this.name} (${this.id})`}getMinCoords(){let a=[];for(let r in this.coords){let t=this.coords[r],n=t.range||t.refRange;a.push(n?.min??0)}return a}static registry={};static get all(){return[...new Set(Object.values(e.registry))]}static register(a,r){if(arguments.length===1&&(r=arguments[0],a=r.id),r=this.get(r),this.registry[a]&&this.registry[a]!==r)throw new Error(`Duplicate color space registration: '${a}'`);if(this.registry[a]=r,arguments.length===1&&r.aliases)for(let t of r.aliases)this.register(t,r);return r}static get(a,...r){if(!a||a instanceof e)return a;if(qa(a)==="string"){let n=e.registry[a.toLowerCase()];if(!n)throw new TypeError(`No color space found with id = "${a}"`);return n}if(r.length)return e.get(...r);throw new TypeError(`${a} is not a valid color space`)}static resolveCoord(a,r){let t=qa(a),n,i;if(t==="string"?a.includes(".")?[n,i]=a.split("."):[n,i]=[,a]:Array.isArray(a)?[n,i]=a:(n=a.space,i=a.coordId),n=e.get(n),n||(n=r),!n)throw new TypeError(`Cannot resolve coordinate reference ${a}: No color space specified and relative references are not allowed here`);if(t=qa(i),t==="number"||t==="string"&&i>=0){let d=Object.entries(n.coords)[i];if(d)return{space:n,id:d[0],index:i,...d[1]}}n=e.get(n);let p=i.toLowerCase(),s=0;for(let d in n.coords){let h=n.coords[d];if(d.toLowerCase()===p||h.name?.toLowerCase()===p)return{space:n,id:d,index:s,...h};s++}throw new TypeError(`No "${i}" coordinate found in ${n.name}. Its coordinates are: ${Object.keys(n.coords).join(", ")}`)}static DEFAULT_FORMAT={type:"functions",name:"color"}};function LE(e){let a=[e];for(let r=e;r=r.base;)a.push(r);return a}function hm(e,{coords:a}={}){if(e.coords&&!e.coordGrammar){e.type||="function",e.name||="color",e.coordGrammar=h7(e.coords);let r=Object.entries(a).map(([t,n],i)=>{let p=e.coordGrammar[i][0],s=n.range||n.refRange,d=p.range,h="";return p=="<percentage>"?(d=[0,100],h="%"):p=="<angle>"&&(h="deg"),{fromRange:s,toRange:d,suffix:h}});e.serializeCoords=(t,n)=>t.map((i,p)=>{let{fromRange:s,toRange:d,suffix:h}=r[p];return s&&d&&(i=Xs(s,d,i)),i=Ai(i,{precision:n,unit:h}),i})}return e}var e1=new H({id:"xyz-d65",name:"XYZ D65",coords:{x:{name:"X"},y:{name:"Y"},z:{name:"Z"}},white:"D65",formats:{color:{ids:["xyz-d65","xyz"]}},aliases:["xyz"]}),l1=class extends H{constructor(a){a.coords||(a.coords={r:{range:[0,1],name:"Red"},g:{range:[0,1],name:"Green"},b:{range:[0,1],name:"Blue"}}),a.base||(a.base=e1),a.toXYZ_M&&a.fromXYZ_M&&(a.toBase??=r=>{let t=Be(a.toXYZ_M,r);return this.white!==this.base.white&&(t=Bi(this.white,this.base.white,t)),t},a.fromBase??=r=>(r=Bi(this.base.white,this.white,r),Be(a.fromXYZ_M,r))),a.referred??="display",super(a)}};function On(e,a){return e=re(e),!a||e.space.equals(a)?e.coords.slice():(a=H.get(a),a.from(e))}function S1(e,a){e=re(e);let{space:r,index:t}=H.resolveCoord(a,e.space);return On(e,r)[t]}function ed(e,a,r){return e=re(e),a=H.get(a),e.coords=a.to(e.space,r),e}ed.returns="color";function ba(e,a,r){if(e=re(e),arguments.length===2&&qa(arguments[1])==="object"){let t=arguments[1];for(let n in t)ba(e,n,t[n])}else{typeof r=="function"&&(r=r(S1(e,a)));let{space:t,index:n}=H.resolveCoord(a,e.space),i=On(e,t);i[n]=r,ed(e,t,i)}return e}ba.returns="color";var ad=new H({id:"xyz-d50",name:"XYZ D50",white:"D50",base:e1,fromBase:e=>Bi(e1.white,"D50",e),toBase:e=>Bi("D50",e1.white,e)}),OE=216/24389,fm=24/116,xi=24389/27,ks=b1.D50,E1=new H({id:"lab",name:"Lab",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:ks,base:ad,fromBase(e){let r=e.map((t,n)=>t/ks[n]).map(t=>t>OE?Math.cbrt(t):(xi*t+16)/116);return[116*r[1]-16,500*(r[0]-r[1]),200*(r[1]-r[2])]},toBase(e){let a=[];return a[1]=(e[0]+16)/116,a[0]=e[1]/500+a[1],a[2]=a[1]-e[2]/200,[a[0]>fm?Math.pow(a[0],3):(116*a[0]-16)/xi,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/xi,a[2]>fm?Math.pow(a[2],3):(116*a[2]-16)/xi].map((t,n)=>t*ks[n])},formats:{lab:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function na(e){return(e%360+360)%360}function ME(e,a){if(e==="raw")return a;let[r,t]=a.map(na),n=t-r;return e==="increasing"?n<0&&(t+=360):e==="decreasing"?n>0&&(r+=360):e==="longer"?-180<n&&n<180&&(n>0?r+=360:t+=360):e==="shorter"&&(n>180?r+=360:n<-180&&(t+=360)),[r,t]}var Tn=new H({id:"lch",name:"LCH",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,150],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:E1,fromBase(e){let[a,r,t]=e,n,i=.02;return Math.abs(r)<i&&Math.abs(t)<i?n=NaN:n=Math.atan2(t,r)*180/Math.PI,[a,Math.sqrt(r**2+t**2),na(n)]},toBase(e){let[a,r,t]=e;return r<0&&(r=0),isNaN(t)&&(t=0),[a,r*Math.cos(t*Math.PI/180),r*Math.sin(t*Math.PI/180)]},formats:{lch:{coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}}),vm=25**7,Pi=Math.PI,gm=180/Pi,nt=Pi/180;function bm(e){let a=e*e;return a*a*a*e}function b7(e,a,{kL:r=1,kC:t=1,kH:n=1}={}){[e,a]=re([e,a]);let[i,p,s]=E1.from(e),d=Tn.from(E1,[i,p,s])[1],[h,m,g]=E1.from(a),w=Tn.from(E1,[h,m,g])[1];d<0&&(d=0),w<0&&(w=0);let S=(d+w)/2,_=bm(S),F=.5*(1-Math.sqrt(_/(_+vm))),D=(1+F)*p,B=(1+F)*m,k=Math.sqrt(D**2+s**2),C=Math.sqrt(B**2+g**2),R=D===0&&s===0?0:Math.atan2(s,D),j=B===0&&g===0?0:Math.atan2(g,B);R<0&&(R+=2*Pi),j<0&&(j+=2*Pi),R*=gm,j*=gm;let J=h-i,I=C-k,W=j-R,X=R+j,be=Math.abs(W),O;k*C===0?O=0:be<=180?O=W:W>180?O=W-360:W<-180?O=W+360:A1.warn("the unthinkable has happened");let $=2*Math.sqrt(C*k)*Math.sin(O*nt/2),se=(i+h)/2,q=(k+C)/2,ee=bm(q),xe;k*C===0?xe=X:be<=180?xe=X/2:X<360?xe=(X+360)/2:xe=(X-360)/2;let ve=(se-50)**2,_e=1+.015*ve/Math.sqrt(20+ve),Ne=1+.045*q,He=1;He-=.17*Math.cos((xe-30)*nt),He+=.24*Math.cos(2*xe*nt),He+=.32*Math.cos((3*xe+6)*nt),He-=.2*Math.cos((4*xe-63)*nt);let y1=1+.015*q*He,u1=30*Math.exp(-1*((xe-275)/25)**2),Re=2*Math.sqrt(ee/(ee+vm)),pa=-1*Math.sin(2*u1*nt)*Re,r1=(J/(r*_e))**2;return r1+=(I/(t*Ne))**2,r1+=($/(n*y1))**2,r1+=pa*(I/(t*Ne))*($/(n*y1)),Math.sqrt(r1)}var RE=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],qE=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],IE=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],VE=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],dt=new H({id:"oklab",name:"Oklab",coords:{l:{refRange:[0,1],name:"Lightness"},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:"D65",base:e1,fromBase(e){let r=Be(RE,e).map(t=>Math.cbrt(t));return Be(IE,r)},toBase(e){let r=Be(VE,e).map(t=>t**3);return Be(qE,r)},formats:{oklab:{coords:["<percentage> | <number>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function $s(e,a){[e,a]=re([e,a]);let[r,t,n]=dt.from(e),[i,p,s]=dt.from(a),d=r-i,h=t-p,m=n-s;return Math.sqrt(d**2+h**2+m**2)}var jE=75e-6;function vr(e,a,{epsilon:r=jE}={}){e=re(e),a||(a=e.space),a=H.get(a);let t=e.coords;return a!==e.space&&(t=a.from(e)),a.inGamut(t,{epsilon:r})}function ot(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function x7(e,a,r="lab"){r=H.get(r);let t=r.from(e),n=r.from(a);return Math.sqrt(t.reduce((i,p,s)=>{let d=n[s];return isNaN(p)||isNaN(d)?i:i+(d-p)**2},0))}function GE(e,a){return x7(e,a,"lab")}var zE=Math.PI,xm=zE/180;function UE(e,a,{l:r=2,c:t=1}={}){[e,a]=re([e,a]);let[n,i,p]=E1.from(e),[,s,d]=Tn.from(E1,[n,i,p]),[h,m,g]=E1.from(a),w=Tn.from(E1,[h,m,g])[1];s<0&&(s=0),w<0&&(w=0);let S=n-h,_=s-w,F=i-m,D=p-g,B=F**2+D**2-_**2,k=.511;n>=16&&(k=.040975*n/(1+.01765*n));let C=.0638*s/(1+.0131*s)+.638,R;Number.isNaN(d)&&(d=0),d>=164&&d<=345?R=.56+Math.abs(.2*Math.cos((d+168)*xm)):R=.36+Math.abs(.4*Math.cos((d+35)*xm));let j=Math.pow(s,4),J=Math.sqrt(j/(j+1900)),I=C*(J*R+1-J),W=(S/(r*k))**2;return W+=(_/(t*C))**2,W+=B/I**2,Math.sqrt(W)}var wm=203,rd=new H({id:"xyz-abs-d65",cssId:"--xyz-abs-d65",name:"Absolute XYZ D65",coords:{x:{refRange:[0,9504.7],name:"Xa"},y:{refRange:[0,1e4],name:"Ya"},z:{refRange:[0,10888.3],name:"Za"}},base:e1,fromBase(e){return e.map(a=>Math.max(a*wm,0))},toBase(e){return e.map(a=>Math.max(a/wm,0))}}),wi=1.15,yi=.66,ym=2610/2**14,$E=2**14/2610,_m=3424/2**12,Cm=2413/2**7,Fm=2392/2**7,HE=1.7*2523/2**5,Dm=2**5/(1.7*2523),_i=-.56,Ls=16295499532821565e-27,WE=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],YE=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],JE=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],KE=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]],w7=new H({id:"jzazbz",name:"Jzazbz",coords:{jz:{refRange:[0,1],name:"Jz"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:rd,fromBase(e){let[a,r,t]=e,n=wi*a-(wi-1)*t,i=yi*r-(yi-1)*a,s=Be(WE,[n,i,t]).map(function(w){let S=_m+Cm*(w/1e4)**ym,_=1+Fm*(w/1e4)**ym;return(S/_)**HE}),[d,h,m]=Be(JE,s);return[(1+_i)*d/(1+_i*d)-Ls,h,m]},toBase(e){let[a,r,t]=e,n=(a+Ls)/(1+_i-_i*(a+Ls)),p=Be(KE,[n,r,t]).map(function(w){let S=_m-w**Dm,_=Fm*w**Dm-Cm;return 1e4*(S/_)**$E}),[s,d,h]=Be(YE,p),m=(s+(wi-1)*h)/wi,g=(d+(yi-1)*m)/yi;return[m,g,h]},formats:{color:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),Hs=new H({id:"jzczhz",name:"JzCzHz",coords:{jz:{refRange:[0,1],name:"Jz"},cz:{refRange:[0,1],name:"Chroma"},hz:{refRange:[0,360],type:"angle",name:"Hue"}},base:w7,fromBase(e){let[a,r,t]=e,n,i=2e-4;return Math.abs(r)<i&&Math.abs(t)<i?n=NaN:n=Math.atan2(t,r)*180/Math.PI,[a,Math.sqrt(r**2+t**2),na(n)]},toBase(e){return[e[0],e[1]*Math.cos(e[2]*Math.PI/180),e[1]*Math.sin(e[2]*Math.PI/180)]}});function ZE(e,a){[e,a]=re([e,a]);let[r,t,n]=Hs.from(e),[i,p,s]=Hs.from(a),d=r-i,h=t-p;Number.isNaN(n)&&Number.isNaN(s)?(n=0,s=0):Number.isNaN(n)?n=s:Number.isNaN(s)&&(s=n);let m=n-s,g=2*Math.sqrt(t*p)*Math.sin(m/2*(Math.PI/180));return Math.sqrt(d**2+h**2+g**2)}var y7=3424/4096,_7=2413/128,C7=2392/128,Sm=2610/16384,XE=2523/32,QE=16384/2610,Em=32/2523,eA=[[.3592832590121217,.6976051147779502,-.035891593232029],[-.1920808463704993,1.100476797037432,.0753748658519118],[.0070797844607479,.0748396662186362,.8433265453898765]],aA=[[2048/4096,2048/4096,0],[6610/4096,-13613/4096,7003/4096],[17933/4096,-17390/4096,-543/4096]],rA=[[.9999999999999998,.0086090370379328,.111029625003026],[.9999999999999998,-.0086090370379328,-.1110296250030259],[.9999999999999998,.5600313357106791,-.3206271749873188]],tA=[[2.0701522183894223,-1.3263473389671563,.2066510476294053],[.3647385209748072,.6805660249472273,-.0453045459220347],[-.0497472075358123,-.0492609666966131,1.1880659249923042]],Ws=new H({id:"ictcp",name:"ICTCP",coords:{i:{refRange:[0,1],name:"I"},ct:{refRange:[-.5,.5],name:"CT"},cp:{refRange:[-.5,.5],name:"CP"}},base:rd,fromBase(e){let a=Be(eA,e);return nA(a)},toBase(e){let a=iA(e);return Be(tA,a)}});function nA(e){let a=e.map(function(r){let t=y7+_7*(r/1e4)**Sm,n=1+C7*(r/1e4)**Sm;return(t/n)**XE});return Be(aA,a)}function iA(e){return Be(rA,e).map(function(t){let n=Math.max(t**Em-y7,0),i=_7-C7*t**Em;return 1e4*(n/i)**QE})}function pA(e,a){[e,a]=re([e,a]);let[r,t,n]=Ws.from(e),[i,p,s]=Ws.from(a);return 720*Math.sqrt((r-i)**2+.25*(t-p)**2+(n-s)**2)}var sA=b1.D65,F7=.42,Am=1/F7,Os=2*Math.PI,D7=[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],dA=[[1.8620678550872327,-1.0112546305316843,.14918677544445175],[.38752654323613717,.6214474419314753,-.008973985167612518],[-.015841498849333856,-.03412293802851557,1.0499644368778496]],oA=[[460,451,288],[460,-891,-261],[460,-220,-6300]],lA={dark:[.8,.525,.8],dim:[.9,.59,.9],average:[1,.69,1]},fr={h:[20.14,90,164.25,237.53,380.14],e:[.8,.7,1,1.2,.8],H:[0,100,200,300,400]},uA=180/Math.PI,Bm=Math.PI/180;function S7(e,a){return e.map(t=>{let n=ta(a*Math.abs(t)*.01,F7);return 400*Ti(n,t)/(n+27.13)})}function mA(e,a){let r=100/a*27.13**Am;return e.map(t=>{let n=Math.abs(t);return Ti(r*ta(n/(400-n),Am),t)})}function cA(e){let a=na(e);a<=fr.h[0]&&(a+=360);let r=v7(fr.h,a)-1,[t,n]=fr.h.slice(r,r+2),[i,p]=fr.e.slice(r,r+2),s=fr.H[r],d=(a-t)/i;return s+100*d/(d+(n-a)/p)}function hA(e){let a=(e%400+400)%400,r=Math.floor(.01*a);a=a%100;let[t,n]=fr.h.slice(r,r+2),[i,p]=fr.e.slice(r,r+2);return na((a*(p*t-i*n)-100*t*p)/(a*(p-i)-100*p))}function E7(e,a,r,t,n){let i={};i.discounting=n,i.refWhite=e,i.surround=t;let p=e.map(F=>F*100);i.la=a,i.yb=r;let s=p[1],d=Be(D7,p);t=lA[i.surround];let h=t[0];i.c=t[1],i.nc=t[2];let g=(1/(5*i.la+1))**4;i.fl=g*i.la+.1*(1-g)*(1-g)*Math.cbrt(5*i.la),i.flRoot=i.fl**.25,i.n=i.yb/s,i.z=1.48+Math.sqrt(i.n),i.nbb=.725*i.n**-.2,i.ncb=i.nbb;let w=n?1:Math.max(Math.min(h*(1-1/3.6*Math.exp((-i.la-42)/92)),1),0);i.dRgb=d.map(F=>Nn(1,s/F,w)),i.dRgbInv=i.dRgb.map(F=>1/F);let S=d.map((F,D)=>F*i.dRgb[D]),_=S7(S,i.fl);return i.aW=i.nbb*(2*_[0]+_[1]+.05*_[2]),i}var Pm=E7(sA,64/Math.PI*.2,20,"average",!1);function Ys(e,a){if(!(e.J!==void 0^e.Q!==void 0))throw new Error("Conversion requires one and only one: 'J' or 'Q'");if(!(e.C!==void 0^e.M!==void 0^e.s!==void 0))throw new Error("Conversion requires one and only one: 'C', 'M' or 's'");if(!(e.h!==void 0^e.H!==void 0))throw new Error("Conversion requires one and only one: 'h' or 'H'");if(e.J===0||e.Q===0)return[0,0,0];let r=0;e.h!==void 0?r=na(e.h)*Bm:r=hA(e.H)*Bm;let t=Math.cos(r),n=Math.sin(r),i=0;e.J!==void 0?i=ta(e.J,1/2)*.1:e.Q!==void 0&&(i=.25*a.c*e.Q/((a.aW+4)*a.flRoot));let p=0;e.C!==void 0?p=e.C/i:e.M!==void 0?p=e.M/a.flRoot/i:e.s!==void 0&&(p=4e-4*e.s**2*(a.aW+4)/a.c);let s=ta(p*Math.pow(1.64-Math.pow(.29,a.n),-.73),10/9),d=.25*(Math.cos(r+2)+3.8),h=a.aW*ta(i,2/a.c/a.z),m=5e4/13*a.nc*a.ncb*d,g=h/a.nbb,w=23*(g+.305)*Qs(s,23*m+s*(11*t+108*n)),S=w*t,_=w*n,F=mA(Be(oA,[g,S,_]).map(D=>D*1/1403),a.fl);return Be(dA,F.map((D,B)=>D*a.dRgbInv[B])).map(D=>D/100)}function A7(e,a){let r=e.map(C=>C*100),t=S7(Be(D7,r).map((C,R)=>C*a.dRgb[R]),a.fl),n=t[0]+(-12*t[1]+t[2])/11,i=(t[0]+t[1]-2*t[2])/9,p=(Math.atan2(i,n)%Os+Os)%Os,s=.25*(Math.cos(p+2)+3.8),d=5e4/13*a.nc*a.ncb*Qs(s*Math.sqrt(n**2+i**2),t[0]+t[1]+1.05*t[2]+.305),h=ta(d,.9)*Math.pow(1.64-Math.pow(.29,a.n),.73),m=a.nbb*(2*t[0]+t[1]+.05*t[2]),g=ta(m/a.aW,.5*a.c*a.z),w=100*ta(g,2),S=4/a.c*g*(a.aW+4)*a.flRoot,_=h*g,F=_*a.flRoot,D=na(p*uA),B=cA(D),k=50*ta(a.c*h/(a.aW+4),1/2);return{J:w,C:_,h:D,s:k,Q:S,M:F,H:B}}var fA=new H({id:"cam16-jmh",cssId:"--cam16-jmh",name:"CAM16-JMh",coords:{j:{refRange:[0,100],name:"J"},m:{refRange:[0,105],name:"Colorfulness"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:e1,fromBase(e){let a=A7(e,Pm);return[a.J,a.M,a.h]},toBase(e){return Ys({J:e[0],M:e[1],h:e[2]},Pm)}}),vA=b1.D65,gA=216/24389,B7=24389/27;function bA(e){return 116*(e>gA?Math.cbrt(e):(B7*e+16)/116)-16}function Js(e){return e>8?Math.pow((e+16)/116,3):e/B7}function xA(e,a){let[r,t,n]=e,i=[],p=0;if(n===0)return[0,0,0];let s=Js(n);n>0?p=.00379058511492914*n**2+.608983189401032*n+.9155088574762233:p=9514440756550361e-21*n**2+.08693057439788597*n-21.928975842194614;let d=2e-12,h=15,m=0,g=1/0;for(;m<=h;){i=Ys({J:p,C:t,h:r},a);let w=Math.abs(i[1]-s);if(w<g){if(w<=d)return i;g=w}p=p-(i[1]-s)*p/(2*i[1]),m+=1}return Ys({J:p,C:t,h:r},a)}function wA(e,a){let r=bA(e[1]);if(r===0)return[0,0,0];let t=A7(e,td);return[na(t.h),t.C,r]}var td=E7(vA,200/Math.PI*Js(50),Js(50)*100,"average",!1),kn=new H({id:"hct",name:"HCT",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},c:{refRange:[0,145],name:"Colorfulness"},t:{refRange:[0,100],name:"Tone"}},base:e1,fromBase(e){return wA(e)},toBase(e){return xA(e,td)},formats:{color:{id:"--hct",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),yA=Math.PI/180,Nm=[1,.007,.0228];function Tm(e){e[1]<0&&(e=kn.fromBase(kn.toBase(e)));let a=Math.log(Math.max(1+Nm[2]*e[1]*td.flRoot,1))/Nm[2],r=e[0]*yA,t=a*Math.cos(r),n=a*Math.sin(r);return[e[2],t,n]}function _A(e,a){[e,a]=re([e,a]);let[r,t,n]=Tm(kn.from(e)),[i,p,s]=Tm(kn.from(a));return Math.sqrt((r-i)**2+(t-p)**2+(n-s)**2)}var lt={deltaE76:GE,deltaECMC:UE,deltaE2000:b7,deltaEJz:ZE,deltaEITP:pA,deltaEOK:$s,deltaEHCT:_A};function CA(e){let a=e?Math.floor(Math.log10(Math.abs(e))):0;return Math.max(parseFloat(`1e${a-2}`),1e-6)}var km={hct:{method:"hct.c",jnd:2,deltaEMethod:"hct",blackWhiteClamp:{}},"hct-tonal":{method:"hct.c",jnd:0,deltaEMethod:"hct",blackWhiteClamp:{channel:"hct.t",min:0,max:100}}};function ja(e,{method:a=A1.gamut_mapping,space:r=void 0,deltaEMethod:t="",jnd:n=2,blackWhiteClamp:i={}}={}){if(e=re(e),Ln(arguments[1])?r=arguments[1]:r||(r=e.space),r=H.get(r),vr(e,r,{epsilon:0}))return e;let p;if(a==="css")p=FA(e,{space:r});else{if(a!=="clip"&&!vr(e,r)){Object.prototype.hasOwnProperty.call(km,a)&&({method:a,jnd:n,deltaEMethod:t,blackWhiteClamp:i}=km[a]);let s=b7;if(t!==""){for(let h in lt)if("deltae"+t.toLowerCase()===h.toLowerCase()){s=lt[h];break}}let d=ja(Ae(e,r),{method:"clip",space:r});if(s(e,d)>n){if(Object.keys(i).length===3){let k=H.resolveCoord(i.channel),C=S1(Ae(e,k.space),k.id);if(Ia(C)&&(C=0),C>=i.max)return Ae({space:"xyz-d65",coords:b1.D65},e.space);if(C<=i.min)return Ae({space:"xyz-d65",coords:[0,0,0]},e.space)}let h=H.resolveCoord(a),m=h.space,g=h.id,w=Ae(e,m);w.coords.forEach((k,C)=>{Ia(k)&&(w.coords[C]=0)});let _=(h.range||h.refRange)[0],F=CA(n),D=_,B=S1(w,g);for(;B-D>F;){let k=ot(w);k=ja(k,{space:r,method:"clip"}),s(w,k)-n<F?D=S1(w,g):B=S1(w,g),ba(w,g,(D+B)/2)}p=Ae(w,r)}else p=d}else p=Ae(e,r);if(a==="clip"||!vr(p,r,{epsilon:0})){let s=Object.values(r.coords).map(d=>d.range||[]);p.coords=p.coords.map((d,h)=>{let[m,g]=s[h];return m!==void 0&&(d=Math.max(m,d)),g!==void 0&&(d=Math.min(d,g)),d})}}return r!==e.space&&(p=Ae(p,e.space)),e.coords=p.coords,e}ja.returns="color";var Lm={WHITE:{space:dt,coords:[1,0,0]},BLACK:{space:dt,coords:[0,0,0]}};function FA(e,{space:a}={}){e=re(e),a||(a=e.space),a=H.get(a);let n=H.get("oklch");if(a.isUnbounded)return Ae(e,a);let i=Ae(e,n),p=i.coords[0];if(p>=1){let _=Ae(Lm.WHITE,a);return _.alpha=e.alpha,Ae(_,a)}if(p<=0){let _=Ae(Lm.BLACK,a);return _.alpha=e.alpha,Ae(_,a)}if(vr(i,a,{epsilon:0}))return Ae(i,a);function s(_){let F=Ae(_,a),D=Object.values(a.coords);return F.coords=F.coords.map((B,k)=>{if("range"in D[k]){let[C,R]=D[k].range;return f7(C,B,R)}return B}),F}let d=0,h=i.coords[1],m=!0,g=ot(i),w=s(g),S=$s(w,g);if(S<.02)return w;for(;h-d>1e-4;){let _=(d+h)/2;if(g.coords[1]=_,m&&vr(g,a,{epsilon:0}))d=_;else if(w=s(g),S=$s(w,g),S<.02){if(.02-S<1e-4)break;m=!1,d=_}else h=_}return w}function Ae(e,a,{inGamut:r}={}){e=re(e),a=H.get(a);let t=a.from(e),n={space:a,coords:t,alpha:e.alpha};return r&&(n=ja(n,r===!0?void 0:r)),n}Ae.returns="color";function Pn(e,{precision:a=A1.precision,format:r="default",inGamut:t=!0,...n}={}){let i;e=re(e);let p=r;r=e.space.getFormat(r)??e.space.getFormat("default")??H.DEFAULT_FORMAT;let s=e.coords.slice();if(t||=r.toGamut,t&&!vr(e)&&(s=ja(ot(e),t===!0?void 0:t).coords),r.type==="custom")if(n.precision=a,r.serialize)i=r.serialize(s,e.alpha,n);else throw new TypeError(`format ${p} can only be used to parse colors, not for serialization`);else{let d=r.name||"color";r.serializeCoords?s=r.serializeCoords(s,a):a!==null&&(s=s.map(w=>Ai(w,{precision:a})));let h=[...s];if(d==="color"){let w=r.id||r.ids?.[0]||e.space.id;h.unshift(w)}let m=e.alpha;a!==null&&(m=Ai(m,{precision:a}));let g=e.alpha>=1||r.noAlpha?"":`${r.commas?",":" /"} ${m}`;i=`${d}(${h.join(r.commas?", ":" ")}${g})`}return i}var DA=[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],SA=[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]],ki=new l1({id:"rec2020-linear",cssId:"--rec2020-linear",name:"Linear REC.2020",white:"D65",toXYZ_M:DA,fromXYZ_M:SA}),Ci=1.09929682680944,Om=.018053968510807,P7=new l1({id:"rec2020",name:"REC.2020",base:ki,toBase(e){return e.map(function(a){return a<Om*4.5?a/4.5:Math.pow((a+Ci-1)/Ci,1/.45)})},fromBase(e){return e.map(function(a){return a>=Om?Ci*Math.pow(a,.45)-(Ci-1):4.5*a})}}),EA=[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],AA=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]],N7=new l1({id:"p3-linear",cssId:"--display-p3-linear",name:"Linear P3",white:"D65",toXYZ_M:EA,fromXYZ_M:AA}),BA=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],$e=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],T7=new l1({id:"srgb-linear",name:"Linear sRGB",white:"D65",toXYZ_M:BA,fromXYZ_M:$e}),Mm={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[153/255,50/255,204/255],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,153/255],lightslategrey:[119/255,136/255,153/255],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[102/255,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,204/255],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[102/255,51/255,153/255],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]},Rm=Array(3).fill("<percentage> | <number>[0, 255]"),qm=Array(3).fill("<number>[0, 255]"),ut=new l1({id:"srgb",name:"sRGB",base:T7,fromBase:e=>e.map(a=>{let r=a<0?-1:1,t=a*r;return t>.0031308?r*(1.055*t**(1/2.4)-.055):12.92*a}),toBase:e=>e.map(a=>{let r=a<0?-1:1,t=a*r;return t<=.04045?a/12.92:r*((t+.055)/1.055)**2.4}),formats:{rgb:{coords:Rm},rgb_number:{name:"rgb",commas:!0,coords:qm,noAlpha:!0},color:{},rgba:{coords:Rm,commas:!0,lastAlpha:!0},rgba_number:{name:"rgba",commas:!0,coords:qm},hex:{type:"custom",toGamut:!0,test:e=>/^#([a-f0-9]{3,4}){1,2}$/i.test(e),parse(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,"$&$&"));let a=[];return e.replace(/[a-f0-9]{2}/gi,r=>{a.push(parseInt(r,16)/255)}),{spaceId:"srgb",coords:a.slice(0,3),alpha:a.slice(3)[0]}},serialize:(e,a,{collapse:r=!0}={})=>{a<1&&e.push(a),e=e.map(i=>Math.round(i*255));let t=r&&e.every(i=>i%17===0);return"#"+e.map(i=>t?(i/17).toString(16):i.toString(16).padStart(2,"0")).join("")}},keyword:{type:"custom",test:e=>/^[a-z]+$/i.test(e),parse(e){e=e.toLowerCase();let a={spaceId:"srgb",coords:null,alpha:1};if(e==="transparent"?(a.coords=Mm.black,a.alpha=0):a.coords=Mm[e],a.coords)return a}}}}),k7=new l1({id:"p3",cssId:"display-p3",name:"P3",base:N7,fromBase:ut.fromBase,toBase:ut.toBase});A1.display_space=ut;var PA;if(typeof CSS<"u"&&CSS.supports)for(let e of[E1,P7,k7]){let a=e.getMinCoords(),t=Pn({space:e,coords:a,alpha:1});if(CSS.supports("color",t)){A1.display_space=e;break}}function NA(e,{space:a=A1.display_space,...r}={}){let t=Pn(e,r);if(typeof CSS>"u"||CSS.supports("color",t)||!A1.display_space)t=new String(t),t.color=e;else{let n=e;if((e.coords.some(Ia)||Ia(e.alpha))&&!(PA??=CSS.supports("color","hsl(none 50% 50%)"))&&(n=ot(e),n.coords=n.coords.map(Ge),n.alpha=Ge(n.alpha),t=Pn(n,r),CSS.supports("color",t)))return t=new String(t),t.color=n,t;n=Ae(n,a),t=new String(Pn(n,r)),t.color=n}return t}function TA(e,a){return e=re(e),a=re(a),e.space===a.space&&e.alpha===a.alpha&&e.coords.every((r,t)=>r===a.coords[t])}function Ga(e){return S1(e,[e1,"y"])}function L7(e,a){ba(e,[e1,"y"],a)}function kA(e){Object.defineProperty(e.prototype,"luminance",{get(){return Ga(this)},set(a){L7(this,a)}})}var LA=Object.freeze({__proto__:null,getLuminance:Ga,register:kA,setLuminance:L7});function OA(e,a){e=re(e),a=re(a);let r=Math.max(Ga(e),0),t=Math.max(Ga(a),0);return t>r&&([r,t]=[t,r]),(r+.05)/(t+.05)}var MA=.56,RA=.57,qA=.62,IA=.65,Im=.022,VA=1.414,jA=.1,GA=5e-4,zA=1.14,Vm=.027,UA=1.14;function jm(e){return e>=Im?e:e+(Im-e)**VA}function it(e){let a=e<0?-1:1,r=Math.abs(e);return a*Math.pow(r,2.4)}function $A(e,a){a=re(a),e=re(e);let r,t,n,i,p,s;a=Ae(a,"srgb"),[i,p,s]=a.coords;let d=it(i)*.2126729+it(p)*.7151522+it(s)*.072175;e=Ae(e,"srgb"),[i,p,s]=e.coords;let h=it(i)*.2126729+it(p)*.7151522+it(s)*.072175,m=jm(d),g=jm(h),w=g>m;return Math.abs(g-m)<GA?t=0:w?(r=g**MA-m**RA,t=r*zA):(r=g**IA-m**qA,t=r*UA),Math.abs(t)<jA?n=0:t>0?n=t-Vm:n=t+Vm,n*100}function HA(e,a){e=re(e),a=re(a);let r=Math.max(Ga(e),0),t=Math.max(Ga(a),0);t>r&&([r,t]=[t,r]);let n=r+t;return n===0?0:(r-t)/n}var WA=5e4;function YA(e,a){e=re(e),a=re(a);let r=Math.max(Ga(e),0),t=Math.max(Ga(a),0);return t>r&&([r,t]=[t,r]),t===0?WA:(r-t)/t}function JA(e,a){e=re(e),a=re(a);let r=S1(e,[E1,"l"]),t=S1(a,[E1,"l"]);return Math.abs(r-t)}var KA=216/24389,Gm=24/116,Fi=24389/27,Ms=b1.D65,Ks=new H({id:"lab-d65",name:"Lab D65",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:Ms,base:e1,fromBase(e){let r=e.map((t,n)=>t/Ms[n]).map(t=>t>KA?Math.cbrt(t):(Fi*t+16)/116);return[116*r[1]-16,500*(r[0]-r[1]),200*(r[1]-r[2])]},toBase(e){let a=[];return a[1]=(e[0]+16)/116,a[0]=e[1]/500+a[1],a[2]=a[1]-e[2]/200,[a[0]>Gm?Math.pow(a[0],3):(116*a[0]-16)/Fi,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/Fi,a[2]>Gm?Math.pow(a[2],3):(116*a[2]-16)/Fi].map((t,n)=>t*Ms[n])},formats:{"lab-d65":{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),Rs=Math.pow(5,.5)*.5+.5;function ZA(e,a){e=re(e),a=re(a);let r=S1(e,[Ks,"l"]),t=S1(a,[Ks,"l"]),n=Math.abs(Math.pow(r,Rs)-Math.pow(t,Rs)),i=Math.pow(n,1/Rs)*Math.SQRT2-40;return i<7.5?0:i}var Ei=Object.freeze({__proto__:null,contrastAPCA:$A,contrastDeltaPhi:ZA,contrastLstar:JA,contrastMichelson:HA,contrastWCAG21:OA,contrastWeber:YA});function XA(e,a,r={}){Ln(r)&&(r={algorithm:r});let{algorithm:t,...n}=r;if(!t){let i=Object.keys(Ei).map(p=>p.replace(/^contrast/,"")).join(", ");throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${i}`)}e=re(e),a=re(a);for(let i in Ei)if("contrast"+t.toLowerCase()===i.toLowerCase())return Ei[i](e,a,n);throw new TypeError(`Unknown contrast algorithm: ${t}`)}function Li(e){let[a,r,t]=On(e,e1),n=a+15*r+3*t;return[4*a/n,9*r/n]}function O7(e){let[a,r,t]=On(e,e1),n=a+r+t;return[a/n,r/n]}function QA(e){Object.defineProperty(e.prototype,"uv",{get(){return Li(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return O7(this)}})}var eB=Object.freeze({__proto__:null,register:QA,uv:Li,xy:O7});function Bn(e,a,r={}){Ln(r)&&(r={method:r});let{method:t=A1.deltaE,...n}=r;for(let i in lt)if("deltae"+t.toLowerCase()===i.toLowerCase())return lt[i](e,a,n);throw new TypeError(`Unknown deltaE method: ${t}`)}function aB(e,a=.25){let t=[H.get("oklch","lch"),"l"];return ba(e,t,n=>n*(1+a))}function rB(e,a=.25){let t=[H.get("oklch","lch"),"l"];return ba(e,t,n=>n*(1-a))}var tB=Object.freeze({__proto__:null,darken:rB,lighten:aB});function M7(e,a,r=.5,t={}){return[e,a]=[re(e),re(a)],qa(r)==="object"&&([r,t]=[.5,r]),Mn(e,a,t)(r)}function R7(e,a,r={}){let t;nd(e)&&([t,r]=[e,a],[e,a]=t.rangeArgs.colors);let{maxDeltaE:n,deltaEMethod:i,steps:p=2,maxSteps:s=1e3,...d}=r;t||([e,a]=[re(e),re(a)],t=Mn(e,a,d));let h=Bn(e,a),m=n>0?Math.max(p,Math.ceil(h/n)+1):p,g=[];if(s!==void 0&&(m=Math.min(m,s)),m===1)g=[{p:.5,color:t(.5)}];else{let w=1/(m-1);g=Array.from({length:m},(S,_)=>{let F=_*w;return{p:F,color:t(F)}})}if(n>0){let w=g.reduce((S,_,F)=>{if(F===0)return 0;let D=Bn(_.color,g[F-1].color,i);return Math.max(S,D)},0);for(;w>n;){w=0;for(let S=1;S<g.length&&g.length<s;S++){let _=g[S-1],F=g[S],D=(F.p+_.p)/2,B=t(D);w=Math.max(w,Bn(B,_.color),Bn(B,F.color)),g.splice(S,0,{p:D,color:t(D)}),S++}}}return g=g.map(w=>w.color),g}function Mn(e,a,r={}){if(nd(e)){let[d,h]=[e,a];return Mn(...d.rangeArgs.colors,{...d.rangeArgs.options,...h})}let{space:t,outputSpace:n,progression:i,premultiplied:p}=r;e=re(e),a=re(a),e=ot(e),a=ot(a);let s={colors:[e,a],options:r};if(t?t=H.get(t):t=H.registry[A1.interpolationSpace]||e.space,n=n?H.get(n):t,e=Ae(e,t),a=Ae(a,t),e=ja(e),a=ja(a),t.coords.h&&t.coords.h.type==="angle"){let d=r.hue=r.hue||"shorter",h=[t,"h"],[m,g]=[S1(e,h),S1(a,h)];isNaN(m)&&!isNaN(g)?m=g:isNaN(g)&&!isNaN(m)&&(g=m),[m,g]=ME(d,[m,g]),ba(e,h,m),ba(a,h,g)}return p&&(e.coords=e.coords.map(d=>d*e.alpha),a.coords=a.coords.map(d=>d*a.alpha)),Object.assign(d=>{d=i?i(d):d;let h=e.coords.map((w,S)=>{let _=a.coords[S];return Nn(w,_,d)}),m=Nn(e.alpha,a.alpha,d),g={space:t,coords:h,alpha:m};return p&&(g.coords=g.coords.map(w=>w/m)),n!==t&&(g=Ae(g,n)),g},{rangeArgs:s})}function nd(e){return qa(e)==="function"&&!!e.rangeArgs}A1.interpolationSpace="lab";function nB(e){e.defineFunction("mix",M7,{returns:"color"}),e.defineFunction("range",Mn,{returns:"function<color>"}),e.defineFunction("steps",R7,{returns:"array<color>"})}var iB=Object.freeze({__proto__:null,isRange:nd,mix:M7,range:Mn,register:nB,steps:R7}),q7=new H({id:"hsl",name:"HSL",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:ut,fromBase:e=>{let a=Math.max(...e),r=Math.min(...e),[t,n,i]=e,[p,s,d]=[NaN,0,(r+a)/2],h=a-r;if(h!==0){switch(s=d===0||d===1?0:(a-d)/Math.min(d,1-d),a){case t:p=(n-i)/h+(n<i?6:0);break;case n:p=(i-t)/h+2;break;case i:p=(t-n)/h+4}p=p*60}return s<0&&(p+=180,s=Math.abs(s)),p>=360&&(p-=360),[p,s*100,d*100]},toBase:e=>{let[a,r,t]=e;a=a%360,a<0&&(a+=360),r/=100,t/=100;function n(i){let p=(i+a/30)%12,s=r*Math.min(t,1-t);return t-s*Math.max(-1,Math.min(p-3,9-p,1))}return[n(0),n(8),n(4)]},formats:{hsl:{coords:["<number> | <angle>","<percentage>","<percentage>"]},hsla:{coords:["<number> | <angle>","<percentage>","<percentage>"],commas:!0,lastAlpha:!0}}}),I7=new H({id:"hsv",name:"HSV",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},v:{range:[0,100],name:"Value"}},base:q7,fromBase(e){let[a,r,t]=e;r/=100,t/=100;let n=t+r*Math.min(t,1-t);return[a,n===0?0:200*(1-t/n),100*n]},toBase(e){let[a,r,t]=e;r/=100,t/=100;let n=t*(1-r/2);return[a,n===0||n===1?0:(t-n)/Math.min(n,1-n)*100,n*100]},formats:{color:{id:"--hsv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),pB=new H({id:"hwb",name:"HWB",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},w:{range:[0,100],name:"Whiteness"},b:{range:[0,100],name:"Blackness"}},base:I7,fromBase(e){let[a,r,t]=e;return[a,t*(100-r)/100,100-t]},toBase(e){let[a,r,t]=e;r/=100,t/=100;let n=r+t;if(n>=1){let s=r/n;return[a,0,s*100]}let i=1-t,p=i===0?0:1-r/i;return[a,p*100,i*100]},formats:{hwb:{coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),sB=[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],dB=[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]],V7=new l1({id:"a98rgb-linear",cssId:"--a98-rgb-linear",name:"Linear Adobe\xAE 98 RGB compatible",white:"D65",toXYZ_M:sB,fromXYZ_M:dB}),oB=new l1({id:"a98rgb",cssId:"a98-rgb",name:"Adobe\xAE 98 RGB compatible",base:V7,toBase:e=>e.map(a=>Math.pow(Math.abs(a),563/256)*Math.sign(a)),fromBase:e=>e.map(a=>Math.pow(Math.abs(a),256/563)*Math.sign(a))}),lB=[[.7977666449006423,.13518129740053308,.0313477341283922],[.2880748288194013,.711835234241873,8993693872564e-17],[0,0,.8251046025104602]],uB=[[1.3457868816471583,-.25557208737979464,-.05110186497554526],[-.5446307051249019,1.5082477428451468,.02052744743642139],[0,0,1.2119675456389452]],j7=new l1({id:"prophoto-linear",cssId:"--prophoto-rgb-linear",name:"Linear ProPhoto",white:"D50",base:ad,toXYZ_M:lB,fromXYZ_M:uB}),mB=1/512,cB=16/512,hB=new l1({id:"prophoto",cssId:"prophoto-rgb",name:"ProPhoto",base:j7,toBase(e){return e.map(a=>a<cB?a/16:a**1.8)},fromBase(e){return e.map(a=>a>=mB?a**(1/1.8):16*a)}}),fB=new H({id:"oklch",name:"Oklch",coords:{l:{refRange:[0,1],name:"Lightness"},c:{refRange:[0,.4],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},white:"D65",base:dt,fromBase(e){let[a,r,t]=e,n,i=2e-4;return Math.abs(r)<i&&Math.abs(t)<i?n=NaN:n=Math.atan2(t,r)*180/Math.PI,[a,Math.sqrt(r**2+t**2),na(n)]},toBase(e){let[a,r,t]=e,n,i;return isNaN(t)?(n=0,i=0):(n=r*Math.cos(t*Math.PI/180),i=r*Math.sin(t*Math.PI/180)),[a,n,i]},formats:{oklch:{coords:["<percentage> | <number>","<number> | <percentage>[0,1]","<number> | <angle>"]}}}),G7=b1.D65,vB=216/24389,zm=24389/27,[Um,$m]=Li({space:e1,coords:G7}),z7=new H({id:"luv",name:"Luv",coords:{l:{refRange:[0,100],name:"Lightness"},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:G7,base:e1,fromBase(e){let a=[Ge(e[0]),Ge(e[1]),Ge(e[2])],r=a[1],[t,n]=Li({space:e1,coords:a});if(!Number.isFinite(t)||!Number.isFinite(n))return[0,0,0];let i=r<=vB?zm*r:116*Math.cbrt(r)-16;return[i,13*i*(t-Um),13*i*(n-$m)]},toBase(e){let[a,r,t]=e;if(a===0||Ia(a))return[0,0,0];r=Ge(r),t=Ge(t);let n=r/(13*a)+Um,i=t/(13*a)+$m,p=a<=8?a/zm:Math.pow((a+16)/116,3);return[p*(9*n/(4*i)),p,p*((12-3*n-20*i)/(4*i))]},formats:{color:{id:"--luv",coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),id=new H({id:"lchuv",name:"LChuv",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,220],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:z7,fromBase(e){let[a,r,t]=e,n,i=.02;return Math.abs(r)<i&&Math.abs(t)<i?n=NaN:n=Math.atan2(t,r)*180/Math.PI,[a,Math.sqrt(r**2+t**2),na(n)]},toBase(e){let[a,r,t]=e;return r<0&&(r=0),isNaN(t)&&(t=0),[a,r*Math.cos(t*Math.PI/180),r*Math.sin(t*Math.PI/180)]},formats:{color:{id:"--lchuv",coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}}),gB=216/24389,bB=24389/27,Hm=$e[0][0],Wm=$e[0][1],qs=$e[0][2],Ym=$e[1][0],Jm=$e[1][1],Is=$e[1][2],Km=$e[2][0],Zm=$e[2][1],Vs=$e[2][2];function pt(e,a,r){let t=a/(Math.sin(r)-e*Math.cos(r));return t<0?1/0:t}function Ni(e){let a=Math.pow(e+16,3)/1560896,r=a>gB?a:e/bB,t=r*(284517*Hm-94839*qs),n=r*(838422*qs+769860*Wm+731718*Hm),i=r*(632260*qs-126452*Wm),p=r*(284517*Ym-94839*Is),s=r*(838422*Is+769860*Jm+731718*Ym),d=r*(632260*Is-126452*Jm),h=r*(284517*Km-94839*Vs),m=r*(838422*Vs+769860*Zm+731718*Km),g=r*(632260*Vs-126452*Zm);return{r0s:t/i,r0i:n*e/i,r1s:t/(i+126452),r1i:(n-769860)*e/(i+126452),g0s:p/d,g0i:s*e/d,g1s:p/(d+126452),g1i:(s-769860)*e/(d+126452),b0s:h/g,b0i:m*e/g,b1s:h/(g+126452),b1i:(m-769860)*e/(g+126452)}}function Xm(e,a){let r=a/360*Math.PI*2,t=pt(e.r0s,e.r0i,r),n=pt(e.r1s,e.r1i,r),i=pt(e.g0s,e.g0i,r),p=pt(e.g1s,e.g1i,r),s=pt(e.b0s,e.b0i,r),d=pt(e.b1s,e.b1i,r);return Math.min(t,n,i,p,s,d)}var xB=new H({id:"hsluv",name:"HSLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:id,gamutSpace:ut,fromBase(e){let[a,r,t]=[Ge(e[0]),Ge(e[1]),Ge(e[2])],n;if(a>99.9999999)n=0,a=100;else if(a<1e-8)n=0,a=0;else{let i=Ni(a),p=Xm(i,t);n=r/p*100}return[t,n,a]},toBase(e){let[a,r,t]=[Ge(e[0]),Ge(e[1]),Ge(e[2])],n;if(t>99.9999999)t=100,n=0;else if(t<1e-8)t=0,n=0;else{let i=Ni(t);n=Xm(i,a)/100*r}return[t,n,a]},formats:{color:{id:"--hsluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});$e[0][0];$e[0][1];$e[0][2];$e[1][0];$e[1][1];$e[1][2];$e[2][0];$e[2][1];$e[2][2];function st(e,a){return Math.abs(a)/Math.sqrt(Math.pow(e,2)+1)}function Qm(e){let a=st(e.r0s,e.r0i),r=st(e.r1s,e.r1i),t=st(e.g0s,e.g0i),n=st(e.g1s,e.g1i),i=st(e.b0s,e.b0i),p=st(e.b1s,e.b1i);return Math.min(a,r,t,n,i,p)}var wB=new H({id:"hpluv",name:"HPLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:id,gamutSpace:"self",fromBase(e){let[a,r,t]=[Ge(e[0]),Ge(e[1]),Ge(e[2])],n;if(a>99.9999999)n=0,a=100;else if(a<1e-8)n=0,a=0;else{let i=Ni(a),p=Qm(i);n=r/p*100}return[t,n,a]},toBase(e){let[a,r,t]=[Ge(e[0]),Ge(e[1]),Ge(e[2])],n;if(t>99.9999999)t=100,n=0;else if(t<1e-8)t=0,n=0;else{let i=Ni(t);n=Qm(i)/100*r}return[t,n,a]},formats:{color:{id:"--hpluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),e7=203,a7=2610/2**14,yB=2**14/2610,_B=2523/2**5,r7=2**5/2523,t7=3424/2**12,n7=2413/2**7,i7=2392/2**7,CB=new l1({id:"rec2100pq",cssId:"rec2100-pq",name:"REC.2100-PQ",base:ki,toBase(e){return e.map(function(a){return(Math.max(a**r7-t7,0)/(n7-i7*a**r7))**yB*1e4/e7})},fromBase(e){return e.map(function(a){let r=Math.max(a*e7/1e4,0),t=t7+n7*r**a7,n=1+i7*r**a7;return(t/n)**_B})}}),p7=.17883277,s7=.28466892,d7=.55991073,js=3.7743,FB=new l1({id:"rec2100hlg",cssId:"rec2100-hlg",name:"REC.2100-HLG",referred:"scene",base:ki,toBase(e){return e.map(function(a){return a<=.5?a**2/3*js:(Math.exp((a-d7)/p7)+s7)/12*js})},fromBase(e){return e.map(function(a){return a/=js,a<=1/12?Math.sqrt(3*a):p7*Math.log(12*a-s7)+d7})}}),U7={};Va.add("chromatic-adaptation-start",e=>{e.options.method&&(e.M=$7(e.W1,e.W2,e.options.method))});Va.add("chromatic-adaptation-end",e=>{e.M||(e.M=$7(e.W1,e.W2,e.options.method))});function Oi({id:e,toCone_M:a,fromCone_M:r}){U7[e]=arguments[0]}function $7(e,a,r="Bradford"){let t=U7[r],[n,i,p]=Be(t.toCone_M,e),[s,d,h]=Be(t.toCone_M,a),m=[[s/n,0,0],[0,d/i,0],[0,0,h/p]],g=Be(m,t.toCone_M);return Be(t.fromCone_M,g)}Oi({id:"von Kries",toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599363874558397,-1.1293816185800916,.21989740959619328],[.3611914362417676,.6388124632850422,-6370596838649899e-21],[0,0,1.0890636230968613]]});Oi({id:"Bradford",toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929054667121,-.14705425642099013,.15996265166373122],[.4323052697233945,.5183602715367774,.049291228212855594],[-.00852866457517732,.04004282165408486,.96848669578755]]});Oi({id:"CAT02",toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238208355142,-.27886900021828726,.18274517938277307],[.4543690419753592,.4735331543074117,.07209780371722911],[-.009627608738429355,-.00569803121611342,1.0153256399545427]]});Oi({id:"CAT16",toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.0112546305316845,.14918677544445172],[.3875265432361372,.6214474419314753,-.008973985167612521],[-.01584149884933386,-.03412293802851557,1.0499644368778496]]});Object.assign(b1,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]});b1.ACES=[.32168/.33767,1,(1-.32168-.33767)/.33767];var DB=[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],SB=[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]],H7=new l1({id:"acescg",cssId:"--acescg",name:"ACEScg",coords:{r:{range:[0,65504],name:"Red"},g:{range:[0,65504],name:"Green"},b:{range:[0,65504],name:"Blue"}},referred:"scene",white:b1.ACES,toXYZ_M:DB,fromXYZ_M:SB}),Di=2**-16,Gs=-.35828683,Si=(Math.log2(65504)+9.72)/17.52,EB=new l1({id:"acescc",cssId:"--acescc",name:"ACEScc",coords:{r:{range:[Gs,Si],name:"Red"},g:{range:[Gs,Si],name:"Green"},b:{range:[Gs,Si],name:"Blue"}},referred:"scene",base:H7,toBase(e){let a=-.3013698630136986;return e.map(function(r){return r<=a?(2**(r*17.52-9.72)-Di)*2:r<Si?2**(r*17.52-9.72):65504})},fromBase(e){return e.map(function(a){return a<=0?(Math.log2(Di)+9.72)/17.52:a<Di?(Math.log2(Di+a*.5)+9.72)/17.52:(Math.log2(a)+9.72)/17.52})}}),o7=Object.freeze({__proto__:null,A98RGB:oB,A98RGB_Linear:V7,ACEScc:EB,ACEScg:H7,CAM16_JMh:fA,HCT:kn,HPLuv:wB,HSL:q7,HSLuv:xB,HSV:I7,HWB:pB,ICTCP:Ws,JzCzHz:Hs,Jzazbz:w7,LCH:Tn,LCHuv:id,Lab:E1,Lab_D65:Ks,Luv:z7,OKLCH:fB,OKLab:dt,P3:k7,P3_Linear:N7,ProPhoto:hB,ProPhoto_Linear:j7,REC_2020:P7,REC_2020_Linear:ki,REC_2100_HLG:FB,REC_2100_PQ:CB,XYZ_ABS_D65:rd,XYZ_D50:ad,XYZ_D65:e1,sRGB:ut,sRGB_Linear:T7}),Ze=class e{constructor(...a){let r;a.length===1&&(r=re(a[0]));let t,n,i;r?(t=r.space||r.spaceId,n=r.coords,i=r.alpha):[t,n,i]=a,Object.defineProperty(this,"space",{value:H.get(t),writable:!1,enumerable:!0,configurable:!0}),this.coords=n?n.slice():[0,0,0],this.alpha=i>1||i===void 0?1:i<0?0:i;for(let p=0;p<this.coords.length;p++)this.coords[p]==="NaN"&&(this.coords[p]=NaN);for(let p in this.space.coords)Object.defineProperty(this,p,{get:()=>this.get(p),set:s=>this.set(p,s)})}get spaceId(){return this.space.id}clone(){return new e(this.space,this.coords,this.alpha)}toJSON(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}display(...a){let r=NA(this,...a);return r.color=new e(r.color),r}static get(a,...r){return a instanceof e?a:new e(a,...r)}static defineFunction(a,r,t=r){let{instance:n=!0,returns:i}=t,p=function(...s){let d=r(...s);if(i==="color")d=e.get(d);else if(i==="function<color>"){let h=d;d=function(...m){let g=h(...m);return e.get(g)},Object.assign(d,h)}else i==="array<color>"&&(d=d.map(h=>e.get(h)));return d};a in e||(e[a]=p),n&&(e.prototype[a]=function(...s){return p(this,...s)})}static defineFunctions(a){for(let r in a)e.defineFunction(r,a[r],a[r])}static extend(a){if(a.register)a.register(e);else for(let r in a)e.defineFunction(r,a[r])}};Ze.defineFunctions({get:S1,getAll:On,set:ba,setAll:ed,to:Ae,equals:TA,inGamut:vr,toGamut:ja,distance:x7,toString:Pn});Object.assign(Ze,{util:NE,hooks:Va,WHITES:b1,Space:H,spaces:H.registry,parse:g7,defaults:A1});for(let e of Object.keys(o7))H.register(o7[e]);for(let e in H.registry)Zs(e,H.registry[e]);Va.add("colorspace-init-end",e=>{Zs(e.id,e),e.aliases?.forEach(a=>{Zs(a,e)})});function Zs(e,a){let r=e.replace(/-/g,"_");Object.defineProperty(Ze.prototype,r,{get(){let t=this.getAll(e);return typeof Proxy>"u"?t:new Proxy(t,{has:(n,i)=>{try{return H.resolveCoord([a,i]),!0}catch{}return Reflect.has(n,i)},get:(n,i,p)=>{if(i&&typeof i!="symbol"&&!(i in n)){let{index:s}=H.resolveCoord([a,i]);if(s>=0)return n[s]}return Reflect.get(n,i,p)},set:(n,i,p,s)=>{if(i&&typeof i!="symbol"&&!(i in n)||i>=0){let{index:d}=H.resolveCoord([a,i]);if(d>=0)return n[d]=p,this.setAll(e,n),!0}return Reflect.set(n,i,p,s)}})},set(t){this.setAll(e,t)},configurable:!0,enumerable:!0})}Ze.extend(lt);Ze.extend({deltaE:Bn});Object.assign(Ze,{deltaEMethods:lt});Ze.extend(tB);Ze.extend({contrast:XA});Ze.extend(eB);Ze.extend(LA);Ze.extend(iB);Ze.extend(Ei);var Sg=qt(Dg()),QM=(0,Md.getPreferenceValues)();function Wn(e,a){let r;switch(typeof e=="string"?r=new Ze(e):"colorSpace"in e?r=new Ze(e.colorSpace,[e.red,e.green,e.blue],e.alpha):r=new Ze("srgb",[e.red/255,e.green/255,e.blue/255],e.alpha),a||QM.colorFormat){default:case"hex":return r.to("srgb").toString({format:"hex"}).toUpperCase();case"hex-lower-case":return r.to("srgb").toString({format:"hex"}).toLowerCase();case"hex-no-prefix":return r.to("srgb").toString({format:"hex"}).replace("#","");case"rgb":return r.to("srgb").toString({format:"rgb_number"});case"rgb-percentage":return r.to("srgb").toString({format:"rgb"});case"rgba":return r.to("srgb").toString({format:"rgba_number"});case"rgba-percentage":return r.to("srgb").toString({format:"rgba"});case"hsla":return r.to("hsl").toString({format:"hsla"});case"hsva":return r.to("hsv").toString({format:"color"});case"oklch":{let t=r.to("oklch"),[n,i,p]=t.coords;return`oklch(${(n*100).toFixed(2)}% ${i} ${p})`}case"lch":{let t=r.to("lch"),[n,i,p]=t.coords;return`lch(${n.toFixed(2)}% ${i} ${p})`}case"p3":return r.to("p3").toString({format:"p3"})}}function Eg(e){return(0,Sg.default)(Object.values(e??{}).flat(),a=>a.name.toLowerCase()).sort((a,r)=>a.distance-r.distance)}var aR=200;function Bg(e){let a=new Ag.Cache,r=a.get("history"),t=r?JSON.parse(r):[],i=[{date:new Date().toISOString(),color:e},...t.filter(p=>Wn(p.color)!==Wn(e))].slice(0,aR);a.set("history",JSON.stringify(i))}async function Tg(e){let{showColorName:a}=(0,a1.getPreferenceValues)();await(0,a1.closeMainWindow)();try{let r=await mm();if(!r)return;Bg(r);let t=Wn(r);if(!t)throw new Error("Failed to format color");if(e.launchContext?.callbackLaunchOptions){e.launchContext?.copyToClipboard&&await a1.Clipboard.copy(t);try{await(0,Pg.callbackLaunchCommand)(e.launchContext.callbackLaunchOptions,{hex:t})}catch(n){await(0,$i.showFailureToast)(n)}}else if(await a1.Clipboard.copy(t),a){let n=(0,Ng.default)(t),p=Eg(n)[0]?.name;await(0,a1.showHUD)(`Copied color ${t} (${p}) to clipboard`)}else await(0,a1.showHUD)(`Copied color ${t} to clipboard`);try{await(0,a1.launchCommand)({name:"menu-bar",type:a1.LaunchType.Background})}catch(n){n instanceof Error&&n.message.includes("must be activated")||await(0,$i.showFailureToast)(n)}if(e.launchContext?.source==="organize-colors")try{await(0,a1.launchCommand)({name:"organize-colors",type:a1.LaunchType.UserInitiated})}catch(n){await(0,$i.showFailureToast)(n)}}catch(r){console.error(r),await(0,a1.showHUD)("\u274C Failed picking color")}} +/*! Bundled license information: + +chroma-js/chroma.js: + (** + * @license + * + * chroma.js - JavaScript library for color conversions + * + * Copyright (c) 2011-2017, Gregor Aisch + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name Gregor Aisch may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + *) + (** + ColorBrewer colors for chroma.js + + Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The + Pennsylvania State University. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software distributed + under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + CONDITIONS OF ANY KIND, either express or implied. See the License for the + specific language governing permissions and limitations under the License. + + @preserve + *) +*/ diff --git a/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/pick-color.js.map b/.config/raycast/extensions/40ebc708-964f-473b-8d19-d4e9cbd27ae9/pick-color.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/dequal/lite/index.js", "../node_modules/@raycast/utils/dist/useDeepMemo.js", "../node_modules/@raycast/utils/dist/useLatest.js", "../node_modules/@raycast/utils/dist/showFailureToast.js", "../node_modules/@raycast/utils/dist/usePromise.js", "../node_modules/object-hash/index.js", "../node_modules/@raycast/utils/dist/helpers.js", "../node_modules/@raycast/utils/dist/useCachedState.js", "../node_modules/@raycast/utils/dist/useCachedPromise.js", "../node_modules/webidl-conversions/lib/index.js", "../node_modules/whatwg-url/lib/utils.js", "../node_modules/tr46/lib/mappingTable.json", "../node_modules/tr46/index.js", "../node_modules/whatwg-url/lib/url-state-machine.js", "../node_modules/whatwg-url/lib/URL-impl.js", "../node_modules/whatwg-url/lib/URL.js", "../node_modules/whatwg-url/lib/public-api.js", "../node_modules/node-fetch/lib/index.js", "../node_modules/cross-fetch/dist/node-ponyfill.js", "../node_modules/@raycast/utils/dist/fetch-utils.js", "../node_modules/@raycast/utils/dist/useFetch.js", "../node_modules/signal-exit/src/signals.ts", "../node_modules/signal-exit/src/index.ts", "../node_modules/@raycast/utils/dist/exec-utils.js", "../node_modules/@raycast/utils/dist/useExec.js", "../node_modules/stream-chain/index.js", "../node_modules/stream-json/utils/Utf8Stream.js", "../node_modules/stream-json/Parser.js", "../node_modules/stream-json/utils/emit.js", "../node_modules/stream-json/index.js", "../node_modules/stream-json/filters/FilterBase.js", "../node_modules/stream-json/utils/withParser.js", "../node_modules/stream-json/filters/Pick.js", "../node_modules/stream-json/Assembler.js", "../node_modules/stream-json/streamers/StreamBase.js", "../node_modules/stream-json/streamers/StreamArray.js", "../node_modules/@raycast/utils/dist/useStreamJSON.js", "../node_modules/@raycast/utils/dist/useSQL.js", "../node_modules/@raycast/utils/dist/useForm.js", "../node_modules/@raycast/utils/dist/useAI.js", "../node_modules/@raycast/utils/dist/useFrecencySorting.js", "../node_modules/@raycast/utils/dist/useLocalStorage.js", "../node_modules/@raycast/utils/dist/icon/color.js", "../node_modules/@raycast/utils/dist/icon/avatar.js", "../node_modules/@raycast/utils/dist/icon/favicon.js", "../node_modules/@raycast/utils/dist/icon/progress.js", "../node_modules/@raycast/utils/dist/icon/index.js", "../node_modules/@raycast/utils/dist/oauth/providers.js", "../node_modules/@raycast/utils/dist/oauth/OAuthService.js", "../node_modules/@raycast/utils/dist/oauth/withAccessToken.js", "../node_modules/@raycast/utils/dist/oauth/index.js", "../node_modules/@raycast/utils/dist/run-applescript.js", "../node_modules/@raycast/utils/dist/createDeeplink.js", "../node_modules/@raycast/utils/dist/index.js", "../node_modules/p-try/index.js", "../node_modules/read-pkg-up/node_modules/p-limit/index.js", "../node_modules/read-pkg-up/node_modules/p-locate/index.js", "../node_modules/read-pkg-up/node_modules/locate-path/index.js", "../node_modules/path-exists/index.js", "../node_modules/read-pkg-up/node_modules/find-up/index.js", "../node_modules/is-arrayish/index.js", "../node_modules/error-ex/index.js", "../node_modules/json-parse-even-better-errors/index.js", "../node_modules/lines-and-columns/build/index.js", "../node_modules/js-tokens/index.js", "../node_modules/@babel/helper-validator-identifier/src/identifier.ts", "../node_modules/@babel/helper-validator-identifier/src/keyword.ts", "../node_modules/@babel/helper-validator-identifier/src/index.ts", "../node_modules/picocolors/picocolors.js", "../node_modules/@babel/highlight/node_modules/escape-string-regexp/index.js", "../node_modules/@babel/highlight/node_modules/color-name/index.js", "../node_modules/@babel/highlight/node_modules/color-convert/conversions.js", "../node_modules/@babel/highlight/node_modules/color-convert/route.js", "../node_modules/@babel/highlight/node_modules/color-convert/index.js", "../node_modules/@babel/highlight/node_modules/ansi-styles/index.js", "../node_modules/@babel/highlight/node_modules/has-flag/index.js", "../node_modules/@babel/highlight/node_modules/supports-color/index.js", "../node_modules/@babel/highlight/node_modules/chalk/templates.js", "../node_modules/@babel/highlight/node_modules/chalk/index.js", "../node_modules/@babel/highlight/src/index.ts", "../node_modules/@babel/code-frame/src/index.ts", "../node_modules/parse-json/index.js", "../node_modules/normalize-package-data/node_modules/semver/semver.js", "../node_modules/spdx-license-ids/index.json", "../node_modules/spdx-license-ids/deprecated.json", "../node_modules/spdx-exceptions/index.json", "../node_modules/spdx-expression-parse/scan.js", "../node_modules/spdx-expression-parse/parse.js", "../node_modules/spdx-expression-parse/index.js", "../node_modules/spdx-correct/index.js", "../node_modules/validate-npm-package-license/index.js", "../node_modules/hosted-git-info/git-host-info.js", "../node_modules/hosted-git-info/git-host.js", "../node_modules/hosted-git-info/index.js", "../node_modules/resolve/lib/homedir.js", "../node_modules/resolve/lib/caller.js", "../node_modules/path-parse/index.js", "../node_modules/resolve/lib/node-modules-paths.js", "../node_modules/resolve/lib/normalize-options.js", "../node_modules/function-bind/implementation.js", "../node_modules/function-bind/index.js", "../node_modules/hasown/index.js", "../node_modules/is-core-module/core.json", "../node_modules/is-core-module/index.js", "../node_modules/resolve/lib/async.js", "../node_modules/resolve/lib/core.json", "../node_modules/resolve/lib/core.js", "../node_modules/resolve/lib/is-core.js", "../node_modules/resolve/lib/sync.js", "../node_modules/resolve/index.js", "../node_modules/normalize-package-data/lib/extract_description.js", "../node_modules/normalize-package-data/lib/typos.json", "../node_modules/normalize-package-data/lib/fixer.js", "../node_modules/normalize-package-data/lib/warning_messages.json", "../node_modules/normalize-package-data/lib/make_warning.js", "../node_modules/normalize-package-data/lib/normalize.js", "../node_modules/read-pkg/index.js", "../node_modules/read-pkg-up/index.js", "../node_modules/raycast-cross-extension/distribution/index.js", "../node_modules/chroma-js/chroma.js", "../node_modules/es6-weak-map/is-implemented.js", "../node_modules/es5-ext/function/noop.js", "../node_modules/es5-ext/object/is-value.js", "../node_modules/es5-ext/object/set-prototype-of/is-implemented.js", "../node_modules/es5-ext/object/is-object.js", "../node_modules/es5-ext/object/valid-value.js", "../node_modules/es5-ext/object/create.js", "../node_modules/es5-ext/object/set-prototype-of/shim.js", "../node_modules/es5-ext/object/set-prototype-of/index.js", "../node_modules/es5-ext/object/valid-object.js", "../node_modules/es5-ext/string/random-uniq.js", "../node_modules/type/value/is.js", "../node_modules/type/object/is.js", "../node_modules/type/prototype/is.js", "../node_modules/type/function/is.js", "../node_modules/type/plain-function/is.js", "../node_modules/es5-ext/object/assign/is-implemented.js", "../node_modules/es5-ext/object/keys/is-implemented.js", "../node_modules/es5-ext/object/keys/shim.js", "../node_modules/es5-ext/object/keys/index.js", "../node_modules/es5-ext/object/assign/shim.js", "../node_modules/es5-ext/object/assign/index.js", "../node_modules/es5-ext/object/normalize-options.js", "../node_modules/es5-ext/string/%23/contains/is-implemented.js", "../node_modules/es5-ext/string/%23/contains/shim.js", "../node_modules/es5-ext/string/%23/contains/index.js", "../node_modules/d/index.js", "../node_modules/es5-ext/function/is-arguments.js", "../node_modules/es5-ext/string/is-string.js", "../node_modules/ext/global-this/is-implemented.js", "../node_modules/ext/global-this/implementation.js", "../node_modules/ext/global-this/index.js", "../node_modules/es6-symbol/is-implemented.js", "../node_modules/es6-symbol/is-symbol.js", "../node_modules/es6-symbol/validate-symbol.js", "../node_modules/es6-symbol/lib/private/generate-name.js", "../node_modules/es6-symbol/lib/private/setup/standard-symbols.js", "../node_modules/es6-symbol/lib/private/setup/symbol-registry.js", "../node_modules/es6-symbol/polyfill.js", "../node_modules/es6-symbol/index.js", "../node_modules/es5-ext/array/%23/clear.js", "../node_modules/es5-ext/object/valid-callable.js", "../node_modules/type/string/coerce.js", "../node_modules/type/lib/safe-to-string.js", "../node_modules/type/lib/to-short-string.js", "../node_modules/type/lib/resolve-error-message.js", "../node_modules/type/lib/resolve-exception.js", "../node_modules/type/value/ensure.js", "../node_modules/type/plain-function/ensure.js", "../node_modules/es5-ext/array/from/is-implemented.js", "../node_modules/es5-ext/function/is-function.js", "../node_modules/es5-ext/math/sign/is-implemented.js", "../node_modules/es5-ext/math/sign/shim.js", "../node_modules/es5-ext/math/sign/index.js", "../node_modules/es5-ext/number/to-integer.js", "../node_modules/es5-ext/number/to-pos-integer.js", "../node_modules/es5-ext/array/from/shim.js", "../node_modules/es5-ext/array/from/index.js", "../node_modules/es5-ext/object/copy.js", "../node_modules/es5-ext/object/_iterate.js", "../node_modules/es5-ext/object/for-each.js", "../node_modules/es5-ext/object/map.js", "../node_modules/d/auto-bind.js", "../node_modules/es6-iterator/index.js", "../node_modules/es6-iterator/array.js", "../node_modules/es6-iterator/string.js", "../node_modules/es6-iterator/is-iterable.js", "../node_modules/es6-iterator/valid-iterable.js", "../node_modules/es6-iterator/get.js", "../node_modules/es6-iterator/for-of.js", "../node_modules/es6-weak-map/is-native-implemented.js", "../node_modules/es6-weak-map/polyfill.js", "../node_modules/es6-weak-map/index.js", "../node_modules/color-namer/lib/colors/basic.js", "../node_modules/color-namer/lib/colors/html.js", "../node_modules/color-namer/lib/colors/ntc.js", "../node_modules/color-namer/lib/colors/pantone.js", "../node_modules/color-namer/lib/colors/roygbiv.js", "../node_modules/color-namer/lib/colors/x11.js", "../node_modules/color-namer/index.js", "../node_modules/lodash/_listCacheClear.js", "../node_modules/lodash/eq.js", "../node_modules/lodash/_assocIndexOf.js", "../node_modules/lodash/_listCacheDelete.js", "../node_modules/lodash/_listCacheGet.js", "../node_modules/lodash/_listCacheHas.js", "../node_modules/lodash/_listCacheSet.js", "../node_modules/lodash/_ListCache.js", "../node_modules/lodash/_stackClear.js", "../node_modules/lodash/_stackDelete.js", "../node_modules/lodash/_stackGet.js", "../node_modules/lodash/_stackHas.js", "../node_modules/lodash/_freeGlobal.js", "../node_modules/lodash/_root.js", "../node_modules/lodash/_Symbol.js", "../node_modules/lodash/_getRawTag.js", "../node_modules/lodash/_objectToString.js", "../node_modules/lodash/_baseGetTag.js", "../node_modules/lodash/isObject.js", "../node_modules/lodash/isFunction.js", "../node_modules/lodash/_coreJsData.js", "../node_modules/lodash/_isMasked.js", "../node_modules/lodash/_toSource.js", "../node_modules/lodash/_baseIsNative.js", "../node_modules/lodash/_getValue.js", "../node_modules/lodash/_getNative.js", "../node_modules/lodash/_Map.js", "../node_modules/lodash/_nativeCreate.js", "../node_modules/lodash/_hashClear.js", "../node_modules/lodash/_hashDelete.js", "../node_modules/lodash/_hashGet.js", "../node_modules/lodash/_hashHas.js", "../node_modules/lodash/_hashSet.js", "../node_modules/lodash/_Hash.js", "../node_modules/lodash/_mapCacheClear.js", "../node_modules/lodash/_isKeyable.js", "../node_modules/lodash/_getMapData.js", "../node_modules/lodash/_mapCacheDelete.js", "../node_modules/lodash/_mapCacheGet.js", "../node_modules/lodash/_mapCacheHas.js", "../node_modules/lodash/_mapCacheSet.js", "../node_modules/lodash/_MapCache.js", "../node_modules/lodash/_stackSet.js", "../node_modules/lodash/_Stack.js", "../node_modules/lodash/_setCacheAdd.js", "../node_modules/lodash/_setCacheHas.js", "../node_modules/lodash/_SetCache.js", "../node_modules/lodash/_arraySome.js", "../node_modules/lodash/_cacheHas.js", "../node_modules/lodash/_equalArrays.js", "../node_modules/lodash/_Uint8Array.js", "../node_modules/lodash/_mapToArray.js", "../node_modules/lodash/_setToArray.js", "../node_modules/lodash/_equalByTag.js", "../node_modules/lodash/_arrayPush.js", "../node_modules/lodash/isArray.js", "../node_modules/lodash/_baseGetAllKeys.js", "../node_modules/lodash/_arrayFilter.js", "../node_modules/lodash/stubArray.js", "../node_modules/lodash/_getSymbols.js", "../node_modules/lodash/_baseTimes.js", "../node_modules/lodash/isObjectLike.js", "../node_modules/lodash/_baseIsArguments.js", "../node_modules/lodash/isArguments.js", "../node_modules/lodash/stubFalse.js", "../node_modules/lodash/isBuffer.js", "../node_modules/lodash/_isIndex.js", "../node_modules/lodash/isLength.js", "../node_modules/lodash/_baseIsTypedArray.js", "../node_modules/lodash/_baseUnary.js", "../node_modules/lodash/_nodeUtil.js", "../node_modules/lodash/isTypedArray.js", "../node_modules/lodash/_arrayLikeKeys.js", "../node_modules/lodash/_isPrototype.js", "../node_modules/lodash/_overArg.js", "../node_modules/lodash/_nativeKeys.js", "../node_modules/lodash/_baseKeys.js", "../node_modules/lodash/isArrayLike.js", "../node_modules/lodash/keys.js", "../node_modules/lodash/_getAllKeys.js", "../node_modules/lodash/_equalObjects.js", "../node_modules/lodash/_DataView.js", "../node_modules/lodash/_Promise.js", "../node_modules/lodash/_Set.js", "../node_modules/lodash/_WeakMap.js", "../node_modules/lodash/_getTag.js", "../node_modules/lodash/_baseIsEqualDeep.js", "../node_modules/lodash/_baseIsEqual.js", "../node_modules/lodash/_baseIsMatch.js", "../node_modules/lodash/_isStrictComparable.js", "../node_modules/lodash/_getMatchData.js", "../node_modules/lodash/_matchesStrictComparable.js", "../node_modules/lodash/_baseMatches.js", "../node_modules/lodash/isSymbol.js", "../node_modules/lodash/_isKey.js", "../node_modules/lodash/memoize.js", "../node_modules/lodash/_memoizeCapped.js", "../node_modules/lodash/_stringToPath.js", "../node_modules/lodash/_arrayMap.js", "../node_modules/lodash/_baseToString.js", "../node_modules/lodash/toString.js", "../node_modules/lodash/_castPath.js", "../node_modules/lodash/_toKey.js", "../node_modules/lodash/_baseGet.js", "../node_modules/lodash/get.js", "../node_modules/lodash/_baseHasIn.js", "../node_modules/lodash/_hasPath.js", "../node_modules/lodash/hasIn.js", "../node_modules/lodash/_baseMatchesProperty.js", "../node_modules/lodash/identity.js", "../node_modules/lodash/_baseProperty.js", "../node_modules/lodash/_basePropertyDeep.js", "../node_modules/lodash/property.js", "../node_modules/lodash/_baseIteratee.js", "../node_modules/lodash/_baseFindIndex.js", "../node_modules/lodash/_baseIsNaN.js", "../node_modules/lodash/_strictIndexOf.js", "../node_modules/lodash/_baseIndexOf.js", "../node_modules/lodash/_arrayIncludes.js", "../node_modules/lodash/_arrayIncludesWith.js", "../node_modules/lodash/noop.js", "../node_modules/lodash/_createSet.js", "../node_modules/lodash/_baseUniq.js", "../node_modules/lodash/uniqBy.js", "../src/pick-color.ts", "swift:/Users/runner/work/extensions/extensions/extensions/color-picker/swift/color-picker", "../src/history.ts", "../src/utils.ts", "../node_modules/colorjs.io/src/multiply-matrices.js", "../node_modules/colorjs.io/src/util.js", "../node_modules/colorjs.io/src/hooks.js", "../node_modules/colorjs.io/src/defaults.js", "../node_modules/colorjs.io/src/adapt.js", "../node_modules/colorjs.io/src/parse.js", "../node_modules/colorjs.io/src/getColor.js", "../node_modules/colorjs.io/src/space.js", "../node_modules/colorjs.io/src/spaces/xyz-d65.js", "../node_modules/colorjs.io/src/rgbspace.js", "../node_modules/colorjs.io/src/getAll.js", "../node_modules/colorjs.io/src/get.js", "../node_modules/colorjs.io/src/setAll.js", "../node_modules/colorjs.io/src/set.js", "../node_modules/colorjs.io/src/spaces/xyz-d50.js", "../node_modules/colorjs.io/src/spaces/lab.js", "../node_modules/colorjs.io/src/angles.js", "../node_modules/colorjs.io/src/spaces/lch.js", "../node_modules/colorjs.io/src/deltaE/deltaE2000.js", "../node_modules/colorjs.io/src/spaces/oklab.js", "../node_modules/colorjs.io/src/deltaE/deltaEOK.js", "../node_modules/colorjs.io/src/inGamut.js", "../node_modules/colorjs.io/src/clone.js", "../node_modules/colorjs.io/src/distance.js", "../node_modules/colorjs.io/src/deltaE/deltaE76.js", "../node_modules/colorjs.io/src/deltaE/deltaECMC.js", "../node_modules/colorjs.io/src/spaces/xyz-abs-d65.js", "../node_modules/colorjs.io/src/spaces/jzazbz.js", "../node_modules/colorjs.io/src/spaces/jzczhz.js", "../node_modules/colorjs.io/src/deltaE/deltaEJz.js", "../node_modules/colorjs.io/src/spaces/ictcp.js", "../node_modules/colorjs.io/src/deltaE/deltaEITP.js", "../node_modules/colorjs.io/src/spaces/cam16.js", "../node_modules/colorjs.io/src/spaces/hct.js", "../node_modules/colorjs.io/src/deltaE/deltaEHCT.js", "../node_modules/colorjs.io/src/deltaE/index.js", "../node_modules/colorjs.io/src/toGamut.js", "../node_modules/colorjs.io/src/to.js", "../node_modules/colorjs.io/src/serialize.js", "../node_modules/colorjs.io/src/spaces/rec2020-linear.js", "../node_modules/colorjs.io/src/spaces/rec2020.js", "../node_modules/colorjs.io/src/spaces/p3-linear.js", "../node_modules/colorjs.io/src/spaces/srgb-linear.js", "../node_modules/colorjs.io/src/keywords.js", "../node_modules/colorjs.io/src/spaces/srgb.js", "../node_modules/colorjs.io/src/spaces/p3.js", "../node_modules/colorjs.io/src/display.js", "../node_modules/colorjs.io/src/equals.js", "../node_modules/colorjs.io/src/luminance.js", "../node_modules/colorjs.io/src/contrast/WCAG21.js", "../node_modules/colorjs.io/src/contrast/APCA.js", "../node_modules/colorjs.io/src/contrast/Michelson.js", "../node_modules/colorjs.io/src/contrast/Weber.js", "../node_modules/colorjs.io/src/contrast/Lstar.js", "../node_modules/colorjs.io/src/spaces/lab-d65.js", "../node_modules/colorjs.io/src/contrast/deltaPhi.js", "../node_modules/colorjs.io/src/contrast.js", "../node_modules/colorjs.io/src/chromaticity.js", "../node_modules/colorjs.io/src/deltaE.js", "../node_modules/colorjs.io/src/variations.js", "../node_modules/colorjs.io/src/interpolation.js", "../node_modules/colorjs.io/src/spaces/hsl.js", "../node_modules/colorjs.io/src/spaces/hsv.js", "../node_modules/colorjs.io/src/spaces/hwb.js", "../node_modules/colorjs.io/src/spaces/a98rgb-linear.js", "../node_modules/colorjs.io/src/spaces/a98rgb.js", "../node_modules/colorjs.io/src/spaces/prophoto-linear.js", "../node_modules/colorjs.io/src/spaces/prophoto.js", "../node_modules/colorjs.io/src/spaces/oklch.js", "../node_modules/colorjs.io/src/spaces/luv.js", "../node_modules/colorjs.io/src/spaces/lchuv.js", "../node_modules/colorjs.io/src/spaces/hsluv.js", "../node_modules/colorjs.io/src/spaces/hpluv.js", "../node_modules/colorjs.io/src/spaces/rec2100-pq.js", "../node_modules/colorjs.io/src/spaces/rec2100-hlg.js", "../node_modules/colorjs.io/src/CATs.js", "../node_modules/colorjs.io/src/spaces/acescg.js", "../node_modules/colorjs.io/src/spaces/acescc.js", "../node_modules/colorjs.io/src/color.js", "../node_modules/colorjs.io/src/spaces/index.js", "../node_modules/colorjs.io/src/space-accessors.js", "../node_modules/colorjs.io/src/index.js"], + "sourcesContent": ["var has = Object.prototype.hasOwnProperty;\n\nfunction dequal(foo, bar) {\n\tvar ctor, len;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n\nexports.dequal = dequal;", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useDeepMemo = void 0;\nconst react_1 = require(\"react\");\nconst lite_1 = require(\"dequal/lite\");\n/**\n * @param value the value to be memoized (usually a dependency list)\n * @returns a memoized version of the value as long as it remains deeply equal\n */\nfunction useDeepMemo(value) {\n const ref = (0, react_1.useRef)(value);\n const signalRef = (0, react_1.useRef)(0);\n if (!(0, lite_1.dequal)(value, ref.current)) {\n ref.current = value;\n signalRef.current += 1;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return (0, react_1.useMemo)(() => ref.current, [signalRef.current]);\n}\nexports.useDeepMemo = useDeepMemo;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLatest = void 0;\nconst react_1 = require(\"react\");\n/**\n * Returns the latest state.\n *\n * This is mostly useful to get access to the latest value of some props or state inside an asynchronous callback, instead of that value at the time the callback was created from.\n */\nfunction useLatest(value) {\n const ref = (0, react_1.useRef)(value);\n ref.current = value;\n return ref;\n}\nexports.useLatest = useLatest;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.showFailureToast = void 0;\nconst fs = __importStar(require(\"fs\"));\nconst path = __importStar(require(\"path\"));\nconst api_1 = require(\"@raycast/api\");\n/**\n * Shows a failure Toast for a given Error.\n *\n * @example\n * ```typescript\n * import { showHUD } from \"@raycast/api\";\n * import { runAppleScript, showFailureToast } from \"@raycast/utils\";\n *\n * export default async function () {\n * try {\n * const res = await runAppleScript(\n * `\n * on run argv\n * return \"hello, \" & item 1 of argv & \".\"\n * end run\n * `,\n * [\"world\"]\n * );\n * await showHUD(res);\n * } catch (error) {\n * showFailureToast(error, { title: \"Could not run AppleScript\" });\n * }\n * }\n * ```\n */\nfunction showFailureToast(error, options) {\n const message = error instanceof Error ? error.message : String(error);\n return (0, api_1.showToast)({\n style: api_1.Toast.Style.Failure,\n title: options?.title ?? \"Something went wrong\",\n message: options?.message ?? message,\n primaryAction: options?.primaryAction ?? handleErrorToastAction(error),\n secondaryAction: options?.primaryAction ? handleErrorToastAction(error) : undefined,\n });\n}\nexports.showFailureToast = showFailureToast;\nconst handleErrorToastAction = (error) => {\n let privateExtension = true;\n let title = \"[Extension Name]...\";\n let extensionURL = \"\";\n try {\n const packageJSON = JSON.parse(fs.readFileSync(path.join(api_1.environment.assetsPath, \"..\", \"package.json\"), \"utf8\"));\n title = `[${packageJSON.title}]...`;\n extensionURL = `https://raycast.com/${packageJSON.owner || packageJSON.author}/${packageJSON.name}`;\n if (!packageJSON.owner || packageJSON.access === \"public\") {\n privateExtension = false;\n }\n }\n catch (err) {\n // no-op\n }\n // if it's a private extension, we can't construct the URL to report the error\n // so we fallback to copying the error to the clipboard\n const fallback = api_1.environment.isDevelopment || privateExtension;\n const stack = error instanceof Error ? error?.stack || error?.message || \"\" : String(error);\n return {\n title: fallback ? \"Copy Logs\" : \"Report Error\",\n onAction(toast) {\n toast.hide();\n if (fallback) {\n api_1.Clipboard.copy(stack);\n }\n else {\n (0, api_1.open)(`https://github.com/raycast/extensions/issues/new?&labels=extension%2Cbug&template=extension_bug_report.yml&title=${encodeURIComponent(title)}&extension-url=${encodeURI(extensionURL)}&description=${encodeURIComponent(`#### Error:\n\\`\\`\\`\n${stack}\n\\`\\`\\`\n`)}`);\n }\n },\n };\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePromise = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst useDeepMemo_1 = require(\"./useDeepMemo\");\nconst useLatest_1 = require(\"./useLatest\");\nconst showFailureToast_1 = require(\"./showFailureToast\");\nfunction usePromise(fn, args, options) {\n const lastCallId = (0, react_1.useRef)(0);\n const [state, set] = (0, react_1.useState)({ isLoading: true });\n const fnRef = (0, useLatest_1.useLatest)(fn);\n const latestAbortable = (0, useLatest_1.useLatest)(options?.abortable);\n const latestArgs = (0, useLatest_1.useLatest)(args || []);\n const latestOnError = (0, useLatest_1.useLatest)(options?.onError);\n const latestOnData = (0, useLatest_1.useLatest)(options?.onData);\n const latestOnWillExecute = (0, useLatest_1.useLatest)(options?.onWillExecute);\n const latestFailureToast = (0, useLatest_1.useLatest)(options?.failureToastOptions);\n const latestValue = (0, useLatest_1.useLatest)(state.data);\n const latestCallback = (0, react_1.useRef)();\n const paginationArgsRef = (0, react_1.useRef)({ page: 0 });\n const usePaginationRef = (0, react_1.useRef)(false);\n const hasMoreRef = (0, react_1.useRef)(true);\n const pageSizeRef = (0, react_1.useRef)(50);\n const callback = (0, react_1.useCallback)((...args) => {\n const callId = ++lastCallId.current;\n if (latestAbortable.current) {\n latestAbortable.current.current?.abort();\n latestAbortable.current.current = new AbortController();\n }\n latestOnWillExecute.current?.(args);\n set((prevState) => ({ ...prevState, isLoading: true }));\n const promiseOrPaginatedPromise = bindPromiseIfNeeded(fnRef.current)(...args);\n function handleError(error) {\n if (error.name == \"AbortError\") {\n return error;\n }\n if (callId === lastCallId.current) {\n // handle errors\n if (latestOnError.current) {\n latestOnError.current(error);\n }\n else {\n if (api_1.environment.launchType !== api_1.LaunchType.Background) {\n (0, showFailureToast_1.showFailureToast)(error, {\n title: \"Failed to fetch latest data\",\n primaryAction: {\n title: \"Retry\",\n onAction(toast) {\n toast.hide();\n latestCallback.current?.(...(latestArgs.current || []));\n },\n },\n ...latestFailureToast.current,\n });\n }\n }\n set({ error, isLoading: false });\n }\n return error;\n }\n if (typeof promiseOrPaginatedPromise === \"function\") {\n usePaginationRef.current = true;\n return promiseOrPaginatedPromise(paginationArgsRef.current).then(\n // @ts-expect-error too complicated for TS\n ({ data, hasMore, cursor }) => {\n if (callId === lastCallId.current) {\n if (paginationArgsRef.current) {\n paginationArgsRef.current.cursor = cursor;\n paginationArgsRef.current.lastItem = data?.[data.length - 1];\n }\n if (latestOnData.current) {\n latestOnData.current(data, paginationArgsRef.current);\n }\n if (hasMore) {\n pageSizeRef.current = data.length;\n }\n hasMoreRef.current = hasMore;\n set((previousData) => {\n if (paginationArgsRef.current.page === 0) {\n return { data, isLoading: false };\n }\n // @ts-expect-error we know it's an array here\n return { data: (previousData.data || [])?.concat(data), isLoading: false };\n });\n }\n return data;\n }, (error) => {\n hasMoreRef.current = false;\n return handleError(error);\n });\n }\n usePaginationRef.current = false;\n return promiseOrPaginatedPromise.then((data) => {\n if (callId === lastCallId.current) {\n if (latestOnData.current) {\n latestOnData.current(data);\n }\n set({ data, isLoading: false });\n }\n return data;\n }, handleError);\n }, [\n latestAbortable,\n latestOnData,\n latestOnError,\n latestArgs,\n fnRef,\n set,\n latestCallback,\n latestOnWillExecute,\n paginationArgsRef,\n latestFailureToast,\n ]);\n latestCallback.current = callback;\n const revalidate = (0, react_1.useCallback)(() => {\n // reset the pagination\n paginationArgsRef.current = { page: 0 };\n const args = (latestArgs.current || []);\n return callback(...args);\n }, [callback, latestArgs]);\n const mutate = (0, react_1.useCallback)(async (asyncUpdate, options) => {\n let dataBeforeOptimisticUpdate;\n try {\n if (options?.optimisticUpdate) {\n if (typeof options?.rollbackOnError !== \"function\" && options?.rollbackOnError !== false) {\n // keep track of the data before the optimistic update,\n // but only if we need it (eg. only when we want to automatically rollback after)\n dataBeforeOptimisticUpdate = structuredClone(latestValue.current?.value);\n }\n const update = options.optimisticUpdate;\n set((prevState) => ({ ...prevState, data: update(prevState.data) }));\n }\n return await asyncUpdate;\n }\n catch (err) {\n if (typeof options?.rollbackOnError === \"function\") {\n const update = options.rollbackOnError;\n set((prevState) => ({ ...prevState, data: update(prevState.data) }));\n }\n else if (options?.optimisticUpdate && options?.rollbackOnError !== false) {\n set((prevState) => ({ ...prevState, data: dataBeforeOptimisticUpdate }));\n }\n throw err;\n }\n finally {\n if (options?.shouldRevalidateAfter !== false) {\n if (api_1.environment.launchType === api_1.LaunchType.Background || api_1.environment.commandMode === \"menu-bar\") {\n // when in the background or in a menu bar, we are going to await the revalidation\n // to make sure we get the right data at the end of the mutation\n await revalidate();\n }\n else {\n revalidate();\n }\n }\n }\n }, [revalidate, latestValue, set]);\n const onLoadMore = (0, react_1.useCallback)(() => {\n paginationArgsRef.current.page += 1;\n const args = (latestArgs.current || []);\n callback(...args);\n }, [paginationArgsRef, latestArgs, callback]);\n // revalidate when the args change\n (0, react_1.useEffect)(() => {\n // reset the pagination\n paginationArgsRef.current = { page: 0 };\n if (options?.execute !== false) {\n callback(...(args || []));\n }\n else {\n // cancel the previous request if we don't want to execute anymore\n if (latestAbortable.current) {\n latestAbortable.current.current?.abort();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [(0, useDeepMemo_1.useDeepMemo)([args, options?.execute, callback]), latestAbortable, paginationArgsRef]);\n // abort request when unmounting\n (0, react_1.useEffect)(() => {\n return () => {\n if (latestAbortable.current) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n latestAbortable.current.current?.abort();\n }\n };\n }, [latestAbortable]);\n // we only want to show the loading indicator if the promise is executing\n const isLoading = options?.execute !== false ? state.isLoading : false;\n // @ts-expect-error loading is has some fixed value in the enum which\n const stateWithLoadingFixed = { ...state, isLoading };\n const pagination = usePaginationRef.current\n ? {\n pageSize: pageSizeRef.current,\n hasMore: hasMoreRef.current,\n onLoadMore,\n }\n : undefined;\n return { ...stateWithLoadingFixed, revalidate, mutate, pagination };\n}\nexports.usePromise = usePromise;\n/** Bind the fn if it's a Promise method */\nfunction bindPromiseIfNeeded(fn) {\n if (fn === Promise.all) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.race) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.resolve) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n if (fn === Promise.reject) {\n // @ts-expect-error this is fine\n return fn.bind(Promise);\n }\n return fn;\n}\n", "'use strict';\n\nvar crypto = require('crypto');\n\n/**\n * Exported function\n *\n * Options:\n *\n * - `algorithm` hash algo to be used by this instance: *'sha1', 'md5'\n * - `excludeValues` {true|*false} hash object keys, values ignored\n * - `encoding` hash encoding, supports 'buffer', '*hex', 'binary', 'base64'\n * - `ignoreUnknown` {true|*false} ignore unknown object types\n * - `replacer` optional function that replaces values before hashing\n * - `respectFunctionProperties` {*true|false} consider function properties when hashing\n * - `respectFunctionNames` {*true|false} consider 'name' property of functions for hashing\n * - `respectType` {*true|false} Respect special properties (prototype, constructor)\n * when hashing to distinguish between types\n * - `unorderedArrays` {true|*false} Sort all arrays before hashing\n * - `unorderedSets` {*true|false} Sort `Set` and `Map` instances before hashing\n * * = default\n *\n * @param {object} object value to hash\n * @param {object} options hashing options\n * @return {string} hash value\n * @api public\n */\nexports = module.exports = objectHash;\n\nfunction objectHash(object, options){\n options = applyDefaults(object, options);\n\n return hash(object, options);\n}\n\n/**\n * Exported sugar methods\n *\n * @param {object} object value to hash\n * @return {string} hash value\n * @api public\n */\nexports.sha1 = function(object){\n return objectHash(object);\n};\nexports.keys = function(object){\n return objectHash(object, {excludeValues: true, algorithm: 'sha1', encoding: 'hex'});\n};\nexports.MD5 = function(object){\n return objectHash(object, {algorithm: 'md5', encoding: 'hex'});\n};\nexports.keysMD5 = function(object){\n return objectHash(object, {algorithm: 'md5', encoding: 'hex', excludeValues: true});\n};\n\n// Internals\nvar hashes = crypto.getHashes ? crypto.getHashes().slice() : ['sha1', 'md5'];\nhashes.push('passthrough');\nvar encodings = ['buffer', 'hex', 'binary', 'base64'];\n\nfunction applyDefaults(object, sourceOptions){\n sourceOptions = sourceOptions || {};\n\n // create a copy rather than mutating\n var options = {};\n options.algorithm = sourceOptions.algorithm || 'sha1';\n options.encoding = sourceOptions.encoding || 'hex';\n options.excludeValues = sourceOptions.excludeValues ? true : false;\n options.algorithm = options.algorithm.toLowerCase();\n options.encoding = options.encoding.toLowerCase();\n options.ignoreUnknown = sourceOptions.ignoreUnknown !== true ? false : true; // default to false\n options.respectType = sourceOptions.respectType === false ? false : true; // default to true\n options.respectFunctionNames = sourceOptions.respectFunctionNames === false ? false : true;\n options.respectFunctionProperties = sourceOptions.respectFunctionProperties === false ? false : true;\n options.unorderedArrays = sourceOptions.unorderedArrays !== true ? false : true; // default to false\n options.unorderedSets = sourceOptions.unorderedSets === false ? false : true; // default to false\n options.unorderedObjects = sourceOptions.unorderedObjects === false ? false : true; // default to true\n options.replacer = sourceOptions.replacer || undefined;\n options.excludeKeys = sourceOptions.excludeKeys || undefined;\n\n if(typeof object === 'undefined') {\n throw new Error('Object argument required.');\n }\n\n // if there is a case-insensitive match in the hashes list, accept it\n // (i.e. SHA256 for sha256)\n for (var i = 0; i < hashes.length; ++i) {\n if (hashes[i].toLowerCase() === options.algorithm.toLowerCase()) {\n options.algorithm = hashes[i];\n }\n }\n\n if(hashes.indexOf(options.algorithm) === -1){\n throw new Error('Algorithm \"' + options.algorithm + '\" not supported. ' +\n 'supported values: ' + hashes.join(', '));\n }\n\n if(encodings.indexOf(options.encoding) === -1 &&\n options.algorithm !== 'passthrough'){\n throw new Error('Encoding \"' + options.encoding + '\" not supported. ' +\n 'supported values: ' + encodings.join(', '));\n }\n\n return options;\n}\n\n/** Check if the given function is a native function */\nfunction isNativeFunction(f) {\n if ((typeof f) !== 'function') {\n return false;\n }\n var exp = /^function\\s+\\w*\\s*\\(\\s*\\)\\s*{\\s+\\[native code\\]\\s+}$/i;\n return exp.exec(Function.prototype.toString.call(f)) != null;\n}\n\nfunction hash(object, options) {\n var hashingStream;\n\n if (options.algorithm !== 'passthrough') {\n hashingStream = crypto.createHash(options.algorithm);\n } else {\n hashingStream = new PassThrough();\n }\n\n if (typeof hashingStream.write === 'undefined') {\n hashingStream.write = hashingStream.update;\n hashingStream.end = hashingStream.update;\n }\n\n var hasher = typeHasher(options, hashingStream);\n hasher.dispatch(object);\n if (!hashingStream.update) {\n hashingStream.end('');\n }\n\n if (hashingStream.digest) {\n return hashingStream.digest(options.encoding === 'buffer' ? undefined : options.encoding);\n }\n\n var buf = hashingStream.read();\n if (options.encoding === 'buffer') {\n return buf;\n }\n\n return buf.toString(options.encoding);\n}\n\n/**\n * Expose streaming API\n *\n * @param {object} object Value to serialize\n * @param {object} options Options, as for hash()\n * @param {object} stream A stream to write the serializiation to\n * @api public\n */\nexports.writeToStream = function(object, options, stream) {\n if (typeof stream === 'undefined') {\n stream = options;\n options = {};\n }\n\n options = applyDefaults(object, options);\n\n return typeHasher(options, stream).dispatch(object);\n};\n\nfunction typeHasher(options, writeTo, context){\n context = context || [];\n var write = function(str) {\n if (writeTo.update) {\n return writeTo.update(str, 'utf8');\n } else {\n return writeTo.write(str, 'utf8');\n }\n };\n\n return {\n dispatch: function(value){\n if (options.replacer) {\n value = options.replacer(value);\n }\n\n var type = typeof value;\n if (value === null) {\n type = 'null';\n }\n\n //console.log(\"[DEBUG] Dispatch: \", value, \"->\", type, \" -> \", \"_\" + type);\n\n return this['_' + type](value);\n },\n _object: function(object) {\n var pattern = (/\\[object (.*)\\]/i);\n var objString = Object.prototype.toString.call(object);\n var objType = pattern.exec(objString);\n if (!objType) { // object type did not match [object ...]\n objType = 'unknown:[' + objString + ']';\n } else {\n objType = objType[1]; // take only the class name\n }\n\n objType = objType.toLowerCase();\n\n var objectNumber = null;\n\n if ((objectNumber = context.indexOf(object)) >= 0) {\n return this.dispatch('[CIRCULAR:' + objectNumber + ']');\n } else {\n context.push(object);\n }\n\n if (typeof Buffer !== 'undefined' && Buffer.isBuffer && Buffer.isBuffer(object)) {\n write('buffer:');\n return write(object);\n }\n\n if(objType !== 'object' && objType !== 'function' && objType !== 'asyncfunction') {\n if(this['_' + objType]) {\n this['_' + objType](object);\n } else if (options.ignoreUnknown) {\n return write('[' + objType + ']');\n } else {\n throw new Error('Unknown object type \"' + objType + '\"');\n }\n }else{\n var keys = Object.keys(object);\n if (options.unorderedObjects) {\n keys = keys.sort();\n }\n // Make sure to incorporate special properties, so\n // Types with different prototypes will produce\n // a different hash and objects derived from\n // different functions (`new Foo`, `new Bar`) will\n // produce different hashes.\n // We never do this for native functions since some\n // seem to break because of that.\n if (options.respectType !== false && !isNativeFunction(object)) {\n keys.splice(0, 0, 'prototype', '__proto__', 'constructor');\n }\n\n if (options.excludeKeys) {\n keys = keys.filter(function(key) { return !options.excludeKeys(key); });\n }\n\n write('object:' + keys.length + ':');\n var self = this;\n return keys.forEach(function(key){\n self.dispatch(key);\n write(':');\n if(!options.excludeValues) {\n self.dispatch(object[key]);\n }\n write(',');\n });\n }\n },\n _array: function(arr, unordered){\n unordered = typeof unordered !== 'undefined' ? unordered :\n options.unorderedArrays !== false; // default to options.unorderedArrays\n\n var self = this;\n write('array:' + arr.length + ':');\n if (!unordered || arr.length <= 1) {\n return arr.forEach(function(entry) {\n return self.dispatch(entry);\n });\n }\n\n // the unordered case is a little more complicated:\n // since there is no canonical ordering on objects,\n // i.e. {a:1} < {a:2} and {a:1} > {a:2} are both false,\n // we first serialize each entry using a PassThrough stream\n // before sorting.\n // also: we can\u2019t use the same context array for all entries\n // since the order of hashing should *not* matter. instead,\n // we keep track of the additions to a copy of the context array\n // and add all of them to the global context array when we\u2019re done\n var contextAdditions = [];\n var entries = arr.map(function(entry) {\n var strm = new PassThrough();\n var localContext = context.slice(); // make copy\n var hasher = typeHasher(options, strm, localContext);\n hasher.dispatch(entry);\n // take only what was added to localContext and append it to contextAdditions\n contextAdditions = contextAdditions.concat(localContext.slice(context.length));\n return strm.read().toString();\n });\n context = context.concat(contextAdditions);\n entries.sort();\n return this._array(entries, false);\n },\n _date: function(date){\n return write('date:' + date.toJSON());\n },\n _symbol: function(sym){\n return write('symbol:' + sym.toString());\n },\n _error: function(err){\n return write('error:' + err.toString());\n },\n _boolean: function(bool){\n return write('bool:' + bool.toString());\n },\n _string: function(string){\n write('string:' + string.length + ':');\n write(string.toString());\n },\n _function: function(fn){\n write('fn:');\n if (isNativeFunction(fn)) {\n this.dispatch('[native]');\n } else {\n this.dispatch(fn.toString());\n }\n\n if (options.respectFunctionNames !== false) {\n // Make sure we can still distinguish native functions\n // by their name, otherwise String and Function will\n // have the same hash\n this.dispatch(\"function-name:\" + String(fn.name));\n }\n\n if (options.respectFunctionProperties) {\n this._object(fn);\n }\n },\n _number: function(number){\n return write('number:' + number.toString());\n },\n _xml: function(xml){\n return write('xml:' + xml.toString());\n },\n _null: function() {\n return write('Null');\n },\n _undefined: function() {\n return write('Undefined');\n },\n _regexp: function(regex){\n return write('regex:' + regex.toString());\n },\n _uint8array: function(arr){\n write('uint8array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint8clampedarray: function(arr){\n write('uint8clampedarray:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int8array: function(arr){\n write('int8array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint16array: function(arr){\n write('uint16array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int16array: function(arr){\n write('int16array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _uint32array: function(arr){\n write('uint32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _int32array: function(arr){\n write('int32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _float32array: function(arr){\n write('float32array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _float64array: function(arr){\n write('float64array:');\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n _arraybuffer: function(arr){\n write('arraybuffer:');\n return this.dispatch(new Uint8Array(arr));\n },\n _url: function(url) {\n return write('url:' + url.toString(), 'utf8');\n },\n _map: function(map) {\n write('map:');\n var arr = Array.from(map);\n return this._array(arr, options.unorderedSets !== false);\n },\n _set: function(set) {\n write('set:');\n var arr = Array.from(set);\n return this._array(arr, options.unorderedSets !== false);\n },\n _file: function(file) {\n write('file:');\n return this.dispatch([file.name, file.size, file.type, file.lastModfied]);\n },\n _blob: function() {\n if (options.ignoreUnknown) {\n return write('[blob]');\n }\n\n throw Error('Hashing Blob objects is currently not supported\\n' +\n '(see https://github.com/puleos/object-hash/issues/26)\\n' +\n 'Use \"options.replacer\" or \"options.ignoreUnknown\"\\n');\n },\n _domwindow: function() { return write('domwindow'); },\n _bigint: function(number){\n return write('bigint:' + number.toString());\n },\n /* Node.js standard native objects */\n _process: function() { return write('process'); },\n _timer: function() { return write('timer'); },\n _pipe: function() { return write('pipe'); },\n _tcp: function() { return write('tcp'); },\n _udp: function() { return write('udp'); },\n _tty: function() { return write('tty'); },\n _statwatcher: function() { return write('statwatcher'); },\n _securecontext: function() { return write('securecontext'); },\n _connection: function() { return write('connection'); },\n _zlib: function() { return write('zlib'); },\n _context: function() { return write('context'); },\n _nodescript: function() { return write('nodescript'); },\n _httpparser: function() { return write('httpparser'); },\n _dataview: function() { return write('dataview'); },\n _signal: function() { return write('signal'); },\n _fsevent: function() { return write('fsevent'); },\n _tlswrap: function() { return write('tlswrap'); },\n };\n}\n\n// Mini-implementation of stream.PassThrough\n// We are far from having need for the full implementation, and we can\n// make assumptions like \"many writes, then only one final read\"\n// and we can ignore encoding specifics\nfunction PassThrough() {\n return {\n buf: '',\n\n write: function(b) {\n this.buf += b;\n },\n\n end: function(b) {\n this.buf += b;\n },\n\n read: function() {\n return this.buf;\n }\n };\n}\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hash = exports.reviver = exports.replacer = void 0;\nconst object_hash_1 = __importDefault(require(\"object-hash\"));\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction replacer(key, _value) {\n const value = this[key];\n if (value instanceof Date) {\n return `__raycast_cached_date__${value.toString()}`;\n }\n if (Buffer.isBuffer(value)) {\n return `__raycast_cached_buffer__${value.toString(\"base64\")}`;\n }\n return _value;\n}\nexports.replacer = replacer;\nfunction reviver(_key, value) {\n if (typeof value === \"string\" && value.startsWith(\"__raycast_cached_date__\")) {\n return new Date(value.replace(\"__raycast_cached_date__\", \"\"));\n }\n if (typeof value === \"string\" && value.startsWith(\"__raycast_cached_buffer__\")) {\n return Buffer.from(value.replace(\"__raycast_cached_buffer__\", \"\"), \"base64\");\n }\n return value;\n}\nexports.reviver = reviver;\nfunction hash(object, options) {\n return (0, object_hash_1.default)(object, {\n replacer: (value) => {\n if (value instanceof URLSearchParams) {\n return value.toString();\n }\n return value;\n },\n ...options,\n });\n}\nexports.hash = hash;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useCachedState = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst useLatest_1 = require(\"./useLatest\");\nconst helpers_1 = require(\"./helpers\");\nconst rootCache = Symbol(\"cache without namespace\");\nconst cacheMap = new Map();\nfunction useCachedState(key, initialState, config) {\n const cacheKey = config?.cacheNamespace || rootCache;\n const cache = cacheMap.get(cacheKey) || cacheMap.set(cacheKey, new api_1.Cache({ namespace: config?.cacheNamespace })).get(cacheKey);\n if (!cache) {\n throw new Error(\"Missing cache\");\n }\n const keyRef = (0, useLatest_1.useLatest)(key);\n const initialValueRef = (0, useLatest_1.useLatest)(initialState);\n const cachedState = (0, react_1.useSyncExternalStore)(cache.subscribe, () => {\n try {\n return cache.get(keyRef.current);\n }\n catch (error) {\n console.error(\"Could not get Cache data:\", error);\n return undefined;\n }\n });\n const state = (0, react_1.useMemo)(() => {\n if (typeof cachedState !== \"undefined\") {\n if (cachedState === \"undefined\") {\n return undefined;\n }\n try {\n return JSON.parse(cachedState, helpers_1.reviver);\n }\n catch (err) {\n // the data got corrupted somehow\n console.warn(\"The cached data is corrupted\", err);\n return initialValueRef.current;\n }\n }\n else {\n return initialValueRef.current;\n }\n }, [cachedState, initialValueRef]);\n const stateRef = (0, useLatest_1.useLatest)(state);\n const setStateAndCache = (0, react_1.useCallback)((updater) => {\n // @ts-expect-error TS struggles to infer the types as T could potentially be a function\n const newValue = typeof updater === \"function\" ? updater(stateRef.current) : updater;\n if (typeof newValue === \"undefined\") {\n cache.set(keyRef.current, \"undefined\");\n }\n else {\n const stringifiedValue = JSON.stringify(newValue, helpers_1.replacer);\n cache.set(keyRef.current, stringifiedValue);\n }\n return newValue;\n }, [cache, keyRef, stateRef]);\n return [state, setStateAndCache];\n}\nexports.useCachedState = useCachedState;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useCachedPromise = void 0;\nconst react_1 = require(\"react\");\nconst useCachedState_1 = require(\"./useCachedState\");\nconst usePromise_1 = require(\"./usePromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst helpers_1 = require(\"./helpers\");\n// Symbol to differentiate an empty cache from `undefined`\nconst emptyCache = Symbol();\nfunction useCachedPromise(fn, args, options) {\n /**\n * The hook generates a cache key from the promise it receives & its arguments.\n * Sometimes that's not enough to guarantee uniqueness, so hooks that build on top of `useCachedPromise` can\n * use an `internal_cacheKeySuffix` to help it.\n *\n * @remark For internal use only.\n */\n const { initialData, keepPreviousData, internal_cacheKeySuffix, ...usePromiseOptions } = options || {};\n const lastUpdateFrom = (0, react_1.useRef)();\n const [cachedData, mutateCache] = (0, useCachedState_1.useCachedState)((0, helpers_1.hash)(args || []) + internal_cacheKeySuffix ?? \"\", emptyCache, {\n cacheNamespace: (0, helpers_1.hash)(fn),\n });\n // Use a ref to store previous returned data. Use the inital data as its inital value from the cache.\n const laggyDataRef = (0, react_1.useRef)(cachedData !== emptyCache ? cachedData : initialData);\n const paginationArgsRef = (0, react_1.useRef)(undefined);\n const { mutate: _mutate, revalidate, ...state\n // @ts-expect-error fn has the same signature in both usePromise and useCachedPromise\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } = (0, usePromise_1.usePromise)(fn, args || [], {\n ...usePromiseOptions,\n onData(data, pagination) {\n paginationArgsRef.current = pagination;\n if (usePromiseOptions.onData) {\n usePromiseOptions.onData(data, pagination);\n }\n if (pagination && pagination.page > 0) {\n // don't cache beyond the first page\n return;\n }\n lastUpdateFrom.current = \"promise\";\n laggyDataRef.current = data;\n mutateCache(data);\n },\n });\n let returnedData;\n const pagination = state.pagination;\n // when paginating, only the first page gets cached, so we return the data we get from `usePromise`, because\n // it will be accumulated.\n if (paginationArgsRef.current && paginationArgsRef.current.page > 0 && state.data) {\n returnedData = state.data;\n // if the latest update if from the Promise, we keep it\n }\n else if (lastUpdateFrom.current === \"promise\") {\n returnedData = laggyDataRef.current;\n }\n else if (keepPreviousData && cachedData !== emptyCache) {\n // if we want to keep the latest data, we pick the cache but only if it's not empty\n returnedData = cachedData;\n if (pagination) {\n pagination.hasMore = true;\n pagination.pageSize = cachedData.length;\n }\n }\n else if (keepPreviousData && cachedData === emptyCache) {\n // if the cache is empty, we will return the previous data\n returnedData = laggyDataRef.current;\n // there are no special cases, so either return the cache or initial data\n }\n else if (cachedData !== emptyCache) {\n returnedData = cachedData;\n if (pagination) {\n pagination.hasMore = true;\n pagination.pageSize = cachedData.length;\n }\n }\n else {\n returnedData = initialData;\n }\n const latestData = (0, useLatest_1.useLatest)(returnedData);\n // we rewrite the mutate function to update the cache instead\n const mutate = (0, react_1.useCallback)(async (asyncUpdate, options) => {\n let dataBeforeOptimisticUpdate;\n try {\n if (options?.optimisticUpdate) {\n if (typeof options?.rollbackOnError !== \"function\" && options?.rollbackOnError !== false) {\n // keep track of the data before the optimistic update,\n // but only if we need it (eg. only when we want to automatically rollback after)\n dataBeforeOptimisticUpdate = structuredClone(latestData.current);\n }\n const data = options.optimisticUpdate(latestData.current);\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = data;\n mutateCache(data);\n }\n return await _mutate(asyncUpdate, { shouldRevalidateAfter: options?.shouldRevalidateAfter });\n }\n catch (err) {\n if (typeof options?.rollbackOnError === \"function\") {\n const data = options.rollbackOnError(latestData.current);\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = data;\n mutateCache(data);\n }\n else if (options?.optimisticUpdate && options?.rollbackOnError !== false) {\n lastUpdateFrom.current = \"cache\";\n // @ts-expect-error when undefined, it's expected\n laggyDataRef.current = dataBeforeOptimisticUpdate;\n // @ts-expect-error when undefined, it's expected\n mutateCache(dataBeforeOptimisticUpdate);\n }\n throw err;\n }\n }, [mutateCache, _mutate, latestData, laggyDataRef, lastUpdateFrom]);\n (0, react_1.useEffect)(() => {\n if (cachedData !== emptyCache) {\n lastUpdateFrom.current = \"cache\";\n laggyDataRef.current = cachedData;\n }\n }, [cachedData]);\n return {\n data: returnedData,\n isLoading: state.isLoading,\n error: state.error,\n mutate: paginationArgsRef.current && paginationArgsRef.current.page > 0 ? _mutate : mutate,\n pagination,\n revalidate,\n };\n}\nexports.useCachedPromise = useCachedPromise;\n", "\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n", "\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n", "[[[0,44],\"disallowed_STD3_valid\"],[[45,46],\"valid\"],[[47,47],\"disallowed_STD3_valid\"],[[48,57],\"valid\"],[[58,64],\"disallowed_STD3_valid\"],[[65,65],\"mapped\",[97]],[[66,66],\"mapped\",[98]],[[67,67],\"mapped\",[99]],[[68,68],\"mapped\",[100]],[[69,69],\"mapped\",[101]],[[70,70],\"mapped\",[102]],[[71,71],\"mapped\",[103]],[[72,72],\"mapped\",[104]],[[73,73],\"mapped\",[105]],[[74,74],\"mapped\",[106]],[[75,75],\"mapped\",[107]],[[76,76],\"mapped\",[108]],[[77,77],\"mapped\",[109]],[[78,78],\"mapped\",[110]],[[79,79],\"mapped\",[111]],[[80,80],\"mapped\",[112]],[[81,81],\"mapped\",[113]],[[82,82],\"mapped\",[114]],[[83,83],\"mapped\",[115]],[[84,84],\"mapped\",[116]],[[85,85],\"mapped\",[117]],[[86,86],\"mapped\",[118]],[[87,87],\"mapped\",[119]],[[88,88],\"mapped\",[120]],[[89,89],\"mapped\",[121]],[[90,90],\"mapped\",[122]],[[91,96],\"disallowed_STD3_valid\"],[[97,122],\"valid\"],[[123,127],\"disallowed_STD3_valid\"],[[128,159],\"disallowed\"],[[160,160],\"disallowed_STD3_mapped\",[32]],[[161,167],\"valid\",[],\"NV8\"],[[168,168],\"disallowed_STD3_mapped\",[32,776]],[[169,169],\"valid\",[],\"NV8\"],[[170,170],\"mapped\",[97]],[[171,172],\"valid\",[],\"NV8\"],[[173,173],\"ignored\"],[[174,174],\"valid\",[],\"NV8\"],[[175,175],\"disallowed_STD3_mapped\",[32,772]],[[176,177],\"valid\",[],\"NV8\"],[[178,178],\"mapped\",[50]],[[179,179],\"mapped\",[51]],[[180,180],\"disallowed_STD3_mapped\",[32,769]],[[181,181],\"mapped\",[956]],[[182,182],\"valid\",[],\"NV8\"],[[183,183],\"valid\"],[[184,184],\"disallowed_STD3_mapped\",[32,807]],[[185,185],\"mapped\",[49]],[[186,186],\"mapped\",[111]],[[187,187],\"valid\",[],\"NV8\"],[[188,188],\"mapped\",[49,8260,52]],[[189,189],\"mapped\",[49,8260,50]],[[190,190],\"mapped\",[51,8260,52]],[[191,191],\"valid\",[],\"NV8\"],[[192,192],\"mapped\",[224]],[[193,193],\"mapped\",[225]],[[194,194],\"mapped\",[226]],[[195,195],\"mapped\",[227]],[[196,196],\"mapped\",[228]],[[197,197],\"mapped\",[229]],[[198,198],\"mapped\",[230]],[[199,199],\"mapped\",[231]],[[200,200],\"mapped\",[232]],[[201,201],\"mapped\",[233]],[[202,202],\"mapped\",[234]],[[203,203],\"mapped\",[235]],[[204,204],\"mapped\",[236]],[[205,205],\"mapped\",[237]],[[206,206],\"mapped\",[238]],[[207,207],\"mapped\",[239]],[[208,208],\"mapped\",[240]],[[209,209],\"mapped\",[241]],[[210,210],\"mapped\",[242]],[[211,211],\"mapped\",[243]],[[212,212],\"mapped\",[244]],[[213,213],\"mapped\",[245]],[[214,214],\"mapped\",[246]],[[215,215],\"valid\",[],\"NV8\"],[[216,216],\"mapped\",[248]],[[217,217],\"mapped\",[249]],[[218,218],\"mapped\",[250]],[[219,219],\"mapped\",[251]],[[220,220],\"mapped\",[252]],[[221,221],\"mapped\",[253]],[[222,222],\"mapped\",[254]],[[223,223],\"deviation\",[115,115]],[[224,246],\"valid\"],[[247,247],\"valid\",[],\"NV8\"],[[248,255],\"valid\"],[[256,256],\"mapped\",[257]],[[257,257],\"valid\"],[[258,258],\"mapped\",[259]],[[259,259],\"valid\"],[[260,260],\"mapped\",[261]],[[261,261],\"valid\"],[[262,262],\"mapped\",[263]],[[263,263],\"valid\"],[[264,264],\"mapped\",[265]],[[265,265],\"valid\"],[[266,266],\"mapped\",[267]],[[267,267],\"valid\"],[[268,268],\"mapped\",[269]],[[269,269],\"valid\"],[[270,270],\"mapped\",[271]],[[271,271],\"valid\"],[[272,272],\"mapped\",[273]],[[273,273],\"valid\"],[[274,274],\"mapped\",[275]],[[275,275],\"valid\"],[[276,276],\"mapped\",[277]],[[277,277],\"valid\"],[[278,278],\"mapped\",[279]],[[279,279],\"valid\"],[[280,280],\"mapped\",[281]],[[281,281],\"valid\"],[[282,282],\"mapped\",[283]],[[283,283],\"valid\"],[[284,284],\"mapped\",[285]],[[285,285],\"valid\"],[[286,286],\"mapped\",[287]],[[287,287],\"valid\"],[[288,288],\"mapped\",[289]],[[289,289],\"valid\"],[[290,290],\"mapped\",[291]],[[291,291],\"valid\"],[[292,292],\"mapped\",[293]],[[293,293],\"valid\"],[[294,294],\"mapped\",[295]],[[295,295],\"valid\"],[[296,296],\"mapped\",[297]],[[297,297],\"valid\"],[[298,298],\"mapped\",[299]],[[299,299],\"valid\"],[[300,300],\"mapped\",[301]],[[301,301],\"valid\"],[[302,302],\"mapped\",[303]],[[303,303],\"valid\"],[[304,304],\"mapped\",[105,775]],[[305,305],\"valid\"],[[306,307],\"mapped\",[105,106]],[[308,308],\"mapped\",[309]],[[309,309],\"valid\"],[[310,310],\"mapped\",[311]],[[311,312],\"valid\"],[[313,313],\"mapped\",[314]],[[314,314],\"valid\"],[[315,315],\"mapped\",[316]],[[316,316],\"valid\"],[[317,317],\"mapped\",[318]],[[318,318],\"valid\"],[[319,320],\"mapped\",[108,183]],[[321,321],\"mapped\",[322]],[[322,322],\"valid\"],[[323,323],\"mapped\",[324]],[[324,324],\"valid\"],[[325,325],\"mapped\",[326]],[[326,326],\"valid\"],[[327,327],\"mapped\",[328]],[[328,328],\"valid\"],[[329,329],\"mapped\",[700,110]],[[330,330],\"mapped\",[331]],[[331,331],\"valid\"],[[332,332],\"mapped\",[333]],[[333,333],\"valid\"],[[334,334],\"mapped\",[335]],[[335,335],\"valid\"],[[336,336],\"mapped\",[337]],[[337,337],\"valid\"],[[338,338],\"mapped\",[339]],[[339,339],\"valid\"],[[340,340],\"mapped\",[341]],[[341,341],\"valid\"],[[342,342],\"mapped\",[343]],[[343,343],\"valid\"],[[344,344],\"mapped\",[345]],[[345,345],\"valid\"],[[346,346],\"mapped\",[347]],[[347,347],\"valid\"],[[348,348],\"mapped\",[349]],[[349,349],\"valid\"],[[350,350],\"mapped\",[351]],[[351,351],\"valid\"],[[352,352],\"mapped\",[353]],[[353,353],\"valid\"],[[354,354],\"mapped\",[355]],[[355,355],\"valid\"],[[356,356],\"mapped\",[357]],[[357,357],\"valid\"],[[358,358],\"mapped\",[359]],[[359,359],\"valid\"],[[360,360],\"mapped\",[361]],[[361,361],\"valid\"],[[362,362],\"mapped\",[363]],[[363,363],\"valid\"],[[364,364],\"mapped\",[365]],[[365,365],\"valid\"],[[366,366],\"mapped\",[367]],[[367,367],\"valid\"],[[368,368],\"mapped\",[369]],[[369,369],\"valid\"],[[370,370],\"mapped\",[371]],[[371,371],\"valid\"],[[372,372],\"mapped\",[373]],[[373,373],\"valid\"],[[374,374],\"mapped\",[375]],[[375,375],\"valid\"],[[376,376],\"mapped\",[255]],[[377,377],\"mapped\",[378]],[[378,378],\"valid\"],[[379,379],\"mapped\",[380]],[[380,380],\"valid\"],[[381,381],\"mapped\",[382]],[[382,382],\"valid\"],[[383,383],\"mapped\",[115]],[[384,384],\"valid\"],[[385,385],\"mapped\",[595]],[[386,386],\"mapped\",[387]],[[387,387],\"valid\"],[[388,388],\"mapped\",[389]],[[389,389],\"valid\"],[[390,390],\"mapped\",[596]],[[391,391],\"mapped\",[392]],[[392,392],\"valid\"],[[393,393],\"mapped\",[598]],[[394,394],\"mapped\",[599]],[[395,395],\"mapped\",[396]],[[396,397],\"valid\"],[[398,398],\"mapped\",[477]],[[399,399],\"mapped\",[601]],[[400,400],\"mapped\",[603]],[[401,401],\"mapped\",[402]],[[402,402],\"valid\"],[[403,403],\"mapped\",[608]],[[404,404],\"mapped\",[611]],[[405,405],\"valid\"],[[406,406],\"mapped\",[617]],[[407,407],\"mapped\",[616]],[[408,408],\"mapped\",[409]],[[409,411],\"valid\"],[[412,412],\"mapped\",[623]],[[413,413],\"mapped\",[626]],[[414,414],\"valid\"],[[415,415],\"mapped\",[629]],[[416,416],\"mapped\",[417]],[[417,417],\"valid\"],[[418,418],\"mapped\",[419]],[[419,419],\"valid\"],[[420,420],\"mapped\",[421]],[[421,421],\"valid\"],[[422,422],\"mapped\",[640]],[[423,423],\"mapped\",[424]],[[424,424],\"valid\"],[[425,425],\"mapped\",[643]],[[426,427],\"valid\"],[[428,428],\"mapped\",[429]],[[429,429],\"valid\"],[[430,430],\"mapped\",[648]],[[431,431],\"mapped\",[432]],[[432,432],\"valid\"],[[433,433],\"mapped\",[650]],[[434,434],\"mapped\",[651]],[[435,435],\"mapped\",[436]],[[436,436],\"valid\"],[[437,437],\"mapped\",[438]],[[438,438],\"valid\"],[[439,439],\"mapped\",[658]],[[440,440],\"mapped\",[441]],[[441,443],\"valid\"],[[444,444],\"mapped\",[445]],[[445,451],\"valid\"],[[452,454],\"mapped\",[100,382]],[[455,457],\"mapped\",[108,106]],[[458,460],\"mapped\",[110,106]],[[461,461],\"mapped\",[462]],[[462,462],\"valid\"],[[463,463],\"mapped\",[464]],[[464,464],\"valid\"],[[465,465],\"mapped\",[466]],[[466,466],\"valid\"],[[467,467],\"mapped\",[468]],[[468,468],\"valid\"],[[469,469],\"mapped\",[470]],[[470,470],\"valid\"],[[471,471],\"mapped\",[472]],[[472,472],\"valid\"],[[473,473],\"mapped\",[474]],[[474,474],\"valid\"],[[475,475],\"mapped\",[476]],[[476,477],\"valid\"],[[478,478],\"mapped\",[479]],[[479,479],\"valid\"],[[480,480],\"mapped\",[481]],[[481,481],\"valid\"],[[482,482],\"mapped\",[483]],[[483,483],\"valid\"],[[484,484],\"mapped\",[485]],[[485,485],\"valid\"],[[486,486],\"mapped\",[487]],[[487,487],\"valid\"],[[488,488],\"mapped\",[489]],[[489,489],\"valid\"],[[490,490],\"mapped\",[491]],[[491,491],\"valid\"],[[492,492],\"mapped\",[493]],[[493,493],\"valid\"],[[494,494],\"mapped\",[495]],[[495,496],\"valid\"],[[497,499],\"mapped\",[100,122]],[[500,500],\"mapped\",[501]],[[501,501],\"valid\"],[[502,502],\"mapped\",[405]],[[503,503],\"mapped\",[447]],[[504,504],\"mapped\",[505]],[[505,505],\"valid\"],[[506,506],\"mapped\",[507]],[[507,507],\"valid\"],[[508,508],\"mapped\",[509]],[[509,509],\"valid\"],[[510,510],\"mapped\",[511]],[[511,511],\"valid\"],[[512,512],\"mapped\",[513]],[[513,513],\"valid\"],[[514,514],\"mapped\",[515]],[[515,515],\"valid\"],[[516,516],\"mapped\",[517]],[[517,517],\"valid\"],[[518,518],\"mapped\",[519]],[[519,519],\"valid\"],[[520,520],\"mapped\",[521]],[[521,521],\"valid\"],[[522,522],\"mapped\",[523]],[[523,523],\"valid\"],[[524,524],\"mapped\",[525]],[[525,525],\"valid\"],[[526,526],\"mapped\",[527]],[[527,527],\"valid\"],[[528,528],\"mapped\",[529]],[[529,529],\"valid\"],[[530,530],\"mapped\",[531]],[[531,531],\"valid\"],[[532,532],\"mapped\",[533]],[[533,533],\"valid\"],[[534,534],\"mapped\",[535]],[[535,535],\"valid\"],[[536,536],\"mapped\",[537]],[[537,537],\"valid\"],[[538,538],\"mapped\",[539]],[[539,539],\"valid\"],[[540,540],\"mapped\",[541]],[[541,541],\"valid\"],[[542,542],\"mapped\",[543]],[[543,543],\"valid\"],[[544,544],\"mapped\",[414]],[[545,545],\"valid\"],[[546,546],\"mapped\",[547]],[[547,547],\"valid\"],[[548,548],\"mapped\",[549]],[[549,549],\"valid\"],[[550,550],\"mapped\",[551]],[[551,551],\"valid\"],[[552,552],\"mapped\",[553]],[[553,553],\"valid\"],[[554,554],\"mapped\",[555]],[[555,555],\"valid\"],[[556,556],\"mapped\",[557]],[[557,557],\"valid\"],[[558,558],\"mapped\",[559]],[[559,559],\"valid\"],[[560,560],\"mapped\",[561]],[[561,561],\"valid\"],[[562,562],\"mapped\",[563]],[[563,563],\"valid\"],[[564,566],\"valid\"],[[567,569],\"valid\"],[[570,570],\"mapped\",[11365]],[[571,571],\"mapped\",[572]],[[572,572],\"valid\"],[[573,573],\"mapped\",[410]],[[574,574],\"mapped\",[11366]],[[575,576],\"valid\"],[[577,577],\"mapped\",[578]],[[578,578],\"valid\"],[[579,579],\"mapped\",[384]],[[580,580],\"mapped\",[649]],[[581,581],\"mapped\",[652]],[[582,582],\"mapped\",[583]],[[583,583],\"valid\"],[[584,584],\"mapped\",[585]],[[585,585],\"valid\"],[[586,586],\"mapped\",[587]],[[587,587],\"valid\"],[[588,588],\"mapped\",[589]],[[589,589],\"valid\"],[[590,590],\"mapped\",[591]],[[591,591],\"valid\"],[[592,680],\"valid\"],[[681,685],\"valid\"],[[686,687],\"valid\"],[[688,688],\"mapped\",[104]],[[689,689],\"mapped\",[614]],[[690,690],\"mapped\",[106]],[[691,691],\"mapped\",[114]],[[692,692],\"mapped\",[633]],[[693,693],\"mapped\",[635]],[[694,694],\"mapped\",[641]],[[695,695],\"mapped\",[119]],[[696,696],\"mapped\",[121]],[[697,705],\"valid\"],[[706,709],\"valid\",[],\"NV8\"],[[710,721],\"valid\"],[[722,727],\"valid\",[],\"NV8\"],[[728,728],\"disallowed_STD3_mapped\",[32,774]],[[729,729],\"disallowed_STD3_mapped\",[32,775]],[[730,730],\"disallowed_STD3_mapped\",[32,778]],[[731,731],\"disallowed_STD3_mapped\",[32,808]],[[732,732],\"disallowed_STD3_mapped\",[32,771]],[[733,733],\"disallowed_STD3_mapped\",[32,779]],[[734,734],\"valid\",[],\"NV8\"],[[735,735],\"valid\",[],\"NV8\"],[[736,736],\"mapped\",[611]],[[737,737],\"mapped\",[108]],[[738,738],\"mapped\",[115]],[[739,739],\"mapped\",[120]],[[740,740],\"mapped\",[661]],[[741,745],\"valid\",[],\"NV8\"],[[746,747],\"valid\",[],\"NV8\"],[[748,748],\"valid\"],[[749,749],\"valid\",[],\"NV8\"],[[750,750],\"valid\"],[[751,767],\"valid\",[],\"NV8\"],[[768,831],\"valid\"],[[832,832],\"mapped\",[768]],[[833,833],\"mapped\",[769]],[[834,834],\"valid\"],[[835,835],\"mapped\",[787]],[[836,836],\"mapped\",[776,769]],[[837,837],\"mapped\",[953]],[[838,846],\"valid\"],[[847,847],\"ignored\"],[[848,855],\"valid\"],[[856,860],\"valid\"],[[861,863],\"valid\"],[[864,865],\"valid\"],[[866,866],\"valid\"],[[867,879],\"valid\"],[[880,880],\"mapped\",[881]],[[881,881],\"valid\"],[[882,882],\"mapped\",[883]],[[883,883],\"valid\"],[[884,884],\"mapped\",[697]],[[885,885],\"valid\"],[[886,886],\"mapped\",[887]],[[887,887],\"valid\"],[[888,889],\"disallowed\"],[[890,890],\"disallowed_STD3_mapped\",[32,953]],[[891,893],\"valid\"],[[894,894],\"disallowed_STD3_mapped\",[59]],[[895,895],\"mapped\",[1011]],[[896,899],\"disallowed\"],[[900,900],\"disallowed_STD3_mapped\",[32,769]],[[901,901],\"disallowed_STD3_mapped\",[32,776,769]],[[902,902],\"mapped\",[940]],[[903,903],\"mapped\",[183]],[[904,904],\"mapped\",[941]],[[905,905],\"mapped\",[942]],[[906,906],\"mapped\",[943]],[[907,907],\"disallowed\"],[[908,908],\"mapped\",[972]],[[909,909],\"disallowed\"],[[910,910],\"mapped\",[973]],[[911,911],\"mapped\",[974]],[[912,912],\"valid\"],[[913,913],\"mapped\",[945]],[[914,914],\"mapped\",[946]],[[915,915],\"mapped\",[947]],[[916,916],\"mapped\",[948]],[[917,917],\"mapped\",[949]],[[918,918],\"mapped\",[950]],[[919,919],\"mapped\",[951]],[[920,920],\"mapped\",[952]],[[921,921],\"mapped\",[953]],[[922,922],\"mapped\",[954]],[[923,923],\"mapped\",[955]],[[924,924],\"mapped\",[956]],[[925,925],\"mapped\",[957]],[[926,926],\"mapped\",[958]],[[927,927],\"mapped\",[959]],[[928,928],\"mapped\",[960]],[[929,929],\"mapped\",[961]],[[930,930],\"disallowed\"],[[931,931],\"mapped\",[963]],[[932,932],\"mapped\",[964]],[[933,933],\"mapped\",[965]],[[934,934],\"mapped\",[966]],[[935,935],\"mapped\",[967]],[[936,936],\"mapped\",[968]],[[937,937],\"mapped\",[969]],[[938,938],\"mapped\",[970]],[[939,939],\"mapped\",[971]],[[940,961],\"valid\"],[[962,962],\"deviation\",[963]],[[963,974],\"valid\"],[[975,975],\"mapped\",[983]],[[976,976],\"mapped\",[946]],[[977,977],\"mapped\",[952]],[[978,978],\"mapped\",[965]],[[979,979],\"mapped\",[973]],[[980,980],\"mapped\",[971]],[[981,981],\"mapped\",[966]],[[982,982],\"mapped\",[960]],[[983,983],\"valid\"],[[984,984],\"mapped\",[985]],[[985,985],\"valid\"],[[986,986],\"mapped\",[987]],[[987,987],\"valid\"],[[988,988],\"mapped\",[989]],[[989,989],\"valid\"],[[990,990],\"mapped\",[991]],[[991,991],\"valid\"],[[992,992],\"mapped\",[993]],[[993,993],\"valid\"],[[994,994],\"mapped\",[995]],[[995,995],\"valid\"],[[996,996],\"mapped\",[997]],[[997,997],\"valid\"],[[998,998],\"mapped\",[999]],[[999,999],\"valid\"],[[1000,1000],\"mapped\",[1001]],[[1001,1001],\"valid\"],[[1002,1002],\"mapped\",[1003]],[[1003,1003],\"valid\"],[[1004,1004],\"mapped\",[1005]],[[1005,1005],\"valid\"],[[1006,1006],\"mapped\",[1007]],[[1007,1007],\"valid\"],[[1008,1008],\"mapped\",[954]],[[1009,1009],\"mapped\",[961]],[[1010,1010],\"mapped\",[963]],[[1011,1011],\"valid\"],[[1012,1012],\"mapped\",[952]],[[1013,1013],\"mapped\",[949]],[[1014,1014],\"valid\",[],\"NV8\"],[[1015,1015],\"mapped\",[1016]],[[1016,1016],\"valid\"],[[1017,1017],\"mapped\",[963]],[[1018,1018],\"mapped\",[1019]],[[1019,1019],\"valid\"],[[1020,1020],\"valid\"],[[1021,1021],\"mapped\",[891]],[[1022,1022],\"mapped\",[892]],[[1023,1023],\"mapped\",[893]],[[1024,1024],\"mapped\",[1104]],[[1025,1025],\"mapped\",[1105]],[[1026,1026],\"mapped\",[1106]],[[1027,1027],\"mapped\",[1107]],[[1028,1028],\"mapped\",[1108]],[[1029,1029],\"mapped\",[1109]],[[1030,1030],\"mapped\",[1110]],[[1031,1031],\"mapped\",[1111]],[[1032,1032],\"mapped\",[1112]],[[1033,1033],\"mapped\",[1113]],[[1034,1034],\"mapped\",[1114]],[[1035,1035],\"mapped\",[1115]],[[1036,1036],\"mapped\",[1116]],[[1037,1037],\"mapped\",[1117]],[[1038,1038],\"mapped\",[1118]],[[1039,1039],\"mapped\",[1119]],[[1040,1040],\"mapped\",[1072]],[[1041,1041],\"mapped\",[1073]],[[1042,1042],\"mapped\",[1074]],[[1043,1043],\"mapped\",[1075]],[[1044,1044],\"mapped\",[1076]],[[1045,1045],\"mapped\",[1077]],[[1046,1046],\"mapped\",[1078]],[[1047,1047],\"mapped\",[1079]],[[1048,1048],\"mapped\",[1080]],[[1049,1049],\"mapped\",[1081]],[[1050,1050],\"mapped\",[1082]],[[1051,1051],\"mapped\",[1083]],[[1052,1052],\"mapped\",[1084]],[[1053,1053],\"mapped\",[1085]],[[1054,1054],\"mapped\",[1086]],[[1055,1055],\"mapped\",[1087]],[[1056,1056],\"mapped\",[1088]],[[1057,1057],\"mapped\",[1089]],[[1058,1058],\"mapped\",[1090]],[[1059,1059],\"mapped\",[1091]],[[1060,1060],\"mapped\",[1092]],[[1061,1061],\"mapped\",[1093]],[[1062,1062],\"mapped\",[1094]],[[1063,1063],\"mapped\",[1095]],[[1064,1064],\"mapped\",[1096]],[[1065,1065],\"mapped\",[1097]],[[1066,1066],\"mapped\",[1098]],[[1067,1067],\"mapped\",[1099]],[[1068,1068],\"mapped\",[1100]],[[1069,1069],\"mapped\",[1101]],[[1070,1070],\"mapped\",[1102]],[[1071,1071],\"mapped\",[1103]],[[1072,1103],\"valid\"],[[1104,1104],\"valid\"],[[1105,1116],\"valid\"],[[1117,1117],\"valid\"],[[1118,1119],\"valid\"],[[1120,1120],\"mapped\",[1121]],[[1121,1121],\"valid\"],[[1122,1122],\"mapped\",[1123]],[[1123,1123],\"valid\"],[[1124,1124],\"mapped\",[1125]],[[1125,1125],\"valid\"],[[1126,1126],\"mapped\",[1127]],[[1127,1127],\"valid\"],[[1128,1128],\"mapped\",[1129]],[[1129,1129],\"valid\"],[[1130,1130],\"mapped\",[1131]],[[1131,1131],\"valid\"],[[1132,1132],\"mapped\",[1133]],[[1133,1133],\"valid\"],[[1134,1134],\"mapped\",[1135]],[[1135,1135],\"valid\"],[[1136,1136],\"mapped\",[1137]],[[1137,1137],\"valid\"],[[1138,1138],\"mapped\",[1139]],[[1139,1139],\"valid\"],[[1140,1140],\"mapped\",[1141]],[[1141,1141],\"valid\"],[[1142,1142],\"mapped\",[1143]],[[1143,1143],\"valid\"],[[1144,1144],\"mapped\",[1145]],[[1145,1145],\"valid\"],[[1146,1146],\"mapped\",[1147]],[[1147,1147],\"valid\"],[[1148,1148],\"mapped\",[1149]],[[1149,1149],\"valid\"],[[1150,1150],\"mapped\",[1151]],[[1151,1151],\"valid\"],[[1152,1152],\"mapped\",[1153]],[[1153,1153],\"valid\"],[[1154,1154],\"valid\",[],\"NV8\"],[[1155,1158],\"valid\"],[[1159,1159],\"valid\"],[[1160,1161],\"valid\",[],\"NV8\"],[[1162,1162],\"mapped\",[1163]],[[1163,1163],\"valid\"],[[1164,1164],\"mapped\",[1165]],[[1165,1165],\"valid\"],[[1166,1166],\"mapped\",[1167]],[[1167,1167],\"valid\"],[[1168,1168],\"mapped\",[1169]],[[1169,1169],\"valid\"],[[1170,1170],\"mapped\",[1171]],[[1171,1171],\"valid\"],[[1172,1172],\"mapped\",[1173]],[[1173,1173],\"valid\"],[[1174,1174],\"mapped\",[1175]],[[1175,1175],\"valid\"],[[1176,1176],\"mapped\",[1177]],[[1177,1177],\"valid\"],[[1178,1178],\"mapped\",[1179]],[[1179,1179],\"valid\"],[[1180,1180],\"mapped\",[1181]],[[1181,1181],\"valid\"],[[1182,1182],\"mapped\",[1183]],[[1183,1183],\"valid\"],[[1184,1184],\"mapped\",[1185]],[[1185,1185],\"valid\"],[[1186,1186],\"mapped\",[1187]],[[1187,1187],\"valid\"],[[1188,1188],\"mapped\",[1189]],[[1189,1189],\"valid\"],[[1190,1190],\"mapped\",[1191]],[[1191,1191],\"valid\"],[[1192,1192],\"mapped\",[1193]],[[1193,1193],\"valid\"],[[1194,1194],\"mapped\",[1195]],[[1195,1195],\"valid\"],[[1196,1196],\"mapped\",[1197]],[[1197,1197],\"valid\"],[[1198,1198],\"mapped\",[1199]],[[1199,1199],\"valid\"],[[1200,1200],\"mapped\",[1201]],[[1201,1201],\"valid\"],[[1202,1202],\"mapped\",[1203]],[[1203,1203],\"valid\"],[[1204,1204],\"mapped\",[1205]],[[1205,1205],\"valid\"],[[1206,1206],\"mapped\",[1207]],[[1207,1207],\"valid\"],[[1208,1208],\"mapped\",[1209]],[[1209,1209],\"valid\"],[[1210,1210],\"mapped\",[1211]],[[1211,1211],\"valid\"],[[1212,1212],\"mapped\",[1213]],[[1213,1213],\"valid\"],[[1214,1214],\"mapped\",[1215]],[[1215,1215],\"valid\"],[[1216,1216],\"disallowed\"],[[1217,1217],\"mapped\",[1218]],[[1218,1218],\"valid\"],[[1219,1219],\"mapped\",[1220]],[[1220,1220],\"valid\"],[[1221,1221],\"mapped\",[1222]],[[1222,1222],\"valid\"],[[1223,1223],\"mapped\",[1224]],[[1224,1224],\"valid\"],[[1225,1225],\"mapped\",[1226]],[[1226,1226],\"valid\"],[[1227,1227],\"mapped\",[1228]],[[1228,1228],\"valid\"],[[1229,1229],\"mapped\",[1230]],[[1230,1230],\"valid\"],[[1231,1231],\"valid\"],[[1232,1232],\"mapped\",[1233]],[[1233,1233],\"valid\"],[[1234,1234],\"mapped\",[1235]],[[1235,1235],\"valid\"],[[1236,1236],\"mapped\",[1237]],[[1237,1237],\"valid\"],[[1238,1238],\"mapped\",[1239]],[[1239,1239],\"valid\"],[[1240,1240],\"mapped\",[1241]],[[1241,1241],\"valid\"],[[1242,1242],\"mapped\",[1243]],[[1243,1243],\"valid\"],[[1244,1244],\"mapped\",[1245]],[[1245,1245],\"valid\"],[[1246,1246],\"mapped\",[1247]],[[1247,1247],\"valid\"],[[1248,1248],\"mapped\",[1249]],[[1249,1249],\"valid\"],[[1250,1250],\"mapped\",[1251]],[[1251,1251],\"valid\"],[[1252,1252],\"mapped\",[1253]],[[1253,1253],\"valid\"],[[1254,1254],\"mapped\",[1255]],[[1255,1255],\"valid\"],[[1256,1256],\"mapped\",[1257]],[[1257,1257],\"valid\"],[[1258,1258],\"mapped\",[1259]],[[1259,1259],\"valid\"],[[1260,1260],\"mapped\",[1261]],[[1261,1261],\"valid\"],[[1262,1262],\"mapped\",[1263]],[[1263,1263],\"valid\"],[[1264,1264],\"mapped\",[1265]],[[1265,1265],\"valid\"],[[1266,1266],\"mapped\",[1267]],[[1267,1267],\"valid\"],[[1268,1268],\"mapped\",[1269]],[[1269,1269],\"valid\"],[[1270,1270],\"mapped\",[1271]],[[1271,1271],\"valid\"],[[1272,1272],\"mapped\",[1273]],[[1273,1273],\"valid\"],[[1274,1274],\"mapped\",[1275]],[[1275,1275],\"valid\"],[[1276,1276],\"mapped\",[1277]],[[1277,1277],\"valid\"],[[1278,1278],\"mapped\",[1279]],[[1279,1279],\"valid\"],[[1280,1280],\"mapped\",[1281]],[[1281,1281],\"valid\"],[[1282,1282],\"mapped\",[1283]],[[1283,1283],\"valid\"],[[1284,1284],\"mapped\",[1285]],[[1285,1285],\"valid\"],[[1286,1286],\"mapped\",[1287]],[[1287,1287],\"valid\"],[[1288,1288],\"mapped\",[1289]],[[1289,1289],\"valid\"],[[1290,1290],\"mapped\",[1291]],[[1291,1291],\"valid\"],[[1292,1292],\"mapped\",[1293]],[[1293,1293],\"valid\"],[[1294,1294],\"mapped\",[1295]],[[1295,1295],\"valid\"],[[1296,1296],\"mapped\",[1297]],[[1297,1297],\"valid\"],[[1298,1298],\"mapped\",[1299]],[[1299,1299],\"valid\"],[[1300,1300],\"mapped\",[1301]],[[1301,1301],\"valid\"],[[1302,1302],\"mapped\",[1303]],[[1303,1303],\"valid\"],[[1304,1304],\"mapped\",[1305]],[[1305,1305],\"valid\"],[[1306,1306],\"mapped\",[1307]],[[1307,1307],\"valid\"],[[1308,1308],\"mapped\",[1309]],[[1309,1309],\"valid\"],[[1310,1310],\"mapped\",[1311]],[[1311,1311],\"valid\"],[[1312,1312],\"mapped\",[1313]],[[1313,1313],\"valid\"],[[1314,1314],\"mapped\",[1315]],[[1315,1315],\"valid\"],[[1316,1316],\"mapped\",[1317]],[[1317,1317],\"valid\"],[[1318,1318],\"mapped\",[1319]],[[1319,1319],\"valid\"],[[1320,1320],\"mapped\",[1321]],[[1321,1321],\"valid\"],[[1322,1322],\"mapped\",[1323]],[[1323,1323],\"valid\"],[[1324,1324],\"mapped\",[1325]],[[1325,1325],\"valid\"],[[1326,1326],\"mapped\",[1327]],[[1327,1327],\"valid\"],[[1328,1328],\"disallowed\"],[[1329,1329],\"mapped\",[1377]],[[1330,1330],\"mapped\",[1378]],[[1331,1331],\"mapped\",[1379]],[[1332,1332],\"mapped\",[1380]],[[1333,1333],\"mapped\",[1381]],[[1334,1334],\"mapped\",[1382]],[[1335,1335],\"mapped\",[1383]],[[1336,1336],\"mapped\",[1384]],[[1337,1337],\"mapped\",[1385]],[[1338,1338],\"mapped\",[1386]],[[1339,1339],\"mapped\",[1387]],[[1340,1340],\"mapped\",[1388]],[[1341,1341],\"mapped\",[1389]],[[1342,1342],\"mapped\",[1390]],[[1343,1343],\"mapped\",[1391]],[[1344,1344],\"mapped\",[1392]],[[1345,1345],\"mapped\",[1393]],[[1346,1346],\"mapped\",[1394]],[[1347,1347],\"mapped\",[1395]],[[1348,1348],\"mapped\",[1396]],[[1349,1349],\"mapped\",[1397]],[[1350,1350],\"mapped\",[1398]],[[1351,1351],\"mapped\",[1399]],[[1352,1352],\"mapped\",[1400]],[[1353,1353],\"mapped\",[1401]],[[1354,1354],\"mapped\",[1402]],[[1355,1355],\"mapped\",[1403]],[[1356,1356],\"mapped\",[1404]],[[1357,1357],\"mapped\",[1405]],[[1358,1358],\"mapped\",[1406]],[[1359,1359],\"mapped\",[1407]],[[1360,1360],\"mapped\",[1408]],[[1361,1361],\"mapped\",[1409]],[[1362,1362],\"mapped\",[1410]],[[1363,1363],\"mapped\",[1411]],[[1364,1364],\"mapped\",[1412]],[[1365,1365],\"mapped\",[1413]],[[1366,1366],\"mapped\",[1414]],[[1367,1368],\"disallowed\"],[[1369,1369],\"valid\"],[[1370,1375],\"valid\",[],\"NV8\"],[[1376,1376],\"disallowed\"],[[1377,1414],\"valid\"],[[1415,1415],\"mapped\",[1381,1410]],[[1416,1416],\"disallowed\"],[[1417,1417],\"valid\",[],\"NV8\"],[[1418,1418],\"valid\",[],\"NV8\"],[[1419,1420],\"disallowed\"],[[1421,1422],\"valid\",[],\"NV8\"],[[1423,1423],\"valid\",[],\"NV8\"],[[1424,1424],\"disallowed\"],[[1425,1441],\"valid\"],[[1442,1442],\"valid\"],[[1443,1455],\"valid\"],[[1456,1465],\"valid\"],[[1466,1466],\"valid\"],[[1467,1469],\"valid\"],[[1470,1470],\"valid\",[],\"NV8\"],[[1471,1471],\"valid\"],[[1472,1472],\"valid\",[],\"NV8\"],[[1473,1474],\"valid\"],[[1475,1475],\"valid\",[],\"NV8\"],[[1476,1476],\"valid\"],[[1477,1477],\"valid\"],[[1478,1478],\"valid\",[],\"NV8\"],[[1479,1479],\"valid\"],[[1480,1487],\"disallowed\"],[[1488,1514],\"valid\"],[[1515,1519],\"disallowed\"],[[1520,1524],\"valid\"],[[1525,1535],\"disallowed\"],[[1536,1539],\"disallowed\"],[[1540,1540],\"disallowed\"],[[1541,1541],\"disallowed\"],[[1542,1546],\"valid\",[],\"NV8\"],[[1547,1547],\"valid\",[],\"NV8\"],[[1548,1548],\"valid\",[],\"NV8\"],[[1549,1551],\"valid\",[],\"NV8\"],[[1552,1557],\"valid\"],[[1558,1562],\"valid\"],[[1563,1563],\"valid\",[],\"NV8\"],[[1564,1564],\"disallowed\"],[[1565,1565],\"disallowed\"],[[1566,1566],\"valid\",[],\"NV8\"],[[1567,1567],\"valid\",[],\"NV8\"],[[1568,1568],\"valid\"],[[1569,1594],\"valid\"],[[1595,1599],\"valid\"],[[1600,1600],\"valid\",[],\"NV8\"],[[1601,1618],\"valid\"],[[1619,1621],\"valid\"],[[1622,1624],\"valid\"],[[1625,1630],\"valid\"],[[1631,1631],\"valid\"],[[1632,1641],\"valid\"],[[1642,1645],\"valid\",[],\"NV8\"],[[1646,1647],\"valid\"],[[1648,1652],\"valid\"],[[1653,1653],\"mapped\",[1575,1652]],[[1654,1654],\"mapped\",[1608,1652]],[[1655,1655],\"mapped\",[1735,1652]],[[1656,1656],\"mapped\",[1610,1652]],[[1657,1719],\"valid\"],[[1720,1721],\"valid\"],[[1722,1726],\"valid\"],[[1727,1727],\"valid\"],[[1728,1742],\"valid\"],[[1743,1743],\"valid\"],[[1744,1747],\"valid\"],[[1748,1748],\"valid\",[],\"NV8\"],[[1749,1756],\"valid\"],[[1757,1757],\"disallowed\"],[[1758,1758],\"valid\",[],\"NV8\"],[[1759,1768],\"valid\"],[[1769,1769],\"valid\",[],\"NV8\"],[[1770,1773],\"valid\"],[[1774,1775],\"valid\"],[[1776,1785],\"valid\"],[[1786,1790],\"valid\"],[[1791,1791],\"valid\"],[[1792,1805],\"valid\",[],\"NV8\"],[[1806,1806],\"disallowed\"],[[1807,1807],\"disallowed\"],[[1808,1836],\"valid\"],[[1837,1839],\"valid\"],[[1840,1866],\"valid\"],[[1867,1868],\"disallowed\"],[[1869,1871],\"valid\"],[[1872,1901],\"valid\"],[[1902,1919],\"valid\"],[[1920,1968],\"valid\"],[[1969,1969],\"valid\"],[[1970,1983],\"disallowed\"],[[1984,2037],\"valid\"],[[2038,2042],\"valid\",[],\"NV8\"],[[2043,2047],\"disallowed\"],[[2048,2093],\"valid\"],[[2094,2095],\"disallowed\"],[[2096,2110],\"valid\",[],\"NV8\"],[[2111,2111],\"disallowed\"],[[2112,2139],\"valid\"],[[2140,2141],\"disallowed\"],[[2142,2142],\"valid\",[],\"NV8\"],[[2143,2207],\"disallowed\"],[[2208,2208],\"valid\"],[[2209,2209],\"valid\"],[[2210,2220],\"valid\"],[[2221,2226],\"valid\"],[[2227,2228],\"valid\"],[[2229,2274],\"disallowed\"],[[2275,2275],\"valid\"],[[2276,2302],\"valid\"],[[2303,2303],\"valid\"],[[2304,2304],\"valid\"],[[2305,2307],\"valid\"],[[2308,2308],\"valid\"],[[2309,2361],\"valid\"],[[2362,2363],\"valid\"],[[2364,2381],\"valid\"],[[2382,2382],\"valid\"],[[2383,2383],\"valid\"],[[2384,2388],\"valid\"],[[2389,2389],\"valid\"],[[2390,2391],\"valid\"],[[2392,2392],\"mapped\",[2325,2364]],[[2393,2393],\"mapped\",[2326,2364]],[[2394,2394],\"mapped\",[2327,2364]],[[2395,2395],\"mapped\",[2332,2364]],[[2396,2396],\"mapped\",[2337,2364]],[[2397,2397],\"mapped\",[2338,2364]],[[2398,2398],\"mapped\",[2347,2364]],[[2399,2399],\"mapped\",[2351,2364]],[[2400,2403],\"valid\"],[[2404,2405],\"valid\",[],\"NV8\"],[[2406,2415],\"valid\"],[[2416,2416],\"valid\",[],\"NV8\"],[[2417,2418],\"valid\"],[[2419,2423],\"valid\"],[[2424,2424],\"valid\"],[[2425,2426],\"valid\"],[[2427,2428],\"valid\"],[[2429,2429],\"valid\"],[[2430,2431],\"valid\"],[[2432,2432],\"valid\"],[[2433,2435],\"valid\"],[[2436,2436],\"disallowed\"],[[2437,2444],\"valid\"],[[2445,2446],\"disallowed\"],[[2447,2448],\"valid\"],[[2449,2450],\"disallowed\"],[[2451,2472],\"valid\"],[[2473,2473],\"disallowed\"],[[2474,2480],\"valid\"],[[2481,2481],\"disallowed\"],[[2482,2482],\"valid\"],[[2483,2485],\"disallowed\"],[[2486,2489],\"valid\"],[[2490,2491],\"disallowed\"],[[2492,2492],\"valid\"],[[2493,2493],\"valid\"],[[2494,2500],\"valid\"],[[2501,2502],\"disallowed\"],[[2503,2504],\"valid\"],[[2505,2506],\"disallowed\"],[[2507,2509],\"valid\"],[[2510,2510],\"valid\"],[[2511,2518],\"disallowed\"],[[2519,2519],\"valid\"],[[2520,2523],\"disallowed\"],[[2524,2524],\"mapped\",[2465,2492]],[[2525,2525],\"mapped\",[2466,2492]],[[2526,2526],\"disallowed\"],[[2527,2527],\"mapped\",[2479,2492]],[[2528,2531],\"valid\"],[[2532,2533],\"disallowed\"],[[2534,2545],\"valid\"],[[2546,2554],\"valid\",[],\"NV8\"],[[2555,2555],\"valid\",[],\"NV8\"],[[2556,2560],\"disallowed\"],[[2561,2561],\"valid\"],[[2562,2562],\"valid\"],[[2563,2563],\"valid\"],[[2564,2564],\"disallowed\"],[[2565,2570],\"valid\"],[[2571,2574],\"disallowed\"],[[2575,2576],\"valid\"],[[2577,2578],\"disallowed\"],[[2579,2600],\"valid\"],[[2601,2601],\"disallowed\"],[[2602,2608],\"valid\"],[[2609,2609],\"disallowed\"],[[2610,2610],\"valid\"],[[2611,2611],\"mapped\",[2610,2620]],[[2612,2612],\"disallowed\"],[[2613,2613],\"valid\"],[[2614,2614],\"mapped\",[2616,2620]],[[2615,2615],\"disallowed\"],[[2616,2617],\"valid\"],[[2618,2619],\"disallowed\"],[[2620,2620],\"valid\"],[[2621,2621],\"disallowed\"],[[2622,2626],\"valid\"],[[2627,2630],\"disallowed\"],[[2631,2632],\"valid\"],[[2633,2634],\"disallowed\"],[[2635,2637],\"valid\"],[[2638,2640],\"disallowed\"],[[2641,2641],\"valid\"],[[2642,2648],\"disallowed\"],[[2649,2649],\"mapped\",[2582,2620]],[[2650,2650],\"mapped\",[2583,2620]],[[2651,2651],\"mapped\",[2588,2620]],[[2652,2652],\"valid\"],[[2653,2653],\"disallowed\"],[[2654,2654],\"mapped\",[2603,2620]],[[2655,2661],\"disallowed\"],[[2662,2676],\"valid\"],[[2677,2677],\"valid\"],[[2678,2688],\"disallowed\"],[[2689,2691],\"valid\"],[[2692,2692],\"disallowed\"],[[2693,2699],\"valid\"],[[2700,2700],\"valid\"],[[2701,2701],\"valid\"],[[2702,2702],\"disallowed\"],[[2703,2705],\"valid\"],[[2706,2706],\"disallowed\"],[[2707,2728],\"valid\"],[[2729,2729],\"disallowed\"],[[2730,2736],\"valid\"],[[2737,2737],\"disallowed\"],[[2738,2739],\"valid\"],[[2740,2740],\"disallowed\"],[[2741,2745],\"valid\"],[[2746,2747],\"disallowed\"],[[2748,2757],\"valid\"],[[2758,2758],\"disallowed\"],[[2759,2761],\"valid\"],[[2762,2762],\"disallowed\"],[[2763,2765],\"valid\"],[[2766,2767],\"disallowed\"],[[2768,2768],\"valid\"],[[2769,2783],\"disallowed\"],[[2784,2784],\"valid\"],[[2785,2787],\"valid\"],[[2788,2789],\"disallowed\"],[[2790,2799],\"valid\"],[[2800,2800],\"valid\",[],\"NV8\"],[[2801,2801],\"valid\",[],\"NV8\"],[[2802,2808],\"disallowed\"],[[2809,2809],\"valid\"],[[2810,2816],\"disallowed\"],[[2817,2819],\"valid\"],[[2820,2820],\"disallowed\"],[[2821,2828],\"valid\"],[[2829,2830],\"disallowed\"],[[2831,2832],\"valid\"],[[2833,2834],\"disallowed\"],[[2835,2856],\"valid\"],[[2857,2857],\"disallowed\"],[[2858,2864],\"valid\"],[[2865,2865],\"disallowed\"],[[2866,2867],\"valid\"],[[2868,2868],\"disallowed\"],[[2869,2869],\"valid\"],[[2870,2873],\"valid\"],[[2874,2875],\"disallowed\"],[[2876,2883],\"valid\"],[[2884,2884],\"valid\"],[[2885,2886],\"disallowed\"],[[2887,2888],\"valid\"],[[2889,2890],\"disallowed\"],[[2891,2893],\"valid\"],[[2894,2901],\"disallowed\"],[[2902,2903],\"valid\"],[[2904,2907],\"disallowed\"],[[2908,2908],\"mapped\",[2849,2876]],[[2909,2909],\"mapped\",[2850,2876]],[[2910,2910],\"disallowed\"],[[2911,2913],\"valid\"],[[2914,2915],\"valid\"],[[2916,2917],\"disallowed\"],[[2918,2927],\"valid\"],[[2928,2928],\"valid\",[],\"NV8\"],[[2929,2929],\"valid\"],[[2930,2935],\"valid\",[],\"NV8\"],[[2936,2945],\"disallowed\"],[[2946,2947],\"valid\"],[[2948,2948],\"disallowed\"],[[2949,2954],\"valid\"],[[2955,2957],\"disallowed\"],[[2958,2960],\"valid\"],[[2961,2961],\"disallowed\"],[[2962,2965],\"valid\"],[[2966,2968],\"disallowed\"],[[2969,2970],\"valid\"],[[2971,2971],\"disallowed\"],[[2972,2972],\"valid\"],[[2973,2973],\"disallowed\"],[[2974,2975],\"valid\"],[[2976,2978],\"disallowed\"],[[2979,2980],\"valid\"],[[2981,2983],\"disallowed\"],[[2984,2986],\"valid\"],[[2987,2989],\"disallowed\"],[[2990,2997],\"valid\"],[[2998,2998],\"valid\"],[[2999,3001],\"valid\"],[[3002,3005],\"disallowed\"],[[3006,3010],\"valid\"],[[3011,3013],\"disallowed\"],[[3014,3016],\"valid\"],[[3017,3017],\"disallowed\"],[[3018,3021],\"valid\"],[[3022,3023],\"disallowed\"],[[3024,3024],\"valid\"],[[3025,3030],\"disallowed\"],[[3031,3031],\"valid\"],[[3032,3045],\"disallowed\"],[[3046,3046],\"valid\"],[[3047,3055],\"valid\"],[[3056,3058],\"valid\",[],\"NV8\"],[[3059,3066],\"valid\",[],\"NV8\"],[[3067,3071],\"disallowed\"],[[3072,3072],\"valid\"],[[3073,3075],\"valid\"],[[3076,3076],\"disallowed\"],[[3077,3084],\"valid\"],[[3085,3085],\"disallowed\"],[[3086,3088],\"valid\"],[[3089,3089],\"disallowed\"],[[3090,3112],\"valid\"],[[3113,3113],\"disallowed\"],[[3114,3123],\"valid\"],[[3124,3124],\"valid\"],[[3125,3129],\"valid\"],[[3130,3132],\"disallowed\"],[[3133,3133],\"valid\"],[[3134,3140],\"valid\"],[[3141,3141],\"disallowed\"],[[3142,3144],\"valid\"],[[3145,3145],\"disallowed\"],[[3146,3149],\"valid\"],[[3150,3156],\"disallowed\"],[[3157,3158],\"valid\"],[[3159,3159],\"disallowed\"],[[3160,3161],\"valid\"],[[3162,3162],\"valid\"],[[3163,3167],\"disallowed\"],[[3168,3169],\"valid\"],[[3170,3171],\"valid\"],[[3172,3173],\"disallowed\"],[[3174,3183],\"valid\"],[[3184,3191],\"disallowed\"],[[3192,3199],\"valid\",[],\"NV8\"],[[3200,3200],\"disallowed\"],[[3201,3201],\"valid\"],[[3202,3203],\"valid\"],[[3204,3204],\"disallowed\"],[[3205,3212],\"valid\"],[[3213,3213],\"disallowed\"],[[3214,3216],\"valid\"],[[3217,3217],\"disallowed\"],[[3218,3240],\"valid\"],[[3241,3241],\"disallowed\"],[[3242,3251],\"valid\"],[[3252,3252],\"disallowed\"],[[3253,3257],\"valid\"],[[3258,3259],\"disallowed\"],[[3260,3261],\"valid\"],[[3262,3268],\"valid\"],[[3269,3269],\"disallowed\"],[[3270,3272],\"valid\"],[[3273,3273],\"disallowed\"],[[3274,3277],\"valid\"],[[3278,3284],\"disallowed\"],[[3285,3286],\"valid\"],[[3287,3293],\"disallowed\"],[[3294,3294],\"valid\"],[[3295,3295],\"disallowed\"],[[3296,3297],\"valid\"],[[3298,3299],\"valid\"],[[3300,3301],\"disallowed\"],[[3302,3311],\"valid\"],[[3312,3312],\"disallowed\"],[[3313,3314],\"valid\"],[[3315,3328],\"disallowed\"],[[3329,3329],\"valid\"],[[3330,3331],\"valid\"],[[3332,3332],\"disallowed\"],[[3333,3340],\"valid\"],[[3341,3341],\"disallowed\"],[[3342,3344],\"valid\"],[[3345,3345],\"disallowed\"],[[3346,3368],\"valid\"],[[3369,3369],\"valid\"],[[3370,3385],\"valid\"],[[3386,3386],\"valid\"],[[3387,3388],\"disallowed\"],[[3389,3389],\"valid\"],[[3390,3395],\"valid\"],[[3396,3396],\"valid\"],[[3397,3397],\"disallowed\"],[[3398,3400],\"valid\"],[[3401,3401],\"disallowed\"],[[3402,3405],\"valid\"],[[3406,3406],\"valid\"],[[3407,3414],\"disallowed\"],[[3415,3415],\"valid\"],[[3416,3422],\"disallowed\"],[[3423,3423],\"valid\"],[[3424,3425],\"valid\"],[[3426,3427],\"valid\"],[[3428,3429],\"disallowed\"],[[3430,3439],\"valid\"],[[3440,3445],\"valid\",[],\"NV8\"],[[3446,3448],\"disallowed\"],[[3449,3449],\"valid\",[],\"NV8\"],[[3450,3455],\"valid\"],[[3456,3457],\"disallowed\"],[[3458,3459],\"valid\"],[[3460,3460],\"disallowed\"],[[3461,3478],\"valid\"],[[3479,3481],\"disallowed\"],[[3482,3505],\"valid\"],[[3506,3506],\"disallowed\"],[[3507,3515],\"valid\"],[[3516,3516],\"disallowed\"],[[3517,3517],\"valid\"],[[3518,3519],\"disallowed\"],[[3520,3526],\"valid\"],[[3527,3529],\"disallowed\"],[[3530,3530],\"valid\"],[[3531,3534],\"disallowed\"],[[3535,3540],\"valid\"],[[3541,3541],\"disallowed\"],[[3542,3542],\"valid\"],[[3543,3543],\"disallowed\"],[[3544,3551],\"valid\"],[[3552,3557],\"disallowed\"],[[3558,3567],\"valid\"],[[3568,3569],\"disallowed\"],[[3570,3571],\"valid\"],[[3572,3572],\"valid\",[],\"NV8\"],[[3573,3584],\"disallowed\"],[[3585,3634],\"valid\"],[[3635,3635],\"mapped\",[3661,3634]],[[3636,3642],\"valid\"],[[3643,3646],\"disallowed\"],[[3647,3647],\"valid\",[],\"NV8\"],[[3648,3662],\"valid\"],[[3663,3663],\"valid\",[],\"NV8\"],[[3664,3673],\"valid\"],[[3674,3675],\"valid\",[],\"NV8\"],[[3676,3712],\"disallowed\"],[[3713,3714],\"valid\"],[[3715,3715],\"disallowed\"],[[3716,3716],\"valid\"],[[3717,3718],\"disallowed\"],[[3719,3720],\"valid\"],[[3721,3721],\"disallowed\"],[[3722,3722],\"valid\"],[[3723,3724],\"disallowed\"],[[3725,3725],\"valid\"],[[3726,3731],\"disallowed\"],[[3732,3735],\"valid\"],[[3736,3736],\"disallowed\"],[[3737,3743],\"valid\"],[[3744,3744],\"disallowed\"],[[3745,3747],\"valid\"],[[3748,3748],\"disallowed\"],[[3749,3749],\"valid\"],[[3750,3750],\"disallowed\"],[[3751,3751],\"valid\"],[[3752,3753],\"disallowed\"],[[3754,3755],\"valid\"],[[3756,3756],\"disallowed\"],[[3757,3762],\"valid\"],[[3763,3763],\"mapped\",[3789,3762]],[[3764,3769],\"valid\"],[[3770,3770],\"disallowed\"],[[3771,3773],\"valid\"],[[3774,3775],\"disallowed\"],[[3776,3780],\"valid\"],[[3781,3781],\"disallowed\"],[[3782,3782],\"valid\"],[[3783,3783],\"disallowed\"],[[3784,3789],\"valid\"],[[3790,3791],\"disallowed\"],[[3792,3801],\"valid\"],[[3802,3803],\"disallowed\"],[[3804,3804],\"mapped\",[3755,3737]],[[3805,3805],\"mapped\",[3755,3745]],[[3806,3807],\"valid\"],[[3808,3839],\"disallowed\"],[[3840,3840],\"valid\"],[[3841,3850],\"valid\",[],\"NV8\"],[[3851,3851],\"valid\"],[[3852,3852],\"mapped\",[3851]],[[3853,3863],\"valid\",[],\"NV8\"],[[3864,3865],\"valid\"],[[3866,3871],\"valid\",[],\"NV8\"],[[3872,3881],\"valid\"],[[3882,3892],\"valid\",[],\"NV8\"],[[3893,3893],\"valid\"],[[3894,3894],\"valid\",[],\"NV8\"],[[3895,3895],\"valid\"],[[3896,3896],\"valid\",[],\"NV8\"],[[3897,3897],\"valid\"],[[3898,3901],\"valid\",[],\"NV8\"],[[3902,3906],\"valid\"],[[3907,3907],\"mapped\",[3906,4023]],[[3908,3911],\"valid\"],[[3912,3912],\"disallowed\"],[[3913,3916],\"valid\"],[[3917,3917],\"mapped\",[3916,4023]],[[3918,3921],\"valid\"],[[3922,3922],\"mapped\",[3921,4023]],[[3923,3926],\"valid\"],[[3927,3927],\"mapped\",[3926,4023]],[[3928,3931],\"valid\"],[[3932,3932],\"mapped\",[3931,4023]],[[3933,3944],\"valid\"],[[3945,3945],\"mapped\",[3904,4021]],[[3946,3946],\"valid\"],[[3947,3948],\"valid\"],[[3949,3952],\"disallowed\"],[[3953,3954],\"valid\"],[[3955,3955],\"mapped\",[3953,3954]],[[3956,3956],\"valid\"],[[3957,3957],\"mapped\",[3953,3956]],[[3958,3958],\"mapped\",[4018,3968]],[[3959,3959],\"mapped\",[4018,3953,3968]],[[3960,3960],\"mapped\",[4019,3968]],[[3961,3961],\"mapped\",[4019,3953,3968]],[[3962,3968],\"valid\"],[[3969,3969],\"mapped\",[3953,3968]],[[3970,3972],\"valid\"],[[3973,3973],\"valid\",[],\"NV8\"],[[3974,3979],\"valid\"],[[3980,3983],\"valid\"],[[3984,3986],\"valid\"],[[3987,3987],\"mapped\",[3986,4023]],[[3988,3989],\"valid\"],[[3990,3990],\"valid\"],[[3991,3991],\"valid\"],[[3992,3992],\"disallowed\"],[[3993,3996],\"valid\"],[[3997,3997],\"mapped\",[3996,4023]],[[3998,4001],\"valid\"],[[4002,4002],\"mapped\",[4001,4023]],[[4003,4006],\"valid\"],[[4007,4007],\"mapped\",[4006,4023]],[[4008,4011],\"valid\"],[[4012,4012],\"mapped\",[4011,4023]],[[4013,4013],\"valid\"],[[4014,4016],\"valid\"],[[4017,4023],\"valid\"],[[4024,4024],\"valid\"],[[4025,4025],\"mapped\",[3984,4021]],[[4026,4028],\"valid\"],[[4029,4029],\"disallowed\"],[[4030,4037],\"valid\",[],\"NV8\"],[[4038,4038],\"valid\"],[[4039,4044],\"valid\",[],\"NV8\"],[[4045,4045],\"disallowed\"],[[4046,4046],\"valid\",[],\"NV8\"],[[4047,4047],\"valid\",[],\"NV8\"],[[4048,4049],\"valid\",[],\"NV8\"],[[4050,4052],\"valid\",[],\"NV8\"],[[4053,4056],\"valid\",[],\"NV8\"],[[4057,4058],\"valid\",[],\"NV8\"],[[4059,4095],\"disallowed\"],[[4096,4129],\"valid\"],[[4130,4130],\"valid\"],[[4131,4135],\"valid\"],[[4136,4136],\"valid\"],[[4137,4138],\"valid\"],[[4139,4139],\"valid\"],[[4140,4146],\"valid\"],[[4147,4149],\"valid\"],[[4150,4153],\"valid\"],[[4154,4159],\"valid\"],[[4160,4169],\"valid\"],[[4170,4175],\"valid\",[],\"NV8\"],[[4176,4185],\"valid\"],[[4186,4249],\"valid\"],[[4250,4253],\"valid\"],[[4254,4255],\"valid\",[],\"NV8\"],[[4256,4293],\"disallowed\"],[[4294,4294],\"disallowed\"],[[4295,4295],\"mapped\",[11559]],[[4296,4300],\"disallowed\"],[[4301,4301],\"mapped\",[11565]],[[4302,4303],\"disallowed\"],[[4304,4342],\"valid\"],[[4343,4344],\"valid\"],[[4345,4346],\"valid\"],[[4347,4347],\"valid\",[],\"NV8\"],[[4348,4348],\"mapped\",[4316]],[[4349,4351],\"valid\"],[[4352,4441],\"valid\",[],\"NV8\"],[[4442,4446],\"valid\",[],\"NV8\"],[[4447,4448],\"disallowed\"],[[4449,4514],\"valid\",[],\"NV8\"],[[4515,4519],\"valid\",[],\"NV8\"],[[4520,4601],\"valid\",[],\"NV8\"],[[4602,4607],\"valid\",[],\"NV8\"],[[4608,4614],\"valid\"],[[4615,4615],\"valid\"],[[4616,4678],\"valid\"],[[4679,4679],\"valid\"],[[4680,4680],\"valid\"],[[4681,4681],\"disallowed\"],[[4682,4685],\"valid\"],[[4686,4687],\"disallowed\"],[[4688,4694],\"valid\"],[[4695,4695],\"disallowed\"],[[4696,4696],\"valid\"],[[4697,4697],\"disallowed\"],[[4698,4701],\"valid\"],[[4702,4703],\"disallowed\"],[[4704,4742],\"valid\"],[[4743,4743],\"valid\"],[[4744,4744],\"valid\"],[[4745,4745],\"disallowed\"],[[4746,4749],\"valid\"],[[4750,4751],\"disallowed\"],[[4752,4782],\"valid\"],[[4783,4783],\"valid\"],[[4784,4784],\"valid\"],[[4785,4785],\"disallowed\"],[[4786,4789],\"valid\"],[[4790,4791],\"disallowed\"],[[4792,4798],\"valid\"],[[4799,4799],\"disallowed\"],[[4800,4800],\"valid\"],[[4801,4801],\"disallowed\"],[[4802,4805],\"valid\"],[[4806,4807],\"disallowed\"],[[4808,4814],\"valid\"],[[4815,4815],\"valid\"],[[4816,4822],\"valid\"],[[4823,4823],\"disallowed\"],[[4824,4846],\"valid\"],[[4847,4847],\"valid\"],[[4848,4878],\"valid\"],[[4879,4879],\"valid\"],[[4880,4880],\"valid\"],[[4881,4881],\"disallowed\"],[[4882,4885],\"valid\"],[[4886,4887],\"disallowed\"],[[4888,4894],\"valid\"],[[4895,4895],\"valid\"],[[4896,4934],\"valid\"],[[4935,4935],\"valid\"],[[4936,4954],\"valid\"],[[4955,4956],\"disallowed\"],[[4957,4958],\"valid\"],[[4959,4959],\"valid\"],[[4960,4960],\"valid\",[],\"NV8\"],[[4961,4988],\"valid\",[],\"NV8\"],[[4989,4991],\"disallowed\"],[[4992,5007],\"valid\"],[[5008,5017],\"valid\",[],\"NV8\"],[[5018,5023],\"disallowed\"],[[5024,5108],\"valid\"],[[5109,5109],\"valid\"],[[5110,5111],\"disallowed\"],[[5112,5112],\"mapped\",[5104]],[[5113,5113],\"mapped\",[5105]],[[5114,5114],\"mapped\",[5106]],[[5115,5115],\"mapped\",[5107]],[[5116,5116],\"mapped\",[5108]],[[5117,5117],\"mapped\",[5109]],[[5118,5119],\"disallowed\"],[[5120,5120],\"valid\",[],\"NV8\"],[[5121,5740],\"valid\"],[[5741,5742],\"valid\",[],\"NV8\"],[[5743,5750],\"valid\"],[[5751,5759],\"valid\"],[[5760,5760],\"disallowed\"],[[5761,5786],\"valid\"],[[5787,5788],\"valid\",[],\"NV8\"],[[5789,5791],\"disallowed\"],[[5792,5866],\"valid\"],[[5867,5872],\"valid\",[],\"NV8\"],[[5873,5880],\"valid\"],[[5881,5887],\"disallowed\"],[[5888,5900],\"valid\"],[[5901,5901],\"disallowed\"],[[5902,5908],\"valid\"],[[5909,5919],\"disallowed\"],[[5920,5940],\"valid\"],[[5941,5942],\"valid\",[],\"NV8\"],[[5943,5951],\"disallowed\"],[[5952,5971],\"valid\"],[[5972,5983],\"disallowed\"],[[5984,5996],\"valid\"],[[5997,5997],\"disallowed\"],[[5998,6000],\"valid\"],[[6001,6001],\"disallowed\"],[[6002,6003],\"valid\"],[[6004,6015],\"disallowed\"],[[6016,6067],\"valid\"],[[6068,6069],\"disallowed\"],[[6070,6099],\"valid\"],[[6100,6102],\"valid\",[],\"NV8\"],[[6103,6103],\"valid\"],[[6104,6107],\"valid\",[],\"NV8\"],[[6108,6108],\"valid\"],[[6109,6109],\"valid\"],[[6110,6111],\"disallowed\"],[[6112,6121],\"valid\"],[[6122,6127],\"disallowed\"],[[6128,6137],\"valid\",[],\"NV8\"],[[6138,6143],\"disallowed\"],[[6144,6149],\"valid\",[],\"NV8\"],[[6150,6150],\"disallowed\"],[[6151,6154],\"valid\",[],\"NV8\"],[[6155,6157],\"ignored\"],[[6158,6158],\"disallowed\"],[[6159,6159],\"disallowed\"],[[6160,6169],\"valid\"],[[6170,6175],\"disallowed\"],[[6176,6263],\"valid\"],[[6264,6271],\"disallowed\"],[[6272,6313],\"valid\"],[[6314,6314],\"valid\"],[[6315,6319],\"disallowed\"],[[6320,6389],\"valid\"],[[6390,6399],\"disallowed\"],[[6400,6428],\"valid\"],[[6429,6430],\"valid\"],[[6431,6431],\"disallowed\"],[[6432,6443],\"valid\"],[[6444,6447],\"disallowed\"],[[6448,6459],\"valid\"],[[6460,6463],\"disallowed\"],[[6464,6464],\"valid\",[],\"NV8\"],[[6465,6467],\"disallowed\"],[[6468,6469],\"valid\",[],\"NV8\"],[[6470,6509],\"valid\"],[[6510,6511],\"disallowed\"],[[6512,6516],\"valid\"],[[6517,6527],\"disallowed\"],[[6528,6569],\"valid\"],[[6570,6571],\"valid\"],[[6572,6575],\"disallowed\"],[[6576,6601],\"valid\"],[[6602,6607],\"disallowed\"],[[6608,6617],\"valid\"],[[6618,6618],\"valid\",[],\"XV8\"],[[6619,6621],\"disallowed\"],[[6622,6623],\"valid\",[],\"NV8\"],[[6624,6655],\"valid\",[],\"NV8\"],[[6656,6683],\"valid\"],[[6684,6685],\"disallowed\"],[[6686,6687],\"valid\",[],\"NV8\"],[[6688,6750],\"valid\"],[[6751,6751],\"disallowed\"],[[6752,6780],\"valid\"],[[6781,6782],\"disallowed\"],[[6783,6793],\"valid\"],[[6794,6799],\"disallowed\"],[[6800,6809],\"valid\"],[[6810,6815],\"disallowed\"],[[6816,6822],\"valid\",[],\"NV8\"],[[6823,6823],\"valid\"],[[6824,6829],\"valid\",[],\"NV8\"],[[6830,6831],\"disallowed\"],[[6832,6845],\"valid\"],[[6846,6846],\"valid\",[],\"NV8\"],[[6847,6911],\"disallowed\"],[[6912,6987],\"valid\"],[[6988,6991],\"disallowed\"],[[6992,7001],\"valid\"],[[7002,7018],\"valid\",[],\"NV8\"],[[7019,7027],\"valid\"],[[7028,7036],\"valid\",[],\"NV8\"],[[7037,7039],\"disallowed\"],[[7040,7082],\"valid\"],[[7083,7085],\"valid\"],[[7086,7097],\"valid\"],[[7098,7103],\"valid\"],[[7104,7155],\"valid\"],[[7156,7163],\"disallowed\"],[[7164,7167],\"valid\",[],\"NV8\"],[[7168,7223],\"valid\"],[[7224,7226],\"disallowed\"],[[7227,7231],\"valid\",[],\"NV8\"],[[7232,7241],\"valid\"],[[7242,7244],\"disallowed\"],[[7245,7293],\"valid\"],[[7294,7295],\"valid\",[],\"NV8\"],[[7296,7359],\"disallowed\"],[[7360,7367],\"valid\",[],\"NV8\"],[[7368,7375],\"disallowed\"],[[7376,7378],\"valid\"],[[7379,7379],\"valid\",[],\"NV8\"],[[7380,7410],\"valid\"],[[7411,7414],\"valid\"],[[7415,7415],\"disallowed\"],[[7416,7417],\"valid\"],[[7418,7423],\"disallowed\"],[[7424,7467],\"valid\"],[[7468,7468],\"mapped\",[97]],[[7469,7469],\"mapped\",[230]],[[7470,7470],\"mapped\",[98]],[[7471,7471],\"valid\"],[[7472,7472],\"mapped\",[100]],[[7473,7473],\"mapped\",[101]],[[7474,7474],\"mapped\",[477]],[[7475,7475],\"mapped\",[103]],[[7476,7476],\"mapped\",[104]],[[7477,7477],\"mapped\",[105]],[[7478,7478],\"mapped\",[106]],[[7479,7479],\"mapped\",[107]],[[7480,7480],\"mapped\",[108]],[[7481,7481],\"mapped\",[109]],[[7482,7482],\"mapped\",[110]],[[7483,7483],\"valid\"],[[7484,7484],\"mapped\",[111]],[[7485,7485],\"mapped\",[547]],[[7486,7486],\"mapped\",[112]],[[7487,7487],\"mapped\",[114]],[[7488,7488],\"mapped\",[116]],[[7489,7489],\"mapped\",[117]],[[7490,7490],\"mapped\",[119]],[[7491,7491],\"mapped\",[97]],[[7492,7492],\"mapped\",[592]],[[7493,7493],\"mapped\",[593]],[[7494,7494],\"mapped\",[7426]],[[7495,7495],\"mapped\",[98]],[[7496,7496],\"mapped\",[100]],[[7497,7497],\"mapped\",[101]],[[7498,7498],\"mapped\",[601]],[[7499,7499],\"mapped\",[603]],[[7500,7500],\"mapped\",[604]],[[7501,7501],\"mapped\",[103]],[[7502,7502],\"valid\"],[[7503,7503],\"mapped\",[107]],[[7504,7504],\"mapped\",[109]],[[7505,7505],\"mapped\",[331]],[[7506,7506],\"mapped\",[111]],[[7507,7507],\"mapped\",[596]],[[7508,7508],\"mapped\",[7446]],[[7509,7509],\"mapped\",[7447]],[[7510,7510],\"mapped\",[112]],[[7511,7511],\"mapped\",[116]],[[7512,7512],\"mapped\",[117]],[[7513,7513],\"mapped\",[7453]],[[7514,7514],\"mapped\",[623]],[[7515,7515],\"mapped\",[118]],[[7516,7516],\"mapped\",[7461]],[[7517,7517],\"mapped\",[946]],[[7518,7518],\"mapped\",[947]],[[7519,7519],\"mapped\",[948]],[[7520,7520],\"mapped\",[966]],[[7521,7521],\"mapped\",[967]],[[7522,7522],\"mapped\",[105]],[[7523,7523],\"mapped\",[114]],[[7524,7524],\"mapped\",[117]],[[7525,7525],\"mapped\",[118]],[[7526,7526],\"mapped\",[946]],[[7527,7527],\"mapped\",[947]],[[7528,7528],\"mapped\",[961]],[[7529,7529],\"mapped\",[966]],[[7530,7530],\"mapped\",[967]],[[7531,7531],\"valid\"],[[7532,7543],\"valid\"],[[7544,7544],\"mapped\",[1085]],[[7545,7578],\"valid\"],[[7579,7579],\"mapped\",[594]],[[7580,7580],\"mapped\",[99]],[[7581,7581],\"mapped\",[597]],[[7582,7582],\"mapped\",[240]],[[7583,7583],\"mapped\",[604]],[[7584,7584],\"mapped\",[102]],[[7585,7585],\"mapped\",[607]],[[7586,7586],\"mapped\",[609]],[[7587,7587],\"mapped\",[613]],[[7588,7588],\"mapped\",[616]],[[7589,7589],\"mapped\",[617]],[[7590,7590],\"mapped\",[618]],[[7591,7591],\"mapped\",[7547]],[[7592,7592],\"mapped\",[669]],[[7593,7593],\"mapped\",[621]],[[7594,7594],\"mapped\",[7557]],[[7595,7595],\"mapped\",[671]],[[7596,7596],\"mapped\",[625]],[[7597,7597],\"mapped\",[624]],[[7598,7598],\"mapped\",[626]],[[7599,7599],\"mapped\",[627]],[[7600,7600],\"mapped\",[628]],[[7601,7601],\"mapped\",[629]],[[7602,7602],\"mapped\",[632]],[[7603,7603],\"mapped\",[642]],[[7604,7604],\"mapped\",[643]],[[7605,7605],\"mapped\",[427]],[[7606,7606],\"mapped\",[649]],[[7607,7607],\"mapped\",[650]],[[7608,7608],\"mapped\",[7452]],[[7609,7609],\"mapped\",[651]],[[7610,7610],\"mapped\",[652]],[[7611,7611],\"mapped\",[122]],[[7612,7612],\"mapped\",[656]],[[7613,7613],\"mapped\",[657]],[[7614,7614],\"mapped\",[658]],[[7615,7615],\"mapped\",[952]],[[7616,7619],\"valid\"],[[7620,7626],\"valid\"],[[7627,7654],\"valid\"],[[7655,7669],\"valid\"],[[7670,7675],\"disallowed\"],[[7676,7676],\"valid\"],[[7677,7677],\"valid\"],[[7678,7679],\"valid\"],[[7680,7680],\"mapped\",[7681]],[[7681,7681],\"valid\"],[[7682,7682],\"mapped\",[7683]],[[7683,7683],\"valid\"],[[7684,7684],\"mapped\",[7685]],[[7685,7685],\"valid\"],[[7686,7686],\"mapped\",[7687]],[[7687,7687],\"valid\"],[[7688,7688],\"mapped\",[7689]],[[7689,7689],\"valid\"],[[7690,7690],\"mapped\",[7691]],[[7691,7691],\"valid\"],[[7692,7692],\"mapped\",[7693]],[[7693,7693],\"valid\"],[[7694,7694],\"mapped\",[7695]],[[7695,7695],\"valid\"],[[7696,7696],\"mapped\",[7697]],[[7697,7697],\"valid\"],[[7698,7698],\"mapped\",[7699]],[[7699,7699],\"valid\"],[[7700,7700],\"mapped\",[7701]],[[7701,7701],\"valid\"],[[7702,7702],\"mapped\",[7703]],[[7703,7703],\"valid\"],[[7704,7704],\"mapped\",[7705]],[[7705,7705],\"valid\"],[[7706,7706],\"mapped\",[7707]],[[7707,7707],\"valid\"],[[7708,7708],\"mapped\",[7709]],[[7709,7709],\"valid\"],[[7710,7710],\"mapped\",[7711]],[[7711,7711],\"valid\"],[[7712,7712],\"mapped\",[7713]],[[7713,7713],\"valid\"],[[7714,7714],\"mapped\",[7715]],[[7715,7715],\"valid\"],[[7716,7716],\"mapped\",[7717]],[[7717,7717],\"valid\"],[[7718,7718],\"mapped\",[7719]],[[7719,7719],\"valid\"],[[7720,7720],\"mapped\",[7721]],[[7721,7721],\"valid\"],[[7722,7722],\"mapped\",[7723]],[[7723,7723],\"valid\"],[[7724,7724],\"mapped\",[7725]],[[7725,7725],\"valid\"],[[7726,7726],\"mapped\",[7727]],[[7727,7727],\"valid\"],[[7728,7728],\"mapped\",[7729]],[[7729,7729],\"valid\"],[[7730,7730],\"mapped\",[7731]],[[7731,7731],\"valid\"],[[7732,7732],\"mapped\",[7733]],[[7733,7733],\"valid\"],[[7734,7734],\"mapped\",[7735]],[[7735,7735],\"valid\"],[[7736,7736],\"mapped\",[7737]],[[7737,7737],\"valid\"],[[7738,7738],\"mapped\",[7739]],[[7739,7739],\"valid\"],[[7740,7740],\"mapped\",[7741]],[[7741,7741],\"valid\"],[[7742,7742],\"mapped\",[7743]],[[7743,7743],\"valid\"],[[7744,7744],\"mapped\",[7745]],[[7745,7745],\"valid\"],[[7746,7746],\"mapped\",[7747]],[[7747,7747],\"valid\"],[[7748,7748],\"mapped\",[7749]],[[7749,7749],\"valid\"],[[7750,7750],\"mapped\",[7751]],[[7751,7751],\"valid\"],[[7752,7752],\"mapped\",[7753]],[[7753,7753],\"valid\"],[[7754,7754],\"mapped\",[7755]],[[7755,7755],\"valid\"],[[7756,7756],\"mapped\",[7757]],[[7757,7757],\"valid\"],[[7758,7758],\"mapped\",[7759]],[[7759,7759],\"valid\"],[[7760,7760],\"mapped\",[7761]],[[7761,7761],\"valid\"],[[7762,7762],\"mapped\",[7763]],[[7763,7763],\"valid\"],[[7764,7764],\"mapped\",[7765]],[[7765,7765],\"valid\"],[[7766,7766],\"mapped\",[7767]],[[7767,7767],\"valid\"],[[7768,7768],\"mapped\",[7769]],[[7769,7769],\"valid\"],[[7770,7770],\"mapped\",[7771]],[[7771,7771],\"valid\"],[[7772,7772],\"mapped\",[7773]],[[7773,7773],\"valid\"],[[7774,7774],\"mapped\",[7775]],[[7775,7775],\"valid\"],[[7776,7776],\"mapped\",[7777]],[[7777,7777],\"valid\"],[[7778,7778],\"mapped\",[7779]],[[7779,7779],\"valid\"],[[7780,7780],\"mapped\",[7781]],[[7781,7781],\"valid\"],[[7782,7782],\"mapped\",[7783]],[[7783,7783],\"valid\"],[[7784,7784],\"mapped\",[7785]],[[7785,7785],\"valid\"],[[7786,7786],\"mapped\",[7787]],[[7787,7787],\"valid\"],[[7788,7788],\"mapped\",[7789]],[[7789,7789],\"valid\"],[[7790,7790],\"mapped\",[7791]],[[7791,7791],\"valid\"],[[7792,7792],\"mapped\",[7793]],[[7793,7793],\"valid\"],[[7794,7794],\"mapped\",[7795]],[[7795,7795],\"valid\"],[[7796,7796],\"mapped\",[7797]],[[7797,7797],\"valid\"],[[7798,7798],\"mapped\",[7799]],[[7799,7799],\"valid\"],[[7800,7800],\"mapped\",[7801]],[[7801,7801],\"valid\"],[[7802,7802],\"mapped\",[7803]],[[7803,7803],\"valid\"],[[7804,7804],\"mapped\",[7805]],[[7805,7805],\"valid\"],[[7806,7806],\"mapped\",[7807]],[[7807,7807],\"valid\"],[[7808,7808],\"mapped\",[7809]],[[7809,7809],\"valid\"],[[7810,7810],\"mapped\",[7811]],[[7811,7811],\"valid\"],[[7812,7812],\"mapped\",[7813]],[[7813,7813],\"valid\"],[[7814,7814],\"mapped\",[7815]],[[7815,7815],\"valid\"],[[7816,7816],\"mapped\",[7817]],[[7817,7817],\"valid\"],[[7818,7818],\"mapped\",[7819]],[[7819,7819],\"valid\"],[[7820,7820],\"mapped\",[7821]],[[7821,7821],\"valid\"],[[7822,7822],\"mapped\",[7823]],[[7823,7823],\"valid\"],[[7824,7824],\"mapped\",[7825]],[[7825,7825],\"valid\"],[[7826,7826],\"mapped\",[7827]],[[7827,7827],\"valid\"],[[7828,7828],\"mapped\",[7829]],[[7829,7833],\"valid\"],[[7834,7834],\"mapped\",[97,702]],[[7835,7835],\"mapped\",[7777]],[[7836,7837],\"valid\"],[[7838,7838],\"mapped\",[115,115]],[[7839,7839],\"valid\"],[[7840,7840],\"mapped\",[7841]],[[7841,7841],\"valid\"],[[7842,7842],\"mapped\",[7843]],[[7843,7843],\"valid\"],[[7844,7844],\"mapped\",[7845]],[[7845,7845],\"valid\"],[[7846,7846],\"mapped\",[7847]],[[7847,7847],\"valid\"],[[7848,7848],\"mapped\",[7849]],[[7849,7849],\"valid\"],[[7850,7850],\"mapped\",[7851]],[[7851,7851],\"valid\"],[[7852,7852],\"mapped\",[7853]],[[7853,7853],\"valid\"],[[7854,7854],\"mapped\",[7855]],[[7855,7855],\"valid\"],[[7856,7856],\"mapped\",[7857]],[[7857,7857],\"valid\"],[[7858,7858],\"mapped\",[7859]],[[7859,7859],\"valid\"],[[7860,7860],\"mapped\",[7861]],[[7861,7861],\"valid\"],[[7862,7862],\"mapped\",[7863]],[[7863,7863],\"valid\"],[[7864,7864],\"mapped\",[7865]],[[7865,7865],\"valid\"],[[7866,7866],\"mapped\",[7867]],[[7867,7867],\"valid\"],[[7868,7868],\"mapped\",[7869]],[[7869,7869],\"valid\"],[[7870,7870],\"mapped\",[7871]],[[7871,7871],\"valid\"],[[7872,7872],\"mapped\",[7873]],[[7873,7873],\"valid\"],[[7874,7874],\"mapped\",[7875]],[[7875,7875],\"valid\"],[[7876,7876],\"mapped\",[7877]],[[7877,7877],\"valid\"],[[7878,7878],\"mapped\",[7879]],[[7879,7879],\"valid\"],[[7880,7880],\"mapped\",[7881]],[[7881,7881],\"valid\"],[[7882,7882],\"mapped\",[7883]],[[7883,7883],\"valid\"],[[7884,7884],\"mapped\",[7885]],[[7885,7885],\"valid\"],[[7886,7886],\"mapped\",[7887]],[[7887,7887],\"valid\"],[[7888,7888],\"mapped\",[7889]],[[7889,7889],\"valid\"],[[7890,7890],\"mapped\",[7891]],[[7891,7891],\"valid\"],[[7892,7892],\"mapped\",[7893]],[[7893,7893],\"valid\"],[[7894,7894],\"mapped\",[7895]],[[7895,7895],\"valid\"],[[7896,7896],\"mapped\",[7897]],[[7897,7897],\"valid\"],[[7898,7898],\"mapped\",[7899]],[[7899,7899],\"valid\"],[[7900,7900],\"mapped\",[7901]],[[7901,7901],\"valid\"],[[7902,7902],\"mapped\",[7903]],[[7903,7903],\"valid\"],[[7904,7904],\"mapped\",[7905]],[[7905,7905],\"valid\"],[[7906,7906],\"mapped\",[7907]],[[7907,7907],\"valid\"],[[7908,7908],\"mapped\",[7909]],[[7909,7909],\"valid\"],[[7910,7910],\"mapped\",[7911]],[[7911,7911],\"valid\"],[[7912,7912],\"mapped\",[7913]],[[7913,7913],\"valid\"],[[7914,7914],\"mapped\",[7915]],[[7915,7915],\"valid\"],[[7916,7916],\"mapped\",[7917]],[[7917,7917],\"valid\"],[[7918,7918],\"mapped\",[7919]],[[7919,7919],\"valid\"],[[7920,7920],\"mapped\",[7921]],[[7921,7921],\"valid\"],[[7922,7922],\"mapped\",[7923]],[[7923,7923],\"valid\"],[[7924,7924],\"mapped\",[7925]],[[7925,7925],\"valid\"],[[7926,7926],\"mapped\",[7927]],[[7927,7927],\"valid\"],[[7928,7928],\"mapped\",[7929]],[[7929,7929],\"valid\"],[[7930,7930],\"mapped\",[7931]],[[7931,7931],\"valid\"],[[7932,7932],\"mapped\",[7933]],[[7933,7933],\"valid\"],[[7934,7934],\"mapped\",[7935]],[[7935,7935],\"valid\"],[[7936,7943],\"valid\"],[[7944,7944],\"mapped\",[7936]],[[7945,7945],\"mapped\",[7937]],[[7946,7946],\"mapped\",[7938]],[[7947,7947],\"mapped\",[7939]],[[7948,7948],\"mapped\",[7940]],[[7949,7949],\"mapped\",[7941]],[[7950,7950],\"mapped\",[7942]],[[7951,7951],\"mapped\",[7943]],[[7952,7957],\"valid\"],[[7958,7959],\"disallowed\"],[[7960,7960],\"mapped\",[7952]],[[7961,7961],\"mapped\",[7953]],[[7962,7962],\"mapped\",[7954]],[[7963,7963],\"mapped\",[7955]],[[7964,7964],\"mapped\",[7956]],[[7965,7965],\"mapped\",[7957]],[[7966,7967],\"disallowed\"],[[7968,7975],\"valid\"],[[7976,7976],\"mapped\",[7968]],[[7977,7977],\"mapped\",[7969]],[[7978,7978],\"mapped\",[7970]],[[7979,7979],\"mapped\",[7971]],[[7980,7980],\"mapped\",[7972]],[[7981,7981],\"mapped\",[7973]],[[7982,7982],\"mapped\",[7974]],[[7983,7983],\"mapped\",[7975]],[[7984,7991],\"valid\"],[[7992,7992],\"mapped\",[7984]],[[7993,7993],\"mapped\",[7985]],[[7994,7994],\"mapped\",[7986]],[[7995,7995],\"mapped\",[7987]],[[7996,7996],\"mapped\",[7988]],[[7997,7997],\"mapped\",[7989]],[[7998,7998],\"mapped\",[7990]],[[7999,7999],\"mapped\",[7991]],[[8000,8005],\"valid\"],[[8006,8007],\"disallowed\"],[[8008,8008],\"mapped\",[8000]],[[8009,8009],\"mapped\",[8001]],[[8010,8010],\"mapped\",[8002]],[[8011,8011],\"mapped\",[8003]],[[8012,8012],\"mapped\",[8004]],[[8013,8013],\"mapped\",[8005]],[[8014,8015],\"disallowed\"],[[8016,8023],\"valid\"],[[8024,8024],\"disallowed\"],[[8025,8025],\"mapped\",[8017]],[[8026,8026],\"disallowed\"],[[8027,8027],\"mapped\",[8019]],[[8028,8028],\"disallowed\"],[[8029,8029],\"mapped\",[8021]],[[8030,8030],\"disallowed\"],[[8031,8031],\"mapped\",[8023]],[[8032,8039],\"valid\"],[[8040,8040],\"mapped\",[8032]],[[8041,8041],\"mapped\",[8033]],[[8042,8042],\"mapped\",[8034]],[[8043,8043],\"mapped\",[8035]],[[8044,8044],\"mapped\",[8036]],[[8045,8045],\"mapped\",[8037]],[[8046,8046],\"mapped\",[8038]],[[8047,8047],\"mapped\",[8039]],[[8048,8048],\"valid\"],[[8049,8049],\"mapped\",[940]],[[8050,8050],\"valid\"],[[8051,8051],\"mapped\",[941]],[[8052,8052],\"valid\"],[[8053,8053],\"mapped\",[942]],[[8054,8054],\"valid\"],[[8055,8055],\"mapped\",[943]],[[8056,8056],\"valid\"],[[8057,8057],\"mapped\",[972]],[[8058,8058],\"valid\"],[[8059,8059],\"mapped\",[973]],[[8060,8060],\"valid\"],[[8061,8061],\"mapped\",[974]],[[8062,8063],\"disallowed\"],[[8064,8064],\"mapped\",[7936,953]],[[8065,8065],\"mapped\",[7937,953]],[[8066,8066],\"mapped\",[7938,953]],[[8067,8067],\"mapped\",[7939,953]],[[8068,8068],\"mapped\",[7940,953]],[[8069,8069],\"mapped\",[7941,953]],[[8070,8070],\"mapped\",[7942,953]],[[8071,8071],\"mapped\",[7943,953]],[[8072,8072],\"mapped\",[7936,953]],[[8073,8073],\"mapped\",[7937,953]],[[8074,8074],\"mapped\",[7938,953]],[[8075,8075],\"mapped\",[7939,953]],[[8076,8076],\"mapped\",[7940,953]],[[8077,8077],\"mapped\",[7941,953]],[[8078,8078],\"mapped\",[7942,953]],[[8079,8079],\"mapped\",[7943,953]],[[8080,8080],\"mapped\",[7968,953]],[[8081,8081],\"mapped\",[7969,953]],[[8082,8082],\"mapped\",[7970,953]],[[8083,8083],\"mapped\",[7971,953]],[[8084,8084],\"mapped\",[7972,953]],[[8085,8085],\"mapped\",[7973,953]],[[8086,8086],\"mapped\",[7974,953]],[[8087,8087],\"mapped\",[7975,953]],[[8088,8088],\"mapped\",[7968,953]],[[8089,8089],\"mapped\",[7969,953]],[[8090,8090],\"mapped\",[7970,953]],[[8091,8091],\"mapped\",[7971,953]],[[8092,8092],\"mapped\",[7972,953]],[[8093,8093],\"mapped\",[7973,953]],[[8094,8094],\"mapped\",[7974,953]],[[8095,8095],\"mapped\",[7975,953]],[[8096,8096],\"mapped\",[8032,953]],[[8097,8097],\"mapped\",[8033,953]],[[8098,8098],\"mapped\",[8034,953]],[[8099,8099],\"mapped\",[8035,953]],[[8100,8100],\"mapped\",[8036,953]],[[8101,8101],\"mapped\",[8037,953]],[[8102,8102],\"mapped\",[8038,953]],[[8103,8103],\"mapped\",[8039,953]],[[8104,8104],\"mapped\",[8032,953]],[[8105,8105],\"mapped\",[8033,953]],[[8106,8106],\"mapped\",[8034,953]],[[8107,8107],\"mapped\",[8035,953]],[[8108,8108],\"mapped\",[8036,953]],[[8109,8109],\"mapped\",[8037,953]],[[8110,8110],\"mapped\",[8038,953]],[[8111,8111],\"mapped\",[8039,953]],[[8112,8113],\"valid\"],[[8114,8114],\"mapped\",[8048,953]],[[8115,8115],\"mapped\",[945,953]],[[8116,8116],\"mapped\",[940,953]],[[8117,8117],\"disallowed\"],[[8118,8118],\"valid\"],[[8119,8119],\"mapped\",[8118,953]],[[8120,8120],\"mapped\",[8112]],[[8121,8121],\"mapped\",[8113]],[[8122,8122],\"mapped\",[8048]],[[8123,8123],\"mapped\",[940]],[[8124,8124],\"mapped\",[945,953]],[[8125,8125],\"disallowed_STD3_mapped\",[32,787]],[[8126,8126],\"mapped\",[953]],[[8127,8127],\"disallowed_STD3_mapped\",[32,787]],[[8128,8128],\"disallowed_STD3_mapped\",[32,834]],[[8129,8129],\"disallowed_STD3_mapped\",[32,776,834]],[[8130,8130],\"mapped\",[8052,953]],[[8131,8131],\"mapped\",[951,953]],[[8132,8132],\"mapped\",[942,953]],[[8133,8133],\"disallowed\"],[[8134,8134],\"valid\"],[[8135,8135],\"mapped\",[8134,953]],[[8136,8136],\"mapped\",[8050]],[[8137,8137],\"mapped\",[941]],[[8138,8138],\"mapped\",[8052]],[[8139,8139],\"mapped\",[942]],[[8140,8140],\"mapped\",[951,953]],[[8141,8141],\"disallowed_STD3_mapped\",[32,787,768]],[[8142,8142],\"disallowed_STD3_mapped\",[32,787,769]],[[8143,8143],\"disallowed_STD3_mapped\",[32,787,834]],[[8144,8146],\"valid\"],[[8147,8147],\"mapped\",[912]],[[8148,8149],\"disallowed\"],[[8150,8151],\"valid\"],[[8152,8152],\"mapped\",[8144]],[[8153,8153],\"mapped\",[8145]],[[8154,8154],\"mapped\",[8054]],[[8155,8155],\"mapped\",[943]],[[8156,8156],\"disallowed\"],[[8157,8157],\"disallowed_STD3_mapped\",[32,788,768]],[[8158,8158],\"disallowed_STD3_mapped\",[32,788,769]],[[8159,8159],\"disallowed_STD3_mapped\",[32,788,834]],[[8160,8162],\"valid\"],[[8163,8163],\"mapped\",[944]],[[8164,8167],\"valid\"],[[8168,8168],\"mapped\",[8160]],[[8169,8169],\"mapped\",[8161]],[[8170,8170],\"mapped\",[8058]],[[8171,8171],\"mapped\",[973]],[[8172,8172],\"mapped\",[8165]],[[8173,8173],\"disallowed_STD3_mapped\",[32,776,768]],[[8174,8174],\"disallowed_STD3_mapped\",[32,776,769]],[[8175,8175],\"disallowed_STD3_mapped\",[96]],[[8176,8177],\"disallowed\"],[[8178,8178],\"mapped\",[8060,953]],[[8179,8179],\"mapped\",[969,953]],[[8180,8180],\"mapped\",[974,953]],[[8181,8181],\"disallowed\"],[[8182,8182],\"valid\"],[[8183,8183],\"mapped\",[8182,953]],[[8184,8184],\"mapped\",[8056]],[[8185,8185],\"mapped\",[972]],[[8186,8186],\"mapped\",[8060]],[[8187,8187],\"mapped\",[974]],[[8188,8188],\"mapped\",[969,953]],[[8189,8189],\"disallowed_STD3_mapped\",[32,769]],[[8190,8190],\"disallowed_STD3_mapped\",[32,788]],[[8191,8191],\"disallowed\"],[[8192,8202],\"disallowed_STD3_mapped\",[32]],[[8203,8203],\"ignored\"],[[8204,8205],\"deviation\",[]],[[8206,8207],\"disallowed\"],[[8208,8208],\"valid\",[],\"NV8\"],[[8209,8209],\"mapped\",[8208]],[[8210,8214],\"valid\",[],\"NV8\"],[[8215,8215],\"disallowed_STD3_mapped\",[32,819]],[[8216,8227],\"valid\",[],\"NV8\"],[[8228,8230],\"disallowed\"],[[8231,8231],\"valid\",[],\"NV8\"],[[8232,8238],\"disallowed\"],[[8239,8239],\"disallowed_STD3_mapped\",[32]],[[8240,8242],\"valid\",[],\"NV8\"],[[8243,8243],\"mapped\",[8242,8242]],[[8244,8244],\"mapped\",[8242,8242,8242]],[[8245,8245],\"valid\",[],\"NV8\"],[[8246,8246],\"mapped\",[8245,8245]],[[8247,8247],\"mapped\",[8245,8245,8245]],[[8248,8251],\"valid\",[],\"NV8\"],[[8252,8252],\"disallowed_STD3_mapped\",[33,33]],[[8253,8253],\"valid\",[],\"NV8\"],[[8254,8254],\"disallowed_STD3_mapped\",[32,773]],[[8255,8262],\"valid\",[],\"NV8\"],[[8263,8263],\"disallowed_STD3_mapped\",[63,63]],[[8264,8264],\"disallowed_STD3_mapped\",[63,33]],[[8265,8265],\"disallowed_STD3_mapped\",[33,63]],[[8266,8269],\"valid\",[],\"NV8\"],[[8270,8274],\"valid\",[],\"NV8\"],[[8275,8276],\"valid\",[],\"NV8\"],[[8277,8278],\"valid\",[],\"NV8\"],[[8279,8279],\"mapped\",[8242,8242,8242,8242]],[[8280,8286],\"valid\",[],\"NV8\"],[[8287,8287],\"disallowed_STD3_mapped\",[32]],[[8288,8288],\"ignored\"],[[8289,8291],\"disallowed\"],[[8292,8292],\"ignored\"],[[8293,8293],\"disallowed\"],[[8294,8297],\"disallowed\"],[[8298,8303],\"disallowed\"],[[8304,8304],\"mapped\",[48]],[[8305,8305],\"mapped\",[105]],[[8306,8307],\"disallowed\"],[[8308,8308],\"mapped\",[52]],[[8309,8309],\"mapped\",[53]],[[8310,8310],\"mapped\",[54]],[[8311,8311],\"mapped\",[55]],[[8312,8312],\"mapped\",[56]],[[8313,8313],\"mapped\",[57]],[[8314,8314],\"disallowed_STD3_mapped\",[43]],[[8315,8315],\"mapped\",[8722]],[[8316,8316],\"disallowed_STD3_mapped\",[61]],[[8317,8317],\"disallowed_STD3_mapped\",[40]],[[8318,8318],\"disallowed_STD3_mapped\",[41]],[[8319,8319],\"mapped\",[110]],[[8320,8320],\"mapped\",[48]],[[8321,8321],\"mapped\",[49]],[[8322,8322],\"mapped\",[50]],[[8323,8323],\"mapped\",[51]],[[8324,8324],\"mapped\",[52]],[[8325,8325],\"mapped\",[53]],[[8326,8326],\"mapped\",[54]],[[8327,8327],\"mapped\",[55]],[[8328,8328],\"mapped\",[56]],[[8329,8329],\"mapped\",[57]],[[8330,8330],\"disallowed_STD3_mapped\",[43]],[[8331,8331],\"mapped\",[8722]],[[8332,8332],\"disallowed_STD3_mapped\",[61]],[[8333,8333],\"disallowed_STD3_mapped\",[40]],[[8334,8334],\"disallowed_STD3_mapped\",[41]],[[8335,8335],\"disallowed\"],[[8336,8336],\"mapped\",[97]],[[8337,8337],\"mapped\",[101]],[[8338,8338],\"mapped\",[111]],[[8339,8339],\"mapped\",[120]],[[8340,8340],\"mapped\",[601]],[[8341,8341],\"mapped\",[104]],[[8342,8342],\"mapped\",[107]],[[8343,8343],\"mapped\",[108]],[[8344,8344],\"mapped\",[109]],[[8345,8345],\"mapped\",[110]],[[8346,8346],\"mapped\",[112]],[[8347,8347],\"mapped\",[115]],[[8348,8348],\"mapped\",[116]],[[8349,8351],\"disallowed\"],[[8352,8359],\"valid\",[],\"NV8\"],[[8360,8360],\"mapped\",[114,115]],[[8361,8362],\"valid\",[],\"NV8\"],[[8363,8363],\"valid\",[],\"NV8\"],[[8364,8364],\"valid\",[],\"NV8\"],[[8365,8367],\"valid\",[],\"NV8\"],[[8368,8369],\"valid\",[],\"NV8\"],[[8370,8373],\"valid\",[],\"NV8\"],[[8374,8376],\"valid\",[],\"NV8\"],[[8377,8377],\"valid\",[],\"NV8\"],[[8378,8378],\"valid\",[],\"NV8\"],[[8379,8381],\"valid\",[],\"NV8\"],[[8382,8382],\"valid\",[],\"NV8\"],[[8383,8399],\"disallowed\"],[[8400,8417],\"valid\",[],\"NV8\"],[[8418,8419],\"valid\",[],\"NV8\"],[[8420,8426],\"valid\",[],\"NV8\"],[[8427,8427],\"valid\",[],\"NV8\"],[[8428,8431],\"valid\",[],\"NV8\"],[[8432,8432],\"valid\",[],\"NV8\"],[[8433,8447],\"disallowed\"],[[8448,8448],\"disallowed_STD3_mapped\",[97,47,99]],[[8449,8449],\"disallowed_STD3_mapped\",[97,47,115]],[[8450,8450],\"mapped\",[99]],[[8451,8451],\"mapped\",[176,99]],[[8452,8452],\"valid\",[],\"NV8\"],[[8453,8453],\"disallowed_STD3_mapped\",[99,47,111]],[[8454,8454],\"disallowed_STD3_mapped\",[99,47,117]],[[8455,8455],\"mapped\",[603]],[[8456,8456],\"valid\",[],\"NV8\"],[[8457,8457],\"mapped\",[176,102]],[[8458,8458],\"mapped\",[103]],[[8459,8462],\"mapped\",[104]],[[8463,8463],\"mapped\",[295]],[[8464,8465],\"mapped\",[105]],[[8466,8467],\"mapped\",[108]],[[8468,8468],\"valid\",[],\"NV8\"],[[8469,8469],\"mapped\",[110]],[[8470,8470],\"mapped\",[110,111]],[[8471,8472],\"valid\",[],\"NV8\"],[[8473,8473],\"mapped\",[112]],[[8474,8474],\"mapped\",[113]],[[8475,8477],\"mapped\",[114]],[[8478,8479],\"valid\",[],\"NV8\"],[[8480,8480],\"mapped\",[115,109]],[[8481,8481],\"mapped\",[116,101,108]],[[8482,8482],\"mapped\",[116,109]],[[8483,8483],\"valid\",[],\"NV8\"],[[8484,8484],\"mapped\",[122]],[[8485,8485],\"valid\",[],\"NV8\"],[[8486,8486],\"mapped\",[969]],[[8487,8487],\"valid\",[],\"NV8\"],[[8488,8488],\"mapped\",[122]],[[8489,8489],\"valid\",[],\"NV8\"],[[8490,8490],\"mapped\",[107]],[[8491,8491],\"mapped\",[229]],[[8492,8492],\"mapped\",[98]],[[8493,8493],\"mapped\",[99]],[[8494,8494],\"valid\",[],\"NV8\"],[[8495,8496],\"mapped\",[101]],[[8497,8497],\"mapped\",[102]],[[8498,8498],\"disallowed\"],[[8499,8499],\"mapped\",[109]],[[8500,8500],\"mapped\",[111]],[[8501,8501],\"mapped\",[1488]],[[8502,8502],\"mapped\",[1489]],[[8503,8503],\"mapped\",[1490]],[[8504,8504],\"mapped\",[1491]],[[8505,8505],\"mapped\",[105]],[[8506,8506],\"valid\",[],\"NV8\"],[[8507,8507],\"mapped\",[102,97,120]],[[8508,8508],\"mapped\",[960]],[[8509,8510],\"mapped\",[947]],[[8511,8511],\"mapped\",[960]],[[8512,8512],\"mapped\",[8721]],[[8513,8516],\"valid\",[],\"NV8\"],[[8517,8518],\"mapped\",[100]],[[8519,8519],\"mapped\",[101]],[[8520,8520],\"mapped\",[105]],[[8521,8521],\"mapped\",[106]],[[8522,8523],\"valid\",[],\"NV8\"],[[8524,8524],\"valid\",[],\"NV8\"],[[8525,8525],\"valid\",[],\"NV8\"],[[8526,8526],\"valid\"],[[8527,8527],\"valid\",[],\"NV8\"],[[8528,8528],\"mapped\",[49,8260,55]],[[8529,8529],\"mapped\",[49,8260,57]],[[8530,8530],\"mapped\",[49,8260,49,48]],[[8531,8531],\"mapped\",[49,8260,51]],[[8532,8532],\"mapped\",[50,8260,51]],[[8533,8533],\"mapped\",[49,8260,53]],[[8534,8534],\"mapped\",[50,8260,53]],[[8535,8535],\"mapped\",[51,8260,53]],[[8536,8536],\"mapped\",[52,8260,53]],[[8537,8537],\"mapped\",[49,8260,54]],[[8538,8538],\"mapped\",[53,8260,54]],[[8539,8539],\"mapped\",[49,8260,56]],[[8540,8540],\"mapped\",[51,8260,56]],[[8541,8541],\"mapped\",[53,8260,56]],[[8542,8542],\"mapped\",[55,8260,56]],[[8543,8543],\"mapped\",[49,8260]],[[8544,8544],\"mapped\",[105]],[[8545,8545],\"mapped\",[105,105]],[[8546,8546],\"mapped\",[105,105,105]],[[8547,8547],\"mapped\",[105,118]],[[8548,8548],\"mapped\",[118]],[[8549,8549],\"mapped\",[118,105]],[[8550,8550],\"mapped\",[118,105,105]],[[8551,8551],\"mapped\",[118,105,105,105]],[[8552,8552],\"mapped\",[105,120]],[[8553,8553],\"mapped\",[120]],[[8554,8554],\"mapped\",[120,105]],[[8555,8555],\"mapped\",[120,105,105]],[[8556,8556],\"mapped\",[108]],[[8557,8557],\"mapped\",[99]],[[8558,8558],\"mapped\",[100]],[[8559,8559],\"mapped\",[109]],[[8560,8560],\"mapped\",[105]],[[8561,8561],\"mapped\",[105,105]],[[8562,8562],\"mapped\",[105,105,105]],[[8563,8563],\"mapped\",[105,118]],[[8564,8564],\"mapped\",[118]],[[8565,8565],\"mapped\",[118,105]],[[8566,8566],\"mapped\",[118,105,105]],[[8567,8567],\"mapped\",[118,105,105,105]],[[8568,8568],\"mapped\",[105,120]],[[8569,8569],\"mapped\",[120]],[[8570,8570],\"mapped\",[120,105]],[[8571,8571],\"mapped\",[120,105,105]],[[8572,8572],\"mapped\",[108]],[[8573,8573],\"mapped\",[99]],[[8574,8574],\"mapped\",[100]],[[8575,8575],\"mapped\",[109]],[[8576,8578],\"valid\",[],\"NV8\"],[[8579,8579],\"disallowed\"],[[8580,8580],\"valid\"],[[8581,8584],\"valid\",[],\"NV8\"],[[8585,8585],\"mapped\",[48,8260,51]],[[8586,8587],\"valid\",[],\"NV8\"],[[8588,8591],\"disallowed\"],[[8592,8682],\"valid\",[],\"NV8\"],[[8683,8691],\"valid\",[],\"NV8\"],[[8692,8703],\"valid\",[],\"NV8\"],[[8704,8747],\"valid\",[],\"NV8\"],[[8748,8748],\"mapped\",[8747,8747]],[[8749,8749],\"mapped\",[8747,8747,8747]],[[8750,8750],\"valid\",[],\"NV8\"],[[8751,8751],\"mapped\",[8750,8750]],[[8752,8752],\"mapped\",[8750,8750,8750]],[[8753,8799],\"valid\",[],\"NV8\"],[[8800,8800],\"disallowed_STD3_valid\"],[[8801,8813],\"valid\",[],\"NV8\"],[[8814,8815],\"disallowed_STD3_valid\"],[[8816,8945],\"valid\",[],\"NV8\"],[[8946,8959],\"valid\",[],\"NV8\"],[[8960,8960],\"valid\",[],\"NV8\"],[[8961,8961],\"valid\",[],\"NV8\"],[[8962,9000],\"valid\",[],\"NV8\"],[[9001,9001],\"mapped\",[12296]],[[9002,9002],\"mapped\",[12297]],[[9003,9082],\"valid\",[],\"NV8\"],[[9083,9083],\"valid\",[],\"NV8\"],[[9084,9084],\"valid\",[],\"NV8\"],[[9085,9114],\"valid\",[],\"NV8\"],[[9115,9166],\"valid\",[],\"NV8\"],[[9167,9168],\"valid\",[],\"NV8\"],[[9169,9179],\"valid\",[],\"NV8\"],[[9180,9191],\"valid\",[],\"NV8\"],[[9192,9192],\"valid\",[],\"NV8\"],[[9193,9203],\"valid\",[],\"NV8\"],[[9204,9210],\"valid\",[],\"NV8\"],[[9211,9215],\"disallowed\"],[[9216,9252],\"valid\",[],\"NV8\"],[[9253,9254],\"valid\",[],\"NV8\"],[[9255,9279],\"disallowed\"],[[9280,9290],\"valid\",[],\"NV8\"],[[9291,9311],\"disallowed\"],[[9312,9312],\"mapped\",[49]],[[9313,9313],\"mapped\",[50]],[[9314,9314],\"mapped\",[51]],[[9315,9315],\"mapped\",[52]],[[9316,9316],\"mapped\",[53]],[[9317,9317],\"mapped\",[54]],[[9318,9318],\"mapped\",[55]],[[9319,9319],\"mapped\",[56]],[[9320,9320],\"mapped\",[57]],[[9321,9321],\"mapped\",[49,48]],[[9322,9322],\"mapped\",[49,49]],[[9323,9323],\"mapped\",[49,50]],[[9324,9324],\"mapped\",[49,51]],[[9325,9325],\"mapped\",[49,52]],[[9326,9326],\"mapped\",[49,53]],[[9327,9327],\"mapped\",[49,54]],[[9328,9328],\"mapped\",[49,55]],[[9329,9329],\"mapped\",[49,56]],[[9330,9330],\"mapped\",[49,57]],[[9331,9331],\"mapped\",[50,48]],[[9332,9332],\"disallowed_STD3_mapped\",[40,49,41]],[[9333,9333],\"disallowed_STD3_mapped\",[40,50,41]],[[9334,9334],\"disallowed_STD3_mapped\",[40,51,41]],[[9335,9335],\"disallowed_STD3_mapped\",[40,52,41]],[[9336,9336],\"disallowed_STD3_mapped\",[40,53,41]],[[9337,9337],\"disallowed_STD3_mapped\",[40,54,41]],[[9338,9338],\"disallowed_STD3_mapped\",[40,55,41]],[[9339,9339],\"disallowed_STD3_mapped\",[40,56,41]],[[9340,9340],\"disallowed_STD3_mapped\",[40,57,41]],[[9341,9341],\"disallowed_STD3_mapped\",[40,49,48,41]],[[9342,9342],\"disallowed_STD3_mapped\",[40,49,49,41]],[[9343,9343],\"disallowed_STD3_mapped\",[40,49,50,41]],[[9344,9344],\"disallowed_STD3_mapped\",[40,49,51,41]],[[9345,9345],\"disallowed_STD3_mapped\",[40,49,52,41]],[[9346,9346],\"disallowed_STD3_mapped\",[40,49,53,41]],[[9347,9347],\"disallowed_STD3_mapped\",[40,49,54,41]],[[9348,9348],\"disallowed_STD3_mapped\",[40,49,55,41]],[[9349,9349],\"disallowed_STD3_mapped\",[40,49,56,41]],[[9350,9350],\"disallowed_STD3_mapped\",[40,49,57,41]],[[9351,9351],\"disallowed_STD3_mapped\",[40,50,48,41]],[[9352,9371],\"disallowed\"],[[9372,9372],\"disallowed_STD3_mapped\",[40,97,41]],[[9373,9373],\"disallowed_STD3_mapped\",[40,98,41]],[[9374,9374],\"disallowed_STD3_mapped\",[40,99,41]],[[9375,9375],\"disallowed_STD3_mapped\",[40,100,41]],[[9376,9376],\"disallowed_STD3_mapped\",[40,101,41]],[[9377,9377],\"disallowed_STD3_mapped\",[40,102,41]],[[9378,9378],\"disallowed_STD3_mapped\",[40,103,41]],[[9379,9379],\"disallowed_STD3_mapped\",[40,104,41]],[[9380,9380],\"disallowed_STD3_mapped\",[40,105,41]],[[9381,9381],\"disallowed_STD3_mapped\",[40,106,41]],[[9382,9382],\"disallowed_STD3_mapped\",[40,107,41]],[[9383,9383],\"disallowed_STD3_mapped\",[40,108,41]],[[9384,9384],\"disallowed_STD3_mapped\",[40,109,41]],[[9385,9385],\"disallowed_STD3_mapped\",[40,110,41]],[[9386,9386],\"disallowed_STD3_mapped\",[40,111,41]],[[9387,9387],\"disallowed_STD3_mapped\",[40,112,41]],[[9388,9388],\"disallowed_STD3_mapped\",[40,113,41]],[[9389,9389],\"disallowed_STD3_mapped\",[40,114,41]],[[9390,9390],\"disallowed_STD3_mapped\",[40,115,41]],[[9391,9391],\"disallowed_STD3_mapped\",[40,116,41]],[[9392,9392],\"disallowed_STD3_mapped\",[40,117,41]],[[9393,9393],\"disallowed_STD3_mapped\",[40,118,41]],[[9394,9394],\"disallowed_STD3_mapped\",[40,119,41]],[[9395,9395],\"disallowed_STD3_mapped\",[40,120,41]],[[9396,9396],\"disallowed_STD3_mapped\",[40,121,41]],[[9397,9397],\"disallowed_STD3_mapped\",[40,122,41]],[[9398,9398],\"mapped\",[97]],[[9399,9399],\"mapped\",[98]],[[9400,9400],\"mapped\",[99]],[[9401,9401],\"mapped\",[100]],[[9402,9402],\"mapped\",[101]],[[9403,9403],\"mapped\",[102]],[[9404,9404],\"mapped\",[103]],[[9405,9405],\"mapped\",[104]],[[9406,9406],\"mapped\",[105]],[[9407,9407],\"mapped\",[106]],[[9408,9408],\"mapped\",[107]],[[9409,9409],\"mapped\",[108]],[[9410,9410],\"mapped\",[109]],[[9411,9411],\"mapped\",[110]],[[9412,9412],\"mapped\",[111]],[[9413,9413],\"mapped\",[112]],[[9414,9414],\"mapped\",[113]],[[9415,9415],\"mapped\",[114]],[[9416,9416],\"mapped\",[115]],[[9417,9417],\"mapped\",[116]],[[9418,9418],\"mapped\",[117]],[[9419,9419],\"mapped\",[118]],[[9420,9420],\"mapped\",[119]],[[9421,9421],\"mapped\",[120]],[[9422,9422],\"mapped\",[121]],[[9423,9423],\"mapped\",[122]],[[9424,9424],\"mapped\",[97]],[[9425,9425],\"mapped\",[98]],[[9426,9426],\"mapped\",[99]],[[9427,9427],\"mapped\",[100]],[[9428,9428],\"mapped\",[101]],[[9429,9429],\"mapped\",[102]],[[9430,9430],\"mapped\",[103]],[[9431,9431],\"mapped\",[104]],[[9432,9432],\"mapped\",[105]],[[9433,9433],\"mapped\",[106]],[[9434,9434],\"mapped\",[107]],[[9435,9435],\"mapped\",[108]],[[9436,9436],\"mapped\",[109]],[[9437,9437],\"mapped\",[110]],[[9438,9438],\"mapped\",[111]],[[9439,9439],\"mapped\",[112]],[[9440,9440],\"mapped\",[113]],[[9441,9441],\"mapped\",[114]],[[9442,9442],\"mapped\",[115]],[[9443,9443],\"mapped\",[116]],[[9444,9444],\"mapped\",[117]],[[9445,9445],\"mapped\",[118]],[[9446,9446],\"mapped\",[119]],[[9447,9447],\"mapped\",[120]],[[9448,9448],\"mapped\",[121]],[[9449,9449],\"mapped\",[122]],[[9450,9450],\"mapped\",[48]],[[9451,9470],\"valid\",[],\"NV8\"],[[9471,9471],\"valid\",[],\"NV8\"],[[9472,9621],\"valid\",[],\"NV8\"],[[9622,9631],\"valid\",[],\"NV8\"],[[9632,9711],\"valid\",[],\"NV8\"],[[9712,9719],\"valid\",[],\"NV8\"],[[9720,9727],\"valid\",[],\"NV8\"],[[9728,9747],\"valid\",[],\"NV8\"],[[9748,9749],\"valid\",[],\"NV8\"],[[9750,9751],\"valid\",[],\"NV8\"],[[9752,9752],\"valid\",[],\"NV8\"],[[9753,9753],\"valid\",[],\"NV8\"],[[9754,9839],\"valid\",[],\"NV8\"],[[9840,9841],\"valid\",[],\"NV8\"],[[9842,9853],\"valid\",[],\"NV8\"],[[9854,9855],\"valid\",[],\"NV8\"],[[9856,9865],\"valid\",[],\"NV8\"],[[9866,9873],\"valid\",[],\"NV8\"],[[9874,9884],\"valid\",[],\"NV8\"],[[9885,9885],\"valid\",[],\"NV8\"],[[9886,9887],\"valid\",[],\"NV8\"],[[9888,9889],\"valid\",[],\"NV8\"],[[9890,9905],\"valid\",[],\"NV8\"],[[9906,9906],\"valid\",[],\"NV8\"],[[9907,9916],\"valid\",[],\"NV8\"],[[9917,9919],\"valid\",[],\"NV8\"],[[9920,9923],\"valid\",[],\"NV8\"],[[9924,9933],\"valid\",[],\"NV8\"],[[9934,9934],\"valid\",[],\"NV8\"],[[9935,9953],\"valid\",[],\"NV8\"],[[9954,9954],\"valid\",[],\"NV8\"],[[9955,9955],\"valid\",[],\"NV8\"],[[9956,9959],\"valid\",[],\"NV8\"],[[9960,9983],\"valid\",[],\"NV8\"],[[9984,9984],\"valid\",[],\"NV8\"],[[9985,9988],\"valid\",[],\"NV8\"],[[9989,9989],\"valid\",[],\"NV8\"],[[9990,9993],\"valid\",[],\"NV8\"],[[9994,9995],\"valid\",[],\"NV8\"],[[9996,10023],\"valid\",[],\"NV8\"],[[10024,10024],\"valid\",[],\"NV8\"],[[10025,10059],\"valid\",[],\"NV8\"],[[10060,10060],\"valid\",[],\"NV8\"],[[10061,10061],\"valid\",[],\"NV8\"],[[10062,10062],\"valid\",[],\"NV8\"],[[10063,10066],\"valid\",[],\"NV8\"],[[10067,10069],\"valid\",[],\"NV8\"],[[10070,10070],\"valid\",[],\"NV8\"],[[10071,10071],\"valid\",[],\"NV8\"],[[10072,10078],\"valid\",[],\"NV8\"],[[10079,10080],\"valid\",[],\"NV8\"],[[10081,10087],\"valid\",[],\"NV8\"],[[10088,10101],\"valid\",[],\"NV8\"],[[10102,10132],\"valid\",[],\"NV8\"],[[10133,10135],\"valid\",[],\"NV8\"],[[10136,10159],\"valid\",[],\"NV8\"],[[10160,10160],\"valid\",[],\"NV8\"],[[10161,10174],\"valid\",[],\"NV8\"],[[10175,10175],\"valid\",[],\"NV8\"],[[10176,10182],\"valid\",[],\"NV8\"],[[10183,10186],\"valid\",[],\"NV8\"],[[10187,10187],\"valid\",[],\"NV8\"],[[10188,10188],\"valid\",[],\"NV8\"],[[10189,10189],\"valid\",[],\"NV8\"],[[10190,10191],\"valid\",[],\"NV8\"],[[10192,10219],\"valid\",[],\"NV8\"],[[10220,10223],\"valid\",[],\"NV8\"],[[10224,10239],\"valid\",[],\"NV8\"],[[10240,10495],\"valid\",[],\"NV8\"],[[10496,10763],\"valid\",[],\"NV8\"],[[10764,10764],\"mapped\",[8747,8747,8747,8747]],[[10765,10867],\"valid\",[],\"NV8\"],[[10868,10868],\"disallowed_STD3_mapped\",[58,58,61]],[[10869,10869],\"disallowed_STD3_mapped\",[61,61]],[[10870,10870],\"disallowed_STD3_mapped\",[61,61,61]],[[10871,10971],\"valid\",[],\"NV8\"],[[10972,10972],\"mapped\",[10973,824]],[[10973,11007],\"valid\",[],\"NV8\"],[[11008,11021],\"valid\",[],\"NV8\"],[[11022,11027],\"valid\",[],\"NV8\"],[[11028,11034],\"valid\",[],\"NV8\"],[[11035,11039],\"valid\",[],\"NV8\"],[[11040,11043],\"valid\",[],\"NV8\"],[[11044,11084],\"valid\",[],\"NV8\"],[[11085,11087],\"valid\",[],\"NV8\"],[[11088,11092],\"valid\",[],\"NV8\"],[[11093,11097],\"valid\",[],\"NV8\"],[[11098,11123],\"valid\",[],\"NV8\"],[[11124,11125],\"disallowed\"],[[11126,11157],\"valid\",[],\"NV8\"],[[11158,11159],\"disallowed\"],[[11160,11193],\"valid\",[],\"NV8\"],[[11194,11196],\"disallowed\"],[[11197,11208],\"valid\",[],\"NV8\"],[[11209,11209],\"disallowed\"],[[11210,11217],\"valid\",[],\"NV8\"],[[11218,11243],\"disallowed\"],[[11244,11247],\"valid\",[],\"NV8\"],[[11248,11263],\"disallowed\"],[[11264,11264],\"mapped\",[11312]],[[11265,11265],\"mapped\",[11313]],[[11266,11266],\"mapped\",[11314]],[[11267,11267],\"mapped\",[11315]],[[11268,11268],\"mapped\",[11316]],[[11269,11269],\"mapped\",[11317]],[[11270,11270],\"mapped\",[11318]],[[11271,11271],\"mapped\",[11319]],[[11272,11272],\"mapped\",[11320]],[[11273,11273],\"mapped\",[11321]],[[11274,11274],\"mapped\",[11322]],[[11275,11275],\"mapped\",[11323]],[[11276,11276],\"mapped\",[11324]],[[11277,11277],\"mapped\",[11325]],[[11278,11278],\"mapped\",[11326]],[[11279,11279],\"mapped\",[11327]],[[11280,11280],\"mapped\",[11328]],[[11281,11281],\"mapped\",[11329]],[[11282,11282],\"mapped\",[11330]],[[11283,11283],\"mapped\",[11331]],[[11284,11284],\"mapped\",[11332]],[[11285,11285],\"mapped\",[11333]],[[11286,11286],\"mapped\",[11334]],[[11287,11287],\"mapped\",[11335]],[[11288,11288],\"mapped\",[11336]],[[11289,11289],\"mapped\",[11337]],[[11290,11290],\"mapped\",[11338]],[[11291,11291],\"mapped\",[11339]],[[11292,11292],\"mapped\",[11340]],[[11293,11293],\"mapped\",[11341]],[[11294,11294],\"mapped\",[11342]],[[11295,11295],\"mapped\",[11343]],[[11296,11296],\"mapped\",[11344]],[[11297,11297],\"mapped\",[11345]],[[11298,11298],\"mapped\",[11346]],[[11299,11299],\"mapped\",[11347]],[[11300,11300],\"mapped\",[11348]],[[11301,11301],\"mapped\",[11349]],[[11302,11302],\"mapped\",[11350]],[[11303,11303],\"mapped\",[11351]],[[11304,11304],\"mapped\",[11352]],[[11305,11305],\"mapped\",[11353]],[[11306,11306],\"mapped\",[11354]],[[11307,11307],\"mapped\",[11355]],[[11308,11308],\"mapped\",[11356]],[[11309,11309],\"mapped\",[11357]],[[11310,11310],\"mapped\",[11358]],[[11311,11311],\"disallowed\"],[[11312,11358],\"valid\"],[[11359,11359],\"disallowed\"],[[11360,11360],\"mapped\",[11361]],[[11361,11361],\"valid\"],[[11362,11362],\"mapped\",[619]],[[11363,11363],\"mapped\",[7549]],[[11364,11364],\"mapped\",[637]],[[11365,11366],\"valid\"],[[11367,11367],\"mapped\",[11368]],[[11368,11368],\"valid\"],[[11369,11369],\"mapped\",[11370]],[[11370,11370],\"valid\"],[[11371,11371],\"mapped\",[11372]],[[11372,11372],\"valid\"],[[11373,11373],\"mapped\",[593]],[[11374,11374],\"mapped\",[625]],[[11375,11375],\"mapped\",[592]],[[11376,11376],\"mapped\",[594]],[[11377,11377],\"valid\"],[[11378,11378],\"mapped\",[11379]],[[11379,11379],\"valid\"],[[11380,11380],\"valid\"],[[11381,11381],\"mapped\",[11382]],[[11382,11383],\"valid\"],[[11384,11387],\"valid\"],[[11388,11388],\"mapped\",[106]],[[11389,11389],\"mapped\",[118]],[[11390,11390],\"mapped\",[575]],[[11391,11391],\"mapped\",[576]],[[11392,11392],\"mapped\",[11393]],[[11393,11393],\"valid\"],[[11394,11394],\"mapped\",[11395]],[[11395,11395],\"valid\"],[[11396,11396],\"mapped\",[11397]],[[11397,11397],\"valid\"],[[11398,11398],\"mapped\",[11399]],[[11399,11399],\"valid\"],[[11400,11400],\"mapped\",[11401]],[[11401,11401],\"valid\"],[[11402,11402],\"mapped\",[11403]],[[11403,11403],\"valid\"],[[11404,11404],\"mapped\",[11405]],[[11405,11405],\"valid\"],[[11406,11406],\"mapped\",[11407]],[[11407,11407],\"valid\"],[[11408,11408],\"mapped\",[11409]],[[11409,11409],\"valid\"],[[11410,11410],\"mapped\",[11411]],[[11411,11411],\"valid\"],[[11412,11412],\"mapped\",[11413]],[[11413,11413],\"valid\"],[[11414,11414],\"mapped\",[11415]],[[11415,11415],\"valid\"],[[11416,11416],\"mapped\",[11417]],[[11417,11417],\"valid\"],[[11418,11418],\"mapped\",[11419]],[[11419,11419],\"valid\"],[[11420,11420],\"mapped\",[11421]],[[11421,11421],\"valid\"],[[11422,11422],\"mapped\",[11423]],[[11423,11423],\"valid\"],[[11424,11424],\"mapped\",[11425]],[[11425,11425],\"valid\"],[[11426,11426],\"mapped\",[11427]],[[11427,11427],\"valid\"],[[11428,11428],\"mapped\",[11429]],[[11429,11429],\"valid\"],[[11430,11430],\"mapped\",[11431]],[[11431,11431],\"valid\"],[[11432,11432],\"mapped\",[11433]],[[11433,11433],\"valid\"],[[11434,11434],\"mapped\",[11435]],[[11435,11435],\"valid\"],[[11436,11436],\"mapped\",[11437]],[[11437,11437],\"valid\"],[[11438,11438],\"mapped\",[11439]],[[11439,11439],\"valid\"],[[11440,11440],\"mapped\",[11441]],[[11441,11441],\"valid\"],[[11442,11442],\"mapped\",[11443]],[[11443,11443],\"valid\"],[[11444,11444],\"mapped\",[11445]],[[11445,11445],\"valid\"],[[11446,11446],\"mapped\",[11447]],[[11447,11447],\"valid\"],[[11448,11448],\"mapped\",[11449]],[[11449,11449],\"valid\"],[[11450,11450],\"mapped\",[11451]],[[11451,11451],\"valid\"],[[11452,11452],\"mapped\",[11453]],[[11453,11453],\"valid\"],[[11454,11454],\"mapped\",[11455]],[[11455,11455],\"valid\"],[[11456,11456],\"mapped\",[11457]],[[11457,11457],\"valid\"],[[11458,11458],\"mapped\",[11459]],[[11459,11459],\"valid\"],[[11460,11460],\"mapped\",[11461]],[[11461,11461],\"valid\"],[[11462,11462],\"mapped\",[11463]],[[11463,11463],\"valid\"],[[11464,11464],\"mapped\",[11465]],[[11465,11465],\"valid\"],[[11466,11466],\"mapped\",[11467]],[[11467,11467],\"valid\"],[[11468,11468],\"mapped\",[11469]],[[11469,11469],\"valid\"],[[11470,11470],\"mapped\",[11471]],[[11471,11471],\"valid\"],[[11472,11472],\"mapped\",[11473]],[[11473,11473],\"valid\"],[[11474,11474],\"mapped\",[11475]],[[11475,11475],\"valid\"],[[11476,11476],\"mapped\",[11477]],[[11477,11477],\"valid\"],[[11478,11478],\"mapped\",[11479]],[[11479,11479],\"valid\"],[[11480,11480],\"mapped\",[11481]],[[11481,11481],\"valid\"],[[11482,11482],\"mapped\",[11483]],[[11483,11483],\"valid\"],[[11484,11484],\"mapped\",[11485]],[[11485,11485],\"valid\"],[[11486,11486],\"mapped\",[11487]],[[11487,11487],\"valid\"],[[11488,11488],\"mapped\",[11489]],[[11489,11489],\"valid\"],[[11490,11490],\"mapped\",[11491]],[[11491,11492],\"valid\"],[[11493,11498],\"valid\",[],\"NV8\"],[[11499,11499],\"mapped\",[11500]],[[11500,11500],\"valid\"],[[11501,11501],\"mapped\",[11502]],[[11502,11505],\"valid\"],[[11506,11506],\"mapped\",[11507]],[[11507,11507],\"valid\"],[[11508,11512],\"disallowed\"],[[11513,11519],\"valid\",[],\"NV8\"],[[11520,11557],\"valid\"],[[11558,11558],\"disallowed\"],[[11559,11559],\"valid\"],[[11560,11564],\"disallowed\"],[[11565,11565],\"valid\"],[[11566,11567],\"disallowed\"],[[11568,11621],\"valid\"],[[11622,11623],\"valid\"],[[11624,11630],\"disallowed\"],[[11631,11631],\"mapped\",[11617]],[[11632,11632],\"valid\",[],\"NV8\"],[[11633,11646],\"disallowed\"],[[11647,11647],\"valid\"],[[11648,11670],\"valid\"],[[11671,11679],\"disallowed\"],[[11680,11686],\"valid\"],[[11687,11687],\"disallowed\"],[[11688,11694],\"valid\"],[[11695,11695],\"disallowed\"],[[11696,11702],\"valid\"],[[11703,11703],\"disallowed\"],[[11704,11710],\"valid\"],[[11711,11711],\"disallowed\"],[[11712,11718],\"valid\"],[[11719,11719],\"disallowed\"],[[11720,11726],\"valid\"],[[11727,11727],\"disallowed\"],[[11728,11734],\"valid\"],[[11735,11735],\"disallowed\"],[[11736,11742],\"valid\"],[[11743,11743],\"disallowed\"],[[11744,11775],\"valid\"],[[11776,11799],\"valid\",[],\"NV8\"],[[11800,11803],\"valid\",[],\"NV8\"],[[11804,11805],\"valid\",[],\"NV8\"],[[11806,11822],\"valid\",[],\"NV8\"],[[11823,11823],\"valid\"],[[11824,11824],\"valid\",[],\"NV8\"],[[11825,11825],\"valid\",[],\"NV8\"],[[11826,11835],\"valid\",[],\"NV8\"],[[11836,11842],\"valid\",[],\"NV8\"],[[11843,11903],\"disallowed\"],[[11904,11929],\"valid\",[],\"NV8\"],[[11930,11930],\"disallowed\"],[[11931,11934],\"valid\",[],\"NV8\"],[[11935,11935],\"mapped\",[27597]],[[11936,12018],\"valid\",[],\"NV8\"],[[12019,12019],\"mapped\",[40863]],[[12020,12031],\"disallowed\"],[[12032,12032],\"mapped\",[19968]],[[12033,12033],\"mapped\",[20008]],[[12034,12034],\"mapped\",[20022]],[[12035,12035],\"mapped\",[20031]],[[12036,12036],\"mapped\",[20057]],[[12037,12037],\"mapped\",[20101]],[[12038,12038],\"mapped\",[20108]],[[12039,12039],\"mapped\",[20128]],[[12040,12040],\"mapped\",[20154]],[[12041,12041],\"mapped\",[20799]],[[12042,12042],\"mapped\",[20837]],[[12043,12043],\"mapped\",[20843]],[[12044,12044],\"mapped\",[20866]],[[12045,12045],\"mapped\",[20886]],[[12046,12046],\"mapped\",[20907]],[[12047,12047],\"mapped\",[20960]],[[12048,12048],\"mapped\",[20981]],[[12049,12049],\"mapped\",[20992]],[[12050,12050],\"mapped\",[21147]],[[12051,12051],\"mapped\",[21241]],[[12052,12052],\"mapped\",[21269]],[[12053,12053],\"mapped\",[21274]],[[12054,12054],\"mapped\",[21304]],[[12055,12055],\"mapped\",[21313]],[[12056,12056],\"mapped\",[21340]],[[12057,12057],\"mapped\",[21353]],[[12058,12058],\"mapped\",[21378]],[[12059,12059],\"mapped\",[21430]],[[12060,12060],\"mapped\",[21448]],[[12061,12061],\"mapped\",[21475]],[[12062,12062],\"mapped\",[22231]],[[12063,12063],\"mapped\",[22303]],[[12064,12064],\"mapped\",[22763]],[[12065,12065],\"mapped\",[22786]],[[12066,12066],\"mapped\",[22794]],[[12067,12067],\"mapped\",[22805]],[[12068,12068],\"mapped\",[22823]],[[12069,12069],\"mapped\",[22899]],[[12070,12070],\"mapped\",[23376]],[[12071,12071],\"mapped\",[23424]],[[12072,12072],\"mapped\",[23544]],[[12073,12073],\"mapped\",[23567]],[[12074,12074],\"mapped\",[23586]],[[12075,12075],\"mapped\",[23608]],[[12076,12076],\"mapped\",[23662]],[[12077,12077],\"mapped\",[23665]],[[12078,12078],\"mapped\",[24027]],[[12079,12079],\"mapped\",[24037]],[[12080,12080],\"mapped\",[24049]],[[12081,12081],\"mapped\",[24062]],[[12082,12082],\"mapped\",[24178]],[[12083,12083],\"mapped\",[24186]],[[12084,12084],\"mapped\",[24191]],[[12085,12085],\"mapped\",[24308]],[[12086,12086],\"mapped\",[24318]],[[12087,12087],\"mapped\",[24331]],[[12088,12088],\"mapped\",[24339]],[[12089,12089],\"mapped\",[24400]],[[12090,12090],\"mapped\",[24417]],[[12091,12091],\"mapped\",[24435]],[[12092,12092],\"mapped\",[24515]],[[12093,12093],\"mapped\",[25096]],[[12094,12094],\"mapped\",[25142]],[[12095,12095],\"mapped\",[25163]],[[12096,12096],\"mapped\",[25903]],[[12097,12097],\"mapped\",[25908]],[[12098,12098],\"mapped\",[25991]],[[12099,12099],\"mapped\",[26007]],[[12100,12100],\"mapped\",[26020]],[[12101,12101],\"mapped\",[26041]],[[12102,12102],\"mapped\",[26080]],[[12103,12103],\"mapped\",[26085]],[[12104,12104],\"mapped\",[26352]],[[12105,12105],\"mapped\",[26376]],[[12106,12106],\"mapped\",[26408]],[[12107,12107],\"mapped\",[27424]],[[12108,12108],\"mapped\",[27490]],[[12109,12109],\"mapped\",[27513]],[[12110,12110],\"mapped\",[27571]],[[12111,12111],\"mapped\",[27595]],[[12112,12112],\"mapped\",[27604]],[[12113,12113],\"mapped\",[27611]],[[12114,12114],\"mapped\",[27663]],[[12115,12115],\"mapped\",[27668]],[[12116,12116],\"mapped\",[27700]],[[12117,12117],\"mapped\",[28779]],[[12118,12118],\"mapped\",[29226]],[[12119,12119],\"mapped\",[29238]],[[12120,12120],\"mapped\",[29243]],[[12121,12121],\"mapped\",[29247]],[[12122,12122],\"mapped\",[29255]],[[12123,12123],\"mapped\",[29273]],[[12124,12124],\"mapped\",[29275]],[[12125,12125],\"mapped\",[29356]],[[12126,12126],\"mapped\",[29572]],[[12127,12127],\"mapped\",[29577]],[[12128,12128],\"mapped\",[29916]],[[12129,12129],\"mapped\",[29926]],[[12130,12130],\"mapped\",[29976]],[[12131,12131],\"mapped\",[29983]],[[12132,12132],\"mapped\",[29992]],[[12133,12133],\"mapped\",[30000]],[[12134,12134],\"mapped\",[30091]],[[12135,12135],\"mapped\",[30098]],[[12136,12136],\"mapped\",[30326]],[[12137,12137],\"mapped\",[30333]],[[12138,12138],\"mapped\",[30382]],[[12139,12139],\"mapped\",[30399]],[[12140,12140],\"mapped\",[30446]],[[12141,12141],\"mapped\",[30683]],[[12142,12142],\"mapped\",[30690]],[[12143,12143],\"mapped\",[30707]],[[12144,12144],\"mapped\",[31034]],[[12145,12145],\"mapped\",[31160]],[[12146,12146],\"mapped\",[31166]],[[12147,12147],\"mapped\",[31348]],[[12148,12148],\"mapped\",[31435]],[[12149,12149],\"mapped\",[31481]],[[12150,12150],\"mapped\",[31859]],[[12151,12151],\"mapped\",[31992]],[[12152,12152],\"mapped\",[32566]],[[12153,12153],\"mapped\",[32593]],[[12154,12154],\"mapped\",[32650]],[[12155,12155],\"mapped\",[32701]],[[12156,12156],\"mapped\",[32769]],[[12157,12157],\"mapped\",[32780]],[[12158,12158],\"mapped\",[32786]],[[12159,12159],\"mapped\",[32819]],[[12160,12160],\"mapped\",[32895]],[[12161,12161],\"mapped\",[32905]],[[12162,12162],\"mapped\",[33251]],[[12163,12163],\"mapped\",[33258]],[[12164,12164],\"mapped\",[33267]],[[12165,12165],\"mapped\",[33276]],[[12166,12166],\"mapped\",[33292]],[[12167,12167],\"mapped\",[33307]],[[12168,12168],\"mapped\",[33311]],[[12169,12169],\"mapped\",[33390]],[[12170,12170],\"mapped\",[33394]],[[12171,12171],\"mapped\",[33400]],[[12172,12172],\"mapped\",[34381]],[[12173,12173],\"mapped\",[34411]],[[12174,12174],\"mapped\",[34880]],[[12175,12175],\"mapped\",[34892]],[[12176,12176],\"mapped\",[34915]],[[12177,12177],\"mapped\",[35198]],[[12178,12178],\"mapped\",[35211]],[[12179,12179],\"mapped\",[35282]],[[12180,12180],\"mapped\",[35328]],[[12181,12181],\"mapped\",[35895]],[[12182,12182],\"mapped\",[35910]],[[12183,12183],\"mapped\",[35925]],[[12184,12184],\"mapped\",[35960]],[[12185,12185],\"mapped\",[35997]],[[12186,12186],\"mapped\",[36196]],[[12187,12187],\"mapped\",[36208]],[[12188,12188],\"mapped\",[36275]],[[12189,12189],\"mapped\",[36523]],[[12190,12190],\"mapped\",[36554]],[[12191,12191],\"mapped\",[36763]],[[12192,12192],\"mapped\",[36784]],[[12193,12193],\"mapped\",[36789]],[[12194,12194],\"mapped\",[37009]],[[12195,12195],\"mapped\",[37193]],[[12196,12196],\"mapped\",[37318]],[[12197,12197],\"mapped\",[37324]],[[12198,12198],\"mapped\",[37329]],[[12199,12199],\"mapped\",[38263]],[[12200,12200],\"mapped\",[38272]],[[12201,12201],\"mapped\",[38428]],[[12202,12202],\"mapped\",[38582]],[[12203,12203],\"mapped\",[38585]],[[12204,12204],\"mapped\",[38632]],[[12205,12205],\"mapped\",[38737]],[[12206,12206],\"mapped\",[38750]],[[12207,12207],\"mapped\",[38754]],[[12208,12208],\"mapped\",[38761]],[[12209,12209],\"mapped\",[38859]],[[12210,12210],\"mapped\",[38893]],[[12211,12211],\"mapped\",[38899]],[[12212,12212],\"mapped\",[38913]],[[12213,12213],\"mapped\",[39080]],[[12214,12214],\"mapped\",[39131]],[[12215,12215],\"mapped\",[39135]],[[12216,12216],\"mapped\",[39318]],[[12217,12217],\"mapped\",[39321]],[[12218,12218],\"mapped\",[39340]],[[12219,12219],\"mapped\",[39592]],[[12220,12220],\"mapped\",[39640]],[[12221,12221],\"mapped\",[39647]],[[12222,12222],\"mapped\",[39717]],[[12223,12223],\"mapped\",[39727]],[[12224,12224],\"mapped\",[39730]],[[12225,12225],\"mapped\",[39740]],[[12226,12226],\"mapped\",[39770]],[[12227,12227],\"mapped\",[40165]],[[12228,12228],\"mapped\",[40565]],[[12229,12229],\"mapped\",[40575]],[[12230,12230],\"mapped\",[40613]],[[12231,12231],\"mapped\",[40635]],[[12232,12232],\"mapped\",[40643]],[[12233,12233],\"mapped\",[40653]],[[12234,12234],\"mapped\",[40657]],[[12235,12235],\"mapped\",[40697]],[[12236,12236],\"mapped\",[40701]],[[12237,12237],\"mapped\",[40718]],[[12238,12238],\"mapped\",[40723]],[[12239,12239],\"mapped\",[40736]],[[12240,12240],\"mapped\",[40763]],[[12241,12241],\"mapped\",[40778]],[[12242,12242],\"mapped\",[40786]],[[12243,12243],\"mapped\",[40845]],[[12244,12244],\"mapped\",[40860]],[[12245,12245],\"mapped\",[40864]],[[12246,12271],\"disallowed\"],[[12272,12283],\"disallowed\"],[[12284,12287],\"disallowed\"],[[12288,12288],\"disallowed_STD3_mapped\",[32]],[[12289,12289],\"valid\",[],\"NV8\"],[[12290,12290],\"mapped\",[46]],[[12291,12292],\"valid\",[],\"NV8\"],[[12293,12295],\"valid\"],[[12296,12329],\"valid\",[],\"NV8\"],[[12330,12333],\"valid\"],[[12334,12341],\"valid\",[],\"NV8\"],[[12342,12342],\"mapped\",[12306]],[[12343,12343],\"valid\",[],\"NV8\"],[[12344,12344],\"mapped\",[21313]],[[12345,12345],\"mapped\",[21316]],[[12346,12346],\"mapped\",[21317]],[[12347,12347],\"valid\",[],\"NV8\"],[[12348,12348],\"valid\"],[[12349,12349],\"valid\",[],\"NV8\"],[[12350,12350],\"valid\",[],\"NV8\"],[[12351,12351],\"valid\",[],\"NV8\"],[[12352,12352],\"disallowed\"],[[12353,12436],\"valid\"],[[12437,12438],\"valid\"],[[12439,12440],\"disallowed\"],[[12441,12442],\"valid\"],[[12443,12443],\"disallowed_STD3_mapped\",[32,12441]],[[12444,12444],\"disallowed_STD3_mapped\",[32,12442]],[[12445,12446],\"valid\"],[[12447,12447],\"mapped\",[12424,12426]],[[12448,12448],\"valid\",[],\"NV8\"],[[12449,12542],\"valid\"],[[12543,12543],\"mapped\",[12467,12488]],[[12544,12548],\"disallowed\"],[[12549,12588],\"valid\"],[[12589,12589],\"valid\"],[[12590,12592],\"disallowed\"],[[12593,12593],\"mapped\",[4352]],[[12594,12594],\"mapped\",[4353]],[[12595,12595],\"mapped\",[4522]],[[12596,12596],\"mapped\",[4354]],[[12597,12597],\"mapped\",[4524]],[[12598,12598],\"mapped\",[4525]],[[12599,12599],\"mapped\",[4355]],[[12600,12600],\"mapped\",[4356]],[[12601,12601],\"mapped\",[4357]],[[12602,12602],\"mapped\",[4528]],[[12603,12603],\"mapped\",[4529]],[[12604,12604],\"mapped\",[4530]],[[12605,12605],\"mapped\",[4531]],[[12606,12606],\"mapped\",[4532]],[[12607,12607],\"mapped\",[4533]],[[12608,12608],\"mapped\",[4378]],[[12609,12609],\"mapped\",[4358]],[[12610,12610],\"mapped\",[4359]],[[12611,12611],\"mapped\",[4360]],[[12612,12612],\"mapped\",[4385]],[[12613,12613],\"mapped\",[4361]],[[12614,12614],\"mapped\",[4362]],[[12615,12615],\"mapped\",[4363]],[[12616,12616],\"mapped\",[4364]],[[12617,12617],\"mapped\",[4365]],[[12618,12618],\"mapped\",[4366]],[[12619,12619],\"mapped\",[4367]],[[12620,12620],\"mapped\",[4368]],[[12621,12621],\"mapped\",[4369]],[[12622,12622],\"mapped\",[4370]],[[12623,12623],\"mapped\",[4449]],[[12624,12624],\"mapped\",[4450]],[[12625,12625],\"mapped\",[4451]],[[12626,12626],\"mapped\",[4452]],[[12627,12627],\"mapped\",[4453]],[[12628,12628],\"mapped\",[4454]],[[12629,12629],\"mapped\",[4455]],[[12630,12630],\"mapped\",[4456]],[[12631,12631],\"mapped\",[4457]],[[12632,12632],\"mapped\",[4458]],[[12633,12633],\"mapped\",[4459]],[[12634,12634],\"mapped\",[4460]],[[12635,12635],\"mapped\",[4461]],[[12636,12636],\"mapped\",[4462]],[[12637,12637],\"mapped\",[4463]],[[12638,12638],\"mapped\",[4464]],[[12639,12639],\"mapped\",[4465]],[[12640,12640],\"mapped\",[4466]],[[12641,12641],\"mapped\",[4467]],[[12642,12642],\"mapped\",[4468]],[[12643,12643],\"mapped\",[4469]],[[12644,12644],\"disallowed\"],[[12645,12645],\"mapped\",[4372]],[[12646,12646],\"mapped\",[4373]],[[12647,12647],\"mapped\",[4551]],[[12648,12648],\"mapped\",[4552]],[[12649,12649],\"mapped\",[4556]],[[12650,12650],\"mapped\",[4558]],[[12651,12651],\"mapped\",[4563]],[[12652,12652],\"mapped\",[4567]],[[12653,12653],\"mapped\",[4569]],[[12654,12654],\"mapped\",[4380]],[[12655,12655],\"mapped\",[4573]],[[12656,12656],\"mapped\",[4575]],[[12657,12657],\"mapped\",[4381]],[[12658,12658],\"mapped\",[4382]],[[12659,12659],\"mapped\",[4384]],[[12660,12660],\"mapped\",[4386]],[[12661,12661],\"mapped\",[4387]],[[12662,12662],\"mapped\",[4391]],[[12663,12663],\"mapped\",[4393]],[[12664,12664],\"mapped\",[4395]],[[12665,12665],\"mapped\",[4396]],[[12666,12666],\"mapped\",[4397]],[[12667,12667],\"mapped\",[4398]],[[12668,12668],\"mapped\",[4399]],[[12669,12669],\"mapped\",[4402]],[[12670,12670],\"mapped\",[4406]],[[12671,12671],\"mapped\",[4416]],[[12672,12672],\"mapped\",[4423]],[[12673,12673],\"mapped\",[4428]],[[12674,12674],\"mapped\",[4593]],[[12675,12675],\"mapped\",[4594]],[[12676,12676],\"mapped\",[4439]],[[12677,12677],\"mapped\",[4440]],[[12678,12678],\"mapped\",[4441]],[[12679,12679],\"mapped\",[4484]],[[12680,12680],\"mapped\",[4485]],[[12681,12681],\"mapped\",[4488]],[[12682,12682],\"mapped\",[4497]],[[12683,12683],\"mapped\",[4498]],[[12684,12684],\"mapped\",[4500]],[[12685,12685],\"mapped\",[4510]],[[12686,12686],\"mapped\",[4513]],[[12687,12687],\"disallowed\"],[[12688,12689],\"valid\",[],\"NV8\"],[[12690,12690],\"mapped\",[19968]],[[12691,12691],\"mapped\",[20108]],[[12692,12692],\"mapped\",[19977]],[[12693,12693],\"mapped\",[22235]],[[12694,12694],\"mapped\",[19978]],[[12695,12695],\"mapped\",[20013]],[[12696,12696],\"mapped\",[19979]],[[12697,12697],\"mapped\",[30002]],[[12698,12698],\"mapped\",[20057]],[[12699,12699],\"mapped\",[19993]],[[12700,12700],\"mapped\",[19969]],[[12701,12701],\"mapped\",[22825]],[[12702,12702],\"mapped\",[22320]],[[12703,12703],\"mapped\",[20154]],[[12704,12727],\"valid\"],[[12728,12730],\"valid\"],[[12731,12735],\"disallowed\"],[[12736,12751],\"valid\",[],\"NV8\"],[[12752,12771],\"valid\",[],\"NV8\"],[[12772,12783],\"disallowed\"],[[12784,12799],\"valid\"],[[12800,12800],\"disallowed_STD3_mapped\",[40,4352,41]],[[12801,12801],\"disallowed_STD3_mapped\",[40,4354,41]],[[12802,12802],\"disallowed_STD3_mapped\",[40,4355,41]],[[12803,12803],\"disallowed_STD3_mapped\",[40,4357,41]],[[12804,12804],\"disallowed_STD3_mapped\",[40,4358,41]],[[12805,12805],\"disallowed_STD3_mapped\",[40,4359,41]],[[12806,12806],\"disallowed_STD3_mapped\",[40,4361,41]],[[12807,12807],\"disallowed_STD3_mapped\",[40,4363,41]],[[12808,12808],\"disallowed_STD3_mapped\",[40,4364,41]],[[12809,12809],\"disallowed_STD3_mapped\",[40,4366,41]],[[12810,12810],\"disallowed_STD3_mapped\",[40,4367,41]],[[12811,12811],\"disallowed_STD3_mapped\",[40,4368,41]],[[12812,12812],\"disallowed_STD3_mapped\",[40,4369,41]],[[12813,12813],\"disallowed_STD3_mapped\",[40,4370,41]],[[12814,12814],\"disallowed_STD3_mapped\",[40,44032,41]],[[12815,12815],\"disallowed_STD3_mapped\",[40,45208,41]],[[12816,12816],\"disallowed_STD3_mapped\",[40,45796,41]],[[12817,12817],\"disallowed_STD3_mapped\",[40,46972,41]],[[12818,12818],\"disallowed_STD3_mapped\",[40,47560,41]],[[12819,12819],\"disallowed_STD3_mapped\",[40,48148,41]],[[12820,12820],\"disallowed_STD3_mapped\",[40,49324,41]],[[12821,12821],\"disallowed_STD3_mapped\",[40,50500,41]],[[12822,12822],\"disallowed_STD3_mapped\",[40,51088,41]],[[12823,12823],\"disallowed_STD3_mapped\",[40,52264,41]],[[12824,12824],\"disallowed_STD3_mapped\",[40,52852,41]],[[12825,12825],\"disallowed_STD3_mapped\",[40,53440,41]],[[12826,12826],\"disallowed_STD3_mapped\",[40,54028,41]],[[12827,12827],\"disallowed_STD3_mapped\",[40,54616,41]],[[12828,12828],\"disallowed_STD3_mapped\",[40,51452,41]],[[12829,12829],\"disallowed_STD3_mapped\",[40,50724,51204,41]],[[12830,12830],\"disallowed_STD3_mapped\",[40,50724,54980,41]],[[12831,12831],\"disallowed\"],[[12832,12832],\"disallowed_STD3_mapped\",[40,19968,41]],[[12833,12833],\"disallowed_STD3_mapped\",[40,20108,41]],[[12834,12834],\"disallowed_STD3_mapped\",[40,19977,41]],[[12835,12835],\"disallowed_STD3_mapped\",[40,22235,41]],[[12836,12836],\"disallowed_STD3_mapped\",[40,20116,41]],[[12837,12837],\"disallowed_STD3_mapped\",[40,20845,41]],[[12838,12838],\"disallowed_STD3_mapped\",[40,19971,41]],[[12839,12839],\"disallowed_STD3_mapped\",[40,20843,41]],[[12840,12840],\"disallowed_STD3_mapped\",[40,20061,41]],[[12841,12841],\"disallowed_STD3_mapped\",[40,21313,41]],[[12842,12842],\"disallowed_STD3_mapped\",[40,26376,41]],[[12843,12843],\"disallowed_STD3_mapped\",[40,28779,41]],[[12844,12844],\"disallowed_STD3_mapped\",[40,27700,41]],[[12845,12845],\"disallowed_STD3_mapped\",[40,26408,41]],[[12846,12846],\"disallowed_STD3_mapped\",[40,37329,41]],[[12847,12847],\"disallowed_STD3_mapped\",[40,22303,41]],[[12848,12848],\"disallowed_STD3_mapped\",[40,26085,41]],[[12849,12849],\"disallowed_STD3_mapped\",[40,26666,41]],[[12850,12850],\"disallowed_STD3_mapped\",[40,26377,41]],[[12851,12851],\"disallowed_STD3_mapped\",[40,31038,41]],[[12852,12852],\"disallowed_STD3_mapped\",[40,21517,41]],[[12853,12853],\"disallowed_STD3_mapped\",[40,29305,41]],[[12854,12854],\"disallowed_STD3_mapped\",[40,36001,41]],[[12855,12855],\"disallowed_STD3_mapped\",[40,31069,41]],[[12856,12856],\"disallowed_STD3_mapped\",[40,21172,41]],[[12857,12857],\"disallowed_STD3_mapped\",[40,20195,41]],[[12858,12858],\"disallowed_STD3_mapped\",[40,21628,41]],[[12859,12859],\"disallowed_STD3_mapped\",[40,23398,41]],[[12860,12860],\"disallowed_STD3_mapped\",[40,30435,41]],[[12861,12861],\"disallowed_STD3_mapped\",[40,20225,41]],[[12862,12862],\"disallowed_STD3_mapped\",[40,36039,41]],[[12863,12863],\"disallowed_STD3_mapped\",[40,21332,41]],[[12864,12864],\"disallowed_STD3_mapped\",[40,31085,41]],[[12865,12865],\"disallowed_STD3_mapped\",[40,20241,41]],[[12866,12866],\"disallowed_STD3_mapped\",[40,33258,41]],[[12867,12867],\"disallowed_STD3_mapped\",[40,33267,41]],[[12868,12868],\"mapped\",[21839]],[[12869,12869],\"mapped\",[24188]],[[12870,12870],\"mapped\",[25991]],[[12871,12871],\"mapped\",[31631]],[[12872,12879],\"valid\",[],\"NV8\"],[[12880,12880],\"mapped\",[112,116,101]],[[12881,12881],\"mapped\",[50,49]],[[12882,12882],\"mapped\",[50,50]],[[12883,12883],\"mapped\",[50,51]],[[12884,12884],\"mapped\",[50,52]],[[12885,12885],\"mapped\",[50,53]],[[12886,12886],\"mapped\",[50,54]],[[12887,12887],\"mapped\",[50,55]],[[12888,12888],\"mapped\",[50,56]],[[12889,12889],\"mapped\",[50,57]],[[12890,12890],\"mapped\",[51,48]],[[12891,12891],\"mapped\",[51,49]],[[12892,12892],\"mapped\",[51,50]],[[12893,12893],\"mapped\",[51,51]],[[12894,12894],\"mapped\",[51,52]],[[12895,12895],\"mapped\",[51,53]],[[12896,12896],\"mapped\",[4352]],[[12897,12897],\"mapped\",[4354]],[[12898,12898],\"mapped\",[4355]],[[12899,12899],\"mapped\",[4357]],[[12900,12900],\"mapped\",[4358]],[[12901,12901],\"mapped\",[4359]],[[12902,12902],\"mapped\",[4361]],[[12903,12903],\"mapped\",[4363]],[[12904,12904],\"mapped\",[4364]],[[12905,12905],\"mapped\",[4366]],[[12906,12906],\"mapped\",[4367]],[[12907,12907],\"mapped\",[4368]],[[12908,12908],\"mapped\",[4369]],[[12909,12909],\"mapped\",[4370]],[[12910,12910],\"mapped\",[44032]],[[12911,12911],\"mapped\",[45208]],[[12912,12912],\"mapped\",[45796]],[[12913,12913],\"mapped\",[46972]],[[12914,12914],\"mapped\",[47560]],[[12915,12915],\"mapped\",[48148]],[[12916,12916],\"mapped\",[49324]],[[12917,12917],\"mapped\",[50500]],[[12918,12918],\"mapped\",[51088]],[[12919,12919],\"mapped\",[52264]],[[12920,12920],\"mapped\",[52852]],[[12921,12921],\"mapped\",[53440]],[[12922,12922],\"mapped\",[54028]],[[12923,12923],\"mapped\",[54616]],[[12924,12924],\"mapped\",[52280,44256]],[[12925,12925],\"mapped\",[51452,51032]],[[12926,12926],\"mapped\",[50864]],[[12927,12927],\"valid\",[],\"NV8\"],[[12928,12928],\"mapped\",[19968]],[[12929,12929],\"mapped\",[20108]],[[12930,12930],\"mapped\",[19977]],[[12931,12931],\"mapped\",[22235]],[[12932,12932],\"mapped\",[20116]],[[12933,12933],\"mapped\",[20845]],[[12934,12934],\"mapped\",[19971]],[[12935,12935],\"mapped\",[20843]],[[12936,12936],\"mapped\",[20061]],[[12937,12937],\"mapped\",[21313]],[[12938,12938],\"mapped\",[26376]],[[12939,12939],\"mapped\",[28779]],[[12940,12940],\"mapped\",[27700]],[[12941,12941],\"mapped\",[26408]],[[12942,12942],\"mapped\",[37329]],[[12943,12943],\"mapped\",[22303]],[[12944,12944],\"mapped\",[26085]],[[12945,12945],\"mapped\",[26666]],[[12946,12946],\"mapped\",[26377]],[[12947,12947],\"mapped\",[31038]],[[12948,12948],\"mapped\",[21517]],[[12949,12949],\"mapped\",[29305]],[[12950,12950],\"mapped\",[36001]],[[12951,12951],\"mapped\",[31069]],[[12952,12952],\"mapped\",[21172]],[[12953,12953],\"mapped\",[31192]],[[12954,12954],\"mapped\",[30007]],[[12955,12955],\"mapped\",[22899]],[[12956,12956],\"mapped\",[36969]],[[12957,12957],\"mapped\",[20778]],[[12958,12958],\"mapped\",[21360]],[[12959,12959],\"mapped\",[27880]],[[12960,12960],\"mapped\",[38917]],[[12961,12961],\"mapped\",[20241]],[[12962,12962],\"mapped\",[20889]],[[12963,12963],\"mapped\",[27491]],[[12964,12964],\"mapped\",[19978]],[[12965,12965],\"mapped\",[20013]],[[12966,12966],\"mapped\",[19979]],[[12967,12967],\"mapped\",[24038]],[[12968,12968],\"mapped\",[21491]],[[12969,12969],\"mapped\",[21307]],[[12970,12970],\"mapped\",[23447]],[[12971,12971],\"mapped\",[23398]],[[12972,12972],\"mapped\",[30435]],[[12973,12973],\"mapped\",[20225]],[[12974,12974],\"mapped\",[36039]],[[12975,12975],\"mapped\",[21332]],[[12976,12976],\"mapped\",[22812]],[[12977,12977],\"mapped\",[51,54]],[[12978,12978],\"mapped\",[51,55]],[[12979,12979],\"mapped\",[51,56]],[[12980,12980],\"mapped\",[51,57]],[[12981,12981],\"mapped\",[52,48]],[[12982,12982],\"mapped\",[52,49]],[[12983,12983],\"mapped\",[52,50]],[[12984,12984],\"mapped\",[52,51]],[[12985,12985],\"mapped\",[52,52]],[[12986,12986],\"mapped\",[52,53]],[[12987,12987],\"mapped\",[52,54]],[[12988,12988],\"mapped\",[52,55]],[[12989,12989],\"mapped\",[52,56]],[[12990,12990],\"mapped\",[52,57]],[[12991,12991],\"mapped\",[53,48]],[[12992,12992],\"mapped\",[49,26376]],[[12993,12993],\"mapped\",[50,26376]],[[12994,12994],\"mapped\",[51,26376]],[[12995,12995],\"mapped\",[52,26376]],[[12996,12996],\"mapped\",[53,26376]],[[12997,12997],\"mapped\",[54,26376]],[[12998,12998],\"mapped\",[55,26376]],[[12999,12999],\"mapped\",[56,26376]],[[13000,13000],\"mapped\",[57,26376]],[[13001,13001],\"mapped\",[49,48,26376]],[[13002,13002],\"mapped\",[49,49,26376]],[[13003,13003],\"mapped\",[49,50,26376]],[[13004,13004],\"mapped\",[104,103]],[[13005,13005],\"mapped\",[101,114,103]],[[13006,13006],\"mapped\",[101,118]],[[13007,13007],\"mapped\",[108,116,100]],[[13008,13008],\"mapped\",[12450]],[[13009,13009],\"mapped\",[12452]],[[13010,13010],\"mapped\",[12454]],[[13011,13011],\"mapped\",[12456]],[[13012,13012],\"mapped\",[12458]],[[13013,13013],\"mapped\",[12459]],[[13014,13014],\"mapped\",[12461]],[[13015,13015],\"mapped\",[12463]],[[13016,13016],\"mapped\",[12465]],[[13017,13017],\"mapped\",[12467]],[[13018,13018],\"mapped\",[12469]],[[13019,13019],\"mapped\",[12471]],[[13020,13020],\"mapped\",[12473]],[[13021,13021],\"mapped\",[12475]],[[13022,13022],\"mapped\",[12477]],[[13023,13023],\"mapped\",[12479]],[[13024,13024],\"mapped\",[12481]],[[13025,13025],\"mapped\",[12484]],[[13026,13026],\"mapped\",[12486]],[[13027,13027],\"mapped\",[12488]],[[13028,13028],\"mapped\",[12490]],[[13029,13029],\"mapped\",[12491]],[[13030,13030],\"mapped\",[12492]],[[13031,13031],\"mapped\",[12493]],[[13032,13032],\"mapped\",[12494]],[[13033,13033],\"mapped\",[12495]],[[13034,13034],\"mapped\",[12498]],[[13035,13035],\"mapped\",[12501]],[[13036,13036],\"mapped\",[12504]],[[13037,13037],\"mapped\",[12507]],[[13038,13038],\"mapped\",[12510]],[[13039,13039],\"mapped\",[12511]],[[13040,13040],\"mapped\",[12512]],[[13041,13041],\"mapped\",[12513]],[[13042,13042],\"mapped\",[12514]],[[13043,13043],\"mapped\",[12516]],[[13044,13044],\"mapped\",[12518]],[[13045,13045],\"mapped\",[12520]],[[13046,13046],\"mapped\",[12521]],[[13047,13047],\"mapped\",[12522]],[[13048,13048],\"mapped\",[12523]],[[13049,13049],\"mapped\",[12524]],[[13050,13050],\"mapped\",[12525]],[[13051,13051],\"mapped\",[12527]],[[13052,13052],\"mapped\",[12528]],[[13053,13053],\"mapped\",[12529]],[[13054,13054],\"mapped\",[12530]],[[13055,13055],\"disallowed\"],[[13056,13056],\"mapped\",[12450,12497,12540,12488]],[[13057,13057],\"mapped\",[12450,12523,12501,12449]],[[13058,13058],\"mapped\",[12450,12531,12506,12450]],[[13059,13059],\"mapped\",[12450,12540,12523]],[[13060,13060],\"mapped\",[12452,12491,12531,12464]],[[13061,13061],\"mapped\",[12452,12531,12481]],[[13062,13062],\"mapped\",[12454,12457,12531]],[[13063,13063],\"mapped\",[12456,12473,12463,12540,12489]],[[13064,13064],\"mapped\",[12456,12540,12459,12540]],[[13065,13065],\"mapped\",[12458,12531,12473]],[[13066,13066],\"mapped\",[12458,12540,12512]],[[13067,13067],\"mapped\",[12459,12452,12522]],[[13068,13068],\"mapped\",[12459,12521,12483,12488]],[[13069,13069],\"mapped\",[12459,12525,12522,12540]],[[13070,13070],\"mapped\",[12460,12525,12531]],[[13071,13071],\"mapped\",[12460,12531,12510]],[[13072,13072],\"mapped\",[12462,12460]],[[13073,13073],\"mapped\",[12462,12491,12540]],[[13074,13074],\"mapped\",[12461,12517,12522,12540]],[[13075,13075],\"mapped\",[12462,12523,12480,12540]],[[13076,13076],\"mapped\",[12461,12525]],[[13077,13077],\"mapped\",[12461,12525,12464,12521,12512]],[[13078,13078],\"mapped\",[12461,12525,12513,12540,12488,12523]],[[13079,13079],\"mapped\",[12461,12525,12527,12483,12488]],[[13080,13080],\"mapped\",[12464,12521,12512]],[[13081,13081],\"mapped\",[12464,12521,12512,12488,12531]],[[13082,13082],\"mapped\",[12463,12523,12476,12452,12525]],[[13083,13083],\"mapped\",[12463,12525,12540,12493]],[[13084,13084],\"mapped\",[12465,12540,12473]],[[13085,13085],\"mapped\",[12467,12523,12490]],[[13086,13086],\"mapped\",[12467,12540,12509]],[[13087,13087],\"mapped\",[12469,12452,12463,12523]],[[13088,13088],\"mapped\",[12469,12531,12481,12540,12512]],[[13089,13089],\"mapped\",[12471,12522,12531,12464]],[[13090,13090],\"mapped\",[12475,12531,12481]],[[13091,13091],\"mapped\",[12475,12531,12488]],[[13092,13092],\"mapped\",[12480,12540,12473]],[[13093,13093],\"mapped\",[12487,12471]],[[13094,13094],\"mapped\",[12489,12523]],[[13095,13095],\"mapped\",[12488,12531]],[[13096,13096],\"mapped\",[12490,12494]],[[13097,13097],\"mapped\",[12494,12483,12488]],[[13098,13098],\"mapped\",[12495,12452,12484]],[[13099,13099],\"mapped\",[12497,12540,12475,12531,12488]],[[13100,13100],\"mapped\",[12497,12540,12484]],[[13101,13101],\"mapped\",[12496,12540,12524,12523]],[[13102,13102],\"mapped\",[12500,12450,12473,12488,12523]],[[13103,13103],\"mapped\",[12500,12463,12523]],[[13104,13104],\"mapped\",[12500,12467]],[[13105,13105],\"mapped\",[12499,12523]],[[13106,13106],\"mapped\",[12501,12449,12521,12483,12489]],[[13107,13107],\"mapped\",[12501,12451,12540,12488]],[[13108,13108],\"mapped\",[12502,12483,12471,12455,12523]],[[13109,13109],\"mapped\",[12501,12521,12531]],[[13110,13110],\"mapped\",[12504,12463,12479,12540,12523]],[[13111,13111],\"mapped\",[12506,12477]],[[13112,13112],\"mapped\",[12506,12491,12498]],[[13113,13113],\"mapped\",[12504,12523,12484]],[[13114,13114],\"mapped\",[12506,12531,12473]],[[13115,13115],\"mapped\",[12506,12540,12472]],[[13116,13116],\"mapped\",[12505,12540,12479]],[[13117,13117],\"mapped\",[12509,12452,12531,12488]],[[13118,13118],\"mapped\",[12508,12523,12488]],[[13119,13119],\"mapped\",[12507,12531]],[[13120,13120],\"mapped\",[12509,12531,12489]],[[13121,13121],\"mapped\",[12507,12540,12523]],[[13122,13122],\"mapped\",[12507,12540,12531]],[[13123,13123],\"mapped\",[12510,12452,12463,12525]],[[13124,13124],\"mapped\",[12510,12452,12523]],[[13125,13125],\"mapped\",[12510,12483,12495]],[[13126,13126],\"mapped\",[12510,12523,12463]],[[13127,13127],\"mapped\",[12510,12531,12471,12519,12531]],[[13128,13128],\"mapped\",[12511,12463,12525,12531]],[[13129,13129],\"mapped\",[12511,12522]],[[13130,13130],\"mapped\",[12511,12522,12496,12540,12523]],[[13131,13131],\"mapped\",[12513,12460]],[[13132,13132],\"mapped\",[12513,12460,12488,12531]],[[13133,13133],\"mapped\",[12513,12540,12488,12523]],[[13134,13134],\"mapped\",[12516,12540,12489]],[[13135,13135],\"mapped\",[12516,12540,12523]],[[13136,13136],\"mapped\",[12518,12450,12531]],[[13137,13137],\"mapped\",[12522,12483,12488,12523]],[[13138,13138],\"mapped\",[12522,12521]],[[13139,13139],\"mapped\",[12523,12500,12540]],[[13140,13140],\"mapped\",[12523,12540,12502,12523]],[[13141,13141],\"mapped\",[12524,12512]],[[13142,13142],\"mapped\",[12524,12531,12488,12466,12531]],[[13143,13143],\"mapped\",[12527,12483,12488]],[[13144,13144],\"mapped\",[48,28857]],[[13145,13145],\"mapped\",[49,28857]],[[13146,13146],\"mapped\",[50,28857]],[[13147,13147],\"mapped\",[51,28857]],[[13148,13148],\"mapped\",[52,28857]],[[13149,13149],\"mapped\",[53,28857]],[[13150,13150],\"mapped\",[54,28857]],[[13151,13151],\"mapped\",[55,28857]],[[13152,13152],\"mapped\",[56,28857]],[[13153,13153],\"mapped\",[57,28857]],[[13154,13154],\"mapped\",[49,48,28857]],[[13155,13155],\"mapped\",[49,49,28857]],[[13156,13156],\"mapped\",[49,50,28857]],[[13157,13157],\"mapped\",[49,51,28857]],[[13158,13158],\"mapped\",[49,52,28857]],[[13159,13159],\"mapped\",[49,53,28857]],[[13160,13160],\"mapped\",[49,54,28857]],[[13161,13161],\"mapped\",[49,55,28857]],[[13162,13162],\"mapped\",[49,56,28857]],[[13163,13163],\"mapped\",[49,57,28857]],[[13164,13164],\"mapped\",[50,48,28857]],[[13165,13165],\"mapped\",[50,49,28857]],[[13166,13166],\"mapped\",[50,50,28857]],[[13167,13167],\"mapped\",[50,51,28857]],[[13168,13168],\"mapped\",[50,52,28857]],[[13169,13169],\"mapped\",[104,112,97]],[[13170,13170],\"mapped\",[100,97]],[[13171,13171],\"mapped\",[97,117]],[[13172,13172],\"mapped\",[98,97,114]],[[13173,13173],\"mapped\",[111,118]],[[13174,13174],\"mapped\",[112,99]],[[13175,13175],\"mapped\",[100,109]],[[13176,13176],\"mapped\",[100,109,50]],[[13177,13177],\"mapped\",[100,109,51]],[[13178,13178],\"mapped\",[105,117]],[[13179,13179],\"mapped\",[24179,25104]],[[13180,13180],\"mapped\",[26157,21644]],[[13181,13181],\"mapped\",[22823,27491]],[[13182,13182],\"mapped\",[26126,27835]],[[13183,13183],\"mapped\",[26666,24335,20250,31038]],[[13184,13184],\"mapped\",[112,97]],[[13185,13185],\"mapped\",[110,97]],[[13186,13186],\"mapped\",[956,97]],[[13187,13187],\"mapped\",[109,97]],[[13188,13188],\"mapped\",[107,97]],[[13189,13189],\"mapped\",[107,98]],[[13190,13190],\"mapped\",[109,98]],[[13191,13191],\"mapped\",[103,98]],[[13192,13192],\"mapped\",[99,97,108]],[[13193,13193],\"mapped\",[107,99,97,108]],[[13194,13194],\"mapped\",[112,102]],[[13195,13195],\"mapped\",[110,102]],[[13196,13196],\"mapped\",[956,102]],[[13197,13197],\"mapped\",[956,103]],[[13198,13198],\"mapped\",[109,103]],[[13199,13199],\"mapped\",[107,103]],[[13200,13200],\"mapped\",[104,122]],[[13201,13201],\"mapped\",[107,104,122]],[[13202,13202],\"mapped\",[109,104,122]],[[13203,13203],\"mapped\",[103,104,122]],[[13204,13204],\"mapped\",[116,104,122]],[[13205,13205],\"mapped\",[956,108]],[[13206,13206],\"mapped\",[109,108]],[[13207,13207],\"mapped\",[100,108]],[[13208,13208],\"mapped\",[107,108]],[[13209,13209],\"mapped\",[102,109]],[[13210,13210],\"mapped\",[110,109]],[[13211,13211],\"mapped\",[956,109]],[[13212,13212],\"mapped\",[109,109]],[[13213,13213],\"mapped\",[99,109]],[[13214,13214],\"mapped\",[107,109]],[[13215,13215],\"mapped\",[109,109,50]],[[13216,13216],\"mapped\",[99,109,50]],[[13217,13217],\"mapped\",[109,50]],[[13218,13218],\"mapped\",[107,109,50]],[[13219,13219],\"mapped\",[109,109,51]],[[13220,13220],\"mapped\",[99,109,51]],[[13221,13221],\"mapped\",[109,51]],[[13222,13222],\"mapped\",[107,109,51]],[[13223,13223],\"mapped\",[109,8725,115]],[[13224,13224],\"mapped\",[109,8725,115,50]],[[13225,13225],\"mapped\",[112,97]],[[13226,13226],\"mapped\",[107,112,97]],[[13227,13227],\"mapped\",[109,112,97]],[[13228,13228],\"mapped\",[103,112,97]],[[13229,13229],\"mapped\",[114,97,100]],[[13230,13230],\"mapped\",[114,97,100,8725,115]],[[13231,13231],\"mapped\",[114,97,100,8725,115,50]],[[13232,13232],\"mapped\",[112,115]],[[13233,13233],\"mapped\",[110,115]],[[13234,13234],\"mapped\",[956,115]],[[13235,13235],\"mapped\",[109,115]],[[13236,13236],\"mapped\",[112,118]],[[13237,13237],\"mapped\",[110,118]],[[13238,13238],\"mapped\",[956,118]],[[13239,13239],\"mapped\",[109,118]],[[13240,13240],\"mapped\",[107,118]],[[13241,13241],\"mapped\",[109,118]],[[13242,13242],\"mapped\",[112,119]],[[13243,13243],\"mapped\",[110,119]],[[13244,13244],\"mapped\",[956,119]],[[13245,13245],\"mapped\",[109,119]],[[13246,13246],\"mapped\",[107,119]],[[13247,13247],\"mapped\",[109,119]],[[13248,13248],\"mapped\",[107,969]],[[13249,13249],\"mapped\",[109,969]],[[13250,13250],\"disallowed\"],[[13251,13251],\"mapped\",[98,113]],[[13252,13252],\"mapped\",[99,99]],[[13253,13253],\"mapped\",[99,100]],[[13254,13254],\"mapped\",[99,8725,107,103]],[[13255,13255],\"disallowed\"],[[13256,13256],\"mapped\",[100,98]],[[13257,13257],\"mapped\",[103,121]],[[13258,13258],\"mapped\",[104,97]],[[13259,13259],\"mapped\",[104,112]],[[13260,13260],\"mapped\",[105,110]],[[13261,13261],\"mapped\",[107,107]],[[13262,13262],\"mapped\",[107,109]],[[13263,13263],\"mapped\",[107,116]],[[13264,13264],\"mapped\",[108,109]],[[13265,13265],\"mapped\",[108,110]],[[13266,13266],\"mapped\",[108,111,103]],[[13267,13267],\"mapped\",[108,120]],[[13268,13268],\"mapped\",[109,98]],[[13269,13269],\"mapped\",[109,105,108]],[[13270,13270],\"mapped\",[109,111,108]],[[13271,13271],\"mapped\",[112,104]],[[13272,13272],\"disallowed\"],[[13273,13273],\"mapped\",[112,112,109]],[[13274,13274],\"mapped\",[112,114]],[[13275,13275],\"mapped\",[115,114]],[[13276,13276],\"mapped\",[115,118]],[[13277,13277],\"mapped\",[119,98]],[[13278,13278],\"mapped\",[118,8725,109]],[[13279,13279],\"mapped\",[97,8725,109]],[[13280,13280],\"mapped\",[49,26085]],[[13281,13281],\"mapped\",[50,26085]],[[13282,13282],\"mapped\",[51,26085]],[[13283,13283],\"mapped\",[52,26085]],[[13284,13284],\"mapped\",[53,26085]],[[13285,13285],\"mapped\",[54,26085]],[[13286,13286],\"mapped\",[55,26085]],[[13287,13287],\"mapped\",[56,26085]],[[13288,13288],\"mapped\",[57,26085]],[[13289,13289],\"mapped\",[49,48,26085]],[[13290,13290],\"mapped\",[49,49,26085]],[[13291,13291],\"mapped\",[49,50,26085]],[[13292,13292],\"mapped\",[49,51,26085]],[[13293,13293],\"mapped\",[49,52,26085]],[[13294,13294],\"mapped\",[49,53,26085]],[[13295,13295],\"mapped\",[49,54,26085]],[[13296,13296],\"mapped\",[49,55,26085]],[[13297,13297],\"mapped\",[49,56,26085]],[[13298,13298],\"mapped\",[49,57,26085]],[[13299,13299],\"mapped\",[50,48,26085]],[[13300,13300],\"mapped\",[50,49,26085]],[[13301,13301],\"mapped\",[50,50,26085]],[[13302,13302],\"mapped\",[50,51,26085]],[[13303,13303],\"mapped\",[50,52,26085]],[[13304,13304],\"mapped\",[50,53,26085]],[[13305,13305],\"mapped\",[50,54,26085]],[[13306,13306],\"mapped\",[50,55,26085]],[[13307,13307],\"mapped\",[50,56,26085]],[[13308,13308],\"mapped\",[50,57,26085]],[[13309,13309],\"mapped\",[51,48,26085]],[[13310,13310],\"mapped\",[51,49,26085]],[[13311,13311],\"mapped\",[103,97,108]],[[13312,19893],\"valid\"],[[19894,19903],\"disallowed\"],[[19904,19967],\"valid\",[],\"NV8\"],[[19968,40869],\"valid\"],[[40870,40891],\"valid\"],[[40892,40899],\"valid\"],[[40900,40907],\"valid\"],[[40908,40908],\"valid\"],[[40909,40917],\"valid\"],[[40918,40959],\"disallowed\"],[[40960,42124],\"valid\"],[[42125,42127],\"disallowed\"],[[42128,42145],\"valid\",[],\"NV8\"],[[42146,42147],\"valid\",[],\"NV8\"],[[42148,42163],\"valid\",[],\"NV8\"],[[42164,42164],\"valid\",[],\"NV8\"],[[42165,42176],\"valid\",[],\"NV8\"],[[42177,42177],\"valid\",[],\"NV8\"],[[42178,42180],\"valid\",[],\"NV8\"],[[42181,42181],\"valid\",[],\"NV8\"],[[42182,42182],\"valid\",[],\"NV8\"],[[42183,42191],\"disallowed\"],[[42192,42237],\"valid\"],[[42238,42239],\"valid\",[],\"NV8\"],[[42240,42508],\"valid\"],[[42509,42511],\"valid\",[],\"NV8\"],[[42512,42539],\"valid\"],[[42540,42559],\"disallowed\"],[[42560,42560],\"mapped\",[42561]],[[42561,42561],\"valid\"],[[42562,42562],\"mapped\",[42563]],[[42563,42563],\"valid\"],[[42564,42564],\"mapped\",[42565]],[[42565,42565],\"valid\"],[[42566,42566],\"mapped\",[42567]],[[42567,42567],\"valid\"],[[42568,42568],\"mapped\",[42569]],[[42569,42569],\"valid\"],[[42570,42570],\"mapped\",[42571]],[[42571,42571],\"valid\"],[[42572,42572],\"mapped\",[42573]],[[42573,42573],\"valid\"],[[42574,42574],\"mapped\",[42575]],[[42575,42575],\"valid\"],[[42576,42576],\"mapped\",[42577]],[[42577,42577],\"valid\"],[[42578,42578],\"mapped\",[42579]],[[42579,42579],\"valid\"],[[42580,42580],\"mapped\",[42581]],[[42581,42581],\"valid\"],[[42582,42582],\"mapped\",[42583]],[[42583,42583],\"valid\"],[[42584,42584],\"mapped\",[42585]],[[42585,42585],\"valid\"],[[42586,42586],\"mapped\",[42587]],[[42587,42587],\"valid\"],[[42588,42588],\"mapped\",[42589]],[[42589,42589],\"valid\"],[[42590,42590],\"mapped\",[42591]],[[42591,42591],\"valid\"],[[42592,42592],\"mapped\",[42593]],[[42593,42593],\"valid\"],[[42594,42594],\"mapped\",[42595]],[[42595,42595],\"valid\"],[[42596,42596],\"mapped\",[42597]],[[42597,42597],\"valid\"],[[42598,42598],\"mapped\",[42599]],[[42599,42599],\"valid\"],[[42600,42600],\"mapped\",[42601]],[[42601,42601],\"valid\"],[[42602,42602],\"mapped\",[42603]],[[42603,42603],\"valid\"],[[42604,42604],\"mapped\",[42605]],[[42605,42607],\"valid\"],[[42608,42611],\"valid\",[],\"NV8\"],[[42612,42619],\"valid\"],[[42620,42621],\"valid\"],[[42622,42622],\"valid\",[],\"NV8\"],[[42623,42623],\"valid\"],[[42624,42624],\"mapped\",[42625]],[[42625,42625],\"valid\"],[[42626,42626],\"mapped\",[42627]],[[42627,42627],\"valid\"],[[42628,42628],\"mapped\",[42629]],[[42629,42629],\"valid\"],[[42630,42630],\"mapped\",[42631]],[[42631,42631],\"valid\"],[[42632,42632],\"mapped\",[42633]],[[42633,42633],\"valid\"],[[42634,42634],\"mapped\",[42635]],[[42635,42635],\"valid\"],[[42636,42636],\"mapped\",[42637]],[[42637,42637],\"valid\"],[[42638,42638],\"mapped\",[42639]],[[42639,42639],\"valid\"],[[42640,42640],\"mapped\",[42641]],[[42641,42641],\"valid\"],[[42642,42642],\"mapped\",[42643]],[[42643,42643],\"valid\"],[[42644,42644],\"mapped\",[42645]],[[42645,42645],\"valid\"],[[42646,42646],\"mapped\",[42647]],[[42647,42647],\"valid\"],[[42648,42648],\"mapped\",[42649]],[[42649,42649],\"valid\"],[[42650,42650],\"mapped\",[42651]],[[42651,42651],\"valid\"],[[42652,42652],\"mapped\",[1098]],[[42653,42653],\"mapped\",[1100]],[[42654,42654],\"valid\"],[[42655,42655],\"valid\"],[[42656,42725],\"valid\"],[[42726,42735],\"valid\",[],\"NV8\"],[[42736,42737],\"valid\"],[[42738,42743],\"valid\",[],\"NV8\"],[[42744,42751],\"disallowed\"],[[42752,42774],\"valid\",[],\"NV8\"],[[42775,42778],\"valid\"],[[42779,42783],\"valid\"],[[42784,42785],\"valid\",[],\"NV8\"],[[42786,42786],\"mapped\",[42787]],[[42787,42787],\"valid\"],[[42788,42788],\"mapped\",[42789]],[[42789,42789],\"valid\"],[[42790,42790],\"mapped\",[42791]],[[42791,42791],\"valid\"],[[42792,42792],\"mapped\",[42793]],[[42793,42793],\"valid\"],[[42794,42794],\"mapped\",[42795]],[[42795,42795],\"valid\"],[[42796,42796],\"mapped\",[42797]],[[42797,42797],\"valid\"],[[42798,42798],\"mapped\",[42799]],[[42799,42801],\"valid\"],[[42802,42802],\"mapped\",[42803]],[[42803,42803],\"valid\"],[[42804,42804],\"mapped\",[42805]],[[42805,42805],\"valid\"],[[42806,42806],\"mapped\",[42807]],[[42807,42807],\"valid\"],[[42808,42808],\"mapped\",[42809]],[[42809,42809],\"valid\"],[[42810,42810],\"mapped\",[42811]],[[42811,42811],\"valid\"],[[42812,42812],\"mapped\",[42813]],[[42813,42813],\"valid\"],[[42814,42814],\"mapped\",[42815]],[[42815,42815],\"valid\"],[[42816,42816],\"mapped\",[42817]],[[42817,42817],\"valid\"],[[42818,42818],\"mapped\",[42819]],[[42819,42819],\"valid\"],[[42820,42820],\"mapped\",[42821]],[[42821,42821],\"valid\"],[[42822,42822],\"mapped\",[42823]],[[42823,42823],\"valid\"],[[42824,42824],\"mapped\",[42825]],[[42825,42825],\"valid\"],[[42826,42826],\"mapped\",[42827]],[[42827,42827],\"valid\"],[[42828,42828],\"mapped\",[42829]],[[42829,42829],\"valid\"],[[42830,42830],\"mapped\",[42831]],[[42831,42831],\"valid\"],[[42832,42832],\"mapped\",[42833]],[[42833,42833],\"valid\"],[[42834,42834],\"mapped\",[42835]],[[42835,42835],\"valid\"],[[42836,42836],\"mapped\",[42837]],[[42837,42837],\"valid\"],[[42838,42838],\"mapped\",[42839]],[[42839,42839],\"valid\"],[[42840,42840],\"mapped\",[42841]],[[42841,42841],\"valid\"],[[42842,42842],\"mapped\",[42843]],[[42843,42843],\"valid\"],[[42844,42844],\"mapped\",[42845]],[[42845,42845],\"valid\"],[[42846,42846],\"mapped\",[42847]],[[42847,42847],\"valid\"],[[42848,42848],\"mapped\",[42849]],[[42849,42849],\"valid\"],[[42850,42850],\"mapped\",[42851]],[[42851,42851],\"valid\"],[[42852,42852],\"mapped\",[42853]],[[42853,42853],\"valid\"],[[42854,42854],\"mapped\",[42855]],[[42855,42855],\"valid\"],[[42856,42856],\"mapped\",[42857]],[[42857,42857],\"valid\"],[[42858,42858],\"mapped\",[42859]],[[42859,42859],\"valid\"],[[42860,42860],\"mapped\",[42861]],[[42861,42861],\"valid\"],[[42862,42862],\"mapped\",[42863]],[[42863,42863],\"valid\"],[[42864,42864],\"mapped\",[42863]],[[42865,42872],\"valid\"],[[42873,42873],\"mapped\",[42874]],[[42874,42874],\"valid\"],[[42875,42875],\"mapped\",[42876]],[[42876,42876],\"valid\"],[[42877,42877],\"mapped\",[7545]],[[42878,42878],\"mapped\",[42879]],[[42879,42879],\"valid\"],[[42880,42880],\"mapped\",[42881]],[[42881,42881],\"valid\"],[[42882,42882],\"mapped\",[42883]],[[42883,42883],\"valid\"],[[42884,42884],\"mapped\",[42885]],[[42885,42885],\"valid\"],[[42886,42886],\"mapped\",[42887]],[[42887,42888],\"valid\"],[[42889,42890],\"valid\",[],\"NV8\"],[[42891,42891],\"mapped\",[42892]],[[42892,42892],\"valid\"],[[42893,42893],\"mapped\",[613]],[[42894,42894],\"valid\"],[[42895,42895],\"valid\"],[[42896,42896],\"mapped\",[42897]],[[42897,42897],\"valid\"],[[42898,42898],\"mapped\",[42899]],[[42899,42899],\"valid\"],[[42900,42901],\"valid\"],[[42902,42902],\"mapped\",[42903]],[[42903,42903],\"valid\"],[[42904,42904],\"mapped\",[42905]],[[42905,42905],\"valid\"],[[42906,42906],\"mapped\",[42907]],[[42907,42907],\"valid\"],[[42908,42908],\"mapped\",[42909]],[[42909,42909],\"valid\"],[[42910,42910],\"mapped\",[42911]],[[42911,42911],\"valid\"],[[42912,42912],\"mapped\",[42913]],[[42913,42913],\"valid\"],[[42914,42914],\"mapped\",[42915]],[[42915,42915],\"valid\"],[[42916,42916],\"mapped\",[42917]],[[42917,42917],\"valid\"],[[42918,42918],\"mapped\",[42919]],[[42919,42919],\"valid\"],[[42920,42920],\"mapped\",[42921]],[[42921,42921],\"valid\"],[[42922,42922],\"mapped\",[614]],[[42923,42923],\"mapped\",[604]],[[42924,42924],\"mapped\",[609]],[[42925,42925],\"mapped\",[620]],[[42926,42927],\"disallowed\"],[[42928,42928],\"mapped\",[670]],[[42929,42929],\"mapped\",[647]],[[42930,42930],\"mapped\",[669]],[[42931,42931],\"mapped\",[43859]],[[42932,42932],\"mapped\",[42933]],[[42933,42933],\"valid\"],[[42934,42934],\"mapped\",[42935]],[[42935,42935],\"valid\"],[[42936,42998],\"disallowed\"],[[42999,42999],\"valid\"],[[43000,43000],\"mapped\",[295]],[[43001,43001],\"mapped\",[339]],[[43002,43002],\"valid\"],[[43003,43007],\"valid\"],[[43008,43047],\"valid\"],[[43048,43051],\"valid\",[],\"NV8\"],[[43052,43055],\"disallowed\"],[[43056,43065],\"valid\",[],\"NV8\"],[[43066,43071],\"disallowed\"],[[43072,43123],\"valid\"],[[43124,43127],\"valid\",[],\"NV8\"],[[43128,43135],\"disallowed\"],[[43136,43204],\"valid\"],[[43205,43213],\"disallowed\"],[[43214,43215],\"valid\",[],\"NV8\"],[[43216,43225],\"valid\"],[[43226,43231],\"disallowed\"],[[43232,43255],\"valid\"],[[43256,43258],\"valid\",[],\"NV8\"],[[43259,43259],\"valid\"],[[43260,43260],\"valid\",[],\"NV8\"],[[43261,43261],\"valid\"],[[43262,43263],\"disallowed\"],[[43264,43309],\"valid\"],[[43310,43311],\"valid\",[],\"NV8\"],[[43312,43347],\"valid\"],[[43348,43358],\"disallowed\"],[[43359,43359],\"valid\",[],\"NV8\"],[[43360,43388],\"valid\",[],\"NV8\"],[[43389,43391],\"disallowed\"],[[43392,43456],\"valid\"],[[43457,43469],\"valid\",[],\"NV8\"],[[43470,43470],\"disallowed\"],[[43471,43481],\"valid\"],[[43482,43485],\"disallowed\"],[[43486,43487],\"valid\",[],\"NV8\"],[[43488,43518],\"valid\"],[[43519,43519],\"disallowed\"],[[43520,43574],\"valid\"],[[43575,43583],\"disallowed\"],[[43584,43597],\"valid\"],[[43598,43599],\"disallowed\"],[[43600,43609],\"valid\"],[[43610,43611],\"disallowed\"],[[43612,43615],\"valid\",[],\"NV8\"],[[43616,43638],\"valid\"],[[43639,43641],\"valid\",[],\"NV8\"],[[43642,43643],\"valid\"],[[43644,43647],\"valid\"],[[43648,43714],\"valid\"],[[43715,43738],\"disallowed\"],[[43739,43741],\"valid\"],[[43742,43743],\"valid\",[],\"NV8\"],[[43744,43759],\"valid\"],[[43760,43761],\"valid\",[],\"NV8\"],[[43762,43766],\"valid\"],[[43767,43776],\"disallowed\"],[[43777,43782],\"valid\"],[[43783,43784],\"disallowed\"],[[43785,43790],\"valid\"],[[43791,43792],\"disallowed\"],[[43793,43798],\"valid\"],[[43799,43807],\"disallowed\"],[[43808,43814],\"valid\"],[[43815,43815],\"disallowed\"],[[43816,43822],\"valid\"],[[43823,43823],\"disallowed\"],[[43824,43866],\"valid\"],[[43867,43867],\"valid\",[],\"NV8\"],[[43868,43868],\"mapped\",[42791]],[[43869,43869],\"mapped\",[43831]],[[43870,43870],\"mapped\",[619]],[[43871,43871],\"mapped\",[43858]],[[43872,43875],\"valid\"],[[43876,43877],\"valid\"],[[43878,43887],\"disallowed\"],[[43888,43888],\"mapped\",[5024]],[[43889,43889],\"mapped\",[5025]],[[43890,43890],\"mapped\",[5026]],[[43891,43891],\"mapped\",[5027]],[[43892,43892],\"mapped\",[5028]],[[43893,43893],\"mapped\",[5029]],[[43894,43894],\"mapped\",[5030]],[[43895,43895],\"mapped\",[5031]],[[43896,43896],\"mapped\",[5032]],[[43897,43897],\"mapped\",[5033]],[[43898,43898],\"mapped\",[5034]],[[43899,43899],\"mapped\",[5035]],[[43900,43900],\"mapped\",[5036]],[[43901,43901],\"mapped\",[5037]],[[43902,43902],\"mapped\",[5038]],[[43903,43903],\"mapped\",[5039]],[[43904,43904],\"mapped\",[5040]],[[43905,43905],\"mapped\",[5041]],[[43906,43906],\"mapped\",[5042]],[[43907,43907],\"mapped\",[5043]],[[43908,43908],\"mapped\",[5044]],[[43909,43909],\"mapped\",[5045]],[[43910,43910],\"mapped\",[5046]],[[43911,43911],\"mapped\",[5047]],[[43912,43912],\"mapped\",[5048]],[[43913,43913],\"mapped\",[5049]],[[43914,43914],\"mapped\",[5050]],[[43915,43915],\"mapped\",[5051]],[[43916,43916],\"mapped\",[5052]],[[43917,43917],\"mapped\",[5053]],[[43918,43918],\"mapped\",[5054]],[[43919,43919],\"mapped\",[5055]],[[43920,43920],\"mapped\",[5056]],[[43921,43921],\"mapped\",[5057]],[[43922,43922],\"mapped\",[5058]],[[43923,43923],\"mapped\",[5059]],[[43924,43924],\"mapped\",[5060]],[[43925,43925],\"mapped\",[5061]],[[43926,43926],\"mapped\",[5062]],[[43927,43927],\"mapped\",[5063]],[[43928,43928],\"mapped\",[5064]],[[43929,43929],\"mapped\",[5065]],[[43930,43930],\"mapped\",[5066]],[[43931,43931],\"mapped\",[5067]],[[43932,43932],\"mapped\",[5068]],[[43933,43933],\"mapped\",[5069]],[[43934,43934],\"mapped\",[5070]],[[43935,43935],\"mapped\",[5071]],[[43936,43936],\"mapped\",[5072]],[[43937,43937],\"mapped\",[5073]],[[43938,43938],\"mapped\",[5074]],[[43939,43939],\"mapped\",[5075]],[[43940,43940],\"mapped\",[5076]],[[43941,43941],\"mapped\",[5077]],[[43942,43942],\"mapped\",[5078]],[[43943,43943],\"mapped\",[5079]],[[43944,43944],\"mapped\",[5080]],[[43945,43945],\"mapped\",[5081]],[[43946,43946],\"mapped\",[5082]],[[43947,43947],\"mapped\",[5083]],[[43948,43948],\"mapped\",[5084]],[[43949,43949],\"mapped\",[5085]],[[43950,43950],\"mapped\",[5086]],[[43951,43951],\"mapped\",[5087]],[[43952,43952],\"mapped\",[5088]],[[43953,43953],\"mapped\",[5089]],[[43954,43954],\"mapped\",[5090]],[[43955,43955],\"mapped\",[5091]],[[43956,43956],\"mapped\",[5092]],[[43957,43957],\"mapped\",[5093]],[[43958,43958],\"mapped\",[5094]],[[43959,43959],\"mapped\",[5095]],[[43960,43960],\"mapped\",[5096]],[[43961,43961],\"mapped\",[5097]],[[43962,43962],\"mapped\",[5098]],[[43963,43963],\"mapped\",[5099]],[[43964,43964],\"mapped\",[5100]],[[43965,43965],\"mapped\",[5101]],[[43966,43966],\"mapped\",[5102]],[[43967,43967],\"mapped\",[5103]],[[43968,44010],\"valid\"],[[44011,44011],\"valid\",[],\"NV8\"],[[44012,44013],\"valid\"],[[44014,44015],\"disallowed\"],[[44016,44025],\"valid\"],[[44026,44031],\"disallowed\"],[[44032,55203],\"valid\"],[[55204,55215],\"disallowed\"],[[55216,55238],\"valid\",[],\"NV8\"],[[55239,55242],\"disallowed\"],[[55243,55291],\"valid\",[],\"NV8\"],[[55292,55295],\"disallowed\"],[[55296,57343],\"disallowed\"],[[57344,63743],\"disallowed\"],[[63744,63744],\"mapped\",[35912]],[[63745,63745],\"mapped\",[26356]],[[63746,63746],\"mapped\",[36554]],[[63747,63747],\"mapped\",[36040]],[[63748,63748],\"mapped\",[28369]],[[63749,63749],\"mapped\",[20018]],[[63750,63750],\"mapped\",[21477]],[[63751,63752],\"mapped\",[40860]],[[63753,63753],\"mapped\",[22865]],[[63754,63754],\"mapped\",[37329]],[[63755,63755],\"mapped\",[21895]],[[63756,63756],\"mapped\",[22856]],[[63757,63757],\"mapped\",[25078]],[[63758,63758],\"mapped\",[30313]],[[63759,63759],\"mapped\",[32645]],[[63760,63760],\"mapped\",[34367]],[[63761,63761],\"mapped\",[34746]],[[63762,63762],\"mapped\",[35064]],[[63763,63763],\"mapped\",[37007]],[[63764,63764],\"mapped\",[27138]],[[63765,63765],\"mapped\",[27931]],[[63766,63766],\"mapped\",[28889]],[[63767,63767],\"mapped\",[29662]],[[63768,63768],\"mapped\",[33853]],[[63769,63769],\"mapped\",[37226]],[[63770,63770],\"mapped\",[39409]],[[63771,63771],\"mapped\",[20098]],[[63772,63772],\"mapped\",[21365]],[[63773,63773],\"mapped\",[27396]],[[63774,63774],\"mapped\",[29211]],[[63775,63775],\"mapped\",[34349]],[[63776,63776],\"mapped\",[40478]],[[63777,63777],\"mapped\",[23888]],[[63778,63778],\"mapped\",[28651]],[[63779,63779],\"mapped\",[34253]],[[63780,63780],\"mapped\",[35172]],[[63781,63781],\"mapped\",[25289]],[[63782,63782],\"mapped\",[33240]],[[63783,63783],\"mapped\",[34847]],[[63784,63784],\"mapped\",[24266]],[[63785,63785],\"mapped\",[26391]],[[63786,63786],\"mapped\",[28010]],[[63787,63787],\"mapped\",[29436]],[[63788,63788],\"mapped\",[37070]],[[63789,63789],\"mapped\",[20358]],[[63790,63790],\"mapped\",[20919]],[[63791,63791],\"mapped\",[21214]],[[63792,63792],\"mapped\",[25796]],[[63793,63793],\"mapped\",[27347]],[[63794,63794],\"mapped\",[29200]],[[63795,63795],\"mapped\",[30439]],[[63796,63796],\"mapped\",[32769]],[[63797,63797],\"mapped\",[34310]],[[63798,63798],\"mapped\",[34396]],[[63799,63799],\"mapped\",[36335]],[[63800,63800],\"mapped\",[38706]],[[63801,63801],\"mapped\",[39791]],[[63802,63802],\"mapped\",[40442]],[[63803,63803],\"mapped\",[30860]],[[63804,63804],\"mapped\",[31103]],[[63805,63805],\"mapped\",[32160]],[[63806,63806],\"mapped\",[33737]],[[63807,63807],\"mapped\",[37636]],[[63808,63808],\"mapped\",[40575]],[[63809,63809],\"mapped\",[35542]],[[63810,63810],\"mapped\",[22751]],[[63811,63811],\"mapped\",[24324]],[[63812,63812],\"mapped\",[31840]],[[63813,63813],\"mapped\",[32894]],[[63814,63814],\"mapped\",[29282]],[[63815,63815],\"mapped\",[30922]],[[63816,63816],\"mapped\",[36034]],[[63817,63817],\"mapped\",[38647]],[[63818,63818],\"mapped\",[22744]],[[63819,63819],\"mapped\",[23650]],[[63820,63820],\"mapped\",[27155]],[[63821,63821],\"mapped\",[28122]],[[63822,63822],\"mapped\",[28431]],[[63823,63823],\"mapped\",[32047]],[[63824,63824],\"mapped\",[32311]],[[63825,63825],\"mapped\",[38475]],[[63826,63826],\"mapped\",[21202]],[[63827,63827],\"mapped\",[32907]],[[63828,63828],\"mapped\",[20956]],[[63829,63829],\"mapped\",[20940]],[[63830,63830],\"mapped\",[31260]],[[63831,63831],\"mapped\",[32190]],[[63832,63832],\"mapped\",[33777]],[[63833,63833],\"mapped\",[38517]],[[63834,63834],\"mapped\",[35712]],[[63835,63835],\"mapped\",[25295]],[[63836,63836],\"mapped\",[27138]],[[63837,63837],\"mapped\",[35582]],[[63838,63838],\"mapped\",[20025]],[[63839,63839],\"mapped\",[23527]],[[63840,63840],\"mapped\",[24594]],[[63841,63841],\"mapped\",[29575]],[[63842,63842],\"mapped\",[30064]],[[63843,63843],\"mapped\",[21271]],[[63844,63844],\"mapped\",[30971]],[[63845,63845],\"mapped\",[20415]],[[63846,63846],\"mapped\",[24489]],[[63847,63847],\"mapped\",[19981]],[[63848,63848],\"mapped\",[27852]],[[63849,63849],\"mapped\",[25976]],[[63850,63850],\"mapped\",[32034]],[[63851,63851],\"mapped\",[21443]],[[63852,63852],\"mapped\",[22622]],[[63853,63853],\"mapped\",[30465]],[[63854,63854],\"mapped\",[33865]],[[63855,63855],\"mapped\",[35498]],[[63856,63856],\"mapped\",[27578]],[[63857,63857],\"mapped\",[36784]],[[63858,63858],\"mapped\",[27784]],[[63859,63859],\"mapped\",[25342]],[[63860,63860],\"mapped\",[33509]],[[63861,63861],\"mapped\",[25504]],[[63862,63862],\"mapped\",[30053]],[[63863,63863],\"mapped\",[20142]],[[63864,63864],\"mapped\",[20841]],[[63865,63865],\"mapped\",[20937]],[[63866,63866],\"mapped\",[26753]],[[63867,63867],\"mapped\",[31975]],[[63868,63868],\"mapped\",[33391]],[[63869,63869],\"mapped\",[35538]],[[63870,63870],\"mapped\",[37327]],[[63871,63871],\"mapped\",[21237]],[[63872,63872],\"mapped\",[21570]],[[63873,63873],\"mapped\",[22899]],[[63874,63874],\"mapped\",[24300]],[[63875,63875],\"mapped\",[26053]],[[63876,63876],\"mapped\",[28670]],[[63877,63877],\"mapped\",[31018]],[[63878,63878],\"mapped\",[38317]],[[63879,63879],\"mapped\",[39530]],[[63880,63880],\"mapped\",[40599]],[[63881,63881],\"mapped\",[40654]],[[63882,63882],\"mapped\",[21147]],[[63883,63883],\"mapped\",[26310]],[[63884,63884],\"mapped\",[27511]],[[63885,63885],\"mapped\",[36706]],[[63886,63886],\"mapped\",[24180]],[[63887,63887],\"mapped\",[24976]],[[63888,63888],\"mapped\",[25088]],[[63889,63889],\"mapped\",[25754]],[[63890,63890],\"mapped\",[28451]],[[63891,63891],\"mapped\",[29001]],[[63892,63892],\"mapped\",[29833]],[[63893,63893],\"mapped\",[31178]],[[63894,63894],\"mapped\",[32244]],[[63895,63895],\"mapped\",[32879]],[[63896,63896],\"mapped\",[36646]],[[63897,63897],\"mapped\",[34030]],[[63898,63898],\"mapped\",[36899]],[[63899,63899],\"mapped\",[37706]],[[63900,63900],\"mapped\",[21015]],[[63901,63901],\"mapped\",[21155]],[[63902,63902],\"mapped\",[21693]],[[63903,63903],\"mapped\",[28872]],[[63904,63904],\"mapped\",[35010]],[[63905,63905],\"mapped\",[35498]],[[63906,63906],\"mapped\",[24265]],[[63907,63907],\"mapped\",[24565]],[[63908,63908],\"mapped\",[25467]],[[63909,63909],\"mapped\",[27566]],[[63910,63910],\"mapped\",[31806]],[[63911,63911],\"mapped\",[29557]],[[63912,63912],\"mapped\",[20196]],[[63913,63913],\"mapped\",[22265]],[[63914,63914],\"mapped\",[23527]],[[63915,63915],\"mapped\",[23994]],[[63916,63916],\"mapped\",[24604]],[[63917,63917],\"mapped\",[29618]],[[63918,63918],\"mapped\",[29801]],[[63919,63919],\"mapped\",[32666]],[[63920,63920],\"mapped\",[32838]],[[63921,63921],\"mapped\",[37428]],[[63922,63922],\"mapped\",[38646]],[[63923,63923],\"mapped\",[38728]],[[63924,63924],\"mapped\",[38936]],[[63925,63925],\"mapped\",[20363]],[[63926,63926],\"mapped\",[31150]],[[63927,63927],\"mapped\",[37300]],[[63928,63928],\"mapped\",[38584]],[[63929,63929],\"mapped\",[24801]],[[63930,63930],\"mapped\",[20102]],[[63931,63931],\"mapped\",[20698]],[[63932,63932],\"mapped\",[23534]],[[63933,63933],\"mapped\",[23615]],[[63934,63934],\"mapped\",[26009]],[[63935,63935],\"mapped\",[27138]],[[63936,63936],\"mapped\",[29134]],[[63937,63937],\"mapped\",[30274]],[[63938,63938],\"mapped\",[34044]],[[63939,63939],\"mapped\",[36988]],[[63940,63940],\"mapped\",[40845]],[[63941,63941],\"mapped\",[26248]],[[63942,63942],\"mapped\",[38446]],[[63943,63943],\"mapped\",[21129]],[[63944,63944],\"mapped\",[26491]],[[63945,63945],\"mapped\",[26611]],[[63946,63946],\"mapped\",[27969]],[[63947,63947],\"mapped\",[28316]],[[63948,63948],\"mapped\",[29705]],[[63949,63949],\"mapped\",[30041]],[[63950,63950],\"mapped\",[30827]],[[63951,63951],\"mapped\",[32016]],[[63952,63952],\"mapped\",[39006]],[[63953,63953],\"mapped\",[20845]],[[63954,63954],\"mapped\",[25134]],[[63955,63955],\"mapped\",[38520]],[[63956,63956],\"mapped\",[20523]],[[63957,63957],\"mapped\",[23833]],[[63958,63958],\"mapped\",[28138]],[[63959,63959],\"mapped\",[36650]],[[63960,63960],\"mapped\",[24459]],[[63961,63961],\"mapped\",[24900]],[[63962,63962],\"mapped\",[26647]],[[63963,63963],\"mapped\",[29575]],[[63964,63964],\"mapped\",[38534]],[[63965,63965],\"mapped\",[21033]],[[63966,63966],\"mapped\",[21519]],[[63967,63967],\"mapped\",[23653]],[[63968,63968],\"mapped\",[26131]],[[63969,63969],\"mapped\",[26446]],[[63970,63970],\"mapped\",[26792]],[[63971,63971],\"mapped\",[27877]],[[63972,63972],\"mapped\",[29702]],[[63973,63973],\"mapped\",[30178]],[[63974,63974],\"mapped\",[32633]],[[63975,63975],\"mapped\",[35023]],[[63976,63976],\"mapped\",[35041]],[[63977,63977],\"mapped\",[37324]],[[63978,63978],\"mapped\",[38626]],[[63979,63979],\"mapped\",[21311]],[[63980,63980],\"mapped\",[28346]],[[63981,63981],\"mapped\",[21533]],[[63982,63982],\"mapped\",[29136]],[[63983,63983],\"mapped\",[29848]],[[63984,63984],\"mapped\",[34298]],[[63985,63985],\"mapped\",[38563]],[[63986,63986],\"mapped\",[40023]],[[63987,63987],\"mapped\",[40607]],[[63988,63988],\"mapped\",[26519]],[[63989,63989],\"mapped\",[28107]],[[63990,63990],\"mapped\",[33256]],[[63991,63991],\"mapped\",[31435]],[[63992,63992],\"mapped\",[31520]],[[63993,63993],\"mapped\",[31890]],[[63994,63994],\"mapped\",[29376]],[[63995,63995],\"mapped\",[28825]],[[63996,63996],\"mapped\",[35672]],[[63997,63997],\"mapped\",[20160]],[[63998,63998],\"mapped\",[33590]],[[63999,63999],\"mapped\",[21050]],[[64000,64000],\"mapped\",[20999]],[[64001,64001],\"mapped\",[24230]],[[64002,64002],\"mapped\",[25299]],[[64003,64003],\"mapped\",[31958]],[[64004,64004],\"mapped\",[23429]],[[64005,64005],\"mapped\",[27934]],[[64006,64006],\"mapped\",[26292]],[[64007,64007],\"mapped\",[36667]],[[64008,64008],\"mapped\",[34892]],[[64009,64009],\"mapped\",[38477]],[[64010,64010],\"mapped\",[35211]],[[64011,64011],\"mapped\",[24275]],[[64012,64012],\"mapped\",[20800]],[[64013,64013],\"mapped\",[21952]],[[64014,64015],\"valid\"],[[64016,64016],\"mapped\",[22618]],[[64017,64017],\"valid\"],[[64018,64018],\"mapped\",[26228]],[[64019,64020],\"valid\"],[[64021,64021],\"mapped\",[20958]],[[64022,64022],\"mapped\",[29482]],[[64023,64023],\"mapped\",[30410]],[[64024,64024],\"mapped\",[31036]],[[64025,64025],\"mapped\",[31070]],[[64026,64026],\"mapped\",[31077]],[[64027,64027],\"mapped\",[31119]],[[64028,64028],\"mapped\",[38742]],[[64029,64029],\"mapped\",[31934]],[[64030,64030],\"mapped\",[32701]],[[64031,64031],\"valid\"],[[64032,64032],\"mapped\",[34322]],[[64033,64033],\"valid\"],[[64034,64034],\"mapped\",[35576]],[[64035,64036],\"valid\"],[[64037,64037],\"mapped\",[36920]],[[64038,64038],\"mapped\",[37117]],[[64039,64041],\"valid\"],[[64042,64042],\"mapped\",[39151]],[[64043,64043],\"mapped\",[39164]],[[64044,64044],\"mapped\",[39208]],[[64045,64045],\"mapped\",[40372]],[[64046,64046],\"mapped\",[37086]],[[64047,64047],\"mapped\",[38583]],[[64048,64048],\"mapped\",[20398]],[[64049,64049],\"mapped\",[20711]],[[64050,64050],\"mapped\",[20813]],[[64051,64051],\"mapped\",[21193]],[[64052,64052],\"mapped\",[21220]],[[64053,64053],\"mapped\",[21329]],[[64054,64054],\"mapped\",[21917]],[[64055,64055],\"mapped\",[22022]],[[64056,64056],\"mapped\",[22120]],[[64057,64057],\"mapped\",[22592]],[[64058,64058],\"mapped\",[22696]],[[64059,64059],\"mapped\",[23652]],[[64060,64060],\"mapped\",[23662]],[[64061,64061],\"mapped\",[24724]],[[64062,64062],\"mapped\",[24936]],[[64063,64063],\"mapped\",[24974]],[[64064,64064],\"mapped\",[25074]],[[64065,64065],\"mapped\",[25935]],[[64066,64066],\"mapped\",[26082]],[[64067,64067],\"mapped\",[26257]],[[64068,64068],\"mapped\",[26757]],[[64069,64069],\"mapped\",[28023]],[[64070,64070],\"mapped\",[28186]],[[64071,64071],\"mapped\",[28450]],[[64072,64072],\"mapped\",[29038]],[[64073,64073],\"mapped\",[29227]],[[64074,64074],\"mapped\",[29730]],[[64075,64075],\"mapped\",[30865]],[[64076,64076],\"mapped\",[31038]],[[64077,64077],\"mapped\",[31049]],[[64078,64078],\"mapped\",[31048]],[[64079,64079],\"mapped\",[31056]],[[64080,64080],\"mapped\",[31062]],[[64081,64081],\"mapped\",[31069]],[[64082,64082],\"mapped\",[31117]],[[64083,64083],\"mapped\",[31118]],[[64084,64084],\"mapped\",[31296]],[[64085,64085],\"mapped\",[31361]],[[64086,64086],\"mapped\",[31680]],[[64087,64087],\"mapped\",[32244]],[[64088,64088],\"mapped\",[32265]],[[64089,64089],\"mapped\",[32321]],[[64090,64090],\"mapped\",[32626]],[[64091,64091],\"mapped\",[32773]],[[64092,64092],\"mapped\",[33261]],[[64093,64094],\"mapped\",[33401]],[[64095,64095],\"mapped\",[33879]],[[64096,64096],\"mapped\",[35088]],[[64097,64097],\"mapped\",[35222]],[[64098,64098],\"mapped\",[35585]],[[64099,64099],\"mapped\",[35641]],[[64100,64100],\"mapped\",[36051]],[[64101,64101],\"mapped\",[36104]],[[64102,64102],\"mapped\",[36790]],[[64103,64103],\"mapped\",[36920]],[[64104,64104],\"mapped\",[38627]],[[64105,64105],\"mapped\",[38911]],[[64106,64106],\"mapped\",[38971]],[[64107,64107],\"mapped\",[24693]],[[64108,64108],\"mapped\",[148206]],[[64109,64109],\"mapped\",[33304]],[[64110,64111],\"disallowed\"],[[64112,64112],\"mapped\",[20006]],[[64113,64113],\"mapped\",[20917]],[[64114,64114],\"mapped\",[20840]],[[64115,64115],\"mapped\",[20352]],[[64116,64116],\"mapped\",[20805]],[[64117,64117],\"mapped\",[20864]],[[64118,64118],\"mapped\",[21191]],[[64119,64119],\"mapped\",[21242]],[[64120,64120],\"mapped\",[21917]],[[64121,64121],\"mapped\",[21845]],[[64122,64122],\"mapped\",[21913]],[[64123,64123],\"mapped\",[21986]],[[64124,64124],\"mapped\",[22618]],[[64125,64125],\"mapped\",[22707]],[[64126,64126],\"mapped\",[22852]],[[64127,64127],\"mapped\",[22868]],[[64128,64128],\"mapped\",[23138]],[[64129,64129],\"mapped\",[23336]],[[64130,64130],\"mapped\",[24274]],[[64131,64131],\"mapped\",[24281]],[[64132,64132],\"mapped\",[24425]],[[64133,64133],\"mapped\",[24493]],[[64134,64134],\"mapped\",[24792]],[[64135,64135],\"mapped\",[24910]],[[64136,64136],\"mapped\",[24840]],[[64137,64137],\"mapped\",[24974]],[[64138,64138],\"mapped\",[24928]],[[64139,64139],\"mapped\",[25074]],[[64140,64140],\"mapped\",[25140]],[[64141,64141],\"mapped\",[25540]],[[64142,64142],\"mapped\",[25628]],[[64143,64143],\"mapped\",[25682]],[[64144,64144],\"mapped\",[25942]],[[64145,64145],\"mapped\",[26228]],[[64146,64146],\"mapped\",[26391]],[[64147,64147],\"mapped\",[26395]],[[64148,64148],\"mapped\",[26454]],[[64149,64149],\"mapped\",[27513]],[[64150,64150],\"mapped\",[27578]],[[64151,64151],\"mapped\",[27969]],[[64152,64152],\"mapped\",[28379]],[[64153,64153],\"mapped\",[28363]],[[64154,64154],\"mapped\",[28450]],[[64155,64155],\"mapped\",[28702]],[[64156,64156],\"mapped\",[29038]],[[64157,64157],\"mapped\",[30631]],[[64158,64158],\"mapped\",[29237]],[[64159,64159],\"mapped\",[29359]],[[64160,64160],\"mapped\",[29482]],[[64161,64161],\"mapped\",[29809]],[[64162,64162],\"mapped\",[29958]],[[64163,64163],\"mapped\",[30011]],[[64164,64164],\"mapped\",[30237]],[[64165,64165],\"mapped\",[30239]],[[64166,64166],\"mapped\",[30410]],[[64167,64167],\"mapped\",[30427]],[[64168,64168],\"mapped\",[30452]],[[64169,64169],\"mapped\",[30538]],[[64170,64170],\"mapped\",[30528]],[[64171,64171],\"mapped\",[30924]],[[64172,64172],\"mapped\",[31409]],[[64173,64173],\"mapped\",[31680]],[[64174,64174],\"mapped\",[31867]],[[64175,64175],\"mapped\",[32091]],[[64176,64176],\"mapped\",[32244]],[[64177,64177],\"mapped\",[32574]],[[64178,64178],\"mapped\",[32773]],[[64179,64179],\"mapped\",[33618]],[[64180,64180],\"mapped\",[33775]],[[64181,64181],\"mapped\",[34681]],[[64182,64182],\"mapped\",[35137]],[[64183,64183],\"mapped\",[35206]],[[64184,64184],\"mapped\",[35222]],[[64185,64185],\"mapped\",[35519]],[[64186,64186],\"mapped\",[35576]],[[64187,64187],\"mapped\",[35531]],[[64188,64188],\"mapped\",[35585]],[[64189,64189],\"mapped\",[35582]],[[64190,64190],\"mapped\",[35565]],[[64191,64191],\"mapped\",[35641]],[[64192,64192],\"mapped\",[35722]],[[64193,64193],\"mapped\",[36104]],[[64194,64194],\"mapped\",[36664]],[[64195,64195],\"mapped\",[36978]],[[64196,64196],\"mapped\",[37273]],[[64197,64197],\"mapped\",[37494]],[[64198,64198],\"mapped\",[38524]],[[64199,64199],\"mapped\",[38627]],[[64200,64200],\"mapped\",[38742]],[[64201,64201],\"mapped\",[38875]],[[64202,64202],\"mapped\",[38911]],[[64203,64203],\"mapped\",[38923]],[[64204,64204],\"mapped\",[38971]],[[64205,64205],\"mapped\",[39698]],[[64206,64206],\"mapped\",[40860]],[[64207,64207],\"mapped\",[141386]],[[64208,64208],\"mapped\",[141380]],[[64209,64209],\"mapped\",[144341]],[[64210,64210],\"mapped\",[15261]],[[64211,64211],\"mapped\",[16408]],[[64212,64212],\"mapped\",[16441]],[[64213,64213],\"mapped\",[152137]],[[64214,64214],\"mapped\",[154832]],[[64215,64215],\"mapped\",[163539]],[[64216,64216],\"mapped\",[40771]],[[64217,64217],\"mapped\",[40846]],[[64218,64255],\"disallowed\"],[[64256,64256],\"mapped\",[102,102]],[[64257,64257],\"mapped\",[102,105]],[[64258,64258],\"mapped\",[102,108]],[[64259,64259],\"mapped\",[102,102,105]],[[64260,64260],\"mapped\",[102,102,108]],[[64261,64262],\"mapped\",[115,116]],[[64263,64274],\"disallowed\"],[[64275,64275],\"mapped\",[1396,1398]],[[64276,64276],\"mapped\",[1396,1381]],[[64277,64277],\"mapped\",[1396,1387]],[[64278,64278],\"mapped\",[1406,1398]],[[64279,64279],\"mapped\",[1396,1389]],[[64280,64284],\"disallowed\"],[[64285,64285],\"mapped\",[1497,1460]],[[64286,64286],\"valid\"],[[64287,64287],\"mapped\",[1522,1463]],[[64288,64288],\"mapped\",[1506]],[[64289,64289],\"mapped\",[1488]],[[64290,64290],\"mapped\",[1491]],[[64291,64291],\"mapped\",[1492]],[[64292,64292],\"mapped\",[1499]],[[64293,64293],\"mapped\",[1500]],[[64294,64294],\"mapped\",[1501]],[[64295,64295],\"mapped\",[1512]],[[64296,64296],\"mapped\",[1514]],[[64297,64297],\"disallowed_STD3_mapped\",[43]],[[64298,64298],\"mapped\",[1513,1473]],[[64299,64299],\"mapped\",[1513,1474]],[[64300,64300],\"mapped\",[1513,1468,1473]],[[64301,64301],\"mapped\",[1513,1468,1474]],[[64302,64302],\"mapped\",[1488,1463]],[[64303,64303],\"mapped\",[1488,1464]],[[64304,64304],\"mapped\",[1488,1468]],[[64305,64305],\"mapped\",[1489,1468]],[[64306,64306],\"mapped\",[1490,1468]],[[64307,64307],\"mapped\",[1491,1468]],[[64308,64308],\"mapped\",[1492,1468]],[[64309,64309],\"mapped\",[1493,1468]],[[64310,64310],\"mapped\",[1494,1468]],[[64311,64311],\"disallowed\"],[[64312,64312],\"mapped\",[1496,1468]],[[64313,64313],\"mapped\",[1497,1468]],[[64314,64314],\"mapped\",[1498,1468]],[[64315,64315],\"mapped\",[1499,1468]],[[64316,64316],\"mapped\",[1500,1468]],[[64317,64317],\"disallowed\"],[[64318,64318],\"mapped\",[1502,1468]],[[64319,64319],\"disallowed\"],[[64320,64320],\"mapped\",[1504,1468]],[[64321,64321],\"mapped\",[1505,1468]],[[64322,64322],\"disallowed\"],[[64323,64323],\"mapped\",[1507,1468]],[[64324,64324],\"mapped\",[1508,1468]],[[64325,64325],\"disallowed\"],[[64326,64326],\"mapped\",[1510,1468]],[[64327,64327],\"mapped\",[1511,1468]],[[64328,64328],\"mapped\",[1512,1468]],[[64329,64329],\"mapped\",[1513,1468]],[[64330,64330],\"mapped\",[1514,1468]],[[64331,64331],\"mapped\",[1493,1465]],[[64332,64332],\"mapped\",[1489,1471]],[[64333,64333],\"mapped\",[1499,1471]],[[64334,64334],\"mapped\",[1508,1471]],[[64335,64335],\"mapped\",[1488,1500]],[[64336,64337],\"mapped\",[1649]],[[64338,64341],\"mapped\",[1659]],[[64342,64345],\"mapped\",[1662]],[[64346,64349],\"mapped\",[1664]],[[64350,64353],\"mapped\",[1658]],[[64354,64357],\"mapped\",[1663]],[[64358,64361],\"mapped\",[1657]],[[64362,64365],\"mapped\",[1700]],[[64366,64369],\"mapped\",[1702]],[[64370,64373],\"mapped\",[1668]],[[64374,64377],\"mapped\",[1667]],[[64378,64381],\"mapped\",[1670]],[[64382,64385],\"mapped\",[1671]],[[64386,64387],\"mapped\",[1677]],[[64388,64389],\"mapped\",[1676]],[[64390,64391],\"mapped\",[1678]],[[64392,64393],\"mapped\",[1672]],[[64394,64395],\"mapped\",[1688]],[[64396,64397],\"mapped\",[1681]],[[64398,64401],\"mapped\",[1705]],[[64402,64405],\"mapped\",[1711]],[[64406,64409],\"mapped\",[1715]],[[64410,64413],\"mapped\",[1713]],[[64414,64415],\"mapped\",[1722]],[[64416,64419],\"mapped\",[1723]],[[64420,64421],\"mapped\",[1728]],[[64422,64425],\"mapped\",[1729]],[[64426,64429],\"mapped\",[1726]],[[64430,64431],\"mapped\",[1746]],[[64432,64433],\"mapped\",[1747]],[[64434,64449],\"valid\",[],\"NV8\"],[[64450,64466],\"disallowed\"],[[64467,64470],\"mapped\",[1709]],[[64471,64472],\"mapped\",[1735]],[[64473,64474],\"mapped\",[1734]],[[64475,64476],\"mapped\",[1736]],[[64477,64477],\"mapped\",[1735,1652]],[[64478,64479],\"mapped\",[1739]],[[64480,64481],\"mapped\",[1733]],[[64482,64483],\"mapped\",[1737]],[[64484,64487],\"mapped\",[1744]],[[64488,64489],\"mapped\",[1609]],[[64490,64491],\"mapped\",[1574,1575]],[[64492,64493],\"mapped\",[1574,1749]],[[64494,64495],\"mapped\",[1574,1608]],[[64496,64497],\"mapped\",[1574,1735]],[[64498,64499],\"mapped\",[1574,1734]],[[64500,64501],\"mapped\",[1574,1736]],[[64502,64504],\"mapped\",[1574,1744]],[[64505,64507],\"mapped\",[1574,1609]],[[64508,64511],\"mapped\",[1740]],[[64512,64512],\"mapped\",[1574,1580]],[[64513,64513],\"mapped\",[1574,1581]],[[64514,64514],\"mapped\",[1574,1605]],[[64515,64515],\"mapped\",[1574,1609]],[[64516,64516],\"mapped\",[1574,1610]],[[64517,64517],\"mapped\",[1576,1580]],[[64518,64518],\"mapped\",[1576,1581]],[[64519,64519],\"mapped\",[1576,1582]],[[64520,64520],\"mapped\",[1576,1605]],[[64521,64521],\"mapped\",[1576,1609]],[[64522,64522],\"mapped\",[1576,1610]],[[64523,64523],\"mapped\",[1578,1580]],[[64524,64524],\"mapped\",[1578,1581]],[[64525,64525],\"mapped\",[1578,1582]],[[64526,64526],\"mapped\",[1578,1605]],[[64527,64527],\"mapped\",[1578,1609]],[[64528,64528],\"mapped\",[1578,1610]],[[64529,64529],\"mapped\",[1579,1580]],[[64530,64530],\"mapped\",[1579,1605]],[[64531,64531],\"mapped\",[1579,1609]],[[64532,64532],\"mapped\",[1579,1610]],[[64533,64533],\"mapped\",[1580,1581]],[[64534,64534],\"mapped\",[1580,1605]],[[64535,64535],\"mapped\",[1581,1580]],[[64536,64536],\"mapped\",[1581,1605]],[[64537,64537],\"mapped\",[1582,1580]],[[64538,64538],\"mapped\",[1582,1581]],[[64539,64539],\"mapped\",[1582,1605]],[[64540,64540],\"mapped\",[1587,1580]],[[64541,64541],\"mapped\",[1587,1581]],[[64542,64542],\"mapped\",[1587,1582]],[[64543,64543],\"mapped\",[1587,1605]],[[64544,64544],\"mapped\",[1589,1581]],[[64545,64545],\"mapped\",[1589,1605]],[[64546,64546],\"mapped\",[1590,1580]],[[64547,64547],\"mapped\",[1590,1581]],[[64548,64548],\"mapped\",[1590,1582]],[[64549,64549],\"mapped\",[1590,1605]],[[64550,64550],\"mapped\",[1591,1581]],[[64551,64551],\"mapped\",[1591,1605]],[[64552,64552],\"mapped\",[1592,1605]],[[64553,64553],\"mapped\",[1593,1580]],[[64554,64554],\"mapped\",[1593,1605]],[[64555,64555],\"mapped\",[1594,1580]],[[64556,64556],\"mapped\",[1594,1605]],[[64557,64557],\"mapped\",[1601,1580]],[[64558,64558],\"mapped\",[1601,1581]],[[64559,64559],\"mapped\",[1601,1582]],[[64560,64560],\"mapped\",[1601,1605]],[[64561,64561],\"mapped\",[1601,1609]],[[64562,64562],\"mapped\",[1601,1610]],[[64563,64563],\"mapped\",[1602,1581]],[[64564,64564],\"mapped\",[1602,1605]],[[64565,64565],\"mapped\",[1602,1609]],[[64566,64566],\"mapped\",[1602,1610]],[[64567,64567],\"mapped\",[1603,1575]],[[64568,64568],\"mapped\",[1603,1580]],[[64569,64569],\"mapped\",[1603,1581]],[[64570,64570],\"mapped\",[1603,1582]],[[64571,64571],\"mapped\",[1603,1604]],[[64572,64572],\"mapped\",[1603,1605]],[[64573,64573],\"mapped\",[1603,1609]],[[64574,64574],\"mapped\",[1603,1610]],[[64575,64575],\"mapped\",[1604,1580]],[[64576,64576],\"mapped\",[1604,1581]],[[64577,64577],\"mapped\",[1604,1582]],[[64578,64578],\"mapped\",[1604,1605]],[[64579,64579],\"mapped\",[1604,1609]],[[64580,64580],\"mapped\",[1604,1610]],[[64581,64581],\"mapped\",[1605,1580]],[[64582,64582],\"mapped\",[1605,1581]],[[64583,64583],\"mapped\",[1605,1582]],[[64584,64584],\"mapped\",[1605,1605]],[[64585,64585],\"mapped\",[1605,1609]],[[64586,64586],\"mapped\",[1605,1610]],[[64587,64587],\"mapped\",[1606,1580]],[[64588,64588],\"mapped\",[1606,1581]],[[64589,64589],\"mapped\",[1606,1582]],[[64590,64590],\"mapped\",[1606,1605]],[[64591,64591],\"mapped\",[1606,1609]],[[64592,64592],\"mapped\",[1606,1610]],[[64593,64593],\"mapped\",[1607,1580]],[[64594,64594],\"mapped\",[1607,1605]],[[64595,64595],\"mapped\",[1607,1609]],[[64596,64596],\"mapped\",[1607,1610]],[[64597,64597],\"mapped\",[1610,1580]],[[64598,64598],\"mapped\",[1610,1581]],[[64599,64599],\"mapped\",[1610,1582]],[[64600,64600],\"mapped\",[1610,1605]],[[64601,64601],\"mapped\",[1610,1609]],[[64602,64602],\"mapped\",[1610,1610]],[[64603,64603],\"mapped\",[1584,1648]],[[64604,64604],\"mapped\",[1585,1648]],[[64605,64605],\"mapped\",[1609,1648]],[[64606,64606],\"disallowed_STD3_mapped\",[32,1612,1617]],[[64607,64607],\"disallowed_STD3_mapped\",[32,1613,1617]],[[64608,64608],\"disallowed_STD3_mapped\",[32,1614,1617]],[[64609,64609],\"disallowed_STD3_mapped\",[32,1615,1617]],[[64610,64610],\"disallowed_STD3_mapped\",[32,1616,1617]],[[64611,64611],\"disallowed_STD3_mapped\",[32,1617,1648]],[[64612,64612],\"mapped\",[1574,1585]],[[64613,64613],\"mapped\",[1574,1586]],[[64614,64614],\"mapped\",[1574,1605]],[[64615,64615],\"mapped\",[1574,1606]],[[64616,64616],\"mapped\",[1574,1609]],[[64617,64617],\"mapped\",[1574,1610]],[[64618,64618],\"mapped\",[1576,1585]],[[64619,64619],\"mapped\",[1576,1586]],[[64620,64620],\"mapped\",[1576,1605]],[[64621,64621],\"mapped\",[1576,1606]],[[64622,64622],\"mapped\",[1576,1609]],[[64623,64623],\"mapped\",[1576,1610]],[[64624,64624],\"mapped\",[1578,1585]],[[64625,64625],\"mapped\",[1578,1586]],[[64626,64626],\"mapped\",[1578,1605]],[[64627,64627],\"mapped\",[1578,1606]],[[64628,64628],\"mapped\",[1578,1609]],[[64629,64629],\"mapped\",[1578,1610]],[[64630,64630],\"mapped\",[1579,1585]],[[64631,64631],\"mapped\",[1579,1586]],[[64632,64632],\"mapped\",[1579,1605]],[[64633,64633],\"mapped\",[1579,1606]],[[64634,64634],\"mapped\",[1579,1609]],[[64635,64635],\"mapped\",[1579,1610]],[[64636,64636],\"mapped\",[1601,1609]],[[64637,64637],\"mapped\",[1601,1610]],[[64638,64638],\"mapped\",[1602,1609]],[[64639,64639],\"mapped\",[1602,1610]],[[64640,64640],\"mapped\",[1603,1575]],[[64641,64641],\"mapped\",[1603,1604]],[[64642,64642],\"mapped\",[1603,1605]],[[64643,64643],\"mapped\",[1603,1609]],[[64644,64644],\"mapped\",[1603,1610]],[[64645,64645],\"mapped\",[1604,1605]],[[64646,64646],\"mapped\",[1604,1609]],[[64647,64647],\"mapped\",[1604,1610]],[[64648,64648],\"mapped\",[1605,1575]],[[64649,64649],\"mapped\",[1605,1605]],[[64650,64650],\"mapped\",[1606,1585]],[[64651,64651],\"mapped\",[1606,1586]],[[64652,64652],\"mapped\",[1606,1605]],[[64653,64653],\"mapped\",[1606,1606]],[[64654,64654],\"mapped\",[1606,1609]],[[64655,64655],\"mapped\",[1606,1610]],[[64656,64656],\"mapped\",[1609,1648]],[[64657,64657],\"mapped\",[1610,1585]],[[64658,64658],\"mapped\",[1610,1586]],[[64659,64659],\"mapped\",[1610,1605]],[[64660,64660],\"mapped\",[1610,1606]],[[64661,64661],\"mapped\",[1610,1609]],[[64662,64662],\"mapped\",[1610,1610]],[[64663,64663],\"mapped\",[1574,1580]],[[64664,64664],\"mapped\",[1574,1581]],[[64665,64665],\"mapped\",[1574,1582]],[[64666,64666],\"mapped\",[1574,1605]],[[64667,64667],\"mapped\",[1574,1607]],[[64668,64668],\"mapped\",[1576,1580]],[[64669,64669],\"mapped\",[1576,1581]],[[64670,64670],\"mapped\",[1576,1582]],[[64671,64671],\"mapped\",[1576,1605]],[[64672,64672],\"mapped\",[1576,1607]],[[64673,64673],\"mapped\",[1578,1580]],[[64674,64674],\"mapped\",[1578,1581]],[[64675,64675],\"mapped\",[1578,1582]],[[64676,64676],\"mapped\",[1578,1605]],[[64677,64677],\"mapped\",[1578,1607]],[[64678,64678],\"mapped\",[1579,1605]],[[64679,64679],\"mapped\",[1580,1581]],[[64680,64680],\"mapped\",[1580,1605]],[[64681,64681],\"mapped\",[1581,1580]],[[64682,64682],\"mapped\",[1581,1605]],[[64683,64683],\"mapped\",[1582,1580]],[[64684,64684],\"mapped\",[1582,1605]],[[64685,64685],\"mapped\",[1587,1580]],[[64686,64686],\"mapped\",[1587,1581]],[[64687,64687],\"mapped\",[1587,1582]],[[64688,64688],\"mapped\",[1587,1605]],[[64689,64689],\"mapped\",[1589,1581]],[[64690,64690],\"mapped\",[1589,1582]],[[64691,64691],\"mapped\",[1589,1605]],[[64692,64692],\"mapped\",[1590,1580]],[[64693,64693],\"mapped\",[1590,1581]],[[64694,64694],\"mapped\",[1590,1582]],[[64695,64695],\"mapped\",[1590,1605]],[[64696,64696],\"mapped\",[1591,1581]],[[64697,64697],\"mapped\",[1592,1605]],[[64698,64698],\"mapped\",[1593,1580]],[[64699,64699],\"mapped\",[1593,1605]],[[64700,64700],\"mapped\",[1594,1580]],[[64701,64701],\"mapped\",[1594,1605]],[[64702,64702],\"mapped\",[1601,1580]],[[64703,64703],\"mapped\",[1601,1581]],[[64704,64704],\"mapped\",[1601,1582]],[[64705,64705],\"mapped\",[1601,1605]],[[64706,64706],\"mapped\",[1602,1581]],[[64707,64707],\"mapped\",[1602,1605]],[[64708,64708],\"mapped\",[1603,1580]],[[64709,64709],\"mapped\",[1603,1581]],[[64710,64710],\"mapped\",[1603,1582]],[[64711,64711],\"mapped\",[1603,1604]],[[64712,64712],\"mapped\",[1603,1605]],[[64713,64713],\"mapped\",[1604,1580]],[[64714,64714],\"mapped\",[1604,1581]],[[64715,64715],\"mapped\",[1604,1582]],[[64716,64716],\"mapped\",[1604,1605]],[[64717,64717],\"mapped\",[1604,1607]],[[64718,64718],\"mapped\",[1605,1580]],[[64719,64719],\"mapped\",[1605,1581]],[[64720,64720],\"mapped\",[1605,1582]],[[64721,64721],\"mapped\",[1605,1605]],[[64722,64722],\"mapped\",[1606,1580]],[[64723,64723],\"mapped\",[1606,1581]],[[64724,64724],\"mapped\",[1606,1582]],[[64725,64725],\"mapped\",[1606,1605]],[[64726,64726],\"mapped\",[1606,1607]],[[64727,64727],\"mapped\",[1607,1580]],[[64728,64728],\"mapped\",[1607,1605]],[[64729,64729],\"mapped\",[1607,1648]],[[64730,64730],\"mapped\",[1610,1580]],[[64731,64731],\"mapped\",[1610,1581]],[[64732,64732],\"mapped\",[1610,1582]],[[64733,64733],\"mapped\",[1610,1605]],[[64734,64734],\"mapped\",[1610,1607]],[[64735,64735],\"mapped\",[1574,1605]],[[64736,64736],\"mapped\",[1574,1607]],[[64737,64737],\"mapped\",[1576,1605]],[[64738,64738],\"mapped\",[1576,1607]],[[64739,64739],\"mapped\",[1578,1605]],[[64740,64740],\"mapped\",[1578,1607]],[[64741,64741],\"mapped\",[1579,1605]],[[64742,64742],\"mapped\",[1579,1607]],[[64743,64743],\"mapped\",[1587,1605]],[[64744,64744],\"mapped\",[1587,1607]],[[64745,64745],\"mapped\",[1588,1605]],[[64746,64746],\"mapped\",[1588,1607]],[[64747,64747],\"mapped\",[1603,1604]],[[64748,64748],\"mapped\",[1603,1605]],[[64749,64749],\"mapped\",[1604,1605]],[[64750,64750],\"mapped\",[1606,1605]],[[64751,64751],\"mapped\",[1606,1607]],[[64752,64752],\"mapped\",[1610,1605]],[[64753,64753],\"mapped\",[1610,1607]],[[64754,64754],\"mapped\",[1600,1614,1617]],[[64755,64755],\"mapped\",[1600,1615,1617]],[[64756,64756],\"mapped\",[1600,1616,1617]],[[64757,64757],\"mapped\",[1591,1609]],[[64758,64758],\"mapped\",[1591,1610]],[[64759,64759],\"mapped\",[1593,1609]],[[64760,64760],\"mapped\",[1593,1610]],[[64761,64761],\"mapped\",[1594,1609]],[[64762,64762],\"mapped\",[1594,1610]],[[64763,64763],\"mapped\",[1587,1609]],[[64764,64764],\"mapped\",[1587,1610]],[[64765,64765],\"mapped\",[1588,1609]],[[64766,64766],\"mapped\",[1588,1610]],[[64767,64767],\"mapped\",[1581,1609]],[[64768,64768],\"mapped\",[1581,1610]],[[64769,64769],\"mapped\",[1580,1609]],[[64770,64770],\"mapped\",[1580,1610]],[[64771,64771],\"mapped\",[1582,1609]],[[64772,64772],\"mapped\",[1582,1610]],[[64773,64773],\"mapped\",[1589,1609]],[[64774,64774],\"mapped\",[1589,1610]],[[64775,64775],\"mapped\",[1590,1609]],[[64776,64776],\"mapped\",[1590,1610]],[[64777,64777],\"mapped\",[1588,1580]],[[64778,64778],\"mapped\",[1588,1581]],[[64779,64779],\"mapped\",[1588,1582]],[[64780,64780],\"mapped\",[1588,1605]],[[64781,64781],\"mapped\",[1588,1585]],[[64782,64782],\"mapped\",[1587,1585]],[[64783,64783],\"mapped\",[1589,1585]],[[64784,64784],\"mapped\",[1590,1585]],[[64785,64785],\"mapped\",[1591,1609]],[[64786,64786],\"mapped\",[1591,1610]],[[64787,64787],\"mapped\",[1593,1609]],[[64788,64788],\"mapped\",[1593,1610]],[[64789,64789],\"mapped\",[1594,1609]],[[64790,64790],\"mapped\",[1594,1610]],[[64791,64791],\"mapped\",[1587,1609]],[[64792,64792],\"mapped\",[1587,1610]],[[64793,64793],\"mapped\",[1588,1609]],[[64794,64794],\"mapped\",[1588,1610]],[[64795,64795],\"mapped\",[1581,1609]],[[64796,64796],\"mapped\",[1581,1610]],[[64797,64797],\"mapped\",[1580,1609]],[[64798,64798],\"mapped\",[1580,1610]],[[64799,64799],\"mapped\",[1582,1609]],[[64800,64800],\"mapped\",[1582,1610]],[[64801,64801],\"mapped\",[1589,1609]],[[64802,64802],\"mapped\",[1589,1610]],[[64803,64803],\"mapped\",[1590,1609]],[[64804,64804],\"mapped\",[1590,1610]],[[64805,64805],\"mapped\",[1588,1580]],[[64806,64806],\"mapped\",[1588,1581]],[[64807,64807],\"mapped\",[1588,1582]],[[64808,64808],\"mapped\",[1588,1605]],[[64809,64809],\"mapped\",[1588,1585]],[[64810,64810],\"mapped\",[1587,1585]],[[64811,64811],\"mapped\",[1589,1585]],[[64812,64812],\"mapped\",[1590,1585]],[[64813,64813],\"mapped\",[1588,1580]],[[64814,64814],\"mapped\",[1588,1581]],[[64815,64815],\"mapped\",[1588,1582]],[[64816,64816],\"mapped\",[1588,1605]],[[64817,64817],\"mapped\",[1587,1607]],[[64818,64818],\"mapped\",[1588,1607]],[[64819,64819],\"mapped\",[1591,1605]],[[64820,64820],\"mapped\",[1587,1580]],[[64821,64821],\"mapped\",[1587,1581]],[[64822,64822],\"mapped\",[1587,1582]],[[64823,64823],\"mapped\",[1588,1580]],[[64824,64824],\"mapped\",[1588,1581]],[[64825,64825],\"mapped\",[1588,1582]],[[64826,64826],\"mapped\",[1591,1605]],[[64827,64827],\"mapped\",[1592,1605]],[[64828,64829],\"mapped\",[1575,1611]],[[64830,64831],\"valid\",[],\"NV8\"],[[64832,64847],\"disallowed\"],[[64848,64848],\"mapped\",[1578,1580,1605]],[[64849,64850],\"mapped\",[1578,1581,1580]],[[64851,64851],\"mapped\",[1578,1581,1605]],[[64852,64852],\"mapped\",[1578,1582,1605]],[[64853,64853],\"mapped\",[1578,1605,1580]],[[64854,64854],\"mapped\",[1578,1605,1581]],[[64855,64855],\"mapped\",[1578,1605,1582]],[[64856,64857],\"mapped\",[1580,1605,1581]],[[64858,64858],\"mapped\",[1581,1605,1610]],[[64859,64859],\"mapped\",[1581,1605,1609]],[[64860,64860],\"mapped\",[1587,1581,1580]],[[64861,64861],\"mapped\",[1587,1580,1581]],[[64862,64862],\"mapped\",[1587,1580,1609]],[[64863,64864],\"mapped\",[1587,1605,1581]],[[64865,64865],\"mapped\",[1587,1605,1580]],[[64866,64867],\"mapped\",[1587,1605,1605]],[[64868,64869],\"mapped\",[1589,1581,1581]],[[64870,64870],\"mapped\",[1589,1605,1605]],[[64871,64872],\"mapped\",[1588,1581,1605]],[[64873,64873],\"mapped\",[1588,1580,1610]],[[64874,64875],\"mapped\",[1588,1605,1582]],[[64876,64877],\"mapped\",[1588,1605,1605]],[[64878,64878],\"mapped\",[1590,1581,1609]],[[64879,64880],\"mapped\",[1590,1582,1605]],[[64881,64882],\"mapped\",[1591,1605,1581]],[[64883,64883],\"mapped\",[1591,1605,1605]],[[64884,64884],\"mapped\",[1591,1605,1610]],[[64885,64885],\"mapped\",[1593,1580,1605]],[[64886,64887],\"mapped\",[1593,1605,1605]],[[64888,64888],\"mapped\",[1593,1605,1609]],[[64889,64889],\"mapped\",[1594,1605,1605]],[[64890,64890],\"mapped\",[1594,1605,1610]],[[64891,64891],\"mapped\",[1594,1605,1609]],[[64892,64893],\"mapped\",[1601,1582,1605]],[[64894,64894],\"mapped\",[1602,1605,1581]],[[64895,64895],\"mapped\",[1602,1605,1605]],[[64896,64896],\"mapped\",[1604,1581,1605]],[[64897,64897],\"mapped\",[1604,1581,1610]],[[64898,64898],\"mapped\",[1604,1581,1609]],[[64899,64900],\"mapped\",[1604,1580,1580]],[[64901,64902],\"mapped\",[1604,1582,1605]],[[64903,64904],\"mapped\",[1604,1605,1581]],[[64905,64905],\"mapped\",[1605,1581,1580]],[[64906,64906],\"mapped\",[1605,1581,1605]],[[64907,64907],\"mapped\",[1605,1581,1610]],[[64908,64908],\"mapped\",[1605,1580,1581]],[[64909,64909],\"mapped\",[1605,1580,1605]],[[64910,64910],\"mapped\",[1605,1582,1580]],[[64911,64911],\"mapped\",[1605,1582,1605]],[[64912,64913],\"disallowed\"],[[64914,64914],\"mapped\",[1605,1580,1582]],[[64915,64915],\"mapped\",[1607,1605,1580]],[[64916,64916],\"mapped\",[1607,1605,1605]],[[64917,64917],\"mapped\",[1606,1581,1605]],[[64918,64918],\"mapped\",[1606,1581,1609]],[[64919,64920],\"mapped\",[1606,1580,1605]],[[64921,64921],\"mapped\",[1606,1580,1609]],[[64922,64922],\"mapped\",[1606,1605,1610]],[[64923,64923],\"mapped\",[1606,1605,1609]],[[64924,64925],\"mapped\",[1610,1605,1605]],[[64926,64926],\"mapped\",[1576,1582,1610]],[[64927,64927],\"mapped\",[1578,1580,1610]],[[64928,64928],\"mapped\",[1578,1580,1609]],[[64929,64929],\"mapped\",[1578,1582,1610]],[[64930,64930],\"mapped\",[1578,1582,1609]],[[64931,64931],\"mapped\",[1578,1605,1610]],[[64932,64932],\"mapped\",[1578,1605,1609]],[[64933,64933],\"mapped\",[1580,1605,1610]],[[64934,64934],\"mapped\",[1580,1581,1609]],[[64935,64935],\"mapped\",[1580,1605,1609]],[[64936,64936],\"mapped\",[1587,1582,1609]],[[64937,64937],\"mapped\",[1589,1581,1610]],[[64938,64938],\"mapped\",[1588,1581,1610]],[[64939,64939],\"mapped\",[1590,1581,1610]],[[64940,64940],\"mapped\",[1604,1580,1610]],[[64941,64941],\"mapped\",[1604,1605,1610]],[[64942,64942],\"mapped\",[1610,1581,1610]],[[64943,64943],\"mapped\",[1610,1580,1610]],[[64944,64944],\"mapped\",[1610,1605,1610]],[[64945,64945],\"mapped\",[1605,1605,1610]],[[64946,64946],\"mapped\",[1602,1605,1610]],[[64947,64947],\"mapped\",[1606,1581,1610]],[[64948,64948],\"mapped\",[1602,1605,1581]],[[64949,64949],\"mapped\",[1604,1581,1605]],[[64950,64950],\"mapped\",[1593,1605,1610]],[[64951,64951],\"mapped\",[1603,1605,1610]],[[64952,64952],\"mapped\",[1606,1580,1581]],[[64953,64953],\"mapped\",[1605,1582,1610]],[[64954,64954],\"mapped\",[1604,1580,1605]],[[64955,64955],\"mapped\",[1603,1605,1605]],[[64956,64956],\"mapped\",[1604,1580,1605]],[[64957,64957],\"mapped\",[1606,1580,1581]],[[64958,64958],\"mapped\",[1580,1581,1610]],[[64959,64959],\"mapped\",[1581,1580,1610]],[[64960,64960],\"mapped\",[1605,1580,1610]],[[64961,64961],\"mapped\",[1601,1605,1610]],[[64962,64962],\"mapped\",[1576,1581,1610]],[[64963,64963],\"mapped\",[1603,1605,1605]],[[64964,64964],\"mapped\",[1593,1580,1605]],[[64965,64965],\"mapped\",[1589,1605,1605]],[[64966,64966],\"mapped\",[1587,1582,1610]],[[64967,64967],\"mapped\",[1606,1580,1610]],[[64968,64975],\"disallowed\"],[[64976,65007],\"disallowed\"],[[65008,65008],\"mapped\",[1589,1604,1746]],[[65009,65009],\"mapped\",[1602,1604,1746]],[[65010,65010],\"mapped\",[1575,1604,1604,1607]],[[65011,65011],\"mapped\",[1575,1603,1576,1585]],[[65012,65012],\"mapped\",[1605,1581,1605,1583]],[[65013,65013],\"mapped\",[1589,1604,1593,1605]],[[65014,65014],\"mapped\",[1585,1587,1608,1604]],[[65015,65015],\"mapped\",[1593,1604,1610,1607]],[[65016,65016],\"mapped\",[1608,1587,1604,1605]],[[65017,65017],\"mapped\",[1589,1604,1609]],[[65018,65018],\"disallowed_STD3_mapped\",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],\"disallowed_STD3_mapped\",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],\"mapped\",[1585,1740,1575,1604]],[[65021,65021],\"valid\",[],\"NV8\"],[[65022,65023],\"disallowed\"],[[65024,65039],\"ignored\"],[[65040,65040],\"disallowed_STD3_mapped\",[44]],[[65041,65041],\"mapped\",[12289]],[[65042,65042],\"disallowed\"],[[65043,65043],\"disallowed_STD3_mapped\",[58]],[[65044,65044],\"disallowed_STD3_mapped\",[59]],[[65045,65045],\"disallowed_STD3_mapped\",[33]],[[65046,65046],\"disallowed_STD3_mapped\",[63]],[[65047,65047],\"mapped\",[12310]],[[65048,65048],\"mapped\",[12311]],[[65049,65049],\"disallowed\"],[[65050,65055],\"disallowed\"],[[65056,65059],\"valid\"],[[65060,65062],\"valid\"],[[65063,65069],\"valid\"],[[65070,65071],\"valid\"],[[65072,65072],\"disallowed\"],[[65073,65073],\"mapped\",[8212]],[[65074,65074],\"mapped\",[8211]],[[65075,65076],\"disallowed_STD3_mapped\",[95]],[[65077,65077],\"disallowed_STD3_mapped\",[40]],[[65078,65078],\"disallowed_STD3_mapped\",[41]],[[65079,65079],\"disallowed_STD3_mapped\",[123]],[[65080,65080],\"disallowed_STD3_mapped\",[125]],[[65081,65081],\"mapped\",[12308]],[[65082,65082],\"mapped\",[12309]],[[65083,65083],\"mapped\",[12304]],[[65084,65084],\"mapped\",[12305]],[[65085,65085],\"mapped\",[12298]],[[65086,65086],\"mapped\",[12299]],[[65087,65087],\"mapped\",[12296]],[[65088,65088],\"mapped\",[12297]],[[65089,65089],\"mapped\",[12300]],[[65090,65090],\"mapped\",[12301]],[[65091,65091],\"mapped\",[12302]],[[65092,65092],\"mapped\",[12303]],[[65093,65094],\"valid\",[],\"NV8\"],[[65095,65095],\"disallowed_STD3_mapped\",[91]],[[65096,65096],\"disallowed_STD3_mapped\",[93]],[[65097,65100],\"disallowed_STD3_mapped\",[32,773]],[[65101,65103],\"disallowed_STD3_mapped\",[95]],[[65104,65104],\"disallowed_STD3_mapped\",[44]],[[65105,65105],\"mapped\",[12289]],[[65106,65106],\"disallowed\"],[[65107,65107],\"disallowed\"],[[65108,65108],\"disallowed_STD3_mapped\",[59]],[[65109,65109],\"disallowed_STD3_mapped\",[58]],[[65110,65110],\"disallowed_STD3_mapped\",[63]],[[65111,65111],\"disallowed_STD3_mapped\",[33]],[[65112,65112],\"mapped\",[8212]],[[65113,65113],\"disallowed_STD3_mapped\",[40]],[[65114,65114],\"disallowed_STD3_mapped\",[41]],[[65115,65115],\"disallowed_STD3_mapped\",[123]],[[65116,65116],\"disallowed_STD3_mapped\",[125]],[[65117,65117],\"mapped\",[12308]],[[65118,65118],\"mapped\",[12309]],[[65119,65119],\"disallowed_STD3_mapped\",[35]],[[65120,65120],\"disallowed_STD3_mapped\",[38]],[[65121,65121],\"disallowed_STD3_mapped\",[42]],[[65122,65122],\"disallowed_STD3_mapped\",[43]],[[65123,65123],\"mapped\",[45]],[[65124,65124],\"disallowed_STD3_mapped\",[60]],[[65125,65125],\"disallowed_STD3_mapped\",[62]],[[65126,65126],\"disallowed_STD3_mapped\",[61]],[[65127,65127],\"disallowed\"],[[65128,65128],\"disallowed_STD3_mapped\",[92]],[[65129,65129],\"disallowed_STD3_mapped\",[36]],[[65130,65130],\"disallowed_STD3_mapped\",[37]],[[65131,65131],\"disallowed_STD3_mapped\",[64]],[[65132,65135],\"disallowed\"],[[65136,65136],\"disallowed_STD3_mapped\",[32,1611]],[[65137,65137],\"mapped\",[1600,1611]],[[65138,65138],\"disallowed_STD3_mapped\",[32,1612]],[[65139,65139],\"valid\"],[[65140,65140],\"disallowed_STD3_mapped\",[32,1613]],[[65141,65141],\"disallowed\"],[[65142,65142],\"disallowed_STD3_mapped\",[32,1614]],[[65143,65143],\"mapped\",[1600,1614]],[[65144,65144],\"disallowed_STD3_mapped\",[32,1615]],[[65145,65145],\"mapped\",[1600,1615]],[[65146,65146],\"disallowed_STD3_mapped\",[32,1616]],[[65147,65147],\"mapped\",[1600,1616]],[[65148,65148],\"disallowed_STD3_mapped\",[32,1617]],[[65149,65149],\"mapped\",[1600,1617]],[[65150,65150],\"disallowed_STD3_mapped\",[32,1618]],[[65151,65151],\"mapped\",[1600,1618]],[[65152,65152],\"mapped\",[1569]],[[65153,65154],\"mapped\",[1570]],[[65155,65156],\"mapped\",[1571]],[[65157,65158],\"mapped\",[1572]],[[65159,65160],\"mapped\",[1573]],[[65161,65164],\"mapped\",[1574]],[[65165,65166],\"mapped\",[1575]],[[65167,65170],\"mapped\",[1576]],[[65171,65172],\"mapped\",[1577]],[[65173,65176],\"mapped\",[1578]],[[65177,65180],\"mapped\",[1579]],[[65181,65184],\"mapped\",[1580]],[[65185,65188],\"mapped\",[1581]],[[65189,65192],\"mapped\",[1582]],[[65193,65194],\"mapped\",[1583]],[[65195,65196],\"mapped\",[1584]],[[65197,65198],\"mapped\",[1585]],[[65199,65200],\"mapped\",[1586]],[[65201,65204],\"mapped\",[1587]],[[65205,65208],\"mapped\",[1588]],[[65209,65212],\"mapped\",[1589]],[[65213,65216],\"mapped\",[1590]],[[65217,65220],\"mapped\",[1591]],[[65221,65224],\"mapped\",[1592]],[[65225,65228],\"mapped\",[1593]],[[65229,65232],\"mapped\",[1594]],[[65233,65236],\"mapped\",[1601]],[[65237,65240],\"mapped\",[1602]],[[65241,65244],\"mapped\",[1603]],[[65245,65248],\"mapped\",[1604]],[[65249,65252],\"mapped\",[1605]],[[65253,65256],\"mapped\",[1606]],[[65257,65260],\"mapped\",[1607]],[[65261,65262],\"mapped\",[1608]],[[65263,65264],\"mapped\",[1609]],[[65265,65268],\"mapped\",[1610]],[[65269,65270],\"mapped\",[1604,1570]],[[65271,65272],\"mapped\",[1604,1571]],[[65273,65274],\"mapped\",[1604,1573]],[[65275,65276],\"mapped\",[1604,1575]],[[65277,65278],\"disallowed\"],[[65279,65279],\"ignored\"],[[65280,65280],\"disallowed\"],[[65281,65281],\"disallowed_STD3_mapped\",[33]],[[65282,65282],\"disallowed_STD3_mapped\",[34]],[[65283,65283],\"disallowed_STD3_mapped\",[35]],[[65284,65284],\"disallowed_STD3_mapped\",[36]],[[65285,65285],\"disallowed_STD3_mapped\",[37]],[[65286,65286],\"disallowed_STD3_mapped\",[38]],[[65287,65287],\"disallowed_STD3_mapped\",[39]],[[65288,65288],\"disallowed_STD3_mapped\",[40]],[[65289,65289],\"disallowed_STD3_mapped\",[41]],[[65290,65290],\"disallowed_STD3_mapped\",[42]],[[65291,65291],\"disallowed_STD3_mapped\",[43]],[[65292,65292],\"disallowed_STD3_mapped\",[44]],[[65293,65293],\"mapped\",[45]],[[65294,65294],\"mapped\",[46]],[[65295,65295],\"disallowed_STD3_mapped\",[47]],[[65296,65296],\"mapped\",[48]],[[65297,65297],\"mapped\",[49]],[[65298,65298],\"mapped\",[50]],[[65299,65299],\"mapped\",[51]],[[65300,65300],\"mapped\",[52]],[[65301,65301],\"mapped\",[53]],[[65302,65302],\"mapped\",[54]],[[65303,65303],\"mapped\",[55]],[[65304,65304],\"mapped\",[56]],[[65305,65305],\"mapped\",[57]],[[65306,65306],\"disallowed_STD3_mapped\",[58]],[[65307,65307],\"disallowed_STD3_mapped\",[59]],[[65308,65308],\"disallowed_STD3_mapped\",[60]],[[65309,65309],\"disallowed_STD3_mapped\",[61]],[[65310,65310],\"disallowed_STD3_mapped\",[62]],[[65311,65311],\"disallowed_STD3_mapped\",[63]],[[65312,65312],\"disallowed_STD3_mapped\",[64]],[[65313,65313],\"mapped\",[97]],[[65314,65314],\"mapped\",[98]],[[65315,65315],\"mapped\",[99]],[[65316,65316],\"mapped\",[100]],[[65317,65317],\"mapped\",[101]],[[65318,65318],\"mapped\",[102]],[[65319,65319],\"mapped\",[103]],[[65320,65320],\"mapped\",[104]],[[65321,65321],\"mapped\",[105]],[[65322,65322],\"mapped\",[106]],[[65323,65323],\"mapped\",[107]],[[65324,65324],\"mapped\",[108]],[[65325,65325],\"mapped\",[109]],[[65326,65326],\"mapped\",[110]],[[65327,65327],\"mapped\",[111]],[[65328,65328],\"mapped\",[112]],[[65329,65329],\"mapped\",[113]],[[65330,65330],\"mapped\",[114]],[[65331,65331],\"mapped\",[115]],[[65332,65332],\"mapped\",[116]],[[65333,65333],\"mapped\",[117]],[[65334,65334],\"mapped\",[118]],[[65335,65335],\"mapped\",[119]],[[65336,65336],\"mapped\",[120]],[[65337,65337],\"mapped\",[121]],[[65338,65338],\"mapped\",[122]],[[65339,65339],\"disallowed_STD3_mapped\",[91]],[[65340,65340],\"disallowed_STD3_mapped\",[92]],[[65341,65341],\"disallowed_STD3_mapped\",[93]],[[65342,65342],\"disallowed_STD3_mapped\",[94]],[[65343,65343],\"disallowed_STD3_mapped\",[95]],[[65344,65344],\"disallowed_STD3_mapped\",[96]],[[65345,65345],\"mapped\",[97]],[[65346,65346],\"mapped\",[98]],[[65347,65347],\"mapped\",[99]],[[65348,65348],\"mapped\",[100]],[[65349,65349],\"mapped\",[101]],[[65350,65350],\"mapped\",[102]],[[65351,65351],\"mapped\",[103]],[[65352,65352],\"mapped\",[104]],[[65353,65353],\"mapped\",[105]],[[65354,65354],\"mapped\",[106]],[[65355,65355],\"mapped\",[107]],[[65356,65356],\"mapped\",[108]],[[65357,65357],\"mapped\",[109]],[[65358,65358],\"mapped\",[110]],[[65359,65359],\"mapped\",[111]],[[65360,65360],\"mapped\",[112]],[[65361,65361],\"mapped\",[113]],[[65362,65362],\"mapped\",[114]],[[65363,65363],\"mapped\",[115]],[[65364,65364],\"mapped\",[116]],[[65365,65365],\"mapped\",[117]],[[65366,65366],\"mapped\",[118]],[[65367,65367],\"mapped\",[119]],[[65368,65368],\"mapped\",[120]],[[65369,65369],\"mapped\",[121]],[[65370,65370],\"mapped\",[122]],[[65371,65371],\"disallowed_STD3_mapped\",[123]],[[65372,65372],\"disallowed_STD3_mapped\",[124]],[[65373,65373],\"disallowed_STD3_mapped\",[125]],[[65374,65374],\"disallowed_STD3_mapped\",[126]],[[65375,65375],\"mapped\",[10629]],[[65376,65376],\"mapped\",[10630]],[[65377,65377],\"mapped\",[46]],[[65378,65378],\"mapped\",[12300]],[[65379,65379],\"mapped\",[12301]],[[65380,65380],\"mapped\",[12289]],[[65381,65381],\"mapped\",[12539]],[[65382,65382],\"mapped\",[12530]],[[65383,65383],\"mapped\",[12449]],[[65384,65384],\"mapped\",[12451]],[[65385,65385],\"mapped\",[12453]],[[65386,65386],\"mapped\",[12455]],[[65387,65387],\"mapped\",[12457]],[[65388,65388],\"mapped\",[12515]],[[65389,65389],\"mapped\",[12517]],[[65390,65390],\"mapped\",[12519]],[[65391,65391],\"mapped\",[12483]],[[65392,65392],\"mapped\",[12540]],[[65393,65393],\"mapped\",[12450]],[[65394,65394],\"mapped\",[12452]],[[65395,65395],\"mapped\",[12454]],[[65396,65396],\"mapped\",[12456]],[[65397,65397],\"mapped\",[12458]],[[65398,65398],\"mapped\",[12459]],[[65399,65399],\"mapped\",[12461]],[[65400,65400],\"mapped\",[12463]],[[65401,65401],\"mapped\",[12465]],[[65402,65402],\"mapped\",[12467]],[[65403,65403],\"mapped\",[12469]],[[65404,65404],\"mapped\",[12471]],[[65405,65405],\"mapped\",[12473]],[[65406,65406],\"mapped\",[12475]],[[65407,65407],\"mapped\",[12477]],[[65408,65408],\"mapped\",[12479]],[[65409,65409],\"mapped\",[12481]],[[65410,65410],\"mapped\",[12484]],[[65411,65411],\"mapped\",[12486]],[[65412,65412],\"mapped\",[12488]],[[65413,65413],\"mapped\",[12490]],[[65414,65414],\"mapped\",[12491]],[[65415,65415],\"mapped\",[12492]],[[65416,65416],\"mapped\",[12493]],[[65417,65417],\"mapped\",[12494]],[[65418,65418],\"mapped\",[12495]],[[65419,65419],\"mapped\",[12498]],[[65420,65420],\"mapped\",[12501]],[[65421,65421],\"mapped\",[12504]],[[65422,65422],\"mapped\",[12507]],[[65423,65423],\"mapped\",[12510]],[[65424,65424],\"mapped\",[12511]],[[65425,65425],\"mapped\",[12512]],[[65426,65426],\"mapped\",[12513]],[[65427,65427],\"mapped\",[12514]],[[65428,65428],\"mapped\",[12516]],[[65429,65429],\"mapped\",[12518]],[[65430,65430],\"mapped\",[12520]],[[65431,65431],\"mapped\",[12521]],[[65432,65432],\"mapped\",[12522]],[[65433,65433],\"mapped\",[12523]],[[65434,65434],\"mapped\",[12524]],[[65435,65435],\"mapped\",[12525]],[[65436,65436],\"mapped\",[12527]],[[65437,65437],\"mapped\",[12531]],[[65438,65438],\"mapped\",[12441]],[[65439,65439],\"mapped\",[12442]],[[65440,65440],\"disallowed\"],[[65441,65441],\"mapped\",[4352]],[[65442,65442],\"mapped\",[4353]],[[65443,65443],\"mapped\",[4522]],[[65444,65444],\"mapped\",[4354]],[[65445,65445],\"mapped\",[4524]],[[65446,65446],\"mapped\",[4525]],[[65447,65447],\"mapped\",[4355]],[[65448,65448],\"mapped\",[4356]],[[65449,65449],\"mapped\",[4357]],[[65450,65450],\"mapped\",[4528]],[[65451,65451],\"mapped\",[4529]],[[65452,65452],\"mapped\",[4530]],[[65453,65453],\"mapped\",[4531]],[[65454,65454],\"mapped\",[4532]],[[65455,65455],\"mapped\",[4533]],[[65456,65456],\"mapped\",[4378]],[[65457,65457],\"mapped\",[4358]],[[65458,65458],\"mapped\",[4359]],[[65459,65459],\"mapped\",[4360]],[[65460,65460],\"mapped\",[4385]],[[65461,65461],\"mapped\",[4361]],[[65462,65462],\"mapped\",[4362]],[[65463,65463],\"mapped\",[4363]],[[65464,65464],\"mapped\",[4364]],[[65465,65465],\"mapped\",[4365]],[[65466,65466],\"mapped\",[4366]],[[65467,65467],\"mapped\",[4367]],[[65468,65468],\"mapped\",[4368]],[[65469,65469],\"mapped\",[4369]],[[65470,65470],\"mapped\",[4370]],[[65471,65473],\"disallowed\"],[[65474,65474],\"mapped\",[4449]],[[65475,65475],\"mapped\",[4450]],[[65476,65476],\"mapped\",[4451]],[[65477,65477],\"mapped\",[4452]],[[65478,65478],\"mapped\",[4453]],[[65479,65479],\"mapped\",[4454]],[[65480,65481],\"disallowed\"],[[65482,65482],\"mapped\",[4455]],[[65483,65483],\"mapped\",[4456]],[[65484,65484],\"mapped\",[4457]],[[65485,65485],\"mapped\",[4458]],[[65486,65486],\"mapped\",[4459]],[[65487,65487],\"mapped\",[4460]],[[65488,65489],\"disallowed\"],[[65490,65490],\"mapped\",[4461]],[[65491,65491],\"mapped\",[4462]],[[65492,65492],\"mapped\",[4463]],[[65493,65493],\"mapped\",[4464]],[[65494,65494],\"mapped\",[4465]],[[65495,65495],\"mapped\",[4466]],[[65496,65497],\"disallowed\"],[[65498,65498],\"mapped\",[4467]],[[65499,65499],\"mapped\",[4468]],[[65500,65500],\"mapped\",[4469]],[[65501,65503],\"disallowed\"],[[65504,65504],\"mapped\",[162]],[[65505,65505],\"mapped\",[163]],[[65506,65506],\"mapped\",[172]],[[65507,65507],\"disallowed_STD3_mapped\",[32,772]],[[65508,65508],\"mapped\",[166]],[[65509,65509],\"mapped\",[165]],[[65510,65510],\"mapped\",[8361]],[[65511,65511],\"disallowed\"],[[65512,65512],\"mapped\",[9474]],[[65513,65513],\"mapped\",[8592]],[[65514,65514],\"mapped\",[8593]],[[65515,65515],\"mapped\",[8594]],[[65516,65516],\"mapped\",[8595]],[[65517,65517],\"mapped\",[9632]],[[65518,65518],\"mapped\",[9675]],[[65519,65528],\"disallowed\"],[[65529,65531],\"disallowed\"],[[65532,65532],\"disallowed\"],[[65533,65533],\"disallowed\"],[[65534,65535],\"disallowed\"],[[65536,65547],\"valid\"],[[65548,65548],\"disallowed\"],[[65549,65574],\"valid\"],[[65575,65575],\"disallowed\"],[[65576,65594],\"valid\"],[[65595,65595],\"disallowed\"],[[65596,65597],\"valid\"],[[65598,65598],\"disallowed\"],[[65599,65613],\"valid\"],[[65614,65615],\"disallowed\"],[[65616,65629],\"valid\"],[[65630,65663],\"disallowed\"],[[65664,65786],\"valid\"],[[65787,65791],\"disallowed\"],[[65792,65794],\"valid\",[],\"NV8\"],[[65795,65798],\"disallowed\"],[[65799,65843],\"valid\",[],\"NV8\"],[[65844,65846],\"disallowed\"],[[65847,65855],\"valid\",[],\"NV8\"],[[65856,65930],\"valid\",[],\"NV8\"],[[65931,65932],\"valid\",[],\"NV8\"],[[65933,65935],\"disallowed\"],[[65936,65947],\"valid\",[],\"NV8\"],[[65948,65951],\"disallowed\"],[[65952,65952],\"valid\",[],\"NV8\"],[[65953,65999],\"disallowed\"],[[66000,66044],\"valid\",[],\"NV8\"],[[66045,66045],\"valid\"],[[66046,66175],\"disallowed\"],[[66176,66204],\"valid\"],[[66205,66207],\"disallowed\"],[[66208,66256],\"valid\"],[[66257,66271],\"disallowed\"],[[66272,66272],\"valid\"],[[66273,66299],\"valid\",[],\"NV8\"],[[66300,66303],\"disallowed\"],[[66304,66334],\"valid\"],[[66335,66335],\"valid\"],[[66336,66339],\"valid\",[],\"NV8\"],[[66340,66351],\"disallowed\"],[[66352,66368],\"valid\"],[[66369,66369],\"valid\",[],\"NV8\"],[[66370,66377],\"valid\"],[[66378,66378],\"valid\",[],\"NV8\"],[[66379,66383],\"disallowed\"],[[66384,66426],\"valid\"],[[66427,66431],\"disallowed\"],[[66432,66461],\"valid\"],[[66462,66462],\"disallowed\"],[[66463,66463],\"valid\",[],\"NV8\"],[[66464,66499],\"valid\"],[[66500,66503],\"disallowed\"],[[66504,66511],\"valid\"],[[66512,66517],\"valid\",[],\"NV8\"],[[66518,66559],\"disallowed\"],[[66560,66560],\"mapped\",[66600]],[[66561,66561],\"mapped\",[66601]],[[66562,66562],\"mapped\",[66602]],[[66563,66563],\"mapped\",[66603]],[[66564,66564],\"mapped\",[66604]],[[66565,66565],\"mapped\",[66605]],[[66566,66566],\"mapped\",[66606]],[[66567,66567],\"mapped\",[66607]],[[66568,66568],\"mapped\",[66608]],[[66569,66569],\"mapped\",[66609]],[[66570,66570],\"mapped\",[66610]],[[66571,66571],\"mapped\",[66611]],[[66572,66572],\"mapped\",[66612]],[[66573,66573],\"mapped\",[66613]],[[66574,66574],\"mapped\",[66614]],[[66575,66575],\"mapped\",[66615]],[[66576,66576],\"mapped\",[66616]],[[66577,66577],\"mapped\",[66617]],[[66578,66578],\"mapped\",[66618]],[[66579,66579],\"mapped\",[66619]],[[66580,66580],\"mapped\",[66620]],[[66581,66581],\"mapped\",[66621]],[[66582,66582],\"mapped\",[66622]],[[66583,66583],\"mapped\",[66623]],[[66584,66584],\"mapped\",[66624]],[[66585,66585],\"mapped\",[66625]],[[66586,66586],\"mapped\",[66626]],[[66587,66587],\"mapped\",[66627]],[[66588,66588],\"mapped\",[66628]],[[66589,66589],\"mapped\",[66629]],[[66590,66590],\"mapped\",[66630]],[[66591,66591],\"mapped\",[66631]],[[66592,66592],\"mapped\",[66632]],[[66593,66593],\"mapped\",[66633]],[[66594,66594],\"mapped\",[66634]],[[66595,66595],\"mapped\",[66635]],[[66596,66596],\"mapped\",[66636]],[[66597,66597],\"mapped\",[66637]],[[66598,66598],\"mapped\",[66638]],[[66599,66599],\"mapped\",[66639]],[[66600,66637],\"valid\"],[[66638,66717],\"valid\"],[[66718,66719],\"disallowed\"],[[66720,66729],\"valid\"],[[66730,66815],\"disallowed\"],[[66816,66855],\"valid\"],[[66856,66863],\"disallowed\"],[[66864,66915],\"valid\"],[[66916,66926],\"disallowed\"],[[66927,66927],\"valid\",[],\"NV8\"],[[66928,67071],\"disallowed\"],[[67072,67382],\"valid\"],[[67383,67391],\"disallowed\"],[[67392,67413],\"valid\"],[[67414,67423],\"disallowed\"],[[67424,67431],\"valid\"],[[67432,67583],\"disallowed\"],[[67584,67589],\"valid\"],[[67590,67591],\"disallowed\"],[[67592,67592],\"valid\"],[[67593,67593],\"disallowed\"],[[67594,67637],\"valid\"],[[67638,67638],\"disallowed\"],[[67639,67640],\"valid\"],[[67641,67643],\"disallowed\"],[[67644,67644],\"valid\"],[[67645,67646],\"disallowed\"],[[67647,67647],\"valid\"],[[67648,67669],\"valid\"],[[67670,67670],\"disallowed\"],[[67671,67679],\"valid\",[],\"NV8\"],[[67680,67702],\"valid\"],[[67703,67711],\"valid\",[],\"NV8\"],[[67712,67742],\"valid\"],[[67743,67750],\"disallowed\"],[[67751,67759],\"valid\",[],\"NV8\"],[[67760,67807],\"disallowed\"],[[67808,67826],\"valid\"],[[67827,67827],\"disallowed\"],[[67828,67829],\"valid\"],[[67830,67834],\"disallowed\"],[[67835,67839],\"valid\",[],\"NV8\"],[[67840,67861],\"valid\"],[[67862,67865],\"valid\",[],\"NV8\"],[[67866,67867],\"valid\",[],\"NV8\"],[[67868,67870],\"disallowed\"],[[67871,67871],\"valid\",[],\"NV8\"],[[67872,67897],\"valid\"],[[67898,67902],\"disallowed\"],[[67903,67903],\"valid\",[],\"NV8\"],[[67904,67967],\"disallowed\"],[[67968,68023],\"valid\"],[[68024,68027],\"disallowed\"],[[68028,68029],\"valid\",[],\"NV8\"],[[68030,68031],\"valid\"],[[68032,68047],\"valid\",[],\"NV8\"],[[68048,68049],\"disallowed\"],[[68050,68095],\"valid\",[],\"NV8\"],[[68096,68099],\"valid\"],[[68100,68100],\"disallowed\"],[[68101,68102],\"valid\"],[[68103,68107],\"disallowed\"],[[68108,68115],\"valid\"],[[68116,68116],\"disallowed\"],[[68117,68119],\"valid\"],[[68120,68120],\"disallowed\"],[[68121,68147],\"valid\"],[[68148,68151],\"disallowed\"],[[68152,68154],\"valid\"],[[68155,68158],\"disallowed\"],[[68159,68159],\"valid\"],[[68160,68167],\"valid\",[],\"NV8\"],[[68168,68175],\"disallowed\"],[[68176,68184],\"valid\",[],\"NV8\"],[[68185,68191],\"disallowed\"],[[68192,68220],\"valid\"],[[68221,68223],\"valid\",[],\"NV8\"],[[68224,68252],\"valid\"],[[68253,68255],\"valid\",[],\"NV8\"],[[68256,68287],\"disallowed\"],[[68288,68295],\"valid\"],[[68296,68296],\"valid\",[],\"NV8\"],[[68297,68326],\"valid\"],[[68327,68330],\"disallowed\"],[[68331,68342],\"valid\",[],\"NV8\"],[[68343,68351],\"disallowed\"],[[68352,68405],\"valid\"],[[68406,68408],\"disallowed\"],[[68409,68415],\"valid\",[],\"NV8\"],[[68416,68437],\"valid\"],[[68438,68439],\"disallowed\"],[[68440,68447],\"valid\",[],\"NV8\"],[[68448,68466],\"valid\"],[[68467,68471],\"disallowed\"],[[68472,68479],\"valid\",[],\"NV8\"],[[68480,68497],\"valid\"],[[68498,68504],\"disallowed\"],[[68505,68508],\"valid\",[],\"NV8\"],[[68509,68520],\"disallowed\"],[[68521,68527],\"valid\",[],\"NV8\"],[[68528,68607],\"disallowed\"],[[68608,68680],\"valid\"],[[68681,68735],\"disallowed\"],[[68736,68736],\"mapped\",[68800]],[[68737,68737],\"mapped\",[68801]],[[68738,68738],\"mapped\",[68802]],[[68739,68739],\"mapped\",[68803]],[[68740,68740],\"mapped\",[68804]],[[68741,68741],\"mapped\",[68805]],[[68742,68742],\"mapped\",[68806]],[[68743,68743],\"mapped\",[68807]],[[68744,68744],\"mapped\",[68808]],[[68745,68745],\"mapped\",[68809]],[[68746,68746],\"mapped\",[68810]],[[68747,68747],\"mapped\",[68811]],[[68748,68748],\"mapped\",[68812]],[[68749,68749],\"mapped\",[68813]],[[68750,68750],\"mapped\",[68814]],[[68751,68751],\"mapped\",[68815]],[[68752,68752],\"mapped\",[68816]],[[68753,68753],\"mapped\",[68817]],[[68754,68754],\"mapped\",[68818]],[[68755,68755],\"mapped\",[68819]],[[68756,68756],\"mapped\",[68820]],[[68757,68757],\"mapped\",[68821]],[[68758,68758],\"mapped\",[68822]],[[68759,68759],\"mapped\",[68823]],[[68760,68760],\"mapped\",[68824]],[[68761,68761],\"mapped\",[68825]],[[68762,68762],\"mapped\",[68826]],[[68763,68763],\"mapped\",[68827]],[[68764,68764],\"mapped\",[68828]],[[68765,68765],\"mapped\",[68829]],[[68766,68766],\"mapped\",[68830]],[[68767,68767],\"mapped\",[68831]],[[68768,68768],\"mapped\",[68832]],[[68769,68769],\"mapped\",[68833]],[[68770,68770],\"mapped\",[68834]],[[68771,68771],\"mapped\",[68835]],[[68772,68772],\"mapped\",[68836]],[[68773,68773],\"mapped\",[68837]],[[68774,68774],\"mapped\",[68838]],[[68775,68775],\"mapped\",[68839]],[[68776,68776],\"mapped\",[68840]],[[68777,68777],\"mapped\",[68841]],[[68778,68778],\"mapped\",[68842]],[[68779,68779],\"mapped\",[68843]],[[68780,68780],\"mapped\",[68844]],[[68781,68781],\"mapped\",[68845]],[[68782,68782],\"mapped\",[68846]],[[68783,68783],\"mapped\",[68847]],[[68784,68784],\"mapped\",[68848]],[[68785,68785],\"mapped\",[68849]],[[68786,68786],\"mapped\",[68850]],[[68787,68799],\"disallowed\"],[[68800,68850],\"valid\"],[[68851,68857],\"disallowed\"],[[68858,68863],\"valid\",[],\"NV8\"],[[68864,69215],\"disallowed\"],[[69216,69246],\"valid\",[],\"NV8\"],[[69247,69631],\"disallowed\"],[[69632,69702],\"valid\"],[[69703,69709],\"valid\",[],\"NV8\"],[[69710,69713],\"disallowed\"],[[69714,69733],\"valid\",[],\"NV8\"],[[69734,69743],\"valid\"],[[69744,69758],\"disallowed\"],[[69759,69759],\"valid\"],[[69760,69818],\"valid\"],[[69819,69820],\"valid\",[],\"NV8\"],[[69821,69821],\"disallowed\"],[[69822,69825],\"valid\",[],\"NV8\"],[[69826,69839],\"disallowed\"],[[69840,69864],\"valid\"],[[69865,69871],\"disallowed\"],[[69872,69881],\"valid\"],[[69882,69887],\"disallowed\"],[[69888,69940],\"valid\"],[[69941,69941],\"disallowed\"],[[69942,69951],\"valid\"],[[69952,69955],\"valid\",[],\"NV8\"],[[69956,69967],\"disallowed\"],[[69968,70003],\"valid\"],[[70004,70005],\"valid\",[],\"NV8\"],[[70006,70006],\"valid\"],[[70007,70015],\"disallowed\"],[[70016,70084],\"valid\"],[[70085,70088],\"valid\",[],\"NV8\"],[[70089,70089],\"valid\",[],\"NV8\"],[[70090,70092],\"valid\"],[[70093,70093],\"valid\",[],\"NV8\"],[[70094,70095],\"disallowed\"],[[70096,70105],\"valid\"],[[70106,70106],\"valid\"],[[70107,70107],\"valid\",[],\"NV8\"],[[70108,70108],\"valid\"],[[70109,70111],\"valid\",[],\"NV8\"],[[70112,70112],\"disallowed\"],[[70113,70132],\"valid\",[],\"NV8\"],[[70133,70143],\"disallowed\"],[[70144,70161],\"valid\"],[[70162,70162],\"disallowed\"],[[70163,70199],\"valid\"],[[70200,70205],\"valid\",[],\"NV8\"],[[70206,70271],\"disallowed\"],[[70272,70278],\"valid\"],[[70279,70279],\"disallowed\"],[[70280,70280],\"valid\"],[[70281,70281],\"disallowed\"],[[70282,70285],\"valid\"],[[70286,70286],\"disallowed\"],[[70287,70301],\"valid\"],[[70302,70302],\"disallowed\"],[[70303,70312],\"valid\"],[[70313,70313],\"valid\",[],\"NV8\"],[[70314,70319],\"disallowed\"],[[70320,70378],\"valid\"],[[70379,70383],\"disallowed\"],[[70384,70393],\"valid\"],[[70394,70399],\"disallowed\"],[[70400,70400],\"valid\"],[[70401,70403],\"valid\"],[[70404,70404],\"disallowed\"],[[70405,70412],\"valid\"],[[70413,70414],\"disallowed\"],[[70415,70416],\"valid\"],[[70417,70418],\"disallowed\"],[[70419,70440],\"valid\"],[[70441,70441],\"disallowed\"],[[70442,70448],\"valid\"],[[70449,70449],\"disallowed\"],[[70450,70451],\"valid\"],[[70452,70452],\"disallowed\"],[[70453,70457],\"valid\"],[[70458,70459],\"disallowed\"],[[70460,70468],\"valid\"],[[70469,70470],\"disallowed\"],[[70471,70472],\"valid\"],[[70473,70474],\"disallowed\"],[[70475,70477],\"valid\"],[[70478,70479],\"disallowed\"],[[70480,70480],\"valid\"],[[70481,70486],\"disallowed\"],[[70487,70487],\"valid\"],[[70488,70492],\"disallowed\"],[[70493,70499],\"valid\"],[[70500,70501],\"disallowed\"],[[70502,70508],\"valid\"],[[70509,70511],\"disallowed\"],[[70512,70516],\"valid\"],[[70517,70783],\"disallowed\"],[[70784,70853],\"valid\"],[[70854,70854],\"valid\",[],\"NV8\"],[[70855,70855],\"valid\"],[[70856,70863],\"disallowed\"],[[70864,70873],\"valid\"],[[70874,71039],\"disallowed\"],[[71040,71093],\"valid\"],[[71094,71095],\"disallowed\"],[[71096,71104],\"valid\"],[[71105,71113],\"valid\",[],\"NV8\"],[[71114,71127],\"valid\",[],\"NV8\"],[[71128,71133],\"valid\"],[[71134,71167],\"disallowed\"],[[71168,71232],\"valid\"],[[71233,71235],\"valid\",[],\"NV8\"],[[71236,71236],\"valid\"],[[71237,71247],\"disallowed\"],[[71248,71257],\"valid\"],[[71258,71295],\"disallowed\"],[[71296,71351],\"valid\"],[[71352,71359],\"disallowed\"],[[71360,71369],\"valid\"],[[71370,71423],\"disallowed\"],[[71424,71449],\"valid\"],[[71450,71452],\"disallowed\"],[[71453,71467],\"valid\"],[[71468,71471],\"disallowed\"],[[71472,71481],\"valid\"],[[71482,71487],\"valid\",[],\"NV8\"],[[71488,71839],\"disallowed\"],[[71840,71840],\"mapped\",[71872]],[[71841,71841],\"mapped\",[71873]],[[71842,71842],\"mapped\",[71874]],[[71843,71843],\"mapped\",[71875]],[[71844,71844],\"mapped\",[71876]],[[71845,71845],\"mapped\",[71877]],[[71846,71846],\"mapped\",[71878]],[[71847,71847],\"mapped\",[71879]],[[71848,71848],\"mapped\",[71880]],[[71849,71849],\"mapped\",[71881]],[[71850,71850],\"mapped\",[71882]],[[71851,71851],\"mapped\",[71883]],[[71852,71852],\"mapped\",[71884]],[[71853,71853],\"mapped\",[71885]],[[71854,71854],\"mapped\",[71886]],[[71855,71855],\"mapped\",[71887]],[[71856,71856],\"mapped\",[71888]],[[71857,71857],\"mapped\",[71889]],[[71858,71858],\"mapped\",[71890]],[[71859,71859],\"mapped\",[71891]],[[71860,71860],\"mapped\",[71892]],[[71861,71861],\"mapped\",[71893]],[[71862,71862],\"mapped\",[71894]],[[71863,71863],\"mapped\",[71895]],[[71864,71864],\"mapped\",[71896]],[[71865,71865],\"mapped\",[71897]],[[71866,71866],\"mapped\",[71898]],[[71867,71867],\"mapped\",[71899]],[[71868,71868],\"mapped\",[71900]],[[71869,71869],\"mapped\",[71901]],[[71870,71870],\"mapped\",[71902]],[[71871,71871],\"mapped\",[71903]],[[71872,71913],\"valid\"],[[71914,71922],\"valid\",[],\"NV8\"],[[71923,71934],\"disallowed\"],[[71935,71935],\"valid\"],[[71936,72383],\"disallowed\"],[[72384,72440],\"valid\"],[[72441,73727],\"disallowed\"],[[73728,74606],\"valid\"],[[74607,74648],\"valid\"],[[74649,74649],\"valid\"],[[74650,74751],\"disallowed\"],[[74752,74850],\"valid\",[],\"NV8\"],[[74851,74862],\"valid\",[],\"NV8\"],[[74863,74863],\"disallowed\"],[[74864,74867],\"valid\",[],\"NV8\"],[[74868,74868],\"valid\",[],\"NV8\"],[[74869,74879],\"disallowed\"],[[74880,75075],\"valid\"],[[75076,77823],\"disallowed\"],[[77824,78894],\"valid\"],[[78895,82943],\"disallowed\"],[[82944,83526],\"valid\"],[[83527,92159],\"disallowed\"],[[92160,92728],\"valid\"],[[92729,92735],\"disallowed\"],[[92736,92766],\"valid\"],[[92767,92767],\"disallowed\"],[[92768,92777],\"valid\"],[[92778,92781],\"disallowed\"],[[92782,92783],\"valid\",[],\"NV8\"],[[92784,92879],\"disallowed\"],[[92880,92909],\"valid\"],[[92910,92911],\"disallowed\"],[[92912,92916],\"valid\"],[[92917,92917],\"valid\",[],\"NV8\"],[[92918,92927],\"disallowed\"],[[92928,92982],\"valid\"],[[92983,92991],\"valid\",[],\"NV8\"],[[92992,92995],\"valid\"],[[92996,92997],\"valid\",[],\"NV8\"],[[92998,93007],\"disallowed\"],[[93008,93017],\"valid\"],[[93018,93018],\"disallowed\"],[[93019,93025],\"valid\",[],\"NV8\"],[[93026,93026],\"disallowed\"],[[93027,93047],\"valid\"],[[93048,93052],\"disallowed\"],[[93053,93071],\"valid\"],[[93072,93951],\"disallowed\"],[[93952,94020],\"valid\"],[[94021,94031],\"disallowed\"],[[94032,94078],\"valid\"],[[94079,94094],\"disallowed\"],[[94095,94111],\"valid\"],[[94112,110591],\"disallowed\"],[[110592,110593],\"valid\"],[[110594,113663],\"disallowed\"],[[113664,113770],\"valid\"],[[113771,113775],\"disallowed\"],[[113776,113788],\"valid\"],[[113789,113791],\"disallowed\"],[[113792,113800],\"valid\"],[[113801,113807],\"disallowed\"],[[113808,113817],\"valid\"],[[113818,113819],\"disallowed\"],[[113820,113820],\"valid\",[],\"NV8\"],[[113821,113822],\"valid\"],[[113823,113823],\"valid\",[],\"NV8\"],[[113824,113827],\"ignored\"],[[113828,118783],\"disallowed\"],[[118784,119029],\"valid\",[],\"NV8\"],[[119030,119039],\"disallowed\"],[[119040,119078],\"valid\",[],\"NV8\"],[[119079,119080],\"disallowed\"],[[119081,119081],\"valid\",[],\"NV8\"],[[119082,119133],\"valid\",[],\"NV8\"],[[119134,119134],\"mapped\",[119127,119141]],[[119135,119135],\"mapped\",[119128,119141]],[[119136,119136],\"mapped\",[119128,119141,119150]],[[119137,119137],\"mapped\",[119128,119141,119151]],[[119138,119138],\"mapped\",[119128,119141,119152]],[[119139,119139],\"mapped\",[119128,119141,119153]],[[119140,119140],\"mapped\",[119128,119141,119154]],[[119141,119154],\"valid\",[],\"NV8\"],[[119155,119162],\"disallowed\"],[[119163,119226],\"valid\",[],\"NV8\"],[[119227,119227],\"mapped\",[119225,119141]],[[119228,119228],\"mapped\",[119226,119141]],[[119229,119229],\"mapped\",[119225,119141,119150]],[[119230,119230],\"mapped\",[119226,119141,119150]],[[119231,119231],\"mapped\",[119225,119141,119151]],[[119232,119232],\"mapped\",[119226,119141,119151]],[[119233,119261],\"valid\",[],\"NV8\"],[[119262,119272],\"valid\",[],\"NV8\"],[[119273,119295],\"disallowed\"],[[119296,119365],\"valid\",[],\"NV8\"],[[119366,119551],\"disallowed\"],[[119552,119638],\"valid\",[],\"NV8\"],[[119639,119647],\"disallowed\"],[[119648,119665],\"valid\",[],\"NV8\"],[[119666,119807],\"disallowed\"],[[119808,119808],\"mapped\",[97]],[[119809,119809],\"mapped\",[98]],[[119810,119810],\"mapped\",[99]],[[119811,119811],\"mapped\",[100]],[[119812,119812],\"mapped\",[101]],[[119813,119813],\"mapped\",[102]],[[119814,119814],\"mapped\",[103]],[[119815,119815],\"mapped\",[104]],[[119816,119816],\"mapped\",[105]],[[119817,119817],\"mapped\",[106]],[[119818,119818],\"mapped\",[107]],[[119819,119819],\"mapped\",[108]],[[119820,119820],\"mapped\",[109]],[[119821,119821],\"mapped\",[110]],[[119822,119822],\"mapped\",[111]],[[119823,119823],\"mapped\",[112]],[[119824,119824],\"mapped\",[113]],[[119825,119825],\"mapped\",[114]],[[119826,119826],\"mapped\",[115]],[[119827,119827],\"mapped\",[116]],[[119828,119828],\"mapped\",[117]],[[119829,119829],\"mapped\",[118]],[[119830,119830],\"mapped\",[119]],[[119831,119831],\"mapped\",[120]],[[119832,119832],\"mapped\",[121]],[[119833,119833],\"mapped\",[122]],[[119834,119834],\"mapped\",[97]],[[119835,119835],\"mapped\",[98]],[[119836,119836],\"mapped\",[99]],[[119837,119837],\"mapped\",[100]],[[119838,119838],\"mapped\",[101]],[[119839,119839],\"mapped\",[102]],[[119840,119840],\"mapped\",[103]],[[119841,119841],\"mapped\",[104]],[[119842,119842],\"mapped\",[105]],[[119843,119843],\"mapped\",[106]],[[119844,119844],\"mapped\",[107]],[[119845,119845],\"mapped\",[108]],[[119846,119846],\"mapped\",[109]],[[119847,119847],\"mapped\",[110]],[[119848,119848],\"mapped\",[111]],[[119849,119849],\"mapped\",[112]],[[119850,119850],\"mapped\",[113]],[[119851,119851],\"mapped\",[114]],[[119852,119852],\"mapped\",[115]],[[119853,119853],\"mapped\",[116]],[[119854,119854],\"mapped\",[117]],[[119855,119855],\"mapped\",[118]],[[119856,119856],\"mapped\",[119]],[[119857,119857],\"mapped\",[120]],[[119858,119858],\"mapped\",[121]],[[119859,119859],\"mapped\",[122]],[[119860,119860],\"mapped\",[97]],[[119861,119861],\"mapped\",[98]],[[119862,119862],\"mapped\",[99]],[[119863,119863],\"mapped\",[100]],[[119864,119864],\"mapped\",[101]],[[119865,119865],\"mapped\",[102]],[[119866,119866],\"mapped\",[103]],[[119867,119867],\"mapped\",[104]],[[119868,119868],\"mapped\",[105]],[[119869,119869],\"mapped\",[106]],[[119870,119870],\"mapped\",[107]],[[119871,119871],\"mapped\",[108]],[[119872,119872],\"mapped\",[109]],[[119873,119873],\"mapped\",[110]],[[119874,119874],\"mapped\",[111]],[[119875,119875],\"mapped\",[112]],[[119876,119876],\"mapped\",[113]],[[119877,119877],\"mapped\",[114]],[[119878,119878],\"mapped\",[115]],[[119879,119879],\"mapped\",[116]],[[119880,119880],\"mapped\",[117]],[[119881,119881],\"mapped\",[118]],[[119882,119882],\"mapped\",[119]],[[119883,119883],\"mapped\",[120]],[[119884,119884],\"mapped\",[121]],[[119885,119885],\"mapped\",[122]],[[119886,119886],\"mapped\",[97]],[[119887,119887],\"mapped\",[98]],[[119888,119888],\"mapped\",[99]],[[119889,119889],\"mapped\",[100]],[[119890,119890],\"mapped\",[101]],[[119891,119891],\"mapped\",[102]],[[119892,119892],\"mapped\",[103]],[[119893,119893],\"disallowed\"],[[119894,119894],\"mapped\",[105]],[[119895,119895],\"mapped\",[106]],[[119896,119896],\"mapped\",[107]],[[119897,119897],\"mapped\",[108]],[[119898,119898],\"mapped\",[109]],[[119899,119899],\"mapped\",[110]],[[119900,119900],\"mapped\",[111]],[[119901,119901],\"mapped\",[112]],[[119902,119902],\"mapped\",[113]],[[119903,119903],\"mapped\",[114]],[[119904,119904],\"mapped\",[115]],[[119905,119905],\"mapped\",[116]],[[119906,119906],\"mapped\",[117]],[[119907,119907],\"mapped\",[118]],[[119908,119908],\"mapped\",[119]],[[119909,119909],\"mapped\",[120]],[[119910,119910],\"mapped\",[121]],[[119911,119911],\"mapped\",[122]],[[119912,119912],\"mapped\",[97]],[[119913,119913],\"mapped\",[98]],[[119914,119914],\"mapped\",[99]],[[119915,119915],\"mapped\",[100]],[[119916,119916],\"mapped\",[101]],[[119917,119917],\"mapped\",[102]],[[119918,119918],\"mapped\",[103]],[[119919,119919],\"mapped\",[104]],[[119920,119920],\"mapped\",[105]],[[119921,119921],\"mapped\",[106]],[[119922,119922],\"mapped\",[107]],[[119923,119923],\"mapped\",[108]],[[119924,119924],\"mapped\",[109]],[[119925,119925],\"mapped\",[110]],[[119926,119926],\"mapped\",[111]],[[119927,119927],\"mapped\",[112]],[[119928,119928],\"mapped\",[113]],[[119929,119929],\"mapped\",[114]],[[119930,119930],\"mapped\",[115]],[[119931,119931],\"mapped\",[116]],[[119932,119932],\"mapped\",[117]],[[119933,119933],\"mapped\",[118]],[[119934,119934],\"mapped\",[119]],[[119935,119935],\"mapped\",[120]],[[119936,119936],\"mapped\",[121]],[[119937,119937],\"mapped\",[122]],[[119938,119938],\"mapped\",[97]],[[119939,119939],\"mapped\",[98]],[[119940,119940],\"mapped\",[99]],[[119941,119941],\"mapped\",[100]],[[119942,119942],\"mapped\",[101]],[[119943,119943],\"mapped\",[102]],[[119944,119944],\"mapped\",[103]],[[119945,119945],\"mapped\",[104]],[[119946,119946],\"mapped\",[105]],[[119947,119947],\"mapped\",[106]],[[119948,119948],\"mapped\",[107]],[[119949,119949],\"mapped\",[108]],[[119950,119950],\"mapped\",[109]],[[119951,119951],\"mapped\",[110]],[[119952,119952],\"mapped\",[111]],[[119953,119953],\"mapped\",[112]],[[119954,119954],\"mapped\",[113]],[[119955,119955],\"mapped\",[114]],[[119956,119956],\"mapped\",[115]],[[119957,119957],\"mapped\",[116]],[[119958,119958],\"mapped\",[117]],[[119959,119959],\"mapped\",[118]],[[119960,119960],\"mapped\",[119]],[[119961,119961],\"mapped\",[120]],[[119962,119962],\"mapped\",[121]],[[119963,119963],\"mapped\",[122]],[[119964,119964],\"mapped\",[97]],[[119965,119965],\"disallowed\"],[[119966,119966],\"mapped\",[99]],[[119967,119967],\"mapped\",[100]],[[119968,119969],\"disallowed\"],[[119970,119970],\"mapped\",[103]],[[119971,119972],\"disallowed\"],[[119973,119973],\"mapped\",[106]],[[119974,119974],\"mapped\",[107]],[[119975,119976],\"disallowed\"],[[119977,119977],\"mapped\",[110]],[[119978,119978],\"mapped\",[111]],[[119979,119979],\"mapped\",[112]],[[119980,119980],\"mapped\",[113]],[[119981,119981],\"disallowed\"],[[119982,119982],\"mapped\",[115]],[[119983,119983],\"mapped\",[116]],[[119984,119984],\"mapped\",[117]],[[119985,119985],\"mapped\",[118]],[[119986,119986],\"mapped\",[119]],[[119987,119987],\"mapped\",[120]],[[119988,119988],\"mapped\",[121]],[[119989,119989],\"mapped\",[122]],[[119990,119990],\"mapped\",[97]],[[119991,119991],\"mapped\",[98]],[[119992,119992],\"mapped\",[99]],[[119993,119993],\"mapped\",[100]],[[119994,119994],\"disallowed\"],[[119995,119995],\"mapped\",[102]],[[119996,119996],\"disallowed\"],[[119997,119997],\"mapped\",[104]],[[119998,119998],\"mapped\",[105]],[[119999,119999],\"mapped\",[106]],[[120000,120000],\"mapped\",[107]],[[120001,120001],\"mapped\",[108]],[[120002,120002],\"mapped\",[109]],[[120003,120003],\"mapped\",[110]],[[120004,120004],\"disallowed\"],[[120005,120005],\"mapped\",[112]],[[120006,120006],\"mapped\",[113]],[[120007,120007],\"mapped\",[114]],[[120008,120008],\"mapped\",[115]],[[120009,120009],\"mapped\",[116]],[[120010,120010],\"mapped\",[117]],[[120011,120011],\"mapped\",[118]],[[120012,120012],\"mapped\",[119]],[[120013,120013],\"mapped\",[120]],[[120014,120014],\"mapped\",[121]],[[120015,120015],\"mapped\",[122]],[[120016,120016],\"mapped\",[97]],[[120017,120017],\"mapped\",[98]],[[120018,120018],\"mapped\",[99]],[[120019,120019],\"mapped\",[100]],[[120020,120020],\"mapped\",[101]],[[120021,120021],\"mapped\",[102]],[[120022,120022],\"mapped\",[103]],[[120023,120023],\"mapped\",[104]],[[120024,120024],\"mapped\",[105]],[[120025,120025],\"mapped\",[106]],[[120026,120026],\"mapped\",[107]],[[120027,120027],\"mapped\",[108]],[[120028,120028],\"mapped\",[109]],[[120029,120029],\"mapped\",[110]],[[120030,120030],\"mapped\",[111]],[[120031,120031],\"mapped\",[112]],[[120032,120032],\"mapped\",[113]],[[120033,120033],\"mapped\",[114]],[[120034,120034],\"mapped\",[115]],[[120035,120035],\"mapped\",[116]],[[120036,120036],\"mapped\",[117]],[[120037,120037],\"mapped\",[118]],[[120038,120038],\"mapped\",[119]],[[120039,120039],\"mapped\",[120]],[[120040,120040],\"mapped\",[121]],[[120041,120041],\"mapped\",[122]],[[120042,120042],\"mapped\",[97]],[[120043,120043],\"mapped\",[98]],[[120044,120044],\"mapped\",[99]],[[120045,120045],\"mapped\",[100]],[[120046,120046],\"mapped\",[101]],[[120047,120047],\"mapped\",[102]],[[120048,120048],\"mapped\",[103]],[[120049,120049],\"mapped\",[104]],[[120050,120050],\"mapped\",[105]],[[120051,120051],\"mapped\",[106]],[[120052,120052],\"mapped\",[107]],[[120053,120053],\"mapped\",[108]],[[120054,120054],\"mapped\",[109]],[[120055,120055],\"mapped\",[110]],[[120056,120056],\"mapped\",[111]],[[120057,120057],\"mapped\",[112]],[[120058,120058],\"mapped\",[113]],[[120059,120059],\"mapped\",[114]],[[120060,120060],\"mapped\",[115]],[[120061,120061],\"mapped\",[116]],[[120062,120062],\"mapped\",[117]],[[120063,120063],\"mapped\",[118]],[[120064,120064],\"mapped\",[119]],[[120065,120065],\"mapped\",[120]],[[120066,120066],\"mapped\",[121]],[[120067,120067],\"mapped\",[122]],[[120068,120068],\"mapped\",[97]],[[120069,120069],\"mapped\",[98]],[[120070,120070],\"disallowed\"],[[120071,120071],\"mapped\",[100]],[[120072,120072],\"mapped\",[101]],[[120073,120073],\"mapped\",[102]],[[120074,120074],\"mapped\",[103]],[[120075,120076],\"disallowed\"],[[120077,120077],\"mapped\",[106]],[[120078,120078],\"mapped\",[107]],[[120079,120079],\"mapped\",[108]],[[120080,120080],\"mapped\",[109]],[[120081,120081],\"mapped\",[110]],[[120082,120082],\"mapped\",[111]],[[120083,120083],\"mapped\",[112]],[[120084,120084],\"mapped\",[113]],[[120085,120085],\"disallowed\"],[[120086,120086],\"mapped\",[115]],[[120087,120087],\"mapped\",[116]],[[120088,120088],\"mapped\",[117]],[[120089,120089],\"mapped\",[118]],[[120090,120090],\"mapped\",[119]],[[120091,120091],\"mapped\",[120]],[[120092,120092],\"mapped\",[121]],[[120093,120093],\"disallowed\"],[[120094,120094],\"mapped\",[97]],[[120095,120095],\"mapped\",[98]],[[120096,120096],\"mapped\",[99]],[[120097,120097],\"mapped\",[100]],[[120098,120098],\"mapped\",[101]],[[120099,120099],\"mapped\",[102]],[[120100,120100],\"mapped\",[103]],[[120101,120101],\"mapped\",[104]],[[120102,120102],\"mapped\",[105]],[[120103,120103],\"mapped\",[106]],[[120104,120104],\"mapped\",[107]],[[120105,120105],\"mapped\",[108]],[[120106,120106],\"mapped\",[109]],[[120107,120107],\"mapped\",[110]],[[120108,120108],\"mapped\",[111]],[[120109,120109],\"mapped\",[112]],[[120110,120110],\"mapped\",[113]],[[120111,120111],\"mapped\",[114]],[[120112,120112],\"mapped\",[115]],[[120113,120113],\"mapped\",[116]],[[120114,120114],\"mapped\",[117]],[[120115,120115],\"mapped\",[118]],[[120116,120116],\"mapped\",[119]],[[120117,120117],\"mapped\",[120]],[[120118,120118],\"mapped\",[121]],[[120119,120119],\"mapped\",[122]],[[120120,120120],\"mapped\",[97]],[[120121,120121],\"mapped\",[98]],[[120122,120122],\"disallowed\"],[[120123,120123],\"mapped\",[100]],[[120124,120124],\"mapped\",[101]],[[120125,120125],\"mapped\",[102]],[[120126,120126],\"mapped\",[103]],[[120127,120127],\"disallowed\"],[[120128,120128],\"mapped\",[105]],[[120129,120129],\"mapped\",[106]],[[120130,120130],\"mapped\",[107]],[[120131,120131],\"mapped\",[108]],[[120132,120132],\"mapped\",[109]],[[120133,120133],\"disallowed\"],[[120134,120134],\"mapped\",[111]],[[120135,120137],\"disallowed\"],[[120138,120138],\"mapped\",[115]],[[120139,120139],\"mapped\",[116]],[[120140,120140],\"mapped\",[117]],[[120141,120141],\"mapped\",[118]],[[120142,120142],\"mapped\",[119]],[[120143,120143],\"mapped\",[120]],[[120144,120144],\"mapped\",[121]],[[120145,120145],\"disallowed\"],[[120146,120146],\"mapped\",[97]],[[120147,120147],\"mapped\",[98]],[[120148,120148],\"mapped\",[99]],[[120149,120149],\"mapped\",[100]],[[120150,120150],\"mapped\",[101]],[[120151,120151],\"mapped\",[102]],[[120152,120152],\"mapped\",[103]],[[120153,120153],\"mapped\",[104]],[[120154,120154],\"mapped\",[105]],[[120155,120155],\"mapped\",[106]],[[120156,120156],\"mapped\",[107]],[[120157,120157],\"mapped\",[108]],[[120158,120158],\"mapped\",[109]],[[120159,120159],\"mapped\",[110]],[[120160,120160],\"mapped\",[111]],[[120161,120161],\"mapped\",[112]],[[120162,120162],\"mapped\",[113]],[[120163,120163],\"mapped\",[114]],[[120164,120164],\"mapped\",[115]],[[120165,120165],\"mapped\",[116]],[[120166,120166],\"mapped\",[117]],[[120167,120167],\"mapped\",[118]],[[120168,120168],\"mapped\",[119]],[[120169,120169],\"mapped\",[120]],[[120170,120170],\"mapped\",[121]],[[120171,120171],\"mapped\",[122]],[[120172,120172],\"mapped\",[97]],[[120173,120173],\"mapped\",[98]],[[120174,120174],\"mapped\",[99]],[[120175,120175],\"mapped\",[100]],[[120176,120176],\"mapped\",[101]],[[120177,120177],\"mapped\",[102]],[[120178,120178],\"mapped\",[103]],[[120179,120179],\"mapped\",[104]],[[120180,120180],\"mapped\",[105]],[[120181,120181],\"mapped\",[106]],[[120182,120182],\"mapped\",[107]],[[120183,120183],\"mapped\",[108]],[[120184,120184],\"mapped\",[109]],[[120185,120185],\"mapped\",[110]],[[120186,120186],\"mapped\",[111]],[[120187,120187],\"mapped\",[112]],[[120188,120188],\"mapped\",[113]],[[120189,120189],\"mapped\",[114]],[[120190,120190],\"mapped\",[115]],[[120191,120191],\"mapped\",[116]],[[120192,120192],\"mapped\",[117]],[[120193,120193],\"mapped\",[118]],[[120194,120194],\"mapped\",[119]],[[120195,120195],\"mapped\",[120]],[[120196,120196],\"mapped\",[121]],[[120197,120197],\"mapped\",[122]],[[120198,120198],\"mapped\",[97]],[[120199,120199],\"mapped\",[98]],[[120200,120200],\"mapped\",[99]],[[120201,120201],\"mapped\",[100]],[[120202,120202],\"mapped\",[101]],[[120203,120203],\"mapped\",[102]],[[120204,120204],\"mapped\",[103]],[[120205,120205],\"mapped\",[104]],[[120206,120206],\"mapped\",[105]],[[120207,120207],\"mapped\",[106]],[[120208,120208],\"mapped\",[107]],[[120209,120209],\"mapped\",[108]],[[120210,120210],\"mapped\",[109]],[[120211,120211],\"mapped\",[110]],[[120212,120212],\"mapped\",[111]],[[120213,120213],\"mapped\",[112]],[[120214,120214],\"mapped\",[113]],[[120215,120215],\"mapped\",[114]],[[120216,120216],\"mapped\",[115]],[[120217,120217],\"mapped\",[116]],[[120218,120218],\"mapped\",[117]],[[120219,120219],\"mapped\",[118]],[[120220,120220],\"mapped\",[119]],[[120221,120221],\"mapped\",[120]],[[120222,120222],\"mapped\",[121]],[[120223,120223],\"mapped\",[122]],[[120224,120224],\"mapped\",[97]],[[120225,120225],\"mapped\",[98]],[[120226,120226],\"mapped\",[99]],[[120227,120227],\"mapped\",[100]],[[120228,120228],\"mapped\",[101]],[[120229,120229],\"mapped\",[102]],[[120230,120230],\"mapped\",[103]],[[120231,120231],\"mapped\",[104]],[[120232,120232],\"mapped\",[105]],[[120233,120233],\"mapped\",[106]],[[120234,120234],\"mapped\",[107]],[[120235,120235],\"mapped\",[108]],[[120236,120236],\"mapped\",[109]],[[120237,120237],\"mapped\",[110]],[[120238,120238],\"mapped\",[111]],[[120239,120239],\"mapped\",[112]],[[120240,120240],\"mapped\",[113]],[[120241,120241],\"mapped\",[114]],[[120242,120242],\"mapped\",[115]],[[120243,120243],\"mapped\",[116]],[[120244,120244],\"mapped\",[117]],[[120245,120245],\"mapped\",[118]],[[120246,120246],\"mapped\",[119]],[[120247,120247],\"mapped\",[120]],[[120248,120248],\"mapped\",[121]],[[120249,120249],\"mapped\",[122]],[[120250,120250],\"mapped\",[97]],[[120251,120251],\"mapped\",[98]],[[120252,120252],\"mapped\",[99]],[[120253,120253],\"mapped\",[100]],[[120254,120254],\"mapped\",[101]],[[120255,120255],\"mapped\",[102]],[[120256,120256],\"mapped\",[103]],[[120257,120257],\"mapped\",[104]],[[120258,120258],\"mapped\",[105]],[[120259,120259],\"mapped\",[106]],[[120260,120260],\"mapped\",[107]],[[120261,120261],\"mapped\",[108]],[[120262,120262],\"mapped\",[109]],[[120263,120263],\"mapped\",[110]],[[120264,120264],\"mapped\",[111]],[[120265,120265],\"mapped\",[112]],[[120266,120266],\"mapped\",[113]],[[120267,120267],\"mapped\",[114]],[[120268,120268],\"mapped\",[115]],[[120269,120269],\"mapped\",[116]],[[120270,120270],\"mapped\",[117]],[[120271,120271],\"mapped\",[118]],[[120272,120272],\"mapped\",[119]],[[120273,120273],\"mapped\",[120]],[[120274,120274],\"mapped\",[121]],[[120275,120275],\"mapped\",[122]],[[120276,120276],\"mapped\",[97]],[[120277,120277],\"mapped\",[98]],[[120278,120278],\"mapped\",[99]],[[120279,120279],\"mapped\",[100]],[[120280,120280],\"mapped\",[101]],[[120281,120281],\"mapped\",[102]],[[120282,120282],\"mapped\",[103]],[[120283,120283],\"mapped\",[104]],[[120284,120284],\"mapped\",[105]],[[120285,120285],\"mapped\",[106]],[[120286,120286],\"mapped\",[107]],[[120287,120287],\"mapped\",[108]],[[120288,120288],\"mapped\",[109]],[[120289,120289],\"mapped\",[110]],[[120290,120290],\"mapped\",[111]],[[120291,120291],\"mapped\",[112]],[[120292,120292],\"mapped\",[113]],[[120293,120293],\"mapped\",[114]],[[120294,120294],\"mapped\",[115]],[[120295,120295],\"mapped\",[116]],[[120296,120296],\"mapped\",[117]],[[120297,120297],\"mapped\",[118]],[[120298,120298],\"mapped\",[119]],[[120299,120299],\"mapped\",[120]],[[120300,120300],\"mapped\",[121]],[[120301,120301],\"mapped\",[122]],[[120302,120302],\"mapped\",[97]],[[120303,120303],\"mapped\",[98]],[[120304,120304],\"mapped\",[99]],[[120305,120305],\"mapped\",[100]],[[120306,120306],\"mapped\",[101]],[[120307,120307],\"mapped\",[102]],[[120308,120308],\"mapped\",[103]],[[120309,120309],\"mapped\",[104]],[[120310,120310],\"mapped\",[105]],[[120311,120311],\"mapped\",[106]],[[120312,120312],\"mapped\",[107]],[[120313,120313],\"mapped\",[108]],[[120314,120314],\"mapped\",[109]],[[120315,120315],\"mapped\",[110]],[[120316,120316],\"mapped\",[111]],[[120317,120317],\"mapped\",[112]],[[120318,120318],\"mapped\",[113]],[[120319,120319],\"mapped\",[114]],[[120320,120320],\"mapped\",[115]],[[120321,120321],\"mapped\",[116]],[[120322,120322],\"mapped\",[117]],[[120323,120323],\"mapped\",[118]],[[120324,120324],\"mapped\",[119]],[[120325,120325],\"mapped\",[120]],[[120326,120326],\"mapped\",[121]],[[120327,120327],\"mapped\",[122]],[[120328,120328],\"mapped\",[97]],[[120329,120329],\"mapped\",[98]],[[120330,120330],\"mapped\",[99]],[[120331,120331],\"mapped\",[100]],[[120332,120332],\"mapped\",[101]],[[120333,120333],\"mapped\",[102]],[[120334,120334],\"mapped\",[103]],[[120335,120335],\"mapped\",[104]],[[120336,120336],\"mapped\",[105]],[[120337,120337],\"mapped\",[106]],[[120338,120338],\"mapped\",[107]],[[120339,120339],\"mapped\",[108]],[[120340,120340],\"mapped\",[109]],[[120341,120341],\"mapped\",[110]],[[120342,120342],\"mapped\",[111]],[[120343,120343],\"mapped\",[112]],[[120344,120344],\"mapped\",[113]],[[120345,120345],\"mapped\",[114]],[[120346,120346],\"mapped\",[115]],[[120347,120347],\"mapped\",[116]],[[120348,120348],\"mapped\",[117]],[[120349,120349],\"mapped\",[118]],[[120350,120350],\"mapped\",[119]],[[120351,120351],\"mapped\",[120]],[[120352,120352],\"mapped\",[121]],[[120353,120353],\"mapped\",[122]],[[120354,120354],\"mapped\",[97]],[[120355,120355],\"mapped\",[98]],[[120356,120356],\"mapped\",[99]],[[120357,120357],\"mapped\",[100]],[[120358,120358],\"mapped\",[101]],[[120359,120359],\"mapped\",[102]],[[120360,120360],\"mapped\",[103]],[[120361,120361],\"mapped\",[104]],[[120362,120362],\"mapped\",[105]],[[120363,120363],\"mapped\",[106]],[[120364,120364],\"mapped\",[107]],[[120365,120365],\"mapped\",[108]],[[120366,120366],\"mapped\",[109]],[[120367,120367],\"mapped\",[110]],[[120368,120368],\"mapped\",[111]],[[120369,120369],\"mapped\",[112]],[[120370,120370],\"mapped\",[113]],[[120371,120371],\"mapped\",[114]],[[120372,120372],\"mapped\",[115]],[[120373,120373],\"mapped\",[116]],[[120374,120374],\"mapped\",[117]],[[120375,120375],\"mapped\",[118]],[[120376,120376],\"mapped\",[119]],[[120377,120377],\"mapped\",[120]],[[120378,120378],\"mapped\",[121]],[[120379,120379],\"mapped\",[122]],[[120380,120380],\"mapped\",[97]],[[120381,120381],\"mapped\",[98]],[[120382,120382],\"mapped\",[99]],[[120383,120383],\"mapped\",[100]],[[120384,120384],\"mapped\",[101]],[[120385,120385],\"mapped\",[102]],[[120386,120386],\"mapped\",[103]],[[120387,120387],\"mapped\",[104]],[[120388,120388],\"mapped\",[105]],[[120389,120389],\"mapped\",[106]],[[120390,120390],\"mapped\",[107]],[[120391,120391],\"mapped\",[108]],[[120392,120392],\"mapped\",[109]],[[120393,120393],\"mapped\",[110]],[[120394,120394],\"mapped\",[111]],[[120395,120395],\"mapped\",[112]],[[120396,120396],\"mapped\",[113]],[[120397,120397],\"mapped\",[114]],[[120398,120398],\"mapped\",[115]],[[120399,120399],\"mapped\",[116]],[[120400,120400],\"mapped\",[117]],[[120401,120401],\"mapped\",[118]],[[120402,120402],\"mapped\",[119]],[[120403,120403],\"mapped\",[120]],[[120404,120404],\"mapped\",[121]],[[120405,120405],\"mapped\",[122]],[[120406,120406],\"mapped\",[97]],[[120407,120407],\"mapped\",[98]],[[120408,120408],\"mapped\",[99]],[[120409,120409],\"mapped\",[100]],[[120410,120410],\"mapped\",[101]],[[120411,120411],\"mapped\",[102]],[[120412,120412],\"mapped\",[103]],[[120413,120413],\"mapped\",[104]],[[120414,120414],\"mapped\",[105]],[[120415,120415],\"mapped\",[106]],[[120416,120416],\"mapped\",[107]],[[120417,120417],\"mapped\",[108]],[[120418,120418],\"mapped\",[109]],[[120419,120419],\"mapped\",[110]],[[120420,120420],\"mapped\",[111]],[[120421,120421],\"mapped\",[112]],[[120422,120422],\"mapped\",[113]],[[120423,120423],\"mapped\",[114]],[[120424,120424],\"mapped\",[115]],[[120425,120425],\"mapped\",[116]],[[120426,120426],\"mapped\",[117]],[[120427,120427],\"mapped\",[118]],[[120428,120428],\"mapped\",[119]],[[120429,120429],\"mapped\",[120]],[[120430,120430],\"mapped\",[121]],[[120431,120431],\"mapped\",[122]],[[120432,120432],\"mapped\",[97]],[[120433,120433],\"mapped\",[98]],[[120434,120434],\"mapped\",[99]],[[120435,120435],\"mapped\",[100]],[[120436,120436],\"mapped\",[101]],[[120437,120437],\"mapped\",[102]],[[120438,120438],\"mapped\",[103]],[[120439,120439],\"mapped\",[104]],[[120440,120440],\"mapped\",[105]],[[120441,120441],\"mapped\",[106]],[[120442,120442],\"mapped\",[107]],[[120443,120443],\"mapped\",[108]],[[120444,120444],\"mapped\",[109]],[[120445,120445],\"mapped\",[110]],[[120446,120446],\"mapped\",[111]],[[120447,120447],\"mapped\",[112]],[[120448,120448],\"mapped\",[113]],[[120449,120449],\"mapped\",[114]],[[120450,120450],\"mapped\",[115]],[[120451,120451],\"mapped\",[116]],[[120452,120452],\"mapped\",[117]],[[120453,120453],\"mapped\",[118]],[[120454,120454],\"mapped\",[119]],[[120455,120455],\"mapped\",[120]],[[120456,120456],\"mapped\",[121]],[[120457,120457],\"mapped\",[122]],[[120458,120458],\"mapped\",[97]],[[120459,120459],\"mapped\",[98]],[[120460,120460],\"mapped\",[99]],[[120461,120461],\"mapped\",[100]],[[120462,120462],\"mapped\",[101]],[[120463,120463],\"mapped\",[102]],[[120464,120464],\"mapped\",[103]],[[120465,120465],\"mapped\",[104]],[[120466,120466],\"mapped\",[105]],[[120467,120467],\"mapped\",[106]],[[120468,120468],\"mapped\",[107]],[[120469,120469],\"mapped\",[108]],[[120470,120470],\"mapped\",[109]],[[120471,120471],\"mapped\",[110]],[[120472,120472],\"mapped\",[111]],[[120473,120473],\"mapped\",[112]],[[120474,120474],\"mapped\",[113]],[[120475,120475],\"mapped\",[114]],[[120476,120476],\"mapped\",[115]],[[120477,120477],\"mapped\",[116]],[[120478,120478],\"mapped\",[117]],[[120479,120479],\"mapped\",[118]],[[120480,120480],\"mapped\",[119]],[[120481,120481],\"mapped\",[120]],[[120482,120482],\"mapped\",[121]],[[120483,120483],\"mapped\",[122]],[[120484,120484],\"mapped\",[305]],[[120485,120485],\"mapped\",[567]],[[120486,120487],\"disallowed\"],[[120488,120488],\"mapped\",[945]],[[120489,120489],\"mapped\",[946]],[[120490,120490],\"mapped\",[947]],[[120491,120491],\"mapped\",[948]],[[120492,120492],\"mapped\",[949]],[[120493,120493],\"mapped\",[950]],[[120494,120494],\"mapped\",[951]],[[120495,120495],\"mapped\",[952]],[[120496,120496],\"mapped\",[953]],[[120497,120497],\"mapped\",[954]],[[120498,120498],\"mapped\",[955]],[[120499,120499],\"mapped\",[956]],[[120500,120500],\"mapped\",[957]],[[120501,120501],\"mapped\",[958]],[[120502,120502],\"mapped\",[959]],[[120503,120503],\"mapped\",[960]],[[120504,120504],\"mapped\",[961]],[[120505,120505],\"mapped\",[952]],[[120506,120506],\"mapped\",[963]],[[120507,120507],\"mapped\",[964]],[[120508,120508],\"mapped\",[965]],[[120509,120509],\"mapped\",[966]],[[120510,120510],\"mapped\",[967]],[[120511,120511],\"mapped\",[968]],[[120512,120512],\"mapped\",[969]],[[120513,120513],\"mapped\",[8711]],[[120514,120514],\"mapped\",[945]],[[120515,120515],\"mapped\",[946]],[[120516,120516],\"mapped\",[947]],[[120517,120517],\"mapped\",[948]],[[120518,120518],\"mapped\",[949]],[[120519,120519],\"mapped\",[950]],[[120520,120520],\"mapped\",[951]],[[120521,120521],\"mapped\",[952]],[[120522,120522],\"mapped\",[953]],[[120523,120523],\"mapped\",[954]],[[120524,120524],\"mapped\",[955]],[[120525,120525],\"mapped\",[956]],[[120526,120526],\"mapped\",[957]],[[120527,120527],\"mapped\",[958]],[[120528,120528],\"mapped\",[959]],[[120529,120529],\"mapped\",[960]],[[120530,120530],\"mapped\",[961]],[[120531,120532],\"mapped\",[963]],[[120533,120533],\"mapped\",[964]],[[120534,120534],\"mapped\",[965]],[[120535,120535],\"mapped\",[966]],[[120536,120536],\"mapped\",[967]],[[120537,120537],\"mapped\",[968]],[[120538,120538],\"mapped\",[969]],[[120539,120539],\"mapped\",[8706]],[[120540,120540],\"mapped\",[949]],[[120541,120541],\"mapped\",[952]],[[120542,120542],\"mapped\",[954]],[[120543,120543],\"mapped\",[966]],[[120544,120544],\"mapped\",[961]],[[120545,120545],\"mapped\",[960]],[[120546,120546],\"mapped\",[945]],[[120547,120547],\"mapped\",[946]],[[120548,120548],\"mapped\",[947]],[[120549,120549],\"mapped\",[948]],[[120550,120550],\"mapped\",[949]],[[120551,120551],\"mapped\",[950]],[[120552,120552],\"mapped\",[951]],[[120553,120553],\"mapped\",[952]],[[120554,120554],\"mapped\",[953]],[[120555,120555],\"mapped\",[954]],[[120556,120556],\"mapped\",[955]],[[120557,120557],\"mapped\",[956]],[[120558,120558],\"mapped\",[957]],[[120559,120559],\"mapped\",[958]],[[120560,120560],\"mapped\",[959]],[[120561,120561],\"mapped\",[960]],[[120562,120562],\"mapped\",[961]],[[120563,120563],\"mapped\",[952]],[[120564,120564],\"mapped\",[963]],[[120565,120565],\"mapped\",[964]],[[120566,120566],\"mapped\",[965]],[[120567,120567],\"mapped\",[966]],[[120568,120568],\"mapped\",[967]],[[120569,120569],\"mapped\",[968]],[[120570,120570],\"mapped\",[969]],[[120571,120571],\"mapped\",[8711]],[[120572,120572],\"mapped\",[945]],[[120573,120573],\"mapped\",[946]],[[120574,120574],\"mapped\",[947]],[[120575,120575],\"mapped\",[948]],[[120576,120576],\"mapped\",[949]],[[120577,120577],\"mapped\",[950]],[[120578,120578],\"mapped\",[951]],[[120579,120579],\"mapped\",[952]],[[120580,120580],\"mapped\",[953]],[[120581,120581],\"mapped\",[954]],[[120582,120582],\"mapped\",[955]],[[120583,120583],\"mapped\",[956]],[[120584,120584],\"mapped\",[957]],[[120585,120585],\"mapped\",[958]],[[120586,120586],\"mapped\",[959]],[[120587,120587],\"mapped\",[960]],[[120588,120588],\"mapped\",[961]],[[120589,120590],\"mapped\",[963]],[[120591,120591],\"mapped\",[964]],[[120592,120592],\"mapped\",[965]],[[120593,120593],\"mapped\",[966]],[[120594,120594],\"mapped\",[967]],[[120595,120595],\"mapped\",[968]],[[120596,120596],\"mapped\",[969]],[[120597,120597],\"mapped\",[8706]],[[120598,120598],\"mapped\",[949]],[[120599,120599],\"mapped\",[952]],[[120600,120600],\"mapped\",[954]],[[120601,120601],\"mapped\",[966]],[[120602,120602],\"mapped\",[961]],[[120603,120603],\"mapped\",[960]],[[120604,120604],\"mapped\",[945]],[[120605,120605],\"mapped\",[946]],[[120606,120606],\"mapped\",[947]],[[120607,120607],\"mapped\",[948]],[[120608,120608],\"mapped\",[949]],[[120609,120609],\"mapped\",[950]],[[120610,120610],\"mapped\",[951]],[[120611,120611],\"mapped\",[952]],[[120612,120612],\"mapped\",[953]],[[120613,120613],\"mapped\",[954]],[[120614,120614],\"mapped\",[955]],[[120615,120615],\"mapped\",[956]],[[120616,120616],\"mapped\",[957]],[[120617,120617],\"mapped\",[958]],[[120618,120618],\"mapped\",[959]],[[120619,120619],\"mapped\",[960]],[[120620,120620],\"mapped\",[961]],[[120621,120621],\"mapped\",[952]],[[120622,120622],\"mapped\",[963]],[[120623,120623],\"mapped\",[964]],[[120624,120624],\"mapped\",[965]],[[120625,120625],\"mapped\",[966]],[[120626,120626],\"mapped\",[967]],[[120627,120627],\"mapped\",[968]],[[120628,120628],\"mapped\",[969]],[[120629,120629],\"mapped\",[8711]],[[120630,120630],\"mapped\",[945]],[[120631,120631],\"mapped\",[946]],[[120632,120632],\"mapped\",[947]],[[120633,120633],\"mapped\",[948]],[[120634,120634],\"mapped\",[949]],[[120635,120635],\"mapped\",[950]],[[120636,120636],\"mapped\",[951]],[[120637,120637],\"mapped\",[952]],[[120638,120638],\"mapped\",[953]],[[120639,120639],\"mapped\",[954]],[[120640,120640],\"mapped\",[955]],[[120641,120641],\"mapped\",[956]],[[120642,120642],\"mapped\",[957]],[[120643,120643],\"mapped\",[958]],[[120644,120644],\"mapped\",[959]],[[120645,120645],\"mapped\",[960]],[[120646,120646],\"mapped\",[961]],[[120647,120648],\"mapped\",[963]],[[120649,120649],\"mapped\",[964]],[[120650,120650],\"mapped\",[965]],[[120651,120651],\"mapped\",[966]],[[120652,120652],\"mapped\",[967]],[[120653,120653],\"mapped\",[968]],[[120654,120654],\"mapped\",[969]],[[120655,120655],\"mapped\",[8706]],[[120656,120656],\"mapped\",[949]],[[120657,120657],\"mapped\",[952]],[[120658,120658],\"mapped\",[954]],[[120659,120659],\"mapped\",[966]],[[120660,120660],\"mapped\",[961]],[[120661,120661],\"mapped\",[960]],[[120662,120662],\"mapped\",[945]],[[120663,120663],\"mapped\",[946]],[[120664,120664],\"mapped\",[947]],[[120665,120665],\"mapped\",[948]],[[120666,120666],\"mapped\",[949]],[[120667,120667],\"mapped\",[950]],[[120668,120668],\"mapped\",[951]],[[120669,120669],\"mapped\",[952]],[[120670,120670],\"mapped\",[953]],[[120671,120671],\"mapped\",[954]],[[120672,120672],\"mapped\",[955]],[[120673,120673],\"mapped\",[956]],[[120674,120674],\"mapped\",[957]],[[120675,120675],\"mapped\",[958]],[[120676,120676],\"mapped\",[959]],[[120677,120677],\"mapped\",[960]],[[120678,120678],\"mapped\",[961]],[[120679,120679],\"mapped\",[952]],[[120680,120680],\"mapped\",[963]],[[120681,120681],\"mapped\",[964]],[[120682,120682],\"mapped\",[965]],[[120683,120683],\"mapped\",[966]],[[120684,120684],\"mapped\",[967]],[[120685,120685],\"mapped\",[968]],[[120686,120686],\"mapped\",[969]],[[120687,120687],\"mapped\",[8711]],[[120688,120688],\"mapped\",[945]],[[120689,120689],\"mapped\",[946]],[[120690,120690],\"mapped\",[947]],[[120691,120691],\"mapped\",[948]],[[120692,120692],\"mapped\",[949]],[[120693,120693],\"mapped\",[950]],[[120694,120694],\"mapped\",[951]],[[120695,120695],\"mapped\",[952]],[[120696,120696],\"mapped\",[953]],[[120697,120697],\"mapped\",[954]],[[120698,120698],\"mapped\",[955]],[[120699,120699],\"mapped\",[956]],[[120700,120700],\"mapped\",[957]],[[120701,120701],\"mapped\",[958]],[[120702,120702],\"mapped\",[959]],[[120703,120703],\"mapped\",[960]],[[120704,120704],\"mapped\",[961]],[[120705,120706],\"mapped\",[963]],[[120707,120707],\"mapped\",[964]],[[120708,120708],\"mapped\",[965]],[[120709,120709],\"mapped\",[966]],[[120710,120710],\"mapped\",[967]],[[120711,120711],\"mapped\",[968]],[[120712,120712],\"mapped\",[969]],[[120713,120713],\"mapped\",[8706]],[[120714,120714],\"mapped\",[949]],[[120715,120715],\"mapped\",[952]],[[120716,120716],\"mapped\",[954]],[[120717,120717],\"mapped\",[966]],[[120718,120718],\"mapped\",[961]],[[120719,120719],\"mapped\",[960]],[[120720,120720],\"mapped\",[945]],[[120721,120721],\"mapped\",[946]],[[120722,120722],\"mapped\",[947]],[[120723,120723],\"mapped\",[948]],[[120724,120724],\"mapped\",[949]],[[120725,120725],\"mapped\",[950]],[[120726,120726],\"mapped\",[951]],[[120727,120727],\"mapped\",[952]],[[120728,120728],\"mapped\",[953]],[[120729,120729],\"mapped\",[954]],[[120730,120730],\"mapped\",[955]],[[120731,120731],\"mapped\",[956]],[[120732,120732],\"mapped\",[957]],[[120733,120733],\"mapped\",[958]],[[120734,120734],\"mapped\",[959]],[[120735,120735],\"mapped\",[960]],[[120736,120736],\"mapped\",[961]],[[120737,120737],\"mapped\",[952]],[[120738,120738],\"mapped\",[963]],[[120739,120739],\"mapped\",[964]],[[120740,120740],\"mapped\",[965]],[[120741,120741],\"mapped\",[966]],[[120742,120742],\"mapped\",[967]],[[120743,120743],\"mapped\",[968]],[[120744,120744],\"mapped\",[969]],[[120745,120745],\"mapped\",[8711]],[[120746,120746],\"mapped\",[945]],[[120747,120747],\"mapped\",[946]],[[120748,120748],\"mapped\",[947]],[[120749,120749],\"mapped\",[948]],[[120750,120750],\"mapped\",[949]],[[120751,120751],\"mapped\",[950]],[[120752,120752],\"mapped\",[951]],[[120753,120753],\"mapped\",[952]],[[120754,120754],\"mapped\",[953]],[[120755,120755],\"mapped\",[954]],[[120756,120756],\"mapped\",[955]],[[120757,120757],\"mapped\",[956]],[[120758,120758],\"mapped\",[957]],[[120759,120759],\"mapped\",[958]],[[120760,120760],\"mapped\",[959]],[[120761,120761],\"mapped\",[960]],[[120762,120762],\"mapped\",[961]],[[120763,120764],\"mapped\",[963]],[[120765,120765],\"mapped\",[964]],[[120766,120766],\"mapped\",[965]],[[120767,120767],\"mapped\",[966]],[[120768,120768],\"mapped\",[967]],[[120769,120769],\"mapped\",[968]],[[120770,120770],\"mapped\",[969]],[[120771,120771],\"mapped\",[8706]],[[120772,120772],\"mapped\",[949]],[[120773,120773],\"mapped\",[952]],[[120774,120774],\"mapped\",[954]],[[120775,120775],\"mapped\",[966]],[[120776,120776],\"mapped\",[961]],[[120777,120777],\"mapped\",[960]],[[120778,120779],\"mapped\",[989]],[[120780,120781],\"disallowed\"],[[120782,120782],\"mapped\",[48]],[[120783,120783],\"mapped\",[49]],[[120784,120784],\"mapped\",[50]],[[120785,120785],\"mapped\",[51]],[[120786,120786],\"mapped\",[52]],[[120787,120787],\"mapped\",[53]],[[120788,120788],\"mapped\",[54]],[[120789,120789],\"mapped\",[55]],[[120790,120790],\"mapped\",[56]],[[120791,120791],\"mapped\",[57]],[[120792,120792],\"mapped\",[48]],[[120793,120793],\"mapped\",[49]],[[120794,120794],\"mapped\",[50]],[[120795,120795],\"mapped\",[51]],[[120796,120796],\"mapped\",[52]],[[120797,120797],\"mapped\",[53]],[[120798,120798],\"mapped\",[54]],[[120799,120799],\"mapped\",[55]],[[120800,120800],\"mapped\",[56]],[[120801,120801],\"mapped\",[57]],[[120802,120802],\"mapped\",[48]],[[120803,120803],\"mapped\",[49]],[[120804,120804],\"mapped\",[50]],[[120805,120805],\"mapped\",[51]],[[120806,120806],\"mapped\",[52]],[[120807,120807],\"mapped\",[53]],[[120808,120808],\"mapped\",[54]],[[120809,120809],\"mapped\",[55]],[[120810,120810],\"mapped\",[56]],[[120811,120811],\"mapped\",[57]],[[120812,120812],\"mapped\",[48]],[[120813,120813],\"mapped\",[49]],[[120814,120814],\"mapped\",[50]],[[120815,120815],\"mapped\",[51]],[[120816,120816],\"mapped\",[52]],[[120817,120817],\"mapped\",[53]],[[120818,120818],\"mapped\",[54]],[[120819,120819],\"mapped\",[55]],[[120820,120820],\"mapped\",[56]],[[120821,120821],\"mapped\",[57]],[[120822,120822],\"mapped\",[48]],[[120823,120823],\"mapped\",[49]],[[120824,120824],\"mapped\",[50]],[[120825,120825],\"mapped\",[51]],[[120826,120826],\"mapped\",[52]],[[120827,120827],\"mapped\",[53]],[[120828,120828],\"mapped\",[54]],[[120829,120829],\"mapped\",[55]],[[120830,120830],\"mapped\",[56]],[[120831,120831],\"mapped\",[57]],[[120832,121343],\"valid\",[],\"NV8\"],[[121344,121398],\"valid\"],[[121399,121402],\"valid\",[],\"NV8\"],[[121403,121452],\"valid\"],[[121453,121460],\"valid\",[],\"NV8\"],[[121461,121461],\"valid\"],[[121462,121475],\"valid\",[],\"NV8\"],[[121476,121476],\"valid\"],[[121477,121483],\"valid\",[],\"NV8\"],[[121484,121498],\"disallowed\"],[[121499,121503],\"valid\"],[[121504,121504],\"disallowed\"],[[121505,121519],\"valid\"],[[121520,124927],\"disallowed\"],[[124928,125124],\"valid\"],[[125125,125126],\"disallowed\"],[[125127,125135],\"valid\",[],\"NV8\"],[[125136,125142],\"valid\"],[[125143,126463],\"disallowed\"],[[126464,126464],\"mapped\",[1575]],[[126465,126465],\"mapped\",[1576]],[[126466,126466],\"mapped\",[1580]],[[126467,126467],\"mapped\",[1583]],[[126468,126468],\"disallowed\"],[[126469,126469],\"mapped\",[1608]],[[126470,126470],\"mapped\",[1586]],[[126471,126471],\"mapped\",[1581]],[[126472,126472],\"mapped\",[1591]],[[126473,126473],\"mapped\",[1610]],[[126474,126474],\"mapped\",[1603]],[[126475,126475],\"mapped\",[1604]],[[126476,126476],\"mapped\",[1605]],[[126477,126477],\"mapped\",[1606]],[[126478,126478],\"mapped\",[1587]],[[126479,126479],\"mapped\",[1593]],[[126480,126480],\"mapped\",[1601]],[[126481,126481],\"mapped\",[1589]],[[126482,126482],\"mapped\",[1602]],[[126483,126483],\"mapped\",[1585]],[[126484,126484],\"mapped\",[1588]],[[126485,126485],\"mapped\",[1578]],[[126486,126486],\"mapped\",[1579]],[[126487,126487],\"mapped\",[1582]],[[126488,126488],\"mapped\",[1584]],[[126489,126489],\"mapped\",[1590]],[[126490,126490],\"mapped\",[1592]],[[126491,126491],\"mapped\",[1594]],[[126492,126492],\"mapped\",[1646]],[[126493,126493],\"mapped\",[1722]],[[126494,126494],\"mapped\",[1697]],[[126495,126495],\"mapped\",[1647]],[[126496,126496],\"disallowed\"],[[126497,126497],\"mapped\",[1576]],[[126498,126498],\"mapped\",[1580]],[[126499,126499],\"disallowed\"],[[126500,126500],\"mapped\",[1607]],[[126501,126502],\"disallowed\"],[[126503,126503],\"mapped\",[1581]],[[126504,126504],\"disallowed\"],[[126505,126505],\"mapped\",[1610]],[[126506,126506],\"mapped\",[1603]],[[126507,126507],\"mapped\",[1604]],[[126508,126508],\"mapped\",[1605]],[[126509,126509],\"mapped\",[1606]],[[126510,126510],\"mapped\",[1587]],[[126511,126511],\"mapped\",[1593]],[[126512,126512],\"mapped\",[1601]],[[126513,126513],\"mapped\",[1589]],[[126514,126514],\"mapped\",[1602]],[[126515,126515],\"disallowed\"],[[126516,126516],\"mapped\",[1588]],[[126517,126517],\"mapped\",[1578]],[[126518,126518],\"mapped\",[1579]],[[126519,126519],\"mapped\",[1582]],[[126520,126520],\"disallowed\"],[[126521,126521],\"mapped\",[1590]],[[126522,126522],\"disallowed\"],[[126523,126523],\"mapped\",[1594]],[[126524,126529],\"disallowed\"],[[126530,126530],\"mapped\",[1580]],[[126531,126534],\"disallowed\"],[[126535,126535],\"mapped\",[1581]],[[126536,126536],\"disallowed\"],[[126537,126537],\"mapped\",[1610]],[[126538,126538],\"disallowed\"],[[126539,126539],\"mapped\",[1604]],[[126540,126540],\"disallowed\"],[[126541,126541],\"mapped\",[1606]],[[126542,126542],\"mapped\",[1587]],[[126543,126543],\"mapped\",[1593]],[[126544,126544],\"disallowed\"],[[126545,126545],\"mapped\",[1589]],[[126546,126546],\"mapped\",[1602]],[[126547,126547],\"disallowed\"],[[126548,126548],\"mapped\",[1588]],[[126549,126550],\"disallowed\"],[[126551,126551],\"mapped\",[1582]],[[126552,126552],\"disallowed\"],[[126553,126553],\"mapped\",[1590]],[[126554,126554],\"disallowed\"],[[126555,126555],\"mapped\",[1594]],[[126556,126556],\"disallowed\"],[[126557,126557],\"mapped\",[1722]],[[126558,126558],\"disallowed\"],[[126559,126559],\"mapped\",[1647]],[[126560,126560],\"disallowed\"],[[126561,126561],\"mapped\",[1576]],[[126562,126562],\"mapped\",[1580]],[[126563,126563],\"disallowed\"],[[126564,126564],\"mapped\",[1607]],[[126565,126566],\"disallowed\"],[[126567,126567],\"mapped\",[1581]],[[126568,126568],\"mapped\",[1591]],[[126569,126569],\"mapped\",[1610]],[[126570,126570],\"mapped\",[1603]],[[126571,126571],\"disallowed\"],[[126572,126572],\"mapped\",[1605]],[[126573,126573],\"mapped\",[1606]],[[126574,126574],\"mapped\",[1587]],[[126575,126575],\"mapped\",[1593]],[[126576,126576],\"mapped\",[1601]],[[126577,126577],\"mapped\",[1589]],[[126578,126578],\"mapped\",[1602]],[[126579,126579],\"disallowed\"],[[126580,126580],\"mapped\",[1588]],[[126581,126581],\"mapped\",[1578]],[[126582,126582],\"mapped\",[1579]],[[126583,126583],\"mapped\",[1582]],[[126584,126584],\"disallowed\"],[[126585,126585],\"mapped\",[1590]],[[126586,126586],\"mapped\",[1592]],[[126587,126587],\"mapped\",[1594]],[[126588,126588],\"mapped\",[1646]],[[126589,126589],\"disallowed\"],[[126590,126590],\"mapped\",[1697]],[[126591,126591],\"disallowed\"],[[126592,126592],\"mapped\",[1575]],[[126593,126593],\"mapped\",[1576]],[[126594,126594],\"mapped\",[1580]],[[126595,126595],\"mapped\",[1583]],[[126596,126596],\"mapped\",[1607]],[[126597,126597],\"mapped\",[1608]],[[126598,126598],\"mapped\",[1586]],[[126599,126599],\"mapped\",[1581]],[[126600,126600],\"mapped\",[1591]],[[126601,126601],\"mapped\",[1610]],[[126602,126602],\"disallowed\"],[[126603,126603],\"mapped\",[1604]],[[126604,126604],\"mapped\",[1605]],[[126605,126605],\"mapped\",[1606]],[[126606,126606],\"mapped\",[1587]],[[126607,126607],\"mapped\",[1593]],[[126608,126608],\"mapped\",[1601]],[[126609,126609],\"mapped\",[1589]],[[126610,126610],\"mapped\",[1602]],[[126611,126611],\"mapped\",[1585]],[[126612,126612],\"mapped\",[1588]],[[126613,126613],\"mapped\",[1578]],[[126614,126614],\"mapped\",[1579]],[[126615,126615],\"mapped\",[1582]],[[126616,126616],\"mapped\",[1584]],[[126617,126617],\"mapped\",[1590]],[[126618,126618],\"mapped\",[1592]],[[126619,126619],\"mapped\",[1594]],[[126620,126624],\"disallowed\"],[[126625,126625],\"mapped\",[1576]],[[126626,126626],\"mapped\",[1580]],[[126627,126627],\"mapped\",[1583]],[[126628,126628],\"disallowed\"],[[126629,126629],\"mapped\",[1608]],[[126630,126630],\"mapped\",[1586]],[[126631,126631],\"mapped\",[1581]],[[126632,126632],\"mapped\",[1591]],[[126633,126633],\"mapped\",[1610]],[[126634,126634],\"disallowed\"],[[126635,126635],\"mapped\",[1604]],[[126636,126636],\"mapped\",[1605]],[[126637,126637],\"mapped\",[1606]],[[126638,126638],\"mapped\",[1587]],[[126639,126639],\"mapped\",[1593]],[[126640,126640],\"mapped\",[1601]],[[126641,126641],\"mapped\",[1589]],[[126642,126642],\"mapped\",[1602]],[[126643,126643],\"mapped\",[1585]],[[126644,126644],\"mapped\",[1588]],[[126645,126645],\"mapped\",[1578]],[[126646,126646],\"mapped\",[1579]],[[126647,126647],\"mapped\",[1582]],[[126648,126648],\"mapped\",[1584]],[[126649,126649],\"mapped\",[1590]],[[126650,126650],\"mapped\",[1592]],[[126651,126651],\"mapped\",[1594]],[[126652,126703],\"disallowed\"],[[126704,126705],\"valid\",[],\"NV8\"],[[126706,126975],\"disallowed\"],[[126976,127019],\"valid\",[],\"NV8\"],[[127020,127023],\"disallowed\"],[[127024,127123],\"valid\",[],\"NV8\"],[[127124,127135],\"disallowed\"],[[127136,127150],\"valid\",[],\"NV8\"],[[127151,127152],\"disallowed\"],[[127153,127166],\"valid\",[],\"NV8\"],[[127167,127167],\"valid\",[],\"NV8\"],[[127168,127168],\"disallowed\"],[[127169,127183],\"valid\",[],\"NV8\"],[[127184,127184],\"disallowed\"],[[127185,127199],\"valid\",[],\"NV8\"],[[127200,127221],\"valid\",[],\"NV8\"],[[127222,127231],\"disallowed\"],[[127232,127232],\"disallowed\"],[[127233,127233],\"disallowed_STD3_mapped\",[48,44]],[[127234,127234],\"disallowed_STD3_mapped\",[49,44]],[[127235,127235],\"disallowed_STD3_mapped\",[50,44]],[[127236,127236],\"disallowed_STD3_mapped\",[51,44]],[[127237,127237],\"disallowed_STD3_mapped\",[52,44]],[[127238,127238],\"disallowed_STD3_mapped\",[53,44]],[[127239,127239],\"disallowed_STD3_mapped\",[54,44]],[[127240,127240],\"disallowed_STD3_mapped\",[55,44]],[[127241,127241],\"disallowed_STD3_mapped\",[56,44]],[[127242,127242],\"disallowed_STD3_mapped\",[57,44]],[[127243,127244],\"valid\",[],\"NV8\"],[[127245,127247],\"disallowed\"],[[127248,127248],\"disallowed_STD3_mapped\",[40,97,41]],[[127249,127249],\"disallowed_STD3_mapped\",[40,98,41]],[[127250,127250],\"disallowed_STD3_mapped\",[40,99,41]],[[127251,127251],\"disallowed_STD3_mapped\",[40,100,41]],[[127252,127252],\"disallowed_STD3_mapped\",[40,101,41]],[[127253,127253],\"disallowed_STD3_mapped\",[40,102,41]],[[127254,127254],\"disallowed_STD3_mapped\",[40,103,41]],[[127255,127255],\"disallowed_STD3_mapped\",[40,104,41]],[[127256,127256],\"disallowed_STD3_mapped\",[40,105,41]],[[127257,127257],\"disallowed_STD3_mapped\",[40,106,41]],[[127258,127258],\"disallowed_STD3_mapped\",[40,107,41]],[[127259,127259],\"disallowed_STD3_mapped\",[40,108,41]],[[127260,127260],\"disallowed_STD3_mapped\",[40,109,41]],[[127261,127261],\"disallowed_STD3_mapped\",[40,110,41]],[[127262,127262],\"disallowed_STD3_mapped\",[40,111,41]],[[127263,127263],\"disallowed_STD3_mapped\",[40,112,41]],[[127264,127264],\"disallowed_STD3_mapped\",[40,113,41]],[[127265,127265],\"disallowed_STD3_mapped\",[40,114,41]],[[127266,127266],\"disallowed_STD3_mapped\",[40,115,41]],[[127267,127267],\"disallowed_STD3_mapped\",[40,116,41]],[[127268,127268],\"disallowed_STD3_mapped\",[40,117,41]],[[127269,127269],\"disallowed_STD3_mapped\",[40,118,41]],[[127270,127270],\"disallowed_STD3_mapped\",[40,119,41]],[[127271,127271],\"disallowed_STD3_mapped\",[40,120,41]],[[127272,127272],\"disallowed_STD3_mapped\",[40,121,41]],[[127273,127273],\"disallowed_STD3_mapped\",[40,122,41]],[[127274,127274],\"mapped\",[12308,115,12309]],[[127275,127275],\"mapped\",[99]],[[127276,127276],\"mapped\",[114]],[[127277,127277],\"mapped\",[99,100]],[[127278,127278],\"mapped\",[119,122]],[[127279,127279],\"disallowed\"],[[127280,127280],\"mapped\",[97]],[[127281,127281],\"mapped\",[98]],[[127282,127282],\"mapped\",[99]],[[127283,127283],\"mapped\",[100]],[[127284,127284],\"mapped\",[101]],[[127285,127285],\"mapped\",[102]],[[127286,127286],\"mapped\",[103]],[[127287,127287],\"mapped\",[104]],[[127288,127288],\"mapped\",[105]],[[127289,127289],\"mapped\",[106]],[[127290,127290],\"mapped\",[107]],[[127291,127291],\"mapped\",[108]],[[127292,127292],\"mapped\",[109]],[[127293,127293],\"mapped\",[110]],[[127294,127294],\"mapped\",[111]],[[127295,127295],\"mapped\",[112]],[[127296,127296],\"mapped\",[113]],[[127297,127297],\"mapped\",[114]],[[127298,127298],\"mapped\",[115]],[[127299,127299],\"mapped\",[116]],[[127300,127300],\"mapped\",[117]],[[127301,127301],\"mapped\",[118]],[[127302,127302],\"mapped\",[119]],[[127303,127303],\"mapped\",[120]],[[127304,127304],\"mapped\",[121]],[[127305,127305],\"mapped\",[122]],[[127306,127306],\"mapped\",[104,118]],[[127307,127307],\"mapped\",[109,118]],[[127308,127308],\"mapped\",[115,100]],[[127309,127309],\"mapped\",[115,115]],[[127310,127310],\"mapped\",[112,112,118]],[[127311,127311],\"mapped\",[119,99]],[[127312,127318],\"valid\",[],\"NV8\"],[[127319,127319],\"valid\",[],\"NV8\"],[[127320,127326],\"valid\",[],\"NV8\"],[[127327,127327],\"valid\",[],\"NV8\"],[[127328,127337],\"valid\",[],\"NV8\"],[[127338,127338],\"mapped\",[109,99]],[[127339,127339],\"mapped\",[109,100]],[[127340,127343],\"disallowed\"],[[127344,127352],\"valid\",[],\"NV8\"],[[127353,127353],\"valid\",[],\"NV8\"],[[127354,127354],\"valid\",[],\"NV8\"],[[127355,127356],\"valid\",[],\"NV8\"],[[127357,127358],\"valid\",[],\"NV8\"],[[127359,127359],\"valid\",[],\"NV8\"],[[127360,127369],\"valid\",[],\"NV8\"],[[127370,127373],\"valid\",[],\"NV8\"],[[127374,127375],\"valid\",[],\"NV8\"],[[127376,127376],\"mapped\",[100,106]],[[127377,127386],\"valid\",[],\"NV8\"],[[127387,127461],\"disallowed\"],[[127462,127487],\"valid\",[],\"NV8\"],[[127488,127488],\"mapped\",[12411,12363]],[[127489,127489],\"mapped\",[12467,12467]],[[127490,127490],\"mapped\",[12469]],[[127491,127503],\"disallowed\"],[[127504,127504],\"mapped\",[25163]],[[127505,127505],\"mapped\",[23383]],[[127506,127506],\"mapped\",[21452]],[[127507,127507],\"mapped\",[12487]],[[127508,127508],\"mapped\",[20108]],[[127509,127509],\"mapped\",[22810]],[[127510,127510],\"mapped\",[35299]],[[127511,127511],\"mapped\",[22825]],[[127512,127512],\"mapped\",[20132]],[[127513,127513],\"mapped\",[26144]],[[127514,127514],\"mapped\",[28961]],[[127515,127515],\"mapped\",[26009]],[[127516,127516],\"mapped\",[21069]],[[127517,127517],\"mapped\",[24460]],[[127518,127518],\"mapped\",[20877]],[[127519,127519],\"mapped\",[26032]],[[127520,127520],\"mapped\",[21021]],[[127521,127521],\"mapped\",[32066]],[[127522,127522],\"mapped\",[29983]],[[127523,127523],\"mapped\",[36009]],[[127524,127524],\"mapped\",[22768]],[[127525,127525],\"mapped\",[21561]],[[127526,127526],\"mapped\",[28436]],[[127527,127527],\"mapped\",[25237]],[[127528,127528],\"mapped\",[25429]],[[127529,127529],\"mapped\",[19968]],[[127530,127530],\"mapped\",[19977]],[[127531,127531],\"mapped\",[36938]],[[127532,127532],\"mapped\",[24038]],[[127533,127533],\"mapped\",[20013]],[[127534,127534],\"mapped\",[21491]],[[127535,127535],\"mapped\",[25351]],[[127536,127536],\"mapped\",[36208]],[[127537,127537],\"mapped\",[25171]],[[127538,127538],\"mapped\",[31105]],[[127539,127539],\"mapped\",[31354]],[[127540,127540],\"mapped\",[21512]],[[127541,127541],\"mapped\",[28288]],[[127542,127542],\"mapped\",[26377]],[[127543,127543],\"mapped\",[26376]],[[127544,127544],\"mapped\",[30003]],[[127545,127545],\"mapped\",[21106]],[[127546,127546],\"mapped\",[21942]],[[127547,127551],\"disallowed\"],[[127552,127552],\"mapped\",[12308,26412,12309]],[[127553,127553],\"mapped\",[12308,19977,12309]],[[127554,127554],\"mapped\",[12308,20108,12309]],[[127555,127555],\"mapped\",[12308,23433,12309]],[[127556,127556],\"mapped\",[12308,28857,12309]],[[127557,127557],\"mapped\",[12308,25171,12309]],[[127558,127558],\"mapped\",[12308,30423,12309]],[[127559,127559],\"mapped\",[12308,21213,12309]],[[127560,127560],\"mapped\",[12308,25943,12309]],[[127561,127567],\"disallowed\"],[[127568,127568],\"mapped\",[24471]],[[127569,127569],\"mapped\",[21487]],[[127570,127743],\"disallowed\"],[[127744,127776],\"valid\",[],\"NV8\"],[[127777,127788],\"valid\",[],\"NV8\"],[[127789,127791],\"valid\",[],\"NV8\"],[[127792,127797],\"valid\",[],\"NV8\"],[[127798,127798],\"valid\",[],\"NV8\"],[[127799,127868],\"valid\",[],\"NV8\"],[[127869,127869],\"valid\",[],\"NV8\"],[[127870,127871],\"valid\",[],\"NV8\"],[[127872,127891],\"valid\",[],\"NV8\"],[[127892,127903],\"valid\",[],\"NV8\"],[[127904,127940],\"valid\",[],\"NV8\"],[[127941,127941],\"valid\",[],\"NV8\"],[[127942,127946],\"valid\",[],\"NV8\"],[[127947,127950],\"valid\",[],\"NV8\"],[[127951,127955],\"valid\",[],\"NV8\"],[[127956,127967],\"valid\",[],\"NV8\"],[[127968,127984],\"valid\",[],\"NV8\"],[[127985,127991],\"valid\",[],\"NV8\"],[[127992,127999],\"valid\",[],\"NV8\"],[[128000,128062],\"valid\",[],\"NV8\"],[[128063,128063],\"valid\",[],\"NV8\"],[[128064,128064],\"valid\",[],\"NV8\"],[[128065,128065],\"valid\",[],\"NV8\"],[[128066,128247],\"valid\",[],\"NV8\"],[[128248,128248],\"valid\",[],\"NV8\"],[[128249,128252],\"valid\",[],\"NV8\"],[[128253,128254],\"valid\",[],\"NV8\"],[[128255,128255],\"valid\",[],\"NV8\"],[[128256,128317],\"valid\",[],\"NV8\"],[[128318,128319],\"valid\",[],\"NV8\"],[[128320,128323],\"valid\",[],\"NV8\"],[[128324,128330],\"valid\",[],\"NV8\"],[[128331,128335],\"valid\",[],\"NV8\"],[[128336,128359],\"valid\",[],\"NV8\"],[[128360,128377],\"valid\",[],\"NV8\"],[[128378,128378],\"disallowed\"],[[128379,128419],\"valid\",[],\"NV8\"],[[128420,128420],\"disallowed\"],[[128421,128506],\"valid\",[],\"NV8\"],[[128507,128511],\"valid\",[],\"NV8\"],[[128512,128512],\"valid\",[],\"NV8\"],[[128513,128528],\"valid\",[],\"NV8\"],[[128529,128529],\"valid\",[],\"NV8\"],[[128530,128532],\"valid\",[],\"NV8\"],[[128533,128533],\"valid\",[],\"NV8\"],[[128534,128534],\"valid\",[],\"NV8\"],[[128535,128535],\"valid\",[],\"NV8\"],[[128536,128536],\"valid\",[],\"NV8\"],[[128537,128537],\"valid\",[],\"NV8\"],[[128538,128538],\"valid\",[],\"NV8\"],[[128539,128539],\"valid\",[],\"NV8\"],[[128540,128542],\"valid\",[],\"NV8\"],[[128543,128543],\"valid\",[],\"NV8\"],[[128544,128549],\"valid\",[],\"NV8\"],[[128550,128551],\"valid\",[],\"NV8\"],[[128552,128555],\"valid\",[],\"NV8\"],[[128556,128556],\"valid\",[],\"NV8\"],[[128557,128557],\"valid\",[],\"NV8\"],[[128558,128559],\"valid\",[],\"NV8\"],[[128560,128563],\"valid\",[],\"NV8\"],[[128564,128564],\"valid\",[],\"NV8\"],[[128565,128576],\"valid\",[],\"NV8\"],[[128577,128578],\"valid\",[],\"NV8\"],[[128579,128580],\"valid\",[],\"NV8\"],[[128581,128591],\"valid\",[],\"NV8\"],[[128592,128639],\"valid\",[],\"NV8\"],[[128640,128709],\"valid\",[],\"NV8\"],[[128710,128719],\"valid\",[],\"NV8\"],[[128720,128720],\"valid\",[],\"NV8\"],[[128721,128735],\"disallowed\"],[[128736,128748],\"valid\",[],\"NV8\"],[[128749,128751],\"disallowed\"],[[128752,128755],\"valid\",[],\"NV8\"],[[128756,128767],\"disallowed\"],[[128768,128883],\"valid\",[],\"NV8\"],[[128884,128895],\"disallowed\"],[[128896,128980],\"valid\",[],\"NV8\"],[[128981,129023],\"disallowed\"],[[129024,129035],\"valid\",[],\"NV8\"],[[129036,129039],\"disallowed\"],[[129040,129095],\"valid\",[],\"NV8\"],[[129096,129103],\"disallowed\"],[[129104,129113],\"valid\",[],\"NV8\"],[[129114,129119],\"disallowed\"],[[129120,129159],\"valid\",[],\"NV8\"],[[129160,129167],\"disallowed\"],[[129168,129197],\"valid\",[],\"NV8\"],[[129198,129295],\"disallowed\"],[[129296,129304],\"valid\",[],\"NV8\"],[[129305,129407],\"disallowed\"],[[129408,129412],\"valid\",[],\"NV8\"],[[129413,129471],\"disallowed\"],[[129472,129472],\"valid\",[],\"NV8\"],[[129473,131069],\"disallowed\"],[[131070,131071],\"disallowed\"],[[131072,173782],\"valid\"],[[173783,173823],\"disallowed\"],[[173824,177972],\"valid\"],[[177973,177983],\"disallowed\"],[[177984,178205],\"valid\"],[[178206,178207],\"disallowed\"],[[178208,183969],\"valid\"],[[183970,194559],\"disallowed\"],[[194560,194560],\"mapped\",[20029]],[[194561,194561],\"mapped\",[20024]],[[194562,194562],\"mapped\",[20033]],[[194563,194563],\"mapped\",[131362]],[[194564,194564],\"mapped\",[20320]],[[194565,194565],\"mapped\",[20398]],[[194566,194566],\"mapped\",[20411]],[[194567,194567],\"mapped\",[20482]],[[194568,194568],\"mapped\",[20602]],[[194569,194569],\"mapped\",[20633]],[[194570,194570],\"mapped\",[20711]],[[194571,194571],\"mapped\",[20687]],[[194572,194572],\"mapped\",[13470]],[[194573,194573],\"mapped\",[132666]],[[194574,194574],\"mapped\",[20813]],[[194575,194575],\"mapped\",[20820]],[[194576,194576],\"mapped\",[20836]],[[194577,194577],\"mapped\",[20855]],[[194578,194578],\"mapped\",[132380]],[[194579,194579],\"mapped\",[13497]],[[194580,194580],\"mapped\",[20839]],[[194581,194581],\"mapped\",[20877]],[[194582,194582],\"mapped\",[132427]],[[194583,194583],\"mapped\",[20887]],[[194584,194584],\"mapped\",[20900]],[[194585,194585],\"mapped\",[20172]],[[194586,194586],\"mapped\",[20908]],[[194587,194587],\"mapped\",[20917]],[[194588,194588],\"mapped\",[168415]],[[194589,194589],\"mapped\",[20981]],[[194590,194590],\"mapped\",[20995]],[[194591,194591],\"mapped\",[13535]],[[194592,194592],\"mapped\",[21051]],[[194593,194593],\"mapped\",[21062]],[[194594,194594],\"mapped\",[21106]],[[194595,194595],\"mapped\",[21111]],[[194596,194596],\"mapped\",[13589]],[[194597,194597],\"mapped\",[21191]],[[194598,194598],\"mapped\",[21193]],[[194599,194599],\"mapped\",[21220]],[[194600,194600],\"mapped\",[21242]],[[194601,194601],\"mapped\",[21253]],[[194602,194602],\"mapped\",[21254]],[[194603,194603],\"mapped\",[21271]],[[194604,194604],\"mapped\",[21321]],[[194605,194605],\"mapped\",[21329]],[[194606,194606],\"mapped\",[21338]],[[194607,194607],\"mapped\",[21363]],[[194608,194608],\"mapped\",[21373]],[[194609,194611],\"mapped\",[21375]],[[194612,194612],\"mapped\",[133676]],[[194613,194613],\"mapped\",[28784]],[[194614,194614],\"mapped\",[21450]],[[194615,194615],\"mapped\",[21471]],[[194616,194616],\"mapped\",[133987]],[[194617,194617],\"mapped\",[21483]],[[194618,194618],\"mapped\",[21489]],[[194619,194619],\"mapped\",[21510]],[[194620,194620],\"mapped\",[21662]],[[194621,194621],\"mapped\",[21560]],[[194622,194622],\"mapped\",[21576]],[[194623,194623],\"mapped\",[21608]],[[194624,194624],\"mapped\",[21666]],[[194625,194625],\"mapped\",[21750]],[[194626,194626],\"mapped\",[21776]],[[194627,194627],\"mapped\",[21843]],[[194628,194628],\"mapped\",[21859]],[[194629,194630],\"mapped\",[21892]],[[194631,194631],\"mapped\",[21913]],[[194632,194632],\"mapped\",[21931]],[[194633,194633],\"mapped\",[21939]],[[194634,194634],\"mapped\",[21954]],[[194635,194635],\"mapped\",[22294]],[[194636,194636],\"mapped\",[22022]],[[194637,194637],\"mapped\",[22295]],[[194638,194638],\"mapped\",[22097]],[[194639,194639],\"mapped\",[22132]],[[194640,194640],\"mapped\",[20999]],[[194641,194641],\"mapped\",[22766]],[[194642,194642],\"mapped\",[22478]],[[194643,194643],\"mapped\",[22516]],[[194644,194644],\"mapped\",[22541]],[[194645,194645],\"mapped\",[22411]],[[194646,194646],\"mapped\",[22578]],[[194647,194647],\"mapped\",[22577]],[[194648,194648],\"mapped\",[22700]],[[194649,194649],\"mapped\",[136420]],[[194650,194650],\"mapped\",[22770]],[[194651,194651],\"mapped\",[22775]],[[194652,194652],\"mapped\",[22790]],[[194653,194653],\"mapped\",[22810]],[[194654,194654],\"mapped\",[22818]],[[194655,194655],\"mapped\",[22882]],[[194656,194656],\"mapped\",[136872]],[[194657,194657],\"mapped\",[136938]],[[194658,194658],\"mapped\",[23020]],[[194659,194659],\"mapped\",[23067]],[[194660,194660],\"mapped\",[23079]],[[194661,194661],\"mapped\",[23000]],[[194662,194662],\"mapped\",[23142]],[[194663,194663],\"mapped\",[14062]],[[194664,194664],\"disallowed\"],[[194665,194665],\"mapped\",[23304]],[[194666,194667],\"mapped\",[23358]],[[194668,194668],\"mapped\",[137672]],[[194669,194669],\"mapped\",[23491]],[[194670,194670],\"mapped\",[23512]],[[194671,194671],\"mapped\",[23527]],[[194672,194672],\"mapped\",[23539]],[[194673,194673],\"mapped\",[138008]],[[194674,194674],\"mapped\",[23551]],[[194675,194675],\"mapped\",[23558]],[[194676,194676],\"disallowed\"],[[194677,194677],\"mapped\",[23586]],[[194678,194678],\"mapped\",[14209]],[[194679,194679],\"mapped\",[23648]],[[194680,194680],\"mapped\",[23662]],[[194681,194681],\"mapped\",[23744]],[[194682,194682],\"mapped\",[23693]],[[194683,194683],\"mapped\",[138724]],[[194684,194684],\"mapped\",[23875]],[[194685,194685],\"mapped\",[138726]],[[194686,194686],\"mapped\",[23918]],[[194687,194687],\"mapped\",[23915]],[[194688,194688],\"mapped\",[23932]],[[194689,194689],\"mapped\",[24033]],[[194690,194690],\"mapped\",[24034]],[[194691,194691],\"mapped\",[14383]],[[194692,194692],\"mapped\",[24061]],[[194693,194693],\"mapped\",[24104]],[[194694,194694],\"mapped\",[24125]],[[194695,194695],\"mapped\",[24169]],[[194696,194696],\"mapped\",[14434]],[[194697,194697],\"mapped\",[139651]],[[194698,194698],\"mapped\",[14460]],[[194699,194699],\"mapped\",[24240]],[[194700,194700],\"mapped\",[24243]],[[194701,194701],\"mapped\",[24246]],[[194702,194702],\"mapped\",[24266]],[[194703,194703],\"mapped\",[172946]],[[194704,194704],\"mapped\",[24318]],[[194705,194706],\"mapped\",[140081]],[[194707,194707],\"mapped\",[33281]],[[194708,194709],\"mapped\",[24354]],[[194710,194710],\"mapped\",[14535]],[[194711,194711],\"mapped\",[144056]],[[194712,194712],\"mapped\",[156122]],[[194713,194713],\"mapped\",[24418]],[[194714,194714],\"mapped\",[24427]],[[194715,194715],\"mapped\",[14563]],[[194716,194716],\"mapped\",[24474]],[[194717,194717],\"mapped\",[24525]],[[194718,194718],\"mapped\",[24535]],[[194719,194719],\"mapped\",[24569]],[[194720,194720],\"mapped\",[24705]],[[194721,194721],\"mapped\",[14650]],[[194722,194722],\"mapped\",[14620]],[[194723,194723],\"mapped\",[24724]],[[194724,194724],\"mapped\",[141012]],[[194725,194725],\"mapped\",[24775]],[[194726,194726],\"mapped\",[24904]],[[194727,194727],\"mapped\",[24908]],[[194728,194728],\"mapped\",[24910]],[[194729,194729],\"mapped\",[24908]],[[194730,194730],\"mapped\",[24954]],[[194731,194731],\"mapped\",[24974]],[[194732,194732],\"mapped\",[25010]],[[194733,194733],\"mapped\",[24996]],[[194734,194734],\"mapped\",[25007]],[[194735,194735],\"mapped\",[25054]],[[194736,194736],\"mapped\",[25074]],[[194737,194737],\"mapped\",[25078]],[[194738,194738],\"mapped\",[25104]],[[194739,194739],\"mapped\",[25115]],[[194740,194740],\"mapped\",[25181]],[[194741,194741],\"mapped\",[25265]],[[194742,194742],\"mapped\",[25300]],[[194743,194743],\"mapped\",[25424]],[[194744,194744],\"mapped\",[142092]],[[194745,194745],\"mapped\",[25405]],[[194746,194746],\"mapped\",[25340]],[[194747,194747],\"mapped\",[25448]],[[194748,194748],\"mapped\",[25475]],[[194749,194749],\"mapped\",[25572]],[[194750,194750],\"mapped\",[142321]],[[194751,194751],\"mapped\",[25634]],[[194752,194752],\"mapped\",[25541]],[[194753,194753],\"mapped\",[25513]],[[194754,194754],\"mapped\",[14894]],[[194755,194755],\"mapped\",[25705]],[[194756,194756],\"mapped\",[25726]],[[194757,194757],\"mapped\",[25757]],[[194758,194758],\"mapped\",[25719]],[[194759,194759],\"mapped\",[14956]],[[194760,194760],\"mapped\",[25935]],[[194761,194761],\"mapped\",[25964]],[[194762,194762],\"mapped\",[143370]],[[194763,194763],\"mapped\",[26083]],[[194764,194764],\"mapped\",[26360]],[[194765,194765],\"mapped\",[26185]],[[194766,194766],\"mapped\",[15129]],[[194767,194767],\"mapped\",[26257]],[[194768,194768],\"mapped\",[15112]],[[194769,194769],\"mapped\",[15076]],[[194770,194770],\"mapped\",[20882]],[[194771,194771],\"mapped\",[20885]],[[194772,194772],\"mapped\",[26368]],[[194773,194773],\"mapped\",[26268]],[[194774,194774],\"mapped\",[32941]],[[194775,194775],\"mapped\",[17369]],[[194776,194776],\"mapped\",[26391]],[[194777,194777],\"mapped\",[26395]],[[194778,194778],\"mapped\",[26401]],[[194779,194779],\"mapped\",[26462]],[[194780,194780],\"mapped\",[26451]],[[194781,194781],\"mapped\",[144323]],[[194782,194782],\"mapped\",[15177]],[[194783,194783],\"mapped\",[26618]],[[194784,194784],\"mapped\",[26501]],[[194785,194785],\"mapped\",[26706]],[[194786,194786],\"mapped\",[26757]],[[194787,194787],\"mapped\",[144493]],[[194788,194788],\"mapped\",[26766]],[[194789,194789],\"mapped\",[26655]],[[194790,194790],\"mapped\",[26900]],[[194791,194791],\"mapped\",[15261]],[[194792,194792],\"mapped\",[26946]],[[194793,194793],\"mapped\",[27043]],[[194794,194794],\"mapped\",[27114]],[[194795,194795],\"mapped\",[27304]],[[194796,194796],\"mapped\",[145059]],[[194797,194797],\"mapped\",[27355]],[[194798,194798],\"mapped\",[15384]],[[194799,194799],\"mapped\",[27425]],[[194800,194800],\"mapped\",[145575]],[[194801,194801],\"mapped\",[27476]],[[194802,194802],\"mapped\",[15438]],[[194803,194803],\"mapped\",[27506]],[[194804,194804],\"mapped\",[27551]],[[194805,194805],\"mapped\",[27578]],[[194806,194806],\"mapped\",[27579]],[[194807,194807],\"mapped\",[146061]],[[194808,194808],\"mapped\",[138507]],[[194809,194809],\"mapped\",[146170]],[[194810,194810],\"mapped\",[27726]],[[194811,194811],\"mapped\",[146620]],[[194812,194812],\"mapped\",[27839]],[[194813,194813],\"mapped\",[27853]],[[194814,194814],\"mapped\",[27751]],[[194815,194815],\"mapped\",[27926]],[[194816,194816],\"mapped\",[27966]],[[194817,194817],\"mapped\",[28023]],[[194818,194818],\"mapped\",[27969]],[[194819,194819],\"mapped\",[28009]],[[194820,194820],\"mapped\",[28024]],[[194821,194821],\"mapped\",[28037]],[[194822,194822],\"mapped\",[146718]],[[194823,194823],\"mapped\",[27956]],[[194824,194824],\"mapped\",[28207]],[[194825,194825],\"mapped\",[28270]],[[194826,194826],\"mapped\",[15667]],[[194827,194827],\"mapped\",[28363]],[[194828,194828],\"mapped\",[28359]],[[194829,194829],\"mapped\",[147153]],[[194830,194830],\"mapped\",[28153]],[[194831,194831],\"mapped\",[28526]],[[194832,194832],\"mapped\",[147294]],[[194833,194833],\"mapped\",[147342]],[[194834,194834],\"mapped\",[28614]],[[194835,194835],\"mapped\",[28729]],[[194836,194836],\"mapped\",[28702]],[[194837,194837],\"mapped\",[28699]],[[194838,194838],\"mapped\",[15766]],[[194839,194839],\"mapped\",[28746]],[[194840,194840],\"mapped\",[28797]],[[194841,194841],\"mapped\",[28791]],[[194842,194842],\"mapped\",[28845]],[[194843,194843],\"mapped\",[132389]],[[194844,194844],\"mapped\",[28997]],[[194845,194845],\"mapped\",[148067]],[[194846,194846],\"mapped\",[29084]],[[194847,194847],\"disallowed\"],[[194848,194848],\"mapped\",[29224]],[[194849,194849],\"mapped\",[29237]],[[194850,194850],\"mapped\",[29264]],[[194851,194851],\"mapped\",[149000]],[[194852,194852],\"mapped\",[29312]],[[194853,194853],\"mapped\",[29333]],[[194854,194854],\"mapped\",[149301]],[[194855,194855],\"mapped\",[149524]],[[194856,194856],\"mapped\",[29562]],[[194857,194857],\"mapped\",[29579]],[[194858,194858],\"mapped\",[16044]],[[194859,194859],\"mapped\",[29605]],[[194860,194861],\"mapped\",[16056]],[[194862,194862],\"mapped\",[29767]],[[194863,194863],\"mapped\",[29788]],[[194864,194864],\"mapped\",[29809]],[[194865,194865],\"mapped\",[29829]],[[194866,194866],\"mapped\",[29898]],[[194867,194867],\"mapped\",[16155]],[[194868,194868],\"mapped\",[29988]],[[194869,194869],\"mapped\",[150582]],[[194870,194870],\"mapped\",[30014]],[[194871,194871],\"mapped\",[150674]],[[194872,194872],\"mapped\",[30064]],[[194873,194873],\"mapped\",[139679]],[[194874,194874],\"mapped\",[30224]],[[194875,194875],\"mapped\",[151457]],[[194876,194876],\"mapped\",[151480]],[[194877,194877],\"mapped\",[151620]],[[194878,194878],\"mapped\",[16380]],[[194879,194879],\"mapped\",[16392]],[[194880,194880],\"mapped\",[30452]],[[194881,194881],\"mapped\",[151795]],[[194882,194882],\"mapped\",[151794]],[[194883,194883],\"mapped\",[151833]],[[194884,194884],\"mapped\",[151859]],[[194885,194885],\"mapped\",[30494]],[[194886,194887],\"mapped\",[30495]],[[194888,194888],\"mapped\",[30538]],[[194889,194889],\"mapped\",[16441]],[[194890,194890],\"mapped\",[30603]],[[194891,194891],\"mapped\",[16454]],[[194892,194892],\"mapped\",[16534]],[[194893,194893],\"mapped\",[152605]],[[194894,194894],\"mapped\",[30798]],[[194895,194895],\"mapped\",[30860]],[[194896,194896],\"mapped\",[30924]],[[194897,194897],\"mapped\",[16611]],[[194898,194898],\"mapped\",[153126]],[[194899,194899],\"mapped\",[31062]],[[194900,194900],\"mapped\",[153242]],[[194901,194901],\"mapped\",[153285]],[[194902,194902],\"mapped\",[31119]],[[194903,194903],\"mapped\",[31211]],[[194904,194904],\"mapped\",[16687]],[[194905,194905],\"mapped\",[31296]],[[194906,194906],\"mapped\",[31306]],[[194907,194907],\"mapped\",[31311]],[[194908,194908],\"mapped\",[153980]],[[194909,194910],\"mapped\",[154279]],[[194911,194911],\"disallowed\"],[[194912,194912],\"mapped\",[16898]],[[194913,194913],\"mapped\",[154539]],[[194914,194914],\"mapped\",[31686]],[[194915,194915],\"mapped\",[31689]],[[194916,194916],\"mapped\",[16935]],[[194917,194917],\"mapped\",[154752]],[[194918,194918],\"mapped\",[31954]],[[194919,194919],\"mapped\",[17056]],[[194920,194920],\"mapped\",[31976]],[[194921,194921],\"mapped\",[31971]],[[194922,194922],\"mapped\",[32000]],[[194923,194923],\"mapped\",[155526]],[[194924,194924],\"mapped\",[32099]],[[194925,194925],\"mapped\",[17153]],[[194926,194926],\"mapped\",[32199]],[[194927,194927],\"mapped\",[32258]],[[194928,194928],\"mapped\",[32325]],[[194929,194929],\"mapped\",[17204]],[[194930,194930],\"mapped\",[156200]],[[194931,194931],\"mapped\",[156231]],[[194932,194932],\"mapped\",[17241]],[[194933,194933],\"mapped\",[156377]],[[194934,194934],\"mapped\",[32634]],[[194935,194935],\"mapped\",[156478]],[[194936,194936],\"mapped\",[32661]],[[194937,194937],\"mapped\",[32762]],[[194938,194938],\"mapped\",[32773]],[[194939,194939],\"mapped\",[156890]],[[194940,194940],\"mapped\",[156963]],[[194941,194941],\"mapped\",[32864]],[[194942,194942],\"mapped\",[157096]],[[194943,194943],\"mapped\",[32880]],[[194944,194944],\"mapped\",[144223]],[[194945,194945],\"mapped\",[17365]],[[194946,194946],\"mapped\",[32946]],[[194947,194947],\"mapped\",[33027]],[[194948,194948],\"mapped\",[17419]],[[194949,194949],\"mapped\",[33086]],[[194950,194950],\"mapped\",[23221]],[[194951,194951],\"mapped\",[157607]],[[194952,194952],\"mapped\",[157621]],[[194953,194953],\"mapped\",[144275]],[[194954,194954],\"mapped\",[144284]],[[194955,194955],\"mapped\",[33281]],[[194956,194956],\"mapped\",[33284]],[[194957,194957],\"mapped\",[36766]],[[194958,194958],\"mapped\",[17515]],[[194959,194959],\"mapped\",[33425]],[[194960,194960],\"mapped\",[33419]],[[194961,194961],\"mapped\",[33437]],[[194962,194962],\"mapped\",[21171]],[[194963,194963],\"mapped\",[33457]],[[194964,194964],\"mapped\",[33459]],[[194965,194965],\"mapped\",[33469]],[[194966,194966],\"mapped\",[33510]],[[194967,194967],\"mapped\",[158524]],[[194968,194968],\"mapped\",[33509]],[[194969,194969],\"mapped\",[33565]],[[194970,194970],\"mapped\",[33635]],[[194971,194971],\"mapped\",[33709]],[[194972,194972],\"mapped\",[33571]],[[194973,194973],\"mapped\",[33725]],[[194974,194974],\"mapped\",[33767]],[[194975,194975],\"mapped\",[33879]],[[194976,194976],\"mapped\",[33619]],[[194977,194977],\"mapped\",[33738]],[[194978,194978],\"mapped\",[33740]],[[194979,194979],\"mapped\",[33756]],[[194980,194980],\"mapped\",[158774]],[[194981,194981],\"mapped\",[159083]],[[194982,194982],\"mapped\",[158933]],[[194983,194983],\"mapped\",[17707]],[[194984,194984],\"mapped\",[34033]],[[194985,194985],\"mapped\",[34035]],[[194986,194986],\"mapped\",[34070]],[[194987,194987],\"mapped\",[160714]],[[194988,194988],\"mapped\",[34148]],[[194989,194989],\"mapped\",[159532]],[[194990,194990],\"mapped\",[17757]],[[194991,194991],\"mapped\",[17761]],[[194992,194992],\"mapped\",[159665]],[[194993,194993],\"mapped\",[159954]],[[194994,194994],\"mapped\",[17771]],[[194995,194995],\"mapped\",[34384]],[[194996,194996],\"mapped\",[34396]],[[194997,194997],\"mapped\",[34407]],[[194998,194998],\"mapped\",[34409]],[[194999,194999],\"mapped\",[34473]],[[195000,195000],\"mapped\",[34440]],[[195001,195001],\"mapped\",[34574]],[[195002,195002],\"mapped\",[34530]],[[195003,195003],\"mapped\",[34681]],[[195004,195004],\"mapped\",[34600]],[[195005,195005],\"mapped\",[34667]],[[195006,195006],\"mapped\",[34694]],[[195007,195007],\"disallowed\"],[[195008,195008],\"mapped\",[34785]],[[195009,195009],\"mapped\",[34817]],[[195010,195010],\"mapped\",[17913]],[[195011,195011],\"mapped\",[34912]],[[195012,195012],\"mapped\",[34915]],[[195013,195013],\"mapped\",[161383]],[[195014,195014],\"mapped\",[35031]],[[195015,195015],\"mapped\",[35038]],[[195016,195016],\"mapped\",[17973]],[[195017,195017],\"mapped\",[35066]],[[195018,195018],\"mapped\",[13499]],[[195019,195019],\"mapped\",[161966]],[[195020,195020],\"mapped\",[162150]],[[195021,195021],\"mapped\",[18110]],[[195022,195022],\"mapped\",[18119]],[[195023,195023],\"mapped\",[35488]],[[195024,195024],\"mapped\",[35565]],[[195025,195025],\"mapped\",[35722]],[[195026,195026],\"mapped\",[35925]],[[195027,195027],\"mapped\",[162984]],[[195028,195028],\"mapped\",[36011]],[[195029,195029],\"mapped\",[36033]],[[195030,195030],\"mapped\",[36123]],[[195031,195031],\"mapped\",[36215]],[[195032,195032],\"mapped\",[163631]],[[195033,195033],\"mapped\",[133124]],[[195034,195034],\"mapped\",[36299]],[[195035,195035],\"mapped\",[36284]],[[195036,195036],\"mapped\",[36336]],[[195037,195037],\"mapped\",[133342]],[[195038,195038],\"mapped\",[36564]],[[195039,195039],\"mapped\",[36664]],[[195040,195040],\"mapped\",[165330]],[[195041,195041],\"mapped\",[165357]],[[195042,195042],\"mapped\",[37012]],[[195043,195043],\"mapped\",[37105]],[[195044,195044],\"mapped\",[37137]],[[195045,195045],\"mapped\",[165678]],[[195046,195046],\"mapped\",[37147]],[[195047,195047],\"mapped\",[37432]],[[195048,195048],\"mapped\",[37591]],[[195049,195049],\"mapped\",[37592]],[[195050,195050],\"mapped\",[37500]],[[195051,195051],\"mapped\",[37881]],[[195052,195052],\"mapped\",[37909]],[[195053,195053],\"mapped\",[166906]],[[195054,195054],\"mapped\",[38283]],[[195055,195055],\"mapped\",[18837]],[[195056,195056],\"mapped\",[38327]],[[195057,195057],\"mapped\",[167287]],[[195058,195058],\"mapped\",[18918]],[[195059,195059],\"mapped\",[38595]],[[195060,195060],\"mapped\",[23986]],[[195061,195061],\"mapped\",[38691]],[[195062,195062],\"mapped\",[168261]],[[195063,195063],\"mapped\",[168474]],[[195064,195064],\"mapped\",[19054]],[[195065,195065],\"mapped\",[19062]],[[195066,195066],\"mapped\",[38880]],[[195067,195067],\"mapped\",[168970]],[[195068,195068],\"mapped\",[19122]],[[195069,195069],\"mapped\",[169110]],[[195070,195071],\"mapped\",[38923]],[[195072,195072],\"mapped\",[38953]],[[195073,195073],\"mapped\",[169398]],[[195074,195074],\"mapped\",[39138]],[[195075,195075],\"mapped\",[19251]],[[195076,195076],\"mapped\",[39209]],[[195077,195077],\"mapped\",[39335]],[[195078,195078],\"mapped\",[39362]],[[195079,195079],\"mapped\",[39422]],[[195080,195080],\"mapped\",[19406]],[[195081,195081],\"mapped\",[170800]],[[195082,195082],\"mapped\",[39698]],[[195083,195083],\"mapped\",[40000]],[[195084,195084],\"mapped\",[40189]],[[195085,195085],\"mapped\",[19662]],[[195086,195086],\"mapped\",[19693]],[[195087,195087],\"mapped\",[40295]],[[195088,195088],\"mapped\",[172238]],[[195089,195089],\"mapped\",[19704]],[[195090,195090],\"mapped\",[172293]],[[195091,195091],\"mapped\",[172558]],[[195092,195092],\"mapped\",[172689]],[[195093,195093],\"mapped\",[40635]],[[195094,195094],\"mapped\",[19798]],[[195095,195095],\"mapped\",[40697]],[[195096,195096],\"mapped\",[40702]],[[195097,195097],\"mapped\",[40709]],[[195098,195098],\"mapped\",[40719]],[[195099,195099],\"mapped\",[40726]],[[195100,195100],\"mapped\",[40763]],[[195101,195101],\"mapped\",[173568]],[[195102,196605],\"disallowed\"],[[196606,196607],\"disallowed\"],[[196608,262141],\"disallowed\"],[[262142,262143],\"disallowed\"],[[262144,327677],\"disallowed\"],[[327678,327679],\"disallowed\"],[[327680,393213],\"disallowed\"],[[393214,393215],\"disallowed\"],[[393216,458749],\"disallowed\"],[[458750,458751],\"disallowed\"],[[458752,524285],\"disallowed\"],[[524286,524287],\"disallowed\"],[[524288,589821],\"disallowed\"],[[589822,589823],\"disallowed\"],[[589824,655357],\"disallowed\"],[[655358,655359],\"disallowed\"],[[655360,720893],\"disallowed\"],[[720894,720895],\"disallowed\"],[[720896,786429],\"disallowed\"],[[786430,786431],\"disallowed\"],[[786432,851965],\"disallowed\"],[[851966,851967],\"disallowed\"],[[851968,917501],\"disallowed\"],[[917502,917503],\"disallowed\"],[[917504,917504],\"disallowed\"],[[917505,917505],\"disallowed\"],[[917506,917535],\"disallowed\"],[[917536,917631],\"disallowed\"],[[917632,917759],\"disallowed\"],[[917760,917999],\"ignored\"],[[918000,983037],\"disallowed\"],[[983038,983039],\"disallowed\"],[[983040,1048573],\"disallowed\"],[[1048574,1048575],\"disallowed\"],[[1048576,1114109],\"disallowed\"],[[1114110,1114111],\"disallowed\"]]", "\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n", "\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n", "\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n", "\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n", "\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n", "'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = /<meta.+?charset=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// html4\n\tif (!res && str) {\n\t\tres = /<meta[\\s]+?http-equiv=(['\"])content-type\\1[\\s]+?content=(['\"])(.+?)\\2/i.exec(str);\n\t\tif (!res) {\n\t\t\tres = /<meta[\\s]+?content=(['\"])(.+?)\\1[\\s]+?http-equiv=(['\"])content-type\\3/i.exec(str);\n\t\t\tif (res) {\n\t\t\t\tres.pop(); // drop last quote\n\t\t\t}\n\t\t}\n\n\t\tif (res) {\n\t\t\tres = /charset=(.*)/i.exec(res.pop());\n\t\t}\n\t}\n\n\t// xml\n\tif (!res && str) {\n\t\tres = /<\\?xml.+?encoding=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// found charset\n\tif (res) {\n\t\tcharset = res.pop();\n\n\t\t// prevent decode issues when sites use incorrect encoding\n\t\t// ref: https://hsivonen.fi/encoding-menu/\n\t\tif (charset === 'gb2312' || charset === 'gbk') {\n\t\t\tcharset = 'gb18030';\n\t\t}\n\t}\n\n\t// turn raw buffers into a single utf-8 buffer\n\treturn convert(buffer, 'UTF-8', charset).toString();\n}\n\n/**\n * Detect a URLSearchParams object\n * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143\n *\n * @param Object obj Object to detect by type or brand\n * @return String\n */\nfunction isURLSearchParams(obj) {\n\t// Duck-typing as a necessary condition.\n\tif (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') {\n\t\treturn false;\n\t}\n\n\t// Brand-checking and more duck-typing as optional condition.\n\treturn obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function';\n}\n\n/**\n * Check if `obj` is a W3C `Blob` object (which `File` inherits from)\n * @param {*} obj\n * @return {boolean}\n */\nfunction isBlob(obj) {\n\treturn typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]);\n}\n\n/**\n * Clone body given Res/Req instance\n *\n * @param Mixed instance Response or Request instance\n * @return Mixed\n */\nfunction clone(instance) {\n\tlet p1, p2;\n\tlet body = instance.body;\n\n\t// don't allow cloning a used body\n\tif (instance.bodyUsed) {\n\t\tthrow new Error('cannot clone body after it is used');\n\t}\n\n\t// check that body is a stream and not form-data object\n\t// note: we can't clone the form-data object without having it as a dependency\n\tif (body instanceof Stream && typeof body.getBoundary !== 'function') {\n\t\t// tee instance body\n\t\tp1 = new PassThrough();\n\t\tp2 = new PassThrough();\n\t\tbody.pipe(p1);\n\t\tbody.pipe(p2);\n\t\t// set instance body to teed body and return the other teed body\n\t\tinstance[INTERNALS].body = p1;\n\t\tbody = p2;\n\t}\n\n\treturn body;\n}\n\n/**\n * Performs the operation \"extract a `Content-Type` value from |object|\" as\n * specified in the specification:\n * https://fetch.spec.whatwg.org/#concept-bodyinit-extract\n *\n * This function assumes that instance.body is present.\n *\n * @param Mixed instance Any options.body input\n */\nfunction extractContentType(body) {\n\tif (body === null) {\n\t\t// body is null\n\t\treturn null;\n\t} else if (typeof body === 'string') {\n\t\t// body is string\n\t\treturn 'text/plain;charset=UTF-8';\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\treturn 'application/x-www-form-urlencoded;charset=UTF-8';\n\t} else if (isBlob(body)) {\n\t\t// body is blob\n\t\treturn body.type || null;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn null;\n\t} else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\treturn null;\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\treturn null;\n\t} else if (typeof body.getBoundary === 'function') {\n\t\t// detect form data input from form-data module\n\t\treturn `multipart/form-data;boundary=${body.getBoundary()}`;\n\t} else if (body instanceof Stream) {\n\t\t// body is stream\n\t\t// can't really do much about this\n\t\treturn null;\n\t} else {\n\t\t// Body constructor defaults other things to string\n\t\treturn 'text/plain;charset=UTF-8';\n\t}\n}\n\n/**\n * The Fetch Standard treats this as if \"total bytes\" is a property on the body.\n * For us, we have to explicitly get it with a function.\n *\n * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes\n *\n * @param Body instance Instance of Body\n * @return Number? Number of bytes, or null if not possible\n */\nfunction getTotalBytes(instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\treturn 0;\n\t} else if (isBlob(body)) {\n\t\treturn body.size;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn body.length;\n\t} else if (body && typeof body.getLengthSync === 'function') {\n\t\t// detect form data input from form-data module\n\t\tif (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x\n\t\tbody.hasKnownLength && body.hasKnownLength()) {\n\t\t\t// 2.x\n\t\t\treturn body.getLengthSync();\n\t\t}\n\t\treturn null;\n\t} else {\n\t\t// body is stream\n\t\treturn null;\n\t}\n}\n\n/**\n * Write a Body to a Node.js WritableStream (e.g. http.Request) object.\n *\n * @param Body instance Instance of Body\n * @return Void\n */\nfunction writeToStream(dest, instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\tdest.end();\n\t} else if (isBlob(body)) {\n\t\tbody.stream().pipe(dest);\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\tdest.write(body);\n\t\tdest.end();\n\t} else {\n\t\t// body is stream\n\t\tbody.pipe(dest);\n\t}\n}\n\n// expose Promise\nBody.Promise = global.Promise;\n\n/**\n * headers.js\n *\n * Headers class offers convenient helpers\n */\n\nconst invalidTokenRegex = /[^\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]/;\nconst invalidHeaderCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/;\n\nfunction validateName(name) {\n\tname = `${name}`;\n\tif (invalidTokenRegex.test(name) || name === '') {\n\t\tthrow new TypeError(`${name} is not a legal HTTP header name`);\n\t}\n}\n\nfunction validateValue(value) {\n\tvalue = `${value}`;\n\tif (invalidHeaderCharRegex.test(value)) {\n\t\tthrow new TypeError(`${value} is not a legal HTTP header value`);\n\t}\n}\n\n/**\n * Find the key in the map object given a header name.\n *\n * Returns undefined if not found.\n *\n * @param String name Header name\n * @return String|Undefined\n */\nfunction find(map, name) {\n\tname = name.toLowerCase();\n\tfor (const key in map) {\n\t\tif (key.toLowerCase() === name) {\n\t\t\treturn key;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nconst MAP = Symbol('map');\nclass Headers {\n\t/**\n * Headers class\n *\n * @param Object headers Response headers\n * @return Void\n */\n\tconstructor() {\n\t\tlet init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence<sequence<ByteString>>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record<ByteString, ByteString>\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// tests for socket presence, as in some situations the\n\t\t\t\t// the 'socket' event is not triggered for the request\n\t\t\t\t// (happens in deno), avoids `TypeError`\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket && socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\nexports.AbortError = AbortError;\n", "const nodeFetch = require('node-fetch')\nconst realFetch = nodeFetch.default || nodeFetch\n\nconst fetch = function (url, options) {\n // Support schemaless URIs on the server for parity with the browser.\n // Ex: //github.com/ -> https://github.com/\n if (/^\\/\\//.test(url)) {\n url = 'https:' + url\n }\n return realFetch.call(this, url, options)\n}\n\nfetch.ponyfill = true\n\nmodule.exports = exports = fetch\nexports.fetch = fetch\nexports.Headers = nodeFetch.Headers\nexports.Request = nodeFetch.Request\nexports.Response = nodeFetch.Response\n\n// Needed for TypeScript consumers without esModuleInterop.\nexports.default = fetch\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isJSON = void 0;\nfunction isJSON(contentTypeHeader) {\n if (contentTypeHeader) {\n const mediaType = parseContentType(contentTypeHeader);\n if (!mediaType) {\n return false;\n }\n if (mediaType.subtype === \"json\") {\n return true;\n }\n if (mediaType.suffix === \"json\") {\n return true;\n }\n if (mediaType.suffix && /\\bjson\\b/i.test(mediaType.suffix)) {\n return true;\n }\n if (mediaType.subtype && /\\bjson\\b/i.test(mediaType.subtype)) {\n return true;\n }\n }\n return false;\n}\nexports.isJSON = isJSON;\n/**\n * RegExp to match type in RFC 6838 with an optional trailing `;` because some Apple APIs returns one...\n *\n * type-name = restricted-name\n * subtype-name = restricted-name\n * restricted-name = restricted-name-first *126restricted-name-chars\n * restricted-name-first = ALPHA / DIGIT\n * restricted-name-chars = ALPHA / DIGIT / \"!\" / \"#\" /\n * \"$\" / \"&\" / \"-\" / \"^\" / \"_\"\n * restricted-name-chars =/ \".\" ; Characters before first dot always\n * ; specify a facet name\n * restricted-name-chars =/ \"+\" ; Characters after last plus always\n * ; specify a structured syntax suffix\n * ALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n * DIGIT = %x30-39 ; 0-9\n */\nconst MEDIA_TYPE_REGEXP = /^([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126});?$/;\nfunction parseContentType(header) {\n const headerDelimitationindex = header.indexOf(\";\");\n const contentType = headerDelimitationindex !== -1 ? header.slice(0, headerDelimitationindex).trim() : header.trim();\n const match = MEDIA_TYPE_REGEXP.exec(contentType.toLowerCase().toLowerCase());\n if (!match) {\n return;\n }\n const type = match[1];\n let subtype = match[2];\n let suffix;\n // suffix after last +\n const index = subtype.lastIndexOf(\"+\");\n if (index !== -1) {\n suffix = subtype.substring(index + 1);\n subtype = subtype.substring(0, index);\n }\n return { type, subtype, suffix };\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFetch = void 0;\nconst react_1 = require(\"react\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst cross_fetch_1 = require(\"cross-fetch\");\nconst fetch_utils_1 = require(\"./fetch-utils\");\nconst helpers_1 = require(\"./helpers\");\nasync function defaultParsing(response) {\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n const contentTypeHeader = response.headers.get(\"content-type\");\n if (contentTypeHeader && (0, fetch_utils_1.isJSON)(contentTypeHeader)) {\n return await response.json();\n }\n return await response.text();\n}\nfunction defaultMapping(result) {\n return { data: result, hasMore: false };\n}\nfunction useFetch(url, options) {\n const { parseResponse, mapResult, initialData, execute, keepPreviousData, onError, onData, onWillExecute, failureToastOptions, ...fetchOptions } = options || {};\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n failureToastOptions,\n };\n const parseResponseRef = (0, useLatest_1.useLatest)(parseResponse || defaultParsing);\n const mapResultRef = (0, useLatest_1.useLatest)(mapResult || defaultMapping);\n const urlRef = (0, react_1.useRef)();\n const firstPageUrlRef = (0, react_1.useRef)();\n const firstPageUrl = typeof url === \"function\" ? url({ page: 0 }) : undefined;\n /**\n * When paginating, `url` is a `PaginatedRequestInfo`, so we only want to update the ref when the `firstPageUrl` changes.\n * When not paginating, `url` is a `RequestInfo`, so we want to update the ref whenever `url` changes.\n */\n if (!urlRef.current || typeof firstPageUrlRef.current === \"undefined\" || firstPageUrlRef.current !== firstPageUrl) {\n urlRef.current = url;\n }\n firstPageUrlRef.current = firstPageUrl;\n const abortable = (0, react_1.useRef)();\n const paginatedFn = (0, react_1.useCallback)((url, options) => async (pagination) => {\n const res = await (0, cross_fetch_1.fetch)(url(pagination), { signal: abortable.current?.signal, ...options });\n const parsed = (await parseResponseRef.current(res));\n return mapResultRef.current?.(parsed);\n }, [parseResponseRef, mapResultRef]);\n const fn = (0, react_1.useCallback)(async (url, options) => {\n const res = await (0, cross_fetch_1.fetch)(url, { signal: abortable.current?.signal, ...options });\n const parsed = (await parseResponseRef.current(res));\n const mapped = mapResultRef.current(parsed);\n return mapped?.data;\n }, [parseResponseRef, mapResultRef]);\n const promise = (0, react_1.useMemo)(() => {\n if (firstPageUrlRef.current) {\n return paginatedFn;\n }\n return fn;\n }, [firstPageUrlRef, fn, paginatedFn]);\n // @ts-expect-error lastItem can't be inferred properly\n return (0, useCachedPromise_1.useCachedPromise)(promise, [urlRef.current, fetchOptions], {\n ...useCachedPromiseOptions,\n internal_cacheKeySuffix: firstPageUrlRef.current + (0, helpers_1.hash)(mapResultRef.current) + (0, helpers_1.hash)(parseResponseRef.current),\n abortable,\n });\n}\nexports.useFetch = useFetch;\n", "/**\n * This is not the set of all possible signals.\n *\n * It IS, however, the set of all signals that trigger\n * an exit on either Linux or BSD systems. Linux is a\n * superset of the signal names supported on BSD, and\n * the unknown signals just fail to register, so we can\n * catch that easily enough.\n *\n * Windows signals are a different set, since there are\n * signals that terminate Windows processes, but don't\n * terminate (or don't even exist) on Posix systems.\n *\n * Don't bother with SIGKILL. It's uncatchable, which\n * means that we can't fire any callbacks anyway.\n *\n * If a user does happen to register a handler on a non-\n * fatal signal like SIGWINCH or something, and then\n * exit, it'll end up firing `process.emit('exit')`, so\n * the handler will be fired anyway.\n *\n * SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n * artificially, inherently leave the process in a\n * state from which it is not safe to try and enter JS\n * listeners.\n */\nexport const signals: NodeJS.Signals[] = []\nsignals.push('SIGHUP', 'SIGINT', 'SIGTERM')\n\nif (process.platform !== 'win32') {\n signals.push(\n 'SIGALRM',\n 'SIGABRT',\n 'SIGVTALRM',\n 'SIGXCPU',\n 'SIGXFSZ',\n 'SIGUSR2',\n 'SIGTRAP',\n 'SIGSYS',\n 'SIGQUIT',\n 'SIGIOT'\n // should detect profiler and enable/disable accordingly.\n // see #21\n // 'SIGPROF'\n )\n}\n\nif (process.platform === 'linux') {\n signals.push('SIGIO', 'SIGPOLL', 'SIGPWR', 'SIGSTKFLT')\n}\n", "// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nimport { signals } from './signals.js'\nexport { signals }\n\n// just a loosened process type so we can do some evil things\ntype ProcessRE = NodeJS.Process & {\n reallyExit: (code?: number | undefined | null) => any\n emit: (ev: string, ...a: any[]) => any\n}\n\nconst processOk = (process: any): process is ProcessRE =>\n !!process &&\n typeof process === 'object' &&\n typeof process.removeListener === 'function' &&\n typeof process.emit === 'function' &&\n typeof process.reallyExit === 'function' &&\n typeof process.listeners === 'function' &&\n typeof process.kill === 'function' &&\n typeof process.pid === 'number' &&\n typeof process.on === 'function'\n\nconst kExitEmitter = Symbol.for('signal-exit emitter')\nconst global: typeof globalThis & { [kExitEmitter]?: Emitter } = globalThis\nconst ObjectDefineProperty = Object.defineProperty.bind(Object)\n\n/**\n * A function that takes an exit code and signal as arguments\n *\n * In the case of signal exits *only*, a return value of true\n * will indicate that the signal is being handled, and we should\n * not synthetically exit with the signal we received. Regardless\n * of the handler return value, the handler is unloaded when an\n * otherwise fatal signal is received, so you get exactly 1 shot\n * at it, unless you add another onExit handler at that point.\n *\n * In the case of numeric code exits, we may already have committed\n * to exiting the process, for example via a fatal exception or\n * unhandled promise rejection, so it is impossible to stop safely.\n */\nexport type Handler = (\n code: number | null | undefined,\n signal: NodeJS.Signals | null\n) => true | void\ntype ExitEvent = 'afterExit' | 'exit'\ntype Emitted = { [k in ExitEvent]: boolean }\ntype Listeners = { [k in ExitEvent]: Handler[] }\n\n// teeny special purpose ee\nclass Emitter {\n emitted: Emitted = {\n afterExit: false,\n exit: false,\n }\n\n listeners: Listeners = {\n afterExit: [],\n exit: [],\n }\n\n count: number = 0\n id: number = Math.random()\n\n constructor() {\n if (global[kExitEmitter]) {\n return global[kExitEmitter]\n }\n ObjectDefineProperty(global, kExitEmitter, {\n value: this,\n writable: false,\n enumerable: false,\n configurable: false,\n })\n }\n\n on(ev: ExitEvent, fn: Handler) {\n this.listeners[ev].push(fn)\n }\n\n removeListener(ev: ExitEvent, fn: Handler) {\n const list = this.listeners[ev]\n const i = list.indexOf(fn)\n /* c8 ignore start */\n if (i === -1) {\n return\n }\n /* c8 ignore stop */\n if (i === 0 && list.length === 1) {\n list.length = 0\n } else {\n list.splice(i, 1)\n }\n }\n\n emit(\n ev: ExitEvent,\n code: number | null | undefined,\n signal: NodeJS.Signals | null\n ): boolean {\n if (this.emitted[ev]) {\n return false\n }\n this.emitted[ev] = true\n let ret: boolean = false\n for (const fn of this.listeners[ev]) {\n ret = fn(code, signal) === true || ret\n }\n if (ev === 'exit') {\n ret = this.emit('afterExit', code, signal) || ret\n }\n return ret\n }\n}\n\nabstract class SignalExitBase {\n abstract onExit(cb: Handler, opts?: { alwaysLast?: boolean }): () => void\n abstract load(): void\n abstract unload(): void\n}\n\nconst signalExitWrap = <T extends SignalExitBase>(handler: T) => {\n return {\n onExit(cb: Handler, opts?: { alwaysLast?: boolean }) {\n return handler.onExit(cb, opts)\n },\n load() {\n return handler.load()\n },\n unload() {\n return handler.unload()\n },\n }\n}\n\nclass SignalExitFallback extends SignalExitBase {\n onExit() {\n return () => {}\n }\n load() {}\n unload() {}\n}\n\nclass SignalExit extends SignalExitBase {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n /* c8 ignore start */\n #hupSig = process.platform === 'win32' ? 'SIGINT' : 'SIGHUP'\n /* c8 ignore stop */\n #emitter = new Emitter()\n #process: ProcessRE\n #originalProcessEmit: ProcessRE['emit']\n #originalProcessReallyExit: ProcessRE['reallyExit']\n\n #sigListeners: { [k in NodeJS.Signals]?: () => void } = {}\n #loaded: boolean = false\n\n constructor(process: ProcessRE) {\n super()\n this.#process = process\n // { <signal>: <listener fn>, ... }\n this.#sigListeners = {}\n for (const sig of signals) {\n this.#sigListeners[sig] = () => {\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n const listeners = this.#process.listeners(sig)\n let { count } = this.#emitter\n // This is a workaround for the fact that signal-exit v3 and signal\n // exit v4 are not aware of each other, and each will attempt to let\n // the other handle it, so neither of them do. To correct this, we\n // detect if we're the only handler *except* for previous versions\n // of signal-exit, and increment by the count of listeners it has\n // created.\n /* c8 ignore start */\n const p = process as unknown as {\n __signal_exit_emitter__?: { count: number }\n }\n if (\n typeof p.__signal_exit_emitter__ === 'object' &&\n typeof p.__signal_exit_emitter__.count === 'number'\n ) {\n count += p.__signal_exit_emitter__.count\n }\n /* c8 ignore stop */\n if (listeners.length === count) {\n this.unload()\n const ret = this.#emitter.emit('exit', null, sig)\n /* c8 ignore start */\n const s = sig === 'SIGHUP' ? this.#hupSig : sig\n if (!ret) process.kill(process.pid, s)\n /* c8 ignore stop */\n }\n }\n }\n\n this.#originalProcessReallyExit = process.reallyExit\n this.#originalProcessEmit = process.emit\n }\n\n onExit(cb: Handler, opts?: { alwaysLast?: boolean }) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return () => {}\n }\n /* c8 ignore stop */\n\n if (this.#loaded === false) {\n this.load()\n }\n\n const ev = opts?.alwaysLast ? 'afterExit' : 'exit'\n this.#emitter.on(ev, cb)\n return () => {\n this.#emitter.removeListener(ev, cb)\n if (\n this.#emitter.listeners['exit'].length === 0 &&\n this.#emitter.listeners['afterExit'].length === 0\n ) {\n this.unload()\n }\n }\n }\n\n load() {\n if (this.#loaded) {\n return\n }\n this.#loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n this.#emitter.count += 1\n\n for (const sig of signals) {\n try {\n const fn = this.#sigListeners[sig]\n if (fn) this.#process.on(sig, fn)\n } catch (_) {}\n }\n\n this.#process.emit = (ev: string, ...a: any[]) => {\n return this.#processEmit(ev, ...a)\n }\n this.#process.reallyExit = (code?: number | null | undefined) => {\n return this.#processReallyExit(code)\n }\n }\n\n unload() {\n if (!this.#loaded) {\n return\n }\n this.#loaded = false\n\n signals.forEach(sig => {\n const listener = this.#sigListeners[sig]\n /* c8 ignore start */\n if (!listener) {\n throw new Error('Listener not defined for signal: ' + sig)\n }\n /* c8 ignore stop */\n try {\n this.#process.removeListener(sig, listener)\n /* c8 ignore start */\n } catch (_) {}\n /* c8 ignore stop */\n })\n this.#process.emit = this.#originalProcessEmit\n this.#process.reallyExit = this.#originalProcessReallyExit\n this.#emitter.count -= 1\n }\n\n #processReallyExit(code?: number | null | undefined) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return 0\n }\n this.#process.exitCode = code || 0\n /* c8 ignore stop */\n\n this.#emitter.emit('exit', this.#process.exitCode, null)\n return this.#originalProcessReallyExit.call(\n this.#process,\n this.#process.exitCode\n )\n }\n\n #processEmit(ev: string, ...args: any[]): any {\n const og = this.#originalProcessEmit\n if (ev === 'exit' && processOk(this.#process)) {\n if (typeof args[0] === 'number') {\n this.#process.exitCode = args[0]\n /* c8 ignore start */\n }\n /* c8 ignore start */\n const ret = og.call(this.#process, ev, ...args)\n /* c8 ignore start */\n this.#emitter.emit('exit', this.#process.exitCode, null)\n /* c8 ignore stop */\n return ret\n } else {\n return og.call(this.#process, ev, ...args)\n }\n }\n}\n\nconst process = globalThis.process\n// wrap so that we call the method on the actual handler, without\n// exporting it directly.\nexport const {\n /**\n * Called when the process is exiting, whether via signal, explicit\n * exit, or running out of stuff to do.\n *\n * If the global process object is not suitable for instrumentation,\n * then this will be a no-op.\n *\n * Returns a function that may be used to unload signal-exit.\n */\n onExit,\n\n /**\n * Load the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\n load,\n\n /**\n * Unload the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\n unload,\n} = signalExitWrap(\n processOk(process) ? new SignalExit(process) : new SignalExitFallback()\n)\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultParsing = exports.handleOutput = exports.getSpawnedResult = exports.getSpawnedPromise = void 0;\nconst node_buffer_1 = require(\"node:buffer\");\nconst node_stream_1 = __importDefault(require(\"node:stream\"));\nconst node_util_1 = require(\"node:util\");\nconst signal_exit_1 = require(\"signal-exit\");\nfunction getSpawnedPromise(spawned, { timeout } = {}) {\n const spawnedPromise = new Promise((resolve, reject) => {\n spawned.on(\"exit\", (exitCode, signal) => {\n resolve({ exitCode, signal, timedOut: false });\n });\n spawned.on(\"error\", (error) => {\n reject(error);\n });\n if (spawned.stdin) {\n spawned.stdin.on(\"error\", (error) => {\n reject(error);\n });\n }\n });\n if (timeout === 0 || timeout === undefined) {\n return spawnedPromise;\n }\n let timeoutId;\n const timeoutPromise = new Promise((_resolve, reject) => {\n timeoutId = setTimeout(() => {\n spawned.kill(\"SIGTERM\");\n reject(Object.assign(new Error(\"Timed out\"), { timedOut: true, signal: \"SIGTERM\" }));\n }, timeout);\n });\n const safeSpawnedPromise = spawnedPromise.finally(() => {\n clearTimeout(timeoutId);\n });\n const removeExitHandler = (0, signal_exit_1.onExit)(() => {\n spawned.kill();\n });\n return Promise.race([timeoutPromise, safeSpawnedPromise]).finally(() => removeExitHandler());\n}\nexports.getSpawnedPromise = getSpawnedPromise;\nclass MaxBufferError extends Error {\n constructor() {\n super(\"The output is too big\");\n this.name = \"MaxBufferError\";\n }\n}\nconst streamPipelinePromisified = (0, node_util_1.promisify)(node_stream_1.default.pipeline);\nfunction bufferStream(options) {\n const { encoding } = options;\n const isBuffer = encoding === \"buffer\";\n // @ts-expect-error missing the methods we are adding below\n const stream = new node_stream_1.default.PassThrough({ objectMode: false });\n if (encoding && encoding !== \"buffer\") {\n stream.setEncoding(encoding);\n }\n let length = 0;\n const chunks = [];\n stream.on(\"data\", (chunk) => {\n chunks.push(chunk);\n length += chunk.length;\n });\n stream.getBufferedValue = () => {\n return (isBuffer ? Buffer.concat(chunks, length) : chunks.join(\"\"));\n };\n stream.getBufferedLength = () => length;\n return stream;\n}\nasync function getStream(inputStream, options) {\n const stream = bufferStream(options);\n await new Promise((resolve, reject) => {\n const rejectPromise = (error) => {\n // Don't retrieve an oversized buffer.\n if (error && stream.getBufferedLength() <= node_buffer_1.constants.MAX_LENGTH) {\n error.bufferedData = stream.getBufferedValue();\n }\n reject(error);\n };\n (async () => {\n try {\n await streamPipelinePromisified(inputStream, stream);\n resolve();\n }\n catch (error) {\n rejectPromise(error);\n }\n })();\n stream.on(\"data\", () => {\n // 80mb\n if (stream.getBufferedLength() > 1000 * 1000 * 80) {\n rejectPromise(new MaxBufferError());\n }\n });\n });\n return stream.getBufferedValue();\n}\n// On failure, `result.stdout|stderr` should contain the currently buffered stream\nasync function getBufferedData(stream, streamPromise) {\n stream.destroy();\n try {\n return await streamPromise;\n }\n catch (error) {\n return error.bufferedData;\n }\n}\nasync function getSpawnedResult({ stdout, stderr }, { encoding }, processDone) {\n const stdoutPromise = getStream(stdout, { encoding });\n const stderrPromise = getStream(stderr, { encoding });\n try {\n return await Promise.all([processDone, stdoutPromise, stderrPromise]);\n }\n catch (error) {\n return Promise.all([\n {\n error: error,\n exitCode: null,\n signal: error.signal,\n timedOut: error.timedOut || false,\n },\n getBufferedData(stdout, stdoutPromise),\n getBufferedData(stderr, stderrPromise),\n ]);\n }\n}\nexports.getSpawnedResult = getSpawnedResult;\nfunction stripFinalNewline(input) {\n const LF = typeof input === \"string\" ? \"\\n\" : \"\\n\".charCodeAt(0);\n const CR = typeof input === \"string\" ? \"\\r\" : \"\\r\".charCodeAt(0);\n if (input[input.length - 1] === LF) {\n // @ts-expect-error we are doing some nasty stuff here\n input = input.slice(0, -1);\n }\n if (input[input.length - 1] === CR) {\n // @ts-expect-error we are doing some nasty stuff here\n input = input.slice(0, -1);\n }\n return input;\n}\nfunction handleOutput(options, value) {\n if (options.stripFinalNewline) {\n return stripFinalNewline(value);\n }\n return value;\n}\nexports.handleOutput = handleOutput;\nconst getErrorPrefix = ({ timedOut, timeout, signal, exitCode, }) => {\n if (timedOut) {\n return `timed out after ${timeout} milliseconds`;\n }\n if (signal !== undefined && signal !== null) {\n return `was killed with ${signal}`;\n }\n if (exitCode !== undefined && exitCode !== null) {\n return `failed with exit code ${exitCode}`;\n }\n return \"failed\";\n};\nconst makeError = ({ stdout, stderr, error, signal, exitCode, command, timedOut, options, parentError, }) => {\n const prefix = getErrorPrefix({ timedOut, timeout: options?.timeout, signal, exitCode });\n const execaMessage = `Command ${prefix}: ${command}`;\n const shortMessage = error ? `${execaMessage}\\n${error.message}` : execaMessage;\n const message = [shortMessage, stderr, stdout].filter(Boolean).join(\"\\n\");\n if (error) {\n // @ts-expect-error not on Error\n error.originalMessage = error.message;\n }\n else {\n error = parentError;\n }\n error.message = message;\n // @ts-expect-error not on Error\n error.shortMessage = shortMessage;\n // @ts-expect-error not on Error\n error.command = command;\n // @ts-expect-error not on Error\n error.exitCode = exitCode;\n // @ts-expect-error not on Error\n error.signal = signal;\n // @ts-expect-error not on Error\n error.stdout = stdout;\n // @ts-expect-error not on Error\n error.stderr = stderr;\n if (\"bufferedData\" in error) {\n delete error[\"bufferedData\"];\n }\n return error;\n};\nfunction defaultParsing({ stdout, stderr, error, exitCode, signal, timedOut, command, options, parentError, }) {\n if (error || exitCode !== 0 || signal !== null) {\n const returnedError = makeError({\n error,\n exitCode,\n signal,\n stdout,\n stderr,\n command,\n timedOut,\n options,\n parentError,\n });\n throw returnedError;\n }\n return stdout;\n}\nexports.defaultParsing = defaultParsing;\n", "\"use strict\";\n/*\n * Inspired by Execa\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useExec = void 0;\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst react_1 = require(\"react\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst exec_utils_1 = require(\"./exec-utils\");\nconst SPACES_REGEXP = / +/g;\nfunction parseCommand(command, args) {\n if (args) {\n return [command, ...args];\n }\n const tokens = [];\n for (const token of command.trim().split(SPACES_REGEXP)) {\n // Allow spaces to be escaped by a backslash if not meant as a delimiter\n const previousToken = tokens[tokens.length - 1];\n if (previousToken && previousToken.endsWith(\"\\\\\")) {\n // Merge previous token with current one\n tokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`;\n }\n else {\n tokens.push(token);\n }\n }\n return tokens;\n}\nfunction useExec(command, optionsOrArgs, options) {\n const { parseOutput, input, onData, onWillExecute, initialData, execute, keepPreviousData, onError, failureToastOptions, ...execOptions } = Array.isArray(optionsOrArgs) ? options || {} : optionsOrArgs || {};\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n failureToastOptions,\n };\n const abortable = (0, react_1.useRef)();\n const parseOutputRef = (0, useLatest_1.useLatest)(parseOutput || exec_utils_1.defaultParsing);\n const fn = (0, react_1.useCallback)(async (_command, _args, _options, input) => {\n const [file, ...args] = parseCommand(_command, _args);\n const command = [file, ...args].join(\" \");\n const options = {\n stripFinalNewline: true,\n ..._options,\n timeout: _options?.timeout || 10000,\n signal: abortable.current?.signal,\n encoding: _options?.encoding === null ? \"buffer\" : _options?.encoding || \"utf8\",\n env: { PATH: \"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\", ...process.env, ..._options?.env },\n };\n const spawned = node_child_process_1.default.spawn(file, args, options);\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned, options);\n if (input) {\n spawned.stdin.end(input);\n }\n const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, options, spawnedPromise);\n const stdout = (0, exec_utils_1.handleOutput)(options, stdoutResult);\n const stderr = (0, exec_utils_1.handleOutput)(options, stderrResult);\n return parseOutputRef.current({\n // @ts-expect-error too many generics, I give up\n stdout,\n // @ts-expect-error too many generics, I give up\n stderr,\n error,\n exitCode,\n signal,\n timedOut,\n command,\n options,\n parentError: new Error(),\n });\n }, [parseOutputRef]);\n // @ts-expect-error T can't be a Promise so it's actually the same\n return (0, useCachedPromise_1.useCachedPromise)(fn, [command, Array.isArray(optionsOrArgs) ? optionsOrArgs : [], execOptions, input], {\n ...useCachedPromiseOptions,\n abortable,\n });\n}\nexports.useExec = useExec;\n", "'use strict';\n\nconst {Readable, Writable, Duplex, Transform} = require('stream');\n\nconst none = Symbol.for('object-stream.none');\nconst finalSymbol = Symbol.for('object-stream.final');\nconst manySymbol = Symbol.for('object-stream.many');\n\nconst final = value => ({[finalSymbol]: value});\nconst many = values => ({[manySymbol]: values});\n\nconst isFinal = o => o && typeof o == 'object' && finalSymbol in o;\nconst isMany = o => o && typeof o == 'object' && manySymbol in o;\n\nconst getFinalValue = o => o[finalSymbol];\nconst getManyValues = o => o[manySymbol];\n\nconst runAsyncGenerator = async (gen, stream) => {\n for (;;) {\n let data = gen.next();\n if (data && typeof data.then == 'function') {\n data = await data;\n }\n if (data.done) break;\n let value = data.value;\n if (value && typeof value.then == 'function') {\n value = await value;\n }\n Chain.sanitize(value, stream);\n }\n};\n\nconst wrapFunction = fn =>\n new Transform({\n writableObjectMode: true,\n readableObjectMode: true,\n transform(chunk, encoding, callback) {\n try {\n const result = fn.call(this, chunk, encoding);\n if (result && typeof result.then == 'function') {\n // thenable\n result.then(\n result => (Chain.sanitize(result, this), callback(null)),\n error => callback(error)\n );\n return;\n }\n if (result && typeof result.next == 'function') {\n // generator\n runAsyncGenerator(result, this).then(\n () => callback(null),\n error => callback(error)\n );\n return;\n }\n Chain.sanitize(result, this);\n callback(null);\n } catch (error) {\n callback(error);\n }\n }\n });\n\nconst wrapArray = fns =>\n new Transform({\n writableObjectMode: true,\n readableObjectMode: true,\n transform(chunk, encoding, callback) {\n try {\n let value = chunk;\n for (let i = 0; i < fns.length; ++i) {\n const result = fns[i].call(this, value, encoding);\n if (result === Chain.none) {\n callback(null);\n return;\n }\n if (Chain.isFinal(result)) {\n value = Chain.getFinalValue(result);\n break;\n }\n value = result;\n }\n Chain.sanitize(value, this);\n callback(null);\n } catch (error) {\n callback(error);\n }\n }\n });\n\n// is*NodeStream functions taken from https://github.com/nodejs/node/blob/master/lib/internal/streams/utils.js\nconst isReadableNodeStream = obj =>\n obj &&\n typeof obj.pipe === 'function' &&\n typeof obj.on === 'function' &&\n (!obj._writableState || (typeof obj._readableState === 'object' ? obj._readableState.readable : null) !== false) && // Duplex\n (!obj._writableState || obj._readableState); // Writable has .pipe.\n\nconst isWritableNodeStream = obj =>\n obj &&\n typeof obj.write === 'function' &&\n typeof obj.on === 'function' &&\n (!obj._readableState || (typeof obj._writableState === 'object' ? obj._writableState.writable : null) !== false); // Duplex\n\nconst isDuplexNodeStream = obj =>\n obj && typeof obj.pipe === 'function' && obj._readableState && typeof obj.on === 'function' && typeof obj.write === 'function';\n\nclass Chain extends Duplex {\n constructor(fns, options) {\n super(options || {writableObjectMode: true, readableObjectMode: true});\n\n if (!(fns instanceof Array) || !fns.length) {\n throw Error(\"Chain's argument should be a non-empty array.\");\n }\n\n this.streams = fns\n .filter(fn => fn)\n .map((fn, index, fns) => {\n if (typeof fn === 'function' || fn instanceof Array) return Chain.convertToTransform(fn);\n if (isDuplexNodeStream(fn) || (!index && isReadableNodeStream(fn)) || (index === fns.length - 1 && isWritableNodeStream(fn))) {\n return fn;\n }\n throw Error('Arguments should be functions, arrays or streams.');\n })\n .filter(s => s);\n this.input = this.streams[0];\n this.output = this.streams.reduce((output, stream) => (output && output.pipe(stream)) || stream);\n\n if (!isWritableNodeStream(this.input)) {\n this._write = (_1, _2, callback) => callback(null);\n this._final = callback => callback(null); // unavailable in Node 6\n this.input.on('end', () => this.end());\n }\n\n if (isReadableNodeStream(this.output)) {\n this.output.on('data', chunk => !this.push(chunk) && this.output.pause());\n this.output.on('end', () => this.push(null));\n } else {\n this._read = () => {}; // nop\n this.resume();\n this.output.on('finish', () => this.push(null));\n }\n\n // connect events\n if (!options || !options.skipEvents) {\n this.streams.forEach(stream => stream.on('error', error => this.emit('error', error)));\n }\n }\n _write(chunk, encoding, callback) {\n let error = null;\n try {\n this.input.write(chunk, encoding, e => callback(e || error));\n } catch (e) {\n error = e;\n }\n }\n _final(callback) {\n let error = null;\n try {\n this.input.end(null, null, e => callback(e || error));\n } catch (e) {\n error = e;\n }\n }\n _read() {\n this.output.resume();\n }\n static make(fns, options) {\n return new Chain(fns, options);\n }\n static sanitize(result, stream) {\n if (Chain.isFinal(result)) {\n result = Chain.getFinalValue(result);\n } else if (Chain.isMany(result)) {\n result = Chain.getManyValues(result);\n }\n if (result !== undefined && result !== null && result !== Chain.none) {\n if (result instanceof Array) {\n result.forEach(value => value !== undefined && value !== null && stream.push(value));\n } else {\n stream.push(result);\n }\n }\n }\n static convertToTransform(fn) {\n if (typeof fn === 'function') return wrapFunction(fn);\n if (fn instanceof Array) return fn.length ? wrapArray(fn) : null;\n return null;\n }\n}\n\nChain.none = none;\nChain.final = final;\nChain.isFinal = isFinal;\nChain.getFinalValue = getFinalValue;\nChain.many = many;\nChain.isMany = isMany;\nChain.getManyValues = getManyValues;\n\nChain.chain = Chain.make;\nChain.make.Constructor = Chain;\n\nmodule.exports = Chain;\n", "'use strict';\n\nconst {Transform} = require('stream');\nconst {StringDecoder} = require('string_decoder');\n\nclass Utf8Stream extends Transform {\n constructor(options) {\n super(Object.assign({}, options, {writableObjectMode: false}));\n this._buffer = '';\n }\n\n _transform(chunk, encoding, callback) {\n if (typeof chunk == 'string') {\n this._transform = this._transformString;\n } else {\n this._stringDecoder = new StringDecoder();\n this._transform = this._transformBuffer;\n }\n this._transform(chunk, encoding, callback);\n }\n\n _transformBuffer(chunk, _, callback) {\n this._buffer += this._stringDecoder.write(chunk);\n this._processBuffer(callback);\n }\n\n _transformString(chunk, _, callback) {\n this._buffer += chunk.toString();\n this._processBuffer(callback);\n }\n\n _processBuffer(callback) {\n if (this._buffer) {\n this.push(this._buffer, 'utf8');\n this._buffer = '';\n }\n callback(null);\n }\n\n _flushInput() {\n // meant to be called from _flush()\n if (this._stringDecoder) {\n this._buffer += this._stringDecoder.end();\n }\n }\n\n _flush(callback) {\n this._flushInput();\n this._processBuffer(callback);\n }\n}\n\nmodule.exports = Utf8Stream;\n", "'use strict';\n\nconst Utf8Stream = require('./utils/Utf8Stream');\n\nconst patterns = {\n value1: /^(?:[\\\"\\{\\[\\]\\-\\d]|true\\b|false\\b|null\\b|\\s{1,256})/,\n string: /^(?:[^\\\"\\\\]{1,256}|\\\\[bfnrt\\\"\\\\\\/]|\\\\u[\\da-fA-F]{4}|\\\")/,\n key1: /^(?:[\\\"\\}]|\\s{1,256})/,\n colon: /^(?:\\:|\\s{1,256})/,\n comma: /^(?:[\\,\\]\\}]|\\s{1,256})/,\n ws: /^\\s{1,256}/,\n numberStart: /^\\d/,\n numberDigit: /^\\d{0,256}/,\n numberFraction: /^[\\.eE]/,\n numberExponent: /^[eE]/,\n numberExpSign: /^[-+]/\n};\nconst MAX_PATTERN_SIZE = 16;\n\nlet noSticky = true;\ntry {\n new RegExp('.', 'y');\n noSticky = false;\n} catch (e) {\n // suppress\n}\n\n!noSticky &&\n Object.keys(patterns).forEach(key => {\n let src = patterns[key].source.slice(1); // lop off ^\n if (src.slice(0, 3) === '(?:' && src.slice(-1) === ')') {\n src = src.slice(3, -1);\n }\n patterns[key] = new RegExp(src, 'y');\n });\n\npatterns.numberFracStart = patterns.numberExpStart = patterns.numberStart;\npatterns.numberFracDigit = patterns.numberExpDigit = patterns.numberDigit;\n\nconst values = {true: true, false: false, null: null},\n expected = {object: 'objectStop', array: 'arrayStop', '': 'done'};\n\n// long hexadecimal codes: \\uXXXX\nconst fromHex = s => String.fromCharCode(parseInt(s.slice(2), 16));\n\n// short codes: \\b \\f \\n \\r \\t \\\" \\\\ \\/\nconst codes = {b: '\\b', f: '\\f', n: '\\n', r: '\\r', t: '\\t', '\"': '\"', '\\\\': '\\\\', '/': '/'};\n\nclass Parser extends Utf8Stream {\n static make(options) {\n return new Parser(options);\n }\n\n constructor(options) {\n super(Object.assign({}, options, {readableObjectMode: true}));\n\n this._packKeys = this._packStrings = this._packNumbers = this._streamKeys = this._streamStrings = this._streamNumbers = true;\n if (options) {\n 'packValues' in options && (this._packKeys = this._packStrings = this._packNumbers = options.packValues);\n 'packKeys' in options && (this._packKeys = options.packKeys);\n 'packStrings' in options && (this._packStrings = options.packStrings);\n 'packNumbers' in options && (this._packNumbers = options.packNumbers);\n 'streamValues' in options && (this._streamKeys = this._streamStrings = this._streamNumbers = options.streamValues);\n 'streamKeys' in options && (this._streamKeys = options.streamKeys);\n 'streamStrings' in options && (this._streamStrings = options.streamStrings);\n 'streamNumbers' in options && (this._streamNumbers = options.streamNumbers);\n this._jsonStreaming = options.jsonStreaming;\n }\n !this._packKeys && (this._streamKeys = true);\n !this._packStrings && (this._streamStrings = true);\n !this._packNumbers && (this._streamNumbers = true);\n\n this._done = false;\n this._expect = this._jsonStreaming ? 'done' : 'value';\n this._stack = [];\n this._parent = '';\n this._open_number = false;\n this._accumulator = '';\n }\n\n _flush(callback) {\n this._done = true;\n super._flush(error => {\n if (error) return callback(error);\n if (this._open_number) {\n if (this._streamNumbers) {\n this.push({name: 'endNumber'});\n }\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n callback(null);\n });\n }\n\n _processBuffer(callback) {\n let match,\n value,\n index = 0;\n main: for (;;) {\n switch (this._expect) {\n case 'value1':\n case 'value':\n patterns.value1.lastIndex = index;\n match = patterns.value1.exec(this._buffer);\n if (!match) {\n if (this._done || index + MAX_PATTERN_SIZE < this._buffer.length) {\n if (index < this._buffer.length) return callback(new Error('Parser cannot parse input: expected a value'));\n return callback(new Error('Parser has expected a value'));\n }\n break main; // wait for more input\n }\n value = match[0];\n switch (value) {\n case '\"':\n this._streamStrings && this.push({name: 'startString'});\n this._expect = 'string';\n break;\n case '{':\n this.push({name: 'startObject'});\n this._stack.push(this._parent);\n this._parent = 'object';\n this._expect = 'key1';\n break;\n case '[':\n this.push({name: 'startArray'});\n this._stack.push(this._parent);\n this._parent = 'array';\n this._expect = 'value1';\n break;\n case ']':\n if (this._expect !== 'value1') return callback(new Error(\"Parser cannot parse input: unexpected token ']'\"));\n if (this._open_number) {\n this._streamNumbers && this.push({name: 'endNumber'});\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n this.push({name: 'endArray'});\n this._parent = this._stack.pop();\n this._expect = expected[this._parent];\n break;\n case '-':\n this._open_number = true;\n if (this._streamNumbers) {\n this.push({name: 'startNumber'});\n this.push({name: 'numberChunk', value: '-'});\n }\n this._packNumbers && (this._accumulator = '-');\n this._expect = 'numberStart';\n break;\n case '0':\n this._open_number = true;\n if (this._streamNumbers) {\n this.push({name: 'startNumber'});\n this.push({name: 'numberChunk', value: '0'});\n }\n this._packNumbers && (this._accumulator = '0');\n this._expect = 'numberFraction';\n break;\n case '1':\n case '2':\n case '3':\n case '4':\n case '5':\n case '6':\n case '7':\n case '8':\n case '9':\n this._open_number = true;\n if (this._streamNumbers) {\n this.push({name: 'startNumber'});\n this.push({name: 'numberChunk', value: value});\n }\n this._packNumbers && (this._accumulator = value);\n this._expect = 'numberDigit';\n break;\n case 'true':\n case 'false':\n case 'null':\n if (this._buffer.length - index === value.length && !this._done) break main; // wait for more input\n this.push({name: value + 'Value', value: values[value]});\n this._expect = expected[this._parent];\n break;\n // default: // ws\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'keyVal':\n case 'string':\n patterns.string.lastIndex = index;\n match = patterns.string.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length && (this._done || this._buffer.length - index >= 6))\n return callback(new Error('Parser cannot parse input: escaped characters'));\n if (this._done) return callback(new Error('Parser has expected a string value'));\n break main; // wait for more input\n }\n value = match[0];\n if (value === '\"') {\n if (this._expect === 'keyVal') {\n this._streamKeys && this.push({name: 'endKey'});\n if (this._packKeys) {\n this.push({name: 'keyValue', value: this._accumulator});\n this._accumulator = '';\n }\n this._expect = 'colon';\n } else {\n this._streamStrings && this.push({name: 'endString'});\n if (this._packStrings) {\n this.push({name: 'stringValue', value: this._accumulator});\n this._accumulator = '';\n }\n this._expect = expected[this._parent];\n }\n } else if (value.length > 1 && value.charAt(0) === '\\\\') {\n const t = value.length == 2 ? codes[value.charAt(1)] : fromHex(value);\n if (this._expect === 'keyVal' ? this._streamKeys : this._streamStrings) {\n this.push({name: 'stringChunk', value: t});\n }\n if (this._expect === 'keyVal' ? this._packKeys : this._packStrings) {\n this._accumulator += t;\n }\n } else {\n if (this._expect === 'keyVal' ? this._streamKeys : this._streamStrings) {\n this.push({name: 'stringChunk', value: value});\n }\n if (this._expect === 'keyVal' ? this._packKeys : this._packStrings) {\n this._accumulator += value;\n }\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'key1':\n case 'key':\n patterns.key1.lastIndex = index;\n match = patterns.key1.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected an object key'));\n break main; // wait for more input\n }\n value = match[0];\n if (value === '\"') {\n this._streamKeys && this.push({name: 'startKey'});\n this._expect = 'keyVal';\n } else if (value === '}') {\n if (this._expect !== 'key1') return callback(new Error(\"Parser cannot parse input: unexpected token '}'\"));\n this.push({name: 'endObject'});\n this._parent = this._stack.pop();\n this._expect = expected[this._parent];\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'colon':\n patterns.colon.lastIndex = index;\n match = patterns.colon.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error(\"Parser cannot parse input: expected ':'\"));\n break main; // wait for more input\n }\n value = match[0];\n value === ':' && (this._expect = 'value');\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'arrayStop':\n case 'objectStop':\n patterns.comma.lastIndex = index;\n match = patterns.comma.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error(\"Parser cannot parse input: expected ','\"));\n break main; // wait for more input\n }\n if (this._open_number) {\n this._streamNumbers && this.push({name: 'endNumber'});\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n value = match[0];\n if (value === ',') {\n this._expect = this._expect === 'arrayStop' ? 'value' : 'key';\n } else if (value === '}' || value === ']') {\n if (value === '}' ? this._expect === 'arrayStop' : this._expect !== 'arrayStop') {\n return callback(new Error(\"Parser cannot parse input: expected '\" + (this._expect === 'arrayStop' ? ']' : '}') + \"'\"));\n }\n this.push({name: value === '}' ? 'endObject' : 'endArray'});\n this._parent = this._stack.pop();\n this._expect = expected[this._parent];\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n // number chunks\n case 'numberStart': // [0-9]\n patterns.numberStart.lastIndex = index;\n match = patterns.numberStart.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected a starting digit'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = value === '0' ? 'numberFraction' : 'numberDigit';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberDigit': // [0-9]*\n patterns.numberDigit.lastIndex = index;\n match = patterns.numberDigit.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected a digit'));\n break main; // wait for more input\n }\n value = match[0];\n if (value) {\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n } else {\n if (index < this._buffer.length) {\n this._expect = 'numberFraction';\n break;\n }\n if (this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n break;\n case 'numberFraction': // [\\.eE]?\n patterns.numberFraction.lastIndex = index;\n match = patterns.numberFraction.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = value === '.' ? 'numberFracStart' : 'numberExpSign';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberFracStart': // [0-9]\n patterns.numberFracStart.lastIndex = index;\n match = patterns.numberFracStart.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected a fractional part of a number'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberFracDigit';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberFracDigit': // [0-9]*\n patterns.numberFracDigit.lastIndex = index;\n match = patterns.numberFracDigit.exec(this._buffer);\n value = match[0];\n if (value) {\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n } else {\n if (index < this._buffer.length) {\n this._expect = 'numberExponent';\n break;\n }\n if (this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n break;\n case 'numberExponent': // [eE]?\n patterns.numberExponent.lastIndex = index;\n match = patterns.numberExponent.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length) {\n this._expect = expected[this._parent];\n break;\n }\n if (this._done) {\n this._expect = 'done';\n break;\n }\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberExpSign';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberExpSign': // [-+]?\n patterns.numberExpSign.lastIndex = index;\n match = patterns.numberExpSign.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length) {\n this._expect = 'numberExpStart';\n break;\n }\n if (this._done) return callback(new Error('Parser has expected an exponent value of a number'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberExpStart';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberExpStart': // [0-9]\n patterns.numberExpStart.lastIndex = index;\n match = patterns.numberExpStart.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length || this._done) return callback(new Error('Parser cannot parse input: expected an exponent part of a number'));\n break main; // wait for more input\n }\n value = match[0];\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n this._expect = 'numberExpDigit';\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n case 'numberExpDigit': // [0-9]*\n patterns.numberExpDigit.lastIndex = index;\n match = patterns.numberExpDigit.exec(this._buffer);\n value = match[0];\n if (value) {\n this._streamNumbers && this.push({name: 'numberChunk', value: value});\n this._packNumbers && (this._accumulator += value);\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n } else {\n if (index < this._buffer.length || this._done) {\n this._expect = expected[this._parent];\n break;\n }\n break main; // wait for more input\n }\n break;\n case 'done':\n patterns.ws.lastIndex = index;\n match = patterns.ws.exec(this._buffer);\n if (!match) {\n if (index < this._buffer.length) {\n if (this._jsonStreaming) {\n this._expect = 'value';\n break;\n }\n return callback(new Error('Parser cannot parse input: unexpected characters'));\n }\n break main; // wait for more input\n }\n value = match[0];\n if (this._open_number) {\n this._streamNumbers && this.push({name: 'endNumber'});\n this._open_number = false;\n if (this._packNumbers) {\n this.push({name: 'numberValue', value: this._accumulator});\n this._accumulator = '';\n }\n }\n if (noSticky) {\n this._buffer = this._buffer.slice(value.length);\n } else {\n index += value.length;\n }\n break;\n }\n }\n !noSticky && (this._buffer = this._buffer.slice(index));\n callback(null);\n }\n}\nParser.parser = Parser.make;\nParser.make.Constructor = Parser;\n\nmodule.exports = Parser;\n", "'use strict';\n\nconst emit = stream => stream.on('data', item => stream.emit(item.name, item.value));\n\nmodule.exports = emit;\n", "'use strict';\n\nconst Parser = require('./Parser');\nconst emit = require('./utils/emit');\n\nconst make = options => emit(new Parser(options));\n\nmake.Parser = Parser;\nmake.parser = Parser.parser;\n\nmodule.exports = make;\n", "'use strict';\n\nconst {Transform} = require('stream');\n\nclass FilterBase extends Transform {\n static stringFilter(string, separator) {\n return stack => {\n const path = stack.join(separator);\n return (\n (path.length === string.length && path === string) ||\n (path.length > string.length && path.substr(0, string.length) === string && path.substr(string.length, separator.length) === separator)\n );\n };\n }\n\n static regExpFilter(regExp, separator) {\n return stack => regExp.test(stack.join(separator));\n }\n\n static arrayReplacement(array) {\n return () => array;\n }\n\n constructor(options) {\n super(Object.assign({}, options, {writableObjectMode: true, readableObjectMode: true}));\n this._transform = this._check;\n this._stack = [];\n\n const filter = options && options.filter,\n separator = (options && options.pathSeparator) || '.';\n if (typeof filter == 'string') {\n this._filter = FilterBase.stringFilter(filter, separator);\n } else if (typeof filter == 'function') {\n this._filter = filter;\n } else if (filter instanceof RegExp) {\n this._filter = FilterBase.regExpFilter(filter, separator);\n }\n\n const replacement = options && options.replacement;\n if (typeof replacement == 'function') {\n this._replacement = replacement;\n } else {\n this._replacement = FilterBase.arrayReplacement(replacement || FilterBase.defaultReplacement);\n }\n this._allowEmptyReplacement = options && options.allowEmptyReplacement;\n\n this._streamKeys = true;\n if (options) {\n 'streamValues' in options && (this._streamKeys = options.streamValues);\n 'streamKeys' in options && (this._streamKeys = options.streamKeys);\n }\n\n this._once = options && options.once;\n this._previousToken = '';\n }\n\n _check(chunk, _, callback) {\n // update the last stack key\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n case 'startString':\n case 'startNumber':\n case 'nullValue':\n case 'trueValue':\n case 'falseValue':\n if (typeof this._stack[this._stack.length - 1] == 'number') {\n // array\n ++this._stack[this._stack.length - 1];\n }\n break;\n case 'keyValue':\n this._stack[this._stack.length - 1] = chunk.value;\n break;\n case 'numberValue':\n if (this._previousToken !== 'endNumber' && typeof this._stack[this._stack.length - 1] == 'number') {\n // array\n ++this._stack[this._stack.length - 1];\n }\n break;\n case 'stringValue':\n if (this._previousToken !== 'endString' && typeof this._stack[this._stack.length - 1] == 'number') {\n // array\n ++this._stack[this._stack.length - 1];\n }\n break;\n }\n this._previousToken = chunk.name;\n // check, if we allow a chunk\n if (this._checkChunk(chunk)) {\n return callback(null);\n }\n // update the stack\n switch (chunk.name) {\n case 'startObject':\n this._stack.push(null);\n break;\n case 'startArray':\n this._stack.push(-1);\n break;\n case 'endObject':\n case 'endArray':\n this._stack.pop();\n break;\n }\n callback(null);\n }\n\n _passObject(chunk, _, callback) {\n this.push(chunk);\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n ++this._depth;\n break;\n case 'endObject':\n case 'endArray':\n --this._depth;\n break;\n }\n if (!this._depth) {\n this._transform = this._once ? this._skip : this._check;\n }\n callback(null);\n }\n\n _pass(chunk, _, callback) {\n this.push(chunk);\n callback(null);\n }\n\n _skipObject(chunk, _, callback) {\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n ++this._depth;\n break;\n case 'endObject':\n case 'endArray':\n --this._depth;\n break;\n }\n if (!this._depth) {\n this._transform = this._once ? this._pass : this._check;\n }\n callback(null);\n }\n\n _skip(chunk, _, callback) {\n callback(null);\n }\n}\n\nFilterBase.defaultReplacement = [{name: 'nullValue', value: null}];\n\nconst passValue = (last, post) =>\n function(chunk, _, callback) {\n if (this._expected) {\n const expected = this._expected;\n this._expected = '';\n this._transform = this._once ? this._skip : this._check;\n if (expected === chunk.name) {\n this.push(chunk);\n } else {\n return this._transform(chunk, _, callback);\n }\n } else {\n this.push(chunk);\n if (chunk.name === last) {\n this._expected = post;\n }\n }\n callback(null);\n };\n\nFilterBase.prototype._passNumber = passValue('endNumber', 'numberValue');\nFilterBase.prototype._passString = passValue('endString', 'stringValue');\nFilterBase.prototype._passKey = passValue('endKey', 'keyValue');\n\nconst skipValue = (last, post) =>\n function(chunk, _, callback) {\n if (this._expected) {\n const expected = this._expected;\n this._expected = '';\n this._transform = this._once ? this._pass : this._check;\n if (expected !== chunk.name) {\n return this._transform(chunk, _, callback);\n }\n } else {\n if (chunk.name === last) {\n this._expected = post;\n }\n }\n callback(null);\n };\n\nFilterBase.prototype._skipNumber = skipValue('endNumber', 'numberValue');\nFilterBase.prototype._skipString = skipValue('endString', 'stringValue');\nFilterBase.prototype._skipKey = skipValue('endKey', 'keyValue');\n\nmodule.exports = FilterBase;\n", "'use strict';\n\nconst Chain = require('stream-chain');\n\nconst Parser = require('../Parser');\n\nconst withParser = (fn, options) =>\n new Chain([new Parser(options), fn(options)], Object.assign({}, options, {writableObjectMode: false, readableObjectMode: true}));\n\nmodule.exports = withParser;\n", "'use strict';\n\nconst FilterBase = require('./FilterBase');\nconst withParser = require('../utils/withParser');\n\nclass Pick extends FilterBase {\n static make(options) {\n return new Pick(options);\n }\n\n static withParser(options) {\n return withParser(Pick.make, options);\n }\n\n _checkChunk(chunk) {\n switch (chunk.name) {\n case 'startObject':\n case 'startArray':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._passObject;\n this._depth = 1;\n return true;\n }\n break;\n case 'startString':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._passString;\n return true;\n }\n break;\n case 'startNumber':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._passNumber;\n return true;\n }\n break;\n case 'nullValue':\n case 'trueValue':\n case 'falseValue':\n case 'stringValue':\n case 'numberValue':\n if (this._filter(this._stack, chunk)) {\n this.push(chunk);\n this._transform = this._once ? this._skip : this._check;\n return true;\n }\n break;\n }\n return false;\n }\n}\nPick.pick = Pick.make;\nPick.make.Constructor = Pick;\n\nmodule.exports = Pick;\n", "'use strict';\n\nconst EventEmitter = require('events');\n\nconst startObject = Ctr =>\n function () {\n if (this.done) {\n this.done = false;\n } else {\n this.stack.push(this.current, this.key);\n }\n this.current = new Ctr();\n this.key = null;\n };\n\nclass Assembler extends EventEmitter {\n static connectTo(stream, options) {\n return new Assembler(options).connectTo(stream);\n }\n\n constructor(options) {\n super();\n this.stack = [];\n this.current = this.key = null;\n this.done = true;\n if (options) {\n this.reviver = typeof options.reviver == 'function' && options.reviver;\n if (this.reviver) {\n this.stringValue = this._saveValue = this._saveValueWithReviver;\n }\n if (options.numberAsString) {\n this.numberValue = this.stringValue;\n }\n }\n }\n\n connectTo(stream) {\n stream.on('data', chunk => {\n if (this[chunk.name]) {\n this[chunk.name](chunk.value);\n if (this.done) this.emit('done', this);\n }\n });\n return this;\n }\n\n get depth() {\n return (this.stack.length >> 1) + (this.done ? 0 : 1);\n }\n\n get path() {\n const path = [];\n for (let i = 0; i < this.stack.length; i += 2) {\n const key = this.stack[i + 1];\n path.push(key === null ? this.stack[i].length : key);\n }\n return path;\n }\n\n dropToLevel(level) {\n if (level < this.depth) {\n if (level) {\n const index = (level - 1) << 1;\n this.current = this.stack[index];\n this.key = this.stack[index + 1];\n this.stack.splice(index);\n } else {\n this.stack = [];\n this.current = this.key = null;\n this.done = true;\n }\n }\n return this;\n }\n\n consume(chunk) {\n this[chunk.name] && this[chunk.name](chunk.value);\n return this;\n }\n\n keyValue(value) {\n this.key = value;\n }\n\n //stringValue() - aliased below to _saveValue()\n\n numberValue(value) {\n this._saveValue(parseFloat(value));\n }\n nullValue() {\n this._saveValue(null);\n }\n trueValue() {\n this._saveValue(true);\n }\n falseValue() {\n this._saveValue(false);\n }\n\n //startObject() - assigned below\n\n endObject() {\n if (this.stack.length) {\n const value = this.current;\n this.key = this.stack.pop();\n this.current = this.stack.pop();\n this._saveValue(value);\n } else {\n this.done = true;\n }\n }\n\n //startArray() - assigned below\n //endArray() - aliased below to endObject()\n\n _saveValue(value) {\n if (this.done) {\n this.current = value;\n } else {\n if (this.current instanceof Array) {\n this.current.push(value);\n } else {\n this.current[this.key] = value;\n this.key = null;\n }\n }\n }\n _saveValueWithReviver(value) {\n if (this.done) {\n this.current = this.reviver('', value);\n } else {\n if (this.current instanceof Array) {\n value = this.reviver('' + this.current.length, value);\n this.current.push(value);\n if (value === undefined) {\n delete this.current[this.current.length - 1];\n }\n } else {\n value = this.reviver(this.key, value);\n if (value !== undefined) {\n this.current[this.key] = value;\n }\n this.key = null;\n }\n }\n }\n}\n\nAssembler.prototype.stringValue = Assembler.prototype._saveValue;\nAssembler.prototype.startObject = startObject(Object);\nAssembler.prototype.startArray = startObject(Array);\nAssembler.prototype.endArray = Assembler.prototype.endObject;\n\nmodule.exports = Assembler;\n", "'use strict';\n\nconst {Transform} = require('stream');\nconst Assembler = require('../Assembler');\n\nclass Counter {\n constructor(initialDepth) {\n this.depth = initialDepth;\n }\n startObject() {\n ++this.depth;\n }\n endObject() {\n --this.depth;\n }\n startArray() {\n ++this.depth;\n }\n endArray() {\n --this.depth;\n }\n}\n\nclass StreamBase extends Transform {\n constructor(options) {\n super(Object.assign({}, options, {writableObjectMode: true, readableObjectMode: true}));\n if (options) {\n this.objectFilter = options.objectFilter;\n this.includeUndecided = options.includeUndecided;\n }\n if (typeof this.objectFilter != 'function') {\n this._filter = this._transform;\n }\n this._transform = this._wait || this._filter;\n this._assembler = new Assembler(options);\n }\n\n _transform(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n if (this._assembler.depth === this._level) {\n this._push();\n }\n }\n callback(null);\n }\n\n _filter(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n const result = this.objectFilter(this._assembler);\n if (result) {\n if (this._assembler.depth === this._level) {\n this._push();\n this._transform = this._filter;\n }\n this._transform = this._accept;\n return callback(null);\n }\n if (result === false) {\n this._saved_assembler = this._assembler;\n this._assembler = new Counter(this._saved_assembler.depth);\n this._saved_assembler.dropToLevel(this._level);\n if (this._assembler.depth === this._level) {\n this._assembler = this._saved_assembler;\n this._transform = this._filter;\n }\n this._transform = this._reject;\n return callback(null);\n }\n if (this._assembler.depth === this._level) {\n this._push(!this.includeUndecided);\n }\n }\n callback(null);\n }\n\n _accept(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n if (this._assembler.depth === this._level) {\n this._push();\n this._transform = this._filter;\n }\n }\n callback(null);\n }\n\n _reject(chunk, encoding, callback) {\n if (this._assembler[chunk.name]) {\n this._assembler[chunk.name](chunk.value);\n if (this._assembler.depth === this._level) {\n this._assembler = this._saved_assembler;\n this._transform = this._filter;\n }\n }\n callback(null);\n }\n}\n\nmodule.exports = StreamBase;\n", "'use strict';\n\nconst StreamBase = require('./StreamBase');\nconst withParser = require('../utils/withParser');\n\nclass StreamArray extends StreamBase {\n static make(options) {\n return new StreamArray(options);\n }\n\n static withParser(options) {\n return withParser(StreamArray.make, options);\n }\n\n constructor(options) {\n super(options);\n this._level = 1;\n this._counter = 0;\n }\n\n _wait(chunk, _, callback) {\n // first chunk should open an array\n if (chunk.name !== 'startArray') {\n return callback(new Error('Top-level object should be an array.'));\n }\n this._transform = this._filter;\n return this._transform(chunk, _, callback);\n }\n\n _push(discard) {\n if (this._assembler.current.length) {\n if (discard) {\n ++this._counter;\n this._assembler.current.pop();\n } else {\n this.push({key: this._counter++, value: this._assembler.current.pop()});\n }\n }\n }\n}\nStreamArray.streamArray = StreamArray.make;\nStreamArray.make.Constructor = StreamArray;\n\nmodule.exports = StreamArray;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useStreamJSON = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst cross_fetch_1 = __importDefault(require(\"cross-fetch\"));\nconst node_fs_1 = require(\"node:fs\");\nconst promises_1 = require(\"node:fs/promises\");\nconst node_path_1 = require(\"node:path\");\nconst promises_2 = require(\"node:stream/promises\");\nconst react_1 = require(\"react\");\nconst stream_chain_1 = __importDefault(require(\"stream-chain\"));\nconst stream_json_1 = require(\"stream-json\");\nconst Pick_1 = __importDefault(require(\"stream-json/filters/Pick\"));\nconst StreamArray_1 = __importDefault(require(\"stream-json/streamers/StreamArray\"));\nconst fetch_utils_1 = require(\"./fetch-utils\");\nconst useCachedPromise_1 = require(\"./useCachedPromise\");\nconst helpers_1 = require(\"./helpers\");\nasync function cache(url, destination, fetchOptions) {\n if (typeof url === \"object\" || url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\n return await cacheURL(url, destination, fetchOptions);\n }\n else if (url.startsWith(\"file://\")) {\n return await cacheFile((0, node_path_1.normalize)(decodeURIComponent(new URL(url).pathname)), destination, fetchOptions?.signal ? fetchOptions.signal : undefined);\n }\n else {\n throw new Error(\"Only HTTP(S) or file URLs are supported\");\n }\n}\nasync function cacheURL(url, destination, fetchOptions) {\n const response = await (0, cross_fetch_1.default)(url, fetchOptions);\n if (!response.ok) {\n throw new Error(\"Failed to fetch URL\");\n }\n if (!(0, fetch_utils_1.isJSON)(response.headers.get(\"content-type\"))) {\n throw new Error(\"URL does not return JSON\");\n }\n if (!response.body) {\n throw new Error(\"Failed to retrieve expected JSON content: Response body is missing or inaccessible.\");\n }\n await (0, promises_2.pipeline)(response.body, (0, node_fs_1.createWriteStream)(destination), fetchOptions?.signal ? { signal: fetchOptions.signal } : undefined);\n}\nasync function cacheFile(source, destination, abortSignal) {\n await (0, promises_2.pipeline)((0, node_fs_1.createReadStream)(source), (0, node_fs_1.createWriteStream)(destination), abortSignal ? { signal: abortSignal } : undefined);\n}\nasync function cacheURLIfNecessary(url, folder, fileName, forceUpdate, fetchOptions) {\n const destination = (0, node_path_1.join)(folder, fileName);\n try {\n await (0, promises_1.stat)(folder);\n }\n catch (e) {\n (0, node_fs_1.mkdirSync)(folder, { recursive: true });\n await cache(url, destination, fetchOptions);\n return;\n }\n if (forceUpdate) {\n await cache(url, destination, fetchOptions);\n return;\n }\n let stats = undefined;\n try {\n stats = await (0, promises_1.stat)(destination);\n }\n catch (e) {\n await cache(url, destination, fetchOptions);\n return;\n }\n if (typeof url === \"object\" || url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\n const headResponse = await (0, cross_fetch_1.default)(url, { ...fetchOptions, method: \"HEAD\" });\n if (!headResponse.ok) {\n throw new Error(\"Could not fetch URL\");\n }\n if (!(0, fetch_utils_1.isJSON)(headResponse.headers.get(\"content-type\"))) {\n throw new Error(\"URL does not return JSON\");\n }\n const lastModified = Date.parse(headResponse.headers.get(\"last-modified\") ?? \"\");\n if (stats.size === 0 || Number.isNaN(lastModified) || lastModified > stats.mtimeMs) {\n await cache(url, destination, fetchOptions);\n return;\n }\n }\n else if (url.startsWith(\"file://\")) {\n try {\n const sourceStats = await (0, promises_1.stat)((0, node_path_1.normalize)(decodeURIComponent(new URL(url).pathname)));\n if (sourceStats.mtimeMs > stats.mtimeMs) {\n await cache(url, destination, fetchOptions);\n }\n }\n catch (e) {\n throw new Error(\"Source file could not be read\");\n }\n }\n else {\n throw new Error(\"Only HTTP(S) or file URLs are supported\");\n }\n}\nasync function* streamJsonFile(filePath, pageSize, abortSignal, dataPath, filterFn, transformFn) {\n let page = [];\n const pipeline = new stream_chain_1.default([\n (0, node_fs_1.createReadStream)(filePath),\n dataPath ? Pick_1.default.withParser({ filter: dataPath }) : (0, stream_json_1.parser)(),\n new StreamArray_1.default(),\n (data) => transformFn?.(data.value) ?? data.value,\n ]);\n abortSignal?.addEventListener(\"abort\", () => {\n pipeline.destroy();\n });\n try {\n for await (const data of pipeline) {\n if (abortSignal?.aborted) {\n return [];\n }\n if (!filterFn || filterFn(data)) {\n page.push(data);\n }\n if (page.length >= pageSize) {\n yield page;\n page = [];\n }\n }\n }\n catch (e) {\n pipeline.destroy();\n throw e;\n }\n if (page.length > 0) {\n yield page;\n }\n return [];\n}\nfunction useStreamJSON(url, options) {\n const { initialData, execute, keepPreviousData, onError, onData, onWillExecute, failureToastOptions, dataPath, filter, transform, pageSize = 20, ...fetchOptions } = options ?? {};\n const previousUrl = (0, react_1.useRef)();\n const previousDestination = (0, react_1.useRef)();\n const useCachedPromiseOptions = {\n initialData,\n execute,\n keepPreviousData,\n onError,\n onData,\n onWillExecute,\n failureToastOptions,\n };\n const generatorRef = (0, react_1.useRef)(null);\n const controllerRef = (0, react_1.useRef)(null);\n const hasMoreRef = (0, react_1.useRef)(false);\n return (0, useCachedPromise_1.useCachedPromise)((url, pageSize, fetchOptions, dataPath, filter, transform) => async ({ page }) => {\n const fileName = (0, helpers_1.hash)(url) + \".json\";\n const folder = api_1.environment.supportPath;\n if (page === 0) {\n controllerRef.current?.abort();\n controllerRef.current = new AbortController();\n const destination = (0, node_path_1.join)(folder, fileName);\n /**\n * Force update the cache when the URL changes but the cache destination does not.\n */\n const forceCacheUpdate = Boolean(previousUrl.current &&\n previousUrl.current !== url &&\n previousDestination.current &&\n previousDestination.current === destination);\n previousUrl.current = url;\n previousDestination.current = destination;\n await cacheURLIfNecessary(url, folder, fileName, forceCacheUpdate, {\n ...fetchOptions,\n signal: controllerRef.current?.signal,\n });\n generatorRef.current = streamJsonFile(destination, pageSize, controllerRef.current?.signal, dataPath, filter, transform);\n }\n if (!generatorRef.current) {\n return { hasMore: hasMoreRef.current, data: [] };\n }\n const { value: newData, done } = await generatorRef.current.next();\n hasMoreRef.current = !done;\n return { hasMore: hasMoreRef.current, data: (newData ?? []) };\n }, [url, pageSize, fetchOptions, dataPath, filter, transform], useCachedPromiseOptions);\n}\nexports.useStreamJSON = useStreamJSON;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useSQL = void 0;\nconst jsx_runtime_1 = require(\"react/jsx-runtime\");\nconst api_1 = require(\"@raycast/api\");\nconst node_fs_1 = require(\"node:fs\");\nconst promises_1 = require(\"node:fs/promises\");\nconst node_os_1 = __importDefault(require(\"node:os\"));\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst node_path_1 = __importDefault(require(\"node:path\"));\nconst react_1 = require(\"react\");\nconst usePromise_1 = require(\"./usePromise\");\nconst useLatest_1 = require(\"./useLatest\");\nconst exec_utils_1 = require(\"./exec-utils\");\nconst showFailureToast_1 = require(\"./showFailureToast\");\nconst helpers_1 = require(\"./helpers\");\n/**\n * Executes a query on a local SQL database and returns the {@link AsyncState} corresponding to the query of the command. The last value will be kept between command runs.\n *\n * @example\n * ```\n * import { useSQL } from \"@raycast/utils\";\n * import { resolve } from \"path\";\n * import { homedir } from \"os\";\n *\n * const NOTES_DB = resolve(homedir(), \"Library/Group Containers/group.com.apple.notes/NoteStore.sqlite\");\n * const notesQuery = `SELECT id, title FROM ...`;\n * type NoteItem = {\n * id: string;\n * title: string;\n * };\n *\n * export default function Command() {\n * const { isLoading, data, permissionView } = useSQL<NoteItem>(NOTES_DB, notesQuery);\n *\n * if (permissionView) {\n * return permissionView;\n * }\n *\n * return (\n * <List isLoading={isLoading}>\n * {(data || []).map((item) => (\n * <List.Item key={item.id} title={item.title} />\n * ))}\n * </List>\n * );\n * };\n * ```\n */\nfunction useSQL(databasePath, query, options) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { permissionPriming, ...usePromiseOptions } = options || {};\n const [permissionView, setPermissionView] = (0, react_1.useState)();\n const latestOptions = (0, useLatest_1.useLatest)(options || {});\n const abortable = (0, react_1.useRef)();\n const handleError = (0, react_1.useCallback)((_error) => {\n console.error(_error);\n const error = _error instanceof Error && _error.message.includes(\"authorization denied\")\n ? new PermissionError(\"You do not have permission to access the database.\")\n : _error;\n if (isPermissionError(error)) {\n setPermissionView((0, jsx_runtime_1.jsx)(PermissionErrorScreen, { priming: latestOptions.current.permissionPriming }));\n }\n else {\n if (latestOptions.current.onError) {\n latestOptions.current.onError(error);\n }\n else {\n if (api_1.environment.launchType !== api_1.LaunchType.Background) {\n (0, showFailureToast_1.showFailureToast)(error, {\n title: \"Cannot query the data\",\n });\n }\n }\n }\n }, [latestOptions]);\n const fn = (0, react_1.useMemo)(() => {\n if (!(0, node_fs_1.existsSync)(databasePath)) {\n throw new Error(\"The database does not exist\");\n }\n let workaroundCopiedDb = undefined;\n return async (databasePath, query) => {\n const abortSignal = abortable.current?.signal;\n const spawned = node_child_process_1.default.spawn(\"sqlite3\", [\"--json\", \"--readonly\", databasePath, query], {\n signal: abortSignal,\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned);\n let [{ error, exitCode, signal }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf-8\" }, spawnedPromise);\n checkAborted(abortSignal);\n if (stderrResult.match(\"(5)\") || stderrResult.match(\"(14)\")) {\n // That means that the DB is busy because of another app is locking it\n // This happens when Chrome or Arc is opened: they lock the History db.\n // As an ugly workaround, we duplicate the file and read that instead\n // (with vfs unix - none to just not care about locks)\n if (!workaroundCopiedDb) {\n const tempFolder = node_path_1.default.join(node_os_1.default.tmpdir(), \"useSQL\", (0, helpers_1.hash)(databasePath));\n await (0, promises_1.mkdir)(tempFolder, { recursive: true });\n checkAborted(abortSignal);\n workaroundCopiedDb = node_path_1.default.join(tempFolder, \"db.db\");\n await (0, promises_1.copyFile)(databasePath, workaroundCopiedDb);\n // needed for certain db\n await (0, promises_1.writeFile)(workaroundCopiedDb + \"-shm\", \"\");\n await (0, promises_1.writeFile)(workaroundCopiedDb + \"-wal\", \"\");\n checkAborted(abortSignal);\n }\n const spawned = node_child_process_1.default.spawn(\"sqlite3\", [\"--json\", \"--readonly\", \"--vfs\", \"unix-none\", workaroundCopiedDb, query], {\n signal: abortSignal,\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned);\n [{ error, exitCode, signal }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf-8\" }, spawnedPromise);\n checkAborted(abortSignal);\n }\n if (error || exitCode !== 0 || signal !== null) {\n throw new Error(stderrResult);\n }\n return JSON.parse(stdoutResult.trim() || \"[]\");\n };\n }, [databasePath]);\n return {\n ...(0, usePromise_1.usePromise)(fn, [databasePath, query], { ...usePromiseOptions, onError: handleError }),\n permissionView,\n };\n}\nexports.useSQL = useSQL;\nclass PermissionError extends Error {\n constructor(message) {\n super(message);\n this.name = \"PermissionError\";\n }\n}\nfunction isPermissionError(error) {\n return error instanceof Error && error.name === \"PermissionError\";\n}\nconst macosVenturaAndLater = parseInt(node_os_1.default.release().split(\".\")[0]) >= 22;\nconst preferencesString = macosVenturaAndLater ? \"Settings\" : \"Preferences\";\nfunction PermissionErrorScreen(props) {\n const action = macosVenturaAndLater\n ? {\n title: \"Open System Settings -> Privacy\",\n target: \"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles\",\n }\n : {\n title: \"Open System Preferences -> Security\",\n target: \"x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles\",\n };\n if (api_1.environment.commandMode === \"menu-bar\") {\n return ((0, jsx_runtime_1.jsxs)(api_1.MenuBarExtra, { icon: api_1.Icon.Warning, title: api_1.environment.commandName, children: [(0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: \"Raycast needs full disk access\", tooltip: `You can revert this access in ${preferencesString} whenever you want` }), props.priming ? ((0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: props.priming, tooltip: `You can revert this access in ${preferencesString} whenever you want` })) : null, (0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Separator, {}), (0, jsx_runtime_1.jsx)(api_1.MenuBarExtra.Item, { title: action.title, onAction: () => (0, api_1.open)(action.target) })] }));\n }\n return ((0, jsx_runtime_1.jsx)(api_1.List, { children: (0, jsx_runtime_1.jsx)(api_1.List.EmptyView, { icon: {\n source: {\n light: \"https://raycast.com/uploads/extensions-utils-security-permissions-light.png\",\n dark: \"https://raycast.com/uploads/extensions-utils-security-permissions-dark.png\",\n },\n }, title: \"Raycast needs full disk access.\", description: `${props.priming ? props.priming + \"\\n\" : \"\"}You can revert this access in ${preferencesString} whenever you want.`, actions: (0, jsx_runtime_1.jsx)(api_1.ActionPanel, { children: (0, jsx_runtime_1.jsx)(api_1.Action.Open, { ...action }) }) }) }));\n}\nfunction checkAborted(signal) {\n if (signal?.aborted) {\n const error = new Error(\"aborted\");\n error.name = \"AbortError\";\n throw error;\n }\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useForm = exports.FormValidation = void 0;\nconst react_1 = require(\"react\");\nconst useLatest_1 = require(\"./useLatest\");\n/**\n * Shorthands for common validation cases\n */\nvar FormValidation;\n(function (FormValidation) {\n /** Show an error when the value of the item is empty */\n FormValidation[\"Required\"] = \"required\";\n})(FormValidation || (exports.FormValidation = FormValidation = {}));\nfunction validationError(validation, value) {\n if (validation) {\n if (typeof validation === \"function\") {\n return validation(value);\n }\n else if (validation === FormValidation.Required) {\n let valueIsValid = typeof value !== \"undefined\" && value !== null;\n if (valueIsValid) {\n switch (typeof value) {\n case \"string\":\n valueIsValid = value.length > 0;\n break;\n case \"object\":\n if (Array.isArray(value)) {\n valueIsValid = value.length > 0;\n }\n else if (value instanceof Date) {\n valueIsValid = value.getTime() > 0;\n }\n break;\n default:\n break;\n }\n }\n if (!valueIsValid) {\n return \"The item is required\";\n }\n }\n }\n}\n/**\n * Hook that provides a high-level interface to work with Forms, and more particularly, with Form validations. It incorporates all the good practices to provide a great User Experience for your Forms.\n *\n * @returns an object which contains the necessary methods and props to provide a good User Experience in your Form.\n *\n * @example\n * ```\n * import { Action, ActionPanel, Form, showToast, Toast } from \"@raycast/api\";\n * import { useForm, FormValidation } from \"@raycast/utils\";\n *\n * interface SignUpFormValues {\n * nickname: string;\n * password: string;\n * }\n *\n * export default function Command() {\n * const { handleSubmit, itemProps } = useForm<SignUpFormValues>({\n * onSubmit(values) {\n * showToast(Toast.Style.Success, \"Yay!\", `${values.nickname} account created`);\n * },\n * validation: {\n * nickname: FormValidation.Required,\n * password: (value) => {\n * if (value && value.length < 8) {\n * return \"Password must be at least 8 symbols\";\n * } else if (!value) {\n * return \"The item is required\";\n * }\n * },\n * },\n * });\n *\n * return (\n * <Form\n * actions={\n * <ActionPanel>\n * <Action.SubmitForm title=\"Submit\" onSubmit={handleSubmit} />\n * </ActionPanel>\n * }\n * >\n * <Form.TextField title=\"Nickname\" placeholder=\"Enter your nickname\" {...itemProps.nickname} />\n * <Form.PasswordField\n * title=\"Password\"\n * placeholder=\"Enter password at least 8 characters long\"\n * {...itemProps.password}\n * />\n * </Form>\n * );\n * }\n * ```\n */\nfunction useForm(props) {\n const { onSubmit: _onSubmit, validation, initialValues = {} } = props;\n // @ts-expect-error it's fine if we don't specify all the values\n const [values, setValues] = (0, react_1.useState)(initialValues);\n const [errors, setErrors] = (0, react_1.useState)({});\n const refs = (0, react_1.useRef)({});\n const latestValidation = (0, useLatest_1.useLatest)(validation || {});\n const latestOnSubmit = (0, useLatest_1.useLatest)(_onSubmit);\n const focus = (0, react_1.useCallback)((id) => {\n refs.current[id]?.focus();\n }, [refs]);\n const handleSubmit = (0, react_1.useCallback)(async (values) => {\n let validationErrors = false;\n for (const [id, validation] of Object.entries(latestValidation.current)) {\n const error = validationError(validation, values[id]);\n if (error) {\n if (!validationErrors) {\n validationErrors = {};\n // we focus the first item that has an error\n focus(id);\n }\n validationErrors[id] = error;\n }\n }\n if (validationErrors) {\n setErrors(validationErrors);\n return false;\n }\n const result = await latestOnSubmit.current(values);\n return typeof result === \"boolean\" ? result : true;\n }, [latestValidation, latestOnSubmit, focus]);\n const setValidationError = (0, react_1.useCallback)((id, error) => {\n setErrors((errors) => ({ ...errors, [id]: error }));\n }, [setErrors]);\n const setValue = (0, react_1.useCallback)(function (id, value) {\n // @ts-expect-error TS is always confused about SetStateAction, but it's fine here\n setValues((values) => ({ ...values, [id]: typeof value === \"function\" ? value(values[id]) : value }));\n }, [setValues]);\n const itemProps = (0, react_1.useMemo)(() => {\n // we have to use a proxy because we don't actually have any object to iterate through\n // so instead we dynamically create the props when required\n return new Proxy(\n // @ts-expect-error the whole point of a proxy...\n {}, {\n get(target, id) {\n const validation = latestValidation.current[id];\n const value = values[id];\n return {\n onChange(value) {\n if (errors[id]) {\n const error = validationError(validation, value);\n if (!error) {\n setValidationError(id, undefined);\n }\n }\n setValue(id, value);\n },\n onBlur(event) {\n const error = validationError(validation, event.target.value);\n if (error) {\n setValidationError(id, error);\n }\n },\n error: errors[id],\n id,\n // we shouldn't return `undefined` otherwise it will be an uncontrolled component\n value: typeof value === \"undefined\" ? null : value,\n ref: (instance) => {\n refs.current[id] = instance;\n },\n };\n },\n });\n }, [errors, latestValidation, setValidationError, values, refs, setValue]);\n const reset = (0, react_1.useCallback)((values) => {\n setErrors({});\n Object.entries(refs.current).forEach(([id, ref]) => {\n if (!values?.[id]) {\n ref?.reset();\n }\n });\n if (values) {\n // @ts-expect-error it's fine if we don't specify all the values\n setValues(values);\n }\n }, [setValues, setErrors, refs]);\n return { handleSubmit, setValidationError, setValue, values, itemProps, focus, reset };\n}\nexports.useForm = useForm;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useAI = void 0;\nconst react_1 = require(\"react\");\nconst api_1 = require(\"@raycast/api\");\nconst usePromise_1 = require(\"./usePromise\");\n/**\n * Stream a prompt completion.\n *\n * @example\n * ```typescript\n * import { Detail, LaunchProps } from \"@raycast/api\";\n * import { use AI } from \"@raycast/utils\";\n *\n * export default function Command(props: LaunchProps<{ arguments: { prompt: string } }>) {\n * const { isLoading, data } = useAI(props.arguments.prompt);\n *\n * return <Detail isLoading={isLoading} markdown={data} />;\n * }\n * ```\n */\nfunction useAI(prompt, options = {}) {\n const { creativity, stream, model, ...usePromiseOptions } = options;\n const [data, setData] = (0, react_1.useState)(\"\");\n const abortable = (0, react_1.useRef)();\n const { isLoading, error, revalidate } = (0, usePromise_1.usePromise)(async (prompt, creativity, shouldStream) => {\n setData(\"\");\n const stream = api_1.AI.ask(prompt, { creativity, model, signal: abortable.current?.signal });\n if (shouldStream === false) {\n setData(await stream);\n }\n else {\n stream.on(\"data\", (data) => {\n setData((x) => x + data);\n });\n await stream;\n }\n }, [prompt, creativity, stream], { ...usePromiseOptions, abortable });\n return { isLoading, data, error, revalidate };\n}\nexports.useAI = useAI;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFrecencySorting = void 0;\nconst react_1 = require(\"react\");\nconst useLatest_1 = require(\"./useLatest\");\nconst useCachedState_1 = require(\"./useCachedState\");\nconst HALF_LIFE_DAYS = 10;\nconst MS_PER_DAY = 24 * 60 * 60 * 1000;\nconst DECAY_RATE_CONSTANT = Math.log(2) / (HALF_LIFE_DAYS * MS_PER_DAY);\nconst VISIT_TYPE_POINTS = {\n Default: 100,\n Embed: 0,\n Bookmark: 140,\n};\nfunction getNewFrecency(item) {\n const now = Date.now();\n const lastVisited = item ? item.lastVisited : 0;\n const frecency = item ? item.frecency : 0;\n const visitAgeInDays = (now - lastVisited) / MS_PER_DAY;\n const currentVisitValue = VISIT_TYPE_POINTS.Default * Math.exp(-DECAY_RATE_CONSTANT * visitAgeInDays);\n const totalVisitValue = frecency + currentVisitValue;\n return {\n lastVisited: now,\n frecency: totalVisitValue,\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst defaultKey = (item) => {\n if (process.env.NODE_ENV !== \"production\" &&\n (typeof item !== \"object\" || !item || !(\"id\" in item) || typeof item.id != \"string\")) {\n throw new Error(\"Specify a key function or make sure your items have an 'id' property\");\n }\n return item.id;\n};\nfunction useFrecencySorting(data, options) {\n const keyRef = (0, useLatest_1.useLatest)(options?.key || defaultKey);\n const sortUnvisitedRef = (0, useLatest_1.useLatest)(options?.sortUnvisited);\n const [storedFrecencies, setStoredFrecencies] = (0, useCachedState_1.useCachedState)(`raycast_frecency_${options?.namespace}`, {});\n const visitItem = (0, react_1.useCallback)(async function updateFrecency(item) {\n const itemKey = keyRef.current(item);\n setStoredFrecencies((storedFrecencies) => {\n const frecency = storedFrecencies[itemKey];\n const newFrecency = getNewFrecency(frecency);\n return {\n ...storedFrecencies,\n [itemKey]: newFrecency,\n };\n });\n }, [keyRef, setStoredFrecencies]);\n const resetRanking = (0, react_1.useCallback)(async function removeFrecency(item) {\n const itemKey = keyRef.current(item);\n setStoredFrecencies((storedFrecencies) => {\n const newFrencencies = { ...storedFrecencies };\n delete newFrencencies[itemKey];\n return newFrencencies;\n });\n }, [keyRef, setStoredFrecencies]);\n const sortedData = (0, react_1.useMemo)(() => {\n if (!data) {\n return [];\n }\n return data.sort((a, b) => {\n const frecencyA = storedFrecencies[keyRef.current(a)];\n const frecencyB = storedFrecencies[keyRef.current(b)];\n // If a has a frecency, but b doesn't, a should come first\n if (frecencyA && !frecencyB) {\n return -1;\n }\n // If b has a frecency, but a doesn't, b should come first\n if (!frecencyA && frecencyB) {\n return 1;\n }\n // If both frecencies are defined,put the one with the higher frecency first\n if (frecencyA && frecencyB) {\n return frecencyB.frecency - frecencyA.frecency;\n }\n // If both frecencies are undefined, keep the original order\n return sortUnvisitedRef.current ? sortUnvisitedRef.current(a, b) : 0;\n });\n }, [storedFrecencies, data, keyRef, sortUnvisitedRef]);\n return { data: sortedData, visitItem, resetRanking };\n}\nexports.useFrecencySorting = useFrecencySorting;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLocalStorage = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst showFailureToast_1 = require(\"./showFailureToast\");\nconst helpers_1 = require(\"./helpers\");\nconst usePromise_1 = require(\"./usePromise\");\n/**\n * A hook to manage a value in the local storage.\n *\n * @remark The value is stored as a JSON string in the local storage.\n *\n * @param key - The key to use for the value in the local storage.\n * @param initialValue - The initial value to use if the key doesn't exist in the local storage.\n * @returns An object with the following properties:\n * - `value`: The value from the local storage or the initial value if the key doesn't exist.\n * - `setValue`: A function to update the value in the local storage.\n * - `removeValue`: A function to remove the value from the local storage.\n * - `isLoading`: A boolean indicating if the value is loading.\n *\n * @example\n * ```\n * const { value, setValue } = useLocalStorage<string>(\"my-key\");\n * const { value, setValue } = useLocalStorage<string>(\"my-key\", \"default value\");\n * ```\n */\nfunction useLocalStorage(key, initialValue) {\n const { data: value, isLoading, mutate, } = (0, usePromise_1.usePromise)(async (storageKey) => {\n const item = await api_1.LocalStorage.getItem(storageKey);\n return typeof item !== \"undefined\" ? JSON.parse(item, helpers_1.reviver) : initialValue;\n }, [key]);\n async function setValue(value) {\n try {\n await mutate(api_1.LocalStorage.setItem(key, JSON.stringify(value, helpers_1.replacer)), {\n optimisticUpdate(value) {\n return value;\n },\n });\n }\n catch (error) {\n await (0, showFailureToast_1.showFailureToast)(error, { title: \"Failed to set value in local storage\" });\n }\n }\n async function removeValue() {\n try {\n await mutate(api_1.LocalStorage.removeItem(key), {\n optimisticUpdate() {\n return undefined;\n },\n });\n }\n catch (error) {\n await (0, showFailureToast_1.showFailureToast)(error, { title: \"Failed to remove value from local storage\" });\n }\n }\n return { value, setValue, removeValue, isLoading };\n}\nexports.useLocalStorage = useLocalStorage;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.slightlyLighterColor = exports.slightlyDarkerColor = void 0;\nfunction hexToRGB(hex) {\n let r = 0;\n let g = 0;\n let b = 0;\n // 3 digits\n if (hex.length === 4) {\n r = parseInt(`${hex[1]}${hex[1]}`, 16);\n g = parseInt(`${hex[2]}${hex[2]}`, 16);\n b = parseInt(`${hex[3]}${hex[3]}`, 16);\n // 6 digits\n }\n else if (hex.length === 7) {\n r = parseInt(`${hex[1]}${hex[2]}`, 16);\n g = parseInt(`${hex[3]}${hex[4]}`, 16);\n b = parseInt(`${hex[5]}${hex[6]}`, 16);\n }\n else {\n throw new Error(`Malformed hex color: ${hex}`);\n }\n return { r, g, b };\n}\nfunction rgbToHex({ r, g, b }) {\n let rString = r.toString(16);\n let gString = g.toString(16);\n let bString = b.toString(16);\n if (rString.length === 1) {\n rString = `0${rString}`;\n }\n if (gString.length === 1) {\n gString = `0${gString}`;\n }\n if (bString.length === 1) {\n bString = `0${bString}`;\n }\n return `#${rString}${gString}${bString}`;\n}\nfunction rgbToHSL({ r, g, b }) {\n // Make r, g, and b fractions of 1\n r /= 255;\n g /= 255;\n b /= 255;\n // Find greatest and smallest channel values\n const cmin = Math.min(r, g, b);\n const cmax = Math.max(r, g, b);\n const delta = cmax - cmin;\n let h = 0;\n let s = 0;\n let l = 0;\n // Calculate hue\n // No difference\n if (delta === 0) {\n h = 0;\n }\n // Red is max\n else if (cmax === r) {\n h = ((g - b) / delta) % 6;\n }\n // Green is max\n else if (cmax === g) {\n h = (b - r) / delta + 2;\n }\n // Blue is max\n else {\n h = (r - g) / delta + 4;\n }\n h = Math.round(h * 60);\n // Make negative hues positive behind 360\u00B0\n if (h < 0) {\n h += 360;\n }\n // Calculate lightness\n l = (cmax + cmin) / 2;\n // Calculate saturation\n s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));\n // Multiply l and s by 100\n s = +(s * 100).toFixed(1);\n l = +(l * 100).toFixed(1);\n return { h, s, l };\n}\nfunction hslToRGB({ h, s, l }) {\n // Must be fractions of 1\n s /= 100;\n l /= 100;\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = l - c / 2;\n let r = 0;\n let g = 0;\n let b = 0;\n if (h >= 0 && h < 60) {\n r = c;\n g = x;\n b = 0;\n }\n else if (h >= 60 && h < 120) {\n r = x;\n g = c;\n b = 0;\n }\n else if (h >= 120 && h < 180) {\n r = 0;\n g = c;\n b = x;\n }\n else if (h >= 180 && h < 240) {\n r = 0;\n g = x;\n b = c;\n }\n else if (h >= 240 && h < 300) {\n r = x;\n g = 0;\n b = c;\n }\n else if (h >= 300 && h < 360) {\n r = c;\n g = 0;\n b = x;\n }\n r = Math.round((r + m) * 255);\n g = Math.round((g + m) * 255);\n b = Math.round((b + m) * 255);\n return { r, g, b };\n}\nfunction hexToHSL(hex) {\n return rgbToHSL(hexToRGB(hex));\n}\nfunction hslToHex(hsl) {\n return rgbToHex(hslToRGB(hsl));\n}\nfunction clamp(value, min, max) {\n return min < max ? (value < min ? min : value > max ? max : value) : value < max ? max : value > min ? min : value;\n}\nconst offset = 12;\nfunction slightlyDarkerColor(hex) {\n const hsl = hexToHSL(hex);\n return hslToHex({\n h: hsl.h,\n s: hsl.s,\n l: clamp(hsl.l - offset, 0, 100),\n });\n}\nexports.slightlyDarkerColor = slightlyDarkerColor;\nfunction slightlyLighterColor(hex) {\n const hsl = hexToHSL(hex);\n return hslToHex({\n h: hsl.h,\n s: hsl.s,\n l: clamp(hsl.l + offset, 0, 100),\n });\n}\nexports.slightlyLighterColor = slightlyLighterColor;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAvatarIcon = void 0;\nconst color_1 = require(\"./color\");\nfunction getWholeCharAndI(str, i) {\n const code = str.charCodeAt(i);\n if (Number.isNaN(code)) {\n return [\"\", i];\n }\n if (code < 0xd800 || code > 0xdfff) {\n return [str.charAt(i), i]; // Normal character, keeping 'i' the same\n }\n // High surrogate (could change last hex to 0xDB7F to treat high private\n // surrogates as single characters)\n if (0xd800 <= code && code <= 0xdbff) {\n if (str.length <= i + 1) {\n throw new Error(\"High surrogate without following low surrogate\");\n }\n const next = str.charCodeAt(i + 1);\n if (0xdc00 > next || next > 0xdfff) {\n throw new Error(\"High surrogate without following low surrogate\");\n }\n return [str.charAt(i) + str.charAt(i + 1), i + 1];\n }\n // Low surrogate (0xDC00 <= code && code <= 0xDFFF)\n if (i === 0) {\n throw new Error(\"Low surrogate without preceding high surrogate\");\n }\n const prev = str.charCodeAt(i - 1);\n // (could change last hex to 0xDB7F to treat high private surrogates\n // as single characters)\n if (0xd800 > prev || prev > 0xdbff) {\n throw new Error(\"Low surrogate without preceding high surrogate\");\n }\n // Return the next character instead (and increment)\n return [str.charAt(i + 1), i + 1];\n}\nconst avatarColorSet = [\n \"#DC829A\",\n \"#D64854\",\n \"#D47600\",\n \"#D36CDD\",\n \"#52A9E4\",\n \"#7871E8\",\n \"#70920F\",\n \"#43B93A\",\n \"#EB6B3E\",\n \"#26B795\",\n \"#D85A9B\",\n \"#A067DC\",\n \"#BD9500\",\n \"#5385D9\", // Blue\n];\n/**\n * Icon to represent an avatar when you don't have one. The generated avatar\n * will be generated from the initials of the name and have a colorful but consistent background.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getAvatarIcon('Mathieu Dutour')} title=\"Project\" />\n * ```\n */\nfunction getAvatarIcon(name, options) {\n const words = name.trim().split(\" \");\n let initials;\n if (words.length == 1 && getWholeCharAndI(words[0], 0)[0]) {\n initials = getWholeCharAndI(words[0], 0)[0];\n }\n else if (words.length > 1) {\n const firstWordFirstLetter = getWholeCharAndI(words[0], 0)[0] || \"\";\n const lastWordFirstLetter = getWholeCharAndI(words[words.length - 1], 0)[0] ?? \"\";\n initials = firstWordFirstLetter + lastWordFirstLetter;\n }\n else {\n initials = \"\";\n }\n let backgroundColor;\n if (options?.background) {\n backgroundColor = options?.background;\n }\n else {\n let initialsCharIndex = 0;\n let [char, i] = getWholeCharAndI(initials, 0);\n while (char) {\n initialsCharIndex += char.charCodeAt(0);\n [char, i] = getWholeCharAndI(initials, i + 1);\n }\n const colorIndex = initialsCharIndex % avatarColorSet.length;\n backgroundColor = avatarColorSet[colorIndex];\n }\n const padding = 0;\n const radius = 50 - padding;\n const svg = `<svg width=\"100px\" height=\"100px\">\n ${options?.gradient !== false\n ? `<defs>\n <linearGradient id=\"Gradient\" x1=\"0.25\" x2=\"0.75\" y1=\"0\" y2=\"1\">\n <stop offset=\"0%\" stop-color=\"${(0, color_1.slightlyLighterColor)(backgroundColor)}\"/>\n <stop offset=\"50%\" stop-color=\"${backgroundColor}\"/>\n <stop offset=\"100%\" stop-color=\"${(0, color_1.slightlyDarkerColor)(backgroundColor)}\"/>\n </linearGradient>\n </defs>`\n : \"\"}\n <circle cx=\"50\" cy=\"50\" r=\"${radius}\" fill=\"${options?.gradient !== false ? \"url(#Gradient)\" : backgroundColor}\" />\n ${initials\n ? `<text x=\"50\" y=\"80\" font-size=\"${radius - 1}\" font-family=\"Inter, sans-serif\" text-anchor=\"middle\" fill=\"white\">${initials.toUpperCase()}</text>`\n : \"\"}\n </svg>\n `.replaceAll(\"\\n\", \"\");\n return `data:image/svg+xml,${svg}`;\n}\nexports.getAvatarIcon = getAvatarIcon;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFavicon = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst url_1 = require(\"url\");\n/**\n * Icon showing the favicon of a website.\n *\n * A favicon (favorite icon) is a tiny icon included along with a website, which is displayed in places like the browser's address bar, page tabs, and bookmarks menu.\n *\n * @param url The URL of the website to represent.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getFavicon(\"https://raycast.com\")} title=\"Raycast Website\" />\n * ```\n */\nfunction getFavicon(url, options) {\n try {\n const urlObj = typeof url === \"string\" ? new url_1.URL(url) : url;\n const hostname = urlObj.hostname;\n return {\n source: `https://www.google.com/s2/favicons?sz=${options?.size ?? 64}&domain=${hostname}`,\n fallback: options?.fallback ?? api_1.Icon.Link,\n mask: options?.mask,\n };\n }\n catch (e) {\n console.error(e);\n return api_1.Icon.Link;\n }\n}\nexports.getFavicon = getFavicon;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getProgressIcon = void 0;\nconst api_1 = require(\"@raycast/api\");\nfunction polarToCartesian(centerX, centerY, radius, angleInDegrees) {\n const angleInRadians = ((angleInDegrees - 90) * Math.PI) / 180.0;\n return {\n x: centerX + radius * Math.cos(angleInRadians),\n y: centerY + radius * Math.sin(angleInRadians),\n };\n}\nfunction describeArc(x, y, radius, startAngle, endAngle) {\n const start = polarToCartesian(x, y, radius, endAngle);\n const end = polarToCartesian(x, y, radius, startAngle);\n const largeArcFlag = endAngle - startAngle <= 180 ? \"0\" : \"1\";\n const d = [\"M\", start.x, start.y, \"A\", radius, radius, 0, largeArcFlag, 0, end.x, end.y].join(\" \");\n return d;\n}\n/**\n * Icon to represent the progress of _something_.\n *\n * @param progress Number between 0 and 1.\n * @param color Hex color (default `\"#FF6363\"`) or Color.\n *\n * @returns an Image that can be used where Raycast expects them.\n *\n * @example\n * ```\n * <List.Item icon={getProgressIcon(0.1)} title=\"Project\" />\n * ```\n */\nfunction getProgressIcon(progress, color = api_1.Color.Red, options) {\n const background = options?.background || (api_1.environment.appearance === \"light\" ? \"black\" : \"white\");\n const backgroundOpacity = options?.backgroundOpacity || 0.1;\n const stroke = 10;\n const padding = 5;\n const radius = 50 - padding - stroke / 2;\n const svg = `<svg width=\"100px\" height=\"100px\">\n <circle cx=\"50\" cy=\"50\" r=\"${radius}\" stroke-width=\"${stroke}\" stroke=\"${progress < 1 ? background : color}\" opacity=\"${progress < 1 ? backgroundOpacity : \"1\"}\" fill=\"none\" />\n ${progress > 0 && progress < 1\n ? `<path d=\"${describeArc(50, 50, radius, 0, progress * 360)}\" stroke=\"${color}\" stroke-width=\"${stroke}\" fill=\"none\" />`\n : \"\"}\n </svg>\n `.replaceAll(\"\\n\", \"\");\n return `data:image/svg+xml,${svg}`;\n}\nexports.getProgressIcon = getProgressIcon;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./avatar\"), exports);\n__exportStar(require(\"./favicon\"), exports);\n__exportStar(require(\"./progress\"), exports);\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.zoomService = exports.slackService = exports.linearService = exports.jiraService = exports.googleService = exports.githubService = exports.asanaService = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst OAuthService_1 = require(\"./OAuthService\");\nconst PROVIDER_CLIENT_IDS = {\n asana: \"1191201745684312\",\n github: \"7235fe8d42157f1f38c0\",\n linear: \"c8ff37b9225c3c9aefd7d66ea0e5b6f1\",\n slack: \"851756884692.5546927290212\",\n};\nconst getIcon = (markup) => `data:image/svg+xml,${markup}`;\nconst PROVIDERS_ICONS = {\n asana: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"251\" height=\"232\" fill=\"none\"><path fill=\"#F06A6A\" d=\"M179.383 54.373c0 30.017-24.337 54.374-54.354 54.374-30.035 0-54.373-24.338-54.373-54.374C70.656 24.338 94.993 0 125.029 0c30.017 0 54.354 24.338 54.354 54.373ZM54.393 122.33C24.376 122.33.02 146.668.02 176.685c0 30.017 24.337 54.373 54.373 54.373 30.035 0 54.373-24.338 54.373-54.373 0-30.017-24.338-54.355-54.373-54.355Zm141.253 0c-30.035 0-54.373 24.338-54.373 54.374 0 30.035 24.338 54.373 54.373 54.373 30.017 0 54.374-24.338 54.374-54.373 0-30.036-24.338-54.374-54.374-54.374Z\"/></svg>`),\n github: {\n source: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64\" height=\"64\" viewBox=\"0 0 16 16\"><path fill-rule=\"evenodd\" d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z\"/></svg>`),\n tintColor: api_1.Color.PrimaryText,\n },\n google: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"display:block\" viewBox=\"0 0 48 48\"><path fill=\"#EA4335\" d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"/><path fill=\"#4285F4\" d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"/><path fill=\"#FBBC05\" d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"/><path fill=\"#34A853\" d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"/><path fill=\"none\" d=\"M0 0h48v48H0z\"/></svg>`),\n jira: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"2361\" height=\"2500\" viewBox=\"2.59 0 214.091 224\"><linearGradient id=\"a\" x1=\"102.4\" x2=\"56.15\" y1=\"218.63\" y2=\"172.39\" gradientTransform=\"matrix(1 0 0 -1 0 264)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".18\" stop-color=\"#0052cc\"/><stop offset=\"1\" stop-color=\"#2684ff\"/></linearGradient><linearGradient xlink:href=\"#a\" id=\"b\" x1=\"114.65\" x2=\"160.81\" y1=\"85.77\" y2=\"131.92\"/><path fill=\"#2684ff\" d=\"M214.06 105.73 117.67 9.34 108.33 0 35.77 72.56 2.59 105.73a8.89 8.89 0 0 0 0 12.54l66.29 66.29L108.33 224l72.55-72.56 1.13-1.12 32.05-32a8.87 8.87 0 0 0 0-12.59zm-105.73 39.39L75.21 112l33.12-33.12L141.44 112z\"/><path fill=\"url(#a)\" d=\"M108.33 78.88a55.75 55.75 0 0 1-.24-78.61L35.62 72.71l39.44 39.44z\"/><path fill=\"url(#b)\" d=\"m141.53 111.91-33.2 33.21a55.77 55.77 0 0 1 0 78.86L181 151.35z\"/></svg>`),\n linear: {\n source: {\n light: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#222326\" width=\"200\" height=\"200\" viewBox=\"0 0 100 100\"><path d=\"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z\"/></svg>`),\n dark: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#fff\" width=\"200\" height=\"200\" viewBox=\"0 0 100 100\"><path d=\"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z\" /></svg>`),\n },\n },\n slack: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"73 73 124 124\"><style>.st0{fill:#e01e5a}.st1{fill:#36c5f0}.st2{fill:#2eb67d}.st3{fill:#ecb22e}</style><path d=\"M99.4 151.2c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h12.9v12.9zM105.9 151.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9v-32.3z\" class=\"st0\"/><path d=\"M118.8 99.4c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v12.9h-12.9zM118.8 105.9c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H86.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3z\" class=\"st1\"/><path d=\"M170.6 118.8c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9h-12.9v-12.9zM164.1 118.8c0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9V86.5c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9v32.3z\" class=\"st2\"/><path d=\"M151.2 170.6c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.8-12.9-12.9v-12.9h12.9zM151.2 164.1c-7.1 0-12.9-5.8-12.9-12.9 0-7.1 5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9h-32.3z\" class=\"st3\"/></svg>`),\n zoom: getIcon(`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 351.845 80\"><path d=\"M73.786 78.835H10.88A10.842 10.842 0 0 1 .833 72.122a10.841 10.841 0 0 1 2.357-11.85L46.764 16.7h-31.23C6.954 16.699 0 9.744 0 1.165h58.014c4.414 0 8.357 2.634 10.046 6.712a10.843 10.843 0 0 1-2.356 11.85L22.13 63.302h36.122c8.58 0 15.534 6.955 15.534 15.534Zm278.059-48.544C351.845 13.588 338.256 0 321.553 0c-8.934 0-16.975 3.89-22.524 10.063C293.48 3.89 285.44 0 276.505 0c-16.703 0-30.291 13.588-30.291 30.291v48.544c8.579 0 15.534-6.955 15.534-15.534v-33.01c0-8.137 6.62-14.757 14.757-14.757s14.757 6.62 14.757 14.757v33.01c0 8.58 6.955 15.534 15.534 15.534V30.291c0-8.137 6.62-14.757 14.757-14.757s14.758 6.62 14.758 14.757v33.01c0 8.58 6.954 15.534 15.534 15.534V30.291ZM238.447 40c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.908-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S173.98 26.488 173.98 40s10.953 24.466 24.466 24.466S222.913 53.512 222.913 40Zm-70.68 0c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40Zm-15.534 0c0-13.512-10.954-24.466-24.466-24.466S87.767 26.488 87.767 40s10.954 24.466 24.466 24.466S136.699 53.512 136.699 40Z\" style=\"fill:#0b5cff\"/></svg>`),\n};\nconst asanaService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Asana\",\n providerIcon: PROVIDERS_ICONS.asana,\n providerId: \"asana\",\n description: \"Connect your Asana account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.asana,\n authorizeUrl: options.authorizeUrl ?? \"https://asana.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://asana.oauth.raycast.com/token\",\n refreshTokenUrl: options.refreshTokenUrl ?? \"https://asana.oauth.raycast.com/refresh-token\",\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.asanaService = asanaService;\nconst githubService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"GitHub\",\n providerIcon: PROVIDERS_ICONS.github,\n providerId: \"github\",\n description: \"Connect your GitHub account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.github,\n authorizeUrl: options.authorizeUrl ?? \"https://github.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://github.oauth.raycast.com/token\",\n refreshTokenUrl: options.refreshTokenUrl ?? \"https://github.oauth.raycast.com/refresh-token\",\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.githubService = githubService;\nconst googleService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.AppURI,\n providerName: \"Google\",\n providerIcon: PROVIDERS_ICONS.google,\n providerId: \"google\",\n description: \"Connect your Google account\",\n }),\n clientId: options.clientId,\n authorizeUrl: options.authorizeUrl ?? \"https://accounts.google.com/o/oauth2/v2/auth\",\n tokenUrl: options.tokenUrl ?? \"https://oauth2.googleapis.com/token\",\n refreshTokenUrl: options.tokenUrl,\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n bodyEncoding: options.bodyEncoding ?? \"url-encoded\",\n onAuthorize: options.onAuthorize,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.googleService = googleService;\nconst jiraService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Jira\",\n providerIcon: PROVIDERS_ICONS.jira,\n providerId: \"jira\",\n description: \"Connect your Jira account\",\n }),\n clientId: options.clientId,\n authorizeUrl: options.authorizeUrl ?? \"https://auth.atlassian.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://auth.atlassian.com/oauth/token\",\n refreshTokenUrl: options.refreshTokenUrl,\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.jiraService = jiraService;\nconst linearService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Linear\",\n providerIcon: PROVIDERS_ICONS.linear,\n providerId: \"linear\",\n description: \"Connect your Linear account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.linear,\n authorizeUrl: options.authorizeUrl ?? \"https://linear.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://linear.oauth.raycast.com/token\",\n refreshTokenUrl: options.refreshTokenUrl ?? \"https://linear.oauth.raycast.com/refresh-token\",\n scope: options.scope,\n extraParameters: {\n actor: \"user\",\n },\n onAuthorize: options.onAuthorize,\n bodyEncoding: options.bodyEncoding,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.linearService = linearService;\nconst slackService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Slack\",\n providerIcon: PROVIDERS_ICONS.slack,\n providerId: \"slack\",\n description: \"Connect your Slack account\",\n }),\n clientId: options.clientId ?? PROVIDER_CLIENT_IDS.slack,\n authorizeUrl: options.authorizeUrl ?? \"https://slack.oauth.raycast.com/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://slack.oauth.raycast.com/token\",\n refreshTokenUrl: options.tokenUrl ?? \"https://slack.oauth.raycast.com/refresh-token\",\n scope: \"\",\n extraParameters: {\n user_scope: options.scope,\n },\n personalAccessToken: options.personalAccessToken,\n bodyEncoding: options.tokenUrl ? options.bodyEncoding ?? \"url-encoded\" : \"json\",\n onAuthorize: options.onAuthorize,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n tokenResponseParser: options.tokenResponseParser ??\n ((response) => {\n return {\n access_token: response.authed_user.access_token,\n scope: response.authed_user.scope,\n };\n }),\n});\nexports.slackService = slackService;\nconst zoomService = (options) => new OAuthService_1.OAuthService({\n client: new api_1.OAuth.PKCEClient({\n redirectMethod: api_1.OAuth.RedirectMethod.Web,\n providerName: \"Zoom\",\n providerIcon: PROVIDERS_ICONS.zoom,\n providerId: \"zoom\",\n description: \"Connect your Zoom account\",\n }),\n clientId: options.clientId,\n authorizeUrl: options.authorizeUrl ?? \"https://zoom.us/oauth/authorize\",\n tokenUrl: options.tokenUrl ?? \"https://zoom.us/oauth/token\",\n refreshTokenUrl: options.refreshTokenUrl,\n scope: options.scope,\n personalAccessToken: options.personalAccessToken,\n bodyEncoding: options.bodyEncoding ?? \"url-encoded\",\n onAuthorize: options.onAuthorize,\n tokenRefreshResponseParser: options.tokenRefreshResponseParser,\n tokenResponseParser: options.tokenResponseParser,\n});\nexports.zoomService = zoomService;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OAuthService = void 0;\nconst cross_fetch_1 = __importDefault(require(\"cross-fetch\"));\nconst providers_1 = require(\"./providers\");\n/**\n * Class allowing to create an OAuth service using the the PKCE (Proof Key for Code Exchange) flow.\n *\n * This service is capable of starting the authorization process, fetching and refreshing tokens,\n * as well as managing the authentication state.\n *\n * @example\n * ```typescript\n * const oauthClient = new OAuth.PKCEClient({ ... });\n * const oauthService = new OAuthService({\n * client: oauthClient,\n * clientId: 'your-client-id',\n * scope: 'required scopes',\n * authorizeUrl: 'https://provider.com/oauth/authorize',\n * tokenUrl: 'https://provider.com/oauth/token',\n * refreshTokenUrl: 'https://provider.com/oauth/token',\n * extraParameters: { 'additional_param': 'value' }\n * });\n * ```\n */\nclass OAuthService {\n constructor(options) {\n this.clientId = options.clientId;\n this.scope = Array.isArray(options.scope) ? options.scope.join(\" \") : options.scope;\n this.personalAccessToken = options.personalAccessToken;\n this.bodyEncoding = options.bodyEncoding;\n this.client = options.client;\n this.extraParameters = options.extraParameters;\n this.authorizeUrl = options.authorizeUrl;\n this.tokenUrl = options.tokenUrl;\n this.refreshTokenUrl = options.refreshTokenUrl;\n this.onAuthorize = options.onAuthorize;\n this.tokenResponseParser = options.tokenResponseParser ?? ((x) => x);\n this.tokenRefreshResponseParser = options.tokenRefreshResponseParser ?? ((x) => x);\n this.authorize = this.authorize.bind(this);\n }\n /**\n * Initiates the OAuth authorization process or refreshes existing tokens if necessary.\n * If the current token set has a refresh token and it is expired, then the function will refresh the tokens.\n * If no tokens exist, it will initiate the OAuth authorization process and fetch the tokens.\n *\n * @returns {Promise<string>} A promise that resolves with the access token obtained from the authorization flow, or null if the token could not be obtained.\n */\n async authorize() {\n const currentTokenSet = await this.client.getTokens();\n if (currentTokenSet?.accessToken) {\n if (currentTokenSet.refreshToken && currentTokenSet.isExpired()) {\n const tokens = await this.refreshTokens({\n token: currentTokenSet.refreshToken,\n });\n // In the case where the refresh token flows fails, nothing is returned and the authorize function is called again.\n if (tokens) {\n await this.client.setTokens(tokens);\n return tokens.access_token;\n }\n }\n return currentTokenSet.accessToken;\n }\n const authRequest = await this.client.authorizationRequest({\n endpoint: this.authorizeUrl,\n clientId: this.clientId,\n scope: this.scope,\n extraParameters: this.extraParameters,\n });\n const { authorizationCode } = await this.client.authorize(authRequest);\n const tokens = await this.fetchTokens({\n authRequest,\n authorizationCode,\n });\n await this.client.setTokens(tokens);\n return tokens.access_token;\n }\n async fetchTokens({ authRequest, authorizationCode, }) {\n let options;\n if (this.bodyEncoding === \"url-encoded\") {\n const params = new URLSearchParams();\n params.append(\"client_id\", this.clientId);\n params.append(\"code\", authorizationCode);\n params.append(\"code_verifier\", authRequest.codeVerifier);\n params.append(\"grant_type\", \"authorization_code\");\n params.append(\"redirect_uri\", authRequest.redirectURI);\n options = { body: params };\n }\n else {\n options = {\n body: JSON.stringify({\n client_id: this.clientId,\n code: authorizationCode,\n code_verifier: authRequest.codeVerifier,\n grant_type: \"authorization_code\",\n redirect_uri: authRequest.redirectURI,\n }),\n headers: { \"Content-Type\": \"application/json\" },\n };\n }\n const response = await (0, cross_fetch_1.default)(this.tokenUrl, { method: \"POST\", ...options });\n if (!response.ok) {\n const responseText = await response.text();\n console.error(\"fetch tokens error:\", responseText);\n throw new Error(`Error while fetching tokens: ${response.status} (${response.statusText})\\n${responseText}`);\n }\n const tokens = this.tokenResponseParser(await response.json());\n // Some clients such as Linear can return a scope array instead of a string\n return Array.isArray(tokens.scope) ? { ...tokens, scope: tokens.scope.join(\" \") } : tokens;\n }\n async refreshTokens({ token }) {\n let options;\n if (this.bodyEncoding === \"url-encoded\") {\n const params = new URLSearchParams();\n params.append(\"client_id\", this.clientId);\n params.append(\"refresh_token\", token);\n params.append(\"grant_type\", \"refresh_token\");\n options = { body: params };\n }\n else {\n options = {\n body: JSON.stringify({\n client_id: this.clientId,\n refresh_token: token,\n grant_type: \"refresh_token\",\n }),\n headers: { \"Content-Type\": \"application/json\" },\n };\n }\n const response = await (0, cross_fetch_1.default)(this.refreshTokenUrl ?? this.tokenUrl, { method: \"POST\", ...options });\n if (!response.ok) {\n const responseText = await response.text();\n console.error(\"refresh tokens error:\", responseText);\n // If the refresh token is invalid, stop the flow here, log out the user and prompt them to re-authorize.\n this.client.description = `${this.client.providerName} needs you to sign-in again. Press \u23CE or click the button below to continue.`;\n await this.client.removeTokens();\n await this.authorize();\n }\n else {\n const tokenResponse = this.tokenRefreshResponseParser(await response.json());\n tokenResponse.refresh_token = tokenResponse.refresh_token ?? token;\n return tokenResponse;\n }\n }\n}\nexports.OAuthService = OAuthService;\n/**\n * Asana OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const asana = OAuthService.asana({ scope: 'default' })\n * ```\n */\nOAuthService.asana = providers_1.asanaService;\n/**\n * GitHub OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const github = OAuthService.github({ scope: 'repo user' })\n * ```\n */\nOAuthService.github = providers_1.githubService;\n/**\n * Google OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const google = OAuthService.google({\n * clientId: 'custom-client-id',\n * authorizeUrl: 'https://accounts.google.com/o/oauth2/v2/auth',\n * tokenUrl: 'https://oauth2.googleapis.com/token',\n * scope: 'https://www.googleapis.com/auth/drive.readonly',\n * });\n * ```\n */\nOAuthService.google = providers_1.googleService;\n/**\n * Jira OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const jira = OAuthService.jira({\n * clientId: 'custom-client-id',\n * authorizeUrl: 'https://auth.atlassian.com/authorize',\n * tokenUrl: 'https://api.atlassian.com/oauth/token',\n * scope: 'read:jira-user read:jira-work offline_access'\n * });\n * ```\n */\nOAuthService.jira = providers_1.jiraService;\n/**\n * Linear OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const linear = OAuthService.linear({ scope: 'read write' })\n * ```\n */\nOAuthService.linear = providers_1.linearService;\n/**\n * Slack OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const slack = OAuthService.slack({ scope: 'emoji:read' })\n * ```\n */\nOAuthService.slack = providers_1.slackService;\n/**\n * Zoom OAuth service provided out of the box.\n *\n * @example\n * ```typescript\n * const zoom = OAuthService.zoom({\n * clientId: 'custom-client-id',\n * authorizeUrl: 'https://zoom.us/oauth/authorize',\n * tokenUrl: 'https://zoom.us/oauth/token',\n * scope: 'meeting:write',\n * personalAccessToken: 'personal-access-token',\n * });\n * ```\n */\nOAuthService.zoom = providers_1.zoomService;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAccessToken = exports.withAccessToken = void 0;\nconst jsx_runtime_1 = require(\"react/jsx-runtime\");\nconst api_1 = require(\"@raycast/api\");\nlet token = null;\nlet type = null;\nlet authorize = null;\nlet getIdToken = null;\nlet onAuthorize = null;\nfunction withAccessToken(options) {\n if (api_1.environment.commandMode === \"no-view\") {\n return (fn) => {\n const noViewFn = async (props) => {\n if (!token) {\n token = options.personalAccessToken ?? (await options.authorize());\n type = options.personalAccessToken ? \"personal\" : \"oauth\";\n const idToken = (await options.client?.getTokens())?.idToken;\n if (options.onAuthorize) {\n await Promise.resolve(options.onAuthorize({ token, type, idToken }));\n }\n }\n return fn(props);\n };\n return noViewFn;\n };\n }\n return (Component) => {\n const WrappedComponent = (props) => {\n if (options.personalAccessToken) {\n token = options.personalAccessToken;\n type = \"personal\";\n }\n else {\n if (!authorize) {\n authorize = wrapPromise(options.authorize());\n }\n token = authorize.read();\n type = \"oauth\";\n }\n let idToken;\n if (options.client) {\n if (!getIdToken) {\n getIdToken = wrapPromise(options.client.getTokens());\n }\n idToken = getIdToken.read()?.idToken;\n }\n if (!onAuthorize && options.onAuthorize) {\n onAuthorize = wrapPromise(Promise.resolve(options.onAuthorize({ token, type, idToken })));\n }\n onAuthorize?.read();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore too complicated for TS\n return (0, jsx_runtime_1.jsx)(Component, { ...props });\n };\n WrappedComponent.displayName = `withAccessToken(${Component.displayName || Component.name})`;\n return WrappedComponent;\n };\n}\nexports.withAccessToken = withAccessToken;\n/**\n * Returns the access token and its type. Note that this function must be called in a component wrapped with `withAccessToken`.\n *\n * @throws {Error} If called outside of a component wrapped with `withAccessToken`\n * @returns {{ token: string, type: \"oauth\" | \"personal\" }} An object containing the `token`\n * and its `type`, where type can be either 'oauth' for OAuth tokens or 'personal' for a\n * personal access token.\n */\nfunction getAccessToken() {\n if (!token || !type) {\n throw new Error(\"getAccessToken must be used when authenticated (eg. used inside `withAccessToken`)\");\n }\n return { token, type };\n}\nexports.getAccessToken = getAccessToken;\nfunction wrapPromise(promise) {\n let status = \"pending\";\n let response;\n const suspender = promise.then((res) => {\n status = \"success\";\n response = res;\n }, (err) => {\n status = \"error\";\n response = err;\n });\n const read = () => {\n switch (status) {\n case \"pending\":\n throw suspender;\n case \"error\":\n throw response;\n default:\n return response;\n }\n };\n return { read };\n}\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./OAuthService\"), exports);\n__exportStar(require(\"./withAccessToken\"), exports);\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runAppleScript = void 0;\nconst node_child_process_1 = __importDefault(require(\"node:child_process\"));\nconst exec_utils_1 = require(\"./exec-utils\");\nasync function runAppleScript(script, optionsOrArgs, options) {\n const { humanReadableOutput, language, timeout, ...execOptions } = Array.isArray(optionsOrArgs)\n ? options || {}\n : optionsOrArgs || {};\n const outputArguments = humanReadableOutput !== false ? [] : [\"-ss\"];\n if (language === \"JavaScript\") {\n outputArguments.push(\"-l\", \"JavaScript\");\n }\n if (Array.isArray(optionsOrArgs)) {\n outputArguments.push(\"-\", ...optionsOrArgs);\n }\n const spawned = node_child_process_1.default.spawn(\"osascript\", outputArguments, {\n ...execOptions,\n env: { PATH: \"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\" },\n });\n const spawnedPromise = (0, exec_utils_1.getSpawnedPromise)(spawned, { timeout: timeout || 10000 });\n spawned.stdin.end(script);\n const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult] = await (0, exec_utils_1.getSpawnedResult)(spawned, { encoding: \"utf8\" }, spawnedPromise);\n const stdout = (0, exec_utils_1.handleOutput)({ stripFinalNewline: true }, stdoutResult);\n const stderr = (0, exec_utils_1.handleOutput)({ stripFinalNewline: true }, stderrResult);\n return (0, exec_utils_1.defaultParsing)({\n stdout,\n stderr,\n error,\n exitCode,\n signal,\n timedOut,\n command: \"osascript\",\n options,\n parentError: new Error(),\n });\n}\nexports.runAppleScript = runAppleScript;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDeeplink = exports.createExtensionDeeplink = exports.createScriptCommandDeeplink = exports.DeeplinkType = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst node_fs_1 = __importDefault(require(\"node:fs\"));\nconst node_path_1 = __importDefault(require(\"node:path\"));\nvar DeeplinkType;\n(function (DeeplinkType) {\n /** A script command */\n DeeplinkType[\"ScriptCommand\"] = \"script-command\";\n /** An extension command */\n DeeplinkType[\"Extension\"] = \"extension\";\n})(DeeplinkType || (exports.DeeplinkType = DeeplinkType = {}));\nfunction getProtocol() {\n return api_1.environment.raycastVersion.includes(\"alpha\") ? \"raycastinternal://\" : \"raycast://\";\n}\nfunction getOwnerOrAuthorName() {\n const packageJSON = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(api_1.environment.assetsPath, \"..\", \"package.json\"), \"utf8\"));\n return packageJSON.owner || packageJSON.author;\n}\nfunction createScriptCommandDeeplink(options) {\n let url = `${getProtocol()}script-commands/${options.command}`;\n if (options.arguments) {\n let params = \"\";\n for (const arg of options.arguments) {\n params += \"&arguments=\" + encodeURIComponent(arg);\n }\n url += \"?\" + params.substring(1);\n }\n return url;\n}\nexports.createScriptCommandDeeplink = createScriptCommandDeeplink;\nfunction createExtensionDeeplink(options) {\n let ownerOrAuthorName = getOwnerOrAuthorName();\n let extensionName = api_1.environment.extensionName;\n if (\"ownerOrAuthorName\" in options && \"extensionName\" in options) {\n ownerOrAuthorName = options.ownerOrAuthorName;\n extensionName = options.extensionName;\n }\n let url = `${getProtocol()}extensions/${ownerOrAuthorName}/${extensionName}/${options.command}`;\n let params = \"\";\n if (options.launchType) {\n params += \"&launchType=\" + encodeURIComponent(options.launchType);\n }\n if (options.arguments) {\n params += \"&arguments=\" + encodeURIComponent(JSON.stringify(options.arguments));\n }\n if (options.context) {\n params += \"&context=\" + encodeURIComponent(JSON.stringify(options.context));\n }\n if (options.fallbackText) {\n params += \"&fallbackText=\" + encodeURIComponent(options.fallbackText);\n }\n if (params) {\n url += \"?\" + params.substring(1);\n }\n return url;\n}\nexports.createExtensionDeeplink = createExtensionDeeplink;\n/**\n * Creates a deeplink to a script command or extension.\n */\nfunction createDeeplink(options) {\n if (options.type === DeeplinkType.ScriptCommand) {\n return createScriptCommandDeeplink(options);\n }\n else {\n return createExtensionDeeplink(options);\n }\n}\nexports.createDeeplink = createDeeplink;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./usePromise\"), exports);\n__exportStar(require(\"./useCachedState\"), exports);\n__exportStar(require(\"./useCachedPromise\"), exports);\n__exportStar(require(\"./useFetch\"), exports);\n__exportStar(require(\"./useExec\"), exports);\n__exportStar(require(\"./useStreamJSON\"), exports);\n__exportStar(require(\"./useSQL\"), exports);\n__exportStar(require(\"./useForm\"), exports);\n__exportStar(require(\"./useAI\"), exports);\n__exportStar(require(\"./useFrecencySorting\"), exports);\n__exportStar(require(\"./useLocalStorage\"), exports);\n__exportStar(require(\"./icon\"), exports);\n__exportStar(require(\"./oauth\"), exports);\n__exportStar(require(\"./run-applescript\"), exports);\n__exportStar(require(\"./showFailureToast\"), exports);\n__exportStar(require(\"./createDeeplink\"), exports);\n", "'use strict';\n\nconst pTry = (fn, ...arguments_) => new Promise(resolve => {\n\tresolve(fn(...arguments_));\n});\n\nmodule.exports = pTry;\n// TODO: remove this in the next major version\nmodule.exports.default = pTry;\n", "'use strict';\nconst pTry = require('p-try');\n\nconst pLimit = concurrency => {\n\tif (!((Number.isInteger(concurrency) || concurrency === Infinity) && concurrency > 0)) {\n\t\treturn Promise.reject(new TypeError('Expected `concurrency` to be a number from 1 and up'));\n\t}\n\n\tconst queue = [];\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.length > 0) {\n\t\t\tqueue.shift()();\n\t\t}\n\t};\n\n\tconst run = (fn, resolve, ...args) => {\n\t\tactiveCount++;\n\n\t\tconst result = pTry(fn, ...args);\n\n\t\tresolve(result);\n\n\t\tresult.then(next, next);\n\t};\n\n\tconst enqueue = (fn, resolve, ...args) => {\n\t\tif (activeCount < concurrency) {\n\t\t\trun(fn, resolve, ...args);\n\t\t} else {\n\t\t\tqueue.push(run.bind(null, fn, resolve, ...args));\n\t\t}\n\t};\n\n\tconst generator = (fn, ...args) => new Promise(resolve => enqueue(fn, resolve, ...args));\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.length\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue: () => {\n\t\t\t\tqueue.length = 0;\n\t\t\t}\n\t\t}\n\t});\n\n\treturn generator;\n};\n\nmodule.exports = pLimit;\nmodule.exports.default = pLimit;\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// TODO: Remove this for the next major release\nmodule.exports.default = pLocate;\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\tcheckType(options);\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\tcheckType(options);\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\t}\n\t}\n};\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';\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\nmodule.exports = function isArrayish(obj) {\n\tif (!obj) {\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};\n", "'use strict';\n\nvar util = require('util');\nvar isArrayish = require('is-arrayish');\n\nvar errorEx = function errorEx(name, properties) {\n\tif (!name || name.constructor !== String) {\n\t\tproperties = name || {};\n\t\tname = Error.name;\n\t}\n\n\tvar errorExError = function ErrorEXError(message) {\n\t\tif (!this) {\n\t\t\treturn new ErrorEXError(message);\n\t\t}\n\n\t\tmessage = message instanceof Error\n\t\t\t? message.message\n\t\t\t: (message || this.message);\n\n\t\tError.call(this, message);\n\t\tError.captureStackTrace(this, errorExError);\n\n\t\tthis.name = name;\n\n\t\tObject.defineProperty(this, 'message', {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tget: function () {\n\t\t\t\tvar newMessage = message.split(/\\r?\\n/g);\n\n\t\t\t\tfor (var key in properties) {\n\t\t\t\t\tif (!properties.hasOwnProperty(key)) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar modifier = properties[key];\n\n\t\t\t\t\tif ('message' in modifier) {\n\t\t\t\t\t\tnewMessage = modifier.message(this[key], newMessage) || newMessage;\n\t\t\t\t\t\tif (!isArrayish(newMessage)) {\n\t\t\t\t\t\t\tnewMessage = [newMessage];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn newMessage.join('\\n');\n\t\t\t},\n\t\t\tset: function (v) {\n\t\t\t\tmessage = v;\n\t\t\t}\n\t\t});\n\n\t\tvar overwrittenStack = null;\n\n\t\tvar stackDescriptor = Object.getOwnPropertyDescriptor(this, 'stack');\n\t\tvar stackGetter = stackDescriptor.get;\n\t\tvar stackValue = stackDescriptor.value;\n\t\tdelete stackDescriptor.value;\n\t\tdelete stackDescriptor.writable;\n\n\t\tstackDescriptor.set = function (newstack) {\n\t\t\toverwrittenStack = newstack;\n\t\t};\n\n\t\tstackDescriptor.get = function () {\n\t\t\tvar stack = (overwrittenStack || ((stackGetter)\n\t\t\t\t? stackGetter.call(this)\n\t\t\t\t: stackValue)).split(/\\r?\\n+/g);\n\n\t\t\t// starting in Node 7, the stack builder caches the message.\n\t\t\t// just replace it.\n\t\t\tif (!overwrittenStack) {\n\t\t\t\tstack[0] = this.name + ': ' + this.message;\n\t\t\t}\n\n\t\t\tvar lineCount = 1;\n\t\t\tfor (var key in properties) {\n\t\t\t\tif (!properties.hasOwnProperty(key)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tvar modifier = properties[key];\n\n\t\t\t\tif ('line' in modifier) {\n\t\t\t\t\tvar line = modifier.line(this[key]);\n\t\t\t\t\tif (line) {\n\t\t\t\t\t\tstack.splice(lineCount++, 0, ' ' + line);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ('stack' in modifier) {\n\t\t\t\t\tmodifier.stack(this[key], stack);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn stack.join('\\n');\n\t\t};\n\n\t\tObject.defineProperty(this, 'stack', stackDescriptor);\n\t};\n\n\tif (Object.setPrototypeOf) {\n\t\tObject.setPrototypeOf(errorExError.prototype, Error.prototype);\n\t\tObject.setPrototypeOf(errorExError, Error);\n\t} else {\n\t\tutil.inherits(errorExError, Error);\n\t}\n\n\treturn errorExError;\n};\n\nerrorEx.append = function (str, def) {\n\treturn {\n\t\tmessage: function (v, message) {\n\t\t\tv = v || def;\n\n\t\t\tif (v) {\n\t\t\t\tmessage[0] += ' ' + str.replace('%s', v.toString());\n\t\t\t}\n\n\t\t\treturn message;\n\t\t}\n\t};\n};\n\nerrorEx.line = function (str, def) {\n\treturn {\n\t\tline: function (v) {\n\t\t\tv = v || def;\n\n\t\t\tif (v) {\n\t\t\t\treturn str.replace('%s', v.toString());\n\t\t\t}\n\n\t\t\treturn null;\n\t\t}\n\t};\n};\n\nmodule.exports = errorEx;\n", "'use strict'\n\nconst hexify = char => {\n const h = char.charCodeAt(0).toString(16).toUpperCase()\n return '0x' + (h.length % 2 ? '0' : '') + h\n}\n\nconst parseError = (e, txt, context) => {\n if (!txt) {\n return {\n message: e.message + ' while parsing empty string',\n position: 0,\n }\n }\n const badToken = e.message.match(/^Unexpected token (.) .*position\\s+(\\d+)/i)\n const errIdx = badToken ? +badToken[2]\n : e.message.match(/^Unexpected end of JSON.*/i) ? txt.length - 1\n : null\n\n const msg = badToken ? e.message.replace(/^Unexpected token ./, `Unexpected token ${\n JSON.stringify(badToken[1])\n } (${hexify(badToken[1])})`)\n : e.message\n\n if (errIdx !== null && errIdx !== undefined) {\n const start = errIdx <= context ? 0\n : errIdx - context\n\n const end = errIdx + context >= txt.length ? txt.length\n : errIdx + context\n\n const slice = (start === 0 ? '' : '...') +\n txt.slice(start, end) +\n (end === txt.length ? '' : '...')\n\n const near = txt === slice ? '' : 'near '\n\n return {\n message: msg + ` while parsing ${near}${JSON.stringify(slice)}`,\n position: errIdx,\n }\n } else {\n return {\n message: msg + ` while parsing '${txt.slice(0, context * 2)}'`,\n position: 0,\n }\n }\n}\n\nclass JSONParseError extends SyntaxError {\n constructor (er, txt, context, caller) {\n context = context || 20\n const metadata = parseError(er, txt, context)\n super(metadata.message)\n Object.assign(this, metadata)\n this.code = 'EJSONPARSE'\n this.systemError = er\n Error.captureStackTrace(this, caller || this.constructor)\n }\n get name () { return this.constructor.name }\n set name (n) {}\n get [Symbol.toStringTag] () { return this.constructor.name }\n}\n\nconst kIndent = Symbol.for('indent')\nconst kNewline = Symbol.for('newline')\n// only respect indentation if we got a line break, otherwise squash it\n// things other than objects and arrays aren't indented, so ignore those\n// Important: in both of these regexps, the $1 capture group is the newline\n// or undefined, and the $2 capture group is the indent, or undefined.\nconst formatRE = /^\\s*[{\\[]((?:\\r?\\n)+)([\\s\\t]*)/\nconst emptyRE = /^(?:\\{\\}|\\[\\])((?:\\r?\\n)+)?$/\n\nconst parseJson = (txt, reviver, context) => {\n const parseText = stripBOM(txt)\n context = context || 20\n try {\n // get the indentation so that we can save it back nicely\n // if the file starts with {\" then we have an indent of '', ie, none\n // otherwise, pick the indentation of the next line after the first \\n\n // If the pattern doesn't match, then it means no indentation.\n // JSON.stringify ignores symbols, so this is reasonably safe.\n // if the string is '{}' or '[]', then use the default 2-space indent.\n const [, newline = '\\n', indent = ' '] = parseText.match(emptyRE) ||\n parseText.match(formatRE) ||\n [, '', '']\n\n const result = JSON.parse(parseText, reviver)\n if (result && typeof result === 'object') {\n result[kNewline] = newline\n result[kIndent] = indent\n }\n return result\n } catch (e) {\n if (typeof txt !== 'string' && !Buffer.isBuffer(txt)) {\n const isEmptyArray = Array.isArray(txt) && txt.length === 0\n throw Object.assign(new TypeError(\n `Cannot parse ${isEmptyArray ? 'an empty array' : String(txt)}`\n ), {\n code: 'EJSONPARSE',\n systemError: e,\n })\n }\n\n throw new JSONParseError(e, parseText, context, parseJson)\n }\n}\n\n// Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n// because the buffer-to-string conversion in `fs.readFileSync()`\n// translates it to FEFF, the UTF-16 BOM.\nconst stripBOM = txt => String(txt).replace(/^\\uFEFF/, '')\n\nmodule.exports = parseJson\nparseJson.JSONParseError = JSONParseError\n\nparseJson.noExceptions = (txt, reviver) => {\n try {\n return JSON.parse(stripBOM(txt), reviver)\n } catch (e) {}\n}\n", "\"use strict\";\nexports.__esModule = true;\nexports.LinesAndColumns = void 0;\nvar LF = '\\n';\nvar CR = '\\r';\nvar LinesAndColumns = /** @class */ (function () {\n function LinesAndColumns(string) {\n this.string = string;\n var offsets = [0];\n for (var offset = 0; offset < string.length;) {\n switch (string[offset]) {\n case LF:\n offset += LF.length;\n offsets.push(offset);\n break;\n case CR:\n offset += CR.length;\n if (string[offset] === LF) {\n offset += LF.length;\n }\n offsets.push(offset);\n break;\n default:\n offset++;\n break;\n }\n }\n this.offsets = offsets;\n }\n LinesAndColumns.prototype.locationForIndex = function (index) {\n if (index < 0 || index > this.string.length) {\n return null;\n }\n var line = 0;\n var offsets = this.offsets;\n while (offsets[line + 1] <= index) {\n line++;\n }\n var column = index - offsets[line];\n return { line: line, column: column };\n };\n LinesAndColumns.prototype.indexForLocation = function (location) {\n var line = location.line, column = location.column;\n if (line < 0 || line >= this.offsets.length) {\n return null;\n }\n if (column < 0 || column > this.lengthOfLine(line)) {\n return null;\n }\n return this.offsets[line] + column;\n };\n LinesAndColumns.prototype.lengthOfLine = function (line) {\n var offset = this.offsets[line];\n var nextOffset = line === this.offsets.length - 1\n ? this.string.length\n : this.offsets[line + 1];\n return nextOffset - offset;\n };\n return LinesAndColumns;\n}());\nexports.LinesAndColumns = LinesAndColumns;\nexports[\"default\"] = LinesAndColumns;\n", "// Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell\n// License: MIT. (See LICENSE.)\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n})\n\n// This regex comes from regex.coffee, and is inserted here by generate-index.js\n// (run `npm run build`).\nexports.default = /((['\"])(?:(?!\\2|\\\\).|\\\\(?:\\r\\n|[\\s\\S]))*(\\2)?|`(?:[^`\\\\$]|\\\\[\\s\\S]|\\$(?!\\{)|\\$\\{(?:[^{}]|\\{[^}]*\\}?)*\\}?)*(`)?)|(\\/\\/.*)|(\\/\\*(?:[^*]|\\*(?!\\/))*(\\*\\/)?)|(\\/(?!\\*)(?:\\[(?:(?![\\]\\\\]).|\\\\.)*\\]|(?![\\/\\]\\\\]).|\\\\.)+\\/(?:(?!\\s*(?:\\b|[\\u0080-\\uFFFF$\\\\'\"~({]|[+\\-!](?!=)|\\.?\\d))|[gmiyus]{1,6}\\b(?![\\u0080-\\uFFFF$\\\\]|\\s*(?:[+\\-*%&|^<>!=?({]|\\/(?![\\/*])))))|(0[xX][\\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][+-]?\\d+)?)|((?!\\d)(?:(?!\\s)[$\\w\\u0080-\\uFFFF]|\\\\u[\\da-fA-F]{4}|\\\\u\\{[\\da-fA-F]+\\})+)|(--|\\+\\+|&&|\\|\\||=>|\\.{3}|(?:[+\\-\\/%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\\](){}])|(\\s+)|(^$|[\\s\\S])/g\n\nexports.matchToToken = function(match) {\n var token = {type: \"invalid\", value: match[0], closed: undefined}\n if (match[ 1]) token.type = \"string\" , token.closed = !!(match[3] || match[4])\n else if (match[ 5]) token.type = \"comment\"\n else if (match[ 6]) token.type = \"comment\", token.closed = !!match[7]\n else if (match[ 8]) token.type = \"regex\"\n else if (match[ 9]) token.type = \"number\"\n else if (match[10]) token.type = \"name\"\n else if (match[11]) token.type = \"punctuator\"\n else if (match[12]) token.type = \"whitespace\"\n return token\n}\n", "// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\n\n// ## Character categories\n\n// Big ugly regular expressions that match characters in the\n// whitespace, identifier, and identifier-start categories. These\n// are only applied when a character is found to actually have a\n// code point between 0x80 and 0xffff.\n// Generated by `scripts/generate-identifier-regex.js`.\n\n/* prettier-ignore */\nlet nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u0870-\\u0887\\u0889-\\u088e\\u08a0-\\u08c9\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c5d\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cdd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u1711\\u171f-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4c\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7ca\\ua7d0\\ua7d1\\ua7d3\\ua7d5-\\ua7d9\\ua7f2-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\n/* prettier-ignore */\nlet nonASCIIidentifierChars = \"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0898-\\u089f\\u08ca-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3c\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0cf3\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ece\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u180f-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf-\\u1ace\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1dff\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\u30fb\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\\uff65\";\n\nconst nonASCIIidentifierStart = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + \"]\",\n);\nconst nonASCIIidentifier = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\",\n);\n\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\n\n// These are a run-length and offset-encoded representation of the\n// >0xffff code points that are a valid part of identifiers. The\n// offset starts at 0x10000, and each pair of numbers represents an\n// offset to the next range, and then a size of the range. They were\n// generated by `scripts/generate-identifier-regex.js`.\n/* prettier-ignore */\nconst astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191];\n/* prettier-ignore */\nconst astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239];\n\n// This has a complexity linear to the value of the code. The\n// assumption is that looking up astral identifier characters is\n// rare.\nfunction isInAstralSet(code: number, set: readonly number[]): boolean {\n let pos = 0x10000;\n for (let i = 0, length = set.length; i < length; i += 2) {\n pos += set[i];\n if (pos > code) return false;\n\n pos += set[i + 1];\n if (pos >= code) return true;\n }\n return false;\n}\n\n// Test whether a given character code starts an identifier.\n\nexport function isIdentifierStart(code: number): boolean {\n if (code < charCodes.uppercaseA) return code === charCodes.dollarSign;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return (\n code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code))\n );\n }\n return isInAstralSet(code, astralIdentifierStartCodes);\n}\n\n// Test whether a given character is part of an identifier.\n\nexport function isIdentifierChar(code: number): boolean {\n if (code < charCodes.digit0) return code === charCodes.dollarSign;\n if (code < charCodes.colon) return true;\n if (code < charCodes.uppercaseA) return false;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n }\n return (\n isInAstralSet(code, astralIdentifierStartCodes) ||\n isInAstralSet(code, astralIdentifierCodes)\n );\n}\n\n// Test whether a given string is a valid identifier name\n\nexport function isIdentifierName(name: string): boolean {\n let isFirst = true;\n for (let i = 0; i < name.length; i++) {\n // The implementation is based on\n // https://source.chromium.org/chromium/chromium/src/+/master:v8/src/builtins/builtins-string-gen.cc;l=1455;drc=221e331b49dfefadbc6fa40b0c68e6f97606d0b3;bpv=0;bpt=1\n // We reimplement `codePointAt` because `codePointAt` is a V8 builtin which is not inlined by TurboFan (as of M91)\n // since `name` is mostly ASCII, an inlined `charCodeAt` wins here\n let cp = name.charCodeAt(i);\n if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {\n const trail = name.charCodeAt(++i);\n if ((trail & 0xfc00) === 0xdc00) {\n cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);\n }\n }\n if (isFirst) {\n isFirst = false;\n if (!isIdentifierStart(cp)) {\n return false;\n }\n } else if (!isIdentifierChar(cp)) {\n return false;\n }\n }\n return !isFirst;\n}\n", "const reservedWords = {\n keyword: [\n \"break\",\n \"case\",\n \"catch\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"do\",\n \"else\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"return\",\n \"switch\",\n \"throw\",\n \"try\",\n \"var\",\n \"const\",\n \"while\",\n \"with\",\n \"new\",\n \"this\",\n \"super\",\n \"class\",\n \"extends\",\n \"export\",\n \"import\",\n \"null\",\n \"true\",\n \"false\",\n \"in\",\n \"instanceof\",\n \"typeof\",\n \"void\",\n \"delete\",\n ],\n strict: [\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"yield\",\n ],\n strictBind: [\"eval\", \"arguments\"],\n};\nconst keywords = new Set(reservedWords.keyword);\nconst reservedWordsStrictSet = new Set(reservedWords.strict);\nconst reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\n\n/**\n * Checks if word is a reserved word in non-strict mode\n */\nexport function isReservedWord(word: string, inModule: boolean): boolean {\n return (inModule && word === \"await\") || word === \"enum\";\n}\n\n/**\n * Checks if word is a reserved word in non-binding strict mode\n *\n * Includes non-strict reserved words\n */\nexport function isStrictReservedWord(word: string, inModule: boolean): boolean {\n return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode, but it is allowed as\n * a normal identifier.\n */\nexport function isStrictBindOnlyReservedWord(word: string): boolean {\n return reservedWordsStrictBindSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode\n *\n * Includes non-strict reserved words and non-binding strict reserved words\n */\nexport function isStrictBindReservedWord(\n word: string,\n inModule: boolean,\n): boolean {\n return (\n isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word)\n );\n}\n\nexport function isKeyword(word: string): boolean {\n return keywords.has(word);\n}\n", "export {\n isIdentifierName,\n isIdentifierChar,\n isIdentifierStart,\n} from \"./identifier.ts\";\nexport {\n isReservedWord,\n isStrictBindOnlyReservedWord,\n isStrictBindReservedWord,\n isStrictReservedWord,\n isKeyword,\n} from \"./keyword.ts\";\n", "let argv = process.argv || [],\n\tenv = process.env\nlet isColorSupported =\n\t!(\"NO_COLOR\" in env || argv.includes(\"--no-color\")) &&\n\t(\"FORCE_COLOR\" in env ||\n\t\targv.includes(\"--color\") ||\n\t\tprocess.platform === \"win32\" ||\n\t\t(require != null && require(\"tty\").isatty(1) && env.TERM !== \"dumb\") ||\n\t\t\"CI\" in env)\n\nlet formatter =\n\t(open, close, replace = open) =>\n\tinput => {\n\t\tlet string = \"\" + input\n\t\tlet index = string.indexOf(close, open.length)\n\t\treturn ~index\n\t\t\t? open + replaceClose(string, close, replace, index) + close\n\t\t\t: open + string + close\n\t}\n\nlet replaceClose = (string, close, replace, index) => {\n\tlet result = \"\"\n\tlet cursor = 0\n\tdo {\n\t\tresult += string.substring(cursor, index) + replace\n\t\tcursor = index + close.length\n\t\tindex = string.indexOf(close, cursor)\n\t} while (~index)\n\treturn result + string.substring(cursor)\n}\n\nlet createColors = (enabled = isColorSupported) => {\n\tlet init = enabled ? formatter : () => String\n\treturn {\n\t\tisColorSupported: enabled,\n\t\treset: init(\"\\x1b[0m\", \"\\x1b[0m\"),\n\t\tbold: init(\"\\x1b[1m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[1m\"),\n\t\tdim: init(\"\\x1b[2m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[2m\"),\n\t\titalic: init(\"\\x1b[3m\", \"\\x1b[23m\"),\n\t\tunderline: init(\"\\x1b[4m\", \"\\x1b[24m\"),\n\t\tinverse: init(\"\\x1b[7m\", \"\\x1b[27m\"),\n\t\thidden: init(\"\\x1b[8m\", \"\\x1b[28m\"),\n\t\tstrikethrough: init(\"\\x1b[9m\", \"\\x1b[29m\"),\n\t\tblack: init(\"\\x1b[30m\", \"\\x1b[39m\"),\n\t\tred: init(\"\\x1b[31m\", \"\\x1b[39m\"),\n\t\tgreen: init(\"\\x1b[32m\", \"\\x1b[39m\"),\n\t\tyellow: init(\"\\x1b[33m\", \"\\x1b[39m\"),\n\t\tblue: init(\"\\x1b[34m\", \"\\x1b[39m\"),\n\t\tmagenta: init(\"\\x1b[35m\", \"\\x1b[39m\"),\n\t\tcyan: init(\"\\x1b[36m\", \"\\x1b[39m\"),\n\t\twhite: init(\"\\x1b[37m\", \"\\x1b[39m\"),\n\t\tgray: init(\"\\x1b[90m\", \"\\x1b[39m\"),\n\t\tbgBlack: init(\"\\x1b[40m\", \"\\x1b[49m\"),\n\t\tbgRed: init(\"\\x1b[41m\", \"\\x1b[49m\"),\n\t\tbgGreen: init(\"\\x1b[42m\", \"\\x1b[49m\"),\n\t\tbgYellow: init(\"\\x1b[43m\", \"\\x1b[49m\"),\n\t\tbgBlue: init(\"\\x1b[44m\", \"\\x1b[49m\"),\n\t\tbgMagenta: init(\"\\x1b[45m\", \"\\x1b[49m\"),\n\t\tbgCyan: init(\"\\x1b[46m\", \"\\x1b[49m\"),\n\t\tbgWhite: init(\"\\x1b[47m\", \"\\x1b[49m\"),\n\t}\n}\n\nmodule.exports = createColors()\nmodule.exports.createColors = createColors\n", "'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\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 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');\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", "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';\nconst colorConvert = require('color-convert');\n\nconst wrapAnsi16 = (fn, offset) => function () {\n\tconst code = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${code + offset}m`;\n};\n\nconst wrapAnsi256 = (fn, offset) => function () {\n\tconst code = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${38 + offset};5;${code}m`;\n};\n\nconst wrapAnsi16m = (fn, offset) => function () {\n\tconst rgb = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;\n};\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\tconst styles = {\n\t\tmodifier: {\n\t\t\treset: [0, 0],\n\t\t\t// 21 isn't widely supported and 22 does the same thing\n\t\t\tbold: [1, 22],\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolor: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\t\t\tgray: [90, 39],\n\n\t\t\t// Bright color\n\t\t\tredBright: [91, 39],\n\t\t\tgreenBright: [92, 39],\n\t\t\tyellowBright: [93, 39],\n\t\t\tblueBright: [94, 39],\n\t\t\tmagentaBright: [95, 39],\n\t\t\tcyanBright: [96, 39],\n\t\t\twhiteBright: [97, 39]\n\t\t},\n\t\tbgColor: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49],\n\n\t\t\t// Bright color\n\t\t\tbgBlackBright: [100, 49],\n\t\t\tbgRedBright: [101, 49],\n\t\t\tbgGreenBright: [102, 49],\n\t\t\tbgYellowBright: [103, 49],\n\t\t\tbgBlueBright: [104, 49],\n\t\t\tbgMagentaBright: [105, 49],\n\t\t\tbgCyanBright: [106, 49],\n\t\t\tbgWhiteBright: [107, 49]\n\t\t}\n\t};\n\n\t// Fix humans\n\tstyles.color.grey = styles.color.gray;\n\n\tfor (const groupName of Object.keys(styles)) {\n\t\tconst group = styles[groupName];\n\n\t\tfor (const styleName of Object.keys(group)) {\n\t\t\tconst style = group[styleName];\n\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\n\t\tObject.defineProperty(styles, 'codes', {\n\t\t\tvalue: codes,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tconst ansi2ansi = n => n;\n\tconst rgb2rgb = (r, g, b) => [r, g, b];\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = {\n\t\tansi: wrapAnsi16(ansi2ansi, 0)\n\t};\n\tstyles.color.ansi256 = {\n\t\tansi256: wrapAnsi256(ansi2ansi, 0)\n\t};\n\tstyles.color.ansi16m = {\n\t\trgb: wrapAnsi16m(rgb2rgb, 0)\n\t};\n\n\tstyles.bgColor.ansi = {\n\t\tansi: wrapAnsi16(ansi2ansi, 10)\n\t};\n\tstyles.bgColor.ansi256 = {\n\t\tansi256: wrapAnsi256(ansi2ansi, 10)\n\t};\n\tstyles.bgColor.ansi16m = {\n\t\trgb: wrapAnsi16m(rgb2rgb, 10)\n\t};\n\n\tfor (let key of Object.keys(colorConvert)) {\n\t\tif (typeof colorConvert[key] !== 'object') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst suite = colorConvert[key];\n\n\t\tif (key === 'ansi16') {\n\t\t\tkey = 'ansi';\n\t\t}\n\n\t\tif ('ansi16' in suite) {\n\t\t\tstyles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0);\n\t\t\tstyles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10);\n\t\t}\n\n\t\tif ('ansi256' in suite) {\n\t\t\tstyles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0);\n\t\t\tstyles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10);\n\t\t}\n\n\t\tif ('rgb' in suite) {\n\t\t\tstyles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0);\n\t\t\tstyles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10);\n\t\t}\n\t}\n\n\treturn styles;\n}\n\n// Make the export immutable\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n", "'use strict';\nmodule.exports = (flag, argv) => {\n\targv = argv || process.argv;\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst pos = argv.indexOf(prefix + flag);\n\tconst terminatorPos = argv.indexOf('--');\n\treturn pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n", "'use strict';\nconst os = require('os');\nconst hasFlag = require('has-flag');\n\nconst env = process.env;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false')) {\n\tforceColor = false;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = true;\n}\nif ('FORCE_COLOR' in env) {\n\tforceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(stream) {\n\tif (forceColor === false) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (stream && !stream.isTTY && forceColor !== true) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor ? 1 : 0;\n\n\tif (process.platform === 'win32') {\n\t\t// Node.js 7.5.0 is the first version of Node.js to include a patch to\n\t\t// libuv that enables 256 color output on Windows. Anything earlier and it\n\t\t// won't work. However, here we target Node.js 8 at minimum as it is an LTS\n\t\t// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows\n\t\t// release that supports 256 colors. Windows 10 build 14931 is the first release\n\t\t// that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(process.versions.node.split('.')[0]) >= 8 &&\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: getSupportLevel(process.stdout),\n\tstderr: getSupportLevel(process.stderr)\n};\n", "'use strict';\nconst TEMPLATE_REGEX = /(?:\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi;\nconst STYLE_REGEX = /(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g;\nconst STRING_REGEX = /^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/;\nconst ESCAPE_REGEX = /\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.)|([^\\\\])/gi;\n\nconst ESCAPES = new Map([\n\t['n', '\\n'],\n\t['r', '\\r'],\n\t['t', '\\t'],\n\t['b', '\\b'],\n\t['f', '\\f'],\n\t['v', '\\v'],\n\t['0', '\\0'],\n\t['\\\\', '\\\\'],\n\t['e', '\\u001B'],\n\t['a', '\\u0007']\n]);\n\nfunction unescape(c) {\n\tif ((c[0] === 'u' && c.length === 5) || (c[0] === 'x' && c.length === 3)) {\n\t\treturn String.fromCharCode(parseInt(c.slice(1), 16));\n\t}\n\n\treturn ESCAPES.get(c) || c;\n}\n\nfunction parseArguments(name, args) {\n\tconst results = [];\n\tconst chunks = args.trim().split(/\\s*,\\s*/g);\n\tlet matches;\n\n\tfor (const chunk of chunks) {\n\t\tif (!isNaN(chunk)) {\n\t\t\tresults.push(Number(chunk));\n\t\t} else if ((matches = chunk.match(STRING_REGEX))) {\n\t\t\tresults.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr));\n\t\t} else {\n\t\t\tthrow new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction parseStyle(style) {\n\tSTYLE_REGEX.lastIndex = 0;\n\n\tconst results = [];\n\tlet matches;\n\n\twhile ((matches = STYLE_REGEX.exec(style)) !== null) {\n\t\tconst name = matches[1];\n\n\t\tif (matches[2]) {\n\t\t\tconst args = parseArguments(name, matches[2]);\n\t\t\tresults.push([name].concat(args));\n\t\t} else {\n\t\t\tresults.push([name]);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction buildStyle(chalk, styles) {\n\tconst enabled = {};\n\n\tfor (const layer of styles) {\n\t\tfor (const style of layer.styles) {\n\t\t\tenabled[style[0]] = layer.inverse ? null : style.slice(1);\n\t\t}\n\t}\n\n\tlet current = chalk;\n\tfor (const styleName of Object.keys(enabled)) {\n\t\tif (Array.isArray(enabled[styleName])) {\n\t\t\tif (!(styleName in current)) {\n\t\t\t\tthrow new Error(`Unknown Chalk style: ${styleName}`);\n\t\t\t}\n\n\t\t\tif (enabled[styleName].length > 0) {\n\t\t\t\tcurrent = current[styleName].apply(current, enabled[styleName]);\n\t\t\t} else {\n\t\t\t\tcurrent = current[styleName];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn current;\n}\n\nmodule.exports = (chalk, tmp) => {\n\tconst styles = [];\n\tconst chunks = [];\n\tlet chunk = [];\n\n\t// eslint-disable-next-line max-params\n\ttmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => {\n\t\tif (escapeChar) {\n\t\t\tchunk.push(unescape(escapeChar));\n\t\t} else if (style) {\n\t\t\tconst str = chunk.join('');\n\t\t\tchunk = [];\n\t\t\tchunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str));\n\t\t\tstyles.push({inverse, styles: parseStyle(style)});\n\t\t} else if (close) {\n\t\t\tif (styles.length === 0) {\n\t\t\t\tthrow new Error('Found extraneous } in Chalk template literal');\n\t\t\t}\n\n\t\t\tchunks.push(buildStyle(chalk, styles)(chunk.join('')));\n\t\t\tchunk = [];\n\t\t\tstyles.pop();\n\t\t} else {\n\t\t\tchunk.push(chr);\n\t\t}\n\t});\n\n\tchunks.push(chunk.join(''));\n\n\tif (styles.length > 0) {\n\t\tconst errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\\`}\\`)`;\n\t\tthrow new Error(errMsg);\n\t}\n\n\treturn chunks.join('');\n};\n", "'use strict';\nconst escapeStringRegexp = require('escape-string-regexp');\nconst ansiStyles = require('ansi-styles');\nconst stdoutColor = require('supports-color').stdout;\n\nconst template = require('./templates.js');\n\nconst isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm');\n\n// `supportsColor.level` \u2192 `ansiStyles.color[name]` mapping\nconst levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m'];\n\n// `color-convert` models to exclude from the Chalk API due to conflicts and such\nconst skipModels = new Set(['gray']);\n\nconst styles = Object.create(null);\n\nfunction applyOptions(obj, options) {\n\toptions = options || {};\n\n\t// Detect level if not set manually\n\tconst scLevel = stdoutColor ? stdoutColor.level : 0;\n\tobj.level = options.level === undefined ? scLevel : options.level;\n\tobj.enabled = 'enabled' in options ? options.enabled : obj.level > 0;\n}\n\nfunction Chalk(options) {\n\t// We check for this.template here since calling `chalk.constructor()`\n\t// by itself will have a `this` of a previously constructed chalk object\n\tif (!this || !(this instanceof Chalk) || this.template) {\n\t\tconst chalk = {};\n\t\tapplyOptions(chalk, options);\n\n\t\tchalk.template = function () {\n\t\t\tconst args = [].slice.call(arguments);\n\t\t\treturn chalkTag.apply(null, [chalk.template].concat(args));\n\t\t};\n\n\t\tObject.setPrototypeOf(chalk, Chalk.prototype);\n\t\tObject.setPrototypeOf(chalk.template, chalk);\n\n\t\tchalk.template.constructor = Chalk;\n\n\t\treturn chalk.template;\n\t}\n\n\tapplyOptions(this, options);\n}\n\n// Use bright blue on Windows as the normal blue color is illegible\nif (isSimpleWindowsTerm) {\n\tansiStyles.blue.open = '\\u001B[94m';\n}\n\nfor (const key of Object.keys(ansiStyles)) {\n\tansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');\n\n\tstyles[key] = {\n\t\tget() {\n\t\t\tconst codes = ansiStyles[key];\n\t\t\treturn build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key);\n\t\t}\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\treturn build.call(this, this._styles || [], true, 'visible');\n\t}\n};\n\nansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g');\nfor (const model of Object.keys(ansiStyles.color.ansi)) {\n\tif (skipModels.has(model)) {\n\t\tcontinue;\n\t}\n\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst level = this.level;\n\t\t\treturn function () {\n\t\t\t\tconst open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments);\n\t\t\t\tconst codes = {\n\t\t\t\t\topen,\n\t\t\t\t\tclose: ansiStyles.color.close,\n\t\t\t\t\tcloseRe: ansiStyles.color.closeRe\n\t\t\t\t};\n\t\t\t\treturn build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);\n\t\t\t};\n\t\t}\n\t};\n}\n\nansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g');\nfor (const model of Object.keys(ansiStyles.bgColor.ansi)) {\n\tif (skipModels.has(model)) {\n\t\tcontinue;\n\t}\n\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst level = this.level;\n\t\t\treturn function () {\n\t\t\t\tconst open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments);\n\t\t\t\tconst codes = {\n\t\t\t\t\topen,\n\t\t\t\t\tclose: ansiStyles.bgColor.close,\n\t\t\t\t\tcloseRe: ansiStyles.bgColor.closeRe\n\t\t\t\t};\n\t\t\t\treturn build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);\n\t\t\t};\n\t\t}\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, styles);\n\nfunction build(_styles, _empty, key) {\n\tconst builder = function () {\n\t\treturn applyStyle.apply(builder, arguments);\n\t};\n\n\tbuilder._styles = _styles;\n\tbuilder._empty = _empty;\n\n\tconst self = this;\n\n\tObject.defineProperty(builder, 'level', {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn self.level;\n\t\t},\n\t\tset(level) {\n\t\t\tself.level = level;\n\t\t}\n\t});\n\n\tObject.defineProperty(builder, 'enabled', {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn self.enabled;\n\t\t},\n\t\tset(enabled) {\n\t\t\tself.enabled = enabled;\n\t\t}\n\t});\n\n\t// See below for fix regarding invisible grey/dim combination on Windows\n\tbuilder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey';\n\n\t// `__proto__` is used because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tbuilder.__proto__ = proto; // eslint-disable-line no-proto\n\n\treturn builder;\n}\n\nfunction applyStyle() {\n\t// Support varags, but simply cast to string in case there's only one arg\n\tconst args = arguments;\n\tconst argsLen = args.length;\n\tlet str = String(arguments[0]);\n\n\tif (argsLen === 0) {\n\t\treturn '';\n\t}\n\n\tif (argsLen > 1) {\n\t\t// Don't slice `arguments`, it prevents V8 optimizations\n\t\tfor (let a = 1; a < argsLen; a++) {\n\t\t\tstr += ' ' + args[a];\n\t\t}\n\t}\n\n\tif (!this.enabled || this.level <= 0 || !str) {\n\t\treturn this._empty ? '' : str;\n\t}\n\n\t// Turns out that on Windows dimmed gray text becomes invisible in cmd.exe,\n\t// see https://github.com/chalk/chalk/issues/58\n\t// If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop.\n\tconst originalDim = ansiStyles.dim.open;\n\tif (isSimpleWindowsTerm && this.hasGrey) {\n\t\tansiStyles.dim.open = '';\n\t}\n\n\tfor (const code of this._styles.slice().reverse()) {\n\t\t// Replace any instances already present with a re-opening code\n\t\t// otherwise only the part of the string until said closing code\n\t\t// will be colored, and the rest will simply be 'plain'.\n\t\tstr = code.open + str.replace(code.closeRe, code.open) + code.close;\n\n\t\t// Close the styling before a linebreak and reopen\n\t\t// after next line to fix a bleed issue on macOS\n\t\t// https://github.com/chalk/chalk/pull/92\n\t\tstr = str.replace(/\\r?\\n/g, `${code.close}$&${code.open}`);\n\t}\n\n\t// Reset the original `dim` if we changed it to work around the Windows dimmed gray issue\n\tansiStyles.dim.open = originalDim;\n\n\treturn str;\n}\n\nfunction chalkTag(chalk, strings) {\n\tif (!Array.isArray(strings)) {\n\t\t// If chalk() was called by itself or with a string,\n\t\t// return the string itself as a string.\n\t\treturn [].slice.call(arguments, 1).join(' ');\n\t}\n\n\tconst args = [].slice.call(arguments, 2);\n\tconst parts = [strings.raw[0]];\n\n\tfor (let i = 1; i < strings.length; i++) {\n\t\tparts.push(String(args[i - 1]).replace(/[{}\\\\]/g, '\\\\$&'));\n\t\tparts.push(String(strings.raw[i]));\n\t}\n\n\treturn template(chalk, parts.join(''));\n}\n\nObject.defineProperties(Chalk.prototype, styles);\n\nmodule.exports = Chalk(); // eslint-disable-line new-cap\nmodule.exports.supportsColor = stdoutColor;\nmodule.exports.default = module.exports; // For TypeScript\n", "import type { Token as JSToken, JSXToken } from \"js-tokens\";\nimport jsTokens from \"js-tokens\";\n\nimport {\n isStrictReservedWord,\n isKeyword,\n} from \"@babel/helper-validator-identifier\";\n\nimport _colors, { createColors } from \"picocolors\";\nimport type { Colors, Formatter } from \"picocolors/types\";\n// See https://github.com/alexeyraspopov/picocolors/issues/62\nconst colors =\n typeof process === \"object\" &&\n (process.env.FORCE_COLOR === \"0\" || process.env.FORCE_COLOR === \"false\")\n ? createColors(false)\n : _colors;\n\nconst compose: <T, U, V>(f: (gv: U) => V, g: (v: T) => U) => (v: T) => V =\n (f, g) => v =>\n f(g(v));\n\n/**\n * Names that are always allowed as identifiers, but also appear as keywords\n * within certain syntactic productions.\n *\n * https://tc39.es/ecma262/#sec-keywords-and-reserved-words\n *\n * `target` has been omitted since it is very likely going to be a false\n * positive.\n */\nconst sometimesKeywords = new Set([\"as\", \"async\", \"from\", \"get\", \"of\", \"set\"]);\n\ntype InternalTokenType =\n | \"keyword\"\n | \"capitalized\"\n | \"jsxIdentifier\"\n | \"punctuator\"\n | \"number\"\n | \"string\"\n | \"regex\"\n | \"comment\"\n | \"invalid\";\n\ntype Token = {\n type: InternalTokenType | \"uncolored\";\n value: string;\n};\n/**\n * Styles for token types.\n */\nfunction getDefs(colors: Colors): Record<InternalTokenType, Formatter> {\n return {\n keyword: colors.cyan,\n capitalized: colors.yellow,\n jsxIdentifier: colors.yellow,\n punctuator: colors.yellow,\n number: colors.magenta,\n string: colors.green,\n regex: colors.magenta,\n comment: colors.gray,\n invalid: compose(compose(colors.white, colors.bgRed), colors.bold),\n };\n}\n\n/**\n * RegExp to test for newlines in terminal.\n */\nconst NEWLINE = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\n\n/**\n * RegExp to test for the three types of brackets.\n */\nconst BRACKET = /^[()[\\]{}]$/;\n\nlet tokenize: (\n text: string,\n) => Generator<{ type: InternalTokenType | \"uncolored\"; value: string }>;\n\nif (process.env.BABEL_8_BREAKING) {\n /**\n * Get the type of token, specifying punctuator type.\n */\n const getTokenType = function (\n token: JSToken | JSXToken,\n ): InternalTokenType | \"uncolored\" {\n if (token.type === \"IdentifierName\") {\n if (\n isKeyword(token.value) ||\n isStrictReservedWord(token.value, true) ||\n sometimesKeywords.has(token.value)\n ) {\n return \"keyword\";\n }\n\n if (token.value[0] !== token.value[0].toLowerCase()) {\n return \"capitalized\";\n }\n }\n\n if (token.type === \"Punctuator\" && BRACKET.test(token.value)) {\n return \"uncolored\";\n }\n\n if (token.type === \"Invalid\" && token.value === \"@\") {\n return \"punctuator\";\n }\n\n switch (token.type) {\n case \"NumericLiteral\":\n return \"number\";\n\n case \"StringLiteral\":\n case \"JSXString\":\n case \"NoSubstitutionTemplate\":\n return \"string\";\n\n case \"RegularExpressionLiteral\":\n return \"regex\";\n\n case \"Punctuator\":\n case \"JSXPunctuator\":\n return \"punctuator\";\n\n case \"MultiLineComment\":\n case \"SingleLineComment\":\n return \"comment\";\n\n case \"Invalid\":\n case \"JSXInvalid\":\n return \"invalid\";\n\n case \"JSXIdentifier\":\n return \"jsxIdentifier\";\n\n default:\n return \"uncolored\";\n }\n };\n\n /**\n * Turn a string of JS into an array of objects.\n */\n tokenize = function* (text: string): Generator<Token> {\n for (const token of jsTokens(text, { jsx: true })) {\n switch (token.type) {\n case \"TemplateHead\":\n yield { type: \"string\", value: token.value.slice(0, -2) };\n yield { type: \"punctuator\", value: \"${\" };\n break;\n\n case \"TemplateMiddle\":\n yield { type: \"punctuator\", value: \"}\" };\n yield { type: \"string\", value: token.value.slice(1, -2) };\n yield { type: \"punctuator\", value: \"${\" };\n break;\n\n case \"TemplateTail\":\n yield { type: \"punctuator\", value: \"}\" };\n yield { type: \"string\", value: token.value.slice(1) };\n break;\n\n default:\n yield {\n type: getTokenType(token),\n value: token.value,\n };\n }\n }\n };\n} else {\n /**\n * RegExp to test for what seems to be a JSX tag name.\n */\n const JSX_TAG = /^[a-z][\\w-]*$/i;\n\n // The token here is defined in js-tokens@4. However we don't bother\n // typing it since the whole block will be removed in Babel 8\n const getTokenType = function (token: any, offset: number, text: string) {\n if (token.type === \"name\") {\n if (\n isKeyword(token.value) ||\n isStrictReservedWord(token.value, true) ||\n sometimesKeywords.has(token.value)\n ) {\n return \"keyword\";\n }\n\n if (\n JSX_TAG.test(token.value) &&\n (text[offset - 1] === \"<\" || text.slice(offset - 2, offset) === \"</\")\n ) {\n return \"jsxIdentifier\";\n }\n\n if (token.value[0] !== token.value[0].toLowerCase()) {\n return \"capitalized\";\n }\n }\n\n if (token.type === \"punctuator\" && BRACKET.test(token.value)) {\n return \"bracket\";\n }\n\n if (\n token.type === \"invalid\" &&\n (token.value === \"@\" || token.value === \"#\")\n ) {\n return \"punctuator\";\n }\n\n return token.type;\n };\n\n tokenize = function* (text: string) {\n let match;\n while ((match = (jsTokens as any).default.exec(text))) {\n const token = (jsTokens as any).matchToToken(match);\n\n yield {\n type: getTokenType(token, match.index, text),\n value: token.value,\n };\n }\n };\n}\n\n/**\n * Highlight `text` using the token definitions in `defs`.\n */\nfunction highlightTokens(defs: Record<string, Formatter>, text: string) {\n let highlighted = \"\";\n\n for (const { type, value } of tokenize(text)) {\n const colorize = defs[type];\n if (colorize) {\n highlighted += value\n .split(NEWLINE)\n .map(str => colorize(str))\n .join(\"\\n\");\n } else {\n highlighted += value;\n }\n }\n\n return highlighted;\n}\n\n/**\n * Highlight `text` using the token definitions in `defs`.\n */\n\ntype Options = {\n forceColor?: boolean;\n};\n\n/**\n * Whether the code should be highlighted given the passed options.\n */\nexport function shouldHighlight(options: Options): boolean {\n return colors.isColorSupported || options.forceColor;\n}\n\nlet pcWithForcedColor: Colors = undefined;\nfunction getColors(forceColor: boolean) {\n if (forceColor) {\n pcWithForcedColor ??= createColors(true);\n return pcWithForcedColor;\n }\n return colors;\n}\n\n/**\n * Highlight `code`.\n */\nexport default function highlight(code: string, options: Options = {}): string {\n if (code !== \"\" && shouldHighlight(options)) {\n const defs = getDefs(getColors(options.forceColor));\n return highlightTokens(defs, code);\n } else {\n return code;\n }\n}\n\nif (!process.env.BABEL_8_BREAKING && !USE_ESM && !IS_STANDALONE) {\n let chalk: any, chalkWithForcedColor: any;\n // eslint-disable-next-line no-restricted-globals\n exports.getChalk = ({ forceColor }: Options) => {\n // eslint-disable-next-line no-restricted-globals\n chalk ??= require(\"chalk\");\n if (forceColor) {\n chalkWithForcedColor ??= new chalk.constructor({\n enabled: true,\n level: 1,\n });\n return chalkWithForcedColor;\n }\n return chalk;\n };\n}\n", "import highlight, { shouldHighlight } from \"@babel/highlight\";\n\nimport _colors, { createColors } from \"picocolors\";\nimport type { Colors, Formatter } from \"picocolors/types\";\n// See https://github.com/alexeyraspopov/picocolors/issues/62\nconst colors =\n typeof process === \"object\" &&\n (process.env.FORCE_COLOR === \"0\" || process.env.FORCE_COLOR === \"false\")\n ? createColors(false)\n : _colors;\n\nconst compose: <T, U, V>(f: (gv: U) => V, g: (v: T) => U) => (v: T) => V =\n (f, g) => v =>\n f(g(v));\n\nlet pcWithForcedColor: Colors = undefined;\nfunction getColors(forceColor: boolean) {\n if (forceColor) {\n pcWithForcedColor ??= createColors(true);\n return pcWithForcedColor;\n }\n return colors;\n}\n\nlet deprecationWarningShown = false;\n\ntype Location = {\n column: number;\n line: number;\n};\n\ntype NodeLocation = {\n end?: Location;\n start: Location;\n};\n\nexport interface Options {\n /** Syntax highlight the code as JavaScript for terminals. default: false */\n highlightCode?: boolean;\n /** The number of lines to show above the error. default: 2 */\n linesAbove?: number;\n /** The number of lines to show below the error. default: 3 */\n linesBelow?: number;\n /**\n * Forcibly syntax highlight the code as JavaScript (for non-terminals);\n * overrides highlightCode.\n * default: false\n */\n forceColor?: boolean;\n /**\n * Pass in a string to be displayed inline (if possible) next to the\n * highlighted location in the code. If it can't be positioned inline,\n * it will be placed above the code frame.\n * default: nothing\n */\n message?: string;\n}\n\n/**\n * Styles for code frame token types.\n */\nfunction getDefs(colors: Colors) {\n return {\n gutter: colors.gray,\n marker: compose(colors.red, colors.bold),\n message: compose(colors.red, colors.bold),\n };\n}\n\n/**\n * RegExp to test for newlines in terminal.\n */\n\nconst NEWLINE = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\n\n/**\n * Extract what lines should be marked and highlighted.\n */\n\ntype MarkerLines = Record<number, true | [number, number]>;\n\nfunction getMarkerLines(\n loc: NodeLocation,\n source: Array<string>,\n opts: Options,\n): {\n start: number;\n end: number;\n markerLines: MarkerLines;\n} {\n const startLoc: Location = {\n column: 0,\n line: -1,\n ...loc.start,\n };\n const endLoc: Location = {\n ...startLoc,\n ...loc.end,\n };\n const { linesAbove = 2, linesBelow = 3 } = opts || {};\n const startLine = startLoc.line;\n const startColumn = startLoc.column;\n const endLine = endLoc.line;\n const endColumn = endLoc.column;\n\n let start = Math.max(startLine - (linesAbove + 1), 0);\n let end = Math.min(source.length, endLine + linesBelow);\n\n if (startLine === -1) {\n start = 0;\n }\n\n if (endLine === -1) {\n end = source.length;\n }\n\n const lineDiff = endLine - startLine;\n const markerLines: MarkerLines = {};\n\n if (lineDiff) {\n for (let i = 0; i <= lineDiff; i++) {\n const lineNumber = i + startLine;\n\n if (!startColumn) {\n markerLines[lineNumber] = true;\n } else if (i === 0) {\n const sourceLength = source[lineNumber - 1].length;\n\n markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];\n } else if (i === lineDiff) {\n markerLines[lineNumber] = [0, endColumn];\n } else {\n const sourceLength = source[lineNumber - i].length;\n\n markerLines[lineNumber] = [0, sourceLength];\n }\n }\n } else {\n if (startColumn === endColumn) {\n if (startColumn) {\n markerLines[startLine] = [startColumn, 0];\n } else {\n markerLines[startLine] = true;\n }\n } else {\n markerLines[startLine] = [startColumn, endColumn - startColumn];\n }\n }\n\n return { start, end, markerLines };\n}\n\nexport function codeFrameColumns(\n rawLines: string,\n loc: NodeLocation,\n opts: Options = {},\n): string {\n const highlighted =\n (opts.highlightCode || opts.forceColor) && shouldHighlight(opts);\n const colors = getColors(opts.forceColor);\n const defs = getDefs(colors);\n const maybeHighlight = (fmt: Formatter, string: string) => {\n return highlighted ? fmt(string) : string;\n };\n const lines = rawLines.split(NEWLINE);\n const { start, end, markerLines } = getMarkerLines(loc, lines, opts);\n const hasColumns = loc.start && typeof loc.start.column === \"number\";\n\n const numberMaxWidth = String(end).length;\n\n const highlightedLines = highlighted ? highlight(rawLines, opts) : rawLines;\n\n let frame = highlightedLines\n .split(NEWLINE, end)\n .slice(start, end)\n .map((line, index) => {\n const number = start + 1 + index;\n const paddedNumber = ` ${number}`.slice(-numberMaxWidth);\n const gutter = ` ${paddedNumber} |`;\n const hasMarker = markerLines[number];\n const lastMarkerLine = !markerLines[number + 1];\n if (hasMarker) {\n let markerLine = \"\";\n if (Array.isArray(hasMarker)) {\n const markerSpacing = line\n .slice(0, Math.max(hasMarker[0] - 1, 0))\n .replace(/[^\\t]/g, \" \");\n const numberOfMarkers = hasMarker[1] || 1;\n\n markerLine = [\n \"\\n \",\n maybeHighlight(defs.gutter, gutter.replace(/\\d/g, \" \")),\n \" \",\n markerSpacing,\n maybeHighlight(defs.marker, \"^\").repeat(numberOfMarkers),\n ].join(\"\");\n\n if (lastMarkerLine && opts.message) {\n markerLine += \" \" + maybeHighlight(defs.message, opts.message);\n }\n }\n return [\n maybeHighlight(defs.marker, \">\"),\n maybeHighlight(defs.gutter, gutter),\n line.length > 0 ? ` ${line}` : \"\",\n markerLine,\n ].join(\"\");\n } else {\n return ` ${maybeHighlight(defs.gutter, gutter)}${\n line.length > 0 ? ` ${line}` : \"\"\n }`;\n }\n })\n .join(\"\\n\");\n\n if (opts.message && !hasColumns) {\n frame = `${\" \".repeat(numberMaxWidth + 1)}${opts.message}\\n${frame}`;\n }\n\n if (highlighted) {\n return colors.reset(frame);\n } else {\n return frame;\n }\n}\n\n/**\n * Create a code frame, adding line numbers, code highlighting, and pointing to a given position.\n */\n\nexport default function (\n rawLines: string,\n lineNumber: number,\n colNumber?: number | null,\n opts: Options = {},\n): string {\n if (!deprecationWarningShown) {\n deprecationWarningShown = true;\n\n const message =\n \"Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.\";\n\n if (process.emitWarning) {\n // A string is directly supplied to emitWarning, because when supplying an\n // Error object node throws in the tests because of different contexts\n process.emitWarning(message, \"DeprecationWarning\");\n } else {\n const deprecationError = new Error(message);\n deprecationError.name = \"DeprecationWarning\";\n console.warn(new Error(message));\n }\n }\n\n colNumber = Math.max(colNumber, 0);\n\n const location: NodeLocation = {\n start: { column: colNumber, line: lineNumber },\n };\n\n return codeFrameColumns(rawLines, location, opts);\n}\n", "'use strict';\nconst errorEx = require('error-ex');\nconst fallback = require('json-parse-even-better-errors');\nconst {default: LinesAndColumns} = require('lines-and-columns');\nconst {codeFrameColumns} = require('@babel/code-frame');\n\nconst JSONError = errorEx('JSONError', {\n\tfileName: errorEx.append('in %s'),\n\tcodeFrame: errorEx.append('\\n\\n%s\\n')\n});\n\nconst parseJson = (string, reviver, filename) => {\n\tif (typeof reviver === 'string') {\n\t\tfilename = reviver;\n\t\treviver = null;\n\t}\n\n\ttry {\n\t\ttry {\n\t\t\treturn JSON.parse(string, reviver);\n\t\t} catch (error) {\n\t\t\tfallback(string, reviver);\n\t\t\tthrow error;\n\t\t}\n\t} catch (error) {\n\t\terror.message = error.message.replace(/\\n/g, '');\n\t\tconst indexMatch = error.message.match(/in JSON at position (\\d+) while parsing/);\n\n\t\tconst jsonError = new JSONError(error);\n\t\tif (filename) {\n\t\t\tjsonError.fileName = filename;\n\t\t}\n\n\t\tif (indexMatch && indexMatch.length > 0) {\n\t\t\tconst lines = new LinesAndColumns(string);\n\t\t\tconst index = Number(indexMatch[1]);\n\t\t\tconst location = lines.locationForIndex(index);\n\n\t\t\tconst codeFrame = codeFrameColumns(\n\t\t\t\tstring,\n\t\t\t\t{start: {line: location.line + 1, column: location.column + 1}},\n\t\t\t\t{highlightCode: true}\n\t\t\t);\n\n\t\t\tjsonError.codeFrame = codeFrame;\n\t\t}\n\n\t\tthrow jsonError;\n\t}\n};\n\nparseJson.JSONError = JSONError;\n\nmodule.exports = parseJson;\n", "exports = module.exports = SemVer\n\nvar debug\n/* istanbul ignore next */\nif (typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)) {\n debug = function () {\n var args = Array.prototype.slice.call(arguments, 0)\n args.unshift('SEMVER')\n console.log.apply(console, args)\n }\n} else {\n debug = function () {}\n}\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nexports.SEMVER_SPEC_VERSION = '2.0.0'\n\nvar MAX_LENGTH = 256\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nvar MAX_SAFE_COMPONENT_LENGTH = 16\n\nvar MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\n// The actual regexps go on exports.re\nvar re = exports.re = []\nvar safeRe = exports.safeRe = []\nvar src = exports.src = []\nvar R = 0\n\nvar LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nvar safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nfunction makeSafeRe (value) {\n for (var i = 0; i < safeRegexReplacements.length; i++) {\n var token = safeRegexReplacements[i][0]\n var max = safeRegexReplacements[i][1]\n value = value\n .split(token + '*').join(token + '{0,' + max + '}')\n .split(token + '+').join(token + '{1,' + max + '}')\n }\n return value\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\nvar NUMERICIDENTIFIER = R++\nsrc[NUMERICIDENTIFIER] = '0|[1-9]\\\\d*'\nvar NUMERICIDENTIFIERLOOSE = R++\nsrc[NUMERICIDENTIFIERLOOSE] = '\\\\d+'\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\nvar NONNUMERICIDENTIFIER = R++\nsrc[NONNUMERICIDENTIFIER] = '\\\\d*[a-zA-Z-]' + LETTERDASHNUMBER + '*'\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\nvar MAINVERSION = R++\nsrc[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')'\n\nvar MAINVERSIONLOOSE = R++\nsrc[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')'\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\nvar PRERELEASEIDENTIFIER = R++\nsrc[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +\n '|' + src[NONNUMERICIDENTIFIER] + ')'\n\nvar PRERELEASEIDENTIFIERLOOSE = R++\nsrc[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +\n '|' + src[NONNUMERICIDENTIFIER] + ')'\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\nvar PRERELEASE = R++\nsrc[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIER] + ')*))'\n\nvar PRERELEASELOOSE = R++\nsrc[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\nvar BUILDIDENTIFIER = R++\nsrc[BUILDIDENTIFIER] = LETTERDASHNUMBER + '+'\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\nvar BUILD = R++\nsrc[BUILD] = '(?:\\\\+(' + src[BUILDIDENTIFIER] +\n '(?:\\\\.' + src[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\nvar FULL = R++\nvar FULLPLAIN = 'v?' + src[MAINVERSION] +\n src[PRERELEASE] + '?' +\n src[BUILD] + '?'\n\nsrc[FULL] = '^' + 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.\nvar LOOSEPLAIN = '[v=\\\\s]*' + src[MAINVERSIONLOOSE] +\n src[PRERELEASELOOSE] + '?' +\n src[BUILD] + '?'\n\nvar LOOSE = R++\nsrc[LOOSE] = '^' + LOOSEPLAIN + '$'\n\nvar GTLT = R++\nsrc[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.\nvar XRANGEIDENTIFIERLOOSE = R++\nsrc[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\\\*'\nvar XRANGEIDENTIFIER = R++\nsrc[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\\\*'\n\nvar XRANGEPLAIN = R++\nsrc[XRANGEPLAIN] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:' + src[PRERELEASE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGEPLAINLOOSE = R++\nsrc[XRANGEPLAINLOOSE] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:' + src[PRERELEASELOOSE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGE = R++\nsrc[XRANGE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAIN] + '$'\nvar XRANGELOOSE = R++\nsrc[XRANGELOOSE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAINLOOSE] + '$'\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\nvar COERCE = R++\nsrc[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])'\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\nvar LONETILDE = R++\nsrc[LONETILDE] = '(?:~>?)'\n\nvar TILDETRIM = R++\nsrc[TILDETRIM] = '(\\\\s*)' + src[LONETILDE] + '\\\\s+'\nre[TILDETRIM] = new RegExp(src[TILDETRIM], 'g')\nsafeRe[TILDETRIM] = new RegExp(makeSafeRe(src[TILDETRIM]), 'g')\nvar tildeTrimReplace = '$1~'\n\nvar TILDE = R++\nsrc[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'\nvar TILDELOOSE = R++\nsrc[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\nvar LONECARET = R++\nsrc[LONECARET] = '(?:\\\\^)'\n\nvar CARETTRIM = R++\nsrc[CARETTRIM] = '(\\\\s*)' + src[LONECARET] + '\\\\s+'\nre[CARETTRIM] = new RegExp(src[CARETTRIM], 'g')\nsafeRe[CARETTRIM] = new RegExp(makeSafeRe(src[CARETTRIM]), 'g')\nvar caretTrimReplace = '$1^'\n\nvar CARET = R++\nsrc[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'\nvar CARETLOOSE = R++\nsrc[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\nvar COMPARATORLOOSE = R++\nsrc[COMPARATORLOOSE] = '^' + src[GTLT] + '\\\\s*(' + LOOSEPLAIN + ')$|^$'\nvar COMPARATOR = R++\nsrc[COMPARATOR] = '^' + src[GTLT] + '\\\\s*(' + 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`\nvar COMPARATORTRIM = R++\nsrc[COMPARATORTRIM] = '(\\\\s*)' + src[GTLT] +\n '\\\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'\n\n// this one has to use the /g flag\nre[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g')\nsafeRe[COMPARATORTRIM] = new RegExp(makeSafeRe(src[COMPARATORTRIM]), 'g')\nvar 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.\nvar HYPHENRANGE = R++\nsrc[HYPHENRANGE] = '^\\\\s*(' + src[XRANGEPLAIN] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAIN] + ')' +\n '\\\\s*$'\n\nvar HYPHENRANGELOOSE = R++\nsrc[HYPHENRANGELOOSE] = '^\\\\s*(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s*$'\n\n// Star ranges basically just allow anything at all.\nvar STAR = R++\nsrc[STAR] = '(<|>)?=?\\\\s*\\\\*'\n\n// Compile to actual regexp objects.\n// All are flag-free, unless they were created above with a flag.\nfor (var i = 0; i < R; i++) {\n debug(i, src[i])\n if (!re[i]) {\n re[i] = new RegExp(src[i])\n\n // Replace all greedy whitespace to prevent regex dos issues. These regex are\n // used internally via the safeRe object since all inputs in this library get\n // normalized first to trim and collapse all extra whitespace. The original\n // regexes are exported for userland consumption and lower level usage. A\n // future breaking change could export the safer regex only with a note that\n // all input should have extra whitespace removed.\n safeRe[i] = new RegExp(makeSafeRe(src[i]))\n }\n}\n\nexports.parse = parse\nfunction parse (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\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 var r = options.loose ? safeRe[LOOSE] : safeRe[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\nexports.valid = valid\nfunction valid (version, options) {\n var v = parse(version, options)\n return v ? v.version : null\n}\n\nexports.clean = clean\nfunction clean (version, options) {\n var s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\n\nexports.SemVer = SemVer\n\nfunction SemVer (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n if (version instanceof SemVer) {\n if (version.loose === options.loose) {\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('version is longer than ' + MAX_LENGTH + ' characters')\n }\n\n if (!(this instanceof SemVer)) {\n return new SemVer(version, options)\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n\n var m = version.trim().match(options.loose ? safeRe[LOOSE] : safeRe[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(function (id) {\n if (/^[0-9]+$/.test(id)) {\n var 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\nSemVer.prototype.format = function () {\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\nSemVer.prototype.toString = function () {\n return this.version\n}\n\nSemVer.prototype.compare = function (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return this.compareMain(other) || this.comparePre(other)\n}\n\nSemVer.prototype.compareMain = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n}\n\nSemVer.prototype.comparePre = function (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 var i = 0\n do {\n var a = this.prerelease[i]\n var 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// 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.\nSemVer.prototype.inc = function (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 (this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0) {\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 var 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\nexports.inc = inc\nfunction inc (version, release, loose, identifier) {\n if (typeof (loose) === 'string') {\n identifier = loose\n loose = undefined\n }\n\n try {\n return new SemVer(version, loose).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\n\nexports.diff = diff\nfunction diff (version1, version2) {\n if (eq(version1, version2)) {\n return null\n } else {\n var v1 = parse(version1)\n var v2 = parse(version2)\n var prefix = ''\n if (v1.prerelease.length || v2.prerelease.length) {\n prefix = 'pre'\n var defaultResult = 'prerelease'\n }\n for (var 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}\n\nexports.compareIdentifiers = compareIdentifiers\n\nvar numeric = /^[0-9]+$/\nfunction compareIdentifiers (a, b) {\n var anum = numeric.test(a)\n var 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\nexports.rcompareIdentifiers = rcompareIdentifiers\nfunction rcompareIdentifiers (a, b) {\n return compareIdentifiers(b, a)\n}\n\nexports.major = major\nfunction major (a, loose) {\n return new SemVer(a, loose).major\n}\n\nexports.minor = minor\nfunction minor (a, loose) {\n return new SemVer(a, loose).minor\n}\n\nexports.patch = patch\nfunction patch (a, loose) {\n return new SemVer(a, loose).patch\n}\n\nexports.compare = compare\nfunction compare (a, b, loose) {\n return new SemVer(a, loose).compare(new SemVer(b, loose))\n}\n\nexports.compareLoose = compareLoose\nfunction compareLoose (a, b) {\n return compare(a, b, true)\n}\n\nexports.rcompare = rcompare\nfunction rcompare (a, b, loose) {\n return compare(b, a, loose)\n}\n\nexports.sort = sort\nfunction sort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compare(a, b, loose)\n })\n}\n\nexports.rsort = rsort\nfunction rsort (list, loose) {\n return list.sort(function (a, b) {\n return exports.rcompare(a, b, loose)\n })\n}\n\nexports.gt = gt\nfunction gt (a, b, loose) {\n return compare(a, b, loose) > 0\n}\n\nexports.lt = lt\nfunction lt (a, b, loose) {\n return compare(a, b, loose) < 0\n}\n\nexports.eq = eq\nfunction eq (a, b, loose) {\n return compare(a, b, loose) === 0\n}\n\nexports.neq = neq\nfunction neq (a, b, loose) {\n return compare(a, b, loose) !== 0\n}\n\nexports.gte = gte\nfunction gte (a, b, loose) {\n return compare(a, b, loose) >= 0\n}\n\nexports.lte = lte\nfunction lte (a, b, loose) {\n return compare(a, b, loose) <= 0\n}\n\nexports.cmp = cmp\nfunction 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}\n\nexports.Comparator = Comparator\nfunction Comparator (comp, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\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 if (!(this instanceof Comparator)) {\n return new Comparator(comp, options)\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\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\nvar ANY = {}\nComparator.prototype.parse = function (comp) {\n var r = this.options.loose ? safeRe[COMPARATORLOOSE] : safeRe[COMPARATOR]\n var m = comp.match(r)\n\n if (!m) {\n throw new TypeError('Invalid comparator: ' + comp)\n }\n\n this.operator = 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\nComparator.prototype.toString = function () {\n return this.value\n}\n\nComparator.prototype.test = function (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n}\n\nComparator.prototype.intersects = function (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 var rangeTmp\n\n if (this.operator === '') {\n rangeTmp = new Range(comp.value, options)\n return satisfies(this.value, rangeTmp, options)\n } else if (comp.operator === '') {\n rangeTmp = new Range(this.value, options)\n return satisfies(comp.semver, rangeTmp, options)\n }\n\n var sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n var sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n var sameSemVer = this.semver.version === comp.semver.version\n var differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n var oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n ((this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<'))\n var oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n ((this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>'))\n\n return sameDirectionIncreasing || sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan || oppositeDirectionsGreaterThan\n}\n\nexports.Range = Range\nfunction Range (range, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (range instanceof Range) {\n if (range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n return new Range(range.value, options)\n }\n\n if (!(this instanceof Range)) {\n return new Range(range, options)\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range\n .trim()\n .split(/\\s+/)\n .join(' ')\n\n // First, split based on boolean or ||\n this.set = this.raw.split('||').map(function (range) {\n return this.parseRange(range.trim())\n }, this).filter(function (c) {\n // throw out any that are not relevant for whatever reason\n return c.length\n })\n\n if (!this.set.length) {\n throw new TypeError('Invalid SemVer Range: ' + this.raw)\n }\n\n this.format()\n}\n\nRange.prototype.format = function () {\n this.range = this.set.map(function (comps) {\n return comps.join(' ').trim()\n }).join('||').trim()\n return this.range\n}\n\nRange.prototype.toString = function () {\n return this.range\n}\n\nRange.prototype.parseRange = function (range) {\n var loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n var hr = loose ? safeRe[HYPHENRANGELOOSE] : safeRe[HYPHENRANGE]\n range = range.replace(hr, hyphenReplace)\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(safeRe[COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, safeRe[COMPARATORTRIM])\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(safeRe[TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(safeRe[CARETTRIM], caretTrimReplace)\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n var compRe = loose ? safeRe[COMPARATORLOOSE] : safeRe[COMPARATOR]\n var set = range.split(' ').map(function (comp) {\n return parseComparator(comp, this.options)\n }, this).join(' ').split(/\\s+/)\n if (this.options.loose) {\n // in loose mode, throw out any that are not valid comparators\n set = set.filter(function (comp) {\n return !!comp.match(compRe)\n })\n }\n set = set.map(function (comp) {\n return new Comparator(comp, this.options)\n }, this)\n\n return set\n}\n\nRange.prototype.intersects = function (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some(function (thisComparators) {\n return thisComparators.every(function (thisComparator) {\n return range.set.some(function (rangeComparators) {\n return rangeComparators.every(function (rangeComparator) {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n })\n })\n}\n\n// Mostly just for testing and legacy API reasons\nexports.toComparators = toComparators\nfunction toComparators (range, options) {\n return new Range(range, options).set.map(function (comp) {\n return comp.map(function (c) {\n return c.value\n }).join(' ').trim().split(' ')\n })\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.\nfunction 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\nfunction isX (id) {\n return !id || id.toLowerCase() === 'x' || id === '*'\n}\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0\nfunction replaceTildes (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceTilde(comp, options)\n }).join(' ')\n}\n\nfunction replaceTilde (comp, options) {\n var r = options.loose ? safeRe[TILDELOOSE] : safeRe[TILDE]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.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\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0\n// ^1.2.3 --> >=1.2.3 <2.0.0\n// ^1.2.0 --> >=1.2.0 <2.0.0\nfunction replaceCarets (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceCaret(comp, options)\n }).join(' ')\n}\n\nfunction replaceCaret (comp, options) {\n debug('caret', comp, options)\n var r = options.loose ? safeRe[CARETLOOSE] : safeRe[CARET]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n if (M === '0') {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else {\n ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.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)\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + (+M + 1) + '.0.0'\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + (+M + 1) + '.0.0'\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nfunction replaceXRanges (comp, options) {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map(function (comp) {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nfunction replaceXRange (comp, options) {\n comp = comp.trim()\n var r = options.loose ? safeRe[XRANGELOOSE] : safeRe[XRANGE]\n return comp.replace(r, function (ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n var xM = isX(M)\n var xm = xM || isX(m)\n var xp = xm || isX(p)\n var anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<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 // >1.2.3 => >= 1.2.4\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 ret = gtlt + M + '.' + m + '.' + p\n } else if (xm) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (xp) {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.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.\nfunction 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(safeRe[STAR], '')\n}\n\n// This function is passed to string.replace(safeRe[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 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0\nfunction hyphenReplace ($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'\n } else if (isX(fp)) {\n from = '>=' + fM + '.' + fm + '.0'\n } else {\n from = '>=' + from\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = '<' + (+tM + 1) + '.0.0'\n } else if (isX(tp)) {\n to = '<' + tM + '.' + (+tm + 1) + '.0'\n } else if (tpr) {\n to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr\n } else {\n to = '<=' + to\n }\n\n return (from + ' ' + to).trim()\n}\n\n// if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n for (var 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\nfunction testSet (set, version, options) {\n for (var 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 (i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n var 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\nexports.satisfies = satisfies\nfunction 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}\n\nexports.maxSatisfying = maxSatisfying\nfunction maxSatisfying (versions, range, options) {\n var max = null\n var maxSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (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}\n\nexports.minSatisfying = minSatisfying\nfunction minSatisfying (versions, range, options) {\n var min = null\n var minSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (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}\n\nexports.minVersion = minVersion\nfunction minVersion (range, loose) {\n range = new Range(range, loose)\n\n var 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 (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n comparators.forEach(function (comparator) {\n // Clone to avoid manipulating the comparator's semver object.\n var 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 (!minver || gt(minver, compver)) {\n minver = 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 }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\n\nexports.validRange = validRange\nfunction 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}\n\n// Determine if version is less than all the versions possible in the range\nexports.ltr = ltr\nfunction ltr (version, range, options) {\n return outside(version, range, '<', options)\n}\n\n// Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr\nfunction gtr (version, range, options) {\n return outside(version, range, '>', options)\n}\n\nexports.outside = outside\nfunction outside (version, range, hilo, options) {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n var 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 satisifes 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 (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n var high = null\n var low = null\n\n comparators.forEach(function (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\nexports.prerelease = prerelease\nfunction prerelease (version, options) {\n var parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\n\nexports.intersects = intersects\nfunction intersects (r1, r2, options) {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\n\nexports.coerce = coerce\nfunction coerce (version) {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n var match = version.match(safeRe[COERCE])\n\n if (match == null) {\n return null\n }\n\n return parse(match[1] +\n '.' + (match[2] || '0') +\n '.' + (match[3] || '0'))\n}\n", "[\n\t\"0BSD\",\n\t\"3D-Slicer-1.0\",\n\t\"AAL\",\n\t\"ADSL\",\n\t\"AFL-1.1\",\n\t\"AFL-1.2\",\n\t\"AFL-2.0\",\n\t\"AFL-2.1\",\n\t\"AFL-3.0\",\n\t\"AGPL-1.0-only\",\n\t\"AGPL-1.0-or-later\",\n\t\"AGPL-3.0-only\",\n\t\"AGPL-3.0-or-later\",\n\t\"AMD-newlib\",\n\t\"AMDPLPA\",\n\t\"AML\",\n\t\"AML-glslang\",\n\t\"AMPAS\",\n\t\"ANTLR-PD\",\n\t\"ANTLR-PD-fallback\",\n\t\"APAFML\",\n\t\"APL-1.0\",\n\t\"APSL-1.0\",\n\t\"APSL-1.1\",\n\t\"APSL-1.2\",\n\t\"APSL-2.0\",\n\t\"ASWF-Digital-Assets-1.0\",\n\t\"ASWF-Digital-Assets-1.1\",\n\t\"Abstyles\",\n\t\"AdaCore-doc\",\n\t\"Adobe-2006\",\n\t\"Adobe-Display-PostScript\",\n\t\"Adobe-Glyph\",\n\t\"Adobe-Utopia\",\n\t\"Afmparse\",\n\t\"Aladdin\",\n\t\"Apache-1.0\",\n\t\"Apache-1.1\",\n\t\"Apache-2.0\",\n\t\"App-s2p\",\n\t\"Arphic-1999\",\n\t\"Artistic-1.0\",\n\t\"Artistic-1.0-Perl\",\n\t\"Artistic-1.0-cl8\",\n\t\"Artistic-2.0\",\n\t\"BSD-1-Clause\",\n\t\"BSD-2-Clause\",\n\t\"BSD-2-Clause-Darwin\",\n\t\"BSD-2-Clause-Patent\",\n\t\"BSD-2-Clause-Views\",\n\t\"BSD-2-Clause-first-lines\",\n\t\"BSD-3-Clause\",\n\t\"BSD-3-Clause-Attribution\",\n\t\"BSD-3-Clause-Clear\",\n\t\"BSD-3-Clause-HP\",\n\t\"BSD-3-Clause-LBNL\",\n\t\"BSD-3-Clause-Modification\",\n\t\"BSD-3-Clause-No-Military-License\",\n\t\"BSD-3-Clause-No-Nuclear-License\",\n\t\"BSD-3-Clause-No-Nuclear-License-2014\",\n\t\"BSD-3-Clause-No-Nuclear-Warranty\",\n\t\"BSD-3-Clause-Open-MPI\",\n\t\"BSD-3-Clause-Sun\",\n\t\"BSD-3-Clause-acpica\",\n\t\"BSD-3-Clause-flex\",\n\t\"BSD-4-Clause\",\n\t\"BSD-4-Clause-Shortened\",\n\t\"BSD-4-Clause-UC\",\n\t\"BSD-4.3RENO\",\n\t\"BSD-4.3TAHOE\",\n\t\"BSD-Advertising-Acknowledgement\",\n\t\"BSD-Attribution-HPND-disclaimer\",\n\t\"BSD-Inferno-Nettverk\",\n\t\"BSD-Protection\",\n\t\"BSD-Source-Code\",\n\t\"BSD-Source-beginning-file\",\n\t\"BSD-Systemics\",\n\t\"BSD-Systemics-W3Works\",\n\t\"BSL-1.0\",\n\t\"BUSL-1.1\",\n\t\"Baekmuk\",\n\t\"Bahyph\",\n\t\"Barr\",\n\t\"Beerware\",\n\t\"BitTorrent-1.0\",\n\t\"BitTorrent-1.1\",\n\t\"Bitstream-Charter\",\n\t\"Bitstream-Vera\",\n\t\"BlueOak-1.0.0\",\n\t\"Boehm-GC\",\n\t\"Borceux\",\n\t\"Brian-Gladman-2-Clause\",\n\t\"Brian-Gladman-3-Clause\",\n\t\"C-UDA-1.0\",\n\t\"CAL-1.0\",\n\t\"CAL-1.0-Combined-Work-Exception\",\n\t\"CATOSL-1.1\",\n\t\"CC-BY-1.0\",\n\t\"CC-BY-2.0\",\n\t\"CC-BY-2.5\",\n\t\"CC-BY-2.5-AU\",\n\t\"CC-BY-3.0\",\n\t\"CC-BY-3.0-AT\",\n\t\"CC-BY-3.0-AU\",\n\t\"CC-BY-3.0-DE\",\n\t\"CC-BY-3.0-IGO\",\n\t\"CC-BY-3.0-NL\",\n\t\"CC-BY-3.0-US\",\n\t\"CC-BY-4.0\",\n\t\"CC-BY-NC-1.0\",\n\t\"CC-BY-NC-2.0\",\n\t\"CC-BY-NC-2.5\",\n\t\"CC-BY-NC-3.0\",\n\t\"CC-BY-NC-3.0-DE\",\n\t\"CC-BY-NC-4.0\",\n\t\"CC-BY-NC-ND-1.0\",\n\t\"CC-BY-NC-ND-2.0\",\n\t\"CC-BY-NC-ND-2.5\",\n\t\"CC-BY-NC-ND-3.0\",\n\t\"CC-BY-NC-ND-3.0-DE\",\n\t\"CC-BY-NC-ND-3.0-IGO\",\n\t\"CC-BY-NC-ND-4.0\",\n\t\"CC-BY-NC-SA-1.0\",\n\t\"CC-BY-NC-SA-2.0\",\n\t\"CC-BY-NC-SA-2.0-DE\",\n\t\"CC-BY-NC-SA-2.0-FR\",\n\t\"CC-BY-NC-SA-2.0-UK\",\n\t\"CC-BY-NC-SA-2.5\",\n\t\"CC-BY-NC-SA-3.0\",\n\t\"CC-BY-NC-SA-3.0-DE\",\n\t\"CC-BY-NC-SA-3.0-IGO\",\n\t\"CC-BY-NC-SA-4.0\",\n\t\"CC-BY-ND-1.0\",\n\t\"CC-BY-ND-2.0\",\n\t\"CC-BY-ND-2.5\",\n\t\"CC-BY-ND-3.0\",\n\t\"CC-BY-ND-3.0-DE\",\n\t\"CC-BY-ND-4.0\",\n\t\"CC-BY-SA-1.0\",\n\t\"CC-BY-SA-2.0\",\n\t\"CC-BY-SA-2.0-UK\",\n\t\"CC-BY-SA-2.1-JP\",\n\t\"CC-BY-SA-2.5\",\n\t\"CC-BY-SA-3.0\",\n\t\"CC-BY-SA-3.0-AT\",\n\t\"CC-BY-SA-3.0-DE\",\n\t\"CC-BY-SA-3.0-IGO\",\n\t\"CC-BY-SA-4.0\",\n\t\"CC-PDDC\",\n\t\"CC0-1.0\",\n\t\"CDDL-1.0\",\n\t\"CDDL-1.1\",\n\t\"CDL-1.0\",\n\t\"CDLA-Permissive-1.0\",\n\t\"CDLA-Permissive-2.0\",\n\t\"CDLA-Sharing-1.0\",\n\t\"CECILL-1.0\",\n\t\"CECILL-1.1\",\n\t\"CECILL-2.0\",\n\t\"CECILL-2.1\",\n\t\"CECILL-B\",\n\t\"CECILL-C\",\n\t\"CERN-OHL-1.1\",\n\t\"CERN-OHL-1.2\",\n\t\"CERN-OHL-P-2.0\",\n\t\"CERN-OHL-S-2.0\",\n\t\"CERN-OHL-W-2.0\",\n\t\"CFITSIO\",\n\t\"CMU-Mach\",\n\t\"CMU-Mach-nodoc\",\n\t\"CNRI-Jython\",\n\t\"CNRI-Python\",\n\t\"CNRI-Python-GPL-Compatible\",\n\t\"COIL-1.0\",\n\t\"CPAL-1.0\",\n\t\"CPL-1.0\",\n\t\"CPOL-1.02\",\n\t\"CUA-OPL-1.0\",\n\t\"Caldera\",\n\t\"Caldera-no-preamble\",\n\t\"Catharon\",\n\t\"ClArtistic\",\n\t\"Clips\",\n\t\"Community-Spec-1.0\",\n\t\"Condor-1.1\",\n\t\"Cornell-Lossless-JPEG\",\n\t\"Cronyx\",\n\t\"Crossword\",\n\t\"CrystalStacker\",\n\t\"Cube\",\n\t\"D-FSL-1.0\",\n\t\"DEC-3-Clause\",\n\t\"DL-DE-BY-2.0\",\n\t\"DL-DE-ZERO-2.0\",\n\t\"DOC\",\n\t\"DRL-1.0\",\n\t\"DRL-1.1\",\n\t\"DSDP\",\n\t\"DocBook-Schema\",\n\t\"DocBook-XML\",\n\t\"Dotseqn\",\n\t\"ECL-1.0\",\n\t\"ECL-2.0\",\n\t\"EFL-1.0\",\n\t\"EFL-2.0\",\n\t\"EPICS\",\n\t\"EPL-1.0\",\n\t\"EPL-2.0\",\n\t\"EUDatagrid\",\n\t\"EUPL-1.0\",\n\t\"EUPL-1.1\",\n\t\"EUPL-1.2\",\n\t\"Elastic-2.0\",\n\t\"Entessa\",\n\t\"ErlPL-1.1\",\n\t\"Eurosym\",\n\t\"FBM\",\n\t\"FDK-AAC\",\n\t\"FSFAP\",\n\t\"FSFAP-no-warranty-disclaimer\",\n\t\"FSFUL\",\n\t\"FSFULLR\",\n\t\"FSFULLRWD\",\n\t\"FTL\",\n\t\"Fair\",\n\t\"Ferguson-Twofish\",\n\t\"Frameworx-1.0\",\n\t\"FreeBSD-DOC\",\n\t\"FreeImage\",\n\t\"Furuseth\",\n\t\"GCR-docs\",\n\t\"GD\",\n\t\"GFDL-1.1-invariants-only\",\n\t\"GFDL-1.1-invariants-or-later\",\n\t\"GFDL-1.1-no-invariants-only\",\n\t\"GFDL-1.1-no-invariants-or-later\",\n\t\"GFDL-1.1-only\",\n\t\"GFDL-1.1-or-later\",\n\t\"GFDL-1.2-invariants-only\",\n\t\"GFDL-1.2-invariants-or-later\",\n\t\"GFDL-1.2-no-invariants-only\",\n\t\"GFDL-1.2-no-invariants-or-later\",\n\t\"GFDL-1.2-only\",\n\t\"GFDL-1.2-or-later\",\n\t\"GFDL-1.3-invariants-only\",\n\t\"GFDL-1.3-invariants-or-later\",\n\t\"GFDL-1.3-no-invariants-only\",\n\t\"GFDL-1.3-no-invariants-or-later\",\n\t\"GFDL-1.3-only\",\n\t\"GFDL-1.3-or-later\",\n\t\"GL2PS\",\n\t\"GLWTPL\",\n\t\"GPL-1.0-only\",\n\t\"GPL-1.0-or-later\",\n\t\"GPL-2.0-only\",\n\t\"GPL-2.0-or-later\",\n\t\"GPL-3.0-only\",\n\t\"GPL-3.0-or-later\",\n\t\"Giftware\",\n\t\"Glide\",\n\t\"Glulxe\",\n\t\"Graphics-Gems\",\n\t\"Gutmann\",\n\t\"HIDAPI\",\n\t\"HP-1986\",\n\t\"HP-1989\",\n\t\"HPND\",\n\t\"HPND-DEC\",\n\t\"HPND-Fenneberg-Livingston\",\n\t\"HPND-INRIA-IMAG\",\n\t\"HPND-Intel\",\n\t\"HPND-Kevlin-Henney\",\n\t\"HPND-MIT-disclaimer\",\n\t\"HPND-Markus-Kuhn\",\n\t\"HPND-Netrek\",\n\t\"HPND-Pbmplus\",\n\t\"HPND-UC\",\n\t\"HPND-UC-export-US\",\n\t\"HPND-doc\",\n\t\"HPND-doc-sell\",\n\t\"HPND-export-US\",\n\t\"HPND-export-US-acknowledgement\",\n\t\"HPND-export-US-modify\",\n\t\"HPND-export2-US\",\n\t\"HPND-merchantability-variant\",\n\t\"HPND-sell-MIT-disclaimer-xserver\",\n\t\"HPND-sell-regexpr\",\n\t\"HPND-sell-variant\",\n\t\"HPND-sell-variant-MIT-disclaimer\",\n\t\"HPND-sell-variant-MIT-disclaimer-rev\",\n\t\"HTMLTIDY\",\n\t\"HaskellReport\",\n\t\"Hippocratic-2.1\",\n\t\"IBM-pibs\",\n\t\"ICU\",\n\t\"IEC-Code-Components-EULA\",\n\t\"IJG\",\n\t\"IJG-short\",\n\t\"IPA\",\n\t\"IPL-1.0\",\n\t\"ISC\",\n\t\"ISC-Veillard\",\n\t\"ImageMagick\",\n\t\"Imlib2\",\n\t\"Info-ZIP\",\n\t\"Inner-Net-2.0\",\n\t\"Intel\",\n\t\"Intel-ACPI\",\n\t\"Interbase-1.0\",\n\t\"JPL-image\",\n\t\"JPNIC\",\n\t\"JSON\",\n\t\"Jam\",\n\t\"JasPer-2.0\",\n\t\"Kastrup\",\n\t\"Kazlib\",\n\t\"Knuth-CTAN\",\n\t\"LAL-1.2\",\n\t\"LAL-1.3\",\n\t\"LGPL-2.0-only\",\n\t\"LGPL-2.0-or-later\",\n\t\"LGPL-2.1-only\",\n\t\"LGPL-2.1-or-later\",\n\t\"LGPL-3.0-only\",\n\t\"LGPL-3.0-or-later\",\n\t\"LGPLLR\",\n\t\"LOOP\",\n\t\"LPD-document\",\n\t\"LPL-1.0\",\n\t\"LPL-1.02\",\n\t\"LPPL-1.0\",\n\t\"LPPL-1.1\",\n\t\"LPPL-1.2\",\n\t\"LPPL-1.3a\",\n\t\"LPPL-1.3c\",\n\t\"LZMA-SDK-9.11-to-9.20\",\n\t\"LZMA-SDK-9.22\",\n\t\"Latex2e\",\n\t\"Latex2e-translated-notice\",\n\t\"Leptonica\",\n\t\"LiLiQ-P-1.1\",\n\t\"LiLiQ-R-1.1\",\n\t\"LiLiQ-Rplus-1.1\",\n\t\"Libpng\",\n\t\"Linux-OpenIB\",\n\t\"Linux-man-pages-1-para\",\n\t\"Linux-man-pages-copyleft\",\n\t\"Linux-man-pages-copyleft-2-para\",\n\t\"Linux-man-pages-copyleft-var\",\n\t\"Lucida-Bitmap-Fonts\",\n\t\"MIT\",\n\t\"MIT-0\",\n\t\"MIT-CMU\",\n\t\"MIT-Festival\",\n\t\"MIT-Khronos-old\",\n\t\"MIT-Modern-Variant\",\n\t\"MIT-Wu\",\n\t\"MIT-advertising\",\n\t\"MIT-enna\",\n\t\"MIT-feh\",\n\t\"MIT-open-group\",\n\t\"MIT-testregex\",\n\t\"MITNFA\",\n\t\"MMIXware\",\n\t\"MPEG-SSG\",\n\t\"MPL-1.0\",\n\t\"MPL-1.1\",\n\t\"MPL-2.0\",\n\t\"MPL-2.0-no-copyleft-exception\",\n\t\"MS-LPL\",\n\t\"MS-PL\",\n\t\"MS-RL\",\n\t\"MTLL\",\n\t\"Mackerras-3-Clause\",\n\t\"Mackerras-3-Clause-acknowledgment\",\n\t\"MakeIndex\",\n\t\"Martin-Birgmeier\",\n\t\"McPhee-slideshow\",\n\t\"Minpack\",\n\t\"MirOS\",\n\t\"Motosoto\",\n\t\"MulanPSL-1.0\",\n\t\"MulanPSL-2.0\",\n\t\"Multics\",\n\t\"Mup\",\n\t\"NAIST-2003\",\n\t\"NASA-1.3\",\n\t\"NBPL-1.0\",\n\t\"NCBI-PD\",\n\t\"NCGL-UK-2.0\",\n\t\"NCL\",\n\t\"NCSA\",\n\t\"NGPL\",\n\t\"NICTA-1.0\",\n\t\"NIST-PD\",\n\t\"NIST-PD-fallback\",\n\t\"NIST-Software\",\n\t\"NLOD-1.0\",\n\t\"NLOD-2.0\",\n\t\"NLPL\",\n\t\"NOSL\",\n\t\"NPL-1.0\",\n\t\"NPL-1.1\",\n\t\"NPOSL-3.0\",\n\t\"NRL\",\n\t\"NTP\",\n\t\"NTP-0\",\n\t\"Naumen\",\n\t\"NetCDF\",\n\t\"Newsletr\",\n\t\"Nokia\",\n\t\"Noweb\",\n\t\"O-UDA-1.0\",\n\t\"OAR\",\n\t\"OCCT-PL\",\n\t\"OCLC-2.0\",\n\t\"ODC-By-1.0\",\n\t\"ODbL-1.0\",\n\t\"OFFIS\",\n\t\"OFL-1.0\",\n\t\"OFL-1.0-RFN\",\n\t\"OFL-1.0-no-RFN\",\n\t\"OFL-1.1\",\n\t\"OFL-1.1-RFN\",\n\t\"OFL-1.1-no-RFN\",\n\t\"OGC-1.0\",\n\t\"OGDL-Taiwan-1.0\",\n\t\"OGL-Canada-2.0\",\n\t\"OGL-UK-1.0\",\n\t\"OGL-UK-2.0\",\n\t\"OGL-UK-3.0\",\n\t\"OGTSL\",\n\t\"OLDAP-1.1\",\n\t\"OLDAP-1.2\",\n\t\"OLDAP-1.3\",\n\t\"OLDAP-1.4\",\n\t\"OLDAP-2.0\",\n\t\"OLDAP-2.0.1\",\n\t\"OLDAP-2.1\",\n\t\"OLDAP-2.2\",\n\t\"OLDAP-2.2.1\",\n\t\"OLDAP-2.2.2\",\n\t\"OLDAP-2.3\",\n\t\"OLDAP-2.4\",\n\t\"OLDAP-2.5\",\n\t\"OLDAP-2.6\",\n\t\"OLDAP-2.7\",\n\t\"OLDAP-2.8\",\n\t\"OLFL-1.3\",\n\t\"OML\",\n\t\"OPL-1.0\",\n\t\"OPL-UK-3.0\",\n\t\"OPUBL-1.0\",\n\t\"OSET-PL-2.1\",\n\t\"OSL-1.0\",\n\t\"OSL-1.1\",\n\t\"OSL-2.0\",\n\t\"OSL-2.1\",\n\t\"OSL-3.0\",\n\t\"OpenPBS-2.3\",\n\t\"OpenSSL\",\n\t\"OpenSSL-standalone\",\n\t\"OpenVision\",\n\t\"PADL\",\n\t\"PDDL-1.0\",\n\t\"PHP-3.0\",\n\t\"PHP-3.01\",\n\t\"PPL\",\n\t\"PSF-2.0\",\n\t\"Parity-6.0.0\",\n\t\"Parity-7.0.0\",\n\t\"Pixar\",\n\t\"Plexus\",\n\t\"PolyForm-Noncommercial-1.0.0\",\n\t\"PolyForm-Small-Business-1.0.0\",\n\t\"PostgreSQL\",\n\t\"Python-2.0\",\n\t\"Python-2.0.1\",\n\t\"QPL-1.0\",\n\t\"QPL-1.0-INRIA-2004\",\n\t\"Qhull\",\n\t\"RHeCos-1.1\",\n\t\"RPL-1.1\",\n\t\"RPL-1.5\",\n\t\"RPSL-1.0\",\n\t\"RSA-MD\",\n\t\"RSCPL\",\n\t\"Rdisc\",\n\t\"Ruby\",\n\t\"Ruby-pty\",\n\t\"SAX-PD\",\n\t\"SAX-PD-2.0\",\n\t\"SCEA\",\n\t\"SGI-B-1.0\",\n\t\"SGI-B-1.1\",\n\t\"SGI-B-2.0\",\n\t\"SGI-OpenGL\",\n\t\"SGP4\",\n\t\"SHL-0.5\",\n\t\"SHL-0.51\",\n\t\"SISSL\",\n\t\"SISSL-1.2\",\n\t\"SL\",\n\t\"SMLNJ\",\n\t\"SMPPL\",\n\t\"SNIA\",\n\t\"SPL-1.0\",\n\t\"SSH-OpenSSH\",\n\t\"SSH-short\",\n\t\"SSLeay-standalone\",\n\t\"SSPL-1.0\",\n\t\"SWL\",\n\t\"Saxpath\",\n\t\"SchemeReport\",\n\t\"Sendmail\",\n\t\"Sendmail-8.23\",\n\t\"SimPL-2.0\",\n\t\"Sleepycat\",\n\t\"Soundex\",\n\t\"Spencer-86\",\n\t\"Spencer-94\",\n\t\"Spencer-99\",\n\t\"SugarCRM-1.1.3\",\n\t\"Sun-PPP\",\n\t\"Sun-PPP-2000\",\n\t\"SunPro\",\n\t\"Symlinks\",\n\t\"TAPR-OHL-1.0\",\n\t\"TCL\",\n\t\"TCP-wrappers\",\n\t\"TGPPL-1.0\",\n\t\"TMate\",\n\t\"TORQUE-1.1\",\n\t\"TOSL\",\n\t\"TPDL\",\n\t\"TPL-1.0\",\n\t\"TTWL\",\n\t\"TTYP0\",\n\t\"TU-Berlin-1.0\",\n\t\"TU-Berlin-2.0\",\n\t\"TermReadKey\",\n\t\"UCAR\",\n\t\"UCL-1.0\",\n\t\"UMich-Merit\",\n\t\"UPL-1.0\",\n\t\"URT-RLE\",\n\t\"Ubuntu-font-1.0\",\n\t\"Unicode-3.0\",\n\t\"Unicode-DFS-2015\",\n\t\"Unicode-DFS-2016\",\n\t\"Unicode-TOU\",\n\t\"UnixCrypt\",\n\t\"Unlicense\",\n\t\"VOSTROM\",\n\t\"VSL-1.0\",\n\t\"Vim\",\n\t\"W3C\",\n\t\"W3C-19980720\",\n\t\"W3C-20150513\",\n\t\"WTFPL\",\n\t\"Watcom-1.0\",\n\t\"Widget-Workshop\",\n\t\"Wsuipa\",\n\t\"X11\",\n\t\"X11-distribute-modifications-variant\",\n\t\"X11-swapped\",\n\t\"XFree86-1.1\",\n\t\"XSkat\",\n\t\"Xdebug-1.03\",\n\t\"Xerox\",\n\t\"Xfig\",\n\t\"Xnet\",\n\t\"YPL-1.0\",\n\t\"YPL-1.1\",\n\t\"ZPL-1.1\",\n\t\"ZPL-2.0\",\n\t\"ZPL-2.1\",\n\t\"Zed\",\n\t\"Zeeff\",\n\t\"Zend-2.0\",\n\t\"Zimbra-1.3\",\n\t\"Zimbra-1.4\",\n\t\"Zlib\",\n\t\"any-OSI\",\n\t\"bcrypt-Solar-Designer\",\n\t\"blessing\",\n\t\"bzip2-1.0.6\",\n\t\"check-cvs\",\n\t\"checkmk\",\n\t\"copyleft-next-0.3.0\",\n\t\"copyleft-next-0.3.1\",\n\t\"curl\",\n\t\"cve-tou\",\n\t\"diffmark\",\n\t\"dtoa\",\n\t\"dvipdfm\",\n\t\"eGenix\",\n\t\"etalab-2.0\",\n\t\"fwlw\",\n\t\"gSOAP-1.3b\",\n\t\"gnuplot\",\n\t\"gtkbook\",\n\t\"hdparm\",\n\t\"iMatix\",\n\t\"libpng-2.0\",\n\t\"libselinux-1.0\",\n\t\"libtiff\",\n\t\"libutil-David-Nugent\",\n\t\"lsof\",\n\t\"magaz\",\n\t\"mailprio\",\n\t\"metamail\",\n\t\"mpi-permissive\",\n\t\"mpich2\",\n\t\"mplus\",\n\t\"pkgconf\",\n\t\"pnmstitch\",\n\t\"psfrag\",\n\t\"psutils\",\n\t\"python-ldap\",\n\t\"radvd\",\n\t\"snprintf\",\n\t\"softSurfer\",\n\t\"ssh-keyscan\",\n\t\"swrule\",\n\t\"threeparttable\",\n\t\"ulem\",\n\t\"w3m\",\n\t\"xinetd\",\n\t\"xkeyboard-config-Zinoviev\",\n\t\"xlock\",\n\t\"xpp\",\n\t\"xzoom\",\n\t\"zlib-acknowledgement\"\n]\n", "[\n\t\"AGPL-1.0\",\n\t\"AGPL-3.0\",\n\t\"BSD-2-Clause-FreeBSD\",\n\t\"BSD-2-Clause-NetBSD\",\n\t\"GFDL-1.1\",\n\t\"GFDL-1.2\",\n\t\"GFDL-1.3\",\n\t\"GPL-1.0\",\n\t\"GPL-2.0\",\n\t\"GPL-2.0-with-GCC-exception\",\n\t\"GPL-2.0-with-autoconf-exception\",\n\t\"GPL-2.0-with-bison-exception\",\n\t\"GPL-2.0-with-classpath-exception\",\n\t\"GPL-2.0-with-font-exception\",\n\t\"GPL-3.0\",\n\t\"GPL-3.0-with-GCC-exception\",\n\t\"GPL-3.0-with-autoconf-exception\",\n\t\"LGPL-2.0\",\n\t\"LGPL-2.1\",\n\t\"LGPL-3.0\",\n\t\"Net-SNMP\",\n\t\"Nunit\",\n\t\"StandardML-NJ\",\n\t\"bzip2-1.0.5\",\n\t\"eCos-2.0\",\n\t\"wxWindows\"\n]\n", "[\n \"389-exception\",\n \"Asterisk-exception\",\n \"Autoconf-exception-2.0\",\n \"Autoconf-exception-3.0\",\n \"Autoconf-exception-generic\",\n \"Autoconf-exception-generic-3.0\",\n \"Autoconf-exception-macro\",\n \"Bison-exception-1.24\",\n \"Bison-exception-2.2\",\n \"Bootloader-exception\",\n \"Classpath-exception-2.0\",\n \"CLISP-exception-2.0\",\n \"cryptsetup-OpenSSL-exception\",\n \"DigiRule-FOSS-exception\",\n \"eCos-exception-2.0\",\n \"Fawkes-Runtime-exception\",\n \"FLTK-exception\",\n \"fmt-exception\",\n \"Font-exception-2.0\",\n \"freertos-exception-2.0\",\n \"GCC-exception-2.0\",\n \"GCC-exception-2.0-note\",\n \"GCC-exception-3.1\",\n \"Gmsh-exception\",\n \"GNAT-exception\",\n \"GNOME-examples-exception\",\n \"GNU-compiler-exception\",\n \"gnu-javamail-exception\",\n \"GPL-3.0-interface-exception\",\n \"GPL-3.0-linking-exception\",\n \"GPL-3.0-linking-source-exception\",\n \"GPL-CC-1.0\",\n \"GStreamer-exception-2005\",\n \"GStreamer-exception-2008\",\n \"i2p-gpl-java-exception\",\n \"KiCad-libraries-exception\",\n \"LGPL-3.0-linking-exception\",\n \"libpri-OpenH323-exception\",\n \"Libtool-exception\",\n \"Linux-syscall-note\",\n \"LLGPL\",\n \"LLVM-exception\",\n \"LZMA-exception\",\n \"mif-exception\",\n \"OCaml-LGPL-linking-exception\",\n \"OCCT-exception-1.0\",\n \"OpenJDK-assembly-exception-1.0\",\n \"openvpn-openssl-exception\",\n \"PS-or-PDF-font-exception-20170817\",\n \"QPL-1.0-INRIA-2004-exception\",\n \"Qt-GPL-exception-1.0\",\n \"Qt-LGPL-exception-1.1\",\n \"Qwt-exception-1.0\",\n \"SANE-exception\",\n \"SHL-2.0\",\n \"SHL-2.1\",\n \"stunnel-exception\",\n \"SWI-exception\",\n \"Swift-exception\",\n \"Texinfo-exception\",\n \"u-boot-exception-2.0\",\n \"UBDL-exception\",\n \"Universal-FOSS-exception-1.0\",\n \"vsftpd-openssl-exception\",\n \"WxWindows-exception-3.1\",\n \"x11vnc-openssl-exception\"\n]\n", "'use strict'\n\nvar licenses = []\n .concat(require('spdx-license-ids'))\n .concat(require('spdx-license-ids/deprecated'))\nvar exceptions = require('spdx-exceptions')\n\nmodule.exports = function (source) {\n var index = 0\n\n function hasMore () {\n return index < source.length\n }\n\n // `value` can be a regexp or a string.\n // If it is recognized, the matching source string is returned and\n // the index is incremented. Otherwise `undefined` is returned.\n function read (value) {\n if (value instanceof RegExp) {\n var chars = source.slice(index)\n var match = chars.match(value)\n if (match) {\n index += match[0].length\n return match[0]\n }\n } else {\n if (source.indexOf(value, index) === index) {\n index += value.length\n return value\n }\n }\n }\n\n function skipWhitespace () {\n read(/[ ]*/)\n }\n\n function operator () {\n var string\n var possibilities = ['WITH', 'AND', 'OR', '(', ')', ':', '+']\n for (var i = 0; i < possibilities.length; i++) {\n string = read(possibilities[i])\n if (string) {\n break\n }\n }\n\n if (string === '+' && index > 1 && source[index - 2] === ' ') {\n throw new Error('Space before `+`')\n }\n\n return string && {\n type: 'OPERATOR',\n string: string\n }\n }\n\n function idstring () {\n return read(/[A-Za-z0-9-.]+/)\n }\n\n function expectIdstring () {\n var string = idstring()\n if (!string) {\n throw new Error('Expected idstring at offset ' + index)\n }\n return string\n }\n\n function documentRef () {\n if (read('DocumentRef-')) {\n var string = expectIdstring()\n return { type: 'DOCUMENTREF', string: string }\n }\n }\n\n function licenseRef () {\n if (read('LicenseRef-')) {\n var string = expectIdstring()\n return { type: 'LICENSEREF', string: string }\n }\n }\n\n function identifier () {\n var begin = index\n var string = idstring()\n\n if (licenses.indexOf(string) !== -1) {\n return {\n type: 'LICENSE',\n string: string\n }\n } else if (exceptions.indexOf(string) !== -1) {\n return {\n type: 'EXCEPTION',\n string: string\n }\n }\n\n index = begin\n }\n\n // Tries to read the next token. Returns `undefined` if no token is\n // recognized.\n function parseToken () {\n // Ordering matters\n return (\n operator() ||\n documentRef() ||\n licenseRef() ||\n identifier()\n )\n }\n\n var tokens = []\n while (hasMore()) {\n skipWhitespace()\n if (!hasMore()) {\n break\n }\n\n var token = parseToken()\n if (!token) {\n throw new Error('Unexpected `' + source[index] +\n '` at offset ' + index)\n }\n\n tokens.push(token)\n }\n return tokens\n}\n", "'use strict'\n\n// The ABNF grammar in the spec is totally ambiguous.\n//\n// This parser follows the operator precedence defined in the\n// `Order of Precedence and Parentheses` section.\n\nmodule.exports = function (tokens) {\n var index = 0\n\n function hasMore () {\n return index < tokens.length\n }\n\n function token () {\n return hasMore() ? tokens[index] : null\n }\n\n function next () {\n if (!hasMore()) {\n throw new Error()\n }\n index++\n }\n\n function parseOperator (operator) {\n var t = token()\n if (t && t.type === 'OPERATOR' && operator === t.string) {\n next()\n return t.string\n }\n }\n\n function parseWith () {\n if (parseOperator('WITH')) {\n var t = token()\n if (t && t.type === 'EXCEPTION') {\n next()\n return t.string\n }\n throw new Error('Expected exception after `WITH`')\n }\n }\n\n function parseLicenseRef () {\n // TODO: Actually, everything is concatenated into one string\n // for backward-compatibility but it could be better to return\n // a nice structure.\n var begin = index\n var string = ''\n var t = token()\n if (t.type === 'DOCUMENTREF') {\n next()\n string += 'DocumentRef-' + t.string + ':'\n if (!parseOperator(':')) {\n throw new Error('Expected `:` after `DocumentRef-...`')\n }\n }\n t = token()\n if (t.type === 'LICENSEREF') {\n next()\n string += 'LicenseRef-' + t.string\n return { license: string }\n }\n index = begin\n }\n\n function parseLicense () {\n var t = token()\n if (t && t.type === 'LICENSE') {\n next()\n var node = { license: t.string }\n if (parseOperator('+')) {\n node.plus = true\n }\n var exception = parseWith()\n if (exception) {\n node.exception = exception\n }\n return node\n }\n }\n\n function parseParenthesizedExpression () {\n var left = parseOperator('(')\n if (!left) {\n return\n }\n\n var expr = parseExpression()\n\n if (!parseOperator(')')) {\n throw new Error('Expected `)`')\n }\n\n return expr\n }\n\n function parseAtom () {\n return (\n parseParenthesizedExpression() ||\n parseLicenseRef() ||\n parseLicense()\n )\n }\n\n function makeBinaryOpParser (operator, nextParser) {\n return function parseBinaryOp () {\n var left = nextParser()\n if (!left) {\n return\n }\n\n if (!parseOperator(operator)) {\n return left\n }\n\n var right = parseBinaryOp()\n if (!right) {\n throw new Error('Expected expression')\n }\n return {\n left: left,\n conjunction: operator.toLowerCase(),\n right: right\n }\n }\n }\n\n var parseAnd = makeBinaryOpParser('AND', parseAtom)\n var parseExpression = makeBinaryOpParser('OR', parseAnd)\n\n var node = parseExpression()\n if (!node || hasMore()) {\n throw new Error('Syntax error')\n }\n return node\n}\n", "'use strict'\n\nvar scan = require('./scan')\nvar parse = require('./parse')\n\nmodule.exports = function (source) {\n return parse(scan(source))\n}\n", "/*\nCopyright spdx-correct.js contributors\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nvar parse = require('spdx-expression-parse')\nvar spdxLicenseIds = require('spdx-license-ids')\n\nfunction valid (string) {\n try {\n parse(string)\n return true\n } catch (error) {\n return false\n }\n}\n\n// Sorting function that orders the given array of transpositions such\n// that a transposition with the longer pattern comes before a transposition\n// with a shorter pattern. This is to prevent e.g. the transposition\n// [\"General Public License\", \"GPL\"] from matching to \"Lesser General Public License\"\n// before a longer and more accurate transposition [\"Lesser General Public License\", \"LGPL\"]\n// has a chance to be recognized.\nfunction sortTranspositions(a, b) {\n var length = b[0].length - a[0].length\n if (length !== 0) return length\n return a[0].toUpperCase().localeCompare(b[0].toUpperCase())\n}\n\n// Common transpositions of license identifier acronyms\nvar transpositions = [\n ['APGL', 'AGPL'],\n ['Gpl', 'GPL'],\n ['GLP', 'GPL'],\n ['APL', 'Apache'],\n ['ISD', 'ISC'],\n ['GLP', 'GPL'],\n ['IST', 'ISC'],\n ['Claude', 'Clause'],\n [' or later', '+'],\n [' International', ''],\n ['GNU', 'GPL'],\n ['GUN', 'GPL'],\n ['+', ''],\n ['GNU GPL', 'GPL'],\n ['GNU LGPL', 'LGPL'],\n ['GNU/GPL', 'GPL'],\n ['GNU GLP', 'GPL'],\n ['GNU LESSER GENERAL PUBLIC LICENSE', 'LGPL'],\n ['GNU Lesser General Public License', 'LGPL'],\n ['GNU LESSER GENERAL PUBLIC LICENSE', 'LGPL-2.1'],\n ['GNU Lesser General Public License', 'LGPL-2.1'],\n ['LESSER GENERAL PUBLIC LICENSE', 'LGPL'],\n ['Lesser General Public License', 'LGPL'],\n ['LESSER GENERAL PUBLIC LICENSE', 'LGPL-2.1'],\n ['Lesser General Public License', 'LGPL-2.1'],\n ['GNU General Public License', 'GPL'],\n ['Gnu public license', 'GPL'],\n ['GNU Public License', 'GPL'],\n ['GNU GENERAL PUBLIC LICENSE', 'GPL'],\n ['MTI', 'MIT'],\n ['Mozilla Public License', 'MPL'],\n ['Universal Permissive License', 'UPL'],\n ['WTH', 'WTF'],\n ['WTFGPL', 'WTFPL'],\n ['-License', '']\n].sort(sortTranspositions)\n\nvar TRANSPOSED = 0\nvar CORRECT = 1\n\n// Simple corrections to nearly valid identifiers.\nvar transforms = [\n // e.g. 'mit'\n function (argument) {\n return argument.toUpperCase()\n },\n // e.g. 'MIT '\n function (argument) {\n return argument.trim()\n },\n // e.g. 'M.I.T.'\n function (argument) {\n return argument.replace(/\\./g, '')\n },\n // e.g. 'Apache- 2.0'\n function (argument) {\n return argument.replace(/\\s+/g, '')\n },\n // e.g. 'CC BY 4.0''\n function (argument) {\n return argument.replace(/\\s+/g, '-')\n },\n // e.g. 'LGPLv2.1'\n function (argument) {\n return argument.replace('v', '-')\n },\n // e.g. 'Apache 2.0'\n function (argument) {\n return argument.replace(/,?\\s*(\\d)/, '-$1')\n },\n // e.g. 'GPL 2'\n function (argument) {\n return argument.replace(/,?\\s*(\\d)/, '-$1.0')\n },\n // e.g. 'Apache Version 2.0'\n function (argument) {\n return argument\n .replace(/,?\\s*(V\\.|v\\.|V|v|Version|version)\\s*(\\d)/, '-$2')\n },\n // e.g. 'Apache Version 2'\n function (argument) {\n return argument\n .replace(/,?\\s*(V\\.|v\\.|V|v|Version|version)\\s*(\\d)/, '-$2.0')\n },\n // e.g. 'ZLIB'\n function (argument) {\n return argument[0].toUpperCase() + argument.slice(1)\n },\n // e.g. 'MPL/2.0'\n function (argument) {\n return argument.replace('/', '-')\n },\n // e.g. 'Apache 2'\n function (argument) {\n return argument\n .replace(/\\s*V\\s*(\\d)/, '-$1')\n .replace(/(\\d)$/, '$1.0')\n },\n // e.g. 'GPL-2.0', 'GPL-3.0'\n function (argument) {\n if (argument.indexOf('3.0') !== -1) {\n return argument + '-or-later'\n } else {\n return argument + '-only'\n }\n },\n // e.g. 'GPL-2.0-'\n function (argument) {\n return argument + 'only'\n },\n // e.g. 'GPL2'\n function (argument) {\n return argument.replace(/(\\d)$/, '-$1.0')\n },\n // e.g. 'BSD 3'\n function (argument) {\n return argument.replace(/(-| )?(\\d)$/, '-$2-Clause')\n },\n // e.g. 'BSD clause 3'\n function (argument) {\n return argument.replace(/(-| )clause(-| )(\\d)/, '-$3-Clause')\n },\n // e.g. 'New BSD license'\n function (argument) {\n return argument.replace(/\\b(Modified|New|Revised)(-| )?BSD((-| )License)?/i, 'BSD-3-Clause')\n },\n // e.g. 'Simplified BSD license'\n function (argument) {\n return argument.replace(/\\bSimplified(-| )?BSD((-| )License)?/i, 'BSD-2-Clause')\n },\n // e.g. 'Free BSD license'\n function (argument) {\n return argument.replace(/\\b(Free|Net)(-| )?BSD((-| )License)?/i, 'BSD-2-Clause-$1BSD')\n },\n // e.g. 'Clear BSD license'\n function (argument) {\n return argument.replace(/\\bClear(-| )?BSD((-| )License)?/i, 'BSD-3-Clause-Clear')\n },\n // e.g. 'Old BSD License'\n function (argument) {\n return argument.replace(/\\b(Old|Original)(-| )?BSD((-| )License)?/i, 'BSD-4-Clause')\n },\n // e.g. 'BY-NC-4.0'\n function (argument) {\n return 'CC-' + argument\n },\n // e.g. 'BY-NC'\n function (argument) {\n return 'CC-' + argument + '-4.0'\n },\n // e.g. 'Attribution-NonCommercial'\n function (argument) {\n return argument\n .replace('Attribution', 'BY')\n .replace('NonCommercial', 'NC')\n .replace('NoDerivatives', 'ND')\n .replace(/ (\\d)/, '-$1')\n .replace(/ ?International/, '')\n },\n // e.g. 'Attribution-NonCommercial'\n function (argument) {\n return 'CC-' +\n argument\n .replace('Attribution', 'BY')\n .replace('NonCommercial', 'NC')\n .replace('NoDerivatives', 'ND')\n .replace(/ (\\d)/, '-$1')\n .replace(/ ?International/, '') +\n '-4.0'\n }\n]\n\nvar licensesWithVersions = spdxLicenseIds\n .map(function (id) {\n var match = /^(.*)-\\d+\\.\\d+$/.exec(id)\n return match\n ? [match[0], match[1]]\n : [id, null]\n })\n .reduce(function (objectMap, item) {\n var key = item[1]\n objectMap[key] = objectMap[key] || []\n objectMap[key].push(item[0])\n return objectMap\n }, {})\n\nvar licensesWithOneVersion = Object.keys(licensesWithVersions)\n .map(function makeEntries (key) {\n return [key, licensesWithVersions[key]]\n })\n .filter(function identifySoleVersions (item) {\n return (\n // Licenses has just one valid version suffix.\n item[1].length === 1 &&\n item[0] !== null &&\n // APL will be considered Apache, rather than APL-1.0\n item[0] !== 'APL'\n )\n })\n .map(function createLastResorts (item) {\n return [item[0], item[1][0]]\n })\n\nlicensesWithVersions = undefined\n\n// If all else fails, guess that strings containing certain substrings\n// meant to identify certain licenses.\nvar lastResorts = [\n ['UNLI', 'Unlicense'],\n ['WTF', 'WTFPL'],\n ['2 CLAUSE', 'BSD-2-Clause'],\n ['2-CLAUSE', 'BSD-2-Clause'],\n ['3 CLAUSE', 'BSD-3-Clause'],\n ['3-CLAUSE', 'BSD-3-Clause'],\n ['AFFERO', 'AGPL-3.0-or-later'],\n ['AGPL', 'AGPL-3.0-or-later'],\n ['APACHE', 'Apache-2.0'],\n ['ARTISTIC', 'Artistic-2.0'],\n ['Affero', 'AGPL-3.0-or-later'],\n ['BEER', 'Beerware'],\n ['BOOST', 'BSL-1.0'],\n ['BSD', 'BSD-2-Clause'],\n ['CDDL', 'CDDL-1.1'],\n ['ECLIPSE', 'EPL-1.0'],\n ['FUCK', 'WTFPL'],\n ['GNU', 'GPL-3.0-or-later'],\n ['LGPL', 'LGPL-3.0-or-later'],\n ['GPLV1', 'GPL-1.0-only'],\n ['GPL-1', 'GPL-1.0-only'],\n ['GPLV2', 'GPL-2.0-only'],\n ['GPL-2', 'GPL-2.0-only'],\n ['GPL', 'GPL-3.0-or-later'],\n ['MIT +NO-FALSE-ATTRIBS', 'MITNFA'],\n ['MIT', 'MIT'],\n ['MPL', 'MPL-2.0'],\n ['X11', 'X11'],\n ['ZLIB', 'Zlib']\n].concat(licensesWithOneVersion).sort(sortTranspositions)\n\nvar SUBSTRING = 0\nvar IDENTIFIER = 1\n\nvar validTransformation = function (identifier) {\n for (var i = 0; i < transforms.length; i++) {\n var transformed = transforms[i](identifier).trim()\n if (transformed !== identifier && valid(transformed)) {\n return transformed\n }\n }\n return null\n}\n\nvar validLastResort = function (identifier) {\n var upperCased = identifier.toUpperCase()\n for (var i = 0; i < lastResorts.length; i++) {\n var lastResort = lastResorts[i]\n if (upperCased.indexOf(lastResort[SUBSTRING]) > -1) {\n return lastResort[IDENTIFIER]\n }\n }\n return null\n}\n\nvar anyCorrection = function (identifier, check) {\n for (var i = 0; i < transpositions.length; i++) {\n var transposition = transpositions[i]\n var transposed = transposition[TRANSPOSED]\n if (identifier.indexOf(transposed) > -1) {\n var corrected = identifier.replace(\n transposed,\n transposition[CORRECT]\n )\n var checked = check(corrected)\n if (checked !== null) {\n return checked\n }\n }\n }\n return null\n}\n\nmodule.exports = function (identifier, options) {\n options = options || {}\n var upgrade = options.upgrade === undefined ? true : !!options.upgrade\n function postprocess (value) {\n return upgrade ? upgradeGPLs(value) : value\n }\n var validArugment = (\n typeof identifier === 'string' &&\n identifier.trim().length !== 0\n )\n if (!validArugment) {\n throw Error('Invalid argument. Expected non-empty string.')\n }\n identifier = identifier.trim()\n if (valid(identifier)) {\n return postprocess(identifier)\n }\n var noPlus = identifier.replace(/\\+$/, '').trim()\n if (valid(noPlus)) {\n return postprocess(noPlus)\n }\n var transformed = validTransformation(identifier)\n if (transformed !== null) {\n return postprocess(transformed)\n }\n transformed = anyCorrection(identifier, function (argument) {\n if (valid(argument)) {\n return argument\n }\n return validTransformation(argument)\n })\n if (transformed !== null) {\n return postprocess(transformed)\n }\n transformed = validLastResort(identifier)\n if (transformed !== null) {\n return postprocess(transformed)\n }\n transformed = anyCorrection(identifier, validLastResort)\n if (transformed !== null) {\n return postprocess(transformed)\n }\n return null\n}\n\nfunction upgradeGPLs (value) {\n if ([\n 'GPL-1.0', 'LGPL-1.0', 'AGPL-1.0',\n 'GPL-2.0', 'LGPL-2.0', 'AGPL-2.0',\n 'LGPL-2.1'\n ].indexOf(value) !== -1) {\n return value + '-only'\n } else if ([\n 'GPL-1.0+', 'GPL-2.0+', 'GPL-3.0+',\n 'LGPL-2.0+', 'LGPL-2.1+', 'LGPL-3.0+',\n 'AGPL-1.0+', 'AGPL-3.0+'\n ].indexOf(value) !== -1) {\n return value.replace(/\\+$/, '-or-later')\n } else if (['GPL-3.0', 'LGPL-3.0', 'AGPL-3.0'].indexOf(value) !== -1) {\n return value + '-or-later'\n } else {\n return value\n }\n}\n", "var parse = require('spdx-expression-parse');\nvar correct = require('spdx-correct');\n\nvar genericWarning = (\n 'license should be ' +\n 'a valid SPDX license expression (without \"LicenseRef\"), ' +\n '\"UNLICENSED\", or ' +\n '\"SEE LICENSE IN <filename>\"'\n);\n\nvar fileReferenceRE = /^SEE LICEN[CS]E IN (.+)$/;\n\nfunction startsWith(prefix, string) {\n return string.slice(0, prefix.length) === prefix;\n}\n\nfunction usesLicenseRef(ast) {\n if (ast.hasOwnProperty('license')) {\n var license = ast.license;\n return (\n startsWith('LicenseRef', license) ||\n startsWith('DocumentRef', license)\n );\n } else {\n return (\n usesLicenseRef(ast.left) ||\n usesLicenseRef(ast.right)\n );\n }\n}\n\nmodule.exports = function(argument) {\n var ast;\n\n try {\n ast = parse(argument);\n } catch (e) {\n var match\n if (\n argument === 'UNLICENSED' ||\n argument === 'UNLICENCED'\n ) {\n return {\n validForOldPackages: true,\n validForNewPackages: true,\n unlicensed: true\n };\n } else if (match = fileReferenceRE.exec(argument)) {\n return {\n validForOldPackages: true,\n validForNewPackages: true,\n inFile: match[1]\n };\n } else {\n var result = {\n validForOldPackages: false,\n validForNewPackages: false,\n warnings: [genericWarning]\n };\n if (argument.trim().length !== 0) {\n var corrected = correct(argument);\n if (corrected) {\n result.warnings.push(\n 'license is similar to the valid expression \"' + corrected + '\"'\n );\n }\n }\n return result;\n }\n }\n\n if (usesLicenseRef(ast)) {\n return {\n validForNewPackages: false,\n validForOldPackages: false,\n spdx: true,\n warnings: [genericWarning]\n };\n } else {\n return {\n validForNewPackages: true,\n validForOldPackages: true,\n spdx: true\n };\n }\n};\n", "'use strict'\n\nvar gitHosts = module.exports = {\n github: {\n // First two are insecure and generally shouldn't be used any more, but\n // they are still supported.\n 'protocols': [ 'git', 'http', 'git+ssh', 'git+https', 'ssh', 'https' ],\n 'domain': 'github.com',\n 'treepath': 'tree',\n 'filetemplate': 'https://{auth@}raw.githubusercontent.com/{user}/{project}/{committish}/{path}',\n 'bugstemplate': 'https://{domain}/{user}/{project}/issues',\n 'gittemplate': 'git://{auth@}{domain}/{user}/{project}.git{#committish}',\n 'tarballtemplate': 'https://codeload.{domain}/{user}/{project}/tar.gz/{committish}'\n },\n bitbucket: {\n 'protocols': [ 'git+ssh', 'git+https', 'ssh', 'https' ],\n 'domain': 'bitbucket.org',\n 'treepath': 'src',\n 'tarballtemplate': 'https://{domain}/{user}/{project}/get/{committish}.tar.gz'\n },\n gitlab: {\n 'protocols': [ 'git+ssh', 'git+https', 'ssh', 'https' ],\n 'domain': 'gitlab.com',\n 'treepath': 'tree',\n 'bugstemplate': 'https://{domain}/{user}/{project}/issues',\n 'httpstemplate': 'git+https://{auth@}{domain}/{user}/{projectPath}.git{#committish}',\n 'tarballtemplate': 'https://{domain}/{user}/{project}/repository/archive.tar.gz?ref={committish}',\n 'pathmatch': /^[/]([^/]+)[/]((?!.*(\\/-\\/|\\/repository\\/archive\\.tar\\.gz\\?=.*|\\/repository\\/[^/]+\\/archive.tar.gz$)).*?)(?:[.]git|[/])?$/\n },\n gist: {\n 'protocols': [ 'git', 'git+ssh', 'git+https', 'ssh', 'https' ],\n 'domain': 'gist.github.com',\n 'pathmatch': /^[/](?:([^/]+)[/])?([a-z0-9]{32,})(?:[.]git)?$/,\n 'filetemplate': 'https://gist.githubusercontent.com/{user}/{project}/raw{/committish}/{path}',\n 'bugstemplate': 'https://{domain}/{project}',\n 'gittemplate': 'git://{domain}/{project}.git{#committish}',\n 'sshtemplate': 'git@{domain}:/{project}.git{#committish}',\n 'sshurltemplate': 'git+ssh://git@{domain}/{project}.git{#committish}',\n 'browsetemplate': 'https://{domain}/{project}{/committish}',\n 'browsefiletemplate': 'https://{domain}/{project}{/committish}{#path}',\n 'docstemplate': 'https://{domain}/{project}{/committish}',\n 'httpstemplate': 'git+https://{domain}/{project}.git{#committish}',\n 'shortcuttemplate': '{type}:{project}{#committish}',\n 'pathtemplate': '{project}{#committish}',\n 'tarballtemplate': 'https://codeload.github.com/gist/{project}/tar.gz/{committish}',\n 'hashformat': function (fragment) {\n return 'file-' + formatHashFragment(fragment)\n }\n }\n}\n\nvar gitHostDefaults = {\n 'sshtemplate': 'git@{domain}:{user}/{project}.git{#committish}',\n 'sshurltemplate': 'git+ssh://git@{domain}/{user}/{project}.git{#committish}',\n 'browsetemplate': 'https://{domain}/{user}/{project}{/tree/committish}',\n 'browsefiletemplate': 'https://{domain}/{user}/{project}/{treepath}/{committish}/{path}{#fragment}',\n 'docstemplate': 'https://{domain}/{user}/{project}{/tree/committish}#readme',\n 'httpstemplate': 'git+https://{auth@}{domain}/{user}/{project}.git{#committish}',\n 'filetemplate': 'https://{domain}/{user}/{project}/raw/{committish}/{path}',\n 'shortcuttemplate': '{type}:{user}/{project}{#committish}',\n 'pathtemplate': '{user}/{project}{#committish}',\n 'pathmatch': /^[/]([^/]+)[/]([^/]+?)(?:[.]git|[/])?$/,\n 'hashformat': formatHashFragment\n}\n\nObject.keys(gitHosts).forEach(function (name) {\n Object.keys(gitHostDefaults).forEach(function (key) {\n if (gitHosts[name][key]) return\n gitHosts[name][key] = gitHostDefaults[key]\n })\n gitHosts[name].protocols_re = RegExp('^(' +\n gitHosts[name].protocols.map(function (protocol) {\n return protocol.replace(/([\\\\+*{}()[\\]$^|])/g, '\\\\$1')\n }).join('|') + '):$')\n})\n\nfunction formatHashFragment (fragment) {\n return fragment.toLowerCase().replace(/^\\W+|\\/|\\W+$/g, '').replace(/\\W+/g, '-')\n}\n", "'use strict'\nvar gitHosts = require('./git-host-info.js')\n/* eslint-disable node/no-deprecated-api */\n\n// copy-pasta util._extend from node's source, to avoid pulling\n// the whole util module into peoples' webpack bundles.\n/* istanbul ignore next */\nvar extend = Object.assign || function _extend (target, source) {\n // Don't do anything if source isn't an object\n if (source === null || typeof source !== 'object') return target\n\n var keys = Object.keys(source)\n var i = keys.length\n while (i--) {\n target[keys[i]] = source[keys[i]]\n }\n return target\n}\n\nmodule.exports = GitHost\nfunction GitHost (type, user, auth, project, committish, defaultRepresentation, opts) {\n var gitHostInfo = this\n gitHostInfo.type = type\n Object.keys(gitHosts[type]).forEach(function (key) {\n gitHostInfo[key] = gitHosts[type][key]\n })\n gitHostInfo.user = user\n gitHostInfo.auth = auth\n gitHostInfo.project = project\n gitHostInfo.committish = committish\n gitHostInfo.default = defaultRepresentation\n gitHostInfo.opts = opts || {}\n}\n\nGitHost.prototype.hash = function () {\n return this.committish ? '#' + this.committish : ''\n}\n\nGitHost.prototype._fill = function (template, opts) {\n if (!template) return\n var vars = extend({}, opts)\n vars.path = vars.path ? vars.path.replace(/^[/]+/g, '') : ''\n opts = extend(extend({}, this.opts), opts)\n var self = this\n Object.keys(this).forEach(function (key) {\n if (self[key] != null && vars[key] == null) vars[key] = self[key]\n })\n var rawAuth = vars.auth\n var rawcommittish = vars.committish\n var rawFragment = vars.fragment\n var rawPath = vars.path\n var rawProject = vars.project\n Object.keys(vars).forEach(function (key) {\n var value = vars[key]\n if ((key === 'path' || key === 'project') && typeof value === 'string') {\n vars[key] = value.split('/').map(function (pathComponent) {\n return encodeURIComponent(pathComponent)\n }).join('/')\n } else {\n vars[key] = encodeURIComponent(value)\n }\n })\n vars['auth@'] = rawAuth ? rawAuth + '@' : ''\n vars['#fragment'] = rawFragment ? '#' + this.hashformat(rawFragment) : ''\n vars.fragment = vars.fragment ? vars.fragment : ''\n vars['#path'] = rawPath ? '#' + this.hashformat(rawPath) : ''\n vars['/path'] = vars.path ? '/' + vars.path : ''\n vars.projectPath = rawProject.split('/').map(encodeURIComponent).join('/')\n if (opts.noCommittish) {\n vars['#committish'] = ''\n vars['/tree/committish'] = ''\n vars['/committish'] = ''\n vars.committish = ''\n } else {\n vars['#committish'] = rawcommittish ? '#' + rawcommittish : ''\n vars['/tree/committish'] = vars.committish\n ? '/' + vars.treepath + '/' + vars.committish\n : ''\n vars['/committish'] = vars.committish ? '/' + vars.committish : ''\n vars.committish = vars.committish || 'master'\n }\n var res = template\n Object.keys(vars).forEach(function (key) {\n res = res.replace(new RegExp('[{]' + key + '[}]', 'g'), vars[key])\n })\n if (opts.noGitPlus) {\n return res.replace(/^git[+]/, '')\n } else {\n return res\n }\n}\n\nGitHost.prototype.ssh = function (opts) {\n return this._fill(this.sshtemplate, opts)\n}\n\nGitHost.prototype.sshurl = function (opts) {\n return this._fill(this.sshurltemplate, opts)\n}\n\nGitHost.prototype.browse = function (P, F, opts) {\n if (typeof P === 'string') {\n if (typeof F !== 'string') {\n opts = F\n F = null\n }\n return this._fill(this.browsefiletemplate, extend({\n fragment: F,\n path: P\n }, opts))\n } else {\n return this._fill(this.browsetemplate, P)\n }\n}\n\nGitHost.prototype.docs = function (opts) {\n return this._fill(this.docstemplate, opts)\n}\n\nGitHost.prototype.bugs = function (opts) {\n return this._fill(this.bugstemplate, opts)\n}\n\nGitHost.prototype.https = function (opts) {\n return this._fill(this.httpstemplate, opts)\n}\n\nGitHost.prototype.git = function (opts) {\n return this._fill(this.gittemplate, opts)\n}\n\nGitHost.prototype.shortcut = function (opts) {\n return this._fill(this.shortcuttemplate, opts)\n}\n\nGitHost.prototype.path = function (opts) {\n return this._fill(this.pathtemplate, opts)\n}\n\nGitHost.prototype.tarball = function (opts_) {\n var opts = extend({}, opts_, { noCommittish: false })\n return this._fill(this.tarballtemplate, opts)\n}\n\nGitHost.prototype.file = function (P, opts) {\n return this._fill(this.filetemplate, extend({ path: P }, opts))\n}\n\nGitHost.prototype.getDefaultRepresentation = function () {\n return this.default\n}\n\nGitHost.prototype.toString = function (opts) {\n if (this.default && typeof this[this.default] === 'function') return this[this.default](opts)\n return this.sshurl(opts)\n}\n", "'use strict'\nvar url = require('url')\nvar gitHosts = require('./git-host-info.js')\nvar GitHost = module.exports = require('./git-host.js')\n\nvar protocolToRepresentationMap = {\n 'git+ssh:': 'sshurl',\n 'git+https:': 'https',\n 'ssh:': 'sshurl',\n 'git:': 'git'\n}\n\nfunction protocolToRepresentation (protocol) {\n return protocolToRepresentationMap[protocol] || protocol.slice(0, -1)\n}\n\nvar authProtocols = {\n 'git:': true,\n 'https:': true,\n 'git+https:': true,\n 'http:': true,\n 'git+http:': true\n}\n\nvar cache = {}\n\nmodule.exports.fromUrl = function (giturl, opts) {\n if (typeof giturl !== 'string') return\n var key = giturl + JSON.stringify(opts || {})\n\n if (!(key in cache)) {\n cache[key] = fromUrl(giturl, opts)\n }\n\n return cache[key]\n}\n\nfunction fromUrl (giturl, opts) {\n if (giturl == null || giturl === '') return\n var url = fixupUnqualifiedGist(\n isGitHubShorthand(giturl) ? 'github:' + giturl : giturl\n )\n var parsed = parseGitUrl(url)\n var shortcutMatch = url.match(/^([^:]+):(?:[^@]+@)?(?:([^/]*)\\/)?([^#]+)/)\n var matches = Object.keys(gitHosts).map(function (gitHostName) {\n try {\n var gitHostInfo = gitHosts[gitHostName]\n var auth = null\n if (parsed.auth && authProtocols[parsed.protocol]) {\n auth = parsed.auth\n }\n var committish = parsed.hash ? decodeURIComponent(parsed.hash.substr(1)) : null\n var user = null\n var project = null\n var defaultRepresentation = null\n if (shortcutMatch && shortcutMatch[1] === gitHostName) {\n user = shortcutMatch[2] && decodeURIComponent(shortcutMatch[2])\n project = decodeURIComponent(shortcutMatch[3].replace(/\\.git$/, ''))\n defaultRepresentation = 'shortcut'\n } else {\n if (parsed.host && parsed.host !== gitHostInfo.domain && parsed.host.replace(/^www[.]/, '') !== gitHostInfo.domain) return\n if (!gitHostInfo.protocols_re.test(parsed.protocol)) return\n if (!parsed.path) return\n var pathmatch = gitHostInfo.pathmatch\n var matched = parsed.path.match(pathmatch)\n if (!matched) return\n /* istanbul ignore else */\n if (matched[1] !== null && matched[1] !== undefined) {\n user = decodeURIComponent(matched[1].replace(/^:/, ''))\n }\n project = decodeURIComponent(matched[2])\n defaultRepresentation = protocolToRepresentation(parsed.protocol)\n }\n return new GitHost(gitHostName, user, auth, project, committish, defaultRepresentation, opts)\n } catch (ex) {\n /* istanbul ignore else */\n if (ex instanceof URIError) {\n } else throw ex\n }\n }).filter(function (gitHostInfo) { return gitHostInfo })\n if (matches.length !== 1) return\n return matches[0]\n}\n\nfunction isGitHubShorthand (arg) {\n // Note: This does not fully test the git ref format.\n // See https://www.kernel.org/pub/software/scm/git/docs/git-check-ref-format.html\n //\n // The only way to do this properly would be to shell out to\n // git-check-ref-format, and as this is a fast sync function,\n // we don't want to do that. Just let git fail if it turns\n // out that the commit-ish is invalid.\n // GH usernames cannot start with . or -\n return /^[^:@%/\\s.-][^:@%/\\s]*[/][^:@\\s/%]+(?:#.*)?$/.test(arg)\n}\n\nfunction fixupUnqualifiedGist (giturl) {\n // necessary for round-tripping gists\n var parsed = url.parse(giturl)\n if (parsed.protocol === 'gist:' && parsed.host && !parsed.path) {\n return parsed.protocol + '/' + parsed.host\n } else {\n return giturl\n }\n}\n\nfunction parseGitUrl (giturl) {\n var matched = giturl.match(/^([^@]+)@([^:/]+):[/]?((?:[^/]+[/])?[^/]+?)(?:[.]git)?(#.*)?$/)\n if (!matched) {\n var legacy = url.parse(giturl)\n // If we don't have url.URL, then sorry, this is just not fixable.\n // This affects Node <= 6.12.\n if (legacy.auth && typeof url.URL === 'function') {\n // git urls can be in the form of scp-style/ssh-connect strings, like\n // git+ssh://user@host.com:some/path, which the legacy url parser\n // supports, but WhatWG url.URL class does not. However, the legacy\n // parser de-urlencodes the username and password, so something like\n // https://user%3An%40me:p%40ss%3Aword@x.com/ becomes\n // https://user:n@me:p@ss:word@x.com/ which is all kinds of wrong.\n // Pull off just the auth and host, so we dont' get the confusing\n // scp-style URL, then pass that to the WhatWG parser to get the\n // auth properly escaped.\n var authmatch = giturl.match(/[^@]+@[^:/]+/)\n /* istanbul ignore else - this should be impossible */\n if (authmatch) {\n var whatwg = new url.URL(authmatch[0])\n legacy.auth = whatwg.username || ''\n if (whatwg.password) legacy.auth += ':' + whatwg.password\n }\n }\n return legacy\n }\n return {\n protocol: 'git+ssh:',\n slashes: true,\n auth: matched[1],\n host: matched[2],\n port: null,\n hostname: matched[2],\n hash: matched[4],\n search: null,\n query: null,\n pathname: '/' + matched[3],\n path: '/' + matched[3],\n href: 'git+ssh://' + matched[1] + '@' + matched[2] +\n '/' + matched[3] + (matched[4] || '')\n }\n}\n", "'use strict';\n\nvar os = require('os');\n\n// adapted from https://github.com/sindresorhus/os-homedir/blob/11e089f4754db38bb535e5a8416320c4446e8cfd/index.js\n\nmodule.exports = os.homedir || function homedir() {\n var home = process.env.HOME;\n var user = process.env.LOGNAME || process.env.USER || process.env.LNAME || process.env.USERNAME;\n\n if (process.platform === 'win32') {\n return process.env.USERPROFILE || process.env.HOMEDRIVE + process.env.HOMEPATH || home || null;\n }\n\n if (process.platform === 'darwin') {\n return home || (user ? '/Users/' + user : null);\n }\n\n if (process.platform === 'linux') {\n return home || (process.getuid() === 0 ? '/root' : (user ? '/home/' + user : null)); // eslint-disable-line no-extra-parens\n }\n\n return home || null;\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", "'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 path = require('path');\nvar parse = path.parse || require('path-parse'); // eslint-disable-line global-require\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", "'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ 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 call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n", "{\n\t\"assert\": true,\n\t\"node:assert\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"assert/strict\": \">= 15\",\n\t\"node:assert/strict\": \">= 16\",\n\t\"async_hooks\": \">= 8\",\n\t\"node:async_hooks\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"buffer_ieee754\": \">= 0.5 && < 0.9.7\",\n\t\"buffer\": true,\n\t\"node:buffer\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"child_process\": true,\n\t\"node:child_process\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"cluster\": \">= 0.5\",\n\t\"node:cluster\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"console\": true,\n\t\"node:console\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"constants\": true,\n\t\"node:constants\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"crypto\": true,\n\t\"node:crypto\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_debug_agent\": \">= 1 && < 8\",\n\t\"_debugger\": \"< 8\",\n\t\"dgram\": true,\n\t\"node:dgram\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"diagnostics_channel\": [\">= 14.17 && < 15\", \">= 15.1\"],\n\t\"node:diagnostics_channel\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"dns\": true,\n\t\"node:dns\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"dns/promises\": \">= 15\",\n\t\"node:dns/promises\": \">= 16\",\n\t\"domain\": \">= 0.7.12\",\n\t\"node:domain\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"events\": true,\n\t\"node:events\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"freelist\": \"< 6\",\n\t\"fs\": true,\n\t\"node:fs\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"fs/promises\": [\">= 10 && < 10.1\", \">= 14\"],\n\t\"node:fs/promises\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_agent\": \">= 0.11.1\",\n\t\"node:_http_agent\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_client\": \">= 0.11.1\",\n\t\"node:_http_client\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_common\": \">= 0.11.1\",\n\t\"node:_http_common\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_incoming\": \">= 0.11.1\",\n\t\"node:_http_incoming\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_outgoing\": \">= 0.11.1\",\n\t\"node:_http_outgoing\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_server\": \">= 0.11.1\",\n\t\"node:_http_server\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"http\": true,\n\t\"node:http\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"http2\": \">= 8.8\",\n\t\"node:http2\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"https\": true,\n\t\"node:https\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"inspector\": \">= 8\",\n\t\"node:inspector\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"inspector/promises\": [\">= 19\"],\n\t\"node:inspector/promises\": [\">= 19\"],\n\t\"_linklist\": \"< 8\",\n\t\"module\": true,\n\t\"node:module\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"net\": true,\n\t\"node:net\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"node-inspect/lib/_inspect\": \">= 7.6 && < 12\",\n\t\"node-inspect/lib/internal/inspect_client\": \">= 7.6 && < 12\",\n\t\"node-inspect/lib/internal/inspect_repl\": \">= 7.6 && < 12\",\n\t\"os\": true,\n\t\"node:os\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"path\": true,\n\t\"node:path\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"path/posix\": \">= 15.3\",\n\t\"node:path/posix\": \">= 16\",\n\t\"path/win32\": \">= 15.3\",\n\t\"node:path/win32\": \">= 16\",\n\t\"perf_hooks\": \">= 8.5\",\n\t\"node:perf_hooks\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"process\": \">= 1\",\n\t\"node:process\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"punycode\": \">= 0.5\",\n\t\"node:punycode\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"querystring\": true,\n\t\"node:querystring\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"readline\": true,\n\t\"node:readline\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"readline/promises\": \">= 17\",\n\t\"node:readline/promises\": \">= 17\",\n\t\"repl\": true,\n\t\"node:repl\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"node:sea\": [\">= 20.12 && < 21\", \">= 21.7\"],\n\t\"smalloc\": \">= 0.11.5 && < 3\",\n\t\"_stream_duplex\": \">= 0.9.4\",\n\t\"node:_stream_duplex\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_transform\": \">= 0.9.4\",\n\t\"node:_stream_transform\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_wrap\": \">= 1.4.1\",\n\t\"node:_stream_wrap\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_passthrough\": \">= 0.9.4\",\n\t\"node:_stream_passthrough\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_readable\": \">= 0.9.4\",\n\t\"node:_stream_readable\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_writable\": \">= 0.9.4\",\n\t\"node:_stream_writable\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"stream\": true,\n\t\"node:stream\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"stream/consumers\": \">= 16.7\",\n\t\"node:stream/consumers\": \">= 16.7\",\n\t\"stream/promises\": \">= 15\",\n\t\"node:stream/promises\": \">= 16\",\n\t\"stream/web\": \">= 16.5\",\n\t\"node:stream/web\": \">= 16.5\",\n\t\"string_decoder\": true,\n\t\"node:string_decoder\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"sys\": [\">= 0.4 && < 0.7\", \">= 0.8\"],\n\t\"node:sys\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"test/reporters\": \">= 19.9 && < 20.2\",\n\t\"node:test/reporters\": [\">= 18.17 && < 19\", \">= 19.9\", \">= 20\"],\n\t\"test/mock_loader\": \">= 22.3 && < 22.7\",\n\t\"node:test/mock_loader\": \">= 22.3 && < 22.7\",\n\t\"node:test\": [\">= 16.17 && < 17\", \">= 18\"],\n\t\"timers\": true,\n\t\"node:timers\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"timers/promises\": \">= 15\",\n\t\"node:timers/promises\": \">= 16\",\n\t\"_tls_common\": \">= 0.11.13\",\n\t\"node:_tls_common\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_tls_legacy\": \">= 0.11.3 && < 10\",\n\t\"_tls_wrap\": \">= 0.11.3\",\n\t\"node:_tls_wrap\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"tls\": true,\n\t\"node:tls\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"trace_events\": \">= 10\",\n\t\"node:trace_events\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"tty\": true,\n\t\"node:tty\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"url\": true,\n\t\"node:url\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"util\": true,\n\t\"node:util\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"util/types\": \">= 15.3\",\n\t\"node:util/types\": \">= 16\",\n\t\"v8/tools/arguments\": \">= 10 && < 12\",\n\t\"v8/tools/codemap\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/consarray\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/csvparser\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/logreader\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/profile_view\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/splaytree\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8\": \">= 1\",\n\t\"node:v8\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"vm\": true,\n\t\"node:vm\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"wasi\": [\">= 13.4 && < 13.5\", \">= 18.17 && < 19\", \">= 20\"],\n\t\"node:wasi\": [\">= 18.17 && < 19\", \">= 20\"],\n\t\"worker_threads\": \">= 11.7\",\n\t\"node:worker_threads\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"zlib\": \">= 0.5\",\n\t\"node:zlib\": [\">= 14.18 && < 15\", \">= 16\"]\n}\n", "'use strict';\n\nvar hasOwn = require('hasown');\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\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 hasOwn(data, x) && versionIncluded(nodeVersion, data[x]);\n};\n", "var fs = require('fs');\nvar getHomedir = require('./homedir');\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 = process.platform !== 'win32' && fs.realpath && typeof fs.realpath.native === 'function' ? fs.realpath.native : fs.realpath;\n\nvar homedir = getHomedir();\nvar defaultPaths = function () {\n return [\n path.join(homedir, '.node_modules'),\n path.join(homedir, '.node_libraries')\n ];\n};\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 || defaultPaths();\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 \u201C' + pkg.name + '\u201D `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", "{\n\t\"assert\": true,\n\t\"node:assert\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"assert/strict\": \">= 15\",\n\t\"node:assert/strict\": \">= 16\",\n\t\"async_hooks\": \">= 8\",\n\t\"node:async_hooks\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"buffer_ieee754\": \">= 0.5 && < 0.9.7\",\n\t\"buffer\": true,\n\t\"node:buffer\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"child_process\": true,\n\t\"node:child_process\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"cluster\": \">= 0.5\",\n\t\"node:cluster\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"console\": true,\n\t\"node:console\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"constants\": true,\n\t\"node:constants\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"crypto\": true,\n\t\"node:crypto\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_debug_agent\": \">= 1 && < 8\",\n\t\"_debugger\": \"< 8\",\n\t\"dgram\": true,\n\t\"node:dgram\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"diagnostics_channel\": [\">= 14.17 && < 15\", \">= 15.1\"],\n\t\"node:diagnostics_channel\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"dns\": true,\n\t\"node:dns\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"dns/promises\": \">= 15\",\n\t\"node:dns/promises\": \">= 16\",\n\t\"domain\": \">= 0.7.12\",\n\t\"node:domain\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"events\": true,\n\t\"node:events\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"freelist\": \"< 6\",\n\t\"fs\": true,\n\t\"node:fs\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"fs/promises\": [\">= 10 && < 10.1\", \">= 14\"],\n\t\"node:fs/promises\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_agent\": \">= 0.11.1\",\n\t\"node:_http_agent\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_client\": \">= 0.11.1\",\n\t\"node:_http_client\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_common\": \">= 0.11.1\",\n\t\"node:_http_common\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_incoming\": \">= 0.11.1\",\n\t\"node:_http_incoming\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_outgoing\": \">= 0.11.1\",\n\t\"node:_http_outgoing\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_server\": \">= 0.11.1\",\n\t\"node:_http_server\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"http\": true,\n\t\"node:http\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"http2\": \">= 8.8\",\n\t\"node:http2\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"https\": true,\n\t\"node:https\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"inspector\": \">= 8\",\n\t\"node:inspector\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"inspector/promises\": [\">= 19\"],\n\t\"node:inspector/promises\": [\">= 19\"],\n\t\"_linklist\": \"< 8\",\n\t\"module\": true,\n\t\"node:module\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"net\": true,\n\t\"node:net\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"node-inspect/lib/_inspect\": \">= 7.6 && < 12\",\n\t\"node-inspect/lib/internal/inspect_client\": \">= 7.6 && < 12\",\n\t\"node-inspect/lib/internal/inspect_repl\": \">= 7.6 && < 12\",\n\t\"os\": true,\n\t\"node:os\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"path\": true,\n\t\"node:path\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"path/posix\": \">= 15.3\",\n\t\"node:path/posix\": \">= 16\",\n\t\"path/win32\": \">= 15.3\",\n\t\"node:path/win32\": \">= 16\",\n\t\"perf_hooks\": \">= 8.5\",\n\t\"node:perf_hooks\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"process\": \">= 1\",\n\t\"node:process\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"punycode\": \">= 0.5\",\n\t\"node:punycode\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"querystring\": true,\n\t\"node:querystring\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"readline\": true,\n\t\"node:readline\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"readline/promises\": \">= 17\",\n\t\"node:readline/promises\": \">= 17\",\n\t\"repl\": true,\n\t\"node:repl\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"smalloc\": \">= 0.11.5 && < 3\",\n\t\"_stream_duplex\": \">= 0.9.4\",\n\t\"node:_stream_duplex\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_transform\": \">= 0.9.4\",\n\t\"node:_stream_transform\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_wrap\": \">= 1.4.1\",\n\t\"node:_stream_wrap\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_passthrough\": \">= 0.9.4\",\n\t\"node:_stream_passthrough\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_readable\": \">= 0.9.4\",\n\t\"node:_stream_readable\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_writable\": \">= 0.9.4\",\n\t\"node:_stream_writable\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"stream\": true,\n\t\"node:stream\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"stream/consumers\": \">= 16.7\",\n\t\"node:stream/consumers\": \">= 16.7\",\n\t\"stream/promises\": \">= 15\",\n\t\"node:stream/promises\": \">= 16\",\n\t\"stream/web\": \">= 16.5\",\n\t\"node:stream/web\": \">= 16.5\",\n\t\"string_decoder\": true,\n\t\"node:string_decoder\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"sys\": [\">= 0.4 && < 0.7\", \">= 0.8\"],\n\t\"node:sys\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"test/reporters\": \">= 19.9 && < 20.2\",\n\t\"node:test/reporters\": [\">= 18.17 && < 19\", \">= 19.9\", \">= 20\"],\n\t\"node:test\": [\">= 16.17 && < 17\", \">= 18\"],\n\t\"timers\": true,\n\t\"node:timers\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"timers/promises\": \">= 15\",\n\t\"node:timers/promises\": \">= 16\",\n\t\"_tls_common\": \">= 0.11.13\",\n\t\"node:_tls_common\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_tls_legacy\": \">= 0.11.3 && < 10\",\n\t\"_tls_wrap\": \">= 0.11.3\",\n\t\"node:_tls_wrap\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"tls\": true,\n\t\"node:tls\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"trace_events\": \">= 10\",\n\t\"node:trace_events\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"tty\": true,\n\t\"node:tty\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"url\": true,\n\t\"node:url\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"util\": true,\n\t\"node:util\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"util/types\": \">= 15.3\",\n\t\"node:util/types\": \">= 16\",\n\t\"v8/tools/arguments\": \">= 10 && < 12\",\n\t\"v8/tools/codemap\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/consarray\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/csvparser\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/logreader\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/profile_view\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/splaytree\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8\": \">= 1\",\n\t\"node:v8\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"vm\": true,\n\t\"node:vm\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"wasi\": [\">= 13.4 && < 13.5\", \">= 18.17 && < 19\", \">= 20\"],\n\t\"node:wasi\": [\">= 18.17 && < 19\", \">= 20\"],\n\t\"worker_threads\": \">= 11.7\",\n\t\"node:worker_threads\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"zlib\": \">= 0.5\",\n\t\"node:zlib\": [\">= 14.18 && < 15\", \">= 16\"]\n}\n", "'use strict';\n\nvar isCoreModule = require('is-core-module');\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] = isCoreModule(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 isCore = require('is-core-module');\nvar fs = require('fs');\nvar path = require('path');\nvar getHomedir = require('./homedir');\nvar caller = require('./caller');\nvar nodeModulesPaths = require('./node-modules-paths');\nvar normalizeOptions = require('./normalize-options');\n\nvar realpathFS = process.platform !== 'win32' && fs.realpathSync && typeof fs.realpathSync.native === 'function' ? fs.realpathSync.native : fs.realpathSync;\n\nvar homedir = getHomedir();\nvar defaultPaths = function () {\n return [\n path.join(homedir, '.node_modules'),\n path.join(homedir, '.node_libraries')\n ];\n};\n\nvar defaultIsFile = function isFile(file) {\n try {\n var stat = fs.statSync(file, { throwIfNoEntry: false });\n } catch (e) {\n if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;\n throw e;\n }\n return !!stat && (stat.isFile() || stat.isFIFO());\n};\n\nvar defaultIsDir = function isDirectory(dir) {\n try {\n var stat = fs.statSync(dir, { throwIfNoEntry: false });\n } catch (e) {\n if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;\n throw e;\n }\n return !!stat && 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 || defaultPaths();\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 \u201C' + pkg.name + '\u201D `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", "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", "module.exports = extractDescription\n\n// Extracts description from contents of a readme file in markdown format\nfunction extractDescription (d) {\n if (!d) return;\n if (d === \"ERROR: No README data found!\") return;\n // the first block of text before the first heading\n // that isn't the first line heading\n d = d.trim().split('\\n')\n for (var s = 0; d[s] && d[s].trim().match(/^(#|$)/); s ++);\n var l = d.length\n for (var e = s + 1; e < l && d[e].trim(); e ++);\n return d.slice(s, e).join(' ').trim()\n}\n", "{\n \"topLevel\": {\n \"dependancies\": \"dependencies\"\n ,\"dependecies\": \"dependencies\"\n ,\"depdenencies\": \"dependencies\"\n ,\"devEependencies\": \"devDependencies\"\n ,\"depends\": \"dependencies\"\n ,\"dev-dependencies\": \"devDependencies\"\n ,\"devDependences\": \"devDependencies\"\n ,\"devDepenencies\": \"devDependencies\"\n ,\"devdependencies\": \"devDependencies\"\n ,\"repostitory\": \"repository\"\n ,\"repo\": \"repository\"\n ,\"prefereGlobal\": \"preferGlobal\"\n ,\"hompage\": \"homepage\"\n ,\"hampage\": \"homepage\"\n ,\"autohr\": \"author\"\n ,\"autor\": \"author\"\n ,\"contributers\": \"contributors\"\n ,\"publicationConfig\": \"publishConfig\"\n ,\"script\": \"scripts\"\n },\n \"bugs\": { \"web\": \"url\", \"name\": \"url\" },\n \"script\": { \"server\": \"start\", \"tests\": \"test\" }\n}\n", "var semver = require(\"semver\")\nvar validateLicense = require('validate-npm-package-license');\nvar hostedGitInfo = require(\"hosted-git-info\")\nvar isBuiltinModule = require(\"resolve\").isCore\nvar depTypes = [\"dependencies\",\"devDependencies\",\"optionalDependencies\"]\nvar extractDescription = require(\"./extract_description\")\nvar url = require(\"url\")\nvar typos = require(\"./typos.json\")\n\nvar fixer = module.exports = {\n // default warning function\n warn: function() {},\n\n fixRepositoryField: function(data) {\n if (data.repositories) {\n this.warn(\"repositories\");\n data.repository = data.repositories[0]\n }\n if (!data.repository) return this.warn(\"missingRepository\")\n if (typeof data.repository === \"string\") {\n data.repository = {\n type: \"git\",\n url: data.repository\n }\n }\n var r = data.repository.url || \"\"\n if (r) {\n var hosted = hostedGitInfo.fromUrl(r)\n if (hosted) {\n r = data.repository.url\n = hosted.getDefaultRepresentation() == \"shortcut\" ? hosted.https() : hosted.toString()\n }\n }\n\n if (r.match(/github.com\\/[^\\/]+\\/[^\\/]+\\.git\\.git$/)) {\n this.warn(\"brokenGitUrl\", r)\n }\n }\n\n, fixTypos: function(data) {\n Object.keys(typos.topLevel).forEach(function (d) {\n if (data.hasOwnProperty(d)) {\n this.warn(\"typo\", d, typos.topLevel[d])\n }\n }, this)\n }\n\n, fixScriptsField: function(data) {\n if (!data.scripts) return\n if (typeof data.scripts !== \"object\") {\n this.warn(\"nonObjectScripts\")\n delete data.scripts\n return\n }\n Object.keys(data.scripts).forEach(function (k) {\n if (typeof data.scripts[k] !== \"string\") {\n this.warn(\"nonStringScript\")\n delete data.scripts[k]\n } else if (typos.script[k] && !data.scripts[typos.script[k]]) {\n this.warn(\"typo\", k, typos.script[k], \"scripts\")\n }\n }, this)\n }\n\n, fixFilesField: function(data) {\n var files = data.files\n if (files && !Array.isArray(files)) {\n this.warn(\"nonArrayFiles\")\n delete data.files\n } else if (data.files) {\n data.files = data.files.filter(function(file) {\n if (!file || typeof file !== \"string\") {\n this.warn(\"invalidFilename\", file)\n return false\n } else {\n return true\n }\n }, this)\n }\n }\n\n, fixBinField: function(data) {\n if (!data.bin) return;\n if (typeof data.bin === \"string\") {\n var b = {}\n var match\n if (match = data.name.match(/^@[^/]+[/](.*)$/)) {\n b[match[1]] = data.bin\n } else {\n b[data.name] = data.bin\n }\n data.bin = b\n }\n }\n\n, fixManField: function(data) {\n if (!data.man) return;\n if (typeof data.man === \"string\") {\n data.man = [ data.man ]\n }\n }\n, fixBundleDependenciesField: function(data) {\n var bdd = \"bundledDependencies\"\n var bd = \"bundleDependencies\"\n if (data[bdd] && !data[bd]) {\n data[bd] = data[bdd]\n delete data[bdd]\n }\n if (data[bd] && !Array.isArray(data[bd])) {\n this.warn(\"nonArrayBundleDependencies\")\n delete data[bd]\n } else if (data[bd]) {\n data[bd] = data[bd].filter(function(bd) {\n if (!bd || typeof bd !== 'string') {\n this.warn(\"nonStringBundleDependency\", bd)\n return false\n } else {\n if (!data.dependencies) {\n data.dependencies = {}\n }\n if (!data.dependencies.hasOwnProperty(bd)) {\n this.warn(\"nonDependencyBundleDependency\", bd)\n data.dependencies[bd] = \"*\"\n }\n return true\n }\n }, this)\n }\n }\n\n, fixDependencies: function(data, strict) {\n var loose = !strict\n objectifyDeps(data, this.warn)\n addOptionalDepsToDeps(data, this.warn)\n this.fixBundleDependenciesField(data)\n\n ;['dependencies','devDependencies'].forEach(function(deps) {\n if (!(deps in data)) return\n if (!data[deps] || typeof data[deps] !== \"object\") {\n this.warn(\"nonObjectDependencies\", deps)\n delete data[deps]\n return\n }\n Object.keys(data[deps]).forEach(function (d) {\n var r = data[deps][d]\n if (typeof r !== 'string') {\n this.warn(\"nonStringDependency\", d, JSON.stringify(r))\n delete data[deps][d]\n }\n var hosted = hostedGitInfo.fromUrl(data[deps][d])\n if (hosted) data[deps][d] = hosted.toString()\n }, this)\n }, this)\n }\n\n, fixModulesField: function (data) {\n if (data.modules) {\n this.warn(\"deprecatedModules\")\n delete data.modules\n }\n }\n\n, fixKeywordsField: function (data) {\n if (typeof data.keywords === \"string\") {\n data.keywords = data.keywords.split(/,\\s+/)\n }\n if (data.keywords && !Array.isArray(data.keywords)) {\n delete data.keywords\n this.warn(\"nonArrayKeywords\")\n } else if (data.keywords) {\n data.keywords = data.keywords.filter(function(kw) {\n if (typeof kw !== \"string\" || !kw) {\n this.warn(\"nonStringKeyword\");\n return false\n } else {\n return true\n }\n }, this)\n }\n }\n\n, fixVersionField: function(data, strict) {\n // allow \"loose\" semver 1.0 versions in non-strict mode\n // enforce strict semver 2.0 compliance in strict mode\n var loose = !strict\n if (!data.version) {\n data.version = \"\"\n return true\n }\n if (!semver.valid(data.version, loose)) {\n throw new Error('Invalid version: \"'+ data.version + '\"')\n }\n data.version = semver.clean(data.version, loose)\n return true\n }\n\n, fixPeople: function(data) {\n modifyPeople(data, unParsePerson)\n modifyPeople(data, parsePerson)\n }\n\n, fixNameField: function(data, options) {\n if (typeof options === \"boolean\") options = {strict: options}\n else if (typeof options === \"undefined\") options = {}\n var strict = options.strict\n if (!data.name && !strict) {\n data.name = \"\"\n return\n }\n if (typeof data.name !== \"string\") {\n throw new Error(\"name field must be a string.\")\n }\n if (!strict)\n data.name = data.name.trim()\n ensureValidName(data.name, strict, options.allowLegacyCase)\n if (isBuiltinModule(data.name))\n this.warn(\"conflictingName\", data.name)\n }\n\n\n, fixDescriptionField: function (data) {\n if (data.description && typeof data.description !== 'string') {\n this.warn(\"nonStringDescription\")\n delete data.description\n }\n if (data.readme && !data.description)\n data.description = extractDescription(data.readme)\n if(data.description === undefined) delete data.description;\n if (!data.description) this.warn(\"missingDescription\")\n }\n\n, fixReadmeField: function (data) {\n if (!data.readme) {\n this.warn(\"missingReadme\")\n data.readme = \"ERROR: No README data found!\"\n }\n }\n\n, fixBugsField: function(data) {\n if (!data.bugs && data.repository && data.repository.url) {\n var hosted = hostedGitInfo.fromUrl(data.repository.url)\n if(hosted && hosted.bugs()) {\n data.bugs = {url: hosted.bugs()}\n }\n }\n else if(data.bugs) {\n var emailRe = /^.+@.*\\..+$/\n if(typeof data.bugs == \"string\") {\n if(emailRe.test(data.bugs))\n data.bugs = {email:data.bugs}\n else if(url.parse(data.bugs).protocol)\n data.bugs = {url: data.bugs}\n else\n this.warn(\"nonEmailUrlBugsString\")\n }\n else {\n bugsTypos(data.bugs, this.warn)\n var oldBugs = data.bugs\n data.bugs = {}\n if(oldBugs.url) {\n if(typeof(oldBugs.url) == \"string\" && url.parse(oldBugs.url).protocol)\n data.bugs.url = oldBugs.url\n else\n this.warn(\"nonUrlBugsUrlField\")\n }\n if(oldBugs.email) {\n if(typeof(oldBugs.email) == \"string\" && emailRe.test(oldBugs.email))\n data.bugs.email = oldBugs.email\n else\n this.warn(\"nonEmailBugsEmailField\")\n }\n }\n if(!data.bugs.email && !data.bugs.url) {\n delete data.bugs\n this.warn(\"emptyNormalizedBugs\")\n }\n }\n }\n\n, fixHomepageField: function(data) {\n if (!data.homepage && data.repository && data.repository.url) {\n var hosted = hostedGitInfo.fromUrl(data.repository.url)\n if (hosted && hosted.docs()) data.homepage = hosted.docs()\n }\n if (!data.homepage) return\n\n if(typeof data.homepage !== \"string\") {\n this.warn(\"nonUrlHomepage\")\n return delete data.homepage\n }\n if(!url.parse(data.homepage).protocol) {\n data.homepage = \"http://\" + data.homepage\n }\n }\n\n, fixLicenseField: function(data) {\n if (!data.license) {\n return this.warn(\"missingLicense\")\n } else{\n if (\n typeof(data.license) !== 'string' ||\n data.license.length < 1 ||\n data.license.trim() === ''\n ) {\n this.warn(\"invalidLicense\")\n } else {\n if (!validateLicense(data.license).validForNewPackages)\n this.warn(\"invalidLicense\")\n }\n }\n }\n}\n\nfunction isValidScopedPackageName(spec) {\n if (spec.charAt(0) !== '@') return false\n\n var rest = spec.slice(1).split('/')\n if (rest.length !== 2) return false\n\n return rest[0] && rest[1] &&\n rest[0] === encodeURIComponent(rest[0]) &&\n rest[1] === encodeURIComponent(rest[1])\n}\n\nfunction isCorrectlyEncodedName(spec) {\n return !spec.match(/[\\/@\\s\\+%:]/) &&\n spec === encodeURIComponent(spec)\n}\n\nfunction ensureValidName (name, strict, allowLegacyCase) {\n if (name.charAt(0) === \".\" ||\n !(isValidScopedPackageName(name) || isCorrectlyEncodedName(name)) ||\n (strict && (!allowLegacyCase) && name !== name.toLowerCase()) ||\n name.toLowerCase() === \"node_modules\" ||\n name.toLowerCase() === \"favicon.ico\") {\n throw new Error(\"Invalid name: \" + JSON.stringify(name))\n }\n}\n\nfunction modifyPeople (data, fn) {\n if (data.author) data.author = fn(data.author)\n ;[\"maintainers\", \"contributors\"].forEach(function (set) {\n if (!Array.isArray(data[set])) return;\n data[set] = data[set].map(fn)\n })\n return data\n}\n\nfunction unParsePerson (person) {\n if (typeof person === \"string\") return person\n var name = person.name || \"\"\n var u = person.url || person.web\n var url = u ? (\" (\"+u+\")\") : \"\"\n var e = person.email || person.mail\n var email = e ? (\" <\"+e+\">\") : \"\"\n return name+email+url\n}\n\nfunction parsePerson (person) {\n if (typeof person !== \"string\") return person\n var name = person.match(/^([^\\(<]+)/)\n var url = person.match(/\\(([^\\)]+)\\)/)\n var email = person.match(/<([^>]+)>/)\n var obj = {}\n if (name && name[0].trim()) obj.name = name[0].trim()\n if (email) obj.email = email[1];\n if (url) obj.url = url[1];\n return obj\n}\n\nfunction addOptionalDepsToDeps (data, warn) {\n var o = data.optionalDependencies\n if (!o) return;\n var d = data.dependencies || {}\n Object.keys(o).forEach(function (k) {\n d[k] = o[k]\n })\n data.dependencies = d\n}\n\nfunction depObjectify (deps, type, warn) {\n if (!deps) return {}\n if (typeof deps === \"string\") {\n deps = deps.trim().split(/[\\n\\r\\s\\t ,]+/)\n }\n if (!Array.isArray(deps)) return deps\n warn(\"deprecatedArrayDependencies\", type)\n var o = {}\n deps.filter(function (d) {\n return typeof d === \"string\"\n }).forEach(function(d) {\n d = d.trim().split(/(:?[@\\s><=])/)\n var dn = d.shift()\n var dv = d.join(\"\")\n dv = dv.trim()\n dv = dv.replace(/^@/, \"\")\n o[dn] = dv\n })\n return o\n}\n\nfunction objectifyDeps (data, warn) {\n depTypes.forEach(function (type) {\n if (!data[type]) return;\n data[type] = depObjectify(data[type], type, warn)\n })\n}\n\nfunction bugsTypos(bugs, warn) {\n if (!bugs) return\n Object.keys(bugs).forEach(function (k) {\n if (typos.bugs[k]) {\n warn(\"typo\", k, typos.bugs[k], \"bugs\")\n bugs[typos.bugs[k]] = bugs[k]\n delete bugs[k]\n }\n })\n}\n", "{\n \"repositories\": \"'repositories' (plural) Not supported. Please pick one as the 'repository' field\"\n ,\"missingRepository\": \"No repository field.\"\n ,\"brokenGitUrl\": \"Probably broken git url: %s\"\n ,\"nonObjectScripts\": \"scripts must be an object\"\n ,\"nonStringScript\": \"script values must be string commands\"\n ,\"nonArrayFiles\": \"Invalid 'files' member\"\n ,\"invalidFilename\": \"Invalid filename in 'files' list: %s\"\n ,\"nonArrayBundleDependencies\": \"Invalid 'bundleDependencies' list. Must be array of package names\"\n ,\"nonStringBundleDependency\": \"Invalid bundleDependencies member: %s\"\n ,\"nonDependencyBundleDependency\": \"Non-dependency in bundleDependencies: %s\"\n ,\"nonObjectDependencies\": \"%s field must be an object\"\n ,\"nonStringDependency\": \"Invalid dependency: %s %s\"\n ,\"deprecatedArrayDependencies\": \"specifying %s as array is deprecated\"\n ,\"deprecatedModules\": \"modules field is deprecated\"\n ,\"nonArrayKeywords\": \"keywords should be an array of strings\"\n ,\"nonStringKeyword\": \"keywords should be an array of strings\"\n ,\"conflictingName\": \"%s is also the name of a node core module.\"\n ,\"nonStringDescription\": \"'description' field should be a string\"\n ,\"missingDescription\": \"No description\"\n ,\"missingReadme\": \"No README data\"\n ,\"missingLicense\": \"No license field.\"\n ,\"nonEmailUrlBugsString\": \"Bug string field must be url, email, or {email,url}\"\n ,\"nonUrlBugsUrlField\": \"bugs.url field must be a string url. Deleted.\"\n ,\"nonEmailBugsEmailField\": \"bugs.email field must be a string email. Deleted.\"\n ,\"emptyNormalizedBugs\": \"Normalized value of bugs field is an empty object. Deleted.\"\n ,\"nonUrlHomepage\": \"homepage field must be a string url. Deleted.\"\n ,\"invalidLicense\": \"license should be a valid SPDX license expression\"\n ,\"typo\": \"%s should probably be %s.\"\n}\n", "var util = require(\"util\")\nvar messages = require(\"./warning_messages.json\")\n\nmodule.exports = function() {\n var args = Array.prototype.slice.call(arguments, 0)\n var warningName = args.shift()\n if (warningName == \"typo\") {\n return makeTypoWarning.apply(null,args)\n }\n else {\n var msgTemplate = messages[warningName] ? messages[warningName] : warningName + \": '%s'\"\n args.unshift(msgTemplate)\n return util.format.apply(null, args)\n }\n}\n\nfunction makeTypoWarning (providedName, probableName, field) {\n if (field) {\n providedName = field + \"['\" + providedName + \"']\"\n probableName = field + \"['\" + probableName + \"']\"\n }\n return util.format(messages.typo, providedName, probableName)\n}\n", "module.exports = normalize\n\nvar fixer = require(\"./fixer\")\nnormalize.fixer = fixer\n\nvar makeWarning = require(\"./make_warning\")\n\nvar fieldsToFix = ['name','version','description','repository','modules','scripts'\n ,'files','bin','man','bugs','keywords','readme','homepage','license']\nvar otherThingsToFix = ['dependencies','people', 'typos']\n\nvar thingsToFix = fieldsToFix.map(function(fieldName) {\n return ucFirst(fieldName) + \"Field\"\n})\n// two ways to do this in CoffeeScript on only one line, sub-70 chars:\n// thingsToFix = fieldsToFix.map (name) -> ucFirst(name) + \"Field\"\n// thingsToFix = (ucFirst(name) + \"Field\" for name in fieldsToFix)\nthingsToFix = thingsToFix.concat(otherThingsToFix)\n\nfunction normalize (data, warn, strict) {\n if(warn === true) warn = null, strict = true\n if(!strict) strict = false\n if(!warn || data.private) warn = function(msg) { /* noop */ }\n\n if (data.scripts &&\n data.scripts.install === \"node-gyp rebuild\" &&\n !data.scripts.preinstall) {\n data.gypfile = true\n }\n fixer.warn = function() { warn(makeWarning.apply(null, arguments)) }\n thingsToFix.forEach(function(thingName) {\n fixer[\"fix\" + ucFirst(thingName)](data, strict)\n })\n data._id = data.name + \"@\" + data.version\n}\n\nfunction ucFirst (string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n", "'use strict';\nconst {promisify} = require('util');\nconst fs = require('fs');\nconst path = require('path');\nconst parseJson = require('parse-json');\n\nconst readFileAsync = promisify(fs.readFile);\n\nmodule.exports = async options => {\n\toptions = {\n\t\tcwd: process.cwd(),\n\t\tnormalize: true,\n\t\t...options\n\t};\n\n\tconst filePath = path.resolve(options.cwd, 'package.json');\n\tconst json = parseJson(await readFileAsync(filePath, 'utf8'));\n\n\tif (options.normalize) {\n\t\trequire('normalize-package-data')(json);\n\t}\n\n\treturn json;\n};\n\nmodule.exports.sync = options => {\n\toptions = {\n\t\tcwd: process.cwd(),\n\t\tnormalize: true,\n\t\t...options\n\t};\n\n\tconst filePath = path.resolve(options.cwd, 'package.json');\n\tconst json = parseJson(fs.readFileSync(filePath, 'utf8'));\n\n\tif (options.normalize) {\n\t\trequire('normalize-package-data')(json);\n\t}\n\n\treturn json;\n};\n", "'use strict';\nconst path = require('path');\nconst findUp = require('find-up');\nconst readPkg = require('read-pkg');\n\nmodule.exports = async options => {\n\tconst filePath = await findUp('package.json', options);\n\n\tif (!filePath) {\n\t\treturn;\n\t}\n\n\treturn {\n\t\tpackageJson: await readPkg({...options, cwd: path.dirname(filePath)}),\n\t\tpath: filePath\n\t};\n};\n\nmodule.exports.sync = options => {\n\tconst filePath = findUp.sync('package.json', options);\n\n\tif (!filePath) {\n\t\treturn;\n\t}\n\n\treturn {\n\t\tpackageJson: readPkg.sync({...options, cwd: path.dirname(filePath)}),\n\t\tpath: filePath\n\t};\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.crossLaunchCommand = exports.callbackLaunchCommand = void 0;\nconst api_1 = require(\"@raycast/api\");\nconst read_pkg_up_1 = require(\"read-pkg-up\");\nconst callbackLaunchCommand = async (options, result) => (0, api_1.launchCommand)({\n ...options,\n context: {\n ...options.context,\n ...result,\n },\n});\nexports.callbackLaunchCommand = callbackLaunchCommand;\nconst crossLaunchCommand = async (options, callbackLaunchOptions) => {\n if (callbackLaunchOptions === false) {\n return (0, api_1.launchCommand)(options);\n }\n // eslint-disable-next-line unicorn/prefer-module, @typescript-eslint/no-unsafe-assignment\n const pack = (0, read_pkg_up_1.sync)({ cwd: __dirname, normalize: false });\n const ownerOrAuthorName = \n // The `ownerOrAuthorName` was introduced in @raycast/api@1.78.0. We use a fallback to support older versions.\n api_1.environment.ownerOrAuthorName ??\n (pack?.packageJson?.owner ?? pack?.packageJson?.author);\n if ('ownerOrAuthorName' in options) {\n const targetHandle = `${options.ownerOrAuthorName}/${options.extensionName}`;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n if (!pack?.packageJson?.crossExtensions?.includes(targetHandle)) {\n const message = `Target extension '${targetHandle}' should be listed in 'crossExtensions' of package.json.`;\n console.error(message);\n return;\n }\n }\n return (0, api_1.launchCommand)({\n ...options,\n context: {\n ...options.context,\n callbackLaunchOptions: {\n name: api_1.environment.commandName,\n extensionName: api_1.environment.extensionName,\n ownerOrAuthorName,\n type: api_1.LaunchType.UserInitiated,\n ...callbackLaunchOptions,\n },\n },\n });\n};\nexports.crossLaunchCommand = crossLaunchCommand;\n", "\n/**\n * @license\n *\n * chroma.js - JavaScript library for color conversions\n * \n * Copyright (c) 2011-2017, Gregor Aisch\n * All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * \n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n * \n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n * \n * 3. The name Gregor Aisch may not be used to endorse or promote products\n * derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n */\n\n(function() {\n var Color, DEG2RAD, LAB_CONSTANTS, PI, PITHIRD, RAD2DEG, TWOPI, _average_lrgb, _guess_formats, _guess_formats_sorted, _input, _interpolators, abs, atan2, bezier, blend, blend_f, brewer, burn, chroma, clip_rgb, cmyk2rgb, colors, cos, css2rgb, darken, dodge, each, floor, hcg2rgb, hex2rgb, hsi2rgb, hsl2css, hsl2rgb, hsv2rgb, interpolate, interpolate_hsx, interpolate_lab, interpolate_lrgb, interpolate_num, interpolate_rgb, lab2lch, lab2rgb, lab_xyz, lch2lab, lch2rgb, lighten, limit, log, luminance_x, m, max, multiply, normal, num2rgb, overlay, pow, rgb2cmyk, rgb2css, rgb2hcg, rgb2hex, rgb2hsi, rgb2hsl, rgb2hsv, rgb2lab, rgb2lch, rgb2luminance, rgb2num, rgb2temperature, rgb2xyz, rgb_xyz, rnd, root, round, screen, sin, sqrt, temperature2rgb, type, unpack, w3cx11, xyz_lab, xyz_rgb,\n slice = [].slice;\n\n type = (function() {\n\n /*\n for browser-safe type checking+\n ported from jQuery's $.type\n */\n var classToType, len, name, o, ref;\n classToType = {};\n ref = \"Boolean Number String Function Array Date RegExp Undefined Null\".split(\" \");\n for (o = 0, len = ref.length; o < len; o++) {\n name = ref[o];\n classToType[\"[object \" + name + \"]\"] = name.toLowerCase();\n }\n return function(obj) {\n var strType;\n strType = Object.prototype.toString.call(obj);\n return classToType[strType] || \"object\";\n };\n })();\n\n limit = function(x, min, max) {\n if (min == null) {\n min = 0;\n }\n if (max == null) {\n max = 1;\n }\n if (x < min) {\n x = min;\n }\n if (x > max) {\n x = max;\n }\n return x;\n };\n\n unpack = function(args) {\n if (args.length >= 3) {\n return Array.prototype.slice.call(args);\n } else {\n return args[0];\n }\n };\n\n clip_rgb = function(rgb) {\n var i, o;\n rgb._clipped = false;\n rgb._unclipped = rgb.slice(0);\n for (i = o = 0; o < 3; i = ++o) {\n if (i < 3) {\n if (rgb[i] < 0 || rgb[i] > 255) {\n rgb._clipped = true;\n }\n if (rgb[i] < 0) {\n rgb[i] = 0;\n }\n if (rgb[i] > 255) {\n rgb[i] = 255;\n }\n } else if (i === 3) {\n if (rgb[i] < 0) {\n rgb[i] = 0;\n }\n if (rgb[i] > 1) {\n rgb[i] = 1;\n }\n }\n }\n if (!rgb._clipped) {\n delete rgb._unclipped;\n }\n return rgb;\n };\n\n PI = Math.PI, round = Math.round, cos = Math.cos, floor = Math.floor, pow = Math.pow, log = Math.log, sin = Math.sin, sqrt = Math.sqrt, atan2 = Math.atan2, max = Math.max, abs = Math.abs;\n\n TWOPI = PI * 2;\n\n PITHIRD = PI / 3;\n\n DEG2RAD = PI / 180;\n\n RAD2DEG = 180 / PI;\n\n chroma = function() {\n if (arguments[0] instanceof Color) {\n return arguments[0];\n }\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, arguments, function(){});\n };\n\n chroma[\"default\"] = chroma;\n\n _interpolators = [];\n\n if ((typeof module !== \"undefined\" && module !== null) && (module.exports != null)) {\n module.exports = chroma;\n }\n\n if (typeof define === 'function' && define.amd) {\n define([], function() {\n return chroma;\n });\n } else {\n root = typeof exports !== \"undefined\" && exports !== null ? exports : this;\n root.chroma = chroma;\n }\n\n chroma.version = '1.4.1';\n\n _input = {};\n\n _guess_formats = [];\n\n _guess_formats_sorted = false;\n\n Color = (function() {\n function Color() {\n var arg, args, chk, len, len1, me, mode, o, w;\n me = this;\n args = [];\n for (o = 0, len = arguments.length; o < len; o++) {\n arg = arguments[o];\n if (arg != null) {\n args.push(arg);\n }\n }\n if (args.length > 1) {\n mode = args[args.length - 1];\n }\n if (_input[mode] != null) {\n me._rgb = clip_rgb(_input[mode](unpack(args.slice(0, -1))));\n } else {\n if (!_guess_formats_sorted) {\n _guess_formats = _guess_formats.sort(function(a, b) {\n return b.p - a.p;\n });\n _guess_formats_sorted = true;\n }\n for (w = 0, len1 = _guess_formats.length; w < len1; w++) {\n chk = _guess_formats[w];\n mode = chk.test.apply(chk, args);\n if (mode) {\n break;\n }\n }\n if (mode) {\n me._rgb = clip_rgb(_input[mode].apply(_input, args));\n }\n }\n if (me._rgb == null) {\n console.warn('unknown format: ' + args);\n }\n if (me._rgb == null) {\n me._rgb = [0, 0, 0];\n }\n if (me._rgb.length === 3) {\n me._rgb.push(1);\n }\n }\n\n Color.prototype.toString = function() {\n return this.hex();\n };\n\n return Color;\n\n })();\n\n chroma._input = _input;\n\n\n /**\n \tColorBrewer colors for chroma.js\n \n \tCopyright (c) 2002 Cynthia Brewer, Mark Harrower, and The \n \tPennsylvania State University.\n \n \tLicensed under the Apache License, Version 2.0 (the \"License\"); \n \tyou may not use this file except in compliance with the License.\n \tYou may obtain a copy of the License at\t\n \thttp://www.apache.org/licenses/LICENSE-2.0\n \n \tUnless required by applicable law or agreed to in writing, software distributed\n \tunder the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n \tCONDITIONS OF ANY KIND, either express or implied. See the License for the\n \tspecific language governing permissions and limitations under the License.\n \n @preserve\n */\n\n chroma.brewer = brewer = {\n OrRd: ['#fff7ec', '#fee8c8', '#fdd49e', '#fdbb84', '#fc8d59', '#ef6548', '#d7301f', '#b30000', '#7f0000'],\n PuBu: ['#fff7fb', '#ece7f2', '#d0d1e6', '#a6bddb', '#74a9cf', '#3690c0', '#0570b0', '#045a8d', '#023858'],\n BuPu: ['#f7fcfd', '#e0ecf4', '#bfd3e6', '#9ebcda', '#8c96c6', '#8c6bb1', '#88419d', '#810f7c', '#4d004b'],\n Oranges: ['#fff5eb', '#fee6ce', '#fdd0a2', '#fdae6b', '#fd8d3c', '#f16913', '#d94801', '#a63603', '#7f2704'],\n BuGn: ['#f7fcfd', '#e5f5f9', '#ccece6', '#99d8c9', '#66c2a4', '#41ae76', '#238b45', '#006d2c', '#00441b'],\n YlOrBr: ['#ffffe5', '#fff7bc', '#fee391', '#fec44f', '#fe9929', '#ec7014', '#cc4c02', '#993404', '#662506'],\n YlGn: ['#ffffe5', '#f7fcb9', '#d9f0a3', '#addd8e', '#78c679', '#41ab5d', '#238443', '#006837', '#004529'],\n Reds: ['#fff5f0', '#fee0d2', '#fcbba1', '#fc9272', '#fb6a4a', '#ef3b2c', '#cb181d', '#a50f15', '#67000d'],\n RdPu: ['#fff7f3', '#fde0dd', '#fcc5c0', '#fa9fb5', '#f768a1', '#dd3497', '#ae017e', '#7a0177', '#49006a'],\n Greens: ['#f7fcf5', '#e5f5e0', '#c7e9c0', '#a1d99b', '#74c476', '#41ab5d', '#238b45', '#006d2c', '#00441b'],\n YlGnBu: ['#ffffd9', '#edf8b1', '#c7e9b4', '#7fcdbb', '#41b6c4', '#1d91c0', '#225ea8', '#253494', '#081d58'],\n Purples: ['#fcfbfd', '#efedf5', '#dadaeb', '#bcbddc', '#9e9ac8', '#807dba', '#6a51a3', '#54278f', '#3f007d'],\n GnBu: ['#f7fcf0', '#e0f3db', '#ccebc5', '#a8ddb5', '#7bccc4', '#4eb3d3', '#2b8cbe', '#0868ac', '#084081'],\n Greys: ['#ffffff', '#f0f0f0', '#d9d9d9', '#bdbdbd', '#969696', '#737373', '#525252', '#252525', '#000000'],\n YlOrRd: ['#ffffcc', '#ffeda0', '#fed976', '#feb24c', '#fd8d3c', '#fc4e2a', '#e31a1c', '#bd0026', '#800026'],\n PuRd: ['#f7f4f9', '#e7e1ef', '#d4b9da', '#c994c7', '#df65b0', '#e7298a', '#ce1256', '#980043', '#67001f'],\n Blues: ['#f7fbff', '#deebf7', '#c6dbef', '#9ecae1', '#6baed6', '#4292c6', '#2171b5', '#08519c', '#08306b'],\n PuBuGn: ['#fff7fb', '#ece2f0', '#d0d1e6', '#a6bddb', '#67a9cf', '#3690c0', '#02818a', '#016c59', '#014636'],\n Viridis: ['#440154', '#482777', '#3f4a8a', '#31678e', '#26838f', '#1f9d8a', '#6cce5a', '#b6de2b', '#fee825'],\n Spectral: ['#9e0142', '#d53e4f', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#e6f598', '#abdda4', '#66c2a5', '#3288bd', '#5e4fa2'],\n RdYlGn: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#d9ef8b', '#a6d96a', '#66bd63', '#1a9850', '#006837'],\n RdBu: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#f7f7f7', '#d1e5f0', '#92c5de', '#4393c3', '#2166ac', '#053061'],\n PiYG: ['#8e0152', '#c51b7d', '#de77ae', '#f1b6da', '#fde0ef', '#f7f7f7', '#e6f5d0', '#b8e186', '#7fbc41', '#4d9221', '#276419'],\n PRGn: ['#40004b', '#762a83', '#9970ab', '#c2a5cf', '#e7d4e8', '#f7f7f7', '#d9f0d3', '#a6dba0', '#5aae61', '#1b7837', '#00441b'],\n RdYlBu: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee090', '#ffffbf', '#e0f3f8', '#abd9e9', '#74add1', '#4575b4', '#313695'],\n BrBG: ['#543005', '#8c510a', '#bf812d', '#dfc27d', '#f6e8c3', '#f5f5f5', '#c7eae5', '#80cdc1', '#35978f', '#01665e', '#003c30'],\n RdGy: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#ffffff', '#e0e0e0', '#bababa', '#878787', '#4d4d4d', '#1a1a1a'],\n PuOr: ['#7f3b08', '#b35806', '#e08214', '#fdb863', '#fee0b6', '#f7f7f7', '#d8daeb', '#b2abd2', '#8073ac', '#542788', '#2d004b'],\n Set2: ['#66c2a5', '#fc8d62', '#8da0cb', '#e78ac3', '#a6d854', '#ffd92f', '#e5c494', '#b3b3b3'],\n Accent: ['#7fc97f', '#beaed4', '#fdc086', '#ffff99', '#386cb0', '#f0027f', '#bf5b17', '#666666'],\n Set1: ['#e41a1c', '#377eb8', '#4daf4a', '#984ea3', '#ff7f00', '#ffff33', '#a65628', '#f781bf', '#999999'],\n Set3: ['#8dd3c7', '#ffffb3', '#bebada', '#fb8072', '#80b1d3', '#fdb462', '#b3de69', '#fccde5', '#d9d9d9', '#bc80bd', '#ccebc5', '#ffed6f'],\n Dark2: ['#1b9e77', '#d95f02', '#7570b3', '#e7298a', '#66a61e', '#e6ab02', '#a6761d', '#666666'],\n Paired: ['#a6cee3', '#1f78b4', '#b2df8a', '#33a02c', '#fb9a99', '#e31a1c', '#fdbf6f', '#ff7f00', '#cab2d6', '#6a3d9a', '#ffff99', '#b15928'],\n Pastel2: ['#b3e2cd', '#fdcdac', '#cbd5e8', '#f4cae4', '#e6f5c9', '#fff2ae', '#f1e2cc', '#cccccc'],\n Pastel1: ['#fbb4ae', '#b3cde3', '#ccebc5', '#decbe4', '#fed9a6', '#ffffcc', '#e5d8bd', '#fddaec', '#f2f2f2']\n };\n\n (function() {\n var key, results;\n results = [];\n for (key in brewer) {\n results.push(brewer[key.toLowerCase()] = brewer[key]);\n }\n return results;\n })();\n\n\n /**\n \tX11 color names\n \n \thttp://www.w3.org/TR/css3-color/#svg-color\n */\n\n w3cx11 = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflower: '#6495ed',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n gold: '#ffd700',\n goldenrod: '#daa520',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n laserlemon: '#ffff54',\n lavender: '#e6e6fa',\n lavenderblush: '#fff0f5',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrod: '#fafad2',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n maroon2: '#7f0000',\n maroon3: '#b03060',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n purple2: '#7f007f',\n purple3: '#a020f0',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32'\n };\n\n chroma.colors = colors = w3cx11;\n\n lab2rgb = function() {\n var a, args, b, g, l, r, x, y, z;\n args = unpack(arguments);\n l = args[0], a = args[1], b = args[2];\n y = (l + 16) / 116;\n x = isNaN(a) ? y : y + a / 500;\n z = isNaN(b) ? y : y - b / 200;\n y = LAB_CONSTANTS.Yn * lab_xyz(y);\n x = LAB_CONSTANTS.Xn * lab_xyz(x);\n z = LAB_CONSTANTS.Zn * lab_xyz(z);\n r = xyz_rgb(3.2404542 * x - 1.5371385 * y - 0.4985314 * z);\n g = xyz_rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z);\n b = xyz_rgb(0.0556434 * x - 0.2040259 * y + 1.0572252 * z);\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n xyz_rgb = function(r) {\n return 255 * (r <= 0.00304 ? 12.92 * r : 1.055 * pow(r, 1 / 2.4) - 0.055);\n };\n\n lab_xyz = function(t) {\n if (t > LAB_CONSTANTS.t1) {\n return t * t * t;\n } else {\n return LAB_CONSTANTS.t2 * (t - LAB_CONSTANTS.t0);\n }\n };\n\n LAB_CONSTANTS = {\n Kn: 18,\n Xn: 0.950470,\n Yn: 1,\n Zn: 1.088830,\n t0: 0.137931034,\n t1: 0.206896552,\n t2: 0.12841855,\n t3: 0.008856452\n };\n\n rgb2lab = function() {\n var b, g, r, ref, ref1, x, y, z;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n ref1 = rgb2xyz(r, g, b), x = ref1[0], y = ref1[1], z = ref1[2];\n return [116 * y - 16, 500 * (x - y), 200 * (y - z)];\n };\n\n rgb_xyz = function(r) {\n if ((r /= 255) <= 0.04045) {\n return r / 12.92;\n } else {\n return pow((r + 0.055) / 1.055, 2.4);\n }\n };\n\n xyz_lab = function(t) {\n if (t > LAB_CONSTANTS.t3) {\n return pow(t, 1 / 3);\n } else {\n return t / LAB_CONSTANTS.t2 + LAB_CONSTANTS.t0;\n }\n };\n\n rgb2xyz = function() {\n var b, g, r, ref, x, y, z;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n r = rgb_xyz(r);\n g = rgb_xyz(g);\n b = rgb_xyz(b);\n x = xyz_lab((0.4124564 * r + 0.3575761 * g + 0.1804375 * b) / LAB_CONSTANTS.Xn);\n y = xyz_lab((0.2126729 * r + 0.7151522 * g + 0.0721750 * b) / LAB_CONSTANTS.Yn);\n z = xyz_lab((0.0193339 * r + 0.1191920 * g + 0.9503041 * b) / LAB_CONSTANTS.Zn);\n return [x, y, z];\n };\n\n chroma.lab = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['lab']), function(){});\n };\n\n _input.lab = lab2rgb;\n\n Color.prototype.lab = function() {\n return rgb2lab(this._rgb);\n };\n\n bezier = function(colors) {\n var I, I0, I1, c, lab0, lab1, lab2, lab3, ref, ref1, ref2;\n colors = (function() {\n var len, o, results;\n results = [];\n for (o = 0, len = colors.length; o < len; o++) {\n c = colors[o];\n results.push(chroma(c));\n }\n return results;\n })();\n if (colors.length === 2) {\n ref = (function() {\n var len, o, results;\n results = [];\n for (o = 0, len = colors.length; o < len; o++) {\n c = colors[o];\n results.push(c.lab());\n }\n return results;\n })(), lab0 = ref[0], lab1 = ref[1];\n I = function(t) {\n var i, lab;\n lab = (function() {\n var o, results;\n results = [];\n for (i = o = 0; o <= 2; i = ++o) {\n results.push(lab0[i] + t * (lab1[i] - lab0[i]));\n }\n return results;\n })();\n return chroma.lab.apply(chroma, lab);\n };\n } else if (colors.length === 3) {\n ref1 = (function() {\n var len, o, results;\n results = [];\n for (o = 0, len = colors.length; o < len; o++) {\n c = colors[o];\n results.push(c.lab());\n }\n return results;\n })(), lab0 = ref1[0], lab1 = ref1[1], lab2 = ref1[2];\n I = function(t) {\n var i, lab;\n lab = (function() {\n var o, results;\n results = [];\n for (i = o = 0; o <= 2; i = ++o) {\n results.push((1 - t) * (1 - t) * lab0[i] + 2 * (1 - t) * t * lab1[i] + t * t * lab2[i]);\n }\n return results;\n })();\n return chroma.lab.apply(chroma, lab);\n };\n } else if (colors.length === 4) {\n ref2 = (function() {\n var len, o, results;\n results = [];\n for (o = 0, len = colors.length; o < len; o++) {\n c = colors[o];\n results.push(c.lab());\n }\n return results;\n })(), lab0 = ref2[0], lab1 = ref2[1], lab2 = ref2[2], lab3 = ref2[3];\n I = function(t) {\n var i, lab;\n lab = (function() {\n var o, results;\n results = [];\n for (i = o = 0; o <= 2; i = ++o) {\n results.push((1 - t) * (1 - t) * (1 - t) * lab0[i] + 3 * (1 - t) * (1 - t) * t * lab1[i] + 3 * (1 - t) * t * t * lab2[i] + t * t * t * lab3[i]);\n }\n return results;\n })();\n return chroma.lab.apply(chroma, lab);\n };\n } else if (colors.length === 5) {\n I0 = bezier(colors.slice(0, 3));\n I1 = bezier(colors.slice(2, 5));\n I = function(t) {\n if (t < 0.5) {\n return I0(t * 2);\n } else {\n return I1((t - 0.5) * 2);\n }\n };\n }\n return I;\n };\n\n chroma.bezier = function(colors) {\n var f;\n f = bezier(colors);\n f.scale = function() {\n return chroma.scale(f);\n };\n return f;\n };\n\n chroma.cubehelix = function(start, rotations, hue, gamma, lightness) {\n var dh, dl, f;\n if (start == null) {\n start = 300;\n }\n if (rotations == null) {\n rotations = -1.5;\n }\n if (hue == null) {\n hue = 1;\n }\n if (gamma == null) {\n gamma = 1;\n }\n if (lightness == null) {\n lightness = [0, 1];\n }\n dh = 0;\n if (type(lightness) === 'array') {\n dl = lightness[1] - lightness[0];\n } else {\n dl = 0;\n lightness = [lightness, lightness];\n }\n f = function(fract) {\n var a, amp, b, cos_a, g, h, l, r, sin_a;\n a = TWOPI * ((start + 120) / 360 + rotations * fract);\n l = pow(lightness[0] + dl * fract, gamma);\n h = dh !== 0 ? hue[0] + fract * dh : hue;\n amp = h * l * (1 - l) / 2;\n cos_a = cos(a);\n sin_a = sin(a);\n r = l + amp * (-0.14861 * cos_a + 1.78277 * sin_a);\n g = l + amp * (-0.29227 * cos_a - 0.90649 * sin_a);\n b = l + amp * (+1.97294 * cos_a);\n return chroma(clip_rgb([r * 255, g * 255, b * 255, 1]));\n };\n f.start = function(s) {\n if (s == null) {\n return start;\n }\n start = s;\n return f;\n };\n f.rotations = function(r) {\n if (r == null) {\n return rotations;\n }\n rotations = r;\n return f;\n };\n f.gamma = function(g) {\n if (g == null) {\n return gamma;\n }\n gamma = g;\n return f;\n };\n f.hue = function(h) {\n if (h == null) {\n return hue;\n }\n hue = h;\n if (type(hue) === 'array') {\n dh = hue[1] - hue[0];\n if (dh === 0) {\n hue = hue[1];\n }\n } else {\n dh = 0;\n }\n return f;\n };\n f.lightness = function(h) {\n if (h == null) {\n return lightness;\n }\n if (type(h) === 'array') {\n lightness = h;\n dl = h[1] - h[0];\n } else {\n lightness = [h, h];\n dl = 0;\n }\n return f;\n };\n f.scale = function() {\n return chroma.scale(f);\n };\n f.hue(hue);\n return f;\n };\n\n chroma.random = function() {\n var code, digits, i, o;\n digits = '0123456789abcdef';\n code = '#';\n for (i = o = 0; o < 6; i = ++o) {\n code += digits.charAt(floor(Math.random() * 16));\n }\n return new Color(code);\n };\n\n _interpolators = [];\n\n interpolate = function(col1, col2, f, m) {\n var interpol, len, o, res;\n if (f == null) {\n f = 0.5;\n }\n if (m == null) {\n m = 'rgb';\n }\n\n /*\n interpolates between colors\n f = 0 --> me\n f = 1 --> col\n */\n if (type(col1) !== 'object') {\n col1 = chroma(col1);\n }\n if (type(col2) !== 'object') {\n col2 = chroma(col2);\n }\n for (o = 0, len = _interpolators.length; o < len; o++) {\n interpol = _interpolators[o];\n if (m === interpol[0]) {\n res = interpol[1](col1, col2, f, m);\n break;\n }\n }\n if (res == null) {\n throw \"color mode \" + m + \" is not supported\";\n }\n return res.alpha(col1.alpha() + f * (col2.alpha() - col1.alpha()));\n };\n\n chroma.interpolate = interpolate;\n\n Color.prototype.interpolate = function(col2, f, m) {\n return interpolate(this, col2, f, m);\n };\n\n chroma.mix = interpolate;\n\n Color.prototype.mix = Color.prototype.interpolate;\n\n _input.rgb = function() {\n var k, ref, results, v;\n ref = unpack(arguments);\n results = [];\n for (k in ref) {\n v = ref[k];\n results.push(v);\n }\n return results;\n };\n\n chroma.rgb = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['rgb']), function(){});\n };\n\n Color.prototype.rgb = function(round) {\n if (round == null) {\n round = true;\n }\n if (round) {\n return this._rgb.map(Math.round).slice(0, 3);\n } else {\n return this._rgb.slice(0, 3);\n }\n };\n\n Color.prototype.rgba = function(round) {\n if (round == null) {\n round = true;\n }\n if (!round) {\n return this._rgb.slice(0);\n }\n return [Math.round(this._rgb[0]), Math.round(this._rgb[1]), Math.round(this._rgb[2]), this._rgb[3]];\n };\n\n _guess_formats.push({\n p: 3,\n test: function(n) {\n var a;\n a = unpack(arguments);\n if (type(a) === 'array' && a.length === 3) {\n return 'rgb';\n }\n if (a.length === 4 && type(a[3]) === \"number\" && a[3] >= 0 && a[3] <= 1) {\n return 'rgb';\n }\n }\n });\n\n _input.lrgb = _input.rgb;\n\n interpolate_lrgb = function(col1, col2, f, m) {\n var xyz0, xyz1;\n xyz0 = col1._rgb;\n xyz1 = col2._rgb;\n return new Color(sqrt(pow(xyz0[0], 2) * (1 - f) + pow(xyz1[0], 2) * f), sqrt(pow(xyz0[1], 2) * (1 - f) + pow(xyz1[1], 2) * f), sqrt(pow(xyz0[2], 2) * (1 - f) + pow(xyz1[2], 2) * f), m);\n };\n\n _average_lrgb = function(colors) {\n var col, f, len, o, rgb, xyz;\n f = 1 / colors.length;\n xyz = [0, 0, 0, 0];\n for (o = 0, len = colors.length; o < len; o++) {\n col = colors[o];\n rgb = col._rgb;\n xyz[0] += pow(rgb[0], 2) * f;\n xyz[1] += pow(rgb[1], 2) * f;\n xyz[2] += pow(rgb[2], 2) * f;\n xyz[3] += rgb[3] * f;\n }\n xyz[0] = sqrt(xyz[0]);\n xyz[1] = sqrt(xyz[1]);\n xyz[2] = sqrt(xyz[2]);\n if (xyz[3] > 1) {\n xyz[3] = 1;\n }\n return new Color(clip_rgb(xyz));\n };\n\n _interpolators.push(['lrgb', interpolate_lrgb]);\n\n chroma.average = function(colors, mode) {\n var A, alpha, c, cnt, dx, dy, first, i, l, len, o, xyz, xyz2;\n if (mode == null) {\n mode = 'rgb';\n }\n l = colors.length;\n colors = colors.map(function(c) {\n return chroma(c);\n });\n first = colors.splice(0, 1)[0];\n if (mode === 'lrgb') {\n return _average_lrgb(colors);\n }\n xyz = first.get(mode);\n cnt = [];\n dx = 0;\n dy = 0;\n for (i in xyz) {\n xyz[i] = xyz[i] || 0;\n cnt.push(isNaN(xyz[i]) ? 0 : 1);\n if (mode.charAt(i) === 'h' && !isNaN(xyz[i])) {\n A = xyz[i] / 180 * PI;\n dx += cos(A);\n dy += sin(A);\n }\n }\n alpha = first.alpha();\n for (o = 0, len = colors.length; o < len; o++) {\n c = colors[o];\n xyz2 = c.get(mode);\n alpha += c.alpha();\n for (i in xyz) {\n if (!isNaN(xyz2[i])) {\n cnt[i] += 1;\n if (mode.charAt(i) === 'h') {\n A = xyz2[i] / 180 * PI;\n dx += cos(A);\n dy += sin(A);\n } else {\n xyz[i] += xyz2[i];\n }\n }\n }\n }\n for (i in xyz) {\n if (mode.charAt(i) === 'h') {\n A = atan2(dy / cnt[i], dx / cnt[i]) / PI * 180;\n while (A < 0) {\n A += 360;\n }\n while (A >= 360) {\n A -= 360;\n }\n xyz[i] = A;\n } else {\n xyz[i] = xyz[i] / cnt[i];\n }\n }\n return chroma(xyz, mode).alpha(alpha / l);\n };\n\n hex2rgb = function(hex) {\n var a, b, g, r, rgb, u;\n if (hex.match(/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/)) {\n if (hex.length === 4 || hex.length === 7) {\n hex = hex.substr(1);\n }\n if (hex.length === 3) {\n hex = hex.split(\"\");\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n }\n u = parseInt(hex, 16);\n r = u >> 16;\n g = u >> 8 & 0xFF;\n b = u & 0xFF;\n return [r, g, b, 1];\n }\n if (hex.match(/^#?([A-Fa-f0-9]{8})$/)) {\n if (hex.length === 9) {\n hex = hex.substr(1);\n }\n u = parseInt(hex, 16);\n r = u >> 24 & 0xFF;\n g = u >> 16 & 0xFF;\n b = u >> 8 & 0xFF;\n a = round((u & 0xFF) / 0xFF * 100) / 100;\n return [r, g, b, a];\n }\n if ((_input.css != null) && (rgb = _input.css(hex))) {\n return rgb;\n }\n throw \"unknown color: \" + hex;\n };\n\n rgb2hex = function(channels, mode) {\n var a, b, g, hxa, r, str, u;\n if (mode == null) {\n mode = 'auto';\n }\n r = channels[0], g = channels[1], b = channels[2], a = channels[3];\n if (mode === 'auto') {\n mode = a < 1 ? 'rgba' : 'rgb';\n }\n r = Math.round(r);\n g = Math.round(g);\n b = Math.round(b);\n u = r << 16 | g << 8 | b;\n str = \"000000\" + u.toString(16);\n str = str.substr(str.length - 6);\n hxa = '0' + round(a * 255).toString(16);\n hxa = hxa.substr(hxa.length - 2);\n return \"#\" + (function() {\n switch (mode.toLowerCase()) {\n case 'rgba':\n return str + hxa;\n case 'argb':\n return hxa + str;\n default:\n return str;\n }\n })();\n };\n\n _input.hex = function(h) {\n return hex2rgb(h);\n };\n\n chroma.hex = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['hex']), function(){});\n };\n\n Color.prototype.hex = function(mode) {\n if (mode == null) {\n mode = 'auto';\n }\n return rgb2hex(this._rgb, mode);\n };\n\n _guess_formats.push({\n p: 4,\n test: function(n) {\n if (arguments.length === 1 && type(n) === \"string\") {\n return 'hex';\n }\n }\n });\n\n hsl2rgb = function() {\n var args, b, c, g, h, i, l, o, r, ref, s, t1, t2, t3;\n args = unpack(arguments);\n h = args[0], s = args[1], l = args[2];\n if (s === 0) {\n r = g = b = l * 255;\n } else {\n t3 = [0, 0, 0];\n c = [0, 0, 0];\n t2 = l < 0.5 ? l * (1 + s) : l + s - l * s;\n t1 = 2 * l - t2;\n h /= 360;\n t3[0] = h + 1 / 3;\n t3[1] = h;\n t3[2] = h - 1 / 3;\n for (i = o = 0; o <= 2; i = ++o) {\n if (t3[i] < 0) {\n t3[i] += 1;\n }\n if (t3[i] > 1) {\n t3[i] -= 1;\n }\n if (6 * t3[i] < 1) {\n c[i] = t1 + (t2 - t1) * 6 * t3[i];\n } else if (2 * t3[i] < 1) {\n c[i] = t2;\n } else if (3 * t3[i] < 2) {\n c[i] = t1 + (t2 - t1) * ((2 / 3) - t3[i]) * 6;\n } else {\n c[i] = t1;\n }\n }\n ref = [round(c[0] * 255), round(c[1] * 255), round(c[2] * 255)], r = ref[0], g = ref[1], b = ref[2];\n }\n if (args.length > 3) {\n return [r, g, b, args[3]];\n } else {\n return [r, g, b];\n }\n };\n\n rgb2hsl = function(r, g, b) {\n var h, l, min, ref, s;\n if (r !== void 0 && r.length >= 3) {\n ref = r, r = ref[0], g = ref[1], b = ref[2];\n }\n r /= 255;\n g /= 255;\n b /= 255;\n min = Math.min(r, g, b);\n max = Math.max(r, g, b);\n l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = Number.NaN;\n } else {\n s = l < 0.5 ? (max - min) / (max + min) : (max - min) / (2 - max - min);\n }\n if (r === max) {\n h = (g - b) / (max - min);\n } else if (g === max) {\n h = 2 + (b - r) / (max - min);\n } else if (b === max) {\n h = 4 + (r - g) / (max - min);\n }\n h *= 60;\n if (h < 0) {\n h += 360;\n }\n return [h, s, l];\n };\n\n chroma.hsl = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['hsl']), function(){});\n };\n\n _input.hsl = hsl2rgb;\n\n Color.prototype.hsl = function() {\n return rgb2hsl(this._rgb);\n };\n\n hsv2rgb = function() {\n var args, b, f, g, h, i, p, q, r, ref, ref1, ref2, ref3, ref4, ref5, s, t, v;\n args = unpack(arguments);\n h = args[0], s = args[1], v = args[2];\n v *= 255;\n if (s === 0) {\n r = g = b = v;\n } else {\n if (h === 360) {\n h = 0;\n }\n if (h > 360) {\n h -= 360;\n }\n if (h < 0) {\n h += 360;\n }\n h /= 60;\n i = floor(h);\n f = h - i;\n p = v * (1 - s);\n q = v * (1 - s * f);\n t = v * (1 - s * (1 - f));\n switch (i) {\n case 0:\n ref = [v, t, p], r = ref[0], g = ref[1], b = ref[2];\n break;\n case 1:\n ref1 = [q, v, p], r = ref1[0], g = ref1[1], b = ref1[2];\n break;\n case 2:\n ref2 = [p, v, t], r = ref2[0], g = ref2[1], b = ref2[2];\n break;\n case 3:\n ref3 = [p, q, v], r = ref3[0], g = ref3[1], b = ref3[2];\n break;\n case 4:\n ref4 = [t, p, v], r = ref4[0], g = ref4[1], b = ref4[2];\n break;\n case 5:\n ref5 = [v, p, q], r = ref5[0], g = ref5[1], b = ref5[2];\n }\n }\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n rgb2hsv = function() {\n var b, delta, g, h, min, r, ref, s, v;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n min = Math.min(r, g, b);\n max = Math.max(r, g, b);\n delta = max - min;\n v = max / 255.0;\n if (max === 0) {\n h = Number.NaN;\n s = 0;\n } else {\n s = delta / max;\n if (r === max) {\n h = (g - b) / delta;\n }\n if (g === max) {\n h = 2 + (b - r) / delta;\n }\n if (b === max) {\n h = 4 + (r - g) / delta;\n }\n h *= 60;\n if (h < 0) {\n h += 360;\n }\n }\n return [h, s, v];\n };\n\n chroma.hsv = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['hsv']), function(){});\n };\n\n _input.hsv = hsv2rgb;\n\n Color.prototype.hsv = function() {\n return rgb2hsv(this._rgb);\n };\n\n num2rgb = function(num) {\n var b, g, r;\n if (type(num) === \"number\" && num >= 0 && num <= 0xFFFFFF) {\n r = num >> 16;\n g = (num >> 8) & 0xFF;\n b = num & 0xFF;\n return [r, g, b, 1];\n }\n console.warn(\"unknown num color: \" + num);\n return [0, 0, 0, 1];\n };\n\n rgb2num = function() {\n var b, g, r, ref;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n return (r << 16) + (g << 8) + b;\n };\n\n chroma.num = function(num) {\n return new Color(num, 'num');\n };\n\n Color.prototype.num = function(mode) {\n if (mode == null) {\n mode = 'rgb';\n }\n return rgb2num(this._rgb, mode);\n };\n\n _input.num = num2rgb;\n\n _guess_formats.push({\n p: 1,\n test: function(n) {\n if (arguments.length === 1 && type(n) === \"number\" && n >= 0 && n <= 0xFFFFFF) {\n return 'num';\n }\n }\n });\n\n hcg2rgb = function() {\n var _c, _g, args, b, c, f, g, h, i, p, q, r, ref, ref1, ref2, ref3, ref4, ref5, t, v;\n args = unpack(arguments);\n h = args[0], c = args[1], _g = args[2];\n c = c / 100;\n g = g / 100 * 255;\n _c = c * 255;\n if (c === 0) {\n r = g = b = _g;\n } else {\n if (h === 360) {\n h = 0;\n }\n if (h > 360) {\n h -= 360;\n }\n if (h < 0) {\n h += 360;\n }\n h /= 60;\n i = floor(h);\n f = h - i;\n p = _g * (1 - c);\n q = p + _c * (1 - f);\n t = p + _c * f;\n v = p + _c;\n switch (i) {\n case 0:\n ref = [v, t, p], r = ref[0], g = ref[1], b = ref[2];\n break;\n case 1:\n ref1 = [q, v, p], r = ref1[0], g = ref1[1], b = ref1[2];\n break;\n case 2:\n ref2 = [p, v, t], r = ref2[0], g = ref2[1], b = ref2[2];\n break;\n case 3:\n ref3 = [p, q, v], r = ref3[0], g = ref3[1], b = ref3[2];\n break;\n case 4:\n ref4 = [t, p, v], r = ref4[0], g = ref4[1], b = ref4[2];\n break;\n case 5:\n ref5 = [v, p, q], r = ref5[0], g = ref5[1], b = ref5[2];\n }\n }\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n rgb2hcg = function() {\n var _g, b, c, delta, g, h, min, r, ref;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n min = Math.min(r, g, b);\n max = Math.max(r, g, b);\n delta = max - min;\n c = delta * 100 / 255;\n _g = min / (255 - delta) * 100;\n if (delta === 0) {\n h = Number.NaN;\n } else {\n if (r === max) {\n h = (g - b) / delta;\n }\n if (g === max) {\n h = 2 + (b - r) / delta;\n }\n if (b === max) {\n h = 4 + (r - g) / delta;\n }\n h *= 60;\n if (h < 0) {\n h += 360;\n }\n }\n return [h, c, _g];\n };\n\n chroma.hcg = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['hcg']), function(){});\n };\n\n _input.hcg = hcg2rgb;\n\n Color.prototype.hcg = function() {\n return rgb2hcg(this._rgb);\n };\n\n css2rgb = function(css) {\n var aa, ab, hsl, i, m, o, rgb, w;\n css = css.toLowerCase();\n if ((chroma.colors != null) && chroma.colors[css]) {\n return hex2rgb(chroma.colors[css]);\n }\n if (m = css.match(/rgb\\(\\s*(\\-?\\d+),\\s*(\\-?\\d+)\\s*,\\s*(\\-?\\d+)\\s*\\)/)) {\n rgb = m.slice(1, 4);\n for (i = o = 0; o <= 2; i = ++o) {\n rgb[i] = +rgb[i];\n }\n rgb[3] = 1;\n } else if (m = css.match(/rgba\\(\\s*(\\-?\\d+),\\s*(\\-?\\d+)\\s*,\\s*(\\-?\\d+)\\s*,\\s*([01]|[01]?\\.\\d+)\\)/)) {\n rgb = m.slice(1, 5);\n for (i = w = 0; w <= 3; i = ++w) {\n rgb[i] = +rgb[i];\n }\n } else if (m = css.match(/rgb\\(\\s*(\\-?\\d+(?:\\.\\d+)?)%,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*\\)/)) {\n rgb = m.slice(1, 4);\n for (i = aa = 0; aa <= 2; i = ++aa) {\n rgb[i] = round(rgb[i] * 2.55);\n }\n rgb[3] = 1;\n } else if (m = css.match(/rgba\\(\\s*(\\-?\\d+(?:\\.\\d+)?)%,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)/)) {\n rgb = m.slice(1, 5);\n for (i = ab = 0; ab <= 2; i = ++ab) {\n rgb[i] = round(rgb[i] * 2.55);\n }\n rgb[3] = +rgb[3];\n } else if (m = css.match(/hsl\\(\\s*(\\-?\\d+(?:\\.\\d+)?),\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*\\)/)) {\n hsl = m.slice(1, 4);\n hsl[1] *= 0.01;\n hsl[2] *= 0.01;\n rgb = hsl2rgb(hsl);\n rgb[3] = 1;\n } else if (m = css.match(/hsla\\(\\s*(\\-?\\d+(?:\\.\\d+)?),\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)/)) {\n hsl = m.slice(1, 4);\n hsl[1] *= 0.01;\n hsl[2] *= 0.01;\n rgb = hsl2rgb(hsl);\n rgb[3] = +m[4];\n }\n return rgb;\n };\n\n rgb2css = function(rgba) {\n var mode;\n mode = rgba[3] < 1 ? 'rgba' : 'rgb';\n if (mode === 'rgb') {\n return mode + '(' + rgba.slice(0, 3).map(round).join(',') + ')';\n } else if (mode === 'rgba') {\n return mode + '(' + rgba.slice(0, 3).map(round).join(',') + ',' + rgba[3] + ')';\n } else {\n\n }\n };\n\n rnd = function(a) {\n return round(a * 100) / 100;\n };\n\n hsl2css = function(hsl, alpha) {\n var mode;\n mode = alpha < 1 ? 'hsla' : 'hsl';\n hsl[0] = rnd(hsl[0] || 0);\n hsl[1] = rnd(hsl[1] * 100) + '%';\n hsl[2] = rnd(hsl[2] * 100) + '%';\n if (mode === 'hsla') {\n hsl[3] = alpha;\n }\n return mode + '(' + hsl.join(',') + ')';\n };\n\n _input.css = function(h) {\n return css2rgb(h);\n };\n\n chroma.css = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['css']), function(){});\n };\n\n Color.prototype.css = function(mode) {\n if (mode == null) {\n mode = 'rgb';\n }\n if (mode.slice(0, 3) === 'rgb') {\n return rgb2css(this._rgb);\n } else if (mode.slice(0, 3) === 'hsl') {\n return hsl2css(this.hsl(), this.alpha());\n }\n };\n\n _input.named = function(name) {\n return hex2rgb(w3cx11[name]);\n };\n\n _guess_formats.push({\n p: 5,\n test: function(n) {\n if (arguments.length === 1 && (w3cx11[n] != null)) {\n return 'named';\n }\n }\n });\n\n Color.prototype.name = function(n) {\n var h, k;\n if (arguments.length) {\n if (w3cx11[n]) {\n this._rgb = hex2rgb(w3cx11[n]);\n }\n this._rgb[3] = 1;\n this;\n }\n h = this.hex('rgb');\n for (k in w3cx11) {\n if (h === w3cx11[k]) {\n return k;\n }\n }\n return h;\n };\n\n lch2lab = function() {\n\n /*\n Convert from a qualitative parameter h and a quantitative parameter l to a 24-bit pixel.\n These formulas were invented by David Dalrymple to obtain maximum contrast without going\n out of gamut if the parameters are in the range 0-1.\n \n A saturation multiplier was added by Gregor Aisch\n */\n var c, h, l, ref;\n ref = unpack(arguments), l = ref[0], c = ref[1], h = ref[2];\n h = h * DEG2RAD;\n return [l, cos(h) * c, sin(h) * c];\n };\n\n lch2rgb = function() {\n var L, a, args, b, c, g, h, l, r, ref, ref1;\n args = unpack(arguments);\n l = args[0], c = args[1], h = args[2];\n ref = lch2lab(l, c, h), L = ref[0], a = ref[1], b = ref[2];\n ref1 = lab2rgb(L, a, b), r = ref1[0], g = ref1[1], b = ref1[2];\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n lab2lch = function() {\n var a, b, c, h, l, ref;\n ref = unpack(arguments), l = ref[0], a = ref[1], b = ref[2];\n c = sqrt(a * a + b * b);\n h = (atan2(b, a) * RAD2DEG + 360) % 360;\n if (round(c * 10000) === 0) {\n h = Number.NaN;\n }\n return [l, c, h];\n };\n\n rgb2lch = function() {\n var a, b, g, l, r, ref, ref1;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n ref1 = rgb2lab(r, g, b), l = ref1[0], a = ref1[1], b = ref1[2];\n return lab2lch(l, a, b);\n };\n\n chroma.lch = function() {\n var args;\n args = unpack(arguments);\n return new Color(args, 'lch');\n };\n\n chroma.hcl = function() {\n var args;\n args = unpack(arguments);\n return new Color(args, 'hcl');\n };\n\n _input.lch = lch2rgb;\n\n _input.hcl = function() {\n var c, h, l, ref;\n ref = unpack(arguments), h = ref[0], c = ref[1], l = ref[2];\n return lch2rgb([l, c, h]);\n };\n\n Color.prototype.lch = function() {\n return rgb2lch(this._rgb);\n };\n\n Color.prototype.hcl = function() {\n return rgb2lch(this._rgb).reverse();\n };\n\n rgb2cmyk = function(mode) {\n var b, c, f, g, k, m, r, ref, y;\n if (mode == null) {\n mode = 'rgb';\n }\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n r = r / 255;\n g = g / 255;\n b = b / 255;\n k = 1 - Math.max(r, Math.max(g, b));\n f = k < 1 ? 1 / (1 - k) : 0;\n c = (1 - r - k) * f;\n m = (1 - g - k) * f;\n y = (1 - b - k) * f;\n return [c, m, y, k];\n };\n\n cmyk2rgb = function() {\n var alpha, args, b, c, g, k, m, r, y;\n args = unpack(arguments);\n c = args[0], m = args[1], y = args[2], k = args[3];\n alpha = args.length > 4 ? args[4] : 1;\n if (k === 1) {\n return [0, 0, 0, alpha];\n }\n r = c >= 1 ? 0 : 255 * (1 - c) * (1 - k);\n g = m >= 1 ? 0 : 255 * (1 - m) * (1 - k);\n b = y >= 1 ? 0 : 255 * (1 - y) * (1 - k);\n return [r, g, b, alpha];\n };\n\n _input.cmyk = function() {\n return cmyk2rgb(unpack(arguments));\n };\n\n chroma.cmyk = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['cmyk']), function(){});\n };\n\n Color.prototype.cmyk = function() {\n return rgb2cmyk(this._rgb);\n };\n\n _input.gl = function() {\n var i, k, o, rgb, v;\n rgb = (function() {\n var ref, results;\n ref = unpack(arguments);\n results = [];\n for (k in ref) {\n v = ref[k];\n results.push(v);\n }\n return results;\n }).apply(this, arguments);\n for (i = o = 0; o <= 2; i = ++o) {\n rgb[i] *= 255;\n }\n return rgb;\n };\n\n chroma.gl = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['gl']), function(){});\n };\n\n Color.prototype.gl = function() {\n var rgb;\n rgb = this._rgb;\n return [rgb[0] / 255, rgb[1] / 255, rgb[2] / 255, rgb[3]];\n };\n\n rgb2luminance = function(r, g, b) {\n var ref;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n r = luminance_x(r);\n g = luminance_x(g);\n b = luminance_x(b);\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n };\n\n luminance_x = function(x) {\n x /= 255;\n if (x <= 0.03928) {\n return x / 12.92;\n } else {\n return pow((x + 0.055) / 1.055, 2.4);\n }\n };\n\n interpolate_rgb = function(col1, col2, f, m) {\n var xyz0, xyz1;\n xyz0 = col1._rgb;\n xyz1 = col2._rgb;\n return new Color(xyz0[0] + f * (xyz1[0] - xyz0[0]), xyz0[1] + f * (xyz1[1] - xyz0[1]), xyz0[2] + f * (xyz1[2] - xyz0[2]), m);\n };\n\n _interpolators.push(['rgb', interpolate_rgb]);\n\n Color.prototype.luminance = function(lum, mode) {\n var cur_lum, eps, max_iter, rgba, test;\n if (mode == null) {\n mode = 'rgb';\n }\n if (!arguments.length) {\n return rgb2luminance(this._rgb);\n }\n rgba = this._rgb;\n if (lum === 0) {\n rgba = [0, 0, 0, this._rgb[3]];\n } else if (lum === 1) {\n rgba = [255, 255, 255, this[3]];\n } else {\n cur_lum = rgb2luminance(this._rgb);\n eps = 1e-7;\n max_iter = 20;\n test = function(l, h) {\n var lm, m;\n m = l.interpolate(h, 0.5, mode);\n lm = m.luminance();\n if (Math.abs(lum - lm) < eps || !max_iter--) {\n return m;\n }\n if (lm > lum) {\n return test(l, m);\n }\n return test(m, h);\n };\n if (cur_lum > lum) {\n rgba = test(chroma('black'), this).rgba();\n } else {\n rgba = test(this, chroma('white')).rgba();\n }\n }\n return chroma(rgba).alpha(this.alpha());\n };\n\n temperature2rgb = function(kelvin) {\n var b, g, r, temp;\n temp = kelvin / 100;\n if (temp < 66) {\n r = 255;\n g = -155.25485562709179 - 0.44596950469579133 * (g = temp - 2) + 104.49216199393888 * log(g);\n b = temp < 20 ? 0 : -254.76935184120902 + 0.8274096064007395 * (b = temp - 10) + 115.67994401066147 * log(b);\n } else {\n r = 351.97690566805693 + 0.114206453784165 * (r = temp - 55) - 40.25366309332127 * log(r);\n g = 325.4494125711974 + 0.07943456536662342 * (g = temp - 50) - 28.0852963507957 * log(g);\n b = 255;\n }\n return [r, g, b];\n };\n\n rgb2temperature = function() {\n var b, eps, g, maxTemp, minTemp, r, ref, rgb, temp;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n minTemp = 1000;\n maxTemp = 40000;\n eps = 0.4;\n while (maxTemp - minTemp > eps) {\n temp = (maxTemp + minTemp) * 0.5;\n rgb = temperature2rgb(temp);\n if ((rgb[2] / rgb[0]) >= (b / r)) {\n maxTemp = temp;\n } else {\n minTemp = temp;\n }\n }\n return round(temp);\n };\n\n chroma.temperature = chroma.kelvin = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['temperature']), function(){});\n };\n\n _input.temperature = _input.kelvin = _input.K = temperature2rgb;\n\n Color.prototype.temperature = function() {\n return rgb2temperature(this._rgb);\n };\n\n Color.prototype.kelvin = Color.prototype.temperature;\n\n chroma.contrast = function(a, b) {\n var l1, l2, ref, ref1;\n if ((ref = type(a)) === 'string' || ref === 'number') {\n a = new Color(a);\n }\n if ((ref1 = type(b)) === 'string' || ref1 === 'number') {\n b = new Color(b);\n }\n l1 = a.luminance();\n l2 = b.luminance();\n if (l1 > l2) {\n return (l1 + 0.05) / (l2 + 0.05);\n } else {\n return (l2 + 0.05) / (l1 + 0.05);\n }\n };\n\n chroma.distance = function(a, b, mode) {\n var d, i, l1, l2, ref, ref1, sum_sq;\n if (mode == null) {\n mode = 'lab';\n }\n if ((ref = type(a)) === 'string' || ref === 'number') {\n a = new Color(a);\n }\n if ((ref1 = type(b)) === 'string' || ref1 === 'number') {\n b = new Color(b);\n }\n l1 = a.get(mode);\n l2 = b.get(mode);\n sum_sq = 0;\n for (i in l1) {\n d = (l1[i] || 0) - (l2[i] || 0);\n sum_sq += d * d;\n }\n return Math.sqrt(sum_sq);\n };\n\n chroma.deltaE = function(a, b, L, C) {\n var L1, L2, a1, a2, b1, b2, c1, c2, c4, dH2, delA, delB, delC, delL, f, h1, ref, ref1, ref2, ref3, sc, sh, sl, t, v1, v2, v3;\n if (L == null) {\n L = 1;\n }\n if (C == null) {\n C = 1;\n }\n if ((ref = type(a)) === 'string' || ref === 'number') {\n a = new Color(a);\n }\n if ((ref1 = type(b)) === 'string' || ref1 === 'number') {\n b = new Color(b);\n }\n ref2 = a.lab(), L1 = ref2[0], a1 = ref2[1], b1 = ref2[2];\n ref3 = b.lab(), L2 = ref3[0], a2 = ref3[1], b2 = ref3[2];\n c1 = sqrt(a1 * a1 + b1 * b1);\n c2 = sqrt(a2 * a2 + b2 * b2);\n sl = L1 < 16.0 ? 0.511 : (0.040975 * L1) / (1.0 + 0.01765 * L1);\n sc = (0.0638 * c1) / (1.0 + 0.0131 * c1) + 0.638;\n h1 = c1 < 0.000001 ? 0.0 : (atan2(b1, a1) * 180.0) / PI;\n while (h1 < 0) {\n h1 += 360;\n }\n while (h1 >= 360) {\n h1 -= 360;\n }\n t = (h1 >= 164.0) && (h1 <= 345.0) ? 0.56 + abs(0.2 * cos((PI * (h1 + 168.0)) / 180.0)) : 0.36 + abs(0.4 * cos((PI * (h1 + 35.0)) / 180.0));\n c4 = c1 * c1 * c1 * c1;\n f = sqrt(c4 / (c4 + 1900.0));\n sh = sc * (f * t + 1.0 - f);\n delL = L1 - L2;\n delC = c1 - c2;\n delA = a1 - a2;\n delB = b1 - b2;\n dH2 = delA * delA + delB * delB - delC * delC;\n v1 = delL / (L * sl);\n v2 = delC / (C * sc);\n v3 = sh;\n return sqrt(v1 * v1 + v2 * v2 + (dH2 / (v3 * v3)));\n };\n\n Color.prototype.get = function(modechan) {\n var channel, i, me, mode, ref, src;\n me = this;\n ref = modechan.split('.'), mode = ref[0], channel = ref[1];\n src = me[mode]();\n if (channel) {\n i = mode.indexOf(channel);\n if (i > -1) {\n return src[i];\n } else {\n return console.warn('unknown channel ' + channel + ' in mode ' + mode);\n }\n } else {\n return src;\n }\n };\n\n Color.prototype.set = function(modechan, value) {\n var channel, i, me, mode, ref, src;\n me = this;\n ref = modechan.split('.'), mode = ref[0], channel = ref[1];\n if (channel) {\n src = me[mode]();\n i = mode.indexOf(channel);\n if (i > -1) {\n if (type(value) === 'string') {\n switch (value.charAt(0)) {\n case '+':\n src[i] += +value;\n break;\n case '-':\n src[i] += +value;\n break;\n case '*':\n src[i] *= +(value.substr(1));\n break;\n case '/':\n src[i] /= +(value.substr(1));\n break;\n default:\n src[i] = +value;\n }\n } else {\n src[i] = value;\n }\n } else {\n console.warn('unknown channel ' + channel + ' in mode ' + mode);\n }\n } else {\n src = value;\n }\n return chroma(src, mode).alpha(me.alpha());\n };\n\n Color.prototype.clipped = function() {\n return this._rgb._clipped || false;\n };\n\n Color.prototype.alpha = function(a) {\n if (arguments.length) {\n return chroma.rgb([this._rgb[0], this._rgb[1], this._rgb[2], a]);\n }\n return this._rgb[3];\n };\n\n Color.prototype.darken = function(amount) {\n var lab, me;\n if (amount == null) {\n amount = 1;\n }\n me = this;\n lab = me.lab();\n lab[0] -= LAB_CONSTANTS.Kn * amount;\n return chroma.lab(lab).alpha(me.alpha());\n };\n\n Color.prototype.brighten = function(amount) {\n if (amount == null) {\n amount = 1;\n }\n return this.darken(-amount);\n };\n\n Color.prototype.darker = Color.prototype.darken;\n\n Color.prototype.brighter = Color.prototype.brighten;\n\n Color.prototype.saturate = function(amount) {\n var lch, me;\n if (amount == null) {\n amount = 1;\n }\n me = this;\n lch = me.lch();\n lch[1] += amount * LAB_CONSTANTS.Kn;\n if (lch[1] < 0) {\n lch[1] = 0;\n }\n return chroma.lch(lch).alpha(me.alpha());\n };\n\n Color.prototype.desaturate = function(amount) {\n if (amount == null) {\n amount = 1;\n }\n return this.saturate(-amount);\n };\n\n Color.prototype.premultiply = function() {\n var a, rgb;\n rgb = this.rgb();\n a = this.alpha();\n return chroma(rgb[0] * a, rgb[1] * a, rgb[2] * a, a);\n };\n\n blend = function(bottom, top, mode) {\n if (!blend[mode]) {\n throw 'unknown blend mode ' + mode;\n }\n return blend[mode](bottom, top);\n };\n\n blend_f = function(f) {\n return function(bottom, top) {\n var c0, c1;\n c0 = chroma(top).rgb();\n c1 = chroma(bottom).rgb();\n return chroma(f(c0, c1), 'rgb');\n };\n };\n\n each = function(f) {\n return function(c0, c1) {\n var i, o, out;\n out = [];\n for (i = o = 0; o <= 3; i = ++o) {\n out[i] = f(c0[i], c1[i]);\n }\n return out;\n };\n };\n\n normal = function(a, b) {\n return a;\n };\n\n multiply = function(a, b) {\n return a * b / 255;\n };\n\n darken = function(a, b) {\n if (a > b) {\n return b;\n } else {\n return a;\n }\n };\n\n lighten = function(a, b) {\n if (a > b) {\n return a;\n } else {\n return b;\n }\n };\n\n screen = function(a, b) {\n return 255 * (1 - (1 - a / 255) * (1 - b / 255));\n };\n\n overlay = function(a, b) {\n if (b < 128) {\n return 2 * a * b / 255;\n } else {\n return 255 * (1 - 2 * (1 - a / 255) * (1 - b / 255));\n }\n };\n\n burn = function(a, b) {\n return 255 * (1 - (1 - b / 255) / (a / 255));\n };\n\n dodge = function(a, b) {\n if (a === 255) {\n return 255;\n }\n a = 255 * (b / 255) / (1 - a / 255);\n if (a > 255) {\n return 255;\n } else {\n return a;\n }\n };\n\n blend.normal = blend_f(each(normal));\n\n blend.multiply = blend_f(each(multiply));\n\n blend.screen = blend_f(each(screen));\n\n blend.overlay = blend_f(each(overlay));\n\n blend.darken = blend_f(each(darken));\n\n blend.lighten = blend_f(each(lighten));\n\n blend.dodge = blend_f(each(dodge));\n\n blend.burn = blend_f(each(burn));\n\n chroma.blend = blend;\n\n chroma.analyze = function(data) {\n var len, o, r, val;\n r = {\n min: Number.MAX_VALUE,\n max: Number.MAX_VALUE * -1,\n sum: 0,\n values: [],\n count: 0\n };\n for (o = 0, len = data.length; o < len; o++) {\n val = data[o];\n if ((val != null) && !isNaN(val)) {\n r.values.push(val);\n r.sum += val;\n if (val < r.min) {\n r.min = val;\n }\n if (val > r.max) {\n r.max = val;\n }\n r.count += 1;\n }\n }\n r.domain = [r.min, r.max];\n r.limits = function(mode, num) {\n return chroma.limits(r, mode, num);\n };\n return r;\n };\n\n chroma.scale = function(colors, positions) {\n var _classes, _colorCache, _colors, _correctLightness, _domain, _fixed, _gamma, _max, _min, _mode, _nacol, _out, _padding, _pos, _spread, _useCache, classifyValue, f, getClass, getColor, resetCache, setColors, tmap;\n _mode = 'rgb';\n _nacol = chroma('#ccc');\n _spread = 0;\n _fixed = false;\n _domain = [0, 1];\n _pos = [];\n _padding = [0, 0];\n _classes = false;\n _colors = [];\n _out = false;\n _min = 0;\n _max = 1;\n _correctLightness = false;\n _colorCache = {};\n _useCache = true;\n _gamma = 1;\n setColors = function(colors) {\n var c, col, o, ref, ref1, w;\n if (colors == null) {\n colors = ['#fff', '#000'];\n }\n if ((colors != null) && type(colors) === 'string' && (chroma.brewer != null)) {\n colors = chroma.brewer[colors] || chroma.brewer[colors.toLowerCase()] || colors;\n }\n if (type(colors) === 'array') {\n if (colors.length === 1) {\n colors = [colors[0], colors[0]];\n }\n colors = colors.slice(0);\n for (c = o = 0, ref = colors.length - 1; 0 <= ref ? o <= ref : o >= ref; c = 0 <= ref ? ++o : --o) {\n col = colors[c];\n if (type(col) === \"string\") {\n colors[c] = chroma(col);\n }\n }\n _pos.length = 0;\n for (c = w = 0, ref1 = colors.length - 1; 0 <= ref1 ? w <= ref1 : w >= ref1; c = 0 <= ref1 ? ++w : --w) {\n _pos.push(c / (colors.length - 1));\n }\n }\n resetCache();\n return _colors = colors;\n };\n getClass = function(value) {\n var i, n;\n if (_classes != null) {\n n = _classes.length - 1;\n i = 0;\n while (i < n && value >= _classes[i]) {\n i++;\n }\n return i - 1;\n }\n return 0;\n };\n tmap = function(t) {\n return t;\n };\n classifyValue = function(value) {\n var i, maxc, minc, n, val;\n val = value;\n if (_classes.length > 2) {\n n = _classes.length - 1;\n i = getClass(value);\n minc = _classes[0] + (_classes[1] - _classes[0]) * (0 + _spread * 0.5);\n maxc = _classes[n - 1] + (_classes[n] - _classes[n - 1]) * (1 - _spread * 0.5);\n val = _min + ((_classes[i] + (_classes[i + 1] - _classes[i]) * 0.5 - minc) / (maxc - minc)) * (_max - _min);\n }\n return val;\n };\n getColor = function(val, bypassMap) {\n var c, col, i, k, o, p, ref, t;\n if (bypassMap == null) {\n bypassMap = false;\n }\n if (isNaN(val) || val === null) {\n return _nacol;\n }\n if (!bypassMap) {\n if (_classes && _classes.length > 2) {\n c = getClass(val);\n t = c / (_classes.length - 2);\n } else if (_max !== _min) {\n t = (val - _min) / (_max - _min);\n } else {\n t = 1;\n }\n } else {\n t = val;\n }\n if (!bypassMap) {\n t = tmap(t);\n }\n if (_gamma !== 1) {\n t = pow(t, _gamma);\n }\n t = _padding[0] + (t * (1 - _padding[0] - _padding[1]));\n t = Math.min(1, Math.max(0, t));\n k = Math.floor(t * 10000);\n if (_useCache && _colorCache[k]) {\n col = _colorCache[k];\n } else {\n if (type(_colors) === 'array') {\n for (i = o = 0, ref = _pos.length - 1; 0 <= ref ? o <= ref : o >= ref; i = 0 <= ref ? ++o : --o) {\n p = _pos[i];\n if (t <= p) {\n col = _colors[i];\n break;\n }\n if (t >= p && i === _pos.length - 1) {\n col = _colors[i];\n break;\n }\n if (t > p && t < _pos[i + 1]) {\n t = (t - p) / (_pos[i + 1] - p);\n col = chroma.interpolate(_colors[i], _colors[i + 1], t, _mode);\n break;\n }\n }\n } else if (type(_colors) === 'function') {\n col = _colors(t);\n }\n if (_useCache) {\n _colorCache[k] = col;\n }\n }\n return col;\n };\n resetCache = function() {\n return _colorCache = {};\n };\n setColors(colors);\n f = function(v) {\n var c;\n c = chroma(getColor(v));\n if (_out && c[_out]) {\n return c[_out]();\n } else {\n return c;\n }\n };\n f.classes = function(classes) {\n var d;\n if (classes != null) {\n if (type(classes) === 'array') {\n _classes = classes;\n _domain = [classes[0], classes[classes.length - 1]];\n } else {\n d = chroma.analyze(_domain);\n if (classes === 0) {\n _classes = [d.min, d.max];\n } else {\n _classes = chroma.limits(d, 'e', classes);\n }\n }\n return f;\n }\n return _classes;\n };\n f.domain = function(domain) {\n var c, d, k, len, o, ref, w;\n if (!arguments.length) {\n return _domain;\n }\n _min = domain[0];\n _max = domain[domain.length - 1];\n _pos = [];\n k = _colors.length;\n if (domain.length === k && _min !== _max) {\n for (o = 0, len = domain.length; o < len; o++) {\n d = domain[o];\n _pos.push((d - _min) / (_max - _min));\n }\n } else {\n for (c = w = 0, ref = k - 1; 0 <= ref ? w <= ref : w >= ref; c = 0 <= ref ? ++w : --w) {\n _pos.push(c / (k - 1));\n }\n }\n _domain = [_min, _max];\n return f;\n };\n f.mode = function(_m) {\n if (!arguments.length) {\n return _mode;\n }\n _mode = _m;\n resetCache();\n return f;\n };\n f.range = function(colors, _pos) {\n setColors(colors, _pos);\n return f;\n };\n f.out = function(_o) {\n _out = _o;\n return f;\n };\n f.spread = function(val) {\n if (!arguments.length) {\n return _spread;\n }\n _spread = val;\n return f;\n };\n f.correctLightness = function(v) {\n if (v == null) {\n v = true;\n }\n _correctLightness = v;\n resetCache();\n if (_correctLightness) {\n tmap = function(t) {\n var L0, L1, L_actual, L_diff, L_ideal, max_iter, pol, t0, t1;\n L0 = getColor(0, true).lab()[0];\n L1 = getColor(1, true).lab()[0];\n pol = L0 > L1;\n L_actual = getColor(t, true).lab()[0];\n L_ideal = L0 + (L1 - L0) * t;\n L_diff = L_actual - L_ideal;\n t0 = 0;\n t1 = 1;\n max_iter = 20;\n while (Math.abs(L_diff) > 1e-2 && max_iter-- > 0) {\n (function() {\n if (pol) {\n L_diff *= -1;\n }\n if (L_diff < 0) {\n t0 = t;\n t += (t1 - t) * 0.5;\n } else {\n t1 = t;\n t += (t0 - t) * 0.5;\n }\n L_actual = getColor(t, true).lab()[0];\n return L_diff = L_actual - L_ideal;\n })();\n }\n return t;\n };\n } else {\n tmap = function(t) {\n return t;\n };\n }\n return f;\n };\n f.padding = function(p) {\n if (p != null) {\n if (type(p) === 'number') {\n p = [p, p];\n }\n _padding = p;\n return f;\n } else {\n return _padding;\n }\n };\n f.colors = function(numColors, out) {\n var dd, dm, i, o, ref, result, results, samples, w;\n if (arguments.length < 2) {\n out = 'hex';\n }\n result = [];\n if (arguments.length === 0) {\n result = _colors.slice(0);\n } else if (numColors === 1) {\n result = [f(0.5)];\n } else if (numColors > 1) {\n dm = _domain[0];\n dd = _domain[1] - dm;\n result = (function() {\n results = [];\n for (var o = 0; 0 <= numColors ? o < numColors : o > numColors; 0 <= numColors ? o++ : o--){ results.push(o); }\n return results;\n }).apply(this).map(function(i) {\n return f(dm + i / (numColors - 1) * dd);\n });\n } else {\n colors = [];\n samples = [];\n if (_classes && _classes.length > 2) {\n for (i = w = 1, ref = _classes.length; 1 <= ref ? w < ref : w > ref; i = 1 <= ref ? ++w : --w) {\n samples.push((_classes[i - 1] + _classes[i]) * 0.5);\n }\n } else {\n samples = _domain;\n }\n result = samples.map(function(v) {\n return f(v);\n });\n }\n if (chroma[out]) {\n result = result.map(function(c) {\n return c[out]();\n });\n }\n return result;\n };\n f.cache = function(c) {\n if (c != null) {\n _useCache = c;\n return f;\n } else {\n return _useCache;\n }\n };\n f.gamma = function(g) {\n if (g != null) {\n _gamma = g;\n return f;\n } else {\n return _gamma;\n }\n };\n f.nodata = function(d) {\n if (d != null) {\n _nacol = chroma(d);\n return f;\n } else {\n return _nacol;\n }\n };\n return f;\n };\n\n if (chroma.scales == null) {\n chroma.scales = {};\n }\n\n chroma.scales.cool = function() {\n return chroma.scale([chroma.hsl(180, 1, .9), chroma.hsl(250, .7, .4)]);\n };\n\n chroma.scales.hot = function() {\n return chroma.scale(['#000', '#f00', '#ff0', '#fff'], [0, .25, .75, 1]).mode('rgb');\n };\n\n chroma.analyze = function(data, key, filter) {\n var add, k, len, o, r, val, visit;\n r = {\n min: Number.MAX_VALUE,\n max: Number.MAX_VALUE * -1,\n sum: 0,\n values: [],\n count: 0\n };\n if (filter == null) {\n filter = function() {\n return true;\n };\n }\n add = function(val) {\n if ((val != null) && !isNaN(val)) {\n r.values.push(val);\n r.sum += val;\n if (val < r.min) {\n r.min = val;\n }\n if (val > r.max) {\n r.max = val;\n }\n r.count += 1;\n }\n };\n visit = function(val, k) {\n if (filter(val, k)) {\n if ((key != null) && type(key) === 'function') {\n return add(key(val));\n } else if ((key != null) && type(key) === 'string' || type(key) === 'number') {\n return add(val[key]);\n } else {\n return add(val);\n }\n }\n };\n if (type(data) === 'array') {\n for (o = 0, len = data.length; o < len; o++) {\n val = data[o];\n visit(val);\n }\n } else {\n for (k in data) {\n val = data[k];\n visit(val, k);\n }\n }\n r.domain = [r.min, r.max];\n r.limits = function(mode, num) {\n return chroma.limits(r, mode, num);\n };\n return r;\n };\n\n chroma.limits = function(data, mode, num) {\n var aa, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, al, am, assignments, best, centroids, cluster, clusterSizes, dist, i, j, kClusters, limits, max_log, min, min_log, mindist, n, nb_iters, newCentroids, o, p, pb, pr, ref, ref1, ref10, ref11, ref12, ref13, ref14, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9, repeat, sum, tmpKMeansBreaks, v, value, values, w;\n if (mode == null) {\n mode = 'equal';\n }\n if (num == null) {\n num = 7;\n }\n if (type(data) === 'array') {\n data = chroma.analyze(data);\n }\n min = data.min;\n max = data.max;\n sum = data.sum;\n values = data.values.sort(function(a, b) {\n return a - b;\n });\n if (num === 1) {\n return [min, max];\n }\n limits = [];\n if (mode.substr(0, 1) === 'c') {\n limits.push(min);\n limits.push(max);\n }\n if (mode.substr(0, 1) === 'e') {\n limits.push(min);\n for (i = o = 1, ref = num - 1; 1 <= ref ? o <= ref : o >= ref; i = 1 <= ref ? ++o : --o) {\n limits.push(min + (i / num) * (max - min));\n }\n limits.push(max);\n } else if (mode.substr(0, 1) === 'l') {\n if (min <= 0) {\n throw 'Logarithmic scales are only possible for values > 0';\n }\n min_log = Math.LOG10E * log(min);\n max_log = Math.LOG10E * log(max);\n limits.push(min);\n for (i = w = 1, ref1 = num - 1; 1 <= ref1 ? w <= ref1 : w >= ref1; i = 1 <= ref1 ? ++w : --w) {\n limits.push(pow(10, min_log + (i / num) * (max_log - min_log)));\n }\n limits.push(max);\n } else if (mode.substr(0, 1) === 'q') {\n limits.push(min);\n for (i = aa = 1, ref2 = num - 1; 1 <= ref2 ? aa <= ref2 : aa >= ref2; i = 1 <= ref2 ? ++aa : --aa) {\n p = (values.length - 1) * i / num;\n pb = floor(p);\n if (pb === p) {\n limits.push(values[pb]);\n } else {\n pr = p - pb;\n limits.push(values[pb] * (1 - pr) + values[pb + 1] * pr);\n }\n }\n limits.push(max);\n } else if (mode.substr(0, 1) === 'k') {\n\n /*\n implementation based on\n http://code.google.com/p/figue/source/browse/trunk/figue.js#336\n simplified for 1-d input values\n */\n n = values.length;\n assignments = new Array(n);\n clusterSizes = new Array(num);\n repeat = true;\n nb_iters = 0;\n centroids = null;\n centroids = [];\n centroids.push(min);\n for (i = ab = 1, ref3 = num - 1; 1 <= ref3 ? ab <= ref3 : ab >= ref3; i = 1 <= ref3 ? ++ab : --ab) {\n centroids.push(min + (i / num) * (max - min));\n }\n centroids.push(max);\n while (repeat) {\n for (j = ac = 0, ref4 = num - 1; 0 <= ref4 ? ac <= ref4 : ac >= ref4; j = 0 <= ref4 ? ++ac : --ac) {\n clusterSizes[j] = 0;\n }\n for (i = ad = 0, ref5 = n - 1; 0 <= ref5 ? ad <= ref5 : ad >= ref5; i = 0 <= ref5 ? ++ad : --ad) {\n value = values[i];\n mindist = Number.MAX_VALUE;\n for (j = ae = 0, ref6 = num - 1; 0 <= ref6 ? ae <= ref6 : ae >= ref6; j = 0 <= ref6 ? ++ae : --ae) {\n dist = abs(centroids[j] - value);\n if (dist < mindist) {\n mindist = dist;\n best = j;\n }\n }\n clusterSizes[best]++;\n assignments[i] = best;\n }\n newCentroids = new Array(num);\n for (j = af = 0, ref7 = num - 1; 0 <= ref7 ? af <= ref7 : af >= ref7; j = 0 <= ref7 ? ++af : --af) {\n newCentroids[j] = null;\n }\n for (i = ag = 0, ref8 = n - 1; 0 <= ref8 ? ag <= ref8 : ag >= ref8; i = 0 <= ref8 ? ++ag : --ag) {\n cluster = assignments[i];\n if (newCentroids[cluster] === null) {\n newCentroids[cluster] = values[i];\n } else {\n newCentroids[cluster] += values[i];\n }\n }\n for (j = ah = 0, ref9 = num - 1; 0 <= ref9 ? ah <= ref9 : ah >= ref9; j = 0 <= ref9 ? ++ah : --ah) {\n newCentroids[j] *= 1 / clusterSizes[j];\n }\n repeat = false;\n for (j = ai = 0, ref10 = num - 1; 0 <= ref10 ? ai <= ref10 : ai >= ref10; j = 0 <= ref10 ? ++ai : --ai) {\n if (newCentroids[j] !== centroids[i]) {\n repeat = true;\n break;\n }\n }\n centroids = newCentroids;\n nb_iters++;\n if (nb_iters > 200) {\n repeat = false;\n }\n }\n kClusters = {};\n for (j = aj = 0, ref11 = num - 1; 0 <= ref11 ? aj <= ref11 : aj >= ref11; j = 0 <= ref11 ? ++aj : --aj) {\n kClusters[j] = [];\n }\n for (i = ak = 0, ref12 = n - 1; 0 <= ref12 ? ak <= ref12 : ak >= ref12; i = 0 <= ref12 ? ++ak : --ak) {\n cluster = assignments[i];\n kClusters[cluster].push(values[i]);\n }\n tmpKMeansBreaks = [];\n for (j = al = 0, ref13 = num - 1; 0 <= ref13 ? al <= ref13 : al >= ref13; j = 0 <= ref13 ? ++al : --al) {\n tmpKMeansBreaks.push(kClusters[j][0]);\n tmpKMeansBreaks.push(kClusters[j][kClusters[j].length - 1]);\n }\n tmpKMeansBreaks = tmpKMeansBreaks.sort(function(a, b) {\n return a - b;\n });\n limits.push(tmpKMeansBreaks[0]);\n for (i = am = 1, ref14 = tmpKMeansBreaks.length - 1; am <= ref14; i = am += 2) {\n v = tmpKMeansBreaks[i];\n if (!isNaN(v) && limits.indexOf(v) === -1) {\n limits.push(v);\n }\n }\n }\n return limits;\n };\n\n hsi2rgb = function(h, s, i) {\n\n /*\n borrowed from here:\n http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/hsi2rgb.cpp\n */\n var args, b, g, r;\n args = unpack(arguments);\n h = args[0], s = args[1], i = args[2];\n if (isNaN(h)) {\n h = 0;\n }\n h /= 360;\n if (h < 1 / 3) {\n b = (1 - s) / 3;\n r = (1 + s * cos(TWOPI * h) / cos(PITHIRD - TWOPI * h)) / 3;\n g = 1 - (b + r);\n } else if (h < 2 / 3) {\n h -= 1 / 3;\n r = (1 - s) / 3;\n g = (1 + s * cos(TWOPI * h) / cos(PITHIRD - TWOPI * h)) / 3;\n b = 1 - (r + g);\n } else {\n h -= 2 / 3;\n g = (1 - s) / 3;\n b = (1 + s * cos(TWOPI * h) / cos(PITHIRD - TWOPI * h)) / 3;\n r = 1 - (g + b);\n }\n r = limit(i * r * 3);\n g = limit(i * g * 3);\n b = limit(i * b * 3);\n return [r * 255, g * 255, b * 255, args.length > 3 ? args[3] : 1];\n };\n\n rgb2hsi = function() {\n\n /*\n borrowed from here:\n http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/rgb2hsi.cpp\n */\n var b, g, h, i, min, r, ref, s;\n ref = unpack(arguments), r = ref[0], g = ref[1], b = ref[2];\n TWOPI = Math.PI * 2;\n r /= 255;\n g /= 255;\n b /= 255;\n min = Math.min(r, g, b);\n i = (r + g + b) / 3;\n s = 1 - min / i;\n if (s === 0) {\n h = 0;\n } else {\n h = ((r - g) + (r - b)) / 2;\n h /= Math.sqrt((r - g) * (r - g) + (r - b) * (g - b));\n h = Math.acos(h);\n if (b > g) {\n h = TWOPI - h;\n }\n h /= TWOPI;\n }\n return [h * 360, s, i];\n };\n\n chroma.hsi = function() {\n return (function(func, args, ctor) {\n ctor.prototype = func.prototype;\n var child = new ctor, result = func.apply(child, args);\n return Object(result) === result ? result : child;\n })(Color, slice.call(arguments).concat(['hsi']), function(){});\n };\n\n _input.hsi = hsi2rgb;\n\n Color.prototype.hsi = function() {\n return rgb2hsi(this._rgb);\n };\n\n interpolate_hsx = function(col1, col2, f, m) {\n var dh, hue, hue0, hue1, lbv, lbv0, lbv1, res, sat, sat0, sat1, xyz0, xyz1;\n if (m === 'hsl') {\n xyz0 = col1.hsl();\n xyz1 = col2.hsl();\n } else if (m === 'hsv') {\n xyz0 = col1.hsv();\n xyz1 = col2.hsv();\n } else if (m === 'hcg') {\n xyz0 = col1.hcg();\n xyz1 = col2.hcg();\n } else if (m === 'hsi') {\n xyz0 = col1.hsi();\n xyz1 = col2.hsi();\n } else if (m === 'lch' || m === 'hcl') {\n m = 'hcl';\n xyz0 = col1.hcl();\n xyz1 = col2.hcl();\n }\n if (m.substr(0, 1) === 'h') {\n hue0 = xyz0[0], sat0 = xyz0[1], lbv0 = xyz0[2];\n hue1 = xyz1[0], sat1 = xyz1[1], lbv1 = xyz1[2];\n }\n if (!isNaN(hue0) && !isNaN(hue1)) {\n if (hue1 > hue0 && hue1 - hue0 > 180) {\n dh = hue1 - (hue0 + 360);\n } else if (hue1 < hue0 && hue0 - hue1 > 180) {\n dh = hue1 + 360 - hue0;\n } else {\n dh = hue1 - hue0;\n }\n hue = hue0 + f * dh;\n } else if (!isNaN(hue0)) {\n hue = hue0;\n if ((lbv1 === 1 || lbv1 === 0) && m !== 'hsv') {\n sat = sat0;\n }\n } else if (!isNaN(hue1)) {\n hue = hue1;\n if ((lbv0 === 1 || lbv0 === 0) && m !== 'hsv') {\n sat = sat1;\n }\n } else {\n hue = Number.NaN;\n }\n if (sat == null) {\n sat = sat0 + f * (sat1 - sat0);\n }\n lbv = lbv0 + f * (lbv1 - lbv0);\n return res = chroma[m](hue, sat, lbv);\n };\n\n _interpolators = _interpolators.concat((function() {\n var len, o, ref, results;\n ref = ['hsv', 'hsl', 'hsi', 'hcl', 'lch', 'hcg'];\n results = [];\n for (o = 0, len = ref.length; o < len; o++) {\n m = ref[o];\n results.push([m, interpolate_hsx]);\n }\n return results;\n })());\n\n interpolate_num = function(col1, col2, f, m) {\n var n1, n2;\n n1 = col1.num();\n n2 = col2.num();\n return chroma.num(n1 + (n2 - n1) * f, 'num');\n };\n\n _interpolators.push(['num', interpolate_num]);\n\n interpolate_lab = function(col1, col2, f, m) {\n var res, xyz0, xyz1;\n xyz0 = col1.lab();\n xyz1 = col2.lab();\n return res = new Color(xyz0[0] + f * (xyz1[0] - xyz0[0]), xyz0[1] + f * (xyz1[1] - xyz0[1]), xyz0[2] + f * (xyz1[2] - xyz0[2]), m);\n };\n\n _interpolators.push(['lab', interpolate_lab]);\n\n}).call(this);\n", "\"use strict\";\n\nmodule.exports = function () {\n\tvar weakMap, obj;\n\n\tif (typeof WeakMap !== \"function\") return false;\n\ttry {\n\t\t// WebKit doesn't support arguments and crashes\n\t\tweakMap = new WeakMap([[obj = {}, \"one\"], [{}, \"two\"], [{}, \"three\"]]);\n\t} catch (e) {\n\t\treturn false;\n\t}\n\tif (String(weakMap) !== \"[object WeakMap]\") return false;\n\tif (typeof weakMap.set !== \"function\") return false;\n\tif (weakMap.set({}, 1) !== weakMap) return false;\n\tif (typeof weakMap.delete !== \"function\") return false;\n\tif (typeof weakMap.has !== \"function\") return false;\n\tif (weakMap.get(obj) !== \"one\") return false;\n\n\treturn true;\n};\n", "\"use strict\";\n\n// eslint-disable-next-line no-empty-function\nmodule.exports = function () {};\n", "\"use strict\";\n\nvar _undefined = require(\"../function/noop\")(); // Support ES3 engines\n\nmodule.exports = function (val) { return val !== _undefined && val !== null; };\n", "\"use strict\";\n\nvar create = Object.create, getPrototypeOf = Object.getPrototypeOf, plainObject = {};\n\nmodule.exports = function (/* CustomCreate*/) {\n\tvar setPrototypeOf = Object.setPrototypeOf, customCreate = arguments[0] || create;\n\tif (typeof setPrototypeOf !== \"function\") return false;\n\treturn getPrototypeOf(setPrototypeOf(customCreate(null), plainObject)) === plainObject;\n};\n", "\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar map = { function: true, object: true };\n\nmodule.exports = function (value) { return (isValue(value) && map[typeof value]) || false; };\n", "\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) throw new TypeError(\"Cannot use null or undefined\");\n\treturn value;\n};\n", "// Workaround for http://code.google.com/p/v8/issues/detail?id=2804\n\n\"use strict\";\n\nvar create = Object.create, shim;\n\nif (!require(\"./set-prototype-of/is-implemented\")()) {\n\tshim = require(\"./set-prototype-of/shim\");\n}\n\nmodule.exports = (function () {\n\tvar nullObject, polyProps, desc;\n\tif (!shim) return create;\n\tif (shim.level !== 1) return create;\n\n\tnullObject = {};\n\tpolyProps = {};\n\tdesc = { configurable: false, enumerable: false, writable: true, value: undefined };\n\tObject.getOwnPropertyNames(Object.prototype).forEach(function (name) {\n\t\tif (name === \"__proto__\") {\n\t\t\tpolyProps[name] = {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: false,\n\t\t\t\twritable: true,\n\t\t\t\tvalue: undefined\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\t\tpolyProps[name] = desc;\n\t});\n\tObject.defineProperties(nullObject, polyProps);\n\n\tObject.defineProperty(shim, \"nullPolyfill\", {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\twritable: false,\n\t\tvalue: nullObject\n\t});\n\n\treturn function (prototype, props) {\n\t\treturn create(prototype === null ? nullObject : prototype, props);\n\t};\n})();\n", "/* eslint no-proto: \"off\" */\n\n// Big thanks to @WebReflection for sorting this out\n// https://gist.github.com/WebReflection/5593554\n\n\"use strict\";\n\nvar isObject = require(\"../is-object\")\n , value = require(\"../valid-value\")\n , objIsPrototypeOf = Object.prototype.isPrototypeOf\n , defineProperty = Object.defineProperty\n , nullDesc = { configurable: true, enumerable: false, writable: true, value: undefined }\n , validate;\n\nvalidate = function (obj, prototype) {\n\tvalue(obj);\n\tif (prototype === null || isObject(prototype)) return obj;\n\tthrow new TypeError(\"Prototype must be null or an object\");\n};\n\nmodule.exports = (function (status) {\n\tvar fn, set;\n\tif (!status) return null;\n\tif (status.level === 2) {\n\t\tif (status.set) {\n\t\t\tset = status.set;\n\t\t\tfn = function (obj, prototype) {\n\t\t\t\tset.call(validate(obj, prototype), prototype);\n\t\t\t\treturn obj;\n\t\t\t};\n\t\t} else {\n\t\t\tfn = function (obj, prototype) {\n\t\t\t\tvalidate(obj, prototype).__proto__ = prototype;\n\t\t\t\treturn obj;\n\t\t\t};\n\t\t}\n\t} else {\n\t\tfn = function self(obj, prototype) {\n\t\t\tvar isNullBase;\n\t\t\tvalidate(obj, prototype);\n\t\t\tisNullBase = objIsPrototypeOf.call(self.nullPolyfill, obj);\n\t\t\tif (isNullBase) delete self.nullPolyfill.__proto__;\n\t\t\tif (prototype === null) prototype = self.nullPolyfill;\n\t\t\tobj.__proto__ = prototype;\n\t\t\tif (isNullBase) defineProperty(self.nullPolyfill, \"__proto__\", nullDesc);\n\t\t\treturn obj;\n\t\t};\n\t}\n\treturn Object.defineProperty(fn, \"level\", {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\twritable: false,\n\t\tvalue: status.level\n\t});\n})(\n\t(function () {\n\t\tvar tmpObj1 = Object.create(null)\n\t\t , tmpObj2 = {}\n\t\t , set\n\t\t , desc = Object.getOwnPropertyDescriptor(Object.prototype, \"__proto__\");\n\n\t\tif (desc) {\n\t\t\ttry {\n\t\t\t\tset = desc.set; // Opera crashes at this point\n\t\t\t\tset.call(tmpObj1, tmpObj2);\n\t\t\t} catch (ignore) {}\n\t\t\tif (Object.getPrototypeOf(tmpObj1) === tmpObj2) return { set: set, level: 2 };\n\t\t}\n\n\t\ttmpObj1.__proto__ = tmpObj2;\n\t\tif (Object.getPrototypeOf(tmpObj1) === tmpObj2) return { level: 2 };\n\n\t\ttmpObj1 = {};\n\t\ttmpObj1.__proto__ = tmpObj2;\n\t\tif (Object.getPrototypeOf(tmpObj1) === tmpObj2) return { level: 1 };\n\n\t\treturn false;\n\t})()\n);\n\nrequire(\"../create\");\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.setPrototypeOf : require(\"./shim\");\n", "\"use strict\";\n\nvar isObject = require(\"./is-object\");\n\nmodule.exports = function (value) {\n\tif (!isObject(value)) throw new TypeError(value + \" is not an Object\");\n\treturn value;\n};\n", "\"use strict\";\n\nvar generated = Object.create(null), random = Math.random;\n\nmodule.exports = function () {\n\tvar str;\n\tdo {\n\t\tstr = random().toString(36).slice(2);\n\t} while (generated[str]);\n\treturn str;\n};\n", "\"use strict\";\n\n// ES3 safe\nvar _undefined = void 0;\n\nmodule.exports = function (value) { return value !== _undefined && value !== null; };\n", "\"use strict\";\n\nvar isValue = require(\"../value/is\");\n\n// prettier-ignore\nvar possibleTypes = { \"object\": true, \"function\": true, \"undefined\": true /* document.all */ };\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) return false;\n\treturn hasOwnProperty.call(possibleTypes, typeof value);\n};\n", "\"use strict\";\n\nvar isObject = require(\"../object/is\");\n\nmodule.exports = function (value) {\n\tif (!isObject(value)) return false;\n\ttry {\n\t\tif (!value.constructor) return false;\n\t\treturn value.constructor.prototype === value;\n\t} catch (error) {\n\t\treturn false;\n\t}\n};\n", "\"use strict\";\n\nvar isPrototype = require(\"../prototype/is\");\n\nmodule.exports = function (value) {\n\tif (typeof value !== \"function\") return false;\n\n\tif (!hasOwnProperty.call(value, \"length\")) return false;\n\n\ttry {\n\t\tif (typeof value.length !== \"number\") return false;\n\t\tif (typeof value.call !== \"function\") return false;\n\t\tif (typeof value.apply !== \"function\") return false;\n\t} catch (error) {\n\t\treturn false;\n\t}\n\n\treturn !isPrototype(value);\n};\n", "\"use strict\";\n\nvar isFunction = require(\"../function/is\");\n\nvar classRe = /^\\s*class[\\s{/}]/, functionToString = Function.prototype.toString;\n\nmodule.exports = function (value) {\n\tif (!isFunction(value)) return false;\n\tif (classRe.test(functionToString.call(value))) return false;\n\treturn true;\n};\n", "\"use strict\";\n\nmodule.exports = function () {\n\tvar assign = Object.assign, obj;\n\tif (typeof assign !== \"function\") return false;\n\tobj = { foo: \"raz\" };\n\tassign(obj, { bar: \"dwa\" }, { trzy: \"trzy\" });\n\treturn obj.foo + obj.bar + obj.trzy === \"razdwatrzy\";\n};\n", "\"use strict\";\n\nmodule.exports = function () {\n\ttry {\n\t\tObject.keys(\"primitive\");\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n", "\"use strict\";\n\nvar isValue = require(\"../is-value\");\n\nvar keys = Object.keys;\n\nmodule.exports = function (object) { return keys(isValue(object) ? Object(object) : object); };\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.keys : require(\"./shim\");\n", "\"use strict\";\n\nvar keys = require(\"../keys\")\n , value = require(\"../valid-value\")\n , max = Math.max;\n\nmodule.exports = function (dest, src /*, \u2026srcn*/) {\n\tvar error, i, length = max(arguments.length, 2), assign;\n\tdest = Object(value(dest));\n\tassign = function (key) {\n\t\ttry {\n\t\t\tdest[key] = src[key];\n\t\t} catch (e) {\n\t\t\tif (!error) error = e;\n\t\t}\n\t};\n\tfor (i = 1; i < length; ++i) {\n\t\tsrc = arguments[i];\n\t\tkeys(src).forEach(assign);\n\t}\n\tif (error !== undefined) throw error;\n\treturn dest;\n};\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.assign : require(\"./shim\");\n", "\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar forEach = Array.prototype.forEach, create = Object.create;\n\nvar process = function (src, obj) {\n\tvar key;\n\tfor (key in src) obj[key] = src[key];\n};\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function (opts1 /*, \u2026options*/) {\n\tvar result = create(null);\n\tforEach.call(arguments, function (options) {\n\t\tif (!isValue(options)) return;\n\t\tprocess(Object(options), result);\n\t});\n\treturn result;\n};\n", "\"use strict\";\n\nvar str = \"razdwatrzy\";\n\nmodule.exports = function () {\n\tif (typeof str.contains !== \"function\") return false;\n\treturn str.contains(\"dwa\") === true && str.contains(\"foo\") === false;\n};\n", "\"use strict\";\n\nvar indexOf = String.prototype.indexOf;\n\nmodule.exports = function (searchString /*, position*/) {\n\treturn indexOf.call(this, searchString, arguments[1]) > -1;\n};\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? String.prototype.contains : require(\"./shim\");\n", "\"use strict\";\n\nvar isValue = require(\"type/value/is\")\n , isPlainFunction = require(\"type/plain-function/is\")\n , assign = require(\"es5-ext/object/assign\")\n , normalizeOpts = require(\"es5-ext/object/normalize-options\")\n , contains = require(\"es5-ext/string/#/contains\");\n\nvar d = (module.exports = function (dscr, value/*, options*/) {\n\tvar c, e, w, options, desc;\n\tif (arguments.length < 2 || typeof dscr !== \"string\") {\n\t\toptions = value;\n\t\tvalue = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[2];\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t\tw = contains.call(dscr, \"w\");\n\t} else {\n\t\tc = w = true;\n\t\te = false;\n\t}\n\n\tdesc = { value: value, configurable: c, enumerable: e, writable: w };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n});\n\nd.gs = function (dscr, get, set/*, options*/) {\n\tvar c, e, options, desc;\n\tif (typeof dscr !== \"string\") {\n\t\toptions = set;\n\t\tset = get;\n\t\tget = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[3];\n\t}\n\tif (!isValue(get)) {\n\t\tget = undefined;\n\t} else if (!isPlainFunction(get)) {\n\t\toptions = get;\n\t\tget = set = undefined;\n\t} else if (!isValue(set)) {\n\t\tset = undefined;\n\t} else if (!isPlainFunction(set)) {\n\t\toptions = set;\n\t\tset = undefined;\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t} else {\n\t\tc = true;\n\t\te = false;\n\t}\n\n\tdesc = { get: get, set: set, configurable: c, enumerable: e };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};\n", "\"use strict\";\n\nvar objToString = Object.prototype.toString\n , id = objToString.call((function () { return arguments; })());\n\nmodule.exports = function (value) { return objToString.call(value) === id; };\n", "\"use strict\";\n\nvar objToString = Object.prototype.toString, id = objToString.call(\"\");\n\nmodule.exports = function (value) {\n\treturn (\n\t\ttypeof value === \"string\" ||\n\t\t(value &&\n\t\t\ttypeof value === \"object\" &&\n\t\t\t(value instanceof String || objToString.call(value) === id)) ||\n\t\tfalse\n\t);\n};\n", "\"use strict\";\n\nmodule.exports = function () {\n\tif (typeof globalThis !== \"object\") return false;\n\tif (!globalThis) return false;\n\treturn globalThis.Array === Array;\n};\n", "var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of Object.prototype being sealed (via preventExtensions, seal or freeze)\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ is resolved with global context, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? globalThis : require(\"./implementation\");\n", "\"use strict\";\n\nvar global = require(\"ext/global-this\")\n , validTypes = { object: true, symbol: true };\n\nmodule.exports = function () {\n\tvar Symbol = global.Symbol;\n\tvar symbol;\n\tif (typeof Symbol !== \"function\") return false;\n\tsymbol = Symbol(\"test symbol\");\n\ttry { String(symbol); }\n\tcatch (e) { return false; }\n\n\t// Return 'true' also for polyfills\n\tif (!validTypes[typeof Symbol.iterator]) return false;\n\tif (!validTypes[typeof Symbol.toPrimitive]) return false;\n\tif (!validTypes[typeof Symbol.toStringTag]) return false;\n\n\treturn true;\n};\n", "\"use strict\";\n\nmodule.exports = function (value) {\n\tif (!value) return false;\n\tif (typeof value === \"symbol\") return true;\n\tif (!value.constructor) return false;\n\tif (value.constructor.name !== \"Symbol\") return false;\n\treturn value[value.constructor.toStringTag] === \"Symbol\";\n};\n", "\"use strict\";\n\nvar isSymbol = require(\"./is-symbol\");\n\nmodule.exports = function (value) {\n\tif (!isSymbol(value)) throw new TypeError(value + \" is not a symbol\");\n\treturn value;\n};\n", "\"use strict\";\n\nvar d = require(\"d\");\n\nvar create = Object.create, defineProperty = Object.defineProperty, objPrototype = Object.prototype;\n\nvar created = create(null);\nmodule.exports = function (desc) {\n\tvar postfix = 0, name, ie11BugWorkaround;\n\twhile (created[desc + (postfix || \"\")]) ++postfix;\n\tdesc += postfix || \"\";\n\tcreated[desc] = true;\n\tname = \"@@\" + desc;\n\tdefineProperty(\n\t\tobjPrototype, name,\n\t\td.gs(null, function (value) {\n\t\t\t// For IE11 issue see:\n\t\t\t// https://connect.microsoft.com/IE/feedbackdetail/view/1928508/\n\t\t\t// ie11-broken-getters-on-dom-objects\n\t\t\t// https://github.com/medikoo/es6-symbol/issues/12\n\t\t\tif (ie11BugWorkaround) return;\n\t\t\tie11BugWorkaround = true;\n\t\t\tdefineProperty(this, name, d(value));\n\t\t\tie11BugWorkaround = false;\n\t\t})\n\t);\n\treturn name;\n};\n", "\"use strict\";\n\nvar d = require(\"d\")\n , NativeSymbol = require(\"ext/global-this\").Symbol;\n\nmodule.exports = function (SymbolPolyfill) {\n\treturn Object.defineProperties(SymbolPolyfill, {\n\t\t// To ensure proper interoperability with other native functions (e.g. Array.from)\n\t\t// fallback to eventual native implementation of given symbol\n\t\thasInstance: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.hasInstance) || SymbolPolyfill(\"hasInstance\")\n\t\t),\n\t\tisConcatSpreadable: d(\n\t\t\t\"\",\n\t\t\t(NativeSymbol && NativeSymbol.isConcatSpreadable) ||\n\t\t\t\tSymbolPolyfill(\"isConcatSpreadable\")\n\t\t),\n\t\titerator: d(\"\", (NativeSymbol && NativeSymbol.iterator) || SymbolPolyfill(\"iterator\")),\n\t\tmatch: d(\"\", (NativeSymbol && NativeSymbol.match) || SymbolPolyfill(\"match\")),\n\t\treplace: d(\"\", (NativeSymbol && NativeSymbol.replace) || SymbolPolyfill(\"replace\")),\n\t\tsearch: d(\"\", (NativeSymbol && NativeSymbol.search) || SymbolPolyfill(\"search\")),\n\t\tspecies: d(\"\", (NativeSymbol && NativeSymbol.species) || SymbolPolyfill(\"species\")),\n\t\tsplit: d(\"\", (NativeSymbol && NativeSymbol.split) || SymbolPolyfill(\"split\")),\n\t\ttoPrimitive: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.toPrimitive) || SymbolPolyfill(\"toPrimitive\")\n\t\t),\n\t\ttoStringTag: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.toStringTag) || SymbolPolyfill(\"toStringTag\")\n\t\t),\n\t\tunscopables: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.unscopables) || SymbolPolyfill(\"unscopables\")\n\t\t)\n\t});\n};\n", "\"use strict\";\n\nvar d = require(\"d\")\n , validateSymbol = require(\"../../../validate-symbol\");\n\nvar registry = Object.create(null);\n\nmodule.exports = function (SymbolPolyfill) {\n\treturn Object.defineProperties(SymbolPolyfill, {\n\t\tfor: d(function (key) {\n\t\t\tif (registry[key]) return registry[key];\n\t\t\treturn (registry[key] = SymbolPolyfill(String(key)));\n\t\t}),\n\t\tkeyFor: d(function (symbol) {\n\t\t\tvar key;\n\t\t\tvalidateSymbol(symbol);\n\t\t\tfor (key in registry) {\n\t\t\t\tif (registry[key] === symbol) return key;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t})\n\t});\n};\n", "// ES2015 Symbol polyfill for environments that do not (or partially) support it\n\n\"use strict\";\n\nvar d = require(\"d\")\n , validateSymbol = require(\"./validate-symbol\")\n , NativeSymbol = require(\"ext/global-this\").Symbol\n , generateName = require(\"./lib/private/generate-name\")\n , setupStandardSymbols = require(\"./lib/private/setup/standard-symbols\")\n , setupSymbolRegistry = require(\"./lib/private/setup/symbol-registry\");\n\nvar create = Object.create\n , defineProperties = Object.defineProperties\n , defineProperty = Object.defineProperty;\n\nvar SymbolPolyfill, HiddenSymbol, isNativeSafe;\n\nif (typeof NativeSymbol === \"function\") {\n\ttry {\n\t\tString(NativeSymbol());\n\t\tisNativeSafe = true;\n\t} catch (ignore) {}\n} else {\n\tNativeSymbol = null;\n}\n\n// Internal constructor (not one exposed) for creating Symbol instances.\n// This one is used to ensure that `someSymbol instanceof Symbol` always return false\nHiddenSymbol = function Symbol(description) {\n\tif (this instanceof HiddenSymbol) throw new TypeError(\"Symbol is not a constructor\");\n\treturn SymbolPolyfill(description);\n};\n\n// Exposed `Symbol` constructor\n// (returns instances of HiddenSymbol)\nmodule.exports = SymbolPolyfill = function Symbol(description) {\n\tvar symbol;\n\tif (this instanceof Symbol) throw new TypeError(\"Symbol is not a constructor\");\n\tif (isNativeSafe) return NativeSymbol(description);\n\tsymbol = create(HiddenSymbol.prototype);\n\tdescription = description === undefined ? \"\" : String(description);\n\treturn defineProperties(symbol, {\n\t\t__description__: d(\"\", description),\n\t\t__name__: d(\"\", generateName(description))\n\t});\n};\n\nsetupStandardSymbols(SymbolPolyfill);\nsetupSymbolRegistry(SymbolPolyfill);\n\n// Internal tweaks for real symbol producer\ndefineProperties(HiddenSymbol.prototype, {\n\tconstructor: d(SymbolPolyfill),\n\ttoString: d(\"\", function () { return this.__name__; })\n});\n\n// Proper implementation of methods exposed on Symbol.prototype\n// They won't be accessible on produced symbol instances as they derive from HiddenSymbol.prototype\ndefineProperties(SymbolPolyfill.prototype, {\n\ttoString: d(function () { return \"Symbol (\" + validateSymbol(this).__description__ + \")\"; }),\n\tvalueOf: d(function () { return validateSymbol(this); })\n});\ndefineProperty(\n\tSymbolPolyfill.prototype, SymbolPolyfill.toPrimitive,\n\td(\"\", function () {\n\t\tvar symbol = validateSymbol(this);\n\t\tif (typeof symbol === \"symbol\") return symbol;\n\t\treturn symbol.toString();\n\t})\n);\ndefineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toStringTag, d(\"c\", \"Symbol\"));\n\n// Proper implementaton of toPrimitive and toStringTag for returned symbol instances\ndefineProperty(\n\tHiddenSymbol.prototype, SymbolPolyfill.toStringTag,\n\td(\"c\", SymbolPolyfill.prototype[SymbolPolyfill.toStringTag])\n);\n\n// Note: It's important to define `toPrimitive` as last one, as some implementations\n// implement `toPrimitive` natively without implementing `toStringTag` (or other specified symbols)\n// And that may invoke error in definition flow:\n// See: https://github.com/medikoo/es6-symbol/issues/13#issuecomment-164146149\ndefineProperty(\n\tHiddenSymbol.prototype, SymbolPolyfill.toPrimitive,\n\td(\"c\", SymbolPolyfill.prototype[SymbolPolyfill.toPrimitive])\n);\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")()\n\t? require(\"ext/global-this\").Symbol\n\t: require(\"./polyfill\");\n", "// Inspired by Google Closure:\n// http://closure-library.googlecode.com/svn/docs/\n// closure_goog_array_array.js.html#goog.array.clear\n\n\"use strict\";\n\nvar value = require(\"../../object/valid-value\");\n\nmodule.exports = function () {\n\tvalue(this).length = 0;\n\treturn this;\n};\n", "\"use strict\";\n\nmodule.exports = function (fn) {\n\tif (typeof fn !== \"function\") throw new TypeError(fn + \" is not a function\");\n\treturn fn;\n};\n", "\"use strict\";\n\nvar isValue = require(\"../value/is\")\n , isObject = require(\"../object/is\");\n\nvar objectToString = Object.prototype.toString;\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) return null;\n\tif (isObject(value)) {\n\t\t// Reject Object.prototype.toString coercion\n\t\tvar valueToString = value.toString;\n\t\tif (typeof valueToString !== \"function\") return null;\n\t\tif (valueToString === objectToString) return null;\n\t\t// Note: It can be object coming from other realm, still as there's no ES3 and CSP compliant\n\t\t// way to resolve its realm's Object.prototype.toString it's left as not addressed edge case\n\t}\n\ttry {\n\t\treturn \"\" + value; // Ensure implicit coercion\n\t} catch (error) {\n\t\treturn null;\n\t}\n};\n", "\"use strict\";\n\nmodule.exports = function (value) {\n\ttry {\n\t\treturn value.toString();\n\t} catch (error) {\n\t\ttry { return String(value); }\n\t\tcatch (error2) { return null; }\n\t}\n};\n", "\"use strict\";\n\nvar safeToString = require(\"./safe-to-string\");\n\nvar reNewLine = /[\\n\\r\\u2028\\u2029]/g;\n\nmodule.exports = function (value) {\n\tvar string = safeToString(value);\n\tif (string === null) return \"<Non-coercible to string value>\";\n\t// Trim if too long\n\tif (string.length > 100) string = string.slice(0, 99) + \"\u2026\";\n\t// Replace eventual new lines\n\tstring = string.replace(reNewLine, function (char) {\n\t\tswitch (char) {\n\t\t\tcase \"\\n\":\n\t\t\t\treturn \"\\\\n\";\n\t\t\tcase \"\\r\":\n\t\t\t\treturn \"\\\\r\";\n\t\t\tcase \"\\u2028\":\n\t\t\t\treturn \"\\\\u2028\";\n\t\t\tcase \"\\u2029\":\n\t\t\t\treturn \"\\\\u2029\";\n\t\t\t/* istanbul ignore next */\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"Unexpected character\");\n\t\t}\n\t});\n\treturn string;\n};\n", "\"use strict\";\n\nvar stringCoerce = require(\"../string/coerce\")\n , toShortString = require(\"./to-short-string\");\n\nmodule.exports = function (errorMessage, value, inputOptions) {\n\tif (inputOptions && inputOptions.errorMessage) {\n\t\terrorMessage = stringCoerce(inputOptions.errorMessage);\n\t}\n\n\tvar valueInsertIndex = errorMessage.indexOf(\"%v\");\n\tvar valueToken = valueInsertIndex > -1 ? toShortString(value) : null;\n\tif (inputOptions && inputOptions.name) {\n\t\tvar nameInsertIndex = errorMessage.indexOf(\"%n\");\n\t\tif (nameInsertIndex > -1) {\n\t\t\tif (valueInsertIndex > -1) {\n\t\t\t\tvar firstToken, secondToken, firstInsertIndex, secondInsertIndex;\n\t\t\t\tif (nameInsertIndex > valueInsertIndex) {\n\t\t\t\t\tfirstToken = valueToken;\n\t\t\t\t\tfirstInsertIndex = valueInsertIndex;\n\t\t\t\t\tsecondToken = inputOptions.name;\n\t\t\t\t\tsecondInsertIndex = nameInsertIndex;\n\t\t\t\t} else {\n\t\t\t\t\tfirstToken = inputOptions.name;\n\t\t\t\t\tfirstInsertIndex = nameInsertIndex;\n\t\t\t\t\tsecondToken = valueToken;\n\t\t\t\t\tsecondInsertIndex = valueInsertIndex;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\terrorMessage.slice(0, firstInsertIndex) +\n\t\t\t\t\tfirstToken +\n\t\t\t\t\terrorMessage.slice(firstInsertIndex + 2, secondInsertIndex) +\n\t\t\t\t\tsecondToken +\n\t\t\t\t\terrorMessage.slice(secondInsertIndex + 2)\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn (\n\t\t\t\terrorMessage.slice(0, nameInsertIndex) +\n\t\t\t\tinputOptions.name +\n\t\t\t\terrorMessage.slice(nameInsertIndex + 2)\n\t\t\t);\n\t\t}\n\t}\n\tif (valueInsertIndex > -1) {\n\t\treturn (\n\t\t\terrorMessage.slice(0, valueInsertIndex) +\n\t\t\tvalueToken +\n\t\t\terrorMessage.slice(valueInsertIndex + 2)\n\t\t);\n\t}\n\treturn errorMessage;\n};\n", "\"use strict\";\n\nvar isValue = require(\"../value/is\")\n , resolveErrorMessage = require(\"./resolve-error-message\");\n\nmodule.exports = function (value, defaultMessage, inputOptions) {\n\tif (inputOptions && !isValue(value)) {\n\t\tif (\"default\" in inputOptions) return inputOptions[\"default\"];\n\t\tif (inputOptions.isOptional) return null;\n\t}\n\tvar ErrorConstructor = (inputOptions && inputOptions.Error) || TypeError;\n\tvar error = new ErrorConstructor(resolveErrorMessage(defaultMessage, value, inputOptions));\n\tif (inputOptions && inputOptions.errorCode) error.code = inputOptions.errorCode;\n\tthrow error;\n};\n", "\"use strict\";\n\nvar resolveException = require(\"../lib/resolve-exception\")\n , is = require(\"./is\");\n\nmodule.exports = function (value/*, options*/) {\n\tif (is(value)) return value;\n\tvar options = arguments[1];\n\tvar errorMessage =\n\t\toptions && options.name ? \"Expected a value for %n, received %v\" : \"Cannot use %v\";\n\treturn resolveException(value, errorMessage, options);\n};\n", "\"use strict\";\n\nvar resolveException = require(\"../lib/resolve-exception\")\n , is = require(\"./is\");\n\nmodule.exports = function (value/*, options*/) {\n\tif (is(value)) return value;\n\tvar options = arguments[1];\n\tvar errorMessage =\n\t\toptions && options.name\n\t\t\t? \"Expected a plain function for %n, received %v\"\n\t\t\t: \"%v is not a plain function\";\n\treturn resolveException(value, errorMessage, options);\n};\n", "\"use strict\";\n\nmodule.exports = function () {\n\tvar from = Array.from, arr, result;\n\tif (typeof from !== \"function\") return false;\n\tarr = [\"raz\", \"dwa\"];\n\tresult = from(arr);\n\treturn Boolean(result && result !== arr && result[1] === \"dwa\");\n};\n", "\"use strict\";\n\nvar objToString = Object.prototype.toString\n , isFunctionStringTag = RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);\n\nmodule.exports = function (value) {\n\treturn typeof value === \"function\" && isFunctionStringTag(objToString.call(value));\n};\n", "\"use strict\";\n\nmodule.exports = function () {\n\tvar sign = Math.sign;\n\tif (typeof sign !== \"function\") return false;\n\treturn sign(10) === 1 && sign(-20) === -1;\n};\n", "\"use strict\";\n\nmodule.exports = function (value) {\n\tvalue = Number(value);\n\tif (isNaN(value) || value === 0) return value;\n\treturn value > 0 ? 1 : -1;\n};\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Math.sign : require(\"./shim\");\n", "\"use strict\";\n\nvar sign = require(\"../math/sign\")\n , abs = Math.abs\n , floor = Math.floor;\n\nmodule.exports = function (value) {\n\tif (isNaN(value)) return 0;\n\tvalue = Number(value);\n\tif (value === 0 || !isFinite(value)) return value;\n\treturn sign(value) * floor(abs(value));\n};\n", "\"use strict\";\n\nvar toInteger = require(\"./to-integer\")\n , max = Math.max;\n\nmodule.exports = function (value) { return max(0, toInteger(value)); };\n", "\"use strict\";\n\nvar iteratorSymbol = require(\"es6-symbol\").iterator\n , isArguments = require(\"../../function/is-arguments\")\n , isFunction = require(\"../../function/is-function\")\n , toPosInt = require(\"../../number/to-pos-integer\")\n , callable = require(\"../../object/valid-callable\")\n , validValue = require(\"../../object/valid-value\")\n , isValue = require(\"../../object/is-value\")\n , isString = require(\"../../string/is-string\")\n , isArray = Array.isArray\n , call = Function.prototype.call\n , desc = { configurable: true, enumerable: true, writable: true, value: null }\n , defineProperty = Object.defineProperty;\n\n// eslint-disable-next-line complexity, max-lines-per-function\nmodule.exports = function (arrayLike /*, mapFn, thisArg*/) {\n\tvar mapFn = arguments[1]\n\t , thisArg = arguments[2]\n\t , Context\n\t , i\n\t , j\n\t , arr\n\t , length\n\t , code\n\t , iterator\n\t , result\n\t , getIterator\n\t , value;\n\n\tarrayLike = Object(validValue(arrayLike));\n\n\tif (isValue(mapFn)) callable(mapFn);\n\tif (!this || this === Array || !isFunction(this)) {\n\t\t// Result: Plain array\n\t\tif (!mapFn) {\n\t\t\tif (isArguments(arrayLike)) {\n\t\t\t\t// Source: Arguments\n\t\t\t\tlength = arrayLike.length;\n\t\t\t\tif (length !== 1) return Array.apply(null, arrayLike);\n\t\t\t\tarr = new Array(1);\n\t\t\t\tarr[0] = arrayLike[0];\n\t\t\t\treturn arr;\n\t\t\t}\n\t\t\tif (isArray(arrayLike)) {\n\t\t\t\t// Source: Array\n\t\t\t\tarr = new Array((length = arrayLike.length));\n\t\t\t\tfor (i = 0; i < length; ++i) arr[i] = arrayLike[i];\n\t\t\t\treturn arr;\n\t\t\t}\n\t\t}\n\t\tarr = [];\n\t} else {\n\t\t// Result: Non plain array\n\t\tContext = this;\n\t}\n\n\tif (!isArray(arrayLike)) {\n\t\tif ((getIterator = arrayLike[iteratorSymbol]) !== undefined) {\n\t\t\t// Source: Iterator\n\t\t\titerator = callable(getIterator).call(arrayLike);\n\t\t\tif (Context) arr = new Context();\n\t\t\tresult = iterator.next();\n\t\t\ti = 0;\n\t\t\twhile (!result.done) {\n\t\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, result.value, i) : result.value;\n\t\t\t\tif (Context) {\n\t\t\t\t\tdesc.value = value;\n\t\t\t\t\tdefineProperty(arr, i, desc);\n\t\t\t\t} else {\n\t\t\t\t\tarr[i] = value;\n\t\t\t\t}\n\t\t\t\tresult = iterator.next();\n\t\t\t\t++i;\n\t\t\t}\n\t\t\tlength = i;\n\t\t} else if (isString(arrayLike)) {\n\t\t\t// Source: String\n\t\t\tlength = arrayLike.length;\n\t\t\tif (Context) arr = new Context();\n\t\t\tfor (i = 0, j = 0; i < length; ++i) {\n\t\t\t\tvalue = arrayLike[i];\n\t\t\t\tif (i + 1 < length) {\n\t\t\t\t\tcode = value.charCodeAt(0);\n\t\t\t\t\t// eslint-disable-next-line max-depth\n\t\t\t\t\tif (code >= 0xd800 && code <= 0xdbff) value += arrayLike[++i];\n\t\t\t\t}\n\t\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, value, j) : value;\n\t\t\t\tif (Context) {\n\t\t\t\t\tdesc.value = value;\n\t\t\t\t\tdefineProperty(arr, j, desc);\n\t\t\t\t} else {\n\t\t\t\t\tarr[j] = value;\n\t\t\t\t}\n\t\t\t\t++j;\n\t\t\t}\n\t\t\tlength = j;\n\t\t}\n\t}\n\tif (length === undefined) {\n\t\t// Source: array or array-like\n\t\tlength = toPosInt(arrayLike.length);\n\t\tif (Context) arr = new Context(length);\n\t\tfor (i = 0; i < length; ++i) {\n\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, arrayLike[i], i) : arrayLike[i];\n\t\t\tif (Context) {\n\t\t\t\tdesc.value = value;\n\t\t\t\tdefineProperty(arr, i, desc);\n\t\t\t} else {\n\t\t\t\tarr[i] = value;\n\t\t\t}\n\t\t}\n\t}\n\tif (Context) {\n\t\tdesc.value = null;\n\t\tarr.length = length;\n\t}\n\treturn arr;\n};\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Array.from : require(\"./shim\");\n", "\"use strict\";\n\nvar aFrom = require(\"../array/from\")\n , assign = require(\"./assign\")\n , value = require(\"./valid-value\");\n\nmodule.exports = function (obj /*, propertyNames, options*/) {\n\tvar copy = Object(value(obj)), propertyNames = arguments[1], options = Object(arguments[2]);\n\tif (copy !== obj && !propertyNames) return copy;\n\tvar result = {};\n\tif (propertyNames) {\n\t\taFrom(propertyNames, function (propertyName) {\n\t\t\tif (options.ensure || propertyName in obj) result[propertyName] = obj[propertyName];\n\t\t});\n\t} else {\n\t\tassign(result, obj);\n\t}\n\treturn result;\n};\n", "// Internal method, used by iteration functions.\n// Calls a function for each key-value pair found in object\n// Optionally takes compareFn to iterate object in specific order\n\n\"use strict\";\n\nvar callable = require(\"./valid-callable\")\n , value = require(\"./valid-value\")\n , bind = Function.prototype.bind\n , call = Function.prototype.call\n , keys = Object.keys\n , objPropertyIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nmodule.exports = function (method, defVal) {\n\treturn function (obj, cb /*, thisArg, compareFn*/) {\n\t\tvar list, thisArg = arguments[2], compareFn = arguments[3];\n\t\tobj = Object(value(obj));\n\t\tcallable(cb);\n\n\t\tlist = keys(obj);\n\t\tif (compareFn) {\n\t\t\tlist.sort(typeof compareFn === \"function\" ? bind.call(compareFn, obj) : undefined);\n\t\t}\n\t\tif (typeof method !== \"function\") method = list[method];\n\t\treturn call.call(method, list, function (key, index) {\n\t\t\tif (!objPropertyIsEnumerable.call(obj, key)) return defVal;\n\t\t\treturn call.call(cb, thisArg, obj[key], key, obj, index);\n\t\t});\n\t};\n};\n", "\"use strict\";\n\nmodule.exports = require(\"./_iterate\")(\"forEach\");\n", "\"use strict\";\n\nvar callable = require(\"./valid-callable\")\n , forEach = require(\"./for-each\")\n , call = Function.prototype.call;\n\nmodule.exports = function (obj, cb /*, thisArg*/) {\n\tvar result = {}, thisArg = arguments[2];\n\tcallable(cb);\n\tforEach(obj, function (value, key, targetObj, index) {\n\t\tresult[key] = call.call(cb, thisArg, value, key, targetObj, index);\n\t});\n\treturn result;\n};\n", "\"use strict\";\n\nvar isValue = require(\"type/value/is\")\n , ensureValue = require(\"type/value/ensure\")\n , ensurePlainFunction = require(\"type/plain-function/ensure\")\n , copy = require(\"es5-ext/object/copy\")\n , normalizeOptions = require(\"es5-ext/object/normalize-options\")\n , map = require(\"es5-ext/object/map\");\n\nvar bind = Function.prototype.bind\n , defineProperty = Object.defineProperty\n , hasOwnProperty = Object.prototype.hasOwnProperty\n , define;\n\ndefine = function (name, desc, options) {\n\tvar value = ensureValue(desc) && ensurePlainFunction(desc.value), dgs;\n\tdgs = copy(desc);\n\tdelete dgs.writable;\n\tdelete dgs.value;\n\tdgs.get = function () {\n\t\tif (!options.overwriteDefinition && hasOwnProperty.call(this, name)) return value;\n\t\tdesc.value = bind.call(value, options.resolveContext ? options.resolveContext(this) : this);\n\t\tdefineProperty(this, name, desc);\n\t\treturn this[name];\n\t};\n\treturn dgs;\n};\n\nmodule.exports = function (props/*, options*/) {\n\tvar options = normalizeOptions(arguments[1]);\n\tif (isValue(options.resolveContext)) ensurePlainFunction(options.resolveContext);\n\treturn map(props, function (desc, name) { return define(name, desc, options); });\n};\n", "\"use strict\";\n\nvar clear = require(\"es5-ext/array/#/clear\")\n , assign = require(\"es5-ext/object/assign\")\n , callable = require(\"es5-ext/object/valid-callable\")\n , value = require(\"es5-ext/object/valid-value\")\n , d = require(\"d\")\n , autoBind = require(\"d/auto-bind\")\n , Symbol = require(\"es6-symbol\");\n\nvar defineProperty = Object.defineProperty, defineProperties = Object.defineProperties, Iterator;\n\nmodule.exports = Iterator = function (list, context) {\n\tif (!(this instanceof Iterator)) throw new TypeError(\"Constructor requires 'new'\");\n\tdefineProperties(this, {\n\t\t__list__: d(\"w\", value(list)),\n\t\t__context__: d(\"w\", context),\n\t\t__nextIndex__: d(\"w\", 0)\n\t});\n\tif (!context) return;\n\tcallable(context.on);\n\tcontext.on(\"_add\", this._onAdd);\n\tcontext.on(\"_delete\", this._onDelete);\n\tcontext.on(\"_clear\", this._onClear);\n};\n\n// Internal %IteratorPrototype% doesn't expose its constructor\ndelete Iterator.prototype.constructor;\n\ndefineProperties(\n\tIterator.prototype,\n\tassign(\n\t\t{\n\t\t\t_next: d(function () {\n\t\t\t\tvar i;\n\t\t\t\tif (!this.__list__) return undefined;\n\t\t\t\tif (this.__redo__) {\n\t\t\t\t\ti = this.__redo__.shift();\n\t\t\t\t\tif (i !== undefined) return i;\n\t\t\t\t}\n\t\t\t\tif (this.__nextIndex__ < this.__list__.length) return this.__nextIndex__++;\n\t\t\t\tthis._unBind();\n\t\t\t\treturn undefined;\n\t\t\t}),\n\t\t\tnext: d(function () {\n\t\t\t\treturn this._createResult(this._next());\n\t\t\t}),\n\t\t\t_createResult: d(function (i) {\n\t\t\t\tif (i === undefined) return { done: true, value: undefined };\n\t\t\t\treturn { done: false, value: this._resolve(i) };\n\t\t\t}),\n\t\t\t_resolve: d(function (i) {\n\t\t\t\treturn this.__list__[i];\n\t\t\t}),\n\t\t\t_unBind: d(function () {\n\t\t\t\tthis.__list__ = null;\n\t\t\t\tdelete this.__redo__;\n\t\t\t\tif (!this.__context__) return;\n\t\t\t\tthis.__context__.off(\"_add\", this._onAdd);\n\t\t\t\tthis.__context__.off(\"_delete\", this._onDelete);\n\t\t\t\tthis.__context__.off(\"_clear\", this._onClear);\n\t\t\t\tthis.__context__ = null;\n\t\t\t}),\n\t\t\ttoString: d(function () {\n\t\t\t\treturn \"[object \" + (this[Symbol.toStringTag] || \"Object\") + \"]\";\n\t\t\t})\n\t\t},\n\t\tautoBind({\n\t\t\t_onAdd: d(function (index) {\n\t\t\t\tif (index >= this.__nextIndex__) return;\n\t\t\t\t++this.__nextIndex__;\n\t\t\t\tif (!this.__redo__) {\n\t\t\t\t\tdefineProperty(this, \"__redo__\", d(\"c\", [index]));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.__redo__.forEach(function (redo, i) {\n\t\t\t\t\tif (redo >= index) this.__redo__[i] = ++redo;\n\t\t\t\t}, this);\n\t\t\t\tthis.__redo__.push(index);\n\t\t\t}),\n\t\t\t_onDelete: d(function (index) {\n\t\t\t\tvar i;\n\t\t\t\tif (index >= this.__nextIndex__) return;\n\t\t\t\t--this.__nextIndex__;\n\t\t\t\tif (!this.__redo__) return;\n\t\t\t\ti = this.__redo__.indexOf(index);\n\t\t\t\tif (i !== -1) this.__redo__.splice(i, 1);\n\t\t\t\tthis.__redo__.forEach(function (redo, j) {\n\t\t\t\t\tif (redo > index) this.__redo__[j] = --redo;\n\t\t\t\t}, this);\n\t\t\t}),\n\t\t\t_onClear: d(function () {\n\t\t\t\tif (this.__redo__) clear.call(this.__redo__);\n\t\t\t\tthis.__nextIndex__ = 0;\n\t\t\t})\n\t\t})\n\t)\n);\n\ndefineProperty(\n\tIterator.prototype,\n\tSymbol.iterator,\n\td(function () {\n\t\treturn this;\n\t})\n);\n", "\"use strict\";\n\nvar setPrototypeOf = require(\"es5-ext/object/set-prototype-of\")\n , contains = require(\"es5-ext/string/#/contains\")\n , d = require(\"d\")\n , Symbol = require(\"es6-symbol\")\n , Iterator = require(\"./\");\n\nvar defineProperty = Object.defineProperty, ArrayIterator;\n\nArrayIterator = module.exports = function (arr, kind) {\n\tif (!(this instanceof ArrayIterator)) throw new TypeError(\"Constructor requires 'new'\");\n\tIterator.call(this, arr);\n\tif (!kind) kind = \"value\";\n\telse if (contains.call(kind, \"key+value\")) kind = \"key+value\";\n\telse if (contains.call(kind, \"key\")) kind = \"key\";\n\telse kind = \"value\";\n\tdefineProperty(this, \"__kind__\", d(\"\", kind));\n};\nif (setPrototypeOf) setPrototypeOf(ArrayIterator, Iterator);\n\n// Internal %ArrayIteratorPrototype% doesn't expose its constructor\ndelete ArrayIterator.prototype.constructor;\n\nArrayIterator.prototype = Object.create(Iterator.prototype, {\n\t_resolve: d(function (i) {\n\t\tif (this.__kind__ === \"value\") return this.__list__[i];\n\t\tif (this.__kind__ === \"key+value\") return [i, this.__list__[i]];\n\t\treturn i;\n\t})\n});\ndefineProperty(ArrayIterator.prototype, Symbol.toStringTag, d(\"c\", \"Array Iterator\"));\n", "// Thanks @mathiasbynens\n// http://mathiasbynens.be/notes/javascript-unicode#iterating-over-symbols\n\n\"use strict\";\n\nvar setPrototypeOf = require(\"es5-ext/object/set-prototype-of\")\n , d = require(\"d\")\n , Symbol = require(\"es6-symbol\")\n , Iterator = require(\"./\");\n\nvar defineProperty = Object.defineProperty, StringIterator;\n\nStringIterator = module.exports = function (str) {\n\tif (!(this instanceof StringIterator)) throw new TypeError(\"Constructor requires 'new'\");\n\tstr = String(str);\n\tIterator.call(this, str);\n\tdefineProperty(this, \"__length__\", d(\"\", str.length));\n};\nif (setPrototypeOf) setPrototypeOf(StringIterator, Iterator);\n\n// Internal %ArrayIteratorPrototype% doesn't expose its constructor\ndelete StringIterator.prototype.constructor;\n\nStringIterator.prototype = Object.create(Iterator.prototype, {\n\t_next: d(function () {\n\t\tif (!this.__list__) return undefined;\n\t\tif (this.__nextIndex__ < this.__length__) return this.__nextIndex__++;\n\t\tthis._unBind();\n\t\treturn undefined;\n\t}),\n\t_resolve: d(function (i) {\n\t\tvar char = this.__list__[i], code;\n\t\tif (this.__nextIndex__ === this.__length__) return char;\n\t\tcode = char.charCodeAt(0);\n\t\tif (code >= 0xd800 && code <= 0xdbff) return char + this.__list__[this.__nextIndex__++];\n\t\treturn char;\n\t})\n});\ndefineProperty(StringIterator.prototype, Symbol.toStringTag, d(\"c\", \"String Iterator\"));\n", "\"use strict\";\n\nvar isArguments = require(\"es5-ext/function/is-arguments\")\n , isValue = require(\"es5-ext/object/is-value\")\n , isString = require(\"es5-ext/string/is-string\");\n\nvar iteratorSymbol = require(\"es6-symbol\").iterator\n , isArray = Array.isArray;\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) return false;\n\tif (isArray(value)) return true;\n\tif (isString(value)) return true;\n\tif (isArguments(value)) return true;\n\treturn typeof value[iteratorSymbol] === \"function\";\n};\n", "\"use strict\";\n\nvar isIterable = require(\"./is-iterable\");\n\nmodule.exports = function (value) {\n\tif (!isIterable(value)) throw new TypeError(value + \" is not iterable\");\n\treturn value;\n};\n", "\"use strict\";\n\nvar isArguments = require(\"es5-ext/function/is-arguments\")\n , isString = require(\"es5-ext/string/is-string\")\n , ArrayIterator = require(\"./array\")\n , StringIterator = require(\"./string\")\n , iterable = require(\"./valid-iterable\")\n , iteratorSymbol = require(\"es6-symbol\").iterator;\n\nmodule.exports = function (obj) {\n\tif (typeof iterable(obj)[iteratorSymbol] === \"function\") return obj[iteratorSymbol]();\n\tif (isArguments(obj)) return new ArrayIterator(obj);\n\tif (isString(obj)) return new StringIterator(obj);\n\treturn new ArrayIterator(obj);\n};\n", "\"use strict\";\n\nvar isArguments = require(\"es5-ext/function/is-arguments\")\n , callable = require(\"es5-ext/object/valid-callable\")\n , isString = require(\"es5-ext/string/is-string\")\n , get = require(\"./get\");\n\nvar isArray = Array.isArray, call = Function.prototype.call, some = Array.prototype.some;\n\nmodule.exports = function (iterable, cb /*, thisArg*/) {\n\tvar mode, thisArg = arguments[2], result, doBreak, broken, i, length, char, code;\n\tif (isArray(iterable) || isArguments(iterable)) mode = \"array\";\n\telse if (isString(iterable)) mode = \"string\";\n\telse iterable = get(iterable);\n\n\tcallable(cb);\n\tdoBreak = function () {\n\t\tbroken = true;\n\t};\n\tif (mode === \"array\") {\n\t\tsome.call(iterable, function (value) {\n\t\t\tcall.call(cb, thisArg, value, doBreak);\n\t\t\treturn broken;\n\t\t});\n\t\treturn;\n\t}\n\tif (mode === \"string\") {\n\t\tlength = iterable.length;\n\t\tfor (i = 0; i < length; ++i) {\n\t\t\tchar = iterable[i];\n\t\t\tif (i + 1 < length) {\n\t\t\t\tcode = char.charCodeAt(0);\n\t\t\t\tif (code >= 0xd800 && code <= 0xdbff) char += iterable[++i];\n\t\t\t}\n\t\t\tcall.call(cb, thisArg, char, doBreak);\n\t\t\tif (broken) break;\n\t\t}\n\t\treturn;\n\t}\n\tresult = iterable.next();\n\n\twhile (!result.done) {\n\t\tcall.call(cb, thisArg, result.value, doBreak);\n\t\tif (broken) return;\n\t\tresult = iterable.next();\n\t}\n};\n", "// Exports true if environment provides native `WeakMap` implementation, whatever that is.\n\n\"use strict\";\n\nmodule.exports = (function () {\n\tif (typeof WeakMap !== \"function\") return false;\n\treturn Object.prototype.toString.call(new WeakMap()) === \"[object WeakMap]\";\n}());\n", "\"use strict\";\n\nvar isValue = require(\"es5-ext/object/is-value\")\n , setPrototypeOf = require(\"es5-ext/object/set-prototype-of\")\n , object = require(\"es5-ext/object/valid-object\")\n , ensureValue = require(\"es5-ext/object/valid-value\")\n , randomUniq = require(\"es5-ext/string/random-uniq\")\n , d = require(\"d\")\n , getIterator = require(\"es6-iterator/get\")\n , forOf = require(\"es6-iterator/for-of\")\n , toStringTagSymbol = require(\"es6-symbol\").toStringTag\n , isNative = require(\"./is-native-implemented\")\n\n , isArray = Array.isArray, defineProperty = Object.defineProperty\n , objHasOwnProperty = Object.prototype.hasOwnProperty, getPrototypeOf = Object.getPrototypeOf\n , WeakMapPoly;\n\nmodule.exports = WeakMapPoly = function (/* Iterable*/) {\n\tvar iterable = arguments[0], self;\n\n\tif (!(this instanceof WeakMapPoly)) throw new TypeError(\"Constructor requires 'new'\");\n\tself = isNative && setPrototypeOf && (WeakMap !== WeakMapPoly)\n\t\t? setPrototypeOf(new WeakMap(), getPrototypeOf(this)) : this;\n\n\tif (isValue(iterable)) {\n\t\tif (!isArray(iterable)) iterable = getIterator(iterable);\n\t}\n\tdefineProperty(self, \"__weakMapData__\", d(\"c\", \"$weakMap$\" + randomUniq()));\n\tif (!iterable) return self;\n\tforOf(iterable, function (val) {\n\t\tensureValue(val);\n\t\tself.set(val[0], val[1]);\n\t});\n\treturn self;\n};\n\nif (isNative) {\n\tif (setPrototypeOf) setPrototypeOf(WeakMapPoly, WeakMap);\n\tWeakMapPoly.prototype = Object.create(WeakMap.prototype, { constructor: d(WeakMapPoly) });\n}\n\nObject.defineProperties(WeakMapPoly.prototype, {\n\tdelete: d(function (key) {\n\t\tif (objHasOwnProperty.call(object(key), this.__weakMapData__)) {\n\t\t\tdelete key[this.__weakMapData__];\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}),\n\tget: d(function (key) {\n\t\tif (!objHasOwnProperty.call(object(key), this.__weakMapData__)) return undefined;\n\t\treturn key[this.__weakMapData__];\n\t}),\n\thas: d(function (key) {\n\t\treturn objHasOwnProperty.call(object(key), this.__weakMapData__);\n\t}),\n\tset: d(function (key, value) {\n\t\tdefineProperty(object(key), this.__weakMapData__, d(\"c\", value));\n\t\treturn this;\n\t}),\n\ttoString: d(function () {\n\t\treturn \"[object WeakMap]\";\n\t})\n});\ndefineProperty(WeakMapPoly.prototype, toStringTagSymbol, d(\"c\", \"WeakMap\"));\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? WeakMap : require(\"./polyfill\");\n", "module.exports = [\n { name: 'black', hex: '#000000' },\n { name: 'blue', hex: '#0000FF' },\n { name: 'cyan', hex: '#00FFFF' },\n { name: 'green', hex: '#008000' },\n { name: 'teal', hex: '#008080' },\n { name: 'turquoise', hex: '#40E0D0' },\n { name: 'indigo', hex: '#4B0082' },\n { name: 'gray', hex: '#808080' },\n { name: 'purple', hex: '#800080' },\n { name: 'brown', hex: '#A52A2A' },\n { name: 'tan', hex: '#D2B48C' },\n { name: 'violet', hex: '#EE82EE' },\n { name: 'beige', hex: '#F5F5DC' },\n { name: 'fuchsia', hex: '#FF00FF' },\n { name: 'gold', hex: '#FFD700' },\n { name: 'magenta', hex: '#FF00FF' },\n { name: 'orange', hex: '#FFA500' },\n { name: 'pink', hex: '#FFC0CB' },\n { name: 'red', hex: '#FF0000' },\n { name: 'white', hex: '#FFFFFF' },\n { name: 'yellow', hex: '#FFFF00' }\n]\n", "module.exports = [\n { name: 'aqua', hex: '#00FFFF' },\n { name: 'aliceblue', hex: '#F0F8FF' },\n { name: 'antiquewhite', hex: '#FAEBD7' },\n { name: 'black', hex: '#000000' },\n { name: 'blue', hex: '#0000FF' },\n { name: 'cyan', hex: '#00FFFF' },\n { name: 'darkblue', hex: '#00008B' },\n { name: 'darkcyan', hex: '#008B8B' },\n { name: 'darkgreen', hex: '#006400' },\n { name: 'darkturquoise', hex: '#00CED1' },\n { name: 'deepskyblue', hex: '#00BFFF' },\n { name: 'green', hex: '#008000' },\n { name: 'lime', hex: '#00FF00' },\n { name: 'mediumblue', hex: '#0000CD' },\n { name: 'mediumspringgreen', hex: '#00FA9A' },\n { name: 'navy', hex: '#000080' },\n { name: 'springgreen', hex: '#00FF7F' },\n { name: 'teal', hex: '#008080' },\n { name: 'midnightblue', hex: '#191970' },\n { name: 'dodgerblue', hex: '#1E90FF' },\n { name: 'lightseagreen', hex: '#20B2AA' },\n { name: 'forestgreen', hex: '#228B22' },\n { name: 'seagreen', hex: '#2E8B57' },\n { name: 'darkslategray', hex: '#2F4F4F' },\n { name: 'darkslategrey', hex: '#2F4F4F' },\n { name: 'limegreen', hex: '#32CD32' },\n { name: 'mediumseagreen', hex: '#3CB371' },\n { name: 'turquoise', hex: '#40E0D0' },\n { name: 'royalblue', hex: '#4169E1' },\n { name: 'steelblue', hex: '#4682B4' },\n { name: 'darkslateblue', hex: '#483D8B' },\n { name: 'mediumturquoise', hex: '#48D1CC' },\n { name: 'indigo', hex: '#4B0082' },\n { name: 'darkolivegreen', hex: '#556B2F' },\n { name: 'cadetblue', hex: '#5F9EA0' },\n { name: 'cornflowerblue', hex: '#6495ED' },\n { name: 'mediumaquamarine', hex: '#66CDAA' },\n { name: 'dimgray', hex: '#696969' },\n { name: 'dimgrey', hex: '#696969' },\n { name: 'slateblue', hex: '#6A5ACD' },\n { name: 'olivedrab', hex: '#6B8E23' },\n { name: 'slategray', hex: '#708090' },\n { name: 'slategrey', hex: '#708090' },\n { name: 'lightslategray', hex: '#778899' },\n { name: 'lightslategrey', hex: '#778899' },\n { name: 'mediumslateblue', hex: '#7B68EE' },\n { name: 'lawngreen', hex: '#7CFC00' },\n { name: 'aquamarine', hex: '#7FFFD4' },\n { name: 'chartreuse', hex: '#7FFF00' },\n { name: 'gray', hex: '#808080' },\n { name: 'grey', hex: '#808080' },\n { name: 'maroon', hex: '#800000' },\n { name: 'olive', hex: '#808000' },\n { name: 'purple', hex: '#800080' },\n { name: 'lightskyblue', hex: '#87CEFA' },\n { name: 'skyblue', hex: '#87CEEB' },\n { name: 'blueviolet', hex: '#8A2BE2' },\n { name: 'darkmagenta', hex: '#8B008B' },\n { name: 'darkred', hex: '#8B0000' },\n { name: 'saddlebrown', hex: '#8B4513' },\n { name: 'darkseagreen', hex: '#8FBC8F' },\n { name: 'lightgreen', hex: '#90EE90' },\n { name: 'mediumpurple', hex: '#9370DB' },\n { name: 'darkviolet', hex: '#9400D3' },\n { name: 'palegreen', hex: '#98FB98' },\n { name: 'darkorchid', hex: '#9932CC' },\n { name: 'yellowgreen', hex: '#9ACD32' },\n { name: 'sienna', hex: '#A0522D' },\n { name: 'brown', hex: '#A52A2A' },\n { name: 'darkgray', hex: '#A9A9A9' },\n { name: 'darkgrey', hex: '#A9A9A9' },\n { name: 'greenyellow', hex: '#ADFF2F' },\n { name: 'lightblue', hex: '#ADD8E6' },\n { name: 'paleturquoise', hex: '#AFEEEE' },\n { name: 'lightsteelblue', hex: '#B0C4DE' },\n { name: 'powderblue', hex: '#B0E0E6' },\n { name: 'firebrick', hex: '#B22222' },\n { name: 'darkgoldenrod', hex: '#B8860B' },\n { name: 'mediumorchid', hex: '#BA55D3' },\n { name: 'rosybrown', hex: '#BC8F8F' },\n { name: 'darkkhaki', hex: '#BDB76B' },\n { name: 'silver', hex: '#C0C0C0' },\n { name: 'mediumvioletred', hex: '#C71585' },\n { name: 'indianred', hex: '#CD5C5C' },\n { name: 'peru', hex: '#CD853F' },\n { name: 'chocolate', hex: '#D2691E' },\n { name: 'tan', hex: '#D2B48C' },\n { name: 'lightgray', hex: '#D3D3D3' },\n { name: 'lightgrey', hex: '#D3D3D3' },\n { name: 'thistle', hex: '#D8BFD8' },\n { name: 'goldenrod', hex: '#DAA520' },\n { name: 'orchid', hex: '#DA70D6' },\n { name: 'palevioletred', hex: '#DB7093' },\n { name: 'crimson', hex: '#DC143C' },\n { name: 'gainsboro', hex: '#DCDCDC' },\n { name: 'plum', hex: '#DDA0DD' },\n { name: 'burlywood', hex: '#DEB887' },\n { name: 'lightcyan', hex: '#E0FFFF' },\n { name: 'lavender', hex: '#E6E6FA' },\n { name: 'darksalmon', hex: '#E9967A' },\n { name: 'palegoldenrod', hex: '#EEE8AA' },\n { name: 'violet', hex: '#EE82EE' },\n { name: 'azure', hex: '#F0FFFF' },\n { name: 'honeydew', hex: '#F0FFF0' },\n { name: 'khaki', hex: '#F0E68C' },\n { name: 'lightcoral', hex: '#F08080' },\n { name: 'sandybrown', hex: '#F4A460' },\n { name: 'beige', hex: '#F5F5DC' },\n { name: 'mintcream', hex: '#F5FFFA' },\n { name: 'wheat', hex: '#F5DEB3' },\n { name: 'whitesmoke', hex: '#F5F5F5' },\n { name: 'ghostwhite', hex: '#F8F8FF' },\n { name: 'lightgoldenrodyellow',\n hex: '#FAFAD2' },\n { name: 'linen', hex: '#FAF0E6' },\n { name: 'salmon', hex: '#FA8072' },\n { name: 'oldlace', hex: '#FDF5E6' },\n { name: 'bisque', hex: '#FFE4C4' },\n { name: 'blanchedalmond', hex: '#FFEBCD' },\n { name: 'coral', hex: '#FF7F50' },\n { name: 'cornsilk', hex: '#FFF8DC' },\n { name: 'darkorange', hex: '#FF8C00' },\n { name: 'deeppink', hex: '#FF1493' },\n { name: 'floralwhite', hex: '#FFFAF0' },\n { name: 'fuchsia', hex: '#FF00FF' },\n { name: 'gold', hex: '#FFD700' },\n { name: 'hotpink', hex: '#FF69B4' },\n { name: 'ivory', hex: '#FFFFF0' },\n { name: 'lavenderblush', hex: '#FFF0F5' },\n { name: 'lemonchiffon', hex: '#FFFACD' },\n { name: 'lightpink', hex: '#FFB6C1' },\n { name: 'lightsalmon', hex: '#FFA07A' },\n { name: 'lightyellow', hex: '#FFFFE0' },\n { name: 'magenta', hex: '#FF00FF' },\n { name: 'mistyrose', hex: '#FFE4E1' },\n { name: 'moccasin', hex: '#FFE4B5' },\n { name: 'navajowhite', hex: '#FFDEAD' },\n { name: 'orange', hex: '#FFA500' },\n { name: 'orangered', hex: '#FF4500' },\n { name: 'papayawhip', hex: '#FFEFD5' },\n { name: 'peachpuff', hex: '#FFDAB9' },\n { name: 'pink', hex: '#FFC0CB' },\n { name: 'red', hex: '#FF0000' },\n { name: 'seashell', hex: '#FFF5EE' },\n { name: 'snow', hex: '#FFFAFA' },\n { name: 'tomato', hex: '#FF6347' },\n { name: 'white', hex: '#FFFFFF' },\n { name: 'yellow', hex: '#FFFF00' }\n]\n", "module.exports = [\n {\n \"name\": \"Black\",\n \"hex\": \"000000\"\n },\n {\n \"name\": \"Navy Blue\",\n \"hex\": \"000080\"\n },\n {\n \"name\": \"Dark Blue\",\n \"hex\": \"0000C8\"\n },\n {\n \"name\": \"Blue\",\n \"hex\": \"0000FF\"\n },\n {\n \"name\": \"Stratos\",\n \"hex\": \"000741\"\n },\n {\n \"name\": \"Swamp\",\n \"hex\": \"001B1C\"\n },\n {\n \"name\": \"Resolution Blue\",\n \"hex\": \"002387\"\n },\n {\n \"name\": \"Deep Fir\",\n \"hex\": \"002900\"\n },\n {\n \"name\": \"Burnham\",\n \"hex\": \"002E20\"\n },\n {\n \"name\": \"International Klein Blue\",\n \"hex\": \"002FA7\"\n },\n {\n \"name\": \"Prussian Blue\",\n \"hex\": \"003153\"\n },\n {\n \"name\": \"Midnight Blue\",\n \"hex\": \"003366\"\n },\n {\n \"name\": \"Smalt\",\n \"hex\": \"003399\"\n },\n {\n \"name\": \"Deep Teal\",\n \"hex\": \"003532\"\n },\n {\n \"name\": \"Cyprus\",\n \"hex\": \"003E40\"\n },\n {\n \"name\": \"Kaitoke Green\",\n \"hex\": \"004620\"\n },\n {\n \"name\": \"Cobalt\",\n \"hex\": \"0047AB\"\n },\n {\n \"name\": \"Crusoe\",\n \"hex\": \"004816\"\n },\n {\n \"name\": \"Sherpa Blue\",\n \"hex\": \"004950\"\n },\n {\n \"name\": \"Endeavour\",\n \"hex\": \"0056A7\"\n },\n {\n \"name\": \"Camarone\",\n \"hex\": \"00581A\"\n },\n {\n \"name\": \"Science Blue\",\n \"hex\": \"0066CC\"\n },\n {\n \"name\": \"Blue Ribbon\",\n \"hex\": \"0066FF\"\n },\n {\n \"name\": \"Tropical Rain Forest\",\n \"hex\": \"00755E\"\n },\n {\n \"name\": \"Allports\",\n \"hex\": \"0076A3\"\n },\n {\n \"name\": \"Deep Cerulean\",\n \"hex\": \"007BA7\"\n },\n {\n \"name\": \"Lochmara\",\n \"hex\": \"007EC7\"\n },\n {\n \"name\": \"Azure Radiance\",\n \"hex\": \"007FFF\"\n },\n {\n \"name\": \"Teal\",\n \"hex\": \"008080\"\n },\n {\n \"name\": \"Bondi Blue\",\n \"hex\": \"0095B6\"\n },\n {\n \"name\": \"Pacific Blue\",\n \"hex\": \"009DC4\"\n },\n {\n \"name\": \"Persian Green\",\n \"hex\": \"00A693\"\n },\n {\n \"name\": \"Jade\",\n \"hex\": \"00A86B\"\n },\n {\n \"name\": \"Caribbean Green\",\n \"hex\": \"00CC99\"\n },\n {\n \"name\": \"Robin's Egg Blue\",\n \"hex\": \"00CCCC\"\n },\n {\n \"name\": \"Green\",\n \"hex\": \"00FF00\"\n },\n {\n \"name\": \"Spring Green\",\n \"hex\": \"00FF7F\"\n },\n {\n \"name\": \"Cyan / Aqua\",\n \"hex\": \"00FFFF\"\n },\n {\n \"name\": \"Blue Charcoal\",\n \"hex\": \"010D1A\"\n },\n {\n \"name\": \"Midnight\",\n \"hex\": \"011635\"\n },\n {\n \"name\": \"Holly\",\n \"hex\": \"011D13\"\n },\n {\n \"name\": \"Daintree\",\n \"hex\": \"012731\"\n },\n {\n \"name\": \"Cardin Green\",\n \"hex\": \"01361C\"\n },\n {\n \"name\": \"County Green\",\n \"hex\": \"01371A\"\n },\n {\n \"name\": \"Astronaut Blue\",\n \"hex\": \"013E62\"\n },\n {\n \"name\": \"Regal Blue\",\n \"hex\": \"013F6A\"\n },\n {\n \"name\": \"Aqua Deep\",\n \"hex\": \"014B43\"\n },\n {\n \"name\": \"Orient\",\n \"hex\": \"015E85\"\n },\n {\n \"name\": \"Blue Stone\",\n \"hex\": \"016162\"\n },\n {\n \"name\": \"Fun Green\",\n \"hex\": \"016D39\"\n },\n {\n \"name\": \"Pine Green\",\n \"hex\": \"01796F\"\n },\n {\n \"name\": \"Blue Lagoon\",\n \"hex\": \"017987\"\n },\n {\n \"name\": \"Deep Sea\",\n \"hex\": \"01826B\"\n },\n {\n \"name\": \"Green Haze\",\n \"hex\": \"01A368\"\n },\n {\n \"name\": \"English Holly\",\n \"hex\": \"022D15\"\n },\n {\n \"name\": \"Sherwood Green\",\n \"hex\": \"02402C\"\n },\n {\n \"name\": \"Congress Blue\",\n \"hex\": \"02478E\"\n },\n {\n \"name\": \"Evening Sea\",\n \"hex\": \"024E46\"\n },\n {\n \"name\": \"Bahama Blue\",\n \"hex\": \"026395\"\n },\n {\n \"name\": \"Observatory\",\n \"hex\": \"02866F\"\n },\n {\n \"name\": \"Cerulean\",\n \"hex\": \"02A4D3\"\n },\n {\n \"name\": \"Tangaroa\",\n \"hex\": \"03163C\"\n },\n {\n \"name\": \"Green Vogue\",\n \"hex\": \"032B52\"\n },\n {\n \"name\": \"Mosque\",\n \"hex\": \"036A6E\"\n },\n {\n \"name\": \"Midnight Moss\",\n \"hex\": \"041004\"\n },\n {\n \"name\": \"Black Pearl\",\n \"hex\": \"041322\"\n },\n {\n \"name\": \"Blue Whale\",\n \"hex\": \"042E4C\"\n },\n {\n \"name\": \"Zuccini\",\n \"hex\": \"044022\"\n },\n {\n \"name\": \"Teal Blue\",\n \"hex\": \"044259\"\n },\n {\n \"name\": \"Deep Cove\",\n \"hex\": \"051040\"\n },\n {\n \"name\": \"Gulf Blue\",\n \"hex\": \"051657\"\n },\n {\n \"name\": \"Venice Blue\",\n \"hex\": \"055989\"\n },\n {\n \"name\": \"Watercourse\",\n \"hex\": \"056F57\"\n },\n {\n \"name\": \"Catalina Blue\",\n \"hex\": \"062A78\"\n },\n {\n \"name\": \"Tiber\",\n \"hex\": \"063537\"\n },\n {\n \"name\": \"Gossamer\",\n \"hex\": \"069B81\"\n },\n {\n \"name\": \"Niagara\",\n \"hex\": \"06A189\"\n },\n {\n \"name\": \"Tarawera\",\n \"hex\": \"073A50\"\n },\n {\n \"name\": \"Jaguar\",\n \"hex\": \"080110\"\n },\n {\n \"name\": \"Black Bean\",\n \"hex\": \"081910\"\n },\n {\n \"name\": \"Deep Sapphire\",\n \"hex\": \"082567\"\n },\n {\n \"name\": \"Elf Green\",\n \"hex\": \"088370\"\n },\n {\n \"name\": \"Bright Turquoise\",\n \"hex\": \"08E8DE\"\n },\n {\n \"name\": \"Downriver\",\n \"hex\": \"092256\"\n },\n {\n \"name\": \"Palm Green\",\n \"hex\": \"09230F\"\n },\n {\n \"name\": \"Madison\",\n \"hex\": \"09255D\"\n },\n {\n \"name\": \"Bottle Green\",\n \"hex\": \"093624\"\n },\n {\n \"name\": \"Deep Sea Green\",\n \"hex\": \"095859\"\n },\n {\n \"name\": \"Salem\",\n \"hex\": \"097F4B\"\n },\n {\n \"name\": \"Black Russian\",\n \"hex\": \"0A001C\"\n },\n {\n \"name\": \"Dark Fern\",\n \"hex\": \"0A480D\"\n },\n {\n \"name\": \"Japanese Laurel\",\n \"hex\": \"0A6906\"\n },\n {\n \"name\": \"Atoll\",\n \"hex\": \"0A6F75\"\n },\n {\n \"name\": \"Cod Gray\",\n \"hex\": \"0B0B0B\"\n },\n {\n \"name\": \"Marshland\",\n \"hex\": \"0B0F08\"\n },\n {\n \"name\": \"Gordons Green\",\n \"hex\": \"0B1107\"\n },\n {\n \"name\": \"Black Forest\",\n \"hex\": \"0B1304\"\n },\n {\n \"name\": \"San Felix\",\n \"hex\": \"0B6207\"\n },\n {\n \"name\": \"Malachite\",\n \"hex\": \"0BDA51\"\n },\n {\n \"name\": \"Ebony\",\n \"hex\": \"0C0B1D\"\n },\n {\n \"name\": \"Woodsmoke\",\n \"hex\": \"0C0D0F\"\n },\n {\n \"name\": \"Racing Green\",\n \"hex\": \"0C1911\"\n },\n {\n \"name\": \"Surfie Green\",\n \"hex\": \"0C7A79\"\n },\n {\n \"name\": \"Blue Chill\",\n \"hex\": \"0C8990\"\n },\n {\n \"name\": \"Black Rock\",\n \"hex\": \"0D0332\"\n },\n {\n \"name\": \"Bunker\",\n \"hex\": \"0D1117\"\n },\n {\n \"name\": \"Aztec\",\n \"hex\": \"0D1C19\"\n },\n {\n \"name\": \"Bush\",\n \"hex\": \"0D2E1C\"\n },\n {\n \"name\": \"Cinder\",\n \"hex\": \"0E0E18\"\n },\n {\n \"name\": \"Firefly\",\n \"hex\": \"0E2A30\"\n },\n {\n \"name\": \"Torea Bay\",\n \"hex\": \"0F2D9E\"\n },\n {\n \"name\": \"Vulcan\",\n \"hex\": \"10121D\"\n },\n {\n \"name\": \"Green Waterloo\",\n \"hex\": \"101405\"\n },\n {\n \"name\": \"Eden\",\n \"hex\": \"105852\"\n },\n {\n \"name\": \"Arapawa\",\n \"hex\": \"110C6C\"\n },\n {\n \"name\": \"Ultramarine\",\n \"hex\": \"120A8F\"\n },\n {\n \"name\": \"Elephant\",\n \"hex\": \"123447\"\n },\n {\n \"name\": \"Jewel\",\n \"hex\": \"126B40\"\n },\n {\n \"name\": \"Diesel\",\n \"hex\": \"130000\"\n },\n {\n \"name\": \"Asphalt\",\n \"hex\": \"130A06\"\n },\n {\n \"name\": \"Blue Zodiac\",\n \"hex\": \"13264D\"\n },\n {\n \"name\": \"Parsley\",\n \"hex\": \"134F19\"\n },\n {\n \"name\": \"Nero\",\n \"hex\": \"140600\"\n },\n {\n \"name\": \"Tory Blue\",\n \"hex\": \"1450AA\"\n },\n {\n \"name\": \"Bunting\",\n \"hex\": \"151F4C\"\n },\n {\n \"name\": \"Denim\",\n \"hex\": \"1560BD\"\n },\n {\n \"name\": \"Genoa\",\n \"hex\": \"15736B\"\n },\n {\n \"name\": \"Mirage\",\n \"hex\": \"161928\"\n },\n {\n \"name\": \"Hunter Green\",\n \"hex\": \"161D10\"\n },\n {\n \"name\": \"Big Stone\",\n \"hex\": \"162A40\"\n },\n {\n \"name\": \"Celtic\",\n \"hex\": \"163222\"\n },\n {\n \"name\": \"Timber Green\",\n \"hex\": \"16322C\"\n },\n {\n \"name\": \"Gable Green\",\n \"hex\": \"163531\"\n },\n {\n \"name\": \"Pine Tree\",\n \"hex\": \"171F04\"\n },\n {\n \"name\": \"Chathams Blue\",\n \"hex\": \"175579\"\n },\n {\n \"name\": \"Deep Forest Green\",\n \"hex\": \"182D09\"\n },\n {\n \"name\": \"Blumine\",\n \"hex\": \"18587A\"\n },\n {\n \"name\": \"Palm Leaf\",\n \"hex\": \"19330E\"\n },\n {\n \"name\": \"Nile Blue\",\n \"hex\": \"193751\"\n },\n {\n \"name\": \"Fun Blue\",\n \"hex\": \"1959A8\"\n },\n {\n \"name\": \"Lucky Point\",\n \"hex\": \"1A1A68\"\n },\n {\n \"name\": \"Mountain Meadow\",\n \"hex\": \"1AB385\"\n },\n {\n \"name\": \"Tolopea\",\n \"hex\": \"1B0245\"\n },\n {\n \"name\": \"Haiti\",\n \"hex\": \"1B1035\"\n },\n {\n \"name\": \"Deep Koamaru\",\n \"hex\": \"1B127B\"\n },\n {\n \"name\": \"Acadia\",\n \"hex\": \"1B1404\"\n },\n {\n \"name\": \"Seaweed\",\n \"hex\": \"1B2F11\"\n },\n {\n \"name\": \"Biscay\",\n \"hex\": \"1B3162\"\n },\n {\n \"name\": \"Matisse\",\n \"hex\": \"1B659D\"\n },\n {\n \"name\": \"Crowshead\",\n \"hex\": \"1C1208\"\n },\n {\n \"name\": \"Rangoon Green\",\n \"hex\": \"1C1E13\"\n },\n {\n \"name\": \"Persian Blue\",\n \"hex\": \"1C39BB\"\n },\n {\n \"name\": \"Everglade\",\n \"hex\": \"1C402E\"\n },\n {\n \"name\": \"Elm\",\n \"hex\": \"1C7C7D\"\n },\n {\n \"name\": \"Green Pea\",\n \"hex\": \"1D6142\"\n },\n {\n \"name\": \"Creole\",\n \"hex\": \"1E0F04\"\n },\n {\n \"name\": \"Karaka\",\n \"hex\": \"1E1609\"\n },\n {\n \"name\": \"El Paso\",\n \"hex\": \"1E1708\"\n },\n {\n \"name\": \"Cello\",\n \"hex\": \"1E385B\"\n },\n {\n \"name\": \"Te Papa Green\",\n \"hex\": \"1E433C\"\n },\n {\n \"name\": \"Dodger Blue\",\n \"hex\": \"1E90FF\"\n },\n {\n \"name\": \"Eastern Blue\",\n \"hex\": \"1E9AB0\"\n },\n {\n \"name\": \"Night Rider\",\n \"hex\": \"1F120F\"\n },\n {\n \"name\": \"Java\",\n \"hex\": \"1FC2C2\"\n },\n {\n \"name\": \"Jacksons Purple\",\n \"hex\": \"20208D\"\n },\n {\n \"name\": \"Cloud Burst\",\n \"hex\": \"202E54\"\n },\n {\n \"name\": \"Blue Dianne\",\n \"hex\": \"204852\"\n },\n {\n \"name\": \"Eternity\",\n \"hex\": \"211A0E\"\n },\n {\n \"name\": \"Deep Blue\",\n \"hex\": \"220878\"\n },\n {\n \"name\": \"Forest Green\",\n \"hex\": \"228B22\"\n },\n {\n \"name\": \"Mallard\",\n \"hex\": \"233418\"\n },\n {\n \"name\": \"Violet\",\n \"hex\": \"240A40\"\n },\n {\n \"name\": \"Kilamanjaro\",\n \"hex\": \"240C02\"\n },\n {\n \"name\": \"Log Cabin\",\n \"hex\": \"242A1D\"\n },\n {\n \"name\": \"Black Olive\",\n \"hex\": \"242E16\"\n },\n {\n \"name\": \"Green House\",\n \"hex\": \"24500F\"\n },\n {\n \"name\": \"Graphite\",\n \"hex\": \"251607\"\n },\n {\n \"name\": \"Cannon Black\",\n \"hex\": \"251706\"\n },\n {\n \"name\": \"Port Gore\",\n \"hex\": \"251F4F\"\n },\n {\n \"name\": \"Shark\",\n \"hex\": \"25272C\"\n },\n {\n \"name\": \"Green Kelp\",\n \"hex\": \"25311C\"\n },\n {\n \"name\": \"Curious Blue\",\n \"hex\": \"2596D1\"\n },\n {\n \"name\": \"Paua\",\n \"hex\": \"260368\"\n },\n {\n \"name\": \"Paris M\",\n \"hex\": \"26056A\"\n },\n {\n \"name\": \"Wood Bark\",\n \"hex\": \"261105\"\n },\n {\n \"name\": \"Gondola\",\n \"hex\": \"261414\"\n },\n {\n \"name\": \"Steel Gray\",\n \"hex\": \"262335\"\n },\n {\n \"name\": \"Ebony Clay\",\n \"hex\": \"26283B\"\n },\n {\n \"name\": \"Bay of Many\",\n \"hex\": \"273A81\"\n },\n {\n \"name\": \"Plantation\",\n \"hex\": \"27504B\"\n },\n {\n \"name\": \"Eucalyptus\",\n \"hex\": \"278A5B\"\n },\n {\n \"name\": \"Oil\",\n \"hex\": \"281E15\"\n },\n {\n \"name\": \"Astronaut\",\n \"hex\": \"283A77\"\n },\n {\n \"name\": \"Mariner\",\n \"hex\": \"286ACD\"\n },\n {\n \"name\": \"Violent Violet\",\n \"hex\": \"290C5E\"\n },\n {\n \"name\": \"Bastille\",\n \"hex\": \"292130\"\n },\n {\n \"name\": \"Zeus\",\n \"hex\": \"292319\"\n },\n {\n \"name\": \"Charade\",\n \"hex\": \"292937\"\n },\n {\n \"name\": \"Jelly Bean\",\n \"hex\": \"297B9A\"\n },\n {\n \"name\": \"Jungle Green\",\n \"hex\": \"29AB87\"\n },\n {\n \"name\": \"Cherry Pie\",\n \"hex\": \"2A0359\"\n },\n {\n \"name\": \"Coffee Bean\",\n \"hex\": \"2A140E\"\n },\n {\n \"name\": \"Baltic Sea\",\n \"hex\": \"2A2630\"\n },\n {\n \"name\": \"Turtle Green\",\n \"hex\": \"2A380B\"\n },\n {\n \"name\": \"Cerulean Blue\",\n \"hex\": \"2A52BE\"\n },\n {\n \"name\": \"Sepia Black\",\n \"hex\": \"2B0202\"\n },\n {\n \"name\": \"Valhalla\",\n \"hex\": \"2B194F\"\n },\n {\n \"name\": \"Heavy Metal\",\n \"hex\": \"2B3228\"\n },\n {\n \"name\": \"Blue Gem\",\n \"hex\": \"2C0E8C\"\n },\n {\n \"name\": \"Revolver\",\n \"hex\": \"2C1632\"\n },\n {\n \"name\": \"Bleached Cedar\",\n \"hex\": \"2C2133\"\n },\n {\n \"name\": \"Lochinvar\",\n \"hex\": \"2C8C84\"\n },\n {\n \"name\": \"Mikado\",\n \"hex\": \"2D2510\"\n },\n {\n \"name\": \"Outer Space\",\n \"hex\": \"2D383A\"\n },\n {\n \"name\": \"St Tropaz\",\n \"hex\": \"2D569B\"\n },\n {\n \"name\": \"Jacaranda\",\n \"hex\": \"2E0329\"\n },\n {\n \"name\": \"Jacko Bean\",\n \"hex\": \"2E1905\"\n },\n {\n \"name\": \"Rangitoto\",\n \"hex\": \"2E3222\"\n },\n {\n \"name\": \"Rhino\",\n \"hex\": \"2E3F62\"\n },\n {\n \"name\": \"Sea Green\",\n \"hex\": \"2E8B57\"\n },\n {\n \"name\": \"Scooter\",\n \"hex\": \"2EBFD4\"\n },\n {\n \"name\": \"Onion\",\n \"hex\": \"2F270E\"\n },\n {\n \"name\": \"Governor Bay\",\n \"hex\": \"2F3CB3\"\n },\n {\n \"name\": \"Sapphire\",\n \"hex\": \"2F519E\"\n },\n {\n \"name\": \"Spectra\",\n \"hex\": \"2F5A57\"\n },\n {\n \"name\": \"Casal\",\n \"hex\": \"2F6168\"\n },\n {\n \"name\": \"Melanzane\",\n \"hex\": \"300529\"\n },\n {\n \"name\": \"Cocoa Brown\",\n \"hex\": \"301F1E\"\n },\n {\n \"name\": \"Woodrush\",\n \"hex\": \"302A0F\"\n },\n {\n \"name\": \"San Juan\",\n \"hex\": \"304B6A\"\n },\n {\n \"name\": \"Turquoise\",\n \"hex\": \"30D5C8\"\n },\n {\n \"name\": \"Eclipse\",\n \"hex\": \"311C17\"\n },\n {\n \"name\": \"Pickled Bluewood\",\n \"hex\": \"314459\"\n },\n {\n \"name\": \"Azure\",\n \"hex\": \"315BA1\"\n },\n {\n \"name\": \"Calypso\",\n \"hex\": \"31728D\"\n },\n {\n \"name\": \"Paradiso\",\n \"hex\": \"317D82\"\n },\n {\n \"name\": \"Persian Indigo\",\n \"hex\": \"32127A\"\n },\n {\n \"name\": \"Blackcurrant\",\n \"hex\": \"32293A\"\n },\n {\n \"name\": \"Mine Shaft\",\n \"hex\": \"323232\"\n },\n {\n \"name\": \"Stromboli\",\n \"hex\": \"325D52\"\n },\n {\n \"name\": \"Bilbao\",\n \"hex\": \"327C14\"\n },\n {\n \"name\": \"Astral\",\n \"hex\": \"327DA0\"\n },\n {\n \"name\": \"Christalle\",\n \"hex\": \"33036B\"\n },\n {\n \"name\": \"Thunder\",\n \"hex\": \"33292F\"\n },\n {\n \"name\": \"Shamrock\",\n \"hex\": \"33CC99\"\n },\n {\n \"name\": \"Tamarind\",\n \"hex\": \"341515\"\n },\n {\n \"name\": \"Mardi Gras\",\n \"hex\": \"350036\"\n },\n {\n \"name\": \"Valentino\",\n \"hex\": \"350E42\"\n },\n {\n \"name\": \"Jagger\",\n \"hex\": \"350E57\"\n },\n {\n \"name\": \"Tuna\",\n \"hex\": \"353542\"\n },\n {\n \"name\": \"Chambray\",\n \"hex\": \"354E8C\"\n },\n {\n \"name\": \"Martinique\",\n \"hex\": \"363050\"\n },\n {\n \"name\": \"Tuatara\",\n \"hex\": \"363534\"\n },\n {\n \"name\": \"Waiouru\",\n \"hex\": \"363C0D\"\n },\n {\n \"name\": \"Ming\",\n \"hex\": \"36747D\"\n },\n {\n \"name\": \"La Palma\",\n \"hex\": \"368716\"\n },\n {\n \"name\": \"Chocolate\",\n \"hex\": \"370202\"\n },\n {\n \"name\": \"Clinker\",\n \"hex\": \"371D09\"\n },\n {\n \"name\": \"Brown Tumbleweed\",\n \"hex\": \"37290E\"\n },\n {\n \"name\": \"Birch\",\n \"hex\": \"373021\"\n },\n {\n \"name\": \"Oracle\",\n \"hex\": \"377475\"\n },\n {\n \"name\": \"Blue Diamond\",\n \"hex\": \"380474\"\n },\n {\n \"name\": \"Grape\",\n \"hex\": \"381A51\"\n },\n {\n \"name\": \"Dune\",\n \"hex\": \"383533\"\n },\n {\n \"name\": \"Oxford Blue\",\n \"hex\": \"384555\"\n },\n {\n \"name\": \"Clover\",\n \"hex\": \"384910\"\n },\n {\n \"name\": \"Limed Spruce\",\n \"hex\": \"394851\"\n },\n {\n \"name\": \"Dell\",\n \"hex\": \"396413\"\n },\n {\n \"name\": \"Toledo\",\n \"hex\": \"3A0020\"\n },\n {\n \"name\": \"Sambuca\",\n \"hex\": \"3A2010\"\n },\n {\n \"name\": \"Jacarta\",\n \"hex\": \"3A2A6A\"\n },\n {\n \"name\": \"William\",\n \"hex\": \"3A686C\"\n },\n {\n \"name\": \"Killarney\",\n \"hex\": \"3A6A47\"\n },\n {\n \"name\": \"Keppel\",\n \"hex\": \"3AB09E\"\n },\n {\n \"name\": \"Temptress\",\n \"hex\": \"3B000B\"\n },\n {\n \"name\": \"Aubergine\",\n \"hex\": \"3B0910\"\n },\n {\n \"name\": \"Jon\",\n \"hex\": \"3B1F1F\"\n },\n {\n \"name\": \"Treehouse\",\n \"hex\": \"3B2820\"\n },\n {\n \"name\": \"Amazon\",\n \"hex\": \"3B7A57\"\n },\n {\n \"name\": \"Boston Blue\",\n \"hex\": \"3B91B4\"\n },\n {\n \"name\": \"Windsor\",\n \"hex\": \"3C0878\"\n },\n {\n \"name\": \"Rebel\",\n \"hex\": \"3C1206\"\n },\n {\n \"name\": \"Meteorite\",\n \"hex\": \"3C1F76\"\n },\n {\n \"name\": \"Dark Ebony\",\n \"hex\": \"3C2005\"\n },\n {\n \"name\": \"Camouflage\",\n \"hex\": \"3C3910\"\n },\n {\n \"name\": \"Bright Gray\",\n \"hex\": \"3C4151\"\n },\n {\n \"name\": \"Cape Cod\",\n \"hex\": \"3C4443\"\n },\n {\n \"name\": \"Lunar Green\",\n \"hex\": \"3C493A\"\n },\n {\n \"name\": \"Bean \",\n \"hex\": \"3D0C02\"\n },\n {\n \"name\": \"Bistre\",\n \"hex\": \"3D2B1F\"\n },\n {\n \"name\": \"Goblin\",\n \"hex\": \"3D7D52\"\n },\n {\n \"name\": \"Kingfisher Daisy\",\n \"hex\": \"3E0480\"\n },\n {\n \"name\": \"Cedar\",\n \"hex\": \"3E1C14\"\n },\n {\n \"name\": \"English Walnut\",\n \"hex\": \"3E2B23\"\n },\n {\n \"name\": \"Black Marlin\",\n \"hex\": \"3E2C1C\"\n },\n {\n \"name\": \"Ship Gray\",\n \"hex\": \"3E3A44\"\n },\n {\n \"name\": \"Pelorous\",\n \"hex\": \"3EABBF\"\n },\n {\n \"name\": \"Bronze\",\n \"hex\": \"3F2109\"\n },\n {\n \"name\": \"Cola\",\n \"hex\": \"3F2500\"\n },\n {\n \"name\": \"Madras\",\n \"hex\": \"3F3002\"\n },\n {\n \"name\": \"Minsk\",\n \"hex\": \"3F307F\"\n },\n {\n \"name\": \"Cabbage Pont\",\n \"hex\": \"3F4C3A\"\n },\n {\n \"name\": \"Tom Thumb\",\n \"hex\": \"3F583B\"\n },\n {\n \"name\": \"Mineral Green\",\n \"hex\": \"3F5D53\"\n },\n {\n \"name\": \"Puerto Rico\",\n \"hex\": \"3FC1AA\"\n },\n {\n \"name\": \"Harlequin\",\n \"hex\": \"3FFF00\"\n },\n {\n \"name\": \"Brown Pod\",\n \"hex\": \"401801\"\n },\n {\n \"name\": \"Cork\",\n \"hex\": \"40291D\"\n },\n {\n \"name\": \"Masala\",\n \"hex\": \"403B38\"\n },\n {\n \"name\": \"Thatch Green\",\n \"hex\": \"403D19\"\n },\n {\n \"name\": \"Fiord\",\n \"hex\": \"405169\"\n },\n {\n \"name\": \"Viridian\",\n \"hex\": \"40826D\"\n },\n {\n \"name\": \"Chateau Green\",\n \"hex\": \"40A860\"\n },\n {\n \"name\": \"Ripe Plum\",\n \"hex\": \"410056\"\n },\n {\n \"name\": \"Paco\",\n \"hex\": \"411F10\"\n },\n {\n \"name\": \"Deep Oak\",\n \"hex\": \"412010\"\n },\n {\n \"name\": \"Merlin\",\n \"hex\": \"413C37\"\n },\n {\n \"name\": \"Gun Powder\",\n \"hex\": \"414257\"\n },\n {\n \"name\": \"East Bay\",\n \"hex\": \"414C7D\"\n },\n {\n \"name\": \"Royal Blue\",\n \"hex\": \"4169E1\"\n },\n {\n \"name\": \"Ocean Green\",\n \"hex\": \"41AA78\"\n },\n {\n \"name\": \"Burnt Maroon\",\n \"hex\": \"420303\"\n },\n {\n \"name\": \"Lisbon Brown\",\n \"hex\": \"423921\"\n },\n {\n \"name\": \"Faded Jade\",\n \"hex\": \"427977\"\n },\n {\n \"name\": \"Scarlet Gum\",\n \"hex\": \"431560\"\n },\n {\n \"name\": \"Iroko\",\n \"hex\": \"433120\"\n },\n {\n \"name\": \"Armadillo\",\n \"hex\": \"433E37\"\n },\n {\n \"name\": \"River Bed\",\n \"hex\": \"434C59\"\n },\n {\n \"name\": \"Green Leaf\",\n \"hex\": \"436A0D\"\n },\n {\n \"name\": \"Barossa\",\n \"hex\": \"44012D\"\n },\n {\n \"name\": \"Morocco Brown\",\n \"hex\": \"441D00\"\n },\n {\n \"name\": \"Mako\",\n \"hex\": \"444954\"\n },\n {\n \"name\": \"Kelp\",\n \"hex\": \"454936\"\n },\n {\n \"name\": \"San Marino\",\n \"hex\": \"456CAC\"\n },\n {\n \"name\": \"Picton Blue\",\n \"hex\": \"45B1E8\"\n },\n {\n \"name\": \"Loulou\",\n \"hex\": \"460B41\"\n },\n {\n \"name\": \"Crater Brown\",\n \"hex\": \"462425\"\n },\n {\n \"name\": \"Gray Asparagus\",\n \"hex\": \"465945\"\n },\n {\n \"name\": \"Steel Blue\",\n \"hex\": \"4682B4\"\n },\n {\n \"name\": \"Rustic Red\",\n \"hex\": \"480404\"\n },\n {\n \"name\": \"Bulgarian Rose\",\n \"hex\": \"480607\"\n },\n {\n \"name\": \"Clairvoyant\",\n \"hex\": \"480656\"\n },\n {\n \"name\": \"Cocoa Bean\",\n \"hex\": \"481C1C\"\n },\n {\n \"name\": \"Woody Brown\",\n \"hex\": \"483131\"\n },\n {\n \"name\": \"Taupe\",\n \"hex\": \"483C32\"\n },\n {\n \"name\": \"Van Cleef\",\n \"hex\": \"49170C\"\n },\n {\n \"name\": \"Brown Derby\",\n \"hex\": \"492615\"\n },\n {\n \"name\": \"Metallic Bronze\",\n \"hex\": \"49371B\"\n },\n {\n \"name\": \"Verdun Green\",\n \"hex\": \"495400\"\n },\n {\n \"name\": \"Blue Bayoux\",\n \"hex\": \"496679\"\n },\n {\n \"name\": \"Bismark\",\n \"hex\": \"497183\"\n },\n {\n \"name\": \"Bracken\",\n \"hex\": \"4A2A04\"\n },\n {\n \"name\": \"Deep Bronze\",\n \"hex\": \"4A3004\"\n },\n {\n \"name\": \"Mondo\",\n \"hex\": \"4A3C30\"\n },\n {\n \"name\": \"Tundora\",\n \"hex\": \"4A4244\"\n },\n {\n \"name\": \"Gravel\",\n \"hex\": \"4A444B\"\n },\n {\n \"name\": \"Trout\",\n \"hex\": \"4A4E5A\"\n },\n {\n \"name\": \"Pigment Indigo\",\n \"hex\": \"4B0082\"\n },\n {\n \"name\": \"Nandor\",\n \"hex\": \"4B5D52\"\n },\n {\n \"name\": \"Saddle\",\n \"hex\": \"4C3024\"\n },\n {\n \"name\": \"Abbey\",\n \"hex\": \"4C4F56\"\n },\n {\n \"name\": \"Blackberry\",\n \"hex\": \"4D0135\"\n },\n {\n \"name\": \"Cab Sav\",\n \"hex\": \"4D0A18\"\n },\n {\n \"name\": \"Indian Tan\",\n \"hex\": \"4D1E01\"\n },\n {\n \"name\": \"Cowboy\",\n \"hex\": \"4D282D\"\n },\n {\n \"name\": \"Livid Brown\",\n \"hex\": \"4D282E\"\n },\n {\n \"name\": \"Rock\",\n \"hex\": \"4D3833\"\n },\n {\n \"name\": \"Punga\",\n \"hex\": \"4D3D14\"\n },\n {\n \"name\": \"Bronzetone\",\n \"hex\": \"4D400F\"\n },\n {\n \"name\": \"Woodland\",\n \"hex\": \"4D5328\"\n },\n {\n \"name\": \"Mahogany\",\n \"hex\": \"4E0606\"\n },\n {\n \"name\": \"Bossanova\",\n \"hex\": \"4E2A5A\"\n },\n {\n \"name\": \"Matterhorn\",\n \"hex\": \"4E3B41\"\n },\n {\n \"name\": \"Bronze Olive\",\n \"hex\": \"4E420C\"\n },\n {\n \"name\": \"Mulled Wine\",\n \"hex\": \"4E4562\"\n },\n {\n \"name\": \"Axolotl\",\n \"hex\": \"4E6649\"\n },\n {\n \"name\": \"Wedgewood\",\n \"hex\": \"4E7F9E\"\n },\n {\n \"name\": \"Shakespeare\",\n \"hex\": \"4EABD1\"\n },\n {\n \"name\": \"Honey Flower\",\n \"hex\": \"4F1C70\"\n },\n {\n \"name\": \"Daisy Bush\",\n \"hex\": \"4F2398\"\n },\n {\n \"name\": \"Indigo\",\n \"hex\": \"4F69C6\"\n },\n {\n \"name\": \"Fern Green\",\n \"hex\": \"4F7942\"\n },\n {\n \"name\": \"Fruit Salad\",\n \"hex\": \"4F9D5D\"\n },\n {\n \"name\": \"Apple\",\n \"hex\": \"4FA83D\"\n },\n {\n \"name\": \"Mortar\",\n \"hex\": \"504351\"\n },\n {\n \"name\": \"Kashmir Blue\",\n \"hex\": \"507096\"\n },\n {\n \"name\": \"Cutty Sark\",\n \"hex\": \"507672\"\n },\n {\n \"name\": \"Emerald\",\n \"hex\": \"50C878\"\n },\n {\n \"name\": \"Emperor\",\n \"hex\": \"514649\"\n },\n {\n \"name\": \"Chalet Green\",\n \"hex\": \"516E3D\"\n },\n {\n \"name\": \"Como\",\n \"hex\": \"517C66\"\n },\n {\n \"name\": \"Smalt Blue\",\n \"hex\": \"51808F\"\n },\n {\n \"name\": \"Castro\",\n \"hex\": \"52001F\"\n },\n {\n \"name\": \"Maroon Oak\",\n \"hex\": \"520C17\"\n },\n {\n \"name\": \"Gigas\",\n \"hex\": \"523C94\"\n },\n {\n \"name\": \"Voodoo\",\n \"hex\": \"533455\"\n },\n {\n \"name\": \"Victoria\",\n \"hex\": \"534491\"\n },\n {\n \"name\": \"Hippie Green\",\n \"hex\": \"53824B\"\n },\n {\n \"name\": \"Heath\",\n \"hex\": \"541012\"\n },\n {\n \"name\": \"Judge Gray\",\n \"hex\": \"544333\"\n },\n {\n \"name\": \"Fuscous Gray\",\n \"hex\": \"54534D\"\n },\n {\n \"name\": \"Vida Loca\",\n \"hex\": \"549019\"\n },\n {\n \"name\": \"Cioccolato\",\n \"hex\": \"55280C\"\n },\n {\n \"name\": \"Saratoga\",\n \"hex\": \"555B10\"\n },\n {\n \"name\": \"Finlandia\",\n \"hex\": \"556D56\"\n },\n {\n \"name\": \"Havelock Blue\",\n \"hex\": \"5590D9\"\n },\n {\n \"name\": \"Fountain Blue\",\n \"hex\": \"56B4BE\"\n },\n {\n \"name\": \"Spring Leaves\",\n \"hex\": \"578363\"\n },\n {\n \"name\": \"Saddle Brown\",\n \"hex\": \"583401\"\n },\n {\n \"name\": \"Scarpa Flow\",\n \"hex\": \"585562\"\n },\n {\n \"name\": \"Cactus\",\n \"hex\": \"587156\"\n },\n {\n \"name\": \"Hippie Blue\",\n \"hex\": \"589AAF\"\n },\n {\n \"name\": \"Wine Berry\",\n \"hex\": \"591D35\"\n },\n {\n \"name\": \"Brown Bramble\",\n \"hex\": \"592804\"\n },\n {\n \"name\": \"Congo Brown\",\n \"hex\": \"593737\"\n },\n {\n \"name\": \"Millbrook\",\n \"hex\": \"594433\"\n },\n {\n \"name\": \"Waikawa Gray\",\n \"hex\": \"5A6E9C\"\n },\n {\n \"name\": \"Horizon\",\n \"hex\": \"5A87A0\"\n },\n {\n \"name\": \"Jambalaya\",\n \"hex\": \"5B3013\"\n },\n {\n \"name\": \"Bordeaux\",\n \"hex\": \"5C0120\"\n },\n {\n \"name\": \"Mulberry Wood\",\n \"hex\": \"5C0536\"\n },\n {\n \"name\": \"Carnaby Tan\",\n \"hex\": \"5C2E01\"\n },\n {\n \"name\": \"Comet\",\n \"hex\": \"5C5D75\"\n },\n {\n \"name\": \"Redwood\",\n \"hex\": \"5D1E0F\"\n },\n {\n \"name\": \"Don Juan\",\n \"hex\": \"5D4C51\"\n },\n {\n \"name\": \"Chicago\",\n \"hex\": \"5D5C58\"\n },\n {\n \"name\": \"Verdigris\",\n \"hex\": \"5D5E37\"\n },\n {\n \"name\": \"Dingley\",\n \"hex\": \"5D7747\"\n },\n {\n \"name\": \"Breaker Bay\",\n \"hex\": \"5DA19F\"\n },\n {\n \"name\": \"Kabul\",\n \"hex\": \"5E483E\"\n },\n {\n \"name\": \"Hemlock\",\n \"hex\": \"5E5D3B\"\n },\n {\n \"name\": \"Irish Coffee\",\n \"hex\": \"5F3D26\"\n },\n {\n \"name\": \"Mid Gray\",\n \"hex\": \"5F5F6E\"\n },\n {\n \"name\": \"Shuttle Gray\",\n \"hex\": \"5F6672\"\n },\n {\n \"name\": \"Aqua Forest\",\n \"hex\": \"5FA777\"\n },\n {\n \"name\": \"Tradewind\",\n \"hex\": \"5FB3AC\"\n },\n {\n \"name\": \"Horses Neck\",\n \"hex\": \"604913\"\n },\n {\n \"name\": \"Smoky\",\n \"hex\": \"605B73\"\n },\n {\n \"name\": \"Corduroy\",\n \"hex\": \"606E68\"\n },\n {\n \"name\": \"Danube\",\n \"hex\": \"6093D1\"\n },\n {\n \"name\": \"Espresso\",\n \"hex\": \"612718\"\n },\n {\n \"name\": \"Eggplant\",\n \"hex\": \"614051\"\n },\n {\n \"name\": \"Costa Del Sol\",\n \"hex\": \"615D30\"\n },\n {\n \"name\": \"Glade Green\",\n \"hex\": \"61845F\"\n },\n {\n \"name\": \"Buccaneer\",\n \"hex\": \"622F30\"\n },\n {\n \"name\": \"Quincy\",\n \"hex\": \"623F2D\"\n },\n {\n \"name\": \"Butterfly Bush\",\n \"hex\": \"624E9A\"\n },\n {\n \"name\": \"West Coast\",\n \"hex\": \"625119\"\n },\n {\n \"name\": \"Finch\",\n \"hex\": \"626649\"\n },\n {\n \"name\": \"Patina\",\n \"hex\": \"639A8F\"\n },\n {\n \"name\": \"Fern\",\n \"hex\": \"63B76C\"\n },\n {\n \"name\": \"Blue Violet\",\n \"hex\": \"6456B7\"\n },\n {\n \"name\": \"Dolphin\",\n \"hex\": \"646077\"\n },\n {\n \"name\": \"Storm Dust\",\n \"hex\": \"646463\"\n },\n {\n \"name\": \"Siam\",\n \"hex\": \"646A54\"\n },\n {\n \"name\": \"Nevada\",\n \"hex\": \"646E75\"\n },\n {\n \"name\": \"Cornflower Blue\",\n \"hex\": \"6495ED\"\n },\n {\n \"name\": \"Viking\",\n \"hex\": \"64CCDB\"\n },\n {\n \"name\": \"Rosewood\",\n \"hex\": \"65000B\"\n },\n {\n \"name\": \"Cherrywood\",\n \"hex\": \"651A14\"\n },\n {\n \"name\": \"Purple Heart\",\n \"hex\": \"652DC1\"\n },\n {\n \"name\": \"Fern Frond\",\n \"hex\": \"657220\"\n },\n {\n \"name\": \"Willow Grove\",\n \"hex\": \"65745D\"\n },\n {\n \"name\": \"Hoki\",\n \"hex\": \"65869F\"\n },\n {\n \"name\": \"Pompadour\",\n \"hex\": \"660045\"\n },\n {\n \"name\": \"Purple\",\n \"hex\": \"660099\"\n },\n {\n \"name\": \"Tyrian Purple\",\n \"hex\": \"66023C\"\n },\n {\n \"name\": \"Dark Tan\",\n \"hex\": \"661010\"\n },\n {\n \"name\": \"Silver Tree\",\n \"hex\": \"66B58F\"\n },\n {\n \"name\": \"Bright Green\",\n \"hex\": \"66FF00\"\n },\n {\n \"name\": \"Screamin' Green\",\n \"hex\": \"66FF66\"\n },\n {\n \"name\": \"Black Rose\",\n \"hex\": \"67032D\"\n },\n {\n \"name\": \"Scampi\",\n \"hex\": \"675FA6\"\n },\n {\n \"name\": \"Ironside Gray\",\n \"hex\": \"676662\"\n },\n {\n \"name\": \"Viridian Green\",\n \"hex\": \"678975\"\n },\n {\n \"name\": \"Christi\",\n \"hex\": \"67A712\"\n },\n {\n \"name\": \"Nutmeg Wood Finish\",\n \"hex\": \"683600\"\n },\n {\n \"name\": \"Zambezi\",\n \"hex\": \"685558\"\n },\n {\n \"name\": \"Salt Box\",\n \"hex\": \"685E6E\"\n },\n {\n \"name\": \"Tawny Port\",\n \"hex\": \"692545\"\n },\n {\n \"name\": \"Finn\",\n \"hex\": \"692D54\"\n },\n {\n \"name\": \"Scorpion\",\n \"hex\": \"695F62\"\n },\n {\n \"name\": \"Lynch\",\n \"hex\": \"697E9A\"\n },\n {\n \"name\": \"Spice\",\n \"hex\": \"6A442E\"\n },\n {\n \"name\": \"Himalaya\",\n \"hex\": \"6A5D1B\"\n },\n {\n \"name\": \"Soya Bean\",\n \"hex\": \"6A6051\"\n },\n {\n \"name\": \"Hairy Heath\",\n \"hex\": \"6B2A14\"\n },\n {\n \"name\": \"Royal Purple\",\n \"hex\": \"6B3FA0\"\n },\n {\n \"name\": \"Shingle Fawn\",\n \"hex\": \"6B4E31\"\n },\n {\n \"name\": \"Dorado\",\n \"hex\": \"6B5755\"\n },\n {\n \"name\": \"Bermuda Gray\",\n \"hex\": \"6B8BA2\"\n },\n {\n \"name\": \"Olive Drab\",\n \"hex\": \"6B8E23\"\n },\n {\n \"name\": \"Eminence\",\n \"hex\": \"6C3082\"\n },\n {\n \"name\": \"Turquoise Blue\",\n \"hex\": \"6CDAE7\"\n },\n {\n \"name\": \"Lonestar\",\n \"hex\": \"6D0101\"\n },\n {\n \"name\": \"Pine Cone\",\n \"hex\": \"6D5E54\"\n },\n {\n \"name\": \"Dove Gray\",\n \"hex\": \"6D6C6C\"\n },\n {\n \"name\": \"Juniper\",\n \"hex\": \"6D9292\"\n },\n {\n \"name\": \"Gothic\",\n \"hex\": \"6D92A1\"\n },\n {\n \"name\": \"Red Oxide\",\n \"hex\": \"6E0902\"\n },\n {\n \"name\": \"Moccaccino\",\n \"hex\": \"6E1D14\"\n },\n {\n \"name\": \"Pickled Bean\",\n \"hex\": \"6E4826\"\n },\n {\n \"name\": \"Dallas\",\n \"hex\": \"6E4B26\"\n },\n {\n \"name\": \"Kokoda\",\n \"hex\": \"6E6D57\"\n },\n {\n \"name\": \"Pale Sky\",\n \"hex\": \"6E7783\"\n },\n {\n \"name\": \"Cafe Royale\",\n \"hex\": \"6F440C\"\n },\n {\n \"name\": \"Flint\",\n \"hex\": \"6F6A61\"\n },\n {\n \"name\": \"Highland\",\n \"hex\": \"6F8E63\"\n },\n {\n \"name\": \"Limeade\",\n \"hex\": \"6F9D02\"\n },\n {\n \"name\": \"Downy\",\n \"hex\": \"6FD0C5\"\n },\n {\n \"name\": \"Persian Plum\",\n \"hex\": \"701C1C\"\n },\n {\n \"name\": \"Sepia\",\n \"hex\": \"704214\"\n },\n {\n \"name\": \"Antique Bronze\",\n \"hex\": \"704A07\"\n },\n {\n \"name\": \"Ferra\",\n \"hex\": \"704F50\"\n },\n {\n \"name\": \"Coffee\",\n \"hex\": \"706555\"\n },\n {\n \"name\": \"Slate Gray\",\n \"hex\": \"708090\"\n },\n {\n \"name\": \"Cedar Wood Finish\",\n \"hex\": \"711A00\"\n },\n {\n \"name\": \"Metallic Copper\",\n \"hex\": \"71291D\"\n },\n {\n \"name\": \"Affair\",\n \"hex\": \"714693\"\n },\n {\n \"name\": \"Studio\",\n \"hex\": \"714AB2\"\n },\n {\n \"name\": \"Tobacco Brown\",\n \"hex\": \"715D47\"\n },\n {\n \"name\": \"Yellow Metal\",\n \"hex\": \"716338\"\n },\n {\n \"name\": \"Peat\",\n \"hex\": \"716B56\"\n },\n {\n \"name\": \"Olivetone\",\n \"hex\": \"716E10\"\n },\n {\n \"name\": \"Storm Gray\",\n \"hex\": \"717486\"\n },\n {\n \"name\": \"Sirocco\",\n \"hex\": \"718080\"\n },\n {\n \"name\": \"Aquamarine Blue\",\n \"hex\": \"71D9E2\"\n },\n {\n \"name\": \"Venetian Red\",\n \"hex\": \"72010F\"\n },\n {\n \"name\": \"Old Copper\",\n \"hex\": \"724A2F\"\n },\n {\n \"name\": \"Go Ben\",\n \"hex\": \"726D4E\"\n },\n {\n \"name\": \"Raven\",\n \"hex\": \"727B89\"\n },\n {\n \"name\": \"Seance\",\n \"hex\": \"731E8F\"\n },\n {\n \"name\": \"Raw Umber\",\n \"hex\": \"734A12\"\n },\n {\n \"name\": \"Kimberly\",\n \"hex\": \"736C9F\"\n },\n {\n \"name\": \"Crocodile\",\n \"hex\": \"736D58\"\n },\n {\n \"name\": \"Crete\",\n \"hex\": \"737829\"\n },\n {\n \"name\": \"Xanadu\",\n \"hex\": \"738678\"\n },\n {\n \"name\": \"Spicy Mustard\",\n \"hex\": \"74640D\"\n },\n {\n \"name\": \"Limed Ash\",\n \"hex\": \"747D63\"\n },\n {\n \"name\": \"Rolling Stone\",\n \"hex\": \"747D83\"\n },\n {\n \"name\": \"Blue Smoke\",\n \"hex\": \"748881\"\n },\n {\n \"name\": \"Laurel\",\n \"hex\": \"749378\"\n },\n {\n \"name\": \"Mantis\",\n \"hex\": \"74C365\"\n },\n {\n \"name\": \"Russett\",\n \"hex\": \"755A57\"\n },\n {\n \"name\": \"Deluge\",\n \"hex\": \"7563A8\"\n },\n {\n \"name\": \"Cosmic\",\n \"hex\": \"76395D\"\n },\n {\n \"name\": \"Blue Marguerite\",\n \"hex\": \"7666C6\"\n },\n {\n \"name\": \"Lima\",\n \"hex\": \"76BD17\"\n },\n {\n \"name\": \"Sky Blue\",\n \"hex\": \"76D7EA\"\n },\n {\n \"name\": \"Dark Burgundy\",\n \"hex\": \"770F05\"\n },\n {\n \"name\": \"Crown of Thorns\",\n \"hex\": \"771F1F\"\n },\n {\n \"name\": \"Walnut\",\n \"hex\": \"773F1A\"\n },\n {\n \"name\": \"Pablo\",\n \"hex\": \"776F61\"\n },\n {\n \"name\": \"Pacifika\",\n \"hex\": \"778120\"\n },\n {\n \"name\": \"Oxley\",\n \"hex\": \"779E86\"\n },\n {\n \"name\": \"Pastel Green\",\n \"hex\": \"77DD77\"\n },\n {\n \"name\": \"Japanese Maple\",\n \"hex\": \"780109\"\n },\n {\n \"name\": \"Mocha\",\n \"hex\": \"782D19\"\n },\n {\n \"name\": \"Peanut\",\n \"hex\": \"782F16\"\n },\n {\n \"name\": \"Camouflage Green\",\n \"hex\": \"78866B\"\n },\n {\n \"name\": \"Wasabi\",\n \"hex\": \"788A25\"\n },\n {\n \"name\": \"Ship Cove\",\n \"hex\": \"788BBA\"\n },\n {\n \"name\": \"Sea Nymph\",\n \"hex\": \"78A39C\"\n },\n {\n \"name\": \"Roman Coffee\",\n \"hex\": \"795D4C\"\n },\n {\n \"name\": \"Old Lavender\",\n \"hex\": \"796878\"\n },\n {\n \"name\": \"Rum\",\n \"hex\": \"796989\"\n },\n {\n \"name\": \"Fedora\",\n \"hex\": \"796A78\"\n },\n {\n \"name\": \"Sandstone\",\n \"hex\": \"796D62\"\n },\n {\n \"name\": \"Spray\",\n \"hex\": \"79DEEC\"\n },\n {\n \"name\": \"Siren\",\n \"hex\": \"7A013A\"\n },\n {\n \"name\": \"Fuchsia Blue\",\n \"hex\": \"7A58C1\"\n },\n {\n \"name\": \"Boulder\",\n \"hex\": \"7A7A7A\"\n },\n {\n \"name\": \"Wild Blue Yonder\",\n \"hex\": \"7A89B8\"\n },\n {\n \"name\": \"De York\",\n \"hex\": \"7AC488\"\n },\n {\n \"name\": \"Red Beech\",\n \"hex\": \"7B3801\"\n },\n {\n \"name\": \"Cinnamon\",\n \"hex\": \"7B3F00\"\n },\n {\n \"name\": \"Yukon Gold\",\n \"hex\": \"7B6608\"\n },\n {\n \"name\": \"Tapa\",\n \"hex\": \"7B7874\"\n },\n {\n \"name\": \"Waterloo \",\n \"hex\": \"7B7C94\"\n },\n {\n \"name\": \"Flax Smoke\",\n \"hex\": \"7B8265\"\n },\n {\n \"name\": \"Amulet\",\n \"hex\": \"7B9F80\"\n },\n {\n \"name\": \"Asparagus\",\n \"hex\": \"7BA05B\"\n },\n {\n \"name\": \"Kenyan Copper\",\n \"hex\": \"7C1C05\"\n },\n {\n \"name\": \"Pesto\",\n \"hex\": \"7C7631\"\n },\n {\n \"name\": \"Topaz\",\n \"hex\": \"7C778A\"\n },\n {\n \"name\": \"Concord\",\n \"hex\": \"7C7B7A\"\n },\n {\n \"name\": \"Jumbo\",\n \"hex\": \"7C7B82\"\n },\n {\n \"name\": \"Trendy Green\",\n \"hex\": \"7C881A\"\n },\n {\n \"name\": \"Gumbo\",\n \"hex\": \"7CA1A6\"\n },\n {\n \"name\": \"Acapulco\",\n \"hex\": \"7CB0A1\"\n },\n {\n \"name\": \"Neptune\",\n \"hex\": \"7CB7BB\"\n },\n {\n \"name\": \"Pueblo\",\n \"hex\": \"7D2C14\"\n },\n {\n \"name\": \"Bay Leaf\",\n \"hex\": \"7DA98D\"\n },\n {\n \"name\": \"Malibu\",\n \"hex\": \"7DC8F7\"\n },\n {\n \"name\": \"Bermuda\",\n \"hex\": \"7DD8C6\"\n },\n {\n \"name\": \"Copper Canyon\",\n \"hex\": \"7E3A15\"\n },\n {\n \"name\": \"Claret\",\n \"hex\": \"7F1734\"\n },\n {\n \"name\": \"Peru Tan\",\n \"hex\": \"7F3A02\"\n },\n {\n \"name\": \"Falcon\",\n \"hex\": \"7F626D\"\n },\n {\n \"name\": \"Mobster\",\n \"hex\": \"7F7589\"\n },\n {\n \"name\": \"Moody Blue\",\n \"hex\": \"7F76D3\"\n },\n {\n \"name\": \"Chartreuse\",\n \"hex\": \"7FFF00\"\n },\n {\n \"name\": \"Aquamarine\",\n \"hex\": \"7FFFD4\"\n },\n {\n \"name\": \"Maroon\",\n \"hex\": \"800000\"\n },\n {\n \"name\": \"Rose Bud Cherry\",\n \"hex\": \"800B47\"\n },\n {\n \"name\": \"Falu Red\",\n \"hex\": \"801818\"\n },\n {\n \"name\": \"Red Robin\",\n \"hex\": \"80341F\"\n },\n {\n \"name\": \"Vivid Violet\",\n \"hex\": \"803790\"\n },\n {\n \"name\": \"Russet\",\n \"hex\": \"80461B\"\n },\n {\n \"name\": \"Friar Gray\",\n \"hex\": \"807E79\"\n },\n {\n \"name\": \"Olive\",\n \"hex\": \"808000\"\n },\n {\n \"name\": \"Gray\",\n \"hex\": \"808080\"\n },\n {\n \"name\": \"Gulf Stream\",\n \"hex\": \"80B3AE\"\n },\n {\n \"name\": \"Glacier\",\n \"hex\": \"80B3C4\"\n },\n {\n \"name\": \"Seagull\",\n \"hex\": \"80CCEA\"\n },\n {\n \"name\": \"Nutmeg\",\n \"hex\": \"81422C\"\n },\n {\n \"name\": \"Spicy Pink\",\n \"hex\": \"816E71\"\n },\n {\n \"name\": \"Empress\",\n \"hex\": \"817377\"\n },\n {\n \"name\": \"Spanish Green\",\n \"hex\": \"819885\"\n },\n {\n \"name\": \"Sand Dune\",\n \"hex\": \"826F65\"\n },\n {\n \"name\": \"Gunsmoke\",\n \"hex\": \"828685\"\n },\n {\n \"name\": \"Battleship Gray\",\n \"hex\": \"828F72\"\n },\n {\n \"name\": \"Merlot\",\n \"hex\": \"831923\"\n },\n {\n \"name\": \"Shadow\",\n \"hex\": \"837050\"\n },\n {\n \"name\": \"Chelsea Cucumber\",\n \"hex\": \"83AA5D\"\n },\n {\n \"name\": \"Monte Carlo\",\n \"hex\": \"83D0C6\"\n },\n {\n \"name\": \"Plum\",\n \"hex\": \"843179\"\n },\n {\n \"name\": \"Granny Smith\",\n \"hex\": \"84A0A0\"\n },\n {\n \"name\": \"Chetwode Blue\",\n \"hex\": \"8581D9\"\n },\n {\n \"name\": \"Bandicoot\",\n \"hex\": \"858470\"\n },\n {\n \"name\": \"Bali Hai\",\n \"hex\": \"859FAF\"\n },\n {\n \"name\": \"Half Baked\",\n \"hex\": \"85C4CC\"\n },\n {\n \"name\": \"Red Devil\",\n \"hex\": \"860111\"\n },\n {\n \"name\": \"Lotus\",\n \"hex\": \"863C3C\"\n },\n {\n \"name\": \"Ironstone\",\n \"hex\": \"86483C\"\n },\n {\n \"name\": \"Bull Shot\",\n \"hex\": \"864D1E\"\n },\n {\n \"name\": \"Rusty Nail\",\n \"hex\": \"86560A\"\n },\n {\n \"name\": \"Bitter\",\n \"hex\": \"868974\"\n },\n {\n \"name\": \"Regent Gray\",\n \"hex\": \"86949F\"\n },\n {\n \"name\": \"Disco\",\n \"hex\": \"871550\"\n },\n {\n \"name\": \"Americano\",\n \"hex\": \"87756E\"\n },\n {\n \"name\": \"Hurricane\",\n \"hex\": \"877C7B\"\n },\n {\n \"name\": \"Oslo Gray\",\n \"hex\": \"878D91\"\n },\n {\n \"name\": \"Sushi\",\n \"hex\": \"87AB39\"\n },\n {\n \"name\": \"Spicy Mix\",\n \"hex\": \"885342\"\n },\n {\n \"name\": \"Kumera\",\n \"hex\": \"886221\"\n },\n {\n \"name\": \"Suva Gray\",\n \"hex\": \"888387\"\n },\n {\n \"name\": \"Avocado\",\n \"hex\": \"888D65\"\n },\n {\n \"name\": \"Camelot\",\n \"hex\": \"893456\"\n },\n {\n \"name\": \"Solid Pink\",\n \"hex\": \"893843\"\n },\n {\n \"name\": \"Cannon Pink\",\n \"hex\": \"894367\"\n },\n {\n \"name\": \"Makara\",\n \"hex\": \"897D6D\"\n },\n {\n \"name\": \"Burnt Umber\",\n \"hex\": \"8A3324\"\n },\n {\n \"name\": \"True V\",\n \"hex\": \"8A73D6\"\n },\n {\n \"name\": \"Clay Creek\",\n \"hex\": \"8A8360\"\n },\n {\n \"name\": \"Monsoon\",\n \"hex\": \"8A8389\"\n },\n {\n \"name\": \"Stack\",\n \"hex\": \"8A8F8A\"\n },\n {\n \"name\": \"Jordy Blue\",\n \"hex\": \"8AB9F1\"\n },\n {\n \"name\": \"Electric Violet\",\n \"hex\": \"8B00FF\"\n },\n {\n \"name\": \"Monarch\",\n \"hex\": \"8B0723\"\n },\n {\n \"name\": \"Corn Harvest\",\n \"hex\": \"8B6B0B\"\n },\n {\n \"name\": \"Olive Haze\",\n \"hex\": \"8B8470\"\n },\n {\n \"name\": \"Schooner\",\n \"hex\": \"8B847E\"\n },\n {\n \"name\": \"Natural Gray\",\n \"hex\": \"8B8680\"\n },\n {\n \"name\": \"Mantle\",\n \"hex\": \"8B9C90\"\n },\n {\n \"name\": \"Portage\",\n \"hex\": \"8B9FEE\"\n },\n {\n \"name\": \"Envy\",\n \"hex\": \"8BA690\"\n },\n {\n \"name\": \"Cascade\",\n \"hex\": \"8BA9A5\"\n },\n {\n \"name\": \"Riptide\",\n \"hex\": \"8BE6D8\"\n },\n {\n \"name\": \"Cardinal Pink\",\n \"hex\": \"8C055E\"\n },\n {\n \"name\": \"Mule Fawn\",\n \"hex\": \"8C472F\"\n },\n {\n \"name\": \"Potters Clay\",\n \"hex\": \"8C5738\"\n },\n {\n \"name\": \"Trendy Pink\",\n \"hex\": \"8C6495\"\n },\n {\n \"name\": \"Paprika\",\n \"hex\": \"8D0226\"\n },\n {\n \"name\": \"Sanguine Brown\",\n \"hex\": \"8D3D38\"\n },\n {\n \"name\": \"Tosca\",\n \"hex\": \"8D3F3F\"\n },\n {\n \"name\": \"Cement\",\n \"hex\": \"8D7662\"\n },\n {\n \"name\": \"Granite Green\",\n \"hex\": \"8D8974\"\n },\n {\n \"name\": \"Manatee\",\n \"hex\": \"8D90A1\"\n },\n {\n \"name\": \"Polo Blue\",\n \"hex\": \"8DA8CC\"\n },\n {\n \"name\": \"Red Berry\",\n \"hex\": \"8E0000\"\n },\n {\n \"name\": \"Rope\",\n \"hex\": \"8E4D1E\"\n },\n {\n \"name\": \"Opium\",\n \"hex\": \"8E6F70\"\n },\n {\n \"name\": \"Domino\",\n \"hex\": \"8E775E\"\n },\n {\n \"name\": \"Mamba\",\n \"hex\": \"8E8190\"\n },\n {\n \"name\": \"Nepal\",\n \"hex\": \"8EABC1\"\n },\n {\n \"name\": \"Pohutukawa\",\n \"hex\": \"8F021C\"\n },\n {\n \"name\": \"El Salva\",\n \"hex\": \"8F3E33\"\n },\n {\n \"name\": \"Korma\",\n \"hex\": \"8F4B0E\"\n },\n {\n \"name\": \"Squirrel\",\n \"hex\": \"8F8176\"\n },\n {\n \"name\": \"Vista Blue\",\n \"hex\": \"8FD6B4\"\n },\n {\n \"name\": \"Burgundy\",\n \"hex\": \"900020\"\n },\n {\n \"name\": \"Old Brick\",\n \"hex\": \"901E1E\"\n },\n {\n \"name\": \"Hemp\",\n \"hex\": \"907874\"\n },\n {\n \"name\": \"Almond Frost\",\n \"hex\": \"907B71\"\n },\n {\n \"name\": \"Sycamore\",\n \"hex\": \"908D39\"\n },\n {\n \"name\": \"Sangria\",\n \"hex\": \"92000A\"\n },\n {\n \"name\": \"Cumin\",\n \"hex\": \"924321\"\n },\n {\n \"name\": \"Beaver\",\n \"hex\": \"926F5B\"\n },\n {\n \"name\": \"Stonewall\",\n \"hex\": \"928573\"\n },\n {\n \"name\": \"Venus\",\n \"hex\": \"928590\"\n },\n {\n \"name\": \"Medium Purple\",\n \"hex\": \"9370DB\"\n },\n {\n \"name\": \"Cornflower\",\n \"hex\": \"93CCEA\"\n },\n {\n \"name\": \"Algae Green\",\n \"hex\": \"93DFB8\"\n },\n {\n \"name\": \"Copper Rust\",\n \"hex\": \"944747\"\n },\n {\n \"name\": \"Arrowtown\",\n \"hex\": \"948771\"\n },\n {\n \"name\": \"Scarlett\",\n \"hex\": \"950015\"\n },\n {\n \"name\": \"Strikemaster\",\n \"hex\": \"956387\"\n },\n {\n \"name\": \"Mountain Mist\",\n \"hex\": \"959396\"\n },\n {\n \"name\": \"Carmine\",\n \"hex\": \"960018\"\n },\n {\n \"name\": \"Brown\",\n \"hex\": \"964B00\"\n },\n {\n \"name\": \"Leather\",\n \"hex\": \"967059\"\n },\n {\n \"name\": \"Purple Mountain's Majesty\",\n \"hex\": \"9678B6\"\n },\n {\n \"name\": \"Lavender Purple\",\n \"hex\": \"967BB6\"\n },\n {\n \"name\": \"Pewter\",\n \"hex\": \"96A8A1\"\n },\n {\n \"name\": \"Summer Green\",\n \"hex\": \"96BBAB\"\n },\n {\n \"name\": \"Au Chico\",\n \"hex\": \"97605D\"\n },\n {\n \"name\": \"Wisteria\",\n \"hex\": \"9771B5\"\n },\n {\n \"name\": \"Atlantis\",\n \"hex\": \"97CD2D\"\n },\n {\n \"name\": \"Vin Rouge\",\n \"hex\": \"983D61\"\n },\n {\n \"name\": \"Lilac Bush\",\n \"hex\": \"9874D3\"\n },\n {\n \"name\": \"Bazaar\",\n \"hex\": \"98777B\"\n },\n {\n \"name\": \"Hacienda\",\n \"hex\": \"98811B\"\n },\n {\n \"name\": \"Pale Oyster\",\n \"hex\": \"988D77\"\n },\n {\n \"name\": \"Mint Green\",\n \"hex\": \"98FF98\"\n },\n {\n \"name\": \"Fresh Eggplant\",\n \"hex\": \"990066\"\n },\n {\n \"name\": \"Violet Eggplant\",\n \"hex\": \"991199\"\n },\n {\n \"name\": \"Tamarillo\",\n \"hex\": \"991613\"\n },\n {\n \"name\": \"Totem Pole\",\n \"hex\": \"991B07\"\n },\n {\n \"name\": \"Copper Rose\",\n \"hex\": \"996666\"\n },\n {\n \"name\": \"Amethyst\",\n \"hex\": \"9966CC\"\n },\n {\n \"name\": \"Mountbatten Pink\",\n \"hex\": \"997A8D\"\n },\n {\n \"name\": \"Blue Bell\",\n \"hex\": \"9999CC\"\n },\n {\n \"name\": \"Prairie Sand\",\n \"hex\": \"9A3820\"\n },\n {\n \"name\": \"Toast\",\n \"hex\": \"9A6E61\"\n },\n {\n \"name\": \"Gurkha\",\n \"hex\": \"9A9577\"\n },\n {\n \"name\": \"Olivine\",\n \"hex\": \"9AB973\"\n },\n {\n \"name\": \"Shadow Green\",\n \"hex\": \"9AC2B8\"\n },\n {\n \"name\": \"Oregon\",\n \"hex\": \"9B4703\"\n },\n {\n \"name\": \"Lemon Grass\",\n \"hex\": \"9B9E8F\"\n },\n {\n \"name\": \"Stiletto\",\n \"hex\": \"9C3336\"\n },\n {\n \"name\": \"Hawaiian Tan\",\n \"hex\": \"9D5616\"\n },\n {\n \"name\": \"Gull Gray\",\n \"hex\": \"9DACB7\"\n },\n {\n \"name\": \"Pistachio\",\n \"hex\": \"9DC209\"\n },\n {\n \"name\": \"Granny Smith Apple\",\n \"hex\": \"9DE093\"\n },\n {\n \"name\": \"Anakiwa\",\n \"hex\": \"9DE5FF\"\n },\n {\n \"name\": \"Chelsea Gem\",\n \"hex\": \"9E5302\"\n },\n {\n \"name\": \"Sepia Skin\",\n \"hex\": \"9E5B40\"\n },\n {\n \"name\": \"Sage\",\n \"hex\": \"9EA587\"\n },\n {\n \"name\": \"Citron\",\n \"hex\": \"9EA91F\"\n },\n {\n \"name\": \"Rock Blue\",\n \"hex\": \"9EB1CD\"\n },\n {\n \"name\": \"Morning Glory\",\n \"hex\": \"9EDEE0\"\n },\n {\n \"name\": \"Cognac\",\n \"hex\": \"9F381D\"\n },\n {\n \"name\": \"Reef Gold\",\n \"hex\": \"9F821C\"\n },\n {\n \"name\": \"Star Dust\",\n \"hex\": \"9F9F9C\"\n },\n {\n \"name\": \"Santas Gray\",\n \"hex\": \"9FA0B1\"\n },\n {\n \"name\": \"Sinbad\",\n \"hex\": \"9FD7D3\"\n },\n {\n \"name\": \"Feijoa\",\n \"hex\": \"9FDD8C\"\n },\n {\n \"name\": \"Tabasco\",\n \"hex\": \"A02712\"\n },\n {\n \"name\": \"Buttered Rum\",\n \"hex\": \"A1750D\"\n },\n {\n \"name\": \"Hit Gray\",\n \"hex\": \"A1ADB5\"\n },\n {\n \"name\": \"Citrus\",\n \"hex\": \"A1C50A\"\n },\n {\n \"name\": \"Aqua Island\",\n \"hex\": \"A1DAD7\"\n },\n {\n \"name\": \"Water Leaf\",\n \"hex\": \"A1E9DE\"\n },\n {\n \"name\": \"Flirt\",\n \"hex\": \"A2006D\"\n },\n {\n \"name\": \"Rouge\",\n \"hex\": \"A23B6C\"\n },\n {\n \"name\": \"Cape Palliser\",\n \"hex\": \"A26645\"\n },\n {\n \"name\": \"Gray Chateau\",\n \"hex\": \"A2AAB3\"\n },\n {\n \"name\": \"Edward\",\n \"hex\": \"A2AEAB\"\n },\n {\n \"name\": \"Pharlap\",\n \"hex\": \"A3807B\"\n },\n {\n \"name\": \"Amethyst Smoke\",\n \"hex\": \"A397B4\"\n },\n {\n \"name\": \"Blizzard Blue\",\n \"hex\": \"A3E3ED\"\n },\n {\n \"name\": \"Delta\",\n \"hex\": \"A4A49D\"\n },\n {\n \"name\": \"Wistful\",\n \"hex\": \"A4A6D3\"\n },\n {\n \"name\": \"Green Smoke\",\n \"hex\": \"A4AF6E\"\n },\n {\n \"name\": \"Jazzberry Jam\",\n \"hex\": \"A50B5E\"\n },\n {\n \"name\": \"Zorba\",\n \"hex\": \"A59B91\"\n },\n {\n \"name\": \"Bahia\",\n \"hex\": \"A5CB0C\"\n },\n {\n \"name\": \"Roof Terracotta\",\n \"hex\": \"A62F20\"\n },\n {\n \"name\": \"Paarl\",\n \"hex\": \"A65529\"\n },\n {\n \"name\": \"Barley Corn\",\n \"hex\": \"A68B5B\"\n },\n {\n \"name\": \"Donkey Brown\",\n \"hex\": \"A69279\"\n },\n {\n \"name\": \"Dawn\",\n \"hex\": \"A6A29A\"\n },\n {\n \"name\": \"Mexican Red\",\n \"hex\": \"A72525\"\n },\n {\n \"name\": \"Luxor Gold\",\n \"hex\": \"A7882C\"\n },\n {\n \"name\": \"Rich Gold\",\n \"hex\": \"A85307\"\n },\n {\n \"name\": \"Reno Sand\",\n \"hex\": \"A86515\"\n },\n {\n \"name\": \"Coral Tree\",\n \"hex\": \"A86B6B\"\n },\n {\n \"name\": \"Dusty Gray\",\n \"hex\": \"A8989B\"\n },\n {\n \"name\": \"Dull Lavender\",\n \"hex\": \"A899E6\"\n },\n {\n \"name\": \"Tallow\",\n \"hex\": \"A8A589\"\n },\n {\n \"name\": \"Bud\",\n \"hex\": \"A8AE9C\"\n },\n {\n \"name\": \"Locust\",\n \"hex\": \"A8AF8E\"\n },\n {\n \"name\": \"Norway\",\n \"hex\": \"A8BD9F\"\n },\n {\n \"name\": \"Chinook\",\n \"hex\": \"A8E3BD\"\n },\n {\n \"name\": \"Gray Olive\",\n \"hex\": \"A9A491\"\n },\n {\n \"name\": \"Aluminium\",\n \"hex\": \"A9ACB6\"\n },\n {\n \"name\": \"Cadet Blue\",\n \"hex\": \"A9B2C3\"\n },\n {\n \"name\": \"Schist\",\n \"hex\": \"A9B497\"\n },\n {\n \"name\": \"Tower Gray\",\n \"hex\": \"A9BDBF\"\n },\n {\n \"name\": \"Perano\",\n \"hex\": \"A9BEF2\"\n },\n {\n \"name\": \"Opal\",\n \"hex\": \"A9C6C2\"\n },\n {\n \"name\": \"Night Shadz\",\n \"hex\": \"AA375A\"\n },\n {\n \"name\": \"Fire\",\n \"hex\": \"AA4203\"\n },\n {\n \"name\": \"Muesli\",\n \"hex\": \"AA8B5B\"\n },\n {\n \"name\": \"Sandal\",\n \"hex\": \"AA8D6F\"\n },\n {\n \"name\": \"Shady Lady\",\n \"hex\": \"AAA5A9\"\n },\n {\n \"name\": \"Logan\",\n \"hex\": \"AAA9CD\"\n },\n {\n \"name\": \"Spun Pearl\",\n \"hex\": \"AAABB7\"\n },\n {\n \"name\": \"Regent St Blue\",\n \"hex\": \"AAD6E6\"\n },\n {\n \"name\": \"Magic Mint\",\n \"hex\": \"AAF0D1\"\n },\n {\n \"name\": \"Lipstick\",\n \"hex\": \"AB0563\"\n },\n {\n \"name\": \"Royal Heath\",\n \"hex\": \"AB3472\"\n },\n {\n \"name\": \"Sandrift\",\n \"hex\": \"AB917A\"\n },\n {\n \"name\": \"Cold Purple\",\n \"hex\": \"ABA0D9\"\n },\n {\n \"name\": \"Bronco\",\n \"hex\": \"ABA196\"\n },\n {\n \"name\": \"Limed Oak\",\n \"hex\": \"AC8A56\"\n },\n {\n \"name\": \"East Side\",\n \"hex\": \"AC91CE\"\n },\n {\n \"name\": \"Lemon Ginger\",\n \"hex\": \"AC9E22\"\n },\n {\n \"name\": \"Napa\",\n \"hex\": \"ACA494\"\n },\n {\n \"name\": \"Hillary\",\n \"hex\": \"ACA586\"\n },\n {\n \"name\": \"Cloudy\",\n \"hex\": \"ACA59F\"\n },\n {\n \"name\": \"Silver Chalice\",\n \"hex\": \"ACACAC\"\n },\n {\n \"name\": \"Swamp Green\",\n \"hex\": \"ACB78E\"\n },\n {\n \"name\": \"Spring Rain\",\n \"hex\": \"ACCBB1\"\n },\n {\n \"name\": \"Conifer\",\n \"hex\": \"ACDD4D\"\n },\n {\n \"name\": \"Celadon\",\n \"hex\": \"ACE1AF\"\n },\n {\n \"name\": \"Mandalay\",\n \"hex\": \"AD781B\"\n },\n {\n \"name\": \"Casper\",\n \"hex\": \"ADBED1\"\n },\n {\n \"name\": \"Moss Green\",\n \"hex\": \"ADDFAD\"\n },\n {\n \"name\": \"Padua\",\n \"hex\": \"ADE6C4\"\n },\n {\n \"name\": \"Green Yellow\",\n \"hex\": \"ADFF2F\"\n },\n {\n \"name\": \"Hippie Pink\",\n \"hex\": \"AE4560\"\n },\n {\n \"name\": \"Desert\",\n \"hex\": \"AE6020\"\n },\n {\n \"name\": \"Bouquet\",\n \"hex\": \"AE809E\"\n },\n {\n \"name\": \"Medium Carmine\",\n \"hex\": \"AF4035\"\n },\n {\n \"name\": \"Apple Blossom\",\n \"hex\": \"AF4D43\"\n },\n {\n \"name\": \"Brown Rust\",\n \"hex\": \"AF593E\"\n },\n {\n \"name\": \"Driftwood\",\n \"hex\": \"AF8751\"\n },\n {\n \"name\": \"Alpine\",\n \"hex\": \"AF8F2C\"\n },\n {\n \"name\": \"Lucky\",\n \"hex\": \"AF9F1C\"\n },\n {\n \"name\": \"Martini\",\n \"hex\": \"AFA09E\"\n },\n {\n \"name\": \"Bombay\",\n \"hex\": \"AFB1B8\"\n },\n {\n \"name\": \"Pigeon Post\",\n \"hex\": \"AFBDD9\"\n },\n {\n \"name\": \"Cadillac\",\n \"hex\": \"B04C6A\"\n },\n {\n \"name\": \"Matrix\",\n \"hex\": \"B05D54\"\n },\n {\n \"name\": \"Tapestry\",\n \"hex\": \"B05E81\"\n },\n {\n \"name\": \"Mai Tai\",\n \"hex\": \"B06608\"\n },\n {\n \"name\": \"Del Rio\",\n \"hex\": \"B09A95\"\n },\n {\n \"name\": \"Powder Blue\",\n \"hex\": \"B0E0E6\"\n },\n {\n \"name\": \"Inch Worm\",\n \"hex\": \"B0E313\"\n },\n {\n \"name\": \"Bright Red\",\n \"hex\": \"B10000\"\n },\n {\n \"name\": \"Vesuvius\",\n \"hex\": \"B14A0B\"\n },\n {\n \"name\": \"Pumpkin Skin\",\n \"hex\": \"B1610B\"\n },\n {\n \"name\": \"Santa Fe\",\n \"hex\": \"B16D52\"\n },\n {\n \"name\": \"Teak\",\n \"hex\": \"B19461\"\n },\n {\n \"name\": \"Fringy Flower\",\n \"hex\": \"B1E2C1\"\n },\n {\n \"name\": \"Ice Cold\",\n \"hex\": \"B1F4E7\"\n },\n {\n \"name\": \"Shiraz\",\n \"hex\": \"B20931\"\n },\n {\n \"name\": \"Biloba Flower\",\n \"hex\": \"B2A1EA\"\n },\n {\n \"name\": \"Tall Poppy\",\n \"hex\": \"B32D29\"\n },\n {\n \"name\": \"Fiery Orange\",\n \"hex\": \"B35213\"\n },\n {\n \"name\": \"Hot Toddy\",\n \"hex\": \"B38007\"\n },\n {\n \"name\": \"Taupe Gray\",\n \"hex\": \"B3AF95\"\n },\n {\n \"name\": \"La Rioja\",\n \"hex\": \"B3C110\"\n },\n {\n \"name\": \"Well Read\",\n \"hex\": \"B43332\"\n },\n {\n \"name\": \"Blush\",\n \"hex\": \"B44668\"\n },\n {\n \"name\": \"Jungle Mist\",\n \"hex\": \"B4CFD3\"\n },\n {\n \"name\": \"Turkish Rose\",\n \"hex\": \"B57281\"\n },\n {\n \"name\": \"Lavender\",\n \"hex\": \"B57EDC\"\n },\n {\n \"name\": \"Mongoose\",\n \"hex\": \"B5A27F\"\n },\n {\n \"name\": \"Olive Green\",\n \"hex\": \"B5B35C\"\n },\n {\n \"name\": \"Jet Stream\",\n \"hex\": \"B5D2CE\"\n },\n {\n \"name\": \"Cruise\",\n \"hex\": \"B5ECDF\"\n },\n {\n \"name\": \"Hibiscus\",\n \"hex\": \"B6316C\"\n },\n {\n \"name\": \"Thatch\",\n \"hex\": \"B69D98\"\n },\n {\n \"name\": \"Heathered Gray\",\n \"hex\": \"B6B095\"\n },\n {\n \"name\": \"Eagle\",\n \"hex\": \"B6BAA4\"\n },\n {\n \"name\": \"Spindle\",\n \"hex\": \"B6D1EA\"\n },\n {\n \"name\": \"Gum Leaf\",\n \"hex\": \"B6D3BF\"\n },\n {\n \"name\": \"Rust\",\n \"hex\": \"B7410E\"\n },\n {\n \"name\": \"Muddy Waters\",\n \"hex\": \"B78E5C\"\n },\n {\n \"name\": \"Sahara\",\n \"hex\": \"B7A214\"\n },\n {\n \"name\": \"Husk\",\n \"hex\": \"B7A458\"\n },\n {\n \"name\": \"Nobel\",\n \"hex\": \"B7B1B1\"\n },\n {\n \"name\": \"Heather\",\n \"hex\": \"B7C3D0\"\n },\n {\n \"name\": \"Madang\",\n \"hex\": \"B7F0BE\"\n },\n {\n \"name\": \"Milano Red\",\n \"hex\": \"B81104\"\n },\n {\n \"name\": \"Copper\",\n \"hex\": \"B87333\"\n },\n {\n \"name\": \"Gimblet\",\n \"hex\": \"B8B56A\"\n },\n {\n \"name\": \"Green Spring\",\n \"hex\": \"B8C1B1\"\n },\n {\n \"name\": \"Celery\",\n \"hex\": \"B8C25D\"\n },\n {\n \"name\": \"Sail\",\n \"hex\": \"B8E0F9\"\n },\n {\n \"name\": \"Chestnut\",\n \"hex\": \"B94E48\"\n },\n {\n \"name\": \"Crail\",\n \"hex\": \"B95140\"\n },\n {\n \"name\": \"Marigold\",\n \"hex\": \"B98D28\"\n },\n {\n \"name\": \"Wild Willow\",\n \"hex\": \"B9C46A\"\n },\n {\n \"name\": \"Rainee\",\n \"hex\": \"B9C8AC\"\n },\n {\n \"name\": \"Guardsman Red\",\n \"hex\": \"BA0101\"\n },\n {\n \"name\": \"Rock Spray\",\n \"hex\": \"BA450C\"\n },\n {\n \"name\": \"Bourbon\",\n \"hex\": \"BA6F1E\"\n },\n {\n \"name\": \"Pirate Gold\",\n \"hex\": \"BA7F03\"\n },\n {\n \"name\": \"Nomad\",\n \"hex\": \"BAB1A2\"\n },\n {\n \"name\": \"Submarine\",\n \"hex\": \"BAC7C9\"\n },\n {\n \"name\": \"Charlotte\",\n \"hex\": \"BAEEF9\"\n },\n {\n \"name\": \"Medium Red Violet\",\n \"hex\": \"BB3385\"\n },\n {\n \"name\": \"Brandy Rose\",\n \"hex\": \"BB8983\"\n },\n {\n \"name\": \"Rio Grande\",\n \"hex\": \"BBD009\"\n },\n {\n \"name\": \"Surf\",\n \"hex\": \"BBD7C1\"\n },\n {\n \"name\": \"Powder Ash\",\n \"hex\": \"BCC9C2\"\n },\n {\n \"name\": \"Tuscany\",\n \"hex\": \"BD5E2E\"\n },\n {\n \"name\": \"Quicksand\",\n \"hex\": \"BD978E\"\n },\n {\n \"name\": \"Silk\",\n \"hex\": \"BDB1A8\"\n },\n {\n \"name\": \"Malta\",\n \"hex\": \"BDB2A1\"\n },\n {\n \"name\": \"Chatelle\",\n \"hex\": \"BDB3C7\"\n },\n {\n \"name\": \"Lavender Gray\",\n \"hex\": \"BDBBD7\"\n },\n {\n \"name\": \"French Gray\",\n \"hex\": \"BDBDC6\"\n },\n {\n \"name\": \"Clay Ash\",\n \"hex\": \"BDC8B3\"\n },\n {\n \"name\": \"Loblolly\",\n \"hex\": \"BDC9CE\"\n },\n {\n \"name\": \"French Pass\",\n \"hex\": \"BDEDFD\"\n },\n {\n \"name\": \"London Hue\",\n \"hex\": \"BEA6C3\"\n },\n {\n \"name\": \"Pink Swan\",\n \"hex\": \"BEB5B7\"\n },\n {\n \"name\": \"Fuego\",\n \"hex\": \"BEDE0D\"\n },\n {\n \"name\": \"Rose of Sharon\",\n \"hex\": \"BF5500\"\n },\n {\n \"name\": \"Tide\",\n \"hex\": \"BFB8B0\"\n },\n {\n \"name\": \"Blue Haze\",\n \"hex\": \"BFBED8\"\n },\n {\n \"name\": \"Silver Sand\",\n \"hex\": \"BFC1C2\"\n },\n {\n \"name\": \"Key Lime Pie\",\n \"hex\": \"BFC921\"\n },\n {\n \"name\": \"Ziggurat\",\n \"hex\": \"BFDBE2\"\n },\n {\n \"name\": \"Lime\",\n \"hex\": \"BFFF00\"\n },\n {\n \"name\": \"Thunderbird\",\n \"hex\": \"C02B18\"\n },\n {\n \"name\": \"Mojo\",\n \"hex\": \"C04737\"\n },\n {\n \"name\": \"Old Rose\",\n \"hex\": \"C08081\"\n },\n {\n \"name\": \"Silver\",\n \"hex\": \"C0C0C0\"\n },\n {\n \"name\": \"Pale Leaf\",\n \"hex\": \"C0D3B9\"\n },\n {\n \"name\": \"Pixie Green\",\n \"hex\": \"C0D8B6\"\n },\n {\n \"name\": \"Tia Maria\",\n \"hex\": \"C1440E\"\n },\n {\n \"name\": \"Fuchsia Pink\",\n \"hex\": \"C154C1\"\n },\n {\n \"name\": \"Buddha Gold\",\n \"hex\": \"C1A004\"\n },\n {\n \"name\": \"Bison Hide\",\n \"hex\": \"C1B7A4\"\n },\n {\n \"name\": \"Tea\",\n \"hex\": \"C1BAB0\"\n },\n {\n \"name\": \"Gray Suit\",\n \"hex\": \"C1BECD\"\n },\n {\n \"name\": \"Sprout\",\n \"hex\": \"C1D7B0\"\n },\n {\n \"name\": \"Sulu\",\n \"hex\": \"C1F07C\"\n },\n {\n \"name\": \"Indochine\",\n \"hex\": \"C26B03\"\n },\n {\n \"name\": \"Twine\",\n \"hex\": \"C2955D\"\n },\n {\n \"name\": \"Cotton Seed\",\n \"hex\": \"C2BDB6\"\n },\n {\n \"name\": \"Pumice\",\n \"hex\": \"C2CAC4\"\n },\n {\n \"name\": \"Jagged Ice\",\n \"hex\": \"C2E8E5\"\n },\n {\n \"name\": \"Maroon Flush\",\n \"hex\": \"C32148\"\n },\n {\n \"name\": \"Indian Khaki\",\n \"hex\": \"C3B091\"\n },\n {\n \"name\": \"Pale Slate\",\n \"hex\": \"C3BFC1\"\n },\n {\n \"name\": \"Gray Nickel\",\n \"hex\": \"C3C3BD\"\n },\n {\n \"name\": \"Periwinkle Gray\",\n \"hex\": \"C3CDE6\"\n },\n {\n \"name\": \"Tiara\",\n \"hex\": \"C3D1D1\"\n },\n {\n \"name\": \"Tropical Blue\",\n \"hex\": \"C3DDF9\"\n },\n {\n \"name\": \"Cardinal\",\n \"hex\": \"C41E3A\"\n },\n {\n \"name\": \"Fuzzy Wuzzy Brown\",\n \"hex\": \"C45655\"\n },\n {\n \"name\": \"Orange Roughy\",\n \"hex\": \"C45719\"\n },\n {\n \"name\": \"Mist Gray\",\n \"hex\": \"C4C4BC\"\n },\n {\n \"name\": \"Coriander\",\n \"hex\": \"C4D0B0\"\n },\n {\n \"name\": \"Mint Tulip\",\n \"hex\": \"C4F4EB\"\n },\n {\n \"name\": \"Mulberry\",\n \"hex\": \"C54B8C\"\n },\n {\n \"name\": \"Nugget\",\n \"hex\": \"C59922\"\n },\n {\n \"name\": \"Tussock\",\n \"hex\": \"C5994B\"\n },\n {\n \"name\": \"Sea Mist\",\n \"hex\": \"C5DBCA\"\n },\n {\n \"name\": \"Yellow Green\",\n \"hex\": \"C5E17A\"\n },\n {\n \"name\": \"Brick Red\",\n \"hex\": \"C62D42\"\n },\n {\n \"name\": \"Contessa\",\n \"hex\": \"C6726B\"\n },\n {\n \"name\": \"Oriental Pink\",\n \"hex\": \"C69191\"\n },\n {\n \"name\": \"Roti\",\n \"hex\": \"C6A84B\"\n },\n {\n \"name\": \"Ash\",\n \"hex\": \"C6C3B5\"\n },\n {\n \"name\": \"Kangaroo\",\n \"hex\": \"C6C8BD\"\n },\n {\n \"name\": \"Las Palmas\",\n \"hex\": \"C6E610\"\n },\n {\n \"name\": \"Monza\",\n \"hex\": \"C7031E\"\n },\n {\n \"name\": \"Red Violet\",\n \"hex\": \"C71585\"\n },\n {\n \"name\": \"Coral Reef\",\n \"hex\": \"C7BCA2\"\n },\n {\n \"name\": \"Melrose\",\n \"hex\": \"C7C1FF\"\n },\n {\n \"name\": \"Cloud\",\n \"hex\": \"C7C4BF\"\n },\n {\n \"name\": \"Ghost\",\n \"hex\": \"C7C9D5\"\n },\n {\n \"name\": \"Pine Glade\",\n \"hex\": \"C7CD90\"\n },\n {\n \"name\": \"Botticelli\",\n \"hex\": \"C7DDE5\"\n },\n {\n \"name\": \"Antique Brass\",\n \"hex\": \"C88A65\"\n },\n {\n \"name\": \"Lilac\",\n \"hex\": \"C8A2C8\"\n },\n {\n \"name\": \"Hokey Pokey\",\n \"hex\": \"C8A528\"\n },\n {\n \"name\": \"Lily\",\n \"hex\": \"C8AABF\"\n },\n {\n \"name\": \"Laser\",\n \"hex\": \"C8B568\"\n },\n {\n \"name\": \"Edgewater\",\n \"hex\": \"C8E3D7\"\n },\n {\n \"name\": \"Piper\",\n \"hex\": \"C96323\"\n },\n {\n \"name\": \"Pizza\",\n \"hex\": \"C99415\"\n },\n {\n \"name\": \"Light Wisteria\",\n \"hex\": \"C9A0DC\"\n },\n {\n \"name\": \"Rodeo Dust\",\n \"hex\": \"C9B29B\"\n },\n {\n \"name\": \"Sundance\",\n \"hex\": \"C9B35B\"\n },\n {\n \"name\": \"Earls Green\",\n \"hex\": \"C9B93B\"\n },\n {\n \"name\": \"Silver Rust\",\n \"hex\": \"C9C0BB\"\n },\n {\n \"name\": \"Conch\",\n \"hex\": \"C9D9D2\"\n },\n {\n \"name\": \"Reef\",\n \"hex\": \"C9FFA2\"\n },\n {\n \"name\": \"Aero Blue\",\n \"hex\": \"C9FFE5\"\n },\n {\n \"name\": \"Flush Mahogany\",\n \"hex\": \"CA3435\"\n },\n {\n \"name\": \"Turmeric\",\n \"hex\": \"CABB48\"\n },\n {\n \"name\": \"Paris White\",\n \"hex\": \"CADCD4\"\n },\n {\n \"name\": \"Bitter Lemon\",\n \"hex\": \"CAE00D\"\n },\n {\n \"name\": \"Skeptic\",\n \"hex\": \"CAE6DA\"\n },\n {\n \"name\": \"Viola\",\n \"hex\": \"CB8FA9\"\n },\n {\n \"name\": \"Foggy Gray\",\n \"hex\": \"CBCAB6\"\n },\n {\n \"name\": \"Green Mist\",\n \"hex\": \"CBD3B0\"\n },\n {\n \"name\": \"Nebula\",\n \"hex\": \"CBDBD6\"\n },\n {\n \"name\": \"Persian Red\",\n \"hex\": \"CC3333\"\n },\n {\n \"name\": \"Burnt Orange\",\n \"hex\": \"CC5500\"\n },\n {\n \"name\": \"Ochre\",\n \"hex\": \"CC7722\"\n },\n {\n \"name\": \"Puce\",\n \"hex\": \"CC8899\"\n },\n {\n \"name\": \"Thistle Green\",\n \"hex\": \"CCCAA8\"\n },\n {\n \"name\": \"Periwinkle\",\n \"hex\": \"CCCCFF\"\n },\n {\n \"name\": \"Electric Lime\",\n \"hex\": \"CCFF00\"\n },\n {\n \"name\": \"Tenn\",\n \"hex\": \"CD5700\"\n },\n {\n \"name\": \"Chestnut Rose\",\n \"hex\": \"CD5C5C\"\n },\n {\n \"name\": \"Brandy Punch\",\n \"hex\": \"CD8429\"\n },\n {\n \"name\": \"Onahau\",\n \"hex\": \"CDF4FF\"\n },\n {\n \"name\": \"Sorrell Brown\",\n \"hex\": \"CEB98F\"\n },\n {\n \"name\": \"Cold Turkey\",\n \"hex\": \"CEBABA\"\n },\n {\n \"name\": \"Yuma\",\n \"hex\": \"CEC291\"\n },\n {\n \"name\": \"Chino\",\n \"hex\": \"CEC7A7\"\n },\n {\n \"name\": \"Eunry\",\n \"hex\": \"CFA39D\"\n },\n {\n \"name\": \"Old Gold\",\n \"hex\": \"CFB53B\"\n },\n {\n \"name\": \"Tasman\",\n \"hex\": \"CFDCCF\"\n },\n {\n \"name\": \"Surf Crest\",\n \"hex\": \"CFE5D2\"\n },\n {\n \"name\": \"Humming Bird\",\n \"hex\": \"CFF9F3\"\n },\n {\n \"name\": \"Scandal\",\n \"hex\": \"CFFAF4\"\n },\n {\n \"name\": \"Red Stage\",\n \"hex\": \"D05F04\"\n },\n {\n \"name\": \"Hopbush\",\n \"hex\": \"D06DA1\"\n },\n {\n \"name\": \"Meteor\",\n \"hex\": \"D07D12\"\n },\n {\n \"name\": \"Perfume\",\n \"hex\": \"D0BEF8\"\n },\n {\n \"name\": \"Prelude\",\n \"hex\": \"D0C0E5\"\n },\n {\n \"name\": \"Tea Green\",\n \"hex\": \"D0F0C0\"\n },\n {\n \"name\": \"Geebung\",\n \"hex\": \"D18F1B\"\n },\n {\n \"name\": \"Vanilla\",\n \"hex\": \"D1BEA8\"\n },\n {\n \"name\": \"Soft Amber\",\n \"hex\": \"D1C6B4\"\n },\n {\n \"name\": \"Celeste\",\n \"hex\": \"D1D2CA\"\n },\n {\n \"name\": \"Mischka\",\n \"hex\": \"D1D2DD\"\n },\n {\n \"name\": \"Pear\",\n \"hex\": \"D1E231\"\n },\n {\n \"name\": \"Hot Cinnamon\",\n \"hex\": \"D2691E\"\n },\n {\n \"name\": \"Raw Sienna\",\n \"hex\": \"D27D46\"\n },\n {\n \"name\": \"Careys Pink\",\n \"hex\": \"D29EAA\"\n },\n {\n \"name\": \"Tan\",\n \"hex\": \"D2B48C\"\n },\n {\n \"name\": \"Deco\",\n \"hex\": \"D2DA97\"\n },\n {\n \"name\": \"Blue Romance\",\n \"hex\": \"D2F6DE\"\n },\n {\n \"name\": \"Gossip\",\n \"hex\": \"D2F8B0\"\n },\n {\n \"name\": \"Sisal\",\n \"hex\": \"D3CBBA\"\n },\n {\n \"name\": \"Swirl\",\n \"hex\": \"D3CDC5\"\n },\n {\n \"name\": \"Charm\",\n \"hex\": \"D47494\"\n },\n {\n \"name\": \"Clam Shell\",\n \"hex\": \"D4B6AF\"\n },\n {\n \"name\": \"Straw\",\n \"hex\": \"D4BF8D\"\n },\n {\n \"name\": \"Akaroa\",\n \"hex\": \"D4C4A8\"\n },\n {\n \"name\": \"Bird Flower\",\n \"hex\": \"D4CD16\"\n },\n {\n \"name\": \"Iron\",\n \"hex\": \"D4D7D9\"\n },\n {\n \"name\": \"Geyser\",\n \"hex\": \"D4DFE2\"\n },\n {\n \"name\": \"Hawkes Blue\",\n \"hex\": \"D4E2FC\"\n },\n {\n \"name\": \"Grenadier\",\n \"hex\": \"D54600\"\n },\n {\n \"name\": \"Can Can\",\n \"hex\": \"D591A4\"\n },\n {\n \"name\": \"Whiskey\",\n \"hex\": \"D59A6F\"\n },\n {\n \"name\": \"Winter Hazel\",\n \"hex\": \"D5D195\"\n },\n {\n \"name\": \"Granny Apple\",\n \"hex\": \"D5F6E3\"\n },\n {\n \"name\": \"My Pink\",\n \"hex\": \"D69188\"\n },\n {\n \"name\": \"Tacha\",\n \"hex\": \"D6C562\"\n },\n {\n \"name\": \"Moon Raker\",\n \"hex\": \"D6CEF6\"\n },\n {\n \"name\": \"Quill Gray\",\n \"hex\": \"D6D6D1\"\n },\n {\n \"name\": \"Snowy Mint\",\n \"hex\": \"D6FFDB\"\n },\n {\n \"name\": \"New York Pink\",\n \"hex\": \"D7837F\"\n },\n {\n \"name\": \"Pavlova\",\n \"hex\": \"D7C498\"\n },\n {\n \"name\": \"Fog\",\n \"hex\": \"D7D0FF\"\n },\n {\n \"name\": \"Valencia\",\n \"hex\": \"D84437\"\n },\n {\n \"name\": \"Japonica\",\n \"hex\": \"D87C63\"\n },\n {\n \"name\": \"Thistle\",\n \"hex\": \"D8BFD8\"\n },\n {\n \"name\": \"Maverick\",\n \"hex\": \"D8C2D5\"\n },\n {\n \"name\": \"Foam\",\n \"hex\": \"D8FCFA\"\n },\n {\n \"name\": \"Cabaret\",\n \"hex\": \"D94972\"\n },\n {\n \"name\": \"Burning Sand\",\n \"hex\": \"D99376\"\n },\n {\n \"name\": \"Cameo\",\n \"hex\": \"D9B99B\"\n },\n {\n \"name\": \"Timberwolf\",\n \"hex\": \"D9D6CF\"\n },\n {\n \"name\": \"Tana\",\n \"hex\": \"D9DCC1\"\n },\n {\n \"name\": \"Link Water\",\n \"hex\": \"D9E4F5\"\n },\n {\n \"name\": \"Mabel\",\n \"hex\": \"D9F7FF\"\n },\n {\n \"name\": \"Cerise\",\n \"hex\": \"DA3287\"\n },\n {\n \"name\": \"Flame Pea\",\n \"hex\": \"DA5B38\"\n },\n {\n \"name\": \"Bamboo\",\n \"hex\": \"DA6304\"\n },\n {\n \"name\": \"Red Damask\",\n \"hex\": \"DA6A41\"\n },\n {\n \"name\": \"Orchid\",\n \"hex\": \"DA70D6\"\n },\n {\n \"name\": \"Copperfield\",\n \"hex\": \"DA8A67\"\n },\n {\n \"name\": \"Golden Grass\",\n \"hex\": \"DAA520\"\n },\n {\n \"name\": \"Zanah\",\n \"hex\": \"DAECD6\"\n },\n {\n \"name\": \"Iceberg\",\n \"hex\": \"DAF4F0\"\n },\n {\n \"name\": \"Oyster Bay\",\n \"hex\": \"DAFAFF\"\n },\n {\n \"name\": \"Cranberry\",\n \"hex\": \"DB5079\"\n },\n {\n \"name\": \"Petite Orchid\",\n \"hex\": \"DB9690\"\n },\n {\n \"name\": \"Di Serria\",\n \"hex\": \"DB995E\"\n },\n {\n \"name\": \"Alto\",\n \"hex\": \"DBDBDB\"\n },\n {\n \"name\": \"Frosted Mint\",\n \"hex\": \"DBFFF8\"\n },\n {\n \"name\": \"Crimson\",\n \"hex\": \"DC143C\"\n },\n {\n \"name\": \"Punch\",\n \"hex\": \"DC4333\"\n },\n {\n \"name\": \"Galliano\",\n \"hex\": \"DCB20C\"\n },\n {\n \"name\": \"Blossom\",\n \"hex\": \"DCB4BC\"\n },\n {\n \"name\": \"Wattle\",\n \"hex\": \"DCD747\"\n },\n {\n \"name\": \"Westar\",\n \"hex\": \"DCD9D2\"\n },\n {\n \"name\": \"Moon Mist\",\n \"hex\": \"DCDDCC\"\n },\n {\n \"name\": \"Caper\",\n \"hex\": \"DCEDB4\"\n },\n {\n \"name\": \"Swans Down\",\n \"hex\": \"DCF0EA\"\n },\n {\n \"name\": \"Swiss Coffee\",\n \"hex\": \"DDD6D5\"\n },\n {\n \"name\": \"White Ice\",\n \"hex\": \"DDF9F1\"\n },\n {\n \"name\": \"Cerise Red\",\n \"hex\": \"DE3163\"\n },\n {\n \"name\": \"Roman\",\n \"hex\": \"DE6360\"\n },\n {\n \"name\": \"Tumbleweed\",\n \"hex\": \"DEA681\"\n },\n {\n \"name\": \"Gold Tips\",\n \"hex\": \"DEBA13\"\n },\n {\n \"name\": \"Brandy\",\n \"hex\": \"DEC196\"\n },\n {\n \"name\": \"Wafer\",\n \"hex\": \"DECBC6\"\n },\n {\n \"name\": \"Sapling\",\n \"hex\": \"DED4A4\"\n },\n {\n \"name\": \"Barberry\",\n \"hex\": \"DED717\"\n },\n {\n \"name\": \"Beryl Green\",\n \"hex\": \"DEE5C0\"\n },\n {\n \"name\": \"Pattens Blue\",\n \"hex\": \"DEF5FF\"\n },\n {\n \"name\": \"Heliotrope\",\n \"hex\": \"DF73FF\"\n },\n {\n \"name\": \"Apache\",\n \"hex\": \"DFBE6F\"\n },\n {\n \"name\": \"Chenin\",\n \"hex\": \"DFCD6F\"\n },\n {\n \"name\": \"Lola\",\n \"hex\": \"DFCFDB\"\n },\n {\n \"name\": \"Willow Brook\",\n \"hex\": \"DFECDA\"\n },\n {\n \"name\": \"Chartreuse Yellow\",\n \"hex\": \"DFFF00\"\n },\n {\n \"name\": \"Mauve\",\n \"hex\": \"E0B0FF\"\n },\n {\n \"name\": \"Anzac\",\n \"hex\": \"E0B646\"\n },\n {\n \"name\": \"Harvest Gold\",\n \"hex\": \"E0B974\"\n },\n {\n \"name\": \"Calico\",\n \"hex\": \"E0C095\"\n },\n {\n \"name\": \"Baby Blue\",\n \"hex\": \"E0FFFF\"\n },\n {\n \"name\": \"Sunglo\",\n \"hex\": \"E16865\"\n },\n {\n \"name\": \"Equator\",\n \"hex\": \"E1BC64\"\n },\n {\n \"name\": \"Pink Flare\",\n \"hex\": \"E1C0C8\"\n },\n {\n \"name\": \"Periglacial Blue\",\n \"hex\": \"E1E6D6\"\n },\n {\n \"name\": \"Kidnapper\",\n \"hex\": \"E1EAD4\"\n },\n {\n \"name\": \"Tara\",\n \"hex\": \"E1F6E8\"\n },\n {\n \"name\": \"Mandy\",\n \"hex\": \"E25465\"\n },\n {\n \"name\": \"Terracotta\",\n \"hex\": \"E2725B\"\n },\n {\n \"name\": \"Golden Bell\",\n \"hex\": \"E28913\"\n },\n {\n \"name\": \"Shocking\",\n \"hex\": \"E292C0\"\n },\n {\n \"name\": \"Dixie\",\n \"hex\": \"E29418\"\n },\n {\n \"name\": \"Light Orchid\",\n \"hex\": \"E29CD2\"\n },\n {\n \"name\": \"Snuff\",\n \"hex\": \"E2D8ED\"\n },\n {\n \"name\": \"Mystic\",\n \"hex\": \"E2EBED\"\n },\n {\n \"name\": \"Apple Green\",\n \"hex\": \"E2F3EC\"\n },\n {\n \"name\": \"Razzmatazz\",\n \"hex\": \"E30B5C\"\n },\n {\n \"name\": \"Alizarin Crimson\",\n \"hex\": \"E32636\"\n },\n {\n \"name\": \"Cinnabar\",\n \"hex\": \"E34234\"\n },\n {\n \"name\": \"Cavern Pink\",\n \"hex\": \"E3BEBE\"\n },\n {\n \"name\": \"Peppermint\",\n \"hex\": \"E3F5E1\"\n },\n {\n \"name\": \"Mindaro\",\n \"hex\": \"E3F988\"\n },\n {\n \"name\": \"Deep Blush\",\n \"hex\": \"E47698\"\n },\n {\n \"name\": \"Gamboge\",\n \"hex\": \"E49B0F\"\n },\n {\n \"name\": \"Melanie\",\n \"hex\": \"E4C2D5\"\n },\n {\n \"name\": \"Twilight\",\n \"hex\": \"E4CFDE\"\n },\n {\n \"name\": \"Bone\",\n \"hex\": \"E4D1C0\"\n },\n {\n \"name\": \"Sunflower\",\n \"hex\": \"E4D422\"\n },\n {\n \"name\": \"Grain Brown\",\n \"hex\": \"E4D5B7\"\n },\n {\n \"name\": \"Zombie\",\n \"hex\": \"E4D69B\"\n },\n {\n \"name\": \"Frostee\",\n \"hex\": \"E4F6E7\"\n },\n {\n \"name\": \"Snow Flurry\",\n \"hex\": \"E4FFD1\"\n },\n {\n \"name\": \"Amaranth\",\n \"hex\": \"E52B50\"\n },\n {\n \"name\": \"Zest\",\n \"hex\": \"E5841B\"\n },\n {\n \"name\": \"Dust Storm\",\n \"hex\": \"E5CCC9\"\n },\n {\n \"name\": \"Stark White\",\n \"hex\": \"E5D7BD\"\n },\n {\n \"name\": \"Hampton\",\n \"hex\": \"E5D8AF\"\n },\n {\n \"name\": \"Bon Jour\",\n \"hex\": \"E5E0E1\"\n },\n {\n \"name\": \"Mercury\",\n \"hex\": \"E5E5E5\"\n },\n {\n \"name\": \"Polar\",\n \"hex\": \"E5F9F6\"\n },\n {\n \"name\": \"Trinidad\",\n \"hex\": \"E64E03\"\n },\n {\n \"name\": \"Gold Sand\",\n \"hex\": \"E6BE8A\"\n },\n {\n \"name\": \"Cashmere\",\n \"hex\": \"E6BEA5\"\n },\n {\n \"name\": \"Double Spanish White\",\n \"hex\": \"E6D7B9\"\n },\n {\n \"name\": \"Satin Linen\",\n \"hex\": \"E6E4D4\"\n },\n {\n \"name\": \"Harp\",\n \"hex\": \"E6F2EA\"\n },\n {\n \"name\": \"Off Green\",\n \"hex\": \"E6F8F3\"\n },\n {\n \"name\": \"Hint of Green\",\n \"hex\": \"E6FFE9\"\n },\n {\n \"name\": \"Tranquil\",\n \"hex\": \"E6FFFF\"\n },\n {\n \"name\": \"Mango Tango\",\n \"hex\": \"E77200\"\n },\n {\n \"name\": \"Christine\",\n \"hex\": \"E7730A\"\n },\n {\n \"name\": \"Tonys Pink\",\n \"hex\": \"E79F8C\"\n },\n {\n \"name\": \"Kobi\",\n \"hex\": \"E79FC4\"\n },\n {\n \"name\": \"Rose Fog\",\n \"hex\": \"E7BCB4\"\n },\n {\n \"name\": \"Corn\",\n \"hex\": \"E7BF05\"\n },\n {\n \"name\": \"Putty\",\n \"hex\": \"E7CD8C\"\n },\n {\n \"name\": \"Gray Nurse\",\n \"hex\": \"E7ECE6\"\n },\n {\n \"name\": \"Lily White\",\n \"hex\": \"E7F8FF\"\n },\n {\n \"name\": \"Bubbles\",\n \"hex\": \"E7FEFF\"\n },\n {\n \"name\": \"Fire Bush\",\n \"hex\": \"E89928\"\n },\n {\n \"name\": \"Shilo\",\n \"hex\": \"E8B9B3\"\n },\n {\n \"name\": \"Pearl Bush\",\n \"hex\": \"E8E0D5\"\n },\n {\n \"name\": \"Green White\",\n \"hex\": \"E8EBE0\"\n },\n {\n \"name\": \"Chrome White\",\n \"hex\": \"E8F1D4\"\n },\n {\n \"name\": \"Gin\",\n \"hex\": \"E8F2EB\"\n },\n {\n \"name\": \"Aqua Squeeze\",\n \"hex\": \"E8F5F2\"\n },\n {\n \"name\": \"Clementine\",\n \"hex\": \"E96E00\"\n },\n {\n \"name\": \"Burnt Sienna\",\n \"hex\": \"E97451\"\n },\n {\n \"name\": \"Tahiti Gold\",\n \"hex\": \"E97C07\"\n },\n {\n \"name\": \"Oyster Pink\",\n \"hex\": \"E9CECD\"\n },\n {\n \"name\": \"Confetti\",\n \"hex\": \"E9D75A\"\n },\n {\n \"name\": \"Ebb\",\n \"hex\": \"E9E3E3\"\n },\n {\n \"name\": \"Ottoman\",\n \"hex\": \"E9F8ED\"\n },\n {\n \"name\": \"Clear Day\",\n \"hex\": \"E9FFFD\"\n },\n {\n \"name\": \"Carissma\",\n \"hex\": \"EA88A8\"\n },\n {\n \"name\": \"Porsche\",\n \"hex\": \"EAAE69\"\n },\n {\n \"name\": \"Tulip Tree\",\n \"hex\": \"EAB33B\"\n },\n {\n \"name\": \"Rob Roy\",\n \"hex\": \"EAC674\"\n },\n {\n \"name\": \"Raffia\",\n \"hex\": \"EADAB8\"\n },\n {\n \"name\": \"White Rock\",\n \"hex\": \"EAE8D4\"\n },\n {\n \"name\": \"Panache\",\n \"hex\": \"EAF6EE\"\n },\n {\n \"name\": \"Solitude\",\n \"hex\": \"EAF6FF\"\n },\n {\n \"name\": \"Aqua Spring\",\n \"hex\": \"EAF9F5\"\n },\n {\n \"name\": \"Dew\",\n \"hex\": \"EAFFFE\"\n },\n {\n \"name\": \"Apricot\",\n \"hex\": \"EB9373\"\n },\n {\n \"name\": \"Zinnwaldite\",\n \"hex\": \"EBC2AF\"\n },\n {\n \"name\": \"Fuel Yellow\",\n \"hex\": \"ECA927\"\n },\n {\n \"name\": \"Ronchi\",\n \"hex\": \"ECC54E\"\n },\n {\n \"name\": \"French Lilac\",\n \"hex\": \"ECC7EE\"\n },\n {\n \"name\": \"Just Right\",\n \"hex\": \"ECCDB9\"\n },\n {\n \"name\": \"Wild Rice\",\n \"hex\": \"ECE090\"\n },\n {\n \"name\": \"Fall Green\",\n \"hex\": \"ECEBBD\"\n },\n {\n \"name\": \"Aths Special\",\n \"hex\": \"ECEBCE\"\n },\n {\n \"name\": \"Starship\",\n \"hex\": \"ECF245\"\n },\n {\n \"name\": \"Red Ribbon\",\n \"hex\": \"ED0A3F\"\n },\n {\n \"name\": \"Tango\",\n \"hex\": \"ED7A1C\"\n },\n {\n \"name\": \"Carrot Orange\",\n \"hex\": \"ED9121\"\n },\n {\n \"name\": \"Sea Pink\",\n \"hex\": \"ED989E\"\n },\n {\n \"name\": \"Tacao\",\n \"hex\": \"EDB381\"\n },\n {\n \"name\": \"Desert Sand\",\n \"hex\": \"EDC9AF\"\n },\n {\n \"name\": \"Pancho\",\n \"hex\": \"EDCDAB\"\n },\n {\n \"name\": \"Chamois\",\n \"hex\": \"EDDCB1\"\n },\n {\n \"name\": \"Primrose\",\n \"hex\": \"EDEA99\"\n },\n {\n \"name\": \"Frost\",\n \"hex\": \"EDF5DD\"\n },\n {\n \"name\": \"Aqua Haze\",\n \"hex\": \"EDF5F5\"\n },\n {\n \"name\": \"Zumthor\",\n \"hex\": \"EDF6FF\"\n },\n {\n \"name\": \"Narvik\",\n \"hex\": \"EDF9F1\"\n },\n {\n \"name\": \"Honeysuckle\",\n \"hex\": \"EDFC84\"\n },\n {\n \"name\": \"Lavender Magenta\",\n \"hex\": \"EE82EE\"\n },\n {\n \"name\": \"Beauty Bush\",\n \"hex\": \"EEC1BE\"\n },\n {\n \"name\": \"Chalky\",\n \"hex\": \"EED794\"\n },\n {\n \"name\": \"Almond\",\n \"hex\": \"EED9C4\"\n },\n {\n \"name\": \"Flax\",\n \"hex\": \"EEDC82\"\n },\n {\n \"name\": \"Bizarre\",\n \"hex\": \"EEDEDA\"\n },\n {\n \"name\": \"Double Colonial White\",\n \"hex\": \"EEE3AD\"\n },\n {\n \"name\": \"Cararra\",\n \"hex\": \"EEEEE8\"\n },\n {\n \"name\": \"Manz\",\n \"hex\": \"EEEF78\"\n },\n {\n \"name\": \"Tahuna Sands\",\n \"hex\": \"EEF0C8\"\n },\n {\n \"name\": \"Athens Gray\",\n \"hex\": \"EEF0F3\"\n },\n {\n \"name\": \"Tusk\",\n \"hex\": \"EEF3C3\"\n },\n {\n \"name\": \"Loafer\",\n \"hex\": \"EEF4DE\"\n },\n {\n \"name\": \"Catskill White\",\n \"hex\": \"EEF6F7\"\n },\n {\n \"name\": \"Twilight Blue\",\n \"hex\": \"EEFDFF\"\n },\n {\n \"name\": \"Jonquil\",\n \"hex\": \"EEFF9A\"\n },\n {\n \"name\": \"Rice Flower\",\n \"hex\": \"EEFFE2\"\n },\n {\n \"name\": \"Jaffa\",\n \"hex\": \"EF863F\"\n },\n {\n \"name\": \"Gallery\",\n \"hex\": \"EFEFEF\"\n },\n {\n \"name\": \"Porcelain\",\n \"hex\": \"EFF2F3\"\n },\n {\n \"name\": \"Mauvelous\",\n \"hex\": \"F091A9\"\n },\n {\n \"name\": \"Golden Dream\",\n \"hex\": \"F0D52D\"\n },\n {\n \"name\": \"Golden Sand\",\n \"hex\": \"F0DB7D\"\n },\n {\n \"name\": \"Buff\",\n \"hex\": \"F0DC82\"\n },\n {\n \"name\": \"Prim\",\n \"hex\": \"F0E2EC\"\n },\n {\n \"name\": \"Khaki\",\n \"hex\": \"F0E68C\"\n },\n {\n \"name\": \"Selago\",\n \"hex\": \"F0EEFD\"\n },\n {\n \"name\": \"Titan White\",\n \"hex\": \"F0EEFF\"\n },\n {\n \"name\": \"Alice Blue\",\n \"hex\": \"F0F8FF\"\n },\n {\n \"name\": \"Feta\",\n \"hex\": \"F0FCEA\"\n },\n {\n \"name\": \"Gold Drop\",\n \"hex\": \"F18200\"\n },\n {\n \"name\": \"Wewak\",\n \"hex\": \"F19BAB\"\n },\n {\n \"name\": \"Sahara Sand\",\n \"hex\": \"F1E788\"\n },\n {\n \"name\": \"Parchment\",\n \"hex\": \"F1E9D2\"\n },\n {\n \"name\": \"Blue Chalk\",\n \"hex\": \"F1E9FF\"\n },\n {\n \"name\": \"Mint Julep\",\n \"hex\": \"F1EEC1\"\n },\n {\n \"name\": \"Seashell\",\n \"hex\": \"F1F1F1\"\n },\n {\n \"name\": \"Saltpan\",\n \"hex\": \"F1F7F2\"\n },\n {\n \"name\": \"Tidal\",\n \"hex\": \"F1FFAD\"\n },\n {\n \"name\": \"Chiffon\",\n \"hex\": \"F1FFC8\"\n },\n {\n \"name\": \"Flamingo\",\n \"hex\": \"F2552A\"\n },\n {\n \"name\": \"Tangerine\",\n \"hex\": \"F28500\"\n },\n {\n \"name\": \"Mandys Pink\",\n \"hex\": \"F2C3B2\"\n },\n {\n \"name\": \"Concrete\",\n \"hex\": \"F2F2F2\"\n },\n {\n \"name\": \"Black Squeeze\",\n \"hex\": \"F2FAFA\"\n },\n {\n \"name\": \"Pomegranate\",\n \"hex\": \"F34723\"\n },\n {\n \"name\": \"Buttercup\",\n \"hex\": \"F3AD16\"\n },\n {\n \"name\": \"New Orleans\",\n \"hex\": \"F3D69D\"\n },\n {\n \"name\": \"Vanilla Ice\",\n \"hex\": \"F3D9DF\"\n },\n {\n \"name\": \"Sidecar\",\n \"hex\": \"F3E7BB\"\n },\n {\n \"name\": \"Dawn Pink\",\n \"hex\": \"F3E9E5\"\n },\n {\n \"name\": \"Wheatfield\",\n \"hex\": \"F3EDCF\"\n },\n {\n \"name\": \"Canary\",\n \"hex\": \"F3FB62\"\n },\n {\n \"name\": \"Orinoco\",\n \"hex\": \"F3FBD4\"\n },\n {\n \"name\": \"Carla\",\n \"hex\": \"F3FFD8\"\n },\n {\n \"name\": \"Hollywood Cerise\",\n \"hex\": \"F400A1\"\n },\n {\n \"name\": \"Sandy brown\",\n \"hex\": \"F4A460\"\n },\n {\n \"name\": \"Saffron\",\n \"hex\": \"F4C430\"\n },\n {\n \"name\": \"Ripe Lemon\",\n \"hex\": \"F4D81C\"\n },\n {\n \"name\": \"Janna\",\n \"hex\": \"F4EBD3\"\n },\n {\n \"name\": \"Pampas\",\n \"hex\": \"F4F2EE\"\n },\n {\n \"name\": \"Wild Sand\",\n \"hex\": \"F4F4F4\"\n },\n {\n \"name\": \"Zircon\",\n \"hex\": \"F4F8FF\"\n },\n {\n \"name\": \"Froly\",\n \"hex\": \"F57584\"\n },\n {\n \"name\": \"Cream Can\",\n \"hex\": \"F5C85C\"\n },\n {\n \"name\": \"Manhattan\",\n \"hex\": \"F5C999\"\n },\n {\n \"name\": \"Maize\",\n \"hex\": \"F5D5A0\"\n },\n {\n \"name\": \"Wheat\",\n \"hex\": \"F5DEB3\"\n },\n {\n \"name\": \"Sandwisp\",\n \"hex\": \"F5E7A2\"\n },\n {\n \"name\": \"Pot Pourri\",\n \"hex\": \"F5E7E2\"\n },\n {\n \"name\": \"Albescent White\",\n \"hex\": \"F5E9D3\"\n },\n {\n \"name\": \"Soft Peach\",\n \"hex\": \"F5EDEF\"\n },\n {\n \"name\": \"Ecru White\",\n \"hex\": \"F5F3E5\"\n },\n {\n \"name\": \"Beige\",\n \"hex\": \"F5F5DC\"\n },\n {\n \"name\": \"Golden Fizz\",\n \"hex\": \"F5FB3D\"\n },\n {\n \"name\": \"Australian Mint\",\n \"hex\": \"F5FFBE\"\n },\n {\n \"name\": \"French Rose\",\n \"hex\": \"F64A8A\"\n },\n {\n \"name\": \"Brilliant Rose\",\n \"hex\": \"F653A6\"\n },\n {\n \"name\": \"Illusion\",\n \"hex\": \"F6A4C9\"\n },\n {\n \"name\": \"Merino\",\n \"hex\": \"F6F0E6\"\n },\n {\n \"name\": \"Black Haze\",\n \"hex\": \"F6F7F7\"\n },\n {\n \"name\": \"Spring Sun\",\n \"hex\": \"F6FFDC\"\n },\n {\n \"name\": \"Violet Red\",\n \"hex\": \"F7468A\"\n },\n {\n \"name\": \"Chilean Fire\",\n \"hex\": \"F77703\"\n },\n {\n \"name\": \"Persian Pink\",\n \"hex\": \"F77FBE\"\n },\n {\n \"name\": \"Rajah\",\n \"hex\": \"F7B668\"\n },\n {\n \"name\": \"Azalea\",\n \"hex\": \"F7C8DA\"\n },\n {\n \"name\": \"We Peep\",\n \"hex\": \"F7DBE6\"\n },\n {\n \"name\": \"Quarter Spanish White\",\n \"hex\": \"F7F2E1\"\n },\n {\n \"name\": \"Whisper\",\n \"hex\": \"F7F5FA\"\n },\n {\n \"name\": \"Snow Drift\",\n \"hex\": \"F7FAF7\"\n },\n {\n \"name\": \"Casablanca\",\n \"hex\": \"F8B853\"\n },\n {\n \"name\": \"Chantilly\",\n \"hex\": \"F8C3DF\"\n },\n {\n \"name\": \"Cherub\",\n \"hex\": \"F8D9E9\"\n },\n {\n \"name\": \"Marzipan\",\n \"hex\": \"F8DB9D\"\n },\n {\n \"name\": \"Energy Yellow\",\n \"hex\": \"F8DD5C\"\n },\n {\n \"name\": \"Givry\",\n \"hex\": \"F8E4BF\"\n },\n {\n \"name\": \"White Linen\",\n \"hex\": \"F8F0E8\"\n },\n {\n \"name\": \"Magnolia\",\n \"hex\": \"F8F4FF\"\n },\n {\n \"name\": \"Spring Wood\",\n \"hex\": \"F8F6F1\"\n },\n {\n \"name\": \"Coconut Cream\",\n \"hex\": \"F8F7DC\"\n },\n {\n \"name\": \"White Lilac\",\n \"hex\": \"F8F7FC\"\n },\n {\n \"name\": \"Desert Storm\",\n \"hex\": \"F8F8F7\"\n },\n {\n \"name\": \"Texas\",\n \"hex\": \"F8F99C\"\n },\n {\n \"name\": \"Corn Field\",\n \"hex\": \"F8FACD\"\n },\n {\n \"name\": \"Mimosa\",\n \"hex\": \"F8FDD3\"\n },\n {\n \"name\": \"Carnation\",\n \"hex\": \"F95A61\"\n },\n {\n \"name\": \"Saffron Mango\",\n \"hex\": \"F9BF58\"\n },\n {\n \"name\": \"Carousel Pink\",\n \"hex\": \"F9E0ED\"\n },\n {\n \"name\": \"Dairy Cream\",\n \"hex\": \"F9E4BC\"\n },\n {\n \"name\": \"Portica\",\n \"hex\": \"F9E663\"\n },\n {\n \"name\": \"Amour\",\n \"hex\": \"F9EAF3\"\n },\n {\n \"name\": \"Rum Swizzle\",\n \"hex\": \"F9F8E4\"\n },\n {\n \"name\": \"Dolly\",\n \"hex\": \"F9FF8B\"\n },\n {\n \"name\": \"Sugar Cane\",\n \"hex\": \"F9FFF6\"\n },\n {\n \"name\": \"Ecstasy\",\n \"hex\": \"FA7814\"\n },\n {\n \"name\": \"Tan Hide\",\n \"hex\": \"FA9D5A\"\n },\n {\n \"name\": \"Corvette\",\n \"hex\": \"FAD3A2\"\n },\n {\n \"name\": \"Peach Yellow\",\n \"hex\": \"FADFAD\"\n },\n {\n \"name\": \"Turbo\",\n \"hex\": \"FAE600\"\n },\n {\n \"name\": \"Astra\",\n \"hex\": \"FAEAB9\"\n },\n {\n \"name\": \"Champagne\",\n \"hex\": \"FAECCC\"\n },\n {\n \"name\": \"Linen\",\n \"hex\": \"FAF0E6\"\n },\n {\n \"name\": \"Fantasy\",\n \"hex\": \"FAF3F0\"\n },\n {\n \"name\": \"Citrine White\",\n \"hex\": \"FAF7D6\"\n },\n {\n \"name\": \"Alabaster\",\n \"hex\": \"FAFAFA\"\n },\n {\n \"name\": \"Hint of Yellow\",\n \"hex\": \"FAFDE4\"\n },\n {\n \"name\": \"Milan\",\n \"hex\": \"FAFFA4\"\n },\n {\n \"name\": \"Brink Pink\",\n \"hex\": \"FB607F\"\n },\n {\n \"name\": \"Geraldine\",\n \"hex\": \"FB8989\"\n },\n {\n \"name\": \"Lavender Rose\",\n \"hex\": \"FBA0E3\"\n },\n {\n \"name\": \"Sea Buckthorn\",\n \"hex\": \"FBA129\"\n },\n {\n \"name\": \"Sun\",\n \"hex\": \"FBAC13\"\n },\n {\n \"name\": \"Lavender Pink\",\n \"hex\": \"FBAED2\"\n },\n {\n \"name\": \"Rose Bud\",\n \"hex\": \"FBB2A3\"\n },\n {\n \"name\": \"Cupid\",\n \"hex\": \"FBBEDA\"\n },\n {\n \"name\": \"Classic Rose\",\n \"hex\": \"FBCCE7\"\n },\n {\n \"name\": \"Apricot Peach\",\n \"hex\": \"FBCEB1\"\n },\n {\n \"name\": \"Banana Mania\",\n \"hex\": \"FBE7B2\"\n },\n {\n \"name\": \"Marigold Yellow\",\n \"hex\": \"FBE870\"\n },\n {\n \"name\": \"Festival\",\n \"hex\": \"FBE96C\"\n },\n {\n \"name\": \"Sweet Corn\",\n \"hex\": \"FBEA8C\"\n },\n {\n \"name\": \"Candy Corn\",\n \"hex\": \"FBEC5D\"\n },\n {\n \"name\": \"Hint of Red\",\n \"hex\": \"FBF9F9\"\n },\n {\n \"name\": \"Shalimar\",\n \"hex\": \"FBFFBA\"\n },\n {\n \"name\": \"Shocking Pink\",\n \"hex\": \"FC0FC0\"\n },\n {\n \"name\": \"Tickle Me Pink\",\n \"hex\": \"FC80A5\"\n },\n {\n \"name\": \"Tree Poppy\",\n \"hex\": \"FC9C1D\"\n },\n {\n \"name\": \"Lightning Yellow\",\n \"hex\": \"FCC01E\"\n },\n {\n \"name\": \"Goldenrod\",\n \"hex\": \"FCD667\"\n },\n {\n \"name\": \"Candlelight\",\n \"hex\": \"FCD917\"\n },\n {\n \"name\": \"Cherokee\",\n \"hex\": \"FCDA98\"\n },\n {\n \"name\": \"Double Pearl Lusta\",\n \"hex\": \"FCF4D0\"\n },\n {\n \"name\": \"Pearl Lusta\",\n \"hex\": \"FCF4DC\"\n },\n {\n \"name\": \"Vista White\",\n \"hex\": \"FCF8F7\"\n },\n {\n \"name\": \"Bianca\",\n \"hex\": \"FCFBF3\"\n },\n {\n \"name\": \"Moon Glow\",\n \"hex\": \"FCFEDA\"\n },\n {\n \"name\": \"China Ivory\",\n \"hex\": \"FCFFE7\"\n },\n {\n \"name\": \"Ceramic\",\n \"hex\": \"FCFFF9\"\n },\n {\n \"name\": \"Torch Red\",\n \"hex\": \"FD0E35\"\n },\n {\n \"name\": \"Wild Watermelon\",\n \"hex\": \"FD5B78\"\n },\n {\n \"name\": \"Crusta\",\n \"hex\": \"FD7B33\"\n },\n {\n \"name\": \"Sorbus\",\n \"hex\": \"FD7C07\"\n },\n {\n \"name\": \"Sweet Pink\",\n \"hex\": \"FD9FA2\"\n },\n {\n \"name\": \"Light Apricot\",\n \"hex\": \"FDD5B1\"\n },\n {\n \"name\": \"Pig Pink\",\n \"hex\": \"FDD7E4\"\n },\n {\n \"name\": \"Cinderella\",\n \"hex\": \"FDE1DC\"\n },\n {\n \"name\": \"Golden Glow\",\n \"hex\": \"FDE295\"\n },\n {\n \"name\": \"Lemon\",\n \"hex\": \"FDE910\"\n },\n {\n \"name\": \"Old Lace\",\n \"hex\": \"FDF5E6\"\n },\n {\n \"name\": \"Half Colonial White\",\n \"hex\": \"FDF6D3\"\n },\n {\n \"name\": \"Drover\",\n \"hex\": \"FDF7AD\"\n },\n {\n \"name\": \"Pale Prim\",\n \"hex\": \"FDFEB8\"\n },\n {\n \"name\": \"Cumulus\",\n \"hex\": \"FDFFD5\"\n },\n {\n \"name\": \"Persian Rose\",\n \"hex\": \"FE28A2\"\n },\n {\n \"name\": \"Sunset Orange\",\n \"hex\": \"FE4C40\"\n },\n {\n \"name\": \"Bittersweet\",\n \"hex\": \"FE6F5E\"\n },\n {\n \"name\": \"California\",\n \"hex\": \"FE9D04\"\n },\n {\n \"name\": \"Yellow Sea\",\n \"hex\": \"FEA904\"\n },\n {\n \"name\": \"Melon\",\n \"hex\": \"FEBAAD\"\n },\n {\n \"name\": \"Bright Sun\",\n \"hex\": \"FED33C\"\n },\n {\n \"name\": \"Dandelion\",\n \"hex\": \"FED85D\"\n },\n {\n \"name\": \"Salomie\",\n \"hex\": \"FEDB8D\"\n },\n {\n \"name\": \"Cape Honey\",\n \"hex\": \"FEE5AC\"\n },\n {\n \"name\": \"Remy\",\n \"hex\": \"FEEBF3\"\n },\n {\n \"name\": \"Oasis\",\n \"hex\": \"FEEFCE\"\n },\n {\n \"name\": \"Bridesmaid\",\n \"hex\": \"FEF0EC\"\n },\n {\n \"name\": \"Beeswax\",\n \"hex\": \"FEF2C7\"\n },\n {\n \"name\": \"Bleach White\",\n \"hex\": \"FEF3D8\"\n },\n {\n \"name\": \"Pipi\",\n \"hex\": \"FEF4CC\"\n },\n {\n \"name\": \"Half Spanish White\",\n \"hex\": \"FEF4DB\"\n },\n {\n \"name\": \"Wisp Pink\",\n \"hex\": \"FEF4F8\"\n },\n {\n \"name\": \"Provincial Pink\",\n \"hex\": \"FEF5F1\"\n },\n {\n \"name\": \"Half Dutch White\",\n \"hex\": \"FEF7DE\"\n },\n {\n \"name\": \"Solitaire\",\n \"hex\": \"FEF8E2\"\n },\n {\n \"name\": \"White Pointer\",\n \"hex\": \"FEF8FF\"\n },\n {\n \"name\": \"Off Yellow\",\n \"hex\": \"FEF9E3\"\n },\n {\n \"name\": \"Orange White\",\n \"hex\": \"FEFCED\"\n },\n {\n \"name\": \"Red\",\n \"hex\": \"FF0000\"\n },\n {\n \"name\": \"Rose\",\n \"hex\": \"FF007F\"\n },\n {\n \"name\": \"Purple Pizzazz\",\n \"hex\": \"FF00CC\"\n },\n {\n \"name\": \"Magenta / Fuchsia\",\n \"hex\": \"FF00FF\"\n },\n {\n \"name\": \"Scarlet\",\n \"hex\": \"FF2400\"\n },\n {\n \"name\": \"Wild Strawberry\",\n \"hex\": \"FF3399\"\n },\n {\n \"name\": \"Razzle Dazzle Rose\",\n \"hex\": \"FF33CC\"\n },\n {\n \"name\": \"Radical Red\",\n \"hex\": \"FF355E\"\n },\n {\n \"name\": \"Red Orange\",\n \"hex\": \"FF3F34\"\n },\n {\n \"name\": \"Coral Red\",\n \"hex\": \"FF4040\"\n },\n {\n \"name\": \"Vermilion\",\n \"hex\": \"FF4D00\"\n },\n {\n \"name\": \"International Orange\",\n \"hex\": \"FF4F00\"\n },\n {\n \"name\": \"Outrageous Orange\",\n \"hex\": \"FF6037\"\n },\n {\n \"name\": \"Blaze Orange\",\n \"hex\": \"FF6600\"\n },\n {\n \"name\": \"Pink Flamingo\",\n \"hex\": \"FF66FF\"\n },\n {\n \"name\": \"Orange\",\n \"hex\": \"FF681F\"\n },\n {\n \"name\": \"Hot Pink\",\n \"hex\": \"FF69B4\"\n },\n {\n \"name\": \"Persimmon\",\n \"hex\": \"FF6B53\"\n },\n {\n \"name\": \"Blush Pink\",\n \"hex\": \"FF6FFF\"\n },\n {\n \"name\": \"Burning Orange\",\n \"hex\": \"FF7034\"\n },\n {\n \"name\": \"Pumpkin\",\n \"hex\": \"FF7518\"\n },\n {\n \"name\": \"Flamenco\",\n \"hex\": \"FF7D07\"\n },\n {\n \"name\": \"Flush Orange\",\n \"hex\": \"FF7F00\"\n },\n {\n \"name\": \"Coral\",\n \"hex\": \"FF7F50\"\n },\n {\n \"name\": \"Salmon\",\n \"hex\": \"FF8C69\"\n },\n {\n \"name\": \"Pizazz\",\n \"hex\": \"FF9000\"\n },\n {\n \"name\": \"West Side\",\n \"hex\": \"FF910F\"\n },\n {\n \"name\": \"Pink Salmon\",\n \"hex\": \"FF91A4\"\n },\n {\n \"name\": \"Neon Carrot\",\n \"hex\": \"FF9933\"\n },\n {\n \"name\": \"Atomic Tangerine\",\n \"hex\": \"FF9966\"\n },\n {\n \"name\": \"Vivid Tangerine\",\n \"hex\": \"FF9980\"\n },\n {\n \"name\": \"Sunshade\",\n \"hex\": \"FF9E2C\"\n },\n {\n \"name\": \"Orange Peel\",\n \"hex\": \"FFA000\"\n },\n {\n \"name\": \"Mona Lisa\",\n \"hex\": \"FFA194\"\n },\n {\n \"name\": \"Web Orange\",\n \"hex\": \"FFA500\"\n },\n {\n \"name\": \"Carnation Pink\",\n \"hex\": \"FFA6C9\"\n },\n {\n \"name\": \"Hit Pink\",\n \"hex\": \"FFAB81\"\n },\n {\n \"name\": \"Yellow Orange\",\n \"hex\": \"FFAE42\"\n },\n {\n \"name\": \"Cornflower Lilac\",\n \"hex\": \"FFB0AC\"\n },\n {\n \"name\": \"Sundown\",\n \"hex\": \"FFB1B3\"\n },\n {\n \"name\": \"My Sin\",\n \"hex\": \"FFB31F\"\n },\n {\n \"name\": \"Texas Rose\",\n \"hex\": \"FFB555\"\n },\n {\n \"name\": \"Cotton Candy\",\n \"hex\": \"FFB7D5\"\n },\n {\n \"name\": \"Macaroni and Cheese\",\n \"hex\": \"FFB97B\"\n },\n {\n \"name\": \"Selective Yellow\",\n \"hex\": \"FFBA00\"\n },\n {\n \"name\": \"Koromiko\",\n \"hex\": \"FFBD5F\"\n },\n {\n \"name\": \"Amber\",\n \"hex\": \"FFBF00\"\n },\n {\n \"name\": \"Wax Flower\",\n \"hex\": \"FFC0A8\"\n },\n {\n \"name\": \"Pink\",\n \"hex\": \"FFC0CB\"\n },\n {\n \"name\": \"Your Pink\",\n \"hex\": \"FFC3C0\"\n },\n {\n \"name\": \"Supernova\",\n \"hex\": \"FFC901\"\n },\n {\n \"name\": \"Flesh\",\n \"hex\": \"FFCBA4\"\n },\n {\n \"name\": \"Sunglow\",\n \"hex\": \"FFCC33\"\n },\n {\n \"name\": \"Golden Tainoi\",\n \"hex\": \"FFCC5C\"\n },\n {\n \"name\": \"Peach Orange\",\n \"hex\": \"FFCC99\"\n },\n {\n \"name\": \"Chardonnay\",\n \"hex\": \"FFCD8C\"\n },\n {\n \"name\": \"Pastel Pink\",\n \"hex\": \"FFD1DC\"\n },\n {\n \"name\": \"Romantic\",\n \"hex\": \"FFD2B7\"\n },\n {\n \"name\": \"Grandis\",\n \"hex\": \"FFD38C\"\n },\n {\n \"name\": \"Gold\",\n \"hex\": \"FFD700\"\n },\n {\n \"name\": \"School bus Yellow\",\n \"hex\": \"FFD800\"\n },\n {\n \"name\": \"Cosmos\",\n \"hex\": \"FFD8D9\"\n },\n {\n \"name\": \"Mustard\",\n \"hex\": \"FFDB58\"\n },\n {\n \"name\": \"Peach Schnapps\",\n \"hex\": \"FFDCD6\"\n },\n {\n \"name\": \"Caramel\",\n \"hex\": \"FFDDAF\"\n },\n {\n \"name\": \"Tuft Bush\",\n \"hex\": \"FFDDCD\"\n },\n {\n \"name\": \"Watusi\",\n \"hex\": \"FFDDCF\"\n },\n {\n \"name\": \"Pink Lace\",\n \"hex\": \"FFDDF4\"\n },\n {\n \"name\": \"Navajo White\",\n \"hex\": \"FFDEAD\"\n },\n {\n \"name\": \"Frangipani\",\n \"hex\": \"FFDEB3\"\n },\n {\n \"name\": \"Pippin\",\n \"hex\": \"FFE1DF\"\n },\n {\n \"name\": \"Pale Rose\",\n \"hex\": \"FFE1F2\"\n },\n {\n \"name\": \"Negroni\",\n \"hex\": \"FFE2C5\"\n },\n {\n \"name\": \"Cream Brulee\",\n \"hex\": \"FFE5A0\"\n },\n {\n \"name\": \"Peach\",\n \"hex\": \"FFE5B4\"\n },\n {\n \"name\": \"Tequila\",\n \"hex\": \"FFE6C7\"\n },\n {\n \"name\": \"Kournikova\",\n \"hex\": \"FFE772\"\n },\n {\n \"name\": \"Sandy Beach\",\n \"hex\": \"FFEAC8\"\n },\n {\n \"name\": \"Karry\",\n \"hex\": \"FFEAD4\"\n },\n {\n \"name\": \"Broom\",\n \"hex\": \"FFEC13\"\n },\n {\n \"name\": \"Colonial White\",\n \"hex\": \"FFEDBC\"\n },\n {\n \"name\": \"Derby\",\n \"hex\": \"FFEED8\"\n },\n {\n \"name\": \"Vis Vis\",\n \"hex\": \"FFEFA1\"\n },\n {\n \"name\": \"Egg White\",\n \"hex\": \"FFEFC1\"\n },\n {\n \"name\": \"Papaya Whip\",\n \"hex\": \"FFEFD5\"\n },\n {\n \"name\": \"Fair Pink\",\n \"hex\": \"FFEFEC\"\n },\n {\n \"name\": \"Peach Cream\",\n \"hex\": \"FFF0DB\"\n },\n {\n \"name\": \"Lavender blush\",\n \"hex\": \"FFF0F5\"\n },\n {\n \"name\": \"Gorse\",\n \"hex\": \"FFF14F\"\n },\n {\n \"name\": \"Buttermilk\",\n \"hex\": \"FFF1B5\"\n },\n {\n \"name\": \"Pink Lady\",\n \"hex\": \"FFF1D8\"\n },\n {\n \"name\": \"Forget Me Not\",\n \"hex\": \"FFF1EE\"\n },\n {\n \"name\": \"Tutu\",\n \"hex\": \"FFF1F9\"\n },\n {\n \"name\": \"Picasso\",\n \"hex\": \"FFF39D\"\n },\n {\n \"name\": \"Chardon\",\n \"hex\": \"FFF3F1\"\n },\n {\n \"name\": \"Paris Daisy\",\n \"hex\": \"FFF46E\"\n },\n {\n \"name\": \"Barley White\",\n \"hex\": \"FFF4CE\"\n },\n {\n \"name\": \"Egg Sour\",\n \"hex\": \"FFF4DD\"\n },\n {\n \"name\": \"Sazerac\",\n \"hex\": \"FFF4E0\"\n },\n {\n \"name\": \"Serenade\",\n \"hex\": \"FFF4E8\"\n },\n {\n \"name\": \"Chablis\",\n \"hex\": \"FFF4F3\"\n },\n {\n \"name\": \"Seashell Peach\",\n \"hex\": \"FFF5EE\"\n },\n {\n \"name\": \"Sauvignon\",\n \"hex\": \"FFF5F3\"\n },\n {\n \"name\": \"Milk Punch\",\n \"hex\": \"FFF6D4\"\n },\n {\n \"name\": \"Varden\",\n \"hex\": \"FFF6DF\"\n },\n {\n \"name\": \"Rose White\",\n \"hex\": \"FFF6F5\"\n },\n {\n \"name\": \"Baja White\",\n \"hex\": \"FFF8D1\"\n },\n {\n \"name\": \"Gin Fizz\",\n \"hex\": \"FFF9E2\"\n },\n {\n \"name\": \"Early Dawn\",\n \"hex\": \"FFF9E6\"\n },\n {\n \"name\": \"Lemon Chiffon\",\n \"hex\": \"FFFACD\"\n },\n {\n \"name\": \"Bridal Heath\",\n \"hex\": \"FFFAF4\"\n },\n {\n \"name\": \"Scotch Mist\",\n \"hex\": \"FFFBDC\"\n },\n {\n \"name\": \"Soapstone\",\n \"hex\": \"FFFBF9\"\n },\n {\n \"name\": \"Witch Haze\",\n \"hex\": \"FFFC99\"\n },\n {\n \"name\": \"Buttery White\",\n \"hex\": \"FFFCEA\"\n },\n {\n \"name\": \"Island Spice\",\n \"hex\": \"FFFCEE\"\n },\n {\n \"name\": \"Cream\",\n \"hex\": \"FFFDD0\"\n },\n {\n \"name\": \"Chilean Heath\",\n \"hex\": \"FFFDE6\"\n },\n {\n \"name\": \"Travertine\",\n \"hex\": \"FFFDE8\"\n },\n {\n \"name\": \"Orchid White\",\n \"hex\": \"FFFDF3\"\n },\n {\n \"name\": \"Quarter Pearl Lusta\",\n \"hex\": \"FFFDF4\"\n },\n {\n \"name\": \"Half and Half\",\n \"hex\": \"FFFEE1\"\n },\n {\n \"name\": \"Apricot White\",\n \"hex\": \"FFFEEC\"\n },\n {\n \"name\": \"Rice Cake\",\n \"hex\": \"FFFEF0\"\n },\n {\n \"name\": \"Black White\",\n \"hex\": \"FFFEF6\"\n },\n {\n \"name\": \"Romance\",\n \"hex\": \"FFFEFD\"\n },\n {\n \"name\": \"Yellow\",\n \"hex\": \"FFFF00\"\n },\n {\n \"name\": \"Laser Lemon\",\n \"hex\": \"FFFF66\"\n },\n {\n \"name\": \"Pale Canary\",\n \"hex\": \"FFFF99\"\n },\n {\n \"name\": \"Portafino\",\n \"hex\": \"FFFFB4\"\n },\n {\n \"name\": \"Ivory\",\n \"hex\": \"FFFFF0\"\n },\n {\n \"name\": \"White\",\n \"hex\": \"FFFFFF\"\n }\n]\n", "module.exports = [{\n \"name\": \"Mahogany\",\n \"hex\": \"#CD4A4A\"\n},{\n \"name\": \"Fuzzy Wuzzy Brown\",\n \"hex\": \"#CC6666\"\n},{\n \"name\": \"Chestnut\",\n \"hex\": \"#BC5D58\"\n},{\n \"name\": \"Red Orange\",\n \"hex\": \"#FF5349\"\n},{\n \"name\": \"Sunset Orange\",\n \"hex\": \"#FD5E53\"\n},{\n \"name\": \"Bittersweet\",\n \"hex\": \"#FD7C6E\"\n},{\n \"name\": \"Melon\",\n \"hex\": \"#FDBCB4\"\n},{\n \"name\": \"Outrageous Orange\",\n \"hex\": \"#FF6E4A\"\n},{\n \"name\": \"Vivid Tangerine\",\n \"hex\": \"#FFA089\"\n},{\n \"name\": \"Burnt Sienna\",\n \"hex\": \"#EA7E5D\"\n},{\n \"name\": \"Brown\",\n \"hex\": \"#B4674D\"\n},{\n \"name\": \"Sepia\",\n \"hex\": \"#A5694F\"\n},{\n \"name\": \"Orange\",\n \"hex\": \"#FF7538\"\n},{\n \"name\": \"Burnt Orange\",\n \"hex\": \"#FF7F49\"\n},{\n \"name\": \"Copper\",\n \"hex\": \"#DD9475\"\n},{\n \"name\": \"Mango Tango\",\n \"hex\": \"#FF8243\"\n},{\n \"name\": \"Atomic Tangerine\",\n \"hex\": \"#FFA474\"\n},{\n \"name\": \"Beaver\",\n \"hex\": \"#9F8170\"\n},{\n \"name\": \"Antique Brass\",\n \"hex\": \"#CD9575\"\n},{\n \"name\": \"Desert Sand\",\n \"hex\": \"#EFCDB8\"\n},{\n \"name\": \"Raw Sienna\",\n \"hex\": \"#D68A59\"\n},{\n \"name\": \"Tumbleweed\",\n \"hex\": \"#DEAA88\"\n},{\n \"name\": \"Tan\",\n \"hex\": \"#FAA76C\"\n},{\n \"name\": \"Peach\",\n \"hex\": \"#FFCFAB\"\n},{\n \"name\": \"Macaroni and Cheese\",\n \"hex\": \"#FFBD88\"\n},{\n \"name\": \"Apricot\",\n \"hex\": \"#FDD9B5\"\n},{\n \"name\": \"Neon Carrot\",\n \"hex\": \"#FFA343\"\n},{\n \"name\": \"Almond\",\n \"hex\": \"#EFDBC5\"\n},{\n \"name\": \"Yellow Orange\",\n \"hex\": \"#FFB653\"\n},{\n \"name\": \"Gold\",\n \"hex\": \"#E7C697\"\n},{\n \"name\": \"Shadow\",\n \"hex\": \"#8A795D\"\n},{\n \"name\": \"Banana Mania\",\n \"hex\": \"#FAE7B5\"\n},{\n \"name\": \"Sunglow\",\n \"hex\": \"#FFCF48\"\n},{\n \"name\": \"Goldenrod\",\n \"hex\": \"#FCD975\"\n},{\n \"name\": \"Dandelion\",\n \"hex\": \"#FDDB6D\"\n},{\n \"name\": \"Yellow\",\n \"hex\": \"#FCE883\"\n},{\n \"name\": \"Green Yellow\",\n \"hex\": \"#F0E891\"\n},{\n \"name\": \"Spring Green\",\n \"hex\": \"#ECEABE\"\n},{\n \"name\": \"Olive Green\",\n \"hex\": \"#BAB86C\"\n},{\n \"name\": \"Laser Lemon\",\n \"hex\": \"#FDFC74\"\n},{\n \"name\": \"Unmellow Yellow\",\n \"hex\": \"#FDFC74\"\n},{\n \"name\": \"Canary\",\n \"hex\": \"#FFFF99\"\n},{\n \"name\": \"Yellow Green\",\n \"hex\": \"#C5E384\"\n},{\n \"name\": \"Inch Worm\",\n \"hex\": \"#B2EC5D\"\n},{\n \"name\": \"Asparagus\",\n \"hex\": \"#87A96B\"\n},{\n \"name\": \"Granny Smith Apple\",\n \"hex\": \"#A8E4A0\"\n},{\n \"name\": \"Electric Lime\",\n \"hex\": \"#1DF914\"\n},{\n \"name\": \"Screamin Green\",\n \"hex\": \"#76FF7A\"\n},{\n \"name\": \"Fern\",\n \"hex\": \"#71BC78\"\n},{\n \"name\": \"Forest Green\",\n \"hex\": \"#6DAE81\"\n},{\n \"name\": \"Sea Green\",\n \"hex\": \"#9FE2BF\"\n},{\n \"name\": \"Green\",\n \"hex\": \"#1CAC78\"\n},{\n \"name\": \"Mountain Meadow\",\n \"hex\": \"#30BA8F\"\n},{\n \"name\": \"Shamrock\",\n \"hex\": \"#45CEA2\"\n},{\n \"name\": \"Jungle Green\",\n \"hex\": \"#3BB08F\"\n},{\n \"name\": \"Caribbean Green\",\n \"hex\": \"#1CD3A2\"\n},{\n \"name\": \"Tropical Rain Forest\",\n \"hex\": \"#17806D\"\n},{\n \"name\": \"Pine Green\",\n \"hex\": \"#158078\"\n},{\n \"name\": \"Robin Egg Blue\",\n \"hex\": \"#1FCECB\"\n},{\n \"name\": \"Aquamarine\",\n \"hex\": \"#78DBE2\"\n},{\n \"name\": \"Turquoise Blue\",\n \"hex\": \"#77DDE7\"\n},{\n \"name\": \"Sky Blue\",\n \"hex\": \"#80DAEB\"\n},{\n \"name\": \"Outer Space\",\n \"hex\": \"#414A4C\"\n},{\n \"name\": \"Blue Green\",\n \"hex\": \"#199EBD\"\n},{\n \"name\": \"Pacific Blue\",\n \"hex\": \"#1CA9C9\"\n},{\n \"name\": \"Cerulean\",\n \"hex\": \"#1DACD6\"\n},{\n \"name\": \"Cornflower\",\n \"hex\": \"#9ACEEB\"\n},{\n \"name\": \"Midnight Blue\",\n \"hex\": \"#1A4876\"\n},{\n \"name\": \"Navy Blue\",\n \"hex\": \"#1974D2\"\n},{\n \"name\": \"Denim\",\n \"hex\": \"#2B6CC4\"\n},{\n \"name\": \"Blue\",\n \"hex\": \"#1F75FE\"\n},{\n \"name\": \"Periwinkle\",\n \"hex\": \"#C5D0E6\"\n},{\n \"name\": \"Cadet Blue\",\n \"hex\": \"#B0B7C6\"\n},{\n \"name\": \"Indigo\",\n \"hex\": \"#5D76CB\"\n},{\n \"name\": \"Wild Blue Yonder\",\n \"hex\": \"#A2ADD0\"\n},{\n \"name\": \"Manatee\",\n \"hex\": \"#979AAA\"\n},{\n \"name\": \"Blue Bell\",\n \"hex\": \"#ADADD6\"\n},{\n \"name\": \"Blue Violet\",\n \"hex\": \"#7366BD\"\n},{\n \"name\": \"Purple Heart\",\n \"hex\": \"#7442C8\"\n},{\n \"name\": \"Royal Purple\",\n \"hex\": \"#7851A9\"\n},{\n \"name\": \"Purple Mountains\u2019 Majesty\",\n \"hex\": \"#9D81BA\"\n},{\n \"name\": \"Violet (Purple)\",\n \"hex\": \"#926EAE\"\n},{\n \"name\": \"Wisteria\",\n \"hex\": \"#CDA4DE\"\n},{\n \"name\": \"Vivid Violet\",\n \"hex\": \"#8F509D\"\n},{\n \"name\": \"Fuchsia\",\n \"hex\": \"#C364C5\"\n},{\n \"name\": \"Shocking Pink\",\n \"hex\": \"#FB7EFD\"\n},{\n \"name\": \"Pink Flamingo\",\n \"hex\": \"#FC74FD\"\n},{\n \"name\": \"Plum\",\n \"hex\": \"#8E4585\"\n},{\n \"name\": \"Hot Magenta\",\n \"hex\": \"#FF1DCE\"\n},{\n \"name\": \"Purple Pizzazz\",\n \"hex\": \"#FF1DCE\"\n},{\n \"name\": \"Razzle Dazzle Rose\",\n \"hex\": \"#FF48D0\"\n},{\n \"name\": \"Orchid\",\n \"hex\": \"#E6A8D7\"\n},{\n \"name\": \"Red Violet\",\n \"hex\": \"#C0448F\"\n},{\n \"name\": \"Eggplant\",\n \"hex\": \"#6E5160\"\n},{\n \"name\": \"Cerise\",\n \"hex\": \"#DD4492\"\n},{\n \"name\": \"Wild Strawberry\",\n \"hex\": \"#FF43A4\"\n},{\n \"name\": \"Magenta\",\n \"hex\": \"#F664AF\"\n},{\n \"name\": \"Lavender\",\n \"hex\": \"#FCB4D5\"\n},{\n \"name\": \"Cotton Candy\",\n \"hex\": \"#FFBCD9\"\n},{\n \"name\": \"Violet Red\",\n \"hex\": \"#F75394\"\n},{\n \"name\": \"Carnation Pink\",\n \"hex\": \"#FFAACC\"\n},{\n \"name\": \"Razzmatazz\",\n \"hex\": \"#E3256B\"\n},{\n \"name\": \"Piggy Pink\",\n \"hex\": \"#FDD7E4\"\n},{\n \"name\": \"Jazzberry Jam\",\n \"hex\": \"#CA3767\"\n},{\n \"name\": \"Blush\",\n \"hex\": \"#DE5D83\"\n},{\n \"name\": \"Tickle Me Pink\",\n \"hex\": \"#FC89AC\"\n},{\n \"name\": \"Pink Sherbet\",\n \"hex\": \"#F780A1\"\n},{\n \"name\": \"Maroon\",\n \"hex\": \"#C8385A\"\n},{\n \"name\": \"Red\",\n \"hex\": \"#EE204D\"\n},{\n \"name\": \"Radical Red\",\n \"hex\": \"#FF496C\"\n},{\n \"name\": \"Mauvelous\",\n \"hex\": \"#EF98AA\"\n},{\n \"name\": \"Wild Watermelon\",\n \"hex\": \"#FC6C85\"\n},{\n \"name\": \"Scarlet\",\n \"hex\": \"#FC2847\"\n},{\n \"name\": \"Salmon\",\n \"hex\": \"#FF9BAA\"\n},{\n \"name\": \"Brick Red\",\n \"hex\": \"#CB4154\"\n},{\n \"name\": \"White\",\n \"hex\": \"#EDEDED\"\n},{\n \"name\": \"Timberwolf\",\n \"hex\": \"#DBD7D2\"\n},{\n \"name\": \"Silver\",\n \"hex\": \"#CDC5C2\"\n},{\n \"name\": \"Gray\",\n \"hex\": \"#95918C\"\n},{\n \"name\": \"Black\",\n \"hex\": \"#232323\"\n}]\n", "module.exports = [\n { name: 'red', hex: '#FF0000' },\n { name: 'orange', hex: '#FFA500' },\n { name: 'yellow', hex: '#FFFF00' },\n { name: 'green', hex: '#008000' },\n { name: 'blue', hex: '#0000FF' },\n { name: 'indigo', hex: '#4B0082' },\n { name: 'violet', hex: '#EE82EE' }\n]\n", "module.exports = [{\n name: 'indigo',\n hex: '#4b0082'\n}, {\n name: 'gold',\n hex: '#ffd700'\n}, {\n name: 'hotpink',\n hex: '#ff69b4'\n}, {\n name: 'firebrick',\n hex: '#b22222'\n}, {\n name: 'indianred',\n hex: '#cd5c5c'\n}, {\n name: 'yellow',\n hex: '#ffff00'\n}, {\n name: 'mistyrose',\n hex: '#ffe4e1'\n}, {\n name: 'darkolivegreen',\n hex: '#556b2f'\n}, {\n name: 'olive',\n hex: '#808000'\n}, {\n name: 'darkseagreen',\n hex: '#8fbc8f'\n}, {\n name: 'pink',\n hex: '#ffc0cb'\n}, {\n name: 'tomato',\n hex: '#ff6347'\n}, {\n name: 'lightcoral',\n hex: '#f08080'\n}, {\n name: 'orangered',\n hex: '#ff4500'\n}, {\n name: 'navajowhite',\n hex: '#ffdead'\n}, {\n name: 'lime',\n hex: '#00ff00'\n}, {\n name: 'palegreen',\n hex: '#98fb98'\n}, {\n name: 'darkslategrey',\n hex: '#2f4f4f'\n}, {\n name: 'greenyellow',\n hex: '#adff2f'\n}, {\n name: 'burlywood',\n hex: '#deb887'\n}, {\n name: 'seashell',\n hex: '#fff5ee'\n}, {\n name: 'mediumspringgreen',\n hex: '#00fa9a'\n}, {\n name: 'fuchsia',\n hex: '#ff00ff'\n}, {\n name: 'papayawhip',\n hex: '#ffefd5'\n}, {\n name: 'blanchedalmond',\n hex: '#ffebcd'\n}, {\n name: 'chartreuse',\n hex: '#7fff00'\n}, {\n name: 'dimgray',\n hex: '#696969'\n}, {\n name: 'black',\n hex: '#000000'\n}, {\n name: 'peachpuff',\n hex: '#ffdab9'\n}, {\n name: 'springgreen',\n hex: '#00ff7f'\n}, {\n name: 'aquamarine',\n hex: '#7fffd4'\n}, {\n name: 'white',\n hex: '#ffffff'\n}, {\n name: 'orange',\n hex: '#ffa500'\n}, {\n name: 'lightsalmon',\n hex: '#ffa07a'\n}, {\n name: 'darkslategray',\n hex: '#2f4f4f'\n}, {\n name: 'brown',\n hex: '#a52a2a'\n}, {\n name: 'ivory',\n hex: '#fffff0'\n}, {\n name: 'dodgerblue',\n hex: '#1e90ff'\n}, {\n name: 'peru',\n hex: '#cd853f'\n}, {\n name: 'lawngreen',\n hex: '#7cfc00'\n}, {\n name: 'chocolate',\n hex: '#d2691e'\n}, {\n name: 'crimson',\n hex: '#dc143c'\n}, {\n name: 'forestgreen',\n hex: '#228b22'\n}, {\n name: 'darkgrey',\n hex: '#a9a9a9'\n}, {\n name: 'lightseagreen',\n hex: '#20b2aa'\n}, {\n name: 'cyan',\n hex: '#00ffff'\n}, {\n name: 'mintcream',\n hex: '#f5fffa'\n}, {\n name: 'silver',\n hex: '#c0c0c0'\n}, {\n name: 'antiquewhite',\n hex: '#faebd7'\n}, {\n name: 'mediumorchid',\n hex: '#ba55d3'\n}, {\n name: 'skyblue',\n hex: '#87ceeb'\n}, {\n name: 'gray',\n hex: '#808080'\n}, {\n name: 'darkturquoise',\n hex: '#00ced1'\n}, {\n name: 'goldenrod',\n hex: '#daa520'\n}, {\n name: 'darkgreen',\n hex: '#006400'\n}, {\n name: 'floralwhite',\n hex: '#fffaf0'\n}, {\n name: 'darkviolet',\n hex: '#9400d3'\n}, {\n name: 'darkgray',\n hex: '#a9a9a9'\n}, {\n name: 'moccasin',\n hex: '#ffe4b5'\n}, {\n name: 'saddlebrown',\n hex: '#8b4513'\n}, {\n name: 'grey',\n hex: '#808080'\n}, {\n name: 'darkslateblue',\n hex: '#483d8b'\n}, {\n name: 'lightskyblue',\n hex: '#87cefa'\n}, {\n name: 'lightpink',\n hex: '#ffb6c1'\n}, {\n name: 'mediumvioletred',\n hex: '#c71585'\n}, {\n name: 'slategrey',\n hex: '#708090'\n}, {\n name: 'red',\n hex: '#ff0000'\n}, {\n name: 'deeppink',\n hex: '#ff1493'\n}, {\n name: 'limegreen',\n hex: '#32cd32'\n}, {\n name: 'darkmagenta',\n hex: '#8b008b'\n}, {\n name: 'palegoldenrod',\n hex: '#eee8aa'\n}, {\n name: 'plum',\n hex: '#dda0dd'\n}, {\n name: 'turquoise',\n hex: '#40e0d0'\n}, {\n name: 'lightgrey',\n hex: '#d3d3d3'\n}, {\n name: 'lightgoldenrodyellow',\n hex: '#fafad2'\n}, {\n name: 'darkgoldenrod',\n hex: '#b8860b'\n}, {\n name: 'lavender',\n hex: '#e6e6fa'\n}, {\n name: 'maroon',\n hex: '#800000'\n}, {\n name: 'yellowgreen',\n hex: '#9acd32'\n}, {\n name: 'sandybrown',\n hex: '#f4a460'\n}, {\n name: 'thistle',\n hex: '#d8bfd8'\n}, {\n name: 'violet',\n hex: '#ee82ee'\n}, {\n name: 'navy',\n hex: '#000080'\n}, {\n name: 'magenta',\n hex: '#ff00ff'\n}, {\n name: 'dimgrey',\n hex: '#696969'\n}, {\n name: 'tan',\n hex: '#d2b48c'\n}, {\n name: 'rosybrown',\n hex: '#bc8f8f'\n}, {\n name: 'olivedrab',\n hex: '#6b8e23'\n}, {\n name: 'blue',\n hex: '#0000ff'\n}, {\n name: 'lightblue',\n hex: '#add8e6'\n}, {\n name: 'ghostwhite',\n hex: '#f8f8ff'\n}, {\n name: 'honeydew',\n hex: '#f0fff0'\n}, {\n name: 'cornflowerblue',\n hex: '#6495ed'\n}, {\n name: 'slateblue',\n hex: '#6a5acd'\n}, {\n name: 'linen',\n hex: '#faf0e6'\n}, {\n name: 'darkblue',\n hex: '#00008b'\n}, {\n name: 'powderblue',\n hex: '#b0e0e6'\n}, {\n name: 'seagreen',\n hex: '#2e8b57'\n}, {\n name: 'darkkhaki',\n hex: '#bdb76b'\n}, {\n name: 'snow',\n hex: '#fffafa'\n}, {\n name: 'sienna',\n hex: '#a0522d'\n}, {\n name: 'mediumblue',\n hex: '#0000cd'\n}, {\n name: 'royalblue',\n hex: '#4169e1'\n}, {\n name: 'lightcyan',\n hex: '#e0ffff'\n}, {\n name: 'green',\n hex: '#008000'\n}, {\n name: 'mediumpurple',\n hex: '#9370db'\n}, {\n name: 'midnightblue',\n hex: '#191970'\n}, {\n name: 'cornsilk',\n hex: '#fff8dc'\n}, {\n name: 'paleturquoise',\n hex: '#afeeee'\n}, {\n name: 'bisque',\n hex: '#ffe4c4'\n}, {\n name: 'slategray',\n hex: '#708090'\n}, {\n name: 'darkcyan',\n hex: '#008b8b'\n}, {\n name: 'khaki',\n hex: '#f0e68c'\n}, {\n name: 'wheat',\n hex: '#f5deb3'\n}, {\n name: 'teal',\n hex: '#008080'\n}, {\n name: 'darkorchid',\n hex: '#9932cc'\n}, {\n name: 'deepskyblue',\n hex: '#00bfff'\n}, {\n name: 'salmon',\n hex: '#fa8072'\n}, {\n name: 'darkred',\n hex: '#8b0000'\n}, {\n name: 'steelblue',\n hex: '#4682b4'\n}, {\n name: 'palevioletred',\n hex: '#db7093'\n}, {\n name: 'lightslategray',\n hex: '#778899'\n}, {\n name: 'aliceblue',\n hex: '#f0f8ff'\n}, {\n name: 'lightslategrey',\n hex: '#778899'\n}, {\n name: 'lightgreen',\n hex: '#90ee90'\n}, {\n name: 'orchid',\n hex: '#da70d6'\n}, {\n name: 'gainsboro',\n hex: '#dcdcdc'\n}, {\n name: 'mediumseagreen',\n hex: '#3cb371'\n}, {\n name: 'lightgray',\n hex: '#d3d3d3'\n}, {\n name: 'mediumturquoise',\n hex: '#48d1cc'\n}, {\n name: 'lemonchiffon',\n hex: '#fffacd'\n}, {\n name: 'cadetblue',\n hex: '#5f9ea0'\n}, {\n name: 'lightyellow',\n hex: '#ffffe0'\n}, {\n name: 'lavenderblush',\n hex: '#fff0f5'\n}, {\n name: 'coral',\n hex: '#ff7f50'\n}, {\n name: 'purple',\n hex: '#800080'\n}, {\n name: 'aqua',\n hex: '#00ffff'\n}, {\n name: 'whitesmoke',\n hex: '#f5f5f5'\n}, {\n name: 'mediumslateblue',\n hex: '#7b68ee'\n}, {\n name: 'darkorange',\n hex: '#ff8c00'\n}, {\n name: 'mediumaquamarine',\n hex: '#66cdaa'\n}, {\n name: 'darksalmon',\n hex: '#e9967a'\n}, {\n name: 'beige',\n hex: '#f5f5dc'\n}, {\n name: 'blueviolet',\n hex: '#8a2be2'\n}, {\n name: 'azure',\n hex: '#f0ffff'\n}, {\n name: 'lightsteelblue',\n hex: '#b0c4de'\n}, {\n name: 'oldlace',\n hex: '#fdf5e6'\n}]\n", "\"use strict\";\n\nvar chroma = require('chroma-js')\nvar WeakMap = require(\"es6-weak-map\")\n\n// These `require` statements are all explicit\n// to keep the browserify build from breaking\nvar lists = {\n basic: require('./lib/colors/basic'),\n html: require('./lib/colors/html'),\n ntc: require('./lib/colors/ntc'),\n pantone: require('./lib/colors/pantone'),\n roygbiv: require('./lib/colors/roygbiv'),\n x11: require('./lib/colors/x11')\n}\n\nvar cache = new WeakMap()\nvar namer = module.exports = function(color, options) {\n options = options || {}\n\n var cacheKey = {color, options}\n if (cache.has(cacheKey)) {\n return cache.get(cacheKey)\n }\n\n var deltaE = String(options.distance).toLowerCase() === 'deltae';\n color = chroma(color)\n var results = {}\n for (var key in lists) {\n if (options.pick && options.pick.indexOf(key) === -1) {\n continue\n }\n if (options.omit && options.omit.indexOf(key) !== -1) {\n continue\n }\n results[key] = lists[key]\n .map (function(name) {\n name.distance = deltaE ? chroma.deltaE(color, chroma(name.hex)) : chroma.distance(color, chroma(name.hex))\n return name\n })\n .sort (function(a, b) {\n return a.distance - b.distance\n })\n }\n cache.set(cacheKey, results)\n return results\n}\n\nnamer.chroma = chroma\nnamer.lists = lists\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 this.size = 0;\n}\n\nmodule.exports = listCacheClear;\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\nmodule.exports = eq;\n", "var eq = require('./eq');\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\nmodule.exports = assocIndexOf;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\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 --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n", "var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheGet;\n", "var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheHas;\n", "var assocIndexOf = require('./_assocIndexOf');\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 ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n", "var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = ListCache;\n", "var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n", "/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\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 stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n", "/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n", "/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\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 stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n", "/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\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 root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\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 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", "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", "/**\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", "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", "var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n", "var coreJsData = require('./_coreJsData');\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/**\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\nmodule.exports = isMasked;\n", "/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\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\nmodule.exports = toSource;\n", "var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\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 for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\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/** 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/**\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) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\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\nmodule.exports = getValue;\n", "var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\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\nmodule.exports = getNative;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n", "var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n", "var nativeCreate = require('./_nativeCreate');\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 this.size = 0;\n}\n\nmodule.exports = hashClear;\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 var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 * 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\nmodule.exports = hashGet;\n", "var nativeCreate = require('./_nativeCreate');\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 * 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\nmodule.exports = hashHas;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n", "var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = Hash;\n", "var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\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.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\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\nmodule.exports = isKeyable;\n", "var isKeyable = require('./_isKeyable');\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\nmodule.exports = getMapData;\n", "var getMapData = require('./_getMapData');\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 var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n", "var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheGet;\n", "var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheHas;\n", "var getMapData = require('./_getMapData');\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 var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n", "var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\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 == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\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\nmodule.exports = MapCache;\n", "var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n", "var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n", "/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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\nmodule.exports = setCacheAdd;\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\nmodule.exports = setCacheHas;\n", "var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\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 == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n", "/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\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\nmodule.exports = cacheHas;\n", "var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n", "var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n", "/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n", "/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n", "var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\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\nmodule.exports = arrayPush;\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 arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\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\nmodule.exports = baseGetAllKeys;\n", "/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\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 = stubArray;\n", "var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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 nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols 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 ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\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 * 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 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 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 * 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", "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", "/** 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 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", "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", "/**\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", "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", "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 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", "/** 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", "/**\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 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 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", "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 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", "var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and 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 getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n", "var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\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 * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n", "var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n", "var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\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 * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n", "var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n", "var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n", "var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n", "var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n", "/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n", "var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n", "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\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\nmodule.exports = isSymbol;\n", "var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n", "var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n", "var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n", "var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\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 == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n", "var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n", "var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n", "var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n", "var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\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\nmodule.exports = toKey;\n", "var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n", "var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n", "/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n", "var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n", "var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n", "var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n", "/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n", "/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n", "var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n", "var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n", "var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\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\nmodule.exports = baseFindIndex;\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\nmodule.exports = baseIsNaN;\n", "/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\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 strictIndexOf(array, value, fromIndex) {\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\nmodule.exports = strictIndexOf;\n", "var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\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 return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n", "var baseIndexOf = require('./_baseIndexOf');\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 == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\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 == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\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", "var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n", "var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\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 seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n", "var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n", "import { Clipboard, closeMainWindow, launchCommand, LaunchType, getPreferenceValues, showHUD } from \"@raycast/api\";\nimport { showFailureToast } from \"@raycast/utils\";\nimport { callbackLaunchCommand } from \"raycast-cross-extension\";\nimport colorNamer from \"color-namer\";\nimport { pickColor } from \"swift:../swift/color-picker\";\nimport { addToHistory } from \"./history\";\nimport { Color, PickColorCommandLaunchProps } from \"./types\";\nimport { getFormattedColor, getColorByProximity } from \"./utils\";\n\nexport default async function command(props: PickColorCommandLaunchProps) {\n const { showColorName } = getPreferenceValues<Preferences.PickColor>();\n await closeMainWindow();\n\n try {\n const pickedColor = (await pickColor()) as Color | undefined;\n if (!pickedColor) {\n return;\n }\n\n addToHistory(pickedColor);\n\n const hex = getFormattedColor(pickedColor);\n if (!hex) {\n throw new Error(\"Failed to format color\");\n }\n\n if (props.launchContext?.callbackLaunchOptions) {\n if (props.launchContext?.copyToClipboard) {\n await Clipboard.copy(hex);\n }\n\n try {\n await callbackLaunchCommand(props.launchContext.callbackLaunchOptions, { hex });\n } catch (e) {\n await showFailureToast(e);\n }\n } else {\n await Clipboard.copy(hex);\n if (showColorName) {\n const colors = colorNamer(hex);\n const colorsByDistance = getColorByProximity(colors);\n const firstColorName = colorsByDistance[0]?.name;\n await showHUD(`Copied color ${hex} (${firstColorName}) to clipboard`);\n } else {\n await showHUD(`Copied color ${hex} to clipboard`);\n }\n }\n\n try {\n await launchCommand({ name: \"menu-bar\", type: LaunchType.Background });\n } catch (e) {\n if (!(e instanceof Error && e.message.includes(\"must be activated\"))) {\n await showFailureToast(e);\n }\n }\n\n if (props.launchContext?.source === \"organize-colors\") {\n try {\n await launchCommand({ name: \"organize-colors\", type: LaunchType.UserInitiated });\n } catch (e) {\n await showFailureToast(e);\n }\n }\n } catch (e) {\n console.error(e);\n\n await showHUD(\"\u274C Failed picking color\");\n }\n}\n", "\nimport { environment } from \"@raycast/api\";\nimport { join } from \"path\";\nimport { chmod } from \"fs/promises\";\nimport { spawn } from \"child_process\";\n\nasync function runSwiftFunction(command, ...args) {\n const swiftPath = join(environment.assetsPath, \"compiled_raycast_swift/color-picker\");\n await chmod(swiftPath, \"755\");\n\n return new Promise((resolve, reject) => {\n const commandArgs = [command];\n for (const arg of args) {\n try {\n commandArgs.push(JSON.stringify(arg, (k, v) => v === undefined ? null : v));\n } catch (err) {\n reject(new SwiftError(\"Failed to serialize input to JSON: \" + err.message));\n return;\n }\n }\n const child = spawn(swiftPath, commandArgs);\n const stdout = [];\n const stderr = [];\n\n child.stdout?.on(\"data\", (data) => {\n stdout.push(data.toString());\n });\n child.stderr?.on(\"data\", (data) => {\n stderr.push(data.toString());\n });\n\n child.on(\"exit\", (code) => {\n if (code === 0) {\n try {\n const result = stdout.join(\"\").trim();\n if (result.length != 0) {\n resolve(JSON.parse(result));\n } else {\n resolve(null);\n }\n } catch (err) {\n const error = new SwiftError(\"Failed to deserialize result from JSON: \" + err.message);\n error.stdout = stdout.join(\"\").trim();\n error.stderr = stderr.join(\"\").trim();\n reject(error);\n }\n } else {\n const error = new SwiftError(stderr.join(\"\").trim() || stdout.join(\"\").trim() || \"Could not get any data\");\n error.stdout = stdout.join(\"\").trim();\n error.stderr = stderr.join(\"\").trim();\n reject(error);\n }\n });\n\n child.on(\"error\", (error) => {\n reject(error);\n });\n });\n}\n\nexport async function pickColor() {\n return await runSwiftFunction(\"pickColor\")\n}\n\nexport class SwiftError extends Error {\n constructor(message) {\n super(message);\n this.name = \"SwiftError\";\n }\n}\n", "import { Cache } from \"@raycast/api\";\nimport { useCachedState } from \"@raycast/utils\";\nimport { HistoryColor, HistoryItem } from \"./types\";\nimport { getFormattedColor } from \"./utils\";\n\nconst MAX_HISTORY_LENGTH = 200;\n\nexport function useHistory() {\n const [history, setHistory] = useCachedState<HistoryItem[]>(\"history\", []);\n return {\n history,\n remove: (color: HistoryColor) =>\n setHistory((previousHistory) => {\n return previousHistory.filter((item) => getFormattedColor(item.color) !== getFormattedColor(color));\n }),\n edit: (historyItem: HistoryItem) =>\n setHistory((previousHistory) => {\n return previousHistory.map((item) =>\n getFormattedColor(item.color) === getFormattedColor(historyItem.color) ? historyItem : item,\n );\n }),\n clear: () => setHistory([]),\n };\n}\n\nexport function addToHistory(color: HistoryColor) {\n const cache = new Cache();\n\n const serializedHistory = cache.get(\"history\");\n const previousHistory = serializedHistory ? (JSON.parse(serializedHistory) as HistoryItem[]) : [];\n\n const historyItem: HistoryItem = { date: new Date().toISOString(), color };\n const newHistory = [\n historyItem,\n ...previousHistory.filter((item) => getFormattedColor(item.color) !== getFormattedColor(color)),\n ].slice(0, MAX_HISTORY_LENGTH);\n\n cache.set(\"history\", JSON.stringify(newHistory));\n}\n", "import { getPreferenceValues, Icon, Image, Keyboard, List } from \"@raycast/api\";\nimport ColorJS from \"colorjs.io\";\nimport { Colors, Palette } from \"color-namer\";\nimport uniqBy from \"lodash/uniqBy\";\nimport { HistoryColor, HistoryItem } from \"./types\";\nimport { ColorFormatType } from \"./types\";\n\nconst preferences = getPreferenceValues<ExtensionPreferences>();\n\nexport function getFormattedColor(_color: HistoryColor, format?: ColorFormatType) {\n let color;\n if (typeof _color === \"string\") {\n color = new ColorJS(_color);\n } else if (\"colorSpace\" in _color) {\n color = new ColorJS(_color.colorSpace, [_color.red, _color.green, _color.blue], _color.alpha);\n } else {\n color = new ColorJS(\"srgb\", [_color.red / 255, _color.green / 255, _color.blue / 255], _color.alpha);\n }\n\n switch (format || preferences.colorFormat) {\n default:\n case \"hex\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).toUpperCase();\n }\n case \"hex-lower-case\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).toLowerCase();\n }\n case \"hex-no-prefix\": {\n return color.to(\"srgb\").toString({ format: \"hex\" }).replace(\"#\", \"\");\n }\n case \"rgb\": {\n return color.to(\"srgb\").toString({ format: \"rgb_number\" });\n }\n case \"rgb-percentage\": {\n return color.to(\"srgb\").toString({ format: \"rgb\" });\n }\n case \"rgba\": {\n return color.to(\"srgb\").toString({ format: \"rgba_number\" });\n }\n case \"rgba-percentage\": {\n return color.to(\"srgb\").toString({ format: \"rgba\" });\n }\n case \"hsla\": {\n return color.to(\"hsl\").toString({ format: \"hsla\" });\n }\n case \"hsva\": {\n return color.to(\"hsv\").toString({ format: \"color\" });\n }\n case \"oklch\": {\n const oklchColor = color.to(\"oklch\");\n const [l, c, h] = oklchColor.coords;\n const lPercentage = (l * 100).toFixed(2);\n return `oklch(${lPercentage}% ${c} ${h})`;\n }\n case \"lch\": {\n const lchColor = color.to(\"lch\");\n const [l, c, h] = lchColor.coords;\n return `lch(${l.toFixed(2)}% ${c} ${h})`;\n }\n case \"p3\": {\n return color.to(\"p3\").toString({ format: \"p3\" });\n }\n }\n}\n\nconst unsupportedPreviewFormats = [\"p3\", \"rgb\", \"rgb-percentage\"];\nexport function getPreviewColor(color: HistoryColor) {\n const formattedColor = getFormattedColor(\n color,\n unsupportedPreviewFormats.includes(preferences.colorFormat) ? \"oklch\" : undefined,\n );\n return formattedColor;\n}\n\nexport function getShortcut(index: number) {\n const key = index + 1;\n\n let shortcut: Keyboard.Shortcut | undefined;\n if (key >= 1 && key <= 9) {\n shortcut = { modifiers: [\"cmd\"], key: String(key) as Keyboard.KeyEquivalent };\n }\n\n return shortcut;\n}\n\nexport function getIcon(color: HistoryColor) {\n const previewColor = typeof color === \"string\" ? color : getFormattedColor(color, \"hex\");\n if (!previewColor) {\n return undefined;\n }\n\n const icon: Image.ImageLike = {\n source: Icon.CircleFilled,\n tintColor: { light: previewColor, dark: previewColor, adjustContrast: false },\n };\n\n return icon;\n}\n\nexport function getAccessories(historyItem: HistoryItem) {\n const accessories = new Array<List.Item.Accessory>();\n accessories.push({ date: new Date(historyItem.date), tooltip: new Date(historyItem.date).toLocaleString() });\n return accessories;\n}\n\nexport function normalizeColorHex(colorInput: string) {\n let hex = colorInput.replace(/^#/, \"\");\n const validHexPattern = /^([a-f\\d]{3,4}|[a-f\\d]{6}|[a-f]\\d{8})$/i;\n if (validHexPattern.test(hex)) {\n switch (hex.length) {\n case 3:\n case 4:\n hex = hex\n .slice(0, 3)\n .split(\"\")\n .map((x) => x.repeat(2))\n .join(\"\");\n break;\n case 8:\n hex = hex.slice(0, 6);\n break;\n }\n }\n return \"#\" + hex.toUpperCase();\n}\n\nexport function getColorByPlatform(normalizedSearchString: string, colors?: Colors<Palette>) {\n return Object.entries(colors ?? {}).sort(([, a], [, b]) => {\n if (normalizeColorHex(a[0].hex) === normalizeColorHex(b[0].hex)) return 0;\n if (normalizedSearchString === normalizeColorHex(a[0].hex)) return -1;\n return 1;\n });\n}\n\nexport function getColorByProximity(colors?: Colors<Palette>) {\n return uniqBy(Object.values(colors ?? {}).flat(), (x) => x.name.toLowerCase()).sort(\n (a, b) => a.distance - b.distance,\n );\n}\n", "// A is m x n. B is n x p. product is m x p.\nexport default function multiplyMatrices (A, B) {\n\tlet m = A.length;\n\n\tif (!Array.isArray(A[0])) {\n\t\t// A is vector, convert to [[a, b, c, ...]]\n\t\tA = [A];\n\t}\n\n\tif (!Array.isArray(B[0])) {\n\t\t// B is vector, convert to [[a], [b], [c], ...]]\n\t\tB = B.map(x => [x]);\n\t}\n\n\tlet p = B[0].length;\n\tlet B_cols = B[0].map((_, i) => B.map(x => x[i])); // transpose B\n\tlet product = A.map(row => B_cols.map(col => {\n\t\tlet ret = 0;\n\n\t\tif (!Array.isArray(row)) {\n\t\t\tfor (let c of col) {\n\t\t\t\tret += row * c;\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t}\n\n\t\tfor (let i = 0; i < row.length; i++) {\n\t\t\tret += row[i] * (col[i] || 0);\n\t\t}\n\n\t\treturn ret;\n\t}));\n\n\tif (m === 1) {\n\t\tproduct = product[0]; // Avoid [[a, b, c, ...]]\n\t}\n\n\tif (p === 1) {\n\t\treturn product.map(x => x[0]); // Avoid [[a], [b], [c], ...]]\n\t}\n\n\treturn product;\n}\n", "/**\n * Various utility functions\n */\n\nexport {default as multiplyMatrices} from \"./multiply-matrices.js\";\n\n/**\n * Check if a value is a string (including a String object)\n * @param {*} str - Value to check\n * @returns {boolean}\n */\nexport function isString (str) {\n\treturn type(str) === \"string\";\n}\n\n/**\n * Determine the internal JavaScript [[Class]] of an object.\n * @param {*} o - Value to check\n * @returns {string}\n */\nexport function type (o) {\n\tlet str = Object.prototype.toString.call(o);\n\n\treturn (str.match(/^\\[object\\s+(.*?)\\]$/)[1] || \"\").toLowerCase();\n}\n\nexport function serializeNumber (n, {precision, unit }) {\n\tif (isNone(n)) {\n\t\treturn \"none\";\n\t}\n\n\treturn toPrecision(n, precision) + (unit ?? \"\");\n}\n\n/**\n * Check if a value corresponds to a none argument\n * @param {*} n - Value to check\n * @returns {boolean}\n */\nexport function isNone (n) {\n\treturn Number.isNaN(n) || (n instanceof Number && n?.none);\n}\n\n/**\n * Replace none values with 0\n */\nexport function skipNone (n) {\n\treturn isNone(n) ? 0 : n;\n}\n\n/**\n * Round a number to a certain number of significant digits\n * @param {number} n - The number to round\n * @param {number} precision - Number of significant digits\n */\nexport function toPrecision (n, precision) {\n\tif (n === 0) {\n\t\treturn 0;\n\t}\n\tlet integer = ~~n;\n\tlet digits = 0;\n\tif (integer && precision) {\n\t\tdigits = ~~Math.log10(Math.abs(integer)) + 1;\n\t}\n\tconst multiplier = 10.0 ** (precision - digits);\n\treturn Math.floor(n * multiplier + 0.5) / multiplier;\n}\n\nconst angleFactor = {\n\tdeg: 1,\n\tgrad: 0.9,\n\trad: 180 / Math.PI,\n\tturn: 360,\n};\n\n/**\n* Parse a CSS function, regardless of its name and arguments\n* @param String str String to parse\n* @return {{name, args, rawArgs}}\n*/\nexport function parseFunction (str) {\n\tif (!str) {\n\t\treturn;\n\t}\n\n\tstr = str.trim();\n\n\tconst isFunctionRegex = /^([a-z]+)\\((.+?)\\)$/i;\n\tconst isNumberRegex = /^-?[\\d.]+$/;\n\tconst unitValueRegex = /%|deg|g?rad|turn$/;\n\tconst singleArgument = /\\/?\\s*(none|[-\\w.]+(?:%|deg|g?rad|turn)?)/g;\n\tlet parts = str.match(isFunctionRegex);\n\n\tif (parts) {\n\t\t// It is a function, parse args\n\t\tlet args = [];\n\t\tparts[2].replace(singleArgument, ($0, rawArg) => {\n\t\t\tlet match = rawArg.match(unitValueRegex);\n\t\t\tlet arg = rawArg;\n\n\t\t\tif (match) {\n\t\t\t\tlet unit = match[0];\n\t\t\t\t// Drop unit from value\n\t\t\t\tlet unitlessArg = arg.slice(0, -unit.length);\n\n\t\t\t\tif (unit === \"%\") {\n\t\t\t\t\t// Convert percentages to 0-1 numbers\n\t\t\t\t\targ = new Number(unitlessArg / 100);\n\t\t\t\t\targ.type = \"<percentage>\";\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Multiply angle by appropriate factor for its unit\n\t\t\t\t\targ = new Number(unitlessArg * angleFactor[unit]);\n\t\t\t\t\targ.type = \"<angle>\";\n\t\t\t\t\targ.unit = unit;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (isNumberRegex.test(arg)) {\n\t\t\t\t// Convert numerical args to numbers\n\t\t\t\targ = new Number(arg);\n\t\t\t\targ.type = \"<number>\";\n\t\t\t}\n\t\t\telse if (arg === \"none\") {\n\t\t\t\targ = new Number(NaN);\n\t\t\t\targ.none = true;\n\t\t\t}\n\n\t\t\tif ($0.startsWith(\"/\")) {\n\t\t\t\t// It's alpha\n\t\t\t\targ = arg instanceof Number ? arg : new Number(arg);\n\t\t\t\targ.alpha = true;\n\t\t\t}\n\n\t\t\tif (typeof arg === \"object\" && arg instanceof Number) {\n\t\t\t\targ.raw = rawArg;\n\t\t\t}\n\n\t\t\targs.push(arg);\n\t\t});\n\n\t\treturn {\n\t\t\tname: parts[1].toLowerCase(),\n\t\t\trawName: parts[1],\n\t\t\trawArgs: parts[2],\n\t\t\t// An argument could be (as of css-color-4):\n\t\t\t// a number, percentage, degrees (hue), ident (in color())\n\t\t\targs,\n\t\t};\n\t}\n}\n\nexport function last (arr) {\n\treturn arr[arr.length - 1];\n}\n\nexport function interpolate (start, end, p) {\n\tif (isNaN(start)) {\n\t\treturn end;\n\t}\n\n\tif (isNaN(end)) {\n\t\treturn start;\n\t}\n\n\treturn start + (end - start) * p;\n}\n\nexport function interpolateInv (start, end, value) {\n\treturn (value - start) / (end - start);\n}\n\nexport function mapRange (from, to, value) {\n\treturn interpolate(to[0], to[1], interpolateInv(from[0], from[1], value));\n}\n\nexport function parseCoordGrammar (coordGrammars) {\n\treturn coordGrammars.map(coordGrammar => {\n\t\treturn coordGrammar.split(\"|\").map(type => {\n\t\t\ttype = type.trim();\n\t\t\tlet range = type.match(/^(<[a-z]+>)\\[(-?[.\\d]+),\\s*(-?[.\\d]+)\\]?$/);\n\n\t\t\tif (range) {\n\t\t\t\tlet ret = new String(range[1]);\n\t\t\t\tret.range = [+range[2], +range[3]];\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn type;\n\t\t});\n\t});\n}\n\n/**\n * Clamp value between the minimum and maximum\n * @param {number} min minimum value to return\n * @param {number} val the value to return if it is between min and max\n * @param {number} max maximum value to return\n * @returns number\n */\nexport function clamp (min, val, max) {\n\treturn Math.max(Math.min(max, val), min);\n}\n\n/**\n * Copy sign of one value to another.\n * @param {number} - to number to copy sign to\n * @param {number} - from number to copy sign from\n * @returns number\n */\nexport function copySign (to, from) {\n\treturn Math.sign(to) === Math.sign(from) ? to : -to;\n}\n\n/**\n * Perform pow on a signed number and copy sign to result\n * @param {number} - base the base number\n * @param {number} - exp the exponent\n * @returns number\n */\nexport function spow (base, exp) {\n\treturn copySign(Math.abs(base) ** exp, base);\n}\n\n/**\n * Perform a divide, but return zero if the numerator is zero\n * @param {number} n - the numerator\n * @param {number} d - the denominator\n * @returns number\n */\nexport function zdiv (n, d) {\n\treturn (d === 0) ? 0 : n / d;\n}\n\n/**\n * Perform a bisect on a sorted list and locate the insertion point for\n * a value in arr to maintain sorted order.\n * @param {number[]} arr - array of sorted numbers\n * @param {number} value - value to find insertion point for\n * @param {number} lo - used to specify a the low end of a subset of the list\n * @param {number} hi - used to specify a the high end of a subset of the list\n * @returns number\n */\nexport function bisectLeft (arr, value, lo = 0, hi = arr.length) {\n\twhile (lo < hi) {\n\t\tconst mid = (lo + hi) >> 1;\n\t\tif (arr[mid] < value) {\n\t\t\tlo = mid + 1;\n\t\t}\n\t\telse {\n\t\t\thi = mid;\n\t\t}\n\t}\n\treturn lo;\n}\n", "/**\n * A class for adding deep extensibility to any piece of JS code\n */\nexport class Hooks {\n\tadd (name, callback, first) {\n\t\tif (typeof arguments[0] != \"string\") {\n\t\t\t// Multiple hooks\n\t\t\tfor (var name in arguments[0]) {\n\t\t\t\tthis.add(name, arguments[0][name], arguments[1]);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t(Array.isArray(name) ? name : [name]).forEach(function (name) {\n\t\t\tthis[name] = this[name] || [];\n\n\t\t\tif (callback) {\n\t\t\t\tthis[name][first ? \"unshift\" : \"push\"](callback);\n\t\t\t}\n\t\t}, this);\n\t}\n\n\trun (name, env) {\n\t\tthis[name] = this[name] || [];\n\t\tthis[name].forEach(function (callback) {\n\t\t\tcallback.call(env && env.context ? env.context : env, env);\n\t\t});\n\t}\n}\n\n/**\n * The instance of {@link Hooks} used throughout Color.js\n */\nconst hooks = new Hooks();\n\nexport default hooks;\n", "// Global defaults one may want to configure\nexport default {\n\tgamut_mapping: \"css\",\n\tprecision: 5,\n\tdeltaE: \"76\", // Default deltaE method\n\tverbose: globalThis?.process?.env?.NODE_ENV?.toLowerCase() !== \"test\",\n\twarn: function warn (msg) {\n\t\tif (this.verbose) {\n\t\t\tglobalThis?.console?.warn?.(msg);\n\t\t}\n\t},\n};\n", "import hooks from \"./hooks.js\";\nimport {multiplyMatrices} from \"./util.js\";\n\nexport const WHITES = {\n\t// for compatibility, the four-digit chromaticity-derived ones everyone else uses\n\tD50: [0.3457 / 0.3585, 1.00000, (1.0 - 0.3457 - 0.3585) / 0.3585],\n\tD65: [0.3127 / 0.3290, 1.00000, (1.0 - 0.3127 - 0.3290) / 0.3290],\n};\n\nexport function getWhite (name) {\n\tif (Array.isArray(name)) {\n\t\treturn name;\n\t}\n\n\treturn WHITES[name];\n}\n\n// Adapt XYZ from white point W1 to W2\nexport default function adapt (W1, W2, XYZ, options = {}) {\n\tW1 = getWhite(W1);\n\tW2 = getWhite(W2);\n\n\tif (!W1 || !W2) {\n\t\tthrow new TypeError(`Missing white point to convert ${!W1 ? \"from\" : \"\"}${!W1 && !W2 ? \"/\" : \"\"}${!W2 ? \"to\" : \"\"}`);\n\t}\n\n\tif (W1 === W2) {\n\t\t// Same whitepoints, no conversion needed\n\t\treturn XYZ;\n\t}\n\n\tlet env = {W1, W2, XYZ, options};\n\n\thooks.run(\"chromatic-adaptation-start\", env);\n\n\tif (!env.M) {\n\t\tif (env.W1 === WHITES.D65 && env.W2 === WHITES.D50) {\n\t\t\tenv.M = [\n\t\t\t\t[ 1.0479297925449969, 0.022946870601609652, -0.05019226628920524 ],\n\t\t\t\t[ 0.02962780877005599, 0.9904344267538799, -0.017073799063418826 ],\n\t\t\t\t[ -0.009243040646204504, 0.015055191490298152, 0.7518742814281371 ],\n\t\t\t];\n\t\t}\n\t\telse if (env.W1 === WHITES.D50 && env.W2 === WHITES.D65) {\n\n\t\t\tenv.M = [\n\t\t\t\t[ 0.955473421488075, -0.02309845494876471, 0.06325924320057072 ],\n\t\t\t\t[ -0.0283697093338637, 1.0099953980813041, 0.021041441191917323 ],\n\t\t\t\t[ 0.012314014864481998, -0.020507649298898964, 1.330365926242124 ],\n\t\t\t];\n\t\t}\n\t}\n\n\thooks.run(\"chromatic-adaptation-end\", env);\n\n\tif (env.M) {\n\t\treturn multiplyMatrices(env.M, env.XYZ);\n\t}\n\telse {\n\t\tthrow new TypeError(\"Only Bradford CAT with white points D50 and D65 supported for now.\");\n\t}\n}\n", "import * as util from \"./util.js\";\nimport hooks from \"./hooks.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\n\nconst noneTypes = new Set([\"<number>\", \"<percentage>\", \"<angle>\"]);\n\n/**\n * Validates the coordinates of a color against a format's coord grammar and\n * maps the coordinates to the range or refRange of the coordinates.\n * @param {ColorSpace} space - Colorspace the coords are in\n * @param {object} format - the format object to validate against\n * @param {string} name - the name of the color function. e.g. \"oklab\" or \"color\"\n * @returns {object[]} - an array of type metadata for each coordinate\n */\nfunction coerceCoords (space, format, name, coords) {\n\tlet types = Object.entries(space.coords).map(([id, coordMeta], i) => {\n\t\tlet coordGrammar = format.coordGrammar[i];\n\t\tlet arg = coords[i];\n\t\tlet providedType = arg?.type;\n\n\t\t// Find grammar alternative that matches the provided type\n\t\t// Non-strict equals is intentional because we are comparing w/ string objects\n\t\tlet type;\n\t\tif (arg.none) {\n\t\t\ttype = coordGrammar.find(c => noneTypes.has(c));\n\t\t}\n\t\telse {\n\t\t\ttype = coordGrammar.find(c => c == providedType);\n\t\t}\n\n\t\t// Check that each coord conforms to its grammar\n\t\tif (!type) {\n\t\t\t// Type does not exist in the grammar, throw\n\t\t\tlet coordName = coordMeta.name || id;\n\t\t\tthrow new TypeError(`${providedType ?? arg.raw} not allowed for ${coordName} in ${name}()`);\n\t\t}\n\n\t\tlet fromRange = type.range;\n\n\t\tif (providedType === \"<percentage>\") {\n\t\t\tfromRange ||= [0, 1];\n\t\t}\n\n\t\tlet toRange = coordMeta.range || coordMeta.refRange;\n\n\t\tif (fromRange && toRange) {\n\t\t\tcoords[i] = util.mapRange(fromRange, toRange, coords[i]);\n\t\t}\n\n\t\treturn type;\n\t});\n\n\treturn types;\n}\n\n\n/**\n * Convert a CSS Color string to a color object\n * @param {string} str\n * @param {object} [options]\n * @param {object} [options.meta] - Object for additional information about the parsing\n * @returns {Color}\n */\nexport default function parse (str, {meta} = {}) {\n\tlet env = {\"str\": String(str)?.trim()};\n\thooks.run(\"parse-start\", env);\n\n\tif (env.color) {\n\t\treturn env.color;\n\t}\n\n\tenv.parsed = util.parseFunction(env.str);\n\n\tif (env.parsed) {\n\t\t// Is a functional syntax\n\t\tlet name = env.parsed.name;\n\n\t\tif (name === \"color\") {\n\t\t\t// color() function\n\t\t\tlet id = env.parsed.args.shift();\n\t\t\t// Check against both <dashed-ident> and <ident> versions\n\t\t\tlet alternateId = id.startsWith(\"--\") ? id.substring(2) : `--${id}`;\n\t\t\tlet ids = [id, alternateId];\n\t\t\tlet alpha = env.parsed.rawArgs.indexOf(\"/\") > 0 ? env.parsed.args.pop() : 1;\n\n\t\t\tfor (let space of ColorSpace.all) {\n\t\t\t\tlet colorSpec = space.getFormat(\"color\");\n\n\t\t\t\tif (colorSpec) {\n\t\t\t\t\tif (ids.includes(colorSpec.id) || colorSpec.ids?.filter((specId) => ids.includes(specId)).length) {\n\t\t\t\t\t\t// From https://drafts.csswg.org/css-color-4/#color-function\n\t\t\t\t\t\t// If more <number>s or <percentage>s are provided than parameters that the colorspace takes, the excess <number>s at the end are ignored.\n\t\t\t\t\t\t// If less <number>s or <percentage>s are provided than parameters that the colorspace takes, the missing parameters default to 0. (This is particularly convenient for multichannel printers where the additional inks are spot colors or varnishes that most colors on the page won’t use.)\n\t\t\t\t\t\tconst coords = Object.keys(space.coords).map((_, i) => env.parsed.args[i] || 0);\n\n\t\t\t\t\t\tlet types;\n\n\t\t\t\t\t\tif (colorSpec.coordGrammar) {\n\t\t\t\t\t\t\ttypes = coerceCoords(space, colorSpec, \"color\", coords);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (meta) {\n\t\t\t\t\t\t\tObject.assign(meta, {formatId: \"color\", types});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (colorSpec.id.startsWith(\"--\") && !id.startsWith(\"--\")) {\n\t\t\t\t\t\t\tdefaults.warn(`${space.name} is a non-standard space and not currently supported in the CSS spec. ` +\n\t\t\t\t\t\t\t `Use prefixed color(${colorSpec.id}) instead of color(${id}).`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (id.startsWith(\"--\") && !colorSpec.id.startsWith(\"--\")) {\n\t\t\t\t\t\t\tdefaults.warn(`${space.name} is a standard space and supported in the CSS spec. ` +\n\t\t\t\t\t\t\t `Use color(${colorSpec.id}) instead of prefixed color(${id}).`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {spaceId: space.id, coords, alpha};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Not found\n\t\t\tlet didYouMean = \"\";\n\t\t\tlet registryId = id in ColorSpace.registry ? id : alternateId;\n\t\t\tif (registryId in ColorSpace.registry) {\n\t\t\t\t// Used color space id instead of color() id, these are often different\n\t\t\t\tlet cssId = ColorSpace.registry[registryId].formats?.color?.id;\n\n\t\t\t\tif (cssId) {\n\t\t\t\t\tdidYouMean = `Did you mean color(${cssId})?`;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthrow new TypeError(`Cannot parse color(${id}). ` + (didYouMean || \"Missing a plugin?\"));\n\t\t}\n\t\telse {\n\t\t\tfor (let space of ColorSpace.all) {\n\t\t\t\t// color space specific function\n\t\t\t\tlet format = space.getFormat(name);\n\t\t\t\tif (format && format.type === \"function\") {\n\t\t\t\t\tlet alpha = 1;\n\n\t\t\t\t\tif (format.lastAlpha || util.last(env.parsed.args).alpha) {\n\t\t\t\t\t\talpha = env.parsed.args.pop();\n\t\t\t\t\t}\n\n\t\t\t\t\tlet coords = env.parsed.args;\n\n\t\t\t\t\tlet types;\n\n\t\t\t\t\tif (format.coordGrammar) {\n\t\t\t\t\t\ttypes = coerceCoords(space, format, name, coords);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (meta) {\n\t\t\t\t\t\tObject.assign(meta, {formatId: format.name, types});\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tspaceId: space.id,\n\t\t\t\t\t\tcoords, alpha,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\telse {\n\t\t// Custom, colorspace-specific format\n\t\tfor (let space of ColorSpace.all) {\n\t\t\tfor (let formatId in space.formats) {\n\t\t\t\tlet format = space.formats[formatId];\n\n\t\t\t\tif (format.type !== \"custom\") {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (format.test && !format.test(env.str)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tlet color = format.parse(env.str);\n\n\t\t\t\tif (color) {\n\t\t\t\t\tcolor.alpha ??= 1;\n\n\t\t\t\t\tif (meta) {\n\t\t\t\t\t\tmeta.formatId = formatId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn color;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\n\t// If we're here, we couldn't parse\n\tthrow new TypeError(`Could not parse ${str} as a color. Missing a plugin?`);\n}\n", "import ColorSpace from \"./space.js\";\nimport {isString} from \"./util.js\";\nimport parse from \"./parse.js\";\n\n/**\n * Resolves a color reference (object or string) to a plain color object\n * @param {Color | {space, coords, alpha} | string | Array<Color | {space, coords, alpha} | string> } color\n * @returns {{space, coords, alpha} | Array<{space, coords, alpha}}>\n */\nexport default function getColor (color) {\n\tif (Array.isArray(color)) {\n\t\treturn color.map(getColor);\n\t}\n\n\tif (!color) {\n\t\tthrow new TypeError(\"Empty color reference\");\n\t}\n\n\tif (isString(color)) {\n\t\tcolor = parse(color);\n\t}\n\n\t// Object fixup\n\tlet space = color.space || color.spaceId;\n\n\tif (!(space instanceof ColorSpace)) {\n\t\t// Convert string id to color space object\n\t\tcolor.space = ColorSpace.get(space);\n\t}\n\n\tif (color.alpha === undefined) {\n\t\tcolor.alpha = 1;\n\t}\n\n\treturn color;\n}\n", "import {type, parseCoordGrammar, serializeNumber, mapRange} from \"./util.js\";\nimport {getWhite} from \"./adapt.js\";\nimport hooks from \"./hooks.js\";\nimport getColor from \"./getColor.js\";\n\nconst ε = .000075;\n\n/**\n * Class to represent a color space\n */\nexport default class ColorSpace {\n\tconstructor (options) {\n\t\tthis.id = options.id;\n\t\tthis.name = options.name;\n\t\tthis.base = options.base ? ColorSpace.get(options.base) : null;\n\t\tthis.aliases = options.aliases;\n\n\t\tif (this.base) {\n\t\t\tthis.fromBase = options.fromBase;\n\t\t\tthis.toBase = options.toBase;\n\t\t}\n\n\t\t// Coordinate metadata\n\n\t\tlet coords = options.coords ?? this.base.coords;\n\n\t\tfor (let name in coords) {\n\t\t\tif (!(\"name\" in coords[name])) {\n\t\t\t\tcoords[name].name = name;\n\t\t\t}\n\t\t}\n\t\tthis.coords = coords;\n\n\t\t// White point\n\n\t\tlet white = options.white ?? this.base.white ?? \"D65\";\n\t\tthis.white = getWhite(white);\n\n\t\t// Sort out formats\n\n\t\tthis.formats = options.formats ?? {};\n\n\t\tfor (let name in this.formats) {\n\t\t\tlet format = this.formats[name];\n\t\t\tformat.type ||= \"function\";\n\t\t\tformat.name ||= name;\n\t\t}\n\n\t\tif (!this.formats.color?.id) {\n\t\t\tthis.formats.color = {\n\t\t\t\t...this.formats.color ?? {},\n\t\t\t\tid: options.cssId || this.id,\n\t\t\t};\n\t\t}\n\n\t\t// Gamut space\n\n\t\tif (options.gamutSpace) {\n\t\t\t// Gamut space explicitly specified\n\t\t\tthis.gamutSpace = options.gamutSpace === \"self\" ? this : ColorSpace.get(options.gamutSpace);\n\t\t}\n\t\telse {\n\t\t\t// No gamut space specified, calculate a sensible default\n\t\t\tif (this.isPolar) {\n\t\t\t\t// Do not check gamut through polar coordinates\n\t\t\t\tthis.gamutSpace = this.base;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.gamutSpace = this;\n\t\t\t}\n\t\t}\n\n\t\t// Optimize inGamut for unbounded spaces\n\t\tif (this.gamutSpace.isUnbounded) {\n\t\t\tthis.inGamut = (coords, options) => {\n\t\t\t\treturn true;\n\t\t\t};\n\t\t}\n\n\t\t// Other stuff\n\t\tthis.referred = options.referred;\n\n\t\t// Compute ancestors and store them, since they will never change\n\t\tObject.defineProperty(this, \"path\", {\n\t\t\tvalue: getPath(this).reverse(),\n\t\t\twritable: false,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t});\n\n\t\thooks.run(\"colorspace-init-end\", this);\n\t}\n\n\tinGamut (coords, {epsilon = ε} = {}) {\n\t\tif (!this.equals(this.gamutSpace)) {\n\t\t\tcoords = this.to(this.gamutSpace, coords);\n\t\t\treturn this.gamutSpace.inGamut(coords, {epsilon});\n\t\t}\n\n\t\tlet coordMeta = Object.values(this.coords);\n\n\t\treturn coords.every((c, i) => {\n\t\t\tlet meta = coordMeta[i];\n\n\t\t\tif (meta.type !== \"angle\" && meta.range) {\n\t\t\t\tif (Number.isNaN(c)) {\n\t\t\t\t\t// NaN is always in gamut\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tlet [min, max] = meta.range;\n\t\t\t\treturn (min === undefined || c >= min - epsilon)\n\t\t\t\t && (max === undefined || c <= max + epsilon);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t});\n\t}\n\n\tget isUnbounded () {\n\t\treturn Object.values(this.coords).every(coord => !(\"range\" in coord));\n\t}\n\n\tget cssId () {\n\t\treturn this.formats?.color?.id || this.id;\n\t}\n\n\tget isPolar () {\n\t\tfor (let id in this.coords) {\n\t\t\tif (this.coords[id].type === \"angle\") {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tgetFormat (format) {\n\t\tif (typeof format === \"object\") {\n\t\t\tformat = processFormat(format, this);\n\t\t\treturn format;\n\t\t}\n\n\t\tlet ret;\n\t\tif (format === \"default\") {\n\t\t\t// Get first format\n\t\t\tret = Object.values(this.formats)[0];\n\t\t}\n\t\telse {\n\t\t\tret = this.formats[format];\n\t\t}\n\n\t\tif (ret) {\n\t\t\tret = processFormat(ret, this);\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/**\n\t * Check if this color space is the same as another color space reference.\n\t * Allows proxying color space objects and comparing color spaces with ids.\n\t * @param {string | ColorSpace} space ColorSpace object or id to compare to\n\t * @returns {boolean}\n\t */\n\tequals (space) {\n\t\tif (!space) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this === space || this.id === space || this.id === space.id;\n\t}\n\n\tto (space, coords) {\n\t\tif (arguments.length === 1) {\n\t\t\tconst color = getColor(space);\n\t\t\t[space, coords] = [color.space, color.coords];\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tif (this.equals(space)) {\n\t\t\t// Same space, no change needed\n\t\t\treturn coords;\n\t\t}\n\n\t\t// Convert NaN to 0, which seems to be valid in every coordinate of every color space\n\t\tcoords = coords.map(c => Number.isNaN(c) ? 0 : c);\n\n\t\t// Find connection space = lowest common ancestor in the base tree\n\t\tlet myPath = this.path;\n\t\tlet otherPath = space.path;\n\n\t\tlet connectionSpace, connectionSpaceIndex;\n\n\t\tfor (let i = 0; i < myPath.length; i++) {\n\t\t\tif (myPath[i].equals(otherPath[i])) {\n\t\t\t\tconnectionSpace = myPath[i];\n\t\t\t\tconnectionSpaceIndex = i;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (!connectionSpace) {\n\t\t\t// This should never happen\n\t\t\tthrow new Error(`Cannot convert between color spaces ${this} and ${space}: no connection space was found`);\n\t\t}\n\n\t\t// Go up from current space to connection space\n\t\tfor (let i = myPath.length - 1; i > connectionSpaceIndex; i--) {\n\t\t\tcoords = myPath[i].toBase(coords);\n\t\t}\n\n\t\t// Go down from connection space to target space\n\t\tfor (let i = connectionSpaceIndex + 1; i < otherPath.length; i++) {\n\t\t\tcoords = otherPath[i].fromBase(coords);\n\t\t}\n\n\t\treturn coords;\n\t}\n\n\tfrom (space, coords) {\n\t\tif (arguments.length === 1) {\n\t\t\tconst color = getColor(space);\n\t\t\t[space, coords] = [color.space, color.coords];\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\treturn space.to(this, coords);\n\t}\n\n\ttoString () {\n\t\treturn `${this.name} (${this.id})`;\n\t}\n\n\tgetMinCoords () {\n\t\tlet ret = [];\n\n\t\tfor (let id in this.coords) {\n\t\t\tlet meta = this.coords[id];\n\t\t\tlet range = meta.range || meta.refRange;\n\t\t\tret.push(range?.min ?? 0);\n\t\t}\n\n\t\treturn ret;\n\t}\n\n\tstatic registry = {};\n\n\t// Returns array of unique color spaces\n\tstatic get all () {\n\t\treturn [...new Set(Object.values(ColorSpace.registry))];\n\t}\n\n\tstatic register (id, space) {\n\t\tif (arguments.length === 1) {\n\t\t\tspace = arguments[0];\n\t\t\tid = space.id;\n\t\t}\n\n\t\tspace = this.get(space);\n\n\t\tif (this.registry[id] && this.registry[id] !== space) {\n\t\t\tthrow new Error(`Duplicate color space registration: '${id}'`);\n\t\t}\n\t\tthis.registry[id] = space;\n\n\t\t// Register aliases when called without an explicit ID.\n\t\tif (arguments.length === 1 && space.aliases) {\n\t\t\tfor (let alias of space.aliases) {\n\t\t\t\tthis.register(alias, space);\n\t\t\t}\n\t\t}\n\n\t\treturn space;\n\t}\n\n\t/**\n\t * Lookup ColorSpace object by name\n\t * @param {ColorSpace | string} name\n\t */\n\tstatic get (space, ...alternatives) {\n\t\tif (!space || space instanceof ColorSpace) {\n\t\t\treturn space;\n\t\t}\n\n\t\tlet argType = type(space);\n\n\t\tif (argType === \"string\") {\n\t\t\t// It's a color space id\n\t\t\tlet ret = ColorSpace.registry[space.toLowerCase()];\n\n\t\t\tif (!ret) {\n\t\t\t\tthrow new TypeError(`No color space found with id = \"${space}\"`);\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t}\n\n\t\tif (alternatives.length) {\n\t\t\treturn ColorSpace.get(...alternatives);\n\t\t}\n\n\t\tthrow new TypeError(`${space} is not a valid color space`);\n\t}\n\n\t/**\n\t * Get metadata about a coordinate of a color space\n\t *\n\t * @static\n\t * @param {Array | string} ref\n\t * @param {ColorSpace | string} [workingSpace]\n\t * @return {Object}\n\t */\n\tstatic resolveCoord (ref, workingSpace) {\n\t\tlet coordType = type(ref);\n\t\tlet space, coord;\n\n\t\tif (coordType === \"string\") {\n\t\t\tif (ref.includes(\".\")) {\n\t\t\t\t// Absolute coordinate\n\t\t\t\t[space, coord] = ref.split(\".\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// Relative coordinate\n\t\t\t\t[space, coord] = [, ref];\n\t\t\t}\n\t\t}\n\t\telse if (Array.isArray(ref)) {\n\t\t\t[space, coord] = ref;\n\t\t}\n\t\telse {\n\t\t\t// Object\n\t\t\tspace = ref.space;\n\t\t\tcoord = ref.coordId;\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tif (!space) {\n\t\t\tspace = workingSpace;\n\t\t}\n\n\t\tif (!space) {\n\t\t\tthrow new TypeError(`Cannot resolve coordinate reference ${ref}: No color space specified and relative references are not allowed here`);\n\t\t}\n\n\t\tcoordType = type(coord);\n\n\t\tif (coordType === \"number\" || coordType === \"string\" && coord >= 0) {\n\t\t\t// Resolve numerical coord\n\t\t\tlet meta = Object.entries(space.coords)[coord];\n\n\t\t\tif (meta) {\n\t\t\t\treturn {space, id: meta[0], index: coord, ...meta[1]};\n\t\t\t}\n\t\t}\n\n\t\tspace = ColorSpace.get(space);\n\n\t\tlet normalizedCoord = coord.toLowerCase();\n\n\t\tlet i = 0;\n\t\tfor (let id in space.coords) {\n\t\t\tlet meta = space.coords[id];\n\n\t\t\tif (id.toLowerCase() === normalizedCoord || meta.name?.toLowerCase() === normalizedCoord) {\n\t\t\t\treturn {space, id, index: i, ...meta};\n\t\t\t}\n\n\t\t\ti++;\n\t\t}\n\n\t\tthrow new TypeError(`No \"${coord}\" coordinate found in ${space.name}. Its coordinates are: ${Object.keys(space.coords).join(\", \")}`);\n\t}\n\n\tstatic DEFAULT_FORMAT = {\n\t\ttype: \"functions\",\n\t\tname: \"color\",\n\t};\n}\n\nfunction getPath (space) {\n\tlet ret = [space];\n\n\tfor (let s = space; s = s.base;) {\n\t\tret.push(s);\n\t}\n\n\treturn ret;\n}\n\nfunction processFormat (format, {coords} = {}) {\n\tif (format.coords && !format.coordGrammar) {\n\t\tformat.type ||= \"function\";\n\t\tformat.name ||= \"color\";\n\n\t\t// Format has not been processed\n\t\tformat.coordGrammar = parseCoordGrammar(format.coords);\n\n\t\tlet coordFormats = Object.entries(coords).map(([id, coordMeta], i) => {\n\t\t\t// Preferred format for each coord is the first one\n\t\t\tlet outputType = format.coordGrammar[i][0];\n\n\t\t\tlet fromRange = coordMeta.range || coordMeta.refRange;\n\t\t\tlet toRange = outputType.range, suffix = \"\";\n\n\t\t\t// Non-strict equals intentional since outputType could be a string object\n\t\t\tif (outputType == \"<percentage>\") {\n\t\t\t\ttoRange = [0, 100];\n\t\t\t\tsuffix = \"%\";\n\t\t\t}\n\t\t\telse if (outputType == \"<angle>\") {\n\t\t\t\tsuffix = \"deg\";\n\t\t\t}\n\n\t\t\treturn {fromRange, toRange, suffix};\n\t\t});\n\n\t\tformat.serializeCoords = (coords, precision) => {\n\t\t\treturn coords.map((c, i) => {\n\t\t\t\tlet {fromRange, toRange, suffix} = coordFormats[i];\n\n\t\t\t\tif (fromRange && toRange) {\n\t\t\t\t\tc = mapRange(fromRange, toRange, c);\n\t\t\t\t}\n\n\t\t\t\tc = serializeNumber(c, {precision, unit: suffix});\n\n\t\t\t\treturn c;\n\t\t\t});\n\t\t};\n\t}\n\n\treturn format;\n}\n", "import ColorSpace from \"../space.js\";\n\nexport default new ColorSpace({\n\tid: \"xyz-d65\",\n\tname: \"XYZ D65\",\n\tcoords: {\n\t\tx: {name: \"X\"},\n\t\ty: {name: \"Y\"},\n\t\tz: {name: \"Z\"},\n\t},\n\twhite: \"D65\",\n\tformats: {\n\t\tcolor: {\n\t\t\tids: [\"xyz-d65\", \"xyz\"],\n\t\t},\n\t},\n\taliases: [\"xyz\"],\n});\n", "import ColorSpace from \"./space.js\";\nimport {multiplyMatrices} from \"./util.js\";\nimport adapt from \"./adapt.js\";\nimport XYZ_D65 from \"./spaces/xyz-d65.js\";\n\n/**\n * Convenience class for RGB color spaces\n * @extends {ColorSpace}\n */\nexport default class RGBColorSpace extends ColorSpace {\n\t/**\n\t * Creates a new RGB ColorSpace.\n\t * If coords are not specified, they will use the default RGB coords.\n\t * Instead of `fromBase()` and `toBase()` functions,\n\t * you can specify to/from XYZ matrices and have `toBase()` and `fromBase()` automatically generated.\n\t * @param {*} options - Same options as {@link ColorSpace} plus:\n\t * @param {number[][]} options.toXYZ_M - Matrix to convert to XYZ\n\t * @param {number[][]} options.fromXYZ_M - Matrix to convert from XYZ\n\t */\n\tconstructor (options) {\n\t\tif (!options.coords) {\n\t\t\toptions.coords = {\n\t\t\t\tr: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Red\",\n\t\t\t\t},\n\t\t\t\tg: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Green\",\n\t\t\t\t},\n\t\t\t\tb: {\n\t\t\t\t\trange: [0, 1],\n\t\t\t\t\tname: \"Blue\",\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tif (!options.base) {\n\t\t\toptions.base = XYZ_D65;\n\t\t}\n\n\t\tif (options.toXYZ_M && options.fromXYZ_M) {\n\t\t\toptions.toBase ??= rgb => {\n\t\t\t\tlet xyz = multiplyMatrices(options.toXYZ_M, rgb);\n\n\t\t\t\tif (this.white !== this.base.white) {\n\t\t\t\t\t// Perform chromatic adaptation\n\t\t\t\t\txyz = adapt(this.white, this.base.white, xyz);\n\t\t\t\t}\n\n\t\t\t\treturn xyz;\n\t\t\t};\n\n\t\t\toptions.fromBase ??= xyz => {\n\t\t\t\txyz = adapt(this.base.white, this.white, xyz);\n\t\t\t\treturn multiplyMatrices(options.fromXYZ_M, xyz);\n\t\t\t};\n\t\t}\n\n\t\toptions.referred ??= \"display\";\n\n\t\tsuper(options);\n\t}\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\n/**\n * Get the coordinates of a color in any color space\n * @param {Color} color\n * @param {string | ColorSpace} [space = color.space] The color space to convert to. Defaults to the color's current space\n * @returns {number[]} The color coordinates in the given color space\n */\nexport default function getAll (color, space) {\n\tcolor = getColor(color);\n\n\tif (!space || color.space.equals(space)) {\n\t\t// No conversion needed\n\t\treturn color.coords.slice();\n\t}\n\n\tspace = ColorSpace.get(space);\n\treturn space.from(color);\n}\n", "import ColorSpace from \"./space.js\";\nimport getAll from \"./getAll.js\";\nimport getColor from \"./getColor.js\";\n\nexport default function get (color, prop) {\n\tcolor = getColor(color);\n\n\tlet {space, index} = ColorSpace.resolveCoord(prop, color.space);\n\tlet coords = getAll(color, space);\n\treturn coords[index];\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\nexport default function setAll (color, space, coords) {\n\tcolor = getColor(color);\n\n\tspace = ColorSpace.get(space);\n\tcolor.coords = space.to(color.space, coords);\n\treturn color;\n}\n\nsetAll.returns = \"color\";\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\nimport get from \"./get.js\";\nimport getAll from \"./getAll.js\";\nimport setAll from \"./setAll.js\";\nimport {type} from \"./util.js\";\n\n// Set properties and return current instance\nexport default function set (color, prop, value) {\n\tcolor = getColor(color);\n\n\tif (arguments.length === 2 && type(arguments[1]) === \"object\") {\n\t\t// Argument is an object literal\n\t\tlet object = arguments[1];\n\t\tfor (let p in object) {\n\t\t\tset(color, p, object[p]);\n\t\t}\n\t}\n\telse {\n\t\tif (typeof value === \"function\") {\n\t\t\tvalue = value(get(color, prop));\n\t\t}\n\n\t\tlet {space, index} = ColorSpace.resolveCoord(prop, color.space);\n\t\tlet coords = getAll(color, space);\n\t\tcoords[index] = value;\n\t\tsetAll(color, space, coords);\n\t}\n\n\treturn color;\n}\n\nset.returns = \"color\";\n", "import ColorSpace from \"../space.js\";\nimport adapt from \"../adapt.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\nexport default new ColorSpace({\n\tid: \"xyz-d50\",\n\tname: \"XYZ D50\",\n\twhite: \"D50\",\n\tbase: XYZ_D65,\n\tfromBase: coords => adapt(XYZ_D65.white, \"D50\", coords),\n\ttoBase: coords => adapt(\"D50\", XYZ_D65.white, coords),\n});\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d50 from \"./xyz-d50.js\";\n\n// κ * ε = 2^3 = 8\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst ε3 = 24 / 116;\nconst κ = 24389 / 27; // 29^3/3^3\n\nlet white = WHITES.D50;\n\nexport default new ColorSpace({\n\tid: \"lab\",\n\tname: \"Lab\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t},\n\n\t// Assuming XYZ is relative to D50, convert to CIE Lab\n\t// from CIE standard, which now defines these as a rational fraction\n\twhite,\n\n\tbase: xyz_d50,\n\t// Convert D50-adapted XYX to Lab\n\t// CIE 15.3:2004 section 8.2.1.1\n\tfromBase (XYZ) {\n\t\t// compute xyz, which is XYZ scaled relative to reference white\n\t\tlet xyz = XYZ.map((value, i) => value / white[i]);\n\n\t\t// now compute f\n\t\tlet f = xyz.map(value => value > ε ? Math.cbrt(value) : (κ * value + 16) / 116);\n\n\t\treturn [\n\t\t\t(116 * f[1]) - 16, // L\n\t\t\t500 * (f[0] - f[1]), // a\n\t\t\t200 * (f[1] - f[2]), // b\n\t\t];\n\t},\n\t// Convert Lab to D50-adapted XYZ\n\t// Same result as CIE 15.3:2004 Appendix D although the derivation is different\n\t// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n\ttoBase (Lab) {\n\t\t// compute f, starting with the luminance-related term\n\t\tlet f = [];\n\t\tf[1] = (Lab[0] + 16) / 116;\n\t\tf[0] = Lab[1] / 500 + f[1];\n\t\tf[2] = f[1] - Lab[2] / 200;\n\n\t\t// compute xyz\n\t\tlet xyz = [\n\t\t\tf[0] > ε3 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / κ,\n\t\t\tLab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / κ,\n\t\t\tf[2] > ε3 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / κ,\n\t\t];\n\n\t\t// Compute XYZ by scaling xyz by reference white\n\t\treturn xyz.map((value, i) => value * white[i]);\n\t},\n\n\tformats: {\n\t\t\"lab\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "export function constrain (angle) {\n\treturn ((angle % 360) + 360) % 360;\n}\n\nexport function adjust (arc, angles) {\n\tif (arc === \"raw\") {\n\t\treturn angles;\n\t}\n\n\tlet [a1, a2] = angles.map(constrain);\n\n\tlet angleDiff = a2 - a1;\n\n\tif (arc === \"increasing\") {\n\t\tif (angleDiff < 0) {\n\t\t\ta2 += 360;\n\t\t}\n\t}\n\telse if (arc === \"decreasing\") {\n\t\tif (angleDiff > 0) {\n\t\t\ta1 += 360;\n\t\t}\n\t}\n\telse if (arc === \"longer\") {\n\t\tif (-180 < angleDiff && angleDiff < 180) {\n\t\t\tif (angleDiff > 0) {\n\t\t\t\ta1 += 360;\n\t\t\t}\n\t\t\telse {\n\t\t\t\ta2 += 360;\n\t\t\t}\n\t\t}\n\t}\n\telse if (arc === \"shorter\") {\n\t\tif (angleDiff > 180) {\n\t\t\ta1 += 360;\n\t\t}\n\t\telse if (angleDiff < -180) {\n\t\t\ta2 += 360;\n\t\t}\n\t}\n\n\treturn [a1, a2];\n}\n", "import ColorSpace from \"../space.js\";\nimport Lab from \"./lab.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"lch\",\n\tname: \"LCH\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 150],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Lab,\n\tfromBase (Lab) {\n\t\t// Convert to polar form\n\t\tlet [L, a, b] = Lab;\n\t\tlet hue;\n\t\tconst ε = 0.02;\n\n\t\tif (Math.abs(a) < ε && Math.abs(b) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(b, a) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // L is still L\n\t\t\tMath.sqrt(a ** 2 + b ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (LCH) {\n\t\t// Convert from polar form\n\t\tlet [Lightness, Chroma, Hue] = LCH;\n\t\t// Clamp any negative Chroma\n\t\tif (Chroma < 0) {\n\t\t\tChroma = 0;\n\t\t}\n\t\t// Deal with NaN Hue\n\t\tif (isNaN(Hue)) {\n\t\t\tHue = 0;\n\t\t}\n\t\treturn [\n\t\t\tLightness, // L is still L\n\t\t\tChroma * Math.cos(Hue * Math.PI / 180), // a\n\t\t\tChroma * Math.sin(Hue * Math.PI / 180), // b\n\t\t];\n\t},\n\n\tformats: {\n\t\t\"lch\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "import defaults from \"../defaults.js\";\nimport lab from \"../spaces/lab.js\";\nimport lch from \"../spaces/lch.js\";\nimport getColor from \"../getColor.js\";\n\n// deltaE2000 is a statistically significant improvement\n// and is recommended by the CIE and Idealliance\n// especially for color differences less than 10 deltaE76\n// but is wicked complicated\n// and many implementations have small errors!\n// DeltaE2000 is also discontinuous; in case this\n// matters to you, use deltaECMC instead.\n\nconst Gfactor = 25 ** 7;\nconst π = Math.PI;\nconst r2d = 180 / π;\nconst d2r = π / 180;\n\nfunction pow7 (x) {\n\t// Faster than x ** 7 or Math.pow(x, 7)\n\n\tconst x2 = x * x;\n\tconst x7 = x2 * x2 * x2 * x;\n\n\treturn x7;\n}\n\nexport default function (color, sample, {kL = 1, kC = 1, kH = 1} = {}) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and the function parameter as the sample,\n\t// calculate deltaE 2000.\n\n\t// This implementation assumes the parametric\n\t// weighting factors kL, kC and kH\n\t// for the influence of viewing conditions\n\t// are all 1, as sadly seems typical.\n\t// kL should be increased for lightness texture or noise\n\t// and kC increased for chroma noise\n\n\tlet [L1, a1, b1] = lab.from(color);\n\tlet C1 = lch.from(lab, [L1, a1, b1])[1];\n\tlet [L2, a2, b2] = lab.from(sample);\n\tlet C2 = lch.from(lab, [L2, a2, b2])[1];\n\n\t// Check for negative Chroma,\n\t// which might happen through\n\t// direct user input of LCH values\n\n\tif (C1 < 0) {\n\t\tC1 = 0;\n\t}\n\tif (C2 < 0) {\n\t\tC2 = 0;\n\t}\n\n\tlet Cbar = (C1 + C2) / 2; // mean Chroma\n\n\t// calculate a-axis asymmetry factor from mean Chroma\n\t// this turns JND ellipses for near-neutral colors back into circles\n\tlet C7 = pow7(Cbar);\n\n\tlet G = 0.5 * (1 - Math.sqrt(C7 / (C7 + Gfactor)));\n\n\t// scale a axes by asymmetry factor\n\t// this by the way is why there is no Lab2000 colorspace\n\tlet adash1 = (1 + G) * a1;\n\tlet adash2 = (1 + G) * a2;\n\n\t// calculate new Chroma from scaled a and original b axes\n\tlet Cdash1 = Math.sqrt(adash1 ** 2 + b1 ** 2);\n\tlet Cdash2 = Math.sqrt(adash2 ** 2 + b2 ** 2);\n\n\t// calculate new hues, with zero hue for true neutrals\n\t// and in degrees, not radians\n\n\tlet h1 = (adash1 === 0 && b1 === 0) ? 0 : Math.atan2(b1, adash1);\n\tlet h2 = (adash2 === 0 && b2 === 0) ? 0 : Math.atan2(b2, adash2);\n\n\tif (h1 < 0) {\n\t\th1 += 2 * π;\n\t}\n\tif (h2 < 0) {\n\t\th2 += 2 * π;\n\t}\n\n\th1 *= r2d;\n\th2 *= r2d;\n\n\t// Lightness and Chroma differences; sign matters\n\tlet ΔL = L2 - L1;\n\tlet ΔC = Cdash2 - Cdash1;\n\n\t// Hue difference, getting the sign correct\n\tlet hdiff = h2 - h1;\n\tlet hsum = h1 + h2;\n\tlet habs = Math.abs(hdiff);\n\tlet Δh;\n\n\tif (Cdash1 * Cdash2 === 0) {\n\t\tΔh = 0;\n\t}\n\telse if (habs <= 180) {\n\t\tΔh = hdiff;\n\t}\n\telse if (hdiff > 180) {\n\t\tΔh = hdiff - 360;\n\t}\n\telse if (hdiff < -180) {\n\t\tΔh = hdiff + 360;\n\t}\n\telse {\n\t\tdefaults.warn(\"the unthinkable has happened\");\n\t}\n\n\t// weighted Hue difference, more for larger Chroma\n\tlet ΔH = 2 * Math.sqrt(Cdash2 * Cdash1) * Math.sin(Δh * d2r / 2);\n\n\t// calculate mean Lightness and Chroma\n\tlet Ldash = (L1 + L2) / 2;\n\tlet Cdash = (Cdash1 + Cdash2) / 2;\n\tlet Cdash7 = pow7(Cdash);\n\n\t// Compensate for non-linearity in the blue region of Lab.\n\t// Four possibilities for hue weighting factor,\n\t// depending on the angles, to get the correct sign\n\tlet hdash;\n\tif (Cdash1 * Cdash2 === 0) {\n\t\thdash = hsum; // which should be zero\n\t}\n\telse if (habs <= 180) {\n\t\thdash = hsum / 2;\n\t}\n\telse if (hsum < 360) {\n\t\thdash = (hsum + 360) / 2;\n\t}\n\telse {\n\t\thdash = (hsum - 360) / 2;\n\t}\n\n\t// positional corrections to the lack of uniformity of CIELAB\n\t// These are all trying to make JND ellipsoids more like spheres\n\n\t// SL Lightness crispening factor\n\t// a background with L=50 is assumed\n\tlet lsq = (Ldash - 50) ** 2;\n\tlet SL = 1 + ((0.015 * lsq) / Math.sqrt(20 + lsq));\n\n\t// SC Chroma factor, similar to those in CMC and deltaE 94 formulae\n\tlet SC = 1 + 0.045 * Cdash;\n\n\t// Cross term T for blue non-linearity\n\tlet T = 1;\n\tT -= (0.17 * Math.cos(( hdash - 30) * d2r));\n\tT += (0.24 * Math.cos( 2 * hdash * d2r));\n\tT += (0.32 * Math.cos(((3 * hdash) + 6) * d2r));\n\tT -= (0.20 * Math.cos(((4 * hdash) - 63) * d2r));\n\n\t// SH Hue factor depends on Chroma,\n\t// as well as adjusted hue angle like deltaE94.\n\tlet SH = 1 + 0.015 * Cdash * T;\n\n\t// RT Hue rotation term compensates for rotation of JND ellipses\n\t// and Munsell constant hue lines\n\t// in the medium-high Chroma blue region\n\t// (Hue 225 to 315)\n\tlet Δθ = 30 * Math.exp(-1 * (((hdash - 275) / 25) ** 2));\n\tlet RC = 2 * Math.sqrt(Cdash7 / (Cdash7 + Gfactor));\n\tlet RT = -1 * Math.sin(2 * Δθ * d2r) * RC;\n\n\t// Finally calculate the deltaE, term by term as root sume of squares\n\tlet dE = (ΔL / (kL * SL)) ** 2;\n\tdE += (ΔC / (kC * SC)) ** 2;\n\tdE += (ΔH / (kH * SH)) ** 2;\n\tdE += RT * (ΔC / (kC * SC)) * (ΔH / (kH * SH));\n\treturn Math.sqrt(dE);\n\t// Yay!!!\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\n// Recalculated for consistent reference white\n// see https://github.com/w3c/csswg-drafts/issues/6642#issuecomment-943521484\nconst XYZtoLMS_M = [\n\t[ 0.8190224379967030, 0.3619062600528904, -0.1288737815209879 ],\n\t[ 0.0329836539323885, 0.9292868615863434, 0.0361446663506424 ],\n\t[ 0.0481771893596242, 0.2642395317527308, 0.6335478284694309 ],\n];\n// inverse of XYZtoLMS_M\nconst LMStoXYZ_M = [\n\t[ 1.2268798758459243, -0.5578149944602171, 0.2813910456659647 ],\n\t[ -0.0405757452148008, 1.1122868032803170, -0.0717110580655164 ],\n\t[ -0.0763729366746601, -0.4214933324022432, 1.5869240198367816 ],\n];\nconst LMStoLab_M = [\n\t[ 0.2104542683093140, 0.7936177747023054, -0.0040720430116193 ],\n\t[ 1.9779985324311684, -2.4285922420485799, 0.4505937096174110 ],\n\t[ 0.0259040424655478, 0.7827717124575296, -0.8086757549230774 ],\n];\n// LMStoIab_M inverted\nconst LabtoLMS_M = [\n\t[ 1.0000000000000000, 0.3963377773761749, 0.2158037573099136 ],\n\t[ 1.0000000000000000, -0.1055613458156586, -0.0638541728258133 ],\n\t[ 1.0000000000000000, -0.0894841775298119, -1.2914855480194092 ],\n];\n\nexport default new ColorSpace({\n\tid: \"oklab\",\n\tname: \"Oklab\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-0.4, 0.4],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-0.4, 0.4],\n\t\t},\n\t},\n\n\t// Note that XYZ is relative to D65\n\twhite: \"D65\",\n\tbase: XYZ_D65,\n\tfromBase (XYZ) {\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoLMS_M, XYZ);\n\n\t\t// non-linearity\n\t\tlet LMSg = LMS.map(val => Math.cbrt(val));\n\n\t\treturn multiplyMatrices(LMStoLab_M, LMSg);\n\n\t},\n\ttoBase (OKLab) {\n\t\t// move to LMS cone domain\n\t\tlet LMSg = multiplyMatrices(LabtoLMS_M, OKLab);\n\n\t\t// restore linearity\n\t\tlet LMS = LMSg.map(val => val ** 3);\n\n\t\treturn multiplyMatrices(LMStoXYZ_M, LMS);\n\t},\n\n\tformats: {\n\t\t\"oklab\": {\n\t\t\tcoords: [\"<percentage> | <number>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in CIE Lab\n\nimport oklab from \"../spaces/oklab.js\";\nimport getColor from \"../getColor.js\";\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaEOK, term by term as root sum of squares\n\tlet [L1, a1, b1] = oklab.from(color);\n\tlet [L2, a2, b2] = oklab.from(sample);\n\tlet ΔL = L1 - L2;\n\tlet Δa = a1 - a2;\n\tlet Δb = b1 - b2;\n\treturn Math.sqrt(ΔL ** 2 + Δa ** 2 + Δb ** 2);\n}\n", "import ColorSpace from \"./space.js\";\nimport getColor from \"./getColor.js\";\n\nconst ε = .000075;\n\n/**\n * Check if a color is in gamut of either its own or another color space\n * @return {Boolean} Is the color in gamut?\n */\nexport default function inGamut (color, space, {epsilon = ε} = {}) {\n\tcolor = getColor(color);\n\n\tif (!space) {\n\t\tspace = color.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\tlet coords = color.coords;\n\n\tif (space !== color.space) {\n\t\tcoords = space.from(color);\n\t}\n\n\treturn space.inGamut(coords, {epsilon});\n}\n", "export default function clone (color) {\n\treturn {\n\t\tspace: color.space,\n\t\tcoords: color.coords.slice(),\n\t\talpha: color.alpha,\n\t};\n}\n", "import ColorSpace from \"./space.js\";\n\n/**\n * Euclidean distance of colors in an arbitrary color space\n */\nexport default function distance (color1, color2, space = \"lab\") {\n\tspace = ColorSpace.get(space);\n\n\t// Assume getColor() is called on color in space.from()\n\tlet coords1 = space.from(color1);\n\tlet coords2 = space.from(color2);\n\n\treturn Math.sqrt(coords1.reduce((acc, c1, i) => {\n\t\tlet c2 = coords2[i];\n\t\tif (isNaN(c1) || isNaN(c2)) {\n\t\t\treturn acc;\n\t\t}\n\n\t\treturn acc + (c2 - c1) ** 2;\n\t}, 0));\n}\n", "import distance from \"../distance.js\";\nimport getColor from \"../getColor.js\";\n\nexport default function deltaE76 (color, sample) {\n\t// Assume getColor() is called in the distance function\n\treturn distance(color, sample, \"lab\");\n}\n", "import lab from \"../spaces/lab.js\";\nimport lch from \"../spaces/lch.js\";\nimport getColor from \"../getColor.js\";\n\n// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in Lab\n\n// CMC by the Color Measurement Committee of the\n// Bradford Society of Dyeists and Colorsts, 1994.\n// Uses LCH rather than Lab,\n// with different weights for L, C and H differences\n// A nice increase in accuracy for modest increase in complexity\nconst π = Math.PI;\nconst d2r = π / 180;\n\nexport default function (color, sample, {l = 2, c = 1} = {}) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE CMC.\n\n\t// This implementation assumes the parametric\n\t// weighting factors l:c are 2:1\n\t// which is typical for non-textile uses.\n\n\tlet [L1, a1, b1] = lab.from(color);\n\tlet [, C1, H1] = lch.from(lab, [L1, a1, b1]);\n\tlet [L2, a2, b2] = lab.from(sample);\n\tlet C2 = lch.from(lab, [L2, a2, b2])[1];\n\n\t// let [L1, a1, b1] = color.getAll(lab);\n\t// let C1 = color.get(\"lch.c\");\n\t// let H1 = color.get(\"lch.h\");\n\t// let [L2, a2, b2] = sample.getAll(lab);\n\t// let C2 = sample.get(\"lch.c\");\n\n\t// Check for negative Chroma,\n\t// which might happen through\n\t// direct user input of LCH values\n\n\tif (C1 < 0) {\n\t\tC1 = 0;\n\t}\n\tif (C2 < 0) {\n\t\tC2 = 0;\n\t}\n\n\t// we don't need H2 as ΔH is calculated from Δa, Δb and ΔC\n\n\t// Lightness and Chroma differences\n\t// These are (color - sample), unlike deltaE2000\n\tlet ΔL = L1 - L2;\n\tlet ΔC = C1 - C2;\n\n\tlet Δa = a1 - a2;\n\tlet Δb = b1 - b2;\n\n\t// weighted Hue difference, less for larger Chroma difference\n\n\tlet H2 = (Δa ** 2) + (Δb ** 2) - (ΔC ** 2);\n\t// due to roundoff error it is possible that, for zero a and b,\n\t// ΔC > Δa + Δb is 0, resulting in attempting\n\t// to take the square root of a negative number\n\n\t// trying instead the equation from Industrial Color Physics\n\t// By Georg A. Klein\n\n\t// let ΔH = ((a1 * b2) - (a2 * b1)) / Math.sqrt(0.5 * ((C2 * C1) + (a2 * a1) + (b2 * b1)));\n\t// console.log({ΔH});\n\t// This gives the same result to 12 decimal places\n\t// except it sometimes NaNs when trying to root a negative number\n\n\t// let ΔH = Math.sqrt(H2); we never actually use the root, it gets squared again!!\n\n\t// positional corrections to the lack of uniformity of CIELAB\n\t// These are all trying to make JND ellipsoids more like spheres\n\n\t// SL Lightness crispening factor, depends entirely on L1 not L2\n\tlet SL = 0.511;\t// linear portion of the Y to L transfer function\n\tif (L1 >= 16) {\t// cubic portion\n\t\tSL = (0.040975 * L1) / (1 + 0.01765 * L1);\n\t}\n\n\t// SC Chroma factor\n\tlet SC = ((0.0638 * C1) / (1 + 0.0131 * C1)) + 0.638;\n\n\t// Cross term T for blue non-linearity\n\tlet T;\n\tif (Number.isNaN(H1)) {\n\t\tH1 = 0;\n\t}\n\n\tif (H1 >= 164 && H1 <= 345) {\n\t\tT = 0.56 + Math.abs(0.2 * Math.cos((H1 + 168) * d2r));\n\t}\n\telse {\n\t\tT = 0.36 + Math.abs(0.4 * Math.cos((H1 + 35) * d2r));\n\t}\n\t// console.log({T});\n\n\t// SH Hue factor also depends on C1,\n\tlet C4 = Math.pow(C1, 4);\n\tlet F = Math.sqrt(C4 / (C4 + 1900));\n\tlet SH = SC * ((F * T) + 1 - F);\n\n\t// Finally calculate the deltaE, term by term as root sume of squares\n\tlet dE = (ΔL / (l * SL)) ** 2;\n\tdE += (ΔC / (c * SC)) ** 2;\n\tdE += (H2 / (SH ** 2));\n\t// dE += (ΔH / SH) ** 2;\n\treturn Math.sqrt(dE);\n\t// Yay!!!\n}\n", "import ColorSpace from \"../space.js\";\nimport XYZ_D65 from \"./xyz-d65.js\";\n\nconst Yw = 203;\t// absolute luminance of media white\n\nexport default new ColorSpace({\n// Absolute CIE XYZ, with a D65 whitepoint,\n// as used in most HDR colorspaces as a starting point.\n// SDR spaces are converted per BT.2048\n// so that diffuse, media white is 203 cd/m²\n\tid: \"xyz-abs-d65\",\n\tcssId: \"--xyz-abs-d65\",\n\tname: \"Absolute XYZ D65\",\n\tcoords: {\n\t\tx: {\n\t\t\trefRange: [0, 9504.7],\n\t\t\tname: \"Xa\",\n\t\t},\n\t\ty: {\n\t\t\trefRange: [0, 10000],\n\t\t\tname: \"Ya\",\n\t\t},\n\t\tz: {\n\t\t\trefRange: [0, 10888.3],\n\t\t\tname: \"Za\",\n\t\t},\n\t},\n\n\tbase: XYZ_D65,\n\tfromBase (XYZ) {\n\t\t// Make XYZ absolute, not relative to media white\n\t\t// Maximum luminance in PQ is 10,000 cd/m²\n\t\t// Relative XYZ has Y=1 for media white\n\t\treturn XYZ.map (v => Math.max(v * Yw, 0));\n\t},\n\ttoBase (AbsXYZ) {\n\t\t// Convert to media-white relative XYZ\n\t\treturn AbsXYZ.map(v => Math.max(v / Yw, 0));\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_Abs_D65 from \"./xyz-abs-d65.js\";\n\nconst b = 1.15;\nconst g = 0.66;\nconst n = 2610 / (2 ** 14);\nconst ninv = (2 ** 14) / 2610;\nconst c1 = 3424 / (2 ** 12);\nconst c2 = 2413 / (2 ** 7);\nconst c3 = 2392 / (2 ** 7);\nconst p = 1.7 * 2523 / (2 ** 5);\nconst pinv = (2 ** 5) / (1.7 * 2523);\nconst d = -0.56;\nconst d0 = 1.6295499532821566E-11;\n\nconst XYZtoCone_M = [\n\t[ 0.41478972, 0.579999, 0.0146480 ],\n\t[ -0.2015100, 1.120649, 0.0531008 ],\n\t[ -0.0166008, 0.264800, 0.6684799 ],\n];\n// XYZtoCone_M inverted\nconst ConetoXYZ_M = [\n\t[ 1.9242264357876067, -1.0047923125953657, 0.037651404030618 ],\n\t[ 0.35031676209499907, 0.7264811939316552, -0.06538442294808501 ],\n\t[ -0.09098281098284752, -0.3127282905230739, 1.5227665613052603 ],\n];\nconst ConetoIab_M = [\n\t[ 0.5, 0.5, 0 ],\n\t[ 3.524000, -4.066708, 0.542708 ],\n\t[ 0.199076, 1.096799, -1.295875 ],\n];\n// ConetoIab_M inverted\nconst IabtoCone_M = [\n\t[ 1, 0.1386050432715393, 0.05804731615611886 ],\n\t[ 0.9999999999999999, -0.1386050432715393, -0.05804731615611886 ],\n\t[ 0.9999999999999998, -0.09601924202631895, -0.8118918960560388 ],\n];\n\nexport default new ColorSpace({\n\tid: \"jzazbz\",\n\tname: \"Jzazbz\",\n\tcoords: {\n\t\tjz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Jz\",\n\t\t},\n\t\taz: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t},\n\t\tbz: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t},\n\t},\n\n\tbase: XYZ_Abs_D65,\n\tfromBase (XYZ) {\n\t\t// First make XYZ absolute, not relative to media white\n\t\t// Maximum luminance in PQ is 10,000 cd/m²\n\t\t// Relative XYZ has Y=1 for media white\n\t\t// BT.2048 says media white Y=203 at PQ 58\n\n\t\tlet [ Xa, Ya, Za ] = XYZ;\n\n\t\t// modify X and Y\n\t\tlet Xm = (b * Xa) - ((b - 1) * Za);\n\t\tlet Ym = (g * Ya) - ((g - 1) * Xa);\n\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoCone_M, [ Xm, Ym, Za ]);\n\n\t\t// PQ-encode LMS\n\t\tlet PQLMS = LMS.map (function (val) {\n\t\t\tlet num = c1 + (c2 * ((val / 10000) ** n));\n\t\t\tlet denom = 1 + (c3 * ((val / 10000) ** n));\n\n\t\t\treturn (num / denom) ** p;\n\t\t});\n\n\t\t// almost there, calculate Iz az bz\n\t\tlet [ Iz, az, bz] = multiplyMatrices(ConetoIab_M, PQLMS);\n\t\t// console.log({Iz, az, bz});\n\n\t\tlet Jz = ((1 + d) * Iz) / (1 + (d * Iz)) - d0;\n\t\treturn [Jz, az, bz];\n\t},\n\ttoBase (Jzazbz) {\n\t\tlet [Jz, az, bz] = Jzazbz;\n\t\tlet Iz = (Jz + d0) / (1 + d - d * (Jz + d0));\n\n\t\t// bring into LMS cone domain\n\t\tlet PQLMS = multiplyMatrices(IabtoCone_M, [ Iz, az, bz ]);\n\n\t\t// convert from PQ-coded to linear-light\n\t\tlet LMS = PQLMS.map(function (val) {\n\t\t\tlet num = (c1 - (val ** pinv));\n\t\t\tlet denom = (c3 * (val ** pinv)) - c2;\n\t\t\tlet x = 10000 * ((num / denom) ** ninv);\n\n\t\t\treturn (x); \t// luminance relative to diffuse white, [0, 70 or so].\n\t\t});\n\n\t\t// modified abs XYZ\n\t\tlet [ Xm, Ym, Za ] = multiplyMatrices(ConetoXYZ_M, LMS);\n\n\t\t// restore standard D50 relative XYZ, relative to media white\n\t\tlet Xa = (Xm + ((b - 1) * Za)) / b;\n\t\tlet Ya = (Ym + ((g - 1) * Xa)) / g;\n\t\treturn [ Xa, Ya, Za ];\n\t},\n\n\tformats: {\n\t\t// https://drafts.csswg.org/css-color-hdr/#Jzazbz\n\t\t\"color\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport Jzazbz from \"./jzazbz.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"jzczhz\",\n\tname: \"JzCzHz\",\n\tcoords: {\n\t\tjz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Jz\",\n\t\t},\n\t\tcz: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\thz: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Jzazbz,\n\tfromBase (jzazbz) {\n\t\t// Convert to polar form\n\t\tlet [Jz, az, bz] = jzazbz;\n\t\tlet hue;\n\t\tconst ε = 0.0002; // chromatic components much smaller than a,b\n\n\t\tif (Math.abs(az) < ε && Math.abs(bz) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(bz, az) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tJz, // Jz is still Jz\n\t\t\tMath.sqrt(az ** 2 + bz ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (jzczhz) {\n\t\t// Convert from polar form\n\t\t// debugger;\n\t\treturn [\n\t\t\tjzczhz[0], // Jz is still Jz\n\t\t\tjzczhz[1] * Math.cos(jzczhz[2] * Math.PI / 180), // az\n\t\t\tjzczhz[1] * Math.sin(jzczhz[2] * Math.PI / 180), // bz\n\t\t];\n\t},\n});\n", "import jzczhz from \"../spaces/jzczhz.js\";\nimport getColor from \"../getColor.js\";\n\n// More accurate color-difference formulae\n// than the simple 1976 Euclidean distance in Lab\n\n// Uses JzCzHz, which has improved perceptual uniformity\n// and thus a simple Euclidean root-sum of ΔL² ΔC² ΔH²\n// gives good results.\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE in JzCzHz.\n\tlet [Jz1, Cz1, Hz1] = jzczhz.from(color);\n\tlet [Jz2, Cz2, Hz2] = jzczhz.from(sample);\n\n\t// Lightness and Chroma differences\n\t// sign does not matter as they are squared.\n\tlet ΔJ = Jz1 - Jz2;\n\tlet ΔC = Cz1 - Cz2;\n\n\t// length of chord for ΔH\n\tif ((Number.isNaN(Hz1)) && (Number.isNaN(Hz2))) {\n\t\t// both undefined hues\n\t\tHz1 = 0;\n\t\tHz2 = 0;\n\t}\n\telse if (Number.isNaN(Hz1)) {\n\t\t// one undefined, set to the defined hue\n\t\tHz1 = Hz2;\n\t}\n\telse if (Number.isNaN(Hz2)) {\n\t\tHz2 = Hz1;\n\t}\n\n\tlet Δh = Hz1 - Hz2;\n\tlet ΔH = 2 * Math.sqrt(Cz1 * Cz2) * Math.sin((Δh / 2) * (Math.PI / 180));\n\n\treturn Math.sqrt(ΔJ ** 2 + ΔC ** 2 + ΔH ** 2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices} from \"../util.js\";\nimport XYZ_Abs_D65 from \"./xyz-abs-d65.js\";\n\nconst c1 = 3424 / 4096;\nconst c2 = 2413 / 128;\nconst c3 = 2392 / 128;\nconst m1 = 2610 / 16384;\nconst m2 = 2523 / 32;\nconst im1 = 16384 / 2610;\nconst im2 = 32 / 2523;\n\n// The matrix below includes the 4% crosstalk components\n// and is from the Dolby \"What is ICtCp\" paper\"\nconst XYZtoLMS_M = [\n\t[ 0.3592832590121217, 0.6976051147779502, -0.0358915932320290 ],\n\t[ -0.1920808463704993, 1.1004767970374321, 0.0753748658519118 ],\n\t[ 0.0070797844607479, 0.0748396662186362, 0.8433265453898765 ],\n];\n// linear-light Rec.2020 to LMS, again with crosstalk\n// rational terms from Jan Fröhlich,\n// Encoding High Dynamic Range andWide Color Gamut Imagery, p.97\n// and ITU-R BT.2124-0 p.2\n/*\nconst Rec2020toLMS_M = [\n\t[ 1688 / 4096, 2146 / 4096, 262 / 4096 ],\n\t[ 683 / 4096, 2951 / 4096, 462 / 4096 ],\n\t[ 99 / 4096, 309 / 4096, 3688 / 4096 ]\n];\n*/\n// this includes the Ebner LMS coefficients,\n// the rotation, and the scaling to [-0.5,0.5] range\n// rational terms from Fröhlich p.97\n// and ITU-R BT.2124-0 pp.2-3\nconst LMStoIPT_M = [\n\t[ 2048 / 4096, 2048 / 4096, 0 ],\n\t[ 6610 / 4096, -13613 / 4096, 7003 / 4096 ],\n\t[ 17933 / 4096, -17390 / 4096, -543 / 4096 ],\n];\n\n// inverted matrices, calculated from the above\nconst IPTtoLMS_M = [\n\t[ 0.9999999999999998, 0.0086090370379328, 0.1110296250030260 ],\n\t[ 0.9999999999999998, -0.0086090370379328, -0.1110296250030259 ],\n\t[ 0.9999999999999998, 0.5600313357106791, -0.3206271749873188 ],\n];\n/*\nconst LMStoRec2020_M = [\n\t[ 3.4375568932814012112, -2.5072112125095058195, 0.069654319228104608382],\n\t[-0.79142868665644156125, 1.9838372198740089874, -0.19240853321756742626 ],\n\t[-0.025646662911506476363, -0.099240248643945566751, 1.1248869115554520431 ]\n];\n*/\nconst LMStoXYZ_M = [\n\t[ 2.0701522183894223, -1.3263473389671563, 0.2066510476294053 ],\n\t[ 0.3647385209748072, 0.6805660249472273, -0.0453045459220347 ],\n\t[ -0.0497472075358123, -0.0492609666966131, 1.1880659249923042 ],\n];\n\n// Only the PQ form of ICtCp is implemented here. There is also an HLG form.\n// from Dolby, \"WHAT IS ICTCP?\"\n// https://professional.dolby.com/siteassets/pdfs/ictcp_dolbywhitepaper_v071.pdf\n// and\n// Dolby, \"Perceptual Color Volume\n// Measuring the Distinguishable Colors of HDR and WCG Displays\"\n// https://professional.dolby.com/siteassets/pdfs/dolby-vision-measuring-perceptual-color-volume-v7.1.pdf\nexport default new ColorSpace({\n\tid: \"ictcp\",\n\tname: \"ICTCP\",\n\t// From BT.2100-2 page 7:\n\t// During production, signal values are expected to exceed the\n\t// range E′ = [0.0 : 1.0]. This provides processing headroom and avoids\n\t// signal degradation during cascaded processing. Such values of E′,\n\t// below 0.0 or exceeding 1.0, should not be clipped during production\n\t// and exchange.\n\t// Values below 0.0 should not be clipped in reference displays (even\n\t// though they represent “negative” light) to allow the black level of\n\t// the signal (LB) to be properly set using test signals known as “PLUGE”\n\tcoords: {\n\t\ti: {\n\t\t\trefRange: [0, 1],\t// Constant luminance,\n\t\t\tname: \"I\",\n\t\t},\n\t\tct: {\n\t\t\trefRange: [-0.5, 0.5],\t// Full BT.2020 gamut in range [-0.5, 0.5]\n\t\t\tname: \"CT\",\n\t\t},\n\t\tcp: {\n\t\t\trefRange: [-0.5, 0.5],\n\t\t\tname: \"CP\",\n\t\t},\n\t},\n\n\tbase: XYZ_Abs_D65,\n\tfromBase (XYZ) {\n\t\t// move to LMS cone domain\n\t\tlet LMS = multiplyMatrices(XYZtoLMS_M, XYZ);\n\n\t\treturn LMStoICtCp(LMS);\n\t},\n\ttoBase (ICtCp) {\n\t\tlet LMS = ICtCptoLMS(ICtCp);\n\n\t\treturn multiplyMatrices(LMStoXYZ_M, LMS);\n\t},\n});\n\nfunction LMStoICtCp (LMS) {\n\t// apply the PQ EOTF\n\t// we can't ever be dividing by zero because of the \"1 +\" in the denominator\n\tlet PQLMS = LMS.map (function (val) {\n\t\tlet num = c1 + (c2 * ((val / 10000) ** m1));\n\t\tlet denom = 1 + (c3 * ((val / 10000) ** m1));\n\n\t\treturn (num / denom) ** m2;\n\t});\n\n\t// LMS to IPT, with rotation for Y'C'bC'r compatibility\n\treturn multiplyMatrices(LMStoIPT_M, PQLMS);\n}\n\nfunction ICtCptoLMS (ICtCp) {\n\tlet PQLMS = multiplyMatrices(IPTtoLMS_M, ICtCp);\n\n\t// From BT.2124-0 Annex 2 Conversion 3\n\tlet LMS = PQLMS.map (function (val) {\n\t\tlet num = Math.max((val ** im2) - c1, 0);\n\t\tlet denom = (c2 - (c3 * (val ** im2)));\n\t\treturn 10000 * ((num / denom) ** im1);\n\t});\n\n\treturn LMS;\n}\n", "import ictcp from \"../spaces/ictcp.js\";\nimport getColor from \"../getColor.js\";\n\n// Delta E in ICtCp space,\n// which the ITU calls Delta E ITP, which is shorter\n// formulae from ITU Rec. ITU-R BT.2124-0\n\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\t// Given this color as the reference\n\t// and a sample,\n\t// calculate deltaE in ICtCp\n\t// which is simply the Euclidean distance\n\n\tlet [ I1, T1, P1 ] = ictcp.from(color);\n\tlet [ I2, T2, P2 ] = ictcp.from(sample);\n\n\t// the 0.25 factor is to undo the encoding scaling in Ct\n\t// the 720 is so that 1 deltaE = 1 JND\n\t// per ITU-R BT.2124-0 p.3\n\n\treturn 720 * Math.sqrt((I1 - I2) ** 2 + (0.25 * (T1 - T2) ** 2) + (P1 - P2) ** 2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {multiplyMatrices, interpolate, copySign, spow, zdiv, bisectLeft} from \"../util.js\";\nimport {constrain} from \"../angles.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {WHITES} from \"../adapt.js\";\n\nconst white = WHITES.D65;\nconst adaptedCoef = 0.42;\nconst adaptedCoefInv = 1 / adaptedCoef;\nconst tau = 2 * Math.PI;\n\nconst cat16 = [\n\t[ 0.401288, 0.650173, -0.051461 ],\n\t[ -0.250268, 1.204414, 0.045854 ],\n\t[ -0.002079, 0.048952, 0.953127 ],\n];\n\nconst cat16Inv = [\n\t[1.8620678550872327, -1.0112546305316843, 0.14918677544445175],\n\t[0.38752654323613717, 0.6214474419314753, -0.008973985167612518],\n\t[-0.015841498849333856, -0.03412293802851557, 1.0499644368778496],\n];\n\nconst m1 = [\n\t[460.0, 451.0, 288.0],\n\t[460.0, -891.0, -261.0],\n\t[460.0, -220.0, -6300.0],\n];\n\nconst surroundMap = {\n\tdark: [0.8, 0.525, 0.8],\n\tdim: [0.9, 0.59, 0.9],\n\taverage: [1, 0.69, 1],\n};\n\nconst hueQuadMap = {\n\t// Red, Yellow, Green, Blue, Red\n\th: [20.14, 90.00, 164.25, 237.53, 380.14],\n\te: [0.8, 0.7, 1.0, 1.2, 0.8],\n\tH: [0.0, 100.0, 200.0, 300.0, 400.0],\n};\n\nconst rad2deg = 180 / Math.PI;\nconst deg2rad = Math.PI / 180;\n\nexport function adapt (coords, fl) {\n\tconst temp = coords.map(c => {\n\t\tconst x = spow(fl * Math.abs(c) * 0.01, adaptedCoef);\n\t\treturn 400 * copySign(x, c) / (x + 27.13);\n\t});\n\treturn temp;\n}\n\nexport function unadapt (adapted, fl) {\n\tconst constant = 100 / fl * (27.13 ** adaptedCoefInv);\n\treturn adapted.map(c => {\n\t\tconst cabs = Math.abs(c);\n\t\treturn copySign(constant * spow(cabs / (400 - cabs), adaptedCoefInv), c);\n\t});\n}\n\nexport function hueQuadrature (h) {\n\tlet hp = constrain(h);\n\tif (hp <= hueQuadMap.h[0]) {\n\t\thp += 360;\n\t}\n\n\tconst i = bisectLeft(hueQuadMap.h, hp) - 1;\n\tconst [hi, hii] = hueQuadMap.h.slice(i, i + 2);\n\tconst [ei, eii] = hueQuadMap.e.slice(i, i + 2);\n\tconst Hi = hueQuadMap.H[i];\n\n\tconst t = (hp - hi) / ei;\n\treturn Hi + (100 * t) / (t + (hii - hp) / eii);\n}\n\nexport function invHueQuadrature (H) {\n\tlet Hp = ((H % 400 + 400) % 400);\n\tconst i = Math.floor(0.01 * Hp);\n\tHp = Hp % 100;\n\tconst [hi, hii] = hueQuadMap.h.slice(i, i + 2);\n\tconst [ei, eii] = hueQuadMap.e.slice(i, i + 2);\n\n\treturn constrain(\n\t\t(Hp * (eii * hi - ei * hii) - 100 * hi * eii) /\n\t\t(Hp * (eii - ei) - 100 * eii),\n\t);\n}\n\nexport function environment (\n\trefWhite,\n\tadaptingLuminance,\n\tbackgroundLuminance,\n\tsurround,\n\tdiscounting,\n) {\n\n\tconst env = {};\n\n\tenv.discounting = discounting;\n\tenv.refWhite = refWhite;\n\tenv.surround = surround;\n\tconst xyzW = refWhite.map(c => {\n\t\treturn c * 100;\n\t});\n\n\t// The average luminance of the environment in `cd/m^2cd/m` (a.k.a. nits)\n\tenv.la = adaptingLuminance;\n\t// The relative luminance of the nearby background\n\tenv.yb = backgroundLuminance;\n\t// Absolute luminance of the reference white.\n\tconst yw = xyzW[1];\n\n\t// Cone response for reference white\n\tconst rgbW = multiplyMatrices(cat16, xyzW);\n\n\t// Surround: dark, dim, and average\n\tsurround = surroundMap[env.surround];\n\tconst f = surround[0];\n\tenv.c = surround[1];\n\tenv.nc = surround[2];\n\n\tconst k = 1 / (5 * env.la + 1);\n\tconst k4 = k ** 4;\n\n\t// Factor of luminance level adaptation\n\tenv.fl = (k4 * env.la + 0.1 * (1 - k4) * (1 - k4) * Math.cbrt(5 * env.la));\n\tenv.flRoot = env.fl ** 0.25;\n\n\tenv.n = env.yb / yw;\n\tenv.z = 1.48 + Math.sqrt(env.n);\n\tenv.nbb = 0.725 * (env.n ** -0.2);\n\tenv.ncb = env.nbb;\n\n\t// Degree of adaptation calculating if not discounting\n\t// illuminant (assumed eye is fully adapted)\n\tconst d = (discounting) ?\n\t\t1 :\n\t\tMath.max(\n\t\t\tMath.min(f * (1 - 1 / 3.6 * Math.exp((-env.la - 42) / 92)), 1),\n\t\t\t0,\n\t\t);\n\tenv.dRgb = rgbW.map(c => {\n\t\treturn interpolate(1, yw / c, d);\n\t});\n\tenv.dRgbInv = env.dRgb.map(c => {\n\t\treturn 1 / c;\n\t});\n\n\t// Achromatic response\n\tconst rgbCW = rgbW.map((c, i) => {\n\t\treturn c * env.dRgb[i];\n\t});\n\tconst rgbAW = adapt(rgbCW, env.fl);\n\tenv.aW = env.nbb * (2 * rgbAW[0] + rgbAW[1] + 0.05 * rgbAW[2]);\n\n\t// console.log(env);\n\n\treturn env;\n}\n\n// Pre-calculate everything we can with the viewing conditions\nconst viewingConditions = environment(\n\twhite,\n\t64 / Math.PI * 0.2, 20,\n\t\"average\",\n\tfalse,\n);\n\nexport function fromCam16 (cam16, env) {\n\n\t// These check ensure one, and only one attribute for a\n\t// given category is provided.\n\tif (!((cam16.J !== undefined) ^ (cam16.Q !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'J' or 'Q'\");\n\t}\n\n\tif (!((cam16.C !== undefined) ^ (cam16.M !== undefined) ^ (cam16.s !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'C', 'M' or 's'\");\n\t}\n\n\t// Hue is absolutely required\n\tif (!((cam16.h !== undefined) ^ (cam16.H !== undefined))) {\n\t\tthrow new Error(\"Conversion requires one and only one: 'h' or 'H'\");\n\t}\n\n\t// Black\n\tif (cam16.J === 0.0 || cam16.Q === 0.0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\n\t// Break hue into Cartesian components\n\tlet hRad = 0.0;\n\tif (cam16.h !== undefined) {\n\t\thRad = constrain(cam16.h) * deg2rad;\n\t}\n\telse {\n\t\thRad = invHueQuadrature(cam16.H) * deg2rad;\n\t}\n\n\tconst cosh = Math.cos(hRad);\n\tconst sinh = Math.sin(hRad);\n\n\t// Calculate `Jroot` from one of the lightness derived coordinates.\n\tlet Jroot = 0.0;\n\tif (cam16.J !== undefined) {\n\t\tJroot = spow(cam16.J, 1 / 2) * 0.1;\n\t}\n\telse if (cam16.Q !== undefined) {\n\t\tJroot = 0.25 * env.c * cam16.Q / ((env.aW + 4) * env.flRoot);\n\t}\n\n\t// Calculate the `t` value from one of the chroma derived coordinates\n\tlet alpha = 0.0;\n\tif (cam16.C !== undefined) {\n\t\talpha = cam16.C / Jroot;\n\t}\n\telse if (cam16.M !== undefined) {\n\t\talpha = (cam16.M / env.flRoot) / Jroot;\n\t}\n\telse if (cam16.s !== undefined) {\n\t\talpha = 0.0004 * (cam16.s ** 2) * (env.aW + 4) / env.c;\n\t}\n\tconst t = spow(\n\t\talpha * Math.pow(1.64 - Math.pow(0.29, env.n), -0.73),\n\t\t10 / 9,\n\t);\n\n\t// Eccentricity\n\tconst et = 0.25 * (Math.cos(hRad + 2) + 3.8);\n\n\t// Achromatic response\n\tconst A = env.aW * spow(Jroot, 2 / env.c / env.z);\n\n\t// Calculate red-green and yellow-blue components\n\tconst p1 = 5e4 / 13 * env.nc * env.ncb * et;\n\tconst p2 = A / env.nbb;\n\tconst r = (\n\t\t23 * (p2 + 0.305) *\n\t\tzdiv(t, 23 * p1 + t * (11 * cosh + 108 * sinh))\n\t);\n\tconst a = r * cosh;\n\tconst b = r * sinh;\n\n\t// Calculate back from cone response to XYZ\n\tconst rgb_c = unadapt(\n\t\tmultiplyMatrices(m1, [p2, a, b]).map(c => {\n\t\t\treturn c * 1 / 1403;\n\t\t}),\n\t\tenv.fl,\n\t);\n\treturn multiplyMatrices(\n\t\tcat16Inv,\n\t\trgb_c.map((c, i) => {\n\t\t\treturn c * env.dRgbInv[i];\n\t\t}),\n\t).map(c => {\n\t\treturn c / 100;\n\t});\n}\n\n\nexport function toCam16 (xyzd65, env) {\n\t// Cone response\n\tconst xyz100 = xyzd65.map(c => {\n\t\treturn c * 100;\n\t});\n\tconst rgbA = adapt(\n\t\tmultiplyMatrices(cat16, xyz100).map((c, i) => {\n\t\t\treturn c * env.dRgb[i];\n\t\t}),\n\t\tenv.fl,\n\t);\n\n\t// Calculate hue from red-green and yellow-blue components\n\tconst a = rgbA[0] + (-12 * rgbA[1] + rgbA[2]) / 11;\n\tconst b = (rgbA[0] + rgbA[1] - 2 * rgbA[2]) / 9;\n\tconst hRad = ((Math.atan2(b, a) % tau) + tau) % tau;\n\n\t// Eccentricity\n\tconst et = 0.25 * (Math.cos(hRad + 2) + 3.8);\n\n\tconst t = (\n\t\t5e4 / 13 * env.nc * env.ncb *\n\t\tzdiv(\n\t\t\tet * Math.sqrt(a ** 2 + b ** 2),\n\t\t\trgbA[0] + rgbA[1] + 1.05 * rgbA[2] + 0.305,\n\t\t)\n\t);\n\tconst alpha = spow(t, 0.9) * Math.pow(1.64 - Math.pow(0.29, env.n), 0.73);\n\n\t// Achromatic response\n\tconst A = env.nbb * (2 * rgbA[0] + rgbA[1] + 0.05 * rgbA[2]);\n\n\tconst Jroot = spow(A / env.aW, 0.5 * env.c * env.z);\n\n\t// Lightness\n\tconst J = 100 * spow(Jroot, 2);\n\n\t// Brightness\n\tconst Q = (4 / env.c * Jroot * (env.aW + 4) * env.flRoot);\n\n\t// Chroma\n\tconst C = alpha * Jroot;\n\n\t// Colorfulness\n\tconst M = C * env.flRoot;\n\n\t// Hue\n\tconst h = constrain(hRad * rad2deg);\n\n\t// Hue quadrature\n\tconst H = hueQuadrature(h);\n\n\t// Saturation\n\tconst s = 50 * spow(env.c * alpha / (env.aW + 4), 1 / 2);\n\n\t// console.log({J: J, C: C, h: h, s: s, Q: Q, M: M, H: H});\n\n\treturn {J: J, C: C, h: h, s: s, Q: Q, M: M, H: H};\n}\n\n\n// Provided as a way to directly evaluate the CAM16 model\n// https://observablehq.com/@jrus/cam16: reference implementation\n// https://arxiv.org/pdf/1802.06067.pdf: Nico Schlömer\n// https://onlinelibrary.wiley.com/doi/pdf/10.1002/col.22324: hue quadrature\n// https://www.researchgate.net/publication/318152296_Comprehensive_color_solutions_CAM16_CAT16_and_CAM16-UCS\n// Results compared against: https://github.com/colour-science/colour\nexport default new ColorSpace({\n\tid: \"cam16-jmh\",\n\tcssId: \"--cam16-jmh\",\n\tname: \"CAM16-JMh\",\n\tcoords: {\n\t\tj: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"J\",\n\t\t},\n\t\tm: {\n\t\t\trefRange: [0, 105.0],\n\t\t\tname: \"Colorfulness\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: xyz_d65,\n\n\tfromBase (xyz) {\n\t\tconst cam16 = toCam16(xyz, viewingConditions);\n\t\treturn [cam16.J, cam16.M, cam16.h];\n\t},\n\ttoBase (cam16) {\n\t\treturn fromCam16(\n\t\t\t{J: cam16[0], M: cam16[1], h: cam16[2]},\n\t\t\tviewingConditions,\n\t\t);\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {constrain} from \"../angles.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {fromCam16, toCam16, environment} from \"./cam16.js\";\nimport {WHITES} from \"../adapt.js\";\n\nconst white = WHITES.D65;\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nfunction toLstar (y) {\n\t// Convert XYZ Y to L*\n\n\tconst fy = (y > ε) ? Math.cbrt(y) : (κ * y + 16) / 116;\n\treturn (116.0 * fy) - 16.0;\n}\n\nfunction fromLstar (lstar) {\n\t// Convert L* back to XYZ Y\n\n\treturn (lstar > 8) ? Math.pow((lstar + 16) / 116, 3) : lstar / κ;\n}\n\nfunction fromHct (coords, env) {\n\t// Use Newton's method to try and converge as quick as possible or\n\t// converge as close as we can. While the requested precision is achieved\n\t// most of the time, it may not always be achievable. Especially past the\n\t// visible spectrum, the algorithm will likely struggle to get the same\n\t// precision. If, for whatever reason, we cannot achieve the accuracy we\n\t// seek in the allotted iterations, just return the closest we were able to\n\t// get.\n\n\tlet [h, c, t] = coords;\n\tlet xyz = [];\n\tlet j = 0;\n\n\t// Shortcut out for black\n\tif (t === 0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\n\t// Calculate the Y we need to target\n\tlet y = fromLstar(t);\n\n\t// A better initial guess yields better results. Polynomials come from\n\t// curve fitting the T vs J response.\n\tif (t > 0) {\n\t\tj = 0.00379058511492914 * t ** 2 + 0.608983189401032 * t + 0.9155088574762233;\n\t}\n\telse {\n\t\tj = 9.514440756550361e-06 * t ** 2 + 0.08693057439788597 * t - 21.928975842194614;\n\t}\n\n\t// Threshold of how close is close enough, and max number of attempts.\n\t// More precision and more attempts means more time spent iterating. Higher\n\t// required precision gives more accuracy but also increases the chance of\n\t// not hitting the goal. 2e-12 allows us to convert round trip with\n\t// reasonable accuracy of six decimal places or more.\n\tconst threshold = 2e-12;\n\tconst max_attempts = 15;\n\n\tlet attempt = 0;\n\tlet last = Infinity;\n\tlet best = j;\n\n\t// Try to find a J such that the returned y matches the returned y of the L*\n\twhile (attempt <= max_attempts) {\n\t\txyz = fromCam16({J: j, C: c, h: h}, env);\n\n\t\t// If we are within range, return XYZ\n\t\t// If we are closer than last time, save the values\n\t\tconst delta = Math.abs(xyz[1] - y);\n\t\tif (delta < last) {\n\t\t\tif (delta <= threshold) {\n\t\t\t\treturn xyz;\n\t\t\t}\n\t\t\tbest = j;\n\t\t\tlast = delta;\n\t\t}\n\n\t\t// f(j_root) = (j ** (1 / 2)) * 0.1\n\t\t// f(j) = ((f(j_root) * 100) ** 2) / j - 1 = 0\n\t\t// f(j_root) = Y = y / 100\n\t\t// f(j) = (y ** 2) / j - 1\n\t\t// f'(j) = (2 * y) / j\n\t\tj = j - (xyz[1] - y) * j / (2 * xyz[1]);\n\n\t\tattempt += 1;\n\t}\n\n\t// We could not acquire the precision we desired,\n\t// return our closest attempt.\n\treturn fromCam16({J: j, C: c, h: h}, env);\n}\n\nfunction toHct (xyz, env) {\n\t// Calculate HCT by taking the L* of CIE LCh D65 and CAM16 chroma and hue.\n\n\tconst t = toLstar(xyz[1]);\n\tif (t === 0.0) {\n\t\treturn [0.0, 0.0, 0.0];\n\t}\n\tconst cam16 = toCam16(xyz, viewingConditions);\n\treturn [constrain(cam16.h), cam16.C, t];\n}\n\n// Pre-calculate everything we can with the viewing conditions\nexport const viewingConditions = environment(\n\twhite, 200 / Math.PI * fromLstar(50.0),\n\tfromLstar(50.0) * 100,\n\t\"average\",\n\tfalse,\n);\n\n// https://material.io/blog/science-of-color-design\n// This is not a port of the material-color-utilities,\n// but instead implements the full color space as described,\n// combining CAM16 JCh and Lab D65. This does not clamp conversion\n// to HCT to specific chroma bands and provides support for wider\n// gamuts than Google currently supports and does so at a greater\n// precision (> 8 bits back to sRGB).\n// This implementation comes from https://github.com/facelessuser/coloraide\n// which is licensed under MIT.\nexport default new ColorSpace({\n\tid: \"hct\",\n\tname: \"HCT\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 145],\n\t\t\tname: \"Colorfulness\",\n\t\t},\n\t\tt: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Tone\",\n\t\t},\n\t},\n\n\tbase: xyz_d65,\n\n\tfromBase (xyz) {\n\t\treturn toHct(xyz, viewingConditions);\n\t},\n\ttoBase (hct) {\n\t\treturn fromHct(hct, viewingConditions);\n\t},\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hct\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import hct from \"../spaces/hct.js\";\nimport {viewingConditions} from \"../spaces/hct.js\";\nimport getColor from \"../getColor.js\";\n\nconst rad2deg = 180 / Math.PI;\nconst deg2rad = Math.PI / 180;\nconst ucsCoeff = [1.00, 0.007, 0.0228];\n\n/**\n* Convert HCT chroma and hue (CAM16 JMh colorfulness and hue) using UCS logic for a and b.\n* @param {number[]} coords - HCT coordinates.\n* @return {number[]}\n*/\nfunction convertUcsAb (coords) {\n\t// We want the distance between the actual color.\n\t// If chroma is negative, it will throw off our calculations.\n\t// Normally, converting back to the base and forward will correct it.\n\t// If we have a negative chroma after this, then we have a color that\n\t// cannot resolve to positive chroma.\n\tif (coords[1] < 0) {\n\t\tcoords = hct.fromBase(hct.toBase(coords));\n\t}\n\n\t// Only in extreme cases (usually outside the visible spectrum)\n\t// can the input value for log become negative.\n\t// Avoid domain error by forcing a zero result via \"max\" if necessary.\n\tconst M = Math.log(Math.max(1 + ucsCoeff[2] * coords[1] * viewingConditions.flRoot, 1.0)) / ucsCoeff[2];\n\tconst hrad = coords[0] * deg2rad;\n\tconst a = M * Math.cos(hrad);\n\tconst b = M * Math.sin(hrad);\n\n\treturn [coords[2], a, b];\n}\n\n\n/**\n* Color distance using HCT.\n* @param {Color} color - Color to compare.\n* @param {Color} sample - Color to compare.\n* @return {number[]}\n*/\nexport default function (color, sample) {\n\t[color, sample] = getColor([color, sample]);\n\n\tlet [ t1, a1, b1 ] = convertUcsAb(hct.from(color));\n\tlet [ t2, a2, b2 ] = convertUcsAb(hct.from(sample));\n\n\t// Use simple euclidean distance with a and b using UCS conversion\n\t// and LCh lightness (HCT tone).\n\treturn Math.sqrt((t1 - t2) ** 2 + (a1 - a2) ** 2 + (b1 - b2) ** 2);\n}\n", "import deltaE76 from \"./deltaE76.js\";\nimport deltaECMC from \"./deltaECMC.js\";\nimport deltaE2000 from \"./deltaE2000.js\";\nimport deltaEJz from \"./deltaEJz.js\";\nimport deltaEITP from \"./deltaEITP.js\";\nimport deltaEOK from \"./deltaEOK.js\";\nimport deltaEHCT from \"./deltaEHCT.js\";\n\nexport {\n\tdeltaE76,\n\tdeltaECMC,\n\tdeltaE2000,\n\tdeltaEJz,\n\tdeltaEITP,\n\tdeltaEOK,\n\tdeltaEHCT,\n};\n\nexport default {\n\tdeltaE76,\n\tdeltaECMC,\n\tdeltaE2000,\n\tdeltaEJz,\n\tdeltaEITP,\n\tdeltaEOK,\n\tdeltaEHCT,\n};\n", "import * as util from \"./util.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\nimport deltaE2000 from \"./deltaE/deltaE2000.js\";\nimport deltaEOK from \"./deltaE/deltaEOK.js\";\nimport inGamut from \"./inGamut.js\";\nimport to from \"./to.js\";\nimport get from \"./get.js\";\nimport oklab from \"./spaces/oklab.js\";\nimport set from \"./set.js\";\nimport clone from \"./clone.js\";\nimport getColor from \"./getColor.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\nimport {WHITES} from \"./adapt.js\";\n\n/**\n * Calculate the epsilon to 2 degrees smaller than the specified JND.\n * @param {Number} jnd - The target \"just noticeable difference\".\n * @returns {Number}\n */\nfunction calcEpsilon (jnd) {\n\t// Calculate the epsilon to 2 degrees smaller than the specified JND.\n\n\tconst order = (!jnd) ? 0 : Math.floor(Math.log10(Math.abs(jnd)));\n\t// Limit to an arbitrary value to ensure value is never too small and causes infinite loops.\n\treturn Math.max(parseFloat(`1e${order - 2}`), 1e-6);\n}\n\nconst GMAPPRESET = {\n\t\"hct\": {\n\t\tmethod: \"hct.c\",\n\t\tjnd: 2,\n\t\tdeltaEMethod: \"hct\",\n\t\tblackWhiteClamp: {},\n\t},\n\t\"hct-tonal\": {\n\t\tmethod: \"hct.c\",\n\t\tjnd: 0,\n\t\tdeltaEMethod: \"hct\",\n\t\tblackWhiteClamp: { channel: \"hct.t\", min: 0, max: 100 },\n\t},\n};\n\n/**\n * Force coordinates to be in gamut of a certain color space.\n * Mutates the color it is passed.\n * @param {Object|string} options object or spaceId string\n * @param {string} options.method - How to force into gamut.\n * If \"clip\", coordinates are just clipped to their reference range.\n * If \"css\", coordinates are reduced according to the CSS 4 Gamut Mapping Algorithm.\n * If in the form [colorSpaceId].[coordName], that coordinate is reduced\n * until the color is in gamut. Please note that this may produce nonsensical\n * results for certain coordinates (e.g. hue) or infinite loops if reducing the coordinate never brings the color in gamut.\n * @param {ColorSpace|string} options.space - The space whose gamut we want to map to\n * @param {string} options.deltaEMethod - The delta E method to use while performing gamut mapping.\n * If no method is specified, delta E 2000 is used.\n * @param {Number} options.jnd - The \"just noticeable difference\" to target.\n * @param {Object} options.blackWhiteClamp - Used to configure SDR black and clamping.\n * \"channel\" indicates the \"space.channel\" to use for determining when to clamp.\n * \"min\" indicates the lower limit for black clamping and \"max\" indicates the upper\n * limit for white clamping.\n */\n\nexport default function toGamut (\n\tcolor,\n\t{\n\t\tmethod = defaults.gamut_mapping,\n\t\tspace = undefined,\n\t\tdeltaEMethod = \"\",\n\t\tjnd = 2,\n\t\tblackWhiteClamp = {},\n\t} = {},\n) {\n\tcolor = getColor(color);\n\n\tif (util.isString(arguments[1])) {\n\t\tspace = arguments[1];\n\t}\n\telse if (!space) {\n\t\tspace = color.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\n\t// 3 spaces:\n\t// color.space: current color space\n\t// space: space whose gamut we are mapping to\n\t// mapSpace: space with the coord we're reducing\n\n\tif (inGamut(color, space, { epsilon: 0 })) {\n\t\treturn color;\n\t}\n\n\tlet spaceColor;\n\tif (method === \"css\") {\n\t\tspaceColor = toGamutCSS(color, { space });\n\t}\n\telse {\n\t\tif (method !== \"clip\" && !inGamut(color, space)) {\n\n\t\t\tif (Object.prototype.hasOwnProperty.call(GMAPPRESET, method)) {\n\t\t\t\t({method, jnd, deltaEMethod, blackWhiteClamp} = GMAPPRESET[method]);\n\t\t\t}\n\n\t\t\t// Get the correct delta E method\n\t\t\tlet de = deltaE2000;\n\t\t\tif (deltaEMethod !== \"\") {\n\t\t\t\tfor (let m in deltaEMethods) {\n\t\t\t\t\tif (\"deltae\" + deltaEMethod.toLowerCase() === m.toLowerCase()) {\n\t\t\t\t\t\tde = deltaEMethods[m];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet clipped = toGamut(to(color, space), { method: \"clip\", space });\n\t\t\tif (de(color, clipped) > jnd) {\n\n\t\t\t\t// Clamp to SDR white and black if required\n\t\t\t\tif (Object.keys(blackWhiteClamp).length === 3) {\n\t\t\t\t\tlet channelMeta = ColorSpace.resolveCoord(blackWhiteClamp.channel);\n\t\t\t\t\tlet channel = get(to(color, channelMeta.space), channelMeta.id);\n\t\t\t\t\tif (util.isNone(channel)) {\n\t\t\t\t\t\tchannel = 0;\n\t\t\t\t\t}\n\t\t\t\t\tif (channel >= blackWhiteClamp.max) {\n\t\t\t\t\t\treturn to({ space: \"xyz-d65\", coords: WHITES[\"D65\"] }, color.space);\n\t\t\t\t\t}\n\t\t\t\t\telse if (channel <= blackWhiteClamp.min) {\n\t\t\t\t\t\treturn to({ space: \"xyz-d65\", coords: [0, 0, 0] }, color.space);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Reduce a coordinate of a certain color space until the color is in gamut\n\t\t\t\tlet coordMeta = ColorSpace.resolveCoord(method);\n\t\t\t\tlet mapSpace = coordMeta.space;\n\t\t\t\tlet coordId = coordMeta.id;\n\n\t\t\t\tlet mappedColor = to(color, mapSpace);\n\t\t\t\t// If we were already in the mapped color space, we need to resolve undefined channels\n\t\t\t\tmappedColor.coords.forEach((c, i) => {\n\t\t\t\t\tif (util.isNone(c)) {\n\t\t\t\t\t\tmappedColor.coords[i] = 0;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tlet bounds = coordMeta.range || coordMeta.refRange;\n\t\t\t\tlet min = bounds[0];\n\t\t\t\tlet ε = calcEpsilon(jnd);\n\t\t\t\tlet low = min;\n\t\t\t\tlet high = get(mappedColor, coordId);\n\n\t\t\t\twhile (high - low > ε) {\n\t\t\t\t\tlet clipped = clone(mappedColor);\n\t\t\t\t\tclipped = toGamut(clipped, { space, method: \"clip\" });\n\t\t\t\t\tlet deltaE = de(mappedColor, clipped);\n\n\t\t\t\t\tif (deltaE - jnd < ε) {\n\t\t\t\t\t\tlow = get(mappedColor, coordId);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\thigh = get(mappedColor, coordId);\n\t\t\t\t\t}\n\n\t\t\t\t\tset(mappedColor, coordId, (low + high) / 2);\n\t\t\t\t}\n\n\t\t\t\tspaceColor = to(mappedColor, space);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tspaceColor = clipped;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tspaceColor = to(color, space);\n\t\t}\n\n\t\tif (method === \"clip\" // Dumb coord clipping\n\t\t\t// finish off smarter gamut mapping with clip to get rid of ε, see #17\n\t\t\t|| !inGamut(spaceColor, space, { epsilon: 0 })\n\t\t) {\n\t\t\tlet bounds = Object.values(space.coords).map(c => c.range || []);\n\n\t\t\tspaceColor.coords = spaceColor.coords.map((c, i) => {\n\t\t\t\tlet [min, max] = bounds[i];\n\n\t\t\t\tif (min !== undefined) {\n\t\t\t\t\tc = Math.max(min, c);\n\t\t\t\t}\n\n\t\t\t\tif (max !== undefined) {\n\t\t\t\t\tc = Math.min(c, max);\n\t\t\t\t}\n\n\t\t\t\treturn c;\n\t\t\t});\n\t\t}\n\t}\n\n\tif (space !== color.space) {\n\t\tspaceColor = to(spaceColor, color.space);\n\t}\n\n\tcolor.coords = spaceColor.coords;\n\treturn color;\n}\n\ntoGamut.returns = \"color\";\n\n// The reference colors to be used if lightness is out of the range 0-1 in the\n// `Oklch` space. These are created in the `Oklab` space, as it is used by the\n// DeltaEOK calculation, so it is guaranteed to be imported.\nconst COLORS = {\n\tWHITE: { space: oklab, coords: [1, 0, 0] },\n\tBLACK: { space: oklab, coords: [0, 0, 0] },\n};\n\n/**\n * Given a color `origin`, returns a new color that is in gamut using\n * the CSS Gamut Mapping Algorithm. If `space` is specified, it will be in gamut\n * in `space`, and returned in `space`. Otherwise, it will be in gamut and\n * returned in the color space of `origin`.\n * @param {Object} origin\n * @param {Object} options\n * @param {ColorSpace|string} options.space\n * @returns {Color}\n */\nexport function toGamutCSS (origin, {space} = {}) {\n\tconst JND = 0.02;\n\tconst ε = 0.0001;\n\n\torigin = getColor(origin);\n\n\tif (!space) {\n\t\tspace = origin.space;\n\t}\n\n\tspace = ColorSpace.get(space);\n\tconst oklchSpace = ColorSpace.get(\"oklch\");\n\n\tif (space.isUnbounded) {\n\t\treturn to(origin, space);\n\t}\n\n\tconst origin_OKLCH = to(origin, oklchSpace);\n\tlet L = origin_OKLCH.coords[0];\n\n\t// return media white or black, if lightness is out of range\n\tif (L >= 1) {\n\t\tconst white = to(COLORS.WHITE, space);\n\t\twhite.alpha = origin.alpha;\n\t\treturn to(white, space);\n\t}\n\tif (L <= 0) {\n\t\tconst black = to(COLORS.BLACK, space);\n\t\tblack.alpha = origin.alpha;\n\t\treturn to(black, space);\n\t}\n\n\tif (inGamut(origin_OKLCH, space, {epsilon: 0})) {\n\t\treturn to(origin_OKLCH, space);\n\t}\n\n\tfunction clip (_color) {\n\t\tconst destColor = to(_color, space);\n\t\tconst spaceCoords = Object.values(space.coords);\n\t\tdestColor.coords = destColor.coords.map((coord, index) => {\n\t\t\tif (\"range\" in spaceCoords[index]) {\n\t\t\t\tconst [min, max] = spaceCoords[index].range;\n\t\t\t\treturn util.clamp(min, coord, max);\n\t\t\t}\n\t\t\treturn coord;\n\t\t});\n\t\treturn destColor;\n\t}\n\tlet min = 0;\n\tlet max = origin_OKLCH.coords[1];\n\tlet min_inGamut = true;\n\tlet current = clone(origin_OKLCH);\n\tlet clipped = clip(current);\n\n\tlet E = deltaEOK(clipped, current);\n\tif (E < JND) {\n\t\treturn clipped;\n\t}\n\n\twhile ((max - min) > ε) {\n\t\tconst chroma = (min + max) / 2;\n\t\tcurrent.coords[1] = chroma;\n\t\tif (min_inGamut && inGamut(current, space, {epsilon: 0})) {\n\t\t\tmin = chroma;\n\t\t}\n\t\telse {\n\t\t\tclipped = clip(current);\n\t\t\tE = deltaEOK(clipped, current);\n\t\t\tif (E < JND) {\n\t\t\t\tif ((JND - E < ε)) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tmin_inGamut = false;\n\t\t\t\t\tmin = chroma;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tmax = chroma;\n\t\t\t}\n\t\t}\n\t}\n\treturn clipped;\n}\n", "import getColor from \"./getColor.js\";\nimport ColorSpace from \"./space.js\";\nimport toGamut from \"./toGamut.js\";\n\n/**\n * Convert to color space and return a new color\n * @param {Object|string} space - Color space object or id\n * @param {Object} options\n * @param {boolean} options.inGamut - Whether to force resulting color in gamut\n * @returns {Color}\n */\nexport default function to (color, space, {inGamut} = {}) {\n\tcolor = getColor(color);\n\tspace = ColorSpace.get(space);\n\n\tlet coords = space.from(color);\n\tlet ret = {space, coords, alpha: color.alpha};\n\n\tif (inGamut) {\n\t\tret = toGamut(ret, inGamut === true ? undefined : inGamut);\n\t}\n\n\treturn ret;\n}\n\nto.returns = \"color\";\n", "import * as util from \"./util.js\";\nimport ColorSpace from \"./space.js\";\nimport defaults from \"./defaults.js\";\nimport getColor from \"./getColor.js\";\nimport checkInGamut from \"./inGamut.js\";\nimport toGamut from \"./toGamut.js\";\nimport clone from \"./clone.js\";\n\n/**\n * Generic toString() method, outputs a color(spaceId ...coords) function, a functional syntax, or custom formats defined by the color space\n * @param {Object} options\n * @param {number} options.precision - Significant digits\n * @param {boolean} options.inGamut - Adjust coordinates to fit in gamut first? [default: false]\n */\nexport default function serialize (color, {\n\tprecision = defaults.precision,\n\tformat = \"default\",\n\tinGamut = true,\n\t...customOptions\n} = {}) {\n\tlet ret;\n\n\tcolor = getColor(color);\n\n\tlet formatId = format;\n\tformat = color.space.getFormat(format)\n\t ?? color.space.getFormat(\"default\")\n\t ?? ColorSpace.DEFAULT_FORMAT;\n\n\t// The assignment to coords and inGamut needs to stay in the order they are now\n\t// The order of the assignment was changed as a workaround for a bug in Next.js\n\t// See this issue for details: https://github.com/color-js/color.js/issues/260\n\n\tlet coords = color.coords.slice(); // clone so we can manipulate it\n\n\tinGamut ||= format.toGamut;\n\n\tif (inGamut && !checkInGamut(color)) {\n\t\t// FIXME what happens if the color contains NaNs?\n\t\tcoords = toGamut(clone(color), inGamut === true ? undefined : inGamut).coords;\n\t}\n\n\tif (format.type === \"custom\") {\n\t\tcustomOptions.precision = precision;\n\n\t\tif (format.serialize) {\n\t\t\tret = format.serialize(coords, color.alpha, customOptions);\n\t\t}\n\t\telse {\n\t\t\tthrow new TypeError(`format ${formatId} can only be used to parse colors, not for serialization`);\n\t\t}\n\t}\n\telse {\n\t\t// Functional syntax\n\t\tlet name = format.name || \"color\";\n\n\t\tif (format.serializeCoords) {\n\t\t\tcoords = format.serializeCoords(coords, precision);\n\t\t}\n\t\telse {\n\t\t\tif (precision !== null) {\n\t\t\t\tcoords = coords.map(c => {\n\t\t\t\t\treturn util.serializeNumber(c, {precision});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tlet args = [...coords];\n\n\t\tif (name === \"color\") {\n\t\t\t// If output is a color() function, add colorspace id as first argument\n\t\t\tlet cssId = format.id || format.ids?.[0] || color.space.id;\n\t\t\targs.unshift(cssId);\n\t\t}\n\n\t\tlet alpha = color.alpha;\n\t\tif (precision !== null) {\n\t\t\talpha = util.serializeNumber(alpha, {precision});\n\t\t}\n\n\t\tlet strAlpha = color.alpha >= 1 || format.noAlpha ? \"\" : `${format.commas ? \",\" : \" /\"} ${alpha}`;\n\t\tret = `${name}(${args.join(format.commas ? \", \" : \" \")}${strAlpha})`;\n\t}\n\n\treturn ret;\n}\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// convert an array of linear-light rec2020 values to CIE XYZ\n// using D65 (no chromatic adaptation)\n// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n// 0 is actually calculated as 4.994106574466076e-17\nconst toXYZ_M = [\n\t[ 0.6369580483012914, 0.14461690358620832, 0.1688809751641721 ],\n\t[ 0.2627002120112671, 0.6779980715188708, 0.05930171646986196 ],\n\t[ 0.000000000000000, 0.028072693049087428, 1.060985057710791 ],\n];\n\n// from ITU-R BT.2124-0 Annex 2 p.3\nconst fromXYZ_M = [\n\t[ 1.716651187971268, -0.355670783776392, -0.253366281373660 ],\n\t[ -0.666684351832489, 1.616481236634939, 0.0157685458139111 ],\n\t[ 0.017639857445311, -0.042770613257809, 0.942103121235474 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"rec2020-linear\",\n\tcssId: \"--rec2020-linear\",\n\tname: \"Linear REC.2020\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n// import sRGB from \"./srgb.js\";\n\nconst α = 1.09929682680944;\nconst β = 0.018053968510807;\n\nexport default new RGBColorSpace({\n\tid: \"rec2020\",\n\tname: \"REC.2020\",\n\tbase: REC2020Linear,\n\t// Non-linear transfer function from Rec. ITU-R BT.2020-2 table 4\n\ttoBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val < β * 4.5) {\n\t\t\t\treturn val / 4.5;\n\t\t\t}\n\n\t\t\treturn Math.pow((val + α - 1) / α, 1 / 0.45);\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val >= β) {\n\t\t\t\treturn α * Math.pow(val, 0.45) - (α - 1);\n\t\t\t}\n\n\t\t\treturn 4.5 * val;\n\t\t});\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\nconst toXYZ_M = [\n\t[0.4865709486482162, 0.26566769316909306, 0.1982172852343625],\n\t[0.2289745640697488, 0.6917385218365064, 0.079286914093745],\n\t[0.0000000000000000, 0.04511338185890264, 1.043944368900976],\n];\n\nconst fromXYZ_M = [\n\t[ 2.493496911941425, -0.9313836179191239, -0.40271078445071684],\n\t[-0.8294889695615747, 1.7626640603183463, 0.023624685841943577],\n\t[ 0.03584583024378447, -0.07617238926804182, 0.9568845240076872],\n];\n\nexport default new RGBColorSpace({\n\tid: \"p3-linear\",\n\tcssId: \"--display-p3-linear\",\n\tname: \"Linear P3\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// This is the linear-light version of sRGB\n// as used for example in SVG filters\n// or in Canvas\n\n// This matrix was calculated directly from the RGB and white chromaticities\n// when rounded to 8 decimal places, it agrees completely with the official matrix\n// see https://github.com/w3c/csswg-drafts/issues/5922\nconst toXYZ_M = [\n\t[ 0.41239079926595934, 0.357584339383878, 0.1804807884018343 ],\n\t[ 0.21263900587151027, 0.715168678767756, 0.07219231536073371 ],\n\t[ 0.01933081871559182, 0.11919477979462598, 0.9505321522496607 ],\n];\n\n// This matrix is the inverse of the above;\n// again it agrees with the official definition when rounded to 8 decimal places\nexport const fromXYZ_M = [\n\t[ 3.2409699419045226, -1.537383177570094, -0.4986107602930034 ],\n\t[ -0.9692436362808796, 1.8759675015077202, 0.04155505740717559 ],\n\t[ 0.05563007969699366, -0.20397695888897652, 1.0569715142428786 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"srgb-linear\",\n\tname: \"Linear sRGB\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "/* List of CSS color keywords\n * Note that this does not include currentColor, transparent,\n * or system colors\n */\n\n// To produce: Visit https://www.w3.org/TR/css-color-4/#named-colors\n// and run in the console:\n// copy($$(\"tr\", $(\".named-color-table tbody\")).map(tr => `\"${tr.cells[2].textContent.trim()}\": [${tr.cells[4].textContent.trim().split(/\\s+/).map(c => c === \"0\"? \"0\" : c === \"255\"? \"1\" : c + \" / 255\").join(\", \")}]`).join(\",\\n\"))\nexport default {\n\t\"aliceblue\": [240 / 255, 248 / 255, 1],\n\t\"antiquewhite\": [250 / 255, 235 / 255, 215 / 255],\n\t\"aqua\": [0, 1, 1],\n\t\"aquamarine\": [127 / 255, 1, 212 / 255],\n\t\"azure\": [240 / 255, 1, 1],\n\t\"beige\": [245 / 255, 245 / 255, 220 / 255],\n\t\"bisque\": [1, 228 / 255, 196 / 255],\n\t\"black\": [0, 0, 0],\n\t\"blanchedalmond\": [1, 235 / 255, 205 / 255],\n\t\"blue\": [0, 0, 1],\n\t\"blueviolet\": [138 / 255, 43 / 255, 226 / 255],\n\t\"brown\": [165 / 255, 42 / 255, 42 / 255],\n\t\"burlywood\": [222 / 255, 184 / 255, 135 / 255],\n\t\"cadetblue\": [95 / 255, 158 / 255, 160 / 255],\n\t\"chartreuse\": [127 / 255, 1, 0],\n\t\"chocolate\": [210 / 255, 105 / 255, 30 / 255],\n\t\"coral\": [1, 127 / 255, 80 / 255],\n\t\"cornflowerblue\": [100 / 255, 149 / 255, 237 / 255],\n\t\"cornsilk\": [1, 248 / 255, 220 / 255],\n\t\"crimson\": [220 / 255, 20 / 255, 60 / 255],\n\t\"cyan\": [0, 1, 1],\n\t\"darkblue\": [0, 0, 139 / 255],\n\t\"darkcyan\": [0, 139 / 255, 139 / 255],\n\t\"darkgoldenrod\": [184 / 255, 134 / 255, 11 / 255],\n\t\"darkgray\": [169 / 255, 169 / 255, 169 / 255],\n\t\"darkgreen\": [0, 100 / 255, 0],\n\t\"darkgrey\": [169 / 255, 169 / 255, 169 / 255],\n\t\"darkkhaki\": [189 / 255, 183 / 255, 107 / 255],\n\t\"darkmagenta\": [139 / 255, 0, 139 / 255],\n\t\"darkolivegreen\": [85 / 255, 107 / 255, 47 / 255],\n\t\"darkorange\": [1, 140 / 255, 0],\n\t\"darkorchid\": [153 / 255, 50 / 255, 204 / 255],\n\t\"darkred\": [139 / 255, 0, 0],\n\t\"darksalmon\": [233 / 255, 150 / 255, 122 / 255],\n\t\"darkseagreen\": [143 / 255, 188 / 255, 143 / 255],\n\t\"darkslateblue\": [72 / 255, 61 / 255, 139 / 255],\n\t\"darkslategray\": [47 / 255, 79 / 255, 79 / 255],\n\t\"darkslategrey\": [47 / 255, 79 / 255, 79 / 255],\n\t\"darkturquoise\": [0, 206 / 255, 209 / 255],\n\t\"darkviolet\": [148 / 255, 0, 211 / 255],\n\t\"deeppink\": [1, 20 / 255, 147 / 255],\n\t\"deepskyblue\": [0, 191 / 255, 1],\n\t\"dimgray\": [105 / 255, 105 / 255, 105 / 255],\n\t\"dimgrey\": [105 / 255, 105 / 255, 105 / 255],\n\t\"dodgerblue\": [30 / 255, 144 / 255, 1],\n\t\"firebrick\": [178 / 255, 34 / 255, 34 / 255],\n\t\"floralwhite\": [1, 250 / 255, 240 / 255],\n\t\"forestgreen\": [34 / 255, 139 / 255, 34 / 255],\n\t\"fuchsia\": [1, 0, 1],\n\t\"gainsboro\": [220 / 255, 220 / 255, 220 / 255],\n\t\"ghostwhite\": [248 / 255, 248 / 255, 1],\n\t\"gold\": [1, 215 / 255, 0],\n\t\"goldenrod\": [218 / 255, 165 / 255, 32 / 255],\n\t\"gray\": [128 / 255, 128 / 255, 128 / 255],\n\t\"green\": [0, 128 / 255, 0],\n\t\"greenyellow\": [173 / 255, 1, 47 / 255],\n\t\"grey\": [128 / 255, 128 / 255, 128 / 255],\n\t\"honeydew\": [240 / 255, 1, 240 / 255],\n\t\"hotpink\": [1, 105 / 255, 180 / 255],\n\t\"indianred\": [205 / 255, 92 / 255, 92 / 255],\n\t\"indigo\": [75 / 255, 0, 130 / 255],\n\t\"ivory\": [1, 1, 240 / 255],\n\t\"khaki\": [240 / 255, 230 / 255, 140 / 255],\n\t\"lavender\": [230 / 255, 230 / 255, 250 / 255],\n\t\"lavenderblush\": [1, 240 / 255, 245 / 255],\n\t\"lawngreen\": [124 / 255, 252 / 255, 0],\n\t\"lemonchiffon\": [1, 250 / 255, 205 / 255],\n\t\"lightblue\": [173 / 255, 216 / 255, 230 / 255],\n\t\"lightcoral\": [240 / 255, 128 / 255, 128 / 255],\n\t\"lightcyan\": [224 / 255, 1, 1],\n\t\"lightgoldenrodyellow\": [250 / 255, 250 / 255, 210 / 255],\n\t\"lightgray\": [211 / 255, 211 / 255, 211 / 255],\n\t\"lightgreen\": [144 / 255, 238 / 255, 144 / 255],\n\t\"lightgrey\": [211 / 255, 211 / 255, 211 / 255],\n\t\"lightpink\": [1, 182 / 255, 193 / 255],\n\t\"lightsalmon\": [1, 160 / 255, 122 / 255],\n\t\"lightseagreen\": [32 / 255, 178 / 255, 170 / 255],\n\t\"lightskyblue\": [135 / 255, 206 / 255, 250 / 255],\n\t\"lightslategray\": [119 / 255, 136 / 255, 153 / 255],\n\t\"lightslategrey\": [119 / 255, 136 / 255, 153 / 255],\n\t\"lightsteelblue\": [176 / 255, 196 / 255, 222 / 255],\n\t\"lightyellow\": [1, 1, 224 / 255],\n\t\"lime\": [0, 1, 0],\n\t\"limegreen\": [50 / 255, 205 / 255, 50 / 255],\n\t\"linen\": [250 / 255, 240 / 255, 230 / 255],\n\t\"magenta\": [1, 0, 1],\n\t\"maroon\": [128 / 255, 0, 0],\n\t\"mediumaquamarine\": [102 / 255, 205 / 255, 170 / 255],\n\t\"mediumblue\": [0, 0, 205 / 255],\n\t\"mediumorchid\": [186 / 255, 85 / 255, 211 / 255],\n\t\"mediumpurple\": [147 / 255, 112 / 255, 219 / 255],\n\t\"mediumseagreen\": [60 / 255, 179 / 255, 113 / 255],\n\t\"mediumslateblue\": [123 / 255, 104 / 255, 238 / 255],\n\t\"mediumspringgreen\": [0, 250 / 255, 154 / 255],\n\t\"mediumturquoise\": [72 / 255, 209 / 255, 204 / 255],\n\t\"mediumvioletred\": [199 / 255, 21 / 255, 133 / 255],\n\t\"midnightblue\": [25 / 255, 25 / 255, 112 / 255],\n\t\"mintcream\": [245 / 255, 1, 250 / 255],\n\t\"mistyrose\": [1, 228 / 255, 225 / 255],\n\t\"moccasin\": [1, 228 / 255, 181 / 255],\n\t\"navajowhite\": [1, 222 / 255, 173 / 255],\n\t\"navy\": [0, 0, 128 / 255],\n\t\"oldlace\": [253 / 255, 245 / 255, 230 / 255],\n\t\"olive\": [128 / 255, 128 / 255, 0],\n\t\"olivedrab\": [107 / 255, 142 / 255, 35 / 255],\n\t\"orange\": [1, 165 / 255, 0],\n\t\"orangered\": [1, 69 / 255, 0],\n\t\"orchid\": [218 / 255, 112 / 255, 214 / 255],\n\t\"palegoldenrod\": [238 / 255, 232 / 255, 170 / 255],\n\t\"palegreen\": [152 / 255, 251 / 255, 152 / 255],\n\t\"paleturquoise\": [175 / 255, 238 / 255, 238 / 255],\n\t\"palevioletred\": [219 / 255, 112 / 255, 147 / 255],\n\t\"papayawhip\": [1, 239 / 255, 213 / 255],\n\t\"peachpuff\": [1, 218 / 255, 185 / 255],\n\t\"peru\": [205 / 255, 133 / 255, 63 / 255],\n\t\"pink\": [1, 192 / 255, 203 / 255],\n\t\"plum\": [221 / 255, 160 / 255, 221 / 255],\n\t\"powderblue\": [176 / 255, 224 / 255, 230 / 255],\n\t\"purple\": [128 / 255, 0, 128 / 255],\n\t\"rebeccapurple\": [102 / 255, 51 / 255, 153 / 255],\n\t\"red\": [1, 0, 0],\n\t\"rosybrown\": [188 / 255, 143 / 255, 143 / 255],\n\t\"royalblue\": [65 / 255, 105 / 255, 225 / 255],\n\t\"saddlebrown\": [139 / 255, 69 / 255, 19 / 255],\n\t\"salmon\": [250 / 255, 128 / 255, 114 / 255],\n\t\"sandybrown\": [244 / 255, 164 / 255, 96 / 255],\n\t\"seagreen\": [46 / 255, 139 / 255, 87 / 255],\n\t\"seashell\": [1, 245 / 255, 238 / 255],\n\t\"sienna\": [160 / 255, 82 / 255, 45 / 255],\n\t\"silver\": [192 / 255, 192 / 255, 192 / 255],\n\t\"skyblue\": [135 / 255, 206 / 255, 235 / 255],\n\t\"slateblue\": [106 / 255, 90 / 255, 205 / 255],\n\t\"slategray\": [112 / 255, 128 / 255, 144 / 255],\n\t\"slategrey\": [112 / 255, 128 / 255, 144 / 255],\n\t\"snow\": [1, 250 / 255, 250 / 255],\n\t\"springgreen\": [0, 1, 127 / 255],\n\t\"steelblue\": [70 / 255, 130 / 255, 180 / 255],\n\t\"tan\": [210 / 255, 180 / 255, 140 / 255],\n\t\"teal\": [0, 128 / 255, 128 / 255],\n\t\"thistle\": [216 / 255, 191 / 255, 216 / 255],\n\t\"tomato\": [1, 99 / 255, 71 / 255],\n\t\"turquoise\": [64 / 255, 224 / 255, 208 / 255],\n\t\"violet\": [238 / 255, 130 / 255, 238 / 255],\n\t\"wheat\": [245 / 255, 222 / 255, 179 / 255],\n\t\"white\": [1, 1, 1],\n\t\"whitesmoke\": [245 / 255, 245 / 255, 245 / 255],\n\t\"yellow\": [1, 1, 0],\n\t\"yellowgreen\": [154 / 255, 205 / 255, 50 / 255],\n};\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport sRGBLinear from \"./srgb-linear.js\";\nimport KEYWORDS from \"../keywords.js\";\n\nlet coordGrammar = Array(3).fill(\"<percentage> | <number>[0, 255]\");\nlet coordGrammarNumber = Array(3).fill(\"<number>[0, 255]\");\n\nexport default new RGBColorSpace({\n\tid: \"srgb\",\n\tname: \"sRGB\",\n\tbase: sRGBLinear,\n\tfromBase: rgb => {\n\t\t// convert an array of linear-light sRGB values in the range 0.0-1.0\n\t\t// to gamma corrected form\n\t\t// https://en.wikipedia.org/wiki/SRGB\n\t\treturn rgb.map(val => {\n\t\t\tlet sign = val < 0 ? -1 : 1;\n\t\t\tlet abs = val * sign;\n\n\t\t\tif (abs > 0.0031308) {\n\t\t\t\treturn sign * (1.055 * (abs ** (1 / 2.4)) - 0.055);\n\t\t\t}\n\n\t\t\treturn 12.92 * val;\n\t\t});\n\t},\n\ttoBase: rgb => {\n\t\t// convert an array of sRGB values in the range 0.0 - 1.0\n\t\t// to linear light (un-companded) form.\n\t\t// https://en.wikipedia.org/wiki/SRGB\n\t\treturn rgb.map(val => {\n\t\t\tlet sign = val < 0 ? -1 : 1;\n\t\t\tlet abs = val * sign;\n\n\t\t\tif (abs <= 0.04045) {\n\t\t\t\treturn val / 12.92;\n\t\t\t}\n\n\t\t\treturn sign * (((abs + 0.055) / 1.055) ** 2.4);\n\t\t});\n\t},\n\tformats: {\n\t\t\"rgb\": {\n\t\t\tcoords: coordGrammar,\n\t\t},\n\t\t\"rgb_number\": {\n\t\t\tname: \"rgb\",\n\t\t\tcommas: true,\n\t\t\tcoords: coordGrammarNumber,\n\t\t\tnoAlpha: true,\n\t\t},\n\t\t\"color\": { /* use defaults */ },\n\t\t\"rgba\": {\n\t\t\tcoords: coordGrammar,\n\t\t\tcommas: true,\n\t\t\tlastAlpha: true,\n\t\t},\n\t\t\"rgba_number\": {\n\t\t\tname: \"rgba\",\n\t\t\tcommas: true,\n\t\t\tcoords: coordGrammarNumber,\n\t\t},\n\t\t\"hex\": {\n\t\t\ttype: \"custom\",\n\t\t\ttoGamut: true,\n\t\t\ttest: str => /^#([a-f0-9]{3,4}){1,2}$/i.test(str),\n\t\t\tparse (str) {\n\t\t\t\tif (str.length <= 5) {\n\t\t\t\t\t// #rgb or #rgba, duplicate digits\n\t\t\t\t\tstr = str.replace(/[a-f0-9]/gi, \"$&$&\");\n\t\t\t\t}\n\n\t\t\t\tlet rgba = [];\n\t\t\t\tstr.replace(/[a-f0-9]{2}/gi, component => {\n\t\t\t\t\trgba.push(parseInt(component, 16) / 255);\n\t\t\t\t});\n\n\t\t\t\treturn {\n\t\t\t\t\tspaceId: \"srgb\",\n\t\t\t\t\tcoords: rgba.slice(0, 3),\n\t\t\t\t\talpha: rgba.slice(3)[0],\n\t\t\t\t};\n\t\t\t},\n\t\t\tserialize: (coords, alpha, {\n\t\t\t\tcollapse = true, // collapse to 3-4 digit hex when possible?\n\t\t\t} = {}) => {\n\t\t\t\tif (alpha < 1) {\n\t\t\t\t\tcoords.push(alpha);\n\t\t\t\t}\n\n\t\t\t\tcoords = coords.map(c => Math.round(c * 255));\n\n\t\t\t\tlet collapsible = collapse && coords.every(c => c % 17 === 0);\n\n\t\t\t\tlet hex = coords.map(c => {\n\t\t\t\t\tif (collapsible) {\n\t\t\t\t\t\treturn (c / 17).toString(16);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn c.toString(16).padStart(2, \"0\");\n\t\t\t\t}).join(\"\");\n\n\t\t\t\treturn \"#\" + hex;\n\t\t\t},\n\t\t},\n\t\t\"keyword\": {\n\t\t\ttype: \"custom\",\n\t\t\ttest: str => /^[a-z]+$/i.test(str),\n\t\t\tparse (str) {\n\t\t\t\tstr = str.toLowerCase();\n\t\t\t\tlet ret = {spaceId: \"srgb\", coords: null, alpha: 1};\n\n\t\t\t\tif (str === \"transparent\") {\n\t\t\t\t\tret.coords = KEYWORDS.black;\n\t\t\t\t\tret.alpha = 0;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tret.coords = KEYWORDS[str];\n\t\t\t\t}\n\n\t\t\t\tif (ret.coords) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport P3Linear from \"./p3-linear.js\";\nimport sRGB from \"./srgb.js\";\n\nexport default new RGBColorSpace({\n\tid: \"p3\",\n\tcssId: \"display-p3\",\n\tname: \"P3\",\n\tbase: P3Linear,\n\t// Gamma encoding/decoding is the same as sRGB\n\tfromBase: sRGB.fromBase,\n\ttoBase: sRGB.toBase,\n});\n", "import { isNone, skipNone } from \"./util.js\";\nimport defaults from \"./defaults.js\";\nimport to from \"./to.js\";\nimport serialize from \"./serialize.js\";\nimport clone from \"./clone.js\";\nimport REC2020 from \"./spaces/rec2020.js\";\nimport P3 from \"./spaces/p3.js\";\nimport Lab from \"./spaces/lab.js\";\nimport sRGB from \"./spaces/srgb.js\";\n\n// Default space for CSS output. Code in Color.js makes this wider if there's a DOM available\ndefaults.display_space = sRGB;\n\nlet supportsNone;\n\nif (typeof CSS !== \"undefined\" && CSS.supports) {\n\t// Find widest supported color space for CSS\n\tfor (let space of [Lab, REC2020, P3]) {\n\t\tlet coords = space.getMinCoords();\n\t\tlet color = {space, coords, alpha: 1};\n\t\tlet str = serialize(color);\n\n\t\tif (CSS.supports(\"color\", str)) {\n\t\t\tdefaults.display_space = space;\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\n/**\n * Returns a serialization of the color that can actually be displayed in the browser.\n * If the default serialization can be displayed, it is returned.\n * Otherwise, the color is converted to Lab, REC2020, or P3, whichever is the widest supported.\n * In Node.js, this is basically equivalent to `serialize()` but returns a `String` object instead.\n *\n * @export\n * @param {{space, coords} | Color | string} color\n * @param {*} [options={}] Options to be passed to serialize()\n * @param {ColorSpace | string} [options.space = defaults.display_space] Color space to use for serialization if default is not supported\n * @returns {String} String object containing the serialized color with a color property containing the converted color (or the original, if no conversion was necessary)\n */\nexport default function display (color, {space = defaults.display_space, ...options} = {}) {\n\tlet ret = serialize(color, options);\n\n\tif (typeof CSS === \"undefined\" || CSS.supports(\"color\", ret) || !defaults.display_space) {\n\t\tret = new String(ret);\n\t\tret.color = color;\n\t}\n\telse {\n\t\t// If we're here, what we were about to output is not supported\n\t\tlet fallbackColor = color;\n\n\t\t// First, check if the culprit is none values\n\t\tlet hasNone = color.coords.some(isNone) || isNone(color.alpha);\n\n\t\tif (hasNone) {\n\t\t\t// Does the browser support none values?\n\t\t\tif (!(supportsNone ??= CSS.supports(\"color\", \"hsl(none 50% 50%)\"))) {\n\t\t\t\t// Nope, try again without none\n\t\t\t\tfallbackColor = clone(color);\n\t\t\t\tfallbackColor.coords = fallbackColor.coords.map(skipNone);\n\t\t\t\tfallbackColor.alpha = skipNone(fallbackColor.alpha);\n\n\t\t\t\tret = serialize(fallbackColor, options);\n\n\t\t\t\tif (CSS.supports(\"color\", ret)) {\n\t\t\t\t\t// We're done, now it's supported\n\t\t\t\t\tret = new String(ret);\n\t\t\t\t\tret.color = fallbackColor;\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If we're here, the color function is not supported\n\t\t// Fall back to fallback space\n\t\tfallbackColor = to(fallbackColor, space);\n\t\tret = new String(serialize(fallbackColor, options));\n\t\tret.color = fallbackColor;\n\t}\n\n\treturn ret;\n}\n", "import getColor from \"./getColor.js\";\n\nexport default function equals (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\treturn color1.space === color2.space\n\t && color1.alpha === color2.alpha\n\t && color1.coords.every((c, i) => c === color2.coords[i]);\n}\n", "/**\n * Relative luminance\n */\nimport get from \"./get.js\";\nimport set from \"./set.js\";\nimport xyz_d65 from \"./spaces/xyz-d65.js\";\n\nexport function getLuminance (color) {\n\t// Assume getColor() is called on color in get()\n\treturn get(color, [xyz_d65, \"y\"]);\n}\n\nexport function setLuminance (color, value) {\n\t// Assume getColor() is called on color in set()\n\tset(color, [xyz_d65, \"y\"], value);\n}\n\nexport function register (Color) {\n\tObject.defineProperty(Color.prototype, \"luminance\", {\n\t\tget () {\n\t\t\treturn getLuminance(this);\n\t\t},\n\t\tset (value) {\n\t\t\tsetLuminance(this, value);\n\t\t},\n\t});\n}\n", "// WCAG 2.0 contrast https://www.w3.org/TR/WCAG20-TECHS/G18.html\n// Simple contrast, with fixed 5% viewing flare contribution\n// Symmetric, does not matter which is foreground and which is background\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\nexport default function contrastWCAG21 (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\treturn (Y1 + .05) / (Y2 + .05);\n}\n", "// APCA 0.0.98G\n// https://github.com/Myndex/apca-w3\n// see also https://github.com/w3c/silver/issues/643\n\nimport getColor from \"../getColor.js\";\nimport to from \"../to.js\";\n\n// exponents\nconst normBG = 0.56;\nconst normTXT = 0.57;\nconst revTXT = 0.62;\nconst revBG = 0.65;\n\n// clamps\nconst blkThrs = 0.022;\nconst blkClmp = 1.414;\nconst loClip = 0.1;\nconst deltaYmin = 0.0005;\n\n// scalers\n// see https://github.com/w3c/silver/issues/645\nconst scaleBoW = 1.14;\nconst loBoWoffset = 0.027;\nconst scaleWoB = 1.14;\nconst loWoBoffset = 0.027;\n\nfunction fclamp (Y) {\n\tif (Y >= blkThrs) {\n\t\treturn Y;\n\t}\n\treturn Y + (blkThrs - Y) ** blkClmp;\n}\n\nfunction linearize (val) {\n\tlet sign = val < 0 ? -1 : 1;\n\tlet abs = Math.abs(val);\n\treturn sign * Math.pow(abs, 2.4);\n}\n\n// Not symmetric, requires a foreground (text) color, and a background color\nexport default function contrastAPCA (background, foreground) {\n\tforeground = getColor(foreground);\n\tbackground = getColor(background);\n\n\tlet S;\n\tlet C;\n\tlet Sapc;\n\n\t// Myndex as-published, assumes sRGB inputs\n\tlet R, G, B;\n\n\tforeground = to(foreground, \"srgb\");\n\t// Should these be clamped to in-gamut values?\n\n\t// Calculates \"screen luminance\" with non-standard simple gamma EOTF\n\t// weights should be from CSS Color 4, not the ones here which are via Myndex and copied from Lindbloom\n\t[R, G, B] = foreground.coords;\n\tlet lumTxt = linearize(R) * 0.2126729 + linearize(G) * 0.7151522 + linearize(B) * 0.0721750;\n\n\tbackground = to(background, \"srgb\");\n\t[R, G, B] = background.coords;\n\tlet lumBg = linearize(R) * 0.2126729 + linearize(G) * 0.7151522 + linearize(B) * 0.0721750;\n\n\t// toe clamping of very dark values to account for flare\n\tlet Ytxt = fclamp(lumTxt);\n\tlet Ybg = fclamp(lumBg);\n\n\t// are we \"Black on White\" (dark on light), or light on dark?\n\tlet BoW = Ybg > Ytxt;\n\n\t// why is this a delta, when Y is not perceptually uniform?\n\t// Answer: it is a noise gate, see\n\t// https://github.com/LeaVerou/color.js/issues/208\n\tif (Math.abs(Ybg - Ytxt) < deltaYmin) {\n\t\tC = 0;\n\t}\n\telse {\n\t\tif (BoW) {\n\t\t\t// dark text on light background\n\t\t\tS = Ybg ** normBG - Ytxt ** normTXT;\n\t\t\tC = S * scaleBoW;\n\t\t}\n\t\telse {\n\t\t\t// light text on dark background\n\t\t\tS = Ybg ** revBG - Ytxt ** revTXT;\n\t\t\tC = S * scaleWoB;\n\t\t}\n\t}\n\tif (Math.abs(C) < loClip) {\n\t\tSapc = 0;\n\t}\n\telse if (C > 0) {\n\t\t// not clear whether Woffset is loBoWoffset or loWoBoffset\n\t\t// but they have the same value\n\t\tSapc = C - loBoWoffset;\n\t}\n\telse {\n\t\tSapc = C + loBoWoffset;\n\t}\n\n\treturn Sapc * 100;\n}\n", "// Michelson luminance contrast\n// the relation between the spread and the sum of the two luminances\n// Symmetric, does not matter which is foreground and which is background\n// No black level compensation for flare.\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\nexport default function contrastMichelson (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\tlet denom = (Y1 + Y2);\n\treturn denom === 0 ? 0 : (Y1 - Y2) / denom;\n}\n", "// Weber luminance contrast\n// The difference between the two luminances divided by the lower luminance\n// Symmetric, does not matter which is foreground and which is background\n// No black level compensation for flare.\n\nimport getColor from \"../getColor.js\";\nimport {getLuminance} from \"../luminance.js\";\n\n// the darkest sRGB color above black is #000001 and this produces\n// a plain Weber contrast of ~45647.\n// So, setting the divide-by-zero result at 50000 is a reasonable\n// max clamp for the plain Weber\nconst max = 50000;\n\nexport default function contrastWeber (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Y1 = Math.max(getLuminance(color1), 0);\n\tlet Y2 = Math.max(getLuminance(color2), 0);\n\n\tif (Y2 > Y1) {\n\t\t[Y1, Y2] = [Y2, Y1];\n\t}\n\n\treturn Y2 === 0 ? max : (Y1 - Y2) / Y2;\n}\n", "// CIE Lightness difference, as used by Google Material Design\n// Google HCT Tone is the same as CIE Lightness\n// https://material.io/blog/science-of-color-design\n\nimport getColor from \"../getColor.js\";\nimport get from \"../get.js\";\nimport lab from \"../spaces/lab.js\";\n\nexport default function contrastLstar (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet L1 = get(color1, [lab, \"l\"]);\n\tlet L2 = get(color2, [lab, \"l\"]);\n\n\treturn Math.abs(L1 - L2);\n}\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\n\n// κ * ε = 2^3 = 8\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst ε3 = 24 / 116;\nconst κ = 24389 / 27; // 29^3/3^3\n\nlet white = WHITES.D65;\n\nexport default new ColorSpace({\n\tid: \"lab-d65\",\n\tname: \"Lab D65\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\ta: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t\tb: {\n\t\t\trefRange: [-125, 125],\n\t\t},\n\t},\n\n\t// Assuming XYZ is relative to D65, convert to CIE Lab\n\t// from CIE standard, which now defines these as a rational fraction\n\twhite,\n\n\tbase: xyz_d65,\n\t// Convert D65-adapted XYZ to Lab\n\t// CIE 15.3:2004 section 8.2.1.1\n\tfromBase (XYZ) {\n\t\t// compute xyz, which is XYZ scaled relative to reference white\n\t\tlet xyz = XYZ.map((value, i) => value / white[i]);\n\n\t\t// now compute f\n\t\tlet f = xyz.map(value => value > ε ? Math.cbrt(value) : (κ * value + 16) / 116);\n\n\t\treturn [\n\t\t\t(116 * f[1]) - 16, // L\n\t\t\t500 * (f[0] - f[1]), // a\n\t\t\t200 * (f[1] - f[2]), // b\n\t\t];\n\t},\n\t// Convert Lab to D65-adapted XYZ\n\t// Same result as CIE 15.3:2004 Appendix D although the derivation is different\n\t// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n\ttoBase (Lab) {\n\t\t// compute f, starting with the luminance-related term\n\t\tlet f = [];\n\t\tf[1] = (Lab[0] + 16) / 116;\n\t\tf[0] = Lab[1] / 500 + f[1];\n\t\tf[2] = f[1] - Lab[2] / 200;\n\n\t\t// compute xyz\n\t\tlet xyz = [\n\t\t\tf[0] > ε3 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / κ,\n\t\t\tLab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / κ,\n\t\t\tf[2] > ε3 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / κ,\n\t\t];\n\n\t\t// Compute XYZ by scaling xyz by reference white\n\t\treturn xyz.map((value, i) => value * white[i]);\n\t},\n\n\tformats: {\n\t\t\"lab-d65\": {\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "// Delta Phi Star perceptual lightness contrast\n// See https://github.com/Myndex/deltaphistar\n// The (difference between two Lstars each raised to phi) raised to (1/phi)\n// Symmetric, does not matter which is foreground and which is background\n\n\nimport getColor from \"../getColor.js\";\nimport get from \"../get.js\";\nimport lab_d65 from \"../spaces/lab-d65.js\";\n\nconst phi = Math.pow(5, 0.5) * 0.5 + 0.5; // Math.phi can be used if Math.js\n\nexport default function contrastDeltaPhi (color1, color2) {\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\tlet Lstr1 = get(color1, [lab_d65, \"l\"]);\n\tlet Lstr2 = get(color2, [lab_d65, \"l\"]);\n\n\tlet deltaPhiStar = Math.abs(Math.pow(Lstr1, phi) - Math.pow(Lstr2, phi));\n\n\tlet contrast = Math.pow(deltaPhiStar, (1 / phi)) * Math.SQRT2 - 40;\n\n\treturn (contrast < 7.5) ? 0.0 : contrast ;\n}\n", "import getColor from \"./getColor.js\";\n// import defaults from \"./defaults.js\";\nimport {isString} from \"./util.js\";\nimport * as contrastAlgorithms from \"./contrast/index.js\";\n\nexport default function contrast (background, foreground, o = {}) {\n\tif (isString(o)) {\n\t\to = {algorithm: o};\n\t}\n\n\tlet {algorithm, ...rest} = o;\n\n\tif (!algorithm) {\n\t\tlet algorithms = Object.keys(contrastAlgorithms).map(a => a.replace(/^contrast/, \"\")).join(\", \");\n\t\tthrow new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${algorithms}`);\n\t}\n\n\tbackground = getColor(background);\n\tforeground = getColor(foreground);\n\n\tfor (let a in contrastAlgorithms) {\n\t\tif (\"contrast\" + algorithm.toLowerCase() === a.toLowerCase()) {\n\t\t\treturn contrastAlgorithms[a](background, foreground, rest);\n\t\t}\n\t}\n\n\tthrow new TypeError(`Unknown contrast algorithm: ${algorithm}`);\n}\n", "import xyz_d65 from \"./spaces/xyz-d65.js\";\nimport getAll from \"./getAll.js\";\n\n// Chromaticity coordinates\nexport function uv (color) {\n\t// Assumes getAll() calls getColor() on color\n\tlet [X, Y, Z] = getAll(color, xyz_d65);\n\tlet denom = X + 15 * Y + 3 * Z;\n\treturn [4 * X / denom, 9 * Y / denom];\n}\n\nexport function xy (color) {\n\t// Assumes getAll() calls getColor() on color\n\tlet [X, Y, Z] = getAll(color, xyz_d65);\n\tlet sum = X + Y + Z;\n\treturn [X / sum, Y / sum];\n}\n\nexport function register (Color) {\n\t// no setters, as lightness information is lost\n\t// when converting color to chromaticity\n\tObject.defineProperty(Color.prototype, \"uv\", {\n\t\tget () {\n\t\t\treturn uv(this);\n\t\t},\n\t});\n\n\tObject.defineProperty(Color.prototype, \"xy\", {\n\t\tget () {\n\t\t\treturn xy(this);\n\t\t},\n\t});\n}\n", "import defaults from \"./defaults.js\";\nimport {isString} from \"./util.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\n\nexport default function deltaE (c1, c2, o = {}) {\n\tif (isString(o)) {\n\t\to = {method: o};\n\t}\n\n\tlet {method = defaults.deltaE, ...rest} = o;\n\n\tfor (let m in deltaEMethods) {\n\t\tif (\"deltae\" + method.toLowerCase() === m.toLowerCase()) {\n\t\t\treturn deltaEMethods[m](c1, c2, rest);\n\t\t}\n\t}\n\n\tthrow new TypeError(`Unknown deltaE method: ${method}`);\n}\n", "import ColorSpace from \"./space.js\";\nimport set from \"./set.js\";\n\nexport function lighten (color, amount = .25) {\n\tlet space = ColorSpace.get(\"oklch\", \"lch\");\n\tlet lightness = [space, \"l\"];\n\treturn set(color, lightness, l => l * (1 + amount));\n}\n\nexport function darken (color, amount = .25) {\n\tlet space = ColorSpace.get(\"oklch\", \"lch\");\n\tlet lightness = [space, \"l\"];\n\treturn set(color, lightness, l => l * (1 - amount));\n}\n", "/**\n * Functions related to color interpolation\n */\nimport ColorSpace from \"./space.js\";\nimport {type, interpolate} from \"./util.js\";\nimport getColor from \"./getColor.js\";\nimport clone from \"./clone.js\";\nimport to from \"./to.js\";\nimport toGamut from \"./toGamut.js\";\nimport get from \"./get.js\";\nimport set from \"./set.js\";\nimport defaults from \"./defaults.js\";\nimport * as angles from \"./angles.js\";\nimport deltaE from \"./deltaE.js\";\n\n/**\n * Return an intermediate color between two colors\n * Signatures: mix(c1, c2, p, options)\n * mix(c1, c2, options)\n * mix(color)\n * @param {Color | string} c1 The first color\n * @param {Color | string} [c2] The second color\n * @param {number} [p=.5] A 0-1 percentage where 0 is c1 and 1 is c2\n * @param {Object} [o={}]\n * @return {Color}\n */\nexport function mix (c1, c2, p = .5, o = {}) {\n\t[c1, c2] = [getColor(c1), getColor(c2)];\n\n\tif (type(p) === \"object\") {\n\t\t[p, o] = [.5, p];\n\t}\n\n\tlet r = range(c1, c2, o);\n\treturn r(p);\n}\n\n/**\n *\n * @param {Color | string | Function} c1 The first color or a range\n * @param {Color | string} [c2] The second color if c1 is not a range\n * @param {Object} [options={}]\n * @return {Color[]}\n */\nexport function steps (c1, c2, options = {}) {\n\tlet colorRange;\n\n\tif (isRange(c1)) {\n\t\t// Tweaking existing range\n\t\t[colorRange, options] = [c1, c2];\n\t\t[c1, c2] = colorRange.rangeArgs.colors;\n\t}\n\n\tlet {\n\t\tmaxDeltaE, deltaEMethod,\n\t\tsteps = 2, maxSteps = 1000,\n\t\t...rangeOptions\n\t} = options;\n\n\tif (!colorRange) {\n\t\t[c1, c2] = [getColor(c1), getColor(c2)];\n\t\tcolorRange = range(c1, c2, rangeOptions);\n\t}\n\n\tlet totalDelta = deltaE(c1, c2);\n\tlet actualSteps = maxDeltaE > 0 ? Math.max(steps, Math.ceil(totalDelta / maxDeltaE) + 1) : steps;\n\tlet ret = [];\n\n\tif (maxSteps !== undefined) {\n\t\tactualSteps = Math.min(actualSteps, maxSteps);\n\t}\n\n\tif (actualSteps === 1) {\n\t\tret = [{p: .5, color: colorRange(.5)}];\n\t}\n\telse {\n\t\tlet step = 1 / (actualSteps - 1);\n\t\tret = Array.from({length: actualSteps}, (_, i) => {\n\t\t\tlet p = i * step;\n\t\t\treturn {p, color: colorRange(p)};\n\t\t});\n\t}\n\n\tif (maxDeltaE > 0) {\n\t\t// Iterate over all stops and find max deltaE\n\t\tlet maxDelta = ret.reduce((acc, cur, i) => {\n\t\t\tif (i === 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tlet ΔΕ = deltaE(cur.color, ret[i - 1].color, deltaEMethod);\n\t\t\treturn Math.max(acc, ΔΕ);\n\t\t}, 0);\n\n\t\twhile (maxDelta > maxDeltaE) {\n\t\t\t// Insert intermediate stops and measure maxDelta again\n\t\t\t// We need to do this for all pairs, otherwise the midpoint shifts\n\t\t\tmaxDelta = 0;\n\n\t\t\tfor (let i = 1; (i < ret.length) && (ret.length < maxSteps); i++) {\n\t\t\t\tlet prev = ret[i - 1];\n\t\t\t\tlet cur = ret[i];\n\n\t\t\t\tlet p = (cur.p + prev.p) / 2;\n\t\t\t\tlet color = colorRange(p);\n\t\t\t\tmaxDelta = Math.max(maxDelta, deltaE(color, prev.color), deltaE(color, cur.color));\n\t\t\t\tret.splice(i, 0, {p, color: colorRange(p)});\n\t\t\t\ti++;\n\t\t\t}\n\t\t}\n\t}\n\n\tret = ret.map(a => a.color);\n\n\treturn ret;\n}\n\n/**\n * Interpolate to color2 and return a function that takes a 0-1 percentage\n * @param {Color | string | Function} color1 The first color or an existing range\n * @param {Color | string} [color2] If color1 is a color, this is the second color\n * @param {Object} [options={}]\n * @returns {Function} A function that takes a 0-1 percentage and returns a color\n */\nexport function range (color1, color2, options = {}) {\n\tif (isRange(color1)) {\n\t\t// Tweaking existing range\n\t\tlet [r, options] = [color1, color2];\n\n\t\treturn range(...r.rangeArgs.colors, {...r.rangeArgs.options, ...options});\n\t}\n\n\tlet {space, outputSpace, progression, premultiplied} = options;\n\n\tcolor1 = getColor(color1);\n\tcolor2 = getColor(color2);\n\n\t// Make sure we're working on copies of these colors\n\tcolor1 = clone(color1);\n\tcolor2 = clone(color2);\n\n\tlet rangeArgs = {colors: [color1, color2], options};\n\n\tif (space) {\n\t\tspace = ColorSpace.get(space);\n\t}\n\telse {\n\t\tspace = ColorSpace.registry[defaults.interpolationSpace] || color1.space;\n\t}\n\n\toutputSpace = outputSpace ? ColorSpace.get(outputSpace) : space;\n\n\tcolor1 = to(color1, space);\n\tcolor2 = to(color2, space);\n\n\t// Gamut map to avoid areas of flat color\n\tcolor1 = toGamut(color1);\n\tcolor2 = toGamut(color2);\n\n\t// Handle hue interpolation\n\t// See https://github.com/w3c/csswg-drafts/issues/4735#issuecomment-635741840\n\tif (space.coords.h && space.coords.h.type === \"angle\") {\n\t\tlet arc = options.hue = options.hue || \"shorter\";\n\n\t\tlet hue = [space, \"h\"];\n\t\tlet [θ1, θ2] = [get(color1, hue), get(color2, hue)];\n\t\t// Undefined hues must be evaluated before hue fix-up to properly\n\t\t// calculate hue arcs between undefined and defined hues.\n\t\t// See https://github.com/w3c/csswg-drafts/issues/9436#issuecomment-1746957545\n\t\tif (isNaN(θ1) && !isNaN(θ2)) {\n\t\t\tθ1 = θ2;\n\t\t}\n\t\telse if (isNaN(θ2) && !isNaN(θ1)) {\n\t\t\tθ2 = θ1;\n\t\t}\n\t\t[θ1, θ2] = angles.adjust(arc, [θ1, θ2]);\n\t\tset(color1, hue, θ1);\n\t\tset(color2, hue, θ2);\n\t}\n\n\tif (premultiplied) {\n\t\t// not coping with polar spaces yet\n\t\tcolor1.coords = color1.coords.map(c => c * color1.alpha);\n\t\tcolor2.coords = color2.coords.map(c => c * color2.alpha);\n\t}\n\n\treturn Object.assign(p => {\n\t\tp = progression ? progression(p) : p;\n\t\tlet coords = color1.coords.map((start, i) => {\n\t\t\tlet end = color2.coords[i];\n\t\t\treturn interpolate(start, end, p);\n\t\t});\n\n\t\tlet alpha = interpolate(color1.alpha, color2.alpha, p);\n\t\tlet ret = {space, coords, alpha};\n\n\t\tif (premultiplied) {\n\t\t\t// undo premultiplication\n\t\t\tret.coords = ret.coords.map(c => c / alpha);\n\t\t}\n\n\t\tif (outputSpace !== space) {\n\t\t\tret = to(ret, outputSpace);\n\t\t}\n\n\t\treturn ret;\n\t}, {\n\t\trangeArgs,\n\t});\n}\n\nexport function isRange (val) {\n\treturn type(val) === \"function\" && !!val.rangeArgs;\n}\n\ndefaults.interpolationSpace = \"lab\";\n\nexport function register (Color) {\n\tColor.defineFunction(\"mix\", mix, {returns: \"color\"});\n\tColor.defineFunction(\"range\", range, {returns: \"function<color>\"});\n\tColor.defineFunction(\"steps\", steps, {returns: \"array<color>\"});\n}\n", "import ColorSpace from \"../space.js\";\nimport sRGB from \"./srgb.js\";\n\nexport default new ColorSpace({\n\tid: \"hsl\",\n\tname: \"HSL\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: sRGB,\n\n\t// Adapted from https://drafts.csswg.org/css-color-4/better-rgbToHsl.js\n\tfromBase: rgb => {\n\t\tlet max = Math.max(...rgb);\n\t\tlet min = Math.min(...rgb);\n\t\tlet [r, g, b] = rgb;\n\t\tlet [h, s, l] = [NaN, 0, (min + max) / 2];\n\t\tlet d = max - min;\n\n\t\tif (d !== 0) {\n\t\t\ts = (l === 0 || l === 1) ? 0 : (max - l) / Math.min(l, 1 - l);\n\n\t\t\tswitch (max) {\n\t\t\t\tcase r: h = (g - b) / d + (g < b ? 6 : 0); break;\n\t\t\t\tcase g: h = (b - r) / d + 2; break;\n\t\t\t\tcase b: h = (r - g) / d + 4;\n\t\t\t}\n\n\t\t\th = h * 60;\n\t\t}\n\n\t\t// Very out of gamut colors can produce negative saturation\n\t\t// If so, just rotate the hue by 180 and use a positive saturation\n\t\t// see https://github.com/w3c/csswg-drafts/issues/9222\n\t\tif (s < 0) {\n\t\t\th += 180;\n\t\t\ts = Math.abs(s);\n\t\t}\n\n\t\tif (h >= 360) {\n\t\t\th -= 360;\n\t\t}\n\n\t\treturn [h, s * 100, l * 100];\n\t},\n\n\t// Adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_RGB_alternative\n\ttoBase: hsl => {\n\t\tlet [h, s, l] = hsl;\n\t\th = h % 360;\n\n\t\tif (h < 0) {\n\t\t\th += 360;\n\t\t}\n\n\t\ts /= 100;\n\t\tl /= 100;\n\n\t\tfunction f (n) {\n\t\t\tlet k = (n + h / 30) % 12;\n\t\t\tlet a = s * Math.min(l, 1 - l);\n\t\t\treturn l - a * Math.max(-1, Math.min(k - 3, 9 - k, 1));\n\t\t}\n\n\t\treturn [f(0), f(8), f(4)];\n\t},\n\n\tformats: {\n\t\t\"hsl\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage>\", \"<percentage>\"],\n\t\t},\n\t\t\"hsla\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage>\", \"<percentage>\"],\n\t\t\tcommas: true,\n\t\t\tlastAlpha: true,\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport HSL from \"./hsl.js\";\n\n// The Hue, Whiteness Blackness (HWB) colorspace\n// See https://drafts.csswg.org/css-color-4/#the-hwb-notation\n// Note that, like HSL, calculations are done directly on\n// gamma-corrected sRGB values rather than linearising them first.\n\nexport default new ColorSpace({\n\tid: \"hsv\",\n\tname: \"HSV\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tv: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Value\",\n\t\t},\n\t},\n\n\tbase: HSL,\n\t// https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion\n\tfromBase (hsl) {\n\t\tlet [h, s, l] = hsl;\n\t\ts /= 100;\n\t\tl /= 100;\n\n\t\tlet v = l + s * Math.min(l, 1 - l);\n\n\t\treturn [\n\t\t\th, // h is the same\n\t\t\tv === 0 ? 0 : 200 * (1 - l / v), // s\n\t\t\t100 * v,\n\t\t];\n\t},\n\t// https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion\n\ttoBase (hsv) {\n\t\tlet [h, s, v] = hsv;\n\n\t\ts /= 100;\n\t\tv /= 100;\n\n\t\tlet l = v * (1 - s / 2);\n\n\t\treturn [\n\t\t\th, // h is the same\n\t\t\t(l === 0 || l === 1) ? 0 : ((v - l) / Math.min(l, 1 - l)) * 100,\n\t\t\tl * 100,\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hsv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport HSV from \"./hsv.js\";\n\n// The Hue, Whiteness Blackness (HWB) colorspace\n// See https://drafts.csswg.org/css-color-4/#the-hwb-notation\n// Note that, like HSL, calculations are done directly on\n// gamma-corrected sRGB values rather than linearising them first.\n\nexport default new ColorSpace({\n\tid: \"hwb\",\n\tname: \"HWB\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\tw: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Whiteness\",\n\t\t},\n\t\tb: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Blackness\",\n\t\t},\n\t},\n\n\tbase: HSV,\n\tfromBase (hsv) {\n\t\tlet [h, s, v] = hsv;\n\n\t\treturn [h, v * (100 - s) / 100, 100 - v];\n\t},\n\ttoBase (hwb) {\n\t\tlet [h, w, b] = hwb;\n\n\t\t// Now convert percentages to [0..1]\n\t\tw /= 100;\n\t\tb /= 100;\n\n\t\t// Achromatic check (white plus black >= 1)\n\t\tlet sum = w + b;\n\t\tif (sum >= 1) {\n\t\t\tlet gray = w / sum;\n\t\t\treturn [h, 0, gray * 100];\n\t\t}\n\n\t\tlet v = (1 - b);\n\t\tlet s = (v === 0) ? 0 : 1 - w / v;\n\t\treturn [h, s * 100, v * 100];\n\t},\n\n\tformats: {\n\t\t\"hwb\": {\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\n\n// convert an array of linear-light a98-rgb values to CIE XYZ\n// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n// has greater numerical precision than section 4.3.5.3 of\n// https://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf\n// but the values below were calculated from first principles\n// from the chromaticity coordinates of R G B W\nconst toXYZ_M = [\n\t[ 0.5766690429101305, 0.1855582379065463, 0.1882286462349947 ],\n\t[ 0.29734497525053605, 0.6273635662554661, 0.07529145849399788 ],\n\t[ 0.02703136138641234, 0.07068885253582723, 0.9913375368376388 ],\n];\n\nconst fromXYZ_M = [\n\t[ 2.0415879038107465, -0.5650069742788596, -0.34473135077832956 ],\n\t[ -0.9692436362808795, 1.8759675015077202, 0.04155505740717557 ],\n\t[ 0.013444280632031142, -0.11836239223101838, 1.0151749943912054 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"a98rgb-linear\",\n\tcssId: \"--a98-rgb-linear\",\n\tname: \"Linear Adobe® 98 RGB compatible\",\n\twhite: \"D65\",\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport A98Linear from \"./a98rgb-linear.js\";\n\nexport default new RGBColorSpace({\n\tid: \"a98rgb\",\n\tcssId: \"a98-rgb\",\n\tname: \"Adobe® 98 RGB compatible\",\n\tbase: A98Linear,\n\ttoBase: RGB => RGB.map(val => Math.pow(Math.abs(val), 563 / 256) * Math.sign(val)),\n\tfromBase: RGB => RGB.map(val => Math.pow(Math.abs(val), 256 / 563) * Math.sign(val)),\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport XYZ_D50 from \"./xyz-d50.js\";\n\n// convert an array of prophoto-rgb values to CIE XYZ\n// using D50 (so no chromatic adaptation needed afterwards)\n// matrix cannot be expressed in rational form, but is calculated to 64 bit accuracy\n// see https://github.com/w3c/csswg-drafts/issues/7675\nconst toXYZ_M = [\n\t[ 0.79776664490064230, 0.13518129740053308, 0.03134773412839220 ],\n\t[ 0.28807482881940130, 0.71183523424187300, 0.00008993693872564 ],\n\t[ 0.00000000000000000, 0.00000000000000000, 0.82510460251046020 ],\n];\n\nconst fromXYZ_M = [\n\t[ 1.34578688164715830, -0.25557208737979464, -0.05110186497554526 ],\n\t[ -0.54463070512490190, 1.50824774284514680, 0.02052744743642139 ],\n\t[ 0.00000000000000000, 0.00000000000000000, 1.21196754563894520 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"prophoto-linear\",\n\tcssId: \"--prophoto-rgb-linear\",\n\tname: \"Linear ProPhoto\",\n\twhite: \"D50\",\n\tbase: XYZ_D50,\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport ProPhotoLinear from \"./prophoto-linear.js\";\n\nconst Et = 1 / 512;\nconst Et2 = 16 / 512;\n\nexport default new RGBColorSpace({\n\tid: \"prophoto\",\n\tcssId: \"prophoto-rgb\",\n\tname: \"ProPhoto\",\n\tbase: ProPhotoLinear,\n\ttoBase (RGB) {\n\t\t// Transfer curve is gamma 1.8 with a small linear portion\n\t\treturn RGB.map(v => v < Et2 ? v / 16 : v ** 1.8);\n\t},\n\tfromBase (RGB) {\n\t\treturn RGB.map(v => v >= Et ? v ** (1 / 1.8) : 16 * v);\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport OKLab from \"./oklab.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"oklch\",\n\tname: \"Oklch\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 1],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 0.4],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\twhite: \"D65\",\n\n\tbase: OKLab,\n\tfromBase (oklab) {\n\t\t// Convert to polar form\n\t\tlet [L, a, b] = oklab;\n\t\tlet h;\n\t\tconst ε = 0.0002; // chromatic components much smaller than a,b\n\n\t\tif (Math.abs(a) < ε && Math.abs(b) < ε) {\n\t\t\th = NaN;\n\t\t}\n\t\telse {\n\t\t\th = Math.atan2(b, a) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // OKLab L is still L\n\t\t\tMath.sqrt(a ** 2 + b ** 2), // Chroma\n\t\t\tconstrainAngle(h), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\t// Convert from polar form\n\ttoBase (oklch) {\n\t\tlet [L, C, h] = oklch;\n\t\tlet a, b;\n\n\t\t// check for NaN hue\n\t\tif (isNaN(h)) {\n\t\t\ta = 0;\n\t\t\tb = 0;\n\t\t}\n\t\telse {\n\t\t\ta = C * Math.cos(h * Math.PI / 180);\n\t\t\tb = C * Math.sin(h * Math.PI / 180);\n\t\t}\n\n\t\treturn [ L, a, b ];\n\t},\n\n\tformats: {\n\t\t\"oklch\": {\n\t\t\tcoords: [\"<percentage> | <number>\", \"<number> | <percentage>[0,1]\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport {WHITES} from \"../adapt.js\";\nimport xyz_d65 from \"./xyz-d65.js\";\nimport {uv} from \"../chromaticity.js\";\nimport {isNone, skipNone} from \"../util.js\";\n\nlet white = WHITES.D65;\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\nconst [U_PRIME_WHITE, V_PRIME_WHITE] = uv({space: xyz_d65, coords: white});\n\nexport default new ColorSpace({\n\tid: \"luv\",\n\tname: \"Luv\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\t// Reference ranges from https://facelessuser.github.io/coloraide/colors/luv/\n\t\tu: {\n\t\t\trefRange: [-215, 215],\n\t\t},\n\t\tv: {\n\t\t\trefRange: [-215, 215],\n\t\t},\n\t},\n\n\twhite: white,\n\tbase: xyz_d65,\n\n\t// Convert D65-adapted XYZ to Luv\n\t// https://en.wikipedia.org/wiki/CIELUV#The_forward_transformation\n\tfromBase (XYZ) {\n\t\tlet xyz = [skipNone(XYZ[0]), skipNone(XYZ[1]), skipNone(XYZ[2])];\n\t\tlet y = xyz[1];\n\n\t\tlet [up, vp] = uv({space: xyz_d65, coords: xyz});\n\n\t\t// Protect against XYZ of [0, 0, 0]\n\t\tif (!Number.isFinite(up) || !Number.isFinite(vp)) {\n\t\t\treturn [0, 0, 0];\n\t\t}\n\n\t\tlet L = y <= ε ? κ * y : 116 * Math.cbrt(y) - 16;\n\t\treturn [\n\t\t\tL,\n\t\t\t13 * L * (up - U_PRIME_WHITE),\n\t\t\t13 * L * (vp - V_PRIME_WHITE),\n\t\t ];\n\t},\n\n\t// Convert Luv to D65-adapted XYZ\n\t// https://en.wikipedia.org/wiki/CIELUV#The_reverse_transformation\n\ttoBase (Luv) {\n\t\tlet [L, u, v] = Luv;\n\n\t\t// Protect against division by zero and NaN Lightness\n\t\tif (L === 0 || isNone(L)) {\n\t\t\treturn [0, 0, 0];\n\t\t}\n\n\t\tu = skipNone(u);\n\t\tv = skipNone(v);\n\n\t\tlet up = (u / (13 * L)) + U_PRIME_WHITE;\n\t\tlet vp = (v / (13 * L)) + V_PRIME_WHITE;\n\n\t\tlet y = L <= 8 ? L / κ : Math.pow((L + 16) / 116, 3);\n\n\t\treturn [\n\t\t\ty * ((9 * up) / (4 * vp)),\n\t\t\ty,\n\t\t\ty * ((12 - 3 * up - 20 * vp) / (4 * vp)),\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--luv\",\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>[-1,1]\", \"<number> | <percentage>[-1,1]\"],\n\t\t},\n\t},\n});\n", "import ColorSpace from \"../space.js\";\nimport Luv from \"./luv.js\";\nimport {constrain as constrainAngle} from \"../angles.js\";\n\nexport default new ColorSpace({\n\tid: \"lchuv\",\n\tname: \"LChuv\",\n\tcoords: {\n\t\tl: {\n\t\t\trefRange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t\tc: {\n\t\t\trefRange: [0, 220],\n\t\t\tname: \"Chroma\",\n\t\t},\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t},\n\n\tbase: Luv,\n\tfromBase (Luv) {\n\t\t// Convert to polar form\n\t\tlet [L, u, v] = Luv;\n\t\tlet hue;\n\t\tconst ε = 0.02;\n\n\t\tif (Math.abs(u) < ε && Math.abs(v) < ε) {\n\t\t\thue = NaN;\n\t\t}\n\t\telse {\n\t\t\thue = Math.atan2(v, u) * 180 / Math.PI;\n\t\t}\n\n\t\treturn [\n\t\t\tL, // L is still L\n\t\t\tMath.sqrt(u ** 2 + v ** 2), // Chroma\n\t\t\tconstrainAngle(hue), // Hue, in degrees [0 to 360)\n\t\t];\n\t},\n\ttoBase (LCH) {\n\t\t// Convert from polar form\n\t\tlet [Lightness, Chroma, Hue] = LCH;\n\t\t// Clamp any negative Chroma\n\t\tif (Chroma < 0) {\n\t\t\tChroma = 0;\n\t\t}\n\t\t// Deal with NaN Hue\n\t\tif (isNaN(Hue)) {\n\t\t\tHue = 0;\n\t\t}\n\t\treturn [\n\t\t\tLightness, // L is still L\n\t\t\tChroma * Math.cos(Hue * Math.PI / 180), // u\n\t\t\tChroma * Math.sin(Hue * Math.PI / 180), // v\n\t\t];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--lchuv\",\n\t\t\tcoords: [\"<number> | <percentage>\", \"<number> | <percentage>\", \"<number> | <angle>\"],\n\t\t},\n\t},\n});\n", "/*\nAdapted from: https://github.com/hsluv/hsluv-javascript/blob/14b49e6cf9a9137916096b8487a5372626b57ba4/src/hsluv.ts\n\nCopyright (c) 2012-2022 Alexei Boronine\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 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\nimport ColorSpace from \"../space.js\";\nimport LCHuv from \"./lchuv.js\";\nimport sRGB from \"./srgb.js\";\nimport {fromXYZ_M} from \"./srgb-linear.js\";\nimport {skipNone} from \"../util.js\";\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nconst m_r0 = fromXYZ_M[0][0];\nconst m_r1 = fromXYZ_M[0][1];\nconst m_r2 = fromXYZ_M[0][2];\nconst m_g0 = fromXYZ_M[1][0];\nconst m_g1 = fromXYZ_M[1][1];\nconst m_g2 = fromXYZ_M[1][2];\nconst m_b0 = fromXYZ_M[2][0];\nconst m_b1 = fromXYZ_M[2][1];\nconst m_b2 = fromXYZ_M[2][2];\n\nfunction distanceFromOriginAngle (slope, intercept, angle) {\n\tconst d = intercept / (Math.sin(angle) - slope * Math.cos(angle));\n\treturn d < 0 ? Infinity : d;\n}\n\nexport function calculateBoundingLines (l) {\n\tconst sub1 = Math.pow(l + 16, 3) / 1560896;\n\tconst sub2 = sub1 > ε ? sub1 : l / κ;\n\tconst s1r = sub2 * (284517 * m_r0 - 94839 * m_r2);\n\tconst s2r = sub2 * (838422 * m_r2 + 769860 * m_r1 + 731718 * m_r0);\n\tconst s3r = sub2 * (632260 * m_r2 - 126452 * m_r1);\n\tconst s1g = sub2 * (284517 * m_g0 - 94839 * m_g2);\n\tconst s2g = sub2 * (838422 * m_g2 + 769860 * m_g1 + 731718 * m_g0);\n\tconst s3g = sub2 * (632260 * m_g2 - 126452 * m_g1);\n\tconst s1b = sub2 * (284517 * m_b0 - 94839 * m_b2);\n\tconst s2b = sub2 * (838422 * m_b2 + 769860 * m_b1 + 731718 * m_b0);\n\tconst s3b = sub2 * (632260 * m_b2 - 126452 * m_b1);\n\n\treturn {\n\t\tr0s: s1r / s3r,\n\t\tr0i: s2r * l / s3r,\n\t\tr1s: s1r / (s3r + 126452),\n\t\tr1i: (s2r - 769860) * l / (s3r + 126452),\n\t\tg0s: s1g / s3g,\n\t\tg0i: s2g * l / s3g,\n\t\tg1s: s1g / (s3g + 126452),\n\t\tg1i: (s2g - 769860) * l / (s3g + 126452),\n\t\tb0s: s1b / s3b,\n\t\tb0i: s2b * l / s3b,\n\t\tb1s: s1b / (s3b + 126452),\n\t\tb1i: (s2b - 769860) * l / (s3b + 126452),\n\t};\n}\n\nfunction calcMaxChromaHsluv (lines, h) {\n\tconst hueRad = h / 360 * Math.PI * 2;\n\tconst r0 = distanceFromOriginAngle(lines.r0s, lines.r0i, hueRad);\n\tconst r1 = distanceFromOriginAngle(lines.r1s, lines.r1i, hueRad);\n\tconst g0 = distanceFromOriginAngle(lines.g0s, lines.g0i, hueRad);\n\tconst g1 = distanceFromOriginAngle(lines.g1s, lines.g1i, hueRad);\n\tconst b0 = distanceFromOriginAngle(lines.b0s, lines.b0i, hueRad);\n\tconst b1 = distanceFromOriginAngle(lines.b1s, lines.b1i, hueRad);\n\n\treturn Math.min(r0, r1, g0, g1, b0, b1);\n}\n\nexport default new ColorSpace({\n\tid: \"hsluv\",\n\tname: \"HSLuv\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: LCHuv,\n\tgamutSpace: sRGB,\n\n\t// Convert LCHuv to HSLuv\n\tfromBase (lch) {\n\t\tlet [l, c, h] = [skipNone(lch[0]), skipNone(lch[1]), skipNone(lch[2])];\n\t\tlet s;\n\n\t\tif (l > 99.9999999) {\n\t\t\ts = 0;\n\t\t\tl = 100;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\ts = 0;\n\t\t\tl = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHsluv(lines, h);\n\t\t\ts = c / max * 100;\n\t\t}\n\n\t\treturn [h, s, l];\n\t},\n\n\t// Convert HSLuv to LCHuv\n\ttoBase (hsl) {\n\t\tlet [h, s, l] = [skipNone(hsl[0]), skipNone(hsl[1]), skipNone(hsl[2])];\n\t\tlet c;\n\n\t\tif (l > 99.9999999) {\n\t\t\tl = 100;\n\t\t\tc = 0;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\tl = 0;\n\t\t\tc = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHsluv(lines, h);\n\t\t\tc = max / 100 * s;\n\t\t}\n\n\t\treturn [l, c, h];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hsluv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "/*\nAdapted from: https://github.com/hsluv/hsluv-javascript/blob/14b49e6cf9a9137916096b8487a5372626b57ba4/src/hsluv.ts\n\nCopyright (c) 2012-2022 Alexei Boronine\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 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\nimport ColorSpace from \"../space.js\";\nimport LCHuv from \"./lchuv.js\";\nimport {fromXYZ_M} from \"./srgb-linear.js\";\nimport {skipNone} from \"../util.js\";\nimport {calculateBoundingLines} from \"./hsluv.js\";\n\nconst ε = 216 / 24389; // 6^3/29^3 == (24/116)^3\nconst κ = 24389 / 27; // 29^3/3^3\n\nconst m_r0 = fromXYZ_M[0][0];\nconst m_r1 = fromXYZ_M[0][1];\nconst m_r2 = fromXYZ_M[0][2];\nconst m_g0 = fromXYZ_M[1][0];\nconst m_g1 = fromXYZ_M[1][1];\nconst m_g2 = fromXYZ_M[1][2];\nconst m_b0 = fromXYZ_M[2][0];\nconst m_b1 = fromXYZ_M[2][1];\nconst m_b2 = fromXYZ_M[2][2];\n\nfunction distanceFromOrigin (slope, intercept) {\n\treturn Math.abs(intercept) / Math.sqrt(Math.pow(slope, 2) + 1);\n}\n\nfunction calcMaxChromaHpluv (lines) {\n\tlet r0 = distanceFromOrigin(lines.r0s, lines.r0i);\n\tlet r1 = distanceFromOrigin(lines.r1s, lines.r1i);\n\tlet g0 = distanceFromOrigin(lines.g0s, lines.g0i);\n\tlet g1 = distanceFromOrigin(lines.g1s, lines.g1i);\n\tlet b0 = distanceFromOrigin(lines.b0s, lines.b0i);\n\tlet b1 = distanceFromOrigin(lines.b1s, lines.b1i);\n\n\treturn Math.min(r0, r1, g0, g1, b0, b1);\n}\n\nexport default new ColorSpace({\n\tid: \"hpluv\",\n\tname: \"HPLuv\",\n\tcoords: {\n\t\th: {\n\t\t\trefRange: [0, 360],\n\t\t\ttype: \"angle\",\n\t\t\tname: \"Hue\",\n\t\t},\n\t\ts: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Saturation\",\n\t\t},\n\t\tl: {\n\t\t\trange: [0, 100],\n\t\t\tname: \"Lightness\",\n\t\t},\n\t},\n\n\tbase: LCHuv,\n\tgamutSpace: \"self\",\n\n\t// Convert LCHuv to HPLuv\n\tfromBase (lch) {\n\t\tlet [l, c, h] = [skipNone(lch[0]), skipNone(lch[1]), skipNone(lch[2])];\n\t\tlet s;\n\n\t\tif (l > 99.9999999) {\n\t\t\ts = 0;\n\t\t\tl = 100;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\ts = 0;\n\t\t\tl = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHpluv(lines);\n\t\t\ts = c / max * 100;\n\t\t}\n\t\treturn [h, s, l];\n\t},\n\n\t// Convert HPLuv to LCHuv\n\ttoBase (hsl) {\n\t\tlet [h, s, l] = [skipNone(hsl[0]), skipNone(hsl[1]), skipNone(hsl[2])];\n\t\tlet c;\n\n\t\tif (l > 99.9999999) {\n\t\t\tl = 100;\n\t\t\tc = 0;\n\t\t}\n\t\telse if (l < 0.00000001) {\n\t\t\tl = 0;\n\t\t\tc = 0;\n\t\t}\n\t\telse {\n\t\t\tlet lines = calculateBoundingLines(l);\n\t\t\tlet max = calcMaxChromaHpluv(lines, h);\n\t\t\tc = max / 100 * s;\n\t\t}\n\n\t\treturn [l, c, h];\n\t},\n\n\tformats: {\n\t\tcolor: {\n\t\t\tid: \"--hpluv\",\n\t\t\tcoords: [\"<number> | <angle>\", \"<percentage> | <number>\", \"<percentage> | <number>\"],\n\t\t},\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n\nconst Yw = 203;\t// absolute luminance of media white, cd/m²\nconst n = 2610 / (2 ** 14);\nconst ninv = (2 ** 14) / 2610;\nconst m = 2523 / (2 ** 5);\nconst minv = (2 ** 5) / 2523;\nconst c1 = 3424 / (2 ** 12);\nconst c2 = 2413 / (2 ** 7);\nconst c3 = 2392 / (2 ** 7);\n\nexport default new RGBColorSpace({\n\tid: \"rec2100pq\",\n\tcssId: \"rec2100-pq\",\n\tname: \"REC.2100-PQ\",\n\tbase: REC2020Linear,\n\ttoBase (RGB) {\n\t\t// given PQ encoded component in range [0, 1]\n\t\t// return media-white relative linear-light\n\t\treturn RGB.map(function (val) {\n\t\t\tlet x = ((Math.max(((val ** minv) - c1), 0) / (c2 - (c3 * (val ** minv)))) ** ninv);\n\t\t\treturn (x * 10000 / Yw); \t// luminance relative to diffuse white, [0, 70 or so].\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\t// given media-white relative linear-light\n\t\t// returnPQ encoded component in range [0, 1]\n\t\treturn RGB.map(function (val) {\n\t\t\tlet x = Math.max(val * Yw / 10000, 0); \t// absolute luminance of peak white is 10,000 cd/m².\n\t\t\tlet num = (c1 + (c2 * (x ** n)));\n\t\t\tlet denom = (1 + (c3 * (x ** n)));\n\n\t\t\treturn ((num / denom) ** m);\n\t\t});\n\t},\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport REC2020Linear from \"./rec2020-linear.js\";\n\n// FIXME see https://github.com/LeaVerou/color.js/issues/190\n\nconst a = 0.17883277;\nconst b = 0.28466892; // 1 - (4 * a)\nconst c = 0.55991073; // 0.5 - a * Math.log(4 *a)\n\nconst scale = 3.7743;\t// Place 18% grey at HLG 0.38, so media white at 0.75\n\nexport default new RGBColorSpace({\n\tid: \"rec2100hlg\",\n\tcssId: \"rec2100-hlg\",\n\tname: \"REC.2100-HLG\",\n\treferred: \"scene\",\n\n\tbase: REC2020Linear,\n\ttoBase (RGB) {\n\t\t// given HLG encoded component in range [0, 1]\n\t\t// return media-white relative linear-light\n\t\treturn RGB.map(function (val) {\n\t\t\t// first the HLG EOTF\n\t\t\t// ITU-R BT.2390-10 p.30 section\n\t\t\t// 6.3 The hybrid log-gamma electro-optical transfer function (EOTF)\n\t\t\t// Then scale by 3 so media white is 1.0\n\t\t\tif (val <= 0.5) {\n\t\t\t\treturn (val ** 2) / 3 * scale;\n\t\t\t}\n\t\t\treturn ((Math.exp((val - c) / a) + b) / 12) * scale;\n\t\t});\n\t},\n\tfromBase (RGB) {\n\t\t// given media-white relative linear-light\n\t\t// where diffuse white is 1.0,\n\t\t// return HLG encoded component in range [0, 1]\n\t\treturn RGB.map(function (val) {\n\t\t\t// first scale to put linear-light media white at 1/3\n\t\t\tval /= scale;\n\t\t\t// now the HLG OETF\n\t\t\t// ITU-R BT.2390-10 p.23\n\t\t\t// 6.1 The hybrid log-gamma opto-electronic transfer function (OETF)\n\t\t\tif (val <= 1 / 12) {\n\t\t\t\treturn Math.sqrt(3 * val);\n\t\t\t}\n\t\t\treturn a * Math.log(12 * val - b) + c;\n\t\t});\n\t},\n});\n", "import hooks from \"./hooks.js\";\nimport {multiplyMatrices} from \"./util.js\";\nimport {WHITES} from \"./adapt.js\";\n\nexport const CATs = {};\n\nhooks.add(\"chromatic-adaptation-start\", env => {\n\tif (env.options.method) {\n\t\tenv.M = adapt(env.W1, env.W2, env.options.method);\n\t}\n});\n\nhooks.add(\"chromatic-adaptation-end\", env => {\n\tif (!env.M) {\n\t\tenv.M = adapt(env.W1, env.W2, env.options.method);\n\t}\n});\n\nexport function defineCAT ({id, toCone_M, fromCone_M}) {\n\t// Use id, toCone_M, fromCone_M like variables\n\tCATs[id] = arguments[0];\n}\n\nexport function adapt (W1, W2, id = \"Bradford\") {\n\t// adapt from a source whitepoint or illuminant W1\n\t// to a destination whitepoint or illuminant W2,\n\t// using the given chromatic adaptation transform (CAT)\n\t// debugger;\n\tlet method = CATs[id];\n\n\tlet [ρs, γs, βs] = multiplyMatrices(method.toCone_M, W1);\n\tlet [ρd, γd, βd] = multiplyMatrices(method.toCone_M, W2);\n\n\t// all practical illuminants have non-zero XYZ so no division by zero can occur below\n\tlet scale = [\n\t\t[ρd / ρs, 0, 0 ],\n\t\t[0, γd / γs, 0 ],\n\t\t[0, 0, βd / βs],\n\t];\n\t// console.log({scale});\n\n\tlet scaled_cone_M = multiplyMatrices(scale, method.toCone_M);\n\tlet adapt_M\t= multiplyMatrices(method.fromCone_M, scaled_cone_M);\n\t// console.log({scaled_cone_M, adapt_M});\n\treturn adapt_M;\n}\n\ndefineCAT({\n\tid: \"von Kries\",\n\ttoCone_M: [\n\t\t[ 0.4002400, 0.7076000, -0.0808100 ],\n\t\t[ -0.2263000, 1.1653200, 0.0457000 ],\n\t\t[ 0.0000000, 0.0000000, 0.9182200 ],\n\t],\n\tfromCone_M: [\n\t\t[ 1.8599363874558397, -1.1293816185800916, 0.21989740959619328 ],\n\t\t[ 0.3611914362417676, 0.6388124632850422, -0.000006370596838649899 ],\n\t\t[ 0, 0, 1.0890636230968613 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"Bradford\",\n\t// Convert an array of XYZ values in the range 0.0 - 1.0\n\t// to cone fundamentals\n\ttoCone_M: [\n\t\t[ 0.8951000, 0.2664000, -0.1614000 ],\n\t\t[ -0.7502000, 1.7135000, 0.0367000 ],\n\t\t[ 0.0389000, -0.0685000, 1.0296000 ],\n\t],\n\t// and back\n\tfromCone_M: [\n\t\t[ 0.9869929054667121, -0.14705425642099013, 0.15996265166373122 ],\n\t\t[ 0.4323052697233945, 0.5183602715367774, 0.049291228212855594 ],\n\t\t[ -0.00852866457517732, 0.04004282165408486, 0.96848669578755 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"CAT02\",\n\t// with complete chromatic adaptation to W2, so D = 1.0\n\ttoCone_M: [\n\t\t[ 0.7328000, 0.4296000, -0.1624000 ],\n\t\t[ -0.7036000, 1.6975000, 0.0061000 ],\n\t\t[ 0.0030000, 0.0136000, 0.9834000 ],\n\t],\n\tfromCone_M: [\n\t\t[ 1.0961238208355142, -0.27886900021828726, 0.18274517938277307 ],\n\t\t[ 0.4543690419753592, 0.4735331543074117, 0.07209780371722911 ],\n\t\t[ -0.009627608738429355, -0.00569803121611342, 1.0153256399545427 ],\n\t],\n});\n\ndefineCAT({\n\tid: \"CAT16\",\n\ttoCone_M: [\n\t\t[ 0.401288, 0.650173, -0.051461 ],\n\t\t[ -0.250268, 1.204414, 0.045854 ],\n\t\t[ -0.002079, 0.048952, 0.953127 ],\n\t],\n\t// the extra precision is needed to avoid roundtripping errors\n\tfromCone_M: [\n\t\t[ 1.862067855087233, -1.0112546305316845, 0.14918677544445172 ],\n\t\t[ 0.3875265432361372, 0.6214474419314753, -0.008973985167612521 ],\n\t\t[ -0.01584149884933386, -0.03412293802851557, 1.0499644368778496 ],\n\t],\n});\n\nObject.assign(WHITES, {\n\t// whitepoint values from ASTM E308-01 with 10nm spacing, 1931 2 degree observer\n\t// all normalized to Y (luminance) = 1.00000\n\t// Illuminant A is a tungsten electric light, giving a very warm, orange light.\n\tA: [1.09850, 1.00000, 0.35585],\n\n\t// Illuminant C was an early approximation to daylight: illuminant A with a blue filter.\n\tC: [0.98074, 1.000000, 1.18232],\n\n\t// The daylight series of illuminants simulate natural daylight.\n\t// The color temperature (in degrees Kelvin/100) ranges from\n\t// cool, overcast daylight (D50) to bright, direct sunlight (D65).\n\tD55: [0.95682, 1.00000, 0.92149],\n\tD75: [0.94972, 1.00000, 1.22638],\n\n\t// Equal-energy illuminant, used in two-stage CAT16\n\tE: [1.00000, 1.00000, 1.00000],\n\n\t// The F series of illuminants represent fluorescent lights\n\tF2: [0.99186, 1.00000, 0.67393],\n\tF7: [0.95041, 1.00000, 1.08747],\n\tF11: [1.00962, 1.00000, 0.64350],\n});\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport {WHITES} from \"../adapt.js\";\nimport \"../CATs.js\"; // because of the funky whitepoint\n\n// The ACES whitepoint\n// see TB-2018-001 Derivation of the ACES White Point CIE Chromaticity Coordinates\n// also https://github.com/ampas/aces-dev/blob/master/documents/python/TB-2018-001/aces_wp.py\n// Similar to D60\nWHITES.ACES = [0.32168 / 0.33767, 1.00000, (1.00000 - 0.32168 - 0.33767) / 0.33767];\n\n// convert an array of linear-light ACEScc values to CIE XYZ\nconst toXYZ_M = [\n\t[ 0.6624541811085053, 0.13400420645643313, 0.1561876870049078 ],\n\t[ 0.27222871678091454, 0.6740817658111484, 0.05368951740793705 ],\n\t[ -0.005574649490394108, 0.004060733528982826, 1.0103391003129971 ],\n];\nconst fromXYZ_M = [\n\t[ 1.6410233796943257, -0.32480329418479, -0.23642469523761225 ],\n\t[ -0.6636628587229829, 1.6153315916573379, 0.016756347685530137 ],\n\t[ 0.011721894328375376, -0.008284441996237409, 0.9883948585390215 ],\n];\n\nexport default new RGBColorSpace({\n\tid: \"acescg\",\n\tcssId: \"--acescg\",\n\tname: \"ACEScg\",\n\n\t// ACEScg – A scene-referred, linear-light encoding of ACES Data\n\t// https://docs.acescentral.com/specifications/acescg/\n\t// uses the AP1 primaries, see section 4.3.1 Color primaries\n\tcoords: {\n\t\tr: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Red\",\n\t\t},\n\t\tg: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Green\",\n\t\t},\n\t\tb: {\n\t\t\trange: [0, 65504],\n\t\t\tname: \"Blue\",\n\t\t},\n\t},\n\n\treferred: \"scene\",\n\n\twhite: WHITES.ACES,\n\n\ttoXYZ_M,\n\tfromXYZ_M,\n});\n\n// export default Color;\n", "import RGBColorSpace from \"../rgbspace.js\";\nimport \"../CATs.js\"; // because of the funky whitepoint\nimport ACEScg from \"./acescg.js\";\n\nconst ε = 2 ** -16;\n\n// the smallest value which, in the 32bit IEEE 754 float encoding,\n// decodes as a non-negative value\nconst ACES_min_nonzero = -0.35828683;\n\n// brightest encoded value, decodes to 65504\nconst ACES_cc_max = (Math.log2(65504) + 9.72) / 17.52; // 1.468\n\nexport default new RGBColorSpace({\n\tid: \"acescc\",\n\tcssId: \"--acescc\",\n\tname: \"ACEScc\",\n\t// see S-2014-003 ACEScc – A Logarithmic Encoding of ACES Data\n\t// https://docs.acescentral.com/specifications/acescc/\n\t// uses the AP1 primaries, see section 4.3.1 Color primaries\n\n\t// Appendix A: \"Very small ACES scene referred values below 7 1/4 stops\n\t// below 18% middle gray are encoded as negative ACEScc values.\n\t// These values should be preserved per the encoding in Section 4.4\n\t// so that all positive ACES values are maintained.\"\n\tcoords: {\n\t\tr: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Red\",\n\t\t},\n\t\tg: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Green\",\n\t\t},\n\t\tb: {\n\t\t\trange: [ACES_min_nonzero, ACES_cc_max],\n\t\t\tname: \"Blue\",\n\t\t},\n\t},\n\treferred: \"scene\",\n\n\tbase: ACEScg,\n\t// from section 4.4.2 Decoding Function\n\ttoBase (RGB) {\n\t\tconst low = (9.72 - 15) / 17.52; // -0.3014\n\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val <= low) {\n\t\t\t\treturn (2 ** ((val * 17.52) - 9.72) - ε) * 2; // very low values, below -0.3014\n\t\t\t}\n\t\t\telse if (val < ACES_cc_max) {\n\t\t\t\treturn 2 ** ((val * 17.52) - 9.72);\n\t\t\t}\n\t\t\telse { // val >= ACES_cc_max\n\t\t\t\treturn 65504;\n\t\t\t}\n\t\t});\n\t},\n\n\t// Non-linear encoding function from S-2014-003, section 4.4.1 Encoding Function\n\tfromBase (RGB) {\n\t\treturn RGB.map(function (val) {\n\t\t\tif (val <= 0) {\n\t\t\t\treturn (Math.log2(ε) + 9.72) / 17.52; // -0.3584\n\t\t\t}\n\t\t\telse if (val < ε) {\n\t\t\t\treturn (Math.log2(ε + val * 0.5) + 9.72) / 17.52;\n\t\t\t}\n\t\t\telse { // val >= ε\n\t\t\t\treturn (Math.log2(val) + 9.72) / 17.52;\n\t\t\t}\n\t\t});\n\t},\n\t// encoded media white (rgb 1,1,1) => linear [ 222.861, 222.861, 222.861 ]\n\t// encoded media black (rgb 0,0,0) => linear [ 0.0011857, 0.0011857, 0.0011857]\n});\n", "import * as util from \"./util.js\";\nimport hooks from \"./hooks.js\";\nimport defaults from \"./defaults.js\";\nimport ColorSpace from \"./space.js\";\nimport {WHITES} from \"./adapt.js\";\nimport {\n\tgetColor,\n\tparse,\n\tto,\n\tserialize,\n\tinGamut,\n\ttoGamut,\n\tdistance,\n\tequals,\n\tget,\n\tgetAll,\n\tset,\n\tsetAll,\n\tdisplay,\n} from \"./index-fn.js\";\n\n\nimport \"./spaces/xyz-d50.js\";\nimport \"./spaces/srgb.js\";\n\n/**\n * Class that represents a color\n */\nexport default class Color {\n\t/**\n\t * Creates an instance of Color.\n\t * Signatures:\n\t * - `new Color(stringToParse)`\n\t * - `new Color(otherColor)`\n\t * - `new Color({space, coords, alpha})`\n\t * - `new Color(space, coords, alpha)`\n\t * - `new Color(spaceId, coords, alpha)`\n\t */\n\tconstructor (...args) {\n\t\tlet color;\n\n\t\tif (args.length === 1) {\n\t\t\tcolor = getColor(args[0]);\n\t\t}\n\n\t\tlet space, coords, alpha;\n\n\t\tif (color) {\n\t\t\tspace = color.space || color.spaceId;\n\t\t\tcoords = color.coords;\n\t\t\talpha = color.alpha;\n\t\t}\n\t\telse {\n\t\t\t// default signature new Color(ColorSpace, array [, alpha])\n\t\t\t[space, coords, alpha] = args;\n\t\t}\n\n\t\tObject.defineProperty(this, \"space\", {\n\t\t\tvalue: ColorSpace.get(space),\n\t\t\twritable: false,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true, // see note in https://262.ecma-international.org/8.0/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver\n\t\t});\n\n\t\tthis.coords = coords ? coords.slice() : [0, 0, 0];\n\n\t\t// Clamp alpha to [0, 1]\n\t\tthis.alpha = alpha > 1 || alpha === undefined ? 1 : (alpha < 0 ? 0 : alpha);\n\n\t\t// Convert \"NaN\" to NaN\n\t\tfor (let i = 0; i < this.coords.length; i++) {\n\t\t\tif (this.coords[i] === \"NaN\") {\n\t\t\t\tthis.coords[i] = NaN;\n\t\t\t}\n\t\t}\n\n\t\t// Define getters and setters for each coordinate\n\t\tfor (let id in this.space.coords) {\n\t\t\tObject.defineProperty(this, id, {\n\t\t\t\tget: () => this.get(id),\n\t\t\t\tset: value => this.set(id, value),\n\t\t\t});\n\t\t}\n\t}\n\n\tget spaceId () {\n\t\treturn this.space.id;\n\t}\n\n\tclone () {\n\t\treturn new Color(this.space, this.coords, this.alpha);\n\t}\n\n\ttoJSON () {\n\t\treturn {\n\t\t\tspaceId: this.spaceId,\n\t\t\tcoords: this.coords,\n\t\t\talpha: this.alpha,\n\t\t};\n\t}\n\n\tdisplay (...args) {\n\t\tlet ret = display(this, ...args);\n\n\t\t// Convert color object to Color instance\n\t\tret.color = new Color(ret.color);\n\n\t\treturn ret;\n\t}\n\n\t/**\n\t * Get a color from the argument passed\n\t * Basically gets us the same result as new Color(color) but doesn't clone an existing color object\n\t */\n\tstatic get (color, ...args) {\n\t\tif (color instanceof Color) {\n\t\t\treturn color;\n\t\t}\n\n\t\treturn new Color(color, ...args);\n\t}\n\n\tstatic defineFunction (name, code, o = code) {\n\t\tlet {instance = true, returns} = o;\n\n\t\tlet func = function (...args) {\n\t\t\tlet ret = code(...args);\n\n\t\t\tif (returns === \"color\") {\n\t\t\t\tret = Color.get(ret);\n\t\t\t}\n\t\t\telse if (returns === \"function<color>\") {\n\t\t\t\tlet f = ret;\n\t\t\t\tret = function (...args) {\n\t\t\t\t\tlet ret = f(...args);\n\t\t\t\t\treturn Color.get(ret);\n\t\t\t\t};\n\t\t\t\t// Copy any function metadata\n\t\t\t\tObject.assign(ret, f);\n\t\t\t}\n\t\t\telse if (returns === \"array<color>\") {\n\t\t\t\tret = ret.map(c => Color.get(c));\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t};\n\n\t\tif (!(name in Color)) {\n\t\t\tColor[name] = func;\n\t\t}\n\n\t\tif (instance) {\n\t\t\tColor.prototype[name] = function (...args) {\n\t\t\t\treturn func(this, ...args);\n\t\t\t};\n\t\t}\n\t}\n\n\tstatic defineFunctions (o) {\n\t\tfor (let name in o) {\n\t\t\tColor.defineFunction(name, o[name], o[name]);\n\t\t}\n\t}\n\n\tstatic extend (exports) {\n\t\tif (exports.register) {\n\t\t\texports.register(Color);\n\t\t}\n\t\telse {\n\t\t\t// No register method, just add the module's functions\n\t\t\tfor (let name in exports) {\n\t\t\t\tColor.defineFunction(name, exports[name]);\n\t\t\t}\n\t\t}\n\t}\n}\n\nColor.defineFunctions({\n\tget,\n\tgetAll,\n\tset,\n\tsetAll,\n\tto,\n\tequals,\n\tinGamut,\n\ttoGamut,\n\tdistance,\n\ttoString: serialize,\n});\n\nObject.assign(Color, {\n\tutil,\n\thooks,\n\tWHITES,\n\tSpace: ColorSpace,\n\tspaces: ColorSpace.registry,\n\tparse,\n\n\t// Global defaults one may want to configure\n\tdefaults,\n});\n", "import ColorSpace from \"../space.js\";\nimport * as spaces from \"./index-fn.js\";\n\nexport * as spaces from \"./index-fn.js\";\n\nfor (let key of Object.keys(spaces)) {\n\tColorSpace.register(spaces[key]);\n}\n", "/**\n * This plugin defines getters and setters for color[spaceId]\n * e.g. color.lch on *any* color gives us the lch coords\n */\nimport ColorSpace from \"./space.js\";\nimport Color from \"./color.js\";\nimport hooks from \"./hooks.js\";\n\n// Add space accessors to existing color spaces\nfor (let id in ColorSpace.registry) {\n\taddSpaceAccessors(id, ColorSpace.registry[id]);\n}\n\n// Add space accessors to color spaces not yet created\nhooks.add(\"colorspace-init-end\", space => {\n\taddSpaceAccessors(space.id, space);\n\tspace.aliases?.forEach(alias => {\n\t\taddSpaceAccessors(alias, space);\n\t});\n});\n\nfunction addSpaceAccessors (id, space) {\n\tlet propId = id.replace(/-/g, \"_\");\n\n\tObject.defineProperty(Color.prototype, propId, {\n\t\t// Convert coords to coords in another colorspace and return them\n\t\t// Source colorspace: this.spaceId\n\t\t// Target colorspace: id\n\t\tget () {\n\t\t\tlet ret = this.getAll(id);\n\n\t\t\tif (typeof Proxy === \"undefined\") {\n\t\t\t\t// If proxies are not supported, just return a static array\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Enable color.spaceId.coordName syntax\n\t\t\treturn new Proxy(ret, {\n\t\t\t\thas: (obj, property) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tColorSpace.resolveCoord([space, property]);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tcatch (e) {}\n\n\t\t\t\t\treturn Reflect.has(obj, property);\n\t\t\t\t},\n\t\t\t\tget: (obj, property, receiver) => {\n\t\t\t\t\tif (property && typeof property !== \"symbol\" && !(property in obj)) {\n\t\t\t\t\t\tlet {index} = ColorSpace.resolveCoord([space, property]);\n\n\t\t\t\t\t\tif (index >= 0) {\n\t\t\t\t\t\t\treturn obj[index];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Reflect.get(obj, property, receiver);\n\t\t\t\t},\n\t\t\t\tset: (obj, property, value, receiver) => {\n\t\t\t\t\tif (property && typeof property !== \"symbol\" && !(property in obj) || property >= 0) {\n\t\t\t\t\t\tlet {index} = ColorSpace.resolveCoord([space, property]);\n\n\t\t\t\t\t\tif (index >= 0) {\n\t\t\t\t\t\t\tobj[index] = value;\n\n\t\t\t\t\t\t\t// Update color.coords\n\t\t\t\t\t\t\tthis.setAll(id, obj);\n\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Reflect.set(obj, property, value, receiver);\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t\t// Convert coords in another colorspace to internal coords and set them\n\t\t// Target colorspace: this.spaceId\n\t\t// Source colorspace: id\n\t\tset (coords) {\n\t\t\tthis.setAll(id, coords);\n\t\t},\n\t\tconfigurable: true,\n\t\tenumerable: true,\n\t});\n}\n", "// Import all modules of Color.js\nimport Color from \"./color.js\";\n\n// Import all color spaces\nimport \"./spaces/index.js\";\n\n// Import all DeltaE methods\nimport deltaE from \"./deltaE.js\";\nimport deltaEMethods from \"./deltaE/index.js\";\n\nColor.extend(deltaEMethods);\nColor.extend({deltaE});\nObject.assign(Color, {deltaEMethods});\n\n// Import optional modules\nimport * as variations from \"./variations.js\";\nColor.extend(variations);\n\nimport contrast from \"./contrast.js\";\nColor.extend({contrast});\n\nimport * as chromaticity from \"./chromaticity.js\";\nColor.extend(chromaticity);\n\nimport * as luminance from \"./luminance.js\";\nColor.extend(luminance);\n\nimport * as interpolation from \"./interpolation.js\";\nColor.extend(interpolation);\n\nimport * as contrastMethods from \"./contrast/index.js\";\nColor.extend(contrastMethods);\n\nimport \"./CATs.js\";\nimport \"./space-accessors.js\";\n\n// Re-export everything\nexport default Color;\n"], + "mappings": "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S,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,uBAAuB,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAK,GAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,GAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAM,IAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,KAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,OAAO,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAO,IAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,C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,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO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,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAO,KAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,GAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,MAAM,EAAE,YAAY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GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,KAAK,GAAG,GAAG,KAAK,GAAG,EAAE,KAAK,IAAI,KAAK,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,KAAK,IAAI,KAAK,KAAK,EAAE,IAAI,EAEj+CC,GAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,G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A,WACA,WACA,WACA,WACA,0BACA,0BACA,WACA,cACA,aACA,2BACA,cACA,eACA,WACA,UACA,aACA,aACA,aACA,UACA,cACA,eACA,oBACA,mBACA,eACA,eACA,eACA,sBACA,sBACA,qBACA,2BACA,eACA,2BACA,qBACA,kBACA,oBACA,4BACA,mCACA,kCACA,uCACA,mCACA,wBACA,mBACA,sBACA,oBACA,eACA,yBACA,kBACA,cACA,eACA,kCACA,kCACA,uBACA,iBACA,kBACA,4BACA,gBACA,wBACA,UACA,WACA,UACA,SACA,OACA,WACA,iBACA,iBACA,oBACA,iBACA,gBACA,WACA,UACA,yBACA,yBACA,YACA,UACA,kCACA,aACA,YACA,YACA,YACA,eACA,YACA,eACA,eACA,eACA,gBACA,eACA,eACA,YACA,eACA,eACA,eACA,eACA,kBACA,eACA,kBACA,kBACA,kBACA,kBACA,qBACA,sBACA,kBACA,kBACA,kBACA,qBACA,qBACA,qBACA,kBACA,kBACA,qBACA,sBACA,kBACA,eACA,eACA,eACA,eACA,kBACA,eACA,eACA,eACA,kBACA,kBACA,eACA,eACA,kBACA,kBACA,mBACA,eACA,UACA,UACA,WACA,WACA,UACA,sBACA,sBACA,mBACA,aACA,aACA,aACA,aACA,WACA,WACA,eACA,eACA,iBACA,iBACA,iBACA,UACA,WACA,iBACA,cACA,cACA,6BACA,WACA,WACA,UACA,YACA,cACA,UACA,sBACA,WACA,aACA,QACA,qBACA,aACA,wBACA,SACA,YACA,iBACA,OACA,YACA,eACA,eACA,iBACA,MACA,UACA,UACA,OACA,iBACA,cACA,UACA,UACA,UACA,UACA,UACA,QACA,UACA,UACA,aACA,WACA,WACA,WACA,cACA,UACA,YACA,UACA,MACA,UACA,QACA,+BACA,QACA,UACA,YACA,MACA,OACA,mBACA,gBACA,cACA,YACA,WACA,WACA,KACA,2BACA,+BACA,8BACA,kCACA,gBACA,oBACA,2BACA,+BACA,8BACA,kCACA,gBACA,oBACA,2BACA,+BACA,8BACA,kCACA,gBACA,oBACA,QACA,SACA,eACA,mBACA,eACA,mBACA,eACA,mBACA,WACA,QACA,SACA,gBACA,UACA,SACA,UACA,UACA,OACA,WACA,4BACA,kBACA,aACA,qBACA,sBACA,mBACA,cACA,eACA,UACA,oBACA,WACA,gBACA,iBACA,iCACA,wBACA,kBACA,+BACA,mCACA,oBACA,oBACA,mCACA,uCACA,WACA,gBACA,kBACA,WACA,MACA,2BACA,MACA,YACA,MACA,UACA,MACA,eACA,cACA,SACA,WACA,gBACA,QACA,aACA,gBACA,YACA,QACA,OACA,MACA,aACA,UACA,SACA,aACA,UACA,UACA,gBACA,oBACA,gBACA,oBACA,gBACA,oBACA,SACA,OACA,eACA,UACA,WACA,WACA,WACA,WACA,YACA,YACA,wBACA,gBACA,UACA,4BACA,YACA,cACA,cACA,kBACA,SACA,eACA,yBACA,2BACA,kCACA,+BACA,sBACA,MACA,QACA,UACA,eACA,kBACA,qBACA,SACA,kBACA,WACA,UACA,iBACA,gBACA,SACA,WACA,WACA,UACA,UACA,UACA,gCACA,SACA,QACA,QACA,OACA,qBACA,oCACA,YACA,mBACA,mBACA,UACA,QACA,WACA,eACA,eACA,UACA,MACA,aACA,WACA,WACA,UACA,cACA,MACA,OACA,OACA,YACA,UACA,mBACA,gBACA,WACA,WACA,OACA,OACA,UACA,UACA,YACA,MACA,MACA,QACA,SACA,SACA,WACA,QACA,QACA,YACA,MACA,UACA,WACA,aACA,WACA,QACA,UACA,cACA,iBACA,UACA,cACA,iBACA,UACA,kBACA,iBACA,aACA,aACA,aACA,QACA,YACA,YACA,YACA,YACA,YACA,cACA,YACA,YACA,cACA,cACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,MACA,UACA,aACA,YACA,cACA,UACA,UACA,UACA,UACA,UACA,cACA,UACA,qBACA,aACA,OACA,WACA,UACA,WACA,MACA,UACA,eACA,eACA,QACA,SACA,+BACA,gCACA,aACA,aACA,eACA,UACA,qBACA,QACA,aACA,UACA,UACA,WACA,SACA,QACA,QACA,OACA,WACA,SACA,aACA,OACA,YACA,YACA,YACA,aACA,OACA,UACA,WACA,QACA,YACA,KACA,QACA,QACA,OACA,UACA,cACA,YACA,oBACA,WACA,MACA,UACA,eACA,WACA,gBACA,YACA,YACA,UACA,aACA,aACA,aACA,iBACA,UACA,eACA,SACA,WACA,eACA,MACA,eACA,YACA,QACA,aACA,OACA,OACA,UACA,OACA,QACA,gBACA,gBACA,cACA,OACA,UACA,cACA,UACA,UACA,kBACA,cACA,mBACA,mBACA,cACA,YACA,YACA,UACA,UACA,MACA,MACA,eACA,eACA,QACA,aACA,kBACA,SACA,MACA,uCACA,cACA,cACA,QACA,cACA,QACA,OACA,OACA,UACA,UACA,UACA,UACA,UACA,MACA,QACA,WACA,aACA,aACA,OACA,UACA,wBACA,WACA,cACA,YACA,UACA,sBACA,sBACA,OACA,UACA,WACA,OACA,UACA,SACA,aACA,OACA,aACA,UACA,UACA,SACA,SACA,aACA,iBACA,UACA,uBACA,OACA,QACA,WACA,WACA,iBACA,SACA,QACA,UACA,YACA,SACA,UACA,cACA,QACA,WACA,aACA,cACA,SACA,iBACA,OACA,MACA,SACA,4BACA,QACA,MACA,QACA,sBACD,IC3nBA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAA,SACC,WACA,WACA,uBACA,sBACA,WACA,WACA,WACA,UACA,UACA,6BACA,kCACA,+BACA,mCACA,8BACA,UACA,6BACA,kCACA,WACA,WACA,WACA,WACA,QACA,gBACA,cACA,WACA,WACD,IC3BA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAA,SACE,gBACA,qBACA,yBACA,yBACA,6BACA,iCACA,2BACA,uBACA,sBACA,uBACA,0BACA,sBACA,+BACA,0BACA,qBACA,2BACA,iBACA,gBA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CA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,oBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,qBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,oBACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,4BACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,qBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,oBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,oBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,oBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,uBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,wBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,wBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,qBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,sBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,qBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,MACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,oBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,qBACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,uBACR,IAAO,QACT,EACA,CACE,KAAQ,oBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,kBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,sBACR,IAAO,QACT,EACA,CACE,KAAQ,mBACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,oBACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,OACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,iBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,WACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,aACR,IAAO,QACT,EACA,CACE,KAAQ,eACR,IAAO,QACT,EACA,CACE,KAAQ,sBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,gBACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,UACR,IAAO,QACT,EACA,CACE,KAAQ,SACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,cACR,IAAO,QACT,EACA,CACE,KAAQ,YACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,EACA,CACE,KAAQ,QACR,IAAO,QACT,CACF,ICznMA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAU,CAAC,CAChB,KAAQ,WACR,IAAO,SACT,EAAE,CACA,KAAQ,oBACR,IAAO,SACT,EAAE,CACA,KAAQ,WACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,gBACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,EAAE,CACA,KAAQ,oBACR,IAAO,SACT,EAAE,CACA,KAAQ,kBACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,mBACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,gBACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,MACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,EAAE,CACA,KAAQ,sBACR,IAAO,SACT,EAAE,CACA,KAAQ,UACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,gBACR,IAAO,SACT,EAAE,CACA,KAAQ,OACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,UACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,kBACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,qBACR,IAAO,SACT,EAAE,CACA,KAAQ,gBACR,IAAO,SACT,EAAE,CACA,KAAQ,iBACR,IAAO,SACT,EAAE,CACA,KAAQ,OACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,EAAE,CACA,KAAQ,kBACR,IAAO,SACT,EAAE,CACA,KAAQ,WACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,kBACR,IAAO,SACT,EAAE,CACA,KAAQ,uBACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,iBACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,iBACR,IAAO,SACT,EAAE,CACA,KAAQ,WACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,WACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,gBACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,EAAE,CACA,KAAQ,OACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,mBACR,IAAO,SACT,EAAE,CACA,KAAQ,UACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,iCACR,IAAO,SACT,EAAE,CACA,KAAQ,kBACR,IAAO,SACT,EAAE,CACA,KAAQ,WACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,UACR,IAAO,SACT,EAAE,CACA,KAAQ,gBACR,IAAO,SACT,EAAE,CACA,KAAQ,gBACR,IAAO,SACT,EAAE,CACA,KAAQ,OACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,iBACR,IAAO,SACT,EAAE,CACA,KAAQ,qBACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,WACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,kBACR,IAAO,SACT,EAAE,CACA,KAAQ,UACR,IAAO,SACT,EAAE,CACA,KAAQ,WACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,iBACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,gBACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,EAAE,CACA,KAAQ,iBACR,IAAO,SACT,EAAE,CACA,KAAQ,eACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,MACR,IAAO,SACT,EAAE,CACA,KAAQ,cACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,kBACR,IAAO,SACT,EAAE,CACA,KAAQ,UACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,YACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,EAAE,CACA,KAAQ,aACR,IAAO,SACT,EAAE,CACA,KAAQ,SACR,IAAO,SACT,EAAE,CACA,KAAQ,OACR,IAAO,SACT,EAAE,CACA,KAAQ,QACR,IAAO,SACT,CAAC,ICxWD,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAU,CACf,CAAE,KAAM,MAAO,IAAK,SAAU,EAC9B,CAAE,KAAM,SAAU,IAAK,SAAU,EACjC,CAAE,KAAM,SAAU,IAAK,SAAU,EACjC,CAAE,KAAM,QAAS,IAAK,SAAU,EAChC,CAAE,KAAM,OAAQ,IAAK,SAAU,EAC/B,CAAE,KAAM,SAAU,IAAK,SAAU,EACjC,CAAE,KAAM,SAAU,IAAK,SAAU,CACnC,ICRA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAU,CAAC,CAChB,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,iBACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,eACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,oBACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,iBACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,eACN,IAAK,SACP,EAAG,CACD,KAAM,eACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,eACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,kBACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,MACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,uBACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,MACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,iBACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,eACN,IAAK,SACP,EAAG,CACD,KAAM,eACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,WACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,iBACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,iBACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,iBACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,kBACN,IAAK,SACP,EAAG,CACD,KAAM,eACN,IAAK,SACP,EAAG,CACD,KAAM,YACN,IAAK,SACP,EAAG,CACD,KAAM,cACN,IAAK,SACP,EAAG,CACD,KAAM,gBACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,SACN,IAAK,SACP,EAAG,CACD,KAAM,OACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,kBACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,mBACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,aACN,IAAK,SACP,EAAG,CACD,KAAM,QACN,IAAK,SACP,EAAG,CACD,KAAM,iBACN,IAAK,SACP,EAAG,CACD,KAAM,UACN,IAAK,SACP,CAAC,ICzbD,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,IAAIC,GAAS,KACTC,GAAU,KAIVC,GAAQ,CACV,MAAO,KACP,KAAM,KACN,IAAK,KACL,QAAS,KACT,QAAS,KACT,IAAK,IACP,EAEIC,GAAQ,IAAIF,GACZG,GAAQL,GAAO,QAAU,SAASM,EAAOC,EAAS,CACpDA,EAAUA,GAAW,CAAC,EAEtB,IAAIC,EAAW,CAAC,MAAAF,EAAO,QAAAC,CAAO,EAC9B,GAAIH,GAAM,IAAII,CAAQ,EACpB,OAAOJ,GAAM,IAAII,CAAQ,EAG3B,IAAIC,EAAS,OAAOF,EAAQ,QAAQ,EAAE,YAAY,IAAM,SACxDD,EAAQL,GAAOK,CAAK,EACpB,IAAII,EAAU,CAAC,EACf,QAASC,KAAOR,GACVI,EAAQ,MAAQA,EAAQ,KAAK,QAAQI,CAAG,IAAM,IAG9CJ,EAAQ,MAAQA,EAAQ,KAAK,QAAQI,CAAG,IAAM,KAGlDD,EAAQC,CAAG,EAAIR,GAAMQ,CAAG,EACrB,IAAK,SAASC,EAAM,CACnB,OAAAA,EAAK,SAAWH,EAASR,GAAO,OAAOK,EAAOL,GAAOW,EAAK,GAAG,CAAC,EAAIX,GAAO,SAASK,EAAOL,GAAOW,EAAK,GAAG,CAAC,EAClGA,CACT,CAAC,EACA,KAAM,SAASC,EAAGC,EAAG,CACpB,OAAOD,EAAE,SAAWC,EAAE,QACxB,CAAC,GAEL,OAAAV,GAAM,IAAII,EAAUE,CAAO,EACpBA,CACT,EAEAL,GAAM,OAASJ,GACfI,GAAM,MAAQF,KCjDd,IAAAY,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,IAAiB,CACxB,KAAK,SAAW,CAAC,EACjB,KAAK,KAAO,CACd,CAEAD,GAAO,QAAUC,KCZjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAgCA,SAASC,GAAGC,EAAOC,EAAO,CACxB,OAAOD,IAAUC,GAAUD,IAAUA,GAASC,IAAUA,CAC1D,CAEAH,GAAO,QAAUC,KCpCjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAK,KAUT,SAASC,GAAaC,EAAOC,EAAK,CAEhC,QADIC,EAASF,EAAM,OACZE,KACL,GAAIJ,GAAGE,EAAME,CAAM,EAAE,CAAC,EAAGD,CAAG,EAC1B,OAAOC,EAGX,MAAO,EACT,CAEAL,GAAO,QAAUE,KCpBjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAe,KAGfC,GAAa,MAAM,UAGnBC,GAASD,GAAW,OAWxB,SAASE,GAAgBC,EAAK,CAC5B,IAAIC,EAAO,KAAK,SACZC,EAAQN,GAAaK,EAAMD,CAAG,EAElC,GAAIE,EAAQ,EACV,MAAO,GAET,IAAIC,EAAYF,EAAK,OAAS,EAC9B,OAAIC,GAASC,EACXF,EAAK,IAAI,EAETH,GAAO,KAAKG,EAAMC,EAAO,CAAC,EAE5B,EAAE,KAAK,KACA,EACT,CAEAP,GAAO,QAAUI,KClCjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAe,KAWnB,SAASC,GAAaC,EAAK,CACzB,IAAIC,EAAO,KAAK,SACZC,EAAQJ,GAAaG,EAAMD,CAAG,EAElC,OAAOE,EAAQ,EAAI,OAAYD,EAAKC,CAAK,EAAE,CAAC,CAC9C,CAEAL,GAAO,QAAUE,KClBjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAe,KAWnB,SAASC,GAAaC,EAAK,CACzB,OAAOF,GAAa,KAAK,SAAUE,CAAG,EAAI,EAC5C,CAEAH,GAAO,QAAUE,KCfjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAe,KAYnB,SAASC,GAAaC,EAAKC,EAAO,CAChC,IAAIC,EAAO,KAAK,SACZC,EAAQL,GAAaI,EAAMF,CAAG,EAElC,OAAIG,EAAQ,GACV,EAAE,KAAK,KACPD,EAAK,KAAK,CAACF,EAAKC,CAAK,CAAC,GAEtBC,EAAKC,CAAK,EAAE,CAAC,EAAIF,EAEZ,IACT,CAEAJ,GAAO,QAAUE,KCzBjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAiB,KACjBC,GAAkB,KAClBC,GAAe,KACfC,GAAe,KACfC,GAAe,KASnB,SAASC,GAAUC,EAAS,CAC1B,IAAIC,EAAQ,GACRC,EAASF,GAAW,KAAO,EAAIA,EAAQ,OAG3C,IADA,KAAK,MAAM,EACJ,EAAEC,EAAQC,GAAQ,CACvB,IAAIC,EAAQH,EAAQC,CAAK,EACzB,KAAK,IAAIE,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,CAC7B,CACF,CAGAJ,GAAU,UAAU,MAAQL,GAC5BK,GAAU,UAAU,OAAYJ,GAChCI,GAAU,UAAU,IAAMH,GAC1BG,GAAU,UAAU,IAAMF,GAC1BE,GAAU,UAAU,IAAMD,GAE1BL,GAAO,QAAUM,KC/BjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAY,KAShB,SAASC,IAAa,CACpB,KAAK,SAAW,IAAID,GACpB,KAAK,KAAO,CACd,CAEAD,GAAO,QAAUE,KCdjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAYC,EAAK,CACxB,IAAIC,EAAO,KAAK,SACZC,EAASD,EAAK,OAAUD,CAAG,EAE/B,YAAK,KAAOC,EAAK,KACVC,CACT,CAEAJ,GAAO,QAAUC,KCjBjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAASC,EAAK,CACrB,OAAO,KAAK,SAAS,IAAIA,CAAG,CAC9B,CAEAF,GAAO,QAAUC,KCbjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAASC,EAAK,CACrB,OAAO,KAAK,SAAS,IAAIA,CAAG,CAC9B,CAEAF,GAAO,QAAUC,KCbjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CACA,IAAIC,GAAa,OAAO,QAAU,UAAY,QAAU,OAAO,SAAW,QAAU,OAEpFD,GAAO,QAAUC,KCHjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAa,KAGbC,GAAW,OAAO,MAAQ,UAAY,MAAQ,KAAK,SAAW,QAAU,KAGxEC,GAAOF,IAAcC,IAAY,SAAS,aAAa,EAAE,EAE7DF,GAAO,QAAUG,KCRjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAO,KAGPC,GAASD,GAAK,OAElBD,GAAO,QAAUE,KCLjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAS,KAGTC,GAAc,OAAO,UAGrBC,GAAiBD,GAAY,eAO7BE,GAAuBF,GAAY,SAGnCG,GAAiBJ,GAASA,GAAO,YAAc,OASnD,SAASK,GAAUC,EAAO,CACxB,IAAIC,EAAQL,GAAe,KAAKI,EAAOF,EAAc,EACjDI,EAAMF,EAAMF,EAAc,EAE9B,GAAI,CACFE,EAAMF,EAAc,EAAI,OACxB,IAAIK,EAAW,EACjB,MAAY,CAAC,CAEb,IAAIC,EAASP,GAAqB,KAAKG,CAAK,EAC5C,OAAIG,IACEF,EACFD,EAAMF,EAAc,EAAII,EAExB,OAAOF,EAAMF,EAAc,GAGxBM,CACT,CAEAX,GAAO,QAAUM,KC7CjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CACA,IAAIC,GAAc,OAAO,UAOrBC,GAAuBD,GAAY,SASvC,SAASE,GAAeC,EAAO,CAC7B,OAAOF,GAAqB,KAAKE,CAAK,CACxC,CAEAJ,GAAO,QAAUG,KCrBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAS,KACTC,GAAY,KACZC,GAAiB,KAGjBC,GAAU,gBACVC,GAAe,qBAGfC,GAAiBL,GAASA,GAAO,YAAc,OASnD,SAASM,GAAWC,EAAO,CACzB,OAAIA,GAAS,KACJA,IAAU,OAAYH,GAAeD,GAEtCE,IAAkBA,MAAkB,OAAOE,CAAK,EACpDN,GAAUM,CAAK,EACfL,GAAeK,CAAK,CAC1B,CAEAR,GAAO,QAAUO,KC3BjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAyBA,SAASC,GAASC,EAAO,CACvB,IAAIC,EAAO,OAAOD,EAClB,OAAOA,GAAS,OAASC,GAAQ,UAAYA,GAAQ,WACvD,CAEAH,GAAO,QAAUC,KC9BjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAa,KACbC,GAAW,KAGXC,GAAW,yBACXC,GAAU,oBACVC,GAAS,6BACTC,GAAW,iBAmBf,SAASC,GAAWC,EAAO,CACzB,GAAI,CAACN,GAASM,CAAK,EACjB,MAAO,GAIT,IAAIC,EAAMR,GAAWO,CAAK,EAC1B,OAAOC,GAAOL,IAAWK,GAAOJ,IAAUI,GAAON,IAAYM,GAAOH,EACtE,CAEAN,GAAO,QAAUO,KCpCjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAO,KAGPC,GAAaD,GAAK,oBAAoB,EAE1CD,GAAO,QAAUE,KCLjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAa,KAGbC,GAAc,UAAW,CAC3B,IAAIC,EAAM,SAAS,KAAKF,IAAcA,GAAW,MAAQA,GAAW,KAAK,UAAY,EAAE,EACvF,OAAOE,EAAO,iBAAmBA,EAAO,EAC1C,EAAE,EASF,SAASC,GAASC,EAAM,CACtB,MAAO,CAAC,CAACH,IAAeA,MAAcG,CACxC,CAEAL,GAAO,QAAUI,KCnBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CACA,IAAIC,GAAY,SAAS,UAGrBC,GAAeD,GAAU,SAS7B,SAASE,GAASC,EAAM,CACtB,GAAIA,GAAQ,KAAM,CAChB,GAAI,CACF,OAAOF,GAAa,KAAKE,CAAI,CAC/B,MAAY,CAAC,CACb,GAAI,CACF,OAAQA,EAAO,EACjB,MAAY,CAAC,CACf,CACA,MAAO,EACT,CAEAJ,GAAO,QAAUG,KCzBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAa,KACbC,GAAW,KACXC,GAAW,KACXC,GAAW,KAMXC,GAAe,sBAGfC,GAAe,8BAGfC,GAAY,SAAS,UACrBC,GAAc,OAAO,UAGrBC,GAAeF,GAAU,SAGzBG,GAAiBF,GAAY,eAG7BG,GAAa,OAAO,IACtBF,GAAa,KAAKC,EAAc,EAAE,QAAQL,GAAc,MAAM,EAC7D,QAAQ,yDAA0D,OAAO,EAAI,GAChF,EAUA,SAASO,GAAaC,EAAO,CAC3B,GAAI,CAACV,GAASU,CAAK,GAAKX,GAASW,CAAK,EACpC,MAAO,GAET,IAAIC,EAAUb,GAAWY,CAAK,EAAIF,GAAaL,GAC/C,OAAOQ,EAAQ,KAAKV,GAASS,CAAK,CAAC,CACrC,CAEAb,GAAO,QAAUY,KC9CjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAASC,EAAQC,EAAK,CAC7B,OAAoCD,IAAOC,CAAG,CAChD,CAEAH,GAAO,QAAUC,KCZjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAe,KACfC,GAAW,KAUf,SAASC,GAAUC,EAAQC,EAAK,CAC9B,IAAIC,EAAQJ,GAASE,EAAQC,CAAG,EAChC,OAAOJ,GAAaK,CAAK,EAAIA,EAAQ,MACvC,CAEAN,GAAO,QAAUG,KChBjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAY,KACZC,GAAO,KAGPC,GAAMF,GAAUC,GAAM,KAAK,EAE/BF,GAAO,QAAUG,KCNjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAY,KAGZC,GAAeD,GAAU,OAAQ,QAAQ,EAE7CD,GAAO,QAAUE,KCLjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAe,KASnB,SAASC,IAAY,CACnB,KAAK,SAAWD,GAAeA,GAAa,IAAI,EAAI,CAAC,EACrD,KAAK,KAAO,CACd,CAEAD,GAAO,QAAUE,KCdjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAUA,SAASC,GAAWC,EAAK,CACvB,IAAIC,EAAS,KAAK,IAAID,CAAG,GAAK,OAAO,KAAK,SAASA,CAAG,EACtD,YAAK,MAAQC,EAAS,EAAI,EACnBA,CACT,CAEAH,GAAO,QAAUC,KChBjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAe,KAGfC,GAAiB,4BAGjBC,GAAc,OAAO,UAGrBC,GAAiBD,GAAY,eAWjC,SAASE,GAAQC,EAAK,CACpB,IAAIC,EAAO,KAAK,SAChB,GAAIN,GAAc,CAChB,IAAIO,EAASD,EAAKD,CAAG,EACrB,OAAOE,IAAWN,GAAiB,OAAYM,CACjD,CACA,OAAOJ,GAAe,KAAKG,EAAMD,CAAG,EAAIC,EAAKD,CAAG,EAAI,MACtD,CAEAN,GAAO,QAAUK,KC7BjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAe,KAGfC,GAAc,OAAO,UAGrBC,GAAiBD,GAAY,eAWjC,SAASE,GAAQC,EAAK,CACpB,IAAIC,EAAO,KAAK,SAChB,OAAOL,GAAgBK,EAAKD,CAAG,IAAM,OAAaF,GAAe,KAAKG,EAAMD,CAAG,CACjF,CAEAL,GAAO,QAAUI,KCtBjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAe,KAGfC,GAAiB,4BAYrB,SAASC,GAAQC,EAAKC,EAAO,CAC3B,IAAIC,EAAO,KAAK,SAChB,YAAK,MAAQ,KAAK,IAAIF,CAAG,EAAI,EAAI,EACjCE,EAAKF,CAAG,EAAKH,IAAgBI,IAAU,OAAaH,GAAiBG,EAC9D,IACT,CAEAL,GAAO,QAAUG,KCtBjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAY,KACZC,GAAa,KACbC,GAAU,KACVC,GAAU,KACVC,GAAU,KASd,SAASC,GAAKC,EAAS,CACrB,IAAIC,EAAQ,GACRC,EAASF,GAAW,KAAO,EAAIA,EAAQ,OAG3C,IADA,KAAK,MAAM,EACJ,EAAEC,EAAQC,GAAQ,CACvB,IAAIC,EAAQH,EAAQC,CAAK,EACzB,KAAK,IAAIE,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,CAC7B,CACF,CAGAJ,GAAK,UAAU,MAAQL,GACvBK,GAAK,UAAU,OAAYJ,GAC3BI,GAAK,UAAU,IAAMH,GACrBG,GAAK,UAAU,IAAMF,GACrBE,GAAK,UAAU,IAAMD,GAErBL,GAAO,QAAUM,KC/BjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAO,KACPC,GAAY,KACZC,GAAM,KASV,SAASC,IAAgB,CACvB,KAAK,KAAO,EACZ,KAAK,SAAW,CACd,KAAQ,IAAIH,GACZ,IAAO,IAAKE,IAAOD,IACnB,OAAU,IAAID,EAChB,CACF,CAEAD,GAAO,QAAUI,KCpBjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAUC,EAAO,CACxB,IAAIC,EAAO,OAAOD,EAClB,OAAQC,GAAQ,UAAYA,GAAQ,UAAYA,GAAQ,UAAYA,GAAQ,UACvED,IAAU,YACVA,IAAU,IACjB,CAEAF,GAAO,QAAUC,KCdjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAY,KAUhB,SAASC,GAAWC,EAAKC,EAAK,CAC5B,IAAIC,EAAOF,EAAI,SACf,OAAOF,GAAUG,CAAG,EAChBC,EAAK,OAAOD,GAAO,SAAW,SAAW,MAAM,EAC/CC,EAAK,GACX,CAEAL,GAAO,QAAUE,KCjBjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAa,KAWjB,SAASC,GAAeC,EAAK,CAC3B,IAAIC,EAASH,GAAW,KAAME,CAAG,EAAE,OAAUA,CAAG,EAChD,YAAK,MAAQC,EAAS,EAAI,EACnBA,CACT,CAEAJ,GAAO,QAAUE,KCjBjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAa,KAWjB,SAASC,GAAYC,EAAK,CACxB,OAAOF,GAAW,KAAME,CAAG,EAAE,IAAIA,CAAG,CACtC,CAEAH,GAAO,QAAUE,KCfjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAa,KAWjB,SAASC,GAAYC,EAAK,CACxB,OAAOF,GAAW,KAAME,CAAG,EAAE,IAAIA,CAAG,CACtC,CAEAH,GAAO,QAAUE,KCfjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAa,KAYjB,SAASC,GAAYC,EAAKC,EAAO,CAC/B,IAAIC,EAAOJ,GAAW,KAAME,CAAG,EAC3BG,EAAOD,EAAK,KAEhB,OAAAA,EAAK,IAAIF,EAAKC,CAAK,EACnB,KAAK,MAAQC,EAAK,MAAQC,EAAO,EAAI,EAC9B,IACT,CAEAN,GAAO,QAAUE,KCrBjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAgB,KAChBC,GAAiB,KACjBC,GAAc,KACdC,GAAc,KACdC,GAAc,KASlB,SAASC,GAASC,EAAS,CACzB,IAAIC,EAAQ,GACRC,EAASF,GAAW,KAAO,EAAIA,EAAQ,OAG3C,IADA,KAAK,MAAM,EACJ,EAAEC,EAAQC,GAAQ,CACvB,IAAIC,EAAQH,EAAQC,CAAK,EACzB,KAAK,IAAIE,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,CAC7B,CACF,CAGAJ,GAAS,UAAU,MAAQL,GAC3BK,GAAS,UAAU,OAAYJ,GAC/BI,GAAS,UAAU,IAAMH,GACzBG,GAAS,UAAU,IAAMF,GACzBE,GAAS,UAAU,IAAMD,GAEzBL,GAAO,QAAUM,KC/BjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAY,KACZC,GAAM,KACNC,GAAW,KAGXC,GAAmB,IAYvB,SAASC,GAASC,EAAKC,EAAO,CAC5B,IAAIC,EAAO,KAAK,SAChB,GAAIA,aAAgBP,GAAW,CAC7B,IAAIQ,EAAQD,EAAK,SACjB,GAAI,CAACN,IAAQO,EAAM,OAASL,GAAmB,EAC7C,OAAAK,EAAM,KAAK,CAACH,EAAKC,CAAK,CAAC,EACvB,KAAK,KAAO,EAAEC,EAAK,KACZ,KAETA,EAAO,KAAK,SAAW,IAAIL,GAASM,CAAK,CAC3C,CACA,OAAAD,EAAK,IAAIF,EAAKC,CAAK,EACnB,KAAK,KAAOC,EAAK,KACV,IACT,CAEAR,GAAO,QAAUK,KCjCjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAY,KACZC,GAAa,KACbC,GAAc,KACdC,GAAW,KACXC,GAAW,KACXC,GAAW,KASf,SAASC,GAAMC,EAAS,CACtB,IAAIC,EAAO,KAAK,SAAW,IAAIR,GAAUO,CAAO,EAChD,KAAK,KAAOC,EAAK,IACnB,CAGAF,GAAM,UAAU,MAAQL,GACxBK,GAAM,UAAU,OAAYJ,GAC5BI,GAAM,UAAU,IAAMH,GACtBG,GAAM,UAAU,IAAMF,GACtBE,GAAM,UAAU,IAAMD,GAEtBN,GAAO,QAAUO,KC1BjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CACA,IAAIC,GAAiB,4BAYrB,SAASC,GAAYC,EAAO,CAC1B,YAAK,SAAS,IAAIA,EAAOF,EAAc,EAChC,IACT,CAEAD,GAAO,QAAUE,KClBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAYC,EAAO,CAC1B,OAAO,KAAK,SAAS,IAAIA,CAAK,CAChC,CAEAF,GAAO,QAAUC,KCbjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAW,KACXC,GAAc,KACdC,GAAc,KAUlB,SAASC,GAASC,EAAQ,CACxB,IAAIC,EAAQ,GACRC,EAASF,GAAU,KAAO,EAAIA,EAAO,OAGzC,IADA,KAAK,SAAW,IAAIJ,GACb,EAAEK,EAAQC,GACf,KAAK,IAAIF,EAAOC,CAAK,CAAC,CAE1B,CAGAF,GAAS,UAAU,IAAMA,GAAS,UAAU,KAAOF,GACnDE,GAAS,UAAU,IAAMD,GAEzBH,GAAO,QAAUI,KC1BjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAUA,SAASC,GAAUC,EAAOC,EAAW,CAInC,QAHIC,EAAQ,GACRC,EAASH,GAAS,KAAO,EAAIA,EAAM,OAEhC,EAAEE,EAAQC,GACf,GAAIF,EAAUD,EAAME,CAAK,EAAGA,EAAOF,CAAK,EACtC,MAAO,GAGX,MAAO,EACT,CAEAF,GAAO,QAAUC,KCtBjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAASC,EAAOC,EAAK,CAC5B,OAAOD,EAAM,IAAIC,CAAG,CACtB,CAEAH,GAAO,QAAUC,KCZjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAW,KACXC,GAAY,KACZC,GAAW,KAGXC,GAAuB,EACvBC,GAAyB,EAe7B,SAASC,GAAYC,EAAOC,EAAOC,EAASC,EAAYC,EAAWC,EAAO,CACxE,IAAIC,EAAYJ,EAAUL,GACtBU,EAAYP,EAAM,OAClBQ,EAAYP,EAAM,OAEtB,GAAIM,GAAaC,GAAa,EAAEF,GAAaE,EAAYD,GACvD,MAAO,GAGT,IAAIE,EAAaJ,EAAM,IAAIL,CAAK,EAC5BU,EAAaL,EAAM,IAAIJ,CAAK,EAChC,GAAIQ,GAAcC,EAChB,OAAOD,GAAcR,GAASS,GAAcV,EAE9C,IAAIW,EAAQ,GACRC,EAAS,GACTC,EAAQX,EAAUJ,GAA0B,IAAIJ,GAAW,OAM/D,IAJAW,EAAM,IAAIL,EAAOC,CAAK,EACtBI,EAAM,IAAIJ,EAAOD,CAAK,EAGf,EAAEW,EAAQJ,GAAW,CAC1B,IAAIO,EAAWd,EAAMW,CAAK,EACtBI,EAAWd,EAAMU,CAAK,EAE1B,GAAIR,EACF,IAAIa,EAAWV,EACXH,EAAWY,EAAUD,EAAUH,EAAOV,EAAOD,EAAOK,CAAK,EACzDF,EAAWW,EAAUC,EAAUJ,EAAOX,EAAOC,EAAOI,CAAK,EAE/D,GAAIW,IAAa,OAAW,CAC1B,GAAIA,EACF,SAEFJ,EAAS,GACT,KACF,CAEA,GAAIC,GACF,GAAI,CAAClB,GAAUM,EAAO,SAASc,EAAUE,EAAU,CAC7C,GAAI,CAACrB,GAASiB,EAAMI,CAAQ,IACvBH,IAAaC,GAAYX,EAAUU,EAAUC,EAAUb,EAASC,EAAYE,CAAK,GACpF,OAAOQ,EAAK,KAAKI,CAAQ,CAE7B,CAAC,EAAG,CACNL,EAAS,GACT,KACF,UACS,EACLE,IAAaC,GACXX,EAAUU,EAAUC,EAAUb,EAASC,EAAYE,CAAK,GACzD,CACLO,EAAS,GACT,KACF,CACF,CACA,OAAAP,EAAM,OAAUL,CAAK,EACrBK,EAAM,OAAUJ,CAAK,EACdW,CACT,CAEAnB,GAAO,QAAUM,KCnFjB,IAAAmB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAO,KAGPC,GAAaD,GAAK,WAEtBD,GAAO,QAAUE,KCLjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAWC,EAAK,CACvB,IAAIC,EAAQ,GACRC,EAAS,MAAMF,EAAI,IAAI,EAE3B,OAAAA,EAAI,QAAQ,SAASG,EAAOC,EAAK,CAC/BF,EAAO,EAAED,CAAK,EAAI,CAACG,EAAKD,CAAK,CAC/B,CAAC,EACMD,CACT,CAEAJ,GAAO,QAAUC,KCjBjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAWC,EAAK,CACvB,IAAIC,EAAQ,GACRC,EAAS,MAAMF,EAAI,IAAI,EAE3B,OAAAA,EAAI,QAAQ,SAASG,EAAO,CAC1BD,EAAO,EAAED,CAAK,EAAIE,CACpB,CAAC,EACMD,CACT,CAEAJ,GAAO,QAAUC,KCjBjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAS,KACTC,GAAa,KACbC,GAAK,KACLC,GAAc,KACdC,GAAa,KACbC,GAAa,KAGbC,GAAuB,EACvBC,GAAyB,EAGzBC,GAAU,mBACVC,GAAU,gBACVC,GAAW,iBACXC,GAAS,eACTC,GAAY,kBACZC,GAAY,kBACZC,GAAS,eACTC,GAAY,kBACZC,GAAY,kBAEZC,GAAiB,uBACjBC,GAAc,oBAGdC,GAAcnB,GAASA,GAAO,UAAY,OAC1CoB,GAAgBD,GAAcA,GAAY,QAAU,OAmBxD,SAASE,GAAWC,EAAQC,EAAOC,EAAKC,EAASC,EAAYC,EAAWC,EAAO,CAC7E,OAAQJ,EAAK,CACX,KAAKN,GACH,GAAKI,EAAO,YAAcC,EAAM,YAC3BD,EAAO,YAAcC,EAAM,WAC9B,MAAO,GAETD,EAASA,EAAO,OAChBC,EAAQA,EAAM,OAEhB,KAAKN,GACH,MAAK,EAAAK,EAAO,YAAcC,EAAM,YAC5B,CAACI,EAAU,IAAI1B,GAAWqB,CAAM,EAAG,IAAIrB,GAAWsB,CAAK,CAAC,GAK9D,KAAKf,GACL,KAAKC,GACL,KAAKG,GAGH,OAAOV,GAAG,CAACoB,EAAQ,CAACC,CAAK,EAE3B,KAAKb,GACH,OAAOY,EAAO,MAAQC,EAAM,MAAQD,EAAO,SAAWC,EAAM,QAE9D,KAAKV,GACL,KAAKE,GAIH,OAAOO,GAAWC,EAAQ,GAE5B,KAAKZ,GACH,IAAIkB,EAAUzB,GAEhB,KAAKU,GACH,IAAIgB,EAAYL,EAAUnB,GAG1B,GAFAuB,IAAYA,EAAUxB,IAElBiB,EAAO,MAAQC,EAAM,MAAQ,CAACO,EAChC,MAAO,GAGT,IAAIC,EAAUH,EAAM,IAAIN,CAAM,EAC9B,GAAIS,EACF,OAAOA,GAAWR,EAEpBE,GAAWlB,GAGXqB,EAAM,IAAIN,EAAQC,CAAK,EACvB,IAAIS,EAAS7B,GAAY0B,EAAQP,CAAM,EAAGO,EAAQN,CAAK,EAAGE,EAASC,EAAYC,EAAWC,CAAK,EAC/F,OAAAA,EAAM,OAAUN,CAAM,EACfU,EAET,KAAKhB,GACH,GAAII,GACF,OAAOA,GAAc,KAAKE,CAAM,GAAKF,GAAc,KAAKG,CAAK,CAEnE,CACA,MAAO,EACT,CAEAxB,GAAO,QAAUsB,KC/GjB,IAAAY,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAUC,EAAOC,EAAQ,CAKhC,QAJIC,EAAQ,GACRC,EAASF,EAAO,OAChBG,EAASJ,EAAM,OAEZ,EAAEE,EAAQC,GACfH,EAAMI,EAASF,CAAK,EAAID,EAAOC,CAAK,EAEtC,OAAOF,CACT,CAEAF,GAAO,QAAUC,KCnBjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAuBA,IAAIC,GAAU,MAAM,QAEpBD,GAAO,QAAUC,KCzBjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAY,KACZC,GAAU,KAad,SAASC,GAAeC,EAAQC,EAAUC,EAAa,CACrD,IAAIC,EAASF,EAASD,CAAM,EAC5B,OAAOF,GAAQE,CAAM,EAAIG,EAASN,GAAUM,EAAQD,EAAYF,CAAM,CAAC,CACzE,CAEAJ,GAAO,QAAUG,KCnBjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAYC,EAAOC,EAAW,CAMrC,QALIC,EAAQ,GACRC,EAASH,GAAS,KAAO,EAAIA,EAAM,OACnCI,EAAW,EACXC,EAAS,CAAC,EAEP,EAAEH,EAAQC,GAAQ,CACvB,IAAIG,EAAQN,EAAME,CAAK,EACnBD,EAAUK,EAAOJ,EAAOF,CAAK,IAC/BK,EAAOD,GAAU,EAAIE,EAEzB,CACA,OAAOD,CACT,CAEAP,GAAO,QAAUC,KCxBjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAkBA,SAASC,IAAY,CACnB,MAAO,CAAC,CACV,CAEAD,GAAO,QAAUC,KCtBjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAc,KACdC,GAAY,KAGZC,GAAc,OAAO,UAGrBC,GAAuBD,GAAY,qBAGnCE,GAAmB,OAAO,sBAS1BC,GAAcD,GAA+B,SAASE,EAAQ,CAChE,OAAIA,GAAU,KACL,CAAC,GAEVA,EAAS,OAAOA,CAAM,EACfN,GAAYI,GAAiBE,CAAM,EAAG,SAASC,EAAQ,CAC5D,OAAOJ,GAAqB,KAAKG,EAAQC,CAAM,CACjD,CAAC,EACH,EARqCN,GAUrCF,GAAO,QAAUM,KC7BjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAUC,EAAGC,EAAU,CAI9B,QAHIC,EAAQ,GACRC,EAAS,MAAMH,CAAC,EAEb,EAAEE,EAAQF,GACfG,EAAOD,CAAK,EAAID,EAASC,CAAK,EAEhC,OAAOC,CACT,CAEAL,GAAO,QAAUC,KCnBjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAwBA,SAASC,GAAaC,EAAO,CAC3B,OAAOA,GAAS,MAAQ,OAAOA,GAAS,QAC1C,CAEAF,GAAO,QAAUC,KC5BjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAa,KACbC,GAAe,KAGfC,GAAU,qBASd,SAASC,GAAgBC,EAAO,CAC9B,OAAOH,GAAaG,CAAK,GAAKJ,GAAWI,CAAK,GAAKF,EACrD,CAEAH,GAAO,QAAUI,KCjBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAkB,KAClBC,GAAe,KAGfC,GAAc,OAAO,UAGrBC,GAAiBD,GAAY,eAG7BE,GAAuBF,GAAY,qBAoBnCG,GAAcL,GAAgB,UAAW,CAAE,OAAO,SAAW,EAAE,CAAC,EAAIA,GAAkB,SAASM,EAAO,CACxG,OAAOL,GAAaK,CAAK,GAAKH,GAAe,KAAKG,EAAO,QAAQ,GAC/D,CAACF,GAAqB,KAAKE,EAAO,QAAQ,CAC9C,EAEAP,GAAO,QAAUM,KCnCjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAaA,SAASC,IAAY,CACnB,MAAO,EACT,CAEAD,GAAO,QAAUC,KCjBjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAO,KACPC,GAAY,KAGZC,GAAc,OAAOJ,IAAW,UAAYA,IAAW,CAACA,GAAQ,UAAYA,GAG5EK,GAAaD,IAAe,OAAOH,IAAU,UAAYA,IAAU,CAACA,GAAO,UAAYA,GAGvFK,GAAgBD,IAAcA,GAAW,UAAYD,GAGrDG,GAASD,GAAgBJ,GAAK,OAAS,OAGvCM,GAAiBD,GAASA,GAAO,SAAW,OAmB5CE,GAAWD,IAAkBL,GAEjCF,GAAO,QAAUQ,KCrCjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CACA,IAAIC,GAAmB,iBAGnBC,GAAW,mBAUf,SAASC,GAAQC,EAAOC,EAAQ,CAC9B,IAAIC,EAAO,OAAOF,EAClB,OAAAC,EAASA,GAAiBJ,GAEnB,CAAC,CAACI,IACNC,GAAQ,UACNA,GAAQ,UAAYJ,GAAS,KAAKE,CAAK,IACrCA,EAAQ,IAAMA,EAAQ,GAAK,GAAKA,EAAQC,CACjD,CAEAL,GAAO,QAAUG,KCxBjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CACA,IAAIC,GAAmB,iBA4BvB,SAASC,GAASC,EAAO,CACvB,OAAO,OAAOA,GAAS,UACrBA,EAAQ,IAAMA,EAAQ,GAAK,GAAKA,GAASF,EAC7C,CAEAD,GAAO,QAAUE,KClCjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAa,KACbC,GAAW,KACXC,GAAe,KAGfC,GAAU,qBACVC,GAAW,iBACXC,GAAU,mBACVC,GAAU,gBACVC,GAAW,iBACXC,GAAU,oBACVC,GAAS,eACTC,GAAY,kBACZC,GAAY,kBACZC,GAAY,kBACZC,GAAS,eACTC,GAAY,kBACZC,GAAa,mBAEbC,GAAiB,uBACjBC,GAAc,oBACdC,GAAa,wBACbC,GAAa,wBACbC,GAAU,qBACVC,GAAW,sBACXC,GAAW,sBACXC,GAAW,sBACXC,GAAkB,6BAClBC,GAAY,uBACZC,GAAY,uBAGZC,GAAiB,CAAC,EACtBA,GAAeT,EAAU,EAAIS,GAAeR,EAAU,EACtDQ,GAAeP,EAAO,EAAIO,GAAeN,EAAQ,EACjDM,GAAeL,EAAQ,EAAIK,GAAeJ,EAAQ,EAClDI,GAAeH,EAAe,EAAIG,GAAeF,EAAS,EAC1DE,GAAeD,EAAS,EAAI,GAC5BC,GAAexB,EAAO,EAAIwB,GAAevB,EAAQ,EACjDuB,GAAeX,EAAc,EAAIW,GAAetB,EAAO,EACvDsB,GAAeV,EAAW,EAAIU,GAAerB,EAAO,EACpDqB,GAAepB,EAAQ,EAAIoB,GAAenB,EAAO,EACjDmB,GAAelB,EAAM,EAAIkB,GAAejB,EAAS,EACjDiB,GAAehB,EAAS,EAAIgB,GAAef,EAAS,EACpDe,GAAed,EAAM,EAAIc,GAAeb,EAAS,EACjDa,GAAeZ,EAAU,EAAI,GAS7B,SAASa,GAAiBC,EAAO,CAC/B,OAAO3B,GAAa2B,CAAK,GACvB5B,GAAS4B,EAAM,MAAM,GAAK,CAAC,CAACF,GAAe3B,GAAW6B,CAAK,CAAC,CAChE,CAEA9B,GAAO,QAAU6B,KC3DjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAUC,EAAM,CACvB,OAAO,SAASC,EAAO,CACrB,OAAOD,EAAKC,CAAK,CACnB,CACF,CAEAH,GAAO,QAAUC,KCbjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAa,KAGbC,GAAc,OAAOH,IAAW,UAAYA,IAAW,CAACA,GAAQ,UAAYA,GAG5EI,GAAaD,IAAe,OAAOF,IAAU,UAAYA,IAAU,CAACA,GAAO,UAAYA,GAGvFI,GAAgBD,IAAcA,GAAW,UAAYD,GAGrDG,GAAcD,IAAiBH,GAAW,QAG1CK,GAAY,UAAW,CACzB,GAAI,CAEF,IAAIC,EAAQJ,IAAcA,GAAW,SAAWA,GAAW,QAAQ,MAAM,EAAE,MAE3E,OAAII,GAKGF,IAAeA,GAAY,SAAWA,GAAY,QAAQ,MAAM,CACzE,MAAY,CAAC,CACf,EAAE,EAEFL,GAAO,QAAUM,KC7BjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAmB,KACnBC,GAAY,KACZC,GAAW,KAGXC,GAAmBD,IAAYA,GAAS,aAmBxCE,GAAeD,GAAmBF,GAAUE,EAAgB,EAAIH,GAEpED,GAAO,QAAUK,KC1BjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAY,KACZC,GAAc,KACdC,GAAU,KACVC,GAAW,KACXC,GAAU,KACVC,GAAe,KAGfC,GAAc,OAAO,UAGrBC,GAAiBD,GAAY,eAUjC,SAASE,GAAcC,EAAOC,EAAW,CACvC,IAAIC,EAAQT,GAAQO,CAAK,EACrBG,EAAQ,CAACD,GAASV,GAAYQ,CAAK,EACnCI,EAAS,CAACF,GAAS,CAACC,GAAST,GAASM,CAAK,EAC3CK,EAAS,CAACH,GAAS,CAACC,GAAS,CAACC,GAAUR,GAAaI,CAAK,EAC1DM,EAAcJ,GAASC,GAASC,GAAUC,EAC1CE,EAASD,EAAcf,GAAUS,EAAM,OAAQ,MAAM,EAAI,CAAC,EAC1DQ,EAASD,EAAO,OAEpB,QAASE,KAAOT,GACTC,GAAaH,GAAe,KAAKE,EAAOS,CAAG,IAC5C,EAAEH,IAECG,GAAO,UAENL,IAAWK,GAAO,UAAYA,GAAO,WAErCJ,IAAWI,GAAO,UAAYA,GAAO,cAAgBA,GAAO,eAE7Dd,GAAQc,EAAKD,CAAM,KAExBD,EAAO,KAAKE,CAAG,EAGnB,OAAOF,CACT,CAEAjB,GAAO,QAAUS,KChDjB,IAAAW,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CACA,IAAIC,GAAc,OAAO,UASzB,SAASC,GAAYC,EAAO,CAC1B,IAAIC,EAAOD,GAASA,EAAM,YACtBE,EAAS,OAAOD,GAAQ,YAAcA,EAAK,WAAcH,GAE7D,OAAOE,IAAUE,CACnB,CAEAL,GAAO,QAAUE,KCjBjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAQC,EAAMC,EAAW,CAChC,OAAO,SAASC,EAAK,CACnB,OAAOF,EAAKC,EAAUC,CAAG,CAAC,CAC5B,CACF,CAEAJ,GAAO,QAAUC,KCdjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAU,KAGVC,GAAaD,GAAQ,OAAO,KAAM,MAAM,EAE5CD,GAAO,QAAUE,KCLjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAc,KACdC,GAAa,KAGbC,GAAc,OAAO,UAGrBC,GAAiBD,GAAY,eASjC,SAASE,GAASC,EAAQ,CACxB,GAAI,CAACL,GAAYK,CAAM,EACrB,OAAOJ,GAAWI,CAAM,EAE1B,IAAIC,EAAS,CAAC,EACd,QAASC,KAAO,OAAOF,CAAM,EACvBF,GAAe,KAAKE,EAAQE,CAAG,GAAKA,GAAO,eAC7CD,EAAO,KAAKC,CAAG,EAGnB,OAAOD,CACT,CAEAP,GAAO,QAAUK,KC7BjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAa,KACbC,GAAW,KA2Bf,SAASC,GAAYC,EAAO,CAC1B,OAAOA,GAAS,MAAQF,GAASE,EAAM,MAAM,GAAK,CAACH,GAAWG,CAAK,CACrE,CAEAJ,GAAO,QAAUG,KChCjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAgB,KAChBC,GAAW,KACXC,GAAc,KA8BlB,SAASC,GAAKC,EAAQ,CACpB,OAAOF,GAAYE,CAAM,EAAIJ,GAAcI,CAAM,EAAIH,GAASG,CAAM,CACtE,CAEAL,GAAO,QAAUI,KCpCjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAiB,KACjBC,GAAa,KACbC,GAAO,KASX,SAASC,GAAWC,EAAQ,CAC1B,OAAOJ,GAAeI,EAAQF,GAAMD,EAAU,CAChD,CAEAF,GAAO,QAAUI,KCfjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAa,KAGbC,GAAuB,EAGvBC,GAAc,OAAO,UAGrBC,GAAiBD,GAAY,eAejC,SAASE,GAAaC,EAAQC,EAAOC,EAASC,EAAYC,EAAWC,EAAO,CAC1E,IAAIC,EAAYJ,EAAUN,GACtBW,EAAWZ,GAAWK,CAAM,EAC5BQ,EAAYD,EAAS,OACrBE,EAAWd,GAAWM,CAAK,EAC3BS,EAAYD,EAAS,OAEzB,GAAID,GAAaE,GAAa,CAACJ,EAC7B,MAAO,GAGT,QADIK,EAAQH,EACLG,KAAS,CACd,IAAIC,EAAML,EAASI,CAAK,EACxB,GAAI,EAAEL,EAAYM,KAAOX,EAAQH,GAAe,KAAKG,EAAOW,CAAG,GAC7D,MAAO,EAEX,CAEA,IAAIC,EAAaR,EAAM,IAAIL,CAAM,EAC7Bc,EAAaT,EAAM,IAAIJ,CAAK,EAChC,GAAIY,GAAcC,EAChB,OAAOD,GAAcZ,GAASa,GAAcd,EAE9C,IAAIe,EAAS,GACbV,EAAM,IAAIL,EAAQC,CAAK,EACvBI,EAAM,IAAIJ,EAAOD,CAAM,EAGvB,QADIgB,EAAWV,EACR,EAAEK,EAAQH,GAAW,CAC1BI,EAAML,EAASI,CAAK,EACpB,IAAIM,EAAWjB,EAAOY,CAAG,EACrBM,EAAWjB,EAAMW,CAAG,EAExB,GAAIT,EACF,IAAIgB,EAAWb,EACXH,EAAWe,EAAUD,EAAUL,EAAKX,EAAOD,EAAQK,CAAK,EACxDF,EAAWc,EAAUC,EAAUN,EAAKZ,EAAQC,EAAOI,CAAK,EAG9D,GAAI,EAAEc,IAAa,OACVF,IAAaC,GAAYd,EAAUa,EAAUC,EAAUhB,EAASC,EAAYE,CAAK,EAClFc,GACD,CACLJ,EAAS,GACT,KACF,CACAC,IAAaA,EAAWJ,GAAO,cACjC,CACA,GAAIG,GAAU,CAACC,EAAU,CACvB,IAAII,EAAUpB,EAAO,YACjBqB,EAAUpB,EAAM,YAGhBmB,GAAWC,GACV,gBAAiBrB,GAAU,gBAAiBC,GAC7C,EAAE,OAAOmB,GAAW,YAAcA,aAAmBA,GACnD,OAAOC,GAAW,YAAcA,aAAmBA,KACvDN,EAAS,GAEb,CACA,OAAAV,EAAM,OAAUL,CAAM,EACtBK,EAAM,OAAUJ,CAAK,EACdc,CACT,CAEArB,GAAO,QAAUK,KCzFjB,IAAAuB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAY,KACZC,GAAO,KAGPC,GAAWF,GAAUC,GAAM,UAAU,EAEzCF,GAAO,QAAUG,KCNjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAY,KACZC,GAAO,KAGPC,GAAUF,GAAUC,GAAM,SAAS,EAEvCF,GAAO,QAAUG,KCNjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAY,KACZC,GAAO,KAGPC,GAAMF,GAAUC,GAAM,KAAK,EAE/BF,GAAO,QAAUG,KCNjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAY,KACZC,GAAO,KAGPC,GAAUF,GAAUC,GAAM,SAAS,EAEvCF,GAAO,QAAUG,KCNjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAW,KACXC,GAAM,KACNC,GAAU,KACVC,GAAM,KACNC,GAAU,KACVC,GAAa,KACbC,GAAW,KAGXC,GAAS,eACTC,GAAY,kBACZC,GAAa,mBACbC,GAAS,eACTC,GAAa,mBAEbC,GAAc,oBAGdC,GAAqBP,GAASN,EAAQ,EACtCc,GAAgBR,GAASL,EAAG,EAC5Bc,GAAoBT,GAASJ,EAAO,EACpCc,GAAgBV,GAASH,EAAG,EAC5Bc,GAAoBX,GAASF,EAAO,EASpCc,GAASb,IAGRL,IAAYkB,GAAO,IAAIlB,GAAS,IAAI,YAAY,CAAC,CAAC,CAAC,GAAKY,IACxDX,IAAOiB,GAAO,IAAIjB,EAAG,GAAKM,IAC1BL,IAAWgB,GAAOhB,GAAQ,QAAQ,CAAC,GAAKO,IACxCN,IAAOe,GAAO,IAAIf,EAAG,GAAKO,IAC1BN,IAAWc,GAAO,IAAId,EAAO,GAAKO,MACrCO,GAAS,SAASC,EAAO,CACvB,IAAIC,EAASf,GAAWc,CAAK,EACzBE,EAAOD,GAAUZ,GAAYW,EAAM,YAAc,OACjDG,EAAaD,EAAOf,GAASe,CAAI,EAAI,GAEzC,GAAIC,EACF,OAAQA,EAAY,CAClB,KAAKT,GAAoB,OAAOD,GAChC,KAAKE,GAAe,OAAOP,GAC3B,KAAKQ,GAAmB,OAAON,GAC/B,KAAKO,GAAe,OAAON,GAC3B,KAAKO,GAAmB,OAAON,EACjC,CAEF,OAAOS,CACT,GAGFrB,GAAO,QAAUmB,KCzDjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAQ,KACRC,GAAc,KACdC,GAAa,KACbC,GAAe,KACfC,GAAS,KACTC,GAAU,KACVC,GAAW,KACXC,GAAe,KAGfC,GAAuB,EAGvBC,GAAU,qBACVC,GAAW,iBACXC,GAAY,kBAGZC,GAAc,OAAO,UAGrBC,GAAiBD,GAAY,eAgBjC,SAASE,GAAgBC,EAAQC,EAAOC,EAASC,EAAYC,EAAWC,EAAO,CAC7E,IAAIC,EAAWhB,GAAQU,CAAM,EACzBO,EAAWjB,GAAQW,CAAK,EACxBO,EAASF,EAAWX,GAAWN,GAAOW,CAAM,EAC5CS,EAASF,EAAWZ,GAAWN,GAAOY,CAAK,EAE/CO,EAASA,GAAUd,GAAUE,GAAYY,EACzCC,EAASA,GAAUf,GAAUE,GAAYa,EAEzC,IAAIC,EAAWF,GAAUZ,GACrBe,EAAWF,GAAUb,GACrBgB,EAAYJ,GAAUC,EAE1B,GAAIG,GAAarB,GAASS,CAAM,EAAG,CACjC,GAAI,CAACT,GAASU,CAAK,EACjB,MAAO,GAETK,EAAW,GACXI,EAAW,EACb,CACA,GAAIE,GAAa,CAACF,EAChB,OAAAL,IAAUA,EAAQ,IAAIpB,IACdqB,GAAYd,GAAaQ,CAAM,EACnCd,GAAYc,EAAQC,EAAOC,EAASC,EAAYC,EAAWC,CAAK,EAChElB,GAAWa,EAAQC,EAAOO,EAAQN,EAASC,EAAYC,EAAWC,CAAK,EAE7E,GAAI,EAAEH,EAAUT,IAAuB,CACrC,IAAIoB,EAAeH,GAAYZ,GAAe,KAAKE,EAAQ,aAAa,EACpEc,EAAeH,GAAYb,GAAe,KAAKG,EAAO,aAAa,EAEvE,GAAIY,GAAgBC,EAAc,CAChC,IAAIC,EAAeF,EAAeb,EAAO,MAAM,EAAIA,EAC/CgB,EAAeF,EAAeb,EAAM,MAAM,EAAIA,EAElD,OAAAI,IAAUA,EAAQ,IAAIpB,IACfmB,EAAUW,EAAcC,EAAcd,EAASC,EAAYE,CAAK,CACzE,CACF,CACA,OAAKO,GAGLP,IAAUA,EAAQ,IAAIpB,IACfG,GAAaY,EAAQC,EAAOC,EAASC,EAAYC,EAAWC,CAAK,GAH/D,EAIX,CAEArB,GAAO,QAAUe,KClFjB,IAAAkB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAkB,KAClBC,GAAe,KAgBnB,SAASC,GAAYC,EAAOC,EAAOC,EAASC,EAAYC,EAAO,CAC7D,OAAIJ,IAAUC,EACL,GAELD,GAAS,MAAQC,GAAS,MAAS,CAACH,GAAaE,CAAK,GAAK,CAACF,GAAaG,CAAK,EACzED,IAAUA,GAASC,IAAUA,EAE/BJ,GAAgBG,EAAOC,EAAOC,EAASC,EAAYJ,GAAaK,CAAK,CAC9E,CAEAR,GAAO,QAAUG,KC3BjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAQ,KACRC,GAAc,KAGdC,GAAuB,EACvBC,GAAyB,EAY7B,SAASC,GAAYC,EAAQC,EAAQC,EAAWC,EAAY,CAC1D,IAAIC,EAAQF,EAAU,OAClBG,EAASD,EACTE,EAAe,CAACH,EAEpB,GAAIH,GAAU,KACZ,MAAO,CAACK,EAGV,IADAL,EAAS,OAAOA,CAAM,EACfI,KAAS,CACd,IAAIG,EAAOL,EAAUE,CAAK,EAC1B,GAAKE,GAAgBC,EAAK,CAAC,EACnBA,EAAK,CAAC,IAAMP,EAAOO,EAAK,CAAC,CAAC,EAC1B,EAAEA,EAAK,CAAC,IAAKP,GAEnB,MAAO,EAEX,CACA,KAAO,EAAEI,EAAQC,GAAQ,CACvBE,EAAOL,EAAUE,CAAK,EACtB,IAAII,EAAMD,EAAK,CAAC,EACZE,EAAWT,EAAOQ,CAAG,EACrBE,EAAWH,EAAK,CAAC,EAErB,GAAID,GAAgBC,EAAK,CAAC,GACxB,GAAIE,IAAa,QAAa,EAAED,KAAOR,GACrC,MAAO,OAEJ,CACL,IAAIW,EAAQ,IAAIhB,GAChB,GAAIQ,EACF,IAAIS,EAAST,EAAWM,EAAUC,EAAUF,EAAKR,EAAQC,EAAQU,CAAK,EAExE,GAAI,EAAEC,IAAW,OACThB,GAAYc,EAAUD,EAAUZ,GAAuBC,GAAwBK,EAAYQ,CAAK,EAChGC,GAEN,MAAO,EAEX,CACF,CACA,MAAO,EACT,CAEAlB,GAAO,QAAUK,KC7DjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAW,KAUf,SAASC,GAAmBC,EAAO,CACjC,OAAOA,IAAUA,GAAS,CAACF,GAASE,CAAK,CAC3C,CAEAH,GAAO,QAAUE,KCdjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAqB,KACrBC,GAAO,KASX,SAASC,GAAaC,EAAQ,CAI5B,QAHIC,EAASH,GAAKE,CAAM,EACpBE,EAASD,EAAO,OAEbC,KAAU,CACf,IAAIC,EAAMF,EAAOC,CAAM,EACnBE,EAAQJ,EAAOG,CAAG,EAEtBF,EAAOC,CAAM,EAAI,CAACC,EAAKC,EAAOP,GAAmBO,CAAK,CAAC,CACzD,CACA,OAAOH,CACT,CAEAL,GAAO,QAAUG,KCvBjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAwBC,EAAKC,EAAU,CAC9C,OAAO,SAASC,EAAQ,CACtB,OAAIA,GAAU,KACL,GAEFA,EAAOF,CAAG,IAAMC,IACpBA,IAAa,QAAcD,KAAO,OAAOE,CAAM,EACpD,CACF,CAEAJ,GAAO,QAAUC,KCnBjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAc,KACdC,GAAe,KACfC,GAA0B,KAS9B,SAASC,GAAYC,EAAQ,CAC3B,IAAIC,EAAYJ,GAAaG,CAAM,EACnC,OAAIC,EAAU,QAAU,GAAKA,EAAU,CAAC,EAAE,CAAC,EAClCH,GAAwBG,EAAU,CAAC,EAAE,CAAC,EAAGA,EAAU,CAAC,EAAE,CAAC,CAAC,EAE1D,SAASC,EAAQ,CACtB,OAAOA,IAAWF,GAAUJ,GAAYM,EAAQF,EAAQC,CAAS,CACnE,CACF,CAEAN,GAAO,QAAUI,KCrBjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAa,KACbC,GAAe,KAGfC,GAAY,kBAmBhB,SAASC,GAASC,EAAO,CACvB,OAAO,OAAOA,GAAS,UACpBH,GAAaG,CAAK,GAAKJ,GAAWI,CAAK,GAAKF,EACjD,CAEAH,GAAO,QAAUI,KC5BjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAU,KACVC,GAAW,KAGXC,GAAe,mDACfC,GAAgB,QAUpB,SAASC,GAAMC,EAAOC,EAAQ,CAC5B,GAAIN,GAAQK,CAAK,EACf,MAAO,GAET,IAAIE,EAAO,OAAOF,EAClB,OAAIE,GAAQ,UAAYA,GAAQ,UAAYA,GAAQ,WAChDF,GAAS,MAAQJ,GAASI,CAAK,EAC1B,GAEFF,GAAc,KAAKE,CAAK,GAAK,CAACH,GAAa,KAAKG,CAAK,GACzDC,GAAU,MAAQD,KAAS,OAAOC,CAAM,CAC7C,CAEAP,GAAO,QAAUK,KC5BjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAW,KAGXC,GAAkB,sBA8CtB,SAASC,GAAQC,EAAMC,EAAU,CAC/B,GAAI,OAAOD,GAAQ,YAAeC,GAAY,MAAQ,OAAOA,GAAY,WACvE,MAAM,IAAI,UAAUH,EAAe,EAErC,IAAII,EAAW,UAAW,CACxB,IAAIC,EAAO,UACPC,EAAMH,EAAWA,EAAS,MAAM,KAAME,CAAI,EAAIA,EAAK,CAAC,EACpDE,EAAQH,EAAS,MAErB,GAAIG,EAAM,IAAID,CAAG,EACf,OAAOC,EAAM,IAAID,CAAG,EAEtB,IAAIE,EAASN,EAAK,MAAM,KAAMG,CAAI,EAClC,OAAAD,EAAS,MAAQG,EAAM,IAAID,EAAKE,CAAM,GAAKD,EACpCC,CACT,EACA,OAAAJ,EAAS,MAAQ,IAAKH,GAAQ,OAASF,IAChCK,CACT,CAGAH,GAAQ,MAAQF,GAEhBD,GAAO,QAAUG,KCxEjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAU,KAGVC,GAAmB,IAUvB,SAASC,GAAcC,EAAM,CAC3B,IAAIC,EAASJ,GAAQG,EAAM,SAASE,EAAK,CACvC,OAAIC,EAAM,OAASL,IACjBK,EAAM,MAAM,EAEPD,CACT,CAAC,EAEGC,EAAQF,EAAO,MACnB,OAAOA,CACT,CAEAL,GAAO,QAAUG,KCzBjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAgB,KAGhBC,GAAa,mGAGbC,GAAe,WASfC,GAAeH,GAAc,SAASI,EAAQ,CAChD,IAAIC,EAAS,CAAC,EACd,OAAID,EAAO,WAAW,CAAC,IAAM,IAC3BC,EAAO,KAAK,EAAE,EAEhBD,EAAO,QAAQH,GAAY,SAASK,EAAOC,EAAQC,EAAOC,EAAW,CACnEJ,EAAO,KAAKG,EAAQC,EAAU,QAAQP,GAAc,IAAI,EAAKK,GAAUD,CAAM,CAC/E,CAAC,EACMD,CACT,CAAC,EAEDN,GAAO,QAAUI,KC1BjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAASC,EAAOC,EAAU,CAKjC,QAJIC,EAAQ,GACRC,EAASH,GAAS,KAAO,EAAIA,EAAM,OACnCI,EAAS,MAAMD,CAAM,EAElB,EAAED,EAAQC,GACfC,EAAOF,CAAK,EAAID,EAASD,EAAME,CAAK,EAAGA,EAAOF,CAAK,EAErD,OAAOI,CACT,CAEAN,GAAO,QAAUC,KCpBjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAS,KACTC,GAAW,KACXC,GAAU,KACVC,GAAW,KAGXC,GAAW,IAGXC,GAAcL,GAASA,GAAO,UAAY,OAC1CM,GAAiBD,GAAcA,GAAY,SAAW,OAU1D,SAASE,GAAaC,EAAO,CAE3B,GAAI,OAAOA,GAAS,SAClB,OAAOA,EAET,GAAIN,GAAQM,CAAK,EAEf,OAAOP,GAASO,EAAOD,EAAY,EAAI,GAEzC,GAAIJ,GAASK,CAAK,EAChB,OAAOF,GAAiBA,GAAe,KAAKE,CAAK,EAAI,GAEvD,IAAIC,EAAUD,EAAQ,GACtB,OAAQC,GAAU,KAAQ,EAAID,GAAU,CAACJ,GAAY,KAAOK,CAC9D,CAEAV,GAAO,QAAUQ,KCpCjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAe,KAuBnB,SAASC,GAASC,EAAO,CACvB,OAAOA,GAAS,KAAO,GAAKF,GAAaE,CAAK,CAChD,CAEAH,GAAO,QAAUE,KC3BjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAU,KACVC,GAAQ,KACRC,GAAe,KACfC,GAAW,KAUf,SAASC,GAASC,EAAOC,EAAQ,CAC/B,OAAIN,GAAQK,CAAK,EACRA,EAEFJ,GAAMI,EAAOC,CAAM,EAAI,CAACD,CAAK,EAAIH,GAAaC,GAASE,CAAK,CAAC,CACtE,CAEAN,GAAO,QAAUK,KCpBjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAW,KAGXC,GAAW,IASf,SAASC,GAAMC,EAAO,CACpB,GAAI,OAAOA,GAAS,UAAYH,GAASG,CAAK,EAC5C,OAAOA,EAET,IAAIC,EAAUD,EAAQ,GACtB,OAAQC,GAAU,KAAQ,EAAID,GAAU,CAACF,GAAY,KAAOG,CAC9D,CAEAL,GAAO,QAAUG,KCpBjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAW,KACXC,GAAQ,KAUZ,SAASC,GAAQC,EAAQC,EAAM,CAC7BA,EAAOJ,GAASI,EAAMD,CAAM,EAK5B,QAHIE,EAAQ,EACRC,EAASF,EAAK,OAEXD,GAAU,MAAQE,EAAQC,GAC/BH,EAASA,EAAOF,GAAMG,EAAKC,GAAO,CAAC,CAAC,EAEtC,OAAQA,GAASA,GAASC,EAAUH,EAAS,MAC/C,CAEAJ,GAAO,QAAUG,KCvBjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAU,KA2Bd,SAASC,GAAIC,EAAQC,EAAMC,EAAc,CACvC,IAAIC,EAASH,GAAU,KAAO,OAAYF,GAAQE,EAAQC,CAAI,EAC9D,OAAOE,IAAW,OAAYD,EAAeC,CAC/C,CAEAN,GAAO,QAAUE,KChCjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAUC,EAAQC,EAAK,CAC9B,OAAOD,GAAU,MAAQC,KAAO,OAAOD,CAAM,CAC/C,CAEAF,GAAO,QAAUC,KCZjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAW,KACXC,GAAc,KACdC,GAAU,KACVC,GAAU,KACVC,GAAW,KACXC,GAAQ,KAWZ,SAASC,GAAQC,EAAQC,EAAMC,EAAS,CACtCD,EAAOR,GAASQ,EAAMD,CAAM,EAM5B,QAJIG,EAAQ,GACRC,EAASH,EAAK,OACdI,EAAS,GAEN,EAAEF,EAAQC,GAAQ,CACvB,IAAIE,EAAMR,GAAMG,EAAKE,CAAK,CAAC,EAC3B,GAAI,EAAEE,EAASL,GAAU,MAAQE,EAAQF,EAAQM,CAAG,GAClD,MAEFN,EAASA,EAAOM,CAAG,CACrB,CACA,OAAID,GAAU,EAAEF,GAASC,EAChBC,GAETD,EAASJ,GAAU,KAAO,EAAIA,EAAO,OAC9B,CAAC,CAACI,GAAUP,GAASO,CAAM,GAAKR,GAAQU,EAAKF,CAAM,IACvDT,GAAQK,CAAM,GAAKN,GAAYM,CAAM,GAC1C,CAEAR,GAAO,QAAUO,KCtCjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAY,KACZC,GAAU,KA4Bd,SAASC,GAAMC,EAAQC,EAAM,CAC3B,OAAOD,GAAU,MAAQF,GAAQE,EAAQC,EAAMJ,EAAS,CAC1D,CAEAD,GAAO,QAAUG,KCjCjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAc,KACdC,GAAM,KACNC,GAAQ,KACRC,GAAQ,KACRC,GAAqB,KACrBC,GAA0B,KAC1BC,GAAQ,KAGRC,GAAuB,EACvBC,GAAyB,EAU7B,SAASC,GAAoBC,EAAMC,EAAU,CAC3C,OAAIR,GAAMO,CAAI,GAAKN,GAAmBO,CAAQ,EACrCN,GAAwBC,GAAMI,CAAI,EAAGC,CAAQ,EAE/C,SAASC,EAAQ,CACtB,IAAIC,EAAWZ,GAAIW,EAAQF,CAAI,EAC/B,OAAQG,IAAa,QAAaA,IAAaF,EAC3CT,GAAMU,EAAQF,CAAI,EAClBV,GAAYW,EAAUE,EAAUN,GAAuBC,EAAsB,CACnF,CACF,CAEAT,GAAO,QAAUU,KChCjB,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAgBA,SAASC,GAASC,EAAO,CACvB,OAAOA,CACT,CAEAF,GAAO,QAAUC,KCpBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAaC,EAAK,CACzB,OAAO,SAASC,EAAQ,CACtB,OAAoCA,IAAOD,CAAG,CAChD,CACF,CAEAF,GAAO,QAAUC,KCbjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAU,KASd,SAASC,GAAiBC,EAAM,CAC9B,OAAO,SAASC,EAAQ,CACtB,OAAOH,GAAQG,EAAQD,CAAI,CAC7B,CACF,CAEAH,GAAO,QAAUE,KCfjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAe,KACfC,GAAmB,KACnBC,GAAQ,KACRC,GAAQ,KAwBZ,SAASC,GAASC,EAAM,CACtB,OAAOH,GAAMG,CAAI,EAAIL,GAAaG,GAAME,CAAI,CAAC,EAAIJ,GAAiBI,CAAI,CACxE,CAEAN,GAAO,QAAUK,KC/BjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAc,KACdC,GAAsB,KACtBC,GAAW,KACXC,GAAU,KACVC,GAAW,KASf,SAASC,GAAaC,EAAO,CAG3B,OAAI,OAAOA,GAAS,WACXA,EAELA,GAAS,KACJJ,GAEL,OAAOI,GAAS,SACXH,GAAQG,CAAK,EAChBL,GAAoBK,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,EACtCN,GAAYM,CAAK,EAEhBF,GAASE,CAAK,CACvB,CAEAP,GAAO,QAAUM,KC9BjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAWA,SAASC,GAAcC,EAAOC,EAAWC,EAAWC,EAAW,CAI7D,QAHIC,EAASJ,EAAM,OACfK,EAAQH,GAAaC,EAAY,EAAI,IAEjCA,EAAYE,IAAU,EAAEA,EAAQD,GACtC,GAAIH,EAAUD,EAAMK,CAAK,EAAGA,EAAOL,CAAK,EACtC,OAAOK,EAGX,MAAO,EACT,CAEAP,GAAO,QAAUC,KCvBjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAUC,EAAO,CACxB,OAAOA,IAAUA,CACnB,CAEAF,GAAO,QAAUC,KCXjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAUA,SAASC,GAAcC,EAAOC,EAAOC,EAAW,CAI9C,QAHIC,EAAQD,EAAY,EACpBE,EAASJ,EAAM,OAEZ,EAAEG,EAAQC,GACf,GAAIJ,EAAMG,CAAK,IAAMF,EACnB,OAAOE,EAGX,MAAO,EACT,CAEAL,GAAO,QAAUC,KCtBjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAgB,KAChBC,GAAY,KACZC,GAAgB,KAWpB,SAASC,GAAYC,EAAOC,EAAOC,EAAW,CAC5C,OAAOD,IAAUA,EACbH,GAAcE,EAAOC,EAAOC,CAAS,EACrCN,GAAcI,EAAOH,GAAWK,CAAS,CAC/C,CAEAP,GAAO,QAAUI,KCnBjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAc,KAWlB,SAASC,GAAcC,EAAOC,EAAO,CACnC,IAAIC,EAASF,GAAS,KAAO,EAAIA,EAAM,OACvC,MAAO,CAAC,CAACE,GAAUJ,GAAYE,EAAOC,EAAO,CAAC,EAAI,EACpD,CAEAJ,GAAO,QAAUE,KChBjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAkBC,EAAOC,EAAOC,EAAY,CAInD,QAHIC,EAAQ,GACRC,EAASJ,GAAS,KAAO,EAAIA,EAAM,OAEhC,EAAEG,EAAQC,GACf,GAAIF,EAAWD,EAAOD,EAAMG,CAAK,CAAC,EAChC,MAAO,GAGX,MAAO,EACT,CAEAL,GAAO,QAAUC,KCrBjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAYA,SAASC,IAAO,CAEhB,CAEAD,GAAO,QAAUC,KChBjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAM,KACNC,GAAO,KACPC,GAAa,KAGbC,GAAW,IASXC,GAAcJ,IAAQ,EAAIE,GAAW,IAAIF,GAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAMG,GAAmB,SAASE,EAAQ,CAClG,OAAO,IAAIL,GAAIK,CAAM,CACvB,EAF4EJ,GAI5EF,GAAO,QAAUK,KClBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAW,KACXC,GAAgB,KAChBC,GAAoB,KACpBC,GAAW,KACXC,GAAY,KACZC,GAAa,KAGbC,GAAmB,IAWvB,SAASC,GAASC,EAAOC,EAAUC,EAAY,CAC7C,IAAIC,EAAQ,GACRC,EAAWX,GACXY,EAASL,EAAM,OACfM,EAAW,GACXC,EAAS,CAAC,EACVC,EAAOD,EAEX,GAAIL,EACFI,EAAW,GACXF,EAAWV,WAEJW,GAAUP,GAAkB,CACnC,IAAIW,EAAMR,EAAW,KAAOL,GAAUI,CAAK,EAC3C,GAAIS,EACF,OAAOZ,GAAWY,CAAG,EAEvBH,EAAW,GACXF,EAAWT,GACXa,EAAO,IAAIhB,EACb,MAEEgB,EAAOP,EAAW,CAAC,EAAIM,EAEzBG,EACA,KAAO,EAAEP,EAAQE,GAAQ,CACvB,IAAIM,EAAQX,EAAMG,CAAK,EACnBS,EAAWX,EAAWA,EAASU,CAAK,EAAIA,EAG5C,GADAA,EAAST,GAAcS,IAAU,EAAKA,EAAQ,EAC1CL,GAAYM,IAAaA,EAAU,CAErC,QADIC,EAAYL,EAAK,OACdK,KACL,GAAIL,EAAKK,CAAS,IAAMD,EACtB,SAASF,EAGTT,GACFO,EAAK,KAAKI,CAAQ,EAEpBL,EAAO,KAAKI,CAAK,CACnB,MACUP,EAASI,EAAMI,EAAUV,CAAU,IACvCM,IAASD,GACXC,EAAK,KAAKI,CAAQ,EAEpBL,EAAO,KAAKI,CAAK,EAErB,CACA,OAAOJ,CACT,CAEAhB,GAAO,QAAUQ,KCvEjB,IAAAe,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAe,KACfC,GAAW,KAyBf,SAASC,GAAOC,EAAOC,EAAU,CAC/B,OAAQD,GAASA,EAAM,OAAUF,GAASE,EAAOH,GAAaI,EAAU,CAAC,CAAC,EAAI,CAAC,CACjF,CAEAL,GAAO,QAAUG,KC9BjB,IAAAG,GAAA,GAAAC,GAAAD,GAAA,aAAAE,KAAA,eAAAC,GAAAH,IAAA,IAAAI,GAAoG,wBACpGC,GAAiC,SACjCC,GAAsC,SACtCC,GAAuB,SCFvB,IAAAC,GAA4B,wBAC5BC,GAAqB,gBACrBC,GAAsB,uBACtBC,GAAsB,yBAEtB,eAAeC,GAAiBC,KAAYC,EAAM,CAChD,IAAMC,KAAY,SAAK,eAAY,WAAY,qCAAqC,EACpF,eAAM,UAAMA,EAAW,KAAK,EAErB,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtC,IAAMC,EAAc,CAACL,CAAO,EAC5B,QAAWM,KAAOL,EAChB,GAAI,CACFI,EAAY,KAAK,KAAK,UAAUC,EAAK,CAACC,EAAGC,IAAMA,IAAM,OAAY,KAAOA,CAAC,CAAC,CAC5E,OAASC,EAAK,CACZL,EAAO,IAAIM,GAAW,sCAAwCD,EAAI,OAAO,CAAC,EAC1E,MACF,CAEF,IAAME,KAAQ,UAAMT,EAAWG,CAAW,EACpCO,EAAS,CAAC,EACVC,EAAS,CAAC,EAEhBF,EAAM,QAAQ,GAAG,OAASG,GAAS,CACjCF,EAAO,KAAKE,EAAK,SAAS,CAAC,CAC7B,CAAC,EACDH,EAAM,QAAQ,GAAG,OAASG,GAAS,CACjCD,EAAO,KAAKC,EAAK,SAAS,CAAC,CAC7B,CAAC,EAEDH,EAAM,GAAG,OAASI,GAAS,CACzB,GAAIA,IAAS,EACX,GAAI,CACF,IAAMC,EAASJ,EAAO,KAAK,EAAE,EAAE,KAAK,EAChCI,EAAO,QAAU,EACnBb,EAAQ,KAAK,MAAMa,CAAM,CAAC,EAE1Bb,EAAQ,IAAI,CAEhB,OAASM,EAAK,CACZ,IAAMQ,EAAQ,IAAIP,GAAW,2CAA6CD,EAAI,OAAO,EACrFQ,EAAM,OAASL,EAAO,KAAK,EAAE,EAAE,KAAK,EACpCK,EAAM,OAASJ,EAAO,KAAK,EAAE,EAAE,KAAK,EACpCT,EAAOa,CAAK,CACd,KACK,CACL,IAAMA,EAAQ,IAAIP,GAAWG,EAAO,KAAK,EAAE,EAAE,KAAK,GAAKD,EAAO,KAAK,EAAE,EAAE,KAAK,GAAK,wBAAwB,EACzGK,EAAM,OAASL,EAAO,KAAK,EAAE,EAAE,KAAK,EACpCK,EAAM,OAASJ,EAAO,KAAK,EAAE,EAAE,KAAK,EACpCT,EAAOa,CAAK,CACd,CACF,CAAC,EAEDN,EAAM,GAAG,QAAUM,GAAU,CAC3Bb,EAAOa,CAAK,CACd,CAAC,CACH,CAAC,CACH,CAEA,eAAsBC,IAAY,CAChC,OAAO,MAAMnB,GAAiB,WAAW,CAC3C,CAEO,IAAMW,GAAN,cAAyB,KAAM,CACpC,YAAYS,EAAS,CACnB,MAAMA,CAAO,EACb,KAAK,KAAO,YACd,CACF,ECrEA,IAAAC,GAAsB,wBACtBC,GAA+B,SCD/B,IAAAC,GAAiE,wBCClD,SAASC,GAAkBC,EAAGC,EAAG,CAC/C,IAAIC,EAAIF,EAAE,OAEL,MAAM,QAAQA,EAAE,CAAC,CAAC,IAEtBA,EAAI,CAACA,CAAC,GAGF,MAAM,QAAQC,EAAE,CAAC,CAAC,IAEtBA,EAAIA,EAAE,IAAIE,GAAK,CAACA,CAAC,CAAC,GAGnB,IAAIC,EAAIH,EAAE,CAAC,EAAE,OACTI,EAASJ,EAAE,CAAC,EAAE,IAAI,CAACK,EAAGC,IAAMN,EAAE,IAAIE,GAAKA,EAAEI,CAAC,CAAC,CAAC,EAC5CC,EAAUR,EAAE,IAAIS,GAAOJ,EAAO,IAAIK,GAAO,CAC5C,IAAIC,EAAM,EAEV,GAAI,CAAC,MAAM,QAAQF,CAAG,EAAG,CACxB,QAASG,KAAKF,EACbC,GAAOF,EAAMG,EAGd,OAAOD,CACV,CAEE,QAASJ,EAAI,EAAGA,EAAIE,EAAI,OAAQF,IAC/BI,GAAOF,EAAIF,CAAC,GAAKG,EAAIH,CAAC,GAAK,GAG5B,OAAOI,CACT,CAAE,CAAC,EAMF,OAJIT,IAAM,IACTM,EAAUA,EAAQ,CAAC,GAGhBJ,IAAM,EACFI,EAAQ,IAAIL,GAAKA,EAAE,CAAC,CAAC,EAGtBK,CACR,CChCO,SAASK,GAAUC,EAAK,CAC9B,OAAOC,GAAKD,CAAG,IAAM,QACtB,CAOO,SAASC,GAAMC,EAAG,CAGxB,OAFU,OAAO,UAAU,SAAS,KAAKA,CAAC,EAE9B,MAAM,sBAAsB,EAAE,CAAC,GAAK,IAAI,YAAW,CAChE,CAEO,SAASC,GAAiBC,EAAG,CAAC,UAAAC,EAAW,KAAAC,CAAI,EAAI,CACvD,OAAIC,GAAOH,CAAC,EACJ,OAGDI,GAAYJ,EAAGC,CAAS,GAAKC,GAAQ,GAC7C,CAOO,SAASC,GAAQH,EAAG,CAC1B,OAAO,OAAO,MAAMA,CAAC,GAAMA,aAAa,QAAUA,GAAG,IACtD,CAKO,SAASK,GAAUL,EAAG,CAC5B,OAAOG,GAAOH,CAAC,EAAI,EAAIA,CACxB,CAOO,SAASI,GAAaJ,EAAGC,EAAW,CAC1C,GAAID,IAAM,EACT,MAAO,GAER,IAAIM,EAAU,CAAC,CAACN,EACZO,EAAS,EACTD,GAAWL,IACdM,EAAS,CAAC,CAAC,KAAK,MAAM,KAAK,IAAID,CAAO,CAAC,EAAI,GAE5C,IAAME,EAAa,KAASP,EAAYM,GACxC,OAAO,KAAK,MAAMP,EAAIQ,EAAa,EAAG,EAAIA,CAC3C,CAEA,IAAMC,GAAc,CACnB,IAAK,EACL,KAAM,GACN,IAAK,IAAM,KAAK,GAChB,KAAM,GACP,EAOO,SAASC,GAAed,EAAK,CACnC,GAAI,CAACA,EACJ,OAGDA,EAAMA,EAAI,KAAI,EAEd,IAAMe,EAAkB,uBAClBC,EAAgB,aAChBC,EAAiB,oBACjBC,EAAiB,6CACnBC,EAAQnB,EAAI,MAAMe,CAAe,EAErC,GAAII,EAAO,CAEV,IAAIC,EAAO,CAAA,EACX,OAAAD,EAAM,CAAC,EAAE,QAAQD,EAAgB,CAACG,EAAIC,IAAW,CAChD,IAAIC,EAAQD,EAAO,MAAML,CAAc,EACnCO,EAAMF,EAEV,GAAIC,EAAO,CACV,IAAIjB,EAAOiB,EAAM,CAAC,EAEdE,EAAcD,EAAI,MAAM,EAAG,CAAClB,EAAK,MAAM,EAEvCA,IAAS,KAEZkB,EAAM,IAAI,OAAOC,EAAc,GAAG,EAClCD,EAAI,KAAO,iBAIXA,EAAM,IAAI,OAAOC,EAAcZ,GAAYP,CAAI,CAAC,EAChDkB,EAAI,KAAO,UACXA,EAAI,KAAOlB,EAEhB,MACYU,EAAc,KAAKQ,CAAG,GAE9BA,EAAM,IAAI,OAAOA,CAAG,EACpBA,EAAI,KAAO,YAEHA,IAAQ,SAChBA,EAAM,IAAI,OAAO,GAAG,EACpBA,EAAI,KAAO,IAGRH,EAAG,WAAW,GAAG,IAEpBG,EAAMA,aAAe,OAASA,EAAM,IAAI,OAAOA,CAAG,EAClDA,EAAI,MAAQ,IAGT,OAAOA,GAAQ,UAAYA,aAAe,SAC7CA,EAAI,IAAMF,GAGXF,EAAK,KAAKI,CAAG,CAChB,CAAG,EAEM,CACN,KAAML,EAAM,CAAC,EAAE,YAAW,EAC1B,QAASA,EAAM,CAAC,EAChB,QAASA,EAAM,CAAC,EAGhB,KAAAC,CACH,CACA,CACA,CAEO,SAASM,GAAMC,EAAK,CAC1B,OAAOA,EAAIA,EAAI,OAAS,CAAC,CAC1B,CAEO,SAASC,GAAaC,EAAOC,EAAKxC,EAAG,CAC3C,OAAI,MAAMuC,CAAK,EACPC,EAGJ,MAAMA,CAAG,EACLD,EAGDA,GAASC,EAAMD,GAASvC,CAChC,CAEO,SAASyC,GAAgBF,EAAOC,EAAKE,EAAO,CAClD,OAAQA,EAAQH,IAAUC,EAAMD,EACjC,CAEO,SAASI,GAAUC,EAAMC,EAAIH,EAAO,CAC1C,OAAOJ,GAAYO,EAAG,CAAC,EAAGA,EAAG,CAAC,EAAGJ,GAAeG,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGF,CAAK,CAAC,CACzE,CAEO,SAASI,GAAmBC,EAAe,CACjD,OAAOA,EAAc,IAAIC,GACjBA,EAAa,MAAM,GAAG,EAAE,IAAIrC,GAAQ,CAC1CA,EAAOA,EAAK,KAAI,EAChB,IAAIsC,EAAQtC,EAAK,MAAM,2CAA2C,EAElE,GAAIsC,EAAO,CACV,IAAI1C,EAAM,IAAI,OAAO0C,EAAM,CAAC,CAAC,EAC7B,OAAA1C,EAAI,MAAQ,CAAC,CAAC0C,EAAM,CAAC,EAAG,CAACA,EAAM,CAAC,CAAC,EAC1B1C,CACX,CAEG,OAAOI,CACV,CAAG,CACD,CACF,CASO,SAASuC,GAAOC,EAAKC,EAAKC,EAAK,CACrC,OAAO,KAAK,IAAI,KAAK,IAAIA,EAAKD,CAAG,EAAGD,CAAG,CACxC,CAQO,SAASG,GAAUT,EAAID,EAAM,CACnC,OAAO,KAAK,KAAKC,CAAE,IAAM,KAAK,KAAKD,CAAI,EAAIC,EAAK,CAACA,CAClD,CAQO,SAASU,GAAMC,EAAMC,EAAK,CAChC,OAAOH,GAAS,KAAK,IAAIE,CAAI,GAAKC,EAAKD,CAAI,CAC5C,CAQO,SAASE,GAAM5C,EAAG6C,EAAG,CAC3B,OAAQA,IAAM,EAAK,EAAI7C,EAAI6C,CAC5B,CAWO,SAASC,GAAYvB,EAAKK,EAAOmB,EAAK,EAAGC,EAAKzB,EAAI,OAAQ,CAChE,KAAOwB,EAAKC,GAAI,CACf,IAAMC,EAAOF,EAAKC,GAAO,EACrBzB,EAAI0B,CAAG,EAAIrB,EACdmB,EAAKE,EAAM,EAGXD,EAAKC,CAER,CACC,OAAOF,CACR,sRC1PaG,GAAN,KAAY,CAClB,IAAKC,EAAMC,EAAUC,EAAO,CAC3B,GAAI,OAAO,UAAU,CAAC,GAAK,SAAU,CAEpC,QAASF,KAAQ,UAAU,CAAC,EAC3B,KAAK,IAAIA,EAAM,UAAU,CAAC,EAAEA,CAAI,EAAG,UAAU,CAAC,CAAC,EAGhD,MACH,EAEG,MAAM,QAAQA,CAAI,EAAIA,EAAO,CAACA,CAAI,GAAG,QAAQ,SAAUA,EAAM,CAC7D,KAAKA,CAAI,EAAI,KAAKA,CAAI,GAAK,CAAA,EAEvBC,GACH,KAAKD,CAAI,EAAEE,EAAQ,UAAY,MAAM,EAAED,CAAQ,CAEnD,EAAK,IAAI,CACT,CAEC,IAAKD,EAAMG,EAAK,CACf,KAAKH,CAAI,EAAI,KAAKA,CAAI,GAAK,CAAA,EAC3B,KAAKA,CAAI,EAAE,QAAQ,SAAUC,EAAU,CACtCA,EAAS,KAAKE,GAAOA,EAAI,QAAUA,EAAI,QAAUA,EAAKA,CAAG,CAC5D,CAAG,CACH,CACA,EAKMC,GAAQ,IAAIL,GCjClBM,GAAe,CACd,cAAe,MACf,UAAW,EACX,OAAQ,KACR,QAAS,YAAY,SAAS,KAAK,UAAU,YAAW,IAAO,OAC/D,KAAM,SAAeC,EAAK,CACrB,KAAK,SACR,YAAY,SAAS,OAAOA,CAAG,CAElC,CACA,ECRaC,GAAS,CAErB,IAAK,CAAC,MAAS,MAAQ,GAAU,EAAM,MAAS,OAAU,KAAM,EAChE,IAAK,CAAC,MAAS,KAAQ,GAAU,EAAM,MAAS,MAAU,IAAM,CACjE,EAEO,SAASC,GAAUR,EAAM,CAC/B,OAAI,MAAM,QAAQA,CAAI,EACdA,EAGDO,GAAOP,CAAI,CACnB,CAGe,SAASS,GAAOC,EAAIC,EAAIC,EAAKC,EAAU,CAAA,EAAI,CAIzD,GAHAH,EAAKF,GAASE,CAAE,EAChBC,EAAKH,GAASG,CAAE,EAEZ,CAACD,GAAM,CAACC,EACX,MAAM,IAAI,UAAU,kCAAmCD,EAAc,GAAT,MAAW,GAAG,CAACA,GAAM,CAACC,EAAK,IAAM,EAAE,GAAIA,EAAY,GAAP,IAAS,EAAE,EAGpH,GAAID,IAAOC,EAEV,OAAOC,EAGR,IAAIT,EAAM,CAAC,GAAAO,EAAI,GAAAC,EAAI,IAAAC,EAAK,QAAAC,CAAO,EAwB/B,GAtBAT,GAAM,IAAI,6BAA8BD,CAAG,EAEtCA,EAAI,IACJA,EAAI,KAAOI,GAAO,KAAOJ,EAAI,KAAOI,GAAO,IAC9CJ,EAAI,EAAI,CACP,CAAE,mBAAoB,oBAAsB,mBAAoB,EAChE,CAAE,mBAAqB,kBAAoB,oBAAqB,EAChE,CAAE,qBAAuB,oBAAsB,iBAAkB,CACrE,EAEWA,EAAI,KAAOI,GAAO,KAAOJ,EAAI,KAAOI,GAAO,MAEnDJ,EAAI,EAAI,CACP,CAAE,iBAAmB,oBAAsB,kBAAmB,EAC9D,CAAE,mBAAqB,mBAAoB,mBAAoB,EAC/D,CAAE,oBAAsB,qBAAuB,iBAAiB,CACpE,IAICC,GAAM,IAAI,2BAA4BD,CAAG,EAErCA,EAAI,EACP,OAAOzE,GAAiByE,EAAI,EAAGA,EAAI,GAAG,EAGtC,MAAM,IAAI,UAAU,oEAAoE,CAE1F,CCxDA,IAAMW,GAAY,IAAI,IAAI,CAAC,WAAY,eAAgB,SAAS,CAAC,EAUjE,SAASC,GAAcC,EAAOC,EAAQjB,EAAMkB,EAAQ,CAsCnD,OArCY,OAAO,QAAQF,EAAM,MAAM,EAAE,IAAI,CAAC,CAACG,EAAIC,CAAS,EAAGlF,IAAM,CACpE,IAAI6C,EAAekC,EAAO,aAAa/E,CAAC,EACpC+B,EAAMiD,EAAOhF,CAAC,EACdmF,EAAepD,GAAK,KAIpBvB,EASJ,GARIuB,EAAI,KACPvB,EAAOqC,EAAa,KAAKxC,GAAKuE,GAAU,IAAIvE,CAAC,CAAC,EAG9CG,EAAOqC,EAAa,KAAKxC,GAAKA,GAAK8E,CAAY,EAI5C,CAAC3E,EAAM,CAEV,IAAI4E,EAAYF,EAAU,MAAQD,EAClC,MAAM,IAAI,UAAU,GAAGE,GAAgBpD,EAAI,GAAG,oBAAoBqD,CAAS,OAAOtB,CAAI,IAAI,CAC7F,CAEE,IAAIuB,EAAY7E,EAAK,MAEjB2E,IAAiB,iBACpBE,IAAc,CAAC,EAAG,CAAC,GAGpB,IAAIC,EAAUJ,EAAU,OAASA,EAAU,SAE3C,OAAIG,GAAaC,IAChBN,EAAOhF,CAAC,EAAIuF,GAAcF,EAAWC,EAASN,EAAOhF,CAAC,CAAC,GAGjDQ,CACT,CAAE,CAGF,CAUe,SAASgF,GAAOjF,EAAK,CAAC,KAAAkF,CAAI,EAAI,CAAA,EAAI,CAChD,IAAIxB,EAAM,CAAC,IAAO,OAAO1D,CAAG,GAAG,KAAI,CAAE,EAGrC,GAFA2D,GAAM,IAAI,cAAeD,CAAG,EAExBA,EAAI,MACP,OAAOA,EAAI,MAKZ,GAFAA,EAAI,OAASyB,GAAmBzB,EAAI,GAAG,EAEnCA,EAAI,OAAQ,CAEf,IAAIH,EAAOG,EAAI,OAAO,KAEtB,GAAIH,IAAS,QAAS,CAErB,IAAImB,EAAKhB,EAAI,OAAO,KAAK,MAAK,EAE1B0B,EAAcV,EAAG,WAAW,IAAI,EAAIA,EAAG,UAAU,CAAC,EAAI,KAAKA,CAAE,GAC7DW,EAAM,CAACX,EAAIU,CAAW,EACtBE,EAAQ5B,EAAI,OAAO,QAAQ,QAAQ,GAAG,EAAI,EAAIA,EAAI,OAAO,KAAK,IAAG,EAAK,EAE1E,QAASa,KAASgB,EAAW,IAAK,CACjC,IAAIC,EAAYjB,EAAM,UAAU,OAAO,EAEvC,GAAIiB,IACCH,EAAI,SAASG,EAAU,EAAE,GAAKA,EAAU,KAAK,OAAQC,GAAWJ,EAAI,SAASI,CAAM,CAAC,EAAE,QAAQ,CAIjG,IAAMhB,EAAS,OAAO,KAAKF,EAAM,MAAM,EAAE,IAAI,CAAC,EAAG9E,IAAMiE,EAAI,OAAO,KAAKjE,CAAC,GAAK,CAAC,EAE1EiG,EAEJ,OAAIF,EAAU,eACbE,EAAQpB,GAAaC,EAAOiB,EAAW,QAASf,CAAM,GAGnDS,GACH,OAAO,OAAOA,EAAM,CAAC,SAAU,QAAS,MAAAQ,CAAK,CAAC,EAG3CF,EAAU,GAAG,WAAW,IAAI,GAAK,CAACd,EAAG,WAAW,IAAI,GACvDd,GAAS,KAAK,GAAGW,EAAM,IAAI,4FACSiB,EAAU,EAAE,sBAAsBd,CAAE,IAAI,EAEzEA,EAAG,WAAW,IAAI,GAAK,CAACc,EAAU,GAAG,WAAW,IAAI,GACvD5B,GAAS,KAAK,GAAGW,EAAM,IAAI,iEACAiB,EAAU,EAAE,+BAA+Bd,CAAE,IAAI,EAGtE,CAAC,QAASH,EAAM,GAAI,OAAAE,EAAQ,MAAAa,CAAK,CAC9C,CAEA,CAGG,IAAIK,EAAa,GACbC,EAAalB,KAAMa,EAAW,SAAWb,EAAKU,EAClD,GAAIQ,KAAcL,EAAW,SAAU,CAEtC,IAAIM,EAAQN,EAAW,SAASK,CAAU,EAAE,SAAS,OAAO,GAExDC,IACHF,EAAa,sBAAsBE,CAAK,KAE7C,CAEG,MAAM,IAAI,UAAU,sBAAsBnB,CAAE,OAASiB,GAAc,oBAAoB,CAC1F,KAEG,SAASpB,KAASgB,EAAW,IAAK,CAEjC,IAAIf,EAASD,EAAM,UAAUhB,CAAI,EACjC,GAAIiB,GAAUA,EAAO,OAAS,WAAY,CACzC,IAAIc,EAAQ,GAERd,EAAO,WAAasB,GAAUpC,EAAI,OAAO,IAAI,EAAE,SAClD4B,EAAQ5B,EAAI,OAAO,KAAK,IAAG,GAG5B,IAAIe,EAASf,EAAI,OAAO,KAEpBgC,EAEJ,OAAIlB,EAAO,eACVkB,EAAQpB,GAAaC,EAAOC,EAAQjB,EAAMkB,CAAM,GAG7CS,GACH,OAAO,OAAOA,EAAM,CAAC,SAAUV,EAAO,KAAM,MAAAkB,CAAK,CAAC,EAG5C,CACN,QAASnB,EAAM,GACf,OAAAE,EAAQ,MAAAa,CACd,CACA,CACA,CAEA,KAGE,SAASf,KAASgB,EAAW,IAC5B,QAASQ,KAAYxB,EAAM,QAAS,CACnC,IAAIC,EAASD,EAAM,QAAQwB,CAAQ,EAMnC,GAJIvB,EAAO,OAAS,UAIhBA,EAAO,MAAQ,CAACA,EAAO,KAAKd,EAAI,GAAG,EACtC,SAGD,IAAIsC,EAAQxB,EAAO,MAAMd,EAAI,GAAG,EAEhC,GAAIsC,EACH,OAAAA,EAAM,QAAU,EAEZd,IACHA,EAAK,SAAWa,GAGVC,CAEZ,CAMC,MAAM,IAAI,UAAU,mBAAmBhG,CAAG,gCAAgC,CAC3E,CC5Le,SAASiG,GAAUD,EAAO,CACxC,GAAI,MAAM,QAAQA,CAAK,EACtB,OAAOA,EAAM,IAAIC,EAAQ,EAG1B,GAAI,CAACD,EACJ,MAAM,IAAI,UAAU,uBAAuB,EAGxCjG,GAASiG,CAAK,IACjBA,EAAQf,GAAMe,CAAK,GAIpB,IAAIzB,EAAQyB,EAAM,OAASA,EAAM,QAEjC,OAAMzB,aAAiBgB,IAEtBS,EAAM,MAAQT,EAAW,IAAIhB,CAAK,GAG/ByB,EAAM,QAAU,SACnBA,EAAM,MAAQ,GAGRA,CACR,CC9BA,IAAME,GAAI,MAKWX,EAAN,MAAMY,CAAW,CAC/B,YAAa/B,EAAS,CACrB,KAAK,GAAKA,EAAQ,GAClB,KAAK,KAAOA,EAAQ,KACpB,KAAK,KAAOA,EAAQ,KAAO+B,EAAW,IAAI/B,EAAQ,IAAI,EAAI,KAC1D,KAAK,QAAUA,EAAQ,QAEnB,KAAK,OACR,KAAK,SAAWA,EAAQ,SACxB,KAAK,OAASA,EAAQ,QAKvB,IAAIK,EAASL,EAAQ,QAAU,KAAK,KAAK,OAEzC,QAASb,KAAQkB,EACV,SAAUA,EAAOlB,CAAI,IAC1BkB,EAAOlB,CAAI,EAAE,KAAOA,GAGtB,KAAK,OAASkB,EAId,IAAI2B,EAAQhC,EAAQ,OAAS,KAAK,KAAK,OAAS,MAChD,KAAK,MAAQL,GAASqC,CAAK,EAI3B,KAAK,QAAUhC,EAAQ,SAAW,CAAA,EAElC,QAASb,KAAQ,KAAK,QAAS,CAC9B,IAAIiB,EAAS,KAAK,QAAQjB,CAAI,EAC9BiB,EAAO,OAAS,WAChBA,EAAO,OAASjB,CACnB,CAEO,KAAK,QAAQ,OAAO,KACxB,KAAK,QAAQ,MAAQ,CACpB,GAAG,KAAK,QAAQ,OAAS,CAAA,EACzB,GAAIa,EAAQ,OAAS,KAAK,EAC9B,GAKMA,EAAQ,WAEX,KAAK,WAAaA,EAAQ,aAAe,OAAS,KAAO+B,EAAW,IAAI/B,EAAQ,UAAU,EAItF,KAAK,QAER,KAAK,WAAa,KAAK,KAGvB,KAAK,WAAc,KAKjB,KAAK,WAAW,cACnB,KAAK,QAAU,CAACK,EAAQL,IAChB,IAKT,KAAK,SAAWA,EAAQ,SAGxB,OAAO,eAAe,KAAM,OAAQ,CACnC,MAAOiC,GAAQ,IAAI,EAAE,QAAO,EAC5B,SAAU,GACV,WAAY,GACZ,aAAc,EACjB,CAAG,EAED1C,GAAM,IAAI,sBAAuB,IAAI,CACvC,CAEC,QAASc,EAAQ,CAAC,QAAA6B,EAAUJ,EAAC,EAAI,CAAA,EAAI,CACpC,GAAI,CAAC,KAAK,OAAO,KAAK,UAAU,EAC/B,OAAAzB,EAAS,KAAK,GAAG,KAAK,WAAYA,CAAM,EACjC,KAAK,WAAW,QAAQA,EAAQ,CAAC,QAAA6B,CAAO,CAAC,EAGjD,IAAI3B,EAAY,OAAO,OAAO,KAAK,MAAM,EAEzC,OAAOF,EAAO,MAAM,CAAC3E,EAAG,IAAM,CAC7B,IAAIoF,EAAOP,EAAU,CAAC,EAEtB,GAAIO,EAAK,OAAS,SAAWA,EAAK,MAAO,CACxC,GAAI,OAAO,MAAMpF,CAAC,EAEjB,MAAO,GAGR,GAAI,CAAC2C,EAAKE,CAAG,EAAIuC,EAAK,MACtB,OAAQzC,IAAQ,QAAa3C,GAAK2C,EAAM6D,KAChC3D,IAAQ,QAAa7C,GAAK6C,EAAM2D,EAC5C,CAEG,MAAO,EACV,CAAG,CACH,CAEC,IAAI,aAAe,CAClB,OAAO,OAAO,OAAO,KAAK,MAAM,EAAE,MAAMC,GAAS,EAAE,UAAWA,EAAM,CACtE,CAEC,IAAI,OAAS,CACZ,OAAO,KAAK,SAAS,OAAO,IAAM,KAAK,EACzC,CAEC,IAAI,SAAW,CACd,QAAS7B,KAAM,KAAK,OACnB,GAAI,KAAK,OAAOA,CAAE,EAAE,OAAS,QAC5B,MAAO,GAIT,MAAO,EACT,CAEC,UAAWF,EAAQ,CAClB,GAAI,OAAOA,GAAW,SACrB,OAAAA,EAASgC,GAAchC,EAAQ,IAAI,EAC5BA,EAGR,IAAI3E,EASJ,OARI2E,IAAW,UAEd3E,EAAM,OAAO,OAAO,KAAK,OAAO,EAAE,CAAC,EAGnCA,EAAM,KAAK,QAAQ2E,CAAM,EAGtB3E,GACHA,EAAM2G,GAAc3G,EAAK,IAAI,EACtBA,GAGD,IACT,CAQC,OAAQ0E,EAAO,CACd,OAAKA,EAIE,OAASA,GAAS,KAAK,KAAOA,GAAS,KAAK,KAAOA,EAAM,GAHxD,EAIV,CAEC,GAAIA,EAAOE,EAAQ,CAClB,GAAI,UAAU,SAAW,EAAG,CAC3B,IAAMuB,EAAQC,GAAS1B,CAAK,EAC5B,CAACA,EAAOE,CAAM,EAAI,CAACuB,EAAM,MAAOA,EAAM,MAAM,CAC/C,CAIE,GAFAzB,EAAQ4B,EAAW,IAAI5B,CAAK,EAExB,KAAK,OAAOA,CAAK,EAEpB,OAAOE,EAIRA,EAASA,EAAO,IAAI3E,GAAK,OAAO,MAAMA,CAAC,EAAI,EAAIA,CAAC,EAGhD,IAAI2G,EAAS,KAAK,KACdC,EAAYnC,EAAM,KAElBoC,EAAiBC,EAErB,QAASnH,EAAI,EAAGA,EAAIgH,EAAO,QACtBA,EAAOhH,CAAC,EAAE,OAAOiH,EAAUjH,CAAC,CAAC,EADCA,IAEjCkH,EAAkBF,EAAOhH,CAAC,EAC1BmH,EAAuBnH,EAOzB,GAAI,CAACkH,EAEJ,MAAM,IAAI,MAAM,uCAAuC,IAAI,QAAQpC,CAAK,iCAAiC,EAI1G,QAAS9E,EAAIgH,EAAO,OAAS,EAAGhH,EAAImH,EAAsBnH,IACzDgF,EAASgC,EAAOhH,CAAC,EAAE,OAAOgF,CAAM,EAIjC,QAAShF,EAAImH,EAAuB,EAAGnH,EAAIiH,EAAU,OAAQjH,IAC5DgF,EAASiC,EAAUjH,CAAC,EAAE,SAASgF,CAAM,EAGtC,OAAOA,CACT,CAEC,KAAMF,EAAOE,EAAQ,CACpB,GAAI,UAAU,SAAW,EAAG,CAC3B,IAAMuB,EAAQC,GAAS1B,CAAK,EAC5B,CAACA,EAAOE,CAAM,EAAI,CAACuB,EAAM,MAAOA,EAAM,MAAM,CAC/C,CAEE,OAAAzB,EAAQ4B,EAAW,IAAI5B,CAAK,EAErBA,EAAM,GAAG,KAAME,CAAM,CAC9B,CAEC,UAAY,CACX,MAAO,GAAG,KAAK,IAAI,KAAK,KAAK,EAAE,GACjC,CAEC,cAAgB,CACf,IAAI5E,EAAM,CAAA,EAEV,QAAS6E,KAAM,KAAK,OAAQ,CAC3B,IAAIQ,EAAO,KAAK,OAAOR,CAAE,EACrBnC,EAAQ2C,EAAK,OAASA,EAAK,SAC/BrF,EAAI,KAAK0C,GAAO,KAAO,CAAC,CAC3B,CAEE,OAAO1C,CACT,CAEC,OAAO,SAAW,CAAA,EAGlB,WAAW,KAAO,CACjB,MAAO,CAAC,GAAG,IAAI,IAAI,OAAO,OAAOsG,EAAW,QAAQ,CAAC,CAAC,CACxD,CAEC,OAAO,SAAUzB,EAAIH,EAAO,CAQ3B,GAPI,UAAU,SAAW,IACxBA,EAAQ,UAAU,CAAC,EACnBG,EAAKH,EAAM,IAGZA,EAAQ,KAAK,IAAIA,CAAK,EAElB,KAAK,SAASG,CAAE,GAAK,KAAK,SAASA,CAAE,IAAMH,EAC9C,MAAM,IAAI,MAAM,wCAAwCG,CAAE,GAAG,EAK9D,GAHA,KAAK,SAASA,CAAE,EAAIH,EAGhB,UAAU,SAAW,GAAKA,EAAM,QACnC,QAASsC,KAAStC,EAAM,QACvB,KAAK,SAASsC,EAAOtC,CAAK,EAI5B,OAAOA,CACT,CAMC,OAAO,IAAKA,KAAUuC,EAAc,CACnC,GAAI,CAACvC,GAASA,aAAiB4B,EAC9B,OAAO5B,EAKR,GAFctE,GAAKsE,CAAK,IAER,SAAU,CAEzB,IAAI1E,EAAMsG,EAAW,SAAS5B,EAAM,YAAW,CAAE,EAEjD,GAAI,CAAC1E,EACJ,MAAM,IAAI,UAAU,mCAAmC0E,CAAK,GAAG,EAGhE,OAAO1E,CACV,CAEE,GAAIiH,EAAa,OAChB,OAAOX,EAAW,IAAI,GAAGW,CAAY,EAGtC,MAAM,IAAI,UAAU,GAAGvC,CAAK,6BAA6B,CAC3D,CAUC,OAAO,aAAcwC,EAAKC,EAAc,CACvC,IAAIC,EAAYhH,GAAK8G,CAAG,EACpBxC,EAAOgC,EA2BX,GAzBIU,IAAc,SACbF,EAAI,SAAS,GAAG,EAEnB,CAACxC,EAAOgC,CAAK,EAAIQ,EAAI,MAAM,GAAG,EAI9B,CAACxC,EAAOgC,CAAK,EAAI,CAAA,CAAGQ,CAAG,EAGhB,MAAM,QAAQA,CAAG,EACzB,CAACxC,EAAOgC,CAAK,EAAIQ,GAIjBxC,EAAQwC,EAAI,MACZR,EAAQQ,EAAI,SAGbxC,EAAQ4B,EAAW,IAAI5B,CAAK,EAEvBA,IACJA,EAAQyC,GAGL,CAACzC,EACJ,MAAM,IAAI,UAAU,uCAAuCwC,CAAG,yEAAyE,EAKxI,GAFAE,EAAYhH,GAAKsG,CAAK,EAElBU,IAAc,UAAYA,IAAc,UAAYV,GAAS,EAAG,CAEnE,IAAIrB,EAAO,OAAO,QAAQX,EAAM,MAAM,EAAEgC,CAAK,EAE7C,GAAIrB,EACH,MAAO,CAAC,MAAAX,EAAO,GAAIW,EAAK,CAAC,EAAG,MAAOqB,EAAO,GAAGrB,EAAK,CAAC,CAAC,CAExD,CAEEX,EAAQ4B,EAAW,IAAI5B,CAAK,EAE5B,IAAI2C,EAAkBX,EAAM,YAAW,EAEnC9G,EAAI,EACR,QAASiF,KAAMH,EAAM,OAAQ,CAC5B,IAAIW,EAAOX,EAAM,OAAOG,CAAE,EAE1B,GAAIA,EAAG,YAAW,IAAOwC,GAAmBhC,EAAK,MAAM,YAAW,IAAOgC,EACxE,MAAO,CAAC,MAAA3C,EAAO,GAAAG,EAAI,MAAOjF,EAAG,GAAGyF,CAAI,EAGrCzF,GACH,CAEE,MAAM,IAAI,UAAU,OAAO8G,CAAK,yBAAyBhC,EAAM,IAAI,0BAA0B,OAAO,KAAKA,EAAM,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CACrI,CAEC,OAAO,eAAiB,CACvB,KAAM,YACN,KAAM,OACR,CACA,EAEA,SAAS8B,GAAS9B,EAAO,CACxB,IAAI1E,EAAM,CAAC0E,CAAK,EAEhB,QAAS4C,EAAI5C,EAAO4C,EAAIA,EAAE,MACzBtH,EAAI,KAAKsH,CAAC,EAGX,OAAOtH,CACR,CAEA,SAAS2G,GAAehC,EAAQ,CAAC,OAAAC,CAAM,EAAI,CAAA,EAAI,CAC9C,GAAID,EAAO,QAAU,CAACA,EAAO,aAAc,CAC1CA,EAAO,OAAS,WAChBA,EAAO,OAAS,QAGhBA,EAAO,aAAepC,GAAkBoC,EAAO,MAAM,EAErD,IAAI4C,EAAe,OAAO,QAAQ3C,CAAM,EAAE,IAAI,CAAC,CAACC,EAAIC,CAAS,EAAG,IAAM,CAErE,IAAI0C,EAAa7C,EAAO,aAAa,CAAC,EAAE,CAAC,EAErCM,EAAYH,EAAU,OAASA,EAAU,SACzCI,EAAUsC,EAAW,MAAOC,EAAS,GAGzC,OAAID,GAAc,gBACjBtC,EAAU,CAAC,EAAG,GAAG,EACjBuC,EAAS,KAEDD,GAAc,YACtBC,EAAS,OAGF,CAAC,UAAAxC,EAAW,QAAAC,EAAS,OAAAuC,CAAM,CACtC,CAAG,EAED9C,EAAO,gBAAkB,CAACC,EAAQpE,IAC1BoE,EAAO,IAAI,CAAC3E,EAAGL,IAAM,CAC3B,GAAI,CAAC,UAAAqF,EAAW,QAAAC,EAAS,OAAAuC,CAAM,EAAIF,EAAa3H,CAAC,EAEjD,OAAIqF,GAAaC,IAChBjF,EAAImC,GAAS6C,EAAWC,EAASjF,CAAC,GAGnCA,EAAIK,GAAgBL,EAAG,CAAC,UAAAO,EAAW,KAAMiH,CAAM,CAAC,EAEzCxH,CACX,CAAI,CAEJ,CAEC,OAAO0E,CACR,CCrbA,IAAA+C,GAAe,IAAIhC,EAAW,CAC7B,GAAI,UACJ,KAAM,UACN,OAAQ,CACP,EAAG,CAAC,KAAM,GAAG,EACb,EAAG,CAAC,KAAM,GAAG,EACb,EAAG,CAAC,KAAM,GAAG,CACf,EACC,MAAO,MACP,QAAS,CACR,MAAO,CACN,IAAK,CAAC,UAAW,KAAK,CACzB,CACA,EACC,QAAS,CAAC,KAAK,CAChB,CAAC,ECRoBiC,GAAN,cAA4BjC,CAAW,CAUrD,YAAanB,EAAS,CAChBA,EAAQ,SACZA,EAAQ,OAAS,CAChB,EAAG,CACF,MAAO,CAAC,EAAG,CAAC,EACZ,KAAM,KACX,EACI,EAAG,CACF,MAAO,CAAC,EAAG,CAAC,EACZ,KAAM,OACX,EACI,EAAG,CACF,MAAO,CAAC,EAAG,CAAC,EACZ,KAAM,MACX,CACA,GAGOA,EAAQ,OACZA,EAAQ,KAAOqD,IAGZrD,EAAQ,SAAWA,EAAQ,YAC9BA,EAAQ,SAAWsD,GAAO,CACzB,IAAIC,EAAM1I,GAAiBmF,EAAQ,QAASsD,CAAG,EAE/C,OAAI,KAAK,QAAU,KAAK,KAAK,QAE5BC,EAAM3D,GAAM,KAAK,MAAO,KAAK,KAAK,MAAO2D,CAAG,GAGtCA,CACX,EAEGvD,EAAQ,WAAauD,IACpBA,EAAM3D,GAAM,KAAK,KAAK,MAAO,KAAK,MAAO2D,CAAG,EACrC1I,GAAiBmF,EAAQ,UAAWuD,CAAG,IAIhDvD,EAAQ,WAAa,UAErB,MAAMA,CAAO,CACf,CACA,ECtDe,SAASwD,GAAQ5B,EAAOzB,EAAO,CAG7C,OAFAyB,EAAQC,GAASD,CAAK,EAElB,CAACzB,GAASyB,EAAM,MAAM,OAAOzB,CAAK,EAE9ByB,EAAM,OAAO,MAAK,GAG1BzB,EAAQgB,EAAW,IAAIhB,CAAK,EACrBA,EAAM,KAAKyB,CAAK,EACxB,CCfe,SAAS6B,GAAK7B,EAAO8B,EAAM,CACzC9B,EAAQC,GAASD,CAAK,EAEtB,GAAI,CAAC,MAAAzB,EAAO,MAAAwD,CAAK,EAAIxC,EAAW,aAAauC,EAAM9B,EAAM,KAAK,EAE9D,OADa4B,GAAO5B,EAAOzB,CAAK,EAClBwD,CAAK,CACpB,CCPe,SAASC,GAAQhC,EAAOzB,EAAOE,EAAQ,CACrD,OAAAuB,EAAQC,GAASD,CAAK,EAEtBzB,EAAQgB,EAAW,IAAIhB,CAAK,EAC5ByB,EAAM,OAASzB,EAAM,GAAGyB,EAAM,MAAOvB,CAAM,EACpCuB,CACR,CAEAgC,GAAO,QAAU,QCHF,SAASC,GAAKjC,EAAO8B,EAAM9F,EAAO,CAGhD,GAFAgE,EAAQC,GAASD,CAAK,EAElB,UAAU,SAAW,GAAK/F,GAAK,UAAU,CAAC,CAAC,IAAM,SAAU,CAE9D,IAAIiI,EAAS,UAAU,CAAC,EACxB,QAAS5I,KAAK4I,EACbD,GAAIjC,EAAO1G,EAAG4I,EAAO5I,CAAC,CAAC,CAE1B,KACM,CACA,OAAO0C,GAAU,aACpBA,EAAQA,EAAM6F,GAAI7B,EAAO8B,CAAI,CAAC,GAG/B,GAAI,CAAC,MAAAvD,EAAO,MAAAwD,CAAK,EAAIxC,EAAW,aAAauC,EAAM9B,EAAM,KAAK,EAC1DvB,EAASmD,GAAO5B,EAAOzB,CAAK,EAChCE,EAAOsD,CAAK,EAAI/F,EAChBgG,GAAOhC,EAAOzB,EAAOE,CAAM,CAC7B,CAEC,OAAOuB,CACR,CAEAiC,GAAI,QAAU,QC5Bd,IAAAE,GAAe,IAAI5C,EAAW,CAC7B,GAAI,UACJ,KAAM,UACN,MAAO,MACP,KAAMkC,GACN,SAAUhD,GAAUT,GAAMyD,GAAQ,MAAO,MAAOhD,CAAM,EACtD,OAAQA,GAAUT,GAAM,MAAOyD,GAAQ,MAAOhD,CAAM,CACrD,CAAC,ECNKyB,GAAI,IAAM,MACVkC,GAAK,GAAK,IACVC,GAAI,MAAQ,GAEdjC,GAAQtC,GAAO,IAEnBwE,GAAe,IAAI/C,EAAW,CAC7B,GAAI,MACJ,KAAM,MACN,OAAQ,CACP,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,WACT,EACE,EAAG,CACF,SAAU,CAAC,KAAM,GAAG,CACvB,EACE,EAAG,CACF,SAAU,CAAC,KAAM,GAAG,CACvB,CACA,EAIA,MAACa,GAEA,KAAMmC,GAGN,SAAUpE,EAAK,CAKd,IAAIqE,EAHMrE,EAAI,IAAI,CAACnC,EAAOvC,IAAMuC,EAAQoE,GAAM3G,CAAC,CAAC,EAGpC,IAAIuC,GAASA,EAAQkE,GAAI,KAAK,KAAKlE,CAAK,GAAKqG,GAAIrG,EAAQ,IAAM,GAAG,EAE9E,MAAO,CACL,IAAMwG,EAAE,CAAC,EAAK,GACf,KAAOA,EAAE,CAAC,EAAIA,EAAE,CAAC,GACjB,KAAOA,EAAE,CAAC,EAAIA,EAAE,CAAC,EACpB,CACA,EAIC,OAAQC,EAAK,CAEZ,IAAID,EAAI,CAAA,EACR,OAAAA,EAAE,CAAC,GAAKC,EAAI,CAAC,EAAI,IAAM,IACvBD,EAAE,CAAC,EAAIC,EAAI,CAAC,EAAI,IAAMD,EAAE,CAAC,EACzBA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIC,EAAI,CAAC,EAAI,IAGb,CACTD,EAAE,CAAC,EAAMJ,GAAK,KAAK,IAAII,EAAE,CAAC,EAAG,CAAC,GAAoB,IAAMA,EAAE,CAAC,EAAI,IAAMH,GACrEI,EAAI,CAAC,EAAI,EAAK,KAAK,KAAKA,EAAI,CAAC,EAAI,IAAM,IAAK,CAAC,EAAIA,EAAI,CAAC,EAAIJ,GAC1DG,EAAE,CAAC,EAAMJ,GAAK,KAAK,IAAII,EAAE,CAAC,EAAG,CAAC,GAAoB,IAAMA,EAAE,CAAC,EAAI,IAAMH,EACxE,EAGa,IAAI,CAACrG,EAAOvC,IAAMuC,EAAQoE,GAAM3G,CAAC,CAAC,CAC/C,EAEC,QAAS,CACR,IAAO,CACN,OAAQ,CAAC,0BAA2B,gCAAiC,+BAA+B,CACvG,CACA,CACA,CAAC,ECzEM,SAASiJ,GAAWC,EAAO,CACjC,OAASA,EAAQ,IAAO,KAAO,GAChC,CAEO,SAASC,GAAQC,EAAKC,EAAQ,CACpC,GAAID,IAAQ,MACX,OAAOC,EAGR,GAAI,CAACC,EAAIC,CAAE,EAAIF,EAAO,IAAIJ,EAAS,EAE/BO,EAAYD,EAAKD,EAErB,OAAIF,IAAQ,aACPI,EAAY,IACfD,GAAM,KAGCH,IAAQ,aACZI,EAAY,IACfF,GAAM,KAGCF,IAAQ,SACZ,KAAOI,GAAaA,EAAY,MAC/BA,EAAY,EACfF,GAAM,IAGNC,GAAM,KAIAH,IAAQ,YACZI,EAAY,IACfF,GAAM,IAEEE,EAAY,OACpBD,GAAM,MAID,CAACD,EAAIC,CAAE,CACf,CCvCA,IAAAE,GAAe,IAAI3D,EAAW,CAC7B,GAAI,MACJ,KAAM,MACN,OAAQ,CACP,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,WACT,EACE,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,QACT,EACE,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,QACN,KAAM,KACT,CACA,EAEC,KAAMkD,GACN,SAAUA,EAAK,CAEd,GAAI,CAACU,EAAGC,EAAGC,CAAC,EAAIZ,EACZa,EACEpD,EAAI,IAEV,OAAI,KAAK,IAAIkD,CAAC,EAAIlD,GAAK,KAAK,IAAImD,CAAC,EAAInD,EACpCoD,EAAM,IAGNA,EAAM,KAAK,MAAMD,EAAGD,CAAC,EAAI,IAAM,KAAK,GAG9B,CACND,EACA,KAAK,KAAKC,GAAK,EAAIC,GAAK,CAAC,EACzBE,GAAeD,CAAG,CACrB,CACA,EACC,OAAQE,EAAK,CAEZ,GAAI,CAACC,EAAWC,EAAQC,CAAG,EAAIH,EAE/B,OAAIE,EAAS,IACZA,EAAS,GAGN,MAAMC,CAAG,IACZA,EAAM,GAEA,CACNF,EACAC,EAAS,KAAK,IAAIC,EAAM,KAAK,GAAK,GAAG,EACrCD,EAAS,KAAK,IAAIC,EAAM,KAAK,GAAK,GAAG,CACxC,CACA,EAEC,QAAS,CACR,IAAO,CACN,OAAQ,CAAC,0BAA2B,0BAA2B,oBAAoB,CACtF,CACA,CACA,CAAC,ECrDKC,GAAU,IAAM,EAChBC,GAAI,KAAK,GACTC,GAAM,IAAMD,GACZE,GAAMF,GAAI,IAEhB,SAASG,GAAM3K,EAAG,CAGjB,IAAM4K,EAAK5K,EAAIA,EAGf,OAFW4K,EAAKA,EAAKA,EAAK5K,CAG3B,CAEe,SAAA6K,GAAUlE,EAAOmE,EAAQ,CAAC,GAAAC,EAAK,EAAG,GAAAC,EAAK,EAAG,GAAAC,EAAK,CAAC,EAAI,CAAA,EAAI,CACtE,CAACtE,EAAOmE,CAAM,EAAIlE,GAAS,CAACD,EAAOmE,CAAM,CAAC,EAa1C,GAAI,CAACI,EAAIxB,EAAIyB,CAAE,EAAIlC,GAAI,KAAKtC,CAAK,EAC7ByE,EAAKvB,GAAI,KAAKZ,GAAK,CAACiC,EAAIxB,EAAIyB,CAAE,CAAC,EAAE,CAAC,EAClC,CAACE,EAAI1B,EAAI2B,CAAE,EAAIrC,GAAI,KAAK6B,CAAM,EAC9BS,EAAK1B,GAAI,KAAKZ,GAAK,CAACoC,EAAI1B,EAAI2B,CAAE,CAAC,EAAE,CAAC,EAMlCF,EAAK,IACRA,EAAK,GAEFG,EAAK,IACRA,EAAK,GAGN,IAAIC,GAAQJ,EAAKG,GAAM,EAInBE,EAAKd,GAAKa,CAAI,EAEdE,EAAI,IAAO,EAAI,KAAK,KAAKD,GAAMA,EAAKlB,GAAQ,GAI5CoB,GAAU,EAAID,GAAKhC,EACnBkC,GAAU,EAAIF,GAAK/B,EAGnBkC,EAAS,KAAK,KAAKF,GAAU,EAAIR,GAAM,CAAC,EACxCW,EAAS,KAAK,KAAKF,GAAU,EAAIN,GAAM,CAAC,EAKxCS,EAAMJ,IAAW,GAAKR,IAAO,EAAK,EAAI,KAAK,MAAMA,EAAIQ,CAAM,EAC3DK,EAAMJ,IAAW,GAAKN,IAAO,EAAK,EAAI,KAAK,MAAMA,EAAIM,CAAM,EAE3DG,EAAK,IACRA,GAAM,EAAIvB,IAEPwB,EAAK,IACRA,GAAM,EAAIxB,IAGXuB,GAAMtB,GACNuB,GAAMvB,GAGN,IAAIwB,EAAKZ,EAAKH,EACVgB,EAAKJ,EAASD,EAGdM,EAAQH,EAAKD,EACbK,EAAOL,EAAKC,EACZK,GAAO,KAAK,IAAIF,CAAK,EACrBG,EAEAT,EAASC,IAAW,EACvBQ,EAAK,EAEGD,IAAQ,IAChBC,EAAKH,EAEGA,EAAQ,IAChBG,EAAKH,EAAQ,IAELA,EAAQ,KAChBG,EAAKH,EAAQ,IAGb5H,GAAS,KAAK,8BAA8B,EAI7C,IAAIgI,EAAK,EAAI,KAAK,KAAKT,EAASD,CAAM,EAAI,KAAK,IAAIS,EAAK5B,GAAM,CAAC,EAG3D8B,IAAStB,EAAKG,GAAM,EACpBoB,GAASZ,EAASC,GAAU,EAC5BY,GAAS/B,GAAK8B,CAAK,EAKnBE,GACAd,EAASC,IAAW,EACvBa,GAAQP,EAEAC,IAAQ,IAChBM,GAAQP,EAAO,EAEPA,EAAO,IACfO,IAASP,EAAO,KAAO,EAGvBO,IAASP,EAAO,KAAO,EAQxB,IAAIQ,IAAOJ,GAAQ,KAAO,EACtBK,GAAK,EAAM,KAAQD,GAAO,KAAK,KAAK,GAAKA,EAAG,EAG5CE,GAAK,EAAI,KAAQL,EAGjBM,GAAI,EACRA,IAAM,IAAO,KAAK,KAAUJ,GAAQ,IAAOjC,EAAG,EAC9CqC,IAAM,IAAO,KAAK,IAAM,EAAIJ,GAAejC,EAAG,EAC9CqC,IAAM,IAAO,KAAK,KAAM,EAAIJ,GAAS,GAAMjC,EAAG,EAC9CqC,IAAM,GAAO,KAAK,KAAM,EAAIJ,GAAS,IAAMjC,EAAG,EAI9C,IAAIsC,GAAK,EAAI,KAAQP,EAAQM,GAMzBE,GAAK,GAAK,KAAK,IAAI,KAAQN,GAAQ,KAAO,KAAO,CAAE,EACnDO,GAAK,EAAI,KAAK,KAAKR,IAAUA,GAASnC,GAAQ,EAC9C4C,GAAK,GAAK,KAAK,IAAI,EAAIF,GAAKvC,EAAG,EAAIwC,GAGnCE,IAAMnB,GAAMlB,EAAK8B,MAAQ,EAC7B,OAAAO,KAAOlB,GAAMlB,EAAK8B,MAAQ,EAC1BM,KAAOb,GAAMtB,EAAK+B,MAAQ,EAC1BI,IAAMD,IAAMjB,GAAMlB,EAAK8B,MAAQP,GAAMtB,EAAK+B,KACnC,KAAK,KAAKI,EAAE,CAEpB,CC5KA,IAAMC,GAAa,CAClB,CAAE,iBAAoB,kBAAoB,kBAAmB,EAC7D,CAAE,kBAAoB,kBAAqB,iBAAkB,EAC7D,CAAE,kBAAoB,kBAAqB,iBAAkB,CAC9D,EAEMC,GAAa,CAClB,CAAG,mBAAoB,mBAAsB,iBAAkB,EAC/D,CAAE,mBAAsB,kBAAoB,kBAAmB,EAC/D,CAAE,mBAAqB,mBAAsB,kBAAkB,CAChE,EACMC,GAAa,CAClB,CAAE,iBAAqB,kBAAoB,kBAAmB,EAC9D,CAAE,mBAAoB,kBAAsB,gBAAkB,EAC9D,CAAE,kBAAqB,kBAAoB,kBAAmB,CAC/D,EAEMC,GAAa,CAClB,CAAE,EAAqB,kBAAqB,iBAAkB,EAC9D,CAAE,EAAoB,mBAAqB,kBAAmB,EAC9D,CAAE,EAAoB,mBAAqB,mBAAmB,CAC/D,EAEAC,GAAe,IAAIvH,EAAW,CAC7B,GAAI,QACJ,KAAM,QACN,OAAQ,CACP,EAAG,CACF,SAAU,CAAC,EAAG,CAAC,EACf,KAAM,WACT,EACE,EAAG,CACF,SAAU,CAAC,IAAM,EAAG,CACvB,EACE,EAAG,CACF,SAAU,CAAC,IAAM,EAAG,CACvB,CACA,EAGC,MAAO,MACP,KAAMkC,GACN,SAAUtD,EAAK,CAKd,IAAI4I,EAHM9N,GAAiByN,GAAYvI,CAAG,EAG3B,IAAIzB,GAAO,KAAK,KAAKA,CAAG,CAAC,EAExC,OAAOzD,GAAiB2N,GAAYG,CAAI,CAE1C,EACC,OAAQD,EAAO,CAKd,IAAIE,EAHO/N,GAAiB4N,GAAYC,CAAK,EAG9B,IAAIpK,GAAOA,GAAO,CAAC,EAElC,OAAOzD,GAAiB0N,GAAYK,CAAG,CACzC,EAEC,QAAS,CACR,MAAS,CACR,OAAQ,CAAC,0BAA2B,gCAAiC,+BAA+B,CACvG,CACA,CACA,CAAC,ECnEc,SAAAC,GAAUjH,EAAOmE,EAAQ,CACvC,CAACnE,EAAOmE,CAAM,EAAIlE,GAAS,CAACD,EAAOmE,CAAM,CAAC,EAK1C,GAAI,CAACI,EAAIxB,EAAIyB,CAAE,EAAI0C,GAAM,KAAKlH,CAAK,EAC/B,CAAC0E,EAAI1B,EAAI2B,CAAE,EAAIuC,GAAM,KAAK/C,CAAM,EAChCmB,EAAKf,EAAKG,EACVyC,EAAKpE,EAAKC,EACVoE,EAAK5C,EAAKG,EACd,OAAO,KAAK,KAAKW,GAAM,EAAI6B,GAAM,EAAIC,GAAM,CAAC,CAC7C,CCfA,IAAMlH,GAAI,MAMK,SAASmH,GAASrH,EAAOzB,EAAO,CAAC,QAAA+B,EAAUJ,EAAC,EAAI,CAAA,EAAI,CAClEF,EAAQC,GAASD,CAAK,EAEjBzB,IACJA,EAAQyB,EAAM,OAGfzB,EAAQgB,EAAW,IAAIhB,CAAK,EAC5B,IAAIE,EAASuB,EAAM,OAEnB,OAAIzB,IAAUyB,EAAM,QACnBvB,EAASF,EAAM,KAAKyB,CAAK,GAGnBzB,EAAM,QAAQE,EAAQ,CAAC,QAAA6B,CAAO,CAAC,CACvC,CCxBe,SAASgH,GAAOtH,EAAO,CACrC,MAAO,CACN,MAAOA,EAAM,MACb,OAAQA,EAAM,OAAO,MAAK,EAC1B,MAAOA,EAAM,KACf,CACA,CCDe,SAASuH,GAAUC,EAAQC,EAAQlJ,EAAQ,MAAO,CAChEA,EAAQgB,EAAW,IAAIhB,CAAK,EAG5B,IAAImJ,EAAUnJ,EAAM,KAAKiJ,CAAM,EAC3BG,EAAUpJ,EAAM,KAAKkJ,CAAM,EAE/B,OAAO,KAAK,KAAKC,EAAQ,OAAO,CAACE,EAAKC,EAAIpO,IAAM,CAC/C,IAAIqO,EAAKH,EAAQlO,CAAC,EAClB,OAAI,MAAMoO,CAAE,GAAK,MAAMC,CAAE,EACjBF,EAGDA,GAAOE,EAAKD,IAAO,CAC5B,EAAI,CAAC,CAAC,CACN,CCjBe,SAASE,GAAU/H,EAAOmE,EAAQ,CAEhD,OAAOoD,GAASvH,EAAOmE,EAAQ,KAAK,CACrC,CCMA,IAAMN,GAAI,KAAK,GACTE,GAAMF,GAAI,IAED,SAAAmE,GAAUhI,EAAOmE,EAAQ,CAAC,EAAA8D,EAAI,EAAG,EAAAnO,EAAI,CAAC,EAAI,CAAA,EAAI,CAC5D,CAACkG,EAAOmE,CAAM,EAAIlE,GAAS,CAACD,EAAOmE,CAAM,CAAC,EAU1C,GAAI,CAACI,EAAIxB,EAAIyB,CAAE,EAAIlC,GAAI,KAAKtC,CAAK,EAC7B,CAAA,CAAGyE,EAAIyD,CAAE,EAAIhF,GAAI,KAAKZ,GAAK,CAACiC,EAAIxB,EAAIyB,CAAE,CAAC,EACvC,CAACE,EAAI1B,EAAI2B,CAAE,EAAIrC,GAAI,KAAK6B,CAAM,EAC9BS,EAAK1B,GAAI,KAAKZ,GAAK,CAACoC,EAAI1B,EAAI2B,CAAE,CAAC,EAAE,CAAC,EAYlCF,EAAK,IACRA,EAAK,GAEFG,EAAK,IACRA,EAAK,GAON,IAAIU,EAAKf,EAAKG,EACVa,EAAKd,EAAKG,EAEVuC,EAAKpE,EAAKC,EACVoE,EAAK5C,EAAKG,EAIVwD,EAAMhB,GAAM,EAAMC,GAAM,EAAM7B,GAAM,EAmBpCW,EAAK,KACL3B,GAAM,KACT2B,EAAM,QAAW3B,GAAO,EAAI,OAAUA,IAIvC,IAAI4B,EAAO,MAAS1B,GAAO,EAAI,MAASA,GAAO,KAG3C2B,EACA,OAAO,MAAM8B,CAAE,IAClBA,EAAK,GAGFA,GAAM,KAAOA,GAAM,IACtB9B,EAAI,IAAO,KAAK,IAAI,GAAM,KAAK,KAAK8B,EAAK,KAAOnE,EAAG,CAAC,EAGpDqC,EAAI,IAAO,KAAK,IAAI,GAAM,KAAK,KAAK8B,EAAK,IAAMnE,EAAG,CAAC,EAKpD,IAAIqE,EAAK,KAAK,IAAI3D,EAAI,CAAC,EACnB4D,EAAI,KAAK,KAAKD,GAAMA,EAAK,KAAK,EAC9B/B,EAAKF,GAAOkC,EAAIjC,EAAK,EAAIiC,GAGzB5B,GAAMnB,GAAM2C,EAAI/B,KAAQ,EAC5B,OAAAO,IAAOlB,GAAMzL,EAAIqM,KAAQ,EACzBM,GAAO0B,EAAM9B,GAAM,EAEZ,KAAK,KAAKI,CAAE,CAEpB,CC9GA,IAAM6B,GAAK,IAEXC,GAAe,IAAIhJ,EAAW,CAK7B,GAAI,cACJ,MAAO,gBACP,KAAM,mBACN,OAAQ,CACP,EAAG,CACF,SAAU,CAAC,EAAG,MAAM,EACpB,KAAM,IACT,EACE,EAAG,CACF,SAAU,CAAC,EAAG,GAAK,EACnB,KAAM,IACT,EACE,EAAG,CACF,SAAU,CAAC,EAAG,OAAO,EACrB,KAAM,IACT,CACA,EAEC,KAAMkC,GACN,SAAUtD,EAAK,CAId,OAAOA,EAAI,IAAKqK,GAAK,KAAK,IAAIA,EAAIF,GAAI,CAAC,CAAC,CAC1C,EACC,OAAQG,EAAQ,CAEf,OAAOA,EAAO,IAAID,GAAK,KAAK,IAAIA,EAAIF,GAAI,CAAC,CAAC,CAC5C,CACA,CAAC,ECnCKjF,GAAI,KACJqF,GAAI,IACJtO,GAAI,KAAQ,GAAK,GACjBuO,GAAQ,GAAK,GAAM,KACnBd,GAAK,KAAQ,GAAK,GAClBC,GAAK,KAAQ,GAAK,EAClBc,GAAK,KAAQ,GAAK,EAClBtP,GAAI,IAAM,KAAQ,GAAK,EACvBuP,GAAQ,GAAK,GAAM,IAAM,MACzB5L,GAAI,KACJ6L,GAAK,sBAELC,GAAc,CACnB,CAAG,UAAY,QAAW,OAAS,EACnC,CAAE,QAAa,SAAW,QAAS,EACnC,CAAE,UAAa,MAAW,QAAS,CACpC,EAEMC,GAAc,CACnB,CAAG,mBAAqB,oBAAsB,gBAAiB,EAC/D,CAAG,mBAAsB,kBAAoB,mBAAoB,EACjE,CAAE,oBAAsB,mBAAsB,kBAAkB,CACjE,EACMC,GAAc,CACnB,CAAG,GAAW,GAAW,CAAC,EAC1B,CAAG,MAAU,UAAY,OAAQ,EACjC,CAAG,QAAW,SAAU,SAAS,CAClC,EAEMC,GAAc,CACnB,CAAE,EAAqB,kBAAsB,kBAAmB,EAChE,CAAE,kBAAoB,mBAAsB,mBAAoB,EAChE,CAAE,kBAAoB,oBAAsB,kBAAmB,CAChE,EAEAC,GAAe,IAAI5J,EAAW,CAC7B,GAAI,SACJ,KAAM,SACN,OAAQ,CACP,GAAI,CACH,SAAU,CAAC,EAAG,CAAC,EACf,KAAM,IACT,EACE,GAAI,CACH,SAAU,CAAC,IAAM,EAAG,CACvB,EACE,GAAI,CACH,SAAU,CAAC,IAAM,EAAG,CACvB,CACA,EAEC,KAAMgJ,GACN,SAAUpK,EAAK,CAMd,GAAI,CAAEiL,EAAIC,EAAIC,CAAE,EAAKnL,EAGjBoL,EAAMlG,GAAI+F,GAAQ/F,GAAI,GAAKiG,EAC3BE,EAAMd,GAAIW,GAAQX,GAAI,GAAKU,EAM3BK,EAHMxQ,GAAiB8P,GAAa,CAAEQ,EAAIC,EAAIF,CAAE,CAAE,EAGtC,IAAK,SAAU5M,EAAK,CACnC,IAAIgN,EAAM7B,GAAMC,IAAOpL,EAAM,MAAUtC,GACnCuP,EAAQ,EAAKf,IAAOlM,EAAM,MAAUtC,GAExC,OAAQsP,EAAMC,IAAWrQ,EAC5B,CAAG,EAGG,CAAEsQ,EAAIC,EAAIC,CAAE,EAAI7Q,GAAiBgQ,GAAaQ,CAAK,EAIvD,MAAO,EADI,EAAIxM,IAAK2M,GAAO,EAAK3M,GAAI2M,GAAOd,GAC/Be,EAAIC,CAAE,CACpB,EACC,OAAQX,EAAQ,CACf,GAAI,CAACY,EAAIF,EAAIC,CAAE,EAAIX,EACfS,GAAMG,EAAKjB,KAAO,EAAI7L,GAAIA,IAAK8M,EAAKjB,KAMpC9B,EAHQ/N,GAAiBiQ,GAAa,CAAEU,EAAIC,EAAIC,CAAE,CAAE,EAGxC,IAAI,SAAUpN,EAAK,CAClC,IAAIgN,EAAO7B,GAAMnL,GAAOmM,GACpBc,EAASf,GAAMlM,GAAOmM,GAASf,GAGnC,MAFQ,MAAU4B,EAAMC,IAAUhB,EAGrC,CAAG,EAGG,CAAEY,EAAIC,EAAIF,CAAE,EAAKrQ,GAAiB+P,GAAahC,CAAG,EAGlDoC,GAAMG,GAAOlG,GAAI,GAAKiG,GAAOjG,GAC7BgG,GAAMG,GAAOd,GAAI,GAAKU,GAAOV,GACjC,MAAO,CAAEU,EAAIC,EAAIC,CAAE,CACrB,EAEC,QAAS,CAER,MAAS,CACR,OAAQ,CAAC,0BAA2B,gCAAiC,+BAA+B,CACvG,CACA,CACA,CAAC,ECjHDU,GAAe,IAAIzK,EAAW,CAC7B,GAAI,SACJ,KAAM,SACN,OAAQ,CACP,GAAI,CACH,SAAU,CAAC,EAAG,CAAC,EACf,KAAM,IACT,EACE,GAAI,CACH,SAAU,CAAC,EAAG,CAAC,EACf,KAAM,QACT,EACE,GAAI,CACH,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,QACN,KAAM,KACT,CACA,EAEC,KAAM4J,GACN,SAAUc,EAAQ,CAEjB,GAAI,CAACF,EAAIF,EAAIC,CAAE,EAAIG,EACf3G,EACEpD,EAAI,KAEV,OAAI,KAAK,IAAI2J,CAAE,EAAI3J,GAAK,KAAK,IAAI4J,CAAE,EAAI5J,EACtCoD,EAAM,IAGNA,EAAM,KAAK,MAAMwG,EAAID,CAAE,EAAI,IAAM,KAAK,GAGhC,CACNE,EACA,KAAK,KAAKF,GAAM,EAAIC,GAAM,CAAC,EAC3BvG,GAAeD,CAAG,CACrB,CACA,EACC,OAAQ0G,EAAQ,CAGf,MAAO,CACNA,EAAO,CAAC,EACRA,EAAO,CAAC,EAAI,KAAK,IAAIA,EAAO,CAAC,EAAI,KAAK,GAAK,GAAG,EAC9CA,EAAO,CAAC,EAAI,KAAK,IAAIA,EAAO,CAAC,EAAI,KAAK,GAAK,GAAG,CACjD,CACA,CACA,CAAC,EC1Cc,SAAAE,GAAUlK,EAAOmE,EAAQ,CACvC,CAACnE,EAAOmE,CAAM,EAAIlE,GAAS,CAACD,EAAOmE,CAAM,CAAC,EAK1C,GAAI,CAACgG,EAAKC,EAAKC,CAAG,EAAIL,GAAO,KAAKhK,CAAK,EACnC,CAACsK,EAAKC,EAAKC,CAAG,EAAIR,GAAO,KAAK7F,CAAM,EAIpCsG,EAAKN,EAAMG,EACX/E,EAAK6E,EAAMG,EAGV,OAAO,MAAMF,CAAG,GAAO,OAAO,MAAMG,CAAG,GAE3CH,EAAM,EACNG,EAAM,GAEE,OAAO,MAAMH,CAAG,EAExBA,EAAMG,EAEE,OAAO,MAAMA,CAAG,IACxBA,EAAMH,GAGP,IAAI1E,EAAK0E,EAAMG,EACX5E,EAAK,EAAI,KAAK,KAAKwE,EAAMG,CAAG,EAAI,KAAK,IAAK5E,EAAK,GAAM,KAAK,GAAK,IAAI,EAEvE,OAAO,KAAK,KAAK8E,GAAM,EAAIlF,GAAM,EAAIK,GAAM,CAAC,CAC7C,CCtCA,IAAMiC,GAAK,KAAO,KACZC,GAAK,KAAO,IACZc,GAAK,KAAO,IACZ8B,GAAK,KAAO,MACZC,GAAK,KAAO,GACZC,GAAM,MAAQ,KACdC,GAAM,GAAK,KAIXnE,GAAa,CAClB,CAAG,kBAAqB,kBAAoB,iBAAmB,EAC/D,CAAE,mBAAsB,kBAAqB,iBAAkB,EAC/D,CAAG,kBAAqB,kBAAqB,iBAAkB,CAChE,EAgBMoE,GAAa,CAClB,CAAG,KAAO,KAAQ,KAAO,KAAY,CAAC,EACtC,CAAG,KAAO,KAAM,OAAS,KAAO,KAAO,IAAI,EAC3C,CAAE,MAAQ,KAAM,OAAS,KAAO,KAAO,IAAI,CAC5C,EAGMC,GAAa,CAClB,CAAE,kBAAqB,kBAAqB,gBAAkB,EAC9D,CAAE,kBAAoB,mBAAqB,kBAAmB,EAC9D,CAAE,kBAAqB,kBAAoB,kBAAmB,CAC/D,EAQMpE,GAAa,CAClB,CAAG,mBAAoB,oBAAsB,iBAAkB,EAC/D,CAAG,kBAAqB,kBAAoB,kBAAmB,EAC/D,CAAE,mBAAqB,mBAAsB,kBAAkB,CAChE,EASAqE,GAAe,IAAIzL,EAAW,CAC7B,GAAI,QACJ,KAAM,QAUN,OAAQ,CACP,EAAG,CACF,SAAU,CAAC,EAAG,CAAC,EACf,KAAM,GACT,EACE,GAAI,CACH,SAAU,CAAC,IAAM,EAAG,EACpB,KAAM,IACT,EACE,GAAI,CACH,SAAU,CAAC,IAAM,EAAG,EACpB,KAAM,IACT,CACA,EAEC,KAAMgJ,GACN,SAAUpK,EAAK,CAEd,IAAI6I,EAAM/N,GAAiByN,GAAYvI,CAAG,EAE1C,OAAO8M,GAAWjE,CAAG,CACvB,EACC,OAAQkE,EAAO,CACd,IAAIlE,EAAMmE,GAAWD,CAAK,EAE1B,OAAOjS,GAAiB0N,GAAYK,CAAG,CACzC,CACA,CAAC,EAED,SAASiE,GAAYjE,EAAK,CAGzB,IAAIyC,EAAQzC,EAAI,IAAK,SAAUtK,EAAK,CACnC,IAAIgN,EAAM7B,GAAMC,IAAOpL,EAAM,MAAUgO,GACnCf,EAAQ,EAAKf,IAAOlM,EAAM,MAAUgO,GAExC,OAAQhB,EAAMC,IAAWgB,EAC3B,CAAE,EAGD,OAAO1R,GAAiB6R,GAAYrB,CAAK,CAC1C,CAEA,SAAS0B,GAAYD,EAAO,CAU3B,OATYjS,GAAiB8R,GAAYG,CAAK,EAG9B,IAAK,SAAUxO,EAAK,CACnC,IAAIgN,EAAO,KAAK,IAAKhN,GAAOmO,GAAOhD,GAAI,CAAC,EACpC8B,EAAS7B,GAAMc,GAAMlM,GAAOmO,GAChC,MAAO,MAAUnB,EAAMC,IAAUiB,EACnC,CAAE,CAGF,CC7He,SAAAQ,GAAUpL,EAAOmE,EAAQ,CACvC,CAACnE,EAAOmE,CAAM,EAAIlE,GAAS,CAACD,EAAOmE,CAAM,CAAC,EAO1C,GAAI,CAAEkH,EAAIC,EAAIC,CAAE,EAAKP,GAAM,KAAKhL,CAAK,EACjC,CAAEwL,EAAIC,EAAIC,CAAE,EAAKV,GAAM,KAAK7G,CAAM,EAMtC,MAAO,KAAM,KAAK,MAAMkH,EAAKG,IAAO,EAAK,KAAQF,EAAKG,IAAO,GAAMF,EAAKG,IAAO,CAAC,CACjF,CCjBA,IAAMtL,GAAQtC,GAAO,IACf6N,GAAc,IACdC,GAAiB,EAAID,GACrBE,GAAM,EAAI,KAAK,GAEfC,GAAQ,CACb,CAAG,QAAW,QAAU,QAAS,EACjC,CAAE,SAAY,SAAW,OAAQ,EACjC,CAAE,SAAY,QAAW,OAAQ,CAClC,EAEMC,GAAW,CAChB,CAAC,mBAAoB,oBAAqB,kBAAmB,EAC7D,CAAC,mBAAqB,kBAAoB,oBAAqB,EAC/D,CAAC,qBAAuB,oBAAsB,kBAAkB,CACjE,EAEMrB,GAAK,CACV,CAAC,IAAO,IAAO,GAAK,EACpB,CAAC,IAAO,KAAQ,IAAM,EACtB,CAAC,IAAO,KAAQ,KAAO,CACxB,EAEMsB,GAAc,CACnB,KAAM,CAAC,GAAK,KAAO,EAAG,EACtB,IAAK,CAAC,GAAK,IAAM,EAAG,EACpB,QAAS,CAAC,EAAG,IAAM,CAAC,CACrB,EAEMC,GAAa,CAElB,EAAG,CAAC,MAAO,GAAO,OAAQ,OAAQ,MAAM,EACxC,EAAG,CAAC,GAAK,GAAK,EAAK,IAAK,EAAG,EAC3B,EAAG,CAAC,EAAK,IAAO,IAAO,IAAO,GAAK,CACpC,EAEMC,GAAU,IAAM,KAAK,GACrBC,GAAU,KAAK,GAAK,IAEnB,SAASnO,GAAOS,EAAQ2N,EAAI,CAKlC,OAJa3N,EAAO,IAAI3E,GAAK,CAC5B,IAAMT,EAAIwD,GAAKuP,EAAK,KAAK,IAAItS,CAAC,EAAI,IAAM6R,EAAW,EACnD,MAAO,KAAM/O,GAASvD,EAAGS,CAAC,GAAKT,EAAI,MACrC,CAAE,CAEF,CAEO,SAASgT,GAASC,EAASF,EAAI,CACrC,IAAMG,EAAW,IAAMH,EAAM,OAASR,GACtC,OAAOU,EAAQ,IAAIxS,GAAK,CACvB,IAAM0S,EAAO,KAAK,IAAI1S,CAAC,EACvB,OAAO8C,GAAS2P,EAAW1P,GAAK2P,GAAQ,IAAMA,GAAOZ,EAAc,EAAG9R,CAAC,CACzE,CAAE,CACF,CAEO,SAAS2S,GAAeC,EAAG,CACjC,IAAIC,EAAKjK,GAAUgK,CAAC,EAChBC,GAAMV,GAAW,EAAE,CAAC,IACvBU,GAAM,KAGP,IAAMlT,EAAIyD,GAAW+O,GAAW,EAAGU,CAAE,EAAI,EACnC,CAACvP,EAAIwP,CAAG,EAAIX,GAAW,EAAE,MAAMxS,EAAGA,EAAI,CAAC,EACvC,CAACoT,EAAIC,CAAG,EAAIb,GAAW,EAAE,MAAMxS,EAAGA,EAAI,CAAC,EACvCsT,EAAKd,GAAW,EAAExS,CAAC,EAEnBuT,GAAKL,EAAKvP,GAAMyP,EACtB,OAAOE,EAAM,IAAMC,GAAMA,GAAKJ,EAAMD,GAAMG,EAC3C,CAEO,SAASG,GAAkBC,EAAG,CACpC,IAAIC,GAAOD,EAAI,IAAM,KAAO,IACtBzT,EAAI,KAAK,MAAM,IAAO0T,CAAE,EAC9BA,EAAKA,EAAK,IACV,GAAM,CAAC/P,EAAIwP,CAAG,EAAIX,GAAW,EAAE,MAAMxS,EAAGA,EAAI,CAAC,EACvC,CAACoT,EAAIC,CAAG,EAAIb,GAAW,EAAE,MAAMxS,EAAGA,EAAI,CAAC,EAE7C,OAAOiJ,IACLyK,GAAML,EAAM1P,EAAKyP,EAAKD,GAAO,IAAMxP,EAAK0P,IACxCK,GAAML,EAAMD,GAAM,IAAMC,EAC3B,CACA,CAEO,SAASM,GACfC,EACAC,EACAC,EACAC,EACAC,EACC,CAED,IAAM/P,EAAM,CAAA,EAEZA,EAAI,YAAc+P,EAClB/P,EAAI,SAAW2P,EACf3P,EAAI,SAAW8P,EACf,IAAME,EAAOL,EAAS,IAAIvT,GAClBA,EAAI,GACX,EAGD4D,EAAI,GAAK4P,EAET5P,EAAI,GAAK6P,EAET,IAAMI,EAAKD,EAAK,CAAC,EAGXE,EAAO3U,GAAiB6S,GAAO4B,CAAI,EAGzCF,EAAWxB,GAAYtO,EAAI,QAAQ,EACnC,IAAM8E,EAAIgL,EAAS,CAAC,EACpB9P,EAAI,EAAI8P,EAAS,CAAC,EAClB9P,EAAI,GAAK8P,EAAS,CAAC,EAGnB,IAAMK,GADI,GAAK,EAAInQ,EAAI,GAAK,KACZ,EAGhBA,EAAI,GAAMmQ,EAAKnQ,EAAI,GAAK,IAAO,EAAImQ,IAAO,EAAIA,GAAM,KAAK,KAAK,EAAInQ,EAAI,EAAE,EACxEA,EAAI,OAASA,EAAI,IAAM,IAEvBA,EAAI,EAAIA,EAAI,GAAKiQ,EACjBjQ,EAAI,EAAI,KAAO,KAAK,KAAKA,EAAI,CAAC,EAC9BA,EAAI,IAAM,KAASA,EAAI,GAAK,IAC5BA,EAAI,IAAMA,EAAI,IAId,IAAMT,EAAKwQ,EACV,EACA,KAAK,IACJ,KAAK,IAAIjL,GAAK,EAAI,EAAI,IAAM,KAAK,KAAK,CAAC9E,EAAI,GAAK,IAAM,EAAE,GAAI,CAAC,EAC7D,CACH,EACCA,EAAI,KAAOkQ,EAAK,IAAI9T,GACZ8B,GAAY,EAAG+R,EAAK7T,EAAGmD,CAAC,CAC/B,EACDS,EAAI,QAAUA,EAAI,KAAK,IAAI5D,GACnB,EAAIA,CACX,EAGD,IAAMgU,EAAQF,EAAK,IAAI,CAAC9T,EAAGL,IACnBK,EAAI4D,EAAI,KAAKjE,CAAC,CACrB,EACKsU,EAAQ/P,GAAM8P,EAAOpQ,EAAI,EAAE,EACjC,OAAAA,EAAI,GAAKA,EAAI,KAAO,EAAIqQ,EAAM,CAAC,EAAIA,EAAM,CAAC,EAAI,IAAOA,EAAM,CAAC,GAIrDrQ,CACR,CAGA,IAAMsQ,GAAoBZ,GACzBhN,GACA,GAAK,KAAK,GAAK,GAAK,GACpB,UACA,EACD,EAEO,SAAS6N,GAAWC,EAAOxQ,EAAK,CAItC,GAAI,EAAGwQ,EAAM,IAAM,OAAcA,EAAM,IAAM,QAC5C,MAAM,IAAI,MAAM,kDAAkD,EAGnE,GAAI,EAAGA,EAAM,IAAM,OAAcA,EAAM,IAAM,OAAcA,EAAM,IAAM,QACtE,MAAM,IAAI,MAAM,uDAAuD,EAIxE,GAAI,EAAGA,EAAM,IAAM,OAAcA,EAAM,IAAM,QAC5C,MAAM,IAAI,MAAM,kDAAkD,EAInE,GAAIA,EAAM,IAAM,GAAOA,EAAM,IAAM,EAClC,MAAO,CAAC,EAAK,EAAK,CAAG,EAItB,IAAIC,EAAO,EACPD,EAAM,IAAM,OACfC,EAAOzL,GAAUwL,EAAM,CAAC,EAAI/B,GAG5BgC,EAAOlB,GAAiBiB,EAAM,CAAC,EAAI/B,GAGpC,IAAMiC,EAAO,KAAK,IAAID,CAAI,EACpBE,EAAO,KAAK,IAAIF,CAAI,EAGtBG,EAAQ,EACRJ,EAAM,IAAM,OACfI,EAAQzR,GAAKqR,EAAM,EAAG,EAAI,CAAC,EAAI,GAEvBA,EAAM,IAAM,SACpBI,EAAQ,IAAO5Q,EAAI,EAAIwQ,EAAM,IAAMxQ,EAAI,GAAK,GAAKA,EAAI,SAItD,IAAI4B,EAAQ,EACR4O,EAAM,IAAM,OACf5O,EAAQ4O,EAAM,EAAII,EAEVJ,EAAM,IAAM,OACpB5O,EAAS4O,EAAM,EAAIxQ,EAAI,OAAU4Q,EAEzBJ,EAAM,IAAM,SACpB5O,EAAQ,KAAU4O,EAAM,GAAK,GAAMxQ,EAAI,GAAK,GAAKA,EAAI,GAEtD,IAAMsP,EAAInQ,GACTyC,EAAQ,KAAK,IAAI,KAAO,KAAK,IAAI,IAAM5B,EAAI,CAAC,EAAG,IAAK,EACpD,GAAK,CACP,EAGO6Q,EAAK,KAAQ,KAAK,IAAIJ,EAAO,CAAC,EAAI,KAGlCjV,EAAIwE,EAAI,GAAKb,GAAKyR,EAAO,EAAI5Q,EAAI,EAAIA,EAAI,CAAC,EAG1C8Q,EAAK,IAAM,GAAK9Q,EAAI,GAAKA,EAAI,IAAM6Q,EACnCE,EAAKvV,EAAIwE,EAAI,IACbgR,EACL,IAAMD,EAAK,MACXzR,GAAKgQ,EAAG,GAAKwB,EAAKxB,GAAK,GAAKoB,EAAO,IAAMC,EAAK,EAEzCjL,EAAIsL,EAAIN,EACR/K,EAAIqL,EAAIL,EAGRM,EAAQtC,GACbpT,GAAiByR,GAAI,CAAC+D,EAAIrL,EAAGC,CAAC,CAAC,EAAE,IAAIvJ,GAC7BA,EAAI,EAAI,IACf,EACD4D,EAAI,EACN,EACC,OAAOzE,GACN8S,GACA4C,EAAM,IAAI,CAAC7U,EAAGL,IACNK,EAAI4D,EAAI,QAAQjE,CAAC,CACxB,CACH,EAAG,IAAIK,GACEA,EAAI,GACX,CACF,CAGO,SAAS8U,GAASC,EAAQnR,EAAK,CAErC,IAAMoR,EAASD,EAAO,IAAI/U,GAClBA,EAAI,GACX,EACKiV,EAAO/Q,GACZ/E,GAAiB6S,GAAOgD,CAAM,EAAE,IAAI,CAAChV,EAAGL,IAChCK,EAAI4D,EAAI,KAAKjE,CAAC,CACrB,EACDiE,EAAI,EACN,EAGO0F,EAAI2L,EAAK,CAAC,GAAK,IAAMA,EAAK,CAAC,EAAIA,EAAK,CAAC,GAAK,GAC1C1L,GAAK0L,EAAK,CAAC,EAAIA,EAAK,CAAC,EAAI,EAAIA,EAAK,CAAC,GAAK,EACxCZ,GAAS,KAAK,MAAM9K,EAAGD,CAAC,EAAIyI,GAAOA,IAAOA,GAG1C0C,EAAK,KAAQ,KAAK,IAAIJ,EAAO,CAAC,EAAI,KAElCnB,EACL,IAAM,GAAKtP,EAAI,GAAKA,EAAI,IACxBV,GACCuR,EAAK,KAAK,KAAKnL,GAAK,EAAIC,GAAK,CAAC,EAC9B0L,EAAK,CAAC,EAAIA,EAAK,CAAC,EAAI,KAAOA,EAAK,CAAC,EAAI,IACxC,EAEOzP,EAAQzC,GAAKmQ,EAAG,EAAG,EAAI,KAAK,IAAI,KAAO,KAAK,IAAI,IAAMtP,EAAI,CAAC,EAAG,GAAI,EAGlExE,EAAIwE,EAAI,KAAO,EAAIqR,EAAK,CAAC,EAAIA,EAAK,CAAC,EAAI,IAAOA,EAAK,CAAC,GAEpDT,EAAQzR,GAAK3D,EAAIwE,EAAI,GAAI,GAAMA,EAAI,EAAIA,EAAI,CAAC,EAG5CsR,EAAI,IAAMnS,GAAKyR,EAAO,CAAC,EAGvBW,EAAK,EAAIvR,EAAI,EAAI4Q,GAAS5Q,EAAI,GAAK,GAAKA,EAAI,OAG5CwR,EAAI5P,EAAQgP,EAGZa,EAAID,EAAIxR,EAAI,OAGZgP,EAAIhK,GAAUyL,EAAOjC,EAAO,EAG5BgB,EAAIT,GAAcC,CAAC,EAGnBvL,EAAI,GAAKtE,GAAKa,EAAI,EAAI4B,GAAS5B,EAAI,GAAK,GAAI,EAAI,CAAC,EAIvD,MAAO,CAAC,EAAGsR,EAAG,EAAGE,EAAG,EAAGxC,EAAG,EAAGvL,EAAG,EAAG8N,EAAG,EAAGE,EAAG,EAAGjC,CAAC,CACjD,CASA,IAAAgB,GAAe,IAAI3O,EAAW,CAC7B,GAAI,YACJ,MAAO,cACP,KAAM,YACN,OAAQ,CACP,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,GACT,EACE,EAAG,CACF,SAAU,CAAC,EAAG,GAAK,EACnB,KAAM,cACT,EACE,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,QACN,KAAM,KACT,CACA,EAEC,KAAMgC,GAEN,SAAUI,EAAK,CACd,IAAMuM,EAAQU,GAAQjN,EAAKqM,EAAiB,EAC5C,MAAO,CAACE,EAAM,EAAGA,EAAM,EAAGA,EAAM,CAAC,CACnC,EACC,OAAQA,EAAO,CACd,OAAOD,GACN,CAAC,EAAGC,EAAM,CAAC,EAAG,EAAGA,EAAM,CAAC,EAAG,EAAGA,EAAM,CAAC,CAAC,EACtCF,EACH,CACA,CACA,CAAC,ECnWK5N,GAAQtC,GAAO,IACfoC,GAAI,IAAM,MACVmC,GAAI,MAAQ,GAElB,SAAS+M,GAASC,EAAG,CAIpB,MAAQ,MADIA,EAAInP,GAAK,KAAK,KAAKmP,CAAC,GAAKhN,GAAIgN,EAAI,IAAM,KAC7B,EACvB,CAEA,SAASC,GAAWC,EAAO,CAG1B,OAAQA,EAAQ,EAAM,KAAK,KAAKA,EAAQ,IAAM,IAAK,CAAC,EAAIA,EAAQlN,EACjE,CAEA,SAASmN,GAAS/Q,EAAQf,EAAK,CAS9B,GAAI,CAACgP,EAAG5S,EAAGkT,CAAC,EAAIvO,EACZkD,EAAM,CAAA,EACN8N,EAAI,EAGR,GAAIzC,IAAM,EACT,MAAO,CAAC,EAAK,EAAK,CAAG,EAItB,IAAIqC,EAAIC,GAAUtC,CAAC,EAIfA,EAAI,EACPyC,EAAI,mBAAsBzC,GAAK,EAAI,iBAAoBA,EAAI,kBAG3DyC,EAAI,qBAAwBzC,GAAK,EAAI,mBAAsBA,EAAI,mBAQhE,IAAM0C,EAAY,MACZC,EAAe,GAEjBC,EAAU,EACVlU,EAAO,IAIX,KAAOkU,GAAWD,GAAc,CAC/BhO,EAAMsM,GAAU,CAAC,EAAGwB,EAAG,EAAG3V,EAAG,EAAG4S,CAAC,EAAGhP,CAAG,EAIvC,IAAMmS,EAAQ,KAAK,IAAIlO,EAAI,CAAC,EAAI0N,CAAC,EACjC,GAAIQ,EAAQnU,EAAM,CACjB,GAAImU,GAASH,EACZ,OAAO/N,EAGRjG,EAAOmU,CACV,CAOEJ,EAAIA,GAAK9N,EAAI,CAAC,EAAI0N,GAAKI,GAAK,EAAI9N,EAAI,CAAC,GAErCiO,GAAW,CACb,CAIC,OAAO3B,GAAU,CAAC,EAAGwB,EAAG,EAAG3V,EAAG,EAAG4S,CAAC,EAAGhP,CAAG,CACzC,CAEA,SAASoS,GAAOnO,EAAKjE,EAAK,CAGzB,IAAMsP,EAAIoC,GAAQzN,EAAI,CAAC,CAAC,EACxB,GAAIqL,IAAM,EACT,MAAO,CAAC,EAAK,EAAK,CAAG,EAEtB,IAAMkB,EAAQU,GAAQjN,EAAKqM,EAAiB,EAC5C,MAAO,CAACtL,GAAUwL,EAAM,CAAC,EAAGA,EAAM,EAAGlB,CAAC,CACvC,CAGO,IAAMgB,GAAoBZ,GAChChN,GAAO,IAAM,KAAK,GAAKkP,GAAU,EAAI,EACrCA,GAAU,EAAI,EAAI,IAClB,UACA,EACD,EAWAS,GAAe,IAAIxQ,EAAW,CAC7B,GAAI,MACJ,KAAM,MACN,OAAQ,CACP,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,QACN,KAAM,KACT,EACE,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,cACT,EACE,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,MACT,CACA,EAEC,KAAMgC,GAEN,SAAUI,EAAK,CACd,OAAOmO,GAAMnO,CAAsB,CACrC,EACC,OAAQoO,EAAK,CACZ,OAAOP,GAAQO,EAAK/B,EAAiB,CACvC,EACC,QAAS,CACR,MAAO,CACN,GAAI,QACJ,OAAQ,CAAC,qBAAsB,0BAA2B,yBAAyB,CACtF,CACA,CACA,CAAC,ECvJK7B,GAAU,KAAK,GAAK,IACpB6D,GAAW,CAAC,EAAM,KAAO,KAAM,EAOrC,SAASC,GAAcxR,EAAQ,CAM1BA,EAAO,CAAC,EAAI,IACfA,EAASsR,GAAI,SAASA,GAAI,OAAOtR,CAAM,CAAC,GAMzC,IAAM0Q,EAAI,KAAK,IAAI,KAAK,IAAI,EAAIa,GAAS,CAAC,EAAIvR,EAAO,CAAC,EAAIuP,GAAkB,OAAQ,CAAG,CAAC,EAAIgC,GAAS,CAAC,EAChGE,EAAOzR,EAAO,CAAC,EAAI0N,GACnB/I,EAAI+L,EAAI,KAAK,IAAIe,CAAI,EACrB7M,EAAI8L,EAAI,KAAK,IAAIe,CAAI,EAE3B,MAAO,CAACzR,EAAO,CAAC,EAAG2E,EAAGC,CAAC,CACxB,CASe,SAAA8M,GAAUnQ,EAAOmE,EAAQ,CACvC,CAACnE,EAAOmE,CAAM,EAAIlE,GAAS,CAACD,EAAOmE,CAAM,CAAC,EAE1C,GAAI,CAAEiM,EAAIrN,EAAIyB,CAAE,EAAKyL,GAAaF,GAAI,KAAK/P,CAAK,CAAC,EAC7C,CAAEqQ,EAAIrN,EAAI2B,CAAE,EAAKsL,GAAaF,GAAI,KAAK5L,CAAM,CAAC,EAIlD,OAAO,KAAK,MAAMiM,EAAKC,IAAO,GAAKtN,EAAKC,IAAO,GAAKwB,EAAKG,IAAO,CAAC,CAClE,CChCA,IAAA2L,GAAe,CACd,SAAAvI,GACA,UAAAC,GACA,WAAA9D,GACA,SAAAgG,GACA,UAAAkB,GACA,SAAAnE,GACA,UAAAkJ,EACD,ECNA,SAASI,GAAaC,EAAK,CAG1B,IAAMC,EAAUD,EAAW,KAAK,MAAM,KAAK,MAAM,KAAK,IAAIA,CAAG,CAAC,CAAC,EAAxC,EAEvB,OAAO,KAAK,IAAI,WAAW,KAAKC,EAAQ,CAAC,EAAE,EAAG,IAAI,CACnD,CAEA,IAAMC,GAAa,CAClB,IAAO,CACN,OAAQ,QACR,IAAK,EACL,aAAc,MACd,gBAAiB,CAAA,CACnB,EACC,YAAa,CACZ,OAAQ,QACR,IAAK,EACL,aAAc,MACd,gBAAiB,CAAE,QAAS,QAAS,IAAK,EAAG,IAAK,GAAG,CACvD,CACA,EAsBe,SAASC,GACvB3Q,EACA,CACC,OAAA4Q,EAAShT,GAAS,cAClB,MAAAW,EAAQ,OACR,aAAAsS,EAAe,GACf,IAAAL,EAAM,EACN,gBAAAM,EAAkB,CAAA,CACpB,EAAK,CAAA,EACH,CAiBD,GAhBA9Q,EAAQC,GAASD,CAAK,EAElB+Q,GAAc,UAAU,CAAC,CAAC,EAC7BxS,EAAQ,UAAU,CAAC,EAEVA,IACTA,EAAQyB,EAAM,OAGfzB,EAAQgB,EAAW,IAAIhB,CAAK,EAOxB8I,GAAQrH,EAAOzB,EAAO,CAAE,QAAS,CAAC,CAAE,EACvC,OAAOyB,EAGR,IAAIgR,EACJ,GAAIJ,IAAW,MACdI,EAAaC,GAAWjR,EAAO,CAAE,MAAAzB,CAAK,CAAE,MAEpC,CACJ,GAAIqS,IAAW,QAAU,CAACvJ,GAAQrH,EAAOzB,CAAK,EAAG,CAE5C,OAAO,UAAU,eAAe,KAAKmS,GAAYE,CAAM,IACzD,CAAC,OAAAA,EAAQ,IAAAJ,EAAK,aAAAK,EAAc,gBAAAC,CAAe,EAAIJ,GAAWE,CAAM,GAIlE,IAAIM,EAAKhN,GACT,GAAI2M,IAAiB,IACpB,QAASzX,KAAKkX,GACb,GAAI,SAAWO,EAAa,YAAW,IAAOzX,EAAE,YAAW,EAAI,CAC9D8X,EAAKZ,GAAclX,CAAC,EACpB,KACN,EAIG,IAAI+X,EAAUR,GAAQxU,GAAG6D,EAAOzB,CAAK,EAAG,CAAE,OAAQ,OAAQ,MAAAA,CAAK,CAAE,EACjE,GAAI2S,EAAGlR,EAAOmR,CAAO,EAAIX,EAAK,CAG7B,GAAI,OAAO,KAAKM,CAAe,EAAE,SAAW,EAAG,CAC9C,IAAIM,EAAc7R,EAAW,aAAauR,EAAgB,OAAO,EAC7DO,EAAUxP,GAAI1F,GAAG6D,EAAOoR,EAAY,KAAK,EAAGA,EAAY,EAAE,EAI9D,GAHIE,GAAYD,CAAO,IACtBA,EAAU,GAEPA,GAAWP,EAAgB,IAC9B,OAAO3U,GAAG,CAAE,MAAO,UAAW,OAAQ2B,GAAO,GAAM,EAAIkC,EAAM,KAAK,EAE9D,GAAIqR,GAAWP,EAAgB,IACnC,OAAO3U,GAAG,CAAE,MAAO,UAAW,OAAQ,CAAC,EAAG,EAAG,CAAC,CAAC,EAAI6D,EAAM,KAAK,CAEpE,CAGI,IAAIrB,EAAYY,EAAW,aAAaqR,CAAM,EAC1CW,EAAW5S,EAAU,MACrB6S,EAAU7S,EAAU,GAEpB8S,EAActV,GAAG6D,EAAOuR,CAAQ,EAEpCE,EAAY,OAAO,QAAQ,CAAC3X,EAAGL,IAAM,CAChC6X,GAAYxX,CAAC,IAChB2X,EAAY,OAAOhY,CAAC,EAAI,EAE9B,CAAK,EAED,IAAIgD,GADSkC,EAAU,OAASA,EAAU,UACzB,CAAC,EACduB,EAAIqQ,GAAYC,CAAG,EACnBkB,EAAMjV,EACNkV,EAAO9P,GAAI4P,EAAaD,CAAO,EAEnC,KAAOG,EAAOD,EAAMxR,GAAG,CACtB,IAAIiR,EAAU7J,GAAMmK,CAAW,EAC/BN,EAAUR,GAAQQ,EAAS,CAAE,MAAA5S,EAAO,OAAQ,MAAM,CAAE,EACvC2S,EAAGO,EAAaN,CAAO,EAEvBX,EAAMtQ,EAClBwR,EAAM7P,GAAI4P,EAAaD,CAAO,EAG9BG,EAAO9P,GAAI4P,EAAaD,CAAO,EAGhCvP,GAAIwP,EAAaD,GAAUE,EAAMC,GAAQ,CAAC,CAC/C,CAEIX,EAAa7U,GAAGsV,EAAalT,CAAK,CACtC,MAEIyS,EAAaG,CAEjB,MAEGH,EAAa7U,GAAG6D,EAAOzB,CAAK,EAG7B,GAAIqS,IAAW,QAEX,CAACvJ,GAAQ2J,EAAYzS,EAAO,CAAE,QAAS,CAAC,CAAE,EAC5C,CACD,IAAIqT,EAAS,OAAO,OAAOrT,EAAM,MAAM,EAAE,IAAIzE,GAAKA,EAAE,OAAS,CAAA,CAAE,EAE/DkX,EAAW,OAASA,EAAW,OAAO,IAAI,CAAClX,EAAGL,IAAM,CACnD,GAAI,CAACgD,EAAKE,CAAG,EAAIiV,EAAOnY,CAAC,EAEzB,OAAIgD,IAAQ,SACX3C,EAAI,KAAK,IAAI2C,EAAK3C,CAAC,GAGhB6C,IAAQ,SACX7C,EAAI,KAAK,IAAIA,EAAG6C,CAAG,GAGb7C,CACX,CAAI,CACJ,CACA,CAEC,OAAIyE,IAAUyB,EAAM,QACnBgR,EAAa7U,GAAG6U,EAAYhR,EAAM,KAAK,GAGxCA,EAAM,OAASgR,EAAW,OACnBhR,CACR,CAEA2Q,GAAQ,QAAU,QAKlB,IAAMkB,GAAS,CACd,MAAO,CAAE,MAAO3K,GAAO,OAAQ,CAAC,EAAG,EAAG,CAAC,CAAC,EACxC,MAAO,CAAE,MAAOA,GAAO,OAAQ,CAAC,EAAG,EAAG,CAAC,CAAC,CACzC,EAYO,SAAS+J,GAAYa,EAAQ,CAAC,MAAAvT,CAAK,EAAI,CAAA,EAAI,CAIjDuT,EAAS7R,GAAS6R,CAAM,EAEnBvT,IACJA,EAAQuT,EAAO,OAGhBvT,EAAQgB,EAAW,IAAIhB,CAAK,EAC5B,IAAMwT,EAAaxS,EAAW,IAAI,OAAO,EAEzC,GAAIhB,EAAM,YACT,OAAOpC,GAAG2V,EAAQvT,CAAK,EAGxB,IAAMyT,EAAe7V,GAAG2V,EAAQC,CAAU,EACtC5O,EAAI6O,EAAa,OAAO,CAAC,EAG7B,GAAI7O,GAAK,EAAG,CACX,IAAM/C,EAAQjE,GAAG0V,GAAO,MAAOtT,CAAK,EACpC,OAAA6B,EAAM,MAAQ0R,EAAO,MACd3V,GAAGiE,EAAO7B,CAAK,CACxB,CACC,GAAI4E,GAAK,EAAG,CACX,IAAM8O,EAAQ9V,GAAG0V,GAAO,MAAOtT,CAAK,EACpC,OAAA0T,EAAM,MAAQH,EAAO,MACd3V,GAAG8V,EAAO1T,CAAK,CACxB,CAEC,GAAI8I,GAAQ2K,EAAczT,EAAO,CAAC,QAAS,CAAC,CAAC,EAC5C,OAAOpC,GAAG6V,EAAczT,CAAK,EAG9B,SAAS2T,EAAMC,EAAQ,CACtB,IAAMC,EAAYjW,GAAGgW,EAAQ5T,CAAK,EAC5B8T,EAAc,OAAO,OAAO9T,EAAM,MAAM,EAC9C,OAAA6T,EAAU,OAASA,EAAU,OAAO,IAAI,CAAC7R,EAAOwB,IAAU,CACzD,GAAI,UAAWsQ,EAAYtQ,CAAK,EAAG,CAClC,GAAM,CAACtF,EAAKE,CAAG,EAAK0V,EAAYtQ,CAAK,EAAE,MACvC,OAAOuQ,GAAW7V,EAAK8D,EAAO5D,CAAG,CACrC,CACG,OAAO4D,CACV,CAAG,EACM6R,CACT,CACC,IAAI3V,EAAM,EACNE,EAAMqV,EAAa,OAAO,CAAC,EAC3BO,EAAc,GACdC,EAAUlL,GAAM0K,CAAY,EAC5Bb,EAAUe,EAAKM,CAAO,EAEtBC,EAAIxL,GAASkK,EAASqB,CAAO,EACjC,GAAIC,EAAI,IACP,OAAOtB,EAGR,KAAQxU,EAAMF,EAAO,MAAG,CACvB,IAAMiW,GAAUjW,EAAME,GAAO,EAE7B,GADA6V,EAAQ,OAAO,CAAC,EAAIE,EAChBH,GAAelL,GAAQmL,EAASjU,EAAO,CAAC,QAAS,CAAC,CAAC,EACtD9B,EAAMiW,UAGNvB,EAAUe,EAAKM,CAAO,EACtBC,EAAIxL,GAASkK,EAASqB,CAAO,EACzBC,EAAI,IAAK,CACZ,GAAK,IAAMA,EAAI,KACd,MAGAF,EAAc,GACd9V,EAAMiW,CAEX,MAEI/V,EAAM+V,CAGV,CACC,OAAOvB,CACR,CC1Se,SAAShV,GAAI6D,EAAOzB,EAAO,CAAC,QAAA8I,CAAO,EAAI,CAAA,EAAI,CACzDrH,EAAQC,GAASD,CAAK,EACtBzB,EAAQgB,EAAW,IAAIhB,CAAK,EAE5B,IAAIE,EAASF,EAAM,KAAKyB,CAAK,EACzBnG,EAAM,CAAC,MAAA0E,EAAO,OAAAE,EAAQ,MAAOuB,EAAM,KAAK,EAE5C,OAAIqH,IACHxN,EAAM8W,GAAQ9W,EAAKwN,IAAY,GAAO,OAAYA,CAAO,GAGnDxN,CACR,CAEAsC,GAAG,QAAU,QCXE,SAASwW,GAAW3S,EAAO,CACzC,UAAA3F,EAAYuD,GAAS,UACrB,OAAAY,EAAS,UACV,QAAC6I,EAAU,GACV,GAAGuL,CACJ,EAAI,CAAA,EAAI,CACP,IAAI/Y,EAEJmG,EAAQC,GAASD,CAAK,EAEtB,IAAID,EAAWvB,EACfA,EAASwB,EAAM,MAAM,UAAUxB,CAAM,GAC3BwB,EAAM,MAAM,UAAU,SAAS,GAC/BT,EAAW,eAMrB,IAAId,EAASuB,EAAM,OAAO,MAAK,EAS/B,GAPAqH,IAAY7I,EAAO,QAEf6I,GAAW,CAACwL,GAAa7S,CAAK,IAEjCvB,EAASkS,GAAQrJ,GAAMtH,CAAK,EAAGqH,IAAY,GAAO,OAAYA,CAAO,EAAE,QAGpE7I,EAAO,OAAS,SAGnB,GAFAoU,EAAc,UAAYvY,EAEtBmE,EAAO,UACV3E,EAAM2E,EAAO,UAAUC,EAAQuB,EAAM,MAAO4S,CAAa,MAGzD,OAAM,IAAI,UAAU,UAAU7S,CAAQ,0DAA0D,MAG7F,CAEJ,IAAIxC,EAAOiB,EAAO,MAAQ,QAEtBA,EAAO,gBACVC,EAASD,EAAO,gBAAgBC,EAAQpE,CAAS,EAG7CA,IAAc,OACjBoE,EAASA,EAAO,IAAI3E,GACZgZ,GAAqBhZ,EAAG,CAAC,UAAAO,CAAS,CAAC,CAC1C,GAIH,IAAIe,EAAO,CAAC,GAAGqD,CAAM,EAErB,GAAIlB,IAAS,QAAS,CAErB,IAAIsC,EAAQrB,EAAO,IAAMA,EAAO,MAAM,CAAC,GAAKwB,EAAM,MAAM,GACxD5E,EAAK,QAAQyE,CAAK,CACrB,CAEE,IAAIP,EAAQU,EAAM,MACd3F,IAAc,OACjBiF,EAAQwT,GAAqBxT,EAAO,CAAC,UAAAjF,CAAS,CAAC,GAGhD,IAAI0Y,EAAW/S,EAAM,OAAS,GAAKxB,EAAO,QAAU,GAAK,GAAGA,EAAO,OAAS,IAAM,IAAI,IAAIc,CAAK,GAC/FzF,EAAM,GAAG0D,CAAI,IAAInC,EAAK,KAAKoD,EAAO,OAAS,KAAO,GAAG,CAAC,GAAGuU,CAAQ,GACnE,CAEC,OAAOlZ,CACR,CC/EA,IAAMmZ,GAAU,CACf,CAAE,kBAAoB,mBAAsB,iBAAkB,EAC9D,CAAE,kBAAoB,kBAAsB,kBAAmB,EAC/D,CAAE,EAAoB,oBAAsB,iBAAiB,CAC9D,EAGMC,GAAY,CACjB,CAAG,kBAAoB,kBAAoB,gBAAkB,EAC7D,CAAE,kBAAsB,kBAAoB,iBAAkB,EAC9D,CAAG,iBAAoB,kBAAqB,gBAAiB,CAC9D,EAEAC,GAAe,IAAI1R,GAAc,CAChC,GAAI,iBACJ,MAAO,mBACP,KAAM,kBACN,MAAO,MACR,QAACwR,GACD,UAACC,EACD,CAAC,ECtBKE,GAAI,iBACJC,GAAI,iBAEVC,GAAe,IAAI7R,GAAc,CAChC,GAAI,UACJ,KAAM,WACN,KAAM0R,GAEN,OAAQI,EAAK,CACZ,OAAOA,EAAI,IAAI,SAAU5W,EAAK,CAC7B,OAAIA,EAAM0W,GAAI,IACN1W,EAAM,IAGP,KAAK,KAAKA,EAAMyW,GAAI,GAAKA,GAAG,EAAI,GAAI,CAC9C,CAAG,CACH,EACC,SAAUG,EAAK,CACd,OAAOA,EAAI,IAAI,SAAU5W,EAAK,CAC7B,OAAIA,GAAO0W,GACHD,GAAI,KAAK,IAAIzW,EAAK,GAAI,GAAKyW,GAAI,GAGhC,IAAMzW,CAChB,CAAG,CACH,CACA,CAAC,EC5BKsW,GAAU,CACf,CAAC,kBAAoB,mBAAqB,iBAAkB,EAC5D,CAAC,kBAAoB,kBAAqB,gBAAiB,EAC3D,CAAC,EAAoB,mBAAqB,iBAAiB,CAC5D,EAEMC,GAAY,CACjB,CAAE,kBAAqB,mBAAqB,mBAAoB,EAChE,CAAC,mBAAuB,mBAAqB,mBAAoB,EACjE,CAAE,mBAAqB,oBAAsB,iBAAkB,CAChE,EAEAM,GAAe,IAAI/R,GAAc,CAChC,GAAI,YACJ,MAAO,sBACP,KAAM,YACN,MAAO,MACR,QAACwR,GACD,UAACC,EACD,CAAC,ECZKD,GAAU,CACf,CAAE,mBAAqB,iBAAqB,iBAAkB,EAC9D,CAAE,mBAAqB,iBAAqB,kBAAmB,EAC/D,CAAE,mBAAqB,mBAAqB,iBAAkB,CAC/D,EAIaC,GAAY,CACxB,CAAG,mBAAqB,mBAAsB,kBAAmB,EACjE,CAAE,mBAAuB,mBAAsB,kBAAmB,EAClE,CAAG,mBAAqB,oBAAuB,kBAAkB,CAClE,EAEAO,GAAe,IAAIhS,GAAc,CAChC,GAAI,cACJ,KAAM,cACN,MAAO,MACR,QAACwR,GACD,UAACC,EACD,CAAC,ECrBDQ,GAAe,CACd,UAAa,CAAC,IAAM,IAAK,IAAM,IAAK,CAAC,EACrC,aAAgB,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAChD,KAAQ,CAAC,EAAG,EAAG,CAAC,EAChB,WAAc,CAAC,IAAM,IAAK,EAAG,IAAM,GAAG,EACtC,MAAS,CAAC,IAAM,IAAK,EAAG,CAAC,EACzB,MAAS,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EACzC,OAAU,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EAClC,MAAS,CAAC,EAAG,EAAG,CAAC,EACjB,eAAkB,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EAC1C,KAAQ,CAAC,EAAG,EAAG,CAAC,EAChB,WAAc,CAAC,IAAM,IAAK,GAAK,IAAK,IAAM,GAAG,EAC7C,MAAS,CAAC,IAAM,IAAK,GAAK,IAAK,GAAK,GAAG,EACvC,UAAa,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC7C,UAAa,CAAC,GAAK,IAAK,IAAM,IAAK,IAAM,GAAG,EAC5C,WAAc,CAAC,IAAM,IAAK,EAAG,CAAC,EAC9B,UAAa,CAAC,IAAM,IAAK,IAAM,IAAK,GAAK,GAAG,EAC5C,MAAS,CAAC,EAAG,IAAM,IAAK,GAAK,GAAG,EAChC,eAAkB,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAClD,SAAY,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EACpC,QAAW,CAAC,IAAM,IAAK,GAAK,IAAK,GAAK,GAAG,EACzC,KAAQ,CAAC,EAAG,EAAG,CAAC,EAChB,SAAY,CAAC,EAAG,EAAG,IAAM,GAAG,EAC5B,SAAY,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EACpC,cAAiB,CAAC,IAAM,IAAK,IAAM,IAAK,GAAK,GAAG,EAChD,SAAY,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC5C,UAAa,CAAC,EAAG,IAAM,IAAK,CAAC,EAC7B,SAAY,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC5C,UAAa,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC7C,YAAe,CAAC,IAAM,IAAK,EAAG,IAAM,GAAG,EACvC,eAAkB,CAAC,GAAK,IAAK,IAAM,IAAK,GAAK,GAAG,EAChD,WAAc,CAAC,EAAG,IAAM,IAAK,CAAC,EAC9B,WAAc,CAAC,IAAM,IAAK,GAAK,IAAK,IAAM,GAAG,EAC7C,QAAW,CAAC,IAAM,IAAK,EAAG,CAAC,EAC3B,WAAc,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC9C,aAAgB,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAChD,cAAiB,CAAC,GAAK,IAAK,GAAK,IAAK,IAAM,GAAG,EAC/C,cAAiB,CAAC,GAAK,IAAK,GAAK,IAAK,GAAK,GAAG,EAC9C,cAAiB,CAAC,GAAK,IAAK,GAAK,IAAK,GAAK,GAAG,EAC9C,cAAiB,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EACzC,WAAc,CAAC,IAAM,IAAK,EAAG,IAAM,GAAG,EACtC,SAAY,CAAC,EAAG,GAAK,IAAK,IAAM,GAAG,EACnC,YAAe,CAAC,EAAG,IAAM,IAAK,CAAC,EAC/B,QAAW,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC3C,QAAW,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC3C,WAAc,CAAC,GAAK,IAAK,IAAM,IAAK,CAAC,EACrC,UAAa,CAAC,IAAM,IAAK,GAAK,IAAK,GAAK,GAAG,EAC3C,YAAe,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EACvC,YAAe,CAAC,GAAK,IAAK,IAAM,IAAK,GAAK,GAAG,EAC7C,QAAW,CAAC,EAAG,EAAG,CAAC,EACnB,UAAa,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC7C,WAAc,CAAC,IAAM,IAAK,IAAM,IAAK,CAAC,EACtC,KAAQ,CAAC,EAAG,IAAM,IAAK,CAAC,EACxB,UAAa,CAAC,IAAM,IAAK,IAAM,IAAK,GAAK,GAAG,EAC5C,KAAQ,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EACxC,MAAS,CAAC,EAAG,IAAM,IAAK,CAAC,EACzB,YAAe,CAAC,IAAM,IAAK,EAAG,GAAK,GAAG,EACtC,KAAQ,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EACxC,SAAY,CAAC,IAAM,IAAK,EAAG,IAAM,GAAG,EACpC,QAAW,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EACnC,UAAa,CAAC,IAAM,IAAK,GAAK,IAAK,GAAK,GAAG,EAC3C,OAAU,CAAC,GAAK,IAAK,EAAG,IAAM,GAAG,EACjC,MAAS,CAAC,EAAG,EAAG,IAAM,GAAG,EACzB,MAAS,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EACzC,SAAY,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC5C,cAAiB,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EACzC,UAAa,CAAC,IAAM,IAAK,IAAM,IAAK,CAAC,EACrC,aAAgB,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EACxC,UAAa,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC7C,WAAc,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC9C,UAAa,CAAC,IAAM,IAAK,EAAG,CAAC,EAC7B,qBAAwB,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EACxD,UAAa,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC7C,WAAc,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC9C,UAAa,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC7C,UAAa,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EACrC,YAAe,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EACvC,cAAiB,CAAC,GAAK,IAAK,IAAM,IAAK,IAAM,GAAG,EAChD,aAAgB,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAChD,eAAkB,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAClD,eAAkB,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAClD,eAAkB,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAClD,YAAe,CAAC,EAAG,EAAG,IAAM,GAAG,EAC/B,KAAQ,CAAC,EAAG,EAAG,CAAC,EAChB,UAAa,CAAC,GAAK,IAAK,IAAM,IAAK,GAAK,GAAG,EAC3C,MAAS,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EACzC,QAAW,CAAC,EAAG,EAAG,CAAC,EACnB,OAAU,CAAC,IAAM,IAAK,EAAG,CAAC,EAC1B,iBAAoB,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EACpD,WAAc,CAAC,EAAG,EAAG,IAAM,GAAG,EAC9B,aAAgB,CAAC,IAAM,IAAK,GAAK,IAAK,IAAM,GAAG,EAC/C,aAAgB,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAChD,eAAkB,CAAC,GAAK,IAAK,IAAM,IAAK,IAAM,GAAG,EACjD,gBAAmB,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EACnD,kBAAqB,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EAC7C,gBAAmB,CAAC,GAAK,IAAK,IAAM,IAAK,IAAM,GAAG,EAClD,gBAAmB,CAAC,IAAM,IAAK,GAAK,IAAK,IAAM,GAAG,EAClD,aAAgB,CAAC,GAAK,IAAK,GAAK,IAAK,IAAM,GAAG,EAC9C,UAAa,CAAC,IAAM,IAAK,EAAG,IAAM,GAAG,EACrC,UAAa,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EACrC,SAAY,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EACpC,YAAe,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EACvC,KAAQ,CAAC,EAAG,EAAG,IAAM,GAAG,EACxB,QAAW,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC3C,MAAS,CAAC,IAAM,IAAK,IAAM,IAAK,CAAC,EACjC,UAAa,CAAC,IAAM,IAAK,IAAM,IAAK,GAAK,GAAG,EAC5C,OAAU,CAAC,EAAG,IAAM,IAAK,CAAC,EAC1B,UAAa,CAAC,EAAG,GAAK,IAAK,CAAC,EAC5B,OAAU,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC1C,cAAiB,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EACjD,UAAa,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC7C,cAAiB,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EACjD,cAAiB,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EACjD,WAAc,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EACtC,UAAa,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EACrC,KAAQ,CAAC,IAAM,IAAK,IAAM,IAAK,GAAK,GAAG,EACvC,KAAQ,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EAChC,KAAQ,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EACxC,WAAc,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC9C,OAAU,CAAC,IAAM,IAAK,EAAG,IAAM,GAAG,EAClC,cAAiB,CAAC,IAAM,IAAK,GAAK,IAAK,IAAM,GAAG,EAChD,IAAO,CAAC,EAAG,EAAG,CAAC,EACf,UAAa,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC7C,UAAa,CAAC,GAAK,IAAK,IAAM,IAAK,IAAM,GAAG,EAC5C,YAAe,CAAC,IAAM,IAAK,GAAK,IAAK,GAAK,GAAG,EAC7C,OAAU,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC1C,WAAc,CAAC,IAAM,IAAK,IAAM,IAAK,GAAK,GAAG,EAC7C,SAAY,CAAC,GAAK,IAAK,IAAM,IAAK,GAAK,GAAG,EAC1C,SAAY,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EACpC,OAAU,CAAC,IAAM,IAAK,GAAK,IAAK,GAAK,GAAG,EACxC,OAAU,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC1C,QAAW,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC3C,UAAa,CAAC,IAAM,IAAK,GAAK,IAAK,IAAM,GAAG,EAC5C,UAAa,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC7C,UAAa,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC7C,KAAQ,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EAChC,YAAe,CAAC,EAAG,EAAG,IAAM,GAAG,EAC/B,UAAa,CAAC,GAAK,IAAK,IAAM,IAAK,IAAM,GAAG,EAC5C,IAAO,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EACvC,KAAQ,CAAC,EAAG,IAAM,IAAK,IAAM,GAAG,EAChC,QAAW,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC3C,OAAU,CAAC,EAAG,GAAK,IAAK,GAAK,GAAG,EAChC,UAAa,CAAC,GAAK,IAAK,IAAM,IAAK,IAAM,GAAG,EAC5C,OAAU,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC1C,MAAS,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EACzC,MAAS,CAAC,EAAG,EAAG,CAAC,EACjB,WAAc,CAAC,IAAM,IAAK,IAAM,IAAK,IAAM,GAAG,EAC9C,OAAU,CAAC,EAAG,EAAG,CAAC,EAClB,YAAe,CAAC,IAAM,IAAK,IAAM,IAAK,GAAK,GAAG,CAC/C,ECzJInX,GAAe,MAAM,CAAC,EAAE,KAAK,iCAAiC,EAC9DoX,GAAqB,MAAM,CAAC,EAAE,KAAK,kBAAkB,EAEzDC,GAAe,IAAInS,GAAc,CAChC,GAAI,OACJ,KAAM,OACN,KAAMgS,GACN,SAAU9R,GAIFA,EAAI,IAAIhF,GAAO,CACrB,IAAIkX,EAAOlX,EAAM,EAAI,GAAK,EACtBmX,EAAMnX,EAAMkX,EAEhB,OAAIC,EAAM,SACFD,GAAQ,MAASC,IAAQ,EAAI,KAAQ,MAGtC,MAAQnX,CAClB,CAAG,EAEF,OAAQgF,GAIAA,EAAI,IAAIhF,GAAO,CACrB,IAAIkX,EAAOlX,EAAM,EAAI,GAAK,EACtBmX,EAAMnX,EAAMkX,EAEhB,OAAIC,GAAO,OACHnX,EAAM,MAGPkX,IAAUC,EAAM,MAAS,QAAU,GAC7C,CAAG,EAEF,QAAS,CACR,IAAO,CACN,OAAQvX,EACX,EACE,WAAc,CACb,KAAM,MACN,OAAQ,GACR,OAAQoX,GACR,QAAS,EACZ,EACE,MAAS,CAAA,EACT,KAAQ,CACP,OAAQpX,GACR,OAAQ,GACR,UAAW,EACd,EACE,YAAe,CACd,KAAM,OACN,OAAQ,GACR,OAAQoX,EACX,EACE,IAAO,CACN,KAAM,SACN,QAAS,GACT,KAAM1Z,GAAO,2BAA2B,KAAKA,CAAG,EAChD,MAAOA,EAAK,CACPA,EAAI,QAAU,IAEjBA,EAAMA,EAAI,QAAQ,aAAc,MAAM,GAGvC,IAAI8Z,EAAO,CAAA,EACX,OAAA9Z,EAAI,QAAQ,gBAAiB+Z,GAAa,CACzCD,EAAK,KAAK,SAASC,EAAW,EAAE,EAAI,GAAG,CAC5C,CAAK,EAEM,CACN,QAAS,OACT,OAAQD,EAAK,MAAM,EAAG,CAAC,EACvB,MAAOA,EAAK,MAAM,CAAC,EAAE,CAAC,CAC3B,CACA,EACG,UAAW,CAACrV,EAAQa,EAAO,CAC1B,SAAA0U,EAAW,EACf,EAAO,CAAA,IAAO,CACN1U,EAAQ,GACXb,EAAO,KAAKa,CAAK,EAGlBb,EAASA,EAAO,IAAI3E,GAAK,KAAK,MAAMA,EAAI,GAAG,CAAC,EAE5C,IAAIma,EAAcD,GAAYvV,EAAO,MAAM3E,GAAKA,EAAI,KAAO,CAAC,EAU5D,MAAO,IARG2E,EAAO,IAAI3E,GAChBma,GACKna,EAAI,IAAI,SAAS,EAAE,EAGrBA,EAAE,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CACrC,EAAE,KAAK,EAAE,CAGd,CACA,EACE,QAAW,CACV,KAAM,SACN,KAAME,GAAO,YAAY,KAAKA,CAAG,EACjC,MAAOA,EAAK,CACXA,EAAMA,EAAI,YAAW,EACrB,IAAIH,EAAM,CAAC,QAAS,OAAQ,OAAQ,KAAM,MAAO,CAAC,EAUlD,GARIG,IAAQ,eACXH,EAAI,OAAS4Z,GAAS,MACtB5Z,EAAI,MAAQ,GAGZA,EAAI,OAAS4Z,GAASzZ,CAAG,EAGtBH,EAAI,OACP,OAAOA,CAEZ,CACA,CACA,CACA,CAAC,EC1HDqa,GAAe,IAAI1S,GAAc,CAChC,GAAI,KACJ,MAAO,aACP,KAAM,KACN,KAAM+R,GAEN,SAAUI,GAAK,SACf,OAAQA,GAAK,MACd,CAAC,ECDD/V,GAAS,cAAgB+V,GAEzB,IAAIQ,GAEJ,GAAI,OAAO,IAAQ,KAAe,IAAI,SAErC,QAAS5V,IAAS,CAACkE,GAAK4Q,GAASa,EAAE,EAAG,CACrC,IAAIzV,EAASF,EAAM,aAAY,EAE3BvE,EAAM2Y,GADE,CAAC,MAAApU,EAAO,OAAAE,EAAQ,MAAO,CAAC,CACX,EAEzB,GAAI,IAAI,SAAS,QAASzE,CAAG,EAAG,CAC/B4D,GAAS,cAAgBW,EACzB,KACH,CACA,CAee,SAAS6V,GAASpU,EAAO,CAAC,MAAAzB,EAAQX,GAAS,cAAe,GAAGQ,CAAO,EAAI,CAAA,EAAI,CAC1F,IAAIvE,EAAM8Y,GAAU3S,EAAO5B,CAAO,EAElC,GAAI,OAAO,IAAQ,KAAe,IAAI,SAAS,QAASvE,CAAG,GAAK,CAAC+D,GAAS,cACzE/D,EAAM,IAAI,OAAOA,CAAG,EACpBA,EAAI,MAAQmG,MAER,CAEJ,IAAIqU,EAAgBrU,EAKpB,IAFcA,EAAM,OAAO,KAAKzF,EAAM,GAAKA,GAAOyF,EAAM,KAAK,IAIxD,EAAEmU,KAAiB,IAAI,SAAS,QAAS,mBAAmB,KAE/DE,EAAgB/M,GAAMtH,CAAK,EAC3BqU,EAAc,OAASA,EAAc,OAAO,IAAI5Z,EAAQ,EACxD4Z,EAAc,MAAQ5Z,GAAS4Z,EAAc,KAAK,EAElDxa,EAAM8Y,GAAU0B,EAAejW,CAAO,EAElC,IAAI,SAAS,QAASvE,CAAG,GAE5B,OAAAA,EAAM,IAAI,OAAOA,CAAG,EACpBA,EAAI,MAAQwa,EACLxa,EAOVwa,EAAgBlY,GAAGkY,EAAe9V,CAAK,EACvC1E,EAAM,IAAI,OAAO8Y,GAAU0B,EAAejW,CAAO,CAAC,EAClDvE,EAAI,MAAQwa,CACd,CAEC,OAAOxa,CACR,CChFe,SAASya,GAAQ9M,EAAQC,EAAQ,CAC/C,OAAAD,EAASvH,GAASuH,CAAM,EACxBC,EAASxH,GAASwH,CAAM,EAEjBD,EAAO,QAAUC,EAAO,OACrBD,EAAO,QAAUC,EAAO,OACxBD,EAAO,OAAO,MAAM,CAAC1N,EAAGL,IAAMK,IAAM2N,EAAO,OAAOhO,CAAC,CAAC,CAC/D,CCFO,SAAS8a,GAAcvU,EAAO,CAEpC,OAAO6B,GAAI7B,EAAO,CAACuB,GAAS,GAAG,CAAC,CACjC,CAEO,SAASiT,GAAcxU,EAAOhE,EAAO,CAE3CiG,GAAIjC,EAAO,CAACuB,GAAS,GAAG,EAAGvF,CAAK,CACjC,CAEO,SAASyY,GAAUC,EAAO,CAChC,OAAO,eAAeA,EAAM,UAAW,YAAa,CACnD,KAAO,CACN,OAAOH,GAAa,IAAI,CAC3B,EACE,IAAKvY,EAAO,CACXwY,GAAa,KAAMxY,CAAK,CAC3B,CACA,CAAE,CACF,oFCnBe,SAAS2Y,GAAgBnN,EAAQC,EAAQ,CACvDD,EAASvH,GAASuH,CAAM,EACxBC,EAASxH,GAASwH,CAAM,EAExB,IAAImN,EAAK,KAAK,IAAIL,GAAa/M,CAAM,EAAG,CAAC,EACrCqN,EAAK,KAAK,IAAIN,GAAa9M,CAAM,EAAG,CAAC,EAEzC,OAAIoN,EAAKD,IACR,CAACA,EAAIC,CAAE,EAAI,CAACA,EAAID,CAAE,IAGXA,EAAK,MAAQC,EAAK,IAC3B,CCXA,IAAMC,GAAS,IACTC,GAAU,IACVC,GAAS,IACTC,GAAQ,IAGRC,GAAU,KACVC,GAAU,MACVC,GAAS,GACTC,GAAY,KAIZC,GAAW,KACXC,GAAc,KACdC,GAAW,KAGjB,SAASC,GAAQC,EAAG,CACnB,OAAIA,GAAKR,GACDQ,EAEDA,GAAKR,GAAUQ,IAAMP,EAC7B,CAEA,SAASQ,GAAWjZ,EAAK,CACxB,IAAIkX,EAAOlX,EAAM,EAAI,GAAK,EACtBmX,EAAM,KAAK,IAAInX,CAAG,EACtB,OAAOkX,EAAO,KAAK,IAAIC,EAAK,GAAG,CAChC,CAGe,SAAS+B,GAAcC,EAAYC,EAAY,CAC7DA,EAAa7V,GAAS6V,CAAU,EAChCD,EAAa5V,GAAS4V,CAAU,EAEhC,IAAIE,EACA7G,EACA8G,EAGAC,EAAGlR,EAAG5L,EAEV2c,EAAa3Z,GAAG2Z,EAAY,MAAM,EAKlC,CAACG,EAAGlR,EAAG5L,CAAC,EAAI2c,EAAW,OACvB,IAAII,EAASP,GAAUM,CAAC,EAAI,SAAYN,GAAU5Q,CAAC,EAAI,SAAY4Q,GAAUxc,CAAC,EAAI,QAElF0c,EAAa1Z,GAAG0Z,EAAY,MAAM,EAClC,CAACI,EAAGlR,EAAG5L,CAAC,EAAI0c,EAAW,OACvB,IAAIM,EAAQR,GAAUM,CAAC,EAAI,SAAYN,GAAU5Q,CAAC,EAAI,SAAY4Q,GAAUxc,CAAC,EAAI,QAG7Eid,EAAOX,GAAOS,CAAM,EACpBG,EAAMZ,GAAOU,CAAK,EAGlBG,EAAMD,EAAMD,EAKhB,OAAI,KAAK,IAAIC,EAAMD,CAAI,EAAIf,GAC1BnG,EAAI,EAGAoH,GAEHP,EAAIM,GAAOvB,GAASsB,GAAQrB,GAC5B7F,EAAI6G,EAAIT,KAIRS,EAAIM,GAAOpB,GAAQmB,GAAQpB,GAC3B9F,EAAI6G,EAAIP,IAGN,KAAK,IAAItG,CAAC,EAAIkG,GACjBY,EAAO,EAEC9G,EAAI,EAGZ8G,EAAO9G,EAAIqG,GAGXS,EAAO9G,EAAIqG,GAGLS,EAAO,GACf,CC7Fe,SAASO,GAAmB/O,EAAQC,EAAQ,CAC1DD,EAASvH,GAASuH,CAAM,EACxBC,EAASxH,GAASwH,CAAM,EAExB,IAAImN,EAAK,KAAK,IAAIL,GAAa/M,CAAM,EAAG,CAAC,EACrCqN,EAAK,KAAK,IAAIN,GAAa9M,CAAM,EAAG,CAAC,EAErCoN,EAAKD,IACR,CAACA,EAAIC,CAAE,EAAI,CAACA,EAAID,CAAE,GAGnB,IAAIjL,EAASiL,EAAKC,EAClB,OAAOlL,IAAU,EAAI,GAAKiL,EAAKC,GAAMlL,CACtC,CCTA,IAAMhN,GAAM,IAEG,SAAS6Z,GAAehP,EAAQC,EAAQ,CACtDD,EAASvH,GAASuH,CAAM,EACxBC,EAASxH,GAASwH,CAAM,EAExB,IAAImN,EAAK,KAAK,IAAIL,GAAa/M,CAAM,EAAG,CAAC,EACrCqN,EAAK,KAAK,IAAIN,GAAa9M,CAAM,EAAG,CAAC,EAEzC,OAAIoN,EAAKD,IACR,CAACA,EAAIC,CAAE,EAAI,CAACA,EAAID,CAAE,GAGZC,IAAO,EAAIlY,IAAOiY,EAAKC,GAAMA,CACrC,CClBe,SAAS4B,GAAejP,EAAQC,EAAQ,CACtDD,EAASvH,GAASuH,CAAM,EACxBC,EAASxH,GAASwH,CAAM,EAExB,IAAIlD,EAAK1C,GAAI2F,EAAQ,CAAClF,GAAK,GAAG,CAAC,EAC3BoC,EAAK7C,GAAI4F,EAAQ,CAACnF,GAAK,GAAG,CAAC,EAE/B,OAAO,KAAK,IAAIiC,EAAKG,CAAE,CACxB,CCXA,IAAMxE,GAAI,IAAM,MACVkC,GAAK,GAAK,IACVC,GAAI,MAAQ,GAEdjC,GAAQtC,GAAO,IAEnB4Y,GAAe,IAAInX,EAAW,CAC7B,GAAI,UACJ,KAAM,UACN,OAAQ,CACP,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,WACT,EACE,EAAG,CACF,SAAU,CAAC,KAAM,GAAG,CACvB,EACE,EAAG,CACF,SAAU,CAAC,KAAM,GAAG,CACvB,CACA,EAIA,MAACa,GAEA,KAAMmB,GAGN,SAAUpD,EAAK,CAKd,IAAIqE,EAHMrE,EAAI,IAAI,CAACnC,EAAOvC,IAAMuC,EAAQoE,GAAM3G,CAAC,CAAC,EAGpC,IAAIuC,GAASA,EAAQkE,GAAI,KAAK,KAAKlE,CAAK,GAAKqG,GAAIrG,EAAQ,IAAM,GAAG,EAE9E,MAAO,CACL,IAAMwG,EAAE,CAAC,EAAK,GACf,KAAOA,EAAE,CAAC,EAAIA,EAAE,CAAC,GACjB,KAAOA,EAAE,CAAC,EAAIA,EAAE,CAAC,EACpB,CACA,EAIC,OAAQC,EAAK,CAEZ,IAAID,EAAI,CAAA,EACR,OAAAA,EAAE,CAAC,GAAKC,EAAI,CAAC,EAAI,IAAM,IACvBD,EAAE,CAAC,EAAIC,EAAI,CAAC,EAAI,IAAMD,EAAE,CAAC,EACzBA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIC,EAAI,CAAC,EAAI,IAGb,CACTD,EAAE,CAAC,EAAMJ,GAAK,KAAK,IAAII,EAAE,CAAC,EAAG,CAAC,GAAoB,IAAMA,EAAE,CAAC,EAAI,IAAMH,GACrEI,EAAI,CAAC,EAAI,EAAK,KAAK,KAAKA,EAAI,CAAC,EAAI,IAAM,IAAK,CAAC,EAAIA,EAAI,CAAC,EAAIJ,GAC1DG,EAAE,CAAC,EAAMJ,GAAK,KAAK,IAAII,EAAE,CAAC,EAAG,CAAC,GAAoB,IAAMA,EAAE,CAAC,EAAI,IAAMH,EACxE,EAGa,IAAI,CAACrG,EAAOvC,IAAMuC,EAAQoE,GAAM3G,CAAC,CAAC,CAC/C,EAEC,QAAS,CACR,UAAW,CACV,OAAQ,CAAC,0BAA2B,gCAAiC,+BAA+B,CACvG,CACA,CACA,CAAC,EC/DKkd,GAAM,KAAK,IAAI,EAAG,EAAG,EAAI,GAAM,GAEtB,SAASC,GAAkBpP,EAAQC,EAAQ,CACzDD,EAASvH,GAASuH,CAAM,EACxBC,EAASxH,GAASwH,CAAM,EAExB,IAAIoP,EAAQhV,GAAI2F,EAAQ,CAACkP,GAAS,GAAG,CAAC,EAClCI,EAAQjV,GAAI4F,EAAQ,CAACiP,GAAS,GAAG,CAAC,EAElCK,EAAe,KAAK,IAAI,KAAK,IAAIF,EAAOF,EAAG,EAAI,KAAK,IAAIG,EAAOH,EAAG,CAAC,EAEnEK,EAAW,KAAK,IAAID,EAAe,EAAIJ,EAAG,EAAK,KAAK,MAAQ,GAEhE,OAAQK,EAAW,IAAO,EAAMA,CACjC,qJCnBe,SAASA,GAAUnB,EAAYC,EAAY5b,EAAI,CAAA,EAAI,CAC7DH,GAASG,CAAC,IACbA,EAAI,CAAC,UAAWA,CAAC,GAGlB,GAAI,CAAC,UAAA+c,EAAW,GAAGC,CAAI,EAAIhd,EAE3B,GAAI,CAAC+c,EAAW,CACf,IAAIE,EAAa,OAAO,KAAKC,EAAkB,EAAE,IAAIhU,GAAKA,EAAE,QAAQ,YAAa,EAAE,CAAC,EAAE,KAAK,IAAI,EAC/F,MAAM,IAAI,UAAU,0EAA0E+T,CAAU,EAAE,CAC5G,CAECtB,EAAa5V,GAAS4V,CAAU,EAChCC,EAAa7V,GAAS6V,CAAU,EAEhC,QAAS1S,KAAKgU,GACb,GAAI,WAAaH,EAAU,YAAW,IAAO7T,EAAE,YAAW,EACzD,OAAOgU,GAAmBhU,CAAC,EAAEyS,EAAYC,EAAYoB,CAAI,EAI3D,MAAM,IAAI,UAAU,+BAA+BD,CAAS,EAAE,CAC/D,CCvBO,SAASI,GAAIrX,EAAO,CAE1B,GAAI,CAACsX,EAAG5B,EAAG6B,CAAC,EAAI3V,GAAO5B,EAAOuB,EAAO,EACjCoI,EAAQ2N,EAAI,GAAK5B,EAAI,EAAI6B,EAC7B,MAAO,CAAC,EAAID,EAAI3N,EAAO,EAAI+L,EAAI/L,CAAK,CACrC,CAEO,SAAS6N,GAAIxX,EAAO,CAE1B,GAAI,CAACsX,EAAG5B,EAAG6B,CAAC,EAAI3V,GAAO5B,EAAOuB,EAAO,EAChCkW,EAAMH,EAAI5B,EAAI6B,EACnB,MAAO,CAACD,EAAIG,EAAK/B,EAAI+B,CAAG,CACzB,CAEO,SAAShD,GAAUC,EAAO,CAGhC,OAAO,eAAeA,EAAM,UAAW,KAAM,CAC5C,KAAO,CACN,OAAO2C,GAAG,IAAI,CACjB,CACA,CAAE,EAED,OAAO,eAAe3C,EAAM,UAAW,KAAM,CAC5C,KAAO,CACN,OAAO8C,GAAG,IAAI,CACjB,CACA,CAAE,CACF,gEC5Be,SAASE,GAAQ7P,EAAIC,EAAI5N,EAAI,CAAA,EAAI,CAC3CH,GAASG,CAAC,IACbA,EAAI,CAAC,OAAQA,CAAC,GAGf,GAAI,CAAC,OAAA0W,EAAShT,GAAS,OAAQ,GAAGsZ,CAAI,EAAIhd,EAE1C,QAASd,KAAKkX,GACb,GAAI,SAAWM,EAAO,YAAW,IAAOxX,EAAE,YAAW,EACpD,OAAOkX,GAAclX,CAAC,EAAEyO,EAAIC,EAAIoP,CAAI,EAItC,MAAM,IAAI,UAAU,0BAA0BtG,CAAM,EAAE,CACvD,CCfO,SAAS+G,GAAS3X,EAAO4X,EAAS,IAAK,CAE7C,IAAIC,EAAY,CADJtY,EAAW,IAAI,QAAS,KAAK,EACjB,GAAG,EAC3B,OAAO0C,GAAIjC,EAAO6X,EAAW5P,GAAKA,GAAK,EAAI2P,EAAO,CACnD,CAEO,SAASE,GAAQ9X,EAAO4X,EAAS,IAAK,CAE5C,IAAIC,EAAY,CADJtY,EAAW,IAAI,QAAS,KAAK,EACjB,GAAG,EAC3B,OAAO0C,GAAIjC,EAAO6X,EAAW5P,GAAKA,GAAK,EAAI2P,EAAO,CACnD,6DCaO,SAASG,GAAKlQ,EAAIC,EAAIxO,EAAI,GAAIY,EAAI,CAAA,EAAI,CAC5C,OAAC2N,EAAIC,CAAE,EAAI,CAAC7H,GAAS4H,CAAE,EAAG5H,GAAS6H,CAAE,CAAC,EAElC7N,GAAKX,CAAC,IAAM,WACf,CAACA,EAAGY,CAAC,EAAI,CAAC,GAAIZ,CAAC,GAGRiD,GAAMsL,EAAIC,EAAI5N,CAAC,EACdZ,CAAC,CACX,CASO,SAAS0e,GAAOnQ,EAAIC,EAAI1J,EAAU,CAAA,EAAI,CAC5C,IAAI6Z,EAEAC,GAAQrQ,CAAE,IAEb,CAACoQ,EAAY7Z,CAAO,EAAI,CAACyJ,EAAIC,CAAE,EAC/B,CAACD,EAAIC,CAAE,EAAImQ,EAAW,UAAU,QAGjC,GAAI,CACH,UAAAE,EAAW,aAAAtH,EACX,MAAAmH,EAAQ,EAAG,SAAAI,EAAW,IACtB,GAAGC,CACL,EAAKja,EAEC6Z,IACJ,CAACpQ,EAAIC,CAAE,EAAI,CAAC7H,GAAS4H,CAAE,EAAG5H,GAAS6H,CAAE,CAAC,EACtCmQ,EAAa1b,GAAMsL,EAAIC,EAAIuQ,CAAY,GAGxC,IAAIC,EAAaZ,GAAO7P,EAAIC,CAAE,EAC1ByQ,EAAcJ,EAAY,EAAI,KAAK,IAAIH,EAAO,KAAK,KAAKM,EAAaH,CAAS,EAAI,CAAC,EAAIH,EACvFne,EAAM,CAAA,EAMV,GAJIue,IAAa,SAChBG,EAAc,KAAK,IAAIA,EAAaH,CAAQ,GAGzCG,IAAgB,EACnB1e,EAAM,CAAC,CAAC,EAAG,GAAI,MAAOoe,EAAW,EAAE,CAAC,CAAC,MAEjC,CACJ,IAAIO,EAAO,GAAKD,EAAc,GAC9B1e,EAAM,MAAM,KAAK,CAAC,OAAQ0e,CAAW,EAAG,CAAC/e,EAAGC,IAAM,CACjD,IAAIH,EAAIG,EAAI+e,EACZ,MAAO,CAAC,EAAAlf,EAAG,MAAO2e,EAAW3e,CAAC,CAAC,CAClC,CAAG,CACH,CAEC,GAAI6e,EAAY,EAAG,CAElB,IAAIM,EAAW5e,EAAI,OAAO,CAAC+N,EAAK8Q,EAAKjf,IAAM,CAC1C,GAAIA,IAAM,EACT,MAAO,GAGR,IAAIkf,EAAKjB,GAAOgB,EAAI,MAAO7e,EAAIJ,EAAI,CAAC,EAAE,MAAOoX,CAAY,EACzD,OAAO,KAAK,IAAIjJ,EAAK+Q,CAAE,CAC1B,EAAK,CAAC,EAEJ,KAAOF,EAAWN,GAAW,CAG5BM,EAAW,EAEX,QAAShf,EAAI,EAAIA,EAAII,EAAI,QAAYA,EAAI,OAASue,EAAW3e,IAAK,CACjE,IAAImf,EAAO/e,EAAIJ,EAAI,CAAC,EAChBif,EAAM7e,EAAIJ,CAAC,EAEXH,GAAKof,EAAI,EAAIE,EAAK,GAAK,EACvB5Y,EAAQiY,EAAW3e,CAAC,EACxBmf,EAAW,KAAK,IAAIA,EAAUf,GAAO1X,EAAO4Y,EAAK,KAAK,EAAGlB,GAAO1X,EAAO0Y,EAAI,KAAK,CAAC,EACjF7e,EAAI,OAAOJ,EAAG,EAAG,CAAC,EAAAH,EAAG,MAAO2e,EAAW3e,CAAC,CAAC,CAAC,EAC1CG,GACJ,CACA,CACA,CAEC,OAAAI,EAAMA,EAAI,IAAIuJ,GAAKA,EAAE,KAAK,EAEnBvJ,CACR,CASO,SAAS0C,GAAOiL,EAAQC,EAAQrJ,EAAU,CAAA,EAAI,CACpD,GAAI8Z,GAAQ1Q,CAAM,EAAG,CAEpB,GAAI,CAACkH,EAAGtQ,CAAO,EAAI,CAACoJ,EAAQC,CAAM,EAElC,OAAOlL,GAAM,GAAGmS,EAAE,UAAU,OAAQ,CAAC,GAAGA,EAAE,UAAU,QAAS,GAAGtQ,CAAO,CAAC,CAC1E,CAEC,GAAI,CAAC,MAAAG,EAAO,YAAAsa,EAAa,YAAAC,EAAa,cAAAC,CAAa,EAAI3a,EAEvDoJ,EAASvH,GAASuH,CAAM,EACxBC,EAASxH,GAASwH,CAAM,EAGxBD,EAASF,GAAME,CAAM,EACrBC,EAASH,GAAMG,CAAM,EAErB,IAAIuR,EAAY,CAAC,OAAQ,CAACxR,EAAQC,CAAM,EAAG,QAAArJ,CAAO,EAoBlD,GAlBIG,EACHA,EAAQgB,EAAW,IAAIhB,CAAK,EAG5BA,EAAQgB,EAAW,SAAS3B,GAAS,kBAAkB,GAAK4J,EAAO,MAGpEqR,EAAcA,EAActZ,EAAW,IAAIsZ,CAAW,EAAIta,EAE1DiJ,EAASrL,GAAGqL,EAAQjJ,CAAK,EACzBkJ,EAAStL,GAAGsL,EAAQlJ,CAAK,EAGzBiJ,EAASmJ,GAAQnJ,CAAM,EACvBC,EAASkJ,GAAQlJ,CAAM,EAInBlJ,EAAM,OAAO,GAAKA,EAAM,OAAO,EAAE,OAAS,QAAS,CACtD,IAAIsE,EAAMzE,EAAQ,IAAMA,EAAQ,KAAO,UAEnCkF,EAAM,CAAC/E,EAAO,GAAG,EACjB,CAAC0a,EAAIC,CAAE,EAAI,CAACrX,GAAI2F,EAAQlE,CAAG,EAAGzB,GAAI4F,EAAQnE,CAAG,CAAC,EAI9C,MAAM2V,CAAE,GAAK,CAAC,MAAMC,CAAE,EACzBD,EAAKC,EAEG,MAAMA,CAAE,GAAK,CAAC,MAAMD,CAAE,IAC9BC,EAAKD,GAEN,CAACA,EAAIC,CAAE,EAAIC,GAActW,EAAK,CAACoW,EAAIC,CAAE,CAAC,EACtCjX,GAAIuF,EAAQlE,EAAK2V,CAAE,EACnBhX,GAAIwF,EAAQnE,EAAK4V,CAAE,CACrB,CAEC,OAAIH,IAEHvR,EAAO,OAASA,EAAO,OAAO,IAAI1N,GAAKA,EAAI0N,EAAO,KAAK,EACvDC,EAAO,OAASA,EAAO,OAAO,IAAI3N,GAAKA,EAAI2N,EAAO,KAAK,GAGjD,OAAO,OAAOnO,GAAK,CACzBA,EAAIwf,EAAcA,EAAYxf,CAAC,EAAIA,EACnC,IAAImF,EAAS+I,EAAO,OAAO,IAAI,CAAC3L,EAAOpC,IAAM,CAC5C,IAAIqC,EAAM2L,EAAO,OAAOhO,CAAC,EACzB,OAAOmC,GAAYC,EAAOC,EAAKxC,CAAC,CACnC,CAAG,EAEGgG,EAAQ1D,GAAY4L,EAAO,MAAOC,EAAO,MAAOnO,CAAC,EACjDO,EAAM,CAAC,MAAA0E,EAAO,OAAAE,EAAQ,MAAAa,CAAK,EAE/B,OAAIyZ,IAEHlf,EAAI,OAASA,EAAI,OAAO,IAAIC,GAAKA,EAAIwF,CAAK,GAGvCuZ,IAAgBta,IACnB1E,EAAMsC,GAAGtC,EAAKgf,CAAW,GAGnBhf,CACT,EAAI,CACF,UAAAmf,CACF,CAAE,CACF,CAEO,SAASd,GAASxb,EAAK,CAC7B,OAAOzC,GAAKyC,CAAG,IAAM,YAAc,CAAC,CAACA,EAAI,SAC1C,CAEAkB,GAAS,mBAAqB,MAEvB,SAAS6W,GAAUC,EAAO,CAChCA,EAAM,eAAe,MAAOqD,GAAK,CAAC,QAAS,OAAO,CAAC,EACnDrD,EAAM,eAAe,QAASnY,GAAO,CAAC,QAAS,iBAAiB,CAAC,EACjEmY,EAAM,eAAe,QAASsD,GAAO,CAAC,QAAS,cAAc,CAAC,CAC/D,wFC1NAoB,GAAe,IAAI7Z,EAAW,CAC7B,GAAI,MACJ,KAAM,MACN,OAAQ,CACP,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,QACN,KAAM,KACT,EACE,EAAG,CACF,MAAO,CAAC,EAAG,GAAG,EACd,KAAM,YACT,EACE,EAAG,CACF,MAAO,CAAC,EAAG,GAAG,EACd,KAAM,WACT,CACA,EAEC,KAAMoU,GAGN,SAAUjS,GAAO,CAChB,IAAI/E,EAAM,KAAK,IAAI,GAAG+E,CAAG,EACrBjF,EAAM,KAAK,IAAI,GAAGiF,CAAG,EACrB,CAACgN,EAAGhG,EAAGrF,CAAC,EAAI3B,EACZ,CAACgL,EAAG,EAAGzE,CAAC,EAAI,CAAC,IAAK,GAAIxL,EAAME,GAAO,CAAC,EACpCM,EAAIN,EAAMF,EAEd,GAAIQ,IAAM,EAAG,CAGZ,OAFA,EAAKgL,IAAM,GAAKA,IAAM,EAAK,GAAKtL,EAAMsL,GAAK,KAAK,IAAIA,EAAG,EAAIA,CAAC,EAEpDtL,EAAG,CACV,KAAK+R,EAAGhC,GAAKhE,EAAIrF,GAAKpG,GAAKyL,EAAIrF,EAAI,EAAI,GAAI,MAC3C,KAAKqF,EAAGgE,GAAKrJ,EAAIqL,GAAKzR,EAAI,EAAG,MAC7B,KAAKoG,EAAGqJ,GAAKgC,EAAIhG,GAAKzL,EAAI,CAC9B,CAEGyP,EAAIA,EAAI,EACX,CAKE,OAAI,EAAI,IACPA,GAAK,IACL,EAAI,KAAK,IAAI,CAAC,GAGXA,GAAK,MACRA,GAAK,KAGC,CAACA,EAAG,EAAI,IAAKzE,EAAI,GAAG,CAC7B,EAGC,OAAQoR,GAAO,CACd,GAAI,CAAC3M,EAAGvL,EAAG8G,CAAC,EAAIoR,EAChB3M,EAAIA,EAAI,IAEJA,EAAI,IACPA,GAAK,KAGNvL,GAAK,IACL8G,GAAK,IAEL,SAASzF,EAAGpI,EAAG,CACd,IAAIkf,GAAKlf,EAAIsS,EAAI,IAAM,GACnBtJ,EAAIjC,EAAI,KAAK,IAAI8G,EAAG,EAAIA,CAAC,EAC7B,OAAOA,EAAI7E,EAAI,KAAK,IAAI,GAAI,KAAK,IAAIkW,EAAI,EAAG,EAAIA,EAAG,CAAC,CAAC,CACxD,CAEE,MAAO,CAAC9W,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,CAC1B,EAEC,QAAS,CACR,IAAO,CACN,OAAQ,CAAC,qBAAsB,eAAgB,cAAc,CAChE,EACE,KAAQ,CACP,OAAQ,CAAC,qBAAsB,eAAgB,cAAc,EAC7D,OAAQ,GACR,UAAW,EACd,CACA,CACA,CAAC,EClFD+W,GAAe,IAAIha,EAAW,CAC7B,GAAI,MACJ,KAAM,MACN,OAAQ,CACP,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,QACN,KAAM,KACT,EACE,EAAG,CACF,MAAO,CAAC,EAAG,GAAG,EACd,KAAM,YACT,EACE,EAAG,CACF,MAAO,CAAC,EAAG,GAAG,EACd,KAAM,OACT,CACA,EAEC,KAAM6Z,GAEN,SAAUC,EAAK,CACd,GAAI,CAAC3M,EAAGvL,EAAG8G,CAAC,EAAIoR,EAChBlY,GAAK,IACL8G,GAAK,IAEL,IAAIO,EAAIP,EAAI9G,EAAI,KAAK,IAAI8G,EAAG,EAAIA,CAAC,EAEjC,MAAO,CACNyE,EACAlE,IAAM,EAAI,EAAI,KAAO,EAAIP,EAAIO,GAC7B,IAAMA,CACT,CACA,EAEC,OAAQgR,EAAK,CACZ,GAAI,CAAC9M,EAAGvL,EAAGqH,CAAC,EAAIgR,EAEhBrY,GAAK,IACLqH,GAAK,IAEL,IAAIP,EAAIO,GAAK,EAAIrH,EAAI,GAErB,MAAO,CACNuL,EACCzE,IAAM,GAAKA,IAAM,EAAK,GAAMO,EAAIP,GAAK,KAAK,IAAIA,EAAG,EAAIA,CAAC,EAAK,IAC5DA,EAAI,GACP,CACA,EAEC,QAAS,CACR,MAAO,CACN,GAAI,QACJ,OAAQ,CAAC,qBAAsB,0BAA2B,yBAAyB,CACtF,CACA,CACA,CAAC,ECxDDwR,GAAe,IAAIla,EAAW,CAC7B,GAAI,MACJ,KAAM,MACN,OAAQ,CACP,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,QACN,KAAM,KACT,EACE,EAAG,CACF,MAAO,CAAC,EAAG,GAAG,EACd,KAAM,WACT,EACE,EAAG,CACF,MAAO,CAAC,EAAG,GAAG,EACd,KAAM,WACT,CACA,EAEC,KAAMga,GACN,SAAUC,EAAK,CACd,GAAI,CAAC9M,EAAGvL,EAAGqH,CAAC,EAAIgR,EAEhB,MAAO,CAAC9M,EAAGlE,GAAK,IAAMrH,GAAK,IAAK,IAAMqH,CAAC,CACzC,EACC,OAAQiR,EAAK,CACZ,GAAI,CAAC/M,EAAGgN,EAAGrW,CAAC,EAAIoW,EAGhBC,GAAK,IACLrW,GAAK,IAGL,IAAIoU,EAAMiC,EAAIrW,EACd,GAAIoU,GAAO,EAAG,CACb,IAAIkC,EAAOD,EAAIjC,EACf,MAAO,CAAC/K,EAAG,EAAGiN,EAAO,GAAG,CAC3B,CAEE,IAAInR,EAAK,EAAInF,EACTlC,EAAKqH,IAAM,EAAK,EAAI,EAAIkR,EAAIlR,EAChC,MAAO,CAACkE,EAAGvL,EAAI,IAAKqH,EAAI,GAAG,CAC7B,EAEC,QAAS,CACR,IAAO,CACN,OAAQ,CAAC,qBAAsB,0BAA2B,yBAAyB,CACtF,CACA,CACA,CAAC,ECjDKwK,GAAU,CACf,CAAE,kBAAsB,kBAAsB,iBAAkB,EAChE,CAAE,mBAAsB,kBAAsB,kBAAmB,EACjE,CAAE,mBAAsB,mBAAsB,iBAAkB,CACjE,EAEMC,GAAY,CACjB,CAAG,mBAAuB,mBAAuB,mBAAoB,EACrE,CAAE,mBAAyB,mBAAuB,kBAAmB,EACrE,CAAG,oBAAuB,oBAAwB,kBAAkB,CACrE,EAEA2G,GAAe,IAAIpY,GAAc,CAChC,GAAI,gBACJ,MAAO,mBACP,KAAM,qCACN,MAAO,MACR,QAACwR,GACD,UAACC,EACD,CAAC,ECxBD4G,GAAe,IAAIrY,GAAc,CAChC,GAAI,SACJ,MAAO,UACP,KAAM,8BACN,KAAMoY,GACN,OAAQtG,GAAOA,EAAI,IAAI5W,GAAO,KAAK,IAAI,KAAK,IAAIA,CAAG,EAAG,IAAM,GAAG,EAAI,KAAK,KAAKA,CAAG,CAAC,EACjF,SAAU4W,GAAOA,EAAI,IAAI5W,GAAO,KAAK,IAAI,KAAK,IAAIA,CAAG,EAAG,IAAM,GAAG,EAAI,KAAK,KAAKA,CAAG,CAAC,CACpF,CAAC,ECHKsW,GAAU,CACf,CAAE,kBAAsB,mBAAsB,iBAAmB,EACjE,CAAE,kBAAsB,iBAAsB,iBAAmB,EACjE,CAAE,EAAsB,EAAsB,iBAAmB,CAClE,EAEMC,GAAY,CACjB,CAAG,mBAAqB,oBAAsB,mBAAoB,EAClE,CAAE,mBAAuB,mBAAsB,kBAAmB,EAClE,CAAG,EAAsB,EAAsB,kBAAmB,CACnE,EAEA6G,GAAe,IAAItY,GAAc,CAChC,GAAI,kBACJ,MAAO,wBACP,KAAM,kBACN,MAAO,MACP,KAAMW,GACP,QAAC6Q,GACD,UAACC,EACD,CAAC,ECxBK8G,GAAK,EAAI,IACTC,GAAM,GAAK,IAEjBC,GAAe,IAAIzY,GAAc,CAChC,GAAI,WACJ,MAAO,eACP,KAAM,WACN,KAAMsY,GACN,OAAQxG,EAAK,CAEZ,OAAOA,EAAI,IAAI9K,GAAKA,EAAIwR,GAAMxR,EAAI,GAAKA,GAAK,GAAG,CACjD,EACC,SAAU8K,EAAK,CACd,OAAOA,EAAI,IAAI9K,GAAKA,GAAKuR,GAAKvR,IAAM,EAAI,KAAO,GAAKA,CAAC,CACvD,CACA,CAAC,ECdD0R,GAAe,IAAI3a,EAAW,CAC7B,GAAI,QACJ,KAAM,QACN,OAAQ,CACP,EAAG,CACF,SAAU,CAAC,EAAG,CAAC,EACf,KAAM,WACT,EACE,EAAG,CACF,SAAU,CAAC,EAAG,EAAG,EACjB,KAAM,QACT,EACE,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,QACN,KAAM,KACT,CACA,EACC,MAAO,MAEP,KAAMuH,GACN,SAAUI,EAAO,CAEhB,GAAI,CAAC/D,EAAGC,EAAGC,CAAC,EAAI6D,EACZwF,EACExM,EAAI,KAEV,OAAI,KAAK,IAAIkD,CAAC,EAAIlD,GAAK,KAAK,IAAImD,CAAC,EAAInD,EACpCwM,EAAI,IAGJA,EAAI,KAAK,MAAMrJ,EAAGD,CAAC,EAAI,IAAM,KAAK,GAG5B,CACND,EACA,KAAK,KAAKC,GAAK,EAAIC,GAAK,CAAC,EACzBE,GAAemJ,CAAC,CACnB,CACA,EAEC,OAAQwN,EAAO,CACd,GAAI,CAAC/W,EAAG+L,EAAGxC,CAAC,EAAIwN,EACZ9W,EAAGC,EAGP,OAAI,MAAMqJ,CAAC,GACVtJ,EAAI,EACJC,EAAI,IAGJD,EAAI8L,EAAI,KAAK,IAAIxC,EAAI,KAAK,GAAK,GAAG,EAClCrJ,EAAI6L,EAAI,KAAK,IAAIxC,EAAI,KAAK,GAAK,GAAG,GAG5B,CAAEvJ,EAAGC,EAAGC,CAAC,CAClB,EAEC,QAAS,CACR,MAAS,CACR,OAAQ,CAAC,0BAA2B,+BAAgC,oBAAoB,CAC3F,CACA,CACA,CAAC,EC7DGjD,GAAQtC,GAAO,IAEboC,GAAI,IAAM,MACVmC,GAAI,MAAQ,GACZ,CAAC8X,GAAeC,EAAa,EAAI/C,GAAG,CAAC,MAAO9V,GAAS,OAAQnB,EAAK,CAAC,EAEzEia,GAAe,IAAI9a,EAAW,CAC7B,GAAI,MACJ,KAAM,MACN,OAAQ,CACP,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,WACT,EAEE,EAAG,CACF,SAAU,CAAC,KAAM,GAAG,CACvB,EACE,EAAG,CACF,SAAU,CAAC,KAAM,GAAG,CACvB,CACA,EAEC,MAAOa,GACP,KAAMmB,GAIN,SAAUpD,EAAK,CACd,IAAIwD,EAAM,CAAClH,GAAS0D,EAAI,CAAC,CAAC,EAAG1D,GAAS0D,EAAI,CAAC,CAAC,EAAG1D,GAAS0D,EAAI,CAAC,CAAC,CAAC,EAC3DkR,EAAI1N,EAAI,CAAC,EAET,CAAC2Y,EAAIC,CAAE,EAAIlD,GAAG,CAAC,MAAO9V,GAAS,OAAQI,CAAG,CAAC,EAG/C,GAAI,CAAC,OAAO,SAAS2Y,CAAE,GAAK,CAAC,OAAO,SAASC,CAAE,EAC9C,MAAO,CAAC,EAAG,EAAG,CAAC,EAGhB,IAAIpX,EAAIkM,GAAKnP,GAAImC,GAAIgN,EAAI,IAAM,KAAK,KAAKA,CAAC,EAAI,GAC9C,MAAO,CACNlM,EACA,GAAKA,GAAKmX,EAAKH,IACf,GAAKhX,GAAKoX,EAAKH,GAClB,CACA,EAIC,OAAQC,EAAK,CACZ,GAAI,CAAClX,EAAGqX,EAAGhS,CAAC,EAAI6R,EAGhB,GAAIlX,IAAM,GAAK5I,GAAO4I,CAAC,EACtB,MAAO,CAAC,EAAG,EAAG,CAAC,EAGhBqX,EAAI/f,GAAS+f,CAAC,EACdhS,EAAI/N,GAAS+N,CAAC,EAEd,IAAI8R,EAAME,GAAK,GAAKrX,GAAMgX,GACtBI,EAAM/R,GAAK,GAAKrF,GAAMiX,GAEtB/K,EAAIlM,GAAK,EAAIA,EAAId,GAAI,KAAK,KAAKc,EAAI,IAAM,IAAK,CAAC,EAEnD,MAAO,CACNkM,GAAM,EAAIiL,GAAO,EAAIC,IACrBlL,EACAA,IAAM,GAAK,EAAIiL,EAAK,GAAKC,IAAO,EAAIA,GACvC,CACA,EAEC,QAAS,CACR,MAAO,CACN,GAAI,QACJ,OAAQ,CAAC,0BAA2B,gCAAiC,+BAA+B,CACvG,CACA,CACA,CAAC,EChFDE,GAAe,IAAIlb,EAAW,CAC7B,GAAI,QACJ,KAAM,QACN,OAAQ,CACP,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,WACT,EACE,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,QACT,EACE,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,QACN,KAAM,KACT,CACA,EAEC,KAAM8a,GACN,SAAUA,EAAK,CAEd,GAAI,CAAClX,EAAGqX,EAAGhS,CAAC,EAAI6R,EACZ/W,EACEpD,EAAI,IAEV,OAAI,KAAK,IAAIsa,CAAC,EAAIta,GAAK,KAAK,IAAIsI,CAAC,EAAItI,EACpCoD,EAAM,IAGNA,EAAM,KAAK,MAAMkF,EAAGgS,CAAC,EAAI,IAAM,KAAK,GAG9B,CACNrX,EACA,KAAK,KAAKqX,GAAK,EAAIhS,GAAK,CAAC,EACzBjF,GAAeD,CAAG,CACrB,CACA,EACC,OAAQE,EAAK,CAEZ,GAAI,CAACC,EAAWC,EAAQC,CAAG,EAAIH,EAE/B,OAAIE,EAAS,IACZA,EAAS,GAGN,MAAMC,CAAG,IACZA,EAAM,GAEA,CACNF,EACAC,EAAS,KAAK,IAAIC,EAAM,KAAK,GAAK,GAAG,EACrCD,EAAS,KAAK,IAAIC,EAAM,KAAK,GAAK,GAAG,CACxC,CACA,EAEC,QAAS,CACR,MAAO,CACN,GAAI,UACJ,OAAQ,CAAC,0BAA2B,0BAA2B,oBAAoB,CACtF,CACA,CACA,CAAC,ECrCKzD,GAAI,IAAM,MACVmC,GAAI,MAAQ,GAEZqY,GAAOzH,GAAU,CAAC,EAAE,CAAC,EACrB0H,GAAO1H,GAAU,CAAC,EAAE,CAAC,EACrB2H,GAAO3H,GAAU,CAAC,EAAE,CAAC,EACrB4H,GAAO5H,GAAU,CAAC,EAAE,CAAC,EACrB6H,GAAO7H,GAAU,CAAC,EAAE,CAAC,EACrB8H,GAAO9H,GAAU,CAAC,EAAE,CAAC,EACrB+H,GAAO/H,GAAU,CAAC,EAAE,CAAC,EACrBgI,GAAOhI,GAAU,CAAC,EAAE,CAAC,EACrBiI,GAAOjI,GAAU,CAAC,EAAE,CAAC,EAE3B,SAASkI,GAAyBC,EAAOC,EAAW1Y,EAAO,CAC1D,IAAM1F,EAAIoe,GAAa,KAAK,IAAI1Y,CAAK,EAAIyY,EAAQ,KAAK,IAAIzY,CAAK,GAC/D,OAAO1F,EAAI,EAAI,IAAWA,CAC3B,CAEO,SAASqe,GAAwBrT,EAAG,CAC1C,IAAMsT,EAAO,KAAK,IAAItT,EAAI,GAAI,CAAC,EAAI,QAC7BuT,EAAOD,EAAOrb,GAAIqb,EAAOtT,EAAI5F,GAC7BoZ,EAAMD,GAAQ,OAASd,GAAO,MAAQE,IACtCc,EAAMF,GAAQ,OAASZ,GAAO,OAASD,GAAO,OAASD,IACvDiB,EAAMH,GAAQ,OAASZ,GAAO,OAASD,IACvCiB,EAAMJ,GAAQ,OAASX,GAAO,MAAQE,IACtCc,EAAML,GAAQ,OAAST,GAAO,OAASD,GAAO,OAASD,IACvDiB,EAAMN,GAAQ,OAAST,GAAO,OAASD,IACvCiB,EAAMP,GAAQ,OAASR,GAAO,MAAQE,IACtCc,EAAMR,GAAQ,OAASN,GAAO,OAASD,GAAO,OAASD,IACvDiB,EAAMT,GAAQ,OAASN,GAAO,OAASD,IAE7C,MAAO,CACN,IAAKQ,EAAME,EACX,IAAKD,EAAMzT,EAAI0T,EACf,IAAKF,GAAOE,EAAM,QAClB,KAAMD,EAAM,QAAUzT,GAAK0T,EAAM,QACjC,IAAKC,EAAME,EACX,IAAKD,EAAM5T,EAAI6T,EACf,IAAKF,GAAOE,EAAM,QAClB,KAAMD,EAAM,QAAU5T,GAAK6T,EAAM,QACjC,IAAKC,EAAME,EACX,IAAKD,EAAM/T,EAAIgU,EACf,IAAKF,GAAOE,EAAM,QAClB,KAAMD,EAAM,QAAU/T,GAAKgU,EAAM,OACnC,CACA,CAEA,SAASC,GAAoBC,EAAOzP,EAAG,CACtC,IAAM0P,EAAS1P,EAAI,IAAM,KAAK,GAAK,EAC7B2P,EAAKlB,GAAwBgB,EAAM,IAAKA,EAAM,IAAKC,CAAM,EACzDE,EAAKnB,GAAwBgB,EAAM,IAAKA,EAAM,IAAKC,CAAM,EACzDG,EAAKpB,GAAwBgB,EAAM,IAAKA,EAAM,IAAKC,CAAM,EACzDI,EAAKrB,GAAwBgB,EAAM,IAAKA,EAAM,IAAKC,CAAM,EACzDK,EAAKtB,GAAwBgB,EAAM,IAAKA,EAAM,IAAKC,CAAM,EACzD5X,EAAK2W,GAAwBgB,EAAM,IAAKA,EAAM,IAAKC,CAAM,EAE/D,OAAO,KAAK,IAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIjY,CAAE,CACvC,CAEA,IAAAkY,GAAe,IAAInd,EAAW,CAC7B,GAAI,QACJ,KAAM,QACN,OAAQ,CACP,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,QACN,KAAM,KACT,EACE,EAAG,CACF,MAAO,CAAC,EAAG,GAAG,EACd,KAAM,YACT,EACE,EAAG,CACF,MAAO,CAAC,EAAG,GAAG,EACd,KAAM,WACT,CACA,EAEC,KAAMkb,GACN,WAAY9G,GAGZ,SAAUzQ,EAAK,CACd,GAAI,CAAC+E,EAAGnO,EAAG4S,CAAC,EAAI,CAACjS,GAASyI,EAAI,CAAC,CAAC,EAAGzI,GAASyI,EAAI,CAAC,CAAC,EAAGzI,GAASyI,EAAI,CAAC,CAAC,CAAC,EACjE/B,EAEJ,GAAI8G,EAAI,WACP9G,EAAI,EACJ8G,EAAI,YAEIA,EAAI,KACZ9G,EAAI,EACJ8G,EAAI,MAEA,CACJ,IAAIkU,EAAQb,GAAuBrT,CAAC,EAChCtL,EAAMuf,GAAmBC,EAAOzP,CAAC,EACrCvL,EAAIrH,EAAI6C,EAAM,GACjB,CAEE,MAAO,CAAC+P,EAAGvL,EAAG8G,CAAC,CACjB,EAGC,OAAQoR,EAAK,CACZ,GAAI,CAAC3M,EAAGvL,EAAG8G,CAAC,EAAI,CAACxN,GAAS4e,EAAI,CAAC,CAAC,EAAG5e,GAAS4e,EAAI,CAAC,CAAC,EAAG5e,GAAS4e,EAAI,CAAC,CAAC,CAAC,EACjEvf,EAEJ,GAAImO,EAAI,WACPA,EAAI,IACJnO,EAAI,UAEImO,EAAI,KACZA,EAAI,EACJnO,EAAI,MAEA,CACJ,IAAIqiB,EAAQb,GAAuBrT,CAAC,EAEpCnO,EADUoiB,GAAmBC,EAAOzP,CAAC,EAC3B,IAAMvL,CACnB,CAEE,MAAO,CAAC8G,EAAGnO,EAAG4S,CAAC,CACjB,EAEC,QAAS,CACR,MAAO,CACN,GAAI,UACJ,OAAQ,CAAC,qBAAsB,0BAA2B,yBAAyB,CACtF,CACA,CACA,CAAC,EChIYuG,GAAU,CAAC,EAAE,CAAC,EACdA,GAAU,CAAC,EAAE,CAAC,EACdA,GAAU,CAAC,EAAE,CAAC,EACdA,GAAU,CAAC,EAAE,CAAC,EACdA,GAAU,CAAC,EAAE,CAAC,EACdA,GAAU,CAAC,EAAE,CAAC,EACdA,GAAU,CAAC,EAAE,CAAC,EACdA,GAAU,CAAC,EAAE,CAAC,EACdA,GAAU,CAAC,EAAE,CAAC,EAE3B,SAAS0J,GAAoBvB,EAAOC,EAAW,CAC9C,OAAO,KAAK,IAAIA,CAAS,EAAI,KAAK,KAAK,KAAK,IAAID,EAAO,CAAC,EAAI,CAAC,CAC9D,CAEA,SAASwB,GAAoBT,EAAO,CACnC,IAAIE,EAAKM,GAAmBR,EAAM,IAAKA,EAAM,GAAG,EAC5CG,EAAKK,GAAmBR,EAAM,IAAKA,EAAM,GAAG,EAC5CI,EAAKI,GAAmBR,EAAM,IAAKA,EAAM,GAAG,EAC5CK,EAAKG,GAAmBR,EAAM,IAAKA,EAAM,GAAG,EAC5CM,EAAKE,GAAmBR,EAAM,IAAKA,EAAM,GAAG,EAC5C3X,EAAKmY,GAAmBR,EAAM,IAAKA,EAAM,GAAG,EAEhD,OAAO,KAAK,IAAIE,EAAIC,EAAIC,EAAIC,EAAIC,EAAIjY,CAAE,CACvC,CAEA,IAAAqY,GAAe,IAAItd,EAAW,CAC7B,GAAI,QACJ,KAAM,QACN,OAAQ,CACP,EAAG,CACF,SAAU,CAAC,EAAG,GAAG,EACjB,KAAM,QACN,KAAM,KACT,EACE,EAAG,CACF,MAAO,CAAC,EAAG,GAAG,EACd,KAAM,YACT,EACE,EAAG,CACF,MAAO,CAAC,EAAG,GAAG,EACd,KAAM,WACT,CACA,EAEC,KAAMkb,GACN,WAAY,OAGZ,SAAUvX,EAAK,CACd,GAAI,CAAC+E,EAAGnO,EAAG4S,CAAC,EAAI,CAACjS,GAASyI,EAAI,CAAC,CAAC,EAAGzI,GAASyI,EAAI,CAAC,CAAC,EAAGzI,GAASyI,EAAI,CAAC,CAAC,CAAC,EACjE/B,EAEJ,GAAI8G,EAAI,WACP9G,EAAI,EACJ8G,EAAI,YAEIA,EAAI,KACZ9G,EAAI,EACJ8G,EAAI,MAEA,CACJ,IAAIkU,EAAQb,GAAuBrT,CAAC,EAChCtL,EAAMigB,GAAmBT,CAAK,EAClChb,EAAIrH,EAAI6C,EAAM,GACjB,CACE,MAAO,CAAC+P,EAAGvL,EAAG8G,CAAC,CACjB,EAGC,OAAQoR,EAAK,CACZ,GAAI,CAAC3M,EAAGvL,EAAG8G,CAAC,EAAI,CAACxN,GAAS4e,EAAI,CAAC,CAAC,EAAG5e,GAAS4e,EAAI,CAAC,CAAC,EAAG5e,GAAS4e,EAAI,CAAC,CAAC,CAAC,EACjEvf,EAEJ,GAAImO,EAAI,WACPA,EAAI,IACJnO,EAAI,UAEImO,EAAI,KACZA,EAAI,EACJnO,EAAI,MAEA,CACJ,IAAIqiB,EAAQb,GAAuBrT,CAAC,EAEpCnO,EADU8iB,GAAmBT,CAAQ,EAC3B,IAAMhb,CACnB,CAEE,MAAO,CAAC8G,EAAGnO,EAAG4S,CAAC,CACjB,EAEC,QAAS,CACR,MAAO,CACN,GAAI,UACJ,OAAQ,CAAC,qBAAsB,0BAA2B,yBAAyB,CACtF,CACA,CACA,CAAC,EC9HKpE,GAAK,IACLlO,GAAI,KAAQ,GAAK,GACjBuO,GAAQ,GAAK,GAAM,KACnBvP,GAAI,KAAQ,GAAK,EACjB0jB,GAAQ,GAAK,EAAK,KAClBjV,GAAK,KAAQ,GAAK,GAClBC,GAAK,KAAQ,GAAK,EAClBc,GAAK,KAAQ,GAAK,EAExBmU,GAAe,IAAIvb,GAAc,CAChC,GAAI,YACJ,MAAO,aACP,KAAM,cACN,KAAM0R,GACN,OAAQI,EAAK,CAGZ,OAAOA,EAAI,IAAI,SAAU5W,EAAK,CAE7B,OADU,KAAK,IAAMA,GAAOogB,GAAQjV,GAAK,CAAC,GAAKC,GAAMc,GAAMlM,GAAOogB,MAAYnU,GAClE,IAAQL,EACvB,CAAG,CACH,EACC,SAAUgL,EAAK,CAGd,OAAOA,EAAI,IAAI,SAAU5W,EAAK,CAC7B,IAAIrD,EAAI,KAAK,IAAIqD,EAAM4L,GAAK,IAAO,CAAC,EAChCoB,EAAO7B,GAAMC,GAAMzO,GAAKe,GACxBuP,EAAS,EAAKf,GAAMvP,GAAKe,GAE7B,OAASsP,EAAMC,IAAWvQ,EAC7B,CAAG,CACH,CACA,CAAC,EC/BKgK,GAAI,UACJC,GAAI,UACJvJ,GAAI,UAEJkjB,GAAQ,OAEdC,GAAe,IAAIzb,GAAc,CAChC,GAAI,aACJ,MAAO,cACP,KAAM,eACN,SAAU,QAEV,KAAM0R,GACN,OAAQI,EAAK,CAGZ,OAAOA,EAAI,IAAI,SAAU5W,EAAK,CAK7B,OAAIA,GAAO,GACFA,GAAO,EAAK,EAAIsgB,IAEhB,KAAK,KAAKtgB,EAAM5C,IAAKsJ,EAAC,EAAIC,IAAK,GAAM2Z,EACjD,CAAG,CACH,EACC,SAAU1J,EAAK,CAId,OAAOA,EAAI,IAAI,SAAU5W,EAAK,CAM7B,OAJAA,GAAOsgB,GAIHtgB,GAAO,EAAI,GACP,KAAK,KAAK,EAAIA,CAAG,EAElB0G,GAAI,KAAK,IAAI,GAAK1G,EAAM2G,EAAC,EAAIvJ,EACvC,CAAG,CACH,CACA,CAAC,EC5CYojB,GAAO,CAAA,EAEpBvf,GAAM,IAAI,6BAA8BD,GAAO,CAC1CA,EAAI,QAAQ,SACfA,EAAI,EAAIM,GAAMN,EAAI,GAAIA,EAAI,GAAIA,EAAI,QAAQ,MAAM,EAElD,CAAC,EAEDC,GAAM,IAAI,2BAA4BD,GAAO,CACvCA,EAAI,IACRA,EAAI,EAAIM,GAAMN,EAAI,GAAIA,EAAI,GAAIA,EAAI,QAAQ,MAAM,EAElD,CAAC,EAEM,SAASyf,GAAW,CAAC,GAAAze,EAAI,SAAA0e,EAAU,WAAAC,CAAU,EAAG,CAEtDH,GAAKxe,CAAE,EAAI,UAAU,CAAC,CACvB,CAEO,SAASV,GAAOC,EAAIC,EAAIQ,EAAK,WAAY,CAK/C,IAAIkS,EAASsM,GAAKxe,CAAE,EAEhB,CAAC4e,EAAIC,EAAIC,CAAE,EAAIvkB,GAAiB2X,EAAO,SAAU3S,CAAE,EACnD,CAACwf,EAAIC,EAAIC,CAAE,EAAI1kB,GAAiB2X,EAAO,SAAU1S,CAAE,EAGnD8e,EAAQ,CACX,CAACS,EAAKH,EAAK,EAAU,CAAC,EACtB,CAAC,EAAUI,EAAKH,EAAK,CAAC,EACtB,CAAC,EAAU,EAAUI,EAAKH,CAAE,CAC9B,EAGKI,EAAgB3kB,GAAiB+jB,EAAOpM,EAAO,QAAQ,EAG3D,OAFc3X,GAAiB2X,EAAO,WAAYgN,CAAa,CAGhE,CAEAT,GAAU,CACT,GAAI,YACJ,SAAU,CACT,CAAG,OAAY,MAAW,OAAU,EACpC,CAAE,OAAa,QAAY,KAAS,EACpC,CAAG,EAAY,EAAY,MAAS,CACtC,EACC,WAAY,CACX,CAAE,mBAAoB,oBAAuB,kBAAmB,EAChE,CAAE,kBAAqB,kBAAqB,qBAAwB,EACpE,CAAE,EAAqB,EAAsB,kBAAkB,CACjE,CACA,CAAC,EAEDA,GAAU,CACT,GAAI,WAGJ,SAAU,CACT,CAAG,MAAY,MAAW,MAAU,EACpC,CAAE,OAAa,OAAY,KAAS,EACpC,CAAG,MAAW,OAAa,MAAS,CACtC,EAEC,WAAY,CACX,CAAG,kBAAoB,oBAAsB,kBAAmB,EAChE,CAAG,kBAAqB,kBAAqB,mBAAoB,EACjE,CAAE,oBAAsB,mBAAqB,eAAgB,CAC/D,CACA,CAAC,EAEDA,GAAU,CACT,GAAI,QAEJ,SAAU,CACT,CAAG,MAAY,MAAW,MAAU,EACpC,CAAE,OAAa,OAAY,KAAS,EACpC,CAAG,KAAY,MAAY,KAAS,CACtC,EACC,WAAY,CACX,CAAG,mBAAsB,oBAAsB,kBAAmB,EAClE,CAAG,kBAAuB,kBAAqB,kBAAmB,EAClE,CAAE,qBAAuB,oBAAsB,kBAAkB,CACnE,CACA,CAAC,EAEDA,GAAU,CACT,GAAI,QACJ,SAAU,CACT,CAAG,QAAW,QAAU,QAAS,EACjC,CAAE,SAAY,SAAW,OAAQ,EACjC,CAAE,SAAY,QAAW,OAAQ,CACnC,EAEC,WAAY,CACX,CAAG,kBAAqB,oBAAsB,kBAAmB,EACjE,CAAG,kBAAsB,kBAAoB,oBAAqB,EAClE,CAAE,oBAAsB,oBAAsB,kBAAkB,CAClE,CACA,CAAC,EAED,OAAO,OAAOrf,GAAQ,CAIrB,EAAK,CAAC,OAAS,EAAS,MAAO,EAG/B,EAAK,CAAC,OAAS,EAAU,OAAO,EAKhC,IAAK,CAAC,OAAS,EAAS,MAAO,EAC/B,IAAK,CAAC,OAAS,EAAS,OAAO,EAG/B,EAAK,CAAC,EAAS,EAAS,CAAO,EAG/B,GAAK,CAAC,OAAS,EAAS,MAAO,EAC/B,GAAK,CAAC,OAAS,EAAS,OAAO,EAC/B,IAAK,CAAC,QAAS,EAAS,KAAO,CAChC,CAAC,EC1HDA,GAAO,KAAO,CAAC,OAAU,OAAS,GAAU,EAAU,OAAU,QAAW,MAAO,EAGlF,IAAMkV,GAAU,CACf,CAAG,kBAAsB,mBAAsB,iBAAkB,EACjE,CAAG,mBAAsB,kBAAsB,kBAAmB,EAClE,CAAE,qBAAuB,oBAAsB,kBAAkB,CAClE,EACMC,GAAY,CACjB,CAAG,mBAAsB,iBAAsB,mBAAoB,EACnE,CAAE,mBAAwB,mBAAsB,mBAAoB,EACpE,CAAG,oBAAsB,qBAAuB,iBAAkB,CACnE,EAEA4K,GAAe,IAAIrc,GAAc,CAChC,GAAI,SACJ,MAAO,WACP,KAAM,SAKN,OAAQ,CACP,EAAG,CACF,MAAO,CAAC,EAAG,KAAK,EAChB,KAAM,KACT,EACE,EAAG,CACF,MAAO,CAAC,EAAG,KAAK,EAChB,KAAM,OACT,EACE,EAAG,CACF,MAAO,CAAC,EAAG,KAAK,EAChB,KAAM,MACT,CACA,EAEC,SAAU,QAEV,MAAO1D,GAAO,KAEd,QAAAkV,GACA,UAAAC,EACD,CAAC,EC/CK/S,GAAI,GAAK,IAIT4d,GAAmB,WAGnBC,IAAe,KAAK,KAAK,KAAK,EAAI,MAAQ,MAEhDC,GAAe,IAAIxc,GAAc,CAChC,GAAI,SACJ,MAAO,WACP,KAAM,SASN,OAAQ,CACP,EAAG,CACF,MAAO,CAACsc,GAAkBC,EAAW,EACrC,KAAM,KACT,EACE,EAAG,CACF,MAAO,CAACD,GAAkBC,EAAW,EACrC,KAAM,OACT,EACE,EAAG,CACF,MAAO,CAACD,GAAkBC,EAAW,EACrC,KAAM,MACT,CACA,EACC,SAAU,QAEV,KAAMF,GAEN,OAAQvK,EAAK,CACZ,IAAM5B,EAAO,mBAEb,OAAO4B,EAAI,IAAI,SAAU5W,EAAK,CAC7B,OAAIA,GAAOgV,GACF,IAAOhV,EAAM,MAAS,MAAQwD,IAAK,EAEnCxD,EAAMqhB,GACP,IAAOrhB,EAAM,MAAS,MAGtB,KAEX,CAAG,CACH,EAGC,SAAU4W,EAAK,CACd,OAAOA,EAAI,IAAI,SAAU5W,EAAK,CAC7B,OAAIA,GAAO,GACF,KAAK,KAAKwD,EAAC,EAAI,MAAQ,MAEvBxD,EAAMwD,IACL,KAAK,KAAKA,GAAIxD,EAAM,EAAG,EAAI,MAAQ,OAGnC,KAAK,KAAKA,CAAG,EAAI,MAAQ,KAEtC,CAAG,CACH,CAGA,CAAC,mZC/CoBgY,GAAN,MAAMuJ,CAAM,CAU1B,eAAgB7iB,EAAM,CACrB,IAAI4E,EAEA5E,EAAK,SAAW,IACnB4E,EAAQC,GAAS7E,EAAK,CAAC,CAAC,GAGzB,IAAImD,EAAOE,EAAQa,EAEfU,GACHzB,EAAQyB,EAAM,OAASA,EAAM,QAC7BvB,EAASuB,EAAM,OACfV,EAAQU,EAAM,OAId,CAACzB,EAAOE,EAAQa,CAAK,EAAIlE,EAG1B,OAAO,eAAe,KAAM,QAAS,CACpC,MAAOmE,EAAW,IAAIhB,CAAK,EAC3B,SAAU,GACV,WAAY,GACZ,aAAc,EACjB,CAAG,EAED,KAAK,OAASE,EAASA,EAAO,MAAK,EAAK,CAAC,EAAG,EAAG,CAAC,EAGhD,KAAK,MAAQa,EAAQ,GAAKA,IAAU,OAAY,EAAKA,EAAQ,EAAI,EAAIA,EAGrE,QAAS7F,EAAI,EAAGA,EAAI,KAAK,OAAO,OAAQA,IACnC,KAAK,OAAOA,CAAC,IAAM,QACtB,KAAK,OAAOA,CAAC,EAAI,KAKnB,QAASiF,KAAM,KAAK,MAAM,OACzB,OAAO,eAAe,KAAMA,EAAI,CAC/B,IAAK,IAAM,KAAK,IAAIA,CAAE,EACtB,IAAK1C,GAAS,KAAK,IAAI0C,EAAI1C,CAAK,CACpC,CAAI,CAEJ,CAEC,IAAI,SAAW,CACd,OAAO,KAAK,MAAM,EACpB,CAEC,OAAS,CACR,OAAO,IAAIiiB,EAAM,KAAK,MAAO,KAAK,OAAQ,KAAK,KAAK,CACtD,CAEC,QAAU,CACT,MAAO,CACN,QAAS,KAAK,QACd,OAAQ,KAAK,OACb,MAAO,KAAK,KACf,CACA,CAEC,WAAY7iB,EAAM,CACjB,IAAIvB,EAAMua,GAAQ,KAAM,GAAGhZ,CAAI,EAG/B,OAAAvB,EAAI,MAAQ,IAAIokB,EAAMpkB,EAAI,KAAK,EAExBA,CACT,CAMC,OAAO,IAAKmG,KAAU5E,EAAM,CAC3B,OAAI4E,aAAiBie,EACbje,EAGD,IAAIie,EAAMje,EAAO,GAAG5E,CAAI,CACjC,CAEC,OAAO,eAAgBmC,EAAM2gB,EAAMhkB,EAAIgkB,EAAM,CAC5C,GAAI,CAAC,SAAAC,EAAW,GAAM,QAAAC,CAAO,EAAIlkB,EAE7BmkB,EAAO,YAAajjB,EAAM,CAC7B,IAAIvB,EAAMqkB,EAAK,GAAG9iB,CAAI,EAEtB,GAAIgjB,IAAY,QACfvkB,EAAMokB,EAAM,IAAIpkB,CAAG,UAEXukB,IAAY,kBAAmB,CACvC,IAAI5b,EAAI3I,EACRA,EAAM,YAAauB,EAAM,CACxB,IAAIvB,EAAM2I,EAAE,GAAGpH,CAAI,EACnB,OAAO6iB,EAAM,IAAIpkB,CAAG,CACzB,EAEI,OAAO,OAAOA,EAAK2I,CAAC,CACxB,MACY4b,IAAY,iBACpBvkB,EAAMA,EAAI,IAAIC,GAAKmkB,EAAM,IAAInkB,CAAC,CAAC,GAGhC,OAAOD,CACV,EAEQ0D,KAAQ0gB,IACbA,EAAM1gB,CAAI,EAAI8gB,GAGXF,IACHF,EAAM,UAAU1gB,CAAI,EAAI,YAAanC,EAAM,CAC1C,OAAOijB,EAAK,KAAM,GAAGjjB,CAAI,CAC7B,EAEA,CAEC,OAAO,gBAAiBlB,EAAG,CAC1B,QAASqD,KAAQrD,EAChB+jB,EAAM,eAAe1gB,EAAMrD,EAAEqD,CAAI,EAAGrD,EAAEqD,CAAI,CAAC,CAE9C,CAEC,OAAO,OAAQ+gB,EAAS,CACvB,GAAIA,EAAQ,SACXA,EAAQ,SAASL,CAAK,MAItB,SAAS1gB,KAAQ+gB,EAChBL,EAAM,eAAe1gB,EAAM+gB,EAAQ/gB,CAAI,CAAC,CAG5C,CACA,EAEAmX,GAAM,gBAAgB,CACrB,IAAA7S,GACA,OAAAD,GACA,IAAAK,GACA,OAAAD,GACA,GAAA7F,GACA,OAAAmY,GACA,QAAAjN,GACA,QAAAsJ,GACA,SAAApJ,GACA,SAAUoL,EACX,CAAC,EAED,OAAO,OAAO+B,GAAO,CACpB,KAAA6J,GACA,MAAA5gB,GACA,OAAAG,GACA,MAAOyB,EACP,OAAQA,EAAW,SACnB,MAAAN,GAGA,SAAArB,EACD,CAAC,ECnMD,QAAS4gB,KAAO,OAAO,KAAKC,EAAM,EACjClf,EAAW,SAASkf,GAAOD,CAAG,CAAC,ECGhC,QAAS9f,KAAMa,EAAW,SACzBmf,GAAkBhgB,EAAIa,EAAW,SAASb,CAAE,CAAC,EAI9Cf,GAAM,IAAI,sBAAuBY,GAAS,CACzCmgB,GAAkBngB,EAAM,GAAIA,CAAK,EACjCA,EAAM,SAAS,QAAQsC,GAAS,CAC/B6d,GAAkB7d,EAAOtC,CAAK,CAChC,CAAE,CACF,CAAC,EAED,SAASmgB,GAAmBhgB,EAAIH,EAAO,CACtC,IAAIogB,EAASjgB,EAAG,QAAQ,KAAM,GAAG,EAEjC,OAAO,eAAegW,GAAM,UAAWiK,EAAQ,CAI9C,KAAO,CACN,IAAI9kB,EAAM,KAAK,OAAO6E,CAAE,EAExB,OAAI,OAAO,MAAU,IAEb7E,EAID,IAAI,MAAMA,EAAK,CACrB,IAAK,CAAC+kB,EAAKC,IAAa,CACvB,GAAI,CACH,OAAAtf,EAAW,aAAa,CAAChB,EAAOsgB,CAAQ,CAAC,EAClC,EACb,MACe,CAAA,CAEV,OAAO,QAAQ,IAAID,EAAKC,CAAQ,CACrC,EACI,IAAK,CAACD,EAAKC,EAAUC,IAAa,CACjC,GAAID,GAAY,OAAOA,GAAa,UAAY,EAAEA,KAAYD,GAAM,CACnE,GAAI,CAAC,MAAA7c,CAAK,EAAIxC,EAAW,aAAa,CAAChB,EAAOsgB,CAAQ,CAAC,EAEvD,GAAI9c,GAAS,EACZ,OAAO6c,EAAI7c,CAAK,CAEvB,CAEK,OAAO,QAAQ,IAAI6c,EAAKC,EAAUC,CAAQ,CAC/C,EACI,IAAK,CAACF,EAAKC,EAAU7iB,EAAO8iB,IAAa,CACxC,GAAID,GAAY,OAAOA,GAAa,UAAY,EAAEA,KAAYD,IAAQC,GAAY,EAAG,CACpF,GAAI,CAAC,MAAA9c,CAAK,EAAIxC,EAAW,aAAa,CAAChB,EAAOsgB,CAAQ,CAAC,EAEvD,GAAI9c,GAAS,EACZ,OAAA6c,EAAI7c,CAAK,EAAI/F,EAGb,KAAK,OAAO0C,EAAIkgB,CAAG,EAEZ,EAEd,CAEK,OAAO,QAAQ,IAAIA,EAAKC,EAAU7iB,EAAO8iB,CAAQ,CACtD,CACA,CAAI,CACJ,EAIE,IAAKrgB,EAAQ,CACZ,KAAK,OAAOC,EAAID,CAAM,CACzB,EACE,aAAc,GACd,WAAY,EACd,CAAE,CACF,CC3EAiW,GAAM,OAAOpE,EAAa,EAC1BoE,GAAM,OAAO,CAAC,OAAAgD,EAAM,CAAC,EACrB,OAAO,OAAOhD,GAAO,CAAC,cAAApE,EAAa,CAAC,EAIpCoE,GAAM,OAAOqK,EAAU,EAGvBrK,GAAM,OAAO,CAAC,SAAAsC,EAAQ,CAAC,EAGvBtC,GAAM,OAAOsK,EAAY,EAGzBtK,GAAM,OAAOuK,EAAS,EAGtBvK,GAAM,OAAOwK,EAAa,EAG1BxK,GAAM,OAAOyK,EAAe,ElF5B5B,IAAAC,GAAmB,SAIbC,MAAc,wBAA0C,EAEvD,SAASC,GAAkBC,EAAsBC,EAA0B,CAChF,IAAIC,EASJ,OARI,OAAOF,GAAW,SACpBE,EAAQ,IAAIC,GAAQH,CAAM,EACjB,eAAgBA,EACzBE,EAAQ,IAAIC,GAAQH,EAAO,WAAY,CAACA,EAAO,IAAKA,EAAO,MAAOA,EAAO,IAAI,EAAGA,EAAO,KAAK,EAE5FE,EAAQ,IAAIC,GAAQ,OAAQ,CAACH,EAAO,IAAM,IAAKA,EAAO,MAAQ,IAAKA,EAAO,KAAO,GAAG,EAAGA,EAAO,KAAK,EAG7FC,GAAUH,GAAY,YAAa,CACzC,QACA,IAAK,MACH,OAAOI,EAAM,GAAG,MAAM,EAAE,SAAS,CAAE,OAAQ,KAAM,CAAC,EAAE,YAAY,EAElE,IAAK,iBACH,OAAOA,EAAM,GAAG,MAAM,EAAE,SAAS,CAAE,OAAQ,KAAM,CAAC,EAAE,YAAY,EAElE,IAAK,gBACH,OAAOA,EAAM,GAAG,MAAM,EAAE,SAAS,CAAE,OAAQ,KAAM,CAAC,EAAE,QAAQ,IAAK,EAAE,EAErE,IAAK,MACH,OAAOA,EAAM,GAAG,MAAM,EAAE,SAAS,CAAE,OAAQ,YAAa,CAAC,EAE3D,IAAK,iBACH,OAAOA,EAAM,GAAG,MAAM,EAAE,SAAS,CAAE,OAAQ,KAAM,CAAC,EAEpD,IAAK,OACH,OAAOA,EAAM,GAAG,MAAM,EAAE,SAAS,CAAE,OAAQ,aAAc,CAAC,EAE5D,IAAK,kBACH,OAAOA,EAAM,GAAG,MAAM,EAAE,SAAS,CAAE,OAAQ,MAAO,CAAC,EAErD,IAAK,OACH,OAAOA,EAAM,GAAG,KAAK,EAAE,SAAS,CAAE,OAAQ,MAAO,CAAC,EAEpD,IAAK,OACH,OAAOA,EAAM,GAAG,KAAK,EAAE,SAAS,CAAE,OAAQ,OAAQ,CAAC,EAErD,IAAK,QAAS,CACZ,IAAME,EAAaF,EAAM,GAAG,OAAO,EAC7B,CAACG,EAAGC,EAAGC,CAAC,EAAIH,EAAW,OAE7B,MAAO,UADcC,EAAI,KAAK,QAAQ,CAAC,CACZ,KAAKC,CAAC,IAAIC,CAAC,GACxC,CACA,IAAK,MAAO,CACV,IAAMC,EAAWN,EAAM,GAAG,KAAK,EACzB,CAACG,EAAGC,EAAGC,CAAC,EAAIC,EAAS,OAC3B,MAAO,OAAOH,EAAE,QAAQ,CAAC,CAAC,KAAKC,CAAC,IAAIC,CAAC,GACvC,CACA,IAAK,KACH,OAAOL,EAAM,GAAG,IAAI,EAAE,SAAS,CAAE,OAAQ,IAAK,CAAC,CAEnD,CACF,CAuEO,SAASO,GAAoBC,EAA0B,CAC5D,SAAO,GAAAC,SAAO,OAAO,OAAOD,GAAU,CAAC,CAAC,EAAE,KAAK,EAAIE,GAAMA,EAAE,KAAK,YAAY,CAAC,EAAE,KAC7E,CAAC,EAAGC,IAAM,EAAE,SAAWA,EAAE,QAC3B,CACF,CDrIA,IAAMC,GAAqB,IAoBpB,SAASC,GAAaC,EAAqB,CAChD,IAAMC,EAAQ,IAAI,SAEZC,EAAoBD,EAAM,IAAI,SAAS,EACvCE,EAAkBD,EAAqB,KAAK,MAAMA,CAAiB,EAAsB,CAAC,EAG1FE,EAAa,CADc,CAAE,KAAM,IAAI,KAAK,EAAE,YAAY,EAAG,MAAAJ,CAAM,EAGvE,GAAGG,EAAgB,OAAQE,GAASC,GAAkBD,EAAK,KAAK,IAAMC,GAAkBN,CAAK,CAAC,CAChG,EAAE,MAAM,EAAGO,EAAkB,EAE7BN,EAAM,IAAI,UAAW,KAAK,UAAUG,CAAU,CAAC,CACjD,CF7BA,eAAOI,GAA+BC,EAAoC,CACxE,GAAM,CAAE,cAAAC,CAAc,KAAI,wBAA2C,EACrE,QAAM,oBAAgB,EAEtB,GAAI,CACF,IAAMC,EAAe,MAAMC,GAAU,EACrC,GAAI,CAACD,EACH,OAGFE,GAAaF,CAAW,EAExB,IAAMG,EAAMC,GAAkBJ,CAAW,EACzC,GAAI,CAACG,EACH,MAAM,IAAI,MAAM,wBAAwB,EAG1C,GAAIL,EAAM,eAAe,sBAAuB,CAC1CA,EAAM,eAAe,iBACvB,MAAM,aAAU,KAAKK,CAAG,EAG1B,GAAI,CACF,QAAM,0BAAsBL,EAAM,cAAc,sBAAuB,CAAE,IAAAK,CAAI,CAAC,CAChF,OAASE,EAAG,CACV,QAAM,qBAAiBA,CAAC,CAC1B,CACF,SACE,MAAM,aAAU,KAAKF,CAAG,EACpBJ,EAAe,CACjB,IAAMO,KAAS,GAAAC,SAAWJ,CAAG,EAEvBK,EADmBC,GAAoBH,CAAM,EACX,CAAC,GAAG,KAC5C,QAAM,YAAQ,gBAAgBH,CAAG,KAAKK,CAAc,gBAAgB,CACtE,MACE,QAAM,YAAQ,gBAAgBL,CAAG,eAAe,EAIpD,GAAI,CACF,QAAM,kBAAc,CAAE,KAAM,WAAY,KAAM,cAAW,UAAW,CAAC,CACvE,OAASE,EAAG,CACJA,aAAa,OAASA,EAAE,QAAQ,SAAS,mBAAmB,GAChE,QAAM,qBAAiBA,CAAC,CAE5B,CAEA,GAAIP,EAAM,eAAe,SAAW,kBAClC,GAAI,CACF,QAAM,kBAAc,CAAE,KAAM,kBAAmB,KAAM,cAAW,aAAc,CAAC,CACjF,OAASO,EAAG,CACV,QAAM,qBAAiBA,CAAC,CAC1B,CAEJ,OAASA,EAAG,CACV,QAAQ,MAAMA,CAAC,EAEf,QAAM,YAAQ,6BAAwB,CACxC,CACF", + "names": ["require_lite", "__commonJSMin", "exports", "has", "dequal", "foo", "bar", "ctor", "len", "require_useDeepMemo", "__commonJSMin", "exports", "react_1", "lite_1", "useDeepMemo", "value", "ref", "signalRef", "require_useLatest", "__commonJSMin", "exports", "react_1", "useLatest", "value", "ref", "require_showFailureToast", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__setModuleDefault", "v", "__importStar", "mod", "result", "fs", "path", "api_1", "showFailureToast", "error", "options", "message", "handleErrorToastAction", "privateExtension", "title", "extensionURL", "packageJSON", "fallback", "stack", "toast", "require_usePromise", "__commonJSMin", "exports", "react_1", "api_1", "useDeepMemo_1", "useLatest_1", "showFailureToast_1", "usePromise", "fn", "args", "options", "lastCallId", "state", "set", "fnRef", "latestAbortable", "latestArgs", "latestOnError", "latestOnData", "latestOnWillExecute", "latestFailureToast", "latestValue", "latestCallback", "paginationArgsRef", "usePaginationRef", "hasMoreRef", "pageSizeRef", "callback", "callId", "prevState", "promiseOrPaginatedPromise", "bindPromiseIfNeeded", "handleError", "error", "toast", "data", "hasMore", "cursor", "previousData", "revalidate", "mutate", "asyncUpdate", "dataBeforeOptimisticUpdate", "update", "err", "onLoadMore", "isLoading", "stateWithLoadingFixed", "pagination", "require_object_hash", "__commonJSMin", "exports", "module", "crypto", "objectHash", "object", "options", "applyDefaults", "hash", "hashes", "encodings", "sourceOptions", "i", "isNativeFunction", "f", "exp", "hashingStream", "PassThrough", "hasher", "typeHasher", "buf", "stream", "writeTo", "context", "write", "str", "value", "type", "pattern", "objString", "objType", "objectNumber", "keys", "key", "self", "arr", "unordered", "entry", "contextAdditions", "entries", "strm", "localContext", "date", "sym", "err", "bool", "string", "fn", "number", "xml", "regex", "url", "map", "set", "file", "b", "require_helpers", "__commonJSMin", "exports", "__importDefault", "mod", "object_hash_1", "replacer", "key", "_value", "value", "reviver", "_key", "hash", "object", "options", "require_useCachedState", "__commonJSMin", "exports", "react_1", "api_1", "useLatest_1", "helpers_1", "rootCache", "cacheMap", "useCachedState", "key", "initialState", "config", "cacheKey", "cache", "keyRef", "initialValueRef", "cachedState", "error", "state", "err", "stateRef", "setStateAndCache", "updater", "newValue", "stringifiedValue", "require_useCachedPromise", "__commonJSMin", "exports", "react_1", "useCachedState_1", "usePromise_1", "useLatest_1", "helpers_1", "emptyCache", "useCachedPromise", "fn", "args", "options", "initialData", "keepPreviousData", "internal_cacheKeySuffix", "usePromiseOptions", "lastUpdateFrom", "cachedData", "mutateCache", "laggyDataRef", "paginationArgsRef", "_mutate", "revalidate", "state", "data", "pagination", "returnedData", "latestData", "mutate", "asyncUpdate", "dataBeforeOptimisticUpdate", "err", "require_lib", "__commonJSMin", "exports", "module", "conversions", "sign", "x", "evenRound", "createNumberConversion", "bitLength", "typeOpts", "lowerBound", "upperBound", "moduloVal", "moduloBound", "V", "opts", "val", "c", "i", "S", "n", "U", "d", "a", "b", "require_utils", "__commonJSMin", "exports", "module", "target", "source", "keys", "i", "impl", "wrapper", "require_mappingTable", "__commonJSMin", "exports", "module", "require_tr46", "__commonJSMin", "exports", "module", "punycode", "mappingTable", "PROCESSING_OPTIONS", "normalize", "str", "s", "findStatus", "val", "start", "end", "mid", "target", "regexAstralSymbols", "countSymbols", "string", "mapChars", "domain_name", "useSTD3", "processing_option", "hasError", "processed", "len", "i", "codePoint", "status", "combiningMarksRegex", "validateLabel", "label", "error", "processing", "result", "labels", "validation", "verifyDnsLength", "l", "total", "require_url_state_machine", "__commonJSMin", "exports", "module", "punycode", "tr46", "specialSchemes", "failure", "countSymbols", "str", "at", "input", "idx", "c", "isASCIIDigit", "isASCIIAlpha", "isASCIIAlphanumeric", "isASCIIHex", "isSingleDot", "buffer", "isDoubleDot", "isWindowsDriveLetterCodePoints", "cp1", "cp2", "isWindowsDriveLetterString", "string", "isNormalizedWindowsDriveLetterString", "containsForbiddenHostCodePoint", "containsForbiddenHostCodePointExcludingPercent", "isSpecialScheme", "scheme", "isSpecial", "url", "defaultPort", "percentEncode", "hex", "utf8PercentEncode", "buf", "i", "utf8PercentDecode", "output", "isC0ControlPercentEncode", "extraPathPercentEncodeSet", "isPathPercentEncode", "extraUserinfoPercentEncodeSet", "isUserinfoPercentEncode", "percentEncodeChar", "encodeSetPredicate", "cStr", "parseIPv4Number", "R", "parseIPv4", "parts", "numbers", "part", "n", "ipv4", "counter", "serializeIPv4", "address", "parseIPv6", "pieceIndex", "compress", "pointer", "value", "length", "numbersSeen", "ipv4Piece", "number", "swaps", "temp", "serializeIPv6", "findLongestZeroSequence", "ignore0", "parseHost", "isSpecialArg", "parseOpaqueHost", "domain", "asciiDomain", "ipv4Host", "decoded", "arr", "maxIdx", "maxLen", "currStart", "currLen", "serializeHost", "host", "trimControlChars", "trimTabAndNewline", "shortenPath", "path", "isNormalizedWindowsDriveLetter", "includesCredentials", "cannotHaveAUsernamePasswordPort", "URLStateMachine", "base", "encodingOverride", "stateOverride", "res", "ret", "len", "codePoint", "encodedCodePoints", "port", "fileOtherwiseCodePoints", "serializeURL", "excludeFragment", "serializeOrigin", "tuple", "result", "options", "usm", "username", "password", "integer", "require_URL_impl", "__commonJSMin", "exports", "usm", "constructorArgs", "url", "base", "parsedBase", "parsedURL", "v", "input", "require_URL", "__commonJSMin", "exports", "module", "conversions", "utils", "Impl", "impl", "URL", "url", "args", "i", "V", "obj", "constructorArgs", "privateData", "require_public_api", "__commonJSMin", "exports", "require_lib", "__commonJSMin", "exports", "module", "_interopDefault", "ex", "Stream", "http", "Url", "whatwgUrl", "https", "zlib", "Readable", "BUFFER", "TYPE", "Blob", "_Blob", "blobParts", "options", "buffers", "size", "a", "length", "i", "element", "buffer", "type", "buf", "ab", "readable", "start", "end", "relativeStart", "relativeEnd", "span", "slicedBuffer", "blob", "FetchError", "message", "systemError", "convert", "INTERNALS", "PassThrough", "Body", "body", "_this", "_ref", "_ref$size", "_ref$timeout", "timeout", "isURLSearchParams", "isBlob", "err", "error", "consumeBody", "ct", "_this2", "_this3", "convertBody", "proto", "name", "desc", "_this4", "accum", "accumBytes", "abort", "resolve", "reject", "resTimeout", "chunk", "headers", "charset", "res", "str", "obj", "clone", "instance", "p1", "p2", "extractContentType", "getTotalBytes", "writeToStream", "dest", "invalidTokenRegex", "invalidHeaderCharRegex", "validateName", "validateValue", "value", "find", "map", "key", "MAP", "Headers", "_Headers", "init", "rawHeaders", "headerNames", "headerName", "method", "pairs", "pair", "callback", "thisArg", "getHeaders", "_pairs$i", "createHeadersIterator", "kind", "k", "INTERNAL", "target", "iterator", "HeadersIteratorPrototype", "_INTERNAL", "index", "values", "len", "exportNodeCompatibleHeaders", "hostHeaderKey", "createHeadersLenient", "val", "INTERNALS$1", "STATUS_CODES", "Response", "_Response", "opts", "status", "contentType", "INTERNALS$2", "URL", "parse_url", "format_url", "parseURL", "urlStr", "streamDestructionSupported", "isRequest", "input", "isAbortSignal", "signal", "Request", "_Request", "parsedURL", "inputBody", "getNodeRequestOptions", "request", "contentLengthValue", "totalBytes", "agent", "AbortError", "URL$1", "PassThrough$1", "isDomainOrSubdomain", "destination", "original", "orig", "isSameProtocol", "fetch", "url", "send", "response", "destroyStream", "abortAndFinalize", "finalize", "req", "reqTimeout", "socket", "fixResponseChunkedTransferBadEnding", "s", "hadError", "hasDataListener", "location", "locationURL", "requestOpts", "response_options", "codings", "zlibOptions", "raw", "errorCallback", "stream", "code", "require_node_ponyfill", "__commonJSMin", "exports", "module", "nodeFetch", "realFetch", "fetch", "url", "options", "require_fetch_utils", "__commonJSMin", "exports", "isJSON", "contentTypeHeader", "mediaType", "parseContentType", "MEDIA_TYPE_REGEXP", "header", "headerDelimitationindex", "contentType", "match", "type", "subtype", "suffix", "index", "require_useFetch", "__commonJSMin", "exports", "react_1", "useCachedPromise_1", "useLatest_1", "cross_fetch_1", "fetch_utils_1", "helpers_1", "defaultParsing", "response", "contentTypeHeader", "defaultMapping", "result", "useFetch", "url", "options", "parseResponse", "mapResult", "initialData", "execute", "keepPreviousData", "onError", "onData", "onWillExecute", "failureToastOptions", "fetchOptions", "useCachedPromiseOptions", "parseResponseRef", "mapResultRef", "urlRef", "firstPageUrlRef", "firstPageUrl", "abortable", "paginatedFn", "pagination", "res", "parsed", "fn", "promise", "exports", "signals_js_1", "exports", "processOk", "process", "kExitEmitter", "global", "ObjectDefineProperty", "Emitter", "ev", "fn", "list", "i", "code", "signal", "ret", "SignalExitBase", "signalExitWrap", "handler", "cb", "opts", "SignalExitFallback", "SignalExit", "#hupSig", "#emitter", "#process", "#originalProcessEmit", "#originalProcessReallyExit", "#sigListeners", "#loaded", "sig", "listeners", "count", "p", "a", "#processEmit", "#processReallyExit", "listener", "args", "og", "_a", "require_exec_utils", "__commonJSMin", "exports", "__importDefault", "mod", "node_buffer_1", "node_stream_1", "node_util_1", "signal_exit_1", "getSpawnedPromise", "spawned", "timeout", "spawnedPromise", "resolve", "reject", "exitCode", "signal", "error", "timeoutId", "timeoutPromise", "_resolve", "safeSpawnedPromise", "removeExitHandler", "MaxBufferError", "streamPipelinePromisified", "bufferStream", "options", "encoding", "isBuffer", "stream", "length", "chunks", "chunk", "getStream", "inputStream", "rejectPromise", "getBufferedData", "streamPromise", "getSpawnedResult", "stdout", "stderr", "processDone", "stdoutPromise", "stderrPromise", "stripFinalNewline", "input", "LF", "CR", "handleOutput", "value", "getErrorPrefix", "timedOut", "makeError", "command", "parentError", "execaMessage", "shortMessage", "message", "defaultParsing", "require_useExec", "__commonJSMin", "exports", "__importDefault", "mod", "node_child_process_1", "react_1", "useCachedPromise_1", "useLatest_1", "exec_utils_1", "SPACES_REGEXP", "parseCommand", "command", "args", "tokens", "token", "previousToken", "useExec", "optionsOrArgs", "options", "parseOutput", "input", "onData", "onWillExecute", "initialData", "execute", "keepPreviousData", "onError", "failureToastOptions", "execOptions", "useCachedPromiseOptions", "abortable", "parseOutputRef", "fn", "_command", "_args", "_options", "file", "spawned", "spawnedPromise", "error", "exitCode", "signal", "timedOut", "stdoutResult", "stderrResult", "stdout", "stderr", "require_stream_chain", "__commonJSMin", "exports", "module", "Readable", "Writable", "Duplex", "Transform", "none", "finalSymbol", "manySymbol", "final", "value", "many", "values", "isFinal", "o", "isMany", "getFinalValue", "getManyValues", "runAsyncGenerator", "gen", "stream", "data", "Chain", "wrapFunction", "fn", "chunk", "encoding", "callback", "result", "error", "wrapArray", "fns", "isReadableNodeStream", "obj", "isWritableNodeStream", "isDuplexNodeStream", "_Chain", "options", "index", "s", "output", "_1", "_2", "e", "require_Utf8Stream", "__commonJSMin", "exports", "module", "Transform", "StringDecoder", "Utf8Stream", "options", "chunk", "encoding", "callback", "_", "require_Parser", "__commonJSMin", "exports", "module", "Utf8Stream", "patterns", "MAX_PATTERN_SIZE", "noSticky", "key", "src", "values", "expected", "fromHex", "s", "codes", "Parser", "_Parser", "options", "callback", "error", "match", "value", "index", "main", "t", "require_emit", "__commonJSMin", "exports", "module", "emit", "stream", "item", "require_stream_json", "__commonJSMin", "exports", "module", "Parser", "emit", "make", "options", "require_FilterBase", "__commonJSMin", "exports", "module", "Transform", "FilterBase", "_FilterBase", "string", "separator", "stack", "path", "regExp", "array", "options", "filter", "replacement", "chunk", "_", "callback", "passValue", "last", "post", "expected", "skipValue", "require_withParser", "__commonJSMin", "exports", "module", "Chain", "Parser", "withParser", "fn", "options", "require_Pick", "__commonJSMin", "exports", "module", "FilterBase", "withParser", "Pick", "_Pick", "options", "chunk", "require_Assembler", "__commonJSMin", "exports", "module", "EventEmitter", "startObject", "Ctr", "Assembler", "_Assembler", "stream", "options", "chunk", "path", "i", "key", "level", "index", "value", "require_StreamBase", "__commonJSMin", "exports", "module", "Transform", "Assembler", "Counter", "initialDepth", "StreamBase", "options", "chunk", "encoding", "callback", "result", "require_StreamArray", "__commonJSMin", "exports", "module", "StreamBase", "withParser", "StreamArray", "_StreamArray", "options", "chunk", "_", "callback", "discard", "require_useStreamJSON", "__commonJSMin", "exports", "__importDefault", "mod", "api_1", "cross_fetch_1", "node_fs_1", "promises_1", "node_path_1", "promises_2", "react_1", "stream_chain_1", "stream_json_1", "Pick_1", "StreamArray_1", "fetch_utils_1", "useCachedPromise_1", "helpers_1", "cache", "url", "destination", "fetchOptions", "cacheURL", "cacheFile", "response", "source", "abortSignal", "cacheURLIfNecessary", "folder", "fileName", "forceUpdate", "stats", "headResponse", "lastModified", "streamJsonFile", "filePath", "pageSize", "dataPath", "filterFn", "transformFn", "page", "pipeline", "data", "e", "useStreamJSON", "options", "initialData", "execute", "keepPreviousData", "onError", "onData", "onWillExecute", "failureToastOptions", "filter", "transform", "previousUrl", "previousDestination", "useCachedPromiseOptions", "generatorRef", "controllerRef", "hasMoreRef", "forceCacheUpdate", "newData", "done", "require_useSQL", "__commonJSMin", "exports", "__importDefault", "mod", "jsx_runtime_1", "api_1", "node_fs_1", "promises_1", "node_os_1", "node_child_process_1", "node_path_1", "react_1", "usePromise_1", "useLatest_1", "exec_utils_1", "showFailureToast_1", "helpers_1", "useSQL", "databasePath", "query", "options", "permissionPriming", "usePromiseOptions", "permissionView", "setPermissionView", "latestOptions", "abortable", "handleError", "_error", "error", "PermissionError", "isPermissionError", "PermissionErrorScreen", "fn", "workaroundCopiedDb", "abortSignal", "spawned", "spawnedPromise", "exitCode", "signal", "stdoutResult", "stderrResult", "checkAborted", "tempFolder", "message", "macosVenturaAndLater", "preferencesString", "props", "action", "require_useForm", "__commonJSMin", "exports", "react_1", "useLatest_1", "FormValidation", "validationError", "validation", "value", "valueIsValid", "useForm", "props", "_onSubmit", "initialValues", "values", "setValues", "errors", "setErrors", "refs", "latestValidation", "latestOnSubmit", "focus", "id", "handleSubmit", "validationErrors", "error", "result", "setValidationError", "setValue", "itemProps", "target", "event", "instance", "reset", "ref", "require_useAI", "__commonJSMin", "exports", "react_1", "api_1", "usePromise_1", "useAI", "prompt", "options", "creativity", "stream", "model", "usePromiseOptions", "data", "setData", "abortable", "isLoading", "error", "revalidate", "shouldStream", "x", "require_useFrecencySorting", "__commonJSMin", "exports", "react_1", "useLatest_1", "useCachedState_1", "HALF_LIFE_DAYS", "MS_PER_DAY", "DECAY_RATE_CONSTANT", "VISIT_TYPE_POINTS", "getNewFrecency", "item", "now", "lastVisited", "frecency", "visitAgeInDays", "currentVisitValue", "totalVisitValue", "defaultKey", "useFrecencySorting", "data", "options", "keyRef", "sortUnvisitedRef", "storedFrecencies", "setStoredFrecencies", "visitItem", "itemKey", "newFrecency", "resetRanking", "newFrencencies", "a", "b", "frecencyA", "frecencyB", "require_useLocalStorage", "__commonJSMin", "exports", "api_1", "showFailureToast_1", "helpers_1", "usePromise_1", "useLocalStorage", "key", "initialValue", "value", "isLoading", "mutate", "storageKey", "item", "setValue", "error", "removeValue", "require_color", "__commonJSMin", "exports", "hexToRGB", "hex", "r", "g", "b", "rgbToHex", "rString", "gString", "bString", "rgbToHSL", "cmin", "cmax", "delta", "h", "l", "hslToRGB", "s", "c", "x", "m", "hexToHSL", "hslToHex", "hsl", "clamp", "value", "min", "max", "offset", "slightlyDarkerColor", "slightlyLighterColor", "require_avatar", "__commonJSMin", "exports", "color_1", "getWholeCharAndI", "str", "i", "code", "next", "prev", "avatarColorSet", "getAvatarIcon", "name", "options", "words", "initials", "firstWordFirstLetter", "lastWordFirstLetter", "backgroundColor", "initialsCharIndex", "char", "colorIndex", "radius", "require_favicon", "__commonJSMin", "exports", "api_1", "url_1", "getFavicon", "url", "options", "hostname", "e", "require_progress", "__commonJSMin", "exports", "api_1", "polarToCartesian", "centerX", "centerY", "radius", "angleInDegrees", "angleInRadians", "describeArc", "x", "y", "startAngle", "endAngle", "start", "end", "largeArcFlag", "getProgressIcon", "progress", "color", "options", "background", "backgroundOpacity", "stroke", "require_icon", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "p", "require_providers", "__commonJSMin", "exports", "api_1", "OAuthService_1", "PROVIDER_CLIENT_IDS", "getIcon", "markup", "PROVIDERS_ICONS", "asanaService", "options", "githubService", "googleService", "jiraService", "linearService", "slackService", "response", "zoomService", "require_OAuthService", "__commonJSMin", "exports", "__importDefault", "mod", "cross_fetch_1", "providers_1", "OAuthService", "options", "x", "currentTokenSet", "tokens", "authRequest", "authorizationCode", "params", "response", "responseText", "token", "tokenResponse", "require_withAccessToken", "__commonJSMin", "exports", "jsx_runtime_1", "api_1", "token", "type", "authorize", "getIdToken", "onAuthorize", "withAccessToken", "options", "fn", "props", "idToken", "Component", "WrappedComponent", "wrapPromise", "getAccessToken", "promise", "status", "response", "suspender", "res", "err", "require_oauth", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "p", "require_run_applescript", "__commonJSMin", "exports", "__importDefault", "mod", "node_child_process_1", "exec_utils_1", "runAppleScript", "script", "optionsOrArgs", "options", "humanReadableOutput", "language", "timeout", "execOptions", "outputArguments", "spawned", "spawnedPromise", "error", "exitCode", "signal", "timedOut", "stdoutResult", "stderrResult", "stdout", "stderr", "require_createDeeplink", "__commonJSMin", "exports", "__importDefault", "mod", "api_1", "node_fs_1", "node_path_1", "DeeplinkType", "getProtocol", "getOwnerOrAuthorName", "packageJSON", "createScriptCommandDeeplink", "options", "url", "params", "arg", "createExtensionDeeplink", "ownerOrAuthorName", "extensionName", "createDeeplink", "require_dist", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "p", "require_p_try", "__commonJSMin", "exports", "module", "pTry", "fn", "arguments_", "resolve", "require_p_limit", "__commonJSMin", "exports", "module", "pTry", "pLimit", "concurrency", "queue", "activeCount", "next", "run", "fn", "resolve", "args", "result", "enqueue", "generator", "require_p_locate", "__commonJSMin", "exports", "module", "pLimit", "EndError", "value", "testElement", "element", "tester", "finder", "values", "pLocate", "iterable", "options", "limit", "items", "checkLimit", "error", "require_locate_path", "__commonJSMin", "exports", "module", "path", "fs", "promisify", "pLocate", "fsStat", "fsLStat", "typeMappings", "checkType", "type", "matchType", "stat", "paths", "options", "statFn", "path_", "require_path_exists", "__commonJSMin", "exports", "module", "fs", "promisify", "pAccess", "path", "require_find_up", "__commonJSMin", "exports", "module", "path", "locatePath", "pathExists", "stop", "name", "options", "directory", "root", "paths", "runMatcher", "locateOptions", "foundPath", "require_is_arrayish", "__commonJSMin", "exports", "module", "obj", "require_error_ex", "__commonJSMin", "exports", "module", "util", "isArrayish", "errorEx", "name", "properties", "errorExError", "ErrorEXError", "message", "newMessage", "key", "modifier", "v", "overwrittenStack", "stackDescriptor", "stackGetter", "stackValue", "newstack", "stack", "lineCount", "line", "str", "def", "require_json_parse_even_better_errors", "__commonJSMin", "exports", "module", "hexify", "char", "h", "parseError", "txt", "context", "badToken", "errIdx", "msg", "start", "end", "slice", "JSONParseError", "er", "caller", "metadata", "n", "kIndent", "kNewline", "formatRE", "emptyRE", "parseJson", "reviver", "parseText", "stripBOM", "newline", "indent", "result", "e", "isEmptyArray", "require_build", "__commonJSMin", "exports", "LF", "CR", "LinesAndColumns", "string", "offsets", "offset", "index", "line", "column", "location", "nextOffset", "require_js_tokens", "__commonJSMin", "exports", "match", "token", "nonASCIIidentifierStartChars", "nonASCIIidentifierChars", "nonASCIIidentifierStart", "RegExp", "nonASCIIidentifier", "astralIdentifierStartCodes", "astralIdentifierCodes", "isInAstralSet", "code", "set", "pos", "i", "length", "isIdentifierStart", "test", "String", "fromCharCode", "isIdentifierChar", "isIdentifierName", "name", "isFirst", "cp", "charCodeAt", "trail", "reservedWords", "keyword", "strict", "strictBind", "keywords", "Set", "reservedWordsStrictSet", "reservedWordsStrictBindSet", "isReservedWord", "word", "inModule", "isStrictReservedWord", "has", "isStrictBindOnlyReservedWord", "isStrictBindReservedWord", "isKeyword", "_identifier", "require", "_keyword", "require_picocolors", "__commonJSMin", "exports", "module", "argv", "env", "isColorSupported", "formatter", "open", "close", "replace", "input", "string", "index", "replaceClose", "result", "cursor", "createColors", "enabled", "init", "require_escape_string_regexp", "__commonJSMin", "exports", "module", "matchOperatorsRe", "str", "require_color_name", "__commonJSMin", "exports", "module", "require_conversions", "__commonJSMin", "exports", "module", "cssKeywords", "reverseKeywords", "key", "convert", "model", "channels", "labels", "rgb", "r", "g", "b", "min", "max", "delta", "h", "s", "l", "rdif", "gdif", "bdif", "v", "diff", "diffc", "c", "w", "m", "y", "k", "comparativeDistance", "x", "reversed", "currentClosestDistance", "currentClosestKeyword", "keyword", "value", "distance", "z", "xyz", "a", "hsl", "t1", "t2", "t3", "val", "i", "smin", "lmin", "sv", "hsv", "hi", "f", "q", "t", "vmin", "sl", "hwb", "wh", "bl", "ratio", "n", "cmyk", "lab", "y2", "x2", "z2", "hr", "lch", "args", "ansi", "color", "mult", "rem", "integer", "string", "match", "colorString", "char", "chroma", "grayscale", "hue", "hcg", "pure", "mg", "apple", "gray", "require_route", "__commonJSMin", "exports", "module", "conversions", "buildGraph", "graph", "models", "len", "i", "deriveBFS", "fromModel", "queue", "current", "adjacents", "adjacent", "node", "link", "from", "to", "args", "wrapConversion", "toModel", "path", "fn", "cur", "conversion", "require_color_convert", "__commonJSMin", "exports", "module", "conversions", "route", "convert", "models", "wrapRaw", "fn", "wrappedFn", "args", "wrapRounded", "result", "len", "fromModel", "routes", "routeModels", "toModel", "require_ansi_styles", "__commonJSMin", "exports", "module", "colorConvert", "wrapAnsi16", "fn", "offset", "wrapAnsi256", "code", "wrapAnsi16m", "rgb", "assembleStyles", "codes", "styles", "groupName", "group", "styleName", "style", "ansi2ansi", "rgb2rgb", "r", "g", "b", "key", "suite", "require_has_flag", "__commonJSMin", "exports", "module", "flag", "argv", "prefix", "pos", "terminatorPos", "require_supports_color", "__commonJSMin", "exports", "module", "os", "hasFlag", "env", "forceColor", "translateLevel", "level", "supportsColor", "stream", "min", "osRelease", "sign", "version", "getSupportLevel", "require_templates", "__commonJSMin", "exports", "module", "TEMPLATE_REGEX", "STYLE_REGEX", "STRING_REGEX", "ESCAPE_REGEX", "ESCAPES", "unescape", "c", "parseArguments", "name", "args", "results", "chunks", "matches", "chunk", "m", "escape", "chr", "parseStyle", "style", "buildStyle", "chalk", "styles", "enabled", "layer", "current", "styleName", "tmp", "escapeChar", "inverse", "close", "str", "errMsg", "require_chalk", "__commonJSMin", "exports", "module", "escapeStringRegexp", "ansiStyles", "stdoutColor", "template", "isSimpleWindowsTerm", "levelMapping", "skipModels", "styles", "applyOptions", "obj", "options", "scLevel", "Chalk", "chalk", "args", "chalkTag", "key", "codes", "build", "model", "level", "bgModel", "proto", "_styles", "_empty", "builder", "applyStyle", "self", "enabled", "argsLen", "str", "a", "originalDim", "code", "strings", "parts", "i", "_jsTokens", "require", "_helperValidatorIdentifier", "_picocolors", "_interopRequireWildcard", "_getRequireWildcardCache", "e", "WeakMap", "r", "t", "__esModule", "default", "has", "get", "n", "__proto__", "a", "Object", "defineProperty", "getOwnPropertyDescriptor", "u", "hasOwnProperty", "call", "i", "set", "colors", "process", "env", "FORCE_COLOR", "createColors", "_colors", "compose", "f", "g", "v", "sometimesKeywords", "Set", "getDefs", "keyword", "cyan", "capitalized", "yellow", "jsxIdentifier", "punctuator", "number", "magenta", "string", "green", "regex", "comment", "gray", "invalid", "white", "bgRed", "bold", "NEWLINE", "BRACKET", "tokenize", "JSX_TAG", "getTokenType", "token", "offset", "text", "type", "isKeyword", "value", "isStrictReservedWord", "test", "slice", "toLowerCase", "match", "jsTokens", "exec", "matchToToken", "index", "highlightTokens", "defs", "highlighted", "colorize", "split", "map", "str", "join", "shouldHighlight", "options", "isColorSupported", "forceColor", "pcWithForcedColor", "getColors", "_pcWithForcedColor", "highlight", "code", "chalk", "chalkWithForcedColor", "exports", "getChalk", "_chalk", "_chalkWithForcedColor", "constructor", "enabled", "level", "_highlight", "require", "_picocolors", "_interopRequireWildcard", "_getRequireWildcardCache", "e", "WeakMap", "r", "t", "__esModule", "default", "has", "get", "n", "__proto__", "a", "Object", "defineProperty", "getOwnPropertyDescriptor", "u", "hasOwnProperty", "call", "i", "set", "colors", "process", "env", "FORCE_COLOR", "createColors", "_colors", "compose", "f", "g", "v", "pcWithForcedColor", "getColors", "forceColor", "_pcWithForcedColor", "deprecationWarningShown", "getDefs", "gutter", "gray", "marker", "red", "bold", "message", "NEWLINE", "getMarkerLines", "loc", "source", "opts", "startLoc", "assign", "column", "line", "start", "endLoc", "end", "linesAbove", "linesBelow", "startLine", "startColumn", "endLine", "endColumn", "Math", "max", "min", "length", "lineDiff", "markerLines", "lineNumber", "sourceLength", "codeFrameColumns", "rawLines", "highlighted", "highlightCode", "shouldHighlight", "defs", "maybeHighlight", "fmt", "string", "lines", "split", "hasColumns", "numberMaxWidth", "String", "frame", "highlight", "slice", "map", "index", "number", "hasMarker", "lastMarkerLine", "markerLine", "Array", "isArray", "markerSpacing", "replace", "numberOfMarkers", "repeat", "join", "reset", "_default", "colNumber", "emitWarning", "deprecationError", "Error", "name", "console", "warn", "require_parse_json", "__commonJSMin", "exports", "module", "errorEx", "fallback", "LinesAndColumns", "codeFrameColumns", "JSONError", "parseJson", "string", "reviver", "filename", "error", "indexMatch", "jsonError", "lines", "index", "location", "codeFrame", "require_semver", "__commonJSMin", "exports", "module", "SemVer", "debug", "args", "MAX_LENGTH", "MAX_SAFE_INTEGER", "MAX_SAFE_COMPONENT_LENGTH", "MAX_SAFE_BUILD_LENGTH", "re", "safeRe", "src", "R", "LETTERDASHNUMBER", "safeRegexReplacements", "makeSafeRe", "value", "i", "token", "max", "NUMERICIDENTIFIER", "NUMERICIDENTIFIERLOOSE", "NONNUMERICIDENTIFIER", "MAINVERSION", "MAINVERSIONLOOSE", "PRERELEASEIDENTIFIER", "PRERELEASEIDENTIFIERLOOSE", "PRERELEASE", "PRERELEASELOOSE", "BUILDIDENTIFIER", "BUILD", "FULL", "FULLPLAIN", "LOOSEPLAIN", "LOOSE", "GTLT", "XRANGEIDENTIFIERLOOSE", "XRANGEIDENTIFIER", "XRANGEPLAIN", "XRANGEPLAINLOOSE", "XRANGE", "XRANGELOOSE", "COERCE", "LONETILDE", "TILDETRIM", "tildeTrimReplace", "TILDE", "TILDELOOSE", "LONECARET", "CARETTRIM", "caretTrimReplace", "CARET", "CARETLOOSE", "COMPARATORLOOSE", "COMPARATOR", "COMPARATORTRIM", "comparatorTrimReplace", "HYPHENRANGE", "HYPHENRANGELOOSE", "STAR", "parse", "version", "options", "valid", "v", "clean", "s", "m", "id", "num", "other", "compareIdentifiers", "a", "b", "release", "identifier", "inc", "loose", "diff", "version1", "version2", "eq", "v1", "v2", "prefix", "defaultResult", "key", "numeric", "anum", "bnum", "rcompareIdentifiers", "major", "minor", "patch", "compare", "compareLoose", "rcompare", "sort", "list", "rsort", "gt", "lt", "neq", "gte", "lte", "cmp", "op", "Comparator", "comp", "ANY", "r", "rangeTmp", "Range", "satisfies", "sameDirectionIncreasing", "sameDirectionDecreasing", "sameSemVer", "differentDirectionsInclusive", "oppositeDirectionsLessThan", "oppositeDirectionsGreaterThan", "range", "c", "comps", "hr", "hyphenReplace", "compRe", "set", "parseComparator", "thisComparators", "thisComparator", "rangeComparators", "rangeComparator", "toComparators", "replaceCarets", "replaceTildes", "replaceXRanges", "replaceStars", "isX", "replaceTilde", "_", "M", "pr", "ret", "replaceCaret", "replaceXRange", "gtlt", "p", "xM", "xm", "xp", "anyX", "$0", "from", "fM", "fm", "fp", "fpr", "fb", "to", "tM", "tm", "tp", "tpr", "tb", "testSet", "allowed", "maxSatisfying", "versions", "maxSV", "rangeObj", "minSatisfying", "min", "minSV", "minVersion", "minver", "comparators", "comparator", "compver", "validRange", "ltr", "outside", "gtr", "hilo", "gtfn", "ltefn", "ltfn", "ecomp", "high", "low", "prerelease", "parsed", "intersects", "r1", "r2", "coerce", "match", "require_spdx_license_ids", "__commonJSMin", "exports", "module", "require_deprecated", "__commonJSMin", "exports", "module", "require_spdx_exceptions", "__commonJSMin", "exports", "module", "require_scan", "__commonJSMin", "exports", "module", "licenses", "exceptions", "source", "index", "hasMore", "read", "value", "chars", "match", "skipWhitespace", "operator", "string", "possibilities", "i", "idstring", "expectIdstring", "documentRef", "licenseRef", "identifier", "begin", "parseToken", "tokens", "token", "require_parse", "__commonJSMin", "exports", "module", "tokens", "index", "hasMore", "token", "next", "parseOperator", "operator", "t", "parseWith", "parseLicenseRef", "begin", "string", "parseLicense", "node", "exception", "parseParenthesizedExpression", "left", "expr", "parseExpression", "parseAtom", "makeBinaryOpParser", "nextParser", "parseBinaryOp", "right", "parseAnd", "require_spdx_expression_parse", "__commonJSMin", "exports", "module", "scan", "parse", "source", "require_spdx_correct", "__commonJSMin", "exports", "module", "parse", "spdxLicenseIds", "valid", "string", "sortTranspositions", "a", "b", "length", "transpositions", "TRANSPOSED", "CORRECT", "transforms", "argument", "licensesWithVersions", "id", "match", "objectMap", "item", "key", "licensesWithOneVersion", "lastResorts", "SUBSTRING", "IDENTIFIER", "validTransformation", "identifier", "i", "transformed", "validLastResort", "upperCased", "lastResort", "anyCorrection", "check", "transposition", "transposed", "corrected", "checked", "options", "upgrade", "postprocess", "value", "upgradeGPLs", "validArugment", "noPlus", "require_validate_npm_package_license", "__commonJSMin", "exports", "module", "parse", "correct", "genericWarning", "fileReferenceRE", "startsWith", "prefix", "string", "usesLicenseRef", "ast", "license", "argument", "match", "result", "corrected", "require_git_host_info", "__commonJSMin", "exports", "module", "gitHosts", "fragment", "formatHashFragment", "gitHostDefaults", "name", "key", "protocol", "require_git_host", "__commonJSMin", "exports", "module", "gitHosts", "extend", "target", "source", "keys", "i", "GitHost", "type", "user", "auth", "project", "committish", "defaultRepresentation", "opts", "gitHostInfo", "key", "template", "vars", "self", "rawAuth", "rawcommittish", "rawFragment", "rawPath", "rawProject", "value", "pathComponent", "res", "P", "F", "opts_", "require_hosted_git_info", "__commonJSMin", "exports", "module", "url", "gitHosts", "GitHost", "protocolToRepresentationMap", "protocolToRepresentation", "protocol", "authProtocols", "cache", "giturl", "opts", "key", "fromUrl", "fixupUnqualifiedGist", "isGitHubShorthand", "parsed", "parseGitUrl", "shortcutMatch", "matches", "gitHostName", "gitHostInfo", "auth", "committish", "user", "project", "defaultRepresentation", "pathmatch", "matched", "ex", "arg", "legacy", "authmatch", "whatwg", "require_homedir", "__commonJSMin", "exports", "module", "os", "home", "user", "require_caller", "__commonJSMin", "exports", "module", "origPrepareStackTrace", "_", "stack", "require_path_parse", "__commonJSMin", "exports", "module", "isWindows", "splitWindowsRe", "win32", "win32SplitPath", "filename", "pathString", "allParts", "splitPathRe", "posix", "posixSplitPath", "require_node_modules_paths", "__commonJSMin", "exports", "module", "path", "parse", "getNodeModulesDirs", "absoluteStart", "modules", "prefix", "paths", "parsed", "dirs", "aPath", "moduleDir", "start", "opts", "request", "require_normalize_options", "__commonJSMin", "exports", "module", "x", "opts", "require_implementation", "__commonJSMin", "exports", "module", "ERROR_MESSAGE", "toStr", "max", "funcType", "concatty", "b", "arr", "i", "j", "slicy", "arrLike", "offset", "joiny", "joiner", "str", "that", "target", "args", "bound", "binder", "result", "boundLength", "boundArgs", "Empty", "require_function_bind", "__commonJSMin", "exports", "module", "implementation", "require_hasown", "__commonJSMin", "exports", "module", "call", "$hasOwn", "bind", "require_core", "__commonJSMin", "exports", "module", "require_is_core_module", "__commonJSMin", "exports", "module", "hasOwn", "specifierIncluded", "current", "specifier", "nodeParts", "parts", "op", "versionParts", "i", "cur", "ver", "matchesRange", "range", "specifiers", "versionIncluded", "nodeVersion", "specifierValue", "data", "x", "require_async", "__commonJSMin", "exports", "module", "fs", "getHomedir", "path", "caller", "nodeModulesPaths", "normalizeOptions", "isCore", "realpathFS", "homedir", "defaultPaths", "defaultIsFile", "file", "cb", "err", "stat", "defaultIsDir", "dir", "defaultRealpath", "x", "realpathErr", "realPath", "maybeRealpath", "realpath", "opts", "defaultReadPackage", "readFile", "pkgfile", "readFileErr", "body", "pkg", "getPackageCandidates", "start", "dirs", "options", "callback", "isFile", "isDirectory", "readPackage", "conflictErr", "packageIterator", "extensions", "includeCoreModules", "basedir", "parent", "absoluteStart", "realStart", "init", "res", "loadAsDirectory", "onfile", "loadAsFile", "loadNodeModules", "n", "realN", "moduleError", "m", "d", "realD", "thePackage", "loadAsFilePackage", "exts", "load", "loadPackage", "onpkg", "loadpkg", "pkg_", "rfile", "rel", "r", "onex", "ex", "unwrapErr", "pkgdir", "pkgParam", "loadAsDirectoryPackage", "fpkg", "mainError", "processDirs", "isdir", "ondir", "thunk", "require_core", "__commonJSMin", "exports", "module", "require_core", "__commonJSMin", "exports", "module", "isCoreModule", "data", "core", "mod", "require_is_core", "__commonJSMin", "exports", "module", "isCoreModule", "x", "require_sync", "__commonJSMin", "exports", "module", "isCore", "fs", "path", "getHomedir", "caller", "nodeModulesPaths", "normalizeOptions", "realpathFS", "homedir", "defaultPaths", "defaultIsFile", "file", "stat", "e", "defaultIsDir", "dir", "defaultRealpathSync", "x", "realpathErr", "maybeRealpathSync", "realpathSync", "opts", "defaultReadPackageSync", "readFileSync", "pkgfile", "body", "pkg", "getPackageCandidates", "start", "dirs", "options", "isFile", "isDirectory", "readPackageSync", "packageIterator", "extensions", "includeCoreModules", "basedir", "parent", "absoluteStart", "res", "m", "loadAsFileSync", "loadAsDirectorySync", "n", "loadNodeModulesSync", "err", "loadpkg", "rfile", "r", "i", "mainError", "thunk", "require_resolve", "__commonJSMin", "exports", "module", "async", "require_extract_description", "__commonJSMin", "exports", "module", "extractDescription", "d", "s", "l", "e", "require_typos", "__commonJSMin", "exports", "module", "require_fixer", "__commonJSMin", "exports", "module", "semver", "validateLicense", "hostedGitInfo", "isBuiltinModule", "depTypes", "extractDescription", "url", "typos", "fixer", "data", "r", "hosted", "d", "k", "files", "file", "b", "match", "bdd", "bd", "strict", "loose", "objectifyDeps", "addOptionalDepsToDeps", "deps", "kw", "modifyPeople", "unParsePerson", "parsePerson", "options", "ensureValidName", "emailRe", "bugsTypos", "oldBugs", "isValidScopedPackageName", "spec", "rest", "isCorrectlyEncodedName", "name", "allowLegacyCase", "fn", "set", "person", "u", "e", "email", "obj", "warn", "o", "depObjectify", "type", "dn", "dv", "bugs", "require_warning_messages", "__commonJSMin", "exports", "module", "require_make_warning", "__commonJSMin", "exports", "module", "util", "messages", "args", "warningName", "makeTypoWarning", "msgTemplate", "providedName", "probableName", "field", "require_normalize", "__commonJSMin", "exports", "module", "normalize", "fixer", "makeWarning", "fieldsToFix", "otherThingsToFix", "thingsToFix", "fieldName", "ucFirst", "data", "warn", "strict", "msg", "thingName", "string", "require_read_pkg", "__commonJSMin", "exports", "module", "promisify", "fs", "path", "parseJson", "readFileAsync", "options", "filePath", "json", "require_read_pkg_up", "__commonJSMin", "exports", "module", "path", "findUp", "readPkg", "options", "filePath", "require_distribution", "__commonJSMin", "exports", "api_1", "read_pkg_up_1", "callbackLaunchCommand", "options", "result", "crossLaunchCommand", "callbackLaunchOptions", "pack", "ownerOrAuthorName", "targetHandle", "message", "require_chroma", "__commonJSMin", "exports", "module", "Color", "DEG2RAD", "LAB_CONSTANTS", "PI", "PITHIRD", "RAD2DEG", "TWOPI", "_average_lrgb", "_guess_formats", "_guess_formats_sorted", "_input", "_interpolators", "abs", "atan2", "bezier", "blend", "blend_f", "brewer", "burn", "chroma", "clip_rgb", "cmyk2rgb", "colors", "cos", "css2rgb", "darken", "dodge", "each", "floor", "hcg2rgb", "hex2rgb", "hsi2rgb", "hsl2css", "hsl2rgb", "hsv2rgb", "interpolate", "interpolate_hsx", "interpolate_lab", "interpolate_lrgb", "interpolate_num", "interpolate_rgb", "lab2lch", "lab2rgb", "lab_xyz", "lch2lab", "lch2rgb", "lighten", "limit", "log", "luminance_x", "m", "max", "multiply", "normal", "num2rgb", "overlay", "pow", "rgb2cmyk", "rgb2css", "rgb2hcg", "rgb2hex", "rgb2hsi", "rgb2hsl", "rgb2hsv", "rgb2lab", "rgb2lch", "rgb2luminance", "rgb2num", "rgb2temperature", "rgb2xyz", "rgb_xyz", "rnd", "root", "round", "screen", "sin", "sqrt", "temperature2rgb", "type", "unpack", "w3cx11", "xyz_lab", "xyz_rgb", "slice", "classToType", "len", "name", "o", "ref", "obj", "strType", "x", "min", "args", "rgb", "i", "func", "ctor", "child", "result", "arg", "chk", "len1", "me", "mode", "w", "a", "b", "key", "results", "g", "l", "r", "z", "t", "ref1", "y", "I", "I0", "I1", "c", "lab0", "lab1", "lab2", "lab3", "ref2", "lab", "f", "start", "rotations", "hue", "gamma", "lightness", "dh", "dl", "fract", "amp", "cos_a", "h", "sin_a", "s", "code", "digits", "col1", "col2", "interpol", "res", "k", "v", "n", "xyz0", "xyz1", "col", "xyz", "A", "alpha", "cnt", "dx", "dy", "first", "xyz2", "hex", "u", "channels", "hxa", "str", "t1", "t2", "t3", "p", "q", "ref3", "ref4", "ref5", "delta", "num", "_c", "_g", "css", "aa", "ab", "hsl", "rgba", "L", "lum", "cur_lum", "eps", "max_iter", "test", "lm", "kelvin", "temp", "maxTemp", "minTemp", "l1", "l2", "d", "sum_sq", "C", "L1", "L2", "a1", "a2", "b1", "b2", "c1", "c2", "c4", "dH2", "delA", "delB", "delC", "delL", "h1", "sc", "sh", "sl", "v1", "v2", "v3", "modechan", "channel", "src", "value", "amount", "lch", "bottom", "top", "c0", "out", "data", "val", "positions", "_classes", "_colorCache", "_colors", "_correctLightness", "_domain", "_fixed", "_gamma", "_max", "_min", "_mode", "_nacol", "_out", "_padding", "_pos", "_spread", "_useCache", "classifyValue", "getClass", "getColor", "resetCache", "setColors", "tmap", "maxc", "minc", "bypassMap", "classes", "domain", "_m", "_o", "L0", "L_actual", "L_diff", "L_ideal", "pol", "t0", "numColors", "dd", "dm", "samples", "filter", "add", "visit", "ac", "ad", "ae", "af", "ag", "ah", "ai", "aj", "ak", "al", "am", "assignments", "best", "centroids", "cluster", "clusterSizes", "dist", "j", "kClusters", "limits", "max_log", "min_log", "mindist", "nb_iters", "newCentroids", "pb", "pr", "ref10", "ref11", "ref12", "ref13", "ref14", "ref6", "ref7", "ref8", "ref9", "repeat", "sum", "tmpKMeansBreaks", "values", "hue0", "hue1", "lbv", "lbv0", "lbv1", "sat", "sat0", "sat1", "n1", "n2", "require_is_implemented", "__commonJSMin", "exports", "module", "weakMap", "obj", "require_noop", "__commonJSMin", "exports", "module", "require_is_value", "__commonJSMin", "exports", "module", "_undefined", "val", "require_is_implemented", "__commonJSMin", "exports", "module", "create", "getPrototypeOf", "plainObject", "setPrototypeOf", "customCreate", "require_is_object", "__commonJSMin", "exports", "module", "isValue", "map", "value", "require_valid_value", "__commonJSMin", "exports", "module", "isValue", "value", "require_create", "__commonJSMin", "exports", "module", "create", "shim", "nullObject", "polyProps", "desc", "name", "prototype", "props", "require_shim", "__commonJSMin", "exports", "module", "isObject", "value", "objIsPrototypeOf", "defineProperty", "nullDesc", "validate", "obj", "prototype", "status", "fn", "set", "self", "isNullBase", "tmpObj1", "tmpObj2", "desc", "require_set_prototype_of", "__commonJSMin", "exports", "module", "require_valid_object", "__commonJSMin", "exports", "module", "isObject", "value", "require_random_uniq", "__commonJSMin", "exports", "module", "generated", "random", "str", "require_is", "__commonJSMin", "exports", "module", "_undefined", "value", "require_is", "__commonJSMin", "exports", "module", "isValue", "possibleTypes", "value", "require_is", "__commonJSMin", "exports", "module", "isObject", "value", "require_is", "__commonJSMin", "exports", "module", "isPrototype", "value", "require_is", "__commonJSMin", "exports", "module", "isFunction", "classRe", "functionToString", "value", "require_is_implemented", "__commonJSMin", "exports", "module", "assign", "obj", "require_is_implemented", "__commonJSMin", "exports", "module", "require_shim", "__commonJSMin", "exports", "module", "isValue", "keys", "object", "require_keys", "__commonJSMin", "exports", "module", "require_shim", "__commonJSMin", "exports", "module", "keys", "value", "max", "dest", "src", "error", "i", "length", "assign", "key", "e", "require_assign", "__commonJSMin", "exports", "module", "require_normalize_options", "__commonJSMin", "exports", "module", "isValue", "forEach", "create", "process", "src", "obj", "key", "opts1", "result", "options", "require_is_implemented", "__commonJSMin", "exports", "module", "str", "require_shim", "__commonJSMin", "exports", "module", "indexOf", "searchString", "require_contains", "__commonJSMin", "exports", "module", "require_d", "__commonJSMin", "exports", "module", "isValue", "isPlainFunction", "assign", "normalizeOpts", "contains", "d", "dscr", "value", "c", "e", "w", "options", "desc", "get", "set", "require_is_arguments", "__commonJSMin", "exports", "module", "objToString", "id", "value", "require_is_string", "__commonJSMin", "exports", "module", "objToString", "id", "value", "require_is_implemented", "__commonJSMin", "exports", "module", "require_implementation", "__commonJSMin", "exports", "module", "naiveFallback", "require_global_this", "__commonJSMin", "exports", "module", "require_is_implemented", "__commonJSMin", "exports", "module", "global", "validTypes", "Symbol", "symbol", "require_is_symbol", "__commonJSMin", "exports", "module", "value", "require_validate_symbol", "__commonJSMin", "exports", "module", "isSymbol", "value", "require_generate_name", "__commonJSMin", "exports", "module", "d", "create", "defineProperty", "objPrototype", "created", "desc", "postfix", "name", "ie11BugWorkaround", "value", "require_standard_symbols", "__commonJSMin", "exports", "module", "d", "NativeSymbol", "SymbolPolyfill", "require_symbol_registry", "__commonJSMin", "exports", "module", "d", "validateSymbol", "registry", "SymbolPolyfill", "key", "symbol", "require_polyfill", "__commonJSMin", "exports", "module", "d", "validateSymbol", "NativeSymbol", "generateName", "setupStandardSymbols", "setupSymbolRegistry", "create", "defineProperties", "defineProperty", "SymbolPolyfill", "HiddenSymbol", "isNativeSafe", "description", "Symbol", "symbol", "require_es6_symbol", "__commonJSMin", "exports", "module", "require_clear", "__commonJSMin", "exports", "module", "value", "require_valid_callable", "__commonJSMin", "exports", "module", "fn", "require_coerce", "__commonJSMin", "exports", "module", "isValue", "isObject", "objectToString", "value", "valueToString", "require_safe_to_string", "__commonJSMin", "exports", "module", "value", "require_to_short_string", "__commonJSMin", "exports", "module", "safeToString", "reNewLine", "value", "string", "char", "require_resolve_error_message", "__commonJSMin", "exports", "module", "stringCoerce", "toShortString", "errorMessage", "value", "inputOptions", "valueInsertIndex", "valueToken", "nameInsertIndex", "firstToken", "secondToken", "firstInsertIndex", "secondInsertIndex", "require_resolve_exception", "__commonJSMin", "exports", "module", "isValue", "resolveErrorMessage", "value", "defaultMessage", "inputOptions", "ErrorConstructor", "error", "require_ensure", "__commonJSMin", "exports", "module", "resolveException", "is", "value", "options", "errorMessage", "require_ensure", "__commonJSMin", "exports", "module", "resolveException", "is", "value", "options", "errorMessage", "require_is_implemented", "__commonJSMin", "exports", "module", "from", "arr", "result", "require_is_function", "__commonJSMin", "exports", "module", "objToString", "isFunctionStringTag", "value", "require_is_implemented", "__commonJSMin", "exports", "module", "sign", "require_shim", "__commonJSMin", "exports", "module", "value", "require_sign", "__commonJSMin", "exports", "module", "require_to_integer", "__commonJSMin", "exports", "module", "sign", "abs", "floor", "value", "require_to_pos_integer", "__commonJSMin", "exports", "module", "toInteger", "max", "value", "require_shim", "__commonJSMin", "exports", "module", "iteratorSymbol", "isArguments", "isFunction", "toPosInt", "callable", "validValue", "isValue", "isString", "isArray", "call", "desc", "defineProperty", "arrayLike", "mapFn", "thisArg", "Context", "i", "j", "arr", "length", "code", "iterator", "result", "getIterator", "value", "require_from", "__commonJSMin", "exports", "module", "require_copy", "__commonJSMin", "exports", "module", "aFrom", "assign", "value", "obj", "copy", "propertyNames", "options", "result", "propertyName", "require_iterate", "__commonJSMin", "exports", "module", "callable", "value", "bind", "call", "keys", "objPropertyIsEnumerable", "method", "defVal", "obj", "cb", "list", "thisArg", "compareFn", "key", "index", "require_for_each", "__commonJSMin", "exports", "module", "require_map", "__commonJSMin", "exports", "module", "callable", "forEach", "call", "obj", "cb", "result", "thisArg", "value", "key", "targetObj", "index", "require_auto_bind", "__commonJSMin", "exports", "module", "isValue", "ensureValue", "ensurePlainFunction", "copy", "normalizeOptions", "map", "bind", "defineProperty", "hasOwnProperty", "define", "name", "desc", "options", "value", "dgs", "props", "require_es6_iterator", "__commonJSMin", "exports", "module", "clear", "assign", "callable", "value", "d", "autoBind", "Symbol", "defineProperty", "defineProperties", "Iterator", "list", "context", "i", "index", "redo", "j", "require_array", "__commonJSMin", "exports", "module", "setPrototypeOf", "contains", "d", "Symbol", "Iterator", "defineProperty", "ArrayIterator", "arr", "kind", "i", "require_string", "__commonJSMin", "exports", "module", "setPrototypeOf", "d", "Symbol", "Iterator", "defineProperty", "StringIterator", "str", "i", "char", "code", "require_is_iterable", "__commonJSMin", "exports", "module", "isArguments", "isValue", "isString", "iteratorSymbol", "isArray", "value", "require_valid_iterable", "__commonJSMin", "exports", "module", "isIterable", "value", "require_get", "__commonJSMin", "exports", "module", "isArguments", "isString", "ArrayIterator", "StringIterator", "iterable", "iteratorSymbol", "obj", "require_for_of", "__commonJSMin", "exports", "module", "isArguments", "callable", "isString", "get", "isArray", "call", "some", "iterable", "cb", "mode", "thisArg", "result", "doBreak", "broken", "i", "length", "char", "code", "value", "require_is_native_implemented", "__commonJSMin", "exports", "module", "require_polyfill", "__commonJSMin", "exports", "module", "isValue", "setPrototypeOf", "object", "ensureValue", "randomUniq", "d", "getIterator", "forOf", "toStringTagSymbol", "isNative", "isArray", "defineProperty", "objHasOwnProperty", "getPrototypeOf", "WeakMapPoly", "iterable", "self", "val", "key", "value", "require_es6_weak_map", "__commonJSMin", "exports", "module", "require_basic", "__commonJSMin", "exports", "module", "require_html", "__commonJSMin", "exports", "module", "require_ntc", "__commonJSMin", "exports", "module", "require_pantone", "__commonJSMin", "exports", "module", "require_roygbiv", "__commonJSMin", "exports", "module", "require_x11", "__commonJSMin", "exports", "module", "require_color_namer", "__commonJSMin", "exports", "module", "chroma", "WeakMap", "lists", "cache", "namer", "color", "options", "cacheKey", "deltaE", "results", "key", "name", "a", "b", "require_listCacheClear", "__commonJSMin", "exports", "module", "listCacheClear", "require_eq", "__commonJSMin", "exports", "module", "eq", "value", "other", "require_assocIndexOf", "__commonJSMin", "exports", "module", "eq", "assocIndexOf", "array", "key", "length", "require_listCacheDelete", "__commonJSMin", "exports", "module", "assocIndexOf", "arrayProto", "splice", "listCacheDelete", "key", "data", "index", "lastIndex", "require_listCacheGet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheGet", "key", "data", "index", "require_listCacheHas", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheHas", "key", "require_listCacheSet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheSet", "key", "value", "data", "index", "require_ListCache", "__commonJSMin", "exports", "module", "listCacheClear", "listCacheDelete", "listCacheGet", "listCacheHas", "listCacheSet", "ListCache", "entries", "index", "length", "entry", "require_stackClear", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "require_stackDelete", "__commonJSMin", "exports", "module", "stackDelete", "key", "data", "result", "require_stackGet", "__commonJSMin", "exports", "module", "stackGet", "key", "require_stackHas", "__commonJSMin", "exports", "module", "stackHas", "key", "require_freeGlobal", "__commonJSMin", "exports", "module", "freeGlobal", "require_root", "__commonJSMin", "exports", "module", "freeGlobal", "freeSelf", "root", "require_Symbol", "__commonJSMin", "exports", "module", "root", "Symbol", "require_getRawTag", "__commonJSMin", "exports", "module", "Symbol", "objectProto", "hasOwnProperty", "nativeObjectToString", "symToStringTag", "getRawTag", "value", "isOwn", "tag", "unmasked", "result", "require_objectToString", "__commonJSMin", "exports", "module", "objectProto", "nativeObjectToString", "objectToString", "value", "require_baseGetTag", "__commonJSMin", "exports", "module", "Symbol", "getRawTag", "objectToString", "nullTag", "undefinedTag", "symToStringTag", "baseGetTag", "value", "require_isObject", "__commonJSMin", "exports", "module", "isObject", "value", "type", "require_isFunction", "__commonJSMin", "exports", "module", "baseGetTag", "isObject", "asyncTag", "funcTag", "genTag", "proxyTag", "isFunction", "value", "tag", "require_coreJsData", "__commonJSMin", "exports", "module", "root", "coreJsData", "require_isMasked", "__commonJSMin", "exports", "module", "coreJsData", "maskSrcKey", "uid", "isMasked", "func", "require_toSource", "__commonJSMin", "exports", "module", "funcProto", "funcToString", "toSource", "func", "require_baseIsNative", "__commonJSMin", "exports", "module", "isFunction", "isMasked", "isObject", "toSource", "reRegExpChar", "reIsHostCtor", "funcProto", "objectProto", "funcToString", "hasOwnProperty", "reIsNative", "baseIsNative", "value", "pattern", "require_getValue", "__commonJSMin", "exports", "module", "getValue", "object", "key", "require_getNative", "__commonJSMin", "exports", "module", "baseIsNative", "getValue", "getNative", "object", "key", "value", "require_Map", "__commonJSMin", "exports", "module", "getNative", "root", "Map", "require_nativeCreate", "__commonJSMin", "exports", "module", "getNative", "nativeCreate", "require_hashClear", "__commonJSMin", "exports", "module", "nativeCreate", "hashClear", "require_hashDelete", "__commonJSMin", "exports", "module", "hashDelete", "key", "result", "require_hashGet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "objectProto", "hasOwnProperty", "hashGet", "key", "data", "result", "require_hashHas", "__commonJSMin", "exports", "module", "nativeCreate", "objectProto", "hasOwnProperty", "hashHas", "key", "data", "require_hashSet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "hashSet", "key", "value", "data", "require_Hash", "__commonJSMin", "exports", "module", "hashClear", "hashDelete", "hashGet", "hashHas", "hashSet", "Hash", "entries", "index", "length", "entry", "require_mapCacheClear", "__commonJSMin", "exports", "module", "Hash", "ListCache", "Map", "mapCacheClear", "require_isKeyable", "__commonJSMin", "exports", "module", "isKeyable", "value", "type", "require_getMapData", "__commonJSMin", "exports", "module", "isKeyable", "getMapData", "map", "key", "data", "require_mapCacheDelete", "__commonJSMin", "exports", "module", "getMapData", "mapCacheDelete", "key", "result", "require_mapCacheGet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheGet", "key", "require_mapCacheHas", "__commonJSMin", "exports", "module", "getMapData", "mapCacheHas", "key", "require_mapCacheSet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheSet", "key", "value", "data", "size", "require_MapCache", "__commonJSMin", "exports", "module", "mapCacheClear", "mapCacheDelete", "mapCacheGet", "mapCacheHas", "mapCacheSet", "MapCache", "entries", "index", "length", "entry", "require_stackSet", "__commonJSMin", "exports", "module", "ListCache", "Map", "MapCache", "LARGE_ARRAY_SIZE", "stackSet", "key", "value", "data", "pairs", "require_Stack", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "stackDelete", "stackGet", "stackHas", "stackSet", "Stack", "entries", "data", "require_setCacheAdd", "__commonJSMin", "exports", "module", "HASH_UNDEFINED", "setCacheAdd", "value", "require_setCacheHas", "__commonJSMin", "exports", "module", "setCacheHas", "value", "require_SetCache", "__commonJSMin", "exports", "module", "MapCache", "setCacheAdd", "setCacheHas", "SetCache", "values", "index", "length", "require_arraySome", "__commonJSMin", "exports", "module", "arraySome", "array", "predicate", "index", "length", "require_cacheHas", "__commonJSMin", "exports", "module", "cacheHas", "cache", "key", "require_equalArrays", "__commonJSMin", "exports", "module", "SetCache", "arraySome", "cacheHas", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "equalArrays", "array", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "arrLength", "othLength", "arrStacked", "othStacked", "index", "result", "seen", "arrValue", "othValue", "compared", "othIndex", "require_Uint8Array", "__commonJSMin", "exports", "module", "root", "Uint8Array", "require_mapToArray", "__commonJSMin", "exports", "module", "mapToArray", "map", "index", "result", "value", "key", "require_setToArray", "__commonJSMin", "exports", "module", "setToArray", "set", "index", "result", "value", "require_equalByTag", "__commonJSMin", "exports", "module", "Symbol", "Uint8Array", "eq", "equalArrays", "mapToArray", "setToArray", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "boolTag", "dateTag", "errorTag", "mapTag", "numberTag", "regexpTag", "setTag", "stringTag", "symbolTag", "arrayBufferTag", "dataViewTag", "symbolProto", "symbolValueOf", "equalByTag", "object", "other", "tag", "bitmask", "customizer", "equalFunc", "stack", "convert", "isPartial", "stacked", "result", "require_arrayPush", "__commonJSMin", "exports", "module", "arrayPush", "array", "values", "index", "length", "offset", "require_isArray", "__commonJSMin", "exports", "module", "isArray", "require_baseGetAllKeys", "__commonJSMin", "exports", "module", "arrayPush", "isArray", "baseGetAllKeys", "object", "keysFunc", "symbolsFunc", "result", "require_arrayFilter", "__commonJSMin", "exports", "module", "arrayFilter", "array", "predicate", "index", "length", "resIndex", "result", "value", "require_stubArray", "__commonJSMin", "exports", "module", "stubArray", "require_getSymbols", "__commonJSMin", "exports", "module", "arrayFilter", "stubArray", "objectProto", "propertyIsEnumerable", "nativeGetSymbols", "getSymbols", "object", "symbol", "require_baseTimes", "__commonJSMin", "exports", "module", "baseTimes", "n", "iteratee", "index", "result", "require_isObjectLike", "__commonJSMin", "exports", "module", "isObjectLike", "value", "require_baseIsArguments", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "argsTag", "baseIsArguments", "value", "require_isArguments", "__commonJSMin", "exports", "module", "baseIsArguments", "isObjectLike", "objectProto", "hasOwnProperty", "propertyIsEnumerable", "isArguments", "value", "require_stubFalse", "__commonJSMin", "exports", "module", "stubFalse", "require_isBuffer", "__commonJSMin", "exports", "module", "root", "stubFalse", "freeExports", "freeModule", "moduleExports", "Buffer", "nativeIsBuffer", "isBuffer", "require_isIndex", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "reIsUint", "isIndex", "value", "length", "type", "require_isLength", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "isLength", "value", "require_baseIsTypedArray", "__commonJSMin", "exports", "module", "baseGetTag", "isLength", "isObjectLike", "argsTag", "arrayTag", "boolTag", "dateTag", "errorTag", "funcTag", "mapTag", "numberTag", "objectTag", "regexpTag", "setTag", "stringTag", "weakMapTag", "arrayBufferTag", "dataViewTag", "float32Tag", "float64Tag", "int8Tag", "int16Tag", "int32Tag", "uint8Tag", "uint8ClampedTag", "uint16Tag", "uint32Tag", "typedArrayTags", "baseIsTypedArray", "value", "require_baseUnary", "__commonJSMin", "exports", "module", "baseUnary", "func", "value", "require_nodeUtil", "__commonJSMin", "exports", "module", "freeGlobal", "freeExports", "freeModule", "moduleExports", "freeProcess", "nodeUtil", "types", "require_isTypedArray", "__commonJSMin", "exports", "module", "baseIsTypedArray", "baseUnary", "nodeUtil", "nodeIsTypedArray", "isTypedArray", "require_arrayLikeKeys", "__commonJSMin", "exports", "module", "baseTimes", "isArguments", "isArray", "isBuffer", "isIndex", "isTypedArray", "objectProto", "hasOwnProperty", "arrayLikeKeys", "value", "inherited", "isArr", "isArg", "isBuff", "isType", "skipIndexes", "result", "length", "key", "require_isPrototype", "__commonJSMin", "exports", "module", "objectProto", "isPrototype", "value", "Ctor", "proto", "require_overArg", "__commonJSMin", "exports", "module", "overArg", "func", "transform", "arg", "require_nativeKeys", "__commonJSMin", "exports", "module", "overArg", "nativeKeys", "require_baseKeys", "__commonJSMin", "exports", "module", "isPrototype", "nativeKeys", "objectProto", "hasOwnProperty", "baseKeys", "object", "result", "key", "require_isArrayLike", "__commonJSMin", "exports", "module", "isFunction", "isLength", "isArrayLike", "value", "require_keys", "__commonJSMin", "exports", "module", "arrayLikeKeys", "baseKeys", "isArrayLike", "keys", "object", "require_getAllKeys", "__commonJSMin", "exports", "module", "baseGetAllKeys", "getSymbols", "keys", "getAllKeys", "object", "require_equalObjects", "__commonJSMin", "exports", "module", "getAllKeys", "COMPARE_PARTIAL_FLAG", "objectProto", "hasOwnProperty", "equalObjects", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "objProps", "objLength", "othProps", "othLength", "index", "key", "objStacked", "othStacked", "result", "skipCtor", "objValue", "othValue", "compared", "objCtor", "othCtor", "require_DataView", "__commonJSMin", "exports", "module", "getNative", "root", "DataView", "require_Promise", "__commonJSMin", "exports", "module", "getNative", "root", "Promise", "require_Set", "__commonJSMin", "exports", "module", "getNative", "root", "Set", "require_WeakMap", "__commonJSMin", "exports", "module", "getNative", "root", "WeakMap", "require_getTag", "__commonJSMin", "exports", "module", "DataView", "Map", "Promise", "Set", "WeakMap", "baseGetTag", "toSource", "mapTag", "objectTag", "promiseTag", "setTag", "weakMapTag", "dataViewTag", "dataViewCtorString", "mapCtorString", "promiseCtorString", "setCtorString", "weakMapCtorString", "getTag", "value", "result", "Ctor", "ctorString", "require_baseIsEqualDeep", "__commonJSMin", "exports", "module", "Stack", "equalArrays", "equalByTag", "equalObjects", "getTag", "isArray", "isBuffer", "isTypedArray", "COMPARE_PARTIAL_FLAG", "argsTag", "arrayTag", "objectTag", "objectProto", "hasOwnProperty", "baseIsEqualDeep", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "objIsArr", "othIsArr", "objTag", "othTag", "objIsObj", "othIsObj", "isSameTag", "objIsWrapped", "othIsWrapped", "objUnwrapped", "othUnwrapped", "require_baseIsEqual", "__commonJSMin", "exports", "module", "baseIsEqualDeep", "isObjectLike", "baseIsEqual", "value", "other", "bitmask", "customizer", "stack", "require_baseIsMatch", "__commonJSMin", "exports", "module", "Stack", "baseIsEqual", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseIsMatch", "object", "source", "matchData", "customizer", "index", "length", "noCustomizer", "data", "key", "objValue", "srcValue", "stack", "result", "require_isStrictComparable", "__commonJSMin", "exports", "module", "isObject", "isStrictComparable", "value", "require_getMatchData", "__commonJSMin", "exports", "module", "isStrictComparable", "keys", "getMatchData", "object", "result", "length", "key", "value", "require_matchesStrictComparable", "__commonJSMin", "exports", "module", "matchesStrictComparable", "key", "srcValue", "object", "require_baseMatches", "__commonJSMin", "exports", "module", "baseIsMatch", "getMatchData", "matchesStrictComparable", "baseMatches", "source", "matchData", "object", "require_isSymbol", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "symbolTag", "isSymbol", "value", "require_isKey", "__commonJSMin", "exports", "module", "isArray", "isSymbol", "reIsDeepProp", "reIsPlainProp", "isKey", "value", "object", "type", "require_memoize", "__commonJSMin", "exports", "module", "MapCache", "FUNC_ERROR_TEXT", "memoize", "func", "resolver", "memoized", "args", "key", "cache", "result", "require_memoizeCapped", "__commonJSMin", "exports", "module", "memoize", "MAX_MEMOIZE_SIZE", "memoizeCapped", "func", "result", "key", "cache", "require_stringToPath", "__commonJSMin", "exports", "module", "memoizeCapped", "rePropName", "reEscapeChar", "stringToPath", "string", "result", "match", "number", "quote", "subString", "require_arrayMap", "__commonJSMin", "exports", "module", "arrayMap", "array", "iteratee", "index", "length", "result", "require_baseToString", "__commonJSMin", "exports", "module", "Symbol", "arrayMap", "isArray", "isSymbol", "INFINITY", "symbolProto", "symbolToString", "baseToString", "value", "result", "require_toString", "__commonJSMin", "exports", "module", "baseToString", "toString", "value", "require_castPath", "__commonJSMin", "exports", "module", "isArray", "isKey", "stringToPath", "toString", "castPath", "value", "object", "require_toKey", "__commonJSMin", "exports", "module", "isSymbol", "INFINITY", "toKey", "value", "result", "require_baseGet", "__commonJSMin", "exports", "module", "castPath", "toKey", "baseGet", "object", "path", "index", "length", "require_get", "__commonJSMin", "exports", "module", "baseGet", "get", "object", "path", "defaultValue", "result", "require_baseHasIn", "__commonJSMin", "exports", "module", "baseHasIn", "object", "key", "require_hasPath", "__commonJSMin", "exports", "module", "castPath", "isArguments", "isArray", "isIndex", "isLength", "toKey", "hasPath", "object", "path", "hasFunc", "index", "length", "result", "key", "require_hasIn", "__commonJSMin", "exports", "module", "baseHasIn", "hasPath", "hasIn", "object", "path", "require_baseMatchesProperty", "__commonJSMin", "exports", "module", "baseIsEqual", "get", "hasIn", "isKey", "isStrictComparable", "matchesStrictComparable", "toKey", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseMatchesProperty", "path", "srcValue", "object", "objValue", "require_identity", "__commonJSMin", "exports", "module", "identity", "value", "require_baseProperty", "__commonJSMin", "exports", "module", "baseProperty", "key", "object", "require_basePropertyDeep", "__commonJSMin", "exports", "module", "baseGet", "basePropertyDeep", "path", "object", "require_property", "__commonJSMin", "exports", "module", "baseProperty", "basePropertyDeep", "isKey", "toKey", "property", "path", "require_baseIteratee", "__commonJSMin", "exports", "module", "baseMatches", "baseMatchesProperty", "identity", "isArray", "property", "baseIteratee", "value", "require_baseFindIndex", "__commonJSMin", "exports", "module", "baseFindIndex", "array", "predicate", "fromIndex", "fromRight", "length", "index", "require_baseIsNaN", "__commonJSMin", "exports", "module", "baseIsNaN", "value", "require_strictIndexOf", "__commonJSMin", "exports", "module", "strictIndexOf", "array", "value", "fromIndex", "index", "length", "require_baseIndexOf", "__commonJSMin", "exports", "module", "baseFindIndex", "baseIsNaN", "strictIndexOf", "baseIndexOf", "array", "value", "fromIndex", "require_arrayIncludes", "__commonJSMin", "exports", "module", "baseIndexOf", "arrayIncludes", "array", "value", "length", "require_arrayIncludesWith", "__commonJSMin", "exports", "module", "arrayIncludesWith", "array", "value", "comparator", "index", "length", "require_noop", "__commonJSMin", "exports", "module", "noop", "require_createSet", "__commonJSMin", "exports", "module", "Set", "noop", "setToArray", "INFINITY", "createSet", "values", "require_baseUniq", "__commonJSMin", "exports", "module", "SetCache", "arrayIncludes", "arrayIncludesWith", "cacheHas", "createSet", "setToArray", "LARGE_ARRAY_SIZE", "baseUniq", "array", "iteratee", "comparator", "index", "includes", "length", "isCommon", "result", "seen", "set", "outer", "value", "computed", "seenIndex", "require_uniqBy", "__commonJSMin", "exports", "module", "baseIteratee", "baseUniq", "uniqBy", "array", "iteratee", "pick_color_exports", "__export", "command", "__toCommonJS", "import_api", "import_utils", "import_raycast_cross_extension", "import_color_namer", "import_api", "import_path", "import_promises", "import_child_process", "runSwiftFunction", "command", "args", "swiftPath", "resolve", "reject", "commandArgs", "arg", "k", "v", "err", "SwiftError", "child", "stdout", "stderr", "data", "code", "result", "error", "pickColor", "message", "import_api", "import_utils", "import_api", "multiplyMatrices", "A", "B", "m", "x", "p", "B_cols", "_", "i", "product", "row", "col", "ret", "c", "isString", "str", "type", "o", "serializeNumber", "n", "precision", "unit", "isNone", "toPrecision", "skipNone", "integer", "digits", "multiplier", "angleFactor", "parseFunction", "isFunctionRegex", "isNumberRegex", "unitValueRegex", "singleArgument", "parts", "args", "$0", "rawArg", "match", "arg", "unitlessArg", "last", "arr", "interpolate", "start", "end", "interpolateInv", "value", "mapRange", "from", "to", "parseCoordGrammar", "coordGrammars", "coordGrammar", "range", "clamp", "min", "val", "max", "copySign", "spow", "base", "exp", "zdiv", "d", "bisectLeft", "lo", "hi", "mid", "Hooks", "name", "callback", "first", "env", "hooks", "defaults", "msg", "WHITES", "getWhite", "adapt", "W1", "W2", "XYZ", "options", "noneTypes", "coerceCoords", "space", "format", "coords", "id", "coordMeta", "providedType", "coordName", "fromRange", "toRange", "util.mapRange", "parse", "meta", "util.parseFunction", "alternateId", "ids", "alpha", "ColorSpace", "colorSpec", "specId", "types", "didYouMean", "registryId", "cssId", "util.last", "formatId", "color", "getColor", "\u03B5", "_ColorSpace", "white", "getPath", "epsilon", "coord", "processFormat", "myPath", "otherPath", "connectionSpace", "connectionSpaceIndex", "alias", "alternatives", "ref", "workingSpace", "coordType", "normalizedCoord", "s", "coordFormats", "outputType", "suffix", "xyz_d65", "RGBColorSpace", "XYZ_D65", "rgb", "xyz", "getAll", "get", "prop", "index", "setAll", "set", "object", "XYZ_D50", "\u03B53", "\u03BA", "lab", "xyz_d50", "f", "Lab", "constrain", "angle", "adjust", "arc", "angles", "a1", "a2", "angleDiff", "lch", "L", "a", "b", "hue", "constrainAngle", "LCH", "Lightness", "Chroma", "Hue", "Gfactor", "\u03C0", "r2d", "d2r", "pow7", "x2", "deltaE2000", "sample", "kL", "kC", "kH", "L1", "b1", "C1", "L2", "b2", "C2", "Cbar", "C7", "G", "adash1", "adash2", "Cdash1", "Cdash2", "h1", "h2", "\u0394L", "\u0394C", "hdiff", "hsum", "habs", "\u0394h", "\u0394H", "Ldash", "Cdash", "Cdash7", "hdash", "lsq", "SL", "SC", "T", "SH", "\u0394\u03B8", "RC", "RT", "dE", "XYZtoLMS_M", "LMStoXYZ_M", "LMStoLab_M", "LabtoLMS_M", "OKLab", "LMSg", "LMS", "deltaEOK", "oklab", "\u0394a", "\u0394b", "inGamut", "clone", "distance", "color1", "color2", "coords1", "coords2", "acc", "c1", "c2", "deltaE76", "deltaECMC", "l", "H1", "H2", "C4", "F", "Yw", "XYZ_Abs_D65", "v", "AbsXYZ", "g", "ninv", "c3", "pinv", "d0", "XYZtoCone_M", "ConetoXYZ_M", "ConetoIab_M", "IabtoCone_M", "Jzazbz", "Xa", "Ya", "Za", "Xm", "Ym", "PQLMS", "num", "denom", "Iz", "az", "bz", "Jz", "jzczhz", "jzazbz", "deltaEJz", "Jz1", "Cz1", "Hz1", "Jz2", "Cz2", "Hz2", "\u0394J", "m1", "m2", "im1", "im2", "LMStoIPT_M", "IPTtoLMS_M", "ictcp", "LMStoICtCp", "ICtCp", "ICtCptoLMS", "deltaEITP", "I1", "T1", "P1", "I2", "T2", "P2", "adaptedCoef", "adaptedCoefInv", "tau", "cat16", "cat16Inv", "surroundMap", "hueQuadMap", "rad2deg", "deg2rad", "fl", "unadapt", "adapted", "constant", "cabs", "hueQuadrature", "h", "hp", "hii", "ei", "eii", "Hi", "t", "invHueQuadrature", "H", "Hp", "environment", "refWhite", "adaptingLuminance", "backgroundLuminance", "surround", "discounting", "xyzW", "yw", "rgbW", "k4", "rgbCW", "rgbAW", "viewingConditions", "fromCam16", "cam16", "hRad", "cosh", "sinh", "Jroot", "et", "p1", "p2", "r", "rgb_c", "toCam16", "xyzd65", "xyz100", "rgbA", "J", "Q", "C", "M", "toLstar", "y", "fromLstar", "lstar", "fromHct", "j", "threshold", "max_attempts", "attempt", "delta", "toHct", "hct", "ucsCoeff", "convertUcsAb", "hrad", "deltaEHCT", "t1", "t2", "deltaEMethods", "calcEpsilon", "jnd", "order", "GMAPPRESET", "toGamut", "method", "deltaEMethod", "blackWhiteClamp", "util.isString", "spaceColor", "toGamutCSS", "de", "clipped", "channelMeta", "channel", "util.isNone", "mapSpace", "coordId", "mappedColor", "low", "high", "bounds", "COLORS", "origin", "oklchSpace", "origin_OKLCH", "black", "clip", "_color", "destColor", "spaceCoords", "util.clamp", "min_inGamut", "current", "E", "chroma", "serialize", "customOptions", "checkInGamut", "util.serializeNumber", "strAlpha", "toXYZ_M", "fromXYZ_M", "REC2020Linear", "\u03B1", "\u03B2", "REC2020", "RGB", "P3Linear", "sRGBLinear", "KEYWORDS", "coordGrammarNumber", "sRGB", "sign", "abs", "rgba", "component", "collapse", "collapsible", "P3", "supportsNone", "display", "fallbackColor", "equals", "getLuminance", "setLuminance", "register", "Color", "contrastWCAG21", "Y1", "Y2", "normBG", "normTXT", "revTXT", "revBG", "blkThrs", "blkClmp", "loClip", "deltaYmin", "scaleBoW", "loBoWoffset", "scaleWoB", "fclamp", "Y", "linearize", "contrastAPCA", "background", "foreground", "S", "Sapc", "R", "lumTxt", "lumBg", "Ytxt", "Ybg", "BoW", "contrastMichelson", "contrastWeber", "contrastLstar", "lab_d65", "phi", "contrastDeltaPhi", "Lstr1", "Lstr2", "deltaPhiStar", "contrast", "algorithm", "rest", "algorithms", "contrastAlgorithms", "uv", "X", "Z", "xy", "sum", "deltaE", "lighten", "amount", "lightness", "darken", "mix", "steps", "colorRange", "isRange", "maxDeltaE", "maxSteps", "rangeOptions", "totalDelta", "actualSteps", "step", "maxDelta", "cur", "\u0394\u0395", "prev", "outputSpace", "progression", "premultiplied", "rangeArgs", "\u03B81", "\u03B82", "angles.adjust", "HSL", "hsl", "k", "HSV", "hsv", "hwb", "w", "gray", "A98Linear", "a98rgb", "ProPhotoLinear", "Et", "Et2", "prophoto", "oklch", "U_PRIME_WHITE", "V_PRIME_WHITE", "Luv", "up", "vp", "u", "LCHuv", "m_r0", "m_r1", "m_r2", "m_g0", "m_g1", "m_g2", "m_b0", "m_b1", "m_b2", "distanceFromOriginAngle", "slope", "intercept", "calculateBoundingLines", "sub1", "sub2", "s1r", "s2r", "s3r", "s1g", "s2g", "s3g", "s1b", "s2b", "s3b", "calcMaxChromaHsluv", "lines", "hueRad", "r0", "r1", "g0", "g1", "b0", "hsluv", "distanceFromOrigin", "calcMaxChromaHpluv", "hpluv", "minv", "rec2100Pq", "scale", "rec2100Hlg", "CATs", "defineCAT", "toCone_M", "fromCone_M", "\u03C1s", "\u03B3s", "\u03B2s", "\u03C1d", "\u03B3d", "\u03B2d", "scaled_cone_M", "ACEScg", "ACES_min_nonzero", "ACES_cc_max", "acescc", "_Color", "code", "instance", "returns", "func", "exports", "util", "key", "spaces", "addSpaceAccessors", "propId", "obj", "property", "receiver", "variations", "chromaticity", "luminance", "interpolation", "contrastMethods", "import_uniqBy", "preferences", "getFormattedColor", "_color", "format", "color", "Color", "oklchColor", "l", "c", "h", "lchColor", "getColorByProximity", "colors", "uniqBy", "x", "b", "MAX_HISTORY_LENGTH", "addToHistory", "color", "cache", "serializedHistory", "previousHistory", "newHistory", "item", "getFormattedColor", "MAX_HISTORY_LENGTH", "command", "props", "showColorName", "pickedColor", "pickColor", "addToHistory", "hex", "getFormattedColor", "e", "colors", "colorNamer", "firstColorName", "getColorByProximity"] +} diff --git a/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/assets/cpu.svg b/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/assets/cpu.svg @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Generator: Apple Native CoreSVG 326--> +<!DOCTYPE svg +PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20.0098 19.6582"> + <g> + <rect height="19.6582" opacity="0" width="20.0098" x="0" y="0"/> + <path d="M0 13.0664C0 13.5352 0.3125 13.8574 0.78125 13.8574L1.78711 13.8574L1.78711 17.0996C1.78711 17.5684 2.09961 17.8711 2.56836 17.8711L5.80078 17.8711L5.80078 18.877C5.80078 19.3457 6.12305 19.6582 6.5918 19.6582C7.06055 19.6582 7.37305 19.3457 7.37305 18.877L7.37305 17.8711L9.04297 17.8711L9.04297 18.877C9.04297 19.3457 9.35547 19.6582 9.82422 19.6582C10.293 19.6582 10.6152 19.3457 10.6152 18.877L10.6152 17.8711L12.2754 17.8711L12.2754 18.877C12.2754 19.3457 12.5879 19.6582 13.0566 19.6582C13.5352 19.6582 13.8477 19.3457 13.8477 18.877L13.8477 17.8711L17.0801 17.8711C17.5488 17.8711 17.8613 17.5684 17.8613 17.0996L17.8613 13.8477L18.8672 13.8477C19.3359 13.8477 19.6484 13.5254 19.6484 13.0566C19.6484 12.5879 19.3359 12.2754 18.8672 12.2754L17.8613 12.2754L17.8613 10.6055L18.8672 10.6055C19.3359 10.6055 19.6484 10.293 19.6484 9.82422C19.6484 9.35547 19.3359 9.0332 18.8672 9.0332L17.8613 9.0332L17.8613 7.37305L18.8672 7.37305C19.3359 7.37305 19.6484 7.05078 19.6484 6.58203C19.6484 6.11328 19.3359 5.80078 18.8672 5.80078L17.8613 5.80078L17.8613 2.57812C17.8613 2.10938 17.5488 1.79688 17.0801 1.79688L13.8477 1.79688L13.8477 0.800781C13.8477 0.332031 13.5352 0.00976562 13.0566 0.00976562C12.5879 0.00976562 12.2754 0.332031 12.2754 0.800781L12.2754 1.79688L10.6152 1.79688L10.6152 0.800781C10.6152 0.332031 10.293 0.00976562 9.82422 0.00976562C9.35547 0.00976562 9.04297 0.332031 9.04297 0.800781L9.04297 1.79688L7.37305 1.79688L7.37305 0.800781C7.37305 0.332031 7.06055 0.00976562 6.5918 0.00976562C6.12305 0.00976562 5.80078 0.332031 5.80078 0.800781L5.80078 1.79688L2.56836 1.79688C2.09961 1.79688 1.78711 2.10938 1.78711 2.57812L1.78711 5.81055L0.78125 5.81055C0.3125 5.81055 0 6.12305 0 6.5918C0 7.06055 0.3125 7.38281 0.78125 7.38281L1.78711 7.38281L1.78711 9.04297L0.78125 9.04297C0.3125 9.04297 0 9.36523 0 9.83398C0 10.3027 0.3125 10.6152 0.78125 10.6152L1.78711 10.6152L1.78711 12.2852L0.78125 12.2852C0.3125 12.2852 0 12.5977 0 13.0664ZM3.35938 16.0156L3.35938 3.66211C3.35938 3.44727 3.4375 3.36914 3.64258 3.36914L16.0059 3.36914C16.2109 3.36914 16.2891 3.44727 16.2891 3.66211L16.2891 16.0156C16.2891 16.2305 16.2109 16.2988 16.0059 16.2988L3.64258 16.2988C3.4375 16.2988 3.35938 16.2305 3.35938 16.0156ZM6.20117 14.209L13.4668 14.209C13.9648 14.209 14.1992 13.9746 14.1992 13.457L14.1992 6.21094C14.1992 5.70312 13.9648 5.46875 13.4668 5.46875L6.20117 5.46875C5.70312 5.46875 5.45898 5.70312 5.45898 6.21094L5.45898 13.457C5.45898 13.9746 5.70312 14.209 6.20117 14.209ZM6.73828 12.6953L6.73828 6.98242C6.73828 6.83594 6.83594 6.74805 6.97266 6.74805L12.6855 6.74805C12.832 6.74805 12.9199 6.83594 12.9199 6.98242L12.9199 12.6953C12.9199 12.832 12.832 12.9297 12.6855 12.9297L6.97266 12.9297C6.83594 12.9297 6.73828 12.832 6.73828 12.6953Z" fill="white" fill-opacity="0.85"/> + </g> +</svg> diff --git a/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/assets/icon.png b/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/assets/icon.png Binary files differ. diff --git a/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/assets/memorychip.svg b/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/assets/memorychip.svg @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Generator: Apple Native CoreSVG 326--> +<!DOCTYPE svg +PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 21.2891 17.002"> + <g> + <rect height="17.002" opacity="0" width="21.2891" x="0" y="0"/> + <path d="M3.06641 15.0879L17.8613 15.0879C19.9121 15.0879 20.9277 14.0723 20.9277 12.0605L20.9277 4.96094C20.9277 2.94922 19.9121 1.93359 17.8613 1.93359L3.06641 1.93359C1.02539 1.93359 0 2.93945 0 4.96094L0 12.0605C0 14.082 1.02539 15.0879 3.06641 15.0879ZM3.08594 13.5156C2.10938 13.5156 1.57227 12.998 1.57227 11.9824L1.57227 5.03906C1.57227 4.02344 2.10938 3.50586 3.08594 3.50586L17.8418 3.50586C18.7988 3.50586 19.3555 4.02344 19.3555 5.03906L19.3555 11.9824C19.3555 12.998 18.7988 13.5156 17.8418 13.5156ZM3.36914 2.57812L4.94141 2.57812L4.94141 0.800781C4.94141 0.332031 4.61914 0.0195312 4.15039 0.0195312C3.68164 0.0195312 3.36914 0.332031 3.36914 0.800781ZM6.52344 2.57812L8.0957 2.57812L8.0957 0.800781C8.0957 0.332031 7.77344 0.0195312 7.30469 0.0195312C6.83594 0.0195312 6.52344 0.332031 6.52344 0.800781ZM9.67773 2.57812L11.25 2.57812L11.25 0.800781C11.25 0.332031 10.9277 0.0195312 10.459 0.0195312C9.99023 0.0195312 9.67773 0.332031 9.67773 0.800781ZM12.832 2.57812L14.4043 2.57812L14.4043 0.800781C14.4043 0.332031 14.0918 0.0195312 13.623 0.0195312C13.1543 0.0195312 12.832 0.332031 12.832 0.800781ZM15.9863 2.57812L17.5586 2.57812L17.5586 0.800781C17.5586 0.332031 17.2461 0.0195312 16.7773 0.0195312C16.3086 0.0195312 15.9863 0.332031 15.9863 0.800781ZM3.36914 14.4629L3.36914 16.2109C3.36914 16.6797 3.68164 17.002 4.15039 17.002C4.61914 17.002 4.94141 16.6797 4.94141 16.2109L4.94141 14.4629ZM6.52344 14.4629L6.52344 16.2109C6.52344 16.6797 6.83594 17.002 7.30469 17.002C7.77344 17.002 8.0957 16.6797 8.0957 16.2109L8.0957 14.4629ZM9.67773 14.4629L9.67773 16.2109C9.67773 16.6797 9.99023 17.002 10.459 17.002C10.9277 17.002 11.25 16.6797 11.25 16.2109L11.25 14.4629ZM12.832 14.4629L12.832 16.2109C12.832 16.6797 13.1543 17.002 13.623 17.002C14.0918 17.002 14.4043 16.6797 14.4043 16.2109L14.4043 14.4629ZM15.9863 14.4629L15.9863 16.2109C15.9863 16.6797 16.3086 17.002 16.7773 17.002C17.2461 17.002 17.5586 16.6797 17.5586 16.2109L17.5586 14.4629Z" fill="white" fill-opacity="0.85"/> + </g> +</svg> diff --git a/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/index.js b/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/index.js @@ -0,0 +1,2 @@ +"use strict";var C=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var J=(s,t)=>{for(var n in t)C(s,n,{get:t[n],enumerable:!0})},ee=(s,t,n,u)=>{if(t&&typeof t=="object"||typeof t=="function")for(let d of j(t))!H.call(s,d)&&d!==n&&C(s,d,{get:()=>t[d],enumerable:!(u=X(t,d))||u.enumerable});return s};var te=s=>ee(C({},"__esModule",{value:!0}),s);var ae={};J(ae,{default:()=>v});module.exports=te(ae);var i=require("@raycast/api"),M=require("child_process");var ie=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],se=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],re=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],oe=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],$=(s,t,n)=>{let u=s;return typeof t=="string"||Array.isArray(t)?u=s.toLocaleString(t,n):(t===!0||n!==void 0)&&(u=s.toLocaleString(void 0,n)),u};function x(s,t){if(!Number.isFinite(s))throw new TypeError(`Expected a finite number, got ${typeof s}: ${s}`);t={bits:!1,binary:!1,space:!0,...t};let n=t.bits?t.binary?oe:re:t.binary?se:ie,u=t.space?" ":"";if(t.signed&&s===0)return` 0${u}${n[0]}`;let d=s<0,y=d?"-":t.signed?"+":"";d&&(s=-s);let l;if(t.minimumFractionDigits!==void 0&&(l={minimumFractionDigits:t.minimumFractionDigits}),t.maximumFractionDigits!==void 0&&(l={maximumFractionDigits:t.maximumFractionDigits,...l}),s<1){let A=$(s,t.locale,l);return y+A+u+n[0]}let b=Math.min(Math.floor(t.binary?Math.log(s)/Math.log(1024):Math.log10(s)/3),n.length-1);s/=(t.binary?1024:1e3)**b,l||(s=s.toPrecision(3));let w=$(Number(s),t.locale,l),T=n[b];return y+w+u+T}var m=require("react");var S=require("react"),ne=()=>{};function ce(s,t){let n=(0,S.useRef)(ne);(0,S.useEffect)(()=>{n.current=s},[s]),(0,S.useEffect)(()=>{if(n.current(),(t??0)>0){let d=Math.max(t??0,1e3),y=setInterval(()=>n.current(),d);return()=>clearInterval(y)}},[t])}var F=ce;var p=require("react/jsx-runtime");function v(){let[s,t]=(0,m.useState)([]),[n,u]=(0,m.useState)([]),[d,y]=(0,m.useState)(""),l=(0,i.getPreferenceValues)(),b=l.shouldSearchInPaths,w=l.shouldSearchInPid,T=l.shouldPrioritizeAppsWhenFiltering,A=l.shouldShowPID,k=l.shouldShowPath,R=+l.refreshDuration,K=l.closeWindowAfterKill,D=l.clearSearchBarAfterKill,U=l.goToRootAfterKill,[E,W]=(0,m.useState)(l.sortByMem?"memory":"cpu"),[P,Y]=(0,m.useState)(l.aggregateApps),L=()=>{(0,M.exec)("ps -eo pid,ppid,pcpu,rss,comm",(e,c)=>{if(e!=null)return;let a=c.split(` +`).map(g=>{let N=["","","","","",""],B=/(\d+)\s+(\d+)\s+(\d+[.|,]\d+)\s+(\d+)\s+(.*)/,[,r,f,o,h,I]=g.match(B)??N,q=I.match(/[^/]*[^/]*$/i)?.[0]??"",O=I.includes(".prefPane"),Q=I.includes(".app/");return{id:parseInt(r),pid:parseInt(f),cpu:parseFloat(o),mem:parseInt(h),type:O?"prefPane":Q?"app":"binary",path:I,processName:q}}).filter(g=>g.processName!=="");t(a)})};F(L,R),(0,m.useEffect)(()=>{let e=s;P&&(e=V(e)),e.sort((c,a)=>E==="memory"?c.mem>a.mem?-1:1:c.cpu>a.cpu?-1:1),u(e)},[s,E,P]);let G=e=>e.type==="prefPane"?{fileIcon:e.path?.replace(/(.+\.prefPane)(.+)/,"$1")??""}:e.type==="app"||e.type==="aggregatedApp"?{fileIcon:e.path?.replace(/(.+\.app)(.+)/,"$1")??""}:"/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ExecutableBinaryIcon.icns",Z=e=>{(0,M.exec)(`kill -9 ${e.id}`),t(n.filter(c=>c.id!==e.id)),K&&(0,i.closeMainWindow)(),U&&(0,i.popToRoot)({clearSearchBar:D}),D&&(0,i.clearSearchBar)({forceScrollToTop:!0}),(0,i.showToast)({title:`Killed ${e.processName==="-"?`process ${e.id}`:e.processName}`,style:i.Toast.Style.Success})},_=e=>{let c=[];return e.type==="aggregatedApp"&&e.appName!=null&&c.push(e.appName),A&&c.push(e.id.toString()),k&&c.push(e.path),c.join(" - ")},V=e=>{let c=Array(),a=new Map;a.set(1,{process:{id:1},childNodes:[]});let g=Array();e.forEach(r=>{if(r.type==="app"){g.push(r.id);let f=a.get(r.id);f==null?(f={process:r,childNodes:[]},a.set(r.id,f)):f.process=r;let o=a.get(r.pid);if(o==null)o={process:void 0,childNodes:[f]},a.set(r.pid,o);else if(o.process==null)o.childNodes.push(f);else{let h;for(;o?.process!=null&&o.process.pid!==1&&(h=a.get(o.process.pid))!=null;)o=h;o?.childNodes.push(f)}o.process?.id!==1&&(o.childNodes=o.childNodes.concat(f.childNodes),f.childNodes=[])}else c.push(r)});let N=a.get(1)?.childNodes,B=Array();return N?.forEach(r=>{if(r.process==null)return;B.push(r.process.id);let f=r.childNodes.map(o=>o.process?.id).filter(o=>o!=null);B=B.concat(f),c.push({id:r.process.id,pid:r.process.pid,cpu:(r.childNodes?.reduce((o,h)=>o+(h.process?.cpu??0),0)??0)+r.process.cpu,mem:(r.childNodes?.reduce((o,h)=>o+(h.process?.mem??0),0)??0)+r.process.mem,type:"aggregatedApp",path:r.process.path,processName:r.process.processName,appName:r.process.path.match(/(?<=\/)[^/]+(?=\.app\/)/)?.[0]})}),c},z=n.length;return(0,p.jsx)(i.List,{isLoading:n.length===0,searchBarPlaceholder:"Filter by name",onSearchTextChange:e=>y(e),searchBarAccessory:(0,p.jsx)(i.List.Dropdown,{tooltip:"Filter",storeValue:!0,onChange:e=>W(e),children:(0,p.jsxs)(i.List.Dropdown.Section,{title:"Sort By",children:[(0,p.jsx)(i.List.Dropdown.Item,{title:"CPU Usage",value:"cpu"}),(0,p.jsx)(i.List.Dropdown.Item,{title:"Memory Usage",value:"memory"})]})}),children:(0,p.jsx)(i.List.Section,{title:"Processes",subtitle:`${z} running`,children:n.filter(e=>{if(d==="")return!0;let c=e.processName.toLowerCase().includes(d.toLowerCase()),a=b&&e.path.toLowerCase().match(new RegExp(`.+${d}.*\\.[app|framework|prefpane]`,"ig"))!=null,g=w&&e.id.toString().includes(d),N=e.type==="aggregatedApp"&&e.appName?.toLowerCase().includes(d.toLowerCase());return c||a||g||N}).sort((e,c)=>{if(T){let a=["app","aggregatedApp"];if(a.includes(e.type)&&!a.includes(c.type))return-1;if(!a.includes(e.type)&&a.includes(c.type))return 1}return 0}).map((e,c)=>{let a=G(e);return(0,p.jsx)(i.List.Item,{title:e.processName,subtitle:_(e),icon:a,accessories:[{text:`${e.cpu.toFixed(2)}%`,icon:{source:"cpu.svg",tintColor:i.Color.PrimaryText},tooltip:"% CPU"},{text:x(e.mem*1024),icon:{source:"memorychip.svg",tintColor:i.Color.PrimaryText},tooltip:"Memory"}],actions:(0,p.jsxs)(i.ActionPanel,{children:[(0,p.jsx)(i.Action,{title:"Kill",icon:i.Icon.XMarkCircle,onAction:()=>Z(e)}),e.path==null?null:(0,p.jsx)(i.Action.CopyToClipboard,{title:"Copy Path",content:e.path}),(0,p.jsx)(i.Action,{title:"Reload",icon:i.Icon.ArrowClockwise,shortcut:{key:"r",modifiers:["cmd"]},onAction:()=>L()}),(0,p.jsx)(i.Action,{title:`${P?"Disable":"Enable"} Aggregating Apps`,icon:i.Icon.AppWindow,shortcut:{key:"tab",modifiers:["shift"]},onAction:()=>{Y(!P),(0,i.showToast)({title:`${P?"Disabled":"Enabled"} aggregating apps`})}})]})},c)})})})} diff --git a/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/index.js.map b/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../src/index.tsx", "../node_modules/pretty-bytes/index.js", "../src/hooks/use-interval.tsx"], + "sourcesContent": ["import {\n Action,\n ActionPanel,\n clearSearchBar,\n closeMainWindow,\n Color,\n getPreferenceValues,\n Icon,\n List,\n popToRoot,\n showToast,\n Toast,\n} from \"@raycast/api\";\nimport { exec } from \"child_process\";\nimport prettyBytes from \"pretty-bytes\";\nimport { useEffect, useState } from \"react\";\nimport useInterval from \"./hooks/use-interval\";\nimport { Process } from \"./types\";\n\nexport default function ProcessList() {\n const [fetchResult, setFetchResult] = useState<Process[]>([]);\n const [state, setState] = useState<Process[]>([]);\n const [query, setQuery] = useState<string>(\"\");\n\n const preferences = getPreferenceValues<Preferences>();\n const shouldIncludePaths = preferences.shouldSearchInPaths;\n const shouldIncludePid = preferences.shouldSearchInPid;\n const shouldPrioritizeAppsWhenFiltering = preferences.shouldPrioritizeAppsWhenFiltering;\n const shouldShowPID = preferences.shouldShowPID;\n const shouldShowPath = preferences.shouldShowPath;\n const refreshDuration = +preferences.refreshDuration;\n const closeWindowAfterKill = preferences.closeWindowAfterKill;\n const clearSearchBarAfterKill = preferences.clearSearchBarAfterKill;\n const goToRootAfterKill = preferences.goToRootAfterKill;\n const [sortBy, setSortBy] = useState<\"cpu\" | \"memory\">(preferences.sortByMem ? \"memory\" : \"cpu\");\n const [aggregateApps, setAggregateApps] = useState<boolean>(preferences.aggregateApps);\n\n const fetchProcesses = () => {\n exec(`ps -eo pid,ppid,pcpu,rss,comm`, (err, stdout) => {\n if (err != null) {\n return;\n }\n\n const processes = stdout\n .split(\"\\n\")\n .map((line) => {\n const defaultValue = [\"\", \"\", \"\", \"\", \"\", \"\"];\n const regex = /(\\d+)\\s+(\\d+)\\s+(\\d+[.|,]\\d+)\\s+(\\d+)\\s+(.*)/;\n const [, id, pid, cpu, mem, path] = line.match(regex) ?? defaultValue;\n const processName = path.match(/[^/]*[^/]*$/i)?.[0] ?? \"\";\n const isPrefPane = path.includes(\".prefPane\");\n const isApp = path.includes(\".app/\");\n\n return {\n id: parseInt(id),\n pid: parseInt(pid),\n cpu: parseFloat(cpu),\n mem: parseInt(mem),\n type: isPrefPane ? \"prefPane\" : isApp ? \"app\" : \"binary\",\n path,\n processName,\n } as Process;\n })\n .filter((process) => process.processName !== \"\");\n\n setFetchResult(processes);\n });\n };\n\n useInterval(fetchProcesses, refreshDuration);\n useEffect(() => {\n let processes = fetchResult;\n if (aggregateApps) {\n processes = aggregate(processes);\n }\n processes.sort((a, b) => {\n if (sortBy === \"memory\") {\n return a.mem > b.mem ? -1 : 1;\n } else {\n return a.cpu > b.cpu ? -1 : 1;\n }\n });\n setState(processes);\n }, [fetchResult, sortBy, aggregateApps]);\n\n const fileIcon = (process: Process) => {\n if (process.type === \"prefPane\") {\n return {\n fileIcon: process.path?.replace(/(.+\\.prefPane)(.+)/, \"$1\") ?? \"\",\n };\n }\n\n if (process.type === \"app\" || process.type === \"aggregatedApp\") {\n return { fileIcon: process.path?.replace(/(.+\\.app)(.+)/, \"$1\") ?? \"\" };\n }\n\n return \"/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ExecutableBinaryIcon.icns\";\n };\n\n const killProcess = (process: Process) => {\n exec(`kill -9 ${process.id}`);\n setFetchResult(state.filter((p) => p.id !== process.id));\n if (closeWindowAfterKill) {\n closeMainWindow();\n }\n if (goToRootAfterKill) {\n popToRoot({ clearSearchBar: clearSearchBarAfterKill });\n }\n if (clearSearchBarAfterKill) {\n clearSearchBar({ forceScrollToTop: true });\n }\n showToast({\n title: `Killed ${process.processName === \"-\" ? `process ${process.id}` : process.processName}`,\n style: Toast.Style.Success,\n });\n };\n\n const subtitleString = (process: Process) => {\n const subtitles = [];\n if (process.type === \"aggregatedApp\" && process.appName != undefined) {\n subtitles.push(process.appName);\n }\n if (shouldShowPID) {\n subtitles.push(process.id.toString());\n }\n if (shouldShowPath) {\n subtitles.push(process.path);\n }\n return subtitles.join(\" - \");\n };\n\n const aggregate = (processes: Process[]): Process[] => {\n const result = Array<Process>();\n type ProcessNode = {\n process: Process | undefined;\n childNodes: ProcessNode[];\n };\n const appMap = new Map<number, ProcessNode>();\n appMap.set(1, { process: { id: 1 } as Process, childNodes: [] });\n const originalAppIds = Array<number>();\n processes.forEach((process) => {\n if (process.type === \"app\") {\n originalAppIds.push(process.id);\n let node = appMap.get(process.id);\n if (node == undefined) {\n node = { process, childNodes: [] } as ProcessNode;\n appMap.set(process.id, node);\n } else {\n node.process = process;\n }\n let knownRootNode = appMap.get(process.pid);\n if (knownRootNode == undefined) {\n knownRootNode = {\n process: undefined,\n childNodes: [node],\n } as ProcessNode;\n appMap.set(process.pid, knownRootNode);\n } else {\n if (knownRootNode.process == undefined) {\n knownRootNode.childNodes.push(node);\n } else {\n let nextNode;\n while (\n knownRootNode?.process != undefined &&\n knownRootNode.process.pid !== 1 &&\n (nextNode = appMap.get(knownRootNode.process.pid)) != undefined\n ) {\n knownRootNode = nextNode;\n }\n knownRootNode?.childNodes.push(node);\n }\n }\n // move childNodes to parent\n if (knownRootNode.process?.id !== 1) {\n knownRootNode.childNodes = knownRootNode.childNodes.concat(node.childNodes);\n node.childNodes = [];\n }\n } else {\n result.push(process);\n }\n });\n const rootApps = appMap.get(1)?.childNodes;\n let afterAppIds = Array<number>();\n rootApps?.forEach((rootApp) => {\n if (rootApp.process == undefined) {\n return;\n }\n afterAppIds.push(rootApp.process.id);\n const childIds: number[] = rootApp.childNodes\n .map((node) => node.process?.id)\n .filter((item): item is number => item != undefined);\n afterAppIds = afterAppIds.concat(childIds);\n result.push({\n id: rootApp.process.id,\n pid: rootApp.process.pid,\n cpu:\n (rootApp.childNodes?.reduce((acc, cur) => {\n return acc + (cur.process?.cpu ?? 0);\n }, 0) ?? 0) + rootApp.process.cpu,\n mem:\n (rootApp.childNodes?.reduce((acc, cur) => {\n return acc + (cur.process?.mem ?? 0);\n }, 0) ?? 0) + rootApp.process.mem,\n type: \"aggregatedApp\",\n path: rootApp.process.path,\n processName: rootApp.process.processName,\n appName: rootApp.process.path.match(/(?<=\\/)[^/]+(?=\\.app\\/)/)?.[0],\n } as Process);\n });\n return result;\n };\n\n const processCount = state.length;\n\n return (\n <List\n isLoading={state.length === 0}\n searchBarPlaceholder=\"Filter by name\"\n onSearchTextChange={(query) => setQuery(query)}\n searchBarAccessory={\n <List.Dropdown tooltip=\"Filter\" storeValue onChange={(newValue) => setSortBy(newValue as \"cpu\" | \"memory\")}>\n <List.Dropdown.Section title=\"Sort By\">\n <List.Dropdown.Item title=\"CPU Usage\" value=\"cpu\" />\n <List.Dropdown.Item title=\"Memory Usage\" value=\"memory\" />\n </List.Dropdown.Section>\n </List.Dropdown>\n }\n >\n <List.Section title=\"Processes\" subtitle={`${processCount} running`}>\n {state\n .filter((process) => {\n if (query === \"\") {\n return true;\n }\n const nameMatches = process.processName.toLowerCase().includes(query.toLowerCase());\n const pathMatches =\n shouldIncludePaths &&\n process.path.toLowerCase().match(new RegExp(`.+${query}.*\\\\.[app|framework|prefpane]`, \"ig\")) != null;\n const pidMatches = shouldIncludePid && process.id.toString().includes(query);\n const appNameMatches =\n process.type === \"aggregatedApp\" && process.appName?.toLowerCase().includes(query.toLowerCase());\n\n return nameMatches || pathMatches || pidMatches || appNameMatches;\n })\n .sort((a, b) => {\n // If this flag is true, we bring apps to the top, but only if we have a query.\n if (shouldPrioritizeAppsWhenFiltering) {\n const appTypes = [\"app\", \"aggregatedApp\"];\n if (appTypes.includes(a.type) && !appTypes.includes(b.type)) {\n return -1;\n } else if (!appTypes.includes(a.type) && appTypes.includes(b.type)) {\n return 1;\n }\n }\n\n // Otherwise, we leave the order as is.\n return 0;\n })\n .map((process, index) => {\n const icon = fileIcon(process);\n return (\n <List.Item\n key={index}\n title={process.processName}\n subtitle={subtitleString(process)}\n icon={icon}\n accessories={[\n {\n text: `${process.cpu.toFixed(2)}%`,\n icon: { source: \"cpu.svg\", tintColor: Color.PrimaryText },\n tooltip: \"% CPU\",\n },\n {\n text: prettyBytes(process.mem * 1024),\n icon: {\n source: \"memorychip.svg\",\n tintColor: Color.PrimaryText,\n },\n tooltip: \"Memory\",\n },\n ]}\n actions={\n <ActionPanel>\n <Action title=\"Kill\" icon={Icon.XMarkCircle} onAction={() => killProcess(process)} />\n {process.path == null ? null : <Action.CopyToClipboard title=\"Copy Path\" content={process.path} />}\n <Action\n title=\"Reload\"\n icon={Icon.ArrowClockwise}\n shortcut={{ key: \"r\", modifiers: [\"cmd\"] }}\n onAction={() => fetchProcesses()}\n />\n <Action\n title={`${aggregateApps ? \"Disable\" : \"Enable\"} Aggregating Apps`}\n icon={Icon.AppWindow}\n shortcut={{ key: \"tab\", modifiers: [\"shift\"] }}\n onAction={() => {\n setAggregateApps(!aggregateApps);\n showToast({\n title: `${aggregateApps ? \"Disabled\" : \"Enabled\"} aggregating apps`,\n });\n }}\n />\n </ActionPanel>\n }\n />\n );\n })}\n </List.Section>\n </List>\n );\n}\n", "const BYTE_UNITS = [\n\t'B',\n\t'kB',\n\t'MB',\n\t'GB',\n\t'TB',\n\t'PB',\n\t'EB',\n\t'ZB',\n\t'YB',\n];\n\nconst BIBYTE_UNITS = [\n\t'B',\n\t'KiB',\n\t'MiB',\n\t'GiB',\n\t'TiB',\n\t'PiB',\n\t'EiB',\n\t'ZiB',\n\t'YiB',\n];\n\nconst BIT_UNITS = [\n\t'b',\n\t'kbit',\n\t'Mbit',\n\t'Gbit',\n\t'Tbit',\n\t'Pbit',\n\t'Ebit',\n\t'Zbit',\n\t'Ybit',\n];\n\nconst BIBIT_UNITS = [\n\t'b',\n\t'kibit',\n\t'Mibit',\n\t'Gibit',\n\t'Tibit',\n\t'Pibit',\n\t'Eibit',\n\t'Zibit',\n\t'Yibit',\n];\n\n/*\nFormats the given number using `Number#toLocaleString`.\n- If locale is a string, the value is expected to be a locale-key (for example: `de`).\n- If locale is true, the system default locale is used for translation.\n- If no value for locale is specified, the number is returned unmodified.\n*/\nconst toLocaleString = (number, locale, options) => {\n\tlet result = number;\n\tif (typeof locale === 'string' || Array.isArray(locale)) {\n\t\tresult = number.toLocaleString(locale, options);\n\t} else if (locale === true || options !== undefined) {\n\t\tresult = number.toLocaleString(undefined, options);\n\t}\n\n\treturn result;\n};\n\nexport default function prettyBytes(number, options) {\n\tif (!Number.isFinite(number)) {\n\t\tthrow new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);\n\t}\n\n\toptions = {\n\t\tbits: false,\n\t\tbinary: false,\n\t\tspace: true,\n\t\t...options,\n\t};\n\n\tconst UNITS = options.bits\n\t\t? (options.binary ? BIBIT_UNITS : BIT_UNITS)\n\t\t: (options.binary ? BIBYTE_UNITS : BYTE_UNITS);\n\n\tconst separator = options.space ? ' ' : '';\n\n\tif (options.signed && number === 0) {\n\t\treturn ` 0${separator}${UNITS[0]}`;\n\t}\n\n\tconst isNegative = number < 0;\n\tconst prefix = isNegative ? '-' : (options.signed ? '+' : '');\n\n\tif (isNegative) {\n\t\tnumber = -number;\n\t}\n\n\tlet localeOptions;\n\n\tif (options.minimumFractionDigits !== undefined) {\n\t\tlocaleOptions = {minimumFractionDigits: options.minimumFractionDigits};\n\t}\n\n\tif (options.maximumFractionDigits !== undefined) {\n\t\tlocaleOptions = {maximumFractionDigits: options.maximumFractionDigits, ...localeOptions};\n\t}\n\n\tif (number < 1) {\n\t\tconst numberString = toLocaleString(number, options.locale, localeOptions);\n\t\treturn prefix + numberString + separator + UNITS[0];\n\t}\n\n\tconst exponent = Math.min(Math.floor(options.binary ? Math.log(number) / Math.log(1024) : Math.log10(number) / 3), UNITS.length - 1);\n\tnumber /= (options.binary ? 1024 : 1000) ** exponent;\n\n\tif (!localeOptions) {\n\t\tnumber = number.toPrecision(3);\n\t}\n\n\tconst numberString = toLocaleString(Number(number), options.locale, localeOptions);\n\n\tconst unit = UNITS[exponent];\n\n\treturn prefix + numberString + separator + unit;\n}\n", "import { useEffect, useRef } from \"react\";\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = () => {};\n\nexport function useInterval(callback: () => void, delay: number | null) {\n const savedCallback = useRef(noop);\n\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n savedCallback.current();\n const refreshEnabled = (delay ?? 0) > 0;\n if (refreshEnabled) {\n const interval = Math.max(delay ?? 0, 1000);\n const id = setInterval(() => savedCallback.current(), interval);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n\nexport default useInterval;\n"], + "mappings": "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", + "names": ["index_exports", "__export", "ProcessList", "__toCommonJS", "import_api", "import_child_process", "BYTE_UNITS", "BIBYTE_UNITS", "BIT_UNITS", "BIBIT_UNITS", "toLocaleString", "number", "locale", "options", "result", "prettyBytes", "UNITS", "separator", "isNegative", "prefix", "localeOptions", "numberString", "exponent", "unit", "import_react", "import_react", "noop", "useInterval", "callback", "delay", "savedCallback", "interval", "id", "use_interval_default", "import_jsx_runtime", "ProcessList", "fetchResult", "setFetchResult", "state", "setState", "query", "setQuery", "preferences", "shouldIncludePaths", "shouldIncludePid", "shouldPrioritizeAppsWhenFiltering", "shouldShowPID", "shouldShowPath", "refreshDuration", "closeWindowAfterKill", "clearSearchBarAfterKill", "goToRootAfterKill", "sortBy", "setSortBy", "aggregateApps", "setAggregateApps", "fetchProcesses", "err", "stdout", "processes", "line", "defaultValue", "regex", "id", "pid", "cpu", "mem", "path", "processName", "isPrefPane", "isApp", "process", "use_interval_default", "aggregate", "a", "b", "fileIcon", "killProcess", "p", "subtitleString", "subtitles", "result", "appMap", "originalAppIds", "node", "knownRootNode", "nextNode", "rootApps", "afterAppIds", "rootApp", "childIds", "item", "acc", "cur", "processCount", "newValue", "nameMatches", "pathMatches", "pidMatches", "appNameMatches", "appTypes", "index", "icon", "prettyBytes"] +} diff --git a/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/package.json b/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/package.json @@ -0,0 +1,818 @@ +{ + "$schema": "https://www.raycast.com/schemas/extension.json", + "name": "kill-process", + "title": "Kill Process", + "description": "Terminate processes sorted by CPU or memory usage", + "icon": "icon.png", + "author": "rolandleth", + "contributors": [ + "crazyones110", + "zhenpewu", + "Saafo", + "erics118", + "xilopaint", + "validate" + ], + "license": "MIT", + "commands": [ + { + "name": "index", + "title": "Kill Process", + "description": "Lists all running processes, ordered by CPU or memory usage and allows killing one", + "mode": "view" + } + ], + "tools": [ + { + "name": "list-processes", + "title": "List Processes", + "description": "Lists running processes with their CPU and memory usage, sorted by memory usage", + "instructions": "List out all running processes.\nThis tool can be called by AI to answer queries like,\n\"What processes are running right now?\"\nor \"list processes containing xyz\"\nor \"list processes containing xyz and abc\"\n\nThrows an error if no processes are found matching the search terms", + "input": { + "type": "object", + "properties": { + "searchTerm": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional array of search terms to filter processes.\nFor single process search, provide an array with one element.\nExample: [\"Logi\"] will find all processes containing \"Logi\" in their name\nExample: [\"Chrome\", \"Firefox\"] will find all processes containing either \"Chrome\" or \"Firefox\"" + }, + "sortBy": { + "type": "string", + "description": "Field to sort by (defaults to 'mem')", + "enum": [ + "id", + "pid", + "cpu", + "mem", + "type", + "path", + "processName", + "appName" + ] + }, + "sortOrder": { + "type": "string", + "description": "Sort order (defaults to 'desc')", + "enum": [ + "asc", + "desc" + ] + } + }, + "required": [] + }, + "confirmation": false + }, + { + "name": "kill-process", + "title": "Kill Process", + "description": "Terminates a process by its exact name or PID", + "instructions": "Kill a process.\nProvide the process ID to kill.\nIf the process is not found, the tool will return an error.", + "input": { + "type": "object", + "properties": { + "processName": { + "type": "string", + "description": "App name to kill" + }, + "id": { + "type": "number", + "description": "Process ID to kill" + }, + "path": { + "type": "string", + "description": "Path to the process to kill" + } + }, + "required": [ + "id" + ] + }, + "confirmation": true + } + ], + "ai": { + "instructions": "When handling process termination requests:\n1. For single process (e.g. 'kill Safari'):\n - Use list-processes with searchTerm: ['Safari']\n - Only kill the exact process name match (e.g., 'Safari' matches 'Safari' but not 'Safari Helper')\n - DO NOT kill helper processes even if found in the search\n - Call kill-process directly - DO NOT ask for confirmation as the tool handles it\n2. For multiple processes (e.g. 'kill UpNote and Notion'):\n - Use list-processes ONCE with all terms in the array (e.g., searchTerm: ['UpNote', 'Notion'])\n - Only kill processes that exactly match the requested names\n - DO NOT kill helper processes even if they contain the search terms\n - Call kill-process directly for each process - DO NOT ask for confirmation\n - Example: 'kill UpNote and Notion' should only kill 'UpNote' and 'Notion', not 'UpNote Helper' or 'Notion Helper'\n3. For process with related processes (e.g. 'kill Chrome with related processes'):\n - Use list-processes with the app name (e.g., searchTerm: ['Chrome'])\n - Kill main process first, then all related helper processes\n - Include processes with matching name patterns (e.g. 'Chrome Helper')\n - Only kill helpers when explicitly requested with phrases like 'with related processes' or 'and all its processes'\n - Call kill-process directly for each process - DO NOT ask for confirmation\n4. When searching for processes:\n - Use list-processes tool which returns detailed process info\n - For exact matches, compare the full processName\n - DO NOT match partial names unless explicitly looking for helpers\n - Results include: id (PID), cpu usage, memory usage, type (app/binary/prefPane)\n5. When killing processes:\n - Always provide processName and id (PID) for kill-process\n - Include the full path for better process identification\n - Call kill-process directly - the tool will handle confirmation UI\n6. Process types and special handling:\n - 'app': Main application processes (.app)\n - 'binary': Helper processes and command line tools\n - 'prefPane': System preference panes\n7. Memory and CPU considerations:\n - Can sort processes by memory (mem) or CPU usage\n - Memory is in bytes, CPU in percentage\n8. Error handling:\n - Handle cases where process is not found\n - Handle failed kill operations gracefully\n - Provide clear feedback on success/failure\n9. IMPORTANT: When killing multiple processes:\n - Always use a single list-processes call with all search terms in the array\n - DO NOT make separate list-processes calls for each process\n - Only kill processes that exactly match the requested names\n - DO NOT kill helper processes unless explicitly requested\n - DO NOT ask for confirmation - the kill-process tool handles it\n - Example: 'kill UpNote and Notion' should only kill processes named exactly 'UpNote' and 'Notion'\n10. For PID-based termination (e.g. 'kill PID 12345, 23142, 32456'):\n - When user specifies PIDs directly, bypass list-processes tool\n - Call kill-process directly for each PID\n - No need to search for process names or paths\n - Handle multiple PIDs in a single request by calling kill-process for each PID\n - Example: For 'kill PID 12345, 23142, 32456', make three separate kill-process calls with respective PIDs", + "evals": [ + { + "input": "@kill-process list all processes", + "mocks": { + "list-processes": [ + { + "id": 1234, + "pid": 1, + "cpu": 10.5, + "mem": 1024000, + "type": "app", + "path": "/Applications/Firefox.app/Contents/MacOS/Firefox", + "processName": "firefox", + "appName": "Firefox" + }, + { + "id": 5678, + "pid": 1, + "cpu": 5.2, + "mem": 512000, + "type": "app", + "path": "/Applications/Safari.app/Contents/MacOS/Safari", + "processName": "Safari", + "appName": "Safari" + }, + { + "id": 9012, + "pid": 1, + "cpu": 15.3, + "mem": 2048000, + "type": "binary", + "path": "/usr/bin/Google Chrome Helper", + "processName": "Google Chrome Helper", + "appName": "undefined" + }, + { + "id": 9012, + "pid": 1, + "cpu": 15.3, + "mem": 2048000, + "type": "prefPane", + "path": "/System/Library/PreferencePanes/Displays.prefPane", + "processName": "Displays", + "appName": "undefined" + } + ] + }, + "expected": [ + { + "callsTool": "list-processes" + }, + { + "meetsCriteria": "Lists running processes with their CPU and memory usage" + } + ] + }, + { + "input": "@kill-process kill PID 12345", + "mocks": { + "kill-process": [ + { + "success": true, + "message": "Killed process: (PID: 12345)" + } + ] + }, + "expected": [ + { + "callsTool": { + "name": "kill-process", + "arguments": { + "id": 12345 + } + } + }, + { + "meetsCriteria": "Directly kills a process by its PID" + } + ] + }, + { + "input": "@kill-process list Chrome processes", + "mocks": { + "list-processes": [ + { + "id": 9012, + "pid": 1, + "cpu": 15.3, + "mem": 2048000, + "type": "app", + "path": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome", + "processName": "Google Chrome", + "appName": "Google Chrome" + }, + { + "id": 9013, + "pid": 9012, + "cpu": 15.3, + "mem": 2048000, + "type": "binary", + "path": "/usr/bin/Google Chrome Helper", + "processName": "Google Chrome Helper", + "appName": "undefined" + }, + { + "id": 9014, + "pid": 9012, + "cpu": 15.3, + "mem": 2048000, + "type": "binary", + "path": "/usr/bin/Google Chrome Helper (Renderer)", + "processName": "Google Chrome Helper (Renderer)", + "appName": "undefined" + } + ] + }, + "expected": [ + { + "callsTool": { + "name": "list-processes", + "arguments": { + "searchTerm": [ + "Chrome" + ] + } + } + }, + { + "meetsCriteria": "Shows Chrome-related processes" + } + ] + }, + { + "input": "@kill-process kill Safari", + "mocks": { + "list-processes": [ + { + "id": 5678, + "pid": 1, + "cpu": 5.2, + "mem": 512000, + "type": "app", + "path": "/Applications/Safari.app/Contents/MacOS/Safari", + "processName": "Safari", + "appName": "Safari" + }, + { + "id": 9015, + "pid": 5678, + "cpu": 5.2, + "mem": 512000, + "type": "binary", + "path": "/usr/bin/Safari Helper", + "processName": "Safari Helper", + "appName": "Safari" + }, + { + "id": 9016, + "pid": 5678, + "cpu": 5.2, + "mem": 512000, + "type": "binary", + "path": "/usr/bin/Safari Web Content", + "processName": "Safari Web Content", + "appName": "Safari" + }, + { + "id": 9017, + "pid": 5678, + "cpu": 5.2, + "mem": 512000, + "type": "binary", + "path": "/usr/bin/Safari Plugin", + "processName": "Safari Plugin", + "appName": "Safari" + } + ], + "kill-process": { + "success": true, + "message": "Killed process: Safari (PID: 5678)" + } + }, + "expected": [ + { + "callsTool": { + "name": "list-processes", + "arguments": { + "searchTerm": [ + "Safari" + ] + } + } + }, + { + "callsTool": { + "name": "kill-process", + "arguments": { + "processName": "Safari", + "id": 5678, + "path": "/Applications/Safari.app/Contents/MacOS/Safari" + } + } + }, + { + "meetsCriteria": "Confirms killing Safari process" + } + ] + }, + { + "input": "@kill-process kill Notion", + "mocks": { + "list-processes": [ + { + "id": 28588, + "pid": 1, + "cpu": 2.5, + "mem": 1024000, + "type": "app", + "path": "/Applications/Notion.app/Contents/MacOS/Notion", + "processName": "Notion", + "appName": "Notion" + }, + { + "id": 28601, + "pid": 28588, + "cpu": 1.2, + "mem": 512000, + "type": "binary", + "path": "/Applications/Notion.app/Contents/MacOS/Notion Helper (Renderer)", + "processName": "Notion Helper (Renderer)", + "appName": "Notion" + } + ], + "kill-process": { + "success": true, + "message": "Killed process: Notion (PID: 28588)" + } + }, + "expected": [ + { + "callsTool": { + "name": "list-processes", + "arguments": { + "searchTerm": [ + "Notion" + ] + } + } + }, + { + "callsTool": { + "name": "kill-process", + "arguments": { + "processName": "Notion", + "id": 28588, + "path": "/Applications/Notion.app/Contents/MacOS/Notion" + } + } + }, + { + "meetsCriteria": "Confirms killing Notion process" + } + ] + }, + { + "input": "@kill-process kill Notion with related processes", + "mocks": { + "list-processes": [ + { + "id": 28588, + "pid": 1, + "cpu": 2.5, + "mem": 1024000, + "type": "app", + "path": "/Applications/Notion.app/Contents/MacOS/Notion", + "processName": "Notion", + "appName": "Notion" + }, + { + "id": 28601, + "pid": 28588, + "cpu": 1.2, + "mem": 512000, + "type": "binary", + "path": "/Applications/Notion.app/Contents/MacOS/Notion Helper (Renderer)", + "processName": "Notion Helper (Renderer)", + "appName": "Notion" + }, + { + "id": 28596, + "pid": 28588, + "cpu": 0.8, + "mem": 256000, + "type": "binary", + "path": "/Applications/Notion.app/Contents/MacOS/Notion Helper", + "processName": "Notion Helper", + "appName": "Notion" + }, + { + "id": 28592, + "pid": 28588, + "cpu": 0.5, + "mem": 128000, + "type": "binary", + "path": "/Applications/Notion.app/Contents/MacOS/Notion Helper (GPU)", + "processName": "Notion Helper (GPU)", + "appName": "Notion" + } + ], + "kill-process": [ + { + "success": true, + "message": "Killed process: Notion (PID: 28588)" + }, + { + "success": false, + "message": "Failed to kill process: Notion Helper (Renderer) (PID: 28601)" + }, + { + "success": false, + "message": "Failed to kill process: Notion Helper (PID: 28596)" + }, + { + "success": false, + "message": "Failed to kill process: Notion Helper (GPU) (PID: 28592)" + } + ] + }, + "expected": [ + { + "callsTool": { + "name": "list-processes", + "arguments": { + "searchTerm": [ + "Notion" + ] + } + } + }, + { + "callsTool": { + "name": "kill-process", + "arguments": { + "processName": "Notion", + "id": 28588, + "path": "/Applications/Notion.app/Contents/MacOS/Notion" + } + } + }, + { + "meetsCriteria": "Kills Notion and all its helper processes as requested, but fails to kill some of them as main process is killed first" + } + ] + }, + { + "input": "@kill-process kill Notion and Notion Calendar", + "mocks": { + "list-processes": [ + { + "id": 41406, + "pid": 1, + "cpu": 2.5, + "mem": 1024000, + "type": "app", + "path": "/Applications/Notion.app/Contents/MacOS/Notion", + "processName": "Notion", + "appName": "Notion" + }, + { + "id": 28757, + "pid": 1, + "cpu": 1.2, + "mem": 512000, + "type": "app", + "path": "/Applications/Notion Calendar.app/Contents/MacOS/Notion Calendar", + "processName": "Notion Calendar", + "appName": "Notion Calendar" + } + ], + "kill-process": [ + { + "success": true, + "message": "Killed process: Notion (PID: 41406)" + }, + { + "success": true, + "message": "Killed process: Notion Calendar (PID: 28757)" + } + ] + }, + "expected": [ + { + "callsTool": { + "name": "list-processes", + "arguments": { + "searchTerm": [ + { + "includes": "Notion" + }, + { + "includes": "Notion Calendar" + } + ] + } + } + }, + { + "callsTool": { + "name": "kill-process", + "arguments": { + "processName": "Notion", + "id": 41406, + "path": "/Applications/Notion.app/Contents/MacOS/Notion" + } + } + }, + { + "callsTool": { + "name": "kill-process", + "arguments": { + "processName": "Notion Calendar", + "id": 28757, + "path": "/Applications/Notion Calendar.app/Contents/MacOS/Notion Calendar" + } + } + }, + { + "meetsCriteria": "Successfully kills both Notion and Notion Calendar processes sequentially" + } + ] + }, + { + "input": "@kill-process kill Arc and related processes", + "mocks": { + "list-processes": [ + { + "id": 12345, + "pid": 1, + "cpu": 5, + "mem": 2048000, + "type": "app", + "path": "/Applications/Arc.app/Contents/MacOS/Arc", + "processName": "Arc", + "appName": "Arc" + }, + { + "id": 12346, + "pid": 12345, + "cpu": 2, + "mem": 512000, + "type": "binary", + "path": "/Applications/Arc.app/Contents/MacOS/Arc Helper", + "processName": "Arc Helper", + "appName": "Arc" + }, + { + "id": 12347, + "pid": 12345, + "cpu": 1.5, + "mem": 256000, + "type": "binary", + "path": "/Applications/Arc.app/Contents/MacOS/Arc Helper (Renderer)", + "processName": "Arc Helper (Renderer)", + "appName": "Arc" + }, + { + "id": 12348, + "pid": 12345, + "cpu": 1.5, + "mem": 256000, + "type": "binary", + "path": "/Applications/Arc.app/Contents/MacOS/Arc Helper (GPU)", + "processName": "Arc Helper (GPU)", + "appName": "Arc" + } + ], + "kill-process": [ + { + "success": true, + "message": "Killed process: Arc (PID: 12345)" + }, + { + "success": false, + "message": "Failed to kill process: Arc Helper (PID: 12346)" + }, + { + "success": false, + "message": "Failed to kill process: Arc Helper (Renderer) (PID: 12347)" + }, + { + "success": false, + "message": "Failed to kill process: Arc Helper (GPU) (PID: 12348)" + } + ] + }, + "expected": [ + { + "callsTool": { + "name": "list-processes", + "arguments": { + "searchTerm": [ + "Arc" + ] + } + } + }, + { + "callsTool": { + "name": "kill-process", + "arguments": { + "processName": "Arc", + "id": 12345, + "path": "/Applications/Arc.app/Contents/MacOS/Arc" + } + } + }, + { + "meetsCriteria": "Kills Arc and all its helper processes as requested, but fails to kill some of them as main process is killed firstt" + } + ] + }, + { + "input": "@kill-process kill UpNote", + "mocks": { + "list-processes": [ + { + "id": 12348, + "pid": 1, + "cpu": 1.5, + "mem": 256000, + "type": "app", + "path": "/Applications/UpNote.app/Contents/MacOS/UpNote", + "processName": "UpNote", + "appName": "UpNote" + }, + { + "id": 12349, + "pid": 12348, + "cpu": 1.5, + "mem": 256000, + "type": "binary", + "path": "/Applications/UpNote.app/Contents/MacOS/UpNote Helper", + "processName": "UpNote Helper", + "appName": "UpNote" + }, + { + "id": 12350, + "pid": 12348, + "cpu": 1.5, + "mem": 256000, + "type": "binary", + "path": "/Applications/UpNote.app/Contents/MacOS/UpNote Helper (Renderer)", + "processName": "UpNote Helper (Renderer)", + "appName": "UpNote" + }, + { + "id": 12351, + "pid": 12348, + "cpu": 1.5, + "mem": 256000, + "type": "binary", + "path": "/Applications/UpNote.app/Contents/MacOS/UpNote Helper (GPU)", + "processName": "UpNote Helper (GPU)", + "appName": "UpNote" + } + ], + "kill-process": [ + { + "success": true, + "message": "Killed process: UpNote (PID: 12348)" + } + ] + }, + "expected": [ + { + "callsTool": { + "name": "list-processes", + "arguments": { + "searchTerm": [ + "UpNote" + ] + } + } + }, + { + "callsTool": { + "name": "kill-process", + "arguments": { + "processName": "UpNote", + "id": 12348, + "path": "/Applications/UpNote.app/Contents/MacOS/UpNote" + } + } + }, + { + "meetsCriteria": "Kills only the main UpNote process, as no helpers and/or related processes were specified" + } + ] + } + ] + }, + "preferences": [ + { + "description": "Determine whether the process path should be searched for the query or only the process name.", + "label": "Search Process Paths", + "name": "shouldSearchInPaths", + "required": false, + "default": false, + "title": "Filtering", + "type": "checkbox" + }, + { + "description": "Determine whether the process PID should be searched for the query or only the process name.", + "label": "Search Process PID", + "name": "shouldSearchInPid", + "required": false, + "default": false, + "title": "", + "type": "checkbox" + }, + { + "description": "Determine whether apps are listed before other results when filtering.", + "label": "Prioritize Apps", + "name": "shouldPrioritizeAppsWhenFiltering", + "required": false, + "default": false, + "title": "", + "type": "checkbox" + }, + { + "description": "Determine whether processes are sorted by CPU or memory usage.", + "label": "Sort by Memory Usage", + "name": "sortByMem", + "required": false, + "default": false, + "title": "", + "type": "checkbox" + }, + { + "description": "Determine whether aggregate processes belong to the same app.", + "label": "Aggregate Apps", + "name": "aggregateApps", + "required": false, + "default": false, + "title": "", + "type": "checkbox" + }, + { + "description": "Show process PID info.", + "label": "Show PID", + "name": "shouldShowPID", + "required": false, + "default": false, + "title": "Display", + "type": "checkbox" + }, + { + "description": "Show process path.", + "label": "Show Process Path", + "name": "shouldShowPath", + "required": false, + "default": false, + "title": "", + "type": "checkbox" + }, + { + "description": "Close window after killing a process", + "label": "Close Window", + "name": "closeWindowAfterKill", + "required": false, + "default": true, + "title": "After Killing", + "type": "checkbox" + }, + { + "description": "Clear search bar after killing a process", + "label": "Clear Search Bar", + "name": "clearSearchBarAfterKill", + "required": false, + "default": true, + "type": "checkbox" + }, + { + "description": "Go back to root search after killing a process", + "label": "Go back to Root Search", + "name": "goToRootAfterKill", + "required": false, + "default": false, + "type": "checkbox" + }, + { + "description": "Refresh duration in milliseconds (min: 1000ms; 0 to disable auto-refresh).", + "label": "Refresh Duration", + "name": "refreshDuration", + "required": false, + "title": "Refresh Duration", + "type": "textfield", + "default": "3000", + "placeholder": "3000" + } + ], + "dependencies": { + "@raycast/api": "^1.90.0", + "pretty-bytes": "^6.1.1" + }, + "devDependencies": { + "@raycast/eslint-config": "^1.0.11", + "@types/node": "18.18.4", + "@types/react": "18.2.37", + "eslint": "^8.57.0", + "prettier": "^3.3.3", + "typescript": "^5.5.4" + }, + "scripts": { + "build": "ray build -e dist", + "dev": "ray develop", + "fix-lint": "ray lint --fix", + "lint": "ray lint", + "publish": "npx @raycast/api@latest publish" + } +} +\ No newline at end of file diff --git a/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/tools/kill-process.js b/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/tools/kill-process.js @@ -0,0 +1 @@ +"use strict";var n=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var l=(e,s)=>{for(var o in s)n(e,o,{get:s[o],enumerable:!0})},f=(e,s,o,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let a of c(s))!p.call(e,a)&&a!==o&&n(e,a,{get:()=>s[a],enumerable:!(r=i(s,a))||r.enumerable});return e};var u=e=>f(n({},"__esModule",{value:!0}),e);var d={};l(d,{confirmation:()=>h,default:()=>m});module.exports=u(d);var t=require("child_process");async function m(e){return new Promise((s,o)=>{(0,t.exec)(`kill -9 ${e.id}`,r=>{if(r){o(r);return}s(`Killed process: ${e.processName?e.processName+" ":""}(PID: ${e.id})`)})})}var h=async e=>{let s=[];return e.processName&&s.push({name:"Process Name",value:e.processName}),s.push({name:"PID",value:String(e.id)}),e.path&&s.push({name:"Path",value:e.path}),{info:s}};0&&(module.exports={confirmation}); diff --git a/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/tools/kill-process.js.map b/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/tools/kill-process.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../src/tools/kill-process.ts"], + "sourcesContent": ["import { exec } from \"child_process\";\nimport { Tool } from \"@raycast/api\";\n\n/**\n * Input type for killing a process\n */\ntype Input = {\n /**\n * App name to kill\n */\n processName?: string;\n\n /**\n * Process ID to kill\n */\n id: number;\n\n /**\n * Path to the process to kill\n */\n path?: string;\n};\n\n/**\n * Kill a process.\n * Provide the process ID to kill.\n * If the process is not found, the tool will return an error.\n */\nexport default async function killProcess(input: Input) {\n return new Promise((resolve, reject) => {\n exec(`kill -9 ${input.id}`, (killErr) => {\n if (killErr) {\n reject(killErr);\n return;\n }\n resolve(`Killed process: ${input.processName ? input.processName + \" \" : \"\"}(PID: ${input.id})`);\n });\n });\n}\n\n/**\n * Because forcibly killing a process can cause data loss or undesired system changes,\n * let's ask for user confirmation before proceeding.\n */\nexport const confirmation: Tool.Confirmation<Input> = async (input: Input) => {\n const info: { name: string; value: string }[] = [];\n\n // Only add Process Name if it's provided and non-empty\n if (input.processName) {\n info.push({ name: \"Process Name\", value: input.processName });\n }\n\n // Always add PID as it's required\n info.push({ name: \"PID\", value: String(input.id) });\n\n // Only add Path if it's provided and non-empty\n if (input.path) {\n info.push({ name: \"Path\", value: input.path });\n }\n\n return { info };\n};\n"], + "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAAqB,yBA4BrB,eAAOF,EAAmCG,EAAc,CACtD,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,IACtC,QAAK,WAAWF,EAAM,EAAE,GAAKG,GAAY,CACvC,GAAIA,EAAS,CACXD,EAAOC,CAAO,EACd,MACF,CACAF,EAAQ,mBAAmBD,EAAM,YAAcA,EAAM,YAAc,IAAM,EAAE,SAASA,EAAM,EAAE,GAAG,CACjG,CAAC,CACH,CAAC,CACH,CAMO,IAAMJ,EAAyC,MAAOI,GAAiB,CAC5E,IAAMI,EAA0C,CAAC,EAGjD,OAAIJ,EAAM,aACRI,EAAK,KAAK,CAAE,KAAM,eAAgB,MAAOJ,EAAM,WAAY,CAAC,EAI9DI,EAAK,KAAK,CAAE,KAAM,MAAO,MAAO,OAAOJ,EAAM,EAAE,CAAE,CAAC,EAG9CA,EAAM,MACRI,EAAK,KAAK,CAAE,KAAM,OAAQ,MAAOJ,EAAM,IAAK,CAAC,EAGxC,CAAE,KAAAI,CAAK,CAChB", + "names": ["kill_process_exports", "__export", "confirmation", "killProcess", "__toCommonJS", "import_child_process", "input", "resolve", "reject", "killErr", "info"] +} diff --git a/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/tools/list-processes.js b/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/tools/list-processes.js @@ -0,0 +1,2 @@ +"use strict";var p=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var O=(s,e)=>{for(var r in e)p(s,r,{get:e[r],enumerable:!0})},$=(s,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of I(e))!N.call(s,t)&&t!==r&&p(s,t,{get:()=>e[t],enumerable:!(o=w(e,t))||o.enumerable});return s};var v=s=>$(p({},"__esModule",{value:!0}),s);var R={};O(R,{default:()=>f});module.exports=v(R);var m=require("child_process");async function u(){return new Promise((s,e)=>{(0,m.exec)("ps -eo pid,ppid,pcpu,rss,comm",(r,o)=>{if(r!=null){e(r);return}let t=o.split(` +`).map(n=>{let c=["","","","","",""],a=/(\d+)\s+(\d+)\s+(\d+[.|,]\d+)\s+(\d+)\s+(.*)/,[,l,P,h,y,i]=n.match(a)??c,g=i.match(/[^/]*[^/]*$/i)?.[0]??"",S=i.includes(".prefPane"),d=i.includes(".app/");return{id:parseInt(l),pid:parseInt(P),cpu:parseFloat(h),mem:parseInt(y),type:S?"prefPane":d?"app":"binary",path:i,processName:g,appName:d?i.match(/(?<=\/)[^/]+(?=\.app\/)/)?.[0]:void 0}}).filter(n=>n.processName!=="");s(t)})})}var x=(s,e="mem",r="desc")=>[...s].sort((o,t)=>{let n=o[e],c=t[e];if(n===c)return 0;if(n===void 0)return 1;if(c===void 0)return-1;let a=n<c?-1:1;return r==="desc"?-a:a}),B=(s,e)=>e?.length?s.filter(r=>{let o=`${r.path} ${r.processName} ${r.appName||""}`.toLowerCase();return e.some(t=>o.includes(t.toLowerCase()))}):s,F=(s,e)=>{if(s.length===0&&e?.length)throw new Error(`No processes found matching "${e.join(", ")}"`)};async function f(s){let e=await u(),r=B(e,s?.searchTerm);return F(r,s?.searchTerm),x(r,s?.sortBy,s?.sortOrder)} diff --git a/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/tools/list-processes.js.map b/.config/raycast/extensions/c0c9423a-7014-481e-8bb9-44c4c6df53be/tools/list-processes.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../src/tools/list-processes.ts", "../../src/utils/process.ts"], + "sourcesContent": ["import { Process } from \"../types\";\nimport { fetchRunningProcesses } from \"../utils/process\";\n\ntype SortOrder = \"asc\" | \"desc\";\ntype SortField = keyof Process;\n\ntype Input = {\n /**\n * Optional array of search terms to filter processes.\n * For single process search, provide an array with one element.\n * Example: [\"Logi\"] will find all processes containing \"Logi\" in their name\n * Example: [\"Chrome\", \"Firefox\"] will find all processes containing either \"Chrome\" or \"Firefox\"\n */\n searchTerm?: string[];\n /**\n * Field to sort by (defaults to 'mem')\n */\n sortBy?: SortField;\n /**\n * Sort order (defaults to 'desc')\n */\n sortOrder?: SortOrder;\n};\n\nconst sortProcesses = (processes: Process[], field: SortField = \"mem\", order: SortOrder = \"desc\"): Process[] => {\n return [...processes].sort((a, b) => {\n const valueA = a[field];\n const valueB = b[field];\n\n if (valueA === valueB) return 0;\n if (valueA === undefined) return 1;\n if (valueB === undefined) return -1;\n\n const comparison = valueA < valueB ? -1 : 1;\n return order === \"desc\" ? -comparison : comparison;\n });\n};\n\nconst filterProcessesBySearchTerm = (processes: Process[], searchTerms?: string[]): Process[] => {\n if (!searchTerms?.length) return processes;\n\n return processes.filter((p) => {\n const searchIn = `${p.path} ${p.processName} ${p.appName || \"\"}`.toLowerCase();\n return searchTerms.some((term) => searchIn.includes(term.toLowerCase()));\n });\n};\n\nconst validateResults = (processes: Process[], searchTerms?: string[]): void => {\n if (processes.length === 0 && searchTerms?.length) {\n throw new Error(`No processes found matching \"${searchTerms.join(\", \")}\"`);\n }\n};\n\n/**\n * List out all running processes.\n * This tool can be called by AI to answer queries like,\n * \"What processes are running right now?\"\n * or \"list processes containing xyz\"\n * or \"list processes containing xyz and abc\"\n *\n * Throws an error if no processes are found matching the search terms\n */\nexport default async function listProcesses(input?: Input): Promise<Process[]> {\n const processes = await fetchRunningProcesses();\n\n const filteredProcesses = filterProcessesBySearchTerm(processes, input?.searchTerm);\n validateResults(filteredProcesses, input?.searchTerm);\n\n return sortProcesses(filteredProcesses, input?.sortBy, input?.sortOrder);\n}\n", "import { exec } from \"child_process\";\nimport { Process } from \"../types\";\n\n/**\n * Get all processes from the system\n * @returns Promise<Process[]> List of processes\n */\nexport async function fetchRunningProcesses(): Promise<Process[]> {\n return new Promise((resolve, reject) => {\n exec(`ps -eo pid,ppid,pcpu,rss,comm`, (err, stdout) => {\n if (err != null) {\n reject(err);\n return;\n }\n\n const processes = stdout\n .split(\"\\n\")\n .map((line) => {\n const defaultValue = [\"\", \"\", \"\", \"\", \"\", \"\"];\n const regex = /(\\d+)\\s+(\\d+)\\s+(\\d+[.|,]\\d+)\\s+(\\d+)\\s+(.*)/;\n const [, id, pid, cpu, mem, path] = line.match(regex) ?? defaultValue;\n const processName = path.match(/[^/]*[^/]*$/i)?.[0] ?? \"\";\n const isPrefPane = path.includes(\".prefPane\");\n const isApp = path.includes(\".app/\");\n\n return {\n id: parseInt(id),\n pid: parseInt(pid),\n cpu: parseFloat(cpu),\n mem: parseInt(mem),\n type: isPrefPane ? \"prefPane\" : isApp ? \"app\" : \"binary\",\n path,\n processName,\n appName: isApp ? path.match(/(?<=\\/)[^/]+(?=\\.app\\/)/)?.[0] : undefined,\n } as Process;\n })\n .filter((process) => process.processName !== \"\");\n resolve(processes);\n });\n });\n}\n"], + "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GCAA,IAAAI,EAAqB,yBAOrB,eAAsBC,GAA4C,CAChE,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,IACtC,QAAK,gCAAiC,CAACC,EAAKC,IAAW,CACrD,GAAID,GAAO,KAAM,CACfD,EAAOC,CAAG,EACV,MACF,CAEA,IAAME,EAAYD,EACf,MAAM;AAAA,CAAI,EACV,IAAKE,GAAS,CACb,IAAMC,EAAe,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EACtCC,EAAQ,+CACR,CAAC,CAAEC,EAAIC,EAAKC,EAAKC,EAAKC,CAAI,EAAIP,EAAK,MAAME,CAAK,GAAKD,EACnDO,EAAcD,EAAK,MAAM,cAAc,IAAI,CAAC,GAAK,GACjDE,EAAaF,EAAK,SAAS,WAAW,EACtCG,EAAQH,EAAK,SAAS,OAAO,EAEnC,MAAO,CACL,GAAI,SAASJ,CAAE,EACf,IAAK,SAASC,CAAG,EACjB,IAAK,WAAWC,CAAG,EACnB,IAAK,SAASC,CAAG,EACjB,KAAMG,EAAa,WAAaC,EAAQ,MAAQ,SAChD,KAAAH,EACA,YAAAC,EACA,QAASE,EAAQH,EAAK,MAAM,yBAAyB,IAAI,CAAC,EAAI,MAChE,CACF,CAAC,EACA,OAAQI,GAAYA,EAAQ,cAAgB,EAAE,EACjDhB,EAAQI,CAAS,CACnB,CAAC,CACH,CAAC,CACH,CDhBA,IAAMa,EAAgB,CAACC,EAAsBC,EAAmB,MAAOC,EAAmB,SACjF,CAAC,GAAGF,CAAS,EAAE,KAAK,CAACG,EAAGC,IAAM,CACnC,IAAMC,EAASF,EAAEF,CAAK,EAChBK,EAASF,EAAEH,CAAK,EAEtB,GAAII,IAAWC,EAAQ,MAAO,GAC9B,GAAID,IAAW,OAAW,MAAO,GACjC,GAAIC,IAAW,OAAW,MAAO,GAEjC,IAAMC,EAAaF,EAASC,EAAS,GAAK,EAC1C,OAAOJ,IAAU,OAAS,CAACK,EAAaA,CAC1C,CAAC,EAGGC,EAA8B,CAACR,EAAsBS,IACpDA,GAAa,OAEXT,EAAU,OAAQU,GAAM,CAC7B,IAAMC,EAAW,GAAGD,EAAE,IAAI,IAAIA,EAAE,WAAW,IAAIA,EAAE,SAAW,EAAE,GAAG,YAAY,EAC7E,OAAOD,EAAY,KAAMG,GAASD,EAAS,SAASC,EAAK,YAAY,CAAC,CAAC,CACzE,CAAC,EALgCZ,EAQ7Ba,EAAkB,CAACb,EAAsBS,IAAiC,CAC9E,GAAIT,EAAU,SAAW,GAAKS,GAAa,OACzC,MAAM,IAAI,MAAM,gCAAgCA,EAAY,KAAK,IAAI,CAAC,GAAG,CAE7E,EAWA,eAAOK,EAAqCC,EAAmC,CAC7E,IAAMf,EAAY,MAAMgB,EAAsB,EAExCC,EAAoBT,EAA4BR,EAAWe,GAAO,UAAU,EAClF,OAAAF,EAAgBI,EAAmBF,GAAO,UAAU,EAE7ChB,EAAckB,EAAmBF,GAAO,OAAQA,GAAO,SAAS,CACzE", + "names": ["list_processes_exports", "__export", "listProcesses", "__toCommonJS", "import_child_process", "fetchRunningProcesses", "resolve", "reject", "err", "stdout", "processes", "line", "defaultValue", "regex", "id", "pid", "cpu", "mem", "path", "processName", "isPrefPane", "isApp", "process", "sortProcesses", "processes", "field", "order", "a", "b", "valueA", "valueB", "comparison", "filterProcessesBySearchTerm", "searchTerms", "p", "searchIn", "term", "validateResults", "listProcesses", "input", "fetchRunningProcesses", "filteredProcesses"] +} diff --git a/.config/raycast/extensions/node_modules/@parcel/source-map/dist/SourceMap.js b/.config/raycast/extensions/node_modules/@parcel/source-map/dist/SourceMap.js @@ -0,0 +1,483 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _path = _interopRequireDefault(require("path")); + +var _utils = require("./utils"); + +var _package = require("../package.json"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _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; } + +class SourceMap { + /** + * @private + */ + + /** + * @private + */ + + /** + * Construct a SourceMap instance + * + * @param projectRoot root directory of the project, this is to ensure all source paths are relative to this path + */ + constructor(projectRoot = '/', buffer) { + _defineProperty(this, "sourceMapInstance", void 0); + + _defineProperty(this, "projectRoot", void 0); + } // Use this to invalidate saved buffers, we don't check versioning at all in Rust + + + get libraryVersion() { + return _package.version; + } + /** + * Generates an empty map from the provided fileName and sourceContent + * + * @param sourceName path of the source file + * @param sourceContent content of the source file + * @param lineOffset an offset that gets added to the sourceLine index of each mapping + */ + + + static generateEmptyMap({ + projectRoot, + sourceName, + sourceContent, + lineOffset = 0 + }) { + throw new Error('SourceMap.generateEmptyMap() must be implemented when extending SourceMap'); + } + /** + * Generates an empty map from the provided fileName and sourceContent + * + * @param sourceName path of the source file + * @param sourceContent content of the source file + * @param lineOffset an offset that gets added to the sourceLine index of each mapping + */ + + + addEmptyMap(sourceName, sourceContent, lineOffset = 0) { + this.sourceMapInstance.addEmptyMap(sourceName, sourceContent, lineOffset); + return this; + } + /** + * Appends raw VLQ mappings to the sourcemaps + */ + + + addVLQMap(map, lineOffset = 0, columnOffset = 0) { + throw new Error('SourceMap.addVLQMap() must be implemented when extending SourceMap'); + } + /** + * Appends another sourcemap instance to this sourcemap + * + * @param buffer the sourcemap buffer that should get appended to this sourcemap + * @param lineOffset an offset that gets added to the sourceLine index of each mapping + */ + + + addSourceMap(sourcemap, lineOffset = 0) { + throw new Error('Not implemented by child class'); + } + /** + * Appends a buffer to this sourcemap + * Note: The buffer should be generated by this library + * @param buffer the sourcemap buffer that should get appended to this sourcemap + * @param lineOffset an offset that gets added to the sourceLine index of each mapping + */ + + + addBuffer(buffer, lineOffset = 0) { + throw new Error('Not implemented by child class'); + } + /** + * Appends a Mapping object to this sourcemap + * Note: line numbers start at 1 due to mozilla's source-map library + * + * @param mapping the mapping that should be appended to this sourcemap + * @param lineOffset an offset that gets added to the sourceLine index of each mapping + * @param columnOffset an offset that gets added to the sourceColumn index of each mapping + */ + + + addIndexedMapping(mapping, lineOffset = 0, columnOffset = 0) { + // Not sure if it'll be worth it to add this back to C++, wrapping it in an array probably doesn't do that much harm in JS? + // Also we barely use this function anyway... + this.addIndexedMappings([mapping], lineOffset, columnOffset); + } + + _indexedMappingsToInt32Array(mappings, lineOffset = 0, columnOffset = 0) { + // Encode all mappings into a single typed array and make one call + // to C++ instead of one for each mapping to improve performance. + let mappingBuffer = new Int32Array(mappings.length * 6); + let sources = new Map(); + let names = new Map(); + let i = 0; + + for (let mapping of mappings) { + let hasValidOriginal = mapping.original && typeof mapping.original.line === 'number' && !isNaN(mapping.original.line) && typeof mapping.original.column === 'number' && !isNaN(mapping.original.column); + mappingBuffer[i++] = mapping.generated.line + lineOffset - 1; + mappingBuffer[i++] = mapping.generated.column + columnOffset; // $FlowFixMe + + mappingBuffer[i++] = hasValidOriginal ? mapping.original.line - 1 : -1; // $FlowFixMe + + mappingBuffer[i++] = hasValidOriginal ? mapping.original.column : -1; + let sourceIndex = mapping.source ? sources.get(mapping.source) : -1; + + if (sourceIndex == null) { + // $FlowFixMe + sourceIndex = this.addSource(mapping.source); // $FlowFixMe + + sources.set(mapping.source, sourceIndex); + } + + mappingBuffer[i++] = sourceIndex; + let nameIndex = mapping.name ? names.get(mapping.name) : -1; + + if (nameIndex == null) { + // $FlowFixMe + nameIndex = this.addName(mapping.name); // $FlowFixMe + + names.set(mapping.name, nameIndex); + } + + mappingBuffer[i++] = nameIndex; + } + + return mappingBuffer; + } + /** + * Appends an array of Mapping objects to this sourcemap + * This is useful when improving performance if a library provides the non-serialised mappings + * + * Note: This is only faster if they generate the serialised map lazily + * Note: line numbers start at 1 due to mozilla's source-map library + * + * @param mappings an array of mapping objects + * @param lineOffset an offset that gets added to the sourceLine index of each mapping + * @param columnOffset an offset that gets added to the sourceColumn index of each mapping + */ + + + addIndexedMappings(mappings, lineOffset = 0, columnOffset = 0) { + let mappingBuffer = this._indexedMappingsToInt32Array(mappings, lineOffset, columnOffset); + + this.sourceMapInstance.addIndexedMappings(mappingBuffer); + return this; + } + /** + * Appends a name to the sourcemap + * + * @param name the name that should be appended to the names array + * @returns the index of the added name in the names array + */ + + + addName(name) { + return this.sourceMapInstance.addName(name); + } + /** + * Appends an array of names to the sourcemap's names array + * + * @param names an array of names to add to the sourcemap + * @returns an array of indexes of the names in the sourcemap's names array, has the same order as the provided names array + */ + + + addNames(names) { + return names.map(n => this.addName(n)); + } + /** + * Appends a source to the sourcemap's sources array + * + * @param source a filepath that should be appended to the sources array + * @returns the index of the added source filepath in the sources array + */ + + + addSource(source) { + return this.sourceMapInstance.addSource(source); + } + /** + * Appends an array of sources to the sourcemap's sources array + * + * @param sources an array of filepaths which should sbe appended to the sources array + * @returns an array of indexes of the sources that have been added to the sourcemap, returned in the same order as provided in the argument + */ + + + addSources(sources) { + return sources.map(s => this.addSource(s)); + } + /** + * Get the index in the sources array for a certain source file filepath + * + * @param source the filepath of the source file + */ + + + getSourceIndex(source) { + return this.sourceMapInstance.getSourceIndex(source); + } + /** + * Get the source file filepath for a certain index of the sources array + * + * @param index the index of the source in the sources array + */ + + + getSource(index) { + return this.sourceMapInstance.getSource(index); + } + /** + * Get a list of all sources + */ + + + getSources() { + return this.sourceMapInstance.getSources(); + } + /** + * Set the sourceContent for a certain file + * this is optional and is only recommended for files that we cannot read in at the end when we serialise the sourcemap + * + * @param sourceName the path of the sourceFile + * @param sourceContent the content of the sourceFile + */ + + + setSourceContent(sourceName, sourceContent) { + return this.sourceMapInstance.setSourceContentBySource(sourceName, sourceContent); + } + /** + * Get the content of a source file if it is inlined as part of the source-map + * + * @param sourceName filename + */ + + + getSourceContent(sourceName) { + return this.sourceMapInstance.getSourceContentBySource(sourceName); + } + /** + * Get a list of all sources + */ + + + getSourcesContent() { + return this.sourceMapInstance.getSourcesContent(); + } + /** + * Get a map of the source and it's corresponding source content + */ + + + getSourcesContentMap() { + let sources = this.getSources(); + let sourcesContent = this.getSourcesContent(); + let results = {}; + + for (let i = 0; i < sources.length; i++) { + results[sources[i]] = sourcesContent[i] || null; + } + + return results; + } + /** + * Get the index in the names array for a certain name + * + * @param name the name you want to find the index of + */ + + + getNameIndex(name) { + return this.sourceMapInstance.getNameIndex(name); + } + /** + * Get the name for a certain index of the names array + * + * @param index the index of the name in the names array + */ + + + getName(index) { + return this.sourceMapInstance.getName(index); + } + /** + * Get a list of all names + */ + + + getNames() { + return this.sourceMapInstance.getNames(); + } + /** + * Get a list of all mappings + */ + + + getMappings() { + return this.sourceMapInstance.getMappings(); + } + /** + * Convert a Mapping object that uses indexes for name and source to the actual value of name and source + * + * Note: This is only used internally, should not be used externally and will probably eventually get + * handled directly in C++ for improved performance + * + * @param index the Mapping that should get converted to a string-based Mapping + */ + + + indexedMappingToStringMapping(mapping) { + if (!mapping) return mapping; + + if (mapping.source != null && mapping.source > -1) { + // $FlowFixMe + mapping.source = this.getSource(mapping.source); + } + + if (mapping.name != null && mapping.name > -1) { + // $FlowFixMe + mapping.name = this.getName(mapping.name); + } // $FlowFixMe + + + return mapping; + } + /** + * Remaps original positions from this map to the ones in the provided map + * + * This works by finding the closest generated mapping in the provided map + * to original mappings of this map and remapping those to be the original + * mapping of the provided map. + * + * @param buffer exported SourceMap as a buffer + */ + + + extends(buffer) { + throw new Error('Should be implemented by extending'); + } + /** + * Returns an object with mappings, sources and names + * This should only be used for tests, debugging and visualising sourcemaps + * + * Note: This is a fairly slow operation + */ + + + getMap() { + return { + mappings: this.getMappings(), + sources: this.getSources(), + sourcesContent: this.getSourcesContent(), + names: this.getNames() + }; + } + /** + * Searches through the sourcemap and returns a mapping that is close to the provided generated line and column + * + * @param line the line in the generated code (starts at 1) + * @param column the column in the generated code (starts at 0) + */ + + + findClosestMapping(line, column) { + let mapping = this.sourceMapInstance.findClosestMapping(line - 1, column); + + if (mapping) { + let v = this.indexedMappingToStringMapping(mapping); + return v; + } else { + return null; + } + } + /** + * Offset mapping lines from a certain position + * + * @param line the line in the generated code (starts at 1) + * @param lineOffset the amount of lines to offset mappings by + */ + + + offsetLines(line, lineOffset) { + if (line < 1 || line + lineOffset < 1) { + throw new Error('Line has to be positive'); + } + + if (lineOffset === 0) { + return; + } + + this.sourceMapInstance.offsetLines(line - 1, lineOffset); + } + /** + * Offset mapping columns from a certain position + * + * @param line the line in the generated code (starts at 1) + * @param column the column in the generated code (starts at 0) + * @param columnOffset the amount of columns to offset mappings by + */ + + + offsetColumns(line, column, columnOffset) { + if (line < 1 || column < 0 || column + columnOffset < 0) { + throw new Error('Line and Column has to be positive'); + } + + if (columnOffset === 0) { + return; + } + + this.sourceMapInstance.offsetColumns(line - 1, column, columnOffset); + } + /** + * Returns a buffer that represents this sourcemap, used for caching + */ + + + toBuffer() { + return this.sourceMapInstance.toBuffer(); + } + /** + * Returns a serialised map using VLQ Mappings + */ + + + toVLQ() { + return this.sourceMapInstance.toVLQ(); + } + /** + * A function that has to be called at the end of the SourceMap's lifecycle to ensure all memory and native bindings get de-allocated + */ + + + delete() { + throw new Error('SourceMap.delete() must be implemented when extending SourceMap'); + } + /** + * Returns a serialised map + * + * @param options options used for formatting the serialised map + */ + + + async stringify(options) { + return (0, _utils.partialVlqMapToSourceMap)(this.toVLQ(), { ...options, + rootDir: this.projectRoot || options.rootDir + }); + } + +} + +exports.default = SourceMap; +\ No newline at end of file diff --git a/.config/raycast/extensions/node_modules/@parcel/source-map/dist/utils.js b/.config/raycast/extensions/node_modules/@parcel/source-map/dist/utils.js @@ -0,0 +1,71 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.generateInlineMap = generateInlineMap; +exports.partialVlqMapToSourceMap = partialVlqMapToSourceMap; + +var _path = _interopRequireDefault(require("path")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function generateInlineMap(map) { + return `data:application/json;charset=utf-8;base64,${Buffer.from(map).toString('base64')}`; +} + +async function partialVlqMapToSourceMap(map, opts) { + let { + fs, + file, + sourceRoot, + inlineSources, + rootDir, + format = 'string' + } = opts; + let resultMap = { ...map, + sourcesContent: map.sourcesContent ? map.sourcesContent.map(content => { + if (content) { + return content; + } else { + return null; + } + }) : [], + version: 3, + file, + sourceRoot + }; + + if (resultMap.sourcesContent.length < resultMap.sources.length) { + for (let i = 0; i <= resultMap.sources.length - resultMap.sourcesContent.length; i++) { + resultMap.sourcesContent.push(null); + } + } + + if (fs) { + resultMap.sourcesContent = await Promise.all(resultMap.sourcesContent.map(async (content, index) => { + let sourceName = map.sources[index]; // If sourceName starts with `..` it is outside rootDir, in this case we likely cannot access this file from the browser or packaged node_module + // Because of this we have to include the sourceContent to ensure you can always see the sourcecontent for each mapping. + + if (!content && (inlineSources || sourceName.startsWith('..'))) { + try { + return await fs.readFile(_path.default.resolve(rootDir || '/', sourceName), 'utf-8'); + } catch (e) {} + } + + return content; + })); + } + + if (format === 'inline' || format === 'string') { + let stringifiedMap = JSON.stringify(resultMap); + + if (format === 'inline') { + return generateInlineMap(stringifiedMap); + } + + return stringifiedMap; + } + + return resultMap; +} +\ No newline at end of file diff --git a/.config/raycast/extensions/node_modules/@parcel/source-map/dist/wasm-bindings.js b/.config/raycast/extensions/node_modules/@parcel/source-map/dist/wasm-bindings.js @@ -0,0 +1,13 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "SourceMap", { + enumerable: true, + get: function () { + return _parcel_sourcemap_wasm.SourceMap; + } +}); + +var _parcel_sourcemap_wasm = require("../parcel_sourcemap_wasm/dist-node/parcel_sourcemap_wasm.js"); +\ No newline at end of file diff --git a/.config/raycast/extensions/node_modules/@parcel/source-map/dist/wasm.js b/.config/raycast/extensions/node_modules/@parcel/source-map/dist/wasm.js @@ -0,0 +1,86 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.init = void 0; + +var _path = _interopRequireDefault(require("path")); + +var _SourceMap = _interopRequireDefault(require("./SourceMap")); + +var bindings = _interopRequireWildcard(require("./wasm-bindings")); + +function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + +function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const init = typeof bindings.init === 'function' ? bindings.init() : Promise.resolve(); +exports.init = init; + +class WasmSourceMap extends _SourceMap.default { + constructor(projectRoot = '/', buffer) { + super(projectRoot, buffer); + this.sourceMapInstance = new bindings.SourceMap(projectRoot, buffer); + this.projectRoot = this.sourceMapInstance.getProjectRoot(); + } + + addVLQMap(map, lineOffset = 0, columnOffset = 0) { + let { + sourcesContent, + sources = [], + mappings, + names = [] + } = map; + + if (!sourcesContent) { + sourcesContent = sources.map(() => ''); + } else { + sourcesContent = sourcesContent.map(content => content ? content : ''); + } + + this.sourceMapInstance.addVLQMap(mappings, sources, sourcesContent.map(content => content ? content : ''), names, lineOffset, columnOffset); + return this; + } + + addSourceMap(sourcemap, lineOffset = 0) { + if (!(sourcemap.sourceMapInstance instanceof bindings.SourceMap)) { + throw new Error('The sourcemap provided to addSourceMap is not a valid sourcemap instance'); + } + + this.sourceMapInstance.addSourceMap(sourcemap.sourceMapInstance, lineOffset); + return this; + } + + addBuffer(buffer, lineOffset = 0) { + let previousMap = new WasmSourceMap(this.projectRoot, buffer); + return this.addSourceMap(previousMap, lineOffset); + } + + extends(input) { + // $FlowFixMe + let inputSourceMap = input instanceof Uint8Array ? new WasmSourceMap(this.projectRoot, input) : input; + this.sourceMapInstance.extends(inputSourceMap.sourceMapInstance); + return this; + } + + delete() { + this.sourceMapInstance.free(); + } + + static generateEmptyMap({ + projectRoot, + sourceName, + sourceContent, + lineOffset = 0 + }) { + let map = new WasmSourceMap(projectRoot); + map.addEmptyMap(sourceName, sourceContent, lineOffset); + return map; + } + +} + +exports.default = WasmSourceMap; +\ No newline at end of file diff --git a/.config/raycast/extensions/node_modules/@parcel/source-map/package.json b/.config/raycast/extensions/node_modules/@parcel/source-map/package.json @@ -0,0 +1,89 @@ +{ + "name": "@parcel/source-map", + "version": "2.1.1", + "main": "./dist/wasm.js", + "types": "index.d.ts", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/source-map.git" + }, + "scripts": { + "test": "mocha ./test/*.test.js", + "test:node": "cross-env BACKEND=node yarn test", + "test:wasm": "cross-env BACKEND=wasm yarn test", + "benchmark": "node ./bench/run", + "benchmark:node": "cross-env BACKEND=node yarn benchmark", + "benchmark:wasm": "cross-env BACKEND=wasm yarn benchmark", + "transpile": "babel ./src/*.js --out-dir ./dist && flow-copy-source -v src dist", + "build:clean": "cd ./parcel_sourcemap_node && rm -rf artifacts && mkdir artifacts", + "build:node": "yarn build:clean && node parcel_sourcemap_node/build.js", + "build:node-release": "yarn build:clean && node parcel_sourcemap_node/build.js --release", + "build:wasm-node": "wasm-pack build parcel_sourcemap_wasm --target nodejs --no-typescript --dev --out-dir dist-node", + "build:wasm-node-release": "wasm-pack build parcel_sourcemap_wasm --target nodejs --no-typescript --release --out-dir dist-node", + "build:wasm-web": "wasm-pack build parcel_sourcemap_wasm --no-typescript --target web --dev --out-dir dist-web", + "build:wasm-web-release": "wasm-pack build parcel_sourcemap_wasm --no-typescript --target web --release --out-dir dist-web", + "rebuild": "shx rm -rf build && yarn build:node", + "rebuild-all": "yarn transpile && yarn rebuild", + "prepublish": "npm run transpile", + "typecheck": "flow", + "format": "prettier --write \"./**/*.{js,md,mdx}\"", + "clean": "shx rm -rf dist build", + "tag-release": "node ./tag-release" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "*.{js,json,md}": [ + "prettier --write" + ] + }, + "files": [ + "dist", + "index.d.ts", + "package.json", + "parcel_sourcemap_node/**/*", + "parcel_sourcemap_wasm/dist-node/**/*", + "parcel_sourcemap_wasm/dist-web/**/*", + "README.md", + "!.gitignore" + ], + "binary": { + "napi_versions": [ + 4 + ] + }, + "engines": { + "node": "^12.18.3 || >=14" + }, + "devDependencies": { + "@babel/cli": "^7.14.3", + "@babel/core": "^7.14.3", + "@babel/preset-env": "^7.14.2", + "@babel/preset-flow": "^7.13.13", + "@babel/register": "^7.13.16", + "@napi-rs/cli": "^1.0.4", + "cross-env": "^7.0.3", + "flow-bin": "^0.151.0", + "flow-copy-source": "^2.0.9", + "fs-extra": "^10.0.0", + "globby": "^11.0.3", + "husky": "6.0.0", + "lint-staged": "^11.0.0", + "mocha": "^8.4.0", + "prettier": "^2.3.0", + "shx": "^0.3.3", + "source-map": "^0.7.3", + "tiny-benchy": "^2.1.0" + }, + "dependencies": { + "detect-libc": "^1.0.3" + }, + "browser": { + "./dist/node.js": "./dist/wasm.js", + "./dist/wasm-bindings.js": "./dist/wasm-bindings-web.js" + } +} +\ No newline at end of file diff --git a/.config/raycast/extensions/node_modules/@parcel/source-map/parcel_sourcemap_wasm/dist-node/package.json b/.config/raycast/extensions/node_modules/@parcel/source-map/parcel_sourcemap_wasm/dist-node/package.json @@ -0,0 +1,12 @@ +{ + "name": "parcel_sourcemap_wasm", + "collaborators": [ + "Jasper De Moor <jasperdemoor@gmail.com>" + ], + "version": "2.1.1", + "files": [ + "parcel_sourcemap_wasm_bg.wasm", + "parcel_sourcemap_wasm.js" + ], + "main": "parcel_sourcemap_wasm.js" +} +\ No newline at end of file diff --git a/.config/raycast/extensions/node_modules/@parcel/source-map/parcel_sourcemap_wasm/dist-node/parcel_sourcemap_wasm.js b/.config/raycast/extensions/node_modules/@parcel/source-map/parcel_sourcemap_wasm/dist-node/parcel_sourcemap_wasm.js @@ -0,0 +1,660 @@ +let imports = {}; +imports['__wbindgen_placeholder__'] = module.exports; +let wasm; +const { TextEncoder, TextDecoder } = require(`util`); + +const heap = new Array(32).fill(undefined); + +heap.push(undefined, null, true, false); + +function getObject(idx) { return heap[idx]; } + +let WASM_VECTOR_LEN = 0; + +let cachegetUint8Memory0 = null; +function getUint8Memory0() { + if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) { + cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer); + } + return cachegetUint8Memory0; +} + +let cachedTextEncoder = new TextEncoder('utf-8'); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length); + getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len); + + const mem = getUint8Memory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3); + const view = getUint8Memory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachegetInt32Memory0 = null; +function getInt32Memory0() { + if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) { + cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer); + } + return cachegetInt32Memory0; +} + +let heap_next = heap.length; + +function dropObject(idx) { + if (idx < 36) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); + +cachedTextDecoder.decode(); + +function getStringFromWasm0(ptr, len) { + return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); +} + +let cachegetUint32Memory0 = null; +function getUint32Memory0() { + if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) { + cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer); + } + return cachegetUint32Memory0; +} + +function passArray32ToWasm0(arg, malloc) { + const ptr = malloc(arg.length * 4); + getUint32Memory0().set(arg, ptr / 4); + WASM_VECTOR_LEN = arg.length; + return ptr; +} + +function _assertClass(instance, klass) { + if (!(instance instanceof klass)) { + throw new Error(`expected instance of ${klass.name}`); + } + return instance.ptr; +} +/** +*/ +class SourceMap { + + static __wrap(ptr) { + const obj = Object.create(SourceMap.prototype); + obj.ptr = ptr; + + return obj; + } + + __destroy_into_raw() { + const ptr = this.ptr; + this.ptr = 0; + + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_sourcemap_free(ptr); + } + /** + * @param {string} project_root + * @param {any} buffer + */ + constructor(project_root, buffer) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0(project_root, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + wasm.sourcemap_new(retptr, ptr0, len0, addHeapObject(buffer)); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return SourceMap.__wrap(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @returns {string} + */ + getProjectRoot() { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.sourcemap_getProjectRoot(retptr, this.ptr); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + return getStringFromWasm0(r0, r1); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(r0, r1); + } + } + /** + * @param {string} vlq_mappings + * @param {any} sources + * @param {any} sources_content + * @param {any} names + * @param {number} line_offset + * @param {number} column_offset + * @returns {any} + */ + addVLQMap(vlq_mappings, sources, sources_content, names, line_offset, column_offset) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0(vlq_mappings, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + wasm.sourcemap_addVLQMap(retptr, this.ptr, ptr0, len0, addHeapObject(sources), addHeapObject(sources_content), addHeapObject(names), line_offset, column_offset); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @returns {any} + */ + toVLQ() { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.sourcemap_toVLQ(retptr, this.ptr); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @returns {any} + */ + getMappings() { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.sourcemap_getMappings(retptr, this.ptr); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @returns {any} + */ + getSources() { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.sourcemap_getSources(retptr, this.ptr); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @returns {any} + */ + getSourcesContent() { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.sourcemap_getSourcesContent(retptr, this.ptr); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @returns {any} + */ + getNames() { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.sourcemap_getNames(retptr, this.ptr); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @param {string} name + * @returns {number} + */ + addName(name) { + const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.sourcemap_addName(this.ptr, ptr0, len0); + return ret >>> 0; + } + /** + * @param {string} source + * @returns {number} + */ + addSource(source) { + const ptr0 = passStringToWasm0(source, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.sourcemap_addSource(this.ptr, ptr0, len0); + return ret >>> 0; + } + /** + * @param {number} index + * @returns {string} + */ + getName(index) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.sourcemap_getName(retptr, this.ptr, index); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + return getStringFromWasm0(r0, r1); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(r0, r1); + } + } + /** + * @param {number} index + * @returns {string} + */ + getSource(index) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.sourcemap_getSource(retptr, this.ptr, index); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + return getStringFromWasm0(r0, r1); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(r0, r1); + } + } + /** + * @param {string} name + * @returns {number} + */ + getNameIndex(name) { + const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.sourcemap_getNameIndex(this.ptr, ptr0, len0); + return ret; + } + /** + * @param {string} source + * @returns {any} + */ + getSourceIndex(source) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0(source, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + wasm.sourcemap_getSourceIndex(retptr, this.ptr, ptr0, len0); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @param {Int32Array} mappings_arr + */ + addIndexedMappings(mappings_arr) { + const ptr0 = passArray32ToWasm0(mappings_arr, wasm.__wbindgen_malloc); + const len0 = WASM_VECTOR_LEN; + wasm.sourcemap_addIndexedMappings(this.ptr, ptr0, len0); + } + /** + * @returns {any} + */ + toBuffer() { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.sourcemap_toBuffer(retptr, this.ptr); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @param {SourceMap} previous_map_instance + * @param {number} line_offset + * @returns {any} + */ + addSourceMap(previous_map_instance, line_offset) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + _assertClass(previous_map_instance, SourceMap); + wasm.sourcemap_addSourceMap(retptr, this.ptr, previous_map_instance.ptr, line_offset); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @param {string} source + * @param {string} source_content + * @returns {any} + */ + setSourceContentBySource(source, source_content) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0(source, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0(source_content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + wasm.sourcemap_setSourceContentBySource(retptr, this.ptr, ptr0, len0, ptr1, len1); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @param {string} source + * @returns {any} + */ + getSourceContentBySource(source) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0(source, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + wasm.sourcemap_getSourceContentBySource(retptr, this.ptr, ptr0, len0); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @param {string} source + * @param {string} source_content + * @param {number} line_offset + * @returns {any} + */ + addEmptyMap(source, source_content, line_offset) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0(source, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0(source_content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + wasm.sourcemap_addEmptyMap(retptr, this.ptr, ptr0, len0, ptr1, len1, line_offset); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @param {SourceMap} previous_map_instance + * @returns {any} + */ + extends(previous_map_instance) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + _assertClass(previous_map_instance, SourceMap); + wasm.sourcemap_extends(retptr, this.ptr, previous_map_instance.ptr); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @param {number} generated_line + * @param {number} generated_column + * @returns {any} + */ + findClosestMapping(generated_line, generated_column) { + const ret = wasm.sourcemap_findClosestMapping(this.ptr, generated_line, generated_column); + return takeObject(ret); + } + /** + * @param {number} generated_line + * @param {number} generated_line_offset + * @returns {any} + */ + offsetLines(generated_line, generated_line_offset) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.sourcemap_offsetLines(retptr, this.ptr, generated_line, generated_line_offset); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @param {number} generated_line + * @param {number} generated_column + * @param {number} generated_column_offset + * @returns {any} + */ + offsetColumns(generated_line, generated_column, generated_column_offset) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.sourcemap_offsetColumns(retptr, this.ptr, generated_line, generated_column, generated_column_offset); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } +} +module.exports.SourceMap = SourceMap; + +module.exports.__wbindgen_json_serialize = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = JSON.stringify(obj === undefined ? null : obj); + const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; +}; + +module.exports.__wbg_new_3047bf4b4f02b802 = function(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); +}; + +module.exports.__wbindgen_is_undefined = function(arg0) { + const ret = getObject(arg0) === undefined; + return ret; +}; + +module.exports.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); +}; + +module.exports.__wbg_length_0acb1cf9bbaf8519 = function(arg0) { + const ret = getObject(arg0).length; + return ret; +}; + +module.exports.__wbindgen_memory = function() { + const ret = wasm.memory; + return addHeapObject(ret); +}; + +module.exports.__wbg_buffer_7af23f65f6c64548 = function(arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); +}; + +module.exports.__wbg_new_cc9018bd6f283b6f = function(arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); +}; + +module.exports.__wbg_set_f25e869e4565d2a2 = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); +}; + +module.exports.__wbindgen_json_parse = function(arg0, arg1) { + const ret = JSON.parse(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); +}; + +module.exports.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return addHeapObject(ret); +}; + +module.exports.__wbg_newwithbyteoffsetandlength_ce1e75f0ce5f7974 = function(arg0, arg1, arg2) { + const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); +}; + +module.exports.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); +}; + +module.exports.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); +}; + +const path = require('path').join(__dirname, 'parcel_sourcemap_wasm_bg.wasm'); +const bytes = require('fs').readFileSync(path); + +const wasmModule = new WebAssembly.Module(bytes); +const wasmInstance = new WebAssembly.Instance(wasmModule, imports); +wasm = wasmInstance.exports; +module.exports.__wasm = wasm; + diff --git a/.config/raycast/extensions/node_modules/@parcel/source-map/parcel_sourcemap_wasm/dist-node/parcel_sourcemap_wasm_bg.wasm b/.config/raycast/extensions/node_modules/@parcel/source-map/parcel_sourcemap_wasm/dist-node/parcel_sourcemap_wasm_bg.wasm Binary files differ. diff --git a/.config/raycast/extensions/node_modules/@raycast/api/index.js b/.config/raycast/extensions/node_modules/@raycast/api/index.js @@ -0,0 +1,57 @@ +"use strict";var Vg=Object.create;var On=Object.defineProperty;var qg=Object.getOwnPropertyDescriptor;var Bg=Object.getOwnPropertyNames;var Ug=Object.getPrototypeOf,Hg=Object.prototype.hasOwnProperty;var b=(e,t)=>()=>(e&&(t=e(e=0)),t);var m=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ft=(e,t)=>{for(var r in t)On(e,r,{get:t[r],enumerable:!0})},ml=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Bg(t))!Hg.call(e,o)&&o!==r&&On(e,o,{get:()=>t[o],enumerable:!(n=qg(t,o))||n.enumerable});return e};var je=(e,t,r)=>(r=e!=null?Vg(Ug(e)):{},ml(t||!e||!e.__esModule?On(r,"default",{value:e,enumerable:!0}):r,e)),fl=e=>ml(On({},"__esModule",{value:!0}),e);var hl=m(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.boolean=void 0;var Gg=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return e.valueOf()===1;case"[object Boolean]":return e.valueOf();default:return!1}};Fn.boolean=Gg});var gl=m(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.isBooleanable=void 0;var Wg=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};Ln.isBooleanable=Wg});var Dn=m(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.isBooleanable=Lt.boolean=void 0;var Jg=hl();Object.defineProperty(Lt,"boolean",{enumerable:!0,get:function(){return Jg.boolean}});var Xg=gl();Object.defineProperty(Lt,"isBooleanable",{enumerable:!0,get:function(){return Xg.isBooleanable}})});var zn=m((SC,yl)=>{yl.exports=Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]"});var Va=m((kC,vl)=>{"use strict";var bl=Object.prototype.toString;vl.exports=function(t){var r=bl.call(t),n=r==="[object Arguments]";return n||(n=r!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&bl.call(t.callee)==="[object Function]"),n}});var Al=m((_C,Tl)=>{"use strict";var Cl;Object.keys||(Nr=Object.prototype.hasOwnProperty,qa=Object.prototype.toString,xl=Va(),Ba=Object.prototype.propertyIsEnumerable,Pl=!Ba.call({toString:null},"toString"),wl=Ba.call(function(){},"prototype"),Er=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Mn=function(e){var t=e.constructor;return t&&t.prototype===e},Sl={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},kl=function(){if(typeof window>"u")return!1;for(var e in window)try{if(!Sl["$"+e]&&Nr.call(window,e)&&window[e]!==null&&typeof window[e]=="object")try{Mn(window[e])}catch{return!0}}catch{return!0}return!1}(),_l=function(e){if(typeof window>"u"||!kl)return Mn(e);try{return Mn(e)}catch{return!1}},Cl=function(t){var r=t!==null&&typeof t=="object",n=qa.call(t)==="[object Function]",o=xl(t),a=r&&qa.call(t)==="[object String]",i=[];if(!r&&!n&&!o)throw new TypeError("Object.keys called on a non-object");var c=wl&&n;if(a&&t.length>0&&!Nr.call(t,0))for(var l=0;l<t.length;++l)i.push(String(l));if(o&&t.length>0)for(var d=0;d<t.length;++d)i.push(String(d));else for(var u in t)!(c&&u==="prototype")&&Nr.call(t,u)&&i.push(String(u));if(Pl)for(var p=_l(t),g=0;g<Er.length;++g)!(p&&Er[g]==="constructor")&&Nr.call(t,Er[g])&&i.push(Er[g]);return i});var Nr,qa,xl,Ba,Pl,wl,Er,Mn,Sl,kl,_l;Tl.exports=Cl});var Il=m((CC,Rl)=>{"use strict";var Zg=Array.prototype.slice,Yg=Va(),Nl=Object.keys,$n=Nl?function(t){return Nl(t)}:Al(),El=Object.keys;$n.shim=function(){if(Object.keys){var t=function(){var r=Object.keys(arguments);return r&&r.length===arguments.length}(1,2);t||(Object.keys=function(n){return Yg(n)?El(Zg.call(n)):El(n)})}else Object.keys=$n;return Object.keys||$n};Rl.exports=$n});var Fl=m((TC,Ol)=>{"use strict";Ol.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var o=42;t[r]=o;for(r in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var a=Object.getOwnPropertySymbols(t);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var i=Object.getOwnPropertyDescriptor(t,r);if(i.value!==o||i.enumerable!==!0)return!1}return!0}});var zl=m((AC,Dl)=>{"use strict";var Ll=typeof Symbol<"u"&&Symbol,Kg=Fl();Dl.exports=function(){return typeof Ll!="function"||typeof Symbol!="function"||typeof Ll("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:Kg()}});var jl=m((NC,$l)=>{"use strict";var Ml={foo:{}},Qg=Object;$l.exports=function(){return{__proto__:Ml}.foo===Ml.foo&&!({__proto__:null}instanceof Qg)}});var Bl=m((EC,ql)=>{"use strict";var ey="Function.prototype.bind called on incompatible ",ty=Object.prototype.toString,ry=Math.max,ny="[object Function]",Vl=function(t,r){for(var n=[],o=0;o<t.length;o+=1)n[o]=t[o];for(var a=0;a<r.length;a+=1)n[a+t.length]=r[a];return n},oy=function(t,r){for(var n=[],o=r||0,a=0;o<t.length;o+=1,a+=1)n[a]=t[o];return n},ay=function(e,t){for(var r="",n=0;n<e.length;n+=1)r+=e[n],n+1<e.length&&(r+=t);return r};ql.exports=function(t){var r=this;if(typeof r!="function"||ty.apply(r)!==ny)throw new TypeError(ey+r);for(var n=oy(arguments,1),o,a=function(){if(this instanceof o){var u=r.apply(this,Vl(n,arguments));return Object(u)===u?u:this}return r.apply(t,Vl(n,arguments))},i=ry(0,r.length-n.length),c=[],l=0;l<i;l++)c[l]="$"+l;if(o=Function("binder","return function ("+ay(c,",")+"){ return binder.apply(this,arguments); }")(a),r.prototype){var d=function(){};d.prototype=r.prototype,o.prototype=new d,d.prototype=null}return o}});var Ua=m((RC,Ul)=>{"use strict";var iy=Bl();Ul.exports=Function.prototype.bind||iy});var Gl=m((IC,Hl)=>{"use strict";var sy=Ua();Hl.exports=sy.call(Function.call,Object.prototype.hasOwnProperty)});var qn=m((OC,Yl)=>{"use strict";var D,$t=SyntaxError,Zl=Function,Mt=TypeError,Ha=function(e){try{return Zl('"use strict"; return ('+e+").constructor;")()}catch{}},yt=Object.getOwnPropertyDescriptor;if(yt)try{yt({},"")}catch{yt=null}var Ga=function(){throw new Mt},cy=yt?function(){try{return arguments.callee,Ga}catch{try{return yt(arguments,"callee").get}catch{return Ga}}}():Ga,Dt=zl()(),ly=jl()(),ee=Object.getPrototypeOf||(ly?function(e){return e.__proto__}:null),zt={},uy=typeof Uint8Array>"u"||!ee?D:ee(Uint8Array),bt={"%AggregateError%":typeof AggregateError>"u"?D:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?D:ArrayBuffer,"%ArrayIteratorPrototype%":Dt&&ee?ee([][Symbol.iterator]()):D,"%AsyncFromSyncIteratorPrototype%":D,"%AsyncFunction%":zt,"%AsyncGenerator%":zt,"%AsyncGeneratorFunction%":zt,"%AsyncIteratorPrototype%":zt,"%Atomics%":typeof Atomics>"u"?D:Atomics,"%BigInt%":typeof BigInt>"u"?D:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?D:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?D:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?D:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?D:Float32Array,"%Float64Array%":typeof Float64Array>"u"?D:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?D:FinalizationRegistry,"%Function%":Zl,"%GeneratorFunction%":zt,"%Int8Array%":typeof Int8Array>"u"?D:Int8Array,"%Int16Array%":typeof Int16Array>"u"?D:Int16Array,"%Int32Array%":typeof Int32Array>"u"?D:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Dt&&ee?ee(ee([][Symbol.iterator]())):D,"%JSON%":typeof JSON=="object"?JSON:D,"%Map%":typeof Map>"u"?D:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Dt||!ee?D:ee(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?D:Promise,"%Proxy%":typeof Proxy>"u"?D:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?D:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?D:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Dt||!ee?D:ee(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?D:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Dt&&ee?ee(""[Symbol.iterator]()):D,"%Symbol%":Dt?Symbol:D,"%SyntaxError%":$t,"%ThrowTypeError%":cy,"%TypedArray%":uy,"%TypeError%":Mt,"%Uint8Array%":typeof Uint8Array>"u"?D:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?D:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?D:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?D:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?D:WeakMap,"%WeakRef%":typeof WeakRef>"u"?D:WeakRef,"%WeakSet%":typeof WeakSet>"u"?D:WeakSet};if(ee)try{null.error}catch(e){Wl=ee(ee(e)),bt["%Error.prototype%"]=Wl}var Wl,dy=function e(t){var r;if(t==="%AsyncFunction%")r=Ha("async function () {}");else if(t==="%GeneratorFunction%")r=Ha("function* () {}");else if(t==="%AsyncGeneratorFunction%")r=Ha("async function* () {}");else if(t==="%AsyncGenerator%"){var n=e("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(t==="%AsyncIteratorPrototype%"){var o=e("%AsyncGenerator%");o&&ee&&(r=ee(o.prototype))}return bt[t]=r,r},Jl={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Rr=Ua(),jn=Gl(),py=Rr.call(Function.call,Array.prototype.concat),my=Rr.call(Function.apply,Array.prototype.splice),Xl=Rr.call(Function.call,String.prototype.replace),Vn=Rr.call(Function.call,String.prototype.slice),fy=Rr.call(Function.call,RegExp.prototype.exec),hy=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,gy=/\\(\\)?/g,yy=function(t){var r=Vn(t,0,1),n=Vn(t,-1);if(r==="%"&&n!=="%")throw new $t("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new $t("invalid intrinsic syntax, expected opening `%`");var o=[];return Xl(t,hy,function(a,i,c,l){o[o.length]=c?Xl(l,gy,"$1"):i||a}),o},by=function(t,r){var n=t,o;if(jn(Jl,n)&&(o=Jl[n],n="%"+o[0]+"%"),jn(bt,n)){var a=bt[n];if(a===zt&&(a=dy(n)),typeof a>"u"&&!r)throw new Mt("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:o,name:n,value:a}}throw new $t("intrinsic "+t+" does not exist!")};Yl.exports=function(t,r){if(typeof t!="string"||t.length===0)throw new Mt("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new Mt('"allowMissing" argument must be a boolean');if(fy(/^%?[^%]*%?$/,t)===null)throw new $t("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=yy(t),o=n.length>0?n[0]:"",a=by("%"+o+"%",r),i=a.name,c=a.value,l=!1,d=a.alias;d&&(o=d[0],my(n,py([0,1],d)));for(var u=1,p=!0;u<n.length;u+=1){var g=n[u],f=Vn(g,0,1),C=Vn(g,-1);if((f==='"'||f==="'"||f==="`"||C==='"'||C==="'"||C==="`")&&f!==C)throw new $t("property names with quotes must have matching quotes");if((g==="constructor"||!p)&&(l=!0),o+="."+g,i="%"+o+"%",jn(bt,i))c=bt[i];else if(c!=null){if(!(g in c)){if(!r)throw new Mt("base intrinsic for "+t+" exists, but the property is not available.");return}if(yt&&u+1>=n.length){var x=yt(c,g);p=!!x,p&&"get"in x&&!("originalValue"in x.get)?c=x.get:c=c[g]}else p=jn(c,g),c=c[g];p&&!l&&(bt[i]=c)}}return c}});var Xa=m((FC,Kl)=>{"use strict";var vy=qn(),Wa=vy("%Object.defineProperty%",!0),Ja=function(){if(Wa)try{return Wa({},"a",{value:1}),!0}catch{return!1}return!1};Ja.hasArrayLengthDefineBug=function(){if(!Ja())return null;try{return Wa([],"length",{value:1}).length!==1}catch{return!0}};Kl.exports=Ja});var eu=m((LC,Ql)=>{"use strict";var xy=qn(),Bn=xy("%Object.getOwnPropertyDescriptor%",!0);if(Bn)try{Bn([],"length")}catch{Bn=null}Ql.exports=Bn});var ou=m((DC,nu)=>{"use strict";var Py=Xa()(),Za=qn(),tu=Py&&Za("%Object.defineProperty%",!0),wy=Za("%SyntaxError%"),jt=Za("%TypeError%"),ru=eu();nu.exports=function(t,r,n){if(!t||typeof t!="object"&&typeof t!="function")throw new jt("`obj` must be an object or a function`");if(typeof r!="string"&&typeof r!="symbol")throw new jt("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new jt("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new jt("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new jt("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new jt("`loose`, if provided, must be a boolean");var o=arguments.length>3?arguments[3]:null,a=arguments.length>4?arguments[4]:null,i=arguments.length>5?arguments[5]:null,c=arguments.length>6?arguments[6]:!1,l=!!ru&&ru(t,r);if(tu)tu(t,r,{configurable:i===null&&l?l.configurable:!i,enumerable:o===null&&l?l.enumerable:!o,value:n,writable:a===null&&l?l.writable:!a});else if(c||!o&&!a&&!i)t[r]=n;else throw new wy("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}});var Ya=m((zC,cu)=>{"use strict";var Sy=Il(),ky=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",_y=Object.prototype.toString,Cy=Array.prototype.concat,au=ou(),Ty=function(e){return typeof e=="function"&&_y.call(e)==="[object Function]"},iu=Xa()(),Ay=function(e,t,r,n){if(t in e){if(n===!0){if(e[t]===r)return}else if(!Ty(n)||!n())return}iu?au(e,t,r,!0):au(e,t,r)},su=function(e,t){var r=arguments.length>2?arguments[2]:{},n=Sy(t);ky&&(n=Cy.call(n,Object.getOwnPropertySymbols(t)));for(var o=0;o<n.length;o+=1)Ay(e,n[o],t[n[o]],r[n[o]])};su.supportsDescriptors=!!iu;cu.exports=su});var Ka=m((MC,lu)=>{"use strict";lu.exports=global});var Qa=m(($C,uu)=>{"use strict";var Ny=Ka();uu.exports=function(){return typeof global!="object"||!global||global.Math!==Math||global.Array!==Array?Ny:global}});var pu=m((jC,du)=>{"use strict";var Ey=Ya(),Ry=Qa();du.exports=function(){var t=Ry();if(Ey.supportsDescriptors){var r=Object.getOwnPropertyDescriptor(t,"globalThis");(!r||r.configurable&&(r.enumerable||!r.writable||globalThis!==t))&&Object.defineProperty(t,"globalThis",{configurable:!0,enumerable:!1,value:t,writable:!0})}else(typeof globalThis!="object"||globalThis!==t)&&(t.globalThis=t);return t}});var ei=m((VC,hu)=>{"use strict";var Iy=Ya(),Oy=Ka(),mu=Qa(),Fy=pu(),Ly=mu(),fu=function(){return Ly};Iy(fu,{getPolyfill:mu,implementation:Oy,shim:Fy});hu.exports=fu});var bu=m((ti,yu)=>{ti=yu.exports=Dy;ti.getSerialize=gu;function Dy(e,t,r,n){return JSON.stringify(e,gu(t,n),r)}function gu(e,t){var r=[],n=[];return t==null&&(t=function(o,a){return r[0]===a?"[Circular ~]":"[Circular ~."+n.slice(0,r.indexOf(a)).join(".")+"]"}),function(o,a){if(r.length>0){var i=r.indexOf(this);~i?r.splice(i+1):r.push(this),~i?n.splice(i,1/0,o):n.push(o),~r.indexOf(a)&&(a=t.call(this,o,a))}else r.push(a);return e==null?a:e.call(this,o,a)}}});var vu=m(Un=>{(function(){"use strict";var e={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function t(i){return n(a(i),arguments)}function r(i,c){return t.apply(null,[i].concat(c||[]))}function n(i,c){var l=1,d=i.length,u,p="",g,f,C,x,ke,Ke,U,K;for(g=0;g<d;g++)if(typeof i[g]=="string")p+=i[g];else if(typeof i[g]=="object"){if(C=i[g],C.keys)for(u=c[l],f=0;f<C.keys.length;f++){if(u==null)throw new Error(t('[sprintf] Cannot access property "%s" of undefined value "%s"',C.keys[f],C.keys[f-1]));u=u[C.keys[f]]}else C.param_no?u=c[C.param_no]:u=c[l++];if(e.not_type.test(C.type)&&e.not_primitive.test(C.type)&&u instanceof Function&&(u=u()),e.numeric_arg.test(C.type)&&typeof u!="number"&&isNaN(u))throw new TypeError(t("[sprintf] expecting number but found %T",u));switch(e.number.test(C.type)&&(U=u>=0),C.type){case"b":u=parseInt(u,10).toString(2);break;case"c":u=String.fromCharCode(parseInt(u,10));break;case"d":case"i":u=parseInt(u,10);break;case"j":u=JSON.stringify(u,null,C.width?parseInt(C.width):0);break;case"e":u=C.precision?parseFloat(u).toExponential(C.precision):parseFloat(u).toExponential();break;case"f":u=C.precision?parseFloat(u).toFixed(C.precision):parseFloat(u);break;case"g":u=C.precision?String(Number(u.toPrecision(C.precision))):parseFloat(u);break;case"o":u=(parseInt(u,10)>>>0).toString(8);break;case"s":u=String(u),u=C.precision?u.substring(0,C.precision):u;break;case"t":u=String(!!u),u=C.precision?u.substring(0,C.precision):u;break;case"T":u=Object.prototype.toString.call(u).slice(8,-1).toLowerCase(),u=C.precision?u.substring(0,C.precision):u;break;case"u":u=parseInt(u,10)>>>0;break;case"v":u=u.valueOf(),u=C.precision?u.substring(0,C.precision):u;break;case"x":u=(parseInt(u,10)>>>0).toString(16);break;case"X":u=(parseInt(u,10)>>>0).toString(16).toUpperCase();break}e.json.test(C.type)?p+=u:(e.number.test(C.type)&&(!U||C.sign)?(K=U?"+":"-",u=u.toString().replace(e.sign,"")):K="",ke=C.pad_char?C.pad_char==="0"?"0":C.pad_char.charAt(1):" ",Ke=C.width-(K+u).length,x=C.width&&Ke>0?ke.repeat(Ke):"",p+=C.align?K+u+x:ke==="0"?K+x+u:x+K+u)}return p}var o=Object.create(null);function a(i){if(o[i])return o[i];for(var c=i,l,d=[],u=0;c;){if((l=e.text.exec(c))!==null)d.push(l[0]);else if((l=e.modulo.exec(c))!==null)d.push("%");else if((l=e.placeholder.exec(c))!==null){if(l[2]){u|=1;var p=[],g=l[2],f=[];if((f=e.key.exec(g))!==null)for(p.push(f[1]);(g=g.substring(f[0].length))!=="";)if((f=e.key_access.exec(g))!==null)p.push(f[1]);else if((f=e.index_access.exec(g))!==null)p.push(f[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");l[2]=p}else u|=2;if(u===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");d.push({placeholder:l[0],param_no:l[1],keys:l[2],sign:l[3],pad_char:l[4],align:l[5],width:l[6],precision:l[7],type:l[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");c=c.substring(l[0].length)}return o[i]=d}typeof Un<"u"&&(Un.sprintf=t,Un.vsprintf=r),typeof window<"u"&&(window.sprintf=t,window.vsprintf=r,typeof define=="function"&&define.amd&&define(function(){return{sprintf:t,vsprintf:r}}))})()});var ri=m(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.logLevels=void 0;var zy={debug:20,error:50,fatal:60,info:30,trace:10,warn:40};Hn.logLevels=zy});var wu=m(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.default=void 0;var My=ii(zn()),$y=ii(ei()),jy=ii(bu()),ni=vu(),xu=ri();function ii(e){return e&&e.__esModule?e:{default:e}}function oi(){return oi=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},oi.apply(this,arguments)}function Pu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function ge(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Pu(Object(r),!0).forEach(function(n){Vy(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Pu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Vy(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var qy=(0,$y.default)(),Ir;My.default&&(Ir=require("domain"));var By=()=>{if(!Ir)return{};let e=[],t=process.domain;if(!t||!t.parentDomain)return{};for(;t&&t.parentDomain;)t=t.parentDomain,t.roarr&&t.roarr.context&&e.push(t.roarr.context);let r={};for(let n of e)r=ge(ge({},r),n);return r},Gn=()=>{if(!Ir)return{};let e=process.domain;if(e&&e.roarr&&e.roarr.context)return e.roarr.context;if(!e||!e.parentDomain)return{};for(;e&&e.parentDomain;)if(e=e.parentDomain,e.roarr&&e.roarr.context)return e.roarr.context;return{}},ai=(e,t)=>{let r=(n,o,a,i,c,l,d,u,p,g)=>{let f=Date.now(),C=qy.ROARR.sequence++,x,ke;if(typeof n=="string"){x=ge(ge({},Gn()),t||{});let Ke=oi({},{a:n,b:o,c:a,d:i,e:c,f:l,g:d,h:u,i:p,k:g});ke=Object.keys(Ke).map(Qe=>Ke[Qe]).reduce((Qe,ja)=>Qe+=typeof ja>"u"?0:1,0)===1?(0,ni.sprintf)("%s",n):(0,ni.sprintf)(n,o,a,i,c,l,d,u,p,g)}else{if(typeof o!="string")throw new TypeError("Message must be a string.");x=JSON.parse((0,jy.default)(ge(ge(ge({},Gn()),t||{}),n))),ke=(0,ni.sprintf)(o,a,i,c,l,d,u,p,g)}e({context:x,message:ke,sequence:C,time:f,version:"1.0.0"})};r.child=n=>typeof n=="function"?ai(o=>{if(typeof n!="function")throw new TypeError("Unexpected state.");e(n(o))},t):ai(e,ge(ge(ge({},Gn()),t),n)),r.getContext=()=>ge(ge({},Gn()),t||{}),r.adopt=async(n,o)=>{if(!Ir)return n();let a=Ir.create();return a.run(()=>(a.roarr={context:ge(ge({},By()),o)},n()))};for(let n of Object.keys(xu.logLevels))r[n]=(o,a,i,c,l,d,u,p,g,f)=>r.child({logLevel:xu.logLevels[n]})(o,a,i,c,l,d,u,p,g,f);return r},Uy=ai;Wn.default=Uy});var _u=m(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.default=void 0;var Su=ri(),ku=(e,t)=>{let r=(n,o,a,i,c,l,d,u,p,g)=>{};r.adopt=async n=>n(),r.child=n=>ku(e,t),r.getContext=()=>({});for(let n of Object.keys(Su.logLevels))r[n]=(o,a,i,c,l,d,u,p,g,f)=>r.child({logLevel:Su.logLevels[n]})(o,a,i,c,l,d,u,p,g,f);return r},Hy=ku;Jn.default=Hy});var Tu=m((GC,Cu)=>{Cu.exports=function(t,r){for(var n=t.split("."),o=r.split("."),a=0;a<3;a++){var i=Number(n[a]),c=Number(o[a]);if(i>c)return 1;if(c>i)return-1;if(!isNaN(i)&&isNaN(c))return 1;if(isNaN(i)&&!isNaN(c))return-1}return 0}});var Au=m((WC,Gy)=>{Gy.exports={author:{email:"gajus@gajus.com",name:"Gajus Kuizinas",url:"http://gajus.com"},ava:{babel:{compileAsTests:["test/helpers/**/*"]},files:["test/roarr/**/*"],require:["@babel/register"]},dependencies:{boolean:"^3.0.1","detect-node":"^2.0.4",globalthis:"^1.0.1","json-stringify-safe":"^5.0.1","semver-compare":"^1.0.0","sprintf-js":"^1.1.2"},description:"JSON logger for Node.js and browser.",devDependencies:{"@ava/babel":"^1.0.1","@babel/cli":"^7.11.6","@babel/core":"^7.11.6","@babel/node":"^7.10.5","@babel/plugin-transform-flow-strip-types":"^7.10.4","@babel/preset-env":"^7.11.5","@babel/register":"^7.11.5",ava:"^3.12.1","babel-plugin-istanbul":"^6.0.0","babel-plugin-transform-export-default-name":"^2.0.4",coveralls:"^3.1.0","domain-parent":"^1.0.0",eslint:"^7.9.0","eslint-config-canonical":"^24.1.1","flow-bin":"^0.133.0","flow-copy-source":"^2.0.9",gitdown:"^3.1.3",husky:"^4.3.0",nyc:"^15.1.0","semantic-release":"^17.1.1"},engines:{node:">=8.0"},husky:{hooks:{"pre-commit":"npm run lint && npm run test && npm run build","pre-push":"gitdown ./.README/README.md --output-file ./README.md --check"}},keywords:["log","logger","json"],main:"./dist/log.js",name:"roarr",nyc:{include:["src/**/*.js"],instrument:!1,reporter:["text-lcov"],require:["@babel/register"],sourceMap:!1},license:"BSD-3-Clause",repository:{type:"git",url:"git@github.com:gajus/roarr.git"},scripts:{build:"rm -fr ./dist && NODE_ENV=production babel ./src --out-dir ./dist --copy-files --source-maps && flow-copy-source src dist","create-readme":"gitdown ./.README/README.md --output-file ./README.md",dev:"NODE_ENV=production babel ./src --out-dir ./dist --copy-files --source-maps --watch",lint:"eslint ./src ./test && flow",test:"NODE_ENV=test ava --serial --verbose"},version:"2.15.4"}});var Nu=m(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.default=void 0;var Wy=e=>({write:t=>{e.write(t+` +`)}}),Jy=()=>{let t=(process.env.ROARR_STREAM||"STDOUT").toUpperCase().toUpperCase()==="STDOUT"?process.stdout:process.stderr;return Wy(t)},Xy=Jy;Xn.default=Xy});var Ru=m(Yn=>{"use strict";Object.defineProperty(Yn,"__esModule",{value:!0});Yn.default=void 0;var Zy=li(zn()),si=li(Tu()),ci=Au(),Yy=li(Nu());function li(e){return e&&e.__esModule?e:{default:e}}function Eu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Zn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Eu(Object(r),!0).forEach(function(n){Ky(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Eu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ky(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Qy=e=>{let t=(e.versions||[]).concat();t.sort(si.default);let r=!t.length||(0,si.default)(ci.version,t[t.length-1])===1;t.includes(ci.version)||t.push(ci.version),t.sort(si.default);let n=Zn(Zn({sequence:0},e),{},{versions:t});return Zy.default&&(r||!n.write)&&(n=Zn(Zn({},n),(0,Yy.default)())),n},eb=Qy;Yn.default=eb});var Iu=m(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Object.defineProperty(Or,"createLogger",{enumerable:!0,get:function(){return tb.default}});Object.defineProperty(Or,"createMockLogger",{enumerable:!0,get:function(){return rb.default}});Object.defineProperty(Or,"createRoarrInititialGlobalState",{enumerable:!0,get:function(){return nb.default}});var tb=ui(wu()),rb=ui(_u()),nb=ui(Ru());function ui(e){return e&&e.__esModule?e:{default:e}}});var Du=m(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.default=Vt.ROARR=void 0;var ob=Dn(),ab=Fu(zn()),ib=Fu(ei()),pi=Iu();function Fu(e){return e&&e.__esModule?e:{default:e}}var Ou=(0,ib.default)(),di=Ou.ROARR=(0,pi.createRoarrInititialGlobalState)(Ou.ROARR||{});Vt.ROARR=di;var Lu=pi.createLogger;ab.default&&((0,ob.boolean)(process.env.ROARR_LOG||"")||(Lu=pi.createMockLogger));var sb=Lu(e=>{if(di.write){let t=JSON.stringify(e);di.write(t)}});Vt.default=sb});var Fr=m(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.default=void 0;var cb=lb(Du());function lb(e){return e&&e.__esModule?e:{default:e}}var ub=cb.default.child({package:"global-agent"}),db=ub;Kn.default=db});var Lr=m((QC,zu)=>{var pb="2.0.0",mb=Number.MAX_SAFE_INTEGER||9007199254740991,fb=16,hb=250,gb=["major","premajor","minor","preminor","patch","prepatch","prerelease"];zu.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:fb,MAX_SAFE_BUILD_LENGTH:hb,MAX_SAFE_INTEGER:mb,RELEASE_TYPES:gb,SEMVER_SPEC_VERSION:pb,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Dr=m((eT,Mu)=>{var yb=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};Mu.exports=yb});var qt=m((Ve,$u)=>{var{MAX_SAFE_COMPONENT_LENGTH:mi,MAX_SAFE_BUILD_LENGTH:bb,MAX_LENGTH:vb}=Lr(),xb=Dr();Ve=$u.exports={};var Pb=Ve.re=[],wb=Ve.safeRe=[],P=Ve.src=[],Sb=Ve.safeSrc=[],w=Ve.t={},kb=0,fi="[a-zA-Z0-9-]",_b=[["\\s",1],["\\d",vb],[fi,bb]],Cb=e=>{for(let[t,r]of _b)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e},I=(e,t,r)=>{let n=Cb(t),o=kb++;xb(e,o,t),w[e]=o,P[o]=t,Sb[o]=n,Pb[o]=new RegExp(t,r?"g":void 0),wb[o]=new RegExp(n,r?"g":void 0)};I("NUMERICIDENTIFIER","0|[1-9]\\d*");I("NUMERICIDENTIFIERLOOSE","\\d+");I("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${fi}*`);I("MAINVERSION",`(${P[w.NUMERICIDENTIFIER]})\\.(${P[w.NUMERICIDENTIFIER]})\\.(${P[w.NUMERICIDENTIFIER]})`);I("MAINVERSIONLOOSE",`(${P[w.NUMERICIDENTIFIERLOOSE]})\\.(${P[w.NUMERICIDENTIFIERLOOSE]})\\.(${P[w.NUMERICIDENTIFIERLOOSE]})`);I("PRERELEASEIDENTIFIER",`(?:${P[w.NUMERICIDENTIFIER]}|${P[w.NONNUMERICIDENTIFIER]})`);I("PRERELEASEIDENTIFIERLOOSE",`(?:${P[w.NUMERICIDENTIFIERLOOSE]}|${P[w.NONNUMERICIDENTIFIER]})`);I("PRERELEASE",`(?:-(${P[w.PRERELEASEIDENTIFIER]}(?:\\.${P[w.PRERELEASEIDENTIFIER]})*))`);I("PRERELEASELOOSE",`(?:-?(${P[w.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${P[w.PRERELEASEIDENTIFIERLOOSE]})*))`);I("BUILDIDENTIFIER",`${fi}+`);I("BUILD",`(?:\\+(${P[w.BUILDIDENTIFIER]}(?:\\.${P[w.BUILDIDENTIFIER]})*))`);I("FULLPLAIN",`v?${P[w.MAINVERSION]}${P[w.PRERELEASE]}?${P[w.BUILD]}?`);I("FULL",`^${P[w.FULLPLAIN]}$`);I("LOOSEPLAIN",`[v=\\s]*${P[w.MAINVERSIONLOOSE]}${P[w.PRERELEASELOOSE]}?${P[w.BUILD]}?`);I("LOOSE",`^${P[w.LOOSEPLAIN]}$`);I("GTLT","((?:<|>)?=?)");I("XRANGEIDENTIFIERLOOSE",`${P[w.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);I("XRANGEIDENTIFIER",`${P[w.NUMERICIDENTIFIER]}|x|X|\\*`);I("XRANGEPLAIN",`[v=\\s]*(${P[w.XRANGEIDENTIFIER]})(?:\\.(${P[w.XRANGEIDENTIFIER]})(?:\\.(${P[w.XRANGEIDENTIFIER]})(?:${P[w.PRERELEASE]})?${P[w.BUILD]}?)?)?`);I("XRANGEPLAINLOOSE",`[v=\\s]*(${P[w.XRANGEIDENTIFIERLOOSE]})(?:\\.(${P[w.XRANGEIDENTIFIERLOOSE]})(?:\\.(${P[w.XRANGEIDENTIFIERLOOSE]})(?:${P[w.PRERELEASELOOSE]})?${P[w.BUILD]}?)?)?`);I("XRANGE",`^${P[w.GTLT]}\\s*${P[w.XRANGEPLAIN]}$`);I("XRANGELOOSE",`^${P[w.GTLT]}\\s*${P[w.XRANGEPLAINLOOSE]}$`);I("COERCEPLAIN",`(^|[^\\d])(\\d{1,${mi}})(?:\\.(\\d{1,${mi}}))?(?:\\.(\\d{1,${mi}}))?`);I("COERCE",`${P[w.COERCEPLAIN]}(?:$|[^\\d])`);I("COERCEFULL",P[w.COERCEPLAIN]+`(?:${P[w.PRERELEASE]})?(?:${P[w.BUILD]})?(?:$|[^\\d])`);I("COERCERTL",P[w.COERCE],!0);I("COERCERTLFULL",P[w.COERCEFULL],!0);I("LONETILDE","(?:~>?)");I("TILDETRIM",`(\\s*)${P[w.LONETILDE]}\\s+`,!0);Ve.tildeTrimReplace="$1~";I("TILDE",`^${P[w.LONETILDE]}${P[w.XRANGEPLAIN]}$`);I("TILDELOOSE",`^${P[w.LONETILDE]}${P[w.XRANGEPLAINLOOSE]}$`);I("LONECARET","(?:\\^)");I("CARETTRIM",`(\\s*)${P[w.LONECARET]}\\s+`,!0);Ve.caretTrimReplace="$1^";I("CARET",`^${P[w.LONECARET]}${P[w.XRANGEPLAIN]}$`);I("CARETLOOSE",`^${P[w.LONECARET]}${P[w.XRANGEPLAINLOOSE]}$`);I("COMPARATORLOOSE",`^${P[w.GTLT]}\\s*(${P[w.LOOSEPLAIN]})$|^$`);I("COMPARATOR",`^${P[w.GTLT]}\\s*(${P[w.FULLPLAIN]})$|^$`);I("COMPARATORTRIM",`(\\s*)${P[w.GTLT]}\\s*(${P[w.LOOSEPLAIN]}|${P[w.XRANGEPLAIN]})`,!0);Ve.comparatorTrimReplace="$1$2$3";I("HYPHENRANGE",`^\\s*(${P[w.XRANGEPLAIN]})\\s+-\\s+(${P[w.XRANGEPLAIN]})\\s*$`);I("HYPHENRANGELOOSE",`^\\s*(${P[w.XRANGEPLAINLOOSE]})\\s+-\\s+(${P[w.XRANGEPLAINLOOSE]})\\s*$`);I("STAR","(<|>)?=?\\s*\\*");I("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");I("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var Qn=m((tT,ju)=>{var Tb=Object.freeze({loose:!0}),Ab=Object.freeze({}),Nb=e=>e?typeof e!="object"?Tb:e:Ab;ju.exports=Nb});var hi=m((rT,Bu)=>{var Vu=/^[0-9]+$/,qu=(e,t)=>{let r=Vu.test(e),n=Vu.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:e<t?-1:1},Eb=(e,t)=>qu(t,e);Bu.exports={compareIdentifiers:qu,rcompareIdentifiers:Eb}});var ae=m((nT,Wu)=>{var eo=Dr(),{MAX_LENGTH:Uu,MAX_SAFE_INTEGER:to}=Lr(),{safeRe:Hu,safeSrc:Gu,t:ro}=qt(),Rb=Qn(),{compareIdentifiers:Bt}=hi(),gi=class e{constructor(t,r){if(r=Rb(r),t instanceof e){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>Uu)throw new TypeError(`version is longer than ${Uu} characters`);eo("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let n=t.trim().match(r.loose?Hu[ro.LOOSE]:Hu[ro.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>to||this.major<0)throw new TypeError("Invalid major version");if(this.minor>to||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>to||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(o=>{if(/^[0-9]+$/.test(o)){let a=+o;if(a>=0&&a<to)return a}return o}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(eo("SemVer.compare",this.version,this.options,t),!(t instanceof e)){if(typeof t=="string"&&t===this.version)return 0;t=new e(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof e||(t=new e(t,this.options)),Bt(this.major,t.major)||Bt(this.minor,t.minor)||Bt(this.patch,t.patch)}comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{let n=this.prerelease[r],o=t.prerelease[r];if(eo("prerelease compare",r,n,o),n===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(n===void 0)return-1;if(n===o)continue;return Bt(n,o)}while(++r)}compareBuild(t){t instanceof e||(t=new e(t,this.options));let r=0;do{let n=this.build[r],o=t.build[r];if(eo("build compare",r,n,o),n===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(n===void 0)return-1;if(n===o)continue;return Bt(n,o)}while(++r)}inc(t,r,n){if(t.startsWith("pre")){if(!r&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(r){let o=new RegExp(`^${this.options.loose?Gu[ro.PRERELEASELOOSE]:Gu[ro.PRERELEASE]}$`),a=`-${r}`.match(o);if(!a||a[1]!==r)throw new Error(`invalid identifier: ${r}`)}}switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,n),this.inc("pre",r,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,n),this.inc("pre",r,n);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let o=Number(n)?1:0;if(this.prerelease.length===0)this.prerelease=[o];else{let a=this.prerelease.length;for(;--a>=0;)typeof this.prerelease[a]=="number"&&(this.prerelease[a]++,a=-2);if(a===-1){if(r===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(o)}}if(r){let a=[r,o];n===!1&&(a=[r]),Bt(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=a):this.prerelease=a}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Wu.exports=gi});var vt=m((oT,Xu)=>{var Ju=ae(),Ib=(e,t,r=!1)=>{if(e instanceof Ju)return e;try{return new Ju(e,t)}catch(n){if(!r)return null;throw n}};Xu.exports=Ib});var Yu=m((aT,Zu)=>{var Ob=vt(),Fb=(e,t)=>{let r=Ob(e,t);return r?r.version:null};Zu.exports=Fb});var Qu=m((iT,Ku)=>{var Lb=vt(),Db=(e,t)=>{let r=Lb(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};Ku.exports=Db});var rd=m((sT,td)=>{var ed=ae(),zb=(e,t,r,n,o)=>{typeof r=="string"&&(o=n,n=r,r=void 0);try{return new ed(e instanceof ed?e.version:e,r).inc(t,n,o).version}catch{return null}};td.exports=zb});var ad=m((cT,od)=>{var nd=vt(),Mb=(e,t)=>{let r=nd(e,null,!0),n=nd(t,null,!0),o=r.compare(n);if(o===0)return null;let a=o>0,i=a?r:n,c=a?n:r,l=!!i.prerelease.length;if(!!c.prerelease.length&&!l){if(!c.patch&&!c.minor)return"major";if(c.compareMain(i)===0)return c.minor&&!c.patch?"minor":"patch"}let u=l?"pre":"";return r.major!==n.major?u+"major":r.minor!==n.minor?u+"minor":r.patch!==n.patch?u+"patch":"prerelease"};od.exports=Mb});var sd=m((lT,id)=>{var $b=ae(),jb=(e,t)=>new $b(e,t).major;id.exports=jb});var ld=m((uT,cd)=>{var Vb=ae(),qb=(e,t)=>new Vb(e,t).minor;cd.exports=qb});var dd=m((dT,ud)=>{var Bb=ae(),Ub=(e,t)=>new Bb(e,t).patch;ud.exports=Ub});var md=m((pT,pd)=>{var Hb=vt(),Gb=(e,t)=>{let r=Hb(e,t);return r&&r.prerelease.length?r.prerelease:null};pd.exports=Gb});var Te=m((mT,hd)=>{var fd=ae(),Wb=(e,t,r)=>new fd(e,r).compare(new fd(t,r));hd.exports=Wb});var yd=m((fT,gd)=>{var Jb=Te(),Xb=(e,t,r)=>Jb(t,e,r);gd.exports=Xb});var vd=m((hT,bd)=>{var Zb=Te(),Yb=(e,t)=>Zb(e,t,!0);bd.exports=Yb});var no=m((gT,Pd)=>{var xd=ae(),Kb=(e,t,r)=>{let n=new xd(e,r),o=new xd(t,r);return n.compare(o)||n.compareBuild(o)};Pd.exports=Kb});var Sd=m((yT,wd)=>{var Qb=no(),ev=(e,t)=>e.sort((r,n)=>Qb(r,n,t));wd.exports=ev});var _d=m((bT,kd)=>{var tv=no(),rv=(e,t)=>e.sort((r,n)=>tv(n,r,t));kd.exports=rv});var zr=m((vT,Cd)=>{var nv=Te(),ov=(e,t,r)=>nv(e,t,r)>0;Cd.exports=ov});var oo=m((xT,Td)=>{var av=Te(),iv=(e,t,r)=>av(e,t,r)<0;Td.exports=iv});var yi=m((PT,Ad)=>{var sv=Te(),cv=(e,t,r)=>sv(e,t,r)===0;Ad.exports=cv});var bi=m((wT,Nd)=>{var lv=Te(),uv=(e,t,r)=>lv(e,t,r)!==0;Nd.exports=uv});var ao=m((ST,Ed)=>{var dv=Te(),pv=(e,t,r)=>dv(e,t,r)>=0;Ed.exports=pv});var io=m((kT,Rd)=>{var mv=Te(),fv=(e,t,r)=>mv(e,t,r)<=0;Rd.exports=fv});var vi=m((_T,Id)=>{var hv=yi(),gv=bi(),yv=zr(),bv=ao(),vv=oo(),xv=io(),Pv=(e,t,r,n)=>{switch(t){case"===":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e===r;case"!==":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e!==r;case"":case"=":case"==":return hv(e,r,n);case"!=":return gv(e,r,n);case">":return yv(e,r,n);case">=":return bv(e,r,n);case"<":return vv(e,r,n);case"<=":return xv(e,r,n);default:throw new TypeError(`Invalid operator: ${t}`)}};Id.exports=Pv});var Fd=m((CT,Od)=>{var wv=ae(),Sv=vt(),{safeRe:so,t:co}=qt(),kv=(e,t)=>{if(e instanceof wv)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;t=t||{};let r=null;if(!t.rtl)r=e.match(t.includePrerelease?so[co.COERCEFULL]:so[co.COERCE]);else{let l=t.includePrerelease?so[co.COERCERTLFULL]:so[co.COERCERTL],d;for(;(d=l.exec(e))&&(!r||r.index+r[0].length!==e.length);)(!r||d.index+d[0].length!==r.index+r[0].length)&&(r=d),l.lastIndex=d.index+d[1].length+d[2].length;l.lastIndex=-1}if(r===null)return null;let n=r[2],o=r[3]||"0",a=r[4]||"0",i=t.includePrerelease&&r[5]?`-${r[5]}`:"",c=t.includePrerelease&&r[6]?`+${r[6]}`:"";return Sv(`${n}.${o}.${a}${i}${c}`,t)};Od.exports=kv});var Dd=m((TT,Ld)=>{var xi=class{constructor(){this.max=1e3,this.map=new Map}get(t){let r=this.map.get(t);if(r!==void 0)return this.map.delete(t),this.map.set(t,r),r}delete(t){return this.map.delete(t)}set(t,r){if(!this.delete(t)&&r!==void 0){if(this.map.size>=this.max){let o=this.map.keys().next().value;this.delete(o)}this.map.set(t,r)}return this}};Ld.exports=xi});var Ae=m((AT,jd)=>{var _v=/\s+/g,Pi=class e{constructor(t,r){if(r=Tv(r),t instanceof e)return t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease?t:new e(t.raw,r);if(t instanceof wi)return this.raw=t.value,this.set=[[t]],this.formatted=void 0,this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=t.trim().replace(_v," "),this.set=this.raw.split("||").map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let n=this.set[0];if(this.set=this.set.filter(o=>!Md(o[0])),this.set.length===0)this.set=[n];else if(this.set.length>1){for(let o of this.set)if(o.length===1&&Fv(o[0])){this.set=[o];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let t=0;t<this.set.length;t++){t>0&&(this.formatted+="||");let r=this.set[t];for(let n=0;n<r.length;n++)n>0&&(this.formatted+=" "),this.formatted+=r[n].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(t){let n=((this.options.includePrerelease&&Iv)|(this.options.loose&&Ov))+":"+t,o=zd.get(n);if(o)return o;let a=this.options.loose,i=a?ye[le.HYPHENRANGELOOSE]:ye[le.HYPHENRANGE];t=t.replace(i,Uv(this.options.includePrerelease)),W("hyphen replace",t),t=t.replace(ye[le.COMPARATORTRIM],Nv),W("comparator trim",t),t=t.replace(ye[le.TILDETRIM],Ev),W("tilde trim",t),t=t.replace(ye[le.CARETTRIM],Rv),W("caret trim",t);let c=t.split(" ").map(p=>Lv(p,this.options)).join(" ").split(/\s+/).map(p=>Bv(p,this.options));a&&(c=c.filter(p=>(W("loose invalid filter",p,this.options),!!p.match(ye[le.COMPARATORLOOSE])))),W("range list",c);let l=new Map,d=c.map(p=>new wi(p,this.options));for(let p of d){if(Md(p))return[p];l.set(p.value,p)}l.size>1&&l.has("")&&l.delete("");let u=[...l.values()];return zd.set(n,u),u}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Range is required");return this.set.some(n=>$d(n,r)&&t.set.some(o=>$d(o,r)&&n.every(a=>o.every(i=>a.intersects(i,r)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new Av(t,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(Hv(this.set[r],t,this.options))return!0;return!1}};jd.exports=Pi;var Cv=Dd(),zd=new Cv,Tv=Qn(),wi=Mr(),W=Dr(),Av=ae(),{safeRe:ye,t:le,comparatorTrimReplace:Nv,tildeTrimReplace:Ev,caretTrimReplace:Rv}=qt(),{FLAG_INCLUDE_PRERELEASE:Iv,FLAG_LOOSE:Ov}=Lr(),Md=e=>e.value==="<0.0.0-0",Fv=e=>e.value==="",$d=(e,t)=>{let r=!0,n=e.slice(),o=n.pop();for(;r&&n.length;)r=n.every(a=>o.intersects(a,t)),o=n.pop();return r},Lv=(e,t)=>(W("comp",e,t),e=Mv(e,t),W("caret",e),e=Dv(e,t),W("tildes",e),e=jv(e,t),W("xrange",e),e=qv(e,t),W("stars",e),e),ue=e=>!e||e.toLowerCase()==="x"||e==="*",Dv=(e,t)=>e.trim().split(/\s+/).map(r=>zv(r,t)).join(" "),zv=(e,t)=>{let r=t.loose?ye[le.TILDELOOSE]:ye[le.TILDE];return e.replace(r,(n,o,a,i,c)=>{W("tilde",e,n,o,a,i,c);let l;return ue(o)?l="":ue(a)?l=`>=${o}.0.0 <${+o+1}.0.0-0`:ue(i)?l=`>=${o}.${a}.0 <${o}.${+a+1}.0-0`:c?(W("replaceTilde pr",c),l=`>=${o}.${a}.${i}-${c} <${o}.${+a+1}.0-0`):l=`>=${o}.${a}.${i} <${o}.${+a+1}.0-0`,W("tilde return",l),l})},Mv=(e,t)=>e.trim().split(/\s+/).map(r=>$v(r,t)).join(" "),$v=(e,t)=>{W("caret",e,t);let r=t.loose?ye[le.CARETLOOSE]:ye[le.CARET],n=t.includePrerelease?"-0":"";return e.replace(r,(o,a,i,c,l)=>{W("caret",e,o,a,i,c,l);let d;return ue(a)?d="":ue(i)?d=`>=${a}.0.0${n} <${+a+1}.0.0-0`:ue(c)?a==="0"?d=`>=${a}.${i}.0${n} <${a}.${+i+1}.0-0`:d=`>=${a}.${i}.0${n} <${+a+1}.0.0-0`:l?(W("replaceCaret pr",l),a==="0"?i==="0"?d=`>=${a}.${i}.${c}-${l} <${a}.${i}.${+c+1}-0`:d=`>=${a}.${i}.${c}-${l} <${a}.${+i+1}.0-0`:d=`>=${a}.${i}.${c}-${l} <${+a+1}.0.0-0`):(W("no pr"),a==="0"?i==="0"?d=`>=${a}.${i}.${c}${n} <${a}.${i}.${+c+1}-0`:d=`>=${a}.${i}.${c}${n} <${a}.${+i+1}.0-0`:d=`>=${a}.${i}.${c} <${+a+1}.0.0-0`),W("caret return",d),d})},jv=(e,t)=>(W("replaceXRanges",e,t),e.split(/\s+/).map(r=>Vv(r,t)).join(" ")),Vv=(e,t)=>{e=e.trim();let r=t.loose?ye[le.XRANGELOOSE]:ye[le.XRANGE];return e.replace(r,(n,o,a,i,c,l)=>{W("xRange",e,n,o,a,i,c,l);let d=ue(a),u=d||ue(i),p=u||ue(c),g=p;return o==="="&&g&&(o=""),l=t.includePrerelease?"-0":"",d?o===">"||o==="<"?n="<0.0.0-0":n="*":o&&g?(u&&(i=0),c=0,o===">"?(o=">=",u?(a=+a+1,i=0,c=0):(i=+i+1,c=0)):o==="<="&&(o="<",u?a=+a+1:i=+i+1),o==="<"&&(l="-0"),n=`${o+a}.${i}.${c}${l}`):u?n=`>=${a}.0.0${l} <${+a+1}.0.0-0`:p&&(n=`>=${a}.${i}.0${l} <${a}.${+i+1}.0-0`),W("xRange return",n),n})},qv=(e,t)=>(W("replaceStars",e,t),e.trim().replace(ye[le.STAR],"")),Bv=(e,t)=>(W("replaceGTE0",e,t),e.trim().replace(ye[t.includePrerelease?le.GTE0PRE:le.GTE0],"")),Uv=e=>(t,r,n,o,a,i,c,l,d,u,p,g)=>(ue(n)?r="":ue(o)?r=`>=${n}.0.0${e?"-0":""}`:ue(a)?r=`>=${n}.${o}.0${e?"-0":""}`:i?r=`>=${r}`:r=`>=${r}${e?"-0":""}`,ue(d)?l="":ue(u)?l=`<${+d+1}.0.0-0`:ue(p)?l=`<${d}.${+u+1}.0-0`:g?l=`<=${d}.${u}.${p}-${g}`:e?l=`<${d}.${u}.${+p+1}-0`:l=`<=${l}`,`${r} ${l}`.trim()),Hv=(e,t,r)=>{for(let n=0;n<e.length;n++)if(!e[n].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(let n=0;n<e.length;n++)if(W(e[n].semver),e[n].semver!==wi.ANY&&e[n].semver.prerelease.length>0){let o=e[n].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}});var Mr=m((NT,Gd)=>{var $r=Symbol("SemVer ANY"),_i=class e{static get ANY(){return $r}constructor(t,r){if(r=Vd(r),t instanceof e){if(t.loose===!!r.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),ki("comparator",t,r),this.options=r,this.loose=!!r.loose,this.parse(t),this.semver===$r?this.value="":this.value=this.operator+this.semver.version,ki("comp",this)}parse(t){let r=this.options.loose?qd[Bd.COMPARATORLOOSE]:qd[Bd.COMPARATOR],n=t.match(r);if(!n)throw new TypeError(`Invalid comparator: ${t}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new Ud(n[2],this.options.loose):this.semver=$r}toString(){return this.value}test(t){if(ki("Comparator.test",t,this.options.loose),this.semver===$r||t===$r)return!0;if(typeof t=="string")try{t=new Ud(t,this.options)}catch{return!1}return Si(t,this.operator,this.semver,this.options)}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Hd(t.value,r).test(this.value):t.operator===""?t.value===""?!0:new Hd(this.value,r).test(t.semver):(r=Vd(r),r.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||Si(this.semver,"<",t.semver,r)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||Si(this.semver,">",t.semver,r)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};Gd.exports=_i;var Vd=Qn(),{safeRe:qd,t:Bd}=qt(),Si=vi(),ki=Dr(),Ud=ae(),Hd=Ae()});var jr=m((ET,Wd)=>{var Gv=Ae(),Wv=(e,t,r)=>{try{t=new Gv(t,r)}catch{return!1}return t.test(e)};Wd.exports=Wv});var Xd=m((RT,Jd)=>{var Jv=Ae(),Xv=(e,t)=>new Jv(e,t).set.map(r=>r.map(n=>n.value).join(" ").trim().split(" "));Jd.exports=Xv});var Yd=m((IT,Zd)=>{var Zv=ae(),Yv=Ae(),Kv=(e,t,r)=>{let n=null,o=null,a=null;try{a=new Yv(t,r)}catch{return null}return e.forEach(i=>{a.test(i)&&(!n||o.compare(i)===-1)&&(n=i,o=new Zv(n,r))}),n};Zd.exports=Kv});var Qd=m((OT,Kd)=>{var Qv=ae(),ex=Ae(),tx=(e,t,r)=>{let n=null,o=null,a=null;try{a=new ex(t,r)}catch{return null}return e.forEach(i=>{a.test(i)&&(!n||o.compare(i)===1)&&(n=i,o=new Qv(n,r))}),n};Kd.exports=tx});var rp=m((FT,tp)=>{var Ci=ae(),rx=Ae(),ep=zr(),nx=(e,t)=>{e=new rx(e,t);let r=new Ci("0.0.0");if(e.test(r)||(r=new Ci("0.0.0-0"),e.test(r)))return r;r=null;for(let n=0;n<e.set.length;++n){let o=e.set[n],a=null;o.forEach(i=>{let c=new Ci(i.semver.version);switch(i.operator){case">":c.prerelease.length===0?c.patch++:c.prerelease.push(0),c.raw=c.format();case"":case">=":(!a||ep(c,a))&&(a=c);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${i.operator}`)}}),a&&(!r||ep(r,a))&&(r=a)}return r&&e.test(r)?r:null};tp.exports=nx});var op=m((LT,np)=>{var ox=Ae(),ax=(e,t)=>{try{return new ox(e,t).range||"*"}catch{return null}};np.exports=ax});var lo=m((DT,cp)=>{var ix=ae(),sp=Mr(),{ANY:sx}=sp,cx=Ae(),lx=jr(),ap=zr(),ip=oo(),ux=io(),dx=ao(),px=(e,t,r,n)=>{e=new ix(e,n),t=new cx(t,n);let o,a,i,c,l;switch(r){case">":o=ap,a=ux,i=ip,c=">",l=">=";break;case"<":o=ip,a=dx,i=ap,c="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(lx(e,t,n))return!1;for(let d=0;d<t.set.length;++d){let u=t.set[d],p=null,g=null;if(u.forEach(f=>{f.semver===sx&&(f=new sp(">=0.0.0")),p=p||f,g=g||f,o(f.semver,p.semver,n)?p=f:i(f.semver,g.semver,n)&&(g=f)}),p.operator===c||p.operator===l||(!g.operator||g.operator===c)&&a(e,g.semver))return!1;if(g.operator===l&&i(e,g.semver))return!1}return!0};cp.exports=px});var up=m((zT,lp)=>{var mx=lo(),fx=(e,t,r)=>mx(e,t,">",r);lp.exports=fx});var pp=m((MT,dp)=>{var hx=lo(),gx=(e,t,r)=>hx(e,t,"<",r);dp.exports=gx});var hp=m(($T,fp)=>{var mp=Ae(),yx=(e,t,r)=>(e=new mp(e,r),t=new mp(t,r),e.intersects(t,r));fp.exports=yx});var yp=m((jT,gp)=>{var bx=jr(),vx=Te();gp.exports=(e,t,r)=>{let n=[],o=null,a=null,i=e.sort((u,p)=>vx(u,p,r));for(let u of i)bx(u,t,r)?(a=u,o||(o=u)):(a&&n.push([o,a]),a=null,o=null);o&&n.push([o,null]);let c=[];for(let[u,p]of n)u===p?c.push(u):!p&&u===i[0]?c.push("*"):p?u===i[0]?c.push(`<=${p}`):c.push(`${u} - ${p}`):c.push(`>=${u}`);let l=c.join(" || "),d=typeof t.raw=="string"?t.raw:String(t);return l.length<d.length?l:t}});var Sp=m((VT,wp)=>{var bp=Ae(),Ai=Mr(),{ANY:Ti}=Ai,Vr=jr(),Ni=Te(),xx=(e,t,r={})=>{if(e===t)return!0;e=new bp(e,r),t=new bp(t,r);let n=!1;e:for(let o of e.set){for(let a of t.set){let i=wx(o,a,r);if(n=n||i!==null,i)continue e}if(n)return!1}return!0},Px=[new Ai(">=0.0.0-0")],vp=[new Ai(">=0.0.0")],wx=(e,t,r)=>{if(e===t)return!0;if(e.length===1&&e[0].semver===Ti){if(t.length===1&&t[0].semver===Ti)return!0;r.includePrerelease?e=Px:e=vp}if(t.length===1&&t[0].semver===Ti){if(r.includePrerelease)return!0;t=vp}let n=new Set,o,a;for(let f of e)f.operator===">"||f.operator===">="?o=xp(o,f,r):f.operator==="<"||f.operator==="<="?a=Pp(a,f,r):n.add(f.semver);if(n.size>1)return null;let i;if(o&&a){if(i=Ni(o.semver,a.semver,r),i>0)return null;if(i===0&&(o.operator!==">="||a.operator!=="<="))return null}for(let f of n){if(o&&!Vr(f,String(o),r)||a&&!Vr(f,String(a),r))return null;for(let C of t)if(!Vr(f,String(C),r))return!1;return!0}let c,l,d,u,p=a&&!r.includePrerelease&&a.semver.prerelease.length?a.semver:!1,g=o&&!r.includePrerelease&&o.semver.prerelease.length?o.semver:!1;p&&p.prerelease.length===1&&a.operator==="<"&&p.prerelease[0]===0&&(p=!1);for(let f of t){if(u=u||f.operator===">"||f.operator===">=",d=d||f.operator==="<"||f.operator==="<=",o){if(g&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===g.major&&f.semver.minor===g.minor&&f.semver.patch===g.patch&&(g=!1),f.operator===">"||f.operator===">="){if(c=xp(o,f,r),c===f&&c!==o)return!1}else if(o.operator===">="&&!Vr(o.semver,String(f),r))return!1}if(a){if(p&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===p.major&&f.semver.minor===p.minor&&f.semver.patch===p.patch&&(p=!1),f.operator==="<"||f.operator==="<="){if(l=Pp(a,f,r),l===f&&l!==a)return!1}else if(a.operator==="<="&&!Vr(a.semver,String(f),r))return!1}if(!f.operator&&(a||o)&&i!==0)return!1}return!(o&&d&&!a&&i!==0||a&&u&&!o&&i!==0||g||p)},xp=(e,t,r)=>{if(!e)return t;let n=Ni(e.semver,t.semver,r);return n>0?e:n<0||t.operator===">"&&e.operator===">="?t:e},Pp=(e,t,r)=>{if(!e)return t;let n=Ni(e.semver,t.semver,r);return n<0?e:n>0||t.operator==="<"&&e.operator==="<="?t:e};wp.exports=xx});var Tp=m((qT,Cp)=>{var Ei=qt(),kp=Lr(),Sx=ae(),_p=hi(),kx=vt(),_x=Yu(),Cx=Qu(),Tx=rd(),Ax=ad(),Nx=sd(),Ex=ld(),Rx=dd(),Ix=md(),Ox=Te(),Fx=yd(),Lx=vd(),Dx=no(),zx=Sd(),Mx=_d(),$x=zr(),jx=oo(),Vx=yi(),qx=bi(),Bx=ao(),Ux=io(),Hx=vi(),Gx=Fd(),Wx=Mr(),Jx=Ae(),Xx=jr(),Zx=Xd(),Yx=Yd(),Kx=Qd(),Qx=rp(),eP=op(),tP=lo(),rP=up(),nP=pp(),oP=hp(),aP=yp(),iP=Sp();Cp.exports={parse:kx,valid:_x,clean:Cx,inc:Tx,diff:Ax,major:Nx,minor:Ex,patch:Rx,prerelease:Ix,compare:Ox,rcompare:Fx,compareLoose:Lx,compareBuild:Dx,sort:zx,rsort:Mx,gt:$x,lt:jx,eq:Vx,neq:qx,gte:Bx,lte:Ux,cmp:Hx,coerce:Gx,Comparator:Wx,Range:Jx,satisfies:Xx,toComparators:Zx,maxSatisfying:Yx,minSatisfying:Kx,minVersion:Qx,validRange:eP,outside:tP,gtr:rP,ltr:nP,intersects:oP,simplifyRange:aP,subset:iP,SemVer:Sx,re:Ei.re,src:Ei.src,tokens:Ei.t,SEMVER_SPEC_VERSION:kp.SEMVER_SPEC_VERSION,RELEASE_TYPES:kp.RELEASE_TYPES,compareIdentifiers:_p.compareIdentifiers,rcompareIdentifiers:_p.rcompareIdentifiers}});var Np=m((BT,Ap)=>{"use strict";var Ri=class e extends Error{constructor(t){super(e._prepareSuperMessage(t)),Object.defineProperty(this,"name",{value:"NonError",configurable:!0,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(this,e)}static _prepareSuperMessage(t){try{return JSON.stringify(t)}catch{return String(t)}}},sP=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0}],Ii=({from:e,seen:t,to_:r,forceEnumerable:n})=>{let o=r||(Array.isArray(e)?[]:{});t.push(e);for(let[a,i]of Object.entries(e))if(typeof i!="function"){if(!i||typeof i!="object"){o[a]=i;continue}if(!t.includes(e[a])){o[a]=Ii({from:e[a],seen:t.slice(),forceEnumerable:n});continue}o[a]="[Circular]"}for(let{property:a,enumerable:i}of sP)typeof e[a]=="string"&&Object.defineProperty(o,a,{value:e[a],enumerable:n?!0:i,configurable:!0,writable:!0});return o},cP=e=>typeof e=="object"&&e!==null?Ii({from:e,seen:[],forceEnumerable:!0}):typeof e=="function"?`[Function: ${e.name||"anonymous"}]`:e,lP=e=>{if(e instanceof Error)return e;if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=new Error;return Ii({from:e,seen:[],to_:t}),t}return new Ri(e)};Ap.exports={serializeError:cP,deserializeError:lP}});var po=m(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.default=void 0;var Ep=Np(),uP=Dn(),dP=pP(Fr());function pP(e){return e&&e.__esModule?e:{default:e}}var qe=dP.default.child({namespace:"Agent"}),mP=0,Oi=class{constructor(t,r,n,o,a){this.fallbackAgent=o,this.isProxyConfigured=t,this.mustUrlUseProxy=r,this.getUrlProxy=n,this.socketConnectionTimeout=a}addRequest(t,r){let n;if(t.path.startsWith("http://")||t.path.startsWith("https://")?n=t.path:n=this.protocol+"//"+(r.hostname||r.host)+(r.port===80||r.port===443?"":":"+r.port)+t.path,!this.isProxyConfigured()){qe.trace({destination:n},"not proxying request; GLOBAL_AGENT.HTTP_PROXY is not configured"),this.fallbackAgent.addRequest(t,r);return}if(!this.mustUrlUseProxy(n)){qe.trace({destination:n},"not proxying request; url matches GLOBAL_AGENT.NO_PROXY"),this.fallbackAgent.addRequest(t,r);return}let o=mP++,a=this.getUrlProxy(n);this.protocol==="http:"&&(t.path=n,a.authorization&&t.setHeader("proxy-authorization","Basic "+Buffer.from(a.authorization).toString("base64"))),qe.trace({destination:n,proxy:"http://"+a.hostname+":"+a.port,requestId:o},"proxying request"),t.on("error",c=>{qe.error({error:(0,Ep.serializeError)(c)},"request error")}),t.once("response",c=>{qe.trace({headers:c.headers,requestId:o,statusCode:c.statusCode},"proxying response")}),t.shouldKeepAlive=!1;let i={host:r.hostname||r.host,port:r.port||80,proxy:a,tls:{}};this.protocol==="https:"&&(i.tls={ca:r.ca,cert:r.cert,ciphers:r.ciphers,clientCertEngine:r.clientCertEngine,crl:r.crl,dhparam:r.dhparam,ecdhCurve:r.ecdhCurve,honorCipherOrder:r.honorCipherOrder,key:r.key,passphrase:r.passphrase,pfx:r.pfx,rejectUnauthorized:r.rejectUnauthorized,secureOptions:r.secureOptions,secureProtocol:r.secureProtocol,servername:r.servername||i.host,sessionIdContext:r.sessionIdContext},typeof process.env.NODE_TLS_REJECT_UNAUTHORIZED=="string"&&(0,uP.boolean)(process.env.NODE_TLS_REJECT_UNAUTHORIZED)===!1&&(i.tls.rejectUnauthorized=!1)),this.createConnection(i,(c,l)=>{qe.trace({target:i},"connecting"),l&&(l.setTimeout(this.socketConnectionTimeout,()=>{l.destroy()}),l.once("connect",()=>{qe.trace({target:i},"connected"),l.setTimeout(0)}),l.once("secureConnect",()=>{qe.trace({target:i},"connected (secure)"),l.setTimeout(0)})),c?t.emit("error",c):(qe.debug("created socket"),l.on("error",d=>{qe.error({error:(0,Ep.serializeError)(d)},"socket error")}),t.onSocket(l))})}},fP=Oi;uo.default=fP});var Ip=m(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.default=void 0;var hP=Rp(require("net")),gP=Rp(po());function Rp(e){return e&&e.__esModule?e:{default:e}}var Fi=class extends gP.default{constructor(...t){super(...t),this.protocol="http:",this.defaultPort=80}createConnection(t,r){let n=hP.default.connect(t.proxy.port,t.proxy.hostname);r(null,n)}},yP=Fi;mo.default=yP});var Op=m(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.default=void 0;var bP=Di(require("net")),vP=Di(require("tls")),xP=Di(po());function Di(e){return e&&e.__esModule?e:{default:e}}var Li=class extends xP.default{constructor(...t){super(...t),this.protocol="https:",this.defaultPort=443}createConnection(t,r){let n=bP.default.connect(t.proxy.port,t.proxy.hostname);n.on("error",a=>{r(a)}),n.once("data",()=>{let a=vP.default.connect({...t.tls,socket:n});r(null,a)});let o="";o+="CONNECT "+t.host+":"+t.port+` HTTP/1.1\r +`,o+="Host: "+t.host+":"+t.port+`\r +`,t.proxy.authorization&&(o+="Proxy-Authorization: Basic "+Buffer.from(t.proxy.authorization).toString("base64")+`\r +`),o+=`\r +`,n.write(o)}},PP=Li;fo.default=PP});var Fp=m(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});Object.defineProperty(qr,"Agent",{enumerable:!0,get:function(){return wP.default}});Object.defineProperty(qr,"HttpProxyAgent",{enumerable:!0,get:function(){return SP.default}});Object.defineProperty(qr,"HttpsProxyAgent",{enumerable:!0,get:function(){return kP.default}});var wP=zi(po()),SP=zi(Ip()),kP=zi(Op());function zi(e){return e&&e.__esModule?e:{default:e}}});var zp=m((ho,Dp)=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});function _P(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Lp(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t&&(typeof t=="object"||typeof t=="function")?t:e}function CP(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function TP(e){function t(){e.apply(this,arguments)}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}var AP=function(e){CP(t,e);function t(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";_P(this,t);var n=Lp(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,r));return Object.defineProperty(n,"message",{configurable:!0,enumerable:!1,value:r,writable:!0}),Object.defineProperty(n,"name",{configurable:!0,enumerable:!1,value:n.constructor.name,writable:!0}),Error.hasOwnProperty("captureStackTrace")?(Error.captureStackTrace(n,n.constructor),Lp(n)):(Object.defineProperty(n,"stack",{configurable:!0,enumerable:!1,value:new Error(r).stack,writable:!0}),n)}return t}(TP(Error));ho.default=AP;Dp.exports=ho.default});var yo=m(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.UnexpectedStateError=void 0;var NP=EP(zp());function EP(e){return e&&e.__esModule?e:{default:e}}var Mi=class extends NP.default{constructor(t,r="UNEXPECTED_STATE_ERROR"){super(t),this.code=r}};go.UnexpectedStateError=Mi});var $p=m(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.default=void 0;var RP=Mp(require("http")),IP=Mp(require("https"));function Mp(e){return e&&e.__esModule?e:{default:e}}var OP=(e,t,r)=>(...n)=>{let o,a,i;return typeof n[0]=="string"||n[0]instanceof URL?(o=n[0],typeof n[1]=="function"?(a={},i=n[1]):(a={...n[1]},i=n[2])):(a={...n[0]},i=n[1]),r?a.agent=t:(a.agent||(a.agent=t),(a.agent===RP.default.globalAgent||a.agent===IP.default.globalAgent)&&(a.agent=t)),o?e(o,a,i):e(a,i)},FP=OP;bo.default=FP});var Vp=m((ZT,jp)=>{"use strict";jp.exports=e=>{if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}});var Bp=m((YT,ji)=>{"use strict";var LP=Vp(),$i=new Map;function qp(e,t){t={caseSensitive:!1,...t};let r=e+JSON.stringify(t);if($i.has(r))return $i.get(r);let n=e[0]==="!";n&&(e=e.slice(1)),e=LP(e).replace(/\\\*/g,"[\\s\\S]*");let o=new RegExp(`^${e}$`,t.caseSensitive?"":"i");return o.negated=n,$i.set(r,o),o}ji.exports=(e,t,r)=>{if(!(Array.isArray(e)&&Array.isArray(t)))throw new TypeError(`Expected two arrays, got ${typeof e} ${typeof t}`);if(t.length===0)return e;let n=t[0][0]==="!";t=t.map(a=>qp(a,r));let o=[];for(let a of e){let i=n;for(let c of t)c.test(a)&&(i=!c.negated);i&&o.push(a)}return o};ji.exports.isMatch=(e,t,r)=>{let n=Array.isArray(e)?e:[e],o=Array.isArray(t)?t:[t];return n.some(a=>o.every(i=>{let c=qp(i,r),l=c.test(a);return c.negated?!l:l}))}});var Hp=m(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.default=void 0;var DP=require("url"),zP=MP(Bp()),Up=yo();function MP(e){return e&&e.__esModule?e:{default:e}}var $P=(e,t)=>{let r=(0,DP.parse)(e),n=t.split(/[\s,]+/);for(let o of n){let a=o.replace(/^(?<leadingDot>\.)/,"*").match(/^(?<hostname>.+?)(?::(?<port>\d+))?$/);if(!a||!a.groups)throw new Up.UnexpectedStateError("Invalid NO_PROXY pattern.");if(!a.groups.hostname)throw new Up.UnexpectedStateError("NO_PROXY entry pattern must include hostname. Use * to match any hostname.");if(zP.default.isMatch(r.hostname,a.groups.hostname)&&(!a.groups||!a.groups.port||r.port&&r.port===a.groups.port))return!0}return!1},jP=$P;vo.default=jP});var Gp=m(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.default=void 0;var VP=require("url"),Vi=yo(),qP=e=>{let t=(0,VP.parse)(e);if(t.query!==null)throw new Vi.UnexpectedStateError("Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL must not have query.");if(t.hash!==null)throw new Vi.UnexpectedStateError("Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL must not have hash.");if(t.protocol!=="http:")throw new Vi.UnexpectedStateError('Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL protocol must be "http:".');let r=80;return t.port&&(r=Number.parseInt(t.port,10)),{authorization:t.auth||null,hostname:t.hostname,port:r}},BP=qP;xo.default=BP});var Wp=m(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Object.defineProperty(Br,"bindHttpMethod",{enumerable:!0,get:function(){return UP.default}});Object.defineProperty(Br,"isUrlMatchingNoProxy",{enumerable:!0,get:function(){return HP.default}});Object.defineProperty(Br,"parseProxyUrl",{enumerable:!0,get:function(){return GP.default}});var UP=qi($p()),HP=qi(Hp()),GP=qi(Gp());function qi(e){return e&&e.__esModule?e:{default:e}}});var Bi=m(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.default=void 0;var WP=JP(Fr());function JP(e){return e&&e.__esModule?e:{default:e}}var XP=WP.default.child({namespace:"createProxyController"}),ZP=["HTTP_PROXY","HTTPS_PROXY","NO_PROXY"],YP=()=>new Proxy({HTTP_PROXY:null,HTTPS_PROXY:null,NO_PROXY:null},{set:(e,t,r)=>{if(!ZP.includes(t))throw new Error('Cannot set an unmapped property "'+t+'".');return e[t]=r,XP.info({change:{name:t,value:r},newConfiguration:e},"configuration changed"),!0}}),KP=YP;Po.default=KP});var Kp=m(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.default=void 0;var Ht=Ur(require("http")),Gt=Ur(require("https")),QP=Dn(),Jp=Ur(Tp()),ew=Ur(Fr()),Xp=Fp(),tw=yo(),Ut=Wp(),rw=Ur(Bi());function Ur(e){return e&&e.__esModule?e:{default:e}}var nw=Ht.default.get,ow=Ht.default.request,aw=Gt.default.get,iw=Gt.default.request,Zp=ew.default.child({namespace:"createGlobalProxyAgent"}),Yp={environmentVariableNamespace:void 0,forceGlobalAgent:void 0,socketConnectionTimeout:6e4},sw=e=>{let t=Object.keys(e),r={};for(let n of t){let o=e[n];o!==void 0&&(r[n]=o)}return r},cw=e=>{let t=process.env;return{...{environmentVariableNamespace:typeof t.GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE=="string"?t.GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE:"GLOBAL_AGENT_",forceGlobalAgent:typeof t.GLOBAL_AGENT_FORCE_GLOBAL_AGENT=="string"?(0,QP.boolean)(t.GLOBAL_AGENT_FORCE_GLOBAL_AGENT):!0,socketConnectionTimeout:typeof t.GLOBAL_AGENT_SOCKET_CONNECTION_TIMEOUT=="string"?Number.parseInt(t.GLOBAL_AGENT_SOCKET_CONNECTION_TIMEOUT,10):Yp.socketConnectionTimeout},...sw(e)}},lw=(e=Yp)=>{let t=cw(e),r=(0,rw.default)();r.HTTP_PROXY=process.env[t.environmentVariableNamespace+"HTTP_PROXY"]||null,r.HTTPS_PROXY=process.env[t.environmentVariableNamespace+"HTTPS_PROXY"]||null,r.NO_PROXY=process.env[t.environmentVariableNamespace+"NO_PROXY"]||null,Zp.info({configuration:t,state:r},"global agent has been initialized");let n=p=>g=>p()?r.NO_PROXY?!(0,Ut.isUrlMatchingNoProxy)(g,r.NO_PROXY):!0:!1,o=p=>()=>{let g=p();if(!g)throw new tw.UnexpectedStateError("HTTP(S) proxy must be configured.");return(0,Ut.parseProxyUrl)(g)},a=()=>r.HTTP_PROXY,i=class extends Xp.HttpProxyAgent{constructor(){super(()=>a(),n(a),o(a),Ht.default.globalAgent,t.socketConnectionTimeout)}},c=new i,l=()=>r.HTTPS_PROXY||r.HTTP_PROXY,d=class extends Xp.HttpsProxyAgent{constructor(){super(()=>l(),n(l),o(l),Gt.default.globalAgent,t.socketConnectionTimeout)}},u=new d;return Jp.default.gte(process.version,"v11.7.0")&&(Ht.default.globalAgent=c,Gt.default.globalAgent=u),Jp.default.gte(process.version,"v10.0.0")?(Ht.default.get=(0,Ut.bindHttpMethod)(nw,c,t.forceGlobalAgent),Ht.default.request=(0,Ut.bindHttpMethod)(ow,c,t.forceGlobalAgent),Gt.default.get=(0,Ut.bindHttpMethod)(aw,u,t.forceGlobalAgent),Gt.default.request=(0,Ut.bindHttpMethod)(iw,u,t.forceGlobalAgent)):Zp.warn("attempt to initialize global-agent in unsupported Node.js version was ignored"),r},uw=lw;wo.default=uw});var Ui=m(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});Object.defineProperty(So,"createGlobalProxyAgent",{enumerable:!0,get:function(){return dw.default}});Object.defineProperty(So,"createProxyController",{enumerable:!0,get:function(){return pw.default}});var dw=Qp(Kp()),pw=Qp(Bi());function Qp(e){return e&&e.__esModule?e:{default:e}}});var em=m(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.default=void 0;var mw=hw(Fr()),fw=Ui();function hw(e){return e&&e.__esModule?e:{default:e}}var gw=mw.default.child({namespace:"bootstrap"}),yw=e=>global.GLOBAL_AGENT?(gw.warn("found global.GLOBAL_AGENT; second attempt to bootstrap global-agent was ignored"),!1):(global.GLOBAL_AGENT=(0,fw.createGlobalProxyAgent)(e),!0),bw=yw;ko.default=bw});var tm=m(Hi=>{"use strict";Object.defineProperty(Hi,"__esModule",{value:!0});Object.defineProperty(Hi,"bootstrap",{enumerable:!0,get:function(){return vw.default}});var vw=xw(em());function xw(e){return e&&e.__esModule?e:{default:e}}});var rm=m(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});Object.defineProperty(_o,"bootstrap",{enumerable:!0,get:function(){return Pw.bootstrap}});Object.defineProperty(_o,"createGlobalProxyAgent",{enumerable:!0,get:function(){return ww.createGlobalProxyAgent}});var Pw=tm(),ww=Ui()});var nm=m(H=>{"use strict";var Gi=Symbol.for("react.transitional.element"),Wi=Symbol.for("react.portal"),Co=Symbol.for("react.fragment"),To=Symbol.for("react.strict_mode"),Ao=Symbol.for("react.profiler");Symbol.for("react.provider");var No=Symbol.for("react.consumer"),Eo=Symbol.for("react.context"),Ro=Symbol.for("react.forward_ref"),Io=Symbol.for("react.suspense"),Oo=Symbol.for("react.suspense_list"),Fo=Symbol.for("react.memo"),Lo=Symbol.for("react.lazy"),Sw=Symbol.for("react.offscreen"),kw=Symbol.for("react.client.reference");function Ne(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case Gi:switch(e=e.type,e){case Co:case Ao:case To:case Io:case Oo:return e;default:switch(e=e&&e.$$typeof,e){case Eo:case Ro:case Lo:case Fo:return e;case No:return e;default:return t}}case Wi:return t}}}H.ContextConsumer=No;H.ContextProvider=Eo;H.Element=Gi;H.ForwardRef=Ro;H.Fragment=Co;H.Lazy=Lo;H.Memo=Fo;H.Portal=Wi;H.Profiler=Ao;H.StrictMode=To;H.Suspense=Io;H.SuspenseList=Oo;H.isContextConsumer=function(e){return Ne(e)===No};H.isContextProvider=function(e){return Ne(e)===Eo};H.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===Gi};H.isForwardRef=function(e){return Ne(e)===Ro};H.isFragment=function(e){return Ne(e)===Co};H.isLazy=function(e){return Ne(e)===Lo};H.isMemo=function(e){return Ne(e)===Fo};H.isPortal=function(e){return Ne(e)===Wi};H.isProfiler=function(e){return Ne(e)===Ao};H.isStrictMode=function(e){return Ne(e)===To};H.isSuspense=function(e){return Ne(e)===Io};H.isSuspenseList=function(e){return Ne(e)===Oo};H.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Co||e===Ao||e===To||e===Io||e===Oo||e===Sw||typeof e=="object"&&e!==null&&(e.$$typeof===Lo||e.$$typeof===Fo||e.$$typeof===Eo||e.$$typeof===No||e.$$typeof===Ro||e.$$typeof===kw||e.getModuleId!==void 0)};H.typeOf=Ne});var om=m(G=>{"use strict";process.env.NODE_ENV!=="production"&&function(){function e(x){if(typeof x=="object"&&x!==null){var ke=x.$$typeof;switch(ke){case t:switch(x=x.type,x){case n:case a:case o:case d:case u:return x;default:switch(x=x&&x.$$typeof,x){case c:case l:case g:case p:return x;case i:return x;default:return ke}}case r:return ke}}}var t=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler");Symbol.for("react.provider");var i=Symbol.for("react.consumer"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),f=Symbol.for("react.offscreen"),C=Symbol.for("react.client.reference");G.ContextConsumer=i,G.ContextProvider=c,G.Element=t,G.ForwardRef=l,G.Fragment=n,G.Lazy=g,G.Memo=p,G.Portal=r,G.Profiler=a,G.StrictMode=o,G.Suspense=d,G.SuspenseList=u,G.isContextConsumer=function(x){return e(x)===i},G.isContextProvider=function(x){return e(x)===c},G.isElement=function(x){return typeof x=="object"&&x!==null&&x.$$typeof===t},G.isForwardRef=function(x){return e(x)===l},G.isFragment=function(x){return e(x)===n},G.isLazy=function(x){return e(x)===g},G.isMemo=function(x){return e(x)===p},G.isPortal=function(x){return e(x)===r},G.isProfiler=function(x){return e(x)===a},G.isStrictMode=function(x){return e(x)===o},G.isSuspense=function(x){return e(x)===d},G.isSuspenseList=function(x){return e(x)===u},G.isValidElementType=function(x){return typeof x=="string"||typeof x=="function"||x===n||x===a||x===o||x===d||x===u||x===f||typeof x=="object"&&x!==null&&(x.$$typeof===g||x.$$typeof===p||x.$$typeof===c||x.$$typeof===i||x.$$typeof===l||x.$$typeof===C||x.getModuleId!==void 0)},G.typeOf=e}()});var am=m((dA,Ji)=>{"use strict";process.env.NODE_ENV==="production"?Ji.exports=nm():Ji.exports=om()});var im,be,xt=b(()=>{"use strict";im=require("node:worker_threads"),be=class e extends Error{underlying;get name(){return this.underlying instanceof Error?this.underlying.name:typeof this.underlying=="string"||this.underlying instanceof String?`${this.underlying}`:JSON.stringify(this.underlying)}code;title;breadcrumbs;diagnostics;sessionId;constructor(t,r,n,o){t&&typeof t=="object"&&"message"in t&&typeof t.message=="string"?super(t.message):o?.message?super(o?.message):typeof t=="string"?super(t):super(),this.underlying=t,this.code=r,this.title=n,this.stack=t instanceof Error?t.stack:o?.stack,this.breadcrumbs=o?.breadcrumbs,this.diagnostics=o?.diagnostics,this.sessionId=o?.sessionId??im.workerData?.sessionId}serialize(){return{_isRayError:!0,code:this.code,title:this.title,name:this.name,message:this.message,stack:this.stack,breadcrumbs:this.breadcrumbs,diagnostics:this.diagnostics,sessionId:this.sessionId}}static tryDeserialize(t){if(!e.isRecord(t)||!e.hasProperty(t,"_isRayError")||!t._isRayError||Array.isArray(t)||!e.hasProperty(t,"code")||typeof t.code!="number"||!e.hasProperty(t,"title")||typeof t.title!="string"||!e.hasProperty(t,"name")||typeof t.name!="string")return null;let r=e.hasProperty(t,"message")&&typeof t.message=="string"?t.message:void 0,n=e.hasProperty(t,"stack")&&typeof t.stack=="string"?t.stack:void 0,o=e.hasProperty(t,"breadcrumbs")&&Array.isArray(t.breadcrumbs)?t.breadcrumbs:void 0,a=e.hasProperty(t,"diagnostics")&&typeof t.diagnostics=="object"?t.diagnostics:void 0,i=e.hasProperty(t,"sessionId")&&typeof t.sessionId=="string"?t.sessionId:void 0;return new e(t.name,t.code,t.title,{message:r,stack:n,breadcrumbs:o,diagnostics:a,sessionId:i})}static hasProperty(t,r){return Object.prototype.hasOwnProperty.call(t,r)&&typeof t[r]<"u"&&t[r]!==null}static isRecord(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}}});function Zi(){return _w}function v(e,t){let r=Zi(),n=Yi({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===Jr?void 0:Jr].filter(o=>!!o)});e.common.issues.push(n)}function zo(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)}function dm(e,t,r,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(e,r):o?o.value=r:t.set(e,r),r}function O(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:o}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:o}:{errorMap:(i,c)=>{var l,d;let{message:u}=e;return i.code==="invalid_enum_value"?{message:u??c.defaultError}:typeof c.data>"u"?{message:(l=u??n)!==null&&l!==void 0?l:c.defaultError}:i.code!=="invalid_type"?{message:c.defaultError}:{message:(d=u??r)!==null&&d!==void 0?d:c.defaultError}},description:o}}function mm(e){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`),t}function qw(e){return new RegExp(`^${mm(e)}$`)}function Bw(e){let t=`${pm}T${mm(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function Uw(e,t){return!!((t==="v4"||!t)&&Lw.test(e)||(t==="v6"||!t)&&zw.test(e))}function Hw(e,t){if(!Rw.test(e))return!1;try{let[r]=e.split("."),n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||!o.typ||!o.alg||t&&o.alg!==t)}catch{return!1}}function Gw(e,t){return!!((t==="v4"||!t)&&Dw.test(e)||(t==="v6"||!t)&&Mw.test(e))}function Ww(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,a=parseInt(e.toFixed(o).replace(".","")),i=parseInt(t.toFixed(o).replace(".",""));return a%i/Math.pow(10,o)}function Wt(e){if(e instanceof _e){let t={};for(let r in e.shape){let n=e.shape[r];t[r]=ze.create(Wt(n))}return new _e({...e._def,shape:()=>t})}else return e instanceof lt?new lt({...e._def,type:Wt(e.element)}):e instanceof ze?ze.create(Wt(e.unwrap())):e instanceof rt?rt.create(Wt(e.unwrap())):e instanceof tt?tt.create(e.items.map(t=>Wt(t))):e}function Qi(e,t){let r=st(e),n=st(t);if(e===t)return{valid:!0,data:e};if(r===S.object&&n===S.object){let o=$.objectKeys(t),a=$.objectKeys(e).filter(c=>o.indexOf(c)!==-1),i={...e,...t};for(let c of a){let l=Qi(e[c],t[c]);if(!l.valid)return{valid:!1};i[c]=l.data}return{valid:!0,data:i}}else if(r===S.array&&n===S.array){if(e.length!==t.length)return{valid:!1};let o=[];for(let a=0;a<e.length;a++){let i=e[a],c=t[a],l=Qi(i,c);if(!l.valid)return{valid:!1};o.push(l.data)}return{valid:!0,data:o}}else return r===S.date&&n===S.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}function fm(e,t){return new rr({values:e,typeName:N.ZodEnum,...O(t)})}var $,sm,S,st,h,Ee,Jr,_w,Yi,de,E,Hr,ve,cm,lm,Jt,Do,_,Gr,Wr,Re,um,L,Cw,Tw,Aw,Nw,Ew,Rw,Iw,Ow,Fw,Xi,Lw,Dw,zw,Mw,$w,jw,pm,Vw,Xt,Xr,Zr,Yr,Kr,Qr,Zt,Yt,en,ct,Be,tn,lt,_e,Kt,et,Ki,Qt,tt,es,rn,nn,ts,er,tr,rr,nr,Pt,Me,ze,rt,or,ar,on,mA,Mo,$o,ir,fA,N,wt,Jw,hA,gA,Xw,yA,bA,Zw,vA,xA,Yw,PA,wA,jo,an,SA,hm,kA,_A,CA,Kw,TA,AA,NA,EA,Qw,RA,IA,OA,FA,LA,DA,zA,MA,gm=b(()=>{(function(e){e.assertEqual=o=>o;function t(o){}e.assertIs=t;function r(o){throw new Error}e.assertNever=r,e.arrayToEnum=o=>{let a={};for(let i of o)a[i]=i;return a},e.getValidEnumValues=o=>{let a=e.objectKeys(o).filter(c=>typeof o[o[c]]!="number"),i={};for(let c of a)i[c]=o[c];return e.objectValues(i)},e.objectValues=o=>e.objectKeys(o).map(function(a){return o[a]}),e.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let a=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&a.push(i);return a},e.find=(o,a)=>{for(let i of o)if(a(i))return i},e.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&isFinite(o)&&Math.floor(o)===o;function n(o,a=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(a)}e.joinValues=n,e.jsonStringifyReplacer=(o,a)=>typeof a=="bigint"?a.toString():a})($||($={}));(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(sm||(sm={}));S=$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),st=e=>{switch(typeof e){case"undefined":return S.undefined;case"string":return S.string;case"number":return isNaN(e)?S.nan:S.number;case"boolean":return S.boolean;case"function":return S.function;case"bigint":return S.bigint;case"symbol":return S.symbol;case"object":return Array.isArray(e)?S.array:e===null?S.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?S.promise:typeof Map<"u"&&e instanceof Map?S.map:typeof Set<"u"&&e instanceof Set?S.set:typeof Date<"u"&&e instanceof Date?S.date:S.object;default:return S.unknown}},h=$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Ee=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){let r=t||function(a){return a.message},n={_errors:[]},o=a=>{for(let i of a.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let c=n,l=0;for(;l<i.path.length;){let d=i.path[l];l===i.path.length-1?(c[d]=c[d]||{_errors:[]},c[d]._errors.push(r(i))):c[d]=c[d]||{_errors:[]},c=c[d],l++}}};return o(this),n}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,$.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){let r={},n=[];for(let o of this.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o))):n.push(t(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Ee.create=e=>new Ee(e);Jr=(e,t)=>{let r;switch(e.code){case h.invalid_type:e.received===S.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case h.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,$.jsonStringifyReplacer)}`;break;case h.unrecognized_keys:r=`Unrecognized key(s) in object: ${$.joinValues(e.keys,", ")}`;break;case h.invalid_union:r="Invalid input";break;case h.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${$.joinValues(e.options)}`;break;case h.invalid_enum_value:r=`Invalid enum value. Expected ${$.joinValues(e.options)}, received '${e.received}'`;break;case h.invalid_arguments:r="Invalid function arguments";break;case h.invalid_return_type:r="Invalid function return type";break;case h.invalid_date:r="Invalid date";break;case h.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:$.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case h.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case h.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case h.custom:r="Invalid input";break;case h.invalid_intersection_types:r="Intersection results could not be merged";break;case h.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case h.not_finite:r="Number must be finite";break;default:r=t.defaultError,$.assertNever(e)}return{message:r}},_w=Jr;Yi=e=>{let{data:t,path:r,errorMaps:n,issueData:o}=e,a=[...r,...o.path||[]],i={...o,path:a};if(o.message!==void 0)return{...o,path:a,message:o.message};let c="",l=n.filter(d=>!!d).slice().reverse();for(let d of l)c=d(i,{data:t,defaultError:c}).message;return{...o,path:a,message:c}};de=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){let n=[];for(let o of r){if(o.status==="aborted")return E;o.status==="dirty"&&t.dirty(),n.push(o.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){let n=[];for(let o of r){let a=await o.key,i=await o.value;n.push({key:a,value:i})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,r){let n={};for(let o of r){let{key:a,value:i}=o;if(a.status==="aborted"||i.status==="aborted")return E;a.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),a.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[a.value]=i.value)}return{status:t.value,value:n}}},E=Object.freeze({status:"aborted"}),Hr=e=>({status:"dirty",value:e}),ve=e=>({status:"valid",value:e}),cm=e=>e.status==="aborted",lm=e=>e.status==="dirty",Jt=e=>e.status==="valid",Do=e=>typeof Promise<"u"&&e instanceof Promise;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(_||(_={}));Re=class{constructor(t,r,n,o){this._cachedPath=[],this.parent=t,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},um=(e,t)=>{if(Jt(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new Ee(e.common.issues);return this._error=r,this._error}}};L=class{get description(){return this._def.description}_getType(t){return st(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:st(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new de,ctx:{common:t.parent.common,data:t.data,parsedType:st(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let r=this._parse(t);if(Do(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){let r=this._parse(t);return Promise.resolve(r)}parse(t,r){let n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){var n;let o={common:{issues:[],async:(n=r?.async)!==null&&n!==void 0?n:!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:st(t)},a=this._parseSync({data:t,path:o.path,parent:o});return um(o,a)}"~validate"(t){var r,n;let o={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:st(t)};if(!this["~standard"].async)try{let a=this._parseSync({data:t,path:[],parent:o});return Jt(a)?{value:a.value}:{issues:o.common.issues}}catch(a){!((n=(r=a?.message)===null||r===void 0?void 0:r.toLowerCase())===null||n===void 0)&&n.includes("encountered")&&(this["~standard"].async=!0),o.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:o}).then(a=>Jt(a)?{value:a.value}:{issues:o.common.issues})}async parseAsync(t,r){let n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:st(t)},o=this._parse({data:t,path:n.path,parent:n}),a=await(Do(o)?o:Promise.resolve(o));return um(n,a)}refine(t,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,a)=>{let i=t(o),c=()=>a.addIssue({code:h.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(l=>l?!0:(c(),!1)):i?!0:(c(),!1)})}refinement(t,r){return this._refinement((n,o)=>t(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(t){return new Me({schema:this,typeName:N.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return ze.create(this,this._def)}nullable(){return rt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return lt.create(this)}promise(){return Pt.create(this,this._def)}or(t){return Kt.create([this,t],this._def)}and(t){return Qt.create(this,t,this._def)}transform(t){return new Me({...O(this._def),schema:this,typeName:N.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let r=typeof t=="function"?t:()=>t;return new or({...O(this._def),innerType:this,defaultValue:r,typeName:N.ZodDefault})}brand(){return new Mo({typeName:N.ZodBranded,type:this,...O(this._def)})}catch(t){let r=typeof t=="function"?t:()=>t;return new ar({...O(this._def),innerType:this,catchValue:r,typeName:N.ZodCatch})}describe(t){let r=this.constructor;return new r({...this._def,description:t})}pipe(t){return $o.create(this,t)}readonly(){return ir.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Cw=/^c[^\s-]{8,}$/i,Tw=/^[0-9a-z]+$/,Aw=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Nw=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ew=/^[a-z0-9_-]{21}$/i,Rw=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Iw=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Ow=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Fw="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Lw=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Dw=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,zw=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Mw=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,$w=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,jw=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,pm="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Vw=new RegExp(`^${pm}$`);Xt=class e extends L{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==S.string){let a=this._getOrReturnCtx(t);return v(a,{code:h.invalid_type,expected:S.string,received:a.parsedType}),E}let n=new de,o;for(let a of this._def.checks)if(a.kind==="min")t.data.length<a.value&&(o=this._getOrReturnCtx(t,o),v(o,{code:h.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),n.dirty());else if(a.kind==="max")t.data.length>a.value&&(o=this._getOrReturnCtx(t,o),v(o,{code:h.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),n.dirty());else if(a.kind==="length"){let i=t.data.length>a.value,c=t.data.length<a.value;(i||c)&&(o=this._getOrReturnCtx(t,o),i?v(o,{code:h.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}):c&&v(o,{code:h.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}),n.dirty())}else if(a.kind==="email")Ow.test(t.data)||(o=this._getOrReturnCtx(t,o),v(o,{validation:"email",code:h.invalid_string,message:a.message}),n.dirty());else if(a.kind==="emoji")Xi||(Xi=new RegExp(Fw,"u")),Xi.test(t.data)||(o=this._getOrReturnCtx(t,o),v(o,{validation:"emoji",code:h.invalid_string,message:a.message}),n.dirty());else if(a.kind==="uuid")Nw.test(t.data)||(o=this._getOrReturnCtx(t,o),v(o,{validation:"uuid",code:h.invalid_string,message:a.message}),n.dirty());else if(a.kind==="nanoid")Ew.test(t.data)||(o=this._getOrReturnCtx(t,o),v(o,{validation:"nanoid",code:h.invalid_string,message:a.message}),n.dirty());else if(a.kind==="cuid")Cw.test(t.data)||(o=this._getOrReturnCtx(t,o),v(o,{validation:"cuid",code:h.invalid_string,message:a.message}),n.dirty());else if(a.kind==="cuid2")Tw.test(t.data)||(o=this._getOrReturnCtx(t,o),v(o,{validation:"cuid2",code:h.invalid_string,message:a.message}),n.dirty());else if(a.kind==="ulid")Aw.test(t.data)||(o=this._getOrReturnCtx(t,o),v(o,{validation:"ulid",code:h.invalid_string,message:a.message}),n.dirty());else if(a.kind==="url")try{new URL(t.data)}catch{o=this._getOrReturnCtx(t,o),v(o,{validation:"url",code:h.invalid_string,message:a.message}),n.dirty()}else a.kind==="regex"?(a.regex.lastIndex=0,a.regex.test(t.data)||(o=this._getOrReturnCtx(t,o),v(o,{validation:"regex",code:h.invalid_string,message:a.message}),n.dirty())):a.kind==="trim"?t.data=t.data.trim():a.kind==="includes"?t.data.includes(a.value,a.position)||(o=this._getOrReturnCtx(t,o),v(o,{code:h.invalid_string,validation:{includes:a.value,position:a.position},message:a.message}),n.dirty()):a.kind==="toLowerCase"?t.data=t.data.toLowerCase():a.kind==="toUpperCase"?t.data=t.data.toUpperCase():a.kind==="startsWith"?t.data.startsWith(a.value)||(o=this._getOrReturnCtx(t,o),v(o,{code:h.invalid_string,validation:{startsWith:a.value},message:a.message}),n.dirty()):a.kind==="endsWith"?t.data.endsWith(a.value)||(o=this._getOrReturnCtx(t,o),v(o,{code:h.invalid_string,validation:{endsWith:a.value},message:a.message}),n.dirty()):a.kind==="datetime"?Bw(a).test(t.data)||(o=this._getOrReturnCtx(t,o),v(o,{code:h.invalid_string,validation:"datetime",message:a.message}),n.dirty()):a.kind==="date"?Vw.test(t.data)||(o=this._getOrReturnCtx(t,o),v(o,{code:h.invalid_string,validation:"date",message:a.message}),n.dirty()):a.kind==="time"?qw(a).test(t.data)||(o=this._getOrReturnCtx(t,o),v(o,{code:h.invalid_string,validation:"time",message:a.message}),n.dirty()):a.kind==="duration"?Iw.test(t.data)||(o=this._getOrReturnCtx(t,o),v(o,{validation:"duration",code:h.invalid_string,message:a.message}),n.dirty()):a.kind==="ip"?Uw(t.data,a.version)||(o=this._getOrReturnCtx(t,o),v(o,{validation:"ip",code:h.invalid_string,message:a.message}),n.dirty()):a.kind==="jwt"?Hw(t.data,a.alg)||(o=this._getOrReturnCtx(t,o),v(o,{validation:"jwt",code:h.invalid_string,message:a.message}),n.dirty()):a.kind==="cidr"?Gw(t.data,a.version)||(o=this._getOrReturnCtx(t,o),v(o,{validation:"cidr",code:h.invalid_string,message:a.message}),n.dirty()):a.kind==="base64"?$w.test(t.data)||(o=this._getOrReturnCtx(t,o),v(o,{validation:"base64",code:h.invalid_string,message:a.message}),n.dirty()):a.kind==="base64url"?jw.test(t.data)||(o=this._getOrReturnCtx(t,o),v(o,{validation:"base64url",code:h.invalid_string,message:a.message}),n.dirty()):$.assertNever(a);return{status:n.value,value:t.data}}_regex(t,r,n){return this.refinement(o=>t.test(o),{validation:r,code:h.invalid_string,..._.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",..._.errToObj(t)})}url(t){return this._addCheck({kind:"url",..._.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",..._.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",..._.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",..._.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",..._.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",..._.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",..._.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",..._.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",..._.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",..._.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",..._.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",..._.errToObj(t)})}datetime(t){var r,n;return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:(r=t?.offset)!==null&&r!==void 0?r:!1,local:(n=t?.local)!==null&&n!==void 0?n:!1,..._.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,..._.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",..._.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,..._.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r?.position,..._.errToObj(r?.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,..._.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,..._.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,..._.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,..._.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,..._.errToObj(r)})}nonempty(t){return this.min(1,_.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};Xt.create=e=>{var t;return new Xt({checks:[],typeName:N.ZodString,coerce:(t=e?.coerce)!==null&&t!==void 0?t:!1,...O(e)})};Xr=class e extends L{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==S.number){let a=this._getOrReturnCtx(t);return v(a,{code:h.invalid_type,expected:S.number,received:a.parsedType}),E}let n,o=new de;for(let a of this._def.checks)a.kind==="int"?$.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),v(n,{code:h.invalid_type,expected:"integer",received:"float",message:a.message}),o.dirty()):a.kind==="min"?(a.inclusive?t.data<a.value:t.data<=a.value)&&(n=this._getOrReturnCtx(t,n),v(n,{code:h.too_small,minimum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),o.dirty()):a.kind==="max"?(a.inclusive?t.data>a.value:t.data>=a.value)&&(n=this._getOrReturnCtx(t,n),v(n,{code:h.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),o.dirty()):a.kind==="multipleOf"?Ww(t.data,a.value)!==0&&(n=this._getOrReturnCtx(t,n),v(n,{code:h.not_multiple_of,multipleOf:a.value,message:a.message}),o.dirty()):a.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),v(n,{code:h.not_finite,message:a.message}),o.dirty()):$.assertNever(a);return{status:o.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,_.toString(r))}gt(t,r){return this.setLimit("min",t,!1,_.toString(r))}lte(t,r){return this.setLimit("max",t,!0,_.toString(r))}lt(t,r){return this.setLimit("max",t,!1,_.toString(r))}setLimit(t,r,n,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:_.toString(o)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:_.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:_.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:_.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:_.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:_.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:_.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:_.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:_.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:_.toString(t)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&$.isInteger(t.value))}get isFinite(){let t=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(t===null||n.value<t)&&(t=n.value)}return Number.isFinite(r)&&Number.isFinite(t)}};Xr.create=e=>new Xr({checks:[],typeName:N.ZodNumber,coerce:e?.coerce||!1,...O(e)});Zr=class e extends L{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==S.bigint)return this._getInvalidInput(t);let n,o=new de;for(let a of this._def.checks)a.kind==="min"?(a.inclusive?t.data<a.value:t.data<=a.value)&&(n=this._getOrReturnCtx(t,n),v(n,{code:h.too_small,type:"bigint",minimum:a.value,inclusive:a.inclusive,message:a.message}),o.dirty()):a.kind==="max"?(a.inclusive?t.data>a.value:t.data>=a.value)&&(n=this._getOrReturnCtx(t,n),v(n,{code:h.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),o.dirty()):a.kind==="multipleOf"?t.data%a.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),v(n,{code:h.not_multiple_of,multipleOf:a.value,message:a.message}),o.dirty()):$.assertNever(a);return{status:o.value,value:t.data}}_getInvalidInput(t){let r=this._getOrReturnCtx(t);return v(r,{code:h.invalid_type,expected:S.bigint,received:r.parsedType}),E}gte(t,r){return this.setLimit("min",t,!0,_.toString(r))}gt(t,r){return this.setLimit("min",t,!1,_.toString(r))}lte(t,r){return this.setLimit("max",t,!0,_.toString(r))}lt(t,r){return this.setLimit("max",t,!1,_.toString(r))}setLimit(t,r,n,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:_.toString(o)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:_.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:_.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:_.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:_.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:_.toString(r)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};Zr.create=e=>{var t;return new Zr({checks:[],typeName:N.ZodBigInt,coerce:(t=e?.coerce)!==null&&t!==void 0?t:!1,...O(e)})};Yr=class extends L{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==S.boolean){let n=this._getOrReturnCtx(t);return v(n,{code:h.invalid_type,expected:S.boolean,received:n.parsedType}),E}return ve(t.data)}};Yr.create=e=>new Yr({typeName:N.ZodBoolean,coerce:e?.coerce||!1,...O(e)});Kr=class e extends L{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==S.date){let a=this._getOrReturnCtx(t);return v(a,{code:h.invalid_type,expected:S.date,received:a.parsedType}),E}if(isNaN(t.data.getTime())){let a=this._getOrReturnCtx(t);return v(a,{code:h.invalid_date}),E}let n=new de,o;for(let a of this._def.checks)a.kind==="min"?t.data.getTime()<a.value&&(o=this._getOrReturnCtx(t,o),v(o,{code:h.too_small,message:a.message,inclusive:!0,exact:!1,minimum:a.value,type:"date"}),n.dirty()):a.kind==="max"?t.data.getTime()>a.value&&(o=this._getOrReturnCtx(t,o),v(o,{code:h.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),n.dirty()):$.assertNever(a);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:_.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:_.toString(r)})}get minDate(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t!=null?new Date(t):null}};Kr.create=e=>new Kr({checks:[],coerce:e?.coerce||!1,typeName:N.ZodDate,...O(e)});Qr=class extends L{_parse(t){if(this._getType(t)!==S.symbol){let n=this._getOrReturnCtx(t);return v(n,{code:h.invalid_type,expected:S.symbol,received:n.parsedType}),E}return ve(t.data)}};Qr.create=e=>new Qr({typeName:N.ZodSymbol,...O(e)});Zt=class extends L{_parse(t){if(this._getType(t)!==S.undefined){let n=this._getOrReturnCtx(t);return v(n,{code:h.invalid_type,expected:S.undefined,received:n.parsedType}),E}return ve(t.data)}};Zt.create=e=>new Zt({typeName:N.ZodUndefined,...O(e)});Yt=class extends L{_parse(t){if(this._getType(t)!==S.null){let n=this._getOrReturnCtx(t);return v(n,{code:h.invalid_type,expected:S.null,received:n.parsedType}),E}return ve(t.data)}};Yt.create=e=>new Yt({typeName:N.ZodNull,...O(e)});en=class extends L{constructor(){super(...arguments),this._any=!0}_parse(t){return ve(t.data)}};en.create=e=>new en({typeName:N.ZodAny,...O(e)});ct=class extends L{constructor(){super(...arguments),this._unknown=!0}_parse(t){return ve(t.data)}};ct.create=e=>new ct({typeName:N.ZodUnknown,...O(e)});Be=class extends L{_parse(t){let r=this._getOrReturnCtx(t);return v(r,{code:h.invalid_type,expected:S.never,received:r.parsedType}),E}};Be.create=e=>new Be({typeName:N.ZodNever,...O(e)});tn=class extends L{_parse(t){if(this._getType(t)!==S.undefined){let n=this._getOrReturnCtx(t);return v(n,{code:h.invalid_type,expected:S.void,received:n.parsedType}),E}return ve(t.data)}};tn.create=e=>new tn({typeName:N.ZodVoid,...O(e)});lt=class e extends L{_parse(t){let{ctx:r,status:n}=this._processInputParams(t),o=this._def;if(r.parsedType!==S.array)return v(r,{code:h.invalid_type,expected:S.array,received:r.parsedType}),E;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,c=r.data.length<o.exactLength.value;(i||c)&&(v(r,{code:i?h.too_big:h.too_small,minimum:c?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&(v(r,{code:h.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&(v(r,{code:h.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,c)=>o.type._parseAsync(new Re(r,i,r.path,c)))).then(i=>de.mergeArray(n,i));let a=[...r.data].map((i,c)=>o.type._parseSync(new Re(r,i,r.path,c)));return de.mergeArray(n,a)}get element(){return this._def.type}min(t,r){return new e({...this._def,minLength:{value:t,message:_.toString(r)}})}max(t,r){return new e({...this._def,maxLength:{value:t,message:_.toString(r)}})}length(t,r){return new e({...this._def,exactLength:{value:t,message:_.toString(r)}})}nonempty(t){return this.min(1,t)}};lt.create=(e,t)=>new lt({type:e,minLength:null,maxLength:null,exactLength:null,typeName:N.ZodArray,...O(t)});_e=class e extends L{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),r=$.objectKeys(t);return this._cached={shape:t,keys:r}}_parse(t){if(this._getType(t)!==S.object){let d=this._getOrReturnCtx(t);return v(d,{code:h.invalid_type,expected:S.object,received:d.parsedType}),E}let{status:n,ctx:o}=this._processInputParams(t),{shape:a,keys:i}=this._getCached(),c=[];if(!(this._def.catchall instanceof Be&&this._def.unknownKeys==="strip"))for(let d in o.data)i.includes(d)||c.push(d);let l=[];for(let d of i){let u=a[d],p=o.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new Re(o,p,o.path,d)),alwaysSet:d in o.data})}if(this._def.catchall instanceof Be){let d=this._def.unknownKeys;if(d==="passthrough")for(let u of c)l.push({key:{status:"valid",value:u},value:{status:"valid",value:o.data[u]}});else if(d==="strict")c.length>0&&(v(o,{code:h.unrecognized_keys,keys:c}),n.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let d=this._def.catchall;for(let u of c){let p=o.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new Re(o,p,o.path,u)),alwaysSet:u in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let d=[];for(let u of l){let p=await u.key,g=await u.value;d.push({key:p,value:g,alwaysSet:u.alwaysSet})}return d}).then(d=>de.mergeObjectSync(n,d)):de.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(t){return _.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{var o,a,i,c;let l=(i=(a=(o=this._def).errorMap)===null||a===void 0?void 0:a.call(o,r,n).message)!==null&&i!==void 0?i:n.defaultError;return r.code==="unrecognized_keys"?{message:(c=_.errToObj(t).message)!==null&&c!==void 0?c:l}:{message:l}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:N.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let r={};return $.objectKeys(t).forEach(n=>{t[n]&&this.shape[n]&&(r[n]=this.shape[n])}),new e({...this._def,shape:()=>r})}omit(t){let r={};return $.objectKeys(this.shape).forEach(n=>{t[n]||(r[n]=this.shape[n])}),new e({...this._def,shape:()=>r})}deepPartial(){return Wt(this)}partial(t){let r={};return $.objectKeys(this.shape).forEach(n=>{let o=this.shape[n];t&&!t[n]?r[n]=o:r[n]=o.optional()}),new e({...this._def,shape:()=>r})}required(t){let r={};return $.objectKeys(this.shape).forEach(n=>{if(t&&!t[n])r[n]=this.shape[n];else{let a=this.shape[n];for(;a instanceof ze;)a=a._def.innerType;r[n]=a}}),new e({...this._def,shape:()=>r})}keyof(){return fm($.objectKeys(this.shape))}};_e.create=(e,t)=>new _e({shape:()=>e,unknownKeys:"strip",catchall:Be.create(),typeName:N.ZodObject,...O(t)});_e.strictCreate=(e,t)=>new _e({shape:()=>e,unknownKeys:"strict",catchall:Be.create(),typeName:N.ZodObject,...O(t)});_e.lazycreate=(e,t)=>new _e({shape:e,unknownKeys:"strip",catchall:Be.create(),typeName:N.ZodObject,...O(t)});Kt=class extends L{_parse(t){let{ctx:r}=this._processInputParams(t),n=this._def.options;function o(a){for(let c of a)if(c.result.status==="valid")return c.result;for(let c of a)if(c.result.status==="dirty")return r.common.issues.push(...c.ctx.common.issues),c.result;let i=a.map(c=>new Ee(c.ctx.common.issues));return v(r,{code:h.invalid_union,unionErrors:i}),E}if(r.common.async)return Promise.all(n.map(async a=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await a._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let a,i=[];for(let l of n){let d={...r,common:{...r.common,issues:[]},parent:null},u=l._parseSync({data:r.data,path:r.path,parent:d});if(u.status==="valid")return u;u.status==="dirty"&&!a&&(a={result:u,ctx:d}),d.common.issues.length&&i.push(d.common.issues)}if(a)return r.common.issues.push(...a.ctx.common.issues),a.result;let c=i.map(l=>new Ee(l));return v(r,{code:h.invalid_union,unionErrors:c}),E}}get options(){return this._def.options}};Kt.create=(e,t)=>new Kt({options:e,typeName:N.ZodUnion,...O(t)});et=e=>e instanceof er?et(e.schema):e instanceof Me?et(e.innerType()):e instanceof tr?[e.value]:e instanceof rr?e.options:e instanceof nr?$.objectValues(e.enum):e instanceof or?et(e._def.innerType):e instanceof Zt?[void 0]:e instanceof Yt?[null]:e instanceof ze?[void 0,...et(e.unwrap())]:e instanceof rt?[null,...et(e.unwrap())]:e instanceof Mo||e instanceof ir?et(e.unwrap()):e instanceof ar?et(e._def.innerType):[],Ki=class e extends L{_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==S.object)return v(r,{code:h.invalid_type,expected:S.object,received:r.parsedType}),E;let n=this.discriminator,o=r.data[n],a=this.optionsMap.get(o);return a?r.common.async?a._parseAsync({data:r.data,path:r.path,parent:r}):a._parseSync({data:r.data,path:r.path,parent:r}):(v(r,{code:h.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),E)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,n){let o=new Map;for(let a of r){let i=et(a.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let c of i){if(o.has(c))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(c)}`);o.set(c,a)}}return new e({typeName:N.ZodDiscriminatedUnion,discriminator:t,options:r,optionsMap:o,...O(n)})}};Qt=class extends L{_parse(t){let{status:r,ctx:n}=this._processInputParams(t),o=(a,i)=>{if(cm(a)||cm(i))return E;let c=Qi(a.value,i.value);return c.valid?((lm(a)||lm(i))&&r.dirty(),{status:r.value,value:c.data}):(v(n,{code:h.invalid_intersection_types}),E)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([a,i])=>o(a,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Qt.create=(e,t,r)=>new Qt({left:e,right:t,typeName:N.ZodIntersection,...O(r)});tt=class e extends L{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==S.array)return v(n,{code:h.invalid_type,expected:S.array,received:n.parsedType}),E;if(n.data.length<this._def.items.length)return v(n,{code:h.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),E;!this._def.rest&&n.data.length>this._def.items.length&&(v(n,{code:h.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let a=[...n.data].map((i,c)=>{let l=this._def.items[c]||this._def.rest;return l?l._parse(new Re(n,i,n.path,c)):null}).filter(i=>!!i);return n.common.async?Promise.all(a).then(i=>de.mergeArray(r,i)):de.mergeArray(r,a)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};tt.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new tt({items:e,typeName:N.ZodTuple,rest:null,...O(t)})};es=class e extends L{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==S.object)return v(n,{code:h.invalid_type,expected:S.object,received:n.parsedType}),E;let o=[],a=this._def.keyType,i=this._def.valueType;for(let c in n.data)o.push({key:a._parse(new Re(n,c,n.path,c)),value:i._parse(new Re(n,n.data[c],n.path,c)),alwaysSet:c in n.data});return n.common.async?de.mergeObjectAsync(r,o):de.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(t,r,n){return r instanceof L?new e({keyType:t,valueType:r,typeName:N.ZodRecord,...O(n)}):new e({keyType:Xt.create(),valueType:t,typeName:N.ZodRecord,...O(r)})}},rn=class extends L{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==S.map)return v(n,{code:h.invalid_type,expected:S.map,received:n.parsedType}),E;let o=this._def.keyType,a=this._def.valueType,i=[...n.data.entries()].map(([c,l],d)=>({key:o._parse(new Re(n,c,n.path,[d,"key"])),value:a._parse(new Re(n,l,n.path,[d,"value"]))}));if(n.common.async){let c=new Map;return Promise.resolve().then(async()=>{for(let l of i){let d=await l.key,u=await l.value;if(d.status==="aborted"||u.status==="aborted")return E;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),c.set(d.value,u.value)}return{status:r.value,value:c}})}else{let c=new Map;for(let l of i){let d=l.key,u=l.value;if(d.status==="aborted"||u.status==="aborted")return E;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),c.set(d.value,u.value)}return{status:r.value,value:c}}}};rn.create=(e,t,r)=>new rn({valueType:t,keyType:e,typeName:N.ZodMap,...O(r)});nn=class e extends L{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==S.set)return v(n,{code:h.invalid_type,expected:S.set,received:n.parsedType}),E;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(v(n,{code:h.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(v(n,{code:h.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let a=this._def.valueType;function i(l){let d=new Set;for(let u of l){if(u.status==="aborted")return E;u.status==="dirty"&&r.dirty(),d.add(u.value)}return{status:r.value,value:d}}let c=[...n.data.values()].map((l,d)=>a._parse(new Re(n,l,n.path,d)));return n.common.async?Promise.all(c).then(l=>i(l)):i(c)}min(t,r){return new e({...this._def,minSize:{value:t,message:_.toString(r)}})}max(t,r){return new e({...this._def,maxSize:{value:t,message:_.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}};nn.create=(e,t)=>new nn({valueType:e,minSize:null,maxSize:null,typeName:N.ZodSet,...O(t)});ts=class e extends L{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==S.function)return v(r,{code:h.invalid_type,expected:S.function,received:r.parsedType}),E;function n(c,l){return Yi({data:c,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Zi(),Jr].filter(d=>!!d),issueData:{code:h.invalid_arguments,argumentsError:l}})}function o(c,l){return Yi({data:c,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Zi(),Jr].filter(d=>!!d),issueData:{code:h.invalid_return_type,returnTypeError:l}})}let a={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof Pt){let c=this;return ve(async function(...l){let d=new Ee([]),u=await c._def.args.parseAsync(l,a).catch(f=>{throw d.addIssue(n(l,f)),d}),p=await Reflect.apply(i,this,u);return await c._def.returns._def.type.parseAsync(p,a).catch(f=>{throw d.addIssue(o(p,f)),d})})}else{let c=this;return ve(function(...l){let d=c._def.args.safeParse(l,a);if(!d.success)throw new Ee([n(l,d.error)]);let u=Reflect.apply(i,this,d.data),p=c._def.returns.safeParse(u,a);if(!p.success)throw new Ee([o(u,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:tt.create(t).rest(ct.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,r,n){return new e({args:t||tt.create([]).rest(ct.create()),returns:r||ct.create(),typeName:N.ZodFunction,...O(n)})}},er=class extends L{get schema(){return this._def.getter()}_parse(t){let{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};er.create=(e,t)=>new er({getter:e,typeName:N.ZodLazy,...O(t)});tr=class extends L{_parse(t){if(t.data!==this._def.value){let r=this._getOrReturnCtx(t);return v(r,{received:r.data,code:h.invalid_literal,expected:this._def.value}),E}return{status:"valid",value:t.data}}get value(){return this._def.value}};tr.create=(e,t)=>new tr({value:e,typeName:N.ZodLiteral,...O(t)});rr=class e extends L{constructor(){super(...arguments),Gr.set(this,void 0)}_parse(t){if(typeof t.data!="string"){let r=this._getOrReturnCtx(t),n=this._def.values;return v(r,{expected:$.joinValues(n),received:r.parsedType,code:h.invalid_type}),E}if(zo(this,Gr,"f")||dm(this,Gr,new Set(this._def.values),"f"),!zo(this,Gr,"f").has(t.data)){let r=this._getOrReturnCtx(t),n=this._def.values;return v(r,{received:r.data,code:h.invalid_enum_value,options:n}),E}return ve(t.data)}get options(){return this._def.values}get enum(){let t={};for(let r of this._def.values)t[r]=r;return t}get Values(){let t={};for(let r of this._def.values)t[r]=r;return t}get Enum(){let t={};for(let r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return e.create(t,{...this._def,...r})}exclude(t,r=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}};Gr=new WeakMap;rr.create=fm;nr=class extends L{constructor(){super(...arguments),Wr.set(this,void 0)}_parse(t){let r=$.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==S.string&&n.parsedType!==S.number){let o=$.objectValues(r);return v(n,{expected:$.joinValues(o),received:n.parsedType,code:h.invalid_type}),E}if(zo(this,Wr,"f")||dm(this,Wr,new Set($.getValidEnumValues(this._def.values)),"f"),!zo(this,Wr,"f").has(t.data)){let o=$.objectValues(r);return v(n,{received:n.data,code:h.invalid_enum_value,options:o}),E}return ve(t.data)}get enum(){return this._def.values}};Wr=new WeakMap;nr.create=(e,t)=>new nr({values:e,typeName:N.ZodNativeEnum,...O(t)});Pt=class extends L{unwrap(){return this._def.type}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==S.promise&&r.common.async===!1)return v(r,{code:h.invalid_type,expected:S.promise,received:r.parsedType}),E;let n=r.parsedType===S.promise?r.data:Promise.resolve(r.data);return ve(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Pt.create=(e,t)=>new Pt({type:e,typeName:N.ZodPromise,...O(t)});Me=class extends L{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===N.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:r,ctx:n}=this._processInputParams(t),o=this._def.effect||null,a={addIssue:i=>{v(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(a.addIssue=a.addIssue.bind(a),o.type==="preprocess"){let i=o.transform(n.data,a);if(n.common.async)return Promise.resolve(i).then(async c=>{if(r.value==="aborted")return E;let l=await this._def.schema._parseAsync({data:c,path:n.path,parent:n});return l.status==="aborted"?E:l.status==="dirty"||r.value==="dirty"?Hr(l.value):l});{if(r.value==="aborted")return E;let c=this._def.schema._parseSync({data:i,path:n.path,parent:n});return c.status==="aborted"?E:c.status==="dirty"||r.value==="dirty"?Hr(c.value):c}}if(o.type==="refinement"){let i=c=>{let l=o.refinement(c,a);if(n.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return c};if(n.common.async===!1){let c=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return c.status==="aborted"?E:(c.status==="dirty"&&r.dirty(),i(c.value),{status:r.value,value:c.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(c=>c.status==="aborted"?E:(c.status==="dirty"&&r.dirty(),i(c.value).then(()=>({status:r.value,value:c.value}))))}if(o.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Jt(i))return i;let c=o.transform(i.value,a);if(c instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:c}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>Jt(i)?Promise.resolve(o.transform(i.value,a)).then(c=>({status:r.value,value:c})):i);$.assertNever(o)}};Me.create=(e,t,r)=>new Me({schema:e,typeName:N.ZodEffects,effect:t,...O(r)});Me.createWithPreprocess=(e,t,r)=>new Me({schema:t,effect:{type:"preprocess",transform:e},typeName:N.ZodEffects,...O(r)});ze=class extends L{_parse(t){return this._getType(t)===S.undefined?ve(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};ze.create=(e,t)=>new ze({innerType:e,typeName:N.ZodOptional,...O(t)});rt=class extends L{_parse(t){return this._getType(t)===S.null?ve(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};rt.create=(e,t)=>new rt({innerType:e,typeName:N.ZodNullable,...O(t)});or=class extends L{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return r.parsedType===S.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};or.create=(e,t)=>new or({innerType:e,typeName:N.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...O(t)});ar=class extends L{_parse(t){let{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Do(o)?o.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new Ee(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ee(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};ar.create=(e,t)=>new ar({innerType:e,typeName:N.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...O(t)});on=class extends L{_parse(t){if(this._getType(t)!==S.nan){let n=this._getOrReturnCtx(t);return v(n,{code:h.invalid_type,expected:S.nan,received:n.parsedType}),E}return{status:"valid",value:t.data}}};on.create=e=>new on({typeName:N.ZodNaN,...O(e)});mA=Symbol("zod_brand"),Mo=class extends L{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},$o=class e extends L{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{let a=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?E:a.status==="dirty"?(r.dirty(),Hr(a.value)):this._def.out._parseAsync({data:a.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?E:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(t,r){return new e({in:t,out:r,typeName:N.ZodPipeline})}},ir=class extends L{_parse(t){let r=this._def.innerType._parse(t),n=o=>(Jt(o)&&(o.value=Object.freeze(o.value)),o);return Do(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};ir.create=(e,t)=>new ir({innerType:e,typeName:N.ZodReadonly,...O(t)});fA={object:_e.lazycreate};(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(N||(N={}));wt=Xt.create,Jw=Xr.create,hA=on.create,gA=Zr.create,Xw=Yr.create,yA=Kr.create,bA=Qr.create,Zw=Zt.create,vA=Yt.create,xA=en.create,Yw=ct.create,PA=Be.create,wA=tn.create,jo=lt.create,an=_e.create,SA=_e.strictCreate,hm=Kt.create,kA=Ki.create,_A=Qt.create,CA=tt.create,Kw=es.create,TA=rn.create,AA=nn.create,NA=ts.create,EA=er.create,Qw=tr.create,RA=rr.create,IA=nr.create,OA=Pt.create,FA=Me.create,LA=ze.create,DA=rt.create,zA=Me.createWithPreprocess,MA=$o.create});function ym(e){return e.replace(/[^\\](\\ud800|\ud800|\0)/gi,"")}var $A,rs=b(()=>{"use strict";gm();$A=hm([an({modifiers:jo(wt()),key:wt()}),an({macOS:an({modifiers:jo(wt()),key:wt()}),windows:an({modifiers:jo(wt()),key:wt()})})])});function nS(e){!St||St.length<e?(St=Buffer.allocUnsafe(e*rS),ns.webcrypto.getRandomValues(St),sr=0):sr+e>St.length&&(ns.webcrypto.getRandomValues(St),sr=0),sr+=e}function te(e=21){nS(e-=0);let t="";for(let r=sr-e;r<sr;r++)t+=tS[St[r]&63];return t}var ns,tS,rS,St,sr,nt=b(()=>{"use strict";ns=require("node:crypto"),tS="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",rS=128});function ut(e){let{level:t="debug",category:r="none",message:n="",data:o={}}=e,a=new Date(os.performance.timeOrigin+os.performance.now()).toISOString();for(Vo.push({level:t,category:r,message:n,timestamp:a,data:o});Vo.length>oS;)Vo.shift()}function Ie(){return Vo}var os,oS,Vo,ot=b(()=>{"use strict";os=require("node:perf_hooks"),oS=100,Vo=[]});function qo(e,t){bm.set(e,t)}function y(e,t,r,n){return r&&ut({category:"Request",...r}),new Promise((o,a)=>{if(n?.aborted){let i=new Error("Request has been aborted.");i.name="AbortError",a(i);return}n?.addEventListener("abort",()=>{let i=new Error("Request has been aborted.");i.name="AbortError",a(i)}),vm(e,t,i=>{if(!n?.aborted){if(i.success===!1){i.error instanceof Error&&i.error.message.startsWith("type mismatch at params.")&&(i.error.message=`The native API "${e}" was called with an argument of the wrong type. +${i.error.message.replace("type mismatch at params.","").replaceAll("dictionary","Object")}`),a(i.error);return}o(i.value)}},n)})}function lr(e,t){vm(e,t)}function aS(e){return e instanceof Promise?"[Promise]":typeof e=="function"?"[Function]":e}function vm(e,t,r,n){setImmediate(()=>{if(r){let o=te();as.set(o,r),cr.parentPort?.postMessage({kind:"request",id:o,method:e,params:t})}else cr.parentPort?.postMessage({kind:"notify",method:e,params:t})})}var cr,bm,as,sn=b(()=>{"use strict";cr=require("worker_threads");rs();nt();ot();bm=new Map,as=new Map;cr.parentPort?.on("message",async e=>{let{kind:t,id:r}=e;if(!(!t||!r))switch(t){case"request":try{let{method:n,params:o}=e,i=await bm.get(n)?.(o);cr.parentPort?.postMessage({kind:"result",id:r,result:{success:!0,value:aS(i)}})}catch(n){cr.parentPort?.postMessage({kind:"result",id:r,result:{success:!1,error:n}})}break;case"result":{let{result:n}=e;as.get(r)?.(n),as.delete(r)}break;default:break}})});function is(){if(process.env.NODE_ENV==="test")return;console.log=e("debug"),console.debug=e("debug"),console.info=e("info"),console.warn=e("warn",!1),console.error=e("error");function e(t,r=!0){return function(n,...o){if(!Bo.workerData?.isDevelopment)return;let a=(0,xm.formatWithOptions)({showHidden:!1},n,...o);r||(a=a.replace(/(\r\n|\n|\r)\s*at\s+.*/gm,"").trim()),lr("logCommand",{sessionId:Bo.workerData?.id,level:t,message:a})}}}function ur(e){if(e.sessionId||(e.sessionId=Bo.workerData?.id),process.env.NODE_ENV==="test")throw e;let t=e.serialize();lr("commandException",t),setImmediate(()=>{process.exit(e.code)})}function kt(...e){iS&&wm(e)}function Ue(...e){sS&&wm(e)}function dr(e){Pm&&console.time(e||"benchmark")}function dt(e){if(!Pm)return;console.timeEnd(e||"benchmark");let t=process.memoryUsage().heapUsed/1024/1024;console.log(`${e||"benchmark"}: ${Math.round(t*100)/100}Mb`)}function wm(...e){let t=e.map(r=>{if(r!==void 0)try{return JSON.stringify(r)}catch{return r}});console.log(...t)}var xm,Bo,ss,iS,sS,Pm,cs=b(()=>{"use strict";xm=require("util"),Bo=require("worker_threads");sn();ss=!1,iS=ss,sS=ss,Pm=ss});function ls(e,t){ur(new be(e,t,"Exception",{breadcrumbs:Ie()}))}var us=b(()=>{"use strict";xt();cs();ot()});var Sm,pr,ds=b(()=>{"use strict";Sm=require("react");xt();us();pr=class extends Sm.Component{static displayName="InternalErrorBoundary";state={hasError:!1};static getDerivedStateFromError(t){return{hasError:!0}}componentDidCatch(t,r){r.componentStack&&(t.stack=r.componentStack),ls(t,15)}render(){return this.state.hasError?null:this.props.children}}});function Ho(e){let[t,r]=(0,pt.useState)({routes:[{node:e.children}],lastNavigationInfo:{action:"new",id:""}}),n=(0,pt.useRef)(""),o=(0,pt.useCallback)(a=>{r(i=>{let c=[...i.routes];if(c.length>1){let l=c.pop();l&&l.onPop&&n.current!==a&&(n.current=a,l.onPop())}return{...i,routes:c,lastNavigationInfo:{action:"localPop",id:a}}})},[r,n]);return(0,mr.jsx)("ray-navigation-stack",{navigationInfo:t.lastNavigationInfo,onPop:o,children:(0,mr.jsx)(cn.Provider,{value:r,children:t.routes.map(a=>a.node)})})}function fr(e){return(0,mr.jsx)(mr.Fragment,{children:e.children})}var pt,mr,cn,ps=b(()=>{"use strict";pt=require("react"),mr=require("react/jsx-runtime"),cn=(0,pt.createContext)(()=>{});cn.displayName="InternalUpdateNavigationContext";Ho.displayName="InternalNavigationRoot";fr.displayName="InternalNavigationView"});function Go(e){let t=(0,hr.createElement)(hr.Suspense,{fallback:(0,He.jsx)(km,{}),__source:{fileName:"node_modules/@raycast/api"}},(0,He.jsx)(Ho,{children:(0,He.jsx)(fr,{children:e.children},0)}));return process.env.NODE_ENV!=="production"&&process.env.NODE_ENV!=="test"?(0,He.jsx)(hr.StrictMode,{children:(0,He.jsx)("ray-root",{children:(0,He.jsx)(pr,{children:t})})}):(0,He.jsx)("ray-root",{children:(0,He.jsx)(pr,{children:t})})}var hr,He,km,ms=b(()=>{"use strict";hr=require("react");ps();ds();He=require("react/jsx-runtime");Go.displayName="InternalRootComponent";km=()=>(0,He.jsx)("ray-top-level-suspense",{});km.displayName="InternalSuspenseRoot"});function gr(e){return(0,fs.jsx)(Jo.Provider,{value:e.selectedItem,children:(0,fs.jsx)(hs.Provider,{value:e.isLoading||!1,children:e.children})})}function ln(e){let[t,r]=(0,xe.useState)(void 0),n=(0,xe.useCallback)(cS(a=>{r(a)},64),[r]),o=(0,xe.useCallback)(a=>{e?.(a),n(a)},[n,e]);return(0,xe.useEffect)(()=>()=>{n.cancel()},[n]),Wo=void 0,[t,o]}function un(e){let t=(0,xe.useContext)(Jo);return Wo||(Wo=e),t===e||t===void 0&&Wo===e}function gs(){let e=(0,xe.useContext)(Jo),t=(0,xe.useContext)(hs);return!!e||!t}function cS(e,t){let r,n=t,o,a,i,c=0;function l(U){let K=r;return r=void 0,c=U,o=e(...K),o}function d(U,K){return setTimeout(U,K)}function u(U){clearTimeout(U)}function p(U){return c=U,a=d(C,t),l(U)}function g(U){let K=U-(i??0),Qe=U-c,ja=t-K;return Math.min(ja,n-Qe)}function f(U){let K=U-(i??0),Qe=U-c;return i===void 0||K>=t||K<0||Qe>=n}function C(){let U=Date.now();if(f(U))return x(U);a=d(C,g(U))}function x(U){return a=void 0,r?l(U):(r=void 0,o)}function ke(){a!==void 0&&u(a),c=0,r=i=a=void 0}function Ke(...U){let K=Date.now(),Qe=f(K);return r=U,i=K,Qe?a===void 0?p(i):(a=d(C,t),l(i)):(a===void 0&&(a=d(C,t)),o)}return Ke.cancel=ke,Ke}var xe,fs,Jo,hs,Wo,_m=b(()=>{"use strict";xe=require("react"),fs=require("react/jsx-runtime"),Jo=(0,xe.createContext)(null);Jo.displayName="InternalSelectedItemContext";hs=(0,xe.createContext)(!1);hs.displayName="InternalIsLoadingContext";gr.displayName="InternalSelectionContextProvider"});var Cm,mt,Tm=b(()=>{"use strict";Cm=require("react"),mt=(0,Cm.createContext)(null);mt.displayName="InternalQuickLookContext"});var Am=b(()=>{"use strict";ds();ps();ms();_m();Tm()});var Rm,Im,Em=b(()=>{Rm="@raycast/api",Im={"@parcel/source-map":"2.1.1","fast-json-patch":"3.1.1","global-agent":"3.0.0","prop-types":"15.8.1",react:"19.0.0","react-devtools-core":"6.1.1","react-is":"19.0.0","react-reconciler":"0.31.0","stack-utils":"2.0.6","vscode-jsonrpc":"8.2.1",zod:"^3.24.2"}});function ys(e){global.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:1,value:10,isEnabled:!0},{type:1,value:11,isEnabled:!0},{type:2,value:"InternalErrorBoundary",isEnabled:!0,isValid:!0},{type:2,value:"InternalNavigationRoot",isEnabled:!0,isValid:!0},{type:2,value:"InternalNavigationView",isEnabled:!0,isValid:!0},{type:2,value:"InternalSelectionContextProvider",isEnabled:!0,isValid:!0},{type:2,value:"InternalSelectedItemContext.Provider",isEnabled:!0,isValid:!0},{type:2,value:"InternalFirstItemContext.Provider",isEnabled:!0,isValid:!0},{type:2,value:"InternalIsLoadingContext.Provider",isEnabled:!0,isValid:!0},{type:2,value:"InternalUpdateNavigationContext.Provider",isEnabled:!0,isValid:!0},{type:2,value:"InternalChildContext.Provider",isEnabled:!0,isValid:!0},{type:2,value:"InternalQuickLookContext.Provider",isEnabled:!0,isValid:!0},{type:2,value:"InternalRootComponent",isEnabled:!0,isValid:!0},{type:3,value:"node_modules/@raycast/api",isEnabled:!0,isValid:!0}];let{connectToDevTools:t,initialize:r}=require("react-devtools-raycast");r(),t(),e.injectIntoDevTools({bundleType:0,version:Im.react,rendererPackageName:Rm})}var Om=b(()=>{"use strict";Em()});var bs=b(()=>{"use strict";Om()});function z(e,t=te){let r=(0,Fm.useRef)(null);return!e&&!r.current&&(r.current=t()),e||r.current}var Fm,Lm=b(()=>{"use strict";Fm=require("react");nt()});var Xo=m(Pe=>{var lS=Pe&&Pe.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var a in o)o.hasOwnProperty(a)&&(n[a]=o[a])},e(t,r)};return function(t,r){e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(Pe,"__esModule",{value:!0});var uS=Object.prototype.hasOwnProperty;function Ps(e,t){return uS.call(e,t)}Pe.hasOwnProperty=Ps;function zm(e){if(Array.isArray(e)){for(var t=new Array(e.length),r=0;r<t.length;r++)t[r]=""+r;return t}if(Object.keys)return Object.keys(e);var n=[];for(var o in e)Ps(e,o)&&n.push(o);return n}Pe._objectKeys=zm;function dS(e){switch(typeof e){case"object":return JSON.parse(JSON.stringify(e));case"undefined":return null;default:return e}}Pe._deepClone=dS;function pS(e){for(var t=0,r=e.length,n;t<r;){if(n=e.charCodeAt(t),n>=48&&n<=57){t++;continue}return!1}return!0}Pe.isInteger=pS;function vs(e){return e.indexOf("/")===-1&&e.indexOf("~")===-1?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}Pe.escapePathComponent=vs;function mS(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}Pe.unescapePathComponent=mS;function ws(e,t){var r;for(var n in e)if(Ps(e,n)){if(e[n]===t)return vs(n)+"/";if(typeof e[n]=="object"&&(r=ws(e[n],t),r!=""))return vs(n)+"/"+r}return""}Pe._getPathRecursive=ws;function fS(e,t){if(e===t)return"/";var r=ws(e,t);if(r==="")throw new Error("Object not found in root");return"/"+r}Pe.getPath=fS;function xs(e){if(e===void 0)return!0;if(e){if(Array.isArray(e)){for(var t=0,r=e.length;t<r;t++)if(xs(e[t]))return!0}else if(typeof e=="object"){for(var n=zm(e),o=n.length,a=0;a<o;a++)if(xs(e[n[a]]))return!0}}return!1}Pe.hasUndefined=xs;function Dm(e,t){var r=[e];for(var n in t){var o=typeof t[n]=="object"?JSON.stringify(t[n],null,2):t[n];typeof o<"u"&&r.push(n+": "+o)}return r.join(` +`)}var hS=function(e){lS(t,e);function t(r,n,o,a,i){var c=this.constructor,l=e.call(this,Dm(r,{name:n,index:o,operation:a,tree:i}))||this;return l.name=n,l.index=o,l.operation=a,l.tree=i,Object.setPrototypeOf(l,c.prototype),l.message=Dm(r,{name:n,index:o,operation:a,tree:i}),l}return t}(Error);Pe.PatchError=hS});var Ss=m(j=>{Object.defineProperty(j,"__esModule",{value:!0});var Ce=Xo();j.JsonPatchError=Ce.PatchError;j.deepClone=Ce._deepClone;var yr={add:function(e,t,r){return e[t]=this.value,{newDocument:r}},remove:function(e,t,r){var n=e[t];return delete e[t],{newDocument:r,removed:n}},replace:function(e,t,r){var n=e[t];return e[t]=this.value,{newDocument:r,removed:n}},move:function(e,t,r){var n=Zo(r,this.path);n&&(n=Ce._deepClone(n));var o=_t(r,{op:"remove",path:this.from}).removed;return _t(r,{op:"add",path:this.path,value:o}),{newDocument:r,removed:n}},copy:function(e,t,r){var n=Zo(r,this.from);return _t(r,{op:"add",path:this.path,value:Ce._deepClone(n)}),{newDocument:r}},test:function(e,t,r){return{newDocument:r,test:dn(e[t],this.value)}},_get:function(e,t,r){return this.value=e[t],{newDocument:r}}},gS={add:function(e,t,r){return Ce.isInteger(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:r,index:t}},remove:function(e,t,r){var n=e.splice(t,1);return{newDocument:r,removed:n[0]}},replace:function(e,t,r){var n=e[t];return e[t]=this.value,{newDocument:r,removed:n}},move:yr.move,copy:yr.copy,test:yr.test,_get:yr._get};function Zo(e,t){if(t=="")return e;var r={op:"_get",path:t};return _t(e,r),r.value}j.getValueByPointer=Zo;function _t(e,t,r,n,o,a){if(r===void 0&&(r=!1),n===void 0&&(n=!0),o===void 0&&(o=!0),a===void 0&&(a=0),r&&(typeof r=="function"?r(t,0,e,t.path):Yo(t,0)),t.path===""){var i={newDocument:e};if(t.op==="add")return i.newDocument=t.value,i;if(t.op==="replace")return i.newDocument=t.value,i.removed=e,i;if(t.op==="move"||t.op==="copy")return i.newDocument=Zo(e,t.from),t.op==="move"&&(i.removed=e),i;if(t.op==="test"){if(i.test=dn(e,t.value),i.test===!1)throw new j.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return i.newDocument=e,i}else{if(t.op==="remove")return i.removed=e,i.newDocument=null,i;if(t.op==="_get")return t.value=e,i;if(r)throw new j.JsonPatchError("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",a,t,e);return i}}else{n||(e=Ce._deepClone(e));var c=t.path||"",l=c.split("/"),d=e,u=1,p=l.length,g=void 0,f=void 0,C=void 0;for(typeof r=="function"?C=r:C=Yo;;){if(f=l[u],f&&f.indexOf("~")!=-1&&(f=Ce.unescapePathComponent(f)),o&&(f=="__proto__"||f=="prototype"&&u>0&&l[u-1]=="constructor"))throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(r&&g===void 0&&(d[f]===void 0?g=l.slice(0,u).join("/"):u==p-1&&(g=t.path),g!==void 0&&C(t,0,e,g)),u++,Array.isArray(d)){if(f==="-")f=d.length;else{if(r&&!Ce.isInteger(f))throw new j.JsonPatchError("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",a,t,e);Ce.isInteger(f)&&(f=~~f)}if(u>=p){if(r&&t.op==="add"&&f>d.length)throw new j.JsonPatchError("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",a,t,e);var i=gS[t.op].call(t,d,f,e);if(i.test===!1)throw new j.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return i}}else if(u>=p){var i=yr[t.op].call(t,d,f,e);if(i.test===!1)throw new j.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return i}if(d=d[f],r&&u<p&&(!d||typeof d!="object"))throw new j.JsonPatchError("Cannot perform operation at the desired path","OPERATION_PATH_UNRESOLVABLE",a,t,e)}}}j.applyOperation=_t;function Mm(e,t,r,n,o){if(n===void 0&&(n=!0),o===void 0&&(o=!0),r&&!Array.isArray(t))throw new j.JsonPatchError("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");n||(e=Ce._deepClone(e));for(var a=new Array(t.length),i=0,c=t.length;i<c;i++)a[i]=_t(e,t[i],r,!0,o,i),e=a[i].newDocument;return a.newDocument=e,a}j.applyPatch=Mm;function yS(e,t,r){var n=_t(e,t);if(n.test===!1)throw new j.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",r,t,e);return n.newDocument}j.applyReducer=yS;function Yo(e,t,r,n){if(typeof e!="object"||e===null||Array.isArray(e))throw new j.JsonPatchError("Operation is not an object","OPERATION_NOT_AN_OBJECT",t,e,r);if(yr[e.op]){if(typeof e.path!="string")throw new j.JsonPatchError("Operation `path` property is not a string","OPERATION_PATH_INVALID",t,e,r);if(e.path.indexOf("/")!==0&&e.path.length>0)throw new j.JsonPatchError('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,r);if((e.op==="move"||e.op==="copy")&&typeof e.from!="string")throw new j.JsonPatchError("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,r);if((e.op==="add"||e.op==="replace"||e.op==="test")&&e.value===void 0)throw new j.JsonPatchError("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,r);if((e.op==="add"||e.op==="replace"||e.op==="test")&&Ce.hasUndefined(e.value))throw new j.JsonPatchError("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,r);if(r){if(e.op=="add"){var o=e.path.split("/").length,a=n.split("/").length;if(o!==a+1&&o!==a)throw new j.JsonPatchError("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,r)}else if(e.op==="replace"||e.op==="remove"||e.op==="_get"){if(e.path!==n)throw new j.JsonPatchError("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,r)}else if(e.op==="move"||e.op==="copy"){var i={op:"_get",path:e.from,value:void 0},c=$m([i],r);if(c&&c.name==="OPERATION_PATH_UNRESOLVABLE")throw new j.JsonPatchError("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,r)}}}else throw new j.JsonPatchError("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",t,e,r)}j.validator=Yo;function $m(e,t,r){try{if(!Array.isArray(e))throw new j.JsonPatchError("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)Mm(Ce._deepClone(t),Ce._deepClone(e),r||!0);else{r=r||Yo;for(var n=0;n<e.length;n++)r(e[n],n,t,void 0)}}catch(o){if(o instanceof j.JsonPatchError)return o;throw o}}j.validate=$m;function dn(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var r=Array.isArray(e),n=Array.isArray(t),o,a,i;if(r&&n){if(a=e.length,a!=t.length)return!1;for(o=a;o--!==0;)if(!dn(e[o],t[o]))return!1;return!0}if(r!=n)return!1;var c=Object.keys(e);if(a=c.length,a!==Object.keys(t).length)return!1;for(o=a;o--!==0;)if(!t.hasOwnProperty(c[o]))return!1;for(o=a;o--!==0;)if(i=c[o],!dn(e[i],t[i]))return!1;return!0}return e!==e&&t!==t}j._areEquals=dn});var jm=m(br=>{Object.defineProperty(br,"__esModule",{value:!0});var pe=Xo(),bS=Ss(),_s=new WeakMap,vS=function(){function e(t){this.observers=new Map,this.obj=t}return e}(),xS=function(){function e(t,r){this.callback=t,this.observer=r}return e}();function PS(e){return _s.get(e)}function wS(e,t){return e.observers.get(t)}function SS(e,t){e.observers.delete(t.callback)}function kS(e,t){t.unobserve()}br.unobserve=kS;function _S(e,t){var r=[],n,o=PS(e);if(!o)o=new vS(e),_s.set(e,o);else{var a=wS(o,t);n=a&&a.observer}if(n)return n;if(n={},o.value=pe._deepClone(e),t){n.callback=t,n.next=null;var i=function(){ks(n)},c=function(){clearTimeout(n.next),n.next=setTimeout(i)};typeof window<"u"&&(window.addEventListener("mouseup",c),window.addEventListener("keyup",c),window.addEventListener("mousedown",c),window.addEventListener("keydown",c),window.addEventListener("change",c))}return n.patches=r,n.object=e,n.unobserve=function(){ks(n),clearTimeout(n.next),SS(o,n),typeof window<"u"&&(window.removeEventListener("mouseup",c),window.removeEventListener("keyup",c),window.removeEventListener("mousedown",c),window.removeEventListener("keydown",c),window.removeEventListener("change",c))},o.observers.set(t,new xS(t,n)),n}br.observe=_S;function ks(e,t){t===void 0&&(t=!1);var r=_s.get(e.object);Cs(r.value,e.object,e.patches,"",t),e.patches.length&&bS.applyPatch(r.value,e.patches);var n=e.patches;return n.length>0&&(e.patches=[],e.callback&&e.callback(n)),n}br.generate=ks;function Cs(e,t,r,n,o){if(t!==e){typeof t.toJSON=="function"&&(t=t.toJSON());for(var a=pe._objectKeys(t),i=pe._objectKeys(e),c=!1,l=!1,d=i.length-1;d>=0;d--){var u=i[d],p=e[u];if(pe.hasOwnProperty(t,u)&&!(t[u]===void 0&&p!==void 0&&Array.isArray(t)===!1)){var g=t[u];typeof p=="object"&&p!=null&&typeof g=="object"&&g!=null&&Array.isArray(p)===Array.isArray(g)?Cs(p,g,r,n+"/"+pe.escapePathComponent(u),o):p!==g&&(c=!0,o&&r.push({op:"test",path:n+"/"+pe.escapePathComponent(u),value:pe._deepClone(p)}),r.push({op:"replace",path:n+"/"+pe.escapePathComponent(u),value:pe._deepClone(g)}))}else Array.isArray(e)===Array.isArray(t)?(o&&r.push({op:"test",path:n+"/"+pe.escapePathComponent(u),value:pe._deepClone(p)}),r.push({op:"remove",path:n+"/"+pe.escapePathComponent(u)}),l=!0):(o&&r.push({op:"test",path:n,value:e}),r.push({op:"replace",path:n,value:t}),c=!0)}if(!(!l&&a.length==i.length))for(var d=0;d<a.length;d++){var u=a[d];!pe.hasOwnProperty(e,u)&&t[u]!==void 0&&r.push({op:"add",path:n+"/"+pe.escapePathComponent(u),value:pe._deepClone(t[u])})}}}function CS(e,t,r){r===void 0&&(r=!1);var n=[];return Cs(e,t,n,"",r),n}br.compare=CS});var Vm=m(Ct=>{var TS=Ss();Object.assign(Ct,TS);var AS=jm();Object.assign(Ct,AS);var Ko=Xo();Ct.JsonPatchError=Ko.PatchError;Ct.deepClone=Ko._deepClone;Ct.escapePathComponent=Ko.escapePathComponent;Ct.unescapePathComponent=Ko.unescapePathComponent});function $e(e){if(typeof e!="string")return(0,Ts.realpath)(e);let t=(0,qm.homedir)();return(0,Ts.realpath)(t?e.replace(/^~(?=$|\/|\\)/,t):e)}var qm,Ts,As=b(()=>{"use strict";qm=require("node:os"),Ts=require("node:fs/promises")});async function pn(e,t){let r="";return e&&(typeof e=="string"&&(e.startsWith("http:")||e.startsWith("https:"))||e instanceof URL&&(e.protocol=="http:"||e.protocol=="https:")?r="__raycast_remote_url__":r=await $e(e)),(await y("getApplications",{path:r},{data:{function:"getApplications"}},t)).value}var Bm=b(()=>{"use strict";sn();As()});function Ns(e,t){let r=this[e];return r instanceof Date?`__raycast_serialized_date__${r.toString()}`:Buffer.isBuffer(r)?`__raycast_serialized_buffer__${r.toString("base64")}`:t}function Es(e,t){let r=this[e];return typeof r=="string"&&r.startsWith("__raycast_serialized_date__")?new Date(r.replace("__raycast_serialized_date__","")):typeof r=="string"&&r.startsWith("__raycast_serialized_buffer__")?Buffer.from(r.replace("__raycast_serialized_buffer__",""),"base64"):t}var Rs=b(()=>{"use strict"});function mn(){if(Qo)return Qo;try{return Is.workerData?.launchContext?(Qo=JSON.parse(Is.workerData?.launchContext,Es),Qo):void 0}catch(e){console.error("Invalid launch context",e);return}}var Is,Qo,Um=b(()=>{"use strict";Is=require("worker_threads");Rs()});function Fs(){let e=process.memoryUsage().heapUsed,t=e-Hm;for(ea.push(t);ea.length>NS;)ea.shift();ta=0;for(let r of ea)ta>=r||(ta=r);Hm=e}function fn(){if(!Os)return!1;let e=Gm.resourceLimits.maxOldGenerationSizeMb;return e?(Os=(process.memoryUsage().heapUsed+ta)/1048576<e,Os):!0}var Gm,NS,ea,Hm,ta,Os,Wm=b(()=>{"use strict";Gm=require("node:worker_threads"),NS=20,ea=[],Hm=process.memoryUsage().heapUsed,ta=0;Os=!0});function J(e,t){return process.env.NODE_ENV!=="production"&&!e&&console.warn(t),e}var Ls=b(()=>{"use strict"});function X(e){return e?process.env.NODE_ENV!=="production"&&(0,ra.isValidElement)(e)?(0,Jm.jsx)(me.Provider,{value:!0,children:e}):e:null}function Z(e,t){let r=process.env.NODE_ENV==="production"||!!e.internal;return J(r,t)}var ra,Jm,me,Xm=b(()=>{"use strict";ra=require("react");Ls();Jm=require("react/jsx-runtime"),me=(0,ra.createContext)(!1);me.displayName="InternalChildContext"});function ES(e,t,r,n,o){let a="",i=new Zm.EventEmitter;q.set(e,async l=>{if(o?.aborted){q.delete(e);return}if(l===null||typeof l!="object"||!("value"in l)||typeof l.value!="string")return;let{value:d}=l;a+=d,i.emit("data",d)}),o?.addEventListener("abort",()=>{q.delete(e)});let c=y(t,{...r,streamCallbackId:e},n,o).then(()=>(q.delete(e),a)).finally(()=>{q.delete(e)});return i.then=c.then.bind(c),i.catch=c.catch.bind(c),i.finally=c.finally.bind(c),i}var Zm,ft,Ym=b(()=>{"use strict";Zm=require("node:events");A();nt();(n=>{function e(o,a){let i=`ai_answer_${te()}`,c=a?.creativity,l;switch(c){case"none":{l=0;break}case"low":{l=.5;break}case"medium":{l=1;break}case"high":{l=1.5;break}case"maximum":{l=2;break}default:typeof c=="number"?(c<0&&(process.env.NODE_ENV!=="production"&&console.warn(`Creativity must be a number between 0 and 2, but ${c} received. Using 0.`),l=0),c>2&&(process.env.NODE_ENV!=="production"&&console.warn(`Creativity must be a number between 0 and 2, but ${c} received. Using 2.`),l=2)):l=void 0}return ES(i,"completePrompt",{prompt:o,temperature:l,model:a?.model},{data:{function:"ask"}},a?.signal)}n.ask=e;let t;(k=>(k.OpenAI_GPT4="openai-gpt-4",k["OpenAI_GPT4-turbo"]="openai-gpt-4-turbo",k["OpenAI_GPT4.1"]="openai-gpt-4.1",k["OpenAI_GPT4.1-nano"]="openai-gpt-4.1-nano",k["OpenAI_GPT4.1-mini"]="openai-gpt-4.1-mini",k.OpenAI_GPT4o="openai-gpt-4o",k["OpenAI_GPT4o-mini"]="openai-gpt-4o-mini",k["OpenAI_o1-preview"]="openai_o1-o1-preview",k["OpenAI_o1-mini"]="openai_o1-o1-mini",k["OpenAI_o3-mini"]="openai_o1-o3-mini",k["OpenAI_o4-mini"]="openai_o1-o4-mini",k.OpenAI_o1="openai_o1-o1",k.OpenAI_o3="openai_o1-o3",k.Anthropic_Claude_Haiku="anthropic-claude-haiku",k.Anthropic_Claude_Opus="anthropic-claude-opus",k.Anthropic_Claude_Sonnet="anthropic-claude-sonnet",k["Anthropic_Claude_Sonnet_3.7"]="anthropic-claude-3-7-sonnet-latest",k.Mistral_Nemo="mistral-nemo",k.Mistral_Large="mistral-large",k.Mistral_Small="mistral-small",k.Mistral_Codestral="mistral-codestral",k.Llama3_70B="llama3-70b",k["Llama3.3_70B"]="groq-llama-3.3-70b-versatile",k["Llama3.1_8B"]="llama3.1-8b",k["Llama3.1_405B"]="llama3.1-405b",k.Llama4_Scout="groq-meta-llama/llama-4-scout-17b-16e-instruct",k.Perplexity_Sonar="perplexity-sonar",k.Perplexity_Sonar_Pro="perplexity-sonar-pro",k.Perplexity_Sonar_Reasoning="perplexity-sonar-reasoning",k.Perplexity_Sonar_Reasoning_Pro="perplexity-sonar-reasoning-pro",k.DeepSeek_R1="together-deepseek-ai/DeepSeek-R1",k.DeepSeek_V3="together-deepseek-ai/DeepSeek-V3",k["DeepSeek_R1_Distill_Llama_3.3_70B"]="groq-deepseek-r1-distill-llama-70b",k["Google_Gemini_2.0_Flash"]="google-gemini-2.0-flash",k["Google_Gemini_2.0_Flash_Thinking"]="google-gemini-2.0-flash-thinking",k["Google_Gemini_2.5_Flash"]="google-gemini-2.5-flash",k["Google_Gemini_2.5_Pro"]="google-gemini-2.5-pro",k.xAI_Grok_2="xai-grok-2-latest",k.xAI_Grok_3="xai-grok-3",k.xAI_Grok_3_Mini="xai-grok-3-mini",k["OpenAI_GPT3.5-turbo-instruct"]="openai-gpt-4o-mini",k.Llama2_70B="llama2-70b",k.Perplexity_Sonar_Medium_Online="perplexity-sonar",k.Perplexity_Sonar_Small_Online="perplexity-sonar",k.Codellama_70B_instruct="codellama-70b-instruct",k.Perplexity_Llama3_Sonar_Large="perplexity-sonar",k.Perplexity_Llama3_Sonar_Small="perplexity-sonar",k["OpenAI_GPT3.5-turbo"]="openai-gpt-4o-mini",k["Llama3.1_70B"]="groq-llama-3.3-70b-versatile",k["Perplexity_Llama3.1_Sonar_Huge"]="perplexity-sonar-pro",k["Perplexity_Llama3.1_Sonar_Large"]="perplexity-sonar",k["Perplexity_Llama3.1_Sonar_Small"]="perplexity-sonar",k.Mistral_Large2="mistral-large",k["Groq_DeepSeek_R1_Distill_Llama_3.3_70B"]="groq-deepseek-r1-distill-llama-70b",k.Together_DeepSeek_R1="together-deepseek-ai/DeepSeek-R1",k.MixtraL_8x7B="mistral-nemo",k["Google_Gemini_1.5_Flash"]="google-gemini-1.5-flash",k["Google_Gemini_1.5_Pro"]="google-gemini-1.5-pro",k.Mixtral_8x7B="mistral-nemo",k["Qwen_2.5_32B"]="groq-qwen-2.5-32b"))(t=n.Model||={}),n.betterAIModels=["openai-gpt-4","openai-gpt-4-turbo","openai-gpt-4.1","openai-gpt-4o","openai_o1-o1-preview","openai_o1-o1-mini","openai_o1-o1","openai_o1-o3","anthropic-claude-opus","anthropic-claude-sonnet","anthropic-claude-3-7-sonnet-latest","perplexity-sonar-pro","llama3.1-405b","mistral-large","google-gemini-1.5-pro","together-deepseek-ai/DeepSeek-R1","xai-grok-2-latest","google-gemini-2.5-pro","gpt-4","perplexity-sonar-medium-online"]})(ft||={})});async function Tt(e){return await y("closeMainRaycastWindow",{clearRootSearch:e?.clearRootSearch??!1,popToRootType:e?.popToRootType??"default"},{category:"App",data:{function:"closeMainWindow"}})}async function RS(){return await y("openExtensionPreferences",{},{category:"App",data:{function:"openExtensionPreferences"}})}async function IS(){return await y("openCommandPreferences",{},{category:"App",data:{function:"openCommandPreferences"}})}async function OS(e){return await y("popToRoot",{clearSearchBar:e?.clearSearchBar??!0},{category:"App",data:{function:"popToRoot"}})}async function FS(e){return await y("clearSearchBar",{forceScrollToTop:e?.forceScrollToTop??!0},{category:"App",data:{function:"clearSearchBar"}})}async function zs(e){let t=await $e(e);return await y("showInFinder",{path:t},{category:"App",data:{function:"showInFinder"}})}async function Ms(e){let t=await Promise.all((Array.isArray(e)?e:[e]).map($e)),r=await y("trashItems",{paths:t},{category:"App",data:{function:"trash"}});if(r.notTrashed.length>0)throw new Error(`The following files could not be trashed: + +${r.notTrashed.join(` +`)}`)}async function LS(e){try{return pn(e)}catch(t){return console.error(t),[]}}async function DS(e){let t="";return typeof e=="string"&&(e.startsWith("http:")||e.startsWith("https:"))||e instanceof URL&&(e.protocol=="http:"||e.protocol=="https:")?t="__raycast_remote_url__":t=await $e(e),(await y("getDefaultApplication",{path:t},{category:"App",data:{function:"getDefaultApplication"}})).value}async function zS(){return(await y("getFrontmostApplication",{},{category:"App",data:{function:"getFrontmostApplication"}})).value}async function $s(e,t){let r;typeof t=="string"?r=t:t?.path?r=t.path:t?.localizedName?r=t.localizedName:r=t?.bundleId,await y("open",{path:e,app:r},{category:"App",data:{function:"open"}})}async function MS(e){await y("updateCommandMetadata",{subtitle:e.subtitle},{category:"App",data:{function:"updateCommandMetadata"}})}async function $S(e){let t=e.context?JSON.stringify(e.context,Ns):null;await y("launchCommand",{ownerOrAuthorName:"ownerOrAuthorName"in e?e.ownerOrAuthorName:void 0,extensionName:"extensionName"in e?e.extensionName:void 0,name:e.name,type:e.type,arguments:e.arguments,context:t,fallbackText:e.fallbackText},{category:"App",data:{function:"launchCommand"}})}var Ds,Km=b(()=>{"use strict";A();Ds=(n=>(n.Default="default",n.Immediate="immediate",n.Suspended="suspended",n))(Ds||{})});function jS(e){ut({category:"Function",message:"captureException",level:"debug"});let t=new be(e,18,"Unhandled Extension Rejection",{breadcrumbs:Ie(),sessionId:Qm.workerData?.id});lr("captureException",t.serialize())}var Qm,ef=b(()=>{"use strict";Qm=require("worker_threads");xt();A();ot()});var hn,tf=b(()=>{"use strict";A();(n=>{async function e(o,a){return(await y("browserExtensionExecuteJS",{script:o,...a},{category:"BrowserExtension",data:{function:"executeJavaScript"}})).value}n.executeJavaScript=e;async function t(o){return(await y("browserExtensionGetContent",o||{},{category:"BrowserExtension",data:{function:"getContent"}})).value}n.getContent=t;async function r(){return(await y("browserExtensionGetTabs",{},{category:"BrowserExtension",data:{function:"getTabs"}})).value.filter(a=>typeof a.tabId<"u"&&typeof a.url<"u").map(a=>({id:a.tabId,title:a.title,url:a.url,favicon:a.favicon,active:a.active??!1}))}n.getTabs=r})(hn||={})});async function rf(e){if(typeof e=="object")if("file"in e&&typeof e.file<"u"){if(Buffer.isBuffer(e.file))throw new Error("Buffer type for file not supported");let t=await $e(e.file);if(!t)throw new Error(`Invalid file at path: ${t}`);try{await(0,nf.access)(t)}catch{throw new Error(`Access denied for file at path: ${t}`)}return{contents:{file:t}}}else{if("html"in e&&typeof e.html<"u")return{contents:{html:e.html,text:e.text}};if("text"in e&&typeof e.text<"u")return{contents:{text:e.text}};throw new Error("Invalid clipboard content")}else return{contents:{text:e.toString()}}}var nf,Oe,of=b(()=>{"use strict";A();nf=require("fs/promises");(a=>{async function e(i,c){let{contents:l}=await rf(i);await y("setClipboard",{contents:l,concealed:c?.concealed||c?.transient||!1},{category:"Clipboard",data:{function:"copy"}})}a.copy=e;async function t(){await y("clearClipboard",{},{category:"Clipboard",data:{function:"clear"}})}a.clear=t;async function r(i){let c=await rf(i);await y("paste",c,{category:"Clipboard",data:{function:"paste"}})}a.paste=r;async function n(i){return await y("getClipboard",{offset:i?.offset||0},{category:"Clipboard",data:{function:"read"}})}a.read=n;async function o(i){return(await y("getClipboard",{offset:i?.offset||0},{category:"Clipboard",data:{function:"readText"}})).text}a.readText=o})(Oe||={})});var vr,af=b(()=>{"use strict";(t=>{let e;(o=>(o.Common={Copy:{modifiers:["cmd","shift"],key:"c"},CopyDeeplink:{modifiers:["cmd","shift"],key:"c"},CopyName:{modifiers:["cmd","shift"],key:"."},CopyPath:{modifiers:["cmd","shift"],key:","},Duplicate:{modifiers:["cmd"],key:"d"},Edit:{modifiers:["cmd"],key:"e"},MoveDown:{modifiers:["cmd","shift"],key:"arrowDown"},MoveUp:{modifiers:["cmd","shift"],key:"arrowUp"},New:{modifiers:["cmd"],key:"n"},Open:{modifiers:["cmd"],key:"o"},OpenWith:{modifiers:["cmd","shift"],key:"o"},Pin:{modifiers:["cmd","shift"],key:"p"},Refresh:{modifiers:["cmd"],key:"r"},Remove:{modifiers:["ctrl"],key:"x"},RemoveAll:{modifiers:["ctrl","shift"],key:"x"},ToggleQuickLook:{modifiers:["cmd"],key:"y"}},o.Reserved={CloseWindow:{modifiers:["cmd"],key:"w"},Delete:{modifiers:[],key:"delete"},DeleteForward:{modifiers:[],key:"deleteForward"},DeleteLineBackward:{modifiers:["cmd"],key:"delete"},DeleteWordBackward:{modifiers:["opt"],key:"delete"},GoBack:{modifiers:[],key:"escape"},OpenActionPanel:{modifiers:["cmd"],key:"k"},OpenPreferences:{modifiers:["cmd"],key:","},OpenSearchBarDropdown:{modifiers:["cmd"],key:"p"},OpenSearchBarLink:{modifiers:["shift","cmd"],key:"/"},PrimaryAction:{modifiers:[],key:"enter"},Quit:{modifiers:["cmd"],key:"q"},ReturnToRoot:{modifiers:["cmd"],key:"escape"},SecondaryAction:{modifiers:["cmd"],key:"enter"},SelectAll:{modifiers:["cmd"],key:"a"}}))(e=t.Shortcut||={})})(vr||={})});var ht,sf=b(()=>{"use strict";A();(a=>{async function e(){return(await y("allLocalStorageItems",{},{category:"Local Storage",data:{function:"allItems"}})).values}a.allItems=e;async function t(i){let l=(await y("getLocalStorageItem",{key:i},{category:"Local Storage",data:{function:"getItem"}})).value;if(l!==null)return l}a.getItem=t;async function r(i,c){await y("setLocalStorageItem",{key:i,value:c},{category:"Local Storage",data:{function:"setItem"}})}a.setItem=r;async function n(i){await y("removeLocalStorageItem",{key:i},{category:"Local Storage",data:{function:"removeItem"}})}a.removeItem=n;async function o(){await y("clearLocalStorage",{},{category:"Local Storage",data:{function:"clear"}})}a.clear=o})(ht||={})});var cf,lf=b(()=>{"use strict";A();(n=>{class e{constructor(a,i,c,l){this.id=a;this.title=i;this.updatedAt=c;this.createdAt=l}async getContent(a){return(await y("readRaycastNote",{noteId:this.id,format:a??"markdown"},{category:"Notes",data:{function:"getContent"}})).content}async updateContent(a,i){let{title:c,updatedAt:l}=await y("updateRaycastNote",{noteId:this.id,content:a,format:i?.format??"markdown"},{category:"Notes",data:{function:"updateContent"}});this.title=c,this.updatedAt=new Date(l)}async delete(){await y("deleteRaycastNote",{noteId:this.id},{category:"Notes",data:{function:"delete"}})}async open(){await y("openRaycastNote",{noteId:this.id},{category:"Notes",data:{function:"open"}})}}n.Note=e;async function t(o,a){let i=await y("searchRaycastNotes",{query:o,page:a?.page||0},{category:"Notes",data:{function:"search"}});return{...i,data:i.data.map(c=>new e(c.id,c.title,new Date(c.updatedAt),new Date(c.createdAt)))}}n.search=t;async function r(o,a){let i=await y("createRaycastNote",{content:o,format:a?.format??"markdown"},{category:"Notes",data:{function:"create"}});return new e(i.id,i.title,new Date(i.updatedAt),new Date(i.createdAt))}n.create=r})(cf||={})});var uf=b(()=>{"use strict"});var Fe=b(()=>{"use strict";Ym();Km();ef();tf();of();af();sf();lf();uf()});function js(e){for(let t of Object.values(vr.Shortcut.Reserved))if(gn(t,e))return!0;return!1}function gn(e,t){return"macOS"in e?gn(e.macOS,t)||gn(e.windows,t):"macOS"in t?gn(e,t.macOS)||gn(e,t.windows):e.key.toLocaleLowerCase()===t.key.toLocaleLowerCase()&&JSON.stringify(e.modifiers.sort().map(r=>r.toLocaleLowerCase()))===JSON.stringify(t.modifiers.sort().map(r=>r.toLocaleLowerCase()))}var df=b(()=>{"use strict";Fe()});function V(e,t,r){if(!e.id)throw new Error(`Can only register callbacks on nodes that have an id. ${t}`);let n=`${e.id}_${t}`;return yn.set(n,r),e[t]=n,n}function Vs(e){return new Promise((t,r)=>{try{let n=e.callbackId,o=e.data,a=o!==void 0?JSON.parse(o):null,i=yn.get(n)||q.get(n);if(na.emit("callback",a),!i){t({data:void 0});return}i(a).then(c=>{let l=JSON.stringify(c);t({data:l})}).catch(c=>{r(new be(c,9,"Completion Error",{breadcrumbs:Ie()}).serialize())})}catch(n){r(new be(n,9,"Callback Error",{breadcrumbs:Ie()}).serialize())}})}var pf,na,yn,q,qs=b(()=>{"use strict";pf=require("node:events");xt();ot();na=new pf.EventEmitter,yn=new Map,q=new Map});var xr,mf=b(()=>{"use strict";xr=(d=>(d.Blue="raycast-blue",d.Green="raycast-green",d.Magenta="raycast-magenta",d.Orange="raycast-orange",d.Purple="raycast-purple",d.Red="raycast-red",d.Yellow="raycast-yellow",d.PrimaryText="raycast-primary-text",d.SecondaryText="raycast-secondary-text",d))(xr||{});(t=>t.Brown={light:"#714426",dark:"#9F6138"})(xr||={})});var we,ff=b(()=>{"use strict";we=(s=>(s.AddPerson="add-person-16",s.Airplane="airplane-16",s.AirplaneFilled="airplane-filled-16",s.AirplaneLanding="airplane-landing-16",s.AirplaneTakeoff="airplane-takeoff-16",s.Airpods="airpods-16",s.Alarm="alarm-16",s.AlarmRinging="alarm-ringing-16",s.AlignCentre="align-centre-16",s.AlignLeft="align-left-16",s.AlignRight="align-right-16",s.AmericanFootball="american-football-16",s.Anchor="anchor-16",s.AppWindow="app-window-16",s.AppWindowGrid2x2="app-window-grid-2x2-16",s.AppWindowGrid3x3="app-window-grid-3x3-16",s.AppWindowList="app-window-list-16",s.AppWindowSidebarLeft="app-window-sidebar-left-16",s.AppWindowSidebarRight="app-window-sidebar-right-16",s.ArrowClockwise="arrow-clockwise-16",s.ArrowCounterClockwise="arrow-counter-clockwise-16",s.ArrowDown="arrow-down-16",s.ArrowDownCircle="arrow-down-circle-16",s.ArrowDownCircleFilled="arrow-down-circle-filled-16",s.ArrowLeft="arrow-left-16",s.ArrowLeftCircle="arrow-left-circle-16",s.ArrowLeftCircleFilled="arrow-left-circle-filled-16",s.ArrowNe="arrow-ne-16",s.ArrowRight="arrow-right-16",s.ArrowRightCircle="arrow-right-circle-16",s.ArrowRightCircleFilled="arrow-right-circle-filled-16",s.ArrowUp="arrow-up-16",s.ArrowUpCircle="arrow-up-circle-16",s.ArrowUpCircleFilled="arrow-up-circle-filled-16",s.ArrowsContract="arrows-contract-16",s.ArrowsExpand="arrows-expand-16",s.AtSymbol="at-symbol-16",s.BandAid="band-aid-16",s.BankNote="bank-note-16",s.BarChart="bar-chart-16",s.BarCode="bar-code-16",s.BathTub="bath-tub-16",s.Battery="battery-16",s.BatteryCharging="battery-charging-16",s.BatteryDisabled="battery-disabled-16",s.Bell="bell-16",s.BellDisabled="bell-disabled-16",s.Bike="bike-16",s.Binoculars="binoculars-16",s.Bird="bird-16",s.BlankDocument="blank-document-16",s.Bluetooth="bluetooth-16",s.Boat="boat-16",s.Bold="bold-16",s.Bolt="bolt-16",s.BoltDisabled="bolt-disabled-16",s.Book="book-16",s.Bookmark="bookmark-16",s.Box="box-16",s.Brush="brush-16",s.Bubble="speech-bubble-16",s.Bug="bug-16",s.Building="building-16",s.BulletPoints="bullet-points-16",s.BullsEye="bulls-eye-16",s.BullsEyeMissed="bulls-eye-missed-16",s.Buoy="buoy-16",s.Calculator="calculator-16",s.Calendar="calendar-16",s.Camera="camera-16",s.Car="car-16",s.Cart="cart-16",s.Cd="cd-16",s.Center="center-16",s.Check="check-16",s.CheckCircle="check-circle-16",s.CheckList="check-list-16",s.CheckRosette="check-rosette-16",s.Checkmark="checkmark-16",s.ChessPiece="chess-piece-16",s.ChevronDown="chevron-down-16",s.ChevronDownSmall="chevron-down-small-16",s.ChevronLeft="chevron-left-16",s.ChevronLeftSmall="chevron-left-small-16",s.ChevronRight="chevron-right-16",s.ChevronRightSmall="chevron-right-small-16",s.ChevronUp="chevron-up-16",s.ChevronUpDown="chevron-up-down-16",s.ChevronUpSmall="chevron-up-small-16",s.Circle="circle-16",s.CircleDisabled="circle-disabled-16",s.CircleEllipsis="circle-ellipsis-16",s.CircleFilled="circle-filled-16",s.CircleProgress="circle-progress-16",s.CircleProgress100="circle-progress-100-16",s.CircleProgress25="circle-progress-25-16",s.CircleProgress50="circle-progress-50-16",s.CircleProgress75="circle-progress-75-16",s.ClearFormatting="clear-formatting-16",s.Clipboard="copy-clipboard-16",s.Clock="clock-16",s.Cloud="cloud-16",s.CloudLightning="cloud-lightning-16",s.CloudRain="cloud-rain-16",s.CloudSnow="cloud-snow-16",s.CloudSun="cloud-sun-16",s.Code="code-16",s.CodeBlock="code-block-16",s.Cog="cog-16",s.Coin="coin-16",s.Coins="coins-16",s.CommandSymbol="command-symbol-16",s.Compass="compass-16",s.ComputerChip="computer-chip-16",s.Contrast="contrast-16",s.CopyClipboard="copy-clipboard-16",s.CreditCard="credit-card-16",s.CricketBall="cricket-ball-16",s.Crop="crop-16",s.Crown="crown-16",s.Crypto="crypto-16",s.DeleteDocument="delete-document-16",s.Desktop="desktop-16",s.Devices="devices-16",s.Dna="dna-16",s.Document="blank-document-16",s.Dot="dot-16",s.Download="download-16",s.Droplets="droplets-16",s.Duplicate="duplicate-16",s.EditShape="edit-shape-16",s.Eject="eject-16",s.Ellipsis="ellipsis-16",s.EllipsisVertical="ellipsis-vertical-16",s.Emoji="emoji-16",s.EmojiSad="emoji-sad-16",s.Envelope="envelope-16",s.Eraser="eraser-16",s.ExclamationMark="important-01-16",s.Exclamationmark="exclamationmark-16",s.Exclamationmark2="exclamationmark-2-16",s.Exclamationmark3="exclamationmark-3-16",s.Eye="eye-16",s.EyeDisabled="eye-disabled-16",s.EyeDropper="eye-dropper-16",s.Female="female-16",s.FilmStrip="film-strip-16",s.Filter="filter-16",s.Finder="finder-16",s.Fingerprint="fingerprint-16",s.Flag="flag-16",s.Folder="folder-16",s.Footprints="footprints-16",s.Forward="forward-16",s.ForwardFilled="forward-filled-16",s.FountainTip="fountain-tip-16",s.FullSignal="full-signal-16",s.GameController="game-controller-16",s.Gauge="gauge-16",s.Gear="cog-16",s.Geopin="geopin-16",s.Germ="germ-16",s.Gift="gift-16",s.Glasses="glasses-16",s.Globe="globe-01-16",s.Goal="goal-16",s.Hammer="hammer-16",s.HardDrive="hard-drive-16",s.Hashtag="hashtag-16",s.Heading="heading-16",s.Headphones="headphones-16",s.Heart="heart-16",s.HeartDisabled="heart-disabled-16",s.Heartbeat="heartbeat-16",s.Highlight="highlight-16",s.Hourglass="hourglass-16",s.House="house-16",s.Humidity="humidity-16",s.Image="image-16",s.Important="important-01-16",s.Info="info-01-16",s.Italics="italics-16",s.Key="key-16",s.Keyboard="keyboard-16",s.Layers="layers-16",s.Leaderboard="leaderboard-16",s.Leaf="leaf-16",s.LevelMeter="signal-2-16",s.LightBulb="light-bulb-16",s.LightBulbOff="light-bulb-off-16",s.LineChart="line-chart-16",s.Link="link-16",s.List="app-window-list-16",s.Livestream="livestream-01-16",s.LivestreamDisabled="livestream-disabled-01-16",s.Lock="lock-16",s.LockDisabled="lock-disabled-16",s.LockUnlocked="lock-unlocked-16",s.Logout="logout-16",s.Lorry="lorry-16",s.Lowercase="lowercase-16",s.MagnifyingGlass="magnifying-glass-16",s.Male="male-16",s.Map="map-16",s.Mask="mask-16",s.Maximize="maximize-16",s.MedicalSupport="medical-support-16",s.Megaphone="megaphone-16",s.MemoryChip="computer-chip-16",s.MemoryStick="memory-stick-16",s.Message="speech-bubble-16",s.Microphone="microphone-16",s.MicrophoneDisabled="microphone-disabled-16",s.Minimize="minimize-16",s.Minus="minus-16",s.MinusCircle="minus-circle-16",s.MinusCircleFilled="minus-circle-filled-16",s.Mobile="mobile-16",s.Monitor="monitor-16",s.Moon="moon-16",s.MoonDown="moon-down-16",s.MoonUp="moon-up-16",s.Moonrise="moonrise-16",s.Mountain="mountain-16",s.Mouse="mouse-16",s.Move="move-16",s.Mug="mug-16",s.MugSteam="mug-steam-16",s.Multiply="multiply-16",s.Music="music-16",s.Network="network-16",s.NewDocument="new-document-16",s.NewFolder="new-folder-16",s.Number00="number-00-16",s.Number01="number-01-16",s.Number02="number-02-16",s.Number03="number-03-16",s.Number04="number-04-16",s.Number05="number-05-16",s.Number06="number-06-16",s.Number07="number-07-16",s.Number08="number-08-16",s.Number09="number-09-16",s.Number10="number-10-16",s.Number11="number-11-16",s.Number12="number-12-16",s.Number13="number-13-16",s.Number14="number-14-16",s.Number15="number-15-16",s.Number16="number-16-16",s.Number17="number-17-16",s.Number18="number-18-16",s.Number19="number-19-16",s.Number20="number-20-16",s.Number21="number-21-16",s.Number22="number-22-16",s.Number23="number-23-16",s.Number24="number-24-16",s.Number25="number-25-16",s.Number26="number-26-16",s.Number27="number-27-16",s.Number28="number-28-16",s.Number29="number-29-16",s.Number30="number-30-16",s.Number31="number-31-16",s.Number32="number-32-16",s.Number33="number-33-16",s.Number34="number-34-16",s.Number35="number-35-16",s.Number36="number-36-16",s.Number37="number-37-16",s.Number38="number-38-16",s.Number39="number-39-16",s.Number40="number-40-16",s.Number41="number-41-16",s.Number42="number-42-16",s.Number43="number-43-16",s.Number44="number-44-16",s.Number45="number-45-16",s.Number46="number-46-16",s.Number47="number-47-16",s.Number48="number-48-16",s.Number49="number-49-16",s.Number50="number-50-16",s.Number51="number-51-16",s.Number52="number-52-16",s.Number53="number-53-16",s.Number54="number-54-16",s.Number55="number-55-16",s.Number56="number-56-16",s.Number57="number-57-16",s.Number58="number-58-16",s.Number59="number-59-16",s.Number60="number-60-16",s.Number61="number-61-16",s.Number62="number-62-16",s.Number63="number-63-16",s.Number64="number-64-16",s.Number65="number-65-16",s.Number66="number-66-16",s.Number67="number-67-16",s.Number68="number-68-16",s.Number69="number-69-16",s.Number70="number-70-16",s.Number71="number-71-16",s.Number72="number-72-16",s.Number73="number-73-16",s.Number74="number-74-16",s.Number75="number-75-16",s.Number76="number-76-16",s.Number77="number-77-16",s.Number78="number-78-16",s.Number79="number-79-16",s.Number80="number-80-16",s.Number81="number-81-16",s.Number82="number-82-16",s.Number83="number-83-16",s.Number84="number-84-16",s.Number85="number-85-16",s.Number86="number-86-16",s.Number87="number-87-16",s.Number88="number-88-16",s.Number89="number-89-16",s.Number90="number-90-16",s.Number91="number-91-16",s.Number92="number-92-16",s.Number93="number-93-16",s.Number94="number-94-16",s.Number95="number-95-16",s.Number96="number-96-16",s.Number97="number-97-16",s.Number98="number-98-16",s.Number99="number-99-16",s.NumberList="number-list-16",s.Paperclip="paperclip-16",s.Paragraph="paragraph-16",s.Patch="patch-16",s.Pause="pause-16",s.PauseFilled="pause-filled-16",s.Pencil="pencil-16",s.Person="person-16",s.PersonCircle="person-circle-16",s.PersonLines="person-lines-16",s.Phone="phone-16",s.PhoneRinging="phone-ringing-16",s.PieChart="pie-chart-16",s.Pill="pill-16",s.Pin="pin-16",s.PinDisabled="pin-disabled-16",s.Play="play-16",s.PlayFilled="play-filled-16",s.Plug="plug-16",s.Plus="plus-16",s.PlusCircle="plus-circle-16",s.PlusCircleFilled="plus-circle-filled-16",s.PlusMinusDivideMultiply="plus-minus-divide-multiply-16",s.PlusSquare="plus-square-16",s.PlusTopRightSquare="plus-top-right-square-16",s.Power="power-16",s.Print="print-16",s.QuestionMark="question-mark-circle-16",s.QuestionMarkCircle="question-mark-circle-16",s.QuotationMarks="quotation-marks-16",s.QuoteBlock="quote-block-16",s.Racket="racket-16",s.Raindrop="raindrop-16",s.RaycastLogoNeg="raycast-logo-neg-16",s.RaycastLogoPos="raycast-logo-pos-16",s.Receipt="receipt-16",s.Redo="redo-16",s.RemovePerson="remove-person-16",s.Repeat="repeat-16",s.Replace="replace-16",s.ReplaceOne="replace-one-16",s.Reply="reply-16",s.Rewind="rewind-16",s.RewindFilled="rewind-filled-16",s.Rocket="rocket-16",s.Rosette="rosette-16",s.RotateAntiClockwise="rotate-anti-clockwise-16",s.RotateClockwise="rotate-clockwise-16",s.Rss="rss-16",s.Ruler="ruler-16",s.SaveDocument="save-document-16",s.Shield="shield-01-16",s.ShortParagraph="short-paragraph-16",s.Shuffle="shuffle-16",s.Sidebar="app-window-sidebar-right-16",s.Signal0="signal-0-16",s.Signal1="signal-1-16",s.Signal2="signal-2-16",s.Signal3="signal-3-16",s.Snippets="snippets-16",s.Snowflake="snowflake-16",s.SoccerBall="soccer-ball-16",s.Speaker="speaker-16",s.SpeakerDown="speaker-down-16",s.SpeakerHigh="speaker-high-16",s.SpeakerLow="speaker-low-16",s.SpeakerOff="speaker-off-16",s.SpeakerOn="speaker-on-16",s.SpeakerUp="speaker-up-16",s.SpeechBubble="speech-bubble-16",s.SpeechBubbleActive="speech-bubble-active-16",s.SpeechBubbleImportant="speech-bubble-important-16",s.SquareEllipsis="square-ellipsis-16",s.StackedBars1="stacked-bars-1-16",s.StackedBars2="stacked-bars-2-16",s.StackedBars3="stacked-bars-3-16",s.StackedBars4="stacked-bars-4-16",s.Star="star-16",s.StarCircle="star-circle-16",s.StarDisabled="star-disabled-16",s.Stars="stars-16",s.Stop="stop-16",s.StopFilled="stop-filled-16",s.Stopwatch="stopwatch-16",s.Store="store-16",s.StrikeThrough="strike-through-16",s.Sun="sun-16",s.Sunrise="sunrise-16",s.Swatch="swatch-16",s.Switch="switch-16",s.Syringe="syringe-16",s.Tack="tack-16",s.TackDisabled="tack-disabled-16",s.Tag="tag-16",s.Temperature="temperature-16",s.TennisBall="tennis-ball-16",s.Terminal="terminal-16",s.Text="text-16",s.TextCursor="text-cursor-16",s.TextInput="text-input-16",s.TextSelection="text-selection-16",s.ThumbsDown="thumbs-down-16",s.ThumbsDownFilled="thumbs-down-filled-16",s.ThumbsUp="thumbs-up-16",s.ThumbsUpFilled="thumbs-up-filled-16",s.Ticket="ticket-16",s.Torch="torch-16",s.Train="train-16",s.Trash="trash-16",s.Tray="tray-16",s.Tree="tree-16",s.Trophy="trophy-16",s.TwoPeople="two-people-16",s.Umbrella="umbrella-16",s.Underline="underline-16",s.Undo="undo-16",s.Upload="upload-16",s.Uppercase="uppercase-16",s.Video="video-16",s.VideoDisabled="video-disabled-16",s.Wallet="wallet-16",s.Wand="wand-16",s.Warning="warning-16",s.Waveform="waveform-16",s.Weights="weights-16",s.Wifi="wifi-16",s.WifiDisabled="wifi-disabled-16",s.Wind="wind-16",s.Window="app-window-16",s.Windsock="windsock-16",s.WrenchScrewdriver="wrench-screwdriver-16",s.WristWatch="wrist-watch-16",s.XMarkCircle="x-mark-circle-16",s.XMarkCircleFilled="x-mark-circle-filled-16",s.XMarkCircleHalfDash="x-mark-circle-half-dash-16",s.XMarkTopRightSquare="x-mark-top-right-square-16",s.Xmark="xmark-16",s.TwoArrowsClockwise="arrow-clockwise-16",s.EyeSlash="eye-disabled-16",s.SpeakerArrowDown="speaker-down-16",s.SpeakerArrowUp="speaker-up-16",s.SpeakerSlash="speaker-off-16",s.TextDocument="blank-document-16",s.XmarkCircle="x-mark-circle-16",s))(we||{})});var oa,hf=b(()=>{"use strict";(t=>{let e;(o=>(o.Circle="circle",o.RoundedRectangle="roundedRectangle"))(e=t.Mask||={})})(oa||={})});async function Us(e){return new Promise((t,r)=>{new Bs({...e,primaryAction:{title:"Confirm",...e.primaryAction,onAction:()=>{e.primaryAction?.onAction?.(),t(!0)}},dismissAction:{title:"Cancel",...e.dismissAction,onAction:()=>{e.dismissAction?.onAction?.(),t(!1)}}}).show().catch(o=>r(o))})}var Bs,At,gf=b(()=>{"use strict";nt();A();Bs=class{options;id;callbacks;constructor(t){this.id=te();let{primaryAction:r,dismissAction:n,...o}=t;this.options={...o,primaryAction:r?{title:r.title,style:r.style}:void 0,dismissAction:n?{title:n.title,style:n.style}:void 0},this.callbacks={onPrimaryAction:r?.onAction,onDismissAction:n?.onAction}}async show(){let t=`alert_${this.id}_onPrimaryAction`,r=`alert_${this.id}_onDismissAction`;q.set(t,async()=>{q.delete(t),q.delete(r),this.callbacks.onPrimaryAction&&R.batchedUpdates(this.callbacks.onPrimaryAction,void 0)}),q.set(r,async()=>{q.delete(t),q.delete(r),this.callbacks.onDismissAction&&R.batchedUpdates(this.callbacks.onDismissAction,void 0)}),await y("showAlert",{...this.options,icon:this.options.icon?JSON.stringify(ie(this.options.icon)):void 0,primaryAction:this.options.primaryAction?{...this.options.primaryAction,onAction:t}:void 0,dismissAction:this.options.dismissAction?{...this.options.dismissAction,onAction:r}:void 0})}};(t=>{let e;(a=>(a.Default="default",a.Cancel="cancel",a.Destructive="destructive"))(e=t.ActionStyle||={})})(At||={})});async function Pr(e,t,r){let n=new fe(typeof e=="object"?e:{style:e,title:t||"",message:r});return await n.show(),n}var fe,yf=b(()=>{"use strict";A();nt();fe=class e{options;id;callbacks;constructor(t){this.id=te();let{primaryAction:r,secondaryAction:n,title:o,message:a,...i}=t;this.options={...i,title:o?.toString(),message:a?.toString(),style:i.style||e.Style.Success,primaryAction:r?{title:r.title,shortcut:r.shortcut}:void 0,secondaryAction:n?{title:n.title,shortcut:n.shortcut}:void 0},this.callbacks={onPrimaryAction:r?.onAction,onSecondaryAction:n?.onAction}}get style(){return this.options.style}set style(t){this.options.style=t,this.update()}get title(){return this.options.title}set title(t){this.options.title=t?.toString(),this.update()}get message(){return this.options.message}set message(t){this.options.message=t?.toString(),this.update()}get primaryAction(){let t=this;return this.options.primaryAction?new Proxy(this.options.primaryAction,{get(r,n,o){return n==="onAction"?t.callbacks.onPrimaryAction:Reflect.get(r,n,o)},set(r,n,o,a){return n==="onAction"?t.callbacks.onPrimaryAction=o:(Reflect.set(r,n,o,a),t.update()),!0}}):void 0}set primaryAction(t){if(t){let{onAction:r,...n}=t;this.callbacks.onPrimaryAction=r,this.options.primaryAction=n}else delete this.callbacks.onPrimaryAction,delete this.options.primaryAction;this.update()}get secondaryAction(){let t=this;return this.options.secondaryAction?new Proxy(this.options.secondaryAction,{get(r,n,o){return n==="onAction"?t.callbacks.onSecondaryAction:Reflect.get(r,n,o)},set(r,n,o,a){return n==="onAction"?t.callbacks.onSecondaryAction=o:(Reflect.set(r,n,o,a),t.update()),!0}}):void 0}set secondaryAction(t){if(t){let{onAction:r,...n}=t;this.callbacks.onSecondaryAction=r,this.options.secondaryAction=n}else delete this.callbacks.onSecondaryAction,delete this.options.secondaryAction;this.update()}async show(){let t=`toast_${this.id}_onHide`,r=`toast_${this.id}_onPrimaryAction`,n=`toast_${this.id}_onSecondaryAction`;q.set(t,async()=>{q.delete(t),q.delete(r),q.delete(n)}),q.set(r,async()=>{this.callbacks.onPrimaryAction&&R.batchedUpdates(this.callbacks.onPrimaryAction,this)}),q.set(n,async()=>{this.callbacks.onSecondaryAction&&R.batchedUpdates(this.callbacks.onSecondaryAction,this)}),await y("showToast",{...this.options,onHide:t,primaryAction:this.options.primaryAction?{...this.options.primaryAction,onAction:r}:void 0,secondaryAction:this.options.secondaryAction?{...this.options.secondaryAction,onAction:n}:void 0})}async hide(){await y("hideToast",{})}async update(){let t=`toast_${this.id}_onHide`,r=`toast_${this.id}_onPrimaryAction`,n=`toast_${this.id}_onSecondaryAction`;await y("updateToast",{...this.options,onHide:t,primaryAction:this.options.primaryAction?{...this.options.primaryAction,onAction:r}:void 0,secondaryAction:this.options.secondaryAction?{...this.options.secondaryAction,onAction:n}:void 0})}};(t=>{let e;(a=>(a.Success="SUCCESS",a.Failure="FAILURE",a.Animated="ANIMATED"))(e=t.Style||={})})(fe||={})});async function Hs(e,t){await y("showHUD",{title:e?.toString(),clearRootSearch:t?.clearRootSearch??!1,popToRootType:t?.popToRootType??"default"})}var bf=b(()=>{"use strict";Fe();A()});var Gs=b(()=>{"use strict";gf();yf();bf()});var se=b(()=>{"use strict";mf();ff();hf();Gs()});var wr,vf=b(()=>{"use strict";se();wr=["raycast-blue","raycast-green","raycast-magenta","raycast-orange","raycast-purple","raycast-red","raycast-yellow","raycast-primary-text","raycast-secondary-text"]});var re=b(()=>{"use strict";us();Bm();Um();Wm();Xm();Ls();Rs();df();cs();As();qs();vf()});function ie(e){return VS(e)||qS(e)?{source:e}:e}function aa(e){return e&&e.split(` +`).map(t=>t.trim()).filter(Boolean).join(" ")}function VS(e){return typeof e=="string"||e instanceof String}function qS(e){return typeof e=="object"&&e&&"fileIcon"in e}function Le(e){e.icon=ie(e.icon)}function gt(e){let t=Date.parse(e);return isNaN(t)?null:new Date(t)}function Sr(e){let t={};return e&&Object.keys(e).forEach(r=>{let n=e[r];n.type==="date"&&typeof n.value=="string"?t[r]=gt(n.value):t[r]=n.value}),t}function Ge(e){let t,r;return typeof e<"u"&&e!==null&&(typeof e=="object"&&"keepSectionOrder"in e?(r=e.keepSectionOrder,t=!0):t=e),{filteringEnabled:t,keepSectionOrder:r}}var De=b(()=>{"use strict"});function F(e){return BS[e]||e}var BS,We=b(()=>{"use strict";BS={"ray-menu-bar-extra":"MenuBarExtra","ray-menu-bar-extra-item":"MenuBarExtra.Item","ray-menu-bar-extra-section":"MenuBarExtra.Section","ray-menu-bar-extra-separator":"MenuBarExtra.Separator","ray-menu-bar-extra-submenu":"MenuBarExtra.Submenu","ray-form":"Form","ray-form-textfield":"Form.TextField","ray-form-textarea":"Form.TextArea","ray-form-passwordfield":"Form.PasswordField","ray-form-checkbox":"Form.Checkbox","ray-form-datepicker":"Form.DatePicker","ray-form-tagpicker":"Form.TagPicker","ray-form-tagpicker-item":"Form.TagPicker.Item","ray-form-separator":"Form.Separator","ray-form-description":"Form.Description","ray-form-dropdown":"Form.Dropdown","ray-form-filepicker":"Form.FilePicker","ray-detail":"Detail","ray-list":"List","ray-list-section":"List.Section","ray-list-item":"List.Item","ray-list-item-detail":"List.Item.Detail","ray-grid":"Grid","ray-grid-section":"Grid.Section","ray-grid-item":"Grid.Item","ray-empty-view":"EmptyView","ray-metadata":"Metadata","ray-metadata-label":"Metadata.Label","ray-metadata-separator":"Metadata.Separator","ray-metadata-link":"Metadata.Link","ray-metadata-taglist":"Metadata.TagList","ray-metadata-taglist-item":"Metadata.TagList.Item","ray-search-bar-dropdown":"Dropdown","ray-search-bar-linkaccessory":"LinkAccessory","ray-action-panel":"ActionPanel","ray-navigation-stack":"InternalNavigationRoot","ray-top-level-suspense":"InternalSuspenseRoot"}});function xf(e,t){switch(t?.name){case"ray-menu-item":case"ray-submenu-item":{if(e.lastChildIsWithoutSection)e.childElements[e.childElements.length-1].childElements.push(t);else{let r=Se("ray-menu-section",{});r.childElements.push(t),e.childElements.push(r),e.lastChildIsWithoutSection=!0}break}case"ray-menu-section":{e.childElements.push(t),e.lastChildIsWithoutSection=!1;break}default:process.env.NODE_ENV!=="production"&&console.warn("An `ActionPanel` only accepts `ActionPanel.Section`, `ActionPanel.Submenu`, and `Action` children. Ignoring `"+F(t.name)+"`.")}}function Pf(e,t){switch(t?.name){case"ray-submenu-item":case"ray-menu-item":{if(e.lastChildIsWithoutSection)e.childElements[e.childElements.length-1].childElements.push(t);else{let r=Se("ray-menu-section",{});r.childElements.push(t),e.childElements.push(r),e.lastChildIsWithoutSection=!0}break}case"ray-menu-section":{e.childElements.push(t),e.lastChildIsWithoutSection=!1;break}default:process.env.NODE_ENV!=="production"&&console.warn("An `ActionPanel.Submenu` only accepts `ActionPanel.Section`, `ActionPanel.Submenu`, and `Action` children. Ignoring `"+F(t.name)+"`.")}}function wf(e){let t={title:e.title};return t.sections=e.childElements.map(r=>kr(r)),t}function bn(e,t){return{id:t.id,sections:e}}function kr(e){let t={title:e.title};return t.items=e.childElements.map(r=>US(r)),t}function US(e){let t={id:e.id,title:e.title,icon:e.icon,style:e.style,keywords:e.keywords,autoFocus:e.autoFocus,type:e.type};Le(t),e.min&&(t.min=e.min.toISOString()),e.max&&(t.max=e.max.toISOString());let r=e.shortcut;if(r&&(t.shortcut=r),e.name==="ray-menu-item"){let n=e.onAction;n&&V(t,"onAction",async o=>{R.batchedUpdates(n,o)})}else if(e.name==="ray-submenu-item"){let n=e.onOpen;n&&V(t,"onAction",async l=>{R.batchedUpdates(n,l)});let o=e.onSearchTextChange;o&&V(t,"onSearchTextChange",async l=>{R.batchedUpdates(o,JSON.parse(l))});let a=e.childElements.map(l=>kr(l));t.submenu=bn(a,t),t.throttlingEnabled=e.throttle,t.isLoading=e.isLoading;let{filteringEnabled:i,keepSectionOrder:c}=Ge(e.filtering);t.filteringEnabled=i,t.keepSectionOrder=c}return t}var vn=b(()=>{"use strict";De();re();Je();We()});function Sf(e,t){switch(t.name){case"ray-metadata-label":case"ray-metadata-link":case"ray-metadata-separator":case"ray-metadata-taglist":{e.childElements.push(t);break}default:process.env.NODE_ENV!=="production"&&console.warn("A `Metadata` only accepts `Metadata.Label`, `Metadata.Link`, `Metadata.Separator` and `Metadata.TagList` children. Ignoring `"+F(t.name)+"`.")}}function kf(e,t){switch(t.name){case"ray-metadata-taglist-item":e.childElements.push(t);break;default:process.env.NODE_ENV!=="production"&&console.warn("A `Metadata.TagList` only accepts `Detail.Metadata.TagList.Item` children. Ignoring `"+F(t.name)+"`.")}}function ia(e){let t={kind:"Metadata"};return t.items=e.childElements.map(r=>HS(r)),t}function HS(e){let t={id:e.id};switch(e.name){case"ray-metadata-label":{t.kind="Label",t.title=e.title;let r=e.text;t.text=typeof r=="object"?r.value:r;let n=typeof r=="object"?r.color:void 0;n&&wr.includes(n)&&(t.textColor=n),t.icon=e.icon,Le(t);break}case"ray-metadata-link":{t.kind="Link",t.title=e.title,t.text=e.text,t.target=e.target;break}case"ray-metadata-separator":{t.kind="Separator",Le(t);break}case"ray-metadata-taglist":{t.kind="TagList",t.title=e.title;let r=e.childElements.map(n=>GS(n));t.items=r;break}}return t}function GS(e){let t={kind:"Item",id:e.id,text:aa(e.text),icon:e.icon,color:e.color},r=e.onAction;return r&&V(t,"onAction",async n=>{R.batchedUpdates(r,n)}),Le(t),t}var sa=b(()=>{"use strict";re();Je();We();De()});function _f(e,t){switch(t.name){case"ray-action-panel":{Z(t,"A `Detail` does not accept any children. Ignoring `"+F(t.name)+"`.")&&(e.propElementsFromChildren.actionPanel=t);break}case"ray-metadata":{Z(t,"A `Detail` does not accept any children. Ignoring `"+F(t.name)+"`.")&&(e.propElementsFromChildren.metadata=t);break}default:process.env.NODE_ENV!=="production"&&console.warn("A `Detail` does not accept any children. Ignoring `"+F(t.name)+"`.")}}function Cf(e){let t={navigationTitle:e.navigationTitle,isLoading:e.isLoading,kind:"Detail",markdown:e.markdown};return e.propElementsFromChildren.actionPanel&&(t.actions=e.propElementsFromChildren.actionPanel),e.propElementsFromChildren.metadata&&(t.metadata=ia(e.propElementsFromChildren.metadata)),t}var Ws=b(()=>{"use strict";re();sa();We()});function Tf(e,t){switch(t.name){case"ray-action-panel":{Z(t,"An `EmptyView` does not accept any children. Ignoring `"+F(t.name)+"`.")&&(e.propElementsFromChildren.actionPanel=t);break}default:process.env.NODE_ENV!=="production"&&console.warn("An `EmptyView` does not accept any children. Ignoring `"+F(t.name)+"`.")}}function ca(e,t){let r={kind:"EmptyView",icon:e.icon,title:e.title,id:e.id,description:e.description};return Le(r),e.propElementsFromChildren.actionPanel&&(t.actions=e.propElementsFromChildren.actionPanel),r}var la=b(()=>{"use strict";re();We();De()});function Af(e,t){switch(t.name){case"ray-menu-item":{if(e.lastChildIsWithoutSection)e.childElements[e.childElements.length-1].childElements.push(t);else{let r=Se("ray-menu-section",{});r.childElements.push(t),e.childElements.push(r),e.lastChildIsWithoutSection=!0}break}case"ray-menu-section":{e.childElements.push(t),e.lastChildIsWithoutSection=!1;break}default:process.env.NODE_ENV!=="production"&&console.warn("A `Dropdown` only accepts `Dropdown.Item` and `Dropdown.Section` children. Ignoring `"+F(t.name)+"`.")}}function ua(e){let{filteringEnabled:t,keepSectionOrder:r}=Ge(e.filtering),n={kind:"Dropdown",id:e.id,tooltip:e.tooltip,placeholder:e.placeholder,storeValue:e.storeValue,value:{value:e.value,type:"default"},defaultValue:{value:e.defaultValue,type:"default"},throttlingEnabled:e.throttle,isLoading:e.isLoading,filteringEnabled:t,keepSectionOrder:r},o=e.childElements.map(c=>kr(c));n.menu=bn(o,n);let a=e.onChange;a&&V(n,"onChange",async c=>{R.batchedUpdates(a,c)});let i=e.onSearchTextChange;return i&&V(n,"onSearchTextChange",async c=>{R.batchedUpdates(i,JSON.parse(c))}),n}function Nf(e){return{kind:"LinkAccessory",target:e.target,text:e.text}}var xn=b(()=>{"use strict";re();Je();vn();We();De()});function If(e,t){switch(t.name){case"ray-action-panel":{Z(t,"A `Form` only accepts Form Item children. Ignoring `"+F(t.name)+"`.")&&(e.propElementsFromChildren.actionPanel=t);break}case"ray-search-bar-linkaccessory":{Z(t,"A `Form` only accepts Form Item children. Ignoring `"+F(t.name)+"`.")&&(e.propElementsFromChildren.searchBarAccessory=t);break}case"ray-form-checkbox":case"ray-form-datepicker":case"ray-form-description":case"ray-form-dropdown":case"ray-form-passwordfield":case"ray-form-separator":case"ray-form-tagpicker":case"ray-form-textarea":case"ray-form-textfield":case"ray-form-filepicker":e.childElements.push(t);break;default:process.env.NODE_ENV!=="production"&&console.warn("A `Form` only accepts Form Item children. Ignoring `"+F(t.name)+"`.")}}function Of(e,t){switch(t?.name){case"ray-menu-item":{if(e.lastChildIsWithoutSection)e.childElements[e.childElements.length-1].childElements.push(t);else{let r=Se("ray-menu-section",{});r.childElements.push(t),e.childElements.push(r),e.lastChildIsWithoutSection=!0}break}case"ray-menu-section":{e.childElements.push(t),e.lastChildIsWithoutSection=!1;break}default:process.env.NODE_ENV!=="production"&&console.warn("An `Form.Dropdown` only accepts `Form.Dropdown.Section` and `Form.Dropdown.Item` children. Ignoring `"+F(t.name)+"`.")}}function Ff(e){let t={navigationTitle:e.navigationTitle,isLoading:e.isLoading,enableDrafts:e.enableDrafts,kind:"Form"},r=e.childElements.map(n=>WS(n));if(t.items=r,process.env.NODE_ENV==="development"){let n={};r.filter(a=>a.kind!=="Separator"&&a.kind!=="Description").forEach(a=>{let i=a.id;i?n[i]?(n[i]===1&&console.error(`Found duplicated "id" ${i} in form items. This will cause the item to not be rendered. Make sure to assign each form item a unique 'id'.`),n[i]=n[i]+1):n[i]=1:console.warn("Form item does not have a valid ID",a)})}return e.propElementsFromChildren.searchBarAccessory&&(t.searchBarAccessory=Nf(e.propElementsFromChildren.searchBarAccessory)),e.propElementsFromChildren.actionPanel&&(t.actions=e.propElementsFromChildren.actionPanel),t}function WS(e){let t={id:e.id,title:e.title,info:e.info,error:e.error,storeValue:e.storeValue,autoFocus:e.autoFocus,value:{value:e.value,type:"default"},defaultValue:{value:e.defaultValue,type:"default"}};switch(J(typeof e.value>"u"||typeof e.onChange=="function",`You provided a \`value\` prop to the Form item \`${e.id}\` without an \`onChange\` handler. This will render a read-only item. If the item should be mutable use \`defaultValue\`. Otherwise, set \`onChange\`.`),J(!e._oldProps||typeof e.value>"u"&&typeof e._oldProps.value>"u"||typeof e.value<"u"&&typeof e._oldProps.value<"u",`The Form Item \`${e.id}\` is changing from an uncontrolled input to be controlled. This is likely caused by the value changing from \`undefined\` to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components`),J(typeof e.value>"u"||typeof e.defaultValue>"u",`The Form Item \`${e.id}\` contains both \`value\` and \`defaultValue\` props. +Form items must be either controlled or uncontrolled (specify either the \`value\` prop, or the \`defaultValue\` prop, but not both). +Decide between using a controlled or uncontrolled Form Item and remove one of these props. More info: https://reactjs.org/link/controlled-components`),e.name){case"ray-form-textfield":{t.kind="TextField",t.placeholder=e.placeholder,t.defaultValue=_r(t.defaultValue),t.value=_r(t.value);let n=e.onChange;n&&V(t,"onChange",async o=>{R.batchedUpdates(n,JSON.parse(o))});break}case"ray-form-passwordfield":{t.kind="TextField",t.placeholder=e.placeholder,t.isSecure=!0,t.defaultValue=_r(t.defaultValue),t.value=_r(t.value);let n=e.onChange;n&&V(t,"onChange",async o=>{R.batchedUpdates(n,JSON.parse(o))});break}case"ray-form-textarea":{t.kind="TextArea",t.placeholder=e.placeholder,t.enableMarkdown=e.enableMarkdown,t.defaultValue=_r(t.defaultValue),t.value=_r(t.value);let n=e.onChange;n&&V(t,"onChange",async o=>{R.batchedUpdates(n,JSON.parse(o))});break}case"ray-form-checkbox":{t.kind="Checkbox",t.checkboxTitle=e.label;break}case"ray-form-datepicker":{t.kind="DatePicker",t.type=e.type,t.defaultValue=Rf(t.defaultValue),t.value=Rf(t.value),e.min&&(t.min=e.min.toISOString()),e.max&&(t.max=e.max.toISOString());let n=e.onChange;n&&V(t,"onChange",async o=>{let a=gt(o);R.batchedUpdates(n,a)});break}case"ray-form-separator":{t.kind="Separator";break}case"ray-form-description":{t.kind="Description",t.text=e.text;break}case"ray-form-dropdown":{t.kind="Dropdown",t.placeholder=e.placeholder;let n=e.childElements.map(l=>kr(l)),o=e.value??e.defaultValue;if(process.env.NODE_ENV==="development"&&o&&o.length>0){let l=n.map(u=>u.items).flat();if(typeof l.find(u=>u.id==o)>"u"){let u=typeof e.value<"u"?"value":"defaultValue";console.warn(`The \`${u}\` provided to \`Form.Dropdown\` does not match any of its items. + '${o}' is not a member of [${l.map(p=>`'${p.id}'`).join(", ")}].`)}}t.menu=bn(n,t);let a=e.onSearchTextChange;a&&V(t,"onSearchTextChange",async l=>{R.batchedUpdates(a,JSON.parse(l))}),t.throttlingEnabled=e.throttle,t.isLoading=e.isLoading;let{filteringEnabled:i,keepSectionOrder:c}=Ge(e.filtering);t.filteringEnabled=i,t.keepSectionOrder=c;break}case"ray-form-tagpicker":{t.kind="TagPicker",t.placeholder=e.placeholder;let n=e.childElements.map(i=>JS(i)),o=e.value??e.defaultValue;if(process.env.NODE_ENV==="development"&&Array.isArray(o)&&o.length>0){let i=o.find(c=>n.every(l=>l.value!==c));if(typeof i<"u"){let c=typeof e.value<"u"?"value":"defaultValue";console.warn(`The \`${c}\` provided to \`Form.TagPicker\` does not match any of its items. + '${i}' is not a member of [${n.map(l=>`'${l.value}'`).join(", ")}].`)}}t.suggestionValues=n;let a=e.onCreate;a&&V(t,"onCreate",async i=>{R.batchedUpdates(a,i)});break}case"ray-form-filepicker":{t.kind="FilePicker";let{canChooseDirectories:n=!1,canChooseFiles:o=!0}=e;J(n||o,"`canChooseDirectories` and `canChooseFiles` can not be both false at the same time."),t.canChooseDirectories=n,t.canChooseFiles=o,t.showHiddenFiles=e.showHiddenFiles,t.allowMultipleSelection=e.allowMultipleSelection;break}}Ef(t,e.id,"onBlur","blur",e.onBlur,e.name=="ray-form-datepicker"),Ef(t,e.id,"onFocus","focus",e.onFocus,e.name=="ray-form-datepicker");let r=e.onChange;return!t.onChange&&r&&V(t,"onChange",async n=>{R.batchedUpdates(r,n)}),t}function JS(e){let t={title:e.title,value:e.value,icon:e.icon};Le(t);let r=e.value;return r&&!r.length&&console.warn(`You shouldn't use empty value for Tag Picker Item ${e.title}`),t}function Ef(e,t,r,n,o,a=!1){o&&V(e,r,async i=>{a&&(i=gt(i));let c={target:{id:t,value:i},type:n};R.batchedUpdates(o,c)})}function Rf(e){let t={type:"date",value:e.value};return t.value&&t.value instanceof Date?t.value=t.value.toISOString():t.value===null&&(t.value="null"),t}function _r(e){return{type:"changeTextEvent",value:e.value}}var Js=b(()=>{"use strict";De();vn();Je();re();xn();We()});var Xs,Zs,Ys,Ks,Qs=b(()=>{"use strict";Xs={min:1,max:8},Zs=(o=>(o.Zero="zero",o.Small="sm",o.Medium="md",o.Large="lg",o))(Zs||{}),Ys=(r=>(r.Contain="contain",r.Fill="fill",r))(Ys||{}),Ks=(n=>(n.Small="small",n.Medium="medium",n.Large="large",n))(Ks||{})});function Lf(e,t){switch(t.name){case"ray-action-panel":{Z(t,"A `Grid` only accepts `Grid.Item` and `Grid.Section` children. Ignoring `"+F(t.name)+"`.")&&(e.propElementsFromChildren.actionPanel=t);break}case"ray-search-bar-dropdown":{Z(t,"A `Grid` only accepts `Grid.Item` and `Grid.Section` children. Ignoring `"+F(t.name)+"`.")&&(e.propElementsFromChildren.searchBarAccessory=t);break}case"ray-empty-view":{e.propElementsFromChildren.emptyView&&process.env.NODE_ENV!=="production"&&console.warn("Multiple `Grid.EmptyView` children have been passed to `Grid`. Only the last one will be shown."),e.propElementsFromChildren.emptyView=t;break}case"ray-grid-item":{if(e.lastChildIsWithoutSection)e.childElements[e.childElements.length-1].childElements.push(t);else{let r=Se("ray-grid-section",{id:`__raycast_implicit_section_${e.childElements.length}`});r.childElements.push(t),e.childElements.push(r),e.lastChildIsWithoutSection=!0}break}case"ray-grid-section":{e.childElements.push(t),e.lastChildIsWithoutSection=!1;break}default:process.env.NODE_ENV!=="production"&&console.warn("A `Grid` only accepts `Grid.EmptyView`, `Grid.Item` and `Grid.Section` children. Ignoring `"+F(t.name)+"`.")}}function Df(e,t){switch(t.name){case"ray-action-panel":{Z(t,"A `Grid.Item` does not accept any children. Ignoring `"+F(t.name)+"`.")&&(e.propElementsFromChildren.actionPanel=t);break}default:process.env.NODE_ENV!=="production"&&console.warn("A `Grid.Item` does not accept any children. Ignoring `"+F(t.name)+"`.")}}function zf(e,t){switch(t.name){case"ray-grid-item":{e.childElements.push(t);return}default:process.env.NODE_ENV!=="production"&&console.warn("A `Grid.Section` only accepts `Grid.Item` children. Ignoring `"+F(t.name)+"`.")}}function Mf(e){let{filteringEnabled:t,keepSectionOrder:r}=Ge(e.filtering),n=e.pagination,o={id:e.id,navigationTitle:e.navigationTitle,isLoading:e.isLoading,kind:"Grid",columns:$f(e.columns),itemSize:e.itemSize,fit:e.fit,aspectRatio:e.aspectRatio,inset:e.inset,searchBarText:e.searchText,searchBarPlaceholder:e.searchBarPlaceholder,selectedItemId:e.selectedItemId,throttlingEnabled:e.throttle,filteringEnabled:t,keepSectionOrder:r,itemsPerPage:n?.pageSize,hasMoreItems:n?.hasMore};J(typeof e.searchText>"u"||typeof e.onSearchTextChange=="function","You provided a `searchText` prop to the Grid view without an `onSearchTextChange` handler. This will make the search bar read-only."),J(!e._oldProps||typeof e.searchText>"u"&&typeof e._oldProps.searchText>"u"||typeof e.searchText<"u"&&typeof e._oldProps.searchText<"u","The Grid view is changing an uncontrolled search bar to be controlled. This is likely caused by the `searchText` changing from `undefined` to a defined value, which should not happen. Decide between using a controlled or uncontrolled search bar element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components"),e.propElementsFromChildren.actionPanel&&(o.actions=e.propElementsFromChildren.actionPanel),e.propElementsFromChildren.searchBarAccessory&&(o.searchBarAccessory=ua(e.propElementsFromChildren.searchBarAccessory)),e.propElementsFromChildren.emptyView&&(o.emptyView=ca(e.propElementsFromChildren.emptyView,o)),o.sections=e.childElements.map(l=>XS(l,o));let a=e.onSearchTextChange;a&&V(o,"onSearchTextChange",async l=>{R.batchedUpdates(a,JSON.parse(l))});let i=e.onSelectionChange;i&&V(o,"onSelectionChange",async l=>{R.batchedUpdates(i,l)});let c=n?.onLoadMore;return c&&V(o,"onLoadMoreItems",async()=>{R.batchedUpdates(c,void 0)}),o}function XS(e,t){let r={kind:"Section",id:e.id,title:e.title,subtitle:e.subtitle,columns:$f(e.columns),fit:e.fit,aspectRatio:e.aspectRatio,inset:e.inset};return r.items=e.childElements.map(n=>ZS(n,t)),r}function ZS(e,t){let r={kind:"Item",id:e.id,keywords:e.keywords,quickLook:e.quickLook};r.title=e.title?.value??e.title,r.subtitle=e.subtitle?.value??e.subtitle,r.color=e.content?.value?e.content.value.color:e.content?.color,r.color||(r.content=e.content?.value??e.content,r.content=ie(r.content)),r.contentTooltip=e.content?.tooltip,e.accessory&&e&&(r.accessory=YS(e.accessory));let n=e.onSelect;return n&&V(r,"onSelect",async()=>{R.batchedUpdates(n,void 0)}),e.propElementsFromChildren.actionPanel&&(t.actions=e.propElementsFromChildren.actionPanel),r}function YS(e){let t={kind:"Accessory",tooltip:"tooltip"in e?e.tooltip:void 0};return"icon"in e&&e.icon&&(t.icon=ie(e.icon)),t.icon?t:void 0}function $f(e){let t=Number.parseInt(e,10);if(!Number.isNaN(t))return Math.min(Xs.max,Math.max(Xs.min,t))}var ec=b(()=>{"use strict";De();Je();re();Qs();xn();la();We()});function jf(e,t){switch(t.name){case"ray-action-panel":{Z(t,"A `List` only accepts `List.Item` and `List.Section` children. Ignoring `"+F(t.name)+"`.")&&(e.propElementsFromChildren.actionPanel=t);break}case"ray-search-bar-dropdown":{Z(t,"A `List` only accepts `List.Item` and `List.Section` children. Ignoring `"+F(t.name)+"`.")&&(e.propElementsFromChildren.searchBarAccessory=t);break}case"ray-empty-view":{e.propElementsFromChildren.emptyView&&process.env.NODE_ENV!=="production"&&console.warn("Multiple `List.EmptyView` children have been passed to `List`. Only the last one will be shown."),e.propElementsFromChildren.emptyView=t;break}case"ray-list-item":{if(e.lastChildIsWithoutSection)e.childElements[e.childElements.length-1].childElements.push(t);else{let r=Se("ray-list-section",{id:`__raycast_implicit_section_${e.childElements.length}`});r.childElements.push(t),e.childElements.push(r),e.lastChildIsWithoutSection=!0}break}case"ray-list-section":{e.childElements.push(t),e.lastChildIsWithoutSection=!1;break}default:process.env.NODE_ENV!=="production"&&console.warn("A `List` only accepts `List.EmptyView`, `List.Item` and `List.Section` children. Ignoring `"+F(t.name)+"`.")}}function Vf(e,t){switch(t.name){case"ray-action-panel":{Z(t,"A `List.Item` does not accept any children. Ignoring `"+F(t.name)+"`.")&&(e.propElementsFromChildren.actionPanel=t);break}case"ray-list-item-detail":{Z(t,"A `List.Item` does not accept any children. Ignoring `"+F(t.name)+"`.")&&(e.propElementsFromChildren.detail=t);break}case"ray-detail":{Z(t,"`List.Item` expects `List.Item.Detail` as `detail`, ignoring `"+F(t.name)+"`. See https://ray.so/list-item-detail")&&(e.propElementsFromChildren.detail=t);break}default:process.env.NODE_ENV!=="production"&&console.warn("A `List.Item` does not accept any children.Ignoring `"+F(t.name)+"`.")}}function qf(e,t){switch(t.name){case"ray-metadata":{Z(t,"A `List.Item.Detail` does not accept any children. Ignoring `"+F(t.name)+"`.")&&(e.propElementsFromChildren.metadata=t);break}default:process.env.NODE_ENV!=="production"&&console.warn("A `List.Item.Detail` does not accept any children. Ignoring `"+F(t.name)+"`.")}}function Bf(e,t){switch(t.name){case"ray-list-item":{e.childElements.push(t);return}default:process.env.NODE_ENV!=="production"&&console.warn("A `List.Section` only accepts `List.Item` children. Ignoring `"+F(t.name)+"`.")}}function Uf(e){let{filteringEnabled:t,keepSectionOrder:r}=Ge(e.filtering),n=e.pagination,o={id:e.id,navigationTitle:e.navigationTitle,isLoading:e.isLoading,kind:"List",searchBarText:e.searchText,searchBarPlaceholder:e.searchBarPlaceholder,selectedItemId:e.selectedItemId,throttlingEnabled:e.throttle,filteringEnabled:t,keepSectionOrder:r,isShowingDetail:e.isShowingDetail,itemsPerPage:n?.pageSize,hasMoreItems:n?.hasMore};J(typeof e.searchText>"u"||typeof e.onSearchTextChange=="function","You provided a `searchText` prop to the List view without an `onSearchTextChange` handler. This will make the search bar read-only."),J(!e._oldProps||typeof e.searchText>"u"&&typeof e._oldProps.searchText>"u"||typeof e.searchText<"u"&&typeof e._oldProps.searchText<"u","The List view is changing an uncontrolled search bar to be controlled. This is likely caused by the `searchText` changing from `undefined` to a defined value, which should not happen. Decide between using a controlled or uncontrolled search bar element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components"),e.propElementsFromChildren.actionPanel&&(o.actions=e.propElementsFromChildren.actionPanel),e.propElementsFromChildren.searchBarAccessory&&(o.searchBarAccessory=ua(e.propElementsFromChildren.searchBarAccessory)),e.propElementsFromChildren.emptyView&&(o.emptyView=ca(e.propElementsFromChildren.emptyView,o)),o.sections=e.childElements.map(l=>KS(l,o));let a=e.onSearchTextChange;a&&V(o,"onSearchTextChange",async l=>{R.batchedUpdates(a,JSON.parse(l))});let i=e.onSelectionChange;i&&V(o,"onSelectionChange",async l=>{R.batchedUpdates(i,l)});let c=n?.onLoadMore;return c&&V(o,"onLoadMoreItems",async()=>{R.batchedUpdates(c,void 0)}),o}function KS(e,t){let r={kind:"Section",id:e.id,title:e.title,subtitle:e.subtitle};return r.items=e.childElements.map(n=>QS(n,t)),r}function QS(e,t){let r=e.accessories??[];(e.accessoryTitle||e.accessoryIcon)&&r.push({text:e.accessoryTitle,icon:e.accessoryIcon});let n={kind:"Item",id:e.id,keywords:e.keywords,quickLook:e.quickLook};n.title=e.title?.value??e.title,n.titleTooltip=e.title?.tooltip,n.subtitle=e.subtitle?.value??e.subtitle,n.subtitleTooltip=e.subtitle?.tooltip,n.icon=e.icon?.value??e.icon,n.iconTooltip=e.icon?.tooltip,r.length>0&&(n.accessories=r.map(a=>ek(a)).filter(a=>!!a)),Le(n);let o=e.onSelect;return o&&V(n,"onSelect",async()=>{R.batchedUpdates(o,void 0)}),e.propElementsFromChildren.actionPanel&&(t.actions=e.propElementsFromChildren.actionPanel),e.propElementsFromChildren.detail&&(t.detail=tk(e.propElementsFromChildren.detail)),n}function ek(e){let t={kind:"Accessory",tooltip:"tooltip"in e?e.tooltip:void 0};if("icon"in e&&e.icon&&(t.icon=ie(e.icon)),"text"in e&&e.text)return t.text=typeof e.text=="object"?e.text.value:e.text,t.color=typeof e.text=="object"&&e.text?.color&&wr.includes(e.text.color)?e.text.color:void 0,t;if("date"in e&&e.date){let r=typeof e.date=="object"&&"value"in e.date?e.date.value:e.date;return t.date=r?.getTime(),t.color=typeof e.date=="object"&&"color"in e.date&&e.date.color&&wr.includes(e.date.color)?e.date.color:void 0,t}if("tag"in e&&e.tag){let r=typeof e.tag=="object"&&"value"in e.tag?e.tag.value:e.tag;return r instanceof Date?t.tag=r.getTime():t.tag=aa(r),t.color=typeof e.tag=="object"&&"color"in e.tag?e.tag.color:void 0,t}return t.icon?t:void 0}function tk(e){let t={kind:"Detail",id:e.id,markdown:e.markdown,isLoading:e.isLoading};return e.propElementsFromChildren.metadata&&(t.metadata=ia(e.propElementsFromChildren.metadata)),t}var tc=b(()=>{"use strict";De();qs();Je();re();sa();xn();la();We()});function rc(e){return Hf.default.createHash("sha256").update(e).digest("hex")}function rk(e,t){let n=`menu_bar_extra_item_${e.hash}_action`;return q.set(n,async o=>(await t(o),n)),n}function nc(e,t){let r={kind:"Submenu",title:e.title,icon:ie(e.icon)};return t.hash?r.hash=`${t.hash}->`:r.hash="",r.hash+=rc(`Submenu_${r.title}_${JSON.stringify(r.icon||"")}`),r.items=e.childElements.map(n=>{switch(n.name){case"ray-menu-bar-extra-item":return da(n,r);case"ray-menu-bar-extra-separator":return oc(n);case"ray-menu-bar-extra-submenu":return nc(n,r);case"ray-menu-bar-extra-section":return ac(n,r)}}),r}function da(e,t){let r={kind:"Item",title:e.title,subtitle:e.subtitle,icon:ie(e.icon),tooltip:e.tooltip};t.hash?r.hash=`${t.hash}->`:r.hash="",r.hash+=rc(`${r.title}_${r.subtitle}_${JSON.stringify(r.icon||"")}_${JSON.stringify(r.tooltip||"")}_${JSON.stringify(r.shortcut||"")}`);let n=e.shortcut;n&&(r.shortcut=n);let o=e.onAction;return o&&(r.actionCallbackId=rk(r,o)),e.propElementsFromChildren.alternate&&(r.alternate=da(e.propElementsFromChildren.alternate,r)),r}function oc(e){return{kind:"Separator"}}function ac(e,t){let r={kind:"Section",title:e.title};return t.hash?r.hash=`${t.hash}->`:r.hash="",r.hash+=rc(`Section_${r.title}`),r.items=e.childElements.map(n=>{switch(n.name){case"ray-menu-bar-extra-item":return da(n,r);case"ray-menu-bar-extra-separator":return oc(n);case"ray-menu-bar-extra-submenu":return nc(n,r);case"ray-menu-bar-extra-section":return ac(n,r)}}),r}function Gf(e){let t={kind:"MenuBarExtra",isLoading:e.isLoading,id:e.id,title:e.title,icon:ie(e.icon),tooltip:e.tooltip};return t.items=e.childElements.map(r=>{switch(r.name){case"ray-menu-bar-extra-item":return da(r,t);case"ray-menu-bar-extra-separator":return oc(r);case"ray-menu-bar-extra-submenu":return nc(r,t);case"ray-menu-bar-extra-section":return ac(r,t)}}),t}function Wf(e,t){switch(t.name){case"ray-menu-bar-extra-item":case"ray-menu-bar-extra-separator":case"ray-menu-bar-extra-submenu":case"ray-menu-bar-extra-section":{e.childElements.push(t);break}default:process.env.NODE_ENV!=="production"&&console.warn('A `MenuBarExtra` only accepts `MenuBarExtra.Submenu`, `MenuBarExtra.Item`, `MenuBarExtra.Separator` and `MenuBarExtra.Section` children. Ignoring "'+t.name+'".')}}function Jf(e,t){switch(t.name){case"ray-menu-bar-extra-item":{Z(t,"A `MenuBarExtra.Item` doesn't accept any children. Ignoring `"+F(t.name)+"`.")&&(e.propElementsFromChildren.alternate=t);break}default:process.env.NODE_ENV!=="production"&&console.warn("A `MenuBarExtra.Item` doesn't accept any children. Ignoring `"+F(t.name)+"`.")}}function Xf(e,t){switch(t.name){case"ray-menu-bar-extra-item":case"ray-menu-bar-extra-separator":case"ray-menu-bar-extra-submenu":case"ray-menu-bar-extra-section":{e.childElements.push(t);break}default:process.env.NODE_ENV!=="production"&&console.warn("A `MenuBarExtra.Submenu` only accepts `MenuBarExtra.Submenu`, `MenuBarExtra.Item`, `MenuBarExtra.Separator` and `MenuBarExtra.Section` children. Ignoring `"+F(t.name)+"`.")}}var Hf,ic=b(()=>{"use strict";Hf=je(require("node:crypto"));re();De();We()});function Se(e,t){return Ue("Reconciler: createElement",t),{...t,name:e,childElements:[],propElementsFromChildren:{}}}function sc(e,t,r,n,o,a){Ue("Reconciler: clone instance",e,n,o);let i={...n,name:t,childElements:[],propElementsFromChildren:{}};return i._oldProps=r,o?(i.propElementsFromChildren=e.propElementsFromChildren,i.childElements=e.childElements):i.childElements=a||[],i}function Zf(e,t,r){return Ue("Reconciler: clone hidden instance",e),sc(e,t,{},{...r,hidden:!0},!0)}var Yf=b(()=>{"use strict";re()});var cc={};Ft(cc,{canHydrateInstance:()=>ok,canHydrateSuspenseInstance:()=>ik,canHydrateTextInstance:()=>ak,clearSuspenseBoundary:()=>xk,clearSuspenseBoundaryFromContainer:()=>Pk,commitHydratedContainer:()=>bk,commitHydratedSuspenseInstance:()=>vk,didNotFindHydratableInstance:()=>Fk,didNotFindHydratableInstanceWithinContainer:()=>Ak,didNotFindHydratableInstanceWithinSuspenseInstance:()=>Rk,didNotFindHydratableSuspenseInstance:()=>Dk,didNotFindHydratableSuspenseInstanceWithinContainer:()=>Ek,didNotFindHydratableSuspenseInstanceWithinSuspenseInstance:()=>Ok,didNotFindHydratableTextInstance:()=>Lk,didNotFindHydratableTextInstanceWithinContainer:()=>Nk,didNotFindHydratableTextInstanceWithinSuspenseInstance:()=>Ik,didNotHydrateInstance:()=>Tk,didNotHydrateInstanceWithinContainer:()=>_k,didNotHydrateInstanceWithinSuspenseInstance:()=>Ck,didNotMatchHydratedContainerTextInstance:()=>Sk,didNotMatchHydratedTextInstance:()=>kk,errorHydratingContainer:()=>zk,getFirstHydratableChild:()=>dk,getFirstHydratableChildWithinContainer:()=>pk,getFirstHydratableChildWithinSuspenseInstance:()=>mk,getNextHydratableInstanceAfterSuspenseInstance:()=>yk,getNextHydratableSibling:()=>uk,hydrateInstance:()=>fk,hydrateSuspenseInstance:()=>gk,hydrateTextInstance:()=>hk,isSuspenseInstanceFallback:()=>ck,isSuspenseInstancePending:()=>sk,registerSuspenseInstanceRetry:()=>lk,shouldDeleteUnhydratedTailInstances:()=>wk,supportsHydration:()=>nk});function M(){throw new Error("The current renderer does not support hydration. This error is likely caused by a bug in React. Please file an issue.")}var nk,ok,ak,ik,sk,ck,lk,uk,dk,pk,mk,fk,hk,gk,yk,bk,vk,xk,Pk,wk,Sk,kk,_k,Ck,Tk,Ak,Nk,Ek,Rk,Ik,Ok,Fk,Lk,Dk,zk,Kf=b(()=>{"use strict";nk=!1,ok=M,ak=M,ik=M,sk=M,ck=M,lk=M,uk=M,dk=M,pk=M,mk=M,fk=M,hk=M,gk=M,yk=M,bk=M,vk=M,xk=M,Pk=M,wk=M,Sk=M,kk=M,_k=M,Ck=M,Tk=M,Ak=M,Nk=M,Ek=M,Rk=M,Ik=M,Ok=M,Fk=M,Lk=M,Dk=M,zk=M});var lc={};Ft(lc,{appendChild:()=>$k,appendChildToContainer:()=>jk,clearContainer:()=>Qk,commitMount:()=>qk,commitTextUpdate:()=>Vk,commitUpdate:()=>Bk,hideInstance:()=>Xk,hideTextInstance:()=>Zk,insertBefore:()=>Uk,insertInContainerBefore:()=>Hk,removeChild:()=>Gk,removeChildFromContainer:()=>Wk,resetTextContent:()=>Jk,supportsMutation:()=>Mk,unhideInstance:()=>Yk,unhideTextInstance:()=>Kk});function he(){throw new Error("The current renderer does not support mutation. This error is likely caused by a bug in React. Please file an issue.")}var Mk,$k,jk,Vk,qk,Bk,Uk,Hk,Gk,Wk,Jk,Xk,Zk,Yk,Kk,Qk,Qf=b(()=>{"use strict";Mk=!1,$k=he,jk=he,Vk=he,qk=he,Bk=he,Uk=he,Hk=he,Gk=he,Wk=he,Jk=he,Xk=he,Zk=he,Yk=he,Kk=he,Qk=he});var uc={};Ft(uc,{getInstanceFromScope:()=>t_,prepareScopeUpdate:()=>e_});function eh(){throw new Error("The current renderer does not support React Scopes. This error is likely caused by a bug in React. Please file an issue.")}var e_,t_,th=b(()=>{"use strict";e_=eh,t_=eh});var dc={};Ft(dc,{findFiberRoot:()=>n_,getBoundingRect:()=>o_,getTextContent:()=>a_,isHiddenSubtree:()=>i_,matchAccessibilityRole:()=>s_,setFocusIfFocusable:()=>c_,setupIntersectionObserver:()=>l_,supportsTestSelectors:()=>r_});function Nt(){throw new Error("The current renderer does not support test selectors. This error is likely caused by a bug in React. Please file an issue.")}var r_,n_,o_,a_,i_,s_,c_,l_,rh=b(()=>{"use strict";r_=!1,n_=Nt,o_=Nt,a_=Nt,i_=Nt,s_=Nt,c_=Nt,l_=Nt});function u_(e,t){switch(e.name){case"ray-menu-bar-extra":Wf(e,t);break;case"ray-menu-bar-extra-item":Jf(e,t);break;case"ray-menu-bar-extra-submenu":Xf(e,t);break;case"ray-empty-view":Tf(e,t);break;case"ray-metadata":Sf(e,t);break;case"ray-metadata-taglist":kf(e,t);break;case"ray-search-bar-dropdown":Af(e,t);break;case"ray-action-panel":xf(e,t);break;case"ray-submenu-item":Pf(e,t);break;case"ray-list":jf(e,t);break;case"ray-list-item":Vf(e,t);break;case"ray-list-item-detail":qf(e,t);break;case"ray-list-section":Bf(e,t);break;case"ray-grid":Lf(e,t);break;case"ray-grid-item":Df(e,t);break;case"ray-grid-section":zf(e,t);break;case"ray-form":If(e,t);break;case"ray-form-dropdown":Of(e,t);break;case"ray-detail":_f(e,t);break;default:e.childElements.push(t)}Ue(`appendChildNode: '${t.name}' into '${e.name}'`,e)}function fc(e){ah.onPromoteTree=e}function d_(e){return(0,nh.default)(e)}var nh,oh,pa,Cr,ah,mc,pc,R,Je=b(()=>{"use strict";nh=je(require("react-reconciler")),oh=require("react"),pa=je(require("react-reconciler/constants"));re();vn();Ws();la();Js();ec();tc();ic();sa();xn();Yf();Kf();Qf();th();rh();Cr=new Map,ah={onPromoteTree:()=>{}};mc={};process.env.NODE_ENV!=="production"&&Object.freeze(mc);pc=pa.NoEventPriority;R=d_({createInstance:Se,createTextInstance:e=>({name:"string",props:{text:e}}),appendInitialChild:u_,finalizeInitialChildren:()=>!1,shouldSetTextContent:()=>!1,getRootHostContext:()=>mc,getChildHostContext:()=>mc,getPublicInstance:e=>e,prepareForCommit:()=>null,resetAfterCommit:()=>{},preparePortalMount:()=>{},scheduleTimeout:(e,t)=>setTimeout(e,0),cancelTimeout:clearTimeout,noTimeout:-1,isPrimaryRenderer:!0,warnsIfNotActing:!0,setCurrentUpdatePriority(e){pc=e},getCurrentUpdatePriority(){return pc},resolveUpdatePriority(){return pc||pa.DefaultEventPriority},getInstanceFromNode(e){throw new Error("Not yet implemented.")},beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},NotPendingTransition:null,HostTransitionContext:(0,oh.createContext)(null),requestPostPaintCallback(){},maySuspendCommit:()=>!1,preloadInstance:()=>!0,shouldAttemptEagerTransition:()=>!1,trackSchedulerEvent:()=>{},resolveEventType:()=>null,resolveEventTimeStamp:()=>-1.1,startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady:()=>null,supportsMicrotasks:!0,scheduleMicrotask:queueMicrotask,supportsPersistence:!0,cloneInstance:sc,createContainerChildSet:e=>(Ue("Reconciler: createContainerChildSet",e),[]),appendChildToContainerChildSet:(e,t)=>{Ue("Reconciler: appendChildToContainerChildSet",e,t),e.push(t)},finalizeContainerChildren:(e,t)=>{Ue("Reconciler: finalizeContainerChildren",e,t);let r=Cr.get(e);if(!r)throw new Error("The reconciler has not been configured");r.shadowTree=t[0],ah.onPromoteTree(r.shadowTree)},replaceContainerChildren:(e,t)=>{},cloneHiddenInstance:Zf,cloneHiddenTextInstance(e,t,r){throw new Error("Reconciler: Text instances not supported")},resetFormInstance(){},...lc,...cc,...uc,...dc})});function ih(e){let t=e.childElements[e.childElements.length-1],r={kind:"navigationStack",id:"navigationStack"},{body:n,actions:o}=p_(t);r.body=n,r.navigationInfo=e.navigationInfo;let a=e.onPop;return a&&V(r,"onPop",async i=>{a&&R.batchedUpdates(a,i)}),kt(`${r.body?.navigationTitle??r.body?.kind}, ${e.navigationInfo}`),{navigationStack:r,actions:o}}function p_(e){if(!e)return{body:null,actions:null};let t;switch(e.name){case"ray-menu-bar-extra":{t=Gf(e);break}case"ray-list":{t=Uf(e);break}case"ray-grid":{t=Mf(e);break}case"ray-form":{t=Ff(e);break}case"ray-detail":{t=Cf(e);break}default:throw new Error(`Unsupported navigation child: ${e.name}`)}let r;return t.actions&&(r=t.actions,delete t.actions),kt(`raycastNode: ${e.name}: `,t),{body:t,actions:r?wf(r):null}}var sh=b(()=>{"use strict";Ws();Js();tc();ec();ic();re();Je();vn()});function ma(e){if(e.childElements.length===0)return{kind:"commandView",suspended:!0};let t={kind:"commandView"};return e.childElements.forEach(r=>{if(r.name==="ray-navigation-stack"){m_(r);let{navigationStack:n,actions:o}=ih(r);t.navigationStack=n,o&&(t.actions=o)}else r.name==="ray-top-level-suspense"&&(t.suspended=!0)}),t}function m_(e){if(process.env.NODE_ENV==="development"){let t=e.childElements.findIndex(r=>r.enableDrafts&&r.enableDrafts==!0);if(t>0){let r=e.childElements[t].navigationTitle;console.error(`You have enabled 'enableDrafts' for '${r??"<Form>"}'. Drafts in nested forms are not supported yet and will be ignored.`)}}}var hc=b(()=>{"use strict";sh()});var Pn,gc=b(()=>{"use strict";A();(a=>{let e;(l=>(l.User="User",l.FullScreen="FullScreen"))(e=a.DesktopType||={});async function t(){return(await y("getDesktops",{})).desktops.map(c=>({size:{width:c.width,height:c.height},id:""+c.id,screenId:c.screenId,active:c.active,type:c.type})).filter(c=>!!c.type)}a.getDesktops=t;async function r(){let{window:i}=await y("getActiveWindow",{});return{bounds:i.fullScreen?"fullscreen":{position:{x:i.x,y:i.y},size:{width:i.width,height:i.height}},id:i.id,desktopId:""+i.desktopId,resizable:i.fullScreen?!0:i.resizable,fullScreenSettable:i.fullScreenSettable,positionable:i.fullScreen?!0:i.positionable,application:i.application,active:i.active}}a.getActiveWindow=r;async function n(){try{return(await y("getWindowsOnActiveDesktop",{})).windows.map(c=>({bounds:c.fullScreen?"fullscreen":{position:{x:c.x,y:c.y},size:{width:c.width,height:c.height}},id:c.id,desktopId:""+c.desktopId,resizable:c.fullScreen?!0:c.resizable,fullScreenSettable:c.fullScreenSettable,positionable:c.fullScreen?!0:c.positionable,application:c.application,active:c.active}))}catch(i){return console.error(i),[]}}a.getWindowsOnActiveDesktop=n;async function o(i){if(i.bounds==="fullscreen"){await y("setWindowBounds",{fullScreen:!0,windowId:i.id});return}await y("setWindowBounds",{windowId:i.id,fullScreen:!1,x:i.bounds.position?.x,y:i.bounds.position?.y,width:i.bounds.size?.width,height:i.bounds.size?.height,desktopId:typeof i.desktopId<"u"?parseFloat(i.desktopId):void 0})}a.setWindowBounds=o})(Pn||={})});var Q,yc,wn,ch=b(()=>{"use strict";Q=require("worker_threads");A();Fe();gc();yc=(r=>(r.UserInitiated="userInitiated",r.Background="background",r))(yc||{}),wn={raycastVersion:process.env.RAYCAST_VERSION,ownerOrAuthorName:Q.workerData?.ownerOrAuthorName,extensionName:Q.workerData?.extensionName,commandName:Q.workerData?.entryPointName,commandMode:Q.workerData?.entryPointMode,assetsPath:Q.workerData?.assetsPath,supportPath:Q.workerData?.supportPath,isDevelopment:Q.workerData?.isDevelopment,appearance:Q.workerData?.appearance,textSize:Q.workerData?.textSize,launchType:Q.workerData?.launchType,canAccess(e){return e===ft||Object.values(ft).includes(e)?Q.workerData?.canAccessAI:typeof e=="string"&&ft.betterAIModels.includes(e)?Q.workerData?.canAccessBetterAIModels:e===hn||Object.values(hn).includes(e)?Q.workerData?.isBrowserExtensionInstalled:e===Pn||Object.values(Pn).includes(e)?Q.workerData?.canAccessWindowManagement:!0},entryPointName:Q.workerData?.entryPointName,entryPointType:Q.workerData?.entryPointType,entryPointMode:Q.workerData?.entryPointMode,theme:Q.workerData?.appearance,get launchContext(){return mn()}}});function f_(){return Object.keys(Sn).reduce((e,t)=>["dropdown","appPicker"].includes(Sn[t].type)?(e[t]=Sn[t]?.value,e):(e[t]=Sn[t]?.value??Sn[t]?.default,e),{})}var lh,Sn,uh=b(()=>{"use strict";lh=require("worker_threads"),Sn=lh.workerData?.preferences||{}});async function h_(){return(await y("getSelectedText",{},{category:"Workspace",data:{function:"getSelectedText"}})).text}async function g_(){return(await y("getSelectedFinderItems",{},{category:"Workspace",data:{function:"getSelectedFinderItems"}})).items}var dh=b(()=>{"use strict";A()});var fa=b(()=>{"use strict";ch();uh();gc();dh()});function Pc(e){dr("createRoot");let t=Cr.get(e),r=t?.fiber;t&&console.warn("createRoot should only be called once!");let n=r||R.createContainer(e,fh.ConcurrentRoot,null,process.env.NODE_ENV!=="production"&&process.env.NODE_ENV!=="test",null,"",console.error,null);return t||Cr.set(e,{fiber:n,shadowTree:void 0}),process.env.NODE_ENV==="development"&&wn.launchType!=="background"&&ys(R),dt("createRoot"),{configure(o){return fc(o.onPromoteTree),this},render(o){dr("render"),R.updateContainer((0,gh.jsx)(Go,{children:o}),n,null,()=>{kt("updateContainer callback")}),dt("render")},unmount(){let a=Cr.get(e)?.fiber;a&&R.updateContainer(null,a,null,()=>{kt("unmount callback")})}}}async function kn(e){if(Fs(),!e)throw new Error("No root element provided for rendering");yn.clear(),dr("building patch");let t=ma(e);if(t.suspended){if(bc){dt("building patch");return}if(ha)try{ha.navigationStack.body.isLoading=!0}catch{}bc=!0;let c=await y("renderSuspense",{});return Tr.emit("suspense"),dt("building patch"),c}bc=!1;let r=(0,mh.compare)(ha||{},t);if(dt("building patch"),ha=t,r.length===0){let c=await y("renderEmpty",{});return Tr.emit("did-render",{empty:!0}),xc++>20&&!vc&&(console.warn("Looks like the command is rendering a lot without any changes. This might indicate an rendering loop caused by a `setState` not being wrapped in a `useEffect`.\nThis will degrade the performances of Raycast and Raycast might arbitrarily decide to terminate the extension if it happens too many times."),vc=!0),c}xc=0,vc=!1,dr("serializing tree");let n=JSON.stringify({model:t,patch:r}),o=Buffer.byteLength(n),a={renderTree:n,gzipped:!1};if(y_&&o>b_){let c=ym(n),l=hh.default.gzipSync(c).toString("base64");a.renderTree=l,a.gzipped=!0}dt("serializing tree");let i=await y("render",a);return Tr.emit("did-render",{empty:!1}),i}var ph,mh,fh,hh,gh,Tr,ha,bc,xc,vc,y_,b_,yh=b(()=>{"use strict";ph=require("node:events"),mh=je(Vm()),fh=require("react-reconciler/constants"),hh=je(require("zlib"));rs();sn();bs();re();Je();hc();ms();fa();gh=require("react/jsx-runtime");global._jsx=function(){return require("react").createElement}();global._jsxFragment=function(){return require("react").Fragment}();Tr=new ph.EventEmitter;ha=null,bc=!1,xc=0,vc=!1;na.on("callback",()=>{xc=0});y_=!0,b_=3e4});var wc=b(()=>{"use strict";yh();Je();hc();De();De()});function ne(e,t,r){let[n,o]=(0,ga.useState)(0);return[typeof e<"u"?{text:e,eventCount:n}:void 0,typeof t<"u"?{text:t,eventCount:0}:void 0,(0,ga.useMemo)(()=>r?a=>{R.batchedUpdates(i=>{r(i.text),o(i.eventCount)},a)}:void 0,[r])]}var ga,bh=b(()=>{"use strict";ga=require("react");wc()});var vh=b(()=>{"use strict";Lm();bh()});function v_(e,t){let n=`__raycast_function_${e}_action`;return q.set(n,async()=>await t()),n}async function Sc(e){if(Array.isArray(e))return await Promise.all(e.map(Sc));if(typeof e=="object"&&e!==null){let t={};return await Promise.all(Object.entries(e).map(async([r,n])=>{t[r]=await Sc(n)})),t}else return typeof e=="function"?await e():e}function kc(e){try{if(xh.workerData.shouldExecuteFunctionsBeforeReturning)return Sc(e).then(t=>({result:JSON.stringify(t,null," ")}));{let t=0;return{result:JSON.stringify(e,(r,n)=>typeof n=="function"?v_(`${r}_${t++}`,n):n," ")}}}catch(t){throw new Error("Could not serialize tool result to JSON: "+t.message)}}var xh,Ph=b(()=>{"use strict";xh=require("worker_threads");re()});var wh={};Ft(wh,{ErrorBoundary:()=>pr,InternalChildContext:()=>me,NavigationRoot:()=>Ho,NavigationView:()=>fr,QuickLookContext:()=>mt,RootComponent:()=>Go,SelectionContextProvider:()=>gr,UpdateNavigationContext:()=>cn,addMethod:()=>qo,allowedTextColors:()=>wr,apiCallbacks:()=>q,benchmarkingStart:()=>dr,benchmarkingStop:()=>dt,callback:()=>V,callbacks:()=>na,configureRPCLogging:()=>is,configureReconciler:()=>fc,connectToReactDeveloperTools:()=>ys,createInstance:()=>Se,createRoot:()=>Pc,expandingTilde:()=>$e,getApplications:()=>pn,getLaunchContext:()=>mn,handleNativeCallback:()=>Vs,handleToolResult:()=>kc,internalChildInvariant:()=>Z,invariant:()=>J,isReservedShortcut:()=>js,isSafeToPaginate:()=>fn,logExceptionAndExit:()=>ur,nodeCallbacks:()=>yn,notifyParent:()=>lr,parseDate:()=>gt,propToInternalChild:()=>X,reactRenderDebugLog:()=>kt,reconciler:()=>R,reconcilerDebugLog:()=>Ue,renderer:()=>Tr,replacer:()=>Ns,request:()=>y,requestNativeMount:()=>kn,reviver:()=>Es,rootViewNode:()=>ma,roots:()=>Cr,sampleMemoryUsage:()=>Fs,showException:()=>ls,unwrappedFormValues:()=>Sr,useHasNoSelectedItem:()=>gs,useId:()=>z,useIsSelectedItem:()=>un,useSelectedItem:()=>ln,useTextChangeHandler:()=>ne,wrapImageIfNeeded:()=>ie});var A=b(()=>{"use strict";sn();Am();bs();vh();wc();re();Ph()});var bC={};Ft(bC,{AI:()=>ft,Action:()=>T,ActionPanel:()=>at,ActionPanelItem:()=>U_,ActionPanelSection:()=>G_,ActionPanelSubmenu:()=>H_,Alert:()=>At,AlertActionStyle:()=>cC,BrowserExtension:()=>hn,Cache:()=>_c,Clipboard:()=>Oe,Color:()=>xr,CopyToClipboardAction:()=>L_,Detail:()=>xa,Form:()=>B,FormCheckbox:()=>K_,FormDatePicker:()=>Q_,FormDropdown:()=>tC,FormDropdownItem:()=>J_,FormDropdownSection:()=>W_,FormSeparator:()=>eC,FormTagPicker:()=>rC,FormTagPickerItem:()=>X_,FormTextArea:()=>Y_,FormTextField:()=>Z_,Grid:()=>Ze,Icon:()=>we,Image:()=>oa,ImageMask:()=>uC,Keyboard:()=>vr,LaunchType:()=>yc,List:()=>Xe,ListItem:()=>oC,ListSection:()=>nC,LocalStorage:()=>ht,MenuBarExtra:()=>Ot,Notes:()=>cf,OAuth:()=>Lg,OpenAction:()=>D_,OpenInBrowserAction:()=>z_,OpenWithAction:()=>M_,PasteAction:()=>$_,PopToRootType:()=>Ds,PushAction:()=>j_,ShowInFinderAction:()=>V_,SubmitFormAction:()=>q_,Toast:()=>fe,ToastStyle:()=>lC,TrashAction:()=>B_,WindowManagement:()=>Pn,allLocalStorageItems:()=>A_,captureException:()=>jS,clearClipboard:()=>C_,clearLocalStorage:()=>I_,clearSearchBar:()=>FS,closeMainWindow:()=>Tt,confirmAlert:()=>Us,copyTextToClipboard:()=>__,environment:()=>wn,getApplications:()=>LS,getDefaultApplication:()=>DS,getFrontmostApplication:()=>zS,getLocalStorageItem:()=>N_,getPreferenceValues:()=>f_,getSelectedFinderItems:()=>g_,getSelectedText:()=>h_,launchCommand:()=>$S,open:()=>$s,openCommandPreferences:()=>IS,openExtensionPreferences:()=>RS,pasteText:()=>T_,popToRoot:()=>OS,preferences:()=>F_,randomId:()=>aC,removeLocalStorageItem:()=>R_,render:()=>dC,setLocalStorageItem:()=>E_,showHUD:()=>Hs,showInFinder:()=>zs,showToast:()=>Pr,specialKeys:()=>O_,trash:()=>Ms,unstable_AI:()=>pC,updateCommandMetadata:()=>MS,useActionPanel:()=>sC,useId:()=>iC,useNavigation:()=>Lc,useUnstableAI:()=>mC});module.exports=fl(bC);var zg=je(rm()),Mg=je(am()),$g=require("util/types"),Y=require("worker_threads");xt();A();De();ot();Fe();var oe=je(require("fs")),_n=je(require("path"));fa();nt();var _c=class e{static get STORAGE_DIRECTORY_NAME(){return"com.raycast.api.cache"}static get DEFAULT_CAPACITY(){return 1e7}directory;namespace;capacity;journal;storage;subscribers;constructor(t={}){let r=t.directory??wn.supportPath;if(r){if(!oe.default.existsSync(r))throw new Error("Cache directory does not exist")}else throw new Error("Invalid Cache directory");this.directory=r,this.namespace=t.namespace,this.capacity=t.capacity??e.DEFAULT_CAPACITY,this.journal=new Cc({directory:this.storageDirectory}),this.storage=new Tc({directory:this.storageDirectory}),this.subscribers=new Set,this.journal.size===0&&this.clear({notifySubscribers:!1}),this.get=this.get.bind(this),this.has=this.has.bind(this),this.set=this.set.bind(this),this.remove=this.remove.bind(this),this.clear=this.clear.bind(this),this.subscribe=this.subscribe.bind(this)}get storageDirectory(){return _n.default.join(this.directory,e.STORAGE_DIRECTORY_NAME,this.namespace??"")}get(t){let r=this.journal.get(t)?.id;if(!(typeof r>"u"))try{let n=this.storage.get(r);return typeof n>"u"&&this.journal.remove(t),n}catch(n){console.error("Could not get Cache data for key:",t,n),this.journal.remove(t),this.storage.remove(r)}}has(t){let r=this.journal.peek(t);if(typeof r>"u")return!1;let n=this.storage.has(r.id);return n||this.journal.remove(t),n}get isEmpty(){return this.journal.size===0}set(t,r){let n=this.journal.peek(t)?.id,o=Buffer.byteLength(r),a=this.journal.set(t,{id:n??te(),size:o});try{this.storage.set(a.id,r),this.maintainCapacity(),this.notifySubscribers(t,r)}catch(i){throw this.journal.remove(t),this.storage.remove(a.id),new Error(`Could not store Cache data for key "${t}": ${String(i)}`)}}remove(t){let r=this.journal.remove(t);if(typeof r>"u")return!1;try{return this.storage.remove(r.id),this.notifySubscribers(t,void 0),!0}catch(n){throw this.journal.set(t,r),new Error(`Could not remove Cache data for key "${t}": ${String(n)}`)}}clear(t={notifySubscribers:!0}){this.storage.clear(),this.journal.clear(),t.notifySubscribers&&this.notifySubscribers(void 0,void 0)}subscribe(t){return this.subscribers.add(t),()=>this.subscribers.delete(t)}maintainCapacity(){for(;this.journal.size>this.capacity;){let t=this.journal.leastRecentlyUsed;if(typeof t>"u")break;let[r,n]=t;this.journal.remove(r),this.storage.remove(n.id)}}notifySubscribers(t,r){this.subscribers.forEach(n=>n(t,r))}},Cc=class e{static VERSION="1";static FILE_NAME="journal";directory;entries;sizeInBytes;constructor(t){this.directory=t.directory,this.entries=new Map,this.sizeInBytes=0,this.read()}get(t){t=this.key(t);let r=this.entries.get(t);if(!(typeof r>"u"))return this.entries.delete(t),this.entries.set(t,r),this.write(),r}peek(t){return this.entries.get(this.key(t))}has(t){return this.entries.has(this.key(t))}get size(){return this.sizeInBytes}get leastRecentlyUsed(){let t=this.entries.keys().next().value;if(typeof t>"u")return;let r=this.entries.get(t);if(!(typeof r>"u"))return[t,r]}set(t,r){return this.entries.set(this.key(t),r),this.write(),r}remove(t){t=this.key(t);let r=this.entries.get(t);if(!(typeof r>"u"))return this.entries.delete(t),this.write(),r}clear(){this.entries=new Map,this.write()}key(t){return t.replaceAll(" ","_")}read(){let t=this.filePath();if(!oe.default.existsSync(t))return;let r=oe.default.readFileSync(t,"utf-8").split(` +`);if(r.length){r.shift(),this.sizeInBytes=0;for(let n of r){let o=n.split(" ");if(o.length!==3)continue;let a=o[0],i=o[1],c=parseInt(o[2]);this.entries.set(a,{id:i,size:c}),this.sizeInBytes+=c}}}write(){let t=`${e.VERSION} +`,r=0;for(let[n,o]of this.entries.entries())t+=`${n} ${o.id} ${o.size} +`,r+=o.size;t=t.trim(),oe.default.existsSync(this.directory)||oe.default.mkdirSync(this.directory,{recursive:!0}),oe.default.writeFileSync(this.filePath(),t),this.sizeInBytes=r}filePath(){return _n.default.join(this.directory,e.FILE_NAME)}},Tc=class{directory;constructor(t){this.directory=t.directory}get(t){if(this.has(t))return oe.default.readFileSync(this.filePath(t),"utf-8")}has(t){return oe.default.existsSync(this.filePath(t))}set(t,r){oe.default.existsSync(this.directory)||oe.default.mkdirSync(this.directory,{recursive:!0}),oe.default.writeFileSync(this.filePath(t),r)}remove(t){return this.has(t)?(oe.default.rmSync(this.filePath(t)),!0):!1}clear(){oe.default.existsSync(this.directory)&&oe.default.readdirSync(this.directory).forEach(r=>{let n=_n.default.join(this.directory,r);oe.default.statSync(n).isFile()&&oe.default.rmSync(n)})}filePath(t){return _n.default.join(this.directory,t)}};A();var Sh=require("react");Fe();se();var kh=require("react/jsx-runtime"),Ac=e=>{let{title:t="Copy to Clipboard",content:r,icon:n="copy-clipboard-16",shortcut:o,onCopy:a,transient:i,concealed:c}=e,l=(0,Sh.useCallback)(()=>{Oe.copy(r,{transient:i,concealed:c}),a?.(r),Tt(),Hs("Copied to Clipboard")},[r,a,i,c]);return(0,kh.jsx)(T,{title:t,icon:n,shortcut:o,onAction:l})};Ac.displayName="Action.CopyToClipboard";var _h=require("react");A();se();var Ch=require("react/jsx-runtime");async function x_(e,t,r,n){let o;typeof r=="string"?o=r:r?.bundleId?o=r.bundleId:r?.path?o=r.path:o=r?.name,await y("createQuicklink",{link:e,name:t,application:o,iconName:n})}var Nc=e=>{let{quicklink:t,title:r="Save as Quicklink",icon:n="link-16",shortcut:o}=e,a=(0,_h.useCallback)(()=>{x_(t.link,t.name,t.application,t.icon)},[t.link,t.name,t.application,t.icon]);return(0,Ch.jsx)(T,{title:r,icon:n,shortcut:o,onAction:a})};Nc.displayName="Action.CreateQuicklink";var Th=require("react");A();se();var Ah=require("react/jsx-runtime");async function P_(e,t,r){await y("createSnippet",{snippet:e,name:t,keyword:r})}var Ec=e=>{let{snippet:t,title:r="Save as Snippet",icon:n="blank-document-16",shortcut:o}=e,a=(0,Th.useCallback)(()=>{P_(t.text,t.name,t.keyword)},[t.text,t.name,t.keyword]);return(0,Ah.jsx)(T,{title:r,icon:n,shortcut:o,onAction:a})};Ec.displayName="Action.CreateSnippet";var Nh=require("react");Fe();se();var Eh=require("react/jsx-runtime"),Et=e=>{let{title:t,application:r,target:n,icon:o="finder-16",shortcut:a,onOpen:i}=e,c=(0,Nh.useCallback)(async()=>{try{await $s(n,r),i?.(n)}catch(l){console.error("Could not open app",l),Pr({style:fe.Style.Failure,title:"Could not open app"})}},[r,n,i]);return(0,Eh.jsx)(T,{title:t,icon:o,shortcut:a,onAction:c})};Et.displayName="Action.Open";se();var Rh=require("react/jsx-runtime"),Rc=e=>(0,Rh.jsx)(Et,{target:e.url,title:e.title??"Open in Browser",icon:e.icon??"globe-01-16",shortcut:e.shortcut,onOpen:e.onOpen});Rc.displayName="Action.OpenInBrowser";var Ar=require("react");se();A();A();var Ih=require("react/jsx-runtime"),Cn=e=>{let t=z(e.id),[,,r]=ne(void 0,void 0,e.onSearchTextChange);return(0,Ih.jsx)("ray-submenu-item",{title:e.title,id:t,icon:e.icon,shortcut:e.shortcut,onOpen:e.onOpen,autoFocus:e.autoFocus,throttle:e.throttle,filtering:e.filtering,isLoading:e.isLoading,onSearchTextChange:r,children:e.children})};Cn.displayName="ActionPanel.Submenu";var Ic=require("react/jsx-runtime"),Oc=e=>{let t=(0,Ar.useRef)(null),[r,n]=(0,Ar.useState)([]);return(0,Ar.useEffect)(()=>(t.current?.abort(),t.current=new AbortController,pn(e.path,t.current?.signal).then(n).catch(o=>{o.name!=="AbortError"&&(console.error(o),n([]))}),()=>{t.current?.abort()}),[e.path]),(0,Ic.jsx)(Cn,{title:e.title??"Open With",icon:e.icon??"upload-16",shortcut:e.shortcut,children:r.map(o=>(0,Ic.jsx)(Et,{title:o.name,icon:{fileIcon:o.path},target:e.path,application:o,onOpen:e.onOpen},o.path))})};Oc.displayName="Action.OpenWith";var Oh=require("react");Fe();se();var Fh=require("react/jsx-runtime"),Fc=e=>{let{title:t="Paste in Active App",icon:r="copy-clipboard-16",shortcut:n,content:o,onPaste:a}=e,i=(0,Oh.useCallback)(()=>{Oe.paste(o),a?.(o),Tt()},[o,a]);return(0,Fh.jsx)(T,{title:t,icon:r,shortcut:n,onAction:i})};Fc.displayName="Action.Paste";var Dh=require("react");var Rt=require("react");A();nt();var Lh=require("react/jsx-runtime");function Lc(){let e=(0,Rt.useContext)(cn),t=(0,Rt.useRef)(""),r=(0,Rt.useCallback)((o,a)=>{e(i=>{let c=te();return{...i,routes:[...i.routes,{node:(0,Lh.jsx)(fr,{children:o},c),onPop:a}],lastNavigationInfo:{action:"push",id:c}}})},[e]),n=(0,Rt.useCallback)(()=>{let o=te();e(a=>{let i=[...a.routes];if(i.length>1){let c=i.pop();c&&c.onPop&&t.current!==o&&(t.current=o,c.onPop())}return{...a,routes:i,lastNavigationInfo:{action:"pop",id:o}}})},[e]);return{push:r,pop:n}}var zh=require("react/jsx-runtime"),Dc=e=>{let{title:t,icon:r,shortcut:n,onPush:o,onPop:a,target:i}=e,{push:c}=Lc(),l=(0,Dh.useCallback)(()=>{c(i,a),o?.()},[i,o,c,a]);return(0,zh.jsx)(T,{title:t,icon:r,shortcut:n,onAction:l})};Dc.displayName="Action.Push";var Mh=require("react");se();Fe();var $h=require("react/jsx-runtime"),zc=e=>{let{title:t="Show in Finder",icon:r="finder-16",shortcut:n,onShow:o,path:a}=e,i=(0,Mh.useCallback)(()=>{zs(a),o?.(a),Tt()},[o,a]);return(0,$h.jsx)(T,{title:t,icon:r,shortcut:n,onAction:i})};zc.displayName="Action.ShowInFinder";A();var jh=require("react"),Vh=require("react/jsx-runtime"),Mc=e=>{let{title:t="Submit Form",onSubmit:r,icon:n,shortcut:o,style:a}=e,i=(0,jh.useCallback)(async c=>{if(!c)return;let l=Sr(c);await r?.(l)===!1&&await y("shakeMainRaycastWindow",{})},[r]);return(0,Vh.jsx)(T,{title:t,icon:n,shortcut:o,type:"submit-form",onAction:i,style:a})};Mc.displayName="Action.SubmitForm";var ya=require("path");Fe();se();Gs();var qh=require("react/jsx-runtime"),$c=e=>{async function t(){let r=Array.isArray(e.paths)&&e.paths.length>1,n=await Pr({style:fe.Style.Animated,title:r?"Moving items to trash":"Moving item to trash"});try{let o;Array.isArray(e.paths)?o=e.paths.length+" items":typeof e.paths=="string"?o=(0,ya.basename)((0,ya.resolve)(e.paths)):o="1 item";let a={icon:"trash-16",title:"Move to Trash",message:`Are you sure you want to move ${o} to the trash?`,primaryAction:{title:"Confirm",style:At.ActionStyle.Destructive},dismissAction:{title:"Cancel",style:At.ActionStyle.Cancel}};await Us(a)?(await Ms(e.paths),e.onTrash&&e.onTrash(e.paths),n.style=fe.Style.Success,n.title=r?"Moved items to trash":"Moved item to trash"):n.hide()}catch(o){n.style=fe.Style.Failure,n.title=r?"Failed moving items to trash":"Failed moving item to trash";let a=o instanceof Error?o.message:void 0;n.message=a,a&&(n.primaryAction={title:"Copy Error",onAction:async i=>{await Oe.copy(a),i.hide()}}),console.error(o)}}return(0,qh.jsx)(T,{title:e.title??"Move to Trash",icon:e.icon??{source:"trash-16",tintColor:"raycast-red"},shortcut:e.shortcut,style:T.Style.Destructive,onAction:t})};$c.displayName="Action.Trash";var ba=require("react");Fe();se();A();var Bh=require("react/jsx-runtime");async function w_(e,t){let r=await $e(e);return await y("toggleQuickLook",{path:r,name:t})}var jc=e=>{let t=(0,ba.useContext)(mt),{title:r="Quick Look",icon:n="eye-16",shortcut:o=vr.Shortcut.Common.ToggleQuickLook}=e;process.env.NODE_ENV!=="production"&&t===void 0&&console.warn("The `<Action.ToggleQuickLook />` cannot find a `quickLook` prop on the selected `<Grid.Item />` or `<List.Item />`. Add the Quick Look information to show a preview.");let a=(0,ba.useCallback)(()=>{t&&w_(t.path,t?.name??void 0)},[t]);return t?(0,Bh.jsx)(T,{title:r,icon:n,shortcut:o,onAction:a}):null};jc.displayName="Action.ToggleQuickLook";var Uh=require("react");se();A();var Gh=require("react/jsx-runtime"),Hh=(r=>(r.Date="date",r.DateTime="date_time",r))(Hh||{}),Tn=e=>{let t=e.type==="date"?"date-picker":"date-time-picker",{title:r,icon:n="calendar-16",shortcut:o,onChange:a,min:i,max:c}=e,l=(0,Uh.useCallback)(d=>{typeof d>"u"||a?.(gt(d))},[a]);return(0,Gh.jsx)(T,{title:r,icon:n,shortcut:o,type:t,onAction:l,min:i,max:c})};Tn.displayName="Action.PickDate";Tn.Type=Hh;Tn.isFullDay=e=>!!e&&e.getMilliseconds()===1;var Vc=(r=>(r.Regular="regular",r.Destructive="destructive",r))(Vc||{});re();ot();var Wh=require("react");A();se();var Jh=require("react/jsx-runtime");async function S_(e){await y("installMCPServer",{name:e.name,transport:e.transport,command:e.transport==="stdio"?e.command:void 0,args:e.transport==="stdio"?e.args:void 0,url:e.transport==="sse"?e.url:void 0,additionalConfiguration:e.transport==="stdio"?e.env:e.headers,iconName:e.icon,description:e.description})}var qc=e=>{let{server:t,title:r="Install MCP Server",icon:n="arrow-down-16",shortcut:o}=e,a=(0,Wh.useCallback)(()=>{S_(t)},[t]);return(0,Jh.jsx)(T,{title:r,icon:n,shortcut:o,onAction:a})};qc.displayName="Action.InstallMCPServer";var Xh=require("react/jsx-runtime"),T=e=>{let{title:t,autoFocus:r,type:n,icon:o,style:a,shortcut:i,onAction:c,min:l,max:d}=e,u=z(),p=J(!(i&&js(i)),`The \`shortcut\` prop provided to the Action \`${t}\` is reserved by Raycast and has been removed. Please use another shortcut instead of \`${JSON.stringify(i)}\`.`);return(0,Xh.jsx)("ray-menu-item",{title:t,id:u,icon:o,style:a,shortcut:p?i:void 0,onAction:c?(...g)=>{ut({category:"Action",data:{title:t}}),c(...g)}:void 0,autoFocus:r,type:n,min:l,max:d})};T.CopyToClipboard=Ac;T.CreateQuicklink=Nc;T.InstallMCPServer=qc;T.CreateSnippet=Ec;T.Open=Et;T.OpenInBrowser=Rc;T.OpenWith=Oc;T.Paste=Fc;T.Push=Dc;T.ShowInFinder=zc;T.SubmitForm=Mc;T.Trash=$c;T.ToggleQuickLook=jc;T.PickDate=Tn;T.Style=Vc;T.displayName="Action";var Yh=require("react");A();var Zh=require("react/jsx-runtime"),Bc=e=>(0,Zh.jsx)("ray-menu-section",{title:e.title,children:e.children});Bc.displayName="ActionPanel.Section";var Kh=require("react/jsx-runtime"),at=e=>{let t=(0,Yh.useContext)(me);return(0,Kh.jsx)("ray-action-panel",{title:e.title,internal:t,children:e.children})};at.displayName="ActionPanel";at.Item=T;at.Section=Bc;at.Submenu=Cn;A();var ng=require("react");A();A();var Qh=require("react/jsx-runtime"),Uc=e=>{let t=z();return(0,Qh.jsx)("ray-metadata-label",{id:t,title:e.title,icon:e.icon,text:e.text})};Uc.displayName="Metadata.Label";A();var eg=require("react/jsx-runtime"),Hc=e=>{let t=z();return(0,eg.jsx)("ray-metadata-separator",{id:t})};Hc.displayName="Metadata.Separator";A();var tg=require("react/jsx-runtime"),Gc=e=>{let t=z();return(0,tg.jsx)("ray-metadata-link",{id:t,title:e.title,target:e.target,text:e.text})};Gc.displayName="Metadata.Link";A();var Wc=require("react/jsx-runtime"),rg=e=>{let t=z();return(0,Wc.jsx)("ray-metadata-taglist-item",{id:t,text:e.text,icon:e.icon,color:e.color,onAction:e.onAction})};rg.displayName="Metadata.TagList.Item";var va=e=>{let t=z();return(0,Wc.jsx)("ray-metadata-taglist",{id:t,title:e.title,children:e.children})};va.displayName="Metadata.TagList";va.Item=rg;var og=require("react/jsx-runtime"),it=e=>{let t=(0,ng.useContext)(me);return(0,og.jsx)("ray-metadata",{internal:t,children:e.children})};it.displayName="Metadata";it.Label=Uc;it.Separator=Hc;it.Link=Gc;it.TagList=va;var ag=require("react/jsx-runtime"),xa=e=>(0,ag.jsxs)("ray-detail",{navigationTitle:e.navigationTitle,isLoading:e.isLoading,markdown:e.markdown??"",children:[X(e.actions),X(e.metadata)]});xa.displayName="Detail";xa.Metadata=it;A();var Pa=require("react");A();function ce(e){return{focus:async()=>await y("formSetFocus",{itemId:e}),reset:async()=>await y("formReset",{itemId:e})}}var ig=require("react/jsx-runtime"),Jc=(0,Pa.forwardRef)((e,t)=>((0,Pa.useImperativeHandle)(t,()=>ce(e.id),[e.id]),(0,ig.jsx)("ray-form-checkbox",{id:e.id,title:e.title,info:e.info,error:e.error,storeValue:e.storeValue,autoFocus:e.autoFocus,value:e.value,defaultValue:e.defaultValue,label:e.label,onChange:e.onChange,onBlur:e.onBlur,onFocus:e.onFocus})));Jc.displayName="Form.Checkbox";var wa=require("react");var cg=require("react/jsx-runtime"),sg=(r=>(r.Date="date",r.DateTime="date_time",r))(sg||{}),An=(0,wa.forwardRef)((e,t)=>((0,wa.useImperativeHandle)(t,()=>ce(e.id),[e.id]),(0,cg.jsx)("ray-form-datepicker",{id:e.id,title:e.title,info:e.info,error:e.error,storeValue:e.storeValue,autoFocus:e.autoFocus,value:e.value,defaultValue:e.defaultValue,onChange:e.onChange,onBlur:e.onBlur,onFocus:e.onFocus,type:e.type,min:e.min,max:e.max})));An.displayName="Form.DatePicker";An.Type=sg;An.isFullDay=e=>!!e&&e.getMilliseconds()===1;A();var lg=require("react/jsx-runtime"),Xc=e=>{let t=z();return(0,lg.jsx)("ray-form-description",{title:e.title,text:e.text,id:t})};Xc.displayName="Form.Description";var Sa=require("react");A();var Ca=require("react/jsx-runtime"),ka=e=>(0,Ca.jsx)("ray-menu-section",{title:e.title,children:e.children});ka.displayName="Form.Dropdown.Section";var _a=e=>(0,Ca.jsx)("ray-menu-item",{title:e.title,id:e.value,icon:e.icon,keywords:e.keywords});_a.displayName="Form.Dropdown.Item";var Nn=(0,Sa.forwardRef)((e,t)=>{(0,Sa.useImperativeHandle)(t,()=>ce(e.id),[e.id]);let[,,r]=ne(void 0,void 0,e.onSearchTextChange);return(0,Ca.jsx)("ray-form-dropdown",{id:e.id,title:e.title,info:e.info,error:e.error,storeValue:e.storeValue,autoFocus:e.autoFocus,value:e.value,defaultValue:e.defaultValue,onChange:e.onChange,onBlur:e.onBlur,onFocus:e.onFocus,throttle:e.throttle,filtering:e.filtering,isLoading:e.isLoading,onSearchTextChange:r,placeholder:e.placeholder,children:e.children})});Nn.displayName="Form.Dropdown";Nn.Section=ka;Nn.Item=_a;var Ta=require("react");A();var ug=require("react/jsx-runtime"),Zc=(0,Ta.forwardRef)((e,t)=>{(0,Ta.useImperativeHandle)(t,()=>ce(e.id),[e.id]);let[r,n,o]=ne(e.value,e.defaultValue,e.onChange);return(0,ug.jsx)("ray-form-passwordfield",{id:e.id,title:e.title,info:e.info,error:e.error,storeValue:e.storeValue,autoFocus:e.autoFocus,value:r,defaultValue:n,placeholder:e.placeholder,onChange:o,onBlur:e.onBlur,onFocus:e.onFocus})});Zc.displayName="Form.PasswordField";A();var dg=require("react/jsx-runtime"),Yc=()=>{let e=z();return(0,dg.jsx)("ray-form-separator",{id:e})};Yc.displayName="Form.Separator";var Aa=require("react");var Kc=require("react/jsx-runtime"),Na=e=>(0,Kc.jsx)("ray-form-tagpicker-item",{title:e.title,value:e.value,icon:e.icon});Na.displayName="Form.TagPicker.Item";var Ea=(0,Aa.forwardRef)((e,t)=>((0,Aa.useImperativeHandle)(t,()=>ce(e.id),[e.id]),(0,Kc.jsx)("ray-form-tagpicker",{id:e.id,title:e.title,info:e.info,error:e.error,storeValue:e.storeValue,autoFocus:e.autoFocus,value:e.value,defaultValue:e.defaultValue,placeholder:e.placeholder,onChange:e.onChange,onBlur:e.onBlur,onFocus:e.onFocus,onCreate:e.onCreate,children:e.children})));Ea.displayName="Form.TagPicker";Ea.Item=Na;var Ra=require("react");A();var pg=require("react/jsx-runtime"),Qc=(0,Ra.forwardRef)((e,t)=>{(0,Ra.useImperativeHandle)(t,()=>ce(e.id),[e.id]);let[r,n,o]=ne(e.value,e.defaultValue,e.onChange);return(0,pg.jsx)("ray-form-textarea",{id:e.id,title:e.title,info:e.info,error:e.error,storeValue:e.storeValue,autoFocus:e.autoFocus,value:r,defaultValue:n,placeholder:e.placeholder,enableMarkdown:e.enableMarkdown,onChange:o,onBlur:e.onBlur,onFocus:e.onFocus})});Qc.displayName="Form.TextArea";var Ia=require("react");A();var mg=require("react/jsx-runtime"),el=(0,Ia.forwardRef)((e,t)=>{(0,Ia.useImperativeHandle)(t,()=>ce(e.id),[e.id]);let[r,n,o]=ne(e.value,e.defaultValue,e.onChange);return(0,mg.jsx)("ray-form-textfield",{id:e.id,title:e.title,info:e.info,error:e.error,storeValue:e.storeValue,autoFocus:e.autoFocus,value:r,defaultValue:n,placeholder:e.placeholder,onChange:o,onBlur:e.onBlur,onFocus:e.onFocus})});el.displayName="Form.TextField";var Oa=require("react");var fg=require("react/jsx-runtime"),tl=(0,Oa.forwardRef)((e,t)=>((0,Oa.useImperativeHandle)(t,()=>ce(e.id),[e.id]),(0,fg.jsx)("ray-form-filepicker",{id:e.id,title:e.title,info:e.info,error:e.error,storeValue:e.storeValue,autoFocus:e.autoFocus,value:e.value,defaultValue:e.defaultValue,onChange:e.onChange,onBlur:e.onBlur,onFocus:e.onFocus,canChooseDirectories:e.canChooseDirectories,canChooseFiles:e.canChooseFiles,showHiddenFiles:e.showHiddenFiles,allowMultipleSelection:e.allowMultipleSelection})));tl.displayName="Form.FilePicker";var hg=require("react");A();var gg=require("react/jsx-runtime"),rl=e=>{let t=(0,hg.useContext)(me);return(0,gg.jsx)("ray-search-bar-linkaccessory",{internal:t,target:e.target,text:e.text})};rl.displayName="LinkAccessory";var yg=require("react/jsx-runtime"),B=e=>(0,yg.jsxs)("ray-form",{navigationTitle:e.navigationTitle,isLoading:e.isLoading,enableDrafts:e.enableDrafts??!1,children:[X(e.searchBarAccessory),X(e.actions),e.children]});B.displayName="Form";B.DropdownSection=ka;B.DropdownItem=_a;B.TagPickerItem=Na;B.Checkbox=Jc;B.DatePicker=An;B.Description=Xc;B.Dropdown=Nn;B.PasswordField=Zc;B.Separator=Yc;B.TagPicker=Ea;B.TextArea=Qc;B.TextField=el;B.FilePicker=tl;B.LinkAccessory=rl;var _g=require("react");A();A();var bg=require("react/jsx-runtime"),En=e=>{let t=z(),r=gs();return(0,bg.jsx)("ray-empty-view",{id:t,icon:e.icon,title:e.title,description:e.description,children:r?X(e.actions):null})};En.displayName="EmptyView";A();var vg=require("react/jsx-runtime"),nl=e=>{let t=z(e.id);return(0,vg.jsx)("ray-list-section",{id:t,title:e.title,subtitle:e.subtitle,children:e.children})};nl.displayName="List.Section";var xg=require("react");A();var Fa=require("react/jsx-runtime"),Pg=e=>(0,Fa.jsx)("ray-menu-section",{title:e.title,children:e.children});Pg.displayName="Dropdown.Section";var wg=e=>(0,Fa.jsx)("ray-menu-item",{title:e.title,id:e.value,icon:e.icon,keywords:e.keywords});wg.displayName="Dropdown.Item";var It=e=>{let t=(0,xg.useContext)(me),r=e.id||"default_dropdown_id",[,,n]=ne(void 0,void 0,e.onSearchTextChange);return(0,Fa.jsx)("ray-search-bar-dropdown",{id:r,internal:t,tooltip:e.tooltip,storeValue:e.storeValue,value:e.value,defaultValue:e.defaultValue,onChange:e.onChange,throttle:e.throttle,filtering:e.filtering,isLoading:e.isLoading,onSearchTextChange:n,placeholder:e.placeholder,children:e.children})};It.displayName="Dropdown";It.Section=Pg;It.Item=wg;A();var Sg=require("react");A();var kg=require("react/jsx-runtime"),La=e=>{let t=(0,Sg.useContext)(me);return(0,kg.jsx)("ray-list-item-detail",{isLoading:e.isLoading,markdown:e.markdown??"",internal:t,children:X(e.metadata)})};La.displayName="List.Item.Detail";La.Metadata=it;var za=require("react/jsx-runtime"),Da=e=>{let t=z(e.id),r=un(t);return(0,za.jsx)("ray-list-item",{id:t,title:e.title,subtitle:e.subtitle,keywords:e.keywords,icon:e.icon,accessoryIcon:e.accessoryIcon,accessoryTitle:e.accessoryTitle,accessories:e.accessories,quickLook:e.quickLook,children:(0,za.jsxs)(mt.Provider,{value:e.quickLook,children:[r?X(e.detail):null,r?X(e.actions):null]})})};Da.displayName="List.Item";Da.Detail=La;var Ma=require("react/jsx-runtime"),Xe=e=>{let t=z(),[r,n]=ln(e.onSelectionChange),[o,,a]=ne(e.searchText,void 0,e.onSearchTextChange),i=!!e.pagination,c=fn(),l=(0,_g.useMemo)(()=>J(!(i&&!c),`Refusing to paginate further as it could cause the extension to run out of memory. Currently using: ${(process.memoryUsage().heapUsed/1048576).toFixed(3)}MB.`),[i,c]);return(0,Ma.jsxs)("ray-list",{searchBarPlaceholder:e.searchBarPlaceholder,onSelectionChange:n,selectedItemId:e.selectedItemId,throttle:e.throttle,navigationTitle:e.navigationTitle,filtering:typeof e.filtering<"u"?e.filtering:e.enableFiltering,isLoading:e.isLoading,searchText:o,onSearchTextChange:a,isShowingDetail:e.isShowingDetail,id:t,pagination:l?e.pagination:void 0,children:[r?null:X(e.actions),X(e.searchBarAccessory),(0,Ma.jsx)(gr,{selectedItem:r,isLoading:e.isLoading,children:e.children})]})};Xe.displayName="List";Xe.EmptyView=En;Xe.Section=nl;Xe.Item=Da;Xe.Dropdown=It;var Tg=require("react");A();A();var Cg=require("react/jsx-runtime"),ol=e=>{let t=z();return(0,Cg.jsx)("ray-grid-section",{id:t,title:e.title,subtitle:e.subtitle,columns:e.columns,aspectRatio:e.aspectRatio,fit:e.fit,inset:e.inset,children:e.children})};ol.displayName="Grid.Section";A();var al=require("react/jsx-runtime"),il=e=>{let t=z(e.id),r=un(t);return(0,al.jsx)("ray-grid-item",{id:t,title:e.title,subtitle:e.subtitle,keywords:e.keywords,accessory:e.accessory,content:e.content,quickLook:e.quickLook,children:(0,al.jsx)(mt.Provider,{value:e.quickLook,children:r?X(e.actions):null})})};il.displayName="Grid.Item";Qs();var $a=require("react/jsx-runtime"),Ze=e=>{let t=z(),[r,n]=ln(e.onSelectionChange),[o,,a]=ne(e.searchText,void 0,e.onSearchTextChange),i=!!e.pagination,c=fn(),l=(0,Tg.useMemo)(()=>J(!(i&&!c),`Refusing to paginate further as it could cause the extension to run out of memory. Currently using: ${(process.memoryUsage().heapUsed/1048576).toFixed(3)}MB.`),[i,c]);return(0,$a.jsxs)("ray-grid",{searchBarPlaceholder:e.searchBarPlaceholder,onSelectionChange:n,selectedItemId:e.selectedItemId,throttle:e.throttle,navigationTitle:e.navigationTitle,filtering:typeof e.filtering<"u"?e.filtering:e.enableFiltering,isLoading:e.isLoading,searchText:o,onSearchTextChange:a,columns:e.columns,itemSize:e.itemSize,aspectRatio:e.aspectRatio,fit:e.fit,inset:e.inset,id:t,pagination:l?e.pagination:void 0,children:[r?null:X(e.actions),X(e.searchBarAccessory),(0,$a.jsx)(gr,{selectedItem:r,isLoading:e.isLoading,children:e.children})]})};Ze.displayName="Grid";Ze.EmptyView=En;Ze.Section=ol;Ze.Item=il;Ze.ItemSize=Ks;Ze.Inset=Zs;Ze.Fit=Ys;Ze.Dropdown=It;var Ag=require("react/jsx-runtime"),sl=e=>(0,Ag.jsx)("ray-menu-bar-extra-submenu",{title:e.title,icon:e.icon,children:e.children});sl.displayName="MenuBarExtra.Submenu";var cl=require("node:perf_hooks"),Ye=require("react");A();ot();var Ng=require("react/jsx-runtime"),ll=e=>{let t=(0,Ye.useContext)(me),[,r]=(0,Ye.useState)(cl.performance.now()),n=(0,Ye.useCallback)(d=>{let u=e.onAction;if(u)return Promise.resolve().then(()=>(ut({category:"Action",data:{title:e.title,eventType:d.type}}),u(d))).then(()=>new Promise(p=>{Tr.once("did-render",()=>p()),r(cl.performance.now())}))},[e.onAction,e.title]),o=typeof e.alternate<"u",a=typeof e.shortcut<"u",i=e.shortcut&&"macOS"in e.shortcut?e.shortcut.macOS.modifiers.includes("opt"):e.shortcut?.modifiers.includes("opt"),c=(0,Ye.useMemo)(()=>!J(!(t&&a),`A \`MenuBarExtra.Item\` passed as \`alternate\` cannot specify a shortcut, and will be ignored. Item title: "${e.title}".`),[t,a,e.title]),l=(0,Ye.useMemo)(()=>!J(!(t&&a),`A \`MenuBarExtra.Item\` passed as \`alternate\` cannot also specify an alternate item. Item title: "${e.title}"`),[t,a,e.title]);return(0,Ye.useMemo)(()=>J(!(o&&i),`A \`MenuBarExtra.Item\` that passes an \`alternate\` cannot use \u2325 (opt) as a shortcut modifier. Using the shortcut without the \u2325 modifier. Item title: "${e.title}".`),[o,i,e.title]),(0,Ng.jsx)("ray-menu-bar-extra-item",{title:e.title,subtitle:e.subtitle,icon:e.icon,tooltip:e.tooltip,onAction:e.onAction?n:void 0,shortcut:c?void 0:e.shortcut,internal:t,children:l?void 0:X(e.alternate)})};ll.displayName="MenuBarExtra.Item";var Eg=require("react/jsx-runtime"),ul=()=>(0,Eg.jsx)("ray-menu-bar-extra-separator",{});ul.displayName="MenuBarExtra.Separator";var Rg=require("react/jsx-runtime"),dl=e=>(0,Rg.jsx)("ray-menu-bar-extra-section",{title:e.title,children:e.children});dl.displayName="MenuBarExtra.Section";var Ig=require("react/jsx-runtime"),Ot=e=>(0,Ig.jsx)("ray-menu-bar-extra",{isLoading:e.isLoading,title:e.title,icon:e.icon,tooltip:e.tooltip,children:e.children});Ot.displayName="MenuBarExtra";Ot.Item=ll;Ot.Separator=ul;Ot.Submenu=sl;Ot.Section=dl;fa();var Fg=require("url");xt();A();function Rn(e){return e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}var pl=je(require("crypto"));function Og(){let e=Rn(pl.default.randomBytes(32));return{codeChallenge:Rn(k_(Buffer.from(e))),codeVerifier:e}}function k_(e){return pl.default.createHash("sha256").update(e).digest()}ot();var Lg;(r=>{class e{redirectMethod;providerName;providerIcon;providerId;description;resolvesOnRedirect;isAuthorizing=!1;constructor(o){this.redirectMethod=o.redirectMethod,this.providerName=o.providerName,this.providerIcon=o.providerIcon,this.providerId=o.providerId??"default",this.description=o.description}async authorizationRequest(o){let{codeChallenge:a,codeVerifier:i}=Og(),c=`oAuth_onRedirect_${a}`;this.resolvesOnRedirect=new Promise(l=>{q.set(c,async d=>{q.delete(c);let{authorizationCode:u}=d;l({authorizationCode:u})})});try{let l=await y("initOAuth",{flow:"PKCE",redirectMethod:this.redirectMethod,onRedirect:c,providerIcon:this.providerIcon?JSON.stringify(ie(this.providerIcon)):void 0,providerName:this.providerName,description:this.description}),d=Rn(Buffer.from(l.state)),u={codeChallenge:a,codeVerifier:i,state:d,redirectURI:l.redirectURI};return{...u,toURL:()=>this.authorizationURL({...u,...o})}}catch(l){throw new be(l,16,"Could not initialize OAuth",{breadcrumbs:Ie()}).serialize()}finally{this.isAuthorizing=!1}}async authorize(o){let a;if("url"in o)a=o.url;else if(o.toURL)a=o.toURL();else throw new Error("Invalid authorization URL");if(this.isAuthorizing||(this.isAuthorizing=!0,await y("authorizeOAuth",{url:a})),!this.resolvesOnRedirect)throw this.isAuthorizing=!1,new Error("Invalid AuthorizationRequest");let i=await this.resolvesOnRedirect;return this.resolvesOnRedirect=null,this.isAuthorizing=!1,i}authorizationURL(o){let a=new Fg.URLSearchParams;if(a.append("client_id",o.clientId),a.append("redirect_uri",o.redirectURI),a.append("response_type","code"),a.append("scope",o.scope),a.append("code_challenge",o.codeChallenge),a.append("code_challenge_method","S256"),a.append("state",o.state),o.extraParameters)for(let i in o.extraParameters)a.set(i,o.extraParameters[i]);return o.endpoint+"?"+a.toString()}async setTokens(o){let a={accessToken:"",refreshToken:void 0,idToken:void 0,expiresIn:void 0,scope:o.scope,providerId:this.providerId,providerName:this.providerName,updatedAt:new Date().toISOString()};if("accessToken"in o?a.accessToken=o.accessToken:"access_token"in o&&(a.accessToken=o.access_token),!a.accessToken)throw new Error("Invalid TokenSet: accessToken missing");"refreshToken"in o?a.refreshToken=o.refreshToken:"refresh_token"in o&&(a.refreshToken=o.refresh_token),"idToken"in o?a.idToken=o.idToken:"id_token"in o&&(a.idToken=o.id_token),"expiresIn"in o?a.expiresIn=o.expiresIn:"expires_in"in o&&(a.expiresIn=o.expires_in),await y("setOAuthTokens",{tokenSet:a})}async getTokens(){let o=await y("getOAuthTokens",{providerId:this.providerId});if(!o.tokenSet)return;let a=new Date(o.tokenSet.updatedAt);return{...o.tokenSet,updatedAt:a,isExpired:()=>{if(!o.tokenSet.expiresIn)return!1;let c=a.getTime(),l=new Date().getTime(),d=(o.tokenSet.expiresIn-10)*1e3;return l>c+d}}}async removeTokens(){await y("removeOAuthTokens",{providerId:this.providerId})}}r.PKCEClient=e;let t;(i=>(i.Web="web",i.App="app",i.AppURI="appURI"))(t=r.RedirectMethod||={})})(Lg||={});se();Fe();var Dg=require("worker_threads");A();se();nt();var __=Oe.copy,C_=Oe.clear,T_=Oe.paste,A_=ht.allItems,N_=ht.getItem,E_=ht.setItem,R_=ht.removeItem,I_=ht.clear,O_={return:"\r",delete:"\u232B",deleteForward:"\u2326",tab:"\u21E5",arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",pageUp:"\u21DE",pageDown:"\u21DF",home:"\u2196",end:"\u2198",space:" ",escape:"\u238B",enter:"\u21B5",backspace:"\u232B"},F_=Dg.workerData?.preferences,L_=T.CopyToClipboard,D_=T.Open,z_=T.OpenInBrowser,M_=T.OpenWith,$_=T.Paste,j_=T.Push,V_=T.ShowInFinder,q_=T.SubmitForm,B_=T.Trash,U_=T,H_=at.Submenu,G_=at.Section,W_=B.Dropdown.Section,J_=B.Dropdown.Item,X_=B.TagPicker.Item,Z_=B.TextField,Y_=B.TextArea,K_=B.Checkbox,Q_=B.DatePicker,eC=B.Separator,tC=B.Dropdown,rC=B.TagPicker,nC=Xe.Section,oC=Xe.Item,aC=te,iC=z;function sC(){return{update:()=>{console.error("`useActionPanel` does not work anymore. Plus use `ActionPanel` instead.")}}}var cC=At.ActionStyle,lC=fe.Style,uC=oa.Mask,dC=e=>Pc(Symbol()).configure({onPromoteTree:kn}).render(e),pC=ft,mC=()=>{};process.env.EXTENSION_NAME=Y.workerData?.extensionName;process.env.COMMAND_NAME=Y.workerData?.entryPointName;process.env.ASSETS_PATH=Y.workerData?.assetsPath;process.env.SUPPORT_PATH=Y.workerData?.supportPath;is();process.on("unhandledRejection",(e,t)=>{ur(new be(e,2,"Unhandled Extension Rejection",{breadcrumbs:Ie()}))}).on("uncaughtException",e=>{ur(new be(e,1,"Uncaught Extension Exception",{breadcrumbs:Ie()}))});process.env.http_proxy!==void 0&&(process.env.HTTP_PROXY=process.env.http_proxy);process.env.https_proxy!==void 0&&(process.env.HTTPS_PROXY=process.env.https_proxy);process.env.no_proxy!==void 0&&(process.env.NO_PROXY=process.env.no_proxy);if(process.env.HTTP_PROXY!==void 0||process.env.HTTPS_PROXY!==void 0)try{(0,zg.bootstrap)({environmentVariableNamespace:""})}catch(e){console.error("Proxy configuration error",e)}qo("initialize",fC);qo("nativeCallback",Vs);function fC(){switch(Y.workerData?.entryPointType){case"command":switch(Y.workerData?.entryPointMode){case"no-view":return hC();case"view":case"menu-bar":return gC();default:return Promise.reject(new Error(`Unknown entryPointMode ${Y.workerData?.entryPointMode} specified`))}case"tool":return yC();default:return Promise.reject(new Error(`Unknown entry point type ${Y.workerData?.entryPointType} specified`))}}function hC(){let e=Y.workerData?.namedExport||"default",t=require(Y.workerData?.commandPath),r=t[e];if(!r&&e!=="default")return Promise.reject(new Error(`Command "${e}" export not found`));if(!r)return In(Promise.resolve());if(r instanceof Promise)return In(t.default);if(typeof r=="function"){let n=jg();return In(Promise.resolve(r(n)))}return Promise.reject(new Error(`Command "${e}" export is not a function`))}function gC(){let e=Y.workerData?.namedExport||"default",r=require(Y.workerData?.commandPath)[e];if(!r&&e!=="default")return Promise.reject(new Error(`Command "${e}" export not found`));if(!r)return console.warn(`Command has no "${e}" export`),In(Promise.resolve());if(!(0,Mg.isValidElementType)(r))return r instanceof Promise||(0,$g.isAsyncFunction)(r)?Promise.reject(new Error(`Async main functions for 'view' or 'menu-bar' commands are unspecified behavior - use a function that returns a view component or declare the command with mode "no-view" in the manifest.`)):Promise.reject(new Error(`"${e}" export is not a valid React Element type.`));let n=require("react"),o=(A(),fl(wh)),a=jg(),i=n.createElement(r,a);return o.createRoot(Symbol("raycast-root")).configure({onPromoteTree:kn}).render(i),Promise.resolve()}function jg(){let e={fallbackText:Y.workerData?.fallbackText,arguments:Y.workerData?.argumentValues||{},launchType:Y.workerData?.launchType,get launchContext(){return mn()}};if(Y.workerData?.draftValues)try{let t=JSON.parse(Y.workerData.draftValues);e.draftValues=Sr(t)}catch(t){console.error("Error parsing draft values",t)}return e}function yC(){let e=Y.workerData?.namedExport||"default",r=require(Y.workerData?.toolPath)[e];if(typeof r!="function")return Promise.reject(new Error(`Tool "${e}" export is not a function`));let n;if(Y.workerData?.arguments)try{n=JSON.parse(Y.workerData.arguments)}catch(o){return Promise.reject(new Error(`Error parsing input: ${o}`))}return In(Promise.resolve(r(n))).then(kc)}async function In(e){return new Promise((t,r)=>{e.then(n=>{typeof n=="function"&&console.warn("The entry point is returning a function inside another function. The nested one will not be executed."),setImmediate(()=>{t(n)})}).catch(n=>{setImmediate(()=>{r(n)})})})}0&&(module.exports={AI,Action,ActionPanel,ActionPanelItem,ActionPanelSection,ActionPanelSubmenu,Alert,AlertActionStyle,BrowserExtension,Cache,Clipboard,Color,CopyToClipboardAction,Detail,Form,FormCheckbox,FormDatePicker,FormDropdown,FormDropdownItem,FormDropdownSection,FormSeparator,FormTagPicker,FormTagPickerItem,FormTextArea,FormTextField,Grid,Icon,Image,ImageMask,Keyboard,LaunchType,List,ListItem,ListSection,LocalStorage,MenuBarExtra,Notes,OAuth,OpenAction,OpenInBrowserAction,OpenWithAction,PasteAction,PopToRootType,PushAction,ShowInFinderAction,SubmitFormAction,Toast,ToastStyle,TrashAction,WindowManagement,allLocalStorageItems,captureException,clearClipboard,clearLocalStorage,clearSearchBar,closeMainWindow,confirmAlert,copyTextToClipboard,environment,getApplications,getDefaultApplication,getFrontmostApplication,getLocalStorageItem,getPreferenceValues,getSelectedFinderItems,getSelectedText,launchCommand,open,openCommandPreferences,openExtensionPreferences,pasteText,popToRoot,preferences,randomId,removeLocalStorageItem,render,setLocalStorageItem,showHUD,showInFinder,showToast,specialKeys,trash,unstable_AI,updateCommandMetadata,useActionPanel,useId,useNavigation,useUnstableAI}); +/*! Bundled license information: + +react-is/cjs/react-is.production.js: + (** + * @license React + * react-is.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-is/cjs/react-is.development.js: + (** + * @license React + * react-is.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +fast-json-patch/commonjs/helpers.js: + (*! + * https://github.com/Starcounter-Jack/JSON-Patch + * (c) 2017-2022 Joachim Wester + * MIT licensed + *) + +fast-json-patch/commonjs/duplex.js: + (*! + * https://github.com/Starcounter-Jack/JSON-Patch + * (c) 2017-2021 Joachim Wester + * MIT license + *) +*/ diff --git a/.config/raycast/extensions/node_modules/@raycast/server/index.js b/.config/raycast/extensions/node_modules/@raycast/server/index.js @@ -0,0 +1,34 @@ +"use strict";var Ei=Object.create;var os=Object.defineProperty;var Pi=Object.getOwnPropertyDescriptor;var ji=Object.getOwnPropertyNames;var Ni=Object.getPrototypeOf,Oi=Object.prototype.hasOwnProperty;var U=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ci=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ji(e))!Oi.call(t,s)&&s!==r&&os(t,s,{get:()=>e[s],enumerable:!(n=Pi(e,s))||n.enumerable});return t};var Mi=(t,e,r)=>(r=t!=null?Ei(Ni(t)):{},Ci(e||!t||!t.__esModule?os(r,"default",{value:t,enumerable:!0}):r,t));var Be=U(J=>{"use strict";Object.defineProperty(J,"__esModule",{value:!0});J.stringArray=J.array=J.func=J.error=J.number=J.string=J.boolean=void 0;function Ai(t){return t===!0||t===!1}J.boolean=Ai;function cs(t){return typeof t=="string"||t instanceof String}J.string=cs;function Ii(t){return typeof t=="number"||t instanceof Number}J.number=Ii;function Li(t){return t instanceof Error}J.error=Li;function $i(t){return typeof t=="function"}J.func=$i;function us(t){return Array.isArray(t)}J.array=us;function qi(t){return us(t)&&t.every(e=>cs(e))}J.stringArray=qi});var Gr=U(_=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});_.Message=_.NotificationType9=_.NotificationType8=_.NotificationType7=_.NotificationType6=_.NotificationType5=_.NotificationType4=_.NotificationType3=_.NotificationType2=_.NotificationType1=_.NotificationType0=_.NotificationType=_.RequestType9=_.RequestType8=_.RequestType7=_.RequestType6=_.RequestType5=_.RequestType4=_.RequestType3=_.RequestType2=_.RequestType1=_.RequestType=_.RequestType0=_.AbstractMessageSignature=_.ParameterStructures=_.ResponseError=_.ErrorCodes=void 0;var Me=Be(),Tr;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(Tr||(_.ErrorCodes=Tr={}));var Rr=class t extends Error{constructor(e,r,n){super(r),this.code=Me.number(e)?e:Tr.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};_.ResponseError=Rr;var K=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};_.ParameterStructures=K;K.auto=new K("auto");K.byPosition=new K("byPosition");K.byName=new K("byName");var L=class{constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return K.auto}};_.AbstractMessageSignature=L;var Sr=class extends L{constructor(e){super(e,0)}};_.RequestType0=Sr;var Er=class extends L{constructor(e,r=K.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};_.RequestType=Er;var Pr=class extends L{constructor(e,r=K.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};_.RequestType1=Pr;var jr=class extends L{constructor(e){super(e,2)}};_.RequestType2=jr;var Nr=class extends L{constructor(e){super(e,3)}};_.RequestType3=Nr;var Or=class extends L{constructor(e){super(e,4)}};_.RequestType4=Or;var Cr=class extends L{constructor(e){super(e,5)}};_.RequestType5=Cr;var Mr=class extends L{constructor(e){super(e,6)}};_.RequestType6=Mr;var Ar=class extends L{constructor(e){super(e,7)}};_.RequestType7=Ar;var Ir=class extends L{constructor(e){super(e,8)}};_.RequestType8=Ir;var Lr=class extends L{constructor(e){super(e,9)}};_.RequestType9=Lr;var $r=class extends L{constructor(e,r=K.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};_.NotificationType=$r;var qr=class extends L{constructor(e){super(e,0)}};_.NotificationType0=qr;var Dr=class extends L{constructor(e,r=K.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};_.NotificationType1=Dr;var Zr=class extends L{constructor(e){super(e,2)}};_.NotificationType2=Zr;var Wr=class extends L{constructor(e){super(e,3)}};_.NotificationType3=Wr;var Br=class extends L{constructor(e){super(e,4)}};_.NotificationType4=Br;var Vr=class extends L{constructor(e){super(e,5)}};_.NotificationType5=Vr;var Ur=class extends L{constructor(e){super(e,6)}};_.NotificationType6=Ur;var Hr=class extends L{constructor(e){super(e,7)}};_.NotificationType7=Hr;var Fr=class extends L{constructor(e){super(e,8)}};_.NotificationType8=Fr;var Jr=class extends L{constructor(e){super(e,9)}};_.NotificationType9=Jr;var ds;(function(t){function e(s){let i=s;return i&&Me.string(i.method)&&(Me.string(i.id)||Me.number(i.id))}t.isRequest=e;function r(s){let i=s;return i&&Me.string(i.method)&&s.id===void 0}t.isNotification=r;function n(s){let i=s;return i&&(i.result!==void 0||!!i.error)&&(Me.string(i.id)||Me.number(i.id)||i.id===null)}t.isResponse=n})(ds||(_.Message=ds={}))});var Yr=U(Re=>{"use strict";var ls;Object.defineProperty(Re,"__esModule",{value:!0});Re.LRUCache=Re.LinkedMap=Re.Touch=void 0;var G;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(G||(Re.Touch=G={}));var Ht=class{constructor(){this[ls]="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(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,r=G.None){let n=this._map.get(e);if(n)return r!==G.None&&this.touch(n,r),n.value}set(e,r,n=G.None){let s=this._map.get(e);if(s)s.value=r,n!==G.None&&this.touch(s,n);else{switch(s={key:e,value:r,next:void 0,previous:void 0},n){case G.None:this.addItemLast(s);break;case G.First:this.addItemFirst(s);break;case G.Last:this.addItemLast(s);break;default:this.addItemLast(s);break}this._map.set(e,s),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,s=this._head;for(;s;){if(r?e.bind(r)(s.value,s.key,this):e(s.value,s.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");s=s.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let s={value:r.key,done:!1};return r=r.next,s}else return{value:void 0,done:!0}}};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let s={value:r.value,done:!1};return r=r.next,s}else return{value:void 0,done:!0}}};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let s={value:[r.key,r.value],done:!1};return r=r.next,s}else return{value:void 0,done:!0}}};return n}[(ls=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");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{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==G.First&&r!==G.Last)){if(r===G.First){if(e===this._head)return;let n=e.next,s=e.previous;e===this._tail?(s.next=void 0,this._tail=s):(n.previous=s,s.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===G.Last){if(e===this._tail)return;let n=e.next,s=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=s,s.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Re.LinkedMap=Ht;var Qr=class extends Ht{constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),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,r=G.AsNew){return super.get(e,r)}peek(e){return super.get(e,G.None)}set(e,r){return super.set(e,r,G.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Re.LRUCache=Qr});var hs=U(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.Disposable=void 0;var fs;(function(t){function e(r){return{dispose:r}}t.create=e})(fs||(Ft.Disposable=fs={}))});var Se=U(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});var Xr;function Kr(){if(Xr===void 0)throw new Error("No runtime abstraction layer installed");return Xr}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");Xr=r}t.install=e})(Kr||(Kr={}));en.default=Kr});var Ue=U(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.Emitter=Ve.Event=void 0;var Di=Se(),ps;(function(t){let e={dispose(){}};t.None=function(){return e}})(ps||(Ve.Event=ps={}));var tn=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let s=0,i=this._callbacks.length;s<i;s++)if(this._callbacks[s]===e)if(this._contexts[s]===r){this._callbacks.splice(s,1),this._contexts.splice(s,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),s=this._contexts.slice(0);for(let i=0,o=n.length;i<o;i++)try{r.push(n[i].apply(s[i],e))}catch(c){(0,Di.default)().console.error(c)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Jt=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new tn),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let s={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),s.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(s),s}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};Ve.Emitter=Jt;Jt._noop=function(){}});var Yt=U(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.CancellationTokenSource=He.CancellationToken=void 0;var Zi=Se(),Wi=Be(),rn=Ue(),Gt;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:rn.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:rn.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||Wi.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(Gt||(He.CancellationToken=Gt={}));var Bi=Object.freeze(function(t,e){let r=(0,Zi.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),Qt=class{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?Bi:(this._emitter||(this._emitter=new rn.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},nn=class{get token(){return this._token||(this._token=new Qt),this._token}cancel(){this._token?this._token.cancel():this._token=Gt.Cancelled}dispose(){this._token?this._token instanceof Qt&&this._token.dispose():this._token=Gt.None}};He.CancellationTokenSource=nn});var ms=U(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.SharedArrayReceiverStrategy=Fe.SharedArraySenderStrategy=void 0;var Vi=Yt(),bt;(function(t){t.Continue=0,t.Cancelled=1})(bt||(bt={}));var sn=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=bt.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let s=new Int32Array(n,0,1);Atomics.store(s,0,bt.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};Fe.SharedArraySenderStrategy=sn;var an=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===bt.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},on=class{constructor(e){this.token=new an(e)}cancel(){}dispose(){}},cn=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new Vi.CancellationTokenSource:new on(r)}};Fe.SharedArrayReceiverStrategy=cn});var dn=U(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.Semaphore=void 0;var Ui=Se(),un=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((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,Ui.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};Xt.Semaphore=un});var ys=U(Ee=>{"use strict";Object.defineProperty(Ee,"__esModule",{value:!0});Ee.ReadableStreamMessageReader=Ee.AbstractMessageReader=Ee.MessageReader=void 0;var fn=Se(),Je=Be(),ln=Ue(),Hi=dn(),gs;(function(t){function e(r){let n=r;return n&&Je.func(n.listen)&&Je.func(n.dispose)&&Je.func(n.onError)&&Je.func(n.onClose)&&Je.func(n.onPartialMessage)}t.is=e})(gs||(Ee.MessageReader=gs={}));var Kt=class{constructor(){this.errorEmitter=new ln.Emitter,this.closeEmitter=new ln.Emitter,this.partialMessageEmitter=new ln.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: ${Je.string(e.message)?e.message:"unknown"}`)}};Ee.AbstractMessageReader=Kt;var hn;(function(t){function e(r){let n,s,i,o=new Map,c,h=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(i=r.contentDecoder,o.set(i.name,i)),r.contentDecoders!==void 0)for(let l of r.contentDecoders)o.set(l.name,l);if(r.contentTypeDecoder!==void 0&&(c=r.contentTypeDecoder,h.set(c.name,c)),r.contentTypeDecoders!==void 0)for(let l of r.contentTypeDecoders)h.set(l.name,l)}return c===void 0&&(c=(0,fn.default)().applicationJson.decoder,h.set(c.name,c)),{charset:n,contentDecoder:i,contentDecoders:o,contentTypeDecoder:c,contentTypeDecoders:h}}t.fromOptions=e})(hn||(hn={}));var pn=class extends Kt{constructor(e,r){super(),this.readable=e,this.options=hn.fromOptions(r),this.buffer=(0,fn.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new Hi.Semaphore(1)}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;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let s=n.get("content-length");if(!s){this.fireError(new Error(`Header must provide a Content-Length property. +${JSON.stringify(Object.fromEntries(n))}`));return}let i=parseInt(s);if(isNaN(i)){this.fireError(new Error(`Content-Length value must be a number. Got ${s}`));return}this.nextMessageLength=i}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,s=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(s)}).catch(n=>{this.fireError(n)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,fn.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};Ee.ReadableStreamMessageReader=pn});var ks=U(Pe=>{"use strict";Object.defineProperty(Pe,"__esModule",{value:!0});Pe.WriteableStreamMessageWriter=Pe.AbstractMessageWriter=Pe.MessageWriter=void 0;var vs=Se(),_t=Be(),Fi=dn(),bs=Ue(),Ji="Content-Length: ",_s=`\r +`,ws;(function(t){function e(r){let n=r;return n&&_t.func(n.dispose)&&_t.func(n.onClose)&&_t.func(n.onError)&&_t.func(n.write)}t.is=e})(ws||(Pe.MessageWriter=ws={}));var er=class{constructor(){this.errorEmitter=new bs.Emitter,this.closeEmitter=new bs.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,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: ${_t.string(e.message)?e.message:"unknown"}`)}};Pe.AbstractMessageWriter=er;var mn;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,vs.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,vs.default)().applicationJson.encoder}}t.fromOptions=e})(mn||(mn={}));var gn=class extends er{constructor(e,r){super(),this.writable=e,this.options=mn.fromOptions(r),this.errorCount=0,this.writeSemaphore=new Fi.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let s=[];return s.push(Ji,n.byteLength.toString(),_s),s.push(_s),this.doWrite(e,s,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(s){return this.handleError(s,e),Promise.reject(s)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};Pe.WriteableStreamMessageWriter=gn});var xs=U(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.AbstractMessageBuffer=void 0;var Gi=13,Qi=10,Yi=`\r +`,yn=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,n=0,s=0,i=0;e:for(;n<this._chunks.length;){let l=this._chunks[n];for(s=0;s<l.length;){switch(l[s]){case Gi:switch(r){case 0:r=1;break;case 2:r=3;break;default:r=0}break;case Qi:switch(r){case 1:r=2;break;case 3:r=4,s++;break e;default:r=0}break;default:r=0}s++}i+=l.byteLength,n++}if(r!==4)return;let o=this._read(i+s),c=new Map,h=this.toString(o,"ascii").split(Yi);if(h.length<2)return c;for(let l=0;l<h.length-2;l++){let y=h[l],M=y.indexOf(":");if(M===-1)throw new Error(`Message header must separate key and value using ':' +${y}`);let Q=y.substr(0,M),F=y.substr(M+1).trim();c.set(e?Q.toLowerCase():Q,F)}return c}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let i=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(i)}if(this._chunks[0].byteLength>e){let i=this._chunks[0],o=this.asNative(i,e);return this._chunks[0]=i.slice(e),this._totalLength-=e,o}let r=this.allocNative(e),n=0,s=0;for(;e>0;){let i=this._chunks[s];if(i.byteLength>e){let o=i.slice(0,e);r.set(o,n),n+=e,this._chunks[s]=i.slice(e),this._totalLength-=e,e-=e}else r.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return r}};tr.AbstractMessageBuffer=yn});var Es=U(z=>{"use strict";Object.defineProperty(z,"__esModule",{value:!0});z.createMessageConnection=z.ConnectionOptions=z.MessageStrategy=z.CancellationStrategy=z.CancellationSenderStrategy=z.CancellationReceiverStrategy=z.RequestCancellationReceiverStrategy=z.IdCancellationReceiverStrategy=z.ConnectionStrategy=z.ConnectionError=z.ConnectionErrors=z.LogTraceNotification=z.SetTraceNotification=z.TraceFormat=z.TraceValues=z.Trace=z.NullLogger=z.ProgressType=z.ProgressToken=void 0;var zs=Se(),D=Be(),w=Gr(),Ts=Yr(),wt=Ue(),vn=Yt(),zt;(function(t){t.type=new w.NotificationType("$/cancelRequest")})(zt||(zt={}));var bn;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}t.is=e})(bn||(z.ProgressToken=bn={}));var kt;(function(t){t.type=new w.NotificationType("$/progress")})(kt||(kt={}));var _n=class{constructor(){}};z.ProgressType=_n;var wn;(function(t){function e(r){return D.func(r)}t.is=e})(wn||(wn={}));z.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var j;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(j||(z.Trace=j={}));var Rs;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(Rs||(z.TraceValues=Rs={}));(function(t){function e(n){if(!D.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}t.toString=r})(j||(z.Trace=j={}));var re;(function(t){t.Text="text",t.JSON="json"})(re||(z.TraceFormat=re={}));(function(t){function e(r){return D.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(re||(z.TraceFormat=re={}));var kn;(function(t){t.type=new w.NotificationType("$/setTrace")})(kn||(z.SetTraceNotification=kn={}));var rr;(function(t){t.type=new w.NotificationType("$/logTrace")})(rr||(z.LogTraceNotification=rr={}));var xt;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(xt||(z.ConnectionErrors=xt={}));var Ge=class t extends Error{constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};z.ConnectionError=Ge;var xn;(function(t){function e(r){let n=r;return n&&D.func(n.cancelUndispatched)}t.is=e})(xn||(z.ConnectionStrategy=xn={}));var nr;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&D.func(n.createCancellationTokenSource)&&(n.dispose===void 0||D.func(n.dispose))}t.is=e})(nr||(z.IdCancellationReceiverStrategy=nr={}));var zn;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&D.func(n.createCancellationTokenSource)&&(n.dispose===void 0||D.func(n.dispose))}t.is=e})(zn||(z.RequestCancellationReceiverStrategy=zn={}));var sr;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new vn.CancellationTokenSource}});function e(r){return nr.is(r)||zn.is(r)}t.is=e})(sr||(z.CancellationReceiverStrategy=sr={}));var ir;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(zt.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&D.func(n.sendCancellation)&&D.func(n.cleanup)}t.is=e})(ir||(z.CancellationSenderStrategy=ir={}));var ar;(function(t){t.Message=Object.freeze({receiver:sr.Message,sender:ir.Message});function e(r){let n=r;return n&&sr.is(n.receiver)&&ir.is(n.sender)}t.is=e})(ar||(z.CancellationStrategy=ar={}));var or;(function(t){function e(r){let n=r;return n&&D.func(n.handleMessage)}t.is=e})(or||(z.MessageStrategy=or={}));var Ss;(function(t){function e(r){let n=r;return n&&(ar.is(n.cancellationStrategy)||xn.is(n.connectionStrategy)||or.is(n.messageStrategy))}t.is=e})(Ss||(z.ConnectionOptions=Ss={}));var le;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(le||(le={}));function Xi(t,e,r,n){let s=r!==void 0?r:z.NullLogger,i=0,o=0,c=0,h="2.0",l,y=new Map,M,Q=new Map,F=new Map,ke,ie=new Ts.LinkedMap,ae=new Map,xe=new Set,te=new Map,N=j.Off,de=re.Text,$,oe=le.New,Ce=new wt.Emitter,gt=new wt.Emitter,Bt=new wt.Emitter,Vt=new wt.Emitter,kr=new wt.Emitter,ze=n&&n.cancellationStrategy?n.cancellationStrategy:ar.Message;function Xn(a){if(a===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+a.toString()}function ui(a){return a===null?"res-unknown-"+(++c).toString():"res-"+a.toString()}function di(){return"not-"+(++o).toString()}function li(a,d){w.Message.isRequest(d)?a.set(Xn(d.id),d):w.Message.isResponse(d)?a.set(ui(d.id),d):a.set(di(),d)}function fi(a){}function Kn(){return oe===le.Listening}function es(){return oe===le.Closed}function De(){return oe===le.Disposed}function ts(){(oe===le.New||oe===le.Listening)&&(oe=le.Closed,gt.fire(void 0))}function hi(a){Ce.fire([a,void 0,void 0])}function pi(a){Ce.fire(a)}t.onClose(ts),t.onError(hi),e.onClose(ts),e.onError(pi);function rs(){ke||ie.size===0||(ke=(0,zs.default)().timer.setImmediate(()=>{ke=void 0,mi()}))}function ns(a){w.Message.isRequest(a)?yi(a):w.Message.isNotification(a)?bi(a):w.Message.isResponse(a)?vi(a):_i(a)}function mi(){if(ie.size===0)return;let a=ie.shift();try{let d=n?.messageStrategy;or.is(d)?d.handleMessage(a,ns):ns(a)}finally{rs()}}let gi=a=>{try{if(w.Message.isNotification(a)&&a.method===zt.type.method){let d=a.params.id,p=Xn(d),v=ie.get(p);if(w.Message.isRequest(v)){let C=n?.connectionStrategy,Z=C&&C.cancelUndispatched?C.cancelUndispatched(v,fi):void 0;if(Z&&(Z.error!==void 0||Z.result!==void 0)){ie.delete(p),te.delete(d),Z.id=v.id,Ut(Z,a.method,Date.now()),e.write(Z).catch(()=>s.error("Sending response for canceled message failed."));return}}let I=te.get(d);if(I!==void 0){I.cancel(),xr(a);return}else xe.add(d)}li(ie,a)}finally{rs()}};function yi(a){if(De())return;function d(E,q,O){let V={jsonrpc:h,id:a.id};E instanceof w.ResponseError?V.error=E.toJson():V.result=E===void 0?null:E,Ut(V,q,O),e.write(V).catch(()=>s.error("Sending response failed."))}function p(E,q,O){let V={jsonrpc:h,id:a.id,error:E.toJson()};Ut(V,q,O),e.write(V).catch(()=>s.error("Sending response failed."))}function v(E,q,O){E===void 0&&(E=null);let V={jsonrpc:h,id:a.id,result:E};Ut(V,q,O),e.write(V).catch(()=>s.error("Sending response failed."))}xi(a);let I=y.get(a.method),C,Z;I&&(C=I.type,Z=I.handler);let W=Date.now();if(Z||l){let E=a.id??String(Date.now()),q=nr.is(ze.receiver)?ze.receiver.createCancellationTokenSource(E):ze.receiver.createCancellationTokenSource(a);a.id!==null&&xe.has(a.id)&&q.cancel(),a.id!==null&&te.set(E,q);try{let O;if(Z)if(a.params===void 0){if(C!==void 0&&C.numberOfParams!==0){p(new w.ResponseError(w.ErrorCodes.InvalidParams,`Request ${a.method} defines ${C.numberOfParams} params but received none.`),a.method,W);return}O=Z(q.token)}else if(Array.isArray(a.params)){if(C!==void 0&&C.parameterStructures===w.ParameterStructures.byName){p(new w.ResponseError(w.ErrorCodes.InvalidParams,`Request ${a.method} defines parameters by name but received parameters by position`),a.method,W);return}O=Z(...a.params,q.token)}else{if(C!==void 0&&C.parameterStructures===w.ParameterStructures.byPosition){p(new w.ResponseError(w.ErrorCodes.InvalidParams,`Request ${a.method} defines parameters by position but received parameters by name`),a.method,W);return}O=Z(a.params,q.token)}else l&&(O=l(a.method,a.params,q.token));let V=O;O?V.then?V.then(Y=>{te.delete(E),d(Y,a.method,W)},Y=>{te.delete(E),Y instanceof w.ResponseError?p(Y,a.method,W):Y&&D.string(Y.message)?p(new w.ResponseError(w.ErrorCodes.InternalError,`Request ${a.method} failed with message: ${Y.message}`),a.method,W):p(new w.ResponseError(w.ErrorCodes.InternalError,`Request ${a.method} failed unexpectedly without providing any details.`),a.method,W)}):(te.delete(E),d(O,a.method,W)):(te.delete(E),v(O,a.method,W))}catch(O){te.delete(E),O instanceof w.ResponseError?d(O,a.method,W):O&&D.string(O.message)?p(new w.ResponseError(w.ErrorCodes.InternalError,`Request ${a.method} failed with message: ${O.message}`),a.method,W):p(new w.ResponseError(w.ErrorCodes.InternalError,`Request ${a.method} failed unexpectedly without providing any details.`),a.method,W)}}else p(new w.ResponseError(w.ErrorCodes.MethodNotFound,`Unhandled method ${a.method}`),a.method,W)}function vi(a){if(!De())if(a.id===null)a.error?s.error(`Received response message without id: Error is: +${JSON.stringify(a.error,void 0,4)}`):s.error("Received response message without id. No further error information provided.");else{let d=a.id,p=ae.get(d);if(zi(a,p),p!==void 0){ae.delete(d);try{if(a.error){let v=a.error;p.reject(new w.ResponseError(v.code,v.message,v.data))}else if(a.result!==void 0)p.resolve(a.result);else throw new Error("Should never happen.")}catch(v){v.message?s.error(`Response handler '${p.method}' failed with message: ${v.message}`):s.error(`Response handler '${p.method}' failed unexpectedly.`)}}}}function bi(a){if(De())return;let d,p;if(a.method===zt.type.method){let v=a.params.id;xe.delete(v),xr(a);return}else{let v=Q.get(a.method);v&&(p=v.handler,d=v.type)}if(p||M)try{if(xr(a),p)if(a.params===void 0)d!==void 0&&d.numberOfParams!==0&&d.parameterStructures!==w.ParameterStructures.byName&&s.error(`Notification ${a.method} defines ${d.numberOfParams} params but received none.`),p();else if(Array.isArray(a.params)){let v=a.params;a.method===kt.type.method&&v.length===2&&bn.is(v[0])?p({token:v[0],value:v[1]}):(d!==void 0&&(d.parameterStructures===w.ParameterStructures.byName&&s.error(`Notification ${a.method} defines parameters by name but received parameters by position`),d.numberOfParams!==a.params.length&&s.error(`Notification ${a.method} defines ${d.numberOfParams} params but received ${v.length} arguments`)),p(...v))}else d!==void 0&&d.parameterStructures===w.ParameterStructures.byPosition&&s.error(`Notification ${a.method} defines parameters by position but received parameters by name`),p(a.params);else M&&M(a.method,a.params)}catch(v){v.message?s.error(`Notification handler '${a.method}' failed with message: ${v.message}`):s.error(`Notification handler '${a.method}' failed unexpectedly.`)}else Bt.fire(a)}function _i(a){if(!a){s.error("Received empty message.");return}s.error(`Received message which is neither a response nor a notification message: +${JSON.stringify(a,null,4)}`);let d=a;if(D.string(d.id)||D.number(d.id)){let p=d.id,v=ae.get(p);v&&v.reject(new Error("The received response has neither a result nor an error property."))}}function Te(a){if(a!=null)switch(N){case j.Verbose:return JSON.stringify(a,null,4);case j.Compact:return JSON.stringify(a);default:return}}function wi(a){if(!(N===j.Off||!$))if(de===re.Text){let d;(N===j.Verbose||N===j.Compact)&&a.params&&(d=`Params: ${Te(a.params)} + +`),$.log(`Sending request '${a.method} - (${a.id})'.`,d)}else Ze("send-request",a)}function ki(a){if(!(N===j.Off||!$))if(de===re.Text){let d;(N===j.Verbose||N===j.Compact)&&(a.params?d=`Params: ${Te(a.params)} + +`:d=`No parameters provided. + +`),$.log(`Sending notification '${a.method}'.`,d)}else Ze("send-notification",a)}function Ut(a,d,p){if(!(N===j.Off||!$))if(de===re.Text){let v;(N===j.Verbose||N===j.Compact)&&(a.error&&a.error.data?v=`Error data: ${Te(a.error.data)} + +`:a.result?v=`Result: ${Te(a.result)} + +`:a.error===void 0&&(v=`No result returned. + +`)),$.log(`Sending response '${d} - (${a.id})'. Processing request took ${Date.now()-p}ms`,v)}else Ze("send-response",a)}function xi(a){if(!(N===j.Off||!$))if(de===re.Text){let d;(N===j.Verbose||N===j.Compact)&&a.params&&(d=`Params: ${Te(a.params)} + +`),$.log(`Received request '${a.method} - (${a.id})'.`,d)}else Ze("receive-request",a)}function xr(a){if(!(N===j.Off||!$||a.method===rr.type.method))if(de===re.Text){let d;(N===j.Verbose||N===j.Compact)&&(a.params?d=`Params: ${Te(a.params)} + +`:d=`No parameters provided. + +`),$.log(`Received notification '${a.method}'.`,d)}else Ze("receive-notification",a)}function zi(a,d){if(!(N===j.Off||!$))if(de===re.Text){let p;if((N===j.Verbose||N===j.Compact)&&(a.error&&a.error.data?p=`Error data: ${Te(a.error.data)} + +`:a.result?p=`Result: ${Te(a.result)} + +`:a.error===void 0&&(p=`No result returned. + +`)),d){let v=a.error?` Request failed: ${a.error.message} (${a.error.code}).`:"";$.log(`Received response '${d.method} - (${a.id})' in ${Date.now()-d.timerStart}ms.${v}`,p)}else $.log(`Received response ${a.id} without active response promise.`,p)}else Ze("receive-response",a)}function Ze(a,d){if(!$||N===j.Off)return;let p={isLSPMessage:!0,type:a,message:d,timestamp:Date.now()};$.log(p)}function yt(){if(es())throw new Ge(xt.Closed,"Connection is closed.");if(De())throw new Ge(xt.Disposed,"Connection is disposed.")}function Ti(){if(Kn())throw new Ge(xt.AlreadyListening,"Connection is already listening")}function Ri(){if(!Kn())throw new Error("Call listen() first.")}function vt(a){return a===void 0?null:a}function ss(a){if(a!==null)return a}function is(a){return a!=null&&!Array.isArray(a)&&typeof a=="object"}function zr(a,d){switch(a){case w.ParameterStructures.auto:return is(d)?ss(d):[vt(d)];case w.ParameterStructures.byName:if(!is(d))throw new Error("Received parameters by name but param is not an object literal.");return ss(d);case w.ParameterStructures.byPosition:return[vt(d)];default:throw new Error(`Unknown parameter structure ${a.toString()}`)}}function as(a,d){let p,v=a.numberOfParams;switch(v){case 0:p=void 0;break;case 1:p=zr(a.parameterStructures,d[0]);break;default:p=[];for(let I=0;I<d.length&&I<v;I++)p.push(vt(d[I]));if(d.length<v)for(let I=d.length;I<v;I++)p.push(null);break}return p}let We={sendNotification:(a,...d)=>{yt();let p,v;if(D.string(a)){p=a;let C=d[0],Z=0,W=w.ParameterStructures.auto;w.ParameterStructures.is(C)&&(Z=1,W=C);let E=d.length,q=E-Z;switch(q){case 0:v=void 0;break;case 1:v=zr(W,d[Z]);break;default:if(W===w.ParameterStructures.byName)throw new Error(`Received ${q} parameters for 'by Name' notification parameter structure.`);v=d.slice(Z,E).map(O=>vt(O));break}}else{let C=d;p=a.method,v=as(a,C)}let I={jsonrpc:h,method:p,params:v};return ki(I),e.write(I).catch(C=>{throw s.error("Sending notification failed."),C})},onNotification:(a,d)=>{yt();let p;return D.func(a)?M=a:d&&(D.string(a)?(p=a,Q.set(a,{type:void 0,handler:d})):(p=a.method,Q.set(a.method,{type:a,handler:d}))),{dispose:()=>{p!==void 0?Q.delete(p):M=void 0}}},onProgress:(a,d,p)=>{if(F.has(d))throw new Error(`Progress handler for token ${d} already registered`);return F.set(d,p),{dispose:()=>{F.delete(d)}}},sendProgress:(a,d,p)=>We.sendNotification(kt.type,{token:d,value:p}),onUnhandledProgress:Vt.event,sendRequest:(a,...d)=>{yt(),Ri();let p,v,I;if(D.string(a)){p=a;let E=d[0],q=d[d.length-1],O=0,V=w.ParameterStructures.auto;w.ParameterStructures.is(E)&&(O=1,V=E);let Y=d.length;vn.CancellationToken.is(q)&&(Y=Y-1,I=q);let me=Y-O;switch(me){case 0:v=void 0;break;case 1:v=zr(V,d[O]);break;default:if(V===w.ParameterStructures.byName)throw new Error(`Received ${me} parameters for 'by Name' request parameter structure.`);v=d.slice(O,Y).map(Si=>vt(Si));break}}else{let E=d;p=a.method,v=as(a,E);let q=a.numberOfParams;I=vn.CancellationToken.is(E[q])?E[q]:void 0}let C=i++,Z;I&&(Z=I.onCancellationRequested(()=>{let E=ze.sender.sendCancellation(We,C);return E===void 0?(s.log(`Received no promise from cancellation strategy when cancelling id ${C}`),Promise.resolve()):E.catch(()=>{s.log(`Sending cancellation messages for id ${C} failed`)})}));let W={jsonrpc:h,id:C,method:p,params:v};return wi(W),typeof ze.sender.enableCancellation=="function"&&ze.sender.enableCancellation(W),new Promise(async(E,q)=>{let O=me=>{E(me),ze.sender.cleanup(C),Z?.dispose()},V=me=>{q(me),ze.sender.cleanup(C),Z?.dispose()},Y={method:p,timerStart:Date.now(),resolve:O,reject:V};try{ae.set(C,Y),await e.write(W)}catch(me){throw ae.delete(C),Y.reject(new w.ResponseError(w.ErrorCodes.MessageWriteError,me.message?me.message:"Unknown reason")),s.error("Sending request failed."),me}})},onRequest:(a,d)=>{yt();let p=null;return wn.is(a)?(p=void 0,l=a):D.string(a)?(p=null,d!==void 0&&(p=a,y.set(a,{handler:d,type:void 0}))):d!==void 0&&(p=a.method,y.set(a.method,{type:a,handler:d})),{dispose:()=>{p!==null&&(p!==void 0?y.delete(p):l=void 0)}}},hasPendingResponse:()=>ae.size>0,trace:async(a,d,p)=>{let v=!1,I=re.Text;p!==void 0&&(D.boolean(p)?v=p:(v=p.sendNotification||!1,I=p.traceFormat||re.Text)),N=a,de=I,N===j.Off?$=void 0:$=d,v&&!es()&&!De()&&await We.sendNotification(kn.type,{value:j.toString(a)})},onError:Ce.event,onClose:gt.event,onUnhandledNotification:Bt.event,onDispose:kr.event,end:()=>{e.end()},dispose:()=>{if(De())return;oe=le.Disposed,kr.fire(void 0);let a=new w.ResponseError(w.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let d of ae.values())d.reject(a);ae=new Map,te=new Map,xe=new Set,ie=new Ts.LinkedMap,D.func(e.dispose)&&e.dispose(),D.func(t.dispose)&&t.dispose()},listen:()=>{yt(),Ti(),oe=le.Listening,t.listen(gi)},inspect:()=>{(0,zs.default)().console.log("inspect")}};return We.onNotification(rr.type,a=>{if(N===j.Off||!$)return;let d=N===j.Verbose||N===j.Compact;$.log(a.message,d?a.verbose:void 0)}),We.onNotification(kt.type,a=>{let d=F.get(a.token);d?d(a.value):Vt.fire(a)}),We}z.createMessageConnection=Xi});var cr=U(u=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0});u.ProgressType=u.ProgressToken=u.createMessageConnection=u.NullLogger=u.ConnectionOptions=u.ConnectionStrategy=u.AbstractMessageBuffer=u.WriteableStreamMessageWriter=u.AbstractMessageWriter=u.MessageWriter=u.ReadableStreamMessageReader=u.AbstractMessageReader=u.MessageReader=u.SharedArrayReceiverStrategy=u.SharedArraySenderStrategy=u.CancellationToken=u.CancellationTokenSource=u.Emitter=u.Event=u.Disposable=u.LRUCache=u.Touch=u.LinkedMap=u.ParameterStructures=u.NotificationType9=u.NotificationType8=u.NotificationType7=u.NotificationType6=u.NotificationType5=u.NotificationType4=u.NotificationType3=u.NotificationType2=u.NotificationType1=u.NotificationType0=u.NotificationType=u.ErrorCodes=u.ResponseError=u.RequestType9=u.RequestType8=u.RequestType7=u.RequestType6=u.RequestType5=u.RequestType4=u.RequestType3=u.RequestType2=u.RequestType1=u.RequestType0=u.RequestType=u.Message=u.RAL=void 0;u.MessageStrategy=u.CancellationStrategy=u.CancellationSenderStrategy=u.CancellationReceiverStrategy=u.ConnectionError=u.ConnectionErrors=u.LogTraceNotification=u.SetTraceNotification=u.TraceFormat=u.TraceValues=u.Trace=void 0;var A=Gr();Object.defineProperty(u,"Message",{enumerable:!0,get:function(){return A.Message}});Object.defineProperty(u,"RequestType",{enumerable:!0,get:function(){return A.RequestType}});Object.defineProperty(u,"RequestType0",{enumerable:!0,get:function(){return A.RequestType0}});Object.defineProperty(u,"RequestType1",{enumerable:!0,get:function(){return A.RequestType1}});Object.defineProperty(u,"RequestType2",{enumerable:!0,get:function(){return A.RequestType2}});Object.defineProperty(u,"RequestType3",{enumerable:!0,get:function(){return A.RequestType3}});Object.defineProperty(u,"RequestType4",{enumerable:!0,get:function(){return A.RequestType4}});Object.defineProperty(u,"RequestType5",{enumerable:!0,get:function(){return A.RequestType5}});Object.defineProperty(u,"RequestType6",{enumerable:!0,get:function(){return A.RequestType6}});Object.defineProperty(u,"RequestType7",{enumerable:!0,get:function(){return A.RequestType7}});Object.defineProperty(u,"RequestType8",{enumerable:!0,get:function(){return A.RequestType8}});Object.defineProperty(u,"RequestType9",{enumerable:!0,get:function(){return A.RequestType9}});Object.defineProperty(u,"ResponseError",{enumerable:!0,get:function(){return A.ResponseError}});Object.defineProperty(u,"ErrorCodes",{enumerable:!0,get:function(){return A.ErrorCodes}});Object.defineProperty(u,"NotificationType",{enumerable:!0,get:function(){return A.NotificationType}});Object.defineProperty(u,"NotificationType0",{enumerable:!0,get:function(){return A.NotificationType0}});Object.defineProperty(u,"NotificationType1",{enumerable:!0,get:function(){return A.NotificationType1}});Object.defineProperty(u,"NotificationType2",{enumerable:!0,get:function(){return A.NotificationType2}});Object.defineProperty(u,"NotificationType3",{enumerable:!0,get:function(){return A.NotificationType3}});Object.defineProperty(u,"NotificationType4",{enumerable:!0,get:function(){return A.NotificationType4}});Object.defineProperty(u,"NotificationType5",{enumerable:!0,get:function(){return A.NotificationType5}});Object.defineProperty(u,"NotificationType6",{enumerable:!0,get:function(){return A.NotificationType6}});Object.defineProperty(u,"NotificationType7",{enumerable:!0,get:function(){return A.NotificationType7}});Object.defineProperty(u,"NotificationType8",{enumerable:!0,get:function(){return A.NotificationType8}});Object.defineProperty(u,"NotificationType9",{enumerable:!0,get:function(){return A.NotificationType9}});Object.defineProperty(u,"ParameterStructures",{enumerable:!0,get:function(){return A.ParameterStructures}});var Tn=Yr();Object.defineProperty(u,"LinkedMap",{enumerable:!0,get:function(){return Tn.LinkedMap}});Object.defineProperty(u,"LRUCache",{enumerable:!0,get:function(){return Tn.LRUCache}});Object.defineProperty(u,"Touch",{enumerable:!0,get:function(){return Tn.Touch}});var Ki=hs();Object.defineProperty(u,"Disposable",{enumerable:!0,get:function(){return Ki.Disposable}});var Ps=Ue();Object.defineProperty(u,"Event",{enumerable:!0,get:function(){return Ps.Event}});Object.defineProperty(u,"Emitter",{enumerable:!0,get:function(){return Ps.Emitter}});var js=Yt();Object.defineProperty(u,"CancellationTokenSource",{enumerable:!0,get:function(){return js.CancellationTokenSource}});Object.defineProperty(u,"CancellationToken",{enumerable:!0,get:function(){return js.CancellationToken}});var Ns=ms();Object.defineProperty(u,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return Ns.SharedArraySenderStrategy}});Object.defineProperty(u,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return Ns.SharedArrayReceiverStrategy}});var Rn=ys();Object.defineProperty(u,"MessageReader",{enumerable:!0,get:function(){return Rn.MessageReader}});Object.defineProperty(u,"AbstractMessageReader",{enumerable:!0,get:function(){return Rn.AbstractMessageReader}});Object.defineProperty(u,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return Rn.ReadableStreamMessageReader}});var Sn=ks();Object.defineProperty(u,"MessageWriter",{enumerable:!0,get:function(){return Sn.MessageWriter}});Object.defineProperty(u,"AbstractMessageWriter",{enumerable:!0,get:function(){return Sn.AbstractMessageWriter}});Object.defineProperty(u,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return Sn.WriteableStreamMessageWriter}});var ea=xs();Object.defineProperty(u,"AbstractMessageBuffer",{enumerable:!0,get:function(){return ea.AbstractMessageBuffer}});var H=Es();Object.defineProperty(u,"ConnectionStrategy",{enumerable:!0,get:function(){return H.ConnectionStrategy}});Object.defineProperty(u,"ConnectionOptions",{enumerable:!0,get:function(){return H.ConnectionOptions}});Object.defineProperty(u,"NullLogger",{enumerable:!0,get:function(){return H.NullLogger}});Object.defineProperty(u,"createMessageConnection",{enumerable:!0,get:function(){return H.createMessageConnection}});Object.defineProperty(u,"ProgressToken",{enumerable:!0,get:function(){return H.ProgressToken}});Object.defineProperty(u,"ProgressType",{enumerable:!0,get:function(){return H.ProgressType}});Object.defineProperty(u,"Trace",{enumerable:!0,get:function(){return H.Trace}});Object.defineProperty(u,"TraceValues",{enumerable:!0,get:function(){return H.TraceValues}});Object.defineProperty(u,"TraceFormat",{enumerable:!0,get:function(){return H.TraceFormat}});Object.defineProperty(u,"SetTraceNotification",{enumerable:!0,get:function(){return H.SetTraceNotification}});Object.defineProperty(u,"LogTraceNotification",{enumerable:!0,get:function(){return H.LogTraceNotification}});Object.defineProperty(u,"ConnectionErrors",{enumerable:!0,get:function(){return H.ConnectionErrors}});Object.defineProperty(u,"ConnectionError",{enumerable:!0,get:function(){return H.ConnectionError}});Object.defineProperty(u,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return H.CancellationReceiverStrategy}});Object.defineProperty(u,"CancellationSenderStrategy",{enumerable:!0,get:function(){return H.CancellationSenderStrategy}});Object.defineProperty(u,"CancellationStrategy",{enumerable:!0,get:function(){return H.CancellationStrategy}});Object.defineProperty(u,"MessageStrategy",{enumerable:!0,get:function(){return H.MessageStrategy}});var ta=Se();u.RAL=ta.default});var Ms=U(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});var Os=require("util"),ye=cr(),ur=class t extends ye.AbstractMessageBuffer{constructor(e="utf-8"){super(e)}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return Buffer.from(e,r)}toString(e,r){return e instanceof Buffer?e.toString(r):new Os.TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e instanceof Buffer?e:Buffer.from(e):e instanceof Buffer?e.slice(0,r):Buffer.from(e,0,r)}allocNative(e){return Buffer.allocUnsafe(e)}};ur.emptyBuffer=Buffer.allocUnsafe(0);var En=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),ye.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),ye.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),ye.Disposable.create(()=>this.stream.off("end",e))}onData(e){return this.stream.on("data",e),ye.Disposable.create(()=>this.stream.off("data",e))}},Pn=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),ye.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),ye.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),ye.Disposable.create(()=>this.stream.off("end",e))}write(e,r){return new Promise((n,s)=>{let i=o=>{o==null?n():s(o)};typeof e=="string"?this.stream.write(e,r,i):this.stream.write(e,i)})}end(){this.stream.end()}},Cs=Object.freeze({messageBuffer:Object.freeze({create:t=>new ur(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(t,void 0,0),e.charset))}catch(r){return Promise.reject(r)}}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{try{return t instanceof Buffer?Promise.resolve(JSON.parse(t.toString(e.charset))):Promise.resolve(JSON.parse(new Os.TextDecoder(e.charset).decode(t)))}catch(r){return Promise.reject(r)}}})}),stream:Object.freeze({asReadableStream:t=>new En(t),asWritableStream:t=>new Pn(t)}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:()=>clearTimeout(n)}},setImmediate(t,...e){let r=setImmediate(t,...e);return{dispose:()=>clearImmediate(r)}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:()=>clearInterval(n)}}})});function jn(){return Cs}(function(t){function e(){ye.RAL.install(Cs)}t.install=e})(jn||(jn={}));Nn.default=jn});var Ls=U(S=>{"use strict";var ra=S&&S.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),na=S&&S.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ra(e,t,r)};Object.defineProperty(S,"__esModule",{value:!0});S.createMessageConnection=S.createServerSocketTransport=S.createClientSocketTransport=S.createServerPipeTransport=S.createClientPipeTransport=S.generateRandomPipeName=S.StreamMessageWriter=S.StreamMessageReader=S.SocketMessageWriter=S.SocketMessageReader=S.PortMessageWriter=S.PortMessageReader=S.IPCMessageWriter=S.IPCMessageReader=void 0;var Qe=Ms();Qe.default.install();var As=require("path"),sa=require("os"),ia=require("crypto"),fr=require("net"),ne=cr();na(cr(),S);var On=class extends ne.AbstractMessageReader{constructor(e){super(),this.process=e;let r=this.process;r.on("error",n=>this.fireError(n)),r.on("close",()=>this.fireClose())}listen(e){return this.process.on("message",e),ne.Disposable.create(()=>this.process.off("message",e))}};S.IPCMessageReader=On;var Cn=class extends ne.AbstractMessageWriter{constructor(e){super(),this.process=e,this.errorCount=0;let r=this.process;r.on("error",n=>this.fireError(n)),r.on("close",()=>this.fireClose)}write(e){try{return typeof this.process.send=="function"&&this.process.send(e,void 0,void 0,r=>{r?(this.errorCount++,this.handleError(r,e)):this.errorCount=0}),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};S.IPCMessageWriter=Cn;var Mn=class extends ne.AbstractMessageReader{constructor(e){super(),this.onData=new ne.Emitter,e.on("close",()=>this.fireClose),e.on("error",r=>this.fireError(r)),e.on("message",r=>{this.onData.fire(r)})}listen(e){return this.onData.event(e)}};S.PortMessageReader=Mn;var An=class extends ne.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.on("close",()=>this.fireClose()),e.on("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};S.PortMessageWriter=An;var Ae=class extends ne.ReadableStreamMessageReader{constructor(e,r="utf-8"){super((0,Qe.default)().stream.asReadableStream(e),r)}};S.SocketMessageReader=Ae;var Ie=class extends ne.WriteableStreamMessageWriter{constructor(e,r){super((0,Qe.default)().stream.asWritableStream(e),r),this.socket=e}dispose(){super.dispose(),this.socket.destroy()}};S.SocketMessageWriter=Ie;var dr=class extends ne.ReadableStreamMessageReader{constructor(e,r){super((0,Qe.default)().stream.asReadableStream(e),r)}};S.StreamMessageReader=dr;var lr=class extends ne.WriteableStreamMessageWriter{constructor(e,r){super((0,Qe.default)().stream.asWritableStream(e),r)}};S.StreamMessageWriter=lr;var Is=process.env.XDG_RUNTIME_DIR,aa=new Map([["linux",107],["darwin",103]]);function oa(){let t=(0,ia.randomBytes)(21).toString("hex");if(process.platform==="win32")return`\\\\.\\pipe\\vscode-jsonrpc-${t}-sock`;let e;Is?e=As.join(Is,`vscode-ipc-${t}.sock`):e=As.join(sa.tmpdir(),`vscode-${t}.sock`);let r=aa.get(process.platform);return r!==void 0&&e.length>r&&(0,Qe.default)().console.warn(`WARNING: IPC handle "${e}" is longer than ${r} characters.`),e}S.generateRandomPipeName=oa;function ca(t,e="utf-8"){let r,n=new Promise((s,i)=>{r=s});return new Promise((s,i)=>{let o=(0,fr.createServer)(c=>{o.close(),r([new Ae(c,e),new Ie(c,e)])});o.on("error",i),o.listen(t,()=>{o.removeListener("error",i),s({onConnected:()=>n})})})}S.createClientPipeTransport=ca;function ua(t,e="utf-8"){let r=(0,fr.createConnection)(t);return[new Ae(r,e),new Ie(r,e)]}S.createServerPipeTransport=ua;function da(t,e="utf-8"){let r,n=new Promise((s,i)=>{r=s});return new Promise((s,i)=>{let o=(0,fr.createServer)(c=>{o.close(),r([new Ae(c,e),new Ie(c,e)])});o.on("error",i),o.listen(t,"127.0.0.1",()=>{o.removeListener("error",i),s({onConnected:()=>n})})})}S.createClientSocketTransport=da;function la(t,e="utf-8"){let r=(0,fr.createConnection)(t,"127.0.0.1");return[new Ae(r,e),new Ie(r,e)]}S.createServerSocketTransport=la;function fa(t){let e=t;return e.read!==void 0&&e.addListener!==void 0}function ha(t){let e=t;return e.write!==void 0&&e.addListener!==void 0}function pa(t,e,r,n){r||(r=ne.NullLogger);let s=fa(t)?new dr(t):t,i=ha(e)?new lr(e):e;return ne.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,ne.createMessageConnection)(s,i,r,n)}S.createMessageConnection=pa});var qs=U((ho,$s)=>{"use strict";$s.exports=Ls()});var oi=require("util");var pt=Mi(qs());var Ds=require("node:worker_threads");var B=class t extends Error{underlying;get name(){return this.underlying instanceof Error?this.underlying.name:typeof this.underlying=="string"||this.underlying instanceof String?`${this.underlying}`:JSON.stringify(this.underlying)}code;title;breadcrumbs;diagnostics;sessionId;constructor(e,r,n,s){e&&typeof e=="object"&&"message"in e&&typeof e.message=="string"?super(e.message):s?.message?super(s?.message):typeof e=="string"?super(e):super(),this.underlying=e,this.code=r,this.title=n,this.stack=e instanceof Error?e.stack:s?.stack,this.breadcrumbs=s?.breadcrumbs,this.diagnostics=s?.diagnostics,this.sessionId=s?.sessionId??Ds.workerData?.sessionId}serialize(){return{_isRayError:!0,code:this.code,title:this.title,name:this.name,message:this.message,stack:this.stack,breadcrumbs:this.breadcrumbs,diagnostics:this.diagnostics,sessionId:this.sessionId}}static tryDeserialize(e){if(!t.isRecord(e)||!t.hasProperty(e,"_isRayError")||!e._isRayError||Array.isArray(e)||!t.hasProperty(e,"code")||typeof e.code!="number"||!t.hasProperty(e,"title")||typeof e.title!="string"||!t.hasProperty(e,"name")||typeof e.name!="string")return null;let r=t.hasProperty(e,"message")&&typeof e.message=="string"?e.message:void 0,n=t.hasProperty(e,"stack")&&typeof e.stack=="string"?e.stack:void 0,s=t.hasProperty(e,"breadcrumbs")&&Array.isArray(e.breadcrumbs)?e.breadcrumbs:void 0,i=t.hasProperty(e,"diagnostics")&&typeof e.diagnostics=="object"?e.diagnostics:void 0,o=t.hasProperty(e,"sessionId")&&typeof e.sessionId=="string"?e.sessionId:void 0;return new t(e.name,e.code,e.title,{message:r,stack:n,breadcrumbs:s,diagnostics:i,sessionId:o})}static hasProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)&&typeof e[r]<"u"&&e[r]!==null}static isRecord(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}};var P;(function(t){t.assertEqual=s=>s;function e(s){}t.assertIs=e;function r(s){throw new Error}t.assertNever=r,t.arrayToEnum=s=>{let i={};for(let o of s)i[o]=o;return i},t.getValidEnumValues=s=>{let i=t.objectKeys(s).filter(c=>typeof s[s[c]]!="number"),o={};for(let c of i)o[c]=s[c];return t.objectValues(o)},t.objectValues=s=>t.objectKeys(s).map(function(i){return s[i]}),t.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let i=[];for(let o in s)Object.prototype.hasOwnProperty.call(s,o)&&i.push(o);return i},t.find=(s,i)=>{for(let o of s)if(i(o))return o},t.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&isFinite(s)&&Math.floor(s)===s;function n(s,i=" | "){return s.map(o=>typeof o=="string"?`'${o}'`:o).join(i)}t.joinValues=n,t.jsonStringifyReplacer=(s,i)=>typeof i=="bigint"?i.toString():i})(P||(P={}));var Zs;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Zs||(Zs={}));var g=P.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),je=t=>{switch(typeof t){case"undefined":return g.undefined;case"string":return g.string;case"number":return isNaN(t)?g.nan:g.number;case"boolean":return g.boolean;case"function":return g.function;case"bigint":return g.bigint;case"symbol":return g.symbol;case"object":return Array.isArray(t)?g.array:t===null?g.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?g.promise:typeof Map<"u"&&t instanceof Map?g.map:typeof Set<"u"&&t instanceof Set?g.set:typeof Date<"u"&&t instanceof Date?g.date:g.object;default:return g.unknown}},f=P.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);var ce=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(i){return i.message},n={_errors:[]},s=i=>{for(let o of i.issues)if(o.code==="invalid_union")o.unionErrors.map(s);else if(o.code==="invalid_return_type")s(o.returnTypeError);else if(o.code==="invalid_arguments")s(o.argumentsError);else if(o.path.length===0)n._errors.push(r(o));else{let c=n,h=0;for(;h<o.path.length;){let l=o.path[h];h===o.path.length-1?(c[l]=c[l]||{_errors:[]},c[l]._errors.push(r(o))):c[l]=c[l]||{_errors:[]},c=c[l],h++}}};return s(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,P.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let s of this.issues)s.path.length>0?(r[s.path[0]]=r[s.path[0]]||[],r[s.path[0]].push(e(s))):n.push(e(s));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};ce.create=t=>new ce(t);var Et=(t,e)=>{let r;switch(t.code){case f.invalid_type:t.received===g.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case f.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,P.jsonStringifyReplacer)}`;break;case f.unrecognized_keys:r=`Unrecognized key(s) in object: ${P.joinValues(t.keys,", ")}`;break;case f.invalid_union:r="Invalid input";break;case f.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${P.joinValues(t.options)}`;break;case f.invalid_enum_value:r=`Invalid enum value. Expected ${P.joinValues(t.options)}, received '${t.received}'`;break;case f.invalid_arguments:r="Invalid function arguments";break;case f.invalid_return_type:r="Invalid function return type";break;case f.invalid_date:r="Invalid date";break;case f.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:P.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case f.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case f.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case f.custom:r="Invalid input";break;case f.invalid_intersection_types:r="Intersection results could not be merged";break;case f.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case f.not_finite:r="Number must be finite";break;default:r=e.defaultError,P.assertNever(t)}return{message:r}},ma=Et;function Ln(){return ma}var $n=t=>{let{data:e,path:r,errorMaps:n,issueData:s}=t,i=[...r,...s.path||[]],o={...s,path:i};if(s.message!==void 0)return{...s,path:i,message:s.message};let c="",h=n.filter(l=>!!l).slice().reverse();for(let l of h)c=l(o,{data:e,defaultError:c}).message;return{...s,path:i,message:c}};function m(t,e){let r=Ln(),n=$n({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Et?void 0:Et].filter(s=>!!s)});t.common.issues.push(n)}var X=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let s of r){if(s.status==="aborted")return x;s.status==="dirty"&&e.dirty(),n.push(s.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let s of r){let i=await s.key,o=await s.value;n.push({key:i,value:o})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let s of r){let{key:i,value:o}=s;if(i.status==="aborted"||o.status==="aborted")return x;i.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof o.value<"u"||s.alwaysSet)&&(n[i.value]=o.value)}return{status:e.value,value:n}}},x=Object.freeze({status:"aborted"}),Tt=t=>({status:"dirty",value:t}),ee=t=>({status:"valid",value:t}),Ws=t=>t.status==="aborted",Bs=t=>t.status==="dirty",Xe=t=>t.status==="valid",hr=t=>typeof Promise<"u"&&t instanceof Promise;function pr(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)}function Us(t,e,r,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!s:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(t,r):s?s.value=r:e.set(t,r),r}var b;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(b||(b={}));var Rt,St,ue=class{constructor(e,r,n,s){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=s}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Vs=(t,e)=>{if(Xe(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new ce(t.common.issues);return this._error=r,this._error}}};function T(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:s}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:(o,c)=>{var h,l;let{message:y}=t;return o.code==="invalid_enum_value"?{message:y??c.defaultError}:typeof c.data>"u"?{message:(h=y??n)!==null&&h!==void 0?h:c.defaultError}:o.code!=="invalid_type"?{message:c.defaultError}:{message:(l=y??r)!==null&&l!==void 0?l:c.defaultError}},description:s}}var R=class{get description(){return this._def.description}_getType(e){return je(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:je(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new X,ctx:{common:e.parent.common,data:e.data,parsedType:je(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(hr(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){var n;let s={common:{issues:[],async:(n=r?.async)!==null&&n!==void 0?n:!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:je(e)},i=this._parseSync({data:e,path:s.path,parent:s});return Vs(s,i)}"~validate"(e){var r,n;let s={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:je(e)};if(!this["~standard"].async)try{let i=this._parseSync({data:e,path:[],parent:s});return Xe(i)?{value:i.value}:{issues:s.common.issues}}catch(i){!((n=(r=i?.message)===null||r===void 0?void 0:r.toLowerCase())===null||n===void 0)&&n.includes("encountered")&&(this["~standard"].async=!0),s.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:s}).then(i=>Xe(i)?{value:i.value}:{issues:s.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:je(e)},s=this._parse({data:e,path:n.path,parent:n}),i=await(hr(s)?s:Promise.resolve(s));return Vs(n,i)}refine(e,r){let n=s=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(s):r;return this._refinement((s,i)=>{let o=e(s),c=()=>i.addIssue({code:f.custom,...n(s)});return typeof Promise<"u"&&o instanceof Promise?o.then(h=>h?!0:(c(),!1)):o?!0:(c(),!1)})}refinement(e,r){return this._refinement((n,s)=>e(n)?!0:(s.addIssue(typeof r=="function"?r(n,s):r),!1))}_refinement(e){return new he({schema:this,typeName:k.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return fe.create(this,this._def)}nullable(){return _e.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Oe.create(this)}promise(){return Le.create(this,this._def)}or(e){return rt.create([this,e],this._def)}and(e){return nt.create(this,e,this._def)}transform(e){return new he({...T(this._def),schema:this,typeName:k.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new ct({...T(this._def),innerType:this,defaultValue:r,typeName:k.ZodDefault})}brand(){return new mr({typeName:k.ZodBranded,type:this,...T(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new ut({...T(this._def),innerType:this,catchValue:r,typeName:k.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return gr.create(this,e)}readonly(){return dt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},ga=/^c[^\s-]{8,}$/i,ya=/^[0-9a-z]+$/,va=/^[0-9A-HJKMNP-TV-Z]{26}$/i,ba=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,_a=/^[a-z0-9_-]{21}$/i,wa=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ka=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,xa=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,za="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",In,Ta=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ra=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Sa=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Ea=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Pa=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,ja=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Hs="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Na=new RegExp(`^${Hs}$`);function Fs(t){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`),e}function Oa(t){return new RegExp(`^${Fs(t)}$`)}function Ca(t){let e=`${Hs}T${Fs(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function Ma(t,e){return!!((e==="v4"||!e)&&Ta.test(t)||(e==="v6"||!e)&&Sa.test(t))}function Aa(t,e){if(!wa.test(t))return!1;try{let[r]=t.split("."),n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),s=JSON.parse(atob(n));return!(typeof s!="object"||s===null||!s.typ||!s.alg||e&&s.alg!==e)}catch{return!1}}function Ia(t,e){return!!((e==="v4"||!e)&&Ra.test(t)||(e==="v6"||!e)&&Ea.test(t))}var Ke=class t extends R{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==g.string){let i=this._getOrReturnCtx(e);return m(i,{code:f.invalid_type,expected:g.string,received:i.parsedType}),x}let n=new X,s;for(let i of this._def.checks)if(i.kind==="min")e.data.length<i.value&&(s=this._getOrReturnCtx(e,s),m(s,{code:f.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="max")e.data.length>i.value&&(s=this._getOrReturnCtx(e,s),m(s,{code:f.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){let o=e.data.length>i.value,c=e.data.length<i.value;(o||c)&&(s=this._getOrReturnCtx(e,s),o?m(s,{code:f.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):c&&m(s,{code:f.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),n.dirty())}else if(i.kind==="email")xa.test(e.data)||(s=this._getOrReturnCtx(e,s),m(s,{validation:"email",code:f.invalid_string,message:i.message}),n.dirty());else if(i.kind==="emoji")In||(In=new RegExp(za,"u")),In.test(e.data)||(s=this._getOrReturnCtx(e,s),m(s,{validation:"emoji",code:f.invalid_string,message:i.message}),n.dirty());else if(i.kind==="uuid")ba.test(e.data)||(s=this._getOrReturnCtx(e,s),m(s,{validation:"uuid",code:f.invalid_string,message:i.message}),n.dirty());else if(i.kind==="nanoid")_a.test(e.data)||(s=this._getOrReturnCtx(e,s),m(s,{validation:"nanoid",code:f.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid")ga.test(e.data)||(s=this._getOrReturnCtx(e,s),m(s,{validation:"cuid",code:f.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid2")ya.test(e.data)||(s=this._getOrReturnCtx(e,s),m(s,{validation:"cuid2",code:f.invalid_string,message:i.message}),n.dirty());else if(i.kind==="ulid")va.test(e.data)||(s=this._getOrReturnCtx(e,s),m(s,{validation:"ulid",code:f.invalid_string,message:i.message}),n.dirty());else if(i.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),m(s,{validation:"url",code:f.invalid_string,message:i.message}),n.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),m(s,{validation:"regex",code:f.invalid_string,message:i.message}),n.dirty())):i.kind==="trim"?e.data=e.data.trim():i.kind==="includes"?e.data.includes(i.value,i.position)||(s=this._getOrReturnCtx(e,s),m(s,{code:f.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),n.dirty()):i.kind==="toLowerCase"?e.data=e.data.toLowerCase():i.kind==="toUpperCase"?e.data=e.data.toUpperCase():i.kind==="startsWith"?e.data.startsWith(i.value)||(s=this._getOrReturnCtx(e,s),m(s,{code:f.invalid_string,validation:{startsWith:i.value},message:i.message}),n.dirty()):i.kind==="endsWith"?e.data.endsWith(i.value)||(s=this._getOrReturnCtx(e,s),m(s,{code:f.invalid_string,validation:{endsWith:i.value},message:i.message}),n.dirty()):i.kind==="datetime"?Ca(i).test(e.data)||(s=this._getOrReturnCtx(e,s),m(s,{code:f.invalid_string,validation:"datetime",message:i.message}),n.dirty()):i.kind==="date"?Na.test(e.data)||(s=this._getOrReturnCtx(e,s),m(s,{code:f.invalid_string,validation:"date",message:i.message}),n.dirty()):i.kind==="time"?Oa(i).test(e.data)||(s=this._getOrReturnCtx(e,s),m(s,{code:f.invalid_string,validation:"time",message:i.message}),n.dirty()):i.kind==="duration"?ka.test(e.data)||(s=this._getOrReturnCtx(e,s),m(s,{validation:"duration",code:f.invalid_string,message:i.message}),n.dirty()):i.kind==="ip"?Ma(e.data,i.version)||(s=this._getOrReturnCtx(e,s),m(s,{validation:"ip",code:f.invalid_string,message:i.message}),n.dirty()):i.kind==="jwt"?Aa(e.data,i.alg)||(s=this._getOrReturnCtx(e,s),m(s,{validation:"jwt",code:f.invalid_string,message:i.message}),n.dirty()):i.kind==="cidr"?Ia(e.data,i.version)||(s=this._getOrReturnCtx(e,s),m(s,{validation:"cidr",code:f.invalid_string,message:i.message}),n.dirty()):i.kind==="base64"?Pa.test(e.data)||(s=this._getOrReturnCtx(e,s),m(s,{validation:"base64",code:f.invalid_string,message:i.message}),n.dirty()):i.kind==="base64url"?ja.test(e.data)||(s=this._getOrReturnCtx(e,s),m(s,{validation:"base64url",code:f.invalid_string,message:i.message}),n.dirty()):P.assertNever(i);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(s=>e.test(s),{validation:r,code:f.invalid_string,...b.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...b.errToObj(e)})}url(e){return this._addCheck({kind:"url",...b.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...b.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...b.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...b.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...b.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...b.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...b.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...b.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...b.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...b.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...b.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...b.errToObj(e)})}datetime(e){var r,n;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:(r=e?.offset)!==null&&r!==void 0?r:!1,local:(n=e?.local)!==null&&n!==void 0?n:!1,...b.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...b.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...b.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...b.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...b.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...b.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...b.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...b.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...b.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...b.errToObj(r)})}nonempty(e){return this.min(1,b.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};Ke.create=t=>{var e;return new Ke({checks:[],typeName:k.ZodString,coerce:(e=t?.coerce)!==null&&e!==void 0?e:!1,...T(t)})};function La(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,s=r>n?r:n,i=parseInt(t.toFixed(s).replace(".","")),o=parseInt(e.toFixed(s).replace(".",""));return i%o/Math.pow(10,s)}var Pt=class t extends R{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==g.number){let i=this._getOrReturnCtx(e);return m(i,{code:f.invalid_type,expected:g.number,received:i.parsedType}),x}let n,s=new X;for(let i of this._def.checks)i.kind==="int"?P.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),m(n,{code:f.invalid_type,expected:"integer",received:"float",message:i.message}),s.dirty()):i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(n=this._getOrReturnCtx(e,n),m(n,{code:f.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),m(n,{code:f.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="multipleOf"?La(e.data,i.value)!==0&&(n=this._getOrReturnCtx(e,n),m(n,{code:f.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),m(n,{code:f.not_finite,message:i.message}),s.dirty()):P.assertNever(i);return{status:s.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,b.toString(r))}gt(e,r){return this.setLimit("min",e,!1,b.toString(r))}lte(e,r){return this.setLimit("max",e,!0,b.toString(r))}lt(e,r){return this.setLimit("max",e,!1,b.toString(r))}setLimit(e,r,n,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:b.toString(s)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:b.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:b.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:b.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:b.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:b.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:b.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&P.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};Pt.create=t=>new Pt({checks:[],typeName:k.ZodNumber,coerce:t?.coerce||!1,...T(t)});var jt=class t extends R{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==g.bigint)return this._getInvalidInput(e);let n,s=new X;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(n=this._getOrReturnCtx(e,n),m(n,{code:f.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),m(n,{code:f.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),m(n,{code:f.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):P.assertNever(i);return{status:s.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return m(r,{code:f.invalid_type,expected:g.bigint,received:r.parsedType}),x}gte(e,r){return this.setLimit("min",e,!0,b.toString(r))}gt(e,r){return this.setLimit("min",e,!1,b.toString(r))}lte(e,r){return this.setLimit("max",e,!0,b.toString(r))}lt(e,r){return this.setLimit("max",e,!1,b.toString(r))}setLimit(e,r,n,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:b.toString(s)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:b.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:b.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};jt.create=t=>{var e;return new jt({checks:[],typeName:k.ZodBigInt,coerce:(e=t?.coerce)!==null&&e!==void 0?e:!1,...T(t)})};var Nt=class extends R{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==g.boolean){let n=this._getOrReturnCtx(e);return m(n,{code:f.invalid_type,expected:g.boolean,received:n.parsedType}),x}return ee(e.data)}};Nt.create=t=>new Nt({typeName:k.ZodBoolean,coerce:t?.coerce||!1,...T(t)});var Ot=class t extends R{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==g.date){let i=this._getOrReturnCtx(e);return m(i,{code:f.invalid_type,expected:g.date,received:i.parsedType}),x}if(isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return m(i,{code:f.invalid_date}),x}let n=new X,s;for(let i of this._def.checks)i.kind==="min"?e.data.getTime()<i.value&&(s=this._getOrReturnCtx(e,s),m(s,{code:f.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),n.dirty()):i.kind==="max"?e.data.getTime()>i.value&&(s=this._getOrReturnCtx(e,s),m(s,{code:f.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):P.assertNever(i);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:b.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:b.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};Ot.create=t=>new Ot({checks:[],coerce:t?.coerce||!1,typeName:k.ZodDate,...T(t)});var Ct=class extends R{_parse(e){if(this._getType(e)!==g.symbol){let n=this._getOrReturnCtx(e);return m(n,{code:f.invalid_type,expected:g.symbol,received:n.parsedType}),x}return ee(e.data)}};Ct.create=t=>new Ct({typeName:k.ZodSymbol,...T(t)});var et=class extends R{_parse(e){if(this._getType(e)!==g.undefined){let n=this._getOrReturnCtx(e);return m(n,{code:f.invalid_type,expected:g.undefined,received:n.parsedType}),x}return ee(e.data)}};et.create=t=>new et({typeName:k.ZodUndefined,...T(t)});var tt=class extends R{_parse(e){if(this._getType(e)!==g.null){let n=this._getOrReturnCtx(e);return m(n,{code:f.invalid_type,expected:g.null,received:n.parsedType}),x}return ee(e.data)}};tt.create=t=>new tt({typeName:k.ZodNull,...T(t)});var Mt=class extends R{constructor(){super(...arguments),this._any=!0}_parse(e){return ee(e.data)}};Mt.create=t=>new Mt({typeName:k.ZodAny,...T(t)});var Ne=class extends R{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ee(e.data)}};Ne.create=t=>new Ne({typeName:k.ZodUnknown,...T(t)});var ge=class extends R{_parse(e){let r=this._getOrReturnCtx(e);return m(r,{code:f.invalid_type,expected:g.never,received:r.parsedType}),x}};ge.create=t=>new ge({typeName:k.ZodNever,...T(t)});var At=class extends R{_parse(e){if(this._getType(e)!==g.undefined){let n=this._getOrReturnCtx(e);return m(n,{code:f.invalid_type,expected:g.void,received:n.parsedType}),x}return ee(e.data)}};At.create=t=>new At({typeName:k.ZodVoid,...T(t)});var Oe=class t extends R{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),s=this._def;if(r.parsedType!==g.array)return m(r,{code:f.invalid_type,expected:g.array,received:r.parsedType}),x;if(s.exactLength!==null){let o=r.data.length>s.exactLength.value,c=r.data.length<s.exactLength.value;(o||c)&&(m(r,{code:o?f.too_big:f.too_small,minimum:c?s.exactLength.value:void 0,maximum:o?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),n.dirty())}if(s.minLength!==null&&r.data.length<s.minLength.value&&(m(r,{code:f.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),n.dirty()),s.maxLength!==null&&r.data.length>s.maxLength.value&&(m(r,{code:f.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((o,c)=>s.type._parseAsync(new ue(r,o,r.path,c)))).then(o=>X.mergeArray(n,o));let i=[...r.data].map((o,c)=>s.type._parseSync(new ue(r,o,r.path,c)));return X.mergeArray(n,i)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:b.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:b.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:b.toString(r)}})}nonempty(e){return this.min(1,e)}};Oe.create=(t,e)=>new Oe({type:t,minLength:null,maxLength:null,exactLength:null,typeName:k.ZodArray,...T(e)});function Ye(t){if(t instanceof se){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=fe.create(Ye(n))}return new se({...t._def,shape:()=>e})}else return t instanceof Oe?new Oe({...t._def,type:Ye(t.element)}):t instanceof fe?fe.create(Ye(t.unwrap())):t instanceof _e?_e.create(Ye(t.unwrap())):t instanceof be?be.create(t.items.map(e=>Ye(e))):t}var se=class t extends R{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=P.objectKeys(e);return this._cached={shape:e,keys:r}}_parse(e){if(this._getType(e)!==g.object){let l=this._getOrReturnCtx(e);return m(l,{code:f.invalid_type,expected:g.object,received:l.parsedType}),x}let{status:n,ctx:s}=this._processInputParams(e),{shape:i,keys:o}=this._getCached(),c=[];if(!(this._def.catchall instanceof ge&&this._def.unknownKeys==="strip"))for(let l in s.data)o.includes(l)||c.push(l);let h=[];for(let l of o){let y=i[l],M=s.data[l];h.push({key:{status:"valid",value:l},value:y._parse(new ue(s,M,s.path,l)),alwaysSet:l in s.data})}if(this._def.catchall instanceof ge){let l=this._def.unknownKeys;if(l==="passthrough")for(let y of c)h.push({key:{status:"valid",value:y},value:{status:"valid",value:s.data[y]}});else if(l==="strict")c.length>0&&(m(s,{code:f.unrecognized_keys,keys:c}),n.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let l=this._def.catchall;for(let y of c){let M=s.data[y];h.push({key:{status:"valid",value:y},value:l._parse(new ue(s,M,s.path,y)),alwaysSet:y in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let l=[];for(let y of h){let M=await y.key,Q=await y.value;l.push({key:M,value:Q,alwaysSet:y.alwaysSet})}return l}).then(l=>X.mergeObjectSync(n,l)):X.mergeObjectSync(n,h)}get shape(){return this._def.shape()}strict(e){return b.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{var s,i,o,c;let h=(o=(i=(s=this._def).errorMap)===null||i===void 0?void 0:i.call(s,r,n).message)!==null&&o!==void 0?o:n.defaultError;return r.code==="unrecognized_keys"?{message:(c=b.errToObj(e).message)!==null&&c!==void 0?c:h}:{message:h}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:k.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};return P.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(r[n]=this.shape[n])}),new t({...this._def,shape:()=>r})}omit(e){let r={};return P.objectKeys(this.shape).forEach(n=>{e[n]||(r[n]=this.shape[n])}),new t({...this._def,shape:()=>r})}deepPartial(){return Ye(this)}partial(e){let r={};return P.objectKeys(this.shape).forEach(n=>{let s=this.shape[n];e&&!e[n]?r[n]=s:r[n]=s.optional()}),new t({...this._def,shape:()=>r})}required(e){let r={};return P.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof fe;)i=i._def.innerType;r[n]=i}}),new t({...this._def,shape:()=>r})}keyof(){return Js(P.objectKeys(this.shape))}};se.create=(t,e)=>new se({shape:()=>t,unknownKeys:"strip",catchall:ge.create(),typeName:k.ZodObject,...T(e)});se.strictCreate=(t,e)=>new se({shape:()=>t,unknownKeys:"strict",catchall:ge.create(),typeName:k.ZodObject,...T(e)});se.lazycreate=(t,e)=>new se({shape:t,unknownKeys:"strip",catchall:ge.create(),typeName:k.ZodObject,...T(e)});var rt=class extends R{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function s(i){for(let c of i)if(c.result.status==="valid")return c.result;for(let c of i)if(c.result.status==="dirty")return r.common.issues.push(...c.ctx.common.issues),c.result;let o=i.map(c=>new ce(c.ctx.common.issues));return m(r,{code:f.invalid_union,unionErrors:o}),x}if(r.common.async)return Promise.all(n.map(async i=>{let o={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(s);{let i,o=[];for(let h of n){let l={...r,common:{...r.common,issues:[]},parent:null},y=h._parseSync({data:r.data,path:r.path,parent:l});if(y.status==="valid")return y;y.status==="dirty"&&!i&&(i={result:y,ctx:l}),l.common.issues.length&&o.push(l.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;let c=o.map(h=>new ce(h));return m(r,{code:f.invalid_union,unionErrors:c}),x}}get options(){return this._def.options}};rt.create=(t,e)=>new rt({options:t,typeName:k.ZodUnion,...T(e)});var ve=t=>t instanceof st?ve(t.schema):t instanceof he?ve(t.innerType()):t instanceof it?[t.value]:t instanceof at?t.options:t instanceof ot?P.objectValues(t.enum):t instanceof ct?ve(t._def.innerType):t instanceof et?[void 0]:t instanceof tt?[null]:t instanceof fe?[void 0,...ve(t.unwrap())]:t instanceof _e?[null,...ve(t.unwrap())]:t instanceof mr||t instanceof dt?ve(t.unwrap()):t instanceof ut?ve(t._def.innerType):[],qn=class t extends R{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==g.object)return m(r,{code:f.invalid_type,expected:g.object,received:r.parsedType}),x;let n=this.discriminator,s=r.data[n],i=this.optionsMap.get(s);return i?r.common.async?i._parseAsync({data:r.data,path:r.path,parent:r}):i._parseSync({data:r.data,path:r.path,parent:r}):(m(r,{code:f.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),x)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let s=new Map;for(let i of r){let o=ve(i.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let c of o){if(s.has(c))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(c)}`);s.set(c,i)}}return new t({typeName:k.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:s,...T(n)})}};function Dn(t,e){let r=je(t),n=je(e);if(t===e)return{valid:!0,data:t};if(r===g.object&&n===g.object){let s=P.objectKeys(e),i=P.objectKeys(t).filter(c=>s.indexOf(c)!==-1),o={...t,...e};for(let c of i){let h=Dn(t[c],e[c]);if(!h.valid)return{valid:!1};o[c]=h.data}return{valid:!0,data:o}}else if(r===g.array&&n===g.array){if(t.length!==e.length)return{valid:!1};let s=[];for(let i=0;i<t.length;i++){let o=t[i],c=e[i],h=Dn(o,c);if(!h.valid)return{valid:!1};s.push(h.data)}return{valid:!0,data:s}}else return r===g.date&&n===g.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var nt=class extends R{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),s=(i,o)=>{if(Ws(i)||Ws(o))return x;let c=Dn(i.value,o.value);return c.valid?((Bs(i)||Bs(o))&&r.dirty(),{status:r.value,value:c.data}):(m(n,{code:f.invalid_intersection_types}),x)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,o])=>s(i,o)):s(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};nt.create=(t,e,r)=>new nt({left:t,right:e,typeName:k.ZodIntersection,...T(r)});var be=class t extends R{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==g.array)return m(n,{code:f.invalid_type,expected:g.array,received:n.parsedType}),x;if(n.data.length<this._def.items.length)return m(n,{code:f.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),x;!this._def.rest&&n.data.length>this._def.items.length&&(m(n,{code:f.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let i=[...n.data].map((o,c)=>{let h=this._def.items[c]||this._def.rest;return h?h._parse(new ue(n,o,n.path,c)):null}).filter(o=>!!o);return n.common.async?Promise.all(i).then(o=>X.mergeArray(r,o)):X.mergeArray(r,i)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};be.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new be({items:t,typeName:k.ZodTuple,rest:null,...T(e)})};var Zn=class t extends R{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==g.object)return m(n,{code:f.invalid_type,expected:g.object,received:n.parsedType}),x;let s=[],i=this._def.keyType,o=this._def.valueType;for(let c in n.data)s.push({key:i._parse(new ue(n,c,n.path,c)),value:o._parse(new ue(n,n.data[c],n.path,c)),alwaysSet:c in n.data});return n.common.async?X.mergeObjectAsync(r,s):X.mergeObjectSync(r,s)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof R?new t({keyType:e,valueType:r,typeName:k.ZodRecord,...T(n)}):new t({keyType:Ke.create(),valueType:e,typeName:k.ZodRecord,...T(r)})}},It=class extends R{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==g.map)return m(n,{code:f.invalid_type,expected:g.map,received:n.parsedType}),x;let s=this._def.keyType,i=this._def.valueType,o=[...n.data.entries()].map(([c,h],l)=>({key:s._parse(new ue(n,c,n.path,[l,"key"])),value:i._parse(new ue(n,h,n.path,[l,"value"]))}));if(n.common.async){let c=new Map;return Promise.resolve().then(async()=>{for(let h of o){let l=await h.key,y=await h.value;if(l.status==="aborted"||y.status==="aborted")return x;(l.status==="dirty"||y.status==="dirty")&&r.dirty(),c.set(l.value,y.value)}return{status:r.value,value:c}})}else{let c=new Map;for(let h of o){let l=h.key,y=h.value;if(l.status==="aborted"||y.status==="aborted")return x;(l.status==="dirty"||y.status==="dirty")&&r.dirty(),c.set(l.value,y.value)}return{status:r.value,value:c}}}};It.create=(t,e,r)=>new It({valueType:e,keyType:t,typeName:k.ZodMap,...T(r)});var Lt=class t extends R{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==g.set)return m(n,{code:f.invalid_type,expected:g.set,received:n.parsedType}),x;let s=this._def;s.minSize!==null&&n.data.size<s.minSize.value&&(m(n,{code:f.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),r.dirty()),s.maxSize!==null&&n.data.size>s.maxSize.value&&(m(n,{code:f.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),r.dirty());let i=this._def.valueType;function o(h){let l=new Set;for(let y of h){if(y.status==="aborted")return x;y.status==="dirty"&&r.dirty(),l.add(y.value)}return{status:r.value,value:l}}let c=[...n.data.values()].map((h,l)=>i._parse(new ue(n,h,n.path,l)));return n.common.async?Promise.all(c).then(h=>o(h)):o(c)}min(e,r){return new t({...this._def,minSize:{value:e,message:b.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:b.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};Lt.create=(t,e)=>new Lt({valueType:t,minSize:null,maxSize:null,typeName:k.ZodSet,...T(e)});var Wn=class t extends R{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==g.function)return m(r,{code:f.invalid_type,expected:g.function,received:r.parsedType}),x;function n(c,h){return $n({data:c,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Ln(),Et].filter(l=>!!l),issueData:{code:f.invalid_arguments,argumentsError:h}})}function s(c,h){return $n({data:c,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Ln(),Et].filter(l=>!!l),issueData:{code:f.invalid_return_type,returnTypeError:h}})}let i={errorMap:r.common.contextualErrorMap},o=r.data;if(this._def.returns instanceof Le){let c=this;return ee(async function(...h){let l=new ce([]),y=await c._def.args.parseAsync(h,i).catch(F=>{throw l.addIssue(n(h,F)),l}),M=await Reflect.apply(o,this,y);return await c._def.returns._def.type.parseAsync(M,i).catch(F=>{throw l.addIssue(s(M,F)),l})})}else{let c=this;return ee(function(...h){let l=c._def.args.safeParse(h,i);if(!l.success)throw new ce([n(h,l.error)]);let y=Reflect.apply(o,this,l.data),M=c._def.returns.safeParse(y,i);if(!M.success)throw new ce([s(y,M.error)]);return M.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:be.create(e).rest(Ne.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||be.create([]).rest(Ne.create()),returns:r||Ne.create(),typeName:k.ZodFunction,...T(n)})}},st=class extends R{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};st.create=(t,e)=>new st({getter:t,typeName:k.ZodLazy,...T(e)});var it=class extends R{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return m(r,{received:r.data,code:f.invalid_literal,expected:this._def.value}),x}return{status:"valid",value:e.data}}get value(){return this._def.value}};it.create=(t,e)=>new it({value:t,typeName:k.ZodLiteral,...T(e)});function Js(t,e){return new at({values:t,typeName:k.ZodEnum,...T(e)})}var at=class t extends R{constructor(){super(...arguments),Rt.set(this,void 0)}_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return m(r,{expected:P.joinValues(n),received:r.parsedType,code:f.invalid_type}),x}if(pr(this,Rt,"f")||Us(this,Rt,new Set(this._def.values),"f"),!pr(this,Rt,"f").has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return m(r,{received:r.data,code:f.invalid_enum_value,options:n}),x}return ee(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Rt=new WeakMap;at.create=Js;var ot=class extends R{constructor(){super(...arguments),St.set(this,void 0)}_parse(e){let r=P.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==g.string&&n.parsedType!==g.number){let s=P.objectValues(r);return m(n,{expected:P.joinValues(s),received:n.parsedType,code:f.invalid_type}),x}if(pr(this,St,"f")||Us(this,St,new Set(P.getValidEnumValues(this._def.values)),"f"),!pr(this,St,"f").has(e.data)){let s=P.objectValues(r);return m(n,{received:n.data,code:f.invalid_enum_value,options:s}),x}return ee(e.data)}get enum(){return this._def.values}};St=new WeakMap;ot.create=(t,e)=>new ot({values:t,typeName:k.ZodNativeEnum,...T(e)});var Le=class extends R{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==g.promise&&r.common.async===!1)return m(r,{code:f.invalid_type,expected:g.promise,received:r.parsedType}),x;let n=r.parsedType===g.promise?r.data:Promise.resolve(r.data);return ee(n.then(s=>this._def.type.parseAsync(s,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Le.create=(t,e)=>new Le({type:t,typeName:k.ZodPromise,...T(e)});var he=class extends R{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===k.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),s=this._def.effect||null,i={addIssue:o=>{m(n,o),o.fatal?r.abort():r.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),s.type==="preprocess"){let o=s.transform(n.data,i);if(n.common.async)return Promise.resolve(o).then(async c=>{if(r.value==="aborted")return x;let h=await this._def.schema._parseAsync({data:c,path:n.path,parent:n});return h.status==="aborted"?x:h.status==="dirty"||r.value==="dirty"?Tt(h.value):h});{if(r.value==="aborted")return x;let c=this._def.schema._parseSync({data:o,path:n.path,parent:n});return c.status==="aborted"?x:c.status==="dirty"||r.value==="dirty"?Tt(c.value):c}}if(s.type==="refinement"){let o=c=>{let h=s.refinement(c,i);if(n.common.async)return Promise.resolve(h);if(h instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return c};if(n.common.async===!1){let c=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return c.status==="aborted"?x:(c.status==="dirty"&&r.dirty(),o(c.value),{status:r.value,value:c.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(c=>c.status==="aborted"?x:(c.status==="dirty"&&r.dirty(),o(c.value).then(()=>({status:r.value,value:c.value}))))}if(s.type==="transform")if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Xe(o))return o;let c=s.transform(o.value,i);if(c instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:c}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>Xe(o)?Promise.resolve(s.transform(o.value,i)).then(c=>({status:r.value,value:c})):o);P.assertNever(s)}};he.create=(t,e,r)=>new he({schema:t,typeName:k.ZodEffects,effect:e,...T(r)});he.createWithPreprocess=(t,e,r)=>new he({schema:e,effect:{type:"preprocess",transform:t},typeName:k.ZodEffects,...T(r)});var fe=class extends R{_parse(e){return this._getType(e)===g.undefined?ee(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};fe.create=(t,e)=>new fe({innerType:t,typeName:k.ZodOptional,...T(e)});var _e=class extends R{_parse(e){return this._getType(e)===g.null?ee(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};_e.create=(t,e)=>new _e({innerType:t,typeName:k.ZodNullable,...T(e)});var ct=class extends R{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===g.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};ct.create=(t,e)=>new ct({innerType:t,typeName:k.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...T(e)});var ut=class extends R{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},s=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return hr(s)?s.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new ce(n.common.issues)},input:n.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ce(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};ut.create=(t,e)=>new ut({innerType:t,typeName:k.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...T(e)});var $t=class extends R{_parse(e){if(this._getType(e)!==g.nan){let n=this._getOrReturnCtx(e);return m(n,{code:f.invalid_type,expected:g.nan,received:n.parsedType}),x}return{status:"valid",value:e.data}}};$t.create=t=>new $t({typeName:k.ZodNaN,...T(t)});var mo=Symbol("zod_brand"),mr=class extends R{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},gr=class t extends R{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?x:i.status==="dirty"?(r.dirty(),Tt(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{let s=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?x:s.status==="dirty"?(r.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:k.ZodPipeline})}},dt=class extends R{_parse(e){let r=this._def.innerType._parse(e),n=s=>(Xe(s)&&(s.value=Object.freeze(s.value)),s);return hr(r)?r.then(s=>n(s)):n(r)}unwrap(){return this._def.innerType}};dt.create=(t,e)=>new dt({innerType:t,typeName:k.ZodReadonly,...T(e)});var go={object:se.lazycreate},k;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(k||(k={}));var $e=Ke.create,$a=Pt.create,yo=$t.create,vo=jt.create,qa=Nt.create,bo=Ot.create,_o=Ct.create,Da=et.create,wo=tt.create,ko=Mt.create,Za=Ne.create,xo=ge.create,zo=At.create,yr=Oe.create,qt=se.create,To=se.strictCreate,Gs=rt.create,Ro=qn.create,So=nt.create,Eo=be.create,Wa=Zn.create,Po=It.create,jo=Lt.create,No=Wn.create,Oo=st.create,Ba=it.create,Co=at.create,Mo=ot.create,Ao=Le.create,Io=he.create,Lo=fe.create,$o=_e.create,qo=he.createWithPreprocess,Do=gr.create;var Zo=Gs([qt({modifiers:yr($e()),key:$e()}),qt({macOS:qt({modifiers:yr($e()),key:$e()}),windows:qt({modifiers:yr($e()),key:$e()})})]);function Qs(t){return t.replace(/[^\\](\\ud800|\ud800|\0)/gi,"")}var Zt=require("node:perf_hooks");var Xs=require("worker_threads");var Ua=[];function vr(){return Ua}var Bn=require("node:crypto"),Ha="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Fa=128,qe,lt;function Ja(t){!qe||qe.length<t?(qe=Buffer.allocUnsafe(t*Fa),Bn.webcrypto.getRandomValues(qe),lt=0):lt+t>qe.length&&(Bn.webcrypto.getRandomValues(qe),lt=0),lt+=t}function Ys(t=21){Ja(t-=0);let e="";for(let r=lt-t;r<lt;r++)e+=Ha[qe[r]&63];return e}var br=class{options;terminationHandler;worker;resultHandlers;timeoutId;lastELU;isHandlingError=!1;loadPromiseRejection;get id(){return this.options.id}constructor(e,r){this.options=e,this.terminationHandler=r,this.resultHandlers=new Map,this.worker=new Xs.Worker(e.workerPath,{workerData:e,stdin:!0,stdout:!0,stderr:!0,resourceLimits:{maxOldGenerationSizeMb:e.maxHeapSizeMb}}),e.timeout&&(this.timeoutId=setTimeout(this.timeout.bind(this),e.timeout*1e3))}load(){this.worker.on("message",async r=>{let{kind:n}=r;switch(n){case"notify":{let{method:s}=r,{params:i}=r;switch(s){case"commandException":{this.isHandlingError=!0;let o=B.tryDeserialize(i)??new B(i,6,"Worker Error",{sessionId:this.id});o.diagnostics||(o.diagnostics=this.diagnostics()),await Dt(o);break}case"captureException":{let o=B.tryDeserialize(i)??new B(i,6,"Worker Error",{sessionId:this.id});o.diagnostics||(o.diagnostics=this.diagnostics()),ei(o);break}default:{we(s,i);break}}}break;case"request":{let{id:s}=r;try{let{method:i}=r,{params:o}=r,c=await Ks(i,{...o,sessionId:this.id,requestId:s});this.worker.postMessage({kind:"result",id:s,result:{success:!0,value:c}})}catch(i){this.worker.postMessage({kind:"result",id:s,result:{success:!1,error:i}})}}break;case"result":{let{id:s}=r,{result:i}=r;this.resultHandlers.get(s)?.(i),this.resultHandlers.delete(s)}break;default:break}}),this.worker.on("messageerror",async r=>{this.isHandlingError=!0;let n=new B(r,5,"Worker Message Error",{breadcrumbs:vr(),diagnostics:this.diagnostics(),sessionId:this.id});await Dt(n)}),this.worker.on("error",async r=>{this.isHandlingError=!0;let n=new B(r,6,"Worker Error",{breadcrumbs:vr(),diagnostics:this.diagnostics(),sessionId:this.id});await Dt(n)}),this.worker.on("exit",r=>{this.removeListeners(),this.terminationHandler?.(this.id),!this.isHandlingError&&we("commandExited",{sessionId:this.id,code:r})});let e=new Promise((r,n)=>{this.loadPromiseRejection=n});return Promise.race([this.request("initialize",{}),e]).finally(()=>{this.loadPromiseRejection=void 0})}async unload(){try{return await this.worker.terminate()}finally{this.removeListeners()}}request(e,r){return new Promise((n,s)=>{let i=Ys(),o=c=>{if(c.success===!1){let h=B.tryDeserialize(c.error)??new B(c.error,8,"Worker Request Error");h.sessionId||(h.sessionId=this.id),h.diagnostics||(h.diagnostics=this.diagnostics()),s(h.serialize());return}n(c.value)};this.resultHandlers.set(i,o),this.worker.postMessage({kind:"request",id:i,method:e,params:r})})}diagnostics(){let e=this.worker.performance.eventLoopUtilization(),r=this.worker.performance.eventLoopUtilization(e,this.lastELU);return this.lastELU=e,{id:this.options.id,extensionName:this.options.extensionName,name:this.options.entryPointName,mode:this.options.entryPointMode,isDevelopment:this.options.isDevelopment,launchType:this.options.launchType,timeout:this.options.timeout,eventLoopUtilization:r,startedAt:this.options.startedAt}}async timeout(){try{this.worker.removeAllListeners("exit"),this.options.entryPointType==="tool"&&this.loadPromiseRejection?this.loadPromiseRejection(new Error(`The execution of ${this.options.entryPointName} timed out (${this.options.timeout}s max).`)):(this.options.isDevelopment&&await we("logCommand",{sessionId:this.id,level:"error",message:`The execution of ${this.options.entryPointName} timed out (${this.options.timeout}s max).`}),await this.worker.terminate())}catch(e){await Dt(new B(e,14,"Worker Timeout Error",{breadcrumbs:vr(),diagnostics:this.diagnostics(),sessionId:this.id}))}finally{this.removeListeners(),this.terminationHandler?.(this.id)}}removeListeners(){this.worker.removeAllListeners("message"),this.worker.removeAllListeners("messageerror"),this.worker.removeAllListeners("error"),this.worker.removeAllListeners("exit"),this.timeoutId&&clearTimeout(this.timeoutId)}};var ht=new Map,ft=new Set;async function _r(t){ft.delete(t.id);let e=new br(t,r=>{ht.delete(r),ft.add(r),setTimeout(()=>{ft.delete(t.id)},1e3)});return ht.set(t.id,e),e.load()}async function ti(t){let e=ht.get(t);if(e)try{return await e.unload()}finally{ht.delete(t),ft.add(t),setTimeout(()=>{ft.delete(t)},1e3)}}async function ri(t,e,r){if(ft.has(t))throw new B(new Error("Worker already terminated"),17,"Race Condition Error",{breadcrumbs:[{level:"fatal",category:"Request",message:"Worker already terminated",timestamp:new Date(Zt.performance.timeOrigin+Zt.performance.now()).toISOString(),data:{method:e,sessionId:t}}],sessionId:t}).serialize();let n=ht.get(t);if(!n)throw new B(new Error("Could not communicate with worker"),11,"Unknown Command",{breadcrumbs:[{level:"fatal",category:"Request",message:"Could not communicate with worker",timestamp:new Date(Zt.performance.timeOrigin+Zt.performance.now()).toISOString(),data:{method:e,sessionId:t}}],sessionId:t}).serialize();return n.request(e,r)}function ni(){return[...ht.values()].map(t=>t.diagnostics())}async function Un(t){return{workerDiagnostics:ni()}}async function Hn(t){return{nodeVersion:process.version}}async function Fn(t){let e=t?.sessionId,r=t?.workerPath,n=t?.ownerOrAuthorName,s=t?.extensionName,i=t?.commandName,o=t?.commandMode,c=t?.commandPath,h=t?.assetsPath,l=t?.supportPath,y=t?.maxHeapSizeMb,M=t?.isDevelopment,Q=t?.appearance,F=t?.textSize,ke=t?.draftValues,ie=t?.launchType,ae=t?.timeout,xe=t?.startedAt;if(!e||!r||typeof n>"u"||!s||!i||!o||!c||!h||!l||!y||!Q||!F||!ie)return Promise.reject(new Error(`Invalid parameters ${t}`));let te=t?.preferences,N=t?.arguments,de=t?.launchContext,$=t?.fallbackText,oe=t?.canAccessAI,Ce=t?.canAccessBetterAIModels,gt=t?.isBrowserExtensionInstalled,Bt=t?.canAccessWindowManagement,Vt=t?.namedExport;return await _r({entryPointType:"command",id:e,workerPath:r,ownerOrAuthorName:n,extensionName:s,entryPointName:i,entryPointMode:o,commandPath:c,assetsPath:h,supportPath:l,preferences:te,maxHeapSizeMb:y,isDevelopment:M,appearance:Q,textSize:F,draftValues:ke,argumentValues:N,launchType:ie,timeout:ae,startedAt:xe,launchContext:de,fallbackText:$,canAccessAI:oe,canAccessBetterAIModels:Ce,isBrowserExtensionInstalled:gt,canAccessWindowManagement:Bt,namedExport:Vt})}async function Jn(t){let e=t?.sessionId,r=t?.workerPath,n=t?.ownerOrAuthorName,s=t?.extensionName,i=t?.toolName,o=t?.toolMode,c=t?.toolPath,h=t?.shouldExecuteFunctionsBeforeReturning,l=t?.assetsPath,y=t?.supportPath,M=t?.maxHeapSizeMb,Q=t?.isDevelopment,F=t?.appearance,ke=t?.textSize,ie=t?.timeout,ae=t?.startedAt;if(!e||!r||typeof n>"u"||!s||!l||!y||!M||!F||!ke)return Promise.reject(new Error(`Invalid parameters ${t}`));let xe=t?.preferences,te=t?.canAccessAI,N=t?.canAccessBetterAIModels,de=t?.isBrowserExtensionInstalled,$=t?.canAccessWindowManagement,oe=t?.arguments,Ce=t?.namedExport;return await _r({entryPointType:"tool",id:e,workerPath:r,ownerOrAuthorName:n,extensionName:s,entryPointName:i,entryPointMode:o,toolPath:c,shouldExecuteFunctionsBeforeReturning:h,assetsPath:l,supportPath:y,preferences:xe,maxHeapSizeMb:M,isDevelopment:Q,appearance:F,textSize:ke,timeout:ie,startedAt:ae,canAccessAI:te,canAccessBetterAIModels:N,isBrowserExtensionInstalled:de,canAccessWindowManagement:$,launchType:"userInitiated",arguments:oe,namedExport:Ce})}async function Gn(t){let e=t?.sessionId;if(!e)throw new B("Native callback called without a session ID ",7,"Invalid Parameters").serialize();return await ri(e,"nativeCallback",t)}async function Qn(t){let e=t?.sessionId;return e?await ti(e):Promise.reject(new Error("Invalid parameters"))}var si=require("node:worker_threads"),ii=require("node:path"),pe=pt.createMessageConnection(new pt.StreamMessageReader(process.stdin),new pt.StreamMessageWriter(process.stdout));pe.onRequest("initialize",t=>mt(Hn,t));pe.onRequest("loadCommand",t=>mt(Fn,t));pe.onRequest("loadTool",t=>mt(Jn,t));pe.onRequest("unloadEntryPoint",t=>mt(Qn,t));pe.onRequest("nativeCallback",t=>mt(Gn,t));pe.onRequest("diagnostics",t=>mt(Un,t));pe.onClose(()=>{process.exit(0)});pe.onError(t=>{let e=`Server connection error: ${t}`;process.stderr.write(`${e} +`),process.exit(1)});function ai(){pe.listen()}function Ks(t,e){return pe.sendRequest(t,wr(e))}function we(t,e){return pe.sendNotification(t,wr(e))}async function Dt(t){let e=await Yn(t);await we("commandException",e),we("commandExited",{sessionId:e.sessionId,code:e.code})}async function ei(t){let e=await Yn(t);await we("captureException",e)}function wr(t){return Object.entries(t).reduce((e,[r,n])=>(e[r]=typeof n=="string"?Qs(n):n,e),{})}var mt=async(t,e)=>{try{return await t(e)}catch(r){let n=B.tryDeserialize(r)??new B(r,8,"Worker Request Error");n.sessionId||(n.sessionId=e.sessionId);let s=wr(n.serialize());try{s=await Yn(n)}catch{}throw new Error(JSON.stringify(wr(s)))}},Yn=t=>new Promise((e,r)=>{if(typeof t.message>"u"||!t.stack)return e(t.serialize());let n=new si.Worker((0,ii.join)(__dirname,"..","source-mapper","index.js"),{workerData:{id:t.sessionId,message:t.message,stack:t.stack},stdin:!0,stdout:!0,stderr:!0,resourceLimits:{maxOldGenerationSizeMb:100}}),s=setTimeout(async()=>{n.removeAllListeners(),await n.terminate(),r(new Error("Source Map worker timed out after 10 seconds"))},10*1e3);n.on("message",i=>{clearTimeout(s),e({...t.serialize(),message:i.message,stack:i.stack})}),n.on("error",i=>{clearTimeout(s),r(i)}),n.on("messageerror",i=>{clearTimeout(s),r(i)}),n.on("exit",()=>{clearTimeout(s)})});function ci(){console.log=Wt("debug"),console.dir=console.log,console.debug=Wt("debug"),console.info=Wt("info"),console.warn=Wt("warn"),console.error=Wt("error")}function Wt(t){return function(e,...r){try{let n=(0,oi.formatWithOptions)({showHidden:!1},e,...r);we("log",{level:t,message:n})}catch{process.stderr.write("Failed logging message: "+String(e)+", params: "+String(r))}}}process.title="Raycast Helper (Extensions)";process.on("uncaughtException",t=>{let e=`uncaughtException: ${t}`;process.stderr.write(`${e} +`),process.exit(1)});process.on("unhandledRejection",(t,e)=>{let r=`unhandledRejection: ${t}`;process.stderr.write(`${r} +`),process.exit(1)});ci();ai(); diff --git a/.config/raycast/extensions/node_modules/@raycast/source-mapper/index.js b/.config/raycast/extensions/node_modules/@raycast/source-mapper/index.js @@ -0,0 +1,4 @@ +"use strict";var R=Object.create;var E=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var v=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports);var B=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of q(e))!I.call(n,o)&&o!==t&&E(n,o,{get:()=>e[o],enumerable:!(r=P(e,o))||r.enumerable});return n};var h=(n,e,t)=>(t=n!=null?R(D(n)):{},B(e||!n||!n.__esModule?E(t,"default",{value:n,enumerable:!0}):t,n));var L=v((se,j)=>{"use strict";var K=/[|\\{}()[\]^$+*?.-]/g;j.exports=n=>{if(typeof n!="string")throw new TypeError("Expected a string");return n.replace(K,"\\$&")}});var T=v((ue,k)=>{"use strict";var X=L(),Y=typeof process=="object"&&process&&typeof process.cwd=="function"?process.cwd():".",N=[].concat(require("module").builtinModules,"bootstrap_node","node").map(n=>new RegExp(`(?:\\((?:node:)?${n}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${n}(?:\\.js)?:\\d+:\\d+$)`));N.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/,/\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var b=class n{constructor(e){e={ignoredPackages:[],...e},"internals"in e||(e.internals=n.nodeInternals()),"cwd"in e||(e.cwd=Y),this._cwd=e.cwd.replace(/\\/g,"/"),this._internals=[].concat(e.internals,Z(e.ignoredPackages)),this._wrapCallSite=e.wrapCallSite||!1}static nodeInternals(){return[...N]}clean(e,t=0){t=" ".repeat(t),Array.isArray(e)||(e=e.split(` +`)),!/^\s*at /.test(e[0])&&/^\s*at /.test(e[1])&&(e=e.slice(1));let r=!1,o=null,c=[];return e.forEach(i=>{if(i=i.replace(/\\/g,"/"),this._internals.some(p=>p.test(i)))return;let s=/^\s*at /.test(i);r?i=i.trimEnd().replace(/^(\s+)at /,"$1"):(i=i.trim(),s&&(i=i.slice(3))),i=i.replace(`${this._cwd}/`,""),i&&(s?(o&&(c.push(o),o=null),c.push(i)):(r=!0,o=i))}),c.map(i=>`${t}${i} +`).join("")}captureString(e,t=this.captureString){typeof e=="function"&&(t=e,e=1/0);let{stackTraceLimit:r}=Error;e&&(Error.stackTraceLimit=e);let o={};Error.captureStackTrace(o,t);let{stack:c}=o;return Error.stackTraceLimit=r,this.clean(c)}capture(e,t=this.capture){typeof e=="function"&&(t=e,e=1/0);let{prepareStackTrace:r,stackTraceLimit:o}=Error;Error.prepareStackTrace=(s,p)=>this._wrapCallSite?p.map(this._wrapCallSite):p,e&&(Error.stackTraceLimit=e);let c={};Error.captureStackTrace(c,t);let{stack:i}=c;return Object.assign(Error,{prepareStackTrace:r,stackTraceLimit:o}),i}at(e=this.at){let[t]=this.capture(1,e);if(!t)return{};let r={line:t.getLineNumber(),column:t.getColumnNumber()};C(r,t.getFileName(),this._cwd),t.isConstructor()&&Object.defineProperty(r,"constructor",{value:!0,configurable:!0}),t.isEval()&&(r.evalOrigin=t.getEvalOrigin()),t.isNative()&&(r.native=!0);let o;try{o=t.getTypeName()}catch{}o&&o!=="Object"&&o!=="[object Object]"&&(r.type=o);let c=t.getFunctionName();c&&(r.function=c);let i=t.getMethodName();return i&&c!==i&&(r.method=i),r}parseLine(e){let t=e&&e.match(ee);if(!t)return null;let r=t[1]==="new",o=t[2],c=t[3],i=t[4],s=Number(t[5]),p=Number(t[6]),u=t[7],y=t[8],M=t[9],_=t[10]==="native",A=t[11]===")",m,a={};if(y&&(a.line=Number(y)),M&&(a.column=Number(M)),A&&u){let f=0;for(let l=u.length-1;l>0;l--)if(u.charAt(l)===")")f++;else if(u.charAt(l)==="("&&u.charAt(l-1)===" "&&(f--,f===-1&&u.charAt(l-1)===" ")){let F=u.slice(0,l-1);u=u.slice(l+1),o+=` (${F}`;break}}if(o){let f=o.match(te);f&&(o=f[1],m=f[2])}return C(a,u,this._cwd),r&&Object.defineProperty(a,"constructor",{value:!0,configurable:!0}),c&&(a.evalOrigin=c,a.evalLine=s,a.evalColumn=p,a.evalFile=i&&i.replace(/\\/g,"/")),_&&(a.native=!0),o&&(a.function=o),m&&o!==m&&(a.method=m),a}};function C(n,e,t){e&&(e=e.replace(/\\/g,"/"),e.startsWith(`${t}/`)&&(e=e.slice(t.length+1)),n.file=e)}function Z(n){if(n.length===0)return[];let e=n.map(t=>X(t));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${e.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var ee=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),te=/^(.*?) \[as (.*?)\]$/;k.exports=b});var g=require("worker_threads");var d=h(require("node:fs")),S=h(require("node:path")),x=h(require("@parcel/source-map")),J=/data:application\/json[^,]+base64,/,Q=[/^node:/],U=1;function $(n,e){if(!e)return{message:n,stack:e};let t=new Map,r=0,o=e.map(i=>{if(r>=U||!i.file)return i;try{let s=t.get(i.file)??z(i.file);return s?(t.set(i.file,s),W(i,s,r===0)):i}catch{}finally{r+=1}return i}),c=e[0];return!c||typeof c.file>"u"||typeof n>"u"?{message:n,stack:o}:{message:V(n,c,t.get(c.file)),stack:o}}function V(n,e,t){let r=/^(?!\bundefined\b)\b(\w+)\b is not a function$/;if(!t||typeof e.line>"u"||typeof e.column>"u"||!r.test(n))return n;let{line:o,column:c}=e,i=t.findClosestMapping(o,c);return i?.name?n.replace(/^\b(\w+)\b/,i.name):n}function W(n,e,t){if(!n.file||!n.line||!n.column)return n;let r=e.findClosestMapping(n.line,n.column);return r?{raw:n.raw,file:S.default.resolve(S.default.dirname(n.file),r.source??""),fileContent:t&&r.source?e.getSourceContent(r.source):void 0,line:r.original?.line,column:r.original?.column,function:n.function}:n}function z(n){if(Q.some(o=>o.test(n)))return null;let e=G(n)??H(n);if(!e)return null;let t=JSON.parse(e),r=new x.default;return r.addVLQMap(t),r}function G(n){if(!d.default.existsSync(n))return null;let e=d.default.readFileSync(n).toString("utf8");if(!J.test(e))return null;let t=e.slice(e.lastIndexOf(",")+1);return Buffer.from(t,"base64").toString("utf8")}function H(n){let e=`${n}.map`;return d.default.existsSync(e)?d.default.readFileSync(e).toString("utf8"):null}var w=h(T()),ne=[/server\/index.js$/,/^node:internal\/process\/task_queues/],re=5,ie=new w.default({internals:w.default.nodeInternals()});function O(n){return n.split(` +`).slice(1,re).map(t=>{let r=ie.parseLine(t);return{raw:t,file:r?.file,line:r?.line,column:r?.column,function:r?.function}}).filter(t=>!ne.some(r=>r.test(t.file??"")))}g.parentPort?.postMessage($(g.workerData?.message,O(g.workerData?.stack))); diff --git a/.config/raycast/extensions/node_modules/react-devtools-raycast/index.js b/.config/raycast/extensions/node_modules/react-devtools-raycast/index.js @@ -0,0 +1,5 @@ +if (process.env.NODE_ENV === 'production') { + module.exports = {}; +} else { + module.exports = require('./react-devtools-raycast.development'); +} diff --git a/.config/raycast/extensions/node_modules/react-devtools-raycast/react-devtools-raycast.development.js b/.config/raycast/extensions/node_modules/react-devtools-raycast/react-devtools-raycast.development.js @@ -0,0 +1,17272 @@ +var window = global; + +var __getOwnPropNames = Object.getOwnPropertyNames; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; + +// node_modules/ws/lib/constants.js +var require_constants = __commonJS({ + "node_modules/ws/lib/constants.js"(exports2, module2) { + "use strict"; + module2.exports = { + BINARY_TYPES: ["nodebuffer", "arraybuffer", "fragments"], + GUID: "258EAFA5-E914-47DA-95CA-C5AB0DC85B11", + kStatusCode: Symbol("status-code"), + kWebSocket: Symbol("websocket"), + EMPTY_BUFFER: Buffer.alloc(0), + NOOP: () => { + } + }; + } +}); + +// node_modules/ws/lib/buffer-util.js +var require_buffer_util = __commonJS({ + "node_modules/ws/lib/buffer-util.js"(exports2, module2) { + "use strict"; + var { EMPTY_BUFFER } = require_constants(); + function concat(list, totalLength) { + if (list.length === 0) return EMPTY_BUFFER; + if (list.length === 1) return list[0]; + const target = Buffer.allocUnsafe(totalLength); + let offset = 0; + for (let i = 0; i < list.length; i++) { + const buf = list[i]; + target.set(buf, offset); + offset += buf.length; + } + if (offset < totalLength) return target.slice(0, offset); + return target; + } + function _mask(source, mask, output, offset, length) { + for (let i = 0; i < length; i++) { + output[offset + i] = source[i] ^ mask[i & 3]; + } + } + function _unmask(buffer, mask) { + const length = buffer.length; + for (let i = 0; i < length; i++) { + buffer[i] ^= mask[i & 3]; + } + } + function toArrayBuffer(buf) { + if (buf.byteLength === buf.buffer.byteLength) { + return buf.buffer; + } + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + } + function toBuffer(data) { + toBuffer.readOnly = true; + if (Buffer.isBuffer(data)) return data; + let buf; + if (data instanceof ArrayBuffer) { + buf = Buffer.from(data); + } else if (ArrayBuffer.isView(data)) { + buf = Buffer.from(data.buffer, data.byteOffset, data.byteLength); + } else { + buf = Buffer.from(data); + toBuffer.readOnly = false; + } + return buf; + } + try { + const bufferUtil = require("bufferutil"); + const bu = bufferUtil.BufferUtil || bufferUtil; + module2.exports = { + concat, + mask(source, mask, output, offset, length) { + if (length < 48) _mask(source, mask, output, offset, length); + else bu.mask(source, mask, output, offset, length); + }, + toArrayBuffer, + toBuffer, + unmask(buffer, mask) { + if (buffer.length < 32) _unmask(buffer, mask); + else bu.unmask(buffer, mask); + } + }; + } catch (e) { + module2.exports = { + concat, + mask: _mask, + toArrayBuffer, + toBuffer, + unmask: _unmask + }; + } + } +}); + +// node_modules/ws/lib/limiter.js +var require_limiter = __commonJS({ + "node_modules/ws/lib/limiter.js"(exports2, module2) { + "use strict"; + var kDone = Symbol("kDone"); + var kRun = Symbol("kRun"); + var Limiter = class { + /** + * Creates a new `Limiter`. + * + * @param {Number} [concurrency=Infinity] The maximum number of jobs allowed + * to run concurrently + */ + constructor(concurrency) { + this[kDone] = () => { + this.pending--; + this[kRun](); + }; + this.concurrency = concurrency || Infinity; + this.jobs = []; + this.pending = 0; + } + /** + * Adds a job to the queue. + * + * @param {Function} job The job to run + * @public + */ + add(job) { + this.jobs.push(job); + this[kRun](); + } + /** + * Removes a job from the queue and runs it if possible. + * + * @private + */ + [kRun]() { + if (this.pending === this.concurrency) return; + if (this.jobs.length) { + const job = this.jobs.shift(); + this.pending++; + job(this[kDone]); + } + } + }; + module2.exports = Limiter; + } +}); + +// node_modules/ws/lib/permessage-deflate.js +var require_permessage_deflate = __commonJS({ + "node_modules/ws/lib/permessage-deflate.js"(exports2, module2) { + "use strict"; + var zlib = require("zlib"); + var bufferUtil = require_buffer_util(); + var Limiter = require_limiter(); + var { kStatusCode, NOOP } = require_constants(); + var TRAILER = Buffer.from([0, 0, 255, 255]); + var kPerMessageDeflate = Symbol("permessage-deflate"); + var kTotalLength = Symbol("total-length"); + var kCallback = Symbol("callback"); + var kBuffers = Symbol("buffers"); + var kError = Symbol("error"); + var zlibLimiter; + var PerMessageDeflate = class { + /** + * Creates a PerMessageDeflate instance. + * + * @param {Object} [options] Configuration options + * @param {Boolean} [options.serverNoContextTakeover=false] Request/accept + * disabling of server context takeover + * @param {Boolean} [options.clientNoContextTakeover=false] Advertise/ + * acknowledge disabling of client context takeover + * @param {(Boolean|Number)} [options.serverMaxWindowBits] Request/confirm the + * use of a custom server window size + * @param {(Boolean|Number)} [options.clientMaxWindowBits] Advertise support + * for, or request, a custom client window size + * @param {Object} [options.zlibDeflateOptions] Options to pass to zlib on + * deflate + * @param {Object} [options.zlibInflateOptions] Options to pass to zlib on + * inflate + * @param {Number} [options.threshold=1024] Size (in bytes) below which + * messages should not be compressed + * @param {Number} [options.concurrencyLimit=10] The number of concurrent + * calls to zlib + * @param {Boolean} [isServer=false] Create the instance in either server or + * client mode + * @param {Number} [maxPayload=0] The maximum allowed message length + */ + constructor(options, isServer, maxPayload) { + this._maxPayload = maxPayload | 0; + this._options = options || {}; + this._threshold = this._options.threshold !== void 0 ? this._options.threshold : 1024; + this._isServer = !!isServer; + this._deflate = null; + this._inflate = null; + this.params = null; + if (!zlibLimiter) { + const concurrency = this._options.concurrencyLimit !== void 0 ? this._options.concurrencyLimit : 10; + zlibLimiter = new Limiter(concurrency); + } + } + /** + * @type {String} + */ + static get extensionName() { + return "permessage-deflate"; + } + /** + * Create an extension negotiation offer. + * + * @return {Object} Extension parameters + * @public + */ + offer() { + const params = {}; + if (this._options.serverNoContextTakeover) { + params.server_no_context_takeover = true; + } + if (this._options.clientNoContextTakeover) { + params.client_no_context_takeover = true; + } + if (this._options.serverMaxWindowBits) { + params.server_max_window_bits = this._options.serverMaxWindowBits; + } + if (this._options.clientMaxWindowBits) { + params.client_max_window_bits = this._options.clientMaxWindowBits; + } else if (this._options.clientMaxWindowBits == null) { + params.client_max_window_bits = true; + } + return params; + } + /** + * Accept an extension negotiation offer/response. + * + * @param {Array} configurations The extension negotiation offers/reponse + * @return {Object} Accepted configuration + * @public + */ + accept(configurations) { + configurations = this.normalizeParams(configurations); + this.params = this._isServer ? this.acceptAsServer(configurations) : this.acceptAsClient(configurations); + return this.params; + } + /** + * Releases all resources used by the extension. + * + * @public + */ + cleanup() { + if (this._inflate) { + this._inflate.close(); + this._inflate = null; + } + if (this._deflate) { + const callback = this._deflate[kCallback]; + this._deflate.close(); + this._deflate = null; + if (callback) { + callback( + new Error( + "The deflate stream was closed while data was being processed" + ) + ); + } + } + } + /** + * Accept an extension negotiation offer. + * + * @param {Array} offers The extension negotiation offers + * @return {Object} Accepted configuration + * @private + */ + acceptAsServer(offers) { + const opts = this._options; + const accepted = offers.find((params) => { + if (opts.serverNoContextTakeover === false && params.server_no_context_takeover || params.server_max_window_bits && (opts.serverMaxWindowBits === false || typeof opts.serverMaxWindowBits === "number" && opts.serverMaxWindowBits > params.server_max_window_bits) || typeof opts.clientMaxWindowBits === "number" && !params.client_max_window_bits) { + return false; + } + return true; + }); + if (!accepted) { + throw new Error("None of the extension offers can be accepted"); + } + if (opts.serverNoContextTakeover) { + accepted.server_no_context_takeover = true; + } + if (opts.clientNoContextTakeover) { + accepted.client_no_context_takeover = true; + } + if (typeof opts.serverMaxWindowBits === "number") { + accepted.server_max_window_bits = opts.serverMaxWindowBits; + } + if (typeof opts.clientMaxWindowBits === "number") { + accepted.client_max_window_bits = opts.clientMaxWindowBits; + } else if (accepted.client_max_window_bits === true || opts.clientMaxWindowBits === false) { + delete accepted.client_max_window_bits; + } + return accepted; + } + /** + * Accept the extension negotiation response. + * + * @param {Array} response The extension negotiation response + * @return {Object} Accepted configuration + * @private + */ + acceptAsClient(response) { + const params = response[0]; + if (this._options.clientNoContextTakeover === false && params.client_no_context_takeover) { + throw new Error('Unexpected parameter "client_no_context_takeover"'); + } + if (!params.client_max_window_bits) { + if (typeof this._options.clientMaxWindowBits === "number") { + params.client_max_window_bits = this._options.clientMaxWindowBits; + } + } else if (this._options.clientMaxWindowBits === false || typeof this._options.clientMaxWindowBits === "number" && params.client_max_window_bits > this._options.clientMaxWindowBits) { + throw new Error( + 'Unexpected or invalid parameter "client_max_window_bits"' + ); + } + return params; + } + /** + * Normalize parameters. + * + * @param {Array} configurations The extension negotiation offers/reponse + * @return {Array} The offers/response with normalized parameters + * @private + */ + normalizeParams(configurations) { + configurations.forEach((params) => { + Object.keys(params).forEach((key) => { + let value = params[key]; + if (value.length > 1) { + throw new Error(`Parameter "${key}" must have only a single value`); + } + value = value[0]; + if (key === "client_max_window_bits") { + if (value !== true) { + const num = +value; + if (!Number.isInteger(num) || num < 8 || num > 15) { + throw new TypeError( + `Invalid value for parameter "${key}": ${value}` + ); + } + value = num; + } else if (!this._isServer) { + throw new TypeError( + `Invalid value for parameter "${key}": ${value}` + ); + } + } else if (key === "server_max_window_bits") { + const num = +value; + if (!Number.isInteger(num) || num < 8 || num > 15) { + throw new TypeError( + `Invalid value for parameter "${key}": ${value}` + ); + } + value = num; + } else if (key === "client_no_context_takeover" || key === "server_no_context_takeover") { + if (value !== true) { + throw new TypeError( + `Invalid value for parameter "${key}": ${value}` + ); + } + } else { + throw new Error(`Unknown parameter "${key}"`); + } + params[key] = value; + }); + }); + return configurations; + } + /** + * Decompress data. Concurrency limited. + * + * @param {Buffer} data Compressed data + * @param {Boolean} fin Specifies whether or not this is the last fragment + * @param {Function} callback Callback + * @public + */ + decompress(data, fin, callback) { + zlibLimiter.add((done) => { + this._decompress(data, fin, (err, result) => { + done(); + callback(err, result); + }); + }); + } + /** + * Compress data. Concurrency limited. + * + * @param {Buffer} data Data to compress + * @param {Boolean} fin Specifies whether or not this is the last fragment + * @param {Function} callback Callback + * @public + */ + compress(data, fin, callback) { + zlibLimiter.add((done) => { + this._compress(data, fin, (err, result) => { + done(); + callback(err, result); + }); + }); + } + /** + * Decompress data. + * + * @param {Buffer} data Compressed data + * @param {Boolean} fin Specifies whether or not this is the last fragment + * @param {Function} callback Callback + * @private + */ + _decompress(data, fin, callback) { + const endpoint = this._isServer ? "client" : "server"; + if (!this._inflate) { + const key = `${endpoint}_max_window_bits`; + const windowBits = typeof this.params[key] !== "number" ? zlib.Z_DEFAULT_WINDOWBITS : this.params[key]; + this._inflate = zlib.createInflateRaw({ + ...this._options.zlibInflateOptions, + windowBits + }); + this._inflate[kPerMessageDeflate] = this; + this._inflate[kTotalLength] = 0; + this._inflate[kBuffers] = []; + this._inflate.on("error", inflateOnError); + this._inflate.on("data", inflateOnData); + } + this._inflate[kCallback] = callback; + this._inflate.write(data); + if (fin) this._inflate.write(TRAILER); + this._inflate.flush(() => { + const err = this._inflate[kError]; + if (err) { + this._inflate.close(); + this._inflate = null; + callback(err); + return; + } + const data2 = bufferUtil.concat( + this._inflate[kBuffers], + this._inflate[kTotalLength] + ); + if (this._inflate._readableState.endEmitted) { + this._inflate.close(); + this._inflate = null; + } else { + this._inflate[kTotalLength] = 0; + this._inflate[kBuffers] = []; + if (fin && this.params[`${endpoint}_no_context_takeover`]) { + this._inflate.reset(); + } + } + callback(null, data2); + }); + } + /** + * Compress data. + * + * @param {Buffer} data Data to compress + * @param {Boolean} fin Specifies whether or not this is the last fragment + * @param {Function} callback Callback + * @private + */ + _compress(data, fin, callback) { + const endpoint = this._isServer ? "server" : "client"; + if (!this._deflate) { + const key = `${endpoint}_max_window_bits`; + const windowBits = typeof this.params[key] !== "number" ? zlib.Z_DEFAULT_WINDOWBITS : this.params[key]; + this._deflate = zlib.createDeflateRaw({ + ...this._options.zlibDeflateOptions, + windowBits + }); + this._deflate[kTotalLength] = 0; + this._deflate[kBuffers] = []; + this._deflate.on("error", NOOP); + this._deflate.on("data", deflateOnData); + } + this._deflate[kCallback] = callback; + this._deflate.write(data); + this._deflate.flush(zlib.Z_SYNC_FLUSH, () => { + if (!this._deflate) { + return; + } + let data2 = bufferUtil.concat( + this._deflate[kBuffers], + this._deflate[kTotalLength] + ); + if (fin) data2 = data2.slice(0, data2.length - 4); + this._deflate[kCallback] = null; + this._deflate[kTotalLength] = 0; + this._deflate[kBuffers] = []; + if (fin && this.params[`${endpoint}_no_context_takeover`]) { + this._deflate.reset(); + } + callback(null, data2); + }); + } + }; + module2.exports = PerMessageDeflate; + function deflateOnData(chunk) { + this[kBuffers].push(chunk); + this[kTotalLength] += chunk.length; + } + function inflateOnData(chunk) { + this[kTotalLength] += chunk.length; + if (this[kPerMessageDeflate]._maxPayload < 1 || this[kTotalLength] <= this[kPerMessageDeflate]._maxPayload) { + this[kBuffers].push(chunk); + return; + } + this[kError] = new RangeError("Max payload size exceeded"); + this[kError].code = "WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"; + this[kError][kStatusCode] = 1009; + this.removeListener("data", inflateOnData); + this.reset(); + } + function inflateOnError(err) { + this[kPerMessageDeflate]._inflate = null; + err[kStatusCode] = 1007; + this[kCallback](err); + } + } +}); + +// node_modules/ws/lib/validation.js +var require_validation = __commonJS({ + "node_modules/ws/lib/validation.js"(exports2, module2) { + "use strict"; + function isValidStatusCode(code) { + return code >= 1e3 && code <= 1014 && code !== 1004 && code !== 1005 && code !== 1006 || code >= 3e3 && code <= 4999; + } + function _isValidUTF8(buf) { + const len = buf.length; + let i = 0; + while (i < len) { + if ((buf[i] & 128) === 0) { + i++; + } else if ((buf[i] & 224) === 192) { + if (i + 1 === len || (buf[i + 1] & 192) !== 128 || (buf[i] & 254) === 192) { + return false; + } + i += 2; + } else if ((buf[i] & 240) === 224) { + if (i + 2 >= len || (buf[i + 1] & 192) !== 128 || (buf[i + 2] & 192) !== 128 || buf[i] === 224 && (buf[i + 1] & 224) === 128 || // Overlong + buf[i] === 237 && (buf[i + 1] & 224) === 160) { + return false; + } + i += 3; + } else if ((buf[i] & 248) === 240) { + if (i + 3 >= len || (buf[i + 1] & 192) !== 128 || (buf[i + 2] & 192) !== 128 || (buf[i + 3] & 192) !== 128 || buf[i] === 240 && (buf[i + 1] & 240) === 128 || // Overlong + buf[i] === 244 && buf[i + 1] > 143 || buf[i] > 244) { + return false; + } + i += 4; + } else { + return false; + } + } + return true; + } + try { + let isValidUTF8 = require("utf-8-validate"); + if (typeof isValidUTF8 === "object") { + isValidUTF8 = isValidUTF8.Validation.isValidUTF8; + } + module2.exports = { + isValidStatusCode, + isValidUTF8(buf) { + return buf.length < 150 ? _isValidUTF8(buf) : isValidUTF8(buf); + } + }; + } catch (e) { + module2.exports = { + isValidStatusCode, + isValidUTF8: _isValidUTF8 + }; + } + } +}); + +// node_modules/ws/lib/receiver.js +var require_receiver = __commonJS({ + "node_modules/ws/lib/receiver.js"(exports2, module2) { + "use strict"; + var { Writable } = require("stream"); + var PerMessageDeflate = require_permessage_deflate(); + var { + BINARY_TYPES, + EMPTY_BUFFER, + kStatusCode, + kWebSocket + } = require_constants(); + var { concat, toArrayBuffer, unmask } = require_buffer_util(); + var { isValidStatusCode, isValidUTF8 } = require_validation(); + var GET_INFO = 0; + var GET_PAYLOAD_LENGTH_16 = 1; + var GET_PAYLOAD_LENGTH_64 = 2; + var GET_MASK = 3; + var GET_DATA = 4; + var INFLATING = 5; + var Receiver = class extends Writable { + /** + * Creates a Receiver instance. + * + * @param {String} [binaryType=nodebuffer] The type for binary data + * @param {Object} [extensions] An object containing the negotiated extensions + * @param {Boolean} [isServer=false] Specifies whether to operate in client or + * server mode + * @param {Number} [maxPayload=0] The maximum allowed message length + */ + constructor(binaryType, extensions, isServer, maxPayload) { + super(); + this._binaryType = binaryType || BINARY_TYPES[0]; + this[kWebSocket] = void 0; + this._extensions = extensions || {}; + this._isServer = !!isServer; + this._maxPayload = maxPayload | 0; + this._bufferedBytes = 0; + this._buffers = []; + this._compressed = false; + this._payloadLength = 0; + this._mask = void 0; + this._fragmented = 0; + this._masked = false; + this._fin = false; + this._opcode = 0; + this._totalPayloadLength = 0; + this._messageLength = 0; + this._fragments = []; + this._state = GET_INFO; + this._loop = false; + } + /** + * Implements `Writable.prototype._write()`. + * + * @param {Buffer} chunk The chunk of data to write + * @param {String} encoding The character encoding of `chunk` + * @param {Function} cb Callback + * @private + */ + _write(chunk, encoding, cb) { + if (this._opcode === 8 && this._state == GET_INFO) return cb(); + this._bufferedBytes += chunk.length; + this._buffers.push(chunk); + this.startLoop(cb); + } + /** + * Consumes `n` bytes from the buffered data. + * + * @param {Number} n The number of bytes to consume + * @return {Buffer} The consumed bytes + * @private + */ + consume(n) { + this._bufferedBytes -= n; + if (n === this._buffers[0].length) return this._buffers.shift(); + if (n < this._buffers[0].length) { + const buf = this._buffers[0]; + this._buffers[0] = buf.slice(n); + return buf.slice(0, n); + } + const dst = Buffer.allocUnsafe(n); + do { + const buf = this._buffers[0]; + const offset = dst.length - n; + if (n >= buf.length) { + dst.set(this._buffers.shift(), offset); + } else { + dst.set(new Uint8Array(buf.buffer, buf.byteOffset, n), offset); + this._buffers[0] = buf.slice(n); + } + n -= buf.length; + } while (n > 0); + return dst; + } + /** + * Starts the parsing loop. + * + * @param {Function} cb Callback + * @private + */ + startLoop(cb) { + let err; + this._loop = true; + do { + switch (this._state) { + case GET_INFO: + err = this.getInfo(); + break; + case GET_PAYLOAD_LENGTH_16: + err = this.getPayloadLength16(); + break; + case GET_PAYLOAD_LENGTH_64: + err = this.getPayloadLength64(); + break; + case GET_MASK: + this.getMask(); + break; + case GET_DATA: + err = this.getData(cb); + break; + default: + this._loop = false; + return; + } + } while (this._loop); + cb(err); + } + /** + * Reads the first two bytes of a frame. + * + * @return {(RangeError|undefined)} A possible error + * @private + */ + getInfo() { + if (this._bufferedBytes < 2) { + this._loop = false; + return; + } + const buf = this.consume(2); + if ((buf[0] & 48) !== 0) { + this._loop = false; + return error( + RangeError, + "RSV2 and RSV3 must be clear", + true, + 1002, + "WS_ERR_UNEXPECTED_RSV_2_3" + ); + } + const compressed = (buf[0] & 64) === 64; + if (compressed && !this._extensions[PerMessageDeflate.extensionName]) { + this._loop = false; + return error( + RangeError, + "RSV1 must be clear", + true, + 1002, + "WS_ERR_UNEXPECTED_RSV_1" + ); + } + this._fin = (buf[0] & 128) === 128; + this._opcode = buf[0] & 15; + this._payloadLength = buf[1] & 127; + if (this._opcode === 0) { + if (compressed) { + this._loop = false; + return error( + RangeError, + "RSV1 must be clear", + true, + 1002, + "WS_ERR_UNEXPECTED_RSV_1" + ); + } + if (!this._fragmented) { + this._loop = false; + return error( + RangeError, + "invalid opcode 0", + true, + 1002, + "WS_ERR_INVALID_OPCODE" + ); + } + this._opcode = this._fragmented; + } else if (this._opcode === 1 || this._opcode === 2) { + if (this._fragmented) { + this._loop = false; + return error( + RangeError, + `invalid opcode ${this._opcode}`, + true, + 1002, + "WS_ERR_INVALID_OPCODE" + ); + } + this._compressed = compressed; + } else if (this._opcode > 7 && this._opcode < 11) { + if (!this._fin) { + this._loop = false; + return error( + RangeError, + "FIN must be set", + true, + 1002, + "WS_ERR_EXPECTED_FIN" + ); + } + if (compressed) { + this._loop = false; + return error( + RangeError, + "RSV1 must be clear", + true, + 1002, + "WS_ERR_UNEXPECTED_RSV_1" + ); + } + if (this._payloadLength > 125) { + this._loop = false; + return error( + RangeError, + `invalid payload length ${this._payloadLength}`, + true, + 1002, + "WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH" + ); + } + } else { + this._loop = false; + return error( + RangeError, + `invalid opcode ${this._opcode}`, + true, + 1002, + "WS_ERR_INVALID_OPCODE" + ); + } + if (!this._fin && !this._fragmented) this._fragmented = this._opcode; + this._masked = (buf[1] & 128) === 128; + if (this._isServer) { + if (!this._masked) { + this._loop = false; + return error( + RangeError, + "MASK must be set", + true, + 1002, + "WS_ERR_EXPECTED_MASK" + ); + } + } else if (this._masked) { + this._loop = false; + return error( + RangeError, + "MASK must be clear", + true, + 1002, + "WS_ERR_UNEXPECTED_MASK" + ); + } + if (this._payloadLength === 126) this._state = GET_PAYLOAD_LENGTH_16; + else if (this._payloadLength === 127) this._state = GET_PAYLOAD_LENGTH_64; + else return this.haveLength(); + } + /** + * Gets extended payload length (7+16). + * + * @return {(RangeError|undefined)} A possible error + * @private + */ + getPayloadLength16() { + if (this._bufferedBytes < 2) { + this._loop = false; + return; + } + this._payloadLength = this.consume(2).readUInt16BE(0); + return this.haveLength(); + } + /** + * Gets extended payload length (7+64). + * + * @return {(RangeError|undefined)} A possible error + * @private + */ + getPayloadLength64() { + if (this._bufferedBytes < 8) { + this._loop = false; + return; + } + const buf = this.consume(8); + const num = buf.readUInt32BE(0); + if (num > Math.pow(2, 53 - 32) - 1) { + this._loop = false; + return error( + RangeError, + "Unsupported WebSocket frame: payload length > 2^53 - 1", + false, + 1009, + "WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH" + ); + } + this._payloadLength = num * Math.pow(2, 32) + buf.readUInt32BE(4); + return this.haveLength(); + } + /** + * Payload length has been read. + * + * @return {(RangeError|undefined)} A possible error + * @private + */ + haveLength() { + if (this._payloadLength && this._opcode < 8) { + this._totalPayloadLength += this._payloadLength; + if (this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) { + this._loop = false; + return error( + RangeError, + "Max payload size exceeded", + false, + 1009, + "WS_ERR_UNSUPPORTED_MESSAGE_LENGTH" + ); + } + } + if (this._masked) this._state = GET_MASK; + else this._state = GET_DATA; + } + /** + * Reads mask bytes. + * + * @private + */ + getMask() { + if (this._bufferedBytes < 4) { + this._loop = false; + return; + } + this._mask = this.consume(4); + this._state = GET_DATA; + } + /** + * Reads data bytes. + * + * @param {Function} cb Callback + * @return {(Error|RangeError|undefined)} A possible error + * @private + */ + getData(cb) { + let data = EMPTY_BUFFER; + if (this._payloadLength) { + if (this._bufferedBytes < this._payloadLength) { + this._loop = false; + return; + } + data = this.consume(this._payloadLength); + if (this._masked) unmask(data, this._mask); + } + if (this._opcode > 7) return this.controlMessage(data); + if (this._compressed) { + this._state = INFLATING; + this.decompress(data, cb); + return; + } + if (data.length) { + this._messageLength = this._totalPayloadLength; + this._fragments.push(data); + } + return this.dataMessage(); + } + /** + * Decompresses data. + * + * @param {Buffer} data Compressed data + * @param {Function} cb Callback + * @private + */ + decompress(data, cb) { + const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName]; + perMessageDeflate.decompress(data, this._fin, (err, buf) => { + if (err) return cb(err); + if (buf.length) { + this._messageLength += buf.length; + if (this._messageLength > this._maxPayload && this._maxPayload > 0) { + return cb( + error( + RangeError, + "Max payload size exceeded", + false, + 1009, + "WS_ERR_UNSUPPORTED_MESSAGE_LENGTH" + ) + ); + } + this._fragments.push(buf); + } + const er = this.dataMessage(); + if (er) return cb(er); + this.startLoop(cb); + }); + } + /** + * Handles a data message. + * + * @return {(Error|undefined)} A possible error + * @private + */ + dataMessage() { + if (this._fin) { + const messageLength = this._messageLength; + const fragments = this._fragments; + this._totalPayloadLength = 0; + this._messageLength = 0; + this._fragmented = 0; + this._fragments = []; + if (this._opcode === 2) { + let data; + if (this._binaryType === "nodebuffer") { + data = concat(fragments, messageLength); + } else if (this._binaryType === "arraybuffer") { + data = toArrayBuffer(concat(fragments, messageLength)); + } else { + data = fragments; + } + this.emit("message", data); + } else { + const buf = concat(fragments, messageLength); + if (!isValidUTF8(buf)) { + this._loop = false; + return error( + Error, + "invalid UTF-8 sequence", + true, + 1007, + "WS_ERR_INVALID_UTF8" + ); + } + this.emit("message", buf.toString()); + } + } + this._state = GET_INFO; + } + /** + * Handles a control message. + * + * @param {Buffer} data Data to handle + * @return {(Error|RangeError|undefined)} A possible error + * @private + */ + controlMessage(data) { + if (this._opcode === 8) { + this._loop = false; + if (data.length === 0) { + this.emit("conclude", 1005, ""); + this.end(); + } else if (data.length === 1) { + return error( + RangeError, + "invalid payload length 1", + true, + 1002, + "WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH" + ); + } else { + const code = data.readUInt16BE(0); + if (!isValidStatusCode(code)) { + return error( + RangeError, + `invalid status code ${code}`, + true, + 1002, + "WS_ERR_INVALID_CLOSE_CODE" + ); + } + const buf = data.slice(2); + if (!isValidUTF8(buf)) { + return error( + Error, + "invalid UTF-8 sequence", + true, + 1007, + "WS_ERR_INVALID_UTF8" + ); + } + this.emit("conclude", code, buf.toString()); + this.end(); + } + } else if (this._opcode === 9) { + this.emit("ping", data); + } else { + this.emit("pong", data); + } + this._state = GET_INFO; + } + }; + module2.exports = Receiver; + function error(ErrorCtor, message, prefix, statusCode, errorCode) { + const err = new ErrorCtor( + prefix ? `Invalid WebSocket frame: ${message}` : message + ); + Error.captureStackTrace(err, error); + err.code = errorCode; + err[kStatusCode] = statusCode; + return err; + } + } +}); + +// node_modules/ws/lib/sender.js +var require_sender = __commonJS({ + "node_modules/ws/lib/sender.js"(exports2, module2) { + "use strict"; + var net = require("net"); + var tls = require("tls"); + var { randomFillSync } = require("crypto"); + var PerMessageDeflate = require_permessage_deflate(); + var { EMPTY_BUFFER } = require_constants(); + var { isValidStatusCode } = require_validation(); + var { mask: applyMask, toBuffer } = require_buffer_util(); + var mask = Buffer.alloc(4); + var Sender = class _Sender { + /** + * Creates a Sender instance. + * + * @param {(net.Socket|tls.Socket)} socket The connection socket + * @param {Object} [extensions] An object containing the negotiated extensions + */ + constructor(socket, extensions) { + this._extensions = extensions || {}; + this._socket = socket; + this._firstFragment = true; + this._compress = false; + this._bufferedBytes = 0; + this._deflating = false; + this._queue = []; + } + /** + * Frames a piece of data according to the HyBi WebSocket protocol. + * + * @param {Buffer} data The data to frame + * @param {Object} options Options object + * @param {Number} options.opcode The opcode + * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be + * modified + * @param {Boolean} [options.fin=false] Specifies whether or not to set the + * FIN bit + * @param {Boolean} [options.mask=false] Specifies whether or not to mask + * `data` + * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the + * RSV1 bit + * @return {Buffer[]} The framed data as a list of `Buffer` instances + * @public + */ + static frame(data, options) { + const merge = options.mask && options.readOnly; + let offset = options.mask ? 6 : 2; + let payloadLength = data.length; + if (data.length >= 65536) { + offset += 8; + payloadLength = 127; + } else if (data.length > 125) { + offset += 2; + payloadLength = 126; + } + const target = Buffer.allocUnsafe(merge ? data.length + offset : offset); + target[0] = options.fin ? options.opcode | 128 : options.opcode; + if (options.rsv1) target[0] |= 64; + target[1] = payloadLength; + if (payloadLength === 126) { + target.writeUInt16BE(data.length, 2); + } else if (payloadLength === 127) { + target.writeUInt32BE(0, 2); + target.writeUInt32BE(data.length, 6); + } + if (!options.mask) return [target, data]; + randomFillSync(mask, 0, 4); + target[1] |= 128; + target[offset - 4] = mask[0]; + target[offset - 3] = mask[1]; + target[offset - 2] = mask[2]; + target[offset - 1] = mask[3]; + if (merge) { + applyMask(data, mask, target, offset, data.length); + return [target]; + } + applyMask(data, mask, data, 0, data.length); + return [target, data]; + } + /** + * Sends a close message to the other peer. + * + * @param {Number} [code] The status code component of the body + * @param {String} [data] The message component of the body + * @param {Boolean} [mask=false] Specifies whether or not to mask the message + * @param {Function} [cb] Callback + * @public + */ + close(code, data, mask2, cb) { + let buf; + if (code === void 0) { + buf = EMPTY_BUFFER; + } else if (typeof code !== "number" || !isValidStatusCode(code)) { + throw new TypeError("First argument must be a valid error code number"); + } else if (data === void 0 || data === "") { + buf = Buffer.allocUnsafe(2); + buf.writeUInt16BE(code, 0); + } else { + const length = Buffer.byteLength(data); + if (length > 123) { + throw new RangeError("The message must not be greater than 123 bytes"); + } + buf = Buffer.allocUnsafe(2 + length); + buf.writeUInt16BE(code, 0); + buf.write(data, 2); + } + if (this._deflating) { + this.enqueue([this.doClose, buf, mask2, cb]); + } else { + this.doClose(buf, mask2, cb); + } + } + /** + * Frames and sends a close message. + * + * @param {Buffer} data The message to send + * @param {Boolean} [mask=false] Specifies whether or not to mask `data` + * @param {Function} [cb] Callback + * @private + */ + doClose(data, mask2, cb) { + this.sendFrame( + _Sender.frame(data, { + fin: true, + rsv1: false, + opcode: 8, + mask: mask2, + readOnly: false + }), + cb + ); + } + /** + * Sends a ping message to the other peer. + * + * @param {*} data The message to send + * @param {Boolean} [mask=false] Specifies whether or not to mask `data` + * @param {Function} [cb] Callback + * @public + */ + ping(data, mask2, cb) { + const buf = toBuffer(data); + if (buf.length > 125) { + throw new RangeError("The data size must not be greater than 125 bytes"); + } + if (this._deflating) { + this.enqueue([this.doPing, buf, mask2, toBuffer.readOnly, cb]); + } else { + this.doPing(buf, mask2, toBuffer.readOnly, cb); + } + } + /** + * Frames and sends a ping message. + * + * @param {Buffer} data The message to send + * @param {Boolean} [mask=false] Specifies whether or not to mask `data` + * @param {Boolean} [readOnly=false] Specifies whether `data` can be modified + * @param {Function} [cb] Callback + * @private + */ + doPing(data, mask2, readOnly, cb) { + this.sendFrame( + _Sender.frame(data, { + fin: true, + rsv1: false, + opcode: 9, + mask: mask2, + readOnly + }), + cb + ); + } + /** + * Sends a pong message to the other peer. + * + * @param {*} data The message to send + * @param {Boolean} [mask=false] Specifies whether or not to mask `data` + * @param {Function} [cb] Callback + * @public + */ + pong(data, mask2, cb) { + const buf = toBuffer(data); + if (buf.length > 125) { + throw new RangeError("The data size must not be greater than 125 bytes"); + } + if (this._deflating) { + this.enqueue([this.doPong, buf, mask2, toBuffer.readOnly, cb]); + } else { + this.doPong(buf, mask2, toBuffer.readOnly, cb); + } + } + /** + * Frames and sends a pong message. + * + * @param {Buffer} data The message to send + * @param {Boolean} [mask=false] Specifies whether or not to mask `data` + * @param {Boolean} [readOnly=false] Specifies whether `data` can be modified + * @param {Function} [cb] Callback + * @private + */ + doPong(data, mask2, readOnly, cb) { + this.sendFrame( + _Sender.frame(data, { + fin: true, + rsv1: false, + opcode: 10, + mask: mask2, + readOnly + }), + cb + ); + } + /** + * Sends a data message to the other peer. + * + * @param {*} data The message to send + * @param {Object} options Options object + * @param {Boolean} [options.compress=false] Specifies whether or not to + * compress `data` + * @param {Boolean} [options.binary=false] Specifies whether `data` is binary + * or text + * @param {Boolean} [options.fin=false] Specifies whether the fragment is the + * last one + * @param {Boolean} [options.mask=false] Specifies whether or not to mask + * `data` + * @param {Function} [cb] Callback + * @public + */ + send(data, options, cb) { + const buf = toBuffer(data); + const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName]; + let opcode = options.binary ? 2 : 1; + let rsv1 = options.compress; + if (this._firstFragment) { + this._firstFragment = false; + if (rsv1 && perMessageDeflate) { + rsv1 = buf.length >= perMessageDeflate._threshold; + } + this._compress = rsv1; + } else { + rsv1 = false; + opcode = 0; + } + if (options.fin) this._firstFragment = true; + if (perMessageDeflate) { + const opts = { + fin: options.fin, + rsv1, + opcode, + mask: options.mask, + readOnly: toBuffer.readOnly + }; + if (this._deflating) { + this.enqueue([this.dispatch, buf, this._compress, opts, cb]); + } else { + this.dispatch(buf, this._compress, opts, cb); + } + } else { + this.sendFrame( + _Sender.frame(buf, { + fin: options.fin, + rsv1: false, + opcode, + mask: options.mask, + readOnly: toBuffer.readOnly + }), + cb + ); + } + } + /** + * Dispatches a data message. + * + * @param {Buffer} data The message to send + * @param {Boolean} [compress=false] Specifies whether or not to compress + * `data` + * @param {Object} options Options object + * @param {Number} options.opcode The opcode + * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be + * modified + * @param {Boolean} [options.fin=false] Specifies whether or not to set the + * FIN bit + * @param {Boolean} [options.mask=false] Specifies whether or not to mask + * `data` + * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the + * RSV1 bit + * @param {Function} [cb] Callback + * @private + */ + dispatch(data, compress, options, cb) { + if (!compress) { + this.sendFrame(_Sender.frame(data, options), cb); + return; + } + const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName]; + this._bufferedBytes += data.length; + this._deflating = true; + perMessageDeflate.compress(data, options.fin, (_, buf) => { + if (this._socket.destroyed) { + const err = new Error( + "The socket was closed while data was being compressed" + ); + if (typeof cb === "function") cb(err); + for (let i = 0; i < this._queue.length; i++) { + const callback = this._queue[i][4]; + if (typeof callback === "function") callback(err); + } + return; + } + this._bufferedBytes -= data.length; + this._deflating = false; + options.readOnly = false; + this.sendFrame(_Sender.frame(buf, options), cb); + this.dequeue(); + }); + } + /** + * Executes queued send operations. + * + * @private + */ + dequeue() { + while (!this._deflating && this._queue.length) { + const params = this._queue.shift(); + this._bufferedBytes -= params[1].length; + Reflect.apply(params[0], this, params.slice(1)); + } + } + /** + * Enqueues a send operation. + * + * @param {Array} params Send operation parameters. + * @private + */ + enqueue(params) { + this._bufferedBytes += params[1].length; + this._queue.push(params); + } + /** + * Sends a frame. + * + * @param {Buffer[]} list The frame to send + * @param {Function} [cb] Callback + * @private + */ + sendFrame(list, cb) { + if (list.length === 2) { + this._socket.cork(); + this._socket.write(list[0]); + this._socket.write(list[1], cb); + this._socket.uncork(); + } else { + this._socket.write(list[0], cb); + } + } + }; + module2.exports = Sender; + } +}); + +// node_modules/ws/lib/event-target.js +var require_event_target = __commonJS({ + "node_modules/ws/lib/event-target.js"(exports2, module2) { + "use strict"; + var Event = class { + /** + * Create a new `Event`. + * + * @param {String} type The name of the event + * @param {Object} target A reference to the target to which the event was + * dispatched + */ + constructor(type, target) { + this.target = target; + this.type = type; + } + }; + var MessageEvent = class extends Event { + /** + * Create a new `MessageEvent`. + * + * @param {(String|Buffer|ArrayBuffer|Buffer[])} data The received data + * @param {WebSocket} target A reference to the target to which the event was + * dispatched + */ + constructor(data, target) { + super("message", target); + this.data = data; + } + }; + var CloseEvent = class extends Event { + /** + * Create a new `CloseEvent`. + * + * @param {Number} code The status code explaining why the connection is being + * closed + * @param {String} reason A human-readable string explaining why the + * connection is closing + * @param {WebSocket} target A reference to the target to which the event was + * dispatched + */ + constructor(code, reason, target) { + super("close", target); + this.wasClean = target._closeFrameReceived && target._closeFrameSent; + this.reason = reason; + this.code = code; + } + }; + var OpenEvent = class extends Event { + /** + * Create a new `OpenEvent`. + * + * @param {WebSocket} target A reference to the target to which the event was + * dispatched + */ + constructor(target) { + super("open", target); + } + }; + var ErrorEvent = class extends Event { + /** + * Create a new `ErrorEvent`. + * + * @param {Object} error The error that generated this event + * @param {WebSocket} target A reference to the target to which the event was + * dispatched + */ + constructor(error, target) { + super("error", target); + this.message = error.message; + this.error = error; + } + }; + var EventTarget = { + /** + * Register an event listener. + * + * @param {String} type A string representing the event type to listen for + * @param {Function} listener The listener to add + * @param {Object} [options] An options object specifies characteristics about + * the event listener + * @param {Boolean} [options.once=false] A `Boolean`` indicating that the + * listener should be invoked at most once after being added. If `true`, + * the listener would be automatically removed when invoked. + * @public + */ + addEventListener(type, listener, options) { + if (typeof listener !== "function") return; + function onMessage(data) { + listener.call(this, new MessageEvent(data, this)); + } + function onClose(code, message) { + listener.call(this, new CloseEvent(code, message, this)); + } + function onError(error) { + listener.call(this, new ErrorEvent(error, this)); + } + function onOpen() { + listener.call(this, new OpenEvent(this)); + } + const method = options && options.once ? "once" : "on"; + if (type === "message") { + onMessage._listener = listener; + this[method](type, onMessage); + } else if (type === "close") { + onClose._listener = listener; + this[method](type, onClose); + } else if (type === "error") { + onError._listener = listener; + this[method](type, onError); + } else if (type === "open") { + onOpen._listener = listener; + this[method](type, onOpen); + } else { + this[method](type, listener); + } + }, + /** + * Remove an event listener. + * + * @param {String} type A string representing the event type to remove + * @param {Function} listener The listener to remove + * @public + */ + removeEventListener(type, listener) { + const listeners = this.listeners(type); + for (let i = 0; i < listeners.length; i++) { + if (listeners[i] === listener || listeners[i]._listener === listener) { + this.removeListener(type, listeners[i]); + } + } + } + }; + module2.exports = EventTarget; + } +}); + +// node_modules/ws/lib/extension.js +var require_extension = __commonJS({ + "node_modules/ws/lib/extension.js"(exports2, module2) { + "use strict"; + var tokenChars = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + // 0 - 15 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + // 16 - 31 + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + // 32 - 47 + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + // 48 - 63 + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + // 64 - 79 + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + // 80 - 95 + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + // 96 - 111 + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 0 + // 112 - 127 + ]; + function push(dest, name, elem) { + if (dest[name] === void 0) dest[name] = [elem]; + else dest[name].push(elem); + } + function parse(header) { + const offers = /* @__PURE__ */ Object.create(null); + if (header === void 0 || header === "") return offers; + let params = /* @__PURE__ */ Object.create(null); + let mustUnescape = false; + let isEscaping = false; + let inQuotes = false; + let extensionName; + let paramName; + let start = -1; + let end = -1; + let i = 0; + for (; i < header.length; i++) { + const code = header.charCodeAt(i); + if (extensionName === void 0) { + if (end === -1 && tokenChars[code] === 1) { + if (start === -1) start = i; + } else if (code === 32 || code === 9) { + if (end === -1 && start !== -1) end = i; + } else if (code === 59 || code === 44) { + if (start === -1) { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + if (end === -1) end = i; + const name = header.slice(start, end); + if (code === 44) { + push(offers, name, params); + params = /* @__PURE__ */ Object.create(null); + } else { + extensionName = name; + } + start = end = -1; + } else { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + } else if (paramName === void 0) { + if (end === -1 && tokenChars[code] === 1) { + if (start === -1) start = i; + } else if (code === 32 || code === 9) { + if (end === -1 && start !== -1) end = i; + } else if (code === 59 || code === 44) { + if (start === -1) { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + if (end === -1) end = i; + push(params, header.slice(start, end), true); + if (code === 44) { + push(offers, extensionName, params); + params = /* @__PURE__ */ Object.create(null); + extensionName = void 0; + } + start = end = -1; + } else if (code === 61 && start !== -1 && end === -1) { + paramName = header.slice(start, i); + start = end = -1; + } else { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + } else { + if (isEscaping) { + if (tokenChars[code] !== 1) { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + if (start === -1) start = i; + else if (!mustUnescape) mustUnescape = true; + isEscaping = false; + } else if (inQuotes) { + if (tokenChars[code] === 1) { + if (start === -1) start = i; + } else if (code === 34 && start !== -1) { + inQuotes = false; + end = i; + } else if (code === 92) { + isEscaping = true; + } else { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + } else if (code === 34 && header.charCodeAt(i - 1) === 61) { + inQuotes = true; + } else if (end === -1 && tokenChars[code] === 1) { + if (start === -1) start = i; + } else if (start !== -1 && (code === 32 || code === 9)) { + if (end === -1) end = i; + } else if (code === 59 || code === 44) { + if (start === -1) { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + if (end === -1) end = i; + let value = header.slice(start, end); + if (mustUnescape) { + value = value.replace(/\\/g, ""); + mustUnescape = false; + } + push(params, paramName, value); + if (code === 44) { + push(offers, extensionName, params); + params = /* @__PURE__ */ Object.create(null); + extensionName = void 0; + } + paramName = void 0; + start = end = -1; + } else { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + } + } + if (start === -1 || inQuotes) { + throw new SyntaxError("Unexpected end of input"); + } + if (end === -1) end = i; + const token = header.slice(start, end); + if (extensionName === void 0) { + push(offers, token, params); + } else { + if (paramName === void 0) { + push(params, token, true); + } else if (mustUnescape) { + push(params, paramName, token.replace(/\\/g, "")); + } else { + push(params, paramName, token); + } + push(offers, extensionName, params); + } + return offers; + } + function format(extensions) { + return Object.keys(extensions).map((extension) => { + let configurations = extensions[extension]; + if (!Array.isArray(configurations)) configurations = [configurations]; + return configurations.map((params) => { + return [extension].concat( + Object.keys(params).map((k) => { + let values = params[k]; + if (!Array.isArray(values)) values = [values]; + return values.map((v) => v === true ? k : `${k}=${v}`).join("; "); + }) + ).join("; "); + }).join(", "); + }).join(", "); + } + module2.exports = { format, parse }; + } +}); + +// node_modules/ws/lib/websocket.js +var require_websocket = __commonJS({ + "node_modules/ws/lib/websocket.js"(exports2, module2) { + "use strict"; + var EventEmitter = require("events"); + var https = require("https"); + var http = require("http"); + var net = require("net"); + var tls = require("tls"); + var { randomBytes, createHash } = require("crypto"); + var { Readable } = require("stream"); + var { URL } = require("url"); + var PerMessageDeflate = require_permessage_deflate(); + var Receiver = require_receiver(); + var Sender = require_sender(); + var { + BINARY_TYPES, + EMPTY_BUFFER, + GUID, + kStatusCode, + kWebSocket, + NOOP + } = require_constants(); + var { addEventListener, removeEventListener } = require_event_target(); + var { format, parse } = require_extension(); + var { toBuffer } = require_buffer_util(); + var readyStates = ["CONNECTING", "OPEN", "CLOSING", "CLOSED"]; + var protocolVersions = [8, 13]; + var closeTimeout = 30 * 1e3; + var WebSocket = class _WebSocket extends EventEmitter { + /** + * Create a new `WebSocket`. + * + * @param {(String|URL)} address The URL to which to connect + * @param {(String|String[])} [protocols] The subprotocols + * @param {Object} [options] Connection options + */ + constructor(address, protocols, options) { + super(); + this._binaryType = BINARY_TYPES[0]; + this._closeCode = 1006; + this._closeFrameReceived = false; + this._closeFrameSent = false; + this._closeMessage = ""; + this._closeTimer = null; + this._extensions = {}; + this._protocol = ""; + this._readyState = _WebSocket.CONNECTING; + this._receiver = null; + this._sender = null; + this._socket = null; + if (address !== null) { + this._bufferedAmount = 0; + this._isServer = false; + this._redirects = 0; + if (Array.isArray(protocols)) { + protocols = protocols.join(", "); + } else if (typeof protocols === "object" && protocols !== null) { + options = protocols; + protocols = void 0; + } + initAsClient(this, address, protocols, options); + } else { + this._isServer = true; + } + } + /** + * This deviates from the WHATWG interface since ws doesn't support the + * required default "blob" type (instead we define a custom "nodebuffer" + * type). + * + * @type {String} + */ + get binaryType() { + return this._binaryType; + } + set binaryType(type) { + if (!BINARY_TYPES.includes(type)) return; + this._binaryType = type; + if (this._receiver) this._receiver._binaryType = type; + } + /** + * @type {Number} + */ + get bufferedAmount() { + if (!this._socket) return this._bufferedAmount; + return this._socket._writableState.length + this._sender._bufferedBytes; + } + /** + * @type {String} + */ + get extensions() { + return Object.keys(this._extensions).join(); + } + /** + * @type {Function} + */ + /* istanbul ignore next */ + get onclose() { + return void 0; + } + /* istanbul ignore next */ + set onclose(listener) { + } + /** + * @type {Function} + */ + /* istanbul ignore next */ + get onerror() { + return void 0; + } + /* istanbul ignore next */ + set onerror(listener) { + } + /** + * @type {Function} + */ + /* istanbul ignore next */ + get onopen() { + return void 0; + } + /* istanbul ignore next */ + set onopen(listener) { + } + /** + * @type {Function} + */ + /* istanbul ignore next */ + get onmessage() { + return void 0; + } + /* istanbul ignore next */ + set onmessage(listener) { + } + /** + * @type {String} + */ + get protocol() { + return this._protocol; + } + /** + * @type {Number} + */ + get readyState() { + return this._readyState; + } + /** + * @type {String} + */ + get url() { + return this._url; + } + /** + * Set up the socket and the internal resources. + * + * @param {(net.Socket|tls.Socket)} socket The network socket between the + * server and client + * @param {Buffer} head The first packet of the upgraded stream + * @param {Number} [maxPayload=0] The maximum allowed message size + * @private + */ + setSocket(socket, head, maxPayload) { + const receiver = new Receiver( + this.binaryType, + this._extensions, + this._isServer, + maxPayload + ); + this._sender = new Sender(socket, this._extensions); + this._receiver = receiver; + this._socket = socket; + receiver[kWebSocket] = this; + socket[kWebSocket] = this; + receiver.on("conclude", receiverOnConclude); + receiver.on("drain", receiverOnDrain); + receiver.on("error", receiverOnError); + receiver.on("message", receiverOnMessage); + receiver.on("ping", receiverOnPing); + receiver.on("pong", receiverOnPong); + socket.setTimeout(0); + socket.setNoDelay(); + if (head.length > 0) socket.unshift(head); + socket.on("close", socketOnClose); + socket.on("data", socketOnData); + socket.on("end", socketOnEnd); + socket.on("error", socketOnError); + this._readyState = _WebSocket.OPEN; + this.emit("open"); + } + /** + * Emit the `'close'` event. + * + * @private + */ + emitClose() { + if (!this._socket) { + this._readyState = _WebSocket.CLOSED; + this.emit("close", this._closeCode, this._closeMessage); + return; + } + if (this._extensions[PerMessageDeflate.extensionName]) { + this._extensions[PerMessageDeflate.extensionName].cleanup(); + } + this._receiver.removeAllListeners(); + this._readyState = _WebSocket.CLOSED; + this.emit("close", this._closeCode, this._closeMessage); + } + /** + * Start a closing handshake. + * + * +----------+ +-----------+ +----------+ + * - - -|ws.close()|-->|close frame|-->|ws.close()|- - - + * | +----------+ +-----------+ +----------+ | + * +----------+ +-----------+ | + * CLOSING |ws.close()|<--|close frame|<--+-----+ CLOSING + * +----------+ +-----------+ | + * | | | +---+ | + * +------------------------+-->|fin| - - - - + * | +---+ | +---+ + * - - - - -|fin|<---------------------+ + * +---+ + * + * @param {Number} [code] Status code explaining why the connection is closing + * @param {String} [data] A string explaining why the connection is closing + * @public + */ + close(code, data) { + if (this.readyState === _WebSocket.CLOSED) return; + if (this.readyState === _WebSocket.CONNECTING) { + const msg = "WebSocket was closed before the connection was established"; + return abortHandshake(this, this._req, msg); + } + if (this.readyState === _WebSocket.CLOSING) { + if (this._closeFrameSent && (this._closeFrameReceived || this._receiver._writableState.errorEmitted)) { + this._socket.end(); + } + return; + } + this._readyState = _WebSocket.CLOSING; + this._sender.close(code, data, !this._isServer, (err) => { + if (err) return; + this._closeFrameSent = true; + if (this._closeFrameReceived || this._receiver._writableState.errorEmitted) { + this._socket.end(); + } + }); + this._closeTimer = setTimeout( + this._socket.destroy.bind(this._socket), + closeTimeout + ); + } + /** + * Send a ping. + * + * @param {*} [data] The data to send + * @param {Boolean} [mask] Indicates whether or not to mask `data` + * @param {Function} [cb] Callback which is executed when the ping is sent + * @public + */ + ping(data, mask, cb) { + if (this.readyState === _WebSocket.CONNECTING) { + throw new Error("WebSocket is not open: readyState 0 (CONNECTING)"); + } + if (typeof data === "function") { + cb = data; + data = mask = void 0; + } else if (typeof mask === "function") { + cb = mask; + mask = void 0; + } + if (typeof data === "number") data = data.toString(); + if (this.readyState !== _WebSocket.OPEN) { + sendAfterClose(this, data, cb); + return; + } + if (mask === void 0) mask = !this._isServer; + this._sender.ping(data || EMPTY_BUFFER, mask, cb); + } + /** + * Send a pong. + * + * @param {*} [data] The data to send + * @param {Boolean} [mask] Indicates whether or not to mask `data` + * @param {Function} [cb] Callback which is executed when the pong is sent + * @public + */ + pong(data, mask, cb) { + if (this.readyState === _WebSocket.CONNECTING) { + throw new Error("WebSocket is not open: readyState 0 (CONNECTING)"); + } + if (typeof data === "function") { + cb = data; + data = mask = void 0; + } else if (typeof mask === "function") { + cb = mask; + mask = void 0; + } + if (typeof data === "number") data = data.toString(); + if (this.readyState !== _WebSocket.OPEN) { + sendAfterClose(this, data, cb); + return; + } + if (mask === void 0) mask = !this._isServer; + this._sender.pong(data || EMPTY_BUFFER, mask, cb); + } + /** + * Send a data message. + * + * @param {*} data The message to send + * @param {Object} [options] Options object + * @param {Boolean} [options.compress] Specifies whether or not to compress + * `data` + * @param {Boolean} [options.binary] Specifies whether `data` is binary or + * text + * @param {Boolean} [options.fin=true] Specifies whether the fragment is the + * last one + * @param {Boolean} [options.mask] Specifies whether or not to mask `data` + * @param {Function} [cb] Callback which is executed when data is written out + * @public + */ + send(data, options, cb) { + if (this.readyState === _WebSocket.CONNECTING) { + throw new Error("WebSocket is not open: readyState 0 (CONNECTING)"); + } + if (typeof options === "function") { + cb = options; + options = {}; + } + if (typeof data === "number") data = data.toString(); + if (this.readyState !== _WebSocket.OPEN) { + sendAfterClose(this, data, cb); + return; + } + const opts = { + binary: typeof data !== "string", + mask: !this._isServer, + compress: true, + fin: true, + ...options + }; + if (!this._extensions[PerMessageDeflate.extensionName]) { + opts.compress = false; + } + this._sender.send(data || EMPTY_BUFFER, opts, cb); + } + /** + * Forcibly close the connection. + * + * @public + */ + terminate() { + if (this.readyState === _WebSocket.CLOSED) return; + if (this.readyState === _WebSocket.CONNECTING) { + const msg = "WebSocket was closed before the connection was established"; + return abortHandshake(this, this._req, msg); + } + if (this._socket) { + this._readyState = _WebSocket.CLOSING; + this._socket.destroy(); + } + } + }; + Object.defineProperty(WebSocket, "CONNECTING", { + enumerable: true, + value: readyStates.indexOf("CONNECTING") + }); + Object.defineProperty(WebSocket.prototype, "CONNECTING", { + enumerable: true, + value: readyStates.indexOf("CONNECTING") + }); + Object.defineProperty(WebSocket, "OPEN", { + enumerable: true, + value: readyStates.indexOf("OPEN") + }); + Object.defineProperty(WebSocket.prototype, "OPEN", { + enumerable: true, + value: readyStates.indexOf("OPEN") + }); + Object.defineProperty(WebSocket, "CLOSING", { + enumerable: true, + value: readyStates.indexOf("CLOSING") + }); + Object.defineProperty(WebSocket.prototype, "CLOSING", { + enumerable: true, + value: readyStates.indexOf("CLOSING") + }); + Object.defineProperty(WebSocket, "CLOSED", { + enumerable: true, + value: readyStates.indexOf("CLOSED") + }); + Object.defineProperty(WebSocket.prototype, "CLOSED", { + enumerable: true, + value: readyStates.indexOf("CLOSED") + }); + [ + "binaryType", + "bufferedAmount", + "extensions", + "protocol", + "readyState", + "url" + ].forEach((property) => { + Object.defineProperty(WebSocket.prototype, property, { enumerable: true }); + }); + ["open", "error", "close", "message"].forEach((method) => { + Object.defineProperty(WebSocket.prototype, `on${method}`, { + enumerable: true, + get() { + const listeners = this.listeners(method); + for (let i = 0; i < listeners.length; i++) { + if (listeners[i]._listener) return listeners[i]._listener; + } + return void 0; + }, + set(listener) { + const listeners = this.listeners(method); + for (let i = 0; i < listeners.length; i++) { + if (listeners[i]._listener) this.removeListener(method, listeners[i]); + } + this.addEventListener(method, listener); + } + }); + }); + WebSocket.prototype.addEventListener = addEventListener; + WebSocket.prototype.removeEventListener = removeEventListener; + module2.exports = WebSocket; + function initAsClient(websocket, address, protocols, options) { + const opts = { + protocolVersion: protocolVersions[1], + maxPayload: 100 * 1024 * 1024, + perMessageDeflate: true, + followRedirects: false, + maxRedirects: 10, + ...options, + createConnection: void 0, + socketPath: void 0, + hostname: void 0, + protocol: void 0, + timeout: void 0, + method: void 0, + host: void 0, + path: void 0, + port: void 0 + }; + if (!protocolVersions.includes(opts.protocolVersion)) { + throw new RangeError( + `Unsupported protocol version: ${opts.protocolVersion} (supported versions: ${protocolVersions.join(", ")})` + ); + } + let parsedUrl; + if (address instanceof URL) { + parsedUrl = address; + websocket._url = address.href; + } else { + parsedUrl = new URL(address); + websocket._url = address; + } + const isUnixSocket = parsedUrl.protocol === "ws+unix:"; + if (!parsedUrl.host && (!isUnixSocket || !parsedUrl.pathname)) { + const err = new Error(`Invalid URL: ${websocket.url}`); + if (websocket._redirects === 0) { + throw err; + } else { + emitErrorAndClose(websocket, err); + return; + } + } + const isSecure = parsedUrl.protocol === "wss:" || parsedUrl.protocol === "https:"; + const defaultPort = isSecure ? 443 : 80; + const key = randomBytes(16).toString("base64"); + const get = isSecure ? https.get : http.get; + let perMessageDeflate; + opts.createConnection = isSecure ? tlsConnect : netConnect; + opts.defaultPort = opts.defaultPort || defaultPort; + opts.port = parsedUrl.port || defaultPort; + opts.host = parsedUrl.hostname.startsWith("[") ? parsedUrl.hostname.slice(1, -1) : parsedUrl.hostname; + opts.headers = { + "Sec-WebSocket-Version": opts.protocolVersion, + "Sec-WebSocket-Key": key, + Connection: "Upgrade", + Upgrade: "websocket", + ...opts.headers + }; + opts.path = parsedUrl.pathname + parsedUrl.search; + opts.timeout = opts.handshakeTimeout; + if (opts.perMessageDeflate) { + perMessageDeflate = new PerMessageDeflate( + opts.perMessageDeflate !== true ? opts.perMessageDeflate : {}, + false, + opts.maxPayload + ); + opts.headers["Sec-WebSocket-Extensions"] = format({ + [PerMessageDeflate.extensionName]: perMessageDeflate.offer() + }); + } + if (protocols) { + opts.headers["Sec-WebSocket-Protocol"] = protocols; + } + if (opts.origin) { + if (opts.protocolVersion < 13) { + opts.headers["Sec-WebSocket-Origin"] = opts.origin; + } else { + opts.headers.Origin = opts.origin; + } + } + if (parsedUrl.username || parsedUrl.password) { + opts.auth = `${parsedUrl.username}:${parsedUrl.password}`; + } + if (isUnixSocket) { + const parts = opts.path.split(":"); + opts.socketPath = parts[0]; + opts.path = parts[1]; + } + if (opts.followRedirects) { + if (websocket._redirects === 0) { + websocket._originalUnixSocket = isUnixSocket; + websocket._originalSecure = isSecure; + websocket._originalHostOrSocketPath = isUnixSocket ? opts.socketPath : parsedUrl.host; + const headers = options && options.headers; + options = { ...options, headers: {} }; + if (headers) { + for (const [key2, value] of Object.entries(headers)) { + options.headers[key2.toLowerCase()] = value; + } + } + } else { + const isSameHost = isUnixSocket ? websocket._originalUnixSocket ? opts.socketPath === websocket._originalHostOrSocketPath : false : websocket._originalUnixSocket ? false : parsedUrl.host === websocket._originalHostOrSocketPath; + if (!isSameHost || websocket._originalSecure && !isSecure) { + delete opts.headers.authorization; + delete opts.headers.cookie; + if (!isSameHost) delete opts.headers.host; + opts.auth = void 0; + } + } + if (opts.auth && !options.headers.authorization) { + options.headers.authorization = "Basic " + Buffer.from(opts.auth).toString("base64"); + } + } + let req = websocket._req = get(opts); + if (opts.timeout) { + req.on("timeout", () => { + abortHandshake(websocket, req, "Opening handshake has timed out"); + }); + } + req.on("error", (err) => { + if (req === null || req.aborted) return; + req = websocket._req = null; + emitErrorAndClose(websocket, err); + }); + req.on("response", (res) => { + const location = res.headers.location; + const statusCode = res.statusCode; + if (location && opts.followRedirects && statusCode >= 300 && statusCode < 400) { + if (++websocket._redirects > opts.maxRedirects) { + abortHandshake(websocket, req, "Maximum redirects exceeded"); + return; + } + req.abort(); + let addr; + try { + addr = new URL(location, address); + } catch (err) { + emitErrorAndClose(websocket, err); + return; + } + initAsClient(websocket, addr, protocols, options); + } else if (!websocket.emit("unexpected-response", req, res)) { + abortHandshake( + websocket, + req, + `Unexpected server response: ${res.statusCode}` + ); + } + }); + req.on("upgrade", (res, socket, head) => { + websocket.emit("upgrade", res); + if (websocket.readyState !== WebSocket.CONNECTING) return; + req = websocket._req = null; + if (res.headers.upgrade.toLowerCase() !== "websocket") { + abortHandshake(websocket, socket, "Invalid Upgrade header"); + return; + } + const digest = createHash("sha1").update(key + GUID).digest("base64"); + if (res.headers["sec-websocket-accept"] !== digest) { + abortHandshake(websocket, socket, "Invalid Sec-WebSocket-Accept header"); + return; + } + const serverProt = res.headers["sec-websocket-protocol"]; + const protList = (protocols || "").split(/, */); + let protError; + if (!protocols && serverProt) { + protError = "Server sent a subprotocol but none was requested"; + } else if (protocols && !serverProt) { + protError = "Server sent no subprotocol"; + } else if (serverProt && !protList.includes(serverProt)) { + protError = "Server sent an invalid subprotocol"; + } + if (protError) { + abortHandshake(websocket, socket, protError); + return; + } + if (serverProt) websocket._protocol = serverProt; + const secWebSocketExtensions = res.headers["sec-websocket-extensions"]; + if (secWebSocketExtensions !== void 0) { + if (!perMessageDeflate) { + const message = "Server sent a Sec-WebSocket-Extensions header but no extension was requested"; + abortHandshake(websocket, socket, message); + return; + } + let extensions; + try { + extensions = parse(secWebSocketExtensions); + } catch (err) { + const message = "Invalid Sec-WebSocket-Extensions header"; + abortHandshake(websocket, socket, message); + return; + } + const extensionNames = Object.keys(extensions); + if (extensionNames.length) { + if (extensionNames.length !== 1 || extensionNames[0] !== PerMessageDeflate.extensionName) { + const message = "Server indicated an extension that was not requested"; + abortHandshake(websocket, socket, message); + return; + } + try { + perMessageDeflate.accept(extensions[PerMessageDeflate.extensionName]); + } catch (err) { + const message = "Invalid Sec-WebSocket-Extensions header"; + abortHandshake(websocket, socket, message); + return; + } + websocket._extensions[PerMessageDeflate.extensionName] = perMessageDeflate; + } + } + websocket.setSocket(socket, head, opts.maxPayload); + }); + } + function emitErrorAndClose(websocket, err) { + websocket._readyState = WebSocket.CLOSING; + websocket.emit("error", err); + websocket.emitClose(); + } + function netConnect(options) { + options.path = options.socketPath; + return net.connect(options); + } + function tlsConnect(options) { + options.path = void 0; + if (!options.servername && options.servername !== "") { + options.servername = net.isIP(options.host) ? "" : options.host; + } + return tls.connect(options); + } + function abortHandshake(websocket, stream, message) { + websocket._readyState = WebSocket.CLOSING; + const err = new Error(message); + Error.captureStackTrace(err, abortHandshake); + if (stream.setHeader) { + stream.abort(); + if (stream.socket && !stream.socket.destroyed) { + stream.socket.destroy(); + } + stream.once("abort", websocket.emitClose.bind(websocket)); + websocket.emit("error", err); + } else { + stream.destroy(err); + stream.once("error", websocket.emit.bind(websocket, "error")); + stream.once("close", websocket.emitClose.bind(websocket)); + } + } + function sendAfterClose(websocket, data, cb) { + if (data) { + const length = toBuffer(data).length; + if (websocket._socket) websocket._sender._bufferedBytes += length; + else websocket._bufferedAmount += length; + } + if (cb) { + const err = new Error( + `WebSocket is not open: readyState ${websocket.readyState} (${readyStates[websocket.readyState]})` + ); + cb(err); + } + } + function receiverOnConclude(code, reason) { + const websocket = this[kWebSocket]; + websocket._closeFrameReceived = true; + websocket._closeMessage = reason; + websocket._closeCode = code; + if (websocket._socket[kWebSocket] === void 0) return; + websocket._socket.removeListener("data", socketOnData); + process.nextTick(resume, websocket._socket); + if (code === 1005) websocket.close(); + else websocket.close(code, reason); + } + function receiverOnDrain() { + this[kWebSocket]._socket.resume(); + } + function receiverOnError(err) { + const websocket = this[kWebSocket]; + if (websocket._socket[kWebSocket] !== void 0) { + websocket._socket.removeListener("data", socketOnData); + process.nextTick(resume, websocket._socket); + websocket.close(err[kStatusCode]); + } + websocket.emit("error", err); + } + function receiverOnFinish() { + this[kWebSocket].emitClose(); + } + function receiverOnMessage(data) { + this[kWebSocket].emit("message", data); + } + function receiverOnPing(data) { + const websocket = this[kWebSocket]; + websocket.pong(data, !websocket._isServer, NOOP); + websocket.emit("ping", data); + } + function receiverOnPong(data) { + this[kWebSocket].emit("pong", data); + } + function resume(stream) { + stream.resume(); + } + function socketOnClose() { + const websocket = this[kWebSocket]; + this.removeListener("close", socketOnClose); + this.removeListener("data", socketOnData); + this.removeListener("end", socketOnEnd); + websocket._readyState = WebSocket.CLOSING; + let chunk; + if (!this._readableState.endEmitted && !websocket._closeFrameReceived && !websocket._receiver._writableState.errorEmitted && (chunk = websocket._socket.read()) !== null) { + websocket._receiver.write(chunk); + } + websocket._receiver.end(); + this[kWebSocket] = void 0; + clearTimeout(websocket._closeTimer); + if (websocket._receiver._writableState.finished || websocket._receiver._writableState.errorEmitted) { + websocket.emitClose(); + } else { + websocket._receiver.on("error", receiverOnFinish); + websocket._receiver.on("finish", receiverOnFinish); + } + } + function socketOnData(chunk) { + if (!this[kWebSocket]._receiver.write(chunk)) { + this.pause(); + } + } + function socketOnEnd() { + const websocket = this[kWebSocket]; + websocket._readyState = WebSocket.CLOSING; + websocket._receiver.end(); + this.end(); + } + function socketOnError() { + const websocket = this[kWebSocket]; + this.removeListener("error", socketOnError); + this.on("error", NOOP); + if (websocket) { + websocket._readyState = WebSocket.CLOSING; + this.destroy(); + } + } + } +}); + +// node_modules/react-devtools-core/dist/backend.js +(function webpackUniversalModuleDefinition(root, factory) { + if (typeof exports === "object" && typeof module === "object") + module.exports = factory(); + else if (typeof define === "function" && define.amd) + define([], factory); + else if (typeof exports === "object") + exports["ReactDevToolsBackend"] = factory(); + else + root["ReactDevToolsBackend"] = factory(); +})(window, () => { + return ( + /******/ + (() => { + var __webpack_modules__ = { + /***/ + 786: ( + /***/ + (__unused_webpack_module, exports2, __webpack_require__2) => { + "use strict"; + var __webpack_unused_export__; + function _typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + _typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return _typeof(obj); + } + var ErrorStackParser = __webpack_require__2(206), React = __webpack_require__2(189), assign = Object.assign, ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"), hasOwnProperty = Object.prototype.hasOwnProperty, hookLog = [], primitiveStackCache = null; + function getPrimitiveStackCache() { + if (null === primitiveStackCache) { + var cache = /* @__PURE__ */ new Map(); + try { + Dispatcher.useContext({ + _currentValue: null + }); + Dispatcher.useState(null); + Dispatcher.useReducer(function(s) { + return s; + }, null); + Dispatcher.useRef(null); + "function" === typeof Dispatcher.useCacheRefresh && Dispatcher.useCacheRefresh(); + Dispatcher.useLayoutEffect(function() { + }); + Dispatcher.useInsertionEffect(function() { + }); + Dispatcher.useEffect(function() { + }); + Dispatcher.useImperativeHandle(void 0, function() { + return null; + }); + Dispatcher.useDebugValue(null); + Dispatcher.useCallback(function() { + }); + Dispatcher.useTransition(); + Dispatcher.useSyncExternalStore(function() { + return function() { + }; + }, function() { + return null; + }, function() { + return null; + }); + Dispatcher.useDeferredValue(null); + Dispatcher.useMemo(function() { + return null; + }); + Dispatcher.useOptimistic(null, function(s) { + return s; + }); + Dispatcher.useFormState(function(s) { + return s; + }, null); + Dispatcher.useActionState(function(s) { + return s; + }, null); + Dispatcher.useHostTransitionStatus(); + "function" === typeof Dispatcher.useMemoCache && Dispatcher.useMemoCache(0); + if ("function" === typeof Dispatcher.use) { + Dispatcher.use({ + $$typeof: REACT_CONTEXT_TYPE, + _currentValue: null + }); + Dispatcher.use({ + then: function then() { + }, + status: "fulfilled", + value: null + }); + try { + Dispatcher.use({ + then: function then() { + } + }); + } catch (x) { + } + } + Dispatcher.useId(); + "function" === typeof Dispatcher.useResourceEffect && Dispatcher.useResourceEffect(function() { + return {}; + }, []); + "function" === typeof Dispatcher.useEffectEvent && Dispatcher.useEffectEvent(function() { + }); + } finally { + var readHookLog = hookLog; + hookLog = []; + } + for (var i = 0; i < readHookLog.length; i++) { + var hook = readHookLog[i]; + cache.set(hook.primitive, ErrorStackParser.parse(hook.stackError)); + } + primitiveStackCache = cache; + } + return primitiveStackCache; + } + var currentFiber = null, currentHook = null, currentContextDependency = null; + function nextHook() { + var hook = currentHook; + null !== hook && (currentHook = hook.next); + return hook; + } + function readContext(context) { + if (null === currentFiber) return context._currentValue; + if (null === currentContextDependency) throw Error("Context reads do not line up with context dependencies. This is a bug in React Debug Tools."); + hasOwnProperty.call(currentContextDependency, "memoizedValue") ? (context = currentContextDependency.memoizedValue, currentContextDependency = currentContextDependency.next) : context = context._currentValue; + return context; + } + var SuspenseException = Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`."), Dispatcher = { + use: function use(usable) { + if (null !== usable && "object" === _typeof(usable)) { + if ("function" === typeof usable.then) { + switch (usable.status) { + case "fulfilled": + var fulfilledValue = usable.value; + hookLog.push({ + displayName: null, + primitive: "Promise", + stackError: Error(), + value: fulfilledValue, + debugInfo: void 0 === usable._debugInfo ? null : usable._debugInfo, + dispatcherHookName: "Use" + }); + return fulfilledValue; + case "rejected": + throw usable.reason; + } + hookLog.push({ + displayName: null, + primitive: "Unresolved", + stackError: Error(), + value: usable, + debugInfo: void 0 === usable._debugInfo ? null : usable._debugInfo, + dispatcherHookName: "Use" + }); + throw SuspenseException; + } + if (usable.$$typeof === REACT_CONTEXT_TYPE) return fulfilledValue = readContext(usable), hookLog.push({ + displayName: usable.displayName || "Context", + primitive: "Context (use)", + stackError: Error(), + value: fulfilledValue, + debugInfo: null, + dispatcherHookName: "Use" + }), fulfilledValue; + } + throw Error("An unsupported type was passed to use(): " + String(usable)); + }, + readContext, + useCacheRefresh: function useCacheRefresh() { + var hook = nextHook(); + hookLog.push({ + displayName: null, + primitive: "CacheRefresh", + stackError: Error(), + value: null !== hook ? hook.memoizedState : function() { + }, + debugInfo: null, + dispatcherHookName: "CacheRefresh" + }); + return function() { + }; + }, + useCallback: function useCallback(callback) { + var hook = nextHook(); + hookLog.push({ + displayName: null, + primitive: "Callback", + stackError: Error(), + value: null !== hook ? hook.memoizedState[0] : callback, + debugInfo: null, + dispatcherHookName: "Callback" + }); + return callback; + }, + useContext: function useContext(context) { + var value = readContext(context); + hookLog.push({ + displayName: context.displayName || null, + primitive: "Context", + stackError: Error(), + value, + debugInfo: null, + dispatcherHookName: "Context" + }); + return value; + }, + useEffect: function useEffect(create) { + nextHook(); + hookLog.push({ + displayName: null, + primitive: "Effect", + stackError: Error(), + value: create, + debugInfo: null, + dispatcherHookName: "Effect" + }); + }, + useImperativeHandle: function useImperativeHandle(ref) { + nextHook(); + var instance = void 0; + null !== ref && "object" === _typeof(ref) && (instance = ref.current); + hookLog.push({ + displayName: null, + primitive: "ImperativeHandle", + stackError: Error(), + value: instance, + debugInfo: null, + dispatcherHookName: "ImperativeHandle" + }); + }, + useDebugValue: function useDebugValue(value, formatterFn) { + hookLog.push({ + displayName: null, + primitive: "DebugValue", + stackError: Error(), + value: "function" === typeof formatterFn ? formatterFn(value) : value, + debugInfo: null, + dispatcherHookName: "DebugValue" + }); + }, + useLayoutEffect: function useLayoutEffect(create) { + nextHook(); + hookLog.push({ + displayName: null, + primitive: "LayoutEffect", + stackError: Error(), + value: create, + debugInfo: null, + dispatcherHookName: "LayoutEffect" + }); + }, + useInsertionEffect: function useInsertionEffect(create) { + nextHook(); + hookLog.push({ + displayName: null, + primitive: "InsertionEffect", + stackError: Error(), + value: create, + debugInfo: null, + dispatcherHookName: "InsertionEffect" + }); + }, + useMemo: function useMemo(nextCreate) { + var hook = nextHook(); + nextCreate = null !== hook ? hook.memoizedState[0] : nextCreate(); + hookLog.push({ + displayName: null, + primitive: "Memo", + stackError: Error(), + value: nextCreate, + debugInfo: null, + dispatcherHookName: "Memo" + }); + return nextCreate; + }, + useMemoCache: function useMemoCache(size) { + var fiber = currentFiber; + if (null == fiber) return []; + fiber = null != fiber.updateQueue ? fiber.updateQueue.memoCache : null; + if (null == fiber) return []; + var data = fiber.data[fiber.index]; + if (void 0 === data) { + data = fiber.data[fiber.index] = Array(size); + for (var i = 0; i < size; i++) { + data[i] = REACT_MEMO_CACHE_SENTINEL; + } + } + fiber.index++; + return data; + }, + useOptimistic: function useOptimistic(passthrough) { + var hook = nextHook(); + passthrough = null !== hook ? hook.memoizedState : passthrough; + hookLog.push({ + displayName: null, + primitive: "Optimistic", + stackError: Error(), + value: passthrough, + debugInfo: null, + dispatcherHookName: "Optimistic" + }); + return [passthrough, function() { + }]; + }, + useReducer: function useReducer(reducer, initialArg, init) { + reducer = nextHook(); + initialArg = null !== reducer ? reducer.memoizedState : void 0 !== init ? init(initialArg) : initialArg; + hookLog.push({ + displayName: null, + primitive: "Reducer", + stackError: Error(), + value: initialArg, + debugInfo: null, + dispatcherHookName: "Reducer" + }); + return [initialArg, function() { + }]; + }, + useRef: function useRef(initialValue) { + var hook = nextHook(); + initialValue = null !== hook ? hook.memoizedState : { + current: initialValue + }; + hookLog.push({ + displayName: null, + primitive: "Ref", + stackError: Error(), + value: initialValue.current, + debugInfo: null, + dispatcherHookName: "Ref" + }); + return initialValue; + }, + useState: function useState(initialState) { + var hook = nextHook(); + initialState = null !== hook ? hook.memoizedState : "function" === typeof initialState ? initialState() : initialState; + hookLog.push({ + displayName: null, + primitive: "State", + stackError: Error(), + value: initialState, + debugInfo: null, + dispatcherHookName: "State" + }); + return [initialState, function() { + }]; + }, + useTransition: function useTransition() { + var stateHook = nextHook(); + nextHook(); + stateHook = null !== stateHook ? stateHook.memoizedState : false; + hookLog.push({ + displayName: null, + primitive: "Transition", + stackError: Error(), + value: stateHook, + debugInfo: null, + dispatcherHookName: "Transition" + }); + return [stateHook, function() { + }]; + }, + useSyncExternalStore: function useSyncExternalStore(subscribe, getSnapshot) { + nextHook(); + nextHook(); + subscribe = getSnapshot(); + hookLog.push({ + displayName: null, + primitive: "SyncExternalStore", + stackError: Error(), + value: subscribe, + debugInfo: null, + dispatcherHookName: "SyncExternalStore" + }); + return subscribe; + }, + useDeferredValue: function useDeferredValue(value) { + var hook = nextHook(); + value = null !== hook ? hook.memoizedState : value; + hookLog.push({ + displayName: null, + primitive: "DeferredValue", + stackError: Error(), + value, + debugInfo: null, + dispatcherHookName: "DeferredValue" + }); + return value; + }, + useId: function useId() { + var hook = nextHook(); + hook = null !== hook ? hook.memoizedState : ""; + hookLog.push({ + displayName: null, + primitive: "Id", + stackError: Error(), + value: hook, + debugInfo: null, + dispatcherHookName: "Id" + }); + return hook; + }, + useFormState: function useFormState(action, initialState) { + var hook = nextHook(); + nextHook(); + nextHook(); + action = Error(); + var debugInfo = null, error = null; + if (null !== hook) { + if (initialState = hook.memoizedState, "object" === _typeof(initialState) && null !== initialState && "function" === typeof initialState.then) switch (initialState.status) { + case "fulfilled": + var value = initialState.value; + debugInfo = void 0 === initialState._debugInfo ? null : initialState._debugInfo; + break; + case "rejected": + error = initialState.reason; + break; + default: + error = SuspenseException, debugInfo = void 0 === initialState._debugInfo ? null : initialState._debugInfo, value = initialState; + } + else value = initialState; + } else value = initialState; + hookLog.push({ + displayName: null, + primitive: "FormState", + stackError: action, + value, + debugInfo, + dispatcherHookName: "FormState" + }); + if (null !== error) throw error; + return [value, function() { + }, false]; + }, + useActionState: function useActionState(action, initialState) { + var hook = nextHook(); + nextHook(); + nextHook(); + action = Error(); + var debugInfo = null, error = null; + if (null !== hook) { + if (initialState = hook.memoizedState, "object" === _typeof(initialState) && null !== initialState && "function" === typeof initialState.then) switch (initialState.status) { + case "fulfilled": + var value = initialState.value; + debugInfo = void 0 === initialState._debugInfo ? null : initialState._debugInfo; + break; + case "rejected": + error = initialState.reason; + break; + default: + error = SuspenseException, debugInfo = void 0 === initialState._debugInfo ? null : initialState._debugInfo, value = initialState; + } + else value = initialState; + } else value = initialState; + hookLog.push({ + displayName: null, + primitive: "ActionState", + stackError: action, + value, + debugInfo, + dispatcherHookName: "ActionState" + }); + if (null !== error) throw error; + return [value, function() { + }, false]; + }, + useHostTransitionStatus: function useHostTransitionStatus() { + var status = readContext({ + _currentValue: null + }); + hookLog.push({ + displayName: null, + primitive: "HostTransitionStatus", + stackError: Error(), + value: status, + debugInfo: null, + dispatcherHookName: "HostTransitionStatus" + }); + return status; + }, + useEffectEvent: function useEffectEvent(callback) { + nextHook(); + hookLog.push({ + displayName: null, + primitive: "EffectEvent", + stackError: Error(), + value: callback, + debugInfo: null, + dispatcherHookName: "EffectEvent" + }); + return callback; + }, + useResourceEffect: function useResourceEffect(create) { + nextHook(); + hookLog.push({ + displayName: null, + primitive: "ResourceEffect", + stackError: Error(), + value: create, + debugInfo: null, + dispatcherHookName: "ResourceEffect" + }); + } + }, DispatcherProxyHandler = { + get: function get(target, prop) { + if (target.hasOwnProperty(prop)) return target[prop]; + target = Error("Missing method in Dispatcher: " + prop); + target.name = "ReactDebugToolsUnsupportedHookError"; + throw target; + } + }, DispatcherProxy = "undefined" === typeof Proxy ? Dispatcher : new Proxy(Dispatcher, DispatcherProxyHandler), mostLikelyAncestorIndex = 0; + function findSharedIndex(hookStack, rootStack, rootIndex) { + var source = rootStack[rootIndex].source, i = 0; + a: for (; i < hookStack.length; i++) { + if (hookStack[i].source === source) { + for (var a = rootIndex + 1, b = i + 1; a < rootStack.length && b < hookStack.length; a++, b++) { + if (hookStack[b].source !== rootStack[a].source) continue a; + } + return i; + } + } + return -1; + } + function isReactWrapper(functionName, wrapperName) { + functionName = parseHookName(functionName); + return "HostTransitionStatus" === wrapperName ? functionName === wrapperName || "FormStatus" === functionName : functionName === wrapperName; + } + function parseHookName(functionName) { + if (!functionName) return ""; + var startIndex = functionName.lastIndexOf("[as "); + if (-1 !== startIndex) return parseHookName(functionName.slice(startIndex + 4, -1)); + startIndex = functionName.lastIndexOf("."); + startIndex = -1 === startIndex ? 0 : startIndex + 1; + functionName.slice(startIndex).startsWith("unstable_") && (startIndex += 9); + functionName.slice(startIndex).startsWith("experimental_") && (startIndex += 13); + if ("use" === functionName.slice(startIndex, startIndex + 3)) { + if (3 === functionName.length - startIndex) return "Use"; + startIndex += 3; + } + return functionName.slice(startIndex); + } + function buildTree(rootStack$jscomp$0, readHookLog) { + for (var rootChildren = [], prevStack = null, levelChildren = rootChildren, nativeHookID = 0, stackOfChildren = [], i = 0; i < readHookLog.length; i++) { + var hook = readHookLog[i]; + var rootStack = rootStack$jscomp$0; + var JSCompiler_inline_result = ErrorStackParser.parse(hook.stackError); + b: { + var hookStack = JSCompiler_inline_result, rootIndex = findSharedIndex(hookStack, rootStack, mostLikelyAncestorIndex); + if (-1 !== rootIndex) rootStack = rootIndex; + else { + for (var i$jscomp$0 = 0; i$jscomp$0 < rootStack.length && 5 > i$jscomp$0; i$jscomp$0++) { + if (rootIndex = findSharedIndex(hookStack, rootStack, i$jscomp$0), -1 !== rootIndex) { + mostLikelyAncestorIndex = i$jscomp$0; + rootStack = rootIndex; + break b; + } + } + rootStack = -1; + } + } + b: { + hookStack = JSCompiler_inline_result; + rootIndex = getPrimitiveStackCache().get(hook.primitive); + if (void 0 !== rootIndex) for (i$jscomp$0 = 0; i$jscomp$0 < rootIndex.length && i$jscomp$0 < hookStack.length; i$jscomp$0++) { + if (rootIndex[i$jscomp$0].source !== hookStack[i$jscomp$0].source) { + i$jscomp$0 < hookStack.length - 1 && isReactWrapper(hookStack[i$jscomp$0].functionName, hook.dispatcherHookName) && i$jscomp$0++; + i$jscomp$0 < hookStack.length - 1 && isReactWrapper(hookStack[i$jscomp$0].functionName, hook.dispatcherHookName) && i$jscomp$0++; + hookStack = i$jscomp$0; + break b; + } + } + hookStack = -1; + } + JSCompiler_inline_result = -1 === rootStack || -1 === hookStack || 2 > rootStack - hookStack ? -1 === hookStack ? [null, null] : [JSCompiler_inline_result[hookStack - 1], null] : [JSCompiler_inline_result[hookStack - 1], JSCompiler_inline_result.slice(hookStack, rootStack - 1)]; + hookStack = JSCompiler_inline_result[0]; + JSCompiler_inline_result = JSCompiler_inline_result[1]; + rootStack = hook.displayName; + null === rootStack && null !== hookStack && (rootStack = parseHookName(hookStack.functionName) || parseHookName(hook.dispatcherHookName)); + if (null !== JSCompiler_inline_result) { + hookStack = 0; + if (null !== prevStack) { + for (; hookStack < JSCompiler_inline_result.length && hookStack < prevStack.length && JSCompiler_inline_result[JSCompiler_inline_result.length - hookStack - 1].source === prevStack[prevStack.length - hookStack - 1].source; ) { + hookStack++; + } + for (prevStack = prevStack.length - 1; prevStack > hookStack; prevStack--) { + levelChildren = stackOfChildren.pop(); + } + } + for (prevStack = JSCompiler_inline_result.length - hookStack - 1; 1 <= prevStack; prevStack--) { + hookStack = [], rootIndex = JSCompiler_inline_result[prevStack], rootIndex = { + id: null, + isStateEditable: false, + name: parseHookName(JSCompiler_inline_result[prevStack - 1].functionName), + value: void 0, + subHooks: hookStack, + debugInfo: null, + hookSource: { + lineNumber: rootIndex.lineNumber, + columnNumber: rootIndex.columnNumber, + functionName: rootIndex.functionName, + fileName: rootIndex.fileName + } + }, levelChildren.push(rootIndex), stackOfChildren.push(levelChildren), levelChildren = hookStack; + } + prevStack = JSCompiler_inline_result; + } + hookStack = hook.primitive; + rootIndex = hook.debugInfo; + hook = { + id: "Context" === hookStack || "Context (use)" === hookStack || "DebugValue" === hookStack || "Promise" === hookStack || "Unresolved" === hookStack || "HostTransitionStatus" === hookStack ? null : nativeHookID++, + isStateEditable: "Reducer" === hookStack || "State" === hookStack, + name: rootStack || hookStack, + value: hook.value, + subHooks: [], + debugInfo: rootIndex, + hookSource: null + }; + rootStack = { + lineNumber: null, + functionName: null, + fileName: null, + columnNumber: null + }; + JSCompiler_inline_result && 1 <= JSCompiler_inline_result.length && (JSCompiler_inline_result = JSCompiler_inline_result[0], rootStack.lineNumber = JSCompiler_inline_result.lineNumber, rootStack.functionName = JSCompiler_inline_result.functionName, rootStack.fileName = JSCompiler_inline_result.fileName, rootStack.columnNumber = JSCompiler_inline_result.columnNumber); + hook.hookSource = rootStack; + levelChildren.push(hook); + } + processDebugValues(rootChildren, null); + return rootChildren; + } + function processDebugValues(hooksTree, parentHooksNode) { + for (var debugValueHooksNodes = [], i = 0; i < hooksTree.length; i++) { + var hooksNode = hooksTree[i]; + "DebugValue" === hooksNode.name && 0 === hooksNode.subHooks.length ? (hooksTree.splice(i, 1), i--, debugValueHooksNodes.push(hooksNode)) : processDebugValues(hooksNode.subHooks, hooksNode); + } + null !== parentHooksNode && (1 === debugValueHooksNodes.length ? parentHooksNode.value = debugValueHooksNodes[0].value : 1 < debugValueHooksNodes.length && (parentHooksNode.value = debugValueHooksNodes.map(function(_ref) { + return _ref.value; + }))); + } + function handleRenderFunctionError(error) { + if (error !== SuspenseException) { + if (error instanceof Error && "ReactDebugToolsUnsupportedHookError" === error.name) throw error; + var wrapperError = Error("Error rendering inspected component", { + cause: error + }); + wrapperError.name = "ReactDebugToolsRenderError"; + wrapperError.cause = error; + throw wrapperError; + } + } + function inspectHooks(renderFunction, props, currentDispatcher) { + null == currentDispatcher && (currentDispatcher = ReactSharedInternals); + var previousDispatcher = currentDispatcher.H; + currentDispatcher.H = DispatcherProxy; + try { + var ancestorStackError = Error(); + renderFunction(props); + } catch (error) { + handleRenderFunctionError(error); + } finally { + renderFunction = hookLog, hookLog = [], currentDispatcher.H = previousDispatcher; + } + currentDispatcher = ErrorStackParser.parse(ancestorStackError); + return buildTree(currentDispatcher, renderFunction); + } + function restoreContexts(contextMap) { + contextMap.forEach(function(value, context) { + return context._currentValue = value; + }); + } + __webpack_unused_export__ = inspectHooks; + exports2.inspectHooksOfFiber = function(fiber, currentDispatcher) { + null == currentDispatcher && (currentDispatcher = ReactSharedInternals); + if (0 !== fiber.tag && 15 !== fiber.tag && 11 !== fiber.tag) throw Error("Unknown Fiber. Needs to be a function component to inspect hooks."); + getPrimitiveStackCache(); + currentHook = fiber.memoizedState; + currentFiber = fiber; + if (hasOwnProperty.call(currentFiber, "dependencies")) { + var dependencies = currentFiber.dependencies; + currentContextDependency = null !== dependencies ? dependencies.firstContext : null; + } else if (hasOwnProperty.call(currentFiber, "dependencies_old")) dependencies = currentFiber.dependencies_old, currentContextDependency = null !== dependencies ? dependencies.firstContext : null; + else if (hasOwnProperty.call(currentFiber, "dependencies_new")) dependencies = currentFiber.dependencies_new, currentContextDependency = null !== dependencies ? dependencies.firstContext : null; + else if (hasOwnProperty.call(currentFiber, "contextDependencies")) dependencies = currentFiber.contextDependencies, currentContextDependency = null !== dependencies ? dependencies.first : null; + else throw Error("Unsupported React version. This is a bug in React Debug Tools."); + dependencies = fiber.type; + var props = fiber.memoizedProps; + if (dependencies !== fiber.elementType && dependencies && dependencies.defaultProps) { + props = assign({}, props); + var defaultProps = dependencies.defaultProps; + for (propName in defaultProps) { + void 0 === props[propName] && (props[propName] = defaultProps[propName]); + } + } + var propName = /* @__PURE__ */ new Map(); + try { + if (null !== currentContextDependency && !hasOwnProperty.call(currentContextDependency, "memoizedValue")) for (defaultProps = fiber; defaultProps; ) { + if (10 === defaultProps.tag) { + var context = defaultProps.type; + void 0 !== context._context && (context = context._context); + propName.has(context) || (propName.set(context, context._currentValue), context._currentValue = defaultProps.memoizedProps.value); + } + defaultProps = defaultProps.return; + } + if (11 === fiber.tag) { + var renderFunction = dependencies.render; + context = props; + var ref = fiber.ref; + fiber = currentDispatcher; + var previousDispatcher = fiber.H; + fiber.H = DispatcherProxy; + try { + var ancestorStackError = Error(); + renderFunction(context, ref); + } catch (error) { + handleRenderFunctionError(error); + } finally { + var readHookLog = hookLog; + hookLog = []; + fiber.H = previousDispatcher; + } + var rootStack = ErrorStackParser.parse(ancestorStackError); + return buildTree(rootStack, readHookLog); + } + return inspectHooks(dependencies, props, currentDispatcher); + } finally { + currentContextDependency = currentHook = currentFiber = null, restoreContexts(propName); + } + }; + } + ), + /***/ + 987: ( + /***/ + (module2, __unused_webpack_exports, __webpack_require__2) => { + "use strict"; + if (true) { + module2.exports = __webpack_require__2(786); + } else { + } + } + ), + /***/ + 126: ( + /***/ + (__unused_webpack_module, exports2, __webpack_require__2) => { + "use strict"; + var process2 = __webpack_require__2(169); + function _typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + _typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return _typeof(obj); + } + var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"), REACT_POSTPONE_TYPE = Symbol.for("react.postpone"), REACT_VIEW_TRANSITION_TYPE = Symbol.for("react.view_transition"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator; + function getIteratorFn(maybeIterable) { + if (null === maybeIterable || "object" !== _typeof(maybeIterable)) return null; + maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"]; + return "function" === typeof maybeIterable ? maybeIterable : null; + } + var ReactNoopUpdateQueue = { + isMounted: function isMounted() { + return false; + }, + enqueueForceUpdate: function enqueueForceUpdate() { + }, + enqueueReplaceState: function enqueueReplaceState() { + }, + enqueueSetState: function enqueueSetState() { + } + }, assign = Object.assign, emptyObject = {}; + function Component(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + } + Component.prototype.isReactComponent = {}; + Component.prototype.setState = function(partialState, callback) { + if ("object" !== _typeof(partialState) && "function" !== typeof partialState && null != partialState) throw Error("takes an object of state variables to update or a function which returns an object of state variables."); + this.updater.enqueueSetState(this, partialState, callback, "setState"); + }; + Component.prototype.forceUpdate = function(callback) { + this.updater.enqueueForceUpdate(this, callback, "forceUpdate"); + }; + function ComponentDummy() { + } + ComponentDummy.prototype = Component.prototype; + function PureComponent(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + } + var pureComponentPrototype = PureComponent.prototype = new ComponentDummy(); + pureComponentPrototype.constructor = PureComponent; + assign(pureComponentPrototype, Component.prototype); + pureComponentPrototype.isPureReactComponent = true; + var isArrayImpl = Array.isArray, ReactSharedInternals = { + H: null, + A: null, + T: null, + S: null, + V: null + }, hasOwnProperty = Object.prototype.hasOwnProperty; + function ReactElement(type, key, self, source, owner, props) { + self = props.ref; + return { + $$typeof: REACT_ELEMENT_TYPE, + type, + key, + ref: void 0 !== self ? self : null, + props + }; + } + function cloneAndReplaceKey(oldElement, newKey) { + return ReactElement(oldElement.type, newKey, void 0, void 0, void 0, oldElement.props); + } + function isValidElement(object) { + return "object" === _typeof(object) && null !== object && object.$$typeof === REACT_ELEMENT_TYPE; + } + function escape(key) { + var escaperLookup = { + "=": "=0", + ":": "=2" + }; + return "$" + key.replace(/[=:]/g, function(match) { + return escaperLookup[match]; + }); + } + var userProvidedKeyEscapeRegex = /\/+/g; + function getElementKey(element, index) { + return "object" === _typeof(element) && null !== element && null != element.key ? escape("" + element.key) : index.toString(36); + } + function noop$1() { + } + function resolveThenable(thenable) { + switch (thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenable.reason; + default: + switch ("string" === typeof thenable.status ? thenable.then(noop$1, noop$1) : (thenable.status = "pending", thenable.then(function(fulfilledValue) { + "pending" === thenable.status && (thenable.status = "fulfilled", thenable.value = fulfilledValue); + }, function(error) { + "pending" === thenable.status && (thenable.status = "rejected", thenable.reason = error); + })), thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenable.reason; + } + } + throw thenable; + } + function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) { + var type = _typeof(children); + if ("undefined" === type || "boolean" === type) children = null; + var invokeCallback = false; + if (null === children) invokeCallback = true; + else switch (type) { + case "bigint": + case "string": + case "number": + invokeCallback = true; + break; + case "object": + switch (children.$$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_PORTAL_TYPE: + invokeCallback = true; + break; + case REACT_LAZY_TYPE: + return invokeCallback = children._init, mapIntoArray(invokeCallback(children._payload), array, escapedPrefix, nameSoFar, callback); + } + } + if (invokeCallback) return callback = callback(children), invokeCallback = "" === nameSoFar ? "." + getElementKey(children, 0) : nameSoFar, isArrayImpl(callback) ? (escapedPrefix = "", null != invokeCallback && (escapedPrefix = invokeCallback.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), mapIntoArray(callback, array, escapedPrefix, "", function(c) { + return c; + })) : null != callback && (isValidElement(callback) && (callback = cloneAndReplaceKey(callback, escapedPrefix + (null == callback.key || children && children.key === callback.key ? "" : ("" + callback.key).replace(userProvidedKeyEscapeRegex, "$&/") + "/") + invokeCallback)), array.push(callback)), 1; + invokeCallback = 0; + var nextNamePrefix = "" === nameSoFar ? "." : nameSoFar + ":"; + if (isArrayImpl(children)) for (var i = 0; i < children.length; i++) { + nameSoFar = children[i], type = nextNamePrefix + getElementKey(nameSoFar, i), invokeCallback += mapIntoArray(nameSoFar, array, escapedPrefix, type, callback); + } + else if (i = getIteratorFn(children), "function" === typeof i) for (children = i.call(children), i = 0; !(nameSoFar = children.next()).done; ) { + nameSoFar = nameSoFar.value, type = nextNamePrefix + getElementKey(nameSoFar, i++), invokeCallback += mapIntoArray(nameSoFar, array, escapedPrefix, type, callback); + } + else if ("object" === type) { + if ("function" === typeof children.then) return mapIntoArray(resolveThenable(children), array, escapedPrefix, nameSoFar, callback); + array = String(children); + throw Error("Objects are not valid as a React child (found: " + ("[object Object]" === array ? "object with keys {" + Object.keys(children).join(", ") + "}" : array) + "). If you meant to render a collection of children, use an array instead."); + } + return invokeCallback; + } + function mapChildren(children, func, context) { + if (null == children) return children; + var result = [], count = 0; + mapIntoArray(children, result, "", "", function(child) { + return func.call(context, child, count++); + }); + return result; + } + function lazyInitializer(payload) { + if (-1 === payload._status) { + var ctor = payload._result; + ctor = ctor(); + ctor.then(function(moduleObject) { + if (0 === payload._status || -1 === payload._status) payload._status = 1, payload._result = moduleObject; + }, function(error) { + if (0 === payload._status || -1 === payload._status) payload._status = 2, payload._result = error; + }); + -1 === payload._status && (payload._status = 0, payload._result = ctor); + } + if (1 === payload._status) return payload._result.default; + throw payload._result; + } + function useOptimistic(passthrough, reducer) { + return ReactSharedInternals.H.useOptimistic(passthrough, reducer); + } + var reportGlobalError = "function" === typeof reportError ? reportError : function(error) { + if ("object" === (typeof window === "undefined" ? "undefined" : _typeof(window)) && "function" === typeof window.ErrorEvent) { + var event = new window.ErrorEvent("error", { + bubbles: true, + cancelable: true, + message: "object" === _typeof(error) && null !== error && "string" === typeof error.message ? String(error.message) : String(error), + error + }); + if (!window.dispatchEvent(event)) return; + } else if ("object" === (typeof process2 === "undefined" ? "undefined" : _typeof(process2)) && "function" === typeof process2.emit) { + process2.emit("uncaughtException", error); + return; + } + console.error(error); + }; + function noop() { + } + exports2.Children = { + map: mapChildren, + forEach: function forEach(children, forEachFunc, forEachContext) { + mapChildren(children, function() { + forEachFunc.apply(this, arguments); + }, forEachContext); + }, + count: function count(children) { + var n = 0; + mapChildren(children, function() { + n++; + }); + return n; + }, + toArray: function toArray(children) { + return mapChildren(children, function(child) { + return child; + }) || []; + }, + only: function only(children) { + if (!isValidElement(children)) throw Error("React.Children.only expected to receive a single React element child."); + return children; + } + }; + exports2.Component = Component; + exports2.Fragment = REACT_FRAGMENT_TYPE; + exports2.Profiler = REACT_PROFILER_TYPE; + exports2.PureComponent = PureComponent; + exports2.StrictMode = REACT_STRICT_MODE_TYPE; + exports2.Suspense = REACT_SUSPENSE_TYPE; + exports2.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = ReactSharedInternals; + exports2.__COMPILER_RUNTIME = { + __proto__: null, + c: function c(size) { + return ReactSharedInternals.H.useMemoCache(size); + } + }; + exports2.act = function() { + throw Error("act(...) is not supported in production builds of React."); + }; + exports2.cache = function(fn) { + return function() { + return fn.apply(null, arguments); + }; + }; + exports2.captureOwnerStack = function() { + return null; + }; + exports2.cloneElement = function(element, config, children) { + if (null === element || void 0 === element) throw Error("The argument must be a React element, but you passed " + element + "."); + var props = assign({}, element.props), key = element.key, owner = void 0; + if (null != config) for (propName in void 0 !== config.ref && (owner = void 0), void 0 !== config.key && (key = "" + config.key), config) { + !hasOwnProperty.call(config, propName) || "key" === propName || "__self" === propName || "__source" === propName || "ref" === propName && void 0 === config.ref || (props[propName] = config[propName]); + } + var propName = arguments.length - 2; + if (1 === propName) props.children = children; + else if (1 < propName) { + for (var childArray = Array(propName), i = 0; i < propName; i++) { + childArray[i] = arguments[i + 2]; + } + props.children = childArray; + } + return ReactElement(element.type, key, void 0, void 0, owner, props); + }; + exports2.createContext = function(defaultValue) { + defaultValue = { + $$typeof: REACT_CONTEXT_TYPE, + _currentValue: defaultValue, + _currentValue2: defaultValue, + _threadCount: 0, + Provider: null, + Consumer: null + }; + defaultValue.Provider = defaultValue; + defaultValue.Consumer = { + $$typeof: REACT_CONSUMER_TYPE, + _context: defaultValue + }; + return defaultValue; + }; + exports2.createElement = function(type, config, children) { + var propName, props = {}, key = null; + if (null != config) for (propName in void 0 !== config.key && (key = "" + config.key), config) { + hasOwnProperty.call(config, propName) && "key" !== propName && "__self" !== propName && "__source" !== propName && (props[propName] = config[propName]); + } + var childrenLength = arguments.length - 2; + if (1 === childrenLength) props.children = children; + else if (1 < childrenLength) { + for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++) { + childArray[i] = arguments[i + 2]; + } + props.children = childArray; + } + if (type && type.defaultProps) for (propName in childrenLength = type.defaultProps, childrenLength) { + void 0 === props[propName] && (props[propName] = childrenLength[propName]); + } + return ReactElement(type, key, void 0, void 0, null, props); + }; + exports2.createRef = function() { + return { + current: null + }; + }; + exports2.experimental_useEffectEvent = function(callback) { + return ReactSharedInternals.H.useEffectEvent(callback); + }; + exports2.experimental_useOptimistic = function(passthrough, reducer) { + return useOptimistic(passthrough, reducer); + }; + exports2.experimental_useResourceEffect = void 0; + exports2.forwardRef = function(render) { + return { + $$typeof: REACT_FORWARD_REF_TYPE, + render + }; + }; + exports2.isValidElement = isValidElement; + exports2.lazy = function(ctor) { + return { + $$typeof: REACT_LAZY_TYPE, + _payload: { + _status: -1, + _result: ctor + }, + _init: lazyInitializer + }; + }; + exports2.memo = function(type, compare) { + return { + $$typeof: REACT_MEMO_TYPE, + type, + compare: void 0 === compare ? null : compare + }; + }; + exports2.startTransition = function(scope) { + var prevTransition = ReactSharedInternals.T, currentTransition = {}; + ReactSharedInternals.T = currentTransition; + try { + var returnValue = scope(), onStartTransitionFinish = ReactSharedInternals.S; + null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue); + "object" === _typeof(returnValue) && null !== returnValue && "function" === typeof returnValue.then && returnValue.then(noop, reportGlobalError); + } catch (error) { + reportGlobalError(error); + } finally { + ReactSharedInternals.T = prevTransition; + } + }; + exports2.unstable_Activity = REACT_OFFSCREEN_TYPE; + exports2.unstable_SuspenseList = REACT_SUSPENSE_LIST_TYPE; + exports2.unstable_ViewTransition = REACT_VIEW_TRANSITION_TYPE; + exports2.unstable_addTransitionType = function(type) { + var pendingTransitionTypes = ReactSharedInternals.V; + null === pendingTransitionTypes ? ReactSharedInternals.V = [type] : -1 === pendingTransitionTypes.indexOf(type) && pendingTransitionTypes.push(type); + }; + exports2.unstable_getCacheForType = function(resourceType) { + var dispatcher = ReactSharedInternals.A; + return dispatcher ? dispatcher.getCacheForType(resourceType) : resourceType(); + }; + exports2.unstable_postpone = function(reason) { + reason = Error(reason); + reason.$$typeof = REACT_POSTPONE_TYPE; + throw reason; + }; + exports2.unstable_useCacheRefresh = function() { + return ReactSharedInternals.H.useCacheRefresh(); + }; + exports2.use = function(usable) { + return ReactSharedInternals.H.use(usable); + }; + exports2.useActionState = function(action, initialState, permalink) { + return ReactSharedInternals.H.useActionState(action, initialState, permalink); + }; + exports2.useCallback = function(callback, deps) { + return ReactSharedInternals.H.useCallback(callback, deps); + }; + exports2.useContext = function(Context) { + return ReactSharedInternals.H.useContext(Context); + }; + exports2.useDebugValue = function() { + }; + exports2.useDeferredValue = function(value, initialValue) { + return ReactSharedInternals.H.useDeferredValue(value, initialValue); + }; + exports2.useEffect = function(create, deps) { + return ReactSharedInternals.H.useEffect(create, deps); + }; + exports2.useId = function() { + return ReactSharedInternals.H.useId(); + }; + exports2.useImperativeHandle = function(ref, create, deps) { + return ReactSharedInternals.H.useImperativeHandle(ref, create, deps); + }; + exports2.useInsertionEffect = function(create, deps) { + return ReactSharedInternals.H.useInsertionEffect(create, deps); + }; + exports2.useLayoutEffect = function(create, deps) { + return ReactSharedInternals.H.useLayoutEffect(create, deps); + }; + exports2.useMemo = function(create, deps) { + return ReactSharedInternals.H.useMemo(create, deps); + }; + exports2.useOptimistic = useOptimistic; + exports2.useReducer = function(reducer, initialArg, init) { + return ReactSharedInternals.H.useReducer(reducer, initialArg, init); + }; + exports2.useRef = function(initialValue) { + return ReactSharedInternals.H.useRef(initialValue); + }; + exports2.useState = function(initialState) { + return ReactSharedInternals.H.useState(initialState); + }; + exports2.useSyncExternalStore = function(subscribe, getSnapshot, getServerSnapshot) { + return ReactSharedInternals.H.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot); + }; + exports2.useTransition = function() { + return ReactSharedInternals.H.useTransition(); + }; + exports2.version = "19.1.0-experimental-44c3d3d6-20250207"; + } + ), + /***/ + 189: ( + /***/ + (module2, __unused_webpack_exports, __webpack_require__2) => { + "use strict"; + if (true) { + module2.exports = __webpack_require__2(126); + } else { + } + } + ), + /***/ + 206: ( + /***/ + function(module2, exports2, __webpack_require__2) { + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + function _typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + _typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return _typeof(obj); + } + (function(root, factory) { + "use strict"; + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__2(430)], __WEBPACK_AMD_DEFINE_FACTORY__ = factory, __WEBPACK_AMD_DEFINE_RESULT__ = typeof __WEBPACK_AMD_DEFINE_FACTORY__ === "function" ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports2, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__ !== void 0 && (module2.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else { + } + })(this, function ErrorStackParser(StackFrame) { + "use strict"; + var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\S+:\d+/; + var CHROME_IE_STACK_REGEXP = /^\s*at .*(\S+:\d+|\(native\))/m; + var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\[native code])?$/; + return { + /** + * Given an Error object, extract the most information from it. + * + * @param {Error} error object + * @return {Array} of StackFrames + */ + parse: function ErrorStackParser$$parse(error) { + if (typeof error.stacktrace !== "undefined" || typeof error["opera#sourceloc"] !== "undefined") { + return this.parseOpera(error); + } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) { + return this.parseV8OrIE(error); + } else if (error.stack) { + return this.parseFFOrSafari(error); + } else { + throw new Error("Cannot parse given Error object"); + } + }, + // Separate line and column numbers from a string of the form: (URI:Line:Column) + extractLocation: function ErrorStackParser$$extractLocation(urlLike) { + if (urlLike.indexOf(":") === -1) { + return [urlLike]; + } + var regExp = /(.+?)(?::(\d+))?(?::(\d+))?$/; + var parts = regExp.exec(urlLike.replace(/[()]/g, "")); + return [parts[1], parts[2] || void 0, parts[3] || void 0]; + }, + parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) { + var filtered = error.stack.split("\n").filter(function(line) { + return !!line.match(CHROME_IE_STACK_REGEXP); + }, this); + return filtered.map(function(line) { + if (line.indexOf("(eval ") > -1) { + line = line.replace(/eval code/g, "eval").replace(/(\(eval at [^()]*)|(\),.*$)/g, ""); + } + var sanitizedLine = line.replace(/^\s+/, "").replace(/\(eval code/g, "("); + var location = sanitizedLine.match(/ (\((.+):(\d+):(\d+)\)$)/); + sanitizedLine = location ? sanitizedLine.replace(location[0], "") : sanitizedLine; + var tokens = sanitizedLine.split(/\s+/).slice(1); + var locationParts = this.extractLocation(location ? location[1] : tokens.pop()); + var functionName = tokens.join(" ") || void 0; + var fileName = ["eval", "<anonymous>"].indexOf(locationParts[0]) > -1 ? void 0 : locationParts[0]; + return new StackFrame({ + functionName, + fileName, + lineNumber: locationParts[1], + columnNumber: locationParts[2], + source: line + }); + }, this); + }, + parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) { + var filtered = error.stack.split("\n").filter(function(line) { + return !line.match(SAFARI_NATIVE_CODE_REGEXP); + }, this); + return filtered.map(function(line) { + if (line.indexOf(" > eval") > -1) { + line = line.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g, ":$1"); + } + if (line.indexOf("@") === -1 && line.indexOf(":") === -1) { + return new StackFrame({ + functionName: line + }); + } else { + var functionNameRegex = /((.*".+"[^@]*)?[^@]*)(?:@)/; + var matches = line.match(functionNameRegex); + var functionName = matches && matches[1] ? matches[1] : void 0; + var locationParts = this.extractLocation(line.replace(functionNameRegex, "")); + return new StackFrame({ + functionName, + fileName: locationParts[0], + lineNumber: locationParts[1], + columnNumber: locationParts[2], + source: line + }); + } + }, this); + }, + parseOpera: function ErrorStackParser$$parseOpera(e) { + if (!e.stacktrace || e.message.indexOf("\n") > -1 && e.message.split("\n").length > e.stacktrace.split("\n").length) { + return this.parseOpera9(e); + } else if (!e.stack) { + return this.parseOpera10(e); + } else { + return this.parseOpera11(e); + } + }, + parseOpera9: function ErrorStackParser$$parseOpera9(e) { + var lineRE = /Line (\d+).*script (?:in )?(\S+)/i; + var lines = e.message.split("\n"); + var result = []; + for (var i = 2, len = lines.length; i < len; i += 2) { + var match = lineRE.exec(lines[i]); + if (match) { + result.push(new StackFrame({ + fileName: match[2], + lineNumber: match[1], + source: lines[i] + })); + } + } + return result; + }, + parseOpera10: function ErrorStackParser$$parseOpera10(e) { + var lineRE = /Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i; + var lines = e.stacktrace.split("\n"); + var result = []; + for (var i = 0, len = lines.length; i < len; i += 2) { + var match = lineRE.exec(lines[i]); + if (match) { + result.push(new StackFrame({ + functionName: match[3] || void 0, + fileName: match[2], + lineNumber: match[1], + source: lines[i] + })); + } + } + return result; + }, + // Opera 10.65+ Error.stack very similar to FF/Safari + parseOpera11: function ErrorStackParser$$parseOpera11(error) { + var filtered = error.stack.split("\n").filter(function(line) { + return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/); + }, this); + return filtered.map(function(line) { + var tokens = line.split("@"); + var locationParts = this.extractLocation(tokens.pop()); + var functionCall = tokens.shift() || ""; + var functionName = functionCall.replace(/<anonymous function(: (\w+))?>/, "$2").replace(/\([^)]*\)/g, "") || void 0; + var argsRaw; + if (functionCall.match(/\(([^)]*)\)/)) { + argsRaw = functionCall.replace(/^[^(]+\(([^)]*)\)$/, "$1"); + } + var args = argsRaw === void 0 || argsRaw === "[arguments not available]" ? void 0 : argsRaw.split(","); + return new StackFrame({ + functionName, + args, + fileName: locationParts[0], + lineNumber: locationParts[1], + columnNumber: locationParts[2], + source: line + }); + }, this); + } + }; + }); + } + ), + /***/ + 730: ( + /***/ + (module2, __unused_webpack_exports, __webpack_require__2) => { + "use strict"; + var process2 = __webpack_require__2(169); + module2.exports = LRUCache; + var Map2 = __webpack_require__2(307); + var util = __webpack_require__2(82); + var Yallist = __webpack_require__2(695); + var hasSymbol = typeof Symbol === "function" && process2.env._nodeLRUCacheForceNoSymbol !== "1"; + var makeSymbol; + if (hasSymbol) { + makeSymbol = function makeSymbol2(key) { + return Symbol(key); + }; + } else { + makeSymbol = function makeSymbol2(key) { + return "_" + key; + }; + } + var MAX = makeSymbol("max"); + var LENGTH = makeSymbol("length"); + var LENGTH_CALCULATOR = makeSymbol("lengthCalculator"); + var ALLOW_STALE = makeSymbol("allowStale"); + var MAX_AGE = makeSymbol("maxAge"); + var DISPOSE = makeSymbol("dispose"); + var NO_DISPOSE_ON_SET = makeSymbol("noDisposeOnSet"); + var LRU_LIST = makeSymbol("lruList"); + var CACHE = makeSymbol("cache"); + function naiveLength() { + return 1; + } + function LRUCache(options) { + if (!(this instanceof LRUCache)) { + return new LRUCache(options); + } + if (typeof options === "number") { + options = { + max: options + }; + } + if (!options) { + options = {}; + } + var max = this[MAX] = options.max; + if (!max || !(typeof max === "number") || max <= 0) { + this[MAX] = Infinity; + } + var lc = options.length || naiveLength; + if (typeof lc !== "function") { + lc = naiveLength; + } + this[LENGTH_CALCULATOR] = lc; + this[ALLOW_STALE] = options.stale || false; + this[MAX_AGE] = options.maxAge || 0; + this[DISPOSE] = options.dispose; + this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false; + this.reset(); + } + Object.defineProperty(LRUCache.prototype, "max", { + set: function set(mL) { + if (!mL || !(typeof mL === "number") || mL <= 0) { + mL = Infinity; + } + this[MAX] = mL; + trim(this); + }, + get: function get2() { + return this[MAX]; + }, + enumerable: true + }); + Object.defineProperty(LRUCache.prototype, "allowStale", { + set: function set(allowStale) { + this[ALLOW_STALE] = !!allowStale; + }, + get: function get2() { + return this[ALLOW_STALE]; + }, + enumerable: true + }); + Object.defineProperty(LRUCache.prototype, "maxAge", { + set: function set(mA) { + if (!mA || !(typeof mA === "number") || mA < 0) { + mA = 0; + } + this[MAX_AGE] = mA; + trim(this); + }, + get: function get2() { + return this[MAX_AGE]; + }, + enumerable: true + }); + Object.defineProperty(LRUCache.prototype, "lengthCalculator", { + set: function set(lC) { + if (typeof lC !== "function") { + lC = naiveLength; + } + if (lC !== this[LENGTH_CALCULATOR]) { + this[LENGTH_CALCULATOR] = lC; + this[LENGTH] = 0; + this[LRU_LIST].forEach(function(hit) { + hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key); + this[LENGTH] += hit.length; + }, this); + } + trim(this); + }, + get: function get2() { + return this[LENGTH_CALCULATOR]; + }, + enumerable: true + }); + Object.defineProperty(LRUCache.prototype, "length", { + get: function get2() { + return this[LENGTH]; + }, + enumerable: true + }); + Object.defineProperty(LRUCache.prototype, "itemCount", { + get: function get2() { + return this[LRU_LIST].length; + }, + enumerable: true + }); + LRUCache.prototype.rforEach = function(fn, thisp) { + thisp = thisp || this; + for (var walker = this[LRU_LIST].tail; walker !== null; ) { + var prev = walker.prev; + forEachStep(this, fn, walker, thisp); + walker = prev; + } + }; + function forEachStep(self, fn, node, thisp) { + var hit = node.value; + if (isStale(self, hit)) { + del(self, node); + if (!self[ALLOW_STALE]) { + hit = void 0; + } + } + if (hit) { + fn.call(thisp, hit.value, hit.key, self); + } + } + LRUCache.prototype.forEach = function(fn, thisp) { + thisp = thisp || this; + for (var walker = this[LRU_LIST].head; walker !== null; ) { + var next = walker.next; + forEachStep(this, fn, walker, thisp); + walker = next; + } + }; + LRUCache.prototype.keys = function() { + return this[LRU_LIST].toArray().map(function(k) { + return k.key; + }, this); + }; + LRUCache.prototype.values = function() { + return this[LRU_LIST].toArray().map(function(k) { + return k.value; + }, this); + }; + LRUCache.prototype.reset = function() { + if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) { + this[LRU_LIST].forEach(function(hit) { + this[DISPOSE](hit.key, hit.value); + }, this); + } + this[CACHE] = new Map2(); + this[LRU_LIST] = new Yallist(); + this[LENGTH] = 0; + }; + LRUCache.prototype.dump = function() { + return this[LRU_LIST].map(function(hit) { + if (!isStale(this, hit)) { + return { + k: hit.key, + v: hit.value, + e: hit.now + (hit.maxAge || 0) + }; + } + }, this).toArray().filter(function(h) { + return h; + }); + }; + LRUCache.prototype.dumpLru = function() { + return this[LRU_LIST]; + }; + LRUCache.prototype.inspect = function(n, opts) { + var str = "LRUCache {"; + var extras = false; + var as = this[ALLOW_STALE]; + if (as) { + str += "\n allowStale: true"; + extras = true; + } + var max = this[MAX]; + if (max && max !== Infinity) { + if (extras) { + str += ","; + } + str += "\n max: " + util.inspect(max, opts); + extras = true; + } + var maxAge = this[MAX_AGE]; + if (maxAge) { + if (extras) { + str += ","; + } + str += "\n maxAge: " + util.inspect(maxAge, opts); + extras = true; + } + var lc = this[LENGTH_CALCULATOR]; + if (lc && lc !== naiveLength) { + if (extras) { + str += ","; + } + str += "\n length: " + util.inspect(this[LENGTH], opts); + extras = true; + } + var didFirst = false; + this[LRU_LIST].forEach(function(item) { + if (didFirst) { + str += ",\n "; + } else { + if (extras) { + str += ",\n"; + } + didFirst = true; + str += "\n "; + } + var key = util.inspect(item.key).split("\n").join("\n "); + var val = { + value: item.value + }; + if (item.maxAge !== maxAge) { + val.maxAge = item.maxAge; + } + if (lc !== naiveLength) { + val.length = item.length; + } + if (isStale(this, item)) { + val.stale = true; + } + val = util.inspect(val, opts).split("\n").join("\n "); + str += key + " => " + val; + }); + if (didFirst || extras) { + str += "\n"; + } + str += "}"; + return str; + }; + LRUCache.prototype.set = function(key, value, maxAge) { + maxAge = maxAge || this[MAX_AGE]; + var now = maxAge ? Date.now() : 0; + var len = this[LENGTH_CALCULATOR](value, key); + if (this[CACHE].has(key)) { + if (len > this[MAX]) { + del(this, this[CACHE].get(key)); + return false; + } + var node = this[CACHE].get(key); + var item = node.value; + if (this[DISPOSE]) { + if (!this[NO_DISPOSE_ON_SET]) { + this[DISPOSE](key, item.value); + } + } + item.now = now; + item.maxAge = maxAge; + item.value = value; + this[LENGTH] += len - item.length; + item.length = len; + this.get(key); + trim(this); + return true; + } + var hit = new Entry(key, value, len, now, maxAge); + if (hit.length > this[MAX]) { + if (this[DISPOSE]) { + this[DISPOSE](key, value); + } + return false; + } + this[LENGTH] += hit.length; + this[LRU_LIST].unshift(hit); + this[CACHE].set(key, this[LRU_LIST].head); + trim(this); + return true; + }; + LRUCache.prototype.has = function(key) { + if (!this[CACHE].has(key)) return false; + var hit = this[CACHE].get(key).value; + if (isStale(this, hit)) { + return false; + } + return true; + }; + LRUCache.prototype.get = function(key) { + return get(this, key, true); + }; + LRUCache.prototype.peek = function(key) { + return get(this, key, false); + }; + LRUCache.prototype.pop = function() { + var node = this[LRU_LIST].tail; + if (!node) return null; + del(this, node); + return node.value; + }; + LRUCache.prototype.del = function(key) { + del(this, this[CACHE].get(key)); + }; + LRUCache.prototype.load = function(arr) { + this.reset(); + var now = Date.now(); + for (var l = arr.length - 1; l >= 0; l--) { + var hit = arr[l]; + var expiresAt = hit.e || 0; + if (expiresAt === 0) { + this.set(hit.k, hit.v); + } else { + var maxAge = expiresAt - now; + if (maxAge > 0) { + this.set(hit.k, hit.v, maxAge); + } + } + } + }; + LRUCache.prototype.prune = function() { + var self = this; + this[CACHE].forEach(function(value, key) { + get(self, key, false); + }); + }; + function get(self, key, doUse) { + var node = self[CACHE].get(key); + if (node) { + var hit = node.value; + if (isStale(self, hit)) { + del(self, node); + if (!self[ALLOW_STALE]) hit = void 0; + } else { + if (doUse) { + self[LRU_LIST].unshiftNode(node); + } + } + if (hit) hit = hit.value; + } + return hit; + } + function isStale(self, hit) { + if (!hit || !hit.maxAge && !self[MAX_AGE]) { + return false; + } + var stale = false; + var diff = Date.now() - hit.now; + if (hit.maxAge) { + stale = diff > hit.maxAge; + } else { + stale = self[MAX_AGE] && diff > self[MAX_AGE]; + } + return stale; + } + function trim(self) { + if (self[LENGTH] > self[MAX]) { + for (var walker = self[LRU_LIST].tail; self[LENGTH] > self[MAX] && walker !== null; ) { + var prev = walker.prev; + del(self, walker); + walker = prev; + } + } + } + function del(self, node) { + if (node) { + var hit = node.value; + if (self[DISPOSE]) { + self[DISPOSE](hit.key, hit.value); + } + self[LENGTH] -= hit.length; + self[CACHE].delete(hit.key); + self[LRU_LIST].removeNode(node); + } + } + function Entry(key, value, length, now, maxAge) { + this.key = key; + this.value = value; + this.length = length; + this.now = now; + this.maxAge = maxAge || 0; + } + } + ), + /***/ + 169: ( + /***/ + (module2) => { + var process2 = module2.exports = {}; + var cachedSetTimeout; + var cachedClearTimeout; + function defaultSetTimout() { + throw new Error("setTimeout has not been defined"); + } + function defaultClearTimeout() { + throw new Error("clearTimeout has not been defined"); + } + (function() { + try { + if (typeof setTimeout === "function") { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === "function") { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } + })(); + function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + return setTimeout(fun, 0); + } + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + return cachedSetTimeout(fun, 0); + } catch (e) { + try { + return cachedSetTimeout.call(null, fun, 0); + } catch (e2) { + return cachedSetTimeout.call(this, fun, 0); + } + } + } + function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + return clearTimeout(marker); + } + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + return cachedClearTimeout(marker); + } catch (e) { + try { + return cachedClearTimeout.call(null, marker); + } catch (e2) { + return cachedClearTimeout.call(this, marker); + } + } + } + var queue = []; + var draining = false; + var currentQueue; + var queueIndex = -1; + function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } + } + function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + var len = queue.length; + while (len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); + } + process2.nextTick = function(fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } + }; + function Item(fun, array) { + this.fun = fun; + this.array = array; + } + Item.prototype.run = function() { + this.fun.apply(null, this.array); + }; + process2.title = "browser"; + process2.browser = true; + process2.env = {}; + process2.argv = []; + process2.version = ""; + process2.versions = {}; + function noop() { + } + process2.on = noop; + process2.addListener = noop; + process2.once = noop; + process2.off = noop; + process2.removeListener = noop; + process2.removeAllListeners = noop; + process2.emit = noop; + process2.prependListener = noop; + process2.prependOnceListener = noop; + process2.listeners = function(name) { + return []; + }; + process2.binding = function(name) { + throw new Error("process.binding is not supported"); + }; + process2.cwd = function() { + return "/"; + }; + process2.chdir = function(dir) { + throw new Error("process.chdir is not supported"); + }; + process2.umask = function() { + return 0; + }; + } + ), + /***/ + 307: ( + /***/ + (module2, __unused_webpack_exports, __webpack_require__2) => { + var process2 = __webpack_require__2(169); + if (process2.env.npm_package_name === "pseudomap" && process2.env.npm_lifecycle_script === "test") process2.env.TEST_PSEUDOMAP = "true"; + if (typeof Map === "function" && !process2.env.TEST_PSEUDOMAP) { + module2.exports = Map; + } else { + module2.exports = __webpack_require__2(761); + } + } + ), + /***/ + 761: ( + /***/ + (module2) => { + var hasOwnProperty = Object.prototype.hasOwnProperty; + module2.exports = PseudoMap; + function PseudoMap(set2) { + if (!(this instanceof PseudoMap)) + throw new TypeError("Constructor PseudoMap requires 'new'"); + this.clear(); + if (set2) { + if (set2 instanceof PseudoMap || typeof Map === "function" && set2 instanceof Map) set2.forEach(function(value, key) { + this.set(key, value); + }, this); + else if (Array.isArray(set2)) set2.forEach(function(kv) { + this.set(kv[0], kv[1]); + }, this); + else throw new TypeError("invalid argument"); + } + } + PseudoMap.prototype.forEach = function(fn, thisp) { + thisp = thisp || this; + Object.keys(this._data).forEach(function(k) { + if (k !== "size") fn.call(thisp, this._data[k].value, this._data[k].key); + }, this); + }; + PseudoMap.prototype.has = function(k) { + return !!find(this._data, k); + }; + PseudoMap.prototype.get = function(k) { + var res = find(this._data, k); + return res && res.value; + }; + PseudoMap.prototype.set = function(k, v) { + set(this._data, k, v); + }; + PseudoMap.prototype.delete = function(k) { + var res = find(this._data, k); + if (res) { + delete this._data[res._index]; + this._data.size--; + } + }; + PseudoMap.prototype.clear = function() { + var data = /* @__PURE__ */ Object.create(null); + data.size = 0; + Object.defineProperty(this, "_data", { + value: data, + enumerable: false, + configurable: true, + writable: false + }); + }; + Object.defineProperty(PseudoMap.prototype, "size", { + get: function get() { + return this._data.size; + }, + set: function set2(n) { + }, + enumerable: true, + configurable: true + }); + PseudoMap.prototype.values = PseudoMap.prototype.keys = PseudoMap.prototype.entries = function() { + throw new Error("iterators are not implemented in this version"); + }; + function same(a, b) { + return a === b || a !== a && b !== b; + } + function Entry(k, v, i) { + this.key = k; + this.value = v; + this._index = i; + } + function find(data, k) { + for (var i = 0, s = "_" + k, key = s; hasOwnProperty.call(data, key); key = s + i++) { + if (same(data[key].key, k)) return data[key]; + } + } + function set(data, k, v) { + for (var i = 0, s = "_" + k, key = s; hasOwnProperty.call(data, key); key = s + i++) { + if (same(data[key].key, k)) { + data[key].value = v; + return; + } + } + data.size++; + data[key] = new Entry(k, v, key); + } + } + ), + /***/ + 430: ( + /***/ + function(module2, exports2) { + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + function _typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + _typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return _typeof(obj); + } + (function(root, factory) { + "use strict"; + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = factory, __WEBPACK_AMD_DEFINE_RESULT__ = typeof __WEBPACK_AMD_DEFINE_FACTORY__ === "function" ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports2, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__ !== void 0 && (module2.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else { + } + })(this, function() { + "use strict"; + function _isNumber(n) { + return !isNaN(parseFloat(n)) && isFinite(n); + } + function _capitalize(str) { + return str.charAt(0).toUpperCase() + str.substring(1); + } + function _getter(p) { + return function() { + return this[p]; + }; + } + var booleanProps = ["isConstructor", "isEval", "isNative", "isToplevel"]; + var numericProps = ["columnNumber", "lineNumber"]; + var stringProps = ["fileName", "functionName", "source"]; + var arrayProps = ["args"]; + var props = booleanProps.concat(numericProps, stringProps, arrayProps); + function StackFrame(obj) { + if (!obj) return; + for (var i2 = 0; i2 < props.length; i2++) { + if (obj[props[i2]] !== void 0) { + this["set" + _capitalize(props[i2])](obj[props[i2]]); + } + } + } + StackFrame.prototype = { + getArgs: function getArgs() { + return this.args; + }, + setArgs: function setArgs(v) { + if (Object.prototype.toString.call(v) !== "[object Array]") { + throw new TypeError("Args must be an Array"); + } + this.args = v; + }, + getEvalOrigin: function getEvalOrigin() { + return this.evalOrigin; + }, + setEvalOrigin: function setEvalOrigin(v) { + if (v instanceof StackFrame) { + this.evalOrigin = v; + } else if (v instanceof Object) { + this.evalOrigin = new StackFrame(v); + } else { + throw new TypeError("Eval Origin must be an Object or StackFrame"); + } + }, + toString: function toString() { + var fileName = this.getFileName() || ""; + var lineNumber = this.getLineNumber() || ""; + var columnNumber = this.getColumnNumber() || ""; + var functionName = this.getFunctionName() || ""; + if (this.getIsEval()) { + if (fileName) { + return "[eval] (" + fileName + ":" + lineNumber + ":" + columnNumber + ")"; + } + return "[eval]:" + lineNumber + ":" + columnNumber; + } + if (functionName) { + return functionName + " (" + fileName + ":" + lineNumber + ":" + columnNumber + ")"; + } + return fileName + ":" + lineNumber + ":" + columnNumber; + } + }; + StackFrame.fromString = function StackFrame$$fromString(str) { + var argsStartIndex = str.indexOf("("); + var argsEndIndex = str.lastIndexOf(")"); + var functionName = str.substring(0, argsStartIndex); + var args = str.substring(argsStartIndex + 1, argsEndIndex).split(","); + var locationString = str.substring(argsEndIndex + 1); + if (locationString.indexOf("@") === 0) { + var parts = /@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(locationString, ""); + var fileName = parts[1]; + var lineNumber = parts[2]; + var columnNumber = parts[3]; + } + return new StackFrame({ + functionName, + args: args || void 0, + fileName, + lineNumber: lineNumber || void 0, + columnNumber: columnNumber || void 0 + }); + }; + for (var i = 0; i < booleanProps.length; i++) { + StackFrame.prototype["get" + _capitalize(booleanProps[i])] = _getter(booleanProps[i]); + StackFrame.prototype["set" + _capitalize(booleanProps[i])] = /* @__PURE__ */ function(p) { + return function(v) { + this[p] = Boolean(v); + }; + }(booleanProps[i]); + } + for (var j = 0; j < numericProps.length; j++) { + StackFrame.prototype["get" + _capitalize(numericProps[j])] = _getter(numericProps[j]); + StackFrame.prototype["set" + _capitalize(numericProps[j])] = /* @__PURE__ */ function(p) { + return function(v) { + if (!_isNumber(v)) { + throw new TypeError(p + " must be a Number"); + } + this[p] = Number(v); + }; + }(numericProps[j]); + } + for (var k = 0; k < stringProps.length; k++) { + StackFrame.prototype["get" + _capitalize(stringProps[k])] = _getter(stringProps[k]); + StackFrame.prototype["set" + _capitalize(stringProps[k])] = /* @__PURE__ */ function(p) { + return function(v) { + this[p] = String(v); + }; + }(stringProps[k]); + } + return StackFrame; + }); + } + ), + /***/ + 718: ( + /***/ + (module2) => { + if (typeof Object.create === "function") { + module2.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor; + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; + } else { + module2.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor; + var TempCtor = function TempCtor2() { + }; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + }; + } + } + ), + /***/ + 715: ( + /***/ + (module2) => { + function _typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + _typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return _typeof(obj); + } + module2.exports = function isBuffer(arg) { + return arg && _typeof(arg) === "object" && typeof arg.copy === "function" && typeof arg.fill === "function" && typeof arg.readUInt8 === "function"; + }; + } + ), + /***/ + 82: ( + /***/ + (__unused_webpack_module, exports2, __webpack_require__2) => { + var process2 = __webpack_require__2(169); + function _typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + _typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return _typeof(obj); + } + var formatRegExp = /%[sdj%]/g; + exports2.format = function(f) { + if (!isString(f)) { + var objects = []; + for (var i = 0; i < arguments.length; i++) { + objects.push(inspect(arguments[i])); + } + return objects.join(" "); + } + var i = 1; + var args = arguments; + var len = args.length; + var str = String(f).replace(formatRegExp, function(x2) { + if (x2 === "%%") return "%"; + if (i >= len) return x2; + switch (x2) { + case "%s": + return String(args[i++]); + case "%d": + return Number(args[i++]); + case "%j": + try { + return JSON.stringify(args[i++]); + } catch (_) { + return "[Circular]"; + } + default: + return x2; + } + }); + for (var x = args[i]; i < len; x = args[++i]) { + if (isNull(x) || !isObject(x)) { + str += " " + x; + } else { + str += " " + inspect(x); + } + } + return str; + }; + exports2.deprecate = function(fn, msg) { + if (isUndefined(global.process)) { + return function() { + return exports2.deprecate(fn, msg).apply(this, arguments); + }; + } + if (process2.noDeprecation === true) { + return fn; + } + var warned = false; + function deprecated() { + if (!warned) { + if (process2.throwDeprecation) { + throw new Error(msg); + } else if (process2.traceDeprecation) { + console.trace(msg); + } else { + console.error(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } + return deprecated; + }; + var debugs = {}; + var debugEnviron; + exports2.debuglog = function(set) { + if (isUndefined(debugEnviron)) debugEnviron = process2.env.NODE_DEBUG || ""; + set = set.toUpperCase(); + if (!debugs[set]) { + if (new RegExp("\\b" + set + "\\b", "i").test(debugEnviron)) { + var pid = process2.pid; + debugs[set] = function() { + var msg = exports2.format.apply(exports2, arguments); + console.error("%s %d: %s", set, pid, msg); + }; + } else { + debugs[set] = function() { + }; + } + } + return debugs[set]; + }; + function inspect(obj, opts) { + var ctx = { + seen: [], + stylize: stylizeNoColor + }; + if (arguments.length >= 3) ctx.depth = arguments[2]; + if (arguments.length >= 4) ctx.colors = arguments[3]; + if (isBoolean(opts)) { + ctx.showHidden = opts; + } else if (opts) { + exports2._extend(ctx, opts); + } + if (isUndefined(ctx.showHidden)) ctx.showHidden = false; + if (isUndefined(ctx.depth)) ctx.depth = 2; + if (isUndefined(ctx.colors)) ctx.colors = false; + if (isUndefined(ctx.customInspect)) ctx.customInspect = true; + if (ctx.colors) ctx.stylize = stylizeWithColor; + return formatValue(ctx, obj, ctx.depth); + } + exports2.inspect = inspect; + inspect.colors = { + "bold": [1, 22], + "italic": [3, 23], + "underline": [4, 24], + "inverse": [7, 27], + "white": [37, 39], + "grey": [90, 39], + "black": [30, 39], + "blue": [34, 39], + "cyan": [36, 39], + "green": [32, 39], + "magenta": [35, 39], + "red": [31, 39], + "yellow": [33, 39] + }; + inspect.styles = { + "special": "cyan", + "number": "yellow", + "boolean": "yellow", + "undefined": "grey", + "null": "bold", + "string": "green", + "date": "magenta", + // "name": intentionally not styling + "regexp": "red" + }; + function stylizeWithColor(str, styleType) { + var style = inspect.styles[styleType]; + if (style) { + return "\x1B[" + inspect.colors[style][0] + "m" + str + "\x1B[" + inspect.colors[style][1] + "m"; + } else { + return str; + } + } + function stylizeNoColor(str, styleType) { + return str; + } + function arrayToHash(array) { + var hash = {}; + array.forEach(function(val, idx) { + hash[val] = true; + }); + return hash; + } + function formatValue(ctx, value, recurseTimes) { + if (ctx.customInspect && value && isFunction(value.inspect) && // Filter out the util module, it's inspect function is special + value.inspect !== exports2.inspect && // Also filter out any prototype objects using the circular check. + !(value.constructor && value.constructor.prototype === value)) { + var ret = value.inspect(recurseTimes, ctx); + if (!isString(ret)) { + ret = formatValue(ctx, ret, recurseTimes); + } + return ret; + } + var primitive = formatPrimitive(ctx, value); + if (primitive) { + return primitive; + } + var keys = Object.keys(value); + var visibleKeys = arrayToHash(keys); + if (ctx.showHidden) { + keys = Object.getOwnPropertyNames(value); + } + if (isError(value) && (keys.indexOf("message") >= 0 || keys.indexOf("description") >= 0)) { + return formatError(value); + } + if (keys.length === 0) { + if (isFunction(value)) { + var name = value.name ? ": " + value.name : ""; + return ctx.stylize("[Function" + name + "]", "special"); + } + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), "regexp"); + } + if (isDate(value)) { + return ctx.stylize(Date.prototype.toString.call(value), "date"); + } + if (isError(value)) { + return formatError(value); + } + } + var base = "", array = false, braces = ["{", "}"]; + if (isArray(value)) { + array = true; + braces = ["[", "]"]; + } + if (isFunction(value)) { + var n = value.name ? ": " + value.name : ""; + base = " [Function" + n + "]"; + } + if (isRegExp(value)) { + base = " " + RegExp.prototype.toString.call(value); + } + if (isDate(value)) { + base = " " + Date.prototype.toUTCString.call(value); + } + if (isError(value)) { + base = " " + formatError(value); + } + if (keys.length === 0 && (!array || value.length == 0)) { + return braces[0] + base + braces[1]; + } + if (recurseTimes < 0) { + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), "regexp"); + } else { + return ctx.stylize("[Object]", "special"); + } + } + ctx.seen.push(value); + var output; + if (array) { + output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); + } else { + output = keys.map(function(key) { + return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); + }); + } + ctx.seen.pop(); + return reduceToSingleString(output, base, braces); + } + function formatPrimitive(ctx, value) { + if (isUndefined(value)) return ctx.stylize("undefined", "undefined"); + if (isString(value)) { + var simple = "'" + JSON.stringify(value).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'"; + return ctx.stylize(simple, "string"); + } + if (isNumber(value)) return ctx.stylize("" + value, "number"); + if (isBoolean(value)) return ctx.stylize("" + value, "boolean"); + if (isNull(value)) return ctx.stylize("null", "null"); + } + function formatError(value) { + return "[" + Error.prototype.toString.call(value) + "]"; + } + function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { + var output = []; + for (var i = 0, l = value.length; i < l; ++i) { + if (hasOwnProperty(value, String(i))) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true)); + } else { + output.push(""); + } + } + keys.forEach(function(key) { + if (!key.match(/^\d+$/)) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true)); + } + }); + return output; + } + function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { + var name, str, desc; + desc = Object.getOwnPropertyDescriptor(value, key) || { + value: value[key] + }; + if (desc.get) { + if (desc.set) { + str = ctx.stylize("[Getter/Setter]", "special"); + } else { + str = ctx.stylize("[Getter]", "special"); + } + } else { + if (desc.set) { + str = ctx.stylize("[Setter]", "special"); + } + } + if (!hasOwnProperty(visibleKeys, key)) { + name = "[" + key + "]"; + } + if (!str) { + if (ctx.seen.indexOf(desc.value) < 0) { + if (isNull(recurseTimes)) { + str = formatValue(ctx, desc.value, null); + } else { + str = formatValue(ctx, desc.value, recurseTimes - 1); + } + if (str.indexOf("\n") > -1) { + if (array) { + str = str.split("\n").map(function(line) { + return " " + line; + }).join("\n").substr(2); + } else { + str = "\n" + str.split("\n").map(function(line) { + return " " + line; + }).join("\n"); + } + } + } else { + str = ctx.stylize("[Circular]", "special"); + } + } + if (isUndefined(name)) { + if (array && key.match(/^\d+$/)) { + return str; + } + name = JSON.stringify("" + key); + if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { + name = name.substr(1, name.length - 2); + name = ctx.stylize(name, "name"); + } else { + name = name.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"); + name = ctx.stylize(name, "string"); + } + } + return name + ": " + str; + } + function reduceToSingleString(output, base, braces) { + var numLinesEst = 0; + var length = output.reduce(function(prev, cur) { + numLinesEst++; + if (cur.indexOf("\n") >= 0) numLinesEst++; + return prev + cur.replace(/\u001b\[\d\d?m/g, "").length + 1; + }, 0); + if (length > 60) { + return braces[0] + (base === "" ? "" : base + "\n ") + " " + output.join(",\n ") + " " + braces[1]; + } + return braces[0] + base + " " + output.join(", ") + " " + braces[1]; + } + function isArray(ar) { + return Array.isArray(ar); + } + exports2.isArray = isArray; + function isBoolean(arg) { + return typeof arg === "boolean"; + } + exports2.isBoolean = isBoolean; + function isNull(arg) { + return arg === null; + } + exports2.isNull = isNull; + function isNullOrUndefined(arg) { + return arg == null; + } + exports2.isNullOrUndefined = isNullOrUndefined; + function isNumber(arg) { + return typeof arg === "number"; + } + exports2.isNumber = isNumber; + function isString(arg) { + return typeof arg === "string"; + } + exports2.isString = isString; + function isSymbol(arg) { + return _typeof(arg) === "symbol"; + } + exports2.isSymbol = isSymbol; + function isUndefined(arg) { + return arg === void 0; + } + exports2.isUndefined = isUndefined; + function isRegExp(re) { + return isObject(re) && objectToString(re) === "[object RegExp]"; + } + exports2.isRegExp = isRegExp; + function isObject(arg) { + return _typeof(arg) === "object" && arg !== null; + } + exports2.isObject = isObject; + function isDate(d) { + return isObject(d) && objectToString(d) === "[object Date]"; + } + exports2.isDate = isDate; + function isError(e) { + return isObject(e) && (objectToString(e) === "[object Error]" || e instanceof Error); + } + exports2.isError = isError; + function isFunction(arg) { + return typeof arg === "function"; + } + exports2.isFunction = isFunction; + function isPrimitive(arg) { + return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || _typeof(arg) === "symbol" || // ES6 symbol + typeof arg === "undefined"; + } + exports2.isPrimitive = isPrimitive; + exports2.isBuffer = __webpack_require__2(715); + function objectToString(o) { + return Object.prototype.toString.call(o); + } + function pad(n) { + return n < 10 ? "0" + n.toString(10) : n.toString(10); + } + var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; + function timestamp() { + var d = /* @__PURE__ */ new Date(); + var time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(":"); + return [d.getDate(), months[d.getMonth()], time].join(" "); + } + exports2.log = function() { + console.log("%s - %s", timestamp(), exports2.format.apply(exports2, arguments)); + }; + exports2.inherits = __webpack_require__2(718); + exports2._extend = function(origin, add) { + if (!add || !isObject(add)) return origin; + var keys = Object.keys(add); + var i = keys.length; + while (i--) { + origin[keys[i]] = add[keys[i]]; + } + return origin; + }; + function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); + } + } + ), + /***/ + 695: ( + /***/ + (module2) => { + module2.exports = Yallist; + Yallist.Node = Node2; + Yallist.create = Yallist; + function Yallist(list) { + var self = this; + if (!(self instanceof Yallist)) { + self = new Yallist(); + } + self.tail = null; + self.head = null; + self.length = 0; + if (list && typeof list.forEach === "function") { + list.forEach(function(item) { + self.push(item); + }); + } else if (arguments.length > 0) { + for (var i = 0, l = arguments.length; i < l; i++) { + self.push(arguments[i]); + } + } + return self; + } + Yallist.prototype.removeNode = function(node) { + if (node.list !== this) { + throw new Error("removing node which does not belong to this list"); + } + var next = node.next; + var prev = node.prev; + if (next) { + next.prev = prev; + } + if (prev) { + prev.next = next; + } + if (node === this.head) { + this.head = next; + } + if (node === this.tail) { + this.tail = prev; + } + node.list.length--; + node.next = null; + node.prev = null; + node.list = null; + }; + Yallist.prototype.unshiftNode = function(node) { + if (node === this.head) { + return; + } + if (node.list) { + node.list.removeNode(node); + } + var head = this.head; + node.list = this; + node.next = head; + if (head) { + head.prev = node; + } + this.head = node; + if (!this.tail) { + this.tail = node; + } + this.length++; + }; + Yallist.prototype.pushNode = function(node) { + if (node === this.tail) { + return; + } + if (node.list) { + node.list.removeNode(node); + } + var tail = this.tail; + node.list = this; + node.prev = tail; + if (tail) { + tail.next = node; + } + this.tail = node; + if (!this.head) { + this.head = node; + } + this.length++; + }; + Yallist.prototype.push = function() { + for (var i = 0, l = arguments.length; i < l; i++) { + push(this, arguments[i]); + } + return this.length; + }; + Yallist.prototype.unshift = function() { + for (var i = 0, l = arguments.length; i < l; i++) { + unshift(this, arguments[i]); + } + return this.length; + }; + Yallist.prototype.pop = function() { + if (!this.tail) { + return void 0; + } + var res = this.tail.value; + this.tail = this.tail.prev; + if (this.tail) { + this.tail.next = null; + } else { + this.head = null; + } + this.length--; + return res; + }; + Yallist.prototype.shift = function() { + if (!this.head) { + return void 0; + } + var res = this.head.value; + this.head = this.head.next; + if (this.head) { + this.head.prev = null; + } else { + this.tail = null; + } + this.length--; + return res; + }; + Yallist.prototype.forEach = function(fn, thisp) { + thisp = thisp || this; + for (var walker = this.head, i = 0; walker !== null; i++) { + fn.call(thisp, walker.value, i, this); + walker = walker.next; + } + }; + Yallist.prototype.forEachReverse = function(fn, thisp) { + thisp = thisp || this; + for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { + fn.call(thisp, walker.value, i, this); + walker = walker.prev; + } + }; + Yallist.prototype.get = function(n) { + for (var i = 0, walker = this.head; walker !== null && i < n; i++) { + walker = walker.next; + } + if (i === n && walker !== null) { + return walker.value; + } + }; + Yallist.prototype.getReverse = function(n) { + for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { + walker = walker.prev; + } + if (i === n && walker !== null) { + return walker.value; + } + }; + Yallist.prototype.map = function(fn, thisp) { + thisp = thisp || this; + var res = new Yallist(); + for (var walker = this.head; walker !== null; ) { + res.push(fn.call(thisp, walker.value, this)); + walker = walker.next; + } + return res; + }; + Yallist.prototype.mapReverse = function(fn, thisp) { + thisp = thisp || this; + var res = new Yallist(); + for (var walker = this.tail; walker !== null; ) { + res.push(fn.call(thisp, walker.value, this)); + walker = walker.prev; + } + return res; + }; + Yallist.prototype.reduce = function(fn, initial) { + var acc; + var walker = this.head; + if (arguments.length > 1) { + acc = initial; + } else if (this.head) { + walker = this.head.next; + acc = this.head.value; + } else { + throw new TypeError("Reduce of empty list with no initial value"); + } + for (var i = 0; walker !== null; i++) { + acc = fn(acc, walker.value, i); + walker = walker.next; + } + return acc; + }; + Yallist.prototype.reduceReverse = function(fn, initial) { + var acc; + var walker = this.tail; + if (arguments.length > 1) { + acc = initial; + } else if (this.tail) { + walker = this.tail.prev; + acc = this.tail.value; + } else { + throw new TypeError("Reduce of empty list with no initial value"); + } + for (var i = this.length - 1; walker !== null; i--) { + acc = fn(acc, walker.value, i); + walker = walker.prev; + } + return acc; + }; + Yallist.prototype.toArray = function() { + var arr = new Array(this.length); + for (var i = 0, walker = this.head; walker !== null; i++) { + arr[i] = walker.value; + walker = walker.next; + } + return arr; + }; + Yallist.prototype.toArrayReverse = function() { + var arr = new Array(this.length); + for (var i = 0, walker = this.tail; walker !== null; i++) { + arr[i] = walker.value; + walker = walker.prev; + } + return arr; + }; + Yallist.prototype.slice = function(from, to) { + to = to || this.length; + if (to < 0) { + to += this.length; + } + from = from || 0; + if (from < 0) { + from += this.length; + } + var ret = new Yallist(); + if (to < from || to < 0) { + return ret; + } + if (from < 0) { + from = 0; + } + if (to > this.length) { + to = this.length; + } + for (var i = 0, walker = this.head; walker !== null && i < from; i++) { + walker = walker.next; + } + for (; walker !== null && i < to; i++, walker = walker.next) { + ret.push(walker.value); + } + return ret; + }; + Yallist.prototype.sliceReverse = function(from, to) { + to = to || this.length; + if (to < 0) { + to += this.length; + } + from = from || 0; + if (from < 0) { + from += this.length; + } + var ret = new Yallist(); + if (to < from || to < 0) { + return ret; + } + if (from < 0) { + from = 0; + } + if (to > this.length) { + to = this.length; + } + for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { + walker = walker.prev; + } + for (; walker !== null && i > from; i--, walker = walker.prev) { + ret.push(walker.value); + } + return ret; + }; + Yallist.prototype.reverse = function() { + var head = this.head; + var tail = this.tail; + for (var walker = head; walker !== null; walker = walker.prev) { + var p = walker.prev; + walker.prev = walker.next; + walker.next = p; + } + this.head = tail; + this.tail = head; + return this; + }; + function push(self, item) { + self.tail = new Node2(item, self.tail, null, self); + if (!self.head) { + self.head = self.tail; + } + self.length++; + } + function unshift(self, item) { + self.head = new Node2(item, null, self.head, self); + if (!self.tail) { + self.tail = self.head; + } + self.length++; + } + function Node2(value, prev, next, list) { + if (!(this instanceof Node2)) { + return new Node2(value, prev, next, list); + } + this.list = list; + this.value = value; + if (prev) { + prev.next = this; + this.prev = prev; + } else { + this.prev = null; + } + if (next) { + next.prev = this; + this.next = next; + } else { + this.next = null; + } + } + } + ) + /******/ + }; + var __webpack_module_cache__ = {}; + function __webpack_require__(moduleId) { + var cachedModule = __webpack_module_cache__[moduleId]; + if (cachedModule !== void 0) { + return cachedModule.exports; + } + var module2 = __webpack_module_cache__[moduleId] = { + /******/ + // no module.id needed + /******/ + // no module.loaded needed + /******/ + exports: {} + /******/ + }; + __webpack_modules__[moduleId].call(module2.exports, module2, module2.exports, __webpack_require__); + return module2.exports; + } + (() => { + __webpack_require__.n = (module2) => { + var getter = module2 && module2.__esModule ? ( + /******/ + () => module2["default"] + ) : ( + /******/ + () => module2 + ); + __webpack_require__.d(getter, { a: getter }); + return getter; + }; + })(); + (() => { + __webpack_require__.d = (exports2, definition) => { + for (var key in definition) { + if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports2, key)) { + Object.defineProperty(exports2, key, { enumerable: true, get: definition[key] }); + } + } + }; + })(); + (() => { + __webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); + })(); + (() => { + __webpack_require__.r = (exports2) => { + if (typeof Symbol !== "undefined" && Symbol.toStringTag) { + Object.defineProperty(exports2, Symbol.toStringTag, { value: "Module" }); + } + Object.defineProperty(exports2, "__esModule", { value: true }); + }; + })(); + var __webpack_exports__ = {}; + (() => { + "use strict"; + __webpack_require__.r(__webpack_exports__); + __webpack_require__.d(__webpack_exports__, { + "connectToDevTools": () => ( + /* binding */ + connectToDevTools + ), + "connectWithCustomMessagingProtocol": () => ( + /* binding */ + connectWithCustomMessagingProtocol + ), + "initialize": () => ( + /* binding */ + backend_initialize + ) + }); + ; + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + function _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); + } + } + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); + } else { + obj[key] = value; + } + return obj; + } + var EventEmitter = /* @__PURE__ */ function() { + function EventEmitter2() { + _classCallCheck(this, EventEmitter2); + _defineProperty(this, "listenersMap", /* @__PURE__ */ new Map()); + } + _createClass(EventEmitter2, [{ + key: "addListener", + value: function addListener(event, listener) { + var listeners = this.listenersMap.get(event); + if (listeners === void 0) { + this.listenersMap.set(event, [listener]); + } else { + var index = listeners.indexOf(listener); + if (index < 0) { + listeners.push(listener); + } + } + } + }, { + key: "emit", + value: function emit(event) { + var listeners = this.listenersMap.get(event); + if (listeners !== void 0) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + if (listeners.length === 1) { + var listener = listeners[0]; + listener.apply(null, args); + } else { + var didThrow = false; + var caughtError = null; + var clonedListeners = Array.from(listeners); + for (var i = 0; i < clonedListeners.length; i++) { + var _listener = clonedListeners[i]; + try { + _listener.apply(null, args); + } catch (error) { + if (caughtError === null) { + didThrow = true; + caughtError = error; + } + } + } + if (didThrow) { + throw caughtError; + } + } + } + } + }, { + key: "removeAllListeners", + value: function removeAllListeners() { + this.listenersMap.clear(); + } + }, { + key: "removeListener", + value: function removeListener(event, listener) { + var listeners = this.listenersMap.get(event); + if (listeners !== void 0) { + var index = listeners.indexOf(listener); + if (index >= 0) { + listeners.splice(index, 1); + } + } + } + }]); + return EventEmitter2; + }(); + ; + var CHROME_WEBSTORE_EXTENSION_ID = "fmkadmapgofadopljbjfkapdkoienihi"; + var INTERNAL_EXTENSION_ID = "dnjnjgbfilfphmojnmhliehogmojhclc"; + var LOCAL_EXTENSION_ID = "ikiahnapldjmdmpkmfhjdjilojjhgcbf"; + var __DEBUG__ = false; + var __PERFORMANCE_PROFILE__ = false; + var TREE_OPERATION_ADD = 1; + var TREE_OPERATION_REMOVE = 2; + var TREE_OPERATION_REORDER_CHILDREN = 3; + var TREE_OPERATION_UPDATE_TREE_BASE_DURATION = 4; + var TREE_OPERATION_UPDATE_ERRORS_OR_WARNINGS = 5; + var TREE_OPERATION_REMOVE_ROOT = 6; + var TREE_OPERATION_SET_SUBTREE_MODE = 7; + var PROFILING_FLAG_BASIC_SUPPORT = 1; + var PROFILING_FLAG_TIMELINE_SUPPORT = 2; + var LOCAL_STORAGE_DEFAULT_TAB_KEY = "React::DevTools::defaultTab"; + var constants_LOCAL_STORAGE_COMPONENT_FILTER_PREFERENCES_KEY = "React::DevTools::componentFilters"; + var SESSION_STORAGE_LAST_SELECTION_KEY = "React::DevTools::lastSelection"; + var constants_LOCAL_STORAGE_OPEN_IN_EDITOR_URL = "React::DevTools::openInEditorUrl"; + var LOCAL_STORAGE_OPEN_IN_EDITOR_URL_PRESET = "React::DevTools::openInEditorUrlPreset"; + var LOCAL_STORAGE_PARSE_HOOK_NAMES_KEY = "React::DevTools::parseHookNames"; + var constants_SESSION_STORAGE_RECORD_CHANGE_DESCRIPTIONS_KEY = "React::DevTools::recordChangeDescriptions"; + var constants_SESSION_STORAGE_RECORD_TIMELINE_KEY = "React::DevTools::recordTimeline"; + var constants_SESSION_STORAGE_RELOAD_AND_PROFILE_KEY = "React::DevTools::reloadAndProfile"; + var LOCAL_STORAGE_BROWSER_THEME = "React::DevTools::theme"; + var LOCAL_STORAGE_TRACE_UPDATES_ENABLED_KEY = "React::DevTools::traceUpdatesEnabled"; + var LOCAL_STORAGE_SUPPORTS_PROFILING_KEY = "React::DevTools::supportsProfiling"; + var PROFILER_EXPORT_VERSION = 5; + var FIREFOX_CONSOLE_DIMMING_COLOR = "color: rgba(124, 124, 124, 0.75)"; + var ANSI_STYLE_DIMMING_TEMPLATE = "\x1B[2;38;2;124;124;124m%s\x1B[0m"; + var ANSI_STYLE_DIMMING_TEMPLATE_WITH_COMPONENT_STACK = "\x1B[2;38;2;124;124;124m%s %o\x1B[0m"; + ; + function _typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + _typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return _typeof(obj); + } + function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); + } + function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + function _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); + } + function _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; + } + function _iterableToArrayLimit(arr, i) { + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; + var _arr = []; + var _n = true; + var _d = false; + var _e = void 0; + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + return _arr; + } + function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; + } + var compareVersions = function compareVersions2(v1, v2) { + var n1 = validateAndParse(v1); + var n2 = validateAndParse(v2); + var p1 = n1.pop(); + var p2 = n2.pop(); + var r = compareSegments(n1, n2); + if (r !== 0) return r; + if (p1 && p2) { + return compareSegments(p1.split("."), p2.split(".")); + } else if (p1 || p2) { + return p1 ? -1 : 1; + } + return 0; + }; + var validate = function validate2(version) { + return typeof version === "string" && /^[v\d]/.test(version) && semver.test(version); + }; + var compare = function compare2(v1, v2, operator) { + assertValidOperator(operator); + var res = compareVersions(v1, v2); + return operatorResMap[operator].includes(res); + }; + var satisfies = function satisfies2(version, range) { + var m = range.match(/^([<>=~^]+)/); + var op = m ? m[1] : "="; + if (op !== "^" && op !== "~") return compare(version, range, op); + var _validateAndParse = validateAndParse(version), _validateAndParse2 = _slicedToArray(_validateAndParse, 5), v1 = _validateAndParse2[0], v2 = _validateAndParse2[1], v3 = _validateAndParse2[2], vp = _validateAndParse2[4]; + var _validateAndParse3 = validateAndParse(range), _validateAndParse4 = _slicedToArray(_validateAndParse3, 5), r1 = _validateAndParse4[0], r2 = _validateAndParse4[1], r3 = _validateAndParse4[2], rp = _validateAndParse4[4]; + var v = [v1, v2, v3]; + var r = [r1, r2 !== null && r2 !== void 0 ? r2 : "x", r3 !== null && r3 !== void 0 ? r3 : "x"]; + if (rp) { + if (!vp) return false; + if (compareSegments(v, r) !== 0) return false; + if (compareSegments(vp.split("."), rp.split(".")) === -1) return false; + } + var nonZero = r.findIndex(function(v4) { + return v4 !== "0"; + }) + 1; + var i = op === "~" ? 2 : nonZero > 1 ? nonZero : 1; + if (compareSegments(v.slice(0, i), r.slice(0, i)) !== 0) return false; + if (compareSegments(v.slice(i), r.slice(i)) === -1) return false; + return true; + }; + var semver = /^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i; + var validateAndParse = function validateAndParse2(version) { + if (typeof version !== "string") { + throw new TypeError("Invalid argument expected string"); + } + var match = version.match(semver); + if (!match) { + throw new Error("Invalid argument not valid semver ('".concat(version, "' received)")); + } + match.shift(); + return match; + }; + var isWildcard = function isWildcard2(s) { + return s === "*" || s === "x" || s === "X"; + }; + var tryParse = function tryParse2(v) { + var n = parseInt(v, 10); + return isNaN(n) ? v : n; + }; + var forceType = function forceType2(a, b) { + return _typeof(a) !== _typeof(b) ? [String(a), String(b)] : [a, b]; + }; + var compareStrings = function compareStrings2(a, b) { + if (isWildcard(a) || isWildcard(b)) return 0; + var _forceType = forceType(tryParse(a), tryParse(b)), _forceType2 = _slicedToArray(_forceType, 2), ap = _forceType2[0], bp = _forceType2[1]; + if (ap > bp) return 1; + if (ap < bp) return -1; + return 0; + }; + var compareSegments = function compareSegments2(a, b) { + for (var i = 0; i < Math.max(a.length, b.length); i++) { + var r = compareStrings(a[i] || "0", b[i] || "0"); + if (r !== 0) return r; + } + return 0; + }; + var operatorResMap = { + ">": [1], + ">=": [0, 1], + "=": [0], + "<=": [-1, 0], + "<": [-1] + }; + var allowedOperators = Object.keys(operatorResMap); + var assertValidOperator = function assertValidOperator2(op) { + if (typeof op !== "string") { + throw new TypeError("Invalid operator type, expected string but got ".concat(_typeof(op))); + } + if (allowedOperators.indexOf(op) === -1) { + throw new Error("Invalid operator, expected one of ".concat(allowedOperators.join("|"))); + } + }; + var lru_cache = __webpack_require__(730); + var lru_cache_default = /* @__PURE__ */ __webpack_require__.n(lru_cache); + ; + var enableHydrationLaneScheduling = true; + var favorSafetyOverHydrationPerf = true; + var disableSchedulerTimeoutInWorkLoop = false; + var disableDefaultPropsExceptForClasses = true; + var enableSuspenseCallback = false; + var enableScopeAPI = false; + var enableCreateEventHandleAPI = false; + var enableLegacyFBSupport = false; + var enableYieldingBeforePassive = false; + var enableThrottledScheduling = false; + var enableLegacyCache = ( + /* unused pure expression or super */ + null + ); + var enableAsyncIterableChildren = ( + /* unused pure expression or super */ + null + ); + var enableTaint = ( + /* unused pure expression or super */ + null + ); + var enablePostpone = ( + /* unused pure expression or super */ + null + ); + var enableHalt = ( + /* unused pure expression or super */ + null + ); + var enableViewTransition = ( + /* unused pure expression or super */ + null + ); + var enableFabricCompleteRootInCommitPhase = false; + var enableObjectFiber = false; + var enableTransitionTracing = false; + var enableLegacyHidden = false; + var enableSuspenseAvoidThisFallback = false; + var enableCPUSuspense = ( + /* unused pure expression or super */ + null + ); + var enableNoCloningMemoCache = false; + var enableUseEffectEventHook = ( + /* unused pure expression or super */ + null + ); + var enableFizzExternalRuntime = ( + /* unused pure expression or super */ + null + ); + var alwaysThrottleRetries = true; + var passChildrenWhenCloningPersistedNodes = false; + var enablePersistedModeClonedFlag = false; + var enableOwnerStacks = ( + /* unused pure expression or super */ + null + ); + var enableShallowPropDiffing = false; + var enableSiblingPrerendering = true; + var enableRetryLaneExpiration = false; + var retryLaneExpirationMs = 5e3; + var syncLaneExpirationMs = 250; + var transitionLaneExpirationMs = 5e3; + var enableInfiniteRenderLoopDetection = false; + var enableUseResourceEffectHook = false; + var enableFastAddPropertiesInDiffing = true; + var renameElementSymbol = true; + var enableHiddenSubtreeInsertionEffectCleanup = false; + var disableLegacyContext = true; + var disableLegacyContextForFunctionComponents = true; + var enableMoveBefore = false; + var disableClientCache = true; + var enableReactTestRendererWarning = true; + var disableLegacyMode = true; + var enableRenderableContext = true; + var disableCommentsAsDOMContainers = true; + var enableTrustedTypesIntegration = false; + var disableInputAttributeSyncing = false; + var disableTextareaChildren = false; + var enableProfilerTimer = ( + /* unused pure expression or super */ + null + ); + var enableComponentPerformanceTrack = true; + var enableSchedulingProfiler = !enableComponentPerformanceTrack && false; + var enableProfilerCommitHooks = ( + /* unused pure expression or super */ + null + ); + var enableProfilerNestedUpdatePhase = ( + /* unused pure expression or super */ + null + ); + var enableAsyncDebugInfo = ( + /* unused pure expression or super */ + null + ); + var enableUpdaterTracking = ( + /* unused pure expression or super */ + null + ); + var enableDO_NOT_USE_disableStrictPassiveEffect = false; + var enableRemoveConsolePatches = true; + ; + function ReactSymbols_typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + ReactSymbols_typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + ReactSymbols_typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return ReactSymbols_typeof(obj); + } + var REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"); + var REACT_ELEMENT_TYPE = renameElementSymbol ? Symbol.for("react.transitional.element") : REACT_LEGACY_ELEMENT_TYPE; + var REACT_PORTAL_TYPE = Symbol.for("react.portal"); + var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); + var REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"); + var REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + var REACT_PROVIDER_TYPE = Symbol.for("react.provider"); + var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"); + var REACT_CONTEXT_TYPE = Symbol.for("react.context"); + var REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"); + var REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"); + var REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"); + var REACT_MEMO_TYPE = Symbol.for("react.memo"); + var REACT_LAZY_TYPE = Symbol.for("react.lazy"); + var REACT_SCOPE_TYPE = Symbol.for("react.scope"); + var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"); + var REACT_LEGACY_HIDDEN_TYPE = Symbol.for("react.legacy_hidden"); + var REACT_TRACING_MARKER_TYPE = Symbol.for("react.tracing_marker"); + var REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"); + var REACT_POSTPONE_TYPE = Symbol.for("react.postpone"); + var REACT_VIEW_TRANSITION_TYPE = Symbol.for("react.view_transition"); + var MAYBE_ITERATOR_SYMBOL = Symbol.iterator; + var FAUX_ITERATOR_SYMBOL = "@@iterator"; + function getIteratorFn(maybeIterable) { + if (maybeIterable === null || ReactSymbols_typeof(maybeIterable) !== "object") { + return null; + } + var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; + if (typeof maybeIterator === "function") { + return maybeIterator; + } + return null; + } + var ASYNC_ITERATOR = Symbol.asyncIterator; + ; + var types_ElementTypeClass = 1; + var ElementTypeContext = 2; + var types_ElementTypeFunction = 5; + var types_ElementTypeForwardRef = 6; + var ElementTypeHostComponent = 7; + var types_ElementTypeMemo = 8; + var ElementTypeOtherOrUnknown = 9; + var ElementTypeProfiler = 10; + var ElementTypeRoot = 11; + var ElementTypeSuspense = 12; + var ElementTypeSuspenseList = 13; + var ElementTypeTracingMarker = 14; + var types_ElementTypeVirtual = 15; + var ElementTypeViewTransition = 16; + var ComponentFilterElementType = 1; + var ComponentFilterDisplayName = 2; + var ComponentFilterLocation = 3; + var ComponentFilterHOC = 4; + var ComponentFilterEnvironmentName = 5; + var StrictMode = 1; + ; + var isArray = Array.isArray; + const src_isArray = isArray; + ; + var process2 = __webpack_require__(169); + function 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; + } + function _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) { + utils_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; + } + function utils_defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); + } else { + obj[key] = value; + } + return obj; + } + function utils_typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + utils_typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + utils_typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return utils_typeof(obj); + } + function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || utils_unsupportedIterableToArray(arr) || _nonIterableSpread(); + } + function _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."); + } + function utils_unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return utils_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 utils_arrayLikeToArray(o, minLen); + } + function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); + } + function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return utils_arrayLikeToArray(arr); + } + function utils_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; + } + var utils_hasOwnProperty = Object.prototype.hasOwnProperty; + var cachedDisplayNames = /* @__PURE__ */ new WeakMap(); + var encodedStringCache = new (lru_cache_default())({ + max: 1e3 + }); + function alphaSortKeys(a, b) { + if (a.toString() > b.toString()) { + return 1; + } else if (b.toString() > a.toString()) { + return -1; + } else { + return 0; + } + } + function getAllEnumerableKeys(obj) { + var keys = /* @__PURE__ */ new Set(); + var current = obj; + var _loop = function _loop2() { + var currentKeys = [].concat(_toConsumableArray(Object.keys(current)), _toConsumableArray(Object.getOwnPropertySymbols(current))); + var descriptors = Object.getOwnPropertyDescriptors(current); + currentKeys.forEach(function(key) { + if (descriptors[key].enumerable) { + keys.add(key); + } + }); + current = Object.getPrototypeOf(current); + }; + while (current != null) { + _loop(); + } + return keys; + } + function getWrappedDisplayName(outerType, innerType, wrapperName, fallbackName) { + var displayName = outerType === null || outerType === void 0 ? void 0 : outerType.displayName; + return displayName || "".concat(wrapperName, "(").concat(getDisplayName(innerType, fallbackName), ")"); + } + function getDisplayName(type) { + var fallbackName = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "Anonymous"; + var nameFromCache = cachedDisplayNames.get(type); + if (nameFromCache != null) { + return nameFromCache; + } + var displayName = fallbackName; + if (typeof type.displayName === "string") { + displayName = type.displayName; + } else if (typeof type.name === "string" && type.name !== "") { + displayName = type.name; + } + cachedDisplayNames.set(type, displayName); + return displayName; + } + var uidCounter = 0; + function getUID() { + return ++uidCounter; + } + function utfDecodeStringWithRanges(array, left, right) { + var string = ""; + for (var i = left; i <= right; i++) { + string += String.fromCodePoint(array[i]); + } + return string; + } + function surrogatePairToCodePoint(charCode1, charCode2) { + return ((charCode1 & 1023) << 10) + (charCode2 & 1023) + 65536; + } + function utfEncodeString(string) { + var cached = encodedStringCache.get(string); + if (cached !== void 0) { + return cached; + } + var encoded = []; + var i = 0; + var charCode; + while (i < string.length) { + charCode = string.charCodeAt(i); + if ((charCode & 63488) === 55296) { + encoded.push(surrogatePairToCodePoint(charCode, string.charCodeAt(++i))); + } else { + encoded.push(charCode); + } + ++i; + } + encodedStringCache.set(string, encoded); + return encoded; + } + function printOperationsArray(operations) { + var rendererID = operations[0]; + var rootID = operations[1]; + var logs = ["operations for renderer:".concat(rendererID, " and root:").concat(rootID)]; + var i = 2; + var stringTable = [ + null + // ID = 0 corresponds to the null string. + ]; + var stringTableSize = operations[i++]; + var stringTableEnd = i + stringTableSize; + while (i < stringTableEnd) { + var nextLength = operations[i++]; + var nextString = utfDecodeStringWithRanges(operations, i, i + nextLength - 1); + stringTable.push(nextString); + i += nextLength; + } + while (i < operations.length) { + var operation = operations[i]; + switch (operation) { + case TREE_OPERATION_ADD: { + var _id = operations[i + 1]; + var type = operations[i + 2]; + i += 3; + if (type === ElementTypeRoot) { + logs.push("Add new root node ".concat(_id)); + i++; + i++; + i++; + i++; + } else { + var parentID = operations[i]; + i++; + i++; + var displayNameStringID = operations[i]; + var displayName = stringTable[displayNameStringID]; + i++; + i++; + logs.push("Add node ".concat(_id, " (").concat(displayName || "null", ") as child of ").concat(parentID)); + } + break; + } + case TREE_OPERATION_REMOVE: { + var removeLength = operations[i + 1]; + i += 2; + for (var removeIndex = 0; removeIndex < removeLength; removeIndex++) { + var _id2 = operations[i]; + i += 1; + logs.push("Remove node ".concat(_id2)); + } + break; + } + case TREE_OPERATION_REMOVE_ROOT: { + i += 1; + logs.push("Remove root ".concat(rootID)); + break; + } + case TREE_OPERATION_SET_SUBTREE_MODE: { + var _id3 = operations[i + 1]; + var mode = operations[i + 1]; + i += 3; + logs.push("Mode ".concat(mode, " set for subtree with root ").concat(_id3)); + break; + } + case TREE_OPERATION_REORDER_CHILDREN: { + var _id4 = operations[i + 1]; + var numChildren = operations[i + 2]; + i += 3; + var children = operations.slice(i, i + numChildren); + i += numChildren; + logs.push("Re-order node ".concat(_id4, " children ").concat(children.join(","))); + break; + } + case TREE_OPERATION_UPDATE_TREE_BASE_DURATION: + i += 3; + break; + case TREE_OPERATION_UPDATE_ERRORS_OR_WARNINGS: + var id = operations[i + 1]; + var numErrors = operations[i + 2]; + var numWarnings = operations[i + 3]; + i += 4; + logs.push("Node ".concat(id, " has ").concat(numErrors, " errors and ").concat(numWarnings, " warnings")); + break; + default: + throw Error('Unsupported Bridge operation "'.concat(operation, '"')); + } + } + console.log(logs.join("\n ")); + } + function getDefaultComponentFilters() { + return [{ + type: ComponentFilterElementType, + value: ElementTypeHostComponent, + isEnabled: true + }]; + } + function getSavedComponentFilters() { + try { + var raw = localStorageGetItem(LOCAL_STORAGE_COMPONENT_FILTER_PREFERENCES_KEY); + if (raw != null) { + var parsedFilters = JSON.parse(raw); + return filterOutLocationComponentFilters(parsedFilters); + } + } catch (error) { + } + return getDefaultComponentFilters(); + } + function setSavedComponentFilters(componentFilters) { + localStorageSetItem(LOCAL_STORAGE_COMPONENT_FILTER_PREFERENCES_KEY, JSON.stringify(filterOutLocationComponentFilters(componentFilters))); + } + function filterOutLocationComponentFilters(componentFilters) { + if (!Array.isArray(componentFilters)) { + return componentFilters; + } + return componentFilters.filter(function(f) { + return f.type !== ComponentFilterLocation; + }); + } + function getDefaultOpenInEditorURL() { + return typeof process2.env.EDITOR_URL === "string" ? process2.env.EDITOR_URL : ""; + } + function getOpenInEditorURL() { + try { + var raw = localStorageGetItem(LOCAL_STORAGE_OPEN_IN_EDITOR_URL); + if (raw != null) { + return JSON.parse(raw); + } + } catch (error) { + } + return getDefaultOpenInEditorURL(); + } + function parseElementDisplayNameFromBackend(displayName, type) { + if (displayName === null) { + return { + formattedDisplayName: null, + hocDisplayNames: null, + compiledWithForget: false + }; + } + if (displayName.startsWith("Forget(")) { + var displayNameWithoutForgetWrapper = displayName.slice(7, displayName.length - 1); + var _parseElementDisplayN = parseElementDisplayNameFromBackend(displayNameWithoutForgetWrapper, type), formattedDisplayName = _parseElementDisplayN.formattedDisplayName, _hocDisplayNames = _parseElementDisplayN.hocDisplayNames; + return { + formattedDisplayName, + hocDisplayNames: _hocDisplayNames, + compiledWithForget: true + }; + } + var hocDisplayNames = null; + switch (type) { + case ElementTypeClass: + case ElementTypeForwardRef: + case ElementTypeFunction: + case ElementTypeMemo: + case ElementTypeVirtual: + if (displayName.indexOf("(") >= 0) { + var matches = displayName.match(/[^()]+/g); + if (matches != null) { + displayName = matches.pop(); + hocDisplayNames = matches; + } + } + break; + default: + break; + } + return { + // $FlowFixMe[incompatible-return] + formattedDisplayName: displayName, + hocDisplayNames, + compiledWithForget: false + }; + } + function shallowDiffers(prev, next) { + for (var attribute in prev) { + if (!(attribute in next)) { + return true; + } + } + for (var _attribute in next) { + if (prev[_attribute] !== next[_attribute]) { + return true; + } + } + return false; + } + function utils_getInObject(object, path) { + return path.reduce(function(reduced, attr) { + if (reduced) { + if (utils_hasOwnProperty.call(reduced, attr)) { + return reduced[attr]; + } + if (typeof reduced[Symbol.iterator] === "function") { + return Array.from(reduced)[attr]; + } + } + return null; + }, object); + } + function deletePathInObject(object, path) { + var length = path.length; + var last = path[length - 1]; + if (object != null) { + var parent = utils_getInObject(object, path.slice(0, length - 1)); + if (parent) { + if (src_isArray(parent)) { + parent.splice(last, 1); + } else { + delete parent[last]; + } + } + } + } + function renamePathInObject(object, oldPath, newPath) { + var length = oldPath.length; + if (object != null) { + var parent = utils_getInObject(object, oldPath.slice(0, length - 1)); + if (parent) { + var lastOld = oldPath[length - 1]; + var lastNew = newPath[length - 1]; + parent[lastNew] = parent[lastOld]; + if (src_isArray(parent)) { + parent.splice(lastOld, 1); + } else { + delete parent[lastOld]; + } + } + } + } + function utils_setInObject(object, path, value) { + var length = path.length; + var last = path[length - 1]; + if (object != null) { + var parent = utils_getInObject(object, path.slice(0, length - 1)); + if (parent) { + parent[last] = value; + } + } + } + function getDataType(data) { + if (data === null) { + return "null"; + } else if (data === void 0) { + return "undefined"; + } + if (typeof HTMLElement !== "undefined" && data instanceof HTMLElement) { + return "html_element"; + } + var type = utils_typeof(data); + switch (type) { + case "bigint": + return "bigint"; + case "boolean": + return "boolean"; + case "function": + return "function"; + case "number": + if (Number.isNaN(data)) { + return "nan"; + } else if (!Number.isFinite(data)) { + return "infinity"; + } else { + return "number"; + } + case "object": + if (data.$$typeof === REACT_ELEMENT_TYPE || data.$$typeof === REACT_LEGACY_ELEMENT_TYPE) { + return "react_element"; + } + if (src_isArray(data)) { + return "array"; + } else if (ArrayBuffer.isView(data)) { + return utils_hasOwnProperty.call(data.constructor, "BYTES_PER_ELEMENT") ? "typed_array" : "data_view"; + } else if (data.constructor && data.constructor.name === "ArrayBuffer") { + return "array_buffer"; + } else if (typeof data[Symbol.iterator] === "function") { + var iterator = data[Symbol.iterator](); + if (!iterator) { + } else { + return iterator === data ? "opaque_iterator" : "iterator"; + } + } else if (data.constructor && data.constructor.name === "RegExp") { + return "regexp"; + } else { + var toStringValue = Object.prototype.toString.call(data); + if (toStringValue === "[object Date]") { + return "date"; + } else if (toStringValue === "[object HTMLAllCollection]") { + return "html_all_collection"; + } + } + if (!isPlainObject(data)) { + return "class_instance"; + } + return "object"; + case "string": + return "string"; + case "symbol": + return "symbol"; + case "undefined": + if ( + // $FlowFixMe[method-unbinding] + Object.prototype.toString.call(data) === "[object HTMLAllCollection]" + ) { + return "html_all_collection"; + } + return "undefined"; + default: + return "unknown"; + } + } + function typeOfWithLegacyElementSymbol(object) { + if (utils_typeof(object) === "object" && object !== null) { + var $$typeof = object.$$typeof; + switch ($$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_LEGACY_ELEMENT_TYPE: + var type = object.type; + switch (type) { + case REACT_FRAGMENT_TYPE: + case REACT_PROFILER_TYPE: + case REACT_STRICT_MODE_TYPE: + case REACT_SUSPENSE_TYPE: + case REACT_SUSPENSE_LIST_TYPE: + case REACT_VIEW_TRANSITION_TYPE: + return type; + default: + var $$typeofType = type && type.$$typeof; + switch ($$typeofType) { + case REACT_CONTEXT_TYPE: + case REACT_FORWARD_REF_TYPE: + case REACT_LAZY_TYPE: + case REACT_MEMO_TYPE: + return $$typeofType; + case REACT_CONSUMER_TYPE: + if (enableRenderableContext) { + return $$typeofType; + } + // Fall through + case REACT_PROVIDER_TYPE: + if (!enableRenderableContext) { + return $$typeofType; + } + // Fall through + default: + return $$typeof; + } + } + case REACT_PORTAL_TYPE: + return $$typeof; + } + } + return void 0; + } + function getDisplayNameForReactElement(element) { + var elementType = typeOfWithLegacyElementSymbol(element); + switch (elementType) { + case REACT_CONSUMER_TYPE: + return "ContextConsumer"; + case REACT_PROVIDER_TYPE: + return "ContextProvider"; + case REACT_CONTEXT_TYPE: + return "Context"; + case REACT_FORWARD_REF_TYPE: + return "ForwardRef"; + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_LAZY_TYPE: + return "Lazy"; + case REACT_MEMO_TYPE: + return "Memo"; + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + case REACT_VIEW_TRANSITION_TYPE: + return "ViewTransition"; + case REACT_TRACING_MARKER_TYPE: + return "TracingMarker"; + default: + var type = element.type; + if (typeof type === "string") { + return type; + } else if (typeof type === "function") { + return getDisplayName(type, "Anonymous"); + } else if (type != null) { + return "NotImplementedInDevtools"; + } else { + return "Element"; + } + } + } + var MAX_PREVIEW_STRING_LENGTH = 50; + function truncateForDisplay(string) { + var length = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : MAX_PREVIEW_STRING_LENGTH; + if (string.length > length) { + return string.slice(0, length) + "\u2026"; + } else { + return string; + } + } + function formatDataForPreview(data, showFormattedValue) { + if (data != null && utils_hasOwnProperty.call(data, meta.type)) { + return showFormattedValue ? data[meta.preview_long] : data[meta.preview_short]; + } + var type = getDataType(data); + switch (type) { + case "html_element": + return "<".concat(truncateForDisplay(data.tagName.toLowerCase()), " />"); + case "function": + if (typeof data.name === "function" || data.name === "") { + return "() => {}"; + } + return "".concat(truncateForDisplay(data.name), "() {}"); + case "string": + return '"'.concat(data, '"'); + case "bigint": + return truncateForDisplay(data.toString() + "n"); + case "regexp": + return truncateForDisplay(data.toString()); + case "symbol": + return truncateForDisplay(data.toString()); + case "react_element": + return "<".concat(truncateForDisplay(getDisplayNameForReactElement(data) || "Unknown"), " />"); + case "array_buffer": + return "ArrayBuffer(".concat(data.byteLength, ")"); + case "data_view": + return "DataView(".concat(data.buffer.byteLength, ")"); + case "array": + if (showFormattedValue) { + var formatted = ""; + for (var i = 0; i < data.length; i++) { + if (i > 0) { + formatted += ", "; + } + formatted += formatDataForPreview(data[i], false); + if (formatted.length > MAX_PREVIEW_STRING_LENGTH) { + break; + } + } + return "[".concat(truncateForDisplay(formatted), "]"); + } else { + var length = utils_hasOwnProperty.call(data, meta.size) ? data[meta.size] : data.length; + return "Array(".concat(length, ")"); + } + case "typed_array": + var shortName = "".concat(data.constructor.name, "(").concat(data.length, ")"); + if (showFormattedValue) { + var _formatted = ""; + for (var _i = 0; _i < data.length; _i++) { + if (_i > 0) { + _formatted += ", "; + } + _formatted += data[_i]; + if (_formatted.length > MAX_PREVIEW_STRING_LENGTH) { + break; + } + } + return "".concat(shortName, " [").concat(truncateForDisplay(_formatted), "]"); + } else { + return shortName; + } + case "iterator": + var name = data.constructor.name; + if (showFormattedValue) { + var array = Array.from(data); + var _formatted2 = ""; + for (var _i2 = 0; _i2 < array.length; _i2++) { + var entryOrEntries = array[_i2]; + if (_i2 > 0) { + _formatted2 += ", "; + } + if (src_isArray(entryOrEntries)) { + var key = formatDataForPreview(entryOrEntries[0], true); + var value = formatDataForPreview(entryOrEntries[1], false); + _formatted2 += "".concat(key, " => ").concat(value); + } else { + _formatted2 += formatDataForPreview(entryOrEntries, false); + } + if (_formatted2.length > MAX_PREVIEW_STRING_LENGTH) { + break; + } + } + return "".concat(name, "(").concat(data.size, ") {").concat(truncateForDisplay(_formatted2), "}"); + } else { + return "".concat(name, "(").concat(data.size, ")"); + } + case "opaque_iterator": { + return data[Symbol.toStringTag]; + } + case "date": + return data.toString(); + case "class_instance": + return data.constructor.name; + case "object": + if (showFormattedValue) { + var keys = Array.from(getAllEnumerableKeys(data)).sort(alphaSortKeys); + var _formatted3 = ""; + for (var _i3 = 0; _i3 < keys.length; _i3++) { + var _key = keys[_i3]; + if (_i3 > 0) { + _formatted3 += ", "; + } + _formatted3 += "".concat(_key.toString(), ": ").concat(formatDataForPreview(data[_key], false)); + if (_formatted3.length > MAX_PREVIEW_STRING_LENGTH) { + break; + } + } + return "{".concat(truncateForDisplay(_formatted3), "}"); + } else { + return "{\u2026}"; + } + case "boolean": + case "number": + case "infinity": + case "nan": + case "null": + case "undefined": + return data; + default: + try { + return truncateForDisplay(String(data)); + } catch (error) { + return "unserializable"; + } + } + } + var isPlainObject = function isPlainObject2(object) { + var objectPrototype = Object.getPrototypeOf(object); + if (!objectPrototype) return true; + var objectParentPrototype = Object.getPrototypeOf(objectPrototype); + return !objectParentPrototype; + }; + function backendToFrontendSerializedElementMapper(element) { + var _parseElementDisplayN2 = parseElementDisplayNameFromBackend(element.displayName, element.type), formattedDisplayName = _parseElementDisplayN2.formattedDisplayName, hocDisplayNames = _parseElementDisplayN2.hocDisplayNames, compiledWithForget = _parseElementDisplayN2.compiledWithForget; + return _objectSpread(_objectSpread({}, element), {}, { + displayName: formattedDisplayName, + hocDisplayNames, + compiledWithForget + }); + } + function normalizeUrl(url) { + return url.replace("/./", "/"); + } + function getIsReloadAndProfileSupported() { + var isBackendStorageAPISupported = false; + try { + localStorage.getItem("test"); + isBackendStorageAPISupported = true; + } catch (error) { + } + return isBackendStorageAPISupported && isSynchronousXHRSupported(); + } + function getIfReloadedAndProfiling() { + return sessionStorageGetItem(SESSION_STORAGE_RELOAD_AND_PROFILE_KEY) === "true"; + } + function getProfilingSettings() { + return { + recordChangeDescriptions: sessionStorageGetItem(SESSION_STORAGE_RECORD_CHANGE_DESCRIPTIONS_KEY) === "true", + recordTimeline: sessionStorageGetItem(SESSION_STORAGE_RECORD_TIMELINE_KEY) === "true" + }; + } + function onReloadAndProfile(recordChangeDescriptions, recordTimeline) { + sessionStorageSetItem(SESSION_STORAGE_RELOAD_AND_PROFILE_KEY, "true"); + sessionStorageSetItem(SESSION_STORAGE_RECORD_CHANGE_DESCRIPTIONS_KEY, recordChangeDescriptions ? "true" : "false"); + sessionStorageSetItem(SESSION_STORAGE_RECORD_TIMELINE_KEY, recordTimeline ? "true" : "false"); + } + function onReloadAndProfileFlagsReset() { + sessionStorageRemoveItem(SESSION_STORAGE_RELOAD_AND_PROFILE_KEY); + sessionStorageRemoveItem(SESSION_STORAGE_RECORD_CHANGE_DESCRIPTIONS_KEY); + sessionStorageRemoveItem(SESSION_STORAGE_RECORD_TIMELINE_KEY); + } + ; + function hydration_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; + } + function hydration_objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + if (i % 2) { + hydration_ownKeys(Object(source), true).forEach(function(key) { + hydration_defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + hydration_ownKeys(Object(source)).forEach(function(key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + return target; + } + function hydration_defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); + } else { + obj[key] = value; + } + return obj; + } + function hydration_typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + hydration_typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + hydration_typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return hydration_typeof(obj); + } + var meta = { + inspectable: Symbol("inspectable"), + inspected: Symbol("inspected"), + name: Symbol("name"), + preview_long: Symbol("preview_long"), + preview_short: Symbol("preview_short"), + readonly: Symbol("readonly"), + size: Symbol("size"), + type: Symbol("type"), + unserializable: Symbol("unserializable") + }; + var LEVEL_THRESHOLD = 2; + function createDehydrated(type, inspectable, data, cleaned, path) { + cleaned.push(path); + var dehydrated = { + inspectable, + type, + preview_long: formatDataForPreview(data, true), + preview_short: formatDataForPreview(data, false), + name: typeof data.constructor !== "function" || typeof data.constructor.name !== "string" || data.constructor.name === "Object" ? "" : data.constructor.name + }; + if (type === "array" || type === "typed_array") { + dehydrated.size = data.length; + } else if (type === "object") { + dehydrated.size = Object.keys(data).length; + } + if (type === "iterator" || type === "typed_array") { + dehydrated.readonly = true; + } + return dehydrated; + } + function dehydrate(data, cleaned, unserializable, path, isPathAllowed) { + var level = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 0; + var type = getDataType(data); + var isPathAllowedCheck; + switch (type) { + case "html_element": + cleaned.push(path); + return { + inspectable: false, + preview_short: formatDataForPreview(data, false), + preview_long: formatDataForPreview(data, true), + name: data.tagName, + type + }; + case "function": + cleaned.push(path); + return { + inspectable: false, + preview_short: formatDataForPreview(data, false), + preview_long: formatDataForPreview(data, true), + name: typeof data.name === "function" || !data.name ? "function" : data.name, + type + }; + case "string": + isPathAllowedCheck = isPathAllowed(path); + if (isPathAllowedCheck) { + return data; + } else { + return data.length <= 500 ? data : data.slice(0, 500) + "..."; + } + case "bigint": + cleaned.push(path); + return { + inspectable: false, + preview_short: formatDataForPreview(data, false), + preview_long: formatDataForPreview(data, true), + name: data.toString(), + type + }; + case "symbol": + cleaned.push(path); + return { + inspectable: false, + preview_short: formatDataForPreview(data, false), + preview_long: formatDataForPreview(data, true), + name: data.toString(), + type + }; + // React Elements aren't very inspector-friendly, + // and often contain private fields or circular references. + case "react_element": + cleaned.push(path); + return { + inspectable: false, + preview_short: formatDataForPreview(data, false), + preview_long: formatDataForPreview(data, true), + name: getDisplayNameForReactElement(data) || "Unknown", + type + }; + // ArrayBuffers error if you try to inspect them. + case "array_buffer": + case "data_view": + cleaned.push(path); + return { + inspectable: false, + preview_short: formatDataForPreview(data, false), + preview_long: formatDataForPreview(data, true), + name: type === "data_view" ? "DataView" : "ArrayBuffer", + size: data.byteLength, + type + }; + case "array": + isPathAllowedCheck = isPathAllowed(path); + if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) { + return createDehydrated(type, true, data, cleaned, path); + } + var arr = []; + for (var i = 0; i < data.length; i++) { + arr[i] = dehydrateKey(data, i, cleaned, unserializable, path.concat([i]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1); + } + return arr; + case "html_all_collection": + case "typed_array": + case "iterator": + isPathAllowedCheck = isPathAllowed(path); + if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) { + return createDehydrated(type, true, data, cleaned, path); + } else { + var unserializableValue = { + unserializable: true, + type, + readonly: true, + size: type === "typed_array" ? data.length : void 0, + preview_short: formatDataForPreview(data, false), + preview_long: formatDataForPreview(data, true), + name: typeof data.constructor !== "function" || typeof data.constructor.name !== "string" || data.constructor.name === "Object" ? "" : data.constructor.name + }; + Array.from(data).forEach(function(item, i2) { + return unserializableValue[i2] = dehydrate(item, cleaned, unserializable, path.concat([i2]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1); + }); + unserializable.push(path); + return unserializableValue; + } + case "opaque_iterator": + cleaned.push(path); + return { + inspectable: false, + preview_short: formatDataForPreview(data, false), + preview_long: formatDataForPreview(data, true), + name: data[Symbol.toStringTag], + type + }; + case "date": + cleaned.push(path); + return { + inspectable: false, + preview_short: formatDataForPreview(data, false), + preview_long: formatDataForPreview(data, true), + name: data.toString(), + type + }; + case "regexp": + cleaned.push(path); + return { + inspectable: false, + preview_short: formatDataForPreview(data, false), + preview_long: formatDataForPreview(data, true), + name: data.toString(), + type + }; + case "object": + isPathAllowedCheck = isPathAllowed(path); + if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) { + return createDehydrated(type, true, data, cleaned, path); + } else { + var object = {}; + getAllEnumerableKeys(data).forEach(function(key) { + var name = key.toString(); + object[name] = dehydrateKey(data, key, cleaned, unserializable, path.concat([name]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1); + }); + return object; + } + case "class_instance": + isPathAllowedCheck = isPathAllowed(path); + if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) { + return createDehydrated(type, true, data, cleaned, path); + } + var value = { + unserializable: true, + type, + readonly: true, + preview_short: formatDataForPreview(data, false), + preview_long: formatDataForPreview(data, true), + name: typeof data.constructor !== "function" || typeof data.constructor.name !== "string" ? "" : data.constructor.name + }; + getAllEnumerableKeys(data).forEach(function(key) { + var keyAsString = key.toString(); + value[keyAsString] = dehydrate(data[key], cleaned, unserializable, path.concat([keyAsString]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1); + }); + unserializable.push(path); + return value; + case "infinity": + case "nan": + case "undefined": + cleaned.push(path); + return { + type + }; + default: + return data; + } + } + function dehydrateKey(parent, key, cleaned, unserializable, path, isPathAllowed) { + var level = arguments.length > 6 && arguments[6] !== void 0 ? arguments[6] : 0; + try { + return dehydrate(parent[key], cleaned, unserializable, path, isPathAllowed, level); + } catch (error) { + var preview = ""; + if (hydration_typeof(error) === "object" && error !== null && typeof error.stack === "string") { + preview = error.stack; + } else if (typeof error === "string") { + preview = error; + } + cleaned.push(path); + return { + inspectable: false, + preview_short: "[Exception]", + preview_long: preview ? "[Exception: " + preview + "]" : "[Exception]", + name: preview, + type: "unknown" + }; + } + } + function fillInPath(object, data, path, value) { + var target = getInObject(object, path); + if (target != null) { + if (!target[meta.unserializable]) { + delete target[meta.inspectable]; + delete target[meta.inspected]; + delete target[meta.name]; + delete target[meta.preview_long]; + delete target[meta.preview_short]; + delete target[meta.readonly]; + delete target[meta.size]; + delete target[meta.type]; + } + } + if (value !== null && data.unserializable.length > 0) { + var unserializablePath = data.unserializable[0]; + var isMatch = unserializablePath.length === path.length; + for (var i = 0; i < path.length; i++) { + if (path[i] !== unserializablePath[i]) { + isMatch = false; + break; + } + } + if (isMatch) { + upgradeUnserializable(value, value); + } + } + setInObject(object, path, value); + } + function hydrate(object, cleaned, unserializable) { + cleaned.forEach(function(path) { + var length = path.length; + var last = path[length - 1]; + var parent = getInObject(object, path.slice(0, length - 1)); + if (!parent || !parent.hasOwnProperty(last)) { + return; + } + var value = parent[last]; + if (!value) { + return; + } else if (value.type === "infinity") { + parent[last] = Infinity; + } else if (value.type === "nan") { + parent[last] = NaN; + } else if (value.type === "undefined") { + parent[last] = void 0; + } else { + var replaced = {}; + replaced[meta.inspectable] = !!value.inspectable; + replaced[meta.inspected] = false; + replaced[meta.name] = value.name; + replaced[meta.preview_long] = value.preview_long; + replaced[meta.preview_short] = value.preview_short; + replaced[meta.size] = value.size; + replaced[meta.readonly] = !!value.readonly; + replaced[meta.type] = value.type; + parent[last] = replaced; + } + }); + unserializable.forEach(function(path) { + var length = path.length; + var last = path[length - 1]; + var parent = getInObject(object, path.slice(0, length - 1)); + if (!parent || !parent.hasOwnProperty(last)) { + return; + } + var node = parent[last]; + var replacement = hydration_objectSpread({}, node); + upgradeUnserializable(replacement, node); + parent[last] = replacement; + }); + return object; + } + function upgradeUnserializable(destination, source) { + var _Object$definePropert; + Object.defineProperties(destination, (_Object$definePropert = {}, hydration_defineProperty(_Object$definePropert, meta.inspected, { + configurable: true, + enumerable: false, + value: !!source.inspected + }), hydration_defineProperty(_Object$definePropert, meta.name, { + configurable: true, + enumerable: false, + value: source.name + }), hydration_defineProperty(_Object$definePropert, meta.preview_long, { + configurable: true, + enumerable: false, + value: source.preview_long + }), hydration_defineProperty(_Object$definePropert, meta.preview_short, { + configurable: true, + enumerable: false, + value: source.preview_short + }), hydration_defineProperty(_Object$definePropert, meta.size, { + configurable: true, + enumerable: false, + value: source.size + }), hydration_defineProperty(_Object$definePropert, meta.readonly, { + configurable: true, + enumerable: false, + value: !!source.readonly + }), hydration_defineProperty(_Object$definePropert, meta.type, { + configurable: true, + enumerable: false, + value: source.type + }), hydration_defineProperty(_Object$definePropert, meta.unserializable, { + configurable: true, + enumerable: false, + value: !!source.unserializable + }), _Object$definePropert)); + delete destination.inspected; + delete destination.name; + delete destination.preview_long; + delete destination.preview_short; + delete destination.size; + delete destination.readonly; + delete destination.type; + delete destination.unserializable; + } + ; + var isArrayImpl = Array.isArray; + function isArray_isArray(a) { + return isArrayImpl(a); + } + const shared_isArray = isArray_isArray; + ; + function _createForOfIteratorHelper(o, allowArrayLike) { + var it; + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = backend_utils_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + var F = function F2() { + }; + return { s: F, n: function n() { + if (i >= o.length) return { done: true }; + return { done: false, value: o[i++] }; + }, e: function e(_e2) { + throw _e2; + }, f: F }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var normalCompletion = true, didErr = false, err; + return { s: function s() { + it = o[Symbol.iterator](); + }, n: function n() { + var step = it.next(); + normalCompletion = step.done; + return step; + }, e: function e(_e3) { + didErr = true; + err = _e3; + }, f: function f() { + try { + if (!normalCompletion && it.return != null) it.return(); + } finally { + if (didErr) throw err; + } + } }; + } + function utils_slicedToArray(arr, i) { + return utils_arrayWithHoles(arr) || utils_iterableToArrayLimit(arr, i) || backend_utils_unsupportedIterableToArray(arr, i) || utils_nonIterableRest(); + } + function utils_nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + function backend_utils_unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return backend_utils_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 backend_utils_arrayLikeToArray(o, minLen); + } + function backend_utils_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; + } + function utils_iterableToArrayLimit(arr, i) { + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; + var _arr = []; + var _n = true; + var _d = false; + var _e = void 0; + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + return _arr; + } + function utils_arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; + } + function backend_utils_typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + backend_utils_typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + backend_utils_typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return backend_utils_typeof(obj); + } + function utils_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; + } + function utils_objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + if (i % 2) { + utils_ownKeys(Object(source), true).forEach(function(key) { + backend_utils_defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + utils_ownKeys(Object(source)).forEach(function(key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + return target; + } + function backend_utils_defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); + } else { + obj[key] = value; + } + return obj; + } + var FIRST_DEVTOOLS_BACKEND_LOCKSTEP_VER = "999.9.9"; + function hasAssignedBackend(version) { + if (version == null || version === "") { + return false; + } + return gte(version, FIRST_DEVTOOLS_BACKEND_LOCKSTEP_VER); + } + function cleanForBridge(data, isPathAllowed) { + var path = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : []; + if (data !== null) { + var cleanedPaths = []; + var unserializablePaths = []; + var cleanedData = dehydrate(data, cleanedPaths, unserializablePaths, path, isPathAllowed); + return { + data: cleanedData, + cleaned: cleanedPaths, + unserializable: unserializablePaths + }; + } else { + return null; + } + } + function copyWithDelete(obj, path) { + var index = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0; + var key = path[index]; + var updated = shared_isArray(obj) ? obj.slice() : utils_objectSpread({}, obj); + if (index + 1 === path.length) { + if (shared_isArray(updated)) { + updated.splice(key, 1); + } else { + delete updated[key]; + } + } else { + updated[key] = copyWithDelete(obj[key], path, index + 1); + } + return updated; + } + function copyWithRename(obj, oldPath, newPath) { + var index = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0; + var oldKey = oldPath[index]; + var updated = shared_isArray(obj) ? obj.slice() : utils_objectSpread({}, obj); + if (index + 1 === oldPath.length) { + var newKey = newPath[index]; + updated[newKey] = updated[oldKey]; + if (shared_isArray(updated)) { + updated.splice(oldKey, 1); + } else { + delete updated[oldKey]; + } + } else { + updated[oldKey] = copyWithRename(obj[oldKey], oldPath, newPath, index + 1); + } + return updated; + } + function copyWithSet(obj, path, value) { + var index = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0; + if (index >= path.length) { + return value; + } + var key = path[index]; + var updated = shared_isArray(obj) ? obj.slice() : utils_objectSpread({}, obj); + updated[key] = copyWithSet(obj[key], path, value, index + 1); + return updated; + } + function getEffectDurations(root) { + var effectDuration = null; + var passiveEffectDuration = null; + var hostRoot = root.current; + if (hostRoot != null) { + var stateNode = hostRoot.stateNode; + if (stateNode != null) { + effectDuration = stateNode.effectDuration != null ? stateNode.effectDuration : null; + passiveEffectDuration = stateNode.passiveEffectDuration != null ? stateNode.passiveEffectDuration : null; + } + } + return { + effectDuration, + passiveEffectDuration + }; + } + function serializeToString(data) { + if (data === void 0) { + return "undefined"; + } + if (typeof data === "function") { + return data.toString(); + } + var cache = /* @__PURE__ */ new Set(); + return JSON.stringify(data, function(key, value) { + if (backend_utils_typeof(value) === "object" && value !== null) { + if (cache.has(value)) { + return; + } + cache.add(value); + } + if (typeof value === "bigint") { + return value.toString() + "n"; + } + return value; + }, 2); + } + function safeToString(val) { + try { + return String(val); + } catch (err) { + if (backend_utils_typeof(val) === "object") { + return "[object Object]"; + } + throw err; + } + } + function formatConsoleArgumentsToSingleString(maybeMessage) { + for (var _len = arguments.length, inputArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + inputArgs[_key - 1] = arguments[_key]; + } + var args = inputArgs.slice(); + var formatted = safeToString(maybeMessage); + if (typeof maybeMessage === "string") { + if (args.length) { + var REGEXP = /(%?)(%([jds]))/g; + formatted = formatted.replace(REGEXP, function(match, escaped, ptn, flag) { + var arg = args.shift(); + switch (flag) { + case "s": + arg += ""; + break; + case "d": + case "i": + arg = parseInt(arg, 10).toString(); + break; + case "f": + arg = parseFloat(arg).toString(); + break; + } + if (!escaped) { + return arg; + } + args.unshift(arg); + return match; + }); + } + } + if (args.length) { + for (var i = 0; i < args.length; i++) { + formatted += " " + safeToString(args[i]); + } + } + formatted = formatted.replace(/%{2,2}/g, "%"); + return String(formatted); + } + function isSynchronousXHRSupported() { + return !!(window.document && window.document.featurePolicy && window.document.featurePolicy.allowsFeature("sync-xhr")); + } + function gt() { + var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; + var b = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ""; + return compareVersions(a, b) === 1; + } + function gte() { + var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; + var b = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ""; + return compareVersions(a, b) > -1; + } + var isReactNativeEnvironment = function isReactNativeEnvironment2() { + return window.document == null; + }; + function extractLocation(url) { + if (url.indexOf(":") === -1) { + return null; + } + var withoutParentheses = url.replace(/^\(+/, "").replace(/\)+$/, ""); + var locationParts = /(at )?(.+?)(?::(\d+))?(?::(\d+))?$/.exec(withoutParentheses); + if (locationParts == null) { + return null; + } + var _locationParts = utils_slicedToArray(locationParts, 5), sourceURL = _locationParts[2], line = _locationParts[3], column = _locationParts[4]; + return { + sourceURL, + line, + column + }; + } + var CHROME_STACK_REGEXP = /^\s*at .*(\S+:\d+|\(native\))/m; + function parseSourceFromChromeStack(stack) { + var frames = stack.split("\n"); + var _iterator = _createForOfIteratorHelper(frames), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var frame = _step.value; + var sanitizedFrame = frame.trim(); + var locationInParenthesesMatch = sanitizedFrame.match(/ (\(.+\)$)/); + var possibleLocation = locationInParenthesesMatch ? locationInParenthesesMatch[1] : sanitizedFrame; + var location = extractLocation(possibleLocation); + if (location == null) { + continue; + } + var sourceURL = location.sourceURL, _location$line = location.line, line = _location$line === void 0 ? "1" : _location$line, _location$column = location.column, column = _location$column === void 0 ? "1" : _location$column; + return { + sourceURL, + line: parseInt(line, 10), + column: parseInt(column, 10) + }; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return null; + } + function parseSourceFromFirefoxStack(stack) { + var frames = stack.split("\n"); + var _iterator2 = _createForOfIteratorHelper(frames), _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { + var frame = _step2.value; + var sanitizedFrame = frame.trim(); + var frameWithoutFunctionName = sanitizedFrame.replace(/((.*".+"[^@]*)?[^@]*)(?:@)/, ""); + var location = extractLocation(frameWithoutFunctionName); + if (location == null) { + continue; + } + var sourceURL = location.sourceURL, _location$line2 = location.line, line = _location$line2 === void 0 ? "1" : _location$line2, _location$column2 = location.column, column = _location$column2 === void 0 ? "1" : _location$column2; + return { + sourceURL, + line: parseInt(line, 10), + column: parseInt(column, 10) + }; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + return null; + } + function parseSourceFromComponentStack(componentStack) { + if (componentStack.match(CHROME_STACK_REGEXP)) { + return parseSourceFromChromeStack(componentStack); + } + return parseSourceFromFirefoxStack(componentStack); + } + function formatDurationToMicrosecondsGranularity(duration) { + return Math.round(duration * 1e3) / 1e3; + } + ; + function views_utils_slicedToArray(arr, i) { + return views_utils_arrayWithHoles(arr) || views_utils_iterableToArrayLimit(arr, i) || views_utils_unsupportedIterableToArray(arr, i) || views_utils_nonIterableRest(); + } + function views_utils_nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + function views_utils_unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return views_utils_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 views_utils_arrayLikeToArray(o, minLen); + } + function views_utils_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; + } + function views_utils_iterableToArrayLimit(arr, i) { + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; + var _arr = []; + var _n = true; + var _d = false; + var _e = void 0; + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + return _arr; + } + function views_utils_arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; + } + function getOwnerWindow(node) { + if (!node.ownerDocument) { + return null; + } + return node.ownerDocument.defaultView; + } + function getOwnerIframe(node) { + var nodeWindow = getOwnerWindow(node); + if (nodeWindow) { + return nodeWindow.frameElement; + } + return null; + } + function getBoundingClientRectWithBorderOffset(node) { + var dimensions = getElementDimensions(node); + return mergeRectOffsets([node.getBoundingClientRect(), { + top: dimensions.borderTop, + left: dimensions.borderLeft, + bottom: dimensions.borderBottom, + right: dimensions.borderRight, + // This width and height won't get used by mergeRectOffsets (since this + // is not the first rect in the array), but we set them so that this + // object type checks as a ClientRect. + width: 0, + height: 0 + }]); + } + function mergeRectOffsets(rects) { + return rects.reduce(function(previousRect, rect) { + if (previousRect == null) { + return rect; + } + return { + top: previousRect.top + rect.top, + left: previousRect.left + rect.left, + width: previousRect.width, + height: previousRect.height, + bottom: previousRect.bottom + rect.bottom, + right: previousRect.right + rect.right + }; + }); + } + function getNestedBoundingClientRect(node, boundaryWindow) { + var ownerIframe = getOwnerIframe(node); + if (ownerIframe && ownerIframe !== boundaryWindow) { + var rects = [node.getBoundingClientRect()]; + var currentIframe = ownerIframe; + var onlyOneMore = false; + while (currentIframe) { + var rect = getBoundingClientRectWithBorderOffset(currentIframe); + rects.push(rect); + currentIframe = getOwnerIframe(currentIframe); + if (onlyOneMore) { + break; + } + if (currentIframe && getOwnerWindow(currentIframe) === boundaryWindow) { + onlyOneMore = true; + } + } + return mergeRectOffsets(rects); + } else { + return node.getBoundingClientRect(); + } + } + function getElementDimensions(domElement) { + var calculatedStyle = window.getComputedStyle(domElement); + return { + borderLeft: parseInt(calculatedStyle.borderLeftWidth, 10), + borderRight: parseInt(calculatedStyle.borderRightWidth, 10), + borderTop: parseInt(calculatedStyle.borderTopWidth, 10), + borderBottom: parseInt(calculatedStyle.borderBottomWidth, 10), + marginLeft: parseInt(calculatedStyle.marginLeft, 10), + marginRight: parseInt(calculatedStyle.marginRight, 10), + marginTop: parseInt(calculatedStyle.marginTop, 10), + marginBottom: parseInt(calculatedStyle.marginBottom, 10), + paddingLeft: parseInt(calculatedStyle.paddingLeft, 10), + paddingRight: parseInt(calculatedStyle.paddingRight, 10), + paddingTop: parseInt(calculatedStyle.paddingTop, 10), + paddingBottom: parseInt(calculatedStyle.paddingBottom, 10) + }; + } + function extractHOCNames(displayName) { + if (!displayName) return { + baseComponentName: "", + hocNames: [] + }; + var hocRegex = /([A-Z][a-zA-Z0-9]*?)\((.*)\)/g; + var hocNames = []; + var baseComponentName = displayName; + var match; + while ((match = hocRegex.exec(baseComponentName)) != null) { + if (Array.isArray(match)) { + var _match = match, _match2 = views_utils_slicedToArray(_match, 3), hocName = _match2[1], inner = _match2[2]; + hocNames.push(hocName); + baseComponentName = inner; + } + } + return { + baseComponentName, + hocNames + }; + } + ; + function Overlay_classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + function Overlay_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); + } + } + function Overlay_createClass(Constructor, protoProps, staticProps) { + if (protoProps) Overlay_defineProperties(Constructor.prototype, protoProps); + if (staticProps) Overlay_defineProperties(Constructor, staticProps); + return Constructor; + } + var Overlay_assign = Object.assign; + var OverlayRect = /* @__PURE__ */ function() { + function OverlayRect2(doc, container) { + Overlay_classCallCheck(this, OverlayRect2); + this.node = doc.createElement("div"); + this.border = doc.createElement("div"); + this.padding = doc.createElement("div"); + this.content = doc.createElement("div"); + this.border.style.borderColor = overlayStyles.border; + this.padding.style.borderColor = overlayStyles.padding; + this.content.style.backgroundColor = overlayStyles.background; + Overlay_assign(this.node.style, { + borderColor: overlayStyles.margin, + pointerEvents: "none", + position: "fixed" + }); + this.node.style.zIndex = "10000000"; + this.node.appendChild(this.border); + this.border.appendChild(this.padding); + this.padding.appendChild(this.content); + container.appendChild(this.node); + } + Overlay_createClass(OverlayRect2, [{ + key: "remove", + value: function remove() { + if (this.node.parentNode) { + this.node.parentNode.removeChild(this.node); + } + } + }, { + key: "update", + value: function update(box, dims) { + boxWrap(dims, "margin", this.node); + boxWrap(dims, "border", this.border); + boxWrap(dims, "padding", this.padding); + Overlay_assign(this.content.style, { + height: box.height - dims.borderTop - dims.borderBottom - dims.paddingTop - dims.paddingBottom + "px", + width: box.width - dims.borderLeft - dims.borderRight - dims.paddingLeft - dims.paddingRight + "px" + }); + Overlay_assign(this.node.style, { + top: box.top - dims.marginTop + "px", + left: box.left - dims.marginLeft + "px" + }); + } + }]); + return OverlayRect2; + }(); + var OverlayTip = /* @__PURE__ */ function() { + function OverlayTip2(doc, container) { + Overlay_classCallCheck(this, OverlayTip2); + this.tip = doc.createElement("div"); + Overlay_assign(this.tip.style, { + display: "flex", + flexFlow: "row nowrap", + backgroundColor: "#333740", + borderRadius: "2px", + fontFamily: '"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace', + fontWeight: "bold", + padding: "3px 5px", + pointerEvents: "none", + position: "fixed", + fontSize: "12px", + whiteSpace: "nowrap" + }); + this.nameSpan = doc.createElement("span"); + this.tip.appendChild(this.nameSpan); + Overlay_assign(this.nameSpan.style, { + color: "#ee78e6", + borderRight: "1px solid #aaaaaa", + paddingRight: "0.5rem", + marginRight: "0.5rem" + }); + this.dimSpan = doc.createElement("span"); + this.tip.appendChild(this.dimSpan); + Overlay_assign(this.dimSpan.style, { + color: "#d7d7d7" + }); + this.tip.style.zIndex = "10000000"; + container.appendChild(this.tip); + } + Overlay_createClass(OverlayTip2, [{ + key: "remove", + value: function remove() { + if (this.tip.parentNode) { + this.tip.parentNode.removeChild(this.tip); + } + } + }, { + key: "updateText", + value: function updateText(name, width, height) { + this.nameSpan.textContent = name; + this.dimSpan.textContent = Math.round(width) + "px \xD7 " + Math.round(height) + "px"; + } + }, { + key: "updatePosition", + value: function updatePosition(dims, bounds) { + var tipRect = this.tip.getBoundingClientRect(); + var tipPos = findTipPos(dims, bounds, { + width: tipRect.width, + height: tipRect.height + }); + Overlay_assign(this.tip.style, tipPos.style); + } + }]); + return OverlayTip2; + }(); + var Overlay = /* @__PURE__ */ function() { + function Overlay2(agent2) { + Overlay_classCallCheck(this, Overlay2); + var currentWindow = window.__REACT_DEVTOOLS_TARGET_WINDOW__ || window; + this.window = currentWindow; + var tipBoundsWindow = window.__REACT_DEVTOOLS_TARGET_WINDOW__ || window; + this.tipBoundsWindow = tipBoundsWindow; + var doc = currentWindow.document; + this.container = doc.createElement("div"); + this.container.style.zIndex = "10000000"; + this.tip = new OverlayTip(doc, this.container); + this.rects = []; + this.agent = agent2; + doc.body.appendChild(this.container); + } + Overlay_createClass(Overlay2, [{ + key: "remove", + value: function remove() { + this.tip.remove(); + this.rects.forEach(function(rect) { + rect.remove(); + }); + this.rects.length = 0; + if (this.container.parentNode) { + this.container.parentNode.removeChild(this.container); + } + } + }, { + key: "inspect", + value: function inspect(nodes, name) { + var _this = this; + var elements = nodes.filter(function(node2) { + return node2.nodeType === Node.ELEMENT_NODE; + }); + while (this.rects.length > elements.length) { + var rect = this.rects.pop(); + rect.remove(); + } + if (elements.length === 0) { + return; + } + while (this.rects.length < elements.length) { + this.rects.push(new OverlayRect(this.window.document, this.container)); + } + var outerBox = { + top: Number.POSITIVE_INFINITY, + right: Number.NEGATIVE_INFINITY, + bottom: Number.NEGATIVE_INFINITY, + left: Number.POSITIVE_INFINITY + }; + elements.forEach(function(element, index) { + var box = getNestedBoundingClientRect(element, _this.window); + var dims = getElementDimensions(element); + outerBox.top = Math.min(outerBox.top, box.top - dims.marginTop); + outerBox.right = Math.max(outerBox.right, box.left + box.width + dims.marginRight); + outerBox.bottom = Math.max(outerBox.bottom, box.top + box.height + dims.marginBottom); + outerBox.left = Math.min(outerBox.left, box.left - dims.marginLeft); + var rect2 = _this.rects[index]; + rect2.update(box, dims); + }); + if (!name) { + name = elements[0].nodeName.toLowerCase(); + var node = elements[0]; + var ownerName = this.agent.getComponentNameForHostInstance(node); + if (ownerName) { + name += " (in " + ownerName + ")"; + } + } + this.tip.updateText(name, outerBox.right - outerBox.left, outerBox.bottom - outerBox.top); + var tipBounds = getNestedBoundingClientRect(this.tipBoundsWindow.document.documentElement, this.window); + this.tip.updatePosition({ + top: outerBox.top, + left: outerBox.left, + height: outerBox.bottom - outerBox.top, + width: outerBox.right - outerBox.left + }, { + top: tipBounds.top + this.tipBoundsWindow.scrollY, + left: tipBounds.left + this.tipBoundsWindow.scrollX, + height: this.tipBoundsWindow.innerHeight, + width: this.tipBoundsWindow.innerWidth + }); + } + }]); + return Overlay2; + }(); + function findTipPos(dims, bounds, tipSize) { + var tipHeight = Math.max(tipSize.height, 20); + var tipWidth = Math.max(tipSize.width, 60); + var margin = 5; + var top; + if (dims.top + dims.height + tipHeight <= bounds.top + bounds.height) { + if (dims.top + dims.height < bounds.top + 0) { + top = bounds.top + margin; + } else { + top = dims.top + dims.height + margin; + } + } else if (dims.top - tipHeight <= bounds.top + bounds.height) { + if (dims.top - tipHeight - margin < bounds.top + margin) { + top = bounds.top + margin; + } else { + top = dims.top - tipHeight - margin; + } + } else { + top = bounds.top + bounds.height - tipHeight - margin; + } + var left = dims.left + margin; + if (dims.left < bounds.left) { + left = bounds.left + margin; + } + if (dims.left + tipWidth > bounds.left + bounds.width) { + left = bounds.left + bounds.width - tipWidth - margin; + } + top += "px"; + left += "px"; + return { + style: { + top, + left + } + }; + } + function boxWrap(dims, what, node) { + Overlay_assign(node.style, { + borderTopWidth: dims[what + "Top"] + "px", + borderLeftWidth: dims[what + "Left"] + "px", + borderRightWidth: dims[what + "Right"] + "px", + borderBottomWidth: dims[what + "Bottom"] + "px", + borderStyle: "solid" + }); + } + var overlayStyles = { + background: "rgba(120, 170, 210, 0.7)", + padding: "rgba(77, 200, 0, 0.3)", + margin: "rgba(255, 155, 0, 0.3)", + border: "rgba(255, 200, 50, 0.3)" + }; + ; + var SHOW_DURATION = 2e3; + var timeoutID = null; + var overlay = null; + function hideOverlayNative(agent2) { + agent2.emit("hideNativeHighlight"); + } + function hideOverlayWeb() { + timeoutID = null; + if (overlay !== null) { + overlay.remove(); + overlay = null; + } + } + function hideOverlay(agent2) { + return isReactNativeEnvironment() ? hideOverlayNative(agent2) : hideOverlayWeb(); + } + function showOverlayNative(elements, agent2) { + agent2.emit("showNativeHighlight", elements); + } + function showOverlayWeb(elements, componentName, agent2, hideAfterTimeout) { + if (timeoutID !== null) { + clearTimeout(timeoutID); + } + if (overlay === null) { + overlay = new Overlay(agent2); + } + overlay.inspect(elements, componentName); + if (hideAfterTimeout) { + timeoutID = setTimeout(function() { + return hideOverlay(agent2); + }, SHOW_DURATION); + } + } + function showOverlay(elements, componentName, agent2, hideAfterTimeout) { + return isReactNativeEnvironment() ? showOverlayNative(elements, agent2) : showOverlayWeb(elements, componentName, agent2, hideAfterTimeout); + } + ; + var iframesListeningTo = /* @__PURE__ */ new Set(); + function setupHighlighter(bridge, agent2) { + bridge.addListener("clearHostInstanceHighlight", clearHostInstanceHighlight); + bridge.addListener("highlightHostInstance", highlightHostInstance); + bridge.addListener("shutdown", stopInspectingHost); + bridge.addListener("startInspectingHost", startInspectingHost); + bridge.addListener("stopInspectingHost", stopInspectingHost); + function startInspectingHost() { + registerListenersOnWindow(window); + } + function registerListenersOnWindow(window2) { + if (window2 && typeof window2.addEventListener === "function") { + window2.addEventListener("click", onClick, true); + window2.addEventListener("mousedown", onMouseEvent, true); + window2.addEventListener("mouseover", onMouseEvent, true); + window2.addEventListener("mouseup", onMouseEvent, true); + window2.addEventListener("pointerdown", onPointerDown, true); + window2.addEventListener("pointermove", onPointerMove, true); + window2.addEventListener("pointerup", onPointerUp, true); + } else { + agent2.emit("startInspectingNative"); + } + } + function stopInspectingHost() { + hideOverlay(agent2); + removeListenersOnWindow(window); + iframesListeningTo.forEach(function(frame) { + try { + removeListenersOnWindow(frame.contentWindow); + } catch (error) { + } + }); + iframesListeningTo = /* @__PURE__ */ new Set(); + } + function removeListenersOnWindow(window2) { + if (window2 && typeof window2.removeEventListener === "function") { + window2.removeEventListener("click", onClick, true); + window2.removeEventListener("mousedown", onMouseEvent, true); + window2.removeEventListener("mouseover", onMouseEvent, true); + window2.removeEventListener("mouseup", onMouseEvent, true); + window2.removeEventListener("pointerdown", onPointerDown, true); + window2.removeEventListener("pointermove", onPointerMove, true); + window2.removeEventListener("pointerup", onPointerUp, true); + } else { + agent2.emit("stopInspectingNative"); + } + } + function clearHostInstanceHighlight() { + hideOverlay(agent2); + } + function highlightHostInstance(_ref) { + var displayName = _ref.displayName, hideAfterTimeout = _ref.hideAfterTimeout, id = _ref.id, openBuiltinElementsPanel = _ref.openBuiltinElementsPanel, rendererID = _ref.rendererID, scrollIntoView = _ref.scrollIntoView; + var renderer = agent2.rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"')); + hideOverlay(agent2); + return; + } + if (!renderer.hasElementWithId(id)) { + hideOverlay(agent2); + return; + } + var nodes = renderer.findHostInstancesForElementID(id); + if (nodes != null && nodes[0] != null) { + var node = nodes[0]; + if (scrollIntoView && typeof node.scrollIntoView === "function") { + node.scrollIntoView({ + block: "nearest", + inline: "nearest" + }); + } + showOverlay(nodes, displayName, agent2, hideAfterTimeout); + if (openBuiltinElementsPanel) { + window.__REACT_DEVTOOLS_GLOBAL_HOOK__.$0 = node; + bridge.send("syncSelectionToBuiltinElementsPanel"); + } + } else { + hideOverlay(agent2); + } + } + function onClick(event) { + event.preventDefault(); + event.stopPropagation(); + stopInspectingHost(); + bridge.send("stopInspectingHost", true); + } + function onMouseEvent(event) { + event.preventDefault(); + event.stopPropagation(); + } + function onPointerDown(event) { + event.preventDefault(); + event.stopPropagation(); + selectElementForNode(getEventTarget(event)); + } + var lastHoveredNode = null; + function onPointerMove(event) { + event.preventDefault(); + event.stopPropagation(); + var target = getEventTarget(event); + if (lastHoveredNode === target) return; + lastHoveredNode = target; + if (target.tagName === "IFRAME") { + var iframe = target; + try { + if (!iframesListeningTo.has(iframe)) { + var _window = iframe.contentWindow; + registerListenersOnWindow(_window); + iframesListeningTo.add(iframe); + } + } catch (error) { + } + } + showOverlay([target], null, agent2, false); + selectElementForNode(target); + } + function onPointerUp(event) { + event.preventDefault(); + event.stopPropagation(); + } + var selectElementForNode = function selectElementForNode2(node) { + var id = agent2.getIDForHostInstance(node); + if (id !== null) { + bridge.send("selectElement", id); + } + }; + function getEventTarget(event) { + if (event.composed) { + return event.composedPath()[0]; + } + return event.target; + } + } + ; + function canvas_toConsumableArray(arr) { + return canvas_arrayWithoutHoles(arr) || canvas_iterableToArray(arr) || canvas_unsupportedIterableToArray(arr) || canvas_nonIterableSpread(); + } + function canvas_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."); + } + function canvas_unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return canvas_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 canvas_arrayLikeToArray(o, minLen); + } + function canvas_iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); + } + function canvas_arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return canvas_arrayLikeToArray(arr); + } + function canvas_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; + } + var COLORS = ["#37afa9", "#63b19e", "#80b393", "#97b488", "#abb67d", "#beb771", "#cfb965", "#dfba57", "#efbb49", "#febc38"]; + var canvas = null; + function drawNative(nodeToData2, agent2) { + var nodesToDraw = []; + iterateNodes(nodeToData2, function(_ref) { + var color = _ref.color, node = _ref.node; + nodesToDraw.push({ + node, + color + }); + }); + agent2.emit("drawTraceUpdates", nodesToDraw); + var mergedNodes = groupAndSortNodes(nodeToData2); + agent2.emit("drawGroupedTraceUpdatesWithNames", mergedNodes); + } + function drawWeb(nodeToData2) { + if (canvas === null) { + initialize(); + } + var dpr = window.devicePixelRatio || 1; + var canvasFlow = canvas; + canvasFlow.width = window.innerWidth * dpr; + canvasFlow.height = window.innerHeight * dpr; + canvasFlow.style.width = "".concat(window.innerWidth, "px"); + canvasFlow.style.height = "".concat(window.innerHeight, "px"); + var context = canvasFlow.getContext("2d"); + context.scale(dpr, dpr); + context.clearRect(0, 0, canvasFlow.width / dpr, canvasFlow.height / dpr); + var mergedNodes = groupAndSortNodes(nodeToData2); + mergedNodes.forEach(function(group) { + drawGroupBorders(context, group); + drawGroupLabel(context, group); + }); + } + function groupAndSortNodes(nodeToData2) { + var positionGroups = /* @__PURE__ */ new Map(); + iterateNodes(nodeToData2, function(_ref2) { + var _positionGroups$get; + var rect = _ref2.rect, color = _ref2.color, displayName = _ref2.displayName, count = _ref2.count; + if (!rect) return; + var key = "".concat(rect.left, ",").concat(rect.top); + if (!positionGroups.has(key)) positionGroups.set(key, []); + (_positionGroups$get = positionGroups.get(key)) === null || _positionGroups$get === void 0 ? void 0 : _positionGroups$get.push({ + rect, + color, + displayName, + count + }); + }); + return Array.from(positionGroups.values()).sort(function(groupA, groupB) { + var maxCountA = Math.max.apply(Math, canvas_toConsumableArray(groupA.map(function(item) { + return item.count; + }))); + var maxCountB = Math.max.apply(Math, canvas_toConsumableArray(groupB.map(function(item) { + return item.count; + }))); + return maxCountA - maxCountB; + }); + } + function drawGroupBorders(context, group) { + group.forEach(function(_ref3) { + var color = _ref3.color, rect = _ref3.rect; + context.beginPath(); + context.strokeStyle = color; + context.rect(rect.left, rect.top, rect.width - 1, rect.height - 1); + context.stroke(); + }); + } + function drawGroupLabel(context, group) { + var mergedName = group.map(function(_ref4) { + var displayName = _ref4.displayName, count = _ref4.count; + return displayName ? "".concat(displayName).concat(count > 1 ? " x".concat(count) : "") : ""; + }).filter(Boolean).join(", "); + if (mergedName) { + drawLabel(context, group[0].rect, mergedName, group[0].color); + } + } + function draw(nodeToData2, agent2) { + return isReactNativeEnvironment() ? drawNative(nodeToData2, agent2) : drawWeb(nodeToData2); + } + function iterateNodes(nodeToData2, execute) { + nodeToData2.forEach(function(data, node) { + var colorIndex = Math.min(COLORS.length - 1, data.count - 1); + var color = COLORS[colorIndex]; + execute({ + color, + node, + count: data.count, + displayName: data.displayName, + expirationTime: data.expirationTime, + lastMeasuredAt: data.lastMeasuredAt, + rect: data.rect + }); + }); + } + function drawLabel(context, rect, text, color) { + var left = rect.left, top = rect.top; + context.font = "10px monospace"; + context.textBaseline = "middle"; + context.textAlign = "center"; + var padding = 2; + var textHeight = 14; + var metrics = context.measureText(text); + var backgroundWidth = metrics.width + padding * 2; + var backgroundHeight = textHeight; + var labelX = left; + var labelY = top - backgroundHeight; + context.fillStyle = color; + context.fillRect(labelX, labelY, backgroundWidth, backgroundHeight); + context.fillStyle = "#000000"; + context.fillText(text, labelX + backgroundWidth / 2, labelY + backgroundHeight / 2); + } + function destroyNative(agent2) { + agent2.emit("disableTraceUpdates"); + } + function destroyWeb() { + if (canvas !== null) { + if (canvas.parentNode != null) { + canvas.parentNode.removeChild(canvas); + } + canvas = null; + } + } + function destroy(agent2) { + return isReactNativeEnvironment() ? destroyNative(agent2) : destroyWeb(); + } + function initialize() { + canvas = window.document.createElement("canvas"); + canvas.style.cssText = "\n xx-background-color: red;\n xx-opacity: 0.5;\n bottom: 0;\n left: 0;\n pointer-events: none;\n position: fixed;\n right: 0;\n top: 0;\n z-index: 1000000000;\n "; + var root = window.document.documentElement; + root.insertBefore(canvas, root.firstChild); + } + ; + function TraceUpdates_typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + TraceUpdates_typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + TraceUpdates_typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return TraceUpdates_typeof(obj); + } + var DISPLAY_DURATION = 250; + var MAX_DISPLAY_DURATION = 3e3; + var REMEASUREMENT_AFTER_DURATION = 250; + var HOC_MARKERS = /* @__PURE__ */ new Map([["Forget", "\u2728"], ["Memo", "\u{1F9E0}"]]); + var getCurrentTime = ( + // $FlowFixMe[method-unbinding] + (typeof performance === "undefined" ? "undefined" : TraceUpdates_typeof(performance)) === "object" && typeof performance.now === "function" ? function() { + return performance.now(); + } : function() { + return Date.now(); + } + ); + var nodeToData = /* @__PURE__ */ new Map(); + var agent = null; + var drawAnimationFrameID = null; + var isEnabled = false; + var redrawTimeoutID = null; + function TraceUpdates_initialize(injectedAgent) { + agent = injectedAgent; + agent.addListener("traceUpdates", traceUpdates); + } + function toggleEnabled(value) { + isEnabled = value; + if (!isEnabled) { + nodeToData.clear(); + if (drawAnimationFrameID !== null) { + cancelAnimationFrame(drawAnimationFrameID); + drawAnimationFrameID = null; + } + if (redrawTimeoutID !== null) { + clearTimeout(redrawTimeoutID); + redrawTimeoutID = null; + } + destroy(agent); + } + } + function traceUpdates(nodes) { + if (!isEnabled) return; + nodes.forEach(function(node) { + var data = nodeToData.get(node); + var now = getCurrentTime(); + var lastMeasuredAt = data != null ? data.lastMeasuredAt : 0; + var rect = data != null ? data.rect : null; + if (rect === null || lastMeasuredAt + REMEASUREMENT_AFTER_DURATION < now) { + lastMeasuredAt = now; + rect = measureNode(node); + } + var displayName = agent.getComponentNameForHostInstance(node); + if (displayName) { + var _extractHOCNames = extractHOCNames(displayName), baseComponentName = _extractHOCNames.baseComponentName, hocNames = _extractHOCNames.hocNames; + var markers = hocNames.map(function(hoc) { + return HOC_MARKERS.get(hoc) || ""; + }).join(""); + var enhancedDisplayName = markers ? "".concat(markers).concat(baseComponentName) : baseComponentName; + displayName = enhancedDisplayName; + } + nodeToData.set(node, { + count: data != null ? data.count + 1 : 1, + expirationTime: data != null ? Math.min(now + MAX_DISPLAY_DURATION, data.expirationTime + DISPLAY_DURATION) : now + DISPLAY_DURATION, + lastMeasuredAt, + rect, + displayName + }); + }); + if (redrawTimeoutID !== null) { + clearTimeout(redrawTimeoutID); + redrawTimeoutID = null; + } + if (drawAnimationFrameID === null) { + drawAnimationFrameID = requestAnimationFrame(prepareToDraw); + } + } + function prepareToDraw() { + drawAnimationFrameID = null; + redrawTimeoutID = null; + var now = getCurrentTime(); + var earliestExpiration = Number.MAX_VALUE; + nodeToData.forEach(function(data, node) { + if (data.expirationTime < now) { + nodeToData.delete(node); + } else { + earliestExpiration = Math.min(earliestExpiration, data.expirationTime); + } + }); + draw(nodeToData, agent); + if (earliestExpiration !== Number.MAX_VALUE) { + redrawTimeoutID = setTimeout(prepareToDraw, earliestExpiration - now); + } + } + function measureNode(node) { + if (!node || typeof node.getBoundingClientRect !== "function") { + return null; + } + var currentWindow = window.__REACT_DEVTOOLS_TARGET_WINDOW__ || window; + return getNestedBoundingClientRect(node, currentWindow); + } + ; + function bridge_typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + bridge_typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + bridge_typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return bridge_typeof(obj); + } + function bridge_toConsumableArray(arr) { + return bridge_arrayWithoutHoles(arr) || bridge_iterableToArray(arr) || bridge_unsupportedIterableToArray(arr) || bridge_nonIterableSpread(); + } + function bridge_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."); + } + function bridge_unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return bridge_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 bridge_arrayLikeToArray(o, minLen); + } + function bridge_iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); + } + function bridge_arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return bridge_arrayLikeToArray(arr); + } + function bridge_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; + } + function bridge_classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + function bridge_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); + } + } + function bridge_createClass(Constructor, protoProps, staticProps) { + if (protoProps) bridge_defineProperties(Constructor.prototype, protoProps); + if (staticProps) bridge_defineProperties(Constructor, staticProps); + return Constructor; + } + function _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); + } + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf2(o2, p2) { + o2.__proto__ = p2; + return o2; + }; + return _setPrototypeOf(o, p); + } + function _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); + }; + } + function _possibleConstructorReturn(self, call) { + if (call && (bridge_typeof(call) === "object" || typeof call === "function")) { + return call; + } + return _assertThisInitialized(self); + } + function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + return self; + } + function _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; + } + } + function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf2(o2) { + return o2.__proto__ || Object.getPrototypeOf(o2); + }; + return _getPrototypeOf(o); + } + function bridge_defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); + } else { + obj[key] = value; + } + return obj; + } + var BRIDGE_PROTOCOL = [ + // This version technically never existed, + // but a backwards breaking change was added in 4.11, + // so the safest guess to downgrade the frontend would be to version 4.10. + { + version: 0, + minNpmVersion: '"<4.11.0"', + maxNpmVersion: '"<4.11.0"' + }, + // Versions 4.11.x – 4.12.x contained the backwards breaking change, + // but we didn't add the "fix" of checking the protocol version until 4.13, + // so we don't recommend downgrading to 4.11 or 4.12. + { + version: 1, + minNpmVersion: "4.13.0", + maxNpmVersion: "4.21.0" + }, + // Version 2 adds a StrictMode-enabled and supports-StrictMode bits to add-root operation. + { + version: 2, + minNpmVersion: "4.22.0", + maxNpmVersion: null + } + ]; + var currentBridgeProtocol = BRIDGE_PROTOCOL[BRIDGE_PROTOCOL.length - 1]; + var Bridge = /* @__PURE__ */ function(_EventEmitter) { + _inherits(Bridge2, _EventEmitter); + var _super = _createSuper(Bridge2); + function Bridge2(wall) { + var _this; + bridge_classCallCheck(this, Bridge2); + _this = _super.call(this); + bridge_defineProperty(_assertThisInitialized(_this), "_isShutdown", false); + bridge_defineProperty(_assertThisInitialized(_this), "_messageQueue", []); + bridge_defineProperty(_assertThisInitialized(_this), "_scheduledFlush", false); + bridge_defineProperty(_assertThisInitialized(_this), "_wallUnlisten", null); + bridge_defineProperty(_assertThisInitialized(_this), "_flush", function() { + try { + if (_this._messageQueue.length) { + for (var i = 0; i < _this._messageQueue.length; i += 2) { + var _this$_wall; + (_this$_wall = _this._wall).send.apply(_this$_wall, [_this._messageQueue[i]].concat(bridge_toConsumableArray(_this._messageQueue[i + 1]))); + } + _this._messageQueue.length = 0; + } + } finally { + _this._scheduledFlush = false; + } + }); + bridge_defineProperty(_assertThisInitialized(_this), "overrideValueAtPath", function(_ref) { + var id = _ref.id, path = _ref.path, rendererID = _ref.rendererID, type = _ref.type, value = _ref.value; + switch (type) { + case "context": + _this.send("overrideContext", { + id, + path, + rendererID, + wasForwarded: true, + value + }); + break; + case "hooks": + _this.send("overrideHookState", { + id, + path, + rendererID, + wasForwarded: true, + value + }); + break; + case "props": + _this.send("overrideProps", { + id, + path, + rendererID, + wasForwarded: true, + value + }); + break; + case "state": + _this.send("overrideState", { + id, + path, + rendererID, + wasForwarded: true, + value + }); + break; + } + }); + _this._wall = wall; + _this._wallUnlisten = wall.listen(function(message) { + if (message && message.event) { + _assertThisInitialized(_this).emit(message.event, message.payload); + } + }) || null; + _this.addListener("overrideValueAtPath", _this.overrideValueAtPath); + return _this; + } + bridge_createClass(Bridge2, [{ + key: "send", + value: function send(event) { + if (this._isShutdown) { + console.warn('Cannot send message "'.concat(event, '" through a Bridge that has been shutdown.')); + return; + } + for (var _len = arguments.length, payload = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + payload[_key - 1] = arguments[_key]; + } + this._messageQueue.push(event, payload); + if (!this._scheduledFlush) { + this._scheduledFlush = true; + if (typeof devtoolsJestTestScheduler === "function") { + devtoolsJestTestScheduler(this._flush); + } else { + queueMicrotask(this._flush); + } + } + } + }, { + key: "shutdown", + value: function shutdown() { + if (this._isShutdown) { + console.warn("Bridge was already shutdown."); + return; + } + this.emit("shutdown"); + this.send("shutdown"); + this._isShutdown = true; + this.addListener = function() { + }; + this.emit = function() { + }; + this.removeAllListeners(); + var wallUnlisten = this._wallUnlisten; + if (wallUnlisten) { + wallUnlisten(); + } + do { + this._flush(); + } while (this._messageQueue.length); + } + }, { + key: "wall", + get: function get() { + return this._wall; + } + }]); + return Bridge2; + }(EventEmitter); + const src_bridge = Bridge; + ; + function storage_localStorageGetItem(key) { + try { + return localStorage.getItem(key); + } catch (error) { + return null; + } + } + function localStorageRemoveItem(key) { + try { + localStorage.removeItem(key); + } catch (error) { + } + } + function storage_localStorageSetItem(key, value) { + try { + return localStorage.setItem(key, value); + } catch (error) { + } + } + function storage_sessionStorageGetItem(key) { + try { + return sessionStorage.getItem(key); + } catch (error) { + return null; + } + } + function storage_sessionStorageRemoveItem(key) { + try { + sessionStorage.removeItem(key); + } catch (error) { + } + } + function storage_sessionStorageSetItem(key, value) { + try { + return sessionStorage.setItem(key, value); + } catch (error) { + } + } + ; + function agent_typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + agent_typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + agent_typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return agent_typeof(obj); + } + function agent_classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + function agent_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); + } + } + function agent_createClass(Constructor, protoProps, staticProps) { + if (protoProps) agent_defineProperties(Constructor.prototype, protoProps); + if (staticProps) agent_defineProperties(Constructor, staticProps); + return Constructor; + } + function agent_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) agent_setPrototypeOf(subClass, superClass); + } + function agent_setPrototypeOf(o, p) { + agent_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf2(o2, p2) { + o2.__proto__ = p2; + return o2; + }; + return agent_setPrototypeOf(o, p); + } + function agent_createSuper(Derived) { + var hasNativeReflectConstruct = agent_isNativeReflectConstruct(); + return function _createSuperInternal() { + var Super = agent_getPrototypeOf(Derived), result; + if (hasNativeReflectConstruct) { + var NewTarget = agent_getPrototypeOf(this).constructor; + result = Reflect.construct(Super, arguments, NewTarget); + } else { + result = Super.apply(this, arguments); + } + return agent_possibleConstructorReturn(this, result); + }; + } + function agent_possibleConstructorReturn(self, call) { + if (call && (agent_typeof(call) === "object" || typeof call === "function")) { + return call; + } + return agent_assertThisInitialized(self); + } + function agent_assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + return self; + } + function agent_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; + } + } + function agent_getPrototypeOf(o) { + agent_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf2(o2) { + return o2.__proto__ || Object.getPrototypeOf(o2); + }; + return agent_getPrototypeOf(o); + } + function agent_defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); + } else { + obj[key] = value; + } + return obj; + } + var debug = function debug2(methodName) { + if (__DEBUG__) { + var _console; + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + (_console = console).log.apply(_console, ["%cAgent %c".concat(methodName), "color: purple; font-weight: bold;", "font-weight: bold;"].concat(args)); + } + }; + var Agent = /* @__PURE__ */ function(_EventEmitter) { + agent_inherits(Agent2, _EventEmitter); + var _super = agent_createSuper(Agent2); + function Agent2(bridge) { + var _this; + var isProfiling = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var onReloadAndProfile2 = arguments.length > 2 ? arguments[2] : void 0; + agent_classCallCheck(this, Agent2); + _this = _super.call(this); + agent_defineProperty(agent_assertThisInitialized(_this), "_isProfiling", false); + agent_defineProperty(agent_assertThisInitialized(_this), "_rendererInterfaces", {}); + agent_defineProperty(agent_assertThisInitialized(_this), "_persistedSelection", null); + agent_defineProperty(agent_assertThisInitialized(_this), "_persistedSelectionMatch", null); + agent_defineProperty(agent_assertThisInitialized(_this), "_traceUpdatesEnabled", false); + agent_defineProperty(agent_assertThisInitialized(_this), "clearErrorsAndWarnings", function(_ref) { + var rendererID = _ref.rendererID; + var renderer = _this._rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '"')); + } else { + renderer.clearErrorsAndWarnings(); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "clearErrorsForElementID", function(_ref2) { + var id = _ref2.id, rendererID = _ref2.rendererID; + var renderer = _this._rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '"')); + } else { + renderer.clearErrorsForElementID(id); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "clearWarningsForElementID", function(_ref3) { + var id = _ref3.id, rendererID = _ref3.rendererID; + var renderer = _this._rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '"')); + } else { + renderer.clearWarningsForElementID(id); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "copyElementPath", function(_ref4) { + var id = _ref4.id, path = _ref4.path, rendererID = _ref4.rendererID; + var renderer = _this._rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"')); + } else { + var value = renderer.getSerializedElementValueByPath(id, path); + if (value != null) { + _this._bridge.send("saveToClipboard", value); + } else { + console.warn('Unable to obtain serialized value for element "'.concat(id, '"')); + } + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "deletePath", function(_ref5) { + var hookID = _ref5.hookID, id = _ref5.id, path = _ref5.path, rendererID = _ref5.rendererID, type = _ref5.type; + var renderer = _this._rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"')); + } else { + renderer.deletePath(type, id, hookID, path); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "getBackendVersion", function() { + var version = "6.1.1-44c3d3d665"; + if (version) { + _this._bridge.send("backendVersion", version); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "getBridgeProtocol", function() { + _this._bridge.send("bridgeProtocol", currentBridgeProtocol); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "getProfilingData", function(_ref6) { + var rendererID = _ref6.rendererID; + var renderer = _this._rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '"')); + } + _this._bridge.send("profilingData", renderer.getProfilingData()); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "getProfilingStatus", function() { + _this._bridge.send("profilingStatus", _this._isProfiling); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "getOwnersList", function(_ref7) { + var id = _ref7.id, rendererID = _ref7.rendererID; + var renderer = _this._rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"')); + } else { + var owners = renderer.getOwnersList(id); + _this._bridge.send("ownersList", { + id, + owners + }); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "inspectElement", function(_ref8) { + var forceFullData = _ref8.forceFullData, id = _ref8.id, path = _ref8.path, rendererID = _ref8.rendererID, requestID = _ref8.requestID; + var renderer = _this._rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"')); + } else { + _this._bridge.send("inspectedElement", renderer.inspectElement(requestID, id, path, forceFullData)); + if (_this._persistedSelectionMatch === null || _this._persistedSelectionMatch.id !== id) { + _this._persistedSelection = null; + _this._persistedSelectionMatch = null; + renderer.setTrackedPath(null); + _this._lastSelectedElementID = id; + _this._lastSelectedRendererID = rendererID; + if (!_this._persistSelectionTimerScheduled) { + _this._persistSelectionTimerScheduled = true; + setTimeout(_this._persistSelection, 1e3); + } + } + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "logElementToConsole", function(_ref9) { + var id = _ref9.id, rendererID = _ref9.rendererID; + var renderer = _this._rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"')); + } else { + renderer.logElementToConsole(id); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "overrideError", function(_ref10) { + var id = _ref10.id, rendererID = _ref10.rendererID, forceError = _ref10.forceError; + var renderer = _this._rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"')); + } else { + renderer.overrideError(id, forceError); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "overrideSuspense", function(_ref11) { + var id = _ref11.id, rendererID = _ref11.rendererID, forceFallback = _ref11.forceFallback; + var renderer = _this._rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"')); + } else { + renderer.overrideSuspense(id, forceFallback); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "overrideValueAtPath", function(_ref12) { + var hookID = _ref12.hookID, id = _ref12.id, path = _ref12.path, rendererID = _ref12.rendererID, type = _ref12.type, value = _ref12.value; + var renderer = _this._rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"')); + } else { + renderer.overrideValueAtPath(type, id, hookID, path, value); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "overrideContext", function(_ref13) { + var id = _ref13.id, path = _ref13.path, rendererID = _ref13.rendererID, wasForwarded = _ref13.wasForwarded, value = _ref13.value; + if (!wasForwarded) { + _this.overrideValueAtPath({ + id, + path, + rendererID, + type: "context", + value + }); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "overrideHookState", function(_ref14) { + var id = _ref14.id, hookID = _ref14.hookID, path = _ref14.path, rendererID = _ref14.rendererID, wasForwarded = _ref14.wasForwarded, value = _ref14.value; + if (!wasForwarded) { + _this.overrideValueAtPath({ + id, + path, + rendererID, + type: "hooks", + value + }); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "overrideProps", function(_ref15) { + var id = _ref15.id, path = _ref15.path, rendererID = _ref15.rendererID, wasForwarded = _ref15.wasForwarded, value = _ref15.value; + if (!wasForwarded) { + _this.overrideValueAtPath({ + id, + path, + rendererID, + type: "props", + value + }); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "overrideState", function(_ref16) { + var id = _ref16.id, path = _ref16.path, rendererID = _ref16.rendererID, wasForwarded = _ref16.wasForwarded, value = _ref16.value; + if (!wasForwarded) { + _this.overrideValueAtPath({ + id, + path, + rendererID, + type: "state", + value + }); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "onReloadAndProfileSupportedByHost", function() { + _this._bridge.send("isReloadAndProfileSupportedByBackend", true); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "reloadAndProfile", function(_ref17) { + var recordChangeDescriptions = _ref17.recordChangeDescriptions, recordTimeline = _ref17.recordTimeline; + if (typeof _this._onReloadAndProfile === "function") { + _this._onReloadAndProfile(recordChangeDescriptions, recordTimeline); + } + _this._bridge.send("reloadAppForProfiling"); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "renamePath", function(_ref18) { + var hookID = _ref18.hookID, id = _ref18.id, newPath = _ref18.newPath, oldPath = _ref18.oldPath, rendererID = _ref18.rendererID, type = _ref18.type; + var renderer = _this._rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"')); + } else { + renderer.renamePath(type, id, hookID, oldPath, newPath); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "setTraceUpdatesEnabled", function(traceUpdatesEnabled) { + _this._traceUpdatesEnabled = traceUpdatesEnabled; + toggleEnabled(traceUpdatesEnabled); + for (var rendererID in _this._rendererInterfaces) { + var renderer = _this._rendererInterfaces[rendererID]; + renderer.setTraceUpdatesEnabled(traceUpdatesEnabled); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "syncSelectionFromBuiltinElementsPanel", function() { + var target = window.__REACT_DEVTOOLS_GLOBAL_HOOK__.$0; + if (target == null) { + return; + } + _this.selectNode(target); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "shutdown", function() { + _this.emit("shutdown"); + _this._bridge.removeAllListeners(); + _this.removeAllListeners(); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "startProfiling", function(_ref19) { + var recordChangeDescriptions = _ref19.recordChangeDescriptions, recordTimeline = _ref19.recordTimeline; + _this._isProfiling = true; + for (var rendererID in _this._rendererInterfaces) { + var renderer = _this._rendererInterfaces[rendererID]; + renderer.startProfiling(recordChangeDescriptions, recordTimeline); + } + _this._bridge.send("profilingStatus", _this._isProfiling); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "stopProfiling", function() { + _this._isProfiling = false; + for (var rendererID in _this._rendererInterfaces) { + var renderer = _this._rendererInterfaces[rendererID]; + renderer.stopProfiling(); + } + _this._bridge.send("profilingStatus", _this._isProfiling); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "stopInspectingNative", function(selected) { + _this._bridge.send("stopInspectingHost", selected); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "storeAsGlobal", function(_ref20) { + var count = _ref20.count, id = _ref20.id, path = _ref20.path, rendererID = _ref20.rendererID; + var renderer = _this._rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"')); + } else { + renderer.storeAsGlobal(id, path, count); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "updateHookSettings", function(settings) { + _this.emit("updateHookSettings", settings); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "getHookSettings", function() { + _this.emit("getHookSettings"); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "onHookSettings", function(settings) { + _this._bridge.send("hookSettings", settings); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "updateComponentFilters", function(componentFilters) { + for (var rendererIDString in _this._rendererInterfaces) { + var rendererID = +rendererIDString; + var renderer = _this._rendererInterfaces[rendererID]; + if (_this._lastSelectedRendererID === rendererID) { + var path = renderer.getPathForElement(_this._lastSelectedElementID); + if (path !== null) { + renderer.setTrackedPath(path); + _this._persistedSelection = { + rendererID, + path + }; + } + } + renderer.updateComponentFilters(componentFilters); + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "getEnvironmentNames", function() { + var accumulatedNames = null; + for (var rendererID in _this._rendererInterfaces) { + var renderer = _this._rendererInterfaces[+rendererID]; + var names = renderer.getEnvironmentNames(); + if (accumulatedNames === null) { + accumulatedNames = names; + } else { + for (var i = 0; i < names.length; i++) { + if (accumulatedNames.indexOf(names[i]) === -1) { + accumulatedNames.push(names[i]); + } + } + } + } + _this._bridge.send("environmentNames", accumulatedNames || []); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "onTraceUpdates", function(nodes) { + _this.emit("traceUpdates", nodes); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "onFastRefreshScheduled", function() { + if (__DEBUG__) { + debug("onFastRefreshScheduled"); + } + _this._bridge.send("fastRefreshScheduled"); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "onHookOperations", function(operations) { + if (__DEBUG__) { + debug("onHookOperations", "(".concat(operations.length, ") [").concat(operations.join(", "), "]")); + } + _this._bridge.send("operations", operations); + if (_this._persistedSelection !== null) { + var rendererID = operations[0]; + if (_this._persistedSelection.rendererID === rendererID) { + var renderer = _this._rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '"')); + } else { + var prevMatch = _this._persistedSelectionMatch; + var nextMatch = renderer.getBestMatchForTrackedPath(); + _this._persistedSelectionMatch = nextMatch; + var prevMatchID = prevMatch !== null ? prevMatch.id : null; + var nextMatchID = nextMatch !== null ? nextMatch.id : null; + if (prevMatchID !== nextMatchID) { + if (nextMatchID !== null) { + _this._bridge.send("selectElement", nextMatchID); + } + } + if (nextMatch !== null && nextMatch.isFullMatch) { + _this._persistedSelection = null; + _this._persistedSelectionMatch = null; + renderer.setTrackedPath(null); + } + } + } + } + }); + agent_defineProperty(agent_assertThisInitialized(_this), "getIfHasUnsupportedRendererVersion", function() { + _this.emit("getIfHasUnsupportedRendererVersion"); + }); + agent_defineProperty(agent_assertThisInitialized(_this), "_persistSelectionTimerScheduled", false); + agent_defineProperty(agent_assertThisInitialized(_this), "_lastSelectedRendererID", -1); + agent_defineProperty(agent_assertThisInitialized(_this), "_lastSelectedElementID", -1); + agent_defineProperty(agent_assertThisInitialized(_this), "_persistSelection", function() { + _this._persistSelectionTimerScheduled = false; + var rendererID = _this._lastSelectedRendererID; + var id = _this._lastSelectedElementID; + var renderer = _this._rendererInterfaces[rendererID]; + var path = renderer != null ? renderer.getPathForElement(id) : null; + if (path !== null) { + storage_sessionStorageSetItem(SESSION_STORAGE_LAST_SELECTION_KEY, JSON.stringify({ + rendererID, + path + })); + } else { + storage_sessionStorageRemoveItem(SESSION_STORAGE_LAST_SELECTION_KEY); + } + }); + _this._isProfiling = isProfiling; + _this._onReloadAndProfile = onReloadAndProfile2; + var persistedSelectionString = storage_sessionStorageGetItem(SESSION_STORAGE_LAST_SELECTION_KEY); + if (persistedSelectionString != null) { + _this._persistedSelection = JSON.parse(persistedSelectionString); + } + _this._bridge = bridge; + bridge.addListener("clearErrorsAndWarnings", _this.clearErrorsAndWarnings); + bridge.addListener("clearErrorsForElementID", _this.clearErrorsForElementID); + bridge.addListener("clearWarningsForElementID", _this.clearWarningsForElementID); + bridge.addListener("copyElementPath", _this.copyElementPath); + bridge.addListener("deletePath", _this.deletePath); + bridge.addListener("getBackendVersion", _this.getBackendVersion); + bridge.addListener("getBridgeProtocol", _this.getBridgeProtocol); + bridge.addListener("getProfilingData", _this.getProfilingData); + bridge.addListener("getProfilingStatus", _this.getProfilingStatus); + bridge.addListener("getOwnersList", _this.getOwnersList); + bridge.addListener("inspectElement", _this.inspectElement); + bridge.addListener("logElementToConsole", _this.logElementToConsole); + bridge.addListener("overrideError", _this.overrideError); + bridge.addListener("overrideSuspense", _this.overrideSuspense); + bridge.addListener("overrideValueAtPath", _this.overrideValueAtPath); + bridge.addListener("reloadAndProfile", _this.reloadAndProfile); + bridge.addListener("renamePath", _this.renamePath); + bridge.addListener("setTraceUpdatesEnabled", _this.setTraceUpdatesEnabled); + bridge.addListener("startProfiling", _this.startProfiling); + bridge.addListener("stopProfiling", _this.stopProfiling); + bridge.addListener("storeAsGlobal", _this.storeAsGlobal); + bridge.addListener("syncSelectionFromBuiltinElementsPanel", _this.syncSelectionFromBuiltinElementsPanel); + bridge.addListener("shutdown", _this.shutdown); + bridge.addListener("updateHookSettings", _this.updateHookSettings); + bridge.addListener("getHookSettings", _this.getHookSettings); + bridge.addListener("updateComponentFilters", _this.updateComponentFilters); + bridge.addListener("getEnvironmentNames", _this.getEnvironmentNames); + bridge.addListener("getIfHasUnsupportedRendererVersion", _this.getIfHasUnsupportedRendererVersion); + bridge.addListener("overrideContext", _this.overrideContext); + bridge.addListener("overrideHookState", _this.overrideHookState); + bridge.addListener("overrideProps", _this.overrideProps); + bridge.addListener("overrideState", _this.overrideState); + setupHighlighter(bridge, agent_assertThisInitialized(_this)); + TraceUpdates_initialize(agent_assertThisInitialized(_this)); + bridge.send("backendInitialized"); + if (_this._isProfiling) { + bridge.send("profilingStatus", true); + } + return _this; + } + agent_createClass(Agent2, [{ + key: "getInstanceAndStyle", + value: function getInstanceAndStyle(_ref21) { + var id = _ref21.id, rendererID = _ref21.rendererID; + var renderer = this._rendererInterfaces[rendererID]; + if (renderer == null) { + console.warn('Invalid renderer id "'.concat(rendererID, '"')); + return null; + } + return renderer.getInstanceAndStyle(id); + } + }, { + key: "getIDForHostInstance", + value: function getIDForHostInstance(target) { + if (isReactNativeEnvironment() || typeof target.nodeType !== "number") { + for (var rendererID in this._rendererInterfaces) { + var renderer = this._rendererInterfaces[rendererID]; + try { + var match = renderer.getElementIDForHostInstance(target); + if (match != null) { + return match; + } + } catch (error) { + } + } + return null; + } else { + var bestMatch = null; + var bestRenderer = null; + for (var _rendererID in this._rendererInterfaces) { + var _renderer = this._rendererInterfaces[_rendererID]; + var nearestNode = _renderer.getNearestMountedDOMNode(target); + if (nearestNode !== null) { + if (nearestNode === target) { + bestMatch = nearestNode; + bestRenderer = _renderer; + break; + } + if (bestMatch === null || bestMatch.contains(nearestNode)) { + bestMatch = nearestNode; + bestRenderer = _renderer; + } + } + } + if (bestRenderer != null && bestMatch != null) { + try { + return bestRenderer.getElementIDForHostInstance(bestMatch); + } catch (error) { + } + } + return null; + } + } + }, { + key: "getComponentNameForHostInstance", + value: function getComponentNameForHostInstance(target) { + if (isReactNativeEnvironment() || typeof target.nodeType !== "number") { + for (var rendererID in this._rendererInterfaces) { + var renderer = this._rendererInterfaces[rendererID]; + try { + var id = renderer.getElementIDForHostInstance(target); + if (id) { + return renderer.getDisplayNameForElementID(id); + } + } catch (error) { + } + } + return null; + } else { + var bestMatch = null; + var bestRenderer = null; + for (var _rendererID2 in this._rendererInterfaces) { + var _renderer2 = this._rendererInterfaces[_rendererID2]; + var nearestNode = _renderer2.getNearestMountedDOMNode(target); + if (nearestNode !== null) { + if (nearestNode === target) { + bestMatch = nearestNode; + bestRenderer = _renderer2; + break; + } + if (bestMatch === null || bestMatch.contains(nearestNode)) { + bestMatch = nearestNode; + bestRenderer = _renderer2; + } + } + } + if (bestRenderer != null && bestMatch != null) { + try { + var _id = bestRenderer.getElementIDForHostInstance(bestMatch); + if (_id) { + return bestRenderer.getDisplayNameForElementID(_id); + } + } catch (error) { + } + } + return null; + } + } + }, { + key: "selectNode", + value: function selectNode(target) { + var id = this.getIDForHostInstance(target); + if (id !== null) { + this._bridge.send("selectElement", id); + } + } + }, { + key: "registerRendererInterface", + value: function registerRendererInterface(rendererID, rendererInterface) { + this._rendererInterfaces[rendererID] = rendererInterface; + rendererInterface.setTraceUpdatesEnabled(this._traceUpdatesEnabled); + var selection = this._persistedSelection; + if (selection !== null && selection.rendererID === rendererID) { + rendererInterface.setTrackedPath(selection.path); + } + } + }, { + key: "onUnsupportedRenderer", + value: function onUnsupportedRenderer() { + this._bridge.send("unsupportedRendererVersion"); + } + }, { + key: "rendererInterfaces", + get: function get() { + return this._rendererInterfaces; + } + }]); + return Agent2; + }(EventEmitter); + ; + function DevToolsConsolePatching_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; + } + function DevToolsConsolePatching_objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + if (i % 2) { + DevToolsConsolePatching_ownKeys(Object(source), true).forEach(function(key) { + DevToolsConsolePatching_defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + DevToolsConsolePatching_ownKeys(Object(source)).forEach(function(key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + return target; + } + function DevToolsConsolePatching_defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); + } else { + obj[key] = value; + } + return obj; + } + var disabledDepth = 0; + var prevLog; + var prevInfo; + var prevWarn; + var prevError; + var prevGroup; + var prevGroupCollapsed; + var prevGroupEnd; + function disabledLog() { + } + disabledLog.__reactDisabledLog = true; + function disableLogs() { + if (disabledDepth === 0) { + prevLog = console.log; + prevInfo = console.info; + prevWarn = console.warn; + prevError = console.error; + prevGroup = console.group; + prevGroupCollapsed = console.groupCollapsed; + prevGroupEnd = console.groupEnd; + var props = { + configurable: true, + enumerable: true, + value: disabledLog, + writable: true + }; + Object.defineProperties(console, { + info: props, + log: props, + warn: props, + error: props, + group: props, + groupCollapsed: props, + groupEnd: props + }); + } + disabledDepth++; + } + function reenableLogs() { + disabledDepth--; + if (disabledDepth === 0) { + var props = { + configurable: true, + enumerable: true, + writable: true + }; + Object.defineProperties(console, { + log: DevToolsConsolePatching_objectSpread(DevToolsConsolePatching_objectSpread({}, props), {}, { + value: prevLog + }), + info: DevToolsConsolePatching_objectSpread(DevToolsConsolePatching_objectSpread({}, props), {}, { + value: prevInfo + }), + warn: DevToolsConsolePatching_objectSpread(DevToolsConsolePatching_objectSpread({}, props), {}, { + value: prevWarn + }), + error: DevToolsConsolePatching_objectSpread(DevToolsConsolePatching_objectSpread({}, props), {}, { + value: prevError + }), + group: DevToolsConsolePatching_objectSpread(DevToolsConsolePatching_objectSpread({}, props), {}, { + value: prevGroup + }), + groupCollapsed: DevToolsConsolePatching_objectSpread(DevToolsConsolePatching_objectSpread({}, props), {}, { + value: prevGroupCollapsed + }), + groupEnd: DevToolsConsolePatching_objectSpread(DevToolsConsolePatching_objectSpread({}, props), {}, { + value: prevGroupEnd + }) + }); + } + if (disabledDepth < 0) { + console.error("disabledDepth fell below zero. This is a bug in React. Please file an issue."); + } + } + ; + function DevToolsComponentStackFrame_slicedToArray(arr, i) { + return DevToolsComponentStackFrame_arrayWithHoles(arr) || DevToolsComponentStackFrame_iterableToArrayLimit(arr, i) || DevToolsComponentStackFrame_unsupportedIterableToArray(arr, i) || DevToolsComponentStackFrame_nonIterableRest(); + } + function DevToolsComponentStackFrame_nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + function DevToolsComponentStackFrame_unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return DevToolsComponentStackFrame_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 DevToolsComponentStackFrame_arrayLikeToArray(o, minLen); + } + function DevToolsComponentStackFrame_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; + } + function DevToolsComponentStackFrame_iterableToArrayLimit(arr, i) { + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; + var _arr = []; + var _n = true; + var _d = false; + var _e = void 0; + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + return _arr; + } + function DevToolsComponentStackFrame_arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; + } + function DevToolsComponentStackFrame_typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + DevToolsComponentStackFrame_typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + DevToolsComponentStackFrame_typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return DevToolsComponentStackFrame_typeof(obj); + } + var prefix; + function describeBuiltInComponentFrame(name) { + if (prefix === void 0) { + try { + throw Error(); + } catch (x) { + var match = x.stack.trim().match(/\n( *(at )?)/); + prefix = match && match[1] || ""; + } + } + var suffix = ""; + if (true) { + suffix = " (<anonymous>)"; + } else { + } + return "\n" + prefix + name + suffix; + } + function describeDebugInfoFrame(name, env) { + return describeBuiltInComponentFrame(name + (env ? " [" + env + "]" : "")); + } + var reentry = false; + var componentFrameCache; + if (false) { + var PossiblyWeakMap; + } + function describeNativeComponentFrame(fn, construct, currentDispatcherRef) { + if (!fn || reentry) { + return ""; + } + if (false) { + var frame; + } + var previousPrepareStackTrace = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + reentry = true; + var previousDispatcher = currentDispatcherRef.H; + currentDispatcherRef.H = null; + disableLogs(); + try { + var RunInRootFrame = { + DetermineComponentFrameRoot: function DetermineComponentFrameRoot() { + var control; + try { + if (construct) { + var Fake = function Fake2() { + throw Error(); + }; + Object.defineProperty(Fake.prototype, "props", { + set: function set() { + throw Error(); + } + }); + if ((typeof Reflect === "undefined" ? "undefined" : DevToolsComponentStackFrame_typeof(Reflect)) === "object" && Reflect.construct) { + try { + Reflect.construct(Fake, []); + } catch (x) { + control = x; + } + Reflect.construct(fn, [], Fake); + } else { + try { + Fake.call(); + } catch (x) { + control = x; + } + fn.call(Fake.prototype); + } + } else { + try { + throw Error(); + } catch (x) { + control = x; + } + var maybePromise = fn(); + if (maybePromise && typeof maybePromise.catch === "function") { + maybePromise.catch(function() { + }); + } + } + } catch (sample) { + if (sample && control && typeof sample.stack === "string") { + return [sample.stack, control.stack]; + } + } + return [null, null]; + } + }; + RunInRootFrame.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot"; + var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, "name"); + if (namePropDescriptor && namePropDescriptor.configurable) { + Object.defineProperty( + RunInRootFrame.DetermineComponentFrameRoot, + // Configurable properties can be updated even if its writable descriptor + // is set to `false`. + // $FlowFixMe[cannot-write] + "name", + { + value: "DetermineComponentFrameRoot" + } + ); + } + var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), _RunInRootFrame$Deter2 = DevToolsComponentStackFrame_slicedToArray(_RunInRootFrame$Deter, 2), sampleStack = _RunInRootFrame$Deter2[0], controlStack = _RunInRootFrame$Deter2[1]; + if (sampleStack && controlStack) { + var sampleLines = sampleStack.split("\n"); + var controlLines = controlStack.split("\n"); + var s = 0; + var c = 0; + while (s < sampleLines.length && !sampleLines[s].includes("DetermineComponentFrameRoot")) { + s++; + } + while (c < controlLines.length && !controlLines[c].includes("DetermineComponentFrameRoot")) { + c++; + } + if (s === sampleLines.length || c === controlLines.length) { + s = sampleLines.length - 1; + c = controlLines.length - 1; + while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) { + c--; + } + } + for (; s >= 1 && c >= 0; s--, c--) { + if (sampleLines[s] !== controlLines[c]) { + if (s !== 1 || c !== 1) { + do { + s--; + c--; + if (c < 0 || sampleLines[s] !== controlLines[c]) { + var _frame = "\n" + sampleLines[s].replace(" at new ", " at "); + if (fn.displayName && _frame.includes("<anonymous>")) { + _frame = _frame.replace("<anonymous>", fn.displayName); + } + if (false) { + } + return _frame; + } + } while (s >= 1 && c >= 0); + } + break; + } + } + } + } finally { + reentry = false; + Error.prepareStackTrace = previousPrepareStackTrace; + currentDispatcherRef.H = previousDispatcher; + reenableLogs(); + } + var name = fn ? fn.displayName || fn.name : ""; + var syntheticFrame = name ? describeBuiltInComponentFrame(name) : ""; + if (false) { + } + return syntheticFrame; + } + function describeClassComponentFrame(ctor, currentDispatcherRef) { + return describeNativeComponentFrame(ctor, true, currentDispatcherRef); + } + function describeFunctionComponentFrame(fn, currentDispatcherRef) { + return describeNativeComponentFrame(fn, false, currentDispatcherRef); + } + ; + function formatOwnerStack(error) { + var prevPrepareStackTrace = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + var stack = error.stack; + Error.prepareStackTrace = prevPrepareStackTrace; + if (stack.startsWith("Error: react-stack-top-frame\n")) { + stack = stack.slice(29); + } + var idx = stack.indexOf("\n"); + if (idx !== -1) { + stack = stack.slice(idx + 1); + } + idx = stack.indexOf("react-stack-bottom-frame"); + if (idx !== -1) { + idx = stack.lastIndexOf("\n", idx); + } + if (idx !== -1) { + stack = stack.slice(0, idx); + } else { + return ""; + } + return stack; + } + ; + function getOwnerStackByComponentInfoInDev(componentInfo) { + try { + var info = ""; + if (!componentInfo.owner && typeof componentInfo.name === "string") { + return describeBuiltInComponentFrame(componentInfo.name); + } + var owner = componentInfo; + while (owner) { + var ownerStack = owner.debugStack; + if (ownerStack != null) { + owner = owner.owner; + if (owner) { + info += "\n" + formatOwnerStack(ownerStack); + } + } else { + break; + } + } + return info; + } catch (x) { + return "\nError generating stack: " + x.message + "\n" + x.stack; + } + } + ; + var componentInfoToComponentLogsMap = /* @__PURE__ */ new WeakMap(); + ; + function renderer_toConsumableArray(arr) { + return renderer_arrayWithoutHoles(arr) || renderer_iterableToArray(arr) || renderer_unsupportedIterableToArray(arr) || renderer_nonIterableSpread(); + } + function renderer_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."); + } + function renderer_unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return renderer_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 renderer_arrayLikeToArray(o, minLen); + } + function renderer_iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); + } + function renderer_arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return renderer_arrayLikeToArray(arr); + } + function renderer_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; + } + function supportsConsoleTasks(componentInfo) { + return !!componentInfo.debugTask; + } + function attach(hook, rendererID, renderer, global2) { + var getCurrentComponentInfo = renderer.getCurrentComponentInfo; + function getComponentStack(topFrame) { + if (getCurrentComponentInfo === void 0) { + return null; + } + var current = getCurrentComponentInfo(); + if (current === null) { + return null; + } + if (supportsConsoleTasks(current)) { + return null; + } + var enableOwnerStacks2 = current.debugStack != null; + var componentStack = ""; + if (enableOwnerStacks2) { + var topStackFrames = formatOwnerStack(topFrame); + if (topStackFrames) { + componentStack += "\n" + topStackFrames; + } + componentStack += getOwnerStackByComponentInfoInDev(current); + } + return { + enableOwnerStacks: enableOwnerStacks2, + componentStack + }; + } + function onErrorOrWarning(type, args) { + if (getCurrentComponentInfo === void 0) { + return; + } + var componentInfo = getCurrentComponentInfo(); + if (componentInfo === null) { + return; + } + if (args.length > 3 && typeof args[0] === "string" && args[0].startsWith("%c%s%c ") && typeof args[1] === "string" && typeof args[2] === "string" && typeof args[3] === "string") { + var format = args[0].slice(7); + var env = args[2].trim(); + args = args.slice(4); + if (env !== componentInfo.env) { + args.unshift("[" + env + "] " + format); + } else { + args.unshift(format); + } + } + var message = formatConsoleArgumentsToSingleString.apply(void 0, renderer_toConsumableArray(args)); + var componentLogsEntry = componentInfoToComponentLogsMap.get(componentInfo); + if (componentLogsEntry === void 0) { + componentLogsEntry = { + errors: /* @__PURE__ */ new Map(), + errorsCount: 0, + warnings: /* @__PURE__ */ new Map(), + warningsCount: 0 + }; + componentInfoToComponentLogsMap.set(componentInfo, componentLogsEntry); + } + var messageMap = type === "error" ? componentLogsEntry.errors : componentLogsEntry.warnings; + var count = messageMap.get(message) || 0; + messageMap.set(message, count + 1); + if (type === "error") { + componentLogsEntry.errorsCount++; + } else { + componentLogsEntry.warningsCount++; + } + } + return { + cleanup: function cleanup() { + }, + clearErrorsAndWarnings: function clearErrorsAndWarnings() { + }, + clearErrorsForElementID: function clearErrorsForElementID() { + }, + clearWarningsForElementID: function clearWarningsForElementID() { + }, + getSerializedElementValueByPath: function getSerializedElementValueByPath() { + }, + deletePath: function deletePath() { + }, + findHostInstancesForElementID: function findHostInstancesForElementID() { + return null; + }, + flushInitialOperations: function flushInitialOperations() { + }, + getBestMatchForTrackedPath: function getBestMatchForTrackedPath() { + return null; + }, + getComponentStack, + getDisplayNameForElementID: function getDisplayNameForElementID() { + return null; + }, + getNearestMountedDOMNode: function getNearestMountedDOMNode() { + return null; + }, + getElementIDForHostInstance: function getElementIDForHostInstance() { + return null; + }, + getInstanceAndStyle: function getInstanceAndStyle() { + return { + instance: null, + style: null + }; + }, + getOwnersList: function getOwnersList() { + return null; + }, + getPathForElement: function getPathForElement() { + return null; + }, + getProfilingData: function getProfilingData() { + throw new Error("getProfilingData not supported by this renderer"); + }, + handleCommitFiberRoot: function handleCommitFiberRoot() { + }, + handleCommitFiberUnmount: function handleCommitFiberUnmount() { + }, + handlePostCommitFiberRoot: function handlePostCommitFiberRoot() { + }, + hasElementWithId: function hasElementWithId() { + return false; + }, + inspectElement: function inspectElement(requestID, id, path) { + return { + id, + responseID: requestID, + type: "not-found" + }; + }, + logElementToConsole: function logElementToConsole() { + }, + getElementAttributeByPath: function getElementAttributeByPath() { + }, + getElementSourceFunctionById: function getElementSourceFunctionById() { + }, + onErrorOrWarning, + overrideError: function overrideError() { + }, + overrideSuspense: function overrideSuspense() { + }, + overrideValueAtPath: function overrideValueAtPath() { + }, + renamePath: function renamePath() { + }, + renderer, + setTraceUpdatesEnabled: function setTraceUpdatesEnabled() { + }, + setTrackedPath: function setTrackedPath() { + }, + startProfiling: function startProfiling() { + }, + stopProfiling: function stopProfiling() { + }, + storeAsGlobal: function storeAsGlobal() { + }, + updateComponentFilters: function updateComponentFilters() { + }, + getEnvironmentNames: function getEnvironmentNames() { + return []; + } + }; + } + var react_debug_tools = __webpack_require__(987); + ; + var CONCURRENT_MODE_NUMBER = 60111; + var CONCURRENT_MODE_SYMBOL_STRING = "Symbol(react.concurrent_mode)"; + var CONTEXT_NUMBER = 60110; + var CONTEXT_SYMBOL_STRING = "Symbol(react.context)"; + var SERVER_CONTEXT_SYMBOL_STRING = "Symbol(react.server_context)"; + var DEPRECATED_ASYNC_MODE_SYMBOL_STRING = "Symbol(react.async_mode)"; + var ELEMENT_SYMBOL_STRING = "Symbol(react.transitional.element)"; + var LEGACY_ELEMENT_NUMBER = 60103; + var LEGACY_ELEMENT_SYMBOL_STRING = "Symbol(react.element)"; + var DEBUG_TRACING_MODE_NUMBER = 60129; + var DEBUG_TRACING_MODE_SYMBOL_STRING = "Symbol(react.debug_trace_mode)"; + var FORWARD_REF_NUMBER = 60112; + var FORWARD_REF_SYMBOL_STRING = "Symbol(react.forward_ref)"; + var FRAGMENT_NUMBER = 60107; + var FRAGMENT_SYMBOL_STRING = "Symbol(react.fragment)"; + var LAZY_NUMBER = 60116; + var LAZY_SYMBOL_STRING = "Symbol(react.lazy)"; + var MEMO_NUMBER = 60115; + var MEMO_SYMBOL_STRING = "Symbol(react.memo)"; + var PORTAL_NUMBER = 60106; + var PORTAL_SYMBOL_STRING = "Symbol(react.portal)"; + var PROFILER_NUMBER = 60114; + var PROFILER_SYMBOL_STRING = "Symbol(react.profiler)"; + var PROVIDER_NUMBER = 60109; + var PROVIDER_SYMBOL_STRING = "Symbol(react.provider)"; + var CONSUMER_SYMBOL_STRING = "Symbol(react.consumer)"; + var SCOPE_NUMBER = 60119; + var SCOPE_SYMBOL_STRING = "Symbol(react.scope)"; + var STRICT_MODE_NUMBER = 60108; + var STRICT_MODE_SYMBOL_STRING = "Symbol(react.strict_mode)"; + var SUSPENSE_NUMBER = 60113; + var SUSPENSE_SYMBOL_STRING = "Symbol(react.suspense)"; + var SUSPENSE_LIST_NUMBER = 60120; + var SUSPENSE_LIST_SYMBOL_STRING = "Symbol(react.suspense_list)"; + var SERVER_CONTEXT_DEFAULT_VALUE_NOT_LOADED_SYMBOL_STRING = "Symbol(react.server_context.defaultValue)"; + var ReactSymbols_REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"); + ; + var enableLogger = false; + var enableStyleXFeatures = false; + var isInternalFacebookBuild = false; + null; + ; + function is(x, y) { + return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y; + } + var objectIs = ( + // $FlowFixMe[method-unbinding] + typeof Object.is === "function" ? Object.is : is + ); + const shared_objectIs = objectIs; + ; + var hasOwnProperty_hasOwnProperty = Object.prototype.hasOwnProperty; + const shared_hasOwnProperty = hasOwnProperty_hasOwnProperty; + ; + function describeFiber(workTagMap, workInProgress, currentDispatcherRef) { + var HostHoistable = workTagMap.HostHoistable, HostSingleton = workTagMap.HostSingleton, HostComponent = workTagMap.HostComponent, LazyComponent = workTagMap.LazyComponent, SuspenseComponent = workTagMap.SuspenseComponent, SuspenseListComponent = workTagMap.SuspenseListComponent, FunctionComponent = workTagMap.FunctionComponent, IndeterminateComponent = workTagMap.IndeterminateComponent, SimpleMemoComponent = workTagMap.SimpleMemoComponent, ForwardRef = workTagMap.ForwardRef, ClassComponent = workTagMap.ClassComponent, ViewTransitionComponent = workTagMap.ViewTransitionComponent; + switch (workInProgress.tag) { + case HostHoistable: + case HostSingleton: + case HostComponent: + return describeBuiltInComponentFrame(workInProgress.type); + case LazyComponent: + return describeBuiltInComponentFrame("Lazy"); + case SuspenseComponent: + return describeBuiltInComponentFrame("Suspense"); + case SuspenseListComponent: + return describeBuiltInComponentFrame("SuspenseList"); + case ViewTransitionComponent: + return describeBuiltInComponentFrame("ViewTransition"); + case FunctionComponent: + case IndeterminateComponent: + case SimpleMemoComponent: + return describeFunctionComponentFrame(workInProgress.type, currentDispatcherRef); + case ForwardRef: + return describeFunctionComponentFrame(workInProgress.type.render, currentDispatcherRef); + case ClassComponent: + return describeClassComponentFrame(workInProgress.type, currentDispatcherRef); + default: + return ""; + } + } + function getStackByFiberInDevAndProd(workTagMap, workInProgress, currentDispatcherRef) { + try { + var info = ""; + var node = workInProgress; + do { + info += describeFiber(workTagMap, node, currentDispatcherRef); + var debugInfo = node._debugInfo; + if (debugInfo) { + for (var i = debugInfo.length - 1; i >= 0; i--) { + var entry = debugInfo[i]; + if (typeof entry.name === "string") { + info += describeDebugInfoFrame(entry.name, entry.env); + } + } + } + node = node.return; + } while (node); + return info; + } catch (x) { + return "\nError generating stack: " + x.message + "\n" + x.stack; + } + } + function getSourceLocationByFiber(workTagMap, fiber, currentDispatcherRef) { + try { + var info = describeFiber(workTagMap, fiber, currentDispatcherRef); + if (info !== "") { + return info.slice(1); + } + } catch (x) { + console.error(x); + } + return null; + } + function DevToolsFiberComponentStack_supportsConsoleTasks(fiber) { + return !!fiber._debugTask; + } + function supportsOwnerStacks(fiber) { + return fiber._debugStack !== void 0; + } + function getOwnerStackByFiberInDev(workTagMap, workInProgress, currentDispatcherRef) { + var HostHoistable = workTagMap.HostHoistable, HostSingleton = workTagMap.HostSingleton, HostText = workTagMap.HostText, HostComponent = workTagMap.HostComponent, SuspenseComponent = workTagMap.SuspenseComponent, SuspenseListComponent = workTagMap.SuspenseListComponent, ViewTransitionComponent = workTagMap.ViewTransitionComponent; + try { + var info = ""; + if (workInProgress.tag === HostText) { + workInProgress = workInProgress.return; + } + switch (workInProgress.tag) { + case HostHoistable: + case HostSingleton: + case HostComponent: + info += describeBuiltInComponentFrame(workInProgress.type); + break; + case SuspenseComponent: + info += describeBuiltInComponentFrame("Suspense"); + break; + case SuspenseListComponent: + info += describeBuiltInComponentFrame("SuspenseList"); + break; + case ViewTransitionComponent: + info += describeBuiltInComponentFrame("ViewTransition"); + break; + } + var owner = workInProgress; + while (owner) { + if (typeof owner.tag === "number") { + var fiber = owner; + owner = fiber._debugOwner; + var debugStack = fiber._debugStack; + if (owner && debugStack) { + if (typeof debugStack !== "string") { + debugStack = formatOwnerStack(debugStack); + } + if (debugStack !== "") { + info += "\n" + debugStack; + } + } + } else if (owner.debugStack != null) { + var ownerStack = owner.debugStack; + owner = owner.owner; + if (owner && ownerStack) { + info += "\n" + formatOwnerStack(ownerStack); + } + } else { + break; + } + } + return info; + } catch (x) { + return "\nError generating stack: " + x.message + "\n" + x.stack; + } + } + ; + var cachedStyleNameToValueMap = /* @__PURE__ */ new Map(); + function getStyleXData(data) { + var sources = /* @__PURE__ */ new Set(); + var resolvedStyles = {}; + crawlData(data, sources, resolvedStyles); + return { + sources: Array.from(sources).sort(), + resolvedStyles + }; + } + function crawlData(data, sources, resolvedStyles) { + if (data == null) { + return; + } + if (src_isArray(data)) { + data.forEach(function(entry) { + if (entry == null) { + return; + } + if (src_isArray(entry)) { + crawlData(entry, sources, resolvedStyles); + } else { + crawlObjectProperties(entry, sources, resolvedStyles); + } + }); + } else { + crawlObjectProperties(data, sources, resolvedStyles); + } + resolvedStyles = Object.fromEntries(Object.entries(resolvedStyles).sort()); + } + function crawlObjectProperties(entry, sources, resolvedStyles) { + var keys = Object.keys(entry); + keys.forEach(function(key) { + var value = entry[key]; + if (typeof value === "string") { + if (key === value) { + sources.add(key); + } else { + var propertyValue = getPropertyValueForStyleName(value); + if (propertyValue != null) { + resolvedStyles[key] = propertyValue; + } + } + } else { + var nestedStyle = {}; + resolvedStyles[key] = nestedStyle; + crawlData([value], sources, nestedStyle); + } + }); + } + function getPropertyValueForStyleName(styleName) { + if (cachedStyleNameToValueMap.has(styleName)) { + return cachedStyleNameToValueMap.get(styleName); + } + for (var styleSheetIndex = 0; styleSheetIndex < document.styleSheets.length; styleSheetIndex++) { + var styleSheet = document.styleSheets[styleSheetIndex]; + var rules = null; + try { + rules = styleSheet.cssRules; + } catch (_e) { + continue; + } + for (var ruleIndex = 0; ruleIndex < rules.length; ruleIndex++) { + if (!(rules[ruleIndex] instanceof CSSStyleRule)) { + continue; + } + var rule = rules[ruleIndex]; + var cssText = rule.cssText, selectorText = rule.selectorText, style = rule.style; + if (selectorText != null) { + if (selectorText.startsWith(".".concat(styleName))) { + var match = cssText.match(/{ *([a-z\-]+):/); + if (match !== null) { + var property = match[1]; + var value = style.getPropertyValue(property); + cachedStyleNameToValueMap.set(styleName, value); + return value; + } else { + return null; + } + } + } + } + } + return null; + } + ; + var CHANGE_LOG_URL = "https://github.com/facebook/react/blob/main/packages/react-devtools/CHANGELOG.md"; + var UNSUPPORTED_VERSION_URL = "https://reactjs.org/blog/2019/08/15/new-react-devtools.html#how-do-i-get-the-old-version-back"; + var REACT_DEVTOOLS_WORKPLACE_URL = "https://fburl.com/react-devtools-workplace-group"; + var THEME_STYLES = { + light: { + "--color-attribute-name": "#ef6632", + "--color-attribute-name-not-editable": "#23272f", + "--color-attribute-name-inverted": "rgba(255, 255, 255, 0.7)", + "--color-attribute-value": "#1a1aa6", + "--color-attribute-value-inverted": "#ffffff", + "--color-attribute-editable-value": "#1a1aa6", + "--color-background": "#ffffff", + "--color-background-hover": "rgba(0, 136, 250, 0.1)", + "--color-background-inactive": "#e5e5e5", + "--color-background-invalid": "#fff0f0", + "--color-background-selected": "#0088fa", + "--color-button-background": "#ffffff", + "--color-button-background-focus": "#ededed", + "--color-button": "#5f6673", + "--color-button-disabled": "#cfd1d5", + "--color-button-active": "#0088fa", + "--color-button-focus": "#23272f", + "--color-button-hover": "#23272f", + "--color-border": "#eeeeee", + "--color-commit-did-not-render-fill": "#cfd1d5", + "--color-commit-did-not-render-fill-text": "#000000", + "--color-commit-did-not-render-pattern": "#cfd1d5", + "--color-commit-did-not-render-pattern-text": "#333333", + "--color-commit-gradient-0": "#37afa9", + "--color-commit-gradient-1": "#63b19e", + "--color-commit-gradient-2": "#80b393", + "--color-commit-gradient-3": "#97b488", + "--color-commit-gradient-4": "#abb67d", + "--color-commit-gradient-5": "#beb771", + "--color-commit-gradient-6": "#cfb965", + "--color-commit-gradient-7": "#dfba57", + "--color-commit-gradient-8": "#efbb49", + "--color-commit-gradient-9": "#febc38", + "--color-commit-gradient-text": "#000000", + "--color-component-name": "#6a51b2", + "--color-component-name-inverted": "#ffffff", + "--color-component-badge-background": "#e6e6e6", + "--color-component-badge-background-inverted": "rgba(255, 255, 255, 0.25)", + "--color-component-badge-count": "#777d88", + "--color-component-badge-count-inverted": "rgba(255, 255, 255, 0.7)", + "--color-console-error-badge-text": "#ffffff", + "--color-console-error-background": "#fff0f0", + "--color-console-error-border": "#ffd6d6", + "--color-console-error-icon": "#eb3941", + "--color-console-error-text": "#fe2e31", + "--color-console-warning-badge-text": "#000000", + "--color-console-warning-background": "#fffbe5", + "--color-console-warning-border": "#fff5c1", + "--color-console-warning-icon": "#f4bd00", + "--color-console-warning-text": "#64460c", + "--color-context-background": "rgba(0,0,0,.9)", + "--color-context-background-hover": "rgba(255, 255, 255, 0.1)", + "--color-context-background-selected": "#178fb9", + "--color-context-border": "#3d424a", + "--color-context-text": "#ffffff", + "--color-context-text-selected": "#ffffff", + "--color-dim": "#777d88", + "--color-dimmer": "#cfd1d5", + "--color-dimmest": "#eff0f1", + "--color-error-background": "hsl(0, 100%, 97%)", + "--color-error-border": "hsl(0, 100%, 92%)", + "--color-error-text": "#ff0000", + "--color-expand-collapse-toggle": "#777d88", + "--color-forget-badge-background": "#2683e2", + "--color-forget-badge-background-inverted": "#1a6bbc", + "--color-forget-text": "#fff", + "--color-link": "#0000ff", + "--color-modal-background": "rgba(255, 255, 255, 0.75)", + "--color-bridge-version-npm-background": "#eff0f1", + "--color-bridge-version-npm-text": "#000000", + "--color-bridge-version-number": "#0088fa", + "--color-primitive-hook-badge-background": "#e5e5e5", + "--color-primitive-hook-badge-text": "#5f6673", + "--color-record-active": "#fc3a4b", + "--color-record-hover": "#3578e5", + "--color-record-inactive": "#0088fa", + "--color-resize-bar": "#eeeeee", + "--color-resize-bar-active": "#dcdcdc", + "--color-resize-bar-border": "#d1d1d1", + "--color-resize-bar-dot": "#333333", + "--color-timeline-internal-module": "#d1d1d1", + "--color-timeline-internal-module-hover": "#c9c9c9", + "--color-timeline-internal-module-text": "#444", + "--color-timeline-native-event": "#ccc", + "--color-timeline-native-event-hover": "#aaa", + "--color-timeline-network-primary": "#fcf3dc", + "--color-timeline-network-primary-hover": "#f0e7d1", + "--color-timeline-network-secondary": "#efc457", + "--color-timeline-network-secondary-hover": "#e3ba52", + "--color-timeline-priority-background": "#f6f6f6", + "--color-timeline-priority-border": "#eeeeee", + "--color-timeline-user-timing": "#c9cacd", + "--color-timeline-user-timing-hover": "#93959a", + "--color-timeline-react-idle": "#d3e5f6", + "--color-timeline-react-idle-hover": "#c3d9ef", + "--color-timeline-react-render": "#9fc3f3", + "--color-timeline-react-render-hover": "#83afe9", + "--color-timeline-react-render-text": "#11365e", + "--color-timeline-react-commit": "#c88ff0", + "--color-timeline-react-commit-hover": "#b281d6", + "--color-timeline-react-commit-text": "#3e2c4a", + "--color-timeline-react-layout-effects": "#b281d6", + "--color-timeline-react-layout-effects-hover": "#9d71bd", + "--color-timeline-react-layout-effects-text": "#3e2c4a", + "--color-timeline-react-passive-effects": "#b281d6", + "--color-timeline-react-passive-effects-hover": "#9d71bd", + "--color-timeline-react-passive-effects-text": "#3e2c4a", + "--color-timeline-react-schedule": "#9fc3f3", + "--color-timeline-react-schedule-hover": "#2683E2", + "--color-timeline-react-suspense-rejected": "#f1cc14", + "--color-timeline-react-suspense-rejected-hover": "#ffdf37", + "--color-timeline-react-suspense-resolved": "#a6e59f", + "--color-timeline-react-suspense-resolved-hover": "#89d281", + "--color-timeline-react-suspense-unresolved": "#c9cacd", + "--color-timeline-react-suspense-unresolved-hover": "#93959a", + "--color-timeline-thrown-error": "#ee1638", + "--color-timeline-thrown-error-hover": "#da1030", + "--color-timeline-text-color": "#000000", + "--color-timeline-text-dim-color": "#ccc", + "--color-timeline-react-work-border": "#eeeeee", + "--color-search-match": "yellow", + "--color-search-match-current": "#f7923b", + "--color-selected-tree-highlight-active": "rgba(0, 136, 250, 0.1)", + "--color-selected-tree-highlight-inactive": "rgba(0, 0, 0, 0.05)", + "--color-scroll-caret": "rgba(150, 150, 150, 0.5)", + "--color-tab-selected-border": "#0088fa", + "--color-text": "#000000", + "--color-text-invalid": "#ff0000", + "--color-text-selected": "#ffffff", + "--color-toggle-background-invalid": "#fc3a4b", + "--color-toggle-background-on": "#0088fa", + "--color-toggle-background-off": "#cfd1d5", + "--color-toggle-text": "#ffffff", + "--color-warning-background": "#fb3655", + "--color-warning-background-hover": "#f82042", + "--color-warning-text-color": "#ffffff", + "--color-warning-text-color-inverted": "#fd4d69", + // The styles below should be kept in sync with 'root.css' + // They are repeated there because they're used by e.g. tooltips or context menus + // which get rendered outside of the DOM subtree (where normal theme/styles are written). + "--color-scroll-thumb": "#c2c2c2", + "--color-scroll-track": "#fafafa", + "--color-tooltip-background": "rgba(0, 0, 0, 0.9)", + "--color-tooltip-text": "#ffffff" + }, + dark: { + "--color-attribute-name": "#9d87d2", + "--color-attribute-name-not-editable": "#ededed", + "--color-attribute-name-inverted": "#282828", + "--color-attribute-value": "#cedae0", + "--color-attribute-value-inverted": "#ffffff", + "--color-attribute-editable-value": "yellow", + "--color-background": "#282c34", + "--color-background-hover": "rgba(255, 255, 255, 0.1)", + "--color-background-inactive": "#3d424a", + "--color-background-invalid": "#5c0000", + "--color-background-selected": "#178fb9", + "--color-button-background": "#282c34", + "--color-button-background-focus": "#3d424a", + "--color-button": "#afb3b9", + "--color-button-active": "#61dafb", + "--color-button-disabled": "#4f5766", + "--color-button-focus": "#a2e9fc", + "--color-button-hover": "#ededed", + "--color-border": "#3d424a", + "--color-commit-did-not-render-fill": "#777d88", + "--color-commit-did-not-render-fill-text": "#000000", + "--color-commit-did-not-render-pattern": "#666c77", + "--color-commit-did-not-render-pattern-text": "#ffffff", + "--color-commit-gradient-0": "#37afa9", + "--color-commit-gradient-1": "#63b19e", + "--color-commit-gradient-2": "#80b393", + "--color-commit-gradient-3": "#97b488", + "--color-commit-gradient-4": "#abb67d", + "--color-commit-gradient-5": "#beb771", + "--color-commit-gradient-6": "#cfb965", + "--color-commit-gradient-7": "#dfba57", + "--color-commit-gradient-8": "#efbb49", + "--color-commit-gradient-9": "#febc38", + "--color-commit-gradient-text": "#000000", + "--color-component-name": "#61dafb", + "--color-component-name-inverted": "#282828", + "--color-component-badge-background": "#5e6167", + "--color-component-badge-background-inverted": "#46494e", + "--color-component-badge-count": "#8f949d", + "--color-component-badge-count-inverted": "rgba(255, 255, 255, 0.85)", + "--color-console-error-badge-text": "#000000", + "--color-console-error-background": "#290000", + "--color-console-error-border": "#5c0000", + "--color-console-error-icon": "#eb3941", + "--color-console-error-text": "#fc7f7f", + "--color-console-warning-badge-text": "#000000", + "--color-console-warning-background": "#332b00", + "--color-console-warning-border": "#665500", + "--color-console-warning-icon": "#f4bd00", + "--color-console-warning-text": "#f5f2ed", + "--color-context-background": "rgba(255,255,255,.95)", + "--color-context-background-hover": "rgba(0, 136, 250, 0.1)", + "--color-context-background-selected": "#0088fa", + "--color-context-border": "#eeeeee", + "--color-context-text": "#000000", + "--color-context-text-selected": "#ffffff", + "--color-dim": "#8f949d", + "--color-dimmer": "#777d88", + "--color-dimmest": "#4f5766", + "--color-error-background": "#200", + "--color-error-border": "#900", + "--color-error-text": "#f55", + "--color-expand-collapse-toggle": "#8f949d", + "--color-forget-badge-background": "#2683e2", + "--color-forget-badge-background-inverted": "#1a6bbc", + "--color-forget-text": "#fff", + "--color-link": "#61dafb", + "--color-modal-background": "rgba(0, 0, 0, 0.75)", + "--color-bridge-version-npm-background": "rgba(0, 0, 0, 0.25)", + "--color-bridge-version-npm-text": "#ffffff", + "--color-bridge-version-number": "yellow", + "--color-primitive-hook-badge-background": "rgba(0, 0, 0, 0.25)", + "--color-primitive-hook-badge-text": "rgba(255, 255, 255, 0.7)", + "--color-record-active": "#fc3a4b", + "--color-record-hover": "#a2e9fc", + "--color-record-inactive": "#61dafb", + "--color-resize-bar": "#282c34", + "--color-resize-bar-active": "#31363f", + "--color-resize-bar-border": "#3d424a", + "--color-resize-bar-dot": "#cfd1d5", + "--color-timeline-internal-module": "#303542", + "--color-timeline-internal-module-hover": "#363b4a", + "--color-timeline-internal-module-text": "#7f8899", + "--color-timeline-native-event": "#b2b2b2", + "--color-timeline-native-event-hover": "#949494", + "--color-timeline-network-primary": "#fcf3dc", + "--color-timeline-network-primary-hover": "#e3dbc5", + "--color-timeline-network-secondary": "#efc457", + "--color-timeline-network-secondary-hover": "#d6af4d", + "--color-timeline-priority-background": "#1d2129", + "--color-timeline-priority-border": "#282c34", + "--color-timeline-user-timing": "#c9cacd", + "--color-timeline-user-timing-hover": "#93959a", + "--color-timeline-react-idle": "#3d485b", + "--color-timeline-react-idle-hover": "#465269", + "--color-timeline-react-render": "#2683E2", + "--color-timeline-react-render-hover": "#1a76d4", + "--color-timeline-react-render-text": "#11365e", + "--color-timeline-react-commit": "#731fad", + "--color-timeline-react-commit-hover": "#611b94", + "--color-timeline-react-commit-text": "#e5c1ff", + "--color-timeline-react-layout-effects": "#611b94", + "--color-timeline-react-layout-effects-hover": "#51167a", + "--color-timeline-react-layout-effects-text": "#e5c1ff", + "--color-timeline-react-passive-effects": "#611b94", + "--color-timeline-react-passive-effects-hover": "#51167a", + "--color-timeline-react-passive-effects-text": "#e5c1ff", + "--color-timeline-react-schedule": "#2683E2", + "--color-timeline-react-schedule-hover": "#1a76d4", + "--color-timeline-react-suspense-rejected": "#f1cc14", + "--color-timeline-react-suspense-rejected-hover": "#e4c00f", + "--color-timeline-react-suspense-resolved": "#a6e59f", + "--color-timeline-react-suspense-resolved-hover": "#89d281", + "--color-timeline-react-suspense-unresolved": "#c9cacd", + "--color-timeline-react-suspense-unresolved-hover": "#93959a", + "--color-timeline-thrown-error": "#fb3655", + "--color-timeline-thrown-error-hover": "#f82042", + "--color-timeline-text-color": "#282c34", + "--color-timeline-text-dim-color": "#555b66", + "--color-timeline-react-work-border": "#3d424a", + "--color-search-match": "yellow", + "--color-search-match-current": "#f7923b", + "--color-selected-tree-highlight-active": "rgba(23, 143, 185, 0.15)", + "--color-selected-tree-highlight-inactive": "rgba(255, 255, 255, 0.05)", + "--color-scroll-caret": "#4f5766", + "--color-shadow": "rgba(0, 0, 0, 0.5)", + "--color-tab-selected-border": "#178fb9", + "--color-text": "#ffffff", + "--color-text-invalid": "#ff8080", + "--color-text-selected": "#ffffff", + "--color-toggle-background-invalid": "#fc3a4b", + "--color-toggle-background-on": "#178fb9", + "--color-toggle-background-off": "#777d88", + "--color-toggle-text": "#ffffff", + "--color-warning-background": "#ee1638", + "--color-warning-background-hover": "#da1030", + "--color-warning-text-color": "#ffffff", + "--color-warning-text-color-inverted": "#ee1638", + // The styles below should be kept in sync with 'root.css' + // They are repeated there because they're used by e.g. tooltips or context menus + // which get rendered outside of the DOM subtree (where normal theme/styles are written). + "--color-scroll-thumb": "#afb3b9", + "--color-scroll-track": "#313640", + "--color-tooltip-background": "rgba(255, 255, 255, 0.95)", + "--color-tooltip-text": "#000000" + }, + compact: { + "--font-size-monospace-small": "9px", + "--font-size-monospace-normal": "11px", + "--font-size-monospace-large": "15px", + "--font-size-sans-small": "10px", + "--font-size-sans-normal": "12px", + "--font-size-sans-large": "14px", + "--line-height-data": "18px" + }, + comfortable: { + "--font-size-monospace-small": "10px", + "--font-size-monospace-normal": "13px", + "--font-size-monospace-large": "17px", + "--font-size-sans-small": "12px", + "--font-size-sans-normal": "14px", + "--font-size-sans-large": "16px", + "--line-height-data": "22px" + } + }; + var COMFORTABLE_LINE_HEIGHT = parseInt(THEME_STYLES.comfortable["--line-height-data"], 10); + var COMPACT_LINE_HEIGHT = parseInt(THEME_STYLES.compact["--line-height-data"], 10); + ; + var REACT_TOTAL_NUM_LANES = 31; + var SCHEDULING_PROFILER_VERSION = 1; + var SNAPSHOT_MAX_HEIGHT = 60; + ; + function profilingHooks_slicedToArray(arr, i) { + return profilingHooks_arrayWithHoles(arr) || profilingHooks_iterableToArrayLimit(arr, i) || profilingHooks_unsupportedIterableToArray(arr, i) || profilingHooks_nonIterableRest(); + } + function profilingHooks_nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + function profilingHooks_unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return profilingHooks_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 profilingHooks_arrayLikeToArray(o, minLen); + } + function profilingHooks_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; + } + function profilingHooks_iterableToArrayLimit(arr, i) { + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; + var _arr = []; + var _n = true; + var _d = false; + var _e = void 0; + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + return _arr; + } + function profilingHooks_arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; + } + function profilingHooks_typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + profilingHooks_typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + profilingHooks_typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return profilingHooks_typeof(obj); + } + var TIME_OFFSET = 10; + var performanceTarget = null; + var supportsUserTiming = typeof performance !== "undefined" && // $FlowFixMe[method-unbinding] + typeof performance.mark === "function" && // $FlowFixMe[method-unbinding] + typeof performance.clearMarks === "function"; + var supportsUserTimingV3 = false; + if (supportsUserTiming) { + var CHECK_V3_MARK = "__v3"; + var markOptions = {}; + Object.defineProperty(markOptions, "startTime", { + get: function get() { + supportsUserTimingV3 = true; + return 0; + }, + set: function set() { + } + }); + try { + performance.mark(CHECK_V3_MARK, markOptions); + } catch (error) { + } finally { + performance.clearMarks(CHECK_V3_MARK); + } + } + if (supportsUserTimingV3) { + performanceTarget = performance; + } + var profilingHooks_getCurrentTime = ( + // $FlowFixMe[method-unbinding] + (typeof performance === "undefined" ? "undefined" : profilingHooks_typeof(performance)) === "object" && typeof performance.now === "function" ? function() { + return performance.now(); + } : function() { + return Date.now(); + } + ); + function setPerformanceMock_ONLY_FOR_TESTING(performanceMock) { + performanceTarget = performanceMock; + supportsUserTiming = performanceMock !== null; + supportsUserTimingV3 = performanceMock !== null; + } + function createProfilingHooks(_ref) { + var getDisplayNameForFiber = _ref.getDisplayNameForFiber, getIsProfiling = _ref.getIsProfiling, getLaneLabelMap = _ref.getLaneLabelMap, workTagMap = _ref.workTagMap, currentDispatcherRef = _ref.currentDispatcherRef, reactVersion = _ref.reactVersion; + var currentBatchUID = 0; + var currentReactComponentMeasure = null; + var currentReactMeasuresStack = []; + var currentTimelineData = null; + var currentFiberStacks = /* @__PURE__ */ new Map(); + var isProfiling = false; + var nextRenderShouldStartNewBatch = false; + function getRelativeTime() { + var currentTime = profilingHooks_getCurrentTime(); + if (currentTimelineData) { + if (currentTimelineData.startTime === 0) { + currentTimelineData.startTime = currentTime - TIME_OFFSET; + } + return currentTime - currentTimelineData.startTime; + } + return 0; + } + function getInternalModuleRanges() { + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.getInternalModuleRanges === "function") { + var ranges = __REACT_DEVTOOLS_GLOBAL_HOOK__.getInternalModuleRanges(); + if (shared_isArray(ranges)) { + return ranges; + } + } + return null; + } + function getTimelineData() { + return currentTimelineData; + } + function laneToLanesArray(lanes) { + var lanesArray = []; + var lane = 1; + for (var index = 0; index < REACT_TOTAL_NUM_LANES; index++) { + if (lane & lanes) { + lanesArray.push(lane); + } + lane *= 2; + } + return lanesArray; + } + var laneToLabelMap = typeof getLaneLabelMap === "function" ? getLaneLabelMap() : null; + function markMetadata() { + markAndClear("--react-version-".concat(reactVersion)); + markAndClear("--profiler-version-".concat(SCHEDULING_PROFILER_VERSION)); + var ranges = getInternalModuleRanges(); + if (ranges) { + for (var i = 0; i < ranges.length; i++) { + var range = ranges[i]; + if (shared_isArray(range) && range.length === 2) { + var _ranges$i = profilingHooks_slicedToArray(ranges[i], 2), startStackFrame = _ranges$i[0], stopStackFrame = _ranges$i[1]; + markAndClear("--react-internal-module-start-".concat(startStackFrame)); + markAndClear("--react-internal-module-stop-".concat(stopStackFrame)); + } + } + } + if (laneToLabelMap != null) { + var labels = Array.from(laneToLabelMap.values()).join(","); + markAndClear("--react-lane-labels-".concat(labels)); + } + } + function markAndClear(markName) { + performanceTarget.mark(markName); + performanceTarget.clearMarks(markName); + } + function recordReactMeasureStarted(type, lanes) { + var depth = 0; + if (currentReactMeasuresStack.length > 0) { + var top = currentReactMeasuresStack[currentReactMeasuresStack.length - 1]; + depth = top.type === "render-idle" ? top.depth : top.depth + 1; + } + var lanesArray = laneToLanesArray(lanes); + var reactMeasure = { + type, + batchUID: currentBatchUID, + depth, + lanes: lanesArray, + timestamp: getRelativeTime(), + duration: 0 + }; + currentReactMeasuresStack.push(reactMeasure); + if (currentTimelineData) { + var _currentTimelineData = currentTimelineData, batchUIDToMeasuresMap = _currentTimelineData.batchUIDToMeasuresMap, laneToReactMeasureMap = _currentTimelineData.laneToReactMeasureMap; + var reactMeasures = batchUIDToMeasuresMap.get(currentBatchUID); + if (reactMeasures != null) { + reactMeasures.push(reactMeasure); + } else { + batchUIDToMeasuresMap.set(currentBatchUID, [reactMeasure]); + } + lanesArray.forEach(function(lane) { + reactMeasures = laneToReactMeasureMap.get(lane); + if (reactMeasures) { + reactMeasures.push(reactMeasure); + } + }); + } + } + function recordReactMeasureCompleted(type) { + var currentTime = getRelativeTime(); + if (currentReactMeasuresStack.length === 0) { + console.error('Unexpected type "%s" completed at %sms while currentReactMeasuresStack is empty.', type, currentTime); + return; + } + var top = currentReactMeasuresStack.pop(); + if (top.type !== type) { + console.error( + 'Unexpected type "%s" completed at %sms before "%s" completed.', + type, + currentTime, + // $FlowFixMe[incompatible-use] + top.type + ); + } + top.duration = currentTime - top.timestamp; + if (currentTimelineData) { + currentTimelineData.duration = getRelativeTime() + TIME_OFFSET; + } + } + function markCommitStarted(lanes) { + if (isProfiling) { + recordReactMeasureStarted("commit", lanes); + nextRenderShouldStartNewBatch = true; + } + if (supportsUserTimingV3) { + markAndClear("--commit-start-".concat(lanes)); + markMetadata(); + } + } + function markCommitStopped() { + if (isProfiling) { + recordReactMeasureCompleted("commit"); + recordReactMeasureCompleted("render-idle"); + } + if (supportsUserTimingV3) { + markAndClear("--commit-stop"); + } + } + function markComponentRenderStarted(fiber) { + if (isProfiling || supportsUserTimingV3) { + var componentName = getDisplayNameForFiber(fiber) || "Unknown"; + if (isProfiling) { + if (isProfiling) { + currentReactComponentMeasure = { + componentName, + duration: 0, + timestamp: getRelativeTime(), + type: "render", + warning: null + }; + } + } + if (supportsUserTimingV3) { + markAndClear("--component-render-start-".concat(componentName)); + } + } + } + function markComponentRenderStopped() { + if (isProfiling) { + if (currentReactComponentMeasure) { + if (currentTimelineData) { + currentTimelineData.componentMeasures.push(currentReactComponentMeasure); + } + currentReactComponentMeasure.duration = // $FlowFixMe[incompatible-use] found when upgrading Flow + getRelativeTime() - currentReactComponentMeasure.timestamp; + currentReactComponentMeasure = null; + } + } + if (supportsUserTimingV3) { + markAndClear("--component-render-stop"); + } + } + function markComponentLayoutEffectMountStarted(fiber) { + if (isProfiling || supportsUserTimingV3) { + var componentName = getDisplayNameForFiber(fiber) || "Unknown"; + if (isProfiling) { + if (isProfiling) { + currentReactComponentMeasure = { + componentName, + duration: 0, + timestamp: getRelativeTime(), + type: "layout-effect-mount", + warning: null + }; + } + } + if (supportsUserTimingV3) { + markAndClear("--component-layout-effect-mount-start-".concat(componentName)); + } + } + } + function markComponentLayoutEffectMountStopped() { + if (isProfiling) { + if (currentReactComponentMeasure) { + if (currentTimelineData) { + currentTimelineData.componentMeasures.push(currentReactComponentMeasure); + } + currentReactComponentMeasure.duration = // $FlowFixMe[incompatible-use] found when upgrading Flow + getRelativeTime() - currentReactComponentMeasure.timestamp; + currentReactComponentMeasure = null; + } + } + if (supportsUserTimingV3) { + markAndClear("--component-layout-effect-mount-stop"); + } + } + function markComponentLayoutEffectUnmountStarted(fiber) { + if (isProfiling || supportsUserTimingV3) { + var componentName = getDisplayNameForFiber(fiber) || "Unknown"; + if (isProfiling) { + if (isProfiling) { + currentReactComponentMeasure = { + componentName, + duration: 0, + timestamp: getRelativeTime(), + type: "layout-effect-unmount", + warning: null + }; + } + } + if (supportsUserTimingV3) { + markAndClear("--component-layout-effect-unmount-start-".concat(componentName)); + } + } + } + function markComponentLayoutEffectUnmountStopped() { + if (isProfiling) { + if (currentReactComponentMeasure) { + if (currentTimelineData) { + currentTimelineData.componentMeasures.push(currentReactComponentMeasure); + } + currentReactComponentMeasure.duration = // $FlowFixMe[incompatible-use] found when upgrading Flow + getRelativeTime() - currentReactComponentMeasure.timestamp; + currentReactComponentMeasure = null; + } + } + if (supportsUserTimingV3) { + markAndClear("--component-layout-effect-unmount-stop"); + } + } + function markComponentPassiveEffectMountStarted(fiber) { + if (isProfiling || supportsUserTimingV3) { + var componentName = getDisplayNameForFiber(fiber) || "Unknown"; + if (isProfiling) { + if (isProfiling) { + currentReactComponentMeasure = { + componentName, + duration: 0, + timestamp: getRelativeTime(), + type: "passive-effect-mount", + warning: null + }; + } + } + if (supportsUserTimingV3) { + markAndClear("--component-passive-effect-mount-start-".concat(componentName)); + } + } + } + function markComponentPassiveEffectMountStopped() { + if (isProfiling) { + if (currentReactComponentMeasure) { + if (currentTimelineData) { + currentTimelineData.componentMeasures.push(currentReactComponentMeasure); + } + currentReactComponentMeasure.duration = // $FlowFixMe[incompatible-use] found when upgrading Flow + getRelativeTime() - currentReactComponentMeasure.timestamp; + currentReactComponentMeasure = null; + } + } + if (supportsUserTimingV3) { + markAndClear("--component-passive-effect-mount-stop"); + } + } + function markComponentPassiveEffectUnmountStarted(fiber) { + if (isProfiling || supportsUserTimingV3) { + var componentName = getDisplayNameForFiber(fiber) || "Unknown"; + if (isProfiling) { + if (isProfiling) { + currentReactComponentMeasure = { + componentName, + duration: 0, + timestamp: getRelativeTime(), + type: "passive-effect-unmount", + warning: null + }; + } + } + if (supportsUserTimingV3) { + markAndClear("--component-passive-effect-unmount-start-".concat(componentName)); + } + } + } + function markComponentPassiveEffectUnmountStopped() { + if (isProfiling) { + if (currentReactComponentMeasure) { + if (currentTimelineData) { + currentTimelineData.componentMeasures.push(currentReactComponentMeasure); + } + currentReactComponentMeasure.duration = // $FlowFixMe[incompatible-use] found when upgrading Flow + getRelativeTime() - currentReactComponentMeasure.timestamp; + currentReactComponentMeasure = null; + } + } + if (supportsUserTimingV3) { + markAndClear("--component-passive-effect-unmount-stop"); + } + } + function markComponentErrored(fiber, thrownValue, lanes) { + if (isProfiling || supportsUserTimingV3) { + var componentName = getDisplayNameForFiber(fiber) || "Unknown"; + var phase = fiber.alternate === null ? "mount" : "update"; + var message = ""; + if (thrownValue !== null && profilingHooks_typeof(thrownValue) === "object" && typeof thrownValue.message === "string") { + message = thrownValue.message; + } else if (typeof thrownValue === "string") { + message = thrownValue; + } + if (isProfiling) { + if (currentTimelineData) { + currentTimelineData.thrownErrors.push({ + componentName, + message, + phase, + timestamp: getRelativeTime(), + type: "thrown-error" + }); + } + } + if (supportsUserTimingV3) { + markAndClear("--error-".concat(componentName, "-").concat(phase, "-").concat(message)); + } + } + } + var PossiblyWeakMap2 = typeof WeakMap === "function" ? WeakMap : Map; + var wakeableIDs = new PossiblyWeakMap2(); + var wakeableID = 0; + function getWakeableID(wakeable) { + if (!wakeableIDs.has(wakeable)) { + wakeableIDs.set(wakeable, wakeableID++); + } + return wakeableIDs.get(wakeable); + } + function markComponentSuspended(fiber, wakeable, lanes) { + if (isProfiling || supportsUserTimingV3) { + var eventType = wakeableIDs.has(wakeable) ? "resuspend" : "suspend"; + var id = getWakeableID(wakeable); + var componentName = getDisplayNameForFiber(fiber) || "Unknown"; + var phase = fiber.alternate === null ? "mount" : "update"; + var displayName = wakeable.displayName || ""; + var suspenseEvent = null; + if (isProfiling) { + suspenseEvent = { + componentName, + depth: 0, + duration: 0, + id: "".concat(id), + phase, + promiseName: displayName, + resolution: "unresolved", + timestamp: getRelativeTime(), + type: "suspense", + warning: null + }; + if (currentTimelineData) { + currentTimelineData.suspenseEvents.push(suspenseEvent); + } + } + if (supportsUserTimingV3) { + markAndClear("--suspense-".concat(eventType, "-").concat(id, "-").concat(componentName, "-").concat(phase, "-").concat(lanes, "-").concat(displayName)); + } + wakeable.then(function() { + if (suspenseEvent) { + suspenseEvent.duration = getRelativeTime() - suspenseEvent.timestamp; + suspenseEvent.resolution = "resolved"; + } + if (supportsUserTimingV3) { + markAndClear("--suspense-resolved-".concat(id, "-").concat(componentName)); + } + }, function() { + if (suspenseEvent) { + suspenseEvent.duration = getRelativeTime() - suspenseEvent.timestamp; + suspenseEvent.resolution = "rejected"; + } + if (supportsUserTimingV3) { + markAndClear("--suspense-rejected-".concat(id, "-").concat(componentName)); + } + }); + } + } + function markLayoutEffectsStarted(lanes) { + if (isProfiling) { + recordReactMeasureStarted("layout-effects", lanes); + } + if (supportsUserTimingV3) { + markAndClear("--layout-effects-start-".concat(lanes)); + } + } + function markLayoutEffectsStopped() { + if (isProfiling) { + recordReactMeasureCompleted("layout-effects"); + } + if (supportsUserTimingV3) { + markAndClear("--layout-effects-stop"); + } + } + function markPassiveEffectsStarted(lanes) { + if (isProfiling) { + recordReactMeasureStarted("passive-effects", lanes); + } + if (supportsUserTimingV3) { + markAndClear("--passive-effects-start-".concat(lanes)); + } + } + function markPassiveEffectsStopped() { + if (isProfiling) { + recordReactMeasureCompleted("passive-effects"); + } + if (supportsUserTimingV3) { + markAndClear("--passive-effects-stop"); + } + } + function markRenderStarted(lanes) { + if (isProfiling) { + if (nextRenderShouldStartNewBatch) { + nextRenderShouldStartNewBatch = false; + currentBatchUID++; + } + if (currentReactMeasuresStack.length === 0 || currentReactMeasuresStack[currentReactMeasuresStack.length - 1].type !== "render-idle") { + recordReactMeasureStarted("render-idle", lanes); + } + recordReactMeasureStarted("render", lanes); + } + if (supportsUserTimingV3) { + markAndClear("--render-start-".concat(lanes)); + } + } + function markRenderYielded() { + if (isProfiling) { + recordReactMeasureCompleted("render"); + } + if (supportsUserTimingV3) { + markAndClear("--render-yield"); + } + } + function markRenderStopped() { + if (isProfiling) { + recordReactMeasureCompleted("render"); + } + if (supportsUserTimingV3) { + markAndClear("--render-stop"); + } + } + function markRenderScheduled(lane) { + if (isProfiling) { + if (currentTimelineData) { + currentTimelineData.schedulingEvents.push({ + lanes: laneToLanesArray(lane), + timestamp: getRelativeTime(), + type: "schedule-render", + warning: null + }); + } + } + if (supportsUserTimingV3) { + markAndClear("--schedule-render-".concat(lane)); + } + } + function markForceUpdateScheduled(fiber, lane) { + if (isProfiling || supportsUserTimingV3) { + var componentName = getDisplayNameForFiber(fiber) || "Unknown"; + if (isProfiling) { + if (currentTimelineData) { + currentTimelineData.schedulingEvents.push({ + componentName, + lanes: laneToLanesArray(lane), + timestamp: getRelativeTime(), + type: "schedule-force-update", + warning: null + }); + } + } + if (supportsUserTimingV3) { + markAndClear("--schedule-forced-update-".concat(lane, "-").concat(componentName)); + } + } + } + function getParentFibers(fiber) { + var parents = []; + var parent = fiber; + while (parent !== null) { + parents.push(parent); + parent = parent.return; + } + return parents; + } + function markStateUpdateScheduled(fiber, lane) { + if (isProfiling || supportsUserTimingV3) { + var componentName = getDisplayNameForFiber(fiber) || "Unknown"; + if (isProfiling) { + if (currentTimelineData) { + var event = { + componentName, + // Store the parent fibers so we can post process + // them after we finish profiling + lanes: laneToLanesArray(lane), + timestamp: getRelativeTime(), + type: "schedule-state-update", + warning: null + }; + currentFiberStacks.set(event, getParentFibers(fiber)); + currentTimelineData.schedulingEvents.push(event); + } + } + if (supportsUserTimingV3) { + markAndClear("--schedule-state-update-".concat(lane, "-").concat(componentName)); + } + } + } + function toggleProfilingStatus(value) { + var recordTimeline = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + if (isProfiling !== value) { + isProfiling = value; + if (isProfiling) { + var internalModuleSourceToRanges = /* @__PURE__ */ new Map(); + if (supportsUserTimingV3) { + var ranges = getInternalModuleRanges(); + if (ranges) { + for (var i = 0; i < ranges.length; i++) { + var range = ranges[i]; + if (shared_isArray(range) && range.length === 2) { + var _ranges$i2 = profilingHooks_slicedToArray(ranges[i], 2), startStackFrame = _ranges$i2[0], stopStackFrame = _ranges$i2[1]; + markAndClear("--react-internal-module-start-".concat(startStackFrame)); + markAndClear("--react-internal-module-stop-".concat(stopStackFrame)); + } + } + } + } + var laneToReactMeasureMap = /* @__PURE__ */ new Map(); + var lane = 1; + for (var index = 0; index < REACT_TOTAL_NUM_LANES; index++) { + laneToReactMeasureMap.set(lane, []); + lane *= 2; + } + currentBatchUID = 0; + currentReactComponentMeasure = null; + currentReactMeasuresStack = []; + currentFiberStacks = /* @__PURE__ */ new Map(); + if (recordTimeline) { + currentTimelineData = { + // Session wide metadata; only collected once. + internalModuleSourceToRanges, + laneToLabelMap: laneToLabelMap || /* @__PURE__ */ new Map(), + reactVersion, + // Data logged by React during profiling session. + componentMeasures: [], + schedulingEvents: [], + suspenseEvents: [], + thrownErrors: [], + // Data inferred based on what React logs. + batchUIDToMeasuresMap: /* @__PURE__ */ new Map(), + duration: 0, + laneToReactMeasureMap, + startTime: 0, + // Data only available in Chrome profiles. + flamechart: [], + nativeEvents: [], + networkMeasures: [], + otherUserTimingMarks: [], + snapshots: [], + snapshotHeight: 0 + }; + } + nextRenderShouldStartNewBatch = true; + } else { + if (currentTimelineData !== null) { + currentTimelineData.schedulingEvents.forEach(function(event) { + if (event.type === "schedule-state-update") { + var fiberStack = currentFiberStacks.get(event); + if (fiberStack && currentDispatcherRef != null) { + event.componentStack = fiberStack.reduce(function(trace, fiber) { + return trace + describeFiber(workTagMap, fiber, currentDispatcherRef); + }, ""); + } + } + }); + } + currentFiberStacks.clear(); + } + } + } + return { + getTimelineData, + profilingHooks: { + markCommitStarted, + markCommitStopped, + markComponentRenderStarted, + markComponentRenderStopped, + markComponentPassiveEffectMountStarted, + markComponentPassiveEffectMountStopped, + markComponentPassiveEffectUnmountStarted, + markComponentPassiveEffectUnmountStopped, + markComponentLayoutEffectMountStarted, + markComponentLayoutEffectMountStopped, + markComponentLayoutEffectUnmountStarted, + markComponentLayoutEffectUnmountStopped, + markComponentErrored, + markComponentSuspended, + markLayoutEffectsStarted, + markLayoutEffectsStopped, + markPassiveEffectsStarted, + markPassiveEffectsStopped, + markRenderStarted, + markRenderYielded, + markRenderStopped, + markRenderScheduled, + markForceUpdateScheduled, + markStateUpdateScheduled + }, + toggleProfilingStatus + }; + } + ; + function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + var target = _objectWithoutPropertiesLoose(source, excluded); + var key, i; + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + return target; + } + function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + return target; + } + function renderer_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; + } + function renderer_objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + if (i % 2) { + renderer_ownKeys(Object(source), true).forEach(function(key) { + renderer_defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + renderer_ownKeys(Object(source)).forEach(function(key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + return target; + } + function renderer_defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); + } else { + obj[key] = value; + } + return obj; + } + function fiber_renderer_toConsumableArray(arr) { + return fiber_renderer_arrayWithoutHoles(arr) || fiber_renderer_iterableToArray(arr) || fiber_renderer_unsupportedIterableToArray(arr) || fiber_renderer_nonIterableSpread(); + } + function fiber_renderer_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."); + } + function fiber_renderer_iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); + } + function fiber_renderer_arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return fiber_renderer_arrayLikeToArray(arr); + } + function renderer_createForOfIteratorHelper(o, allowArrayLike) { + var it; + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = fiber_renderer_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + var F = function F2() { + }; + return { s: F, n: function n() { + if (i >= o.length) return { done: true }; + return { done: false, value: o[i++] }; + }, e: function e(_e) { + throw _e; + }, f: F }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var normalCompletion = true, didErr = false, err; + return { s: function s() { + it = o[Symbol.iterator](); + }, n: function n() { + var step = it.next(); + normalCompletion = step.done; + return step; + }, e: function e(_e2) { + didErr = true; + err = _e2; + }, f: function f() { + try { + if (!normalCompletion && it.return != null) it.return(); + } finally { + if (didErr) throw err; + } + } }; + } + function fiber_renderer_unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return fiber_renderer_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 fiber_renderer_arrayLikeToArray(o, minLen); + } + function fiber_renderer_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; + } + function renderer_typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + renderer_typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + renderer_typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return renderer_typeof(obj); + } + var renderer_toString = Object.prototype.toString; + function isError(object) { + return renderer_toString.call(object) === "[object Error]"; + } + var FIBER_INSTANCE = 0; + var VIRTUAL_INSTANCE = 1; + var FILTERED_FIBER_INSTANCE = 2; + function createFiberInstance(fiber) { + return { + kind: FIBER_INSTANCE, + id: getUID(), + parent: null, + firstChild: null, + nextSibling: null, + source: null, + logCount: 0, + treeBaseDuration: 0, + data: fiber + }; + } + function createFilteredFiberInstance(fiber) { + return { + kind: FILTERED_FIBER_INSTANCE, + id: 0, + parent: null, + firstChild: null, + nextSibling: null, + source: null, + logCount: 0, + treeBaseDuration: 0, + data: fiber + }; + } + function createVirtualInstance(debugEntry) { + return { + kind: VIRTUAL_INSTANCE, + id: getUID(), + parent: null, + firstChild: null, + nextSibling: null, + source: null, + logCount: 0, + treeBaseDuration: 0, + data: debugEntry + }; + } + function getDispatcherRef(renderer) { + if (renderer.currentDispatcherRef === void 0) { + return void 0; + } + var injectedRef = renderer.currentDispatcherRef; + if (typeof injectedRef.H === "undefined" && typeof injectedRef.current !== "undefined") { + return { + get H() { + return injectedRef.current; + }, + set H(value) { + injectedRef.current = value; + } + }; + } + return injectedRef; + } + function getFiberFlags(fiber) { + return fiber.flags !== void 0 ? fiber.flags : fiber.effectTag; + } + var renderer_getCurrentTime = ( + // $FlowFixMe[method-unbinding] + (typeof performance === "undefined" ? "undefined" : renderer_typeof(performance)) === "object" && typeof performance.now === "function" ? function() { + return performance.now(); + } : function() { + return Date.now(); + } + ); + function getInternalReactConstants(version) { + var ReactPriorityLevels = { + ImmediatePriority: 99, + UserBlockingPriority: 98, + NormalPriority: 97, + LowPriority: 96, + IdlePriority: 95, + NoPriority: 90 + }; + if (gt(version, "17.0.2")) { + ReactPriorityLevels = { + ImmediatePriority: 1, + UserBlockingPriority: 2, + NormalPriority: 3, + LowPriority: 4, + IdlePriority: 5, + NoPriority: 0 + }; + } + var StrictModeBits = 0; + if (gte(version, "18.0.0-alpha")) { + StrictModeBits = 24; + } else if (gte(version, "16.9.0")) { + StrictModeBits = 1; + } else if (gte(version, "16.3.0")) { + StrictModeBits = 2; + } + var ReactTypeOfWork = null; + if (gt(version, "17.0.1")) { + ReactTypeOfWork = { + CacheComponent: 24, + // Experimental + ClassComponent: 1, + ContextConsumer: 9, + ContextProvider: 10, + CoroutineComponent: -1, + // Removed + CoroutineHandlerPhase: -1, + // Removed + DehydratedSuspenseComponent: 18, + // Behind a flag + ForwardRef: 11, + Fragment: 7, + FunctionComponent: 0, + HostComponent: 5, + HostPortal: 4, + HostRoot: 3, + HostHoistable: 26, + // In reality, 18.2+. But doesn't hurt to include it here + HostSingleton: 27, + // Same as above + HostText: 6, + IncompleteClassComponent: 17, + IncompleteFunctionComponent: 28, + IndeterminateComponent: 2, + // removed in 19.0.0 + LazyComponent: 16, + LegacyHiddenComponent: 23, + MemoComponent: 14, + Mode: 8, + OffscreenComponent: 22, + // Experimental + Profiler: 12, + ScopeComponent: 21, + // Experimental + SimpleMemoComponent: 15, + SuspenseComponent: 13, + SuspenseListComponent: 19, + // Experimental + TracingMarkerComponent: 25, + // Experimental - This is technically in 18 but we don't + // want to fork again so we're adding it here instead + YieldComponent: -1, + // Removed + Throw: 29, + ViewTransitionComponent: 30 + // Experimental + }; + } else if (gte(version, "17.0.0-alpha")) { + ReactTypeOfWork = { + CacheComponent: -1, + // Doesn't exist yet + ClassComponent: 1, + ContextConsumer: 9, + ContextProvider: 10, + CoroutineComponent: -1, + // Removed + CoroutineHandlerPhase: -1, + // Removed + DehydratedSuspenseComponent: 18, + // Behind a flag + ForwardRef: 11, + Fragment: 7, + FunctionComponent: 0, + HostComponent: 5, + HostPortal: 4, + HostRoot: 3, + HostHoistable: -1, + // Doesn't exist yet + HostSingleton: -1, + // Doesn't exist yet + HostText: 6, + IncompleteClassComponent: 17, + IncompleteFunctionComponent: -1, + // Doesn't exist yet + IndeterminateComponent: 2, + LazyComponent: 16, + LegacyHiddenComponent: 24, + MemoComponent: 14, + Mode: 8, + OffscreenComponent: 23, + // Experimental + Profiler: 12, + ScopeComponent: 21, + // Experimental + SimpleMemoComponent: 15, + SuspenseComponent: 13, + SuspenseListComponent: 19, + // Experimental + TracingMarkerComponent: -1, + // Doesn't exist yet + YieldComponent: -1, + // Removed + Throw: -1, + // Doesn't exist yet + ViewTransitionComponent: -1 + // Doesn't exist yet + }; + } else if (gte(version, "16.6.0-beta.0")) { + ReactTypeOfWork = { + CacheComponent: -1, + // Doesn't exist yet + ClassComponent: 1, + ContextConsumer: 9, + ContextProvider: 10, + CoroutineComponent: -1, + // Removed + CoroutineHandlerPhase: -1, + // Removed + DehydratedSuspenseComponent: 18, + // Behind a flag + ForwardRef: 11, + Fragment: 7, + FunctionComponent: 0, + HostComponent: 5, + HostPortal: 4, + HostRoot: 3, + HostHoistable: -1, + // Doesn't exist yet + HostSingleton: -1, + // Doesn't exist yet + HostText: 6, + IncompleteClassComponent: 17, + IncompleteFunctionComponent: -1, + // Doesn't exist yet + IndeterminateComponent: 2, + LazyComponent: 16, + LegacyHiddenComponent: -1, + MemoComponent: 14, + Mode: 8, + OffscreenComponent: -1, + // Experimental + Profiler: 12, + ScopeComponent: -1, + // Experimental + SimpleMemoComponent: 15, + SuspenseComponent: 13, + SuspenseListComponent: 19, + // Experimental + TracingMarkerComponent: -1, + // Doesn't exist yet + YieldComponent: -1, + // Removed + Throw: -1, + // Doesn't exist yet + ViewTransitionComponent: -1 + // Doesn't exist yet + }; + } else if (gte(version, "16.4.3-alpha")) { + ReactTypeOfWork = { + CacheComponent: -1, + // Doesn't exist yet + ClassComponent: 2, + ContextConsumer: 11, + ContextProvider: 12, + CoroutineComponent: -1, + // Removed + CoroutineHandlerPhase: -1, + // Removed + DehydratedSuspenseComponent: -1, + // Doesn't exist yet + ForwardRef: 13, + Fragment: 9, + FunctionComponent: 0, + HostComponent: 7, + HostPortal: 6, + HostRoot: 5, + HostHoistable: -1, + // Doesn't exist yet + HostSingleton: -1, + // Doesn't exist yet + HostText: 8, + IncompleteClassComponent: -1, + // Doesn't exist yet + IncompleteFunctionComponent: -1, + // Doesn't exist yet + IndeterminateComponent: 4, + LazyComponent: -1, + // Doesn't exist yet + LegacyHiddenComponent: -1, + MemoComponent: -1, + // Doesn't exist yet + Mode: 10, + OffscreenComponent: -1, + // Experimental + Profiler: 15, + ScopeComponent: -1, + // Experimental + SimpleMemoComponent: -1, + // Doesn't exist yet + SuspenseComponent: 16, + SuspenseListComponent: -1, + // Doesn't exist yet + TracingMarkerComponent: -1, + // Doesn't exist yet + YieldComponent: -1, + // Removed + Throw: -1, + // Doesn't exist yet + ViewTransitionComponent: -1 + // Doesn't exist yet + }; + } else { + ReactTypeOfWork = { + CacheComponent: -1, + // Doesn't exist yet + ClassComponent: 2, + ContextConsumer: 12, + ContextProvider: 13, + CoroutineComponent: 7, + CoroutineHandlerPhase: 8, + DehydratedSuspenseComponent: -1, + // Doesn't exist yet + ForwardRef: 14, + Fragment: 10, + FunctionComponent: 1, + HostComponent: 5, + HostPortal: 4, + HostRoot: 3, + HostHoistable: -1, + // Doesn't exist yet + HostSingleton: -1, + // Doesn't exist yet + HostText: 6, + IncompleteClassComponent: -1, + // Doesn't exist yet + IncompleteFunctionComponent: -1, + // Doesn't exist yet + IndeterminateComponent: 0, + LazyComponent: -1, + // Doesn't exist yet + LegacyHiddenComponent: -1, + MemoComponent: -1, + // Doesn't exist yet + Mode: 11, + OffscreenComponent: -1, + // Experimental + Profiler: 15, + ScopeComponent: -1, + // Experimental + SimpleMemoComponent: -1, + // Doesn't exist yet + SuspenseComponent: 16, + SuspenseListComponent: -1, + // Doesn't exist yet + TracingMarkerComponent: -1, + // Doesn't exist yet + YieldComponent: 9, + Throw: -1, + // Doesn't exist yet + ViewTransitionComponent: -1 + // Doesn't exist yet + }; + } + function getTypeSymbol(type) { + var symbolOrNumber = renderer_typeof(type) === "object" && type !== null ? type.$$typeof : type; + return renderer_typeof(symbolOrNumber) === "symbol" ? ( + // $FlowFixMe[incompatible-return] `toString()` doesn't match the type signature? + symbolOrNumber.toString() + ) : symbolOrNumber; + } + var _ReactTypeOfWork = ReactTypeOfWork, CacheComponent = _ReactTypeOfWork.CacheComponent, ClassComponent = _ReactTypeOfWork.ClassComponent, IncompleteClassComponent = _ReactTypeOfWork.IncompleteClassComponent, IncompleteFunctionComponent = _ReactTypeOfWork.IncompleteFunctionComponent, FunctionComponent = _ReactTypeOfWork.FunctionComponent, IndeterminateComponent = _ReactTypeOfWork.IndeterminateComponent, ForwardRef = _ReactTypeOfWork.ForwardRef, HostRoot = _ReactTypeOfWork.HostRoot, HostHoistable = _ReactTypeOfWork.HostHoistable, HostSingleton = _ReactTypeOfWork.HostSingleton, HostComponent = _ReactTypeOfWork.HostComponent, HostPortal = _ReactTypeOfWork.HostPortal, HostText = _ReactTypeOfWork.HostText, Fragment = _ReactTypeOfWork.Fragment, LazyComponent = _ReactTypeOfWork.LazyComponent, LegacyHiddenComponent = _ReactTypeOfWork.LegacyHiddenComponent, MemoComponent = _ReactTypeOfWork.MemoComponent, OffscreenComponent = _ReactTypeOfWork.OffscreenComponent, Profiler = _ReactTypeOfWork.Profiler, ScopeComponent = _ReactTypeOfWork.ScopeComponent, SimpleMemoComponent = _ReactTypeOfWork.SimpleMemoComponent, SuspenseComponent = _ReactTypeOfWork.SuspenseComponent, SuspenseListComponent = _ReactTypeOfWork.SuspenseListComponent, TracingMarkerComponent = _ReactTypeOfWork.TracingMarkerComponent, Throw = _ReactTypeOfWork.Throw, ViewTransitionComponent = _ReactTypeOfWork.ViewTransitionComponent; + function resolveFiberType(type) { + var typeSymbol = getTypeSymbol(type); + switch (typeSymbol) { + case MEMO_NUMBER: + case MEMO_SYMBOL_STRING: + return resolveFiberType(type.type); + case FORWARD_REF_NUMBER: + case FORWARD_REF_SYMBOL_STRING: + return type.render; + default: + return type; + } + } + function getDisplayNameForFiber(fiber) { + var _fiber$updateQueue, _fiber$memoizedState, _fiber$memoizedState$, _fiber$memoizedState2, _fiber$memoizedState3; + var shouldSkipForgetCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var elementType = fiber.elementType, type = fiber.type, tag = fiber.tag; + var resolvedType = type; + if (renderer_typeof(type) === "object" && type !== null) { + resolvedType = resolveFiberType(type); + } + var resolvedContext = null; + if (!shouldSkipForgetCheck && // $FlowFixMe[incompatible-type] fiber.updateQueue is mixed + (((_fiber$updateQueue = fiber.updateQueue) === null || _fiber$updateQueue === void 0 ? void 0 : _fiber$updateQueue.memoCache) != null || Array.isArray((_fiber$memoizedState = fiber.memoizedState) === null || _fiber$memoizedState === void 0 ? void 0 : _fiber$memoizedState.memoizedState) && ((_fiber$memoizedState$ = fiber.memoizedState.memoizedState[0]) === null || _fiber$memoizedState$ === void 0 ? void 0 : _fiber$memoizedState$[ReactSymbols_REACT_MEMO_CACHE_SENTINEL]) || ((_fiber$memoizedState2 = fiber.memoizedState) === null || _fiber$memoizedState2 === void 0 ? void 0 : (_fiber$memoizedState3 = _fiber$memoizedState2.memoizedState) === null || _fiber$memoizedState3 === void 0 ? void 0 : _fiber$memoizedState3[ReactSymbols_REACT_MEMO_CACHE_SENTINEL]))) { + var displayNameWithoutForgetWrapper = getDisplayNameForFiber(fiber, true); + if (displayNameWithoutForgetWrapper == null) { + return null; + } + return "Forget(".concat(displayNameWithoutForgetWrapper, ")"); + } + switch (tag) { + case CacheComponent: + return "Cache"; + case ClassComponent: + case IncompleteClassComponent: + case IncompleteFunctionComponent: + case FunctionComponent: + case IndeterminateComponent: + return getDisplayName(resolvedType); + case ForwardRef: + return getWrappedDisplayName(elementType, resolvedType, "ForwardRef", "Anonymous"); + case HostRoot: + var fiberRoot = fiber.stateNode; + if (fiberRoot != null && fiberRoot._debugRootType !== null) { + return fiberRoot._debugRootType; + } + return null; + case HostComponent: + case HostSingleton: + case HostHoistable: + return type; + case HostPortal: + case HostText: + return null; + case Fragment: + return "Fragment"; + case LazyComponent: + return "Lazy"; + case MemoComponent: + case SimpleMemoComponent: + return getWrappedDisplayName(elementType, resolvedType, "Memo", "Anonymous"); + case SuspenseComponent: + return "Suspense"; + case LegacyHiddenComponent: + return "LegacyHidden"; + case OffscreenComponent: + return "Offscreen"; + case ScopeComponent: + return "Scope"; + case SuspenseListComponent: + return "SuspenseList"; + case Profiler: + return "Profiler"; + case TracingMarkerComponent: + return "TracingMarker"; + case ViewTransitionComponent: + return "ViewTransition"; + case Throw: + return "Error"; + default: + var typeSymbol = getTypeSymbol(type); + switch (typeSymbol) { + case CONCURRENT_MODE_NUMBER: + case CONCURRENT_MODE_SYMBOL_STRING: + case DEPRECATED_ASYNC_MODE_SYMBOL_STRING: + return null; + case PROVIDER_NUMBER: + case PROVIDER_SYMBOL_STRING: + resolvedContext = fiber.type._context || fiber.type.context; + return "".concat(resolvedContext.displayName || "Context", ".Provider"); + case CONTEXT_NUMBER: + case CONTEXT_SYMBOL_STRING: + case SERVER_CONTEXT_SYMBOL_STRING: + if (fiber.type._context === void 0 && fiber.type.Provider === fiber.type) { + resolvedContext = fiber.type; + return "".concat(resolvedContext.displayName || "Context", ".Provider"); + } + resolvedContext = fiber.type._context || fiber.type; + return "".concat(resolvedContext.displayName || "Context", ".Consumer"); + case CONSUMER_SYMBOL_STRING: + resolvedContext = fiber.type._context; + return "".concat(resolvedContext.displayName || "Context", ".Consumer"); + case STRICT_MODE_NUMBER: + case STRICT_MODE_SYMBOL_STRING: + return null; + case PROFILER_NUMBER: + case PROFILER_SYMBOL_STRING: + return "Profiler(".concat(fiber.memoizedProps.id, ")"); + case SCOPE_NUMBER: + case SCOPE_SYMBOL_STRING: + return "Scope"; + default: + return null; + } + } + } + return { + getDisplayNameForFiber, + getTypeSymbol, + ReactPriorityLevels, + ReactTypeOfWork, + StrictModeBits + }; + } + var knownEnvironmentNames = /* @__PURE__ */ new Set(); + var rootToFiberInstanceMap = /* @__PURE__ */ new Map(); + var idToDevToolsInstanceMap = /* @__PURE__ */ new Map(); + var publicInstanceToDevToolsInstanceMap = /* @__PURE__ */ new Map(); + var hostResourceToDevToolsInstanceMap = /* @__PURE__ */ new Map(); + function getPublicInstance(instance) { + if (renderer_typeof(instance) === "object" && instance !== null) { + if (renderer_typeof(instance.canonical) === "object" && instance.canonical !== null) { + if (renderer_typeof(instance.canonical.publicInstance) === "object" && instance.canonical.publicInstance !== null) { + return instance.canonical.publicInstance; + } + } + if (typeof instance._nativeTag === "number") { + return instance._nativeTag; + } + } + return instance; + } + function aquireHostInstance(nearestInstance, hostInstance) { + var publicInstance = getPublicInstance(hostInstance); + publicInstanceToDevToolsInstanceMap.set(publicInstance, nearestInstance); + } + function releaseHostInstance(nearestInstance, hostInstance) { + var publicInstance = getPublicInstance(hostInstance); + if (publicInstanceToDevToolsInstanceMap.get(publicInstance) === nearestInstance) { + publicInstanceToDevToolsInstanceMap.delete(publicInstance); + } + } + function aquireHostResource(nearestInstance, resource) { + var hostInstance = resource && resource.instance; + if (hostInstance) { + var publicInstance = getPublicInstance(hostInstance); + var resourceInstances = hostResourceToDevToolsInstanceMap.get(publicInstance); + if (resourceInstances === void 0) { + resourceInstances = /* @__PURE__ */ new Set(); + hostResourceToDevToolsInstanceMap.set(publicInstance, resourceInstances); + publicInstanceToDevToolsInstanceMap.set(publicInstance, nearestInstance); + } + resourceInstances.add(nearestInstance); + } + } + function releaseHostResource(nearestInstance, resource) { + var hostInstance = resource && resource.instance; + if (hostInstance) { + var publicInstance = getPublicInstance(hostInstance); + var resourceInstances = hostResourceToDevToolsInstanceMap.get(publicInstance); + if (resourceInstances !== void 0) { + resourceInstances.delete(nearestInstance); + if (resourceInstances.size === 0) { + hostResourceToDevToolsInstanceMap.delete(publicInstance); + publicInstanceToDevToolsInstanceMap.delete(publicInstance); + } else if (publicInstanceToDevToolsInstanceMap.get(publicInstance) === nearestInstance) { + var _iterator = renderer_createForOfIteratorHelper(resourceInstances), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var firstInstance = _step.value; + publicInstanceToDevToolsInstanceMap.set(firstInstance, nearestInstance); + break; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + } + } + } + function renderer_attach(hook, rendererID, renderer, global2, shouldStartProfilingNow, profilingSettings) { + var version = renderer.reconcilerVersion || renderer.version; + var _getInternalReactCons = getInternalReactConstants(version), getDisplayNameForFiber = _getInternalReactCons.getDisplayNameForFiber, getTypeSymbol = _getInternalReactCons.getTypeSymbol, ReactPriorityLevels = _getInternalReactCons.ReactPriorityLevels, ReactTypeOfWork = _getInternalReactCons.ReactTypeOfWork, StrictModeBits = _getInternalReactCons.StrictModeBits; + var CacheComponent = ReactTypeOfWork.CacheComponent, ClassComponent = ReactTypeOfWork.ClassComponent, ContextConsumer = ReactTypeOfWork.ContextConsumer, DehydratedSuspenseComponent = ReactTypeOfWork.DehydratedSuspenseComponent, ForwardRef = ReactTypeOfWork.ForwardRef, Fragment = ReactTypeOfWork.Fragment, FunctionComponent = ReactTypeOfWork.FunctionComponent, HostRoot = ReactTypeOfWork.HostRoot, HostHoistable = ReactTypeOfWork.HostHoistable, HostSingleton = ReactTypeOfWork.HostSingleton, HostPortal = ReactTypeOfWork.HostPortal, HostComponent = ReactTypeOfWork.HostComponent, HostText = ReactTypeOfWork.HostText, IncompleteClassComponent = ReactTypeOfWork.IncompleteClassComponent, IncompleteFunctionComponent = ReactTypeOfWork.IncompleteFunctionComponent, IndeterminateComponent = ReactTypeOfWork.IndeterminateComponent, LegacyHiddenComponent = ReactTypeOfWork.LegacyHiddenComponent, MemoComponent = ReactTypeOfWork.MemoComponent, OffscreenComponent = ReactTypeOfWork.OffscreenComponent, SimpleMemoComponent = ReactTypeOfWork.SimpleMemoComponent, SuspenseComponent = ReactTypeOfWork.SuspenseComponent, SuspenseListComponent = ReactTypeOfWork.SuspenseListComponent, TracingMarkerComponent = ReactTypeOfWork.TracingMarkerComponent, Throw = ReactTypeOfWork.Throw, ViewTransitionComponent = ReactTypeOfWork.ViewTransitionComponent; + var ImmediatePriority = ReactPriorityLevels.ImmediatePriority, UserBlockingPriority = ReactPriorityLevels.UserBlockingPriority, NormalPriority = ReactPriorityLevels.NormalPriority, LowPriority = ReactPriorityLevels.LowPriority, IdlePriority = ReactPriorityLevels.IdlePriority, NoPriority = ReactPriorityLevels.NoPriority; + var getLaneLabelMap = renderer.getLaneLabelMap, injectProfilingHooks = renderer.injectProfilingHooks, overrideHookState = renderer.overrideHookState, overrideHookStateDeletePath = renderer.overrideHookStateDeletePath, overrideHookStateRenamePath = renderer.overrideHookStateRenamePath, overrideProps = renderer.overrideProps, overridePropsDeletePath = renderer.overridePropsDeletePath, overridePropsRenamePath = renderer.overridePropsRenamePath, scheduleRefresh = renderer.scheduleRefresh, setErrorHandler = renderer.setErrorHandler, setSuspenseHandler = renderer.setSuspenseHandler, scheduleUpdate = renderer.scheduleUpdate, getCurrentFiber = renderer.getCurrentFiber; + var supportsTogglingError = typeof setErrorHandler === "function" && typeof scheduleUpdate === "function"; + var supportsTogglingSuspense = typeof setSuspenseHandler === "function" && typeof scheduleUpdate === "function"; + if (typeof scheduleRefresh === "function") { + renderer.scheduleRefresh = function() { + try { + hook.emit("fastRefreshScheduled"); + } finally { + return scheduleRefresh.apply(void 0, arguments); + } + }; + } + var getTimelineData = null; + var toggleProfilingStatus = null; + if (typeof injectProfilingHooks === "function") { + var response = createProfilingHooks({ + getDisplayNameForFiber, + getIsProfiling: function getIsProfiling() { + return isProfiling; + }, + getLaneLabelMap, + currentDispatcherRef: getDispatcherRef(renderer), + workTagMap: ReactTypeOfWork, + reactVersion: version + }); + injectProfilingHooks(response.profilingHooks); + getTimelineData = response.getTimelineData; + toggleProfilingStatus = response.toggleProfilingStatus; + } + var fiberToComponentLogsMap = /* @__PURE__ */ new WeakMap(); + var needsToFlushComponentLogs = false; + function bruteForceFlushErrorsAndWarnings() { + var hasChanges = false; + var _iterator2 = renderer_createForOfIteratorHelper(idToDevToolsInstanceMap.values()), _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { + var devtoolsInstance = _step2.value; + if (devtoolsInstance.kind === FIBER_INSTANCE) { + var _fiber = devtoolsInstance.data; + var componentLogsEntry = fiberToComponentLogsMap.get(_fiber); + var changed = recordConsoleLogs(devtoolsInstance, componentLogsEntry); + if (changed) { + hasChanges = true; + updateMostRecentlyInspectedElementIfNecessary(devtoolsInstance.id); + } + } else { + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + if (hasChanges) { + flushPendingEvents(); + } + } + function clearErrorsAndWarnings() { + var _iterator3 = renderer_createForOfIteratorHelper(idToDevToolsInstanceMap.values()), _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) { + var devtoolsInstance = _step3.value; + if (devtoolsInstance.kind === FIBER_INSTANCE) { + var _fiber2 = devtoolsInstance.data; + fiberToComponentLogsMap.delete(_fiber2); + if (_fiber2.alternate) { + fiberToComponentLogsMap.delete(_fiber2.alternate); + } + } else { + componentInfoToComponentLogsMap["delete"](devtoolsInstance.data); + } + var changed = recordConsoleLogs(devtoolsInstance, void 0); + if (changed) { + updateMostRecentlyInspectedElementIfNecessary(devtoolsInstance.id); + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + flushPendingEvents(); + } + function clearConsoleLogsHelper(instanceID, type) { + var devtoolsInstance = idToDevToolsInstanceMap.get(instanceID); + if (devtoolsInstance !== void 0) { + var componentLogsEntry; + if (devtoolsInstance.kind === FIBER_INSTANCE) { + var _fiber3 = devtoolsInstance.data; + componentLogsEntry = fiberToComponentLogsMap.get(_fiber3); + if (componentLogsEntry === void 0 && _fiber3.alternate !== null) { + componentLogsEntry = fiberToComponentLogsMap.get(_fiber3.alternate); + } + } else { + var componentInfo = devtoolsInstance.data; + componentLogsEntry = componentInfoToComponentLogsMap.get(componentInfo); + } + if (componentLogsEntry !== void 0) { + if (type === "error") { + componentLogsEntry.errors.clear(); + componentLogsEntry.errorsCount = 0; + } else { + componentLogsEntry.warnings.clear(); + componentLogsEntry.warningsCount = 0; + } + var changed = recordConsoleLogs(devtoolsInstance, componentLogsEntry); + if (changed) { + flushPendingEvents(); + updateMostRecentlyInspectedElementIfNecessary(devtoolsInstance.id); + } + } + } + } + function clearErrorsForElementID(instanceID) { + clearConsoleLogsHelper(instanceID, "error"); + } + function clearWarningsForElementID(instanceID) { + clearConsoleLogsHelper(instanceID, "warn"); + } + function updateMostRecentlyInspectedElementIfNecessary(fiberID) { + if (mostRecentlyInspectedElement !== null && mostRecentlyInspectedElement.id === fiberID) { + hasElementUpdatedSinceLastInspected = true; + } + } + function getComponentStack(topFrame) { + if (getCurrentFiber == null) { + return null; + } + var current = getCurrentFiber(); + if (current === null) { + return null; + } + if (DevToolsFiberComponentStack_supportsConsoleTasks(current)) { + return null; + } + var dispatcherRef = getDispatcherRef(renderer); + if (dispatcherRef === void 0) { + return null; + } + var enableOwnerStacks2 = supportsOwnerStacks(current); + var componentStack = ""; + if (enableOwnerStacks2) { + var topStackFrames = formatOwnerStack(topFrame); + if (topStackFrames) { + componentStack += "\n" + topStackFrames; + } + componentStack += getOwnerStackByFiberInDev(ReactTypeOfWork, current, dispatcherRef); + } else { + componentStack = getStackByFiberInDevAndProd(ReactTypeOfWork, current, dispatcherRef); + } + return { + enableOwnerStacks: enableOwnerStacks2, + componentStack + }; + } + function onErrorOrWarning(type, args) { + if (getCurrentFiber == null) { + return; + } + var fiber = getCurrentFiber(); + if (fiber === null) { + return; + } + if (type === "error") { + if (forceErrorForFibers.get(fiber) === true || fiber.alternate !== null && forceErrorForFibers.get(fiber.alternate) === true) { + return; + } + } + var message = formatConsoleArgumentsToSingleString.apply(void 0, fiber_renderer_toConsumableArray(args)); + var componentLogsEntry = fiberToComponentLogsMap.get(fiber); + if (componentLogsEntry === void 0 && fiber.alternate !== null) { + componentLogsEntry = fiberToComponentLogsMap.get(fiber.alternate); + if (componentLogsEntry !== void 0) { + fiberToComponentLogsMap.set(fiber, componentLogsEntry); + } + } + if (componentLogsEntry === void 0) { + componentLogsEntry = { + errors: /* @__PURE__ */ new Map(), + errorsCount: 0, + warnings: /* @__PURE__ */ new Map(), + warningsCount: 0 + }; + fiberToComponentLogsMap.set(fiber, componentLogsEntry); + } + var messageMap = type === "error" ? componentLogsEntry.errors : componentLogsEntry.warnings; + var count = messageMap.get(message) || 0; + messageMap.set(message, count + 1); + if (type === "error") { + componentLogsEntry.errorsCount++; + } else { + componentLogsEntry.warningsCount++; + } + needsToFlushComponentLogs = true; + } + function debug2(name, instance, parentInstance) { + var extraString = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : ""; + if (__DEBUG__) { + var displayName = instance.kind === VIRTUAL_INSTANCE ? instance.data.name || "null" : instance.data.tag + ":" + (getDisplayNameForFiber(instance.data) || "null"); + var maybeID = instance.kind === FILTERED_FIBER_INSTANCE ? "<no id>" : instance.id; + var parentDisplayName = parentInstance === null ? "" : parentInstance.kind === VIRTUAL_INSTANCE ? parentInstance.data.name || "null" : parentInstance.data.tag + ":" + (getDisplayNameForFiber(parentInstance.data) || "null"); + var maybeParentID = parentInstance === null || parentInstance.kind === FILTERED_FIBER_INSTANCE ? "<no id>" : parentInstance.id; + console.groupCollapsed("[renderer] %c".concat(name, " %c").concat(displayName, " (").concat(maybeID, ") %c").concat(parentInstance ? "".concat(parentDisplayName, " (").concat(maybeParentID, ")") : "", " %c").concat(extraString), "color: red; font-weight: bold;", "color: blue;", "color: purple;", "color: black;"); + console.log(new Error().stack.split("\n").slice(1).join("\n")); + console.groupEnd(); + } + } + function debugTree(instance) { + var indent = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + if (__DEBUG__) { + var name = (instance.kind !== VIRTUAL_INSTANCE ? getDisplayNameForFiber(instance.data) : instance.data.name) || ""; + console.log(" ".repeat(indent) + "- " + (instance.kind === FILTERED_FIBER_INSTANCE ? 0 : instance.id) + " (" + name + ")", "parent", instance.parent === null ? " " : instance.parent.kind === FILTERED_FIBER_INSTANCE ? 0 : instance.parent.id, "next", instance.nextSibling === null ? " " : instance.nextSibling.id); + var child = instance.firstChild; + while (child !== null) { + debugTree(child, indent + 1); + child = child.nextSibling; + } + } + } + var hideElementsWithDisplayNames = /* @__PURE__ */ new Set(); + var hideElementsWithPaths = /* @__PURE__ */ new Set(); + var hideElementsWithTypes = /* @__PURE__ */ new Set(); + var hideElementsWithEnvs = /* @__PURE__ */ new Set(); + var traceUpdatesEnabled = false; + var traceUpdatesForNodes = /* @__PURE__ */ new Set(); + function applyComponentFilters(componentFilters) { + hideElementsWithTypes.clear(); + hideElementsWithDisplayNames.clear(); + hideElementsWithPaths.clear(); + hideElementsWithEnvs.clear(); + componentFilters.forEach(function(componentFilter) { + if (!componentFilter.isEnabled) { + return; + } + switch (componentFilter.type) { + case ComponentFilterDisplayName: + if (componentFilter.isValid && componentFilter.value !== "") { + hideElementsWithDisplayNames.add(new RegExp(componentFilter.value, "i")); + } + break; + case ComponentFilterElementType: + hideElementsWithTypes.add(componentFilter.value); + break; + case ComponentFilterLocation: + if (componentFilter.isValid && componentFilter.value !== "") { + hideElementsWithPaths.add(new RegExp(componentFilter.value, "i")); + } + break; + case ComponentFilterHOC: + hideElementsWithDisplayNames.add(new RegExp("\\(")); + break; + case ComponentFilterEnvironmentName: + hideElementsWithEnvs.add(componentFilter.value); + break; + default: + console.warn('Invalid component filter type "'.concat(componentFilter.type, '"')); + break; + } + }); + } + if (window.__REACT_DEVTOOLS_COMPONENT_FILTERS__ != null) { + var componentFiltersWithoutLocationBasedOnes = filterOutLocationComponentFilters(window.__REACT_DEVTOOLS_COMPONENT_FILTERS__); + applyComponentFilters(componentFiltersWithoutLocationBasedOnes); + } else { + applyComponentFilters(getDefaultComponentFilters()); + } + function updateComponentFilters(componentFilters) { + if (isProfiling) { + throw Error("Cannot modify filter preferences while profiling"); + } + hook.getFiberRoots(rendererID).forEach(function(root) { + var rootInstance = rootToFiberInstanceMap.get(root); + if (rootInstance === void 0) { + throw new Error("Expected the root instance to already exist when applying filters"); + } + currentRoot = rootInstance; + unmountInstanceRecursively(rootInstance); + rootToFiberInstanceMap.delete(root); + flushPendingEvents(root); + currentRoot = null; + }); + applyComponentFilters(componentFilters); + rootDisplayNameCounter.clear(); + hook.getFiberRoots(rendererID).forEach(function(root) { + var current = root.current; + var newRoot = createFiberInstance(current); + rootToFiberInstanceMap.set(root, newRoot); + idToDevToolsInstanceMap.set(newRoot.id, newRoot); + if (trackedPath !== null) { + mightBeOnTrackedPath = true; + } + currentRoot = newRoot; + setRootPseudoKey(currentRoot.id, root.current); + mountFiberRecursively(root.current, false); + flushPendingEvents(root); + currentRoot = null; + }); + flushPendingEvents(); + needsToFlushComponentLogs = false; + } + function getEnvironmentNames() { + return Array.from(knownEnvironmentNames); + } + function shouldFilterVirtual(data, secondaryEnv) { + if (hideElementsWithTypes.has(types_ElementTypeFunction)) { + return true; + } + if (hideElementsWithDisplayNames.size > 0) { + var displayName = data.name; + if (displayName != null) { + var _iterator4 = renderer_createForOfIteratorHelper(hideElementsWithDisplayNames), _step4; + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done; ) { + var displayNameRegExp = _step4.value; + if (displayNameRegExp.test(displayName)) { + return true; + } + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } + } + if ((data.env == null || hideElementsWithEnvs.has(data.env)) && (secondaryEnv === null || hideElementsWithEnvs.has(secondaryEnv))) { + return true; + } + return false; + } + function shouldFilterFiber(fiber) { + var tag = fiber.tag, type = fiber.type, key = fiber.key; + switch (tag) { + case DehydratedSuspenseComponent: + return true; + case HostPortal: + case HostText: + case LegacyHiddenComponent: + case OffscreenComponent: + case Throw: + return true; + case HostRoot: + return false; + case Fragment: + return key === null; + default: + var typeSymbol = getTypeSymbol(type); + switch (typeSymbol) { + case CONCURRENT_MODE_NUMBER: + case CONCURRENT_MODE_SYMBOL_STRING: + case DEPRECATED_ASYNC_MODE_SYMBOL_STRING: + case STRICT_MODE_NUMBER: + case STRICT_MODE_SYMBOL_STRING: + return true; + default: + break; + } + } + var elementType = getElementTypeForFiber(fiber); + if (hideElementsWithTypes.has(elementType)) { + return true; + } + if (hideElementsWithDisplayNames.size > 0) { + var displayName = getDisplayNameForFiber(fiber); + if (displayName != null) { + var _iterator5 = renderer_createForOfIteratorHelper(hideElementsWithDisplayNames), _step5; + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done; ) { + var displayNameRegExp = _step5.value; + if (displayNameRegExp.test(displayName)) { + return true; + } + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + } + } + if (hideElementsWithEnvs.has("Client")) { + switch (tag) { + case ClassComponent: + case IncompleteClassComponent: + case IncompleteFunctionComponent: + case FunctionComponent: + case IndeterminateComponent: + case ForwardRef: + case MemoComponent: + case SimpleMemoComponent: + return true; + } + } + return false; + } + function getElementTypeForFiber(fiber) { + var type = fiber.type, tag = fiber.tag; + switch (tag) { + case ClassComponent: + case IncompleteClassComponent: + return types_ElementTypeClass; + case IncompleteFunctionComponent: + case FunctionComponent: + case IndeterminateComponent: + return types_ElementTypeFunction; + case ForwardRef: + return types_ElementTypeForwardRef; + case HostRoot: + return ElementTypeRoot; + case HostComponent: + case HostHoistable: + case HostSingleton: + return ElementTypeHostComponent; + case HostPortal: + case HostText: + case Fragment: + return ElementTypeOtherOrUnknown; + case MemoComponent: + case SimpleMemoComponent: + return types_ElementTypeMemo; + case SuspenseComponent: + return ElementTypeSuspense; + case SuspenseListComponent: + return ElementTypeSuspenseList; + case TracingMarkerComponent: + return ElementTypeTracingMarker; + case ViewTransitionComponent: + return ElementTypeViewTransition; + default: + var typeSymbol = getTypeSymbol(type); + switch (typeSymbol) { + case CONCURRENT_MODE_NUMBER: + case CONCURRENT_MODE_SYMBOL_STRING: + case DEPRECATED_ASYNC_MODE_SYMBOL_STRING: + return ElementTypeOtherOrUnknown; + case PROVIDER_NUMBER: + case PROVIDER_SYMBOL_STRING: + return ElementTypeContext; + case CONTEXT_NUMBER: + case CONTEXT_SYMBOL_STRING: + return ElementTypeContext; + case STRICT_MODE_NUMBER: + case STRICT_MODE_SYMBOL_STRING: + return ElementTypeOtherOrUnknown; + case PROFILER_NUMBER: + case PROFILER_SYMBOL_STRING: + return ElementTypeProfiler; + default: + return ElementTypeOtherOrUnknown; + } + } + } + var currentRoot = null; + function untrackFiber(nearestInstance, fiber) { + if (forceErrorForFibers.size > 0) { + forceErrorForFibers.delete(fiber); + if (fiber.alternate) { + forceErrorForFibers.delete(fiber.alternate); + } + if (forceErrorForFibers.size === 0 && setErrorHandler != null) { + setErrorHandler(shouldErrorFiberAlwaysNull); + } + } + if (forceFallbackForFibers.size > 0) { + forceFallbackForFibers.delete(fiber); + if (fiber.alternate) { + forceFallbackForFibers.delete(fiber.alternate); + } + if (forceFallbackForFibers.size === 0 && setSuspenseHandler != null) { + setSuspenseHandler(shouldSuspendFiberAlwaysFalse); + } + } + if (fiber.tag === HostHoistable) { + releaseHostResource(nearestInstance, fiber.memoizedState); + } else if (fiber.tag === HostComponent || fiber.tag === HostText || fiber.tag === HostSingleton) { + releaseHostInstance(nearestInstance, fiber.stateNode); + } + for (var child = fiber.child; child !== null; child = child.sibling) { + if (shouldFilterFiber(child)) { + untrackFiber(nearestInstance, child); + } + } + } + function getChangeDescription(prevFiber, nextFiber) { + switch (nextFiber.tag) { + case ClassComponent: + if (prevFiber === null) { + return { + context: null, + didHooksChange: false, + isFirstMount: true, + props: null, + state: null + }; + } else { + var data = { + context: getContextChanged(prevFiber, nextFiber), + didHooksChange: false, + isFirstMount: false, + props: getChangedKeys(prevFiber.memoizedProps, nextFiber.memoizedProps), + state: getChangedKeys(prevFiber.memoizedState, nextFiber.memoizedState) + }; + return data; + } + case IncompleteFunctionComponent: + case FunctionComponent: + case IndeterminateComponent: + case ForwardRef: + case MemoComponent: + case SimpleMemoComponent: + if (prevFiber === null) { + return { + context: null, + didHooksChange: false, + isFirstMount: true, + props: null, + state: null + }; + } else { + var indices = getChangedHooksIndices(prevFiber.memoizedState, nextFiber.memoizedState); + var _data = { + context: getContextChanged(prevFiber, nextFiber), + didHooksChange: indices !== null && indices.length > 0, + isFirstMount: false, + props: getChangedKeys(prevFiber.memoizedProps, nextFiber.memoizedProps), + state: null, + hooks: indices + }; + return _data; + } + default: + return null; + } + } + function getContextChanged(prevFiber, nextFiber) { + var prevContext = prevFiber.dependencies && prevFiber.dependencies.firstContext; + var nextContext = nextFiber.dependencies && nextFiber.dependencies.firstContext; + while (prevContext && nextContext) { + if (prevContext.context !== nextContext.context) { + return false; + } + if (!shared_objectIs(prevContext.memoizedValue, nextContext.memoizedValue)) { + return true; + } + prevContext = prevContext.next; + nextContext = nextContext.next; + } + return false; + } + function isHookThatCanScheduleUpdate(hookObject) { + var queue = hookObject.queue; + if (!queue) { + return false; + } + var boundHasOwnProperty = shared_hasOwnProperty.bind(queue); + if (boundHasOwnProperty("pending")) { + return true; + } + return boundHasOwnProperty("value") && boundHasOwnProperty("getSnapshot") && typeof queue.getSnapshot === "function"; + } + function didStatefulHookChange(prev, next) { + var prevMemoizedState = prev.memoizedState; + var nextMemoizedState = next.memoizedState; + if (isHookThatCanScheduleUpdate(prev)) { + return prevMemoizedState !== nextMemoizedState; + } + return false; + } + function getChangedHooksIndices(prev, next) { + if (prev == null || next == null) { + return null; + } + var indices = []; + var index = 0; + while (next !== null) { + if (didStatefulHookChange(prev, next)) { + indices.push(index); + } + next = next.next; + prev = prev.next; + index++; + } + return indices; + } + function getChangedKeys(prev, next) { + if (prev == null || next == null) { + return null; + } + var keys = new Set([].concat(fiber_renderer_toConsumableArray(Object.keys(prev)), fiber_renderer_toConsumableArray(Object.keys(next)))); + var changedKeys = []; + var _iterator6 = renderer_createForOfIteratorHelper(keys), _step6; + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done; ) { + var key = _step6.value; + if (prev[key] !== next[key]) { + changedKeys.push(key); + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + return changedKeys; + } + function didFiberRender(prevFiber, nextFiber) { + switch (nextFiber.tag) { + case ClassComponent: + case FunctionComponent: + case ContextConsumer: + case MemoComponent: + case SimpleMemoComponent: + case ForwardRef: + var PerformedWork = 1; + return (getFiberFlags(nextFiber) & PerformedWork) === PerformedWork; + // Note: ContextConsumer only gets PerformedWork effect in 16.3.3+ + // so it won't get highlighted with React 16.3.0 to 16.3.2. + default: + return prevFiber.memoizedProps !== nextFiber.memoizedProps || prevFiber.memoizedState !== nextFiber.memoizedState || prevFiber.ref !== nextFiber.ref; + } + } + var pendingOperations = []; + var pendingRealUnmountedIDs = []; + var pendingOperationsQueue = []; + var pendingStringTable = /* @__PURE__ */ new Map(); + var pendingStringTableLength = 0; + var pendingUnmountedRootID = null; + function pushOperation(op) { + if (false) { + } + pendingOperations.push(op); + } + function shouldBailoutWithPendingOperations() { + if (isProfiling) { + if (currentCommitProfilingMetadata != null && currentCommitProfilingMetadata.durations.length > 0) { + return false; + } + } + return pendingOperations.length === 0 && pendingRealUnmountedIDs.length === 0 && pendingUnmountedRootID === null; + } + function flushOrQueueOperations(operations) { + if (shouldBailoutWithPendingOperations()) { + return; + } + if (pendingOperationsQueue !== null) { + pendingOperationsQueue.push(operations); + } else { + hook.emit("operations", operations); + } + } + function recordConsoleLogs(instance, componentLogsEntry) { + if (componentLogsEntry === void 0) { + if (instance.logCount === 0) { + return false; + } + instance.logCount = 0; + pushOperation(TREE_OPERATION_UPDATE_ERRORS_OR_WARNINGS); + pushOperation(instance.id); + pushOperation(0); + pushOperation(0); + return true; + } else { + var totalCount = componentLogsEntry.errorsCount + componentLogsEntry.warningsCount; + if (instance.logCount === totalCount) { + return false; + } + instance.logCount = totalCount; + pushOperation(TREE_OPERATION_UPDATE_ERRORS_OR_WARNINGS); + pushOperation(instance.id); + pushOperation(componentLogsEntry.errorsCount); + pushOperation(componentLogsEntry.warningsCount); + return true; + } + } + function flushPendingEvents(root) { + if (shouldBailoutWithPendingOperations()) { + return; + } + var numUnmountIDs = pendingRealUnmountedIDs.length + (pendingUnmountedRootID === null ? 0 : 1); + var operations = new Array( + // Identify which renderer this update is coming from. + 2 + // [rendererID, rootFiberID] + // How big is the string table? + 1 + // [stringTableLength] + // Then goes the actual string table. + pendingStringTableLength + // All unmounts are batched in a single message. + // [TREE_OPERATION_REMOVE, removedIDLength, ...ids] + (numUnmountIDs > 0 ? 2 + numUnmountIDs : 0) + // Regular operations + pendingOperations.length + ); + var i = 0; + operations[i++] = rendererID; + if (currentRoot === null) { + operations[i++] = -1; + } else { + operations[i++] = currentRoot.id; + } + operations[i++] = pendingStringTableLength; + pendingStringTable.forEach(function(entry, stringKey) { + var encodedString = entry.encodedString; + var length = encodedString.length; + operations[i++] = length; + for (var j2 = 0; j2 < length; j2++) { + operations[i + j2] = encodedString[j2]; + } + i += length; + }); + if (numUnmountIDs > 0) { + operations[i++] = TREE_OPERATION_REMOVE; + operations[i++] = numUnmountIDs; + for (var j = 0; j < pendingRealUnmountedIDs.length; j++) { + operations[i++] = pendingRealUnmountedIDs[j]; + } + if (pendingUnmountedRootID !== null) { + operations[i] = pendingUnmountedRootID; + i++; + } + } + for (var _j = 0; _j < pendingOperations.length; _j++) { + operations[i + _j] = pendingOperations[_j]; + } + i += pendingOperations.length; + flushOrQueueOperations(operations); + pendingOperations.length = 0; + pendingRealUnmountedIDs.length = 0; + pendingUnmountedRootID = null; + pendingStringTable.clear(); + pendingStringTableLength = 0; + } + function getStringID(string) { + if (string === null) { + return 0; + } + var existingEntry = pendingStringTable.get(string); + if (existingEntry !== void 0) { + return existingEntry.id; + } + var id = pendingStringTable.size + 1; + var encodedString = utfEncodeString(string); + pendingStringTable.set(string, { + encodedString, + id + }); + pendingStringTableLength += encodedString.length + 1; + return id; + } + function recordMount(fiber, parentInstance) { + var isRoot = fiber.tag === HostRoot; + var fiberInstance; + if (isRoot) { + var entry = rootToFiberInstanceMap.get(fiber.stateNode); + if (entry === void 0) { + throw new Error("The root should have been registered at this point"); + } + fiberInstance = entry; + } else { + fiberInstance = createFiberInstance(fiber); + } + idToDevToolsInstanceMap.set(fiberInstance.id, fiberInstance); + var id = fiberInstance.id; + if (__DEBUG__) { + debug2("recordMount()", fiberInstance, parentInstance); + } + var isProfilingSupported = fiber.hasOwnProperty("treeBaseDuration"); + if (isRoot) { + var hasOwnerMetadata = fiber.hasOwnProperty("_debugOwner"); + var profilingFlags = 0; + if (isProfilingSupported) { + profilingFlags = PROFILING_FLAG_BASIC_SUPPORT; + if (typeof injectProfilingHooks === "function") { + profilingFlags |= PROFILING_FLAG_TIMELINE_SUPPORT; + } + } + var isProductionBuildOfRenderer = renderer.bundleType === 0; + pushOperation(TREE_OPERATION_ADD); + pushOperation(id); + pushOperation(ElementTypeRoot); + pushOperation((fiber.mode & StrictModeBits) !== 0 ? 1 : 0); + pushOperation(profilingFlags); + pushOperation(!isProductionBuildOfRenderer && StrictModeBits !== 0 ? 1 : 0); + pushOperation(hasOwnerMetadata ? 1 : 0); + if (isProfiling) { + if (displayNamesByRootID !== null) { + displayNamesByRootID.set(id, getDisplayNameForRoot(fiber)); + } + } + } else { + var key = fiber.key; + var displayName = getDisplayNameForFiber(fiber); + var elementType = getElementTypeForFiber(fiber); + var debugOwner = getUnfilteredOwner(fiber); + var ownerInstance = findNearestOwnerInstance(parentInstance, debugOwner); + if (ownerInstance !== null && debugOwner === fiber._debugOwner && fiber._debugStack != null && ownerInstance.source === null) { + ownerInstance.source = fiber._debugStack; + } + var ownerID = ownerInstance === null ? 0 : ownerInstance.id; + var parentID = parentInstance ? parentInstance.kind === FILTERED_FIBER_INSTANCE ? ( + // A Filtered Fiber Instance will always have a Virtual Instance as a parent. + parentInstance.parent.id + ) : parentInstance.id : 0; + var displayNameStringID = getStringID(displayName); + var keyString = key === null ? null : String(key); + var keyStringID = getStringID(keyString); + pushOperation(TREE_OPERATION_ADD); + pushOperation(id); + pushOperation(elementType); + pushOperation(parentID); + pushOperation(ownerID); + pushOperation(displayNameStringID); + pushOperation(keyStringID); + if ((fiber.mode & StrictModeBits) !== 0) { + var parentFiber = null; + var parentFiberInstance = parentInstance; + while (parentFiberInstance !== null) { + if (parentFiberInstance.kind === FIBER_INSTANCE) { + parentFiber = parentFiberInstance.data; + break; + } + parentFiberInstance = parentFiberInstance.parent; + } + if (parentFiber === null || (parentFiber.mode & StrictModeBits) === 0) { + pushOperation(TREE_OPERATION_SET_SUBTREE_MODE); + pushOperation(id); + pushOperation(StrictMode); + } + } + } + var componentLogsEntry = fiberToComponentLogsMap.get(fiber); + if (componentLogsEntry === void 0 && fiber.alternate !== null) { + componentLogsEntry = fiberToComponentLogsMap.get(fiber.alternate); + } + recordConsoleLogs(fiberInstance, componentLogsEntry); + if (isProfilingSupported) { + recordProfilingDurations(fiberInstance, null); + } + return fiberInstance; + } + function recordVirtualMount(instance, parentInstance, secondaryEnv) { + var id = instance.id; + idToDevToolsInstanceMap.set(id, instance); + var componentInfo = instance.data; + var key = typeof componentInfo.key === "string" ? componentInfo.key : null; + var env = componentInfo.env; + var displayName = componentInfo.name || ""; + if (typeof env === "string") { + if (secondaryEnv !== null) { + displayName = secondaryEnv + "(" + displayName + ")"; + } + displayName = env + "(" + displayName + ")"; + } + var elementType = types_ElementTypeVirtual; + var debugOwner = getUnfilteredOwner(componentInfo); + var ownerInstance = findNearestOwnerInstance(parentInstance, debugOwner); + if (ownerInstance !== null && debugOwner === componentInfo.owner && componentInfo.debugStack != null && ownerInstance.source === null) { + ownerInstance.source = componentInfo.debugStack; + } + var ownerID = ownerInstance === null ? 0 : ownerInstance.id; + var parentID = parentInstance ? parentInstance.kind === FILTERED_FIBER_INSTANCE ? ( + // A Filtered Fiber Instance will always have a Virtual Instance as a parent. + parentInstance.parent.id + ) : parentInstance.id : 0; + var displayNameStringID = getStringID(displayName); + var keyString = key === null ? null : String(key); + var keyStringID = getStringID(keyString); + pushOperation(TREE_OPERATION_ADD); + pushOperation(id); + pushOperation(elementType); + pushOperation(parentID); + pushOperation(ownerID); + pushOperation(displayNameStringID); + pushOperation(keyStringID); + var componentLogsEntry = componentInfoToComponentLogsMap.get(componentInfo); + recordConsoleLogs(instance, componentLogsEntry); + } + function recordUnmount(fiberInstance) { + var fiber = fiberInstance.data; + if (__DEBUG__) { + debug2("recordUnmount()", fiberInstance, reconcilingParent); + } + if (trackedPathMatchInstance === fiberInstance) { + setTrackedPath(null); + } + var id = fiberInstance.id; + var isRoot = fiber.tag === HostRoot; + if (isRoot) { + pendingUnmountedRootID = id; + } else { + pendingRealUnmountedIDs.push(id); + } + idToDevToolsInstanceMap.delete(fiberInstance.id); + untrackFiber(fiberInstance, fiber); + } + var remainingReconcilingChildren = null; + var previouslyReconciledSibling = null; + var reconcilingParent = null; + function insertChild(instance) { + var parentInstance = reconcilingParent; + if (parentInstance === null) { + return; + } + instance.parent = parentInstance; + if (previouslyReconciledSibling === null) { + previouslyReconciledSibling = instance; + parentInstance.firstChild = instance; + } else { + previouslyReconciledSibling.nextSibling = instance; + previouslyReconciledSibling = instance; + } + instance.nextSibling = null; + } + function moveChild(instance, previousSibling) { + removeChild(instance, previousSibling); + insertChild(instance); + } + function removeChild(instance, previousSibling) { + if (instance.parent === null) { + if (remainingReconcilingChildren === instance) { + throw new Error("Remaining children should not have items with no parent"); + } else if (instance.nextSibling !== null) { + throw new Error("A deleted instance should not have next siblings"); + } + return; + } + var parentInstance = reconcilingParent; + if (parentInstance === null) { + throw new Error("Should not have a parent if we are at the root"); + } + if (instance.parent !== parentInstance) { + throw new Error("Cannot remove a node from a different parent than is being reconciled."); + } + if (previousSibling === null) { + if (remainingReconcilingChildren !== instance) { + throw new Error("Expected a placed child to be moved from the remaining set."); + } + remainingReconcilingChildren = instance.nextSibling; + } else { + previousSibling.nextSibling = instance.nextSibling; + } + instance.nextSibling = null; + instance.parent = null; + } + function unmountRemainingChildren() { + var child = remainingReconcilingChildren; + while (child !== null) { + unmountInstanceRecursively(child); + child = remainingReconcilingChildren; + } + } + function mountVirtualInstanceRecursively(virtualInstance, firstChild, lastChild, traceNearestHostComponentUpdate, virtualLevel) { + var mightSiblingsBeOnTrackedPath = updateVirtualTrackedPathStateBeforeMount(virtualInstance, reconcilingParent); + var stashedParent = reconcilingParent; + var stashedPrevious = previouslyReconciledSibling; + var stashedRemaining = remainingReconcilingChildren; + reconcilingParent = virtualInstance; + previouslyReconciledSibling = null; + remainingReconcilingChildren = null; + try { + mountVirtualChildrenRecursively(firstChild, lastChild, traceNearestHostComponentUpdate, virtualLevel + 1); + recordVirtualProfilingDurations(virtualInstance); + } finally { + reconcilingParent = stashedParent; + previouslyReconciledSibling = stashedPrevious; + remainingReconcilingChildren = stashedRemaining; + updateTrackedPathStateAfterMount(mightSiblingsBeOnTrackedPath); + } + } + function recordVirtualUnmount(instance) { + if (trackedPathMatchInstance === instance) { + setTrackedPath(null); + } + var id = instance.id; + pendingRealUnmountedIDs.push(id); + } + function getSecondaryEnvironmentName(debugInfo, index) { + if (debugInfo != null) { + var componentInfo = debugInfo[index]; + for (var i = index + 1; i < debugInfo.length; i++) { + var debugEntry = debugInfo[i]; + if (typeof debugEntry.env === "string") { + return componentInfo.env !== debugEntry.env ? debugEntry.env : null; + } + } + } + return null; + } + function mountVirtualChildrenRecursively(firstChild, lastChild, traceNearestHostComponentUpdate, virtualLevel) { + var fiber = firstChild; + var previousVirtualInstance = null; + var previousVirtualInstanceFirstFiber = firstChild; + while (fiber !== null && fiber !== lastChild) { + var level = 0; + if (fiber._debugInfo) { + for (var i = 0; i < fiber._debugInfo.length; i++) { + var debugEntry = fiber._debugInfo[i]; + if (typeof debugEntry.name !== "string") { + continue; + } + var componentInfo = debugEntry; + var secondaryEnv = getSecondaryEnvironmentName(fiber._debugInfo, i); + if (componentInfo.env != null) { + knownEnvironmentNames.add(componentInfo.env); + } + if (secondaryEnv !== null) { + knownEnvironmentNames.add(secondaryEnv); + } + if (shouldFilterVirtual(componentInfo, secondaryEnv)) { + continue; + } + if (level === virtualLevel) { + if (previousVirtualInstance === null || // Consecutive children with the same debug entry as a parent gets + // treated as if they share the same virtual instance. + previousVirtualInstance.data !== debugEntry) { + if (previousVirtualInstance !== null) { + mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceFirstFiber, fiber, traceNearestHostComponentUpdate, virtualLevel); + } + previousVirtualInstance = createVirtualInstance(componentInfo); + recordVirtualMount(previousVirtualInstance, reconcilingParent, secondaryEnv); + insertChild(previousVirtualInstance); + previousVirtualInstanceFirstFiber = fiber; + } + level++; + break; + } else { + level++; + } + } + } + if (level === virtualLevel) { + if (previousVirtualInstance !== null) { + mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceFirstFiber, fiber, traceNearestHostComponentUpdate, virtualLevel); + previousVirtualInstance = null; + } + mountFiberRecursively(fiber, traceNearestHostComponentUpdate); + } + fiber = fiber.sibling; + } + if (previousVirtualInstance !== null) { + mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceFirstFiber, null, traceNearestHostComponentUpdate, virtualLevel); + } + } + function mountChildrenRecursively(firstChild, traceNearestHostComponentUpdate) { + mountVirtualChildrenRecursively( + firstChild, + null, + traceNearestHostComponentUpdate, + 0 + // first level + ); + } + function mountFiberRecursively(fiber, traceNearestHostComponentUpdate) { + var shouldIncludeInTree = !shouldFilterFiber(fiber); + var newInstance = null; + if (shouldIncludeInTree) { + newInstance = recordMount(fiber, reconcilingParent); + insertChild(newInstance); + if (__DEBUG__) { + debug2("mountFiberRecursively()", newInstance, reconcilingParent); + } + } else if (reconcilingParent !== null && reconcilingParent.kind === VIRTUAL_INSTANCE) { + if (reconcilingParent.data === fiber._debugOwner && fiber._debugStack != null && reconcilingParent.source === null) { + reconcilingParent.source = fiber._debugStack; + } + newInstance = createFilteredFiberInstance(fiber); + insertChild(newInstance); + if (__DEBUG__) { + debug2("mountFiberRecursively()", newInstance, reconcilingParent); + } + } + var mightSiblingsBeOnTrackedPath = updateTrackedPathStateBeforeMount(fiber, newInstance); + var stashedParent = reconcilingParent; + var stashedPrevious = previouslyReconciledSibling; + var stashedRemaining = remainingReconcilingChildren; + if (newInstance !== null) { + reconcilingParent = newInstance; + previouslyReconciledSibling = null; + remainingReconcilingChildren = null; + } + try { + if (traceUpdatesEnabled) { + if (traceNearestHostComponentUpdate) { + var elementType = getElementTypeForFiber(fiber); + if (elementType === ElementTypeHostComponent) { + traceUpdatesForNodes.add(fiber.stateNode); + traceNearestHostComponentUpdate = false; + } + } + } + if (fiber.tag === HostHoistable) { + var nearestInstance = reconcilingParent; + if (nearestInstance === null) { + throw new Error("Did not expect a host hoistable to be the root"); + } + aquireHostResource(nearestInstance, fiber.memoizedState); + } else if (fiber.tag === HostComponent || fiber.tag === HostText || fiber.tag === HostSingleton) { + var _nearestInstance = reconcilingParent; + if (_nearestInstance === null) { + throw new Error("Did not expect a host hoistable to be the root"); + } + aquireHostInstance(_nearestInstance, fiber.stateNode); + } + if (fiber.tag === SuspenseComponent) { + var isTimedOut = fiber.memoizedState !== null; + if (isTimedOut) { + var primaryChildFragment = fiber.child; + var fallbackChildFragment = primaryChildFragment ? primaryChildFragment.sibling : null; + if (fallbackChildFragment) { + var fallbackChild = fallbackChildFragment.child; + if (fallbackChild !== null) { + updateTrackedPathStateBeforeMount(fallbackChildFragment, null); + mountChildrenRecursively(fallbackChild, traceNearestHostComponentUpdate); + } + } + } else { + var primaryChild = null; + var areSuspenseChildrenConditionallyWrapped = OffscreenComponent === -1; + if (areSuspenseChildrenConditionallyWrapped) { + primaryChild = fiber.child; + } else if (fiber.child !== null) { + primaryChild = fiber.child.child; + updateTrackedPathStateBeforeMount(fiber.child, null); + } + if (primaryChild !== null) { + mountChildrenRecursively(primaryChild, traceNearestHostComponentUpdate); + } + } + } else { + if (fiber.child !== null) { + mountChildrenRecursively(fiber.child, traceNearestHostComponentUpdate); + } + } + } finally { + if (newInstance !== null) { + reconcilingParent = stashedParent; + previouslyReconciledSibling = stashedPrevious; + remainingReconcilingChildren = stashedRemaining; + } + } + updateTrackedPathStateAfterMount(mightSiblingsBeOnTrackedPath); + } + function unmountInstanceRecursively(instance) { + if (__DEBUG__) { + debug2("unmountInstanceRecursively()", instance, reconcilingParent); + } + var stashedParent = reconcilingParent; + var stashedPrevious = previouslyReconciledSibling; + var stashedRemaining = remainingReconcilingChildren; + reconcilingParent = instance; + previouslyReconciledSibling = null; + remainingReconcilingChildren = instance.firstChild; + instance.firstChild = null; + try { + unmountRemainingChildren(); + } finally { + reconcilingParent = stashedParent; + previouslyReconciledSibling = stashedPrevious; + remainingReconcilingChildren = stashedRemaining; + } + if (instance.kind === FIBER_INSTANCE) { + recordUnmount(instance); + } else if (instance.kind === VIRTUAL_INSTANCE) { + recordVirtualUnmount(instance); + } else { + untrackFiber(instance, instance.data); + } + removeChild(instance, null); + } + function recordProfilingDurations(fiberInstance, prevFiber) { + var id = fiberInstance.id; + var fiber = fiberInstance.data; + var actualDuration = fiber.actualDuration, treeBaseDuration = fiber.treeBaseDuration; + fiberInstance.treeBaseDuration = treeBaseDuration || 0; + if (isProfiling) { + if (prevFiber == null || treeBaseDuration !== prevFiber.treeBaseDuration) { + var convertedTreeBaseDuration = Math.floor((treeBaseDuration || 0) * 1e3); + pushOperation(TREE_OPERATION_UPDATE_TREE_BASE_DURATION); + pushOperation(id); + pushOperation(convertedTreeBaseDuration); + } + if (prevFiber == null || didFiberRender(prevFiber, fiber)) { + if (actualDuration != null) { + var selfDuration = actualDuration; + var child = fiber.child; + while (child !== null) { + selfDuration -= child.actualDuration || 0; + child = child.sibling; + } + var metadata = currentCommitProfilingMetadata; + metadata.durations.push(id, actualDuration, selfDuration); + metadata.maxActualDuration = Math.max(metadata.maxActualDuration, actualDuration); + if (recordChangeDescriptions) { + var changeDescription = getChangeDescription(prevFiber, fiber); + if (changeDescription !== null) { + if (metadata.changeDescriptions !== null) { + metadata.changeDescriptions.set(id, changeDescription); + } + } + } + } + } + var fiberRoot = currentRoot.data.stateNode; + var updaters = fiberRoot.memoizedUpdaters; + if (updaters != null && (updaters.has(fiber) || // We check the alternate here because we're matching identity and + // prevFiber might be same as fiber. + fiber.alternate !== null && updaters.has(fiber.alternate))) { + var _metadata = currentCommitProfilingMetadata; + if (_metadata.updaters === null) { + _metadata.updaters = []; + } + _metadata.updaters.push(instanceToSerializedElement(fiberInstance)); + } + } + } + function recordVirtualProfilingDurations(virtualInstance) { + var id = virtualInstance.id; + var treeBaseDuration = 0; + for (var child = virtualInstance.firstChild; child !== null; child = child.nextSibling) { + treeBaseDuration += child.treeBaseDuration; + } + if (isProfiling) { + var previousTreeBaseDuration = virtualInstance.treeBaseDuration; + if (treeBaseDuration !== previousTreeBaseDuration) { + var convertedTreeBaseDuration = Math.floor((treeBaseDuration || 0) * 1e3); + pushOperation(TREE_OPERATION_UPDATE_TREE_BASE_DURATION); + pushOperation(id); + pushOperation(convertedTreeBaseDuration); + } + } + virtualInstance.treeBaseDuration = treeBaseDuration; + } + function recordResetChildren(parentInstance) { + if (__DEBUG__) { + if (parentInstance.firstChild !== null) { + debug2("recordResetChildren()", parentInstance.firstChild, parentInstance); + } + } + var nextChildren = []; + var child = parentInstance.firstChild; + while (child !== null) { + if (child.kind === FILTERED_FIBER_INSTANCE) { + for (var innerChild = parentInstance.firstChild; innerChild !== null; innerChild = innerChild.nextSibling) { + nextChildren.push(innerChild.id); + } + } else { + nextChildren.push(child.id); + } + child = child.nextSibling; + } + var numChildren = nextChildren.length; + if (numChildren < 2) { + return; + } + pushOperation(TREE_OPERATION_REORDER_CHILDREN); + pushOperation(parentInstance.id); + pushOperation(numChildren); + for (var i = 0; i < nextChildren.length; i++) { + pushOperation(nextChildren[i]); + } + } + function updateVirtualInstanceRecursively(virtualInstance, nextFirstChild, nextLastChild, prevFirstChild, traceNearestHostComponentUpdate, virtualLevel) { + var stashedParent = reconcilingParent; + var stashedPrevious = previouslyReconciledSibling; + var stashedRemaining = remainingReconcilingChildren; + reconcilingParent = virtualInstance; + previouslyReconciledSibling = null; + remainingReconcilingChildren = virtualInstance.firstChild; + virtualInstance.firstChild = null; + try { + if (updateVirtualChildrenRecursively(nextFirstChild, nextLastChild, prevFirstChild, traceNearestHostComponentUpdate, virtualLevel + 1)) { + recordResetChildren(virtualInstance); + } + var componentLogsEntry = componentInfoToComponentLogsMap.get(virtualInstance.data); + recordConsoleLogs(virtualInstance, componentLogsEntry); + recordVirtualProfilingDurations(virtualInstance); + } finally { + unmountRemainingChildren(); + reconcilingParent = stashedParent; + previouslyReconciledSibling = stashedPrevious; + remainingReconcilingChildren = stashedRemaining; + } + } + function updateVirtualChildrenRecursively(nextFirstChild, nextLastChild, prevFirstChild, traceNearestHostComponentUpdate, virtualLevel) { + var shouldResetChildren = false; + var nextChild = nextFirstChild; + var prevChildAtSameIndex = prevFirstChild; + var previousVirtualInstance = null; + var previousVirtualInstanceWasMount = false; + var previousVirtualInstanceNextFirstFiber = nextFirstChild; + var previousVirtualInstancePrevFirstFiber = prevFirstChild; + while (nextChild !== null && nextChild !== nextLastChild) { + var level = 0; + if (nextChild._debugInfo) { + for (var i = 0; i < nextChild._debugInfo.length; i++) { + var debugEntry = nextChild._debugInfo[i]; + if (typeof debugEntry.name !== "string") { + continue; + } + var componentInfo = debugEntry; + var secondaryEnv = getSecondaryEnvironmentName(nextChild._debugInfo, i); + if (componentInfo.env != null) { + knownEnvironmentNames.add(componentInfo.env); + } + if (secondaryEnv !== null) { + knownEnvironmentNames.add(secondaryEnv); + } + if (shouldFilterVirtual(componentInfo, secondaryEnv)) { + continue; + } + if (level === virtualLevel) { + if (previousVirtualInstance === null || // Consecutive children with the same debug entry as a parent gets + // treated as if they share the same virtual instance. + previousVirtualInstance.data !== componentInfo) { + if (previousVirtualInstance !== null) { + if (previousVirtualInstanceWasMount) { + mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, nextChild, traceNearestHostComponentUpdate, virtualLevel); + } else { + updateVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, nextChild, previousVirtualInstancePrevFirstFiber, traceNearestHostComponentUpdate, virtualLevel); + } + } + var previousSiblingOfBestMatch = null; + var bestMatch = remainingReconcilingChildren; + if (componentInfo.key != null) { + bestMatch = remainingReconcilingChildren; + while (bestMatch !== null) { + if (bestMatch.kind === VIRTUAL_INSTANCE && bestMatch.data.key === componentInfo.key) { + break; + } + previousSiblingOfBestMatch = bestMatch; + bestMatch = bestMatch.nextSibling; + } + } + if (bestMatch !== null && bestMatch.kind === VIRTUAL_INSTANCE && bestMatch.data.name === componentInfo.name && bestMatch.data.env === componentInfo.env && bestMatch.data.key === componentInfo.key) { + bestMatch.data = componentInfo; + moveChild(bestMatch, previousSiblingOfBestMatch); + previousVirtualInstance = bestMatch; + previousVirtualInstanceWasMount = false; + } else { + var newVirtualInstance = createVirtualInstance(componentInfo); + recordVirtualMount(newVirtualInstance, reconcilingParent, secondaryEnv); + insertChild(newVirtualInstance); + previousVirtualInstance = newVirtualInstance; + previousVirtualInstanceWasMount = true; + shouldResetChildren = true; + } + previousVirtualInstanceNextFirstFiber = nextChild; + previousVirtualInstancePrevFirstFiber = prevChildAtSameIndex; + } + level++; + break; + } else { + level++; + } + } + } + if (level === virtualLevel) { + if (previousVirtualInstance !== null) { + if (previousVirtualInstanceWasMount) { + mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, nextChild, traceNearestHostComponentUpdate, virtualLevel); + } else { + updateVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, nextChild, previousVirtualInstancePrevFirstFiber, traceNearestHostComponentUpdate, virtualLevel); + } + previousVirtualInstance = null; + } + var prevChild = void 0; + if (prevChildAtSameIndex === nextChild) { + prevChild = nextChild; + } else { + prevChild = nextChild.alternate; + } + var previousSiblingOfExistingInstance = null; + var existingInstance = null; + if (prevChild !== null) { + existingInstance = remainingReconcilingChildren; + while (existingInstance !== null) { + if (existingInstance.data === prevChild) { + break; + } + previousSiblingOfExistingInstance = existingInstance; + existingInstance = existingInstance.nextSibling; + } + } + if (existingInstance !== null) { + var fiberInstance = existingInstance; + if (prevChild !== prevChildAtSameIndex) { + shouldResetChildren = true; + } + moveChild(fiberInstance, previousSiblingOfExistingInstance); + if (updateFiberRecursively(fiberInstance, nextChild, prevChild, traceNearestHostComponentUpdate)) { + shouldResetChildren = true; + } + } else if (prevChild !== null && shouldFilterFiber(nextChild)) { + if (updateFiberRecursively(null, nextChild, prevChild, traceNearestHostComponentUpdate)) { + shouldResetChildren = true; + } + } else { + mountFiberRecursively(nextChild, traceNearestHostComponentUpdate); + shouldResetChildren = true; + } + } + nextChild = nextChild.sibling; + if (!shouldResetChildren && prevChildAtSameIndex !== null) { + prevChildAtSameIndex = prevChildAtSameIndex.sibling; + } + } + if (previousVirtualInstance !== null) { + if (previousVirtualInstanceWasMount) { + mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, null, traceNearestHostComponentUpdate, virtualLevel); + } else { + updateVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, null, previousVirtualInstancePrevFirstFiber, traceNearestHostComponentUpdate, virtualLevel); + } + } + if (prevChildAtSameIndex !== null) { + shouldResetChildren = true; + } + return shouldResetChildren; + } + function updateChildrenRecursively(nextFirstChild, prevFirstChild, traceNearestHostComponentUpdate) { + if (nextFirstChild === null) { + return prevFirstChild !== null; + } + return updateVirtualChildrenRecursively(nextFirstChild, null, prevFirstChild, traceNearestHostComponentUpdate, 0); + } + function updateFiberRecursively(fiberInstance, nextFiber, prevFiber, traceNearestHostComponentUpdate) { + if (__DEBUG__) { + if (fiberInstance !== null) { + debug2("updateFiberRecursively()", fiberInstance, reconcilingParent); + } + } + if (traceUpdatesEnabled) { + var elementType = getElementTypeForFiber(nextFiber); + if (traceNearestHostComponentUpdate) { + if (elementType === ElementTypeHostComponent) { + traceUpdatesForNodes.add(nextFiber.stateNode); + traceNearestHostComponentUpdate = false; + } + } else { + if (elementType === types_ElementTypeFunction || elementType === types_ElementTypeClass || elementType === ElementTypeContext || elementType === types_ElementTypeMemo || elementType === types_ElementTypeForwardRef) { + traceNearestHostComponentUpdate = didFiberRender(prevFiber, nextFiber); + } + } + } + var stashedParent = reconcilingParent; + var stashedPrevious = previouslyReconciledSibling; + var stashedRemaining = remainingReconcilingChildren; + if (fiberInstance !== null) { + fiberInstance.data = nextFiber; + if (mostRecentlyInspectedElement !== null && mostRecentlyInspectedElement.id === fiberInstance.id && didFiberRender(prevFiber, nextFiber)) { + hasElementUpdatedSinceLastInspected = true; + } + reconcilingParent = fiberInstance; + previouslyReconciledSibling = null; + remainingReconcilingChildren = fiberInstance.firstChild; + fiberInstance.firstChild = null; + } + try { + if (nextFiber.tag === HostHoistable) { + var nearestInstance = reconcilingParent; + if (nearestInstance === null) { + throw new Error("Did not expect a host hoistable to be the root"); + } + releaseHostResource(nearestInstance, prevFiber.memoizedState); + aquireHostResource(nearestInstance, nextFiber.memoizedState); + } + var isSuspense = nextFiber.tag === SuspenseComponent; + var shouldResetChildren = false; + var prevDidTimeout = isSuspense && prevFiber.memoizedState !== null; + var nextDidTimeOut = isSuspense && nextFiber.memoizedState !== null; + if (prevDidTimeout && nextDidTimeOut) { + var nextFiberChild = nextFiber.child; + var nextFallbackChildSet = nextFiberChild ? nextFiberChild.sibling : null; + var prevFiberChild = prevFiber.child; + var prevFallbackChildSet = prevFiberChild ? prevFiberChild.sibling : null; + if (prevFallbackChildSet == null && nextFallbackChildSet != null) { + mountChildrenRecursively(nextFallbackChildSet, traceNearestHostComponentUpdate); + shouldResetChildren = true; + } + if (nextFallbackChildSet != null && prevFallbackChildSet != null && updateChildrenRecursively(nextFallbackChildSet, prevFallbackChildSet, traceNearestHostComponentUpdate)) { + shouldResetChildren = true; + } + } else if (prevDidTimeout && !nextDidTimeOut) { + var nextPrimaryChildSet = nextFiber.child; + if (nextPrimaryChildSet !== null) { + mountChildrenRecursively(nextPrimaryChildSet, traceNearestHostComponentUpdate); + } + shouldResetChildren = true; + } else if (!prevDidTimeout && nextDidTimeOut) { + var _nextFiberChild = nextFiber.child; + var _nextFallbackChildSet = _nextFiberChild ? _nextFiberChild.sibling : null; + if (_nextFallbackChildSet != null) { + mountChildrenRecursively(_nextFallbackChildSet, traceNearestHostComponentUpdate); + shouldResetChildren = true; + } + } else { + if (nextFiber.child !== prevFiber.child) { + if (updateChildrenRecursively(nextFiber.child, prevFiber.child, traceNearestHostComponentUpdate)) { + shouldResetChildren = true; + } + } else { + if (fiberInstance !== null) { + fiberInstance.firstChild = remainingReconcilingChildren; + remainingReconcilingChildren = null; + if (traceUpdatesEnabled) { + if (traceNearestHostComponentUpdate) { + var hostInstances = findAllCurrentHostInstances(fiberInstance); + hostInstances.forEach(function(hostInstance) { + traceUpdatesForNodes.add(hostInstance); + }); + } + } + } else { + if (updateChildrenRecursively(nextFiber.child, prevFiber.child, false)) { + throw new Error("The children should not have changed if we pass in the same set."); + } + } + } + } + if (fiberInstance !== null) { + var componentLogsEntry = fiberToComponentLogsMap.get(fiberInstance.data); + if (componentLogsEntry === void 0 && fiberInstance.data.alternate) { + componentLogsEntry = fiberToComponentLogsMap.get(fiberInstance.data.alternate); + } + recordConsoleLogs(fiberInstance, componentLogsEntry); + var isProfilingSupported = nextFiber.hasOwnProperty("treeBaseDuration"); + if (isProfilingSupported) { + recordProfilingDurations(fiberInstance, prevFiber); + } + } + if (shouldResetChildren) { + if (fiberInstance !== null) { + recordResetChildren(fiberInstance); + return false; + } else { + return true; + } + } else { + return false; + } + } finally { + if (fiberInstance !== null) { + unmountRemainingChildren(); + reconcilingParent = stashedParent; + previouslyReconciledSibling = stashedPrevious; + remainingReconcilingChildren = stashedRemaining; + } + } + } + function cleanup() { + isProfiling = false; + } + function rootSupportsProfiling(root) { + if (root.memoizedInteractions != null) { + return true; + } else if (root.current != null && root.current.hasOwnProperty("treeBaseDuration")) { + return true; + } else { + return false; + } + } + function flushInitialOperations() { + var localPendingOperationsQueue = pendingOperationsQueue; + pendingOperationsQueue = null; + if (localPendingOperationsQueue !== null && localPendingOperationsQueue.length > 0) { + localPendingOperationsQueue.forEach(function(operations) { + hook.emit("operations", operations); + }); + } else { + if (trackedPath !== null) { + mightBeOnTrackedPath = true; + } + hook.getFiberRoots(rendererID).forEach(function(root) { + var current = root.current; + var newRoot = createFiberInstance(current); + rootToFiberInstanceMap.set(root, newRoot); + idToDevToolsInstanceMap.set(newRoot.id, newRoot); + currentRoot = newRoot; + setRootPseudoKey(currentRoot.id, root.current); + if (isProfiling && rootSupportsProfiling(root)) { + currentCommitProfilingMetadata = { + changeDescriptions: recordChangeDescriptions ? /* @__PURE__ */ new Map() : null, + durations: [], + commitTime: renderer_getCurrentTime() - profilingStartTime, + maxActualDuration: 0, + priorityLevel: null, + updaters: null, + effectDuration: null, + passiveEffectDuration: null + }; + } + mountFiberRecursively(root.current, false); + flushPendingEvents(root); + needsToFlushComponentLogs = false; + currentRoot = null; + }); + } + } + function handleCommitFiberUnmount(fiber) { + } + function handlePostCommitFiberRoot(root) { + if (isProfiling && rootSupportsProfiling(root)) { + if (currentCommitProfilingMetadata !== null) { + var _getEffectDurations = getEffectDurations(root), effectDuration = _getEffectDurations.effectDuration, passiveEffectDuration = _getEffectDurations.passiveEffectDuration; + currentCommitProfilingMetadata.effectDuration = effectDuration; + currentCommitProfilingMetadata.passiveEffectDuration = passiveEffectDuration; + } + } + if (needsToFlushComponentLogs) { + bruteForceFlushErrorsAndWarnings(); + } + } + function handleCommitFiberRoot(root, priorityLevel) { + var current = root.current; + var prevFiber = null; + var rootInstance = rootToFiberInstanceMap.get(root); + if (!rootInstance) { + rootInstance = createFiberInstance(current); + rootToFiberInstanceMap.set(root, rootInstance); + idToDevToolsInstanceMap.set(rootInstance.id, rootInstance); + } else { + prevFiber = rootInstance.data; + } + currentRoot = rootInstance; + if (trackedPath !== null) { + mightBeOnTrackedPath = true; + } + if (traceUpdatesEnabled) { + traceUpdatesForNodes.clear(); + } + var isProfilingSupported = rootSupportsProfiling(root); + if (isProfiling && isProfilingSupported) { + currentCommitProfilingMetadata = { + changeDescriptions: recordChangeDescriptions ? /* @__PURE__ */ new Map() : null, + durations: [], + commitTime: renderer_getCurrentTime() - profilingStartTime, + maxActualDuration: 0, + priorityLevel: priorityLevel == null ? null : formatPriorityLevel(priorityLevel), + updaters: null, + // Initialize to null; if new enough React version is running, + // these values will be read during separate handlePostCommitFiberRoot() call. + effectDuration: null, + passiveEffectDuration: null + }; + } + if (prevFiber !== null) { + var wasMounted = prevFiber.memoizedState != null && prevFiber.memoizedState.element != null && // A dehydrated root is not considered mounted + prevFiber.memoizedState.isDehydrated !== true; + var isMounted = current.memoizedState != null && current.memoizedState.element != null && // A dehydrated root is not considered mounted + current.memoizedState.isDehydrated !== true; + if (!wasMounted && isMounted) { + setRootPseudoKey(currentRoot.id, current); + mountFiberRecursively(current, false); + } else if (wasMounted && isMounted) { + updateFiberRecursively(rootInstance, current, prevFiber, false); + } else if (wasMounted && !isMounted) { + unmountInstanceRecursively(rootInstance); + removeRootPseudoKey(currentRoot.id); + rootToFiberInstanceMap.delete(root); + } + } else { + setRootPseudoKey(currentRoot.id, current); + mountFiberRecursively(current, false); + } + if (isProfiling && isProfilingSupported) { + if (!shouldBailoutWithPendingOperations()) { + var commitProfilingMetadata = rootToCommitProfilingMetadataMap.get(currentRoot.id); + if (commitProfilingMetadata != null) { + commitProfilingMetadata.push(currentCommitProfilingMetadata); + } else { + rootToCommitProfilingMetadataMap.set(currentRoot.id, [currentCommitProfilingMetadata]); + } + } + } + flushPendingEvents(root); + needsToFlushComponentLogs = false; + if (traceUpdatesEnabled) { + hook.emit("traceUpdates", traceUpdatesForNodes); + } + currentRoot = null; + } + function getResourceInstance(fiber) { + if (fiber.tag === HostHoistable) { + var resource = fiber.memoizedState; + if (renderer_typeof(resource) === "object" && resource !== null && resource.instance != null) { + return resource.instance; + } + } + return null; + } + function appendHostInstancesByDevToolsInstance(devtoolsInstance, hostInstances) { + if (devtoolsInstance.kind !== VIRTUAL_INSTANCE) { + var _fiber4 = devtoolsInstance.data; + appendHostInstancesByFiber(_fiber4, hostInstances); + return; + } + for (var child = devtoolsInstance.firstChild; child !== null; child = child.nextSibling) { + appendHostInstancesByDevToolsInstance(child, hostInstances); + } + } + function appendHostInstancesByFiber(fiber, hostInstances) { + var node = fiber; + while (true) { + if (node.tag === HostComponent || node.tag === HostText || node.tag === HostSingleton || node.tag === HostHoistable) { + var hostInstance = node.stateNode || getResourceInstance(node); + if (hostInstance) { + hostInstances.push(hostInstance); + } + } else if (node.child) { + node.child.return = node; + node = node.child; + continue; + } + if (node === fiber) { + return; + } + while (!node.sibling) { + if (!node.return || node.return === fiber) { + return; + } + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + } + function findAllCurrentHostInstances(devtoolsInstance) { + var hostInstances = []; + appendHostInstancesByDevToolsInstance(devtoolsInstance, hostInstances); + return hostInstances; + } + function findHostInstancesForElementID(id) { + try { + var devtoolsInstance = idToDevToolsInstanceMap.get(id); + if (devtoolsInstance === void 0) { + console.warn('Could not find DevToolsInstance with id "'.concat(id, '"')); + return null; + } + return findAllCurrentHostInstances(devtoolsInstance); + } catch (err) { + return null; + } + } + function getDisplayNameForElementID(id) { + var devtoolsInstance = idToDevToolsInstanceMap.get(id); + if (devtoolsInstance === void 0) { + return null; + } + if (devtoolsInstance.kind === FIBER_INSTANCE) { + return getDisplayNameForFiber(devtoolsInstance.data); + } else { + return devtoolsInstance.data.name || ""; + } + } + function getNearestMountedDOMNode(publicInstance) { + var domNode = publicInstance; + while (domNode && !publicInstanceToDevToolsInstanceMap.has(domNode)) { + domNode = domNode.parentNode; + } + return domNode; + } + function getElementIDForHostInstance(publicInstance) { + var instance = publicInstanceToDevToolsInstanceMap.get(publicInstance); + if (instance !== void 0) { + if (instance.kind === FILTERED_FIBER_INSTANCE) { + return instance.parent.id; + } + return instance.id; + } + return null; + } + function getElementAttributeByPath(id, path) { + if (isMostRecentlyInspectedElement(id)) { + return utils_getInObject(mostRecentlyInspectedElement, path); + } + return void 0; + } + function getElementSourceFunctionById(id) { + var devtoolsInstance = idToDevToolsInstanceMap.get(id); + if (devtoolsInstance === void 0) { + console.warn('Could not find DevToolsInstance with id "'.concat(id, '"')); + return null; + } + if (devtoolsInstance.kind !== FIBER_INSTANCE) { + return null; + } + var fiber = devtoolsInstance.data; + var elementType = fiber.elementType, tag = fiber.tag, type = fiber.type; + switch (tag) { + case ClassComponent: + case IncompleteClassComponent: + case IncompleteFunctionComponent: + case IndeterminateComponent: + case FunctionComponent: + return type; + case ForwardRef: + return type.render; + case MemoComponent: + case SimpleMemoComponent: + return elementType != null && elementType.type != null ? elementType.type : type; + default: + return null; + } + } + function instanceToSerializedElement(instance) { + if (instance.kind === FIBER_INSTANCE) { + var _fiber5 = instance.data; + return { + displayName: getDisplayNameForFiber(_fiber5) || "Anonymous", + id: instance.id, + key: _fiber5.key, + type: getElementTypeForFiber(_fiber5) + }; + } else { + var componentInfo = instance.data; + return { + displayName: componentInfo.name || "Anonymous", + id: instance.id, + key: componentInfo.key == null ? null : componentInfo.key, + type: types_ElementTypeVirtual + }; + } + } + function getOwnersList(id) { + var devtoolsInstance = idToDevToolsInstanceMap.get(id); + if (devtoolsInstance === void 0) { + console.warn('Could not find DevToolsInstance with id "'.concat(id, '"')); + return null; + } + var self = instanceToSerializedElement(devtoolsInstance); + var owners = getOwnersListFromInstance(devtoolsInstance); + if (owners === null) { + return [self]; + } + owners.unshift(self); + owners.reverse(); + return owners; + } + function getOwnersListFromInstance(instance) { + var owner = getUnfilteredOwner(instance.data); + if (owner === null) { + return null; + } + var owners = []; + var parentInstance = instance.parent; + while (parentInstance !== null && owner !== null) { + var ownerInstance = findNearestOwnerInstance(parentInstance, owner); + if (ownerInstance !== null) { + owners.push(instanceToSerializedElement(ownerInstance)); + owner = getUnfilteredOwner(owner); + parentInstance = ownerInstance.parent; + } else { + break; + } + } + return owners; + } + function getUnfilteredOwner(owner) { + if (owner == null) { + return null; + } + if (typeof owner.tag === "number") { + var ownerFiber = owner; + owner = ownerFiber._debugOwner; + } else { + var ownerInfo = owner; + owner = ownerInfo.owner; + } + while (owner) { + if (typeof owner.tag === "number") { + var _ownerFiber = owner; + if (!shouldFilterFiber(_ownerFiber)) { + return _ownerFiber; + } + owner = _ownerFiber._debugOwner; + } else { + var _ownerInfo = owner; + if (!shouldFilterVirtual(_ownerInfo, null)) { + return _ownerInfo; + } + owner = _ownerInfo.owner; + } + } + return null; + } + function findNearestOwnerInstance(parentInstance, owner) { + if (owner == null) { + return null; + } + while (parentInstance !== null) { + if (parentInstance.data === owner || // Typically both owner and instance.data would refer to the current version of a Fiber + // but it is possible for memoization to ignore the owner on the JSX. Then the new Fiber + // isn't propagated down as the new owner. In that case we might match the alternate + // instead. This is a bit hacky but the fastest check since type casting owner to a Fiber + // needs a duck type check anyway. + parentInstance.data === owner.alternate) { + if (parentInstance.kind === FILTERED_FIBER_INSTANCE) { + return null; + } + return parentInstance; + } + parentInstance = parentInstance.parent; + } + return null; + } + function getInstanceAndStyle(id) { + var instance = null; + var style = null; + var devtoolsInstance = idToDevToolsInstanceMap.get(id); + if (devtoolsInstance === void 0) { + console.warn('Could not find DevToolsInstance with id "'.concat(id, '"')); + return { + instance, + style + }; + } + if (devtoolsInstance.kind !== FIBER_INSTANCE) { + return { + instance, + style + }; + } + var fiber = devtoolsInstance.data; + if (fiber !== null) { + instance = fiber.stateNode; + if (fiber.memoizedProps !== null) { + style = fiber.memoizedProps.style; + } + } + return { + instance, + style + }; + } + function isErrorBoundary(fiber) { + var tag = fiber.tag, type = fiber.type; + switch (tag) { + case ClassComponent: + case IncompleteClassComponent: + var instance = fiber.stateNode; + return typeof type.getDerivedStateFromError === "function" || instance !== null && typeof instance.componentDidCatch === "function"; + default: + return false; + } + } + function inspectElementRaw(id) { + var devtoolsInstance = idToDevToolsInstanceMap.get(id); + if (devtoolsInstance === void 0) { + console.warn('Could not find DevToolsInstance with id "'.concat(id, '"')); + return null; + } + if (devtoolsInstance.kind === VIRTUAL_INSTANCE) { + return inspectVirtualInstanceRaw(devtoolsInstance); + } + if (devtoolsInstance.kind === FIBER_INSTANCE) { + return inspectFiberInstanceRaw(devtoolsInstance); + } + devtoolsInstance; + throw new Error("Unsupported instance kind"); + } + function inspectFiberInstanceRaw(fiberInstance) { + var fiber = fiberInstance.data; + if (fiber == null) { + return null; + } + var stateNode = fiber.stateNode, key = fiber.key, memoizedProps = fiber.memoizedProps, memoizedState = fiber.memoizedState, dependencies = fiber.dependencies, tag = fiber.tag, type = fiber.type; + var elementType = getElementTypeForFiber(fiber); + var usesHooks = (tag === FunctionComponent || tag === SimpleMemoComponent || tag === ForwardRef) && (!!memoizedState || !!dependencies); + var showState = !usesHooks && tag !== CacheComponent; + var typeSymbol = getTypeSymbol(type); + var canViewSource = false; + var context = null; + if (tag === ClassComponent || tag === FunctionComponent || tag === IncompleteClassComponent || tag === IncompleteFunctionComponent || tag === IndeterminateComponent || tag === MemoComponent || tag === ForwardRef || tag === SimpleMemoComponent) { + canViewSource = true; + if (stateNode && stateNode.context != null) { + var shouldHideContext = elementType === types_ElementTypeClass && !(type.contextTypes || type.contextType); + if (!shouldHideContext) { + context = stateNode.context; + } + } + } else if ( + // Detect pre-19 Context Consumers + (typeSymbol === CONTEXT_NUMBER || typeSymbol === CONTEXT_SYMBOL_STRING) && !// In 19+, CONTEXT_SYMBOL_STRING means a Provider instead. + // It will be handled in a different branch below. + // Eventually, this entire branch can be removed. + (type._context === void 0 && type.Provider === type) + ) { + var consumerResolvedContext = type._context || type; + context = consumerResolvedContext._currentValue || null; + var _current = fiber.return; + while (_current !== null) { + var currentType = _current.type; + var currentTypeSymbol = getTypeSymbol(currentType); + if (currentTypeSymbol === PROVIDER_NUMBER || currentTypeSymbol === PROVIDER_SYMBOL_STRING) { + var providerResolvedContext = currentType._context || currentType.context; + if (providerResolvedContext === consumerResolvedContext) { + context = _current.memoizedProps.value; + break; + } + } + _current = _current.return; + } + } else if ( + // Detect 19+ Context Consumers + typeSymbol === CONSUMER_SYMBOL_STRING + ) { + var _consumerResolvedContext = type._context; + context = _consumerResolvedContext._currentValue || null; + var _current2 = fiber.return; + while (_current2 !== null) { + var _currentType = _current2.type; + var _currentTypeSymbol = getTypeSymbol(_currentType); + if ( + // In 19+, these are Context Providers + _currentTypeSymbol === CONTEXT_SYMBOL_STRING + ) { + var _providerResolvedContext = _currentType; + if (_providerResolvedContext === _consumerResolvedContext) { + context = _current2.memoizedProps.value; + break; + } + } + _current2 = _current2.return; + } + } + var hasLegacyContext = false; + if (context !== null) { + hasLegacyContext = !!type.contextTypes; + context = { + value: context + }; + } + var owners = getOwnersListFromInstance(fiberInstance); + var hooks = null; + if (usesHooks) { + var originalConsoleMethods = {}; + for (var method in console) { + try { + originalConsoleMethods[method] = console[method]; + console[method] = function() { + }; + } catch (error) { + } + } + try { + hooks = (0, react_debug_tools.inspectHooksOfFiber)(fiber, getDispatcherRef(renderer)); + } finally { + for (var _method in originalConsoleMethods) { + try { + console[_method] = originalConsoleMethods[_method]; + } catch (error) { + } + } + } + } + var rootType = null; + var current = fiber; + var hasErrorBoundary = false; + var hasSuspenseBoundary = false; + while (current.return !== null) { + var temp = current; + current = current.return; + if (temp.tag === SuspenseComponent) { + hasSuspenseBoundary = true; + } else if (isErrorBoundary(temp)) { + hasErrorBoundary = true; + } + } + var fiberRoot = current.stateNode; + if (fiberRoot != null && fiberRoot._debugRootType !== null) { + rootType = fiberRoot._debugRootType; + } + var isTimedOutSuspense = tag === SuspenseComponent && memoizedState !== null; + var isErrored = false; + if (isErrorBoundary(fiber)) { + var DidCapture = 128; + isErrored = (fiber.flags & DidCapture) !== 0 || forceErrorForFibers.get(fiber) === true || fiber.alternate !== null && forceErrorForFibers.get(fiber.alternate) === true; + } + var plugins = { + stylex: null + }; + if (enableStyleXFeatures) { + if (memoizedProps != null && memoizedProps.hasOwnProperty("xstyle")) { + plugins.stylex = getStyleXData(memoizedProps.xstyle); + } + } + var source = null; + if (canViewSource) { + source = getSourceForFiberInstance(fiberInstance); + } + var componentLogsEntry = fiberToComponentLogsMap.get(fiber); + if (componentLogsEntry === void 0 && fiber.alternate !== null) { + componentLogsEntry = fiberToComponentLogsMap.get(fiber.alternate); + } + return { + id: fiberInstance.id, + // Does the current renderer support editable hooks and function props? + canEditHooks: typeof overrideHookState === "function", + canEditFunctionProps: typeof overrideProps === "function", + // Does the current renderer support advanced editing interface? + canEditHooksAndDeletePaths: typeof overrideHookStateDeletePath === "function", + canEditHooksAndRenamePaths: typeof overrideHookStateRenamePath === "function", + canEditFunctionPropsDeletePaths: typeof overridePropsDeletePath === "function", + canEditFunctionPropsRenamePaths: typeof overridePropsRenamePath === "function", + canToggleError: supportsTogglingError && hasErrorBoundary, + // Is this error boundary in error state. + isErrored, + canToggleSuspense: supportsTogglingSuspense && hasSuspenseBoundary && // If it's showing the real content, we can always flip fallback. + (!isTimedOutSuspense || // If it's showing fallback because we previously forced it to, + // allow toggling it back to remove the fallback override. + forceFallbackForFibers.has(fiber) || fiber.alternate !== null && forceFallbackForFibers.has(fiber.alternate)), + // Can view component source location. + canViewSource, + source, + // Does the component have legacy context attached to it. + hasLegacyContext, + key: key != null ? key : null, + type: elementType, + // Inspectable properties. + // TODO Review sanitization approach for the below inspectable values. + context, + hooks, + props: memoizedProps, + state: showState ? memoizedState : null, + errors: componentLogsEntry === void 0 ? [] : Array.from(componentLogsEntry.errors.entries()), + warnings: componentLogsEntry === void 0 ? [] : Array.from(componentLogsEntry.warnings.entries()), + // List of owners + owners, + rootType, + rendererPackageName: renderer.rendererPackageName, + rendererVersion: renderer.version, + plugins + }; + } + function inspectVirtualInstanceRaw(virtualInstance) { + var canViewSource = true; + var source = getSourceForInstance(virtualInstance); + var componentInfo = virtualInstance.data; + var key = typeof componentInfo.key === "string" ? componentInfo.key : null; + var props = componentInfo.props == null ? null : componentInfo.props; + var owners = getOwnersListFromInstance(virtualInstance); + var rootType = null; + var hasErrorBoundary = false; + var hasSuspenseBoundary = false; + var nearestFiber = getNearestFiber(virtualInstance); + if (nearestFiber !== null) { + var current = nearestFiber; + while (current.return !== null) { + var temp = current; + current = current.return; + if (temp.tag === SuspenseComponent) { + hasSuspenseBoundary = true; + } else if (isErrorBoundary(temp)) { + hasErrorBoundary = true; + } + } + var fiberRoot = current.stateNode; + if (fiberRoot != null && fiberRoot._debugRootType !== null) { + rootType = fiberRoot._debugRootType; + } + } + var plugins = { + stylex: null + }; + var componentLogsEntry = componentInfoToComponentLogsMap.get(componentInfo); + return { + id: virtualInstance.id, + canEditHooks: false, + canEditFunctionProps: false, + canEditHooksAndDeletePaths: false, + canEditHooksAndRenamePaths: false, + canEditFunctionPropsDeletePaths: false, + canEditFunctionPropsRenamePaths: false, + canToggleError: supportsTogglingError && hasErrorBoundary, + isErrored: false, + canToggleSuspense: supportsTogglingSuspense && hasSuspenseBoundary, + // Can view component source location. + canViewSource, + source, + // Does the component have legacy context attached to it. + hasLegacyContext: false, + key, + type: types_ElementTypeVirtual, + // Inspectable properties. + // TODO Review sanitization approach for the below inspectable values. + context: null, + hooks: null, + props, + state: null, + errors: componentLogsEntry === void 0 ? [] : Array.from(componentLogsEntry.errors.entries()), + warnings: componentLogsEntry === void 0 ? [] : Array.from(componentLogsEntry.warnings.entries()), + // List of owners + owners, + rootType, + rendererPackageName: renderer.rendererPackageName, + rendererVersion: renderer.version, + plugins + }; + } + var mostRecentlyInspectedElement = null; + var hasElementUpdatedSinceLastInspected = false; + var currentlyInspectedPaths = {}; + function isMostRecentlyInspectedElement(id) { + return mostRecentlyInspectedElement !== null && mostRecentlyInspectedElement.id === id; + } + function isMostRecentlyInspectedElementCurrent(id) { + return isMostRecentlyInspectedElement(id) && !hasElementUpdatedSinceLastInspected; + } + function mergeInspectedPaths(path) { + var current = currentlyInspectedPaths; + path.forEach(function(key) { + if (!current[key]) { + current[key] = {}; + } + current = current[key]; + }); + } + function createIsPathAllowed(key, secondaryCategory) { + return function isPathAllowed(path) { + switch (secondaryCategory) { + case "hooks": + if (path.length === 1) { + return true; + } + if (path[path.length - 2] === "hookSource" && path[path.length - 1] === "fileName") { + return true; + } + if (path[path.length - 1] === "subHooks" || path[path.length - 2] === "subHooks") { + return true; + } + break; + default: + break; + } + var current = key === null ? currentlyInspectedPaths : currentlyInspectedPaths[key]; + if (!current) { + return false; + } + for (var i = 0; i < path.length; i++) { + current = current[path[i]]; + if (!current) { + return false; + } + } + return true; + }; + } + function updateSelectedElement(inspectedElement) { + var hooks = inspectedElement.hooks, id = inspectedElement.id, props = inspectedElement.props; + var devtoolsInstance = idToDevToolsInstanceMap.get(id); + if (devtoolsInstance === void 0) { + console.warn('Could not find DevToolsInstance with id "'.concat(id, '"')); + return; + } + if (devtoolsInstance.kind !== FIBER_INSTANCE) { + return; + } + var fiber = devtoolsInstance.data; + var elementType = fiber.elementType, stateNode = fiber.stateNode, tag = fiber.tag, type = fiber.type; + switch (tag) { + case ClassComponent: + case IncompleteClassComponent: + case IndeterminateComponent: + global2.$r = stateNode; + break; + case IncompleteFunctionComponent: + case FunctionComponent: + global2.$r = { + hooks, + props, + type + }; + break; + case ForwardRef: + global2.$r = { + hooks, + props, + type: type.render + }; + break; + case MemoComponent: + case SimpleMemoComponent: + global2.$r = { + hooks, + props, + type: elementType != null && elementType.type != null ? elementType.type : type + }; + break; + default: + global2.$r = null; + break; + } + } + function storeAsGlobal(id, path, count) { + if (isMostRecentlyInspectedElement(id)) { + var value = utils_getInObject(mostRecentlyInspectedElement, path); + var key = "$reactTemp".concat(count); + window[key] = value; + console.log(key); + console.log(value); + } + } + function getSerializedElementValueByPath(id, path) { + if (isMostRecentlyInspectedElement(id)) { + var valueToCopy = utils_getInObject(mostRecentlyInspectedElement, path); + return serializeToString(valueToCopy); + } + } + function inspectElement(requestID, id, path, forceFullData) { + if (path !== null) { + mergeInspectedPaths(path); + } + if (isMostRecentlyInspectedElement(id) && !forceFullData) { + if (!hasElementUpdatedSinceLastInspected) { + if (path !== null) { + var secondaryCategory = null; + if (path[0] === "hooks") { + secondaryCategory = "hooks"; + } + return { + id, + responseID: requestID, + type: "hydrated-path", + path, + value: cleanForBridge(utils_getInObject(mostRecentlyInspectedElement, path), createIsPathAllowed(null, secondaryCategory), path) + }; + } else { + return { + id, + responseID: requestID, + type: "no-change" + }; + } + } + } else { + currentlyInspectedPaths = {}; + } + hasElementUpdatedSinceLastInspected = false; + try { + mostRecentlyInspectedElement = inspectElementRaw(id); + } catch (error) { + if (error.name === "ReactDebugToolsRenderError") { + var message = "Error rendering inspected element."; + var stack; + console.error(message + "\n\n", error); + if (error.cause != null) { + var componentName = getDisplayNameForElementID(id); + console.error("React DevTools encountered an error while trying to inspect hooks. This is most likely caused by an error in current inspected component" + (componentName != null ? ': "'.concat(componentName, '".') : ".") + "\nThe error thrown in the component is: \n\n", error.cause); + if (error.cause instanceof Error) { + message = error.cause.message || message; + stack = error.cause.stack; + } + } + return { + type: "error", + errorType: "user", + id, + responseID: requestID, + message, + stack + }; + } + if (error.name === "ReactDebugToolsUnsupportedHookError") { + return { + type: "error", + errorType: "unknown-hook", + id, + responseID: requestID, + message: "Unsupported hook in the react-debug-tools package: " + error.message + }; + } + console.error("Error inspecting element.\n\n", error); + return { + type: "error", + errorType: "uncaught", + id, + responseID: requestID, + message: error.message, + stack: error.stack + }; + } + if (mostRecentlyInspectedElement === null) { + return { + id, + responseID: requestID, + type: "not-found" + }; + } + updateSelectedElement(mostRecentlyInspectedElement); + var cleanedInspectedElement = renderer_objectSpread({}, mostRecentlyInspectedElement); + cleanedInspectedElement.context = cleanForBridge(cleanedInspectedElement.context, createIsPathAllowed("context", null)); + cleanedInspectedElement.hooks = cleanForBridge(cleanedInspectedElement.hooks, createIsPathAllowed("hooks", "hooks")); + cleanedInspectedElement.props = cleanForBridge(cleanedInspectedElement.props, createIsPathAllowed("props", null)); + cleanedInspectedElement.state = cleanForBridge(cleanedInspectedElement.state, createIsPathAllowed("state", null)); + return { + id, + responseID: requestID, + type: "full-data", + // $FlowFixMe[prop-missing] found when upgrading Flow + value: cleanedInspectedElement + }; + } + function logElementToConsole(id) { + var result = isMostRecentlyInspectedElementCurrent(id) ? mostRecentlyInspectedElement : inspectElementRaw(id); + if (result === null) { + console.warn('Could not find DevToolsInstance with id "'.concat(id, '"')); + return; + } + var displayName = getDisplayNameForElementID(id); + var supportsGroup = typeof console.groupCollapsed === "function"; + if (supportsGroup) { + console.groupCollapsed( + "[Click to expand] %c<".concat(displayName || "Component", " />"), + // --dom-tag-name-color is the CSS variable Chrome styles HTML elements with in the console. + "color: var(--dom-tag-name-color); font-weight: normal;" + ); + } + if (result.props !== null) { + console.log("Props:", result.props); + } + if (result.state !== null) { + console.log("State:", result.state); + } + if (result.hooks !== null) { + console.log("Hooks:", result.hooks); + } + var hostInstances = findHostInstancesForElementID(id); + if (hostInstances !== null) { + console.log("Nodes:", hostInstances); + } + if (supportsGroup) { + console.groupEnd(); + } + } + function deletePath(type, id, hookID, path) { + var devtoolsInstance = idToDevToolsInstanceMap.get(id); + if (devtoolsInstance === void 0) { + console.warn('Could not find DevToolsInstance with id "'.concat(id, '"')); + return; + } + if (devtoolsInstance.kind !== FIBER_INSTANCE) { + return; + } + var fiber = devtoolsInstance.data; + if (fiber !== null) { + var instance = fiber.stateNode; + switch (type) { + case "context": + path = path.slice(1); + switch (fiber.tag) { + case ClassComponent: + if (path.length === 0) { + } else { + deletePathInObject(instance.context, path); + } + instance.forceUpdate(); + break; + case FunctionComponent: + break; + } + break; + case "hooks": + if (typeof overrideHookStateDeletePath === "function") { + overrideHookStateDeletePath(fiber, hookID, path); + } + break; + case "props": + if (instance === null) { + if (typeof overridePropsDeletePath === "function") { + overridePropsDeletePath(fiber, path); + } + } else { + fiber.pendingProps = copyWithDelete(instance.props, path); + instance.forceUpdate(); + } + break; + case "state": + deletePathInObject(instance.state, path); + instance.forceUpdate(); + break; + } + } + } + function renamePath(type, id, hookID, oldPath, newPath) { + var devtoolsInstance = idToDevToolsInstanceMap.get(id); + if (devtoolsInstance === void 0) { + console.warn('Could not find DevToolsInstance with id "'.concat(id, '"')); + return; + } + if (devtoolsInstance.kind !== FIBER_INSTANCE) { + return; + } + var fiber = devtoolsInstance.data; + if (fiber !== null) { + var instance = fiber.stateNode; + switch (type) { + case "context": + oldPath = oldPath.slice(1); + newPath = newPath.slice(1); + switch (fiber.tag) { + case ClassComponent: + if (oldPath.length === 0) { + } else { + renamePathInObject(instance.context, oldPath, newPath); + } + instance.forceUpdate(); + break; + case FunctionComponent: + break; + } + break; + case "hooks": + if (typeof overrideHookStateRenamePath === "function") { + overrideHookStateRenamePath(fiber, hookID, oldPath, newPath); + } + break; + case "props": + if (instance === null) { + if (typeof overridePropsRenamePath === "function") { + overridePropsRenamePath(fiber, oldPath, newPath); + } + } else { + fiber.pendingProps = copyWithRename(instance.props, oldPath, newPath); + instance.forceUpdate(); + } + break; + case "state": + renamePathInObject(instance.state, oldPath, newPath); + instance.forceUpdate(); + break; + } + } + } + function overrideValueAtPath(type, id, hookID, path, value) { + var devtoolsInstance = idToDevToolsInstanceMap.get(id); + if (devtoolsInstance === void 0) { + console.warn('Could not find DevToolsInstance with id "'.concat(id, '"')); + return; + } + if (devtoolsInstance.kind !== FIBER_INSTANCE) { + return; + } + var fiber = devtoolsInstance.data; + if (fiber !== null) { + var instance = fiber.stateNode; + switch (type) { + case "context": + path = path.slice(1); + switch (fiber.tag) { + case ClassComponent: + if (path.length === 0) { + instance.context = value; + } else { + utils_setInObject(instance.context, path, value); + } + instance.forceUpdate(); + break; + case FunctionComponent: + break; + } + break; + case "hooks": + if (typeof overrideHookState === "function") { + overrideHookState(fiber, hookID, path, value); + } + break; + case "props": + switch (fiber.tag) { + case ClassComponent: + fiber.pendingProps = copyWithSet(instance.props, path, value); + instance.forceUpdate(); + break; + default: + if (typeof overrideProps === "function") { + overrideProps(fiber, path, value); + } + break; + } + break; + case "state": + switch (fiber.tag) { + case ClassComponent: + utils_setInObject(instance.state, path, value); + instance.forceUpdate(); + break; + } + break; + } + } + } + var currentCommitProfilingMetadata = null; + var displayNamesByRootID = null; + var initialTreeBaseDurationsMap = null; + var isProfiling = false; + var profilingStartTime = 0; + var recordChangeDescriptions = false; + var recordTimeline = false; + var rootToCommitProfilingMetadataMap = null; + function getProfilingData() { + var dataForRoots = []; + if (rootToCommitProfilingMetadataMap === null) { + throw Error("getProfilingData() called before any profiling data was recorded"); + } + rootToCommitProfilingMetadataMap.forEach(function(commitProfilingMetadata, rootID) { + var commitData = []; + var displayName = displayNamesByRootID !== null && displayNamesByRootID.get(rootID) || "Unknown"; + var initialTreeBaseDurations = initialTreeBaseDurationsMap !== null && initialTreeBaseDurationsMap.get(rootID) || []; + commitProfilingMetadata.forEach(function(commitProfilingData, commitIndex) { + var changeDescriptions = commitProfilingData.changeDescriptions, durations = commitProfilingData.durations, effectDuration = commitProfilingData.effectDuration, maxActualDuration = commitProfilingData.maxActualDuration, passiveEffectDuration = commitProfilingData.passiveEffectDuration, priorityLevel = commitProfilingData.priorityLevel, commitTime = commitProfilingData.commitTime, updaters = commitProfilingData.updaters; + var fiberActualDurations = []; + var fiberSelfDurations = []; + for (var i = 0; i < durations.length; i += 3) { + var fiberID = durations[i]; + fiberActualDurations.push([fiberID, formatDurationToMicrosecondsGranularity(durations[i + 1])]); + fiberSelfDurations.push([fiberID, formatDurationToMicrosecondsGranularity(durations[i + 2])]); + } + commitData.push({ + changeDescriptions: changeDescriptions !== null ? Array.from(changeDescriptions.entries()) : null, + duration: formatDurationToMicrosecondsGranularity(maxActualDuration), + effectDuration: effectDuration !== null ? formatDurationToMicrosecondsGranularity(effectDuration) : null, + fiberActualDurations, + fiberSelfDurations, + passiveEffectDuration: passiveEffectDuration !== null ? formatDurationToMicrosecondsGranularity(passiveEffectDuration) : null, + priorityLevel, + timestamp: commitTime, + updaters + }); + }); + dataForRoots.push({ + commitData, + displayName, + initialTreeBaseDurations, + rootID + }); + }); + var timelineData = null; + if (typeof getTimelineData === "function") { + var currentTimelineData = getTimelineData(); + if (currentTimelineData) { + var batchUIDToMeasuresMap = currentTimelineData.batchUIDToMeasuresMap, internalModuleSourceToRanges = currentTimelineData.internalModuleSourceToRanges, laneToLabelMap = currentTimelineData.laneToLabelMap, laneToReactMeasureMap = currentTimelineData.laneToReactMeasureMap, rest = _objectWithoutProperties(currentTimelineData, ["batchUIDToMeasuresMap", "internalModuleSourceToRanges", "laneToLabelMap", "laneToReactMeasureMap"]); + timelineData = renderer_objectSpread(renderer_objectSpread({}, rest), {}, { + // Most of the data is safe to parse as-is, + // but we need to convert the nested Arrays back to Maps. + // Most of the data is safe to serialize as-is, + // but we need to convert the Maps to nested Arrays. + batchUIDToMeasuresKeyValueArray: Array.from(batchUIDToMeasuresMap.entries()), + internalModuleSourceToRanges: Array.from(internalModuleSourceToRanges.entries()), + laneToLabelKeyValueArray: Array.from(laneToLabelMap.entries()), + laneToReactMeasureKeyValueArray: Array.from(laneToReactMeasureMap.entries()) + }); + } + } + return { + dataForRoots, + rendererID, + timelineData + }; + } + function snapshotTreeBaseDurations(instance, target) { + if (instance.kind !== FILTERED_FIBER_INSTANCE) { + target.push([instance.id, instance.treeBaseDuration]); + } + for (var child = instance.firstChild; child !== null; child = child.nextSibling) { + snapshotTreeBaseDurations(child, target); + } + } + function startProfiling(shouldRecordChangeDescriptions, shouldRecordTimeline) { + if (isProfiling) { + return; + } + recordChangeDescriptions = shouldRecordChangeDescriptions; + recordTimeline = shouldRecordTimeline; + displayNamesByRootID = /* @__PURE__ */ new Map(); + initialTreeBaseDurationsMap = /* @__PURE__ */ new Map(); + hook.getFiberRoots(rendererID).forEach(function(root) { + var rootInstance = rootToFiberInstanceMap.get(root); + if (rootInstance === void 0) { + throw new Error("Expected the root instance to already exist when starting profiling"); + } + var rootID = rootInstance.id; + displayNamesByRootID.set(rootID, getDisplayNameForRoot(root.current)); + var initialTreeBaseDurations = []; + snapshotTreeBaseDurations(rootInstance, initialTreeBaseDurations); + initialTreeBaseDurationsMap.set(rootID, initialTreeBaseDurations); + }); + isProfiling = true; + profilingStartTime = renderer_getCurrentTime(); + rootToCommitProfilingMetadataMap = /* @__PURE__ */ new Map(); + if (toggleProfilingStatus !== null) { + toggleProfilingStatus(true, recordTimeline); + } + } + function stopProfiling() { + isProfiling = false; + recordChangeDescriptions = false; + if (toggleProfilingStatus !== null) { + toggleProfilingStatus(false, recordTimeline); + } + recordTimeline = false; + } + if (shouldStartProfilingNow) { + startProfiling(profilingSettings.recordChangeDescriptions, profilingSettings.recordTimeline); + } + function getNearestFiber(devtoolsInstance) { + if (devtoolsInstance.kind === VIRTUAL_INSTANCE) { + var inst = devtoolsInstance; + while (inst.kind === VIRTUAL_INSTANCE) { + if (inst.firstChild === null) { + return null; + } + inst = inst.firstChild; + } + return inst.data.return; + } else { + return devtoolsInstance.data; + } + } + function shouldErrorFiberAlwaysNull() { + return null; + } + var forceErrorForFibers = /* @__PURE__ */ new Map(); + function shouldErrorFiberAccordingToMap(fiber) { + if (typeof setErrorHandler !== "function") { + throw new Error("Expected overrideError() to not get called for earlier React versions."); + } + var status = forceErrorForFibers.get(fiber); + if (status === false) { + forceErrorForFibers.delete(fiber); + if (forceErrorForFibers.size === 0) { + setErrorHandler(shouldErrorFiberAlwaysNull); + } + return false; + } + if (status === void 0 && fiber.alternate !== null) { + status = forceErrorForFibers.get(fiber.alternate); + if (status === false) { + forceErrorForFibers.delete(fiber.alternate); + if (forceErrorForFibers.size === 0) { + setErrorHandler(shouldErrorFiberAlwaysNull); + } + } + } + if (status === void 0) { + return false; + } + return status; + } + function overrideError(id, forceError) { + if (typeof setErrorHandler !== "function" || typeof scheduleUpdate !== "function") { + throw new Error("Expected overrideError() to not get called for earlier React versions."); + } + var devtoolsInstance = idToDevToolsInstanceMap.get(id); + if (devtoolsInstance === void 0) { + return; + } + var nearestFiber = getNearestFiber(devtoolsInstance); + if (nearestFiber === null) { + return; + } + var fiber = nearestFiber; + while (!isErrorBoundary(fiber)) { + if (fiber.return === null) { + return; + } + fiber = fiber.return; + } + forceErrorForFibers.set(fiber, forceError); + if (fiber.alternate !== null) { + forceErrorForFibers.delete(fiber.alternate); + } + if (forceErrorForFibers.size === 1) { + setErrorHandler(shouldErrorFiberAccordingToMap); + } + scheduleUpdate(fiber); + } + function shouldSuspendFiberAlwaysFalse() { + return false; + } + var forceFallbackForFibers = /* @__PURE__ */ new Set(); + function shouldSuspendFiberAccordingToSet(fiber) { + return forceFallbackForFibers.has(fiber) || fiber.alternate !== null && forceFallbackForFibers.has(fiber.alternate); + } + function overrideSuspense(id, forceFallback) { + if (typeof setSuspenseHandler !== "function" || typeof scheduleUpdate !== "function") { + throw new Error("Expected overrideSuspense() to not get called for earlier React versions."); + } + var devtoolsInstance = idToDevToolsInstanceMap.get(id); + if (devtoolsInstance === void 0) { + return; + } + var nearestFiber = getNearestFiber(devtoolsInstance); + if (nearestFiber === null) { + return; + } + var fiber = nearestFiber; + while (fiber.tag !== SuspenseComponent) { + if (fiber.return === null) { + return; + } + fiber = fiber.return; + } + if (fiber.alternate !== null) { + forceFallbackForFibers.delete(fiber.alternate); + } + if (forceFallback) { + forceFallbackForFibers.add(fiber); + if (forceFallbackForFibers.size === 1) { + setSuspenseHandler(shouldSuspendFiberAccordingToSet); + } + } else { + forceFallbackForFibers.delete(fiber); + if (forceFallbackForFibers.size === 0) { + setSuspenseHandler(shouldSuspendFiberAlwaysFalse); + } + } + scheduleUpdate(fiber); + } + var trackedPath = null; + var trackedPathMatchFiber = null; + var trackedPathMatchInstance = null; + var trackedPathMatchDepth = -1; + var mightBeOnTrackedPath = false; + function setTrackedPath(path) { + if (path === null) { + trackedPathMatchFiber = null; + trackedPathMatchInstance = null; + trackedPathMatchDepth = -1; + mightBeOnTrackedPath = false; + } + trackedPath = path; + } + function updateTrackedPathStateBeforeMount(fiber, fiberInstance) { + if (trackedPath === null || !mightBeOnTrackedPath) { + return false; + } + var returnFiber = fiber.return; + var returnAlternate = returnFiber !== null ? returnFiber.alternate : null; + if (trackedPathMatchFiber === returnFiber || trackedPathMatchFiber === returnAlternate && returnAlternate !== null) { + var actualFrame = getPathFrame(fiber); + var expectedFrame = trackedPath[trackedPathMatchDepth + 1]; + if (expectedFrame === void 0) { + throw new Error("Expected to see a frame at the next depth."); + } + if (actualFrame.index === expectedFrame.index && actualFrame.key === expectedFrame.key && actualFrame.displayName === expectedFrame.displayName) { + trackedPathMatchFiber = fiber; + if (fiberInstance !== null && fiberInstance.kind === FIBER_INSTANCE) { + trackedPathMatchInstance = fiberInstance; + } + trackedPathMatchDepth++; + if (trackedPathMatchDepth === trackedPath.length - 1) { + mightBeOnTrackedPath = false; + } else { + mightBeOnTrackedPath = true; + } + return false; + } + } + if (trackedPathMatchFiber === null && fiberInstance === null) { + return true; + } + mightBeOnTrackedPath = false; + return true; + } + function updateVirtualTrackedPathStateBeforeMount(virtualInstance, parentInstance) { + if (trackedPath === null || !mightBeOnTrackedPath) { + return false; + } + if (trackedPathMatchInstance === parentInstance) { + var actualFrame = getVirtualPathFrame(virtualInstance); + var expectedFrame = trackedPath[trackedPathMatchDepth + 1]; + if (expectedFrame === void 0) { + throw new Error("Expected to see a frame at the next depth."); + } + if (actualFrame.index === expectedFrame.index && actualFrame.key === expectedFrame.key && actualFrame.displayName === expectedFrame.displayName) { + trackedPathMatchFiber = null; + trackedPathMatchInstance = virtualInstance; + trackedPathMatchDepth++; + if (trackedPathMatchDepth === trackedPath.length - 1) { + mightBeOnTrackedPath = false; + } else { + mightBeOnTrackedPath = true; + } + return false; + } + } + if (trackedPathMatchFiber !== null) { + return true; + } + mightBeOnTrackedPath = false; + return true; + } + function updateTrackedPathStateAfterMount(mightSiblingsBeOnTrackedPath) { + mightBeOnTrackedPath = mightSiblingsBeOnTrackedPath; + } + var rootPseudoKeys = /* @__PURE__ */ new Map(); + var rootDisplayNameCounter = /* @__PURE__ */ new Map(); + function setRootPseudoKey(id, fiber) { + var name = getDisplayNameForRoot(fiber); + var counter = rootDisplayNameCounter.get(name) || 0; + rootDisplayNameCounter.set(name, counter + 1); + var pseudoKey = "".concat(name, ":").concat(counter); + rootPseudoKeys.set(id, pseudoKey); + } + function removeRootPseudoKey(id) { + var pseudoKey = rootPseudoKeys.get(id); + if (pseudoKey === void 0) { + throw new Error("Expected root pseudo key to be known."); + } + var name = pseudoKey.slice(0, pseudoKey.lastIndexOf(":")); + var counter = rootDisplayNameCounter.get(name); + if (counter === void 0) { + throw new Error("Expected counter to be known."); + } + if (counter > 1) { + rootDisplayNameCounter.set(name, counter - 1); + } else { + rootDisplayNameCounter.delete(name); + } + rootPseudoKeys.delete(id); + } + function getDisplayNameForRoot(fiber) { + var preferredDisplayName = null; + var fallbackDisplayName = null; + var child = fiber.child; + for (var i = 0; i < 3; i++) { + if (child === null) { + break; + } + var displayName = getDisplayNameForFiber(child); + if (displayName !== null) { + if (typeof child.type === "function") { + preferredDisplayName = displayName; + } else if (fallbackDisplayName === null) { + fallbackDisplayName = displayName; + } + } + if (preferredDisplayName !== null) { + break; + } + child = child.child; + } + return preferredDisplayName || fallbackDisplayName || "Anonymous"; + } + function getPathFrame(fiber) { + var key = fiber.key; + var displayName = getDisplayNameForFiber(fiber); + var index = fiber.index; + switch (fiber.tag) { + case HostRoot: + var rootInstance = rootToFiberInstanceMap.get(fiber.stateNode); + if (rootInstance === void 0) { + throw new Error("Expected the root instance to exist when computing a path"); + } + var pseudoKey = rootPseudoKeys.get(rootInstance.id); + if (pseudoKey === void 0) { + throw new Error("Expected mounted root to have known pseudo key."); + } + displayName = pseudoKey; + break; + case HostComponent: + displayName = fiber.type; + break; + default: + break; + } + return { + displayName, + key, + index + }; + } + function getVirtualPathFrame(virtualInstance) { + return { + displayName: virtualInstance.data.name || "", + key: virtualInstance.data.key == null ? null : virtualInstance.data.key, + index: -1 + // We use -1 to indicate that this is a virtual path frame. + }; + } + function getPathForElement(id) { + var devtoolsInstance = idToDevToolsInstanceMap.get(id); + if (devtoolsInstance === void 0) { + return null; + } + var keyPath = []; + var inst = devtoolsInstance; + while (inst.kind === VIRTUAL_INSTANCE) { + keyPath.push(getVirtualPathFrame(inst)); + if (inst.parent === null) { + return null; + } + inst = inst.parent; + } + var fiber = inst.data; + while (fiber !== null) { + keyPath.push(getPathFrame(fiber)); + fiber = fiber.return; + } + keyPath.reverse(); + return keyPath; + } + function getBestMatchForTrackedPath() { + if (trackedPath === null) { + return null; + } + if (trackedPathMatchInstance === null) { + return null; + } + return { + id: trackedPathMatchInstance.id, + // $FlowFixMe[incompatible-use] found when upgrading Flow + isFullMatch: trackedPathMatchDepth === trackedPath.length - 1 + }; + } + var formatPriorityLevel = function formatPriorityLevel2(priorityLevel) { + if (priorityLevel == null) { + return "Unknown"; + } + switch (priorityLevel) { + case ImmediatePriority: + return "Immediate"; + case UserBlockingPriority: + return "User-Blocking"; + case NormalPriority: + return "Normal"; + case LowPriority: + return "Low"; + case IdlePriority: + return "Idle"; + case NoPriority: + default: + return "Unknown"; + } + }; + function setTraceUpdatesEnabled(isEnabled2) { + traceUpdatesEnabled = isEnabled2; + } + function hasElementWithId(id) { + return idToDevToolsInstanceMap.has(id); + } + function getSourceForFiberInstance(fiberInstance) { + var unresolvedSource = fiberInstance.source; + if (unresolvedSource !== null && renderer_typeof(unresolvedSource) === "object" && !isError(unresolvedSource)) { + return unresolvedSource; + } + var dispatcherRef = getDispatcherRef(renderer); + var stackFrame = dispatcherRef == null ? null : getSourceLocationByFiber(ReactTypeOfWork, fiberInstance.data, dispatcherRef); + if (stackFrame === null) { + return getSourceForInstance(fiberInstance); + } + var source = parseSourceFromComponentStack(stackFrame); + fiberInstance.source = source; + return source; + } + function getSourceForInstance(instance) { + var unresolvedSource = instance.source; + if (unresolvedSource === null) { + return null; + } + if (isError(unresolvedSource)) { + unresolvedSource = formatOwnerStack(unresolvedSource); + } + if (typeof unresolvedSource === "string") { + var idx = unresolvedSource.lastIndexOf("\n"); + var lastLine = idx === -1 ? unresolvedSource : unresolvedSource.slice(idx + 1); + return instance.source = parseSourceFromComponentStack(lastLine); + } + return unresolvedSource; + } + return { + cleanup, + clearErrorsAndWarnings, + clearErrorsForElementID, + clearWarningsForElementID, + getSerializedElementValueByPath, + deletePath, + findHostInstancesForElementID, + flushInitialOperations, + getBestMatchForTrackedPath, + getDisplayNameForElementID, + getNearestMountedDOMNode, + getElementIDForHostInstance, + getInstanceAndStyle, + getOwnersList, + getPathForElement, + getProfilingData, + handleCommitFiberRoot, + handleCommitFiberUnmount, + handlePostCommitFiberRoot, + hasElementWithId, + inspectElement, + logElementToConsole, + getComponentStack, + getElementAttributeByPath, + getElementSourceFunctionById, + onErrorOrWarning, + overrideError, + overrideSuspense, + overrideValueAtPath, + renamePath, + renderer, + setTraceUpdatesEnabled, + setTrackedPath, + startProfiling, + stopProfiling, + storeAsGlobal, + updateComponentFilters, + getEnvironmentNames + }; + } + ; + function decorate(object, attr, fn) { + var old = object[attr]; + object[attr] = function(instance) { + return fn.call(this, old, arguments); + }; + return old; + } + function decorateMany(source, fns) { + var olds = {}; + for (var name in fns) { + olds[name] = decorate(source, name, fns[name]); + } + return olds; + } + function restoreMany(source, olds) { + for (var name in olds) { + source[name] = olds[name]; + } + } + function forceUpdate(instance) { + if (typeof instance.forceUpdate === "function") { + instance.forceUpdate(); + } else if (instance.updater != null && typeof instance.updater.enqueueForceUpdate === "function") { + instance.updater.enqueueForceUpdate(this, function() { + }, "forceUpdate"); + } + } + ; + function legacy_renderer_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; + } + function legacy_renderer_objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + if (i % 2) { + legacy_renderer_ownKeys(Object(source), true).forEach(function(key) { + legacy_renderer_defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + legacy_renderer_ownKeys(Object(source)).forEach(function(key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + return target; + } + function legacy_renderer_defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); + } else { + obj[key] = value; + } + return obj; + } + function legacy_renderer_typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + legacy_renderer_typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + legacy_renderer_typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return legacy_renderer_typeof(obj); + } + function getData(internalInstance) { + var displayName = null; + var key = null; + if (internalInstance._currentElement != null) { + if (internalInstance._currentElement.key) { + key = String(internalInstance._currentElement.key); + } + var elementType = internalInstance._currentElement.type; + if (typeof elementType === "string") { + displayName = elementType; + } else if (typeof elementType === "function") { + displayName = getDisplayName(elementType); + } + } + return { + displayName, + key + }; + } + function getElementType(internalInstance) { + if (internalInstance._currentElement != null) { + var elementType = internalInstance._currentElement.type; + if (typeof elementType === "function") { + var publicInstance = internalInstance.getPublicInstance(); + if (publicInstance !== null) { + return types_ElementTypeClass; + } else { + return types_ElementTypeFunction; + } + } else if (typeof elementType === "string") { + return ElementTypeHostComponent; + } + } + return ElementTypeOtherOrUnknown; + } + function getChildren(internalInstance) { + var children = []; + if (legacy_renderer_typeof(internalInstance) !== "object") { + } else if (internalInstance._currentElement === null || internalInstance._currentElement === false) { + } else if (internalInstance._renderedComponent) { + var child = internalInstance._renderedComponent; + if (getElementType(child) !== ElementTypeOtherOrUnknown) { + children.push(child); + } + } else if (internalInstance._renderedChildren) { + var renderedChildren = internalInstance._renderedChildren; + for (var name in renderedChildren) { + var _child = renderedChildren[name]; + if (getElementType(_child) !== ElementTypeOtherOrUnknown) { + children.push(_child); + } + } + } + return children; + } + function legacy_renderer_attach(hook, rendererID, renderer, global2) { + var idToInternalInstanceMap = /* @__PURE__ */ new Map(); + var internalInstanceToIDMap = /* @__PURE__ */ new WeakMap(); + var internalInstanceToRootIDMap = /* @__PURE__ */ new WeakMap(); + var getElementIDForHostInstance = null; + var findHostInstanceForInternalID; + var getNearestMountedDOMNode = function getNearestMountedDOMNode2(node) { + return null; + }; + if (renderer.ComponentTree) { + getElementIDForHostInstance = function getElementIDForHostInstance2(node) { + var internalInstance = renderer.ComponentTree.getClosestInstanceFromNode(node); + return internalInstanceToIDMap.get(internalInstance) || null; + }; + findHostInstanceForInternalID = function findHostInstanceForInternalID2(id) { + var internalInstance = idToInternalInstanceMap.get(id); + return renderer.ComponentTree.getNodeFromInstance(internalInstance); + }; + getNearestMountedDOMNode = function getNearestMountedDOMNode2(node) { + var internalInstance = renderer.ComponentTree.getClosestInstanceFromNode(node); + if (internalInstance != null) { + return renderer.ComponentTree.getNodeFromInstance(internalInstance); + } + return null; + }; + } else if (renderer.Mount.getID && renderer.Mount.getNode) { + getElementIDForHostInstance = function getElementIDForHostInstance2(node) { + return null; + }; + findHostInstanceForInternalID = function findHostInstanceForInternalID2(id) { + return null; + }; + } + function getDisplayNameForElementID(id) { + var internalInstance = idToInternalInstanceMap.get(id); + return internalInstance ? getData(internalInstance).displayName : null; + } + function getID(internalInstance) { + if (legacy_renderer_typeof(internalInstance) !== "object" || internalInstance === null) { + throw new Error("Invalid internal instance: " + internalInstance); + } + if (!internalInstanceToIDMap.has(internalInstance)) { + var _id = getUID(); + internalInstanceToIDMap.set(internalInstance, _id); + idToInternalInstanceMap.set(_id, internalInstance); + } + return internalInstanceToIDMap.get(internalInstance); + } + function areEqualArrays(a, b) { + if (a.length !== b.length) { + return false; + } + for (var i = 0; i < a.length; i++) { + if (a[i] !== b[i]) { + return false; + } + } + return true; + } + var parentIDStack = []; + var oldReconcilerMethods = null; + if (renderer.Reconciler) { + oldReconcilerMethods = decorateMany(renderer.Reconciler, { + mountComponent: function mountComponent(fn, args) { + var internalInstance = args[0]; + var hostContainerInfo = args[3]; + if (getElementType(internalInstance) === ElementTypeOtherOrUnknown) { + return fn.apply(this, args); + } + if (hostContainerInfo._topLevelWrapper === void 0) { + return fn.apply(this, args); + } + var id = getID(internalInstance); + var parentID = parentIDStack.length > 0 ? parentIDStack[parentIDStack.length - 1] : 0; + recordMount(internalInstance, id, parentID); + parentIDStack.push(id); + internalInstanceToRootIDMap.set(internalInstance, getID(hostContainerInfo._topLevelWrapper)); + try { + var result = fn.apply(this, args); + parentIDStack.pop(); + return result; + } catch (err) { + parentIDStack = []; + throw err; + } finally { + if (parentIDStack.length === 0) { + var rootID = internalInstanceToRootIDMap.get(internalInstance); + if (rootID === void 0) { + throw new Error("Expected to find root ID."); + } + flushPendingEvents(rootID); + } + } + }, + performUpdateIfNecessary: function performUpdateIfNecessary(fn, args) { + var internalInstance = args[0]; + if (getElementType(internalInstance) === ElementTypeOtherOrUnknown) { + return fn.apply(this, args); + } + var id = getID(internalInstance); + parentIDStack.push(id); + var prevChildren = getChildren(internalInstance); + try { + var result = fn.apply(this, args); + var nextChildren = getChildren(internalInstance); + if (!areEqualArrays(prevChildren, nextChildren)) { + recordReorder(internalInstance, id, nextChildren); + } + parentIDStack.pop(); + return result; + } catch (err) { + parentIDStack = []; + throw err; + } finally { + if (parentIDStack.length === 0) { + var rootID = internalInstanceToRootIDMap.get(internalInstance); + if (rootID === void 0) { + throw new Error("Expected to find root ID."); + } + flushPendingEvents(rootID); + } + } + }, + receiveComponent: function receiveComponent(fn, args) { + var internalInstance = args[0]; + if (getElementType(internalInstance) === ElementTypeOtherOrUnknown) { + return fn.apply(this, args); + } + var id = getID(internalInstance); + parentIDStack.push(id); + var prevChildren = getChildren(internalInstance); + try { + var result = fn.apply(this, args); + var nextChildren = getChildren(internalInstance); + if (!areEqualArrays(prevChildren, nextChildren)) { + recordReorder(internalInstance, id, nextChildren); + } + parentIDStack.pop(); + return result; + } catch (err) { + parentIDStack = []; + throw err; + } finally { + if (parentIDStack.length === 0) { + var rootID = internalInstanceToRootIDMap.get(internalInstance); + if (rootID === void 0) { + throw new Error("Expected to find root ID."); + } + flushPendingEvents(rootID); + } + } + }, + unmountComponent: function unmountComponent(fn, args) { + var internalInstance = args[0]; + if (getElementType(internalInstance) === ElementTypeOtherOrUnknown) { + return fn.apply(this, args); + } + var id = getID(internalInstance); + parentIDStack.push(id); + try { + var result = fn.apply(this, args); + parentIDStack.pop(); + recordUnmount(internalInstance, id); + return result; + } catch (err) { + parentIDStack = []; + throw err; + } finally { + if (parentIDStack.length === 0) { + var rootID = internalInstanceToRootIDMap.get(internalInstance); + if (rootID === void 0) { + throw new Error("Expected to find root ID."); + } + flushPendingEvents(rootID); + } + } + } + }); + } + function cleanup() { + if (oldReconcilerMethods !== null) { + if (renderer.Component) { + restoreMany(renderer.Component.Mixin, oldReconcilerMethods); + } else { + restoreMany(renderer.Reconciler, oldReconcilerMethods); + } + } + oldReconcilerMethods = null; + } + function recordMount(internalInstance, id, parentID) { + var isRoot = parentID === 0; + if (__DEBUG__) { + console.log("%crecordMount()", "color: green; font-weight: bold;", id, getData(internalInstance).displayName); + } + if (isRoot) { + var hasOwnerMetadata = internalInstance._currentElement != null && internalInstance._currentElement._owner != null; + pushOperation(TREE_OPERATION_ADD); + pushOperation(id); + pushOperation(ElementTypeRoot); + pushOperation(0); + pushOperation(0); + pushOperation(0); + pushOperation(hasOwnerMetadata ? 1 : 0); + } else { + var type = getElementType(internalInstance); + var _getData = getData(internalInstance), displayName = _getData.displayName, key = _getData.key; + var ownerID = internalInstance._currentElement != null && internalInstance._currentElement._owner != null ? getID(internalInstance._currentElement._owner) : 0; + var displayNameStringID = getStringID(displayName); + var keyStringID = getStringID(key); + pushOperation(TREE_OPERATION_ADD); + pushOperation(id); + pushOperation(type); + pushOperation(parentID); + pushOperation(ownerID); + pushOperation(displayNameStringID); + pushOperation(keyStringID); + } + } + function recordReorder(internalInstance, id, nextChildren) { + pushOperation(TREE_OPERATION_REORDER_CHILDREN); + pushOperation(id); + var nextChildIDs = nextChildren.map(getID); + pushOperation(nextChildIDs.length); + for (var i = 0; i < nextChildIDs.length; i++) { + pushOperation(nextChildIDs[i]); + } + } + function recordUnmount(internalInstance, id) { + pendingUnmountedIDs.push(id); + idToInternalInstanceMap.delete(id); + } + function crawlAndRecordInitialMounts(id, parentID, rootID) { + if (__DEBUG__) { + console.group("crawlAndRecordInitialMounts() id:", id); + } + var internalInstance = idToInternalInstanceMap.get(id); + if (internalInstance != null) { + internalInstanceToRootIDMap.set(internalInstance, rootID); + recordMount(internalInstance, id, parentID); + getChildren(internalInstance).forEach(function(child) { + return crawlAndRecordInitialMounts(getID(child), id, rootID); + }); + } + if (__DEBUG__) { + console.groupEnd(); + } + } + function flushInitialOperations() { + var roots = renderer.Mount._instancesByReactRootID || renderer.Mount._instancesByContainerID; + for (var key in roots) { + var internalInstance = roots[key]; + var _id2 = getID(internalInstance); + crawlAndRecordInitialMounts(_id2, 0, _id2); + flushPendingEvents(_id2); + } + } + var pendingOperations = []; + var pendingStringTable = /* @__PURE__ */ new Map(); + var pendingUnmountedIDs = []; + var pendingStringTableLength = 0; + var pendingUnmountedRootID = null; + function flushPendingEvents(rootID) { + if (pendingOperations.length === 0 && pendingUnmountedIDs.length === 0 && pendingUnmountedRootID === null) { + return; + } + var numUnmountIDs = pendingUnmountedIDs.length + (pendingUnmountedRootID === null ? 0 : 1); + var operations = new Array( + // Identify which renderer this update is coming from. + 2 + // [rendererID, rootFiberID] + // How big is the string table? + 1 + // [stringTableLength] + // Then goes the actual string table. + pendingStringTableLength + // All unmounts are batched in a single message. + // [TREE_OPERATION_REMOVE, removedIDLength, ...ids] + (numUnmountIDs > 0 ? 2 + numUnmountIDs : 0) + // Mount operations + pendingOperations.length + ); + var i = 0; + operations[i++] = rendererID; + operations[i++] = rootID; + operations[i++] = pendingStringTableLength; + pendingStringTable.forEach(function(value, key) { + operations[i++] = key.length; + var encodedKey = utfEncodeString(key); + for (var j2 = 0; j2 < encodedKey.length; j2++) { + operations[i + j2] = encodedKey[j2]; + } + i += key.length; + }); + if (numUnmountIDs > 0) { + operations[i++] = TREE_OPERATION_REMOVE; + operations[i++] = numUnmountIDs; + for (var j = 0; j < pendingUnmountedIDs.length; j++) { + operations[i++] = pendingUnmountedIDs[j]; + } + if (pendingUnmountedRootID !== null) { + operations[i] = pendingUnmountedRootID; + i++; + } + } + for (var _j = 0; _j < pendingOperations.length; _j++) { + operations[i + _j] = pendingOperations[_j]; + } + i += pendingOperations.length; + if (__DEBUG__) { + printOperationsArray(operations); + } + hook.emit("operations", operations); + pendingOperations.length = 0; + pendingUnmountedIDs = []; + pendingUnmountedRootID = null; + pendingStringTable.clear(); + pendingStringTableLength = 0; + } + function pushOperation(op) { + if (false) { + } + pendingOperations.push(op); + } + function getStringID(str) { + if (str === null) { + return 0; + } + var existingID = pendingStringTable.get(str); + if (existingID !== void 0) { + return existingID; + } + var stringID = pendingStringTable.size + 1; + pendingStringTable.set(str, stringID); + pendingStringTableLength += str.length + 1; + return stringID; + } + var currentlyInspectedElementID = null; + var currentlyInspectedPaths = {}; + function mergeInspectedPaths(path) { + var current = currentlyInspectedPaths; + path.forEach(function(key) { + if (!current[key]) { + current[key] = {}; + } + current = current[key]; + }); + } + function createIsPathAllowed(key) { + return function isPathAllowed(path) { + var current = currentlyInspectedPaths[key]; + if (!current) { + return false; + } + for (var i = 0; i < path.length; i++) { + current = current[path[i]]; + if (!current) { + return false; + } + } + return true; + }; + } + function getInstanceAndStyle(id) { + var instance = null; + var style = null; + var internalInstance = idToInternalInstanceMap.get(id); + if (internalInstance != null) { + instance = internalInstance._instance || null; + var element = internalInstance._currentElement; + if (element != null && element.props != null) { + style = element.props.style || null; + } + } + return { + instance, + style + }; + } + function updateSelectedElement(id) { + var internalInstance = idToInternalInstanceMap.get(id); + if (internalInstance == null) { + console.warn('Could not find instance with id "'.concat(id, '"')); + return; + } + switch (getElementType(internalInstance)) { + case types_ElementTypeClass: + global2.$r = internalInstance._instance; + break; + case types_ElementTypeFunction: + var element = internalInstance._currentElement; + if (element == null) { + console.warn('Could not find element with id "'.concat(id, '"')); + return; + } + global2.$r = { + props: element.props, + type: element.type + }; + break; + default: + global2.$r = null; + break; + } + } + function storeAsGlobal(id, path, count) { + var inspectedElement = inspectElementRaw(id); + if (inspectedElement !== null) { + var value = utils_getInObject(inspectedElement, path); + var key = "$reactTemp".concat(count); + window[key] = value; + console.log(key); + console.log(value); + } + } + function getSerializedElementValueByPath(id, path) { + var inspectedElement = inspectElementRaw(id); + if (inspectedElement !== null) { + var valueToCopy = utils_getInObject(inspectedElement, path); + return serializeToString(valueToCopy); + } + } + function inspectElement(requestID, id, path, forceFullData) { + if (forceFullData || currentlyInspectedElementID !== id) { + currentlyInspectedElementID = id; + currentlyInspectedPaths = {}; + } + var inspectedElement = inspectElementRaw(id); + if (inspectedElement === null) { + return { + id, + responseID: requestID, + type: "not-found" + }; + } + if (path !== null) { + mergeInspectedPaths(path); + } + updateSelectedElement(id); + inspectedElement.context = cleanForBridge(inspectedElement.context, createIsPathAllowed("context")); + inspectedElement.props = cleanForBridge(inspectedElement.props, createIsPathAllowed("props")); + inspectedElement.state = cleanForBridge(inspectedElement.state, createIsPathAllowed("state")); + return { + id, + responseID: requestID, + type: "full-data", + value: inspectedElement + }; + } + function inspectElementRaw(id) { + var internalInstance = idToInternalInstanceMap.get(id); + if (internalInstance == null) { + return null; + } + var _getData2 = getData(internalInstance), key = _getData2.key; + var type = getElementType(internalInstance); + var context = null; + var owners = null; + var props = null; + var state = null; + var element = internalInstance._currentElement; + if (element !== null) { + props = element.props; + var owner = element._owner; + if (owner) { + owners = []; + while (owner != null) { + owners.push({ + displayName: getData(owner).displayName || "Unknown", + id: getID(owner), + key: element.key, + type: getElementType(owner) + }); + if (owner._currentElement) { + owner = owner._currentElement._owner; + } + } + } + } + var publicInstance = internalInstance._instance; + if (publicInstance != null) { + context = publicInstance.context || null; + state = publicInstance.state || null; + } + var errors = []; + var warnings = []; + return { + id, + // Does the current renderer support editable hooks and function props? + canEditHooks: false, + canEditFunctionProps: false, + // Does the current renderer support advanced editing interface? + canEditHooksAndDeletePaths: false, + canEditHooksAndRenamePaths: false, + canEditFunctionPropsDeletePaths: false, + canEditFunctionPropsRenamePaths: false, + // Toggle error boundary did not exist in legacy versions + canToggleError: false, + isErrored: false, + // Suspense did not exist in legacy versions + canToggleSuspense: false, + // Can view component source location. + canViewSource: type === types_ElementTypeClass || type === types_ElementTypeFunction, + source: null, + // Only legacy context exists in legacy versions. + hasLegacyContext: true, + type, + key: key != null ? key : null, + // Inspectable properties. + context, + hooks: null, + props, + state, + errors, + warnings, + // List of owners + owners, + rootType: null, + rendererPackageName: null, + rendererVersion: null, + plugins: { + stylex: null + } + }; + } + function logElementToConsole(id) { + var result = inspectElementRaw(id); + if (result === null) { + console.warn('Could not find element with id "'.concat(id, '"')); + return; + } + var displayName = getDisplayNameForElementID(id); + var supportsGroup = typeof console.groupCollapsed === "function"; + if (supportsGroup) { + console.groupCollapsed( + "[Click to expand] %c<".concat(displayName || "Component", " />"), + // --dom-tag-name-color is the CSS variable Chrome styles HTML elements with in the console. + "color: var(--dom-tag-name-color); font-weight: normal;" + ); + } + if (result.props !== null) { + console.log("Props:", result.props); + } + if (result.state !== null) { + console.log("State:", result.state); + } + if (result.context !== null) { + console.log("Context:", result.context); + } + var hostInstance = findHostInstanceForInternalID(id); + if (hostInstance !== null) { + console.log("Node:", hostInstance); + } + if (supportsGroup) { + console.groupEnd(); + } + } + function getElementAttributeByPath(id, path) { + var inspectedElement = inspectElementRaw(id); + if (inspectedElement !== null) { + return utils_getInObject(inspectedElement, path); + } + return void 0; + } + function getElementSourceFunctionById(id) { + var internalInstance = idToInternalInstanceMap.get(id); + if (internalInstance == null) { + console.warn('Could not find instance with id "'.concat(id, '"')); + return null; + } + var element = internalInstance._currentElement; + if (element == null) { + console.warn('Could not find element with id "'.concat(id, '"')); + return null; + } + return element.type; + } + function deletePath(type, id, hookID, path) { + var internalInstance = idToInternalInstanceMap.get(id); + if (internalInstance != null) { + var publicInstance = internalInstance._instance; + if (publicInstance != null) { + switch (type) { + case "context": + deletePathInObject(publicInstance.context, path); + forceUpdate(publicInstance); + break; + case "hooks": + throw new Error("Hooks not supported by this renderer"); + case "props": + var element = internalInstance._currentElement; + internalInstance._currentElement = legacy_renderer_objectSpread(legacy_renderer_objectSpread({}, element), {}, { + props: copyWithDelete(element.props, path) + }); + forceUpdate(publicInstance); + break; + case "state": + deletePathInObject(publicInstance.state, path); + forceUpdate(publicInstance); + break; + } + } + } + } + function renamePath(type, id, hookID, oldPath, newPath) { + var internalInstance = idToInternalInstanceMap.get(id); + if (internalInstance != null) { + var publicInstance = internalInstance._instance; + if (publicInstance != null) { + switch (type) { + case "context": + renamePathInObject(publicInstance.context, oldPath, newPath); + forceUpdate(publicInstance); + break; + case "hooks": + throw new Error("Hooks not supported by this renderer"); + case "props": + var element = internalInstance._currentElement; + internalInstance._currentElement = legacy_renderer_objectSpread(legacy_renderer_objectSpread({}, element), {}, { + props: copyWithRename(element.props, oldPath, newPath) + }); + forceUpdate(publicInstance); + break; + case "state": + renamePathInObject(publicInstance.state, oldPath, newPath); + forceUpdate(publicInstance); + break; + } + } + } + } + function overrideValueAtPath(type, id, hookID, path, value) { + var internalInstance = idToInternalInstanceMap.get(id); + if (internalInstance != null) { + var publicInstance = internalInstance._instance; + if (publicInstance != null) { + switch (type) { + case "context": + utils_setInObject(publicInstance.context, path, value); + forceUpdate(publicInstance); + break; + case "hooks": + throw new Error("Hooks not supported by this renderer"); + case "props": + var element = internalInstance._currentElement; + internalInstance._currentElement = legacy_renderer_objectSpread(legacy_renderer_objectSpread({}, element), {}, { + props: copyWithSet(element.props, path, value) + }); + forceUpdate(publicInstance); + break; + case "state": + utils_setInObject(publicInstance.state, path, value); + forceUpdate(publicInstance); + break; + } + } + } + } + var getProfilingData = function getProfilingData2() { + throw new Error("getProfilingData not supported by this renderer"); + }; + var handleCommitFiberRoot = function handleCommitFiberRoot2() { + throw new Error("handleCommitFiberRoot not supported by this renderer"); + }; + var handleCommitFiberUnmount = function handleCommitFiberUnmount2() { + throw new Error("handleCommitFiberUnmount not supported by this renderer"); + }; + var handlePostCommitFiberRoot = function handlePostCommitFiberRoot2() { + throw new Error("handlePostCommitFiberRoot not supported by this renderer"); + }; + var overrideError = function overrideError2() { + throw new Error("overrideError not supported by this renderer"); + }; + var overrideSuspense = function overrideSuspense2() { + throw new Error("overrideSuspense not supported by this renderer"); + }; + var startProfiling = function startProfiling2() { + }; + var stopProfiling = function stopProfiling2() { + }; + function getBestMatchForTrackedPath() { + return null; + } + function getPathForElement(id) { + return null; + } + function updateComponentFilters(componentFilters) { + } + function getEnvironmentNames() { + return []; + } + function setTraceUpdatesEnabled(enabled) { + } + function setTrackedPath(path) { + } + function getOwnersList(id) { + return null; + } + function clearErrorsAndWarnings() { + } + function clearErrorsForElementID(id) { + } + function clearWarningsForElementID(id) { + } + function hasElementWithId(id) { + return idToInternalInstanceMap.has(id); + } + return { + clearErrorsAndWarnings, + clearErrorsForElementID, + clearWarningsForElementID, + cleanup, + getSerializedElementValueByPath, + deletePath, + flushInitialOperations, + getBestMatchForTrackedPath, + getDisplayNameForElementID, + getNearestMountedDOMNode, + getElementIDForHostInstance, + getInstanceAndStyle, + findHostInstancesForElementID: function findHostInstancesForElementID(id) { + var hostInstance = findHostInstanceForInternalID(id); + return hostInstance == null ? null : [hostInstance]; + }, + getOwnersList, + getPathForElement, + getProfilingData, + handleCommitFiberRoot, + handleCommitFiberUnmount, + handlePostCommitFiberRoot, + hasElementWithId, + inspectElement, + logElementToConsole, + overrideError, + overrideSuspense, + overrideValueAtPath, + renamePath, + getElementAttributeByPath, + getElementSourceFunctionById, + renderer, + setTraceUpdatesEnabled, + setTrackedPath, + startProfiling, + stopProfiling, + storeAsGlobal, + updateComponentFilters, + getEnvironmentNames + }; + } + ; + function isMatchingRender(version) { + return !hasAssignedBackend(version); + } + function attachRenderer(hook, id, renderer, global2, shouldStartProfilingNow, profilingSettings) { + if (!isMatchingRender(renderer.reconcilerVersion || renderer.version)) { + return; + } + var rendererInterface = hook.rendererInterfaces.get(id); + if (rendererInterface == null) { + if (typeof renderer.getCurrentComponentInfo === "function") { + rendererInterface = attach(hook, id, renderer, global2); + } else if ( + // v16-19 + typeof renderer.findFiberByHostInstance === "function" || // v16.8+ + renderer.currentDispatcherRef != null + ) { + rendererInterface = renderer_attach(hook, id, renderer, global2, shouldStartProfilingNow, profilingSettings); + } else if (renderer.ComponentTree) { + rendererInterface = legacy_renderer_attach(hook, id, renderer, global2); + } else { + } + } + return rendererInterface; + } + ; + function formatConsoleArguments_toConsumableArray(arr) { + return formatConsoleArguments_arrayWithoutHoles(arr) || formatConsoleArguments_iterableToArray(arr) || formatConsoleArguments_unsupportedIterableToArray(arr) || formatConsoleArguments_nonIterableSpread(); + } + function formatConsoleArguments_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."); + } + function formatConsoleArguments_iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); + } + function formatConsoleArguments_arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return formatConsoleArguments_arrayLikeToArray(arr); + } + function formatConsoleArguments_slicedToArray(arr, i) { + return formatConsoleArguments_arrayWithHoles(arr) || formatConsoleArguments_iterableToArrayLimit(arr, i) || formatConsoleArguments_unsupportedIterableToArray(arr, i) || formatConsoleArguments_nonIterableRest(); + } + function formatConsoleArguments_nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + function formatConsoleArguments_unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return formatConsoleArguments_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 formatConsoleArguments_arrayLikeToArray(o, minLen); + } + function formatConsoleArguments_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; + } + function formatConsoleArguments_iterableToArrayLimit(arr, i) { + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; + var _arr = []; + var _n = true; + var _d = false; + var _e = void 0; + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + return _arr; + } + function formatConsoleArguments_arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; + } + function formatConsoleArguments(maybeMessage) { + for (var _len = arguments.length, inputArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + inputArgs[_key - 1] = arguments[_key]; + } + if (inputArgs.length === 0 || typeof maybeMessage !== "string") { + return [maybeMessage].concat(inputArgs); + } + var args = inputArgs.slice(); + var template = ""; + var argumentsPointer = 0; + for (var i = 0; i < maybeMessage.length; ++i) { + var currentChar = maybeMessage[i]; + if (currentChar !== "%") { + template += currentChar; + continue; + } + var nextChar = maybeMessage[i + 1]; + ++i; + switch (nextChar) { + case "c": + case "O": + case "o": { + ++argumentsPointer; + template += "%".concat(nextChar); + break; + } + case "d": + case "i": { + var _args$splice = args.splice(argumentsPointer, 1), _args$splice2 = formatConsoleArguments_slicedToArray(_args$splice, 1), arg = _args$splice2[0]; + template += parseInt(arg, 10).toString(); + break; + } + case "f": { + var _args$splice3 = args.splice(argumentsPointer, 1), _args$splice4 = formatConsoleArguments_slicedToArray(_args$splice3, 1), _arg = _args$splice4[0]; + template += parseFloat(_arg).toString(); + break; + } + case "s": { + var _args$splice5 = args.splice(argumentsPointer, 1), _args$splice6 = formatConsoleArguments_slicedToArray(_args$splice5, 1), _arg2 = _args$splice6[0]; + template += _arg2.toString(); + break; + } + default: + template += "%".concat(nextChar); + } + } + return [template].concat(formatConsoleArguments_toConsumableArray(args)); + } + ; + function hook_createForOfIteratorHelper(o, allowArrayLike) { + var it; + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = hook_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + var F = function F2() { + }; + return { s: F, n: function n() { + if (i >= o.length) return { done: true }; + return { done: false, value: o[i++] }; + }, e: function e(_e) { + throw _e; + }, f: F }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var normalCompletion = true, didErr = false, err; + return { s: function s() { + it = o[Symbol.iterator](); + }, n: function n() { + var step = it.next(); + normalCompletion = step.done; + return step; + }, e: function e(_e2) { + didErr = true; + err = _e2; + }, f: function f() { + try { + if (!normalCompletion && it.return != null) it.return(); + } finally { + if (didErr) throw err; + } + } }; + } + function hook_toConsumableArray(arr) { + return hook_arrayWithoutHoles(arr) || hook_iterableToArray(arr) || hook_unsupportedIterableToArray(arr) || hook_nonIterableSpread(); + } + function hook_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."); + } + function hook_unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return hook_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 hook_arrayLikeToArray(o, minLen); + } + function hook_iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); + } + function hook_arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return hook_arrayLikeToArray(arr); + } + function hook_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; + } + var PREFIX_REGEX = /\s{4}(in|at)\s{1}/; + var ROW_COLUMN_NUMBER_REGEX = /:\d+:\d+(\n|$)/; + function isStringComponentStack(text) { + return PREFIX_REGEX.test(text) || ROW_COLUMN_NUMBER_REGEX.test(text); + } + var frameDiffs = / \(\<anonymous\>\)$|\@unknown\:0\:0$|\(|\)|\[|\]/gm; + function areStackTracesEqual(a, b) { + return a.replace(frameDiffs, "") === b.replace(frameDiffs, ""); + } + var targetConsole = console; + var defaultProfilingSettings = { + recordChangeDescriptions: false, + recordTimeline: false + }; + function installHook(target, maybeSettingsOrSettingsPromise) { + var shouldStartProfilingNow = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false; + var profilingSettings = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : defaultProfilingSettings; + if (target.hasOwnProperty("__REACT_DEVTOOLS_GLOBAL_HOOK__")) { + return null; + } + function detectReactBuildType(renderer) { + try { + if (typeof renderer.version === "string") { + if (renderer.bundleType > 0) { + return "development"; + } + return "production"; + } + var _toString = Function.prototype.toString; + if (renderer.Mount && renderer.Mount._renderNewRootComponent) { + var renderRootCode = _toString.call(renderer.Mount._renderNewRootComponent); + if (renderRootCode.indexOf("function") !== 0) { + return "production"; + } + if (renderRootCode.indexOf("storedMeasure") !== -1) { + return "development"; + } + if (renderRootCode.indexOf("should be a pure function") !== -1) { + if (renderRootCode.indexOf("NODE_ENV") !== -1) { + return "development"; + } + if (renderRootCode.indexOf("development") !== -1) { + return "development"; + } + if (renderRootCode.indexOf("true") !== -1) { + return "development"; + } + if ( + // 0.13 to 15 + renderRootCode.indexOf("nextElement") !== -1 || // 0.12 + renderRootCode.indexOf("nextComponent") !== -1 + ) { + return "unminified"; + } else { + return "development"; + } + } + if ( + // 0.13 to 15 + renderRootCode.indexOf("nextElement") !== -1 || // 0.12 + renderRootCode.indexOf("nextComponent") !== -1 + ) { + return "unminified"; + } + return "outdated"; + } + } catch (err) { + } + return "production"; + } + function checkDCE(fn) { + try { + var _toString2 = Function.prototype.toString; + var code = _toString2.call(fn); + if (code.indexOf("^_^") > -1) { + hasDetectedBadDCE = true; + setTimeout(function() { + throw new Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://react.dev/link/perf-use-production-build"); + }); + } + } catch (err) { + } + } + var isProfiling = shouldStartProfilingNow; + var uidCounter2 = 0; + function inject(renderer) { + var id = ++uidCounter2; + renderers.set(id, renderer); + var reactBuildType = hasDetectedBadDCE ? "deadcode" : detectReactBuildType(renderer); + hook.emit("renderer", { + id, + renderer, + reactBuildType + }); + var rendererInterface = attachRenderer(hook, id, renderer, target, isProfiling, profilingSettings); + if (rendererInterface != null) { + hook.rendererInterfaces.set(id, rendererInterface); + hook.emit("renderer-attached", { + id, + rendererInterface + }); + } else { + hook.hasUnsupportedRendererAttached = true; + hook.emit("unsupported-renderer-version"); + } + return id; + } + var hasDetectedBadDCE = false; + function sub(event, fn) { + hook.on(event, fn); + return function() { + return hook.off(event, fn); + }; + } + function on(event, fn) { + if (!listeners[event]) { + listeners[event] = []; + } + listeners[event].push(fn); + } + function off(event, fn) { + if (!listeners[event]) { + return; + } + var index = listeners[event].indexOf(fn); + if (index !== -1) { + listeners[event].splice(index, 1); + } + if (!listeners[event].length) { + delete listeners[event]; + } + } + function emit(event, data) { + if (listeners[event]) { + listeners[event].map(function(fn) { + return fn(data); + }); + } + } + function getFiberRoots(rendererID) { + var roots = fiberRoots; + if (!roots[rendererID]) { + roots[rendererID] = /* @__PURE__ */ new Set(); + } + return roots[rendererID]; + } + function onCommitFiberUnmount(rendererID, fiber) { + var rendererInterface = rendererInterfaces.get(rendererID); + if (rendererInterface != null) { + rendererInterface.handleCommitFiberUnmount(fiber); + } + } + function onCommitFiberRoot(rendererID, root, priorityLevel) { + var mountedRoots = hook.getFiberRoots(rendererID); + var current = root.current; + var isKnownRoot = mountedRoots.has(root); + var isUnmounting = current.memoizedState == null || current.memoizedState.element == null; + if (!isKnownRoot && !isUnmounting) { + mountedRoots.add(root); + } else if (isKnownRoot && isUnmounting) { + mountedRoots.delete(root); + } + var rendererInterface = rendererInterfaces.get(rendererID); + if (rendererInterface != null) { + rendererInterface.handleCommitFiberRoot(root, priorityLevel); + } + } + function onPostCommitFiberRoot(rendererID, root) { + var rendererInterface = rendererInterfaces.get(rendererID); + if (rendererInterface != null) { + rendererInterface.handlePostCommitFiberRoot(root); + } + } + var isRunningDuringStrictModeInvocation = false; + function setStrictMode(rendererID, isStrictMode) { + isRunningDuringStrictModeInvocation = isStrictMode; + if (isStrictMode) { + patchConsoleForStrictMode(); + } else { + unpatchConsoleForStrictMode(); + } + } + var unpatchConsoleCallbacks = []; + function patchConsoleForStrictMode() { + if (!hook.settings) { + return; + } + if (unpatchConsoleCallbacks.length > 0) { + return; + } + var consoleMethodsToOverrideForStrictMode = ["group", "groupCollapsed", "info", "log"]; + var _loop = function _loop2() { + var method = _consoleMethodsToOver[_i]; + var originalMethod = targetConsole[method]; + var overrideMethod = function overrideMethod2() { + var settings = hook.settings; + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + if (settings == null) { + originalMethod.apply(void 0, args); + return; + } + if (settings.hideConsoleLogsInStrictMode) { + return; + } + if (false) { + } else { + originalMethod.apply(void 0, [ANSI_STYLE_DIMMING_TEMPLATE].concat(hook_toConsumableArray(formatConsoleArguments.apply(void 0, args)))); + } + }; + targetConsole[method] = overrideMethod; + unpatchConsoleCallbacks.push(function() { + targetConsole[method] = originalMethod; + }); + }; + for (var _i = 0, _consoleMethodsToOver = consoleMethodsToOverrideForStrictMode; _i < _consoleMethodsToOver.length; _i++) { + _loop(); + } + } + function unpatchConsoleForStrictMode() { + unpatchConsoleCallbacks.forEach(function(callback) { + return callback(); + }); + unpatchConsoleCallbacks.length = 0; + } + var openModuleRangesStack = []; + var moduleRanges = []; + function getTopStackFrameString(error) { + var frames = error.stack.split("\n"); + var frame = frames.length > 1 ? frames[1] : null; + return frame; + } + function getInternalModuleRanges() { + return moduleRanges; + } + function registerInternalModuleStart(error) { + var startStackFrame = getTopStackFrameString(error); + if (startStackFrame !== null) { + openModuleRangesStack.push(startStackFrame); + } + } + function registerInternalModuleStop(error) { + if (openModuleRangesStack.length > 0) { + var startStackFrame = openModuleRangesStack.pop(); + var stopStackFrame = getTopStackFrameString(error); + if (stopStackFrame !== null) { + moduleRanges.push([startStackFrame, stopStackFrame]); + } + } + } + function patchConsoleForErrorsAndWarnings() { + if (!hook.settings) { + return; + } + var consoleMethodsToOverrideForErrorsAndWarnings = ["error", "trace", "warn"]; + var _loop2 = function _loop22() { + var method = _consoleMethodsToOver2[_i2]; + var originalMethod = targetConsole[method]; + var overrideMethod = function overrideMethod2() { + var settings = hook.settings; + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + if (settings == null) { + originalMethod.apply(void 0, args); + return; + } + if (isRunningDuringStrictModeInvocation && settings.hideConsoleLogsInStrictMode) { + return; + } + var injectedComponentStackAsFakeError = false; + var alreadyHasComponentStack = false; + if (settings.appendComponentStack) { + var lastArg = args.length > 0 ? args[args.length - 1] : null; + alreadyHasComponentStack = typeof lastArg === "string" && isStringComponentStack(lastArg); + } + var shouldShowInlineWarningsAndErrors = settings.showInlineWarningsAndErrors && (method === "error" || method === "warn"); + var _iterator = hook_createForOfIteratorHelper(hook.rendererInterfaces.values()), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var rendererInterface = _step.value; + var onErrorOrWarning = rendererInterface.onErrorOrWarning, getComponentStack = rendererInterface.getComponentStack; + try { + if (shouldShowInlineWarningsAndErrors) { + if (onErrorOrWarning != null) { + onErrorOrWarning(method, args.slice()); + } + } + } catch (error) { + setTimeout(function() { + throw error; + }, 0); + } + try { + if (settings.appendComponentStack && getComponentStack != null) { + var topFrame = Error("react-stack-top-frame"); + var match = getComponentStack(topFrame); + if (match !== null) { + var enableOwnerStacks2 = match.enableOwnerStacks, componentStack = match.componentStack; + if (componentStack !== "") { + var fakeError = new Error(""); + if (false) { + } else { + fakeError.name = enableOwnerStacks2 ? "Stack" : "Component Stack"; + } + fakeError.stack = true ? (enableOwnerStacks2 ? "Error Stack:" : "Error Component Stack:") + componentStack : 0; + if (alreadyHasComponentStack) { + if (areStackTracesEqual(args[args.length - 1], componentStack)) { + var firstArg = args[0]; + if (args.length > 1 && typeof firstArg === "string" && firstArg.endsWith("%s")) { + args[0] = firstArg.slice(0, firstArg.length - 2); + } + args[args.length - 1] = fakeError; + injectedComponentStackAsFakeError = true; + } + } else { + args.push(fakeError); + injectedComponentStackAsFakeError = true; + } + } + break; + } + } + } catch (error) { + setTimeout(function() { + throw error; + }, 0); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + if (settings.breakOnConsoleErrors) { + debugger; + } + if (isRunningDuringStrictModeInvocation) { + if (false) { + var argsWithCSSStyles; + } else { + originalMethod.apply(void 0, [injectedComponentStackAsFakeError ? ANSI_STYLE_DIMMING_TEMPLATE_WITH_COMPONENT_STACK : ANSI_STYLE_DIMMING_TEMPLATE].concat(hook_toConsumableArray(formatConsoleArguments.apply(void 0, args)))); + } + } else { + originalMethod.apply(void 0, args); + } + }; + targetConsole[method] = overrideMethod; + }; + for (var _i2 = 0, _consoleMethodsToOver2 = consoleMethodsToOverrideForErrorsAndWarnings; _i2 < _consoleMethodsToOver2.length; _i2++) { + _loop2(); + } + } + var fiberRoots = {}; + var rendererInterfaces = /* @__PURE__ */ new Map(); + var listeners = {}; + var renderers = /* @__PURE__ */ new Map(); + var backends = /* @__PURE__ */ new Map(); + var hook = { + rendererInterfaces, + listeners, + backends, + // Fast Refresh for web relies on this. + renderers, + hasUnsupportedRendererAttached: false, + emit, + getFiberRoots, + inject, + on, + off, + sub, + // This is a legacy flag. + // React v16 checks the hook for this to ensure DevTools is new enough. + supportsFiber: true, + // React Flight Client checks the hook for this to ensure DevTools is new enough. + supportsFlight: true, + // React calls these methods. + checkDCE, + onCommitFiberUnmount, + onCommitFiberRoot, + // React v18.0+ + onPostCommitFiberRoot, + setStrictMode, + // Schedule Profiler runtime helpers. + // These internal React modules to report their own boundaries + // which in turn enables the profiler to dim or filter internal frames. + getInternalModuleRanges, + registerInternalModuleStart, + registerInternalModuleStop + }; + if (maybeSettingsOrSettingsPromise == null) { + hook.settings = { + appendComponentStack: true, + breakOnConsoleErrors: false, + showInlineWarningsAndErrors: true, + hideConsoleLogsInStrictMode: false + }; + patchConsoleForErrorsAndWarnings(); + } else { + Promise.resolve(maybeSettingsOrSettingsPromise).then(function(settings) { + hook.settings = settings; + hook.emit("settingsInitialized", settings); + patchConsoleForErrorsAndWarnings(); + }).catch(function() { + targetConsole.error("React DevTools failed to get Console Patching settings. Console won't be patched and some console features will not work."); + }); + } + Object.defineProperty(target, "__REACT_DEVTOOLS_GLOBAL_HOOK__", { + // This property needs to be configurable for the test environment, + // else we won't be able to delete and recreate it between tests. + configurable: false, + enumerable: false, + get: function get() { + return hook; + } + }); + return hook; + } + ; + function initBackend(hook, agent2, global2, isReloadAndProfileSupported) { + if (hook == null) { + return function() { + }; + } + function registerRendererInterface(id, rendererInterface) { + agent2.registerRendererInterface(id, rendererInterface); + rendererInterface.flushInitialOperations(); + } + var subs = [ + hook.sub("renderer-attached", function(_ref) { + var id = _ref.id, rendererInterface = _ref.rendererInterface; + registerRendererInterface(id, rendererInterface); + }), + hook.sub("unsupported-renderer-version", function() { + agent2.onUnsupportedRenderer(); + }), + hook.sub("fastRefreshScheduled", agent2.onFastRefreshScheduled), + hook.sub("operations", agent2.onHookOperations), + hook.sub("traceUpdates", agent2.onTraceUpdates), + hook.sub("settingsInitialized", agent2.onHookSettings) + // TODO Add additional subscriptions required for profiling mode + ]; + agent2.addListener("getIfHasUnsupportedRendererVersion", function() { + if (hook.hasUnsupportedRendererAttached) { + agent2.onUnsupportedRenderer(); + } + }); + hook.rendererInterfaces.forEach(function(rendererInterface, id) { + registerRendererInterface(id, rendererInterface); + }); + hook.emit("react-devtools", agent2); + hook.reactDevtoolsAgent = agent2; + var onAgentShutdown = function onAgentShutdown2() { + subs.forEach(function(fn) { + return fn(); + }); + hook.rendererInterfaces.forEach(function(rendererInterface) { + rendererInterface.cleanup(); + }); + hook.reactDevtoolsAgent = null; + }; + agent2.addListener("shutdown", onAgentShutdown); + agent2.addListener("updateHookSettings", function(settings) { + hook.settings = settings; + }); + agent2.addListener("getHookSettings", function() { + if (hook.settings != null) { + agent2.onHookSettings(hook.settings); + } + }); + if (isReloadAndProfileSupported) { + agent2.onReloadAndProfileSupportedByHost(); + } + return function() { + subs.forEach(function(fn) { + return fn(); + }); + }; + } + ; + function resolveBoxStyle(prefix2, style) { + var hasParts = false; + var result = { + bottom: 0, + left: 0, + right: 0, + top: 0 + }; + var styleForAll = style[prefix2]; + if (styleForAll != null) { + for (var _i = 0, _Object$keys = Object.keys(result); _i < _Object$keys.length; _i++) { + var key = _Object$keys[_i]; + result[key] = styleForAll; + } + hasParts = true; + } + var styleForHorizontal = style[prefix2 + "Horizontal"]; + if (styleForHorizontal != null) { + result.left = styleForHorizontal; + result.right = styleForHorizontal; + hasParts = true; + } else { + var styleForLeft = style[prefix2 + "Left"]; + if (styleForLeft != null) { + result.left = styleForLeft; + hasParts = true; + } + var styleForRight = style[prefix2 + "Right"]; + if (styleForRight != null) { + result.right = styleForRight; + hasParts = true; + } + var styleForEnd = style[prefix2 + "End"]; + if (styleForEnd != null) { + result.right = styleForEnd; + hasParts = true; + } + var styleForStart = style[prefix2 + "Start"]; + if (styleForStart != null) { + result.left = styleForStart; + hasParts = true; + } + } + var styleForVertical = style[prefix2 + "Vertical"]; + if (styleForVertical != null) { + result.bottom = styleForVertical; + result.top = styleForVertical; + hasParts = true; + } else { + var styleForBottom = style[prefix2 + "Bottom"]; + if (styleForBottom != null) { + result.bottom = styleForBottom; + hasParts = true; + } + var styleForTop = style[prefix2 + "Top"]; + if (styleForTop != null) { + result.top = styleForTop; + hasParts = true; + } + } + return hasParts ? result : null; + } + ; + function setupNativeStyleEditor_typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + setupNativeStyleEditor_typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + setupNativeStyleEditor_typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return setupNativeStyleEditor_typeof(obj); + } + function setupNativeStyleEditor_defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); + } else { + obj[key] = value; + } + return obj; + } + function setupNativeStyleEditor(bridge, agent2, resolveNativeStyle, validAttributes) { + bridge.addListener("NativeStyleEditor_measure", function(_ref) { + var id = _ref.id, rendererID = _ref.rendererID; + measureStyle(agent2, bridge, resolveNativeStyle, id, rendererID); + }); + bridge.addListener("NativeStyleEditor_renameAttribute", function(_ref2) { + var id = _ref2.id, rendererID = _ref2.rendererID, oldName = _ref2.oldName, newName = _ref2.newName, value = _ref2.value; + renameStyle(agent2, id, rendererID, oldName, newName, value); + setTimeout(function() { + return measureStyle(agent2, bridge, resolveNativeStyle, id, rendererID); + }); + }); + bridge.addListener("NativeStyleEditor_setValue", function(_ref3) { + var id = _ref3.id, rendererID = _ref3.rendererID, name = _ref3.name, value = _ref3.value; + setStyle(agent2, id, rendererID, name, value); + setTimeout(function() { + return measureStyle(agent2, bridge, resolveNativeStyle, id, rendererID); + }); + }); + bridge.send("isNativeStyleEditorSupported", { + isSupported: true, + validAttributes + }); + } + var EMPTY_BOX_STYLE = { + top: 0, + left: 0, + right: 0, + bottom: 0 + }; + var componentIDToStyleOverrides = /* @__PURE__ */ new Map(); + function measureStyle(agent2, bridge, resolveNativeStyle, id, rendererID) { + var data = agent2.getInstanceAndStyle({ + id, + rendererID + }); + if (!data || !data.style) { + bridge.send("NativeStyleEditor_styleAndLayout", { + id, + layout: null, + style: null + }); + return; + } + var instance = data.instance, style = data.style; + var resolvedStyle = resolveNativeStyle(style); + var styleOverrides = componentIDToStyleOverrides.get(id); + if (styleOverrides != null) { + resolvedStyle = Object.assign({}, resolvedStyle, styleOverrides); + } + if (!instance || typeof instance.measure !== "function") { + bridge.send("NativeStyleEditor_styleAndLayout", { + id, + layout: null, + style: resolvedStyle || null + }); + return; + } + instance.measure(function(x, y, width, height, left, top) { + if (typeof x !== "number") { + bridge.send("NativeStyleEditor_styleAndLayout", { + id, + layout: null, + style: resolvedStyle || null + }); + return; + } + var margin = resolvedStyle != null && resolveBoxStyle("margin", resolvedStyle) || EMPTY_BOX_STYLE; + var padding = resolvedStyle != null && resolveBoxStyle("padding", resolvedStyle) || EMPTY_BOX_STYLE; + bridge.send("NativeStyleEditor_styleAndLayout", { + id, + layout: { + x, + y, + width, + height, + left, + top, + margin, + padding + }, + style: resolvedStyle || null + }); + }); + } + function shallowClone(object) { + var cloned = {}; + for (var n in object) { + cloned[n] = object[n]; + } + return cloned; + } + function renameStyle(agent2, id, rendererID, oldName, newName, value) { + var _ref4; + var data = agent2.getInstanceAndStyle({ + id, + rendererID + }); + if (!data || !data.style) { + return; + } + var instance = data.instance, style = data.style; + var newStyle = newName ? (_ref4 = {}, setupNativeStyleEditor_defineProperty(_ref4, oldName, void 0), setupNativeStyleEditor_defineProperty(_ref4, newName, value), _ref4) : setupNativeStyleEditor_defineProperty({}, oldName, void 0); + var customStyle; + if (instance !== null && typeof instance.setNativeProps === "function") { + var styleOverrides = componentIDToStyleOverrides.get(id); + if (!styleOverrides) { + componentIDToStyleOverrides.set(id, newStyle); + } else { + Object.assign(styleOverrides, newStyle); + } + instance.setNativeProps({ + style: newStyle + }); + } else if (src_isArray(style)) { + var lastIndex = style.length - 1; + if (setupNativeStyleEditor_typeof(style[lastIndex]) === "object" && !src_isArray(style[lastIndex])) { + customStyle = shallowClone(style[lastIndex]); + delete customStyle[oldName]; + if (newName) { + customStyle[newName] = value; + } else { + customStyle[oldName] = void 0; + } + agent2.overrideValueAtPath({ + type: "props", + id, + rendererID, + path: ["style", lastIndex], + value: customStyle + }); + } else { + agent2.overrideValueAtPath({ + type: "props", + id, + rendererID, + path: ["style"], + value: style.concat([newStyle]) + }); + } + } else if (setupNativeStyleEditor_typeof(style) === "object") { + customStyle = shallowClone(style); + delete customStyle[oldName]; + if (newName) { + customStyle[newName] = value; + } else { + customStyle[oldName] = void 0; + } + agent2.overrideValueAtPath({ + type: "props", + id, + rendererID, + path: ["style"], + value: customStyle + }); + } else { + agent2.overrideValueAtPath({ + type: "props", + id, + rendererID, + path: ["style"], + value: [style, newStyle] + }); + } + agent2.emit("hideNativeHighlight"); + } + function setStyle(agent2, id, rendererID, name, value) { + var data = agent2.getInstanceAndStyle({ + id, + rendererID + }); + if (!data || !data.style) { + return; + } + var instance = data.instance, style = data.style; + var newStyle = setupNativeStyleEditor_defineProperty({}, name, value); + if (instance !== null && typeof instance.setNativeProps === "function") { + var styleOverrides = componentIDToStyleOverrides.get(id); + if (!styleOverrides) { + componentIDToStyleOverrides.set(id, newStyle); + } else { + Object.assign(styleOverrides, newStyle); + } + instance.setNativeProps({ + style: newStyle + }); + } else if (src_isArray(style)) { + var lastLength = style.length - 1; + if (setupNativeStyleEditor_typeof(style[lastLength]) === "object" && !src_isArray(style[lastLength])) { + agent2.overrideValueAtPath({ + type: "props", + id, + rendererID, + path: ["style", lastLength, name], + value + }); + } else { + agent2.overrideValueAtPath({ + type: "props", + id, + rendererID, + path: ["style"], + value: style.concat([newStyle]) + }); + } + } else { + agent2.overrideValueAtPath({ + type: "props", + id, + rendererID, + path: ["style"], + value: [style, newStyle] + }); + } + agent2.emit("hideNativeHighlight"); + } + ; + var savedComponentFilters = getDefaultComponentFilters(); + function backend_debug(methodName) { + if (__DEBUG__) { + var _console; + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + (_console = console).log.apply(_console, ["%c[core/backend] %c".concat(methodName), "color: teal; font-weight: bold;", "font-weight: bold;"].concat(args)); + } + } + function backend_initialize(maybeSettingsOrSettingsPromise) { + var shouldStartProfilingNow = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var profilingSettings = arguments.length > 2 ? arguments[2] : void 0; + installHook(window, maybeSettingsOrSettingsPromise, shouldStartProfilingNow, profilingSettings); + } + function connectToDevTools(options) { + var hook = window.__REACT_DEVTOOLS_GLOBAL_HOOK__; + if (hook == null) { + return; + } + var _ref = options || {}, _ref$host = _ref.host, host = _ref$host === void 0 ? "localhost" : _ref$host, nativeStyleEditorValidAttributes = _ref.nativeStyleEditorValidAttributes, _ref$useHttps = _ref.useHttps, useHttps = _ref$useHttps === void 0 ? false : _ref$useHttps, _ref$port = _ref.port, port = _ref$port === void 0 ? 8097 : _ref$port, websocket = _ref.websocket, _ref$resolveRNStyle = _ref.resolveRNStyle, resolveRNStyle = _ref$resolveRNStyle === void 0 ? null : _ref$resolveRNStyle, _ref$retryConnectionD = _ref.retryConnectionDelay, retryConnectionDelay = _ref$retryConnectionD === void 0 ? 2e3 : _ref$retryConnectionD, _ref$isAppActive = _ref.isAppActive, isAppActive = _ref$isAppActive === void 0 ? function() { + return true; + } : _ref$isAppActive, onSettingsUpdated = _ref.onSettingsUpdated, _ref$isReloadAndProfi = _ref.isReloadAndProfileSupported, isReloadAndProfileSupported = _ref$isReloadAndProfi === void 0 ? getIsReloadAndProfileSupported() : _ref$isReloadAndProfi, isProfiling = _ref.isProfiling, onReloadAndProfile2 = _ref.onReloadAndProfile, onReloadAndProfileFlagsReset2 = _ref.onReloadAndProfileFlagsReset; + var protocol = useHttps ? "wss" : "ws"; + var retryTimeoutID = null; + function scheduleRetry() { + if (retryTimeoutID === null) { + retryTimeoutID = setTimeout(function() { + return connectToDevTools(options); + }, retryConnectionDelay); + } + } + if (!isAppActive()) { + scheduleRetry(); + return; + } + var bridge = null; + var messageListeners = []; + var uri = protocol + "://" + host + ":" + port; + var ws = websocket ? websocket : new (require_websocket())(uri); + ws.onclose = handleClose; + ws.onerror = handleFailed; + ws.onmessage = handleMessage; + ws.onopen = function() { + bridge = new src_bridge({ + listen: function listen(fn) { + messageListeners.push(fn); + return function() { + var index = messageListeners.indexOf(fn); + if (index >= 0) { + messageListeners.splice(index, 1); + } + }; + }, + send: function send(event, payload, transferable) { + if (ws.readyState === ws.OPEN) { + if (__DEBUG__) { + backend_debug("wall.send()", event, payload); + } + ws.send(JSON.stringify({ + event, + payload + })); + } else { + if (__DEBUG__) { + backend_debug("wall.send()", "Shutting down bridge because of closed WebSocket connection"); + } + if (bridge !== null) { + bridge.shutdown(); + } + scheduleRetry(); + } + } + }); + bridge.addListener("updateComponentFilters", function(componentFilters) { + savedComponentFilters = componentFilters; + }); + if (window.__REACT_DEVTOOLS_COMPONENT_FILTERS__ == null) { + bridge.send("overrideComponentFilters", savedComponentFilters); + } + var agent2 = new Agent(bridge, isProfiling, onReloadAndProfile2); + if (typeof onReloadAndProfileFlagsReset2 === "function") { + onReloadAndProfileFlagsReset2(); + } + if (onSettingsUpdated != null) { + agent2.addListener("updateHookSettings", onSettingsUpdated); + } + agent2.addListener("shutdown", function() { + if (onSettingsUpdated != null) { + agent2.removeListener("updateHookSettings", onSettingsUpdated); + } + hook.emit("shutdown"); + }); + initBackend(hook, agent2, window, isReloadAndProfileSupported); + if (resolveRNStyle != null || hook.resolveRNStyle != null) { + setupNativeStyleEditor( + // $FlowFixMe[incompatible-call] found when upgrading Flow + bridge, + agent2, + resolveRNStyle || hook.resolveRNStyle, + nativeStyleEditorValidAttributes || hook.nativeStyleEditorValidAttributes || null + ); + } else { + var lazyResolveRNStyle; + var lazyNativeStyleEditorValidAttributes; + var initAfterTick = function initAfterTick2() { + if (bridge !== null) { + setupNativeStyleEditor(bridge, agent2, lazyResolveRNStyle, lazyNativeStyleEditorValidAttributes); + } + }; + if (!hook.hasOwnProperty("resolveRNStyle")) { + Object.defineProperty(hook, "resolveRNStyle", { + enumerable: false, + get: function get() { + return lazyResolveRNStyle; + }, + set: function set(value) { + lazyResolveRNStyle = value; + initAfterTick(); + } + }); + } + if (!hook.hasOwnProperty("nativeStyleEditorValidAttributes")) { + Object.defineProperty(hook, "nativeStyleEditorValidAttributes", { + enumerable: false, + get: function get() { + return lazyNativeStyleEditorValidAttributes; + }, + set: function set(value) { + lazyNativeStyleEditorValidAttributes = value; + initAfterTick(); + } + }); + } + } + }; + function handleClose() { + if (__DEBUG__) { + backend_debug("WebSocket.onclose"); + } + if (bridge !== null) { + bridge.emit("shutdown"); + } + scheduleRetry(); + } + function handleFailed() { + if (__DEBUG__) { + backend_debug("WebSocket.onerror"); + } + scheduleRetry(); + } + function handleMessage(event) { + var data; + try { + if (typeof event.data === "string") { + data = JSON.parse(event.data); + if (__DEBUG__) { + backend_debug("WebSocket.onmessage", data); + } + } else { + throw Error(); + } + } catch (e) { + console.error("[React DevTools] Failed to parse JSON: " + event.data); + return; + } + messageListeners.forEach(function(fn) { + try { + fn(data); + } catch (error) { + console.log("[React DevTools] Error calling listener", data); + console.log("error:", error); + throw error; + } + }); + } + } + function connectWithCustomMessagingProtocol(_ref2) { + var onSubscribe = _ref2.onSubscribe, onUnsubscribe = _ref2.onUnsubscribe, onMessage = _ref2.onMessage, nativeStyleEditorValidAttributes = _ref2.nativeStyleEditorValidAttributes, resolveRNStyle = _ref2.resolveRNStyle, onSettingsUpdated = _ref2.onSettingsUpdated, _ref2$isReloadAndProf = _ref2.isReloadAndProfileSupported, isReloadAndProfileSupported = _ref2$isReloadAndProf === void 0 ? getIsReloadAndProfileSupported() : _ref2$isReloadAndProf, isProfiling = _ref2.isProfiling, onReloadAndProfile2 = _ref2.onReloadAndProfile, onReloadAndProfileFlagsReset2 = _ref2.onReloadAndProfileFlagsReset; + var hook = window.__REACT_DEVTOOLS_GLOBAL_HOOK__; + if (hook == null) { + return; + } + var wall = { + listen: function listen(fn) { + onSubscribe(fn); + return function() { + onUnsubscribe(fn); + }; + }, + send: function send(event, payload) { + onMessage(event, payload); + } + }; + var bridge = new src_bridge(wall); + bridge.addListener("updateComponentFilters", function(componentFilters) { + savedComponentFilters = componentFilters; + }); + if (window.__REACT_DEVTOOLS_COMPONENT_FILTERS__ == null) { + bridge.send("overrideComponentFilters", savedComponentFilters); + } + var agent2 = new Agent(bridge, isProfiling, onReloadAndProfile2); + if (typeof onReloadAndProfileFlagsReset2 === "function") { + onReloadAndProfileFlagsReset2(); + } + if (onSettingsUpdated != null) { + agent2.addListener("updateHookSettings", onSettingsUpdated); + } + agent2.addListener("shutdown", function() { + if (onSettingsUpdated != null) { + agent2.removeListener("updateHookSettings", onSettingsUpdated); + } + hook.emit("shutdown"); + }); + var unsubscribeBackend = initBackend(hook, agent2, window, isReloadAndProfileSupported); + var nativeStyleResolver = resolveRNStyle || hook.resolveRNStyle; + if (nativeStyleResolver != null) { + var validAttributes = nativeStyleEditorValidAttributes || hook.nativeStyleEditorValidAttributes || null; + setupNativeStyleEditor(bridge, agent2, nativeStyleResolver, validAttributes); + } + return unsubscribeBackend; + } + })(); + return __webpack_exports__; + })() + ); +}); +/*! Bundled license information: + +react-devtools-core/dist/backend.js: + (** + * @license React + * react-debug-tools.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + (** + * @license React + * react.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) +*/ diff --git a/.config/raycast/extensions/node_modules/react-reconciler/constants.js b/.config/raycast/extensions/node_modules/react-reconciler/constants.js @@ -0,0 +1,18 @@ +/** + * @license React + * react-reconciler-constants.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +"use strict"; +exports.ConcurrentRoot = 1; +exports.ContinuousEventPriority = 8; +exports.DefaultEventPriority = 32; +exports.DiscreteEventPriority = 2; +exports.IdleEventPriority = 268435456; +exports.LegacyRoot = 0; +exports.NoEventPriority = 0; diff --git a/.config/raycast/extensions/node_modules/react-reconciler/index.js b/.config/raycast/extensions/node_modules/react-reconciler/index.js @@ -0,0 +1,5 @@ +if (process.env.NODE_ENV === 'production') { + module.exports = require('./react-reconciler.production'); +} else { + module.exports = require('./react-reconciler.development'); +} diff --git a/.config/raycast/extensions/node_modules/react-reconciler/react-reconciler.development.js b/.config/raycast/extensions/node_modules/react-reconciler/react-reconciler.development.js @@ -0,0 +1,12286 @@ +"use strict"; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; + +// node_modules/scheduler/cjs/scheduler.production.js +var require_scheduler_production = __commonJS({ + "node_modules/scheduler/cjs/scheduler.production.js"(exports2) { + "use strict"; + function push(heap, node) { + var index = heap.length; + heap.push(node); + a: for (; 0 < index; ) { + var parentIndex = index - 1 >>> 1, parent = heap[parentIndex]; + if (0 < compare(parent, node)) + heap[parentIndex] = node, heap[index] = parent, index = parentIndex; + else break a; + } + } + function peek(heap) { + return 0 === heap.length ? null : heap[0]; + } + function pop(heap) { + if (0 === heap.length) return null; + var first = heap[0], last = heap.pop(); + if (last !== first) { + heap[0] = last; + a: for (var index = 0, length = heap.length, halfLength = length >>> 1; index < halfLength; ) { + var leftIndex = 2 * (index + 1) - 1, left = heap[leftIndex], rightIndex = leftIndex + 1, right = heap[rightIndex]; + if (0 > compare(left, last)) + rightIndex < length && 0 > compare(right, left) ? (heap[index] = right, heap[rightIndex] = last, index = rightIndex) : (heap[index] = left, heap[leftIndex] = last, index = leftIndex); + else if (rightIndex < length && 0 > compare(right, last)) + heap[index] = right, heap[rightIndex] = last, index = rightIndex; + else break a; + } + } + return first; + } + function compare(a, b) { + var diff = a.sortIndex - b.sortIndex; + return 0 !== diff ? diff : a.id - b.id; + } + exports2.unstable_now = void 0; + if ("object" === typeof performance && "function" === typeof performance.now) { + localPerformance = performance; + exports2.unstable_now = function() { + return localPerformance.now(); + }; + } else { + localDate = Date, initialTime = localDate.now(); + exports2.unstable_now = function() { + return localDate.now() - initialTime; + }; + } + var localPerformance; + var localDate; + var initialTime; + var taskQueue = []; + var timerQueue = []; + var taskIdCounter = 1; + var currentTask = null; + var currentPriorityLevel = 3; + var isPerformingWork = false; + var isHostCallbackScheduled = false; + var isHostTimeoutScheduled = false; + var localSetTimeout = "function" === typeof setTimeout ? setTimeout : null; + var localClearTimeout = "function" === typeof clearTimeout ? clearTimeout : null; + var localSetImmediate = "undefined" !== typeof setImmediate ? setImmediate : null; + function advanceTimers(currentTime) { + for (var timer = peek(timerQueue); null !== timer; ) { + if (null === timer.callback) pop(timerQueue); + else if (timer.startTime <= currentTime) + pop(timerQueue), timer.sortIndex = timer.expirationTime, push(taskQueue, timer); + else break; + timer = peek(timerQueue); + } + } + function handleTimeout(currentTime) { + isHostTimeoutScheduled = false; + advanceTimers(currentTime); + if (!isHostCallbackScheduled) + if (null !== peek(taskQueue)) + isHostCallbackScheduled = true, requestHostCallback(); + else { + var firstTimer = peek(timerQueue); + null !== firstTimer && requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime); + } + } + var isMessageLoopRunning = false; + var taskTimeoutID = -1; + var frameInterval = 5; + var startTime = -1; + function shouldYieldToHost() { + return exports2.unstable_now() - startTime < frameInterval ? false : true; + } + function performWorkUntilDeadline() { + if (isMessageLoopRunning) { + var currentTime = exports2.unstable_now(); + startTime = currentTime; + var hasMoreWork = true; + try { + a: { + isHostCallbackScheduled = false; + isHostTimeoutScheduled && (isHostTimeoutScheduled = false, localClearTimeout(taskTimeoutID), taskTimeoutID = -1); + isPerformingWork = true; + var previousPriorityLevel = currentPriorityLevel; + try { + b: { + advanceTimers(currentTime); + for (currentTask = peek(taskQueue); null !== currentTask && !(currentTask.expirationTime > currentTime && shouldYieldToHost()); ) { + var callback = currentTask.callback; + if ("function" === typeof callback) { + currentTask.callback = null; + currentPriorityLevel = currentTask.priorityLevel; + var continuationCallback = callback( + currentTask.expirationTime <= currentTime + ); + currentTime = exports2.unstable_now(); + if ("function" === typeof continuationCallback) { + currentTask.callback = continuationCallback; + advanceTimers(currentTime); + hasMoreWork = true; + break b; + } + currentTask === peek(taskQueue) && pop(taskQueue); + advanceTimers(currentTime); + } else pop(taskQueue); + currentTask = peek(taskQueue); + } + if (null !== currentTask) hasMoreWork = true; + else { + var firstTimer = peek(timerQueue); + null !== firstTimer && requestHostTimeout( + handleTimeout, + firstTimer.startTime - currentTime + ); + hasMoreWork = false; + } + } + break a; + } finally { + currentTask = null, currentPriorityLevel = previousPriorityLevel, isPerformingWork = false; + } + hasMoreWork = void 0; + } + } finally { + hasMoreWork ? schedulePerformWorkUntilDeadline() : isMessageLoopRunning = false; + } + } + } + var schedulePerformWorkUntilDeadline; + if ("function" === typeof localSetImmediate) + schedulePerformWorkUntilDeadline = function() { + localSetImmediate(performWorkUntilDeadline); + }; + else if ("undefined" !== typeof MessageChannel) { + channel = new MessageChannel(), port = channel.port2; + channel.port1.onmessage = performWorkUntilDeadline; + schedulePerformWorkUntilDeadline = function() { + port.postMessage(null); + }; + } else + schedulePerformWorkUntilDeadline = function() { + localSetTimeout(performWorkUntilDeadline, 0); + }; + var channel; + var port; + function requestHostCallback() { + isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline()); + } + function requestHostTimeout(callback, ms) { + taskTimeoutID = localSetTimeout(function() { + callback(exports2.unstable_now()); + }, ms); + } + exports2.unstable_IdlePriority = 5; + exports2.unstable_ImmediatePriority = 1; + exports2.unstable_LowPriority = 4; + exports2.unstable_NormalPriority = 3; + exports2.unstable_Profiling = null; + exports2.unstable_UserBlockingPriority = 2; + exports2.unstable_cancelCallback = function(task) { + task.callback = null; + }; + exports2.unstable_continueExecution = function() { + isHostCallbackScheduled || isPerformingWork || (isHostCallbackScheduled = true, requestHostCallback()); + }; + exports2.unstable_forceFrameRate = function(fps) { + 0 > fps || 125 < fps ? console.error( + "forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported" + ) : frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5; + }; + exports2.unstable_getCurrentPriorityLevel = function() { + return currentPriorityLevel; + }; + exports2.unstable_getFirstCallbackNode = function() { + return peek(taskQueue); + }; + exports2.unstable_next = function(eventHandler) { + switch (currentPriorityLevel) { + case 1: + case 2: + case 3: + var priorityLevel = 3; + break; + default: + priorityLevel = currentPriorityLevel; + } + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = priorityLevel; + try { + return eventHandler(); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + }; + exports2.unstable_pauseExecution = function() { + }; + exports2.unstable_requestPaint = function() { + }; + exports2.unstable_runWithPriority = function(priorityLevel, eventHandler) { + switch (priorityLevel) { + case 1: + case 2: + case 3: + case 4: + case 5: + break; + default: + priorityLevel = 3; + } + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = priorityLevel; + try { + return eventHandler(); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + }; + exports2.unstable_scheduleCallback = function(priorityLevel, callback, options) { + var currentTime = exports2.unstable_now(); + "object" === typeof options && null !== options ? (options = options.delay, options = "number" === typeof options && 0 < options ? currentTime + options : currentTime) : options = currentTime; + switch (priorityLevel) { + case 1: + var timeout = -1; + break; + case 2: + timeout = 250; + break; + case 5: + timeout = 1073741823; + break; + case 4: + timeout = 1e4; + break; + default: + timeout = 5e3; + } + timeout = options + timeout; + priorityLevel = { + id: taskIdCounter++, + callback, + priorityLevel, + startTime: options, + expirationTime: timeout, + sortIndex: -1 + }; + options > currentTime ? (priorityLevel.sortIndex = options, push(timerQueue, priorityLevel), null === peek(taskQueue) && priorityLevel === peek(timerQueue) && (isHostTimeoutScheduled ? (localClearTimeout(taskTimeoutID), taskTimeoutID = -1) : isHostTimeoutScheduled = true, requestHostTimeout(handleTimeout, options - currentTime))) : (priorityLevel.sortIndex = timeout, push(taskQueue, priorityLevel), isHostCallbackScheduled || isPerformingWork || (isHostCallbackScheduled = true, requestHostCallback())); + return priorityLevel; + }; + exports2.unstable_shouldYield = shouldYieldToHost; + exports2.unstable_wrapCallback = function(callback) { + var parentPriorityLevel = currentPriorityLevel; + return function() { + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = parentPriorityLevel; + try { + return callback.apply(this, arguments); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + }; + }; + } +}); + +// node_modules/scheduler/cjs/scheduler.development.js +var require_scheduler_development = __commonJS({ + "node_modules/scheduler/cjs/scheduler.development.js"(exports2) { + "use strict"; + "production" !== process.env.NODE_ENV && function() { + function performWorkUntilDeadline() { + if (isMessageLoopRunning) { + var currentTime = exports2.unstable_now(); + startTime = currentTime; + var hasMoreWork = true; + try { + a: { + isHostCallbackScheduled = false; + isHostTimeoutScheduled && (isHostTimeoutScheduled = false, localClearTimeout(taskTimeoutID), taskTimeoutID = -1); + isPerformingWork = true; + var previousPriorityLevel = currentPriorityLevel; + try { + b: { + advanceTimers(currentTime); + for (currentTask = peek(taskQueue); null !== currentTask && !(currentTask.expirationTime > currentTime && shouldYieldToHost()); ) { + var callback = currentTask.callback; + if ("function" === typeof callback) { + currentTask.callback = null; + currentPriorityLevel = currentTask.priorityLevel; + var continuationCallback = callback( + currentTask.expirationTime <= currentTime + ); + currentTime = exports2.unstable_now(); + if ("function" === typeof continuationCallback) { + currentTask.callback = continuationCallback; + advanceTimers(currentTime); + hasMoreWork = true; + break b; + } + currentTask === peek(taskQueue) && pop(taskQueue); + advanceTimers(currentTime); + } else pop(taskQueue); + currentTask = peek(taskQueue); + } + if (null !== currentTask) hasMoreWork = true; + else { + var firstTimer = peek(timerQueue); + null !== firstTimer && requestHostTimeout( + handleTimeout, + firstTimer.startTime - currentTime + ); + hasMoreWork = false; + } + } + break a; + } finally { + currentTask = null, currentPriorityLevel = previousPriorityLevel, isPerformingWork = false; + } + hasMoreWork = void 0; + } + } finally { + hasMoreWork ? schedulePerformWorkUntilDeadline() : isMessageLoopRunning = false; + } + } + } + function push(heap, node) { + var index = heap.length; + heap.push(node); + a: for (; 0 < index; ) { + var parentIndex = index - 1 >>> 1, parent = heap[parentIndex]; + if (0 < compare(parent, node)) + heap[parentIndex] = node, heap[index] = parent, index = parentIndex; + else break a; + } + } + function peek(heap) { + return 0 === heap.length ? null : heap[0]; + } + function pop(heap) { + if (0 === heap.length) return null; + var first = heap[0], last = heap.pop(); + if (last !== first) { + heap[0] = last; + a: for (var index = 0, length = heap.length, halfLength = length >>> 1; index < halfLength; ) { + var leftIndex = 2 * (index + 1) - 1, left = heap[leftIndex], rightIndex = leftIndex + 1, right = heap[rightIndex]; + if (0 > compare(left, last)) + rightIndex < length && 0 > compare(right, left) ? (heap[index] = right, heap[rightIndex] = last, index = rightIndex) : (heap[index] = left, heap[leftIndex] = last, index = leftIndex); + else if (rightIndex < length && 0 > compare(right, last)) + heap[index] = right, heap[rightIndex] = last, index = rightIndex; + else break a; + } + } + return first; + } + function compare(a, b) { + var diff = a.sortIndex - b.sortIndex; + return 0 !== diff ? diff : a.id - b.id; + } + function advanceTimers(currentTime) { + for (var timer = peek(timerQueue); null !== timer; ) { + if (null === timer.callback) pop(timerQueue); + else if (timer.startTime <= currentTime) + pop(timerQueue), timer.sortIndex = timer.expirationTime, push(taskQueue, timer); + else break; + timer = peek(timerQueue); + } + } + function handleTimeout(currentTime) { + isHostTimeoutScheduled = false; + advanceTimers(currentTime); + if (!isHostCallbackScheduled) + if (null !== peek(taskQueue)) + isHostCallbackScheduled = true, requestHostCallback(); + else { + var firstTimer = peek(timerQueue); + null !== firstTimer && requestHostTimeout( + handleTimeout, + firstTimer.startTime - currentTime + ); + } + } + function shouldYieldToHost() { + return exports2.unstable_now() - startTime < frameInterval ? false : true; + } + function requestHostCallback() { + isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline()); + } + function requestHostTimeout(callback, ms) { + taskTimeoutID = localSetTimeout(function() { + callback(exports2.unstable_now()); + }, ms); + } + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); + exports2.unstable_now = void 0; + if ("object" === typeof performance && "function" === typeof performance.now) { + var localPerformance = performance; + exports2.unstable_now = function() { + return localPerformance.now(); + }; + } else { + var localDate = Date, initialTime = localDate.now(); + exports2.unstable_now = function() { + return localDate.now() - initialTime; + }; + } + var taskQueue = [], timerQueue = [], taskIdCounter = 1, currentTask = null, currentPriorityLevel = 3, isPerformingWork = false, isHostCallbackScheduled = false, isHostTimeoutScheduled = false, localSetTimeout = "function" === typeof setTimeout ? setTimeout : null, localClearTimeout = "function" === typeof clearTimeout ? clearTimeout : null, localSetImmediate = "undefined" !== typeof setImmediate ? setImmediate : null, isMessageLoopRunning = false, taskTimeoutID = -1, frameInterval = 5, startTime = -1; + if ("function" === typeof localSetImmediate) + var schedulePerformWorkUntilDeadline = function() { + localSetImmediate(performWorkUntilDeadline); + }; + else if ("undefined" !== typeof MessageChannel) { + var channel = new MessageChannel(), port = channel.port2; + channel.port1.onmessage = performWorkUntilDeadline; + schedulePerformWorkUntilDeadline = function() { + port.postMessage(null); + }; + } else + schedulePerformWorkUntilDeadline = function() { + localSetTimeout(performWorkUntilDeadline, 0); + }; + exports2.unstable_IdlePriority = 5; + exports2.unstable_ImmediatePriority = 1; + exports2.unstable_LowPriority = 4; + exports2.unstable_NormalPriority = 3; + exports2.unstable_Profiling = null; + exports2.unstable_UserBlockingPriority = 2; + exports2.unstable_cancelCallback = function(task) { + task.callback = null; + }; + exports2.unstable_continueExecution = function() { + isHostCallbackScheduled || isPerformingWork || (isHostCallbackScheduled = true, requestHostCallback()); + }; + exports2.unstable_forceFrameRate = function(fps) { + 0 > fps || 125 < fps ? console.error( + "forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported" + ) : frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5; + }; + exports2.unstable_getCurrentPriorityLevel = function() { + return currentPriorityLevel; + }; + exports2.unstable_getFirstCallbackNode = function() { + return peek(taskQueue); + }; + exports2.unstable_next = function(eventHandler) { + switch (currentPriorityLevel) { + case 1: + case 2: + case 3: + var priorityLevel = 3; + break; + default: + priorityLevel = currentPriorityLevel; + } + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = priorityLevel; + try { + return eventHandler(); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + }; + exports2.unstable_pauseExecution = function() { + }; + exports2.unstable_requestPaint = function() { + }; + exports2.unstable_runWithPriority = function(priorityLevel, eventHandler) { + switch (priorityLevel) { + case 1: + case 2: + case 3: + case 4: + case 5: + break; + default: + priorityLevel = 3; + } + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = priorityLevel; + try { + return eventHandler(); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + }; + exports2.unstable_scheduleCallback = function(priorityLevel, callback, options) { + var currentTime = exports2.unstable_now(); + "object" === typeof options && null !== options ? (options = options.delay, options = "number" === typeof options && 0 < options ? currentTime + options : currentTime) : options = currentTime; + switch (priorityLevel) { + case 1: + var timeout = -1; + break; + case 2: + timeout = 250; + break; + case 5: + timeout = 1073741823; + break; + case 4: + timeout = 1e4; + break; + default: + timeout = 5e3; + } + timeout = options + timeout; + priorityLevel = { + id: taskIdCounter++, + callback, + priorityLevel, + startTime: options, + expirationTime: timeout, + sortIndex: -1 + }; + options > currentTime ? (priorityLevel.sortIndex = options, push(timerQueue, priorityLevel), null === peek(taskQueue) && priorityLevel === peek(timerQueue) && (isHostTimeoutScheduled ? (localClearTimeout(taskTimeoutID), taskTimeoutID = -1) : isHostTimeoutScheduled = true, requestHostTimeout(handleTimeout, options - currentTime))) : (priorityLevel.sortIndex = timeout, push(taskQueue, priorityLevel), isHostCallbackScheduled || isPerformingWork || (isHostCallbackScheduled = true, requestHostCallback())); + return priorityLevel; + }; + exports2.unstable_shouldYield = shouldYieldToHost; + exports2.unstable_wrapCallback = function(callback) { + var parentPriorityLevel = currentPriorityLevel; + return function() { + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = parentPriorityLevel; + try { + return callback.apply(this, arguments); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + }; + }; + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); + }(); + } +}); + +// node_modules/scheduler/index.js +var require_scheduler = __commonJS({ + "node_modules/scheduler/index.js"(exports2, module2) { + "use strict"; + if (process.env.NODE_ENV === "production") { + module2.exports = require_scheduler_production(); + } else { + module2.exports = require_scheduler_development(); + } + } +}); + +// node_modules/react-reconciler/cjs/react-reconciler.development.js +"production" !== process.env.NODE_ENV && (module.exports = function($$$config) { + function findHook(fiber, id) { + for (fiber = fiber.memoizedState; null !== fiber && 0 < id; ) + fiber = fiber.next, id--; + return fiber; + } + function copyWithSetImpl(obj, path, index, value) { + if (index >= path.length) return value; + var key = path[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj); + updated[key] = copyWithSetImpl(obj[key], path, index + 1, value); + return updated; + } + function copyWithRename(obj, oldPath, newPath) { + if (oldPath.length !== newPath.length) + console.warn("copyWithRename() expects paths of the same length"); + else { + for (var i = 0; i < newPath.length - 1; i++) + if (oldPath[i] !== newPath[i]) { + console.warn( + "copyWithRename() expects paths to be the same except for the deepest key" + ); + return; + } + return copyWithRenameImpl(obj, oldPath, newPath, 0); + } + } + function copyWithRenameImpl(obj, oldPath, newPath, index) { + var oldKey = oldPath[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj); + index + 1 === oldPath.length ? (updated[newPath[index]] = updated[oldKey], isArrayImpl(updated) ? updated.splice(oldKey, 1) : delete updated[oldKey]) : updated[oldKey] = copyWithRenameImpl( + obj[oldKey], + oldPath, + newPath, + index + 1 + ); + return updated; + } + function copyWithDeleteImpl(obj, path, index) { + var key = path[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj); + if (index + 1 === path.length) + return isArrayImpl(updated) ? updated.splice(key, 1) : delete updated[key], updated; + updated[key] = copyWithDeleteImpl(obj[key], path, index + 1); + return updated; + } + function shouldSuspendImpl() { + return false; + } + function shouldErrorImpl() { + return null; + } + function createFiber(tag, pendingProps, key, mode) { + return new FiberNode(tag, pendingProps, key, mode); + } + function scheduleRoot(root, element) { + root.context === emptyContextObject && (updateContainerSync(element, root, null, null), flushSyncWork()); + } + function scheduleRefresh(root, update) { + if (null !== resolveFamily) { + var staleFamilies = update.staleFamilies; + update = update.updatedFamilies; + flushPassiveEffects(); + scheduleFibersWithFamiliesRecursively( + root.current, + update, + staleFamilies + ); + flushSyncWork(); + } + } + function setRefreshHandler(handler) { + resolveFamily = handler; + } + function warnInvalidHookAccess() { + console.error( + "Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://react.dev/link/rules-of-hooks" + ); + } + function warnInvalidContextAccess() { + console.error( + "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()." + ); + } + function noop() { + } + function warnForMissingKey() { + } + function setToSortedString(set) { + var array = []; + set.forEach(function(value) { + array.push(value); + }); + return array.sort().join(", "); + } + function getIteratorFn(maybeIterable) { + if (null === maybeIterable || "object" !== typeof maybeIterable) + return null; + maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"]; + return "function" === typeof maybeIterable ? maybeIterable : null; + } + function getComponentNameFromType(type) { + if (null == type) return null; + if ("function" === typeof type) + return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null; + if ("string" === typeof type) return type; + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + } + if ("object" === typeof type) + switch ("number" === typeof type.tag && console.error( + "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." + ), type.$$typeof) { + case REACT_CONTEXT_TYPE: + return (type.displayName || "Context") + ".Provider"; + case REACT_CONSUMER_TYPE: + return (type._context.displayName || "Context") + ".Consumer"; + case REACT_FORWARD_REF_TYPE: + var innerType = type.render; + type = type.displayName; + type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef"); + return type; + case REACT_MEMO_TYPE: + return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo"; + case REACT_LAZY_TYPE: + innerType = type._payload; + type = type._init; + try { + return getComponentNameFromType(type(innerType)); + } catch (x) { + } + } + return null; + } + function getComponentNameFromFiber(fiber) { + var type = fiber.type; + switch (fiber.tag) { + case 24: + return "Cache"; + case 9: + return (type._context.displayName || "Context") + ".Consumer"; + case 10: + return (type.displayName || "Context") + ".Provider"; + case 18: + return "DehydratedFragment"; + case 11: + return fiber = type.render, fiber = fiber.displayName || fiber.name || "", type.displayName || ("" !== fiber ? "ForwardRef(" + fiber + ")" : "ForwardRef"); + case 7: + return "Fragment"; + case 26: + case 27: + case 5: + return type; + case 4: + return "Portal"; + case 3: + return "Root"; + case 6: + return "Text"; + case 16: + return getComponentNameFromType(type); + case 8: + return type === REACT_STRICT_MODE_TYPE ? "StrictMode" : "Mode"; + case 22: + return "Offscreen"; + case 12: + return "Profiler"; + case 21: + return "Scope"; + case 13: + return "Suspense"; + case 19: + return "SuspenseList"; + case 25: + return "TracingMarker"; + case 1: + case 0: + case 14: + case 15: + if ("function" === typeof type) + return type.displayName || type.name || null; + if ("string" === typeof type) return type; + break; + case 29: + type = fiber._debugInfo; + if (null != type) { + for (var i = type.length - 1; 0 <= i; i--) + if ("string" === typeof type[i].name) return type[i].name; + } + if (null !== fiber.return) + return getComponentNameFromFiber(fiber.return); + } + return null; + } + function disabledLog() { + } + function disableLogs() { + if (0 === disabledDepth) { + prevLog = console.log; + prevInfo = console.info; + prevWarn = console.warn; + prevError = console.error; + prevGroup = console.group; + prevGroupCollapsed = console.groupCollapsed; + prevGroupEnd = console.groupEnd; + var props = { + configurable: true, + enumerable: true, + value: disabledLog, + writable: true + }; + Object.defineProperties(console, { + info: props, + log: props, + warn: props, + error: props, + group: props, + groupCollapsed: props, + groupEnd: props + }); + } + disabledDepth++; + } + function reenableLogs() { + disabledDepth--; + if (0 === disabledDepth) { + var props = { configurable: true, enumerable: true, writable: true }; + Object.defineProperties(console, { + log: assign({}, props, { value: prevLog }), + info: assign({}, props, { value: prevInfo }), + warn: assign({}, props, { value: prevWarn }), + error: assign({}, props, { value: prevError }), + group: assign({}, props, { value: prevGroup }), + groupCollapsed: assign({}, props, { value: prevGroupCollapsed }), + groupEnd: assign({}, props, { value: prevGroupEnd }) + }); + } + 0 > disabledDepth && console.error( + "disabledDepth fell below zero. This is a bug in React. Please file an issue." + ); + } + function describeBuiltInComponentFrame(name) { + if (void 0 === prefix) + try { + throw Error(); + } catch (x) { + var match = x.stack.trim().match(/\n( *(at )?)/); + prefix = match && match[1] || ""; + suffix = -1 < x.stack.indexOf("\n at") ? " (<anonymous>)" : -1 < x.stack.indexOf("@") ? "@unknown:0:0" : ""; + } + return "\n" + prefix + name + suffix; + } + function describeNativeComponentFrame(fn, construct) { + if (!fn || reentry) return ""; + var frame = componentFrameCache.get(fn); + if (void 0 !== frame) return frame; + reentry = true; + frame = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + var previousDispatcher = null; + previousDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = null; + disableLogs(); + try { + var RunInRootFrame = { + DetermineComponentFrameRoot: function() { + try { + if (construct) { + var Fake = function() { + throw Error(); + }; + Object.defineProperty(Fake.prototype, "props", { + set: function() { + throw Error(); + } + }); + if ("object" === typeof Reflect && Reflect.construct) { + try { + Reflect.construct(Fake, []); + } catch (x) { + var control = x; + } + Reflect.construct(fn, [], Fake); + } else { + try { + Fake.call(); + } catch (x$0) { + control = x$0; + } + fn.call(Fake.prototype); + } + } else { + try { + throw Error(); + } catch (x$1) { + control = x$1; + } + (Fake = fn()) && "function" === typeof Fake.catch && Fake.catch(function() { + }); + } + } catch (sample) { + if (sample && control && "string" === typeof sample.stack) + return [sample.stack, control.stack]; + } + return [null, null]; + } + }; + RunInRootFrame.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot"; + var namePropDescriptor = Object.getOwnPropertyDescriptor( + RunInRootFrame.DetermineComponentFrameRoot, + "name" + ); + namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty( + RunInRootFrame.DetermineComponentFrameRoot, + "name", + { value: "DetermineComponentFrameRoot" } + ); + var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1]; + if (sampleStack && controlStack) { + var sampleLines = sampleStack.split("\n"), controlLines = controlStack.split("\n"); + for (_RunInRootFrame$Deter = namePropDescriptor = 0; namePropDescriptor < sampleLines.length && !sampleLines[namePropDescriptor].includes( + "DetermineComponentFrameRoot" + ); ) + namePropDescriptor++; + for (; _RunInRootFrame$Deter < controlLines.length && !controlLines[_RunInRootFrame$Deter].includes( + "DetermineComponentFrameRoot" + ); ) + _RunInRootFrame$Deter++; + if (namePropDescriptor === sampleLines.length || _RunInRootFrame$Deter === controlLines.length) + for (namePropDescriptor = sampleLines.length - 1, _RunInRootFrame$Deter = controlLines.length - 1; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter && sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]; ) + _RunInRootFrame$Deter--; + for (; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter; namePropDescriptor--, _RunInRootFrame$Deter--) + if (sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) { + if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) { + do + if (namePropDescriptor--, _RunInRootFrame$Deter--, 0 > _RunInRootFrame$Deter || sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) { + var _frame = "\n" + sampleLines[namePropDescriptor].replace( + " at new ", + " at " + ); + fn.displayName && _frame.includes("<anonymous>") && (_frame = _frame.replace("<anonymous>", fn.displayName)); + "function" === typeof fn && componentFrameCache.set(fn, _frame); + return _frame; + } + while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter); + } + break; + } + } + } finally { + reentry = false, ReactSharedInternals.H = previousDispatcher, reenableLogs(), Error.prepareStackTrace = frame; + } + sampleLines = (sampleLines = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(sampleLines) : ""; + "function" === typeof fn && componentFrameCache.set(fn, sampleLines); + return sampleLines; + } + function describeFiber(fiber) { + switch (fiber.tag) { + case 26: + case 27: + case 5: + return describeBuiltInComponentFrame(fiber.type); + case 16: + return describeBuiltInComponentFrame("Lazy"); + case 13: + return describeBuiltInComponentFrame("Suspense"); + case 19: + return describeBuiltInComponentFrame("SuspenseList"); + case 0: + case 15: + return fiber = describeNativeComponentFrame(fiber.type, false), fiber; + case 11: + return fiber = describeNativeComponentFrame(fiber.type.render, false), fiber; + case 1: + return fiber = describeNativeComponentFrame(fiber.type, true), fiber; + default: + return ""; + } + } + function getStackByFiberInDevAndProd(workInProgress2) { + try { + var info = ""; + do { + info += describeFiber(workInProgress2); + var debugInfo = workInProgress2._debugInfo; + if (debugInfo) + for (var i = debugInfo.length - 1; 0 <= i; i--) { + var entry = debugInfo[i]; + if ("string" === typeof entry.name) { + var JSCompiler_temp_const = info, env = entry.env; + var JSCompiler_inline_result = describeBuiltInComponentFrame( + entry.name + (env ? " [" + env + "]" : "") + ); + info = JSCompiler_temp_const + JSCompiler_inline_result; + } + } + workInProgress2 = workInProgress2.return; + } while (workInProgress2); + return info; + } catch (x) { + return "\nError generating stack: " + x.message + "\n" + x.stack; + } + } + function getCurrentFiberStackInDev() { + return null === current ? "" : getStackByFiberInDevAndProd(current); + } + function runWithFiberInDEV(fiber, callback, arg0, arg1, arg2, arg3, arg4) { + var previousFiber = current; + ReactSharedInternals.getCurrentStack = null === fiber ? null : getCurrentFiberStackInDev; + isRendering = false; + current = fiber; + try { + return callback(arg0, arg1, arg2, arg3, arg4); + } finally { + current = previousFiber; + } + throw Error( + "runWithFiberInDEV should never be called in production. This is a bug in React." + ); + } + function getNearestMountedFiber(fiber) { + var node = fiber, nearestMounted = fiber; + if (fiber.alternate) for (; node.return; ) node = node.return; + else { + fiber = node; + do + node = fiber, 0 !== (node.flags & 4098) && (nearestMounted = node.return), fiber = node.return; + while (fiber); + } + return 3 === node.tag ? nearestMounted : null; + } + function assertIsMounted(fiber) { + if (getNearestMountedFiber(fiber) !== fiber) + throw Error("Unable to find node on an unmounted component."); + } + function findCurrentFiberUsingSlowPath(fiber) { + var alternate = fiber.alternate; + if (!alternate) { + alternate = getNearestMountedFiber(fiber); + if (null === alternate) + throw Error("Unable to find node on an unmounted component."); + return alternate !== fiber ? null : fiber; + } + for (var a = fiber, b = alternate; ; ) { + var parentA = a.return; + if (null === parentA) break; + var parentB = parentA.alternate; + if (null === parentB) { + b = parentA.return; + if (null !== b) { + a = b; + continue; + } + break; + } + if (parentA.child === parentB.child) { + for (parentB = parentA.child; parentB; ) { + if (parentB === a) return assertIsMounted(parentA), fiber; + if (parentB === b) return assertIsMounted(parentA), alternate; + parentB = parentB.sibling; + } + throw Error("Unable to find node on an unmounted component."); + } + if (a.return !== b.return) a = parentA, b = parentB; + else { + for (var didFindChild = false, _child = parentA.child; _child; ) { + if (_child === a) { + didFindChild = true; + a = parentA; + b = parentB; + break; + } + if (_child === b) { + didFindChild = true; + b = parentA; + a = parentB; + break; + } + _child = _child.sibling; + } + if (!didFindChild) { + for (_child = parentB.child; _child; ) { + if (_child === a) { + didFindChild = true; + a = parentB; + b = parentA; + break; + } + if (_child === b) { + didFindChild = true; + b = parentB; + a = parentA; + break; + } + _child = _child.sibling; + } + if (!didFindChild) + throw Error( + "Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue." + ); + } + } + if (a.alternate !== b) + throw Error( + "Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue." + ); + } + if (3 !== a.tag) + throw Error("Unable to find node on an unmounted component."); + return a.stateNode.current === a ? fiber : alternate; + } + function findCurrentHostFiber(parent) { + parent = findCurrentFiberUsingSlowPath(parent); + return null !== parent ? findCurrentHostFiberImpl(parent) : null; + } + function findCurrentHostFiberImpl(node) { + var tag = node.tag; + if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node; + for (node = node.child; null !== node; ) { + tag = findCurrentHostFiberImpl(node); + if (null !== tag) return tag; + node = node.sibling; + } + return null; + } + function findCurrentHostFiberWithNoPortalsImpl(node) { + var tag = node.tag; + if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node; + for (node = node.child; null !== node; ) { + if (4 !== node.tag && (tag = findCurrentHostFiberWithNoPortalsImpl(node), null !== tag)) + return tag; + node = node.sibling; + } + return null; + } + function createCursor(defaultValue) { + return { current: defaultValue }; + } + function pop(cursor, fiber) { + 0 > index$jscomp$0 ? console.error("Unexpected pop.") : (fiber !== fiberStack[index$jscomp$0] && console.error("Unexpected Fiber popped."), cursor.current = valueStack[index$jscomp$0], valueStack[index$jscomp$0] = null, fiberStack[index$jscomp$0] = null, index$jscomp$0--); + } + function push(cursor, value, fiber) { + index$jscomp$0++; + valueStack[index$jscomp$0] = cursor.current; + fiberStack[index$jscomp$0] = fiber; + cursor.current = value; + } + function clz32Fallback(x) { + x >>>= 0; + return 0 === x ? 32 : 31 - (log$1(x) / LN2 | 0) | 0; + } + function getLabelForLane(lane) { + if (lane & 1) return "SyncHydrationLane"; + if (lane & 2) return "Sync"; + if (lane & 4) return "InputContinuousHydration"; + if (lane & 8) return "InputContinuous"; + if (lane & 16) return "DefaultHydration"; + if (lane & 32) return "Default"; + if (lane & 64) return "TransitionHydration"; + if (lane & 4194176) return "Transition"; + if (lane & 62914560) return "Retry"; + if (lane & 67108864) return "SelectiveHydration"; + if (lane & 134217728) return "IdleHydration"; + if (lane & 268435456) return "Idle"; + if (lane & 536870912) return "Offscreen"; + if (lane & 1073741824) return "Deferred"; + } + function getHighestPriorityLanes(lanes) { + var pendingSyncLanes = lanes & 42; + if (0 !== pendingSyncLanes) return pendingSyncLanes; + switch (lanes & -lanes) { + case 1: + return 1; + case 2: + return 2; + case 4: + return 4; + case 8: + return 8; + case 16: + return 16; + case 32: + return 32; + case 64: + return 64; + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return lanes & 4194176; + case 4194304: + case 8388608: + case 16777216: + case 33554432: + return lanes & 62914560; + case 67108864: + return 67108864; + case 134217728: + return 134217728; + case 268435456: + return 268435456; + case 536870912: + return 536870912; + case 1073741824: + return 0; + default: + return console.error( + "Should have found matching lanes. This is a bug in React." + ), lanes; + } + } + function getNextLanes(root, wipLanes) { + var pendingLanes = root.pendingLanes; + if (0 === pendingLanes) return 0; + var nextLanes = 0, suspendedLanes = root.suspendedLanes, pingedLanes = root.pingedLanes, warmLanes = root.warmLanes; + root = 0 !== root.finishedLanes; + var nonIdlePendingLanes = pendingLanes & 134217727; + 0 !== nonIdlePendingLanes ? (pendingLanes = nonIdlePendingLanes & ~suspendedLanes, 0 !== pendingLanes ? nextLanes = getHighestPriorityLanes(pendingLanes) : (pingedLanes &= nonIdlePendingLanes, 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : root || (warmLanes = nonIdlePendingLanes & ~warmLanes, 0 !== warmLanes && (nextLanes = getHighestPriorityLanes(warmLanes))))) : (nonIdlePendingLanes = pendingLanes & ~suspendedLanes, 0 !== nonIdlePendingLanes ? nextLanes = getHighestPriorityLanes(nonIdlePendingLanes) : 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : root || (warmLanes = pendingLanes & ~warmLanes, 0 !== warmLanes && (nextLanes = getHighestPriorityLanes(warmLanes)))); + return 0 === nextLanes ? 0 : 0 !== wipLanes && wipLanes !== nextLanes && 0 === (wipLanes & suspendedLanes) && (suspendedLanes = nextLanes & -nextLanes, warmLanes = wipLanes & -wipLanes, suspendedLanes >= warmLanes || 32 === suspendedLanes && 0 !== (warmLanes & 4194176)) ? wipLanes : nextLanes; + } + function checkIfRootIsPrerendering(root, renderLanes2) { + return 0 === (root.pendingLanes & ~(root.suspendedLanes & ~root.pingedLanes) & renderLanes2); + } + function computeExpirationTime(lane, currentTime) { + switch (lane) { + case 1: + case 2: + case 4: + case 8: + return currentTime + 250; + case 16: + case 32: + case 64: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return currentTime + 5e3; + case 4194304: + case 8388608: + case 16777216: + case 33554432: + return -1; + case 67108864: + case 134217728: + case 268435456: + case 536870912: + case 1073741824: + return -1; + default: + return console.error( + "Should have found matching lanes. This is a bug in React." + ), -1; + } + } + function claimNextTransitionLane() { + var lane = nextTransitionLane; + nextTransitionLane <<= 1; + 0 === (nextTransitionLane & 4194176) && (nextTransitionLane = 128); + return lane; + } + function claimNextRetryLane() { + var lane = nextRetryLane; + nextRetryLane <<= 1; + 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304); + return lane; + } + function createLaneMap(initial) { + for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial); + return laneMap; + } + function markRootUpdated$1(root, updateLane) { + root.pendingLanes |= updateLane; + 268435456 !== updateLane && (root.suspendedLanes = 0, root.pingedLanes = 0, root.warmLanes = 0); + } + function markRootFinished(root, finishedLanes, remainingLanes, spawnedLane, updatedLanes, suspendedRetryLanes) { + var previouslyPendingLanes = root.pendingLanes; + root.pendingLanes = remainingLanes; + root.suspendedLanes = 0; + root.pingedLanes = 0; + root.warmLanes = 0; + root.expiredLanes &= remainingLanes; + root.entangledLanes &= remainingLanes; + root.errorRecoveryDisabledLanes &= remainingLanes; + root.shellSuspendCounter = 0; + var entanglements = root.entanglements, expirationTimes = root.expirationTimes, hiddenUpdates = root.hiddenUpdates; + for (remainingLanes = previouslyPendingLanes & ~remainingLanes; 0 < remainingLanes; ) { + var index = 31 - clz32(remainingLanes), lane = 1 << index; + entanglements[index] = 0; + expirationTimes[index] = -1; + var hiddenUpdatesForLane = hiddenUpdates[index]; + if (null !== hiddenUpdatesForLane) + for (hiddenUpdates[index] = null, index = 0; index < hiddenUpdatesForLane.length; index++) { + var update = hiddenUpdatesForLane[index]; + null !== update && (update.lane &= -536870913); + } + remainingLanes &= ~lane; + } + 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0); + 0 !== suspendedRetryLanes && 0 === updatedLanes && 0 !== root.tag && (root.suspendedLanes |= suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes)); + } + function markSpawnedDeferredLane(root, spawnedLane, entangledLanes) { + root.pendingLanes |= spawnedLane; + root.suspendedLanes &= ~spawnedLane; + var spawnedLaneIndex = 31 - clz32(spawnedLane); + root.entangledLanes |= spawnedLane; + root.entanglements[spawnedLaneIndex] = root.entanglements[spawnedLaneIndex] | 1073741824 | entangledLanes & 4194218; + } + function markRootEntangled(root, entangledLanes) { + var rootEntangledLanes = root.entangledLanes |= entangledLanes; + for (root = root.entanglements; rootEntangledLanes; ) { + var index = 31 - clz32(rootEntangledLanes), lane = 1 << index; + lane & entangledLanes | root[index] & entangledLanes && (root[index] |= entangledLanes); + rootEntangledLanes &= ~lane; + } + } + function addFiberToLanesMap(root, fiber, lanes) { + if (isDevToolsPresent) + for (root = root.pendingUpdatersLaneMap; 0 < lanes; ) { + var index = 31 - clz32(lanes), lane = 1 << index; + root[index].add(fiber); + lanes &= ~lane; + } + } + function movePendingFibersToMemoized(root, lanes) { + if (isDevToolsPresent) + for (var pendingUpdatersLaneMap = root.pendingUpdatersLaneMap, memoizedUpdaters = root.memoizedUpdaters; 0 < lanes; ) { + var index = 31 - clz32(lanes); + root = 1 << index; + index = pendingUpdatersLaneMap[index]; + 0 < index.size && (index.forEach(function(fiber) { + var alternate = fiber.alternate; + null !== alternate && memoizedUpdaters.has(alternate) || memoizedUpdaters.add(fiber); + }), index.clear()); + lanes &= ~root; + } + } + function lanesToEventPriority(lanes) { + lanes &= -lanes; + return 2 < lanes ? 8 < lanes ? 0 !== (lanes & 134217727) ? 32 : 268435456 : 8 : 2; + } + function injectInternals(internals) { + if ("undefined" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return false; + var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__; + if (hook.isDisabled) return true; + if (!hook.supportsFiber) + return console.error( + "The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://react.dev/link/react-devtools" + ), true; + try { + rendererID = hook.inject(internals), injectedHook = hook; + } catch (err) { + console.error("React instrumentation encountered an error: %s.", err); + } + return hook.checkDCE ? true : false; + } + function onCommitRoot$1(root, eventPriority) { + if (injectedHook && "function" === typeof injectedHook.onCommitFiberRoot) + try { + var didError = 128 === (root.current.flags & 128); + switch (eventPriority) { + case 2: + var schedulerPriority = ImmediatePriority; + break; + case 8: + schedulerPriority = UserBlockingPriority; + break; + case 32: + schedulerPriority = NormalPriority$1; + break; + case 268435456: + schedulerPriority = IdlePriority; + break; + default: + schedulerPriority = NormalPriority$1; + } + injectedHook.onCommitFiberRoot( + rendererID, + root, + schedulerPriority, + didError + ); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + } + function setIsStrictModeForDevtools(newIsStrictMode) { + "function" === typeof log && unstable_setDisableYieldValue(newIsStrictMode); + if (injectedHook && "function" === typeof injectedHook.setStrictMode) + try { + injectedHook.setStrictMode(rendererID, newIsStrictMode); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + } + function injectProfilingHooks(profilingHooks) { + injectedProfilingHooks = profilingHooks; + } + function markCommitStopped() { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markCommitStopped && injectedProfilingHooks.markCommitStopped(); + } + function markComponentRenderStarted(fiber) { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentRenderStarted && injectedProfilingHooks.markComponentRenderStarted(fiber); + } + function markComponentRenderStopped() { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentRenderStopped && injectedProfilingHooks.markComponentRenderStopped(); + } + function markRenderStarted(lanes) { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderStarted && injectedProfilingHooks.markRenderStarted(lanes); + } + function markRenderStopped() { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderStopped && injectedProfilingHooks.markRenderStopped(); + } + function markStateUpdateScheduled(fiber, lane) { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markStateUpdateScheduled && injectedProfilingHooks.markStateUpdateScheduled(fiber, lane); + } + function is(x, y) { + return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y; + } + function createCapturedValueAtFiber(value, source) { + if ("object" === typeof value && null !== value) { + var existing = CapturedStacks.get(value); + if (void 0 !== existing) return existing; + source = { + value, + source, + stack: getStackByFiberInDevAndProd(source) + }; + CapturedStacks.set(value, source); + return source; + } + return { + value, + source, + stack: getStackByFiberInDevAndProd(source) + }; + } + function pushTreeFork(workInProgress2, totalChildren) { + warnIfNotHydrating(); + forkStack[forkStackIndex++] = treeForkCount; + forkStack[forkStackIndex++] = treeForkProvider; + treeForkProvider = workInProgress2; + treeForkCount = totalChildren; + } + function pushTreeId(workInProgress2, totalChildren, index) { + warnIfNotHydrating(); + idStack[idStackIndex++] = treeContextId; + idStack[idStackIndex++] = treeContextOverflow; + idStack[idStackIndex++] = treeContextProvider; + treeContextProvider = workInProgress2; + var baseIdWithLeadingBit = treeContextId; + workInProgress2 = treeContextOverflow; + var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1; + baseIdWithLeadingBit &= ~(1 << baseLength); + index += 1; + var length = 32 - clz32(totalChildren) + baseLength; + if (30 < length) { + var numberOfOverflowBits = baseLength - baseLength % 5; + length = (baseIdWithLeadingBit & (1 << numberOfOverflowBits) - 1).toString(32); + baseIdWithLeadingBit >>= numberOfOverflowBits; + baseLength -= numberOfOverflowBits; + treeContextId = 1 << 32 - clz32(totalChildren) + baseLength | index << baseLength | baseIdWithLeadingBit; + treeContextOverflow = length + workInProgress2; + } else + treeContextId = 1 << length | index << baseLength | baseIdWithLeadingBit, treeContextOverflow = workInProgress2; + } + function pushMaterializedTreeId(workInProgress2) { + warnIfNotHydrating(); + null !== workInProgress2.return && (pushTreeFork(workInProgress2, 1), pushTreeId(workInProgress2, 1, 0)); + } + function popTreeContext(workInProgress2) { + for (; workInProgress2 === treeForkProvider; ) + treeForkProvider = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null, treeForkCount = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null; + for (; workInProgress2 === treeContextProvider; ) + treeContextProvider = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextOverflow = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextId = idStack[--idStackIndex], idStack[idStackIndex] = null; + } + function warnIfNotHydrating() { + isHydrating || console.error( + "Expected to be hydrating. This is a bug in React. Please file an issue." + ); + } + function requiredContext(c) { + null === c && console.error( + "Expected host context to exist. This error is likely caused by a bug in React. Please file an issue." + ); + return c; + } + function pushHostContainer(fiber, nextRootInstance) { + push(rootInstanceStackCursor, nextRootInstance, fiber); + push(contextFiberStackCursor, fiber, fiber); + push(contextStackCursor, null, fiber); + nextRootInstance = getRootHostContext(nextRootInstance); + pop(contextStackCursor, fiber); + push(contextStackCursor, nextRootInstance, fiber); + } + function popHostContainer(fiber) { + pop(contextStackCursor, fiber); + pop(contextFiberStackCursor, fiber); + pop(rootInstanceStackCursor, fiber); + } + function getHostContext() { + return requiredContext(contextStackCursor.current); + } + function pushHostContext(fiber) { + null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber, fiber); + var context = requiredContext(contextStackCursor.current), nextContext = getChildHostContext(context, fiber.type); + context !== nextContext && (push(contextFiberStackCursor, fiber, fiber), push(contextStackCursor, nextContext, fiber)); + } + function popHostContext(fiber) { + contextFiberStackCursor.current === fiber && (pop(contextStackCursor, fiber), pop(contextFiberStackCursor, fiber)); + hostTransitionProviderCursor.current === fiber && (pop(hostTransitionProviderCursor, fiber), isPrimaryRenderer ? HostTransitionContext._currentValue = NotPendingTransition : HostTransitionContext._currentValue2 = NotPendingTransition); + } + function findNotableNode(node, indent) { + return void 0 === node.serverProps && 0 === node.serverTail.length && 1 === node.children.length && 3 < node.distanceFromLeaf && node.distanceFromLeaf > 15 - indent ? findNotableNode(node.children[0], indent) : node; + } + function indentation(indent) { + return " " + " ".repeat(indent); + } + function added(indent) { + return "+ " + " ".repeat(indent); + } + function removed(indent) { + return "- " + " ".repeat(indent); + } + function describeFiberType(fiber) { + switch (fiber.tag) { + case 26: + case 27: + case 5: + return fiber.type; + case 16: + return "Lazy"; + case 13: + return "Suspense"; + case 19: + return "SuspenseList"; + case 0: + case 15: + return fiber = fiber.type, fiber.displayName || fiber.name || null; + case 11: + return fiber = fiber.type.render, fiber.displayName || fiber.name || null; + case 1: + return fiber = fiber.type, fiber.displayName || fiber.name || null; + default: + return null; + } + } + function describeTextNode(content, maxLength) { + return needsEscaping.test(content) ? (content = JSON.stringify(content), content.length > maxLength - 2 ? 8 > maxLength ? '{"..."}' : "{" + content.slice(0, maxLength - 7) + '..."}' : "{" + content + "}") : content.length > maxLength ? 5 > maxLength ? '{"..."}' : content.slice(0, maxLength - 3) + "..." : content; + } + function describeTextDiff(clientText, serverProps, indent) { + var maxLength = 120 - 2 * indent; + if (null === serverProps) + return added(indent) + describeTextNode(clientText, maxLength) + "\n"; + if ("string" === typeof serverProps) { + for (var firstDiff = 0; firstDiff < serverProps.length && firstDiff < clientText.length && serverProps.charCodeAt(firstDiff) === clientText.charCodeAt(firstDiff); firstDiff++) ; + firstDiff > maxLength - 8 && 10 < firstDiff && (clientText = "..." + clientText.slice(firstDiff - 8), serverProps = "..." + serverProps.slice(firstDiff - 8)); + return added(indent) + describeTextNode(clientText, maxLength) + "\n" + removed(indent) + describeTextNode(serverProps, maxLength) + "\n"; + } + return indentation(indent) + describeTextNode(clientText, maxLength) + "\n"; + } + function objectName(object) { + return Object.prototype.toString.call(object).replace(/^\[object (.*)\]$/, function(m, p0) { + return p0; + }); + } + function describeValue(value, maxLength) { + switch (typeof value) { + case "string": + return value = JSON.stringify(value), value.length > maxLength ? 5 > maxLength ? '"..."' : value.slice(0, maxLength - 4) + '..."' : value; + case "object": + if (null === value) return "null"; + if (isArrayImpl(value)) return "[...]"; + if (value.$$typeof === REACT_ELEMENT_TYPE) + return (maxLength = getComponentNameFromType(value.type)) ? "<" + maxLength + ">" : "<...>"; + var name = objectName(value); + if ("Object" === name) { + name = ""; + maxLength -= 2; + for (var propName in value) + if (value.hasOwnProperty(propName)) { + var jsonPropName = JSON.stringify(propName); + jsonPropName !== '"' + propName + '"' && (propName = jsonPropName); + maxLength -= propName.length - 2; + jsonPropName = describeValue( + value[propName], + 15 > maxLength ? maxLength : 15 + ); + maxLength -= jsonPropName.length; + if (0 > maxLength) { + name += "" === name ? "..." : ", ..."; + break; + } + name += ("" === name ? "" : ",") + propName + ":" + jsonPropName; + } + return "{" + name + "}"; + } + return name; + case "function": + return (maxLength = value.displayName || value.name) ? "function " + maxLength : "function"; + default: + return String(value); + } + } + function describePropValue(value, maxLength) { + return "string" !== typeof value || needsEscaping.test(value) ? "{" + describeValue(value, maxLength - 2) + "}" : value.length > maxLength - 2 ? 5 > maxLength ? '"..."' : '"' + value.slice(0, maxLength - 5) + '..."' : '"' + value + '"'; + } + function describeExpandedElement(type, props, rowPrefix) { + var remainingRowLength = 120 - rowPrefix.length - type.length, properties = [], propName; + for (propName in props) + if (props.hasOwnProperty(propName) && "children" !== propName) { + var propValue = describePropValue( + props[propName], + 120 - rowPrefix.length - propName.length - 1 + ); + remainingRowLength -= propName.length + propValue.length + 2; + properties.push(propName + "=" + propValue); + } + return 0 === properties.length ? rowPrefix + "<" + type + ">\n" : 0 < remainingRowLength ? rowPrefix + "<" + type + " " + properties.join(" ") + ">\n" : rowPrefix + "<" + type + "\n" + rowPrefix + " " + properties.join("\n" + rowPrefix + " ") + "\n" + rowPrefix + ">\n"; + } + function describePropertiesDiff(clientObject, serverObject, indent) { + var properties = "", remainingServerProperties = assign({}, serverObject), propName; + for (propName in clientObject) + if (clientObject.hasOwnProperty(propName)) { + delete remainingServerProperties[propName]; + var maxLength = 120 - 2 * indent - propName.length - 2, clientPropValue = describeValue(clientObject[propName], maxLength); + serverObject.hasOwnProperty(propName) ? (maxLength = describeValue(serverObject[propName], maxLength), properties += added(indent) + propName + ": " + clientPropValue + "\n", properties += removed(indent) + propName + ": " + maxLength + "\n") : properties += added(indent) + propName + ": " + clientPropValue + "\n"; + } + for (var _propName in remainingServerProperties) + remainingServerProperties.hasOwnProperty(_propName) && (clientObject = describeValue( + remainingServerProperties[_propName], + 120 - 2 * indent - _propName.length - 2 + ), properties += removed(indent) + _propName + ": " + clientObject + "\n"); + return properties; + } + function describeElementDiff(type, clientProps, serverProps, indent) { + var content = "", serverPropNames = /* @__PURE__ */ new Map(); + for (propName$jscomp$0 in serverProps) + serverProps.hasOwnProperty(propName$jscomp$0) && serverPropNames.set( + propName$jscomp$0.toLowerCase(), + propName$jscomp$0 + ); + if (1 === serverPropNames.size && serverPropNames.has("children")) + content += describeExpandedElement( + type, + clientProps, + indentation(indent) + ); + else { + for (var _propName2 in clientProps) + if (clientProps.hasOwnProperty(_propName2) && "children" !== _propName2) { + var maxLength$jscomp$0 = 120 - 2 * (indent + 1) - _propName2.length - 1, serverPropName = serverPropNames.get(_propName2.toLowerCase()); + if (void 0 !== serverPropName) { + serverPropNames.delete(_propName2.toLowerCase()); + var propName$jscomp$0 = clientProps[_propName2]; + serverPropName = serverProps[serverPropName]; + var clientPropValue = describePropValue( + propName$jscomp$0, + maxLength$jscomp$0 + ); + maxLength$jscomp$0 = describePropValue( + serverPropName, + maxLength$jscomp$0 + ); + "object" === typeof propName$jscomp$0 && null !== propName$jscomp$0 && "object" === typeof serverPropName && null !== serverPropName && "Object" === objectName(propName$jscomp$0) && "Object" === objectName(serverPropName) && (2 < Object.keys(propName$jscomp$0).length || 2 < Object.keys(serverPropName).length || -1 < clientPropValue.indexOf("...") || -1 < maxLength$jscomp$0.indexOf("...")) ? content += indentation(indent + 1) + _propName2 + "={{\n" + describePropertiesDiff( + propName$jscomp$0, + serverPropName, + indent + 2 + ) + indentation(indent + 1) + "}}\n" : (content += added(indent + 1) + _propName2 + "=" + clientPropValue + "\n", content += removed(indent + 1) + _propName2 + "=" + maxLength$jscomp$0 + "\n"); + } else + content += indentation(indent + 1) + _propName2 + "=" + describePropValue(clientProps[_propName2], maxLength$jscomp$0) + "\n"; + } + serverPropNames.forEach(function(propName) { + if ("children" !== propName) { + var maxLength = 120 - 2 * (indent + 1) - propName.length - 1; + content += removed(indent + 1) + propName + "=" + describePropValue(serverProps[propName], maxLength) + "\n"; + } + }); + content = "" === content ? indentation(indent) + "<" + type + ">\n" : indentation(indent) + "<" + type + "\n" + content + indentation(indent) + ">\n"; + } + type = serverProps.children; + clientProps = clientProps.children; + if ("string" === typeof type || "number" === typeof type || "bigint" === typeof type) { + serverPropNames = ""; + if ("string" === typeof clientProps || "number" === typeof clientProps || "bigint" === typeof clientProps) + serverPropNames = "" + clientProps; + content += describeTextDiff(serverPropNames, "" + type, indent + 1); + } else if ("string" === typeof clientProps || "number" === typeof clientProps || "bigint" === typeof clientProps) + content = null == type ? content + describeTextDiff("" + clientProps, null, indent + 1) : content + describeTextDiff("" + clientProps, void 0, indent + 1); + return content; + } + function describeSiblingFiber(fiber, indent) { + var type = describeFiberType(fiber); + if (null === type) { + type = ""; + for (fiber = fiber.child; fiber; ) + type += describeSiblingFiber(fiber, indent), fiber = fiber.sibling; + return type; + } + return indentation(indent) + "<" + type + ">\n"; + } + function describeNode(node, indent) { + var skipToNode = findNotableNode(node, indent); + if (skipToNode !== node && (1 !== node.children.length || node.children[0] !== skipToNode)) + return indentation(indent) + "...\n" + describeNode(skipToNode, indent + 1); + skipToNode = ""; + var debugInfo = node.fiber._debugInfo; + if (debugInfo) + for (var i = 0; i < debugInfo.length; i++) { + var serverComponentName = debugInfo[i].name; + "string" === typeof serverComponentName && (skipToNode += indentation(indent) + "<" + serverComponentName + ">\n", indent++); + } + debugInfo = ""; + i = node.fiber.pendingProps; + if (6 === node.fiber.tag) + debugInfo = describeTextDiff(i, node.serverProps, indent), indent++; + else if (serverComponentName = describeFiberType(node.fiber), null !== serverComponentName) + if (void 0 === node.serverProps) { + debugInfo = indent; + var maxLength = 120 - 2 * debugInfo - serverComponentName.length - 2, content = ""; + for (propName in i) + if (i.hasOwnProperty(propName) && "children" !== propName) { + var propValue = describePropValue(i[propName], 15); + maxLength -= propName.length + propValue.length + 2; + if (0 > maxLength) { + content += " ..."; + break; + } + content += " " + propName + "=" + propValue; + } + debugInfo = indentation(debugInfo) + "<" + serverComponentName + content + ">\n"; + indent++; + } else + null === node.serverProps ? (debugInfo = describeExpandedElement( + serverComponentName, + i, + added(indent) + ), indent++) : "string" === typeof node.serverProps ? console.error( + "Should not have matched a non HostText fiber to a Text node. This is a bug in React." + ) : (debugInfo = describeElementDiff( + serverComponentName, + i, + node.serverProps, + indent + ), indent++); + var propName = ""; + i = node.fiber.child; + for (serverComponentName = 0; i && serverComponentName < node.children.length; ) + maxLength = node.children[serverComponentName], maxLength.fiber === i ? (propName += describeNode(maxLength, indent), serverComponentName++) : propName += describeSiblingFiber(i, indent), i = i.sibling; + i && 0 < node.children.length && (propName += indentation(indent) + "...\n"); + i = node.serverTail; + null === node.serverProps && indent--; + for (node = 0; node < i.length; node++) + serverComponentName = i[node], propName = "string" === typeof serverComponentName ? propName + (removed(indent) + describeTextNode(serverComponentName, 120 - 2 * indent) + "\n") : propName + describeExpandedElement( + serverComponentName.type, + serverComponentName.props, + removed(indent) + ); + return skipToNode + debugInfo + propName; + } + function describeDiff(rootNode) { + try { + return "\n\n" + describeNode(rootNode, 0); + } catch (x) { + return ""; + } + } + function buildHydrationDiffNode(fiber, distanceFromLeaf) { + if (null === fiber.return) { + if (null === hydrationDiffRootDEV) + hydrationDiffRootDEV = { + fiber, + children: [], + serverProps: void 0, + serverTail: [], + distanceFromLeaf + }; + else { + if (hydrationDiffRootDEV.fiber !== fiber) + throw Error( + "Saw multiple hydration diff roots in a pass. This is a bug in React." + ); + hydrationDiffRootDEV.distanceFromLeaf > distanceFromLeaf && (hydrationDiffRootDEV.distanceFromLeaf = distanceFromLeaf); + } + return hydrationDiffRootDEV; + } + var siblings = buildHydrationDiffNode( + fiber.return, + distanceFromLeaf + 1 + ).children; + if (0 < siblings.length && siblings[siblings.length - 1].fiber === fiber) + return siblings = siblings[siblings.length - 1], siblings.distanceFromLeaf > distanceFromLeaf && (siblings.distanceFromLeaf = distanceFromLeaf), siblings; + distanceFromLeaf = { + fiber, + children: [], + serverProps: void 0, + serverTail: [], + distanceFromLeaf + }; + siblings.push(distanceFromLeaf); + return distanceFromLeaf; + } + function warnNonHydratedInstance(fiber, rejectedCandidate) { + didSuspendOrErrorDEV || (fiber = buildHydrationDiffNode(fiber, 0), fiber.serverProps = null, null !== rejectedCandidate && (rejectedCandidate = describeHydratableInstanceForDevWarnings(rejectedCandidate), fiber.serverTail.push(rejectedCandidate))); + } + function throwOnHydrationMismatch(fiber) { + var diff = "", diffRoot = hydrationDiffRootDEV; + null !== diffRoot && (hydrationDiffRootDEV = null, diff = describeDiff(diffRoot)); + queueHydrationError( + createCapturedValueAtFiber( + Error( + "Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:\n\n- A server/client branch `if (typeof window !== 'undefined')`.\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\n- Date formatting in a user's locale which doesn't match the server.\n- External changing data without sending a snapshot of it along with the HTML.\n- Invalid HTML tag nesting.\n\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\n\nhttps://react.dev/link/hydration-mismatch" + diff + ), + fiber + ) + ); + throw HydrationMismatchException; + } + function prepareToHydrateHostInstance(fiber, hostContext) { + if (!supportsHydration) + throw Error( + "Expected prepareToHydrateHostInstance() to never be called. This error is likely caused by a bug in React. Please file an issue." + ); + hydrateInstance( + fiber.stateNode, + fiber.type, + fiber.memoizedProps, + hostContext, + fiber + ) || throwOnHydrationMismatch(fiber); + } + function popToNextHostParent(fiber) { + for (hydrationParentFiber = fiber.return; hydrationParentFiber; ) + switch (hydrationParentFiber.tag) { + case 3: + case 27: + rootOrSingletonContext = true; + return; + case 5: + case 13: + rootOrSingletonContext = false; + return; + default: + hydrationParentFiber = hydrationParentFiber.return; + } + } + function popHydrationState(fiber) { + if (!supportsHydration || fiber !== hydrationParentFiber) return false; + if (!isHydrating) + return popToNextHostParent(fiber), isHydrating = true, false; + var shouldClear = false; + supportsSingletons ? 3 !== fiber.tag && 27 !== fiber.tag && (5 !== fiber.tag || shouldDeleteUnhydratedTailInstances(fiber.type) && !shouldSetTextContent(fiber.type, fiber.memoizedProps)) && (shouldClear = true) : 3 !== fiber.tag && (5 !== fiber.tag || shouldDeleteUnhydratedTailInstances(fiber.type) && !shouldSetTextContent(fiber.type, fiber.memoizedProps)) && (shouldClear = true); + if (shouldClear && nextHydratableInstance) { + for (shouldClear = nextHydratableInstance; shouldClear; ) { + var diffNode = buildHydrationDiffNode(fiber, 0), description = describeHydratableInstanceForDevWarnings(shouldClear); + diffNode.serverTail.push(description); + shouldClear = "Suspense" === description.type ? getNextHydratableInstanceAfterSuspenseInstance(shouldClear) : getNextHydratableSibling(shouldClear); + } + throwOnHydrationMismatch(fiber); + } + popToNextHostParent(fiber); + if (13 === fiber.tag) { + if (!supportsHydration) + throw Error( + "Expected skipPastDehydratedSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue." + ); + fiber = fiber.memoizedState; + fiber = null !== fiber ? fiber.dehydrated : null; + if (!fiber) + throw Error( + "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue." + ); + nextHydratableInstance = getNextHydratableInstanceAfterSuspenseInstance(fiber); + } else + nextHydratableInstance = hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null; + return true; + } + function resetHydrationState() { + supportsHydration && (nextHydratableInstance = hydrationParentFiber = null, didSuspendOrErrorDEV = isHydrating = false); + } + function queueHydrationError(error) { + null === hydrationErrors ? hydrationErrors = [error] : hydrationErrors.push(error); + } + function emitPendingHydrationWarnings() { + var diffRoot = hydrationDiffRootDEV; + null !== diffRoot && (hydrationDiffRootDEV = null, diffRoot = describeDiff(diffRoot), console.error( + "A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:\n\n- A server/client branch `if (typeof window !== 'undefined')`.\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\n- Date formatting in a user's locale which doesn't match the server.\n- External changing data without sending a snapshot of it along with the HTML.\n- Invalid HTML tag nesting.\n\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\n\n%s%s", + "https://react.dev/link/hydration-mismatch", + diffRoot + )); + } + function finishQueueingConcurrentUpdates() { + for (var endIndex = concurrentQueuesIndex, i = concurrentlyUpdatedLanes = concurrentQueuesIndex = 0; i < endIndex; ) { + var fiber = concurrentQueues[i]; + concurrentQueues[i++] = null; + var queue = concurrentQueues[i]; + concurrentQueues[i++] = null; + var update = concurrentQueues[i]; + concurrentQueues[i++] = null; + var lane = concurrentQueues[i]; + concurrentQueues[i++] = null; + if (null !== queue && null !== update) { + var pending = queue.pending; + null === pending ? update.next = update : (update.next = pending.next, pending.next = update); + queue.pending = update; + } + 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane); + } + } + function enqueueUpdate$1(fiber, queue, update, lane) { + concurrentQueues[concurrentQueuesIndex++] = fiber; + concurrentQueues[concurrentQueuesIndex++] = queue; + concurrentQueues[concurrentQueuesIndex++] = update; + concurrentQueues[concurrentQueuesIndex++] = lane; + concurrentlyUpdatedLanes |= lane; + fiber.lanes |= lane; + fiber = fiber.alternate; + null !== fiber && (fiber.lanes |= lane); + } + function enqueueConcurrentHookUpdate(fiber, queue, update, lane) { + enqueueUpdate$1(fiber, queue, update, lane); + return getRootForUpdatedFiber(fiber); + } + function enqueueConcurrentRenderForLane(fiber, lane) { + enqueueUpdate$1(fiber, null, null, lane); + return getRootForUpdatedFiber(fiber); + } + function markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) { + sourceFiber.lanes |= lane; + var alternate = sourceFiber.alternate; + null !== alternate && (alternate.lanes |= lane); + for (var isHidden = false, parent = sourceFiber.return; null !== parent; ) + parent.childLanes |= lane, alternate = parent.alternate, null !== alternate && (alternate.childLanes |= lane), 22 === parent.tag && (sourceFiber = parent.stateNode, null === sourceFiber || sourceFiber._visibility & 1 || (isHidden = true)), sourceFiber = parent, parent = parent.return; + isHidden && null !== update && 3 === sourceFiber.tag && (parent = sourceFiber.stateNode, isHidden = 31 - clz32(lane), parent = parent.hiddenUpdates, sourceFiber = parent[isHidden], null === sourceFiber ? parent[isHidden] = [update] : sourceFiber.push(update), update.lane = lane | 536870912); + } + function getRootForUpdatedFiber(sourceFiber) { + if (nestedUpdateCount > NESTED_UPDATE_LIMIT) + throw nestedPassiveUpdateCount = nestedUpdateCount = 0, rootWithPassiveNestedUpdates = rootWithNestedUpdates = null, Error( + "Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops." + ); + nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT && (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, console.error( + "Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render." + )); + null === sourceFiber.alternate && 0 !== (sourceFiber.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber); + for (var node = sourceFiber, parent = node.return; null !== parent; ) + null === node.alternate && 0 !== (node.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber), node = parent, parent = node.return; + return 3 === node.tag ? node.stateNode : null; + } + function pushNestedEffectDurations() { + var prevEffectDuration = profilerEffectDuration; + profilerEffectDuration = 0; + return prevEffectDuration; + } + function popNestedEffectDurations(prevEffectDuration) { + var elapsedTime = profilerEffectDuration; + profilerEffectDuration = prevEffectDuration; + return elapsedTime; + } + function bubbleNestedEffectDurations(prevEffectDuration) { + var elapsedTime = profilerEffectDuration; + profilerEffectDuration += prevEffectDuration; + return elapsedTime; + } + function startProfilerTimer(fiber) { + profilerStartTime = now(); + 0 > fiber.actualStartTime && (fiber.actualStartTime = profilerStartTime); + } + function stopProfilerTimerIfRunningAndRecordDuration(fiber) { + if (0 <= profilerStartTime) { + var elapsedTime = now() - profilerStartTime; + fiber.actualDuration += elapsedTime; + fiber.selfBaseDuration = elapsedTime; + profilerStartTime = -1; + } + } + function stopProfilerTimerIfRunningAndRecordIncompleteDuration(fiber) { + if (0 <= profilerStartTime) { + var elapsedTime = now() - profilerStartTime; + fiber.actualDuration += elapsedTime; + profilerStartTime = -1; + } + } + function recordEffectDuration() { + if (0 <= profilerStartTime) { + var elapsedTime = now() - profilerStartTime; + profilerStartTime = -1; + profilerEffectDuration += elapsedTime; + } + } + function startEffectTimer() { + profilerStartTime = now(); + } + function transferActualDuration(fiber) { + for (var child = fiber.child; child; ) + fiber.actualDuration += child.actualDuration, child = child.sibling; + } + function ensureRootIsScheduled(root) { + root !== lastScheduledRoot && null === root.next && (null === lastScheduledRoot ? firstScheduledRoot = lastScheduledRoot = root : lastScheduledRoot = lastScheduledRoot.next = root); + mightHavePendingSyncWork = true; + null !== ReactSharedInternals.actQueue ? didScheduleMicrotask_act || (didScheduleMicrotask_act = true, scheduleImmediateTask(processRootScheduleInMicrotask)) : didScheduleMicrotask || (didScheduleMicrotask = true, scheduleImmediateTask(processRootScheduleInMicrotask)); + } + function flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) { + if (!isFlushingWork && mightHavePendingSyncWork) { + isFlushingWork = true; + do { + var didPerformSomeWork = false; + for (var root = firstScheduledRoot; null !== root; ) { + if (!onlyLegacy) + if (0 !== syncTransitionLanes) { + var pendingLanes = root.pendingLanes; + if (0 === pendingLanes) var nextLanes = 0; + else { + var suspendedLanes = root.suspendedLanes, pingedLanes = root.pingedLanes; + nextLanes = (1 << 31 - clz32(42 | syncTransitionLanes) + 1) - 1; + nextLanes &= pendingLanes & ~(suspendedLanes & ~pingedLanes); + nextLanes = nextLanes & 201326677 ? nextLanes & 201326677 | 1 : nextLanes ? nextLanes | 2 : 0; + } + 0 !== nextLanes && (didPerformSomeWork = true, performSyncWorkOnRoot(root, nextLanes)); + } else + nextLanes = workInProgressRootRenderLanes, nextLanes = getNextLanes( + root, + root === workInProgressRoot ? nextLanes : 0 + ), 0 === (nextLanes & 3) || checkIfRootIsPrerendering(root, nextLanes) || (didPerformSomeWork = true, performSyncWorkOnRoot(root, nextLanes)); + root = root.next; + } + } while (didPerformSomeWork); + isFlushingWork = false; + } + } + function processRootScheduleInMicrotask() { + mightHavePendingSyncWork = didScheduleMicrotask_act = didScheduleMicrotask = false; + var syncTransitionLanes = 0; + 0 !== currentEventTransitionLane && (shouldAttemptEagerTransition() && (syncTransitionLanes = currentEventTransitionLane), currentEventTransitionLane = 0); + for (var currentTime = now$1(), prev = null, root = firstScheduledRoot; null !== root; ) { + var next = root.next, nextLanes = scheduleTaskForRootDuringMicrotask(root, currentTime); + if (0 === nextLanes) + root.next = null, null === prev ? firstScheduledRoot = next : prev.next = next, null === next && (lastScheduledRoot = prev); + else if (prev = root, 0 !== syncTransitionLanes || 0 !== (nextLanes & 3)) + mightHavePendingSyncWork = true; + root = next; + } + flushSyncWorkAcrossRoots_impl(syncTransitionLanes, false); + } + function scheduleTaskForRootDuringMicrotask(root, currentTime) { + for (var suspendedLanes = root.suspendedLanes, pingedLanes = root.pingedLanes, expirationTimes = root.expirationTimes, lanes = root.pendingLanes & -62914561; 0 < lanes; ) { + var index = 31 - clz32(lanes), lane = 1 << index, expirationTime = expirationTimes[index]; + if (-1 === expirationTime) { + if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes)) + expirationTimes[index] = computeExpirationTime(lane, currentTime); + } else expirationTime <= currentTime && (root.expiredLanes |= lane); + lanes &= ~lane; + } + currentTime = workInProgressRoot; + suspendedLanes = workInProgressRootRenderLanes; + suspendedLanes = getNextLanes( + root, + root === currentTime ? suspendedLanes : 0 + ); + pingedLanes = root.callbackNode; + if (0 === suspendedLanes || root === currentTime && workInProgressSuspendedReason === SuspendedOnData || null !== root.cancelPendingCommit) + return null !== pingedLanes && cancelCallback(pingedLanes), root.callbackNode = null, root.callbackPriority = 0; + if (0 === (suspendedLanes & 3) || checkIfRootIsPrerendering(root, suspendedLanes)) { + currentTime = suspendedLanes & -suspendedLanes; + if (currentTime !== root.callbackPriority || null !== ReactSharedInternals.actQueue && pingedLanes !== fakeActCallbackNode$1) + cancelCallback(pingedLanes); + else return currentTime; + switch (lanesToEventPriority(suspendedLanes)) { + case 2: + case 8: + suspendedLanes = UserBlockingPriority; + break; + case 32: + suspendedLanes = NormalPriority$1; + break; + case 268435456: + suspendedLanes = IdlePriority; + break; + default: + suspendedLanes = NormalPriority$1; + } + pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root); + null !== ReactSharedInternals.actQueue ? (ReactSharedInternals.actQueue.push(pingedLanes), suspendedLanes = fakeActCallbackNode$1) : suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes); + root.callbackPriority = currentTime; + root.callbackNode = suspendedLanes; + return currentTime; + } + null !== pingedLanes && cancelCallback(pingedLanes); + root.callbackPriority = 2; + root.callbackNode = null; + return 2; + } + function performWorkOnRootViaSchedulerTask(root, didTimeout) { + nestedUpdateScheduled = currentUpdateIsNested = false; + var originalCallbackNode = root.callbackNode; + if (flushPassiveEffects() && root.callbackNode !== originalCallbackNode) + return null; + var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes; + workInProgressRootRenderLanes$jscomp$0 = getNextLanes( + root, + root === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0 + ); + if (0 === workInProgressRootRenderLanes$jscomp$0) return null; + performWorkOnRoot( + root, + workInProgressRootRenderLanes$jscomp$0, + didTimeout + ); + scheduleTaskForRootDuringMicrotask(root, now$1()); + return null != root.callbackNode && root.callbackNode === originalCallbackNode ? performWorkOnRootViaSchedulerTask.bind(null, root) : null; + } + function performSyncWorkOnRoot(root, lanes) { + if (flushPassiveEffects()) return null; + currentUpdateIsNested = nestedUpdateScheduled; + nestedUpdateScheduled = false; + performWorkOnRoot(root, lanes, true); + } + function cancelCallback(callbackNode) { + callbackNode !== fakeActCallbackNode$1 && null !== callbackNode && cancelCallback$1(callbackNode); + } + function scheduleImmediateTask(cb) { + null !== ReactSharedInternals.actQueue && ReactSharedInternals.actQueue.push(function() { + cb(); + return null; + }); + supportsMicrotasks ? scheduleMicrotask(function() { + (executionContext & (RenderContext | CommitContext)) !== NoContext ? scheduleCallback$3(ImmediatePriority, cb) : cb(); + }) : scheduleCallback$3(ImmediatePriority, cb); + } + function requestTransitionLane() { + 0 === currentEventTransitionLane && (currentEventTransitionLane = claimNextTransitionLane()); + return currentEventTransitionLane; + } + function entangleAsyncAction(transition, thenable) { + if (null === currentEntangledListeners) { + var entangledListeners = currentEntangledListeners = []; + currentEntangledPendingCount = 0; + currentEntangledLane = requestTransitionLane(); + currentEntangledActionThenable = { + status: "pending", + value: void 0, + then: function(resolve) { + entangledListeners.push(resolve); + } + }; + } + currentEntangledPendingCount++; + thenable.then(pingEngtangledActionScope, pingEngtangledActionScope); + return thenable; + } + function pingEngtangledActionScope() { + if (0 === --currentEntangledPendingCount && null !== currentEntangledListeners) { + null !== currentEntangledActionThenable && (currentEntangledActionThenable.status = "fulfilled"); + var listeners = currentEntangledListeners; + currentEntangledListeners = null; + currentEntangledLane = 0; + currentEntangledActionThenable = null; + for (var i = 0; i < listeners.length; i++) (0, listeners[i])(); + } + } + function chainThenableValue(thenable, result) { + var listeners = [], thenableWithOverride = { + status: "pending", + value: null, + reason: null, + then: function(resolve) { + listeners.push(resolve); + } + }; + thenable.then( + function() { + thenableWithOverride.status = "fulfilled"; + thenableWithOverride.value = result; + for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result); + }, + function(error) { + thenableWithOverride.status = "rejected"; + thenableWithOverride.reason = error; + for (error = 0; error < listeners.length; error++) + (0, listeners[error])(void 0); + } + ); + return thenableWithOverride; + } + function initializeUpdateQueue(fiber) { + fiber.updateQueue = { + baseState: fiber.memoizedState, + firstBaseUpdate: null, + lastBaseUpdate: null, + shared: { pending: null, lanes: 0, hiddenCallbacks: null }, + callbacks: null + }; + } + function cloneUpdateQueue(current2, workInProgress2) { + current2 = current2.updateQueue; + workInProgress2.updateQueue === current2 && (workInProgress2.updateQueue = { + baseState: current2.baseState, + firstBaseUpdate: current2.firstBaseUpdate, + lastBaseUpdate: current2.lastBaseUpdate, + shared: current2.shared, + callbacks: null + }); + } + function createUpdate(lane) { + return { + lane, + tag: UpdateState, + payload: null, + callback: null, + next: null + }; + } + function enqueueUpdate(fiber, update, lane) { + var updateQueue = fiber.updateQueue; + if (null === updateQueue) return null; + updateQueue = updateQueue.shared; + if (currentlyProcessingQueue === updateQueue && !didWarnUpdateInsideUpdate) { + var componentName2 = getComponentNameFromFiber(fiber); + console.error( + "An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback.\n\nPlease update the following component: %s", + componentName2 + ); + didWarnUpdateInsideUpdate = true; + } + if ((executionContext & RenderContext) !== NoContext) + return componentName2 = updateQueue.pending, null === componentName2 ? update.next = update : (update.next = componentName2.next, componentName2.next = update), updateQueue.pending = update, update = getRootForUpdatedFiber(fiber), markUpdateLaneFromFiberToRoot(fiber, null, lane), update; + enqueueUpdate$1(fiber, updateQueue, update, lane); + return getRootForUpdatedFiber(fiber); + } + function entangleTransitions(root, fiber, lane) { + fiber = fiber.updateQueue; + if (null !== fiber && (fiber = fiber.shared, 0 !== (lane & 4194176))) { + var queueLanes = fiber.lanes; + queueLanes &= root.pendingLanes; + lane |= queueLanes; + fiber.lanes = lane; + markRootEntangled(root, lane); + } + } + function enqueueCapturedUpdate(workInProgress2, capturedUpdate) { + var queue = workInProgress2.updateQueue, current2 = workInProgress2.alternate; + if (null !== current2 && (current2 = current2.updateQueue, queue === current2)) { + var newFirst = null, newLast = null; + queue = queue.firstBaseUpdate; + if (null !== queue) { + do { + var clone = { + lane: queue.lane, + tag: queue.tag, + payload: queue.payload, + callback: null, + next: null + }; + null === newLast ? newFirst = newLast = clone : newLast = newLast.next = clone; + queue = queue.next; + } while (null !== queue); + null === newLast ? newFirst = newLast = capturedUpdate : newLast = newLast.next = capturedUpdate; + } else newFirst = newLast = capturedUpdate; + queue = { + baseState: current2.baseState, + firstBaseUpdate: newFirst, + lastBaseUpdate: newLast, + shared: current2.shared, + callbacks: current2.callbacks + }; + workInProgress2.updateQueue = queue; + return; + } + workInProgress2 = queue.lastBaseUpdate; + null === workInProgress2 ? queue.firstBaseUpdate = capturedUpdate : workInProgress2.next = capturedUpdate; + queue.lastBaseUpdate = capturedUpdate; + } + function suspendIfUpdateReadFromEntangledAsyncAction() { + if (didReadFromEntangledAsyncAction) { + var entangledActionThenable = currentEntangledActionThenable; + if (null !== entangledActionThenable) throw entangledActionThenable; + } + } + function processUpdateQueue(workInProgress2, props, instance$jscomp$0, renderLanes2) { + didReadFromEntangledAsyncAction = false; + var queue = workInProgress2.updateQueue; + hasForceUpdate = false; + currentlyProcessingQueue = queue.shared; + var firstBaseUpdate = queue.firstBaseUpdate, lastBaseUpdate = queue.lastBaseUpdate, pendingQueue = queue.shared.pending; + if (null !== pendingQueue) { + queue.shared.pending = null; + var lastPendingUpdate = pendingQueue, firstPendingUpdate = lastPendingUpdate.next; + lastPendingUpdate.next = null; + null === lastBaseUpdate ? firstBaseUpdate = firstPendingUpdate : lastBaseUpdate.next = firstPendingUpdate; + lastBaseUpdate = lastPendingUpdate; + var current2 = workInProgress2.alternate; + null !== current2 && (current2 = current2.updateQueue, pendingQueue = current2.lastBaseUpdate, pendingQueue !== lastBaseUpdate && (null === pendingQueue ? current2.firstBaseUpdate = firstPendingUpdate : pendingQueue.next = firstPendingUpdate, current2.lastBaseUpdate = lastPendingUpdate)); + } + if (null !== firstBaseUpdate) { + var newState = queue.baseState; + lastBaseUpdate = 0; + current2 = firstPendingUpdate = lastPendingUpdate = null; + pendingQueue = firstBaseUpdate; + do { + var updateLane = pendingQueue.lane & -536870913, isHiddenUpdate = updateLane !== pendingQueue.lane; + if (isHiddenUpdate ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes2 & updateLane) === updateLane) { + 0 !== updateLane && updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction = true); + null !== current2 && (current2 = current2.next = { + lane: 0, + tag: pendingQueue.tag, + payload: pendingQueue.payload, + callback: null, + next: null + }); + a: { + updateLane = workInProgress2; + var partialState = pendingQueue; + var nextProps = props, instance = instance$jscomp$0; + switch (partialState.tag) { + case ReplaceState: + partialState = partialState.payload; + if ("function" === typeof partialState) { + isDisallowedContextReadInDEV = true; + var nextState = partialState.call( + instance, + newState, + nextProps + ); + if (updateLane.mode & 8) { + setIsStrictModeForDevtools(true); + try { + partialState.call(instance, newState, nextProps); + } finally { + setIsStrictModeForDevtools(false); + } + } + isDisallowedContextReadInDEV = false; + newState = nextState; + break a; + } + newState = partialState; + break a; + case CaptureUpdate: + updateLane.flags = updateLane.flags & -65537 | 128; + case UpdateState: + nextState = partialState.payload; + if ("function" === typeof nextState) { + isDisallowedContextReadInDEV = true; + partialState = nextState.call( + instance, + newState, + nextProps + ); + if (updateLane.mode & 8) { + setIsStrictModeForDevtools(true); + try { + nextState.call(instance, newState, nextProps); + } finally { + setIsStrictModeForDevtools(false); + } + } + isDisallowedContextReadInDEV = false; + } else partialState = nextState; + if (null === partialState || void 0 === partialState) break a; + newState = assign({}, newState, partialState); + break a; + case ForceUpdate: + hasForceUpdate = true; + } + } + updateLane = pendingQueue.callback; + null !== updateLane && (workInProgress2.flags |= 64, isHiddenUpdate && (workInProgress2.flags |= 8192), isHiddenUpdate = queue.callbacks, null === isHiddenUpdate ? queue.callbacks = [updateLane] : isHiddenUpdate.push(updateLane)); + } else + isHiddenUpdate = { + lane: updateLane, + tag: pendingQueue.tag, + payload: pendingQueue.payload, + callback: pendingQueue.callback, + next: null + }, null === current2 ? (firstPendingUpdate = current2 = isHiddenUpdate, lastPendingUpdate = newState) : current2 = current2.next = isHiddenUpdate, lastBaseUpdate |= updateLane; + pendingQueue = pendingQueue.next; + if (null === pendingQueue) + if (pendingQueue = queue.shared.pending, null === pendingQueue) + break; + else + isHiddenUpdate = pendingQueue, pendingQueue = isHiddenUpdate.next, isHiddenUpdate.next = null, queue.lastBaseUpdate = isHiddenUpdate, queue.shared.pending = null; + } while (1); + null === current2 && (lastPendingUpdate = newState); + queue.baseState = lastPendingUpdate; + queue.firstBaseUpdate = firstPendingUpdate; + queue.lastBaseUpdate = current2; + null === firstBaseUpdate && (queue.shared.lanes = 0); + workInProgressRootSkippedLanes |= lastBaseUpdate; + workInProgress2.lanes = lastBaseUpdate; + workInProgress2.memoizedState = newState; + } + currentlyProcessingQueue = null; + } + function callCallback(callback, context) { + if ("function" !== typeof callback) + throw Error( + "Invalid argument passed as callback. Expected a function. Instead received: " + callback + ); + callback.call(context); + } + function commitHiddenCallbacks(updateQueue, context) { + var hiddenCallbacks = updateQueue.shared.hiddenCallbacks; + if (null !== hiddenCallbacks) + for (updateQueue.shared.hiddenCallbacks = null, updateQueue = 0; updateQueue < hiddenCallbacks.length; updateQueue++) + callCallback(hiddenCallbacks[updateQueue], context); + } + function commitCallbacks(updateQueue, context) { + var callbacks = updateQueue.callbacks; + if (null !== callbacks) + for (updateQueue.callbacks = null, updateQueue = 0; updateQueue < callbacks.length; updateQueue++) + callCallback(callbacks[updateQueue], context); + } + function shallowEqual(objA, objB) { + if (objectIs(objA, objB)) return true; + if ("object" !== typeof objA || null === objA || "object" !== typeof objB || null === objB) + return false; + var keysA = Object.keys(objA), keysB = Object.keys(objB); + if (keysA.length !== keysB.length) return false; + for (keysB = 0; keysB < keysA.length; keysB++) { + var currentKey = keysA[keysB]; + if (!hasOwnProperty.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey])) + return false; + } + return true; + } + function createThenableState() { + return { didWarnAboutUncachedPromise: false, thenables: [] }; + } + function isThenableResolved(thenable) { + thenable = thenable.status; + return "fulfilled" === thenable || "rejected" === thenable; + } + function noop$1() { + } + function trackUsedThenable(thenableState2, thenable, index) { + null !== ReactSharedInternals.actQueue && (ReactSharedInternals.didUsePromise = true); + var trackedThenables = thenableState2.thenables; + index = trackedThenables[index]; + void 0 === index ? trackedThenables.push(thenable) : index !== thenable && (thenableState2.didWarnAboutUncachedPromise || (thenableState2.didWarnAboutUncachedPromise = true, console.error( + "A component was suspended by an uncached promise. Creating promises inside a Client Component or hook is not yet supported, except via a Suspense-compatible library or framework." + )), thenable.then(noop$1, noop$1), thenable = index); + switch (thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2; + default: + if ("string" === typeof thenable.status) + thenable.then(noop$1, noop$1); + else { + thenableState2 = workInProgressRoot; + if (null !== thenableState2 && 100 < thenableState2.shellSuspendCounter) + throw Error( + "async/await is not yet supported in Client Components, only Server Components. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server." + ); + thenableState2 = thenable; + thenableState2.status = "pending"; + thenableState2.then( + function(fulfilledValue) { + if ("pending" === thenable.status) { + var fulfilledThenable = thenable; + fulfilledThenable.status = "fulfilled"; + fulfilledThenable.value = fulfilledValue; + } + }, + function(error) { + if ("pending" === thenable.status) { + var rejectedThenable = thenable; + rejectedThenable.status = "rejected"; + rejectedThenable.reason = error; + } + } + ); + } + switch (thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2; + } + suspendedThenable = thenable; + needsToResetSuspendedThenableDEV = true; + throw SuspenseException; + } + } + function getSuspendedThenable() { + if (null === suspendedThenable) + throw Error( + "Expected a suspended thenable. This is a bug in React. Please file an issue." + ); + var thenable = suspendedThenable; + suspendedThenable = null; + needsToResetSuspendedThenableDEV = false; + return thenable; + } + function checkIfUseWrappedInAsyncCatch(rejectedReason) { + if (rejectedReason === SuspenseException) + throw Error( + "Hooks are not supported inside an async component. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server." + ); + } + function pushDebugInfo(debugInfo) { + var previousDebugInfo = currentDebugInfo; + null != debugInfo && (currentDebugInfo = null === previousDebugInfo ? debugInfo : previousDebugInfo.concat(debugInfo)); + return previousDebugInfo; + } + function validateFragmentProps(element, fiber, returnFiber) { + for (var keys = Object.keys(element.props), i = 0; i < keys.length; i++) { + var key = keys[i]; + if ("children" !== key && "key" !== key) { + null === fiber && (fiber = createFiberFromElement(element, returnFiber.mode, 0), fiber._debugInfo = currentDebugInfo, fiber.return = returnFiber); + runWithFiberInDEV( + fiber, + function(erroredKey) { + console.error( + "Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", + erroredKey + ); + }, + key + ); + break; + } + } + } + function unwrapThenable(thenable) { + var index = thenableIndexCounter$1; + thenableIndexCounter$1 += 1; + null === thenableState$1 && (thenableState$1 = createThenableState()); + return trackUsedThenable(thenableState$1, thenable, index); + } + function coerceRef(workInProgress2, element) { + element = element.props.ref; + workInProgress2.ref = void 0 !== element ? element : null; + } + function throwOnInvalidObjectType(returnFiber, newChild) { + if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE) + throw Error( + 'A React Element from an older version of React was rendered. This is not supported. It can happen if:\n- Multiple copies of the "react" package is used.\n- A library pre-bundled an old copy of "react" or "react/jsx-runtime".\n- A compiler tries to "inline" JSX instead of using the runtime.' + ); + returnFiber = Object.prototype.toString.call(newChild); + throw Error( + "Objects are not valid as a React child (found: " + ("[object Object]" === returnFiber ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : returnFiber) + "). If you meant to render a collection of children, use an array instead." + ); + } + function warnOnFunctionType(returnFiber, invalidChild) { + var parentName = getComponentNameFromFiber(returnFiber) || "Component"; + ownerHasFunctionTypeWarning[parentName] || (ownerHasFunctionTypeWarning[parentName] = true, invalidChild = invalidChild.displayName || invalidChild.name || "Component", 3 === returnFiber.tag ? console.error( + "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\n root.render(%s)", + invalidChild, + invalidChild, + invalidChild + ) : console.error( + "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\n <%s>{%s}</%s>", + invalidChild, + invalidChild, + parentName, + invalidChild, + parentName + )); + } + function warnOnSymbolType(returnFiber, invalidChild) { + var parentName = getComponentNameFromFiber(returnFiber) || "Component"; + ownerHasSymbolTypeWarning[parentName] || (ownerHasSymbolTypeWarning[parentName] = true, invalidChild = String(invalidChild), 3 === returnFiber.tag ? console.error( + "Symbols are not valid as a React child.\n root.render(%s)", + invalidChild + ) : console.error( + "Symbols are not valid as a React child.\n <%s>%s</%s>", + parentName, + invalidChild, + parentName + )); + } + function createChildReconciler(shouldTrackSideEffects) { + function deleteChild(returnFiber, childToDelete) { + if (shouldTrackSideEffects) { + var deletions = returnFiber.deletions; + null === deletions ? (returnFiber.deletions = [childToDelete], returnFiber.flags |= 16) : deletions.push(childToDelete); + } + } + function deleteRemainingChildren(returnFiber, currentFirstChild) { + if (!shouldTrackSideEffects) return null; + for (; null !== currentFirstChild; ) + deleteChild(returnFiber, currentFirstChild), currentFirstChild = currentFirstChild.sibling; + return null; + } + function mapRemainingChildren(currentFirstChild) { + for (var existingChildren = /* @__PURE__ */ new Map(); null !== currentFirstChild; ) + null !== currentFirstChild.key ? existingChildren.set(currentFirstChild.key, currentFirstChild) : existingChildren.set(currentFirstChild.index, currentFirstChild), currentFirstChild = currentFirstChild.sibling; + return existingChildren; + } + function useFiber(fiber, pendingProps) { + fiber = createWorkInProgress(fiber, pendingProps); + fiber.index = 0; + fiber.sibling = null; + return fiber; + } + function placeChild(newFiber, lastPlacedIndex, newIndex) { + newFiber.index = newIndex; + if (!shouldTrackSideEffects) + return newFiber.flags |= 1048576, lastPlacedIndex; + newIndex = newFiber.alternate; + if (null !== newIndex) + return newIndex = newIndex.index, newIndex < lastPlacedIndex ? (newFiber.flags |= 33554434, lastPlacedIndex) : newIndex; + newFiber.flags |= 33554434; + return lastPlacedIndex; + } + function placeSingleChild(newFiber) { + shouldTrackSideEffects && null === newFiber.alternate && (newFiber.flags |= 33554434); + return newFiber; + } + function updateTextNode(returnFiber, current2, textContent, lanes) { + if (null === current2 || 6 !== current2.tag) + return current2 = createFiberFromText( + textContent, + returnFiber.mode, + lanes + ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugInfo = currentDebugInfo, current2; + current2 = useFiber(current2, textContent); + current2.return = returnFiber; + current2._debugInfo = currentDebugInfo; + return current2; + } + function updateElement(returnFiber, current2, element, lanes) { + var elementType = element.type; + if (elementType === REACT_FRAGMENT_TYPE) + return current2 = updateFragment( + returnFiber, + current2, + element.props.children, + lanes, + element.key + ), validateFragmentProps(element, current2, returnFiber), current2; + if (null !== current2 && (current2.elementType === elementType || isCompatibleFamilyForHotReloading(current2, element) || "object" === typeof elementType && null !== elementType && elementType.$$typeof === REACT_LAZY_TYPE && callLazyInitInDEV(elementType) === current2.type)) + return current2 = useFiber(current2, element.props), coerceRef(current2, element), current2.return = returnFiber, current2._debugOwner = element._owner, current2._debugInfo = currentDebugInfo, current2; + current2 = createFiberFromElement(element, returnFiber.mode, lanes); + coerceRef(current2, element); + current2.return = returnFiber; + current2._debugInfo = currentDebugInfo; + return current2; + } + function updatePortal(returnFiber, current2, portal, lanes) { + if (null === current2 || 4 !== current2.tag || current2.stateNode.containerInfo !== portal.containerInfo || current2.stateNode.implementation !== portal.implementation) + return current2 = createFiberFromPortal(portal, returnFiber.mode, lanes), current2.return = returnFiber, current2._debugInfo = currentDebugInfo, current2; + current2 = useFiber(current2, portal.children || []); + current2.return = returnFiber; + current2._debugInfo = currentDebugInfo; + return current2; + } + function updateFragment(returnFiber, current2, fragment, lanes, key) { + if (null === current2 || 7 !== current2.tag) + return current2 = createFiberFromFragment( + fragment, + returnFiber.mode, + lanes, + key + ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugInfo = currentDebugInfo, current2; + current2 = useFiber(current2, fragment); + current2.return = returnFiber; + current2._debugInfo = currentDebugInfo; + return current2; + } + function createChild(returnFiber, newChild, lanes) { + if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) + return newChild = createFiberFromText( + "" + newChild, + returnFiber.mode, + lanes + ), newChild.return = returnFiber, newChild._debugOwner = returnFiber, newChild._debugInfo = currentDebugInfo, newChild; + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return lanes = createFiberFromElement( + newChild, + returnFiber.mode, + lanes + ), coerceRef(lanes, newChild), lanes.return = returnFiber, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes; + case REACT_PORTAL_TYPE: + return newChild = createFiberFromPortal( + newChild, + returnFiber.mode, + lanes + ), newChild.return = returnFiber, newChild._debugInfo = currentDebugInfo, newChild; + case REACT_LAZY_TYPE: + var _prevDebugInfo = pushDebugInfo(newChild._debugInfo); + newChild = callLazyInitInDEV(newChild); + returnFiber = createChild(returnFiber, newChild, lanes); + currentDebugInfo = _prevDebugInfo; + return returnFiber; + } + if (isArrayImpl(newChild) || getIteratorFn(newChild)) + return lanes = createFiberFromFragment( + newChild, + returnFiber.mode, + lanes, + null + ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes; + if ("function" === typeof newChild.then) + return _prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = createChild( + returnFiber, + unwrapThenable(newChild), + lanes + ), currentDebugInfo = _prevDebugInfo, returnFiber; + if (newChild.$$typeof === REACT_CONTEXT_TYPE) + return createChild( + returnFiber, + readContextDuringReconciliation(returnFiber, newChild), + lanes + ); + throwOnInvalidObjectType(returnFiber, newChild); + } + "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); + "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); + return null; + } + function updateSlot(returnFiber, oldFiber, newChild, lanes) { + var key = null !== oldFiber ? oldFiber.key : null; + if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) + return null !== key ? null : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes); + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return newChild.key === key ? (key = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement( + returnFiber, + oldFiber, + newChild, + lanes + ), currentDebugInfo = key, returnFiber) : null; + case REACT_PORTAL_TYPE: + return newChild.key === key ? updatePortal(returnFiber, oldFiber, newChild, lanes) : null; + case REACT_LAZY_TYPE: + return key = pushDebugInfo(newChild._debugInfo), newChild = callLazyInitInDEV(newChild), returnFiber = updateSlot( + returnFiber, + oldFiber, + newChild, + lanes + ), currentDebugInfo = key, returnFiber; + } + if (isArrayImpl(newChild) || getIteratorFn(newChild)) { + if (null !== key) return null; + key = pushDebugInfo(newChild._debugInfo); + returnFiber = updateFragment( + returnFiber, + oldFiber, + newChild, + lanes, + null + ); + currentDebugInfo = key; + return returnFiber; + } + if ("function" === typeof newChild.then) + return key = pushDebugInfo(newChild._debugInfo), returnFiber = updateSlot( + returnFiber, + oldFiber, + unwrapThenable(newChild), + lanes + ), currentDebugInfo = key, returnFiber; + if (newChild.$$typeof === REACT_CONTEXT_TYPE) + return updateSlot( + returnFiber, + oldFiber, + readContextDuringReconciliation(returnFiber, newChild), + lanes + ); + throwOnInvalidObjectType(returnFiber, newChild); + } + "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); + "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); + return null; + } + function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) { + if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) + return existingChildren = existingChildren.get(newIdx) || null, updateTextNode(returnFiber, existingChildren, "" + newChild, lanes); + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return newIdx = existingChildren.get( + null === newChild.key ? newIdx : newChild.key + ) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement( + returnFiber, + newIdx, + newChild, + lanes + ), currentDebugInfo = existingChildren, returnFiber; + case REACT_PORTAL_TYPE: + return existingChildren = existingChildren.get( + null === newChild.key ? newIdx : newChild.key + ) || null, updatePortal(returnFiber, existingChildren, newChild, lanes); + case REACT_LAZY_TYPE: + var _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo); + newChild = callLazyInitInDEV(newChild); + returnFiber = updateFromMap( + existingChildren, + returnFiber, + newIdx, + newChild, + lanes + ); + currentDebugInfo = _prevDebugInfo7; + return returnFiber; + } + if (isArrayImpl(newChild) || getIteratorFn(newChild)) + return newIdx = existingChildren.get(newIdx) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateFragment( + returnFiber, + newIdx, + newChild, + lanes, + null + ), currentDebugInfo = existingChildren, returnFiber; + if ("function" === typeof newChild.then) + return _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo), returnFiber = updateFromMap( + existingChildren, + returnFiber, + newIdx, + unwrapThenable(newChild), + lanes + ), currentDebugInfo = _prevDebugInfo7, returnFiber; + if (newChild.$$typeof === REACT_CONTEXT_TYPE) + return updateFromMap( + existingChildren, + returnFiber, + newIdx, + readContextDuringReconciliation(returnFiber, newChild), + lanes + ); + throwOnInvalidObjectType(returnFiber, newChild); + } + "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); + "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); + return null; + } + function warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys) { + if ("object" !== typeof child || null === child) return knownKeys; + switch (child.$$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_PORTAL_TYPE: + warnForMissingKey(returnFiber, workInProgress2, child); + var key = child.key; + if ("string" !== typeof key) break; + if (null === knownKeys) { + knownKeys = /* @__PURE__ */ new Set(); + knownKeys.add(key); + break; + } + if (!knownKeys.has(key)) { + knownKeys.add(key); + break; + } + runWithFiberInDEV(workInProgress2, function() { + console.error( + "Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted \u2014 the behavior is unsupported and could change in a future version.", + key + ); + }); + break; + case REACT_LAZY_TYPE: + child = callLazyInitInDEV(child), warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys); + } + return knownKeys; + } + function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) { + for (var knownKeys = null, resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null; null !== oldFiber && newIdx < newChildren.length; newIdx++) { + oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling; + var newFiber = updateSlot( + returnFiber, + oldFiber, + newChildren[newIdx], + lanes + ); + if (null === newFiber) { + null === oldFiber && (oldFiber = nextOldFiber); + break; + } + knownKeys = warnOnInvalidKey( + returnFiber, + newFiber, + newChildren[newIdx], + knownKeys + ); + shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber); + currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); + null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber; + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + if (newIdx === newChildren.length) + return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild; + if (null === oldFiber) { + for (; newIdx < newChildren.length; newIdx++) + oldFiber = createChild(returnFiber, newChildren[newIdx], lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey( + returnFiber, + oldFiber, + newChildren[newIdx], + knownKeys + ), currentFirstChild = placeChild( + oldFiber, + currentFirstChild, + newIdx + ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber); + isHydrating && pushTreeFork(returnFiber, newIdx); + return resultingFirstChild; + } + for (oldFiber = mapRemainingChildren(oldFiber); newIdx < newChildren.length; newIdx++) + nextOldFiber = updateFromMap( + oldFiber, + returnFiber, + newIdx, + newChildren[newIdx], + lanes + ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey( + returnFiber, + nextOldFiber, + newChildren[newIdx], + knownKeys + ), shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete( + null === nextOldFiber.key ? newIdx : nextOldFiber.key + ), currentFirstChild = placeChild( + nextOldFiber, + currentFirstChild, + newIdx + ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber); + shouldTrackSideEffects && oldFiber.forEach(function(child) { + return deleteChild(returnFiber, child); + }); + isHydrating && pushTreeFork(returnFiber, newIdx); + return resultingFirstChild; + } + function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildren, lanes) { + if (null == newChildren) + throw Error("An iterable object provided no iterator."); + for (var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null, knownKeys = null, step = newChildren.next(); null !== oldFiber && !step.done; newIdx++, step = newChildren.next()) { + oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling; + var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes); + if (null === newFiber) { + null === oldFiber && (oldFiber = nextOldFiber); + break; + } + knownKeys = warnOnInvalidKey( + returnFiber, + newFiber, + step.value, + knownKeys + ); + shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber); + currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); + null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber; + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + if (step.done) + return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild; + if (null === oldFiber) { + for (; !step.done; newIdx++, step = newChildren.next()) + oldFiber = createChild(returnFiber, step.value, lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey( + returnFiber, + oldFiber, + step.value, + knownKeys + ), currentFirstChild = placeChild( + oldFiber, + currentFirstChild, + newIdx + ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber); + isHydrating && pushTreeFork(returnFiber, newIdx); + return resultingFirstChild; + } + for (oldFiber = mapRemainingChildren(oldFiber); !step.done; newIdx++, step = newChildren.next()) + nextOldFiber = updateFromMap( + oldFiber, + returnFiber, + newIdx, + step.value, + lanes + ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey( + returnFiber, + nextOldFiber, + step.value, + knownKeys + ), shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete( + null === nextOldFiber.key ? newIdx : nextOldFiber.key + ), currentFirstChild = placeChild( + nextOldFiber, + currentFirstChild, + newIdx + ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber); + shouldTrackSideEffects && oldFiber.forEach(function(child) { + return deleteChild(returnFiber, child); + }); + isHydrating && pushTreeFork(returnFiber, newIdx); + return resultingFirstChild; + } + function reconcileChildFibersImpl(returnFiber, currentFirstChild, newChild, lanes) { + "object" === typeof newChild && null !== newChild && newChild.type === REACT_FRAGMENT_TYPE && null === newChild.key && (validateFragmentProps(newChild, null, returnFiber), newChild = newChild.props.children); + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + var prevDebugInfo = pushDebugInfo(newChild._debugInfo); + a: { + for (var key = newChild.key; null !== currentFirstChild; ) { + if (currentFirstChild.key === key) { + key = newChild.type; + if (key === REACT_FRAGMENT_TYPE) { + if (7 === currentFirstChild.tag) { + deleteRemainingChildren( + returnFiber, + currentFirstChild.sibling + ); + lanes = useFiber( + currentFirstChild, + newChild.props.children + ); + lanes.return = returnFiber; + lanes._debugOwner = newChild._owner; + lanes._debugInfo = currentDebugInfo; + validateFragmentProps(newChild, lanes, returnFiber); + returnFiber = lanes; + break a; + } + } else if (currentFirstChild.elementType === key || isCompatibleFamilyForHotReloading( + currentFirstChild, + newChild + ) || "object" === typeof key && null !== key && key.$$typeof === REACT_LAZY_TYPE && callLazyInitInDEV(key) === currentFirstChild.type) { + deleteRemainingChildren( + returnFiber, + currentFirstChild.sibling + ); + lanes = useFiber(currentFirstChild, newChild.props); + coerceRef(lanes, newChild); + lanes.return = returnFiber; + lanes._debugOwner = newChild._owner; + lanes._debugInfo = currentDebugInfo; + returnFiber = lanes; + break a; + } + deleteRemainingChildren(returnFiber, currentFirstChild); + break; + } else deleteChild(returnFiber, currentFirstChild); + currentFirstChild = currentFirstChild.sibling; + } + newChild.type === REACT_FRAGMENT_TYPE ? (lanes = createFiberFromFragment( + newChild.props.children, + returnFiber.mode, + lanes, + newChild.key + ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugInfo = currentDebugInfo, validateFragmentProps(newChild, lanes, returnFiber), returnFiber = lanes) : (lanes = createFiberFromElement( + newChild, + returnFiber.mode, + lanes + ), coerceRef(lanes, newChild), lanes.return = returnFiber, lanes._debugInfo = currentDebugInfo, returnFiber = lanes); + } + returnFiber = placeSingleChild(returnFiber); + currentDebugInfo = prevDebugInfo; + return returnFiber; + case REACT_PORTAL_TYPE: + a: { + prevDebugInfo = newChild; + for (newChild = prevDebugInfo.key; null !== currentFirstChild; ) { + if (currentFirstChild.key === newChild) + if (4 === currentFirstChild.tag && currentFirstChild.stateNode.containerInfo === prevDebugInfo.containerInfo && currentFirstChild.stateNode.implementation === prevDebugInfo.implementation) { + deleteRemainingChildren( + returnFiber, + currentFirstChild.sibling + ); + lanes = useFiber( + currentFirstChild, + prevDebugInfo.children || [] + ); + lanes.return = returnFiber; + returnFiber = lanes; + break a; + } else { + deleteRemainingChildren(returnFiber, currentFirstChild); + break; + } + else deleteChild(returnFiber, currentFirstChild); + currentFirstChild = currentFirstChild.sibling; + } + lanes = createFiberFromPortal( + prevDebugInfo, + returnFiber.mode, + lanes + ); + lanes.return = returnFiber; + returnFiber = lanes; + } + return placeSingleChild(returnFiber); + case REACT_LAZY_TYPE: + return prevDebugInfo = pushDebugInfo(newChild._debugInfo), newChild = callLazyInitInDEV(newChild), returnFiber = reconcileChildFibersImpl( + returnFiber, + currentFirstChild, + newChild, + lanes + ), currentDebugInfo = prevDebugInfo, returnFiber; + } + if (isArrayImpl(newChild)) + return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildrenArray( + returnFiber, + currentFirstChild, + newChild, + lanes + ), currentDebugInfo = prevDebugInfo, returnFiber; + if (getIteratorFn(newChild)) { + prevDebugInfo = pushDebugInfo(newChild._debugInfo); + key = getIteratorFn(newChild); + if ("function" !== typeof key) + throw Error( + "An object is not an iterable. This error is likely caused by a bug in React. Please file an issue." + ); + var newChildren = key.call(newChild); + if (newChildren === newChild) { + if (0 !== returnFiber.tag || "[object GeneratorFunction]" !== Object.prototype.toString.call(returnFiber.type) || "[object Generator]" !== Object.prototype.toString.call(newChildren)) + didWarnAboutGenerators || console.error( + "Using Iterators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. You can also use an Iterable that can iterate multiple times over the same items." + ), didWarnAboutGenerators = true; + } else + newChild.entries !== key || didWarnAboutMaps || (console.error( + "Using Maps as children is not supported. Use an array of keyed ReactElements instead." + ), didWarnAboutMaps = true); + returnFiber = reconcileChildrenIterator( + returnFiber, + currentFirstChild, + newChildren, + lanes + ); + currentDebugInfo = prevDebugInfo; + return returnFiber; + } + if ("function" === typeof newChild.then) + return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildFibersImpl( + returnFiber, + currentFirstChild, + unwrapThenable(newChild), + lanes + ), currentDebugInfo = prevDebugInfo, returnFiber; + if (newChild.$$typeof === REACT_CONTEXT_TYPE) + return reconcileChildFibersImpl( + returnFiber, + currentFirstChild, + readContextDuringReconciliation(returnFiber, newChild), + lanes + ); + throwOnInvalidObjectType(returnFiber, newChild); + } + if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) + return prevDebugInfo = "" + newChild, null !== currentFirstChild && 6 === currentFirstChild.tag ? (deleteRemainingChildren( + returnFiber, + currentFirstChild.sibling + ), lanes = useFiber(currentFirstChild, prevDebugInfo), lanes.return = returnFiber, returnFiber = lanes) : (deleteRemainingChildren(returnFiber, currentFirstChild), lanes = createFiberFromText( + prevDebugInfo, + returnFiber.mode, + lanes + ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugInfo = currentDebugInfo, returnFiber = lanes), placeSingleChild(returnFiber); + "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); + "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); + return deleteRemainingChildren(returnFiber, currentFirstChild); + } + return function(returnFiber, currentFirstChild, newChild, lanes) { + var prevDebugInfo = currentDebugInfo; + currentDebugInfo = null; + try { + thenableIndexCounter$1 = 0; + var firstChildFiber = reconcileChildFibersImpl( + returnFiber, + currentFirstChild, + newChild, + lanes + ); + thenableState$1 = null; + return firstChildFiber; + } catch (x) { + if (x === SuspenseException) throw x; + var fiber = createFiber(29, x, null, returnFiber.mode); + fiber.lanes = lanes; + fiber.return = returnFiber; + var debugInfo = fiber._debugInfo = currentDebugInfo; + fiber._debugOwner = returnFiber._debugOwner; + if (null != debugInfo) { + for (var i = debugInfo.length - 1; 0 <= i; i--) + if ("string" === typeof debugInfo[i].stack) { + fiber._debugOwner = debugInfo[i]; + break; + } + } + return fiber; + } finally { + currentDebugInfo = prevDebugInfo; + } + }; + } + function pushHiddenContext(fiber, context) { + var prevEntangledRenderLanes = entangledRenderLanes; + push(prevEntangledRenderLanesCursor, prevEntangledRenderLanes, fiber); + push(currentTreeHiddenStackCursor, context, fiber); + entangledRenderLanes = prevEntangledRenderLanes | context.baseLanes; + } + function reuseHiddenContextOnStack(fiber) { + push(prevEntangledRenderLanesCursor, entangledRenderLanes, fiber); + push( + currentTreeHiddenStackCursor, + currentTreeHiddenStackCursor.current, + fiber + ); + } + function popHiddenContext(fiber) { + entangledRenderLanes = prevEntangledRenderLanesCursor.current; + pop(currentTreeHiddenStackCursor, fiber); + pop(prevEntangledRenderLanesCursor, fiber); + } + function pushPrimaryTreeSuspenseHandler(handler) { + var current2 = handler.alternate; + push( + suspenseStackCursor, + suspenseStackCursor.current & SubtreeSuspenseContextMask, + handler + ); + push(suspenseHandlerStackCursor, handler, handler); + null === shellBoundary && (null === current2 || null !== currentTreeHiddenStackCursor.current ? shellBoundary = handler : null !== current2.memoizedState && (shellBoundary = handler)); + } + function pushOffscreenSuspenseHandler(fiber) { + if (22 === fiber.tag) { + if (push(suspenseStackCursor, suspenseStackCursor.current, fiber), push(suspenseHandlerStackCursor, fiber, fiber), null === shellBoundary) { + var current2 = fiber.alternate; + null !== current2 && null !== current2.memoizedState && (shellBoundary = fiber); + } + } else reuseSuspenseHandlerOnStack(fiber); + } + function reuseSuspenseHandlerOnStack(fiber) { + push(suspenseStackCursor, suspenseStackCursor.current, fiber); + push( + suspenseHandlerStackCursor, + suspenseHandlerStackCursor.current, + fiber + ); + } + function popSuspenseHandler(fiber) { + pop(suspenseHandlerStackCursor, fiber); + shellBoundary === fiber && (shellBoundary = null); + pop(suspenseStackCursor, fiber); + } + function findFirstSuspended(row) { + for (var node = row; null !== node; ) { + if (13 === node.tag) { + var state = node.memoizedState; + if (null !== state && (state = state.dehydrated, null === state || isSuspenseInstancePending(state) || isSuspenseInstanceFallback(state))) + return node; + } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) { + if (0 !== (node.flags & 128)) return node; + } else if (null !== node.child) { + node.child.return = node; + node = node.child; + continue; + } + if (node === row) break; + for (; null === node.sibling; ) { + if (null === node.return || node.return === row) return null; + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + return null; + } + function mountHookTypesDev() { + var hookName = currentHookNameInDev; + null === hookTypesDev ? hookTypesDev = [hookName] : hookTypesDev.push(hookName); + } + function updateHookTypesDev() { + var hookName = currentHookNameInDev; + if (null !== hookTypesDev && (hookTypesUpdateIndexDev++, hookTypesDev[hookTypesUpdateIndexDev] !== hookName)) { + var componentName2 = getComponentNameFromFiber( + currentlyRenderingFiber$1 + ); + if (!didWarnAboutMismatchedHooksForComponent.has(componentName2) && (didWarnAboutMismatchedHooksForComponent.add(componentName2), null !== hookTypesDev)) { + for (var table = "", i = 0; i <= hookTypesUpdateIndexDev; i++) { + var oldHookName = hookTypesDev[i], newHookName = i === hookTypesUpdateIndexDev ? hookName : oldHookName; + for (oldHookName = i + 1 + ". " + oldHookName; 30 > oldHookName.length; ) + oldHookName += " "; + oldHookName += newHookName + "\n"; + table += oldHookName; + } + console.error( + "React has detected a change in the order of Hooks called by %s. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://react.dev/link/rules-of-hooks\n\n Previous render Next render\n ------------------------------------------------------\n%s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + componentName2, + table + ); + } + } + } + function checkDepsAreArrayDev(deps) { + void 0 === deps || null === deps || isArrayImpl(deps) || console.error( + "%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.", + currentHookNameInDev, + typeof deps + ); + } + function warnOnUseFormStateInDev() { + var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber$1); + didWarnAboutUseFormState.has(componentName2) || (didWarnAboutUseFormState.add(componentName2), console.error( + "ReactDOM.useFormState has been renamed to React.useActionState. Please update %s to use React.useActionState.", + componentName2 + )); + } + function throwInvalidHookError() { + throw Error( + "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." + ); + } + function areHookInputsEqual(nextDeps, prevDeps) { + if (ignorePreviousDependencies) return false; + if (null === prevDeps) + return console.error( + "%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.", + currentHookNameInDev + ), false; + nextDeps.length !== prevDeps.length && console.error( + "The final argument passed to %s changed size between renders. The order and size of this array must remain constant.\n\nPrevious: %s\nIncoming: %s", + currentHookNameInDev, + "[" + prevDeps.join(", ") + "]", + "[" + nextDeps.join(", ") + "]" + ); + for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) + if (!objectIs(nextDeps[i], prevDeps[i])) return false; + return true; + } + function renderWithHooks(current2, workInProgress2, Component, props, secondArg, nextRenderLanes) { + renderLanes = nextRenderLanes; + currentlyRenderingFiber$1 = workInProgress2; + hookTypesDev = null !== current2 ? current2._debugHookTypes : null; + hookTypesUpdateIndexDev = -1; + ignorePreviousDependencies = null !== current2 && current2.type !== workInProgress2.type; + if ("[object AsyncFunction]" === Object.prototype.toString.call(Component) || "[object AsyncGeneratorFunction]" === Object.prototype.toString.call(Component)) + nextRenderLanes = getComponentNameFromFiber( + currentlyRenderingFiber$1 + ), didWarnAboutAsyncClientComponent.has(nextRenderLanes) || (didWarnAboutAsyncClientComponent.add(nextRenderLanes), console.error( + "async/await is not yet supported in Client Components, only Server Components. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server." + )); + workInProgress2.memoizedState = null; + workInProgress2.updateQueue = null; + workInProgress2.lanes = 0; + ReactSharedInternals.H = null !== current2 && null !== current2.memoizedState ? HooksDispatcherOnUpdateInDEV : null !== hookTypesDev ? HooksDispatcherOnMountWithHookTypesInDEV : HooksDispatcherOnMountInDEV; + shouldDoubleInvokeUserFnsInHooksDEV = nextRenderLanes = (workInProgress2.mode & 8) !== NoMode; + var children = callComponentInDEV(Component, props, secondArg); + shouldDoubleInvokeUserFnsInHooksDEV = false; + didScheduleRenderPhaseUpdateDuringThisPass && (children = renderWithHooksAgain( + workInProgress2, + Component, + props, + secondArg + )); + if (nextRenderLanes) { + setIsStrictModeForDevtools(true); + try { + children = renderWithHooksAgain( + workInProgress2, + Component, + props, + secondArg + ); + } finally { + setIsStrictModeForDevtools(false); + } + } + finishRenderingHooks(current2, workInProgress2); + return children; + } + function finishRenderingHooks(current2, workInProgress2) { + workInProgress2._debugHookTypes = hookTypesDev; + null === workInProgress2.dependencies ? null !== thenableState && (workInProgress2.dependencies = { + lanes: 0, + firstContext: null, + _debugThenableState: thenableState + }) : workInProgress2.dependencies._debugThenableState = thenableState; + ReactSharedInternals.H = ContextOnlyDispatcher; + var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next; + renderLanes = 0; + hookTypesDev = currentHookNameInDev = workInProgressHook = currentHook = currentlyRenderingFiber$1 = null; + hookTypesUpdateIndexDev = -1; + null !== current2 && (current2.flags & 31457280) !== (workInProgress2.flags & 31457280) && console.error( + "Internal React error: Expected static flag was missing. Please notify the React team." + ); + didScheduleRenderPhaseUpdate = false; + thenableIndexCounter = 0; + thenableState = null; + if (didRenderTooFewHooks) + throw Error( + "Rendered fewer hooks than expected. This may be caused by an accidental early return statement." + ); + null === current2 || didReceiveUpdate || (current2 = current2.dependencies, null !== current2 && checkIfContextChanged(current2) && (didReceiveUpdate = true)); + needsToResetSuspendedThenableDEV ? (needsToResetSuspendedThenableDEV = false, current2 = true) : current2 = false; + current2 && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Unknown", didWarnAboutUseWrappedInTryCatch.has(workInProgress2) || didWarnAboutAsyncClientComponent.has(workInProgress2) || (didWarnAboutUseWrappedInTryCatch.add(workInProgress2), console.error( + "`use` was called from inside a try/catch block. This is not allowed and can lead to unexpected behavior. To handle errors triggered by `use`, wrap your component in a error boundary." + ))); + } + function renderWithHooksAgain(workInProgress2, Component, props, secondArg) { + currentlyRenderingFiber$1 = workInProgress2; + var numberOfReRenders = 0; + do { + didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null); + thenableIndexCounter = 0; + didScheduleRenderPhaseUpdateDuringThisPass = false; + if (numberOfReRenders >= RE_RENDER_LIMIT) + throw Error( + "Too many re-renders. React limits the number of renders to prevent an infinite loop." + ); + numberOfReRenders += 1; + ignorePreviousDependencies = false; + workInProgressHook = currentHook = null; + if (null != workInProgress2.updateQueue) { + var children = workInProgress2.updateQueue; + children.lastEffect = null; + children.events = null; + children.stores = null; + null != children.memoCache && (children.memoCache.index = 0); + } + hookTypesUpdateIndexDev = -1; + ReactSharedInternals.H = HooksDispatcherOnRerenderInDEV; + children = callComponentInDEV(Component, props, secondArg); + } while (didScheduleRenderPhaseUpdateDuringThisPass); + return children; + } + function TransitionAwareHostComponent() { + var dispatcher = ReactSharedInternals.H, maybeThenable = dispatcher.useState()[0]; + maybeThenable = "function" === typeof maybeThenable.then ? useThenable(maybeThenable) : maybeThenable; + dispatcher = dispatcher.useState()[0]; + (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher && (currentlyRenderingFiber$1.flags |= 1024); + return maybeThenable; + } + function checkDidRenderIdHook() { + var didRenderIdHook = 0 !== localIdCounter; + localIdCounter = 0; + return didRenderIdHook; + } + function bailoutHooks(current2, workInProgress2, lanes) { + workInProgress2.updateQueue = current2.updateQueue; + workInProgress2.flags = (workInProgress2.mode & 16) !== NoMode ? workInProgress2.flags & -201328645 : workInProgress2.flags & -2053; + current2.lanes &= ~lanes; + } + function resetHooksOnUnwind(workInProgress2) { + if (didScheduleRenderPhaseUpdate) { + for (workInProgress2 = workInProgress2.memoizedState; null !== workInProgress2; ) { + var queue = workInProgress2.queue; + null !== queue && (queue.pending = null); + workInProgress2 = workInProgress2.next; + } + didScheduleRenderPhaseUpdate = false; + } + renderLanes = 0; + hookTypesDev = workInProgressHook = currentHook = currentlyRenderingFiber$1 = null; + hookTypesUpdateIndexDev = -1; + currentHookNameInDev = null; + didScheduleRenderPhaseUpdateDuringThisPass = false; + thenableIndexCounter = localIdCounter = 0; + thenableState = null; + } + function mountWorkInProgressHook() { + var hook = { + memoizedState: null, + baseState: null, + baseQueue: null, + queue: null, + next: null + }; + null === workInProgressHook ? currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook : workInProgressHook = workInProgressHook.next = hook; + return workInProgressHook; + } + function updateWorkInProgressHook() { + if (null === currentHook) { + var nextCurrentHook = currentlyRenderingFiber$1.alternate; + nextCurrentHook = null !== nextCurrentHook ? nextCurrentHook.memoizedState : null; + } else nextCurrentHook = currentHook.next; + var nextWorkInProgressHook = null === workInProgressHook ? currentlyRenderingFiber$1.memoizedState : workInProgressHook.next; + if (null !== nextWorkInProgressHook) + workInProgressHook = nextWorkInProgressHook, currentHook = nextCurrentHook; + else { + if (null === nextCurrentHook) { + if (null === currentlyRenderingFiber$1.alternate) + throw Error( + "Update hook called on initial render. This is likely a bug in React. Please file an issue." + ); + throw Error("Rendered more hooks than during the previous render."); + } + currentHook = nextCurrentHook; + nextCurrentHook = { + memoizedState: currentHook.memoizedState, + baseState: currentHook.baseState, + baseQueue: currentHook.baseQueue, + queue: currentHook.queue, + next: null + }; + null === workInProgressHook ? currentlyRenderingFiber$1.memoizedState = workInProgressHook = nextCurrentHook : workInProgressHook = workInProgressHook.next = nextCurrentHook; + } + return workInProgressHook; + } + function useThenable(thenable) { + var index = thenableIndexCounter; + thenableIndexCounter += 1; + null === thenableState && (thenableState = createThenableState()); + thenable = trackUsedThenable(thenableState, thenable, index); + index = currentlyRenderingFiber$1; + null === (null === workInProgressHook ? index.memoizedState : workInProgressHook.next) && (index = index.alternate, ReactSharedInternals.H = null !== index && null !== index.memoizedState ? HooksDispatcherOnUpdateInDEV : HooksDispatcherOnMountInDEV); + return thenable; + } + function use(usable) { + if (null !== usable && "object" === typeof usable) { + if ("function" === typeof usable.then) return useThenable(usable); + if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable); + } + throw Error("An unsupported type was passed to use(): " + String(usable)); + } + function useMemoCache(size) { + var memoCache = null, updateQueue = currentlyRenderingFiber$1.updateQueue; + null !== updateQueue && (memoCache = updateQueue.memoCache); + if (null == memoCache) { + var current2 = currentlyRenderingFiber$1.alternate; + null !== current2 && (current2 = current2.updateQueue, null !== current2 && (current2 = current2.memoCache, null != current2 && (memoCache = { + data: current2.data.map(function(array) { + return array.slice(); + }), + index: 0 + }))); + } + null == memoCache && (memoCache = { data: [], index: 0 }); + null === updateQueue && (updateQueue = createFunctionComponentUpdateQueue(), currentlyRenderingFiber$1.updateQueue = updateQueue); + updateQueue.memoCache = memoCache; + updateQueue = memoCache.data[memoCache.index]; + if (void 0 === updateQueue || ignorePreviousDependencies) + for (updateQueue = memoCache.data[memoCache.index] = Array(size), current2 = 0; current2 < size; current2++) + updateQueue[current2] = REACT_MEMO_CACHE_SENTINEL; + else + updateQueue.length !== size && console.error( + "Expected a constant size argument for each invocation of useMemoCache. The previous cache was allocated with size %s but size %s was requested.", + updateQueue.length, + size + ); + memoCache.index++; + return updateQueue; + } + function basicStateReducer(state, action) { + return "function" === typeof action ? action(state) : action; + } + function mountReducer(reducer, initialArg, init) { + var hook = mountWorkInProgressHook(); + if (void 0 !== init) { + var initialState = init(initialArg); + if (shouldDoubleInvokeUserFnsInHooksDEV) { + setIsStrictModeForDevtools(true); + try { + init(initialArg); + } finally { + setIsStrictModeForDevtools(false); + } + } + } else initialState = initialArg; + hook.memoizedState = hook.baseState = initialState; + reducer = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: reducer, + lastRenderedState: initialState + }; + hook.queue = reducer; + reducer = reducer.dispatch = dispatchReducerAction.bind( + null, + currentlyRenderingFiber$1, + reducer + ); + return [hook.memoizedState, reducer]; + } + function updateReducer(reducer) { + var hook = updateWorkInProgressHook(); + return updateReducerImpl(hook, currentHook, reducer); + } + function updateReducerImpl(hook, current2, reducer) { + var queue = hook.queue; + if (null === queue) + throw Error( + "Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)" + ); + queue.lastRenderedReducer = reducer; + var baseQueue = hook.baseQueue, pendingQueue = queue.pending; + if (null !== pendingQueue) { + if (null !== baseQueue) { + var baseFirst = baseQueue.next; + baseQueue.next = pendingQueue.next; + pendingQueue.next = baseFirst; + } + current2.baseQueue !== baseQueue && console.error( + "Internal error: Expected work-in-progress queue to be a clone. This is a bug in React." + ); + current2.baseQueue = baseQueue = pendingQueue; + queue.pending = null; + } + pendingQueue = hook.baseState; + if (null === baseQueue) hook.memoizedState = pendingQueue; + else { + current2 = baseQueue.next; + var newBaseQueueFirst = baseFirst = null, newBaseQueueLast = null, update = current2, didReadFromEntangledAsyncAction2 = false; + do { + var updateLane = update.lane & -536870913; + if (updateLane !== update.lane ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes & updateLane) === updateLane) { + var revertLane = update.revertLane; + if (0 === revertLane) + null !== newBaseQueueLast && (newBaseQueueLast = newBaseQueueLast.next = { + lane: 0, + revertLane: 0, + action: update.action, + hasEagerState: update.hasEagerState, + eagerState: update.eagerState, + next: null + }), updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true); + else if ((renderLanes & revertLane) === revertLane) { + update = update.next; + revertLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true); + continue; + } else + updateLane = { + lane: 0, + revertLane: update.revertLane, + action: update.action, + hasEagerState: update.hasEagerState, + eagerState: update.eagerState, + next: null + }, null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = updateLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = updateLane, currentlyRenderingFiber$1.lanes |= revertLane, workInProgressRootSkippedLanes |= revertLane; + updateLane = update.action; + shouldDoubleInvokeUserFnsInHooksDEV && reducer(pendingQueue, updateLane); + pendingQueue = update.hasEagerState ? update.eagerState : reducer(pendingQueue, updateLane); + } else + revertLane = { + lane: updateLane, + revertLane: update.revertLane, + action: update.action, + hasEagerState: update.hasEagerState, + eagerState: update.eagerState, + next: null + }, null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = revertLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = revertLane, currentlyRenderingFiber$1.lanes |= updateLane, workInProgressRootSkippedLanes |= updateLane; + update = update.next; + } while (null !== update && update !== current2); + null === newBaseQueueLast ? baseFirst = pendingQueue : newBaseQueueLast.next = newBaseQueueFirst; + if (!objectIs(pendingQueue, hook.memoizedState) && (didReceiveUpdate = true, didReadFromEntangledAsyncAction2 && (reducer = currentEntangledActionThenable, null !== reducer))) + throw reducer; + hook.memoizedState = pendingQueue; + hook.baseState = baseFirst; + hook.baseQueue = newBaseQueueLast; + queue.lastRenderedState = pendingQueue; + } + null === baseQueue && (queue.lanes = 0); + return [hook.memoizedState, queue.dispatch]; + } + function rerenderReducer(reducer) { + var hook = updateWorkInProgressHook(), queue = hook.queue; + if (null === queue) + throw Error( + "Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)" + ); + queue.lastRenderedReducer = reducer; + var dispatch = queue.dispatch, lastRenderPhaseUpdate = queue.pending, newState = hook.memoizedState; + if (null !== lastRenderPhaseUpdate) { + queue.pending = null; + var update = lastRenderPhaseUpdate = lastRenderPhaseUpdate.next; + do + newState = reducer(newState, update.action), update = update.next; + while (update !== lastRenderPhaseUpdate); + objectIs(newState, hook.memoizedState) || (didReceiveUpdate = true); + hook.memoizedState = newState; + null === hook.baseQueue && (hook.baseState = newState); + queue.lastRenderedState = newState; + } + return [newState, dispatch]; + } + function mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) { + var fiber = currentlyRenderingFiber$1, hook = mountWorkInProgressHook(); + if (isHydrating) { + if (void 0 === getServerSnapshot) + throw Error( + "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering." + ); + var nextSnapshot = getServerSnapshot(); + didWarnUncachedGetSnapshot || nextSnapshot === getServerSnapshot() || (console.error( + "The result of getServerSnapshot should be cached to avoid an infinite loop" + ), didWarnUncachedGetSnapshot = true); + } else { + nextSnapshot = getSnapshot(); + didWarnUncachedGetSnapshot || (getServerSnapshot = getSnapshot(), objectIs(nextSnapshot, getServerSnapshot) || (console.error( + "The result of getSnapshot should be cached to avoid an infinite loop" + ), didWarnUncachedGetSnapshot = true)); + if (null === workInProgressRoot) + throw Error( + "Expected a work-in-progress root. This is a bug in React. Please file an issue." + ); + 0 !== (workInProgressRootRenderLanes & 60) || pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot); + } + hook.memoizedState = nextSnapshot; + getServerSnapshot = { value: nextSnapshot, getSnapshot }; + hook.queue = getServerSnapshot; + mountEffect( + subscribeToStore.bind(null, fiber, getServerSnapshot, subscribe), + [subscribe] + ); + fiber.flags |= 2048; + pushEffect( + HasEffect | Passive, + updateStoreInstance.bind( + null, + fiber, + getServerSnapshot, + nextSnapshot, + getSnapshot + ), + { destroy: void 0 }, + null + ); + return nextSnapshot; + } + function updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) { + var fiber = currentlyRenderingFiber$1, hook = updateWorkInProgressHook(), isHydrating$jscomp$0 = isHydrating; + if (isHydrating$jscomp$0) { + if (void 0 === getServerSnapshot) + throw Error( + "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering." + ); + getServerSnapshot = getServerSnapshot(); + } else if (getServerSnapshot = getSnapshot(), !didWarnUncachedGetSnapshot) { + var cachedSnapshot = getSnapshot(); + objectIs(getServerSnapshot, cachedSnapshot) || (console.error( + "The result of getSnapshot should be cached to avoid an infinite loop" + ), didWarnUncachedGetSnapshot = true); + } + if (cachedSnapshot = !objectIs( + (currentHook || hook).memoizedState, + getServerSnapshot + )) + hook.memoizedState = getServerSnapshot, didReceiveUpdate = true; + hook = hook.queue; + var create = subscribeToStore.bind(null, fiber, hook, subscribe); + updateEffectImpl(2048, Passive, create, [subscribe]); + if (hook.getSnapshot !== getSnapshot || cachedSnapshot || null !== workInProgressHook && workInProgressHook.memoizedState.tag & HasEffect) { + fiber.flags |= 2048; + pushEffect( + HasEffect | Passive, + updateStoreInstance.bind( + null, + fiber, + hook, + getServerSnapshot, + getSnapshot + ), + { destroy: void 0 }, + null + ); + if (null === workInProgressRoot) + throw Error( + "Expected a work-in-progress root. This is a bug in React. Please file an issue." + ); + isHydrating$jscomp$0 || 0 !== (renderLanes & 60) || pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot); + } + return getServerSnapshot; + } + function pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) { + fiber.flags |= 16384; + fiber = { getSnapshot, value: renderedSnapshot }; + getSnapshot = currentlyRenderingFiber$1.updateQueue; + null === getSnapshot ? (getSnapshot = createFunctionComponentUpdateQueue(), currentlyRenderingFiber$1.updateQueue = getSnapshot, getSnapshot.stores = [fiber]) : (renderedSnapshot = getSnapshot.stores, null === renderedSnapshot ? getSnapshot.stores = [fiber] : renderedSnapshot.push(fiber)); + } + function updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) { + inst.value = nextSnapshot; + inst.getSnapshot = getSnapshot; + checkIfSnapshotChanged(inst) && forceStoreRerender(fiber); + } + function subscribeToStore(fiber, inst, subscribe) { + return subscribe(function() { + checkIfSnapshotChanged(inst) && forceStoreRerender(fiber); + }); + } + function checkIfSnapshotChanged(inst) { + var latestGetSnapshot = inst.getSnapshot; + inst = inst.value; + try { + var nextValue = latestGetSnapshot(); + return !objectIs(inst, nextValue); + } catch (error) { + return true; + } + } + function forceStoreRerender(fiber) { + var root = enqueueConcurrentRenderForLane(fiber, 2); + null !== root && scheduleUpdateOnFiber(root, fiber, 2); + } + function mountStateImpl(initialState) { + var hook = mountWorkInProgressHook(); + if ("function" === typeof initialState) { + var initialStateInitializer = initialState; + initialState = initialStateInitializer(); + if (shouldDoubleInvokeUserFnsInHooksDEV) { + setIsStrictModeForDevtools(true); + try { + initialStateInitializer(); + } finally { + setIsStrictModeForDevtools(false); + } + } + } + hook.memoizedState = hook.baseState = initialState; + hook.queue = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: basicStateReducer, + lastRenderedState: initialState + }; + return hook; + } + function mountState(initialState) { + initialState = mountStateImpl(initialState); + var queue = initialState.queue, dispatch = dispatchSetState.bind( + null, + currentlyRenderingFiber$1, + queue + ); + queue.dispatch = dispatch; + return [initialState.memoizedState, dispatch]; + } + function mountOptimistic(passthrough) { + var hook = mountWorkInProgressHook(); + hook.memoizedState = hook.baseState = passthrough; + var queue = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: null, + lastRenderedState: null + }; + hook.queue = queue; + hook = dispatchOptimisticSetState.bind( + null, + currentlyRenderingFiber$1, + true, + queue + ); + queue.dispatch = hook; + return [passthrough, hook]; + } + function updateOptimistic(passthrough, reducer) { + var hook = updateWorkInProgressHook(); + return updateOptimisticImpl(hook, currentHook, passthrough, reducer); + } + function updateOptimisticImpl(hook, current2, passthrough, reducer) { + hook.baseState = passthrough; + return updateReducerImpl( + hook, + currentHook, + "function" === typeof reducer ? reducer : basicStateReducer + ); + } + function rerenderOptimistic(passthrough, reducer) { + var hook = updateWorkInProgressHook(); + if (null !== currentHook) + return updateOptimisticImpl(hook, currentHook, passthrough, reducer); + hook.baseState = passthrough; + return [passthrough, hook.queue.dispatch]; + } + function dispatchActionState(fiber, actionQueue, setPendingState, setState, payload) { + if (isRenderPhaseUpdate(fiber)) + throw Error("Cannot update form state while rendering."); + fiber = actionQueue.action; + if (null !== fiber) { + var actionNode = { + payload, + action: fiber, + next: null, + isTransition: true, + status: "pending", + value: null, + reason: null, + listeners: [], + then: function(listener) { + actionNode.listeners.push(listener); + } + }; + null !== ReactSharedInternals.T ? setPendingState(true) : actionNode.isTransition = false; + setState(actionNode); + setPendingState = actionQueue.pending; + null === setPendingState ? (actionNode.next = actionQueue.pending = actionNode, runActionStateAction(actionQueue, actionNode)) : (actionNode.next = setPendingState.next, actionQueue.pending = setPendingState.next = actionNode); + } + } + function runActionStateAction(actionQueue, node) { + var action = node.action, payload = node.payload, prevState = actionQueue.state; + if (node.isTransition) { + var prevTransition = ReactSharedInternals.T, currentTransition = {}; + ReactSharedInternals.T = currentTransition; + ReactSharedInternals.T._updatedFibers = /* @__PURE__ */ new Set(); + try { + var returnValue = action(prevState, payload), onStartTransitionFinish = ReactSharedInternals.S; + null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue); + handleActionReturnValue(actionQueue, node, returnValue); + } catch (error) { + onActionError(actionQueue, node, error); + } finally { + ReactSharedInternals.T = prevTransition, null === prevTransition && currentTransition._updatedFibers && (actionQueue = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < actionQueue && console.warn( + "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table." + )); + } + } else + try { + currentTransition = action(prevState, payload), handleActionReturnValue(actionQueue, node, currentTransition); + } catch (error$2) { + onActionError(actionQueue, node, error$2); + } + } + function handleActionReturnValue(actionQueue, node, returnValue) { + null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then ? (returnValue.then( + function(nextState) { + onActionSuccess(actionQueue, node, nextState); + }, + function(error) { + return onActionError(actionQueue, node, error); + } + ), node.isTransition || console.error( + "An async function was passed to useActionState, but it was dispatched outside of an action context. This is likely not what you intended. Either pass the dispatch function to an `action` prop, or dispatch manually inside `startTransition`" + )) : onActionSuccess(actionQueue, node, returnValue); + } + function onActionSuccess(actionQueue, actionNode, nextState) { + actionNode.status = "fulfilled"; + actionNode.value = nextState; + notifyActionListeners(actionNode); + actionQueue.state = nextState; + actionNode = actionQueue.pending; + null !== actionNode && (nextState = actionNode.next, nextState === actionNode ? actionQueue.pending = null : (nextState = nextState.next, actionNode.next = nextState, runActionStateAction(actionQueue, nextState))); + } + function onActionError(actionQueue, actionNode, error) { + var last = actionQueue.pending; + actionQueue.pending = null; + if (null !== last) { + last = last.next; + do + actionNode.status = "rejected", actionNode.reason = error, notifyActionListeners(actionNode), actionNode = actionNode.next; + while (actionNode !== last); + } + actionQueue.action = null; + } + function notifyActionListeners(actionNode) { + actionNode = actionNode.listeners; + for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])(); + } + function actionStateReducer(oldState, newState) { + return newState; + } + function mountActionState(action, initialStateProp) { + if (isHydrating) { + var ssrFormState = workInProgressRoot.formState; + if (null !== ssrFormState) { + a: { + var isMatching = currentlyRenderingFiber$1; + if (isHydrating) { + if (nextHydratableInstance) { + var markerInstance = canHydrateFormStateMarker( + nextHydratableInstance, + rootOrSingletonContext + ); + if (markerInstance) { + nextHydratableInstance = getNextHydratableSibling(markerInstance); + isMatching = isFormStateMarkerMatching(markerInstance); + break a; + } + } + throwOnHydrationMismatch(isMatching); + } + isMatching = false; + } + isMatching && (initialStateProp = ssrFormState[0]); + } + } + ssrFormState = mountWorkInProgressHook(); + ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp; + isMatching = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: actionStateReducer, + lastRenderedState: initialStateProp + }; + ssrFormState.queue = isMatching; + ssrFormState = dispatchSetState.bind( + null, + currentlyRenderingFiber$1, + isMatching + ); + isMatching.dispatch = ssrFormState; + isMatching = mountStateImpl(false); + var setPendingState = dispatchOptimisticSetState.bind( + null, + currentlyRenderingFiber$1, + false, + isMatching.queue + ); + isMatching = mountWorkInProgressHook(); + markerInstance = { + state: initialStateProp, + dispatch: null, + action, + pending: null + }; + isMatching.queue = markerInstance; + ssrFormState = dispatchActionState.bind( + null, + currentlyRenderingFiber$1, + markerInstance, + setPendingState, + ssrFormState + ); + markerInstance.dispatch = ssrFormState; + isMatching.memoizedState = action; + return [initialStateProp, ssrFormState, false]; + } + function updateActionState(action) { + var stateHook = updateWorkInProgressHook(); + return updateActionStateImpl(stateHook, currentHook, action); + } + function updateActionStateImpl(stateHook, currentStateHook, action) { + currentStateHook = updateReducerImpl( + stateHook, + currentStateHook, + actionStateReducer + )[0]; + stateHook = updateReducer(basicStateReducer)[0]; + currentStateHook = "object" === typeof currentStateHook && null !== currentStateHook && "function" === typeof currentStateHook.then ? useThenable(currentStateHook) : currentStateHook; + var actionQueueHook = updateWorkInProgressHook(), actionQueue = actionQueueHook.queue, dispatch = actionQueue.dispatch; + action !== actionQueueHook.memoizedState && (currentlyRenderingFiber$1.flags |= 2048, pushEffect( + HasEffect | Passive, + actionStateActionEffect.bind(null, actionQueue, action), + { destroy: void 0 }, + null + )); + return [currentStateHook, dispatch, stateHook]; + } + function actionStateActionEffect(actionQueue, action) { + actionQueue.action = action; + } + function rerenderActionState(action) { + var stateHook = updateWorkInProgressHook(), currentStateHook = currentHook; + if (null !== currentStateHook) + return updateActionStateImpl(stateHook, currentStateHook, action); + updateWorkInProgressHook(); + stateHook = stateHook.memoizedState; + currentStateHook = updateWorkInProgressHook(); + var dispatch = currentStateHook.queue.dispatch; + currentStateHook.memoizedState = action; + return [stateHook, dispatch, false]; + } + function pushEffect(tag, create, inst, deps) { + tag = { tag, create, inst, deps, next: null }; + create = currentlyRenderingFiber$1.updateQueue; + null === create && (create = createFunctionComponentUpdateQueue(), currentlyRenderingFiber$1.updateQueue = create); + inst = create.lastEffect; + null === inst ? create.lastEffect = tag.next = tag : (deps = inst.next, inst.next = tag, tag.next = deps, create.lastEffect = tag); + return tag; + } + function mountRef(initialValue) { + var hook = mountWorkInProgressHook(); + initialValue = { current: initialValue }; + return hook.memoizedState = initialValue; + } + function mountEffectImpl(fiberFlags, hookFlags, create, deps) { + var hook = mountWorkInProgressHook(); + currentlyRenderingFiber$1.flags |= fiberFlags; + hook.memoizedState = pushEffect( + HasEffect | hookFlags, + create, + { destroy: void 0 }, + void 0 === deps ? null : deps + ); + } + function updateEffectImpl(fiberFlags, hookFlags, create, deps) { + var hook = updateWorkInProgressHook(); + deps = void 0 === deps ? null : deps; + var inst = hook.memoizedState.inst; + null !== currentHook && null !== deps && areHookInputsEqual(deps, currentHook.memoizedState.deps) ? hook.memoizedState = pushEffect(hookFlags, create, inst, deps) : (currentlyRenderingFiber$1.flags |= fiberFlags, hook.memoizedState = pushEffect( + HasEffect | hookFlags, + create, + inst, + deps + )); + } + function mountEffect(create, deps) { + (currentlyRenderingFiber$1.mode & 16) !== NoMode && (currentlyRenderingFiber$1.mode & 64) === NoMode ? mountEffectImpl(142608384, Passive, create, deps) : mountEffectImpl(8390656, Passive, create, deps); + } + function mountLayoutEffect(create, deps) { + var fiberFlags = 4194308; + (currentlyRenderingFiber$1.mode & 16) !== NoMode && (fiberFlags |= 67108864); + return mountEffectImpl(fiberFlags, Layout, create, deps); + } + function imperativeHandleEffect(create, ref) { + if ("function" === typeof ref) { + create = create(); + var refCleanup = ref(create); + return function() { + "function" === typeof refCleanup ? refCleanup() : ref(null); + }; + } + if (null !== ref && void 0 !== ref) + return ref.hasOwnProperty("current") || console.error( + "Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.", + "an object with keys {" + Object.keys(ref).join(", ") + "}" + ), create = create(), ref.current = create, function() { + ref.current = null; + }; + } + function mountImperativeHandle(ref, create, deps) { + "function" !== typeof create && console.error( + "Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.", + null !== create ? typeof create : "null" + ); + deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null; + var fiberFlags = 4194308; + (currentlyRenderingFiber$1.mode & 16) !== NoMode && (fiberFlags |= 67108864); + mountEffectImpl( + fiberFlags, + Layout, + imperativeHandleEffect.bind(null, create, ref), + deps + ); + } + function updateImperativeHandle(ref, create, deps) { + "function" !== typeof create && console.error( + "Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.", + null !== create ? typeof create : "null" + ); + deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null; + updateEffectImpl( + 4, + Layout, + imperativeHandleEffect.bind(null, create, ref), + deps + ); + } + function mountCallback(callback, deps) { + mountWorkInProgressHook().memoizedState = [ + callback, + void 0 === deps ? null : deps + ]; + return callback; + } + function updateCallback(callback, deps) { + var hook = updateWorkInProgressHook(); + deps = void 0 === deps ? null : deps; + var prevState = hook.memoizedState; + if (null !== deps && areHookInputsEqual(deps, prevState[1])) + return prevState[0]; + hook.memoizedState = [callback, deps]; + return callback; + } + function mountMemo(nextCreate, deps) { + var hook = mountWorkInProgressHook(); + deps = void 0 === deps ? null : deps; + var nextValue = nextCreate(); + if (shouldDoubleInvokeUserFnsInHooksDEV) { + setIsStrictModeForDevtools(true); + try { + nextCreate(); + } finally { + setIsStrictModeForDevtools(false); + } + } + hook.memoizedState = [nextValue, deps]; + return nextValue; + } + function updateMemo(nextCreate, deps) { + var hook = updateWorkInProgressHook(); + deps = void 0 === deps ? null : deps; + var prevState = hook.memoizedState; + if (null !== deps && areHookInputsEqual(deps, prevState[1])) + return prevState[0]; + prevState = nextCreate(); + if (shouldDoubleInvokeUserFnsInHooksDEV) { + setIsStrictModeForDevtools(true); + try { + nextCreate(); + } finally { + setIsStrictModeForDevtools(false); + } + } + hook.memoizedState = [prevState, deps]; + return prevState; + } + function mountDeferredValue(value, initialValue) { + var hook = mountWorkInProgressHook(); + return mountDeferredValueImpl(hook, value, initialValue); + } + function updateDeferredValue(value, initialValue) { + var hook = updateWorkInProgressHook(); + return updateDeferredValueImpl( + hook, + currentHook.memoizedState, + value, + initialValue + ); + } + function rerenderDeferredValue(value, initialValue) { + var hook = updateWorkInProgressHook(); + return null === currentHook ? mountDeferredValueImpl(hook, value, initialValue) : updateDeferredValueImpl( + hook, + currentHook.memoizedState, + value, + initialValue + ); + } + function mountDeferredValueImpl(hook, value, initialValue) { + if (void 0 === initialValue || 0 !== (renderLanes & 1073741824)) + return hook.memoizedState = value; + hook.memoizedState = initialValue; + hook = requestDeferredLane(); + currentlyRenderingFiber$1.lanes |= hook; + workInProgressRootSkippedLanes |= hook; + return initialValue; + } + function updateDeferredValueImpl(hook, prevValue, value, initialValue) { + if (objectIs(value, prevValue)) return value; + if (null !== currentTreeHiddenStackCursor.current) + return hook = mountDeferredValueImpl(hook, value, initialValue), objectIs(hook, prevValue) || (didReceiveUpdate = true), hook; + if (0 === (renderLanes & 42)) + return didReceiveUpdate = true, hook.memoizedState = value; + hook = requestDeferredLane(); + currentlyRenderingFiber$1.lanes |= hook; + workInProgressRootSkippedLanes |= hook; + return prevValue; + } + function startTransition(fiber, queue, pendingState, finishedState, callback) { + var previousPriority = getCurrentUpdatePriority(); + setCurrentUpdatePriority( + 0 !== previousPriority && 8 > previousPriority ? previousPriority : 8 + ); + var prevTransition = ReactSharedInternals.T, currentTransition = {}; + ReactSharedInternals.T = currentTransition; + dispatchOptimisticSetState(fiber, false, queue, pendingState); + currentTransition._updatedFibers = /* @__PURE__ */ new Set(); + try { + var returnValue = callback(), onStartTransitionFinish = ReactSharedInternals.S; + null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue); + if (null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then) { + var thenableForFinishedState = chainThenableValue( + returnValue, + finishedState + ); + dispatchSetStateInternal( + fiber, + queue, + thenableForFinishedState, + requestUpdateLane(fiber) + ); + } else + dispatchSetStateInternal( + fiber, + queue, + finishedState, + requestUpdateLane(fiber) + ); + } catch (error) { + dispatchSetStateInternal( + fiber, + queue, + { then: function() { + }, status: "rejected", reason: error }, + requestUpdateLane(fiber) + ); + } finally { + setCurrentUpdatePriority(previousPriority), ReactSharedInternals.T = prevTransition, null === prevTransition && currentTransition._updatedFibers && (fiber = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < fiber && console.warn( + "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table." + )); + } + } + function ensureFormComponentIsStateful(formFiber) { + var existingStateHook = formFiber.memoizedState; + if (null !== existingStateHook) return existingStateHook; + existingStateHook = { + memoizedState: NotPendingTransition, + baseState: NotPendingTransition, + baseQueue: null, + queue: { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: basicStateReducer, + lastRenderedState: NotPendingTransition + }, + next: null + }; + var initialResetState = {}; + existingStateHook.next = { + memoizedState: initialResetState, + baseState: initialResetState, + baseQueue: null, + queue: { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: basicStateReducer, + lastRenderedState: initialResetState + }, + next: null + }; + formFiber.memoizedState = existingStateHook; + formFiber = formFiber.alternate; + null !== formFiber && (formFiber.memoizedState = existingStateHook); + return existingStateHook; + } + function mountTransition() { + var stateHook = mountStateImpl(false); + stateHook = startTransition.bind( + null, + currentlyRenderingFiber$1, + stateHook.queue, + true, + false + ); + mountWorkInProgressHook().memoizedState = stateHook; + return [false, stateHook]; + } + function updateTransition() { + var booleanOrThenable = updateReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState; + return [ + "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable), + start + ]; + } + function rerenderTransition() { + var booleanOrThenable = rerenderReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState; + return [ + "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable), + start + ]; + } + function useHostTransitionStatus() { + return readContext(HostTransitionContext); + } + function mountId() { + var hook = mountWorkInProgressHook(), identifierPrefix = workInProgressRoot.identifierPrefix; + if (isHydrating) { + var treeId = treeContextOverflow; + var idWithLeadingBit = treeContextId; + treeId = (idWithLeadingBit & ~(1 << 32 - clz32(idWithLeadingBit) - 1)).toString(32) + treeId; + identifierPrefix = ":" + identifierPrefix + "R" + treeId; + treeId = localIdCounter++; + 0 < treeId && (identifierPrefix += "H" + treeId.toString(32)); + identifierPrefix += ":"; + } else + treeId = globalClientIdCounter++, identifierPrefix = ":" + identifierPrefix + "r" + treeId.toString(32) + ":"; + return hook.memoizedState = identifierPrefix; + } + function mountRefresh() { + return mountWorkInProgressHook().memoizedState = refreshCache.bind( + null, + currentlyRenderingFiber$1 + ); + } + function refreshCache(fiber, seedKey) { + for (var provider = fiber.return; null !== provider; ) { + switch (provider.tag) { + case 24: + case 3: + var lane = requestUpdateLane(provider); + fiber = createUpdate(lane); + var root = enqueueUpdate(provider, fiber, lane); + null !== root && (scheduleUpdateOnFiber(root, provider, lane), entangleTransitions(root, provider, lane)); + provider = createCache(); + null !== seedKey && void 0 !== seedKey && null !== root && console.error( + "The seed argument is not enabled outside experimental channels." + ); + fiber.payload = { cache: provider }; + return; + } + provider = provider.return; + } + } + function dispatchReducerAction(fiber, queue, action, JSCompiler_OptimizeArgumentsArray_p0) { + "function" === typeof JSCompiler_OptimizeArgumentsArray_p0 && console.error( + "State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect()." + ); + JSCompiler_OptimizeArgumentsArray_p0 = requestUpdateLane(fiber); + action = { + lane: JSCompiler_OptimizeArgumentsArray_p0, + revertLane: 0, + action, + hasEagerState: false, + eagerState: null, + next: null + }; + isRenderPhaseUpdate(fiber) ? enqueueRenderPhaseUpdate(queue, action) : (action = enqueueConcurrentHookUpdate( + fiber, + queue, + action, + JSCompiler_OptimizeArgumentsArray_p0 + ), null !== action && (scheduleUpdateOnFiber( + action, + fiber, + JSCompiler_OptimizeArgumentsArray_p0 + ), entangleTransitionUpdate( + action, + queue, + JSCompiler_OptimizeArgumentsArray_p0 + ))); + markStateUpdateScheduled(fiber, JSCompiler_OptimizeArgumentsArray_p0); + } + function dispatchSetState(fiber, queue, action, JSCompiler_OptimizeArgumentsArray_p1) { + "function" === typeof JSCompiler_OptimizeArgumentsArray_p1 && console.error( + "State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect()." + ); + JSCompiler_OptimizeArgumentsArray_p1 = requestUpdateLane(fiber); + dispatchSetStateInternal( + fiber, + queue, + action, + JSCompiler_OptimizeArgumentsArray_p1 + ); + markStateUpdateScheduled(fiber, JSCompiler_OptimizeArgumentsArray_p1); + } + function dispatchSetStateInternal(fiber, queue, action, lane) { + var update = { + lane, + revertLane: 0, + action, + hasEagerState: false, + eagerState: null, + next: null + }; + if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update); + else { + var alternate = fiber.alternate; + if (0 === fiber.lanes && (null === alternate || 0 === alternate.lanes) && (alternate = queue.lastRenderedReducer, null !== alternate)) { + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + var currentState = queue.lastRenderedState, eagerState = alternate(currentState, action); + update.hasEagerState = true; + update.eagerState = eagerState; + if (objectIs(eagerState, currentState)) + return enqueueUpdate$1(fiber, queue, update, 0), null === workInProgressRoot && finishQueueingConcurrentUpdates(), false; + } catch (error) { + } finally { + ReactSharedInternals.H = prevDispatcher; + } + } + action = enqueueConcurrentHookUpdate(fiber, queue, update, lane); + if (null !== action) + return scheduleUpdateOnFiber(action, fiber, lane), entangleTransitionUpdate(action, queue, lane), true; + } + return false; + } + function dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) { + null === ReactSharedInternals.T && 0 === currentEntangledLane && console.error( + "An optimistic state update occurred outside a transition or action. To fix, move the update to an action, or wrap with startTransition." + ); + action = { + lane: 2, + revertLane: requestTransitionLane(), + action, + hasEagerState: false, + eagerState: null, + next: null + }; + if (isRenderPhaseUpdate(fiber)) { + if (throwIfDuringRender) + throw Error("Cannot update optimistic state while rendering."); + console.error("Cannot call startTransition while rendering."); + } else + throwIfDuringRender = enqueueConcurrentHookUpdate( + fiber, + queue, + action, + 2 + ), null !== throwIfDuringRender && scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2); + markStateUpdateScheduled(fiber, 2); + } + function isRenderPhaseUpdate(fiber) { + var alternate = fiber.alternate; + return fiber === currentlyRenderingFiber$1 || null !== alternate && alternate === currentlyRenderingFiber$1; + } + function enqueueRenderPhaseUpdate(queue, update) { + didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true; + var pending = queue.pending; + null === pending ? update.next = update : (update.next = pending.next, pending.next = update); + queue.pending = update; + } + function entangleTransitionUpdate(root, queue, lane) { + if (0 !== (lane & 4194176)) { + var queueLanes = queue.lanes; + queueLanes &= root.pendingLanes; + lane |= queueLanes; + queue.lanes = lane; + markRootEntangled(root, lane); + } + } + function warnOnInvalidCallback(callback) { + if (null !== callback && "function" !== typeof callback) { + var key = String(callback); + didWarnOnInvalidCallback.has(key) || (didWarnOnInvalidCallback.add(key), console.error( + "Expected the last optional `callback` argument to be a function. Instead received: %s.", + callback + )); + } + } + function applyDerivedStateFromProps(workInProgress2, ctor, getDerivedStateFromProps, nextProps) { + var prevState = workInProgress2.memoizedState, partialState = getDerivedStateFromProps(nextProps, prevState); + if (workInProgress2.mode & 8) { + setIsStrictModeForDevtools(true); + try { + partialState = getDerivedStateFromProps(nextProps, prevState); + } finally { + setIsStrictModeForDevtools(false); + } + } + void 0 === partialState && (ctor = getComponentNameFromType(ctor) || "Component", didWarnAboutUndefinedDerivedState.has(ctor) || (didWarnAboutUndefinedDerivedState.add(ctor), console.error( + "%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.", + ctor + ))); + prevState = null === partialState || void 0 === partialState ? prevState : assign({}, prevState, partialState); + workInProgress2.memoizedState = prevState; + 0 === workInProgress2.lanes && (workInProgress2.updateQueue.baseState = prevState); + } + function checkShouldComponentUpdate(workInProgress2, ctor, oldProps, newProps, oldState, newState, nextContext) { + var instance = workInProgress2.stateNode; + if ("function" === typeof instance.shouldComponentUpdate) { + oldProps = instance.shouldComponentUpdate( + newProps, + newState, + nextContext + ); + if (workInProgress2.mode & 8) { + setIsStrictModeForDevtools(true); + try { + oldProps = instance.shouldComponentUpdate( + newProps, + newState, + nextContext + ); + } finally { + setIsStrictModeForDevtools(false); + } + } + void 0 === oldProps && console.error( + "%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.", + getComponentNameFromType(ctor) || "Component" + ); + return oldProps; + } + return ctor.prototype && ctor.prototype.isPureReactComponent ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState) : true; + } + function callComponentWillReceiveProps(workInProgress2, instance, newProps, nextContext) { + var oldState = instance.state; + "function" === typeof instance.componentWillReceiveProps && instance.componentWillReceiveProps(newProps, nextContext); + "function" === typeof instance.UNSAFE_componentWillReceiveProps && instance.UNSAFE_componentWillReceiveProps(newProps, nextContext); + instance.state !== oldState && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Component", didWarnAboutStateAssignmentForComponent.has(workInProgress2) || (didWarnAboutStateAssignmentForComponent.add(workInProgress2), console.error( + "%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.", + workInProgress2 + )), classComponentUpdater.enqueueReplaceState( + instance, + instance.state, + null + )); + } + function resolveClassComponentProps(Component, baseProps) { + var newProps = baseProps; + if ("ref" in baseProps) { + newProps = {}; + for (var propName in baseProps) + "ref" !== propName && (newProps[propName] = baseProps[propName]); + } + if (Component = Component.defaultProps) { + newProps === baseProps && (newProps = assign({}, newProps)); + for (var _propName in Component) + void 0 === newProps[_propName] && (newProps[_propName] = Component[_propName]); + } + return newProps; + } + function logUncaughtError(root, errorInfo) { + try { + componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null; + errorBoundaryName = null; + var error = errorInfo.value; + if (null !== ReactSharedInternals.actQueue) + ReactSharedInternals.thrownErrors.push(error); + else { + var onUncaughtError = root.onUncaughtError; + onUncaughtError(error, { componentStack: errorInfo.stack }); + } + } catch (e) { + setTimeout(function() { + throw e; + }); + } + } + function logCaughtError(root, boundary, errorInfo) { + try { + componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null; + errorBoundaryName = getComponentNameFromFiber(boundary); + var onCaughtError = root.onCaughtError; + onCaughtError(errorInfo.value, { + componentStack: errorInfo.stack, + errorBoundary: 1 === boundary.tag ? boundary.stateNode : null + }); + } catch (e) { + setTimeout(function() { + throw e; + }); + } + } + function createRootErrorUpdate(root, errorInfo, lane) { + lane = createUpdate(lane); + lane.tag = CaptureUpdate; + lane.payload = { element: null }; + lane.callback = function() { + runWithFiberInDEV(errorInfo.source, logUncaughtError, root, errorInfo); + }; + return lane; + } + function createClassErrorUpdate(lane) { + lane = createUpdate(lane); + lane.tag = CaptureUpdate; + return lane; + } + function initializeClassErrorUpdate(update, root, fiber, errorInfo) { + var getDerivedStateFromError = fiber.type.getDerivedStateFromError; + if ("function" === typeof getDerivedStateFromError) { + var error = errorInfo.value; + update.payload = function() { + return getDerivedStateFromError(error); + }; + update.callback = function() { + markFailedErrorBoundaryForHotReloading(fiber); + runWithFiberInDEV( + errorInfo.source, + logCaughtError, + root, + fiber, + errorInfo + ); + }; + } + var inst = fiber.stateNode; + null !== inst && "function" === typeof inst.componentDidCatch && (update.callback = function() { + markFailedErrorBoundaryForHotReloading(fiber); + runWithFiberInDEV( + errorInfo.source, + logCaughtError, + root, + fiber, + errorInfo + ); + "function" !== typeof getDerivedStateFromError && (null === legacyErrorBoundariesThatAlreadyFailed ? legacyErrorBoundariesThatAlreadyFailed = /* @__PURE__ */ new Set([this]) : legacyErrorBoundariesThatAlreadyFailed.add(this)); + callComponentDidCatchInDEV(this, errorInfo); + "function" === typeof getDerivedStateFromError || 0 === (fiber.lanes & 2) && console.error( + "%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.", + getComponentNameFromFiber(fiber) || "Unknown" + ); + }); + } + function throwException(root, returnFiber, sourceFiber, value, rootRenderLanes) { + sourceFiber.flags |= 32768; + isDevToolsPresent && restorePendingUpdaters(root, rootRenderLanes); + if (null !== value && "object" === typeof value && "function" === typeof value.then) { + returnFiber = sourceFiber.alternate; + null !== returnFiber && propagateParentContextChanges( + returnFiber, + sourceFiber, + rootRenderLanes, + true + ); + isHydrating && (didSuspendOrErrorDEV = true); + sourceFiber = suspenseHandlerStackCursor.current; + if (null !== sourceFiber) { + switch (sourceFiber.tag) { + case 13: + return null === shellBoundary ? renderDidSuspendDelayIfPossible() : null === sourceFiber.alternate && workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootSuspended), sourceFiber.flags &= -257, sourceFiber.flags |= 65536, sourceFiber.lanes = rootRenderLanes, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, null === returnFiber ? sourceFiber.updateQueue = /* @__PURE__ */ new Set([value]) : returnFiber.add(value), attachPingListener(root, value, rootRenderLanes)), false; + case 22: + return sourceFiber.flags |= 65536, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, null === returnFiber ? (returnFiber = { + transitions: null, + markerInstances: null, + retryQueue: /* @__PURE__ */ new Set([value]) + }, sourceFiber.updateQueue = returnFiber) : (sourceFiber = returnFiber.retryQueue, null === sourceFiber ? returnFiber.retryQueue = /* @__PURE__ */ new Set([value]) : sourceFiber.add(value)), attachPingListener(root, value, rootRenderLanes)), false; + } + throw Error( + "Unexpected Suspense handler tag (" + sourceFiber.tag + "). This is a bug in React." + ); + } + attachPingListener(root, value, rootRenderLanes); + renderDidSuspendDelayIfPossible(); + return false; + } + if (isHydrating) + return didSuspendOrErrorDEV = true, returnFiber = suspenseHandlerStackCursor.current, null !== returnFiber ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256), returnFiber.flags |= 65536, returnFiber.lanes = rootRenderLanes, value !== HydrationMismatchException && queueHydrationError( + createCapturedValueAtFiber( + Error( + "There was an error while hydrating but React was able to recover by instead client rendering from the nearest Suspense boundary.", + { cause: value } + ), + sourceFiber + ) + )) : (value !== HydrationMismatchException && queueHydrationError( + createCapturedValueAtFiber( + Error( + "There was an error while hydrating but React was able to recover by instead client rendering the entire root.", + { cause: value } + ), + sourceFiber + ) + ), root = root.current.alternate, root.flags |= 65536, rootRenderLanes &= -rootRenderLanes, root.lanes |= rootRenderLanes, value = createCapturedValueAtFiber(value, sourceFiber), rootRenderLanes = createRootErrorUpdate( + root.stateNode, + value, + rootRenderLanes + ), enqueueCapturedUpdate(root, rootRenderLanes), workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored)), false; + var error = createCapturedValueAtFiber( + Error( + "There was an error during concurrent rendering but React was able to recover by instead synchronously rendering the entire root.", + { cause: value } + ), + sourceFiber + ); + null === workInProgressRootConcurrentErrors ? workInProgressRootConcurrentErrors = [error] : workInProgressRootConcurrentErrors.push(error); + workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored); + if (null === returnFiber) return true; + value = createCapturedValueAtFiber(value, sourceFiber); + sourceFiber = returnFiber; + do { + switch (sourceFiber.tag) { + case 3: + return sourceFiber.flags |= 65536, root = rootRenderLanes & -rootRenderLanes, sourceFiber.lanes |= root, root = createRootErrorUpdate( + sourceFiber.stateNode, + value, + root + ), enqueueCapturedUpdate(sourceFiber, root), false; + case 1: + if (returnFiber = sourceFiber.type, error = sourceFiber.stateNode, 0 === (sourceFiber.flags & 128) && ("function" === typeof returnFiber.getDerivedStateFromError || null !== error && "function" === typeof error.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(error)))) + return sourceFiber.flags |= 65536, rootRenderLanes &= -rootRenderLanes, sourceFiber.lanes |= rootRenderLanes, rootRenderLanes = createClassErrorUpdate(rootRenderLanes), initializeClassErrorUpdate( + rootRenderLanes, + root, + sourceFiber, + value + ), enqueueCapturedUpdate(sourceFiber, rootRenderLanes), false; + } + sourceFiber = sourceFiber.return; + } while (null !== sourceFiber); + return false; + } + function reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2) { + workInProgress2.child = null === current2 ? mountChildFibers(workInProgress2, null, nextChildren, renderLanes2) : reconcileChildFibers( + workInProgress2, + current2.child, + nextChildren, + renderLanes2 + ); + } + function updateForwardRef(current2, workInProgress2, Component, nextProps, renderLanes2) { + Component = Component.render; + var ref = workInProgress2.ref; + if ("ref" in nextProps) { + var propsWithoutRef = {}; + for (var key in nextProps) + "ref" !== key && (propsWithoutRef[key] = nextProps[key]); + } else propsWithoutRef = nextProps; + prepareToReadContext(workInProgress2); + markComponentRenderStarted(workInProgress2); + nextProps = renderWithHooks( + current2, + workInProgress2, + Component, + propsWithoutRef, + ref, + renderLanes2 + ); + key = checkDidRenderIdHook(); + markComponentRenderStopped(); + if (null !== current2 && !didReceiveUpdate) + return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + isHydrating && key && pushMaterializedTreeId(workInProgress2); + workInProgress2.flags |= 1; + reconcileChildren(current2, workInProgress2, nextProps, renderLanes2); + return workInProgress2.child; + } + function updateMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) { + if (null === current2) { + var type = Component.type; + if ("function" === typeof type && !shouldConstruct(type) && void 0 === type.defaultProps && null === Component.compare) + return Component = resolveFunctionForHotReloading(type), workInProgress2.tag = 15, workInProgress2.type = Component, validateFunctionComponentInDev(workInProgress2, type), updateSimpleMemoComponent( + current2, + workInProgress2, + Component, + nextProps, + renderLanes2 + ); + current2 = createFiberFromTypeAndProps( + Component.type, + null, + nextProps, + workInProgress2, + workInProgress2.mode, + renderLanes2 + ); + current2.ref = workInProgress2.ref; + current2.return = workInProgress2; + return workInProgress2.child = current2; + } + type = current2.child; + if (!checkScheduledUpdateOrContext(current2, renderLanes2)) { + var prevProps = type.memoizedProps; + Component = Component.compare; + Component = null !== Component ? Component : shallowEqual; + if (Component(prevProps, nextProps) && current2.ref === workInProgress2.ref) + return bailoutOnAlreadyFinishedWork( + current2, + workInProgress2, + renderLanes2 + ); + } + workInProgress2.flags |= 1; + current2 = createWorkInProgress(type, nextProps); + current2.ref = workInProgress2.ref; + current2.return = workInProgress2; + return workInProgress2.child = current2; + } + function updateSimpleMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) { + if (null !== current2) { + var prevProps = current2.memoizedProps; + if (shallowEqual(prevProps, nextProps) && current2.ref === workInProgress2.ref && workInProgress2.type === current2.type) + if (didReceiveUpdate = false, workInProgress2.pendingProps = nextProps = prevProps, checkScheduledUpdateOrContext(current2, renderLanes2)) + 0 !== (current2.flags & 131072) && (didReceiveUpdate = true); + else + return workInProgress2.lanes = current2.lanes, bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + } + return updateFunctionComponent( + current2, + workInProgress2, + Component, + nextProps, + renderLanes2 + ); + } + function updateOffscreenComponent(current2, workInProgress2, renderLanes2) { + var nextProps = workInProgress2.pendingProps, nextChildren = nextProps.children, nextIsDetached = 0 !== (workInProgress2.stateNode._pendingVisibility & 2), prevState = null !== current2 ? current2.memoizedState : null; + markRef(current2, workInProgress2); + if ("hidden" === nextProps.mode || nextIsDetached) { + if (0 !== (workInProgress2.flags & 128)) { + nextProps = null !== prevState ? prevState.baseLanes | renderLanes2 : renderLanes2; + if (null !== current2) { + nextChildren = workInProgress2.child = current2.child; + for (nextIsDetached = 0; null !== nextChildren; ) + nextIsDetached = nextIsDetached | nextChildren.lanes | nextChildren.childLanes, nextChildren = nextChildren.sibling; + workInProgress2.childLanes = nextIsDetached & ~nextProps; + } else workInProgress2.childLanes = 0, workInProgress2.child = null; + return deferHiddenOffscreenComponent( + current2, + workInProgress2, + nextProps, + renderLanes2 + ); + } + if (0 !== (renderLanes2 & 536870912)) + workInProgress2.memoizedState = { baseLanes: 0, cachePool: null }, null !== current2 && pushTransition( + workInProgress2, + null !== prevState ? prevState.cachePool : null + ), null !== prevState ? pushHiddenContext(workInProgress2, prevState) : reuseHiddenContextOnStack(workInProgress2), pushOffscreenSuspenseHandler(workInProgress2); + else + return workInProgress2.lanes = workInProgress2.childLanes = 536870912, deferHiddenOffscreenComponent( + current2, + workInProgress2, + null !== prevState ? prevState.baseLanes | renderLanes2 : renderLanes2, + renderLanes2 + ); + } else + null !== prevState ? (pushTransition(workInProgress2, prevState.cachePool), pushHiddenContext(workInProgress2, prevState), reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.memoizedState = null) : (null !== current2 && pushTransition(workInProgress2, null), reuseHiddenContextOnStack(workInProgress2), reuseSuspenseHandlerOnStack(workInProgress2)); + reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2); + return workInProgress2.child; + } + function deferHiddenOffscreenComponent(current2, workInProgress2, nextBaseLanes, renderLanes2) { + var JSCompiler_inline_result = peekCacheFromPool(); + JSCompiler_inline_result = null === JSCompiler_inline_result ? null : { + parent: isPrimaryRenderer ? CacheContext._currentValue : CacheContext._currentValue2, + pool: JSCompiler_inline_result + }; + workInProgress2.memoizedState = { + baseLanes: nextBaseLanes, + cachePool: JSCompiler_inline_result + }; + null !== current2 && pushTransition(workInProgress2, null); + reuseHiddenContextOnStack(workInProgress2); + pushOffscreenSuspenseHandler(workInProgress2); + null !== current2 && propagateParentContextChanges(current2, workInProgress2, renderLanes2, true); + return null; + } + function markRef(current2, workInProgress2) { + var ref = workInProgress2.ref; + if (null === ref) + null !== current2 && null !== current2.ref && (workInProgress2.flags |= 2097664); + else { + if ("function" !== typeof ref && "object" !== typeof ref) + throw Error( + "Expected ref to be a function, an object returned by React.createRef(), or undefined/null." + ); + if (null === current2 || current2.ref !== ref) + workInProgress2.flags |= 2097664; + } + } + function updateFunctionComponent(current2, workInProgress2, Component, nextProps, renderLanes2) { + if (Component.prototype && "function" === typeof Component.prototype.render) { + var componentName2 = getComponentNameFromType(Component) || "Unknown"; + didWarnAboutBadClass[componentName2] || (console.error( + "The <%s /> component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.", + componentName2, + componentName2 + ), didWarnAboutBadClass[componentName2] = true); + } + workInProgress2.mode & 8 && ReactStrictModeWarnings.recordLegacyContextWarning( + workInProgress2, + null + ); + null === current2 && (validateFunctionComponentInDev(workInProgress2, workInProgress2.type), Component.contextTypes && (componentName2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypes[componentName2] || (didWarnAboutContextTypes[componentName2] = true, console.error( + "%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with React.useContext() instead. (https://react.dev/link/legacy-context)", + componentName2 + )))); + prepareToReadContext(workInProgress2); + markComponentRenderStarted(workInProgress2); + Component = renderWithHooks( + current2, + workInProgress2, + Component, + nextProps, + void 0, + renderLanes2 + ); + nextProps = checkDidRenderIdHook(); + markComponentRenderStopped(); + if (null !== current2 && !didReceiveUpdate) + return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + isHydrating && nextProps && pushMaterializedTreeId(workInProgress2); + workInProgress2.flags |= 1; + reconcileChildren(current2, workInProgress2, Component, renderLanes2); + return workInProgress2.child; + } + function replayFunctionComponent(current2, workInProgress2, nextProps, Component, secondArg, renderLanes2) { + prepareToReadContext(workInProgress2); + markComponentRenderStarted(workInProgress2); + hookTypesUpdateIndexDev = -1; + ignorePreviousDependencies = null !== current2 && current2.type !== workInProgress2.type; + workInProgress2.updateQueue = null; + nextProps = renderWithHooksAgain( + workInProgress2, + Component, + nextProps, + secondArg + ); + finishRenderingHooks(current2, workInProgress2); + Component = checkDidRenderIdHook(); + markComponentRenderStopped(); + if (null !== current2 && !didReceiveUpdate) + return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + isHydrating && Component && pushMaterializedTreeId(workInProgress2); + workInProgress2.flags |= 1; + reconcileChildren(current2, workInProgress2, nextProps, renderLanes2); + return workInProgress2.child; + } + function updateClassComponent(current$jscomp$0, workInProgress2, Component, nextProps, renderLanes2) { + switch (shouldErrorImpl(workInProgress2)) { + case false: + var _instance = workInProgress2.stateNode, state = new workInProgress2.type( + workInProgress2.memoizedProps, + _instance.context + ).state; + _instance.updater.enqueueSetState(_instance, state, null); + break; + case true: + workInProgress2.flags |= 128; + workInProgress2.flags |= 65536; + _instance = Error("Simulated error coming from DevTools"); + var lane = renderLanes2 & -renderLanes2; + workInProgress2.lanes |= lane; + state = workInProgressRoot; + if (null === state) + throw Error( + "Expected a work-in-progress root. This is a bug in React. Please file an issue." + ); + lane = createClassErrorUpdate(lane); + initializeClassErrorUpdate( + lane, + state, + workInProgress2, + createCapturedValueAtFiber(_instance, workInProgress2) + ); + enqueueCapturedUpdate(workInProgress2, lane); + } + prepareToReadContext(workInProgress2); + if (null === workInProgress2.stateNode) { + state = emptyContextObject; + _instance = Component.contextType; + "contextType" in Component && null !== _instance && (void 0 === _instance || _instance.$$typeof !== REACT_CONTEXT_TYPE) && !didWarnAboutInvalidateContextType.has(Component) && (didWarnAboutInvalidateContextType.add(Component), lane = void 0 === _instance ? " However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file." : "object" !== typeof _instance ? " However, it is set to a " + typeof _instance + "." : _instance.$$typeof === REACT_CONSUMER_TYPE ? " Did you accidentally pass the Context.Consumer instead?" : " However, it is set to an object with keys {" + Object.keys(_instance).join(", ") + "}.", console.error( + "%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s", + getComponentNameFromType(Component) || "Component", + lane + )); + "object" === typeof _instance && null !== _instance && (state = readContext(_instance)); + _instance = new Component(nextProps, state); + if (workInProgress2.mode & 8) { + setIsStrictModeForDevtools(true); + try { + _instance = new Component(nextProps, state); + } finally { + setIsStrictModeForDevtools(false); + } + } + state = workInProgress2.memoizedState = null !== _instance.state && void 0 !== _instance.state ? _instance.state : null; + _instance.updater = classComponentUpdater; + workInProgress2.stateNode = _instance; + _instance._reactInternals = workInProgress2; + _instance._reactInternalInstance = fakeInternalInstance; + "function" === typeof Component.getDerivedStateFromProps && null === state && (state = getComponentNameFromType(Component) || "Component", didWarnAboutUninitializedState.has(state) || (didWarnAboutUninitializedState.add(state), console.error( + "`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.", + state, + null === _instance.state ? "null" : "undefined", + state + ))); + if ("function" === typeof Component.getDerivedStateFromProps || "function" === typeof _instance.getSnapshotBeforeUpdate) { + var foundWillUpdateName = lane = state = null; + "function" === typeof _instance.componentWillMount && true !== _instance.componentWillMount.__suppressDeprecationWarning ? state = "componentWillMount" : "function" === typeof _instance.UNSAFE_componentWillMount && (state = "UNSAFE_componentWillMount"); + "function" === typeof _instance.componentWillReceiveProps && true !== _instance.componentWillReceiveProps.__suppressDeprecationWarning ? lane = "componentWillReceiveProps" : "function" === typeof _instance.UNSAFE_componentWillReceiveProps && (lane = "UNSAFE_componentWillReceiveProps"); + "function" === typeof _instance.componentWillUpdate && true !== _instance.componentWillUpdate.__suppressDeprecationWarning ? foundWillUpdateName = "componentWillUpdate" : "function" === typeof _instance.UNSAFE_componentWillUpdate && (foundWillUpdateName = "UNSAFE_componentWillUpdate"); + if (null !== state || null !== lane || null !== foundWillUpdateName) { + _instance = getComponentNameFromType(Component) || "Component"; + var newApiName = "function" === typeof Component.getDerivedStateFromProps ? "getDerivedStateFromProps()" : "getSnapshotBeforeUpdate()"; + didWarnAboutLegacyLifecyclesAndDerivedState.has(_instance) || (didWarnAboutLegacyLifecyclesAndDerivedState.add(_instance), console.error( + "Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://react.dev/link/unsafe-component-lifecycles", + _instance, + newApiName, + null !== state ? "\n " + state : "", + null !== lane ? "\n " + lane : "", + null !== foundWillUpdateName ? "\n " + foundWillUpdateName : "" + )); + } + } + _instance = workInProgress2.stateNode; + state = getComponentNameFromType(Component) || "Component"; + _instance.render || (Component.prototype && "function" === typeof Component.prototype.render ? console.error( + "No `render` method found on the %s instance: did you accidentally return an object from the constructor?", + state + ) : console.error( + "No `render` method found on the %s instance: you may have forgotten to define `render`.", + state + )); + !_instance.getInitialState || _instance.getInitialState.isReactClassApproved || _instance.state || console.error( + "getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?", + state + ); + _instance.getDefaultProps && !_instance.getDefaultProps.isReactClassApproved && console.error( + "getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.", + state + ); + _instance.contextType && console.error( + "contextType was defined as an instance property on %s. Use a static property to define contextType instead.", + state + ); + Component.childContextTypes && !didWarnAboutChildContextTypes.has(Component) && (didWarnAboutChildContextTypes.add(Component), console.error( + "%s uses the legacy childContextTypes API which was removed in React 19. Use React.createContext() instead. (https://react.dev/link/legacy-context)", + state + )); + Component.contextTypes && !didWarnAboutContextTypes$1.has(Component) && (didWarnAboutContextTypes$1.add(Component), console.error( + "%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with static contextType instead. (https://react.dev/link/legacy-context)", + state + )); + "function" === typeof _instance.componentShouldUpdate && console.error( + "%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.", + state + ); + Component.prototype && Component.prototype.isPureReactComponent && "undefined" !== typeof _instance.shouldComponentUpdate && console.error( + "%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.", + getComponentNameFromType(Component) || "A pure component" + ); + "function" === typeof _instance.componentDidUnmount && console.error( + "%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?", + state + ); + "function" === typeof _instance.componentDidReceiveProps && console.error( + "%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().", + state + ); + "function" === typeof _instance.componentWillRecieveProps && console.error( + "%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?", + state + ); + "function" === typeof _instance.UNSAFE_componentWillRecieveProps && console.error( + "%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?", + state + ); + lane = _instance.props !== nextProps; + void 0 !== _instance.props && lane && console.error( + "When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.", + state + ); + _instance.defaultProps && console.error( + "Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.", + state, + state + ); + "function" !== typeof _instance.getSnapshotBeforeUpdate || "function" === typeof _instance.componentDidUpdate || didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(Component) || (didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(Component), console.error( + "%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.", + getComponentNameFromType(Component) + )); + "function" === typeof _instance.getDerivedStateFromProps && console.error( + "%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.", + state + ); + "function" === typeof _instance.getDerivedStateFromError && console.error( + "%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.", + state + ); + "function" === typeof Component.getSnapshotBeforeUpdate && console.error( + "%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.", + state + ); + (lane = _instance.state) && ("object" !== typeof lane || isArrayImpl(lane)) && console.error("%s.state: must be set to an object or null", state); + "function" === typeof _instance.getChildContext && "object" !== typeof Component.childContextTypes && console.error( + "%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().", + state + ); + _instance = workInProgress2.stateNode; + _instance.props = nextProps; + _instance.state = workInProgress2.memoizedState; + _instance.refs = {}; + initializeUpdateQueue(workInProgress2); + state = Component.contextType; + _instance.context = "object" === typeof state && null !== state ? readContext(state) : emptyContextObject; + _instance.state === nextProps && (state = getComponentNameFromType(Component) || "Component", didWarnAboutDirectlyAssigningPropsToState.has(state) || (didWarnAboutDirectlyAssigningPropsToState.add(state), console.error( + "%s: It is not recommended to assign props directly to state because updates to props won't be reflected in state. In most cases, it is better to use props directly.", + state + ))); + workInProgress2.mode & 8 && ReactStrictModeWarnings.recordLegacyContextWarning( + workInProgress2, + _instance + ); + ReactStrictModeWarnings.recordUnsafeLifecycleWarnings( + workInProgress2, + _instance + ); + _instance.state = workInProgress2.memoizedState; + state = Component.getDerivedStateFromProps; + "function" === typeof state && (applyDerivedStateFromProps( + workInProgress2, + Component, + state, + nextProps + ), _instance.state = workInProgress2.memoizedState); + "function" === typeof Component.getDerivedStateFromProps || "function" === typeof _instance.getSnapshotBeforeUpdate || "function" !== typeof _instance.UNSAFE_componentWillMount && "function" !== typeof _instance.componentWillMount || (state = _instance.state, "function" === typeof _instance.componentWillMount && _instance.componentWillMount(), "function" === typeof _instance.UNSAFE_componentWillMount && _instance.UNSAFE_componentWillMount(), state !== _instance.state && (console.error( + "%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.", + getComponentNameFromFiber(workInProgress2) || "Component" + ), classComponentUpdater.enqueueReplaceState( + _instance, + _instance.state, + null + )), processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction(), _instance.state = workInProgress2.memoizedState); + "function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308); + (workInProgress2.mode & 16) !== NoMode && (workInProgress2.flags |= 67108864); + _instance = true; + } else if (null === current$jscomp$0) { + _instance = workInProgress2.stateNode; + var unresolvedOldProps = workInProgress2.memoizedProps; + lane = resolveClassComponentProps(Component, unresolvedOldProps); + _instance.props = lane; + var oldContext = _instance.context; + foundWillUpdateName = Component.contextType; + state = emptyContextObject; + "object" === typeof foundWillUpdateName && null !== foundWillUpdateName && (state = readContext(foundWillUpdateName)); + newApiName = Component.getDerivedStateFromProps; + foundWillUpdateName = "function" === typeof newApiName || "function" === typeof _instance.getSnapshotBeforeUpdate; + unresolvedOldProps = workInProgress2.pendingProps !== unresolvedOldProps; + foundWillUpdateName || "function" !== typeof _instance.UNSAFE_componentWillReceiveProps && "function" !== typeof _instance.componentWillReceiveProps || (unresolvedOldProps || oldContext !== state) && callComponentWillReceiveProps( + workInProgress2, + _instance, + nextProps, + state + ); + hasForceUpdate = false; + var oldState = workInProgress2.memoizedState; + _instance.state = oldState; + processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2); + suspendIfUpdateReadFromEntangledAsyncAction(); + oldContext = workInProgress2.memoizedState; + unresolvedOldProps || oldState !== oldContext || hasForceUpdate ? ("function" === typeof newApiName && (applyDerivedStateFromProps( + workInProgress2, + Component, + newApiName, + nextProps + ), oldContext = workInProgress2.memoizedState), (lane = hasForceUpdate || checkShouldComponentUpdate( + workInProgress2, + Component, + lane, + nextProps, + oldState, + oldContext, + state + )) ? (foundWillUpdateName || "function" !== typeof _instance.UNSAFE_componentWillMount && "function" !== typeof _instance.componentWillMount || ("function" === typeof _instance.componentWillMount && _instance.componentWillMount(), "function" === typeof _instance.UNSAFE_componentWillMount && _instance.UNSAFE_componentWillMount()), "function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & 16) !== NoMode && (workInProgress2.flags |= 67108864)) : ("function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & 16) !== NoMode && (workInProgress2.flags |= 67108864), workInProgress2.memoizedProps = nextProps, workInProgress2.memoizedState = oldContext), _instance.props = nextProps, _instance.state = oldContext, _instance.context = state, _instance = lane) : ("function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & 16) !== NoMode && (workInProgress2.flags |= 67108864), _instance = false); + } else { + _instance = workInProgress2.stateNode; + cloneUpdateQueue(current$jscomp$0, workInProgress2); + state = workInProgress2.memoizedProps; + foundWillUpdateName = resolveClassComponentProps(Component, state); + _instance.props = foundWillUpdateName; + newApiName = workInProgress2.pendingProps; + oldState = _instance.context; + oldContext = Component.contextType; + lane = emptyContextObject; + "object" === typeof oldContext && null !== oldContext && (lane = readContext(oldContext)); + unresolvedOldProps = Component.getDerivedStateFromProps; + (oldContext = "function" === typeof unresolvedOldProps || "function" === typeof _instance.getSnapshotBeforeUpdate) || "function" !== typeof _instance.UNSAFE_componentWillReceiveProps && "function" !== typeof _instance.componentWillReceiveProps || (state !== newApiName || oldState !== lane) && callComponentWillReceiveProps( + workInProgress2, + _instance, + nextProps, + lane + ); + hasForceUpdate = false; + oldState = workInProgress2.memoizedState; + _instance.state = oldState; + processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2); + suspendIfUpdateReadFromEntangledAsyncAction(); + var newState = workInProgress2.memoizedState; + state !== newApiName || oldState !== newState || hasForceUpdate || null !== current$jscomp$0 && null !== current$jscomp$0.dependencies && checkIfContextChanged(current$jscomp$0.dependencies) ? ("function" === typeof unresolvedOldProps && (applyDerivedStateFromProps( + workInProgress2, + Component, + unresolvedOldProps, + nextProps + ), newState = workInProgress2.memoizedState), (foundWillUpdateName = hasForceUpdate || checkShouldComponentUpdate( + workInProgress2, + Component, + foundWillUpdateName, + nextProps, + oldState, + newState, + lane + ) || null !== current$jscomp$0 && null !== current$jscomp$0.dependencies && checkIfContextChanged(current$jscomp$0.dependencies)) ? (oldContext || "function" !== typeof _instance.UNSAFE_componentWillUpdate && "function" !== typeof _instance.componentWillUpdate || ("function" === typeof _instance.componentWillUpdate && _instance.componentWillUpdate(nextProps, newState, lane), "function" === typeof _instance.UNSAFE_componentWillUpdate && _instance.UNSAFE_componentWillUpdate( + nextProps, + newState, + lane + )), "function" === typeof _instance.componentDidUpdate && (workInProgress2.flags |= 4), "function" === typeof _instance.getSnapshotBeforeUpdate && (workInProgress2.flags |= 1024)) : ("function" !== typeof _instance.componentDidUpdate || state === current$jscomp$0.memoizedProps && oldState === current$jscomp$0.memoizedState || (workInProgress2.flags |= 4), "function" !== typeof _instance.getSnapshotBeforeUpdate || state === current$jscomp$0.memoizedProps && oldState === current$jscomp$0.memoizedState || (workInProgress2.flags |= 1024), workInProgress2.memoizedProps = nextProps, workInProgress2.memoizedState = newState), _instance.props = nextProps, _instance.state = newState, _instance.context = lane, _instance = foundWillUpdateName) : ("function" !== typeof _instance.componentDidUpdate || state === current$jscomp$0.memoizedProps && oldState === current$jscomp$0.memoizedState || (workInProgress2.flags |= 4), "function" !== typeof _instance.getSnapshotBeforeUpdate || state === current$jscomp$0.memoizedProps && oldState === current$jscomp$0.memoizedState || (workInProgress2.flags |= 1024), _instance = false); + } + lane = _instance; + markRef(current$jscomp$0, workInProgress2); + state = 0 !== (workInProgress2.flags & 128); + if (lane || state) { + lane = workInProgress2.stateNode; + ReactSharedInternals.getCurrentStack = null === workInProgress2 ? null : getCurrentFiberStackInDev; + isRendering = false; + current = workInProgress2; + if (state && "function" !== typeof Component.getDerivedStateFromError) + Component = null, profilerStartTime = -1; + else { + markComponentRenderStarted(workInProgress2); + Component = callRenderInDEV(lane); + if (workInProgress2.mode & 8) { + setIsStrictModeForDevtools(true); + try { + callRenderInDEV(lane); + } finally { + setIsStrictModeForDevtools(false); + } + } + markComponentRenderStopped(); + } + workInProgress2.flags |= 1; + null !== current$jscomp$0 && state ? (workInProgress2.child = reconcileChildFibers( + workInProgress2, + current$jscomp$0.child, + null, + renderLanes2 + ), workInProgress2.child = reconcileChildFibers( + workInProgress2, + null, + Component, + renderLanes2 + )) : reconcileChildren( + current$jscomp$0, + workInProgress2, + Component, + renderLanes2 + ); + workInProgress2.memoizedState = lane.state; + current$jscomp$0 = workInProgress2.child; + } else + current$jscomp$0 = bailoutOnAlreadyFinishedWork( + current$jscomp$0, + workInProgress2, + renderLanes2 + ); + renderLanes2 = workInProgress2.stateNode; + _instance && renderLanes2.props !== nextProps && (didWarnAboutReassigningProps || console.error( + "It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.", + getComponentNameFromFiber(workInProgress2) || "a component" + ), didWarnAboutReassigningProps = true); + return current$jscomp$0; + } + function mountHostRootWithoutHydrating(current2, workInProgress2, nextChildren, renderLanes2) { + resetHydrationState(); + workInProgress2.flags |= 256; + reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2); + return workInProgress2.child; + } + function validateFunctionComponentInDev(workInProgress2, Component) { + Component && Component.childContextTypes && console.error( + "childContextTypes cannot be defined on a function component.\n %s.childContextTypes = ...", + Component.displayName || Component.name || "Component" + ); + "function" === typeof Component.getDerivedStateFromProps && (workInProgress2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] || (console.error( + "%s: Function components do not support getDerivedStateFromProps.", + workInProgress2 + ), didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] = true)); + "object" === typeof Component.contextType && null !== Component.contextType && (Component = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypeOnFunctionComponent[Component] || (console.error( + "%s: Function components do not support contextType.", + Component + ), didWarnAboutContextTypeOnFunctionComponent[Component] = true)); + } + function mountSuspenseOffscreenState(renderLanes2) { + return { baseLanes: renderLanes2, cachePool: getSuspendedCache() }; + } + function getRemainingWorkInPrimaryTree(current2, primaryTreeDidDefer, renderLanes2) { + current2 = null !== current2 ? current2.childLanes & ~renderLanes2 : 0; + primaryTreeDidDefer && (current2 |= workInProgressDeferredLane); + return current2; + } + function updateSuspenseComponent(current2, workInProgress2, renderLanes2) { + var nextProps = workInProgress2.pendingProps; + shouldSuspendImpl(workInProgress2) && (workInProgress2.flags |= 128); + var showFallback = false, didSuspend = 0 !== (workInProgress2.flags & 128), JSCompiler_temp; + (JSCompiler_temp = didSuspend) || (JSCompiler_temp = null !== current2 && null === current2.memoizedState ? false : 0 !== (suspenseStackCursor.current & ForceSuspenseFallback)); + JSCompiler_temp && (showFallback = true, workInProgress2.flags &= -129); + JSCompiler_temp = 0 !== (workInProgress2.flags & 32); + workInProgress2.flags &= -33; + if (null === current2) { + if (isHydrating) { + showFallback ? pushPrimaryTreeSuspenseHandler(workInProgress2) : reuseSuspenseHandlerOnStack(workInProgress2); + if (isHydrating) { + var nextInstance = nextHydratableInstance, JSCompiler_temp$jscomp$0; + (JSCompiler_temp$jscomp$0 = !nextInstance) || (JSCompiler_temp$jscomp$0 = canHydrateSuspenseInstance( + nextInstance, + rootOrSingletonContext + ), null !== JSCompiler_temp$jscomp$0 ? (warnIfNotHydrating(), workInProgress2.memoizedState = { + dehydrated: JSCompiler_temp$jscomp$0, + treeContext: null !== treeContextProvider ? { id: treeContextId, overflow: treeContextOverflow } : null, + retryLane: 536870912 + }, didSuspend = createFiber(18, null, null, NoMode), didSuspend.stateNode = JSCompiler_temp$jscomp$0, didSuspend.return = workInProgress2, workInProgress2.child = didSuspend, hydrationParentFiber = workInProgress2, nextHydratableInstance = null, JSCompiler_temp$jscomp$0 = true) : JSCompiler_temp$jscomp$0 = false, JSCompiler_temp$jscomp$0 = !JSCompiler_temp$jscomp$0); + JSCompiler_temp$jscomp$0 && (warnNonHydratedInstance(workInProgress2, nextInstance), throwOnHydrationMismatch(workInProgress2)); + } + nextInstance = workInProgress2.memoizedState; + if (null !== nextInstance && (nextInstance = nextInstance.dehydrated, null !== nextInstance)) + return isSuspenseInstanceFallback(nextInstance) ? workInProgress2.lanes = 16 : workInProgress2.lanes = 536870912, null; + popSuspenseHandler(workInProgress2); + } + nextInstance = nextProps.children; + nextProps = nextProps.fallback; + if (showFallback) + return reuseSuspenseHandlerOnStack(workInProgress2), showFallback = workInProgress2.mode, nextInstance = mountWorkInProgressOffscreenFiber( + { mode: "hidden", children: nextInstance }, + showFallback + ), nextProps = createFiberFromFragment( + nextProps, + showFallback, + renderLanes2, + null + ), nextInstance.return = workInProgress2, nextProps.return = workInProgress2, nextInstance.sibling = nextProps, workInProgress2.child = nextInstance, showFallback = workInProgress2.child, showFallback.memoizedState = mountSuspenseOffscreenState(renderLanes2), showFallback.childLanes = getRemainingWorkInPrimaryTree( + current2, + JSCompiler_temp, + renderLanes2 + ), workInProgress2.memoizedState = SUSPENDED_MARKER, nextProps; + pushPrimaryTreeSuspenseHandler(workInProgress2); + return mountSuspensePrimaryChildren(workInProgress2, nextInstance); + } + JSCompiler_temp$jscomp$0 = current2.memoizedState; + if (null !== JSCompiler_temp$jscomp$0 && (nextInstance = JSCompiler_temp$jscomp$0.dehydrated, null !== nextInstance)) { + if (didSuspend) + workInProgress2.flags & 256 ? (pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags &= -257, workInProgress2 = retrySuspenseComponentWithoutHydrating( + current2, + workInProgress2, + renderLanes2 + )) : null !== workInProgress2.memoizedState ? (reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.child = current2.child, workInProgress2.flags |= 128, workInProgress2 = null) : (reuseSuspenseHandlerOnStack(workInProgress2), showFallback = nextProps.fallback, nextInstance = workInProgress2.mode, nextProps = mountWorkInProgressOffscreenFiber( + { mode: "visible", children: nextProps.children }, + nextInstance + ), showFallback = createFiberFromFragment( + showFallback, + nextInstance, + renderLanes2, + null + ), showFallback.flags |= 2, nextProps.return = workInProgress2, showFallback.return = workInProgress2, nextProps.sibling = showFallback, workInProgress2.child = nextProps, reconcileChildFibers( + workInProgress2, + current2.child, + null, + renderLanes2 + ), nextProps = workInProgress2.child, nextProps.memoizedState = mountSuspenseOffscreenState(renderLanes2), nextProps.childLanes = getRemainingWorkInPrimaryTree( + current2, + JSCompiler_temp, + renderLanes2 + ), workInProgress2.memoizedState = SUSPENDED_MARKER, workInProgress2 = showFallback); + else if (pushPrimaryTreeSuspenseHandler(workInProgress2), isHydrating && console.error( + "We should not be hydrating here. This is a bug in React. Please file a bug." + ), isSuspenseInstanceFallback(nextInstance)) + nextInstance = getSuspenseInstanceFallbackErrorDetails(nextInstance), JSCompiler_temp = nextInstance.digest, showFallback = nextInstance.message, nextProps = nextInstance.stack, nextInstance = nextInstance.componentStack, showFallback = showFallback ? Error(showFallback) : Error( + "The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering." + ), showFallback.stack = nextProps || "", showFallback.digest = JSCompiler_temp, JSCompiler_temp = void 0 === nextInstance ? null : nextInstance, nextProps = { + value: showFallback, + source: null, + stack: JSCompiler_temp + }, "string" === typeof JSCompiler_temp && CapturedStacks.set(showFallback, nextProps), queueHydrationError(nextProps), workInProgress2 = retrySuspenseComponentWithoutHydrating( + current2, + workInProgress2, + renderLanes2 + ); + else if (didReceiveUpdate || propagateParentContextChanges( + current2, + workInProgress2, + renderLanes2, + false + ), JSCompiler_temp = 0 !== (renderLanes2 & current2.childLanes), didReceiveUpdate || JSCompiler_temp) { + JSCompiler_temp = workInProgressRoot; + if (null !== JSCompiler_temp) { + nextProps = renderLanes2 & -renderLanes2; + if (0 !== (nextProps & 42)) nextProps = 1; + else + switch (nextProps) { + case 2: + nextProps = 1; + break; + case 8: + nextProps = 4; + break; + case 32: + nextProps = 16; + break; + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + case 4194304: + case 8388608: + case 16777216: + case 33554432: + nextProps = 64; + break; + case 268435456: + nextProps = 134217728; + break; + default: + nextProps = 0; + } + nextProps = 0 !== (nextProps & (JSCompiler_temp.suspendedLanes | renderLanes2)) ? 0 : nextProps; + if (0 !== nextProps && nextProps !== JSCompiler_temp$jscomp$0.retryLane) + throw JSCompiler_temp$jscomp$0.retryLane = nextProps, enqueueConcurrentRenderForLane(current2, nextProps), scheduleUpdateOnFiber(JSCompiler_temp, current2, nextProps), SelectiveHydrationException; + } + isSuspenseInstancePending(nextInstance) || renderDidSuspendDelayIfPossible(); + workInProgress2 = retrySuspenseComponentWithoutHydrating( + current2, + workInProgress2, + renderLanes2 + ); + } else + isSuspenseInstancePending(nextInstance) ? (workInProgress2.flags |= 128, workInProgress2.child = current2.child, workInProgress2 = retryDehydratedSuspenseBoundary.bind( + null, + current2 + ), registerSuspenseInstanceRetry(nextInstance, workInProgress2), workInProgress2 = null) : (current2 = JSCompiler_temp$jscomp$0.treeContext, supportsHydration && (nextHydratableInstance = getFirstHydratableChildWithinSuspenseInstance(nextInstance), hydrationParentFiber = workInProgress2, isHydrating = true, hydrationErrors = null, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, rootOrSingletonContext = false, null !== current2 && (warnIfNotHydrating(), idStack[idStackIndex++] = treeContextId, idStack[idStackIndex++] = treeContextOverflow, idStack[idStackIndex++] = treeContextProvider, treeContextId = current2.id, treeContextOverflow = current2.overflow, treeContextProvider = workInProgress2)), workInProgress2 = mountSuspensePrimaryChildren( + workInProgress2, + nextProps.children + ), workInProgress2.flags |= 4096); + return workInProgress2; + } + if (showFallback) + return reuseSuspenseHandlerOnStack(workInProgress2), showFallback = nextProps.fallback, nextInstance = workInProgress2.mode, JSCompiler_temp$jscomp$0 = current2.child, didSuspend = JSCompiler_temp$jscomp$0.sibling, nextProps = createWorkInProgress(JSCompiler_temp$jscomp$0, { + mode: "hidden", + children: nextProps.children + }), nextProps.subtreeFlags = JSCompiler_temp$jscomp$0.subtreeFlags & 31457280, null !== didSuspend ? showFallback = createWorkInProgress(didSuspend, showFallback) : (showFallback = createFiberFromFragment( + showFallback, + nextInstance, + renderLanes2, + null + ), showFallback.flags |= 2), showFallback.return = workInProgress2, nextProps.return = workInProgress2, nextProps.sibling = showFallback, workInProgress2.child = nextProps, nextProps = showFallback, showFallback = workInProgress2.child, nextInstance = current2.child.memoizedState, null === nextInstance ? nextInstance = mountSuspenseOffscreenState(renderLanes2) : (JSCompiler_temp$jscomp$0 = nextInstance.cachePool, null !== JSCompiler_temp$jscomp$0 ? (didSuspend = isPrimaryRenderer ? CacheContext._currentValue : CacheContext._currentValue2, JSCompiler_temp$jscomp$0 = JSCompiler_temp$jscomp$0.parent !== didSuspend ? { parent: didSuspend, pool: didSuspend } : JSCompiler_temp$jscomp$0) : JSCompiler_temp$jscomp$0 = getSuspendedCache(), nextInstance = { + baseLanes: nextInstance.baseLanes | renderLanes2, + cachePool: JSCompiler_temp$jscomp$0 + }), showFallback.memoizedState = nextInstance, showFallback.childLanes = getRemainingWorkInPrimaryTree( + current2, + JSCompiler_temp, + renderLanes2 + ), workInProgress2.memoizedState = SUSPENDED_MARKER, nextProps; + pushPrimaryTreeSuspenseHandler(workInProgress2); + renderLanes2 = current2.child; + current2 = renderLanes2.sibling; + renderLanes2 = createWorkInProgress(renderLanes2, { + mode: "visible", + children: nextProps.children + }); + renderLanes2.return = workInProgress2; + renderLanes2.sibling = null; + null !== current2 && (JSCompiler_temp = workInProgress2.deletions, null === JSCompiler_temp ? (workInProgress2.deletions = [current2], workInProgress2.flags |= 16) : JSCompiler_temp.push(current2)); + workInProgress2.child = renderLanes2; + workInProgress2.memoizedState = null; + return renderLanes2; + } + function mountSuspensePrimaryChildren(workInProgress2, primaryChildren) { + primaryChildren = mountWorkInProgressOffscreenFiber( + { mode: "visible", children: primaryChildren }, + workInProgress2.mode + ); + primaryChildren.return = workInProgress2; + return workInProgress2.child = primaryChildren; + } + function mountWorkInProgressOffscreenFiber(offscreenProps, mode) { + return createFiberFromOffscreen(offscreenProps, mode, 0, null); + } + function retrySuspenseComponentWithoutHydrating(current2, workInProgress2, renderLanes2) { + reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2); + current2 = mountSuspensePrimaryChildren( + workInProgress2, + workInProgress2.pendingProps.children + ); + current2.flags |= 2; + workInProgress2.memoizedState = null; + return current2; + } + function scheduleSuspenseWorkOnFiber(fiber, renderLanes2, propagationRoot) { + fiber.lanes |= renderLanes2; + var alternate = fiber.alternate; + null !== alternate && (alternate.lanes |= renderLanes2); + scheduleContextWorkOnParentPath( + fiber.return, + renderLanes2, + propagationRoot + ); + } + function validateSuspenseListNestedChild(childSlot, index) { + var isAnArray = isArrayImpl(childSlot); + childSlot = !isAnArray && "function" === typeof getIteratorFn(childSlot); + return isAnArray || childSlot ? (isAnArray = isAnArray ? "array" : "iterable", console.error( + "A nested %s was passed to row #%s in <SuspenseList />. Wrap it in an additional SuspenseList to configure its revealOrder: <SuspenseList revealOrder=...> ... <SuspenseList revealOrder=...>{%s}</SuspenseList> ... </SuspenseList>", + isAnArray, + index, + isAnArray + ), false) : true; + } + function initSuspenseListRenderState(workInProgress2, isBackwards, tail, lastContentRow, tailMode) { + var renderState = workInProgress2.memoizedState; + null === renderState ? workInProgress2.memoizedState = { + isBackwards, + rendering: null, + renderingStartTime: 0, + last: lastContentRow, + tail, + tailMode + } : (renderState.isBackwards = isBackwards, renderState.rendering = null, renderState.renderingStartTime = 0, renderState.last = lastContentRow, renderState.tail = tail, renderState.tailMode = tailMode); + } + function updateSuspenseListComponent(current2, workInProgress2, renderLanes2) { + var nextProps = workInProgress2.pendingProps, revealOrder = nextProps.revealOrder, tailMode = nextProps.tail; + nextProps = nextProps.children; + if (void 0 !== revealOrder && "forwards" !== revealOrder && "backwards" !== revealOrder && "together" !== revealOrder && !didWarnAboutRevealOrder[revealOrder]) + if (didWarnAboutRevealOrder[revealOrder] = true, "string" === typeof revealOrder) + switch (revealOrder.toLowerCase()) { + case "together": + case "forwards": + case "backwards": + console.error( + '"%s" is not a valid value for revealOrder on <SuspenseList />. Use lowercase "%s" instead.', + revealOrder, + revealOrder.toLowerCase() + ); + break; + case "forward": + case "backward": + console.error( + '"%s" is not a valid value for revealOrder on <SuspenseList />. React uses the -s suffix in the spelling. Use "%ss" instead.', + revealOrder, + revealOrder.toLowerCase() + ); + break; + default: + console.error( + '"%s" is not a supported revealOrder on <SuspenseList />. Did you mean "together", "forwards" or "backwards"?', + revealOrder + ); + } + else + console.error( + '%s is not a supported value for revealOrder on <SuspenseList />. Did you mean "together", "forwards" or "backwards"?', + revealOrder + ); + void 0 === tailMode || didWarnAboutTailOptions[tailMode] || ("collapsed" !== tailMode && "hidden" !== tailMode ? (didWarnAboutTailOptions[tailMode] = true, console.error( + '"%s" is not a supported value for tail on <SuspenseList />. Did you mean "collapsed" or "hidden"?', + tailMode + )) : "forwards" !== revealOrder && "backwards" !== revealOrder && (didWarnAboutTailOptions[tailMode] = true, console.error( + '<SuspenseList tail="%s" /> is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?', + tailMode + ))); + a: if (("forwards" === revealOrder || "backwards" === revealOrder) && void 0 !== nextProps && null !== nextProps && false !== nextProps) + if (isArrayImpl(nextProps)) + for (var i = 0; i < nextProps.length; i++) { + if (!validateSuspenseListNestedChild(nextProps[i], i)) break a; + } + else if (i = getIteratorFn(nextProps), "function" === typeof i) { + if (i = i.call(nextProps)) + for (var step = i.next(), _i = 0; !step.done; step = i.next()) { + if (!validateSuspenseListNestedChild(step.value, _i)) break a; + _i++; + } + } else + console.error( + 'A single row was passed to a <SuspenseList revealOrder="%s" />. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?', + revealOrder + ); + reconcileChildren(current2, workInProgress2, nextProps, renderLanes2); + nextProps = suspenseStackCursor.current; + if (0 !== (nextProps & ForceSuspenseFallback)) + nextProps = nextProps & SubtreeSuspenseContextMask | ForceSuspenseFallback, workInProgress2.flags |= 128; + else { + if (null !== current2 && 0 !== (current2.flags & 128)) + a: for (current2 = workInProgress2.child; null !== current2; ) { + if (13 === current2.tag) + null !== current2.memoizedState && scheduleSuspenseWorkOnFiber( + current2, + renderLanes2, + workInProgress2 + ); + else if (19 === current2.tag) + scheduleSuspenseWorkOnFiber(current2, renderLanes2, workInProgress2); + else if (null !== current2.child) { + current2.child.return = current2; + current2 = current2.child; + continue; + } + if (current2 === workInProgress2) break a; + for (; null === current2.sibling; ) { + if (null === current2.return || current2.return === workInProgress2) + break a; + current2 = current2.return; + } + current2.sibling.return = current2.return; + current2 = current2.sibling; + } + nextProps &= SubtreeSuspenseContextMask; + } + push(suspenseStackCursor, nextProps, workInProgress2); + switch (revealOrder) { + case "forwards": + renderLanes2 = workInProgress2.child; + for (revealOrder = null; null !== renderLanes2; ) + current2 = renderLanes2.alternate, null !== current2 && null === findFirstSuspended(current2) && (revealOrder = renderLanes2), renderLanes2 = renderLanes2.sibling; + renderLanes2 = revealOrder; + null === renderLanes2 ? (revealOrder = workInProgress2.child, workInProgress2.child = null) : (revealOrder = renderLanes2.sibling, renderLanes2.sibling = null); + initSuspenseListRenderState( + workInProgress2, + false, + revealOrder, + renderLanes2, + tailMode + ); + break; + case "backwards": + renderLanes2 = null; + revealOrder = workInProgress2.child; + for (workInProgress2.child = null; null !== revealOrder; ) { + current2 = revealOrder.alternate; + if (null !== current2 && null === findFirstSuspended(current2)) { + workInProgress2.child = revealOrder; + break; + } + current2 = revealOrder.sibling; + revealOrder.sibling = renderLanes2; + renderLanes2 = revealOrder; + revealOrder = current2; + } + initSuspenseListRenderState( + workInProgress2, + true, + renderLanes2, + null, + tailMode + ); + break; + case "together": + initSuspenseListRenderState(workInProgress2, false, null, null, void 0); + break; + default: + workInProgress2.memoizedState = null; + } + return workInProgress2.child; + } + function bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2) { + null !== current2 && (workInProgress2.dependencies = current2.dependencies); + profilerStartTime = -1; + workInProgressRootSkippedLanes |= workInProgress2.lanes; + if (0 === (renderLanes2 & workInProgress2.childLanes)) + if (null !== current2) { + if (propagateParentContextChanges( + current2, + workInProgress2, + renderLanes2, + false + ), 0 === (renderLanes2 & workInProgress2.childLanes)) + return null; + } else return null; + if (null !== current2 && workInProgress2.child !== current2.child) + throw Error("Resuming work not yet implemented."); + if (null !== workInProgress2.child) { + current2 = workInProgress2.child; + renderLanes2 = createWorkInProgress(current2, current2.pendingProps); + workInProgress2.child = renderLanes2; + for (renderLanes2.return = workInProgress2; null !== current2.sibling; ) + current2 = current2.sibling, renderLanes2 = renderLanes2.sibling = createWorkInProgress(current2, current2.pendingProps), renderLanes2.return = workInProgress2; + renderLanes2.sibling = null; + } + return workInProgress2.child; + } + function checkScheduledUpdateOrContext(current2, renderLanes2) { + if (0 !== (current2.lanes & renderLanes2)) return true; + current2 = current2.dependencies; + return null !== current2 && checkIfContextChanged(current2) ? true : false; + } + function attemptEarlyBailoutIfNoScheduledUpdate(current2, workInProgress2, renderLanes2) { + switch (workInProgress2.tag) { + case 3: + pushHostContainer( + workInProgress2, + workInProgress2.stateNode.containerInfo + ); + pushProvider( + workInProgress2, + CacheContext, + current2.memoizedState.cache + ); + resetHydrationState(); + break; + case 27: + case 5: + pushHostContext(workInProgress2); + break; + case 4: + pushHostContainer( + workInProgress2, + workInProgress2.stateNode.containerInfo + ); + break; + case 10: + pushProvider( + workInProgress2, + workInProgress2.type, + workInProgress2.memoizedProps.value + ); + break; + case 12: + 0 !== (renderLanes2 & workInProgress2.childLanes) && (workInProgress2.flags |= 4); + workInProgress2.flags |= 2048; + var stateNode = workInProgress2.stateNode; + stateNode.effectDuration = -0; + stateNode.passiveEffectDuration = -0; + break; + case 13: + stateNode = workInProgress2.memoizedState; + if (null !== stateNode) { + if (null !== stateNode.dehydrated) + return pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags |= 128, null; + if (0 !== (renderLanes2 & workInProgress2.child.childLanes)) + return updateSuspenseComponent( + current2, + workInProgress2, + renderLanes2 + ); + pushPrimaryTreeSuspenseHandler(workInProgress2); + current2 = bailoutOnAlreadyFinishedWork( + current2, + workInProgress2, + renderLanes2 + ); + return null !== current2 ? current2.sibling : null; + } + pushPrimaryTreeSuspenseHandler(workInProgress2); + break; + case 19: + var didSuspendBefore = 0 !== (current2.flags & 128); + stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes); + stateNode || (propagateParentContextChanges( + current2, + workInProgress2, + renderLanes2, + false + ), stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes)); + if (didSuspendBefore) { + if (stateNode) + return updateSuspenseListComponent( + current2, + workInProgress2, + renderLanes2 + ); + workInProgress2.flags |= 128; + } + didSuspendBefore = workInProgress2.memoizedState; + null !== didSuspendBefore && (didSuspendBefore.rendering = null, didSuspendBefore.tail = null, didSuspendBefore.lastEffect = null); + push( + suspenseStackCursor, + suspenseStackCursor.current, + workInProgress2 + ); + if (stateNode) break; + else return null; + case 22: + case 23: + return workInProgress2.lanes = 0, updateOffscreenComponent(current2, workInProgress2, renderLanes2); + case 24: + pushProvider( + workInProgress2, + CacheContext, + current2.memoizedState.cache + ); + } + return bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + } + function beginWork(current2, workInProgress2, renderLanes2) { + if (workInProgress2._debugNeedsRemount && null !== current2) { + renderLanes2 = createFiberFromTypeAndProps( + workInProgress2.type, + workInProgress2.key, + workInProgress2.pendingProps, + workInProgress2._debugOwner || null, + workInProgress2.mode, + workInProgress2.lanes + ); + var returnFiber = workInProgress2.return; + if (null === returnFiber) throw Error("Cannot swap the root fiber."); + current2.alternate = null; + workInProgress2.alternate = null; + renderLanes2.index = workInProgress2.index; + renderLanes2.sibling = workInProgress2.sibling; + renderLanes2.return = workInProgress2.return; + renderLanes2.ref = workInProgress2.ref; + renderLanes2._debugInfo = workInProgress2._debugInfo; + if (workInProgress2 === returnFiber.child) + returnFiber.child = renderLanes2; + else { + var prevSibling = returnFiber.child; + if (null === prevSibling) + throw Error("Expected parent to have a child."); + for (; prevSibling.sibling !== workInProgress2; ) + if (prevSibling = prevSibling.sibling, null === prevSibling) + throw Error("Expected to find the previous sibling."); + prevSibling.sibling = renderLanes2; + } + workInProgress2 = returnFiber.deletions; + null === workInProgress2 ? (returnFiber.deletions = [current2], returnFiber.flags |= 16) : workInProgress2.push(current2); + renderLanes2.flags |= 2; + return renderLanes2; + } + if (null !== current2) + if (current2.memoizedProps !== workInProgress2.pendingProps || workInProgress2.type !== current2.type) + didReceiveUpdate = true; + else { + if (!checkScheduledUpdateOrContext(current2, renderLanes2) && 0 === (workInProgress2.flags & 128)) + return didReceiveUpdate = false, attemptEarlyBailoutIfNoScheduledUpdate( + current2, + workInProgress2, + renderLanes2 + ); + didReceiveUpdate = 0 !== (current2.flags & 131072) ? true : false; + } + else { + didReceiveUpdate = false; + if (returnFiber = isHydrating) + warnIfNotHydrating(), returnFiber = 0 !== (workInProgress2.flags & 1048576); + returnFiber && (returnFiber = workInProgress2.index, warnIfNotHydrating(), pushTreeId(workInProgress2, treeForkCount, returnFiber)); + } + workInProgress2.lanes = 0; + switch (workInProgress2.tag) { + case 16: + a: if (returnFiber = workInProgress2.pendingProps, current2 = callLazyInitInDEV(workInProgress2.elementType), workInProgress2.type = current2, "function" === typeof current2) + shouldConstruct(current2) ? (returnFiber = resolveClassComponentProps( + current2, + returnFiber + ), workInProgress2.tag = 1, workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateClassComponent( + null, + workInProgress2, + current2, + returnFiber, + renderLanes2 + )) : (workInProgress2.tag = 0, validateFunctionComponentInDev(workInProgress2, current2), workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateFunctionComponent( + null, + workInProgress2, + current2, + returnFiber, + renderLanes2 + )); + else { + if (void 0 !== current2 && null !== current2) { + if (prevSibling = current2.$$typeof, prevSibling === REACT_FORWARD_REF_TYPE) { + workInProgress2.tag = 11; + workInProgress2.type = current2 = resolveForwardRefForHotReloading(current2); + workInProgress2 = updateForwardRef( + null, + workInProgress2, + current2, + returnFiber, + renderLanes2 + ); + break a; + } else if (prevSibling === REACT_MEMO_TYPE) { + workInProgress2.tag = 14; + workInProgress2 = updateMemoComponent( + null, + workInProgress2, + current2, + returnFiber, + renderLanes2 + ); + break a; + } + } + workInProgress2 = ""; + null !== current2 && "object" === typeof current2 && current2.$$typeof === REACT_LAZY_TYPE && (workInProgress2 = " Did you wrap a component in React.lazy() more than once?"); + current2 = getComponentNameFromType(current2) || current2; + throw Error( + "Element type is invalid. Received a promise that resolves to: " + current2 + ". Lazy element type must resolve to a class or function." + workInProgress2 + ); + } + return workInProgress2; + case 0: + return updateFunctionComponent( + current2, + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps, + renderLanes2 + ); + case 1: + return returnFiber = workInProgress2.type, prevSibling = resolveClassComponentProps( + returnFiber, + workInProgress2.pendingProps + ), updateClassComponent( + current2, + workInProgress2, + returnFiber, + prevSibling, + renderLanes2 + ); + case 3: + a: { + pushHostContainer( + workInProgress2, + workInProgress2.stateNode.containerInfo + ); + if (null === current2) + throw Error( + "Should have a current fiber. This is a bug in React." + ); + var nextProps = workInProgress2.pendingProps; + prevSibling = workInProgress2.memoizedState; + returnFiber = prevSibling.element; + cloneUpdateQueue(current2, workInProgress2); + processUpdateQueue(workInProgress2, nextProps, null, renderLanes2); + var nextState = workInProgress2.memoizedState; + nextProps = nextState.cache; + pushProvider(workInProgress2, CacheContext, nextProps); + nextProps !== prevSibling.cache && propagateContextChanges( + workInProgress2, + [CacheContext], + renderLanes2, + true + ); + suspendIfUpdateReadFromEntangledAsyncAction(); + nextProps = nextState.element; + if (supportsHydration && prevSibling.isDehydrated) + if (prevSibling = { + element: nextProps, + isDehydrated: false, + cache: nextState.cache + }, workInProgress2.updateQueue.baseState = prevSibling, workInProgress2.memoizedState = prevSibling, workInProgress2.flags & 256) { + workInProgress2 = mountHostRootWithoutHydrating( + current2, + workInProgress2, + nextProps, + renderLanes2 + ); + break a; + } else if (nextProps !== returnFiber) { + returnFiber = createCapturedValueAtFiber( + Error( + "This root received an early update, before anything was able hydrate. Switched the entire root to client rendering." + ), + workInProgress2 + ); + queueHydrationError(returnFiber); + workInProgress2 = mountHostRootWithoutHydrating( + current2, + workInProgress2, + nextProps, + renderLanes2 + ); + break a; + } else + for (supportsHydration && (nextHydratableInstance = getFirstHydratableChildWithinContainer( + workInProgress2.stateNode.containerInfo + ), hydrationParentFiber = workInProgress2, isHydrating = true, hydrationErrors = null, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, rootOrSingletonContext = true), current2 = mountChildFibers( + workInProgress2, + null, + nextProps, + renderLanes2 + ), workInProgress2.child = current2; current2; ) + current2.flags = current2.flags & -3 | 4096, current2 = current2.sibling; + else { + resetHydrationState(); + if (nextProps === returnFiber) { + workInProgress2 = bailoutOnAlreadyFinishedWork( + current2, + workInProgress2, + renderLanes2 + ); + break a; + } + reconcileChildren( + current2, + workInProgress2, + nextProps, + renderLanes2 + ); + } + workInProgress2 = workInProgress2.child; + } + return workInProgress2; + case 26: + if (supportsResources) + return markRef(current2, workInProgress2), null === current2 ? (current2 = getResource( + workInProgress2.type, + null, + workInProgress2.pendingProps, + null + )) ? workInProgress2.memoizedState = current2 : isHydrating || (workInProgress2.stateNode = createHoistableInstance( + workInProgress2.type, + workInProgress2.pendingProps, + requiredContext(rootInstanceStackCursor.current), + workInProgress2 + )) : workInProgress2.memoizedState = getResource( + workInProgress2.type, + current2.memoizedProps, + workInProgress2.pendingProps, + current2.memoizedState + ), null; + case 27: + if (supportsSingletons) + return pushHostContext(workInProgress2), null === current2 && supportsSingletons && isHydrating && (prevSibling = requiredContext( + rootInstanceStackCursor.current + ), returnFiber = getHostContext(), prevSibling = workInProgress2.stateNode = resolveSingletonInstance( + workInProgress2.type, + workInProgress2.pendingProps, + prevSibling, + returnFiber, + false + ), didSuspendOrErrorDEV || (returnFiber = diffHydratedPropsForDevWarnings( + prevSibling, + workInProgress2.type, + workInProgress2.pendingProps, + returnFiber + ), null !== returnFiber && (buildHydrationDiffNode(workInProgress2, 0).serverProps = returnFiber)), hydrationParentFiber = workInProgress2, rootOrSingletonContext = true, nextHydratableInstance = getFirstHydratableChild(prevSibling)), returnFiber = workInProgress2.pendingProps.children, null !== current2 || isHydrating ? reconcileChildren( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ) : workInProgress2.child = reconcileChildFibers( + workInProgress2, + null, + returnFiber, + renderLanes2 + ), markRef(current2, workInProgress2), workInProgress2.child; + case 5: + return null === current2 && isHydrating && (nextProps = getHostContext(), returnFiber = validateHydratableInstance( + workInProgress2.type, + workInProgress2.pendingProps, + nextProps + ), prevSibling = nextHydratableInstance, (nextState = !prevSibling) || (nextState = canHydrateInstance( + prevSibling, + workInProgress2.type, + workInProgress2.pendingProps, + rootOrSingletonContext + ), null !== nextState ? (workInProgress2.stateNode = nextState, didSuspendOrErrorDEV || (nextProps = diffHydratedPropsForDevWarnings( + nextState, + workInProgress2.type, + workInProgress2.pendingProps, + nextProps + ), null !== nextProps && (buildHydrationDiffNode(workInProgress2, 0).serverProps = nextProps)), hydrationParentFiber = workInProgress2, nextHydratableInstance = getFirstHydratableChild(nextState), rootOrSingletonContext = false, nextProps = true) : nextProps = false, nextState = !nextProps), nextState && (returnFiber && warnNonHydratedInstance(workInProgress2, prevSibling), throwOnHydrationMismatch(workInProgress2))), pushHostContext(workInProgress2), prevSibling = workInProgress2.type, nextProps = workInProgress2.pendingProps, nextState = null !== current2 ? current2.memoizedProps : null, returnFiber = nextProps.children, shouldSetTextContent(prevSibling, nextProps) ? returnFiber = null : null !== nextState && shouldSetTextContent(prevSibling, nextState) && (workInProgress2.flags |= 32), null !== workInProgress2.memoizedState && (prevSibling = renderWithHooks( + current2, + workInProgress2, + TransitionAwareHostComponent, + null, + null, + renderLanes2 + ), isPrimaryRenderer ? HostTransitionContext._currentValue = prevSibling : HostTransitionContext._currentValue2 = prevSibling), markRef(current2, workInProgress2), reconcileChildren( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ), workInProgress2.child; + case 6: + return null === current2 && isHydrating && (current2 = workInProgress2.pendingProps, renderLanes2 = getHostContext(), current2 = validateHydratableTextInstance(current2, renderLanes2), renderLanes2 = nextHydratableInstance, (returnFiber = !renderLanes2) || (returnFiber = canHydrateTextInstance( + renderLanes2, + workInProgress2.pendingProps, + rootOrSingletonContext + ), null !== returnFiber ? (workInProgress2.stateNode = returnFiber, hydrationParentFiber = workInProgress2, nextHydratableInstance = null, returnFiber = true) : returnFiber = false, returnFiber = !returnFiber), returnFiber && (current2 && warnNonHydratedInstance(workInProgress2, renderLanes2), throwOnHydrationMismatch(workInProgress2))), null; + case 13: + return updateSuspenseComponent(current2, workInProgress2, renderLanes2); + case 4: + return pushHostContainer( + workInProgress2, + workInProgress2.stateNode.containerInfo + ), returnFiber = workInProgress2.pendingProps, null === current2 ? workInProgress2.child = reconcileChildFibers( + workInProgress2, + null, + returnFiber, + renderLanes2 + ) : reconcileChildren( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ), workInProgress2.child; + case 11: + return updateForwardRef( + current2, + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps, + renderLanes2 + ); + case 7: + return reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps, + renderLanes2 + ), workInProgress2.child; + case 8: + return reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps.children, + renderLanes2 + ), workInProgress2.child; + case 12: + return workInProgress2.flags |= 4, workInProgress2.flags |= 2048, returnFiber = workInProgress2.stateNode, returnFiber.effectDuration = -0, returnFiber.passiveEffectDuration = -0, reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps.children, + renderLanes2 + ), workInProgress2.child; + case 10: + return returnFiber = workInProgress2.type, prevSibling = workInProgress2.pendingProps, nextProps = prevSibling.value, "value" in prevSibling || hasWarnedAboutUsingNoValuePropOnContextProvider || (hasWarnedAboutUsingNoValuePropOnContextProvider = true, console.error( + "The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?" + )), pushProvider(workInProgress2, returnFiber, nextProps), reconcileChildren( + current2, + workInProgress2, + prevSibling.children, + renderLanes2 + ), workInProgress2.child; + case 9: + return prevSibling = workInProgress2.type._context, returnFiber = workInProgress2.pendingProps.children, "function" !== typeof returnFiber && console.error( + "A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it." + ), prepareToReadContext(workInProgress2), prevSibling = readContext(prevSibling), markComponentRenderStarted(workInProgress2), returnFiber = callComponentInDEV( + returnFiber, + prevSibling, + void 0 + ), markComponentRenderStopped(), workInProgress2.flags |= 1, reconcileChildren( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ), workInProgress2.child; + case 14: + return updateMemoComponent( + current2, + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps, + renderLanes2 + ); + case 15: + return updateSimpleMemoComponent( + current2, + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps, + renderLanes2 + ); + case 19: + return updateSuspenseListComponent( + current2, + workInProgress2, + renderLanes2 + ); + case 22: + return updateOffscreenComponent(current2, workInProgress2, renderLanes2); + case 24: + return prepareToReadContext(workInProgress2), returnFiber = readContext(CacheContext), null === current2 ? (prevSibling = peekCacheFromPool(), null === prevSibling && (prevSibling = workInProgressRoot, nextProps = createCache(), prevSibling.pooledCache = nextProps, retainCache(nextProps), null !== nextProps && (prevSibling.pooledCacheLanes |= renderLanes2), prevSibling = nextProps), workInProgress2.memoizedState = { + parent: returnFiber, + cache: prevSibling + }, initializeUpdateQueue(workInProgress2), pushProvider(workInProgress2, CacheContext, prevSibling)) : (0 !== (current2.lanes & renderLanes2) && (cloneUpdateQueue(current2, workInProgress2), processUpdateQueue(workInProgress2, null, null, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction()), prevSibling = current2.memoizedState, nextProps = workInProgress2.memoizedState, prevSibling.parent !== returnFiber ? (prevSibling = { + parent: returnFiber, + cache: returnFiber + }, workInProgress2.memoizedState = prevSibling, 0 === workInProgress2.lanes && (workInProgress2.memoizedState = workInProgress2.updateQueue.baseState = prevSibling), pushProvider(workInProgress2, CacheContext, returnFiber)) : (returnFiber = nextProps.cache, pushProvider(workInProgress2, CacheContext, returnFiber), returnFiber !== prevSibling.cache && propagateContextChanges( + workInProgress2, + [CacheContext], + renderLanes2, + true + ))), reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps.children, + renderLanes2 + ), workInProgress2.child; + case 29: + throw workInProgress2.pendingProps; + } + throw Error( + "Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue." + ); + } + function resetContextDependencies() { + lastContextDependency = currentlyRenderingFiber = null; + isDisallowedContextReadInDEV = false; + } + function pushProvider(providerFiber, context, nextValue) { + isPrimaryRenderer ? (push(valueCursor, context._currentValue, providerFiber), context._currentValue = nextValue, push(rendererCursorDEV, context._currentRenderer, providerFiber), void 0 !== context._currentRenderer && null !== context._currentRenderer && context._currentRenderer !== rendererSigil && console.error( + "Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported." + ), context._currentRenderer = rendererSigil) : (push(valueCursor, context._currentValue2, providerFiber), context._currentValue2 = nextValue, push(renderer2CursorDEV, context._currentRenderer2, providerFiber), void 0 !== context._currentRenderer2 && null !== context._currentRenderer2 && context._currentRenderer2 !== rendererSigil && console.error( + "Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported." + ), context._currentRenderer2 = rendererSigil); + } + function popProvider(context, providerFiber) { + var currentValue = valueCursor.current; + isPrimaryRenderer ? (context._currentValue = currentValue, currentValue = rendererCursorDEV.current, pop(rendererCursorDEV, providerFiber), context._currentRenderer = currentValue) : (context._currentValue2 = currentValue, currentValue = renderer2CursorDEV.current, pop(renderer2CursorDEV, providerFiber), context._currentRenderer2 = currentValue); + pop(valueCursor, providerFiber); + } + function scheduleContextWorkOnParentPath(parent, renderLanes2, propagationRoot) { + for (; null !== parent; ) { + var alternate = parent.alternate; + (parent.childLanes & renderLanes2) !== renderLanes2 ? (parent.childLanes |= renderLanes2, null !== alternate && (alternate.childLanes |= renderLanes2)) : null !== alternate && (alternate.childLanes & renderLanes2) !== renderLanes2 && (alternate.childLanes |= renderLanes2); + if (parent === propagationRoot) break; + parent = parent.return; + } + parent !== propagationRoot && console.error( + "Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue." + ); + } + function propagateContextChanges(workInProgress2, contexts, renderLanes2, forcePropagateEntireTree) { + var fiber = workInProgress2.child; + null !== fiber && (fiber.return = workInProgress2); + for (; null !== fiber; ) { + var list = fiber.dependencies; + if (null !== list) { + var nextFiber = fiber.child; + list = list.firstContext; + a: for (; null !== list; ) { + var dependency = list; + list = fiber; + for (var i = 0; i < contexts.length; i++) + if (dependency.context === contexts[i]) { + list.lanes |= renderLanes2; + dependency = list.alternate; + null !== dependency && (dependency.lanes |= renderLanes2); + scheduleContextWorkOnParentPath( + list.return, + renderLanes2, + workInProgress2 + ); + forcePropagateEntireTree || (nextFiber = null); + break a; + } + list = dependency.next; + } + } else if (18 === fiber.tag) { + nextFiber = fiber.return; + if (null === nextFiber) + throw Error( + "We just came from a parent so we must have had a parent. This is a bug in React." + ); + nextFiber.lanes |= renderLanes2; + list = nextFiber.alternate; + null !== list && (list.lanes |= renderLanes2); + scheduleContextWorkOnParentPath( + nextFiber, + renderLanes2, + workInProgress2 + ); + nextFiber = null; + } else nextFiber = fiber.child; + if (null !== nextFiber) nextFiber.return = fiber; + else + for (nextFiber = fiber; null !== nextFiber; ) { + if (nextFiber === workInProgress2) { + nextFiber = null; + break; + } + fiber = nextFiber.sibling; + if (null !== fiber) { + fiber.return = nextFiber.return; + nextFiber = fiber; + break; + } + nextFiber = nextFiber.return; + } + fiber = nextFiber; + } + } + function propagateParentContextChanges(current2, workInProgress2, renderLanes2, forcePropagateEntireTree) { + current2 = null; + for (var parent = workInProgress2, isInsidePropagationBailout = false; null !== parent; ) { + if (!isInsidePropagationBailout) { + if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = true; + else if (0 !== (parent.flags & 262144)) break; + } + if (10 === parent.tag) { + var currentParent = parent.alternate; + if (null === currentParent) + throw Error("Should have a current fiber. This is a bug in React."); + currentParent = currentParent.memoizedProps; + if (null !== currentParent) { + var context = parent.type; + objectIs(parent.pendingProps.value, currentParent.value) || (null !== current2 ? current2.push(context) : current2 = [context]); + } + } else if (parent === hostTransitionProviderCursor.current) { + currentParent = parent.alternate; + if (null === currentParent) + throw Error("Should have a current fiber. This is a bug in React."); + currentParent.memoizedState.memoizedState !== parent.memoizedState.memoizedState && (null !== current2 ? current2.push(HostTransitionContext) : current2 = [HostTransitionContext]); + } + parent = parent.return; + } + null !== current2 && propagateContextChanges( + workInProgress2, + current2, + renderLanes2, + forcePropagateEntireTree + ); + workInProgress2.flags |= 262144; + } + function checkIfContextChanged(currentDependencies) { + for (currentDependencies = currentDependencies.firstContext; null !== currentDependencies; ) { + var context = currentDependencies.context; + if (!objectIs( + isPrimaryRenderer ? context._currentValue : context._currentValue2, + currentDependencies.memoizedValue + )) + return true; + currentDependencies = currentDependencies.next; + } + return false; + } + function prepareToReadContext(workInProgress2) { + currentlyRenderingFiber = workInProgress2; + lastContextDependency = null; + workInProgress2 = workInProgress2.dependencies; + null !== workInProgress2 && (workInProgress2.firstContext = null); + } + function readContext(context) { + isDisallowedContextReadInDEV && console.error( + "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()." + ); + return readContextForConsumer(currentlyRenderingFiber, context); + } + function readContextDuringReconciliation(consumer, context) { + null === currentlyRenderingFiber && prepareToReadContext(consumer); + return readContextForConsumer(consumer, context); + } + function readContextForConsumer(consumer, context) { + var value = isPrimaryRenderer ? context._currentValue : context._currentValue2; + context = { context, memoizedValue: value, next: null }; + if (null === lastContextDependency) { + if (null === consumer) + throw Error( + "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()." + ); + lastContextDependency = context; + consumer.dependencies = { + lanes: 0, + firstContext: context, + _debugThenableState: null + }; + consumer.flags |= 524288; + } else lastContextDependency = lastContextDependency.next = context; + return value; + } + function createCache() { + return { + controller: new AbortControllerLocal(), + data: /* @__PURE__ */ new Map(), + refCount: 0 + }; + } + function retainCache(cache) { + cache.controller.signal.aborted && console.warn( + "A cache instance was retained after it was already freed. This likely indicates a bug in React." + ); + cache.refCount++; + } + function releaseCache(cache) { + cache.refCount--; + 0 > cache.refCount && console.warn( + "A cache instance was released after it was already freed. This likely indicates a bug in React." + ); + 0 === cache.refCount && scheduleCallback$1(NormalPriority, function() { + cache.controller.abort(); + }); + } + function peekCacheFromPool() { + var cacheResumedFromPreviousRender = resumedCache.current; + return null !== cacheResumedFromPreviousRender ? cacheResumedFromPreviousRender : workInProgressRoot.pooledCache; + } + function pushTransition(offscreenWorkInProgress, prevCachePool) { + null === prevCachePool ? push(resumedCache, resumedCache.current, offscreenWorkInProgress) : push(resumedCache, prevCachePool.pool, offscreenWorkInProgress); + } + function getSuspendedCache() { + var cacheFromPool = peekCacheFromPool(); + return null === cacheFromPool ? null : { + parent: isPrimaryRenderer ? CacheContext._currentValue : CacheContext._currentValue2, + pool: cacheFromPool + }; + } + function markUpdate(workInProgress2) { + workInProgress2.flags |= 4; + } + function doesRequireClone(current2, completedWork) { + if (null !== current2 && current2.child === completedWork.child) return false; + if (0 !== (completedWork.flags & 16)) return true; + for (current2 = completedWork.child; null !== current2; ) { + if (0 !== (current2.flags & 13878) || 0 !== (current2.subtreeFlags & 13878)) + return true; + current2 = current2.sibling; + } + return false; + } + function appendAllChildren(parent, workInProgress2, needsVisibilityToggle, isHidden) { + if (supportsMutation) + for (needsVisibilityToggle = workInProgress2.child; null !== needsVisibilityToggle; ) { + if (5 === needsVisibilityToggle.tag || 6 === needsVisibilityToggle.tag) + appendInitialChild(parent, needsVisibilityToggle.stateNode); + else if (!(4 === needsVisibilityToggle.tag || supportsSingletons && 27 === needsVisibilityToggle.tag) && null !== needsVisibilityToggle.child) { + needsVisibilityToggle.child.return = needsVisibilityToggle; + needsVisibilityToggle = needsVisibilityToggle.child; + continue; + } + if (needsVisibilityToggle === workInProgress2) break; + for (; null === needsVisibilityToggle.sibling; ) { + if (null === needsVisibilityToggle.return || needsVisibilityToggle.return === workInProgress2) + return; + needsVisibilityToggle = needsVisibilityToggle.return; + } + needsVisibilityToggle.sibling.return = needsVisibilityToggle.return; + needsVisibilityToggle = needsVisibilityToggle.sibling; + } + else if (supportsPersistence) + for (var _node = workInProgress2.child; null !== _node; ) { + if (5 === _node.tag) { + var instance = _node.stateNode; + needsVisibilityToggle && isHidden && (instance = cloneHiddenInstance( + instance, + _node.type, + _node.memoizedProps + )); + appendInitialChild(parent, instance); + } else if (6 === _node.tag) + instance = _node.stateNode, needsVisibilityToggle && isHidden && (instance = cloneHiddenTextInstance( + instance, + _node.memoizedProps + )), appendInitialChild(parent, instance); + else if (4 !== _node.tag) { + if (22 === _node.tag && null !== _node.memoizedState) + instance = _node.child, null !== instance && (instance.return = _node), appendAllChildren(parent, _node, true, true); + else if (null !== _node.child) { + _node.child.return = _node; + _node = _node.child; + continue; + } + } + if (_node === workInProgress2) break; + for (; null === _node.sibling; ) { + if (null === _node.return || _node.return === workInProgress2) + return; + _node = _node.return; + } + _node.sibling.return = _node.return; + _node = _node.sibling; + } + } + function appendAllChildrenToContainer(containerChildSet, workInProgress2, needsVisibilityToggle, isHidden) { + if (supportsPersistence) + for (var node = workInProgress2.child; null !== node; ) { + if (5 === node.tag) { + var instance = node.stateNode; + needsVisibilityToggle && isHidden && (instance = cloneHiddenInstance( + instance, + node.type, + node.memoizedProps + )); + appendChildToContainerChildSet(containerChildSet, instance); + } else if (6 === node.tag) + instance = node.stateNode, needsVisibilityToggle && isHidden && (instance = cloneHiddenTextInstance( + instance, + node.memoizedProps + )), appendChildToContainerChildSet(containerChildSet, instance); + else if (4 !== node.tag) { + if (22 === node.tag && null !== node.memoizedState) + instance = node.child, null !== instance && (instance.return = node), appendAllChildrenToContainer( + containerChildSet, + node, + !(null !== node.memoizedProps && "manual" === node.memoizedProps.mode), + true + ); + else if (null !== node.child) { + node.child.return = node; + node = node.child; + continue; + } + } + if (node === workInProgress2) break; + for (; null === node.sibling; ) { + if (null === node.return || node.return === workInProgress2) return; + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + } + function updateHostContainer(current2, workInProgress2) { + if (supportsPersistence && doesRequireClone(current2, workInProgress2)) { + current2 = workInProgress2.stateNode; + var container = current2.containerInfo, newChildSet = createContainerChildSet(); + appendAllChildrenToContainer(newChildSet, workInProgress2, false, false); + current2.pendingChildren = newChildSet; + markUpdate(workInProgress2); + finalizeContainerChildren(container, newChildSet); + } + } + function updateHostComponent(current2, workInProgress2, type, newProps) { + if (supportsMutation) + current2.memoizedProps !== newProps && markUpdate(workInProgress2); + else if (supportsPersistence) { + var currentInstance = current2.stateNode, _oldProps = current2.memoizedProps; + if ((current2 = doesRequireClone(current2, workInProgress2)) || _oldProps !== newProps) { + var currentHostContext = getHostContext(); + _oldProps = cloneInstance( + currentInstance, + type, + _oldProps, + newProps, + !current2, + null + ); + _oldProps === currentInstance ? workInProgress2.stateNode = currentInstance : (finalizeInitialChildren( + _oldProps, + type, + newProps, + currentHostContext + ) && markUpdate(workInProgress2), workInProgress2.stateNode = _oldProps, current2 ? appendAllChildren(_oldProps, workInProgress2, false, false) : markUpdate(workInProgress2)); + } else workInProgress2.stateNode = currentInstance; + } + } + function preloadInstanceAndSuspendIfNeeded(workInProgress2, type, props) { + if (maySuspendCommit(type, props)) { + if (workInProgress2.flags |= 16777216, !preloadInstance(type, props)) + if (shouldRemainOnPreviousScreen()) workInProgress2.flags |= 8192; + else + throw suspendedThenable = noopSuspenseyCommitThenable, SuspenseyCommitException; + } else workInProgress2.flags &= -16777217; + } + function preloadResourceAndSuspendIfNeeded(workInProgress2, resource) { + if (mayResourceSuspendCommit(resource)) { + if (workInProgress2.flags |= 16777216, !preloadResource(resource)) + if (shouldRemainOnPreviousScreen()) workInProgress2.flags |= 8192; + else + throw suspendedThenable = noopSuspenseyCommitThenable, SuspenseyCommitException; + } else workInProgress2.flags &= -16777217; + } + function scheduleRetryEffect(workInProgress2, retryQueue) { + null !== retryQueue && (workInProgress2.flags |= 4); + workInProgress2.flags & 16384 && (retryQueue = 22 !== workInProgress2.tag ? claimNextRetryLane() : 536870912, workInProgress2.lanes |= retryQueue, workInProgressSuspendedRetryLanes |= retryQueue); + } + function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) { + if (!isHydrating) + switch (renderState.tailMode) { + case "hidden": + hasRenderedATailFallback = renderState.tail; + for (var lastTailNode = null; null !== hasRenderedATailFallback; ) + null !== hasRenderedATailFallback.alternate && (lastTailNode = hasRenderedATailFallback), hasRenderedATailFallback = hasRenderedATailFallback.sibling; + null === lastTailNode ? renderState.tail = null : lastTailNode.sibling = null; + break; + case "collapsed": + lastTailNode = renderState.tail; + for (var _lastTailNode = null; null !== lastTailNode; ) + null !== lastTailNode.alternate && (_lastTailNode = lastTailNode), lastTailNode = lastTailNode.sibling; + null === _lastTailNode ? hasRenderedATailFallback || null === renderState.tail ? renderState.tail = null : renderState.tail.sibling = null : _lastTailNode.sibling = null; + } + } + function bubbleProperties(completedWork) { + var didBailout = null !== completedWork.alternate && completedWork.alternate.child === completedWork.child, newChildLanes = 0, subtreeFlags = 0; + if (didBailout) + if ((completedWork.mode & 2) !== NoMode) { + for (var _treeBaseDuration = completedWork.selfBaseDuration, _child2 = completedWork.child; null !== _child2; ) + newChildLanes |= _child2.lanes | _child2.childLanes, subtreeFlags |= _child2.subtreeFlags & 31457280, subtreeFlags |= _child2.flags & 31457280, _treeBaseDuration += _child2.treeBaseDuration, _child2 = _child2.sibling; + completedWork.treeBaseDuration = _treeBaseDuration; + } else + for (_treeBaseDuration = completedWork.child; null !== _treeBaseDuration; ) + newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags & 31457280, subtreeFlags |= _treeBaseDuration.flags & 31457280, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling; + else if ((completedWork.mode & 2) !== NoMode) { + _treeBaseDuration = completedWork.actualDuration; + _child2 = completedWork.selfBaseDuration; + for (var child = completedWork.child; null !== child; ) + newChildLanes |= child.lanes | child.childLanes, subtreeFlags |= child.subtreeFlags, subtreeFlags |= child.flags, _treeBaseDuration += child.actualDuration, _child2 += child.treeBaseDuration, child = child.sibling; + completedWork.actualDuration = _treeBaseDuration; + completedWork.treeBaseDuration = _child2; + } else + for (_treeBaseDuration = completedWork.child; null !== _treeBaseDuration; ) + newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags, subtreeFlags |= _treeBaseDuration.flags, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling; + completedWork.subtreeFlags |= subtreeFlags; + completedWork.childLanes = newChildLanes; + return didBailout; + } + function completeWork(current2, workInProgress2, renderLanes2) { + var newProps = workInProgress2.pendingProps; + popTreeContext(workInProgress2); + switch (workInProgress2.tag) { + case 16: + case 15: + case 0: + case 11: + case 7: + case 8: + case 12: + case 9: + case 14: + return bubbleProperties(workInProgress2), null; + case 1: + return bubbleProperties(workInProgress2), null; + case 3: + renderLanes2 = workInProgress2.stateNode; + newProps = null; + null !== current2 && (newProps = current2.memoizedState.cache); + workInProgress2.memoizedState.cache !== newProps && (workInProgress2.flags |= 2048); + popProvider(CacheContext, workInProgress2); + popHostContainer(workInProgress2); + renderLanes2.pendingContext && (renderLanes2.context = renderLanes2.pendingContext, renderLanes2.pendingContext = null); + if (null === current2 || null === current2.child) + popHydrationState(workInProgress2) ? (emitPendingHydrationWarnings(), markUpdate(workInProgress2)) : null === current2 || current2.memoizedState.isDehydrated && 0 === (workInProgress2.flags & 256) || (workInProgress2.flags |= 1024, null !== hydrationErrors && (queueRecoverableErrors(hydrationErrors), hydrationErrors = null)); + updateHostContainer(current2, workInProgress2); + bubbleProperties(workInProgress2); + return null; + case 26: + if (supportsResources) { + renderLanes2 = workInProgress2.type; + var nextResource = workInProgress2.memoizedState; + null === current2 ? (markUpdate(workInProgress2), null !== nextResource ? (bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded( + workInProgress2, + nextResource + )) : (bubbleProperties(workInProgress2), preloadInstanceAndSuspendIfNeeded( + workInProgress2, + renderLanes2, + newProps + ))) : nextResource ? nextResource !== current2.memoizedState ? (markUpdate(workInProgress2), bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded( + workInProgress2, + nextResource + )) : (bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217) : (supportsMutation ? current2.memoizedProps !== newProps && markUpdate(workInProgress2) : updateHostComponent( + current2, + workInProgress2, + renderLanes2, + newProps + ), bubbleProperties(workInProgress2), preloadInstanceAndSuspendIfNeeded( + workInProgress2, + renderLanes2, + newProps + )); + return null; + } + case 27: + if (supportsSingletons) { + popHostContext(workInProgress2); + renderLanes2 = requiredContext(rootInstanceStackCursor.current); + nextResource = workInProgress2.type; + if (null !== current2 && null != workInProgress2.stateNode) + supportsMutation ? current2.memoizedProps !== newProps && markUpdate(workInProgress2) : updateHostComponent( + current2, + workInProgress2, + nextResource, + newProps + ); + else { + if (!newProps) { + if (null === workInProgress2.stateNode) + throw Error( + "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." + ); + bubbleProperties(workInProgress2); + return null; + } + current2 = getHostContext(); + popHydrationState(workInProgress2) ? prepareToHydrateHostInstance(workInProgress2, current2) : (current2 = resolveSingletonInstance( + nextResource, + newProps, + renderLanes2, + current2, + true + ), workInProgress2.stateNode = current2, markUpdate(workInProgress2)); + } + bubbleProperties(workInProgress2); + return null; + } + case 5: + popHostContext(workInProgress2); + renderLanes2 = workInProgress2.type; + if (null !== current2 && null != workInProgress2.stateNode) + updateHostComponent(current2, workInProgress2, renderLanes2, newProps); + else { + if (!newProps) { + if (null === workInProgress2.stateNode) + throw Error( + "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." + ); + bubbleProperties(workInProgress2); + return null; + } + current2 = getHostContext(); + popHydrationState(workInProgress2) ? prepareToHydrateHostInstance(workInProgress2, current2) : (nextResource = requiredContext( + rootInstanceStackCursor.current + ), nextResource = createInstance( + renderLanes2, + newProps, + nextResource, + current2, + workInProgress2 + ), appendAllChildren(nextResource, workInProgress2, false, false), workInProgress2.stateNode = nextResource, finalizeInitialChildren( + nextResource, + renderLanes2, + newProps, + current2 + ) && markUpdate(workInProgress2)); + } + bubbleProperties(workInProgress2); + preloadInstanceAndSuspendIfNeeded( + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps + ); + return null; + case 6: + if (current2 && null != workInProgress2.stateNode) + renderLanes2 = current2.memoizedProps, supportsMutation ? renderLanes2 !== newProps && markUpdate(workInProgress2) : supportsPersistence && (renderLanes2 !== newProps ? (current2 = requiredContext( + rootInstanceStackCursor.current + ), renderLanes2 = getHostContext(), workInProgress2.stateNode = createTextInstance( + newProps, + current2, + renderLanes2, + workInProgress2 + ), markUpdate(workInProgress2)) : workInProgress2.stateNode = current2.stateNode); + else { + if ("string" !== typeof newProps && null === workInProgress2.stateNode) + throw Error( + "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." + ); + current2 = requiredContext(rootInstanceStackCursor.current); + renderLanes2 = getHostContext(); + if (popHydrationState(workInProgress2)) { + if (!supportsHydration) + throw Error( + "Expected prepareToHydrateHostTextInstance() to never be called. This error is likely caused by a bug in React. Please file an issue." + ); + current2 = workInProgress2.stateNode; + renderLanes2 = workInProgress2.memoizedProps; + nextResource = !didSuspendOrErrorDEV; + newProps = null; + var returnFiber = hydrationParentFiber; + if (null !== returnFiber) + switch (returnFiber.tag) { + case 3: + nextResource && (nextResource = diffHydratedTextForDevWarnings( + current2, + renderLanes2, + newProps + ), null !== nextResource && (buildHydrationDiffNode(workInProgress2, 0).serverProps = nextResource)); + break; + case 27: + case 5: + newProps = returnFiber.memoizedProps, nextResource && (nextResource = diffHydratedTextForDevWarnings( + current2, + renderLanes2, + newProps + ), null !== nextResource && (buildHydrationDiffNode( + workInProgress2, + 0 + ).serverProps = nextResource)); + } + hydrateTextInstance( + current2, + renderLanes2, + workInProgress2, + newProps + ) || throwOnHydrationMismatch(workInProgress2); + } else + workInProgress2.stateNode = createTextInstance( + newProps, + current2, + renderLanes2, + workInProgress2 + ); + } + bubbleProperties(workInProgress2); + return null; + case 13: + newProps = workInProgress2.memoizedState; + if (null === current2 || null !== current2.memoizedState && null !== current2.memoizedState.dehydrated) { + nextResource = popHydrationState(workInProgress2); + if (null !== newProps && null !== newProps.dehydrated) { + if (null === current2) { + if (!nextResource) + throw Error( + "A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React." + ); + if (!supportsHydration) + throw Error( + "Expected prepareToHydrateHostSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue." + ); + nextResource = workInProgress2.memoizedState; + nextResource = null !== nextResource ? nextResource.dehydrated : null; + if (!nextResource) + throw Error( + "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue." + ); + hydrateSuspenseInstance(nextResource, workInProgress2); + bubbleProperties(workInProgress2); + (workInProgress2.mode & 2) !== NoMode && null !== newProps && (nextResource = workInProgress2.child, null !== nextResource && (workInProgress2.treeBaseDuration -= nextResource.treeBaseDuration)); + } else + emitPendingHydrationWarnings(), resetHydrationState(), 0 === (workInProgress2.flags & 128) && (workInProgress2.memoizedState = null), workInProgress2.flags |= 4, bubbleProperties(workInProgress2), (workInProgress2.mode & 2) !== NoMode && null !== newProps && (nextResource = workInProgress2.child, null !== nextResource && (workInProgress2.treeBaseDuration -= nextResource.treeBaseDuration)); + nextResource = false; + } else + null !== hydrationErrors && (queueRecoverableErrors(hydrationErrors), hydrationErrors = null), nextResource = true; + if (!nextResource) { + if (workInProgress2.flags & 256) + return popSuspenseHandler(workInProgress2), workInProgress2; + popSuspenseHandler(workInProgress2); + return null; + } + } + popSuspenseHandler(workInProgress2); + if (0 !== (workInProgress2.flags & 128)) + return workInProgress2.lanes = renderLanes2, (workInProgress2.mode & 2) !== NoMode && transferActualDuration(workInProgress2), workInProgress2; + renderLanes2 = null !== newProps; + current2 = null !== current2 && null !== current2.memoizedState; + renderLanes2 && (newProps = workInProgress2.child, nextResource = null, null !== newProps.alternate && null !== newProps.alternate.memoizedState && null !== newProps.alternate.memoizedState.cachePool && (nextResource = newProps.alternate.memoizedState.cachePool.pool), returnFiber = null, null !== newProps.memoizedState && null !== newProps.memoizedState.cachePool && (returnFiber = newProps.memoizedState.cachePool.pool), returnFiber !== nextResource && (newProps.flags |= 2048)); + renderLanes2 !== current2 && renderLanes2 && (workInProgress2.child.flags |= 8192); + scheduleRetryEffect(workInProgress2, workInProgress2.updateQueue); + bubbleProperties(workInProgress2); + (workInProgress2.mode & 2) !== NoMode && renderLanes2 && (current2 = workInProgress2.child, null !== current2 && (workInProgress2.treeBaseDuration -= current2.treeBaseDuration)); + return null; + case 4: + return popHostContainer(workInProgress2), updateHostContainer(current2, workInProgress2), null === current2 && preparePortalMount(workInProgress2.stateNode.containerInfo), bubbleProperties(workInProgress2), null; + case 10: + return popProvider(workInProgress2.type, workInProgress2), bubbleProperties(workInProgress2), null; + case 19: + pop(suspenseStackCursor, workInProgress2); + nextResource = workInProgress2.memoizedState; + if (null === nextResource) + return bubbleProperties(workInProgress2), null; + newProps = 0 !== (workInProgress2.flags & 128); + returnFiber = nextResource.rendering; + if (null === returnFiber) + if (newProps) cutOffTailIfNeeded(nextResource, false); + else { + if (workInProgressRootExitStatus !== RootInProgress || null !== current2 && 0 !== (current2.flags & 128)) + for (current2 = workInProgress2.child; null !== current2; ) { + returnFiber = findFirstSuspended(current2); + if (null !== returnFiber) { + workInProgress2.flags |= 128; + cutOffTailIfNeeded(nextResource, false); + current2 = returnFiber.updateQueue; + workInProgress2.updateQueue = current2; + scheduleRetryEffect(workInProgress2, current2); + workInProgress2.subtreeFlags = 0; + current2 = renderLanes2; + for (renderLanes2 = workInProgress2.child; null !== renderLanes2; ) + resetWorkInProgress(renderLanes2, current2), renderLanes2 = renderLanes2.sibling; + push( + suspenseStackCursor, + suspenseStackCursor.current & SubtreeSuspenseContextMask | ForceSuspenseFallback, + workInProgress2 + ); + return workInProgress2.child; + } + current2 = current2.sibling; + } + null !== nextResource.tail && now$1() > workInProgressRootRenderTargetTime && (workInProgress2.flags |= 128, newProps = true, cutOffTailIfNeeded(nextResource, false), workInProgress2.lanes = 4194304); + } + else { + if (!newProps) + if (current2 = findFirstSuspended(returnFiber), null !== current2) { + if (workInProgress2.flags |= 128, newProps = true, current2 = current2.updateQueue, workInProgress2.updateQueue = current2, scheduleRetryEffect(workInProgress2, current2), cutOffTailIfNeeded(nextResource, true), null === nextResource.tail && "hidden" === nextResource.tailMode && !returnFiber.alternate && !isHydrating) + return bubbleProperties(workInProgress2), null; + } else + 2 * now$1() - nextResource.renderingStartTime > workInProgressRootRenderTargetTime && 536870912 !== renderLanes2 && (workInProgress2.flags |= 128, newProps = true, cutOffTailIfNeeded(nextResource, false), workInProgress2.lanes = 4194304); + nextResource.isBackwards ? (returnFiber.sibling = workInProgress2.child, workInProgress2.child = returnFiber) : (current2 = nextResource.last, null !== current2 ? current2.sibling = returnFiber : workInProgress2.child = returnFiber, nextResource.last = returnFiber); + } + if (null !== nextResource.tail) + return current2 = nextResource.tail, nextResource.rendering = current2, nextResource.tail = current2.sibling, nextResource.renderingStartTime = now$1(), current2.sibling = null, renderLanes2 = suspenseStackCursor.current, renderLanes2 = newProps ? renderLanes2 & SubtreeSuspenseContextMask | ForceSuspenseFallback : renderLanes2 & SubtreeSuspenseContextMask, push(suspenseStackCursor, renderLanes2, workInProgress2), current2; + bubbleProperties(workInProgress2); + return null; + case 22: + case 23: + return popSuspenseHandler(workInProgress2), popHiddenContext(workInProgress2), newProps = null !== workInProgress2.memoizedState, null !== current2 ? null !== current2.memoizedState !== newProps && (workInProgress2.flags |= 8192) : newProps && (workInProgress2.flags |= 8192), newProps ? 0 !== (renderLanes2 & 536870912) && 0 === (workInProgress2.flags & 128) && (bubbleProperties(workInProgress2), workInProgress2.subtreeFlags & 6 && (workInProgress2.flags |= 8192)) : bubbleProperties(workInProgress2), renderLanes2 = workInProgress2.updateQueue, null !== renderLanes2 && scheduleRetryEffect(workInProgress2, renderLanes2.retryQueue), renderLanes2 = null, null !== current2 && null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (renderLanes2 = current2.memoizedState.cachePool.pool), newProps = null, null !== workInProgress2.memoizedState && null !== workInProgress2.memoizedState.cachePool && (newProps = workInProgress2.memoizedState.cachePool.pool), newProps !== renderLanes2 && (workInProgress2.flags |= 2048), null !== current2 && pop(resumedCache, workInProgress2), null; + case 24: + return renderLanes2 = null, null !== current2 && (renderLanes2 = current2.memoizedState.cache), workInProgress2.memoizedState.cache !== renderLanes2 && (workInProgress2.flags |= 2048), popProvider(CacheContext, workInProgress2), bubbleProperties(workInProgress2), null; + case 25: + return null; + } + throw Error( + "Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue." + ); + } + function unwindWork(current2, workInProgress2) { + popTreeContext(workInProgress2); + switch (workInProgress2.tag) { + case 1: + return current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & 2) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null; + case 3: + return popProvider(CacheContext, workInProgress2), popHostContainer(workInProgress2), current2 = workInProgress2.flags, 0 !== (current2 & 65536) && 0 === (current2 & 128) ? (workInProgress2.flags = current2 & -65537 | 128, workInProgress2) : null; + case 26: + case 27: + case 5: + return popHostContext(workInProgress2), null; + case 13: + popSuspenseHandler(workInProgress2); + current2 = workInProgress2.memoizedState; + if (null !== current2 && null !== current2.dehydrated) { + if (null === workInProgress2.alternate) + throw Error( + "Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue." + ); + resetHydrationState(); + } + current2 = workInProgress2.flags; + return current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & 2) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null; + case 19: + return pop(suspenseStackCursor, workInProgress2), null; + case 4: + return popHostContainer(workInProgress2), null; + case 10: + return popProvider(workInProgress2.type, workInProgress2), null; + case 22: + case 23: + return popSuspenseHandler(workInProgress2), popHiddenContext(workInProgress2), null !== current2 && pop(resumedCache, workInProgress2), current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & 2) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null; + case 24: + return popProvider(CacheContext, workInProgress2), null; + case 25: + return null; + default: + return null; + } + } + function unwindInterruptedWork(current2, interruptedWork) { + popTreeContext(interruptedWork); + switch (interruptedWork.tag) { + case 3: + popProvider(CacheContext, interruptedWork); + popHostContainer(interruptedWork); + break; + case 26: + case 27: + case 5: + popHostContext(interruptedWork); + break; + case 4: + popHostContainer(interruptedWork); + break; + case 13: + popSuspenseHandler(interruptedWork); + break; + case 19: + pop(suspenseStackCursor, interruptedWork); + break; + case 10: + popProvider(interruptedWork.type, interruptedWork); + break; + case 22: + case 23: + popSuspenseHandler(interruptedWork); + popHiddenContext(interruptedWork); + null !== current2 && pop(resumedCache, interruptedWork); + break; + case 24: + popProvider(CacheContext, interruptedWork); + } + } + function shouldProfile(current2) { + return (current2.mode & 2) !== NoMode; + } + function commitHookLayoutEffects(finishedWork, hookFlags) { + shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork); + } + function commitHookLayoutUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) { + shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount( + hookFlags, + finishedWork, + nearestMountedAncestor + ), recordEffectDuration()) : commitHookEffectListUnmount( + hookFlags, + finishedWork, + nearestMountedAncestor + ); + } + function commitHookEffectListMount(flags, finishedWork) { + try { + var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null; + if (null !== lastEffect) { + var firstEffect = lastEffect.next; + updateQueue = firstEffect; + do { + if ((updateQueue.tag & flags) === flags && ((flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectMountStarted && injectedProfilingHooks.markComponentPassiveEffectMountStarted( + finishedWork + ) : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectMountStarted && injectedProfilingHooks.markComponentLayoutEffectMountStarted( + finishedWork + ), lastEffect = void 0, (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = runWithFiberInDEV( + finishedWork, + callCreateInDEV, + updateQueue + ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false), (flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectMountStopped && injectedProfilingHooks.markComponentPassiveEffectMountStopped() : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectMountStopped && injectedProfilingHooks.markComponentLayoutEffectMountStopped(), void 0 !== lastEffect && "function" !== typeof lastEffect)) { + var hookName = void 0; + hookName = 0 !== (updateQueue.tag & Layout) ? "useLayoutEffect" : 0 !== (updateQueue.tag & Insertion) ? "useInsertionEffect" : "useEffect"; + var addendum = void 0; + addendum = null === lastEffect ? " You returned null. If your effect does not require clean up, return undefined (or nothing)." : "function" === typeof lastEffect.then ? "\n\nIt looks like you wrote " + hookName + "(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:\n\n" + hookName + "(() => {\n async function fetchData() {\n // You can await here\n const response = await MyAPI.getData(someId);\n // ...\n }\n fetchData();\n}, [someId]); // Or [] if effect doesn't need props or state\n\nLearn more about data fetching with Hooks: https://react.dev/link/hooks-data-fetching" : " You returned: " + lastEffect; + runWithFiberInDEV( + finishedWork, + function(n, a) { + console.error( + "%s must not return anything besides a function, which is used for clean-up.%s", + n, + a + ); + }, + hookName, + addendum + ); + } + updateQueue = updateQueue.next; + } while (updateQueue !== firstEffect); + } + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor) { + try { + var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null; + if (null !== lastEffect) { + var firstEffect = lastEffect.next; + updateQueue = firstEffect; + do { + if ((updateQueue.tag & flags) === flags) { + var inst = updateQueue.inst, destroy = inst.destroy; + void 0 !== destroy && (inst.destroy = void 0, (flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStarted && injectedProfilingHooks.markComponentPassiveEffectUnmountStarted( + finishedWork + ) : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStarted && injectedProfilingHooks.markComponentLayoutEffectUnmountStarted( + finishedWork + ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), runWithFiberInDEV( + finishedWork, + callDestroyInDEV, + finishedWork, + nearestMountedAncestor, + destroy + ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false), (flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStopped && injectedProfilingHooks.markComponentPassiveEffectUnmountStopped() : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStopped && injectedProfilingHooks.markComponentLayoutEffectUnmountStopped()); + } + updateQueue = updateQueue.next; + } while (updateQueue !== firstEffect); + } + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function commitHookPassiveMountEffects(finishedWork, hookFlags) { + shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork); + } + function commitHookPassiveUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) { + shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount( + hookFlags, + finishedWork, + nearestMountedAncestor + ), recordEffectDuration()) : commitHookEffectListUnmount( + hookFlags, + finishedWork, + nearestMountedAncestor + ); + } + function commitClassCallbacks(finishedWork) { + var updateQueue = finishedWork.updateQueue; + if (null !== updateQueue) { + var instance = finishedWork.stateNode; + finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (instance.props !== finishedWork.memoizedProps && console.error( + "Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + ), instance.state !== finishedWork.memoizedState && console.error( + "Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + )); + try { + runWithFiberInDEV( + finishedWork, + commitCallbacks, + updateQueue, + instance + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + } + function callGetSnapshotBeforeUpdates(instance, prevProps, prevState) { + return instance.getSnapshotBeforeUpdate(prevProps, prevState); + } + function commitClassSnapshot(finishedWork, current2) { + var prevProps = current2.memoizedProps, prevState = current2.memoizedState; + current2 = finishedWork.stateNode; + finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (current2.props !== finishedWork.memoizedProps && console.error( + "Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + ), current2.state !== finishedWork.memoizedState && console.error( + "Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + )); + try { + var resolvedPrevProps = resolveClassComponentProps( + finishedWork.type, + prevProps, + finishedWork.elementType === finishedWork.type + ); + var snapshot = runWithFiberInDEV( + finishedWork, + callGetSnapshotBeforeUpdates, + current2, + resolvedPrevProps, + prevState + ); + prevProps = didWarnAboutUndefinedSnapshotBeforeUpdate; + void 0 !== snapshot || prevProps.has(finishedWork.type) || (prevProps.add(finishedWork.type), runWithFiberInDEV(finishedWork, function() { + console.error( + "%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.", + getComponentNameFromFiber(finishedWork) + ); + })); + current2.__reactInternalSnapshotBeforeUpdate = snapshot; + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function safelyCallComponentWillUnmount(current2, nearestMountedAncestor, instance) { + instance.props = resolveClassComponentProps( + current2.type, + current2.memoizedProps + ); + instance.state = current2.memoizedState; + shouldProfile(current2) ? (startEffectTimer(), runWithFiberInDEV( + current2, + callComponentWillUnmountInDEV, + current2, + nearestMountedAncestor, + instance + ), recordEffectDuration()) : runWithFiberInDEV( + current2, + callComponentWillUnmountInDEV, + current2, + nearestMountedAncestor, + instance + ); + } + function commitAttachRef(finishedWork) { + var ref = finishedWork.ref; + if (null !== ref) { + var instance = finishedWork.stateNode; + switch (finishedWork.tag) { + case 26: + case 27: + case 5: + instance = getPublicInstance(instance); + } + if ("function" === typeof ref) + if (shouldProfile(finishedWork)) + try { + startEffectTimer(), finishedWork.refCleanup = ref(instance); + } finally { + recordEffectDuration(); + } + else finishedWork.refCleanup = ref(instance); + else + "string" === typeof ref ? console.error("String refs are no longer supported.") : ref.hasOwnProperty("current") || console.error( + "Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().", + getComponentNameFromFiber(finishedWork) + ), ref.current = instance; + } + } + function safelyAttachRef(current2, nearestMountedAncestor) { + try { + runWithFiberInDEV(current2, commitAttachRef, current2); + } catch (error) { + captureCommitPhaseError(current2, nearestMountedAncestor, error); + } + } + function safelyDetachRef(current2, nearestMountedAncestor) { + var ref = current2.ref, refCleanup = current2.refCleanup; + if (null !== ref) + if ("function" === typeof refCleanup) + try { + if (shouldProfile(current2)) + try { + startEffectTimer(), runWithFiberInDEV(current2, refCleanup); + } finally { + recordEffectDuration(current2); + } + else runWithFiberInDEV(current2, refCleanup); + } catch (error) { + captureCommitPhaseError(current2, nearestMountedAncestor, error); + } finally { + current2.refCleanup = null, current2 = current2.alternate, null != current2 && (current2.refCleanup = null); + } + else if ("function" === typeof ref) + try { + if (shouldProfile(current2)) + try { + startEffectTimer(), runWithFiberInDEV(current2, ref, null); + } finally { + recordEffectDuration(current2); + } + else runWithFiberInDEV(current2, ref, null); + } catch (error$3) { + captureCommitPhaseError(current2, nearestMountedAncestor, error$3); + } + else ref.current = null; + } + function commitProfiler(finishedWork, current2, commitStartTime2, effectDuration) { + var _finishedWork$memoize = finishedWork.memoizedProps, id = _finishedWork$memoize.id, onCommit = _finishedWork$memoize.onCommit; + _finishedWork$memoize = _finishedWork$memoize.onRender; + current2 = null === current2 ? "mount" : "update"; + currentUpdateIsNested && (current2 = "nested-update"); + "function" === typeof _finishedWork$memoize && _finishedWork$memoize( + id, + current2, + finishedWork.actualDuration, + finishedWork.treeBaseDuration, + finishedWork.actualStartTime, + commitStartTime2 + ); + "function" === typeof onCommit && onCommit( + finishedWork.memoizedProps.id, + current2, + effectDuration, + commitStartTime2 + ); + } + function commitProfilerPostCommitImpl(finishedWork, current2, commitStartTime2, passiveEffectDuration) { + var _finishedWork$memoize2 = finishedWork.memoizedProps; + finishedWork = _finishedWork$memoize2.id; + _finishedWork$memoize2 = _finishedWork$memoize2.onPostCommit; + current2 = null === current2 ? "mount" : "update"; + currentUpdateIsNested && (current2 = "nested-update"); + "function" === typeof _finishedWork$memoize2 && _finishedWork$memoize2( + finishedWork, + current2, + passiveEffectDuration, + commitStartTime2 + ); + } + function commitHostMount(finishedWork) { + var type = finishedWork.type, props = finishedWork.memoizedProps, instance = finishedWork.stateNode; + try { + runWithFiberInDEV( + finishedWork, + commitMount, + instance, + type, + props, + finishedWork + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function commitHostUpdate(finishedWork, newProps, oldProps) { + try { + runWithFiberInDEV( + finishedWork, + commitUpdate, + finishedWork.stateNode, + finishedWork.type, + oldProps, + newProps, + finishedWork + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function isHostParent(fiber) { + return 5 === fiber.tag || 3 === fiber.tag || (supportsResources ? 26 === fiber.tag : false) || (supportsSingletons ? 27 === fiber.tag : false) || 4 === fiber.tag; + } + function getHostSibling(fiber) { + a: for (; ; ) { + for (; null === fiber.sibling; ) { + if (null === fiber.return || isHostParent(fiber.return)) return null; + fiber = fiber.return; + } + fiber.sibling.return = fiber.return; + for (fiber = fiber.sibling; 5 !== fiber.tag && 6 !== fiber.tag && (supportsSingletons ? 27 !== fiber.tag : 1) && 18 !== fiber.tag; ) { + if (fiber.flags & 2) continue a; + if (null === fiber.child || 4 === fiber.tag) continue a; + else fiber.child.return = fiber, fiber = fiber.child; + } + if (!(fiber.flags & 2)) return fiber.stateNode; + } + } + function insertOrAppendPlacementNodeIntoContainer(node, before, parent) { + var tag = node.tag; + if (5 === tag || 6 === tag) + node = node.stateNode, before ? insertInContainerBefore(parent, node, before) : appendChildToContainer(parent, node); + else if (!(4 === tag || supportsSingletons && 27 === tag) && (node = node.child, null !== node)) + for (insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling; null !== node; ) + insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling; + } + function insertOrAppendPlacementNode(node, before, parent) { + var tag = node.tag; + if (5 === tag || 6 === tag) + node = node.stateNode, before ? insertBefore(parent, node, before) : appendChild(parent, node); + else if (!(4 === tag || supportsSingletons && 27 === tag) && (node = node.child, null !== node)) + for (insertOrAppendPlacementNode(node, before, parent), node = node.sibling; null !== node; ) + insertOrAppendPlacementNode(node, before, parent), node = node.sibling; + } + function commitPlacement(finishedWork) { + if (supportsMutation && (!supportsSingletons || 27 !== finishedWork.tag)) { + a: { + for (var parent = finishedWork.return; null !== parent; ) { + if (isHostParent(parent)) { + var parentFiber = parent; + break a; + } + parent = parent.return; + } + throw Error( + "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue." + ); + } + switch (parentFiber.tag) { + case 27: + if (supportsSingletons) { + parent = parentFiber.stateNode; + parentFiber = getHostSibling(finishedWork); + insertOrAppendPlacementNode(finishedWork, parentFiber, parent); + break; + } + case 5: + parent = parentFiber.stateNode; + parentFiber.flags & 32 && (resetTextContent(parent), parentFiber.flags &= -33); + parentFiber = getHostSibling(finishedWork); + insertOrAppendPlacementNode(finishedWork, parentFiber, parent); + break; + case 3: + case 4: + parent = parentFiber.stateNode.containerInfo; + parentFiber = getHostSibling(finishedWork); + insertOrAppendPlacementNodeIntoContainer( + finishedWork, + parentFiber, + parent + ); + break; + default: + throw Error( + "Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue." + ); + } + } + } + function commitHostPortalContainerChildren(portal, finishedWork, pendingChildren) { + portal = portal.containerInfo; + try { + runWithFiberInDEV( + finishedWork, + replaceContainerChildren, + portal, + pendingChildren + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function commitBeforeMutationEffects(root, firstChild) { + prepareForCommit(root.containerInfo); + for (nextEffect = firstChild; null !== nextEffect; ) + if (root = nextEffect, firstChild = root.child, 0 !== (root.subtreeFlags & 1028) && null !== firstChild) + firstChild.return = root, nextEffect = firstChild; + else + for (; null !== nextEffect; ) { + firstChild = root = nextEffect; + var current2 = firstChild.alternate, flags = firstChild.flags; + switch (firstChild.tag) { + case 0: + break; + case 11: + case 15: + break; + case 1: + 0 !== (flags & 1024) && null !== current2 && commitClassSnapshot(firstChild, current2); + break; + case 3: + 0 !== (flags & 1024) && supportsMutation && clearContainer(firstChild.stateNode.containerInfo); + break; + case 5: + case 26: + case 27: + case 6: + case 4: + case 17: + break; + default: + if (0 !== (flags & 1024)) + throw Error( + "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue." + ); + } + firstChild = root.sibling; + if (null !== firstChild) { + firstChild.return = root.return; + nextEffect = firstChild; + break; + } + nextEffect = root.return; + } + root = shouldFireAfterActiveInstanceBlur; + shouldFireAfterActiveInstanceBlur = false; + return root; + } + function commitLayoutEffectOnFiber(finishedRoot, current2, finishedWork) { + var flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + flags & 4 && commitHookLayoutEffects(finishedWork, Layout | HasEffect); + break; + case 1: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + if (flags & 4) + if (finishedRoot = finishedWork.stateNode, null === current2) + finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error( + "Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + ), finishedRoot.state !== finishedWork.memoizedState && console.error( + "Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + )), shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV( + finishedWork, + callComponentDidMountInDEV, + finishedWork, + finishedRoot + ), recordEffectDuration()) : runWithFiberInDEV( + finishedWork, + callComponentDidMountInDEV, + finishedWork, + finishedRoot + ); + else { + var prevProps = resolveClassComponentProps( + finishedWork.type, + current2.memoizedProps + ); + current2 = current2.memoizedState; + finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error( + "Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + ), finishedRoot.state !== finishedWork.memoizedState && console.error( + "Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + )); + shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV( + finishedWork, + callComponentDidUpdateInDEV, + finishedWork, + finishedRoot, + prevProps, + current2, + finishedRoot.__reactInternalSnapshotBeforeUpdate + ), recordEffectDuration()) : runWithFiberInDEV( + finishedWork, + callComponentDidUpdateInDEV, + finishedWork, + finishedRoot, + prevProps, + current2, + finishedRoot.__reactInternalSnapshotBeforeUpdate + ); + } + flags & 64 && commitClassCallbacks(finishedWork); + flags & 512 && safelyAttachRef(finishedWork, finishedWork.return); + break; + case 3: + current2 = pushNestedEffectDurations(); + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + if (flags & 64 && (flags = finishedWork.updateQueue, null !== flags)) { + prevProps = null; + if (null !== finishedWork.child) + switch (finishedWork.child.tag) { + case 27: + case 5: + prevProps = getPublicInstance(finishedWork.child.stateNode); + break; + case 1: + prevProps = finishedWork.child.stateNode; + } + try { + runWithFiberInDEV( + finishedWork, + commitCallbacks, + flags, + prevProps + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + finishedRoot.effectDuration += popNestedEffectDurations(current2); + break; + case 26: + if (supportsResources) { + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + flags & 512 && safelyAttachRef(finishedWork, finishedWork.return); + break; + } + case 27: + case 5: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + null === current2 && flags & 4 && commitHostMount(finishedWork); + flags & 512 && safelyAttachRef(finishedWork, finishedWork.return); + break; + case 12: + if (flags & 4) { + flags = pushNestedEffectDurations(); + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + finishedRoot = finishedWork.stateNode; + finishedRoot.effectDuration += bubbleNestedEffectDurations(flags); + try { + runWithFiberInDEV( + finishedWork, + commitProfiler, + finishedWork, + current2, + commitStartTime, + finishedRoot.effectDuration + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } else recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + break; + case 13: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork); + break; + case 22: + prevProps = null !== finishedWork.memoizedState || offscreenSubtreeIsHidden; + if (!prevProps) { + current2 = null !== current2 && null !== current2.memoizedState || offscreenSubtreeWasHidden; + var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden, prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; + offscreenSubtreeIsHidden = prevProps; + (offscreenSubtreeWasHidden = current2) && !prevOffscreenSubtreeWasHidden ? recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + 0 !== (finishedWork.subtreeFlags & 8772) + ) : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden; + offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden; + } + flags & 512 && ("manual" === finishedWork.memoizedProps.mode ? safelyAttachRef(finishedWork, finishedWork.return) : safelyDetachRef(finishedWork, finishedWork.return)); + break; + default: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + } + } + function detachFiberAfterEffects(fiber) { + var alternate = fiber.alternate; + null !== alternate && (fiber.alternate = null, detachFiberAfterEffects(alternate)); + fiber.child = null; + fiber.deletions = null; + fiber.sibling = null; + 5 === fiber.tag && (alternate = fiber.stateNode, null !== alternate && detachDeletedInstance(alternate)); + fiber.stateNode = null; + fiber._debugOwner = null; + fiber.return = null; + fiber.dependencies = null; + fiber.memoizedProps = null; + fiber.memoizedState = null; + fiber.pendingProps = null; + fiber.stateNode = null; + fiber.updateQueue = null; + } + function recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, parent) { + for (parent = parent.child; null !== parent; ) + commitDeletionEffectsOnFiber( + finishedRoot, + nearestMountedAncestor, + parent + ), parent = parent.sibling; + } + function commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, deletedFiber) { + if (injectedHook && "function" === typeof injectedHook.onCommitFiberUnmount) + try { + injectedHook.onCommitFiberUnmount(rendererID, deletedFiber); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + switch (deletedFiber.tag) { + case 26: + if (supportsResources) { + offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor); + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + deletedFiber.memoizedState ? releaseResource(deletedFiber.memoizedState) : deletedFiber.stateNode && unmountHoistable(deletedFiber.stateNode); + break; + } + case 27: + if (supportsSingletons) { + offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor); + var prevHostParent = hostParent, prevHostParentIsContainer = hostParentIsContainer; + hostParent = deletedFiber.stateNode; + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + releaseSingletonInstance(deletedFiber.stateNode); + hostParent = prevHostParent; + hostParentIsContainer = prevHostParentIsContainer; + break; + } + case 5: + offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor); + case 6: + if (supportsMutation) { + if (prevHostParent = hostParent, prevHostParentIsContainer = hostParentIsContainer, hostParent = null, recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ), hostParent = prevHostParent, hostParentIsContainer = prevHostParentIsContainer, null !== hostParent) + if (hostParentIsContainer) + try { + runWithFiberInDEV( + deletedFiber, + removeChildFromContainer, + hostParent, + deletedFiber.stateNode + ); + } catch (error) { + captureCommitPhaseError( + deletedFiber, + nearestMountedAncestor, + error + ); + } + else + try { + runWithFiberInDEV( + deletedFiber, + removeChild, + hostParent, + deletedFiber.stateNode + ); + } catch (error) { + captureCommitPhaseError( + deletedFiber, + nearestMountedAncestor, + error + ); + } + } else + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + break; + case 18: + supportsMutation && null !== hostParent && (hostParentIsContainer ? clearSuspenseBoundaryFromContainer( + hostParent, + deletedFiber.stateNode + ) : clearSuspenseBoundary(hostParent, deletedFiber.stateNode)); + break; + case 4: + supportsMutation ? (prevHostParent = hostParent, prevHostParentIsContainer = hostParentIsContainer, hostParent = deletedFiber.stateNode.containerInfo, hostParentIsContainer = true, recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ), hostParent = prevHostParent, hostParentIsContainer = prevHostParentIsContainer) : (supportsPersistence && commitHostPortalContainerChildren( + deletedFiber.stateNode, + deletedFiber, + createContainerChildSet() + ), recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + )); + break; + case 0: + case 11: + case 14: + case 15: + offscreenSubtreeWasHidden || commitHookEffectListUnmount( + Insertion, + deletedFiber, + nearestMountedAncestor + ); + offscreenSubtreeWasHidden || commitHookLayoutUnmountEffects( + deletedFiber, + nearestMountedAncestor, + Layout + ); + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + break; + case 1: + offscreenSubtreeWasHidden || (safelyDetachRef(deletedFiber, nearestMountedAncestor), prevHostParent = deletedFiber.stateNode, "function" === typeof prevHostParent.componentWillUnmount && safelyCallComponentWillUnmount( + deletedFiber, + nearestMountedAncestor, + prevHostParent + )); + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + break; + case 21: + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + break; + case 22: + offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor); + offscreenSubtreeWasHidden = (prevHostParent = offscreenSubtreeWasHidden) || null !== deletedFiber.memoizedState; + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + offscreenSubtreeWasHidden = prevHostParent; + break; + default: + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + } + } + function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) { + if (supportsHydration && null === finishedWork.memoizedState && (finishedRoot = finishedWork.alternate, null !== finishedRoot && (finishedRoot = finishedRoot.memoizedState, null !== finishedRoot && (finishedRoot = finishedRoot.dehydrated, null !== finishedRoot)))) + try { + runWithFiberInDEV( + finishedWork, + commitHydratedSuspenseInstance, + finishedRoot + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function getRetryCache(finishedWork) { + switch (finishedWork.tag) { + case 13: + case 19: + var retryCache = finishedWork.stateNode; + null === retryCache && (retryCache = finishedWork.stateNode = new PossiblyWeakSet()); + return retryCache; + case 22: + return finishedWork = finishedWork.stateNode, retryCache = finishedWork._retryCache, null === retryCache && (retryCache = finishedWork._retryCache = new PossiblyWeakSet()), retryCache; + default: + throw Error( + "Unexpected Suspense handler tag (" + finishedWork.tag + "). This is a bug in React." + ); + } + } + function attachSuspenseRetryListeners(finishedWork, wakeables) { + var retryCache = getRetryCache(finishedWork); + wakeables.forEach(function(wakeable) { + var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable); + if (!retryCache.has(wakeable)) { + retryCache.add(wakeable); + if (isDevToolsPresent) + if (null !== inProgressLanes && null !== inProgressRoot) + restorePendingUpdaters(inProgressRoot, inProgressLanes); + else + throw Error( + "Expected finished root and lanes to be set. This is a bug in React." + ); + wakeable.then(retry, retry); + } + }); + } + function commitMutationEffects(root, finishedWork, committedLanes) { + inProgressLanes = committedLanes; + inProgressRoot = root; + commitMutationEffectsOnFiber(finishedWork, root); + inProgressRoot = inProgressLanes = null; + } + function recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) { + var deletions = parentFiber.deletions; + if (null !== deletions) + for (var i = 0; i < deletions.length; i++) { + var root = root$jscomp$0, returnFiber = parentFiber, deletedFiber = deletions[i]; + if (supportsMutation) { + var parent = returnFiber; + a: for (; null !== parent; ) { + switch (parent.tag) { + case 27: + case 5: + hostParent = parent.stateNode; + hostParentIsContainer = false; + break a; + case 3: + hostParent = parent.stateNode.containerInfo; + hostParentIsContainer = true; + break a; + case 4: + hostParent = parent.stateNode.containerInfo; + hostParentIsContainer = true; + break a; + } + parent = parent.return; + } + if (null === hostParent) + throw Error( + "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue." + ); + commitDeletionEffectsOnFiber(root, returnFiber, deletedFiber); + hostParent = null; + hostParentIsContainer = false; + } else commitDeletionEffectsOnFiber(root, returnFiber, deletedFiber); + root = deletedFiber; + returnFiber = root.alternate; + null !== returnFiber && (returnFiber.return = null); + root.return = null; + } + if (parentFiber.subtreeFlags & 13878) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + commitMutationEffectsOnFiber(parentFiber, root$jscomp$0), parentFiber = parentFiber.sibling; + } + function commitMutationEffectsOnFiber(finishedWork, root) { + var current2 = finishedWork.alternate, flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 14: + case 15: + recursivelyTraverseMutationEffects(root, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 4 && (commitHookEffectListUnmount( + Insertion | HasEffect, + finishedWork, + finishedWork.return + ), commitHookEffectListMount(Insertion | HasEffect, finishedWork), commitHookLayoutUnmountEffects( + finishedWork, + finishedWork.return, + Layout | HasEffect + )); + break; + case 1: + recursivelyTraverseMutationEffects(root, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)); + flags & 64 && offscreenSubtreeIsHidden && (finishedWork = finishedWork.updateQueue, null !== finishedWork && (flags = finishedWork.callbacks, null !== flags && (current2 = finishedWork.shared.hiddenCallbacks, finishedWork.shared.hiddenCallbacks = null === current2 ? flags : current2.concat(flags)))); + break; + case 26: + if (supportsResources) { + var hoistableRoot = currentHoistableRoot; + recursivelyTraverseMutationEffects(root, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)); + flags & 4 && (flags = null !== current2 ? current2.memoizedState : null, root = finishedWork.memoizedState, null === current2 ? null === root ? null === finishedWork.stateNode ? finishedWork.stateNode = hydrateHoistable( + hoistableRoot, + finishedWork.type, + finishedWork.memoizedProps, + finishedWork + ) : mountHoistable( + hoistableRoot, + finishedWork.type, + finishedWork.stateNode + ) : finishedWork.stateNode = acquireResource( + hoistableRoot, + root, + finishedWork.memoizedProps + ) : flags !== root ? (null === flags ? null !== current2.stateNode && unmountHoistable(current2.stateNode) : releaseResource(flags), null === root ? mountHoistable( + hoistableRoot, + finishedWork.type, + finishedWork.stateNode + ) : acquireResource( + hoistableRoot, + root, + finishedWork.memoizedProps + )) : null === root && null !== finishedWork.stateNode && commitHostUpdate( + finishedWork, + finishedWork.memoizedProps, + current2.memoizedProps + )); + break; + } + case 27: + if (supportsSingletons && flags & 4 && null === finishedWork.alternate) { + hoistableRoot = finishedWork.stateNode; + var props = finishedWork.memoizedProps; + try { + clearSingleton(hoistableRoot), runWithFiberInDEV( + finishedWork, + acquireSingletonInstance, + finishedWork.type, + props, + hoistableRoot, + finishedWork + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + case 5: + recursivelyTraverseMutationEffects(root, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)); + if (supportsMutation) { + if (finishedWork.flags & 32) { + root = finishedWork.stateNode; + try { + runWithFiberInDEV(finishedWork, resetTextContent, root); + } catch (error) { + captureCommitPhaseError( + finishedWork, + finishedWork.return, + error + ); + } + } + flags & 4 && null != finishedWork.stateNode && (root = finishedWork.memoizedProps, commitHostUpdate( + finishedWork, + root, + null !== current2 ? current2.memoizedProps : root + )); + flags & 1024 && (needsFormReset = true, "form" !== finishedWork.type && console.error( + "Unexpected host component type. Expected a form. This is a bug in React." + )); + } + break; + case 6: + recursivelyTraverseMutationEffects(root, finishedWork); + commitReconciliationEffects(finishedWork); + if (flags & 4 && supportsMutation) { + if (null === finishedWork.stateNode) + throw Error( + "This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue." + ); + flags = finishedWork.memoizedProps; + current2 = null !== current2 ? current2.memoizedProps : flags; + root = finishedWork.stateNode; + try { + runWithFiberInDEV( + finishedWork, + commitTextUpdate, + root, + current2, + flags + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + break; + case 3: + hoistableRoot = pushNestedEffectDurations(); + supportsResources ? (prepareToCommitHoistables(), props = currentHoistableRoot, currentHoistableRoot = getHoistableRoot(root.containerInfo), recursivelyTraverseMutationEffects(root, finishedWork), currentHoistableRoot = props) : recursivelyTraverseMutationEffects(root, finishedWork); + commitReconciliationEffects(finishedWork); + if (flags & 4) { + if (supportsMutation && supportsHydration && null !== current2 && current2.memoizedState.isDehydrated) + try { + runWithFiberInDEV( + finishedWork, + commitHydratedContainer, + root.containerInfo + ); + } catch (error) { + captureCommitPhaseError( + finishedWork, + finishedWork.return, + error + ); + } + if (supportsPersistence) { + flags = root.containerInfo; + current2 = root.pendingChildren; + try { + runWithFiberInDEV( + finishedWork, + replaceContainerChildren, + flags, + current2 + ); + } catch (error) { + captureCommitPhaseError( + finishedWork, + finishedWork.return, + error + ); + } + } + } + needsFormReset && (needsFormReset = false, recursivelyResetForms(finishedWork)); + root.effectDuration += popNestedEffectDurations(hoistableRoot); + break; + case 4: + supportsResources ? (current2 = currentHoistableRoot, currentHoistableRoot = getHoistableRoot( + finishedWork.stateNode.containerInfo + ), recursivelyTraverseMutationEffects(root, finishedWork), commitReconciliationEffects(finishedWork), currentHoistableRoot = current2) : (recursivelyTraverseMutationEffects(root, finishedWork), commitReconciliationEffects(finishedWork)); + flags & 4 && supportsPersistence && commitHostPortalContainerChildren( + finishedWork.stateNode, + finishedWork, + finishedWork.stateNode.pendingChildren + ); + break; + case 12: + flags = pushNestedEffectDurations(); + recursivelyTraverseMutationEffects(root, finishedWork); + commitReconciliationEffects(finishedWork); + finishedWork.stateNode.effectDuration += bubbleNestedEffectDurations(flags); + break; + case 13: + recursivelyTraverseMutationEffects(root, finishedWork); + commitReconciliationEffects(finishedWork); + finishedWork.child.flags & 8192 && null !== finishedWork.memoizedState !== (null !== current2 && null !== current2.memoizedState) && (globalMostRecentFallbackTime = now$1()); + flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags))); + break; + case 22: + flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)); + hoistableRoot = null !== finishedWork.memoizedState; + var wasHidden = null !== current2 && null !== current2.memoizedState, prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden, prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; + offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || hoistableRoot; + offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden; + recursivelyTraverseMutationEffects(root, finishedWork); + offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden; + offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden; + commitReconciliationEffects(finishedWork); + root = finishedWork.stateNode; + root._current = finishedWork; + root._visibility &= -3; + root._visibility |= root._pendingVisibility & 2; + if (flags & 8192 && (root._visibility = hoistableRoot ? root._visibility & -2 : root._visibility | 1, hoistableRoot && (root = offscreenSubtreeIsHidden || offscreenSubtreeWasHidden, null === current2 || wasHidden || root || recursivelyTraverseDisappearLayoutEffects(finishedWork)), supportsMutation && (null === finishedWork.memoizedProps || "manual" !== finishedWork.memoizedProps.mode))) { + a: if (current2 = null, supportsMutation) + for (root = finishedWork; ; ) { + if (5 === root.tag || supportsResources && 26 === root.tag || supportsSingletons && 27 === root.tag) { + if (null === current2) { + wasHidden = current2 = root; + try { + props = wasHidden.stateNode, hoistableRoot ? runWithFiberInDEV(wasHidden, hideInstance, props) : runWithFiberInDEV( + wasHidden, + unhideInstance, + wasHidden.stateNode, + wasHidden.memoizedProps + ); + } catch (error) { + captureCommitPhaseError( + wasHidden, + wasHidden.return, + error + ); + } + } + } else if (6 === root.tag) { + if (null === current2) { + wasHidden = root; + try { + var instance = wasHidden.stateNode; + hoistableRoot ? runWithFiberInDEV( + wasHidden, + hideTextInstance, + instance + ) : runWithFiberInDEV( + wasHidden, + unhideTextInstance, + instance, + wasHidden.memoizedProps + ); + } catch (error) { + captureCommitPhaseError( + wasHidden, + wasHidden.return, + error + ); + } + } + } else if ((22 !== root.tag && 23 !== root.tag || null === root.memoizedState || root === finishedWork) && null !== root.child) { + root.child.return = root; + root = root.child; + continue; + } + if (root === finishedWork) break a; + for (; null === root.sibling; ) { + if (null === root.return || root.return === finishedWork) + break a; + current2 === root && (current2 = null); + root = root.return; + } + current2 === root && (current2 = null); + root.sibling.return = root.return; + root = root.sibling; + } + } + flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (current2 = flags.retryQueue, null !== current2 && (flags.retryQueue = null, attachSuspenseRetryListeners(finishedWork, current2)))); + break; + case 19: + recursivelyTraverseMutationEffects(root, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags))); + break; + case 21: + break; + default: + recursivelyTraverseMutationEffects(root, finishedWork), commitReconciliationEffects(finishedWork); + } + } + function commitReconciliationEffects(finishedWork) { + var flags = finishedWork.flags; + if (flags & 2) { + try { + runWithFiberInDEV(finishedWork, commitPlacement, finishedWork); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + finishedWork.flags &= -3; + } + flags & 4096 && (finishedWork.flags &= -4097); + } + function recursivelyResetForms(parentFiber) { + if (parentFiber.subtreeFlags & 1024) + for (parentFiber = parentFiber.child; null !== parentFiber; ) { + var fiber = parentFiber; + recursivelyResetForms(fiber); + 5 === fiber.tag && fiber.flags & 1024 && resetFormInstance(fiber.stateNode); + parentFiber = parentFiber.sibling; + } + } + function commitLayoutEffects(finishedWork, root, committedLanes) { + inProgressLanes = committedLanes; + inProgressRoot = root; + commitLayoutEffectOnFiber(root, finishedWork.alternate, finishedWork); + inProgressRoot = inProgressLanes = null; + } + function recursivelyTraverseLayoutEffects(root, parentFiber) { + if (parentFiber.subtreeFlags & 8772) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + commitLayoutEffectOnFiber(root, parentFiber.alternate, parentFiber), parentFiber = parentFiber.sibling; + } + function disappearLayoutEffects(finishedWork) { + switch (finishedWork.tag) { + case 0: + case 11: + case 14: + case 15: + commitHookLayoutUnmountEffects( + finishedWork, + finishedWork.return, + Layout + ); + recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + case 1: + safelyDetachRef(finishedWork, finishedWork.return); + var instance = finishedWork.stateNode; + "function" === typeof instance.componentWillUnmount && safelyCallComponentWillUnmount( + finishedWork, + finishedWork.return, + instance + ); + recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + case 26: + case 27: + case 5: + safelyDetachRef(finishedWork, finishedWork.return); + recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + case 22: + safelyDetachRef(finishedWork, finishedWork.return); + null === finishedWork.memoizedState && recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + default: + recursivelyTraverseDisappearLayoutEffects(finishedWork); + } + } + function recursivelyTraverseDisappearLayoutEffects(parentFiber) { + for (parentFiber = parentFiber.child; null !== parentFiber; ) + disappearLayoutEffects(parentFiber), parentFiber = parentFiber.sibling; + } + function reappearLayoutEffects(finishedRoot, current2, finishedWork, includeWorkInProgressEffects) { + var flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + commitHookLayoutEffects(finishedWork, Layout); + break; + case 1: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + current2 = finishedWork.stateNode; + "function" === typeof current2.componentDidMount && runWithFiberInDEV( + finishedWork, + callComponentDidMountInDEV, + finishedWork, + current2 + ); + current2 = finishedWork.updateQueue; + if (null !== current2) { + finishedRoot = finishedWork.stateNode; + try { + runWithFiberInDEV( + finishedWork, + commitHiddenCallbacks, + current2, + finishedRoot + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + includeWorkInProgressEffects && flags & 64 && commitClassCallbacks(finishedWork); + safelyAttachRef(finishedWork, finishedWork.return); + break; + case 26: + case 27: + case 5: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + includeWorkInProgressEffects && null === current2 && flags & 4 && commitHostMount(finishedWork); + safelyAttachRef(finishedWork, finishedWork.return); + break; + case 12: + if (includeWorkInProgressEffects && flags & 4) { + flags = pushNestedEffectDurations(); + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + includeWorkInProgressEffects = finishedWork.stateNode; + includeWorkInProgressEffects.effectDuration += bubbleNestedEffectDurations(flags); + try { + runWithFiberInDEV( + finishedWork, + commitProfiler, + finishedWork, + current2, + commitStartTime, + includeWorkInProgressEffects.effectDuration + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } else + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + break; + case 13: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + includeWorkInProgressEffects && flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork); + break; + case 22: + null === finishedWork.memoizedState && recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + safelyAttachRef(finishedWork, finishedWork.return); + break; + default: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + } + } + function recursivelyTraverseReappearLayoutEffects(finishedRoot, parentFiber, includeWorkInProgressEffects) { + includeWorkInProgressEffects = includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772); + for (parentFiber = parentFiber.child; null !== parentFiber; ) + reappearLayoutEffects( + finishedRoot, + parentFiber.alternate, + parentFiber, + includeWorkInProgressEffects + ), parentFiber = parentFiber.sibling; + } + function commitOffscreenPassiveMountEffects(current2, finishedWork) { + var previousCache = null; + null !== current2 && null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (previousCache = current2.memoizedState.cachePool.pool); + current2 = null; + null !== finishedWork.memoizedState && null !== finishedWork.memoizedState.cachePool && (current2 = finishedWork.memoizedState.cachePool.pool); + current2 !== previousCache && (null != current2 && retainCache(current2), null != previousCache && releaseCache(previousCache)); + } + function commitCachePassiveMountEffect(current2, finishedWork) { + current2 = null; + null !== finishedWork.alternate && (current2 = finishedWork.alternate.memoizedState.cache); + finishedWork = finishedWork.memoizedState.cache; + finishedWork !== current2 && (retainCache(finishedWork), null != current2 && releaseCache(current2)); + } + function recursivelyTraversePassiveMountEffects(root, parentFiber, committedLanes, committedTransitions) { + if (parentFiber.subtreeFlags & 10256) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + commitPassiveMountOnFiber( + root, + parentFiber, + committedLanes, + committedTransitions + ), parentFiber = parentFiber.sibling; + } + function commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions) { + var flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + flags & 2048 && commitHookPassiveMountEffects(finishedWork, Passive | HasEffect); + break; + case 3: + var prevEffectDuration = pushNestedEffectDurations(); + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + flags & 2048 && (committedLanes = null, null !== finishedWork.alternate && (committedLanes = finishedWork.alternate.memoizedState.cache), finishedWork = finishedWork.memoizedState.cache, finishedWork !== committedLanes && (retainCache(finishedWork), null != committedLanes && releaseCache(committedLanes))); + finishedRoot.passiveEffectDuration += popNestedEffectDurations(prevEffectDuration); + break; + case 12: + if (flags & 2048) { + prevEffectDuration = pushNestedEffectDurations(); + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + finishedRoot = finishedWork.stateNode; + finishedRoot.passiveEffectDuration += bubbleNestedEffectDurations(prevEffectDuration); + try { + runWithFiberInDEV( + finishedWork, + commitProfilerPostCommitImpl, + finishedWork, + finishedWork.alternate, + commitStartTime, + finishedRoot.passiveEffectDuration + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } else + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + break; + case 23: + break; + case 22: + prevEffectDuration = finishedWork.stateNode; + null !== finishedWork.memoizedState ? prevEffectDuration._visibility & 4 ? recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ) : recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ) : prevEffectDuration._visibility & 4 ? recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ) : (prevEffectDuration._visibility |= 4, recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + 0 !== (finishedWork.subtreeFlags & 10256) + )); + flags & 2048 && commitOffscreenPassiveMountEffects( + finishedWork.alternate, + finishedWork + ); + break; + case 24: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork); + break; + default: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + } + } + function recursivelyTraverseReconnectPassiveEffects(finishedRoot, parentFiber, committedLanes, committedTransitions, includeWorkInProgressEffects) { + includeWorkInProgressEffects = includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 10256); + for (parentFiber = parentFiber.child; null !== parentFiber; ) + reconnectPassiveEffects( + finishedRoot, + parentFiber, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ), parentFiber = parentFiber.sibling; + } + function reconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects) { + var flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ); + commitHookPassiveMountEffects(finishedWork, Passive); + break; + case 23: + break; + case 22: + var _instance2 = finishedWork.stateNode; + null !== finishedWork.memoizedState ? _instance2._visibility & 4 ? recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ) : recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ) : (_instance2._visibility |= 4, recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + )); + includeWorkInProgressEffects && flags & 2048 && commitOffscreenPassiveMountEffects( + finishedWork.alternate, + finishedWork + ); + break; + case 24: + recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ); + includeWorkInProgressEffects && flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork); + break; + default: + recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ); + } + } + function recursivelyTraverseAtomicPassiveEffects(finishedRoot$jscomp$0, parentFiber) { + if (parentFiber.subtreeFlags & 10256) + for (parentFiber = parentFiber.child; null !== parentFiber; ) { + var finishedRoot = finishedRoot$jscomp$0, finishedWork = parentFiber, flags = finishedWork.flags; + switch (finishedWork.tag) { + case 22: + recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ); + flags & 2048 && commitOffscreenPassiveMountEffects( + finishedWork.alternate, + finishedWork + ); + break; + case 24: + recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ); + flags & 2048 && commitCachePassiveMountEffect( + finishedWork.alternate, + finishedWork + ); + break; + default: + recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ); + } + parentFiber = parentFiber.sibling; + } + } + function recursivelyAccumulateSuspenseyCommit(parentFiber) { + if (parentFiber.subtreeFlags & suspenseyCommitFlag) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + accumulateSuspenseyCommitOnFiber(parentFiber), parentFiber = parentFiber.sibling; + } + function accumulateSuspenseyCommitOnFiber(fiber) { + switch (fiber.tag) { + case 26: + recursivelyAccumulateSuspenseyCommit(fiber); + fiber.flags & suspenseyCommitFlag && (null !== fiber.memoizedState ? suspendResource( + currentHoistableRoot, + fiber.memoizedState, + fiber.memoizedProps + ) : suspendInstance(fiber.type, fiber.memoizedProps)); + break; + case 5: + recursivelyAccumulateSuspenseyCommit(fiber); + fiber.flags & suspenseyCommitFlag && suspendInstance(fiber.type, fiber.memoizedProps); + break; + case 3: + case 4: + if (supportsResources) { + var previousHoistableRoot = currentHoistableRoot; + currentHoistableRoot = getHoistableRoot( + fiber.stateNode.containerInfo + ); + recursivelyAccumulateSuspenseyCommit(fiber); + currentHoistableRoot = previousHoistableRoot; + } else recursivelyAccumulateSuspenseyCommit(fiber); + break; + case 22: + null === fiber.memoizedState && (previousHoistableRoot = fiber.alternate, null !== previousHoistableRoot && null !== previousHoistableRoot.memoizedState ? (previousHoistableRoot = suspenseyCommitFlag, suspenseyCommitFlag = 16777216, recursivelyAccumulateSuspenseyCommit(fiber), suspenseyCommitFlag = previousHoistableRoot) : recursivelyAccumulateSuspenseyCommit(fiber)); + break; + default: + recursivelyAccumulateSuspenseyCommit(fiber); + } + } + function detachAlternateSiblings(parentFiber) { + var previousFiber = parentFiber.alternate; + if (null !== previousFiber && (parentFiber = previousFiber.child, null !== parentFiber)) { + previousFiber.child = null; + do + previousFiber = parentFiber.sibling, parentFiber.sibling = null, parentFiber = previousFiber; + while (null !== parentFiber); + } + } + function recursivelyTraversePassiveUnmountEffects(parentFiber) { + var deletions = parentFiber.deletions; + if (0 !== (parentFiber.flags & 16)) { + if (null !== deletions) + for (var i = 0; i < deletions.length; i++) { + var childToDelete = deletions[i]; + nextEffect = childToDelete; + commitPassiveUnmountEffectsInsideOfDeletedTree_begin( + childToDelete, + parentFiber + ); + } + detachAlternateSiblings(parentFiber); + } + if (parentFiber.subtreeFlags & 10256) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + commitPassiveUnmountOnFiber(parentFiber), parentFiber = parentFiber.sibling; + } + function commitPassiveUnmountOnFiber(finishedWork) { + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraversePassiveUnmountEffects(finishedWork); + finishedWork.flags & 2048 && commitHookPassiveUnmountEffects( + finishedWork, + finishedWork.return, + Passive | HasEffect + ); + break; + case 3: + var prevEffectDuration = pushNestedEffectDurations(); + recursivelyTraversePassiveUnmountEffects(finishedWork); + finishedWork.stateNode.passiveEffectDuration += popNestedEffectDurations(prevEffectDuration); + break; + case 12: + prevEffectDuration = pushNestedEffectDurations(); + recursivelyTraversePassiveUnmountEffects(finishedWork); + finishedWork.stateNode.passiveEffectDuration += bubbleNestedEffectDurations(prevEffectDuration); + break; + case 22: + prevEffectDuration = finishedWork.stateNode; + null !== finishedWork.memoizedState && prevEffectDuration._visibility & 4 && (null === finishedWork.return || 13 !== finishedWork.return.tag) ? (prevEffectDuration._visibility &= -5, recursivelyTraverseDisconnectPassiveEffects(finishedWork)) : recursivelyTraversePassiveUnmountEffects(finishedWork); + break; + default: + recursivelyTraversePassiveUnmountEffects(finishedWork); + } + } + function recursivelyTraverseDisconnectPassiveEffects(parentFiber) { + var deletions = parentFiber.deletions; + if (0 !== (parentFiber.flags & 16)) { + if (null !== deletions) + for (var i = 0; i < deletions.length; i++) { + var childToDelete = deletions[i]; + nextEffect = childToDelete; + commitPassiveUnmountEffectsInsideOfDeletedTree_begin( + childToDelete, + parentFiber + ); + } + detachAlternateSiblings(parentFiber); + } + for (parentFiber = parentFiber.child; null !== parentFiber; ) + disconnectPassiveEffect(parentFiber), parentFiber = parentFiber.sibling; + } + function disconnectPassiveEffect(finishedWork) { + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + commitHookPassiveUnmountEffects( + finishedWork, + finishedWork.return, + Passive + ); + recursivelyTraverseDisconnectPassiveEffects(finishedWork); + break; + case 22: + var instance = finishedWork.stateNode; + instance._visibility & 4 && (instance._visibility &= -5, recursivelyTraverseDisconnectPassiveEffects(finishedWork)); + break; + default: + recursivelyTraverseDisconnectPassiveEffects(finishedWork); + } + } + function commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor) { + for (; null !== nextEffect; ) { + var fiber = nextEffect, current2 = fiber; + switch (current2.tag) { + case 0: + case 11: + case 15: + commitHookPassiveUnmountEffects( + current2, + nearestMountedAncestor, + Passive + ); + break; + case 23: + case 22: + null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (current2 = current2.memoizedState.cachePool.pool, null != current2 && retainCache(current2)); + break; + case 24: + releaseCache(current2.memoizedState.cache); + } + current2 = fiber.child; + if (null !== current2) current2.return = fiber, nextEffect = current2; + else + a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) { + current2 = nextEffect; + var sibling = current2.sibling, returnFiber = current2.return; + detachFiberAfterEffects(current2); + if (current2 === fiber) { + nextEffect = null; + break a; + } + if (null !== sibling) { + sibling.return = returnFiber; + nextEffect = sibling; + break a; + } + nextEffect = returnFiber; + } + } + } + function findFiberRootForHostRoot(hostRoot) { + var maybeFiber = getInstanceFromNode(hostRoot); + if (null != maybeFiber) { + if ("string" !== typeof maybeFiber.memoizedProps["data-testname"]) + throw Error( + "Invalid host root specified. Should be either a React container or a node with a testname attribute." + ); + return maybeFiber; + } + hostRoot = findFiberRoot(hostRoot); + if (null === hostRoot) + throw Error( + "Could not find React container within specified host subtree." + ); + return hostRoot.stateNode.current; + } + function matchSelector(fiber$jscomp$0, selector) { + var tag = fiber$jscomp$0.tag; + switch (selector.$$typeof) { + case COMPONENT_TYPE: + if (fiber$jscomp$0.type === selector.value) return true; + break; + case HAS_PSEUDO_CLASS_TYPE: + a: { + selector = selector.value; + fiber$jscomp$0 = [fiber$jscomp$0, 0]; + for (tag = 0; tag < fiber$jscomp$0.length; ) { + var fiber = fiber$jscomp$0[tag++], tag$jscomp$0 = fiber.tag, selectorIndex = fiber$jscomp$0[tag++], selector$jscomp$0 = selector[selectorIndex]; + if (5 !== tag$jscomp$0 && 26 !== tag$jscomp$0 && 27 !== tag$jscomp$0 || !isHiddenSubtree(fiber)) { + for (; null != selector$jscomp$0 && matchSelector(fiber, selector$jscomp$0); ) + selectorIndex++, selector$jscomp$0 = selector[selectorIndex]; + if (selectorIndex === selector.length) { + selector = true; + break a; + } else + for (fiber = fiber.child; null !== fiber; ) + fiber$jscomp$0.push(fiber, selectorIndex), fiber = fiber.sibling; + } + } + selector = false; + } + return selector; + case ROLE_TYPE: + if ((5 === tag || 26 === tag || 27 === tag) && matchAccessibilityRole(fiber$jscomp$0.stateNode, selector.value)) + return true; + break; + case TEXT_TYPE: + if (5 === tag || 6 === tag || 26 === tag || 27 === tag) { + if (fiber$jscomp$0 = getTextContent(fiber$jscomp$0), null !== fiber$jscomp$0 && 0 <= fiber$jscomp$0.indexOf(selector.value)) + return true; + } + break; + case TEST_NAME_TYPE: + if (5 === tag || 26 === tag || 27 === tag) { + if (fiber$jscomp$0 = fiber$jscomp$0.memoizedProps["data-testname"], "string" === typeof fiber$jscomp$0 && fiber$jscomp$0.toLowerCase() === selector.value.toLowerCase()) + return true; + } + break; + default: + throw Error("Invalid selector type specified."); + } + return false; + } + function selectorToString(selector) { + switch (selector.$$typeof) { + case COMPONENT_TYPE: + return "<" + (getComponentNameFromType(selector.value) || "Unknown") + ">"; + case HAS_PSEUDO_CLASS_TYPE: + return ":has(" + (selectorToString(selector) || "") + ")"; + case ROLE_TYPE: + return '[role="' + selector.value + '"]'; + case TEXT_TYPE: + return '"' + selector.value + '"'; + case TEST_NAME_TYPE: + return '[data-testname="' + selector.value + '"]'; + default: + throw Error("Invalid selector type specified."); + } + } + function findPaths(root, selectors) { + var matchingFibers = []; + root = [root, 0]; + for (var index = 0; index < root.length; ) { + var fiber = root[index++], tag = fiber.tag, selectorIndex = root[index++], selector = selectors[selectorIndex]; + if (5 !== tag && 26 !== tag && 27 !== tag || !isHiddenSubtree(fiber)) { + for (; null != selector && matchSelector(fiber, selector); ) + selectorIndex++, selector = selectors[selectorIndex]; + if (selectorIndex === selectors.length) matchingFibers.push(fiber); + else + for (fiber = fiber.child; null !== fiber; ) + root.push(fiber, selectorIndex), fiber = fiber.sibling; + } + } + return matchingFibers; + } + function findAllNodes(hostRoot, selectors) { + if (!supportsTestSelectors) + throw Error("Test selector API is not supported by this renderer."); + hostRoot = findFiberRootForHostRoot(hostRoot); + hostRoot = findPaths(hostRoot, selectors); + selectors = []; + hostRoot = Array.from(hostRoot); + for (var index = 0; index < hostRoot.length; ) { + var node = hostRoot[index++], tag = node.tag; + if (5 === tag || 26 === tag || 27 === tag) + isHiddenSubtree(node) || selectors.push(node.stateNode); + else + for (node = node.child; null !== node; ) + hostRoot.push(node), node = node.sibling; + } + return selectors; + } + function onCommitRoot() { + supportsTestSelectors && commitHooks.forEach(function(commitHook) { + return commitHook(); + }); + } + function isConcurrentActEnvironment() { + var isReactActEnvironmentGlobal = "undefined" !== typeof IS_REACT_ACT_ENVIRONMENT ? IS_REACT_ACT_ENVIRONMENT : void 0; + isReactActEnvironmentGlobal || null === ReactSharedInternals.actQueue || console.error( + "The current testing environment is not configured to support act(...)" + ); + return isReactActEnvironmentGlobal; + } + function requestUpdateLane(fiber) { + if ((executionContext & RenderContext) !== NoContext && 0 !== workInProgressRootRenderLanes) + return workInProgressRootRenderLanes & -workInProgressRootRenderLanes; + var transition = ReactSharedInternals.T; + return null !== transition ? (transition._updatedFibers || (transition._updatedFibers = /* @__PURE__ */ new Set()), transition._updatedFibers.add(fiber), fiber = currentEntangledLane, 0 !== fiber ? fiber : requestTransitionLane()) : resolveUpdatePriority(); + } + function requestDeferredLane() { + 0 === workInProgressDeferredLane && (workInProgressDeferredLane = 0 === (workInProgressRootRenderLanes & 536870912) || isHydrating ? claimNextTransitionLane() : 536870912); + var suspenseHandler = suspenseHandlerStackCursor.current; + null !== suspenseHandler && (suspenseHandler.flags |= 32); + return workInProgressDeferredLane; + } + function scheduleUpdateOnFiber(root, fiber, lane) { + isRunningInsertionEffect && console.error("useInsertionEffect must not schedule updates."); + isFlushingPassiveEffects && (didScheduleUpdateDuringPassiveEffects = true); + if (root === workInProgressRoot && workInProgressSuspendedReason === SuspendedOnData || null !== root.cancelPendingCommit) + prepareFreshStack(root, 0), markRootSuspended( + root, + workInProgressRootRenderLanes, + workInProgressDeferredLane, + false + ); + markRootUpdated$1(root, lane); + if (0 !== (executionContext & RenderContext) && root === workInProgressRoot) { + if (isRendering) + switch (fiber.tag) { + case 0: + case 11: + case 15: + root = workInProgress && getComponentNameFromFiber(workInProgress) || "Unknown"; + didWarnAboutUpdateInRenderForAnotherComponent.has(root) || (didWarnAboutUpdateInRenderForAnotherComponent.add(root), fiber = getComponentNameFromFiber(fiber) || "Unknown", console.error( + "Cannot update a component (`%s`) while rendering a different component (`%s`). To locate the bad setState() call inside `%s`, follow the stack trace as described in https://react.dev/link/setstate-in-render", + fiber, + root, + root + )); + break; + case 1: + didWarnAboutUpdateInRender || (console.error( + "Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state." + ), didWarnAboutUpdateInRender = true); + } + } else + isDevToolsPresent && addFiberToLanesMap(root, fiber, lane), warnIfUpdatesNotWrappedWithActDEV(fiber), root === workInProgressRoot && ((executionContext & RenderContext) === NoContext && (workInProgressRootInterleavedUpdatedLanes |= lane), workInProgressRootExitStatus === RootSuspendedWithDelay && markRootSuspended( + root, + workInProgressRootRenderLanes, + workInProgressDeferredLane, + false + )), ensureRootIsScheduled(root); + } + function performWorkOnRoot(root, lanes, forceSync) { + if ((executionContext & (RenderContext | CommitContext)) !== NoContext) + throw Error("Should not already be working."); + var shouldTimeSlice = !forceSync && 0 === (lanes & 60) && 0 === (lanes & root.expiredLanes) || checkIfRootIsPrerendering(root, lanes), exitStatus = shouldTimeSlice ? renderRootConcurrent(root, lanes) : renderRootSync(root, lanes, true), renderWasConcurrent = shouldTimeSlice; + do { + if (exitStatus === RootInProgress) { + workInProgressRootIsPrerendering && !shouldTimeSlice && markRootSuspended(root, lanes, 0, false); + break; + } else if (exitStatus === RootDidNotComplete) + markRootSuspended( + root, + lanes, + 0, + !workInProgressRootDidSkipSuspendedSiblings + ); + else { + forceSync = root.current.alternate; + if (renderWasConcurrent && !isRenderConsistentWithExternalStores(forceSync)) { + exitStatus = renderRootSync(root, lanes, false); + renderWasConcurrent = false; + continue; + } + if (exitStatus === RootErrored) { + renderWasConcurrent = lanes; + if (root.errorRecoveryDisabledLanes & renderWasConcurrent) + var errorRetryLanes = 0; + else + errorRetryLanes = root.pendingLanes & -536870913, errorRetryLanes = 0 !== errorRetryLanes ? errorRetryLanes : errorRetryLanes & 536870912 ? 536870912 : 0; + if (0 !== errorRetryLanes) { + lanes = errorRetryLanes; + a: { + exitStatus = root; + var errorRetryLanes$jscomp$0 = errorRetryLanes; + errorRetryLanes = workInProgressRootConcurrentErrors; + var wasRootDehydrated = supportsHydration && exitStatus.current.memoizedState.isDehydrated; + wasRootDehydrated && (prepareFreshStack( + exitStatus, + errorRetryLanes$jscomp$0 + ).flags |= 256); + errorRetryLanes$jscomp$0 = renderRootSync( + exitStatus, + errorRetryLanes$jscomp$0, + false + ); + if (errorRetryLanes$jscomp$0 !== RootErrored) { + if (workInProgressRootDidAttachPingListener && !wasRootDehydrated) { + exitStatus.errorRecoveryDisabledLanes |= renderWasConcurrent; + workInProgressRootInterleavedUpdatedLanes |= renderWasConcurrent; + exitStatus = RootSuspendedWithDelay; + break a; + } + exitStatus = workInProgressRootRecoverableErrors; + workInProgressRootRecoverableErrors = errorRetryLanes; + null !== exitStatus && queueRecoverableErrors(exitStatus); + } + exitStatus = errorRetryLanes$jscomp$0; + } + renderWasConcurrent = false; + if (exitStatus !== RootErrored) continue; + } + } + if (exitStatus === RootFatalErrored) { + prepareFreshStack(root, 0); + markRootSuspended(root, lanes, 0, true); + break; + } + a: { + shouldTimeSlice = root; + switch (exitStatus) { + case RootInProgress: + case RootFatalErrored: + throw Error("Root did not complete. This is a bug in React."); + case RootSuspendedWithDelay: + if ((lanes & 4194176) === lanes) { + markRootSuspended( + shouldTimeSlice, + lanes, + workInProgressDeferredLane, + !workInProgressRootDidSkipSuspendedSiblings + ); + break a; + } + break; + case RootErrored: + workInProgressRootRecoverableErrors = null; + break; + case RootSuspended: + case RootCompleted: + break; + default: + throw Error("Unknown root exit status."); + } + shouldTimeSlice.finishedWork = forceSync; + shouldTimeSlice.finishedLanes = lanes; + if (null !== ReactSharedInternals.actQueue) + commitRoot( + shouldTimeSlice, + workInProgressRootRecoverableErrors, + workInProgressTransitions, + workInProgressRootDidIncludeRecursiveRenderUpdate, + workInProgressDeferredLane, + workInProgressRootInterleavedUpdatedLanes, + workInProgressSuspendedRetryLanes, + IMMEDIATE_COMMIT, + -0, + 0 + ); + else { + if ((lanes & 62914560) === lanes && (exitStatus = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now$1(), 10 < exitStatus)) { + markRootSuspended( + shouldTimeSlice, + lanes, + workInProgressDeferredLane, + !workInProgressRootDidSkipSuspendedSiblings + ); + if (0 !== getNextLanes(shouldTimeSlice, 0)) break a; + shouldTimeSlice.timeoutHandle = scheduleTimeout( + commitRootWhenReady.bind( + null, + shouldTimeSlice, + forceSync, + workInProgressRootRecoverableErrors, + workInProgressTransitions, + workInProgressRootDidIncludeRecursiveRenderUpdate, + lanes, + workInProgressDeferredLane, + workInProgressRootInterleavedUpdatedLanes, + workInProgressSuspendedRetryLanes, + workInProgressRootDidSkipSuspendedSiblings, + THROTTLED_COMMIT, + -0, + 0 + ), + exitStatus + ); + break a; + } + commitRootWhenReady( + shouldTimeSlice, + forceSync, + workInProgressRootRecoverableErrors, + workInProgressTransitions, + workInProgressRootDidIncludeRecursiveRenderUpdate, + lanes, + workInProgressDeferredLane, + workInProgressRootInterleavedUpdatedLanes, + workInProgressSuspendedRetryLanes, + workInProgressRootDidSkipSuspendedSiblings, + IMMEDIATE_COMMIT, + -0, + 0 + ); + } + } + } + break; + } while (1); + ensureRootIsScheduled(root); + } + function queueRecoverableErrors(errors) { + null === workInProgressRootRecoverableErrors ? workInProgressRootRecoverableErrors = errors : workInProgressRootRecoverableErrors.push.apply( + workInProgressRootRecoverableErrors, + errors + ); + } + function commitRootWhenReady(root, finishedWork, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, lanes, spawnedLane, updatedLanes, suspendedRetryLanes, didSkipSuspendedSiblings, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime) { + var subtreeFlags = finishedWork.subtreeFlags; + if (subtreeFlags & 8192 || 16785408 === (subtreeFlags & 16785408)) { + if (startSuspendingCommit(), accumulateSuspenseyCommitOnFiber(finishedWork), finishedWork = waitForCommitToBeReady(), null !== finishedWork) { + root.cancelPendingCommit = finishedWork( + commitRoot.bind( + null, + root, + recoverableErrors, + transitions, + didIncludeRenderPhaseUpdate, + spawnedLane, + updatedLanes, + suspendedRetryLanes, + SUSPENDED_COMMIT, + completedRenderStartTime, + completedRenderEndTime + ) + ); + markRootSuspended( + root, + lanes, + spawnedLane, + !didSkipSuspendedSiblings + ); + return; + } + } + commitRoot( + root, + recoverableErrors, + transitions, + didIncludeRenderPhaseUpdate, + spawnedLane, + updatedLanes, + suspendedRetryLanes, + suspendedCommitReason, + completedRenderStartTime, + completedRenderEndTime + ); + } + function isRenderConsistentWithExternalStores(finishedWork) { + for (var node = finishedWork; ; ) { + var tag = node.tag; + if ((0 === tag || 11 === tag || 15 === tag) && node.flags & 16384 && (tag = node.updateQueue, null !== tag && (tag = tag.stores, null !== tag))) + for (var i = 0; i < tag.length; i++) { + var check = tag[i], getSnapshot = check.getSnapshot; + check = check.value; + try { + if (!objectIs(getSnapshot(), check)) return false; + } catch (error) { + return false; + } + } + tag = node.child; + if (node.subtreeFlags & 16384 && null !== tag) + tag.return = node, node = tag; + else { + if (node === finishedWork) break; + for (; null === node.sibling; ) { + if (null === node.return || node.return === finishedWork) return true; + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + } + return true; + } + function markRootSuspended(root, suspendedLanes, spawnedLane, didAttemptEntireTree) { + suspendedLanes &= ~workInProgressRootPingedLanes; + suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes; + root.suspendedLanes |= suspendedLanes; + root.pingedLanes &= ~suspendedLanes; + didAttemptEntireTree && (root.warmLanes |= suspendedLanes); + didAttemptEntireTree = root.expirationTimes; + for (var lanes = suspendedLanes; 0 < lanes; ) { + var index = 31 - clz32(lanes), lane = 1 << index; + didAttemptEntireTree[index] = -1; + lanes &= ~lane; + } + 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, suspendedLanes); + } + function flushSyncWork() { + return (executionContext & (RenderContext | CommitContext)) === NoContext ? (flushSyncWorkAcrossRoots_impl(0, false), false) : true; + } + function resetWorkInProgressStack() { + if (null !== workInProgress) { + if (workInProgressSuspendedReason === NotSuspended) + var interruptedWork = workInProgress.return; + else + interruptedWork = workInProgress, resetContextDependencies(), resetHooksOnUnwind(interruptedWork), thenableState$1 = null, thenableIndexCounter$1 = 0, interruptedWork = workInProgress; + for (; null !== interruptedWork; ) + unwindInterruptedWork(interruptedWork.alternate, interruptedWork), interruptedWork = interruptedWork.return; + workInProgress = null; + } + } + function prepareFreshStack(root, lanes) { + root.finishedWork = null; + root.finishedLanes = 0; + var timeoutHandle = root.timeoutHandle; + timeoutHandle !== noTimeout && (root.timeoutHandle = noTimeout, cancelTimeout(timeoutHandle)); + timeoutHandle = root.cancelPendingCommit; + null !== timeoutHandle && (root.cancelPendingCommit = null, timeoutHandle()); + resetWorkInProgressStack(); + workInProgressRoot = root; + workInProgress = timeoutHandle = createWorkInProgress(root.current, null); + workInProgressRootRenderLanes = lanes; + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + workInProgressRootDidSkipSuspendedSiblings = false; + workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root, lanes); + workInProgressRootDidAttachPingListener = false; + workInProgressRootExitStatus = RootInProgress; + workInProgressSuspendedRetryLanes = workInProgressDeferredLane = workInProgressRootPingedLanes = workInProgressRootInterleavedUpdatedLanes = workInProgressRootSkippedLanes = 0; + workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors = null; + workInProgressRootDidIncludeRecursiveRenderUpdate = false; + 0 !== (lanes & 8) && (lanes |= lanes & 32); + var allEntangledLanes = root.entangledLanes; + if (0 !== allEntangledLanes) + for (root = root.entanglements, allEntangledLanes &= lanes; 0 < allEntangledLanes; ) { + var index = 31 - clz32(allEntangledLanes), lane = 1 << index; + lanes |= root[index]; + allEntangledLanes &= ~lane; + } + entangledRenderLanes = lanes; + finishQueueingConcurrentUpdates(); + ReactStrictModeWarnings.discardPendingWarnings(); + return timeoutHandle; + } + function handleThrow(root, thrownValue) { + currentlyRenderingFiber$1 = null; + ReactSharedInternals.H = ContextOnlyDispatcher; + ReactSharedInternals.getCurrentStack = null; + isRendering = false; + current = null; + thrownValue === SuspenseException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnImmediate) : thrownValue === SuspenseyCommitException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnInstance) : workInProgressSuspendedReason = thrownValue === SelectiveHydrationException ? SuspendedOnHydration : null !== thrownValue && "object" === typeof thrownValue && "function" === typeof thrownValue.then ? SuspendedOnDeprecatedThrowPromise : SuspendedOnError; + workInProgressThrownValue = thrownValue; + var erroredWork = workInProgress; + if (null === erroredWork) + workInProgressRootExitStatus = RootFatalErrored, logUncaughtError( + root, + createCapturedValueAtFiber(thrownValue, root.current) + ); + else + switch (erroredWork.mode & 2 && stopProfilerTimerIfRunningAndRecordDuration(erroredWork), markComponentRenderStopped(), workInProgressSuspendedReason) { + case SuspendedOnError: + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentErrored && injectedProfilingHooks.markComponentErrored( + erroredWork, + thrownValue, + workInProgressRootRenderLanes + ); + break; + case SuspendedOnData: + case SuspendedOnImmediate: + case SuspendedOnDeprecatedThrowPromise: + case SuspendedAndReadyToContinue: + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentSuspended && injectedProfilingHooks.markComponentSuspended( + erroredWork, + thrownValue, + workInProgressRootRenderLanes + ); + } + } + function shouldRemainOnPreviousScreen() { + var handler = suspenseHandlerStackCursor.current; + return null === handler ? true : (workInProgressRootRenderLanes & 4194176) === workInProgressRootRenderLanes ? null === shellBoundary ? true : false : (workInProgressRootRenderLanes & 62914560) === workInProgressRootRenderLanes || 0 !== (workInProgressRootRenderLanes & 536870912) ? handler === shellBoundary : false; + } + function pushDispatcher() { + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = ContextOnlyDispatcher; + return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher; + } + function pushAsyncDispatcher() { + var prevAsyncDispatcher = ReactSharedInternals.A; + ReactSharedInternals.A = DefaultAsyncDispatcher; + return prevAsyncDispatcher; + } + function renderDidSuspendDelayIfPossible() { + workInProgressRootExitStatus = RootSuspendedWithDelay; + workInProgressRootDidSkipSuspendedSiblings || (workInProgressRootRenderLanes & 4194176) !== workInProgressRootRenderLanes && null !== suspenseHandlerStackCursor.current || (workInProgressRootIsPrerendering = true); + 0 === (workInProgressRootSkippedLanes & 134217727) && 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727) || null === workInProgressRoot || markRootSuspended( + workInProgressRoot, + workInProgressRootRenderLanes, + workInProgressDeferredLane, + false + ); + } + function renderRootSync(root, lanes, shouldYieldForPrerendering) { + var prevExecutionContext = executionContext; + executionContext |= RenderContext; + var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher(); + if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes) { + if (isDevToolsPresent) { + var memoizedUpdaters = root.memoizedUpdaters; + 0 < memoizedUpdaters.size && (restorePendingUpdaters(root, workInProgressRootRenderLanes), memoizedUpdaters.clear()); + movePendingFibersToMemoized(root, lanes); + } + workInProgressTransitions = null; + prepareFreshStack(root, lanes); + } + markRenderStarted(lanes); + lanes = false; + memoizedUpdaters = workInProgressRootExitStatus; + a: do + try { + if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress) { + var unitOfWork = workInProgress, thrownValue = workInProgressThrownValue; + switch (workInProgressSuspendedReason) { + case SuspendedOnHydration: + resetWorkInProgressStack(); + memoizedUpdaters = RootDidNotComplete; + break a; + case SuspendedOnImmediate: + case SuspendedOnData: + case SuspendedOnDeprecatedThrowPromise: + null === suspenseHandlerStackCursor.current && (lanes = true); + var reason = workInProgressSuspendedReason; + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason); + if (shouldYieldForPrerendering && workInProgressRootIsPrerendering) { + memoizedUpdaters = RootInProgress; + break a; + } + break; + default: + reason = workInProgressSuspendedReason, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason); + } + } + workLoopSync(); + memoizedUpdaters = workInProgressRootExitStatus; + break; + } catch (thrownValue$4) { + handleThrow(root, thrownValue$4); + } + while (1); + lanes && root.shellSuspendCounter++; + resetContextDependencies(); + executionContext = prevExecutionContext; + ReactSharedInternals.H = prevDispatcher; + ReactSharedInternals.A = prevAsyncDispatcher; + markRenderStopped(); + null === workInProgress && (workInProgressRoot = null, workInProgressRootRenderLanes = 0, finishQueueingConcurrentUpdates()); + return memoizedUpdaters; + } + function workLoopSync() { + for (; null !== workInProgress; ) performUnitOfWork(workInProgress); + } + function renderRootConcurrent(root, lanes) { + var prevExecutionContext = executionContext; + executionContext |= RenderContext; + var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher(); + if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes) { + if (isDevToolsPresent) { + var memoizedUpdaters = root.memoizedUpdaters; + 0 < memoizedUpdaters.size && (restorePendingUpdaters(root, workInProgressRootRenderLanes), memoizedUpdaters.clear()); + movePendingFibersToMemoized(root, lanes); + } + workInProgressTransitions = null; + workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS; + prepareFreshStack(root, lanes); + } else + workInProgressRootIsPrerendering = checkIfRootIsPrerendering( + root, + lanes + ); + markRenderStarted(lanes); + a: do + try { + if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress) + b: switch (lanes = workInProgress, memoizedUpdaters = workInProgressThrownValue, workInProgressSuspendedReason) { + case SuspendedOnError: + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + throwAndUnwindWorkLoop( + root, + lanes, + memoizedUpdaters, + SuspendedOnError + ); + break; + case SuspendedOnData: + if (isThenableResolved(memoizedUpdaters)) { + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + replaySuspendedUnitOfWork(lanes); + break; + } + lanes = function() { + workInProgressSuspendedReason === SuspendedOnData && workInProgressRoot === root && (workInProgressSuspendedReason = SuspendedAndReadyToContinue); + ensureRootIsScheduled(root); + }; + memoizedUpdaters.then(lanes, lanes); + break a; + case SuspendedOnImmediate: + workInProgressSuspendedReason = SuspendedAndReadyToContinue; + break a; + case SuspendedOnInstance: + workInProgressSuspendedReason = SuspendedOnInstanceAndReadyToContinue; + break a; + case SuspendedAndReadyToContinue: + isThenableResolved(memoizedUpdaters) ? (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, replaySuspendedUnitOfWork(lanes)) : (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop( + root, + lanes, + memoizedUpdaters, + SuspendedAndReadyToContinue + )); + break; + case SuspendedOnInstanceAndReadyToContinue: + var resource = null; + switch (workInProgress.tag) { + case 26: + resource = workInProgress.memoizedState; + case 5: + case 27: + var hostFiber = workInProgress, type = hostFiber.type, props = hostFiber.pendingProps; + if (resource ? preloadResource(resource) : preloadInstance(type, props)) { + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + var sibling = hostFiber.sibling; + if (null !== sibling) workInProgress = sibling; + else { + var returnFiber = hostFiber.return; + null !== returnFiber ? (workInProgress = returnFiber, completeUnitOfWork(returnFiber)) : workInProgress = null; + } + break b; + } + break; + default: + console.error( + "Unexpected type of fiber triggered a suspensey commit. This is a bug in React." + ); + } + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + throwAndUnwindWorkLoop( + root, + lanes, + memoizedUpdaters, + SuspendedOnInstanceAndReadyToContinue + ); + break; + case SuspendedOnDeprecatedThrowPromise: + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + throwAndUnwindWorkLoop( + root, + lanes, + memoizedUpdaters, + SuspendedOnDeprecatedThrowPromise + ); + break; + case SuspendedOnHydration: + resetWorkInProgressStack(); + workInProgressRootExitStatus = RootDidNotComplete; + break a; + default: + throw Error( + "Unexpected SuspendedReason. This is a bug in React." + ); + } + null !== ReactSharedInternals.actQueue ? workLoopSync() : workLoopConcurrent(); + break; + } catch (thrownValue$5) { + handleThrow(root, thrownValue$5); + } + while (1); + resetContextDependencies(); + ReactSharedInternals.H = prevDispatcher; + ReactSharedInternals.A = prevAsyncDispatcher; + executionContext = prevExecutionContext; + if (null !== workInProgress) + return null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderYielded && injectedProfilingHooks.markRenderYielded(), RootInProgress; + markRenderStopped(); + workInProgressRoot = null; + workInProgressRootRenderLanes = 0; + finishQueueingConcurrentUpdates(); + return workInProgressRootExitStatus; + } + function workLoopConcurrent() { + for (; null !== workInProgress && !shouldYield(); ) + performUnitOfWork(workInProgress); + } + function performUnitOfWork(unitOfWork) { + var current2 = unitOfWork.alternate; + (unitOfWork.mode & 2) !== NoMode ? (startProfilerTimer(unitOfWork), current2 = runWithFiberInDEV( + unitOfWork, + beginWork, + current2, + unitOfWork, + entangledRenderLanes + ), stopProfilerTimerIfRunningAndRecordDuration(unitOfWork)) : current2 = runWithFiberInDEV( + unitOfWork, + beginWork, + current2, + unitOfWork, + entangledRenderLanes + ); + unitOfWork.memoizedProps = unitOfWork.pendingProps; + null === current2 ? completeUnitOfWork(unitOfWork) : workInProgress = current2; + } + function replaySuspendedUnitOfWork(unitOfWork) { + var next = runWithFiberInDEV(unitOfWork, replayBeginWork, unitOfWork); + unitOfWork.memoizedProps = unitOfWork.pendingProps; + null === next ? completeUnitOfWork(unitOfWork) : workInProgress = next; + } + function replayBeginWork(unitOfWork) { + var current2 = unitOfWork.alternate, isProfilingMode = (unitOfWork.mode & 2) !== NoMode; + isProfilingMode && startProfilerTimer(unitOfWork); + switch (unitOfWork.tag) { + case 15: + case 0: + current2 = replayFunctionComponent( + current2, + unitOfWork, + unitOfWork.pendingProps, + unitOfWork.type, + void 0, + workInProgressRootRenderLanes + ); + break; + case 11: + current2 = replayFunctionComponent( + current2, + unitOfWork, + unitOfWork.pendingProps, + unitOfWork.type.render, + unitOfWork.ref, + workInProgressRootRenderLanes + ); + break; + case 5: + resetHooksOnUnwind(unitOfWork); + default: + unwindInterruptedWork(current2, unitOfWork), unitOfWork = workInProgress = resetWorkInProgress(unitOfWork, entangledRenderLanes), current2 = beginWork(current2, unitOfWork, entangledRenderLanes); + } + isProfilingMode && stopProfilerTimerIfRunningAndRecordDuration(unitOfWork); + return current2; + } + function throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, suspendedReason) { + resetContextDependencies(); + resetHooksOnUnwind(unitOfWork); + thenableState$1 = null; + thenableIndexCounter$1 = 0; + var returnFiber = unitOfWork.return; + try { + if (throwException( + root, + returnFiber, + unitOfWork, + thrownValue, + workInProgressRootRenderLanes + )) { + workInProgressRootExitStatus = RootFatalErrored; + logUncaughtError( + root, + createCapturedValueAtFiber(thrownValue, root.current) + ); + workInProgress = null; + return; + } + } catch (error) { + if (null !== returnFiber) throw workInProgress = returnFiber, error; + workInProgressRootExitStatus = RootFatalErrored; + logUncaughtError( + root, + createCapturedValueAtFiber(thrownValue, root.current) + ); + workInProgress = null; + return; + } + if (unitOfWork.flags & 32768) { + if (isHydrating || suspendedReason === SuspendedOnError) root = true; + else if (workInProgressRootIsPrerendering || 0 !== (workInProgressRootRenderLanes & 536870912)) + root = false; + else if (workInProgressRootDidSkipSuspendedSiblings = root = true, suspendedReason === SuspendedOnData || suspendedReason === SuspendedOnImmediate || suspendedReason === SuspendedOnDeprecatedThrowPromise) + suspendedReason = suspenseHandlerStackCursor.current, null !== suspendedReason && 13 === suspendedReason.tag && (suspendedReason.flags |= 16384); + unwindUnitOfWork(unitOfWork, root); + } else completeUnitOfWork(unitOfWork); + } + function completeUnitOfWork(unitOfWork) { + var completedWork = unitOfWork; + do { + if (0 !== (completedWork.flags & 32768)) { + unwindUnitOfWork( + completedWork, + workInProgressRootDidSkipSuspendedSiblings + ); + return; + } + var current2 = completedWork.alternate; + unitOfWork = completedWork.return; + startProfilerTimer(completedWork); + current2 = runWithFiberInDEV( + completedWork, + completeWork, + current2, + completedWork, + entangledRenderLanes + ); + (completedWork.mode & 2) !== NoMode && stopProfilerTimerIfRunningAndRecordIncompleteDuration(completedWork); + if (null !== current2) { + workInProgress = current2; + return; + } + completedWork = completedWork.sibling; + if (null !== completedWork) { + workInProgress = completedWork; + return; + } + workInProgress = completedWork = unitOfWork; + } while (null !== completedWork); + workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootCompleted); + } + function unwindUnitOfWork(unitOfWork, skipSiblings) { + do { + var next = unwindWork(unitOfWork.alternate, unitOfWork); + if (null !== next) { + next.flags &= 32767; + workInProgress = next; + return; + } + if ((unitOfWork.mode & 2) !== NoMode) { + stopProfilerTimerIfRunningAndRecordIncompleteDuration(unitOfWork); + next = unitOfWork.actualDuration; + for (var child = unitOfWork.child; null !== child; ) + next += child.actualDuration, child = child.sibling; + unitOfWork.actualDuration = next; + } + next = unitOfWork.return; + null !== next && (next.flags |= 32768, next.subtreeFlags = 0, next.deletions = null); + if (!skipSiblings && (unitOfWork = unitOfWork.sibling, null !== unitOfWork)) { + workInProgress = unitOfWork; + return; + } + workInProgress = unitOfWork = next; + } while (null !== unitOfWork); + workInProgressRootExitStatus = RootDidNotComplete; + workInProgress = null; + } + function commitRoot(root, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, spawnedLane, updatedLanes, suspendedRetryLanes, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime) { + var prevTransition = ReactSharedInternals.T, previousUpdateLanePriority = getCurrentUpdatePriority(); + try { + setCurrentUpdatePriority(2), ReactSharedInternals.T = null, commitRootImpl( + root, + recoverableErrors, + transitions, + didIncludeRenderPhaseUpdate, + previousUpdateLanePriority, + spawnedLane, + updatedLanes, + suspendedRetryLanes, + suspendedCommitReason, + completedRenderStartTime, + completedRenderEndTime + ); + } finally { + ReactSharedInternals.T = prevTransition, setCurrentUpdatePriority(previousUpdateLanePriority); + } + } + function commitRootImpl(root, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, renderPriorityLevel, spawnedLane, updatedLanes, suspendedRetryLanes) { + do + flushPassiveEffects(); + while (null !== rootWithPendingPassiveEffects); + ReactStrictModeWarnings.flushLegacyContextWarning(); + ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings(); + if ((executionContext & (RenderContext | CommitContext)) !== NoContext) + throw Error("Should not already be working."); + var finishedWork = root.finishedWork; + didIncludeRenderPhaseUpdate = root.finishedLanes; + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markCommitStarted && injectedProfilingHooks.markCommitStarted(didIncludeRenderPhaseUpdate); + if (null === finishedWork) return markCommitStopped(), null; + 0 === didIncludeRenderPhaseUpdate && console.error( + "root.finishedLanes should not be empty during a commit. This is a bug in React." + ); + root.finishedWork = null; + root.finishedLanes = 0; + if (finishedWork === root.current) + throw Error( + "Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue." + ); + root.callbackNode = null; + root.callbackPriority = 0; + root.cancelPendingCommit = null; + var remainingLanes = finishedWork.lanes | finishedWork.childLanes; + remainingLanes |= concurrentlyUpdatedLanes; + markRootFinished( + root, + didIncludeRenderPhaseUpdate, + remainingLanes, + spawnedLane, + updatedLanes, + suspendedRetryLanes + ); + root === workInProgressRoot && (workInProgress = workInProgressRoot = null, workInProgressRootRenderLanes = 0); + 0 === (finishedWork.subtreeFlags & 10256) && 0 === (finishedWork.flags & 10256) || rootDoesHavePassiveEffects || (rootDoesHavePassiveEffects = true, pendingPassiveEffectsRemainingLanes = remainingLanes, pendingPassiveTransitions = transitions, scheduleCallback(NormalPriority$1, function() { + flushPassiveEffects(true); + return null; + })); + commitStartTime = now(); + transitions = 0 !== (finishedWork.flags & 15990); + 0 !== (finishedWork.subtreeFlags & 15990) || transitions ? (transitions = ReactSharedInternals.T, ReactSharedInternals.T = null, spawnedLane = getCurrentUpdatePriority(), setCurrentUpdatePriority(2), updatedLanes = executionContext, executionContext |= CommitContext, commitBeforeMutationEffects(root, finishedWork), commitMutationEffects( + root, + finishedWork, + didIncludeRenderPhaseUpdate + ), resetAfterCommit(root.containerInfo), root.current = finishedWork, null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markLayoutEffectsStarted && injectedProfilingHooks.markLayoutEffectsStarted( + didIncludeRenderPhaseUpdate + ), commitLayoutEffects(finishedWork, root, didIncludeRenderPhaseUpdate), null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markLayoutEffectsStopped && injectedProfilingHooks.markLayoutEffectsStopped(), requestPaint(), executionContext = updatedLanes, setCurrentUpdatePriority(spawnedLane), ReactSharedInternals.T = transitions) : root.current = finishedWork; + (transitions = rootDoesHavePassiveEffects) ? (rootDoesHavePassiveEffects = false, rootWithPendingPassiveEffects = root, pendingPassiveEffectsLanes = didIncludeRenderPhaseUpdate) : (releaseRootPooledCache(root, remainingLanes), nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null); + remainingLanes = root.pendingLanes; + 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null); + transitions || commitDoubleInvokeEffectsInDEV(root); + onCommitRoot$1(finishedWork.stateNode, renderPriorityLevel); + isDevToolsPresent && root.memoizedUpdaters.clear(); + onCommitRoot(); + ensureRootIsScheduled(root); + if (null !== recoverableErrors) + for (renderPriorityLevel = root.onRecoverableError, finishedWork = 0; finishedWork < recoverableErrors.length; finishedWork++) + remainingLanes = recoverableErrors[finishedWork], transitions = makeErrorInfo(remainingLanes.stack), runWithFiberInDEV( + remainingLanes.source, + renderPriorityLevel, + remainingLanes.value, + transitions + ); + 0 !== (pendingPassiveEffectsLanes & 3) && flushPassiveEffects(); + remainingLanes = root.pendingLanes; + 0 !== (didIncludeRenderPhaseUpdate & 4194218) && 0 !== (remainingLanes & 42) ? (nestedUpdateScheduled = true, root === rootWithNestedUpdates ? nestedUpdateCount++ : (nestedUpdateCount = 0, rootWithNestedUpdates = root)) : nestedUpdateCount = 0; + flushSyncWorkAcrossRoots_impl(0, false); + markCommitStopped(); + return null; + } + function makeErrorInfo(componentStack) { + componentStack = { componentStack }; + Object.defineProperty(componentStack, "digest", { + get: function() { + console.error( + 'You are accessing "digest" from the errorInfo object passed to onRecoverableError. This property is no longer provided as part of errorInfo but can be accessed as a property of the Error instance itself.' + ); + } + }); + return componentStack; + } + function releaseRootPooledCache(root, remainingLanes) { + 0 === (root.pooledCacheLanes &= remainingLanes) && (remainingLanes = root.pooledCache, null != remainingLanes && (root.pooledCache = null, releaseCache(remainingLanes))); + } + function flushPassiveEffects() { + if (null !== rootWithPendingPassiveEffects) { + var root = rootWithPendingPassiveEffects, remainingLanes = pendingPassiveEffectsRemainingLanes; + pendingPassiveEffectsRemainingLanes = 0; + var renderPriority = lanesToEventPriority(pendingPassiveEffectsLanes), priority = 32 > renderPriority ? 32 : renderPriority; + renderPriority = ReactSharedInternals.T; + var previousPriority = getCurrentUpdatePriority(); + try { + setCurrentUpdatePriority(priority); + ReactSharedInternals.T = null; + if (null === rootWithPendingPassiveEffects) + var JSCompiler_inline_result = false; + else { + priority = pendingPassiveTransitions; + pendingPassiveTransitions = null; + var root$jscomp$0 = rootWithPendingPassiveEffects, lanes = pendingPassiveEffectsLanes; + rootWithPendingPassiveEffects = null; + pendingPassiveEffectsLanes = 0; + if ((executionContext & (RenderContext | CommitContext)) !== NoContext) + throw Error( + "Cannot flush passive effects while already rendering." + ); + isFlushingPassiveEffects = true; + didScheduleUpdateDuringPassiveEffects = false; + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markPassiveEffectsStarted && injectedProfilingHooks.markPassiveEffectsStarted(lanes); + var prevExecutionContext = executionContext; + executionContext |= CommitContext; + commitPassiveUnmountOnFiber(root$jscomp$0.current); + commitPassiveMountOnFiber( + root$jscomp$0, + root$jscomp$0.current, + lanes, + priority + ); + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markPassiveEffectsStopped && injectedProfilingHooks.markPassiveEffectsStopped(); + commitDoubleInvokeEffectsInDEV(root$jscomp$0); + executionContext = prevExecutionContext; + flushSyncWorkAcrossRoots_impl(0, false); + didScheduleUpdateDuringPassiveEffects ? root$jscomp$0 === rootWithPassiveNestedUpdates ? nestedPassiveUpdateCount++ : (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = root$jscomp$0) : nestedPassiveUpdateCount = 0; + didScheduleUpdateDuringPassiveEffects = isFlushingPassiveEffects = false; + if (injectedHook && "function" === typeof injectedHook.onPostCommitFiberRoot) + try { + injectedHook.onPostCommitFiberRoot(rendererID, root$jscomp$0); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + var stateNode = root$jscomp$0.current.stateNode; + stateNode.effectDuration = 0; + stateNode.passiveEffectDuration = 0; + JSCompiler_inline_result = true; + } + return JSCompiler_inline_result; + } finally { + setCurrentUpdatePriority(previousPriority), ReactSharedInternals.T = renderPriority, releaseRootPooledCache(root, remainingLanes); + } + } + return false; + } + function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) { + sourceFiber = createCapturedValueAtFiber(error, sourceFiber); + sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2); + rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2); + null !== rootFiber && (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber)); + } + function captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) { + isRunningInsertionEffect = false; + if (3 === sourceFiber.tag) + captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error); + else { + for (; null !== nearestMountedAncestor; ) { + if (3 === nearestMountedAncestor.tag) { + captureCommitPhaseErrorOnRoot( + nearestMountedAncestor, + sourceFiber, + error + ); + return; + } + if (1 === nearestMountedAncestor.tag) { + var instance = nearestMountedAncestor.stateNode; + if ("function" === typeof nearestMountedAncestor.type.getDerivedStateFromError || "function" === typeof instance.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(instance))) { + sourceFiber = createCapturedValueAtFiber(error, sourceFiber); + error = createClassErrorUpdate(2); + instance = enqueueUpdate(nearestMountedAncestor, error, 2); + null !== instance && (initializeClassErrorUpdate( + error, + instance, + nearestMountedAncestor, + sourceFiber + ), markRootUpdated$1(instance, 2), ensureRootIsScheduled(instance)); + return; + } + } + nearestMountedAncestor = nearestMountedAncestor.return; + } + console.error( + "Internal React error: Attempted to capture a commit phase error inside a detached tree. This indicates a bug in React. Potential causes include deleting the same fiber more than once, committing an already-finished tree, or an inconsistent return pointer.\n\nError message:\n\n%s", + error + ); + } + } + function attachPingListener(root, wakeable, lanes) { + var pingCache = root.pingCache; + if (null === pingCache) { + pingCache = root.pingCache = new PossiblyWeakMap(); + var threadIDs = /* @__PURE__ */ new Set(); + pingCache.set(wakeable, threadIDs); + } else + threadIDs = pingCache.get(wakeable), void 0 === threadIDs && (threadIDs = /* @__PURE__ */ new Set(), pingCache.set(wakeable, threadIDs)); + threadIDs.has(lanes) || (workInProgressRootDidAttachPingListener = true, threadIDs.add(lanes), pingCache = pingSuspendedRoot.bind(null, root, wakeable, lanes), isDevToolsPresent && restorePendingUpdaters(root, lanes), wakeable.then(pingCache, pingCache)); + } + function pingSuspendedRoot(root, wakeable, pingedLanes) { + var pingCache = root.pingCache; + null !== pingCache && pingCache.delete(wakeable); + root.pingedLanes |= root.suspendedLanes & pingedLanes; + root.warmLanes &= ~pingedLanes; + isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && console.error( + "A suspended resource finished loading inside a test, but the event was not wrapped in act(...).\n\nWhen testing, code that resolves suspended data should be wrapped into act(...):\n\nact(() => {\n /* finish loading suspended data */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act" + ); + workInProgressRoot === root && (workInProgressRootRenderLanes & pingedLanes) === pingedLanes && (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && (workInProgressRootRenderLanes & 62914560) === workInProgressRootRenderLanes && now$1() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS ? (executionContext & RenderContext) === NoContext && prepareFreshStack(root, 0) : workInProgressRootPingedLanes |= pingedLanes, workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes && (workInProgressSuspendedRetryLanes = 0)); + ensureRootIsScheduled(root); + } + function retryTimedOutBoundary(boundaryFiber, retryLane) { + 0 === retryLane && (retryLane = claimNextRetryLane()); + boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane); + null !== boundaryFiber && (markRootUpdated$1(boundaryFiber, retryLane), ensureRootIsScheduled(boundaryFiber)); + } + function retryDehydratedSuspenseBoundary(boundaryFiber) { + var suspenseState = boundaryFiber.memoizedState, retryLane = 0; + null !== suspenseState && (retryLane = suspenseState.retryLane); + retryTimedOutBoundary(boundaryFiber, retryLane); + } + function resolveRetryWakeable(boundaryFiber, wakeable) { + var retryLane = 0; + switch (boundaryFiber.tag) { + case 13: + var retryCache = boundaryFiber.stateNode; + var suspenseState = boundaryFiber.memoizedState; + null !== suspenseState && (retryLane = suspenseState.retryLane); + break; + case 19: + retryCache = boundaryFiber.stateNode; + break; + case 22: + retryCache = boundaryFiber.stateNode._retryCache; + break; + default: + throw Error( + "Pinged unknown suspense boundary type. This is probably a bug in React." + ); + } + null !== retryCache && retryCache.delete(wakeable); + retryTimedOutBoundary(boundaryFiber, retryLane); + } + function recursivelyTraverseAndDoubleInvokeEffectsInDEV(root$jscomp$0, parentFiber, isInStrictMode) { + if (0 !== (parentFiber.subtreeFlags & 33562624)) + for (parentFiber = parentFiber.child; null !== parentFiber; ) { + var root = root$jscomp$0, fiber = parentFiber, isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE; + isStrictModeFiber = isInStrictMode || isStrictModeFiber; + 22 !== fiber.tag ? fiber.flags & 33554432 ? isStrictModeFiber && runWithFiberInDEV( + fiber, + doubleInvokeEffectsOnFiber, + root, + fiber, + (fiber.mode & 64) === NoMode + ) : recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + fiber, + isStrictModeFiber + ) : null === fiber.memoizedState && (isStrictModeFiber && fiber.flags & 8192 ? runWithFiberInDEV( + fiber, + doubleInvokeEffectsOnFiber, + root, + fiber + ) : fiber.subtreeFlags & 33554432 && runWithFiberInDEV( + fiber, + recursivelyTraverseAndDoubleInvokeEffectsInDEV, + root, + fiber, + isStrictModeFiber + )); + parentFiber = parentFiber.sibling; + } + } + function doubleInvokeEffectsOnFiber(root, fiber) { + var shouldDoubleInvokePassiveEffects = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : true; + setIsStrictModeForDevtools(true); + try { + disappearLayoutEffects(fiber), shouldDoubleInvokePassiveEffects && disconnectPassiveEffect(fiber), reappearLayoutEffects(root, fiber.alternate, fiber, false), shouldDoubleInvokePassiveEffects && reconnectPassiveEffects(root, fiber, 0, null, false); + } finally { + setIsStrictModeForDevtools(false); + } + } + function commitDoubleInvokeEffectsInDEV(root) { + var doubleInvokeEffects = true; + root.current.mode & 24 || (doubleInvokeEffects = false); + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + root.current, + doubleInvokeEffects + ); + } + function warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) { + if ((executionContext & RenderContext) === NoContext) { + var tag = fiber.tag; + if (3 === tag || 1 === tag || 0 === tag || 11 === tag || 14 === tag || 15 === tag) { + tag = getComponentNameFromFiber(fiber) || "ReactComponent"; + if (null !== didWarnStateUpdateForNotYetMountedComponent) { + if (didWarnStateUpdateForNotYetMountedComponent.has(tag)) return; + didWarnStateUpdateForNotYetMountedComponent.add(tag); + } else didWarnStateUpdateForNotYetMountedComponent = /* @__PURE__ */ new Set([tag]); + runWithFiberInDEV(fiber, function() { + console.error( + "Can't perform a React state update on a component that hasn't mounted yet. This indicates that you have a side-effect in your render function that asynchronously later calls tries to update the component. Move this work to useEffect instead." + ); + }); + } + } + } + function restorePendingUpdaters(root, lanes) { + isDevToolsPresent && root.memoizedUpdaters.forEach(function(schedulingFiber) { + addFiberToLanesMap(root, schedulingFiber, lanes); + }); + } + function scheduleCallback(priorityLevel, callback) { + var actQueue = ReactSharedInternals.actQueue; + return null !== actQueue ? (actQueue.push(callback), fakeActCallbackNode) : scheduleCallback$3(priorityLevel, callback); + } + function warnIfUpdatesNotWrappedWithActDEV(fiber) { + isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && runWithFiberInDEV(fiber, function() { + console.error( + "An update to %s inside a test was not wrapped in act(...).\n\nWhen testing, code that causes React state updates should be wrapped into act(...):\n\nact(() => {\n /* fire events that update state */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act", + getComponentNameFromFiber(fiber) + ); + }); + } + function resolveFunctionForHotReloading(type) { + if (null === resolveFamily) return type; + var family = resolveFamily(type); + return void 0 === family ? type : family.current; + } + function resolveForwardRefForHotReloading(type) { + if (null === resolveFamily) return type; + var family = resolveFamily(type); + return void 0 === family ? null !== type && void 0 !== type && "function" === typeof type.render && (family = resolveFunctionForHotReloading(type.render), type.render !== family) ? (family = { $$typeof: REACT_FORWARD_REF_TYPE, render: family }, void 0 !== type.displayName && (family.displayName = type.displayName), family) : type : family.current; + } + function isCompatibleFamilyForHotReloading(fiber, element) { + if (null === resolveFamily) return false; + var prevType = fiber.elementType; + element = element.type; + var needsCompareFamilies = false, $$typeofNextType = "object" === typeof element && null !== element ? element.$$typeof : null; + switch (fiber.tag) { + case 1: + "function" === typeof element && (needsCompareFamilies = true); + break; + case 0: + "function" === typeof element ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true); + break; + case 11: + $$typeofNextType === REACT_FORWARD_REF_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true); + break; + case 14: + case 15: + $$typeofNextType === REACT_MEMO_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true); + break; + default: + return false; + } + return needsCompareFamilies && (fiber = resolveFamily(prevType), void 0 !== fiber && fiber === resolveFamily(element)) ? true : false; + } + function markFailedErrorBoundaryForHotReloading(fiber) { + null !== resolveFamily && "function" === typeof WeakSet && (null === failedBoundaries && (failedBoundaries = /* @__PURE__ */ new WeakSet()), failedBoundaries.add(fiber)); + } + function scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) { + var alternate = fiber.alternate, child = fiber.child, sibling = fiber.sibling, tag = fiber.tag, type = fiber.type, candidateType = null; + switch (tag) { + case 0: + case 15: + case 1: + candidateType = type; + break; + case 11: + candidateType = type.render; + } + if (null === resolveFamily) + throw Error("Expected resolveFamily to be set during hot reload."); + var needsRender = false; + type = false; + null !== candidateType && (candidateType = resolveFamily(candidateType), void 0 !== candidateType && (staleFamilies.has(candidateType) ? type = true : updatedFamilies.has(candidateType) && (1 === tag ? type = true : needsRender = true))); + null !== failedBoundaries && (failedBoundaries.has(fiber) || null !== alternate && failedBoundaries.has(alternate)) && (type = true); + type && (fiber._debugNeedsRemount = true); + if (type || needsRender) + alternate = enqueueConcurrentRenderForLane(fiber, 2), null !== alternate && scheduleUpdateOnFiber(alternate, fiber, 2); + null === child || type || scheduleFibersWithFamiliesRecursively( + child, + updatedFamilies, + staleFamilies + ); + null !== sibling && scheduleFibersWithFamiliesRecursively( + sibling, + updatedFamilies, + staleFamilies + ); + } + function FiberNode(tag, pendingProps, key, mode) { + this.tag = tag; + this.key = key; + this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null; + this.index = 0; + this.refCleanup = this.ref = null; + this.pendingProps = pendingProps; + this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null; + this.mode = mode; + this.subtreeFlags = this.flags = 0; + this.deletions = null; + this.childLanes = this.lanes = 0; + this.alternate = null; + this.actualDuration = -0; + this.actualStartTime = -1.1; + this.treeBaseDuration = this.selfBaseDuration = -0; + this._debugOwner = this._debugInfo = null; + this._debugNeedsRemount = false; + this._debugHookTypes = null; + hasBadMapPolyfill || "function" !== typeof Object.preventExtensions || Object.preventExtensions(this); + } + function shouldConstruct(Component) { + Component = Component.prototype; + return !(!Component || !Component.isReactComponent); + } + function createWorkInProgress(current2, pendingProps) { + var workInProgress2 = current2.alternate; + null === workInProgress2 ? (workInProgress2 = createFiber( + current2.tag, + pendingProps, + current2.key, + current2.mode + ), workInProgress2.elementType = current2.elementType, workInProgress2.type = current2.type, workInProgress2.stateNode = current2.stateNode, workInProgress2._debugOwner = current2._debugOwner, workInProgress2._debugHookTypes = current2._debugHookTypes, workInProgress2.alternate = current2, current2.alternate = workInProgress2) : (workInProgress2.pendingProps = pendingProps, workInProgress2.type = current2.type, workInProgress2.flags = 0, workInProgress2.subtreeFlags = 0, workInProgress2.deletions = null, workInProgress2.actualDuration = -0, workInProgress2.actualStartTime = -1.1); + workInProgress2.flags = current2.flags & 31457280; + workInProgress2.childLanes = current2.childLanes; + workInProgress2.lanes = current2.lanes; + workInProgress2.child = current2.child; + workInProgress2.memoizedProps = current2.memoizedProps; + workInProgress2.memoizedState = current2.memoizedState; + workInProgress2.updateQueue = current2.updateQueue; + pendingProps = current2.dependencies; + workInProgress2.dependencies = null === pendingProps ? null : { + lanes: pendingProps.lanes, + firstContext: pendingProps.firstContext, + _debugThenableState: pendingProps._debugThenableState + }; + workInProgress2.sibling = current2.sibling; + workInProgress2.index = current2.index; + workInProgress2.ref = current2.ref; + workInProgress2.refCleanup = current2.refCleanup; + workInProgress2.selfBaseDuration = current2.selfBaseDuration; + workInProgress2.treeBaseDuration = current2.treeBaseDuration; + workInProgress2._debugInfo = current2._debugInfo; + workInProgress2._debugNeedsRemount = current2._debugNeedsRemount; + switch (workInProgress2.tag) { + case 0: + case 15: + workInProgress2.type = resolveFunctionForHotReloading(current2.type); + break; + case 1: + workInProgress2.type = resolveFunctionForHotReloading(current2.type); + break; + case 11: + workInProgress2.type = resolveForwardRefForHotReloading(current2.type); + } + return workInProgress2; + } + function resetWorkInProgress(workInProgress2, renderLanes2) { + workInProgress2.flags &= 31457282; + var current2 = workInProgress2.alternate; + null === current2 ? (workInProgress2.childLanes = 0, workInProgress2.lanes = renderLanes2, workInProgress2.child = null, workInProgress2.subtreeFlags = 0, workInProgress2.memoizedProps = null, workInProgress2.memoizedState = null, workInProgress2.updateQueue = null, workInProgress2.dependencies = null, workInProgress2.stateNode = null, workInProgress2.selfBaseDuration = 0, workInProgress2.treeBaseDuration = 0) : (workInProgress2.childLanes = current2.childLanes, workInProgress2.lanes = current2.lanes, workInProgress2.child = current2.child, workInProgress2.subtreeFlags = 0, workInProgress2.deletions = null, workInProgress2.memoizedProps = current2.memoizedProps, workInProgress2.memoizedState = current2.memoizedState, workInProgress2.updateQueue = current2.updateQueue, workInProgress2.type = current2.type, renderLanes2 = current2.dependencies, workInProgress2.dependencies = null === renderLanes2 ? null : { + lanes: renderLanes2.lanes, + firstContext: renderLanes2.firstContext, + _debugThenableState: renderLanes2._debugThenableState + }, workInProgress2.selfBaseDuration = current2.selfBaseDuration, workInProgress2.treeBaseDuration = current2.treeBaseDuration); + return workInProgress2; + } + function createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes) { + var fiberTag = 0, resolvedType = type; + if ("function" === typeof type) + shouldConstruct(type) && (fiberTag = 1), resolvedType = resolveFunctionForHotReloading(resolvedType); + else if ("string" === typeof type) + supportsResources && supportsSingletons ? (fiberTag = getHostContext(), fiberTag = isHostHoistableType(type, pendingProps, fiberTag) ? 26 : isHostSingletonType(type) ? 27 : 5) : supportsResources ? (fiberTag = getHostContext(), fiberTag = isHostHoistableType(type, pendingProps, fiberTag) ? 26 : 5) : fiberTag = supportsSingletons ? isHostSingletonType(type) ? 27 : 5 : 5; + else + a: switch (type) { + case REACT_FRAGMENT_TYPE: + return createFiberFromFragment( + pendingProps.children, + mode, + lanes, + key + ); + case REACT_STRICT_MODE_TYPE: + fiberTag = 8; + mode |= 24; + break; + case REACT_PROFILER_TYPE: + return type = pendingProps, owner = mode, "string" !== typeof type.id && console.error( + 'Profiler must specify an "id" of type `string` as a prop. Received the type `%s` instead.', + typeof type.id + ), key = createFiber(12, type, key, owner | 2), key.elementType = REACT_PROFILER_TYPE, key.lanes = lanes, key.stateNode = { effectDuration: 0, passiveEffectDuration: 0 }, key; + case REACT_SUSPENSE_TYPE: + return key = createFiber(13, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_TYPE, key.lanes = lanes, key; + case REACT_SUSPENSE_LIST_TYPE: + return key = createFiber(19, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_LIST_TYPE, key.lanes = lanes, key; + case REACT_OFFSCREEN_TYPE: + return createFiberFromOffscreen(pendingProps, mode, lanes, key); + default: + if ("object" === typeof type && null !== type) + switch (type.$$typeof) { + case REACT_PROVIDER_TYPE: + case REACT_CONTEXT_TYPE: + fiberTag = 10; + break a; + case REACT_CONSUMER_TYPE: + fiberTag = 9; + break a; + case REACT_FORWARD_REF_TYPE: + fiberTag = 11; + resolvedType = resolveForwardRefForHotReloading(resolvedType); + break a; + case REACT_MEMO_TYPE: + fiberTag = 14; + break a; + case REACT_LAZY_TYPE: + fiberTag = 16; + resolvedType = null; + break a; + } + resolvedType = ""; + if (void 0 === type || "object" === typeof type && null !== type && 0 === Object.keys(type).length) + resolvedType += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."; + null === type ? pendingProps = "null" : isArrayImpl(type) ? pendingProps = "array" : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE ? (pendingProps = "<" + (getComponentNameFromType(type.type) || "Unknown") + " />", resolvedType = " Did you accidentally export a JSX literal instead of a component?") : pendingProps = typeof type; + fiberTag = owner ? "number" === typeof owner.tag ? getComponentNameFromFiber(owner) : "string" === typeof owner.name ? owner.name : null : null; + fiberTag && (resolvedType += "\n\nCheck the render method of `" + fiberTag + "`."); + fiberTag = 29; + pendingProps = Error( + "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (pendingProps + "." + resolvedType) + ); + resolvedType = null; + } + key = createFiber(fiberTag, pendingProps, key, mode); + key.elementType = type; + key.type = resolvedType; + key.lanes = lanes; + key._debugOwner = owner; + return key; + } + function createFiberFromElement(element, mode, lanes) { + mode = createFiberFromTypeAndProps( + element.type, + element.key, + element.props, + element._owner, + mode, + lanes + ); + mode._debugOwner = element._owner; + return mode; + } + function createFiberFromFragment(elements, mode, lanes, key) { + elements = createFiber(7, elements, key, mode); + elements.lanes = lanes; + return elements; + } + function createFiberFromOffscreen(pendingProps, mode, lanes, key) { + pendingProps = createFiber(22, pendingProps, key, mode); + pendingProps.elementType = REACT_OFFSCREEN_TYPE; + pendingProps.lanes = lanes; + var primaryChildInstance = { + _visibility: 1, + _pendingVisibility: 1, + _pendingMarkers: null, + _retryCache: null, + _transitions: null, + _current: null, + detach: function() { + var instance = primaryChildInstance, fiber = instance._current; + if (null === fiber) + throw Error( + "Calling Offscreen.detach before instance handle has been set." + ); + if (0 === (instance._pendingVisibility & 2)) { + var root = enqueueConcurrentRenderForLane(fiber, 2); + null !== root && (instance._pendingVisibility |= 2, scheduleUpdateOnFiber(root, fiber, 2)); + } + }, + attach: function() { + var instance = primaryChildInstance, fiber = instance._current; + if (null === fiber) + throw Error( + "Calling Offscreen.detach before instance handle has been set." + ); + if (0 !== (instance._pendingVisibility & 2)) { + var root = enqueueConcurrentRenderForLane(fiber, 2); + null !== root && (instance._pendingVisibility &= -3, scheduleUpdateOnFiber(root, fiber, 2)); + } + } + }; + pendingProps.stateNode = primaryChildInstance; + return pendingProps; + } + function createFiberFromText(content, mode, lanes) { + content = createFiber(6, content, null, mode); + content.lanes = lanes; + return content; + } + function createFiberFromPortal(portal, mode, lanes) { + mode = createFiber( + 4, + null !== portal.children ? portal.children : [], + portal.key, + mode + ); + mode.lanes = lanes; + mode.stateNode = { + containerInfo: portal.containerInfo, + pendingChildren: null, + implementation: portal.implementation + }; + return mode; + } + function FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, formState) { + this.tag = 1; + this.containerInfo = containerInfo; + this.finishedWork = this.pingCache = this.current = this.pendingChildren = null; + this.timeoutHandle = noTimeout; + this.callbackNode = this.next = this.pendingContext = this.context = this.cancelPendingCommit = null; + this.callbackPriority = 0; + this.expirationTimes = createLaneMap(-1); + this.entangledLanes = this.shellSuspendCounter = this.errorRecoveryDisabledLanes = this.finishedLanes = this.expiredLanes = this.warmLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0; + this.entanglements = createLaneMap(0); + this.hiddenUpdates = createLaneMap(null); + this.identifierPrefix = identifierPrefix; + this.onUncaughtError = onUncaughtError; + this.onCaughtError = onCaughtError; + this.onRecoverableError = onRecoverableError; + this.pooledCache = null; + this.pooledCacheLanes = 0; + this.formState = formState; + this.incompleteTransitions = /* @__PURE__ */ new Map(); + this.passiveEffectDuration = this.effectDuration = -0; + this.memoizedUpdaters = /* @__PURE__ */ new Set(); + containerInfo = this.pendingUpdatersLaneMap = []; + for (tag = 0; 31 > tag; tag++) containerInfo.push(/* @__PURE__ */ new Set()); + this._debugRootType = hydrate ? "hydrateRoot()" : "createRoot()"; + } + function createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, transitionCallbacks, formState) { + containerInfo = new FiberRootNode( + containerInfo, + tag, + hydrate, + identifierPrefix, + onUncaughtError, + onCaughtError, + onRecoverableError, + formState + ); + tag = 1; + true === isStrictMode && (tag |= 24); + isDevToolsPresent && (tag |= 2); + isStrictMode = createFiber(3, null, null, tag); + containerInfo.current = isStrictMode; + isStrictMode.stateNode = containerInfo; + tag = createCache(); + retainCache(tag); + containerInfo.pooledCache = tag; + retainCache(tag); + isStrictMode.memoizedState = { + element: initialChildren, + isDehydrated: hydrate, + cache: tag + }; + initializeUpdateQueue(isStrictMode); + return containerInfo; + } + function testStringCoercion(value) { + return "" + value; + } + function getContextForSubtree(parentComponent) { + if (!parentComponent) return emptyContextObject; + parentComponent = emptyContextObject; + return parentComponent; + } + function updateContainerSync(element, container, parentComponent, callback) { + 0 === container.tag && flushPassiveEffects(); + updateContainerImpl( + container.current, + 2, + element, + container, + parentComponent, + callback + ); + return 2; + } + function updateContainerImpl(rootFiber, lane, element, container, parentComponent, callback) { + if (injectedHook && "function" === typeof injectedHook.onScheduleFiberRoot) + try { + injectedHook.onScheduleFiberRoot(rendererID, container, element); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderScheduled && injectedProfilingHooks.markRenderScheduled(lane); + parentComponent = getContextForSubtree(parentComponent); + null === container.context ? container.context = parentComponent : container.pendingContext = parentComponent; + isRendering && null !== current && !didWarnAboutNestedUpdates && (didWarnAboutNestedUpdates = true, console.error( + "Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.\n\nCheck the render method of %s.", + getComponentNameFromFiber(current) || "Unknown" + )); + container = createUpdate(lane); + container.payload = { element }; + callback = void 0 === callback ? null : callback; + null !== callback && ("function" !== typeof callback && console.error( + "Expected the last optional `callback` argument to be a function. Instead received: %s.", + callback + ), container.callback = callback); + element = enqueueUpdate(rootFiber, container, lane); + null !== element && (scheduleUpdateOnFiber(element, rootFiber, lane), entangleTransitions(element, rootFiber, lane)); + } + function markRetryLaneImpl(fiber, retryLane) { + fiber = fiber.memoizedState; + if (null !== fiber && null !== fiber.dehydrated) { + var a = fiber.retryLane; + fiber.retryLane = 0 !== a && a < retryLane ? a : retryLane; + } + } + function markRetryLaneIfNotHydrated(fiber, retryLane) { + markRetryLaneImpl(fiber, retryLane); + (fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane); + } + function getCurrentFiberForDevTools() { + return current; + } + function getLaneLabelMap() { + for (var map = /* @__PURE__ */ new Map(), lane = 1, index = 0; 31 > index; index++) { + var label = getLabelForLane(lane); + map.set(lane, label); + lane *= 2; + } + return map; + } + var exports2 = {}; + "use strict"; + var React = require("react"), Scheduler = require_scheduler(), assign = Object.assign, REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_PROVIDER_TYPE = Symbol.for("react.provider"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"); + Symbol.for("react.scope"); + Symbol.for("react.debug_trace_mode"); + var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"); + Symbol.for("react.legacy_hidden"); + Symbol.for("react.tracing_marker"); + var REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, disabledDepth = 0, prevLog, prevInfo, prevWarn, prevError, prevGroup, prevGroupCollapsed, prevGroupEnd; + disabledLog.__reactDisabledLog = true; + var prefix, suffix, reentry = false; + var componentFrameCache = new ("function" === typeof WeakMap ? WeakMap : Map)(); + var current = null, isRendering = false, isArrayImpl = Array.isArray, rendererVersion = $$$config.rendererVersion, rendererPackageName = $$$config.rendererPackageName, extraDevToolsConfig = $$$config.extraDevToolsConfig, getPublicInstance = $$$config.getPublicInstance, getRootHostContext = $$$config.getRootHostContext, getChildHostContext = $$$config.getChildHostContext, prepareForCommit = $$$config.prepareForCommit, resetAfterCommit = $$$config.resetAfterCommit, createInstance = $$$config.createInstance, appendInitialChild = $$$config.appendInitialChild, finalizeInitialChildren = $$$config.finalizeInitialChildren, shouldSetTextContent = $$$config.shouldSetTextContent, createTextInstance = $$$config.createTextInstance, scheduleTimeout = $$$config.scheduleTimeout, cancelTimeout = $$$config.cancelTimeout, noTimeout = $$$config.noTimeout, isPrimaryRenderer = $$$config.isPrimaryRenderer; + $$$config.warnsIfNotActing; + var supportsMutation = $$$config.supportsMutation, supportsPersistence = $$$config.supportsPersistence, supportsHydration = $$$config.supportsHydration, getInstanceFromNode = $$$config.getInstanceFromNode; + $$$config.beforeActiveInstanceBlur; + $$$config.afterActiveInstanceBlur; + var preparePortalMount = $$$config.preparePortalMount; + $$$config.prepareScopeUpdate; + $$$config.getInstanceFromScope; + var setCurrentUpdatePriority = $$$config.setCurrentUpdatePriority, getCurrentUpdatePriority = $$$config.getCurrentUpdatePriority, resolveUpdatePriority = $$$config.resolveUpdatePriority; + $$$config.resolveEventType; + $$$config.resolveEventTimeStamp; + var shouldAttemptEagerTransition = $$$config.shouldAttemptEagerTransition, detachDeletedInstance = $$$config.detachDeletedInstance; + $$$config.requestPostPaintCallback; + var maySuspendCommit = $$$config.maySuspendCommit, preloadInstance = $$$config.preloadInstance, startSuspendingCommit = $$$config.startSuspendingCommit, suspendInstance = $$$config.suspendInstance, waitForCommitToBeReady = $$$config.waitForCommitToBeReady, NotPendingTransition = $$$config.NotPendingTransition, HostTransitionContext = $$$config.HostTransitionContext, resetFormInstance = $$$config.resetFormInstance, bindToConsole = $$$config.bindToConsole, supportsMicrotasks = $$$config.supportsMicrotasks, scheduleMicrotask = $$$config.scheduleMicrotask, supportsTestSelectors = $$$config.supportsTestSelectors, findFiberRoot = $$$config.findFiberRoot, getBoundingRect = $$$config.getBoundingRect, getTextContent = $$$config.getTextContent, isHiddenSubtree = $$$config.isHiddenSubtree, matchAccessibilityRole = $$$config.matchAccessibilityRole, setFocusIfFocusable = $$$config.setFocusIfFocusable, setupIntersectionObserver = $$$config.setupIntersectionObserver, appendChild = $$$config.appendChild, appendChildToContainer = $$$config.appendChildToContainer, commitTextUpdate = $$$config.commitTextUpdate, commitMount = $$$config.commitMount, commitUpdate = $$$config.commitUpdate, insertBefore = $$$config.insertBefore, insertInContainerBefore = $$$config.insertInContainerBefore, removeChild = $$$config.removeChild, removeChildFromContainer = $$$config.removeChildFromContainer, resetTextContent = $$$config.resetTextContent, hideInstance = $$$config.hideInstance, hideTextInstance = $$$config.hideTextInstance, unhideInstance = $$$config.unhideInstance, unhideTextInstance = $$$config.unhideTextInstance, clearContainer = $$$config.clearContainer, cloneInstance = $$$config.cloneInstance, createContainerChildSet = $$$config.createContainerChildSet, appendChildToContainerChildSet = $$$config.appendChildToContainerChildSet, finalizeContainerChildren = $$$config.finalizeContainerChildren, replaceContainerChildren = $$$config.replaceContainerChildren, cloneHiddenInstance = $$$config.cloneHiddenInstance, cloneHiddenTextInstance = $$$config.cloneHiddenTextInstance, isSuspenseInstancePending = $$$config.isSuspenseInstancePending, isSuspenseInstanceFallback = $$$config.isSuspenseInstanceFallback, getSuspenseInstanceFallbackErrorDetails = $$$config.getSuspenseInstanceFallbackErrorDetails, registerSuspenseInstanceRetry = $$$config.registerSuspenseInstanceRetry, canHydrateFormStateMarker = $$$config.canHydrateFormStateMarker, isFormStateMarkerMatching = $$$config.isFormStateMarkerMatching, getNextHydratableSibling = $$$config.getNextHydratableSibling, getFirstHydratableChild = $$$config.getFirstHydratableChild, getFirstHydratableChildWithinContainer = $$$config.getFirstHydratableChildWithinContainer, getFirstHydratableChildWithinSuspenseInstance = $$$config.getFirstHydratableChildWithinSuspenseInstance, canHydrateInstance = $$$config.canHydrateInstance, canHydrateTextInstance = $$$config.canHydrateTextInstance, canHydrateSuspenseInstance = $$$config.canHydrateSuspenseInstance, hydrateInstance = $$$config.hydrateInstance, hydrateTextInstance = $$$config.hydrateTextInstance, hydrateSuspenseInstance = $$$config.hydrateSuspenseInstance, getNextHydratableInstanceAfterSuspenseInstance = $$$config.getNextHydratableInstanceAfterSuspenseInstance, commitHydratedContainer = $$$config.commitHydratedContainer, commitHydratedSuspenseInstance = $$$config.commitHydratedSuspenseInstance, clearSuspenseBoundary = $$$config.clearSuspenseBoundary, clearSuspenseBoundaryFromContainer = $$$config.clearSuspenseBoundaryFromContainer, shouldDeleteUnhydratedTailInstances = $$$config.shouldDeleteUnhydratedTailInstances, diffHydratedPropsForDevWarnings = $$$config.diffHydratedPropsForDevWarnings, diffHydratedTextForDevWarnings = $$$config.diffHydratedTextForDevWarnings, describeHydratableInstanceForDevWarnings = $$$config.describeHydratableInstanceForDevWarnings, validateHydratableInstance = $$$config.validateHydratableInstance, validateHydratableTextInstance = $$$config.validateHydratableTextInstance, supportsResources = $$$config.supportsResources, isHostHoistableType = $$$config.isHostHoistableType, getHoistableRoot = $$$config.getHoistableRoot, getResource = $$$config.getResource, acquireResource = $$$config.acquireResource, releaseResource = $$$config.releaseResource, hydrateHoistable = $$$config.hydrateHoistable, mountHoistable = $$$config.mountHoistable, unmountHoistable = $$$config.unmountHoistable, createHoistableInstance = $$$config.createHoistableInstance, prepareToCommitHoistables = $$$config.prepareToCommitHoistables, mayResourceSuspendCommit = $$$config.mayResourceSuspendCommit, preloadResource = $$$config.preloadResource, suspendResource = $$$config.suspendResource, supportsSingletons = $$$config.supportsSingletons, resolveSingletonInstance = $$$config.resolveSingletonInstance, clearSingleton = $$$config.clearSingleton, acquireSingletonInstance = $$$config.acquireSingletonInstance, releaseSingletonInstance = $$$config.releaseSingletonInstance, isHostSingletonType = $$$config.isHostSingletonType, valueStack = []; + var fiberStack = []; + var index$jscomp$0 = -1, emptyContextObject = {}; + Object.freeze(emptyContextObject); + var clz32 = Math.clz32 ? Math.clz32 : clz32Fallback, log$1 = Math.log, LN2 = Math.LN2, nextTransitionLane = 128, nextRetryLane = 4194304, scheduleCallback$3 = Scheduler.unstable_scheduleCallback, cancelCallback$1 = Scheduler.unstable_cancelCallback, shouldYield = Scheduler.unstable_shouldYield, requestPaint = Scheduler.unstable_requestPaint, now$1 = Scheduler.unstable_now, ImmediatePriority = Scheduler.unstable_ImmediatePriority, UserBlockingPriority = Scheduler.unstable_UserBlockingPriority, NormalPriority$1 = Scheduler.unstable_NormalPriority, IdlePriority = Scheduler.unstable_IdlePriority, log = Scheduler.log, unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue, rendererID = null, injectedHook = null, injectedProfilingHooks = null, hasLoggedError = false, isDevToolsPresent = "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__, objectIs = "function" === typeof Object.is ? Object.is : is, CapturedStacks = /* @__PURE__ */ new WeakMap(), forkStack = [], forkStackIndex = 0, treeForkProvider = null, treeForkCount = 0, idStack = [], idStackIndex = 0, treeContextProvider = null, treeContextId = 1, treeContextOverflow = "", contextStackCursor = createCursor(null), contextFiberStackCursor = createCursor(null), rootInstanceStackCursor = createCursor(null), hostTransitionProviderCursor = createCursor(null), needsEscaping = /["'&<>\n\t]|^\s|\s$/, hydrationParentFiber = null, nextHydratableInstance = null, isHydrating = false, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, hydrationErrors = null, rootOrSingletonContext = false, HydrationMismatchException = Error( + "Hydration Mismatch Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React." + ), NoMode = 0, concurrentQueues = [], concurrentQueuesIndex = 0, concurrentlyUpdatedLanes = 0, now = Scheduler.unstable_now, commitStartTime = -0, profilerStartTime = -1.1, profilerEffectDuration = -0, currentUpdateIsNested = false, nestedUpdateScheduled = false, firstScheduledRoot = null, lastScheduledRoot = null, didScheduleMicrotask = false, didScheduleMicrotask_act = false, mightHavePendingSyncWork = false, isFlushingWork = false, currentEventTransitionLane = 0, fakeActCallbackNode$1 = {}, currentEntangledListeners = null, currentEntangledPendingCount = 0, currentEntangledLane = 0, currentEntangledActionThenable = null, UpdateState = 0, ReplaceState = 1, ForceUpdate = 2, CaptureUpdate = 3, hasForceUpdate = false; + var didWarnUpdateInsideUpdate = false; + var currentlyProcessingQueue = null; + var didReadFromEntangledAsyncAction = false, hasOwnProperty = Object.prototype.hasOwnProperty, ReactStrictModeWarnings = { + recordUnsafeLifecycleWarnings: function() { + }, + flushPendingUnsafeLifecycleWarnings: function() { + }, + recordLegacyContextWarning: function() { + }, + flushLegacyContextWarning: function() { + }, + discardPendingWarnings: function() { + } + }, pendingComponentWillMountWarnings = [], pendingUNSAFE_ComponentWillMountWarnings = [], pendingComponentWillReceivePropsWarnings = [], pendingUNSAFE_ComponentWillReceivePropsWarnings = [], pendingComponentWillUpdateWarnings = [], pendingUNSAFE_ComponentWillUpdateWarnings = [], didWarnAboutUnsafeLifecycles = /* @__PURE__ */ new Set(); + ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function(fiber, instance) { + didWarnAboutUnsafeLifecycles.has(fiber.type) || ("function" === typeof instance.componentWillMount && true !== instance.componentWillMount.__suppressDeprecationWarning && pendingComponentWillMountWarnings.push(fiber), fiber.mode & 8 && "function" === typeof instance.UNSAFE_componentWillMount && pendingUNSAFE_ComponentWillMountWarnings.push(fiber), "function" === typeof instance.componentWillReceiveProps && true !== instance.componentWillReceiveProps.__suppressDeprecationWarning && pendingComponentWillReceivePropsWarnings.push(fiber), fiber.mode & 8 && "function" === typeof instance.UNSAFE_componentWillReceiveProps && pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber), "function" === typeof instance.componentWillUpdate && true !== instance.componentWillUpdate.__suppressDeprecationWarning && pendingComponentWillUpdateWarnings.push(fiber), fiber.mode & 8 && "function" === typeof instance.UNSAFE_componentWillUpdate && pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber)); + }; + ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function() { + var componentWillMountUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingComponentWillMountWarnings.length && (pendingComponentWillMountWarnings.forEach(function(fiber) { + componentWillMountUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingComponentWillMountWarnings = []); + var UNSAFE_componentWillMountUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingUNSAFE_ComponentWillMountWarnings.length && (pendingUNSAFE_ComponentWillMountWarnings.forEach(function(fiber) { + UNSAFE_componentWillMountUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingUNSAFE_ComponentWillMountWarnings = []); + var componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingComponentWillReceivePropsWarnings.length && (pendingComponentWillReceivePropsWarnings.forEach(function(fiber) { + componentWillReceivePropsUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingComponentWillReceivePropsWarnings = []); + var UNSAFE_componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingUNSAFE_ComponentWillReceivePropsWarnings.length && (pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach( + function(fiber) { + UNSAFE_componentWillReceivePropsUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + } + ), pendingUNSAFE_ComponentWillReceivePropsWarnings = []); + var componentWillUpdateUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingComponentWillUpdateWarnings.length && (pendingComponentWillUpdateWarnings.forEach(function(fiber) { + componentWillUpdateUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingComponentWillUpdateWarnings = []); + var UNSAFE_componentWillUpdateUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingUNSAFE_ComponentWillUpdateWarnings.length && (pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function(fiber) { + UNSAFE_componentWillUpdateUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingUNSAFE_ComponentWillUpdateWarnings = []); + if (0 < UNSAFE_componentWillMountUniqueNames.size) { + var sortedNames = setToSortedString( + UNSAFE_componentWillMountUniqueNames + ); + console.error( + "Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n\nPlease update the following components: %s", + sortedNames + ); + } + 0 < UNSAFE_componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString( + UNSAFE_componentWillReceivePropsUniqueNames + ), console.error( + "Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\n\nPlease update the following components: %s", + sortedNames + )); + 0 < UNSAFE_componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString( + UNSAFE_componentWillUpdateUniqueNames + ), console.error( + "Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n\nPlease update the following components: %s", + sortedNames + )); + 0 < componentWillMountUniqueNames.size && (sortedNames = setToSortedString(componentWillMountUniqueNames), console.warn( + "componentWillMount has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", + sortedNames + )); + 0 < componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString( + componentWillReceivePropsUniqueNames + ), console.warn( + "componentWillReceiveProps has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\n* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", + sortedNames + )); + 0 < componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString(componentWillUpdateUniqueNames), console.warn( + "componentWillUpdate has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", + sortedNames + )); + }; + var pendingLegacyContextWarning = /* @__PURE__ */ new Map(), didWarnAboutLegacyContext = /* @__PURE__ */ new Set(); + ReactStrictModeWarnings.recordLegacyContextWarning = function(fiber, instance) { + var strictRoot = null; + for (var node = fiber; null !== node; ) + node.mode & 8 && (strictRoot = node), node = node.return; + null === strictRoot ? console.error( + "Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue." + ) : !didWarnAboutLegacyContext.has(fiber.type) && (node = pendingLegacyContextWarning.get(strictRoot), null != fiber.type.contextTypes || null != fiber.type.childContextTypes || null !== instance && "function" === typeof instance.getChildContext) && (void 0 === node && (node = [], pendingLegacyContextWarning.set(strictRoot, node)), node.push(fiber)); + }; + ReactStrictModeWarnings.flushLegacyContextWarning = function() { + pendingLegacyContextWarning.forEach(function(fiberArray) { + if (0 !== fiberArray.length) { + var firstFiber = fiberArray[0], uniqueNames = /* @__PURE__ */ new Set(); + fiberArray.forEach(function(fiber) { + uniqueNames.add(getComponentNameFromFiber(fiber) || "Component"); + didWarnAboutLegacyContext.add(fiber.type); + }); + var sortedNames = setToSortedString(uniqueNames); + runWithFiberInDEV(firstFiber, function() { + console.error( + "Legacy context API has been detected within a strict-mode tree.\n\nThe old API will be supported in all 16.x releases, but applications using it should migrate to the new version.\n\nPlease update the following components: %s\n\nLearn more about this warning here: https://react.dev/link/legacy-context", + sortedNames + ); + }); + } + }); + }; + ReactStrictModeWarnings.discardPendingWarnings = function() { + pendingComponentWillMountWarnings = []; + pendingUNSAFE_ComponentWillMountWarnings = []; + pendingComponentWillReceivePropsWarnings = []; + pendingUNSAFE_ComponentWillReceivePropsWarnings = []; + pendingComponentWillUpdateWarnings = []; + pendingUNSAFE_ComponentWillUpdateWarnings = []; + pendingLegacyContextWarning = /* @__PURE__ */ new Map(); + }; + var SuspenseException = Error( + "Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`" + ), SuspenseyCommitException = Error( + "Suspense Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React." + ), noopSuspenseyCommitThenable = { + then: function() { + console.error( + 'Internal React error: A listener was unexpectedly attached to a "noop" thenable. This is a bug in React. Please file an issue.' + ); + } + }, suspendedThenable = null, needsToResetSuspendedThenableDEV = false, callComponent = { + "react-stack-bottom-frame": function(Component, props, secondArg) { + var wasRendering = isRendering; + isRendering = true; + try { + return Component(props, secondArg); + } finally { + isRendering = wasRendering; + } + } + }, callComponentInDEV = callComponent["react-stack-bottom-frame"].bind(callComponent), callRender = { + "react-stack-bottom-frame": function(instance) { + var wasRendering = isRendering; + isRendering = true; + try { + return instance.render(); + } finally { + isRendering = wasRendering; + } + } + }, callRenderInDEV = callRender["react-stack-bottom-frame"].bind(callRender), callComponentDidMount = { + "react-stack-bottom-frame": function(finishedWork, instance) { + try { + instance.componentDidMount(); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + }, callComponentDidMountInDEV = callComponentDidMount["react-stack-bottom-frame"].bind(callComponentDidMount), callComponentDidUpdate = { + "react-stack-bottom-frame": function(finishedWork, instance, prevProps, prevState, snapshot) { + try { + instance.componentDidUpdate(prevProps, prevState, snapshot); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + }, callComponentDidUpdateInDEV = callComponentDidUpdate["react-stack-bottom-frame"].bind(callComponentDidUpdate), callComponentDidCatch = { + "react-stack-bottom-frame": function(instance, errorInfo) { + var stack = errorInfo.stack; + instance.componentDidCatch(errorInfo.value, { + componentStack: null !== stack ? stack : "" + }); + } + }, callComponentDidCatchInDEV = callComponentDidCatch["react-stack-bottom-frame"].bind(callComponentDidCatch), callComponentWillUnmount = { + "react-stack-bottom-frame": function(current2, nearestMountedAncestor, instance) { + try { + instance.componentWillUnmount(); + } catch (error) { + captureCommitPhaseError(current2, nearestMountedAncestor, error); + } + } + }, callComponentWillUnmountInDEV = callComponentWillUnmount["react-stack-bottom-frame"].bind(callComponentWillUnmount), callCreate = { + "react-stack-bottom-frame": function(effect) { + var create = effect.create; + effect = effect.inst; + create = create(); + return effect.destroy = create; + } + }, callCreateInDEV = callCreate["react-stack-bottom-frame"].bind(callCreate), callDestroy = { + "react-stack-bottom-frame": function(current2, nearestMountedAncestor, destroy) { + try { + destroy(); + } catch (error) { + captureCommitPhaseError(current2, nearestMountedAncestor, error); + } + } + }, callDestroyInDEV = callDestroy["react-stack-bottom-frame"].bind(callDestroy), callLazyInit = { + "react-stack-bottom-frame": function(lazy) { + var init = lazy._init; + return init(lazy._payload); + } + }, callLazyInitInDEV = callLazyInit["react-stack-bottom-frame"].bind(callLazyInit), thenableState$1 = null, thenableIndexCounter$1 = 0, currentDebugInfo = null, didWarnAboutMaps; + var didWarnAboutGenerators = didWarnAboutMaps = false; + var ownerHasKeyUseWarning = {}; + var ownerHasFunctionTypeWarning = {}; + var ownerHasSymbolTypeWarning = {}; + warnForMissingKey = function(returnFiber, workInProgress2, child) { + if (null !== child && "object" === typeof child && child._store && (!child._store.validated && null == child.key || 2 === child._store.validated)) { + if ("object" !== typeof child._store) + throw Error( + "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue." + ); + child._store.validated = 1; + var componentName2 = getComponentNameFromFiber(returnFiber), componentKey = componentName2 || "null"; + if (!ownerHasKeyUseWarning[componentKey]) { + ownerHasKeyUseWarning[componentKey] = true; + child = child._owner; + returnFiber = returnFiber._debugOwner; + var currentComponentErrorInfo = ""; + returnFiber && "number" === typeof returnFiber.tag && (componentKey = getComponentNameFromFiber(returnFiber)) && (currentComponentErrorInfo = "\n\nCheck the render method of `" + componentKey + "`."); + currentComponentErrorInfo || componentName2 && (currentComponentErrorInfo = "\n\nCheck the top-level render call using <" + componentName2 + ">."); + var childOwnerAppendix = ""; + null != child && returnFiber !== child && (componentName2 = null, "number" === typeof child.tag ? componentName2 = getComponentNameFromFiber(child) : "string" === typeof child.name && (componentName2 = child.name), componentName2 && (childOwnerAppendix = " It was passed a child from " + componentName2 + ".")); + runWithFiberInDEV(workInProgress2, function() { + console.error( + 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.', + currentComponentErrorInfo, + childOwnerAppendix + ); + }); + } + } + }; + var reconcileChildFibers = createChildReconciler(true), mountChildFibers = createChildReconciler(false), currentTreeHiddenStackCursor = createCursor(null), prevEntangledRenderLanesCursor = createCursor(0), suspenseHandlerStackCursor = createCursor(null), shellBoundary = null, SubtreeSuspenseContextMask = 1, ForceSuspenseFallback = 2, suspenseStackCursor = createCursor(0), NoFlags = 0, HasEffect = 1, Insertion = 2, Layout = 4, Passive = 8, didWarnUncachedGetSnapshot; + var didWarnAboutMismatchedHooksForComponent = /* @__PURE__ */ new Set(); + var didWarnAboutUseWrappedInTryCatch = /* @__PURE__ */ new Set(); + var didWarnAboutAsyncClientComponent = /* @__PURE__ */ new Set(); + var didWarnAboutUseFormState = /* @__PURE__ */ new Set(); + var renderLanes = 0, currentlyRenderingFiber$1 = null, currentHook = null, workInProgressHook = null, didScheduleRenderPhaseUpdate = false, didScheduleRenderPhaseUpdateDuringThisPass = false, shouldDoubleInvokeUserFnsInHooksDEV = false, localIdCounter = 0, thenableIndexCounter = 0, thenableState = null, globalClientIdCounter = 0, RE_RENDER_LIMIT = 25, currentHookNameInDev = null, hookTypesDev = null, hookTypesUpdateIndexDev = -1, ignorePreviousDependencies = false; + var createFunctionComponentUpdateQueue = function() { + return { lastEffect: null, events: null, stores: null, memoCache: null }; + }; + var ContextOnlyDispatcher = { + readContext, + use, + useCallback: throwInvalidHookError, + useContext: throwInvalidHookError, + useEffect: throwInvalidHookError, + useImperativeHandle: throwInvalidHookError, + useLayoutEffect: throwInvalidHookError, + useInsertionEffect: throwInvalidHookError, + useMemo: throwInvalidHookError, + useReducer: throwInvalidHookError, + useRef: throwInvalidHookError, + useState: throwInvalidHookError, + useDebugValue: throwInvalidHookError, + useDeferredValue: throwInvalidHookError, + useTransition: throwInvalidHookError, + useSyncExternalStore: throwInvalidHookError, + useId: throwInvalidHookError + }; + ContextOnlyDispatcher.useCacheRefresh = throwInvalidHookError; + ContextOnlyDispatcher.useMemoCache = throwInvalidHookError; + ContextOnlyDispatcher.useHostTransitionStatus = throwInvalidHookError; + ContextOnlyDispatcher.useFormState = throwInvalidHookError; + ContextOnlyDispatcher.useActionState = throwInvalidHookError; + ContextOnlyDispatcher.useOptimistic = throwInvalidHookError; + var HooksDispatcherOnMountInDEV = null, HooksDispatcherOnMountWithHookTypesInDEV = null, HooksDispatcherOnUpdateInDEV = null, HooksDispatcherOnRerenderInDEV = null, InvalidNestedHooksDispatcherOnMountInDEV = null, InvalidNestedHooksDispatcherOnUpdateInDEV = null, InvalidNestedHooksDispatcherOnRerenderInDEV = null; + HooksDispatcherOnMountInDEV = { + readContext: function(context) { + return readContext(context); + }, + use, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + return mountCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + mountHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, deps) { + currentHookNameInDev = "useEffect"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + return mountEffect(create, deps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + return mountImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + mountEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + return mountLayoutEffect(create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function(initialValue) { + currentHookNameInDev = "useRef"; + mountHookTypesDev(); + return mountRef(initialValue); + }, + useState: function(initialState) { + currentHookNameInDev = "useState"; + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountState(initialState); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + mountHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + mountHookTypesDev(); + return mountDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + mountHookTypesDev(); + return mountTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + mountHookTypesDev(); + return mountSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + mountHookTypesDev(); + return mountId(); + }, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + mountHookTypesDev(); + return mountRefresh(); + } + }; + HooksDispatcherOnMountInDEV.useMemoCache = useMemoCache; + HooksDispatcherOnMountInDEV.useHostTransitionStatus = useHostTransitionStatus; + HooksDispatcherOnMountInDEV.useFormState = function(action, initialState) { + currentHookNameInDev = "useFormState"; + mountHookTypesDev(); + warnOnUseFormStateInDev(); + return mountActionState(action, initialState); + }; + HooksDispatcherOnMountInDEV.useActionState = function(action, initialState) { + currentHookNameInDev = "useActionState"; + mountHookTypesDev(); + return mountActionState(action, initialState); + }; + HooksDispatcherOnMountInDEV.useOptimistic = function(passthrough) { + currentHookNameInDev = "useOptimistic"; + mountHookTypesDev(); + return mountOptimistic(passthrough); + }; + HooksDispatcherOnMountWithHookTypesInDEV = { + readContext: function(context) { + return readContext(context); + }, + use, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + updateHookTypesDev(); + return mountCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, deps) { + currentHookNameInDev = "useEffect"; + updateHookTypesDev(); + return mountEffect(create, deps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + updateHookTypesDev(); + return mountImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + updateHookTypesDev(); + mountEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + updateHookTypesDev(); + return mountLayoutEffect(create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function(initialValue) { + currentHookNameInDev = "useRef"; + updateHookTypesDev(); + return mountRef(initialValue); + }, + useState: function(initialState) { + currentHookNameInDev = "useState"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountState(initialState); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + updateHookTypesDev(); + return mountDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + updateHookTypesDev(); + return mountTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + updateHookTypesDev(); + return mountSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + updateHookTypesDev(); + return mountId(); + }, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return mountRefresh(); + } + }; + HooksDispatcherOnMountWithHookTypesInDEV.useMemoCache = useMemoCache; + HooksDispatcherOnMountWithHookTypesInDEV.useHostTransitionStatus = useHostTransitionStatus; + HooksDispatcherOnMountWithHookTypesInDEV.useFormState = function(action, initialState) { + currentHookNameInDev = "useFormState"; + updateHookTypesDev(); + warnOnUseFormStateInDev(); + return mountActionState(action, initialState); + }; + HooksDispatcherOnMountWithHookTypesInDEV.useActionState = function(action, initialState) { + currentHookNameInDev = "useActionState"; + updateHookTypesDev(); + return mountActionState(action, initialState); + }; + HooksDispatcherOnMountWithHookTypesInDEV.useOptimistic = function(passthrough) { + currentHookNameInDev = "useOptimistic"; + updateHookTypesDev(); + return mountOptimistic(passthrough); + }; + HooksDispatcherOnUpdateInDEV = { + readContext: function(context) { + return readContext(context); + }, + use, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, deps) { + currentHookNameInDev = "useEffect"; + updateHookTypesDev(); + updateEffectImpl(2048, Passive, create, deps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + updateHookTypesDev(); + return updateEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + updateHookTypesDev(); + return updateEffectImpl(4, Layout, create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function() { + currentHookNameInDev = "useRef"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useState: function() { + currentHookNameInDev = "useState"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(basicStateReducer); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + updateHookTypesDev(); + return updateDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + updateHookTypesDev(); + return updateTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + updateHookTypesDev(); + return updateSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + } + }; + HooksDispatcherOnUpdateInDEV.useMemoCache = useMemoCache; + HooksDispatcherOnUpdateInDEV.useHostTransitionStatus = useHostTransitionStatus; + HooksDispatcherOnUpdateInDEV.useFormState = function(action) { + currentHookNameInDev = "useFormState"; + updateHookTypesDev(); + warnOnUseFormStateInDev(); + return updateActionState(action); + }; + HooksDispatcherOnUpdateInDEV.useActionState = function(action) { + currentHookNameInDev = "useActionState"; + updateHookTypesDev(); + return updateActionState(action); + }; + HooksDispatcherOnUpdateInDEV.useOptimistic = function(passthrough, reducer) { + currentHookNameInDev = "useOptimistic"; + updateHookTypesDev(); + return updateOptimistic(passthrough, reducer); + }; + HooksDispatcherOnRerenderInDEV = { + readContext: function(context) { + return readContext(context); + }, + use, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, deps) { + currentHookNameInDev = "useEffect"; + updateHookTypesDev(); + updateEffectImpl(2048, Passive, create, deps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + updateHookTypesDev(); + return updateEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + updateHookTypesDev(); + return updateEffectImpl(4, Layout, create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV; + try { + return rerenderReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function() { + currentHookNameInDev = "useRef"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useState: function() { + currentHookNameInDev = "useState"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV; + try { + return rerenderReducer(basicStateReducer); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + updateHookTypesDev(); + return rerenderDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + updateHookTypesDev(); + return rerenderTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + updateHookTypesDev(); + return updateSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + } + }; + HooksDispatcherOnRerenderInDEV.useMemoCache = useMemoCache; + HooksDispatcherOnRerenderInDEV.useHostTransitionStatus = useHostTransitionStatus; + HooksDispatcherOnRerenderInDEV.useFormState = function(action) { + currentHookNameInDev = "useFormState"; + updateHookTypesDev(); + warnOnUseFormStateInDev(); + return rerenderActionState(action); + }; + HooksDispatcherOnRerenderInDEV.useActionState = function(action) { + currentHookNameInDev = "useActionState"; + updateHookTypesDev(); + return rerenderActionState(action); + }; + HooksDispatcherOnRerenderInDEV.useOptimistic = function(passthrough, reducer) { + currentHookNameInDev = "useOptimistic"; + updateHookTypesDev(); + return rerenderOptimistic(passthrough, reducer); + }; + InvalidNestedHooksDispatcherOnMountInDEV = { + readContext: function(context) { + warnInvalidContextAccess(); + return readContext(context); + }, + use: function(usable) { + warnInvalidHookAccess(); + return use(usable); + }, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, deps) { + currentHookNameInDev = "useEffect"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountEffect(create, deps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + warnInvalidHookAccess(); + mountHookTypesDev(); + mountEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountLayoutEffect(create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + warnInvalidHookAccess(); + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + warnInvalidHookAccess(); + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function(initialValue) { + currentHookNameInDev = "useRef"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountRef(initialValue); + }, + useState: function(initialState) { + currentHookNameInDev = "useState"; + warnInvalidHookAccess(); + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountState(initialState); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + warnInvalidHookAccess(); + mountHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountId(); + }, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + mountHookTypesDev(); + return mountRefresh(); + }, + useMemoCache: function(size) { + warnInvalidHookAccess(); + return useMemoCache(size); + } + }; + InvalidNestedHooksDispatcherOnMountInDEV.useHostTransitionStatus = useHostTransitionStatus; + InvalidNestedHooksDispatcherOnMountInDEV.useFormState = function(action, initialState) { + currentHookNameInDev = "useFormState"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountActionState(action, initialState); + }; + InvalidNestedHooksDispatcherOnMountInDEV.useActionState = function(action, initialState) { + currentHookNameInDev = "useActionState"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountActionState(action, initialState); + }; + InvalidNestedHooksDispatcherOnMountInDEV.useOptimistic = function(passthrough) { + currentHookNameInDev = "useOptimistic"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountOptimistic(passthrough); + }; + InvalidNestedHooksDispatcherOnUpdateInDEV = { + readContext: function(context) { + warnInvalidContextAccess(); + return readContext(context); + }, + use: function(usable) { + warnInvalidHookAccess(); + return use(usable); + }, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, deps) { + currentHookNameInDev = "useEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + updateEffectImpl(2048, Passive, create, deps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffectImpl(4, Layout, create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function() { + currentHookNameInDev = "useRef"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useState: function() { + currentHookNameInDev = "useState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(basicStateReducer); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + warnInvalidHookAccess(); + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useMemoCache: function(size) { + warnInvalidHookAccess(); + return useMemoCache(size); + } + }; + InvalidNestedHooksDispatcherOnUpdateInDEV.useHostTransitionStatus = useHostTransitionStatus; + InvalidNestedHooksDispatcherOnUpdateInDEV.useFormState = function(action) { + currentHookNameInDev = "useFormState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateActionState(action); + }; + InvalidNestedHooksDispatcherOnUpdateInDEV.useActionState = function(action) { + currentHookNameInDev = "useActionState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateActionState(action); + }; + InvalidNestedHooksDispatcherOnUpdateInDEV.useOptimistic = function(passthrough, reducer) { + currentHookNameInDev = "useOptimistic"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateOptimistic(passthrough, reducer); + }; + InvalidNestedHooksDispatcherOnRerenderInDEV = { + readContext: function(context) { + warnInvalidContextAccess(); + return readContext(context); + }, + use: function(usable) { + warnInvalidHookAccess(); + return use(usable); + }, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, deps) { + currentHookNameInDev = "useEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + updateEffectImpl(2048, Passive, create, deps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffectImpl(4, Layout, create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return rerenderReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function() { + currentHookNameInDev = "useRef"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useState: function() { + currentHookNameInDev = "useState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return rerenderReducer(basicStateReducer); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + warnInvalidHookAccess(); + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useMemoCache: function(size) { + warnInvalidHookAccess(); + return useMemoCache(size); + } + }; + InvalidNestedHooksDispatcherOnRerenderInDEV.useHostTransitionStatus = useHostTransitionStatus; + InvalidNestedHooksDispatcherOnRerenderInDEV.useFormState = function(action) { + currentHookNameInDev = "useFormState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderActionState(action); + }; + InvalidNestedHooksDispatcherOnRerenderInDEV.useActionState = function(action) { + currentHookNameInDev = "useActionState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderActionState(action); + }; + InvalidNestedHooksDispatcherOnRerenderInDEV.useOptimistic = function(passthrough, reducer) { + currentHookNameInDev = "useOptimistic"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderOptimistic(passthrough, reducer); + }; + var fakeInternalInstance = {}; + var didWarnAboutStateAssignmentForComponent = /* @__PURE__ */ new Set(); + var didWarnAboutUninitializedState = /* @__PURE__ */ new Set(); + var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = /* @__PURE__ */ new Set(); + var didWarnAboutLegacyLifecyclesAndDerivedState = /* @__PURE__ */ new Set(); + var didWarnAboutDirectlyAssigningPropsToState = /* @__PURE__ */ new Set(); + var didWarnAboutUndefinedDerivedState = /* @__PURE__ */ new Set(); + var didWarnAboutContextTypes$1 = /* @__PURE__ */ new Set(); + var didWarnAboutChildContextTypes = /* @__PURE__ */ new Set(); + var didWarnAboutInvalidateContextType = /* @__PURE__ */ new Set(); + var didWarnOnInvalidCallback = /* @__PURE__ */ new Set(); + Object.freeze(fakeInternalInstance); + var classComponentUpdater = { + isMounted: function(component) { + var owner = current; + if (null !== owner && isRendering && 1 === owner.tag) { + var instance = owner.stateNode; + instance._warnedAboutRefsInRender || console.error( + "%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.", + getComponentNameFromFiber(owner) || "A component" + ); + instance._warnedAboutRefsInRender = true; + } + return (component = component._reactInternals) ? getNearestMountedFiber(component) === component : false; + }, + enqueueSetState: function(inst, payload, callback) { + inst = inst._reactInternals; + var lane = requestUpdateLane(inst), update = createUpdate(lane); + update.payload = payload; + void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback); + payload = enqueueUpdate(inst, update, lane); + null !== payload && (scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane)); + markStateUpdateScheduled(inst, lane); + }, + enqueueReplaceState: function(inst, payload, callback) { + inst = inst._reactInternals; + var lane = requestUpdateLane(inst), update = createUpdate(lane); + update.tag = ReplaceState; + update.payload = payload; + void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback); + payload = enqueueUpdate(inst, update, lane); + null !== payload && (scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane)); + markStateUpdateScheduled(inst, lane); + }, + enqueueForceUpdate: function(inst, callback) { + inst = inst._reactInternals; + var lane = requestUpdateLane(inst), update = createUpdate(lane); + update.tag = ForceUpdate; + void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback); + callback = enqueueUpdate(inst, update, lane); + null !== callback && (scheduleUpdateOnFiber(callback, inst, lane), entangleTransitions(callback, inst, lane)); + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markForceUpdateScheduled && injectedProfilingHooks.markForceUpdateScheduled(inst, lane); + } + }, reportGlobalError = "function" === typeof reportError ? reportError : function(error) { + if ("object" === typeof window && "function" === typeof window.ErrorEvent) { + var event = new window.ErrorEvent("error", { + bubbles: true, + cancelable: true, + message: "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error), + error + }); + if (!window.dispatchEvent(event)) return; + } else if ("object" === typeof process && "function" === typeof process.emit) { + process.emit("uncaughtException", error); + return; + } + console.error(error); + }, componentName = null, errorBoundaryName = null, SelectiveHydrationException = Error( + "This is not a real error. It's an implementation detail of React's selective hydration feature. If this leaks into userspace, it's a bug in React. Please file an issue." + ), didReceiveUpdate = false; + var didWarnAboutBadClass = {}; + var didWarnAboutContextTypeOnFunctionComponent = {}; + var didWarnAboutContextTypes = {}; + var didWarnAboutGetDerivedStateOnFunctionComponent = {}; + var didWarnAboutReassigningProps = false; + var didWarnAboutRevealOrder = {}; + var didWarnAboutTailOptions = {}; + var SUSPENDED_MARKER = { + dehydrated: null, + treeContext: null, + retryLane: 0 + }, hasWarnedAboutUsingNoValuePropOnContextProvider = false, valueCursor = createCursor(null); + var rendererCursorDEV = createCursor(null); + var renderer2CursorDEV = createCursor(null); + var rendererSigil = {}; + var currentlyRenderingFiber = null, lastContextDependency = null, isDisallowedContextReadInDEV = false, AbortControllerLocal = "undefined" !== typeof AbortController ? AbortController : function() { + var listeners = [], signal = this.signal = { + aborted: false, + addEventListener: function(type, listener) { + listeners.push(listener); + } + }; + this.abort = function() { + signal.aborted = true; + listeners.forEach(function(listener) { + return listener(); + }); + }; + }, scheduleCallback$1 = Scheduler.unstable_scheduleCallback, NormalPriority = Scheduler.unstable_NormalPriority, CacheContext = { + $$typeof: REACT_CONTEXT_TYPE, + Consumer: null, + Provider: null, + _currentValue: null, + _currentValue2: null, + _threadCount: 0, + _currentRenderer: null, + _currentRenderer2: null + }, prevOnStartTransitionFinish = ReactSharedInternals.S; + ReactSharedInternals.S = function(transition, returnValue) { + "object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then && entangleAsyncAction(transition, returnValue); + null !== prevOnStartTransitionFinish && prevOnStartTransitionFinish(transition, returnValue); + }; + var resumedCache = createCursor(null), didWarnAboutUndefinedSnapshotBeforeUpdate = null; + didWarnAboutUndefinedSnapshotBeforeUpdate = /* @__PURE__ */ new Set(); + var offscreenSubtreeIsHidden = false, offscreenSubtreeWasHidden = false, needsFormReset = false, PossiblyWeakSet = "function" === typeof WeakSet ? WeakSet : Set, nextEffect = null, inProgressLanes = null, inProgressRoot = null, shouldFireAfterActiveInstanceBlur = false, hostParent = null, hostParentIsContainer = false, currentHoistableRoot = null, suspenseyCommitFlag = 8192, DefaultAsyncDispatcher = { + getCacheForType: function(resourceType) { + var cache = readContext(CacheContext), cacheForType = cache.data.get(resourceType); + void 0 === cacheForType && (cacheForType = resourceType(), cache.data.set(resourceType, cacheForType)); + return cacheForType; + }, + getOwner: function() { + return current; + } + }, COMPONENT_TYPE = 0, HAS_PSEUDO_CLASS_TYPE = 1, ROLE_TYPE = 2, TEST_NAME_TYPE = 3, TEXT_TYPE = 4; + if ("function" === typeof Symbol && Symbol.for) { + var symbolFor = Symbol.for; + COMPONENT_TYPE = symbolFor("selector.component"); + HAS_PSEUDO_CLASS_TYPE = symbolFor("selector.has_pseudo_class"); + ROLE_TYPE = symbolFor("selector.role"); + TEST_NAME_TYPE = symbolFor("selector.test_id"); + TEXT_TYPE = symbolFor("selector.text"); + } + var commitHooks = [], PossiblyWeakMap = "function" === typeof WeakMap ? WeakMap : Map, NoContext = 0, RenderContext = 2, CommitContext = 4, RootInProgress = 0, RootFatalErrored = 1, RootErrored = 2, RootSuspended = 3, RootSuspendedWithDelay = 4, RootCompleted = 5, RootDidNotComplete = 6, executionContext = NoContext, workInProgressRoot = null, workInProgress = null, workInProgressRootRenderLanes = 0, NotSuspended = 0, SuspendedOnError = 1, SuspendedOnData = 2, SuspendedOnImmediate = 3, SuspendedOnInstance = 4, SuspendedOnInstanceAndReadyToContinue = 5, SuspendedOnDeprecatedThrowPromise = 6, SuspendedAndReadyToContinue = 7, SuspendedOnHydration = 8, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, workInProgressRootDidSkipSuspendedSiblings = false, workInProgressRootIsPrerendering = false, workInProgressRootDidAttachPingListener = false, entangledRenderLanes = 0, workInProgressRootExitStatus = RootInProgress, workInProgressRootSkippedLanes = 0, workInProgressRootInterleavedUpdatedLanes = 0, workInProgressRootPingedLanes = 0, workInProgressDeferredLane = 0, workInProgressSuspendedRetryLanes = 0, workInProgressRootConcurrentErrors = null, workInProgressRootRecoverableErrors = null, workInProgressRootDidIncludeRecursiveRenderUpdate = false, globalMostRecentFallbackTime = 0, FALLBACK_THROTTLE_MS = 300, workInProgressRootRenderTargetTime = Infinity, RENDER_TIMEOUT_MS = 500, workInProgressTransitions = null, legacyErrorBoundariesThatAlreadyFailed = null, rootDoesHavePassiveEffects = false, rootWithPendingPassiveEffects = null, pendingPassiveEffectsLanes = 0, pendingPassiveEffectsRemainingLanes = 0, pendingPassiveTransitions = null, NESTED_UPDATE_LIMIT = 50, nestedUpdateCount = 0, rootWithNestedUpdates = null, isFlushingPassiveEffects = false, didScheduleUpdateDuringPassiveEffects = false, NESTED_PASSIVE_UPDATE_LIMIT = 50, nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, isRunningInsertionEffect = false, IMMEDIATE_COMMIT = 0, SUSPENDED_COMMIT = 1, THROTTLED_COMMIT = 2, didWarnStateUpdateForNotYetMountedComponent = null, didWarnAboutUpdateInRender = false; + var didWarnAboutUpdateInRenderForAnotherComponent = /* @__PURE__ */ new Set(); + var fakeActCallbackNode = {}, resolveFamily = null, failedBoundaries = null; + var hasBadMapPolyfill = false; + try { + var nonExtensibleObject = Object.preventExtensions({}); + /* @__PURE__ */ new Map([[nonExtensibleObject, null]]); + /* @__PURE__ */ new Set([nonExtensibleObject]); + } catch (e) { + hasBadMapPolyfill = true; + } + var didWarnAboutNestedUpdates = false; + var didWarnAboutFindNodeInStrictMode = {}; + var overrideHookState = null, overrideHookStateDeletePath = null, overrideHookStateRenamePath = null, overrideProps = null, overridePropsDeletePath = null, overridePropsRenamePath = null, scheduleUpdate = null, setErrorHandler = null, setSuspenseHandler = null; + overrideHookState = function(fiber, id, path, value) { + id = findHook(fiber, id); + null !== id && (path = copyWithSetImpl(id.memoizedState, path, 0, value), id.memoizedState = path, id.baseState = path, fiber.memoizedProps = assign({}, fiber.memoizedProps), path = enqueueConcurrentRenderForLane(fiber, 2), null !== path && scheduleUpdateOnFiber(path, fiber, 2)); + }; + overrideHookStateDeletePath = function(fiber, id, path) { + id = findHook(fiber, id); + null !== id && (path = copyWithDeleteImpl(id.memoizedState, path, 0), id.memoizedState = path, id.baseState = path, fiber.memoizedProps = assign({}, fiber.memoizedProps), path = enqueueConcurrentRenderForLane(fiber, 2), null !== path && scheduleUpdateOnFiber(path, fiber, 2)); + }; + overrideHookStateRenamePath = function(fiber, id, oldPath, newPath) { + id = findHook(fiber, id); + null !== id && (oldPath = copyWithRename(id.memoizedState, oldPath, newPath), id.memoizedState = oldPath, id.baseState = oldPath, fiber.memoizedProps = assign({}, fiber.memoizedProps), oldPath = enqueueConcurrentRenderForLane(fiber, 2), null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2)); + }; + overrideProps = function(fiber, path, value) { + fiber.pendingProps = copyWithSetImpl(fiber.memoizedProps, path, 0, value); + fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps); + path = enqueueConcurrentRenderForLane(fiber, 2); + null !== path && scheduleUpdateOnFiber(path, fiber, 2); + }; + overridePropsDeletePath = function(fiber, path) { + fiber.pendingProps = copyWithDeleteImpl(fiber.memoizedProps, path, 0); + fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps); + path = enqueueConcurrentRenderForLane(fiber, 2); + null !== path && scheduleUpdateOnFiber(path, fiber, 2); + }; + overridePropsRenamePath = function(fiber, oldPath, newPath) { + fiber.pendingProps = copyWithRename( + fiber.memoizedProps, + oldPath, + newPath + ); + fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps); + oldPath = enqueueConcurrentRenderForLane(fiber, 2); + null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2); + }; + scheduleUpdate = function(fiber) { + var root = enqueueConcurrentRenderForLane(fiber, 2); + null !== root && scheduleUpdateOnFiber(root, fiber, 2); + }; + setErrorHandler = function(newShouldErrorImpl) { + shouldErrorImpl = newShouldErrorImpl; + }; + setSuspenseHandler = function(newShouldSuspendImpl) { + shouldSuspendImpl = newShouldSuspendImpl; + }; + exports2.attemptContinuousHydration = function(fiber) { + if (13 === fiber.tag) { + var root = enqueueConcurrentRenderForLane(fiber, 67108864); + null !== root && scheduleUpdateOnFiber(root, fiber, 67108864); + markRetryLaneIfNotHydrated(fiber, 67108864); + } + }; + exports2.attemptHydrationAtCurrentPriority = function(fiber) { + if (13 === fiber.tag) { + var lane = requestUpdateLane(fiber), root = enqueueConcurrentRenderForLane(fiber, lane); + null !== root && scheduleUpdateOnFiber(root, fiber, lane); + markRetryLaneIfNotHydrated(fiber, lane); + } + }; + exports2.attemptSynchronousHydration = function(fiber) { + switch (fiber.tag) { + case 3: + fiber = fiber.stateNode; + if (fiber.current.memoizedState.isDehydrated) { + var lanes = getHighestPriorityLanes(fiber.pendingLanes); + if (0 !== lanes) { + fiber.pendingLanes |= 2; + for (fiber.entangledLanes |= 2; lanes; ) { + var lane = 1 << 31 - clz32(lanes); + fiber.entanglements[1] |= lane; + lanes &= ~lane; + } + ensureRootIsScheduled(fiber); + (executionContext & (RenderContext | CommitContext)) === NoContext && (workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS, flushSyncWorkAcrossRoots_impl(0, false)); + } + } + break; + case 13: + lanes = enqueueConcurrentRenderForLane(fiber, 2), null !== lanes && scheduleUpdateOnFiber(lanes, fiber, 2), flushSyncWork(), markRetryLaneIfNotHydrated(fiber, 2); + } + }; + exports2.batchedUpdates = function(fn, a) { + return fn(a); + }; + exports2.createComponentSelector = function(component) { + return { $$typeof: COMPONENT_TYPE, value: component }; + }; + exports2.createContainer = function(containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, transitionCallbacks) { + return createFiberRoot( + containerInfo, + tag, + false, + null, + hydrationCallbacks, + isStrictMode, + identifierPrefix, + onUncaughtError, + onCaughtError, + onRecoverableError, + transitionCallbacks, + null + ); + }; + exports2.createHasPseudoClassSelector = function(selectors) { + return { $$typeof: HAS_PSEUDO_CLASS_TYPE, value: selectors }; + }; + exports2.createHydrationContainer = function(initialChildren, callback, containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, transitionCallbacks, formState) { + initialChildren = createFiberRoot( + containerInfo, + tag, + true, + initialChildren, + hydrationCallbacks, + isStrictMode, + identifierPrefix, + onUncaughtError, + onCaughtError, + onRecoverableError, + transitionCallbacks, + formState + ); + initialChildren.context = getContextForSubtree(null); + containerInfo = initialChildren.current; + tag = requestUpdateLane(containerInfo); + hydrationCallbacks = createUpdate(tag); + hydrationCallbacks.callback = void 0 !== callback && null !== callback ? callback : null; + enqueueUpdate(containerInfo, hydrationCallbacks, tag); + initialChildren.current.lanes = tag; + markRootUpdated$1(initialChildren, tag); + ensureRootIsScheduled(initialChildren); + return initialChildren; + }; + exports2.createPortal = function(children, containerInfo, implementation) { + var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null; + try { + testStringCoercion(key); + var JSCompiler_inline_result = false; + } catch (e$6) { + JSCompiler_inline_result = true; + } + JSCompiler_inline_result && (console.error( + "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", + "function" === typeof Symbol && Symbol.toStringTag && key[Symbol.toStringTag] || key.constructor.name || "Object" + ), testStringCoercion(key)); + return { + $$typeof: REACT_PORTAL_TYPE, + key: null == key ? null : "" + key, + children, + containerInfo, + implementation + }; + }; + exports2.createRoleSelector = function(role) { + return { $$typeof: ROLE_TYPE, value: role }; + }; + exports2.createTestNameSelector = function(id) { + return { $$typeof: TEST_NAME_TYPE, value: id }; + }; + exports2.createTextSelector = function(text) { + return { $$typeof: TEXT_TYPE, value: text }; + }; + exports2.defaultOnCaughtError = function(error, errorInfo) { + var componentNameMessage = componentName ? "The above error occurred in the <" + componentName + "> component." : "The above error occurred in one of your React components.", recreateMessage = "React will try to recreate this component tree from scratch using the error boundary you provided, " + ((errorBoundaryName || "Anonymous") + "."), prevGetCurrentStack = ReactSharedInternals.getCurrentStack, componentStack = null != errorInfo.componentStack ? errorInfo.componentStack : ""; + ReactSharedInternals.getCurrentStack = function() { + return componentStack; + }; + try { + "object" === typeof error && null !== error && "string" === typeof error.environmentName ? bindToConsole( + "error", + [ + "%o\n\n%s\n\n%s\n", + error, + componentNameMessage, + recreateMessage + ], + error.environmentName + )() : console.error( + "%o\n\n%s\n\n%s\n", + error, + componentNameMessage, + recreateMessage + ); + } finally { + ReactSharedInternals.getCurrentStack = prevGetCurrentStack; + } + }; + exports2.defaultOnRecoverableError = function(error) { + reportGlobalError(error); + }; + exports2.defaultOnUncaughtError = function(error, errorInfo) { + reportGlobalError(error); + error = componentName ? "An error occurred in the <" + componentName + "> component." : "An error occurred in one of your React components."; + var prevGetCurrentStack = ReactSharedInternals.getCurrentStack, componentStack = null != errorInfo.componentStack ? errorInfo.componentStack : ""; + ReactSharedInternals.getCurrentStack = function() { + return componentStack; + }; + try { + console.warn( + "%s\n\n%s\n", + error, + "Consider adding an error boundary to your tree to customize error handling behavior.\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries." + ); + } finally { + ReactSharedInternals.getCurrentStack = prevGetCurrentStack; + } + }; + exports2.deferredUpdates = function(fn) { + var prevTransition = ReactSharedInternals.T, previousPriority = getCurrentUpdatePriority(); + try { + return setCurrentUpdatePriority(32), ReactSharedInternals.T = null, fn(); + } finally { + setCurrentUpdatePriority(previousPriority), ReactSharedInternals.T = prevTransition; + } + }; + exports2.discreteUpdates = function(fn, a, b, c, d) { + var prevTransition = ReactSharedInternals.T, previousPriority = getCurrentUpdatePriority(); + try { + return setCurrentUpdatePriority(2), ReactSharedInternals.T = null, fn(a, b, c, d); + } finally { + setCurrentUpdatePriority(previousPriority), ReactSharedInternals.T = prevTransition, executionContext === NoContext && (workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS); + } + }; + exports2.findAllNodes = findAllNodes; + exports2.findBoundingRects = function(hostRoot, selectors) { + if (!supportsTestSelectors) + throw Error("Test selector API is not supported by this renderer."); + selectors = findAllNodes(hostRoot, selectors); + hostRoot = []; + for (var i = 0; i < selectors.length; i++) + hostRoot.push(getBoundingRect(selectors[i])); + for (selectors = hostRoot.length - 1; 0 < selectors; selectors--) { + i = hostRoot[selectors]; + for (var targetLeft = i.x, targetRight = targetLeft + i.width, targetTop = i.y, targetBottom = targetTop + i.height, j = selectors - 1; 0 <= j; j--) + if (selectors !== j) { + var otherRect = hostRoot[j], otherLeft = otherRect.x, otherRight = otherLeft + otherRect.width, otherTop = otherRect.y, otherBottom = otherTop + otherRect.height; + if (targetLeft >= otherLeft && targetTop >= otherTop && targetRight <= otherRight && targetBottom <= otherBottom) { + hostRoot.splice(selectors, 1); + break; + } else if (!(targetLeft !== otherLeft || i.width !== otherRect.width || otherBottom < targetTop || otherTop > targetBottom)) { + otherTop > targetTop && (otherRect.height += otherTop - targetTop, otherRect.y = targetTop); + otherBottom < targetBottom && (otherRect.height = targetBottom - otherTop); + hostRoot.splice(selectors, 1); + break; + } else if (!(targetTop !== otherTop || i.height !== otherRect.height || otherRight < targetLeft || otherLeft > targetRight)) { + otherLeft > targetLeft && (otherRect.width += otherLeft - targetLeft, otherRect.x = targetLeft); + otherRight < targetRight && (otherRect.width = targetRight - otherLeft); + hostRoot.splice(selectors, 1); + break; + } + } + } + return hostRoot; + }; + exports2.findHostInstance = function(component) { + var fiber = component._reactInternals; + if (void 0 === fiber) { + if ("function" === typeof component.render) + throw Error("Unable to find node on an unmounted component."); + component = Object.keys(component).join(","); + throw Error( + "Argument appears to not be a ReactComponent. Keys: " + component + ); + } + component = findCurrentHostFiber(fiber); + return null === component ? null : getPublicInstance(component.stateNode); + }; + exports2.findHostInstanceWithNoPortals = function(fiber) { + fiber = findCurrentFiberUsingSlowPath(fiber); + fiber = null !== fiber ? findCurrentHostFiberWithNoPortalsImpl(fiber) : null; + return null === fiber ? null : getPublicInstance(fiber.stateNode); + }; + exports2.findHostInstanceWithWarning = function(component, methodName) { + var fiber = component._reactInternals; + if (void 0 === fiber) { + if ("function" === typeof component.render) + throw Error("Unable to find node on an unmounted component."); + component = Object.keys(component).join(","); + throw Error( + "Argument appears to not be a ReactComponent. Keys: " + component + ); + } + component = findCurrentHostFiber(fiber); + if (null === component) return null; + if (component.mode & 8) { + var componentName2 = getComponentNameFromFiber(fiber) || "Component"; + didWarnAboutFindNodeInStrictMode[componentName2] || (didWarnAboutFindNodeInStrictMode[componentName2] = true, runWithFiberInDEV(component, function() { + fiber.mode & 8 ? console.error( + "%s is deprecated in StrictMode. %s was passed an instance of %s which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://react.dev/link/strict-mode-find-node", + methodName, + methodName, + componentName2 + ) : console.error( + "%s is deprecated in StrictMode. %s was passed an instance of %s which renders StrictMode children. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://react.dev/link/strict-mode-find-node", + methodName, + methodName, + componentName2 + ); + })); + } + return getPublicInstance(component.stateNode); + }; + exports2.flushPassiveEffects = flushPassiveEffects; + exports2.flushSyncFromReconciler = function(fn) { + var prevExecutionContext = executionContext; + executionContext |= 1; + var prevTransition = ReactSharedInternals.T, previousPriority = getCurrentUpdatePriority(); + try { + if (setCurrentUpdatePriority(2), ReactSharedInternals.T = null, fn) + return fn(); + } finally { + setCurrentUpdatePriority(previousPriority), ReactSharedInternals.T = prevTransition, executionContext = prevExecutionContext, (executionContext & (RenderContext | CommitContext)) === NoContext && flushSyncWorkAcrossRoots_impl(0, false); + } + }; + exports2.flushSyncWork = flushSyncWork; + exports2.focusWithin = function(hostRoot, selectors) { + if (!supportsTestSelectors) + throw Error("Test selector API is not supported by this renderer."); + hostRoot = findFiberRootForHostRoot(hostRoot); + selectors = findPaths(hostRoot, selectors); + selectors = Array.from(selectors); + for (hostRoot = 0; hostRoot < selectors.length; ) { + var fiber = selectors[hostRoot++], tag = fiber.tag; + if (!isHiddenSubtree(fiber)) { + if ((5 === tag || 26 === tag || 27 === tag) && setFocusIfFocusable(fiber.stateNode)) + return true; + for (fiber = fiber.child; null !== fiber; ) + selectors.push(fiber), fiber = fiber.sibling; + } + } + return false; + }; + exports2.getFindAllNodesFailureDescription = function(hostRoot, selectors) { + if (!supportsTestSelectors) + throw Error("Test selector API is not supported by this renderer."); + var maxSelectorIndex = 0, matchedNames = []; + hostRoot = [findFiberRootForHostRoot(hostRoot), 0]; + for (var index = 0; index < hostRoot.length; ) { + var fiber = hostRoot[index++], tag = fiber.tag, selectorIndex = hostRoot[index++], selector = selectors[selectorIndex]; + if (5 !== tag && 26 !== tag && 27 !== tag || !isHiddenSubtree(fiber)) { + if (matchSelector(fiber, selector) && (matchedNames.push(selectorToString(selector)), selectorIndex++, selectorIndex > maxSelectorIndex && (maxSelectorIndex = selectorIndex)), selectorIndex < selectors.length) + for (fiber = fiber.child; null !== fiber; ) + hostRoot.push(fiber, selectorIndex), fiber = fiber.sibling; + } + } + if (maxSelectorIndex < selectors.length) { + for (hostRoot = []; maxSelectorIndex < selectors.length; maxSelectorIndex++) + hostRoot.push(selectorToString(selectors[maxSelectorIndex])); + return "findAllNodes was able to match part of the selector:\n " + (matchedNames.join(" > ") + "\n\nNo matching component was found for:\n ") + hostRoot.join(" > "); + } + return null; + }; + exports2.getPublicRootInstance = function(container) { + container = container.current; + if (!container.child) return null; + switch (container.child.tag) { + case 27: + case 5: + return getPublicInstance(container.child.stateNode); + default: + return container.child.stateNode; + } + }; + exports2.injectIntoDevTools = function() { + var internals = { + bundleType: 1, + version: rendererVersion, + rendererPackageName, + currentDispatcherRef: ReactSharedInternals, + findFiberByHostInstance: getInstanceFromNode, + reconcilerVersion: "19.0.0" + }; + null !== extraDevToolsConfig && (internals.rendererConfig = extraDevToolsConfig); + internals.overrideHookState = overrideHookState; + internals.overrideHookStateDeletePath = overrideHookStateDeletePath; + internals.overrideHookStateRenamePath = overrideHookStateRenamePath; + internals.overrideProps = overrideProps; + internals.overridePropsDeletePath = overridePropsDeletePath; + internals.overridePropsRenamePath = overridePropsRenamePath; + internals.scheduleUpdate = scheduleUpdate; + internals.setErrorHandler = setErrorHandler; + internals.setSuspenseHandler = setSuspenseHandler; + internals.scheduleRefresh = scheduleRefresh; + internals.scheduleRoot = scheduleRoot; + internals.setRefreshHandler = setRefreshHandler; + internals.getCurrentFiber = getCurrentFiberForDevTools; + internals.getLaneLabelMap = getLaneLabelMap; + internals.injectProfilingHooks = injectProfilingHooks; + return injectInternals(internals); + }; + exports2.isAlreadyRendering = function() { + return (executionContext & (RenderContext | CommitContext)) !== NoContext; + }; + exports2.observeVisibleRects = function(hostRoot, selectors, callback, options) { + function commitHook() { + var nextInstanceRoots = findAllNodes(hostRoot, selectors); + instanceRoots.forEach(function(target) { + 0 > nextInstanceRoots.indexOf(target) && unobserve(target); + }); + nextInstanceRoots.forEach(function(target) { + 0 > instanceRoots.indexOf(target) && observe(target); + }); + } + if (!supportsTestSelectors) + throw Error("Test selector API is not supported by this renderer."); + var instanceRoots = findAllNodes(hostRoot, selectors); + callback = setupIntersectionObserver(instanceRoots, callback, options); + var disconnect = callback.disconnect, observe = callback.observe, unobserve = callback.unobserve; + commitHooks.push(commitHook); + return { + disconnect: function() { + var index = commitHooks.indexOf(commitHook); + 0 <= index && commitHooks.splice(index, 1); + disconnect(); + } + }; + }; + exports2.shouldError = function(fiber) { + return shouldErrorImpl(fiber); + }; + exports2.shouldSuspend = function(fiber) { + return shouldSuspendImpl(fiber); + }; + exports2.startHostTransition = function(formFiber, pendingState, action, formData) { + if (5 !== formFiber.tag) + throw Error( + "Expected the form instance to be a HostComponent. This is a bug in React." + ); + var queue = ensureFormComponentIsStateful(formFiber).queue; + startTransition( + formFiber, + queue, + pendingState, + NotPendingTransition, + null === action ? noop : function() { + null === ReactSharedInternals.T && console.error( + "requestFormReset was called outside a transition or action. To fix, move to an action, or wrap with startTransition." + ); + var resetStateQueue = ensureFormComponentIsStateful(formFiber).next.queue; + dispatchSetStateInternal( + formFiber, + resetStateQueue, + {}, + requestUpdateLane(formFiber) + ); + return action(formData); + } + ); + }; + exports2.updateContainer = function(element, container, parentComponent, callback) { + var current2 = container.current, lane = requestUpdateLane(current2); + updateContainerImpl( + current2, + lane, + element, + container, + parentComponent, + callback + ); + return lane; + }; + exports2.updateContainerSync = updateContainerSync; + return exports2; +}, module.exports.default = module.exports, Object.defineProperty(module.exports, "__esModule", { value: true })); +/*! Bundled license information: + +scheduler/cjs/scheduler.production.js: + (** + * @license React + * scheduler.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +scheduler/cjs/scheduler.development.js: + (** + * @license React + * scheduler.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-reconciler/cjs/react-reconciler.development.js: + (** + * @license React + * react-reconciler.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) +*/ diff --git a/.config/raycast/extensions/node_modules/react-reconciler/react-reconciler.production.js b/.config/raycast/extensions/node_modules/react-reconciler/react-reconciler.production.js @@ -0,0 +1,47 @@ +"use strict";var Ec=(i,T)=>()=>(T||i((T={exports:{}}).exports,T),T.exports);var _m=Ec(L=>{"use strict";function Nc(i,T){var U=i.length;i.push(T);l:for(;0<U;){var p=U-1>>>1,C=i[p];if(0<Un(C,T))i[p]=T,i[U]=C,U=p;else break l}}function wl(i){return i.length===0?null:i[0]}function An(i){if(i.length===0)return null;var T=i[0],U=i.pop();if(U!==T){i[0]=U;l:for(var p=0,C=i.length,dl=C>>>1;p<dl;){var Nl=2*(p+1)-1,ol=i[Nl],Hl=Nl+1,sl=i[Hl];if(0>Un(ol,U))Hl<C&&0>Un(sl,ol)?(i[p]=sl,i[Hl]=U,p=Hl):(i[p]=ol,i[Nl]=U,p=Nl);else if(Hl<C&&0>Un(sl,U))i[p]=sl,i[Hl]=U,p=Hl;else break l}}return T}function Un(i,T){var U=i.sortIndex-T.sortIndex;return U!==0?U:i.id-T.id}L.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(vm=performance,L.unstable_now=function(){return vm.now()}):(pc=Date,ym=pc.now(),L.unstable_now=function(){return pc.now()-ym});var vm,pc,ym,fa=[],xa=[],Y0=1,xl=null,Sl=3,Dn=!1,Eu=!1,Ot=!1,pm=typeof setTimeout=="function"?setTimeout:null,zm=typeof clearTimeout=="function"?clearTimeout:null,Sm=typeof setImmediate<"u"?setImmediate:null;function On(i){for(var T=wl(xa);T!==null;){if(T.callback===null)An(xa);else if(T.startTime<=i)An(xa),T.sortIndex=T.expirationTime,Nc(fa,T);else break;T=wl(xa)}}function hc(i){if(Ot=!1,On(i),!Eu)if(wl(fa)!==null)Eu=!0,_c();else{var T=wl(xa);T!==null&&Tc(hc,T.startTime-i)}}var Mn=!1,At=-1,dm=5,Nm=-1;function hm(){return!(L.unstable_now()-Nm<dm)}function zc(){if(Mn){var i=L.unstable_now();Nm=i;var T=!0;try{l:{Eu=!1,Ot&&(Ot=!1,zm(At),At=-1),Dn=!0;var U=Sl;try{a:{for(On(i),xl=wl(fa);xl!==null&&!(xl.expirationTime>i&&hm());){var p=xl.callback;if(typeof p=="function"){xl.callback=null,Sl=xl.priorityLevel;var C=p(xl.expirationTime<=i);if(i=L.unstable_now(),typeof C=="function"){xl.callback=C,On(i),T=!0;break a}xl===wl(fa)&&An(fa),On(i)}else An(fa);xl=wl(fa)}if(xl!==null)T=!0;else{var dl=wl(xa);dl!==null&&Tc(hc,dl.startTime-i),T=!1}}break l}finally{xl=null,Sl=U,Dn=!1}T=void 0}}finally{T?Ut():Mn=!1}}}var Ut;typeof Sm=="function"?Ut=function(){Sm(zc)}:typeof MessageChannel<"u"?(dc=new MessageChannel,Em=dc.port2,dc.port1.onmessage=zc,Ut=function(){Em.postMessage(null)}):Ut=function(){pm(zc,0)};var dc,Em;function _c(){Mn||(Mn=!0,Ut())}function Tc(i,T){At=pm(function(){i(L.unstable_now())},T)}L.unstable_IdlePriority=5;L.unstable_ImmediatePriority=1;L.unstable_LowPriority=4;L.unstable_NormalPriority=3;L.unstable_Profiling=null;L.unstable_UserBlockingPriority=2;L.unstable_cancelCallback=function(i){i.callback=null};L.unstable_continueExecution=function(){Eu||Dn||(Eu=!0,_c())};L.unstable_forceFrameRate=function(i){0>i||125<i?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):dm=0<i?Math.floor(1e3/i):5};L.unstable_getCurrentPriorityLevel=function(){return Sl};L.unstable_getFirstCallbackNode=function(){return wl(fa)};L.unstable_next=function(i){switch(Sl){case 1:case 2:case 3:var T=3;break;default:T=Sl}var U=Sl;Sl=T;try{return i()}finally{Sl=U}};L.unstable_pauseExecution=function(){};L.unstable_requestPaint=function(){};L.unstable_runWithPriority=function(i,T){switch(i){case 1:case 2:case 3:case 4:case 5:break;default:i=3}var U=Sl;Sl=i;try{return T()}finally{Sl=U}};L.unstable_scheduleCallback=function(i,T,U){var p=L.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0<U?p+U:p):U=p,i){case 1:var C=-1;break;case 2:C=250;break;case 5:C=1073741823;break;case 4:C=1e4;break;default:C=5e3}return C=U+C,i={id:Y0++,callback:T,priorityLevel:i,startTime:U,expirationTime:C,sortIndex:-1},U>p?(i.sortIndex=U,Nc(xa,i),wl(fa)===null&&i===wl(xa)&&(Ot?(zm(At),At=-1):Ot=!0,Tc(hc,U-p))):(i.sortIndex=C,Nc(fa,i),Eu||Dn||(Eu=!0,_c())),i};L.unstable_shouldYield=hm;L.unstable_wrapCallback=function(i){var T=Sl;return function(){var U=Sl;Sl=T;try{return i.apply(this,arguments)}finally{Sl=U}}}});var Tm=Ec(x=>{"use strict";process.env.NODE_ENV!=="production"&&function(){function i(){if(sa){var _=x.unstable_now();qt=_;var A=!0;try{l:{El=!1,rl&&(rl=!1,Mt(ca),ca=-1),pu=!0;var Q=M;try{a:{for(dl(_),j=U(Ul);j!==null&&!(j.expirationTime>_&&ol());){var K=j.callback;if(typeof K=="function"){j.callback=null,M=j.priorityLevel;var s=K(j.expirationTime<=_);if(_=x.unstable_now(),typeof s=="function"){j.callback=s,dl(_),A=!0;break a}j===U(Ul)&&p(Ul),dl(_)}else p(Ul);j=U(Ul)}if(j!==null)A=!0;else{var Fa=U(Wl);Fa!==null&&sl(Nl,Fa.startTime-_),A=!1}}break l}finally{j=null,M=Q,pu=!1}A=void 0}}finally{A?Wa():sa=!1}}}function T(_,A){var Q=_.length;_.push(A);l:for(;0<Q;){var K=Q-1>>>1,s=_[K];if(0<C(s,A))_[K]=A,_[Q]=s,Q=K;else break l}}function U(_){return _.length===0?null:_[0]}function p(_){if(_.length===0)return null;var A=_[0],Q=_.pop();if(Q!==A){_[0]=Q;l:for(var K=0,s=_.length,Fa=s>>>1;K<Fa;){var Ua=2*(K+1)-1,Pa=_[Ua],Vl=Ua+1,Fl=_[Vl];if(0>C(Pa,Q))Vl<s&&0>C(Fl,Pa)?(_[K]=Fl,_[Vl]=Q,K=Vl):(_[K]=Pa,_[Ua]=Q,K=Ua);else if(Vl<s&&0>C(Fl,Q))_[K]=Fl,_[Vl]=Q,K=Vl;else break l}}return A}function C(_,A){var Q=_.sortIndex-A.sortIndex;return Q!==0?Q:_.id-A.id}function dl(_){for(var A=U(Wl);A!==null;){if(A.callback===null)p(Wl);else if(A.startTime<=_)p(Wl),A.sortIndex=A.expirationTime,T(Ul,A);else break;A=U(Wl)}}function Nl(_){if(rl=!1,dl(_),!El)if(U(Ul)!==null)El=!0,Hl();else{var A=U(Wl);A!==null&&sl(Nl,A.startTime-_)}}function ol(){return!(x.unstable_now()-qt<Ha)}function Hl(){sa||(sa=!0,Wa())}function sl(_,A){ca=Ta(function(){_(x.unstable_now())},A)}if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()),x.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var gu=performance;x.unstable_now=function(){return gu.now()}}else{var Lu=Date,Dt=Lu.now();x.unstable_now=function(){return Lu.now()-Dt}}var Ul=[],Wl=[],Rl=1,j=null,M=3,pu=!1,El=!1,rl=!1,Ta=typeof setTimeout=="function"?setTimeout:null,Mt=typeof clearTimeout=="function"?clearTimeout:null,xu=typeof setImmediate<"u"?setImmediate:null,sa=!1,ca=-1,Ha=5,qt=-1;if(typeof xu=="function")var Wa=function(){xu(i)};else if(typeof MessageChannel<"u"){var su=new MessageChannel,Qt=su.port2;su.port1.onmessage=i,Wa=function(){Qt.postMessage(null)}}else Wa=function(){Ta(i,0)};x.unstable_IdlePriority=5,x.unstable_ImmediatePriority=1,x.unstable_LowPriority=4,x.unstable_NormalPriority=3,x.unstable_Profiling=null,x.unstable_UserBlockingPriority=2,x.unstable_cancelCallback=function(_){_.callback=null},x.unstable_continueExecution=function(){El||pu||(El=!0,Hl())},x.unstable_forceFrameRate=function(_){0>_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Ha=0<_?Math.floor(1e3/_):5},x.unstable_getCurrentPriorityLevel=function(){return M},x.unstable_getFirstCallbackNode=function(){return U(Ul)},x.unstable_next=function(_){switch(M){case 1:case 2:case 3:var A=3;break;default:A=M}var Q=M;M=A;try{return _()}finally{M=Q}},x.unstable_pauseExecution=function(){},x.unstable_requestPaint=function(){},x.unstable_runWithPriority=function(_,A){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var Q=M;M=_;try{return A()}finally{M=Q}},x.unstable_scheduleCallback=function(_,A,Q){var K=x.unstable_now();switch(typeof Q=="object"&&Q!==null?(Q=Q.delay,Q=typeof Q=="number"&&0<Q?K+Q:K):Q=K,_){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=Q+s,_={id:Rl++,callback:A,priorityLevel:_,startTime:Q,expirationTime:s,sortIndex:-1},Q>K?(_.sortIndex=Q,T(Wl,_),U(Ul)===null&&_===U(Wl)&&(rl?(Mt(ca),ca=-1):rl=!0,sl(Nl,Q-K))):(_.sortIndex=s,T(Ul,_),El||pu||(El=!0,Hl())),_},x.unstable_shouldYield=ol,x.unstable_wrapCallback=function(_){var A=M;return function(){var Q=M;M=A;try{return _.apply(this,arguments)}finally{M=Q}}},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()});var Hm=Ec((R0,Hc)=>{"use strict";process.env.NODE_ENV==="production"?Hc.exports=_m():Hc.exports=Tm()});module.exports=function(i){function T(l,a,u,t){return new Fm(l,a,u,t)}function U(){}function p(l){var a="https://react.dev/errors/"+l;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var u=2;u<arguments.length;u++)a+="&args[]="+encodeURIComponent(arguments[u])}return"Minified React error #"+l+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function C(l){return l===null||typeof l!="object"?null:(l=Bi&&l[Bi]||l["@@iterator"],typeof l=="function"?l:null)}function dl(l){if(l==null)return null;if(typeof l=="function")return l.$$typeof===om?null:l.displayName||l.name||null;if(typeof l=="string")return l;switch(l){case Uu:return"Fragment";case Hu:return"Portal";case Vf:return"Profiler";case qi:return"StrictMode";case Zf:return"Suspense";case jf:return"SuspenseList"}if(typeof l=="object")switch(l.$$typeof){case Ra:return(l.displayName||"Context")+".Provider";case Qi:return(l._context.displayName||"Context")+".Consumer";case Xf:var a=l.render;return l=l.displayName,l||(l=a.displayName||a.name||"",l=l!==""?"ForwardRef("+l+")":"ForwardRef"),l;case Cf:return a=l.displayName||null,a!==null?a:dl(l.type)||"Memo";case Va:a=l._payload,l=l._init;try{return dl(l(a))}catch{}}return null}function Nl(l){if(bf===void 0)try{throw Error()}catch(u){var a=u.stack.trim().match(/\n( *(at )?)/);bf=a&&a[1]||"",Gi=-1<u.stack.indexOf(` + at`)?" (<anonymous>)":-1<u.stack.indexOf("@")?"@unknown:0:0":""}return` +`+bf+l+Gi}function ol(l,a){if(!l||Jf)return"";Jf=!0;var u=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var t={DetermineComponentFrameRoot:function(){try{if(a){var N=function(){throw Error()};if(Object.defineProperty(N.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(N,[])}catch(q){var h=q}Reflect.construct(l,[],N)}else{try{N.call()}catch(q){h=q}l.call(N.prototype)}}else{try{throw Error()}catch(q){h=q}(N=l())&&typeof N.catch=="function"&&N.catch(function(){})}}catch(q){if(q&&h&&typeof q.stack=="string")return[q.stack,h.stack]}return[null,null]}};t.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var n=Object.getOwnPropertyDescriptor(t.DetermineComponentFrameRoot,"name");n&&n.configurable&&Object.defineProperty(t.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var f=t.DetermineComponentFrameRoot(),c=f[0],e=f[1];if(c&&e){var v=c.split(` +`),E=e.split(` +`);for(n=t=0;t<v.length&&!v[t].includes("DetermineComponentFrameRoot");)t++;for(;n<E.length&&!E[n].includes("DetermineComponentFrameRoot");)n++;if(t===v.length||n===E.length)for(t=v.length-1,n=E.length-1;1<=t&&0<=n&&v[t]!==E[n];)n--;for(;1<=t&&0<=n;t--,n--)if(v[t]!==E[n]){if(t!==1||n!==1)do if(t--,n--,0>n||v[t]!==E[n]){var d=` +`+v[t].replace(" at new "," at ");return l.displayName&&d.includes("<anonymous>")&&(d=d.replace("<anonymous>",l.displayName)),d}while(1<=t&&0<=n);break}}}finally{Jf=!1,Error.prepareStackTrace=u}return(u=l?l.displayName||l.name:"")?Nl(u):""}function Hl(l){switch(l.tag){case 26:case 27:case 5:return Nl(l.type);case 16:return Nl("Lazy");case 13:return Nl("Suspense");case 19:return Nl("SuspenseList");case 0:case 15:return l=ol(l.type,!1),l;case 11:return l=ol(l.type.render,!1),l;case 1:return l=ol(l.type,!0),l;default:return""}}function sl(l){try{var a="";do a+=Hl(l),l=l.return;while(l);return a}catch(u){return` +Error generating stack: `+u.message+` +`+u.stack}}function gu(l){var a=l,u=l;if(l.alternate)for(;a.return;)a=a.return;else{l=a;do a=l,(a.flags&4098)!==0&&(u=a.return),l=a.return;while(l)}return a.tag===3?u:null}function Lu(l){if(gu(l)!==l)throw Error(p(188))}function Dt(l){var a=l.alternate;if(!a){if(a=gu(l),a===null)throw Error(p(188));return a!==l?null:l}for(var u=l,t=a;;){var n=u.return;if(n===null)break;var f=n.alternate;if(f===null){if(t=n.return,t!==null){u=t;continue}break}if(n.child===f.child){for(f=n.child;f;){if(f===u)return Lu(n),l;if(f===t)return Lu(n),a;f=f.sibling}throw Error(p(188))}if(u.return!==t.return)u=n,t=f;else{for(var c=!1,e=n.child;e;){if(e===u){c=!0,u=n,t=f;break}if(e===t){c=!0,t=n,u=f;break}e=e.sibling}if(!c){for(e=f.child;e;){if(e===u){c=!0,u=f,t=n;break}if(e===t){c=!0,t=f,u=n;break}e=e.sibling}if(!c)throw Error(p(189))}}if(u.alternate!==t)throw Error(p(190))}if(u.tag!==3)throw Error(p(188));return u.stateNode.current===u?l:a}function Ul(l){var a=l.tag;if(a===5||a===26||a===27||a===6)return l;for(l=l.child;l!==null;){if(a=Ul(l),a!==null)return a;l=l.sibling}return null}function Wl(l){var a=l.tag;if(a===5||a===26||a===27||a===6)return l;for(l=l.child;l!==null;){if(l.tag!==4&&(a=Wl(l),a!==null))return a;l=l.sibling}return null}function Rl(l){return{current:l}}function j(l){0>Au||(l.current=Ff[Au],Ff[Au]=null,Au--)}function M(l,a){Au++,Ff[Au]=l.current,l.current=a}function pu(l){return l>>>=0,l===0?32:31-(E0(l)/p0|0)|0}function El(l){var a=l&42;if(a!==0)return a;switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l&4194176;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function rl(l,a){var u=l.pendingLanes;if(u===0)return 0;var t=0,n=l.suspendedLanes,f=l.pingedLanes,c=l.warmLanes;l=l.finishedLanes!==0;var e=u&134217727;return e!==0?(u=e&~n,u!==0?t=El(u):(f&=e,f!==0?t=El(f):l||(c=e&~c,c!==0&&(t=El(c))))):(e=u&~n,e!==0?t=El(e):f!==0?t=El(f):l||(c=u&~c,c!==0&&(t=El(c)))),t===0?0:a!==0&&a!==t&&(a&n)===0&&(n=t&-t,c=a&-a,n>=c||n===32&&(c&4194176)!==0)?a:t}function Ta(l,a){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&a)===0}function Mt(l,a){switch(l){case 1:case 2:case 4:case 8:return a+250;case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function xu(){var l=an;return an<<=1,(an&4194176)===0&&(an=128),l}function sa(){var l=un;return un<<=1,(un&62914560)===0&&(un=4194304),l}function ca(l){for(var a=[],u=0;31>u;u++)a.push(l);return a}function Ha(l,a){l.pendingLanes|=a,a!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function qt(l,a,u,t,n,f){var c=l.pendingLanes;l.pendingLanes=u,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=u,l.entangledLanes&=u,l.errorRecoveryDisabledLanes&=u,l.shellSuspendCounter=0;var e=l.entanglements,v=l.expirationTimes,E=l.hiddenUpdates;for(u=c&~u;0<u;){var d=31-Ql(u),N=1<<d;e[d]=0,v[d]=-1;var h=E[d];if(h!==null)for(E[d]=null,d=0;d<h.length;d++){var q=h[d];q!==null&&(q.lane&=-536870913)}u&=~N}t!==0&&Wa(l,t,0),f!==0&&n===0&&l.tag!==0&&(l.suspendedLanes|=f&~(c&~a))}function Wa(l,a,u){l.pendingLanes|=a,l.suspendedLanes&=~a;var t=31-Ql(a);l.entangledLanes|=a,l.entanglements[t]=l.entanglements[t]|1073741824|u&4194218}function su(l,a){var u=l.entangledLanes|=a;for(l=l.entanglements;u;){var t=31-Ql(u),n=1<<t;n&a|l[t]&a&&(l[t]|=a),u&=~n}}function Qt(l){return l&=-l,2<l?8<l?(l&134217727)!==0?32:268435456:8:2}function _(l){if(Yl&&typeof Yl.onCommitFiberRoot=="function")try{Yl.onCommitFiberRoot(vt,l,void 0,(l.current.flags&128)===128)}catch{}}function A(l){if(typeof _0=="function"&&T0(l),Yl&&typeof Yl.setStrictMode=="function")try{Yl.setStrictMode(vt,l)}catch{}}function Q(l,a){return l===a&&(l!==0||1/l===1/a)||l!==l&&a!==a}function K(l,a){if(typeof l=="object"&&l!==null){var u=tm.get(l);return u!==void 0?u:(a={value:l,source:a,stack:sl(a)},tm.set(l,a),a)}return{value:l,source:a,stack:sl(a)}}function s(l,a){Mu[qu++]=fn,Mu[qu++]=nn,nn=l,fn=a}function Fa(l,a,u){jl[Cl++]=pa,jl[Cl++]=za,jl[Cl++]=tu,tu=l;var t=pa;l=za;var n=32-Ql(t)-1;t&=~(1<<n),u+=1;var f=32-Ql(a)+n;if(30<f){var c=n-n%5;f=(t&(1<<c)-1).toString(32),t>>=c,n-=c,pa=1<<32-Ql(a)+n|u<<n|t,za=f+l}else pa=1<<f|u<<n|t,za=l}function Ua(l){l.return!==null&&(s(l,1),Fa(l,1,0))}function Pa(l){for(;l===nn;)nn=Mu[--qu],Mu[qu]=null,fn=Mu[--qu],Mu[qu]=null;for(;l===tu;)tu=jl[--Cl],jl[Cl]=null,za=jl[--Cl],jl[Cl]=null,pa=jl[--Cl],jl[Cl]=null}function Vl(l,a){M(Za,a),M(yt,l),M(el,null),l=a1(a),j(el),M(el,l)}function Fl(){j(el),j(yt),j(Za)}function qn(l){l.memoizedState!==null&&M(cn,l);var a=el.current,u=u1(a,l.type);a!==u&&(M(yt,l),M(el,u))}function Yt(l){yt.current===l&&(j(el),j(yt)),cn.current===l&&(j(cn),Ea?uu._currentValue=Ou:uu._currentValue2=Ou)}function $a(l){var a=Error(p(418,""));throw Pu(K(a,l)),If}function Uc(l,a){if(!Xl)throw Error(p(175));I1(l.stateNode,l.type,l.memoizedProps,a,l)||$a(l)}function Oc(l){for(zl=l.return;zl;)switch(zl.tag){case 3:case 27:aa=!0;return;case 5:case 13:aa=!1;return;default:zl=zl.return}}function Wu(l){if(!Xl||l!==zl)return!1;if(!V)return Oc(l),V=!0,!1;var a=!1;if(vl?l.tag!==3&&l.tag!==27&&(l.tag!==5||Fi(l.type)&&!ln(l.type,l.memoizedProps))&&(a=!0):l.tag!==3&&(l.tag!==5||Fi(l.type)&&!ln(l.type,l.memoizedProps))&&(a=!0),a&&yl&&$a(l),Oc(l),l.tag===13){if(!Xl)throw Error(p(316));if(l=l.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(p(317));yl=o1(l)}else yl=zl?si(l.stateNode):null;return!0}function Fu(){Xl&&(yl=zl=null,V=!1)}function Pu(l){Il===null?Il=[l]:Il.push(l)}function Bt(){for(var l=Qu,a=kf=Qu=0;a<l;){var u=bl[a];bl[a++]=null;var t=bl[a];bl[a++]=null;var n=bl[a];bl[a++]=null;var f=bl[a];if(bl[a++]=null,t!==null&&n!==null){var c=t.pending;c===null?n.next=n:(n.next=c.next,c.next=n),t.pending=n}f!==0&&Ac(u,n,f)}}function Gt(l,a,u,t){bl[Qu++]=l,bl[Qu++]=a,bl[Qu++]=u,bl[Qu++]=t,kf|=t,l.lanes|=t,l=l.alternate,l!==null&&(l.lanes|=t)}function Qn(l,a,u,t){return Gt(l,a,u,t),Kt(l)}function Oa(l,a){return Gt(l,null,null,a),Kt(l)}function Ac(l,a,u){l.lanes|=u;var t=l.alternate;t!==null&&(t.lanes|=u);for(var n=!1,f=l.return;f!==null;)f.childLanes|=u,t=f.alternate,t!==null&&(t.childLanes|=u),f.tag===22&&(l=f.stateNode,l===null||l._visibility&1||(n=!0)),l=f,f=f.return;n&&a!==null&&l.tag===3&&(f=l.stateNode,n=31-Ql(u),f=f.hiddenUpdates,l=f[n],l===null?f[n]=[a]:l.push(a),a.lane=u|536870912)}function Kt(l){if(50<Tt)throw Tt=0,Sc=null,Error(p(185));for(var a=l.return;a!==null;)l=a,a=l.return;return l.tag===3?l.stateNode:null}function la(l){l!==Yu&&l.next===null&&(Yu===null?en=Yu=l:Yu=Yu.next=l),mn=!0,wf||(wf=!0,Om(Um))}function zu(l,a){if(!of&&mn){of=!0;do for(var u=!1,t=en;t!==null;){if(!a)if(l!==0){var n=t.pendingLanes;if(n===0)var f=0;else{var c=t.suspendedLanes,e=t.pingedLanes;f=(1<<31-Ql(42|l)+1)-1,f&=n&~(c&~e),f=f&201326677?f&201326677|1:f?f|2:0}f!==0&&(u=!0,qc(t,f))}else f=R,f=rl(t,t===W?f:0),(f&3)===0||Ta(t,f)||(u=!0,qc(t,f));t=t.next}while(u);of=!1}}function Um(){mn=wf=!1;var l=0;Bu!==0&&(v1()&&(l=Bu),Bu=0);for(var a=$l(),u=null,t=en;t!==null;){var n=t.next,f=Dc(t,a);f===0?(t.next=null,u===null?en=n:u.next=n,n===null&&(Yu=u)):(u=t,(l!==0||(f&3)!==0)&&(mn=!0)),t=n}zu(l,!1)}function Dc(l,a){for(var u=l.suspendedLanes,t=l.pingedLanes,n=l.expirationTimes,f=l.pendingLanes&-62914561;0<f;){var c=31-Ql(f),e=1<<c,v=n[c];v===-1?((e&u)===0||(e&t)!==0)&&(n[c]=Mt(e,a)):v<=a&&(l.expiredLanes|=e),f&=~e}if(a=W,u=R,u=rl(l,l===a?u:0),t=l.callbackNode,u===0||l===a&&F===2||l.cancelPendingCommit!==null)return t!==null&&t!==null&&Pf(t),l.callbackNode=null,l.callbackPriority=0;if((u&3)===0||Ta(l,u)){if(a=u&-u,a===l.callbackPriority)return a;switch(t!==null&&Pf(t),Qt(u)){case 2:case 8:u=N0;break;case 32:u=$f;break;case 268435456:u=h0;break;default:u=$f}return t=Mc.bind(null,l),u=tn(u,t),l.callbackPriority=a,l.callbackNode=u,a}return t!==null&&t!==null&&Pf(t),l.callbackPriority=2,l.callbackNode=null,2}function Mc(l,a){var u=l.callbackNode;if(ra()&&l.callbackNode!==u)return null;var t=R;return t=rl(l,l===W?t:0),t===0?null:(ci(l,t,a),Dc(l,$l()),l.callbackNode!=null&&l.callbackNode===u?Mc.bind(null,l):null)}function qc(l,a){if(ra())return null;ci(l,a,!0)}function Om(l){d1?N1(function(){(g&6)!==0?tn(um,l):l()}):tn(um,l)}function Yn(){return Bu===0&&(Bu=xu()),Bu}function Am(l,a){if(St===null){var u=St=[];rf=0,Gu=Yn(),Ku={status:"pending",value:void 0,then:function(t){u.push(t)}}}return rf++,a.then(Qc,Qc),a}function Qc(){if(--rf===0&&St!==null){Ku!==null&&(Ku.status="fulfilled");var l=St;St=null,Gu=0,Ku=null;for(var a=0;a<l.length;a++)(0,l[a])()}}function Dm(l,a){var u=[],t={status:"pending",value:null,reason:null,then:function(n){u.push(n)}};return l.then(function(){t.status="fulfilled",t.value=a;for(var n=0;n<u.length;n++)(0,u[n])(a)},function(n){for(t.status="rejected",t.reason=n,n=0;n<u.length;n++)(0,u[n])(void 0)}),t}function Bn(l){l.updateQueue={baseState:l.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Gn(l,a){l=l.updateQueue,a.updateQueue===l&&(a.updateQueue={baseState:l.baseState,firstBaseUpdate:l.firstBaseUpdate,lastBaseUpdate:l.lastBaseUpdate,shared:l.shared,callbacks:null})}function Aa(l){return{lane:l,tag:0,payload:null,callback:null,next:null}}function Da(l,a,u){var t=l.updateQueue;if(t===null)return null;if(t=t.shared,(g&2)!==0){var n=t.pending;return n===null?a.next=a:(a.next=n.next,n.next=a),t.pending=a,a=Kt(l),Ac(l,null,u),a}return Gt(l,t,a,u),Kt(l)}function $u(l,a,u){if(a=a.updateQueue,a!==null&&(a=a.shared,(u&4194176)!==0)){var t=a.lanes;t&=l.pendingLanes,u|=t,a.lanes=u,su(l,u)}}function Kn(l,a){var u=l.updateQueue,t=l.alternate;if(t!==null&&(t=t.updateQueue,u===t)){var n=null,f=null;if(u=u.firstBaseUpdate,u!==null){do{var c={lane:u.lane,tag:u.tag,payload:u.payload,callback:null,next:null};f===null?n=f=c:f=f.next=c,u=u.next}while(u!==null);f===null?n=f=a:f=f.next=a}else n=f=a;u={baseState:t.baseState,firstBaseUpdate:n,lastBaseUpdate:f,shared:t.shared,callbacks:t.callbacks},l.updateQueue=u;return}l=u.lastBaseUpdate,l===null?u.firstBaseUpdate=a:l.next=a,u.lastBaseUpdate=a}function Iu(){if(lc){var l=Ku;if(l!==null)throw l}}function ku(l,a,u,t){lc=!1;var n=l.updateQueue;ja=!1;var f=n.firstBaseUpdate,c=n.lastBaseUpdate,e=n.shared.pending;if(e!==null){n.shared.pending=null;var v=e,E=v.next;v.next=null,c===null?f=E:c.next=E,c=v;var d=l.alternate;d!==null&&(d=d.updateQueue,e=d.lastBaseUpdate,e!==c&&(e===null?d.firstBaseUpdate=E:e.next=E,d.lastBaseUpdate=v))}if(f!==null){var N=n.baseState;c=0,d=E=v=null,e=f;do{var h=e.lane&-536870913,q=h!==e.lane;if(q?(R&h)===h:(t&h)===h){h!==0&&h===Gu&&(lc=!0),d!==null&&(d=d.next={lane:0,tag:e.tag,payload:e.payload,callback:null,next:null});l:{var Ll=l,Ht=e;h=a;var Su=u;switch(Ht.tag){case 1:if(Ll=Ht.payload,typeof Ll=="function"){N=Ll.call(Su,N,h);break l}N=Ll;break l;case 3:Ll.flags=Ll.flags&-65537|128;case 0:if(Ll=Ht.payload,h=typeof Ll=="function"?Ll.call(Su,N,h):Ll,h==null)break l;N=Rf({},N,h);break l;case 2:ja=!0}}h=e.callback,h!==null&&(l.flags|=64,q&&(l.flags|=8192),q=n.callbacks,q===null?n.callbacks=[h]:q.push(h))}else q={lane:h,tag:e.tag,payload:e.payload,callback:e.callback,next:null},d===null?(E=d=q,v=N):d=d.next=q,c|=h;if(e=e.next,e===null){if(e=n.shared.pending,e===null)break;q=e,e=q.next,q.next=null,n.lastBaseUpdate=q,n.shared.pending=null}}while(!0);d===null&&(v=N),n.baseState=v,n.firstBaseUpdate=E,n.lastBaseUpdate=d,f===null&&(n.shared.lanes=0),Ja|=c,l.lanes=c,l.memoizedState=N}}function Yc(l,a){if(typeof l!="function")throw Error(p(191,l));l.call(a)}function Bc(l,a){var u=l.callbacks;if(u!==null)for(l.callbacks=null,l=0;l<u.length;l++)Yc(u[l],a)}function Rt(l,a){if(Bl(l,a))return!0;if(typeof l!="object"||l===null||typeof a!="object"||a===null)return!1;var u=Object.keys(l),t=Object.keys(a);if(u.length!==t.length)return!1;for(t=0;t<u.length;t++){var n=u[t];if(!H0.call(a,n)||!Bl(l[n],a[n]))return!1}return!0}function Gc(l){return l=l.status,l==="fulfilled"||l==="rejected"}function Vt(){}function Kc(l,a,u){switch(u=l[u],u===void 0?l.push(a):u!==a&&(a.then(Vt,Vt),a=u),a.status){case"fulfilled":return a.value;case"rejected":throw l=a.reason,l===Et?Error(p(483)):l;default:if(typeof a.status=="string")a.then(Vt,Vt);else{if(l=W,l!==null&&100<l.shellSuspendCounter)throw Error(p(482));l=a,l.status="pending",l.then(function(t){if(a.status==="pending"){var n=a;n.status="fulfilled",n.value=t}},function(t){if(a.status==="pending"){var n=a;n.status="rejected",n.reason=t}})}switch(a.status){case"fulfilled":return a.value;case"rejected":throw l=a.reason,l===Et?Error(p(483)):l}throw Ru=a,Et}}function Rc(){if(Ru===null)throw Error(p(459));var l=Ru;return Ru=null,l}function Xt(l){var a=pt;return pt+=1,Vu===null&&(Vu=[]),Kc(Vu,l,a)}function wu(l,a){a=a.props.ref,l.ref=a!==void 0?a:null}function Zt(l,a){throw a.$$typeof===Im?Error(p(525)):(l=Object.prototype.toString.call(a),Error(p(31,l==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":l)))}function Vc(l){var a=l._init;return a(l._payload)}function Xc(l){function a(y,m){if(l){var S=y.deletions;S===null?(y.deletions=[m],y.flags|=16):S.push(m)}}function u(y,m){if(!l)return null;for(;m!==null;)a(y,m),m=m.sibling;return null}function t(y){for(var m=new Map;y!==null;)y.key!==null?m.set(y.key,y):m.set(y.index,y),y=y.sibling;return m}function n(y,m){return y=Ka(y,m),y.index=0,y.sibling=null,y}function f(y,m,S){return y.index=S,l?(S=y.alternate,S!==null?(S=S.index,S<m?(y.flags|=33554434,m):S):(y.flags|=33554434,m)):(y.flags|=1048576,m)}function c(y){return l&&y.alternate===null&&(y.flags|=33554434),y}function e(y,m,S,z){return m===null||m.tag!==6?(m=Bf(S,y.mode,z),m.return=y,m):(m=n(m,S),m.return=y,m)}function v(y,m,S,z){var H=S.type;return H===Uu?d(y,m,S.props.children,z,S.key):m!==null&&(m.elementType===H||typeof H=="object"&&H!==null&&H.$$typeof===Va&&Vc(H)===m.type)?(m=n(m,S.props),wu(m,S),m.return=y,m):(m=wt(S.type,S.key,S.props,null,y.mode,z),wu(m,S),m.return=y,m)}function E(y,m,S,z){return m===null||m.tag!==4||m.stateNode.containerInfo!==S.containerInfo||m.stateNode.implementation!==S.implementation?(m=Gf(S,y.mode,z),m.return=y,m):(m=n(m,S.children||[]),m.return=y,m)}function d(y,m,S,z,H){return m===null||m.tag!==7?(m=lu(S,y.mode,z,H),m.return=y,m):(m=n(m,S),m.return=y,m)}function N(y,m,S){if(typeof m=="string"&&m!==""||typeof m=="number"||typeof m=="bigint")return m=Bf(""+m,y.mode,S),m.return=y,m;if(typeof m=="object"&&m!==null){switch(m.$$typeof){case ot:return S=wt(m.type,m.key,m.props,null,y.mode,S),wu(S,m),S.return=y,S;case Hu:return m=Gf(m,y.mode,S),m.return=y,m;case Va:var z=m._init;return m=z(m._payload),N(y,m,S)}if(rt(m)||C(m))return m=lu(m,y.mode,S,null),m.return=y,m;if(typeof m.then=="function")return N(y,Xt(m),S);if(m.$$typeof===Ra)return N(y,Wt(y,m),S);Zt(y,m)}return null}function h(y,m,S,z){var H=m!==null?m.key:null;if(typeof S=="string"&&S!==""||typeof S=="number"||typeof S=="bigint")return H!==null?null:e(y,m,""+S,z);if(typeof S=="object"&&S!==null){switch(S.$$typeof){case ot:return S.key===H?v(y,m,S,z):null;case Hu:return S.key===H?E(y,m,S,z):null;case Va:return H=S._init,S=H(S._payload),h(y,m,S,z)}if(rt(S)||C(S))return H!==null?null:d(y,m,S,z,null);if(typeof S.then=="function")return h(y,m,Xt(S),z);if(S.$$typeof===Ra)return h(y,m,Wt(y,S),z);Zt(y,S)}return null}function q(y,m,S,z,H){if(typeof z=="string"&&z!==""||typeof z=="number"||typeof z=="bigint")return y=y.get(S)||null,e(m,y,""+z,H);if(typeof z=="object"&&z!==null){switch(z.$$typeof){case ot:return y=y.get(z.key===null?S:z.key)||null,v(m,y,z,H);case Hu:return y=y.get(z.key===null?S:z.key)||null,E(m,y,z,H);case Va:var P=z._init;return z=P(z._payload),q(y,m,S,z,H)}if(rt(z)||C(z))return y=y.get(S)||null,d(m,y,z,H,null);if(typeof z.then=="function")return q(y,m,S,Xt(z),H);if(z.$$typeof===Ra)return q(y,m,S,Wt(m,z),H);Zt(m,z)}return null}function Ll(y,m,S,z){for(var H=null,P=null,O=m,X=m=0,fl=null;O!==null&&X<S.length;X++){O.index>X?(fl=O,O=null):fl=O.sibling;var Z=h(y,O,S[X],z);if(Z===null){O===null&&(O=fl);break}l&&O&&Z.alternate===null&&a(y,O),m=f(Z,m,X),P===null?H=Z:P.sibling=Z,P=Z,O=fl}if(X===S.length)return u(y,O),V&&s(y,X),H;if(O===null){for(;X<S.length;X++)O=N(y,S[X],z),O!==null&&(m=f(O,m,X),P===null?H=O:P.sibling=O,P=O);return V&&s(y,X),H}for(O=t(O);X<S.length;X++)fl=q(O,y,X,S[X],z),fl!==null&&(l&&fl.alternate!==null&&O.delete(fl.key===null?X:fl.key),m=f(fl,m,X),P===null?H=fl:P.sibling=fl,P=fl);return l&&O.forEach(function(La){return a(y,La)}),V&&s(y,X),H}function Ht(y,m,S,z){if(S==null)throw Error(p(151));for(var H=null,P=null,O=m,X=m=0,fl=null,Z=S.next();O!==null&&!Z.done;X++,Z=S.next()){O.index>X?(fl=O,O=null):fl=O.sibling;var La=h(y,O,Z.value,z);if(La===null){O===null&&(O=fl);break}l&&O&&La.alternate===null&&a(y,O),m=f(La,m,X),P===null?H=La:P.sibling=La,P=La,O=fl}if(Z.done)return u(y,O),V&&s(y,X),H;if(O===null){for(;!Z.done;X++,Z=S.next())Z=N(y,Z.value,z),Z!==null&&(m=f(Z,m,X),P===null?H=Z:P.sibling=Z,P=Z);return V&&s(y,X),H}for(O=t(O);!Z.done;X++,Z=S.next())Z=q(O,y,X,Z.value,z),Z!==null&&(l&&Z.alternate!==null&&O.delete(Z.key===null?X:Z.key),m=f(Z,m,X),P===null?H=Z:P.sibling=Z,P=Z);return l&&O.forEach(function(Q0){return a(y,Q0)}),V&&s(y,X),H}function Su(y,m,S,z){if(typeof S=="object"&&S!==null&&S.type===Uu&&S.key===null&&(S=S.props.children),typeof S=="object"&&S!==null){switch(S.$$typeof){case ot:l:{for(var H=S.key;m!==null;){if(m.key===H){if(H=S.type,H===Uu){if(m.tag===7){u(y,m.sibling),z=n(m,S.props.children),z.return=y,y=z;break l}}else if(m.elementType===H||typeof H=="object"&&H!==null&&H.$$typeof===Va&&Vc(H)===m.type){u(y,m.sibling),z=n(m,S.props),wu(z,S),z.return=y,y=z;break l}u(y,m);break}else a(y,m);m=m.sibling}S.type===Uu?(z=lu(S.props.children,y.mode,z,S.key),z.return=y,y=z):(z=wt(S.type,S.key,S.props,null,y.mode,z),wu(z,S),z.return=y,y=z)}return c(y);case Hu:l:{for(H=S.key;m!==null;){if(m.key===H)if(m.tag===4&&m.stateNode.containerInfo===S.containerInfo&&m.stateNode.implementation===S.implementation){u(y,m.sibling),z=n(m,S.children||[]),z.return=y,y=z;break l}else{u(y,m);break}else a(y,m);m=m.sibling}z=Gf(S,y.mode,z),z.return=y,y=z}return c(y);case Va:return H=S._init,S=H(S._payload),Su(y,m,S,z)}if(rt(S))return Ll(y,m,S,z);if(C(S)){if(H=C(S),typeof H!="function")throw Error(p(150));return S=H.call(S),Ht(y,m,S,z)}if(typeof S.then=="function")return Su(y,m,Xt(S),z);if(S.$$typeof===Ra)return Su(y,m,Wt(y,S),z);Zt(y,S)}return typeof S=="string"&&S!==""||typeof S=="number"||typeof S=="bigint"?(S=""+S,m!==null&&m.tag===6?(u(y,m.sibling),z=n(m,S),z.return=y,y=z):(u(y,m),z=Bf(S,y.mode,z),z.return=y,y=z),c(y)):u(y,m)}return function(y,m,S,z){try{pt=0;var H=Su(y,m,S,z);return Vu=null,H}catch(O){if(O===Et)throw O;var P=T(29,O,null,y.mode);return P.lanes=z,P.return=y,P}finally{}}}function Zc(l,a){l=_a,M(yn,l),M(Xu,a),_a=l|a.baseLanes}function Rn(){M(yn,_a),M(Xu,Xu.current)}function Vn(){_a=yn.current,j(Xu),j(yn)}function Ma(l){var a=l.alternate;M(ul,ul.current&1),M(Jl,l),ua===null&&(a===null||Xu.current!==null||a.memoizedState!==null)&&(ua=l)}function jc(l){if(l.tag===22){if(M(ul,ul.current),M(Jl,l),ua===null){var a=l.alternate;a!==null&&a.memoizedState!==null&&(ua=l)}}else qa(l)}function qa(){M(ul,ul.current),M(Jl,Jl.current)}function ea(l){j(Jl),ua===l&&(ua=null),j(ul)}function jt(l){for(var a=l;a!==null;){if(a.tag===13){var u=a.memoizedState;if(u!==null&&(u=u.dehydrated,u===null||xf(u)||sf(u)))return a}else if(a.tag===19&&a.memoizedProps.revealOrder!==void 0){if((a.flags&128)!==0)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===l)break;for(;a.sibling===null;){if(a.return===null||a.return===l)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}function o(){throw Error(p(321))}function Xn(l,a){if(a===null)return!1;for(var u=0;u<a.length&&u<l.length;u++)if(!Bl(l[u],a[u]))return!1;return!0}function Zn(l,a,u,t,n,f){return Ca=f,Y=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,D.H=l===null||l.memoizedState===null?cu:ba,fu=!1,f=u(t,n),fu=!1,Zu&&(f=bc(a,u,t,n)),Cc(l),f}function Cc(l){D.H=ta;var a=J!==null&&J.next!==null;if(Ca=0,ll=J=Y=null,Sn=!1,zt=0,ju=null,a)throw Error(p(300));l===null||tl||(l=l.dependencies,l!==null&&st(l)&&(tl=!0))}function bc(l,a,u,t){Y=l;var n=0;do{if(Zu&&(ju=null),zt=0,Zu=!1,25<=n)throw Error(p(301));if(n+=1,ll=J=null,l.updateQueue!=null){var f=l.updateQueue;f.lastEffect=null,f.events=null,f.stores=null,f.memoCache!=null&&(f.memoCache.index=0)}D.H=eu,f=a(u,t)}while(Zu);return f}function Mm(){var l=D.H,a=l.useState()[0];return a=typeof a.then=="function"?ou(a):a,l=l.useState()[0],(J!==null?J.memoizedState:null)!==l&&(Y.flags|=1024),a}function jn(){var l=En!==0;return En=0,l}function Cn(l,a,u){a.updateQueue=l.updateQueue,a.flags&=-2053,l.lanes&=~u}function bn(l){if(Sn){for(l=l.memoizedState;l!==null;){var a=l.queue;a!==null&&(a.pending=null),l=l.next}Sn=!1}Ca=0,ll=J=Y=null,Zu=!1,zt=En=0,ju=null}function hl(){var l={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ll===null?Y.memoizedState=ll=l:ll=ll.next=l,ll}function r(){if(J===null){var l=Y.alternate;l=l!==null?l.memoizedState:null}else l=J.next;var a=ll===null?Y.memoizedState:ll.next;if(a!==null)ll=a,J=l;else{if(l===null)throw Y.alternate===null?Error(p(467)):Error(p(310));J=l,l={memoizedState:J.memoizedState,baseState:J.baseState,baseQueue:J.baseQueue,queue:J.queue,next:null},ll===null?Y.memoizedState=ll=l:ll=ll.next=l}return ll}function ou(l){var a=zt;return zt+=1,ju===null&&(ju=[]),l=Kc(ju,l,a),a=Y,(ll===null?a.memoizedState:ll.next)===null&&(a=a.alternate,D.H=a===null||a.memoizedState===null?cu:ba),l}function Ct(l){if(l!==null&&typeof l=="object"){if(typeof l.then=="function")return ou(l);if(l.$$typeof===Ra)return il(l)}throw Error(p(438,String(l)))}function Jn(l){var a=null,u=Y.updateQueue;if(u!==null&&(a=u.memoCache),a==null){var t=Y.alternate;t!==null&&(t=t.updateQueue,t!==null&&(t=t.memoCache,t!=null&&(a={data:t.data.map(function(n){return n.slice()}),index:0})))}if(a==null&&(a={data:[],index:0}),u===null&&(u=uc(),Y.updateQueue=u),u.memoCache=a,u=a.data[a.index],u===void 0)for(u=a.data[a.index]=Array(l),t=0;t<l;t++)u[t]=wm;return a.index++,u}function ia(l,a){return typeof a=="function"?a(l):a}function bt(l){var a=r();return gn(a,J,l)}function gn(l,a,u){var t=l.queue;if(t===null)throw Error(p(311));t.lastRenderedReducer=u;var n=l.baseQueue,f=t.pending;if(f!==null){if(n!==null){var c=n.next;n.next=f.next,f.next=c}a.baseQueue=n=f,t.pending=null}if(f=l.baseState,n===null)l.memoizedState=f;else{a=n.next;var e=c=null,v=null,E=a,d=!1;do{var N=E.lane&-536870913;if(N!==E.lane?(R&N)===N:(Ca&N)===N){var h=E.revertLane;if(h===0)v!==null&&(v=v.next={lane:0,revertLane:0,action:E.action,hasEagerState:E.hasEagerState,eagerState:E.eagerState,next:null}),N===Gu&&(d=!0);else if((Ca&h)===h){E=E.next,h===Gu&&(d=!0);continue}else N={lane:0,revertLane:E.revertLane,action:E.action,hasEagerState:E.hasEagerState,eagerState:E.eagerState,next:null},v===null?(e=v=N,c=f):v=v.next=N,Y.lanes|=h,Ja|=h;N=E.action,fu&&u(f,N),f=E.hasEagerState?E.eagerState:u(f,N)}else h={lane:N,revertLane:E.revertLane,action:E.action,hasEagerState:E.hasEagerState,eagerState:E.eagerState,next:null},v===null?(e=v=h,c=f):v=v.next=h,Y.lanes|=N,Ja|=N;E=E.next}while(E!==null&&E!==a);if(v===null?c=f:v.next=e,!Bl(f,l.memoizedState)&&(tl=!0,d&&(u=Ku,u!==null)))throw u;l.memoizedState=f,l.baseState=c,l.baseQueue=v,t.lastRenderedState=f}return n===null&&(t.lanes=0),[l.memoizedState,t.dispatch]}function Ln(l){var a=r(),u=a.queue;if(u===null)throw Error(p(311));u.lastRenderedReducer=l;var t=u.dispatch,n=u.pending,f=a.memoizedState;if(n!==null){u.pending=null;var c=n=n.next;do f=l(f,c.action),c=c.next;while(c!==n);Bl(f,a.memoizedState)||(tl=!0),a.memoizedState=f,a.baseQueue===null&&(a.baseState=f),u.lastRenderedState=f}return[f,t]}function Jc(l,a,u){var t=Y,n=r(),f=V;if(f){if(u===void 0)throw Error(p(407));u=u()}else u=a();var c=!Bl((J||n).memoizedState,u);if(c&&(n.memoizedState=u,tl=!0),n=n.queue,Wn(xc.bind(null,t,n,l),[l]),n.getSnapshot!==a||c||ll!==null&&ll.memoizedState.tag&1){if(t.flags|=2048,du(9,Lc.bind(null,t,n,u,a),{destroy:void 0},null),W===null)throw Error(p(349));f||(Ca&60)!==0||gc(t,a,u)}return u}function gc(l,a,u){l.flags|=16384,l={getSnapshot:a,value:u},a=Y.updateQueue,a===null?(a=uc(),Y.updateQueue=a,a.stores=[l]):(u=a.stores,u===null?a.stores=[l]:u.push(l))}function Lc(l,a,u,t){a.value=u,a.getSnapshot=t,sc(a)&&Wc(l)}function xc(l,a,u){return u(function(){sc(a)&&Wc(l)})}function sc(l){var a=l.getSnapshot;l=l.value;try{var u=a();return!Bl(l,u)}catch{return!0}}function Wc(l){var a=Oa(l,2);a!==null&&pl(a,l,2)}function xn(l){var a=hl();if(typeof l=="function"){var u=l;if(l=u(),fu){A(!0);try{u()}finally{A(!1)}}}return a.memoizedState=a.baseState=l,a.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ia,lastRenderedState:l},a}function Fc(l,a,u,t){return l.baseState=u,gn(l,J,typeof t=="function"?t:ia)}function qm(l,a,u,t,n){if(Lt(l))throw Error(p(485));if(l=a.action,l!==null){var f={payload:n,action:l,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(c){f.listeners.push(c)}};D.T!==null?u(!0):f.isTransition=!1,t(f),u=a.pending,u===null?(f.next=a.pending=f,Pc(a,f)):(f.next=u.next,a.pending=u.next=f)}}function Pc(l,a){var u=a.action,t=a.payload,n=l.state;if(a.isTransition){var f=D.T,c={};D.T=c;try{var e=u(n,t),v=D.S;v!==null&&v(c,e),$c(l,a,e)}catch(E){sn(l,a,E)}finally{D.T=f}}else try{f=u(n,t),$c(l,a,f)}catch(E){sn(l,a,E)}}function $c(l,a,u){u!==null&&typeof u=="object"&&typeof u.then=="function"?u.then(function(t){Ic(l,a,t)},function(t){return sn(l,a,t)}):Ic(l,a,u)}function Ic(l,a,u){a.status="fulfilled",a.value=u,kc(a),l.state=u,a=l.pending,a!==null&&(u=a.next,u===a?l.pending=null:(u=u.next,a.next=u,Pc(l,u)))}function sn(l,a,u){var t=l.pending;if(l.pending=null,t!==null){t=t.next;do a.status="rejected",a.reason=u,kc(a),a=a.next;while(a!==t)}l.action=null}function kc(l){l=l.listeners;for(var a=0;a<l.length;a++)(0,l[a])()}function wc(l,a){return a}function oc(l,a){if(V){var u=W.formState;if(u!==null){l:{var t=Y;if(V){if(yl){var n=L1(yl,aa);if(n){yl=si(n),t=x1(n);break l}}$a(t)}t=!1}t&&(a=u[0])}}u=hl(),u.memoizedState=u.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:wc,lastRenderedState:a},u.queue=t,u=ze.bind(null,Y,t),t.dispatch=u,t=xn(!1);var f=In.bind(null,Y,!1,t.queue);return t=hl(),n={state:a,dispatch:null,action:l,pending:null},t.queue=n,u=qm.bind(null,Y,n,f,u),n.dispatch=u,t.memoizedState=l,[a,u,!1]}function rc(l){var a=r();return le(a,J,l)}function le(l,a,u){a=gn(l,a,wc)[0],l=bt(ia)[0],a=typeof a=="object"&&a!==null&&typeof a.then=="function"?ou(a):a;var t=r(),n=t.queue,f=n.dispatch;return u!==t.memoizedState&&(Y.flags|=2048,du(9,Qm.bind(null,n,u),{destroy:void 0},null)),[a,f,l]}function Qm(l,a){l.action=a}function ae(l){var a=r(),u=J;if(u!==null)return le(a,u,l);r(),a=a.memoizedState,u=r();var t=u.queue.dispatch;return u.memoizedState=l,[a,t,!1]}function du(l,a,u,t){return l={tag:l,create:a,inst:u,deps:t,next:null},a=Y.updateQueue,a===null&&(a=uc(),Y.updateQueue=a),u=a.lastEffect,u===null?a.lastEffect=l.next=l:(t=u.next,u.next=l,l.next=t,a.lastEffect=l),l}function ue(){return r().memoizedState}function Jt(l,a,u,t){var n=hl();Y.flags|=l,n.memoizedState=du(1|a,u,{destroy:void 0},t===void 0?null:t)}function gt(l,a,u,t){var n=r();t=t===void 0?null:t;var f=n.memoizedState.inst;J!==null&&t!==null&&Xn(t,J.memoizedState.deps)?n.memoizedState=du(a,u,f,t):(Y.flags|=l,n.memoizedState=du(1|a,u,f,t))}function te(l,a){Jt(8390656,8,l,a)}function Wn(l,a){gt(2048,8,l,a)}function ne(l,a){return gt(4,2,l,a)}function fe(l,a){return gt(4,4,l,a)}function ce(l,a){if(typeof a=="function"){l=l();var u=a(l);return function(){typeof u=="function"?u():a(null)}}if(a!=null)return l=l(),a.current=l,function(){a.current=null}}function ee(l,a,u){u=u!=null?u.concat([l]):null,gt(4,4,ce.bind(null,a,l),u)}function Fn(){}function ie(l,a){var u=r();a=a===void 0?null:a;var t=u.memoizedState;return a!==null&&Xn(a,t[1])?t[0]:(u.memoizedState=[l,a],l)}function me(l,a){var u=r();a=a===void 0?null:a;var t=u.memoizedState;if(a!==null&&Xn(a,t[1]))return t[0];if(t=l(),fu){A(!0);try{l()}finally{A(!1)}}return u.memoizedState=[t,a],t}function Pn(l,a,u){return u===void 0||(Ca&1073741824)!==0?l.memoizedState=a:(l.memoizedState=u,l=fi(),Y.lanes|=l,Ja|=l,u)}function ve(l,a,u,t){return Bl(u,a)?u:Xu.current!==null?(l=Pn(l,u,t),Bl(l,a)||(tl=!0),l):(Ca&42)===0?(tl=!0,l.memoizedState=u):(l=fi(),Y.lanes|=l,Ja|=l,a)}function ye(l,a,u,t,n){var f=au();Tl(f!==0&&8>f?f:8);var c=D.T,e={};D.T=e,In(l,!1,a,u);try{var v=n(),E=D.S;if(E!==null&&E(e,v),v!==null&&typeof v=="object"&&typeof v.then=="function"){var d=Dm(v,t);ru(l,a,d,Ml(l))}else ru(l,a,t,Ml(l))}catch(N){ru(l,a,{then:function(){},status:"rejected",reason:N},Ml())}finally{Tl(f),D.T=c}}function Se(l){var a=l.memoizedState;if(a!==null)return a;a={memoizedState:Ou,baseState:Ou,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ia,lastRenderedState:Ou},next:null};var u={};return a.next={memoizedState:u,baseState:u,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ia,lastRenderedState:u},next:null},l.memoizedState=a,l=l.alternate,l!==null&&(l.memoizedState=a),a}function $n(){return il(uu)}function Ee(){return r().memoizedState}function pe(){return r().memoizedState}function Ym(l){for(var a=l.return;a!==null;){switch(a.tag){case 24:case 3:var u=Ml();l=Aa(u);var t=Da(a,l,u);t!==null&&(pl(t,a,u),$u(t,a,u)),a={cache:mf()},l.payload=a;return}a=a.return}}function Bm(l,a,u){var t=Ml();u={lane:t,revertLane:0,action:u,hasEagerState:!1,eagerState:null,next:null},Lt(l)?de(a,u):(u=Qn(l,a,u,t),u!==null&&(pl(u,l,t),Ne(u,a,t)))}function ze(l,a,u){var t=Ml();ru(l,a,u,t)}function ru(l,a,u,t){var n={lane:t,revertLane:0,action:u,hasEagerState:!1,eagerState:null,next:null};if(Lt(l))de(a,n);else{var f=l.alternate;if(l.lanes===0&&(f===null||f.lanes===0)&&(f=a.lastRenderedReducer,f!==null))try{var c=a.lastRenderedState,e=f(c,u);if(n.hasEagerState=!0,n.eagerState=e,Bl(e,c))return Gt(l,a,n,0),W===null&&Bt(),!1}catch{}finally{}if(u=Qn(l,a,n,t),u!==null)return pl(u,l,t),Ne(u,a,t),!0}return!1}function In(l,a,u,t){if(t={lane:2,revertLane:Yn(),action:t,hasEagerState:!1,eagerState:null,next:null},Lt(l)){if(a)throw Error(p(479))}else a=Qn(l,u,t,2),a!==null&&pl(a,l,2)}function Lt(l){var a=l.alternate;return l===Y||a!==null&&a===Y}function de(l,a){Zu=Sn=!0;var u=l.pending;u===null?a.next=a:(a.next=u.next,u.next=a),l.pending=a}function Ne(l,a,u){if((u&4194176)!==0){var t=a.lanes;t&=l.pendingLanes,u|=t,a.lanes=u,su(l,u)}}function kn(l,a,u,t){a=l.memoizedState,u=u(t,a),u=u==null?a:Rf({},a,u),l.memoizedState=u,l.lanes===0&&(l.updateQueue.baseState=u)}function he(l,a,u,t,n,f,c){return l=l.stateNode,typeof l.shouldComponentUpdate=="function"?l.shouldComponentUpdate(t,f,c):a.prototype&&a.prototype.isPureReactComponent?!Rt(u,t)||!Rt(n,f):!0}function _e(l,a,u,t){l=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(u,t),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(u,t),a.state!==l&&tc.enqueueReplaceState(a,a.state,null)}function Ia(l,a){var u=a;if("ref"in a){u={};for(var t in a)t!=="ref"&&(u[t]=a[t])}if(l=l.defaultProps){u===a&&(u=Rf({},u));for(var n in l)u[n]===void 0&&(u[n]=l[n])}return u}function xt(l,a){try{var u=l.onUncaughtError;u(a.value,{componentStack:a.stack})}catch(t){setTimeout(function(){throw t})}}function Te(l,a,u){try{var t=l.onCaughtError;t(u.value,{componentStack:u.stack,errorBoundary:a.tag===1?a.stateNode:null})}catch(n){setTimeout(function(){throw n})}}function wn(l,a,u){return u=Aa(u),u.tag=3,u.payload={element:null},u.callback=function(){xt(l,a)},u}function He(l){return l=Aa(l),l.tag=3,l}function Ue(l,a,u,t){var n=u.type.getDerivedStateFromError;if(typeof n=="function"){var f=t.value;l.payload=function(){return n(f)},l.callback=function(){Te(a,u,t)}}var c=u.stateNode;c!==null&&typeof c.componentDidCatch=="function"&&(l.callback=function(){Te(a,u,t),typeof n!="function"&&(ga===null?ga=new Set([this]):ga.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:e!==null?e:""})})}function Gm(l,a,u,t,n){if(u.flags|=32768,t!==null&&typeof t=="object"&&typeof t.then=="function"){if(a=u.alternate,a!==null&&at(a,u,n,!0),u=Jl.current,u!==null){switch(u.tag){case 13:return ua===null?Mf():u.alternate===null&&w===0&&(w=3),u.flags&=-257,u.flags|=65536,u.lanes=n,t===vn?u.flags|=16384:(a=u.updateQueue,a===null?u.updateQueue=new Set([t]):a.add(t),Qf(l,t,n)),!1;case 22:return u.flags|=65536,t===vn?u.flags|=16384:(a=u.updateQueue,a===null?(a={transitions:null,markerInstances:null,retryQueue:new Set([t])},u.updateQueue=a):(u=a.retryQueue,u===null?a.retryQueue=new Set([t]):u.add(t)),Qf(l,t,n)),!1}throw Error(p(435,u.tag))}return Qf(l,t,n),Mf(),!1}if(V)return a=Jl.current,a!==null?((a.flags&65536)===0&&(a.flags|=256),a.flags|=65536,a.lanes=n,t!==If&&(l=Error(p(422),{cause:t}),Pu(K(l,u)))):(t!==If&&(a=Error(p(423),{cause:t}),Pu(K(a,u))),l=l.current.alternate,l.flags|=65536,n&=-n,l.lanes|=n,t=K(t,u),n=wn(l.stateNode,t,n),Kn(l,n),w!==4&&(w=2)),!1;var f=Error(p(520),{cause:t});if(f=K(f,u),Nt===null?Nt=[f]:Nt.push(f),w!==4&&(w=2),a===null)return!0;t=K(t,u),u=a;do{switch(u.tag){case 3:return u.flags|=65536,l=n&-n,u.lanes|=l,l=wn(u.stateNode,t,l),Kn(u,l),!1;case 1:if(a=u.type,f=u.stateNode,(u.flags&128)===0&&(typeof a.getDerivedStateFromError=="function"||f!==null&&typeof f.componentDidCatch=="function"&&(ga===null||!ga.has(f))))return u.flags|=65536,n&=-n,u.lanes|=n,n=He(n),Ue(n,l,u,t),Kn(u,n),!1}u=u.return}while(u!==null);return!1}function cl(l,a,u,t){a.child=l===null?nm(a,null,u,t):nu(a,l.child,u,t)}function Oe(l,a,u,t,n){u=u.render;var f=a.ref;if("ref"in t){var c={};for(var e in t)e!=="ref"&&(c[e]=t[e])}else c=t;return ka(a),t=Zn(l,a,u,c,f,n),e=jn(),l!==null&&!tl?(Cn(l,a,n),ma(l,a,n)):(V&&e&&Ua(a),a.flags|=1,cl(l,a,t,n),a.child)}function Ae(l,a,u,t,n){if(l===null){var f=u.type;return typeof f=="function"&&!Yf(f)&&f.defaultProps===void 0&&u.compare===null?(a.tag=15,a.type=f,De(l,a,f,t,n)):(l=wt(u.type,null,t,a,a.mode,n),l.ref=a.ref,l.return=a,a.child=l)}if(f=l.child,!ff(l,n)){var c=f.memoizedProps;if(u=u.compare,u=u!==null?u:Rt,u(c,t)&&l.ref===a.ref)return ma(l,a,n)}return a.flags|=1,l=Ka(f,t),l.ref=a.ref,l.return=a,a.child=l}function De(l,a,u,t,n){if(l!==null){var f=l.memoizedProps;if(Rt(f,t)&&l.ref===a.ref)if(tl=!1,a.pendingProps=t=f,ff(l,n))(l.flags&131072)!==0&&(tl=!0);else return a.lanes=l.lanes,ma(l,a,n)}return on(l,a,u,t,n)}function Me(l,a,u){var t=a.pendingProps,n=t.children,f=(a.stateNode._pendingVisibility&2)!==0,c=l!==null?l.memoizedState:null;if(lt(l,a),t.mode==="hidden"||f){if((a.flags&128)!==0){if(t=c!==null?c.baseLanes|u:u,l!==null){for(n=a.child=l.child,f=0;n!==null;)f=f|n.lanes|n.childLanes,n=n.sibling;a.childLanes=f&~t}else a.childLanes=0,a.child=null;return qe(l,a,t,u)}if((u&536870912)!==0)a.memoizedState={baseLanes:0,cachePool:null},l!==null&&Ft(a,c!==null?c.cachePool:null),c!==null?Zc(a,c):Rn(),jc(a);else return a.lanes=a.childLanes=536870912,qe(l,a,c!==null?c.baseLanes|u:u,u)}else c!==null?(Ft(a,c.cachePool),Zc(a,c),qa(a),a.memoizedState=null):(l!==null&&Ft(a,null),Rn(),qa(a));return cl(l,a,n,u),a.child}function qe(l,a,u,t){var n=vf();return n=n===null?null:{parent:Ea?I._currentValue:I._currentValue2,pool:n},a.memoizedState={baseLanes:u,cachePool:n},l!==null&&Ft(a,null),Rn(),jc(a),l!==null&&at(l,a,t,!0),null}function lt(l,a){var u=a.ref;if(u===null)l!==null&&l.ref!==null&&(a.flags|=2097664);else{if(typeof u!="function"&&typeof u!="object")throw Error(p(284));(l===null||l.ref!==u)&&(a.flags|=2097664)}}function on(l,a,u,t,n){return ka(a),u=Zn(l,a,u,t,void 0,n),t=jn(),l!==null&&!tl?(Cn(l,a,n),ma(l,a,n)):(V&&t&&Ua(a),a.flags|=1,cl(l,a,u,n),a.child)}function Qe(l,a,u,t,n,f){return ka(a),a.updateQueue=null,u=bc(a,t,u,n),Cc(l),t=jn(),l!==null&&!tl?(Cn(l,a,f),ma(l,a,f)):(V&&t&&Ua(a),a.flags|=1,cl(l,a,u,f),a.child)}function Ye(l,a,u,t,n){if(ka(a),a.stateNode===null){var f=Du,c=u.contextType;typeof c=="object"&&c!==null&&(f=il(c)),f=new u(t,f),a.memoizedState=f.state!==null&&f.state!==void 0?f.state:null,f.updater=tc,a.stateNode=f,f._reactInternals=a,f=a.stateNode,f.props=t,f.state=a.memoizedState,f.refs={},Bn(a),c=u.contextType,f.context=typeof c=="object"&&c!==null?il(c):Du,f.state=a.memoizedState,c=u.getDerivedStateFromProps,typeof c=="function"&&(kn(a,u,c,t),f.state=a.memoizedState),typeof u.getDerivedStateFromProps=="function"||typeof f.getSnapshotBeforeUpdate=="function"||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(c=f.state,typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount(),c!==f.state&&tc.enqueueReplaceState(f,f.state,null),ku(a,t,f,n),Iu(),f.state=a.memoizedState),typeof f.componentDidMount=="function"&&(a.flags|=4194308),t=!0}else if(l===null){f=a.stateNode;var e=a.memoizedProps,v=Ia(u,e);f.props=v;var E=f.context,d=u.contextType;c=Du,typeof d=="object"&&d!==null&&(c=il(d));var N=u.getDerivedStateFromProps;d=typeof N=="function"||typeof f.getSnapshotBeforeUpdate=="function",e=a.pendingProps!==e,d||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(e||E!==c)&&_e(a,f,t,c),ja=!1;var h=a.memoizedState;f.state=h,ku(a,t,f,n),Iu(),E=a.memoizedState,e||h!==E||ja?(typeof N=="function"&&(kn(a,u,N,t),E=a.memoizedState),(v=ja||he(a,u,v,t,h,E,c))?(d||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount()),typeof f.componentDidMount=="function"&&(a.flags|=4194308)):(typeof f.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=t,a.memoizedState=E),f.props=t,f.state=E,f.context=c,t=v):(typeof f.componentDidMount=="function"&&(a.flags|=4194308),t=!1)}else{f=a.stateNode,Gn(l,a),c=a.memoizedProps,d=Ia(u,c),f.props=d,N=a.pendingProps,h=f.context,E=u.contextType,v=Du,typeof E=="object"&&E!==null&&(v=il(E)),e=u.getDerivedStateFromProps,(E=typeof e=="function"||typeof f.getSnapshotBeforeUpdate=="function")||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(c!==N||h!==v)&&_e(a,f,t,v),ja=!1,h=a.memoizedState,f.state=h,ku(a,t,f,n),Iu();var q=a.memoizedState;c!==N||h!==q||ja||l!==null&&l.dependencies!==null&&st(l.dependencies)?(typeof e=="function"&&(kn(a,u,e,t),q=a.memoizedState),(d=ja||he(a,u,d,t,h,q,v)||l!==null&&l.dependencies!==null&&st(l.dependencies))?(E||typeof f.UNSAFE_componentWillUpdate!="function"&&typeof f.componentWillUpdate!="function"||(typeof f.componentWillUpdate=="function"&&f.componentWillUpdate(t,q,v),typeof f.UNSAFE_componentWillUpdate=="function"&&f.UNSAFE_componentWillUpdate(t,q,v)),typeof f.componentDidUpdate=="function"&&(a.flags|=4),typeof f.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof f.componentDidUpdate!="function"||c===l.memoizedProps&&h===l.memoizedState||(a.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||c===l.memoizedProps&&h===l.memoizedState||(a.flags|=1024),a.memoizedProps=t,a.memoizedState=q),f.props=t,f.state=q,f.context=v,t=d):(typeof f.componentDidUpdate!="function"||c===l.memoizedProps&&h===l.memoizedState||(a.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||c===l.memoizedProps&&h===l.memoizedState||(a.flags|=1024),t=!1)}return f=t,lt(l,a),t=(a.flags&128)!==0,f||t?(f=a.stateNode,u=t&&typeof u.getDerivedStateFromError!="function"?null:f.render(),a.flags|=1,l!==null&&t?(a.child=nu(a,l.child,null,n),a.child=nu(a,null,u,n)):cl(l,a,u,n),a.memoizedState=f.state,l=a.child):l=ma(l,a,n),l}function Be(l,a,u,t){return Fu(),a.flags|=256,cl(l,a,u,t),a.child}function rn(l){return{baseLanes:l,cachePool:Ze()}}function lf(l,a,u){return l=l!==null?l.childLanes&~u:0,a&&(l|=gl),l}function Ge(l,a,u){var t=a.pendingProps,n=!1,f=(a.flags&128)!==0,c;if((c=f)||(c=l!==null&&l.memoizedState===null?!1:(ul.current&2)!==0),c&&(n=!0,a.flags&=-129),c=(a.flags&32)!==0,a.flags&=-33,l===null){if(V){if(n?Ma(a):qa(a),V){var e=yl,v;(v=e)&&(e=$1(e,aa),e!==null?(a.memoizedState={dehydrated:e,treeContext:tu!==null?{id:pa,overflow:za}:null,retryLane:536870912},v=T(18,null,null,0),v.stateNode=e,v.return=a,a.child=v,zl=a,yl=null,v=!0):v=!1),v||$a(a)}if(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null))return sf(e)?a.lanes=16:a.lanes=536870912,null;ea(a)}return e=t.children,t=t.fallback,n?(qa(a),n=a.mode,e=uf({mode:"hidden",children:e},n),t=lu(t,n,u,null),e.return=a,t.return=a,e.sibling=t,a.child=e,n=a.child,n.memoizedState=rn(u),n.childLanes=lf(l,c,u),a.memoizedState=nc,t):(Ma(a),af(a,e))}if(v=l.memoizedState,v!==null&&(e=v.dehydrated,e!==null)){if(f)a.flags&256?(Ma(a),a.flags&=-257,a=tf(l,a,u)):a.memoizedState!==null?(qa(a),a.child=l.child,a.flags|=128,a=null):(qa(a),n=t.fallback,e=a.mode,t=uf({mode:"visible",children:t.children},e),n=lu(n,e,u,null),n.flags|=2,t.return=a,n.return=a,t.sibling=n,a.child=t,nu(a,l.child,null,u),t=a.child,t.memoizedState=rn(u),t.childLanes=lf(l,c,u),a.memoizedState=nc,a=n);else if(Ma(a),sf(e))c=J1(e).digest,t=Error(p(419)),t.stack="",t.digest=c,Pu({value:t,source:null,stack:null}),a=tf(l,a,u);else if(tl||at(l,a,u,!1),c=(u&l.childLanes)!==0,tl||c){if(c=W,c!==null){if(t=u&-u,(t&42)!==0)t=1;else switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=16;break;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:t=64;break;case 268435456:t=134217728;break;default:t=0}if(t=(t&(c.suspendedLanes|u))!==0?0:t,t!==0&&t!==v.retryLane)throw v.retryLane=t,Oa(l,t),pl(c,l,t),cm}xf(e)||Mf(),a=tf(l,a,u)}else xf(e)?(a.flags|=128,a.child=l.child,a=xm.bind(null,l),g1(e,a),a=null):(l=v.treeContext,Xl&&(yl=W1(e),zl=a,V=!0,Il=null,aa=!1,l!==null&&(jl[Cl++]=pa,jl[Cl++]=za,jl[Cl++]=tu,pa=l.id,za=l.overflow,tu=a)),a=af(a,t.children),a.flags|=4096);return a}return n?(qa(a),n=t.fallback,e=a.mode,v=l.child,f=v.sibling,t=Ka(v,{mode:"hidden",children:t.children}),t.subtreeFlags=v.subtreeFlags&31457280,f!==null?n=Ka(f,n):(n=lu(n,e,u,null),n.flags|=2),n.return=a,t.return=a,t.sibling=n,a.child=t,t=n,n=a.child,e=l.child.memoizedState,e===null?e=rn(u):(v=e.cachePool,v!==null?(f=Ea?I._currentValue:I._currentValue2,v=v.parent!==f?{parent:f,pool:f}:v):v=Ze(),e={baseLanes:e.baseLanes|u,cachePool:v}),n.memoizedState=e,n.childLanes=lf(l,c,u),a.memoizedState=nc,t):(Ma(a),u=l.child,l=u.sibling,u=Ka(u,{mode:"visible",children:t.children}),u.return=a,u.sibling=null,l!==null&&(c=a.deletions,c===null?(a.deletions=[l],a.flags|=16):c.push(l)),a.child=u,a.memoizedState=null,u)}function af(l,a){return a=uf({mode:"visible",children:a},l.mode),a.return=l,l.child=a}function uf(l,a){return Hi(l,a,0,null)}function tf(l,a,u){return nu(a,l.child,null,u),l=af(a,a.pendingProps.children),l.flags|=2,a.memoizedState=null,l}function Ke(l,a,u){l.lanes|=a;var t=l.alternate;t!==null&&(t.lanes|=a),cf(l.return,a,u)}function nf(l,a,u,t,n){var f=l.memoizedState;f===null?l.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:t,tail:u,tailMode:n}:(f.isBackwards=a,f.rendering=null,f.renderingStartTime=0,f.last=t,f.tail=u,f.tailMode=n)}function Re(l,a,u){var t=a.pendingProps,n=t.revealOrder,f=t.tail;if(cl(l,a,t.children,u),t=ul.current,(t&2)!==0)t=t&1|2,a.flags|=128;else{if(l!==null&&(l.flags&128)!==0)l:for(l=a.child;l!==null;){if(l.tag===13)l.memoizedState!==null&&Ke(l,u,a);else if(l.tag===19)Ke(l,u,a);else if(l.child!==null){l.child.return=l,l=l.child;continue}if(l===a)break l;for(;l.sibling===null;){if(l.return===null||l.return===a)break l;l=l.return}l.sibling.return=l.return,l=l.sibling}t&=1}switch(M(ul,t),n){case"forwards":for(u=a.child,n=null;u!==null;)l=u.alternate,l!==null&&jt(l)===null&&(n=u),u=u.sibling;u=n,u===null?(n=a.child,a.child=null):(n=u.sibling,u.sibling=null),nf(a,!1,n,u,f);break;case"backwards":for(u=null,n=a.child,a.child=null;n!==null;){if(l=n.alternate,l!==null&&jt(l)===null){a.child=n;break}l=n.sibling,n.sibling=u,u=n,n=l}nf(a,!0,u,null,f);break;case"together":nf(a,!1,null,null,void 0);break;default:a.memoizedState=null}return a.child}function ma(l,a,u){if(l!==null&&(a.dependencies=l.dependencies),Ja|=a.lanes,(u&a.childLanes)===0)if(l!==null){if(at(l,a,u,!1),(u&a.childLanes)===0)return null}else return null;if(l!==null&&a.child!==l.child)throw Error(p(153));if(a.child!==null){for(l=a.child,u=Ka(l,l.pendingProps),a.child=u,u.return=a;l.sibling!==null;)l=l.sibling,u=u.sibling=Ka(l,l.pendingProps),u.return=a;u.sibling=null}return a.child}function ff(l,a){return(l.lanes&a)!==0?!0:(l=l.dependencies,!!(l!==null&&st(l)))}function Km(l,a,u){switch(a.tag){case 3:Vl(a,a.stateNode.containerInfo),Qa(a,I,l.memoizedState.cache),Fu();break;case 27:case 5:qn(a);break;case 4:Vl(a,a.stateNode.containerInfo);break;case 10:Qa(a,a.type,a.memoizedProps.value);break;case 13:var t=a.memoizedState;if(t!==null)return t.dehydrated!==null?(Ma(a),a.flags|=128,null):(u&a.child.childLanes)!==0?Ge(l,a,u):(Ma(a),l=ma(l,a,u),l!==null?l.sibling:null);Ma(a);break;case 19:var n=(l.flags&128)!==0;if(t=(u&a.childLanes)!==0,t||(at(l,a,u,!1),t=(u&a.childLanes)!==0),n){if(t)return Re(l,a,u);a.flags|=128}if(n=a.memoizedState,n!==null&&(n.rendering=null,n.tail=null,n.lastEffect=null),M(ul,ul.current),t)break;return null;case 22:case 23:return a.lanes=0,Me(l,a,u);case 24:Qa(a,I,l.memoizedState.cache)}return ma(l,a,u)}function Ve(l,a,u){if(l!==null)if(l.memoizedProps!==a.pendingProps)tl=!0;else{if(!ff(l,u)&&(a.flags&128)===0)return tl=!1,Km(l,a,u);tl=(l.flags&131072)!==0}else tl=!1,V&&(a.flags&1048576)!==0&&Fa(a,fn,a.index);switch(a.lanes=0,a.tag){case 16:l:{l=a.pendingProps;var t=a.elementType,n=t._init;if(t=n(t._payload),a.type=t,typeof t=="function")Yf(t)?(l=Ia(t,l),a.tag=1,a=Ye(null,a,t,l,u)):(a.tag=0,a=on(null,a,t,l,u));else{if(t!=null){if(n=t.$$typeof,n===Xf){a.tag=11,a=Oe(null,a,t,l,u);break l}else if(n===Cf){a.tag=14,a=Ae(null,a,t,l,u);break l}}throw a=dl(t)||t,Error(p(306,a,""))}}return a;case 0:return on(l,a,a.type,a.pendingProps,u);case 1:return t=a.type,n=Ia(t,a.pendingProps),Ye(l,a,t,n,u);case 3:l:{if(Vl(a,a.stateNode.containerInfo),l===null)throw Error(p(387));var f=a.pendingProps;n=a.memoizedState,t=n.element,Gn(l,a),ku(a,f,null,u);var c=a.memoizedState;if(f=c.cache,Qa(a,I,f),f!==n.cache&&ef(a,[I],u,!0),Iu(),f=c.element,Xl&&n.isDehydrated)if(n={element:f,isDehydrated:!1,cache:c.cache},a.updateQueue.baseState=n,a.memoizedState=n,a.flags&256){a=Be(l,a,f,u);break l}else if(f!==t){t=K(Error(p(424)),a),Pu(t),a=Be(l,a,f,u);break l}else for(Xl&&(yl=s1(a.stateNode.containerInfo),zl=a,V=!0,Il=null,aa=!0),u=nm(a,null,f,u),a.child=u;u;)u.flags=u.flags&-3|4096,u=u.sibling;else{if(Fu(),f===t){a=ma(l,a,u);break l}cl(l,a,f,u)}a=a.child}return a;case 26:if(Zl)return lt(l,a),l===null?(u=$i(a.type,null,a.pendingProps,null))?a.memoizedState=u:V||(a.stateNode=c0(a.type,a.pendingProps,Za.current,a)):a.memoizedState=$i(a.type,l.memoizedProps,a.pendingProps,l.memoizedState),null;case 27:if(vl)return qn(a),l===null&&vl&&V&&(t=a.stateNode=lm(a.type,a.pendingProps,Za.current,el.current,!1),zl=a,aa=!0,yl=Wi(t)),t=a.pendingProps.children,l!==null||V?cl(l,a,t,u):a.child=nu(a,null,t,u),lt(l,a),a.child;case 5:return l===null&&V&&(t0(a.type,a.pendingProps,el.current),(n=t=yl)&&(t=F1(t,a.type,a.pendingProps,aa),t!==null?(a.stateNode=t,zl=a,yl=Wi(t),aa=!1,n=!0):n=!1),n||$a(a)),qn(a),n=a.type,f=a.pendingProps,c=l!==null?l.memoizedProps:null,t=f.children,ln(n,f)?t=null:c!==null&&ln(n,c)&&(a.flags|=32),a.memoizedState!==null&&(n=Zn(l,a,Mm,null,null,u),Ea?uu._currentValue=n:uu._currentValue2=n),lt(l,a),cl(l,a,t,u),a.child;case 6:return l===null&&V&&(n0(a.pendingProps,el.current),(l=u=yl)&&(u=P1(u,a.pendingProps,aa),u!==null?(a.stateNode=u,zl=a,yl=null,l=!0):l=!1),l||$a(a)),null;case 13:return Ge(l,a,u);case 4:return Vl(a,a.stateNode.containerInfo),t=a.pendingProps,l===null?a.child=nu(a,null,t,u):cl(l,a,t,u),a.child;case 11:return Oe(l,a,a.type,a.pendingProps,u);case 7:return cl(l,a,a.pendingProps,u),a.child;case 8:return cl(l,a,a.pendingProps.children,u),a.child;case 12:return cl(l,a,a.pendingProps.children,u),a.child;case 10:return t=a.pendingProps,Qa(a,a.type,t.value),cl(l,a,t.children,u),a.child;case 9:return n=a.type._context,t=a.pendingProps.children,ka(a),n=il(n),t=t(n),a.flags|=1,cl(l,a,t,u),a.child;case 14:return Ae(l,a,a.type,a.pendingProps,u);case 15:return De(l,a,a.type,a.pendingProps,u);case 19:return Re(l,a,u);case 22:return Me(l,a,u);case 24:return ka(a),t=il(I),l===null?(n=vf(),n===null&&(n=W,f=mf(),n.pooledCache=f,f.refCount++,f!==null&&(n.pooledCacheLanes|=u),n=f),a.memoizedState={parent:t,cache:n},Bn(a),Qa(a,I,n)):((l.lanes&u)!==0&&(Gn(l,a),ku(a,null,null,u),Iu()),n=l.memoizedState,f=a.memoizedState,n.parent!==t?(n={parent:t,cache:t},a.memoizedState=n,a.lanes===0&&(a.memoizedState=a.updateQueue.baseState=n),Qa(a,I,t)):(t=f.cache,Qa(a,I,t),t!==n.cache&&ef(a,[I],u,!0))),cl(l,a,a.pendingProps.children,u),a.child;case 29:throw a.pendingProps}throw Error(p(156,a.tag))}function Qa(l,a,u){Ea?(M(pn,a._currentValue),a._currentValue=u):(M(pn,a._currentValue2),a._currentValue2=u)}function va(l){var a=pn.current;Ea?l._currentValue=a:l._currentValue2=a,j(pn)}function cf(l,a,u){for(;l!==null;){var t=l.alternate;if((l.childLanes&a)!==a?(l.childLanes|=a,t!==null&&(t.childLanes|=a)):t!==null&&(t.childLanes&a)!==a&&(t.childLanes|=a),l===u)break;l=l.return}}function ef(l,a,u,t){var n=l.child;for(n!==null&&(n.return=l);n!==null;){var f=n.dependencies;if(f!==null){var c=n.child;f=f.firstContext;l:for(;f!==null;){var e=f;f=n;for(var v=0;v<a.length;v++)if(e.context===a[v]){f.lanes|=u,e=f.alternate,e!==null&&(e.lanes|=u),cf(f.return,u,l),t||(c=null);break l}f=e.next}}else if(n.tag===18){if(c=n.return,c===null)throw Error(p(341));c.lanes|=u,f=c.alternate,f!==null&&(f.lanes|=u),cf(c,u,l),c=null}else c=n.child;if(c!==null)c.return=n;else for(c=n;c!==null;){if(c===l){c=null;break}if(n=c.sibling,n!==null){n.return=c.return,c=n;break}c=c.return}n=c}}function at(l,a,u,t){l=null;for(var n=a,f=!1;n!==null;){if(!f){if((n.flags&524288)!==0)f=!0;else if((n.flags&262144)!==0)break}if(n.tag===10){var c=n.alternate;if(c===null)throw Error(p(387));if(c=c.memoizedProps,c!==null){var e=n.type;Bl(n.pendingProps.value,c.value)||(l!==null?l.push(e):l=[e])}}else if(n===cn.current){if(c=n.alternate,c===null)throw Error(p(387));c.memoizedState.memoizedState!==n.memoizedState.memoizedState&&(l!==null?l.push(uu):l=[uu])}n=n.return}l!==null&&ef(a,l,u,t),a.flags|=262144}function st(l){for(l=l.firstContext;l!==null;){var a=l.context;if(!Bl(Ea?a._currentValue:a._currentValue2,l.memoizedValue))return!0;l=l.next}return!1}function ka(l){iu=l,da=null,l=l.dependencies,l!==null&&(l.firstContext=null)}function il(l){return Xe(iu,l)}function Wt(l,a){return iu===null&&ka(l),Xe(l,a)}function Xe(l,a){var u=Ea?a._currentValue:a._currentValue2;if(a={context:a,memoizedValue:u,next:null},da===null){if(l===null)throw Error(p(308));da=a,l.dependencies={lanes:0,firstContext:a},l.flags|=524288}else da=da.next=a;return u}function mf(){return{controller:new O0,data:new Map,refCount:0}}function ut(l){l.refCount--,l.refCount===0&&A0(D0,function(){l.controller.abort()})}function vf(){var l=mu.current;return l!==null?l:W.pooledCache}function Ft(l,a){a===null?M(mu,mu.current):M(mu,a.pool)}function Ze(){var l=vf();return l===null?null:{parent:Ea?I._currentValue:I._currentValue2,pool:l}}function Ol(l){l.flags|=4}function je(l,a){if(l!==null&&l.child===a.child)return!1;if((a.flags&16)!==0)return!0;for(l=a.child;l!==null;){if((l.flags&13878)!==0||(l.subtreeFlags&13878)!==0)return!0;l=l.sibling}return!1}function yf(l,a,u,t){if(ml)for(u=a.child;u!==null;){if(u.tag===5||u.tag===6)gf(l,u.stateNode);else if(!(u.tag===4||vl&&u.tag===27)&&u.child!==null){u.child.return=u,u=u.child;continue}if(u===a)break;for(;u.sibling===null;){if(u.return===null||u.return===a)return;u=u.return}u.sibling.return=u.return,u=u.sibling}else if(Xa)for(var n=a.child;n!==null;){if(n.tag===5){var f=n.stateNode;u&&t&&(f=Li(f,n.type,n.memoizedProps)),gf(l,f)}else if(n.tag===6)f=n.stateNode,u&&t&&(f=xi(f,n.memoizedProps)),gf(l,f);else if(n.tag!==4){if(n.tag===22&&n.memoizedState!==null)f=n.child,f!==null&&(f.return=n),yf(l,n,!0,!0);else if(n.child!==null){n.child.return=n,n=n.child;continue}}if(n===a)break;for(;n.sibling===null;){if(n.return===null||n.return===a)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function Ce(l,a,u,t){if(Xa)for(var n=a.child;n!==null;){if(n.tag===5){var f=n.stateNode;u&&t&&(f=Li(f,n.type,n.memoizedProps)),Ji(l,f)}else if(n.tag===6)f=n.stateNode,u&&t&&(f=xi(f,n.memoizedProps)),Ji(l,f);else if(n.tag!==4){if(n.tag===22&&n.memoizedState!==null)f=n.child,f!==null&&(f.return=n),Ce(l,n,!(n.memoizedProps!==null&&n.memoizedProps.mode==="manual"),!0);else if(n.child!==null){n.child.return=n,n=n.child;continue}}if(n===a)break;for(;n.sibling===null;){if(n.return===null||n.return===a)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function be(l,a){if(Xa&&je(l,a)){l=a.stateNode;var u=l.containerInfo,t=bi();Ce(t,a,!1,!1),l.pendingChildren=t,Ol(a),b1(u,t)}}function Sf(l,a,u,t){if(ml)l.memoizedProps!==t&&Ol(a);else if(Xa){var n=l.stateNode,f=l.memoizedProps;if((l=je(l,a))||f!==t){var c=el.current;f=C1(n,u,f,t,!l,null),f===n?a.stateNode=n:(Ri(f,u,t,c)&&Ol(a),a.stateNode=f,l?yf(f,a,!1,!1):Ol(a))}else a.stateNode=n}}function Ef(l,a,u){if(S1(a,u)){if(l.flags|=16777216,!Zi(a,u))if(vi())l.flags|=8192;else throw Ru=vn,ac}else l.flags&=-16777217}function Je(l,a){if(i0(a)){if(l.flags|=16777216,!ri(a))if(vi())l.flags|=8192;else throw Ru=vn,ac}else l.flags&=-16777217}function Pt(l,a){a!==null&&(l.flags|=4),l.flags&16384&&(a=l.tag!==22?sa():536870912,l.lanes|=a,Ju|=a)}function tt(l,a){if(!V)switch(l.tailMode){case"hidden":a=l.tail;for(var u=null;a!==null;)a.alternate!==null&&(u=a),a=a.sibling;u===null?l.tail=null:u.sibling=null;break;case"collapsed":u=l.tail;for(var t=null;u!==null;)u.alternate!==null&&(t=u),u=u.sibling;t===null?a||l.tail===null?l.tail=null:l.tail.sibling=null:t.sibling=null}}function $(l){var a=l.alternate!==null&&l.alternate.child===l.child,u=0,t=0;if(a)for(var n=l.child;n!==null;)u|=n.lanes|n.childLanes,t|=n.subtreeFlags&31457280,t|=n.flags&31457280,n.return=l,n=n.sibling;else for(n=l.child;n!==null;)u|=n.lanes|n.childLanes,t|=n.subtreeFlags,t|=n.flags,n.return=l,n=n.sibling;return l.subtreeFlags|=t,l.childLanes=u,a}function Rm(l,a,u){var t=a.pendingProps;switch(Pa(a),a.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return $(a),null;case 1:return $(a),null;case 3:return u=a.stateNode,t=null,l!==null&&(t=l.memoizedState.cache),a.memoizedState.cache!==t&&(a.flags|=2048),va(I),Fl(),u.pendingContext&&(u.context=u.pendingContext,u.pendingContext=null),(l===null||l.child===null)&&(Wu(a)?Ol(a):l===null||l.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,Il!==null&&(Af(Il),Il=null))),be(l,a),$(a),null;case 26:if(Zl){u=a.type;var n=a.memoizedState;return l===null?(Ol(a),n!==null?($(a),Je(a,n)):($(a),Ef(a,u,t))):n?n!==l.memoizedState?(Ol(a),$(a),Je(a,n)):($(a),a.flags&=-16777217):(ml?l.memoizedProps!==t&&Ol(a):Sf(l,a,u,t),$(a),Ef(a,u,t)),null}case 27:if(vl){if(Yt(a),u=Za.current,n=a.type,l!==null&&a.stateNode!=null)ml?l.memoizedProps!==t&&Ol(a):Sf(l,a,n,t);else{if(!t){if(a.stateNode===null)throw Error(p(166));return $(a),null}l=el.current,Wu(a)?Uc(a,l):(l=lm(n,t,u,l,!0),a.stateNode=l,Ol(a))}return $(a),null}case 5:if(Yt(a),u=a.type,l!==null&&a.stateNode!=null)Sf(l,a,u,t);else{if(!t){if(a.stateNode===null)throw Error(p(166));return $(a),null}l=el.current,Wu(a)?Uc(a,l):(n=f1(u,t,Za.current,l,a),yf(n,a,!1,!1),a.stateNode=n,Ri(n,u,t,l)&&Ol(a))}return $(a),Ef(a,a.type,a.pendingProps),null;case 6:if(l&&a.stateNode!=null)u=l.memoizedProps,ml?u!==t&&Ol(a):Xa&&(u!==t?(a.stateNode=Vi(t,Za.current,el.current,a),Ol(a)):a.stateNode=l.stateNode);else{if(typeof t!="string"&&a.stateNode===null)throw Error(p(166));if(l=Za.current,u=el.current,Wu(a)){if(!Xl)throw Error(p(176));if(l=a.stateNode,u=a.memoizedProps,t=null,n=zl,n!==null)switch(n.tag){case 27:case 5:t=n.memoizedProps}k1(l,u,a,t)||$a(a)}else a.stateNode=Vi(t,l,u,a)}return $(a),null;case 13:if(t=a.memoizedState,l===null||l.memoizedState!==null&&l.memoizedState.dehydrated!==null){if(n=Wu(a),t!==null&&t.dehydrated!==null){if(l===null){if(!n)throw Error(p(318));if(!Xl)throw Error(p(344));if(n=a.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(p(317));w1(n,a)}else Fu(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;$(a),n=!1}else Il!==null&&(Af(Il),Il=null),n=!0;if(!n)return a.flags&256?(ea(a),a):(ea(a),null)}if(ea(a),(a.flags&128)!==0)return a.lanes=u,a;if(u=t!==null,l=l!==null&&l.memoizedState!==null,u){t=a.child,n=null,t.alternate!==null&&t.alternate.memoizedState!==null&&t.alternate.memoizedState.cachePool!==null&&(n=t.alternate.memoizedState.cachePool.pool);var f=null;t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(f=t.memoizedState.cachePool.pool),f!==n&&(t.flags|=2048)}return u!==l&&u&&(a.child.flags|=8192),Pt(a,a.updateQueue),$(a),null;case 4:return Fl(),be(l,a),l===null&&i1(a.stateNode.containerInfo),$(a),null;case 10:return va(a.type),$(a),null;case 19:if(j(ul),n=a.memoizedState,n===null)return $(a),null;if(t=(a.flags&128)!==0,f=n.rendering,f===null)if(t)tt(n,!1);else{if(w!==0||l!==null&&(l.flags&128)!==0)for(l=a.child;l!==null;){if(f=jt(l),f!==null){for(a.flags|=128,tt(n,!1),l=f.updateQueue,a.updateQueue=l,Pt(a,l),a.subtreeFlags=0,l=u,u=a.child;u!==null;)Ti(u,l),u=u.sibling;return M(ul,ul.current&1|2),a.child}l=l.sibling}n.tail!==null&&$l()>ht&&(a.flags|=128,t=!0,tt(n,!1),a.lanes=4194304)}else{if(!t)if(l=jt(f),l!==null){if(a.flags|=128,t=!0,l=l.updateQueue,a.updateQueue=l,Pt(a,l),tt(n,!0),n.tail===null&&n.tailMode==="hidden"&&!f.alternate&&!V)return $(a),null}else 2*$l()-n.renderingStartTime>ht&&u!==536870912&&(a.flags|=128,t=!0,tt(n,!1),a.lanes=4194304);n.isBackwards?(f.sibling=a.child,a.child=f):(l=n.last,l!==null?l.sibling=f:a.child=f,n.last=f)}return n.tail!==null?(a=n.tail,n.rendering=a,n.tail=a.sibling,n.renderingStartTime=$l(),a.sibling=null,l=ul.current,M(ul,t?l&1|2:l&1),a):($(a),null);case 22:case 23:return ea(a),Vn(),t=a.memoizedState!==null,l!==null?l.memoizedState!==null!==t&&(a.flags|=8192):t&&(a.flags|=8192),t?(u&536870912)!==0&&(a.flags&128)===0&&($(a),a.subtreeFlags&6&&(a.flags|=8192)):$(a),u=a.updateQueue,u!==null&&Pt(a,u.retryQueue),u=null,l!==null&&l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),t=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(t=a.memoizedState.cachePool.pool),t!==u&&(a.flags|=2048),l!==null&&j(mu),null;case 24:return u=null,l!==null&&(u=l.memoizedState.cache),a.memoizedState.cache!==u&&(a.flags|=2048),va(I),$(a),null;case 25:return null}throw Error(p(156,a.tag))}function Vm(l,a){switch(Pa(a),a.tag){case 1:return l=a.flags,l&65536?(a.flags=l&-65537|128,a):null;case 3:return va(I),Fl(),l=a.flags,(l&65536)!==0&&(l&128)===0?(a.flags=l&-65537|128,a):null;case 26:case 27:case 5:return Yt(a),null;case 13:if(ea(a),l=a.memoizedState,l!==null&&l.dehydrated!==null){if(a.alternate===null)throw Error(p(340));Fu()}return l=a.flags,l&65536?(a.flags=l&-65537|128,a):null;case 19:return j(ul),null;case 4:return Fl(),null;case 10:return va(a.type),null;case 22:case 23:return ea(a),Vn(),l!==null&&j(mu),l=a.flags,l&65536?(a.flags=l&-65537|128,a):null;case 24:return va(I),null;case 25:return null;default:return null}}function ge(l,a){switch(Pa(a),a.tag){case 3:va(I),Fl();break;case 26:case 27:case 5:Yt(a);break;case 4:Fl();break;case 13:ea(a);break;case 19:j(ul);break;case 10:va(a.type);break;case 22:case 23:ea(a),Vn(),l!==null&&j(mu);break;case 24:va(I)}}function nt(l,a){try{var u=a.updateQueue,t=u!==null?u.lastEffect:null;if(t!==null){var n=t.next;u=n;do{if((u.tag&l)===l){t=void 0;var f=u.create,c=u.inst;t=f(),c.destroy=t}u=u.next}while(u!==n)}}catch(e){b(a,a.return,e)}}function Ya(l,a,u){try{var t=a.updateQueue,n=t!==null?t.lastEffect:null;if(n!==null){var f=n.next;t=f;do{if((t.tag&l)===l){var c=t.inst,e=c.destroy;if(e!==void 0){c.destroy=void 0,n=a;var v=u;try{e()}catch(E){b(n,v,E)}}}t=t.next}while(t!==f)}}catch(E){b(a,a.return,E)}}function Le(l){var a=l.updateQueue;if(a!==null){var u=l.stateNode;try{Bc(a,u)}catch(t){b(l,l.return,t)}}}function xe(l,a,u){u.props=Ia(l.type,l.memoizedProps),u.state=l.memoizedState;try{u.componentWillUnmount()}catch(t){b(l,a,t)}}function wa(l,a){try{var u=l.ref;if(u!==null){var t=l.stateNode;switch(l.tag){case 26:case 27:case 5:var n=et(t);break;default:n=t}typeof u=="function"?l.refCleanup=u(n):u.current=n}}catch(f){b(l,a,f)}}function Al(l,a){var u=l.ref,t=l.refCleanup;if(u!==null)if(typeof t=="function")try{t()}catch(n){b(l,a,n)}finally{l.refCleanup=null,l=l.alternate,l!=null&&(l.refCleanup=null)}else if(typeof u=="function")try{u(null)}catch(n){b(l,a,n)}else u.current=null}function se(l){var a=l.type,u=l.memoizedProps,t=l.stateNode;try{q1(t,a,u,l)}catch(n){b(l,l.return,n)}}function We(l,a,u){try{Q1(l.stateNode,l.type,u,a,l)}catch(t){b(l,l.return,t)}}function Fe(l){return l.tag===5||l.tag===3||(Zl?l.tag===26:!1)||(vl?l.tag===27:!1)||l.tag===4}function pf(l){l:for(;;){for(;l.sibling===null;){if(l.return===null||Fe(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&(!vl||l.tag!==27)&&l.tag!==18;){if(l.flags&2||l.child===null||l.tag===4)continue l;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function zf(l,a,u){var t=l.tag;if(t===5||t===6)l=l.stateNode,a?B1(u,l,a):D1(u,l);else if(!(t===4||vl&&t===27)&&(l=l.child,l!==null))for(zf(l,a,u),l=l.sibling;l!==null;)zf(l,a,u),l=l.sibling}function $t(l,a,u){var t=l.tag;if(t===5||t===6)l=l.stateNode,a?Y1(u,l,a):A1(u,l);else if(!(t===4||vl&&t===27)&&(l=l.child,l!==null))for($t(l,a,u),l=l.sibling;l!==null;)$t(l,a,u),l=l.sibling}function Pe(l,a,u){l=l.containerInfo;try{gi(l,u)}catch(t){b(a,a.return,t)}}function Xm(l,a){for(t1(l.containerInfo),nl=a;nl!==null;)if(l=nl,a=l.child,(l.subtreeFlags&1028)!==0&&a!==null)a.return=l,nl=a;else for(;nl!==null;){l=nl;var u=l.alternate;switch(a=l.flags,l.tag){case 0:break;case 11:case 15:break;case 1:if((a&1024)!==0&&u!==null){a=void 0;var t=l,n=u.memoizedProps;u=u.memoizedState;var f=t.stateNode;try{var c=Ia(t.type,n,t.elementType===t.type);a=f.getSnapshotBeforeUpdate(c,u),f.__reactInternalSnapshotBeforeUpdate=a}catch(e){b(t,t.return,e)}}break;case 3:(a&1024)!==0&&ml&&j1(l.stateNode.containerInfo);break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((a&1024)!==0)throw Error(p(163))}if(a=l.sibling,a!==null){a.return=l.return,nl=a;break}nl=l.return}return c=mm,mm=!1,c}function $e(l,a,u){var t=u.flags;switch(u.tag){case 0:case 11:case 15:ya(l,u),t&4&&nt(5,u);break;case 1:if(ya(l,u),t&4)if(l=u.stateNode,a===null)try{l.componentDidMount()}catch(e){b(u,u.return,e)}else{var n=Ia(u.type,a.memoizedProps);a=a.memoizedState;try{l.componentDidUpdate(n,a,l.__reactInternalSnapshotBeforeUpdate)}catch(e){b(u,u.return,e)}}t&64&&Le(u),t&512&&wa(u,u.return);break;case 3:if(ya(l,u),t&64&&(t=u.updateQueue,t!==null)){if(l=null,u.child!==null)switch(u.child.tag){case 27:case 5:l=et(u.child.stateNode);break;case 1:l=u.child.stateNode}try{Bc(t,l)}catch(e){b(u,u.return,e)}}break;case 26:if(Zl){ya(l,u),t&512&&wa(u,u.return);break}case 27:case 5:ya(l,u),a===null&&t&4&&se(u),t&512&&wa(u,u.return);break;case 12:ya(l,u);break;case 13:ya(l,u),t&4&&ke(l,u);break;case 22:if(n=u.memoizedState!==null||Na,!n){a=a!==null&&a.memoizedState!==null||k;var f=Na,c=k;Na=n,(k=a)&&!c?Ba(l,u,(u.subtreeFlags&8772)!==0):ya(l,u),Na=f,k=c}t&512&&(u.memoizedProps.mode==="manual"?wa(u,u.return):Al(u,u.return));break;default:ya(l,u)}}function Ie(l){var a=l.alternate;a!==null&&(l.alternate=null,Ie(a)),l.child=null,l.deletions=null,l.sibling=null,l.tag===5&&(a=l.stateNode,a!==null&&y1(a)),l.stateNode=null,l.return=null,l.dependencies=null,l.memoizedProps=null,l.memoizedState=null,l.pendingProps=null,l.stateNode=null,l.updateQueue=null}function Pl(l,a,u){for(u=u.child;u!==null;)df(l,a,u),u=u.sibling}function df(l,a,u){if(Yl&&typeof Yl.onCommitFiberUnmount=="function")try{Yl.onCommitFiberUnmount(vt,u)}catch{}switch(u.tag){case 26:if(Zl){k||Al(u,a),Pl(l,a,u),u.memoizedState?ki(u.memoizedState):u.stateNode&&oi(u.stateNode);break}case 27:if(vl){k||Al(u,a);var t=al,n=Gl;al=u.stateNode,Pl(l,a,u),S0(u.stateNode),al=t,Gl=n;break}case 5:k||Al(u,a);case 6:if(ml){if(t=al,n=Gl,al=null,Pl(l,a,u),al=t,Gl=n,al!==null)if(Gl)try{K1(al,u.stateNode)}catch(f){b(u,a,f)}else try{G1(al,u.stateNode)}catch(f){b(u,a,f)}}else Pl(l,a,u);break;case 18:ml&&al!==null&&(Gl?u0(al,u.stateNode):a0(al,u.stateNode));break;case 4:ml?(t=al,n=Gl,al=u.stateNode.containerInfo,Gl=!0,Pl(l,a,u),al=t,Gl=n):(Xa&&Pe(u.stateNode,u,bi()),Pl(l,a,u));break;case 0:case 11:case 14:case 15:k||Ya(2,u,a),k||Ya(4,u,a),Pl(l,a,u);break;case 1:k||(Al(u,a),t=u.stateNode,typeof t.componentWillUnmount=="function"&&xe(u,a,t)),Pl(l,a,u);break;case 21:Pl(l,a,u);break;case 22:k||Al(u,a),k=(t=k)||u.memoizedState!==null,Pl(l,a,u),k=t;break;default:Pl(l,a,u)}}function ke(l,a){if(Xl&&a.memoizedState===null&&(l=a.alternate,l!==null&&(l=l.memoizedState,l!==null&&(l=l.dehydrated,l!==null))))try{l0(l)}catch(u){b(a,a.return,u)}}function Zm(l){switch(l.tag){case 13:case 19:var a=l.stateNode;return a===null&&(a=l.stateNode=new im),a;case 22:return l=l.stateNode,a=l._retryCache,a===null&&(a=l._retryCache=new im),a;default:throw Error(p(435,l.tag))}}function Nf(l,a){var u=Zm(l);a.forEach(function(t){var n=sm.bind(null,l,t);u.has(t)||(u.add(t),t.then(n,n))})}function _l(l,a){var u=a.deletions;if(u!==null)for(var t=0;t<u.length;t++){var n=u[t],f=l,c=a;if(ml){var e=c;l:for(;e!==null;){switch(e.tag){case 27:case 5:al=e.stateNode,Gl=!1;break l;case 3:al=e.stateNode.containerInfo,Gl=!0;break l;case 4:al=e.stateNode.containerInfo,Gl=!0;break l}e=e.return}if(al===null)throw Error(p(160));df(f,c,n),al=null,Gl=!1}else df(f,c,n);f=n.alternate,f!==null&&(f.return=null),n.return=null}if(a.subtreeFlags&13878)for(a=a.child;a!==null;)we(a,l),a=a.sibling}function we(l,a){var u=l.alternate,t=l.flags;switch(l.tag){case 0:case 11:case 14:case 15:_l(a,l),Dl(l),t&4&&(Ya(3,l,l.return),nt(3,l),Ya(5,l,l.return));break;case 1:_l(a,l),Dl(l),t&512&&(k||u===null||Al(u,u.return)),t&64&&Na&&(l=l.updateQueue,l!==null&&(t=l.callbacks,t!==null&&(u=l.shared.hiddenCallbacks,l.shared.hiddenCallbacks=u===null?t:u.concat(t))));break;case 26:if(Zl){var n=kl;_l(a,l),Dl(l),t&512&&(k||u===null||Al(u,u.return)),t&4&&(t=u!==null?u.memoizedState:null,a=l.memoizedState,u===null?a===null?l.stateNode===null?l.stateNode=f0(n,l.type,l.memoizedProps,l):wi(n,l.type,l.stateNode):l.stateNode=Ii(n,a,l.memoizedProps):t!==a?(t===null?u.stateNode!==null&&oi(u.stateNode):ki(t),a===null?wi(n,l.type,l.stateNode):Ii(n,a,l.memoizedProps)):a===null&&l.stateNode!==null&&We(l,l.memoizedProps,u.memoizedProps));break}case 27:if(vl&&t&4&&l.alternate===null){n=l.stateNode;var f=l.memoizedProps;try{v0(n),y0(l.type,f,n,l)}catch(d){b(l,l.return,d)}}case 5:if(_l(a,l),Dl(l),t&512&&(k||u===null||Al(u,u.return)),ml){if(l.flags&32){a=l.stateNode;try{Ci(a)}catch(d){b(l,l.return,d)}}t&4&&l.stateNode!=null&&(a=l.memoizedProps,We(l,a,u!==null?u.memoizedProps:a)),t&1024&&(fc=!0)}break;case 6:if(_l(a,l),Dl(l),t&4&&ml){if(l.stateNode===null)throw Error(p(162));t=l.memoizedProps,u=u!==null?u.memoizedProps:t,a=l.stateNode;try{M1(a,u,t)}catch(d){b(l,l.return,d)}}break;case 3:if(Zl?(e0(),n=kl,kl=Wf(a.containerInfo),_l(a,l),kl=n):_l(a,l),Dl(l),t&4){if(ml&&Xl&&u!==null&&u.memoizedState.isDehydrated)try{r1(a.containerInfo)}catch(d){b(l,l.return,d)}if(Xa){t=a.containerInfo,u=a.pendingChildren;try{gi(t,u)}catch(d){b(l,l.return,d)}}}fc&&(fc=!1,oe(l));break;case 4:Zl?(u=kl,kl=Wf(l.stateNode.containerInfo),_l(a,l),Dl(l),kl=u):(_l(a,l),Dl(l)),t&4&&Xa&&Pe(l.stateNode,l,l.stateNode.pendingChildren);break;case 12:_l(a,l),Dl(l);break;case 13:_l(a,l),Dl(l),l.child.flags&8192&&l.memoizedState!==null!=(u!==null&&u.memoizedState!==null)&&(mc=$l()),t&4&&(t=l.updateQueue,t!==null&&(l.updateQueue=null,Nf(l,t)));break;case 22:t&512&&(k||u===null||Al(u,u.return)),n=l.memoizedState!==null;var c=u!==null&&u.memoizedState!==null,e=Na,v=k;if(Na=e||n,k=v||c,_l(a,l),k=v,Na=e,Dl(l),a=l.stateNode,a._current=l,a._visibility&=-3,a._visibility|=a._pendingVisibility&2,t&8192&&(a._visibility=n?a._visibility&-2:a._visibility|1,n&&(a=Na||k,u===null||c||a||Nu(l)),ml&&(l.memoizedProps===null||l.memoizedProps.mode!=="manual"))){l:if(u=null,ml)for(a=l;;){if(a.tag===5||Zl&&a.tag===26||vl&&a.tag===27){if(u===null){c=u=a;try{f=c.stateNode,n?R1(f):X1(c.stateNode,c.memoizedProps)}catch(d){b(c,c.return,d)}}}else if(a.tag===6){if(u===null){c=a;try{var E=c.stateNode;n?V1(E):Z1(E,c.memoizedProps)}catch(d){b(c,c.return,d)}}}else if((a.tag!==22&&a.tag!==23||a.memoizedState===null||a===l)&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===l)break l;for(;a.sibling===null;){if(a.return===null||a.return===l)break l;u===a&&(u=null),a=a.return}u===a&&(u=null),a.sibling.return=a.return,a=a.sibling}}t&4&&(t=l.updateQueue,t!==null&&(u=t.retryQueue,u!==null&&(t.retryQueue=null,Nf(l,u))));break;case 19:_l(a,l),Dl(l),t&4&&(t=l.updateQueue,t!==null&&(l.updateQueue=null,Nf(l,t)));break;case 21:break;default:_l(a,l),Dl(l)}}function Dl(l){var a=l.flags;if(a&2){try{if(ml&&(!vl||l.tag!==27)){l:{for(var u=l.return;u!==null;){if(Fe(u)){var t=u;break l}u=u.return}throw Error(p(160))}switch(t.tag){case 27:if(vl){var n=t.stateNode,f=pf(l);$t(l,f,n);break}case 5:var c=t.stateNode;t.flags&32&&(Ci(c),t.flags&=-33);var e=pf(l);$t(l,e,c);break;case 3:case 4:var v=t.stateNode.containerInfo,E=pf(l);zf(l,E,v);break;default:throw Error(p(161))}}}catch(d){b(l,l.return,d)}l.flags&=-3}a&4096&&(l.flags&=-4097)}function oe(l){if(l.subtreeFlags&1024)for(l=l.child;l!==null;){var a=l;oe(a),a.tag===5&&a.flags&1024&&z1(a.stateNode),l=l.sibling}}function ya(l,a){if(a.subtreeFlags&8772)for(a=a.child;a!==null;)$e(l,a.alternate,a),a=a.sibling}function Nu(l){for(l=l.child;l!==null;){var a=l;switch(a.tag){case 0:case 11:case 14:case 15:Ya(4,a,a.return),Nu(a);break;case 1:Al(a,a.return);var u=a.stateNode;typeof u.componentWillUnmount=="function"&&xe(a,a.return,u),Nu(a);break;case 26:case 27:case 5:Al(a,a.return),Nu(a);break;case 22:Al(a,a.return),a.memoizedState===null&&Nu(a);break;default:Nu(a)}l=l.sibling}}function Ba(l,a,u){for(u=u&&(a.subtreeFlags&8772)!==0,a=a.child;a!==null;){var t=a.alternate,n=l,f=a,c=f.flags;switch(f.tag){case 0:case 11:case 15:Ba(n,f,u),nt(4,f);break;case 1:if(Ba(n,f,u),t=f,n=t.stateNode,typeof n.componentDidMount=="function")try{n.componentDidMount()}catch(E){b(t,t.return,E)}if(t=f,n=t.updateQueue,n!==null){var e=t.stateNode;try{var v=n.shared.hiddenCallbacks;if(v!==null)for(n.shared.hiddenCallbacks=null,n=0;n<v.length;n++)Yc(v[n],e)}catch(E){b(t,t.return,E)}}u&&c&64&&Le(f),wa(f,f.return);break;case 26:case 27:case 5:Ba(n,f,u),u&&t===null&&c&4&&se(f),wa(f,f.return);break;case 12:Ba(n,f,u);break;case 13:Ba(n,f,u),u&&c&4&&ke(n,f);break;case 22:f.memoizedState===null&&Ba(n,f,u),wa(f,f.return);break;default:Ba(n,f,u)}a=a.sibling}}function hf(l,a){var u=null;l!==null&&l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),l=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(l=a.memoizedState.cachePool.pool),l!==u&&(l!=null&&l.refCount++,u!=null&&ut(u))}function _f(l,a){l=null,a.alternate!==null&&(l=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==l&&(a.refCount++,l!=null&&ut(l))}function Ga(l,a,u,t){if(a.subtreeFlags&10256)for(a=a.child;a!==null;)re(l,a,u,t),a=a.sibling}function re(l,a,u,t){var n=a.flags;switch(a.tag){case 0:case 11:case 15:Ga(l,a,u,t),n&2048&&nt(9,a);break;case 3:Ga(l,a,u,t),n&2048&&(l=null,a.alternate!==null&&(l=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==l&&(a.refCount++,l!=null&&ut(l)));break;case 12:if(n&2048){Ga(l,a,u,t),l=a.stateNode;try{var f=a.memoizedProps,c=f.id,e=f.onPostCommit;typeof e=="function"&&e(c,a.alternate===null?"mount":"update",l.passiveEffectDuration,-0)}catch(v){b(a,a.return,v)}}else Ga(l,a,u,t);break;case 23:break;case 22:f=a.stateNode,a.memoizedState!==null?f._visibility&4?Ga(l,a,u,t):ft(l,a):f._visibility&4?Ga(l,a,u,t):(f._visibility|=4,hu(l,a,u,t,(a.subtreeFlags&10256)!==0)),n&2048&&hf(a.alternate,a);break;case 24:Ga(l,a,u,t),n&2048&&_f(a.alternate,a);break;default:Ga(l,a,u,t)}}function hu(l,a,u,t,n){for(n=n&&(a.subtreeFlags&10256)!==0,a=a.child;a!==null;){var f=l,c=a,e=u,v=t,E=c.flags;switch(c.tag){case 0:case 11:case 15:hu(f,c,e,v,n),nt(8,c);break;case 23:break;case 22:var d=c.stateNode;c.memoizedState!==null?d._visibility&4?hu(f,c,e,v,n):ft(f,c):(d._visibility|=4,hu(f,c,e,v,n)),n&&E&2048&&hf(c.alternate,c);break;case 24:hu(f,c,e,v,n),n&&E&2048&&_f(c.alternate,c);break;default:hu(f,c,e,v,n)}a=a.sibling}}function ft(l,a){if(a.subtreeFlags&10256)for(a=a.child;a!==null;){var u=l,t=a,n=t.flags;switch(t.tag){case 22:ft(u,t),n&2048&&hf(t.alternate,t);break;case 24:ft(u,t),n&2048&&_f(t.alternate,t);break;default:ft(u,t)}a=a.sibling}}function oa(l){if(l.subtreeFlags&Cu)for(l=l.child;l!==null;)li(l),l=l.sibling}function li(l){switch(l.tag){case 26:oa(l),l.flags&Cu&&(l.memoizedState!==null?m0(kl,l.memoizedState,l.memoizedProps):ji(l.type,l.memoizedProps));break;case 5:oa(l),l.flags&Cu&&ji(l.type,l.memoizedProps);break;case 3:case 4:if(Zl){var a=kl;kl=Wf(l.stateNode.containerInfo),oa(l),kl=a}else oa(l);break;case 22:l.memoizedState===null&&(a=l.alternate,a!==null&&a.memoizedState!==null?(a=Cu,Cu=16777216,oa(l),Cu=a):oa(l));break;default:oa(l)}}function ai(l){var a=l.alternate;if(a!==null&&(l=a.child,l!==null)){a.child=null;do a=l.sibling,l.sibling=null,l=a;while(l!==null)}}function ct(l){var a=l.deletions;if((l.flags&16)!==0){if(a!==null)for(var u=0;u<a.length;u++){var t=a[u];nl=t,ti(t,l)}ai(l)}if(l.subtreeFlags&10256)for(l=l.child;l!==null;)ui(l),l=l.sibling}function ui(l){switch(l.tag){case 0:case 11:case 15:ct(l),l.flags&2048&&Ya(9,l,l.return);break;case 3:ct(l);break;case 12:ct(l);break;case 22:var a=l.stateNode;l.memoizedState!==null&&a._visibility&4&&(l.return===null||l.return.tag!==13)?(a._visibility&=-5,It(l)):ct(l);break;default:ct(l)}}function It(l){var a=l.deletions;if((l.flags&16)!==0){if(a!==null)for(var u=0;u<a.length;u++){var t=a[u];nl=t,ti(t,l)}ai(l)}for(l=l.child;l!==null;){switch(a=l,a.tag){case 0:case 11:case 15:Ya(8,a,a.return),It(a);break;case 22:u=a.stateNode,u._visibility&4&&(u._visibility&=-5,It(a));break;default:It(a)}l=l.sibling}}function ti(l,a){for(;nl!==null;){var u=nl;switch(u.tag){case 0:case 11:case 15:Ya(8,u,a);break;case 23:case 22:if(u.memoizedState!==null&&u.memoizedState.cachePool!==null){var t=u.memoizedState.cachePool.pool;t!=null&&t.refCount++}break;case 24:ut(u.memoizedState.cache)}if(t=u.child,t!==null)t.return=u,nl=t;else l:for(u=l;nl!==null;){t=nl;var n=t.sibling,f=t.return;if(Ie(t),t===u){nl=null;break l}if(n!==null){n.return=f,nl=n;break l}nl=f}}}function Tf(l){var a=Xi(l);if(a!=null){if(typeof a.memoizedProps["data-testname"]!="string")throw Error(p(364));return a}if(l=h1(l),l===null)throw Error(p(362));return l.stateNode.current}function Hf(l,a){var u=l.tag;switch(a.$$typeof){case zn:if(l.type===a.value)return!0;break;case dn:l:{for(a=a.value,l=[l,0],u=0;u<l.length;){var t=l[u++],n=t.tag,f=l[u++],c=a[f];if(n!==5&&n!==26&&n!==27||!mt(t)){for(;c!=null&&Hf(t,c);)f++,c=a[f];if(f===a.length){a=!0;break l}else for(t=t.child;t!==null;)l.push(t,f),t=t.sibling}}a=!1}return a;case Nn:if((u===5||u===26||u===27)&&H1(l.stateNode,a.value))return!0;break;case _n:if((u===5||u===6||u===26||u===27)&&(l=T1(l),l!==null&&0<=l.indexOf(a.value)))return!0;break;case hn:if((u===5||u===26||u===27)&&(l=l.memoizedProps["data-testname"],typeof l=="string"&&l.toLowerCase()===a.value.toLowerCase()))return!0;break;default:throw Error(p(365))}return!1}function Uf(l){switch(l.$$typeof){case zn:return"<"+(dl(l.value)||"Unknown")+">";case dn:return":has("+(Uf(l)||"")+")";case Nn:return'[role="'+l.value+'"]';case _n:return'"'+l.value+'"';case hn:return'[data-testname="'+l.value+'"]';default:throw Error(p(365))}}function ni(l,a){var u=[];l=[l,0];for(var t=0;t<l.length;){var n=l[t++],f=n.tag,c=l[t++],e=a[c];if(f!==5&&f!==26&&f!==27||!mt(n)){for(;e!=null&&Hf(n,e);)c++,e=a[c];if(c===a.length)u.push(n);else for(n=n.child;n!==null;)l.push(n,c),n=n.sibling}}return u}function Of(l,a){if(!it)throw Error(p(363));l=Tf(l),l=ni(l,a),a=[],l=Array.from(l);for(var u=0;u<l.length;){var t=l[u++],n=t.tag;if(n===5||n===26||n===27)mt(t)||a.push(t.stateNode);else for(t=t.child;t!==null;)l.push(t),t=t.sibling}return a}function Ml(){if((g&2)!==0&&R!==0)return R&-R;if(D.T!==null){var l=Gu;return l!==0?l:Yn()}return m1()}function fi(){gl===0&&(gl=(R&536870912)===0||V?xu():536870912);var l=Jl.current;return l!==null&&(l.flags|=32),gl}function pl(l,a,u){(l===W&&F===2||l.cancelPendingCommit!==null)&&(_u(l,0),Sa(l,R,gl,!1)),Ha(l,u),((g&2)===0||l!==W)&&(l===W&&((g&2)===0&&(vu|=u),w===4&&Sa(l,R,gl,!1)),la(l))}function ci(l,a,u){if((g&6)!==0)throw Error(p(327));var t=!u&&(a&60)===0&&(a&l.expiredLanes)===0||Ta(l,a),n=t?bm(l,a):qf(l,a,!0),f=t;do{if(n===0){bu&&!t&&Sa(l,a,0,!1);break}else if(n===6)Sa(l,a,0,!ha);else{if(u=l.current.alternate,f&&!jm(u)){n=qf(l,a,!1),f=!1;continue}if(n===2){if(f=a,l.errorRecoveryDisabledLanes&f)var c=0;else c=l.pendingLanes&-536870913,c=c!==0?c:c&536870912?536870912:0;if(c!==0){a=c;l:{var e=l;n=Nt;var v=Xl&&e.current.memoizedState.isDehydrated;if(v&&(_u(e,c).flags|=256),c=qf(e,c,!1),c!==2){if(cc&&!v){e.errorRecoveryDisabledLanes|=f,vu|=f,n=4;break l}f=na,na=n,f!==null&&Af(f)}n=c}if(f=!1,n!==2)continue}}if(n===1){_u(l,0),Sa(l,a,0,!0);break}l:{switch(t=l,n){case 0:case 1:throw Error(p(345));case 4:if((a&4194176)===a){Sa(t,a,gl,!ha);break l}break;case 2:na=null;break;case 3:case 5:break;default:throw Error(p(329))}if(t.finishedWork=u,t.finishedLanes=a,(a&62914560)===a&&(f=mc+300-$l(),10<f)){if(Sa(t,a,gl,!ha),rl(t,0)!==0)break l;t.timeoutHandle=c1(ei.bind(null,t,u,na,Tn,ic,a,gl,vu,Ju,ha,2,-0,0),f);break l}ei(t,u,na,Tn,ic,a,gl,vu,Ju,ha,0,-0,0)}}break}while(!0);la(l)}function Af(l){na===null?na=l:na.push.apply(na,l)}function ei(l,a,u,t,n,f,c,e,v,E,d,N,h){var q=a.subtreeFlags;if((q&8192||(q&16785408)===16785408)&&(E1(),li(a),a=p1(),a!==null)){l.cancelPendingCommit=a(di.bind(null,l,u,t,n,c,e,v,1,N,h)),Sa(l,f,c,!E);return}di(l,u,t,n,c,e,v,d,N,h)}function jm(l){for(var a=l;;){var u=a.tag;if((u===0||u===11||u===15)&&a.flags&16384&&(u=a.updateQueue,u!==null&&(u=u.stores,u!==null)))for(var t=0;t<u.length;t++){var n=u[t],f=n.getSnapshot;n=n.value;try{if(!Bl(f(),n))return!1}catch{return!1}}if(u=a.child,a.subtreeFlags&16384&&u!==null)u.return=a,a=u;else{if(a===l)break;for(;a.sibling===null;){if(a.return===null||a.return===l)return!0;a=a.return}a.sibling.return=a.return,a=a.sibling}}return!0}function Sa(l,a,u,t){a&=~ec,a&=~vu,l.suspendedLanes|=a,l.pingedLanes&=~a,t&&(l.warmLanes|=a),t=l.expirationTimes;for(var n=a;0<n;){var f=31-Ql(n),c=1<<f;t[f]=-1,n&=~c}u!==0&&Wa(l,u,a)}function ii(){return(g&6)===0?(zu(0,!1),!1):!0}function Df(){if(G!==null){if(F===0)var l=G.return;else l=G,da=iu=null,bn(l),Vu=null,pt=0,l=G;for(;l!==null;)ge(l.alternate,l),l=l.return;G=null}}function _u(l,a){l.finishedWork=null,l.finishedLanes=0;var u=l.timeoutHandle;u!==Lf&&(l.timeoutHandle=Lf,e1(u)),u=l.cancelPendingCommit,u!==null&&(l.cancelPendingCommit=null,u()),Df(),W=l,G=u=Ka(l.current,null),R=a,F=0,Kl=null,ha=!1,bu=Ta(l,a),cc=!1,Ju=gl=ec=vu=Ja=w=0,na=Nt=null,ic=!1,(a&8)!==0&&(a|=a&32);var t=l.entangledLanes;if(t!==0)for(l=l.entanglements,t&=a;0<t;){var n=31-Ql(t),f=1<<n;a|=l[n],t&=~f}return _a=a,Bt(),u}function mi(l,a){Y=null,D.H=ta,a===Et?(a=Rc(),F=3):a===ac?(a=Rc(),F=4):F=a===cm?8:a!==null&&typeof a=="object"&&typeof a.then=="function"?6:1,Kl=a,G===null&&(w=1,xt(l,K(a,l.current)))}function vi(){var l=Jl.current;return l===null?!0:(R&4194176)===R?ua===null:(R&62914560)===R||(R&536870912)!==0?l===ua:!1}function yi(){var l=D.H;return D.H=ta,l===null?ta:l}function Si(){var l=D.A;return D.A=M0,l}function Mf(){w=4,ha||(R&4194176)!==R&&Jl.current!==null||(bu=!0),(Ja&134217727)===0&&(vu&134217727)===0||W===null||Sa(W,R,gl,!1)}function qf(l,a,u){var t=g;g|=2;var n=yi(),f=Si();(W!==l||R!==a)&&(Tn=null,_u(l,a)),a=!1;var c=w;l:do try{if(F!==0&&G!==null){var e=G,v=Kl;switch(F){case 8:Df(),c=6;break l;case 3:case 2:case 6:Jl.current===null&&(a=!0);var E=F;if(F=0,Kl=null,Tu(l,e,v,E),u&&bu){c=0;break l}break;default:E=F,F=0,Kl=null,Tu(l,e,v,E)}}Cm(),c=w;break}catch(d){mi(l,d)}while(!0);return a&&l.shellSuspendCounter++,da=iu=null,g=t,D.H=n,D.A=f,G===null&&(W=null,R=0,Bt()),c}function Cm(){for(;G!==null;)Ei(G)}function bm(l,a){var u=g;g|=2;var t=yi(),n=Si();W!==l||R!==a?(Tn=null,ht=$l()+500,_u(l,a)):bu=Ta(l,a);l:do try{if(F!==0&&G!==null){a=G;var f=Kl;a:switch(F){case 1:F=0,Kl=null,Tu(l,a,f,1);break;case 2:if(Gc(f)){F=0,Kl=null,pi(a);break}a=function(){F===2&&W===l&&(F=7),la(l)},f.then(a,a);break l;case 3:F=7;break l;case 4:F=5;break l;case 7:Gc(f)?(F=0,Kl=null,pi(a)):(F=0,Kl=null,Tu(l,a,f,7));break;case 5:var c=null;switch(G.tag){case 26:c=G.memoizedState;case 5:case 27:var e=G,v=e.type,E=e.pendingProps;if(c?ri(c):Zi(v,E)){F=0,Kl=null;var d=e.sibling;if(d!==null)G=d;else{var N=e.return;N!==null?(G=N,kt(N)):G=null}break a}}F=0,Kl=null,Tu(l,a,f,5);break;case 6:F=0,Kl=null,Tu(l,a,f,6);break;case 8:Df(),w=6;break l;default:throw Error(p(462))}}Jm();break}catch(h){mi(l,h)}while(!0);return da=iu=null,D.H=t,D.A=n,g=u,G!==null?0:(W=null,R=0,Bt(),w)}function Jm(){for(;G!==null&&!z0();)Ei(G)}function Ei(l){var a=Ve(l.alternate,l,_a);l.memoizedProps=l.pendingProps,a===null?kt(l):G=a}function pi(l){var a=l,u=a.alternate;switch(a.tag){case 15:case 0:a=Qe(u,a,a.pendingProps,a.type,void 0,R);break;case 11:a=Qe(u,a,a.pendingProps,a.type.render,a.ref,R);break;case 5:bn(a);default:ge(u,a),a=G=Ti(a,_a),a=Ve(u,a,_a)}l.memoizedProps=l.pendingProps,a===null?kt(l):G=a}function Tu(l,a,u,t){da=iu=null,bn(a),Vu=null,pt=0;var n=a.return;try{if(Gm(l,n,a,u,R)){w=1,xt(l,K(u,l.current)),G=null;return}}catch(f){if(n!==null)throw G=n,f;w=1,xt(l,K(u,l.current)),G=null;return}a.flags&32768?(V||t===1?l=!0:bu||(R&536870912)!==0?l=!1:(ha=l=!0,(t===2||t===3||t===6)&&(t=Jl.current,t!==null&&t.tag===13&&(t.flags|=16384))),zi(a,l)):kt(a)}function kt(l){var a=l;do{if((a.flags&32768)!==0){zi(a,ha);return}l=a.return;var u=Rm(a.alternate,a,_a);if(u!==null){G=u;return}if(a=a.sibling,a!==null){G=a;return}G=a=l}while(a!==null);w===0&&(w=5)}function zi(l,a){do{var u=Vm(l.alternate,l);if(u!==null){u.flags&=32767,G=u;return}if(u=l.return,u!==null&&(u.flags|=32768,u.subtreeFlags=0,u.deletions=null),!a&&(l=l.sibling,l!==null)){G=l;return}G=l=u}while(l!==null);w=6,G=null}function di(l,a,u,t,n,f,c,e,v,E){var d=D.T,N=au();try{Tl(2),D.T=null,gm(l,a,u,t,N,n,f,c,e,v,E)}finally{D.T=d,Tl(N)}}function gm(l,a,u,t,n,f,c,e){do ra();while(yu!==null);if((g&6)!==0)throw Error(p(327));var v=l.finishedWork;if(t=l.finishedLanes,v===null)return null;if(l.finishedWork=null,l.finishedLanes=0,v===l.current)throw Error(p(177));l.callbackNode=null,l.callbackPriority=0,l.cancelPendingCommit=null;var E=v.lanes|v.childLanes;if(E|=kf,qt(l,t,E,f,c,e),l===W&&(G=W=null,R=0),(v.subtreeFlags&10256)===0&&(v.flags&10256)===0||Hn||(Hn=!0,vc=E,yc=u,Wm($f,function(){return ra(!0),null})),u=(v.flags&15990)!==0,(v.subtreeFlags&15990)!==0||u?(u=D.T,D.T=null,f=au(),Tl(2),c=g,g|=4,Xm(l,v),we(v,l),n1(l.containerInfo),l.current=v,$e(l,v.alternate,v),d0(),g=c,Tl(f),D.T=u):l.current=v,Hn?(Hn=!1,yu=l,_t=t):Ni(l,E),E=l.pendingLanes,E===0&&(ga=null),_(v.stateNode,n),la(l),a!==null)for(n=l.onRecoverableError,v=0;v<a.length;v++)E=a[v],n(E.value,{componentStack:E.stack});return(_t&3)!==0&&ra(),E=l.pendingLanes,(t&4194218)!==0&&(E&42)!==0?l===Sc?Tt++:(Tt=0,Sc=l):Tt=0,zu(0,!1),null}function Ni(l,a){(l.pooledCacheLanes&=a)===0&&(a=l.pooledCache,a!=null&&(l.pooledCache=null,ut(a)))}function ra(){if(yu!==null){var l=yu,a=vc;vc=0;var u=Qt(_t),t=32>u?32:u;u=D.T;var n=au();try{if(Tl(t),D.T=null,yu===null)var f=!1;else{t=yc,yc=null;var c=yu,e=_t;if(yu=null,_t=0,(g&6)!==0)throw Error(p(331));var v=g;if(g|=4,ui(c.current),re(c,c.current,e,t),g=v,zu(0,!1),Yl&&typeof Yl.onPostCommitFiberRoot=="function")try{Yl.onPostCommitFiberRoot(vt,c)}catch{}f=!0}return f}finally{Tl(n),D.T=u,Ni(l,a)}}return!1}function hi(l,a,u){a=K(u,a),a=wn(l.stateNode,a,2),l=Da(l,a,2),l!==null&&(Ha(l,2),la(l))}function b(l,a,u){if(l.tag===3)hi(l,l,u);else for(;a!==null;){if(a.tag===3){hi(a,l,u);break}else if(a.tag===1){var t=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof t.componentDidCatch=="function"&&(ga===null||!ga.has(t))){l=K(u,l),u=He(2),t=Da(a,u,2),t!==null&&(Ue(u,t,a,l),Ha(t,2),la(t));break}}a=a.return}}function Qf(l,a,u){var t=l.pingCache;if(t===null){t=l.pingCache=new q0;var n=new Set;t.set(a,n)}else n=t.get(a),n===void 0&&(n=new Set,t.set(a,n));n.has(u)||(cc=!0,n.add(u),l=Lm.bind(null,l,a,u),a.then(l,l))}function Lm(l,a,u){var t=l.pingCache;t!==null&&t.delete(a),l.pingedLanes|=l.suspendedLanes&u,l.warmLanes&=~u,W===l&&(R&u)===u&&(w===4||w===3&&(R&62914560)===R&&300>$l()-mc?(g&2)===0&&_u(l,0):ec|=u,Ju===R&&(Ju=0)),la(l)}function _i(l,a){a===0&&(a=sa()),l=Oa(l,a),l!==null&&(Ha(l,a),la(l))}function xm(l){var a=l.memoizedState,u=0;a!==null&&(u=a.retryLane),_i(l,u)}function sm(l,a){var u=0;switch(l.tag){case 13:var t=l.stateNode,n=l.memoizedState;n!==null&&(u=n.retryLane);break;case 19:t=l.stateNode;break;case 22:t=l.stateNode._retryCache;break;default:throw Error(p(314))}t!==null&&t.delete(a),_i(l,u)}function Wm(l,a){return tn(l,a)}function Fm(l,a,u,t){this.tag=l,this.key=u,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=t,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Yf(l){return l=l.prototype,!(!l||!l.isReactComponent)}function Ka(l,a){var u=l.alternate;return u===null?(u=T(l.tag,a,l.key,l.mode),u.elementType=l.elementType,u.type=l.type,u.stateNode=l.stateNode,u.alternate=l,l.alternate=u):(u.pendingProps=a,u.type=l.type,u.flags=0,u.subtreeFlags=0,u.deletions=null),u.flags=l.flags&31457280,u.childLanes=l.childLanes,u.lanes=l.lanes,u.child=l.child,u.memoizedProps=l.memoizedProps,u.memoizedState=l.memoizedState,u.updateQueue=l.updateQueue,a=l.dependencies,u.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},u.sibling=l.sibling,u.index=l.index,u.ref=l.ref,u.refCleanup=l.refCleanup,u}function Ti(l,a){l.flags&=31457282;var u=l.alternate;return u===null?(l.childLanes=0,l.lanes=a,l.child=null,l.subtreeFlags=0,l.memoizedProps=null,l.memoizedState=null,l.updateQueue=null,l.dependencies=null,l.stateNode=null):(l.childLanes=u.childLanes,l.lanes=u.lanes,l.child=u.child,l.subtreeFlags=0,l.deletions=null,l.memoizedProps=u.memoizedProps,l.memoizedState=u.memoizedState,l.updateQueue=u.updateQueue,l.type=u.type,a=u.dependencies,l.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext}),l}function wt(l,a,u,t,n,f){var c=0;if(t=l,typeof l=="function")Yf(l)&&(c=1);else if(typeof l=="string")c=Zl&&vl?Pi(l,u,el.current)?26:am(l)?27:5:Zl?Pi(l,u,el.current)?26:5:vl&&am(l)?27:5;else l:switch(l){case Uu:return lu(u.children,n,f,a);case qi:c=8,n|=24;break;case Vf:return l=T(12,u,a,n|2),l.elementType=Vf,l.lanes=f,l;case Zf:return l=T(13,u,a,n),l.elementType=Zf,l.lanes=f,l;case jf:return l=T(19,u,a,n),l.elementType=jf,l.lanes=f,l;case Yi:return Hi(u,n,f,a);default:if(typeof l=="object"&&l!==null)switch(l.$$typeof){case km:case Ra:c=10;break l;case Qi:c=9;break l;case Xf:c=11;break l;case Cf:c=14;break l;case Va:c=16,t=null;break l}c=29,u=Error(p(130,l===null?"null":typeof l,"")),t=null}return a=T(c,u,a,n),a.elementType=l,a.type=t,a.lanes=f,a}function lu(l,a,u,t){return l=T(7,l,t,a),l.lanes=u,l}function Hi(l,a,u,t){l=T(22,l,t,a),l.elementType=Yi,l.lanes=u;var n={_visibility:1,_pendingVisibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null,_current:null,detach:function(){var f=n._current;if(f===null)throw Error(p(456));if((n._pendingVisibility&2)===0){var c=Oa(f,2);c!==null&&(n._pendingVisibility|=2,pl(c,f,2))}},attach:function(){var f=n._current;if(f===null)throw Error(p(456));if((n._pendingVisibility&2)!==0){var c=Oa(f,2);c!==null&&(n._pendingVisibility&=-3,pl(c,f,2))}}};return l.stateNode=n,l}function Bf(l,a,u){return l=T(6,l,null,a),l.lanes=u,l}function Gf(l,a,u){return a=T(4,l.children!==null?l.children:[],l.key,a),a.lanes=u,a.stateNode={containerInfo:l.containerInfo,pendingChildren:null,implementation:l.implementation},a}function Pm(l,a,u,t,n,f,c,e){this.tag=1,this.containerInfo=l,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Lf,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=ca(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.finishedLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ca(0),this.hiddenUpdates=ca(null),this.identifierPrefix=t,this.onUncaughtError=n,this.onCaughtError=f,this.onRecoverableError=c,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=e,this.incompleteTransitions=new Map}function Ui(l,a,u,t,n,f,c,e,v,E,d,N){return l=new Pm(l,a,u,c,e,v,E,N),a=1,f===!0&&(a|=24),f=T(3,null,null,a),l.current=f,f.stateNode=l,a=mf(),a.refCount++,l.pooledCache=a,a.refCount++,f.memoizedState={element:t,isDehydrated:u,cache:a},Bn(f),l}function Oi(l){return l?(l=Du,l):Du}function Ai(l){var a=l._reactInternals;if(a===void 0)throw typeof l.render=="function"?Error(p(188)):(l=Object.keys(l).join(","),Error(p(268,l)));return l=Dt(a),l=l!==null?Ul(l):null,l===null?null:et(l.stateNode)}function Di(l,a,u,t,n,f){n=Oi(n),t.context===null?t.context=n:t.pendingContext=n,t=Aa(a),t.payload={element:u},f=f===void 0?null:f,f!==null&&(t.callback=f),u=Da(l,t,a),u!==null&&(pl(u,l,a),$u(u,l,a))}function Mi(l,a){if(l=l.memoizedState,l!==null&&l.dehydrated!==null){var u=l.retryLane;l.retryLane=u!==0&&u<a?u:a}}function Kf(l,a){Mi(l,a),(l=l.alternate)&&Mi(l,a)}var B={},$m=require("react"),ql=Hm(),Rf=Object.assign,Im=Symbol.for("react.element"),ot=Symbol.for("react.transitional.element"),Hu=Symbol.for("react.portal"),Uu=Symbol.for("react.fragment"),qi=Symbol.for("react.strict_mode"),Vf=Symbol.for("react.profiler"),km=Symbol.for("react.provider"),Qi=Symbol.for("react.consumer"),Ra=Symbol.for("react.context"),Xf=Symbol.for("react.forward_ref"),Zf=Symbol.for("react.suspense"),jf=Symbol.for("react.suspense_list"),Cf=Symbol.for("react.memo"),Va=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var Yi=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.tracing_marker");var wm=Symbol.for("react.memo_cache_sentinel"),Bi=Symbol.iterator,om=Symbol.for("react.client.reference"),D=$m.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,bf,Gi,Jf=!1,rt=Array.isArray,rm=i.rendererVersion,l1=i.rendererPackageName,Ki=i.extraDevToolsConfig,et=i.getPublicInstance,a1=i.getRootHostContext,u1=i.getChildHostContext,t1=i.prepareForCommit,n1=i.resetAfterCommit,f1=i.createInstance,gf=i.appendInitialChild,Ri=i.finalizeInitialChildren,ln=i.shouldSetTextContent,Vi=i.createTextInstance,c1=i.scheduleTimeout,e1=i.cancelTimeout,Lf=i.noTimeout,Ea=i.isPrimaryRenderer;i.warnsIfNotActing;var ml=i.supportsMutation,Xa=i.supportsPersistence,Xl=i.supportsHydration,Xi=i.getInstanceFromNode;i.beforeActiveInstanceBlur,i.afterActiveInstanceBlur;var i1=i.preparePortalMount;i.prepareScopeUpdate,i.getInstanceFromScope;var Tl=i.setCurrentUpdatePriority,au=i.getCurrentUpdatePriority,m1=i.resolveUpdatePriority;i.resolveEventType,i.resolveEventTimeStamp;var v1=i.shouldAttemptEagerTransition,y1=i.detachDeletedInstance;i.requestPostPaintCallback;var S1=i.maySuspendCommit,Zi=i.preloadInstance,E1=i.startSuspendingCommit,ji=i.suspendInstance,p1=i.waitForCommitToBeReady,Ou=i.NotPendingTransition,uu=i.HostTransitionContext,z1=i.resetFormInstance;i.bindToConsole;var d1=i.supportsMicrotasks,N1=i.scheduleMicrotask,it=i.supportsTestSelectors,h1=i.findFiberRoot,_1=i.getBoundingRect,T1=i.getTextContent,mt=i.isHiddenSubtree,H1=i.matchAccessibilityRole,U1=i.setFocusIfFocusable,O1=i.setupIntersectionObserver,A1=i.appendChild,D1=i.appendChildToContainer,M1=i.commitTextUpdate,q1=i.commitMount,Q1=i.commitUpdate,Y1=i.insertBefore,B1=i.insertInContainerBefore,G1=i.removeChild,K1=i.removeChildFromContainer,Ci=i.resetTextContent,R1=i.hideInstance,V1=i.hideTextInstance,X1=i.unhideInstance,Z1=i.unhideTextInstance,j1=i.clearContainer,C1=i.cloneInstance,bi=i.createContainerChildSet,Ji=i.appendChildToContainerChildSet,b1=i.finalizeContainerChildren,gi=i.replaceContainerChildren,Li=i.cloneHiddenInstance,xi=i.cloneHiddenTextInstance,xf=i.isSuspenseInstancePending,sf=i.isSuspenseInstanceFallback,J1=i.getSuspenseInstanceFallbackErrorDetails,g1=i.registerSuspenseInstanceRetry,L1=i.canHydrateFormStateMarker,x1=i.isFormStateMarkerMatching,si=i.getNextHydratableSibling,Wi=i.getFirstHydratableChild,s1=i.getFirstHydratableChildWithinContainer,W1=i.getFirstHydratableChildWithinSuspenseInstance,F1=i.canHydrateInstance,P1=i.canHydrateTextInstance,$1=i.canHydrateSuspenseInstance,I1=i.hydrateInstance,k1=i.hydrateTextInstance,w1=i.hydrateSuspenseInstance,o1=i.getNextHydratableInstanceAfterSuspenseInstance,r1=i.commitHydratedContainer,l0=i.commitHydratedSuspenseInstance,a0=i.clearSuspenseBoundary,u0=i.clearSuspenseBoundaryFromContainer,Fi=i.shouldDeleteUnhydratedTailInstances;i.diffHydratedPropsForDevWarnings,i.diffHydratedTextForDevWarnings,i.describeHydratableInstanceForDevWarnings;var t0=i.validateHydratableInstance,n0=i.validateHydratableTextInstance,Zl=i.supportsResources,Pi=i.isHostHoistableType,Wf=i.getHoistableRoot,$i=i.getResource,Ii=i.acquireResource,ki=i.releaseResource,f0=i.hydrateHoistable,wi=i.mountHoistable,oi=i.unmountHoistable,c0=i.createHoistableInstance,e0=i.prepareToCommitHoistables,i0=i.mayResourceSuspendCommit,ri=i.preloadResource,m0=i.suspendResource,vl=i.supportsSingletons,lm=i.resolveSingletonInstance,v0=i.clearSingleton,y0=i.acquireSingletonInstance,S0=i.releaseSingletonInstance,am=i.isHostSingletonType,Ff=[],Au=-1,Du={},Ql=Math.clz32?Math.clz32:pu,E0=Math.log,p0=Math.LN2,an=128,un=4194304,tn=ql.unstable_scheduleCallback,Pf=ql.unstable_cancelCallback,z0=ql.unstable_shouldYield,d0=ql.unstable_requestPaint,$l=ql.unstable_now,um=ql.unstable_ImmediatePriority,N0=ql.unstable_UserBlockingPriority,$f=ql.unstable_NormalPriority,h0=ql.unstable_IdlePriority,_0=ql.log,T0=ql.unstable_setDisableYieldValue,vt=null,Yl=null,Bl=typeof Object.is=="function"?Object.is:Q,tm=new WeakMap,Mu=[],qu=0,nn=null,fn=0,jl=[],Cl=0,tu=null,pa=1,za="",el=Rl(null),yt=Rl(null),Za=Rl(null),cn=Rl(null),zl=null,yl=null,V=!1,Il=null,aa=!1,If=Error(p(519)),bl=[],Qu=0,kf=0,en=null,Yu=null,wf=!1,mn=!1,of=!1,Bu=0,St=null,rf=0,Gu=0,Ku=null,ja=!1,lc=!1,H0=Object.prototype.hasOwnProperty,Et=Error(p(460)),ac=Error(p(474)),vn={then:function(){}},Ru=null,Vu=null,pt=0,nu=Xc(!0),nm=Xc(!1),Xu=Rl(null),yn=Rl(0),Jl=Rl(null),ua=null,ul=Rl(0),Ca=0,Y=null,J=null,ll=null,Sn=!1,Zu=!1,fu=!1,En=0,zt=0,ju=null,U0=0,uc=function(){return{lastEffect:null,events:null,stores:null,memoCache:null}},ta={readContext:il,use:Ct,useCallback:o,useContext:o,useEffect:o,useImperativeHandle:o,useLayoutEffect:o,useInsertionEffect:o,useMemo:o,useReducer:o,useRef:o,useState:o,useDebugValue:o,useDeferredValue:o,useTransition:o,useSyncExternalStore:o,useId:o};ta.useCacheRefresh=o,ta.useMemoCache=o,ta.useHostTransitionStatus=o,ta.useFormState=o,ta.useActionState=o,ta.useOptimistic=o;var cu={readContext:il,use:Ct,useCallback:function(l,a){return hl().memoizedState=[l,a===void 0?null:a],l},useContext:il,useEffect:te,useImperativeHandle:function(l,a,u){u=u!=null?u.concat([l]):null,Jt(4194308,4,ce.bind(null,a,l),u)},useLayoutEffect:function(l,a){return Jt(4194308,4,l,a)},useInsertionEffect:function(l,a){Jt(4,2,l,a)},useMemo:function(l,a){var u=hl();a=a===void 0?null:a;var t=l();if(fu){A(!0);try{l()}finally{A(!1)}}return u.memoizedState=[t,a],t},useReducer:function(l,a,u){var t=hl();if(u!==void 0){var n=u(a);if(fu){A(!0);try{u(a)}finally{A(!1)}}}else n=a;return t.memoizedState=t.baseState=n,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:n},t.queue=l,l=l.dispatch=Bm.bind(null,Y,l),[t.memoizedState,l]},useRef:function(l){var a=hl();return l={current:l},a.memoizedState=l},useState:function(l){l=xn(l);var a=l.queue,u=ze.bind(null,Y,a);return a.dispatch=u,[l.memoizedState,u]},useDebugValue:Fn,useDeferredValue:function(l,a){var u=hl();return Pn(u,l,a)},useTransition:function(){var l=xn(!1);return l=ye.bind(null,Y,l.queue,!0,!1),hl().memoizedState=l,[!1,l]},useSyncExternalStore:function(l,a,u){var t=Y,n=hl();if(V){if(u===void 0)throw Error(p(407));u=u()}else{if(u=a(),W===null)throw Error(p(349));(R&60)!==0||gc(t,a,u)}n.memoizedState=u;var f={value:u,getSnapshot:a};return n.queue=f,te(xc.bind(null,t,f,l),[l]),t.flags|=2048,du(9,Lc.bind(null,t,f,u,a),{destroy:void 0},null),u},useId:function(){var l=hl(),a=W.identifierPrefix;if(V){var u=za,t=pa;u=(t&~(1<<32-Ql(t)-1)).toString(32)+u,a=":"+a+"R"+u,u=En++,0<u&&(a+="H"+u.toString(32)),a+=":"}else u=U0++,a=":"+a+"r"+u.toString(32)+":";return l.memoizedState=a},useCacheRefresh:function(){return hl().memoizedState=Ym.bind(null,Y)}};cu.useMemoCache=Jn,cu.useHostTransitionStatus=$n,cu.useFormState=oc,cu.useActionState=oc,cu.useOptimistic=function(l){var a=hl();a.memoizedState=a.baseState=l;var u={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return a.queue=u,a=In.bind(null,Y,!0,u),u.dispatch=a,[l,a]};var ba={readContext:il,use:Ct,useCallback:ie,useContext:il,useEffect:Wn,useImperativeHandle:ee,useInsertionEffect:ne,useLayoutEffect:fe,useMemo:me,useReducer:bt,useRef:ue,useState:function(){return bt(ia)},useDebugValue:Fn,useDeferredValue:function(l,a){var u=r();return ve(u,J.memoizedState,l,a)},useTransition:function(){var l=bt(ia)[0],a=r().memoizedState;return[typeof l=="boolean"?l:ou(l),a]},useSyncExternalStore:Jc,useId:Ee};ba.useCacheRefresh=pe,ba.useMemoCache=Jn,ba.useHostTransitionStatus=$n,ba.useFormState=rc,ba.useActionState=rc,ba.useOptimistic=function(l,a){var u=r();return Fc(u,J,l,a)};var eu={readContext:il,use:Ct,useCallback:ie,useContext:il,useEffect:Wn,useImperativeHandle:ee,useInsertionEffect:ne,useLayoutEffect:fe,useMemo:me,useReducer:Ln,useRef:ue,useState:function(){return Ln(ia)},useDebugValue:Fn,useDeferredValue:function(l,a){var u=r();return J===null?Pn(u,l,a):ve(u,J.memoizedState,l,a)},useTransition:function(){var l=Ln(ia)[0],a=r().memoizedState;return[typeof l=="boolean"?l:ou(l),a]},useSyncExternalStore:Jc,useId:Ee};eu.useCacheRefresh=pe,eu.useMemoCache=Jn,eu.useHostTransitionStatus=$n,eu.useFormState=ae,eu.useActionState=ae,eu.useOptimistic=function(l,a){var u=r();return J!==null?Fc(u,J,l,a):(u.baseState=l,[l,u.queue.dispatch])};var tc={isMounted:function(l){return(l=l._reactInternals)?gu(l)===l:!1},enqueueSetState:function(l,a,u){l=l._reactInternals;var t=Ml(),n=Aa(t);n.payload=a,u!=null&&(n.callback=u),a=Da(l,n,t),a!==null&&(pl(a,l,t),$u(a,l,t))},enqueueReplaceState:function(l,a,u){l=l._reactInternals;var t=Ml(),n=Aa(t);n.tag=1,n.payload=a,u!=null&&(n.callback=u),a=Da(l,n,t),a!==null&&(pl(a,l,t),$u(a,l,t))},enqueueForceUpdate:function(l,a){l=l._reactInternals;var u=Ml(),t=Aa(u);t.tag=2,a!=null&&(t.callback=a),a=Da(l,t,u),a!==null&&(pl(a,l,u),$u(a,l,u))}},fm=typeof reportError=="function"?reportError:function(l){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var a=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof l=="object"&&l!==null&&typeof l.message=="string"?String(l.message):String(l),error:l});if(!window.dispatchEvent(a))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",l);return}console.error(l)},cm=Error(p(461)),tl=!1,nc={dehydrated:null,treeContext:null,retryLane:0},pn=Rl(null),iu=null,da=null,O0=typeof AbortController<"u"?AbortController:function(){var l=[],a=this.signal={aborted:!1,addEventListener:function(u,t){l.push(t)}};this.abort=function(){a.aborted=!0,l.forEach(function(u){return u()})}},A0=ql.unstable_scheduleCallback,D0=ql.unstable_NormalPriority,I={$$typeof:Ra,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0},em=D.S;D.S=function(l,a){typeof a=="object"&&a!==null&&typeof a.then=="function"&&Am(l,a),em!==null&&em(l,a)};var mu=Rl(null),Na=!1,k=!1,fc=!1,im=typeof WeakSet=="function"?WeakSet:Set,nl=null,mm=!1,al=null,Gl=!1,kl=null,Cu=8192,M0={getCacheForType:function(l){var a=il(I),u=a.data.get(l);return u===void 0&&(u=l(),a.data.set(l,u)),u}},zn=0,dn=1,Nn=2,hn=3,_n=4;if(typeof Symbol=="function"&&Symbol.for){var dt=Symbol.for;zn=dt("selector.component"),dn=dt("selector.has_pseudo_class"),Nn=dt("selector.role"),hn=dt("selector.test_id"),_n=dt("selector.text")}var q0=typeof WeakMap=="function"?WeakMap:Map,g=0,W=null,G=null,R=0,F=0,Kl=null,ha=!1,bu=!1,cc=!1,_a=0,w=0,Ja=0,vu=0,ec=0,gl=0,Ju=0,Nt=null,na=null,ic=!1,mc=0,ht=1/0,Tn=null,ga=null,Hn=!1,yu=null,_t=0,vc=0,yc=null,Tt=0,Sc=null;return B.attemptContinuousHydration=function(l){if(l.tag===13){var a=Oa(l,67108864);a!==null&&pl(a,l,67108864),Kf(l,67108864)}},B.attemptHydrationAtCurrentPriority=function(l){if(l.tag===13){var a=Ml(),u=Oa(l,a);u!==null&&pl(u,l,a),Kf(l,a)}},B.attemptSynchronousHydration=function(l){switch(l.tag){case 3:if(l=l.stateNode,l.current.memoizedState.isDehydrated){var a=El(l.pendingLanes);if(a!==0){for(l.pendingLanes|=2,l.entangledLanes|=2;a;){var u=1<<31-Ql(a);l.entanglements[1]|=u,a&=~u}la(l),(g&6)===0&&(ht=$l()+500,zu(0,!1))}}break;case 13:a=Oa(l,2),a!==null&&pl(a,l,2),ii(),Kf(l,2)}},B.batchedUpdates=function(l,a){return l(a)},B.createComponentSelector=function(l){return{$$typeof:zn,value:l}},B.createContainer=function(l,a,u,t,n,f,c,e,v,E){return Ui(l,a,!1,null,u,t,f,c,e,v,E,null)},B.createHasPseudoClassSelector=function(l){return{$$typeof:dn,value:l}},B.createHydrationContainer=function(l,a,u,t,n,f,c,e,v,E,d,N,h){return l=Ui(u,t,!0,l,n,f,e,v,E,d,N,h),l.context=Oi(null),u=l.current,t=Ml(),n=Aa(t),n.callback=a??null,Da(u,n,t),l.current.lanes=t,Ha(l,t),la(l),l},B.createPortal=function(l,a,u){var t=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Hu,key:t==null?null:""+t,children:l,containerInfo:a,implementation:u}},B.createRoleSelector=function(l){return{$$typeof:Nn,value:l}},B.createTestNameSelector=function(l){return{$$typeof:hn,value:l}},B.createTextSelector=function(l){return{$$typeof:_n,value:l}},B.defaultOnCaughtError=function(l){console.error(l)},B.defaultOnRecoverableError=function(l){fm(l)},B.defaultOnUncaughtError=function(l){fm(l)},B.deferredUpdates=function(l){var a=D.T,u=au();try{return Tl(32),D.T=null,l()}finally{Tl(u),D.T=a}},B.discreteUpdates=function(l,a,u,t,n){var f=D.T,c=au();try{return Tl(2),D.T=null,l(a,u,t,n)}finally{Tl(c),D.T=f,g===0&&(ht=$l()+500)}},B.findAllNodes=Of,B.findBoundingRects=function(l,a){if(!it)throw Error(p(363));a=Of(l,a),l=[];for(var u=0;u<a.length;u++)l.push(_1(a[u]));for(a=l.length-1;0<a;a--){u=l[a];for(var t=u.x,n=t+u.width,f=u.y,c=f+u.height,e=a-1;0<=e;e--)if(a!==e){var v=l[e],E=v.x,d=E+v.width,N=v.y,h=N+v.height;if(t>=E&&f>=N&&n<=d&&c<=h){l.splice(a,1);break}else if(t!==E||u.width!==v.width||h<f||N>c){if(!(f!==N||u.height!==v.height||d<t||E>n)){E>t&&(v.width+=E-t,v.x=t),d<n&&(v.width=n-E),l.splice(a,1);break}}else{N>f&&(v.height+=N-f,v.y=f),h<c&&(v.height=c-N),l.splice(a,1);break}}}return l},B.findHostInstance=Ai,B.findHostInstanceWithNoPortals=function(l){return l=Dt(l),l=l!==null?Wl(l):null,l===null?null:et(l.stateNode)},B.findHostInstanceWithWarning=function(l){return Ai(l)},B.flushPassiveEffects=ra,B.flushSyncFromReconciler=function(l){var a=g;g|=1;var u=D.T,t=au();try{if(Tl(2),D.T=null,l)return l()}finally{Tl(t),D.T=u,g=a,(g&6)===0&&zu(0,!1)}},B.flushSyncWork=ii,B.focusWithin=function(l,a){if(!it)throw Error(p(363));for(l=Tf(l),a=ni(l,a),a=Array.from(a),l=0;l<a.length;){var u=a[l++],t=u.tag;if(!mt(u)){if((t===5||t===26||t===27)&&U1(u.stateNode))return!0;for(u=u.child;u!==null;)a.push(u),u=u.sibling}}return!1},B.getFindAllNodesFailureDescription=function(l,a){if(!it)throw Error(p(363));var u=0,t=[];l=[Tf(l),0];for(var n=0;n<l.length;){var f=l[n++],c=f.tag,e=l[n++],v=a[e];if((c!==5&&c!==26&&c!==27||!mt(f))&&(Hf(f,v)&&(t.push(Uf(v)),e++,e>u&&(u=e)),e<a.length))for(f=f.child;f!==null;)l.push(f,e),f=f.sibling}if(u<a.length){for(l=[];u<a.length;u++)l.push(Uf(a[u]));return`findAllNodes was able to match part of the selector: + `+(t.join(" > ")+` + +No matching component was found for: + `)+l.join(" > ")}return null},B.getPublicRootInstance=function(l){if(l=l.current,!l.child)return null;switch(l.child.tag){case 27:case 5:return et(l.child.stateNode);default:return l.child.stateNode}},B.injectIntoDevTools=function(){var l={bundleType:0,version:rm,rendererPackageName:l1,currentDispatcherRef:D,findFiberByHostInstance:Xi,reconcilerVersion:"19.0.0"};if(Ki!==null&&(l.rendererConfig=Ki),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")l=!1;else{var a=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(a.isDisabled||!a.supportsFiber)l=!0;else{try{vt=a.inject(l),Yl=a}catch{}l=!!a.checkDCE}}return l},B.isAlreadyRendering=function(){return!1},B.observeVisibleRects=function(l,a,u,t){if(!it)throw Error(p(363));l=Of(l,a);var n=O1(l,u,t).disconnect;return{disconnect:function(){n()}}},B.shouldError=function(){return null},B.shouldSuspend=function(){return!1},B.startHostTransition=function(l,a,u,t){if(l.tag!==5)throw Error(p(476));var n=Se(l).queue;ye(l,n,a,Ou,u===null?U:function(){var f=Se(l).next.queue;return ru(l,f,{},Ml()),u(t)})},B.updateContainer=function(l,a,u,t){var n=a.current,f=Ml();return Di(n,f,l,a,u,t),f},B.updateContainerSync=function(l,a,u,t){return a.tag===0&&ra(),Di(a.current,2,l,a,u,t),2},B};module.exports.default=module.exports;Object.defineProperty(module.exports,"__esModule",{value:!0}); +/*! Bundled license information: + +scheduler/cjs/scheduler.production.js: + (** + * @license React + * scheduler.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +scheduler/cjs/scheduler.development.js: + (** + * @license React + * scheduler.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-reconciler/cjs/react-reconciler.production.js: + (** + * @license React + * react-reconciler.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) +*/ diff --git a/.config/raycast/extensions/node_modules/react/index.js b/.config/raycast/extensions/node_modules/react/index.js @@ -0,0 +1,5 @@ +if (process.env.NODE_ENV === 'production') { + module.exports = require('./react.production'); +} else { + module.exports = require('./react.development'); +} diff --git a/.config/raycast/extensions/node_modules/react/jsx-dev-runtime.development.js b/.config/raycast/extensions/node_modules/react/jsx-dev-runtime.development.js @@ -0,0 +1,660 @@ +/** + * @license React + * react-jsx-dev-runtime.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +"use strict"; +"production" !== process.env.NODE_ENV && + (function () { + function getComponentNameFromType(type) { + if (null == type) return null; + if ("function" === typeof type) + return type.$$typeof === REACT_CLIENT_REFERENCE$2 + ? null + : type.displayName || type.name || null; + if ("string" === typeof type) return type; + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + } + if ("object" === typeof type) + switch ( + ("number" === typeof type.tag && + console.error( + "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." + ), + type.$$typeof) + ) { + case REACT_CONTEXT_TYPE: + return (type.displayName || "Context") + ".Provider"; + case REACT_CONSUMER_TYPE: + return (type._context.displayName || "Context") + ".Consumer"; + case REACT_FORWARD_REF_TYPE: + var innerType = type.render; + type = type.displayName; + type || + ((type = innerType.displayName || innerType.name || ""), + (type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef")); + return type; + case REACT_MEMO_TYPE: + return ( + (innerType = type.displayName || null), + null !== innerType + ? innerType + : getComponentNameFromType(type.type) || "Memo" + ); + case REACT_LAZY_TYPE: + innerType = type._payload; + type = type._init; + try { + return getComponentNameFromType(type(innerType)); + } catch (x) {} + } + return null; + } + function testStringCoercion(value) { + return "" + value; + } + function checkKeyStringCoercion(value) { + try { + testStringCoercion(value); + var JSCompiler_inline_result = !1; + } catch (e) { + JSCompiler_inline_result = !0; + } + if (JSCompiler_inline_result) { + JSCompiler_inline_result = console; + var JSCompiler_temp_const = JSCompiler_inline_result.error; + var JSCompiler_inline_result$jscomp$0 = + ("function" === typeof Symbol && + Symbol.toStringTag && + value[Symbol.toStringTag]) || + value.constructor.name || + "Object"; + JSCompiler_temp_const.call( + JSCompiler_inline_result, + "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", + JSCompiler_inline_result$jscomp$0 + ); + return testStringCoercion(value); + } + } + function disabledLog() {} + function disableLogs() { + if (0 === disabledDepth) { + prevLog = console.log; + prevInfo = console.info; + prevWarn = console.warn; + prevError = console.error; + prevGroup = console.group; + prevGroupCollapsed = console.groupCollapsed; + prevGroupEnd = console.groupEnd; + var props = { + configurable: !0, + enumerable: !0, + value: disabledLog, + writable: !0 + }; + Object.defineProperties(console, { + info: props, + log: props, + warn: props, + error: props, + group: props, + groupCollapsed: props, + groupEnd: props + }); + } + disabledDepth++; + } + function reenableLogs() { + disabledDepth--; + if (0 === disabledDepth) { + var props = { configurable: !0, enumerable: !0, writable: !0 }; + Object.defineProperties(console, { + log: assign({}, props, { value: prevLog }), + info: assign({}, props, { value: prevInfo }), + warn: assign({}, props, { value: prevWarn }), + error: assign({}, props, { value: prevError }), + group: assign({}, props, { value: prevGroup }), + groupCollapsed: assign({}, props, { value: prevGroupCollapsed }), + groupEnd: assign({}, props, { value: prevGroupEnd }) + }); + } + 0 > disabledDepth && + console.error( + "disabledDepth fell below zero. This is a bug in React. Please file an issue." + ); + } + function describeBuiltInComponentFrame(name) { + if (void 0 === prefix) + try { + throw Error(); + } catch (x) { + var match = x.stack.trim().match(/\n( *(at )?)/); + prefix = (match && match[1]) || ""; + suffix = + -1 < x.stack.indexOf("\n at") + ? " (<anonymous>)" + : -1 < x.stack.indexOf("@") + ? "@unknown:0:0" + : ""; + } + return "\n" + prefix + name + suffix; + } + function describeNativeComponentFrame(fn, construct) { + if (!fn || reentry) return ""; + var frame = componentFrameCache.get(fn); + if (void 0 !== frame) return frame; + reentry = !0; + frame = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + var previousDispatcher = null; + previousDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = null; + disableLogs(); + try { + var RunInRootFrame = { + DetermineComponentFrameRoot: function () { + try { + if (construct) { + var Fake = function () { + throw Error(); + }; + Object.defineProperty(Fake.prototype, "props", { + set: function () { + throw Error(); + } + }); + if ("object" === typeof Reflect && Reflect.construct) { + try { + Reflect.construct(Fake, []); + } catch (x) { + var control = x; + } + Reflect.construct(fn, [], Fake); + } else { + try { + Fake.call(); + } catch (x$0) { + control = x$0; + } + fn.call(Fake.prototype); + } + } else { + try { + throw Error(); + } catch (x$1) { + control = x$1; + } + (Fake = fn()) && + "function" === typeof Fake.catch && + Fake.catch(function () {}); + } + } catch (sample) { + if (sample && control && "string" === typeof sample.stack) + return [sample.stack, control.stack]; + } + return [null, null]; + } + }; + RunInRootFrame.DetermineComponentFrameRoot.displayName = + "DetermineComponentFrameRoot"; + var namePropDescriptor = Object.getOwnPropertyDescriptor( + RunInRootFrame.DetermineComponentFrameRoot, + "name" + ); + namePropDescriptor && + namePropDescriptor.configurable && + Object.defineProperty( + RunInRootFrame.DetermineComponentFrameRoot, + "name", + { value: "DetermineComponentFrameRoot" } + ); + var _RunInRootFrame$Deter = + RunInRootFrame.DetermineComponentFrameRoot(), + sampleStack = _RunInRootFrame$Deter[0], + controlStack = _RunInRootFrame$Deter[1]; + if (sampleStack && controlStack) { + var sampleLines = sampleStack.split("\n"), + controlLines = controlStack.split("\n"); + for ( + _RunInRootFrame$Deter = namePropDescriptor = 0; + namePropDescriptor < sampleLines.length && + !sampleLines[namePropDescriptor].includes( + "DetermineComponentFrameRoot" + ); + + ) + namePropDescriptor++; + for ( + ; + _RunInRootFrame$Deter < controlLines.length && + !controlLines[_RunInRootFrame$Deter].includes( + "DetermineComponentFrameRoot" + ); + + ) + _RunInRootFrame$Deter++; + if ( + namePropDescriptor === sampleLines.length || + _RunInRootFrame$Deter === controlLines.length + ) + for ( + namePropDescriptor = sampleLines.length - 1, + _RunInRootFrame$Deter = controlLines.length - 1; + 1 <= namePropDescriptor && + 0 <= _RunInRootFrame$Deter && + sampleLines[namePropDescriptor] !== + controlLines[_RunInRootFrame$Deter]; + + ) + _RunInRootFrame$Deter--; + for ( + ; + 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter; + namePropDescriptor--, _RunInRootFrame$Deter-- + ) + if ( + sampleLines[namePropDescriptor] !== + controlLines[_RunInRootFrame$Deter] + ) { + if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) { + do + if ( + (namePropDescriptor--, + _RunInRootFrame$Deter--, + 0 > _RunInRootFrame$Deter || + sampleLines[namePropDescriptor] !== + controlLines[_RunInRootFrame$Deter]) + ) { + var _frame = + "\n" + + sampleLines[namePropDescriptor].replace( + " at new ", + " at " + ); + fn.displayName && + _frame.includes("<anonymous>") && + (_frame = _frame.replace("<anonymous>", fn.displayName)); + "function" === typeof fn && + componentFrameCache.set(fn, _frame); + return _frame; + } + while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter); + } + break; + } + } + } finally { + (reentry = !1), + (ReactSharedInternals.H = previousDispatcher), + reenableLogs(), + (Error.prepareStackTrace = frame); + } + sampleLines = (sampleLines = fn ? fn.displayName || fn.name : "") + ? describeBuiltInComponentFrame(sampleLines) + : ""; + "function" === typeof fn && componentFrameCache.set(fn, sampleLines); + return sampleLines; + } + function describeUnknownElementTypeFrameInDEV(type) { + if (null == type) return ""; + if ("function" === typeof type) { + var prototype = type.prototype; + return describeNativeComponentFrame( + type, + !(!prototype || !prototype.isReactComponent) + ); + } + if ("string" === typeof type) return describeBuiltInComponentFrame(type); + switch (type) { + case REACT_SUSPENSE_TYPE: + return describeBuiltInComponentFrame("Suspense"); + case REACT_SUSPENSE_LIST_TYPE: + return describeBuiltInComponentFrame("SuspenseList"); + } + if ("object" === typeof type) + switch (type.$$typeof) { + case REACT_FORWARD_REF_TYPE: + return (type = describeNativeComponentFrame(type.render, !1)), type; + case REACT_MEMO_TYPE: + return describeUnknownElementTypeFrameInDEV(type.type); + case REACT_LAZY_TYPE: + prototype = type._payload; + type = type._init; + try { + return describeUnknownElementTypeFrameInDEV(type(prototype)); + } catch (x) {} + } + return ""; + } + function getOwner() { + var dispatcher = ReactSharedInternals.A; + return null === dispatcher ? null : dispatcher.getOwner(); + } + function hasValidKey(config) { + if (hasOwnProperty.call(config, "key")) { + var getter = Object.getOwnPropertyDescriptor(config, "key").get; + if (getter && getter.isReactWarning) return !1; + } + return void 0 !== config.key; + } + function defineKeyPropWarningGetter(props, displayName) { + function warnAboutAccessingKey() { + specialPropKeyWarningShown || + ((specialPropKeyWarningShown = !0), + console.error( + "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", + displayName + )); + } + warnAboutAccessingKey.isReactWarning = !0; + Object.defineProperty(props, "key", { + get: warnAboutAccessingKey, + configurable: !0 + }); + } + function elementRefGetterWithDeprecationWarning() { + var componentName = getComponentNameFromType(this.type); + didWarnAboutElementRef[componentName] || + ((didWarnAboutElementRef[componentName] = !0), + console.error( + "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." + )); + componentName = this.props.ref; + return void 0 !== componentName ? componentName : null; + } + function ReactElement(type, key, self, source, owner, props) { + self = props.ref; + type = { + $$typeof: REACT_ELEMENT_TYPE, + type: type, + key: key, + props: props, + _owner: owner + }; + null !== (void 0 !== self ? self : null) + ? Object.defineProperty(type, "ref", { + enumerable: !1, + get: elementRefGetterWithDeprecationWarning + }) + : Object.defineProperty(type, "ref", { enumerable: !1, value: null }); + type._store = {}; + Object.defineProperty(type._store, "validated", { + configurable: !1, + enumerable: !1, + writable: !0, + value: 0 + }); + Object.defineProperty(type, "_debugInfo", { + configurable: !1, + enumerable: !1, + writable: !0, + value: null + }); + Object.freeze && (Object.freeze(type.props), Object.freeze(type)); + return type; + } + function jsxDEVImpl( + type, + config, + maybeKey, + isStaticChildren, + source, + self + ) { + if ( + "string" === typeof type || + "function" === typeof type || + type === REACT_FRAGMENT_TYPE || + type === REACT_PROFILER_TYPE || + type === REACT_STRICT_MODE_TYPE || + type === REACT_SUSPENSE_TYPE || + type === REACT_SUSPENSE_LIST_TYPE || + type === REACT_OFFSCREEN_TYPE || + ("object" === typeof type && + null !== type && + (type.$$typeof === REACT_LAZY_TYPE || + type.$$typeof === REACT_MEMO_TYPE || + type.$$typeof === REACT_CONTEXT_TYPE || + type.$$typeof === REACT_CONSUMER_TYPE || + type.$$typeof === REACT_FORWARD_REF_TYPE || + type.$$typeof === REACT_CLIENT_REFERENCE$1 || + void 0 !== type.getModuleId)) + ) { + var children = config.children; + if (void 0 !== children) + if (isStaticChildren) + if (isArrayImpl(children)) { + for ( + isStaticChildren = 0; + isStaticChildren < children.length; + isStaticChildren++ + ) + validateChildKeys(children[isStaticChildren], type); + Object.freeze && Object.freeze(children); + } else + console.error( + "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead." + ); + else validateChildKeys(children, type); + } else { + children = ""; + if ( + void 0 === type || + ("object" === typeof type && + null !== type && + 0 === Object.keys(type).length) + ) + children += + " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."; + null === type + ? (isStaticChildren = "null") + : isArrayImpl(type) + ? (isStaticChildren = "array") + : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE + ? ((isStaticChildren = + "<" + + (getComponentNameFromType(type.type) || "Unknown") + + " />"), + (children = + " Did you accidentally export a JSX literal instead of a component?")) + : (isStaticChildren = typeof type); + console.error( + "React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", + isStaticChildren, + children + ); + } + if (hasOwnProperty.call(config, "key")) { + children = getComponentNameFromType(type); + var keys = Object.keys(config).filter(function (k) { + return "key" !== k; + }); + isStaticChildren = + 0 < keys.length + ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" + : "{key: someKey}"; + didWarnAboutKeySpread[children + isStaticChildren] || + ((keys = + 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}"), + console.error( + 'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', + isStaticChildren, + children, + keys, + children + ), + (didWarnAboutKeySpread[children + isStaticChildren] = !0)); + } + children = null; + void 0 !== maybeKey && + (checkKeyStringCoercion(maybeKey), (children = "" + maybeKey)); + hasValidKey(config) && + (checkKeyStringCoercion(config.key), (children = "" + config.key)); + if ("key" in config) { + maybeKey = {}; + for (var propName in config) + "key" !== propName && (maybeKey[propName] = config[propName]); + } else maybeKey = config; + children && + defineKeyPropWarningGetter( + maybeKey, + "function" === typeof type + ? type.displayName || type.name || "Unknown" + : type + ); + return ReactElement(type, children, self, source, getOwner(), maybeKey); + } + function validateChildKeys(node, parentType) { + if ( + "object" === typeof node && + node && + node.$$typeof !== REACT_CLIENT_REFERENCE + ) + if (isArrayImpl(node)) + for (var i = 0; i < node.length; i++) { + var child = node[i]; + isValidElement(child) && validateExplicitKey(child, parentType); + } + else if (isValidElement(node)) + node._store && (node._store.validated = 1); + else if ( + (null === node || "object" !== typeof node + ? (i = null) + : ((i = + (MAYBE_ITERATOR_SYMBOL && node[MAYBE_ITERATOR_SYMBOL]) || + node["@@iterator"]), + (i = "function" === typeof i ? i : null)), + "function" === typeof i && + i !== node.entries && + ((i = i.call(node)), i !== node)) + ) + for (; !(node = i.next()).done; ) + isValidElement(node.value) && + validateExplicitKey(node.value, parentType); + } + function isValidElement(object) { + return ( + "object" === typeof object && + null !== object && + object.$$typeof === REACT_ELEMENT_TYPE + ); + } + function validateExplicitKey(element, parentType) { + if ( + element._store && + !element._store.validated && + null == element.key && + ((element._store.validated = 1), + (parentType = getCurrentComponentErrorInfo(parentType)), + !ownerHasKeyUseWarning[parentType]) + ) { + ownerHasKeyUseWarning[parentType] = !0; + var childOwner = ""; + element && + null != element._owner && + element._owner !== getOwner() && + ((childOwner = null), + "number" === typeof element._owner.tag + ? (childOwner = getComponentNameFromType(element._owner.type)) + : "string" === typeof element._owner.name && + (childOwner = element._owner.name), + (childOwner = " It was passed a child from " + childOwner + ".")); + var prevGetCurrentStack = ReactSharedInternals.getCurrentStack; + ReactSharedInternals.getCurrentStack = function () { + var stack = describeUnknownElementTypeFrameInDEV(element.type); + prevGetCurrentStack && (stack += prevGetCurrentStack() || ""); + return stack; + }; + console.error( + 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.', + parentType, + childOwner + ); + ReactSharedInternals.getCurrentStack = prevGetCurrentStack; + } + } + function getCurrentComponentErrorInfo(parentType) { + var info = "", + owner = getOwner(); + owner && + (owner = getComponentNameFromType(owner.type)) && + (info = "\n\nCheck the render method of `" + owner + "`."); + info || + ((parentType = getComponentNameFromType(parentType)) && + (info = + "\n\nCheck the top-level render call using <" + parentType + ">.")); + return info; + } + var React = require("react"), + REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), + REACT_PORTAL_TYPE = Symbol.for("react.portal"), + REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), + REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), + REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + Symbol.for("react.provider"); + var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), + REACT_CONTEXT_TYPE = Symbol.for("react.context"), + REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), + REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), + REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), + REACT_MEMO_TYPE = Symbol.for("react.memo"), + REACT_LAZY_TYPE = Symbol.for("react.lazy"), + REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"), + MAYBE_ITERATOR_SYMBOL = Symbol.iterator, + REACT_CLIENT_REFERENCE$2 = Symbol.for("react.client.reference"), + ReactSharedInternals = + React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, + hasOwnProperty = Object.prototype.hasOwnProperty, + assign = Object.assign, + REACT_CLIENT_REFERENCE$1 = Symbol.for("react.client.reference"), + isArrayImpl = Array.isArray, + disabledDepth = 0, + prevLog, + prevInfo, + prevWarn, + prevError, + prevGroup, + prevGroupCollapsed, + prevGroupEnd; + disabledLog.__reactDisabledLog = !0; + var prefix, + suffix, + reentry = !1; + var componentFrameCache = new ( + "function" === typeof WeakMap ? WeakMap : Map + )(); + var REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), + specialPropKeyWarningShown; + var didWarnAboutElementRef = {}; + var didWarnAboutKeySpread = {}, + ownerHasKeyUseWarning = {}; + exports.Fragment = REACT_FRAGMENT_TYPE; + exports.jsxDEV = function ( + type, + config, + maybeKey, + isStaticChildren, + source, + self + ) { + return jsxDEVImpl(type, config, maybeKey, isStaticChildren, source, self); + }; + })(); diff --git a/.config/raycast/extensions/node_modules/react/jsx-dev-runtime.js b/.config/raycast/extensions/node_modules/react/jsx-dev-runtime.js @@ -0,0 +1,5 @@ +if (process.env.NODE_ENV === 'production') { + module.exports = require('./jsx-dev-runtime.production'); +} else { + module.exports = require('./jsx-dev-runtime.development'); +} diff --git a/.config/raycast/extensions/node_modules/react/jsx-dev-runtime.production.js b/.config/raycast/extensions/node_modules/react/jsx-dev-runtime.production.js @@ -0,0 +1,14 @@ +/** + * @license React + * react-jsx-dev-runtime.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +"use strict"; +var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); +exports.Fragment = REACT_FRAGMENT_TYPE; +exports.jsxDEV = void 0; diff --git a/.config/raycast/extensions/node_modules/react/jsx-runtime.development.js b/.config/raycast/extensions/node_modules/react/jsx-runtime.development.js @@ -0,0 +1,656 @@ +/** + * @license React + * react-jsx-runtime.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +"use strict"; +"production" !== process.env.NODE_ENV && + (function () { + function getComponentNameFromType(type) { + if (null == type) return null; + if ("function" === typeof type) + return type.$$typeof === REACT_CLIENT_REFERENCE$2 + ? null + : type.displayName || type.name || null; + if ("string" === typeof type) return type; + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + } + if ("object" === typeof type) + switch ( + ("number" === typeof type.tag && + console.error( + "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." + ), + type.$$typeof) + ) { + case REACT_CONTEXT_TYPE: + return (type.displayName || "Context") + ".Provider"; + case REACT_CONSUMER_TYPE: + return (type._context.displayName || "Context") + ".Consumer"; + case REACT_FORWARD_REF_TYPE: + var innerType = type.render; + type = type.displayName; + type || + ((type = innerType.displayName || innerType.name || ""), + (type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef")); + return type; + case REACT_MEMO_TYPE: + return ( + (innerType = type.displayName || null), + null !== innerType + ? innerType + : getComponentNameFromType(type.type) || "Memo" + ); + case REACT_LAZY_TYPE: + innerType = type._payload; + type = type._init; + try { + return getComponentNameFromType(type(innerType)); + } catch (x) {} + } + return null; + } + function testStringCoercion(value) { + return "" + value; + } + function checkKeyStringCoercion(value) { + try { + testStringCoercion(value); + var JSCompiler_inline_result = !1; + } catch (e) { + JSCompiler_inline_result = !0; + } + if (JSCompiler_inline_result) { + JSCompiler_inline_result = console; + var JSCompiler_temp_const = JSCompiler_inline_result.error; + var JSCompiler_inline_result$jscomp$0 = + ("function" === typeof Symbol && + Symbol.toStringTag && + value[Symbol.toStringTag]) || + value.constructor.name || + "Object"; + JSCompiler_temp_const.call( + JSCompiler_inline_result, + "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", + JSCompiler_inline_result$jscomp$0 + ); + return testStringCoercion(value); + } + } + function disabledLog() {} + function disableLogs() { + if (0 === disabledDepth) { + prevLog = console.log; + prevInfo = console.info; + prevWarn = console.warn; + prevError = console.error; + prevGroup = console.group; + prevGroupCollapsed = console.groupCollapsed; + prevGroupEnd = console.groupEnd; + var props = { + configurable: !0, + enumerable: !0, + value: disabledLog, + writable: !0 + }; + Object.defineProperties(console, { + info: props, + log: props, + warn: props, + error: props, + group: props, + groupCollapsed: props, + groupEnd: props + }); + } + disabledDepth++; + } + function reenableLogs() { + disabledDepth--; + if (0 === disabledDepth) { + var props = { configurable: !0, enumerable: !0, writable: !0 }; + Object.defineProperties(console, { + log: assign({}, props, { value: prevLog }), + info: assign({}, props, { value: prevInfo }), + warn: assign({}, props, { value: prevWarn }), + error: assign({}, props, { value: prevError }), + group: assign({}, props, { value: prevGroup }), + groupCollapsed: assign({}, props, { value: prevGroupCollapsed }), + groupEnd: assign({}, props, { value: prevGroupEnd }) + }); + } + 0 > disabledDepth && + console.error( + "disabledDepth fell below zero. This is a bug in React. Please file an issue." + ); + } + function describeBuiltInComponentFrame(name) { + if (void 0 === prefix) + try { + throw Error(); + } catch (x) { + var match = x.stack.trim().match(/\n( *(at )?)/); + prefix = (match && match[1]) || ""; + suffix = + -1 < x.stack.indexOf("\n at") + ? " (<anonymous>)" + : -1 < x.stack.indexOf("@") + ? "@unknown:0:0" + : ""; + } + return "\n" + prefix + name + suffix; + } + function describeNativeComponentFrame(fn, construct) { + if (!fn || reentry) return ""; + var frame = componentFrameCache.get(fn); + if (void 0 !== frame) return frame; + reentry = !0; + frame = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + var previousDispatcher = null; + previousDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = null; + disableLogs(); + try { + var RunInRootFrame = { + DetermineComponentFrameRoot: function () { + try { + if (construct) { + var Fake = function () { + throw Error(); + }; + Object.defineProperty(Fake.prototype, "props", { + set: function () { + throw Error(); + } + }); + if ("object" === typeof Reflect && Reflect.construct) { + try { + Reflect.construct(Fake, []); + } catch (x) { + var control = x; + } + Reflect.construct(fn, [], Fake); + } else { + try { + Fake.call(); + } catch (x$0) { + control = x$0; + } + fn.call(Fake.prototype); + } + } else { + try { + throw Error(); + } catch (x$1) { + control = x$1; + } + (Fake = fn()) && + "function" === typeof Fake.catch && + Fake.catch(function () {}); + } + } catch (sample) { + if (sample && control && "string" === typeof sample.stack) + return [sample.stack, control.stack]; + } + return [null, null]; + } + }; + RunInRootFrame.DetermineComponentFrameRoot.displayName = + "DetermineComponentFrameRoot"; + var namePropDescriptor = Object.getOwnPropertyDescriptor( + RunInRootFrame.DetermineComponentFrameRoot, + "name" + ); + namePropDescriptor && + namePropDescriptor.configurable && + Object.defineProperty( + RunInRootFrame.DetermineComponentFrameRoot, + "name", + { value: "DetermineComponentFrameRoot" } + ); + var _RunInRootFrame$Deter = + RunInRootFrame.DetermineComponentFrameRoot(), + sampleStack = _RunInRootFrame$Deter[0], + controlStack = _RunInRootFrame$Deter[1]; + if (sampleStack && controlStack) { + var sampleLines = sampleStack.split("\n"), + controlLines = controlStack.split("\n"); + for ( + _RunInRootFrame$Deter = namePropDescriptor = 0; + namePropDescriptor < sampleLines.length && + !sampleLines[namePropDescriptor].includes( + "DetermineComponentFrameRoot" + ); + + ) + namePropDescriptor++; + for ( + ; + _RunInRootFrame$Deter < controlLines.length && + !controlLines[_RunInRootFrame$Deter].includes( + "DetermineComponentFrameRoot" + ); + + ) + _RunInRootFrame$Deter++; + if ( + namePropDescriptor === sampleLines.length || + _RunInRootFrame$Deter === controlLines.length + ) + for ( + namePropDescriptor = sampleLines.length - 1, + _RunInRootFrame$Deter = controlLines.length - 1; + 1 <= namePropDescriptor && + 0 <= _RunInRootFrame$Deter && + sampleLines[namePropDescriptor] !== + controlLines[_RunInRootFrame$Deter]; + + ) + _RunInRootFrame$Deter--; + for ( + ; + 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter; + namePropDescriptor--, _RunInRootFrame$Deter-- + ) + if ( + sampleLines[namePropDescriptor] !== + controlLines[_RunInRootFrame$Deter] + ) { + if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) { + do + if ( + (namePropDescriptor--, + _RunInRootFrame$Deter--, + 0 > _RunInRootFrame$Deter || + sampleLines[namePropDescriptor] !== + controlLines[_RunInRootFrame$Deter]) + ) { + var _frame = + "\n" + + sampleLines[namePropDescriptor].replace( + " at new ", + " at " + ); + fn.displayName && + _frame.includes("<anonymous>") && + (_frame = _frame.replace("<anonymous>", fn.displayName)); + "function" === typeof fn && + componentFrameCache.set(fn, _frame); + return _frame; + } + while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter); + } + break; + } + } + } finally { + (reentry = !1), + (ReactSharedInternals.H = previousDispatcher), + reenableLogs(), + (Error.prepareStackTrace = frame); + } + sampleLines = (sampleLines = fn ? fn.displayName || fn.name : "") + ? describeBuiltInComponentFrame(sampleLines) + : ""; + "function" === typeof fn && componentFrameCache.set(fn, sampleLines); + return sampleLines; + } + function describeUnknownElementTypeFrameInDEV(type) { + if (null == type) return ""; + if ("function" === typeof type) { + var prototype = type.prototype; + return describeNativeComponentFrame( + type, + !(!prototype || !prototype.isReactComponent) + ); + } + if ("string" === typeof type) return describeBuiltInComponentFrame(type); + switch (type) { + case REACT_SUSPENSE_TYPE: + return describeBuiltInComponentFrame("Suspense"); + case REACT_SUSPENSE_LIST_TYPE: + return describeBuiltInComponentFrame("SuspenseList"); + } + if ("object" === typeof type) + switch (type.$$typeof) { + case REACT_FORWARD_REF_TYPE: + return (type = describeNativeComponentFrame(type.render, !1)), type; + case REACT_MEMO_TYPE: + return describeUnknownElementTypeFrameInDEV(type.type); + case REACT_LAZY_TYPE: + prototype = type._payload; + type = type._init; + try { + return describeUnknownElementTypeFrameInDEV(type(prototype)); + } catch (x) {} + } + return ""; + } + function getOwner() { + var dispatcher = ReactSharedInternals.A; + return null === dispatcher ? null : dispatcher.getOwner(); + } + function hasValidKey(config) { + if (hasOwnProperty.call(config, "key")) { + var getter = Object.getOwnPropertyDescriptor(config, "key").get; + if (getter && getter.isReactWarning) return !1; + } + return void 0 !== config.key; + } + function defineKeyPropWarningGetter(props, displayName) { + function warnAboutAccessingKey() { + specialPropKeyWarningShown || + ((specialPropKeyWarningShown = !0), + console.error( + "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", + displayName + )); + } + warnAboutAccessingKey.isReactWarning = !0; + Object.defineProperty(props, "key", { + get: warnAboutAccessingKey, + configurable: !0 + }); + } + function elementRefGetterWithDeprecationWarning() { + var componentName = getComponentNameFromType(this.type); + didWarnAboutElementRef[componentName] || + ((didWarnAboutElementRef[componentName] = !0), + console.error( + "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." + )); + componentName = this.props.ref; + return void 0 !== componentName ? componentName : null; + } + function ReactElement(type, key, self, source, owner, props) { + self = props.ref; + type = { + $$typeof: REACT_ELEMENT_TYPE, + type: type, + key: key, + props: props, + _owner: owner + }; + null !== (void 0 !== self ? self : null) + ? Object.defineProperty(type, "ref", { + enumerable: !1, + get: elementRefGetterWithDeprecationWarning + }) + : Object.defineProperty(type, "ref", { enumerable: !1, value: null }); + type._store = {}; + Object.defineProperty(type._store, "validated", { + configurable: !1, + enumerable: !1, + writable: !0, + value: 0 + }); + Object.defineProperty(type, "_debugInfo", { + configurable: !1, + enumerable: !1, + writable: !0, + value: null + }); + Object.freeze && (Object.freeze(type.props), Object.freeze(type)); + return type; + } + function jsxDEVImpl( + type, + config, + maybeKey, + isStaticChildren, + source, + self + ) { + if ( + "string" === typeof type || + "function" === typeof type || + type === REACT_FRAGMENT_TYPE || + type === REACT_PROFILER_TYPE || + type === REACT_STRICT_MODE_TYPE || + type === REACT_SUSPENSE_TYPE || + type === REACT_SUSPENSE_LIST_TYPE || + type === REACT_OFFSCREEN_TYPE || + ("object" === typeof type && + null !== type && + (type.$$typeof === REACT_LAZY_TYPE || + type.$$typeof === REACT_MEMO_TYPE || + type.$$typeof === REACT_CONTEXT_TYPE || + type.$$typeof === REACT_CONSUMER_TYPE || + type.$$typeof === REACT_FORWARD_REF_TYPE || + type.$$typeof === REACT_CLIENT_REFERENCE$1 || + void 0 !== type.getModuleId)) + ) { + var children = config.children; + if (void 0 !== children) + if (isStaticChildren) + if (isArrayImpl(children)) { + for ( + isStaticChildren = 0; + isStaticChildren < children.length; + isStaticChildren++ + ) + validateChildKeys(children[isStaticChildren], type); + Object.freeze && Object.freeze(children); + } else + console.error( + "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead." + ); + else validateChildKeys(children, type); + } else { + children = ""; + if ( + void 0 === type || + ("object" === typeof type && + null !== type && + 0 === Object.keys(type).length) + ) + children += + " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."; + null === type + ? (isStaticChildren = "null") + : isArrayImpl(type) + ? (isStaticChildren = "array") + : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE + ? ((isStaticChildren = + "<" + + (getComponentNameFromType(type.type) || "Unknown") + + " />"), + (children = + " Did you accidentally export a JSX literal instead of a component?")) + : (isStaticChildren = typeof type); + console.error( + "React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", + isStaticChildren, + children + ); + } + if (hasOwnProperty.call(config, "key")) { + children = getComponentNameFromType(type); + var keys = Object.keys(config).filter(function (k) { + return "key" !== k; + }); + isStaticChildren = + 0 < keys.length + ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" + : "{key: someKey}"; + didWarnAboutKeySpread[children + isStaticChildren] || + ((keys = + 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}"), + console.error( + 'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', + isStaticChildren, + children, + keys, + children + ), + (didWarnAboutKeySpread[children + isStaticChildren] = !0)); + } + children = null; + void 0 !== maybeKey && + (checkKeyStringCoercion(maybeKey), (children = "" + maybeKey)); + hasValidKey(config) && + (checkKeyStringCoercion(config.key), (children = "" + config.key)); + if ("key" in config) { + maybeKey = {}; + for (var propName in config) + "key" !== propName && (maybeKey[propName] = config[propName]); + } else maybeKey = config; + children && + defineKeyPropWarningGetter( + maybeKey, + "function" === typeof type + ? type.displayName || type.name || "Unknown" + : type + ); + return ReactElement(type, children, self, source, getOwner(), maybeKey); + } + function validateChildKeys(node, parentType) { + if ( + "object" === typeof node && + node && + node.$$typeof !== REACT_CLIENT_REFERENCE + ) + if (isArrayImpl(node)) + for (var i = 0; i < node.length; i++) { + var child = node[i]; + isValidElement(child) && validateExplicitKey(child, parentType); + } + else if (isValidElement(node)) + node._store && (node._store.validated = 1); + else if ( + (null === node || "object" !== typeof node + ? (i = null) + : ((i = + (MAYBE_ITERATOR_SYMBOL && node[MAYBE_ITERATOR_SYMBOL]) || + node["@@iterator"]), + (i = "function" === typeof i ? i : null)), + "function" === typeof i && + i !== node.entries && + ((i = i.call(node)), i !== node)) + ) + for (; !(node = i.next()).done; ) + isValidElement(node.value) && + validateExplicitKey(node.value, parentType); + } + function isValidElement(object) { + return ( + "object" === typeof object && + null !== object && + object.$$typeof === REACT_ELEMENT_TYPE + ); + } + function validateExplicitKey(element, parentType) { + if ( + element._store && + !element._store.validated && + null == element.key && + ((element._store.validated = 1), + (parentType = getCurrentComponentErrorInfo(parentType)), + !ownerHasKeyUseWarning[parentType]) + ) { + ownerHasKeyUseWarning[parentType] = !0; + var childOwner = ""; + element && + null != element._owner && + element._owner !== getOwner() && + ((childOwner = null), + "number" === typeof element._owner.tag + ? (childOwner = getComponentNameFromType(element._owner.type)) + : "string" === typeof element._owner.name && + (childOwner = element._owner.name), + (childOwner = " It was passed a child from " + childOwner + ".")); + var prevGetCurrentStack = ReactSharedInternals.getCurrentStack; + ReactSharedInternals.getCurrentStack = function () { + var stack = describeUnknownElementTypeFrameInDEV(element.type); + prevGetCurrentStack && (stack += prevGetCurrentStack() || ""); + return stack; + }; + console.error( + 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.', + parentType, + childOwner + ); + ReactSharedInternals.getCurrentStack = prevGetCurrentStack; + } + } + function getCurrentComponentErrorInfo(parentType) { + var info = "", + owner = getOwner(); + owner && + (owner = getComponentNameFromType(owner.type)) && + (info = "\n\nCheck the render method of `" + owner + "`."); + info || + ((parentType = getComponentNameFromType(parentType)) && + (info = + "\n\nCheck the top-level render call using <" + parentType + ">.")); + return info; + } + var React = require("react"), + REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), + REACT_PORTAL_TYPE = Symbol.for("react.portal"), + REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), + REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), + REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + Symbol.for("react.provider"); + var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), + REACT_CONTEXT_TYPE = Symbol.for("react.context"), + REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), + REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), + REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), + REACT_MEMO_TYPE = Symbol.for("react.memo"), + REACT_LAZY_TYPE = Symbol.for("react.lazy"), + REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"), + MAYBE_ITERATOR_SYMBOL = Symbol.iterator, + REACT_CLIENT_REFERENCE$2 = Symbol.for("react.client.reference"), + ReactSharedInternals = + React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, + hasOwnProperty = Object.prototype.hasOwnProperty, + assign = Object.assign, + REACT_CLIENT_REFERENCE$1 = Symbol.for("react.client.reference"), + isArrayImpl = Array.isArray, + disabledDepth = 0, + prevLog, + prevInfo, + prevWarn, + prevError, + prevGroup, + prevGroupCollapsed, + prevGroupEnd; + disabledLog.__reactDisabledLog = !0; + var prefix, + suffix, + reentry = !1; + var componentFrameCache = new ( + "function" === typeof WeakMap ? WeakMap : Map + )(); + var REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), + specialPropKeyWarningShown; + var didWarnAboutElementRef = {}; + var didWarnAboutKeySpread = {}, + ownerHasKeyUseWarning = {}; + exports.Fragment = REACT_FRAGMENT_TYPE; + exports.jsx = function (type, config, maybeKey, source, self) { + return jsxDEVImpl(type, config, maybeKey, !1, source, self); + }; + exports.jsxs = function (type, config, maybeKey, source, self) { + return jsxDEVImpl(type, config, maybeKey, !0, source, self); + }; + })(); diff --git a/.config/raycast/extensions/node_modules/react/jsx-runtime.js b/.config/raycast/extensions/node_modules/react/jsx-runtime.js @@ -0,0 +1,5 @@ +if (process.env.NODE_ENV === 'production') { + module.exports = require('./jsx-runtime.production'); +} else { + module.exports = require('./jsx-runtime.development'); +} diff --git a/.config/raycast/extensions/node_modules/react/jsx-runtime.production.js b/.config/raycast/extensions/node_modules/react/jsx-runtime.production.js @@ -0,0 +1,34 @@ +/** + * @license React + * react-jsx-runtime.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +"use strict"; +var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), + REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); +function jsxProd(type, config, maybeKey) { + var key = null; + void 0 !== maybeKey && (key = "" + maybeKey); + void 0 !== config.key && (key = "" + config.key); + if ("key" in config) { + maybeKey = {}; + for (var propName in config) + "key" !== propName && (maybeKey[propName] = config[propName]); + } else maybeKey = config; + config = maybeKey.ref; + return { + $$typeof: REACT_ELEMENT_TYPE, + type: type, + key: key, + ref: void 0 !== config ? config : null, + props: maybeKey + }; +} +exports.Fragment = REACT_FRAGMENT_TYPE; +exports.jsx = jsxProd; +exports.jsxs = jsxProd; diff --git a/.config/raycast/extensions/node_modules/react/react.development.js b/.config/raycast/extensions/node_modules/react/react.development.js @@ -0,0 +1,1521 @@ +/** + * @license React + * react.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +"use strict"; +"production" !== process.env.NODE_ENV && + (function () { + function defineDeprecationWarning(methodName, info) { + Object.defineProperty(Component.prototype, methodName, { + get: function () { + console.warn( + "%s(...) is deprecated in plain JavaScript React classes. %s", + info[0], + info[1] + ); + } + }); + } + function getIteratorFn(maybeIterable) { + if (null === maybeIterable || "object" !== typeof maybeIterable) + return null; + maybeIterable = + (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) || + maybeIterable["@@iterator"]; + return "function" === typeof maybeIterable ? maybeIterable : null; + } + function warnNoop(publicInstance, callerName) { + publicInstance = + ((publicInstance = publicInstance.constructor) && + (publicInstance.displayName || publicInstance.name)) || + "ReactClass"; + var warningKey = publicInstance + "." + callerName; + didWarnStateUpdateForUnmountedComponent[warningKey] || + (console.error( + "Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", + callerName, + publicInstance + ), + (didWarnStateUpdateForUnmountedComponent[warningKey] = !0)); + } + function Component(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + } + function ComponentDummy() {} + function PureComponent(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + } + function testStringCoercion(value) { + return "" + value; + } + function checkKeyStringCoercion(value) { + try { + testStringCoercion(value); + var JSCompiler_inline_result = !1; + } catch (e) { + JSCompiler_inline_result = !0; + } + if (JSCompiler_inline_result) { + JSCompiler_inline_result = console; + var JSCompiler_temp_const = JSCompiler_inline_result.error; + var JSCompiler_inline_result$jscomp$0 = + ("function" === typeof Symbol && + Symbol.toStringTag && + value[Symbol.toStringTag]) || + value.constructor.name || + "Object"; + JSCompiler_temp_const.call( + JSCompiler_inline_result, + "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", + JSCompiler_inline_result$jscomp$0 + ); + return testStringCoercion(value); + } + } + function getComponentNameFromType(type) { + if (null == type) return null; + if ("function" === typeof type) + return type.$$typeof === REACT_CLIENT_REFERENCE$2 + ? null + : type.displayName || type.name || null; + if ("string" === typeof type) return type; + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + } + if ("object" === typeof type) + switch ( + ("number" === typeof type.tag && + console.error( + "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." + ), + type.$$typeof) + ) { + case REACT_CONTEXT_TYPE: + return (type.displayName || "Context") + ".Provider"; + case REACT_CONSUMER_TYPE: + return (type._context.displayName || "Context") + ".Consumer"; + case REACT_FORWARD_REF_TYPE: + var innerType = type.render; + type = type.displayName; + type || + ((type = innerType.displayName || innerType.name || ""), + (type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef")); + return type; + case REACT_MEMO_TYPE: + return ( + (innerType = type.displayName || null), + null !== innerType + ? innerType + : getComponentNameFromType(type.type) || "Memo" + ); + case REACT_LAZY_TYPE: + innerType = type._payload; + type = type._init; + try { + return getComponentNameFromType(type(innerType)); + } catch (x) {} + } + return null; + } + function isValidElementType(type) { + return "string" === typeof type || + "function" === typeof type || + type === REACT_FRAGMENT_TYPE || + type === REACT_PROFILER_TYPE || + type === REACT_STRICT_MODE_TYPE || + type === REACT_SUSPENSE_TYPE || + type === REACT_SUSPENSE_LIST_TYPE || + type === REACT_OFFSCREEN_TYPE || + ("object" === typeof type && + null !== type && + (type.$$typeof === REACT_LAZY_TYPE || + type.$$typeof === REACT_MEMO_TYPE || + type.$$typeof === REACT_CONTEXT_TYPE || + type.$$typeof === REACT_CONSUMER_TYPE || + type.$$typeof === REACT_FORWARD_REF_TYPE || + type.$$typeof === REACT_CLIENT_REFERENCE$1 || + void 0 !== type.getModuleId)) + ? !0 + : !1; + } + function disabledLog() {} + function disableLogs() { + if (0 === disabledDepth) { + prevLog = console.log; + prevInfo = console.info; + prevWarn = console.warn; + prevError = console.error; + prevGroup = console.group; + prevGroupCollapsed = console.groupCollapsed; + prevGroupEnd = console.groupEnd; + var props = { + configurable: !0, + enumerable: !0, + value: disabledLog, + writable: !0 + }; + Object.defineProperties(console, { + info: props, + log: props, + warn: props, + error: props, + group: props, + groupCollapsed: props, + groupEnd: props + }); + } + disabledDepth++; + } + function reenableLogs() { + disabledDepth--; + if (0 === disabledDepth) { + var props = { configurable: !0, enumerable: !0, writable: !0 }; + Object.defineProperties(console, { + log: assign({}, props, { value: prevLog }), + info: assign({}, props, { value: prevInfo }), + warn: assign({}, props, { value: prevWarn }), + error: assign({}, props, { value: prevError }), + group: assign({}, props, { value: prevGroup }), + groupCollapsed: assign({}, props, { value: prevGroupCollapsed }), + groupEnd: assign({}, props, { value: prevGroupEnd }) + }); + } + 0 > disabledDepth && + console.error( + "disabledDepth fell below zero. This is a bug in React. Please file an issue." + ); + } + function describeBuiltInComponentFrame(name) { + if (void 0 === prefix) + try { + throw Error(); + } catch (x) { + var match = x.stack.trim().match(/\n( *(at )?)/); + prefix = (match && match[1]) || ""; + suffix = + -1 < x.stack.indexOf("\n at") + ? " (<anonymous>)" + : -1 < x.stack.indexOf("@") + ? "@unknown:0:0" + : ""; + } + return "\n" + prefix + name + suffix; + } + function describeNativeComponentFrame(fn, construct) { + if (!fn || reentry) return ""; + var frame = componentFrameCache.get(fn); + if (void 0 !== frame) return frame; + reentry = !0; + frame = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + var previousDispatcher = null; + previousDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = null; + disableLogs(); + try { + var RunInRootFrame = { + DetermineComponentFrameRoot: function () { + try { + if (construct) { + var Fake = function () { + throw Error(); + }; + Object.defineProperty(Fake.prototype, "props", { + set: function () { + throw Error(); + } + }); + if ("object" === typeof Reflect && Reflect.construct) { + try { + Reflect.construct(Fake, []); + } catch (x) { + var control = x; + } + Reflect.construct(fn, [], Fake); + } else { + try { + Fake.call(); + } catch (x$0) { + control = x$0; + } + fn.call(Fake.prototype); + } + } else { + try { + throw Error(); + } catch (x$1) { + control = x$1; + } + (Fake = fn()) && + "function" === typeof Fake.catch && + Fake.catch(function () {}); + } + } catch (sample) { + if (sample && control && "string" === typeof sample.stack) + return [sample.stack, control.stack]; + } + return [null, null]; + } + }; + RunInRootFrame.DetermineComponentFrameRoot.displayName = + "DetermineComponentFrameRoot"; + var namePropDescriptor = Object.getOwnPropertyDescriptor( + RunInRootFrame.DetermineComponentFrameRoot, + "name" + ); + namePropDescriptor && + namePropDescriptor.configurable && + Object.defineProperty( + RunInRootFrame.DetermineComponentFrameRoot, + "name", + { value: "DetermineComponentFrameRoot" } + ); + var _RunInRootFrame$Deter = + RunInRootFrame.DetermineComponentFrameRoot(), + sampleStack = _RunInRootFrame$Deter[0], + controlStack = _RunInRootFrame$Deter[1]; + if (sampleStack && controlStack) { + var sampleLines = sampleStack.split("\n"), + controlLines = controlStack.split("\n"); + for ( + _RunInRootFrame$Deter = namePropDescriptor = 0; + namePropDescriptor < sampleLines.length && + !sampleLines[namePropDescriptor].includes( + "DetermineComponentFrameRoot" + ); + + ) + namePropDescriptor++; + for ( + ; + _RunInRootFrame$Deter < controlLines.length && + !controlLines[_RunInRootFrame$Deter].includes( + "DetermineComponentFrameRoot" + ); + + ) + _RunInRootFrame$Deter++; + if ( + namePropDescriptor === sampleLines.length || + _RunInRootFrame$Deter === controlLines.length + ) + for ( + namePropDescriptor = sampleLines.length - 1, + _RunInRootFrame$Deter = controlLines.length - 1; + 1 <= namePropDescriptor && + 0 <= _RunInRootFrame$Deter && + sampleLines[namePropDescriptor] !== + controlLines[_RunInRootFrame$Deter]; + + ) + _RunInRootFrame$Deter--; + for ( + ; + 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter; + namePropDescriptor--, _RunInRootFrame$Deter-- + ) + if ( + sampleLines[namePropDescriptor] !== + controlLines[_RunInRootFrame$Deter] + ) { + if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) { + do + if ( + (namePropDescriptor--, + _RunInRootFrame$Deter--, + 0 > _RunInRootFrame$Deter || + sampleLines[namePropDescriptor] !== + controlLines[_RunInRootFrame$Deter]) + ) { + var _frame = + "\n" + + sampleLines[namePropDescriptor].replace( + " at new ", + " at " + ); + fn.displayName && + _frame.includes("<anonymous>") && + (_frame = _frame.replace("<anonymous>", fn.displayName)); + "function" === typeof fn && + componentFrameCache.set(fn, _frame); + return _frame; + } + while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter); + } + break; + } + } + } finally { + (reentry = !1), + (ReactSharedInternals.H = previousDispatcher), + reenableLogs(), + (Error.prepareStackTrace = frame); + } + sampleLines = (sampleLines = fn ? fn.displayName || fn.name : "") + ? describeBuiltInComponentFrame(sampleLines) + : ""; + "function" === typeof fn && componentFrameCache.set(fn, sampleLines); + return sampleLines; + } + function describeUnknownElementTypeFrameInDEV(type) { + if (null == type) return ""; + if ("function" === typeof type) { + var prototype = type.prototype; + return describeNativeComponentFrame( + type, + !(!prototype || !prototype.isReactComponent) + ); + } + if ("string" === typeof type) return describeBuiltInComponentFrame(type); + switch (type) { + case REACT_SUSPENSE_TYPE: + return describeBuiltInComponentFrame("Suspense"); + case REACT_SUSPENSE_LIST_TYPE: + return describeBuiltInComponentFrame("SuspenseList"); + } + if ("object" === typeof type) + switch (type.$$typeof) { + case REACT_FORWARD_REF_TYPE: + return (type = describeNativeComponentFrame(type.render, !1)), type; + case REACT_MEMO_TYPE: + return describeUnknownElementTypeFrameInDEV(type.type); + case REACT_LAZY_TYPE: + prototype = type._payload; + type = type._init; + try { + return describeUnknownElementTypeFrameInDEV(type(prototype)); + } catch (x) {} + } + return ""; + } + function getOwner() { + var dispatcher = ReactSharedInternals.A; + return null === dispatcher ? null : dispatcher.getOwner(); + } + function hasValidKey(config) { + if (hasOwnProperty.call(config, "key")) { + var getter = Object.getOwnPropertyDescriptor(config, "key").get; + if (getter && getter.isReactWarning) return !1; + } + return void 0 !== config.key; + } + function defineKeyPropWarningGetter(props, displayName) { + function warnAboutAccessingKey() { + specialPropKeyWarningShown || + ((specialPropKeyWarningShown = !0), + console.error( + "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", + displayName + )); + } + warnAboutAccessingKey.isReactWarning = !0; + Object.defineProperty(props, "key", { + get: warnAboutAccessingKey, + configurable: !0 + }); + } + function elementRefGetterWithDeprecationWarning() { + var componentName = getComponentNameFromType(this.type); + didWarnAboutElementRef[componentName] || + ((didWarnAboutElementRef[componentName] = !0), + console.error( + "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." + )); + componentName = this.props.ref; + return void 0 !== componentName ? componentName : null; + } + function ReactElement(type, key, self, source, owner, props) { + self = props.ref; + type = { + $$typeof: REACT_ELEMENT_TYPE, + type: type, + key: key, + props: props, + _owner: owner + }; + null !== (void 0 !== self ? self : null) + ? Object.defineProperty(type, "ref", { + enumerable: !1, + get: elementRefGetterWithDeprecationWarning + }) + : Object.defineProperty(type, "ref", { enumerable: !1, value: null }); + type._store = {}; + Object.defineProperty(type._store, "validated", { + configurable: !1, + enumerable: !1, + writable: !0, + value: 0 + }); + Object.defineProperty(type, "_debugInfo", { + configurable: !1, + enumerable: !1, + writable: !0, + value: null + }); + Object.freeze && (Object.freeze(type.props), Object.freeze(type)); + return type; + } + function cloneAndReplaceKey(oldElement, newKey) { + newKey = ReactElement( + oldElement.type, + newKey, + void 0, + void 0, + oldElement._owner, + oldElement.props + ); + newKey._store.validated = oldElement._store.validated; + return newKey; + } + function validateChildKeys(node, parentType) { + if ( + "object" === typeof node && + node && + node.$$typeof !== REACT_CLIENT_REFERENCE + ) + if (isArrayImpl(node)) + for (var i = 0; i < node.length; i++) { + var child = node[i]; + isValidElement(child) && validateExplicitKey(child, parentType); + } + else if (isValidElement(node)) + node._store && (node._store.validated = 1); + else if ( + ((i = getIteratorFn(node)), + "function" === typeof i && + i !== node.entries && + ((i = i.call(node)), i !== node)) + ) + for (; !(node = i.next()).done; ) + isValidElement(node.value) && + validateExplicitKey(node.value, parentType); + } + function isValidElement(object) { + return ( + "object" === typeof object && + null !== object && + object.$$typeof === REACT_ELEMENT_TYPE + ); + } + function validateExplicitKey(element, parentType) { + if ( + element._store && + !element._store.validated && + null == element.key && + ((element._store.validated = 1), + (parentType = getCurrentComponentErrorInfo(parentType)), + !ownerHasKeyUseWarning[parentType]) + ) { + ownerHasKeyUseWarning[parentType] = !0; + var childOwner = ""; + element && + null != element._owner && + element._owner !== getOwner() && + ((childOwner = null), + "number" === typeof element._owner.tag + ? (childOwner = getComponentNameFromType(element._owner.type)) + : "string" === typeof element._owner.name && + (childOwner = element._owner.name), + (childOwner = " It was passed a child from " + childOwner + ".")); + var prevGetCurrentStack = ReactSharedInternals.getCurrentStack; + ReactSharedInternals.getCurrentStack = function () { + var stack = describeUnknownElementTypeFrameInDEV(element.type); + prevGetCurrentStack && (stack += prevGetCurrentStack() || ""); + return stack; + }; + console.error( + 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.', + parentType, + childOwner + ); + ReactSharedInternals.getCurrentStack = prevGetCurrentStack; + } + } + function getCurrentComponentErrorInfo(parentType) { + var info = "", + owner = getOwner(); + owner && + (owner = getComponentNameFromType(owner.type)) && + (info = "\n\nCheck the render method of `" + owner + "`."); + info || + ((parentType = getComponentNameFromType(parentType)) && + (info = + "\n\nCheck the top-level render call using <" + parentType + ">.")); + return info; + } + function escape(key) { + var escaperLookup = { "=": "=0", ":": "=2" }; + return ( + "$" + + key.replace(/[=:]/g, function (match) { + return escaperLookup[match]; + }) + ); + } + function getElementKey(element, index) { + return "object" === typeof element && + null !== element && + null != element.key + ? (checkKeyStringCoercion(element.key), escape("" + element.key)) + : index.toString(36); + } + function noop$1() {} + function resolveThenable(thenable) { + switch (thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenable.reason; + default: + switch ( + ("string" === typeof thenable.status + ? thenable.then(noop$1, noop$1) + : ((thenable.status = "pending"), + thenable.then( + function (fulfilledValue) { + "pending" === thenable.status && + ((thenable.status = "fulfilled"), + (thenable.value = fulfilledValue)); + }, + function (error) { + "pending" === thenable.status && + ((thenable.status = "rejected"), + (thenable.reason = error)); + } + )), + thenable.status) + ) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenable.reason; + } + } + throw thenable; + } + function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) { + var type = typeof children; + if ("undefined" === type || "boolean" === type) children = null; + var invokeCallback = !1; + if (null === children) invokeCallback = !0; + else + switch (type) { + case "bigint": + case "string": + case "number": + invokeCallback = !0; + break; + case "object": + switch (children.$$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_PORTAL_TYPE: + invokeCallback = !0; + break; + case REACT_LAZY_TYPE: + return ( + (invokeCallback = children._init), + mapIntoArray( + invokeCallback(children._payload), + array, + escapedPrefix, + nameSoFar, + callback + ) + ); + } + } + if (invokeCallback) { + invokeCallback = children; + callback = callback(invokeCallback); + var childKey = + "" === nameSoFar ? "." + getElementKey(invokeCallback, 0) : nameSoFar; + isArrayImpl(callback) + ? ((escapedPrefix = ""), + null != childKey && + (escapedPrefix = + childKey.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), + mapIntoArray(callback, array, escapedPrefix, "", function (c) { + return c; + })) + : null != callback && + (isValidElement(callback) && + (null != callback.key && + ((invokeCallback && invokeCallback.key === callback.key) || + checkKeyStringCoercion(callback.key)), + (escapedPrefix = cloneAndReplaceKey( + callback, + escapedPrefix + + (null == callback.key || + (invokeCallback && invokeCallback.key === callback.key) + ? "" + : ("" + callback.key).replace( + userProvidedKeyEscapeRegex, + "$&/" + ) + "/") + + childKey + )), + "" !== nameSoFar && + null != invokeCallback && + isValidElement(invokeCallback) && + null == invokeCallback.key && + invokeCallback._store && + !invokeCallback._store.validated && + (escapedPrefix._store.validated = 2), + (callback = escapedPrefix)), + array.push(callback)); + return 1; + } + invokeCallback = 0; + childKey = "" === nameSoFar ? "." : nameSoFar + ":"; + if (isArrayImpl(children)) + for (var i = 0; i < children.length; i++) + (nameSoFar = children[i]), + (type = childKey + getElementKey(nameSoFar, i)), + (invokeCallback += mapIntoArray( + nameSoFar, + array, + escapedPrefix, + type, + callback + )); + else if (((i = getIteratorFn(children)), "function" === typeof i)) + for ( + i === children.entries && + (didWarnAboutMaps || + console.warn( + "Using Maps as children is not supported. Use an array of keyed ReactElements instead." + ), + (didWarnAboutMaps = !0)), + children = i.call(children), + i = 0; + !(nameSoFar = children.next()).done; + + ) + (nameSoFar = nameSoFar.value), + (type = childKey + getElementKey(nameSoFar, i++)), + (invokeCallback += mapIntoArray( + nameSoFar, + array, + escapedPrefix, + type, + callback + )); + else if ("object" === type) { + if ("function" === typeof children.then) + return mapIntoArray( + resolveThenable(children), + array, + escapedPrefix, + nameSoFar, + callback + ); + array = String(children); + throw Error( + "Objects are not valid as a React child (found: " + + ("[object Object]" === array + ? "object with keys {" + Object.keys(children).join(", ") + "}" + : array) + + "). If you meant to render a collection of children, use an array instead." + ); + } + return invokeCallback; + } + function mapChildren(children, func, context) { + if (null == children) return children; + var result = [], + count = 0; + mapIntoArray(children, result, "", "", function (child) { + return func.call(context, child, count++); + }); + return result; + } + function lazyInitializer(payload) { + if (-1 === payload._status) { + var ctor = payload._result; + ctor = ctor(); + ctor.then( + function (moduleObject) { + if (0 === payload._status || -1 === payload._status) + (payload._status = 1), (payload._result = moduleObject); + }, + function (error) { + if (0 === payload._status || -1 === payload._status) + (payload._status = 2), (payload._result = error); + } + ); + -1 === payload._status && + ((payload._status = 0), (payload._result = ctor)); + } + if (1 === payload._status) + return ( + (ctor = payload._result), + void 0 === ctor && + console.error( + "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))\n\nDid you accidentally put curly braces around the import?", + ctor + ), + "default" in ctor || + console.error( + "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))", + ctor + ), + ctor.default + ); + throw payload._result; + } + function resolveDispatcher() { + var dispatcher = ReactSharedInternals.H; + null === dispatcher && + console.error( + "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." + ); + return dispatcher; + } + function noop() {} + function enqueueTask(task) { + if (null === enqueueTaskImpl) + try { + var requireString = ("require" + Math.random()).slice(0, 7); + enqueueTaskImpl = (module && module[requireString]).call( + module, + "timers" + ).setImmediate; + } catch (_err) { + enqueueTaskImpl = function (callback) { + !1 === didWarnAboutMessageChannel && + ((didWarnAboutMessageChannel = !0), + "undefined" === typeof MessageChannel && + console.error( + "This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning." + )); + var channel = new MessageChannel(); + channel.port1.onmessage = callback; + channel.port2.postMessage(void 0); + }; + } + return enqueueTaskImpl(task); + } + function aggregateErrors(errors) { + return 1 < errors.length && "function" === typeof AggregateError + ? new AggregateError(errors) + : errors[0]; + } + function popActScope(prevActQueue, prevActScopeDepth) { + prevActScopeDepth !== actScopeDepth - 1 && + console.error( + "You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. " + ); + actScopeDepth = prevActScopeDepth; + } + function recursivelyFlushAsyncActWork(returnValue, resolve, reject) { + var queue = ReactSharedInternals.actQueue; + if (null !== queue) + if (0 !== queue.length) + try { + flushActQueue(queue); + enqueueTask(function () { + return recursivelyFlushAsyncActWork(returnValue, resolve, reject); + }); + return; + } catch (error) { + ReactSharedInternals.thrownErrors.push(error); + } + else ReactSharedInternals.actQueue = null; + 0 < ReactSharedInternals.thrownErrors.length + ? ((queue = aggregateErrors(ReactSharedInternals.thrownErrors)), + (ReactSharedInternals.thrownErrors.length = 0), + reject(queue)) + : resolve(returnValue); + } + function flushActQueue(queue) { + if (!isFlushing) { + isFlushing = !0; + var i = 0; + try { + for (; i < queue.length; i++) { + var callback = queue[i]; + do { + ReactSharedInternals.didUsePromise = !1; + var continuation = callback(!1); + if (null !== continuation) { + if (ReactSharedInternals.didUsePromise) { + queue[i] = callback; + queue.splice(0, i); + return; + } + callback = continuation; + } else break; + } while (1); + } + queue.length = 0; + } catch (error) { + queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error); + } finally { + isFlushing = !1; + } + } + } + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && + "function" === + typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && + __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); + var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), + REACT_PORTAL_TYPE = Symbol.for("react.portal"), + REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), + REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), + REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + Symbol.for("react.provider"); + var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), + REACT_CONTEXT_TYPE = Symbol.for("react.context"), + REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), + REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), + REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), + REACT_MEMO_TYPE = Symbol.for("react.memo"), + REACT_LAZY_TYPE = Symbol.for("react.lazy"), + REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"), + MAYBE_ITERATOR_SYMBOL = Symbol.iterator, + didWarnStateUpdateForUnmountedComponent = {}, + ReactNoopUpdateQueue = { + isMounted: function () { + return !1; + }, + enqueueForceUpdate: function (publicInstance) { + warnNoop(publicInstance, "forceUpdate"); + }, + enqueueReplaceState: function (publicInstance) { + warnNoop(publicInstance, "replaceState"); + }, + enqueueSetState: function (publicInstance) { + warnNoop(publicInstance, "setState"); + } + }, + assign = Object.assign, + emptyObject = {}; + Object.freeze(emptyObject); + Component.prototype.isReactComponent = {}; + Component.prototype.setState = function (partialState, callback) { + if ( + "object" !== typeof partialState && + "function" !== typeof partialState && + null != partialState + ) + throw Error( + "takes an object of state variables to update or a function which returns an object of state variables." + ); + this.updater.enqueueSetState(this, partialState, callback, "setState"); + }; + Component.prototype.forceUpdate = function (callback) { + this.updater.enqueueForceUpdate(this, callback, "forceUpdate"); + }; + var deprecatedAPIs = { + isMounted: [ + "isMounted", + "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks." + ], + replaceState: [ + "replaceState", + "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)." + ] + }, + fnName; + for (fnName in deprecatedAPIs) + deprecatedAPIs.hasOwnProperty(fnName) && + defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); + ComponentDummy.prototype = Component.prototype; + deprecatedAPIs = PureComponent.prototype = new ComponentDummy(); + deprecatedAPIs.constructor = PureComponent; + assign(deprecatedAPIs, Component.prototype); + deprecatedAPIs.isPureReactComponent = !0; + var isArrayImpl = Array.isArray, + REACT_CLIENT_REFERENCE$2 = Symbol.for("react.client.reference"), + ReactSharedInternals = { + H: null, + A: null, + T: null, + S: null, + actQueue: null, + isBatchingLegacy: !1, + didScheduleLegacyUpdate: !1, + didUsePromise: !1, + thrownErrors: [], + getCurrentStack: null + }, + hasOwnProperty = Object.prototype.hasOwnProperty, + REACT_CLIENT_REFERENCE$1 = Symbol.for("react.client.reference"), + disabledDepth = 0, + prevLog, + prevInfo, + prevWarn, + prevError, + prevGroup, + prevGroupCollapsed, + prevGroupEnd; + disabledLog.__reactDisabledLog = !0; + var prefix, + suffix, + reentry = !1; + var componentFrameCache = new ( + "function" === typeof WeakMap ? WeakMap : Map + )(); + var REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), + specialPropKeyWarningShown, + didWarnAboutOldJSXRuntime; + var didWarnAboutElementRef = {}; + var ownerHasKeyUseWarning = {}, + didWarnAboutMaps = !1, + userProvidedKeyEscapeRegex = /\/+/g, + reportGlobalError = + "function" === typeof reportError + ? reportError + : function (error) { + if ( + "object" === typeof window && + "function" === typeof window.ErrorEvent + ) { + var event = new window.ErrorEvent("error", { + bubbles: !0, + cancelable: !0, + message: + "object" === typeof error && + null !== error && + "string" === typeof error.message + ? String(error.message) + : String(error), + error: error + }); + if (!window.dispatchEvent(event)) return; + } else if ( + "object" === typeof process && + "function" === typeof process.emit + ) { + process.emit("uncaughtException", error); + return; + } + console.error(error); + }, + didWarnAboutMessageChannel = !1, + enqueueTaskImpl = null, + actScopeDepth = 0, + didWarnNoAwaitAct = !1, + isFlushing = !1, + queueSeveralMicrotasks = + "function" === typeof queueMicrotask + ? function (callback) { + queueMicrotask(function () { + return queueMicrotask(callback); + }); + } + : enqueueTask; + exports.Children = { + map: mapChildren, + forEach: function (children, forEachFunc, forEachContext) { + mapChildren( + children, + function () { + forEachFunc.apply(this, arguments); + }, + forEachContext + ); + }, + count: function (children) { + var n = 0; + mapChildren(children, function () { + n++; + }); + return n; + }, + toArray: function (children) { + return ( + mapChildren(children, function (child) { + return child; + }) || [] + ); + }, + only: function (children) { + if (!isValidElement(children)) + throw Error( + "React.Children.only expected to receive a single React element child." + ); + return children; + } + }; + exports.Component = Component; + exports.Fragment = REACT_FRAGMENT_TYPE; + exports.Profiler = REACT_PROFILER_TYPE; + exports.PureComponent = PureComponent; + exports.StrictMode = REACT_STRICT_MODE_TYPE; + exports.Suspense = REACT_SUSPENSE_TYPE; + exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = + ReactSharedInternals; + exports.act = function (callback) { + var prevActQueue = ReactSharedInternals.actQueue, + prevActScopeDepth = actScopeDepth; + actScopeDepth++; + var queue = (ReactSharedInternals.actQueue = + null !== prevActQueue ? prevActQueue : []), + didAwaitActCall = !1; + try { + var result = callback(); + } catch (error) { + ReactSharedInternals.thrownErrors.push(error); + } + if (0 < ReactSharedInternals.thrownErrors.length) + throw ( + (popActScope(prevActQueue, prevActScopeDepth), + (callback = aggregateErrors(ReactSharedInternals.thrownErrors)), + (ReactSharedInternals.thrownErrors.length = 0), + callback) + ); + if ( + null !== result && + "object" === typeof result && + "function" === typeof result.then + ) { + var thenable = result; + queueSeveralMicrotasks(function () { + didAwaitActCall || + didWarnNoAwaitAct || + ((didWarnNoAwaitAct = !0), + console.error( + "You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);" + )); + }); + return { + then: function (resolve, reject) { + didAwaitActCall = !0; + thenable.then( + function (returnValue) { + popActScope(prevActQueue, prevActScopeDepth); + if (0 === prevActScopeDepth) { + try { + flushActQueue(queue), + enqueueTask(function () { + return recursivelyFlushAsyncActWork( + returnValue, + resolve, + reject + ); + }); + } catch (error$2) { + ReactSharedInternals.thrownErrors.push(error$2); + } + if (0 < ReactSharedInternals.thrownErrors.length) { + var _thrownError = aggregateErrors( + ReactSharedInternals.thrownErrors + ); + ReactSharedInternals.thrownErrors.length = 0; + reject(_thrownError); + } + } else resolve(returnValue); + }, + function (error) { + popActScope(prevActQueue, prevActScopeDepth); + 0 < ReactSharedInternals.thrownErrors.length + ? ((error = aggregateErrors( + ReactSharedInternals.thrownErrors + )), + (ReactSharedInternals.thrownErrors.length = 0), + reject(error)) + : reject(error); + } + ); + } + }; + } + var returnValue$jscomp$0 = result; + popActScope(prevActQueue, prevActScopeDepth); + 0 === prevActScopeDepth && + (flushActQueue(queue), + 0 !== queue.length && + queueSeveralMicrotasks(function () { + didAwaitActCall || + didWarnNoAwaitAct || + ((didWarnNoAwaitAct = !0), + console.error( + "A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)" + )); + }), + (ReactSharedInternals.actQueue = null)); + if (0 < ReactSharedInternals.thrownErrors.length) + throw ( + ((callback = aggregateErrors(ReactSharedInternals.thrownErrors)), + (ReactSharedInternals.thrownErrors.length = 0), + callback) + ); + return { + then: function (resolve, reject) { + didAwaitActCall = !0; + 0 === prevActScopeDepth + ? ((ReactSharedInternals.actQueue = queue), + enqueueTask(function () { + return recursivelyFlushAsyncActWork( + returnValue$jscomp$0, + resolve, + reject + ); + })) + : resolve(returnValue$jscomp$0); + } + }; + }; + exports.cache = function (fn) { + return function () { + return fn.apply(null, arguments); + }; + }; + exports.cloneElement = function (element, config, children) { + if (null === element || void 0 === element) + throw Error( + "The argument must be a React element, but you passed " + + element + + "." + ); + var props = assign({}, element.props), + key = element.key, + owner = element._owner; + if (null != config) { + var JSCompiler_inline_result; + a: { + if ( + hasOwnProperty.call(config, "ref") && + (JSCompiler_inline_result = Object.getOwnPropertyDescriptor( + config, + "ref" + ).get) && + JSCompiler_inline_result.isReactWarning + ) { + JSCompiler_inline_result = !1; + break a; + } + JSCompiler_inline_result = void 0 !== config.ref; + } + JSCompiler_inline_result && (owner = getOwner()); + hasValidKey(config) && + (checkKeyStringCoercion(config.key), (key = "" + config.key)); + for (propName in config) + !hasOwnProperty.call(config, propName) || + "key" === propName || + "__self" === propName || + "__source" === propName || + ("ref" === propName && void 0 === config.ref) || + (props[propName] = config[propName]); + } + var propName = arguments.length - 2; + if (1 === propName) props.children = children; + else if (1 < propName) { + JSCompiler_inline_result = Array(propName); + for (var i = 0; i < propName; i++) + JSCompiler_inline_result[i] = arguments[i + 2]; + props.children = JSCompiler_inline_result; + } + props = ReactElement(element.type, key, void 0, void 0, owner, props); + for (key = 2; key < arguments.length; key++) + validateChildKeys(arguments[key], props.type); + return props; + }; + exports.createContext = function (defaultValue) { + defaultValue = { + $$typeof: REACT_CONTEXT_TYPE, + _currentValue: defaultValue, + _currentValue2: defaultValue, + _threadCount: 0, + Provider: null, + Consumer: null + }; + defaultValue.Provider = defaultValue; + defaultValue.Consumer = { + $$typeof: REACT_CONSUMER_TYPE, + _context: defaultValue + }; + defaultValue._currentRenderer = null; + defaultValue._currentRenderer2 = null; + return defaultValue; + }; + exports.createElement = function (type, config, children) { + if (isValidElementType(type)) + for (var i = 2; i < arguments.length; i++) + validateChildKeys(arguments[i], type); + else { + i = ""; + if ( + void 0 === type || + ("object" === typeof type && + null !== type && + 0 === Object.keys(type).length) + ) + i += + " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."; + if (null === type) var typeString = "null"; + else + isArrayImpl(type) + ? (typeString = "array") + : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE + ? ((typeString = + "<" + + (getComponentNameFromType(type.type) || "Unknown") + + " />"), + (i = + " Did you accidentally export a JSX literal instead of a component?")) + : (typeString = typeof type); + console.error( + "React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", + typeString, + i + ); + } + var propName; + i = {}; + typeString = null; + if (null != config) + for (propName in (didWarnAboutOldJSXRuntime || + !("__self" in config) || + "key" in config || + ((didWarnAboutOldJSXRuntime = !0), + console.warn( + "Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform" + )), + hasValidKey(config) && + (checkKeyStringCoercion(config.key), (typeString = "" + config.key)), + config)) + hasOwnProperty.call(config, propName) && + "key" !== propName && + "__self" !== propName && + "__source" !== propName && + (i[propName] = config[propName]); + var childrenLength = arguments.length - 2; + if (1 === childrenLength) i.children = children; + else if (1 < childrenLength) { + for ( + var childArray = Array(childrenLength), _i = 0; + _i < childrenLength; + _i++ + ) + childArray[_i] = arguments[_i + 2]; + Object.freeze && Object.freeze(childArray); + i.children = childArray; + } + if (type && type.defaultProps) + for (propName in ((childrenLength = type.defaultProps), childrenLength)) + void 0 === i[propName] && (i[propName] = childrenLength[propName]); + typeString && + defineKeyPropWarningGetter( + i, + "function" === typeof type + ? type.displayName || type.name || "Unknown" + : type + ); + return ReactElement(type, typeString, void 0, void 0, getOwner(), i); + }; + exports.createRef = function () { + var refObject = { current: null }; + Object.seal(refObject); + return refObject; + }; + exports.forwardRef = function (render) { + null != render && render.$$typeof === REACT_MEMO_TYPE + ? console.error( + "forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))." + ) + : "function" !== typeof render + ? console.error( + "forwardRef requires a render function but was given %s.", + null === render ? "null" : typeof render + ) + : 0 !== render.length && + 2 !== render.length && + console.error( + "forwardRef render functions accept exactly two parameters: props and ref. %s", + 1 === render.length + ? "Did you forget to use the ref parameter?" + : "Any additional parameter will be undefined." + ); + null != render && + null != render.defaultProps && + console.error( + "forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?" + ); + var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render: render }, + ownName; + Object.defineProperty(elementType, "displayName", { + enumerable: !1, + configurable: !0, + get: function () { + return ownName; + }, + set: function (name) { + ownName = name; + render.name || + render.displayName || + (Object.defineProperty(render, "name", { value: name }), + (render.displayName = name)); + } + }); + return elementType; + }; + exports.isValidElement = isValidElement; + exports.lazy = function (ctor) { + return { + $$typeof: REACT_LAZY_TYPE, + _payload: { _status: -1, _result: ctor }, + _init: lazyInitializer + }; + }; + exports.memo = function (type, compare) { + isValidElementType(type) || + console.error( + "memo: The first argument must be a component. Instead received: %s", + null === type ? "null" : typeof type + ); + compare = { + $$typeof: REACT_MEMO_TYPE, + type: type, + compare: void 0 === compare ? null : compare + }; + var ownName; + Object.defineProperty(compare, "displayName", { + enumerable: !1, + configurable: !0, + get: function () { + return ownName; + }, + set: function (name) { + ownName = name; + type.name || + type.displayName || + (Object.defineProperty(type, "name", { value: name }), + (type.displayName = name)); + } + }); + return compare; + }; + exports.startTransition = function (scope) { + var prevTransition = ReactSharedInternals.T, + currentTransition = {}; + ReactSharedInternals.T = currentTransition; + currentTransition._updatedFibers = new Set(); + try { + var returnValue = scope(), + onStartTransitionFinish = ReactSharedInternals.S; + null !== onStartTransitionFinish && + onStartTransitionFinish(currentTransition, returnValue); + "object" === typeof returnValue && + null !== returnValue && + "function" === typeof returnValue.then && + returnValue.then(noop, reportGlobalError); + } catch (error) { + reportGlobalError(error); + } finally { + null === prevTransition && + currentTransition._updatedFibers && + ((scope = currentTransition._updatedFibers.size), + currentTransition._updatedFibers.clear(), + 10 < scope && + console.warn( + "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table." + )), + (ReactSharedInternals.T = prevTransition); + } + }; + exports.unstable_useCacheRefresh = function () { + return resolveDispatcher().useCacheRefresh(); + }; + exports.use = function (usable) { + return resolveDispatcher().use(usable); + }; + exports.useActionState = function (action, initialState, permalink) { + return resolveDispatcher().useActionState( + action, + initialState, + permalink + ); + }; + exports.useCallback = function (callback, deps) { + return resolveDispatcher().useCallback(callback, deps); + }; + exports.useContext = function (Context) { + var dispatcher = resolveDispatcher(); + Context.$$typeof === REACT_CONSUMER_TYPE && + console.error( + "Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?" + ); + return dispatcher.useContext(Context); + }; + exports.useDebugValue = function (value, formatterFn) { + return resolveDispatcher().useDebugValue(value, formatterFn); + }; + exports.useDeferredValue = function (value, initialValue) { + return resolveDispatcher().useDeferredValue(value, initialValue); + }; + exports.useEffect = function (create, deps) { + return resolveDispatcher().useEffect(create, deps); + }; + exports.useId = function () { + return resolveDispatcher().useId(); + }; + exports.useImperativeHandle = function (ref, create, deps) { + return resolveDispatcher().useImperativeHandle(ref, create, deps); + }; + exports.useInsertionEffect = function (create, deps) { + return resolveDispatcher().useInsertionEffect(create, deps); + }; + exports.useLayoutEffect = function (create, deps) { + return resolveDispatcher().useLayoutEffect(create, deps); + }; + exports.useMemo = function (create, deps) { + return resolveDispatcher().useMemo(create, deps); + }; + exports.useOptimistic = function (passthrough, reducer) { + return resolveDispatcher().useOptimistic(passthrough, reducer); + }; + exports.useReducer = function (reducer, initialArg, init) { + return resolveDispatcher().useReducer(reducer, initialArg, init); + }; + exports.useRef = function (initialValue) { + return resolveDispatcher().useRef(initialValue); + }; + exports.useState = function (initialState) { + return resolveDispatcher().useState(initialState); + }; + exports.useSyncExternalStore = function ( + subscribe, + getSnapshot, + getServerSnapshot + ) { + return resolveDispatcher().useSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }; + exports.useTransition = function () { + return resolveDispatcher().useTransition(); + }; + exports.version = "19.0.0"; + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && + "function" === + typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && + __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); + })(); diff --git a/.config/raycast/extensions/node_modules/react/react.production.js b/.config/raycast/extensions/node_modules/react/react.production.js @@ -0,0 +1,538 @@ +/** + * @license React + * react.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +"use strict"; +var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), + REACT_PORTAL_TYPE = Symbol.for("react.portal"), + REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), + REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), + REACT_PROFILER_TYPE = Symbol.for("react.profiler"), + REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), + REACT_CONTEXT_TYPE = Symbol.for("react.context"), + REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), + REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), + REACT_MEMO_TYPE = Symbol.for("react.memo"), + REACT_LAZY_TYPE = Symbol.for("react.lazy"), + MAYBE_ITERATOR_SYMBOL = Symbol.iterator; +function getIteratorFn(maybeIterable) { + if (null === maybeIterable || "object" !== typeof maybeIterable) return null; + maybeIterable = + (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) || + maybeIterable["@@iterator"]; + return "function" === typeof maybeIterable ? maybeIterable : null; +} +var ReactNoopUpdateQueue = { + isMounted: function () { + return !1; + }, + enqueueForceUpdate: function () {}, + enqueueReplaceState: function () {}, + enqueueSetState: function () {} + }, + assign = Object.assign, + emptyObject = {}; +function Component(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; +} +Component.prototype.isReactComponent = {}; +Component.prototype.setState = function (partialState, callback) { + if ( + "object" !== typeof partialState && + "function" !== typeof partialState && + null != partialState + ) + throw Error( + "takes an object of state variables to update or a function which returns an object of state variables." + ); + this.updater.enqueueSetState(this, partialState, callback, "setState"); +}; +Component.prototype.forceUpdate = function (callback) { + this.updater.enqueueForceUpdate(this, callback, "forceUpdate"); +}; +function ComponentDummy() {} +ComponentDummy.prototype = Component.prototype; +function PureComponent(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; +} +var pureComponentPrototype = (PureComponent.prototype = new ComponentDummy()); +pureComponentPrototype.constructor = PureComponent; +assign(pureComponentPrototype, Component.prototype); +pureComponentPrototype.isPureReactComponent = !0; +var isArrayImpl = Array.isArray, + ReactSharedInternals = { H: null, A: null, T: null, S: null }, + hasOwnProperty = Object.prototype.hasOwnProperty; +function ReactElement(type, key, self, source, owner, props) { + self = props.ref; + return { + $$typeof: REACT_ELEMENT_TYPE, + type: type, + key: key, + ref: void 0 !== self ? self : null, + props: props + }; +} +function cloneAndReplaceKey(oldElement, newKey) { + return ReactElement( + oldElement.type, + newKey, + void 0, + void 0, + void 0, + oldElement.props + ); +} +function isValidElement(object) { + return ( + "object" === typeof object && + null !== object && + object.$$typeof === REACT_ELEMENT_TYPE + ); +} +function escape(key) { + var escaperLookup = { "=": "=0", ":": "=2" }; + return ( + "$" + + key.replace(/[=:]/g, function (match) { + return escaperLookup[match]; + }) + ); +} +var userProvidedKeyEscapeRegex = /\/+/g; +function getElementKey(element, index) { + return "object" === typeof element && null !== element && null != element.key + ? escape("" + element.key) + : index.toString(36); +} +function noop$1() {} +function resolveThenable(thenable) { + switch (thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenable.reason; + default: + switch ( + ("string" === typeof thenable.status + ? thenable.then(noop$1, noop$1) + : ((thenable.status = "pending"), + thenable.then( + function (fulfilledValue) { + "pending" === thenable.status && + ((thenable.status = "fulfilled"), + (thenable.value = fulfilledValue)); + }, + function (error) { + "pending" === thenable.status && + ((thenable.status = "rejected"), (thenable.reason = error)); + } + )), + thenable.status) + ) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenable.reason; + } + } + throw thenable; +} +function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) { + var type = typeof children; + if ("undefined" === type || "boolean" === type) children = null; + var invokeCallback = !1; + if (null === children) invokeCallback = !0; + else + switch (type) { + case "bigint": + case "string": + case "number": + invokeCallback = !0; + break; + case "object": + switch (children.$$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_PORTAL_TYPE: + invokeCallback = !0; + break; + case REACT_LAZY_TYPE: + return ( + (invokeCallback = children._init), + mapIntoArray( + invokeCallback(children._payload), + array, + escapedPrefix, + nameSoFar, + callback + ) + ); + } + } + if (invokeCallback) + return ( + (callback = callback(children)), + (invokeCallback = + "" === nameSoFar ? "." + getElementKey(children, 0) : nameSoFar), + isArrayImpl(callback) + ? ((escapedPrefix = ""), + null != invokeCallback && + (escapedPrefix = + invokeCallback.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), + mapIntoArray(callback, array, escapedPrefix, "", function (c) { + return c; + })) + : null != callback && + (isValidElement(callback) && + (callback = cloneAndReplaceKey( + callback, + escapedPrefix + + (null == callback.key || + (children && children.key === callback.key) + ? "" + : ("" + callback.key).replace( + userProvidedKeyEscapeRegex, + "$&/" + ) + "/") + + invokeCallback + )), + array.push(callback)), + 1 + ); + invokeCallback = 0; + var nextNamePrefix = "" === nameSoFar ? "." : nameSoFar + ":"; + if (isArrayImpl(children)) + for (var i = 0; i < children.length; i++) + (nameSoFar = children[i]), + (type = nextNamePrefix + getElementKey(nameSoFar, i)), + (invokeCallback += mapIntoArray( + nameSoFar, + array, + escapedPrefix, + type, + callback + )); + else if (((i = getIteratorFn(children)), "function" === typeof i)) + for ( + children = i.call(children), i = 0; + !(nameSoFar = children.next()).done; + + ) + (nameSoFar = nameSoFar.value), + (type = nextNamePrefix + getElementKey(nameSoFar, i++)), + (invokeCallback += mapIntoArray( + nameSoFar, + array, + escapedPrefix, + type, + callback + )); + else if ("object" === type) { + if ("function" === typeof children.then) + return mapIntoArray( + resolveThenable(children), + array, + escapedPrefix, + nameSoFar, + callback + ); + array = String(children); + throw Error( + "Objects are not valid as a React child (found: " + + ("[object Object]" === array + ? "object with keys {" + Object.keys(children).join(", ") + "}" + : array) + + "). If you meant to render a collection of children, use an array instead." + ); + } + return invokeCallback; +} +function mapChildren(children, func, context) { + if (null == children) return children; + var result = [], + count = 0; + mapIntoArray(children, result, "", "", function (child) { + return func.call(context, child, count++); + }); + return result; +} +function lazyInitializer(payload) { + if (-1 === payload._status) { + var ctor = payload._result; + ctor = ctor(); + ctor.then( + function (moduleObject) { + if (0 === payload._status || -1 === payload._status) + (payload._status = 1), (payload._result = moduleObject); + }, + function (error) { + if (0 === payload._status || -1 === payload._status) + (payload._status = 2), (payload._result = error); + } + ); + -1 === payload._status && ((payload._status = 0), (payload._result = ctor)); + } + if (1 === payload._status) return payload._result.default; + throw payload._result; +} +var reportGlobalError = + "function" === typeof reportError + ? reportError + : function (error) { + if ( + "object" === typeof window && + "function" === typeof window.ErrorEvent + ) { + var event = new window.ErrorEvent("error", { + bubbles: !0, + cancelable: !0, + message: + "object" === typeof error && + null !== error && + "string" === typeof error.message + ? String(error.message) + : String(error), + error: error + }); + if (!window.dispatchEvent(event)) return; + } else if ( + "object" === typeof process && + "function" === typeof process.emit + ) { + process.emit("uncaughtException", error); + return; + } + console.error(error); + }; +function noop() {} +exports.Children = { + map: mapChildren, + forEach: function (children, forEachFunc, forEachContext) { + mapChildren( + children, + function () { + forEachFunc.apply(this, arguments); + }, + forEachContext + ); + }, + count: function (children) { + var n = 0; + mapChildren(children, function () { + n++; + }); + return n; + }, + toArray: function (children) { + return ( + mapChildren(children, function (child) { + return child; + }) || [] + ); + }, + only: function (children) { + if (!isValidElement(children)) + throw Error( + "React.Children.only expected to receive a single React element child." + ); + return children; + } +}; +exports.Component = Component; +exports.Fragment = REACT_FRAGMENT_TYPE; +exports.Profiler = REACT_PROFILER_TYPE; +exports.PureComponent = PureComponent; +exports.StrictMode = REACT_STRICT_MODE_TYPE; +exports.Suspense = REACT_SUSPENSE_TYPE; +exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = + ReactSharedInternals; +exports.act = function () { + throw Error("act(...) is not supported in production builds of React."); +}; +exports.cache = function (fn) { + return function () { + return fn.apply(null, arguments); + }; +}; +exports.cloneElement = function (element, config, children) { + if (null === element || void 0 === element) + throw Error( + "The argument must be a React element, but you passed " + element + "." + ); + var props = assign({}, element.props), + key = element.key, + owner = void 0; + if (null != config) + for (propName in (void 0 !== config.ref && (owner = void 0), + void 0 !== config.key && (key = "" + config.key), + config)) + !hasOwnProperty.call(config, propName) || + "key" === propName || + "__self" === propName || + "__source" === propName || + ("ref" === propName && void 0 === config.ref) || + (props[propName] = config[propName]); + var propName = arguments.length - 2; + if (1 === propName) props.children = children; + else if (1 < propName) { + for (var childArray = Array(propName), i = 0; i < propName; i++) + childArray[i] = arguments[i + 2]; + props.children = childArray; + } + return ReactElement(element.type, key, void 0, void 0, owner, props); +}; +exports.createContext = function (defaultValue) { + defaultValue = { + $$typeof: REACT_CONTEXT_TYPE, + _currentValue: defaultValue, + _currentValue2: defaultValue, + _threadCount: 0, + Provider: null, + Consumer: null + }; + defaultValue.Provider = defaultValue; + defaultValue.Consumer = { + $$typeof: REACT_CONSUMER_TYPE, + _context: defaultValue + }; + return defaultValue; +}; +exports.createElement = function (type, config, children) { + var propName, + props = {}, + key = null; + if (null != config) + for (propName in (void 0 !== config.key && (key = "" + config.key), config)) + hasOwnProperty.call(config, propName) && + "key" !== propName && + "__self" !== propName && + "__source" !== propName && + (props[propName] = config[propName]); + var childrenLength = arguments.length - 2; + if (1 === childrenLength) props.children = children; + else if (1 < childrenLength) { + for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++) + childArray[i] = arguments[i + 2]; + props.children = childArray; + } + if (type && type.defaultProps) + for (propName in ((childrenLength = type.defaultProps), childrenLength)) + void 0 === props[propName] && + (props[propName] = childrenLength[propName]); + return ReactElement(type, key, void 0, void 0, null, props); +}; +exports.createRef = function () { + return { current: null }; +}; +exports.forwardRef = function (render) { + return { $$typeof: REACT_FORWARD_REF_TYPE, render: render }; +}; +exports.isValidElement = isValidElement; +exports.lazy = function (ctor) { + return { + $$typeof: REACT_LAZY_TYPE, + _payload: { _status: -1, _result: ctor }, + _init: lazyInitializer + }; +}; +exports.memo = function (type, compare) { + return { + $$typeof: REACT_MEMO_TYPE, + type: type, + compare: void 0 === compare ? null : compare + }; +}; +exports.startTransition = function (scope) { + var prevTransition = ReactSharedInternals.T, + currentTransition = {}; + ReactSharedInternals.T = currentTransition; + try { + var returnValue = scope(), + onStartTransitionFinish = ReactSharedInternals.S; + null !== onStartTransitionFinish && + onStartTransitionFinish(currentTransition, returnValue); + "object" === typeof returnValue && + null !== returnValue && + "function" === typeof returnValue.then && + returnValue.then(noop, reportGlobalError); + } catch (error) { + reportGlobalError(error); + } finally { + ReactSharedInternals.T = prevTransition; + } +}; +exports.unstable_useCacheRefresh = function () { + return ReactSharedInternals.H.useCacheRefresh(); +}; +exports.use = function (usable) { + return ReactSharedInternals.H.use(usable); +}; +exports.useActionState = function (action, initialState, permalink) { + return ReactSharedInternals.H.useActionState(action, initialState, permalink); +}; +exports.useCallback = function (callback, deps) { + return ReactSharedInternals.H.useCallback(callback, deps); +}; +exports.useContext = function (Context) { + return ReactSharedInternals.H.useContext(Context); +}; +exports.useDebugValue = function () {}; +exports.useDeferredValue = function (value, initialValue) { + return ReactSharedInternals.H.useDeferredValue(value, initialValue); +}; +exports.useEffect = function (create, deps) { + return ReactSharedInternals.H.useEffect(create, deps); +}; +exports.useId = function () { + return ReactSharedInternals.H.useId(); +}; +exports.useImperativeHandle = function (ref, create, deps) { + return ReactSharedInternals.H.useImperativeHandle(ref, create, deps); +}; +exports.useInsertionEffect = function (create, deps) { + return ReactSharedInternals.H.useInsertionEffect(create, deps); +}; +exports.useLayoutEffect = function (create, deps) { + return ReactSharedInternals.H.useLayoutEffect(create, deps); +}; +exports.useMemo = function (create, deps) { + return ReactSharedInternals.H.useMemo(create, deps); +}; +exports.useOptimistic = function (passthrough, reducer) { + return ReactSharedInternals.H.useOptimistic(passthrough, reducer); +}; +exports.useReducer = function (reducer, initialArg, init) { + return ReactSharedInternals.H.useReducer(reducer, initialArg, init); +}; +exports.useRef = function (initialValue) { + return ReactSharedInternals.H.useRef(initialValue); +}; +exports.useState = function (initialState) { + return ReactSharedInternals.H.useState(initialState); +}; +exports.useSyncExternalStore = function ( + subscribe, + getSnapshot, + getServerSnapshot +) { + return ReactSharedInternals.H.useSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); +}; +exports.useTransition = function () { + return ReactSharedInternals.H.useTransition(); +}; +exports.version = "19.0.0"; diff --git a/weechat/alias.conf b/.config/weechat/alias.conf diff --git a/weechat/buflist.conf b/.config/weechat/buflist.conf diff --git a/weechat/charset.conf b/.config/weechat/charset.conf diff --git a/weechat/exec.conf b/.config/weechat/exec.conf diff --git a/weechat/fifo.conf b/.config/weechat/fifo.conf diff --git a/weechat/fset.conf b/.config/weechat/fset.conf diff --git a/weechat/irc.conf b/.config/weechat/irc.conf diff --git a/weechat/logger.conf b/.config/weechat/logger.conf diff --git a/weechat/lua.conf b/.config/weechat/lua.conf diff --git a/weechat/perl.conf b/.config/weechat/perl.conf diff --git a/weechat/plugins.conf b/.config/weechat/plugins.conf diff --git a/weechat/python.conf b/.config/weechat/python.conf diff --git a/weechat/relay.conf b/.config/weechat/relay.conf diff --git a/weechat/ruby.conf b/.config/weechat/ruby.conf diff --git a/weechat/script.conf b/.config/weechat/script.conf diff --git a/weechat/sec.conf b/.config/weechat/sec.conf diff --git a/weechat/spell.conf b/.config/weechat/spell.conf diff --git a/weechat/tcl.conf b/.config/weechat/tcl.conf diff --git a/weechat/trigger.conf b/.config/weechat/trigger.conf diff --git a/weechat/typing.conf b/.config/weechat/typing.conf diff --git a/weechat/weechat.conf b/.config/weechat/weechat.conf diff --git a/weechat/xfer.conf b/.config/weechat/xfer.conf diff --git a/yazi/yazi.toml b/.config/yazi/yazi.toml diff --git a/.config/zsh/.zsh_history b/.config/zsh/.zsh_history @@ -0,0 +1,56 @@ +v +cd dotfiles +git add -A +git commit -m "ghostty 2" +git push +git pull +bash init.bash +cd +y +zshrc +c +cd .config/nvim +l +c +l +gpg --list-secret-keys --keyid-format LONG +gpg --list-secret-keys --keyid-format LONG +gpg --full-generate-key +c +gpg --list-secret-keys --keyid-format LONG +gpg --armor --export 3DD5F84CD72A09D6 +echo "6723586fd211283bf97a0e26e5c2a027d9bb193aaa6913725a1d376b8f0e7fce" | gpg -a --default-key 3DD5F84CD72A09D6 --detach-sig\ +\ + +echo "6723586fd211283bf97a0e26e5c2a027d9bb193aaa6913725a1d376b8f0e7fce" | gpg -a --default-key 3DD5F84CD72A09D6 --detach-sig +export GPG_TTY=$(tty)\ + +echo "6723586fd211283bf97a0e26e5c2a027d9bb193aaa6913725a1d376b8f0e7fce" | gpg -a --default-key 3DD5F84CD72A09D6 --detach-sig +echo "2be03c98d910afabacbe979dcea7981586c6a1c3a2bba24dd384a4937d130fd4" | gpg -a --default-key 3DD5F84CD72A09D6 --detach-sig\ +\ + +git config --global user.signingkey <GPG KEY ID> +git config --global user.signingkey 3DD5F84CD72A09D6 +git config --global commit.gpgsign true +zshrc +cd +zshrc +zshrc +cd +cd obsidian +git add -A +git add commit -m "transition to codeberg" +git add commit -m "transition to codeberg" +git add comit -m "transition to codeberg" +git comit -m "transition to codeberg" +git commit -m "transition to codeberg" +git push +l +cd +c +l +v .zshenv +mv zsh_* ./.config/zsh +mv .zsh_* ./.config/zsh +mkdir .config/zsh +mv .zsh_* ./.config/zsh diff --git a/.config/zsh/.zsh_sessions/9D04D4C1-F8EC-4EFC-AD00-F65B294CA90B.historynew b/.config/zsh/.zsh_sessions/9D04D4C1-F8EC-4EFC-AD00-F65B294CA90B.historynew @@ -0,0 +1,2 @@ +ping 192.168.10.1 +ping 192.168.10.1 diff --git a/.config/zsh/.zsh_sessions/_expiration_check_timestamp b/.config/zsh/.zsh_sessions/_expiration_check_timestamp diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc @@ -0,0 +1,43 @@ +########## ALIAS ########## + +alias c='clear' +alias e='exit' +alias v='nvim' +alias n='neofetch' +alias l='ls -lA' +alias ll='ls -la' +alias s='source' +alias zshrc='nvim $HOME/.config/zsh/.zshrc' +alias szshrc='source $HOME/.config/zsh/.zshrc' +alias xi='sudo xbps-install' +alias xr='sudo xbps-remove' +alias ai='sudo apt install' +alias ar='sudo apt remove' +alias p='sudo pacman' +alias ipa='ip a | grep 192.168.10' +alias gc="nvim /Users/linus/Library/Application Support/com.mitchellh.ghostty/" +bindkey -v + +alias gcl='git clone' +alias gclgh='git clone https://github.com/' +alias ga='git add' +alias gc='git commit -m' +alias gp='git push' + +########## PATH ########## + +export GPG_TTY=$(tty) +export PATH="$PATH:/opt/homebrew/bin" +export PLAN9=/Users/linus/.sources/plan9port +export PATH=$PATH:$PLAN9/bin + +########## PS1 ########## + +autoload -Uz vcs_info +precmd() { vcs_info } + +setopt PROMPT_SUBST +PS1=' +%~ ${vcs_info_msg_0_} +%% ' +